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

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>151597</bug_id>
          
          <creation_ts>2015-11-25 02:26:11 -0800</creation_ts>
          <short_desc>Some tests fail with ES6 `u` (Unicode) flag for regular expressions</short_desc>
          <delta_ts>2016-06-23 02:18:02 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=159055</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>156044</dependson>
          <blocked>151598</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mathias Bynens">mathias</reporter>
          <assigned_to name="Michael Saboff">msaboff</assigned_to>
          <cc>50167214</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mathias</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
    
    <cc>saam</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1144402</commentid>
    <comment_count>0</comment_count>
    <who name="Mathias Bynens">mathias</who>
    <bug_when>2015-11-25 02:26:11 -0800</bug_when>
    <thetext>Spec: https://tc39.github.io/ecma262/#sec-pattern-semantics

More background: https://mathiasbynens.be/notes/javascript-unicode</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1144404</commentid>
    <comment_count>1</comment_count>
    <who name="Mathias Bynens">mathias</who>
    <bug_when>2015-11-25 02:29:29 -0800</bug_when>
    <thetext>More background on the `u` flag for regular expressions: https://mathiasbynens.be/notes/es6-unicode-regex</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1179148</commentid>
    <comment_count>2</comment_count>
    <who name="Mathias Bynens">mathias</who>
    <bug_when>2016-03-30 12:44:07 -0700</bug_when>
    <thetext>Seems like this has been implemented in Safari Technology Preview v9.1.1 (11601.6.10, 11602.1.25).

However, the implementation is buggy: http://mathias.html5.org/tests/javascript/regexp/

The following tests fail:

    assert_equals(/𝌆{2}/u.test(&apos;𝌆𝌆&apos;), true);
    assert_equals(/\uD834\uDF06{2}/u.test(&apos;\uD834\uDF06\uD834\uDF06&apos;), true);

    assert_equals(/\W/iu.test(&apos;S&apos;), true);
    assert_equals(/\W/iu.test(&apos;K&apos;), true);


Please fix this before shipping this in a stable release to avoid compatibility problems.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1179152</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-03-30 12:48:38 -0700</bug_when>
    <thetext>&lt;rdar://problem/25447036&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1179155</commentid>
    <comment_count>4</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2016-03-30 12:53:08 -0700</bug_when>
    <thetext>This was implemented with bug 154842.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1179218</commentid>
    <comment_count>5</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2016-03-30 15:59:00 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Seems like this has been implemented in Safari Technology Preview v9.1.1
&gt; (11601.6.10, 11602.1.25).
&gt; 
&gt; However, the implementation is buggy:
&gt; http://mathias.html5.org/tests/javascript/regexp/
&gt; 
&gt; The following tests fail:
&gt; 
&gt;     assert_equals(/𝌆{2}/u.test(&apos;𝌆𝌆&apos;), true);
&gt;     assert_equals(/\uD834\uDF06{2}/u.test(&apos;\uD834\uDF06\uD834\uDF06&apos;), true);

These two tests point out bug in quantified unicode regular expression processing.

&gt;     assert_equals(/\W/iu.test(&apos;S&apos;), true);
&gt;     assert_equals(/\W/iu.test(&apos;K&apos;), true);

According the CharacterClassEscape pattern semantic rules specified in the ES6 spec section 21.2.2.12 (https://tc39.github.io/ecma262/2016/#sec-characterclassescape) along with the canonicalization rules found at 21.2.2.8.2 (https://tc39.github.io/ecma262/2016/#sec-runtime-semantics-canonicalize-ch), upper case ASCII &apos;S&apos; and &apos;K&apos; ARE word characters and therefore should fail with the non-word, \W, character class.  This also holds true for when the ignore case flag is provided.

Note that the Chrome team believes that the current Chrome canary (51.0.2692.0 canary) incorrectly handles these two test cases.  This Chrome issue is tracked in https://bugs.chromium.org/p/v8/issues/detail?id=4879.

&gt; Please fix this before shipping this in a stable release to avoid
&gt; compatibility problems.

I created a new bug (https://bugs.webkit.org/show_bug.cgi?id=156044) to track just the quantified unicode RegExp test failures.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1179342</commentid>
    <comment_count>6</comment_count>
    <who name="Mathias Bynens">mathias</who>
    <bug_when>2016-03-30 23:27:40 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #2)
&gt; &gt; Seems like this has been implemented in Safari Technology Preview v9.1.1
&gt; &gt; (11601.6.10, 11602.1.25).
&gt; &gt; 
&gt; &gt; However, the implementation is buggy:
&gt; &gt; http://mathias.html5.org/tests/javascript/regexp/
&gt; &gt; 
&gt; &gt; The following tests fail:
&gt; &gt; 
&gt; &gt;     assert_equals(/𝌆{2}/u.test(&apos;𝌆𝌆&apos;), true);
&gt; &gt;     assert_equals(/\uD834\uDF06{2}/u.test(&apos;\uD834\uDF06\uD834\uDF06&apos;), true);
&gt; 
&gt; These two tests point out bug in quantified unicode regular expression
&gt; processing.
&gt; 
&gt; &gt;     assert_equals(/\W/iu.test(&apos;S&apos;), true);
&gt; &gt;     assert_equals(/\W/iu.test(&apos;K&apos;), true);
&gt; 
&gt; According the CharacterClassEscape pattern semantic rules specified in the
&gt; ES6 spec section 21.2.2.12
&gt; (https://tc39.github.io/ecma262/2016/#sec-characterclassescape) along with
&gt; the canonicalization rules found at 21.2.2.8.2
&gt; (https://tc39.github.io/ecma262/2016/#sec-runtime-semantics-canonicalize-ch),
&gt; upper case ASCII &apos;S&apos; and &apos;K&apos; ARE word characters and therefore should fail
&gt; with the non-word, \W, character class.

Without the `u` and `i` flags enabled, this statements is entirely correct.

&gt; This also holds true for when the ignore case flag is provided.

This is incorrect, though. Did you read the explanation at https://mathiasbynens.be/notes/es6-unicode-regex#impact-i?

&gt; Note that the Chrome team believes that the current Chrome canary
&gt; (51.0.2692.0 canary) incorrectly handles these two test cases.  This Chrome
&gt; issue is tracked in https://bugs.chromium.org/p/v8/issues/detail?id=4879.

No, they got it right: https://bugs.chromium.org/p/v8/issues/detail?id=4879#c3

&gt; I created a new bug (https://bugs.webkit.org/show_bug.cgi?id=156044) to
&gt; track just the quantified unicode RegExp test failures.

Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1183557</commentid>
    <comment_count>7</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2016-04-13 14:59:10 -0700</bug_when>
    <thetext>As the standard is currently written, /\W/iu should match &apos;s&apos;, &apos;k&apos;, &apos;S&apos; and &apos;K&apos;.  I disagree with the standard and have created a pull request to change the standard.  That request can be found at https://github.com/tc39/ecma262/pull/525.  In the mean time, I will fix the implementation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1183586</commentid>
    <comment_count>8</comment_count>
      <attachid>276366</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2016-04-13 16:54:23 -0700</bug_when>
    <thetext>Created attachment 276366
Patch addressing \w and \W with &quot;iu&quot; flags</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1183587</commentid>
    <comment_count>9</comment_count>
      <attachid>276366</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2016-04-13 16:56:08 -0700</bug_when>
    <thetext>Comment on attachment 276366
Patch addressing \w and \W with &quot;iu&quot; flags

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1183595</commentid>
    <comment_count>10</comment_count>
      <attachid>276366</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-04-13 17:47:32 -0700</bug_when>
    <thetext>Comment on attachment 276366
Patch addressing \w and \W with &quot;iu&quot; flags

Clearing flags on attachment: 276366

Committed r199523: &lt;http://trac.webkit.org/changeset/199523&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1183596</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-04-13 17:47:35 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>276366</attachid>
            <date>2016-04-13 16:54:23 -0700</date>
            <delta_ts>2016-04-13 17:47:32 -0700</delta_ts>
            <desc>Patch addressing \w and \W with &quot;iu&quot; flags</desc>
            <filename>151597.patch</filename>
            <type>text/plain</type>
            <size>13331</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTk5NTEzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBA
CisyMDE2LTA0LTEzICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgorCisgICAg
ICAgIFNvbWUgdGVzdHMgZmFpbCB3aXRoIEVTNiBgdWAgKFVuaWNvZGUpIGZsYWcgZm9yIHJlZ3Vs
YXIgZXhwcmVzc2lvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE1MTU5NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZGVkIHR3byBuZXcgdGFibGVzIHRvIGhhbmRsZSB0aGUgYW5vbW9saWVzIG9mIFx3
IGFuZCBcVyBDaGFyYWN0ZXJDbGFzc0VzY2FwZXMKKyAgICAgICAgd2hlbiBzcGVjaWZpZWQgaW4g
UmVnRXhwJ3Mgd2l0aCBib3RoIHRoZSB1bmljb2RlIGFuZCBpZ25vcmVDYXNlIGZsYWdzLiAgR2l2
ZW4gdGhlCisgICAgICAgIGNhc2UgZm9sZGluZyBydWxlcyBkZXNjcmliZWQgaW4gdGhlIHN0YW5k
YXJkIHZpZSB0aGUgbWV0YSBmdW5jdGlvbiBDYW5vbmljYWxpemUoKSwKKyAgICAgICAgd2hpY2gg
YWxsb3cgY3Jvc3MgQVNDSUkgY2FzZSBmb2xkaW5nIHdoZW4gdW5pY29kZSBpcyBzcGVjaWZpZWQs
IHRoZSB1bmljb2RlIGNoYXJhY3RlcnMKKyAgICAgICAgXHUwMTdmIChzbWFsbCBzaGFycCBzKSBh
bmQgXHUyMTJhIChrZWx2aW4gc3ltYm9sKSBhcmUgcGFydCBvZiB0aGUgXHcgKHdvcmQpIGNoYXJh
Y3RlckNsYXNzRXNjYXBlLgorICAgICAgICBUaGlzIGlzIHRydWUgYmVjYXVzZSB0aGV5IGNhc2Ug
Zm9sZCB0byAncycgYW5kICdrJyByZXNwZWN0aXZlbHkuICBCZWNhdXNlIHRoZXkgY2FzZSBmb2xk
CisgICAgICAgIHRvIGxvd2VyIGNhc2UgbGV0dGVycywgdGhlIGNvcnJlc3BvbmRpbmcgbGV0dGVy
cywgJ2snLCAnSycsICdzJyBhbmQgJ1MnLCBhcmUgYWxzbyBtYXRjaGVkIHdpdGgKKyAgICAgICAg
XFcgd2l0aCB0aGUgdW5pY29kZSBhbmQgaWdub3JlQ2FzZSBmbGFncy4KKworICAgICAgICAqIGNy
ZWF0ZV9yZWdleF90YWJsZXM6CisgICAgICAgICogeWFyci9ZYXJyUGF0dGVybi5jcHA6CisgICAg
ICAgIChKU0M6OllhcnI6OllhcnJQYXR0ZXJuQ29uc3RydWN0b3I6OmF0b21CdWlsdEluQ2hhcmFj
dGVyQ2xhc3MpOgorICAgICAgICAoSlNDOjpZYXJyOjpZYXJyUGF0dGVybkNvbnN0cnVjdG9yOjph
dG9tQ2hhcmFjdGVyQ2xhc3NCdWlsdEluKToKKyAgICAgICAgKEpTQzo6WWFycjo6WWFyclBhdHRl
cm46OllhcnJQYXR0ZXJuKToKKyAgICAgICAgKiB5YXJyL1lhcnJQYXR0ZXJuLmg6CisgICAgICAg
IChKU0M6OllhcnI6OllhcnJQYXR0ZXJuOjp3b3JkY2hhckNoYXJhY3RlckNsYXNzKToKKyAgICAg
ICAgKEpTQzo6WWFycjo6WWFyclBhdHRlcm46OndvcmRVbmljb2RlSWdub3JlQ2FzZUNoYXJDaGFy
YWN0ZXJDbGFzcyk6CisgICAgICAgIChKU0M6OllhcnI6OllhcnJQYXR0ZXJuOjpub253b3JkY2hh
ckNoYXJhY3RlckNsYXNzKToKKyAgICAgICAgKEpTQzo6WWFycjo6WWFyclBhdHRlcm46Om5vbndv
cmRVbmljb2RlSWdub3JlQ2FzZUNoYXJDaGFyYWN0ZXJDbGFzcyk6CisKIDIwMTYtMDQtMTMgIEtl
aXRoIE1pbGxlciAgPGtlaXRoX21pbGxlckBhcHBsZS5jb20+CiAKICAgICAgICAgaXNKU0FycmF5
IHNob3VsZCB1c2UgQXJyYXlUeXBlIHJhdGhlciB0aGFuIHRoZSBDbGFzc0luZm8KSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9jcmVhdGVfcmVnZXhfdGFibGVzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9jcmVhdGVfcmVnZXhfdGFibGVzCShyZXZpc2lvbiAxOTkzOTYp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvY3JlYXRlX3JlZ2V4X3RhYmxlcwkod29ya2luZyBj
b3B5KQpAQCAtMjUsMTIgKzI1LDE0IEBAIGltcG9ydCBzeXMKIAogdHlwZXMgPSB7CiAgICAgIndv
cmRjaGFyIjogeyAiVXNlVGFibGUiIDogVHJ1ZSwgImRhdGEiOiBbJ18nLCAoJzAnLCc5JyksICgn
QScsICdaJyksICgnYScsJ3onKV19LAotICAgICJub253b3JkY2hhciI6IHsgIlVzZVRhYmxlIiA6
IFRydWUsICJJbnZlcnNlIjogIndvcmRjaGFyIiwgImRhdGEiOiBbJ2AnLCAoMCwgb3JkKCcwJykg
LSAxKSwgKG9yZCgnOScpICsgMSwgb3JkKCdBJykgLSAxKSwgKG9yZCgnWicpICsgMSwgb3JkKCdf
JykgLSAxKSwgKG9yZCgneicpICsgMSwgMHhmZmZmKV19LAorICAgICJ3b3JkVW5pY29kZUlnbm9y
ZUNhc2VDaGFyIjogeyAiVXNlVGFibGUiIDogRmFsc2UsICJkYXRhIjogWydfJywgKCcwJywgJzkn
KSwgKCdBJywgJ1onKSwgKCdhJywgJ3onKSwgMHgwMTdmLCAweDIxMmFdfSwKKyAgICAibm9ud29y
ZGNoYXIiOiB7ICJVc2VUYWJsZSIgOiBUcnVlLCAiSW52ZXJzZSI6ICJ3b3JkY2hhciIsICJkYXRh
IjogWydgJywgKDAsIG9yZCgnMCcpIC0gMSksIChvcmQoJzknKSArIDEsIG9yZCgnQScpIC0gMSks
IChvcmQoJ1onKSArIDEsIG9yZCgnXycpIC0gMSksIChvcmQoJ3onKSArIDEsIDB4MTBmZmZmKV19
LAorICAgICJub253b3JkVW5pY29kZUlnbm9yZUNhc2VDaGFyIjogeyAiVXNlVGFibGUiIDogRmFs
c2UsICJJbnZlcnNlIjogIndvcmRjaGFyIiwgImRhdGEiOiBbJ2snLCAnSycsICdzJywgJ1MnLCAn
YCcsICgwLCBvcmQoJzAnKSAtIDEpLCAob3JkKCc5JykgKyAxLCBvcmQoJ0EnKSAtIDEpLCAob3Jk
KCdaJykgKyAxLCBvcmQoJ18nKSAtIDEpLCAob3JkKCd6JykgKyAxLCAweDEwZmZmZildfSwKICAg
ICAibmV3bGluZSI6IHsgIlVzZVRhYmxlIiA6IEZhbHNlLCAiZGF0YSI6IFsnXG4nLCAnXHInLCAw
eDIwMjgsIDB4MjAyOV19LAogICAgICJzcGFjZXMiOiB7ICJVc2VUYWJsZSIgOiBUcnVlLCAiZGF0
YSI6IFsnICcsICgnXHQnLCAnXHInKSwgMHhhMCwgMHgxNjgwLCAweDE4MGUsIDB4MjAyOCwgMHgy
MDI5LCAweDIwMmYsIDB4MjA1ZiwgMHgzMDAwLCAoMHgyMDAwLCAweDIwMGEpLCAweGZlZmZdfSwK
LSAgICAibm9uc3BhY2VzIjogeyAiVXNlVGFibGUiIDogVHJ1ZSwgIkludmVyc2UiOiAic3BhY2Vz
IiwgImRhdGEiOiBbKDAsIG9yZCgnXHQnKSAtIDEpLCAob3JkKCdccicpICsgMSwgb3JkKCcgJykg
LSAxKSwgKG9yZCgnICcpICsgMSwgMHgwMDlmKSwgKDB4MDBhMSwgMHgxNjdmKSwgKDB4MTY4MSwg
MHgxODBkKSwgKDB4MTgwZiwgMHgxZmZmKSwgKDB4MjAwYiwgMHgyMDI3KSwgKDB4MjAyYSwgMHgy
MDJlKSwgKDB4MjAzMCwgMHgyMDVlKSwgKDB4MjA2MCwgMHgyZmZmKSwgKDB4MzAwMSwgMHhmZWZl
KSwgKDB4ZmYwMCwgMHhmZmZmKV19LAorICAgICJub25zcGFjZXMiOiB7ICJVc2VUYWJsZSIgOiBU
cnVlLCAiSW52ZXJzZSI6ICJzcGFjZXMiLCAiZGF0YSI6IFsoMCwgb3JkKCdcdCcpIC0gMSksIChv
cmQoJ1xyJykgKyAxLCBvcmQoJyAnKSAtIDEpLCAob3JkKCcgJykgKyAxLCAweDAwOWYpLCAoMHgw
MGExLCAweDE2N2YpLCAoMHgxNjgxLCAweDE4MGQpLCAoMHgxODBmLCAweDFmZmYpLCAoMHgyMDBi
LCAweDIwMjcpLCAoMHgyMDJhLCAweDIwMmUpLCAoMHgyMDMwLCAweDIwNWUpLCAoMHgyMDYwLCAw
eDJmZmYpLCAoMHgzMDAxLCAweGZlZmUpLCAoMHhmZjAwLCAweDEwZmZmZildfSwKICAgICAiZGln
aXRzIjogeyAiVXNlVGFibGUiIDogRmFsc2UsICJkYXRhIjogWygnMCcsICc5JyldfSwKLSAgICAi
bm9uZGlnaXRzIjogeyAiVXNlVGFibGUiIDogRmFsc2UsICJJbnZlcnNlIjogImRpZ2l0cyIsICJk
YXRhIjogWygwLCBvcmQoJzAnKSAtIDEpLCAob3JkKCc5JykgKyAxLCAweGZmZmYpXSB9CisgICAg
Im5vbmRpZ2l0cyI6IHsgIlVzZVRhYmxlIiA6IEZhbHNlLCAiSW52ZXJzZSI6ICJkaWdpdHMiLCAi
ZGF0YSI6IFsoMCwgb3JkKCcwJykgLSAxKSwgKG9yZCgnOScpICsgMSwgMHgxMGZmZmYpXSB9CiB9
CiBlbnRyaWVzUGVyTGluZSA9IDUwCiBhcnJheXMgPSAiIjsKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS95YXJyL1lhcnJQYXR0ZXJuLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUveWFyci9ZYXJyUGF0dGVybi5jcHAJKHJldmlzaW9uIDE5OTM5NikKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS95YXJyL1lhcnJQYXR0ZXJuLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MzQ5LDcgKzM0OSwxMyBAQCBwdWJsaWM6CiAgICAgICAgICAgICBtX2FsdGVybmF0aXZlLT5tX3Rl
cm1zLmFwcGVuZChQYXR0ZXJuVGVybShtX3BhdHRlcm4uc3BhY2VzQ2hhcmFjdGVyQ2xhc3MoKSwg
aW52ZXJ0KSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBXb3JkQ2xhc3NJRDoK
LSAgICAgICAgICAgIG1fYWx0ZXJuYXRpdmUtPm1fdGVybXMuYXBwZW5kKFBhdHRlcm5UZXJtKG1f
cGF0dGVybi53b3JkY2hhckNoYXJhY3RlckNsYXNzKCksIGludmVydCkpOworICAgICAgICAgICAg
aWYgKG1fcGF0dGVybi51bmljb2RlKCkgJiYgbV9wYXR0ZXJuLmlnbm9yZUNhc2UoKSkgeworICAg
ICAgICAgICAgICAgIGlmIChpbnZlcnQpCisgICAgICAgICAgICAgICAgICAgIG1fYWx0ZXJuYXRp
dmUtPm1fdGVybXMuYXBwZW5kKFBhdHRlcm5UZXJtKG1fcGF0dGVybi5ub253b3JkVW5pY29kZUln
bm9yZUNhc2VDaGFyQ2hhcmFjdGVyQ2xhc3MoKSwgZmFsc2UpKTsKKyAgICAgICAgICAgICAgICBl
bHNlCisgICAgICAgICAgICAgICAgICAgIG1fYWx0ZXJuYXRpdmUtPm1fdGVybXMuYXBwZW5kKFBh
dHRlcm5UZXJtKG1fcGF0dGVybi53b3JkVW5pY29kZUlnbm9yZUNhc2VDaGFyQ2hhcmFjdGVyQ2xh
c3MoKSwgZmFsc2UpKTsKKyAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgIG1fYWx0
ZXJuYXRpdmUtPm1fdGVybXMuYXBwZW5kKFBhdHRlcm5UZXJtKG1fcGF0dGVybi53b3JkY2hhckNo
YXJhY3RlckNsYXNzKCksIGludmVydCkpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNh
c2UgTmV3bGluZUNsYXNzSUQ6CiAgICAgICAgICAgICBtX2FsdGVybmF0aXZlLT5tX3Rlcm1zLmFw
cGVuZChQYXR0ZXJuVGVybShtX3BhdHRlcm4ubmV3bGluZUNoYXJhY3RlckNsYXNzKCksIGludmVy
dCkpOwpAQCAtMzg2LDcgKzM5MiwxMCBAQCBwdWJsaWM6CiAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgCiAgICAgICAgIGNhc2UgV29yZENsYXNzSUQ6Ci0gICAgICAgICAgICBtX2NoYXJhY3Rl
ckNsYXNzQ29uc3RydWN0b3IuYXBwZW5kKGludmVydCA/IG1fcGF0dGVybi5ub253b3JkY2hhckNo
YXJhY3RlckNsYXNzKCkgOiBtX3BhdHRlcm4ud29yZGNoYXJDaGFyYWN0ZXJDbGFzcygpKTsKKyAg
ICAgICAgICAgIGlmIChtX3BhdHRlcm4udW5pY29kZSgpICYmIG1fcGF0dGVybi5pZ25vcmVDYXNl
KCkpCisgICAgICAgICAgICAgICAgbV9jaGFyYWN0ZXJDbGFzc0NvbnN0cnVjdG9yLmFwcGVuZChp
bnZlcnQgPyBtX3BhdHRlcm4ubm9ud29yZFVuaWNvZGVJZ25vcmVDYXNlQ2hhckNoYXJhY3RlckNs
YXNzKCkgOiBtX3BhdHRlcm4ud29yZFVuaWNvZGVJZ25vcmVDYXNlQ2hhckNoYXJhY3RlckNsYXNz
KCkpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIG1fY2hhcmFjdGVyQ2xhc3ND
b25zdHJ1Y3Rvci5hcHBlbmQoaW52ZXJ0ID8gbV9wYXR0ZXJuLm5vbndvcmRjaGFyQ2hhcmFjdGVy
Q2xhc3MoKSA6IG1fcGF0dGVybi53b3JkY2hhckNoYXJhY3RlckNsYXNzKCkpOwogICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgIAogICAgICAgICBkZWZhdWx0OgpAQCAtODg0LDkgKzg5MywxMSBA
QCBZYXJyUGF0dGVybjo6WWFyclBhdHRlcm4oY29uc3QgU3RyaW5nJiBwCiAgICAgLCBkaWdpdHND
YWNoZWQoMCkKICAgICAsIHNwYWNlc0NhY2hlZCgwKQogICAgICwgd29yZGNoYXJDYWNoZWQoMCkK
KyAgICAsIHdvcmRVbmljb2RlSWdub3JlQ2FzZUNoYXJDYWNoZWQoMCkKICAgICAsIG5vbmRpZ2l0
c0NhY2hlZCgwKQogICAgICwgbm9uc3BhY2VzQ2FjaGVkKDApCiAgICAgLCBub253b3JkY2hhckNh
Y2hlZCgwKQorICAgICwgbm9ud29yZFVuaWNvZGVJZ25vcmVDYXNlY2hhckNhY2hlZCgwKQogewog
ICAgICplcnJvciA9IGNvbXBpbGUocGF0dGVybik7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUveWFyci9ZYXJyUGF0dGVybi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS95YXJyL1lhcnJQYXR0ZXJuLmgJKHJldmlzaW9uIDE5OTM5NikKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS95YXJyL1lhcnJQYXR0ZXJuLmgJKHdvcmtpbmcgY29weSkKQEAgLTI4Nyw5ICsy
ODcsMTEgQEAgc3RkOjp1bmlxdWVfcHRyPENoYXJhY3RlckNsYXNzPiBuZXdsaW5lQwogc3RkOjp1
bmlxdWVfcHRyPENoYXJhY3RlckNsYXNzPiBkaWdpdHNDcmVhdGUoKTsKIHN0ZDo6dW5pcXVlX3B0
cjxDaGFyYWN0ZXJDbGFzcz4gc3BhY2VzQ3JlYXRlKCk7CiBzdGQ6OnVuaXF1ZV9wdHI8Q2hhcmFj
dGVyQ2xhc3M+IHdvcmRjaGFyQ3JlYXRlKCk7CitzdGQ6OnVuaXF1ZV9wdHI8Q2hhcmFjdGVyQ2xh
c3M+IHdvcmRVbmljb2RlSWdub3JlQ2FzZUNoYXJDcmVhdGUoKTsKIHN0ZDo6dW5pcXVlX3B0cjxD
aGFyYWN0ZXJDbGFzcz4gbm9uZGlnaXRzQ3JlYXRlKCk7CiBzdGQ6OnVuaXF1ZV9wdHI8Q2hhcmFj
dGVyQ2xhc3M+IG5vbnNwYWNlc0NyZWF0ZSgpOwogc3RkOjp1bmlxdWVfcHRyPENoYXJhY3RlckNs
YXNzPiBub253b3JkY2hhckNyZWF0ZSgpOworc3RkOjp1bmlxdWVfcHRyPENoYXJhY3RlckNsYXNz
PiBub253b3JkVW5pY29kZUlnbm9yZUNhc2VDaGFyQ3JlYXRlKCk7CiAKIHN0cnVjdCBUZXJtQ2hh
aW4gewogICAgIFRlcm1DaGFpbihQYXR0ZXJuVGVybSB0ZXJtKQpAQCAtMzE3LDkgKzMxOSwxMSBA
QCBzdHJ1Y3QgWWFyclBhdHRlcm4gewogICAgICAgICBkaWdpdHNDYWNoZWQgPSAwOwogICAgICAg
ICBzcGFjZXNDYWNoZWQgPSAwOwogICAgICAgICB3b3JkY2hhckNhY2hlZCA9IDA7CisgICAgICAg
IHdvcmRVbmljb2RlSWdub3JlQ2FzZUNoYXJDYWNoZWQgPSAwOwogICAgICAgICBub25kaWdpdHND
YWNoZWQgPSAwOwogICAgICAgICBub25zcGFjZXNDYWNoZWQgPSAwOwogICAgICAgICBub253b3Jk
Y2hhckNhY2hlZCA9IDA7CisgICAgICAgIG5vbndvcmRVbmljb2RlSWdub3JlQ2FzZWNoYXJDYWNo
ZWQgPSAwOwogCiAgICAgICAgIG1fZGlzanVuY3Rpb25zLmNsZWFyKCk7CiAgICAgICAgIG1fdXNl
ckNoYXJhY3RlckNsYXNzZXMuY2xlYXIoKTsKQEAgLTM2Nyw2ICszNzEsMTQgQEAgc3RydWN0IFlh
cnJQYXR0ZXJuIHsKICAgICAgICAgfQogICAgICAgICByZXR1cm4gd29yZGNoYXJDYWNoZWQ7CiAg
ICAgfQorICAgIENoYXJhY3RlckNsYXNzKiB3b3JkVW5pY29kZUlnbm9yZUNhc2VDaGFyQ2hhcmFj
dGVyQ2xhc3MoKQorICAgIHsKKyAgICAgICAgaWYgKCF3b3JkVW5pY29kZUlnbm9yZUNhc2VDaGFy
Q2FjaGVkKSB7CisgICAgICAgICAgICBtX3VzZXJDaGFyYWN0ZXJDbGFzc2VzLmFwcGVuZCh3b3Jk
VW5pY29kZUlnbm9yZUNhc2VDaGFyQ3JlYXRlKCkpOworICAgICAgICAgICAgd29yZFVuaWNvZGVJ
Z25vcmVDYXNlQ2hhckNhY2hlZCA9IG1fdXNlckNoYXJhY3RlckNsYXNzZXMubGFzdCgpLmdldCgp
OworICAgICAgICB9CisgICAgICAgIHJldHVybiB3b3JkVW5pY29kZUlnbm9yZUNhc2VDaGFyQ2Fj
aGVkOworICAgIH0KICAgICBDaGFyYWN0ZXJDbGFzcyogbm9uZGlnaXRzQ2hhcmFjdGVyQ2xhc3Mo
KQogICAgIHsKICAgICAgICAgaWYgKCFub25kaWdpdHNDYWNoZWQpIHsKQEAgLTM5MSw2ICs0MDMs
MTQgQEAgc3RydWN0IFlhcnJQYXR0ZXJuIHsKICAgICAgICAgfQogICAgICAgICByZXR1cm4gbm9u
d29yZGNoYXJDYWNoZWQ7CiAgICAgfQorICAgIENoYXJhY3RlckNsYXNzKiBub253b3JkVW5pY29k
ZUlnbm9yZUNhc2VDaGFyQ2hhcmFjdGVyQ2xhc3MoKQorICAgIHsKKyAgICAgICAgaWYgKCFub253
b3JkVW5pY29kZUlnbm9yZUNhc2VjaGFyQ2FjaGVkKSB7CisgICAgICAgICAgICBtX3VzZXJDaGFy
YWN0ZXJDbGFzc2VzLmFwcGVuZChub253b3JkVW5pY29kZUlnbm9yZUNhc2VDaGFyQ3JlYXRlKCkp
OworICAgICAgICAgICAgbm9ud29yZFVuaWNvZGVJZ25vcmVDYXNlY2hhckNhY2hlZCA9IG1fdXNl
ckNoYXJhY3RlckNsYXNzZXMubGFzdCgpLmdldCgpOworICAgICAgICB9CisgICAgICAgIHJldHVy
biBub253b3JkVW5pY29kZUlnbm9yZUNhc2VjaGFyQ2FjaGVkOworICAgIH0KIAogICAgIGJvb2wg
aWdub3JlQ2FzZSgpIGNvbnN0IHsgcmV0dXJuIG1fZmxhZ3MgJiBGbGFnSWdub3JlQ2FzZTsgfQog
ICAgIGJvb2wgbXVsdGlsaW5lKCkgY29uc3QgeyByZXR1cm4gbV9mbGFncyAmIEZsYWdNdWx0aWxp
bmU7IH0KQEAgLTQxNCw5ICs0MzQsMTEgQEAgcHJpdmF0ZToKICAgICBDaGFyYWN0ZXJDbGFzcyog
ZGlnaXRzQ2FjaGVkOwogICAgIENoYXJhY3RlckNsYXNzKiBzcGFjZXNDYWNoZWQ7CiAgICAgQ2hh
cmFjdGVyQ2xhc3MqIHdvcmRjaGFyQ2FjaGVkOworICAgIENoYXJhY3RlckNsYXNzKiB3b3JkVW5p
Y29kZUlnbm9yZUNhc2VDaGFyQ2FjaGVkOwogICAgIENoYXJhY3RlckNsYXNzKiBub25kaWdpdHND
YWNoZWQ7CiAgICAgQ2hhcmFjdGVyQ2xhc3MqIG5vbnNwYWNlc0NhY2hlZDsKICAgICBDaGFyYWN0
ZXJDbGFzcyogbm9ud29yZGNoYXJDYWNoZWQ7CisgICAgQ2hhcmFjdGVyQ2xhc3MqIG5vbndvcmRV
bmljb2RlSWdub3JlQ2FzZWNoYXJDYWNoZWQ7CiB9OwogCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6
WWFycgpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMTk5Mzk2KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTYtMDQtMTMgIE1pY2hhZWwgU2Fi
b2ZmICA8bXNhYm9mZkBhcHBsZS5jb20+CisKKyAgICAgICAgU29tZSB0ZXN0cyBmYWlsIHdpdGgg
RVM2IGB1YCAoVW5pY29kZSkgZmxhZyBmb3IgcmVndWxhciBleHByZXNzaW9ucworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUxNTk3CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlZCB0ZXN0cy4KKwor
ICAgICAgICAqIGpzL3JlZ2V4cC11bmljb2RlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBqcy9z
Y3JpcHQtdGVzdHMvcmVnZXhwLXVuaWNvZGUuanM6CisKIDIwMTYtMDQtMTIgIE1hcmsgTGFtICA8
bWFyay5sYW1AYXBwbGUuY29tPgogCiAgICAgICAgIEVTNjogSW1wbGVtZW50IFN0cmluZy5wcm90
b3R5cGUuc3BsaXQgYW5kIFJlZ0V4cC5wcm90b3R5cGVbQEBzcGxpdF0uCkluZGV4OiBMYXlvdXRU
ZXN0cy9qcy9yZWdleHAtdW5pY29kZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvanMvcmVnZXhwLXVuaWNvZGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxOTkzOTYpCisr
KyBMYXlvdXRUZXN0cy9qcy9yZWdleHAtdW5pY29kZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTM5LDYgKzM5LDM4IEBAIFBBU1MgLyg/OkF88JCEo3xiKXgvaXUudGVzdCgiYiIpIGlz
IGZhbHMKIFBBU1MgLyg/OkF88JCEo3xiKXgvaXUudGVzdCgiYngiKSBpcyB0cnVlCiBQQVNTICJh
8JCEo1giLm1hdGNoKC9h8JCEo2J8YfCQhKN4L2l1KVswXS5sZW5ndGggaXMgNAogUEFTUyAixaR4
Ii5tYXRjaCgvxaV4L2l1KVswXS5sZW5ndGggaXMgMgorUEFTUyAvXHcvaXUudGVzdCgixb8iKSBp
cyB0cnVlCitQQVNTIC9cdy9pdS50ZXN0KCLihKoiKSBpcyB0cnVlCitQQVNTIC8hXHcvaXUudGVz
dCgixb8iKSBpcyBmYWxzZQorUEFTUyAvIVx3L2l1LnRlc3QoIuKEqiIpIGlzIGZhbHNlCitQQVNT
IC9cVy9pdS50ZXN0KCLFvyIpIGlzIHRydWUKK1BBU1MgL1xXL2l1LnRlc3QoIuKEqiIpIGlzIHRy
dWUKK1BBU1MgLyFcVy9pdS50ZXN0KCLFvyIpIGlzIGZhbHNlCitQQVNTIC8hXFcvaXUudGVzdCgi
4oSqIikgaXMgZmFsc2UKK1BBU1MgL1tcd1xkXS9pdS50ZXN0KCLFvyIpIGlzIHRydWUKK1BBU1Mg
L1tcd1xkXS9pdS50ZXN0KCLihKoiKSBpcyB0cnVlCitQQVNTIC9bXlx3XGRdL2l1LnRlc3QoIsW/
IikgaXMgZmFsc2UKK1BBU1MgL1teXHdcZF0vaXUudGVzdCgi4oSqIikgaXMgZmFsc2UKK1BBU1Mg
L1tcV1xkXS9pdS50ZXN0KCLFvyIpIGlzIHRydWUKK1BBU1MgL1tcV1xkXS9pdS50ZXN0KCLihKoi
KSBpcyB0cnVlCitQQVNTIC9bXlxXXGRdL2l1LnRlc3QoIsW/IikgaXMgZmFsc2UKK1BBU1MgL1te
XFdcZF0vaXUudGVzdCgi4oSqIikgaXMgZmFsc2UKK1BBU1MgL1x3L2l1LnRlc3QoIlMiKSBpcyB0
cnVlCitQQVNTIC9cdy9pdS50ZXN0KCJLIikgaXMgdHJ1ZQorUEFTUyAvIVx3L2l1LnRlc3QoIlMi
KSBpcyBmYWxzZQorUEFTUyAvIVx3L2l1LnRlc3QoIksiKSBpcyBmYWxzZQorUEFTUyAvXFcvaXUu
dGVzdCgiUyIpIGlzIHRydWUKK1BBU1MgL1xXL2l1LnRlc3QoIksiKSBpcyB0cnVlCitQQVNTIC8h
XFcvaXUudGVzdCgiUyIpIGlzIGZhbHNlCitQQVNTIC8hXFcvaXUudGVzdCgiSyIpIGlzIGZhbHNl
CitQQVNTIC9bXHdcZF0vaXUudGVzdCgiUyIpIGlzIHRydWUKK1BBU1MgL1tcd1xkXS9pdS50ZXN0
KCJLIikgaXMgdHJ1ZQorUEFTUyAvW15cd1xkXS9pdS50ZXN0KCJTIikgaXMgZmFsc2UKK1BBU1Mg
L1teXHdcZF0vaXUudGVzdCgiSyIpIGlzIGZhbHNlCitQQVNTIC9bXFdcZF0vaXUudGVzdCgiUyIp
IGlzIHRydWUKK1BBU1MgL1tcV1xkXS9pdS50ZXN0KCJLIikgaXMgdHJ1ZQorUEFTUyAvW15cV1xk
XS9pdS50ZXN0KCJTIikgaXMgZmFsc2UKK1BBU1MgL1teXFdcZF0vaXUudGVzdCgiSyIpIGlzIGZh
bHNlCiBQQVNTICLwnYyGIi5tYXRjaCgvXi4kL3UpWzBdLmxlbmd0aCBpcyAyCiBQQVNTICJJdCBp
cyA3OMKwIi5tYXRjaCgvLiovdSlbMF0ubGVuZ3RoIGlzIDkKIFBBU1Mgc3RyaW5nV2l0aERhbmds
aW5nRmlyc3RTdXJyb2dhdGUubWF0Y2goLy4qL3UpWzBdLmxlbmd0aCBpcyAzCkluZGV4OiBMYXlv
dXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvcmVnZXhwLXVuaWNvZGUuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL3JlZ2V4cC11bmljb2RlLmpzCShyZXZpc2lvbiAx
OTkzOTYpCisrKyBMYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvcmVnZXhwLXVuaWNvZGUuanMJ
KHdvcmtpbmcgY29weSkKQEAgLTQzLDYgKzQzLDM5IEBAIHNob3VsZEJlRmFsc2UoJy8oPzpBfFx1
ezEwMTIzfXxiKXgvaXUudGUKIHNob3VsZEJlVHJ1ZSgnLyg/OkF8XHV7MTAxMjN9fGIpeC9pdS50
ZXN0KCJieCIpJyk7CiBzaG91bGRCZSgnImFcdXsxMDEyM31YIi5tYXRjaCgvYVx1ezEwMTIzfWJ8
YVx1ezEwMTIzfXgvaXUpWzBdLmxlbmd0aCcsICc0Jyk7CiBzaG91bGRCZSgnIlx1MDE2NHgiLm1h
dGNoKC9cdTAxNjV4L2l1KVswXS5sZW5ndGgnLCAnMicpOworc2hvdWxkQmVUcnVlKCcvXFx3L2l1
LnRlc3QoIlx1MDE3ZiIpJyk7CitzaG91bGRCZVRydWUoJy9cXHcvaXUudGVzdCgiXHUyMTJhIikn
KTsKK3Nob3VsZEJlRmFsc2UoJy8hXFx3L2l1LnRlc3QoIlx1MDE3ZiIpJyk7CitzaG91bGRCZUZh
bHNlKCcvIVxcdy9pdS50ZXN0KCJcdTIxMmEiKScpOworc2hvdWxkQmVUcnVlKCcvXFxXL2l1LnRl
c3QoIlx1MDE3ZiIpJyk7CitzaG91bGRCZVRydWUoJy9cXFcvaXUudGVzdCgiXHUyMTJhIiknKTsK
K3Nob3VsZEJlRmFsc2UoJy8hXFxXL2l1LnRlc3QoIlx1MDE3ZiIpJyk7CitzaG91bGRCZUZhbHNl
KCcvIVxcVy9pdS50ZXN0KCJcdTIxMmEiKScpOworc2hvdWxkQmVUcnVlKCcvW1xcd1xcZF0vaXUu
dGVzdCgiXHUwMTdmIiknKTsKK3Nob3VsZEJlVHJ1ZSgnL1tcXHdcXGRdL2l1LnRlc3QoIlx1MjEy
YSIpJyk7CitzaG91bGRCZUZhbHNlKCcvW15cXHdcXGRdL2l1LnRlc3QoIlx1MDE3ZiIpJyk7Citz
aG91bGRCZUZhbHNlKCcvW15cXHdcXGRdL2l1LnRlc3QoIlx1MjEyYSIpJyk7CitzaG91bGRCZVRy
dWUoJy9bXFxXXFxkXS9pdS50ZXN0KCJcdTAxN2YiKScpOworc2hvdWxkQmVUcnVlKCcvW1xcV1xc
ZF0vaXUudGVzdCgiXHUyMTJhIiknKTsKK3Nob3VsZEJlRmFsc2UoJy9bXlxcV1xcZF0vaXUudGVz
dCgiXHUwMTdmIiknKTsKK3Nob3VsZEJlRmFsc2UoJy9bXlxcV1xcZF0vaXUudGVzdCgiXHUyMTJh
IiknKTsKK3Nob3VsZEJlVHJ1ZSgnL1xcdy9pdS50ZXN0KCJTIiknKTsKK3Nob3VsZEJlVHJ1ZSgn
L1xcdy9pdS50ZXN0KCJLIiknKTsKK3Nob3VsZEJlRmFsc2UoJy8hXFx3L2l1LnRlc3QoIlMiKScp
Oworc2hvdWxkQmVGYWxzZSgnLyFcXHcvaXUudGVzdCgiSyIpJyk7CitzaG91bGRCZVRydWUoJy9c
XFcvaXUudGVzdCgiUyIpJyk7CitzaG91bGRCZVRydWUoJy9cXFcvaXUudGVzdCgiSyIpJyk7Citz
aG91bGRCZUZhbHNlKCcvIVxcVy9pdS50ZXN0KCJTIiknKTsKK3Nob3VsZEJlRmFsc2UoJy8hXFxX
L2l1LnRlc3QoIksiKScpOworc2hvdWxkQmVUcnVlKCcvW1xcd1xcZF0vaXUudGVzdCgiUyIpJyk7
CitzaG91bGRCZVRydWUoJy9bXFx3XFxkXS9pdS50ZXN0KCJLIiknKTsKK3Nob3VsZEJlRmFsc2Uo
Jy9bXlxcd1xcZF0vaXUudGVzdCgiUyIpJyk7CitzaG91bGRCZUZhbHNlKCcvW15cXHdcXGRdL2l1
LnRlc3QoIksiKScpOworc2hvdWxkQmVUcnVlKCcvW1xcV1xcZF0vaXUudGVzdCgiUyIpJyk7Citz
aG91bGRCZVRydWUoJy9bXFxXXFxkXS9pdS50ZXN0KCJLIiknKTsKK3Nob3VsZEJlRmFsc2UoJy9b
XlxcV1xcZF0vaXUudGVzdCgiUyIpJyk7CitzaG91bGRCZUZhbHNlKCcvW15cXFdcXGRdL2l1LnRl
c3QoIksiKScpOworCiAKIC8vIFRlc3QgLiBtYXRjaGVzIHdpdGggVW5pY29kZSBmbGFnCiBzaG91
bGRCZSgnIlx1ezFEMzA2fSIubWF0Y2goL14uJC91KVswXS5sZW5ndGgnLCAnMicpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>