<?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>160352</bug_id>
          
          <creation_ts>2016-07-29 12:21:06 -0700</creation_ts>
          <short_desc>Refactor data passed along for a &quot;GetRecord&quot; request</short_desc>
          <delta_ts>2016-10-24 14:57:12 -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></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>annulen</cc>
    
    <cc>cgarcia</cc>
    
    <cc>clopez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>ossy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1215655</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-07-29 12:21:06 -0700</bug_when>
    <thetext>Refactor data passed along for a &quot;GetRecord&quot; request

This is laying the groundwork for some of the additional APIs that have been added in V2 of the spec.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1215656</commentid>
    <comment_count>1</comment_count>
      <attachid>284888</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-07-29 12:28:16 -0700</bug_when>
    <thetext>Created attachment 284888
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1215805</commentid>
    <comment_count>2</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-07-29 20:02:04 -0700</bug_when>
    <thetext>I don&apos;t know why the linux&apos;s aren&apos;t picking up the new header in WK2 - That directory *is* included in the WebCore includes directory list, and I can&apos;t currently recall a different step necessary to get a header to copy over.

Any Linux folks know what&apos;s up?

Or Alex?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1216143</commentid>
    <comment_count>3</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-08-01 10:35:18 -0700</bug_when>
    <thetext>I don&apos;t know what&apos;s wrong, CCing more Linux folks.

We don&apos;t want to block your work, so if we don&apos;t figure it out soon, go ahead and commit and we&apos;ll fix it up when we get a chance. Thanks as always for asking first.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1216146</commentid>
    <comment_count>4</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-08-01 10:42:05 -0700</bug_when>
    <thetext>Lots of other Monday-morning work in my queue right now.

I&apos;ll hold off on landing until much later today.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1216307</commentid>
    <comment_count>5</comment_count>
      <attachid>284888</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-08-01 16:28:28 -0700</bug_when>
    <thetext>Comment on attachment 284888
Patch

Rejecting attachment 284888 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-01&apos;, &apos;apply-attachment&apos;, &apos;--no-update&apos;, &apos;--non-interactive&apos;, 284888, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
hing file Source/WebKit2/DatabaseProcess/IndexedDB/WebIDBConnectionToClient.h
patching file Source/WebKit2/DatabaseProcess/IndexedDB/WebIDBConnectionToClient.messages.in
patching file Source/WebKit2/WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp
patching file Source/WebKit2/WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.h

Failed to run &quot;[u&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;, &apos;--reviewer&apos;, u&apos;Tim Horton&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Full output: http://webkit-queues.webkit.org/results/1794883</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1216382</commentid>
    <comment_count>6</comment_count>
      <attachid>285074</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-08-01 21:55:34 -0700</bug_when>
    <thetext>Created attachment 285074
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1216389</commentid>
    <comment_count>7</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-08-01 22:37:29 -0700</bug_when>
    <thetext>That&apos;s a known issue, it has nothing to do with linux, but with cmake based ports I would say and the way we generate the forwarding headers. The thing is that if  generated code, like message receivers, uses a WebCore include, we don&apos;t generate the forwarding header for that one. The trick is adding that include in the non-generated code where that is needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1216394</commentid>
    <comment_count>8</comment_count>
      <attachid>285076</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-08-01 23:12:26 -0700</bug_when>
    <thetext>Created attachment 285076
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1216411</commentid>
    <comment_count>9</comment_count>
      <attachid>285076</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-08-01 23:58:59 -0700</bug_when>
    <thetext>Comment on attachment 285076
Patch for landing

All green now :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1216412</commentid>
    <comment_count>10</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-08-02 00:12:49 -0700</bug_when>
    <thetext>Hooray!  Carlos to the rescue!  Thanks!
*obligatory grumbling about differences in build systems*</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1216415</commentid>
    <comment_count>11</comment_count>
      <attachid>285076</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-08-02 00:21:18 -0700</bug_when>
    <thetext>Comment on attachment 285076
Patch for landing

Clearing flags on attachment: 285076

Committed r204018: &lt;http://trac.webkit.org/changeset/204018&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1216495</commentid>
    <comment_count>12</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-08-02 09:01:47 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; Hooray!  Carlos to the rescue!  Thanks!
&gt; *obligatory grumbling about differences in build systems*

👍😞</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>284888</attachid>
            <date>2016-07-29 12:28:16 -0700</date>
            <delta_ts>2016-08-01 16:28:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-160352-20160729152700.patch</filename>
            <type>text/plain</type>
            <size>44561</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAzODI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTU1M2FhZTI4MDIyYzA1
NjIxMjUyZDA5NWJjYjA0ZmU0MjU2ZmRmZi4uYjBmZTVhYWM5MjE2MjgzMmFjYTVmMDgzNWY0MTcy
ZGI2NzcxZGVjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU4IEBACisyMDE2LTA3LTI5ICBCcmFk
eSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBSZWZhY3RvciBkYXRhIHBh
c3NlZCBhbG9uZyBmb3IgYSAiR2V0UmVjb3JkIiByZXF1ZXN0LgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYwMzUyCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChObyBiZWhhdmlvciBj
aGFuZ2UpLgorICAgICAgICAKKyAgICAgICAgQWRkaW5nIHRoaXMgbmV3IG9iamVjdCBsZXRzIHVz
IGVhc2lseSBhZGQgbmV3IGRhdGEgcGFzc2VkIGFsb25nIGZvciBHZXRSZWNvcmQKKyAgICAgICAg
cmVxdWVzdHMgZ29pbmcgZm9yd2FyZC4KKworICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgCisgICAg
ICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SURCT2JqZWN0U3RvcmU6OmdldCk6CisgICAgICAgIAorICAgICAgICAqIE1vZHVsZXMv
aW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5z
YWN0aW9uOjpyZXF1ZXN0R2V0UmVjb3JkKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0
aW9uOjpyZXF1ZXN0SW5kZXhSZWNvcmQpOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rp
b246OmdldFJlY29yZE9uU2VydmVyKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJU
cmFuc2FjdGlvbi5oOgorICAgICAgICAKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9jbGll
bnQvSURCQ29ubmVjdGlvblByb3h5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQkNsaWVudDo6
SURCQ29ubmVjdGlvblByb3h5OjpnZXRSZWNvcmQpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhl
ZGRiL2NsaWVudC9JREJDb25uZWN0aW9uUHJveHkuaDoKKyAgICAgICAgCisgICAgICAgICogTW9k
dWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Ub1NlcnZlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6Z2V0UmVjb3JkKToK
KyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblRvU2VydmVy
Lmg6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Ub1Nl
cnZlckRlbGVnYXRlLmg6CisgICAgICAgIAorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3Nl
cnZlci9JREJTZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpJREJTZXJ2
ZXI6OmdldFJlY29yZCk6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL0lEQlNl
cnZlci5oOgorICAgICAgICAKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5p
cXVlSURCRGF0YWJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpVbmlxdWVJ
REJEYXRhYmFzZTo6Z2V0UmVjb3JkKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zZXJ2
ZXIvVW5pcXVlSURCRGF0YWJhc2UuaDoKKyAgICAgICAgCisgICAgICAgICogTW9kdWxlcy9pbmRl
eGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb24uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SURCU2VydmVyOjpVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uOjpnZXRSZWNv
cmQpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFz
ZVRyYW5zYWN0aW9uLmg6CisgICAgICAgIAorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3No
YXJlZC9JREJHZXRSZWNvcmREYXRhLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpJREJH
ZXRSZWNvcmREYXRhOjppc29sYXRlZENvcHkpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRi
L3NoYXJlZC9JREJHZXRSZWNvcmREYXRhLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SURC
R2V0UmVjb3JkRGF0YTo6ZW5jb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OklEQkdldFJlY29yZERh
dGE6OmRlY29kZSk6CisgICAgICAgIAorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NoYXJl
ZC9JblByb2Nlc3NJREJTZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5Qcm9jZXNzSURC
U2VydmVyOjpnZXRSZWNvcmQpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9J
blByb2Nlc3NJREJTZXJ2ZXIuaDoKKyAgICAKIDIwMTYtMDctMjggIERlYW4gSmFja3NvbiAgPGRp
bm9AYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIyMDI4ODApOiBEZWZhdWx0IGNv
bnRyb2xzIHBpcCBnbHlwaCBpbnZlcnRlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDc2NGI1YTUzODgzYmU3ZWJj
NzIyMGUxOTYxNWZlYjBhOTc1MWNhNTcuLmNiYjkzZjZhMWQ2NTM5OGQ3YTRhN2ZmZTc3ZDA4NTM0
OTk3MDFjZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxNi0wNy0yOSAgQnJhZHkg
RWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgUmVmYWN0b3IgZGF0YSBwYXNz
ZWQgYWxvbmcgZm9yIGEgIkdldFJlY29yZCIgcmVxdWVzdC4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MDM1MgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogRGF0YWJhc2VQcm9jZXNzL0luZGV4ZWREQi9X
ZWJJREJDb25uZWN0aW9uVG9DbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJJREJDb25u
ZWN0aW9uVG9DbGllbnQ6OmdldFJlY29yZCk6CisgICAgICAgICogRGF0YWJhc2VQcm9jZXNzL0lu
ZGV4ZWREQi9XZWJJREJDb25uZWN0aW9uVG9DbGllbnQuaDoKKyAgICAgICAgKiBEYXRhYmFzZVBy
b2Nlc3MvSW5kZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub0NsaWVudC5tZXNzYWdlcy5pbjoKKwor
ICAgICAgICAqIFdlYlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4ZWREQi9XZWJJREJDb25uZWN0aW9u
VG9TZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXI6
OmdldFJlY29yZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9EYXRhYmFzZXMvSW5kZXhlZERCL1dl
YklEQkNvbm5lY3Rpb25Ub1NlcnZlci5oOgorCiAyMDE2LTA3LTI3ICBBbmR5IEVzdGVzICA8YWVz
dGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBBZGQgV0tVSURlbGVnYXRlIFNQSSBmb3Ig
c3BlY2lmeWluZyB0aGF0IGFuIGF0dGFjaG1lbnQgbGlzdCBpcyBmcm9tIGEgbWFuYWdlZCBzb3Vy
Y2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggYmUxNDE1MjU5N2FiMmRmNTYxMDEwMTQ4OThlYWM5
NjlhODM5NmUzZi4uYmFjMTc1ZjlmNzk5YWU0NmRjYTgwMGMzNzA5NzdlMzE4NWFiZDYyNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKQEAgLTg4NCw2ICs4ODQsNyBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VT
CiAgICAgTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQkN1cnNvckluZm8uY3BwCiAgICAgTW9k
dWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQkRhdGFiYXNlSW5mby5jcHAKICAgICBNb2R1bGVzL2lu
ZGV4ZWRkYi9zaGFyZWQvSURCRXJyb3IuY3BwCisgICAgTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVk
L0lEQkdldFJlY29yZERhdGEuY3BwCiAgICAgTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQklu
ZGV4SW5mby5jcHAKICAgICBNb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCT2JqZWN0U3RvcmVJ
bmZvLmNwcAogICAgIE1vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJSZXF1ZXN0RGF0YS5jcHAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0
b3JlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3Jl
LmNwcAppbmRleCBlOTEyYWVmZjcxOGQzYThjNDhkNTZiOTcyM2ZhN2JlYWJlMjk5YWRhLi5hMjJl
MjJiYzViNDE1YjI5ZDAzYjhlYzdhM2FiYjNkODlhOTE0MDJjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmUuY3BwCkBAIC0zNSw2ICsz
NSw3IEBACiAjaW5jbHVkZSAiSURCRGF0YWJhc2UuaCIKICNpbmNsdWRlICJJREJEYXRhYmFzZUV4
Y2VwdGlvbi5oIgogI2luY2x1ZGUgIklEQkVycm9yLmgiCisjaW5jbHVkZSAiSURCR2V0UmVjb3Jk
RGF0YS5oIgogI2luY2x1ZGUgIklEQkluZGV4LmgiCiAjaW5jbHVkZSAiSURCS2V5LmgiCiAjaW5j
bHVkZSAiSURCS2V5UmFuZ2VEYXRhLmgiCkBAIC0xODQsNyArMTg1LDcgQEAgUmVmUHRyPElEQlJl
cXVlc3Q+IElEQk9iamVjdFN0b3JlOjpnZXQoRXhlY1N0YXRlJiBleGVjU3RhdGUsIEpTVmFsdWUg
a2V5LCBFeGNlcHQKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogCi0gICAgcmV0dXJu
IG1fdHJhbnNhY3Rpb24tPnJlcXVlc3RHZXRSZWNvcmQoZXhlY1N0YXRlLCAqdGhpcywgaWRiS2V5
LnB0cigpKTsKKyAgICByZXR1cm4gbV90cmFuc2FjdGlvbi0+cmVxdWVzdEdldFJlY29yZChleGVj
U3RhdGUsICp0aGlzLCB7IGlkYktleS5wdHIoKSB9KTsKIH0KIAogUmVmUHRyPElEQlJlcXVlc3Q+
IElEQk9iamVjdFN0b3JlOjpnZXQoRXhlY1N0YXRlJiBleGVjU3RhdGUsIElEQktleVJhbmdlKiBr
ZXlSYW5nZSwgRXhjZXB0aW9uQ29kZVdpdGhNZXNzYWdlJiBlYykKQEAgLTIwOSw3ICsyMTAsNyBA
QCBSZWZQdHI8SURCUmVxdWVzdD4gSURCT2JqZWN0U3RvcmU6OmdldChFeGVjU3RhdGUmIGV4ZWNT
dGF0ZSwgSURCS2V5UmFuZ2UqIGtleVJhbgogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9
CiAKLSAgICByZXR1cm4gbV90cmFuc2FjdGlvbi0+cmVxdWVzdEdldFJlY29yZChleGVjU3RhdGUs
ICp0aGlzLCBrZXlSYW5nZURhdGEpOworICAgIHJldHVybiBtX3RyYW5zYWN0aW9uLT5yZXF1ZXN0
R2V0UmVjb3JkKGV4ZWNTdGF0ZSwgKnRoaXMsIHsga2V5UmFuZ2VEYXRhIH0pOwogfQogCiBSZWZQ
dHI8SURCUmVxdWVzdD4gSURCT2JqZWN0U3RvcmU6OmFkZChFeGVjU3RhdGUmIGV4ZWNTdGF0ZSwg
SlNWYWx1ZSB2YWx1ZSwgSlNWYWx1ZSBrZXksIEV4Y2VwdGlvbkNvZGVXaXRoTWVzc2FnZSYgZWMp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2Fj
dGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlv
bi5jcHAKaW5kZXggMzAyNzU4NzY5ODM0Y2M0OWEyZDg5N2Q4MzgyYWQ0ZDllMGM3MTY1Yy4uZjll
OGJmYWQ3ZjgzZjNiOWNkZmE1MzZjMWU0ZDllMzkyMmQ4ZjBlMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcApAQCAtMzgsNiAr
MzgsNyBAQAogI2luY2x1ZGUgIklEQkRhdGFiYXNlRXhjZXB0aW9uLmgiCiAjaW5jbHVkZSAiSURC
RXJyb3IuaCIKICNpbmNsdWRlICJJREJFdmVudERpc3BhdGNoZXIuaCIKKyNpbmNsdWRlICJJREJH
ZXRSZWNvcmREYXRhLmgiCiAjaW5jbHVkZSAiSURCSW5kZXguaCIKICNpbmNsdWRlICJJREJLZXlE
YXRhLmgiCiAjaW5jbHVkZSAiSURCS2V5UmFuZ2VEYXRhLmgiCkBAIC03MjksMTEgKzczMCwxMSBA
QCB2b2lkIElEQlRyYW5zYWN0aW9uOjpkaWRJdGVyYXRlQ3Vyc29yT25TZXJ2ZXIoSURCUmVxdWVz
dCYgcmVxdWVzdCwgY29uc3QgSURCUmVzdQogICAgIHJlcXVlc3QuZGlkT3Blbk9ySXRlcmF0ZUN1
cnNvcihyZXN1bHREYXRhKTsKIH0KIAotUmVmPElEQlJlcXVlc3Q+IElEQlRyYW5zYWN0aW9uOjpy
ZXF1ZXN0R2V0UmVjb3JkKEV4ZWNTdGF0ZSYgZXhlY1N0YXRlLCBJREJPYmplY3RTdG9yZSYgb2Jq
ZWN0U3RvcmUsIGNvbnN0IElEQktleVJhbmdlRGF0YSYga2V5UmFuZ2VEYXRhKQorUmVmPElEQlJl
cXVlc3Q+IElEQlRyYW5zYWN0aW9uOjpyZXF1ZXN0R2V0UmVjb3JkKEV4ZWNTdGF0ZSYgZXhlY1N0
YXRlLCBJREJPYmplY3RTdG9yZSYgb2JqZWN0U3RvcmUsIGNvbnN0IElEQkdldFJlY29yZERhdGEm
IGdldFJlY29yZERhdGEpCiB7CiAgICAgTE9HKEluZGV4ZWREQiwgIklEQlRyYW5zYWN0aW9uOjpy
ZXF1ZXN0R2V0UmVjb3JkIik7CiAgICAgQVNTRVJUKGlzQWN0aXZlKCkpOwotICAgIEFTU0VSVCgh
a2V5UmFuZ2VEYXRhLmlzTnVsbCk7CisgICAgQVNTRVJUKCFnZXRSZWNvcmREYXRhLmtleVJhbmdl
RGF0YS5pc051bGwpOwogICAgIEFTU0VSVChjdXJyZW50VGhyZWFkKCkgPT0gbV9kYXRhYmFzZS0+
b3JpZ2luVGhyZWFkSUQoKSk7CiAKICAgICBSRUxFQVNFX0FTU0VSVChzY3JpcHRFeGVjdXRpb25D
b250ZXh0KCkpOwpAQCAtNzQyLDcgKzc0Myw3IEBAIFJlZjxJREJSZXF1ZXN0PiBJREJUcmFuc2Fj
dGlvbjo6cmVxdWVzdEdldFJlY29yZChFeGVjU3RhdGUmIGV4ZWNTdGF0ZSwgSURCT2JqZWN0CiAg
ICAgUmVmPElEQlJlcXVlc3Q+IHJlcXVlc3QgPSBJREJSZXF1ZXN0OjpjcmVhdGUoKnNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQoKSwgb2JqZWN0U3RvcmUsICp0aGlzKTsKICAgICBhZGRSZXF1ZXN0KHJl
cXVlc3QuZ2V0KCkpOwogCi0gICAgYXV0byBvcGVyYXRpb24gPSBJREJDbGllbnQ6OmNyZWF0ZVRy
YW5zYWN0aW9uT3BlcmF0aW9uKCp0aGlzLCByZXF1ZXN0LmdldCgpLCAmSURCVHJhbnNhY3Rpb246
OmRpZEdldFJlY29yZE9uU2VydmVyLCAmSURCVHJhbnNhY3Rpb246OmdldFJlY29yZE9uU2VydmVy
LCBrZXlSYW5nZURhdGEpOworICAgIGF1dG8gb3BlcmF0aW9uID0gSURCQ2xpZW50OjpjcmVhdGVU
cmFuc2FjdGlvbk9wZXJhdGlvbigqdGhpcywgcmVxdWVzdC5nZXQoKSwgJklEQlRyYW5zYWN0aW9u
OjpkaWRHZXRSZWNvcmRPblNlcnZlciwgJklEQlRyYW5zYWN0aW9uOjpnZXRSZWNvcmRPblNlcnZl
ciwgZ2V0UmVjb3JkRGF0YSk7CiAgICAgc2NoZWR1bGVPcGVyYXRpb24oV1RGTW92ZShvcGVyYXRp
b24pKTsKIAogICAgIHJldHVybiByZXF1ZXN0OwpAQCAtNzY0LDcgKzc2NSw3IEBAIFJlZjxJREJS
ZXF1ZXN0PiBJREJUcmFuc2FjdGlvbjo6cmVxdWVzdEdldEtleShFeGVjU3RhdGUmIGV4ZWNTdGF0
ZSwgSURCSW5kZXgmIGluCiAgICAgcmV0dXJuIHJlcXVlc3RJbmRleFJlY29yZChleGVjU3RhdGUs
IGluZGV4LCBJbmRleGVkREI6OkluZGV4UmVjb3JkVHlwZTo6S2V5LCByYW5nZSk7CiB9CiAKLVJl
ZjxJREJSZXF1ZXN0PiBJREJUcmFuc2FjdGlvbjo6cmVxdWVzdEluZGV4UmVjb3JkKEV4ZWNTdGF0
ZSYgZXhlY1N0YXRlLCBJREJJbmRleCYgaW5kZXgsIEluZGV4ZWREQjo6SW5kZXhSZWNvcmRUeXBl
IHR5cGUsIGNvbnN0IElEQktleVJhbmdlRGF0YSZyYW5nZSkKK1JlZjxJREJSZXF1ZXN0PiBJREJU
cmFuc2FjdGlvbjo6cmVxdWVzdEluZGV4UmVjb3JkKEV4ZWNTdGF0ZSYgZXhlY1N0YXRlLCBJREJJ
bmRleCYgaW5kZXgsIEluZGV4ZWREQjo6SW5kZXhSZWNvcmRUeXBlIHR5cGUsIGNvbnN0IElEQktl
eVJhbmdlRGF0YSYgcmFuZ2UpCiB7CiAgICAgTE9HKEluZGV4ZWREQiwgIklEQlRyYW5zYWN0aW9u
OjpyZXF1ZXN0R2V0VmFsdWUiKTsKICAgICBBU1NFUlQoaXNBY3RpdmUoKSk7CkBAIC03NzcsMTgg
Kzc3OCwxOSBAQCBSZWY8SURCUmVxdWVzdD4gSURCVHJhbnNhY3Rpb246OnJlcXVlc3RJbmRleFJl
Y29yZChFeGVjU3RhdGUmIGV4ZWNTdGF0ZSwgSURCSW5kZQogICAgIFJlZjxJREJSZXF1ZXN0PiBy
ZXF1ZXN0ID0gSURCUmVxdWVzdDo6Y3JlYXRlR2V0KCpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCks
IGluZGV4LCB0eXBlLCAqdGhpcyk7CiAgICAgYWRkUmVxdWVzdChyZXF1ZXN0LmdldCgpKTsKIAot
ICAgIGF1dG8gb3BlcmF0aW9uID0gSURCQ2xpZW50OjpjcmVhdGVUcmFuc2FjdGlvbk9wZXJhdGlv
bigqdGhpcywgcmVxdWVzdC5nZXQoKSwgJklEQlRyYW5zYWN0aW9uOjpkaWRHZXRSZWNvcmRPblNl
cnZlciwgJklEQlRyYW5zYWN0aW9uOjpnZXRSZWNvcmRPblNlcnZlciwgcmFuZ2UpOworICAgIElE
QkdldFJlY29yZERhdGEgZ2V0UmVjb3JkRGF0YSA9IHsgcmFuZ2UgfTsKKyAgICBhdXRvIG9wZXJh
dGlvbiA9IElEQkNsaWVudDo6Y3JlYXRlVHJhbnNhY3Rpb25PcGVyYXRpb24oKnRoaXMsIHJlcXVl
c3QuZ2V0KCksICZJREJUcmFuc2FjdGlvbjo6ZGlkR2V0UmVjb3JkT25TZXJ2ZXIsICZJREJUcmFu
c2FjdGlvbjo6Z2V0UmVjb3JkT25TZXJ2ZXIsIGdldFJlY29yZERhdGEpOwogICAgIHNjaGVkdWxl
T3BlcmF0aW9uKFdURk1vdmUob3BlcmF0aW9uKSk7CiAKICAgICByZXR1cm4gcmVxdWVzdDsKIH0K
IAotdm9pZCBJREJUcmFuc2FjdGlvbjo6Z2V0UmVjb3JkT25TZXJ2ZXIoSURCQ2xpZW50OjpUcmFu
c2FjdGlvbk9wZXJhdGlvbiYgb3BlcmF0aW9uLCBjb25zdCBJREJLZXlSYW5nZURhdGEmIGtleVJh
bmdlKQordm9pZCBJREJUcmFuc2FjdGlvbjo6Z2V0UmVjb3JkT25TZXJ2ZXIoSURCQ2xpZW50OjpU
cmFuc2FjdGlvbk9wZXJhdGlvbiYgb3BlcmF0aW9uLCBjb25zdCBJREJHZXRSZWNvcmREYXRhJiBn
ZXRSZWNvcmREYXRhKQogewogICAgIExPRyhJbmRleGVkREIsICJJREJUcmFuc2FjdGlvbjo6Z2V0
UmVjb3JkT25TZXJ2ZXIiKTsKICAgICBBU1NFUlQoY3VycmVudFRocmVhZCgpID09IG1fZGF0YWJh
c2UtPm9yaWdpblRocmVhZElEKCkpOwogCi0gICAgbV9kYXRhYmFzZS0+Y29ubmVjdGlvblByb3h5
KCkuZ2V0UmVjb3JkKG9wZXJhdGlvbiwga2V5UmFuZ2UpOworICAgIG1fZGF0YWJhc2UtPmNvbm5l
Y3Rpb25Qcm94eSgpLmdldFJlY29yZChvcGVyYXRpb24sIGdldFJlY29yZERhdGEpOwogfQogCiB2
b2lkIElEQlRyYW5zYWN0aW9uOjpkaWRHZXRSZWNvcmRPblNlcnZlcihJREJSZXF1ZXN0JiByZXF1
ZXN0LCBjb25zdCBJREJSZXN1bHREYXRhJiByZXN1bHREYXRhKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uaCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmgKaW5kZXggMTNjNjc5MzgzNmVj
MjM3Y2U1MmUwYTc1NGEzM2FjNjMwNDRkYzg2MC4uMDQ4N2FjMGYxMmUxMzRjYTRiODY3MTBjNzM1
Y2ZjODk5YjIyNGFkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvSURCVHJhbnNhY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9JREJUcmFuc2FjdGlvbi5oCkBAIC0zMCw2ICszMCw4IEBACiAjaW5jbHVkZSAiRXZlbnRUYXJn
ZXQuaCIKICNpbmNsdWRlICJJREJBY3RpdmVET01PYmplY3QuaCIKICNpbmNsdWRlICJJREJFcnJv
ci5oIgorI2luY2x1ZGUgIklEQkdldFJlY29yZERhdGEuaCIKKyNpbmNsdWRlICJJREJLZXlSYW5n
ZURhdGEuaCIKICNpbmNsdWRlICJJREJPcGVuREJSZXF1ZXN0LmgiCiAjaW5jbHVkZSAiSURCVHJh
bnNhY3Rpb25JbmZvLmgiCiAjaW5jbHVkZSAiSW5kZXhlZERCLmgiCkBAIC0xMTQsNyArMTE2LDcg
QEAgcHVibGljOgogICAgIHN0ZDo6dW5pcXVlX3B0cjxJREJJbmRleD4gY3JlYXRlSW5kZXgoSURC
T2JqZWN0U3RvcmUmLCBjb25zdCBJREJJbmRleEluZm8mKTsKIAogICAgIFJlZjxJREJSZXF1ZXN0
PiByZXF1ZXN0UHV0T3JBZGQoSlNDOjpFeGVjU3RhdGUmLCBJREJPYmplY3RTdG9yZSYsIElEQktl
eSosIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSYsIEluZGV4ZWREQjo6T2JqZWN0U3RvcmVPdmVyd3Jp
dGVNb2RlKTsKLSAgICBSZWY8SURCUmVxdWVzdD4gcmVxdWVzdEdldFJlY29yZChKU0M6OkV4ZWNT
dGF0ZSYsIElEQk9iamVjdFN0b3JlJiwgY29uc3QgSURCS2V5UmFuZ2VEYXRhJik7CisgICAgUmVm
PElEQlJlcXVlc3Q+IHJlcXVlc3RHZXRSZWNvcmQoSlNDOjpFeGVjU3RhdGUmLCBJREJPYmplY3RT
dG9yZSYsIGNvbnN0IElEQkdldFJlY29yZERhdGEmKTsKICAgICBSZWY8SURCUmVxdWVzdD4gcmVx
dWVzdERlbGV0ZVJlY29yZChKU0M6OkV4ZWNTdGF0ZSYsIElEQk9iamVjdFN0b3JlJiwgY29uc3Qg
SURCS2V5UmFuZ2VEYXRhJik7CiAgICAgUmVmPElEQlJlcXVlc3Q+IHJlcXVlc3RDbGVhck9iamVj
dFN0b3JlKEpTQzo6RXhlY1N0YXRlJiwgSURCT2JqZWN0U3RvcmUmKTsKICAgICBSZWY8SURCUmVx
dWVzdD4gcmVxdWVzdENvdW50KEpTQzo6RXhlY1N0YXRlJiwgSURCT2JqZWN0U3RvcmUmLCBjb25z
dCBJREJLZXlSYW5nZURhdGEmKTsKQEAgLTE3Nyw3ICsxNzksNyBAQCBwcml2YXRlOgogICAgIHZv
aWQgcHV0T3JBZGRPblNlcnZlcihJREJDbGllbnQ6OlRyYW5zYWN0aW9uT3BlcmF0aW9uJiwgUmVm
UHRyPElEQktleT4sIFJlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+LCBjb25zdCBJbmRleGVk
REI6Ok9iamVjdFN0b3JlT3ZlcndyaXRlTW9kZSYpOwogICAgIHZvaWQgZGlkUHV0T3JBZGRPblNl
cnZlcihJREJSZXF1ZXN0JiwgY29uc3QgSURCUmVzdWx0RGF0YSYpOwogCi0gICAgdm9pZCBnZXRS
ZWNvcmRPblNlcnZlcihJREJDbGllbnQ6OlRyYW5zYWN0aW9uT3BlcmF0aW9uJiwgY29uc3QgSURC
S2V5UmFuZ2VEYXRhJik7CisgICAgdm9pZCBnZXRSZWNvcmRPblNlcnZlcihJREJDbGllbnQ6OlRy
YW5zYWN0aW9uT3BlcmF0aW9uJiwgY29uc3QgSURCR2V0UmVjb3JkRGF0YSYpOwogICAgIHZvaWQg
ZGlkR2V0UmVjb3JkT25TZXJ2ZXIoSURCUmVxdWVzdCYsIGNvbnN0IElEQlJlc3VsdERhdGEmKTsK
IAogICAgIHZvaWQgZ2V0Q291bnRPblNlcnZlcihJREJDbGllbnQ6OlRyYW5zYWN0aW9uT3BlcmF0
aW9uJiwgY29uc3QgSURCS2V5UmFuZ2VEYXRhJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblByb3h5LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9uUHJveHkuY3Bw
CmluZGV4IGIzYzc0ZGNlZjFjYTIwNzM0ODJkYTM4NzA5NjYyMjJlODI5OWU2MmYuLmVlMWRiMDYz
ZjljMDAwZWUxMzMzNDViYjE0MmNhNTEzNjU0ZmFkNTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9uUHJveHkuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9uUHJv
eHkuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAKICNpbmNsdWRlICJJREJDdXJzb3JJbmZvLmgiCiAj
aW5jbHVkZSAiSURCRGF0YWJhc2UuaCIKKyNpbmNsdWRlICJJREJHZXRSZWNvcmREYXRhLmgiCiAj
aW5jbHVkZSAiSURCS2V5UmFuZ2VEYXRhLmgiCiAjaW5jbHVkZSAiSURCT3BlbkRCUmVxdWVzdC5o
IgogI2luY2x1ZGUgIklEQlJlcXVlc3REYXRhLmgiCkBAIC0xNjQsMTIgKzE2NSwxMiBAQCB2b2lk
IElEQkNvbm5lY3Rpb25Qcm94eTo6cHV0T3JBZGQoVHJhbnNhY3Rpb25PcGVyYXRpb24mIG9wZXJh
dGlvbiwgSURCS2V5RGF0YSYmCiAgICAgY2FsbENvbm5lY3Rpb25Pbk1haW5UaHJlYWQoJklEQkNv
bm5lY3Rpb25Ub1NlcnZlcjo6cHV0T3JBZGQsIHJlcXVlc3REYXRhLCBrZXlEYXRhLCB2YWx1ZSwg
bW9kZSk7CiB9CiAKLXZvaWQgSURCQ29ubmVjdGlvblByb3h5OjpnZXRSZWNvcmQoVHJhbnNhY3Rp
b25PcGVyYXRpb24mIG9wZXJhdGlvbiwgY29uc3QgSURCS2V5UmFuZ2VEYXRhJiBrZXlSYW5nZSkK
K3ZvaWQgSURCQ29ubmVjdGlvblByb3h5OjpnZXRSZWNvcmQoVHJhbnNhY3Rpb25PcGVyYXRpb24m
IG9wZXJhdGlvbiwgY29uc3QgSURCR2V0UmVjb3JkRGF0YSYgZ2V0UmVjb3JkRGF0YSkKIHsKICAg
ICBjb25zdCBJREJSZXF1ZXN0RGF0YSByZXF1ZXN0RGF0YShvcGVyYXRpb24pOwogICAgIHNhdmVP
cGVyYXRpb24ob3BlcmF0aW9uKTsKIAotICAgIGNhbGxDb25uZWN0aW9uT25NYWluVGhyZWFkKCZJ
REJDb25uZWN0aW9uVG9TZXJ2ZXI6OmdldFJlY29yZCwgcmVxdWVzdERhdGEsIGtleVJhbmdlKTsK
KyAgICBjYWxsQ29ubmVjdGlvbk9uTWFpblRocmVhZCgmSURCQ29ubmVjdGlvblRvU2VydmVyOjpn
ZXRSZWNvcmQsIHJlcXVlc3REYXRhLCBnZXRSZWNvcmREYXRhKTsKIH0KIAogdm9pZCBJREJDb25u
ZWN0aW9uUHJveHk6OmdldENvdW50KFRyYW5zYWN0aW9uT3BlcmF0aW9uJiBvcGVyYXRpb24sIGNv
bnN0IElEQktleVJhbmdlRGF0YSYga2V5UmFuZ2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblByb3h5LmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblByb3h5LmgKaW5k
ZXggMWE1ZDcyMWUyZDdmNTU0YTkwM2NjMmJkYzMzNjJlNzYwNjU1NTk4NC4uYzNhNTk3NGJjMDAw
ZTI5YzUwNmU5YjMxODIwNjgzM2JlOGJmYjIyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Qcm94eS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9uUHJveHkuaApA
QCAtNTEsNiArNTEsOCBAQCBjbGFzcyBJREJUcmFuc2FjdGlvbjsKIGNsYXNzIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQ7CiBjbGFzcyBTZWN1cml0eU9yaWdpbjsKIAorc3RydWN0IElEQkdldFJlY29y
ZERhdGE7CisKIG5hbWVzcGFjZSBJREJDbGllbnQgewogCiBjbGFzcyBJREJDb25uZWN0aW9uVG9T
ZXJ2ZXI7CkBAIC03MSw3ICs3Myw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGNyZWF0ZUluZGV4KFRy
YW5zYWN0aW9uT3BlcmF0aW9uJiwgY29uc3QgSURCSW5kZXhJbmZvJik7CiAgICAgdm9pZCBkZWxl
dGVJbmRleChUcmFuc2FjdGlvbk9wZXJhdGlvbiYsIHVpbnQ2NF90IG9iamVjdFN0b3JlSWRlbnRp
ZmllciwgY29uc3QgU3RyaW5nJiBpbmRleE5hbWUpOwogICAgIHZvaWQgcHV0T3JBZGQoVHJhbnNh
Y3Rpb25PcGVyYXRpb24mLCBJREJLZXlEYXRhJiYsIGNvbnN0IElEQlZhbHVlJiwgY29uc3QgSW5k
ZXhlZERCOjpPYmplY3RTdG9yZU92ZXJ3cml0ZU1vZGUpOwotICAgIHZvaWQgZ2V0UmVjb3JkKFRy
YW5zYWN0aW9uT3BlcmF0aW9uJiwgY29uc3QgSURCS2V5UmFuZ2VEYXRhJik7CisgICAgdm9pZCBn
ZXRSZWNvcmQoVHJhbnNhY3Rpb25PcGVyYXRpb24mLCBjb25zdCBJREJHZXRSZWNvcmREYXRhJik7
CiAgICAgdm9pZCBnZXRDb3VudChUcmFuc2FjdGlvbk9wZXJhdGlvbiYsIGNvbnN0IElEQktleVJh
bmdlRGF0YSYpOwogICAgIHZvaWQgZGVsZXRlUmVjb3JkKFRyYW5zYWN0aW9uT3BlcmF0aW9uJiwg
Y29uc3QgSURCS2V5UmFuZ2VEYXRhJik7CiAgICAgdm9pZCBvcGVuQ3Vyc29yKFRyYW5zYWN0aW9u
T3BlcmF0aW9uJiwgY29uc3QgSURCQ3Vyc29ySW5mbyYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Ub1NlcnZlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblRv
U2VydmVyLmNwcAppbmRleCA3MDQ2NmExOGMyMTcyMDM4MDk3ODgzMjBjOTkzNzZlMmFkYjFlNDNh
Li45MzQxMTEzMGI4NjQ4ZTJiYmRkYTAyYjA3YTZjYTg2ZTY1NjRlN2E1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblRvU2Vy
dmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURC
Q29ubmVjdGlvblRvU2VydmVyLmNwcApAQCAtMzAsNiArMzAsNyBAQAogCiAjaW5jbHVkZSAiSURC
Q29ubmVjdGlvblByb3h5LmgiCiAjaW5jbHVkZSAiSURCRGF0YWJhc2UuaCIKKyNpbmNsdWRlICJJ
REJHZXRSZWNvcmREYXRhLmgiCiAjaW5jbHVkZSAiSURCS2V5UmFuZ2VEYXRhLmgiCiAjaW5jbHVk
ZSAiSURCT3BlbkRCUmVxdWVzdC5oIgogI2luY2x1ZGUgIklEQlJlcXVlc3REYXRhLmgiCkBAIC0x
NzEsMTMgKzE3MiwxMyBAQCB2b2lkIElEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6ZGlkUHV0T3JBZGQo
Y29uc3QgSURCUmVzdWx0RGF0YSYgcmVzdWx0RGF0YSkKICAgICBtX3Byb3h5LT5jb21wbGV0ZU9w
ZXJhdGlvbihyZXN1bHREYXRhKTsKIH0KIAotdm9pZCBJREJDb25uZWN0aW9uVG9TZXJ2ZXI6Omdl
dFJlY29yZChjb25zdCBJREJSZXF1ZXN0RGF0YSYgcmVxdWVzdERhdGEsIGNvbnN0IElEQktleVJh
bmdlRGF0YSYga2V5UmFuZ2VEYXRhKQordm9pZCBJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OmdldFJl
Y29yZChjb25zdCBJREJSZXF1ZXN0RGF0YSYgcmVxdWVzdERhdGEsIGNvbnN0IElEQkdldFJlY29y
ZERhdGEmIGdldFJlY29yZERhdGEpCiB7CiAgICAgTE9HKEluZGV4ZWREQiwgIklEQkNvbm5lY3Rp
b25Ub1NlcnZlcjo6Z2V0UmVjb3JkIik7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKLSAg
ICBBU1NFUlQoIWtleVJhbmdlRGF0YS5pc051bGwpOworICAgIEFTU0VSVCghZ2V0UmVjb3JkRGF0
YS5rZXlSYW5nZURhdGEuaXNOdWxsKTsKIAotICAgIG1fZGVsZWdhdGUtPmdldFJlY29yZChyZXF1
ZXN0RGF0YSwga2V5UmFuZ2VEYXRhKTsKKyAgICBtX2RlbGVnYXRlLT5nZXRSZWNvcmQocmVxdWVz
dERhdGEsIGdldFJlY29yZERhdGEpOwogfQogCiB2b2lkIElEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6
ZGlkR2V0UmVjb3JkKGNvbnN0IElEQlJlc3VsdERhdGEmIHJlc3VsdERhdGEpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblRv
U2VydmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ29u
bmVjdGlvblRvU2VydmVyLmgKaW5kZXggYTZhY2U1NzJlMjgyMGQ2ZDAwYzJiYWQ3MGZkNmQ4Y2U4
YWUzY2IxNS4uMjU2ZmU3N2M0MTExNzA3ZWNhMDg3NjhlNDEwYjdhZDRjYjg3NzMyZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rp
b25Ub1NlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVu
dC9JREJDb25uZWN0aW9uVG9TZXJ2ZXIuaApAQCAtNDUsNiArNDUsOCBAQCBjbGFzcyBJREJSZXN1
bHREYXRhOwogY2xhc3MgSURCVmFsdWU7CiBjbGFzcyBTZWN1cml0eU9yaWdpbjsKIAorc3RydWN0
IElEQkdldFJlY29yZERhdGE7CisKIG5hbWVzcGFjZSBJREJDbGllbnQgewogCiBjbGFzcyBJREJD
b25uZWN0aW9uVG9TZXJ2ZXIgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8SURCQ29ubmVj
dGlvblRvU2VydmVyPiB7CkBAIC03OSw3ICs4MSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHB1dE9y
QWRkKGNvbnN0IElEQlJlcXVlc3REYXRhJiwgY29uc3QgSURCS2V5RGF0YSYsIGNvbnN0IElEQlZh
bHVlJiwgY29uc3QgSW5kZXhlZERCOjpPYmplY3RTdG9yZU92ZXJ3cml0ZU1vZGUpOwogICAgIFdF
QkNPUkVfRVhQT1JUIHZvaWQgZGlkUHV0T3JBZGQoY29uc3QgSURCUmVzdWx0RGF0YSYpOwogCi0g
ICAgdm9pZCBnZXRSZWNvcmQoY29uc3QgSURCUmVxdWVzdERhdGEmLCBjb25zdCBJREJLZXlSYW5n
ZURhdGEmKTsKKyAgICB2b2lkIGdldFJlY29yZChjb25zdCBJREJSZXF1ZXN0RGF0YSYsIGNvbnN0
IElEQkdldFJlY29yZERhdGEmKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGRpZEdldFJlY29y
ZChjb25zdCBJREJSZXN1bHREYXRhJik7CiAKICAgICB2b2lkIGdldENvdW50KGNvbnN0IElEQlJl
cXVlc3REYXRhJiwgY29uc3QgSURCS2V5UmFuZ2VEYXRhJik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblRvU2VydmVyRGVs
ZWdhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25u
ZWN0aW9uVG9TZXJ2ZXJEZWxlZ2F0ZS5oCmluZGV4IGNiNGU1Y2RmYzhmY2MwYTEzOTMxY2I4MzYw
MjdmZGU1Mjk1YWE3NGYuLmRmZDI0NWQ5NmY1OTAwMGNjNTU2OTE5MmU0NzM1MDcwMDkxN2MxNTgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJD
b25uZWN0aW9uVG9TZXJ2ZXJEZWxlZ2F0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9uVG9TZXJ2ZXJEZWxlZ2F0ZS5oCkBAIC00MCw2
ICs0MCw3IEBAIGNsYXNzIElEQlJlc291cmNlSWRlbnRpZmllcjsKIGNsYXNzIElEQlRyYW5zYWN0
aW9uSW5mbzsKIGNsYXNzIElEQlZhbHVlOwogCitzdHJ1Y3QgSURCR2V0UmVjb3JkRGF0YTsKIHN0
cnVjdCBTZWN1cml0eU9yaWdpbkRhdGE7CiAKIG5hbWVzcGFjZSBJbmRleGVkREIgewpAQCAtNjYs
NyArNjcsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGNyZWF0ZUluZGV4KGNvbnN0IElE
QlJlcXVlc3REYXRhJiwgY29uc3QgSURCSW5kZXhJbmZvJikgPSAwOwogICAgIHZpcnR1YWwgdm9p
ZCBkZWxldGVJbmRleChjb25zdCBJREJSZXF1ZXN0RGF0YSYsIHVpbnQ2NF90IG9iamVjdFN0b3Jl
SWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBpbmRleE5hbWUpID0gMDsKICAgICB2aXJ0dWFsIHZv
aWQgcHV0T3JBZGQoY29uc3QgSURCUmVxdWVzdERhdGEmLCBjb25zdCBJREJLZXlEYXRhJiwgY29u
c3QgSURCVmFsdWUmLCBjb25zdCBJbmRleGVkREI6Ok9iamVjdFN0b3JlT3ZlcndyaXRlTW9kZSkg
PSAwOwotICAgIHZpcnR1YWwgdm9pZCBnZXRSZWNvcmQoY29uc3QgSURCUmVxdWVzdERhdGEmLCBj
b25zdCBJREJLZXlSYW5nZURhdGEmKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGdldFJlY29yZChj
b25zdCBJREJSZXF1ZXN0RGF0YSYsIGNvbnN0IElEQkdldFJlY29yZERhdGEmKSA9IDA7CiAgICAg
dmlydHVhbCB2b2lkIGdldENvdW50KGNvbnN0IElEQlJlcXVlc3REYXRhJiwgY29uc3QgSURCS2V5
UmFuZ2VEYXRhJikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkZWxldGVSZWNvcmQoY29uc3QgSURC
UmVxdWVzdERhdGEmLCBjb25zdCBJREJLZXlSYW5nZURhdGEmKSA9IDA7CiAgICAgdmlydHVhbCB2
b2lkIG9wZW5DdXJzb3IoY29uc3QgSURCUmVxdWVzdERhdGEmLCBjb25zdCBJREJDdXJzb3JJbmZv
JikgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2Vy
dmVyL0lEQlNlcnZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2
ZXIvSURCU2VydmVyLmNwcAppbmRleCBkMTgwNTlmMjViNzUxYjJkYjFjMTBhOGExNDcyYzliYjVm
MTU1NGExLi5mMjQ5ZDQwMTZmMDIxYWY3YzUwNzZhNmFiNjMyMjQzNzFmM2NjMTRmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCU2VydmVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCU2VydmVy
LmNwcApAQCAtMjU5LDcgKzI1OSw3IEBAIHZvaWQgSURCU2VydmVyOjpwdXRPckFkZChjb25zdCBJ
REJSZXF1ZXN0RGF0YSYgcmVxdWVzdERhdGEsIGNvbnN0IElEQktleURhdGEmIGtlCiAgICAgdHJh
bnNhY3Rpb24tPnB1dE9yQWRkKHJlcXVlc3REYXRhLCBrZXlEYXRhLCB2YWx1ZSwgb3ZlcndyaXRl
TW9kZSk7CiB9CiAKLXZvaWQgSURCU2VydmVyOjpnZXRSZWNvcmQoY29uc3QgSURCUmVxdWVzdERh
dGEmIHJlcXVlc3REYXRhLCBjb25zdCBJREJLZXlSYW5nZURhdGEmIGtleVJhbmdlRGF0YSkKK3Zv
aWQgSURCU2VydmVyOjpnZXRSZWNvcmQoY29uc3QgSURCUmVxdWVzdERhdGEmIHJlcXVlc3REYXRh
LCBjb25zdCBJREJHZXRSZWNvcmREYXRhJiBnZXRSZWNvcmREYXRhKQogewogICAgIExPRyhJbmRl
eGVkREIsICJJREJTZXJ2ZXI6OmdldFJlY29yZCIpOwogCkBAIC0yNjcsNyArMjY3LDcgQEAgdm9p
ZCBJREJTZXJ2ZXI6OmdldFJlY29yZChjb25zdCBJREJSZXF1ZXN0RGF0YSYgcmVxdWVzdERhdGEs
IGNvbnN0IElEQktleVJhbmdlRGEKICAgICBpZiAoIXRyYW5zYWN0aW9uKQogICAgICAgICByZXR1
cm47CiAKLSAgICB0cmFuc2FjdGlvbi0+Z2V0UmVjb3JkKHJlcXVlc3REYXRhLCBrZXlSYW5nZURh
dGEpOworICAgIHRyYW5zYWN0aW9uLT5nZXRSZWNvcmQocmVxdWVzdERhdGEsIGdldFJlY29yZERh
dGEpOwogfQogCiB2b2lkIElEQlNlcnZlcjo6Z2V0Q291bnQoY29uc3QgSURCUmVxdWVzdERhdGEm
IHJlcXVlc3REYXRhLCBjb25zdCBJREJLZXlSYW5nZURhdGEmIGtleVJhbmdlRGF0YSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9JREJTZXJ2ZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9JREJTZXJ2ZXIuaApp
bmRleCA3MmUzZjcxMjM0MzcyZWQzYzEzYWRjZjc2ODAxMTYwZDlhMTIwOTIwLi41NjAzNWI4NDQw
ZWEwMWE2NTBiMDQ5NzliNjgxNTlhZjQ5MGFjYTFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCU2VydmVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL0lEQlNlcnZlci5oCkBAIC00Niw2ICs0Niw4IEBA
IGNsYXNzIElEQkN1cnNvckluZm87CiBjbGFzcyBJREJSZXF1ZXN0RGF0YTsKIGNsYXNzIElEQlZh
bHVlOwogCitzdHJ1Y3QgSURCR2V0UmVjb3JkRGF0YTsKKwogbmFtZXNwYWNlIElEQlNlcnZlciB7
CiAKIGNsYXNzIElEQkJhY2tpbmdTdG9yZVRlbXBvcmFyeUZpbGVIYW5kbGVyOwpAQCAtNzAsNyAr
NzIsNyBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBjcmVhdGVJbmRleChjb25z
dCBJREJSZXF1ZXN0RGF0YSYsIGNvbnN0IElEQkluZGV4SW5mbyYpOwogICAgIFdFQkNPUkVfRVhQ
T1JUIHZvaWQgZGVsZXRlSW5kZXgoY29uc3QgSURCUmVxdWVzdERhdGEmLCB1aW50NjRfdCBvYmpl
Y3RTdG9yZUlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgaW5kZXhOYW1lKTsKICAgICBXRUJDT1JF
X0VYUE9SVCB2b2lkIHB1dE9yQWRkKGNvbnN0IElEQlJlcXVlc3REYXRhJiwgY29uc3QgSURCS2V5
RGF0YSYsIGNvbnN0IElEQlZhbHVlJiwgSW5kZXhlZERCOjpPYmplY3RTdG9yZU92ZXJ3cml0ZU1v
ZGUpOwotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZ2V0UmVjb3JkKGNvbnN0IElEQlJlcXVlc3RE
YXRhJiwgY29uc3QgSURCS2V5UmFuZ2VEYXRhJik7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBn
ZXRSZWNvcmQoY29uc3QgSURCUmVxdWVzdERhdGEmLCBjb25zdCBJREJHZXRSZWNvcmREYXRhJik7
CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBnZXRDb3VudChjb25zdCBJREJSZXF1ZXN0RGF0YSYs
IGNvbnN0IElEQktleVJhbmdlRGF0YSYpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZGVsZXRl
UmVjb3JkKGNvbnN0IElEQlJlcXVlc3REYXRhJiwgY29uc3QgSURCS2V5UmFuZ2VEYXRhJik7CiAg
ICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBvcGVuQ3Vyc29yKGNvbnN0IElEQlJlcXVlc3REYXRhJiwg
Y29uc3QgSURCQ3Vyc29ySW5mbyYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZS5jcHAKaW5kZXggMjE3
MzYwZDdhMmE2NjM2YWRkNmQ0MTM1NWY2NGFlNmJlYmU2ODk0OS4uMjI1ZTZiMTZmNDIxOGUzNmFi
ZjdlODExNDE5YWQ3YWZkMWJmMGQwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2UuY3BwCkBAIC0y
OSw2ICsyOSw3IEBACiAjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCiAKICNpbmNsdWRlICJJ
REJDdXJzb3JJbmZvLmgiCisjaW5jbHVkZSAiSURCR2V0UmVjb3JkRGF0YS5oIgogI2luY2x1ZGUg
IklEQktleVJhbmdlRGF0YS5oIgogI2luY2x1ZGUgIklEQlJlc3VsdERhdGEuaCIKICNpbmNsdWRl
ICJJREJTZXJ2ZXIuaCIKQEAgLTkxMyw3ICs5MTQsNyBAQCB2b2lkIFVuaXF1ZUlEQkRhdGFiYXNl
OjpkaWRQZXJmb3JtUHV0T3JBZGQodWludDY0X3QgY2FsbGJhY2tJZGVudGlmaWVyLCBjb25zdCBJ
RAogICAgIHBlcmZvcm1LZXlEYXRhQ2FsbGJhY2soY2FsbGJhY2tJZGVudGlmaWVyLCBlcnJvciwg
cmVzdWx0S2V5KTsKIH0KIAotdm9pZCBVbmlxdWVJREJEYXRhYmFzZTo6Z2V0UmVjb3JkKGNvbnN0
IElEQlJlcXVlc3REYXRhJiByZXF1ZXN0RGF0YSwgY29uc3QgSURCS2V5UmFuZ2VEYXRhJiByYW5n
ZSwgR2V0UmVzdWx0Q2FsbGJhY2sgY2FsbGJhY2spCit2b2lkIFVuaXF1ZUlEQkRhdGFiYXNlOjpn
ZXRSZWNvcmQoY29uc3QgSURCUmVxdWVzdERhdGEmIHJlcXVlc3REYXRhLCBjb25zdCBJREJHZXRS
ZWNvcmREYXRhJiBnZXRSZWNvcmREYXRhLCBHZXRSZXN1bHRDYWxsYmFjayBjYWxsYmFjaykKIHsK
ICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwogICAgIExPRyhJbmRleGVkREIsICIobWFpbikg
VW5pcXVlSURCRGF0YWJhc2U6OmdldFJlY29yZCIpOwpAQCAtOTIzLDkgKzkyNCw5IEBAIHZvaWQg
VW5pcXVlSURCRGF0YWJhc2U6OmdldFJlY29yZChjb25zdCBJREJSZXF1ZXN0RGF0YSYgcmVxdWVz
dERhdGEsIGNvbnN0IElEQktlCiAgICAgICAgIHJldHVybjsKIAogICAgIGlmICh1aW50NjRfdCBp
bmRleElkZW50aWZpZXIgPSByZXF1ZXN0RGF0YS5pbmRleElkZW50aWZpZXIoKSkKLSAgICAgICAg
cG9zdERhdGFiYXNlVGFzayhjcmVhdGVDcm9zc1RocmVhZFRhc2soKnRoaXMsICZVbmlxdWVJREJE
YXRhYmFzZTo6cGVyZm9ybUdldEluZGV4UmVjb3JkLCBjYWxsYmFja0lELCByZXF1ZXN0RGF0YS50
cmFuc2FjdGlvbklkZW50aWZpZXIoKSwgcmVxdWVzdERhdGEub2JqZWN0U3RvcmVJZGVudGlmaWVy
KCksIGluZGV4SWRlbnRpZmllciwgcmVxdWVzdERhdGEuaW5kZXhSZWNvcmRUeXBlKCksIHJhbmdl
KSk7CisgICAgICAgIHBvc3REYXRhYmFzZVRhc2soY3JlYXRlQ3Jvc3NUaHJlYWRUYXNrKCp0aGlz
LCAmVW5pcXVlSURCRGF0YWJhc2U6OnBlcmZvcm1HZXRJbmRleFJlY29yZCwgY2FsbGJhY2tJRCwg
cmVxdWVzdERhdGEudHJhbnNhY3Rpb25JZGVudGlmaWVyKCksIHJlcXVlc3REYXRhLm9iamVjdFN0
b3JlSWRlbnRpZmllcigpLCBpbmRleElkZW50aWZpZXIsIHJlcXVlc3REYXRhLmluZGV4UmVjb3Jk
VHlwZSgpLCBnZXRSZWNvcmREYXRhLmtleVJhbmdlRGF0YSkpOwogICAgIGVsc2UKLSAgICAgICAg
cG9zdERhdGFiYXNlVGFzayhjcmVhdGVDcm9zc1RocmVhZFRhc2soKnRoaXMsICZVbmlxdWVJREJE
YXRhYmFzZTo6cGVyZm9ybUdldFJlY29yZCwgY2FsbGJhY2tJRCwgcmVxdWVzdERhdGEudHJhbnNh
Y3Rpb25JZGVudGlmaWVyKCksIHJlcXVlc3REYXRhLm9iamVjdFN0b3JlSWRlbnRpZmllcigpLCBy
YW5nZSkpOworICAgICAgICBwb3N0RGF0YWJhc2VUYXNrKGNyZWF0ZUNyb3NzVGhyZWFkVGFzaygq
dGhpcywgJlVuaXF1ZUlEQkRhdGFiYXNlOjpwZXJmb3JtR2V0UmVjb3JkLCBjYWxsYmFja0lELCBy
ZXF1ZXN0RGF0YS50cmFuc2FjdGlvbklkZW50aWZpZXIoKSwgcmVxdWVzdERhdGEub2JqZWN0U3Rv
cmVJZGVudGlmaWVyKCksIGdldFJlY29yZERhdGEua2V5UmFuZ2VEYXRhKSk7CiB9CiAKIHZvaWQg
VW5pcXVlSURCRGF0YWJhc2U6OnBlcmZvcm1HZXRSZWNvcmQodWludDY0X3QgY2FsbGJhY2tJZGVu
dGlmaWVyLCBjb25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXImIHRyYW5zYWN0aW9uSWRlbnRpZmll
ciwgdWludDY0X3Qgb2JqZWN0U3RvcmVJZGVudGlmaWVyLCBjb25zdCBJREJLZXlSYW5nZURhdGEm
IGtleVJhbmdlRGF0YSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlLmgKaW5kZXggOGRhNjQ0NGIyYmM0ZDlm
Nzg1ZTkxOGQyMjAzMjBkOTRjYzk1MTE3Zi4uYzk0MDI0ZGRkNmRmMzkzODg1MjVjYzY4MDJhZGI4
NjcyNTVmNzAzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
c2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlLmgKQEAgLTkyLDcgKzkyLDcgQEAgcHVi
bGljOgogICAgIHZvaWQgY3JlYXRlSW5kZXgoVW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbiYs
IGNvbnN0IElEQkluZGV4SW5mbyYsIEVycm9yQ2FsbGJhY2spOwogICAgIHZvaWQgZGVsZXRlSW5k
ZXgoVW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbiYsIHVpbnQ2NF90IG9iamVjdFN0b3JlSWRl
bnRpZmllciwgY29uc3QgU3RyaW5nJiBpbmRleE5hbWUsIEVycm9yQ2FsbGJhY2spOwogICAgIHZv
aWQgcHV0T3JBZGQoY29uc3QgSURCUmVxdWVzdERhdGEmLCBjb25zdCBJREJLZXlEYXRhJiwgY29u
c3QgSURCVmFsdWUmLCBJbmRleGVkREI6Ok9iamVjdFN0b3JlT3ZlcndyaXRlTW9kZSwgS2V5RGF0
YUNhbGxiYWNrKTsKLSAgICB2b2lkIGdldFJlY29yZChjb25zdCBJREJSZXF1ZXN0RGF0YSYsIGNv
bnN0IElEQktleVJhbmdlRGF0YSYsIEdldFJlc3VsdENhbGxiYWNrKTsKKyAgICB2b2lkIGdldFJl
Y29yZChjb25zdCBJREJSZXF1ZXN0RGF0YSYsIGNvbnN0IElEQkdldFJlY29yZERhdGEmLCBHZXRS
ZXN1bHRDYWxsYmFjayk7CiAgICAgdm9pZCBnZXRDb3VudChjb25zdCBJREJSZXF1ZXN0RGF0YSYs
IGNvbnN0IElEQktleVJhbmdlRGF0YSYsIENvdW50Q2FsbGJhY2spOwogICAgIHZvaWQgZGVsZXRl
UmVjb3JkKGNvbnN0IElEQlJlcXVlc3REYXRhJiwgY29uc3QgSURCS2V5UmFuZ2VEYXRhJiwgRXJy
b3JDYWxsYmFjayk7CiAgICAgdm9pZCBvcGVuQ3Vyc29yKGNvbnN0IElEQlJlcXVlc3REYXRhJiwg
Y29uc3QgSURCQ3Vyc29ySW5mbyYsIEdldFJlc3VsdENhbGxiYWNrKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZVRy
YW5zYWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9V
bmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uLmNwcAppbmRleCA5MDI0ZTM2MzEzMjhiOTAwYTZh
NTBmNmFiNWZiMjFkMTgxZDFhNTUzLi5kMDg2OThkNTc0OTU5MzBlMDcyNmI5NTYzMGZhMjEyMzg3
MTIzYjg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2
ZXIvVW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb24uY3Bw
CkBAIC0yMDUsMTQgKzIwNSwxNCBAQCB2b2lkIFVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb246
OnB1dE9yQWRkKGNvbnN0IElEQlJlcXVlc3REYXRhJiByZXF1ZXN0RGF0YSwgYwogICAgIH0pOwog
fQogCi12b2lkIFVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb246OmdldFJlY29yZChjb25zdCBJ
REJSZXF1ZXN0RGF0YSYgcmVxdWVzdERhdGEsIGNvbnN0IElEQktleVJhbmdlRGF0YSYga2V5UmFu
Z2VEYXRhKQordm9pZCBVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uOjpnZXRSZWNvcmQoY29u
c3QgSURCUmVxdWVzdERhdGEmIHJlcXVlc3REYXRhLCBjb25zdCBJREJHZXRSZWNvcmREYXRhJiBn
ZXRSZWNvcmREYXRhKQogewogICAgIExPRyhJbmRleGVkREIsICJVbmlxdWVJREJEYXRhYmFzZVRy
YW5zYWN0aW9uOjpnZXRSZWNvcmQiKTsKIAogICAgIEFTU0VSVChtX3RyYW5zYWN0aW9uSW5mby5p
ZGVudGlmaWVyKCkgPT0gcmVxdWVzdERhdGEudHJhbnNhY3Rpb25JZGVudGlmaWVyKCkpOwogCiAg
ICAgUmVmUHRyPFVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb24+IHByb3RlY3RlZFRoaXModGhp
cyk7Ci0gICAgbV9kYXRhYmFzZUNvbm5lY3Rpb24tPmRhdGFiYXNlKCkuZ2V0UmVjb3JkKHJlcXVl
c3REYXRhLCBrZXlSYW5nZURhdGEsIFt0aGlzLCBwcm90ZWN0ZWRUaGlzLCByZXF1ZXN0RGF0YV0o
Y29uc3QgSURCRXJyb3ImIGVycm9yLCBjb25zdCBJREJHZXRSZXN1bHQmIHJlc3VsdCkgeworICAg
IG1fZGF0YWJhc2VDb25uZWN0aW9uLT5kYXRhYmFzZSgpLmdldFJlY29yZChyZXF1ZXN0RGF0YSwg
Z2V0UmVjb3JkRGF0YSwgW3RoaXMsIHByb3RlY3RlZFRoaXMsIHJlcXVlc3REYXRhXShjb25zdCBJ
REJFcnJvciYgZXJyb3IsIGNvbnN0IElEQkdldFJlc3VsdCYgcmVzdWx0KSB7CiAgICAgICAgIExP
RyhJbmRleGVkREIsICJVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uOjpnZXRSZWNvcmQgKGNh
bGxiYWNrKSIpOwogCiAgICAgICAgIGlmIChlcnJvci5pc051bGwoKSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZVRy
YW5zYWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5p
cXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbi5oCmluZGV4IDg4ZGEwMTdjYTI3M2ZjYjg0OGY2M2Q2
ZGFjYTQ5NzY0ZjI1YzJhNDMuLjAxNmFjYzU5YjY2YjkzZDI5YTk2ZDdiM2Q1OTQxOTQ3YjU1NjYz
YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9V
bmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb24uaApAQCAtNDMs
NiArNDMsNyBAQCBjbGFzcyBJREJPYmplY3RTdG9yZUluZm87CiBjbGFzcyBJREJSZXF1ZXN0RGF0
YTsKIGNsYXNzIElEQlZhbHVlOwogCitzdHJ1Y3QgSURCR2V0UmVjb3JkRGF0YTsKIHN0cnVjdCBJ
REJLZXlSYW5nZURhdGE7CiAKIG5hbWVzcGFjZSBJREJTZXJ2ZXIgewpAQCAtNzIsNyArNzMsNyBA
QCBwdWJsaWM6CiAgICAgdm9pZCBjcmVhdGVJbmRleChjb25zdCBJREJSZXF1ZXN0RGF0YSYsIGNv
bnN0IElEQkluZGV4SW5mbyYpOwogICAgIHZvaWQgZGVsZXRlSW5kZXgoY29uc3QgSURCUmVxdWVz
dERhdGEmLCB1aW50NjRfdCBvYmplY3RTdG9yZUlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgaW5k
ZXhOYW1lKTsKICAgICB2b2lkIHB1dE9yQWRkKGNvbnN0IElEQlJlcXVlc3REYXRhJiwgY29uc3Qg
SURCS2V5RGF0YSYsIGNvbnN0IElEQlZhbHVlJiwgSW5kZXhlZERCOjpPYmplY3RTdG9yZU92ZXJ3
cml0ZU1vZGUpOwotICAgIHZvaWQgZ2V0UmVjb3JkKGNvbnN0IElEQlJlcXVlc3REYXRhJiwgY29u
c3QgSURCS2V5UmFuZ2VEYXRhJik7CisgICAgdm9pZCBnZXRSZWNvcmQoY29uc3QgSURCUmVxdWVz
dERhdGEmLCBjb25zdCBJREJHZXRSZWNvcmREYXRhJik7CiAgICAgdm9pZCBnZXRDb3VudChjb25z
dCBJREJSZXF1ZXN0RGF0YSYsIGNvbnN0IElEQktleVJhbmdlRGF0YSYpOwogICAgIHZvaWQgZGVs
ZXRlUmVjb3JkKGNvbnN0IElEQlJlcXVlc3REYXRhJiwgY29uc3QgSURCS2V5UmFuZ2VEYXRhJik7
CiAgICAgdm9pZCBvcGVuQ3Vyc29yKGNvbnN0IElEQlJlcXVlc3REYXRhJiwgY29uc3QgSURCQ3Vy
c29ySW5mbyYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
c2hhcmVkL0lEQkdldFJlY29yZERhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvc2hhcmVkL0lEQkdldFJlY29yZERhdGEuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQxOWEyNmFiOTBm
ZjhiOTEzNDg3OWFmNTY1NWFmNmZkZjEwMDQ0ZDUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCR2V0UmVjb3JkRGF0YS5jcHAKQEAg
LTAsMCArMSw0MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRl
ICJJREJHZXRSZWNvcmREYXRhLmgiCisKKyNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKKwor
I2luY2x1ZGUgIklEQktleVJhbmdlRGF0YS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0lE
QkdldFJlY29yZERhdGEgSURCR2V0UmVjb3JkRGF0YTo6aXNvbGF0ZWRDb3B5KCkgY29uc3QKK3sK
KyAgICByZXR1cm4geyBrZXlSYW5nZURhdGEuaXNvbGF0ZWRDb3B5KCkgfTsKK30KKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKElOREVYRURfREFUQUJBU0UpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCR2V0
UmVjb3JkRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lE
QkdldFJlY29yZERhdGEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZWNmYTUwYTc4YTk5NjJlNzZiMmRiNzI5OWIy
MjE5ZjRhN2VmZjhhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvc2hhcmVkL0lEQkdldFJlY29yZERhdGEuaApAQCAtMCwwICsxLDYwIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKKwor
I2luY2x1ZGUgIklEQktleVJhbmdlRGF0YS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0
cnVjdCBJREJHZXRSZWNvcmREYXRhIHsKKyAgICBJREJLZXlSYW5nZURhdGEga2V5UmFuZ2VEYXRh
OworCisgICAgSURCR2V0UmVjb3JkRGF0YSBpc29sYXRlZENvcHkoKSBjb25zdDsKKworICAgIHRl
bXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKKyAgICB0
ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgYm9vbCBkZWNvZGUoRGVjb2RlciYsIElEQkdl
dFJlY29yZERhdGEmKTsKK307CisKK3RlbXBsYXRlPGNsYXNzIEVuY29kZXI+Cit2b2lkIElEQkdl
dFJlY29yZERhdGE6OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAoreworICAgIGVuY29k
ZXIgPDwga2V5UmFuZ2VEYXRhOworfQorCit0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPgorYm9vbCBJ
REJHZXRSZWNvcmREYXRhOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgSURCR2V0UmVjb3JkRGF0
YSYgZ2V0UmVjb3JkRGF0YSkKK3sKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGdldFJlY29yZERh
dGEua2V5UmFuZ2VEYXRhKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0dXJuIHRy
dWU7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShJTkRF
WEVEX0RBVEFCQVNFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvc2hhcmVkL0luUHJvY2Vzc0lEQlNlcnZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9zaGFyZWQvSW5Qcm9jZXNzSURCU2VydmVyLmNwcAppbmRleCA2MTBjNzdmMzM4
ZGU1NWYxYTZlNTFlYWVhMTYzODUwMjlkZGNhMmUzLi4xNTBiMTFlZTcwZGQ1OTA2NzkwYTdjN2Vj
MTBkYjkzNzc3MjAwYjgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9zaGFyZWQvSW5Qcm9jZXNzSURCU2VydmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSW5Qcm9jZXNzSURCU2VydmVyLmNwcApAQCAtMzIsNiAr
MzIsNyBAQAogI2luY2x1ZGUgIklEQkNvbm5lY3Rpb25Ub0NsaWVudC5oIgogI2luY2x1ZGUgIklE
QkNvbm5lY3Rpb25Ub1NlcnZlci5oIgogI2luY2x1ZGUgIklEQkN1cnNvckluZm8uaCIKKyNpbmNs
dWRlICJJREJHZXRSZWNvcmREYXRhLmgiCiAjaW5jbHVkZSAiSURCS2V5UmFuZ2VEYXRhLmgiCiAj
aW5jbHVkZSAiSURCT3BlbkRCUmVxdWVzdC5oIgogI2luY2x1ZGUgIklEQlJlcXVlc3REYXRhLmgi
CkBAIC0yNzEsMTAgKzI3MiwxMCBAQCB2b2lkIEluUHJvY2Vzc0lEQlNlcnZlcjo6cHV0T3JBZGQo
Y29uc3QgSURCUmVxdWVzdERhdGEmIHJlcXVlc3REYXRhLCBjb25zdCBJREJLZQogICAgIH0pOwog
fQogCi12b2lkIEluUHJvY2Vzc0lEQlNlcnZlcjo6Z2V0UmVjb3JkKGNvbnN0IElEQlJlcXVlc3RE
YXRhJiByZXF1ZXN0RGF0YSwgY29uc3QgSURCS2V5UmFuZ2VEYXRhJiBrZXlSYW5nZURhdGEpCit2
b2lkIEluUHJvY2Vzc0lEQlNlcnZlcjo6Z2V0UmVjb3JkKGNvbnN0IElEQlJlcXVlc3REYXRhJiBy
ZXF1ZXN0RGF0YSwgY29uc3QgSURCR2V0UmVjb3JkRGF0YSYgZ2V0UmVjb3JkRGF0YSkKIHsKLSAg
ICBSdW5Mb29wOjpjdXJyZW50KCkuZGlzcGF0Y2goW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtl
UmVmKCp0aGlzKSwgcmVxdWVzdERhdGEsIGtleVJhbmdlRGF0YV0gewotICAgICAgICBtX3NlcnZl
ci0+Z2V0UmVjb3JkKHJlcXVlc3REYXRhLCBrZXlSYW5nZURhdGEpOworICAgIFJ1bkxvb3A6OmN1
cnJlbnQoKS5kaXNwYXRjaChbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCBy
ZXF1ZXN0RGF0YSwgZ2V0UmVjb3JkRGF0YV0geworICAgICAgICBtX3NlcnZlci0+Z2V0UmVjb3Jk
KHJlcXVlc3REYXRhLCBnZXRSZWNvcmREYXRhKTsKICAgICB9KTsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0luUHJvY2Vzc0lEQlNlcnZl
ci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0luUHJvY2Vzc0lE
QlNlcnZlci5oCmluZGV4IGVlNWVkNzMxYzEwM2YzNjM1ODFhNDI0NDcxNjA0MTRiOWZhM2M0NTIu
LmVhYTQ0N2NhZjFiOTQ5Zjc2OWQxNzBmMGNhM2M4MzQ4NDc2ZjJhYzkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JblByb2Nlc3NJREJTZXJ2ZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSW5Qcm9jZXNz
SURCU2VydmVyLmgKQEAgLTY4LDcgKzY4LDcgQEAgcHVibGljOgogICAgIHZvaWQgY3JlYXRlSW5k
ZXgoY29uc3QgSURCUmVxdWVzdERhdGEmLCBjb25zdCBJREJJbmRleEluZm8mKSBmaW5hbDsKICAg
ICB2b2lkIGRlbGV0ZUluZGV4KGNvbnN0IElEQlJlcXVlc3REYXRhJiwgdWludDY0X3Qgb2JqZWN0
U3RvcmVJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGluZGV4TmFtZSkgZmluYWw7CiAgICAgdm9p
ZCBwdXRPckFkZChjb25zdCBJREJSZXF1ZXN0RGF0YSYsIGNvbnN0IElEQktleURhdGEmLCBjb25z
dCBJREJWYWx1ZSYsIGNvbnN0IEluZGV4ZWREQjo6T2JqZWN0U3RvcmVPdmVyd3JpdGVNb2RlKSBm
aW5hbDsKLSAgICB2b2lkIGdldFJlY29yZChjb25zdCBJREJSZXF1ZXN0RGF0YSYsIGNvbnN0IElE
QktleVJhbmdlRGF0YSYpIGZpbmFsOworICAgIHZvaWQgZ2V0UmVjb3JkKGNvbnN0IElEQlJlcXVl
c3REYXRhJiwgY29uc3QgSURCR2V0UmVjb3JkRGF0YSYpIGZpbmFsOwogICAgIHZvaWQgZ2V0Q291
bnQoY29uc3QgSURCUmVxdWVzdERhdGEmLCBjb25zdCBJREJLZXlSYW5nZURhdGEmKSBmaW5hbDsK
ICAgICB2b2lkIGRlbGV0ZVJlY29yZChjb25zdCBJREJSZXF1ZXN0RGF0YSYsIGNvbnN0IElEQktl
eVJhbmdlRGF0YSYpIGZpbmFsOwogICAgIHZvaWQgb3BlbkN1cnNvcihjb25zdCBJREJSZXF1ZXN0
RGF0YSYsIGNvbnN0IElEQkN1cnNvckluZm8mKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA5YzNkNjY3MTM0MmI5Mzdj
ZjJjYmJlMmMyMTI0M2UzMjIzNWQ0MGQxLi5kMzZhNTZmNTAzNmU3NTkxYzZkMDI4ZmMxMzRjMDE1
NGM1OTU2YjQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCkBAIC0yMDExLDYgKzIwMTEsOCBAQAogCQk1MTAxOTJEMjE4QjZCOUFCMDA3
RkM3QTEgLyogSW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50TWFjLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTAxOTJEMDE4QjZCOUFCMDA3RkM3QTEgLyog
SW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50TWFjLmggKi87IH07CiAJCTUxMDE5MkQ1MThCNkI5Qjcw
MDdGQzdBMSAvKiBJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTEwMTkyRDMxOEI2QjlCNzAwN0ZDN0ExIC8q
IEltYWdlQ29udHJvbHNSb290RWxlbWVudC5jcHAgKi87IH07CiAJCTUxMDE5MkQ2MThCNkI5Qjcw
MDdGQzdBMSAvKiBJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMDE5MkQ0MThCNkI5QjcwMDdGQzdBMSAvKiBJ
bWFnZUNvbnRyb2xzUm9vdEVsZW1lbnQuaCAqLzsgfTsKKwkJNTEwNUYwNjkxRDRCQTlEOTAwRkI4
MEJDIC8qIElEQkdldFJlY29yZERhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDUxMDVGMDY4MUQ0QkE1NDEwMEZCODBCQyAvKiBJREJHZXRSZWNvcmRE
YXRhLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJ
NTEwNUYwNkIxRDRCQjEyNzAwRkI4MEJDIC8qIElEQkdldFJlY29yZERhdGEuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTEwNUYwNkExRDRCQjBCQzAw
RkI4MEJDIC8qIElEQkdldFJlY29yZERhdGEuY3BwICovOyB9OwogCQk1MTA2RDdCRDE4QkRCNzZG
MDAwQUIxNjYgLyogQ29udGV4dE1lbnVDb250ZXh0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMDZEN0JCMThCREI3NkYwMDBBQjE2NiAvKiBDb250
ZXh0TWVudUNvbnRleHQuY3BwICovOyB9OwogCQk1MTA2RDdCRTE4QkRCNzZGMDAwQUIxNjYgLyog
Q29udGV4dE1lbnVDb250ZXh0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA1MTA2RDdCQzE4QkRCNzZGMDAwQUIxNjYgLyogQ29udGV4dE1lbnVDb250ZXh0
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNTEw
QTU4RTQxQkFBNDBCMTAwQzE5MjgyIC8qIEluUHJvY2Vzc0lEQlNlcnZlci5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTBBNThFMjFCQUE0MEFFMDBD
MTkyODIgLyogSW5Qcm9jZXNzSURCU2VydmVyLmNwcCAqLzsgfTsKQEAgLTk2NjIsNiArOTY2NCw4
IEBACiAJCTUxMDE5MkQ4MThCN0Q3QUIwMDdGQzdBMSAvKiBpbWFnZUNvbnRyb2xzTWFjLmNzcyAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQuY3NzOyBwYXRoID0gaW1hZ2VDb250cm9sc01hYy5jc3M7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxMDMxMDVFMUJBOEUwOTAwMDMzMjlDMCAvKiBJREJEYXRh
YmFzZUlkZW50aWZpZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SURCRGF0YWJhc2VJZGVudGlmaWVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NTEwMzEwNUYxQkE4RTA5MDAwMzMyOUMwIC8qIElEQkRhdGFiYXNlSWRlbnRpZmllci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJREJEYXRhYmFzZUlkZW50aWZpZXIuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTEwNUYwNjgxRDRCQTU0MTAwRkI4MEJDIC8qIElE
QkdldFJlY29yZERhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSURCR2V0
UmVjb3JkRGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MTA1RjA2QTFENEJC
MEJDMDBGQjgwQkMgLyogSURCR2V0UmVjb3JkRGF0YS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBJREJHZXRSZWNvcmREYXRhLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNTEwNkQ3QkIxOEJEQjc2RjAwMEFCMTY2IC8qIENvbnRleHRNZW51Q29udGV4
dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDb250ZXh0TWVudUNv
bnRleHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MTA2RDdCQzE4QkRCNzZG
MDAwQUIxNjYgLyogQ29udGV4dE1lbnVDb250ZXh0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IENvbnRleHRNZW51Q29udGV4dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1MTBBNThFMjFCQUE0MEFFMDBDMTkyODIgLyogSW5Qcm9jZXNzSURCU2VydmVyLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEluUHJvY2Vzc0lEQlNlcnZlci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNzUyMyw2ICsxNzUyNyw4IEBACiAJ
CQkJNTE0ODQ1M0QxQkI5RDA3NjAwNkE3MkVEIC8qIElEQkVycm9yLmggKi8sCiAJCQkJNTFGNzk4
RUIxQkU4ODBEMzAwOEFFNDkxIC8qIElEQkluZGV4SW5mby5jcHAgKi8sCiAJCQkJNTFGNzk4RUMx
QkU4ODBEMzAwOEFFNDkxIC8qIElEQkluZGV4SW5mby5oICovLAorCQkJCTUxMDVGMDY4MUQ0QkE1
NDEwMEZCODBCQyAvKiBJREJHZXRSZWNvcmREYXRhLmggKi8sCisJCQkJNTEwNUYwNkExRDRCQjBC
QzAwRkI4MEJDIC8qIElEQkdldFJlY29yZERhdGEuY3BwICovLAogCQkJCTUxNjA3MTJDMUJEODMw
NzIwMERCQzRGMiAvKiBJREJPYmplY3RTdG9yZUluZm8uY3BwICovLAogCQkJCTUxNjA3MTJEMUJE
ODMwNzIwMERCQzRGMiAvKiBJREJPYmplY3RTdG9yZUluZm8uaCAqLywKIAkJCQk1MTBBNThGNTFC
QUNDNEE1MDBDMTkyODIgLyogSURCUmVxdWVzdERhdGEuY3BwICovLApAQCAtMTc5MDQsNyArMTc5
MTAsNiBAQAogCQkJCTk3M0RDNjNFMTQ1QTk0MDkwMDI4NDJDMiAvKiBFeGNlcHRpb25Db2RlRGVz
Y3JpcHRpb24uaCAqLywKIAkJCQk5NzY3Q0UwOTE0NUFCQzEyMDA1RTY0REIgLyogRXhjZXB0aW9u
SGVhZGVycy5oICovLAogCQkJCTk3NjdDRTBBMTQ1QUJDMTMwMDVFNjREQiAvKiBFeGNlcHRpb25J
bnRlcmZhY2VzLmggKi8sCi0JCQkJOTkwOEIwRkQxQkNBRDA3RDAwRUQwRjQ1IC8qIEZldGNoSW50
ZXJuYWxzQnVpbHRpbnMuY3BwICovLAogCQkJCTlCMDNEODA2MUJCMzExMEQwMEI3NjRCOSAvKiBG
ZXRjaEludGVybmFsc0J1aWx0aW5zLmggKi8sCiAJCQkJQTE3QzgxMjAwRjJBNUNGNzAwNURBQUVC
IC8qIEhUTUxFbGVtZW50RmFjdG9yeS5jcHAgKi8sCiAJCQkJQTE3QzgxMjEwRjJBNUNGNzAwNURB
QUVCIC8qIEhUTUxFbGVtZW50RmFjdG9yeS5oICovLApAQCAtMjY1NTksNiArMjY1NjQsNyBAQAog
CQkJCUE4RUE3Q0I4MEExOTJCOUMwMEE4RUY1RiAvKiBIVE1MSGVhZGluZ0VsZW1lbnQuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUE4RUE3Q0FGMEExOTJCOUMwMEE4RUY1RiAvKiBIVE1MSFJFbGVtZW50
LmggaW4gSGVhZGVycyAqLywKIAkJCQlBODcxREUyNzBBMTUyQUM4MDBCMTJBNjggLyogSFRNTEh0
bWxFbGVtZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQk1MTA1RjA2OTFENEJBOUQ5MDBGQjgwQkMg
LyogSURCR2V0UmVjb3JkRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTg3MURFMkEwQTE1MkFD
ODAwQjEyQTY4IC8qIEhUTUxJRnJhbWVFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEVB
N0QyRDBBMTkzODU1MDBBOEVGNUYgLyogSFRNTEltYWdlRWxlbWVudC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQThFQTdEMkIwQTE5Mzg1NTAwQThFRjVGIC8qIEhUTUxJbWFnZUxvYWRlci5oIGluIEhl
YWRlcnMgKi8sCkBAIC0zMDMxMyw2ICszMDMxOSw3IEBACiAJCQkJQThFQTc5RjgwQTE5MTZERjAw
QThFRjVGIC8qIEhUTUxNZW51RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyQkU4RTJD
OTEyQTU4QTAxMDBGQUQ1NTAgLyogSFRNTE1ldGFDaGFyc2V0UGFyc2VyLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUE4NzFEQzI3MEExNTIwNTcwMEIxMkE2OCAvKiBIVE1MTWV0YUVsZW1lbnQuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJNTEwNUYwNkIxRDRCQjEyNzAwRkI4MEJDIC8qIElEQkdldFJl
Y29yZERhdGEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTQ1NDQyNEExMTlCMzY2MTAwOUJFOTEy
IC8qIEhUTUxNZXRlckVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThDRkY3QTkwQTE1
Njk3ODAwMEE0MjM0IC8qIEhUTUxNb2RFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4
REYzRkQ1MDk3RkEwRkMwMDUyOTgxQiAvKiBIVE1MTmFtZUNvbGxlY3Rpb24uY3BwIGluIFNvdXJj
ZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9EYXRhYmFzZVByb2Nlc3MvSW5kZXhl
ZERCL1dlYklEQkNvbm5lY3Rpb25Ub0NsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9EYXRhYmFz
ZVByb2Nlc3MvSW5kZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub0NsaWVudC5jcHAKaW5kZXggNzk4
MTdmYmI0NDc4ZWYxMGU3YTM5NDc3YWQ0ZjljODQyZDUwMzY5ZC4uMTVjMTM2MTgzMjEzZmU1OWVh
NGFiNDliZTI2OWIxNTZiNzNjN2Q2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvRGF0YWJh
c2VQcm9jZXNzL0luZGV4ZWREQi9XZWJJREJDb25uZWN0aW9uVG9DbGllbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRv
Q2xpZW50LmNwcApAQCAtMjYwLDkgKzI2MCw5IEBAIHZvaWQgV2ViSURCQ29ubmVjdGlvblRvQ2xp
ZW50OjpwdXRPckFkZChjb25zdCBJREJSZXF1ZXN0RGF0YSYgcmVxdWVzdCwgY29uc3QgSURCCiAg
ICAgRGF0YWJhc2VQcm9jZXNzOjpzaW5nbGV0b24oKS5pZGJTZXJ2ZXIoKS5wdXRPckFkZChyZXF1
ZXN0LCBrZXksIHZhbHVlLCBtb2RlKTsKIH0KIAotdm9pZCBXZWJJREJDb25uZWN0aW9uVG9DbGll
bnQ6OmdldFJlY29yZChjb25zdCBJREJSZXF1ZXN0RGF0YSYgcmVxdWVzdCwgY29uc3QgSURCS2V5
UmFuZ2VEYXRhJiByYW5nZSkKK3ZvaWQgV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50OjpnZXRSZWNv
cmQoY29uc3QgSURCUmVxdWVzdERhdGEmIHJlcXVlc3QsIGNvbnN0IElEQkdldFJlY29yZERhdGEm
IGdldFJlY29yZERhdGEpCiB7Ci0gICAgRGF0YWJhc2VQcm9jZXNzOjpzaW5nbGV0b24oKS5pZGJT
ZXJ2ZXIoKS5nZXRSZWNvcmQocmVxdWVzdCwgcmFuZ2UpOworICAgIERhdGFiYXNlUHJvY2Vzczo6
c2luZ2xldG9uKCkuaWRiU2VydmVyKCkuZ2V0UmVjb3JkKHJlcXVlc3QsIGdldFJlY29yZERhdGEp
OwogfQogCiB2b2lkIFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVudDo6Z2V0Q291bnQoY29uc3QgSURC
UmVxdWVzdERhdGEmIHJlcXVlc3QsIGNvbnN0IElEQktleVJhbmdlRGF0YSYgcmFuZ2UpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9EYXRhYmFzZVByb2Nlc3MvSW5kZXhlZERCL1dlYklEQkNv
bm5lY3Rpb25Ub0NsaWVudC5oIGIvU291cmNlL1dlYktpdDIvRGF0YWJhc2VQcm9jZXNzL0luZGV4
ZWREQi9XZWJJREJDb25uZWN0aW9uVG9DbGllbnQuaAppbmRleCA4Y2JlNDcxYWU3NmU1MjU5YmQ0
NjY4MjVhZGI4ZWQ4YzRiMWJiNDEwLi5lOTM3NjMwZGI5ZmE3YjlkZGZkY2JjZjUxYWE5Yjg1ZjQ5
MGQxMmY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9EYXRhYmFzZVByb2Nlc3MvSW5kZXhl
ZERCL1dlYklEQkNvbm5lY3Rpb25Ub0NsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL0RhdGFi
YXNlUHJvY2Vzcy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50LmgKQEAgLTQwLDYg
KzQwLDcgQEAgY2xhc3MgSURCUmVxdWVzdERhdGE7CiBjbGFzcyBJREJUcmFuc2FjdGlvbkluZm87
CiBjbGFzcyBJREJWYWx1ZTsKIGNsYXNzIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTsKK3N0cnVjdCBJ
REJHZXRSZWNvcmREYXRhOwogc3RydWN0IElEQktleVJhbmdlRGF0YTsKIHN0cnVjdCBTZWN1cml0
eU9yaWdpbkRhdGE7CiB9CkBAIC05NSw3ICs5Niw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGNyZWF0
ZUluZGV4KGNvbnN0IFdlYkNvcmU6OklEQlJlcXVlc3REYXRhJiwgY29uc3QgV2ViQ29yZTo6SURC
SW5kZXhJbmZvJik7CiAgICAgdm9pZCBkZWxldGVJbmRleChjb25zdCBXZWJDb3JlOjpJREJSZXF1
ZXN0RGF0YSYsIHVpbnQ2NF90IG9iamVjdFN0b3JlSWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBp
bmRleE5hbWUpOwogICAgIHZvaWQgcHV0T3JBZGQoY29uc3QgV2ViQ29yZTo6SURCUmVxdWVzdERh
dGEmLCBjb25zdCBXZWJDb3JlOjpJREJLZXlEYXRhJiwgY29uc3QgV2ViQ29yZTo6SURCVmFsdWUm
LCB1bnNpZ25lZCBvdmVyd3JpdGVNb2RlKTsKLSAgICB2b2lkIGdldFJlY29yZChjb25zdCBXZWJD
b3JlOjpJREJSZXF1ZXN0RGF0YSYsIGNvbnN0IFdlYkNvcmU6OklEQktleVJhbmdlRGF0YSYpOwor
ICAgIHZvaWQgZ2V0UmVjb3JkKGNvbnN0IFdlYkNvcmU6OklEQlJlcXVlc3REYXRhJiwgY29uc3Qg
V2ViQ29yZTo6SURCR2V0UmVjb3JkRGF0YSYpOwogICAgIHZvaWQgZ2V0Q291bnQoY29uc3QgV2Vi
Q29yZTo6SURCUmVxdWVzdERhdGEmLCBjb25zdCBXZWJDb3JlOjpJREJLZXlSYW5nZURhdGEmKTsK
ICAgICB2b2lkIGRlbGV0ZVJlY29yZChjb25zdCBXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSYsIGNv
bnN0IFdlYkNvcmU6OklEQktleVJhbmdlRGF0YSYpOwogICAgIHZvaWQgb3BlbkN1cnNvcihjb25z
dCBXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSYsIGNvbnN0IFdlYkNvcmU6OklEQkN1cnNvckluZm8m
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9JbmRleGVkREIv
V2ViSURCQ29ubmVjdGlvblRvQ2xpZW50Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvRGF0
YWJhc2VQcm9jZXNzL0luZGV4ZWREQi9XZWJJREJDb25uZWN0aW9uVG9DbGllbnQubWVzc2FnZXMu
aW4KaW5kZXggY2MzODUzODJiOGVmOWMxNzk3MjNmNzdjNzNhZmNmZGViZmI3NzFiZS4uNGUwYjVj
NjNmMzA2YzhlYzQyMjkyMzVjYTM1ZDA2OWVkNzQ0M2UxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvRGF0YWJhc2VQcm9jZXNzL0luZGV4ZWREQi9XZWJJREJDb25uZWN0aW9uVG9DbGllbnQu
bWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvRGF0YWJhc2VQcm9jZXNzL0luZGV4ZWRE
Qi9XZWJJREJDb25uZWN0aW9uVG9DbGllbnQubWVzc2FnZXMuaW4KQEAgLTM0LDcgKzM0LDcgQEAg
bWVzc2FnZXMgLT4gV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50IHsKICAgICBDcmVhdGVJbmRleChX
ZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSByZXF1ZXN0RGF0YSwgV2ViQ29yZTo6SURCSW5kZXhJbmZv
IGluZm8pOwogICAgIERlbGV0ZUluZGV4KFdlYkNvcmU6OklEQlJlcXVlc3REYXRhIHJlcXVlc3RE
YXRhLCB1aW50NjRfdCBvYmplY3RTdG9yZUlkZW50aWZpZXIsIFN0cmluZyBpbmRleE5hbWUpOwog
ICAgIFB1dE9yQWRkKFdlYkNvcmU6OklEQlJlcXVlc3REYXRhIHJlcXVlc3REYXRhLCBXZWJDb3Jl
OjpJREJLZXlEYXRhIGtleSwgV2ViQ29yZTo6SURCVmFsdWUgdmFsdWUsIHVuc2lnbmVkIG92ZXJ3
cml0ZU1vZGUpOwotICAgIEdldFJlY29yZChXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSByZXF1ZXN0
RGF0YSwgc3RydWN0IFdlYkNvcmU6OklEQktleVJhbmdlRGF0YSByYW5nZSk7CisgICAgR2V0UmVj
b3JkKFdlYkNvcmU6OklEQlJlcXVlc3REYXRhIHJlcXVlc3REYXRhLCBzdHJ1Y3QgV2ViQ29yZTo6
SURCR2V0UmVjb3JkRGF0YSBnZXRSZWNvcmREYXRhKTsKICAgICBHZXRDb3VudChXZWJDb3JlOjpJ
REJSZXF1ZXN0RGF0YSByZXF1ZXN0RGF0YSwgc3RydWN0IFdlYkNvcmU6OklEQktleVJhbmdlRGF0
YSByYW5nZSk7CiAgICAgRGVsZXRlUmVjb3JkKFdlYkNvcmU6OklEQlJlcXVlc3REYXRhIHJlcXVl
c3REYXRhLCBzdHJ1Y3QgV2ViQ29yZTo6SURCS2V5UmFuZ2VEYXRhIHJhbmdlKTsKICAgICBPcGVu
Q3Vyc29yKFdlYkNvcmU6OklEQlJlcXVlc3REYXRhIHJlcXVlc3REYXRhLCBXZWJDb3JlOjpJREJD
dXJzb3JJbmZvIGluZm8pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9E
YXRhYmFzZXMvSW5kZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub1NlcnZlci5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL0RhdGFiYXNlcy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRv
U2VydmVyLmNwcAppbmRleCA2YTkwOGFkODA4OWU3ZjNkYzM5NzJiZDA4YzcyZDg5Y2VlNGU5NTli
Li5mMmY3N2EyOTgzODVjZWI4ZDgxNWQ1M2FmMmQzN2NmYzQ2YjQwZjVkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0RhdGFiYXNlcy9JbmRleGVkREIvV2ViSURCQ29ubmVj
dGlvblRvU2VydmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0RhdGFiYXNl
cy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRvU2VydmVyLmNwcApAQCAtMTM4LDkgKzEzOCw5
IEBAIHZvaWQgV2ViSURCQ29ubmVjdGlvblRvU2VydmVyOjpwdXRPckFkZChjb25zdCBJREJSZXF1
ZXN0RGF0YSYgcmVxdWVzdERhdGEsIGNvbnN0CiAgICAgc2VuZChNZXNzYWdlczo6V2ViSURCQ29u
bmVjdGlvblRvQ2xpZW50OjpQdXRPckFkZChyZXF1ZXN0RGF0YSwga2V5RGF0YSwgdmFsdWUsIHN0
YXRpY19jYXN0PHVuc2lnbmVkPihtb2RlKSkpOwogfQogCi12b2lkIFdlYklEQkNvbm5lY3Rpb25U
b1NlcnZlcjo6Z2V0UmVjb3JkKGNvbnN0IElEQlJlcXVlc3REYXRhJiByZXF1ZXN0RGF0YSwgY29u
c3QgSURCS2V5UmFuZ2VEYXRhJiByYW5nZSkKK3ZvaWQgV2ViSURCQ29ubmVjdGlvblRvU2VydmVy
OjpnZXRSZWNvcmQoY29uc3QgSURCUmVxdWVzdERhdGEmIHJlcXVlc3REYXRhLCBjb25zdCBJREJH
ZXRSZWNvcmREYXRhJiBnZXRSZWNvcmREYXRhKQogewotICAgIHNlbmQoTWVzc2FnZXM6OldlYklE
QkNvbm5lY3Rpb25Ub0NsaWVudDo6R2V0UmVjb3JkKHJlcXVlc3REYXRhLCByYW5nZSkpOworICAg
IHNlbmQoTWVzc2FnZXM6OldlYklEQkNvbm5lY3Rpb25Ub0NsaWVudDo6R2V0UmVjb3JkKHJlcXVl
c3REYXRhLCBnZXRSZWNvcmREYXRhKSk7CiB9CiAKIHZvaWQgV2ViSURCQ29ubmVjdGlvblRvU2Vy
dmVyOjpnZXRDb3VudChjb25zdCBJREJSZXF1ZXN0RGF0YSYgcmVxdWVzdERhdGEsIGNvbnN0IElE
QktleVJhbmdlRGF0YSYgcmFuZ2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL0RhdGFiYXNlcy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRvU2VydmVyLmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0RhdGFiYXNlcy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlv
blRvU2VydmVyLmgKaW5kZXggMGU1YzUwNWZkNWNmZWI3NWM4NWZhMzNlMWZiNTkyMzEzY2M0NGU3
NC4uMTUzMTY2ZDM5ZTk5MmJhNzllYjYwMTNhZGZiYTIzOGQ0NTRmZjUxYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9EYXRhYmFzZXMvSW5kZXhlZERCL1dlYklEQkNvbm5l
Y3Rpb25Ub1NlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvRGF0YWJhc2Vz
L0luZGV4ZWREQi9XZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXIuaApAQCAtNTcsNyArNTcsNyBAQCBw
dWJsaWM6CiAgICAgdm9pZCBjcmVhdGVJbmRleChjb25zdCBXZWJDb3JlOjpJREJSZXF1ZXN0RGF0
YSYsIGNvbnN0IFdlYkNvcmU6OklEQkluZGV4SW5mbyYpIGZpbmFsOwogICAgIHZvaWQgZGVsZXRl
SW5kZXgoY29uc3QgV2ViQ29yZTo6SURCUmVxdWVzdERhdGEmLCB1aW50NjRfdCBvYmplY3RTdG9y
ZUlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgaW5kZXhOYW1lKSBmaW5hbDsKICAgICB2b2lkIHB1
dE9yQWRkKGNvbnN0IFdlYkNvcmU6OklEQlJlcXVlc3REYXRhJiwgY29uc3QgV2ViQ29yZTo6SURC
S2V5RGF0YSYsIGNvbnN0IFdlYkNvcmU6OklEQlZhbHVlJiwgY29uc3QgV2ViQ29yZTo6SW5kZXhl
ZERCOjpPYmplY3RTdG9yZU92ZXJ3cml0ZU1vZGUpIGZpbmFsOwotICAgIHZvaWQgZ2V0UmVjb3Jk
KGNvbnN0IFdlYkNvcmU6OklEQlJlcXVlc3REYXRhJiwgY29uc3QgV2ViQ29yZTo6SURCS2V5UmFu
Z2VEYXRhJikgZmluYWw7CisgICAgdm9pZCBnZXRSZWNvcmQoY29uc3QgV2ViQ29yZTo6SURCUmVx
dWVzdERhdGEmLCBjb25zdCBXZWJDb3JlOjpJREJHZXRSZWNvcmREYXRhJikgZmluYWw7CiAgICAg
dm9pZCBnZXRDb3VudChjb25zdCBXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSYsIGNvbnN0IFdlYkNv
cmU6OklEQktleVJhbmdlRGF0YSYpIGZpbmFsOwogICAgIHZvaWQgZGVsZXRlUmVjb3JkKGNvbnN0
IFdlYkNvcmU6OklEQlJlcXVlc3REYXRhJiwgY29uc3QgV2ViQ29yZTo6SURCS2V5UmFuZ2VEYXRh
JikgZmluYWw7CiAgICAgdm9pZCBvcGVuQ3Vyc29yKGNvbnN0IFdlYkNvcmU6OklEQlJlcXVlc3RE
YXRhJiwgY29uc3QgV2ViQ29yZTo6SURCQ3Vyc29ySW5mbyYpIGZpbmFsOwo=
</data>
<flag name="review"
          id="308555"
          type_id="1"
          status="+"
          setter="thorton"
    />
    <flag name="commit-queue"
          id="308707"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>285074</attachid>
            <date>2016-08-01 21:55:34 -0700</date>
            <delta_ts>2016-08-01 23:12:26 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>42309</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNDgwZDdmMS4uMzJhYjUzYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKQEAgLTg4NCw2ICs4ODQsNyBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgTW9kdWxl
cy9pbmRleGVkZGIvc2hhcmVkL0lEQkN1cnNvckluZm8uY3BwCiAgICAgTW9kdWxlcy9pbmRleGVk
ZGIvc2hhcmVkL0lEQkRhdGFiYXNlSW5mby5jcHAKICAgICBNb2R1bGVzL2luZGV4ZWRkYi9zaGFy
ZWQvSURCRXJyb3IuY3BwCisgICAgTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQkdldFJlY29y
ZERhdGEuY3BwCiAgICAgTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQkluZGV4SW5mby5jcHAK
ICAgICBNb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCT2JqZWN0U3RvcmVJbmZvLmNwcAogICAg
IE1vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJSZXF1ZXN0RGF0YS5jcHAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRl
eCBjYzU0YjQwLi5iOTRhODcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTggQEAKKzIwMTYtMDct
MjkgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAgICAgIFJlZmFjdG9y
IGRhdGEgcGFzc2VkIGFsb25nIGZvciBhICJHZXRSZWNvcmQiIHJlcXVlc3QuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjAzNTIKKworICAgICAgICBS
ZXZpZXdlZCBieSBUaW0gSG9ydG9uLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyAoTm8gYmVoYXZp
b3IgY2hhbmdlKS4KKyAgICAgICAgCisgICAgICAgIEFkZGluZyB0aGlzIG5ldyBvYmplY3QgbGV0
cyB1cyBlYXNpbHkgYWRkIG5ldyBkYXRhIHBhc3NlZCBhbG9uZyBmb3IgR2V0UmVjb3JkCisgICAg
ICAgIHJlcXVlc3RzIGdvaW5nIGZvcndhcmQuCisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgIAor
ICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OklEQk9iamVjdFN0b3JlOjpnZXQpOgorICAgICAgICAKKyAgICAgICAgKiBNb2R1
bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJU
cmFuc2FjdGlvbjo6cmVxdWVzdEdldFJlY29yZCk6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFu
c2FjdGlvbjo6cmVxdWVzdEluZGV4UmVjb3JkKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5z
YWN0aW9uOjpnZXRSZWNvcmRPblNlcnZlcik6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIv
SURCVHJhbnNhY3Rpb24uaDoKKyAgICAgICAgCisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIv
Y2xpZW50L0lEQkNvbm5lY3Rpb25Qcm94eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJDbGll
bnQ6OklEQkNvbm5lY3Rpb25Qcm94eTo6Z2V0UmVjb3JkKToKKyAgICAgICAgKiBNb2R1bGVzL2lu
ZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblByb3h5Lmg6CisgICAgICAgIAorICAgICAgICAq
IE1vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9uVG9TZXJ2ZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SURCQ2xpZW50OjpJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OmdldFJlY29y
ZCk6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Ub1Nl
cnZlci5oOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9u
VG9TZXJ2ZXJEZWxlZ2F0ZS5oOgorICAgICAgICAKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRk
Yi9zZXJ2ZXIvSURCU2VydmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQlNlcnZlcjo6SURC
U2VydmVyOjpnZXRSZWNvcmQpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9J
REJTZXJ2ZXIuaDoKKyAgICAgICAgCisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvc2VydmVy
L1VuaXF1ZUlEQkRhdGFiYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQlNlcnZlcjo6VW5p
cXVlSURCRGF0YWJhc2U6OmdldFJlY29yZCk6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIv
c2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlLmg6CisgICAgICAgIAorICAgICAgICAqIE1vZHVsZXMv
aW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OklEQlNlcnZlcjo6VW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbjo6Z2V0
UmVjb3JkKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0
YWJhc2VUcmFuc2FjdGlvbi5oOgorICAgICAgICAKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRk
Yi9zaGFyZWQvSURCR2V0UmVjb3JkRGF0YS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6
SURCR2V0UmVjb3JkRGF0YTo6aXNvbGF0ZWRDb3B5KToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4
ZWRkYi9zaGFyZWQvSURCR2V0UmVjb3JkRGF0YS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OklEQkdldFJlY29yZERhdGE6OmVuY29kZSk6CisgICAgICAgIChXZWJDb3JlOjpJREJHZXRSZWNv
cmREYXRhOjpkZWNvZGUpOgorICAgICAgICAKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9z
aGFyZWQvSW5Qcm9jZXNzSURCU2VydmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkluUHJvY2Vz
c0lEQlNlcnZlcjo6Z2V0UmVjb3JkKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zaGFy
ZWQvSW5Qcm9jZXNzSURCU2VydmVyLmg6CisgICAgCiAyMDE2LTA4LTAxICBBbmRyZWFzIEtsaW5n
ICA8YWtsaW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBTaHJpbmsgTWVkaWFRdWVyeVNldHMgdG8g
Zml0IGFmdGVyIHBhcnNpbmcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9JREJPYmplY3RTdG9yZS5jcHAKaW5kZXggZTkxMmFlZi4uYTIyZTIyYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlLmNwcApA
QCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIklEQkRhdGFiYXNlLmgiCiAjaW5jbHVkZSAiSURC
RGF0YWJhc2VFeGNlcHRpb24uaCIKICNpbmNsdWRlICJJREJFcnJvci5oIgorI2luY2x1ZGUgIklE
QkdldFJlY29yZERhdGEuaCIKICNpbmNsdWRlICJJREJJbmRleC5oIgogI2luY2x1ZGUgIklEQktl
eS5oIgogI2luY2x1ZGUgIklEQktleVJhbmdlRGF0YS5oIgpAQCAtMTg0LDcgKzE4NSw3IEBAIFJl
ZlB0cjxJREJSZXF1ZXN0PiBJREJPYmplY3RTdG9yZTo6Z2V0KEV4ZWNTdGF0ZSYgZXhlY1N0YXRl
LCBKU1ZhbHVlIGtleSwgRXhjZXB0CiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAot
ICAgIHJldHVybiBtX3RyYW5zYWN0aW9uLT5yZXF1ZXN0R2V0UmVjb3JkKGV4ZWNTdGF0ZSwgKnRo
aXMsIGlkYktleS5wdHIoKSk7CisgICAgcmV0dXJuIG1fdHJhbnNhY3Rpb24tPnJlcXVlc3RHZXRS
ZWNvcmQoZXhlY1N0YXRlLCAqdGhpcywgeyBpZGJLZXkucHRyKCkgfSk7CiB9CiAKIFJlZlB0cjxJ
REJSZXF1ZXN0PiBJREJPYmplY3RTdG9yZTo6Z2V0KEV4ZWNTdGF0ZSYgZXhlY1N0YXRlLCBJREJL
ZXlSYW5nZSoga2V5UmFuZ2UsIEV4Y2VwdGlvbkNvZGVXaXRoTWVzc2FnZSYgZWMpCkBAIC0yMDks
NyArMjEwLDcgQEAgUmVmUHRyPElEQlJlcXVlc3Q+IElEQk9iamVjdFN0b3JlOjpnZXQoRXhlY1N0
YXRlJiBleGVjU3RhdGUsIElEQktleVJhbmdlKiBrZXlSYW4KICAgICAgICAgcmV0dXJuIG51bGxw
dHI7CiAgICAgfQogCi0gICAgcmV0dXJuIG1fdHJhbnNhY3Rpb24tPnJlcXVlc3RHZXRSZWNvcmQo
ZXhlY1N0YXRlLCAqdGhpcywga2V5UmFuZ2VEYXRhKTsKKyAgICByZXR1cm4gbV90cmFuc2FjdGlv
bi0+cmVxdWVzdEdldFJlY29yZChleGVjU3RhdGUsICp0aGlzLCB7IGtleVJhbmdlRGF0YSB9KTsK
IH0KIAogUmVmUHRyPElEQlJlcXVlc3Q+IElEQk9iamVjdFN0b3JlOjphZGQoRXhlY1N0YXRlJiBl
eGVjU3RhdGUsIEpTVmFsdWUgdmFsdWUsIEpTVmFsdWUga2V5LCBFeGNlcHRpb25Db2RlV2l0aE1l
c3NhZ2UmIGVjKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
SURCVHJhbnNhY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURC
VHJhbnNhY3Rpb24uY3BwCmluZGV4IDMwMjc1ODcuLmY5ZThiZmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5jcHAKQEAgLTM4LDYg
KzM4LDcgQEAKICNpbmNsdWRlICJJREJEYXRhYmFzZUV4Y2VwdGlvbi5oIgogI2luY2x1ZGUgIklE
QkVycm9yLmgiCiAjaW5jbHVkZSAiSURCRXZlbnREaXNwYXRjaGVyLmgiCisjaW5jbHVkZSAiSURC
R2V0UmVjb3JkRGF0YS5oIgogI2luY2x1ZGUgIklEQkluZGV4LmgiCiAjaW5jbHVkZSAiSURCS2V5
RGF0YS5oIgogI2luY2x1ZGUgIklEQktleVJhbmdlRGF0YS5oIgpAQCAtNzI5LDExICs3MzAsMTEg
QEAgdm9pZCBJREJUcmFuc2FjdGlvbjo6ZGlkSXRlcmF0ZUN1cnNvck9uU2VydmVyKElEQlJlcXVl
c3QmIHJlcXVlc3QsIGNvbnN0IElEQlJlc3UKICAgICByZXF1ZXN0LmRpZE9wZW5Pckl0ZXJhdGVD
dXJzb3IocmVzdWx0RGF0YSk7CiB9CiAKLVJlZjxJREJSZXF1ZXN0PiBJREJUcmFuc2FjdGlvbjo6
cmVxdWVzdEdldFJlY29yZChFeGVjU3RhdGUmIGV4ZWNTdGF0ZSwgSURCT2JqZWN0U3RvcmUmIG9i
amVjdFN0b3JlLCBjb25zdCBJREJLZXlSYW5nZURhdGEmIGtleVJhbmdlRGF0YSkKK1JlZjxJREJS
ZXF1ZXN0PiBJREJUcmFuc2FjdGlvbjo6cmVxdWVzdEdldFJlY29yZChFeGVjU3RhdGUmIGV4ZWNT
dGF0ZSwgSURCT2JqZWN0U3RvcmUmIG9iamVjdFN0b3JlLCBjb25zdCBJREJHZXRSZWNvcmREYXRh
JiBnZXRSZWNvcmREYXRhKQogewogICAgIExPRyhJbmRleGVkREIsICJJREJUcmFuc2FjdGlvbjo6
cmVxdWVzdEdldFJlY29yZCIpOwogICAgIEFTU0VSVChpc0FjdGl2ZSgpKTsKLSAgICBBU1NFUlQo
IWtleVJhbmdlRGF0YS5pc051bGwpOworICAgIEFTU0VSVCghZ2V0UmVjb3JkRGF0YS5rZXlSYW5n
ZURhdGEuaXNOdWxsKTsKICAgICBBU1NFUlQoY3VycmVudFRocmVhZCgpID09IG1fZGF0YWJhc2Ut
Pm9yaWdpblRocmVhZElEKCkpOwogCiAgICAgUkVMRUFTRV9BU1NFUlQoc2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpKTsKQEAgLTc0Miw3ICs3NDMsNyBAQCBSZWY8SURCUmVxdWVzdD4gSURCVHJhbnNh
Y3Rpb246OnJlcXVlc3RHZXRSZWNvcmQoRXhlY1N0YXRlJiBleGVjU3RhdGUsIElEQk9iamVjdAog
ICAgIFJlZjxJREJSZXF1ZXN0PiByZXF1ZXN0ID0gSURCUmVxdWVzdDo6Y3JlYXRlKCpzY3JpcHRF
eGVjdXRpb25Db250ZXh0KCksIG9iamVjdFN0b3JlLCAqdGhpcyk7CiAgICAgYWRkUmVxdWVzdChy
ZXF1ZXN0LmdldCgpKTsKIAotICAgIGF1dG8gb3BlcmF0aW9uID0gSURCQ2xpZW50OjpjcmVhdGVU
cmFuc2FjdGlvbk9wZXJhdGlvbigqdGhpcywgcmVxdWVzdC5nZXQoKSwgJklEQlRyYW5zYWN0aW9u
OjpkaWRHZXRSZWNvcmRPblNlcnZlciwgJklEQlRyYW5zYWN0aW9uOjpnZXRSZWNvcmRPblNlcnZl
ciwga2V5UmFuZ2VEYXRhKTsKKyAgICBhdXRvIG9wZXJhdGlvbiA9IElEQkNsaWVudDo6Y3JlYXRl
VHJhbnNhY3Rpb25PcGVyYXRpb24oKnRoaXMsIHJlcXVlc3QuZ2V0KCksICZJREJUcmFuc2FjdGlv
bjo6ZGlkR2V0UmVjb3JkT25TZXJ2ZXIsICZJREJUcmFuc2FjdGlvbjo6Z2V0UmVjb3JkT25TZXJ2
ZXIsIGdldFJlY29yZERhdGEpOwogICAgIHNjaGVkdWxlT3BlcmF0aW9uKFdURk1vdmUob3BlcmF0
aW9uKSk7CiAKICAgICByZXR1cm4gcmVxdWVzdDsKQEAgLTc2NCw3ICs3NjUsNyBAQCBSZWY8SURC
UmVxdWVzdD4gSURCVHJhbnNhY3Rpb246OnJlcXVlc3RHZXRLZXkoRXhlY1N0YXRlJiBleGVjU3Rh
dGUsIElEQkluZGV4JiBpbgogICAgIHJldHVybiByZXF1ZXN0SW5kZXhSZWNvcmQoZXhlY1N0YXRl
LCBpbmRleCwgSW5kZXhlZERCOjpJbmRleFJlY29yZFR5cGU6OktleSwgcmFuZ2UpOwogfQogCi1S
ZWY8SURCUmVxdWVzdD4gSURCVHJhbnNhY3Rpb246OnJlcXVlc3RJbmRleFJlY29yZChFeGVjU3Rh
dGUmIGV4ZWNTdGF0ZSwgSURCSW5kZXgmIGluZGV4LCBJbmRleGVkREI6OkluZGV4UmVjb3JkVHlw
ZSB0eXBlLCBjb25zdCBJREJLZXlSYW5nZURhdGEmcmFuZ2UpCitSZWY8SURCUmVxdWVzdD4gSURC
VHJhbnNhY3Rpb246OnJlcXVlc3RJbmRleFJlY29yZChFeGVjU3RhdGUmIGV4ZWNTdGF0ZSwgSURC
SW5kZXgmIGluZGV4LCBJbmRleGVkREI6OkluZGV4UmVjb3JkVHlwZSB0eXBlLCBjb25zdCBJREJL
ZXlSYW5nZURhdGEmIHJhbmdlKQogewogICAgIExPRyhJbmRleGVkREIsICJJREJUcmFuc2FjdGlv
bjo6cmVxdWVzdEdldFZhbHVlIik7CiAgICAgQVNTRVJUKGlzQWN0aXZlKCkpOwpAQCAtNzc3LDE4
ICs3NzgsMTkgQEAgUmVmPElEQlJlcXVlc3Q+IElEQlRyYW5zYWN0aW9uOjpyZXF1ZXN0SW5kZXhS
ZWNvcmQoRXhlY1N0YXRlJiBleGVjU3RhdGUsIElEQkluZGUKICAgICBSZWY8SURCUmVxdWVzdD4g
cmVxdWVzdCA9IElEQlJlcXVlc3Q6OmNyZWF0ZUdldCgqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgp
LCBpbmRleCwgdHlwZSwgKnRoaXMpOwogICAgIGFkZFJlcXVlc3QocmVxdWVzdC5nZXQoKSk7CiAK
LSAgICBhdXRvIG9wZXJhdGlvbiA9IElEQkNsaWVudDo6Y3JlYXRlVHJhbnNhY3Rpb25PcGVyYXRp
b24oKnRoaXMsIHJlcXVlc3QuZ2V0KCksICZJREJUcmFuc2FjdGlvbjo6ZGlkR2V0UmVjb3JkT25T
ZXJ2ZXIsICZJREJUcmFuc2FjdGlvbjo6Z2V0UmVjb3JkT25TZXJ2ZXIsIHJhbmdlKTsKKyAgICBJ
REJHZXRSZWNvcmREYXRhIGdldFJlY29yZERhdGEgPSB7IHJhbmdlIH07CisgICAgYXV0byBvcGVy
YXRpb24gPSBJREJDbGllbnQ6OmNyZWF0ZVRyYW5zYWN0aW9uT3BlcmF0aW9uKCp0aGlzLCByZXF1
ZXN0LmdldCgpLCAmSURCVHJhbnNhY3Rpb246OmRpZEdldFJlY29yZE9uU2VydmVyLCAmSURCVHJh
bnNhY3Rpb246OmdldFJlY29yZE9uU2VydmVyLCBnZXRSZWNvcmREYXRhKTsKICAgICBzY2hlZHVs
ZU9wZXJhdGlvbihXVEZNb3ZlKG9wZXJhdGlvbikpOwogCiAgICAgcmV0dXJuIHJlcXVlc3Q7CiB9
CiAKLXZvaWQgSURCVHJhbnNhY3Rpb246OmdldFJlY29yZE9uU2VydmVyKElEQkNsaWVudDo6VHJh
bnNhY3Rpb25PcGVyYXRpb24mIG9wZXJhdGlvbiwgY29uc3QgSURCS2V5UmFuZ2VEYXRhJiBrZXlS
YW5nZSkKK3ZvaWQgSURCVHJhbnNhY3Rpb246OmdldFJlY29yZE9uU2VydmVyKElEQkNsaWVudDo6
VHJhbnNhY3Rpb25PcGVyYXRpb24mIG9wZXJhdGlvbiwgY29uc3QgSURCR2V0UmVjb3JkRGF0YSYg
Z2V0UmVjb3JkRGF0YSkKIHsKICAgICBMT0coSW5kZXhlZERCLCAiSURCVHJhbnNhY3Rpb246Omdl
dFJlY29yZE9uU2VydmVyIik7CiAgICAgQVNTRVJUKGN1cnJlbnRUaHJlYWQoKSA9PSBtX2RhdGFi
YXNlLT5vcmlnaW5UaHJlYWRJRCgpKTsKIAotICAgIG1fZGF0YWJhc2UtPmNvbm5lY3Rpb25Qcm94
eSgpLmdldFJlY29yZChvcGVyYXRpb24sIGtleVJhbmdlKTsKKyAgICBtX2RhdGFiYXNlLT5jb25u
ZWN0aW9uUHJveHkoKS5nZXRSZWNvcmQob3BlcmF0aW9uLCBnZXRSZWNvcmREYXRhKTsKIH0KIAog
dm9pZCBJREJUcmFuc2FjdGlvbjo6ZGlkR2V0UmVjb3JkT25TZXJ2ZXIoSURCUmVxdWVzdCYgcmVx
dWVzdCwgY29uc3QgSURCUmVzdWx0RGF0YSYgcmVzdWx0RGF0YSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5oCmluZGV4IDEzYzY3OTMuLjA0
ODdhYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRy
YW5zYWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJh
bnNhY3Rpb24uaApAQCAtMzAsNiArMzAsOCBAQAogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCiAj
aW5jbHVkZSAiSURCQWN0aXZlRE9NT2JqZWN0LmgiCiAjaW5jbHVkZSAiSURCRXJyb3IuaCIKKyNp
bmNsdWRlICJJREJHZXRSZWNvcmREYXRhLmgiCisjaW5jbHVkZSAiSURCS2V5UmFuZ2VEYXRhLmgi
CiAjaW5jbHVkZSAiSURCT3BlbkRCUmVxdWVzdC5oIgogI2luY2x1ZGUgIklEQlRyYW5zYWN0aW9u
SW5mby5oIgogI2luY2x1ZGUgIkluZGV4ZWREQi5oIgpAQCAtMTE0LDcgKzExNiw3IEBAIHB1Ymxp
YzoKICAgICBzdGQ6OnVuaXF1ZV9wdHI8SURCSW5kZXg+IGNyZWF0ZUluZGV4KElEQk9iamVjdFN0
b3JlJiwgY29uc3QgSURCSW5kZXhJbmZvJik7CiAKICAgICBSZWY8SURCUmVxdWVzdD4gcmVxdWVz
dFB1dE9yQWRkKEpTQzo6RXhlY1N0YXRlJiwgSURCT2JqZWN0U3RvcmUmLCBJREJLZXkqLCBTZXJp
YWxpemVkU2NyaXB0VmFsdWUmLCBJbmRleGVkREI6Ok9iamVjdFN0b3JlT3ZlcndyaXRlTW9kZSk7
Ci0gICAgUmVmPElEQlJlcXVlc3Q+IHJlcXVlc3RHZXRSZWNvcmQoSlNDOjpFeGVjU3RhdGUmLCBJ
REJPYmplY3RTdG9yZSYsIGNvbnN0IElEQktleVJhbmdlRGF0YSYpOworICAgIFJlZjxJREJSZXF1
ZXN0PiByZXF1ZXN0R2V0UmVjb3JkKEpTQzo6RXhlY1N0YXRlJiwgSURCT2JqZWN0U3RvcmUmLCBj
b25zdCBJREJHZXRSZWNvcmREYXRhJik7CiAgICAgUmVmPElEQlJlcXVlc3Q+IHJlcXVlc3REZWxl
dGVSZWNvcmQoSlNDOjpFeGVjU3RhdGUmLCBJREJPYmplY3RTdG9yZSYsIGNvbnN0IElEQktleVJh
bmdlRGF0YSYpOwogICAgIFJlZjxJREJSZXF1ZXN0PiByZXF1ZXN0Q2xlYXJPYmplY3RTdG9yZShK
U0M6OkV4ZWNTdGF0ZSYsIElEQk9iamVjdFN0b3JlJik7CiAgICAgUmVmPElEQlJlcXVlc3Q+IHJl
cXVlc3RDb3VudChKU0M6OkV4ZWNTdGF0ZSYsIElEQk9iamVjdFN0b3JlJiwgY29uc3QgSURCS2V5
UmFuZ2VEYXRhJik7CkBAIC0xNzcsNyArMTc5LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHB1dE9y
QWRkT25TZXJ2ZXIoSURCQ2xpZW50OjpUcmFuc2FjdGlvbk9wZXJhdGlvbiYsIFJlZlB0cjxJREJL
ZXk+LCBSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiwgY29uc3QgSW5kZXhlZERCOjpPYmpl
Y3RTdG9yZU92ZXJ3cml0ZU1vZGUmKTsKICAgICB2b2lkIGRpZFB1dE9yQWRkT25TZXJ2ZXIoSURC
UmVxdWVzdCYsIGNvbnN0IElEQlJlc3VsdERhdGEmKTsKIAotICAgIHZvaWQgZ2V0UmVjb3JkT25T
ZXJ2ZXIoSURCQ2xpZW50OjpUcmFuc2FjdGlvbk9wZXJhdGlvbiYsIGNvbnN0IElEQktleVJhbmdl
RGF0YSYpOworICAgIHZvaWQgZ2V0UmVjb3JkT25TZXJ2ZXIoSURCQ2xpZW50OjpUcmFuc2FjdGlv
bk9wZXJhdGlvbiYsIGNvbnN0IElEQkdldFJlY29yZERhdGEmKTsKICAgICB2b2lkIGRpZEdldFJl
Y29yZE9uU2VydmVyKElEQlJlcXVlc3QmLCBjb25zdCBJREJSZXN1bHREYXRhJik7CiAKICAgICB2
b2lkIGdldENvdW50T25TZXJ2ZXIoSURCQ2xpZW50OjpUcmFuc2FjdGlvbk9wZXJhdGlvbiYsIGNv
bnN0IElEQktleVJhbmdlRGF0YSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Qcm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblByb3h5LmNwcAppbmRleCBi
M2M3NGRjLi5lZTFkYjA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblByb3h5LmNwcApAQCAtMzAsNiAr
MzAsNyBAQAogCiAjaW5jbHVkZSAiSURCQ3Vyc29ySW5mby5oIgogI2luY2x1ZGUgIklEQkRhdGFi
YXNlLmgiCisjaW5jbHVkZSAiSURCR2V0UmVjb3JkRGF0YS5oIgogI2luY2x1ZGUgIklEQktleVJh
bmdlRGF0YS5oIgogI2luY2x1ZGUgIklEQk9wZW5EQlJlcXVlc3QuaCIKICNpbmNsdWRlICJJREJS
ZXF1ZXN0RGF0YS5oIgpAQCAtMTY0LDEyICsxNjUsMTIgQEAgdm9pZCBJREJDb25uZWN0aW9uUHJv
eHk6OnB1dE9yQWRkKFRyYW5zYWN0aW9uT3BlcmF0aW9uJiBvcGVyYXRpb24sIElEQktleURhdGEm
JgogICAgIGNhbGxDb25uZWN0aW9uT25NYWluVGhyZWFkKCZJREJDb25uZWN0aW9uVG9TZXJ2ZXI6
OnB1dE9yQWRkLCByZXF1ZXN0RGF0YSwga2V5RGF0YSwgdmFsdWUsIG1vZGUpOwogfQogCi12b2lk
IElEQkNvbm5lY3Rpb25Qcm94eTo6Z2V0UmVjb3JkKFRyYW5zYWN0aW9uT3BlcmF0aW9uJiBvcGVy
YXRpb24sIGNvbnN0IElEQktleVJhbmdlRGF0YSYga2V5UmFuZ2UpCit2b2lkIElEQkNvbm5lY3Rp
b25Qcm94eTo6Z2V0UmVjb3JkKFRyYW5zYWN0aW9uT3BlcmF0aW9uJiBvcGVyYXRpb24sIGNvbnN0
IElEQkdldFJlY29yZERhdGEmIGdldFJlY29yZERhdGEpCiB7CiAgICAgY29uc3QgSURCUmVxdWVz
dERhdGEgcmVxdWVzdERhdGEob3BlcmF0aW9uKTsKICAgICBzYXZlT3BlcmF0aW9uKG9wZXJhdGlv
bik7CiAKLSAgICBjYWxsQ29ubmVjdGlvbk9uTWFpblRocmVhZCgmSURCQ29ubmVjdGlvblRvU2Vy
dmVyOjpnZXRSZWNvcmQsIHJlcXVlc3REYXRhLCBrZXlSYW5nZSk7CisgICAgY2FsbENvbm5lY3Rp
b25Pbk1haW5UaHJlYWQoJklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6Z2V0UmVjb3JkLCByZXF1ZXN0
RGF0YSwgZ2V0UmVjb3JkRGF0YSk7CiB9CiAKIHZvaWQgSURCQ29ubmVjdGlvblByb3h5OjpnZXRD
b3VudChUcmFuc2FjdGlvbk9wZXJhdGlvbiYgb3BlcmF0aW9uLCBjb25zdCBJREJLZXlSYW5nZURh
dGEmIGtleVJhbmdlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Qcm94eS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Qcm94eS5oCmluZGV4IDFhNWQ3MjEuLmMzYTU5
NzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9J
REJDb25uZWN0aW9uUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9jbGllbnQvSURCQ29ubmVjdGlvblByb3h5LmgKQEAgLTUxLDYgKzUxLDggQEAgY2xhc3MgSURC
VHJhbnNhY3Rpb247CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogY2xhc3MgU2VjdXJp
dHlPcmlnaW47CiAKK3N0cnVjdCBJREJHZXRSZWNvcmREYXRhOworCiBuYW1lc3BhY2UgSURCQ2xp
ZW50IHsKIAogY2xhc3MgSURCQ29ubmVjdGlvblRvU2VydmVyOwpAQCAtNzEsNyArNzMsNyBAQCBw
dWJsaWM6CiAgICAgdm9pZCBjcmVhdGVJbmRleChUcmFuc2FjdGlvbk9wZXJhdGlvbiYsIGNvbnN0
IElEQkluZGV4SW5mbyYpOwogICAgIHZvaWQgZGVsZXRlSW5kZXgoVHJhbnNhY3Rpb25PcGVyYXRp
b24mLCB1aW50NjRfdCBvYmplY3RTdG9yZUlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgaW5kZXhO
YW1lKTsKICAgICB2b2lkIHB1dE9yQWRkKFRyYW5zYWN0aW9uT3BlcmF0aW9uJiwgSURCS2V5RGF0
YSYmLCBjb25zdCBJREJWYWx1ZSYsIGNvbnN0IEluZGV4ZWREQjo6T2JqZWN0U3RvcmVPdmVyd3Jp
dGVNb2RlKTsKLSAgICB2b2lkIGdldFJlY29yZChUcmFuc2FjdGlvbk9wZXJhdGlvbiYsIGNvbnN0
IElEQktleVJhbmdlRGF0YSYpOworICAgIHZvaWQgZ2V0UmVjb3JkKFRyYW5zYWN0aW9uT3BlcmF0
aW9uJiwgY29uc3QgSURCR2V0UmVjb3JkRGF0YSYpOwogICAgIHZvaWQgZ2V0Q291bnQoVHJhbnNh
Y3Rpb25PcGVyYXRpb24mLCBjb25zdCBJREJLZXlSYW5nZURhdGEmKTsKICAgICB2b2lkIGRlbGV0
ZVJlY29yZChUcmFuc2FjdGlvbk9wZXJhdGlvbiYsIGNvbnN0IElEQktleVJhbmdlRGF0YSYpOwog
ICAgIHZvaWQgb3BlbkN1cnNvcihUcmFuc2FjdGlvbk9wZXJhdGlvbiYsIGNvbnN0IElEQkN1cnNv
ckluZm8mKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2Ns
aWVudC9JREJDb25uZWN0aW9uVG9TZXJ2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Ub1NlcnZlci5jcHAKaW5kZXggNzA0NjZhMS4u
OTM0MTExMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xp
ZW50L0lEQkNvbm5lY3Rpb25Ub1NlcnZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Ub1NlcnZlci5jcHAKQEAgLTMwLDYgKzMw
LDcgQEAKIAogI2luY2x1ZGUgIklEQkNvbm5lY3Rpb25Qcm94eS5oIgogI2luY2x1ZGUgIklEQkRh
dGFiYXNlLmgiCisjaW5jbHVkZSAiSURCR2V0UmVjb3JkRGF0YS5oIgogI2luY2x1ZGUgIklEQktl
eVJhbmdlRGF0YS5oIgogI2luY2x1ZGUgIklEQk9wZW5EQlJlcXVlc3QuaCIKICNpbmNsdWRlICJJ
REJSZXF1ZXN0RGF0YS5oIgpAQCAtMTcxLDEzICsxNzIsMTMgQEAgdm9pZCBJREJDb25uZWN0aW9u
VG9TZXJ2ZXI6OmRpZFB1dE9yQWRkKGNvbnN0IElEQlJlc3VsdERhdGEmIHJlc3VsdERhdGEpCiAg
ICAgbV9wcm94eS0+Y29tcGxldGVPcGVyYXRpb24ocmVzdWx0RGF0YSk7CiB9CiAKLXZvaWQgSURC
Q29ubmVjdGlvblRvU2VydmVyOjpnZXRSZWNvcmQoY29uc3QgSURCUmVxdWVzdERhdGEmIHJlcXVl
c3REYXRhLCBjb25zdCBJREJLZXlSYW5nZURhdGEmIGtleVJhbmdlRGF0YSkKK3ZvaWQgSURCQ29u
bmVjdGlvblRvU2VydmVyOjpnZXRSZWNvcmQoY29uc3QgSURCUmVxdWVzdERhdGEmIHJlcXVlc3RE
YXRhLCBjb25zdCBJREJHZXRSZWNvcmREYXRhJiBnZXRSZWNvcmREYXRhKQogewogICAgIExPRyhJ
bmRleGVkREIsICJJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OmdldFJlY29yZCIpOwogICAgIEFTU0VS
VChpc01haW5UaHJlYWQoKSk7Ci0gICAgQVNTRVJUKCFrZXlSYW5nZURhdGEuaXNOdWxsKTsKKyAg
ICBBU1NFUlQoIWdldFJlY29yZERhdGEua2V5UmFuZ2VEYXRhLmlzTnVsbCk7CiAKLSAgICBtX2Rl
bGVnYXRlLT5nZXRSZWNvcmQocmVxdWVzdERhdGEsIGtleVJhbmdlRGF0YSk7CisgICAgbV9kZWxl
Z2F0ZS0+Z2V0UmVjb3JkKHJlcXVlc3REYXRhLCBnZXRSZWNvcmREYXRhKTsKIH0KIAogdm9pZCBJ
REJDb25uZWN0aW9uVG9TZXJ2ZXI6OmRpZEdldFJlY29yZChjb25zdCBJREJSZXN1bHREYXRhJiBy
ZXN1bHREYXRhKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
Y2xpZW50L0lEQkNvbm5lY3Rpb25Ub1NlcnZlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Ub1NlcnZlci5oCmluZGV4IGE2YWNlNTcuLjI1
NmZlNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVu
dC9JREJDb25uZWN0aW9uVG9TZXJ2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblRvU2VydmVyLmgKQEAgLTQ1LDYgKzQ1LDggQEAg
Y2xhc3MgSURCUmVzdWx0RGF0YTsKIGNsYXNzIElEQlZhbHVlOwogY2xhc3MgU2VjdXJpdHlPcmln
aW47CiAKK3N0cnVjdCBJREJHZXRSZWNvcmREYXRhOworCiBuYW1lc3BhY2UgSURCQ2xpZW50IHsK
IAogY2xhc3MgSURCQ29ubmVjdGlvblRvU2VydmVyIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3Vu
dGVkPElEQkNvbm5lY3Rpb25Ub1NlcnZlcj4gewpAQCAtNzksNyArODEsNyBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBwdXRPckFkZChjb25zdCBJREJSZXF1ZXN0RGF0YSYsIGNvbnN0IElEQktleURhdGEm
LCBjb25zdCBJREJWYWx1ZSYsIGNvbnN0IEluZGV4ZWREQjo6T2JqZWN0U3RvcmVPdmVyd3JpdGVN
b2RlKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGRpZFB1dE9yQWRkKGNvbnN0IElEQlJlc3Vs
dERhdGEmKTsKIAotICAgIHZvaWQgZ2V0UmVjb3JkKGNvbnN0IElEQlJlcXVlc3REYXRhJiwgY29u
c3QgSURCS2V5UmFuZ2VEYXRhJik7CisgICAgdm9pZCBnZXRSZWNvcmQoY29uc3QgSURCUmVxdWVz
dERhdGEmLCBjb25zdCBJREJHZXRSZWNvcmREYXRhJik7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9p
ZCBkaWRHZXRSZWNvcmQoY29uc3QgSURCUmVzdWx0RGF0YSYpOwogCiAgICAgdm9pZCBnZXRDb3Vu
dChjb25zdCBJREJSZXF1ZXN0RGF0YSYsIGNvbnN0IElEQktleVJhbmdlRGF0YSYpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rp
b25Ub1NlcnZlckRlbGVnYXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9j
bGllbnQvSURCQ29ubmVjdGlvblRvU2VydmVyRGVsZWdhdGUuaAppbmRleCBjYjRlNWNkLi5kZmQy
NDVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQv
SURCQ29ubmVjdGlvblRvU2VydmVyRGVsZWdhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblRvU2VydmVyRGVsZWdhdGUuaApAQCAt
NDAsNiArNDAsNyBAQCBjbGFzcyBJREJSZXNvdXJjZUlkZW50aWZpZXI7CiBjbGFzcyBJREJUcmFu
c2FjdGlvbkluZm87CiBjbGFzcyBJREJWYWx1ZTsKIAorc3RydWN0IElEQkdldFJlY29yZERhdGE7
CiBzdHJ1Y3QgU2VjdXJpdHlPcmlnaW5EYXRhOwogCiBuYW1lc3BhY2UgSW5kZXhlZERCIHsKQEAg
LTY2LDcgKzY3LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBjcmVhdGVJbmRleChjb25z
dCBJREJSZXF1ZXN0RGF0YSYsIGNvbnN0IElEQkluZGV4SW5mbyYpID0gMDsKICAgICB2aXJ0dWFs
IHZvaWQgZGVsZXRlSW5kZXgoY29uc3QgSURCUmVxdWVzdERhdGEmLCB1aW50NjRfdCBvYmplY3RT
dG9yZUlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgaW5kZXhOYW1lKSA9IDA7CiAgICAgdmlydHVh
bCB2b2lkIHB1dE9yQWRkKGNvbnN0IElEQlJlcXVlc3REYXRhJiwgY29uc3QgSURCS2V5RGF0YSYs
IGNvbnN0IElEQlZhbHVlJiwgY29uc3QgSW5kZXhlZERCOjpPYmplY3RTdG9yZU92ZXJ3cml0ZU1v
ZGUpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgZ2V0UmVjb3JkKGNvbnN0IElEQlJlcXVlc3REYXRh
JiwgY29uc3QgSURCS2V5UmFuZ2VEYXRhJikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBnZXRSZWNv
cmQoY29uc3QgSURCUmVxdWVzdERhdGEmLCBjb25zdCBJREJHZXRSZWNvcmREYXRhJikgPSAwOwog
ICAgIHZpcnR1YWwgdm9pZCBnZXRDb3VudChjb25zdCBJREJSZXF1ZXN0RGF0YSYsIGNvbnN0IElE
QktleVJhbmdlRGF0YSYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGVsZXRlUmVjb3JkKGNvbnN0
IElEQlJlcXVlc3REYXRhJiwgY29uc3QgSURCS2V5UmFuZ2VEYXRhJikgPSAwOwogICAgIHZpcnR1
YWwgdm9pZCBvcGVuQ3Vyc29yKGNvbnN0IElEQlJlcXVlc3REYXRhJiwgY29uc3QgSURCQ3Vyc29y
SW5mbyYpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L3NlcnZlci9JREJTZXJ2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
c2VydmVyL0lEQlNlcnZlci5jcHAKaW5kZXggZDE4MDU5Zi4uZjI0OWQ0MCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL0lEQlNlcnZlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL0lEQlNlcnZlci5jcHAK
QEAgLTI1OSw3ICsyNTksNyBAQCB2b2lkIElEQlNlcnZlcjo6cHV0T3JBZGQoY29uc3QgSURCUmVx
dWVzdERhdGEmIHJlcXVlc3REYXRhLCBjb25zdCBJREJLZXlEYXRhJiBrZQogICAgIHRyYW5zYWN0
aW9uLT5wdXRPckFkZChyZXF1ZXN0RGF0YSwga2V5RGF0YSwgdmFsdWUsIG92ZXJ3cml0ZU1vZGUp
OwogfQogCi12b2lkIElEQlNlcnZlcjo6Z2V0UmVjb3JkKGNvbnN0IElEQlJlcXVlc3REYXRhJiBy
ZXF1ZXN0RGF0YSwgY29uc3QgSURCS2V5UmFuZ2VEYXRhJiBrZXlSYW5nZURhdGEpCit2b2lkIElE
QlNlcnZlcjo6Z2V0UmVjb3JkKGNvbnN0IElEQlJlcXVlc3REYXRhJiByZXF1ZXN0RGF0YSwgY29u
c3QgSURCR2V0UmVjb3JkRGF0YSYgZ2V0UmVjb3JkRGF0YSkKIHsKICAgICBMT0coSW5kZXhlZERC
LCAiSURCU2VydmVyOjpnZXRSZWNvcmQiKTsKIApAQCAtMjY3LDcgKzI2Nyw3IEBAIHZvaWQgSURC
U2VydmVyOjpnZXRSZWNvcmQoY29uc3QgSURCUmVxdWVzdERhdGEmIHJlcXVlc3REYXRhLCBjb25z
dCBJREJLZXlSYW5nZURhCiAgICAgaWYgKCF0cmFuc2FjdGlvbikKICAgICAgICAgcmV0dXJuOwog
Ci0gICAgdHJhbnNhY3Rpb24tPmdldFJlY29yZChyZXF1ZXN0RGF0YSwga2V5UmFuZ2VEYXRhKTsK
KyAgICB0cmFuc2FjdGlvbi0+Z2V0UmVjb3JkKHJlcXVlc3REYXRhLCBnZXRSZWNvcmREYXRhKTsK
IH0KIAogdm9pZCBJREJTZXJ2ZXI6OmdldENvdW50KGNvbnN0IElEQlJlcXVlc3REYXRhJiByZXF1
ZXN0RGF0YSwgY29uc3QgSURCS2V5UmFuZ2VEYXRhJiBrZXlSYW5nZURhdGEpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCU2VydmVyLmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCU2VydmVyLmgKaW5kZXgg
NzJlM2Y3MS4uNTYwMzViOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvc2VydmVyL0lEQlNlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL3NlcnZlci9JREJTZXJ2ZXIuaApAQCAtNDYsNiArNDYsOCBAQCBjbGFzcyBJREJDdXJz
b3JJbmZvOwogY2xhc3MgSURCUmVxdWVzdERhdGE7CiBjbGFzcyBJREJWYWx1ZTsKIAorc3RydWN0
IElEQkdldFJlY29yZERhdGE7CisKIG5hbWVzcGFjZSBJREJTZXJ2ZXIgewogCiBjbGFzcyBJREJC
YWNraW5nU3RvcmVUZW1wb3JhcnlGaWxlSGFuZGxlcjsKQEAgLTcwLDcgKzcyLDcgQEAgcHVibGlj
OgogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgY3JlYXRlSW5kZXgoY29uc3QgSURCUmVxdWVzdERh
dGEmLCBjb25zdCBJREJJbmRleEluZm8mKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGRlbGV0
ZUluZGV4KGNvbnN0IElEQlJlcXVlc3REYXRhJiwgdWludDY0X3Qgb2JqZWN0U3RvcmVJZGVudGlm
aWVyLCBjb25zdCBTdHJpbmcmIGluZGV4TmFtZSk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBw
dXRPckFkZChjb25zdCBJREJSZXF1ZXN0RGF0YSYsIGNvbnN0IElEQktleURhdGEmLCBjb25zdCBJ
REJWYWx1ZSYsIEluZGV4ZWREQjo6T2JqZWN0U3RvcmVPdmVyd3JpdGVNb2RlKTsKLSAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIGdldFJlY29yZChjb25zdCBJREJSZXF1ZXN0RGF0YSYsIGNvbnN0IElE
QktleVJhbmdlRGF0YSYpOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZ2V0UmVjb3JkKGNvbnN0
IElEQlJlcXVlc3REYXRhJiwgY29uc3QgSURCR2V0UmVjb3JkRGF0YSYpOwogICAgIFdFQkNPUkVf
RVhQT1JUIHZvaWQgZ2V0Q291bnQoY29uc3QgSURCUmVxdWVzdERhdGEmLCBjb25zdCBJREJLZXlS
YW5nZURhdGEmKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGRlbGV0ZVJlY29yZChjb25zdCBJ
REJSZXF1ZXN0RGF0YSYsIGNvbnN0IElEQktleVJhbmdlRGF0YSYpOwogICAgIFdFQkNPUkVfRVhQ
T1JUIHZvaWQgb3BlbkN1cnNvcihjb25zdCBJREJSZXF1ZXN0RGF0YSYsIGNvbnN0IElEQkN1cnNv
ckluZm8mKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3Nl
cnZlci9VbmlxdWVJREJEYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2UuY3BwCmluZGV4IDIxNzM2MGQuLjIyNWU2YjEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9Vbmlx
dWVJREJEYXRhYmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
c2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlLmNwcApAQCAtMjksNiArMjksNyBAQAogI2lmIEVOQUJM
RShJTkRFWEVEX0RBVEFCQVNFKQogCiAjaW5jbHVkZSAiSURCQ3Vyc29ySW5mby5oIgorI2luY2x1
ZGUgIklEQkdldFJlY29yZERhdGEuaCIKICNpbmNsdWRlICJJREJLZXlSYW5nZURhdGEuaCIKICNp
bmNsdWRlICJJREJSZXN1bHREYXRhLmgiCiAjaW5jbHVkZSAiSURCU2VydmVyLmgiCkBAIC05MTMs
NyArOTE0LDcgQEAgdm9pZCBVbmlxdWVJREJEYXRhYmFzZTo6ZGlkUGVyZm9ybVB1dE9yQWRkKHVp
bnQ2NF90IGNhbGxiYWNrSWRlbnRpZmllciwgY29uc3QgSUQKICAgICBwZXJmb3JtS2V5RGF0YUNh
bGxiYWNrKGNhbGxiYWNrSWRlbnRpZmllciwgZXJyb3IsIHJlc3VsdEtleSk7CiB9CiAKLXZvaWQg
VW5pcXVlSURCRGF0YWJhc2U6OmdldFJlY29yZChjb25zdCBJREJSZXF1ZXN0RGF0YSYgcmVxdWVz
dERhdGEsIGNvbnN0IElEQktleVJhbmdlRGF0YSYgcmFuZ2UsIEdldFJlc3VsdENhbGxiYWNrIGNh
bGxiYWNrKQordm9pZCBVbmlxdWVJREJEYXRhYmFzZTo6Z2V0UmVjb3JkKGNvbnN0IElEQlJlcXVl
c3REYXRhJiByZXF1ZXN0RGF0YSwgY29uc3QgSURCR2V0UmVjb3JkRGF0YSYgZ2V0UmVjb3JkRGF0
YSwgR2V0UmVzdWx0Q2FsbGJhY2sgY2FsbGJhY2spCiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVh
ZCgpKTsKICAgICBMT0coSW5kZXhlZERCLCAiKG1haW4pIFVuaXF1ZUlEQkRhdGFiYXNlOjpnZXRS
ZWNvcmQiKTsKQEAgLTkyMyw5ICs5MjQsOSBAQCB2b2lkIFVuaXF1ZUlEQkRhdGFiYXNlOjpnZXRS
ZWNvcmQoY29uc3QgSURCUmVxdWVzdERhdGEmIHJlcXVlc3REYXRhLCBjb25zdCBJREJLZQogICAg
ICAgICByZXR1cm47CiAKICAgICBpZiAodWludDY0X3QgaW5kZXhJZGVudGlmaWVyID0gcmVxdWVz
dERhdGEuaW5kZXhJZGVudGlmaWVyKCkpCi0gICAgICAgIHBvc3REYXRhYmFzZVRhc2soY3JlYXRl
Q3Jvc3NUaHJlYWRUYXNrKCp0aGlzLCAmVW5pcXVlSURCRGF0YWJhc2U6OnBlcmZvcm1HZXRJbmRl
eFJlY29yZCwgY2FsbGJhY2tJRCwgcmVxdWVzdERhdGEudHJhbnNhY3Rpb25JZGVudGlmaWVyKCks
IHJlcXVlc3REYXRhLm9iamVjdFN0b3JlSWRlbnRpZmllcigpLCBpbmRleElkZW50aWZpZXIsIHJl
cXVlc3REYXRhLmluZGV4UmVjb3JkVHlwZSgpLCByYW5nZSkpOworICAgICAgICBwb3N0RGF0YWJh
c2VUYXNrKGNyZWF0ZUNyb3NzVGhyZWFkVGFzaygqdGhpcywgJlVuaXF1ZUlEQkRhdGFiYXNlOjpw
ZXJmb3JtR2V0SW5kZXhSZWNvcmQsIGNhbGxiYWNrSUQsIHJlcXVlc3REYXRhLnRyYW5zYWN0aW9u
SWRlbnRpZmllcigpLCByZXF1ZXN0RGF0YS5vYmplY3RTdG9yZUlkZW50aWZpZXIoKSwgaW5kZXhJ
ZGVudGlmaWVyLCByZXF1ZXN0RGF0YS5pbmRleFJlY29yZFR5cGUoKSwgZ2V0UmVjb3JkRGF0YS5r
ZXlSYW5nZURhdGEpKTsKICAgICBlbHNlCi0gICAgICAgIHBvc3REYXRhYmFzZVRhc2soY3JlYXRl
Q3Jvc3NUaHJlYWRUYXNrKCp0aGlzLCAmVW5pcXVlSURCRGF0YWJhc2U6OnBlcmZvcm1HZXRSZWNv
cmQsIGNhbGxiYWNrSUQsIHJlcXVlc3REYXRhLnRyYW5zYWN0aW9uSWRlbnRpZmllcigpLCByZXF1
ZXN0RGF0YS5vYmplY3RTdG9yZUlkZW50aWZpZXIoKSwgcmFuZ2UpKTsKKyAgICAgICAgcG9zdERh
dGFiYXNlVGFzayhjcmVhdGVDcm9zc1RocmVhZFRhc2soKnRoaXMsICZVbmlxdWVJREJEYXRhYmFz
ZTo6cGVyZm9ybUdldFJlY29yZCwgY2FsbGJhY2tJRCwgcmVxdWVzdERhdGEudHJhbnNhY3Rpb25J
ZGVudGlmaWVyKCksIHJlcXVlc3REYXRhLm9iamVjdFN0b3JlSWRlbnRpZmllcigpLCBnZXRSZWNv
cmREYXRhLmtleVJhbmdlRGF0YSkpOwogfQogCiB2b2lkIFVuaXF1ZUlEQkRhdGFiYXNlOjpwZXJm
b3JtR2V0UmVjb3JkKHVpbnQ2NF90IGNhbGxiYWNrSWRlbnRpZmllciwgY29uc3QgSURCUmVzb3Vy
Y2VJZGVudGlmaWVyJiB0cmFuc2FjdGlvbklkZW50aWZpZXIsIHVpbnQ2NF90IG9iamVjdFN0b3Jl
SWRlbnRpZmllciwgY29uc3QgSURCS2V5UmFuZ2VEYXRhJiBrZXlSYW5nZURhdGEpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0
YWJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJ
REJEYXRhYmFzZS5oCmluZGV4IDhkYTY0NDQuLmM5NDAyNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFz
ZS5oCkBAIC05Miw3ICs5Miw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGNyZWF0ZUluZGV4KFVuaXF1
ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb24mLCBjb25zdCBJREJJbmRleEluZm8mLCBFcnJvckNhbGxi
YWNrKTsKICAgICB2b2lkIGRlbGV0ZUluZGV4KFVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb24m
LCB1aW50NjRfdCBvYmplY3RTdG9yZUlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgaW5kZXhOYW1l
LCBFcnJvckNhbGxiYWNrKTsKICAgICB2b2lkIHB1dE9yQWRkKGNvbnN0IElEQlJlcXVlc3REYXRh
JiwgY29uc3QgSURCS2V5RGF0YSYsIGNvbnN0IElEQlZhbHVlJiwgSW5kZXhlZERCOjpPYmplY3RT
dG9yZU92ZXJ3cml0ZU1vZGUsIEtleURhdGFDYWxsYmFjayk7Ci0gICAgdm9pZCBnZXRSZWNvcmQo
Y29uc3QgSURCUmVxdWVzdERhdGEmLCBjb25zdCBJREJLZXlSYW5nZURhdGEmLCBHZXRSZXN1bHRD
YWxsYmFjayk7CisgICAgdm9pZCBnZXRSZWNvcmQoY29uc3QgSURCUmVxdWVzdERhdGEmLCBjb25z
dCBJREJHZXRSZWNvcmREYXRhJiwgR2V0UmVzdWx0Q2FsbGJhY2spOwogICAgIHZvaWQgZ2V0Q291
bnQoY29uc3QgSURCUmVxdWVzdERhdGEmLCBjb25zdCBJREJLZXlSYW5nZURhdGEmLCBDb3VudENh
bGxiYWNrKTsKICAgICB2b2lkIGRlbGV0ZVJlY29yZChjb25zdCBJREJSZXF1ZXN0RGF0YSYsIGNv
bnN0IElEQktleVJhbmdlRGF0YSYsIEVycm9yQ2FsbGJhY2spOwogICAgIHZvaWQgb3BlbkN1cnNv
cihjb25zdCBJREJSZXF1ZXN0RGF0YSYsIGNvbnN0IElEQkN1cnNvckluZm8mLCBHZXRSZXN1bHRD
YWxsYmFjayk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9z
ZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbi5jcHAK
aW5kZXggOTAyNGUzNi4uZDA4Njk4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb24uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFz
ZVRyYW5zYWN0aW9uLmNwcApAQCAtMjA1LDE0ICsyMDUsMTQgQEAgdm9pZCBVbmlxdWVJREJEYXRh
YmFzZVRyYW5zYWN0aW9uOjpwdXRPckFkZChjb25zdCBJREJSZXF1ZXN0RGF0YSYgcmVxdWVzdERh
dGEsIGMKICAgICB9KTsKIH0KIAotdm9pZCBVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uOjpn
ZXRSZWNvcmQoY29uc3QgSURCUmVxdWVzdERhdGEmIHJlcXVlc3REYXRhLCBjb25zdCBJREJLZXlS
YW5nZURhdGEmIGtleVJhbmdlRGF0YSkKK3ZvaWQgVW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlv
bjo6Z2V0UmVjb3JkKGNvbnN0IElEQlJlcXVlc3REYXRhJiByZXF1ZXN0RGF0YSwgY29uc3QgSURC
R2V0UmVjb3JkRGF0YSYgZ2V0UmVjb3JkRGF0YSkKIHsKICAgICBMT0coSW5kZXhlZERCLCAiVW5p
cXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbjo6Z2V0UmVjb3JkIik7CiAKICAgICBBU1NFUlQobV90
cmFuc2FjdGlvbkluZm8uaWRlbnRpZmllcigpID09IHJlcXVlc3REYXRhLnRyYW5zYWN0aW9uSWRl
bnRpZmllcigpKTsKIAogICAgIFJlZlB0cjxVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uPiBw
cm90ZWN0ZWRUaGlzKHRoaXMpOwotICAgIG1fZGF0YWJhc2VDb25uZWN0aW9uLT5kYXRhYmFzZSgp
LmdldFJlY29yZChyZXF1ZXN0RGF0YSwga2V5UmFuZ2VEYXRhLCBbdGhpcywgcHJvdGVjdGVkVGhp
cywgcmVxdWVzdERhdGFdKGNvbnN0IElEQkVycm9yJiBlcnJvciwgY29uc3QgSURCR2V0UmVzdWx0
JiByZXN1bHQpIHsKKyAgICBtX2RhdGFiYXNlQ29ubmVjdGlvbi0+ZGF0YWJhc2UoKS5nZXRSZWNv
cmQocmVxdWVzdERhdGEsIGdldFJlY29yZERhdGEsIFt0aGlzLCBwcm90ZWN0ZWRUaGlzLCByZXF1
ZXN0RGF0YV0oY29uc3QgSURCRXJyb3ImIGVycm9yLCBjb25zdCBJREJHZXRSZXN1bHQmIHJlc3Vs
dCkgewogICAgICAgICBMT0coSW5kZXhlZERCLCAiVW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlv
bjo6Z2V0UmVjb3JkIChjYWxsYmFjaykiKTsKIAogICAgICAgICBpZiAoZXJyb3IuaXNOdWxsKCkp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5p
cXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb24uaAppbmRleCA4OGRhMDE3
Li4wMTZhY2M1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9z
ZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uLmgK
QEAgLTQzLDYgKzQzLDcgQEAgY2xhc3MgSURCT2JqZWN0U3RvcmVJbmZvOwogY2xhc3MgSURCUmVx
dWVzdERhdGE7CiBjbGFzcyBJREJWYWx1ZTsKIAorc3RydWN0IElEQkdldFJlY29yZERhdGE7CiBz
dHJ1Y3QgSURCS2V5UmFuZ2VEYXRhOwogCiBuYW1lc3BhY2UgSURCU2VydmVyIHsKQEAgLTcyLDcg
KzczLDcgQEAgcHVibGljOgogICAgIHZvaWQgY3JlYXRlSW5kZXgoY29uc3QgSURCUmVxdWVzdERh
dGEmLCBjb25zdCBJREJJbmRleEluZm8mKTsKICAgICB2b2lkIGRlbGV0ZUluZGV4KGNvbnN0IElE
QlJlcXVlc3REYXRhJiwgdWludDY0X3Qgb2JqZWN0U3RvcmVJZGVudGlmaWVyLCBjb25zdCBTdHJp
bmcmIGluZGV4TmFtZSk7CiAgICAgdm9pZCBwdXRPckFkZChjb25zdCBJREJSZXF1ZXN0RGF0YSYs
IGNvbnN0IElEQktleURhdGEmLCBjb25zdCBJREJWYWx1ZSYsIEluZGV4ZWREQjo6T2JqZWN0U3Rv
cmVPdmVyd3JpdGVNb2RlKTsKLSAgICB2b2lkIGdldFJlY29yZChjb25zdCBJREJSZXF1ZXN0RGF0
YSYsIGNvbnN0IElEQktleVJhbmdlRGF0YSYpOworICAgIHZvaWQgZ2V0UmVjb3JkKGNvbnN0IElE
QlJlcXVlc3REYXRhJiwgY29uc3QgSURCR2V0UmVjb3JkRGF0YSYpOwogICAgIHZvaWQgZ2V0Q291
bnQoY29uc3QgSURCUmVxdWVzdERhdGEmLCBjb25zdCBJREJLZXlSYW5nZURhdGEmKTsKICAgICB2
b2lkIGRlbGV0ZVJlY29yZChjb25zdCBJREJSZXF1ZXN0RGF0YSYsIGNvbnN0IElEQktleVJhbmdl
RGF0YSYpOwogICAgIHZvaWQgb3BlbkN1cnNvcihjb25zdCBJREJSZXF1ZXN0RGF0YSYsIGNvbnN0
IElEQkN1cnNvckluZm8mKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL3NoYXJlZC9JREJHZXRSZWNvcmREYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJHZXRSZWNvcmREYXRhLmNwcApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi5kMTlhMjZhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQkdldFJlY29yZERhdGEuY3BwCkBAIC0w
LDAgKzEsNDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAi
SURCR2V0UmVjb3JkRGF0YS5oIgorCisjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCisKKyNp
bmNsdWRlICJJREJLZXlSYW5nZURhdGEuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitJREJH
ZXRSZWNvcmREYXRhIElEQkdldFJlY29yZERhdGE6Omlzb2xhdGVkQ29weSgpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIHsga2V5UmFuZ2VEYXRhLmlzb2xhdGVkQ29weSgpIH07Cit9CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQkdldFJl
Y29yZERhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJH
ZXRSZWNvcmREYXRhLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmVjZmE1
MAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3No
YXJlZC9JREJHZXRSZWNvcmREYXRhLmgKQEAgLTAsMCArMSw2MCBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNw
cmFnbWEgb25jZQorCisjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCisKKyNpbmNsdWRlICJJ
REJLZXlSYW5nZURhdGEuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgSURCR2V0
UmVjb3JkRGF0YSB7CisgICAgSURCS2V5UmFuZ2VEYXRhIGtleVJhbmdlRGF0YTsKKworICAgIElE
QkdldFJlY29yZERhdGEgaXNvbGF0ZWRDb3B5KCkgY29uc3Q7CisKKyAgICB0ZW1wbGF0ZTxjbGFz
cyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CisgICAgdGVtcGxhdGU8Y2xh
c3MgRGVjb2Rlcj4gc3RhdGljIGJvb2wgZGVjb2RlKERlY29kZXImLCBJREJHZXRSZWNvcmREYXRh
Jik7Cit9OworCit0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPgordm9pZCBJREJHZXRSZWNvcmREYXRh
OjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKK3sKKyAgICBlbmNvZGVyIDw8IGtleVJh
bmdlRGF0YTsKK30KKwordGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4KK2Jvb2wgSURCR2V0UmVjb3Jk
RGF0YTo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIsIElEQkdldFJlY29yZERhdGEmIGdldFJlY29y
ZERhdGEpCit7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShnZXRSZWNvcmREYXRhLmtleVJhbmdl
RGF0YSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHJldHVybiB0cnVlOworfQorCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoSU5ERVhFRF9EQVRBQkFT
RSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9J
blByb2Nlc3NJREJTZXJ2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
c2hhcmVkL0luUHJvY2Vzc0lEQlNlcnZlci5jcHAKaW5kZXggNjEwYzc3Zi4uMTUwYjExZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0luUHJvY2Vz
c0lEQlNlcnZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hh
cmVkL0luUHJvY2Vzc0lEQlNlcnZlci5jcHAKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJJ
REJDb25uZWN0aW9uVG9DbGllbnQuaCIKICNpbmNsdWRlICJJREJDb25uZWN0aW9uVG9TZXJ2ZXIu
aCIKICNpbmNsdWRlICJJREJDdXJzb3JJbmZvLmgiCisjaW5jbHVkZSAiSURCR2V0UmVjb3JkRGF0
YS5oIgogI2luY2x1ZGUgIklEQktleVJhbmdlRGF0YS5oIgogI2luY2x1ZGUgIklEQk9wZW5EQlJl
cXVlc3QuaCIKICNpbmNsdWRlICJJREJSZXF1ZXN0RGF0YS5oIgpAQCAtMjcxLDEwICsyNzIsMTAg
QEAgdm9pZCBJblByb2Nlc3NJREJTZXJ2ZXI6OnB1dE9yQWRkKGNvbnN0IElEQlJlcXVlc3REYXRh
JiByZXF1ZXN0RGF0YSwgY29uc3QgSURCS2UKICAgICB9KTsKIH0KIAotdm9pZCBJblByb2Nlc3NJ
REJTZXJ2ZXI6OmdldFJlY29yZChjb25zdCBJREJSZXF1ZXN0RGF0YSYgcmVxdWVzdERhdGEsIGNv
bnN0IElEQktleVJhbmdlRGF0YSYga2V5UmFuZ2VEYXRhKQordm9pZCBJblByb2Nlc3NJREJTZXJ2
ZXI6OmdldFJlY29yZChjb25zdCBJREJSZXF1ZXN0RGF0YSYgcmVxdWVzdERhdGEsIGNvbnN0IElE
QkdldFJlY29yZERhdGEmIGdldFJlY29yZERhdGEpCiB7Ci0gICAgUnVuTG9vcDo6Y3VycmVudCgp
LmRpc3BhdGNoKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyksIHJlcXVlc3RE
YXRhLCBrZXlSYW5nZURhdGFdIHsKLSAgICAgICAgbV9zZXJ2ZXItPmdldFJlY29yZChyZXF1ZXN0
RGF0YSwga2V5UmFuZ2VEYXRhKTsKKyAgICBSdW5Mb29wOjpjdXJyZW50KCkuZGlzcGF0Y2goW3Ro
aXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgcmVxdWVzdERhdGEsIGdldFJlY29y
ZERhdGFdIHsKKyAgICAgICAgbV9zZXJ2ZXItPmdldFJlY29yZChyZXF1ZXN0RGF0YSwgZ2V0UmVj
b3JkRGF0YSk7CiAgICAgfSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL3NoYXJlZC9JblByb2Nlc3NJREJTZXJ2ZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JblByb2Nlc3NJREJTZXJ2ZXIuaAppbmRleCBlZTVl
ZDczLi5lYWE0NDdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9zaGFyZWQvSW5Qcm9jZXNzSURCU2VydmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvc2hhcmVkL0luUHJvY2Vzc0lEQlNlcnZlci5oCkBAIC02OCw3ICs2OCw3IEBA
IHB1YmxpYzoKICAgICB2b2lkIGNyZWF0ZUluZGV4KGNvbnN0IElEQlJlcXVlc3REYXRhJiwgY29u
c3QgSURCSW5kZXhJbmZvJikgZmluYWw7CiAgICAgdm9pZCBkZWxldGVJbmRleChjb25zdCBJREJS
ZXF1ZXN0RGF0YSYsIHVpbnQ2NF90IG9iamVjdFN0b3JlSWRlbnRpZmllciwgY29uc3QgU3RyaW5n
JiBpbmRleE5hbWUpIGZpbmFsOwogICAgIHZvaWQgcHV0T3JBZGQoY29uc3QgSURCUmVxdWVzdERh
dGEmLCBjb25zdCBJREJLZXlEYXRhJiwgY29uc3QgSURCVmFsdWUmLCBjb25zdCBJbmRleGVkREI6
Ok9iamVjdFN0b3JlT3ZlcndyaXRlTW9kZSkgZmluYWw7Ci0gICAgdm9pZCBnZXRSZWNvcmQoY29u
c3QgSURCUmVxdWVzdERhdGEmLCBjb25zdCBJREJLZXlSYW5nZURhdGEmKSBmaW5hbDsKKyAgICB2
b2lkIGdldFJlY29yZChjb25zdCBJREJSZXF1ZXN0RGF0YSYsIGNvbnN0IElEQkdldFJlY29yZERh
dGEmKSBmaW5hbDsKICAgICB2b2lkIGdldENvdW50KGNvbnN0IElEQlJlcXVlc3REYXRhJiwgY29u
c3QgSURCS2V5UmFuZ2VEYXRhJikgZmluYWw7CiAgICAgdm9pZCBkZWxldGVSZWNvcmQoY29uc3Qg
SURCUmVxdWVzdERhdGEmLCBjb25zdCBJREJLZXlSYW5nZURhdGEmKSBmaW5hbDsKICAgICB2b2lk
IG9wZW5DdXJzb3IoY29uc3QgSURCUmVxdWVzdERhdGEmLCBjb25zdCBJREJDdXJzb3JJbmZvJikg
ZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKaW5kZXggYTkxMTdkMi4uYTEyODllOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjA4MSw2ICsyMDgxLDggQEAKIAkJ
NTEwMTkyRDIxOEI2QjlBQjAwN0ZDN0ExIC8qIEltYWdlQ29udHJvbHNSb290RWxlbWVudE1hYy5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTEwMTkyRDAx
OEI2QjlBQjAwN0ZDN0ExIC8qIEltYWdlQ29udHJvbHNSb290RWxlbWVudE1hYy5oICovOyB9Owog
CQk1MTAxOTJENTE4QjZCOUI3MDA3RkM3QTEgLyogSW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50LmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMDE5MkQz
MThCNkI5QjcwMDdGQzdBMSAvKiBJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnQuY3BwICovOyB9Owog
CQk1MTAxOTJENjE4QjZCOUI3MDA3RkM3QTEgLyogSW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTAxOTJENDE4
QjZCOUI3MDA3RkM3QTEgLyogSW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50LmggKi87IH07CisJCTUx
MDVGMDY5MUQ0QkE5RDkwMEZCODBCQyAvKiBJREJHZXRSZWNvcmREYXRhLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTA1RjA2ODFENEJBNTQxMDBGQjgw
QkMgLyogSURCR2V0UmVjb3JkRGF0YS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CisJCTUxMDVGMDZCMUQ0QkIxMjcwMEZCODBCQyAvKiBJREJHZXRSZWNv
cmREYXRhLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDUxMDVGMDZBMUQ0QkIwQkMwMEZCODBCQyAvKiBJREJHZXRSZWNvcmREYXRhLmNwcCAqLzsgfTsK
IAkJNTEwNkQ3QkQxOEJEQjc2RjAwMEFCMTY2IC8qIENvbnRleHRNZW51Q29udGV4dC5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTA2RDdCQjE4QkRC
NzZGMDAwQUIxNjYgLyogQ29udGV4dE1lbnVDb250ZXh0LmNwcCAqLzsgfTsKIAkJNTEwNkQ3QkUx
OEJEQjc2RjAwMEFCMTY2IC8qIENvbnRleHRNZW51Q29udGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTEwNkQ3QkMxOEJEQjc2RjAwMEFCMTY2IC8q
IENvbnRleHRNZW51Q29udGV4dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTUxMEE1OEU0MUJBQTQwQjEwMEMxOTI4MiAvKiBJblByb2Nlc3NJREJT
ZXJ2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NTEwQTU4RTIxQkFBNDBBRTAwQzE5MjgyIC8qIEluUHJvY2Vzc0lEQlNlcnZlci5jcHAgKi87IH07
CkBAIC05NTEzLDYgKzk1MTUsOCBAQAogCQk1MTAxOTJEODE4QjdEN0FCMDA3RkM3QTEgLyogaW1h
Z2VDb250cm9sc01hYy5jc3MgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LmNzczsgcGF0aCA9IGltYWdlQ29udHJv
bHNNYWMuY3NzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MTAzMTA1RTFCQThFMDkw
MDAzMzI5QzAgLyogSURCRGF0YWJhc2VJZGVudGlmaWVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IElEQkRhdGFiYXNlSWRlbnRpZmllci5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTUxMDMxMDVGMUJBOEUwOTAwMDMzMjlDMCAvKiBJREJEYXRhYmFz
ZUlkZW50aWZpZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSURCRGF0YWJh
c2VJZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxMDVGMDY4MUQ0
QkE1NDEwMEZCODBCQyAvKiBJREJHZXRSZWNvcmREYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IElEQkdldFJlY29yZERhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNTEwNUYwNkExRDRCQjBCQzAwRkI4MEJDIC8qIElEQkdldFJlY29yZERhdGEuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSURCR2V0UmVjb3JkRGF0YS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxMDZEN0JCMThCREI3NkYwMDBBQjE2NiAv
KiBDb250ZXh0TWVudUNvbnRleHQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gQ29udGV4dE1lbnVDb250ZXh0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNTEwNkQ3QkMxOEJEQjc2RjAwMEFCMTY2IC8qIENvbnRleHRNZW51Q29udGV4dC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb250ZXh0TWVudUNvbnRleHQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTEwQTU4RTIxQkFBNDBBRTAwQzE5MjgyIC8qIEluUHJv
Y2Vzc0lEQlNlcnZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJ
blByb2Nlc3NJREJTZXJ2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTc1
NjYsNiArMTc1NzAsOCBAQAogCQkJCTUxNDg0NTNEMUJCOUQwNzYwMDZBNzJFRCAvKiBJREJFcnJv
ci5oICovLAogCQkJCTUxRjc5OEVCMUJFODgwRDMwMDhBRTQ5MSAvKiBJREJJbmRleEluZm8uY3Bw
ICovLAogCQkJCTUxRjc5OEVDMUJFODgwRDMwMDhBRTQ5MSAvKiBJREJJbmRleEluZm8uaCAqLywK
KwkJCQk1MTA1RjA2ODFENEJBNTQxMDBGQjgwQkMgLyogSURCR2V0UmVjb3JkRGF0YS5oICovLAor
CQkJCTUxMDVGMDZBMUQ0QkIwQkMwMEZCODBCQyAvKiBJREJHZXRSZWNvcmREYXRhLmNwcCAqLywK
IAkJCQk1MTYwNzEyQzFCRDgzMDcyMDBEQkM0RjIgLyogSURCT2JqZWN0U3RvcmVJbmZvLmNwcCAq
LywKIAkJCQk1MTYwNzEyRDFCRDgzMDcyMDBEQkM0RjIgLyogSURCT2JqZWN0U3RvcmVJbmZvLmgg
Ki8sCiAJCQkJNTEwQTU4RjUxQkFDQzRBNTAwQzE5MjgyIC8qIElEQlJlcXVlc3REYXRhLmNwcCAq
LywKQEAgLTI2MzA1LDYgKzI2MzExLDcgQEAKIAkJCQlBOEVBN0NCODBBMTkyQjlDMDBBOEVGNUYg
LyogSFRNTEhlYWRpbmdFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEVBN0NBRjBBMTky
QjlDMDBBOEVGNUYgLyogSFRNTEhSRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTg3MURF
MjcwQTE1MkFDODAwQjEyQTY4IC8qIEhUTUxIdG1sRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJNTEwNUYwNjkxRDRCQTlEOTAwRkI4MEJDIC8qIElEQkdldFJlY29yZERhdGEuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUE4NzFERTJBMEExNTJBQzgwMEIxMkE2OCAvKiBIVE1MSUZyYW1lRWxlbWVu
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThFQTdEMkQwQTE5Mzg1NTAwQThFRjVGIC8qIEhUTUxJ
bWFnZUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4RUE3RDJCMEExOTM4NTUwMEE4RUY1
RiAvKiBIVE1MSW1hZ2VMb2FkZXIuaCBpbiBIZWFkZXJzICovLApAQCAtMzAxMTUsNiArMzAxMjIs
NyBAQAogCQkJCUE4RUE3OUY4MEExOTE2REYwMEE4RUY1RiAvKiBIVE1MTWVudUVsZW1lbnQuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMkJFOEUyQzkxMkE1OEEwMTAwRkFENTUwIC8qIEhUTUxNZXRh
Q2hhcnNldFBhcnNlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBODcxREMyNzBBMTUyMDU3MDBC
MTJBNjggLyogSFRNTE1ldGFFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTUxMDVGMDZC
MUQ0QkIxMjcwMEZCODBCQyAvKiBJREJHZXRSZWNvcmREYXRhLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUE0NTQ0MjRBMTE5QjM2NjEwMDlCRTkxMiAvKiBIVE1MTWV0ZXJFbGVtZW50LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUE4Q0ZGN0E5MEExNTY5NzgwMDBBNDIzNCAvKiBIVE1MTW9kRWxlbWVu
dC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOERGM0ZENTA5N0ZBMEZDMDA1Mjk4MUIgLyogSFRN
TE5hbWVDb2xsZWN0aW9uLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDNkNTBjYjgu
LjNmNmMxMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxNi0wNy0yOSAgQnJhZHkg
RWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgUmVmYWN0b3IgZGF0YSBwYXNz
ZWQgYWxvbmcgZm9yIGEgIkdldFJlY29yZCIgcmVxdWVzdC4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MDM1MgorCisgICAgICAgIFJldmlld2VkIGJ5
IFRpbSBIb3J0b24uCisKKyAgICAgICAgKiBEYXRhYmFzZVByb2Nlc3MvSW5kZXhlZERCL1dlYklE
QkNvbm5lY3Rpb25Ub0NsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYklEQkNvbm5lY3Rp
b25Ub0NsaWVudDo6Z2V0UmVjb3JkKToKKyAgICAgICAgKiBEYXRhYmFzZVByb2Nlc3MvSW5kZXhl
ZERCL1dlYklEQkNvbm5lY3Rpb25Ub0NsaWVudC5oOgorICAgICAgICAqIERhdGFiYXNlUHJvY2Vz
cy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50Lm1lc3NhZ2VzLmluOgorCisgICAg
ICAgICogV2ViUHJvY2Vzcy9EYXRhYmFzZXMvSW5kZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub1Nl
cnZlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6Z2V0
UmVjb3JkKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0RhdGFiYXNlcy9JbmRleGVkREIvV2ViSURC
Q29ubmVjdGlvblRvU2VydmVyLmg6CisKIDIwMTYtMDgtMDEgIEFsZXggQ2hyaXN0ZW5zZW4gIDxh
Y2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBfV0tEb3dubG9hZERlbGVnYXRlLmRp
ZFJlY2VpdmVSZXNwb25zZSBzaG91bGQgYmUgY2FsbGVkIGJlZm9yZSBkZWNpZGVEZXN0aW5hdGlv
bldpdGhTdWdnZXN0ZWRGaWxlbmFtZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvRGF0YWJh
c2VQcm9jZXNzL0luZGV4ZWREQi9XZWJJREJDb25uZWN0aW9uVG9DbGllbnQuY3BwIGIvU291cmNl
L1dlYktpdDIvRGF0YWJhc2VQcm9jZXNzL0luZGV4ZWREQi9XZWJJREJDb25uZWN0aW9uVG9DbGll
bnQuY3BwCmluZGV4IDc5ODE3ZmIuLjE1YzEzNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L0RhdGFiYXNlUHJvY2Vzcy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9EYXRhYmFzZVByb2Nlc3MvSW5kZXhlZERCL1dlYklEQkNvbm5l
Y3Rpb25Ub0NsaWVudC5jcHAKQEAgLTI2MCw5ICsyNjAsOSBAQCB2b2lkIFdlYklEQkNvbm5lY3Rp
b25Ub0NsaWVudDo6cHV0T3JBZGQoY29uc3QgSURCUmVxdWVzdERhdGEmIHJlcXVlc3QsIGNvbnN0
IElEQgogICAgIERhdGFiYXNlUHJvY2Vzczo6c2luZ2xldG9uKCkuaWRiU2VydmVyKCkucHV0T3JB
ZGQocmVxdWVzdCwga2V5LCB2YWx1ZSwgbW9kZSk7CiB9CiAKLXZvaWQgV2ViSURCQ29ubmVjdGlv
blRvQ2xpZW50OjpnZXRSZWNvcmQoY29uc3QgSURCUmVxdWVzdERhdGEmIHJlcXVlc3QsIGNvbnN0
IElEQktleVJhbmdlRGF0YSYgcmFuZ2UpCit2b2lkIFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVudDo6
Z2V0UmVjb3JkKGNvbnN0IElEQlJlcXVlc3REYXRhJiByZXF1ZXN0LCBjb25zdCBJREJHZXRSZWNv
cmREYXRhJiBnZXRSZWNvcmREYXRhKQogewotICAgIERhdGFiYXNlUHJvY2Vzczo6c2luZ2xldG9u
KCkuaWRiU2VydmVyKCkuZ2V0UmVjb3JkKHJlcXVlc3QsIHJhbmdlKTsKKyAgICBEYXRhYmFzZVBy
b2Nlc3M6OnNpbmdsZXRvbigpLmlkYlNlcnZlcigpLmdldFJlY29yZChyZXF1ZXN0LCBnZXRSZWNv
cmREYXRhKTsKIH0KIAogdm9pZCBXZWJJREJDb25uZWN0aW9uVG9DbGllbnQ6OmdldENvdW50KGNv
bnN0IElEQlJlcXVlc3REYXRhJiByZXF1ZXN0LCBjb25zdCBJREJLZXlSYW5nZURhdGEmIHJhbmdl
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvRGF0YWJhc2VQcm9jZXNzL0luZGV4ZWREQi9X
ZWJJREJDb25uZWN0aW9uVG9DbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL0RhdGFiYXNlUHJvY2Vz
cy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50LmgKaW5kZXggOGNiZTQ3MS4uZTkz
NzYzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvRGF0YWJhc2VQcm9jZXNzL0luZGV4ZWRE
Qi9XZWJJREJDb25uZWN0aW9uVG9DbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9EYXRhYmFz
ZVByb2Nlc3MvSW5kZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub0NsaWVudC5oCkBAIC00MCw2ICs0
MCw3IEBAIGNsYXNzIElEQlJlcXVlc3REYXRhOwogY2xhc3MgSURCVHJhbnNhY3Rpb25JbmZvOwog
Y2xhc3MgSURCVmFsdWU7CiBjbGFzcyBTZXJpYWxpemVkU2NyaXB0VmFsdWU7CitzdHJ1Y3QgSURC
R2V0UmVjb3JkRGF0YTsKIHN0cnVjdCBJREJLZXlSYW5nZURhdGE7CiBzdHJ1Y3QgU2VjdXJpdHlP
cmlnaW5EYXRhOwogfQpAQCAtOTUsNyArOTYsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBjcmVhdGVJ
bmRleChjb25zdCBXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSYsIGNvbnN0IFdlYkNvcmU6OklEQklu
ZGV4SW5mbyYpOwogICAgIHZvaWQgZGVsZXRlSW5kZXgoY29uc3QgV2ViQ29yZTo6SURCUmVxdWVz
dERhdGEmLCB1aW50NjRfdCBvYmplY3RTdG9yZUlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgaW5k
ZXhOYW1lKTsKICAgICB2b2lkIHB1dE9yQWRkKGNvbnN0IFdlYkNvcmU6OklEQlJlcXVlc3REYXRh
JiwgY29uc3QgV2ViQ29yZTo6SURCS2V5RGF0YSYsIGNvbnN0IFdlYkNvcmU6OklEQlZhbHVlJiwg
dW5zaWduZWQgb3ZlcndyaXRlTW9kZSk7Ci0gICAgdm9pZCBnZXRSZWNvcmQoY29uc3QgV2ViQ29y
ZTo6SURCUmVxdWVzdERhdGEmLCBjb25zdCBXZWJDb3JlOjpJREJLZXlSYW5nZURhdGEmKTsKKyAg
ICB2b2lkIGdldFJlY29yZChjb25zdCBXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSYsIGNvbnN0IFdl
YkNvcmU6OklEQkdldFJlY29yZERhdGEmKTsKICAgICB2b2lkIGdldENvdW50KGNvbnN0IFdlYkNv
cmU6OklEQlJlcXVlc3REYXRhJiwgY29uc3QgV2ViQ29yZTo6SURCS2V5UmFuZ2VEYXRhJik7CiAg
ICAgdm9pZCBkZWxldGVSZWNvcmQoY29uc3QgV2ViQ29yZTo6SURCUmVxdWVzdERhdGEmLCBjb25z
dCBXZWJDb3JlOjpJREJLZXlSYW5nZURhdGEmKTsKICAgICB2b2lkIG9wZW5DdXJzb3IoY29uc3Qg
V2ViQ29yZTo6SURCUmVxdWVzdERhdGEmLCBjb25zdCBXZWJDb3JlOjpJREJDdXJzb3JJbmZvJik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9EYXRhYmFzZVByb2Nlc3MvSW5kZXhlZERCL1dl
YklEQkNvbm5lY3Rpb25Ub0NsaWVudC5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL0RhdGFi
YXNlUHJvY2Vzcy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50Lm1lc3NhZ2VzLmlu
CmluZGV4IGNjMzg1MzguLjRlMGI1YzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0RhdGFi
YXNlUHJvY2Vzcy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50Lm1lc3NhZ2VzLmlu
CisrKyBiL1NvdXJjZS9XZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9JbmRleGVkREIvV2ViSURCQ29u
bmVjdGlvblRvQ2xpZW50Lm1lc3NhZ2VzLmluCkBAIC0zNCw3ICszNCw3IEBAIG1lc3NhZ2VzIC0+
IFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVudCB7CiAgICAgQ3JlYXRlSW5kZXgoV2ViQ29yZTo6SURC
UmVxdWVzdERhdGEgcmVxdWVzdERhdGEsIFdlYkNvcmU6OklEQkluZGV4SW5mbyBpbmZvKTsKICAg
ICBEZWxldGVJbmRleChXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSByZXF1ZXN0RGF0YSwgdWludDY0
X3Qgb2JqZWN0U3RvcmVJZGVudGlmaWVyLCBTdHJpbmcgaW5kZXhOYW1lKTsKICAgICBQdXRPckFk
ZChXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSByZXF1ZXN0RGF0YSwgV2ViQ29yZTo6SURCS2V5RGF0
YSBrZXksIFdlYkNvcmU6OklEQlZhbHVlIHZhbHVlLCB1bnNpZ25lZCBvdmVyd3JpdGVNb2RlKTsK
LSAgICBHZXRSZWNvcmQoV2ViQ29yZTo6SURCUmVxdWVzdERhdGEgcmVxdWVzdERhdGEsIHN0cnVj
dCBXZWJDb3JlOjpJREJLZXlSYW5nZURhdGEgcmFuZ2UpOworICAgIEdldFJlY29yZChXZWJDb3Jl
OjpJREJSZXF1ZXN0RGF0YSByZXF1ZXN0RGF0YSwgc3RydWN0IFdlYkNvcmU6OklEQkdldFJlY29y
ZERhdGEgZ2V0UmVjb3JkRGF0YSk7CiAgICAgR2V0Q291bnQoV2ViQ29yZTo6SURCUmVxdWVzdERh
dGEgcmVxdWVzdERhdGEsIHN0cnVjdCBXZWJDb3JlOjpJREJLZXlSYW5nZURhdGEgcmFuZ2UpOwog
ICAgIERlbGV0ZVJlY29yZChXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSByZXF1ZXN0RGF0YSwgc3Ry
dWN0IFdlYkNvcmU6OklEQktleVJhbmdlRGF0YSByYW5nZSk7CiAgICAgT3BlbkN1cnNvcihXZWJD
b3JlOjpJREJSZXF1ZXN0RGF0YSByZXF1ZXN0RGF0YSwgV2ViQ29yZTo6SURCQ3Vyc29ySW5mbyBp
bmZvKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvRGF0YWJhc2VzL0lu
ZGV4ZWREQi9XZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXIuY3BwIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9EYXRhYmFzZXMvSW5kZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub1NlcnZlci5jcHAK
aW5kZXggNmE5MDhhZC4uZjJmNzdhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9EYXRhYmFzZXMvSW5kZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub1NlcnZlci5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9EYXRhYmFzZXMvSW5kZXhlZERCL1dlYklEQkNv
bm5lY3Rpb25Ub1NlcnZlci5jcHAKQEAgLTEzOCw5ICsxMzgsOSBAQCB2b2lkIFdlYklEQkNvbm5l
Y3Rpb25Ub1NlcnZlcjo6cHV0T3JBZGQoY29uc3QgSURCUmVxdWVzdERhdGEmIHJlcXVlc3REYXRh
LCBjb25zdAogICAgIHNlbmQoTWVzc2FnZXM6OldlYklEQkNvbm5lY3Rpb25Ub0NsaWVudDo6UHV0
T3JBZGQocmVxdWVzdERhdGEsIGtleURhdGEsIHZhbHVlLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4o
bW9kZSkpKTsKIH0KIAotdm9pZCBXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OmdldFJlY29yZChj
b25zdCBJREJSZXF1ZXN0RGF0YSYgcmVxdWVzdERhdGEsIGNvbnN0IElEQktleVJhbmdlRGF0YSYg
cmFuZ2UpCit2b2lkIFdlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6Z2V0UmVjb3JkKGNvbnN0IElE
QlJlcXVlc3REYXRhJiByZXF1ZXN0RGF0YSwgY29uc3QgSURCR2V0UmVjb3JkRGF0YSYgZ2V0UmVj
b3JkRGF0YSkKIHsKLSAgICBzZW5kKE1lc3NhZ2VzOjpXZWJJREJDb25uZWN0aW9uVG9DbGllbnQ6
OkdldFJlY29yZChyZXF1ZXN0RGF0YSwgcmFuZ2UpKTsKKyAgICBzZW5kKE1lc3NhZ2VzOjpXZWJJ
REJDb25uZWN0aW9uVG9DbGllbnQ6OkdldFJlY29yZChyZXF1ZXN0RGF0YSwgZ2V0UmVjb3JkRGF0
YSkpOwogfQogCiB2b2lkIFdlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6Z2V0Q291bnQoY29uc3Qg
SURCUmVxdWVzdERhdGEmIHJlcXVlc3REYXRhLCBjb25zdCBJREJLZXlSYW5nZURhdGEmIHJhbmdl
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9EYXRhYmFzZXMvSW5kZXhl
ZERCL1dlYklEQkNvbm5lY3Rpb25Ub1NlcnZlci5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9EYXRhYmFzZXMvSW5kZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub1NlcnZlci5oCmluZGV4IDBl
NWM1MDUuLjE1MzE2NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvRGF0
YWJhc2VzL0luZGV4ZWREQi9XZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXIuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL0RhdGFiYXNlcy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRv
U2VydmVyLmgKQEAgLTU3LDcgKzU3LDcgQEAgcHVibGljOgogICAgIHZvaWQgY3JlYXRlSW5kZXgo
Y29uc3QgV2ViQ29yZTo6SURCUmVxdWVzdERhdGEmLCBjb25zdCBXZWJDb3JlOjpJREJJbmRleElu
Zm8mKSBmaW5hbDsKICAgICB2b2lkIGRlbGV0ZUluZGV4KGNvbnN0IFdlYkNvcmU6OklEQlJlcXVl
c3REYXRhJiwgdWludDY0X3Qgb2JqZWN0U3RvcmVJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGlu
ZGV4TmFtZSkgZmluYWw7CiAgICAgdm9pZCBwdXRPckFkZChjb25zdCBXZWJDb3JlOjpJREJSZXF1
ZXN0RGF0YSYsIGNvbnN0IFdlYkNvcmU6OklEQktleURhdGEmLCBjb25zdCBXZWJDb3JlOjpJREJW
YWx1ZSYsIGNvbnN0IFdlYkNvcmU6OkluZGV4ZWREQjo6T2JqZWN0U3RvcmVPdmVyd3JpdGVNb2Rl
KSBmaW5hbDsKLSAgICB2b2lkIGdldFJlY29yZChjb25zdCBXZWJDb3JlOjpJREJSZXF1ZXN0RGF0
YSYsIGNvbnN0IFdlYkNvcmU6OklEQktleVJhbmdlRGF0YSYpIGZpbmFsOworICAgIHZvaWQgZ2V0
UmVjb3JkKGNvbnN0IFdlYkNvcmU6OklEQlJlcXVlc3REYXRhJiwgY29uc3QgV2ViQ29yZTo6SURC
R2V0UmVjb3JkRGF0YSYpIGZpbmFsOwogICAgIHZvaWQgZ2V0Q291bnQoY29uc3QgV2ViQ29yZTo6
SURCUmVxdWVzdERhdGEmLCBjb25zdCBXZWJDb3JlOjpJREJLZXlSYW5nZURhdGEmKSBmaW5hbDsK
ICAgICB2b2lkIGRlbGV0ZVJlY29yZChjb25zdCBXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSYsIGNv
bnN0IFdlYkNvcmU6OklEQktleVJhbmdlRGF0YSYpIGZpbmFsOwogICAgIHZvaWQgb3BlbkN1cnNv
cihjb25zdCBXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSYsIGNvbnN0IFdlYkNvcmU6OklEQkN1cnNv
ckluZm8mKSBmaW5hbDsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>285076</attachid>
            <date>2016-08-01 23:12:26 -0700</date>
            <delta_ts>2016-08-02 00:21:18 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>wk2-idb-get-record.diff</filename>
            <type>text/plain</type>
            <size>42507</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNDgwZDdmMS4uMzJhYjUzYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKQEAgLTg4NCw2ICs4ODQsNyBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgTW9kdWxl
cy9pbmRleGVkZGIvc2hhcmVkL0lEQkN1cnNvckluZm8uY3BwCiAgICAgTW9kdWxlcy9pbmRleGVk
ZGIvc2hhcmVkL0lEQkRhdGFiYXNlSW5mby5jcHAKICAgICBNb2R1bGVzL2luZGV4ZWRkYi9zaGFy
ZWQvSURCRXJyb3IuY3BwCisgICAgTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQkdldFJlY29y
ZERhdGEuY3BwCiAgICAgTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQkluZGV4SW5mby5jcHAK
ICAgICBNb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCT2JqZWN0U3RvcmVJbmZvLmNwcAogICAg
IE1vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJSZXF1ZXN0RGF0YS5jcHAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRl
eCBjYzU0YjQwLi4xZTI4MWJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTggQEAKKzIwMTYtMDgt
MDEgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAgICAgIFJlZmFjdG9y
IGRhdGEgcGFzc2VkIGFsb25nIGZvciBhICJHZXRSZWNvcmQiIHJlcXVlc3QuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjAzNTIKKworICAgICAgICBS
ZXZpZXdlZCBieSBUaW0gSG9ydG9uLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyAoTm8gYmVoYXZp
b3IgY2hhbmdlKS4KKworICAgICAgICBBZGRpbmcgdGhpcyBuZXcgb2JqZWN0IGxldHMgdXMgZWFz
aWx5IGFkZCBuZXcgZGF0YSBwYXNzZWQgYWxvbmcgZm9yIEdldFJlY29yZAorICAgICAgICByZXF1
ZXN0cyBnb2luZyBmb3J3YXJkLgorCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorCisgICAgICAgICogTW9kdWxl
cy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCT2Jq
ZWN0U3RvcmU6OmdldCk6CisKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2Fj
dGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlvbjo6cmVxdWVzdEdldFJl
Y29yZCk6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlvbjo6cmVxdWVzdEluZGV4UmVj
b3JkKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uOjpnZXRSZWNvcmRPblNlcnZl
cik6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uaDoKKworICAg
ICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9uUHJveHkuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHk6OmdldFJlY29y
ZCk6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Qcm94
eS5oOgorCisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25U
b1NlcnZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25U
b1NlcnZlcjo6Z2V0UmVjb3JkKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQv
SURCQ29ubmVjdGlvblRvU2VydmVyLmg6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvY2xp
ZW50L0lEQkNvbm5lY3Rpb25Ub1NlcnZlckRlbGVnYXRlLmg6CisKKyAgICAgICAgKiBNb2R1bGVz
L2luZGV4ZWRkYi9zZXJ2ZXIvSURCU2VydmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQlNl
cnZlcjo6SURCU2VydmVyOjpnZXRSZWNvcmQpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRi
L3NlcnZlci9JREJTZXJ2ZXIuaDoKKworICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NlcnZl
ci9VbmlxdWVJREJEYXRhYmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJTZXJ2ZXI6OlVu
aXF1ZUlEQkRhdGFiYXNlOjpnZXRSZWNvcmQpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRi
L3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZS5oOgorCisgICAgICAgICogTW9kdWxlcy9pbmRleGVk
ZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SURCU2VydmVyOjpVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uOjpnZXRSZWNvcmQp
OgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZVRy
YW5zYWN0aW9uLmg6CisKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCR2V0
UmVjb3JkRGF0YS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SURCR2V0UmVjb3JkRGF0
YTo6aXNvbGF0ZWRDb3B5KToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURC
R2V0UmVjb3JkRGF0YS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OklEQkdldFJlY29yZERh
dGE6OmVuY29kZSk6CisgICAgICAgIChXZWJDb3JlOjpJREJHZXRSZWNvcmREYXRhOjpkZWNvZGUp
OgorCisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0luUHJvY2Vzc0lEQlNlcnZl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJblByb2Nlc3NJREJTZXJ2ZXI6OmdldFJlY29yZCk6
CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0luUHJvY2Vzc0lEQlNlcnZlci5o
OgorCiAyMDE2LTA4LTAxICBBbmRyZWFzIEtsaW5nICA8YWtsaW5nQGFwcGxlLmNvbT4KIAogICAg
ICAgICBTaHJpbmsgTWVkaWFRdWVyeVNldHMgdG8gZml0IGFmdGVyIHBhcnNpbmcuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5jcHAKaW5k
ZXggZTkxMmFlZi4uYTIyZTIyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvSURCT2JqZWN0U3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlLmNwcApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUg
IklEQkRhdGFiYXNlLmgiCiAjaW5jbHVkZSAiSURCRGF0YWJhc2VFeGNlcHRpb24uaCIKICNpbmNs
dWRlICJJREJFcnJvci5oIgorI2luY2x1ZGUgIklEQkdldFJlY29yZERhdGEuaCIKICNpbmNsdWRl
ICJJREJJbmRleC5oIgogI2luY2x1ZGUgIklEQktleS5oIgogI2luY2x1ZGUgIklEQktleVJhbmdl
RGF0YS5oIgpAQCAtMTg0LDcgKzE4NSw3IEBAIFJlZlB0cjxJREJSZXF1ZXN0PiBJREJPYmplY3RT
dG9yZTo6Z2V0KEV4ZWNTdGF0ZSYgZXhlY1N0YXRlLCBKU1ZhbHVlIGtleSwgRXhjZXB0CiAgICAg
ICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAotICAgIHJldHVybiBtX3RyYW5zYWN0aW9uLT5y
ZXF1ZXN0R2V0UmVjb3JkKGV4ZWNTdGF0ZSwgKnRoaXMsIGlkYktleS5wdHIoKSk7CisgICAgcmV0
dXJuIG1fdHJhbnNhY3Rpb24tPnJlcXVlc3RHZXRSZWNvcmQoZXhlY1N0YXRlLCAqdGhpcywgeyBp
ZGJLZXkucHRyKCkgfSk7CiB9CiAKIFJlZlB0cjxJREJSZXF1ZXN0PiBJREJPYmplY3RTdG9yZTo6
Z2V0KEV4ZWNTdGF0ZSYgZXhlY1N0YXRlLCBJREJLZXlSYW5nZSoga2V5UmFuZ2UsIEV4Y2VwdGlv
bkNvZGVXaXRoTWVzc2FnZSYgZWMpCkBAIC0yMDksNyArMjEwLDcgQEAgUmVmUHRyPElEQlJlcXVl
c3Q+IElEQk9iamVjdFN0b3JlOjpnZXQoRXhlY1N0YXRlJiBleGVjU3RhdGUsIElEQktleVJhbmdl
KiBrZXlSYW4KICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogCi0gICAgcmV0dXJuIG1f
dHJhbnNhY3Rpb24tPnJlcXVlc3RHZXRSZWNvcmQoZXhlY1N0YXRlLCAqdGhpcywga2V5UmFuZ2VE
YXRhKTsKKyAgICByZXR1cm4gbV90cmFuc2FjdGlvbi0+cmVxdWVzdEdldFJlY29yZChleGVjU3Rh
dGUsICp0aGlzLCB7IGtleVJhbmdlRGF0YSB9KTsKIH0KIAogUmVmUHRyPElEQlJlcXVlc3Q+IElE
Qk9iamVjdFN0b3JlOjphZGQoRXhlY1N0YXRlJiBleGVjU3RhdGUsIEpTVmFsdWUgdmFsdWUsIEpT
VmFsdWUga2V5LCBFeGNlcHRpb25Db2RlV2l0aE1lc3NhZ2UmIGVjKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uY3BwIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uY3BwCmluZGV4IDMwMjc1
ODcuLmY5ZThiZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L0lEQlRyYW5zYWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9JREJUcmFuc2FjdGlvbi5jcHAKQEAgLTM4LDYgKzM4LDcgQEAKICNpbmNsdWRlICJJREJEYXRh
YmFzZUV4Y2VwdGlvbi5oIgogI2luY2x1ZGUgIklEQkVycm9yLmgiCiAjaW5jbHVkZSAiSURCRXZl
bnREaXNwYXRjaGVyLmgiCisjaW5jbHVkZSAiSURCR2V0UmVjb3JkRGF0YS5oIgogI2luY2x1ZGUg
IklEQkluZGV4LmgiCiAjaW5jbHVkZSAiSURCS2V5RGF0YS5oIgogI2luY2x1ZGUgIklEQktleVJh
bmdlRGF0YS5oIgpAQCAtNzI5LDExICs3MzAsMTEgQEAgdm9pZCBJREJUcmFuc2FjdGlvbjo6ZGlk
SXRlcmF0ZUN1cnNvck9uU2VydmVyKElEQlJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IElEQlJlc3UK
ICAgICByZXF1ZXN0LmRpZE9wZW5Pckl0ZXJhdGVDdXJzb3IocmVzdWx0RGF0YSk7CiB9CiAKLVJl
ZjxJREJSZXF1ZXN0PiBJREJUcmFuc2FjdGlvbjo6cmVxdWVzdEdldFJlY29yZChFeGVjU3RhdGUm
IGV4ZWNTdGF0ZSwgSURCT2JqZWN0U3RvcmUmIG9iamVjdFN0b3JlLCBjb25zdCBJREJLZXlSYW5n
ZURhdGEmIGtleVJhbmdlRGF0YSkKK1JlZjxJREJSZXF1ZXN0PiBJREJUcmFuc2FjdGlvbjo6cmVx
dWVzdEdldFJlY29yZChFeGVjU3RhdGUmIGV4ZWNTdGF0ZSwgSURCT2JqZWN0U3RvcmUmIG9iamVj
dFN0b3JlLCBjb25zdCBJREJHZXRSZWNvcmREYXRhJiBnZXRSZWNvcmREYXRhKQogewogICAgIExP
RyhJbmRleGVkREIsICJJREJUcmFuc2FjdGlvbjo6cmVxdWVzdEdldFJlY29yZCIpOwogICAgIEFT
U0VSVChpc0FjdGl2ZSgpKTsKLSAgICBBU1NFUlQoIWtleVJhbmdlRGF0YS5pc051bGwpOworICAg
IEFTU0VSVCghZ2V0UmVjb3JkRGF0YS5rZXlSYW5nZURhdGEuaXNOdWxsKTsKICAgICBBU1NFUlQo
Y3VycmVudFRocmVhZCgpID09IG1fZGF0YWJhc2UtPm9yaWdpblRocmVhZElEKCkpOwogCiAgICAg
UkVMRUFTRV9BU1NFUlQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKQEAgLTc0Miw3ICs3NDMs
NyBAQCBSZWY8SURCUmVxdWVzdD4gSURCVHJhbnNhY3Rpb246OnJlcXVlc3RHZXRSZWNvcmQoRXhl
Y1N0YXRlJiBleGVjU3RhdGUsIElEQk9iamVjdAogICAgIFJlZjxJREJSZXF1ZXN0PiByZXF1ZXN0
ID0gSURCUmVxdWVzdDo6Y3JlYXRlKCpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIG9iamVjdFN0
b3JlLCAqdGhpcyk7CiAgICAgYWRkUmVxdWVzdChyZXF1ZXN0LmdldCgpKTsKIAotICAgIGF1dG8g
b3BlcmF0aW9uID0gSURCQ2xpZW50OjpjcmVhdGVUcmFuc2FjdGlvbk9wZXJhdGlvbigqdGhpcywg
cmVxdWVzdC5nZXQoKSwgJklEQlRyYW5zYWN0aW9uOjpkaWRHZXRSZWNvcmRPblNlcnZlciwgJklE
QlRyYW5zYWN0aW9uOjpnZXRSZWNvcmRPblNlcnZlciwga2V5UmFuZ2VEYXRhKTsKKyAgICBhdXRv
IG9wZXJhdGlvbiA9IElEQkNsaWVudDo6Y3JlYXRlVHJhbnNhY3Rpb25PcGVyYXRpb24oKnRoaXMs
IHJlcXVlc3QuZ2V0KCksICZJREJUcmFuc2FjdGlvbjo6ZGlkR2V0UmVjb3JkT25TZXJ2ZXIsICZJ
REJUcmFuc2FjdGlvbjo6Z2V0UmVjb3JkT25TZXJ2ZXIsIGdldFJlY29yZERhdGEpOwogICAgIHNj
aGVkdWxlT3BlcmF0aW9uKFdURk1vdmUob3BlcmF0aW9uKSk7CiAKICAgICByZXR1cm4gcmVxdWVz
dDsKQEAgLTc2NCw3ICs3NjUsNyBAQCBSZWY8SURCUmVxdWVzdD4gSURCVHJhbnNhY3Rpb246OnJl
cXVlc3RHZXRLZXkoRXhlY1N0YXRlJiBleGVjU3RhdGUsIElEQkluZGV4JiBpbgogICAgIHJldHVy
biByZXF1ZXN0SW5kZXhSZWNvcmQoZXhlY1N0YXRlLCBpbmRleCwgSW5kZXhlZERCOjpJbmRleFJl
Y29yZFR5cGU6OktleSwgcmFuZ2UpOwogfQogCi1SZWY8SURCUmVxdWVzdD4gSURCVHJhbnNhY3Rp
b246OnJlcXVlc3RJbmRleFJlY29yZChFeGVjU3RhdGUmIGV4ZWNTdGF0ZSwgSURCSW5kZXgmIGlu
ZGV4LCBJbmRleGVkREI6OkluZGV4UmVjb3JkVHlwZSB0eXBlLCBjb25zdCBJREJLZXlSYW5nZURh
dGEmcmFuZ2UpCitSZWY8SURCUmVxdWVzdD4gSURCVHJhbnNhY3Rpb246OnJlcXVlc3RJbmRleFJl
Y29yZChFeGVjU3RhdGUmIGV4ZWNTdGF0ZSwgSURCSW5kZXgmIGluZGV4LCBJbmRleGVkREI6Oklu
ZGV4UmVjb3JkVHlwZSB0eXBlLCBjb25zdCBJREJLZXlSYW5nZURhdGEmIHJhbmdlKQogewogICAg
IExPRyhJbmRleGVkREIsICJJREJUcmFuc2FjdGlvbjo6cmVxdWVzdEdldFZhbHVlIik7CiAgICAg
QVNTRVJUKGlzQWN0aXZlKCkpOwpAQCAtNzc3LDE4ICs3NzgsMTkgQEAgUmVmPElEQlJlcXVlc3Q+
IElEQlRyYW5zYWN0aW9uOjpyZXF1ZXN0SW5kZXhSZWNvcmQoRXhlY1N0YXRlJiBleGVjU3RhdGUs
IElEQkluZGUKICAgICBSZWY8SURCUmVxdWVzdD4gcmVxdWVzdCA9IElEQlJlcXVlc3Q6OmNyZWF0
ZUdldCgqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBpbmRleCwgdHlwZSwgKnRoaXMpOwogICAg
IGFkZFJlcXVlc3QocmVxdWVzdC5nZXQoKSk7CiAKLSAgICBhdXRvIG9wZXJhdGlvbiA9IElEQkNs
aWVudDo6Y3JlYXRlVHJhbnNhY3Rpb25PcGVyYXRpb24oKnRoaXMsIHJlcXVlc3QuZ2V0KCksICZJ
REJUcmFuc2FjdGlvbjo6ZGlkR2V0UmVjb3JkT25TZXJ2ZXIsICZJREJUcmFuc2FjdGlvbjo6Z2V0
UmVjb3JkT25TZXJ2ZXIsIHJhbmdlKTsKKyAgICBJREJHZXRSZWNvcmREYXRhIGdldFJlY29yZERh
dGEgPSB7IHJhbmdlIH07CisgICAgYXV0byBvcGVyYXRpb24gPSBJREJDbGllbnQ6OmNyZWF0ZVRy
YW5zYWN0aW9uT3BlcmF0aW9uKCp0aGlzLCByZXF1ZXN0LmdldCgpLCAmSURCVHJhbnNhY3Rpb246
OmRpZEdldFJlY29yZE9uU2VydmVyLCAmSURCVHJhbnNhY3Rpb246OmdldFJlY29yZE9uU2VydmVy
LCBnZXRSZWNvcmREYXRhKTsKICAgICBzY2hlZHVsZU9wZXJhdGlvbihXVEZNb3ZlKG9wZXJhdGlv
bikpOwogCiAgICAgcmV0dXJuIHJlcXVlc3Q7CiB9CiAKLXZvaWQgSURCVHJhbnNhY3Rpb246Omdl
dFJlY29yZE9uU2VydmVyKElEQkNsaWVudDo6VHJhbnNhY3Rpb25PcGVyYXRpb24mIG9wZXJhdGlv
biwgY29uc3QgSURCS2V5UmFuZ2VEYXRhJiBrZXlSYW5nZSkKK3ZvaWQgSURCVHJhbnNhY3Rpb246
OmdldFJlY29yZE9uU2VydmVyKElEQkNsaWVudDo6VHJhbnNhY3Rpb25PcGVyYXRpb24mIG9wZXJh
dGlvbiwgY29uc3QgSURCR2V0UmVjb3JkRGF0YSYgZ2V0UmVjb3JkRGF0YSkKIHsKICAgICBMT0co
SW5kZXhlZERCLCAiSURCVHJhbnNhY3Rpb246OmdldFJlY29yZE9uU2VydmVyIik7CiAgICAgQVNT
RVJUKGN1cnJlbnRUaHJlYWQoKSA9PSBtX2RhdGFiYXNlLT5vcmlnaW5UaHJlYWRJRCgpKTsKIAot
ICAgIG1fZGF0YWJhc2UtPmNvbm5lY3Rpb25Qcm94eSgpLmdldFJlY29yZChvcGVyYXRpb24sIGtl
eVJhbmdlKTsKKyAgICBtX2RhdGFiYXNlLT5jb25uZWN0aW9uUHJveHkoKS5nZXRSZWNvcmQob3Bl
cmF0aW9uLCBnZXRSZWNvcmREYXRhKTsKIH0KIAogdm9pZCBJREJUcmFuc2FjdGlvbjo6ZGlkR2V0
UmVjb3JkT25TZXJ2ZXIoSURCUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgSURCUmVzdWx0RGF0YSYg
cmVzdWx0RGF0YSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L0lEQlRyYW5zYWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJU
cmFuc2FjdGlvbi5oCmluZGV4IDEzYzY3OTMuLjA0ODdhYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uaApAQCAtMzAsNiArMzAsOCBA
QAogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCiAjaW5jbHVkZSAiSURCQWN0aXZlRE9NT2JqZWN0
LmgiCiAjaW5jbHVkZSAiSURCRXJyb3IuaCIKKyNpbmNsdWRlICJJREJHZXRSZWNvcmREYXRhLmgi
CisjaW5jbHVkZSAiSURCS2V5UmFuZ2VEYXRhLmgiCiAjaW5jbHVkZSAiSURCT3BlbkRCUmVxdWVz
dC5oIgogI2luY2x1ZGUgIklEQlRyYW5zYWN0aW9uSW5mby5oIgogI2luY2x1ZGUgIkluZGV4ZWRE
Qi5oIgpAQCAtMTE0LDcgKzExNiw3IEBAIHB1YmxpYzoKICAgICBzdGQ6OnVuaXF1ZV9wdHI8SURC
SW5kZXg+IGNyZWF0ZUluZGV4KElEQk9iamVjdFN0b3JlJiwgY29uc3QgSURCSW5kZXhJbmZvJik7
CiAKICAgICBSZWY8SURCUmVxdWVzdD4gcmVxdWVzdFB1dE9yQWRkKEpTQzo6RXhlY1N0YXRlJiwg
SURCT2JqZWN0U3RvcmUmLCBJREJLZXkqLCBTZXJpYWxpemVkU2NyaXB0VmFsdWUmLCBJbmRleGVk
REI6Ok9iamVjdFN0b3JlT3ZlcndyaXRlTW9kZSk7Ci0gICAgUmVmPElEQlJlcXVlc3Q+IHJlcXVl
c3RHZXRSZWNvcmQoSlNDOjpFeGVjU3RhdGUmLCBJREJPYmplY3RTdG9yZSYsIGNvbnN0IElEQktl
eVJhbmdlRGF0YSYpOworICAgIFJlZjxJREJSZXF1ZXN0PiByZXF1ZXN0R2V0UmVjb3JkKEpTQzo6
RXhlY1N0YXRlJiwgSURCT2JqZWN0U3RvcmUmLCBjb25zdCBJREJHZXRSZWNvcmREYXRhJik7CiAg
ICAgUmVmPElEQlJlcXVlc3Q+IHJlcXVlc3REZWxldGVSZWNvcmQoSlNDOjpFeGVjU3RhdGUmLCBJ
REJPYmplY3RTdG9yZSYsIGNvbnN0IElEQktleVJhbmdlRGF0YSYpOwogICAgIFJlZjxJREJSZXF1
ZXN0PiByZXF1ZXN0Q2xlYXJPYmplY3RTdG9yZShKU0M6OkV4ZWNTdGF0ZSYsIElEQk9iamVjdFN0
b3JlJik7CiAgICAgUmVmPElEQlJlcXVlc3Q+IHJlcXVlc3RDb3VudChKU0M6OkV4ZWNTdGF0ZSYs
IElEQk9iamVjdFN0b3JlJiwgY29uc3QgSURCS2V5UmFuZ2VEYXRhJik7CkBAIC0xNzcsNyArMTc5
LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHB1dE9yQWRkT25TZXJ2ZXIoSURCQ2xpZW50OjpUcmFu
c2FjdGlvbk9wZXJhdGlvbiYsIFJlZlB0cjxJREJLZXk+LCBSZWZQdHI8U2VyaWFsaXplZFNjcmlw
dFZhbHVlPiwgY29uc3QgSW5kZXhlZERCOjpPYmplY3RTdG9yZU92ZXJ3cml0ZU1vZGUmKTsKICAg
ICB2b2lkIGRpZFB1dE9yQWRkT25TZXJ2ZXIoSURCUmVxdWVzdCYsIGNvbnN0IElEQlJlc3VsdERh
dGEmKTsKIAotICAgIHZvaWQgZ2V0UmVjb3JkT25TZXJ2ZXIoSURCQ2xpZW50OjpUcmFuc2FjdGlv
bk9wZXJhdGlvbiYsIGNvbnN0IElEQktleVJhbmdlRGF0YSYpOworICAgIHZvaWQgZ2V0UmVjb3Jk
T25TZXJ2ZXIoSURCQ2xpZW50OjpUcmFuc2FjdGlvbk9wZXJhdGlvbiYsIGNvbnN0IElEQkdldFJl
Y29yZERhdGEmKTsKICAgICB2b2lkIGRpZEdldFJlY29yZE9uU2VydmVyKElEQlJlcXVlc3QmLCBj
b25zdCBJREJSZXN1bHREYXRhJik7CiAKICAgICB2b2lkIGdldENvdW50T25TZXJ2ZXIoSURCQ2xp
ZW50OjpUcmFuc2FjdGlvbk9wZXJhdGlvbiYsIGNvbnN0IElEQktleVJhbmdlRGF0YSYpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5l
Y3Rpb25Qcm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQv
SURCQ29ubmVjdGlvblByb3h5LmNwcAppbmRleCBiM2M3NGRjLi5lZTFkYjA2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblBy
b3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURC
Q29ubmVjdGlvblByb3h5LmNwcApAQCAtMzAsNiArMzAsNyBAQAogCiAjaW5jbHVkZSAiSURCQ3Vy
c29ySW5mby5oIgogI2luY2x1ZGUgIklEQkRhdGFiYXNlLmgiCisjaW5jbHVkZSAiSURCR2V0UmVj
b3JkRGF0YS5oIgogI2luY2x1ZGUgIklEQktleVJhbmdlRGF0YS5oIgogI2luY2x1ZGUgIklEQk9w
ZW5EQlJlcXVlc3QuaCIKICNpbmNsdWRlICJJREJSZXF1ZXN0RGF0YS5oIgpAQCAtMTY0LDEyICsx
NjUsMTIgQEAgdm9pZCBJREJDb25uZWN0aW9uUHJveHk6OnB1dE9yQWRkKFRyYW5zYWN0aW9uT3Bl
cmF0aW9uJiBvcGVyYXRpb24sIElEQktleURhdGEmJgogICAgIGNhbGxDb25uZWN0aW9uT25NYWlu
VGhyZWFkKCZJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OnB1dE9yQWRkLCByZXF1ZXN0RGF0YSwga2V5
RGF0YSwgdmFsdWUsIG1vZGUpOwogfQogCi12b2lkIElEQkNvbm5lY3Rpb25Qcm94eTo6Z2V0UmVj
b3JkKFRyYW5zYWN0aW9uT3BlcmF0aW9uJiBvcGVyYXRpb24sIGNvbnN0IElEQktleVJhbmdlRGF0
YSYga2V5UmFuZ2UpCit2b2lkIElEQkNvbm5lY3Rpb25Qcm94eTo6Z2V0UmVjb3JkKFRyYW5zYWN0
aW9uT3BlcmF0aW9uJiBvcGVyYXRpb24sIGNvbnN0IElEQkdldFJlY29yZERhdGEmIGdldFJlY29y
ZERhdGEpCiB7CiAgICAgY29uc3QgSURCUmVxdWVzdERhdGEgcmVxdWVzdERhdGEob3BlcmF0aW9u
KTsKICAgICBzYXZlT3BlcmF0aW9uKG9wZXJhdGlvbik7CiAKLSAgICBjYWxsQ29ubmVjdGlvbk9u
TWFpblRocmVhZCgmSURCQ29ubmVjdGlvblRvU2VydmVyOjpnZXRSZWNvcmQsIHJlcXVlc3REYXRh
LCBrZXlSYW5nZSk7CisgICAgY2FsbENvbm5lY3Rpb25Pbk1haW5UaHJlYWQoJklEQkNvbm5lY3Rp
b25Ub1NlcnZlcjo6Z2V0UmVjb3JkLCByZXF1ZXN0RGF0YSwgZ2V0UmVjb3JkRGF0YSk7CiB9CiAK
IHZvaWQgSURCQ29ubmVjdGlvblByb3h5OjpnZXRDb3VudChUcmFuc2FjdGlvbk9wZXJhdGlvbiYg
b3BlcmF0aW9uLCBjb25zdCBJREJLZXlSYW5nZURhdGEmIGtleVJhbmdlKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Qcm94
eS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rp
b25Qcm94eS5oCmluZGV4IDFhNWQ3MjEuLmMzYTU5NzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9uUHJveHkuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblByb3h5
LmgKQEAgLTUxLDYgKzUxLDggQEAgY2xhc3MgSURCVHJhbnNhY3Rpb247CiBjbGFzcyBTY3JpcHRF
eGVjdXRpb25Db250ZXh0OwogY2xhc3MgU2VjdXJpdHlPcmlnaW47CiAKK3N0cnVjdCBJREJHZXRS
ZWNvcmREYXRhOworCiBuYW1lc3BhY2UgSURCQ2xpZW50IHsKIAogY2xhc3MgSURCQ29ubmVjdGlv
blRvU2VydmVyOwpAQCAtNzEsNyArNzMsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBjcmVhdGVJbmRl
eChUcmFuc2FjdGlvbk9wZXJhdGlvbiYsIGNvbnN0IElEQkluZGV4SW5mbyYpOwogICAgIHZvaWQg
ZGVsZXRlSW5kZXgoVHJhbnNhY3Rpb25PcGVyYXRpb24mLCB1aW50NjRfdCBvYmplY3RTdG9yZUlk
ZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgaW5kZXhOYW1lKTsKICAgICB2b2lkIHB1dE9yQWRkKFRy
YW5zYWN0aW9uT3BlcmF0aW9uJiwgSURCS2V5RGF0YSYmLCBjb25zdCBJREJWYWx1ZSYsIGNvbnN0
IEluZGV4ZWREQjo6T2JqZWN0U3RvcmVPdmVyd3JpdGVNb2RlKTsKLSAgICB2b2lkIGdldFJlY29y
ZChUcmFuc2FjdGlvbk9wZXJhdGlvbiYsIGNvbnN0IElEQktleVJhbmdlRGF0YSYpOworICAgIHZv
aWQgZ2V0UmVjb3JkKFRyYW5zYWN0aW9uT3BlcmF0aW9uJiwgY29uc3QgSURCR2V0UmVjb3JkRGF0
YSYpOwogICAgIHZvaWQgZ2V0Q291bnQoVHJhbnNhY3Rpb25PcGVyYXRpb24mLCBjb25zdCBJREJL
ZXlSYW5nZURhdGEmKTsKICAgICB2b2lkIGRlbGV0ZVJlY29yZChUcmFuc2FjdGlvbk9wZXJhdGlv
biYsIGNvbnN0IElEQktleVJhbmdlRGF0YSYpOwogICAgIHZvaWQgb3BlbkN1cnNvcihUcmFuc2Fj
dGlvbk9wZXJhdGlvbiYsIGNvbnN0IElEQkN1cnNvckluZm8mKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9uVG9TZXJ2ZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rp
b25Ub1NlcnZlci5jcHAKaW5kZXggNzA0NjZhMS4uOTM0MTExMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Ub1NlcnZlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5l
Y3Rpb25Ub1NlcnZlci5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKIAogI2luY2x1ZGUgIklEQkNvbm5l
Y3Rpb25Qcm94eS5oIgogI2luY2x1ZGUgIklEQkRhdGFiYXNlLmgiCisjaW5jbHVkZSAiSURCR2V0
UmVjb3JkRGF0YS5oIgogI2luY2x1ZGUgIklEQktleVJhbmdlRGF0YS5oIgogI2luY2x1ZGUgIklE
Qk9wZW5EQlJlcXVlc3QuaCIKICNpbmNsdWRlICJJREJSZXF1ZXN0RGF0YS5oIgpAQCAtMTcxLDEz
ICsxNzIsMTMgQEAgdm9pZCBJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OmRpZFB1dE9yQWRkKGNvbnN0
IElEQlJlc3VsdERhdGEmIHJlc3VsdERhdGEpCiAgICAgbV9wcm94eS0+Y29tcGxldGVPcGVyYXRp
b24ocmVzdWx0RGF0YSk7CiB9CiAKLXZvaWQgSURCQ29ubmVjdGlvblRvU2VydmVyOjpnZXRSZWNv
cmQoY29uc3QgSURCUmVxdWVzdERhdGEmIHJlcXVlc3REYXRhLCBjb25zdCBJREJLZXlSYW5nZURh
dGEmIGtleVJhbmdlRGF0YSkKK3ZvaWQgSURCQ29ubmVjdGlvblRvU2VydmVyOjpnZXRSZWNvcmQo
Y29uc3QgSURCUmVxdWVzdERhdGEmIHJlcXVlc3REYXRhLCBjb25zdCBJREJHZXRSZWNvcmREYXRh
JiBnZXRSZWNvcmREYXRhKQogewogICAgIExPRyhJbmRleGVkREIsICJJREJDb25uZWN0aW9uVG9T
ZXJ2ZXI6OmdldFJlY29yZCIpOwogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7Ci0gICAgQVNT
RVJUKCFrZXlSYW5nZURhdGEuaXNOdWxsKTsKKyAgICBBU1NFUlQoIWdldFJlY29yZERhdGEua2V5
UmFuZ2VEYXRhLmlzTnVsbCk7CiAKLSAgICBtX2RlbGVnYXRlLT5nZXRSZWNvcmQocmVxdWVzdERh
dGEsIGtleVJhbmdlRGF0YSk7CisgICAgbV9kZWxlZ2F0ZS0+Z2V0UmVjb3JkKHJlcXVlc3REYXRh
LCBnZXRSZWNvcmREYXRhKTsKIH0KIAogdm9pZCBJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OmRpZEdl
dFJlY29yZChjb25zdCBJREJSZXN1bHREYXRhJiByZXN1bHREYXRhKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Ub1NlcnZl
ci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rp
b25Ub1NlcnZlci5oCmluZGV4IGE2YWNlNTcuLjI1NmZlNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9uVG9TZXJ2ZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlv
blRvU2VydmVyLmgKQEAgLTQ1LDYgKzQ1LDggQEAgY2xhc3MgSURCUmVzdWx0RGF0YTsKIGNsYXNz
IElEQlZhbHVlOwogY2xhc3MgU2VjdXJpdHlPcmlnaW47CiAKK3N0cnVjdCBJREJHZXRSZWNvcmRE
YXRhOworCiBuYW1lc3BhY2UgSURCQ2xpZW50IHsKIAogY2xhc3MgSURCQ29ubmVjdGlvblRvU2Vy
dmVyIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPElEQkNvbm5lY3Rpb25Ub1NlcnZlcj4g
ewpAQCAtNzksNyArODEsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBwdXRPckFkZChjb25zdCBJREJS
ZXF1ZXN0RGF0YSYsIGNvbnN0IElEQktleURhdGEmLCBjb25zdCBJREJWYWx1ZSYsIGNvbnN0IElu
ZGV4ZWREQjo6T2JqZWN0U3RvcmVPdmVyd3JpdGVNb2RlKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2
b2lkIGRpZFB1dE9yQWRkKGNvbnN0IElEQlJlc3VsdERhdGEmKTsKIAotICAgIHZvaWQgZ2V0UmVj
b3JkKGNvbnN0IElEQlJlcXVlc3REYXRhJiwgY29uc3QgSURCS2V5UmFuZ2VEYXRhJik7CisgICAg
dm9pZCBnZXRSZWNvcmQoY29uc3QgSURCUmVxdWVzdERhdGEmLCBjb25zdCBJREJHZXRSZWNvcmRE
YXRhJik7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBkaWRHZXRSZWNvcmQoY29uc3QgSURCUmVz
dWx0RGF0YSYpOwogCiAgICAgdm9pZCBnZXRDb3VudChjb25zdCBJREJSZXF1ZXN0RGF0YSYsIGNv
bnN0IElEQktleVJhbmdlRGF0YSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Ub1NlcnZlckRlbGVnYXRlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblRvU2VydmVy
RGVsZWdhdGUuaAppbmRleCBjYjRlNWNkLi5kZmQyNDVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblRvU2VydmVyRGVsZWdh
dGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ29u
bmVjdGlvblRvU2VydmVyRGVsZWdhdGUuaApAQCAtNDAsNiArNDAsNyBAQCBjbGFzcyBJREJSZXNv
dXJjZUlkZW50aWZpZXI7CiBjbGFzcyBJREJUcmFuc2FjdGlvbkluZm87CiBjbGFzcyBJREJWYWx1
ZTsKIAorc3RydWN0IElEQkdldFJlY29yZERhdGE7CiBzdHJ1Y3QgU2VjdXJpdHlPcmlnaW5EYXRh
OwogCiBuYW1lc3BhY2UgSW5kZXhlZERCIHsKQEAgLTY2LDcgKzY3LDcgQEAgcHVibGljOgogICAg
IHZpcnR1YWwgdm9pZCBjcmVhdGVJbmRleChjb25zdCBJREJSZXF1ZXN0RGF0YSYsIGNvbnN0IElE
QkluZGV4SW5mbyYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGVsZXRlSW5kZXgoY29uc3QgSURC
UmVxdWVzdERhdGEmLCB1aW50NjRfdCBvYmplY3RTdG9yZUlkZW50aWZpZXIsIGNvbnN0IFN0cmlu
ZyYgaW5kZXhOYW1lKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHB1dE9yQWRkKGNvbnN0IElEQlJl
cXVlc3REYXRhJiwgY29uc3QgSURCS2V5RGF0YSYsIGNvbnN0IElEQlZhbHVlJiwgY29uc3QgSW5k
ZXhlZERCOjpPYmplY3RTdG9yZU92ZXJ3cml0ZU1vZGUpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQg
Z2V0UmVjb3JkKGNvbnN0IElEQlJlcXVlc3REYXRhJiwgY29uc3QgSURCS2V5UmFuZ2VEYXRhJikg
PSAwOworICAgIHZpcnR1YWwgdm9pZCBnZXRSZWNvcmQoY29uc3QgSURCUmVxdWVzdERhdGEmLCBj
b25zdCBJREJHZXRSZWNvcmREYXRhJikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBnZXRDb3VudChj
b25zdCBJREJSZXF1ZXN0RGF0YSYsIGNvbnN0IElEQktleVJhbmdlRGF0YSYpID0gMDsKICAgICB2
aXJ0dWFsIHZvaWQgZGVsZXRlUmVjb3JkKGNvbnN0IElEQlJlcXVlc3REYXRhJiwgY29uc3QgSURC
S2V5UmFuZ2VEYXRhJikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBvcGVuQ3Vyc29yKGNvbnN0IElE
QlJlcXVlc3REYXRhJiwgY29uc3QgSURCQ3Vyc29ySW5mbyYpID0gMDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9JREJTZXJ2ZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL0lEQlNlcnZlci5jcHAKaW5kZXgg
ZDE4MDU5Zi4uZjI0OWQ0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvc2VydmVyL0lEQlNlcnZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvc2VydmVyL0lEQlNlcnZlci5jcHAKQEAgLTI1OSw3ICsyNTksNyBAQCB2b2lkIElE
QlNlcnZlcjo6cHV0T3JBZGQoY29uc3QgSURCUmVxdWVzdERhdGEmIHJlcXVlc3REYXRhLCBjb25z
dCBJREJLZXlEYXRhJiBrZQogICAgIHRyYW5zYWN0aW9uLT5wdXRPckFkZChyZXF1ZXN0RGF0YSwg
a2V5RGF0YSwgdmFsdWUsIG92ZXJ3cml0ZU1vZGUpOwogfQogCi12b2lkIElEQlNlcnZlcjo6Z2V0
UmVjb3JkKGNvbnN0IElEQlJlcXVlc3REYXRhJiByZXF1ZXN0RGF0YSwgY29uc3QgSURCS2V5UmFu
Z2VEYXRhJiBrZXlSYW5nZURhdGEpCit2b2lkIElEQlNlcnZlcjo6Z2V0UmVjb3JkKGNvbnN0IElE
QlJlcXVlc3REYXRhJiByZXF1ZXN0RGF0YSwgY29uc3QgSURCR2V0UmVjb3JkRGF0YSYgZ2V0UmVj
b3JkRGF0YSkKIHsKICAgICBMT0coSW5kZXhlZERCLCAiSURCU2VydmVyOjpnZXRSZWNvcmQiKTsK
IApAQCAtMjY3LDcgKzI2Nyw3IEBAIHZvaWQgSURCU2VydmVyOjpnZXRSZWNvcmQoY29uc3QgSURC
UmVxdWVzdERhdGEmIHJlcXVlc3REYXRhLCBjb25zdCBJREJLZXlSYW5nZURhCiAgICAgaWYgKCF0
cmFuc2FjdGlvbikKICAgICAgICAgcmV0dXJuOwogCi0gICAgdHJhbnNhY3Rpb24tPmdldFJlY29y
ZChyZXF1ZXN0RGF0YSwga2V5UmFuZ2VEYXRhKTsKKyAgICB0cmFuc2FjdGlvbi0+Z2V0UmVjb3Jk
KHJlcXVlc3REYXRhLCBnZXRSZWNvcmREYXRhKTsKIH0KIAogdm9pZCBJREJTZXJ2ZXI6OmdldENv
dW50KGNvbnN0IElEQlJlcXVlc3REYXRhJiByZXF1ZXN0RGF0YSwgY29uc3QgSURCS2V5UmFuZ2VE
YXRhJiBrZXlSYW5nZURhdGEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9zZXJ2ZXIvSURCU2VydmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9zZXJ2ZXIvSURCU2VydmVyLmgKaW5kZXggNzJlM2Y3MS4uNTYwMzViOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL0lEQlNlcnZlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9JREJTZXJ2ZXIuaApA
QCAtNDYsNiArNDYsOCBAQCBjbGFzcyBJREJDdXJzb3JJbmZvOwogY2xhc3MgSURCUmVxdWVzdERh
dGE7CiBjbGFzcyBJREJWYWx1ZTsKIAorc3RydWN0IElEQkdldFJlY29yZERhdGE7CisKIG5hbWVz
cGFjZSBJREJTZXJ2ZXIgewogCiBjbGFzcyBJREJCYWNraW5nU3RvcmVUZW1wb3JhcnlGaWxlSGFu
ZGxlcjsKQEAgLTcwLDcgKzcyLDcgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQg
Y3JlYXRlSW5kZXgoY29uc3QgSURCUmVxdWVzdERhdGEmLCBjb25zdCBJREJJbmRleEluZm8mKTsK
ICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGRlbGV0ZUluZGV4KGNvbnN0IElEQlJlcXVlc3REYXRh
JiwgdWludDY0X3Qgb2JqZWN0U3RvcmVJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGluZGV4TmFt
ZSk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBwdXRPckFkZChjb25zdCBJREJSZXF1ZXN0RGF0
YSYsIGNvbnN0IElEQktleURhdGEmLCBjb25zdCBJREJWYWx1ZSYsIEluZGV4ZWREQjo6T2JqZWN0
U3RvcmVPdmVyd3JpdGVNb2RlKTsKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGdldFJlY29yZChj
b25zdCBJREJSZXF1ZXN0RGF0YSYsIGNvbnN0IElEQktleVJhbmdlRGF0YSYpOworICAgIFdFQkNP
UkVfRVhQT1JUIHZvaWQgZ2V0UmVjb3JkKGNvbnN0IElEQlJlcXVlc3REYXRhJiwgY29uc3QgSURC
R2V0UmVjb3JkRGF0YSYpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZ2V0Q291bnQoY29uc3Qg
SURCUmVxdWVzdERhdGEmLCBjb25zdCBJREJLZXlSYW5nZURhdGEmKTsKICAgICBXRUJDT1JFX0VY
UE9SVCB2b2lkIGRlbGV0ZVJlY29yZChjb25zdCBJREJSZXF1ZXN0RGF0YSYsIGNvbnN0IElEQktl
eVJhbmdlRGF0YSYpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgb3BlbkN1cnNvcihjb25zdCBJ
REJSZXF1ZXN0RGF0YSYsIGNvbnN0IElEQkN1cnNvckluZm8mKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJh
c2UuY3BwCmluZGV4IDIxNzM2MGQuLjIyNWU2YjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlLmNw
cApAQCAtMjksNiArMjksNyBAQAogI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQogCiAjaW5j
bHVkZSAiSURCQ3Vyc29ySW5mby5oIgorI2luY2x1ZGUgIklEQkdldFJlY29yZERhdGEuaCIKICNp
bmNsdWRlICJJREJLZXlSYW5nZURhdGEuaCIKICNpbmNsdWRlICJJREJSZXN1bHREYXRhLmgiCiAj
aW5jbHVkZSAiSURCU2VydmVyLmgiCkBAIC05MTMsNyArOTE0LDcgQEAgdm9pZCBVbmlxdWVJREJE
YXRhYmFzZTo6ZGlkUGVyZm9ybVB1dE9yQWRkKHVpbnQ2NF90IGNhbGxiYWNrSWRlbnRpZmllciwg
Y29uc3QgSUQKICAgICBwZXJmb3JtS2V5RGF0YUNhbGxiYWNrKGNhbGxiYWNrSWRlbnRpZmllciwg
ZXJyb3IsIHJlc3VsdEtleSk7CiB9CiAKLXZvaWQgVW5pcXVlSURCRGF0YWJhc2U6OmdldFJlY29y
ZChjb25zdCBJREJSZXF1ZXN0RGF0YSYgcmVxdWVzdERhdGEsIGNvbnN0IElEQktleVJhbmdlRGF0
YSYgcmFuZ2UsIEdldFJlc3VsdENhbGxiYWNrIGNhbGxiYWNrKQordm9pZCBVbmlxdWVJREJEYXRh
YmFzZTo6Z2V0UmVjb3JkKGNvbnN0IElEQlJlcXVlc3REYXRhJiByZXF1ZXN0RGF0YSwgY29uc3Qg
SURCR2V0UmVjb3JkRGF0YSYgZ2V0UmVjb3JkRGF0YSwgR2V0UmVzdWx0Q2FsbGJhY2sgY2FsbGJh
Y2spCiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKICAgICBMT0coSW5kZXhlZERCLCAi
KG1haW4pIFVuaXF1ZUlEQkRhdGFiYXNlOjpnZXRSZWNvcmQiKTsKQEAgLTkyMyw5ICs5MjQsOSBA
QCB2b2lkIFVuaXF1ZUlEQkRhdGFiYXNlOjpnZXRSZWNvcmQoY29uc3QgSURCUmVxdWVzdERhdGEm
IHJlcXVlc3REYXRhLCBjb25zdCBJREJLZQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAodWlu
dDY0X3QgaW5kZXhJZGVudGlmaWVyID0gcmVxdWVzdERhdGEuaW5kZXhJZGVudGlmaWVyKCkpCi0g
ICAgICAgIHBvc3REYXRhYmFzZVRhc2soY3JlYXRlQ3Jvc3NUaHJlYWRUYXNrKCp0aGlzLCAmVW5p
cXVlSURCRGF0YWJhc2U6OnBlcmZvcm1HZXRJbmRleFJlY29yZCwgY2FsbGJhY2tJRCwgcmVxdWVz
dERhdGEudHJhbnNhY3Rpb25JZGVudGlmaWVyKCksIHJlcXVlc3REYXRhLm9iamVjdFN0b3JlSWRl
bnRpZmllcigpLCBpbmRleElkZW50aWZpZXIsIHJlcXVlc3REYXRhLmluZGV4UmVjb3JkVHlwZSgp
LCByYW5nZSkpOworICAgICAgICBwb3N0RGF0YWJhc2VUYXNrKGNyZWF0ZUNyb3NzVGhyZWFkVGFz
aygqdGhpcywgJlVuaXF1ZUlEQkRhdGFiYXNlOjpwZXJmb3JtR2V0SW5kZXhSZWNvcmQsIGNhbGxi
YWNrSUQsIHJlcXVlc3REYXRhLnRyYW5zYWN0aW9uSWRlbnRpZmllcigpLCByZXF1ZXN0RGF0YS5v
YmplY3RTdG9yZUlkZW50aWZpZXIoKSwgaW5kZXhJZGVudGlmaWVyLCByZXF1ZXN0RGF0YS5pbmRl
eFJlY29yZFR5cGUoKSwgZ2V0UmVjb3JkRGF0YS5rZXlSYW5nZURhdGEpKTsKICAgICBlbHNlCi0g
ICAgICAgIHBvc3REYXRhYmFzZVRhc2soY3JlYXRlQ3Jvc3NUaHJlYWRUYXNrKCp0aGlzLCAmVW5p
cXVlSURCRGF0YWJhc2U6OnBlcmZvcm1HZXRSZWNvcmQsIGNhbGxiYWNrSUQsIHJlcXVlc3REYXRh
LnRyYW5zYWN0aW9uSWRlbnRpZmllcigpLCByZXF1ZXN0RGF0YS5vYmplY3RTdG9yZUlkZW50aWZp
ZXIoKSwgcmFuZ2UpKTsKKyAgICAgICAgcG9zdERhdGFiYXNlVGFzayhjcmVhdGVDcm9zc1RocmVh
ZFRhc2soKnRoaXMsICZVbmlxdWVJREJEYXRhYmFzZTo6cGVyZm9ybUdldFJlY29yZCwgY2FsbGJh
Y2tJRCwgcmVxdWVzdERhdGEudHJhbnNhY3Rpb25JZGVudGlmaWVyKCksIHJlcXVlc3REYXRhLm9i
amVjdFN0b3JlSWRlbnRpZmllcigpLCBnZXRSZWNvcmREYXRhLmtleVJhbmdlRGF0YSkpOwogfQog
CiB2b2lkIFVuaXF1ZUlEQkRhdGFiYXNlOjpwZXJmb3JtR2V0UmVjb3JkKHVpbnQ2NF90IGNhbGxi
YWNrSWRlbnRpZmllciwgY29uc3QgSURCUmVzb3VyY2VJZGVudGlmaWVyJiB0cmFuc2FjdGlvbklk
ZW50aWZpZXIsIHVpbnQ2NF90IG9iamVjdFN0b3JlSWRlbnRpZmllciwgY29uc3QgSURCS2V5UmFu
Z2VEYXRhJiBrZXlSYW5nZURhdGEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZS5oCmluZGV4IDhkYTY0NDQu
LmM5NDAyNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3Nl
cnZlci9VbmlxdWVJREJEYXRhYmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZS5oCkBAIC05Miw3ICs5Miw3IEBAIHB1Ymxp
YzoKICAgICB2b2lkIGNyZWF0ZUluZGV4KFVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb24mLCBj
b25zdCBJREJJbmRleEluZm8mLCBFcnJvckNhbGxiYWNrKTsKICAgICB2b2lkIGRlbGV0ZUluZGV4
KFVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb24mLCB1aW50NjRfdCBvYmplY3RTdG9yZUlkZW50
aWZpZXIsIGNvbnN0IFN0cmluZyYgaW5kZXhOYW1lLCBFcnJvckNhbGxiYWNrKTsKICAgICB2b2lk
IHB1dE9yQWRkKGNvbnN0IElEQlJlcXVlc3REYXRhJiwgY29uc3QgSURCS2V5RGF0YSYsIGNvbnN0
IElEQlZhbHVlJiwgSW5kZXhlZERCOjpPYmplY3RTdG9yZU92ZXJ3cml0ZU1vZGUsIEtleURhdGFD
YWxsYmFjayk7Ci0gICAgdm9pZCBnZXRSZWNvcmQoY29uc3QgSURCUmVxdWVzdERhdGEmLCBjb25z
dCBJREJLZXlSYW5nZURhdGEmLCBHZXRSZXN1bHRDYWxsYmFjayk7CisgICAgdm9pZCBnZXRSZWNv
cmQoY29uc3QgSURCUmVxdWVzdERhdGEmLCBjb25zdCBJREJHZXRSZWNvcmREYXRhJiwgR2V0UmVz
dWx0Q2FsbGJhY2spOwogICAgIHZvaWQgZ2V0Q291bnQoY29uc3QgSURCUmVxdWVzdERhdGEmLCBj
b25zdCBJREJLZXlSYW5nZURhdGEmLCBDb3VudENhbGxiYWNrKTsKICAgICB2b2lkIGRlbGV0ZVJl
Y29yZChjb25zdCBJREJSZXF1ZXN0RGF0YSYsIGNvbnN0IElEQktleVJhbmdlRGF0YSYsIEVycm9y
Q2FsbGJhY2spOwogICAgIHZvaWQgb3BlbkN1cnNvcihjb25zdCBJREJSZXF1ZXN0RGF0YSYsIGNv
bnN0IElEQkN1cnNvckluZm8mLCBHZXRSZXN1bHRDYWxsYmFjayk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2VUcmFu
c2FjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5p
cXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbi5jcHAKaW5kZXggOTAyNGUzNi4uZDA4Njk4ZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1VuaXF1ZUlE
QkRhdGFiYXNlVHJhbnNhY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uLmNwcApAQCAtMjA1LDE0
ICsyMDUsMTQgQEAgdm9pZCBVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uOjpwdXRPckFkZChj
b25zdCBJREJSZXF1ZXN0RGF0YSYgcmVxdWVzdERhdGEsIGMKICAgICB9KTsKIH0KIAotdm9pZCBV
bmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uOjpnZXRSZWNvcmQoY29uc3QgSURCUmVxdWVzdERh
dGEmIHJlcXVlc3REYXRhLCBjb25zdCBJREJLZXlSYW5nZURhdGEmIGtleVJhbmdlRGF0YSkKK3Zv
aWQgVW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbjo6Z2V0UmVjb3JkKGNvbnN0IElEQlJlcXVl
c3REYXRhJiByZXF1ZXN0RGF0YSwgY29uc3QgSURCR2V0UmVjb3JkRGF0YSYgZ2V0UmVjb3JkRGF0
YSkKIHsKICAgICBMT0coSW5kZXhlZERCLCAiVW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbjo6
Z2V0UmVjb3JkIik7CiAKICAgICBBU1NFUlQobV90cmFuc2FjdGlvbkluZm8uaWRlbnRpZmllcigp
ID09IHJlcXVlc3REYXRhLnRyYW5zYWN0aW9uSWRlbnRpZmllcigpKTsKIAogICAgIFJlZlB0cjxV
bmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uPiBwcm90ZWN0ZWRUaGlzKHRoaXMpOwotICAgIG1f
ZGF0YWJhc2VDb25uZWN0aW9uLT5kYXRhYmFzZSgpLmdldFJlY29yZChyZXF1ZXN0RGF0YSwga2V5
UmFuZ2VEYXRhLCBbdGhpcywgcHJvdGVjdGVkVGhpcywgcmVxdWVzdERhdGFdKGNvbnN0IElEQkVy
cm9yJiBlcnJvciwgY29uc3QgSURCR2V0UmVzdWx0JiByZXN1bHQpIHsKKyAgICBtX2RhdGFiYXNl
Q29ubmVjdGlvbi0+ZGF0YWJhc2UoKS5nZXRSZWNvcmQocmVxdWVzdERhdGEsIGdldFJlY29yZERh
dGEsIFt0aGlzLCBwcm90ZWN0ZWRUaGlzLCByZXF1ZXN0RGF0YV0oY29uc3QgSURCRXJyb3ImIGVy
cm9yLCBjb25zdCBJREJHZXRSZXN1bHQmIHJlc3VsdCkgewogICAgICAgICBMT0coSW5kZXhlZERC
LCAiVW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbjo6Z2V0UmVjb3JkIChjYWxsYmFjaykiKTsK
IAogICAgICAgICBpZiAoZXJyb3IuaXNOdWxsKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbi5o
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFi
YXNlVHJhbnNhY3Rpb24uaAppbmRleCA4OGRhMDE3Li4wMTZhY2M1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2VUcmFu
c2FjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9V
bmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uLmgKQEAgLTQzLDYgKzQzLDcgQEAgY2xhc3MgSURC
T2JqZWN0U3RvcmVJbmZvOwogY2xhc3MgSURCUmVxdWVzdERhdGE7CiBjbGFzcyBJREJWYWx1ZTsK
IAorc3RydWN0IElEQkdldFJlY29yZERhdGE7CiBzdHJ1Y3QgSURCS2V5UmFuZ2VEYXRhOwogCiBu
YW1lc3BhY2UgSURCU2VydmVyIHsKQEAgLTcyLDcgKzczLDcgQEAgcHVibGljOgogICAgIHZvaWQg
Y3JlYXRlSW5kZXgoY29uc3QgSURCUmVxdWVzdERhdGEmLCBjb25zdCBJREJJbmRleEluZm8mKTsK
ICAgICB2b2lkIGRlbGV0ZUluZGV4KGNvbnN0IElEQlJlcXVlc3REYXRhJiwgdWludDY0X3Qgb2Jq
ZWN0U3RvcmVJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGluZGV4TmFtZSk7CiAgICAgdm9pZCBw
dXRPckFkZChjb25zdCBJREJSZXF1ZXN0RGF0YSYsIGNvbnN0IElEQktleURhdGEmLCBjb25zdCBJ
REJWYWx1ZSYsIEluZGV4ZWREQjo6T2JqZWN0U3RvcmVPdmVyd3JpdGVNb2RlKTsKLSAgICB2b2lk
IGdldFJlY29yZChjb25zdCBJREJSZXF1ZXN0RGF0YSYsIGNvbnN0IElEQktleVJhbmdlRGF0YSYp
OworICAgIHZvaWQgZ2V0UmVjb3JkKGNvbnN0IElEQlJlcXVlc3REYXRhJiwgY29uc3QgSURCR2V0
UmVjb3JkRGF0YSYpOwogICAgIHZvaWQgZ2V0Q291bnQoY29uc3QgSURCUmVxdWVzdERhdGEmLCBj
b25zdCBJREJLZXlSYW5nZURhdGEmKTsKICAgICB2b2lkIGRlbGV0ZVJlY29yZChjb25zdCBJREJS
ZXF1ZXN0RGF0YSYsIGNvbnN0IElEQktleVJhbmdlRGF0YSYpOwogICAgIHZvaWQgb3BlbkN1cnNv
cihjb25zdCBJREJSZXF1ZXN0RGF0YSYsIGNvbnN0IElEQkN1cnNvckluZm8mKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJHZXRSZWNvcmRE
YXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJHZXRS
ZWNvcmREYXRhLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMTlhMjZh
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hh
cmVkL0lEQkdldFJlY29yZERhdGEuY3BwCkBAIC0wLDAgKzEsNDIgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSURCR2V0UmVjb3JkRGF0YS5oIgorCisjaWYg
RU5BQkxFKElOREVYRURfREFUQUJBU0UpCisKKyNpbmNsdWRlICJJREJLZXlSYW5nZURhdGEuaCIK
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitJREJHZXRSZWNvcmREYXRhIElEQkdldFJlY29yZERh
dGE6Omlzb2xhdGVkQ29weSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHsga2V5UmFuZ2VEYXRhLmlz
b2xhdGVkQ29weSgpIH07Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8v
IEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQkdldFJlY29yZERhdGEuaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJHZXRSZWNvcmREYXRhLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmVjZmE1MAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJHZXRSZWNvcmREYXRhLmgKQEAg
LTAsMCArMSw2MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKElO
REVYRURfREFUQUJBU0UpCisKKyNpbmNsdWRlICJJREJLZXlSYW5nZURhdGEuaCIKKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgSURCR2V0UmVjb3JkRGF0YSB7CisgICAgSURCS2V5UmFu
Z2VEYXRhIGtleVJhbmdlRGF0YTsKKworICAgIElEQkdldFJlY29yZERhdGEgaXNvbGF0ZWRDb3B5
KCkgY29uc3Q7CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNv
ZGVyJikgY29uc3Q7CisgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIGJvb2wgZGVj
b2RlKERlY29kZXImLCBJREJHZXRSZWNvcmREYXRhJik7Cit9OworCit0ZW1wbGF0ZTxjbGFzcyBF
bmNvZGVyPgordm9pZCBJREJHZXRSZWNvcmREYXRhOjplbmNvZGUoRW5jb2RlciYgZW5jb2Rlcikg
Y29uc3QKK3sKKyAgICBlbmNvZGVyIDw8IGtleVJhbmdlRGF0YTsKK30KKwordGVtcGxhdGU8Y2xh
c3MgRGVjb2Rlcj4KK2Jvb2wgSURCR2V0UmVjb3JkRGF0YTo6ZGVjb2RlKERlY29kZXImIGRlY29k
ZXIsIElEQkdldFJlY29yZERhdGEmIGdldFJlY29yZERhdGEpCit7CisgICAgaWYgKCFkZWNvZGVy
LmRlY29kZShnZXRSZWNvcmREYXRhLmtleVJhbmdlRGF0YSkpCisgICAgICAgIHJldHVybiBmYWxz
ZTsKKworICAgIHJldHVybiB0cnVlOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNl
bmRpZiAvLyBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JblByb2Nlc3NJREJTZXJ2ZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0luUHJvY2Vzc0lEQlNlcnZlci5j
cHAKaW5kZXggNjEwYzc3Zi4uMTUwYjExZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvc2hhcmVkL0luUHJvY2Vzc0lEQlNlcnZlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0luUHJvY2Vzc0lEQlNlcnZlci5jcHAK
QEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJJREJDb25uZWN0aW9uVG9DbGllbnQuaCIKICNp
bmNsdWRlICJJREJDb25uZWN0aW9uVG9TZXJ2ZXIuaCIKICNpbmNsdWRlICJJREJDdXJzb3JJbmZv
LmgiCisjaW5jbHVkZSAiSURCR2V0UmVjb3JkRGF0YS5oIgogI2luY2x1ZGUgIklEQktleVJhbmdl
RGF0YS5oIgogI2luY2x1ZGUgIklEQk9wZW5EQlJlcXVlc3QuaCIKICNpbmNsdWRlICJJREJSZXF1
ZXN0RGF0YS5oIgpAQCAtMjcxLDEwICsyNzIsMTAgQEAgdm9pZCBJblByb2Nlc3NJREJTZXJ2ZXI6
OnB1dE9yQWRkKGNvbnN0IElEQlJlcXVlc3REYXRhJiByZXF1ZXN0RGF0YSwgY29uc3QgSURCS2UK
ICAgICB9KTsKIH0KIAotdm9pZCBJblByb2Nlc3NJREJTZXJ2ZXI6OmdldFJlY29yZChjb25zdCBJ
REJSZXF1ZXN0RGF0YSYgcmVxdWVzdERhdGEsIGNvbnN0IElEQktleVJhbmdlRGF0YSYga2V5UmFu
Z2VEYXRhKQordm9pZCBJblByb2Nlc3NJREJTZXJ2ZXI6OmdldFJlY29yZChjb25zdCBJREJSZXF1
ZXN0RGF0YSYgcmVxdWVzdERhdGEsIGNvbnN0IElEQkdldFJlY29yZERhdGEmIGdldFJlY29yZERh
dGEpCiB7Ci0gICAgUnVuTG9vcDo6Y3VycmVudCgpLmRpc3BhdGNoKFt0aGlzLCBwcm90ZWN0ZWRU
aGlzID0gbWFrZVJlZigqdGhpcyksIHJlcXVlc3REYXRhLCBrZXlSYW5nZURhdGFdIHsKLSAgICAg
ICAgbV9zZXJ2ZXItPmdldFJlY29yZChyZXF1ZXN0RGF0YSwga2V5UmFuZ2VEYXRhKTsKKyAgICBS
dW5Mb29wOjpjdXJyZW50KCkuZGlzcGF0Y2goW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVm
KCp0aGlzKSwgcmVxdWVzdERhdGEsIGdldFJlY29yZERhdGFdIHsKKyAgICAgICAgbV9zZXJ2ZXIt
PmdldFJlY29yZChyZXF1ZXN0RGF0YSwgZ2V0UmVjb3JkRGF0YSk7CiAgICAgfSk7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JblByb2Nl
c3NJREJTZXJ2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9J
blByb2Nlc3NJREJTZXJ2ZXIuaAppbmRleCBlZTVlZDczLi5lYWE0NDdjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSW5Qcm9jZXNzSURCU2VydmVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0luUHJvY2Vz
c0lEQlNlcnZlci5oCkBAIC02OCw3ICs2OCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGNyZWF0ZUlu
ZGV4KGNvbnN0IElEQlJlcXVlc3REYXRhJiwgY29uc3QgSURCSW5kZXhJbmZvJikgZmluYWw7CiAg
ICAgdm9pZCBkZWxldGVJbmRleChjb25zdCBJREJSZXF1ZXN0RGF0YSYsIHVpbnQ2NF90IG9iamVj
dFN0b3JlSWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBpbmRleE5hbWUpIGZpbmFsOwogICAgIHZv
aWQgcHV0T3JBZGQoY29uc3QgSURCUmVxdWVzdERhdGEmLCBjb25zdCBJREJLZXlEYXRhJiwgY29u
c3QgSURCVmFsdWUmLCBjb25zdCBJbmRleGVkREI6Ok9iamVjdFN0b3JlT3ZlcndyaXRlTW9kZSkg
ZmluYWw7Ci0gICAgdm9pZCBnZXRSZWNvcmQoY29uc3QgSURCUmVxdWVzdERhdGEmLCBjb25zdCBJ
REJLZXlSYW5nZURhdGEmKSBmaW5hbDsKKyAgICB2b2lkIGdldFJlY29yZChjb25zdCBJREJSZXF1
ZXN0RGF0YSYsIGNvbnN0IElEQkdldFJlY29yZERhdGEmKSBmaW5hbDsKICAgICB2b2lkIGdldENv
dW50KGNvbnN0IElEQlJlcXVlc3REYXRhJiwgY29uc3QgSURCS2V5UmFuZ2VEYXRhJikgZmluYWw7
CiAgICAgdm9pZCBkZWxldGVSZWNvcmQoY29uc3QgSURCUmVxdWVzdERhdGEmLCBjb25zdCBJREJL
ZXlSYW5nZURhdGEmKSBmaW5hbDsKICAgICB2b2lkIG9wZW5DdXJzb3IoY29uc3QgSURCUmVxdWVz
dERhdGEmLCBjb25zdCBJREJDdXJzb3JJbmZvJikgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYTkxMTdkMi4uYTEyODll
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagpAQCAtMjA4MSw2ICsyMDgxLDggQEAKIAkJNTEwMTkyRDIxOEI2QjlBQjAwN0ZDN0ExIC8q
IEltYWdlQ29udHJvbHNSb290RWxlbWVudE1hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNTEwMTkyRDAxOEI2QjlBQjAwN0ZDN0ExIC8qIEltYWdlQ29u
dHJvbHNSb290RWxlbWVudE1hYy5oICovOyB9OwogCQk1MTAxOTJENTE4QjZCOUI3MDA3RkM3QTEg
LyogSW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMDE5MkQzMThCNkI5QjcwMDdGQzdBMSAvKiBJbWFnZUNv
bnRyb2xzUm9vdEVsZW1lbnQuY3BwICovOyB9OwogCQk1MTAxOTJENjE4QjZCOUI3MDA3RkM3QTEg
LyogSW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1MTAxOTJENDE4QjZCOUI3MDA3RkM3QTEgLyogSW1hZ2VDb250
cm9sc1Jvb3RFbGVtZW50LmggKi87IH07CisJCTUxMDVGMDY5MUQ0QkE5RDkwMEZCODBCQyAvKiBJ
REJHZXRSZWNvcmREYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA1MTA1RjA2ODFENEJBNTQxMDBGQjgwQkMgLyogSURCR2V0UmVjb3JkRGF0YS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTUxMDVGMDZC
MUQ0QkIxMjcwMEZCODBCQyAvKiBJREJHZXRSZWNvcmREYXRhLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMDVGMDZBMUQ0QkIwQkMwMEZCODBCQyAv
KiBJREJHZXRSZWNvcmREYXRhLmNwcCAqLzsgfTsKIAkJNTEwNkQ3QkQxOEJEQjc2RjAwMEFCMTY2
IC8qIENvbnRleHRNZW51Q29udGV4dC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1MTA2RDdCQjE4QkRCNzZGMDAwQUIxNjYgLyogQ29udGV4dE1lbnVD
b250ZXh0LmNwcCAqLzsgfTsKIAkJNTEwNkQ3QkUxOEJEQjc2RjAwMEFCMTY2IC8qIENvbnRleHRN
ZW51Q29udGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNTEwNkQ3QkMxOEJEQjc2RjAwMEFCMTY2IC8qIENvbnRleHRNZW51Q29udGV4dC5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTUxMEE1OEU0MUJB
QTQwQjEwMEMxOTI4MiAvKiBJblByb2Nlc3NJREJTZXJ2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTEwQTU4RTIxQkFBNDBBRTAwQzE5MjgyIC8q
IEluUHJvY2Vzc0lEQlNlcnZlci5jcHAgKi87IH07CkBAIC05NTEzLDYgKzk1MTUsOCBAQAogCQk1
MTAxOTJEODE4QjdEN0FCMDA3RkM3QTEgLyogaW1hZ2VDb250cm9sc01hYy5jc3MgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0LmNzczsgcGF0aCA9IGltYWdlQ29udHJvbHNNYWMuY3NzOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk1MTAzMTA1RTFCQThFMDkwMDAzMzI5QzAgLyogSURCRGF0YWJhc2VJZGVu
dGlmaWVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IElEQkRhdGFi
YXNlSWRlbnRpZmllci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxMDMxMDVG
MUJBOEUwOTAwMDMzMjlDMCAvKiBJREJEYXRhYmFzZUlkZW50aWZpZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSURCRGF0YWJhc2VJZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTUxMDVGMDY4MUQ0QkE1NDEwMEZCODBCQyAvKiBJREJHZXRSZWNv
cmREYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElEQkdldFJlY29yZERh
dGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTEwNUYwNkExRDRCQjBCQzAwRkI4
MEJDIC8qIElEQkdldFJlY29yZERhdGEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSURCR2V0UmVjb3JkRGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTUxMDZEN0JCMThCREI3NkYwMDBBQjE2NiAvKiBDb250ZXh0TWVudUNvbnRleHQuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ29udGV4dE1lbnVDb250ZXh0LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTEwNkQ3QkMxOEJEQjc2RjAwMEFCMTY2
IC8qIENvbnRleHRNZW51Q29udGV4dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBDb250ZXh0TWVudUNvbnRleHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTEw
QTU4RTIxQkFBNDBBRTAwQzE5MjgyIC8qIEluUHJvY2Vzc0lEQlNlcnZlci5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJblByb2Nlc3NJREJTZXJ2ZXIuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTc1NjYsNiArMTc1NzAsOCBAQAogCQkJCTUxNDg0
NTNEMUJCOUQwNzYwMDZBNzJFRCAvKiBJREJFcnJvci5oICovLAogCQkJCTUxRjc5OEVCMUJFODgw
RDMwMDhBRTQ5MSAvKiBJREJJbmRleEluZm8uY3BwICovLAogCQkJCTUxRjc5OEVDMUJFODgwRDMw
MDhBRTQ5MSAvKiBJREJJbmRleEluZm8uaCAqLywKKwkJCQk1MTA1RjA2ODFENEJBNTQxMDBGQjgw
QkMgLyogSURCR2V0UmVjb3JkRGF0YS5oICovLAorCQkJCTUxMDVGMDZBMUQ0QkIwQkMwMEZCODBC
QyAvKiBJREJHZXRSZWNvcmREYXRhLmNwcCAqLywKIAkJCQk1MTYwNzEyQzFCRDgzMDcyMDBEQkM0
RjIgLyogSURCT2JqZWN0U3RvcmVJbmZvLmNwcCAqLywKIAkJCQk1MTYwNzEyRDFCRDgzMDcyMDBE
QkM0RjIgLyogSURCT2JqZWN0U3RvcmVJbmZvLmggKi8sCiAJCQkJNTEwQTU4RjUxQkFDQzRBNTAw
QzE5MjgyIC8qIElEQlJlcXVlc3REYXRhLmNwcCAqLywKQEAgLTI2MzA1LDYgKzI2MzExLDcgQEAK
IAkJCQlBOEVBN0NCODBBMTkyQjlDMDBBOEVGNUYgLyogSFRNTEhlYWRpbmdFbGVtZW50LmggaW4g
SGVhZGVycyAqLywKIAkJCQlBOEVBN0NBRjBBMTkyQjlDMDBBOEVGNUYgLyogSFRNTEhSRWxlbWVu
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTg3MURFMjcwQTE1MkFDODAwQjEyQTY4IC8qIEhUTUxI
dG1sRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTEwNUYwNjkxRDRCQTlEOTAwRkI4MEJD
IC8qIElEQkdldFJlY29yZERhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4NzFERTJBMEExNTJB
QzgwMEIxMkE2OCAvKiBIVE1MSUZyYW1lRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThF
QTdEMkQwQTE5Mzg1NTAwQThFRjVGIC8qIEhUTUxJbWFnZUVsZW1lbnQuaCBpbiBIZWFkZXJzICov
LAogCQkJCUE4RUE3RDJCMEExOTM4NTUwMEE4RUY1RiAvKiBIVE1MSW1hZ2VMb2FkZXIuaCBpbiBI
ZWFkZXJzICovLApAQCAtMzAxMTUsNiArMzAxMjIsNyBAQAogCQkJCUE4RUE3OUY4MEExOTE2REYw
MEE4RUY1RiAvKiBIVE1MTWVudUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkJFOEUy
QzkxMkE1OEEwMTAwRkFENTUwIC8qIEhUTUxNZXRhQ2hhcnNldFBhcnNlci5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlBODcxREMyNzBBMTUyMDU3MDBCMTJBNjggLyogSFRNTE1ldGFFbGVtZW50LmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCTUxMDVGMDZCMUQ0QkIxMjcwMEZCODBCQyAvKiBJREJHZXRS
ZWNvcmREYXRhLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE0NTQ0MjRBMTE5QjM2NjEwMDlCRTkx
MiAvKiBIVE1MTWV0ZXJFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4Q0ZGN0E5MEEx
NTY5NzgwMDBBNDIzNCAvKiBIVE1MTW9kRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlB
OERGM0ZENTA5N0ZBMEZDMDA1Mjk4MUIgLyogSFRNTE5hbWVDb2xsZWN0aW9uLmNwcCBpbiBTb3Vy
Y2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCmluZGV4IGUxNmYyYjYuLjk0ZTU0NGYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOSBAQAorMjAxNi0wOC0wMSAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+
CisKKyAgICAgICAgUmVmYWN0b3IgZGF0YSBwYXNzZWQgYWxvbmcgZm9yIGEgIkdldFJlY29yZCIg
cmVxdWVzdC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE2MDM1MgorCisgICAgICAgIFJldmlld2VkIGJ5IFRpbSBIb3J0b24uCisKKyAgICAgICAgKiBE
YXRhYmFzZVByb2Nlc3MvSW5kZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub0NsaWVudC5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYklEQkNvbm5lY3Rpb25Ub0NsaWVudDo6Z2V0UmVjb3JkKToKKyAg
ICAgICAgKiBEYXRhYmFzZVByb2Nlc3MvSW5kZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub0NsaWVu
dC5oOgorICAgICAgICAqIERhdGFiYXNlUHJvY2Vzcy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlv
blRvQ2xpZW50Lm1lc3NhZ2VzLmluOgorCisgICAgICAgICogV2ViUHJvY2Vzcy9EYXRhYmFzZXMv
SW5kZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub1NlcnZlci5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6Z2V0UmVjb3JkKToKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL0RhdGFiYXNlcy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRvU2VydmVyLmg6CisKIDIw
MTYtMDgtMDEgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAg
ICAgICAgIERhdGFiYXNlIFByb2Nlc3M6IEFTU0VSVElPTiBGQUlMRUQ6IGZpbGVQYXRocy5zaXpl
KCkgPT0gcmVzdWx0LmhhbmRsZXMoKS5zaXplKCkgd2l0aCBTQU5EQk9YX0VYVEVOU0lPTlMgZGlz
YWJsZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9JbmRleGVk
REIvV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL0RhdGFiYXNl
UHJvY2Vzcy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50LmNwcAppbmRleCBiODJi
OTkzLi5mM2VjZmIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9EYXRhYmFzZVByb2Nlc3Mv
SW5kZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub0NsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvRGF0YWJhc2VQcm9jZXNzL0luZGV4ZWREQi9XZWJJREJDb25uZWN0aW9uVG9DbGllbnQuY3Bw
CkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSAiV2ViSURCQ29ubmVjdGlvblRvU2VydmVyTWVz
c2FnZXMuaCIKICNpbmNsdWRlICJXZWJJREJSZXN1bHQuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0lE
QkVycm9yLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9JREJHZXRSZWNvcmREYXRhLmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9JREJSZXN1bHREYXRhLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9JREJWYWx1ZS5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvVGhyZWFkU2FmZURhdGFCdWZmZXIuaD4KQEAgLTI2NCw5ICsy
NjUsOSBAQCB2b2lkIFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVudDo6cHV0T3JBZGQoY29uc3QgSURC
UmVxdWVzdERhdGEmIHJlcXVlc3QsIGNvbnN0IElEQgogICAgIERhdGFiYXNlUHJvY2Vzczo6c2lu
Z2xldG9uKCkuaWRiU2VydmVyKCkucHV0T3JBZGQocmVxdWVzdCwga2V5LCB2YWx1ZSwgbW9kZSk7
CiB9CiAKLXZvaWQgV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50OjpnZXRSZWNvcmQoY29uc3QgSURC
UmVxdWVzdERhdGEmIHJlcXVlc3QsIGNvbnN0IElEQktleVJhbmdlRGF0YSYgcmFuZ2UpCit2b2lk
IFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVudDo6Z2V0UmVjb3JkKGNvbnN0IElEQlJlcXVlc3REYXRh
JiByZXF1ZXN0LCBjb25zdCBJREJHZXRSZWNvcmREYXRhJiBnZXRSZWNvcmREYXRhKQogewotICAg
IERhdGFiYXNlUHJvY2Vzczo6c2luZ2xldG9uKCkuaWRiU2VydmVyKCkuZ2V0UmVjb3JkKHJlcXVl
c3QsIHJhbmdlKTsKKyAgICBEYXRhYmFzZVByb2Nlc3M6OnNpbmdsZXRvbigpLmlkYlNlcnZlcigp
LmdldFJlY29yZChyZXF1ZXN0LCBnZXRSZWNvcmREYXRhKTsKIH0KIAogdm9pZCBXZWJJREJDb25u
ZWN0aW9uVG9DbGllbnQ6OmdldENvdW50KGNvbnN0IElEQlJlcXVlc3REYXRhJiByZXF1ZXN0LCBj
b25zdCBJREJLZXlSYW5nZURhdGEmIHJhbmdlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
RGF0YWJhc2VQcm9jZXNzL0luZGV4ZWREQi9XZWJJREJDb25uZWN0aW9uVG9DbGllbnQuaCBiL1Nv
dXJjZS9XZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRv
Q2xpZW50LmgKaW5kZXggOGNiZTQ3MS4uZTkzNzYzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvRGF0YWJhc2VQcm9jZXNzL0luZGV4ZWREQi9XZWJJREJDb25uZWN0aW9uVG9DbGllbnQuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9EYXRhYmFzZVByb2Nlc3MvSW5kZXhlZERCL1dlYklEQkNvbm5l
Y3Rpb25Ub0NsaWVudC5oCkBAIC00MCw2ICs0MCw3IEBAIGNsYXNzIElEQlJlcXVlc3REYXRhOwog
Y2xhc3MgSURCVHJhbnNhY3Rpb25JbmZvOwogY2xhc3MgSURCVmFsdWU7CiBjbGFzcyBTZXJpYWxp
emVkU2NyaXB0VmFsdWU7CitzdHJ1Y3QgSURCR2V0UmVjb3JkRGF0YTsKIHN0cnVjdCBJREJLZXlS
YW5nZURhdGE7CiBzdHJ1Y3QgU2VjdXJpdHlPcmlnaW5EYXRhOwogfQpAQCAtOTUsNyArOTYsNyBA
QCBwdWJsaWM6CiAgICAgdm9pZCBjcmVhdGVJbmRleChjb25zdCBXZWJDb3JlOjpJREJSZXF1ZXN0
RGF0YSYsIGNvbnN0IFdlYkNvcmU6OklEQkluZGV4SW5mbyYpOwogICAgIHZvaWQgZGVsZXRlSW5k
ZXgoY29uc3QgV2ViQ29yZTo6SURCUmVxdWVzdERhdGEmLCB1aW50NjRfdCBvYmplY3RTdG9yZUlk
ZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgaW5kZXhOYW1lKTsKICAgICB2b2lkIHB1dE9yQWRkKGNv
bnN0IFdlYkNvcmU6OklEQlJlcXVlc3REYXRhJiwgY29uc3QgV2ViQ29yZTo6SURCS2V5RGF0YSYs
IGNvbnN0IFdlYkNvcmU6OklEQlZhbHVlJiwgdW5zaWduZWQgb3ZlcndyaXRlTW9kZSk7Ci0gICAg
dm9pZCBnZXRSZWNvcmQoY29uc3QgV2ViQ29yZTo6SURCUmVxdWVzdERhdGEmLCBjb25zdCBXZWJD
b3JlOjpJREJLZXlSYW5nZURhdGEmKTsKKyAgICB2b2lkIGdldFJlY29yZChjb25zdCBXZWJDb3Jl
OjpJREJSZXF1ZXN0RGF0YSYsIGNvbnN0IFdlYkNvcmU6OklEQkdldFJlY29yZERhdGEmKTsKICAg
ICB2b2lkIGdldENvdW50KGNvbnN0IFdlYkNvcmU6OklEQlJlcXVlc3REYXRhJiwgY29uc3QgV2Vi
Q29yZTo6SURCS2V5UmFuZ2VEYXRhJik7CiAgICAgdm9pZCBkZWxldGVSZWNvcmQoY29uc3QgV2Vi
Q29yZTo6SURCUmVxdWVzdERhdGEmLCBjb25zdCBXZWJDb3JlOjpJREJLZXlSYW5nZURhdGEmKTsK
ICAgICB2b2lkIG9wZW5DdXJzb3IoY29uc3QgV2ViQ29yZTo6SURCUmVxdWVzdERhdGEmLCBjb25z
dCBXZWJDb3JlOjpJREJDdXJzb3JJbmZvJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9E
YXRhYmFzZVByb2Nlc3MvSW5kZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub0NsaWVudC5tZXNzYWdl
cy5pbiBiL1NvdXJjZS9XZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9JbmRleGVkREIvV2ViSURCQ29u
bmVjdGlvblRvQ2xpZW50Lm1lc3NhZ2VzLmluCmluZGV4IGNjMzg1MzguLjRlMGI1YzYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9JbmRleGVkREIvV2ViSURCQ29u
bmVjdGlvblRvQ2xpZW50Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL0RhdGFiYXNl
UHJvY2Vzcy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50Lm1lc3NhZ2VzLmluCkBA
IC0zNCw3ICszNCw3IEBAIG1lc3NhZ2VzIC0+IFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVudCB7CiAg
ICAgQ3JlYXRlSW5kZXgoV2ViQ29yZTo6SURCUmVxdWVzdERhdGEgcmVxdWVzdERhdGEsIFdlYkNv
cmU6OklEQkluZGV4SW5mbyBpbmZvKTsKICAgICBEZWxldGVJbmRleChXZWJDb3JlOjpJREJSZXF1
ZXN0RGF0YSByZXF1ZXN0RGF0YSwgdWludDY0X3Qgb2JqZWN0U3RvcmVJZGVudGlmaWVyLCBTdHJp
bmcgaW5kZXhOYW1lKTsKICAgICBQdXRPckFkZChXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSByZXF1
ZXN0RGF0YSwgV2ViQ29yZTo6SURCS2V5RGF0YSBrZXksIFdlYkNvcmU6OklEQlZhbHVlIHZhbHVl
LCB1bnNpZ25lZCBvdmVyd3JpdGVNb2RlKTsKLSAgICBHZXRSZWNvcmQoV2ViQ29yZTo6SURCUmVx
dWVzdERhdGEgcmVxdWVzdERhdGEsIHN0cnVjdCBXZWJDb3JlOjpJREJLZXlSYW5nZURhdGEgcmFu
Z2UpOworICAgIEdldFJlY29yZChXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSByZXF1ZXN0RGF0YSwg
c3RydWN0IFdlYkNvcmU6OklEQkdldFJlY29yZERhdGEgZ2V0UmVjb3JkRGF0YSk7CiAgICAgR2V0
Q291bnQoV2ViQ29yZTo6SURCUmVxdWVzdERhdGEgcmVxdWVzdERhdGEsIHN0cnVjdCBXZWJDb3Jl
OjpJREJLZXlSYW5nZURhdGEgcmFuZ2UpOwogICAgIERlbGV0ZVJlY29yZChXZWJDb3JlOjpJREJS
ZXF1ZXN0RGF0YSByZXF1ZXN0RGF0YSwgc3RydWN0IFdlYkNvcmU6OklEQktleVJhbmdlRGF0YSBy
YW5nZSk7CiAgICAgT3BlbkN1cnNvcihXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSByZXF1ZXN0RGF0
YSwgV2ViQ29yZTo6SURCQ3Vyc29ySW5mbyBpbmZvKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4ZWREQi9XZWJJREJDb25uZWN0aW9uVG9TZXJ2
ZXIuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9EYXRhYmFzZXMvSW5kZXhlZERCL1dl
YklEQkNvbm5lY3Rpb25Ub1NlcnZlci5jcHAKaW5kZXggYWRlZGU5Yi4uMWJkOGZmZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9EYXRhYmFzZXMvSW5kZXhlZERCL1dlYklE
QkNvbm5lY3Rpb25Ub1NlcnZlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9E
YXRhYmFzZXMvSW5kZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub1NlcnZlci5jcHAKQEAgLTEzOCw5
ICsxMzgsOSBAQCB2b2lkIFdlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6cHV0T3JBZGQoY29uc3Qg
SURCUmVxdWVzdERhdGEmIHJlcXVlc3REYXRhLCBjb25zdAogICAgIHNlbmQoTWVzc2FnZXM6Oldl
YklEQkNvbm5lY3Rpb25Ub0NsaWVudDo6UHV0T3JBZGQocmVxdWVzdERhdGEsIGtleURhdGEsIHZh
bHVlLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4obW9kZSkpKTsKIH0KIAotdm9pZCBXZWJJREJDb25u
ZWN0aW9uVG9TZXJ2ZXI6OmdldFJlY29yZChjb25zdCBJREJSZXF1ZXN0RGF0YSYgcmVxdWVzdERh
dGEsIGNvbnN0IElEQktleVJhbmdlRGF0YSYgcmFuZ2UpCit2b2lkIFdlYklEQkNvbm5lY3Rpb25U
b1NlcnZlcjo6Z2V0UmVjb3JkKGNvbnN0IElEQlJlcXVlc3REYXRhJiByZXF1ZXN0RGF0YSwgY29u
c3QgSURCR2V0UmVjb3JkRGF0YSYgZ2V0UmVjb3JkRGF0YSkKIHsKLSAgICBzZW5kKE1lc3NhZ2Vz
OjpXZWJJREJDb25uZWN0aW9uVG9DbGllbnQ6OkdldFJlY29yZChyZXF1ZXN0RGF0YSwgcmFuZ2Up
KTsKKyAgICBzZW5kKE1lc3NhZ2VzOjpXZWJJREJDb25uZWN0aW9uVG9DbGllbnQ6OkdldFJlY29y
ZChyZXF1ZXN0RGF0YSwgZ2V0UmVjb3JkRGF0YSkpOwogfQogCiB2b2lkIFdlYklEQkNvbm5lY3Rp
b25Ub1NlcnZlcjo6Z2V0Q291bnQoY29uc3QgSURCUmVxdWVzdERhdGEmIHJlcXVlc3REYXRhLCBj
b25zdCBJREJLZXlSYW5nZURhdGEmIHJhbmdlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9EYXRhYmFzZXMvSW5kZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub1NlcnZlci5o
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9EYXRhYmFzZXMvSW5kZXhlZERCL1dlYklEQkNv
bm5lY3Rpb25Ub1NlcnZlci5oCmluZGV4IDBlNWM1MDUuLjE1MzE2NmQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4ZWREQi9XZWJJREJDb25uZWN0
aW9uVG9TZXJ2ZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0RhdGFiYXNlcy9J
bmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRvU2VydmVyLmgKQEAgLTU3LDcgKzU3LDcgQEAgcHVi
bGljOgogICAgIHZvaWQgY3JlYXRlSW5kZXgoY29uc3QgV2ViQ29yZTo6SURCUmVxdWVzdERhdGEm
LCBjb25zdCBXZWJDb3JlOjpJREJJbmRleEluZm8mKSBmaW5hbDsKICAgICB2b2lkIGRlbGV0ZUlu
ZGV4KGNvbnN0IFdlYkNvcmU6OklEQlJlcXVlc3REYXRhJiwgdWludDY0X3Qgb2JqZWN0U3RvcmVJ
ZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGluZGV4TmFtZSkgZmluYWw7CiAgICAgdm9pZCBwdXRP
ckFkZChjb25zdCBXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSYsIGNvbnN0IFdlYkNvcmU6OklEQktl
eURhdGEmLCBjb25zdCBXZWJDb3JlOjpJREJWYWx1ZSYsIGNvbnN0IFdlYkNvcmU6OkluZGV4ZWRE
Qjo6T2JqZWN0U3RvcmVPdmVyd3JpdGVNb2RlKSBmaW5hbDsKLSAgICB2b2lkIGdldFJlY29yZChj
b25zdCBXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSYsIGNvbnN0IFdlYkNvcmU6OklEQktleVJhbmdl
RGF0YSYpIGZpbmFsOworICAgIHZvaWQgZ2V0UmVjb3JkKGNvbnN0IFdlYkNvcmU6OklEQlJlcXVl
c3REYXRhJiwgY29uc3QgV2ViQ29yZTo6SURCR2V0UmVjb3JkRGF0YSYpIGZpbmFsOwogICAgIHZv
aWQgZ2V0Q291bnQoY29uc3QgV2ViQ29yZTo6SURCUmVxdWVzdERhdGEmLCBjb25zdCBXZWJDb3Jl
OjpJREJLZXlSYW5nZURhdGEmKSBmaW5hbDsKICAgICB2b2lkIGRlbGV0ZVJlY29yZChjb25zdCBX
ZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSYsIGNvbnN0IFdlYkNvcmU6OklEQktleVJhbmdlRGF0YSYp
IGZpbmFsOwogICAgIHZvaWQgb3BlbkN1cnNvcihjb25zdCBXZWJDb3JlOjpJREJSZXF1ZXN0RGF0
YSYsIGNvbnN0IFdlYkNvcmU6OklEQkN1cnNvckluZm8mKSBmaW5hbDsK
</data>

          </attachment>
      

    </bug>

</bugzilla>