<?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>86122</bug_id>
          
          <creation_ts>2012-05-10 11:49:51 -0700</creation_ts>
          <short_desc>IndexedDB: Index key paths that yield invalid keys should not fail an add/put</short_desc>
          <delta_ts>2012-05-21 12:27:23 -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>WebCore Misc.</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>
          
          <blocked>86123</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Joshua Bell">jsbell</reporter>
          <assigned_to name="Joshua Bell">jsbell</assigned_to>
          <cc>alecflett</cc>
    
    <cc>dgrogan</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>620807</commentid>
    <comment_count>0</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-05-10 11:49:51 -0700</bug_when>
    <thetext>WebKit&apos;s IDB implementation enforces an older spec restriction, namely that during the call to IDBOBjectStore.add/put(), if evaluating the key path of any index yields an invalid key the add/put should - instead, they should be ignored.

The spec was updated to drop this restriction (indexes key paths are not checked at all during the add/put call). The steps for storing a record now say:

http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#dfn-steps-for-storing-a-record-into-an-object-store

7.2 Evaluate index&apos;s key path on value. If this does not yield a value, take no further actions for this index. Otherwise set the result to index key.
7.3 If index&apos;s multiEntry flag is false or if index key is not an Array, and if index key is not a valid key, take no further actions for this index.
7.4 If index&apos;s multiEntry flag is true, and index key is an Array, remove any elements from index key that are not valid keys and remove any duplicate elements from index key such that only one instance of the duplicate value remains.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628219</commentid>
    <comment_count>1</comment_count>
      <attachid>142814</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-05-18 16:16:09 -0700</bug_when>
    <thetext>Created attachment 142814
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628225</commentid>
    <comment_count>2</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-05-18 16:18:29 -0700</bug_when>
    <thetext>tony@ - r?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628236</commentid>
    <comment_count>3</comment_count>
      <attachid>142814</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-05-18 16:25:58 -0700</bug_when>
    <thetext>Comment on attachment 142814
Patch

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

&gt; Source/WebCore/Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:289
&gt; +            indexKeys.append(PassRefPtr&lt;IDBKey&gt;());

Nit: Should this be using a IDBKey::create function?  Creating a PassRefPtr explicitly feels weird.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628237</commentid>
    <comment_count>4</comment_count>
      <attachid>142814</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-05-18 16:28:37 -0700</bug_when>
    <thetext>Comment on attachment 142814
Patch

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

&gt;&gt; Source/WebCore/Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:289
&gt;&gt; +            indexKeys.append(PassRefPtr&lt;IDBKey&gt;());
&gt; 
&gt; Nit: Should this be using a IDBKey::create function?  Creating a PassRefPtr explicitly feels weird.

So does calling release() on a known-empty RefPtr (the previous code). I&apos;ll see if I can come up with something cleaner without a big restructure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629303</commentid>
    <comment_count>5</comment_count>
      <attachid>143065</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-05-21 11:32:24 -0700</bug_when>
    <thetext>Created attachment 143065
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629381</commentid>
    <comment_count>6</comment_count>
      <attachid>143065</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-21 12:27:19 -0700</bug_when>
    <thetext>Comment on attachment 143065
Patch for landing

Clearing flags on attachment: 143065

Committed r117808: &lt;http://trac.webkit.org/changeset/117808&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629382</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-21 12:27:23 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>142814</attachid>
            <date>2012-05-18 16:16:09 -0700</date>
            <delta_ts>2012-05-21 11:32:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86122-20120518161608.patch</filename>
            <type>text/plain</type>
            <size>19093</size>
            <attacher name="Joshua Bell">jsbell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE3NTkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDM0M2FmYzg4NjlmZjll
NmQxNmI2YTNjZWUxMDg0YjQ5ZjNkNzQ3OC4uYjY1NzhiOGZjYWMzMGJhNTdmYWQ4OGQ0NTEwOWVk
NGJiYjJkZjdlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTA1LTE4ICBKb3No
dWEgQmVsbCAgPGpzYmVsbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW5kZXhlZERCOiBJbmRl
eCBrZXkgcGF0aHMgdGhhdCB5aWVsZCBpbnZhbGlkIGtleXMgc2hvdWxkIG5vdCBmYWlsIGFuIGFk
ZC9wdXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg2
MTIyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQSBj
bGF1c2Ugd2FzIHJlbW92ZWQgZnJvbSB0aGUgSURCIHNwZWMuIFByZXZpb3VzbHksIG9uIGFkZC9w
dXQsIGlmIGV2YWx1YXRpbmcgYW4gCisgICAgICAgIGluZGV4J3Mga2V5IHBhdGggeWllbGRlZCBh
IHZhbHVlIHRoYXQgd2FzIG5vdCBhIHZhbGlkIGtleSwgYW4gZXhjZXB0aW9uIHdvdWxkIGJlCisg
ICAgICAgIHJhaXNlZC4gTm93LCBpdCBpcyB0cmVhdGVkIHRoZSBzYW1lIGFzIGlmIG5vIHZhbHVl
IHdhcyB5aWVsZGVkLgorCisgICAgICAgIFRlc3Q6IHN0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LWJh
c2ljcy5odG1sCisgICAgICAgIFRlc3Q6IHN0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LWJhc2ljcy13
b3JrZXJzLmh0bWwKKyAgICAgICAgVGVzdDogc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUt
YmFzaWNzLmh0bWwKKyAgICAgICAgVGVzdDogc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUt
YmFzaWNzLXdvcmtlcnMuaHRtbAorCisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCT2Jq
ZWN0U3RvcmVCYWNrZW5kSW1wbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJPYmplY3RTdG9y
ZUJhY2tlbmRJbXBsOjpwdXQpOiBQcmVjb25kaXRpb25zIHJlbW92ZWQKKyAgICAgICAgKFdlYkNv
cmU6OklEQk9iamVjdFN0b3JlQmFja2VuZEltcGw6OnB1dEludGVybmFsKTogVHJlYXQgaW52YWxp
ZCBrZXlzIHRoZSBzYW1lIGFzIG1pc3Npbmcga2V5cy4KKwogMjAxMi0wNS0xOCAgWWkgU2hlbiAg
PHlpLjQuc2hlbkBub2tpYS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjEwMjU1Myk6IFNt
YXJ0IGxpbmtzIGRvIG5vdCB3b3JrCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlQmFja2VuZEltcGwuY3BwCmluZGV4IDc5
NGQ2NTAyMWIxNTVjNjMwYjg5NGJhZDI5M2Y5ZTQ5NDI4Mzg4YzYuLjVlZjZkZDE0NTY0ZTJlMTdh
NzdiMjdhZDI1NTEzMTM5Y2Y1YzdmN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlQmFja2VuZEltcGwuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlQmFja2VuZEltcGwuY3BwCkBA
IC0yMDUsMTQgKzIwNSw2IEBAIHZvaWQgSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbDo6cHV0KFBh
c3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBwcnBWYWx1ZSwKICAgICAgICAgICAgIGVj
ID0gSURCRGF0YWJhc2VFeGNlcHRpb246OkRBVEFfRVJSOwogICAgICAgICAgICAgcmV0dXJuOwog
ICAgICAgICB9Ci0gICAgICAgIGZvciAoSW5kZXhNYXA6Oml0ZXJhdG9yIGl0ID0gbV9pbmRleGVz
LmJlZ2luKCk7IGl0ICE9IG1faW5kZXhlcy5lbmQoKTsgKytpdCkgewotICAgICAgICAgICAgY29u
c3QgUmVmUHRyPElEQkluZGV4QmFja2VuZEltcGw+JiBpbmRleCA9IGl0LT5zZWNvbmQ7Ci0gICAg
ICAgICAgICBSZWZQdHI8SURCS2V5PiBpbmRleEtleSA9IGZldGNoS2V5RnJvbUtleVBhdGgodmFs
dWUuZ2V0KCksIGluZGV4LT5rZXlQYXRoKCkpOwotICAgICAgICAgICAgaWYgKGluZGV4S2V5ICYm
ICFpbmRleEtleS0+aXNWYWxpZCgpKSB7Ci0gICAgICAgICAgICAgICAgZWMgPSBJREJEYXRhYmFz
ZUV4Y2VwdGlvbjo6REFUQV9FUlI7Ci0gICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAg
ICAgfQotICAgICAgICB9CiAgICAgfSBlbHNlIHsKICAgICAgICAgQVNTRVJUKGtleSk7CiAgICAg
ICAgIGNvbnN0IGJvb2wgaGFzS2V5UGF0aCA9ICFvYmplY3RTdG9yZS0+bV9rZXlQYXRoLmlzTnVs
bCgpOwpAQCAtMjkzLDggKzI4NSw4IEBAIHZvaWQgSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbDo6
cHV0SW50ZXJuYWwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8CiAgICAgICAg
IGNvbnN0IFJlZlB0cjxJREJJbmRleEJhY2tlbmRJbXBsPiYgaW5kZXggPSBpdC0+c2Vjb25kOwog
CiAgICAgICAgIFJlZlB0cjxJREJLZXk+IGluZGV4S2V5ID0gZmV0Y2hLZXlGcm9tS2V5UGF0aCh2
YWx1ZS5nZXQoKSwgaW5kZXgtPmtleVBhdGgoKSk7Ci0gICAgICAgIGlmICghaW5kZXhLZXkpIHsK
LSAgICAgICAgICAgIGluZGV4S2V5cy5hcHBlbmQoaW5kZXhLZXkucmVsZWFzZSgpKTsKKyAgICAg
ICAgaWYgKCFpbmRleEtleSB8fCAhaW5kZXhLZXktPmlzVmFsaWQoKSkgeworICAgICAgICAgICAg
aW5kZXhLZXlzLmFwcGVuZChQYXNzUmVmUHRyPElEQktleT4oKSk7CiAgICAgICAgICAgICBjb250
aW51ZTsKICAgICAgICAgfQogICAgICAgICBBU1NFUlQoaW5kZXhLZXktPmlzVmFsaWQoKSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggNzYzODUyOGRhOTRmMWEzNzlhMmNmOGVmMGMzYmNiN2JiNzBmOWMxOC4uNzA1MDIyYTIw
MjJiNTU5NjJhMTMyZmQzM2Q1YzNiNWE0YjA4YWZlNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisy
MDEyLTA1LTE4ICBKb3NodWEgQmVsbCAgPGpzYmVsbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
SW5kZXhlZERCOiBJbmRleCBrZXkgcGF0aHMgdGhhdCB5aWVsZCBpbnZhbGlkIGtleXMgc2hvdWxk
IG5vdCBmYWlsIGFuIGFkZC9wdXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTg2MTIyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9pbmRleC1iYXNpY3MtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LWJhc2ljcy13b3JrZXJzLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1iYXNpY3Mt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWJh
c2ljcy13b3JrZXJzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9y
ZXNvdXJjZXMvaW5kZXgtYmFzaWNzLmpzOiBBZGQgY2hlY2tzIHRoYXQgaW5kZXgga2V5IHBhdGhz
CisgICAgICAgIHRoYXQgZXZhbHVhdGUgdG8gaW52YWxpZCBrZXlzIGRvIG5vdCBmYWlsIHB1dHMv
YWRkcywganVzdCBkb24ndCBhZGQgaW5kZXggZW50cmllcy4KKyAgICAgICAgKGFkZERhdGEzKToK
KyAgICAgICAgKGFkZERhdGE0KToKKyAgICAgICAgKGN1cnNvcjFDb250aW51ZTMpOgorICAgICAg
ICAoY3Vyc29yMUNvbnRpbnVlNCk6CisgICAgICAgIChjdXJzb3IyQ29udGludWUzKToKKyAgICAg
ICAgKGN1cnNvcjJDb250aW51ZTQpOgorICAgICAgICAobGFzdCk6CisgICAgICAgIChpbmRleDFD
b3VudCk6CisgICAgICAgIChpbmRleDJDb3VudCk6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVk
ZGIvcmVzb3VyY2VzL29iamVjdHN0b3JlLWJhc2ljcy5qczogUmVtb3ZlIHByZWNvbmRpdGlvbiBj
aGVja3MKKyAgICAgICAgdGhhdCB3b3VsZCBwcmV2aW91c2x5IHJhaXNlIGFuIGV4Y2VwdGlvbiBp
ZiBpbnZhbGlkIGtleXMgd2VyZSBzcGVjaWZpZWQuCisgICAgICAgIChhZGRBZ2FpbkZhaWx1cmUp
OgorICAgICAgICAodGVzdFByZUNvbmRpdGlvbnMucmVxdWVzdC5vbnN1Y2Nlc3MpOgorICAgICAg
ICAodGVzdFByZUNvbmRpdGlvbnMpOgorCiAyMDEyLTA1LTE4ICBKb2NlbHluIFR1cmNvdHRlICA8
am9jZWx5bi50dXJjb3R0ZUBub2tpYS5jb20+CiAKICAgICAgICAgW1F0XSBBZGQgcmVzdWx0cyBm
b3IgY29tcG9zaXRpbmcgdGVzdHMgZGVwZW5kZW50IG9uIHNjcm9sbGJhcnMgdGhpY2tuZXNzLgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtYmFzaWNzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LWJhc2ljcy1l
eHBlY3RlZC50eHQKaW5kZXggNjExMTk5NjdmYzJiNmZhNzNiOWQ5NjUxMjkxYmQ5MWFkZWFkMmZi
OC4uZGYwOGQ4YWZiNzU3OGZhNDIxNGUzYWQyMjJhYTVhNmY2ZmY3MjU3ZiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtYmFzaWNzLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbmRleC1iYXNpY3MtZXhwZWN0ZWQu
dHh0CkBAIC00OCw3ICs0OCwxMCBAQCBzdG9yZS5hZGQoe3g6ICd2YWx1ZScsIHk6ICd6enonLCB6
OiAyLjcyfSwgJ2tleScpCiBldmVudC50YXJnZXQuc291cmNlLmFkZCh7eDogJ3ZhbHVlMicsIHk6
ICd6enoyJywgejogMi43MSwgZm9vYmFyOiAxMn0sICdrZXkyJykKIHN0b3JlLmNyZWF0ZUluZGV4
KCdpbmRleFdoaWxlQWRkSXNJbkZsaWdodCcsICd4JykKIHN0b3JlLmNyZWF0ZUluZGV4KCdpbmRl
eFdpdGhXZWlyZEtleVBhdGgnLCAnZm9vYmFyJykKK0FkZCBkYXRhIHdoaWNoIGRvZXNuJ3QgaGF2
ZSBhIGtleSBpbiB0aGUgeiBpbmRleC4KIGV2ZW50LnRhcmdldC5zb3VyY2UuYWRkKHt4OiAndmFs
dWUzJywgeTogJzQ1Nid9LCAna2V5MycpCitBZGQgZGF0YSB3aGljaCBoYXMgaW52YWxpZCBrZXkg
Zm9yIHkgaW5kZXgsIG5vIGtleSBmb3IgdGhlIHogaW5kZXguCitldmVudC50YXJnZXQuc291cmNl
LmFkZCh7eDogJ3ZhbHVlNCcsIHk6IG51bGx9LCAna2V5NCcpCiBpbmRleE9iamVjdC5nZXRLZXko
J3ZhbHVlJykKIFBBU1MgZXZlbnQudGFyZ2V0LnJlc3VsdCBpcyAia2V5IgogaW5kZXhPYmplY3Qy
LmdldEtleSgnenp6JykKQEAgLTc4LDYgKzgxLDEwIEBAIFBBU1MgZXZlbnQudGFyZ2V0LnJlc3Vs
dCA9PT0gbnVsbCBpcyBmYWxzZQogUEFTUyBldmVudC50YXJnZXQucmVzdWx0LmtleSBpcyAidmFs
dWUzIgogUEFTUyBldmVudC50YXJnZXQucmVzdWx0LnByaW1hcnlLZXkgaXMgImtleTMiCiBldmVu
dC50YXJnZXQucmVzdWx0LmNvbnRpbnVlKCkKK1BBU1MgZXZlbnQudGFyZ2V0LnJlc3VsdCA9PT0g
bnVsbCBpcyBmYWxzZQorUEFTUyBldmVudC50YXJnZXQucmVzdWx0LmtleSBpcyAidmFsdWU0Igor
UEFTUyBldmVudC50YXJnZXQucmVzdWx0LnByaW1hcnlLZXkgaXMgImtleTQiCitldmVudC50YXJn
ZXQucmVzdWx0LmNvbnRpbnVlKCkKIFBBU1MgZXZlbnQudGFyZ2V0LnJlc3VsdCA9PT0gbnVsbCBp
cyB0cnVlCiBpbmRleE9iamVjdC5vcGVuQ3Vyc29yKCkKIFBBU1MgZXZlbnQudGFyZ2V0LnNvdXJj
ZSBpcyBpbmRleE9iamVjdApAQCAtOTYsNyArMTAzLDE4IEBAIFBBU1MgZXZlbnQudGFyZ2V0LnJl
c3VsdC5rZXkgaXMgInZhbHVlMyIKIFBBU1MgZXZlbnQudGFyZ2V0LnJlc3VsdC52YWx1ZS54IGlz
ICJ2YWx1ZTMiCiBQQVNTIGV2ZW50LnRhcmdldC5yZXN1bHQudmFsdWUueSBpcyAiNDU2IgogZXZl
bnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZSgpCitQQVNTIGV2ZW50LnRhcmdldC5yZXN1bHQgPT09
IG51bGwgaXMgZmFsc2UKK1BBU1MgZXZlbnQudGFyZ2V0LnJlc3VsdC5rZXkgaXMgInZhbHVlNCIK
K1BBU1MgZXZlbnQudGFyZ2V0LnJlc3VsdC52YWx1ZS54IGlzICJ2YWx1ZTQiCitQQVNTIGV2ZW50
LnRhcmdldC5yZXN1bHQudmFsdWUueSBpcyBudWxsCitldmVudC50YXJnZXQucmVzdWx0LmNvbnRp
bnVlKCkKIFBBU1MgZXZlbnQudGFyZ2V0LnJlc3VsdCA9PT0gbnVsbCBpcyB0cnVlCityZXF1ZXN0
ID0gaW5kZXhPYmplY3QuY291bnQoKQorUEFTUyBldmVudC50YXJnZXQucmVzdWx0IGlzIDQKK3Jl
cXVlc3QgPSBpbmRleE9iamVjdDIuY291bnQoKQorUEFTUyBldmVudC50YXJnZXQucmVzdWx0IGlz
IDMKK3JlcXVlc3QgPSBpbmRleE9iamVjdDMuY291bnQoKQorUEFTUyBldmVudC50YXJnZXQucmVz
dWx0IGlzIDIKIFBhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byBpbmRleE9iamVjdC5nZXQoe30p
LgogUEFTUyBDYXVnaHQgZXhjZXB0aW9uOiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFz
ZSBFeGNlcHRpb24gNQogUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIGluZGV4T2JqZWN0Lmdl
dEtleSh7fSkuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbmRl
eC1iYXNpY3Mtd29ya2Vycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9pbmRleC1iYXNpY3Mtd29ya2Vycy1leHBlY3RlZC50eHQKaW5kZXggMDU0MDFhNDE4ZWMy
NmZkZTc3Njg3ZWI3YWNjY2IzZTI3YjhjZmVjMS4uNjE0OGMzODE2MDBiZWU2NTk2ZWJjMTBhMzc3
MWUwMWFlMmM2MTdjMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
aW5kZXgtYmFzaWNzLXdvcmtlcnMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL2luZGV4LWJhc2ljcy13b3JrZXJzLWV4cGVjdGVkLnR4dApAQCAtNDksNyAr
NDksMTAgQEAgUEFTUyBbV29ya2VyXSB0eXBlb2YgaW5kZXhPYmplY3QuY291bnQgaXMgImZ1bmN0
aW9uIgogW1dvcmtlcl0gZXZlbnQudGFyZ2V0LnNvdXJjZS5hZGQoe3g6ICd2YWx1ZTInLCB5OiAn
enp6MicsIHo6IDIuNzEsIGZvb2JhcjogMTJ9LCAna2V5MicpCiBbV29ya2VyXSBzdG9yZS5jcmVh
dGVJbmRleCgnaW5kZXhXaGlsZUFkZElzSW5GbGlnaHQnLCAneCcpCiBbV29ya2VyXSBzdG9yZS5j
cmVhdGVJbmRleCgnaW5kZXhXaXRoV2VpcmRLZXlQYXRoJywgJ2Zvb2JhcicpCitbV29ya2VyXSBB
ZGQgZGF0YSB3aGljaCBkb2Vzbid0IGhhdmUgYSBrZXkgaW4gdGhlIHogaW5kZXguCiBbV29ya2Vy
XSBldmVudC50YXJnZXQuc291cmNlLmFkZCh7eDogJ3ZhbHVlMycsIHk6ICc0NTYnfSwgJ2tleTMn
KQorW1dvcmtlcl0gQWRkIGRhdGEgd2hpY2ggaGFzIGludmFsaWQga2V5IGZvciB5IGluZGV4LCBu
byBrZXkgZm9yIHRoZSB6IGluZGV4LgorW1dvcmtlcl0gZXZlbnQudGFyZ2V0LnNvdXJjZS5hZGQo
e3g6ICd2YWx1ZTQnLCB5OiBudWxsfSwgJ2tleTQnKQogW1dvcmtlcl0gaW5kZXhPYmplY3QuZ2V0
S2V5KCd2YWx1ZScpCiBQQVNTIFtXb3JrZXJdIGV2ZW50LnRhcmdldC5yZXN1bHQgaXMgImtleSIK
IFtXb3JrZXJdIGluZGV4T2JqZWN0Mi5nZXRLZXkoJ3p6eicpCkBAIC03OSw2ICs4MiwxMCBAQCBQ
QVNTIFtXb3JrZXJdIGV2ZW50LnRhcmdldC5yZXN1bHQgPT09IG51bGwgaXMgZmFsc2UKIFBBU1Mg
W1dvcmtlcl0gZXZlbnQudGFyZ2V0LnJlc3VsdC5rZXkgaXMgInZhbHVlMyIKIFBBU1MgW1dvcmtl
cl0gZXZlbnQudGFyZ2V0LnJlc3VsdC5wcmltYXJ5S2V5IGlzICJrZXkzIgogW1dvcmtlcl0gZXZl
bnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZSgpCitQQVNTIFtXb3JrZXJdIGV2ZW50LnRhcmdldC5y
ZXN1bHQgPT09IG51bGwgaXMgZmFsc2UKK1BBU1MgW1dvcmtlcl0gZXZlbnQudGFyZ2V0LnJlc3Vs
dC5rZXkgaXMgInZhbHVlNCIKK1BBU1MgW1dvcmtlcl0gZXZlbnQudGFyZ2V0LnJlc3VsdC5wcmlt
YXJ5S2V5IGlzICJrZXk0IgorW1dvcmtlcl0gZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZSgp
CiBQQVNTIFtXb3JrZXJdIGV2ZW50LnRhcmdldC5yZXN1bHQgPT09IG51bGwgaXMgdHJ1ZQogW1dv
cmtlcl0gaW5kZXhPYmplY3Qub3BlbkN1cnNvcigpCiBQQVNTIFtXb3JrZXJdIGV2ZW50LnRhcmdl
dC5zb3VyY2UgaXMgaW5kZXhPYmplY3QKQEAgLTk3LDcgKzEwNCwxOCBAQCBQQVNTIFtXb3JrZXJd
IGV2ZW50LnRhcmdldC5yZXN1bHQua2V5IGlzICJ2YWx1ZTMiCiBQQVNTIFtXb3JrZXJdIGV2ZW50
LnRhcmdldC5yZXN1bHQudmFsdWUueCBpcyAidmFsdWUzIgogUEFTUyBbV29ya2VyXSBldmVudC50
YXJnZXQucmVzdWx0LnZhbHVlLnkgaXMgIjQ1NiIKIFtXb3JrZXJdIGV2ZW50LnRhcmdldC5yZXN1
bHQuY29udGludWUoKQorUEFTUyBbV29ya2VyXSBldmVudC50YXJnZXQucmVzdWx0ID09PSBudWxs
IGlzIGZhbHNlCitQQVNTIFtXb3JrZXJdIGV2ZW50LnRhcmdldC5yZXN1bHQua2V5IGlzICJ2YWx1
ZTQiCitQQVNTIFtXb3JrZXJdIGV2ZW50LnRhcmdldC5yZXN1bHQudmFsdWUueCBpcyAidmFsdWU0
IgorUEFTUyBbV29ya2VyXSBldmVudC50YXJnZXQucmVzdWx0LnZhbHVlLnkgaXMgbnVsbAorW1dv
cmtlcl0gZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZSgpCiBQQVNTIFtXb3JrZXJdIGV2ZW50
LnRhcmdldC5yZXN1bHQgPT09IG51bGwgaXMgdHJ1ZQorW1dvcmtlcl0gcmVxdWVzdCA9IGluZGV4
T2JqZWN0LmNvdW50KCkKK1BBU1MgW1dvcmtlcl0gZXZlbnQudGFyZ2V0LnJlc3VsdCBpcyA0Citb
V29ya2VyXSByZXF1ZXN0ID0gaW5kZXhPYmplY3QyLmNvdW50KCkKK1BBU1MgW1dvcmtlcl0gZXZl
bnQudGFyZ2V0LnJlc3VsdCBpcyAzCitbV29ya2VyXSByZXF1ZXN0ID0gaW5kZXhPYmplY3QzLmNv
dW50KCkKK1BBU1MgW1dvcmtlcl0gZXZlbnQudGFyZ2V0LnJlc3VsdCBpcyAyCiBbV29ya2VyXSBQ
YXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gaW5kZXhPYmplY3QuZ2V0KHt9KS4KIFBBU1MgW1dv
cmtlcl0gQ2F1Z2h0IGV4Y2VwdGlvbjogRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2Ug
RXhjZXB0aW9uIDUKIFtXb3JrZXJdIFBhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byBpbmRleE9i
amVjdC5nZXRLZXkoe30pLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvb2JqZWN0c3RvcmUtYmFzaWNzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL29iamVjdHN0b3JlLWJhc2ljcy1leHBlY3RlZC50eHQKaW5kZXggMDdkZmY0Y2Y2
MGU1OWNjMTJmM2FmMmY2MDE0NTNlM2JjYjkzMTI2Mi4uMGI1NmI1MzI2NmJkYjNiNzZjNWYzNTY2
ODU5OTE4MTA4YWQxYmRkNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvb2JqZWN0c3RvcmUtYmFzaWNzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1iYXNpY3MtZXhwZWN0ZWQudHh0CkBAIC0xMDQsOSAr
MTA0LDggQEAgUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KIFBBU1MgY29kZSBpcyBJREJEYXRh
YmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgogZGIudHJhbnNhY3Rpb24oWydzdG9yZU5hbWUnXSwgJ3Jl
YWR3cml0ZScpCiBzdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQot
RXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLmFkZCh7eDogbnVsbH0sICd2YWxpZGtleScp
Ci1QQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgotUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhj
ZXB0aW9uLkRBVEFfRVJSCitFbnN1cmUgaW52YWxpZCBrZXkgcG9pbnRlZCBhdCBieSBpbmRleCBr
ZXlQYXRoIGlzIGlnbm9yZWQKK3N0b3JlLmFkZCh7eDogbnVsbH0sICd2YWxpZGtleScpCiBkYi50
cmFuc2FjdGlvbihbJ3N0b3JlTmFtZSddLCAncmVhZHdyaXRlJykKIHN0b3JlID0gdHJhbnNhY3Rp
b24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCiBzdG9yZS5nZXQoJ2tleScpCkBAIC0xNjgsMTAg
KzE2Nyw2IEBAIFRoZSBrZXkgcGFyYW1ldGVyIHdhcyBwcm92aWRlZCBidXQgZG9lcyBub3QgY29u
dGFpbiBhIHZhbGlkIGtleS4KIEV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZVdpdGhPdXRP
ZkxpbmVLZXlzLnB1dCh7fSwgbnVsbCkKIFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNT
IGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKLUlmIHRoZXJlIGFyZSBhbnkg
aW5kZXhlcyByZWZlcmVuY2luZyB0aGlzIG9iamVjdCBzdG9yZSB3aG9zZSBrZXkgcGF0aCBpcyBh
IHN0cmluZywgZXZhbHVhdGluZyB0aGVpciBrZXkgcGF0aCBvbiB0aGUgdmFsdWUgcGFyYW1ldGVy
IHlpZWxkcyBhIHZhbHVlLCBhbmQgdGhhdCB2YWx1ZSBpcyBub3QgYSB2YWxpZCBrZXkuCi1FeHBl
Y3RpbmcgZXhjZXB0aW9uIGZyb20gc3RvcmVXaXRoSW5kZXgucHV0KHtpbmRleEtleTogbnVsbH0s
ICdrZXknKQotUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KLVBBU1MgY29kZSBpcyBJREJEYXRh
YmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgogCiBJREJPYmplY3RTdG9yZS5hZGQoKQogVGhlIG9iamVj
dCBzdG9yZSB1c2VzIGluLWxpbmUga2V5cyBhbmQgdGhlIGtleSBwYXJhbWV0ZXIgd2FzIHByb3Zp
ZGVkLgpAQCAtMTk0LDEwICsxODksNiBAQCBUaGUga2V5IHBhcmFtZXRlciB3YXMgcHJvdmlkZWQg
YnV0IGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCBrZXkuCiBFeHBlY3RpbmcgZXhjZXB0aW9uIGZy
b20gc3RvcmVXaXRoT3V0T2ZMaW5lS2V5cy5hZGQoe30sIG51bGwpCiBQQVNTIEV4Y2VwdGlvbiB3
YXMgdGhyb3duLgogUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSCi1J
ZiB0aGVyZSBhcmUgYW55IGluZGV4ZXMgcmVmZXJlbmNpbmcgdGhpcyBvYmplY3Qgc3RvcmUgd2hv
c2Uga2V5IHBhdGggaXMgYSBzdHJpbmcsIGV2YWx1YXRpbmcgdGhlaXIga2V5IHBhdGggb24gdGhl
IHZhbHVlIHBhcmFtZXRlciB5aWVsZHMgYSB2YWx1ZSwgYW5kIHRoYXQgdmFsdWUgaXMgbm90IGEg
dmFsaWQga2V5LgotRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlV2l0aEluZGV4LmFkZCh7
aW5kZXhLZXk6IG51bGx9LCAna2V5JykKLVBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCi1QQVNT
IGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKIFBBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtYmFzaWNzLXdvcmtlcnMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtYmFzaWNzLXdvcmtl
cnMtZXhwZWN0ZWQudHh0CmluZGV4IGFjNWEyZWNmMWQ4MGQ2ZWM0NGRmNWNjM2E2MjM5NGI3NTIx
M2FjMDQuLjQzM2I4Y2FjMjU2YjIzZWJjODJhNmFiN2YxNTJiZDc1ZmE2YTMxOTkgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWJhc2ljcy13b3Jr
ZXJzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmpl
Y3RzdG9yZS1iYXNpY3Mtd29ya2Vycy1leHBlY3RlZC50eHQKQEAgLTEwNSw5ICsxMDUsOCBAQCBQ
QVNTIFtXb3JrZXJdIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBbV29ya2VyXSBjb2RlIGlz
IElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSCiBbV29ya2VyXSBkYi50cmFuc2FjdGlvbihb
J3N0b3JlTmFtZSddLCAncmVhZHdyaXRlJykKIFtXb3JrZXJdIHN0b3JlID0gdHJhbnNhY3Rpb24u
b2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1bV29ya2VyXSBFeHBlY3RpbmcgZXhjZXB0aW9uIGZy
b20gc3RvcmUuYWRkKHt4OiBudWxsfSwgJ3ZhbGlka2V5JykKLVBBU1MgW1dvcmtlcl0gRXhjZXB0
aW9uIHdhcyB0aHJvd24uCi1QQVNTIFtXb3JrZXJdIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRp
b24uREFUQV9FUlIKK1tXb3JrZXJdIEVuc3VyZSBpbnZhbGlkIGtleSBwb2ludGVkIGF0IGJ5IGlu
ZGV4IGtleVBhdGggaXMgaWdub3JlZAorW1dvcmtlcl0gc3RvcmUuYWRkKHt4OiBudWxsfSwgJ3Zh
bGlka2V5JykKIFtXb3JrZXJdIGRiLnRyYW5zYWN0aW9uKFsnc3RvcmVOYW1lJ10sICdyZWFkd3Jp
dGUnKQogW1dvcmtlcl0gc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1l
JykKIFtXb3JrZXJdIHN0b3JlLmdldCgna2V5JykKQEAgLTE2OSwxMCArMTY4LDYgQEAgUEFTUyBb
V29ya2VyXSBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSCiBbV29ya2VyXSBF
eHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gc3RvcmVXaXRoT3V0T2ZMaW5lS2V5cy5wdXQoe30sIG51
bGwpCiBQQVNTIFtXb3JrZXJdIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBbV29ya2VyXSBj
b2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSCi1bV29ya2VyXSBJZiB0aGVyZSBh
cmUgYW55IGluZGV4ZXMgcmVmZXJlbmNpbmcgdGhpcyBvYmplY3Qgc3RvcmUgd2hvc2Uga2V5IHBh
dGggaXMgYSBzdHJpbmcsIGV2YWx1YXRpbmcgdGhlaXIga2V5IHBhdGggb24gdGhlIHZhbHVlIHBh
cmFtZXRlciB5aWVsZHMgYSB2YWx1ZSwgYW5kIHRoYXQgdmFsdWUgaXMgbm90IGEgdmFsaWQga2V5
LgotW1dvcmtlcl0gRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlV2l0aEluZGV4LnB1dCh7
aW5kZXhLZXk6IG51bGx9LCAna2V5JykKLVBBU1MgW1dvcmtlcl0gRXhjZXB0aW9uIHdhcyB0aHJv
d24uCi1QQVNTIFtXb3JrZXJdIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIK
IFtXb3JrZXJdIAogW1dvcmtlcl0gSURCT2JqZWN0U3RvcmUuYWRkKCkKIFtXb3JrZXJdIFRoZSBv
YmplY3Qgc3RvcmUgdXNlcyBpbi1saW5lIGtleXMgYW5kIHRoZSBrZXkgcGFyYW1ldGVyIHdhcyBw
cm92aWRlZC4KQEAgLTE5NSwxMCArMTkwLDYgQEAgUEFTUyBbV29ya2VyXSBjb2RlIGlzIElEQkRh
dGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSCiBbV29ya2VyXSBFeHBlY3RpbmcgZXhjZXB0aW9uIGZy
b20gc3RvcmVXaXRoT3V0T2ZMaW5lS2V5cy5hZGQoe30sIG51bGwpCiBQQVNTIFtXb3JrZXJdIEV4
Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBbV29ya2VyXSBjb2RlIGlzIElEQkRhdGFiYXNlRXhj
ZXB0aW9uLkRBVEFfRVJSCi1bV29ya2VyXSBJZiB0aGVyZSBhcmUgYW55IGluZGV4ZXMgcmVmZXJl
bmNpbmcgdGhpcyBvYmplY3Qgc3RvcmUgd2hvc2Uga2V5IHBhdGggaXMgYSBzdHJpbmcsIGV2YWx1
YXRpbmcgdGhlaXIga2V5IHBhdGggb24gdGhlIHZhbHVlIHBhcmFtZXRlciB5aWVsZHMgYSB2YWx1
ZSwgYW5kIHRoYXQgdmFsdWUgaXMgbm90IGEgdmFsaWQga2V5LgotW1dvcmtlcl0gRXhwZWN0aW5n
IGV4Y2VwdGlvbiBmcm9tIHN0b3JlV2l0aEluZGV4LmFkZCh7aW5kZXhLZXk6IG51bGx9LCAna2V5
JykKLVBBU1MgW1dvcmtlcl0gRXhjZXB0aW9uIHdhcyB0aHJvd24uCi1QQVNTIFtXb3JrZXJdIGNv
ZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL2luZGV4LWJhc2ljcy5qcyBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9pbmRleC1iYXNpY3MuanMKaW5kZXggMmQzZmY0Njhh
NTllMWEzYzAyNjgyODA0ZWM4MzE3OTAzNzUyZDhlOS4uYWU2ZjBkMDRhY2FmMjJmMDlhMTFjNGIy
ZjRhNDNiMTdjNzY2ODFiMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvcmVzb3VyY2VzL2luZGV4LWJhc2ljcy5qcworKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9yZXNvdXJjZXMvaW5kZXgtYmFzaWNzLmpzCkBAIC04NSw4ICs4NSwxNyBAQCBmdW5j
dGlvbiBhZGREYXRhMihldnQpCiBmdW5jdGlvbiBhZGREYXRhMyhldnQpCiB7CiAgICAgZXZlbnQg
PSBldnQ7Ci0gICAgLy8gQWRkIGRhdGEgd2hpY2ggZG9lc24ndCBoYXZlIGEga2V5IGluIHRoZSB6
SW5kZXguCisgICAgZGVidWcoIkFkZCBkYXRhIHdoaWNoIGRvZXNuJ3QgaGF2ZSBhIGtleSBpbiB0
aGUgeiBpbmRleC4iKTsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiZXZlbnQudGFyZ2V0LnNv
dXJjZS5hZGQoe3g6ICd2YWx1ZTMnLCB5OiAnNDU2J30sICdrZXkzJykiKTsKKyAgICByZXF1ZXN0
Lm9uc3VjY2VzcyA9IGFkZERhdGE0OworICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRF
cnJvckNhbGxiYWNrOworfQorCitmdW5jdGlvbiBhZGREYXRhNChldnQpCit7CisgICAgZXZlbnQg
PSBldnQ7CisgICAgZGVidWcoIkFkZCBkYXRhIHdoaWNoIGhhcyBpbnZhbGlkIGtleSBmb3IgeSBp
bmRleCwgbm8ga2V5IGZvciB0aGUgeiBpbmRleC4iKTsKKyAgICByZXF1ZXN0ID0gZXZhbEFuZExv
ZygiZXZlbnQudGFyZ2V0LnNvdXJjZS5hZGQoe3g6ICd2YWx1ZTQnLCB5OiBudWxsfSwgJ2tleTQn
KSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZ2V0RGF0YTsKICAgICByZXF1ZXN0Lm9uZXJy
b3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKIH0KQEAgLTIwNCw2ICsyMTMsMTggQEAgZnVu
Y3Rpb24gY3Vyc29yMUNvbnRpbnVlMyhldnQpCiAKICAgICAvLyBXZSByZS11c2UgdGhlIGxhc3Qg
cmVxdWVzdCBvYmplY3QuCiAgICAgZXZhbEFuZExvZygiZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250
aW51ZSgpIik7CisgICAgc2VsZi5yZXF1ZXN0Lm9uc3VjY2VzcyA9IGN1cnNvcjFDb250aW51ZTQ7
Cit9CisKK2Z1bmN0aW9uIGN1cnNvcjFDb250aW51ZTQoZXZ0KQoreworICAgIGV2ZW50ID0gZXZ0
OworICAgIHNob3VsZEJlRmFsc2UoImV2ZW50LnRhcmdldC5yZXN1bHQgPT09IG51bGwiKTsKKyAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImV2ZW50LnRhcmdldC5yZXN1bHQua2V5IiwgInZhbHVl
NCIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZXZlbnQudGFyZ2V0LnJlc3VsdC5wcmlt
YXJ5S2V5IiwgImtleTQiKTsKKworICAgIC8vIFdlIHJlLXVzZSB0aGUgbGFzdCByZXF1ZXN0IG9i
amVjdC4KKyAgICBldmFsQW5kTG9nKCJldmVudC50YXJnZXQucmVzdWx0LmNvbnRpbnVlKCkiKTsK
ICAgICBzZWxmLnJlcXVlc3Qub25zdWNjZXNzID0gb3Blbk9iamVjdEN1cnNvcjsKIH0KIApAQCAt
MjU0LDYgKzI3NSwxOSBAQCBmdW5jdGlvbiBjdXJzb3IyQ29udGludWUzKGV2dCkKIAogICAgIC8v
IFdlIHJlLXVzZSB0aGUgbGFzdCByZXF1ZXN0IG9iamVjdC4KICAgICBldmFsQW5kTG9nKCJldmVu
dC50YXJnZXQucmVzdWx0LmNvbnRpbnVlKCkiKTsKKyAgICBzZWxmLnJlcXVlc3Qub25zdWNjZXNz
ID0gY3Vyc29yMkNvbnRpbnVlNDsKK30KKworZnVuY3Rpb24gY3Vyc29yMkNvbnRpbnVlNChldnQp
Cit7CisgICAgZXZlbnQgPSBldnQ7CisgICAgc2hvdWxkQmVGYWxzZSgiZXZlbnQudGFyZ2V0LnJl
c3VsdCA9PT0gbnVsbCIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZXZlbnQudGFyZ2V0
LnJlc3VsdC5rZXkiLCAidmFsdWU0Iik7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJldmVu
dC50YXJnZXQucmVzdWx0LnZhbHVlLngiLCAidmFsdWU0Iik7CisgICAgc2hvdWxkQmUoImV2ZW50
LnRhcmdldC5yZXN1bHQudmFsdWUueSIsICJudWxsIik7CisKKyAgICAvLyBXZSByZS11c2UgdGhl
IGxhc3QgcmVxdWVzdCBvYmplY3QuCisgICAgZXZhbEFuZExvZygiZXZlbnQudGFyZ2V0LnJlc3Vs
dC5jb250aW51ZSgpIik7CiAgICAgc2VsZi5yZXF1ZXN0Lm9uc3VjY2VzcyA9IGxhc3Q7CiB9CiAK
QEAgLTI2Miw2ICsyOTYsMzYgQEAgZnVuY3Rpb24gbGFzdChldnQpCiAgICAgZXZlbnQgPSBldnQ7
CiAgICAgc2hvdWxkQmVUcnVlKCJldmVudC50YXJnZXQucmVzdWx0ID09PSBudWxsIik7CiAKKyAg
ICBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gaW5kZXhPYmplY3QuY291bnQoKSIpOworICAgIHJlcXVl
c3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworICAgIHJlcXVlc3Qub25zdWNj
ZXNzID0gaW5kZXgxQ291bnQ7Cit9CisKK2Z1bmN0aW9uIGluZGV4MUNvdW50KGV2dCkKK3sKKyAg
ICBldmVudCA9IGV2dDsKKyAgICBzaG91bGRCZSgiZXZlbnQudGFyZ2V0LnJlc3VsdCIsICI0Iik7
CisKKyAgICBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gaW5kZXhPYmplY3QyLmNvdW50KCkiKTsKKyAg
ICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKKyAgICByZXF1ZXN0
Lm9uc3VjY2VzcyA9IGluZGV4MkNvdW50OworfQorCitmdW5jdGlvbiBpbmRleDJDb3VudChldnQp
Cit7CisgICAgZXZlbnQgPSBldnQ7CisgICAgc2hvdWxkQmUoImV2ZW50LnRhcmdldC5yZXN1bHQi
LCAiMyIpOworCisgICAgZXZhbEFuZExvZygicmVxdWVzdCA9IGluZGV4T2JqZWN0My5jb3VudCgp
Iik7CisgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CisgICAg
cmVxdWVzdC5vbnN1Y2Nlc3MgPSBpbmRleDNDb3VudDsKK30KKworZnVuY3Rpb24gaW5kZXgzQ291
bnQoZXZ0KQoreworICAgIGV2ZW50ID0gZXZ0OworICAgIHNob3VsZEJlKCJldmVudC50YXJnZXQu
cmVzdWx0IiwgIjIiKTsKKwogICAgIHRyeSB7CiAgICAgICAgIGRlYnVnKCJQYXNzaW5nIGFuIGlu
dmFsaWQga2V5IGludG8gaW5kZXhPYmplY3QuZ2V0KHt9KS4iKTsKICAgICAgICAgaW5kZXhPYmpl
Y3QuZ2V0KHt9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jl
c291cmNlcy9vYmplY3RzdG9yZS1iYXNpY3MuanMgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9yZXNvdXJjZXMvb2JqZWN0c3RvcmUtYmFzaWNzLmpzCmluZGV4IDA3NGQzMTlhZWU0Njhj
NjMzMTU3YTgzNDA3MmMxMTYzZDBlOGRmZDIuLjhlODBmZWIzOTZiMDIyMjhhOWM2ZWJjMDgwMDQw
MjVmN2UzY2UyYzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jl
c291cmNlcy9vYmplY3RzdG9yZS1iYXNpY3MuanMKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvcmVzb3VyY2VzL29iamVjdHN0b3JlLWJhc2ljcy5qcwpAQCAtMjE3LDcgKzIxNyw4
IEBAIGZ1bmN0aW9uIGFkZEFnYWluRmFpbHVyZShldnQpCiAgICAgdHJhbnNhY3Rpb24ub25hYm9y
dCA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogICAgIHZhciBzdG9yZSA9IGV2YWxBbmRMb2co
InN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpIik7CiAKLSAgICBl
dmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJzdG9yZS5hZGQoe3g6IG51bGx9LCAndmFsaWRrZXknKSIs
ICJJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUiIpOworICAgIGRlYnVnKCJFbnN1cmUgaW52
YWxpZCBrZXkgcG9pbnRlZCBhdCBieSBpbmRleCBrZXlQYXRoIGlzIGlnbm9yZWQiKTsKKyAgICBl
dmFsQW5kTG9nKCJzdG9yZS5hZGQoe3g6IG51bGx9LCAndmFsaWRrZXknKSIpOwogCiAgICAgdHJh
bnNhY3Rpb24gPSBldmFsQW5kTG9nKCJkYi50cmFuc2FjdGlvbihbJ3N0b3JlTmFtZSddLCAncmVh
ZHdyaXRlJykiKTsKICAgICB0cmFuc2FjdGlvbi5vbmFib3J0ID0gdW5leHBlY3RlZEVycm9yQ2Fs
bGJhY2s7CkBAIC0zMTMsOSArMzE0LDYgQEAgZnVuY3Rpb24gdGVzdFByZUNvbmRpdGlvbnMoKQog
ICAgICAgICBkZWJ1ZygiVGhlIGtleSBwYXJhbWV0ZXIgd2FzIHByb3ZpZGVkIGJ1dCBkb2VzIG5v
dCBjb250YWluIGEgdmFsaWQga2V5LiIpOwogICAgICAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9u
KCJzdG9yZVdpdGhPdXRPZkxpbmVLZXlzLnB1dCh7fSwgbnVsbCkiLCAiSURCRGF0YWJhc2VFeGNl
cHRpb24uREFUQV9FUlIiKTsKIAotICAgICAgICBkZWJ1ZygiSWYgdGhlcmUgYXJlIGFueSBpbmRl
eGVzIHJlZmVyZW5jaW5nIHRoaXMgb2JqZWN0IHN0b3JlIHdob3NlIGtleSBwYXRoIGlzIGEgc3Ry
aW5nLCBldmFsdWF0aW5nIHRoZWlyIGtleSBwYXRoIG9uIHRoZSB2YWx1ZSBwYXJhbWV0ZXIgeWll
bGRzIGEgdmFsdWUsIGFuZCB0aGF0IHZhbHVlIGlzIG5vdCBhIHZhbGlkIGtleS4iKTsKLSAgICAg
ICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigic3RvcmVXaXRoSW5kZXgucHV0KHtpbmRleEtleTog
bnVsbH0sICdrZXknKSIsICJJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUiIpOwotCiAgICAg
ICAgIGRlYnVnKCIiKTsKICAgICAgICAgZGVidWcoIklEQk9iamVjdFN0b3JlLmFkZCgpIik7CiAg
ICAgICAgIGRlYnVnKCJUaGUgb2JqZWN0IHN0b3JlIHVzZXMgaW4tbGluZSBrZXlzIGFuZCB0aGUg
a2V5IHBhcmFtZXRlciB3YXMgcHJvdmlkZWQuIik7CkBAIC0zMzMsOSArMzMxLDYgQEAgZnVuY3Rp
b24gdGVzdFByZUNvbmRpdGlvbnMoKQogICAgICAgICBkZWJ1ZygiVGhlIGtleSBwYXJhbWV0ZXIg
d2FzIHByb3ZpZGVkIGJ1dCBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQga2V5LiIpOwogICAgICAg
ICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJzdG9yZVdpdGhPdXRPZkxpbmVLZXlzLmFkZCh7fSwg
bnVsbCkiLCAiSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIiKTsKIAotICAgICAgICBkZWJ1
ZygiSWYgdGhlcmUgYXJlIGFueSBpbmRleGVzIHJlZmVyZW5jaW5nIHRoaXMgb2JqZWN0IHN0b3Jl
IHdob3NlIGtleSBwYXRoIGlzIGEgc3RyaW5nLCBldmFsdWF0aW5nIHRoZWlyIGtleSBwYXRoIG9u
IHRoZSB2YWx1ZSBwYXJhbWV0ZXIgeWllbGRzIGEgdmFsdWUsIGFuZCB0aGF0IHZhbHVlIGlzIG5v
dCBhIHZhbGlkIGtleS4iKTsKLSAgICAgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigic3RvcmVX
aXRoSW5kZXguYWRkKHtpbmRleEtleTogbnVsbH0sICdrZXknKSIsICJJREJEYXRhYmFzZUV4Y2Vw
dGlvbi5EQVRBX0VSUiIpOwotCiAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwogICAgIH07CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143065</attachid>
            <date>2012-05-21 11:32:24 -0700</date>
            <delta_ts>2012-05-21 12:27:19 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-86122-20120521113223.patch</filename>
            <type>text/plain</type>
            <size>19105</size>
            <attacher name="Joshua Bell">jsbell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE3NzcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzFiZjI4NjFjNGEzZWM0
Y2EyZDRmNWEzMDkzYzQ0NTRkYjkyZmYyZC4uN2MzOTc4MTk2OWI1YWQ1ZjNlZDM1MWY2YmU1OTQ4
NjU1MThhYjkyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTA1LTE4ICBKb3No
dWEgQmVsbCAgPGpzYmVsbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW5kZXhlZERCOiBJbmRl
eCBrZXkgcGF0aHMgdGhhdCB5aWVsZCBpbnZhbGlkIGtleXMgc2hvdWxkIG5vdCBmYWlsIGFuIGFk
ZC9wdXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg2
MTIyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVG9ueSBDaGFuZy4KKworICAgICAgICBBIGNsYXVz
ZSB3YXMgcmVtb3ZlZCBmcm9tIHRoZSBJREIgc3BlYy4gUHJldmlvdXNseSwgb24gYWRkL3B1dCwg
aWYgZXZhbHVhdGluZyBhbgorICAgICAgICBpbmRleCdzIGtleSBwYXRoIHlpZWxkZWQgYSB2YWx1
ZSB0aGF0IHdhcyBub3QgYSB2YWxpZCBrZXksIGFuIGV4Y2VwdGlvbiB3b3VsZCBiZQorICAgICAg
ICByYWlzZWQuIE5vdywgaXQgaXMgdHJlYXRlZCB0aGUgc2FtZSBhcyBpZiBubyB2YWx1ZSB3YXMg
eWllbGRlZC4KKworICAgICAgICBUZXN0OiBzdG9yYWdlL2luZGV4ZWRkYi9pbmRleC1iYXNpY3Mu
aHRtbAorICAgICAgICBUZXN0OiBzdG9yYWdlL2luZGV4ZWRkYi9pbmRleC1iYXNpY3Mtd29ya2Vy
cy5odG1sCisgICAgICAgIFRlc3Q6IHN0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWJhc2lj
cy5odG1sCisgICAgICAgIFRlc3Q6IHN0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWJhc2lj
cy13b3JrZXJzLmh0bWwKKworICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0
b3JlQmFja2VuZEltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCT2JqZWN0U3RvcmVCYWNr
ZW5kSW1wbDo6cHV0KTogUHJlY29uZGl0aW9ucyByZW1vdmVkCisgICAgICAgIChXZWJDb3JlOjpJ
REJPYmplY3RTdG9yZUJhY2tlbmRJbXBsOjpwdXRJbnRlcm5hbCk6IFRyZWF0IGludmFsaWQga2V5
cyB0aGUgc2FtZSBhcyBtaXNzaW5nIGtleXMuCisKIDIwMTItMDUtMjEgIENhaW8gTWFyY2VsbyBk
ZSBPbGl2ZWlyYSBGaWxobyAgPGNhaW8ub2xpdmVpcmFAb3BlbmJvc3NhLm9yZz4KIAogICAgICAg
ICBNb3ZlIHNldEVkaXRpbmdCZWhhdmlvcigpIGZyb20gbGF5b3V0VGVzdENvbnRyb2xsZXIgdG8g
d2luZG93LmludGVybmFscwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsLmNwcAppbmRleCA3OTRkNjUw
MjFiMTU1YzYzMGI4OTRiYWQyOTNmOWU0OTQyODM4OGM2Li5lNGQyOWRkZTUzZWU4YjdmNzY5ZWY4
NjczMWVhMGJiNjUyMzhhMWExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9JREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsLmNwcApAQCAtMjA1
LDE0ICsyMDUsNiBAQCB2b2lkIElEQk9iamVjdFN0b3JlQmFja2VuZEltcGw6OnB1dChQYXNzUmVm
UHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gcHJwVmFsdWUsCiAgICAgICAgICAgICBlYyA9IElE
QkRhdGFiYXNlRXhjZXB0aW9uOjpEQVRBX0VSUjsKICAgICAgICAgICAgIHJldHVybjsKICAgICAg
ICAgfQotICAgICAgICBmb3IgKEluZGV4TWFwOjppdGVyYXRvciBpdCA9IG1faW5kZXhlcy5iZWdp
bigpOyBpdCAhPSBtX2luZGV4ZXMuZW5kKCk7ICsraXQpIHsKLSAgICAgICAgICAgIGNvbnN0IFJl
ZlB0cjxJREJJbmRleEJhY2tlbmRJbXBsPiYgaW5kZXggPSBpdC0+c2Vjb25kOwotICAgICAgICAg
ICAgUmVmUHRyPElEQktleT4gaW5kZXhLZXkgPSBmZXRjaEtleUZyb21LZXlQYXRoKHZhbHVlLmdl
dCgpLCBpbmRleC0+a2V5UGF0aCgpKTsKLSAgICAgICAgICAgIGlmIChpbmRleEtleSAmJiAhaW5k
ZXhLZXktPmlzVmFsaWQoKSkgewotICAgICAgICAgICAgICAgIGVjID0gSURCRGF0YWJhc2VFeGNl
cHRpb246OkRBVEFfRVJSOwotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIH0K
LSAgICAgICAgfQogICAgIH0gZWxzZSB7CiAgICAgICAgIEFTU0VSVChrZXkpOwogICAgICAgICBj
b25zdCBib29sIGhhc0tleVBhdGggPSAhb2JqZWN0U3RvcmUtPm1fa2V5UGF0aC5pc051bGwoKTsK
QEAgLTI5Myw4ICsyODUsMTAgQEAgdm9pZCBJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsOjpwdXRJ
bnRlcm5hbChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjwKICAgICAgICAgY29u
c3QgUmVmUHRyPElEQkluZGV4QmFja2VuZEltcGw+JiBpbmRleCA9IGl0LT5zZWNvbmQ7CiAKICAg
ICAgICAgUmVmUHRyPElEQktleT4gaW5kZXhLZXkgPSBmZXRjaEtleUZyb21LZXlQYXRoKHZhbHVl
LmdldCgpLCBpbmRleC0+a2V5UGF0aCgpKTsKLSAgICAgICAgaWYgKCFpbmRleEtleSkgewotICAg
ICAgICAgICAgaW5kZXhLZXlzLmFwcGVuZChpbmRleEtleS5yZWxlYXNlKCkpOworICAgICAgICBp
ZiAoIWluZGV4S2V5IHx8ICFpbmRleEtleS0+aXNWYWxpZCgpKSB7CisgICAgICAgICAgICAvLyBO
dWxsL2ludmFsaWQga2V5cyBub3QgYWRkZWQgdG8gaW5kZXg7IG51bGwgZW50cnkga2VlcHMgaXRl
cmF0b3IvdmVjdG9yIGluZGV4ZXMgY29uc2lzdGVudC4KKyAgICAgICAgICAgIGluZGV4S2V5LmNs
ZWFyKCk7CisgICAgICAgICAgICBpbmRleEtleXMuYXBwZW5kKGluZGV4S2V5KTsKICAgICAgICAg
ICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAgICAgICAgIEFTU0VSVChpbmRleEtleS0+aXNWYWxp
ZCgpKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwppbmRleCBiNWY5MzNhNmZhYzQxNTI1ZTAyMDY0NGE5MmYxZDcxNTg1ZTAzZjM5Li5l
ZWNmNWQzMzY0NjczN2Q5OTVhNmE0YThkZGM0YzM2ZjhkYzVlYzNmIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MzEgQEAKKzIwMTItMDUtMTggIEpvc2h1YSBCZWxsICA8anNiZWxsQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBJbmRleGVkREI6IEluZGV4IGtleSBwYXRocyB0aGF0IHlpZWxkIGludmFsaWQga2V5
cyBzaG91bGQgbm90IGZhaWwgYW4gYWRkL3B1dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODYxMjIKKworICAgICAgICBSZXZpZXdlZCBieSBUb255IENo
YW5nLgorCisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtYmFzaWNzLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9pbmRleC1iYXNpY3Mtd29ya2Vycy1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtYmFz
aWNzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9y
ZS1iYXNpY3Mtd29ya2Vycy1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVk
ZGIvcmVzb3VyY2VzL2luZGV4LWJhc2ljcy5qczogQWRkIGNoZWNrcyB0aGF0IGluZGV4IGtleSBw
YXRocworICAgICAgICB0aGF0IGV2YWx1YXRlIHRvIGludmFsaWQga2V5cyBkbyBub3QgZmFpbCBw
dXRzL2FkZHMsIGp1c3QgZG9uJ3QgYWRkIGluZGV4IGVudHJpZXMuCisgICAgICAgIChhZGREYXRh
Myk6CisgICAgICAgIChhZGREYXRhNCk6CisgICAgICAgIChjdXJzb3IxQ29udGludWUzKToKKyAg
ICAgICAgKGN1cnNvcjFDb250aW51ZTQpOgorICAgICAgICAoY3Vyc29yMkNvbnRpbnVlMyk6Cisg
ICAgICAgIChjdXJzb3IyQ29udGludWU0KToKKyAgICAgICAgKGxhc3QpOgorICAgICAgICAoaW5k
ZXgxQ291bnQpOgorICAgICAgICAoaW5kZXgyQ291bnQpOgorICAgICAgICAqIHN0b3JhZ2UvaW5k
ZXhlZGRiL3Jlc291cmNlcy9vYmplY3RzdG9yZS1iYXNpY3MuanM6IFJlbW92ZSBwcmVjb25kaXRp
b24gY2hlY2tzCisgICAgICAgIHRoYXQgd291bGQgcHJldmlvdXNseSByYWlzZSBhbiBleGNlcHRp
b24gaWYgaW52YWxpZCBrZXlzIHdlcmUgc3BlY2lmaWVkLgorICAgICAgICAoYWRkQWdhaW5GYWls
dXJlKToKKyAgICAgICAgKHRlc3RQcmVDb25kaXRpb25zLnJlcXVlc3Qub25zdWNjZXNzKToKKyAg
ICAgICAgKHRlc3RQcmVDb25kaXRpb25zKToKKwogMjAxMi0wNS0yMSAgWmFuIERvYmVyc2VrICA8
emFuZG9iZXJzZWtAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgR1RLIGdhcmRlbmlu
ZywgYWRkIGV4cGVjdGF0aW9ucyBmb3IgYW4gU1ZHIHRlc3QgZm9yIGhpdApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtYmFzaWNzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LWJhc2ljcy1leHBlY3RlZC50eHQK
aW5kZXggYTY5MzkzN2QyZTFhM2VkNzFkYzliYmM0ZWM2OTUxMDRlMmUwODM2My4uYjczMzMxNTRi
NWM5NDI3OTIwODFjNmQ4Y2Q4ZTcwOTIxZTlhZDc3OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtYmFzaWNzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbmRleC1iYXNpY3MtZXhwZWN0ZWQudHh0CkBAIC00OCw3
ICs0OCwxMCBAQCBzdG9yZS5hZGQoe3g6ICd2YWx1ZScsIHk6ICd6enonLCB6OiAyLjcyfSwgJ2tl
eScpCiBldmVudC50YXJnZXQuc291cmNlLmFkZCh7eDogJ3ZhbHVlMicsIHk6ICd6enoyJywgejog
Mi43MSwgZm9vYmFyOiAxMn0sICdrZXkyJykKIHN0b3JlLmNyZWF0ZUluZGV4KCdpbmRleFdoaWxl
QWRkSXNJbkZsaWdodCcsICd4JykKIHN0b3JlLmNyZWF0ZUluZGV4KCdpbmRleFdpdGhXZWlyZEtl
eVBhdGgnLCAnZm9vYmFyJykKK0FkZCBkYXRhIHdoaWNoIGRvZXNuJ3QgaGF2ZSBhIGtleSBpbiB0
aGUgeiBpbmRleC4KIGV2ZW50LnRhcmdldC5zb3VyY2UuYWRkKHt4OiAndmFsdWUzJywgeTogJzQ1
Nid9LCAna2V5MycpCitBZGQgZGF0YSB3aGljaCBoYXMgaW52YWxpZCBrZXkgZm9yIHkgaW5kZXgs
IG5vIGtleSBmb3IgdGhlIHogaW5kZXguCitldmVudC50YXJnZXQuc291cmNlLmFkZCh7eDogJ3Zh
bHVlNCcsIHk6IG51bGx9LCAna2V5NCcpCiBpbmRleE9iamVjdC5nZXRLZXkoJ3ZhbHVlJykKIFBB
U1MgZXZlbnQudGFyZ2V0LnJlc3VsdCBpcyAia2V5IgogaW5kZXhPYmplY3QyLmdldEtleSgnenp6
JykKQEAgLTc4LDYgKzgxLDEwIEBAIFBBU1MgZXZlbnQudGFyZ2V0LnJlc3VsdCBpcyBub24tbnVs
bC4KIFBBU1MgZXZlbnQudGFyZ2V0LnJlc3VsdC5rZXkgaXMgInZhbHVlMyIKIFBBU1MgZXZlbnQu
dGFyZ2V0LnJlc3VsdC5wcmltYXJ5S2V5IGlzICJrZXkzIgogZXZlbnQudGFyZ2V0LnJlc3VsdC5j
b250aW51ZSgpCitQQVNTIGV2ZW50LnRhcmdldC5yZXN1bHQgaXMgbm9uLW51bGwuCitQQVNTIGV2
ZW50LnRhcmdldC5yZXN1bHQua2V5IGlzICJ2YWx1ZTQiCitQQVNTIGV2ZW50LnRhcmdldC5yZXN1
bHQucHJpbWFyeUtleSBpcyAia2V5NCIKK2V2ZW50LnRhcmdldC5yZXN1bHQuY29udGludWUoKQog
UEFTUyBldmVudC50YXJnZXQucmVzdWx0IGlzIG51bGwKIGluZGV4T2JqZWN0Lm9wZW5DdXJzb3Io
KQogUEFTUyBldmVudC50YXJnZXQuc291cmNlIGlzIGluZGV4T2JqZWN0CkBAIC05Niw3ICsxMDMs
MTggQEAgUEFTUyBldmVudC50YXJnZXQucmVzdWx0LmtleSBpcyAidmFsdWUzIgogUEFTUyBldmVu
dC50YXJnZXQucmVzdWx0LnZhbHVlLnggaXMgInZhbHVlMyIKIFBBU1MgZXZlbnQudGFyZ2V0LnJl
c3VsdC52YWx1ZS55IGlzICI0NTYiCiBldmVudC50YXJnZXQucmVzdWx0LmNvbnRpbnVlKCkKK1BB
U1MgZXZlbnQudGFyZ2V0LnJlc3VsdCBpcyBub24tbnVsbC4KK1BBU1MgZXZlbnQudGFyZ2V0LnJl
c3VsdC5rZXkgaXMgInZhbHVlNCIKK1BBU1MgZXZlbnQudGFyZ2V0LnJlc3VsdC52YWx1ZS54IGlz
ICJ2YWx1ZTQiCitQQVNTIGV2ZW50LnRhcmdldC5yZXN1bHQudmFsdWUueSBpcyBudWxsCitldmVu
dC50YXJnZXQucmVzdWx0LmNvbnRpbnVlKCkKIFBBU1MgZXZlbnQudGFyZ2V0LnJlc3VsdCBpcyBu
dWxsCityZXF1ZXN0ID0gaW5kZXhPYmplY3QuY291bnQoKQorUEFTUyBldmVudC50YXJnZXQucmVz
dWx0IGlzIDQKK3JlcXVlc3QgPSBpbmRleE9iamVjdDIuY291bnQoKQorUEFTUyBldmVudC50YXJn
ZXQucmVzdWx0IGlzIDMKK3JlcXVlc3QgPSBpbmRleE9iamVjdDMuY291bnQoKQorUEFTUyBldmVu
dC50YXJnZXQucmVzdWx0IGlzIDIKIFBhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byBpbmRleE9i
amVjdC5nZXQoe30pLgogRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGluZGV4T2JqZWN0LmdldCh7
fSkKIFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9pbmRleC1iYXNpY3Mtd29ya2Vycy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbmRleC1iYXNpY3Mtd29ya2Vycy1leHBlY3RlZC50
eHQKaW5kZXggNzY0M2FlNTUzMjFhNzcyYjlhYmYzOTQ4NzM3ZDBjMGIwY2YyYjg3Zi4uZTc1MDZi
ZTc4NWMxY2EwNDMyNzBkZjI5ZWMzNWVjZjIzOGIxZDBmNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtYmFzaWNzLXdvcmtlcnMtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LWJhc2ljcy13b3JrZXJzLWV4
cGVjdGVkLnR4dApAQCAtNDksNyArNDksMTAgQEAgUEFTUyBbV29ya2VyXSB0eXBlb2YgaW5kZXhP
YmplY3QuY291bnQgaXMgImZ1bmN0aW9uIgogW1dvcmtlcl0gZXZlbnQudGFyZ2V0LnNvdXJjZS5h
ZGQoe3g6ICd2YWx1ZTInLCB5OiAnenp6MicsIHo6IDIuNzEsIGZvb2JhcjogMTJ9LCAna2V5Micp
CiBbV29ya2VyXSBzdG9yZS5jcmVhdGVJbmRleCgnaW5kZXhXaGlsZUFkZElzSW5GbGlnaHQnLCAn
eCcpCiBbV29ya2VyXSBzdG9yZS5jcmVhdGVJbmRleCgnaW5kZXhXaXRoV2VpcmRLZXlQYXRoJywg
J2Zvb2JhcicpCitbV29ya2VyXSBBZGQgZGF0YSB3aGljaCBkb2Vzbid0IGhhdmUgYSBrZXkgaW4g
dGhlIHogaW5kZXguCiBbV29ya2VyXSBldmVudC50YXJnZXQuc291cmNlLmFkZCh7eDogJ3ZhbHVl
MycsIHk6ICc0NTYnfSwgJ2tleTMnKQorW1dvcmtlcl0gQWRkIGRhdGEgd2hpY2ggaGFzIGludmFs
aWQga2V5IGZvciB5IGluZGV4LCBubyBrZXkgZm9yIHRoZSB6IGluZGV4LgorW1dvcmtlcl0gZXZl
bnQudGFyZ2V0LnNvdXJjZS5hZGQoe3g6ICd2YWx1ZTQnLCB5OiBudWxsfSwgJ2tleTQnKQogW1dv
cmtlcl0gaW5kZXhPYmplY3QuZ2V0S2V5KCd2YWx1ZScpCiBQQVNTIFtXb3JrZXJdIGV2ZW50LnRh
cmdldC5yZXN1bHQgaXMgImtleSIKIFtXb3JrZXJdIGluZGV4T2JqZWN0Mi5nZXRLZXkoJ3p6eicp
CkBAIC03OSw2ICs4MiwxMCBAQCBQQVNTIFtXb3JrZXJdIGV2ZW50LnRhcmdldC5yZXN1bHQgaXMg
bm9uLW51bGwuCiBQQVNTIFtXb3JrZXJdIGV2ZW50LnRhcmdldC5yZXN1bHQua2V5IGlzICJ2YWx1
ZTMiCiBQQVNTIFtXb3JrZXJdIGV2ZW50LnRhcmdldC5yZXN1bHQucHJpbWFyeUtleSBpcyAia2V5
MyIKIFtXb3JrZXJdIGV2ZW50LnRhcmdldC5yZXN1bHQuY29udGludWUoKQorUEFTUyBbV29ya2Vy
XSBldmVudC50YXJnZXQucmVzdWx0IGlzIG5vbi1udWxsLgorUEFTUyBbV29ya2VyXSBldmVudC50
YXJnZXQucmVzdWx0LmtleSBpcyAidmFsdWU0IgorUEFTUyBbV29ya2VyXSBldmVudC50YXJnZXQu
cmVzdWx0LnByaW1hcnlLZXkgaXMgImtleTQiCitbV29ya2VyXSBldmVudC50YXJnZXQucmVzdWx0
LmNvbnRpbnVlKCkKIFBBU1MgW1dvcmtlcl0gZXZlbnQudGFyZ2V0LnJlc3VsdCBpcyBudWxsCiBb
V29ya2VyXSBpbmRleE9iamVjdC5vcGVuQ3Vyc29yKCkKIFBBU1MgW1dvcmtlcl0gZXZlbnQudGFy
Z2V0LnNvdXJjZSBpcyBpbmRleE9iamVjdApAQCAtOTcsNyArMTA0LDE4IEBAIFBBU1MgW1dvcmtl
cl0gZXZlbnQudGFyZ2V0LnJlc3VsdC5rZXkgaXMgInZhbHVlMyIKIFBBU1MgW1dvcmtlcl0gZXZl
bnQudGFyZ2V0LnJlc3VsdC52YWx1ZS54IGlzICJ2YWx1ZTMiCiBQQVNTIFtXb3JrZXJdIGV2ZW50
LnRhcmdldC5yZXN1bHQudmFsdWUueSBpcyAiNDU2IgogW1dvcmtlcl0gZXZlbnQudGFyZ2V0LnJl
c3VsdC5jb250aW51ZSgpCitQQVNTIFtXb3JrZXJdIGV2ZW50LnRhcmdldC5yZXN1bHQgaXMgbm9u
LW51bGwuCitQQVNTIFtXb3JrZXJdIGV2ZW50LnRhcmdldC5yZXN1bHQua2V5IGlzICJ2YWx1ZTQi
CitQQVNTIFtXb3JrZXJdIGV2ZW50LnRhcmdldC5yZXN1bHQudmFsdWUueCBpcyAidmFsdWU0Igor
UEFTUyBbV29ya2VyXSBldmVudC50YXJnZXQucmVzdWx0LnZhbHVlLnkgaXMgbnVsbAorW1dvcmtl
cl0gZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZSgpCiBQQVNTIFtXb3JrZXJdIGV2ZW50LnRh
cmdldC5yZXN1bHQgaXMgbnVsbAorW1dvcmtlcl0gcmVxdWVzdCA9IGluZGV4T2JqZWN0LmNvdW50
KCkKK1BBU1MgW1dvcmtlcl0gZXZlbnQudGFyZ2V0LnJlc3VsdCBpcyA0CitbV29ya2VyXSByZXF1
ZXN0ID0gaW5kZXhPYmplY3QyLmNvdW50KCkKK1BBU1MgW1dvcmtlcl0gZXZlbnQudGFyZ2V0LnJl
c3VsdCBpcyAzCitbV29ya2VyXSByZXF1ZXN0ID0gaW5kZXhPYmplY3QzLmNvdW50KCkKK1BBU1Mg
W1dvcmtlcl0gZXZlbnQudGFyZ2V0LnJlc3VsdCBpcyAyCiBbV29ya2VyXSBQYXNzaW5nIGFuIGlu
dmFsaWQga2V5IGludG8gaW5kZXhPYmplY3QuZ2V0KHt9KS4KIFtXb3JrZXJdIEV4cGVjdGluZyBl
eGNlcHRpb24gZnJvbSBpbmRleE9iamVjdC5nZXQoe30pCiBQQVNTIFtXb3JrZXJdIEV4Y2VwdGlv
biB3YXMgdGhyb3duLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
b2JqZWN0c3RvcmUtYmFzaWNzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL29iamVjdHN0b3JlLWJhc2ljcy1leHBlY3RlZC50eHQKaW5kZXggZjA0ZjhjN2YzZDM2
ODFlYzg3NWYxNmJkZWVhNzBmMjE5MzY1ZWU3OS4uMzVkM2RlNGMzMzk1MmY3OTk4ZWFkMTU1OWZm
Y2QwNzQzMzhjMTM5YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
b2JqZWN0c3RvcmUtYmFzaWNzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9vYmplY3RzdG9yZS1iYXNpY3MtZXhwZWN0ZWQudHh0CkBAIC0xMDQsOSArMTA0
LDggQEAgUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KIFBBU1MgY29kZSBpcyBJREJEYXRhYmFz
ZUV4Y2VwdGlvbi5EQVRBX0VSUgogZGIudHJhbnNhY3Rpb24oWydzdG9yZU5hbWUnXSwgJ3JlYWR3
cml0ZScpCiBzdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotRXhw
ZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLmFkZCh7eDogbnVsbH0sICd2YWxpZGtleScpCi1Q
QVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgotUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0
aW9uLkRBVEFfRVJSCitFbnN1cmUgaW52YWxpZCBrZXkgcG9pbnRlZCBhdCBieSBpbmRleCBrZXlQ
YXRoIGlzIGlnbm9yZWQKK3N0b3JlLmFkZCh7eDogbnVsbH0sICd2YWxpZGtleScpCiBkYi50cmFu
c2FjdGlvbihbJ3N0b3JlTmFtZSddLCAncmVhZHdyaXRlJykKIHN0b3JlID0gdHJhbnNhY3Rpb24u
b2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCiBzdG9yZS5nZXQoJ2tleScpCkBAIC0xNjgsMTAgKzE2
Nyw2IEBAIFRoZSBrZXkgcGFyYW1ldGVyIHdhcyBwcm92aWRlZCBidXQgZG9lcyBub3QgY29udGFp
biBhIHZhbGlkIGtleS4KIEV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZVdpdGhPdXRPZkxp
bmVLZXlzLnB1dCh7fSwgbnVsbCkKIFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNv
ZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKLUlmIHRoZXJlIGFyZSBhbnkgaW5k
ZXhlcyByZWZlcmVuY2luZyB0aGlzIG9iamVjdCBzdG9yZSB3aG9zZSBrZXkgcGF0aCBpcyBhIHN0
cmluZywgZXZhbHVhdGluZyB0aGVpciBrZXkgcGF0aCBvbiB0aGUgdmFsdWUgcGFyYW1ldGVyIHlp
ZWxkcyBhIHZhbHVlLCBhbmQgdGhhdCB2YWx1ZSBpcyBub3QgYSB2YWxpZCBrZXkuCi1FeHBlY3Rp
bmcgZXhjZXB0aW9uIGZyb20gc3RvcmVXaXRoSW5kZXgucHV0KHtpbmRleEtleTogbnVsbH0sICdr
ZXknKQotUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KLVBBU1MgY29kZSBpcyBJREJEYXRhYmFz
ZUV4Y2VwdGlvbi5EQVRBX0VSUgogCiBJREJPYmplY3RTdG9yZS5hZGQoKQogVGhlIG9iamVjdCBz
dG9yZSB1c2VzIGluLWxpbmUga2V5cyBhbmQgdGhlIGtleSBwYXJhbWV0ZXIgd2FzIHByb3ZpZGVk
LgpAQCAtMTk0LDEwICsxODksNiBAQCBUaGUga2V5IHBhcmFtZXRlciB3YXMgcHJvdmlkZWQgYnV0
IGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCBrZXkuCiBFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20g
c3RvcmVXaXRoT3V0T2ZMaW5lS2V5cy5hZGQoe30sIG51bGwpCiBQQVNTIEV4Y2VwdGlvbiB3YXMg
dGhyb3duLgogUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSCi1JZiB0
aGVyZSBhcmUgYW55IGluZGV4ZXMgcmVmZXJlbmNpbmcgdGhpcyBvYmplY3Qgc3RvcmUgd2hvc2Ug
a2V5IHBhdGggaXMgYSBzdHJpbmcsIGV2YWx1YXRpbmcgdGhlaXIga2V5IHBhdGggb24gdGhlIHZh
bHVlIHBhcmFtZXRlciB5aWVsZHMgYSB2YWx1ZSwgYW5kIHRoYXQgdmFsdWUgaXMgbm90IGEgdmFs
aWQga2V5LgotRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlV2l0aEluZGV4LmFkZCh7aW5k
ZXhLZXk6IG51bGx9LCAna2V5JykKLVBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCi1QQVNTIGNv
ZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtYmFzaWNzLXdvcmtlcnMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtYmFzaWNzLXdvcmtlcnMt
ZXhwZWN0ZWQudHh0CmluZGV4IGVkYzEyNjRkNjZmZmEyNjUzNTVjYTY5ZDZmOTY4MmQwMmUwODRj
ZWUuLmYzMWZhOGVjZTM2MTNiZmZiMzdjZmEyMGEyNGE1ZGY5YWJkMjcyNDQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWJhc2ljcy13b3JrZXJz
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3Rz
dG9yZS1iYXNpY3Mtd29ya2Vycy1leHBlY3RlZC50eHQKQEAgLTEwNSw5ICsxMDUsOCBAQCBQQVNT
IFtXb3JrZXJdIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBbV29ya2VyXSBjb2RlIGlzIElE
QkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSCiBbV29ya2VyXSBkYi50cmFuc2FjdGlvbihbJ3N0
b3JlTmFtZSddLCAncmVhZHdyaXRlJykKIFtXb3JrZXJdIHN0b3JlID0gdHJhbnNhY3Rpb24ub2Jq
ZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1bV29ya2VyXSBFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20g
c3RvcmUuYWRkKHt4OiBudWxsfSwgJ3ZhbGlka2V5JykKLVBBU1MgW1dvcmtlcl0gRXhjZXB0aW9u
IHdhcyB0aHJvd24uCi1QQVNTIFtXb3JrZXJdIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24u
REFUQV9FUlIKK1tXb3JrZXJdIEVuc3VyZSBpbnZhbGlkIGtleSBwb2ludGVkIGF0IGJ5IGluZGV4
IGtleVBhdGggaXMgaWdub3JlZAorW1dvcmtlcl0gc3RvcmUuYWRkKHt4OiBudWxsfSwgJ3ZhbGlk
a2V5JykKIFtXb3JrZXJdIGRiLnRyYW5zYWN0aW9uKFsnc3RvcmVOYW1lJ10sICdyZWFkd3JpdGUn
KQogW1dvcmtlcl0gc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykK
IFtXb3JrZXJdIHN0b3JlLmdldCgna2V5JykKQEAgLTE2OSwxMCArMTY4LDYgQEAgUEFTUyBbV29y
a2VyXSBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSCiBbV29ya2VyXSBFeHBl
Y3RpbmcgZXhjZXB0aW9uIGZyb20gc3RvcmVXaXRoT3V0T2ZMaW5lS2V5cy5wdXQoe30sIG51bGwp
CiBQQVNTIFtXb3JrZXJdIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBbV29ya2VyXSBjb2Rl
IGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSCi1bV29ya2VyXSBJZiB0aGVyZSBhcmUg
YW55IGluZGV4ZXMgcmVmZXJlbmNpbmcgdGhpcyBvYmplY3Qgc3RvcmUgd2hvc2Uga2V5IHBhdGgg
aXMgYSBzdHJpbmcsIGV2YWx1YXRpbmcgdGhlaXIga2V5IHBhdGggb24gdGhlIHZhbHVlIHBhcmFt
ZXRlciB5aWVsZHMgYSB2YWx1ZSwgYW5kIHRoYXQgdmFsdWUgaXMgbm90IGEgdmFsaWQga2V5Lgot
W1dvcmtlcl0gRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlV2l0aEluZGV4LnB1dCh7aW5k
ZXhLZXk6IG51bGx9LCAna2V5JykKLVBBU1MgW1dvcmtlcl0gRXhjZXB0aW9uIHdhcyB0aHJvd24u
Ci1QQVNTIFtXb3JrZXJdIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKIFtX
b3JrZXJdIAogW1dvcmtlcl0gSURCT2JqZWN0U3RvcmUuYWRkKCkKIFtXb3JrZXJdIFRoZSBvYmpl
Y3Qgc3RvcmUgdXNlcyBpbi1saW5lIGtleXMgYW5kIHRoZSBrZXkgcGFyYW1ldGVyIHdhcyBwcm92
aWRlZC4KQEAgLTE5NSwxMCArMTkwLDYgQEAgUEFTUyBbV29ya2VyXSBjb2RlIGlzIElEQkRhdGFi
YXNlRXhjZXB0aW9uLkRBVEFfRVJSCiBbV29ya2VyXSBFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20g
c3RvcmVXaXRoT3V0T2ZMaW5lS2V5cy5hZGQoe30sIG51bGwpCiBQQVNTIFtXb3JrZXJdIEV4Y2Vw
dGlvbiB3YXMgdGhyb3duLgogUEFTUyBbV29ya2VyXSBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0
aW9uLkRBVEFfRVJSCi1bV29ya2VyXSBJZiB0aGVyZSBhcmUgYW55IGluZGV4ZXMgcmVmZXJlbmNp
bmcgdGhpcyBvYmplY3Qgc3RvcmUgd2hvc2Uga2V5IHBhdGggaXMgYSBzdHJpbmcsIGV2YWx1YXRp
bmcgdGhlaXIga2V5IHBhdGggb24gdGhlIHZhbHVlIHBhcmFtZXRlciB5aWVsZHMgYSB2YWx1ZSwg
YW5kIHRoYXQgdmFsdWUgaXMgbm90IGEgdmFsaWQga2V5LgotW1dvcmtlcl0gRXhwZWN0aW5nIGV4
Y2VwdGlvbiBmcm9tIHN0b3JlV2l0aEluZGV4LmFkZCh7aW5kZXhLZXk6IG51bGx9LCAna2V5JykK
LVBBU1MgW1dvcmtlcl0gRXhjZXB0aW9uIHdhcyB0aHJvd24uCi1QQVNTIFtXb3JrZXJdIGNvZGUg
aXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvcmVzb3VyY2VzL2luZGV4LWJhc2ljcy5qcyBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL3Jlc291cmNlcy9pbmRleC1iYXNpY3MuanMKaW5kZXggODExZTkxODViZTRj
NmViYzk0YmRjMzljYzRkNWI4ZmQ5MGU3N2VjNC4uNmRhMmJkZjVjZjQ2YTNhNGQwNjRkZmM1ZmQw
YTE0MTk1NjBhN2ZlOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
cmVzb3VyY2VzL2luZGV4LWJhc2ljcy5qcworKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9yZXNvdXJjZXMvaW5kZXgtYmFzaWNzLmpzCkBAIC04NSw4ICs4NSwxNyBAQCBmdW5jdGlv
biBhZGREYXRhMihldnQpCiBmdW5jdGlvbiBhZGREYXRhMyhldnQpCiB7CiAgICAgZXZlbnQgPSBl
dnQ7Ci0gICAgLy8gQWRkIGRhdGEgd2hpY2ggZG9lc24ndCBoYXZlIGEga2V5IGluIHRoZSB6SW5k
ZXguCisgICAgZGVidWcoIkFkZCBkYXRhIHdoaWNoIGRvZXNuJ3QgaGF2ZSBhIGtleSBpbiB0aGUg
eiBpbmRleC4iKTsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiZXZlbnQudGFyZ2V0LnNvdXJj
ZS5hZGQoe3g6ICd2YWx1ZTMnLCB5OiAnNDU2J30sICdrZXkzJykiKTsKKyAgICByZXF1ZXN0Lm9u
c3VjY2VzcyA9IGFkZERhdGE0OworICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJv
ckNhbGxiYWNrOworfQorCitmdW5jdGlvbiBhZGREYXRhNChldnQpCit7CisgICAgZXZlbnQgPSBl
dnQ7CisgICAgZGVidWcoIkFkZCBkYXRhIHdoaWNoIGhhcyBpbnZhbGlkIGtleSBmb3IgeSBpbmRl
eCwgbm8ga2V5IGZvciB0aGUgeiBpbmRleC4iKTsKKyAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygi
ZXZlbnQudGFyZ2V0LnNvdXJjZS5hZGQoe3g6ICd2YWx1ZTQnLCB5OiBudWxsfSwgJ2tleTQnKSIp
OwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZ2V0RGF0YTsKICAgICByZXF1ZXN0Lm9uZXJyb3Ig
PSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKIH0KQEAgLTIwNCw2ICsyMTMsMTggQEAgZnVuY3Rp
b24gY3Vyc29yMUNvbnRpbnVlMyhldnQpCiAKICAgICAvLyBXZSByZS11c2UgdGhlIGxhc3QgcmVx
dWVzdCBvYmplY3QuCiAgICAgZXZhbEFuZExvZygiZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250aW51
ZSgpIik7CisgICAgc2VsZi5yZXF1ZXN0Lm9uc3VjY2VzcyA9IGN1cnNvcjFDb250aW51ZTQ7Cit9
CisKK2Z1bmN0aW9uIGN1cnNvcjFDb250aW51ZTQoZXZ0KQoreworICAgIGV2ZW50ID0gZXZ0Owor
ICAgIHNob3VsZEJlTm9uTnVsbCgiZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZXZlbnQudGFyZ2V0LnJlc3VsdC5rZXkiLCAidmFsdWU0Iik7CisgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJldmVudC50YXJnZXQucmVzdWx0LnByaW1hcnlLZXkiLCAi
a2V5NCIpOworCisgICAgLy8gV2UgcmUtdXNlIHRoZSBsYXN0IHJlcXVlc3Qgb2JqZWN0LgorICAg
IGV2YWxBbmRMb2coImV2ZW50LnRhcmdldC5yZXN1bHQuY29udGludWUoKSIpOwogICAgIHNlbGYu
cmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuT2JqZWN0Q3Vyc29yOwogfQogCkBAIC0yNTQsNiArMjc1
LDE5IEBAIGZ1bmN0aW9uIGN1cnNvcjJDb250aW51ZTMoZXZ0KQogCiAgICAgLy8gV2UgcmUtdXNl
IHRoZSBsYXN0IHJlcXVlc3Qgb2JqZWN0LgogICAgIGV2YWxBbmRMb2coImV2ZW50LnRhcmdldC5y
ZXN1bHQuY29udGludWUoKSIpOworICAgIHNlbGYucmVxdWVzdC5vbnN1Y2Nlc3MgPSBjdXJzb3Iy
Q29udGludWU0OworfQorCitmdW5jdGlvbiBjdXJzb3IyQ29udGludWU0KGV2dCkKK3sKKyAgICBl
dmVudCA9IGV2dDsKKyAgICBzaG91bGRCZU5vbk51bGwoImV2ZW50LnRhcmdldC5yZXN1bHQiKTsK
KyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImV2ZW50LnRhcmdldC5yZXN1bHQua2V5IiwgInZh
bHVlNCIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZXZlbnQudGFyZ2V0LnJlc3VsdC52
YWx1ZS54IiwgInZhbHVlNCIpOworICAgIHNob3VsZEJlKCJldmVudC50YXJnZXQucmVzdWx0LnZh
bHVlLnkiLCAibnVsbCIpOworCisgICAgLy8gV2UgcmUtdXNlIHRoZSBsYXN0IHJlcXVlc3Qgb2Jq
ZWN0LgorICAgIGV2YWxBbmRMb2coImV2ZW50LnRhcmdldC5yZXN1bHQuY29udGludWUoKSIpOwog
ICAgIHNlbGYucmVxdWVzdC5vbnN1Y2Nlc3MgPSBsYXN0OwogfQogCkBAIC0yNjIsNiArMjk2LDM2
IEBAIGZ1bmN0aW9uIGxhc3QoZXZ0KQogICAgIGV2ZW50ID0gZXZ0OwogICAgIHNob3VsZEJlTnVs
bCgiZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwogCisgICAgZXZhbEFuZExvZygicmVxdWVzdCA9IGlu
ZGV4T2JqZWN0LmNvdW50KCkiKTsKKyAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJy
b3JDYWxsYmFjazsKKyAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGluZGV4MUNvdW50OworfQorCitm
dW5jdGlvbiBpbmRleDFDb3VudChldnQpCit7CisgICAgZXZlbnQgPSBldnQ7CisgICAgc2hvdWxk
QmUoImV2ZW50LnRhcmdldC5yZXN1bHQiLCAiNCIpOworCisgICAgZXZhbEFuZExvZygicmVxdWVz
dCA9IGluZGV4T2JqZWN0Mi5jb3VudCgpIik7CisgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBl
Y3RlZEVycm9yQ2FsbGJhY2s7CisgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBpbmRleDJDb3VudDsK
K30KKworZnVuY3Rpb24gaW5kZXgyQ291bnQoZXZ0KQoreworICAgIGV2ZW50ID0gZXZ0OworICAg
IHNob3VsZEJlKCJldmVudC50YXJnZXQucmVzdWx0IiwgIjMiKTsKKworICAgIGV2YWxBbmRMb2co
InJlcXVlc3QgPSBpbmRleE9iamVjdDMuY291bnQoKSIpOworICAgIHJlcXVlc3Qub25lcnJvciA9
IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworICAgIHJlcXVlc3Qub25zdWNjZXNzID0gaW5kZXgz
Q291bnQ7Cit9CisKK2Z1bmN0aW9uIGluZGV4M0NvdW50KGV2dCkKK3sKKyAgICBldmVudCA9IGV2
dDsKKyAgICBzaG91bGRCZSgiZXZlbnQudGFyZ2V0LnJlc3VsdCIsICIyIik7CisKICAgICBkZWJ1
ZygiUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIGluZGV4T2JqZWN0LmdldCh7fSkuIik7CiAg
ICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigiaW5kZXhPYmplY3QuZ2V0KHt9KSIsICJJREJEYXRh
YmFzZUV4Y2VwdGlvbi5EQVRBX0VSUiIpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvb2JqZWN0c3RvcmUtYmFzaWNzLmpzIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL29iamVjdHN0b3JlLWJhc2ljcy5qcwppbmRl
eCA2MTE2MjhhNjQwZDIzYjdhOTY3NjZlNzljN2UxOWYzYzIzMWU3OTZkLi4yMDI4Y2ZhMGUxNTM5
ZDBjMjY4NmRlOThkODc2ZjZhMThmZWFhOGE3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvb2JqZWN0c3RvcmUtYmFzaWNzLmpzCisrKyBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9vYmplY3RzdG9yZS1iYXNpY3MuanMK
QEAgLTE5MCw3ICsxOTAsOCBAQCBmdW5jdGlvbiBhZGRBZ2FpbkZhaWx1cmUoZXZ0KQogICAgIHRy
YW5zYWN0aW9uLm9uYWJvcnQgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKICAgICBzdG9yZSA9
IGV2YWxBbmRMb2coInN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScp
Iik7CiAKLSAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJzdG9yZS5hZGQoe3g6IG51bGx9LCAn
dmFsaWRrZXknKSIsICJJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUiIpOworICAgIGRlYnVn
KCJFbnN1cmUgaW52YWxpZCBrZXkgcG9pbnRlZCBhdCBieSBpbmRleCBrZXlQYXRoIGlzIGlnbm9y
ZWQiKTsKKyAgICBldmFsQW5kTG9nKCJzdG9yZS5hZGQoe3g6IG51bGx9LCAndmFsaWRrZXknKSIp
OwogCiAgICAgdHJhbnNhY3Rpb24gPSBldmFsQW5kTG9nKCJkYi50cmFuc2FjdGlvbihbJ3N0b3Jl
TmFtZSddLCAncmVhZHdyaXRlJykiKTsKICAgICB0cmFuc2FjdGlvbi5vbmFib3J0ID0gdW5leHBl
Y3RlZEVycm9yQ2FsbGJhY2s7CkBAIC0yODYsOSArMjg3LDYgQEAgZnVuY3Rpb24gdGVzdFByZUNv
bmRpdGlvbnMoKQogICAgICAgICBkZWJ1ZygiVGhlIGtleSBwYXJhbWV0ZXIgd2FzIHByb3ZpZGVk
IGJ1dCBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQga2V5LiIpOwogICAgICAgICBldmFsQW5kRXhw
ZWN0RXhjZXB0aW9uKCJzdG9yZVdpdGhPdXRPZkxpbmVLZXlzLnB1dCh7fSwgbnVsbCkiLCAiSURC
RGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIiKTsKIAotICAgICAgICBkZWJ1ZygiSWYgdGhlcmUg
YXJlIGFueSBpbmRleGVzIHJlZmVyZW5jaW5nIHRoaXMgb2JqZWN0IHN0b3JlIHdob3NlIGtleSBw
YXRoIGlzIGEgc3RyaW5nLCBldmFsdWF0aW5nIHRoZWlyIGtleSBwYXRoIG9uIHRoZSB2YWx1ZSBw
YXJhbWV0ZXIgeWllbGRzIGEgdmFsdWUsIGFuZCB0aGF0IHZhbHVlIGlzIG5vdCBhIHZhbGlkIGtl
eS4iKTsKLSAgICAgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigic3RvcmVXaXRoSW5kZXgucHV0
KHtpbmRleEtleTogbnVsbH0sICdrZXknKSIsICJJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VS
UiIpOwotCiAgICAgICAgIGRlYnVnKCIiKTsKICAgICAgICAgZGVidWcoIklEQk9iamVjdFN0b3Jl
LmFkZCgpIik7CiAgICAgICAgIGRlYnVnKCJUaGUgb2JqZWN0IHN0b3JlIHVzZXMgaW4tbGluZSBr
ZXlzIGFuZCB0aGUga2V5IHBhcmFtZXRlciB3YXMgcHJvdmlkZWQuIik7CkBAIC0zMDYsOSArMzA0
LDYgQEAgZnVuY3Rpb24gdGVzdFByZUNvbmRpdGlvbnMoKQogICAgICAgICBkZWJ1ZygiVGhlIGtl
eSBwYXJhbWV0ZXIgd2FzIHByb3ZpZGVkIGJ1dCBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQga2V5
LiIpOwogICAgICAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJzdG9yZVdpdGhPdXRPZkxpbmVL
ZXlzLmFkZCh7fSwgbnVsbCkiLCAiSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIiKTsKIAot
ICAgICAgICBkZWJ1ZygiSWYgdGhlcmUgYXJlIGFueSBpbmRleGVzIHJlZmVyZW5jaW5nIHRoaXMg
b2JqZWN0IHN0b3JlIHdob3NlIGtleSBwYXRoIGlzIGEgc3RyaW5nLCBldmFsdWF0aW5nIHRoZWly
IGtleSBwYXRoIG9uIHRoZSB2YWx1ZSBwYXJhbWV0ZXIgeWllbGRzIGEgdmFsdWUsIGFuZCB0aGF0
IHZhbHVlIGlzIG5vdCBhIHZhbGlkIGtleS4iKTsKLSAgICAgICAgZXZhbEFuZEV4cGVjdEV4Y2Vw
dGlvbigic3RvcmVXaXRoSW5kZXguYWRkKHtpbmRleEtleTogbnVsbH0sICdrZXknKSIsICJJREJE
YXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUiIpOwotCiAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwog
ICAgIH07CiB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>