<?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>163954</bug_id>
          
          <creation_ts>2016-10-25 10:23:11 -0700</creation_ts>
          <short_desc>IndexedDB 2.0: Support IDBObjectStore openKeyCursor</short_desc>
          <delta_ts>2016-10-25 14:46:02 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>160306</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>achristensen</cc>
    
    <cc>alecflett</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>jsbell</cc>
    
    <cc>kondapallykalyan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1244262</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-10-25 10:23:11 -0700</bug_when>
    <thetext>IndexedDB 2.0: Support IDBObjectStore openKeyCursor</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1244263</commentid>
    <comment_count>1</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-10-25 10:23:33 -0700</bug_when>
    <thetext>&lt;rdar://problem/28806930&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1244397</commentid>
    <comment_count>2</comment_count>
      <attachid>292810</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-10-25 13:34:55 -0700</bug_when>
    <thetext>Created attachment 292810
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1244406</commentid>
    <comment_count>3</comment_count>
      <attachid>292812</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-10-25 13:40:14 -0700</bug_when>
    <thetext>Created attachment 292812
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1244407</commentid>
    <comment_count>4</comment_count>
      <attachid>292813</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-10-25 13:40:51 -0700</bug_when>
    <thetext>Created attachment 292813
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1244414</commentid>
    <comment_count>5</comment_count>
      <attachid>292812</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2016-10-25 13:49:44 -0700</bug_when>
    <thetext>Comment on attachment 292812
Patch

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

&gt; Source/WebCore/Modules/indexeddb/IDBObjectStore.cpp:168
&gt; -    auto info = IDBCursorInfo::objectStoreCursor(m_transaction.get(), m_info.identifier(), range, direction.value());
&gt; +    auto info = IDBCursorInfo::objectStoreCursor(m_transaction.get(), m_info.identifier(), range.get(), direction.value(), IndexedDB::CursorType::KeyAndValue);

I was confused by the implicit conversion from a IDBKeyRange* to a IDBKeyRangeData. Since IDBCursorInfo::objectStoreCursor() is always passed a IDBKeyRangeData temporary, maybe this range can be moved into its destination IDBCursorInfo? Not something you have to change here, but just a thought.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1244457</commentid>
    <comment_count>6</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-10-25 14:46:02 -0700</bug_when>
    <thetext>https://trac.webkit.org/changeset/207845</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>292810</attachid>
            <date>2016-10-25 13:34:55 -0700</date>
            <delta_ts>2016-10-25 13:40:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-163954-20161025133109.patch</filename>
            <type>text/plain</type>
            <size>24827</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA3ODMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTA5YjEwZDkxMDYxNTFl
NDJlOTViNDE2YzM5YWRkNDJhMWViNDEwNy4uMjhhZDFiY2U4YjZmOTAyN2ZiN2Y4NTFkMjgxMDBk
YzJkYjI1N2NlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE2LTEwLTI1ICBCcmFk
eSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBJbmRleGVkREIgMi4wOiBT
dXBwb3J0IElEQk9iamVjdFN0b3JlIG9wZW5LZXlDdXJzb3IuCisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS8yODgwNjkzMD4gYW5kIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNjM5NTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBObyBuZXcgdGVzdHMgKENvdmVyZWQgYnkgY2hhbmdlcyB0byBleGlzdGluZyB0ZXN0cykKKwor
ICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQkN1cnNvci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpJREJDdXJzb3I6OmNyZWF0ZSk6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURC
Q3Vyc29yLmg6CisKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpJREJPYmplY3RTdG9yZTo6b3BlbkN1cnNvcik6CisgICAg
ICAgIChXZWJDb3JlOjpJREJPYmplY3RTdG9yZTo6b3BlbktleUN1cnNvcik6CisgICAgICAgICog
TW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmUuaDoKKyAgICAgICAgKiBNb2R1bGVzL2lu
ZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5pZGw6CisKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRk
Yi9JREJUcmFuc2FjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlvbjo6
cmVxdWVzdE9wZW5DdXJzb3IpOgorCisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvc2VydmVy
L01lbW9yeU9iamVjdFN0b3JlQ3Vyc29yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQlNlcnZl
cjo6TWVtb3J5T2JqZWN0U3RvcmVDdXJzb3I6OmN1cnJlbnREYXRhKTogT25seSBncmFiIHRoZSBj
dXJyZW50IHZhbHVlCisgICAgICAgICAgaWYgdGhlIGN1cnNvciBpcyBLZXlBbmRWYWx1ZS4KKwor
ICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9TUUxpdGVJREJDdXJzb3IuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpTUUxpdGVJREJDdXJzb3I6OlNRTGl0ZUlEQkN1
cnNvcik6CisgICAgICAgIChXZWJDb3JlOjpJREJTZXJ2ZXI6OlNRTGl0ZUlEQkN1cnNvcjo6aW50
ZXJuYWxBZHZhbmNlT25jZSk6IE9ubHkgc2F2ZSBvZmYgdGhlIGRhdGEgZm9yIGFuCisgICAgICAg
ICAgb2JqZWN0IHN0b3JlIGN1cnNvciBpZiBpdCdzIGJvdGggS2V5QW5kVmFsdWUuCisgICAgICAg
ICogTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1NRTGl0ZUlEQkN1cnNvci5oOgorCisgICAgICAg
ICogTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQkN1cnNvckluZm8uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SURCQ3Vyc29ySW5mbzo6b2JqZWN0U3RvcmVDdXJzb3IpOiBBbGxvdyBmb3IgYSBL
ZXlPbmx5IE9iamVjdFN0b3JlQ3Vyc29yLgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3No
YXJlZC9JREJDdXJzb3JJbmZvLmg6CisKIDIwMTYtMTAtMjQgIFNhbSBXZWluaWcgIDxzYW1Ad2Vi
a2l0Lm9yZz4KIAogICAgICAgICBbV2ViSURMXSBNb3ZlIG1vcmUgdHlwZXMgb3ZlciB0byB0aGUg
bmV3IEpTQ29udmVydGVyIGJhc2VkIHRvSlMgZnVuY3Rpb25zCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3IuY3BwIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yLmNwcAppbmRleCA5ZTgwNTk0YjNmMjhlMjdhMjBh
ZmFmNDQ0ZmQ5OWU0NjhkNzhiZWRjLi41NDE2OTA5YWJkOTY4MGU2YWZlY2MyYzUxYjljNWJkYTlm
ZDQwMmIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJD
dXJzb3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkN1cnNv
ci5jcHAKQEAgLTEwNiw2ICsxMDYsMTEgQEAgY29uc3QgQXRvbWljU3RyaW5nJiBJREJDdXJzb3I6
OmRpcmVjdGlvblRvU3RyaW5nKEluZGV4ZWREQjo6Q3Vyc29yRGlyZWN0aW9uIGRpcmUKICAgICB9
CiB9CiAKK1JlZjxJREJDdXJzb3I+IElEQkN1cnNvcjo6Y3JlYXRlKElEQlRyYW5zYWN0aW9uJiB0
cmFuc2FjdGlvbiwgSURCT2JqZWN0U3RvcmUmIG9iamVjdFN0b3JlLCBjb25zdCBJREJDdXJzb3JJ
bmZvJiBpbmZvKQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IElEQkN1cnNvcih0cmFuc2Fj
dGlvbiwgb2JqZWN0U3RvcmUsIGluZm8pKTsKK30KKwogUmVmPElEQkN1cnNvcj4gSURCQ3Vyc29y
OjpjcmVhdGUoSURCVHJhbnNhY3Rpb24mIHRyYW5zYWN0aW9uLCBJREJJbmRleCYgaW5kZXgsIGNv
bnN0IElEQkN1cnNvckluZm8mIGluZm8pCiB7CiAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgSURC
Q3Vyc29yKHRyYW5zYWN0aW9uLCBpbmRleCwgaW5mbykpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9JREJDdXJzb3IuaAppbmRleCA5NGIwZjc5YWQxYjQ2ZGUxNWVhM2ZjOTlh
ODkzNTJhMzA1ZDBkODQ5Li4yYWE4ODgyMTdmMDYxNjZlMjAzMGRmMzQ2MGJjNWY0ZjExNWI2ZGEy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3Iu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3IuaApAQCAt
NDIsNiArNDIsNyBAQCBjbGFzcyBJREJUcmFuc2FjdGlvbjsKIAogY2xhc3MgSURCQ3Vyc29yIDog
cHVibGljIFNjcmlwdFdyYXBwYWJsZSwgcHVibGljIFJlZkNvdW50ZWQ8SURCQ3Vyc29yPiwgcHVi
bGljIEFjdGl2ZURPTU9iamVjdCB7CiBwdWJsaWM6CisgICAgc3RhdGljIFJlZjxJREJDdXJzb3I+
IGNyZWF0ZShJREJUcmFuc2FjdGlvbiYsIElEQk9iamVjdFN0b3JlJiwgY29uc3QgSURCQ3Vyc29y
SW5mbyYpOwogICAgIHN0YXRpYyBSZWY8SURCQ3Vyc29yPiBjcmVhdGUoSURCVHJhbnNhY3Rpb24m
LCBJREJJbmRleCYsIGNvbnN0IElEQkN1cnNvckluZm8mKTsKIAogICAgIHN0YXRpYyBjb25zdCBB
dG9taWNTdHJpbmcmIGRpcmVjdGlvbk5leHQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlLmNwcAppbmRleCBhMDRkYTYxOWU3MjU0MTVh
NTU0YzQzMTUxNTYxNjUxM2NkZWFiZTc1Li4wYjA5NzJiYmZkOWJiODhjYzhhOGVhYmZiNzg5YWQ4
ZWIyMDc3Y2E5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9J
REJPYmplY3RTdG9yZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
SURCT2JqZWN0U3RvcmUuY3BwCkBAIC0xNTAsNyArMTUwLDcgQEAgYm9vbCBJREJPYmplY3RTdG9y
ZTo6YXV0b0luY3JlbWVudCgpIGNvbnN0CiAgICAgcmV0dXJuIG1faW5mby5hdXRvSW5jcmVtZW50
KCk7CiB9CiAKLUV4Y2VwdGlvbk9yPFJlZjxJREJSZXF1ZXN0Pj4gSURCT2JqZWN0U3RvcmU6Om9w
ZW5DdXJzb3IoRXhlY1N0YXRlJiBleGVjU3RhdGUsIElEQktleVJhbmdlKiByYW5nZSwgY29uc3Qg
U3RyaW5nJiBkaXJlY3Rpb25TdHJpbmcpCitFeGNlcHRpb25PcjxSZWY8SURCUmVxdWVzdD4+IElE
Qk9iamVjdFN0b3JlOjpvcGVuQ3Vyc29yKEV4ZWNTdGF0ZSYgZXhlY1N0YXRlLCBSZWZQdHI8SURC
S2V5UmFuZ2U+IHJhbmdlLCBjb25zdCBTdHJpbmcmIGRpcmVjdGlvblN0cmluZykKIHsKICAgICBM
T0coSW5kZXhlZERCLCAiSURCT2JqZWN0U3RvcmU6Om9wZW5DdXJzb3IiKTsKICAgICBBU1NFUlQo
Y3VycmVudFRocmVhZCgpID09IG1fdHJhbnNhY3Rpb24tPmRhdGFiYXNlKCkub3JpZ2luVGhyZWFk
SUQoKSk7CkBAIC0xNjUsNyArMTY1LDcgQEAgRXhjZXB0aW9uT3I8UmVmPElEQlJlcXVlc3Q+PiBJ
REJPYmplY3RTdG9yZTo6b3BlbkN1cnNvcihFeGVjU3RhdGUmIGV4ZWNTdGF0ZSwgSUQKICAgICBp
ZiAoIWRpcmVjdGlvbikKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFR5cGVFcnJvciB9Owog
Ci0gICAgYXV0byBpbmZvID0gSURCQ3Vyc29ySW5mbzo6b2JqZWN0U3RvcmVDdXJzb3IobV90cmFu
c2FjdGlvbi5nZXQoKSwgbV9pbmZvLmlkZW50aWZpZXIoKSwgcmFuZ2UsIGRpcmVjdGlvbi52YWx1
ZSgpKTsKKyAgICBhdXRvIGluZm8gPSBJREJDdXJzb3JJbmZvOjpvYmplY3RTdG9yZUN1cnNvciht
X3RyYW5zYWN0aW9uLmdldCgpLCBtX2luZm8uaWRlbnRpZmllcigpLCByYW5nZS5nZXQoKSwgZGly
ZWN0aW9uLnZhbHVlKCksIEluZGV4ZWREQjo6Q3Vyc29yVHlwZTo6S2V5QW5kVmFsdWUpOwogICAg
IHJldHVybiBtX3RyYW5zYWN0aW9uLT5yZXF1ZXN0T3BlbkN1cnNvcihleGVjU3RhdGUsICp0aGlz
LCBpbmZvKTsKIH0KIApAQCAtMTc1LDcgKzE3NSwzNSBAQCBFeGNlcHRpb25PcjxSZWY8SURCUmVx
dWVzdD4+IElEQk9iamVjdFN0b3JlOjpvcGVuQ3Vyc29yKEV4ZWNTdGF0ZSYgZXhlY1N0YXRlLCBK
UwogICAgIGlmIChvbmx5UmVzdWx0Lmhhc0V4Y2VwdGlvbigpKQogICAgICAgICByZXR1cm4gRXhj
ZXB0aW9uIHsgSURCRGF0YWJhc2VFeGNlcHRpb246OkRhdGFFcnJvciwgQVNDSUlMaXRlcmFsKCJG
YWlsZWQgdG8gZXhlY3V0ZSAnb3BlbkN1cnNvcicgb24gJ0lEQk9iamVjdFN0b3JlJzogVGhlIHBh
cmFtZXRlciBpcyBub3QgYSB2YWxpZCBrZXkuIikgfTsKIAotICAgIHJldHVybiBvcGVuQ3Vyc29y
KGV4ZWNTdGF0ZSwgb25seVJlc3VsdC5yZWxlYXNlUmV0dXJuVmFsdWUoKS5wdHIoKSwgZGlyZWN0
aW9uKTsKKyAgICByZXR1cm4gb3BlbkN1cnNvcihleGVjU3RhdGUsIG9ubHlSZXN1bHQucmVsZWFz
ZVJldHVyblZhbHVlKCksIGRpcmVjdGlvbik7Cit9CisKK0V4Y2VwdGlvbk9yPFJlZjxJREJSZXF1
ZXN0Pj4gSURCT2JqZWN0U3RvcmU6Om9wZW5LZXlDdXJzb3IoRXhlY1N0YXRlJiBleGVjU3RhdGUs
IFJlZlB0cjxJREJLZXlSYW5nZT4gcmFuZ2UsIGNvbnN0IFN0cmluZyYgZGlyZWN0aW9uU3RyaW5n
KQoreworICAgIExPRyhJbmRleGVkREIsICJJREJPYmplY3RTdG9yZTo6b3BlbkN1cnNvciIpOwor
ICAgIEFTU0VSVChjdXJyZW50VGhyZWFkKCkgPT0gbV90cmFuc2FjdGlvbi0+ZGF0YWJhc2UoKS5v
cmlnaW5UaHJlYWRJRCgpKTsKKworICAgIGlmIChtX2RlbGV0ZWQpCisgICAgICAgIHJldHVybiBF
eGNlcHRpb24geyBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6SW52YWxpZFN0YXRlRXJyb3IsIEFTQ0lJ
TGl0ZXJhbCgiRmFpbGVkIHRvIGV4ZWN1dGUgJ29wZW5LZXlDdXJzb3InIG9uICdJREJPYmplY3RT
dG9yZSc6IFRoZSBvYmplY3Qgc3RvcmUgaGFzIGJlZW4gZGVsZXRlZC4iKSB9OworCisgICAgaWYg
KCFtX3RyYW5zYWN0aW9uLT5pc0FjdGl2ZSgpKQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsg
SURCRGF0YWJhc2VFeGNlcHRpb246OlRyYW5zYWN0aW9uSW5hY3RpdmVFcnJvciwgQVNDSUlMaXRl
cmFsKCJGYWlsZWQgdG8gZXhlY3V0ZSAnb3BlbktleUN1cnNvcicgb24gJ0lEQk9iamVjdFN0b3Jl
JzogVGhlIHRyYW5zYWN0aW9uIGlzIGluYWN0aXZlIG9yIGZpbmlzaGVkLiIpIH07CisKKyAgICBh
dXRvIGRpcmVjdGlvbiA9IElEQkN1cnNvcjo6c3RyaW5nVG9EaXJlY3Rpb24oZGlyZWN0aW9uU3Ry
aW5nKTsKKyAgICBpZiAoIWRpcmVjdGlvbikKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFR5
cGVFcnJvciB9OworCisgICAgYXV0byBpbmZvID0gSURCQ3Vyc29ySW5mbzo6b2JqZWN0U3RvcmVD
dXJzb3IobV90cmFuc2FjdGlvbi5nZXQoKSwgbV9pbmZvLmlkZW50aWZpZXIoKSwgcmFuZ2UuZ2V0
KCksIGRpcmVjdGlvbi52YWx1ZSgpLCBJbmRleGVkREI6OkN1cnNvclR5cGU6OktleU9ubHkpOwor
ICAgIHJldHVybiBtX3RyYW5zYWN0aW9uLT5yZXF1ZXN0T3BlbkN1cnNvcihleGVjU3RhdGUsICp0
aGlzLCBpbmZvKTsKK30KKworRXhjZXB0aW9uT3I8UmVmPElEQlJlcXVlc3Q+PiBJREJPYmplY3RT
dG9yZTo6b3BlbktleUN1cnNvcihFeGVjU3RhdGUmIGV4ZWNTdGF0ZSwgSlNWYWx1ZSBrZXksIGNv
bnN0IFN0cmluZyYgZGlyZWN0aW9uKQoreworICAgIGF1dG8gb25seVJlc3VsdCA9IElEQktleVJh
bmdlOjpvbmx5KGV4ZWNTdGF0ZSwga2V5KTsKKyAgICBpZiAob25seVJlc3VsdC5oYXNFeGNlcHRp
b24oKSkKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpE
YXRhRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiRmFpbGVkIHRvIGV4ZWN1dGUgJ29wZW5LZXlDdXJzb3In
IG9uICdJREJPYmplY3RTdG9yZSc6IFRoZSBwYXJhbWV0ZXIgaXMgbm90IGEgdmFsaWQga2V5IG9y
IGtleSByYW5nZS4iKSB9OworCisgICAgcmV0dXJuIG9wZW5LZXlDdXJzb3IoZXhlY1N0YXRlLCBv
bmx5UmVzdWx0LnJlbGVhc2VSZXR1cm5WYWx1ZSgpLCBkaXJlY3Rpb24pOwogfQogCiBFeGNlcHRp
b25PcjxSZWY8SURCUmVxdWVzdD4+IElEQk9iamVjdFN0b3JlOjpnZXQoRXhlY1N0YXRlJiBleGVj
U3RhdGUsIEpTVmFsdWUga2V5KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvSURCT2JqZWN0U3RvcmUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL0lEQk9iamVjdFN0b3JlLmgKaW5kZXggYTJjYzRhNDc2MzU3MDMxYWYyNmZhNzY5OTU2NmMz
MjQzOGEzYjBkNi4uNjdlODA0YmU1ZTcxMTAzOWIzMWY0NjE5NTM5MzIzZTNmNzI4YzExYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmUu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5o
CkBAIC03MSw4ICs3MSwxMCBAQCBwdWJsaWM6CiAgICAgICAgIGJvb2wgbXVsdGlFbnRyeTsKICAg
ICB9OwogCi0gICAgRXhjZXB0aW9uT3I8UmVmPElEQlJlcXVlc3Q+PiBvcGVuQ3Vyc29yKEpTQzo6
RXhlY1N0YXRlJiwgSURCS2V5UmFuZ2UqLCBjb25zdCBTdHJpbmcmIGRpcmVjdGlvbik7CisgICAg
RXhjZXB0aW9uT3I8UmVmPElEQlJlcXVlc3Q+PiBvcGVuQ3Vyc29yKEpTQzo6RXhlY1N0YXRlJiwg
UmVmUHRyPElEQktleVJhbmdlPiwgY29uc3QgU3RyaW5nJiBkaXJlY3Rpb24pOwogICAgIEV4Y2Vw
dGlvbk9yPFJlZjxJREJSZXF1ZXN0Pj4gb3BlbkN1cnNvcihKU0M6OkV4ZWNTdGF0ZSYsIEpTQzo6
SlNWYWx1ZSBrZXksIGNvbnN0IFN0cmluZyYgZGlyZWN0aW9uKTsKKyAgICBFeGNlcHRpb25PcjxS
ZWY8SURCUmVxdWVzdD4+IG9wZW5LZXlDdXJzb3IoSlNDOjpFeGVjU3RhdGUmLCBSZWZQdHI8SURC
S2V5UmFuZ2U+LCBjb25zdCBTdHJpbmcmIGRpcmVjdGlvbik7CisgICAgRXhjZXB0aW9uT3I8UmVm
PElEQlJlcXVlc3Q+PiBvcGVuS2V5Q3Vyc29yKEpTQzo6RXhlY1N0YXRlJiwgSlNDOjpKU1ZhbHVl
IGtleSwgY29uc3QgU3RyaW5nJiBkaXJlY3Rpb24pOwogICAgIEV4Y2VwdGlvbk9yPFJlZjxJREJS
ZXF1ZXN0Pj4gZ2V0KEpTQzo6RXhlY1N0YXRlJiwgSlNDOjpKU1ZhbHVlIGtleSk7CiAgICAgRXhj
ZXB0aW9uT3I8UmVmPElEQlJlcXVlc3Q+PiBnZXQoSlNDOjpFeGVjU3RhdGUmLCBJREJLZXlSYW5n
ZSopOwogICAgIEV4Y2VwdGlvbk9yPFJlZjxJREJSZXF1ZXN0Pj4gYWRkKEpTQzo6RXhlY1N0YXRl
JiwgSlNDOjpKU1ZhbHVlLCBKU0M6OkpTVmFsdWUga2V5KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlLmlkbAppbmRleCBhYWZmZDk0Y2Mx
MWU4NzY3M2I4OGI2MDk3N2ZmZmE5NTNkYmExNjY0Li5hZTAyMzI2Y2E0MWY0MWU4MTU4OTE3ZjU0
NzE0MzJhOGI4NjEwZTcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9JREJPYmplY3RTdG9yZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvSURCT2JqZWN0U3RvcmUuaWRsCkBAIC00NSw2ICs0NSw4IEBACiAgICAgW0NhbGxXaXRo
PVNjcmlwdFN0YXRlLCBNYXlUaHJvd0V4Y2VwdGlvbl0gSURCUmVxdWVzdCBjbGVhcigpOwogICAg
IFtDYWxsV2l0aD1TY3JpcHRTdGF0ZSwgTWF5VGhyb3dFeGNlcHRpb25dIElEQlJlcXVlc3Qgb3Bl
bkN1cnNvcihvcHRpb25hbCBJREJLZXlSYW5nZT8gcmFuZ2UgPSBudWxsLCBvcHRpb25hbCBET01T
dHJpbmcgZGlyZWN0aW9uID0gIm5leHQiKTsKICAgICBbQ2FsbFdpdGg9U2NyaXB0U3RhdGUsIE1h
eVRocm93RXhjZXB0aW9uXSBJREJSZXF1ZXN0IG9wZW5DdXJzb3IoYW55IGtleSwgb3B0aW9uYWwg
RE9NU3RyaW5nIGRpcmVjdGlvbiA9ICJuZXh0Iik7CisgICAgW0NhbGxXaXRoPVNjcmlwdFN0YXRl
LCBNYXlUaHJvd0V4Y2VwdGlvbl0gSURCUmVxdWVzdCBvcGVuS2V5Q3Vyc29yKG9wdGlvbmFsIElE
QktleVJhbmdlPyByYW5nZSA9IG51bGwsIG9wdGlvbmFsIERPTVN0cmluZyBkaXJlY3Rpb24gPSAi
bmV4dCIpOworICAgIFtDYWxsV2l0aD1TY3JpcHRTdGF0ZSwgTWF5VGhyb3dFeGNlcHRpb25dIElE
QlJlcXVlc3Qgb3BlbktleUN1cnNvcihhbnkga2V5LCBvcHRpb25hbCBET01TdHJpbmcgZGlyZWN0
aW9uID0gIm5leHQiKTsKICAgICBbQ2FsbFdpdGg9U2NyaXB0U3RhdGUsIE1heVRocm93RXhjZXB0
aW9uXSBJREJJbmRleCBjcmVhdGVJbmRleChET01TdHJpbmcgbmFtZSwgc2VxdWVuY2U8RE9NU3Ry
aW5nPiBrZXlQYXRoLCBvcHRpb25hbCBJREJJbmRleFBhcmFtZXRlcnMgb3B0aW9ucyk7CiAgICAg
W0NhbGxXaXRoPVNjcmlwdFN0YXRlLCBNYXlUaHJvd0V4Y2VwdGlvbl0gSURCSW5kZXggY3JlYXRl
SW5kZXgoRE9NU3RyaW5nIG5hbWUsIERPTVN0cmluZyBrZXlQYXRoLCBvcHRpb25hbCBJREJJbmRl
eFBhcmFtZXRlcnMgb3B0aW9ucyk7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSBJREJJbmRleCBp
bmRleChET01TdHJpbmcgbmFtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5jcHAKaW5kZXggNDEzYTY4NGJkZGExYzQ1MWFhOTliNWQ5
YzdmYzg4NDIyMTY3ZDkxNy4uMWU2NGIzNDU3Yjg5OTA3YjE0MjQzMjIyZjFmN2NjZjU3YzllMWVl
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNh
Y3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5z
YWN0aW9uLmNwcApAQCAtNzMxLDYgKzczMSw5IEBAIFJlZjxJREJSZXF1ZXN0PiBJREJUcmFuc2Fj
dGlvbjo6cmVxdWVzdE9wZW5DdXJzb3IoRXhlY1N0YXRlJiBleGVjU3RhdGUsIElEQk9iamVjCiAg
ICAgTE9HKEluZGV4ZWREQiwgIklEQlRyYW5zYWN0aW9uOjpyZXF1ZXN0T3BlbkN1cnNvciIpOwog
ICAgIEFTU0VSVChjdXJyZW50VGhyZWFkKCkgPT0gbV9kYXRhYmFzZS0+b3JpZ2luVGhyZWFkSUQo
KSk7CiAKKyAgICBpZiAoaW5mby5jdXJzb3JUeXBlKCkgPT0gSW5kZXhlZERCOjpDdXJzb3JUeXBl
OjpLZXlPbmx5KQorICAgICAgICByZXR1cm4gZG9SZXF1ZXN0T3BlbkN1cnNvcihleGVjU3RhdGUs
IElEQkN1cnNvcjo6Y3JlYXRlKCp0aGlzLCBvYmplY3RTdG9yZSwgaW5mbykpOworCiAgICAgcmV0
dXJuIGRvUmVxdWVzdE9wZW5DdXJzb3IoZXhlY1N0YXRlLCBJREJDdXJzb3JXaXRoVmFsdWU6OmNy
ZWF0ZSgqdGhpcywgb2JqZWN0U3RvcmUsIGluZm8pKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL01lbW9yeU9iamVjdFN0b3JlQ3Vyc29y
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9NZW1vcnlPYmpl
Y3RTdG9yZUN1cnNvci5jcHAKaW5kZXggNzI4ODEyNTNiY2JkNGFlYTdkZDNlM2YyMzMwOTI0NzIy
MTVhZThmOS4uMjI2OTZiMmI5ODkzZmRiMmI3NzFjYWZmYzkyOGQ1Nzg0YzlmNjQ0ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL01lbW9yeU9iamVj
dFN0b3JlQ3Vyc29yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9z
ZXJ2ZXIvTWVtb3J5T2JqZWN0U3RvcmVDdXJzb3IuY3BwCkBAIC0xOTAsOCArMTkwLDEyIEBAIHZv
aWQgTWVtb3J5T2JqZWN0U3RvcmVDdXJzb3I6OmN1cnJlbnREYXRhKElEQkdldFJlc3VsdCYgZGF0
YSkKICAgICB9CiAKICAgICBtX2N1cnJlbnRQb3NpdGlvbktleSA9ICoqbV9pdGVyYXRvcjsKLSAg
ICBJREJWYWx1ZSB2YWx1ZSA9IHsgbV9vYmplY3RTdG9yZS52YWx1ZUZvcktleVJhbmdlKG1fY3Vy
cmVudFBvc2l0aW9uS2V5KSwgeyB9LCB7IH0gfTsKLSAgICBkYXRhID0geyBtX2N1cnJlbnRQb3Np
dGlvbktleSwgbV9jdXJyZW50UG9zaXRpb25LZXksIFdURk1vdmUodmFsdWUpIH07CisgICAgaWYg
KG1faW5mby5jdXJzb3JUeXBlKCkgPT0gSW5kZXhlZERCOjpDdXJzb3JUeXBlOjpLZXlPbmx5KQor
ICAgICAgICBkYXRhID0geyBtX2N1cnJlbnRQb3NpdGlvbktleSwgbV9jdXJyZW50UG9zaXRpb25L
ZXkgfTsKKyAgICBlbHNlIHsKKyAgICAgICAgSURCVmFsdWUgdmFsdWUgPSB7IG1fb2JqZWN0U3Rv
cmUudmFsdWVGb3JLZXlSYW5nZShtX2N1cnJlbnRQb3NpdGlvbktleSksIHsgfSwgeyB9IH07Cisg
ICAgICAgIGRhdGEgPSB7IG1fY3VycmVudFBvc2l0aW9uS2V5LCBtX2N1cnJlbnRQb3NpdGlvbktl
eSwgV1RGTW92ZSh2YWx1ZSkgfTsKKyAgICB9CiB9CiAKIHZvaWQgTWVtb3J5T2JqZWN0U3RvcmVD
dXJzb3I6OmluY3JlbWVudEZvcndhcmRJdGVyYXRvcihzdGQ6OnNldDxJREJLZXlEYXRhPiYgc2V0
LCBjb25zdCBJREJLZXlEYXRhJiBrZXksIHVpbnQzMl90IGNvdW50KQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1NRTGl0ZUlEQkN1cnNvci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvU1FMaXRlSURCQ3Vyc29y
LmNwcAppbmRleCAzMzIxMmJlN2NhODMwZWE3YzA4ZjQ2NWFhMjFjYzY4MjNiOWU1Nzc5Li45ZmY4
OTdlYWRiNmYzMWEzNDI1ZDAyNTUxYjUzMjQzOGIwYWNiZTI0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvU1FMaXRlSURCQ3Vyc29yLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvU1FMaXRlSURCQ3Vyc29y
LmNwcApAQCAtNzQsNiArNzQsNyBAQCBTUUxpdGVJREJDdXJzb3I6OlNRTGl0ZUlEQkN1cnNvcihT
UUxpdGVJREJUcmFuc2FjdGlvbiYgdHJhbnNhY3Rpb24sIGNvbnN0IElEQkN1cgogICAgICwgbV9v
YmplY3RTdG9yZUlEKGluZm8ub2JqZWN0U3RvcmVJZGVudGlmaWVyKCkpCiAgICAgLCBtX2luZGV4
SUQoaW5mby5jdXJzb3JTb3VyY2UoKSA9PSBJbmRleGVkREI6OkN1cnNvclNvdXJjZTo6SW5kZXgg
PyBpbmZvLnNvdXJjZUlkZW50aWZpZXIoKSA6IElEQkluZGV4SW5mbzo6SW52YWxpZElkKQogICAg
ICwgbV9jdXJzb3JEaXJlY3Rpb24oaW5mby5jdXJzb3JEaXJlY3Rpb24oKSkKKyAgICAsIG1fY3Vy
c29yVHlwZShpbmZvLmN1cnNvclR5cGUoKSkKICAgICAsIG1fa2V5UmFuZ2UoaW5mby5yYW5nZSgp
KQogewogICAgIEFTU0VSVChtX29iamVjdFN0b3JlSUQpOwpAQCAtODUsNiArODYsNyBAQCBTUUxp
dGVJREJDdXJzb3I6OlNRTGl0ZUlEQkN1cnNvcihTUUxpdGVJREJUcmFuc2FjdGlvbiYgdHJhbnNh
Y3Rpb24sIGNvbnN0IHVpbnQ2NAogICAgICwgbV9vYmplY3RTdG9yZUlEKG9iamVjdFN0b3JlSUQp
CiAgICAgLCBtX2luZGV4SUQoaW5kZXhJRCA/IGluZGV4SUQgOiBJREJJbmRleEluZm86OkludmFs
aWRJZCkKICAgICAsIG1fY3Vyc29yRGlyZWN0aW9uKEluZGV4ZWREQjo6Q3Vyc29yRGlyZWN0aW9u
OjpOZXh0KQorICAgICwgbV9jdXJzb3JUeXBlKEluZGV4ZWREQjo6Q3Vyc29yVHlwZTo6S2V5QW5k
VmFsdWUpCiAgICAgLCBtX2tleVJhbmdlKHJhbmdlKQogICAgICwgbV9iYWNraW5nU3RvcmVDdXJz
b3IodHJ1ZSkKIHsKQEAgLTM5Niw3ICszOTgsOCBAQCBTUUxpdGVJREJDdXJzb3I6OkFkdmFuY2VS
ZXN1bHQgU1FMaXRlSURCQ3Vyc29yOjppbnRlcm5hbEFkdmFuY2VPbmNlKCkKICAgICAgICAgICAg
IHJldHVybiBBZHZhbmNlUmVzdWx0OjpGYWlsdXJlOwogICAgICAgICB9CiAKLSAgICAgICAgbV9j
dXJyZW50VmFsdWUgPSBzdGQ6Om1ha2VfdW5pcXVlPElEQlZhbHVlPihUaHJlYWRTYWZlRGF0YUJ1
ZmZlcjo6YWRvcHRWZWN0b3Ioa2V5RGF0YSksIGJsb2JVUkxzLCBibG9iRmlsZVBhdGhzKTsKKyAg
ICAgICAgaWYgKG1fY3Vyc29yVHlwZSA9PSBJbmRleGVkREI6OkN1cnNvclR5cGU6OktleUFuZFZh
bHVlKQorICAgICAgICAgICAgbV9jdXJyZW50VmFsdWUgPSBzdGQ6Om1ha2VfdW5pcXVlPElEQlZh
bHVlPihUaHJlYWRTYWZlRGF0YUJ1ZmZlcjo6YWRvcHRWZWN0b3Ioa2V5RGF0YSksIGJsb2JVUkxz
LCBibG9iRmlsZVBhdGhzKTsKICAgICB9IGVsc2UgewogICAgICAgICBpZiAoIWRlc2VyaWFsaXpl
SURCS2V5RGF0YShrZXlEYXRhLmRhdGEoKSwga2V5RGF0YS5zaXplKCksIG1fY3VycmVudFByaW1h
cnlLZXkpKSB7CiAgICAgICAgICAgICBMT0dfRVJST1IoIlVuYWJsZSB0byBkZXNlcmlhbGl6ZSB2
YWx1ZSBkYXRhIGZyb20gZGF0YWJhc2Ugd2hpbGUgYWR2YW5jaW5nIGluZGV4IGN1cnNvciIpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1NRTGl0
ZUlEQkN1cnNvci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1NR
TGl0ZUlEQkN1cnNvci5oCmluZGV4IDcwYTk1MmI4NmIyZjIxZTAzYmM0N2Q0NWU5NjFjN2YyNTI0
ZjdjZTMuLjFkOGIwY2E5ZTMzNWYwNzRmZjhkM2NhMjI2YmRhYjYxZjkwOGE2YzggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9TUUxpdGVJREJDdXJz
b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvU1FMaXRl
SURCQ3Vyc29yLmgKQEAgLTk2LDYgKzk2LDcgQEAgcHJpdmF0ZToKICAgICBpbnQ2NF90IG1fb2Jq
ZWN0U3RvcmVJRDsKICAgICBpbnQ2NF90IG1faW5kZXhJRCB7IElEQkluZGV4SW5mbzo6SW52YWxp
ZElkIH07CiAgICAgSW5kZXhlZERCOjpDdXJzb3JEaXJlY3Rpb24gbV9jdXJzb3JEaXJlY3Rpb24g
eyBJbmRleGVkREI6OkN1cnNvckRpcmVjdGlvbjo6TmV4dCB9OworICAgIEluZGV4ZWREQjo6Q3Vy
c29yVHlwZSBtX2N1cnNvclR5cGU7CiAgICAgSURCS2V5UmFuZ2VEYXRhIG1fa2V5UmFuZ2U7CiAK
ICAgICBJREJLZXlEYXRhIG1fY3VycmVudExvd2VyS2V5OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQkN1cnNvckluZm8uY3BwIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQkN1cnNvckluZm8uY3BwCmluZGV4
IDM1NTFkNjc0MDhmYTIxMmVmYjA4Njg5ZTIxMjA0ZTQ0Y2ViZjEzMDIuLmYxOGUwZGM2MDE4MTdi
ODBiZmJlMjE3MjlkYjYxNzE4MTQyMGU2NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJDdXJzb3JJbmZvLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCQ3Vyc29ySW5mby5jcHAKQEAgLTM0LDkg
KzM0LDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1JREJDdXJzb3JJbmZvIElEQkN1cnNv
ckluZm86Om9iamVjdFN0b3JlQ3Vyc29yKElEQlRyYW5zYWN0aW9uJiB0cmFuc2FjdGlvbiwgdWlu
dDY0X3Qgb2JqZWN0U3RvcmVJZGVudGlmaWVyLCBjb25zdCBJREJLZXlSYW5nZURhdGEmIHJhbmdl
LCBJbmRleGVkREI6OkN1cnNvckRpcmVjdGlvbiBkaXJlY3Rpb24pCitJREJDdXJzb3JJbmZvIElE
QkN1cnNvckluZm86Om9iamVjdFN0b3JlQ3Vyc29yKElEQlRyYW5zYWN0aW9uJiB0cmFuc2FjdGlv
biwgdWludDY0X3Qgb2JqZWN0U3RvcmVJZGVudGlmaWVyLCBjb25zdCBJREJLZXlSYW5nZURhdGEm
IHJhbmdlLCBJbmRleGVkREI6OkN1cnNvckRpcmVjdGlvbiBkaXJlY3Rpb24sIEluZGV4ZWREQjo6
Q3Vyc29yVHlwZSB0eXBlKQogewotICAgIHJldHVybiB7IHRyYW5zYWN0aW9uLCBvYmplY3RTdG9y
ZUlkZW50aWZpZXIsIHJhbmdlLCBkaXJlY3Rpb24sIEluZGV4ZWREQjo6Q3Vyc29yVHlwZTo6S2V5
QW5kVmFsdWUgfTsKKyAgICByZXR1cm4geyB0cmFuc2FjdGlvbiwgb2JqZWN0U3RvcmVJZGVudGlm
aWVyLCByYW5nZSwgZGlyZWN0aW9uLCB0eXBlIH07CiB9CiAKIElEQkN1cnNvckluZm8gSURCQ3Vy
c29ySW5mbzo6aW5kZXhDdXJzb3IoSURCVHJhbnNhY3Rpb24mIHRyYW5zYWN0aW9uLCB1aW50NjRf
dCBvYmplY3RTdG9yZUlkZW50aWZpZXIsIHVpbnQ2NF90IGluZGV4SWRlbnRpZmllciwgY29uc3Qg
SURCS2V5UmFuZ2VEYXRhJiByYW5nZSwgSW5kZXhlZERCOjpDdXJzb3JEaXJlY3Rpb24gZGlyZWN0
aW9uLCBJbmRleGVkREI6OkN1cnNvclR5cGUgdHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJDdXJzb3JJbmZvLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCQ3Vyc29ySW5mby5oCmluZGV4IDlmZDk4
YzIwMTI2ZDA5M2VkYjQwNjAzZTllMmI3MTI2MTRlZTY5YTMuLjRjNjkzZDAxYjI0M2E3MDVjYTkw
YmIyMTEyMWQ5NWQ5MzYwZTg3MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL3NoYXJlZC9JREJDdXJzb3JJbmZvLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQkN1cnNvckluZm8uaApAQCAtNTAsNyArNTAsNyBAQCBl
bnVtIGNsYXNzIEN1cnNvckR1cGxpY2l0eSB7CiAKIGNsYXNzIElEQkN1cnNvckluZm8gewogcHVi
bGljOgotICAgIHN0YXRpYyBJREJDdXJzb3JJbmZvIG9iamVjdFN0b3JlQ3Vyc29yKElEQlRyYW5z
YWN0aW9uJiwgdWludDY0X3Qgb2JqZWN0U3RvcmVJZGVudGlmaWVyLCBjb25zdCBJREJLZXlSYW5n
ZURhdGEmLCBJbmRleGVkREI6OkN1cnNvckRpcmVjdGlvbik7CisgICAgc3RhdGljIElEQkN1cnNv
ckluZm8gb2JqZWN0U3RvcmVDdXJzb3IoSURCVHJhbnNhY3Rpb24mLCB1aW50NjRfdCBvYmplY3RT
dG9yZUlkZW50aWZpZXIsIGNvbnN0IElEQktleVJhbmdlRGF0YSYsIEluZGV4ZWREQjo6Q3Vyc29y
RGlyZWN0aW9uLCBJbmRleGVkREI6OkN1cnNvclR5cGUpOwogICAgIHN0YXRpYyBJREJDdXJzb3JJ
bmZvIGluZGV4Q3Vyc29yKElEQlRyYW5zYWN0aW9uJiwgdWludDY0X3Qgb2JqZWN0U3RvcmVJZGVu
dGlmaWVyLCB1aW50NjRfdCBpbmRleElkZW50aWZpZXIsIGNvbnN0IElEQktleVJhbmdlRGF0YSYs
IEluZGV4ZWREQjo6Q3Vyc29yRGlyZWN0aW9uLCBJbmRleGVkREI6OkN1cnNvclR5cGUpOwogCiAg
ICAgSURCUmVzb3VyY2VJZGVudGlmaWVyIGlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2N1
cnNvcklkZW50aWZpZXI7IH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBlMzc3ZDM0MjQzM2Q5MjgzYjlhNWFjMjU1NDliMjA4
N2ZkMTIzODRjLi41YWM4MDI1M2VmYjc3YTAzMjQyNmZlNzhkNWQ0Nzc1MWUwYjhmY2VlIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTQgQEAKKzIwMTYtMTAtMjUgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBw
bGUuY29tPgorCisgICAgICAgIEluZGV4ZWREQiAyLjA6IFN1cHBvcnQgSURCT2JqZWN0U3RvcmUg
b3BlbktleUN1cnNvci4KKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI4ODA2OTMwPiBhbmQgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2Mzk1NAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIv
bW9kZXJuL2N1cnNvci0xLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRk
Yi9tb2Rlcm4vY3Vyc29yLTEtcHJpdmF0ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFn
ZS9pbmRleGVkZGIvbW9kZXJuL3Jlc291cmNlcy9jdXJzb3ItMS5qczoKKwogMjAxNi0xMC0yNSAg
UnlhbiBIYWRkYWQgIDxyeWFuaGFkZGFkQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWJDcnlwdG9B
UEkgdGVzdCBnYXJkZW5pbmcgYWZ0ZXIgcjIwNzgwOS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nCmluZGV4IDkxNjMxNWQ4MjFlOTRlYTZjZGJiZjA2MmIxMmY4MGQ1YWMyNGVmZDguLmJjZGVh
Y2UxNWNiY2EyYzJkZmM3MWM2NjZkOGFmNDY2YzFiNmVmOTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE0IEBACiAyMDE2LTEwLTI1ICBCcmFkeSBFaWRzb24gIDxi
ZWlkc29uQGFwcGxlLmNvbT4KIAorICAgICAgICBJbmRleGVkREIgMi4wOiBTdXBwb3J0IElEQk9i
amVjdFN0b3JlIG9wZW5LZXlDdXJzb3IuCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yODgwNjkz
MD4gYW5kIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjM5NTQKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfb3BlbktleUN1cnNvci1leHBlY3Rl
ZC50eHQ6CisKKzIwMTYtMTAtMjUgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgor
CiAgICAgICAgIEluZGV4ZWREQiAyLjA6IFN1cHBvcnQgbmV3IElEQlRyYW5zYWN0aW9uIGludGVy
ZmFjZXMuCiAgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yODgwNjkyOD4gYW5kIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjM5MjcKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0
c3RvcmVfb3BlbktleUN1cnNvci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9vcGVuS2V5Q3Vy
c29yLWV4cGVjdGVkLnR4dAppbmRleCA5Y2ZlMDA3YTgwNTg5YjMxYjI4YTNhYTA2Yjg3ZmMxMjA3
NDcyMGUwLi5jMDAwNmZkYjdhMTRiZGUwYWJlNGQxNmEzNmI5YmFlZDE3ZThkNGFmIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi9pZGJvYmplY3RzdG9yZV9vcGVuS2V5Q3Vyc29yLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3Rz
dG9yZV9vcGVuS2V5Q3Vyc29yLWV4cGVjdGVkLnR4dApAQCAtMSw3ICsxLDcgQEAKIAotRkFJTCBJ
REJPYmplY3RTdG9yZS5vcGVuS2V5Q3Vyc29yKCkgLSBmb3J3YXJkIGl0ZXJhdGlvbiBzdG9yZS5v
cGVuS2V5Q3Vyc29yIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3N0b3JlLm9wZW5LZXlDdXJzb3Io
KScsICdzdG9yZS5vcGVuS2V5Q3Vyc29yJyBpcyB1bmRlZmluZWQpCi1GQUlMIElEQk9iamVjdFN0
b3JlLm9wZW5LZXlDdXJzb3IoKSAtIHJldmVyc2UgaXRlcmF0aW9uIHN0b3JlLm9wZW5LZXlDdXJz
b3IgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnc3RvcmUub3BlbktleUN1cnNvcihudWxsLCAicHJl
diIpJywgJ3N0b3JlLm9wZW5LZXlDdXJzb3InIGlzIHVuZGVmaW5lZCkKLUZBSUwgSURCT2JqZWN0
U3RvcmUub3BlbktleUN1cnNvcigpIC0gZm9yd2FyZCBpdGVyYXRpb24gd2l0aCByYW5nZSBzdG9y
ZS5vcGVuS2V5Q3Vyc29yIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3N0b3JlLm9wZW5LZXlDdXJz
b3IoSURCS2V5UmFuZ2UuYm91bmQoNCwgNikpJywgJ3N0b3JlLm9wZW5LZXlDdXJzb3InIGlzIHVu
ZGVmaW5lZCkKLUZBSUwgSURCT2JqZWN0U3RvcmUub3BlbktleUN1cnNvcigpIC0gcmV2ZXJzZSBp
dGVyYXRpb24gd2l0aCByYW5nZSBzdG9yZS5vcGVuS2V5Q3Vyc29yIGlzIG5vdCBhIGZ1bmN0aW9u
LiAoSW4gJ3N0b3JlLm9wZW5LZXlDdXJzb3IoSURCS2V5UmFuZ2UuYm91bmQoNCwgNiksICJwcmV2
IiknLCAnc3RvcmUub3BlbktleUN1cnNvcicgaXMgdW5kZWZpbmVkKQotRkFJTCBJREJPYmplY3RT
dG9yZS5vcGVuS2V5Q3Vyc29yKCkgLSBpbnZhbGlkIGlucHV0cyBhc3NlcnRfdGhyb3dzOiBvcGVu
S2V5Q3Vyc29yIHNob3VsZCB0aHJvdyBvbiBpbnZhbGlkIG51bWJlciBrZXkgZnVuY3Rpb24gImZ1
bmN0aW9uICgpIHsgc3RvcmUub3BlbktleUN1cnNvcihOYU4pOyB9IiB0aHJldyBvYmplY3QgIlR5
cGVFcnJvcjogc3RvcmUub3BlbktleUN1cnNvciBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdzdC4u
LiIgdGhhdCBpcyBub3QgYSBET01FeGNlcHRpb24gRGF0YUVycm9yOiBwcm9wZXJ0eSAiY29kZSIg
aXMgZXF1YWwgdG8gdW5kZWZpbmVkLCBleHBlY3RlZCAwCitQQVNTIElEQk9iamVjdFN0b3JlLm9w
ZW5LZXlDdXJzb3IoKSAtIGZvcndhcmQgaXRlcmF0aW9uIAorUEFTUyBJREJPYmplY3RTdG9yZS5v
cGVuS2V5Q3Vyc29yKCkgLSByZXZlcnNlIGl0ZXJhdGlvbiAKK1BBU1MgSURCT2JqZWN0U3RvcmUu
b3BlbktleUN1cnNvcigpIC0gZm9yd2FyZCBpdGVyYXRpb24gd2l0aCByYW5nZSAKK1BBU1MgSURC
T2JqZWN0U3RvcmUub3BlbktleUN1cnNvcigpIC0gcmV2ZXJzZSBpdGVyYXRpb24gd2l0aCByYW5n
ZSAKK1BBU1MgSURCT2JqZWN0U3RvcmUub3BlbktleUN1cnNvcigpIC0gaW52YWxpZCBpbnB1dHMg
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9jdXJz
b3ItMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4v
Y3Vyc29yLTEtZXhwZWN0ZWQudHh0CmluZGV4IDk3YjljZGJiNWI1NDYxNmZhMWYyMTBkMGRjYTA3
NzNhYmUyM2UzZDUuLjJlNTcwZThkNDg2ZWYwMzJiMTUxYWYxZmVlMGY3NWFlNWY4YmVjZTEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9jdXJzb3ItMS1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2N1
cnNvci0xLWV4cGVjdGVkLnR4dApAQCAtMTUsNiArMTUsMTIgQEAgQ3Vyc29yIHNvdXJjZSBpczog
W29iamVjdCBJREJPYmplY3RTdG9yZV0gKFRlc3RPYmplY3RTdG9yZSkKIEN1cnNvciBrZXkgaXM6
IDAKIEN1cnNvciBwcmltYXJ5IGtleSBpczogMAogU3VjY2VzcyBvcGVuaW5nIGN1cnNvcgorQ3Vy
c29yIGlzOiBbb2JqZWN0IElEQkN1cnNvcl0KK0N1cnNvciBkaXJlY3Rpb24gaXM6IG5leHQKK0N1
cnNvciBzb3VyY2UgaXM6IFtvYmplY3QgSURCT2JqZWN0U3RvcmVdIChUZXN0T2JqZWN0U3RvcmUp
CitDdXJzb3Iga2V5IGlzOiAwCitDdXJzb3IgcHJpbWFyeSBrZXkgaXM6IDAKK1N1Y2Nlc3Mgb3Bl
bmluZyBjdXJzb3IKIEN1cnNvciBpczogW29iamVjdCBJREJDdXJzb3JXaXRoVmFsdWVdCiBDdXJz
b3IgZGlyZWN0aW9uIGlzOiBuZXh0CiBDdXJzb3Igc291cmNlIGlzOiBbb2JqZWN0IElEQkluZGV4
XSAoVGVzdEluZGV4MSkKQEAgLTMzLDYgKzM5LDEyIEBAIEN1cnNvciBzb3VyY2UgaXM6IFtvYmpl
Y3QgSURCT2JqZWN0U3RvcmVdIChUZXN0T2JqZWN0U3RvcmUpCiBDdXJzb3Iga2V5IGlzOiAwCiBD
dXJzb3IgcHJpbWFyeSBrZXkgaXM6IDAKIFN1Y2Nlc3Mgb3BlbmluZyBjdXJzb3IKK0N1cnNvciBp
czogW29iamVjdCBJREJDdXJzb3JdCitDdXJzb3IgZGlyZWN0aW9uIGlzOiBuZXh0dW5pcXVlCitD
dXJzb3Igc291cmNlIGlzOiBbb2JqZWN0IElEQk9iamVjdFN0b3JlXSAoVGVzdE9iamVjdFN0b3Jl
KQorQ3Vyc29yIGtleSBpczogMAorQ3Vyc29yIHByaW1hcnkga2V5IGlzOiAwCitTdWNjZXNzIG9w
ZW5pbmcgY3Vyc29yCiBDdXJzb3IgaXM6IFtvYmplY3QgSURCQ3Vyc29yV2l0aFZhbHVlXQogQ3Vy
c29yIGRpcmVjdGlvbiBpczogbmV4dHVuaXF1ZQogQ3Vyc29yIHNvdXJjZSBpczogW29iamVjdCBJ
REJJbmRleF0gKFRlc3RJbmRleDEpCkBAIC01MSw2ICs2MywxMiBAQCBDdXJzb3Igc291cmNlIGlz
OiBbb2JqZWN0IElEQk9iamVjdFN0b3JlXSAoVGVzdE9iamVjdFN0b3JlKQogQ3Vyc29yIGtleSBp
czogZm9vCiBDdXJzb3IgcHJpbWFyeSBrZXkgaXM6IGZvbwogU3VjY2VzcyBvcGVuaW5nIGN1cnNv
cgorQ3Vyc29yIGlzOiBbb2JqZWN0IElEQkN1cnNvcl0KK0N1cnNvciBkaXJlY3Rpb24gaXM6IHBy
ZXYKK0N1cnNvciBzb3VyY2UgaXM6IFtvYmplY3QgSURCT2JqZWN0U3RvcmVdIChUZXN0T2JqZWN0
U3RvcmUpCitDdXJzb3Iga2V5IGlzOiBmb28KK0N1cnNvciBwcmltYXJ5IGtleSBpczogZm9vCitT
dWNjZXNzIG9wZW5pbmcgY3Vyc29yCiBDdXJzb3IgaXM6IFtvYmplY3QgSURCQ3Vyc29yV2l0aFZh
bHVlXQogQ3Vyc29yIGRpcmVjdGlvbiBpczogcHJldgogQ3Vyc29yIHNvdXJjZSBpczogW29iamVj
dCBJREJJbmRleF0gKFRlc3RJbmRleDEpCkBAIC02OSw2ICs4NywxMiBAQCBDdXJzb3Igc291cmNl
IGlzOiBbb2JqZWN0IElEQk9iamVjdFN0b3JlXSAoVGVzdE9iamVjdFN0b3JlKQogQ3Vyc29yIGtl
eSBpczogZm9vCiBDdXJzb3IgcHJpbWFyeSBrZXkgaXM6IGZvbwogU3VjY2VzcyBvcGVuaW5nIGN1
cnNvcgorQ3Vyc29yIGlzOiBbb2JqZWN0IElEQkN1cnNvcl0KK0N1cnNvciBkaXJlY3Rpb24gaXM6
IHByZXZ1bmlxdWUKK0N1cnNvciBzb3VyY2UgaXM6IFtvYmplY3QgSURCT2JqZWN0U3RvcmVdIChU
ZXN0T2JqZWN0U3RvcmUpCitDdXJzb3Iga2V5IGlzOiBmb28KK0N1cnNvciBwcmltYXJ5IGtleSBp
czogZm9vCitTdWNjZXNzIG9wZW5pbmcgY3Vyc29yCiBDdXJzb3IgaXM6IFtvYmplY3QgSURCQ3Vy
c29yV2l0aFZhbHVlXQogQ3Vyc29yIGRpcmVjdGlvbiBpczogcHJldnVuaXF1ZQogQ3Vyc29yIHNv
dXJjZSBpczogW29iamVjdCBJREJJbmRleF0gKFRlc3RJbmRleDEpCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vY3Vyc29yLTEtcHJpdmF0ZS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vY3Vyc29yLTEtcHJp
dmF0ZS1leHBlY3RlZC50eHQKaW5kZXggOTdiOWNkYmI1YjU0NjE2ZmExZjIxMGQwZGNhMDc3M2Fi
ZTIzZTNkNS4uMmU1NzBlOGQ0ODZlZjAzMmIxNTFhZjFmZWUwZjc1YWU1ZjhiZWNlMSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2N1cnNvci0xLXByaXZh
dGUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vZGVy
bi9jdXJzb3ItMS1wcml2YXRlLWV4cGVjdGVkLnR4dApAQCAtMTUsNiArMTUsMTIgQEAgQ3Vyc29y
IHNvdXJjZSBpczogW29iamVjdCBJREJPYmplY3RTdG9yZV0gKFRlc3RPYmplY3RTdG9yZSkKIEN1
cnNvciBrZXkgaXM6IDAKIEN1cnNvciBwcmltYXJ5IGtleSBpczogMAogU3VjY2VzcyBvcGVuaW5n
IGN1cnNvcgorQ3Vyc29yIGlzOiBbb2JqZWN0IElEQkN1cnNvcl0KK0N1cnNvciBkaXJlY3Rpb24g
aXM6IG5leHQKK0N1cnNvciBzb3VyY2UgaXM6IFtvYmplY3QgSURCT2JqZWN0U3RvcmVdIChUZXN0
T2JqZWN0U3RvcmUpCitDdXJzb3Iga2V5IGlzOiAwCitDdXJzb3IgcHJpbWFyeSBrZXkgaXM6IDAK
K1N1Y2Nlc3Mgb3BlbmluZyBjdXJzb3IKIEN1cnNvciBpczogW29iamVjdCBJREJDdXJzb3JXaXRo
VmFsdWVdCiBDdXJzb3IgZGlyZWN0aW9uIGlzOiBuZXh0CiBDdXJzb3Igc291cmNlIGlzOiBbb2Jq
ZWN0IElEQkluZGV4XSAoVGVzdEluZGV4MSkKQEAgLTMzLDYgKzM5LDEyIEBAIEN1cnNvciBzb3Vy
Y2UgaXM6IFtvYmplY3QgSURCT2JqZWN0U3RvcmVdIChUZXN0T2JqZWN0U3RvcmUpCiBDdXJzb3Ig
a2V5IGlzOiAwCiBDdXJzb3IgcHJpbWFyeSBrZXkgaXM6IDAKIFN1Y2Nlc3Mgb3BlbmluZyBjdXJz
b3IKK0N1cnNvciBpczogW29iamVjdCBJREJDdXJzb3JdCitDdXJzb3IgZGlyZWN0aW9uIGlzOiBu
ZXh0dW5pcXVlCitDdXJzb3Igc291cmNlIGlzOiBbb2JqZWN0IElEQk9iamVjdFN0b3JlXSAoVGVz
dE9iamVjdFN0b3JlKQorQ3Vyc29yIGtleSBpczogMAorQ3Vyc29yIHByaW1hcnkga2V5IGlzOiAw
CitTdWNjZXNzIG9wZW5pbmcgY3Vyc29yCiBDdXJzb3IgaXM6IFtvYmplY3QgSURCQ3Vyc29yV2l0
aFZhbHVlXQogQ3Vyc29yIGRpcmVjdGlvbiBpczogbmV4dHVuaXF1ZQogQ3Vyc29yIHNvdXJjZSBp
czogW29iamVjdCBJREJJbmRleF0gKFRlc3RJbmRleDEpCkBAIC01MSw2ICs2MywxMiBAQCBDdXJz
b3Igc291cmNlIGlzOiBbb2JqZWN0IElEQk9iamVjdFN0b3JlXSAoVGVzdE9iamVjdFN0b3JlKQog
Q3Vyc29yIGtleSBpczogZm9vCiBDdXJzb3IgcHJpbWFyeSBrZXkgaXM6IGZvbwogU3VjY2VzcyBv
cGVuaW5nIGN1cnNvcgorQ3Vyc29yIGlzOiBbb2JqZWN0IElEQkN1cnNvcl0KK0N1cnNvciBkaXJl
Y3Rpb24gaXM6IHByZXYKK0N1cnNvciBzb3VyY2UgaXM6IFtvYmplY3QgSURCT2JqZWN0U3RvcmVd
IChUZXN0T2JqZWN0U3RvcmUpCitDdXJzb3Iga2V5IGlzOiBmb28KK0N1cnNvciBwcmltYXJ5IGtl
eSBpczogZm9vCitTdWNjZXNzIG9wZW5pbmcgY3Vyc29yCiBDdXJzb3IgaXM6IFtvYmplY3QgSURC
Q3Vyc29yV2l0aFZhbHVlXQogQ3Vyc29yIGRpcmVjdGlvbiBpczogcHJldgogQ3Vyc29yIHNvdXJj
ZSBpczogW29iamVjdCBJREJJbmRleF0gKFRlc3RJbmRleDEpCkBAIC02OSw2ICs4NywxMiBAQCBD
dXJzb3Igc291cmNlIGlzOiBbb2JqZWN0IElEQk9iamVjdFN0b3JlXSAoVGVzdE9iamVjdFN0b3Jl
KQogQ3Vyc29yIGtleSBpczogZm9vCiBDdXJzb3IgcHJpbWFyeSBrZXkgaXM6IGZvbwogU3VjY2Vz
cyBvcGVuaW5nIGN1cnNvcgorQ3Vyc29yIGlzOiBbb2JqZWN0IElEQkN1cnNvcl0KK0N1cnNvciBk
aXJlY3Rpb24gaXM6IHByZXZ1bmlxdWUKK0N1cnNvciBzb3VyY2UgaXM6IFtvYmplY3QgSURCT2Jq
ZWN0U3RvcmVdIChUZXN0T2JqZWN0U3RvcmUpCitDdXJzb3Iga2V5IGlzOiBmb28KK0N1cnNvciBw
cmltYXJ5IGtleSBpczogZm9vCitTdWNjZXNzIG9wZW5pbmcgY3Vyc29yCiBDdXJzb3IgaXM6IFtv
YmplY3QgSURCQ3Vyc29yV2l0aFZhbHVlXQogQ3Vyc29yIGRpcmVjdGlvbiBpczogcHJldnVuaXF1
ZQogQ3Vyc29yIHNvdXJjZSBpczogW29iamVjdCBJREJJbmRleF0gKFRlc3RJbmRleDEpCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vcmVzb3VyY2VzL2N1
cnNvci0xLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL3Jlc291cmNl
cy9jdXJzb3ItMS5qcwppbmRleCAxMTJhN2MyM2NlZDc5ZDgyMmVlZTgyY2ExZjA0YjAxOTNmY2U3
ZjU4Li45OGZhZjRmMmZkMDU1OGFiY2FkZTFmYTA1YzkzNjVlNWNjMjY4M2M0IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vcmVzb3VyY2VzL2N1cnNvci0x
LmpzCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9yZXNvdXJjZXMv
Y3Vyc29yLTEuanMKQEAgLTEsNCArMSw0IEBACi1kZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyBiYXNp
YyBJREJDdXJzb3IgZnVuY3Rpb25hbGl0eSIpOworIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3RzIGJh
c2ljIElEQkN1cnNvciBmdW5jdGlvbmFsaXR5Iik7CiAKIGluZGV4ZWREQlRlc3QocHJlcGFyZURh
dGFiYXNlKTsKIApAQCAtNDQsNiArNDQsOCBAQCBmdW5jdGlvbiB0ZXN0Q3Vyc29yRGlyZWN0aW9u
KGRpcmVjdGlvbikKICAgICB2YXIgcmFuZ2UgPSBJREJLZXlSYW5nZS5sb3dlckJvdW5kKC1JbmZp
bml0eSk7CiAgICAgdmFyIHJlcXVlc3QgPSBvYmplY3RTdG9yZS5vcGVuQ3Vyc29yKHJhbmdlLCBk
aXJlY3Rpb24pOwogICAgIHNldHVwUmVxdWVzdChyZXF1ZXN0KTsKKyAgICByZXF1ZXN0ID0gb2Jq
ZWN0U3RvcmUub3BlbktleUN1cnNvcihyYW5nZSwgZGlyZWN0aW9uKTsKKyAgICBzZXR1cFJlcXVl
c3QocmVxdWVzdCk7CiAgICAgcmVxdWVzdCA9IGluZGV4Lm9wZW5DdXJzb3IocmFuZ2UsIGRpcmVj
dGlvbik7CiAgICAgc2V0dXBSZXF1ZXN0KHJlcXVlc3QpOwogICAgIHJlcXVlc3QgPSBpbmRleC5v
cGVuS2V5Q3Vyc29yKHJhbmdlLCBkaXJlY3Rpb24pOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>292812</attachid>
            <date>2016-10-25 13:40:14 -0700</date>
            <delta_ts>2016-10-25 13:40:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-163954-20161025133628.patch</filename>
            <type>text/plain</type>
            <size>24768</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA3ODQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjcxOTlhNTFhOTMyMzc5
YzgyNTI2ZjhiMmNjZGFlMDc5NGFjYzQ2YS4uZjAwODczNjg4ZTcyOWQxZTIxNzBkY2U5YWRlM2Rh
MGZhNTc0ZmY1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE2LTEwLTI1ICBCcmFk
eSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBJbmRleGVkREIgMi4wOiBT
dXBwb3J0IElEQk9iamVjdFN0b3JlIG9wZW5LZXlDdXJzb3IuCisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS8yODgwNjkzMD4gYW5kIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNjM5NTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBObyBuZXcgdGVzdHMgKENvdmVyZWQgYnkgY2hhbmdlcyB0byBleGlzdGluZyB0ZXN0cykKKwor
ICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQkN1cnNvci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpJREJDdXJzb3I6OmNyZWF0ZSk6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURC
Q3Vyc29yLmg6CisKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpJREJPYmplY3RTdG9yZTo6b3BlbkN1cnNvcik6CisgICAg
ICAgIChXZWJDb3JlOjpJREJPYmplY3RTdG9yZTo6b3BlbktleUN1cnNvcik6CisgICAgICAgICog
TW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmUuaDoKKyAgICAgICAgKiBNb2R1bGVzL2lu
ZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5pZGw6CisKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRk
Yi9JREJUcmFuc2FjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlvbjo6
cmVxdWVzdE9wZW5DdXJzb3IpOgorCisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvc2VydmVy
L01lbW9yeU9iamVjdFN0b3JlQ3Vyc29yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQlNlcnZl
cjo6TWVtb3J5T2JqZWN0U3RvcmVDdXJzb3I6OmN1cnJlbnREYXRhKTogT25seSBncmFiIHRoZSBj
dXJyZW50IHZhbHVlCisgICAgICAgICAgaWYgdGhlIGN1cnNvciBpcyBLZXlBbmRWYWx1ZS4KKwor
ICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9TUUxpdGVJREJDdXJzb3IuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpTUUxpdGVJREJDdXJzb3I6OlNRTGl0ZUlEQkN1
cnNvcik6CisgICAgICAgIChXZWJDb3JlOjpJREJTZXJ2ZXI6OlNRTGl0ZUlEQkN1cnNvcjo6aW50
ZXJuYWxBZHZhbmNlT25jZSk6IE9ubHkgc2F2ZSBvZmYgdGhlIGRhdGEgZm9yIGFuCisgICAgICAg
ICAgb2JqZWN0IHN0b3JlIGN1cnNvciBpZiBpdCdzIGJvdGggS2V5QW5kVmFsdWUuCisgICAgICAg
ICogTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1NRTGl0ZUlEQkN1cnNvci5oOgorCisgICAgICAg
ICogTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQkN1cnNvckluZm8uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SURCQ3Vyc29ySW5mbzo6b2JqZWN0U3RvcmVDdXJzb3IpOiBBbGxvdyBmb3IgYSBL
ZXlPbmx5IE9iamVjdFN0b3JlQ3Vyc29yLgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3No
YXJlZC9JREJDdXJzb3JJbmZvLmg6CisKIDIwMTYtMTAtMjUgIFdlbnNvbiBIc2llaCAgPHdlbnNv
bl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgU3VwcG9ydCBJbnB1dEV2ZW50LmRhdGFUcmFu
c2ZlciBmb3IgdGhlIElucHV0RXZlbnQgc3BlYwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL0lEQkN1cnNvci5jcHAKaW5kZXggOWU4MDU5NGIzZjI4ZTI3YTIwYWZhZjQ0NGZk
OTllNDY4ZDc4YmVkYy4uNTQxNjkwOWFiZDk2ODBlNmFmZWNjMmM1MWI5YzViZGE5ZmQ0MDJiMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3IuY3BwCkBA
IC0xMDYsNiArMTA2LDExIEBAIGNvbnN0IEF0b21pY1N0cmluZyYgSURCQ3Vyc29yOjpkaXJlY3Rp
b25Ub1N0cmluZyhJbmRleGVkREI6OkN1cnNvckRpcmVjdGlvbiBkaXJlCiAgICAgfQogfQogCitS
ZWY8SURCQ3Vyc29yPiBJREJDdXJzb3I6OmNyZWF0ZShJREJUcmFuc2FjdGlvbiYgdHJhbnNhY3Rp
b24sIElEQk9iamVjdFN0b3JlJiBvYmplY3RTdG9yZSwgY29uc3QgSURCQ3Vyc29ySW5mbyYgaW5m
bykKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBJREJDdXJzb3IodHJhbnNhY3Rpb24sIG9i
amVjdFN0b3JlLCBpbmZvKSk7Cit9CisKIFJlZjxJREJDdXJzb3I+IElEQkN1cnNvcjo6Y3JlYXRl
KElEQlRyYW5zYWN0aW9uJiB0cmFuc2FjdGlvbiwgSURCSW5kZXgmIGluZGV4LCBjb25zdCBJREJD
dXJzb3JJbmZvJiBpbmZvKQogewogICAgIHJldHVybiBhZG9wdFJlZigqbmV3IElEQkN1cnNvcih0
cmFuc2FjdGlvbiwgaW5kZXgsIGluZm8pKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL0lEQkN1cnNvci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvSURCQ3Vyc29yLmgKaW5kZXggOTRiMGY3OWFkMWI0NmRlMTVlYTNmYzk5YTg5MzUyYTMw
NWQwZDg0OS4uMmFhODg4MjE3ZjA2MTY2ZTIwMzBkZjM0NjBiYzVmNGYxMTViNmRhMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yLmgKQEAgLTQyLDYgKzQy
LDcgQEAgY2xhc3MgSURCVHJhbnNhY3Rpb247CiAKIGNsYXNzIElEQkN1cnNvciA6IHB1YmxpYyBT
Y3JpcHRXcmFwcGFibGUsIHB1YmxpYyBSZWZDb3VudGVkPElEQkN1cnNvcj4sIHB1YmxpYyBBY3Rp
dmVET01PYmplY3QgewogcHVibGljOgorICAgIHN0YXRpYyBSZWY8SURCQ3Vyc29yPiBjcmVhdGUo
SURCVHJhbnNhY3Rpb24mLCBJREJPYmplY3RTdG9yZSYsIGNvbnN0IElEQkN1cnNvckluZm8mKTsK
ICAgICBzdGF0aWMgUmVmPElEQkN1cnNvcj4gY3JlYXRlKElEQlRyYW5zYWN0aW9uJiwgSURCSW5k
ZXgmLCBjb25zdCBJREJDdXJzb3JJbmZvJik7CiAKICAgICBzdGF0aWMgY29uc3QgQXRvbWljU3Ry
aW5nJiBkaXJlY3Rpb25OZXh0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5jcHAKaW5kZXggMTFjMTRmNTBiYzNhYTQ0YmJmYTY4OTQ0
Zjg0ZWE3YjE0YWM1YzQ5NC4uNzllZTNkNzc4NjZmMWVjNjE3MDJmMjc2YjdkZTIzYmIwNzkxYzkx
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0
U3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVj
dFN0b3JlLmNwcApAQCAtMTUwLDcgKzE1MCw3IEBAIGJvb2wgSURCT2JqZWN0U3RvcmU6OmF1dG9J
bmNyZW1lbnQoKSBjb25zdAogICAgIHJldHVybiBtX2luZm8uYXV0b0luY3JlbWVudCgpOwogfQog
Ci1FeGNlcHRpb25PcjxSZWY8SURCUmVxdWVzdD4+IElEQk9iamVjdFN0b3JlOjpvcGVuQ3Vyc29y
KEV4ZWNTdGF0ZSYgZXhlY1N0YXRlLCBJREJLZXlSYW5nZSogcmFuZ2UsIGNvbnN0IFN0cmluZyYg
ZGlyZWN0aW9uU3RyaW5nKQorRXhjZXB0aW9uT3I8UmVmPElEQlJlcXVlc3Q+PiBJREJPYmplY3RT
dG9yZTo6b3BlbkN1cnNvcihFeGVjU3RhdGUmIGV4ZWNTdGF0ZSwgUmVmUHRyPElEQktleVJhbmdl
PiByYW5nZSwgY29uc3QgU3RyaW5nJiBkaXJlY3Rpb25TdHJpbmcpCiB7CiAgICAgTE9HKEluZGV4
ZWREQiwgIklEQk9iamVjdFN0b3JlOjpvcGVuQ3Vyc29yIik7CiAgICAgQVNTRVJUKGN1cnJlbnRU
aHJlYWQoKSA9PSBtX3RyYW5zYWN0aW9uLT5kYXRhYmFzZSgpLm9yaWdpblRocmVhZElEKCkpOwpA
QCAtMTY1LDcgKzE2NSw3IEBAIEV4Y2VwdGlvbk9yPFJlZjxJREJSZXF1ZXN0Pj4gSURCT2JqZWN0
U3RvcmU6Om9wZW5DdXJzb3IoRXhlY1N0YXRlJiBleGVjU3RhdGUsIElECiAgICAgaWYgKCFkaXJl
Y3Rpb24pCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3IgfTsKIAotICAgIGF1
dG8gaW5mbyA9IElEQkN1cnNvckluZm86Om9iamVjdFN0b3JlQ3Vyc29yKG1fdHJhbnNhY3Rpb24u
Z2V0KCksIG1faW5mby5pZGVudGlmaWVyKCksIHJhbmdlLCBkaXJlY3Rpb24udmFsdWUoKSk7Cisg
ICAgYXV0byBpbmZvID0gSURCQ3Vyc29ySW5mbzo6b2JqZWN0U3RvcmVDdXJzb3IobV90cmFuc2Fj
dGlvbi5nZXQoKSwgbV9pbmZvLmlkZW50aWZpZXIoKSwgcmFuZ2UuZ2V0KCksIGRpcmVjdGlvbi52
YWx1ZSgpLCBJbmRleGVkREI6OkN1cnNvclR5cGU6OktleUFuZFZhbHVlKTsKICAgICByZXR1cm4g
bV90cmFuc2FjdGlvbi0+cmVxdWVzdE9wZW5DdXJzb3IoZXhlY1N0YXRlLCAqdGhpcywgaW5mbyk7
CiB9CiAKQEAgLTE3NSw3ICsxNzUsMzUgQEAgRXhjZXB0aW9uT3I8UmVmPElEQlJlcXVlc3Q+PiBJ
REJPYmplY3RTdG9yZTo6b3BlbkN1cnNvcihFeGVjU3RhdGUmIGV4ZWNTdGF0ZSwgSlMKICAgICBp
ZiAob25seVJlc3VsdC5oYXNFeGNlcHRpb24oKSkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7
IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpEYXRhRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiRmFpbGVkIHRv
IGV4ZWN1dGUgJ29wZW5DdXJzb3InIG9uICdJREJPYmplY3RTdG9yZSc6IFRoZSBwYXJhbWV0ZXIg
aXMgbm90IGEgdmFsaWQga2V5LiIpIH07CiAKLSAgICByZXR1cm4gb3BlbkN1cnNvcihleGVjU3Rh
dGUsIG9ubHlSZXN1bHQucmVsZWFzZVJldHVyblZhbHVlKCkucHRyKCksIGRpcmVjdGlvbik7Cisg
ICAgcmV0dXJuIG9wZW5DdXJzb3IoZXhlY1N0YXRlLCBvbmx5UmVzdWx0LnJlbGVhc2VSZXR1cm5W
YWx1ZSgpLCBkaXJlY3Rpb24pOworfQorCitFeGNlcHRpb25PcjxSZWY8SURCUmVxdWVzdD4+IElE
Qk9iamVjdFN0b3JlOjpvcGVuS2V5Q3Vyc29yKEV4ZWNTdGF0ZSYgZXhlY1N0YXRlLCBSZWZQdHI8
SURCS2V5UmFuZ2U+IHJhbmdlLCBjb25zdCBTdHJpbmcmIGRpcmVjdGlvblN0cmluZykKK3sKKyAg
ICBMT0coSW5kZXhlZERCLCAiSURCT2JqZWN0U3RvcmU6Om9wZW5DdXJzb3IiKTsKKyAgICBBU1NF
UlQoY3VycmVudFRocmVhZCgpID09IG1fdHJhbnNhY3Rpb24tPmRhdGFiYXNlKCkub3JpZ2luVGhy
ZWFkSUQoKSk7CisKKyAgICBpZiAobV9kZWxldGVkKQorICAgICAgICByZXR1cm4gRXhjZXB0aW9u
IHsgSURCRGF0YWJhc2VFeGNlcHRpb246OkludmFsaWRTdGF0ZUVycm9yLCBBU0NJSUxpdGVyYWwo
IkZhaWxlZCB0byBleGVjdXRlICdvcGVuS2V5Q3Vyc29yJyBvbiAnSURCT2JqZWN0U3RvcmUnOiBU
aGUgb2JqZWN0IHN0b3JlIGhhcyBiZWVuIGRlbGV0ZWQuIikgfTsKKworICAgIGlmICghbV90cmFu
c2FjdGlvbi0+aXNBY3RpdmUoKSkKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IElEQkRhdGFi
YXNlRXhjZXB0aW9uOjpUcmFuc2FjdGlvbkluYWN0aXZlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiRmFp
bGVkIHRvIGV4ZWN1dGUgJ29wZW5LZXlDdXJzb3InIG9uICdJREJPYmplY3RTdG9yZSc6IFRoZSB0
cmFuc2FjdGlvbiBpcyBpbmFjdGl2ZSBvciBmaW5pc2hlZC4iKSB9OworCisgICAgYXV0byBkaXJl
Y3Rpb24gPSBJREJDdXJzb3I6OnN0cmluZ1RvRGlyZWN0aW9uKGRpcmVjdGlvblN0cmluZyk7Cisg
ICAgaWYgKCFkaXJlY3Rpb24pCisgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3Ig
fTsKKworICAgIGF1dG8gaW5mbyA9IElEQkN1cnNvckluZm86Om9iamVjdFN0b3JlQ3Vyc29yKG1f
dHJhbnNhY3Rpb24uZ2V0KCksIG1faW5mby5pZGVudGlmaWVyKCksIHJhbmdlLmdldCgpLCBkaXJl
Y3Rpb24udmFsdWUoKSwgSW5kZXhlZERCOjpDdXJzb3JUeXBlOjpLZXlPbmx5KTsKKyAgICByZXR1
cm4gbV90cmFuc2FjdGlvbi0+cmVxdWVzdE9wZW5DdXJzb3IoZXhlY1N0YXRlLCAqdGhpcywgaW5m
byk7Cit9CisKK0V4Y2VwdGlvbk9yPFJlZjxJREJSZXF1ZXN0Pj4gSURCT2JqZWN0U3RvcmU6Om9w
ZW5LZXlDdXJzb3IoRXhlY1N0YXRlJiBleGVjU3RhdGUsIEpTVmFsdWUga2V5LCBjb25zdCBTdHJp
bmcmIGRpcmVjdGlvbikKK3sKKyAgICBhdXRvIG9ubHlSZXN1bHQgPSBJREJLZXlSYW5nZTo6b25s
eShleGVjU3RhdGUsIGtleSk7CisgICAgaWYgKG9ubHlSZXN1bHQuaGFzRXhjZXB0aW9uKCkpCisg
ICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6RGF0YUVycm9y
LCBBU0NJSUxpdGVyYWwoIkZhaWxlZCB0byBleGVjdXRlICdvcGVuS2V5Q3Vyc29yJyBvbiAnSURC
T2JqZWN0U3RvcmUnOiBUaGUgcGFyYW1ldGVyIGlzIG5vdCBhIHZhbGlkIGtleSBvciBrZXkgcmFu
Z2UuIikgfTsKKworICAgIHJldHVybiBvcGVuS2V5Q3Vyc29yKGV4ZWNTdGF0ZSwgb25seVJlc3Vs
dC5yZWxlYXNlUmV0dXJuVmFsdWUoKSwgZGlyZWN0aW9uKTsKIH0KIAogRXhjZXB0aW9uT3I8UmVm
PElEQlJlcXVlc3Q+PiBJREJPYmplY3RTdG9yZTo6Z2V0KEV4ZWNTdGF0ZSYgZXhlY1N0YXRlLCBK
U1ZhbHVlIGtleSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L0lEQk9iamVjdFN0b3JlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJP
YmplY3RTdG9yZS5oCmluZGV4IDIzNTljZWUwZWUzYTM5N2UxZWNkZGYwODk0ZjhmYzVjZDViMWFh
M2MuLjdiMjFjY2M2ODI3ZGVkNmM1YjYzNjVkNzFmNTRhZDkwZmFkNjFiY2EgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmUuaApAQCAtNzIs
OCArNzIsMTAgQEAgcHVibGljOgogICAgICAgICBib29sIG11bHRpRW50cnk7CiAgICAgfTsKIAot
ICAgIEV4Y2VwdGlvbk9yPFJlZjxJREJSZXF1ZXN0Pj4gb3BlbkN1cnNvcihKU0M6OkV4ZWNTdGF0
ZSYsIElEQktleVJhbmdlKiwgY29uc3QgU3RyaW5nJiBkaXJlY3Rpb24pOworICAgIEV4Y2VwdGlv
bk9yPFJlZjxJREJSZXF1ZXN0Pj4gb3BlbkN1cnNvcihKU0M6OkV4ZWNTdGF0ZSYsIFJlZlB0cjxJ
REJLZXlSYW5nZT4sIGNvbnN0IFN0cmluZyYgZGlyZWN0aW9uKTsKICAgICBFeGNlcHRpb25PcjxS
ZWY8SURCUmVxdWVzdD4+IG9wZW5DdXJzb3IoSlNDOjpFeGVjU3RhdGUmLCBKU0M6OkpTVmFsdWUg
a2V5LCBjb25zdCBTdHJpbmcmIGRpcmVjdGlvbik7CisgICAgRXhjZXB0aW9uT3I8UmVmPElEQlJl
cXVlc3Q+PiBvcGVuS2V5Q3Vyc29yKEpTQzo6RXhlY1N0YXRlJiwgUmVmUHRyPElEQktleVJhbmdl
PiwgY29uc3QgU3RyaW5nJiBkaXJlY3Rpb24pOworICAgIEV4Y2VwdGlvbk9yPFJlZjxJREJSZXF1
ZXN0Pj4gb3BlbktleUN1cnNvcihKU0M6OkV4ZWNTdGF0ZSYsIEpTQzo6SlNWYWx1ZSBrZXksIGNv
bnN0IFN0cmluZyYgZGlyZWN0aW9uKTsKICAgICBFeGNlcHRpb25PcjxSZWY8SURCUmVxdWVzdD4+
IGdldChKU0M6OkV4ZWNTdGF0ZSYsIEpTQzo6SlNWYWx1ZSBrZXkpOwogICAgIEV4Y2VwdGlvbk9y
PFJlZjxJREJSZXF1ZXN0Pj4gZ2V0KEpTQzo6RXhlY1N0YXRlJiwgSURCS2V5UmFuZ2UqKTsKICAg
ICBFeGNlcHRpb25PcjxSZWY8SURCUmVxdWVzdD4+IGFkZChKU0M6OkV4ZWNTdGF0ZSYsIEpTQzo6
SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlIGtleSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5pZGwKaW5kZXggNmNkMTQ3ZTZiNzU0ODc2N2I3
ODRlZDFhNjc5NGU2MTQxNTRmMWQ0ZC4uZjBiZDViZjZhY2E2OTQxMzM0N2Q3MGIzZjc2OTYzZTE2
NjhiYWE4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURC
T2JqZWN0U3RvcmUuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lE
Qk9iamVjdFN0b3JlLmlkbApAQCAtNDUsNiArNDUsOCBAQAogICAgIFtDYWxsV2l0aD1TY3JpcHRT
dGF0ZSwgTWF5VGhyb3dFeGNlcHRpb25dIElEQlJlcXVlc3QgY2xlYXIoKTsKICAgICBbQ2FsbFdp
dGg9U2NyaXB0U3RhdGUsIE1heVRocm93RXhjZXB0aW9uXSBJREJSZXF1ZXN0IG9wZW5DdXJzb3Io
b3B0aW9uYWwgSURCS2V5UmFuZ2U/IHJhbmdlID0gbnVsbCwgb3B0aW9uYWwgRE9NU3RyaW5nIGRp
cmVjdGlvbiA9ICJuZXh0Iik7CiAgICAgW0NhbGxXaXRoPVNjcmlwdFN0YXRlLCBNYXlUaHJvd0V4
Y2VwdGlvbl0gSURCUmVxdWVzdCBvcGVuQ3Vyc29yKGFueSBrZXksIG9wdGlvbmFsIERPTVN0cmlu
ZyBkaXJlY3Rpb24gPSAibmV4dCIpOworICAgIFtDYWxsV2l0aD1TY3JpcHRTdGF0ZSwgTWF5VGhy
b3dFeGNlcHRpb25dIElEQlJlcXVlc3Qgb3BlbktleUN1cnNvcihvcHRpb25hbCBJREJLZXlSYW5n
ZT8gcmFuZ2UgPSBudWxsLCBvcHRpb25hbCBET01TdHJpbmcgZGlyZWN0aW9uID0gIm5leHQiKTsK
KyAgICBbQ2FsbFdpdGg9U2NyaXB0U3RhdGUsIE1heVRocm93RXhjZXB0aW9uXSBJREJSZXF1ZXN0
IG9wZW5LZXlDdXJzb3IoYW55IGtleSwgb3B0aW9uYWwgRE9NU3RyaW5nIGRpcmVjdGlvbiA9ICJu
ZXh0Iik7CiAgICAgW0NhbGxXaXRoPVNjcmlwdFN0YXRlLCBNYXlUaHJvd0V4Y2VwdGlvbl0gSURC
SW5kZXggY3JlYXRlSW5kZXgoRE9NU3RyaW5nIG5hbWUsIChET01TdHJpbmcgb3Igc2VxdWVuY2U8
RE9NU3RyaW5nPikga2V5UGF0aCwgb3B0aW9uYWwgSURCSW5kZXhQYXJhbWV0ZXJzIG9wdGlvbnMp
OwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gSURCSW5kZXggaW5kZXgoRE9NU3RyaW5nIG5hbWUp
OwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBkZWxldGVJbmRleChET01TdHJpbmcgbmFt
ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFu
c2FjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2Fj
dGlvbi5jcHAKaW5kZXggNDEzYTY4NGJkZGExYzQ1MWFhOTliNWQ5YzdmYzg4NDIyMTY3ZDkxNy4u
MWU2NGIzNDU3Yjg5OTA3YjE0MjQzMjIyZjFmN2NjZjU3YzllMWVlOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcApAQCAtNzMx
LDYgKzczMSw5IEBAIFJlZjxJREJSZXF1ZXN0PiBJREJUcmFuc2FjdGlvbjo6cmVxdWVzdE9wZW5D
dXJzb3IoRXhlY1N0YXRlJiBleGVjU3RhdGUsIElEQk9iamVjCiAgICAgTE9HKEluZGV4ZWREQiwg
IklEQlRyYW5zYWN0aW9uOjpyZXF1ZXN0T3BlbkN1cnNvciIpOwogICAgIEFTU0VSVChjdXJyZW50
VGhyZWFkKCkgPT0gbV9kYXRhYmFzZS0+b3JpZ2luVGhyZWFkSUQoKSk7CiAKKyAgICBpZiAoaW5m
by5jdXJzb3JUeXBlKCkgPT0gSW5kZXhlZERCOjpDdXJzb3JUeXBlOjpLZXlPbmx5KQorICAgICAg
ICByZXR1cm4gZG9SZXF1ZXN0T3BlbkN1cnNvcihleGVjU3RhdGUsIElEQkN1cnNvcjo6Y3JlYXRl
KCp0aGlzLCBvYmplY3RTdG9yZSwgaW5mbykpOworCiAgICAgcmV0dXJuIGRvUmVxdWVzdE9wZW5D
dXJzb3IoZXhlY1N0YXRlLCBJREJDdXJzb3JXaXRoVmFsdWU6OmNyZWF0ZSgqdGhpcywgb2JqZWN0
U3RvcmUsIGluZm8pKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvc2VydmVyL01lbW9yeU9iamVjdFN0b3JlQ3Vyc29yLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9NZW1vcnlPYmplY3RTdG9yZUN1cnNvci5jcHAK
aW5kZXggNzI4ODEyNTNiY2JkNGFlYTdkZDNlM2YyMzMwOTI0NzIyMTVhZThmOS4uMjI2OTZiMmI5
ODkzZmRiMmI3NzFjYWZmYzkyOGQ1Nzg0YzlmNjQ0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL01lbW9yeU9iamVjdFN0b3JlQ3Vyc29yLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvTWVtb3J5T2JqZWN0
U3RvcmVDdXJzb3IuY3BwCkBAIC0xOTAsOCArMTkwLDEyIEBAIHZvaWQgTWVtb3J5T2JqZWN0U3Rv
cmVDdXJzb3I6OmN1cnJlbnREYXRhKElEQkdldFJlc3VsdCYgZGF0YSkKICAgICB9CiAKICAgICBt
X2N1cnJlbnRQb3NpdGlvbktleSA9ICoqbV9pdGVyYXRvcjsKLSAgICBJREJWYWx1ZSB2YWx1ZSA9
IHsgbV9vYmplY3RTdG9yZS52YWx1ZUZvcktleVJhbmdlKG1fY3VycmVudFBvc2l0aW9uS2V5KSwg
eyB9LCB7IH0gfTsKLSAgICBkYXRhID0geyBtX2N1cnJlbnRQb3NpdGlvbktleSwgbV9jdXJyZW50
UG9zaXRpb25LZXksIFdURk1vdmUodmFsdWUpIH07CisgICAgaWYgKG1faW5mby5jdXJzb3JUeXBl
KCkgPT0gSW5kZXhlZERCOjpDdXJzb3JUeXBlOjpLZXlPbmx5KQorICAgICAgICBkYXRhID0geyBt
X2N1cnJlbnRQb3NpdGlvbktleSwgbV9jdXJyZW50UG9zaXRpb25LZXkgfTsKKyAgICBlbHNlIHsK
KyAgICAgICAgSURCVmFsdWUgdmFsdWUgPSB7IG1fb2JqZWN0U3RvcmUudmFsdWVGb3JLZXlSYW5n
ZShtX2N1cnJlbnRQb3NpdGlvbktleSksIHsgfSwgeyB9IH07CisgICAgICAgIGRhdGEgPSB7IG1f
Y3VycmVudFBvc2l0aW9uS2V5LCBtX2N1cnJlbnRQb3NpdGlvbktleSwgV1RGTW92ZSh2YWx1ZSkg
fTsKKyAgICB9CiB9CiAKIHZvaWQgTWVtb3J5T2JqZWN0U3RvcmVDdXJzb3I6OmluY3JlbWVudEZv
cndhcmRJdGVyYXRvcihzdGQ6OnNldDxJREJLZXlEYXRhPiYgc2V0LCBjb25zdCBJREJLZXlEYXRh
JiBrZXksIHVpbnQzMl90IGNvdW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvc2VydmVyL1NRTGl0ZUlEQkN1cnNvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvU1FMaXRlSURCQ3Vyc29yLmNwcAppbmRleCAzMzIxMmJl
N2NhODMwZWE3YzA4ZjQ2NWFhMjFjYzY4MjNiOWU1Nzc5Li45ZmY4OTdlYWRiNmYzMWEzNDI1ZDAy
NTUxYjUzMjQzOGIwYWNiZTI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9zZXJ2ZXIvU1FMaXRlSURCQ3Vyc29yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvU1FMaXRlSURCQ3Vyc29yLmNwcApAQCAtNzQsNiArNzQs
NyBAQCBTUUxpdGVJREJDdXJzb3I6OlNRTGl0ZUlEQkN1cnNvcihTUUxpdGVJREJUcmFuc2FjdGlv
biYgdHJhbnNhY3Rpb24sIGNvbnN0IElEQkN1cgogICAgICwgbV9vYmplY3RTdG9yZUlEKGluZm8u
b2JqZWN0U3RvcmVJZGVudGlmaWVyKCkpCiAgICAgLCBtX2luZGV4SUQoaW5mby5jdXJzb3JTb3Vy
Y2UoKSA9PSBJbmRleGVkREI6OkN1cnNvclNvdXJjZTo6SW5kZXggPyBpbmZvLnNvdXJjZUlkZW50
aWZpZXIoKSA6IElEQkluZGV4SW5mbzo6SW52YWxpZElkKQogICAgICwgbV9jdXJzb3JEaXJlY3Rp
b24oaW5mby5jdXJzb3JEaXJlY3Rpb24oKSkKKyAgICAsIG1fY3Vyc29yVHlwZShpbmZvLmN1cnNv
clR5cGUoKSkKICAgICAsIG1fa2V5UmFuZ2UoaW5mby5yYW5nZSgpKQogewogICAgIEFTU0VSVCht
X29iamVjdFN0b3JlSUQpOwpAQCAtODUsNiArODYsNyBAQCBTUUxpdGVJREJDdXJzb3I6OlNRTGl0
ZUlEQkN1cnNvcihTUUxpdGVJREJUcmFuc2FjdGlvbiYgdHJhbnNhY3Rpb24sIGNvbnN0IHVpbnQ2
NAogICAgICwgbV9vYmplY3RTdG9yZUlEKG9iamVjdFN0b3JlSUQpCiAgICAgLCBtX2luZGV4SUQo
aW5kZXhJRCA/IGluZGV4SUQgOiBJREJJbmRleEluZm86OkludmFsaWRJZCkKICAgICAsIG1fY3Vy
c29yRGlyZWN0aW9uKEluZGV4ZWREQjo6Q3Vyc29yRGlyZWN0aW9uOjpOZXh0KQorICAgICwgbV9j
dXJzb3JUeXBlKEluZGV4ZWREQjo6Q3Vyc29yVHlwZTo6S2V5QW5kVmFsdWUpCiAgICAgLCBtX2tl
eVJhbmdlKHJhbmdlKQogICAgICwgbV9iYWNraW5nU3RvcmVDdXJzb3IodHJ1ZSkKIHsKQEAgLTM5
Niw3ICszOTgsOCBAQCBTUUxpdGVJREJDdXJzb3I6OkFkdmFuY2VSZXN1bHQgU1FMaXRlSURCQ3Vy
c29yOjppbnRlcm5hbEFkdmFuY2VPbmNlKCkKICAgICAgICAgICAgIHJldHVybiBBZHZhbmNlUmVz
dWx0OjpGYWlsdXJlOwogICAgICAgICB9CiAKLSAgICAgICAgbV9jdXJyZW50VmFsdWUgPSBzdGQ6
Om1ha2VfdW5pcXVlPElEQlZhbHVlPihUaHJlYWRTYWZlRGF0YUJ1ZmZlcjo6YWRvcHRWZWN0b3Io
a2V5RGF0YSksIGJsb2JVUkxzLCBibG9iRmlsZVBhdGhzKTsKKyAgICAgICAgaWYgKG1fY3Vyc29y
VHlwZSA9PSBJbmRleGVkREI6OkN1cnNvclR5cGU6OktleUFuZFZhbHVlKQorICAgICAgICAgICAg
bV9jdXJyZW50VmFsdWUgPSBzdGQ6Om1ha2VfdW5pcXVlPElEQlZhbHVlPihUaHJlYWRTYWZlRGF0
YUJ1ZmZlcjo6YWRvcHRWZWN0b3Ioa2V5RGF0YSksIGJsb2JVUkxzLCBibG9iRmlsZVBhdGhzKTsK
ICAgICB9IGVsc2UgewogICAgICAgICBpZiAoIWRlc2VyaWFsaXplSURCS2V5RGF0YShrZXlEYXRh
LmRhdGEoKSwga2V5RGF0YS5zaXplKCksIG1fY3VycmVudFByaW1hcnlLZXkpKSB7CiAgICAgICAg
ICAgICBMT0dfRVJST1IoIlVuYWJsZSB0byBkZXNlcmlhbGl6ZSB2YWx1ZSBkYXRhIGZyb20gZGF0
YWJhc2Ugd2hpbGUgYWR2YW5jaW5nIGluZGV4IGN1cnNvciIpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1NRTGl0ZUlEQkN1cnNvci5oIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1NRTGl0ZUlEQkN1cnNvci5oCmlu
ZGV4IDcwYTk1MmI4NmIyZjIxZTAzYmM0N2Q0NWU5NjFjN2YyNTI0ZjdjZTMuLjFkOGIwY2E5ZTMz
NWYwNzRmZjhkM2NhMjI2YmRhYjYxZjkwOGE2YzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9TUUxpdGVJREJDdXJzb3IuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvU1FMaXRlSURCQ3Vyc29yLmgKQEAgLTk2
LDYgKzk2LDcgQEAgcHJpdmF0ZToKICAgICBpbnQ2NF90IG1fb2JqZWN0U3RvcmVJRDsKICAgICBp
bnQ2NF90IG1faW5kZXhJRCB7IElEQkluZGV4SW5mbzo6SW52YWxpZElkIH07CiAgICAgSW5kZXhl
ZERCOjpDdXJzb3JEaXJlY3Rpb24gbV9jdXJzb3JEaXJlY3Rpb24geyBJbmRleGVkREI6OkN1cnNv
ckRpcmVjdGlvbjo6TmV4dCB9OworICAgIEluZGV4ZWREQjo6Q3Vyc29yVHlwZSBtX2N1cnNvclR5
cGU7CiAgICAgSURCS2V5UmFuZ2VEYXRhIG1fa2V5UmFuZ2U7CiAKICAgICBJREJLZXlEYXRhIG1f
Y3VycmVudExvd2VyS2V5OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvc2hhcmVkL0lEQkN1cnNvckluZm8uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvc2hhcmVkL0lEQkN1cnNvckluZm8uY3BwCmluZGV4IDM1NTFkNjc0MDhmYTIxMmVm
YjA4Njg5ZTIxMjA0ZTQ0Y2ViZjEzMDIuLmYxOGUwZGM2MDE4MTdiODBiZmJlMjE3MjlkYjYxNzE4
MTQyMGU2NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3No
YXJlZC9JREJDdXJzb3JJbmZvLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9zaGFyZWQvSURCQ3Vyc29ySW5mby5jcHAKQEAgLTM0LDkgKzM0LDkgQEAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi1JREJDdXJzb3JJbmZvIElEQkN1cnNvckluZm86Om9iamVjdFN0b3Jl
Q3Vyc29yKElEQlRyYW5zYWN0aW9uJiB0cmFuc2FjdGlvbiwgdWludDY0X3Qgb2JqZWN0U3RvcmVJ
ZGVudGlmaWVyLCBjb25zdCBJREJLZXlSYW5nZURhdGEmIHJhbmdlLCBJbmRleGVkREI6OkN1cnNv
ckRpcmVjdGlvbiBkaXJlY3Rpb24pCitJREJDdXJzb3JJbmZvIElEQkN1cnNvckluZm86Om9iamVj
dFN0b3JlQ3Vyc29yKElEQlRyYW5zYWN0aW9uJiB0cmFuc2FjdGlvbiwgdWludDY0X3Qgb2JqZWN0
U3RvcmVJZGVudGlmaWVyLCBjb25zdCBJREJLZXlSYW5nZURhdGEmIHJhbmdlLCBJbmRleGVkREI6
OkN1cnNvckRpcmVjdGlvbiBkaXJlY3Rpb24sIEluZGV4ZWREQjo6Q3Vyc29yVHlwZSB0eXBlKQog
ewotICAgIHJldHVybiB7IHRyYW5zYWN0aW9uLCBvYmplY3RTdG9yZUlkZW50aWZpZXIsIHJhbmdl
LCBkaXJlY3Rpb24sIEluZGV4ZWREQjo6Q3Vyc29yVHlwZTo6S2V5QW5kVmFsdWUgfTsKKyAgICBy
ZXR1cm4geyB0cmFuc2FjdGlvbiwgb2JqZWN0U3RvcmVJZGVudGlmaWVyLCByYW5nZSwgZGlyZWN0
aW9uLCB0eXBlIH07CiB9CiAKIElEQkN1cnNvckluZm8gSURCQ3Vyc29ySW5mbzo6aW5kZXhDdXJz
b3IoSURCVHJhbnNhY3Rpb24mIHRyYW5zYWN0aW9uLCB1aW50NjRfdCBvYmplY3RTdG9yZUlkZW50
aWZpZXIsIHVpbnQ2NF90IGluZGV4SWRlbnRpZmllciwgY29uc3QgSURCS2V5UmFuZ2VEYXRhJiBy
YW5nZSwgSW5kZXhlZERCOjpDdXJzb3JEaXJlY3Rpb24gZGlyZWN0aW9uLCBJbmRleGVkREI6OkN1
cnNvclR5cGUgdHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL3NoYXJlZC9JREJDdXJzb3JJbmZvLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9zaGFyZWQvSURCQ3Vyc29ySW5mby5oCmluZGV4IDlmZDk4YzIwMTI2ZDA5M2VkYjQwNjAz
ZTllMmI3MTI2MTRlZTY5YTMuLjRjNjkzZDAxYjI0M2E3MDVjYTkwYmIyMTEyMWQ5NWQ5MzYwZTg3
MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9J
REJDdXJzb3JJbmZvLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hh
cmVkL0lEQkN1cnNvckluZm8uaApAQCAtNTAsNyArNTAsNyBAQCBlbnVtIGNsYXNzIEN1cnNvckR1
cGxpY2l0eSB7CiAKIGNsYXNzIElEQkN1cnNvckluZm8gewogcHVibGljOgotICAgIHN0YXRpYyBJ
REJDdXJzb3JJbmZvIG9iamVjdFN0b3JlQ3Vyc29yKElEQlRyYW5zYWN0aW9uJiwgdWludDY0X3Qg
b2JqZWN0U3RvcmVJZGVudGlmaWVyLCBjb25zdCBJREJLZXlSYW5nZURhdGEmLCBJbmRleGVkREI6
OkN1cnNvckRpcmVjdGlvbik7CisgICAgc3RhdGljIElEQkN1cnNvckluZm8gb2JqZWN0U3RvcmVD
dXJzb3IoSURCVHJhbnNhY3Rpb24mLCB1aW50NjRfdCBvYmplY3RTdG9yZUlkZW50aWZpZXIsIGNv
bnN0IElEQktleVJhbmdlRGF0YSYsIEluZGV4ZWREQjo6Q3Vyc29yRGlyZWN0aW9uLCBJbmRleGVk
REI6OkN1cnNvclR5cGUpOwogICAgIHN0YXRpYyBJREJDdXJzb3JJbmZvIGluZGV4Q3Vyc29yKElE
QlRyYW5zYWN0aW9uJiwgdWludDY0X3Qgb2JqZWN0U3RvcmVJZGVudGlmaWVyLCB1aW50NjRfdCBp
bmRleElkZW50aWZpZXIsIGNvbnN0IElEQktleVJhbmdlRGF0YSYsIEluZGV4ZWREQjo6Q3Vyc29y
RGlyZWN0aW9uLCBJbmRleGVkREI6OkN1cnNvclR5cGUpOwogCiAgICAgSURCUmVzb3VyY2VJZGVu
dGlmaWVyIGlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2N1cnNvcklkZW50aWZpZXI7IH0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAyZWRlMzQ1ZWRmMmU2YzU0NDQ5ZmYxY2ZiNjA5MDBhNjkxMzczZDBlLi42YWFiYWJl
Mzk4OTFmZTg3ZjE4YjY0MWQ2YTE1NDc3MGJkMGJlNmYyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMTYtMTAtMjUgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAgICAg
IEluZGV4ZWREQiAyLjA6IFN1cHBvcnQgSURCT2JqZWN0U3RvcmUgb3BlbktleUN1cnNvci4KKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI4ODA2OTMwPiBhbmQgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE2Mzk1NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2N1cnNvci0xLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vY3Vyc29yLTEt
cHJpdmF0ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJu
L3Jlc291cmNlcy9jdXJzb3ItMS5qczoKKwogMjAxNi0xMC0yNSAgV2Vuc29uIEhzaWVoICA8d2Vu
c29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBTdXBwb3J0IElucHV0RXZlbnQuZGF0YVRy
YW5zZmVyIGZvciB0aGUgSW5wdXRFdmVudCBzcGVjCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZwppbmRleCA5MTYzMTVkODIxZTk0ZWE2Y2RiYmYwNjJiMTJmODBkNWFjMjRlZmQ4Li5iY2RlYWNl
MTVjYmNhMmMyZGZjNzFjNjY2ZDhhZjQ2NmMxYjZlZjkwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9D
aGFuZ2VMb2cKQEAgLTEsNSArMSwxNCBAQAogMjAxNi0xMC0yNSAgQnJhZHkgRWlkc29uICA8YmVp
ZHNvbkBhcHBsZS5jb20+CiAKKyAgICAgICAgSW5kZXhlZERCIDIuMDogU3VwcG9ydCBJREJPYmpl
Y3RTdG9yZSBvcGVuS2V5Q3Vyc29yLgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjg4MDY5MzA+
IGFuZCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYzOTU0CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlX29wZW5LZXlDdXJzb3ItZXhwZWN0ZWQu
dHh0OgorCisyMDE2LTEwLTI1ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKwog
ICAgICAgICBJbmRleGVkREIgMi4wOiBTdXBwb3J0IG5ldyBJREJUcmFuc2FjdGlvbiBpbnRlcmZh
Y2VzLgogICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjg4MDY5Mjg+IGFuZCBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYzOTI3CiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0
b3JlX29wZW5LZXlDdXJzb3ItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfb3BlbktleUN1cnNv
ci1leHBlY3RlZC50eHQKaW5kZXggOWNmZTAwN2E4MDU4OWIzMWIyOGEzYWEwNmI4N2ZjMTIwNzQ3
MjBlMC4uYzAwMDZmZGI3YTE0YmRlMGFiZTRkMTZhMzZiOWJhZWQxN2U4ZDRhZiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIv
aWRib2JqZWN0c3RvcmVfb3BlbktleUN1cnNvci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3Rv
cmVfb3BlbktleUN1cnNvci1leHBlY3RlZC50eHQKQEAgLTEsNyArMSw3IEBACiAKLUZBSUwgSURC
T2JqZWN0U3RvcmUub3BlbktleUN1cnNvcigpIC0gZm9yd2FyZCBpdGVyYXRpb24gc3RvcmUub3Bl
bktleUN1cnNvciBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdzdG9yZS5vcGVuS2V5Q3Vyc29yKCkn
LCAnc3RvcmUub3BlbktleUN1cnNvcicgaXMgdW5kZWZpbmVkKQotRkFJTCBJREJPYmplY3RTdG9y
ZS5vcGVuS2V5Q3Vyc29yKCkgLSByZXZlcnNlIGl0ZXJhdGlvbiBzdG9yZS5vcGVuS2V5Q3Vyc29y
IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3N0b3JlLm9wZW5LZXlDdXJzb3IobnVsbCwgInByZXYi
KScsICdzdG9yZS5vcGVuS2V5Q3Vyc29yJyBpcyB1bmRlZmluZWQpCi1GQUlMIElEQk9iamVjdFN0
b3JlLm9wZW5LZXlDdXJzb3IoKSAtIGZvcndhcmQgaXRlcmF0aW9uIHdpdGggcmFuZ2Ugc3RvcmUu
b3BlbktleUN1cnNvciBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdzdG9yZS5vcGVuS2V5Q3Vyc29y
KElEQktleVJhbmdlLmJvdW5kKDQsIDYpKScsICdzdG9yZS5vcGVuS2V5Q3Vyc29yJyBpcyB1bmRl
ZmluZWQpCi1GQUlMIElEQk9iamVjdFN0b3JlLm9wZW5LZXlDdXJzb3IoKSAtIHJldmVyc2UgaXRl
cmF0aW9uIHdpdGggcmFuZ2Ugc3RvcmUub3BlbktleUN1cnNvciBpcyBub3QgYSBmdW5jdGlvbi4g
KEluICdzdG9yZS5vcGVuS2V5Q3Vyc29yKElEQktleVJhbmdlLmJvdW5kKDQsIDYpLCAicHJldiIp
JywgJ3N0b3JlLm9wZW5LZXlDdXJzb3InIGlzIHVuZGVmaW5lZCkKLUZBSUwgSURCT2JqZWN0U3Rv
cmUub3BlbktleUN1cnNvcigpIC0gaW52YWxpZCBpbnB1dHMgYXNzZXJ0X3Rocm93czogb3Blbktl
eUN1cnNvciBzaG91bGQgdGhyb3cgb24gaW52YWxpZCBudW1iZXIga2V5IGZ1bmN0aW9uICJmdW5j
dGlvbiAoKSB7IHN0b3JlLm9wZW5LZXlDdXJzb3IoTmFOKTsgfSIgdGhyZXcgb2JqZWN0ICJUeXBl
RXJyb3I6IHN0b3JlLm9wZW5LZXlDdXJzb3IgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnc3QuLi4i
IHRoYXQgaXMgbm90IGEgRE9NRXhjZXB0aW9uIERhdGFFcnJvcjogcHJvcGVydHkgImNvZGUiIGlz
IGVxdWFsIHRvIHVuZGVmaW5lZCwgZXhwZWN0ZWQgMAorUEFTUyBJREJPYmplY3RTdG9yZS5vcGVu
S2V5Q3Vyc29yKCkgLSBmb3J3YXJkIGl0ZXJhdGlvbiAKK1BBU1MgSURCT2JqZWN0U3RvcmUub3Bl
bktleUN1cnNvcigpIC0gcmV2ZXJzZSBpdGVyYXRpb24gCitQQVNTIElEQk9iamVjdFN0b3JlLm9w
ZW5LZXlDdXJzb3IoKSAtIGZvcndhcmQgaXRlcmF0aW9uIHdpdGggcmFuZ2UgCitQQVNTIElEQk9i
amVjdFN0b3JlLm9wZW5LZXlDdXJzb3IoKSAtIHJldmVyc2UgaXRlcmF0aW9uIHdpdGggcmFuZ2Ug
CitQQVNTIElEQk9iamVjdFN0b3JlLm9wZW5LZXlDdXJzb3IoKSAtIGludmFsaWQgaW5wdXRzIAog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vY3Vyc29y
LTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2N1
cnNvci0xLWV4cGVjdGVkLnR4dAppbmRleCA5N2I5Y2RiYjViNTQ2MTZmYTFmMjEwZDBkY2EwNzcz
YWJlMjNlM2Q1Li4yZTU3MGU4ZDQ4NmVmMDMyYjE1MWFmMWZlZTBmNzVhZTVmOGJlY2UxIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vY3Vyc29yLTEtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9jdXJz
b3ItMS1leHBlY3RlZC50eHQKQEAgLTE1LDYgKzE1LDEyIEBAIEN1cnNvciBzb3VyY2UgaXM6IFtv
YmplY3QgSURCT2JqZWN0U3RvcmVdIChUZXN0T2JqZWN0U3RvcmUpCiBDdXJzb3Iga2V5IGlzOiAw
CiBDdXJzb3IgcHJpbWFyeSBrZXkgaXM6IDAKIFN1Y2Nlc3Mgb3BlbmluZyBjdXJzb3IKK0N1cnNv
ciBpczogW29iamVjdCBJREJDdXJzb3JdCitDdXJzb3IgZGlyZWN0aW9uIGlzOiBuZXh0CitDdXJz
b3Igc291cmNlIGlzOiBbb2JqZWN0IElEQk9iamVjdFN0b3JlXSAoVGVzdE9iamVjdFN0b3JlKQor
Q3Vyc29yIGtleSBpczogMAorQ3Vyc29yIHByaW1hcnkga2V5IGlzOiAwCitTdWNjZXNzIG9wZW5p
bmcgY3Vyc29yCiBDdXJzb3IgaXM6IFtvYmplY3QgSURCQ3Vyc29yV2l0aFZhbHVlXQogQ3Vyc29y
IGRpcmVjdGlvbiBpczogbmV4dAogQ3Vyc29yIHNvdXJjZSBpczogW29iamVjdCBJREJJbmRleF0g
KFRlc3RJbmRleDEpCkBAIC0zMyw2ICszOSwxMiBAQCBDdXJzb3Igc291cmNlIGlzOiBbb2JqZWN0
IElEQk9iamVjdFN0b3JlXSAoVGVzdE9iamVjdFN0b3JlKQogQ3Vyc29yIGtleSBpczogMAogQ3Vy
c29yIHByaW1hcnkga2V5IGlzOiAwCiBTdWNjZXNzIG9wZW5pbmcgY3Vyc29yCitDdXJzb3IgaXM6
IFtvYmplY3QgSURCQ3Vyc29yXQorQ3Vyc29yIGRpcmVjdGlvbiBpczogbmV4dHVuaXF1ZQorQ3Vy
c29yIHNvdXJjZSBpczogW29iamVjdCBJREJPYmplY3RTdG9yZV0gKFRlc3RPYmplY3RTdG9yZSkK
K0N1cnNvciBrZXkgaXM6IDAKK0N1cnNvciBwcmltYXJ5IGtleSBpczogMAorU3VjY2VzcyBvcGVu
aW5nIGN1cnNvcgogQ3Vyc29yIGlzOiBbb2JqZWN0IElEQkN1cnNvcldpdGhWYWx1ZV0KIEN1cnNv
ciBkaXJlY3Rpb24gaXM6IG5leHR1bmlxdWUKIEN1cnNvciBzb3VyY2UgaXM6IFtvYmplY3QgSURC
SW5kZXhdIChUZXN0SW5kZXgxKQpAQCAtNTEsNiArNjMsMTIgQEAgQ3Vyc29yIHNvdXJjZSBpczog
W29iamVjdCBJREJPYmplY3RTdG9yZV0gKFRlc3RPYmplY3RTdG9yZSkKIEN1cnNvciBrZXkgaXM6
IGZvbwogQ3Vyc29yIHByaW1hcnkga2V5IGlzOiBmb28KIFN1Y2Nlc3Mgb3BlbmluZyBjdXJzb3IK
K0N1cnNvciBpczogW29iamVjdCBJREJDdXJzb3JdCitDdXJzb3IgZGlyZWN0aW9uIGlzOiBwcmV2
CitDdXJzb3Igc291cmNlIGlzOiBbb2JqZWN0IElEQk9iamVjdFN0b3JlXSAoVGVzdE9iamVjdFN0
b3JlKQorQ3Vyc29yIGtleSBpczogZm9vCitDdXJzb3IgcHJpbWFyeSBrZXkgaXM6IGZvbworU3Vj
Y2VzcyBvcGVuaW5nIGN1cnNvcgogQ3Vyc29yIGlzOiBbb2JqZWN0IElEQkN1cnNvcldpdGhWYWx1
ZV0KIEN1cnNvciBkaXJlY3Rpb24gaXM6IHByZXYKIEN1cnNvciBzb3VyY2UgaXM6IFtvYmplY3Qg
SURCSW5kZXhdIChUZXN0SW5kZXgxKQpAQCAtNjksNiArODcsMTIgQEAgQ3Vyc29yIHNvdXJjZSBp
czogW29iamVjdCBJREJPYmplY3RTdG9yZV0gKFRlc3RPYmplY3RTdG9yZSkKIEN1cnNvciBrZXkg
aXM6IGZvbwogQ3Vyc29yIHByaW1hcnkga2V5IGlzOiBmb28KIFN1Y2Nlc3Mgb3BlbmluZyBjdXJz
b3IKK0N1cnNvciBpczogW29iamVjdCBJREJDdXJzb3JdCitDdXJzb3IgZGlyZWN0aW9uIGlzOiBw
cmV2dW5pcXVlCitDdXJzb3Igc291cmNlIGlzOiBbb2JqZWN0IElEQk9iamVjdFN0b3JlXSAoVGVz
dE9iamVjdFN0b3JlKQorQ3Vyc29yIGtleSBpczogZm9vCitDdXJzb3IgcHJpbWFyeSBrZXkgaXM6
IGZvbworU3VjY2VzcyBvcGVuaW5nIGN1cnNvcgogQ3Vyc29yIGlzOiBbb2JqZWN0IElEQkN1cnNv
cldpdGhWYWx1ZV0KIEN1cnNvciBkaXJlY3Rpb24gaXM6IHByZXZ1bmlxdWUKIEN1cnNvciBzb3Vy
Y2UgaXM6IFtvYmplY3QgSURCSW5kZXhdIChUZXN0SW5kZXgxKQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2N1cnNvci0xLXByaXZhdGUtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2N1cnNvci0xLXByaXZh
dGUtZXhwZWN0ZWQudHh0CmluZGV4IDk3YjljZGJiNWI1NDYxNmZhMWYyMTBkMGRjYTA3NzNhYmUy
M2UzZDUuLjJlNTcwZThkNDg2ZWYwMzJiMTUxYWYxZmVlMGY3NWFlNWY4YmVjZTEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9jdXJzb3ItMS1wcml2YXRl
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4v
Y3Vyc29yLTEtcHJpdmF0ZS1leHBlY3RlZC50eHQKQEAgLTE1LDYgKzE1LDEyIEBAIEN1cnNvciBz
b3VyY2UgaXM6IFtvYmplY3QgSURCT2JqZWN0U3RvcmVdIChUZXN0T2JqZWN0U3RvcmUpCiBDdXJz
b3Iga2V5IGlzOiAwCiBDdXJzb3IgcHJpbWFyeSBrZXkgaXM6IDAKIFN1Y2Nlc3Mgb3BlbmluZyBj
dXJzb3IKK0N1cnNvciBpczogW29iamVjdCBJREJDdXJzb3JdCitDdXJzb3IgZGlyZWN0aW9uIGlz
OiBuZXh0CitDdXJzb3Igc291cmNlIGlzOiBbb2JqZWN0IElEQk9iamVjdFN0b3JlXSAoVGVzdE9i
amVjdFN0b3JlKQorQ3Vyc29yIGtleSBpczogMAorQ3Vyc29yIHByaW1hcnkga2V5IGlzOiAwCitT
dWNjZXNzIG9wZW5pbmcgY3Vyc29yCiBDdXJzb3IgaXM6IFtvYmplY3QgSURCQ3Vyc29yV2l0aFZh
bHVlXQogQ3Vyc29yIGRpcmVjdGlvbiBpczogbmV4dAogQ3Vyc29yIHNvdXJjZSBpczogW29iamVj
dCBJREJJbmRleF0gKFRlc3RJbmRleDEpCkBAIC0zMyw2ICszOSwxMiBAQCBDdXJzb3Igc291cmNl
IGlzOiBbb2JqZWN0IElEQk9iamVjdFN0b3JlXSAoVGVzdE9iamVjdFN0b3JlKQogQ3Vyc29yIGtl
eSBpczogMAogQ3Vyc29yIHByaW1hcnkga2V5IGlzOiAwCiBTdWNjZXNzIG9wZW5pbmcgY3Vyc29y
CitDdXJzb3IgaXM6IFtvYmplY3QgSURCQ3Vyc29yXQorQ3Vyc29yIGRpcmVjdGlvbiBpczogbmV4
dHVuaXF1ZQorQ3Vyc29yIHNvdXJjZSBpczogW29iamVjdCBJREJPYmplY3RTdG9yZV0gKFRlc3RP
YmplY3RTdG9yZSkKK0N1cnNvciBrZXkgaXM6IDAKK0N1cnNvciBwcmltYXJ5IGtleSBpczogMAor
U3VjY2VzcyBvcGVuaW5nIGN1cnNvcgogQ3Vyc29yIGlzOiBbb2JqZWN0IElEQkN1cnNvcldpdGhW
YWx1ZV0KIEN1cnNvciBkaXJlY3Rpb24gaXM6IG5leHR1bmlxdWUKIEN1cnNvciBzb3VyY2UgaXM6
IFtvYmplY3QgSURCSW5kZXhdIChUZXN0SW5kZXgxKQpAQCAtNTEsNiArNjMsMTIgQEAgQ3Vyc29y
IHNvdXJjZSBpczogW29iamVjdCBJREJPYmplY3RTdG9yZV0gKFRlc3RPYmplY3RTdG9yZSkKIEN1
cnNvciBrZXkgaXM6IGZvbwogQ3Vyc29yIHByaW1hcnkga2V5IGlzOiBmb28KIFN1Y2Nlc3Mgb3Bl
bmluZyBjdXJzb3IKK0N1cnNvciBpczogW29iamVjdCBJREJDdXJzb3JdCitDdXJzb3IgZGlyZWN0
aW9uIGlzOiBwcmV2CitDdXJzb3Igc291cmNlIGlzOiBbb2JqZWN0IElEQk9iamVjdFN0b3JlXSAo
VGVzdE9iamVjdFN0b3JlKQorQ3Vyc29yIGtleSBpczogZm9vCitDdXJzb3IgcHJpbWFyeSBrZXkg
aXM6IGZvbworU3VjY2VzcyBvcGVuaW5nIGN1cnNvcgogQ3Vyc29yIGlzOiBbb2JqZWN0IElEQkN1
cnNvcldpdGhWYWx1ZV0KIEN1cnNvciBkaXJlY3Rpb24gaXM6IHByZXYKIEN1cnNvciBzb3VyY2Ug
aXM6IFtvYmplY3QgSURCSW5kZXhdIChUZXN0SW5kZXgxKQpAQCAtNjksNiArODcsMTIgQEAgQ3Vy
c29yIHNvdXJjZSBpczogW29iamVjdCBJREJPYmplY3RTdG9yZV0gKFRlc3RPYmplY3RTdG9yZSkK
IEN1cnNvciBrZXkgaXM6IGZvbwogQ3Vyc29yIHByaW1hcnkga2V5IGlzOiBmb28KIFN1Y2Nlc3Mg
b3BlbmluZyBjdXJzb3IKK0N1cnNvciBpczogW29iamVjdCBJREJDdXJzb3JdCitDdXJzb3IgZGly
ZWN0aW9uIGlzOiBwcmV2dW5pcXVlCitDdXJzb3Igc291cmNlIGlzOiBbb2JqZWN0IElEQk9iamVj
dFN0b3JlXSAoVGVzdE9iamVjdFN0b3JlKQorQ3Vyc29yIGtleSBpczogZm9vCitDdXJzb3IgcHJp
bWFyeSBrZXkgaXM6IGZvbworU3VjY2VzcyBvcGVuaW5nIGN1cnNvcgogQ3Vyc29yIGlzOiBbb2Jq
ZWN0IElEQkN1cnNvcldpdGhWYWx1ZV0KIEN1cnNvciBkaXJlY3Rpb24gaXM6IHByZXZ1bmlxdWUK
IEN1cnNvciBzb3VyY2UgaXM6IFtvYmplY3QgSURCSW5kZXhdIChUZXN0SW5kZXgxKQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL3Jlc291cmNlcy9jdXJz
b3ItMS5qcyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9yZXNvdXJjZXMv
Y3Vyc29yLTEuanMKaW5kZXggMTEyYTdjMjNjZWQ3OWQ4MjJlZWU4MmNhMWYwNGIwMTkzZmNlN2Y1
OC4uOThmYWY0ZjJmZDA1NThhYmNhZGUxZmEwNWM5MzY1ZTVjYzI2ODNjNCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL3Jlc291cmNlcy9jdXJzb3ItMS5q
cworKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vcmVzb3VyY2VzL2N1
cnNvci0xLmpzCkBAIC0xLDQgKzEsNCBAQAotZGVzY3JpcHRpb24oIlRoaXMgdGVzdHMgYmFzaWMg
SURCQ3Vyc29yIGZ1bmN0aW9uYWxpdHkiKTsKKyBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyBiYXNp
YyBJREJDdXJzb3IgZnVuY3Rpb25hbGl0eSIpOwogCiBpbmRleGVkREJUZXN0KHByZXBhcmVEYXRh
YmFzZSk7CiAKQEAgLTQ0LDYgKzQ0LDggQEAgZnVuY3Rpb24gdGVzdEN1cnNvckRpcmVjdGlvbihk
aXJlY3Rpb24pCiAgICAgdmFyIHJhbmdlID0gSURCS2V5UmFuZ2UubG93ZXJCb3VuZCgtSW5maW5p
dHkpOwogICAgIHZhciByZXF1ZXN0ID0gb2JqZWN0U3RvcmUub3BlbkN1cnNvcihyYW5nZSwgZGly
ZWN0aW9uKTsKICAgICBzZXR1cFJlcXVlc3QocmVxdWVzdCk7CisgICAgcmVxdWVzdCA9IG9iamVj
dFN0b3JlLm9wZW5LZXlDdXJzb3IocmFuZ2UsIGRpcmVjdGlvbik7CisgICAgc2V0dXBSZXF1ZXN0
KHJlcXVlc3QpOwogICAgIHJlcXVlc3QgPSBpbmRleC5vcGVuQ3Vyc29yKHJhbmdlLCBkaXJlY3Rp
b24pOwogICAgIHNldHVwUmVxdWVzdChyZXF1ZXN0KTsKICAgICByZXF1ZXN0ID0gaW5kZXgub3Bl
bktleUN1cnNvcihyYW5nZSwgZGlyZWN0aW9uKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>292813</attachid>
            <date>2016-10-25 13:40:51 -0700</date>
            <delta_ts>2016-10-25 13:50:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-163954-20161025133705.patch</filename>
            <type>text/plain</type>
            <size>24598</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA3ODQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjcxOTlhNTFhOTMyMzc5
YzgyNTI2ZjhiMmNjZGFlMDc5NGFjYzQ2YS4uZjAwODczNjg4ZTcyOWQxZTIxNzBkY2U5YWRlM2Rh
MGZhNTc0ZmY1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE2LTEwLTI1ICBCcmFk
eSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBJbmRleGVkREIgMi4wOiBT
dXBwb3J0IElEQk9iamVjdFN0b3JlIG9wZW5LZXlDdXJzb3IuCisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS8yODgwNjkzMD4gYW5kIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNjM5NTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBObyBuZXcgdGVzdHMgKENvdmVyZWQgYnkgY2hhbmdlcyB0byBleGlzdGluZyB0ZXN0cykKKwor
ICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQkN1cnNvci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpJREJDdXJzb3I6OmNyZWF0ZSk6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURC
Q3Vyc29yLmg6CisKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpJREJPYmplY3RTdG9yZTo6b3BlbkN1cnNvcik6CisgICAg
ICAgIChXZWJDb3JlOjpJREJPYmplY3RTdG9yZTo6b3BlbktleUN1cnNvcik6CisgICAgICAgICog
TW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmUuaDoKKyAgICAgICAgKiBNb2R1bGVzL2lu
ZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5pZGw6CisKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRk
Yi9JREJUcmFuc2FjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlvbjo6
cmVxdWVzdE9wZW5DdXJzb3IpOgorCisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvc2VydmVy
L01lbW9yeU9iamVjdFN0b3JlQ3Vyc29yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQlNlcnZl
cjo6TWVtb3J5T2JqZWN0U3RvcmVDdXJzb3I6OmN1cnJlbnREYXRhKTogT25seSBncmFiIHRoZSBj
dXJyZW50IHZhbHVlCisgICAgICAgICAgaWYgdGhlIGN1cnNvciBpcyBLZXlBbmRWYWx1ZS4KKwor
ICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9TUUxpdGVJREJDdXJzb3IuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpTUUxpdGVJREJDdXJzb3I6OlNRTGl0ZUlEQkN1
cnNvcik6CisgICAgICAgIChXZWJDb3JlOjpJREJTZXJ2ZXI6OlNRTGl0ZUlEQkN1cnNvcjo6aW50
ZXJuYWxBZHZhbmNlT25jZSk6IE9ubHkgc2F2ZSBvZmYgdGhlIGRhdGEgZm9yIGFuCisgICAgICAg
ICAgb2JqZWN0IHN0b3JlIGN1cnNvciBpZiBpdCdzIGJvdGggS2V5QW5kVmFsdWUuCisgICAgICAg
ICogTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1NRTGl0ZUlEQkN1cnNvci5oOgorCisgICAgICAg
ICogTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQkN1cnNvckluZm8uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SURCQ3Vyc29ySW5mbzo6b2JqZWN0U3RvcmVDdXJzb3IpOiBBbGxvdyBmb3IgYSBL
ZXlPbmx5IE9iamVjdFN0b3JlQ3Vyc29yLgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3No
YXJlZC9JREJDdXJzb3JJbmZvLmg6CisKIDIwMTYtMTAtMjUgIFdlbnNvbiBIc2llaCAgPHdlbnNv
bl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgU3VwcG9ydCBJbnB1dEV2ZW50LmRhdGFUcmFu
c2ZlciBmb3IgdGhlIElucHV0RXZlbnQgc3BlYwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL0lEQkN1cnNvci5jcHAKaW5kZXggOWU4MDU5NGIzZjI4ZTI3YTIwYWZhZjQ0NGZk
OTllNDY4ZDc4YmVkYy4uNTQxNjkwOWFiZDk2ODBlNmFmZWNjMmM1MWI5YzViZGE5ZmQ0MDJiMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3IuY3BwCkBA
IC0xMDYsNiArMTA2LDExIEBAIGNvbnN0IEF0b21pY1N0cmluZyYgSURCQ3Vyc29yOjpkaXJlY3Rp
b25Ub1N0cmluZyhJbmRleGVkREI6OkN1cnNvckRpcmVjdGlvbiBkaXJlCiAgICAgfQogfQogCitS
ZWY8SURCQ3Vyc29yPiBJREJDdXJzb3I6OmNyZWF0ZShJREJUcmFuc2FjdGlvbiYgdHJhbnNhY3Rp
b24sIElEQk9iamVjdFN0b3JlJiBvYmplY3RTdG9yZSwgY29uc3QgSURCQ3Vyc29ySW5mbyYgaW5m
bykKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBJREJDdXJzb3IodHJhbnNhY3Rpb24sIG9i
amVjdFN0b3JlLCBpbmZvKSk7Cit9CisKIFJlZjxJREJDdXJzb3I+IElEQkN1cnNvcjo6Y3JlYXRl
KElEQlRyYW5zYWN0aW9uJiB0cmFuc2FjdGlvbiwgSURCSW5kZXgmIGluZGV4LCBjb25zdCBJREJD
dXJzb3JJbmZvJiBpbmZvKQogewogICAgIHJldHVybiBhZG9wdFJlZigqbmV3IElEQkN1cnNvcih0
cmFuc2FjdGlvbiwgaW5kZXgsIGluZm8pKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL0lEQkN1cnNvci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvSURCQ3Vyc29yLmgKaW5kZXggOTRiMGY3OWFkMWI0NmRlMTVlYTNmYzk5YTg5MzUyYTMw
NWQwZDg0OS4uMmFhODg4MjE3ZjA2MTY2ZTIwMzBkZjM0NjBiYzVmNGYxMTViNmRhMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yLmgKQEAgLTQyLDYgKzQy
LDcgQEAgY2xhc3MgSURCVHJhbnNhY3Rpb247CiAKIGNsYXNzIElEQkN1cnNvciA6IHB1YmxpYyBT
Y3JpcHRXcmFwcGFibGUsIHB1YmxpYyBSZWZDb3VudGVkPElEQkN1cnNvcj4sIHB1YmxpYyBBY3Rp
dmVET01PYmplY3QgewogcHVibGljOgorICAgIHN0YXRpYyBSZWY8SURCQ3Vyc29yPiBjcmVhdGUo
SURCVHJhbnNhY3Rpb24mLCBJREJPYmplY3RTdG9yZSYsIGNvbnN0IElEQkN1cnNvckluZm8mKTsK
ICAgICBzdGF0aWMgUmVmPElEQkN1cnNvcj4gY3JlYXRlKElEQlRyYW5zYWN0aW9uJiwgSURCSW5k
ZXgmLCBjb25zdCBJREJDdXJzb3JJbmZvJik7CiAKICAgICBzdGF0aWMgY29uc3QgQXRvbWljU3Ry
aW5nJiBkaXJlY3Rpb25OZXh0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5jcHAKaW5kZXggMTFjMTRmNTBiYzNhYTQ0YmJmYTY4OTQ0
Zjg0ZWE3YjE0YWM1YzQ5NC4uNzllZTNkNzc4NjZmMWVjNjE3MDJmMjc2YjdkZTIzYmIwNzkxYzkx
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0
U3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVj
dFN0b3JlLmNwcApAQCAtMTUwLDcgKzE1MCw3IEBAIGJvb2wgSURCT2JqZWN0U3RvcmU6OmF1dG9J
bmNyZW1lbnQoKSBjb25zdAogICAgIHJldHVybiBtX2luZm8uYXV0b0luY3JlbWVudCgpOwogfQog
Ci1FeGNlcHRpb25PcjxSZWY8SURCUmVxdWVzdD4+IElEQk9iamVjdFN0b3JlOjpvcGVuQ3Vyc29y
KEV4ZWNTdGF0ZSYgZXhlY1N0YXRlLCBJREJLZXlSYW5nZSogcmFuZ2UsIGNvbnN0IFN0cmluZyYg
ZGlyZWN0aW9uU3RyaW5nKQorRXhjZXB0aW9uT3I8UmVmPElEQlJlcXVlc3Q+PiBJREJPYmplY3RT
dG9yZTo6b3BlbkN1cnNvcihFeGVjU3RhdGUmIGV4ZWNTdGF0ZSwgUmVmUHRyPElEQktleVJhbmdl
PiByYW5nZSwgY29uc3QgU3RyaW5nJiBkaXJlY3Rpb25TdHJpbmcpCiB7CiAgICAgTE9HKEluZGV4
ZWREQiwgIklEQk9iamVjdFN0b3JlOjpvcGVuQ3Vyc29yIik7CiAgICAgQVNTRVJUKGN1cnJlbnRU
aHJlYWQoKSA9PSBtX3RyYW5zYWN0aW9uLT5kYXRhYmFzZSgpLm9yaWdpblRocmVhZElEKCkpOwpA
QCAtMTY1LDcgKzE2NSw3IEBAIEV4Y2VwdGlvbk9yPFJlZjxJREJSZXF1ZXN0Pj4gSURCT2JqZWN0
U3RvcmU6Om9wZW5DdXJzb3IoRXhlY1N0YXRlJiBleGVjU3RhdGUsIElECiAgICAgaWYgKCFkaXJl
Y3Rpb24pCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3IgfTsKIAotICAgIGF1
dG8gaW5mbyA9IElEQkN1cnNvckluZm86Om9iamVjdFN0b3JlQ3Vyc29yKG1fdHJhbnNhY3Rpb24u
Z2V0KCksIG1faW5mby5pZGVudGlmaWVyKCksIHJhbmdlLCBkaXJlY3Rpb24udmFsdWUoKSk7Cisg
ICAgYXV0byBpbmZvID0gSURCQ3Vyc29ySW5mbzo6b2JqZWN0U3RvcmVDdXJzb3IobV90cmFuc2Fj
dGlvbi5nZXQoKSwgbV9pbmZvLmlkZW50aWZpZXIoKSwgcmFuZ2UuZ2V0KCksIGRpcmVjdGlvbi52
YWx1ZSgpLCBJbmRleGVkREI6OkN1cnNvclR5cGU6OktleUFuZFZhbHVlKTsKICAgICByZXR1cm4g
bV90cmFuc2FjdGlvbi0+cmVxdWVzdE9wZW5DdXJzb3IoZXhlY1N0YXRlLCAqdGhpcywgaW5mbyk7
CiB9CiAKQEAgLTE3NSw3ICsxNzUsMzUgQEAgRXhjZXB0aW9uT3I8UmVmPElEQlJlcXVlc3Q+PiBJ
REJPYmplY3RTdG9yZTo6b3BlbkN1cnNvcihFeGVjU3RhdGUmIGV4ZWNTdGF0ZSwgSlMKICAgICBp
ZiAob25seVJlc3VsdC5oYXNFeGNlcHRpb24oKSkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7
IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpEYXRhRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiRmFpbGVkIHRv
IGV4ZWN1dGUgJ29wZW5DdXJzb3InIG9uICdJREJPYmplY3RTdG9yZSc6IFRoZSBwYXJhbWV0ZXIg
aXMgbm90IGEgdmFsaWQga2V5LiIpIH07CiAKLSAgICByZXR1cm4gb3BlbkN1cnNvcihleGVjU3Rh
dGUsIG9ubHlSZXN1bHQucmVsZWFzZVJldHVyblZhbHVlKCkucHRyKCksIGRpcmVjdGlvbik7Cisg
ICAgcmV0dXJuIG9wZW5DdXJzb3IoZXhlY1N0YXRlLCBvbmx5UmVzdWx0LnJlbGVhc2VSZXR1cm5W
YWx1ZSgpLCBkaXJlY3Rpb24pOworfQorCitFeGNlcHRpb25PcjxSZWY8SURCUmVxdWVzdD4+IElE
Qk9iamVjdFN0b3JlOjpvcGVuS2V5Q3Vyc29yKEV4ZWNTdGF0ZSYgZXhlY1N0YXRlLCBSZWZQdHI8
SURCS2V5UmFuZ2U+IHJhbmdlLCBjb25zdCBTdHJpbmcmIGRpcmVjdGlvblN0cmluZykKK3sKKyAg
ICBMT0coSW5kZXhlZERCLCAiSURCT2JqZWN0U3RvcmU6Om9wZW5DdXJzb3IiKTsKKyAgICBBU1NF
UlQoY3VycmVudFRocmVhZCgpID09IG1fdHJhbnNhY3Rpb24tPmRhdGFiYXNlKCkub3JpZ2luVGhy
ZWFkSUQoKSk7CisKKyAgICBpZiAobV9kZWxldGVkKQorICAgICAgICByZXR1cm4gRXhjZXB0aW9u
IHsgSURCRGF0YWJhc2VFeGNlcHRpb246OkludmFsaWRTdGF0ZUVycm9yLCBBU0NJSUxpdGVyYWwo
IkZhaWxlZCB0byBleGVjdXRlICdvcGVuS2V5Q3Vyc29yJyBvbiAnSURCT2JqZWN0U3RvcmUnOiBU
aGUgb2JqZWN0IHN0b3JlIGhhcyBiZWVuIGRlbGV0ZWQuIikgfTsKKworICAgIGlmICghbV90cmFu
c2FjdGlvbi0+aXNBY3RpdmUoKSkKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IElEQkRhdGFi
YXNlRXhjZXB0aW9uOjpUcmFuc2FjdGlvbkluYWN0aXZlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiRmFp
bGVkIHRvIGV4ZWN1dGUgJ29wZW5LZXlDdXJzb3InIG9uICdJREJPYmplY3RTdG9yZSc6IFRoZSB0
cmFuc2FjdGlvbiBpcyBpbmFjdGl2ZSBvciBmaW5pc2hlZC4iKSB9OworCisgICAgYXV0byBkaXJl
Y3Rpb24gPSBJREJDdXJzb3I6OnN0cmluZ1RvRGlyZWN0aW9uKGRpcmVjdGlvblN0cmluZyk7Cisg
ICAgaWYgKCFkaXJlY3Rpb24pCisgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3Ig
fTsKKworICAgIGF1dG8gaW5mbyA9IElEQkN1cnNvckluZm86Om9iamVjdFN0b3JlQ3Vyc29yKG1f
dHJhbnNhY3Rpb24uZ2V0KCksIG1faW5mby5pZGVudGlmaWVyKCksIHJhbmdlLmdldCgpLCBkaXJl
Y3Rpb24udmFsdWUoKSwgSW5kZXhlZERCOjpDdXJzb3JUeXBlOjpLZXlPbmx5KTsKKyAgICByZXR1
cm4gbV90cmFuc2FjdGlvbi0+cmVxdWVzdE9wZW5DdXJzb3IoZXhlY1N0YXRlLCAqdGhpcywgaW5m
byk7Cit9CisKK0V4Y2VwdGlvbk9yPFJlZjxJREJSZXF1ZXN0Pj4gSURCT2JqZWN0U3RvcmU6Om9w
ZW5LZXlDdXJzb3IoRXhlY1N0YXRlJiBleGVjU3RhdGUsIEpTVmFsdWUga2V5LCBjb25zdCBTdHJp
bmcmIGRpcmVjdGlvbikKK3sKKyAgICBhdXRvIG9ubHlSZXN1bHQgPSBJREJLZXlSYW5nZTo6b25s
eShleGVjU3RhdGUsIGtleSk7CisgICAgaWYgKG9ubHlSZXN1bHQuaGFzRXhjZXB0aW9uKCkpCisg
ICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6RGF0YUVycm9y
LCBBU0NJSUxpdGVyYWwoIkZhaWxlZCB0byBleGVjdXRlICdvcGVuS2V5Q3Vyc29yJyBvbiAnSURC
T2JqZWN0U3RvcmUnOiBUaGUgcGFyYW1ldGVyIGlzIG5vdCBhIHZhbGlkIGtleSBvciBrZXkgcmFu
Z2UuIikgfTsKKworICAgIHJldHVybiBvcGVuS2V5Q3Vyc29yKGV4ZWNTdGF0ZSwgb25seVJlc3Vs
dC5yZWxlYXNlUmV0dXJuVmFsdWUoKSwgZGlyZWN0aW9uKTsKIH0KIAogRXhjZXB0aW9uT3I8UmVm
PElEQlJlcXVlc3Q+PiBJREJPYmplY3RTdG9yZTo6Z2V0KEV4ZWNTdGF0ZSYgZXhlY1N0YXRlLCBK
U1ZhbHVlIGtleSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L0lEQk9iamVjdFN0b3JlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJP
YmplY3RTdG9yZS5oCmluZGV4IDIzNTljZWUwZWUzYTM5N2UxZWNkZGYwODk0ZjhmYzVjZDViMWFh
M2MuLjdiMjFjY2M2ODI3ZGVkNmM1YjYzNjVkNzFmNTRhZDkwZmFkNjFiY2EgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmUuaApAQCAtNzIs
OCArNzIsMTAgQEAgcHVibGljOgogICAgICAgICBib29sIG11bHRpRW50cnk7CiAgICAgfTsKIAot
ICAgIEV4Y2VwdGlvbk9yPFJlZjxJREJSZXF1ZXN0Pj4gb3BlbkN1cnNvcihKU0M6OkV4ZWNTdGF0
ZSYsIElEQktleVJhbmdlKiwgY29uc3QgU3RyaW5nJiBkaXJlY3Rpb24pOworICAgIEV4Y2VwdGlv
bk9yPFJlZjxJREJSZXF1ZXN0Pj4gb3BlbkN1cnNvcihKU0M6OkV4ZWNTdGF0ZSYsIFJlZlB0cjxJ
REJLZXlSYW5nZT4sIGNvbnN0IFN0cmluZyYgZGlyZWN0aW9uKTsKICAgICBFeGNlcHRpb25PcjxS
ZWY8SURCUmVxdWVzdD4+IG9wZW5DdXJzb3IoSlNDOjpFeGVjU3RhdGUmLCBKU0M6OkpTVmFsdWUg
a2V5LCBjb25zdCBTdHJpbmcmIGRpcmVjdGlvbik7CisgICAgRXhjZXB0aW9uT3I8UmVmPElEQlJl
cXVlc3Q+PiBvcGVuS2V5Q3Vyc29yKEpTQzo6RXhlY1N0YXRlJiwgUmVmUHRyPElEQktleVJhbmdl
PiwgY29uc3QgU3RyaW5nJiBkaXJlY3Rpb24pOworICAgIEV4Y2VwdGlvbk9yPFJlZjxJREJSZXF1
ZXN0Pj4gb3BlbktleUN1cnNvcihKU0M6OkV4ZWNTdGF0ZSYsIEpTQzo6SlNWYWx1ZSBrZXksIGNv
bnN0IFN0cmluZyYgZGlyZWN0aW9uKTsKICAgICBFeGNlcHRpb25PcjxSZWY8SURCUmVxdWVzdD4+
IGdldChKU0M6OkV4ZWNTdGF0ZSYsIEpTQzo6SlNWYWx1ZSBrZXkpOwogICAgIEV4Y2VwdGlvbk9y
PFJlZjxJREJSZXF1ZXN0Pj4gZ2V0KEpTQzo6RXhlY1N0YXRlJiwgSURCS2V5UmFuZ2UqKTsKICAg
ICBFeGNlcHRpb25PcjxSZWY8SURCUmVxdWVzdD4+IGFkZChKU0M6OkV4ZWNTdGF0ZSYsIEpTQzo6
SlNWYWx1ZSwgSlNDOjpKU1ZhbHVlIGtleSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5pZGwKaW5kZXggNmNkMTQ3ZTZiNzU0ODc2N2I3
ODRlZDFhNjc5NGU2MTQxNTRmMWQ0ZC4uZjBiZDViZjZhY2E2OTQxMzM0N2Q3MGIzZjc2OTYzZTE2
NjhiYWE4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURC
T2JqZWN0U3RvcmUuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lE
Qk9iamVjdFN0b3JlLmlkbApAQCAtNDUsNiArNDUsOCBAQAogICAgIFtDYWxsV2l0aD1TY3JpcHRT
dGF0ZSwgTWF5VGhyb3dFeGNlcHRpb25dIElEQlJlcXVlc3QgY2xlYXIoKTsKICAgICBbQ2FsbFdp
dGg9U2NyaXB0U3RhdGUsIE1heVRocm93RXhjZXB0aW9uXSBJREJSZXF1ZXN0IG9wZW5DdXJzb3Io
b3B0aW9uYWwgSURCS2V5UmFuZ2U/IHJhbmdlID0gbnVsbCwgb3B0aW9uYWwgRE9NU3RyaW5nIGRp
cmVjdGlvbiA9ICJuZXh0Iik7CiAgICAgW0NhbGxXaXRoPVNjcmlwdFN0YXRlLCBNYXlUaHJvd0V4
Y2VwdGlvbl0gSURCUmVxdWVzdCBvcGVuQ3Vyc29yKGFueSBrZXksIG9wdGlvbmFsIERPTVN0cmlu
ZyBkaXJlY3Rpb24gPSAibmV4dCIpOworICAgIFtDYWxsV2l0aD1TY3JpcHRTdGF0ZSwgTWF5VGhy
b3dFeGNlcHRpb25dIElEQlJlcXVlc3Qgb3BlbktleUN1cnNvcihvcHRpb25hbCBJREJLZXlSYW5n
ZT8gcmFuZ2UgPSBudWxsLCBvcHRpb25hbCBET01TdHJpbmcgZGlyZWN0aW9uID0gIm5leHQiKTsK
KyAgICBbQ2FsbFdpdGg9U2NyaXB0U3RhdGUsIE1heVRocm93RXhjZXB0aW9uXSBJREJSZXF1ZXN0
IG9wZW5LZXlDdXJzb3IoYW55IGtleSwgb3B0aW9uYWwgRE9NU3RyaW5nIGRpcmVjdGlvbiA9ICJu
ZXh0Iik7CiAgICAgW0NhbGxXaXRoPVNjcmlwdFN0YXRlLCBNYXlUaHJvd0V4Y2VwdGlvbl0gSURC
SW5kZXggY3JlYXRlSW5kZXgoRE9NU3RyaW5nIG5hbWUsIChET01TdHJpbmcgb3Igc2VxdWVuY2U8
RE9NU3RyaW5nPikga2V5UGF0aCwgb3B0aW9uYWwgSURCSW5kZXhQYXJhbWV0ZXJzIG9wdGlvbnMp
OwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gSURCSW5kZXggaW5kZXgoRE9NU3RyaW5nIG5hbWUp
OwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBkZWxldGVJbmRleChET01TdHJpbmcgbmFt
ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFu
c2FjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2Fj
dGlvbi5jcHAKaW5kZXggNDEzYTY4NGJkZGExYzQ1MWFhOTliNWQ5YzdmYzg4NDIyMTY3ZDkxNy4u
MWU2NGIzNDU3Yjg5OTA3YjE0MjQzMjIyZjFmN2NjZjU3YzllMWVlOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcApAQCAtNzMx
LDYgKzczMSw5IEBAIFJlZjxJREJSZXF1ZXN0PiBJREJUcmFuc2FjdGlvbjo6cmVxdWVzdE9wZW5D
dXJzb3IoRXhlY1N0YXRlJiBleGVjU3RhdGUsIElEQk9iamVjCiAgICAgTE9HKEluZGV4ZWREQiwg
IklEQlRyYW5zYWN0aW9uOjpyZXF1ZXN0T3BlbkN1cnNvciIpOwogICAgIEFTU0VSVChjdXJyZW50
VGhyZWFkKCkgPT0gbV9kYXRhYmFzZS0+b3JpZ2luVGhyZWFkSUQoKSk7CiAKKyAgICBpZiAoaW5m
by5jdXJzb3JUeXBlKCkgPT0gSW5kZXhlZERCOjpDdXJzb3JUeXBlOjpLZXlPbmx5KQorICAgICAg
ICByZXR1cm4gZG9SZXF1ZXN0T3BlbkN1cnNvcihleGVjU3RhdGUsIElEQkN1cnNvcjo6Y3JlYXRl
KCp0aGlzLCBvYmplY3RTdG9yZSwgaW5mbykpOworCiAgICAgcmV0dXJuIGRvUmVxdWVzdE9wZW5D
dXJzb3IoZXhlY1N0YXRlLCBJREJDdXJzb3JXaXRoVmFsdWU6OmNyZWF0ZSgqdGhpcywgb2JqZWN0
U3RvcmUsIGluZm8pKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvc2VydmVyL01lbW9yeU9iamVjdFN0b3JlQ3Vyc29yLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9NZW1vcnlPYmplY3RTdG9yZUN1cnNvci5jcHAK
aW5kZXggNzI4ODEyNTNiY2JkNGFlYTdkZDNlM2YyMzMwOTI0NzIyMTVhZThmOS4uMjI2OTZiMmI5
ODkzZmRiMmI3NzFjYWZmYzkyOGQ1Nzg0YzlmNjQ0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL01lbW9yeU9iamVjdFN0b3JlQ3Vyc29yLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvTWVtb3J5T2JqZWN0
U3RvcmVDdXJzb3IuY3BwCkBAIC0xOTAsOCArMTkwLDEyIEBAIHZvaWQgTWVtb3J5T2JqZWN0U3Rv
cmVDdXJzb3I6OmN1cnJlbnREYXRhKElEQkdldFJlc3VsdCYgZGF0YSkKICAgICB9CiAKICAgICBt
X2N1cnJlbnRQb3NpdGlvbktleSA9ICoqbV9pdGVyYXRvcjsKLSAgICBJREJWYWx1ZSB2YWx1ZSA9
IHsgbV9vYmplY3RTdG9yZS52YWx1ZUZvcktleVJhbmdlKG1fY3VycmVudFBvc2l0aW9uS2V5KSwg
eyB9LCB7IH0gfTsKLSAgICBkYXRhID0geyBtX2N1cnJlbnRQb3NpdGlvbktleSwgbV9jdXJyZW50
UG9zaXRpb25LZXksIFdURk1vdmUodmFsdWUpIH07CisgICAgaWYgKG1faW5mby5jdXJzb3JUeXBl
KCkgPT0gSW5kZXhlZERCOjpDdXJzb3JUeXBlOjpLZXlPbmx5KQorICAgICAgICBkYXRhID0geyBt
X2N1cnJlbnRQb3NpdGlvbktleSwgbV9jdXJyZW50UG9zaXRpb25LZXkgfTsKKyAgICBlbHNlIHsK
KyAgICAgICAgSURCVmFsdWUgdmFsdWUgPSB7IG1fb2JqZWN0U3RvcmUudmFsdWVGb3JLZXlSYW5n
ZShtX2N1cnJlbnRQb3NpdGlvbktleSksIHsgfSwgeyB9IH07CisgICAgICAgIGRhdGEgPSB7IG1f
Y3VycmVudFBvc2l0aW9uS2V5LCBtX2N1cnJlbnRQb3NpdGlvbktleSwgV1RGTW92ZSh2YWx1ZSkg
fTsKKyAgICB9CiB9CiAKIHZvaWQgTWVtb3J5T2JqZWN0U3RvcmVDdXJzb3I6OmluY3JlbWVudEZv
cndhcmRJdGVyYXRvcihzdGQ6OnNldDxJREJLZXlEYXRhPiYgc2V0LCBjb25zdCBJREJLZXlEYXRh
JiBrZXksIHVpbnQzMl90IGNvdW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvc2VydmVyL1NRTGl0ZUlEQkN1cnNvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvU1FMaXRlSURCQ3Vyc29yLmNwcAppbmRleCAzMzIxMmJl
N2NhODMwZWE3YzA4ZjQ2NWFhMjFjYzY4MjNiOWU1Nzc5Li45ZmY4OTdlYWRiNmYzMWEzNDI1ZDAy
NTUxYjUzMjQzOGIwYWNiZTI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9zZXJ2ZXIvU1FMaXRlSURCQ3Vyc29yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvU1FMaXRlSURCQ3Vyc29yLmNwcApAQCAtNzQsNiArNzQs
NyBAQCBTUUxpdGVJREJDdXJzb3I6OlNRTGl0ZUlEQkN1cnNvcihTUUxpdGVJREJUcmFuc2FjdGlv
biYgdHJhbnNhY3Rpb24sIGNvbnN0IElEQkN1cgogICAgICwgbV9vYmplY3RTdG9yZUlEKGluZm8u
b2JqZWN0U3RvcmVJZGVudGlmaWVyKCkpCiAgICAgLCBtX2luZGV4SUQoaW5mby5jdXJzb3JTb3Vy
Y2UoKSA9PSBJbmRleGVkREI6OkN1cnNvclNvdXJjZTo6SW5kZXggPyBpbmZvLnNvdXJjZUlkZW50
aWZpZXIoKSA6IElEQkluZGV4SW5mbzo6SW52YWxpZElkKQogICAgICwgbV9jdXJzb3JEaXJlY3Rp
b24oaW5mby5jdXJzb3JEaXJlY3Rpb24oKSkKKyAgICAsIG1fY3Vyc29yVHlwZShpbmZvLmN1cnNv
clR5cGUoKSkKICAgICAsIG1fa2V5UmFuZ2UoaW5mby5yYW5nZSgpKQogewogICAgIEFTU0VSVCht
X29iamVjdFN0b3JlSUQpOwpAQCAtODUsNiArODYsNyBAQCBTUUxpdGVJREJDdXJzb3I6OlNRTGl0
ZUlEQkN1cnNvcihTUUxpdGVJREJUcmFuc2FjdGlvbiYgdHJhbnNhY3Rpb24sIGNvbnN0IHVpbnQ2
NAogICAgICwgbV9vYmplY3RTdG9yZUlEKG9iamVjdFN0b3JlSUQpCiAgICAgLCBtX2luZGV4SUQo
aW5kZXhJRCA/IGluZGV4SUQgOiBJREJJbmRleEluZm86OkludmFsaWRJZCkKICAgICAsIG1fY3Vy
c29yRGlyZWN0aW9uKEluZGV4ZWREQjo6Q3Vyc29yRGlyZWN0aW9uOjpOZXh0KQorICAgICwgbV9j
dXJzb3JUeXBlKEluZGV4ZWREQjo6Q3Vyc29yVHlwZTo6S2V5QW5kVmFsdWUpCiAgICAgLCBtX2tl
eVJhbmdlKHJhbmdlKQogICAgICwgbV9iYWNraW5nU3RvcmVDdXJzb3IodHJ1ZSkKIHsKQEAgLTM5
Niw3ICszOTgsOCBAQCBTUUxpdGVJREJDdXJzb3I6OkFkdmFuY2VSZXN1bHQgU1FMaXRlSURCQ3Vy
c29yOjppbnRlcm5hbEFkdmFuY2VPbmNlKCkKICAgICAgICAgICAgIHJldHVybiBBZHZhbmNlUmVz
dWx0OjpGYWlsdXJlOwogICAgICAgICB9CiAKLSAgICAgICAgbV9jdXJyZW50VmFsdWUgPSBzdGQ6
Om1ha2VfdW5pcXVlPElEQlZhbHVlPihUaHJlYWRTYWZlRGF0YUJ1ZmZlcjo6YWRvcHRWZWN0b3Io
a2V5RGF0YSksIGJsb2JVUkxzLCBibG9iRmlsZVBhdGhzKTsKKyAgICAgICAgaWYgKG1fY3Vyc29y
VHlwZSA9PSBJbmRleGVkREI6OkN1cnNvclR5cGU6OktleUFuZFZhbHVlKQorICAgICAgICAgICAg
bV9jdXJyZW50VmFsdWUgPSBzdGQ6Om1ha2VfdW5pcXVlPElEQlZhbHVlPihUaHJlYWRTYWZlRGF0
YUJ1ZmZlcjo6YWRvcHRWZWN0b3Ioa2V5RGF0YSksIGJsb2JVUkxzLCBibG9iRmlsZVBhdGhzKTsK
ICAgICB9IGVsc2UgewogICAgICAgICBpZiAoIWRlc2VyaWFsaXplSURCS2V5RGF0YShrZXlEYXRh
LmRhdGEoKSwga2V5RGF0YS5zaXplKCksIG1fY3VycmVudFByaW1hcnlLZXkpKSB7CiAgICAgICAg
ICAgICBMT0dfRVJST1IoIlVuYWJsZSB0byBkZXNlcmlhbGl6ZSB2YWx1ZSBkYXRhIGZyb20gZGF0
YWJhc2Ugd2hpbGUgYWR2YW5jaW5nIGluZGV4IGN1cnNvciIpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1NRTGl0ZUlEQkN1cnNvci5oIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1NRTGl0ZUlEQkN1cnNvci5oCmlu
ZGV4IDcwYTk1MmI4NmIyZjIxZTAzYmM0N2Q0NWU5NjFjN2YyNTI0ZjdjZTMuLjFkOGIwY2E5ZTMz
NWYwNzRmZjhkM2NhMjI2YmRhYjYxZjkwOGE2YzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9TUUxpdGVJREJDdXJzb3IuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvU1FMaXRlSURCQ3Vyc29yLmgKQEAgLTk2
LDYgKzk2LDcgQEAgcHJpdmF0ZToKICAgICBpbnQ2NF90IG1fb2JqZWN0U3RvcmVJRDsKICAgICBp
bnQ2NF90IG1faW5kZXhJRCB7IElEQkluZGV4SW5mbzo6SW52YWxpZElkIH07CiAgICAgSW5kZXhl
ZERCOjpDdXJzb3JEaXJlY3Rpb24gbV9jdXJzb3JEaXJlY3Rpb24geyBJbmRleGVkREI6OkN1cnNv
ckRpcmVjdGlvbjo6TmV4dCB9OworICAgIEluZGV4ZWREQjo6Q3Vyc29yVHlwZSBtX2N1cnNvclR5
cGU7CiAgICAgSURCS2V5UmFuZ2VEYXRhIG1fa2V5UmFuZ2U7CiAKICAgICBJREJLZXlEYXRhIG1f
Y3VycmVudExvd2VyS2V5OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvc2hhcmVkL0lEQkN1cnNvckluZm8uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvc2hhcmVkL0lEQkN1cnNvckluZm8uY3BwCmluZGV4IDM1NTFkNjc0MDhmYTIxMmVm
YjA4Njg5ZTIxMjA0ZTQ0Y2ViZjEzMDIuLmYxOGUwZGM2MDE4MTdiODBiZmJlMjE3MjlkYjYxNzE4
MTQyMGU2NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3No
YXJlZC9JREJDdXJzb3JJbmZvLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9zaGFyZWQvSURCQ3Vyc29ySW5mby5jcHAKQEAgLTM0LDkgKzM0LDkgQEAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi1JREJDdXJzb3JJbmZvIElEQkN1cnNvckluZm86Om9iamVjdFN0b3Jl
Q3Vyc29yKElEQlRyYW5zYWN0aW9uJiB0cmFuc2FjdGlvbiwgdWludDY0X3Qgb2JqZWN0U3RvcmVJ
ZGVudGlmaWVyLCBjb25zdCBJREJLZXlSYW5nZURhdGEmIHJhbmdlLCBJbmRleGVkREI6OkN1cnNv
ckRpcmVjdGlvbiBkaXJlY3Rpb24pCitJREJDdXJzb3JJbmZvIElEQkN1cnNvckluZm86Om9iamVj
dFN0b3JlQ3Vyc29yKElEQlRyYW5zYWN0aW9uJiB0cmFuc2FjdGlvbiwgdWludDY0X3Qgb2JqZWN0
U3RvcmVJZGVudGlmaWVyLCBjb25zdCBJREJLZXlSYW5nZURhdGEmIHJhbmdlLCBJbmRleGVkREI6
OkN1cnNvckRpcmVjdGlvbiBkaXJlY3Rpb24sIEluZGV4ZWREQjo6Q3Vyc29yVHlwZSB0eXBlKQog
ewotICAgIHJldHVybiB7IHRyYW5zYWN0aW9uLCBvYmplY3RTdG9yZUlkZW50aWZpZXIsIHJhbmdl
LCBkaXJlY3Rpb24sIEluZGV4ZWREQjo6Q3Vyc29yVHlwZTo6S2V5QW5kVmFsdWUgfTsKKyAgICBy
ZXR1cm4geyB0cmFuc2FjdGlvbiwgb2JqZWN0U3RvcmVJZGVudGlmaWVyLCByYW5nZSwgZGlyZWN0
aW9uLCB0eXBlIH07CiB9CiAKIElEQkN1cnNvckluZm8gSURCQ3Vyc29ySW5mbzo6aW5kZXhDdXJz
b3IoSURCVHJhbnNhY3Rpb24mIHRyYW5zYWN0aW9uLCB1aW50NjRfdCBvYmplY3RTdG9yZUlkZW50
aWZpZXIsIHVpbnQ2NF90IGluZGV4SWRlbnRpZmllciwgY29uc3QgSURCS2V5UmFuZ2VEYXRhJiBy
YW5nZSwgSW5kZXhlZERCOjpDdXJzb3JEaXJlY3Rpb24gZGlyZWN0aW9uLCBJbmRleGVkREI6OkN1
cnNvclR5cGUgdHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL3NoYXJlZC9JREJDdXJzb3JJbmZvLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9zaGFyZWQvSURCQ3Vyc29ySW5mby5oCmluZGV4IDlmZDk4YzIwMTI2ZDA5M2VkYjQwNjAz
ZTllMmI3MTI2MTRlZTY5YTMuLjRjNjkzZDAxYjI0M2E3MDVjYTkwYmIyMTEyMWQ5NWQ5MzYwZTg3
MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9J
REJDdXJzb3JJbmZvLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hh
cmVkL0lEQkN1cnNvckluZm8uaApAQCAtNTAsNyArNTAsNyBAQCBlbnVtIGNsYXNzIEN1cnNvckR1
cGxpY2l0eSB7CiAKIGNsYXNzIElEQkN1cnNvckluZm8gewogcHVibGljOgotICAgIHN0YXRpYyBJ
REJDdXJzb3JJbmZvIG9iamVjdFN0b3JlQ3Vyc29yKElEQlRyYW5zYWN0aW9uJiwgdWludDY0X3Qg
b2JqZWN0U3RvcmVJZGVudGlmaWVyLCBjb25zdCBJREJLZXlSYW5nZURhdGEmLCBJbmRleGVkREI6
OkN1cnNvckRpcmVjdGlvbik7CisgICAgc3RhdGljIElEQkN1cnNvckluZm8gb2JqZWN0U3RvcmVD
dXJzb3IoSURCVHJhbnNhY3Rpb24mLCB1aW50NjRfdCBvYmplY3RTdG9yZUlkZW50aWZpZXIsIGNv
bnN0IElEQktleVJhbmdlRGF0YSYsIEluZGV4ZWREQjo6Q3Vyc29yRGlyZWN0aW9uLCBJbmRleGVk
REI6OkN1cnNvclR5cGUpOwogICAgIHN0YXRpYyBJREJDdXJzb3JJbmZvIGluZGV4Q3Vyc29yKElE
QlRyYW5zYWN0aW9uJiwgdWludDY0X3Qgb2JqZWN0U3RvcmVJZGVudGlmaWVyLCB1aW50NjRfdCBp
bmRleElkZW50aWZpZXIsIGNvbnN0IElEQktleVJhbmdlRGF0YSYsIEluZGV4ZWREQjo6Q3Vyc29y
RGlyZWN0aW9uLCBJbmRleGVkREI6OkN1cnNvclR5cGUpOwogCiAgICAgSURCUmVzb3VyY2VJZGVu
dGlmaWVyIGlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2N1cnNvcklkZW50aWZpZXI7IH0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAyZWRlMzQ1ZWRmMmU2YzU0NDQ5ZmYxY2ZiNjA5MDBhNjkxMzczZDBlLi42YWFiYWJl
Mzk4OTFmZTg3ZjE4YjY0MWQ2YTE1NDc3MGJkMGJlNmYyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMTYtMTAtMjUgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAgICAg
IEluZGV4ZWREQiAyLjA6IFN1cHBvcnQgSURCT2JqZWN0U3RvcmUgb3BlbktleUN1cnNvci4KKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI4ODA2OTMwPiBhbmQgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE2Mzk1NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2N1cnNvci0xLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vY3Vyc29yLTEt
cHJpdmF0ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJu
L3Jlc291cmNlcy9jdXJzb3ItMS5qczoKKwogMjAxNi0xMC0yNSAgV2Vuc29uIEhzaWVoICA8d2Vu
c29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBTdXBwb3J0IElucHV0RXZlbnQuZGF0YVRy
YW5zZmVyIGZvciB0aGUgSW5wdXRFdmVudCBzcGVjCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZwppbmRleCA5MTYzMTVkODIxZTk0ZWE2Y2RiYmYwNjJiMTJmODBkNWFjMjRlZmQ4Li5iY2RlYWNl
MTVjYmNhMmMyZGZjNzFjNjY2ZDhhZjQ2NmMxYjZlZjkwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9D
aGFuZ2VMb2cKQEAgLTEsNSArMSwxNCBAQAogMjAxNi0xMC0yNSAgQnJhZHkgRWlkc29uICA8YmVp
ZHNvbkBhcHBsZS5jb20+CiAKKyAgICAgICAgSW5kZXhlZERCIDIuMDogU3VwcG9ydCBJREJPYmpl
Y3RTdG9yZSBvcGVuS2V5Q3Vyc29yLgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjg4MDY5MzA+
IGFuZCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYzOTU0CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlX29wZW5LZXlDdXJzb3ItZXhwZWN0ZWQu
dHh0OgorCisyMDE2LTEwLTI1ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKwog
ICAgICAgICBJbmRleGVkREIgMi4wOiBTdXBwb3J0IG5ldyBJREJUcmFuc2FjdGlvbiBpbnRlcmZh
Y2VzLgogICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjg4MDY5Mjg+IGFuZCBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYzOTI3CiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0
b3JlX29wZW5LZXlDdXJzb3ItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfb3BlbktleUN1cnNv
ci1leHBlY3RlZC50eHQKaW5kZXggOWNmZTAwN2E4MDU4OWIzMWIyOGEzYWEwNmI4N2ZjMTIwNzQ3
MjBlMC4uYzAwMDZmZGI3YTE0YmRlMGFiZTRkMTZhMzZiOWJhZWQxN2U4ZDRhZiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIv
aWRib2JqZWN0c3RvcmVfb3BlbktleUN1cnNvci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3Rv
cmVfb3BlbktleUN1cnNvci1leHBlY3RlZC50eHQKQEAgLTEsNyArMSw3IEBACiAKLUZBSUwgSURC
T2JqZWN0U3RvcmUub3BlbktleUN1cnNvcigpIC0gZm9yd2FyZCBpdGVyYXRpb24gc3RvcmUub3Bl
bktleUN1cnNvciBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdzdG9yZS5vcGVuS2V5Q3Vyc29yKCkn
LCAnc3RvcmUub3BlbktleUN1cnNvcicgaXMgdW5kZWZpbmVkKQotRkFJTCBJREJPYmplY3RTdG9y
ZS5vcGVuS2V5Q3Vyc29yKCkgLSByZXZlcnNlIGl0ZXJhdGlvbiBzdG9yZS5vcGVuS2V5Q3Vyc29y
IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3N0b3JlLm9wZW5LZXlDdXJzb3IobnVsbCwgInByZXYi
KScsICdzdG9yZS5vcGVuS2V5Q3Vyc29yJyBpcyB1bmRlZmluZWQpCi1GQUlMIElEQk9iamVjdFN0
b3JlLm9wZW5LZXlDdXJzb3IoKSAtIGZvcndhcmQgaXRlcmF0aW9uIHdpdGggcmFuZ2Ugc3RvcmUu
b3BlbktleUN1cnNvciBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdzdG9yZS5vcGVuS2V5Q3Vyc29y
KElEQktleVJhbmdlLmJvdW5kKDQsIDYpKScsICdzdG9yZS5vcGVuS2V5Q3Vyc29yJyBpcyB1bmRl
ZmluZWQpCi1GQUlMIElEQk9iamVjdFN0b3JlLm9wZW5LZXlDdXJzb3IoKSAtIHJldmVyc2UgaXRl
cmF0aW9uIHdpdGggcmFuZ2Ugc3RvcmUub3BlbktleUN1cnNvciBpcyBub3QgYSBmdW5jdGlvbi4g
KEluICdzdG9yZS5vcGVuS2V5Q3Vyc29yKElEQktleVJhbmdlLmJvdW5kKDQsIDYpLCAicHJldiIp
JywgJ3N0b3JlLm9wZW5LZXlDdXJzb3InIGlzIHVuZGVmaW5lZCkKLUZBSUwgSURCT2JqZWN0U3Rv
cmUub3BlbktleUN1cnNvcigpIC0gaW52YWxpZCBpbnB1dHMgYXNzZXJ0X3Rocm93czogb3Blbktl
eUN1cnNvciBzaG91bGQgdGhyb3cgb24gaW52YWxpZCBudW1iZXIga2V5IGZ1bmN0aW9uICJmdW5j
dGlvbiAoKSB7IHN0b3JlLm9wZW5LZXlDdXJzb3IoTmFOKTsgfSIgdGhyZXcgb2JqZWN0ICJUeXBl
RXJyb3I6IHN0b3JlLm9wZW5LZXlDdXJzb3IgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnc3QuLi4i
IHRoYXQgaXMgbm90IGEgRE9NRXhjZXB0aW9uIERhdGFFcnJvcjogcHJvcGVydHkgImNvZGUiIGlz
IGVxdWFsIHRvIHVuZGVmaW5lZCwgZXhwZWN0ZWQgMAorUEFTUyBJREJPYmplY3RTdG9yZS5vcGVu
S2V5Q3Vyc29yKCkgLSBmb3J3YXJkIGl0ZXJhdGlvbiAKK1BBU1MgSURCT2JqZWN0U3RvcmUub3Bl
bktleUN1cnNvcigpIC0gcmV2ZXJzZSBpdGVyYXRpb24gCitQQVNTIElEQk9iamVjdFN0b3JlLm9w
ZW5LZXlDdXJzb3IoKSAtIGZvcndhcmQgaXRlcmF0aW9uIHdpdGggcmFuZ2UgCitQQVNTIElEQk9i
amVjdFN0b3JlLm9wZW5LZXlDdXJzb3IoKSAtIHJldmVyc2UgaXRlcmF0aW9uIHdpdGggcmFuZ2Ug
CitQQVNTIElEQk9iamVjdFN0b3JlLm9wZW5LZXlDdXJzb3IoKSAtIGludmFsaWQgaW5wdXRzIAog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vY3Vyc29y
LTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2N1
cnNvci0xLWV4cGVjdGVkLnR4dAppbmRleCA5N2I5Y2RiYjViNTQ2MTZmYTFmMjEwZDBkY2EwNzcz
YWJlMjNlM2Q1Li4yZTU3MGU4ZDQ4NmVmMDMyYjE1MWFmMWZlZTBmNzVhZTVmOGJlY2UxIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vY3Vyc29yLTEtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9jdXJz
b3ItMS1leHBlY3RlZC50eHQKQEAgLTE1LDYgKzE1LDEyIEBAIEN1cnNvciBzb3VyY2UgaXM6IFtv
YmplY3QgSURCT2JqZWN0U3RvcmVdIChUZXN0T2JqZWN0U3RvcmUpCiBDdXJzb3Iga2V5IGlzOiAw
CiBDdXJzb3IgcHJpbWFyeSBrZXkgaXM6IDAKIFN1Y2Nlc3Mgb3BlbmluZyBjdXJzb3IKK0N1cnNv
ciBpczogW29iamVjdCBJREJDdXJzb3JdCitDdXJzb3IgZGlyZWN0aW9uIGlzOiBuZXh0CitDdXJz
b3Igc291cmNlIGlzOiBbb2JqZWN0IElEQk9iamVjdFN0b3JlXSAoVGVzdE9iamVjdFN0b3JlKQor
Q3Vyc29yIGtleSBpczogMAorQ3Vyc29yIHByaW1hcnkga2V5IGlzOiAwCitTdWNjZXNzIG9wZW5p
bmcgY3Vyc29yCiBDdXJzb3IgaXM6IFtvYmplY3QgSURCQ3Vyc29yV2l0aFZhbHVlXQogQ3Vyc29y
IGRpcmVjdGlvbiBpczogbmV4dAogQ3Vyc29yIHNvdXJjZSBpczogW29iamVjdCBJREJJbmRleF0g
KFRlc3RJbmRleDEpCkBAIC0zMyw2ICszOSwxMiBAQCBDdXJzb3Igc291cmNlIGlzOiBbb2JqZWN0
IElEQk9iamVjdFN0b3JlXSAoVGVzdE9iamVjdFN0b3JlKQogQ3Vyc29yIGtleSBpczogMAogQ3Vy
c29yIHByaW1hcnkga2V5IGlzOiAwCiBTdWNjZXNzIG9wZW5pbmcgY3Vyc29yCitDdXJzb3IgaXM6
IFtvYmplY3QgSURCQ3Vyc29yXQorQ3Vyc29yIGRpcmVjdGlvbiBpczogbmV4dHVuaXF1ZQorQ3Vy
c29yIHNvdXJjZSBpczogW29iamVjdCBJREJPYmplY3RTdG9yZV0gKFRlc3RPYmplY3RTdG9yZSkK
K0N1cnNvciBrZXkgaXM6IDAKK0N1cnNvciBwcmltYXJ5IGtleSBpczogMAorU3VjY2VzcyBvcGVu
aW5nIGN1cnNvcgogQ3Vyc29yIGlzOiBbb2JqZWN0IElEQkN1cnNvcldpdGhWYWx1ZV0KIEN1cnNv
ciBkaXJlY3Rpb24gaXM6IG5leHR1bmlxdWUKIEN1cnNvciBzb3VyY2UgaXM6IFtvYmplY3QgSURC
SW5kZXhdIChUZXN0SW5kZXgxKQpAQCAtNTEsNiArNjMsMTIgQEAgQ3Vyc29yIHNvdXJjZSBpczog
W29iamVjdCBJREJPYmplY3RTdG9yZV0gKFRlc3RPYmplY3RTdG9yZSkKIEN1cnNvciBrZXkgaXM6
IGZvbwogQ3Vyc29yIHByaW1hcnkga2V5IGlzOiBmb28KIFN1Y2Nlc3Mgb3BlbmluZyBjdXJzb3IK
K0N1cnNvciBpczogW29iamVjdCBJREJDdXJzb3JdCitDdXJzb3IgZGlyZWN0aW9uIGlzOiBwcmV2
CitDdXJzb3Igc291cmNlIGlzOiBbb2JqZWN0IElEQk9iamVjdFN0b3JlXSAoVGVzdE9iamVjdFN0
b3JlKQorQ3Vyc29yIGtleSBpczogZm9vCitDdXJzb3IgcHJpbWFyeSBrZXkgaXM6IGZvbworU3Vj
Y2VzcyBvcGVuaW5nIGN1cnNvcgogQ3Vyc29yIGlzOiBbb2JqZWN0IElEQkN1cnNvcldpdGhWYWx1
ZV0KIEN1cnNvciBkaXJlY3Rpb24gaXM6IHByZXYKIEN1cnNvciBzb3VyY2UgaXM6IFtvYmplY3Qg
SURCSW5kZXhdIChUZXN0SW5kZXgxKQpAQCAtNjksNiArODcsMTIgQEAgQ3Vyc29yIHNvdXJjZSBp
czogW29iamVjdCBJREJPYmplY3RTdG9yZV0gKFRlc3RPYmplY3RTdG9yZSkKIEN1cnNvciBrZXkg
aXM6IGZvbwogQ3Vyc29yIHByaW1hcnkga2V5IGlzOiBmb28KIFN1Y2Nlc3Mgb3BlbmluZyBjdXJz
b3IKK0N1cnNvciBpczogW29iamVjdCBJREJDdXJzb3JdCitDdXJzb3IgZGlyZWN0aW9uIGlzOiBw
cmV2dW5pcXVlCitDdXJzb3Igc291cmNlIGlzOiBbb2JqZWN0IElEQk9iamVjdFN0b3JlXSAoVGVz
dE9iamVjdFN0b3JlKQorQ3Vyc29yIGtleSBpczogZm9vCitDdXJzb3IgcHJpbWFyeSBrZXkgaXM6
IGZvbworU3VjY2VzcyBvcGVuaW5nIGN1cnNvcgogQ3Vyc29yIGlzOiBbb2JqZWN0IElEQkN1cnNv
cldpdGhWYWx1ZV0KIEN1cnNvciBkaXJlY3Rpb24gaXM6IHByZXZ1bmlxdWUKIEN1cnNvciBzb3Vy
Y2UgaXM6IFtvYmplY3QgSURCSW5kZXhdIChUZXN0SW5kZXgxKQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2N1cnNvci0xLXByaXZhdGUtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2N1cnNvci0xLXByaXZh
dGUtZXhwZWN0ZWQudHh0CmluZGV4IDk3YjljZGJiNWI1NDYxNmZhMWYyMTBkMGRjYTA3NzNhYmUy
M2UzZDUuLjJlNTcwZThkNDg2ZWYwMzJiMTUxYWYxZmVlMGY3NWFlNWY4YmVjZTEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9jdXJzb3ItMS1wcml2YXRl
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4v
Y3Vyc29yLTEtcHJpdmF0ZS1leHBlY3RlZC50eHQKQEAgLTE1LDYgKzE1LDEyIEBAIEN1cnNvciBz
b3VyY2UgaXM6IFtvYmplY3QgSURCT2JqZWN0U3RvcmVdIChUZXN0T2JqZWN0U3RvcmUpCiBDdXJz
b3Iga2V5IGlzOiAwCiBDdXJzb3IgcHJpbWFyeSBrZXkgaXM6IDAKIFN1Y2Nlc3Mgb3BlbmluZyBj
dXJzb3IKK0N1cnNvciBpczogW29iamVjdCBJREJDdXJzb3JdCitDdXJzb3IgZGlyZWN0aW9uIGlz
OiBuZXh0CitDdXJzb3Igc291cmNlIGlzOiBbb2JqZWN0IElEQk9iamVjdFN0b3JlXSAoVGVzdE9i
amVjdFN0b3JlKQorQ3Vyc29yIGtleSBpczogMAorQ3Vyc29yIHByaW1hcnkga2V5IGlzOiAwCitT
dWNjZXNzIG9wZW5pbmcgY3Vyc29yCiBDdXJzb3IgaXM6IFtvYmplY3QgSURCQ3Vyc29yV2l0aFZh
bHVlXQogQ3Vyc29yIGRpcmVjdGlvbiBpczogbmV4dAogQ3Vyc29yIHNvdXJjZSBpczogW29iamVj
dCBJREJJbmRleF0gKFRlc3RJbmRleDEpCkBAIC0zMyw2ICszOSwxMiBAQCBDdXJzb3Igc291cmNl
IGlzOiBbb2JqZWN0IElEQk9iamVjdFN0b3JlXSAoVGVzdE9iamVjdFN0b3JlKQogQ3Vyc29yIGtl
eSBpczogMAogQ3Vyc29yIHByaW1hcnkga2V5IGlzOiAwCiBTdWNjZXNzIG9wZW5pbmcgY3Vyc29y
CitDdXJzb3IgaXM6IFtvYmplY3QgSURCQ3Vyc29yXQorQ3Vyc29yIGRpcmVjdGlvbiBpczogbmV4
dHVuaXF1ZQorQ3Vyc29yIHNvdXJjZSBpczogW29iamVjdCBJREJPYmplY3RTdG9yZV0gKFRlc3RP
YmplY3RTdG9yZSkKK0N1cnNvciBrZXkgaXM6IDAKK0N1cnNvciBwcmltYXJ5IGtleSBpczogMAor
U3VjY2VzcyBvcGVuaW5nIGN1cnNvcgogQ3Vyc29yIGlzOiBbb2JqZWN0IElEQkN1cnNvcldpdGhW
YWx1ZV0KIEN1cnNvciBkaXJlY3Rpb24gaXM6IG5leHR1bmlxdWUKIEN1cnNvciBzb3VyY2UgaXM6
IFtvYmplY3QgSURCSW5kZXhdIChUZXN0SW5kZXgxKQpAQCAtNTEsNiArNjMsMTIgQEAgQ3Vyc29y
IHNvdXJjZSBpczogW29iamVjdCBJREJPYmplY3RTdG9yZV0gKFRlc3RPYmplY3RTdG9yZSkKIEN1
cnNvciBrZXkgaXM6IGZvbwogQ3Vyc29yIHByaW1hcnkga2V5IGlzOiBmb28KIFN1Y2Nlc3Mgb3Bl
bmluZyBjdXJzb3IKK0N1cnNvciBpczogW29iamVjdCBJREJDdXJzb3JdCitDdXJzb3IgZGlyZWN0
aW9uIGlzOiBwcmV2CitDdXJzb3Igc291cmNlIGlzOiBbb2JqZWN0IElEQk9iamVjdFN0b3JlXSAo
VGVzdE9iamVjdFN0b3JlKQorQ3Vyc29yIGtleSBpczogZm9vCitDdXJzb3IgcHJpbWFyeSBrZXkg
aXM6IGZvbworU3VjY2VzcyBvcGVuaW5nIGN1cnNvcgogQ3Vyc29yIGlzOiBbb2JqZWN0IElEQkN1
cnNvcldpdGhWYWx1ZV0KIEN1cnNvciBkaXJlY3Rpb24gaXM6IHByZXYKIEN1cnNvciBzb3VyY2Ug
aXM6IFtvYmplY3QgSURCSW5kZXhdIChUZXN0SW5kZXgxKQpAQCAtNjksNiArODcsMTIgQEAgQ3Vy
c29yIHNvdXJjZSBpczogW29iamVjdCBJREJPYmplY3RTdG9yZV0gKFRlc3RPYmplY3RTdG9yZSkK
IEN1cnNvciBrZXkgaXM6IGZvbwogQ3Vyc29yIHByaW1hcnkga2V5IGlzOiBmb28KIFN1Y2Nlc3Mg
b3BlbmluZyBjdXJzb3IKK0N1cnNvciBpczogW29iamVjdCBJREJDdXJzb3JdCitDdXJzb3IgZGly
ZWN0aW9uIGlzOiBwcmV2dW5pcXVlCitDdXJzb3Igc291cmNlIGlzOiBbb2JqZWN0IElEQk9iamVj
dFN0b3JlXSAoVGVzdE9iamVjdFN0b3JlKQorQ3Vyc29yIGtleSBpczogZm9vCitDdXJzb3IgcHJp
bWFyeSBrZXkgaXM6IGZvbworU3VjY2VzcyBvcGVuaW5nIGN1cnNvcgogQ3Vyc29yIGlzOiBbb2Jq
ZWN0IElEQkN1cnNvcldpdGhWYWx1ZV0KIEN1cnNvciBkaXJlY3Rpb24gaXM6IHByZXZ1bmlxdWUK
IEN1cnNvciBzb3VyY2UgaXM6IFtvYmplY3QgSURCSW5kZXhdIChUZXN0SW5kZXgxKQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL3Jlc291cmNlcy9jdXJz
b3ItMS5qcyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9yZXNvdXJjZXMv
Y3Vyc29yLTEuanMKaW5kZXggMTEyYTdjMjNjZWQ3OWQ4MjJlZWU4MmNhMWYwNGIwMTkzZmNlN2Y1
OC4uNThmZjhiYWUzZGQ1M2VhMTZiZGNkYzg3ZGZkZjkxMGFkMWJmNjhhYSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL3Jlc291cmNlcy9jdXJzb3ItMS5q
cworKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vcmVzb3VyY2VzL2N1
cnNvci0xLmpzCkBAIC00NCw2ICs0NCw4IEBAIGZ1bmN0aW9uIHRlc3RDdXJzb3JEaXJlY3Rpb24o
ZGlyZWN0aW9uKQogICAgIHZhciByYW5nZSA9IElEQktleVJhbmdlLmxvd2VyQm91bmQoLUluZmlu
aXR5KTsKICAgICB2YXIgcmVxdWVzdCA9IG9iamVjdFN0b3JlLm9wZW5DdXJzb3IocmFuZ2UsIGRp
cmVjdGlvbik7CiAgICAgc2V0dXBSZXF1ZXN0KHJlcXVlc3QpOworICAgIHJlcXVlc3QgPSBvYmpl
Y3RTdG9yZS5vcGVuS2V5Q3Vyc29yKHJhbmdlLCBkaXJlY3Rpb24pOworICAgIHNldHVwUmVxdWVz
dChyZXF1ZXN0KTsKICAgICByZXF1ZXN0ID0gaW5kZXgub3BlbkN1cnNvcihyYW5nZSwgZGlyZWN0
aW9uKTsKICAgICBzZXR1cFJlcXVlc3QocmVxdWVzdCk7CiAgICAgcmVxdWVzdCA9IGluZGV4Lm9w
ZW5LZXlDdXJzb3IocmFuZ2UsIGRpcmVjdGlvbik7Cg==
</data>
<flag name="review"
          id="315808"
          type_id="1"
          status="+"
          setter="aestes"
    />
          </attachment>
      

    </bug>

</bugzilla>