<?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>100051</bug_id>
          
          <creation_ts>2012-10-22 16:38:48 -0700</creation_ts>
          <short_desc>IndexedDB: Cursor property value identities should be preserved</short_desc>
          <delta_ts>2012-10-24 14:37:14 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>100034</dependson>
          <blocked>97375</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Joshua Bell">jsbell</reporter>
          <assigned_to name="Joshua Bell">jsbell</assigned_to>
          <cc>abarth</cc>
    
    <cc>alecflett</cc>
    
    <cc>dgrogan</cc>
    
    <cc>haraken</cc>
    
    <cc>japhet</cc>
    
    <cc>ojan</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>748069</commentid>
    <comment_count>0</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-10-22 16:38:48 -0700</bug_when>
    <thetext>IndexedDB: Cursor property value identities should be preserved</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>748073</commentid>
    <comment_count>1</comment_count>
      <attachid>170021</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-10-22 16:44:09 -0700</bug_when>
    <thetext>Created attachment 170021
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>748079</commentid>
    <comment_count>2</comment_count>
      <attachid>170021</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-10-22 16:45:35 -0700</bug_when>
    <thetext>Comment on attachment 170021
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=170021&amp;action=review

This patch will almost certainly conflict with https://bugs.webkit.org/show_bug.cgi?id=100034 and need to be rebased before landing.

&gt; Source/WebCore/bindings/v8/IDBBindingUtilities.cpp:272
&gt; +    v8::Context::Scope contextScope(toV8Context(scriptContext, UseCurrentWorld));

This should change depending on what happens with https://bugs.webkit.org/show_bug.cgi?id=99975</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>748080</commentid>
    <comment_count>3</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-10-22 16:45:51 -0700</bug_when>
    <thetext>alecflett@ - please take a look</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>748084</commentid>
    <comment_count>4</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-10-22 16:49:03 -0700</bug_when>
    <thetext>With this patch we pass:

http://w3c-test.org/webapps/IndexedDB/tests/submissions/Opera/idbcursor-key.htm
http://w3c-test.org/webapps/IndexedDB/tests/submissions/Opera/idbcursor-primarykey.htm</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>748825</commentid>
    <comment_count>5</comment_count>
      <attachid>170198</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-10-23 11:30:54 -0700</bug_when>
    <thetext>Created attachment 170198
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>748828</commentid>
    <comment_count>6</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-10-23 11:34:22 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Created an attachment (id=170198) [details]
&gt; Patch

Just rebased after 100034</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>749884</commentid>
    <comment_count>7</comment_count>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-10-24 11:58:26 -0700</bug_when>
    <thetext>lgtm</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>750053</commentid>
    <comment_count>8</comment_count>
      <attachid>170198</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-24 14:37:10 -0700</bug_when>
    <thetext>Comment on attachment 170198
Patch

Clearing flags on attachment: 170198

Committed r132401: &lt;http://trac.webkit.org/changeset/132401&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>750055</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-24 14:37:14 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170021</attachid>
            <date>2012-10-22 16:44:09 -0700</date>
            <delta_ts>2012-10-23 11:30:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100051-20121022164247.patch</filename>
            <type>text/plain</type>
            <size>15329</size>
            <attacher name="Joshua Bell">jsbell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyMDczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzQzOGU4YjlkZGJlOWUx
NjFmOTI2MTA4ZmMzMTQxYmY0MjU2ZmQyYy4uMTJlM2U4MzkwOTMwYjE1OGRiZjE4ZmUwOGRjNTI5
NDFmNmY2ZGMyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEyLTEwLTIyICBKb3No
dWEgQmVsbCAgPGpzYmVsbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW5kZXhlZERCOiBDdXJz
b3IgcHJvcGVydHkgdmFsdWUgaWRlbnRpdGllcyBzaG91bGQgYmUgcHJlc2VydmVkCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDAwNTEKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTb21lIFczQyB0ZXN0IHN1
Ym1pc3Npb25zIHBvaW50IG91dCB0aGF0IHN1YnNlcXVlbnQgYWNjZXNzZXMgdG8gY3Vyc29yIHBy
b3BlcnRpZXMgc2hvdWxkCisgICAgICAgIHlpZWxkIHRoZSBzYW1lIHZhbHVlIHVudGlsIHRoZSBj
dXJzb3IgYWR2YW5jZXMuIFdlIGhhbmRsZWQgdGhpcyB3aXRoIGN1c3RvbSBiaW5kaW5nIGNvZGUg
Zm9yCisgICAgICAgIElEQkN1cnNvci52YWx1ZSBidXQgbm90IElEQkN1cnNvci5rZXkgb3IgSURC
Q3Vyc29yLnByaW1hcnlLZXkuIFRoZSBjdXN0b20gdmFsdWUgY29kZSBpcworICAgICAgICBiZWlu
ZyByZW1vdmVkIGluIHdlYmtpdC5vcmcvYi8xMDAwMzQgaW4gZmF2b3Igb2YgcmV0dXJuaW5nIFNj
cmlwdFZhbHVlIGFuZCB0aGUgc2FtZSBmaXggY2FuCisgICAgICAgIGJlIGFwcGxpZWQgdG8ga2V5
L3ByaW1hcnlLZXkuCisKKyAgICAgICAgVGVzdDogc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXBy
b3BlcnRpZXMuaHRtbAorCisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yLmNw
cDogQ29tcHV0ZS9zdG9yZS9zZXJ2ZSB1cCBTY3JpcHRWYWx1ZXMgaW5zdGVhZCBvZiBJREJLZXlz
CisgICAgICAgIChXZWJDb3JlOjpJREJDdXJzb3I6OmtleSk6CisgICAgICAgIChXZWJDb3JlOjpJ
REJDdXJzb3I6OnByaW1hcnlLZXkpOgorICAgICAgICAoV2ViQ29yZTo6SURCQ3Vyc29yOjpzZXRW
YWx1ZVJlYWR5KToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3IuaDoKKyAg
ICAgICAgKElEQkN1cnNvcik6CisgICAgICAgIChXZWJDb3JlOjpJREJDdXJzb3I6OmlkYlByaW1h
cnlLZXkpOiBFeHBvc2UgdGhpcyBmb3IgY2FsbGVycyB0aGF0IG5lZWQgYWNjZXNzIHRvIHRoZSBJ
REJLZXkKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3IuaWRsOgorICAgICAg
ICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlLmNwcDogLi4uIGxpa2UgdGhpcyBv
bmUuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJS
ZXF1ZXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQlJlcXVlc3Q6OmRpc3BhdGNoRXZlbnQp
OiBQYXNzIGFsb25nIHNjcmlwdCBjb250ZXh0LCBmb3IgdGhlIGNvbnZlcnNpb24uCisgICAgICAg
ICogYmluZGluZ3MvdjgvSURCQmluZGluZ1V0aWxpdGllcy5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjppZGJLZXlUb1NjcmlwdFZhbHVlKTogTmV3IG1ldGhvZCBmb3IgZXhwbGljaXQgY29udmVyc2lv
bi4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L0lEQkJpbmRpbmdV
dGlsaXRpZXMuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorCiAyMDEyLTEwLTIyICBFcmlrIEFydmlk
c3NvbiAgPGFydkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgSFRNTEJhc2VFbGVtZW50IGhyZWYg
YXR0cmlidXRlIGJpbmRpbmcgcmV0dXJucyB3cm9uZyBVUkwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkN1cnNvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3IuY3BwCmluZGV4IDk5MGUzYTQ1NTE1MTM5MDk1YjU1
YjVkYzZlYTkwN2RkYzIyOGE0MTkuLjIzNjZmZmNhMjM2ZTU1MzgxYzIyYWQ2NzUzN2E1MDkxYmNm
NGMzZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkN1
cnNvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29y
LmNwcApAQCAtMTAxLDE2ICsxMDEsMTYgQEAgY29uc3QgU3RyaW5nJiBJREJDdXJzb3I6OmRpcmVj
dGlvbigpIGNvbnN0CiAgICAgcmV0dXJuIGRpcmVjdGlvbjsKIH0KIAotUGFzc1JlZlB0cjxJREJL
ZXk+IElEQkN1cnNvcjo6a2V5KCkgY29uc3QKK2NvbnN0IFNjcmlwdFZhbHVlJiBJREJDdXJzb3I6
OmtleSgpIGNvbnN0CiB7CiAgICAgSURCX1RSQUNFKCJJREJDdXJzb3I6OmtleSIpOwotICAgIHJl
dHVybiBtX2N1cnJlbnRLZXk7CisgICAgcmV0dXJuIG1fY3VycmVudEtleVZhbHVlOwogfQogCi1Q
YXNzUmVmUHRyPElEQktleT4gSURCQ3Vyc29yOjpwcmltYXJ5S2V5KCkgY29uc3QKK2NvbnN0IFNj
cmlwdFZhbHVlJiBJREJDdXJzb3I6OnByaW1hcnlLZXkoKSBjb25zdAogewogICAgIElEQl9UUkFD
RSgiSURCQ3Vyc29yOjpwcmltYXJ5S2V5Iik7Ci0gICAgcmV0dXJuIG1fY3VycmVudFByaW1hcnlL
ZXk7CisgICAgcmV0dXJuIG1fY3VycmVudFByaW1hcnlLZXlWYWx1ZTsKIH0KIAogUGFzc1JlZlB0
cjxJREJBbnk+IElEQkN1cnNvcjo6dmFsdWUoKQpAQCAtMjU5LDEwICsyNTksMTMgQEAgdm9pZCBJ
REJDdXJzb3I6OmNsb3NlKCkKICAgICB9CiB9CiAKLXZvaWQgSURCQ3Vyc29yOjpzZXRWYWx1ZVJl
YWR5KFBhc3NSZWZQdHI8SURCS2V5PiBrZXksIFBhc3NSZWZQdHI8SURCS2V5PiBwcmltYXJ5S2V5
LCBTY3JpcHRWYWx1ZSYgdmFsdWUpCit2b2lkIElEQkN1cnNvcjo6c2V0VmFsdWVSZWFkeShTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBQYXNzUmVmUHRyPElEQktleT4ga2V5LCBQYXNz
UmVmUHRyPElEQktleT4gcHJpbWFyeUtleSwgU2NyaXB0VmFsdWUmIHZhbHVlKQogewogICAgIG1f
Y3VycmVudEtleSA9IGtleTsKKyAgICBtX2N1cnJlbnRLZXlWYWx1ZSA9IGlkYktleVRvU2NyaXB0
VmFsdWUoY29udGV4dCwgbV9jdXJyZW50S2V5KTsKKwogICAgIG1fY3VycmVudFByaW1hcnlLZXkg
PSBwcmltYXJ5S2V5OworICAgIG1fY3VycmVudFByaW1hcnlLZXlWYWx1ZSA9IGlkYktleVRvU2Ny
aXB0VmFsdWUoY29udGV4dCwgbV9jdXJyZW50UHJpbWFyeUtleSk7CiAKICAgICBpZiAoIWlzS2V5
Q3Vyc29yKCkpIHsKICAgICAgICAgUmVmUHRyPElEQk9iamVjdFN0b3JlPiBvYmplY3RTdG9yZSA9
IGVmZmVjdGl2ZU9iamVjdFN0b3JlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9JREJDdXJzb3IuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL0lEQkN1cnNvci5oCmluZGV4IDU1ODljMjIyZmM1N2E4YjUyZjZlM2Y2NWViYjY5YzJlN2Yy
MjI1ZTAuLmMwZTgxMTdkOWYxNzFhM2Y0Njg0NjNiNTQxMzBiZDI1NmI1NmMwNjQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkN1cnNvci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkN1cnNvci5oCkBAIC03MCw4ICs3MCw4
IEBAIHB1YmxpYzoKIAogICAgIC8vIEltcGxlbWVudCB0aGUgSURMCiAgICAgY29uc3QgU3RyaW5n
JiBkaXJlY3Rpb24oKSBjb25zdDsKLSAgICBQYXNzUmVmUHRyPElEQktleT4ga2V5KCkgY29uc3Q7
Ci0gICAgUGFzc1JlZlB0cjxJREJLZXk+IHByaW1hcnlLZXkoKSBjb25zdDsKKyAgICBjb25zdCBT
Y3JpcHRWYWx1ZSYga2V5KCkgY29uc3Q7CisgICAgY29uc3QgU2NyaXB0VmFsdWUmIHByaW1hcnlL
ZXkoKSBjb25zdDsKICAgICBQYXNzUmVmUHRyPElEQkFueT4gdmFsdWUoKTsKICAgICBJREJBbnkq
IHNvdXJjZSgpIGNvbnN0OwogCkBAIC04Miw3ICs4Miw4IEBAIHB1YmxpYzoKIAogICAgIHZvaWQg
cG9zdFN1Y2Nlc3NIYW5kbGVyQ2FsbGJhY2soKTsKICAgICB2b2lkIGNsb3NlKCk7Ci0gICAgdm9p
ZCBzZXRWYWx1ZVJlYWR5KFBhc3NSZWZQdHI8SURCS2V5PiwgUGFzc1JlZlB0cjxJREJLZXk+IHBy
aW1hcnlLZXksIFNjcmlwdFZhbHVlJik7CisgICAgdm9pZCBzZXRWYWx1ZVJlYWR5KFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPElEQktleT4sIFBhc3NSZWZQdHI8SURCS2V5PiBw
cmltYXJ5S2V5LCBTY3JpcHRWYWx1ZSYpOworICAgIFBhc3NSZWZQdHI8SURCS2V5PiBpZGJQcmlt
YXJ5S2V5KCkgeyByZXR1cm4gbV9jdXJyZW50UHJpbWFyeUtleTsgfQogCiAgICAgLy8gVGhlIHNw
ZWMgcmVxdWlyZXMgdGhhdCB0aGUgc2NyaXB0IG9iamVjdCB0aGF0IHdyYXBzIHRoZSB2YWx1ZQog
ICAgIC8vIGJlIHVuY2hhbmdlZCB1bnRpbCB0aGUgdmFsdWUgY2hhbmdlcyBhcyBhIHJlc3VsdCBv
ZiB0aGUgY3Vyc29yCkBAIC0xMDUsNiArMTA2LDggQEAgcHJpdmF0ZToKICAgICBib29sIG1fZ290
VmFsdWU7CiAgICAgLy8gVGhlc2UgdmFsdWVzIGFyZSBoZWxkIGJlY2F1c2UgbV9iYWNrZW5kIG1h
eSBhZHZhbmNlIHdoaWxlIHRoZXkKICAgICAvLyBhcmUgc3RpbGwgdmFsaWQgZm9yIHRoZSBjdXJy
ZW50IHN1Y2Nlc3MgaGFuZGxlcnMuCisgICAgU2NyaXB0VmFsdWUgbV9jdXJyZW50S2V5VmFsdWU7
CisgICAgU2NyaXB0VmFsdWUgbV9jdXJyZW50UHJpbWFyeUtleVZhbHVlOwogICAgIFJlZlB0cjxJ
REJLZXk+IG1fY3VycmVudEtleTsKICAgICBSZWZQdHI8SURCS2V5PiBtX2N1cnJlbnRQcmltYXJ5
S2V5OwogICAgIFJlZlB0cjxJREJBbnk+IG1fY3VycmVudFZhbHVlOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkN1cnNvci5pZGwKaW5kZXggYjUxNGZlOTUxN2FiY2Ix
Y2I2ODk3Mjg1OTBhYjQ4NTZiMzhlNTk3ZC4uNGE4YmQzMjg0MDcyZmFiODFiNDlkOTNlMGI5ZTFl
YWQ4MDM4NjFmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
SURCQ3Vyc29yLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJD
dXJzb3IuaWRsCkBAIC0zMyw4ICszMyw4IEBACiAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgUFJF
Vl9OT19EVVBMSUNBVEUgPSAzOwogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBk
aXJlY3Rpb247Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIElEQktleSBrZXk7Ci0gICAgcmVhZG9u
bHkgYXR0cmlidXRlIElEQktleSBwcmltYXJ5S2V5OworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBh
bnkga2V5OworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBhbnkgcHJpbWFyeUtleTsKICAgICByZWFk
b25seSBhdHRyaWJ1dGUgSURCQW55IHNvdXJjZTsKIAogICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVj
dXRpb25Db250ZXh0XSBJREJSZXF1ZXN0IHVwZGF0ZShpbiBhbnkgdmFsdWUpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5jcHAKaW5kZXgg
ZTNlYzE1YjI5ZGFmNjQ0MTczNDJhZWEyMGJmMjE0NWQyZWI4NjQ3Ni4uODYxMjI0NDMwM2Q5Mjdm
OWRhZmQ4OWI2YmRiNzE2YmRiM2U1NTM3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlLmNwcApAQCAtMzI1LDcgKzMyNSw3IEBAIHBy
aXZhdGU6CiAgICAgICAgICAgICBjdXJzb3ItPmNvbnRpbnVlRnVuY3Rpb24oZWMpOwogICAgICAg
ICAgICAgQVNTRVJUKCFlYyk7CiAKLSAgICAgICAgICAgIFJlZlB0cjxJREJLZXk+IHByaW1hcnlL
ZXkgPSBjdXJzb3ItPnByaW1hcnlLZXkoKTsKKyAgICAgICAgICAgIFJlZlB0cjxJREJLZXk+IHBy
aW1hcnlLZXkgPSBjdXJzb3ItPmlkYlByaW1hcnlLZXkoKTsKICAgICAgICAgICAgIFJlZlB0cjxJ
REJBbnk+IHZhbHVlQW55ID0gY3Vyc29yLT52YWx1ZSgpOwogCiAgICAgICAgICAgICBBU1NFUlQo
dmFsdWVBbnktPnR5cGUoKSA9PSBJREJBbnk6OlNjcmlwdFZhbHVlVHlwZSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJSZXF1ZXN0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlJlcXVlc3QuY3BwCmluZGV4IDBiNTAyZDc0
MmM0YmFjNmNjMTIzNDAzNmQzNzY2ZWNlY2U1YTk1MjIuLjE4NjBiZmM1OWUzY2EzODQyZjc1NjVh
ZGUxMDY0Y2UxYmY4M2MzYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL0lEQlJlcXVlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL0lEQlJlcXVlc3QuY3BwCkBAIC00NzIsOCArNDcyLDEwIEBAIGJvb2wgSURCUmVxdWVzdDo6
ZGlzcGF0Y2hFdmVudChQYXNzUmVmUHRyPEV2ZW50PiBldmVudCkKICAgICBSZWZQdHI8SURCQ3Vy
c29yPiBjdXJzb3JUb05vdGlmeTsKICAgICBpZiAoZXZlbnQtPnR5cGUoKSA9PSBldmVudE5hbWVz
KCkuc3VjY2Vzc0V2ZW50KSB7CiAgICAgICAgIGN1cnNvclRvTm90aWZ5ID0gZ2V0UmVzdWx0Q3Vy
c29yKCk7Ci0gICAgICAgIGlmIChjdXJzb3JUb05vdGlmeSkKLSAgICAgICAgICAgIGN1cnNvclRv
Tm90aWZ5LT5zZXRWYWx1ZVJlYWR5KG1fY3Vyc29yS2V5LnJlbGVhc2UoKSwgbV9jdXJzb3JQcmlt
YXJ5S2V5LnJlbGVhc2UoKSwgbV9jdXJzb3JWYWx1ZSk7CisgICAgICAgIGlmIChjdXJzb3JUb05v
dGlmeSkgeworICAgICAgICAgICAgY3Vyc29yVG9Ob3RpZnktPnNldFZhbHVlUmVhZHkoc2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpLCBtX2N1cnNvcktleS5yZWxlYXNlKCksIG1fY3Vyc29yUHJpbWFy
eUtleS5yZWxlYXNlKCksIG1fY3Vyc29yVmFsdWUpOworICAgICAgICAgICAgbV9jdXJzb3JWYWx1
ZS5jbGVhcigpOworICAgICAgICB9CiAgICAgfQogCiAgICAgaWYgKGV2ZW50LT50eXBlKCkgPT0g
ZXZlbnROYW1lcygpLnVwZ3JhZGVuZWVkZWRFdmVudCkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvSURCQmluZGluZ1V0aWxpdGllcy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9JREJCaW5kaW5nVXRpbGl0aWVzLmNwcAppbmRleCA2YTgzMTFmYjYwNGNl
NTAwNmQxZGJlMjAzZTllYzVlMDBmZWRhMTljLi41YmVjYjZhNjY4MWZkZjMyMjAzYzc2MWE1YjAz
YWY0ZDdmZjI4NDFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9JREJC
aW5kaW5nVXRpbGl0aWVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9JREJC
aW5kaW5nVXRpbGl0aWVzLmNwcApAQCAtMjY2LDYgKzI2NiwxNSBAQCBib29sIGNhbkluamVjdElE
QktleUludG9TY3JpcHRWYWx1ZShjb25zdCBTY3JpcHRWYWx1ZSYgc2NyaXB0VmFsdWUsIGNvbnN0
IElEQktleQogICAgIHJldHVybiBjYW5JbmplY3ROdGhWYWx1ZU9uS2V5UGF0aCh2OFZhbHVlLCBr
ZXlQYXRoRWxlbWVudHMsIGtleVBhdGhFbGVtZW50cy5zaXplKCkgLSAxKTsKIH0KIAorU2NyaXB0
VmFsdWUgaWRiS2V5VG9TY3JpcHRWYWx1ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRD
b250ZXh0LCBQYXNzUmVmUHRyPElEQktleT4ga2V5KQoreworICAgIHY4OjpIYW5kbGVTY29wZSBo
YW5kbGVTY29wZTsKKyAgICB2ODo6Q29udGV4dDo6U2NvcGUgY29udGV4dFNjb3BlKHRvVjhDb250
ZXh0KHNjcmlwdENvbnRleHQsIFVzZUN1cnJlbnRXb3JsZCkpOworCisgICAgdjg6OkhhbmRsZTx2
ODo6VmFsdWU+IHY4VmFsdWUodG9WOChrZXkuZ2V0KCkpKTsKKyAgICByZXR1cm4gU2NyaXB0VmFs
dWUodjhWYWx1ZSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9JREJCaW5kaW5nVXRpbGl0aWVzLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9JREJCaW5kaW5nVXRpbGl0aWVzLmgKaW5kZXgg
YTQ4MmRjOTc0MWIyOWFlYzhhNWUxMTEzY2Y3ZmU1ZjM3YWZhZjRhMS4uZjc2NjA1NmRmNjZkMmQ3
MDhjZTJiYmMyYzlmZTZhNmNmMTRlNWJiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvSURCQmluZGluZ1V0aWxpdGllcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L0lEQkJpbmRpbmdVdGlsaXRpZXMuaApAQCAtNDQsNiArNDQsNyBAQCBib29sIGluamVj
dElEQktleUludG9TY3JpcHRWYWx1ZShQYXNzUmVmUHRyPElEQktleT4sIFNjcmlwdFZhbHVlJiwg
Y29uc3QgSURCS2V5UAogUGFzc1JlZlB0cjxJREJLZXk+IGNyZWF0ZUlEQktleUZyb21TY3JpcHRW
YWx1ZUFuZEtleVBhdGgoY29uc3QgU2NyaXB0VmFsdWUmLCBjb25zdCBJREJLZXlQYXRoJik7CiBi
b29sIGNhbkluamVjdElEQktleUludG9TY3JpcHRWYWx1ZShjb25zdCBTY3JpcHRWYWx1ZSYsIGNv
bnN0IElEQktleVBhdGgmKTsKIFNjcmlwdFZhbHVlIGRlc2VyaWFsaXplSURCVmFsdWUoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPik7CitT
Y3JpcHRWYWx1ZSBpZGJLZXlUb1NjcmlwdFZhbHVlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQ
YXNzUmVmUHRyPElEQktleT4pOwogCiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAxYjI2OGM1ODBjZDY0YzVlNmZhODM0
ODE3N2FlZmJhODUzMzY3MmE0Li5lNDBmNjg1Nzg0NWVkOTQ4Zjc5MDYyY2E2MTY1NjBlOGM2YTZm
MzY4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTItMTAtMjIgIEpvc2h1YSBCZWxsICA8anNi
ZWxsQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IEN1cnNvciBwcm9wZXJ0eSB2
YWx1ZSBpZGVudGl0aWVzIHNob3VsZCBiZSBwcmVzZXJ2ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDA1MQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCB0ZXN0cyB0byB2ZXJpZnkgaWRlbnRpdHkv
cmVhZC1vbmx5L211dGFiaWxpdHkgb2YgY3Vyc29yIHByb3BlcnRpZXMuCisKKyAgICAgICAgKiBz
dG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItcHJvcGVydGllcy1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1wcm9wZXJ0aWVzLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9jdXJzb3ItcHJvcGVydGll
cy5qczogQWRkZWQuCisgICAgICAgICh0ZXN0LnJlcXVlc3Qub25zdWNjZXNzKToKKyAgICAgICAg
KHRlc3QpOgorICAgICAgICAob25VcGdyYWRlTmVlZGVkKToKKyAgICAgICAgKG9uT3BlblN1Y2Nl
c3MucmVxdWVzdC5vbnN1Y2Nlc3MpOgorICAgICAgICAob25PcGVuU3VjY2Vzcyk6CisgICAgICAg
IChjaGVja1Byb3BlcnR5KToKKwogMjAxMi0xMC0yMiAgRXJpayBBcnZpZHNzb24gIDxhcnZAY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIEhUTUxCYXNlRWxlbWVudCBocmVmIGF0dHJpYnV0ZSBiaW5k
aW5nIHJldHVybnMgd3JvbmcgVVJMCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9jdXJzb3ItcHJvcGVydGllcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9jdXJzb3ItcHJvcGVydGllcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NzM2Nzc5ODQ0ZTBlNzRmYmZiZmZkZmU4MWRiMGE0NGY5OGMyMjI3ZAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1wcm9wZXJ0aWVzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDY0IEBACitUZXN0IHRoYXQgSW5kZXhlZERCJ3MgY3Vyc29yIGtl
eS9wcmltYXJ5S2V5L3ZhbHVlIHByb3BlcnRpZXMgcHJlc2VydmUgbXV0YXRpb25zLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworaW5kZXhlZERCID0gc2VsZi5pbmRleGVkREIgfHwg
c2VsZi53ZWJraXRJbmRleGVkREIgfHwgc2VsZi5tb3pJbmRleGVkREIgfHwgc2VsZi5tc0luZGV4
ZWREQiB8fCBzZWxmLk9JbmRleGVkREI7CisKK2RibmFtZSA9ICJjdXJzb3ItcHJvcGVydGllcy5o
dG1sIgoraW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKGRibmFtZSkKK2luZGV4ZWREQi5vcGVuKGRi
bmFtZSwgMSkKKworb25VcGdyYWRlTmVlZGVkKCk6CitkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQK
K3N0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlJykKK2luZGV4ID0gc3RvcmUuY3Jl
YXRlSW5kZXgoJ2luZGV4JywgJ2lkJykKK3N0b3JlLnB1dCh7aWQ6IFsnaW5kZXhLZXknXX0sIFsn
cHJpbWFyeUtleSddKQorCitvbk9wZW5TdWNjZXNzKCk6CitkYiA9IGV2ZW50LnRhcmdldC5yZXN1
bHQKK3RyYW5zID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlJykKK3N0b3JlID0gdHJhbnMub2JqZWN0
U3RvcmUoJ3N0b3JlJykKK2luZGV4ID0gc3RvcmUuaW5kZXgoJ2luZGV4JykKKworcmVxdWVzdCA9
IGluZGV4Lm9wZW5DdXJzb3IoKQorCitvbkN1cnNvclN1Y2Nlc3MoKToKK2N1cnNvciA9IGV2ZW50
LnRhcmdldC5yZXN1bHQKK1BBU1MgY3Vyc29yIGlzIG5vbi1udWxsLgorUEFTUyBhcmVBcnJheXNF
cXVhbChjdXJzb3Iua2V5LCBbJ2luZGV4S2V5J10pIGlzIHRydWUKK1BBU1MgYXJlQXJyYXlzRXF1
YWwoY3Vyc29yLnByaW1hcnlLZXksIFsncHJpbWFyeUtleSddKSBpcyB0cnVlCisKK0NoZWNrIGlk
ZW50aXR5OgordiA9IGN1cnNvci5rZXkKK1BBU1MgdiA9PT0gY3Vyc29yLmtleSBpcyB0cnVlCitD
aGVjayByZWFkLW9ubHk6CitjdXJzb3Iua2V5ID0gbnVsbAorUEFTUyB2ID09PSBjdXJzb3Iua2V5
IGlzIHRydWUKK0NoZWNrIG11dGFiaWxpdHk6CitjdXJzb3Iua2V5LmV4cGFuZG8gPSAxMjMKK1BB
U1MgY3Vyc29yLmtleS5leHBhbmRvIGlzIDEyMworCitDaGVjayBpZGVudGl0eToKK3YgPSBjdXJz
b3IucHJpbWFyeUtleQorUEFTUyB2ID09PSBjdXJzb3IucHJpbWFyeUtleSBpcyB0cnVlCitDaGVj
ayByZWFkLW9ubHk6CitjdXJzb3IucHJpbWFyeUtleSA9IG51bGwKK1BBU1MgdiA9PT0gY3Vyc29y
LnByaW1hcnlLZXkgaXMgdHJ1ZQorQ2hlY2sgbXV0YWJpbGl0eToKK2N1cnNvci5wcmltYXJ5S2V5
LmV4cGFuZG8gPSAxMjMKK1BBU1MgY3Vyc29yLnByaW1hcnlLZXkuZXhwYW5kbyBpcyAxMjMKKwor
Q2hlY2sgaWRlbnRpdHk6Cit2ID0gY3Vyc29yLnZhbHVlCitQQVNTIHYgPT09IGN1cnNvci52YWx1
ZSBpcyB0cnVlCitDaGVjayByZWFkLW9ubHk6CitjdXJzb3IudmFsdWUgPSBudWxsCitQQVNTIHYg
PT09IGN1cnNvci52YWx1ZSBpcyB0cnVlCitDaGVjayBtdXRhYmlsaXR5OgorY3Vyc29yLnZhbHVl
LmV4cGFuZG8gPSAxMjMKK1BBU1MgY3Vyc29yLnZhbHVlLmV4cGFuZG8gaXMgMTIzCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXByb3BlcnRpZXMuaHRtbCBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1wcm9wZXJ0aWVzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNzllNGE3OWU2ODgwMjdjZmRlZDE2YmE1OWQ3MmM5NDk1MGMyZTcyMAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1wcm9wZXJ0aWVz
Lmh0bWwKQEAgLTAsMCArMSwxMCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0icmVzb3VyY2VzL3NoYXJlZC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3Jp
cHQgc3JjPSJyZXNvdXJjZXMvY3Vyc29yLXByb3BlcnRpZXMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9yZXNvdXJjZXMvY3Vyc29yLXByb3BlcnRpZXMuanMgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9yZXNvdXJjZXMvY3Vyc29yLXByb3BlcnRpZXMuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzlm
N2ViODhlODllY2YyYjRmNTVhZDkxOWEwM2UxYjFkZTEyNmNiMQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9jdXJzb3ItcHJvcGVydGll
cy5qcwpAQCAtMCwwICsxLDc4IEBACitpZiAodGhpcy5pbXBvcnRTY3JpcHRzKSB7CisgICAgaW1w
b3J0U2NyaXB0cygnLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMnKTsK
KyAgICBpbXBvcnRTY3JpcHRzKCdzaGFyZWQuanMnKTsKK30KKworZGVzY3JpcHRpb24oIlRlc3Qg
dGhhdCBJbmRleGVkREIncyBjdXJzb3Iga2V5L3ByaW1hcnlLZXkvdmFsdWUgcHJvcGVydGllcyBw
cmVzZXJ2ZSBtdXRhdGlvbnMuIik7CitzZXRUaW1lb3V0KGZpbmlzaEpTVGVzdCwgMTAwMCk7CisK
K2Z1bmN0aW9uIHRlc3QoKQoreworICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CisgICAgc2V0
REJOYW1lRnJvbVBhdGgoKTsKKworICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIu
ZGVsZXRlRGF0YWJhc2UoZGJuYW1lKSIpOworICAgIHJlcXVlc3Qub25ibG9ja2VkID0gdW5leHBl
Y3RlZEJsb2NrZWRDYWxsYmFjazsKKyAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJy
b3JDYWxsYmFjazsKKyAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uKCkgeworICAgICAg
ICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4oZGJuYW1lLCAxKSIpOworICAg
ICAgICByZXF1ZXN0Lm9uYmxvY2tlZCA9IHVuZXhwZWN0ZWRCbG9ja2VkQ2FsbGJhY2s7CisgICAg
ICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworICAgICAgICBy
ZXF1ZXN0Lm9udXBncmFkZW5lZWRlZCA9IG9uVXBncmFkZU5lZWRlZDsKKyAgICAgICAgcmVxdWVz
dC5vbnN1Y2Nlc3MgPSBvbk9wZW5TdWNjZXNzOworICAgIH07Cit9CisKK2Z1bmN0aW9uIG9uVXBn
cmFkZU5lZWRlZChldnQpCit7CisgICAgcHJlYW1ibGUoZXZ0KTsKKyAgICBldmFsQW5kTG9nKCJk
YiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBldmFsQW5kTG9nKCJzdG9yZSA9IGRiLmNy
ZWF0ZU9iamVjdFN0b3JlKCdzdG9yZScpIik7CisgICAgZXZhbEFuZExvZygiaW5kZXggPSBzdG9y
ZS5jcmVhdGVJbmRleCgnaW5kZXgnLCAnaWQnKSIpOworICAgIGV2YWxBbmRMb2coInN0b3JlLnB1
dCh7aWQ6IFsnaW5kZXhLZXknXX0sIFsncHJpbWFyeUtleSddKSIpOworfQorCitmdW5jdGlvbiBv
bk9wZW5TdWNjZXNzKGV2dCkKK3sKKyAgICBwcmVhbWJsZShldnQpOworICAgIGV2YWxBbmRMb2co
ImRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworICAgIGV2YWxBbmRMb2coInRyYW5zID0gZGIu
dHJhbnNhY3Rpb24oJ3N0b3JlJykiKTsKKyAgICB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFi
b3J0Q2FsbGJhY2s7CisgICAgZXZhbEFuZExvZygic3RvcmUgPSB0cmFucy5vYmplY3RTdG9yZSgn
c3RvcmUnKSIpOworICAgIGV2YWxBbmRMb2coImluZGV4ID0gc3RvcmUuaW5kZXgoJ2luZGV4Jyki
KTsKKworICAgIGRlYnVnKCIiKTsKKyAgICBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gaW5kZXgub3Bl
bkN1cnNvcigpIik7CisgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJh
Y2s7CisgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbiBvbkN1cnNvclN1Y2Nlc3MoZXZ0
KSB7CisgICAgICAgIHByZWFtYmxlKGV2dCk7CisgICAgICAgIGV2YWxBbmRMb2coImN1cnNvciA9
IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICAgICAgc2hvdWxkQmVOb25OdWxsKCJjdXJzb3Ii
KTsKKyAgICAgICAgc2hvdWxkQmVUcnVlKCJhcmVBcnJheXNFcXVhbChjdXJzb3Iua2V5LCBbJ2lu
ZGV4S2V5J10pIik7CisgICAgICAgIHNob3VsZEJlVHJ1ZSgiYXJlQXJyYXlzRXF1YWwoY3Vyc29y
LnByaW1hcnlLZXksIFsncHJpbWFyeUtleSddKSIpOworICAgICAgICBjaGVja1Byb3BlcnR5KCJj
dXJzb3Iua2V5Iik7CisgICAgICAgIGNoZWNrUHJvcGVydHkoImN1cnNvci5wcmltYXJ5S2V5Iik7
CisgICAgICAgIGNoZWNrUHJvcGVydHkoImN1cnNvci52YWx1ZSIpOworICAgIH07CisKKyAgICB0
cmFucy5vbmNvbXBsZXRlID0gZmluaXNoSlNUZXN0OworfQorCitmdW5jdGlvbiBjaGVja1Byb3Bl
cnR5KHByb3BlcnR5KQoreworICAgIGRlYnVnKCIiKTsKKworICAgIGRlYnVnKCJDaGVjayBpZGVu
dGl0eToiKTsKKyAgICBldmFsQW5kTG9nKCJ2ID0gIiArIHByb3BlcnR5KTsKKyAgICBzaG91bGRC
ZVRydWUoInYgPT09ICIgKyBwcm9wZXJ0eSk7CisKKyAgICBkZWJ1ZygiQ2hlY2sgcmVhZC1vbmx5
OiIpOworICAgIGV2YWxBbmRMb2cocHJvcGVydHkgKyAiID0gbnVsbCIpOworICAgIHNob3VsZEJl
VHJ1ZSgidiA9PT0gIiArIHByb3BlcnR5KTsKKworICAgIGRlYnVnKCJDaGVjayBtdXRhYmlsaXR5
OiIpOworICAgIGV2YWxBbmRMb2cocHJvcGVydHkgKyAiLmV4cGFuZG8gPSAxMjMiKTsKKyAgICBz
aG91bGRCZShwcm9wZXJ0eSArICIuZXhwYW5kbyIsICIxMjMiKTsKK30KKwordGVzdCgpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170198</attachid>
            <date>2012-10-23 11:30:54 -0700</date>
            <delta_ts>2012-10-24 14:37:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100051-20121023112931.patch</filename>
            <type>text/plain</type>
            <size>15275</size>
            <attacher name="Joshua Bell">jsbell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyMjE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDJmYzA5M2VlZGY5ZDYw
ZDZiMjdmNDI4ZjQwMzk2MjA5ZWQ3MWM4MS4uNzgwZmVlMjZhYzYyNzc4Y2QxMTM5YzE5YzQ1Mzg4
NjkxYTdhNmNjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEyLTEwLTIyICBKb3No
dWEgQmVsbCAgPGpzYmVsbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW5kZXhlZERCOiBDdXJz
b3IgcHJvcGVydHkgdmFsdWUgaWRlbnRpdGllcyBzaG91bGQgYmUgcHJlc2VydmVkCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDAwNTEKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTb21lIFczQyB0ZXN0IHN1
Ym1pc3Npb25zIHBvaW50IG91dCB0aGF0IHN1YnNlcXVlbnQgYWNjZXNzZXMgdG8gY3Vyc29yIHBy
b3BlcnRpZXMgc2hvdWxkCisgICAgICAgIHlpZWxkIHRoZSBzYW1lIHZhbHVlIHVudGlsIHRoZSBj
dXJzb3IgYWR2YW5jZXMuIFdlIGhhbmRsZWQgdGhpcyB3aXRoIGN1c3RvbSBiaW5kaW5nIGNvZGUg
Zm9yCisgICAgICAgIElEQkN1cnNvci52YWx1ZSBidXQgbm90IElEQkN1cnNvci5rZXkgb3IgSURC
Q3Vyc29yLnByaW1hcnlLZXkuIFRoZSBjdXN0b20gdmFsdWUgY29kZSBpcworICAgICAgICBiZWlu
ZyByZW1vdmVkIGluIHdlYmtpdC5vcmcvYi8xMDAwMzQgaW4gZmF2b3Igb2YgcmV0dXJuaW5nIFNj
cmlwdFZhbHVlIGFuZCB0aGUgc2FtZSBmaXggY2FuCisgICAgICAgIGJlIGFwcGxpZWQgdG8ga2V5
L3ByaW1hcnlLZXkuCisKKyAgICAgICAgVGVzdDogc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXBy
b3BlcnRpZXMuaHRtbAorCisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yLmNw
cDogQ29tcHV0ZS9zdG9yZS9zZXJ2ZSB1cCBTY3JpcHRWYWx1ZXMgaW5zdGVhZCBvZiBJREJLZXlz
CisgICAgICAgIChXZWJDb3JlOjpJREJDdXJzb3I6OmtleSk6CisgICAgICAgIChXZWJDb3JlOjpJ
REJDdXJzb3I6OnByaW1hcnlLZXkpOgorICAgICAgICAoV2ViQ29yZTo6SURCQ3Vyc29yOjpzZXRW
YWx1ZVJlYWR5KToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3IuaDoKKyAg
ICAgICAgKElEQkN1cnNvcik6CisgICAgICAgIChXZWJDb3JlOjpJREJDdXJzb3I6OmlkYlByaW1h
cnlLZXkpOiBFeHBvc2UgdGhpcyBmb3IgY2FsbGVycyB0aGF0IG5lZWQgYWNjZXNzIHRvIHRoZSBJ
REJLZXkKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3IuaWRsOgorICAgICAg
ICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlLmNwcDogLi4uIGxpa2UgdGhpcyBv
bmUuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJS
ZXF1ZXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQlJlcXVlc3Q6OmRpc3BhdGNoRXZlbnQp
OiBQYXNzIGFsb25nIHNjcmlwdCBjb250ZXh0LCBmb3IgdGhlIGNvbnZlcnNpb24uCisgICAgICAg
ICogYmluZGluZ3MvdjgvSURCQmluZGluZ1V0aWxpdGllcy5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjppZGJLZXlUb1NjcmlwdFZhbHVlKTogTmV3IG1ldGhvZCBmb3IgZXhwbGljaXQgY29udmVyc2lv
bi4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L0lEQkJpbmRpbmdV
dGlsaXRpZXMuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorCiAyMDEyLTEwLTIzICAnUGF2ZWwgRmVs
ZG1hbicgIDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgTm90IHJldmlld2VkOiBr
aWNrIG91dCBub24tY2hyb21pdW0gZmlsZXMgZnJvbSBXZWJDb3JlLmd5cGkuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3IuY3BwIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yLmNwcAppbmRleCBmMmFkMTYzNDJj
MWQzYjM4ZDllZGQzMTQ5MzJlMWQxMzQyZjI2N2JiLi5hNjlkNGMzZjFmZjhjZmZiMDM5ZTc4YWY2
MTg4MWQ3N2M5MzZkY2FkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9JREJDdXJzb3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L0lEQkN1cnNvci5jcHAKQEAgLTEwMSwxNiArMTAxLDE2IEBAIGNvbnN0IFN0cmluZyYgSURCQ3Vy
c29yOjpkaXJlY3Rpb24oKSBjb25zdAogICAgIHJldHVybiBkaXJlY3Rpb247CiB9CiAKLVBhc3NS
ZWZQdHI8SURCS2V5PiBJREJDdXJzb3I6OmtleSgpIGNvbnN0Citjb25zdCBTY3JpcHRWYWx1ZSYg
SURCQ3Vyc29yOjprZXkoKSBjb25zdAogewogICAgIElEQl9UUkFDRSgiSURCQ3Vyc29yOjprZXki
KTsKLSAgICByZXR1cm4gbV9jdXJyZW50S2V5OworICAgIHJldHVybiBtX2N1cnJlbnRLZXlWYWx1
ZTsKIH0KIAotUGFzc1JlZlB0cjxJREJLZXk+IElEQkN1cnNvcjo6cHJpbWFyeUtleSgpIGNvbnN0
Citjb25zdCBTY3JpcHRWYWx1ZSYgSURCQ3Vyc29yOjpwcmltYXJ5S2V5KCkgY29uc3QKIHsKICAg
ICBJREJfVFJBQ0UoIklEQkN1cnNvcjo6cHJpbWFyeUtleSIpOwotICAgIHJldHVybiBtX2N1cnJl
bnRQcmltYXJ5S2V5OworICAgIHJldHVybiBtX2N1cnJlbnRQcmltYXJ5S2V5VmFsdWU7CiB9CiAK
IGNvbnN0IFNjcmlwdFZhbHVlJiBJREJDdXJzb3I6OnZhbHVlKCkgY29uc3QKQEAgLTI1NywxMCAr
MjU3LDEzIEBAIHZvaWQgSURCQ3Vyc29yOjpjbG9zZSgpCiAgICAgfQogfQogCi12b2lkIElEQkN1
cnNvcjo6c2V0VmFsdWVSZWFkeShQYXNzUmVmUHRyPElEQktleT4ga2V5LCBQYXNzUmVmUHRyPElE
QktleT4gcHJpbWFyeUtleSwgU2NyaXB0VmFsdWUmIHZhbHVlKQordm9pZCBJREJDdXJzb3I6OnNl
dFZhbHVlUmVhZHkoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgUGFzc1JlZlB0cjxJ
REJLZXk+IGtleSwgUGFzc1JlZlB0cjxJREJLZXk+IHByaW1hcnlLZXksIFNjcmlwdFZhbHVlJiB2
YWx1ZSkKIHsKICAgICBtX2N1cnJlbnRLZXkgPSBrZXk7CisgICAgbV9jdXJyZW50S2V5VmFsdWUg
PSBpZGJLZXlUb1NjcmlwdFZhbHVlKGNvbnRleHQsIG1fY3VycmVudEtleSk7CisKICAgICBtX2N1
cnJlbnRQcmltYXJ5S2V5ID0gcHJpbWFyeUtleTsKKyAgICBtX2N1cnJlbnRQcmltYXJ5S2V5VmFs
dWUgPSBpZGJLZXlUb1NjcmlwdFZhbHVlKGNvbnRleHQsIG1fY3VycmVudFByaW1hcnlLZXkpOwog
CiAgICAgaWYgKCFpc0tleUN1cnNvcigpKSB7CiAgICAgICAgIFJlZlB0cjxJREJPYmplY3RTdG9y
ZT4gb2JqZWN0U3RvcmUgPSBlZmZlY3RpdmVPYmplY3RTdG9yZSgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yLmggYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3IuaAppbmRleCBhYmU2YmVjZDhiMGY5YTYyMTlj
NzVmZDUyZmFjZTcxZDBjMTkzNDdhLi4xODhhYjJlMmE3MTg3YWFiZTNlY2JjNTJkMzU0YjAzOGMw
MzYxODkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJD
dXJzb3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3Iu
aApAQCAtNzAsOCArNzAsOCBAQCBwdWJsaWM6CiAKICAgICAvLyBJbXBsZW1lbnQgdGhlIElETAog
ICAgIGNvbnN0IFN0cmluZyYgZGlyZWN0aW9uKCkgY29uc3Q7Ci0gICAgUGFzc1JlZlB0cjxJREJL
ZXk+IGtleSgpIGNvbnN0OwotICAgIFBhc3NSZWZQdHI8SURCS2V5PiBwcmltYXJ5S2V5KCkgY29u
c3Q7CisgICAgY29uc3QgU2NyaXB0VmFsdWUmIGtleSgpIGNvbnN0OworICAgIGNvbnN0IFNjcmlw
dFZhbHVlJiBwcmltYXJ5S2V5KCkgY29uc3Q7CiAgICAgY29uc3QgU2NyaXB0VmFsdWUmIHZhbHVl
KCkgY29uc3Q7CiAgICAgSURCQW55KiBzb3VyY2UoKSBjb25zdDsKIApAQCAtODMsNyArODMsOCBA
QCBwdWJsaWM6CiAKICAgICB2b2lkIHBvc3RTdWNjZXNzSGFuZGxlckNhbGxiYWNrKCk7CiAgICAg
dm9pZCBjbG9zZSgpOwotICAgIHZvaWQgc2V0VmFsdWVSZWFkeShQYXNzUmVmUHRyPElEQktleT4s
IFBhc3NSZWZQdHI8SURCS2V5PiBwcmltYXJ5S2V5LCBTY3JpcHRWYWx1ZSYpOworICAgIHZvaWQg
c2V0VmFsdWVSZWFkeShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxJREJLZXk+
LCBQYXNzUmVmUHRyPElEQktleT4gcHJpbWFyeUtleSwgU2NyaXB0VmFsdWUmKTsKKyAgICBQYXNz
UmVmUHRyPElEQktleT4gaWRiUHJpbWFyeUtleSgpIHsgcmV0dXJuIG1fY3VycmVudFByaW1hcnlL
ZXk7IH0KIAogcHJvdGVjdGVkOgogICAgIElEQkN1cnNvcihQYXNzUmVmUHRyPElEQkN1cnNvckJh
Y2tlbmRJbnRlcmZhY2U+LCBEaXJlY3Rpb24sIElEQlJlcXVlc3QqLCBJREJBbnkqIHNvdXJjZSwg
SURCVHJhbnNhY3Rpb24qKTsKQEAgLTEwMSw2ICsxMDIsOCBAQCBwcml2YXRlOgogICAgIGJvb2wg
bV9nb3RWYWx1ZTsKICAgICAvLyBUaGVzZSB2YWx1ZXMgYXJlIGhlbGQgYmVjYXVzZSBtX2JhY2tl
bmQgbWF5IGFkdmFuY2Ugd2hpbGUgdGhleQogICAgIC8vIGFyZSBzdGlsbCB2YWxpZCBmb3IgdGhl
IGN1cnJlbnQgc3VjY2VzcyBoYW5kbGVycy4KKyAgICBTY3JpcHRWYWx1ZSBtX2N1cnJlbnRLZXlW
YWx1ZTsKKyAgICBTY3JpcHRWYWx1ZSBtX2N1cnJlbnRQcmltYXJ5S2V5VmFsdWU7CiAgICAgUmVm
UHRyPElEQktleT4gbV9jdXJyZW50S2V5OwogICAgIFJlZlB0cjxJREJLZXk+IG1fY3VycmVudFBy
aW1hcnlLZXk7CiAgICAgU2NyaXB0VmFsdWUgbV9jdXJyZW50VmFsdWU7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3IuaWRsIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yLmlkbAppbmRleCAwZDlkZDBhZDFlMmY5
OTEyYmY1MzQ2MTFjZTQ4M2E1OGExY2ZiMmVmLi40NzU3MDkzYzg2MGVlYmYwZjcyOTllOGM0OGMx
ZmRjMzBlNDVjMDFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9JREJDdXJzb3IuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lE
QkN1cnNvci5pZGwKQEAgLTMzLDggKzMzLDggQEAKICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBQ
UkVWX05PX0RVUExJQ0FURSA9IDM7CiAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5n
IGRpcmVjdGlvbjsKLSAgICByZWFkb25seSBhdHRyaWJ1dGUgSURCS2V5IGtleTsKLSAgICByZWFk
b25seSBhdHRyaWJ1dGUgSURCS2V5IHByaW1hcnlLZXk7CisgICAgcmVhZG9ubHkgYXR0cmlidXRl
IGFueSBrZXk7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIGFueSBwcmltYXJ5S2V5OwogICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBJREJBbnkgc291cmNlOwogCiAgICAgW0NhbGxXaXRoPVNjcmlwdEV4
ZWN1dGlvbkNvbnRleHRdIElEQlJlcXVlc3QgdXBkYXRlKGluIGFueSB2YWx1ZSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlLmNwcAppbmRl
eCAzZmNjMzhmNjZkZjdiNmQzZTRlYzcyYjM1ZTY2YTgwYmU4MDE0YjY0Li5mYzY1NzNhMThhMjg2
ZWMwYTYyNWNmNmE1NWRmNjUyZTFhZDdhYmEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmUuY3BwCkBAIC0zMjUsNyArMzI1LDcgQEAg
cHJpdmF0ZToKICAgICAgICAgICAgIGN1cnNvci0+Y29udGludWVGdW5jdGlvbihlYyk7CiAgICAg
ICAgICAgICBBU1NFUlQoIWVjKTsKIAotICAgICAgICAgICAgUmVmUHRyPElEQktleT4gcHJpbWFy
eUtleSA9IGN1cnNvci0+cHJpbWFyeUtleSgpOworICAgICAgICAgICAgUmVmUHRyPElEQktleT4g
cHJpbWFyeUtleSA9IGN1cnNvci0+aWRiUHJpbWFyeUtleSgpOwogICAgICAgICAgICAgU2NyaXB0
VmFsdWUgdmFsdWUgPSBjdXJzb3ItPnZhbHVlKCk7CiAKICAgICAgICAgICAgIElEQk9iamVjdFN0
b3JlOjpJbmRleEtleXMgaW5kZXhLZXlzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9JREJSZXF1ZXN0LmNwcAppbmRleCAwYjUwMmQ3NDJjNGJhYzZjYzEyMzQwMzZkMzc2
NmVjZWNlNWE5NTIyLi4xODYwYmZjNTllM2NhMzg0MmY3NTY1YWRlMTA2NGNlMWJmODNjM2E4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJSZXF1ZXN0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJSZXF1ZXN0LmNwcApA
QCAtNDcyLDggKzQ3MiwxMCBAQCBib29sIElEQlJlcXVlc3Q6OmRpc3BhdGNoRXZlbnQoUGFzc1Jl
ZlB0cjxFdmVudD4gZXZlbnQpCiAgICAgUmVmUHRyPElEQkN1cnNvcj4gY3Vyc29yVG9Ob3RpZnk7
CiAgICAgaWYgKGV2ZW50LT50eXBlKCkgPT0gZXZlbnROYW1lcygpLnN1Y2Nlc3NFdmVudCkgewog
ICAgICAgICBjdXJzb3JUb05vdGlmeSA9IGdldFJlc3VsdEN1cnNvcigpOwotICAgICAgICBpZiAo
Y3Vyc29yVG9Ob3RpZnkpCi0gICAgICAgICAgICBjdXJzb3JUb05vdGlmeS0+c2V0VmFsdWVSZWFk
eShtX2N1cnNvcktleS5yZWxlYXNlKCksIG1fY3Vyc29yUHJpbWFyeUtleS5yZWxlYXNlKCksIG1f
Y3Vyc29yVmFsdWUpOworICAgICAgICBpZiAoY3Vyc29yVG9Ob3RpZnkpIHsKKyAgICAgICAgICAg
IGN1cnNvclRvTm90aWZ5LT5zZXRWYWx1ZVJlYWR5KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwg
bV9jdXJzb3JLZXkucmVsZWFzZSgpLCBtX2N1cnNvclByaW1hcnlLZXkucmVsZWFzZSgpLCBtX2N1
cnNvclZhbHVlKTsKKyAgICAgICAgICAgIG1fY3Vyc29yVmFsdWUuY2xlYXIoKTsKKyAgICAgICAg
fQogICAgIH0KIAogICAgIGlmIChldmVudC0+dHlwZSgpID09IGV2ZW50TmFtZXMoKS51cGdyYWRl
bmVlZGVkRXZlbnQpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0lE
QkJpbmRpbmdVdGlsaXRpZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvSURCQmlu
ZGluZ1V0aWxpdGllcy5jcHAKaW5kZXggNmE4MzExZmI2MDRjZTUwMDZkMWRiZTIwM2U5ZWM1ZTAw
ZmVkYTE5Yy4uNWJlY2I2YTY2ODFmZGYzMjIwM2M3NjFhNWIwM2FmNGQ3ZmYyODQxZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvSURCQmluZGluZ1V0aWxpdGllcy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvSURCQmluZGluZ1V0aWxpdGllcy5jcHAK
QEAgLTI2Niw2ICsyNjYsMTUgQEAgYm9vbCBjYW5JbmplY3RJREJLZXlJbnRvU2NyaXB0VmFsdWUo
Y29uc3QgU2NyaXB0VmFsdWUmIHNjcmlwdFZhbHVlLCBjb25zdCBJREJLZXkKICAgICByZXR1cm4g
Y2FuSW5qZWN0TnRoVmFsdWVPbktleVBhdGgodjhWYWx1ZSwga2V5UGF0aEVsZW1lbnRzLCBrZXlQ
YXRoRWxlbWVudHMuc2l6ZSgpIC0gMSk7CiB9CiAKK1NjcmlwdFZhbHVlIGlkYktleVRvU2NyaXB0
VmFsdWUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0Q29udGV4dCwgUGFzc1JlZlB0cjxJ
REJLZXk+IGtleSkKK3sKKyAgICB2ODo6SGFuZGxlU2NvcGUgaGFuZGxlU2NvcGU7CisgICAgdjg6
OkNvbnRleHQ6OlNjb3BlIGNvbnRleHRTY29wZSh0b1Y4Q29udGV4dChzY3JpcHRDb250ZXh0LCBV
c2VDdXJyZW50V29ybGQpKTsKKworICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB2OFZhbHVlKHRv
Vjgoa2V5LmdldCgpKSk7CisgICAgcmV0dXJuIFNjcmlwdFZhbHVlKHY4VmFsdWUpOworfQorCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvSURCQmluZGluZ1V0aWxpdGllcy5oIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvSURCQmluZGluZ1V0aWxpdGllcy5oCmluZGV4IGE0ODJkYzk3NDFiMjlhZWM4YTVl
MTExM2NmN2ZlNWYzN2FmYWY0YTEuLmY3NjYwNTZkZjY2ZDJkNzA4Y2UyYmJjMmM5ZmU2YTZjZjE0
ZTViYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0lEQkJpbmRpbmdV
dGlsaXRpZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9JREJCaW5kaW5nVXRp
bGl0aWVzLmgKQEAgLTQ0LDYgKzQ0LDcgQEAgYm9vbCBpbmplY3RJREJLZXlJbnRvU2NyaXB0VmFs
dWUoUGFzc1JlZlB0cjxJREJLZXk+LCBTY3JpcHRWYWx1ZSYsIGNvbnN0IElEQktleVAKIFBhc3NS
ZWZQdHI8SURCS2V5PiBjcmVhdGVJREJLZXlGcm9tU2NyaXB0VmFsdWVBbmRLZXlQYXRoKGNvbnN0
IFNjcmlwdFZhbHVlJiwgY29uc3QgSURCS2V5UGF0aCYpOwogYm9vbCBjYW5JbmplY3RJREJLZXlJ
bnRvU2NyaXB0VmFsdWUoY29uc3QgU2NyaXB0VmFsdWUmLCBjb25zdCBJREJLZXlQYXRoJik7CiBT
Y3JpcHRWYWx1ZSBkZXNlcmlhbGl6ZUlEQlZhbHVlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQ
YXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4pOworU2NyaXB0VmFsdWUgaWRiS2V5VG9T
Y3JpcHRWYWx1ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxJREJLZXk+KTsK
IAogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggYTc4MzQ5NTczZWRiOTEwNmFlYzM5YWY4OTBhMzI2ZjE4NmVkZWVkNC4u
ZTI5YTQzOGE5ZGQ2ZWM1YzcyNzM3ZjU3MmEwYWM5ODIzNTkzYTUwMiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDIyIEBACisyMDEyLTEwLTIyICBKb3NodWEgQmVsbCAgPGpzYmVsbEBjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgSW5kZXhlZERCOiBDdXJzb3IgcHJvcGVydHkgdmFsdWUgaWRlbnRpdGllcyBzaG91
bGQgYmUgcHJlc2VydmVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMDAwNTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBBZGQgdGVzdHMgdG8gdmVyaWZ5IGlkZW50aXR5L3JlYWQtb25seS9tdXRhYmlsaXR5
IG9mIGN1cnNvciBwcm9wZXJ0aWVzLgorCisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvY3Vy
c29yLXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdG9yYWdlL2lu
ZGV4ZWRkYi9jdXJzb3ItcHJvcGVydGllcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBzdG9yYWdl
L2luZGV4ZWRkYi9yZXNvdXJjZXMvY3Vyc29yLXByb3BlcnRpZXMuanM6IEFkZGVkLgorICAgICAg
ICAodGVzdC5yZXF1ZXN0Lm9uc3VjY2Vzcyk6CisgICAgICAgICh0ZXN0KToKKyAgICAgICAgKG9u
VXBncmFkZU5lZWRlZCk6CisgICAgICAgIChvbk9wZW5TdWNjZXNzLnJlcXVlc3Qub25zdWNjZXNz
KToKKyAgICAgICAgKG9uT3BlblN1Y2Nlc3MpOgorICAgICAgICAoY2hlY2tQcm9wZXJ0eSk6CisK
IDIwMTItMTAtMjMgIEFkYW0gS2xlaW4gIDxhZGFta0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
QWx3YXlzIHBhcnNlIHBhc3RlZCBmcmFnbWVudHMgYXMgSFRNTCBldmVuIG9uIFhIVE1MIHBhZ2Vz
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItcHJvcGVy
dGllcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3It
cHJvcGVydGllcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzM2Nzc5ODQ0ZTBlNzRmYmZiZmZk
ZmU4MWRiMGE0NGY5OGMyMjI3ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL2N1cnNvci1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDY0
IEBACitUZXN0IHRoYXQgSW5kZXhlZERCJ3MgY3Vyc29yIGtleS9wcmltYXJ5S2V5L3ZhbHVlIHBy
b3BlcnRpZXMgcHJlc2VydmUgbXV0YXRpb25zLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKKworaW5kZXhlZERCID0gc2VsZi5pbmRleGVkREIgfHwgc2VsZi53ZWJraXRJbmRleGVkREIg
fHwgc2VsZi5tb3pJbmRleGVkREIgfHwgc2VsZi5tc0luZGV4ZWREQiB8fCBzZWxmLk9JbmRleGVk
REI7CisKK2RibmFtZSA9ICJjdXJzb3ItcHJvcGVydGllcy5odG1sIgoraW5kZXhlZERCLmRlbGV0
ZURhdGFiYXNlKGRibmFtZSkKK2luZGV4ZWREQi5vcGVuKGRibmFtZSwgMSkKKworb25VcGdyYWRl
TmVlZGVkKCk6CitkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQKK3N0b3JlID0gZGIuY3JlYXRlT2Jq
ZWN0U3RvcmUoJ3N0b3JlJykKK2luZGV4ID0gc3RvcmUuY3JlYXRlSW5kZXgoJ2luZGV4JywgJ2lk
JykKK3N0b3JlLnB1dCh7aWQ6IFsnaW5kZXhLZXknXX0sIFsncHJpbWFyeUtleSddKQorCitvbk9w
ZW5TdWNjZXNzKCk6CitkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQKK3RyYW5zID0gZGIudHJhbnNh
Y3Rpb24oJ3N0b3JlJykKK3N0b3JlID0gdHJhbnMub2JqZWN0U3RvcmUoJ3N0b3JlJykKK2luZGV4
ID0gc3RvcmUuaW5kZXgoJ2luZGV4JykKKworcmVxdWVzdCA9IGluZGV4Lm9wZW5DdXJzb3IoKQor
CitvbkN1cnNvclN1Y2Nlc3MoKToKK2N1cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1bHQKK1BBU1Mg
Y3Vyc29yIGlzIG5vbi1udWxsLgorUEFTUyBhcmVBcnJheXNFcXVhbChjdXJzb3Iua2V5LCBbJ2lu
ZGV4S2V5J10pIGlzIHRydWUKK1BBU1MgYXJlQXJyYXlzRXF1YWwoY3Vyc29yLnByaW1hcnlLZXks
IFsncHJpbWFyeUtleSddKSBpcyB0cnVlCisKK0NoZWNrIGlkZW50aXR5OgordiA9IGN1cnNvci5r
ZXkKK1BBU1MgdiA9PT0gY3Vyc29yLmtleSBpcyB0cnVlCitDaGVjayByZWFkLW9ubHk6CitjdXJz
b3Iua2V5ID0gbnVsbAorUEFTUyB2ID09PSBjdXJzb3Iua2V5IGlzIHRydWUKK0NoZWNrIG11dGFi
aWxpdHk6CitjdXJzb3Iua2V5LmV4cGFuZG8gPSAxMjMKK1BBU1MgY3Vyc29yLmtleS5leHBhbmRv
IGlzIDEyMworCitDaGVjayBpZGVudGl0eToKK3YgPSBjdXJzb3IucHJpbWFyeUtleQorUEFTUyB2
ID09PSBjdXJzb3IucHJpbWFyeUtleSBpcyB0cnVlCitDaGVjayByZWFkLW9ubHk6CitjdXJzb3Iu
cHJpbWFyeUtleSA9IG51bGwKK1BBU1MgdiA9PT0gY3Vyc29yLnByaW1hcnlLZXkgaXMgdHJ1ZQor
Q2hlY2sgbXV0YWJpbGl0eToKK2N1cnNvci5wcmltYXJ5S2V5LmV4cGFuZG8gPSAxMjMKK1BBU1Mg
Y3Vyc29yLnByaW1hcnlLZXkuZXhwYW5kbyBpcyAxMjMKKworQ2hlY2sgaWRlbnRpdHk6Cit2ID0g
Y3Vyc29yLnZhbHVlCitQQVNTIHYgPT09IGN1cnNvci52YWx1ZSBpcyB0cnVlCitDaGVjayByZWFk
LW9ubHk6CitjdXJzb3IudmFsdWUgPSBudWxsCitQQVNTIHYgPT09IGN1cnNvci52YWx1ZSBpcyB0
cnVlCitDaGVjayBtdXRhYmlsaXR5OgorY3Vyc29yLnZhbHVlLmV4cGFuZG8gPSAxMjMKK1BBU1Mg
Y3Vyc29yLnZhbHVlLmV4cGFuZG8gaXMgMTIzCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvY3Vyc29yLXByb3BlcnRpZXMuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL2N1cnNvci1wcm9wZXJ0aWVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzllNGE3OWU2ODgwMjdj
ZmRlZDE2YmE1OWQ3MmM5NDk1MGMyZTcyMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1wcm9wZXJ0aWVzLmh0bWwKQEAgLTAsMCArMSwxMCBA
QAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3NoYXJlZC5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvY3Vy
c29yLXByb3BlcnRpZXMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvY3Vyc29y
LXByb3BlcnRpZXMuanMgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMv
Y3Vyc29yLXByb3BlcnRpZXMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTIwNTYzNjNhNzNkY2QyOGZkMDgzZjJm
MWVkZGI2YWM0Y2QxM2M3ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL3Jlc291cmNlcy9jdXJzb3ItcHJvcGVydGllcy5qcwpAQCAtMCwwICsxLDc3IEBA
CitpZiAodGhpcy5pbXBvcnRTY3JpcHRzKSB7CisgICAgaW1wb3J0U2NyaXB0cygnLi4vLi4vLi4v
ZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMnKTsKKyAgICBpbXBvcnRTY3JpcHRzKCdz
aGFyZWQuanMnKTsKK30KKworZGVzY3JpcHRpb24oIlRlc3QgdGhhdCBJbmRleGVkREIncyBjdXJz
b3Iga2V5L3ByaW1hcnlLZXkvdmFsdWUgcHJvcGVydGllcyBwcmVzZXJ2ZSBtdXRhdGlvbnMuIik7
CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CisgICAg
c2V0REJOYW1lRnJvbVBhdGgoKTsKKworICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVk
REIuZGVsZXRlRGF0YWJhc2UoZGJuYW1lKSIpOworICAgIHJlcXVlc3Qub25ibG9ja2VkID0gdW5l
eHBlY3RlZEJsb2NrZWRDYWxsYmFjazsKKyAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVk
RXJyb3JDYWxsYmFjazsKKyAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uKCkgeworICAg
ICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4oZGJuYW1lLCAxKSIpOwor
ICAgICAgICByZXF1ZXN0Lm9uYmxvY2tlZCA9IHVuZXhwZWN0ZWRCbG9ja2VkQ2FsbGJhY2s7Cisg
ICAgICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworICAgICAg
ICByZXF1ZXN0Lm9udXBncmFkZW5lZWRlZCA9IG9uVXBncmFkZU5lZWRlZDsKKyAgICAgICAgcmVx
dWVzdC5vbnN1Y2Nlc3MgPSBvbk9wZW5TdWNjZXNzOworICAgIH07Cit9CisKK2Z1bmN0aW9uIG9u
VXBncmFkZU5lZWRlZChldnQpCit7CisgICAgcHJlYW1ibGUoZXZ0KTsKKyAgICBldmFsQW5kTG9n
KCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBldmFsQW5kTG9nKCJzdG9yZSA9IGRi
LmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZScpIik7CisgICAgZXZhbEFuZExvZygiaW5kZXggPSBz
dG9yZS5jcmVhdGVJbmRleCgnaW5kZXgnLCAnaWQnKSIpOworICAgIGV2YWxBbmRMb2coInN0b3Jl
LnB1dCh7aWQ6IFsnaW5kZXhLZXknXX0sIFsncHJpbWFyeUtleSddKSIpOworfQorCitmdW5jdGlv
biBvbk9wZW5TdWNjZXNzKGV2dCkKK3sKKyAgICBwcmVhbWJsZShldnQpOworICAgIGV2YWxBbmRM
b2coImRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworICAgIGV2YWxBbmRMb2coInRyYW5zID0g
ZGIudHJhbnNhY3Rpb24oJ3N0b3JlJykiKTsKKyAgICB0cmFucy5vbmFib3J0ID0gdW5leHBlY3Rl
ZEFib3J0Q2FsbGJhY2s7CisgICAgZXZhbEFuZExvZygic3RvcmUgPSB0cmFucy5vYmplY3RTdG9y
ZSgnc3RvcmUnKSIpOworICAgIGV2YWxBbmRMb2coImluZGV4ID0gc3RvcmUuaW5kZXgoJ2luZGV4
JykiKTsKKworICAgIGRlYnVnKCIiKTsKKyAgICBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gaW5kZXgu
b3BlbkN1cnNvcigpIik7CisgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2Fs
bGJhY2s7CisgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbiBvbkN1cnNvclN1Y2Nlc3Mo
ZXZ0KSB7CisgICAgICAgIHByZWFtYmxlKGV2dCk7CisgICAgICAgIGV2YWxBbmRMb2coImN1cnNv
ciA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICAgICAgc2hvdWxkQmVOb25OdWxsKCJjdXJz
b3IiKTsKKyAgICAgICAgc2hvdWxkQmVUcnVlKCJhcmVBcnJheXNFcXVhbChjdXJzb3Iua2V5LCBb
J2luZGV4S2V5J10pIik7CisgICAgICAgIHNob3VsZEJlVHJ1ZSgiYXJlQXJyYXlzRXF1YWwoY3Vy
c29yLnByaW1hcnlLZXksIFsncHJpbWFyeUtleSddKSIpOworICAgICAgICBjaGVja1Byb3BlcnR5
KCJjdXJzb3Iua2V5Iik7CisgICAgICAgIGNoZWNrUHJvcGVydHkoImN1cnNvci5wcmltYXJ5S2V5
Iik7CisgICAgICAgIGNoZWNrUHJvcGVydHkoImN1cnNvci52YWx1ZSIpOworICAgIH07CisKKyAg
ICB0cmFucy5vbmNvbXBsZXRlID0gZmluaXNoSlNUZXN0OworfQorCitmdW5jdGlvbiBjaGVja1By
b3BlcnR5KHByb3BlcnR5KQoreworICAgIGRlYnVnKCIiKTsKKworICAgIGRlYnVnKCJDaGVjayBp
ZGVudGl0eToiKTsKKyAgICBldmFsQW5kTG9nKCJ2ID0gIiArIHByb3BlcnR5KTsKKyAgICBzaG91
bGRCZVRydWUoInYgPT09ICIgKyBwcm9wZXJ0eSk7CisKKyAgICBkZWJ1ZygiQ2hlY2sgcmVhZC1v
bmx5OiIpOworICAgIGV2YWxBbmRMb2cocHJvcGVydHkgKyAiID0gbnVsbCIpOworICAgIHNob3Vs
ZEJlVHJ1ZSgidiA9PT0gIiArIHByb3BlcnR5KTsKKworICAgIGRlYnVnKCJDaGVjayBtdXRhYmls
aXR5OiIpOworICAgIGV2YWxBbmRMb2cocHJvcGVydHkgKyAiLmV4cGFuZG8gPSAxMjMiKTsKKyAg
ICBzaG91bGRCZShwcm9wZXJ0eSArICIuZXhwYW5kbyIsICIxMjMiKTsKK30KKwordGVzdCgpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>