<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://jogamp.org/bugzilla/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.2"
          urlbase="https://jogamp.org/bugzilla/"
          
          maintainer="sgothel@jausoft.com"
>

    <bug>
          <bug_id>908</bug_id>
          
          <creation_ts>2013-11-20 11:25:57 +0100</creation_ts>
          <short_desc>Gluegen doesn&apos;t handle URI escaping of reserved character accurately, i.e. double escaping is performed on e.g. &apos;#&apos;.</short_desc>
          <delta_ts>2014-12-11 17:57:23 +0100</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>3</classification_id>
          <classification>JogAmp</classification>
          <product>Gluegen</product>
          <component>core</component>
          <version>2</version>
          <rep_platform>pc_all</rep_platform>
          <op_sys>all</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>---</priority>
          <bug_severity>minor</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>1063</blocked>
    
    <blocked>1103</blocked>
    
    <blocked>1109</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Brice Figureau">brice.figureau</reporter>
          <assigned_to name="Sven Gothel">sgothel</assigned_to>
          <cc>askinner</cc>
    
    <cc>harvey.harrison</cc>
    
    <cc>sgothel</cc>
          
          <cf_type>---</cf_type>
          <cf_scm_refs>0b07f9107c5b033913f5c4cbeb906ae6dafc2d77</cf_scm_refs>
          <cf_workaround>---</cf_workaround>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>3353</commentid>
    <comment_count>0</comment_count>
      <attachid>546</attachid>
    <who name="Brice Figureau">brice.figureau</who>
    <bug_when>2013-11-20 11:25:57 +0100</bug_when>
    <thetext>Created attachment 546
gluegen debug output

We have a customer that have installed our game in the I:\#SPIELE\ folder on his windows computer. Our game is not able to load the joal native libraries because of this exception (it&apos;s the same for the other native libraries):

java.lang.IllegalArgumentException: URI has a fragment component
	at java.io.File.&lt;init&gt;(Unknown Source)
	at com.jogamp.common.util.IOUtil.toURL(IOUtil.java:534)
	at com.jogamp.common.util.JarUtil.getJarFile(JarUtil.java:454)
	at com.jogamp.common.util.cache.TempJarCache.addNativeLibs(TempJarCache.java:211)
	at com.jogamp.common.jvm.JNILibLoaderBase.addNativeJarLibsImpl(JNILibLoaderBase.java:196)
	at com.jogamp.common.jvm.JNILibLoaderBase.addNativeJarLibs(JNILibLoaderBase.java:368)
	at com.jogamp.common.os.Platform$1.run(Platform.java:197)
	at java.security.AccessController.doPrivileged(Native Method)
	at com.jogamp.common.os.Platform.&lt;clinit&gt;(Platform.java:173)
	at com.jogamp.openal.ALFactory.&lt;clinit&gt;(ALFactory.java:67)
	at com.daysofwonder.gamelib.OpenALSoundEngine.initOpenAL(OpenALSoundEngine.java:133)
	at com.daysofwonder.gamelib.OpenALSoundEngine.init(OpenALSoundEngine.java:217)
	at com.daysofwonder.application.GameApplication.startAudio(GameApplication.java:150)
	at com.daysofwonder.tt.application.TTApplication.start(TTApplication.java:306)
	at com.daysofwonder.tt.application.TTApplication.main(TTApplication.java:752)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at com.exe4j.runtime.LauncherEngine.launch(Unknown Source)
	at com.exe4j.runtime.WinLauncher.main(Unknown Source)
	at com.install4j.runtime.launcher.WinLauncher.main(Unknown Source)

We might be missing a kind of urlencode somewhere.
I&apos;ve added the whole gluegen debug output, too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>3408</commentid>
    <comment_count>1</comment_count>
    <who name="Sven Gothel">sgothel</who>
    <bug_when>2013-11-28 12:59:24 +0100</bug_when>
    <thetext>Evaluated behavior on GNU/Linux and WIndows.

- &apos;new File(path_with_#)&apos; fails on both platforms
- &apos;new URL(path_with_#)&apos; and subsequent JARFile loading:
  - UNIX OK
  - Windows ERROR

gluegen commit 4c835f0337674a0181c43f448d44d961e27b2f54
uses uri.getPath() and decodes it explicitly leading to a unified behavior, i.e.:
  - UNIX ERROR
  - Windows ERROR
  
In short: We cannot support a &apos;#&apos; in URI/URL since it denominates a fragment
and using such fails within the URI/URL implementation itself.

Iff we fix this - we would need to overhaul all URI usage, probably utilizing a 
different implementation, e.g. &lt;http://jena.sourceforge.net/iri/documentation.html&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>4187</commentid>
    <comment_count>2</comment_count>
    <who name="Andy Skinner">askinner</who>
    <bug_when>2014-09-03 17:14:15 +0200</bug_when>
    <thetext>We had problems with these characters:
$ ^ ~ # [ ]

I&apos;m checking about the specifics of them, whether they were the same issue, etc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>4188</commentid>
    <comment_count>3</comment_count>
    <who name="Andy Skinner">askinner</who>
    <bug_when>2014-09-03 20:50:50 +0200</bug_when>
    <thetext>Specifically, we had the jar files in directories named &quot;R$&quot;, &quot;R^&quot;, &quot;R#&quot;, &quot;R[&quot;, and &quot;R]&quot;.  I don&apos;t know whether there are other combinations of these that would be bad.  Just that someone tested installing into directories with these characters in the name, and had problems.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>4197</commentid>
    <comment_count>4</comment_count>
    <who name="Sven Gothel">sgothel</who>
    <bug_when>2014-09-07 08:06:09 +0200</bug_when>
    <thetext>0b07f9107c5b033913f5c4cbeb906ae6dafc2d77

Fix URI/URL double encoding, 
ensuring encoded/decoded variants are used properly (Added unit test)
    
Bug 908 was caused by confusing URI encoded parts (e.g. scheme-specific-part) and it&apos;s decoded variant.
    
This especially happened due to:
  - the fact, that the encoded and unencoded variant uses the same String type,
  - the URI/URL decoding differs, is not complete 
    (e.g. %20 .. SPACE remains in decoded part),
  - and does not comply w/ RFC 2396 and RFC 3986 (encoding), 
    e.g. not all RESERVED chars are encoded.
    
In branch &apos;v2.3.0_branch&apos;, we will introduce our own Uri and Uri.Encoded class
to solve above issue by replacing all URI usage w/ Uri,
see Bug 1063
    
 - Backporting results of own Uri class introduction in branch &apos;v2.3.0_branch&apos;
    
 - Ensure the encoded URI parts are used where required, 
   i.e. IOUtil.compose(..) etc
    
 - TestNetIOURIReservedCharsBug908: Automated test, 
   launching GlueGen jar file from an &lt;i&gt;odd pathname&lt;/i&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>546</attachid>
            <date>2013-11-20 11:25:57 +0100</date>
            <delta_ts>2013-11-20 11:25:57 +0100</delta_ts>
            <desc>gluegen debug output</desc>
            <filename>error.log</filename>
            <type>text/x-log</type>
            <size>11918</size>
            <attacher name="Brice Figureau">brice.figureau</attacher>
            
              <data encoding="base64">SU9VdGlsLmdldFRlbXBSb290KCk6IHRlbXAgZGlyczogZXhlYzogQzpcVXNlcnNcTFVDQVNffjFc
QXBwRGF0YVxMb2NhbFxUZW1wXGpvZ2FtcF8wMDAwLCBub2V4ZWM6IEM6XFVzZXJzXExVQ0FTX34x
XEFwcERhdGFcTG9jYWxcVGVtcFxqb2dhbXBfMDAwMA0KVGVtcEZpbGVDYWNoZTogU3RhdGljIElu
aXRpYWxpemF0aW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0gT0s6IHRydWUNClRlbXBGaWxlQ2FjaGU6IFRocmVhZDogbWFpbiwgQ0wgMHg5Y2FiMTYsIHRl
bXBCYXNlRGlyIEM6XFVzZXJzXExVQ0FTX34xXEFwcERhdGFcTG9jYWxcVGVtcFxqb2dhbXBfMDAw
MFxmaWxlX2NhY2hlDQpUZW1wRmlsZUNhY2hlOiB0bXBGaWxlID0gQzpcVXNlcnNcTFVDQVNffjFc
QXBwRGF0YVxMb2NhbFxUZW1wXGpvZ2FtcF8wMDAwXGZpbGVfY2FjaGVcamxuMjg1MjgxNTk4ODc4
OTY2NTg1LnRtcA0KVGVtcEZpbGVDYWNoZTogbGNrRmlsZSA9IEM6XFVzZXJzXExVQ0FTX34xXEFw
cERhdGFcTG9jYWxcVGVtcFxqb2dhbXBfMDAwMFxmaWxlX2NhY2hlXGpsbjI4NTI4MTU5ODg3ODk2
NjU4NS5sY2sNClRlbXBGaWxlQ2FjaGU6IHRtcFJvb3REaXIgPSBDOlxVc2Vyc1xMVUNBU19+MVxB
cHBEYXRhXExvY2FsXFRlbXBcam9nYW1wXzAwMDBcZmlsZV9jYWNoZVxqbG4yODUyODE1OTg4Nzg5
NjY1ODUNClRlbXBGaWxlQ2FjaGU6IFNldHRpbmcgam5scC5qb2dhbXAudG1wLmNhY2hlLnJvb3Q9
amxuMjg1MjgxNTk4ODc4OTY2NTg1DQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gT0s6IHRydWUNClRlbXBGaWxlQ2FjaGU6
IG5ldyBUZW1wRmlsZUNhY2hlKCkgLS0tLS0tLS0tLS0tLS0tLS0tLS0tIChzdGF0aWMgb2s6IHRy
dWUpDQpUZW1wRmlsZUNhY2hlOiBUaHJlYWQ6IG1haW4sIENMIDB4OWNhYjE2LCB0aGlzIDB4MWMy
MDhiMA0KVGVtcEZpbGVDYWNoZTogKioqIFJlYXBlcjogZGVsZXRlT2xkVGVtcERpcnMgaW4gQzpc
VXNlcnNcTFVDQVNffjFcQXBwRGF0YVxMb2NhbFxUZW1wXGpvZ2FtcF8wMDAwXGZpbGVfY2FjaGUN
ClRlbXBGaWxlQ2FjaGU6IHRlbXBEaXIgQzpcVXNlcnNcTFVDQVNffjFcQXBwRGF0YVxMb2NhbFxU
ZW1wXGpvZ2FtcF8wMDAwXGZpbGVfY2FjaGVcamxuMjg1MjgxNTk4ODc4OTY2NTg1XGpsbjUzMTY2
ODA5MTI4MjczNjUwMDUgKG9rOiB0cnVlKQ0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KVGVtcEphckNhY2hlLmluaXRTaW5nbGV0b24o
KTogb2sgdHJ1ZSwgQzpcVXNlcnNcTFVDQVNffjFcQXBwRGF0YVxMb2NhbFxUZW1wXGpvZ2FtcF8w
MDAwXGZpbGVfY2FjaGVcamxuMjg1MjgxNTk4ODc4OTY2NTg1XGpsbjUzMTY2ODA5MTI4MjczNjUw
MDUNClRlbXBGaWxlQ2FjaGU6IHJlbW92ZUFsbChDOlxVc2Vyc1xMVUNBU19+MVxBcHBEYXRhXExv
Y2FsXFRlbXBcam9nYW1wXzAwMDBcZmlsZV9jYWNoZVxqbG42NDA4Njc0NjI2NzIzNDA0MTgpDQpU
ZW1wRmlsZUNhY2hlOiByZW1vdmVBbGwoQzpcVXNlcnNcTFVDQVNffjFcQXBwRGF0YVxMb2NhbFxU
ZW1wXGpvZ2FtcF8wMDAwXGZpbGVfY2FjaGVcamxuNjQwODY3NDYyNjcyMzQwNDE4XGpsbjIzODA1
OTUzNDkyOTcwOTcwNTkpDQpUZW1wRmlsZUNhY2hlOiByZW1vdmVBbGwoQzpcVXNlcnNcTFVDQVNf
fjFcQXBwRGF0YVxMb2NhbFxUZW1wXGpvZ2FtcF8wMDAwXGZpbGVfY2FjaGVcamxuNjQwODY3NDYy
NjcyMzQwNDE4XGpsbjIzODA1OTUzNDkyOTcwOTcwNTkudG1wKQ0KSk5JTGliTG9hZGVyQmFzZTog
YWRkTmF0aXZlSmFyTGliczAoY2xhc3Nlc0Zyb21KYXZhSmFycyBbY2xhc3MgY29tLmpvZ2FtcC5j
b21tb24ub3MuUGxhdGZvcm1dLCBzaW5nbGVKYXJNYXJrZXIgbnVsbCwgc3RyaXBCYXNlbmFtZVN1
ZmZpeGVzIG5vbmUNCmphdmEubGFuZy5JbGxlZ2FsQXJndW1lbnRFeGNlcHRpb246IFVSSSBoYXMg
YSBmcmFnbWVudCBjb21wb25lbnQNCglhdCBqYXZhLmlvLkZpbGUuPGluaXQ+KFVua25vd24gU291
cmNlKQ0KCWF0IGNvbS5qb2dhbXAuY29tbW9uLnV0aWwuSU9VdGlsLnRvVVJMKElPVXRpbC5qYXZh
OjUzNCkNCglhdCBjb20uam9nYW1wLmNvbW1vbi51dGlsLkphclV0aWwuZ2V0SmFyRmlsZShKYXJV
dGlsLmphdmE6NDU0KQ0KCWF0IGNvbS5qb2dhbXAuY29tbW9uLnV0aWwuY2FjaGUuVGVtcEphckNh
Y2hlLmFkZE5hdGl2ZUxpYnMoVGVtcEphckNhY2hlLmphdmE6MjExKQ0KCWF0IGNvbS5qb2dhbXAu
Y29tbW9uLmp2bS5KTklMaWJMb2FkZXJCYXNlLmFkZE5hdGl2ZUphckxpYnNJbXBsKEpOSUxpYkxv
YWRlckJhc2UuamF2YToxOTYpDQoJYXQgY29tLmpvZ2FtcC5jb21tb24uanZtLkpOSUxpYkxvYWRl
ckJhc2UuYWRkTmF0aXZlSmFyTGlicyhKTklMaWJMb2FkZXJCYXNlLmphdmE6MzY4KQ0KCWF0IGNv
bS5qb2dhbXAuY29tbW9uLm9zLlBsYXRmb3JtJDEucnVuKFBsYXRmb3JtLmphdmE6MTk3KQ0KCWF0
IGphdmEuc2VjdXJpdHkuQWNjZXNzQ29udHJvbGxlci5kb1ByaXZpbGVnZWQoTmF0aXZlIE1ldGhv
ZCkNCglhdCBjb20uam9nYW1wLmNvbW1vbi5vcy5QbGF0Zm9ybS48Y2xpbml0PihQbGF0Zm9ybS5q
YXZhOjE3MykNCglhdCBjb20uam9nYW1wLm9wZW5hbC5BTEZhY3RvcnkuPGNsaW5pdD4oQUxGYWN0
b3J5LmphdmE6NjcpDQoJYXQgY29tLmRheXNvZndvbmRlci5nYW1lbGliLk9wZW5BTFNvdW5kRW5n
aW5lLmluaXRPcGVuQUwoT3BlbkFMU291bmRFbmdpbmUuamF2YToxMzMpDQoJYXQgY29tLmRheXNv
ZndvbmRlci5nYW1lbGliLk9wZW5BTFNvdW5kRW5naW5lLmluaXQoT3BlbkFMU291bmRFbmdpbmUu
amF2YToyMTcpDQoJYXQgY29tLmRheXNvZndvbmRlci5hcHBsaWNhdGlvbi5HYW1lQXBwbGljYXRp
b24uc3RhcnRBdWRpbyhHYW1lQXBwbGljYXRpb24uamF2YToxNTApDQoJYXQgY29tLmRheXNvZndv
bmRlci50dC5hcHBsaWNhdGlvbi5UVEFwcGxpY2F0aW9uLnN0YXJ0KFRUQXBwbGljYXRpb24uamF2
YTozMDYpDQoJYXQgY29tLmRheXNvZndvbmRlci50dC5hcHBsaWNhdGlvbi5UVEFwcGxpY2F0aW9u
Lm1haW4oVFRBcHBsaWNhdGlvbi5qYXZhOjc1MikNCglhdCBzdW4ucmVmbGVjdC5OYXRpdmVNZXRo
b2RBY2Nlc3NvckltcGwuaW52b2tlMChOYXRpdmUgTWV0aG9kKQ0KCWF0IHN1bi5yZWZsZWN0Lk5h
dGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UoVW5rbm93biBTb3VyY2UpDQoJYXQgc3VuLnJl
ZmxlY3QuRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UoVW5rbm93biBTb3VyY2Up
DQoJYXQgamF2YS5sYW5nLnJlZmxlY3QuTWV0aG9kLmludm9rZShVbmtub3duIFNvdXJjZSkNCglh
dCBjb20uZXhlNGoucnVudGltZS5MYXVuY2hlckVuZ2luZS5sYXVuY2goVW5rbm93biBTb3VyY2Up
DQoJYXQgY29tLmV4ZTRqLnJ1bnRpbWUuV2luTGF1bmNoZXIubWFpbihVbmtub3duIFNvdXJjZSkN
CglhdCBjb20uaW5zdGFsbDRqLnJ1bnRpbWUubGF1bmNoZXIuV2luTGF1bmNoZXIubWFpbihVbmtu
b3duIFNvdXJjZSkNCklPVXRpbC50b1VSTC5YOiBtb2RlIDMsIGphcjpmaWxlOi9JOi8lMjNTUElF
TEUvU1RFQU0vU3RlYW1BcHBzL2NvbW1vbi9UaWNrZXQlMjUyMHRvJTI1MjBSaWRlL2xpYi9nbHVl
Z2VuLXJ0LTIuMS4xLW5hdGl2ZXMtd2luZG93cy1pNTg2LmphciEvDQoJIC0+IGphcjpmaWxlOi9J
Oi8lMjNTUElFTEUvU1RFQU0vU3RlYW1BcHBzL2NvbW1vbi9UaWNrZXQlMjUyMHRvJTI1MjBSaWRl
L2xpYi9nbHVlZ2VuLXJ0LTIuMS4xLW5hdGl2ZXMtd2luZG93cy1pNTg2LmphciEvDQpDYXRjaGVk
IEZpbGVOb3RGb3VuZEV4Y2VwdGlvbjogSTpcI1NQSUVMRVxTVEVBTVxTdGVhbUFwcHNcY29tbW9u
XFRpY2tldCUyMHRvJTIwUmlkZVxsaWJcZ2x1ZWdlbi1ydC0yLjEuMS1uYXRpdmVzLXdpbmRvd3Mt
aTU4Ni5qYXIgKERhcyBTeXN0ZW0ga2FubiBkZW4gYW5nZWdlYmVuZW4gUGZhZCBuaWNodCBmaW5k
ZW4pLCB3aGlsZSBhZGROYXRpdmVKYXJMaWJzSW1wbChjbGFzc0Zyb21KYXZhSmFyIGNsYXNzIGNv
bS5qb2dhbXAuY29tbW9uLm9zLlBsYXRmb3JtLCBjbGFzc0phclVSSSBqYXI6ZmlsZTovSTovJTIz
U1BJRUxFL1NURUFNL1N0ZWFtQXBwcy9jb21tb24vVGlja2V0JTIwdG8lMjBSaWRlL2xpYi9nbHVl
Z2VuLXJ0LTIuMS4xLmphciEvY29tL2pvZ2FtcC9jb21tb24vb3MvUGxhdGZvcm0uY2xhc3MsIG5h
dGl2ZUphckJhc2VOYW1lIGdsdWVnZW4tcnQtMi4xLjEtbmF0aXZlcy13aW5kb3dzLWk1ODYuamFy
KTogWyBmaWxlOi9JOi8jU1BJRUxFL1NURUFNL1N0ZWFtQXBwcy9jb21tb24vVGlja2V0JTIwdG8l
MjBSaWRlL2xpYi9nbHVlZ2VuLXJ0LTIuMS4xLmphciAtPiBmaWxlOi9JOi8jU1BJRUxFL1NURUFN
L1N0ZWFtQXBwcy9jb21tb24vVGlja2V0JTIwdG8lMjBSaWRlL2xpYi8gXSArIGdsdWVnZW4tcnQt
Mi4xLjEtbmF0aXZlcy13aW5kb3dzLWk1ODYuamFyIC0+IHNsaW06IGphcjpmaWxlOi9JOi8lMjNT
UElFTEUvU1RFQU0vU3RlYW1BcHBzL2NvbW1vbi9UaWNrZXQlMjUyMHRvJTI1MjBSaWRlL2xpYi9n
bHVlZ2VuLXJ0LTIuMS4xLW5hdGl2ZXMtd2luZG93cy1pNTg2LmphciEvDQpqYXZhLmlvLkZpbGVO
b3RGb3VuZEV4Y2VwdGlvbjogSTpcI1NQSUVMRVxTVEVBTVxTdGVhbUFwcHNcY29tbW9uXFRpY2tl
dCUyMHRvJTIwUmlkZVxsaWJcZ2x1ZWdlbi1ydC0yLjEuMS1uYXRpdmVzLXdpbmRvd3MtaTU4Ni5q
YXIgKERhcyBTeXN0ZW0ga2FubiBkZW4gYW5nZWdlYmVuZW4gUGZhZCBuaWNodCBmaW5kZW4pDQoJ
YXQgamF2YS51dGlsLnppcC5aaXBGaWxlLm9wZW4oTmF0aXZlIE1ldGhvZCkNCglhdCBqYXZhLnV0
aWwuemlwLlppcEZpbGUuPGluaXQ+KFVua25vd24gU291cmNlKQ0KCWF0IGphdmEudXRpbC5qYXIu
SmFyRmlsZS48aW5pdD4oVW5rbm93biBTb3VyY2UpDQoJYXQgamF2YS51dGlsLmphci5KYXJGaWxl
Ljxpbml0PihVbmtub3duIFNvdXJjZSkNCglhdCBzdW4ubmV0Lnd3dy5wcm90b2NvbC5qYXIuVVJM
SmFyRmlsZS48aW5pdD4oVW5rbm93biBTb3VyY2UpDQoJYXQgc3VuLm5ldC53d3cucHJvdG9jb2wu
amFyLlVSTEphckZpbGUuZ2V0SmFyRmlsZShVbmtub3duIFNvdXJjZSkNCglhdCBzdW4ubmV0Lnd3
dy5wcm90b2NvbC5qYXIuSmFyRmlsZUZhY3RvcnkuZ2V0KFVua25vd24gU291cmNlKQ0KCWF0IHN1
bi5uZXQud3d3LnByb3RvY29sLmphci5KYXJVUkxDb25uZWN0aW9uLmNvbm5lY3QoVW5rbm93biBT
b3VyY2UpDQoJYXQgc3VuLm5ldC53d3cucHJvdG9jb2wuamFyLkphclVSTENvbm5lY3Rpb24uZ2V0
SmFyRmlsZShVbmtub3duIFNvdXJjZSkNCglhdCBjb20uam9nYW1wLmNvbW1vbi51dGlsLkphclV0
aWwuZ2V0SmFyRmlsZShKYXJVdGlsLmphdmE6NDYyKQ0KCWF0IGNvbS5qb2dhbXAuY29tbW9uLnV0
aWwuY2FjaGUuVGVtcEphckNhY2hlLmFkZE5hdGl2ZUxpYnMoVGVtcEphckNhY2hlLmphdmE6MjEx
KQ0KCWF0IGNvbS5qb2dhbXAuY29tbW9uLmp2bS5KTklMaWJMb2FkZXJCYXNlLmFkZE5hdGl2ZUph
ckxpYnNJbXBsKEpOSUxpYkxvYWRlckJhc2UuamF2YToxOTYpDQoJYXQgY29tLmpvZ2FtcC5jb21t
b24uanZtLkpOSUxpYkxvYWRlckJhc2UuYWRkTmF0aXZlSmFyTGlicyhKTklMaWJMb2FkZXJCYXNl
LmphdmE6MzY4KQ0KCWF0IGNvbS5qb2dhbXAuY29tbW9uLm9zLlBsYXRmb3JtJDEucnVuKFBsYXRm
b3JtLmphdmE6MTk3KQ0KCWF0IGphdmEuc2VjdXJpdHkuQWNjZXNzQ29udHJvbGxlci5kb1ByaXZp
bGVnZWQoTmF0aXZlIE1ldGhvZCkNCglhdCBjb20uam9nYW1wLmNvbW1vbi5vcy5QbGF0Zm9ybS48
Y2xpbml0PihQbGF0Zm9ybS5qYXZhOjE3MykNCglhdCBjb20uam9nYW1wLm9wZW5hbC5BTEZhY3Rv
cnkuPGNsaW5pdD4oQUxGYWN0b3J5LmphdmE6NjcpDQoJYXQgY29tLmRheXNvZndvbmRlci5nYW1l
bGliLk9wZW5BTFNvdW5kRW5naW5lLmluaXRPcGVuQUwoT3BlbkFMU291bmRFbmdpbmUuamF2YTox
MzMpDQoJYXQgY29tLmRheXNvZndvbmRlci5nYW1lbGliLk9wZW5BTFNvdW5kRW5naW5lLmluaXQo
T3BlbkFMU291bmRFbmdpbmUuamF2YToyMTcpDQoJYXQgY29tLmRheXNvZndvbmRlci5hcHBsaWNh
dGlvbi5HYW1lQXBwbGljYXRpb24uc3RhcnRBdWRpbyhHYW1lQXBwbGljYXRpb24uamF2YToxNTAp
DQoJYXQgY29tLmRheXNvZndvbmRlci50dC5hcHBsaWNhdGlvbi5UVEFwcGxpY2F0aW9uLnN0YXJ0
KFRUQXBwbGljYXRpb24uamF2YTozMDYpDQoJYXQgY29tLmRheXNvZndvbmRlci50dC5hcHBsaWNh
dGlvbi5UVEFwcGxpY2F0aW9uLm1haW4oVFRBcHBsaWNhdGlvbi5qYXZhOjc1MikNCglhdCBzdW4u
cmVmbGVjdC5OYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlMChOYXRpdmUgTWV0aG9kKQ0K
CWF0IHN1bi5yZWZsZWN0Lk5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UoVW5rbm93biBT
b3VyY2UpDQoJYXQgc3VuLnJlZmxlY3QuRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1wbC5pbnZv
a2UoVW5rbm93biBTb3VyY2UpDQoJYXQgamF2YS5sYW5nLnJlZmxlY3QuTWV0aG9kLmludm9rZShV
bmtub3duIFNvdXJjZSkNCglhdCBjb20uZXhlNGoucnVudGltZS5MYXVuY2hlckVuZ2luZS5sYXVu
Y2goVW5rbm93biBTb3VyY2UpDQoJYXQgY29tLmV4ZTRqLnJ1bnRpbWUuV2luTGF1bmNoZXIubWFp
bihVbmtub3duIFNvdXJjZSkNCglhdCBjb20uaW5zdGFsbDRqLnJ1bnRpbWUubGF1bmNoZXIuV2lu
TGF1bmNoZXIubWFpbihVbmtub3duIFNvdXJjZSkNCkpOSUxpYkxvYWRlckJhc2U6IGFkZE5hdGl2
ZUphckxpYnMwKC4uKSBkb25lLCBjb3VudCAwLCBvayBmYWxzZQ0KTmF0aXZlTGlicmFyeS5maW5k
TGlicmFyeSg8Z2x1ZWdlbi1ydD4pIChUZW1wSmFyQ2FjaGUpOiBudWxsDQpOYXRpdmVMaWJyYXJ5
LmZpbmRMaWJyYXJ5KDxnbHVlZ2VuLXJ0Piwgc3VuLm1pc2MuTGF1bmNoZXIkQXBwQ2xhc3NMb2Fk
ZXJAOWNhYjE2KSAoQ0wpOiBudWxsDQpKTklMaWJMb2FkZXJCYXNlOiBsb2FkTGlicmFyeUludGVy
bmFsKGdsdWVnZW4tcnQpLCBUZW1wSmFyQ2FjaGU6IG51bGwNCkpOSUxpYkxvYWRlckJhc2U6IFN5
c3RlbS5sb2FkTGlicmFyeShnbHVlZ2VuLXJ0KSAtIG1vZGUgMw0KRVJST1IgKHJldHJ5IHcvIGVu
dW1MaWJQYXRoKSAtIG5vIGdsdWVnZW4tcnQgaW4gamF2YS5saWJyYXJ5LnBhdGgNCk5hdGl2ZUxp
YnJhcnkuZmluZExpYnJhcnkoPGdsdWVnZW4tcnQ+KSAoVGVtcEphckNhY2hlKTogbnVsbA0KTmF0
aXZlTGlicmFyeS5maW5kTGlicmFyeSg8Z2x1ZWdlbi1ydD4sIHN1bi5taXNjLkxhdW5jaGVyJEFw
cENsYXNzTG9hZGVyQDljYWIxNikgKENMKTogbnVsbA0KSk5JTGliTG9hZGVyQmFzZTogU3lzdGVt
LmxvYWQoZ2x1ZWdlbi1ydC5kbGwpIC0gbW9kZSA0DQpuL2EgLSBFeHBlY3RpbmcgYW4gYWJzb2x1
dGUgcGF0aCBvZiB0aGUgbGlicmFyeTogZ2x1ZWdlbi1ydC5kbGwNCkpOSUxpYkxvYWRlckJhc2U6
IFN5c3RlbS5sb2FkKGk6XCNzcGllbGVcc3RlYW1cc3RlYW1hcHBzXGNvbW1vblx0aWNrZXQgdG8g
cmlkZVxqcmVcYmluXGdsdWVnZW4tcnQuZGxsKSAtIG1vZGUgNA0Kbi9hIC0gQ2FuJ3QgbG9hZCBs
aWJyYXJ5OiBpOlwjc3BpZWxlXHN0ZWFtXHN0ZWFtYXBwc1xjb21tb25cdGlja2V0IHRvIHJpZGVc
anJlXGJpblxnbHVlZ2VuLXJ0LmRsbA0KSk5JTGliTG9hZGVyQmFzZTogU3lzdGVtLmxvYWQoSTpc
I1NQSUVMRVxTVEVBTVxzdGVhbWFwcHNcY29tbW9uXFRpY2tldCB0byBSaWRlXC5cbGliXHdpbjMy
XGdsdWVnZW4tcnQuZGxsKSAtIG1vZGUgNA0Kbi9hIC0gQ2FuJ3QgbG9hZCBsaWJyYXJ5OiBJOlwj
U1BJRUxFXFNURUFNXHN0ZWFtYXBwc1xjb21tb25cVGlja2V0IHRvIFJpZGVcLlxsaWJcd2luMzJc
Z2x1ZWdlbi1ydC5kbGwNCkpOSUxpYkxvYWRlckJhc2U6IFN5c3RlbS5sb2FkKEk6XCNTUElFTEVc
U1RFQU1cZ2x1ZWdlbi1ydC5kbGwpIC0gbW9kZSA0DQpuL2EgLSBDYW4ndCBsb2FkIGxpYnJhcnk6
IEk6XCNTUElFTEVcU1RFQU1cZ2x1ZWdlbi1ydC5kbGwNCkpOSUxpYkxvYWRlckJhc2U6IFN5c3Rl
bS5sb2FkKEM6XFByb2dyYW0gRmlsZXMgKHg4NilcTlZJRElBIENvcnBvcmF0aW9uXFBoeXNYXENv
bW1vblxnbHVlZ2VuLXJ0LmRsbCkgLSBtb2RlIDQNCm4vYSAtIENhbid0IGxvYWQgbGlicmFyeTog
QzpcUHJvZ3JhbSBGaWxlcyAoeDg2KVxOVklESUEgQ29ycG9yYXRpb25cUGh5c1hcQ29tbW9uXGds
dWVnZW4tcnQuZGxsDQpKTklMaWJMb2FkZXJCYXNlOiBTeXN0ZW0ubG9hZChDOlxXaW5kb3dzXHN5
c3RlbTMyXGdsdWVnZW4tcnQuZGxsKSAtIG1vZGUgNA0Kbi9hIC0gQ2FuJ3QgbG9hZCBsaWJyYXJ5
OiBDOlxXaW5kb3dzXHN5c3RlbTMyXGdsdWVnZW4tcnQuZGxsDQpKTklMaWJMb2FkZXJCYXNlOiBT
eXN0ZW0ubG9hZChDOlxXaW5kb3dzXGdsdWVnZW4tcnQuZGxsKSAtIG1vZGUgNA0Kbi9hIC0gQ2Fu
J3QgbG9hZCBsaWJyYXJ5OiBDOlxXaW5kb3dzXGdsdWVnZW4tcnQuZGxsDQpKTklMaWJMb2FkZXJC
YXNlOiBTeXN0ZW0ubG9hZChDOlxXaW5kb3dzXFN5c3RlbTMyXFdiZW1cZ2x1ZWdlbi1ydC5kbGwp
IC0gbW9kZSA0DQpuL2EgLSBDYW4ndCBsb2FkIGxpYnJhcnk6IEM6XFdpbmRvd3NcU3lzdGVtMzJc
V2JlbVxnbHVlZ2VuLXJ0LmRsbA0KSk5JTGliTG9hZGVyQmFzZTogU3lzdGVtLmxvYWQoQzpcV2lu
ZG93c1xTeXN0ZW0zMlxXaW5kb3dzUG93ZXJTaGVsbFx2MS4wXFxnbHVlZ2VuLXJ0LmRsbCkgLSBt
b2RlIDQNCm4vYSAtIENhbid0IGxvYWQgbGlicmFyeTogQzpcV2luZG93c1xTeXN0ZW0zMlxXaW5k
b3dzUG93ZXJTaGVsbFx2MS4wXFxnbHVlZ2VuLXJ0LmRsbA0KSk5JTGliTG9hZGVyQmFzZTogU3lz
dGVtLmxvYWQoQzpcUHJvZ3JhbSBGaWxlcyAoeDg2KVxRdWlja1RpbWVcUVRTeXN0ZW1cXGdsdWVn
ZW4tcnQuZGxsKSAtIG1vZGUgNA0Kbi9hIC0gQ2FuJ3QgbG9hZCBsaWJyYXJ5OiBDOlxQcm9ncmFt
IEZpbGVzICh4ODYpXFF1aWNrVGltZVxRVFN5c3RlbVxcZ2x1ZWdlbi1ydC5kbGwNCkpOSUxpYkxv
YWRlckJhc2U6IFN5c3RlbS5sb2FkKEM6XFByb2dyYW0gRmlsZXMgKHg4NilcTUtWVG9vbE5peFxn
bHVlZ2VuLXJ0LmRsbCkgLSBtb2RlIDQNCm4vYSAtIENhbid0IGxvYWQgbGlicmFyeTogQzpcUHJv
Z3JhbSBGaWxlcyAoeDg2KVxNS1ZUb29sTml4XGdsdWVnZW4tcnQuZGxsDQpKTklMaWJMb2FkZXJC
YXNlOiBTeXN0ZW0ubG9hZChDOlxQcm9ncmFtIEZpbGVzICh4ODYpXEdvUHJvXFRvb2xzXGdsdWVn
ZW4tcnQuZGxsKSAtIG1vZGUgNA0Kbi9hIC0gQ2FuJ3QgbG9hZCBsaWJyYXJ5OiBDOlxQcm9ncmFt
IEZpbGVzICh4ODYpXEdvUHJvXFRvb2xzXGdsdWVnZW4tcnQuZGxsDQpKTklMaWJMb2FkZXJCYXNl
OiBTeXN0ZW0ubG9hZChDOlxQcm9ncmFtIEZpbGVzICh4ODYpXENpbmVGb3JtXFRvb2xzXGdsdWVn
ZW4tcnQuZGxsKSAtIG1vZGUgNA0Kbi9hIC0gQ2FuJ3QgbG9hZCBsaWJyYXJ5OiBDOlxQcm9ncmFt
IEZpbGVzICh4ODYpXENpbmVGb3JtXFRvb2xzXGdsdWVnZW4tcnQuZGxsDQpKTklMaWJMb2FkZXJC
YXNlOiBTeXN0ZW0ubG9hZChDOlxQcm9ncmFtIEZpbGVzICh4ODYpXFdpbmRvd3MgTGl2ZVxTaGFy
ZWRcZ2x1ZWdlbi1ydC5kbGwpIC0gbW9kZSA0DQpuL2EgLSBDYW4ndCBsb2FkIGxpYnJhcnk6IEM6
XFByb2dyYW0gRmlsZXMgKHg4NilcV2luZG93cyBMaXZlXFNoYXJlZFxnbHVlZ2VuLXJ0LmRsbA0K
Sk5JTGliTG9hZGVyQmFzZTogU3lzdGVtLmxvYWQoaTpcI3NwaWVsZVxzdGVhbVxzdGVhbWFwcHNc
Y29tbW9uXHRpY2tldCB0byByaWRlXGpyZVxiaW5cZ2x1ZWdlbi1ydC5kbGwpIC0gbW9kZSA0DQpu
L2EgLSBDYW4ndCBsb2FkIGxpYnJhcnk6IGk6XCNzcGllbGVcc3RlYW1cc3RlYW1hcHBzXGNvbW1v
blx0aWNrZXQgdG8gcmlkZVxqcmVcYmluXGdsdWVnZW4tcnQuZGxsDQpKTklMaWJMb2FkZXJCYXNl
OiBTeXN0ZW0ubG9hZChJOlwjU1BJRUxFXFNURUFNXHN0ZWFtYXBwc1xjb21tb25cVGlja2V0IHRv
IFJpZGVcZ2x1ZWdlbi1ydC5kbGwpIC0gbW9kZSA0DQpuL2EgLSBDYW4ndCBsb2FkIGxpYnJhcnk6
IEk6XCNTUElFTEVcU1RFQU1cc3RlYW1hcHBzXGNvbW1vblxUaWNrZXQgdG8gUmlkZVxnbHVlZ2Vu
LXJ0LmRsbA0KamF2YS5sYW5nLlVuc2F0aXNmaWVkTGlua0Vycm9yOiBDYW4ndCBsb2FkIGxpYnJh
cnk6IEk6XCNTUElFTEVcU1RFQU1cc3RlYW1hcHBzXGNvbW1vblxUaWNrZXQgdG8gUmlkZVxnbHVl
Z2VuLXJ0LmRsbA0KCWF0IGphdmEubGFuZy5DbGFzc0xvYWRlci5sb2FkTGlicmFyeShVbmtub3du
IFNvdXJjZSkNCglhdCBqYXZhLmxhbmcuUnVudGltZS5sb2FkMChVbmtub3duIFNvdXJjZSkNCglh
dCBqYXZhLmxhbmcuU3lzdGVtLmxvYWQoVW5rbm93biBTb3VyY2UpDQoJYXQgY29tLmpvZ2FtcC5j
b21tb24uanZtLkpOSUxpYkxvYWRlckJhc2UubG9hZExpYnJhcnlJbnRlcm5hbChKTklMaWJMb2Fk
ZXJCYXNlLmphdmE6NTUxKQ0KCWF0IGNvbS5qb2dhbXAuY29tbW9uLmp2bS5KTklMaWJMb2FkZXJC
YXNlLmFjY2VzcyQwMDAoSk5JTGliTG9hZGVyQmFzZS5qYXZhOjY0KQ0KCWF0IGNvbS5qb2dhbXAu
Y29tbW9uLmp2bS5KTklMaWJMb2FkZXJCYXNlJERlZmF1bHRBY3Rpb24ubG9hZExpYnJhcnkoSk5J
TGliTG9hZGVyQmFzZS5qYXZhOjk2KQ0KCWF0IGNvbS5qb2dhbXAuY29tbW9uLmp2bS5KTklMaWJM
b2FkZXJCYXNlLmxvYWRMaWJyYXJ5KEpOSUxpYkxvYWRlckJhc2UuamF2YTo0MTQpDQoJYXQgY29t
LmpvZ2FtcC5jb21tb24ub3MuRHluYW1pY0xpYnJhcnlCdW5kbGUkR2x1ZUpOSUxpYkxvYWRlci5s
b2FkTGlicmFyeShEeW5hbWljTGlicmFyeUJ1bmRsZS5qYXZhOjM4OCkNCglhdCBjb20uam9nYW1w
LmNvbW1vbi5vcy5QbGF0Zm9ybSQxLnJ1bihQbGF0Zm9ybS5qYXZhOjIwMykNCglhdCBqYXZhLnNl
Y3VyaXR5LkFjY2Vzc0NvbnRyb2xsZXIuZG9Qcml2aWxlZ2VkKE5hdGl2ZSBNZXRob2QpDQoJYXQg
Y29tLmpvZ2FtcC5jb21tb24ub3MuUGxhdGZvcm0uPGNsaW5pdD4oUGxhdGZvcm0uamF2YToxNzMp
DQoJYXQgY29tLmpvZ2FtcC5vcGVuYWwuQUxGYWN0b3J5LjxjbGluaXQ+KEFMRmFjdG9yeS5qYXZh
OjY3KQ0KCWF0IGNvbS5kYXlzb2Z3b25kZXIuZ2FtZWxpYi5PcGVuQUxTb3VuZEVuZ2luZS5pbml0
T3BlbkFMKE9wZW5BTFNvdW5kRW5naW5lLmphdmE6MTMzKQ0KCWF0IGNvbS5kYXlzb2Z3b25kZXIu
Z2FtZWxpYi5PcGVuQUxTb3VuZEVuZ2luZS5pbml0KE9wZW5BTFNvdW5kRW5naW5lLmphdmE6MjE3
KQ0KCWF0IGNvbS5kYXlzb2Z3b25kZXIuYXBwbGljYXRpb24uR2FtZUFwcGxpY2F0aW9uLnN0YXJ0
QXVkaW8oR2FtZUFwcGxpY2F0aW9uLmphdmE6MTUwKQ0KCWF0IGNvbS5kYXlzb2Z3b25kZXIudHQu
YXBwbGljYXRpb24uVFRBcHBsaWNhdGlvbi5zdGFydChUVEFwcGxpY2F0aW9uLmphdmE6MzA2KQ0K
CWF0IGNvbS5kYXlzb2Z3b25kZXIudHQuYXBwbGljYXRpb24uVFRBcHBsaWNhdGlvbi5tYWluKFRU
QXBwbGljYXRpb24uamF2YTo3NTIpDQoJYXQgc3VuLnJlZmxlY3QuTmF0aXZlTWV0aG9kQWNjZXNz
b3JJbXBsLmludm9rZTAoTmF0aXZlIE1ldGhvZCkNCglhdCBzdW4ucmVmbGVjdC5OYXRpdmVNZXRo
b2RBY2Nlc3NvckltcGwuaW52b2tlKFVua25vd24gU291cmNlKQ0KCWF0IHN1bi5yZWZsZWN0LkRl
bGVnYXRpbmdNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlKFVua25vd24gU291cmNlKQ0KCWF0IGph
dmEubGFuZy5yZWZsZWN0Lk1ldGhvZC5pbnZva2UoVW5rbm93biBTb3VyY2UpDQoJYXQgY29tLmV4
ZTRqLnJ1bnRpbWUuTGF1bmNoZXJFbmdpbmUubGF1bmNoKFVua25vd24gU291cmNlKQ0KCWF0IGNv
bS5leGU0ai5ydW50aW1lLldpbkxhdW5jaGVyLm1haW4oVW5rbm93biBTb3VyY2UpDQoJYXQgY29t
Lmluc3RhbGw0ai5ydW50aW1lLmxhdW5jaGVyLldpbkxhdW5jaGVyLm1haW4oVW5rbm93biBTb3Vy
Y2UpDQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>