<?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>205172</bug_id>
          
          <creation_ts>2019-12-12 11:12:29 -0800</creation_ts>
          <short_desc>Add logging for MediaCapabilities.decodeInfo()</short_desc>
          <delta_ts>2019-12-12 16:49:20 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1598074</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2019-12-12 11:12:29 -0800</bug_when>
    <thetext>Add logging for MediaCapabilities.decodeInfo()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1598077</commentid>
    <comment_count>1</comment_count>
      <attachid>385515</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2019-12-12 11:23:22 -0800</bug_when>
    <thetext>Created attachment 385515
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1598097</commentid>
    <comment_count>2</comment_count>
      <attachid>385526</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2019-12-12 12:30:43 -0800</bug_when>
    <thetext>Created attachment 385526
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1598100</commentid>
    <comment_count>3</comment_count>
      <attachid>385529</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2019-12-12 12:36:37 -0800</bug_when>
    <thetext>Created attachment 385529
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1598110</commentid>
    <comment_count>4</comment_count>
      <attachid>385534</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2019-12-12 12:55:43 -0800</bug_when>
    <thetext>Created attachment 385534
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1598115</commentid>
    <comment_count>5</comment_count>
      <attachid>385538</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2019-12-12 13:16:00 -0800</bug_when>
    <thetext>Created attachment 385538
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1598195</commentid>
    <comment_count>6</comment_count>
      <attachid>385538</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-12-12 16:48:10 -0800</bug_when>
    <thetext>Comment on attachment 385538
Patch for landing

Clearing flags on attachment: 385538

Committed r253455: &lt;https://trac.webkit.org/changeset/253455&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1598196</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-12-12 16:48:13 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1598198</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-12-12 16:49:20 -0800</bug_when>
    <thetext>&lt;rdar://problem/57897009&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385515</attachid>
            <date>2019-12-12 11:23:22 -0800</date>
            <delta_ts>2019-12-12 12:30:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205172-20191212112321.patch</filename>
            <type>text/plain</type>
            <size>21513</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzMTU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2ExNWEwNWQxZjNhOGE4
ODRhNDNhYWJhNGYzMDQzY2NkMzk0YjgzNS4uYzFiNzk0NjdmYzQxZDU2Njg3Y2JlNGQxZDhiYWE5
M2U4NTJkNTZmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDE5LTEyLTEyICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBsb2dnaW5nIGZvciBN
ZWRpYUNhcGFiaWxpdGllcy5kZWNvZGVJbmZvKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTE3MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFkZCBsb2dnaW5nIGZvciBkZWNvZGluZ0luZm8oKSB0aGF0
IGNhbiBlbWl0IHN0cmluZyB2ZXJzaW9ucyBvZiBib3RoIHRoZSBpbnB1dAorICAgICAgICBNZWRp
YUNvbmZpZ3VyYXRpb24gYW5kIHRoZSBvdXRwdXQgTWVkaWFDYXBhYmlsaXRpZXNJbmZvIG9iamVj
dHMuCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0
aWVzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ2FwYWJpbGl0aWVzOjpkZWNvZGluZ0lu
Zm8pOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9N
ZWRpYUNhcGFiaWxpdGllc0xvZ2dpbmcuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OnRv
SlNPTk9iamVjdCk6CisgICAgICAgIChXZWJDb3JlOjp0b0pTT05TdHJpbmcpOgorICAgICAgICAo
V1RGOjpMb2dBcmd1bWVudDxXZWJDb3JlOjpWaWRlb0NvbmZpZ3VyYXRpb24+Ojp0b1N0cmluZyk6
CisgICAgICAgIChXVEY6OkxvZ0FyZ3VtZW50PFdlYkNvcmU6OkF1ZGlvQ29uZmlndXJhdGlvbj46
OnRvU3RyaW5nKToKKyAgICAgICAgKFdURjo6TG9nQXJndW1lbnQ8V2ViQ29yZTo6TWVkaWFDb25m
aWd1cmF0aW9uPjo6dG9TdHJpbmcpOgorICAgICAgICAoV1RGOjpMb2dBcmd1bWVudDxXZWJDb3Jl
OjpNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbj46OnRvU3RyaW5nKToKKyAgICAgICAgKFdURjo6
TG9nQXJndW1lbnQ8V2ViQ29yZTo6TWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24+Ojp0b1N0cmlu
Zyk6CisgICAgICAgIChXVEY6OkxvZ0FyZ3VtZW50PFdlYkNvcmU6Ok1lZGlhQ2FwYWJpbGl0aWVz
SW5mbz46OnRvU3RyaW5nKToKKyAgICAgICAgKFdURjo6TG9nQXJndW1lbnQ8V2ViQ29yZTo6TWVk
aWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8+Ojp0b1N0cmluZyk6CisgICAgICAgIChXVEY6Okxv
Z0FyZ3VtZW50PFdlYkNvcmU6Ok1lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvPjo6dG9TdHJp
bmcpOgorICAgICAgICAoV1RGOjpMb2dBcmd1bWVudDxXZWJDb3JlOjpDb2xvckdhbXV0Pjo6dG9T
dHJpbmcpOgorICAgICAgICAoV1RGOjpMb2dBcmd1bWVudDxXZWJDb3JlOjpIZHJNZXRhZGF0YVR5
cGU+Ojp0b1N0cmluZyk6CisgICAgICAgIChXVEY6OkxvZ0FyZ3VtZW50PFdlYkNvcmU6OlRyYW5z
ZmVyRnVuY3Rpb24+Ojp0b1N0cmluZyk6CisgICAgICAgIChXVEY6OkxvZ0FyZ3VtZW50PFdlYkNv
cmU6Ok1lZGlhRGVjb2RpbmdUeXBlPjo6dG9TdHJpbmcpOgorICAgICAgICAoV1RGOjpMb2dBcmd1
bWVudDxXZWJDb3JlOjpNZWRpYUVuY29kaW5nVHlwZT46OnRvU3RyaW5nKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllc0xvZ2dpbmcuaDogQWRk
ZWQuCisKIDIwMTktMTItMDIgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAg
ICAgICAgQWRvcHQgQVZDb250ZW50S2V5UmVwb3J0R3JvdXAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXMuY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGll
cy5jcHAKaW5kZXggMjYzYzA2ZmE3YjU1OTc4NjRlYWYzMWE5NDU5ZTUzY2IwYjIzMTFjNC4uOGY2
MTFlMmRhMDdhNmY0MGU2ZDRjNmMyNTFkMTE3NGZmMTdhODA0YiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFi
aWxpdGllcy5jcHAKQEAgLTMzLDExICszMywxMyBAQAogI2luY2x1ZGUgIkpTTWVkaWFDYXBhYmls
aXRpZXNFbmNvZGluZ0luZm8uaCIKICNpbmNsdWRlICJNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5n
SW5mby5oIgogI2luY2x1ZGUgIk1lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvLmgiCisjaW5j
bHVkZSAiTWVkaWFDYXBhYmlsaXRpZXNMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTWVkaWFEZWNvZGlu
Z0NvbmZpZ3VyYXRpb24uaCIKICNpbmNsdWRlICJNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbi5o
IgogI2luY2x1ZGUgIk1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkuaCIKICNpbmNsdWRl
ICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CisjaW5jbHVkZSA8d3RmL0xv
Z2dlci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTE2NywxMCArMTY5LDE0IEBAIHZv
aWQgTWVkaWFDYXBhYmlsaXRpZXM6OmRlY29kaW5nSW5mbyhEb2N1bWVudCYgZG9jdW1lbnQsIE1l
ZGlhRGVjb2RpbmdDb25maWd1cmF0CiAgICAgLy8gMi40IE1lZGlhIENhcGFiaWxpdGllcyBJbnRl
cmZhY2UKICAgICAvLyBodHRwczovL3dpY2cuZ2l0aHViLmlvL21lZGlhLWNhcGFiaWxpdGllcy8j
bWVkaWEtY2FwYWJpbGl0aWVzLWludGVyZmFjZQogCisgICAgYXV0byBpZGVudGlmaWVyID0gV1RG
OjpMb2dnZXI6OkxvZ1NpdGVJZGVudGlmaWVyKCJNZWRpYUNhcGFiaWxpdGllcyIsIF9fZnVuY19f
LCB0aGlzKTsKKyAgICBSZWY8TG9nZ2VyPiBsb2dnZXIgPSBkb2N1bWVudC5sb2dnZXIoKTsKKwog
ICAgIC8vIDEuIElmIGNvbmZpZ3VyYXRpb24gaXMgbm90IGEgdmFsaWQgTWVkaWFDb25maWd1cmF0
aW9uLCByZXR1cm4gYSBQcm9taXNlIHJlamVjdGVkIHdpdGggYSBUeXBlRXJyb3IuCiAgICAgLy8g
Mi4gSWYgY29uZmlndXJhdGlvbi52aWRlbyBpcyBwcmVzZW50IGFuZCBpcyBub3QgYSB2YWxpZCB2
aWRlbyBjb25maWd1cmF0aW9uLCByZXR1cm4gYSBQcm9taXNlIHJlamVjdGVkIHdpdGggYSBUeXBl
RXJyb3IuCiAgICAgLy8gMy4gSWYgY29uZmlndXJhdGlvbi5hdWRpbyBpcyBwcmVzZW50IGFuZCBp
cyBub3QgYSB2YWxpZCBhdWRpbyBjb25maWd1cmF0aW9uLCByZXR1cm4gYSBQcm9taXNlIHJlamVj
dGVkIHdpdGggYSBUeXBlRXJyb3IuCiAgICAgaWYgKCFpc1ZhbGlkTWVkaWFDb25maWd1cmF0aW9u
KGNvbmZpZ3VyYXRpb24pKSB7CisgICAgICAgIGxvZ2dlci0+aW5mbyhMb2dNZWRpYSwgaWRlbnRp
ZmllciwgIiAtIFJlamVjdGVkLiBjb25maWd1cmF0aW9uOiAiLCBjb25maWd1cmF0aW9uKTsKICAg
ICAgICAgcHJvbWlzZS0+cmVqZWN0KFR5cGVFcnJvcik7CiAgICAgICAgIHJldHVybjsKICAgICB9
CkBAIC0xODEsMTAgKzE4NywxMCBAQCB2b2lkIE1lZGlhQ2FwYWJpbGl0aWVzOjpkZWNvZGluZ0lu
Zm8oRG9jdW1lbnQmIGRvY3VtZW50LCBNZWRpYURlY29kaW5nQ29uZmlndXJhdAogICAgIC8vIDQu
IExldCBwIGJlIGEgbmV3IHByb21pc2UuCiAgICAgLy8gNS4gSW4gcGFyYWxsZWwsIHJ1biB0aGUg
Y3JlYXRlIGEgTWVkaWFDYXBhYmlsaXRpZXNJbmZvIGFsZ29yaXRobSB3aXRoIGNvbmZpZ3VyYXRp
b24gYW5kIHJlc29sdmUgcCB3aXRoIGl0cyByZXN1bHQuCiAgICAgLy8gNi4gUmV0dXJuIHAuCi0g
ICAgbV90YXNrUXVldWUuZW5xdWV1ZVRhc2soW2NvbmZpZ3VyYXRpb24gPSBXVEZNb3ZlKGNvbmZp
Z3VyYXRpb24pLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0gKCkgbXV0YWJsZSB7CisgICAg
bV90YXNrUXVldWUuZW5xdWV1ZVRhc2soW2NvbmZpZ3VyYXRpb24gPSBXVEZNb3ZlKGNvbmZpZ3Vy
YXRpb24pLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKSwgbG9nZ2VyID0gV1RGTW92ZShsb2dn
ZXIpLCBpZGVudGlmaWVyID0gV1RGTW92ZShpZGVudGlmaWVyKV0gKCkgbXV0YWJsZSB7CiAKICAg
ICAgICAgLy8gMi4yLjMgSWYgY29uZmlndXJhdGlvbiBpcyBvZiB0eXBlIE1lZGlhRGVjb2RpbmdD
b25maWd1cmF0aW9uLCBydW4gdGhlIGZvbGxvd2luZyBzdWJzdGVwczoKLSAgICAgICAgTWVkaWFF
bmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6RGVjb2RpbmdDb25maWd1cmF0aW9uQ2FsbGJhY2sg
Y2FsbGJhY2sgPSBbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldIChhdXRvIGluZm8pIG11dGFi
bGUgeworICAgICAgICBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpEZWNvZGluZ0Nv
bmZpZ3VyYXRpb25DYWxsYmFjayBjYWxsYmFjayA9IFtwcm9taXNlID0gV1RGTW92ZShwcm9taXNl
KSwgbG9nZ2VyID0gV1RGTW92ZShsb2dnZXIpLCBpZGVudGlmaWVyID0gV1RGTW92ZShpZGVudGlm
aWVyKV0gKGF1dG8gaW5mbykgbXV0YWJsZSB7CiAgICAgICAgICAgICAvLyAyLjIuMy4xLiBJZiB0
aGUgdXNlciBhZ2VudCBpcyBhYmxlIHRvIGRlY29kZSB0aGUgbWVkaWEgcmVwcmVzZW50ZWQgYnkK
ICAgICAgICAgICAgIC8vIGNvbmZpZ3VyYXRpb24sIHNldCBzdXBwb3J0ZWQgdG8gdHJ1ZS4gT3Ro
ZXJ3aXNlIHNldCBpdCB0byBmYWxzZS4KICAgICAgICAgICAgIC8vIDIuMi4zLjIuIElmIHRoZSB1
c2VyIGFnZW50IGlzIGFibGUgdG8gZGVjb2RlIHRoZSBtZWRpYSByZXByZXNlbnRlZCBieQpAQCAt
MTk2LDYgKzIwMiw3IEBAIHZvaWQgTWVkaWFDYXBhYmlsaXRpZXM6OmRlY29kaW5nSW5mbyhEb2N1
bWVudCYgZG9jdW1lbnQsIE1lZGlhRGVjb2RpbmdDb25maWd1cmF0CiAgICAgICAgICAgICAvLyBj
b25zaWRlcmF0aW9uIHRoZSBjdXJyZW50IHBvd2VyIHNvdXJjZSBpbiBvcmRlciB0byBkZXRlcm1p
bmUgdGhlCiAgICAgICAgICAgICAvLyBkZWNvZGluZyBwb3dlciBlZmZpY2llbmN5IHVubGVzcyB0
aGUgZGV2aWNl4oCZcyBwb3dlciBzb3VyY2UgaGFzIHNpZGUKICAgICAgICAgICAgIC8vIGVmZmVj
dHMgc3VjaCBhcyBlbmFibGluZyBkaWZmZXJlbnQgZGVjb2RpbmcgbW9kdWxlcy4KKyAgICAgICAg
ICAgIGxvZ2dlci0+aW5mbyhMb2dNZWRpYSwgaWRlbnRpZmllciwgIjo6Y2FsbGJhY2soKSAtIFJl
c29sdmVkLiBpbmZvOiAiLCBpbmZvKTsKICAgICAgICAgICAgIHByb21pc2UtPnJlc29sdmU8SURM
RGljdGlvbmFyeTxNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mbz4+KFdURk1vdmUoaW5mbykp
OwogICAgICAgICB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBi
L1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IDkxNzQ4N2UxMWQzYTNhNmRlZmU1NGVk
MDdiN2ZiOGJjZTk3OWRmZjMuLmE4NGNkMzkyMDAwMDZiOTJkNTVlYjdlOTQ5NGEwODJmMWY2MDk1
ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0xOTU0LDYgKzE5NTQsNyBAQCBwbGF0Zm9ybS9ncmFwaGlj
cy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmNwcAogcGxhdGZvcm0vZ3JhcGhpY3Mv
dHJhbnNmb3Jtcy9UcmFuc2xhdGVUcmFuc2Zvcm1PcGVyYXRpb24uY3BwCiAKIHBsYXRmb3JtL21l
ZGlhY2FwYWJpbGl0aWVzL01lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkuY3BwCitwbGF0
Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllc0xvZ2dpbmcuY3BwCiAKIHBs
YXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGVNb2NrLmNwcAogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXgg
MzRmNzMyODZiNzdkODQxOWRlNDE5YWM2MWFlZTQ1ZWMzNTI0MjMyMi4uZDk2ZDVjODE1MmVhOGYy
MWMwZGM5YjA5MDZjMTc1NTkwMGYxYjc4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTM3MDEsNiArMTM3MDEsOCBAQAogCQlD
RDJGNEEyMjE4RDg5RjcwMDA2Mzc0NkQgLyogQXVkaW9IYXJkd2FyZUxpc3RlbmVyLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEF1ZGlvSGFyZHdhcmVMaXN0ZW5lci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRDJGNEEyNTE4RDhBMzQ5MDA2Mzc0NkQgLyogQXVk
aW9IYXJkd2FyZUxpc3RlbmVyTWFjLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEF1ZGlvSGFyZHdhcmVMaXN0ZW5lck1hYy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUNEMkY0QTI2MThEOEEzNDkwMDYzNzQ2RCAvKiBBdWRpb0hhcmR3YXJlTGlzdGVu
ZXJNYWMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXVkaW9IYXJkd2FyZUxp
c3RlbmVyTWFjLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNEMzBCMjg2MjNBMTcz
QUEwMEQ3NDg4QiAvKiBNZWRpYUNhcGFiaWxpdGllc0xvZ2dpbmcuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0g
TWVkaWFDYXBhYmlsaXRpZXNMb2dnaW5nLmg7IHBhdGggPSBtZWRpYWNhcGFiaWxpdGllcy9NZWRp
YUNhcGFiaWxpdGllc0xvZ2dpbmcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0Qz
MEIyODcyM0ExNzNBQTAwRDc0ODhCIC8qIE1lZGlhQ2FwYWJpbGl0aWVzTG9nZ2luZy5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IG5hbWUgPSBNZWRpYUNhcGFiaWxpdGllc0xvZ2dpbmcuY3BwOyBwYXRoID0gbWVk
aWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXNMb2dnaW5nLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQ0QzMTg2MjAxOTlGMUUyQTAwMzBBMEY3IC8qIENETVByaXZhdGVN
ZWRpYVNvdXJjZUFWRk9iakMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBDRE1Qcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlDRDMxODYyMTE5OUYxRTJBMDAzMEEwRjcgLyogQ0RNUHJpdmF0ZU1lZGlhU291
cmNlQVZGT2JqQy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDRE1Qcml2YXRl
TWVkaWFTb3VyY2VBVkZPYmpDLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNEMzJB
MTg5MTg0RUI0NkEwMDI5QjFCQiAvKiBtZWRpYUNvbnRyb2xzaU9TLmpzICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5qYXZhc2NyaXB0OyBwYXRoID0gbWVkaWFDb250cm9sc2lPUy5qczsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIyNjAyLDYgKzIyNjA0LDggQEAKIAkJCQlDRENDOUJDRTIy
Mzg3RTlBMDBGRkI1MUMgLyogTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8uaCAqLywKIAkJ
CQlDRENDOUJEMDIyMzg3RUFBMDBGRkI1MUMgLyogTWVkaWFDYXBhYmlsaXRpZXNFbmNvZGluZ0lu
Zm8uaCAqLywKIAkJCQlDRDBDOEI1ODIxNDFDOENBMDA2MkY1OUQgLyogTWVkaWFDYXBhYmlsaXRp
ZXNJbmZvLmggKi8sCisJCQkJQ0QzMEIyODcyM0ExNzNBQTAwRDc0ODhCIC8qIE1lZGlhQ2FwYWJp
bGl0aWVzTG9nZ2luZy5jcHAgKi8sCisJCQkJQ0QzMEIyODYyM0ExNzNBQTAwRDc0ODhCIC8qIE1l
ZGlhQ2FwYWJpbGl0aWVzTG9nZ2luZy5oICovLAogCQkJCUNEQkQzRDM1MUZFODVDQkYwMDEyQzU0
NSAvKiBNZWRpYUNvbmZpZ3VyYXRpb24uaCAqLywKIAkJCQlDREJEM0QzNjFGRTg1Q0MwMDAxMkM1
NDUgLyogTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24uaCAqLywKIAkJCQlDREJEM0QzODFGRTg1
Q0MwMDAxMkM1NDUgLyogTWVkaWFEZWNvZGluZ1R5cGUuaCAqLywKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzTG9n
Z2luZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRp
YUNhcGFiaWxpdGllc0xvZ2dpbmcuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZlMzM0NTI0YzIyZjhmZTE1MjY3
ZDhkYjI1OGRhNGYwMWM4NmY0YjUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllc0xvZ2dpbmcuY3BwCkBA
IC0wLDAgKzEsMjMxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1
ZGUgIk1lZGlhQ2FwYWJpbGl0aWVzTG9nZ2luZy5oIgorCisjaW5jbHVkZSAiQXVkaW9Db25maWd1
cmF0aW9uLmgiCisjaW5jbHVkZSAiSlNDb2xvckdhbXV0LmgiCisjaW5jbHVkZSAiSlNIZHJNZXRh
ZGF0YVR5cGUuaCIKKyNpbmNsdWRlICJKU01lZGlhRGVjb2RpbmdUeXBlLmgiCisjaW5jbHVkZSAi
SlNNZWRpYUVuY29kaW5nVHlwZS5oIgorI2luY2x1ZGUgIkpTVHJhbnNmZXJGdW5jdGlvbi5oIgor
I2luY2x1ZGUgIk1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvLmgiCisjaW5jbHVkZSAiTWVk
aWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm8uaCIKKyNpbmNsdWRlICJNZWRpYURlY29kaW5nQ29u
ZmlndXJhdGlvbi5oIgorI2luY2x1ZGUgIk1lZGlhRGVjb2RpbmdUeXBlLmgiCisjaW5jbHVkZSAi
TWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24uaCIKKyNpbmNsdWRlICJNZWRpYUVuY29kaW5nVHlw
ZS5oIgorI2luY2x1ZGUgIlZpZGVvQ29uZmlndXJhdGlvbi5oIgorI2luY2x1ZGUgPHd0Zi9KU09O
VmFsdWVzLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RhdGljIFJlZjxKU09OOjpPYmpl
Y3Q+IHRvSlNPTk9iamVjdChjb25zdCBWaWRlb0NvbmZpZ3VyYXRpb24mIGNvbmZpZ3VyYXRpb24p
Cit7CisgICAgYXV0byBvYmplY3QgPSBKU09OOjpPYmplY3Q6OmNyZWF0ZSgpOworICAgIG9iamVj
dC0+c2V0U3RyaW5nKCJjb250ZW50VHlwZSJfcywgY29uZmlndXJhdGlvbi5jb250ZW50VHlwZSk7
CisgICAgb2JqZWN0LT5zZXRJbnRlZ2VyKCJ3aWR0aCJfcywgY29uZmlndXJhdGlvbi53aWR0aCk7
CisgICAgb2JqZWN0LT5zZXRJbnRlZ2VyKCJoZWlnaHQiX3MsIGNvbmZpZ3VyYXRpb24uaGVpZ2h0
KTsKKyAgICBvYmplY3QtPnNldEludGVnZXIoImJpdHJhdGUiX3MsIGNvbmZpZ3VyYXRpb24uYml0
cmF0ZSk7CisgICAgb2JqZWN0LT5zZXREb3VibGUoImZyYW1lcmF0ZSJfcywgY29uZmlndXJhdGlv
bi5mcmFtZXJhdGUpOworICAgIGlmIChjb25maWd1cmF0aW9uLmFscGhhQ2hhbm5lbCkKKyAgICAg
ICAgb2JqZWN0LT5zZXRCb29sZWFuKCJhbHBoYUNoYW5uZWwiX3MsIGNvbmZpZ3VyYXRpb24uYWxw
aGFDaGFubmVsLnZhbHVlKCkpOworICAgIGlmIChjb25maWd1cmF0aW9uLmNvbG9yR2FtdXQpCisg
ICAgICAgIG9iamVjdC0+c2V0U3RyaW5nKCJjb2xvckdhbXV0Il9zLCBjb252ZXJ0RW51bWVyYXRp
b25Ub1N0cmluZyhjb25maWd1cmF0aW9uLmNvbG9yR2FtdXQudmFsdWUoKSkpOworICAgIGlmIChj
b25maWd1cmF0aW9uLmhkck1ldGFkYXRhVHlwZSkKKyAgICAgICAgb2JqZWN0LT5zZXRTdHJpbmco
Imhkck1ldGFkYXRhVHlwZSJfcywgY29udmVydEVudW1lcmF0aW9uVG9TdHJpbmcoY29uZmlndXJh
dGlvbi5oZHJNZXRhZGF0YVR5cGUudmFsdWUoKSkpOworICAgIGlmIChjb25maWd1cmF0aW9uLnRy
YW5zZmVyRnVuY3Rpb24pCisgICAgICAgIG9iamVjdC0+c2V0U3RyaW5nKCJ0cmFuc2ZlckZ1bmN0
aW9uIl9zLCBjb252ZXJ0RW51bWVyYXRpb25Ub1N0cmluZyhjb25maWd1cmF0aW9uLnRyYW5zZmVy
RnVuY3Rpb24udmFsdWUoKSkpOworICAgIHJldHVybiBvYmplY3Q7Cit9CisKK3N0YXRpYyBSZWY8
SlNPTjo6T2JqZWN0PiB0b0pTT05PYmplY3QoY29uc3QgQXVkaW9Db25maWd1cmF0aW9uJiBjb25m
aWd1cmF0aW9uKQoreworICAgIGF1dG8gb2JqZWN0ID0gSlNPTjo6T2JqZWN0OjpjcmVhdGUoKTsK
KyAgICBvYmplY3QtPnNldFN0cmluZygiY29udGVudFR5cGUiX3MsIGNvbmZpZ3VyYXRpb24uY29u
dGVudFR5cGUpOworICAgIG9iamVjdC0+c2V0U3RyaW5nKCJjaGFubmVscyJfcywgY29uZmlndXJh
dGlvbi5jaGFubmVscyk7CisgICAgb2JqZWN0LT5zZXRJbnRlZ2VyKCJiaXRyYXRlIl9zLCBjb25m
aWd1cmF0aW9uLmJpdHJhdGUpOworICAgIG9iamVjdC0+c2V0RG91YmxlKCJzYW1wbGVyYXRlIl9z
LCBjb25maWd1cmF0aW9uLnNhbXBsZXJhdGUpOworICAgIHJldHVybiBvYmplY3Q7Cit9CisKK3N0
YXRpYyBSZWY8SlNPTjo6T2JqZWN0PiB0b0pTT05PYmplY3QoY29uc3QgTWVkaWFDb25maWd1cmF0
aW9uJiBjb25maWd1cmF0aW9uKQoreworICAgIGF1dG8gb2JqZWN0ID0gSlNPTjo6T2JqZWN0Ojpj
cmVhdGUoKTsKKyAgICBpZiAoY29uZmlndXJhdGlvbi52aWRlbykKKyAgICAgICAgb2JqZWN0LT5z
ZXRWYWx1ZSgidmlkZW8iX3MsIHRvSlNPTk9iamVjdChjb25maWd1cmF0aW9uLnZpZGVvLnZhbHVl
KCkpKTsKKyAgICBpZiAoY29uZmlndXJhdGlvbi5hdWRpbykKKyAgICAgICAgb2JqZWN0LT5zZXRW
YWx1ZSgiYXVkaW8iX3MsIHRvSlNPTk9iamVjdChjb25maWd1cmF0aW9uLmF1ZGlvLnZhbHVlKCkp
KTsKKyAgICByZXR1cm4gb2JqZWN0OworfQorCitzdGF0aWMgUmVmPEpTT046Ok9iamVjdD4gdG9K
U09OT2JqZWN0KGNvbnN0IE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uJiBjb25maWd1cmF0aW9u
KQoreworICAgIGF1dG8gb2JqZWN0ID0gdG9KU09OT2JqZWN0KHN0YXRpY19jYXN0PGNvbnN0IE1l
ZGlhQ29uZmlndXJhdGlvbiY+KGNvbmZpZ3VyYXRpb24pKTsKKyAgICBvYmplY3QtPnNldFN0cmlu
ZygidHlwZSJfcywgY29udmVydEVudW1lcmF0aW9uVG9TdHJpbmcoY29uZmlndXJhdGlvbi50eXBl
KSk7CisgICAgcmV0dXJuIG9iamVjdDsKK30KKworc3RhdGljIFJlZjxKU09OOjpPYmplY3Q+IHRv
SlNPTk9iamVjdChjb25zdCBNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbiYgY29uZmlndXJhdGlv
bikKK3sKKyAgICBhdXRvIG9iamVjdCA9IHRvSlNPTk9iamVjdChzdGF0aWNfY2FzdDxjb25zdCBN
ZWRpYUNvbmZpZ3VyYXRpb24mPihjb25maWd1cmF0aW9uKSk7CisgICAgb2JqZWN0LT5zZXRTdHJp
bmcoInR5cGUiX3MsIGNvbnZlcnRFbnVtZXJhdGlvblRvU3RyaW5nKGNvbmZpZ3VyYXRpb24udHlw
ZSkpOworICAgIHJldHVybiBvYmplY3Q7Cit9CisKK3N0YXRpYyBSZWY8SlNPTjo6T2JqZWN0PiB0
b0pTT05PYmplY3QoY29uc3QgTWVkaWFDYXBhYmlsaXRpZXNJbmZvJiBpbmZvKQoreworICAgIGF1
dG8gb2JqZWN0ID0gSlNPTjo6T2JqZWN0OjpjcmVhdGUoKTsKKyAgICBvYmplY3QtPnNldEJvb2xl
YW4oInN1cHBvcnRlZCJfcywgaW5mby5zdXBwb3J0ZWQpOworICAgIG9iamVjdC0+c2V0Qm9vbGVh
bigic21vb3RoIl9zLCBpbmZvLnNtb290aCk7CisgICAgb2JqZWN0LT5zZXRCb29sZWFuKCJwb3dl
ckVmZmljaWVudCJfcywgaW5mby5wb3dlckVmZmljaWVudCk7CisgICAgcmV0dXJuIG9iamVjdDsK
K30KKworc3RhdGljIFJlZjxKU09OOjpPYmplY3Q+IHRvSlNPTk9iamVjdChjb25zdCBNZWRpYUNh
cGFiaWxpdGllc0RlY29kaW5nSW5mbyYgaW5mbykKK3sKKyAgICBhdXRvIG9iamVjdCA9IHRvSlNP
Tk9iamVjdChzdGF0aWNfY2FzdDxjb25zdCBNZWRpYUNhcGFiaWxpdGllc0luZm8mPihpbmZvKSk7
CisgICAgb2JqZWN0LT5zZXRWYWx1ZSgic3VwcG9ydGVkQ29uZmlndXJhdGlvbiJfcywgdG9KU09O
T2JqZWN0KGluZm8uc3VwcG9ydGVkQ29uZmlndXJhdGlvbikpOworICAgIHJldHVybiBvYmplY3Q7
Cit9CisKK3N0YXRpYyBSZWY8SlNPTjo6T2JqZWN0PiB0b0pTT05PYmplY3QoY29uc3QgTWVkaWFD
YXBhYmlsaXRpZXNFbmNvZGluZ0luZm8mIGluZm8pCit7CisgICAgYXV0byBvYmplY3QgPSB0b0pT
T05PYmplY3Qoc3RhdGljX2Nhc3Q8Y29uc3QgTWVkaWFDYXBhYmlsaXRpZXNJbmZvJj4oaW5mbykp
OworICAgIG9iamVjdC0+c2V0VmFsdWUoInN1cHBvcnRlZENvbmZpZ3VyYXRpb24iX3MsIHRvSlNP
Tk9iamVjdChpbmZvLnN1cHBvcnRlZENvbmZpZ3VyYXRpb24pKTsKKyAgICByZXR1cm4gb2JqZWN0
OworfQorCitzdGF0aWMgU3RyaW5nIHRvSlNPTlN0cmluZyhjb25zdCBWaWRlb0NvbmZpZ3VyYXRp
b24mIGNvbmZpZ3VyYXRpb24pCit7CisgICAgcmV0dXJuIHRvSlNPTk9iamVjdChjb25maWd1cmF0
aW9uKS0+dG9KU09OU3RyaW5nKCk7Cit9CisKK3N0YXRpYyBTdHJpbmcgdG9KU09OU3RyaW5nKGNv
bnN0IEF1ZGlvQ29uZmlndXJhdGlvbiYgY29uZmlndXJhdGlvbikKK3sKKyAgICByZXR1cm4gdG9K
U09OT2JqZWN0KGNvbmZpZ3VyYXRpb24pLT50b0pTT05TdHJpbmcoKTsKK30KKworc3RhdGljIFN0
cmluZyB0b0pTT05TdHJpbmcoY29uc3QgTWVkaWFDb25maWd1cmF0aW9uJiBjb25maWd1cmF0aW9u
KQoreworICAgIHJldHVybiB0b0pTT05PYmplY3QoY29uZmlndXJhdGlvbiktPnRvSlNPTlN0cmlu
ZygpOworfQorCitzdGF0aWMgU3RyaW5nIHRvSlNPTlN0cmluZyhjb25zdCBNZWRpYURlY29kaW5n
Q29uZmlndXJhdGlvbiYgY29uZmlndXJhdGlvbikKK3sKKyAgICByZXR1cm4gdG9KU09OT2JqZWN0
KGNvbmZpZ3VyYXRpb24pLT50b0pTT05TdHJpbmcoKTsKK30KKworc3RhdGljIFN0cmluZyB0b0pT
T05TdHJpbmcoY29uc3QgTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24mIGNvbmZpZ3VyYXRpb24p
Cit7CisgICAgcmV0dXJuIHRvSlNPTk9iamVjdChjb25maWd1cmF0aW9uKS0+dG9KU09OU3RyaW5n
KCk7Cit9CisKK3N0YXRpYyBTdHJpbmcgdG9KU09OU3RyaW5nKGNvbnN0IE1lZGlhQ2FwYWJpbGl0
aWVzSW5mbyYgaW5mbykKK3sKKyAgICByZXR1cm4gdG9KU09OT2JqZWN0KGluZm8pLT50b0pTT05T
dHJpbmcoKTsKK30KKworc3RhdGljIFN0cmluZyB0b0pTT05TdHJpbmcoY29uc3QgTWVkaWFDYXBh
YmlsaXRpZXNEZWNvZGluZ0luZm8mIGluZm8pCit7CisgICAgcmV0dXJuIHRvSlNPTk9iamVjdChp
bmZvKS0+dG9KU09OU3RyaW5nKCk7Cit9CisKK3N0YXRpYyBTdHJpbmcgdG9KU09OU3RyaW5nKGNv
bnN0IE1lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvJiBpbmZvKQoreworICAgIHJldHVybiB0
b0pTT05PYmplY3QoaW5mbyktPnRvSlNPTlN0cmluZygpOworfQorCit9CisKK25hbWVzcGFjZSBX
VEYgeworCitTdHJpbmcgTG9nQXJndW1lbnQ8V2ViQ29yZTo6VmlkZW9Db25maWd1cmF0aW9uPjo6
dG9TdHJpbmcoY29uc3QgV2ViQ29yZTo6VmlkZW9Db25maWd1cmF0aW9uJiBjb25maWd1cmF0aW9u
KQoreworICAgIHJldHVybiB0b0pTT05TdHJpbmcoY29uZmlndXJhdGlvbik7Cit9CisKK1N0cmlu
ZyBMb2dBcmd1bWVudDxXZWJDb3JlOjpBdWRpb0NvbmZpZ3VyYXRpb24+Ojp0b1N0cmluZyhjb25z
dCBXZWJDb3JlOjpBdWRpb0NvbmZpZ3VyYXRpb24mIGNvbmZpZ3VyYXRpb24pCit7CisgICAgcmV0
dXJuIHRvSlNPTlN0cmluZyhjb25maWd1cmF0aW9uKTsKK30KKworU3RyaW5nIExvZ0FyZ3VtZW50
PFdlYkNvcmU6Ok1lZGlhQ29uZmlndXJhdGlvbj46OnRvU3RyaW5nKGNvbnN0IFdlYkNvcmU6Ok1l
ZGlhQ29uZmlndXJhdGlvbiYgY29uZmlndXJhdGlvbikKK3sKKyAgICByZXR1cm4gdG9KU09OU3Ry
aW5nKGNvbmZpZ3VyYXRpb24pOworfQorCitTdHJpbmcgTG9nQXJndW1lbnQ8V2ViQ29yZTo6TWVk
aWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24+Ojp0b1N0cmluZyhjb25zdCBXZWJDb3JlOjpNZWRpYURl
Y29kaW5nQ29uZmlndXJhdGlvbiYgY29uZmlndXJhdGlvbikKK3sKKyAgICByZXR1cm4gdG9KU09O
U3RyaW5nKGNvbmZpZ3VyYXRpb24pOworfQorCitTdHJpbmcgTG9nQXJndW1lbnQ8V2ViQ29yZTo6
TWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24+Ojp0b1N0cmluZyhjb25zdCBXZWJDb3JlOjpNZWRp
YUVuY29kaW5nQ29uZmlndXJhdGlvbiYgY29uZmlndXJhdGlvbikKK3sKKyAgICByZXR1cm4gdG9K
U09OU3RyaW5nKGNvbmZpZ3VyYXRpb24pOworfQorCitTdHJpbmcgTG9nQXJndW1lbnQ8V2ViQ29y
ZTo6TWVkaWFDYXBhYmlsaXRpZXNJbmZvPjo6dG9TdHJpbmcoY29uc3QgV2ViQ29yZTo6TWVkaWFD
YXBhYmlsaXRpZXNJbmZvJiBpbmZvKQoreworICAgIHJldHVybiB0b0pTT05TdHJpbmcoaW5mbyk7
Cit9CisKK1N0cmluZyBMb2dBcmd1bWVudDxXZWJDb3JlOjpNZWRpYUNhcGFiaWxpdGllc0RlY29k
aW5nSW5mbz46OnRvU3RyaW5nKGNvbnN0IFdlYkNvcmU6Ok1lZGlhQ2FwYWJpbGl0aWVzRGVjb2Rp
bmdJbmZvJiBpbmZvKQoreworICAgIHJldHVybiB0b0pTT05TdHJpbmcoaW5mbyk7Cit9CisKK1N0
cmluZyBMb2dBcmd1bWVudDxXZWJDb3JlOjpNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mbz46
OnRvU3RyaW5nKGNvbnN0IFdlYkNvcmU6Ok1lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvJiBp
bmZvKQoreworICAgIHJldHVybiB0b0pTT05TdHJpbmcoaW5mbyk7Cit9CisKK1N0cmluZyBMb2dB
cmd1bWVudDxXZWJDb3JlOjpDb2xvckdhbXV0Pjo6dG9TdHJpbmcoY29uc3QgV2ViQ29yZTo6Q29s
b3JHYW11dCYgdHlwZSkKK3sKKyAgICByZXR1cm4gY29udmVydEVudW1lcmF0aW9uVG9TdHJpbmco
dHlwZSk7Cit9CisKK1N0cmluZyBMb2dBcmd1bWVudDxXZWJDb3JlOjpIZHJNZXRhZGF0YVR5cGU+
Ojp0b1N0cmluZyhjb25zdCBXZWJDb3JlOjpIZHJNZXRhZGF0YVR5cGUmIHR5cGUpCit7CisgICAg
cmV0dXJuIGNvbnZlcnRFbnVtZXJhdGlvblRvU3RyaW5nKHR5cGUpOworfQorCitTdHJpbmcgTG9n
QXJndW1lbnQ8V2ViQ29yZTo6VHJhbnNmZXJGdW5jdGlvbj46OnRvU3RyaW5nKGNvbnN0IFdlYkNv
cmU6OlRyYW5zZmVyRnVuY3Rpb24mIHR5cGUpCit7CisgICAgcmV0dXJuIGNvbnZlcnRFbnVtZXJh
dGlvblRvU3RyaW5nKHR5cGUpOworfQorCitTdHJpbmcgTG9nQXJndW1lbnQ8V2ViQ29yZTo6TWVk
aWFEZWNvZGluZ1R5cGU+Ojp0b1N0cmluZyhjb25zdCBXZWJDb3JlOjpNZWRpYURlY29kaW5nVHlw
ZSYgdHlwZSkKK3sKKyAgICByZXR1cm4gY29udmVydEVudW1lcmF0aW9uVG9TdHJpbmcodHlwZSk7
Cit9CisKK1N0cmluZyBMb2dBcmd1bWVudDxXZWJDb3JlOjpNZWRpYUVuY29kaW5nVHlwZT46OnRv
U3RyaW5nKGNvbnN0IFdlYkNvcmU6Ok1lZGlhRW5jb2RpbmdUeXBlJiB0eXBlKQoreworICAgIHJl
dHVybiBjb252ZXJ0RW51bWVyYXRpb25Ub1N0cmluZyh0eXBlKTsKK30KKworfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmls
aXRpZXNMb2dnaW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGll
cy9NZWRpYUNhcGFiaWxpdGllc0xvZ2dpbmcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MGRmMWIwZTEwMWZmNTlh
ZTVmY2U2YWE1NzA1ZGZhMjVlNjZlNTNkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXNMb2dnaW5nLmgK
QEAgLTAsMCArMSwxMTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitzdHJ1Y3QgVmlkZW9Db25maWd1cmF0aW9uOworc3RydWN0IEF1ZGlvQ29u
ZmlndXJhdGlvbjsKK3N0cnVjdCBNZWRpYUNvbmZpZ3VyYXRpb247CitzdHJ1Y3QgTWVkaWFEZWNv
ZGluZ0NvbmZpZ3VyYXRpb247CitzdHJ1Y3QgTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb247Citz
dHJ1Y3QgTWVkaWFDYXBhYmlsaXRpZXNJbmZvOworc3RydWN0IE1lZGlhQ2FwYWJpbGl0aWVzRGVj
b2RpbmdJbmZvOworc3RydWN0IE1lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvOworCitlbnVt
IGNsYXNzIENvbG9yR2FtdXQ7CitlbnVtIGNsYXNzIEhkck1ldGFkYXRhVHlwZTsKK2VudW0gY2xh
c3MgVHJhbnNmZXJGdW5jdGlvbjsKK2VudW0gY2xhc3MgTWVkaWFEZWNvZGluZ1R5cGU7CitlbnVt
IGNsYXNzIE1lZGlhRW5jb2RpbmdUeXBlOworCit9CisKK25hbWVzcGFjZSBXVEYgeworCit0ZW1w
bGF0ZTx0eXBlbmFtZT4KK3N0cnVjdCBMb2dBcmd1bWVudDsKKwordGVtcGxhdGUgPD4KK3N0cnVj
dCBMb2dBcmd1bWVudDxXZWJDb3JlOjpWaWRlb0NvbmZpZ3VyYXRpb24+IHsKKyAgICBzdGF0aWMg
U3RyaW5nIHRvU3RyaW5nKGNvbnN0IFdlYkNvcmU6OlZpZGVvQ29uZmlndXJhdGlvbiYpOworfTsK
KwordGVtcGxhdGUgPD4KK3N0cnVjdCBMb2dBcmd1bWVudDxXZWJDb3JlOjpBdWRpb0NvbmZpZ3Vy
YXRpb24+IHsKKyAgICBzdGF0aWMgU3RyaW5nIHRvU3RyaW5nKGNvbnN0IFdlYkNvcmU6OkF1ZGlv
Q29uZmlndXJhdGlvbiYpOworfTsKKwordGVtcGxhdGUgPD4KK3N0cnVjdCBMb2dBcmd1bWVudDxX
ZWJDb3JlOjpNZWRpYUNvbmZpZ3VyYXRpb24+IHsKKyAgICBzdGF0aWMgU3RyaW5nIHRvU3RyaW5n
KGNvbnN0IFdlYkNvcmU6Ok1lZGlhQ29uZmlndXJhdGlvbiYpOworfTsKKwordGVtcGxhdGUgPD4K
K3N0cnVjdCBMb2dBcmd1bWVudDxXZWJDb3JlOjpNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbj4g
eworICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoY29uc3QgV2ViQ29yZTo6TWVkaWFEZWNvZGlu
Z0NvbmZpZ3VyYXRpb24mKTsKK307CisKK3RlbXBsYXRlIDw+CitzdHJ1Y3QgTG9nQXJndW1lbnQ8
V2ViQ29yZTo6TWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24+IHsKKyAgICBzdGF0aWMgU3RyaW5n
IHRvU3RyaW5nKGNvbnN0IFdlYkNvcmU6Ok1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uJik7Cit9
OworCit0ZW1wbGF0ZSA8Pgorc3RydWN0IExvZ0FyZ3VtZW50PFdlYkNvcmU6Ok1lZGlhQ2FwYWJp
bGl0aWVzSW5mbz4geworICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoY29uc3QgV2ViQ29yZTo6
TWVkaWFDYXBhYmlsaXRpZXNJbmZvJik7Cit9OworCit0ZW1wbGF0ZSA8Pgorc3RydWN0IExvZ0Fy
Z3VtZW50PFdlYkNvcmU6Ok1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvPiB7CisgICAgc3Rh
dGljIFN0cmluZyB0b1N0cmluZyhjb25zdCBXZWJDb3JlOjpNZWRpYUNhcGFiaWxpdGllc0RlY29k
aW5nSW5mbyYpOworfTsKKwordGVtcGxhdGUgPD4KK3N0cnVjdCBMb2dBcmd1bWVudDxXZWJDb3Jl
OjpNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mbz4geworICAgIHN0YXRpYyBTdHJpbmcgdG9T
dHJpbmcoY29uc3QgV2ViQ29yZTo6TWVkaWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm8mKTsKK307
CisKK3RlbXBsYXRlIDw+CitzdHJ1Y3QgTG9nQXJndW1lbnQ8V2ViQ29yZTo6Q29sb3JHYW11dD4g
eworICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoY29uc3QgV2ViQ29yZTo6Q29sb3JHYW11dCYp
OworfTsKKwordGVtcGxhdGUgPD4KK3N0cnVjdCBMb2dBcmd1bWVudDxXZWJDb3JlOjpIZHJNZXRh
ZGF0YVR5cGU+IHsKKyAgICBzdGF0aWMgU3RyaW5nIHRvU3RyaW5nKGNvbnN0IFdlYkNvcmU6Okhk
ck1ldGFkYXRhVHlwZSYpOworfTsKKwordGVtcGxhdGUgPD4KK3N0cnVjdCBMb2dBcmd1bWVudDxX
ZWJDb3JlOjpUcmFuc2ZlckZ1bmN0aW9uPiB7CisgICAgc3RhdGljIFN0cmluZyB0b1N0cmluZyhj
b25zdCBXZWJDb3JlOjpUcmFuc2ZlckZ1bmN0aW9uJik7Cit9OworCit0ZW1wbGF0ZSA8Pgorc3Ry
dWN0IExvZ0FyZ3VtZW50PFdlYkNvcmU6Ok1lZGlhRGVjb2RpbmdUeXBlPiB7CisgICAgc3RhdGlj
IFN0cmluZyB0b1N0cmluZyhjb25zdCBXZWJDb3JlOjpNZWRpYURlY29kaW5nVHlwZSYpOworfTsK
KwordGVtcGxhdGUgPD4KK3N0cnVjdCBMb2dBcmd1bWVudDxXZWJDb3JlOjpNZWRpYUVuY29kaW5n
VHlwZT4geworICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoY29uc3QgV2ViQ29yZTo6TWVkaWFF
bmNvZGluZ1R5cGUmKTsKK307CisKK30K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385526</attachid>
            <date>2019-12-12 12:30:43 -0800</date>
            <delta_ts>2019-12-12 12:36:36 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-205172-20191212123042.patch</filename>
            <type>text/plain</type>
            <size>21614</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzMTU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2ExNWEwNWQxZjNhOGE4
ODRhNDNhYWJhNGYzMDQzY2NkMzk0YjgzNS4uN2Q4Y2Y0Yjk2MTYyN2JkZmJkZTliODVjNjExN2Q0
MGY3MzgwOTczMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDE5LTEyLTEyICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBsb2dnaW5nIGZvciBN
ZWRpYUNhcGFiaWxpdGllcy5kZWNvZGVJbmZvKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTE3MgorCisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMg
Q2FybHNvbi4KKworICAgICAgICBBZGQgbG9nZ2luZyBmb3IgZGVjb2RpbmdJbmZvKCkgdGhhdCBj
YW4gZW1pdCBzdHJpbmcgdmVyc2lvbnMgb2YgYm90aCB0aGUgaW5wdXQKKyAgICAgICAgTWVkaWFD
b25maWd1cmF0aW9uIGFuZCB0aGUgb3V0cHV0IE1lZGlhQ2FwYWJpbGl0aWVzSW5mbyBvYmplY3Rz
LgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGll
cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNhcGFiaWxpdGllczo6ZGVjb2RpbmdJbmZv
KToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVk
aWFDYXBhYmlsaXRpZXNMb2dnaW5nLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjp0b0pT
T05PYmplY3QpOgorICAgICAgICAoV2ViQ29yZTo6dG9KU09OU3RyaW5nKToKKyAgICAgICAgKFdU
Rjo6TG9nQXJndW1lbnQ8V2ViQ29yZTo6VmlkZW9Db25maWd1cmF0aW9uPjo6dG9TdHJpbmcpOgor
ICAgICAgICAoV1RGOjpMb2dBcmd1bWVudDxXZWJDb3JlOjpBdWRpb0NvbmZpZ3VyYXRpb24+Ojp0
b1N0cmluZyk6CisgICAgICAgIChXVEY6OkxvZ0FyZ3VtZW50PFdlYkNvcmU6Ok1lZGlhQ29uZmln
dXJhdGlvbj46OnRvU3RyaW5nKToKKyAgICAgICAgKFdURjo6TG9nQXJndW1lbnQ8V2ViQ29yZTo6
TWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24+Ojp0b1N0cmluZyk6CisgICAgICAgIChXVEY6Okxv
Z0FyZ3VtZW50PFdlYkNvcmU6Ok1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uPjo6dG9TdHJpbmcp
OgorICAgICAgICAoV1RGOjpMb2dBcmd1bWVudDxXZWJDb3JlOjpNZWRpYUNhcGFiaWxpdGllc0lu
Zm8+Ojp0b1N0cmluZyk6CisgICAgICAgIChXVEY6OkxvZ0FyZ3VtZW50PFdlYkNvcmU6Ok1lZGlh
Q2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvPjo6dG9TdHJpbmcpOgorICAgICAgICAoV1RGOjpMb2dB
cmd1bWVudDxXZWJDb3JlOjpNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mbz46OnRvU3RyaW5n
KToKKyAgICAgICAgKFdURjo6TG9nQXJndW1lbnQ8V2ViQ29yZTo6Q29sb3JHYW11dD46OnRvU3Ry
aW5nKToKKyAgICAgICAgKFdURjo6TG9nQXJndW1lbnQ8V2ViQ29yZTo6SGRyTWV0YWRhdGFUeXBl
Pjo6dG9TdHJpbmcpOgorICAgICAgICAoV1RGOjpMb2dBcmd1bWVudDxXZWJDb3JlOjpUcmFuc2Zl
ckZ1bmN0aW9uPjo6dG9TdHJpbmcpOgorICAgICAgICAoV1RGOjpMb2dBcmd1bWVudDxXZWJDb3Jl
OjpNZWRpYURlY29kaW5nVHlwZT46OnRvU3RyaW5nKToKKyAgICAgICAgKFdURjo6TG9nQXJndW1l
bnQ8V2ViQ29yZTo6TWVkaWFFbmNvZGluZ1R5cGU+Ojp0b1N0cmluZyk6CisgICAgICAgICogcGxh
dGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXNMb2dnaW5nLmg6IEFkZGVk
LgorCiAyMDE5LTEyLTAyICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAg
ICAgIEFkb3B0IEFWQ29udGVudEtleVJlcG9ydEdyb3VwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXMu
Y3BwCmluZGV4IDI2M2MwNmZhN2I1NTk3ODY0ZWFmMzFhOTQ1OWU1M2NiMGIyMzExYzQuLmM5ZTI3
N2QyMmE1YjIzOWZhNjRmNGJiODg4NjRhNTgzZGNjNjU1YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXMuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmls
aXRpZXMuY3BwCkBAIC0zMSwxMyArMzEsMTYgQEAKICNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZl
cnJlZC5oIgogI2luY2x1ZGUgIkpTTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8uaCIKICNp
bmNsdWRlICJKU01lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvLmgiCisjaW5jbHVkZSAiTG9n
Z2luZy5oIgogI2luY2x1ZGUgIk1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvLmgiCiAjaW5j
bHVkZSAiTWVkaWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm8uaCIKKyNpbmNsdWRlICJNZWRpYUNh
cGFiaWxpdGllc0xvZ2dpbmcuaCIKICNpbmNsdWRlICJNZWRpYURlY29kaW5nQ29uZmlndXJhdGlv
bi5oIgogI2luY2x1ZGUgIk1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uLmgiCiAjaW5jbHVkZSAi
TWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeS5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgi
CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KKyNpbmNsdWRlIDx3dGYvTG9nZ2VyLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMTY3LDEwICsxNzAsMTQgQEAgdm9pZCBNZWRpYUNhcGFi
aWxpdGllczo6ZGVjb2RpbmdJbmZvKERvY3VtZW50JiBkb2N1bWVudCwgTWVkaWFEZWNvZGluZ0Nv
bmZpZ3VyYXQKICAgICAvLyAyLjQgTWVkaWEgQ2FwYWJpbGl0aWVzIEludGVyZmFjZQogICAgIC8v
IGh0dHBzOi8vd2ljZy5naXRodWIuaW8vbWVkaWEtY2FwYWJpbGl0aWVzLyNtZWRpYS1jYXBhYmls
aXRpZXMtaW50ZXJmYWNlCiAKKyAgICBhdXRvIGlkZW50aWZpZXIgPSBXVEY6OkxvZ2dlcjo6TG9n
U2l0ZUlkZW50aWZpZXIoIk1lZGlhQ2FwYWJpbGl0aWVzIiwgX19mdW5jX18sIHRoaXMpOworICAg
IFJlZjxMb2dnZXI+IGxvZ2dlciA9IGRvY3VtZW50LmxvZ2dlcigpOworCiAgICAgLy8gMS4gSWYg
Y29uZmlndXJhdGlvbiBpcyBub3QgYSB2YWxpZCBNZWRpYUNvbmZpZ3VyYXRpb24sIHJldHVybiBh
IFByb21pc2UgcmVqZWN0ZWQgd2l0aCBhIFR5cGVFcnJvci4KICAgICAvLyAyLiBJZiBjb25maWd1
cmF0aW9uLnZpZGVvIGlzIHByZXNlbnQgYW5kIGlzIG5vdCBhIHZhbGlkIHZpZGVvIGNvbmZpZ3Vy
YXRpb24sIHJldHVybiBhIFByb21pc2UgcmVqZWN0ZWQgd2l0aCBhIFR5cGVFcnJvci4KICAgICAv
LyAzLiBJZiBjb25maWd1cmF0aW9uLmF1ZGlvIGlzIHByZXNlbnQgYW5kIGlzIG5vdCBhIHZhbGlk
IGF1ZGlvIGNvbmZpZ3VyYXRpb24sIHJldHVybiBhIFByb21pc2UgcmVqZWN0ZWQgd2l0aCBhIFR5
cGVFcnJvci4KICAgICBpZiAoIWlzVmFsaWRNZWRpYUNvbmZpZ3VyYXRpb24oY29uZmlndXJhdGlv
bikpIHsKKyAgICAgICAgbG9nZ2VyLT5pbmZvKExvZ01lZGlhLCBpZGVudGlmaWVyLCAiIC0gUmVq
ZWN0ZWQuIGNvbmZpZ3VyYXRpb246ICIsIGNvbmZpZ3VyYXRpb24pOwogICAgICAgICBwcm9taXNl
LT5yZWplY3QoVHlwZUVycm9yKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTE4MSwxMCAr
MTg4LDEwIEBAIHZvaWQgTWVkaWFDYXBhYmlsaXRpZXM6OmRlY29kaW5nSW5mbyhEb2N1bWVudCYg
ZG9jdW1lbnQsIE1lZGlhRGVjb2RpbmdDb25maWd1cmF0CiAgICAgLy8gNC4gTGV0IHAgYmUgYSBu
ZXcgcHJvbWlzZS4KICAgICAvLyA1LiBJbiBwYXJhbGxlbCwgcnVuIHRoZSBjcmVhdGUgYSBNZWRp
YUNhcGFiaWxpdGllc0luZm8gYWxnb3JpdGhtIHdpdGggY29uZmlndXJhdGlvbiBhbmQgcmVzb2x2
ZSBwIHdpdGggaXRzIHJlc3VsdC4KICAgICAvLyA2LiBSZXR1cm4gcC4KLSAgICBtX3Rhc2tRdWV1
ZS5lbnF1ZXVlVGFzayhbY29uZmlndXJhdGlvbiA9IFdURk1vdmUoY29uZmlndXJhdGlvbiksIHBy
b21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXSAoKSBtdXRhYmxlIHsKKyAgICBtX3Rhc2tRdWV1ZS5l
bnF1ZXVlVGFzayhbY29uZmlndXJhdGlvbiA9IFdURk1vdmUoY29uZmlndXJhdGlvbiksIHByb21p
c2UgPSBXVEZNb3ZlKHByb21pc2UpLCBsb2dnZXIgPSBXVEZNb3ZlKGxvZ2dlciksIGlkZW50aWZp
ZXIgPSBXVEZNb3ZlKGlkZW50aWZpZXIpXSAoKSBtdXRhYmxlIHsKIAogICAgICAgICAvLyAyLjIu
MyBJZiBjb25maWd1cmF0aW9uIGlzIG9mIHR5cGUgTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24s
IHJ1biB0aGUgZm9sbG93aW5nIHN1YnN0ZXBzOgotICAgICAgICBNZWRpYUVuZ2luZUNvbmZpZ3Vy
YXRpb25GYWN0b3J5OjpEZWNvZGluZ0NvbmZpZ3VyYXRpb25DYWxsYmFjayBjYWxsYmFjayA9IFtw
cm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0gKGF1dG8gaW5mbykgbXV0YWJsZSB7CisgICAgICAg
IE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OkRlY29kaW5nQ29uZmlndXJhdGlvbkNh
bGxiYWNrIGNhbGxiYWNrID0gW3Byb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpLCBsb2dnZXIgPSBX
VEZNb3ZlKGxvZ2dlciksIGlkZW50aWZpZXIgPSBXVEZNb3ZlKGlkZW50aWZpZXIpXSAoYXV0byBp
bmZvKSBtdXRhYmxlIHsKICAgICAgICAgICAgIC8vIDIuMi4zLjEuIElmIHRoZSB1c2VyIGFnZW50
IGlzIGFibGUgdG8gZGVjb2RlIHRoZSBtZWRpYSByZXByZXNlbnRlZCBieQogICAgICAgICAgICAg
Ly8gY29uZmlndXJhdGlvbiwgc2V0IHN1cHBvcnRlZCB0byB0cnVlLiBPdGhlcndpc2Ugc2V0IGl0
IHRvIGZhbHNlLgogICAgICAgICAgICAgLy8gMi4yLjMuMi4gSWYgdGhlIHVzZXIgYWdlbnQgaXMg
YWJsZSB0byBkZWNvZGUgdGhlIG1lZGlhIHJlcHJlc2VudGVkIGJ5CkBAIC0xOTYsNiArMjAzLDcg
QEAgdm9pZCBNZWRpYUNhcGFiaWxpdGllczo6ZGVjb2RpbmdJbmZvKERvY3VtZW50JiBkb2N1bWVu
dCwgTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXQKICAgICAgICAgICAgIC8vIGNvbnNpZGVyYXRpb24g
dGhlIGN1cnJlbnQgcG93ZXIgc291cmNlIGluIG9yZGVyIHRvIGRldGVybWluZSB0aGUKICAgICAg
ICAgICAgIC8vIGRlY29kaW5nIHBvd2VyIGVmZmljaWVuY3kgdW5sZXNzIHRoZSBkZXZpY2XigJlz
IHBvd2VyIHNvdXJjZSBoYXMgc2lkZQogICAgICAgICAgICAgLy8gZWZmZWN0cyBzdWNoIGFzIGVu
YWJsaW5nIGRpZmZlcmVudCBkZWNvZGluZyBtb2R1bGVzLgorICAgICAgICAgICAgbG9nZ2VyLT5p
bmZvKExvZ01lZGlhLCBpZGVudGlmaWVyLCAiOjpjYWxsYmFjaygpIC0gUmVzb2x2ZWQuIGluZm86
ICIsIGluZm8pOwogICAgICAgICAgICAgcHJvbWlzZS0+cmVzb2x2ZTxJRExEaWN0aW9uYXJ5PE1l
ZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvPj4oV1RGTW92ZShpbmZvKSk7CiAgICAgICAgIH07
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNv
cmUvU291cmNlcy50eHQKaW5kZXggOTE3NDg3ZTExZDNhM2E2ZGVmZTU0ZWQwN2I3ZmI4YmNlOTc5
ZGZmMy4uYTg0Y2QzOTIwMDAwNmI5MmQ1NWViN2U5NDk0YTA4MmYxZjYwOTVmNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNl
cy50eHQKQEAgLTE5NTQsNiArMTk1NCw3IEBAIHBsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMv
VHJhbnNmb3JtYXRpb25NYXRyaXguY3BwCiBwbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1Ry
YW5zbGF0ZVRyYW5zZm9ybU9wZXJhdGlvbi5jcHAKIAogcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRp
ZXMvTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeS5jcHAKK3BsYXRmb3JtL21lZGlhY2Fw
YWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzTG9nZ2luZy5jcHAKIAogcGxhdGZvcm0vbWVkaWFy
ZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZU1vY2suY3BwCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAzNGY3MzI4NmI3N2Q4
NDE5ZGU0MTlhYzYxYWVlNDVlYzM1MjQyMzIyLi5kOTZkNWM4MTUyZWE4ZjIxYzBkYzliMDkwNmMx
NzU1OTAwZjFiNzhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCkBAIC0xMzcwMSw2ICsxMzcwMSw4IEBACiAJCUNEMkY0QTIyMThEODlG
NzAwMDYzNzQ2RCAvKiBBdWRpb0hhcmR3YXJlTGlzdGVuZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gQXVkaW9IYXJkd2FyZUxpc3RlbmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUNEMkY0QTI1MThEOEEzNDkwMDYzNzQ2RCAvKiBBdWRpb0hhcmR3YXJlTGlz
dGVuZXJNYWMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQXVkaW9I
YXJkd2FyZUxpc3RlbmVyTWFjLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0Qy
RjRBMjYxOEQ4QTM0OTAwNjM3NDZEIC8qIEF1ZGlvSGFyZHdhcmVMaXN0ZW5lck1hYy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBdWRpb0hhcmR3YXJlTGlzdGVuZXJNYWMuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0QzMEIyODYyM0ExNzNBQTAwRDc0ODhCIC8q
IE1lZGlhQ2FwYWJpbGl0aWVzTG9nZ2luZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBNZWRpYUNhcGFiaWxp
dGllc0xvZ2dpbmcuaDsgcGF0aCA9IG1lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVz
TG9nZ2luZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRDMwQjI4NzIzQTE3M0FB
MDBENzQ4OEIgLyogTWVkaWFDYXBhYmlsaXRpZXNMb2dnaW5nLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFt
ZSA9IE1lZGlhQ2FwYWJpbGl0aWVzTG9nZ2luZy5jcHA7IHBhdGggPSBtZWRpYWNhcGFiaWxpdGll
cy9NZWRpYUNhcGFiaWxpdGllc0xvZ2dpbmcuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlDRDMxODYyMDE5OUYxRTJBMDAzMEEwRjcgLyogQ0RNUHJpdmF0ZU1lZGlhU291cmNlQVZG
T2JqQy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IENETVByaXZh
dGVNZWRpYVNvdXJjZUFWRk9iakMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNE
MzE4NjIxMTk5RjFFMkEwMDMwQTBGNyAvKiBDRE1Qcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENETVByaXZhdGVNZWRpYVNvdXJjZUFW
Rk9iakMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0QzMkExODkxODRFQjQ2QTAw
MjlCMUJCIC8qIG1lZGlhQ29udHJvbHNpT1MuanMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmphdmFz
Y3JpcHQ7IHBhdGggPSBtZWRpYUNvbnRyb2xzaU9TLmpzOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtMjI2MDIsNiArMjI2MDQsOCBAQAogCQkJCUNEQ0M5QkNFMjIzODdFOUEwMEZGQjUx
QyAvKiBNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mby5oICovLAogCQkJCUNEQ0M5QkQwMjIz
ODdFQUEwMEZGQjUxQyAvKiBNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mby5oICovLAogCQkJ
CUNEMEM4QjU4MjE0MUM4Q0EwMDYyRjU5RCAvKiBNZWRpYUNhcGFiaWxpdGllc0luZm8uaCAqLywK
KwkJCQlDRDMwQjI4NzIzQTE3M0FBMDBENzQ4OEIgLyogTWVkaWFDYXBhYmlsaXRpZXNMb2dnaW5n
LmNwcCAqLywKKwkJCQlDRDMwQjI4NjIzQTE3M0FBMDBENzQ4OEIgLyogTWVkaWFDYXBhYmlsaXRp
ZXNMb2dnaW5nLmggKi8sCiAJCQkJQ0RCRDNEMzUxRkU4NUNCRjAwMTJDNTQ1IC8qIE1lZGlhQ29u
ZmlndXJhdGlvbi5oICovLAogCQkJCUNEQkQzRDM2MUZFODVDQzAwMDEyQzU0NSAvKiBNZWRpYURl
Y29kaW5nQ29uZmlndXJhdGlvbi5oICovLAogCQkJCUNEQkQzRDM4MUZFODVDQzAwMDEyQzU0NSAv
KiBNZWRpYURlY29kaW5nVHlwZS5oICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXNMb2dnaW5nLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVz
TG9nZ2luZy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmUzMzQ1MjRjMjJmOGZlMTUyNjdkOGRiMjU4ZGE0ZjAx
Yzg2ZjRiNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
Y2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzTG9nZ2luZy5jcHAKQEAgLTAsMCArMSwyMzEg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTWVkaWFDYXBh
YmlsaXRpZXNMb2dnaW5nLmgiCisKKyNpbmNsdWRlICJBdWRpb0NvbmZpZ3VyYXRpb24uaCIKKyNp
bmNsdWRlICJKU0NvbG9yR2FtdXQuaCIKKyNpbmNsdWRlICJKU0hkck1ldGFkYXRhVHlwZS5oIgor
I2luY2x1ZGUgIkpTTWVkaWFEZWNvZGluZ1R5cGUuaCIKKyNpbmNsdWRlICJKU01lZGlhRW5jb2Rp
bmdUeXBlLmgiCisjaW5jbHVkZSAiSlNUcmFuc2ZlckZ1bmN0aW9uLmgiCisjaW5jbHVkZSAiTWVk
aWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8uaCIKKyNpbmNsdWRlICJNZWRpYUNhcGFiaWxpdGll
c0VuY29kaW5nSW5mby5oIgorI2luY2x1ZGUgIk1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uLmgi
CisjaW5jbHVkZSAiTWVkaWFEZWNvZGluZ1R5cGUuaCIKKyNpbmNsdWRlICJNZWRpYUVuY29kaW5n
Q29uZmlndXJhdGlvbi5oIgorI2luY2x1ZGUgIk1lZGlhRW5jb2RpbmdUeXBlLmgiCisjaW5jbHVk
ZSAiVmlkZW9Db25maWd1cmF0aW9uLmgiCisjaW5jbHVkZSA8d3RmL0pTT05WYWx1ZXMuaD4KKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitzdGF0aWMgUmVmPEpTT046Ok9iamVjdD4gdG9KU09OT2Jq
ZWN0KGNvbnN0IFZpZGVvQ29uZmlndXJhdGlvbiYgY29uZmlndXJhdGlvbikKK3sKKyAgICBhdXRv
IG9iamVjdCA9IEpTT046Ok9iamVjdDo6Y3JlYXRlKCk7CisgICAgb2JqZWN0LT5zZXRTdHJpbmco
ImNvbnRlbnRUeXBlIl9zLCBjb25maWd1cmF0aW9uLmNvbnRlbnRUeXBlKTsKKyAgICBvYmplY3Qt
PnNldEludGVnZXIoIndpZHRoIl9zLCBjb25maWd1cmF0aW9uLndpZHRoKTsKKyAgICBvYmplY3Qt
PnNldEludGVnZXIoImhlaWdodCJfcywgY29uZmlndXJhdGlvbi5oZWlnaHQpOworICAgIG9iamVj
dC0+c2V0SW50ZWdlcigiYml0cmF0ZSJfcywgY29uZmlndXJhdGlvbi5iaXRyYXRlKTsKKyAgICBv
YmplY3QtPnNldERvdWJsZSgiZnJhbWVyYXRlIl9zLCBjb25maWd1cmF0aW9uLmZyYW1lcmF0ZSk7
CisgICAgaWYgKGNvbmZpZ3VyYXRpb24uYWxwaGFDaGFubmVsKQorICAgICAgICBvYmplY3QtPnNl
dEJvb2xlYW4oImFscGhhQ2hhbm5lbCJfcywgY29uZmlndXJhdGlvbi5hbHBoYUNoYW5uZWwudmFs
dWUoKSk7CisgICAgaWYgKGNvbmZpZ3VyYXRpb24uY29sb3JHYW11dCkKKyAgICAgICAgb2JqZWN0
LT5zZXRTdHJpbmcoImNvbG9yR2FtdXQiX3MsIGNvbnZlcnRFbnVtZXJhdGlvblRvU3RyaW5nKGNv
bmZpZ3VyYXRpb24uY29sb3JHYW11dC52YWx1ZSgpKSk7CisgICAgaWYgKGNvbmZpZ3VyYXRpb24u
aGRyTWV0YWRhdGFUeXBlKQorICAgICAgICBvYmplY3QtPnNldFN0cmluZygiaGRyTWV0YWRhdGFU
eXBlIl9zLCBjb252ZXJ0RW51bWVyYXRpb25Ub1N0cmluZyhjb25maWd1cmF0aW9uLmhkck1ldGFk
YXRhVHlwZS52YWx1ZSgpKSk7CisgICAgaWYgKGNvbmZpZ3VyYXRpb24udHJhbnNmZXJGdW5jdGlv
bikKKyAgICAgICAgb2JqZWN0LT5zZXRTdHJpbmcoInRyYW5zZmVyRnVuY3Rpb24iX3MsIGNvbnZl
cnRFbnVtZXJhdGlvblRvU3RyaW5nKGNvbmZpZ3VyYXRpb24udHJhbnNmZXJGdW5jdGlvbi52YWx1
ZSgpKSk7CisgICAgcmV0dXJuIG9iamVjdDsKK30KKworc3RhdGljIFJlZjxKU09OOjpPYmplY3Q+
IHRvSlNPTk9iamVjdChjb25zdCBBdWRpb0NvbmZpZ3VyYXRpb24mIGNvbmZpZ3VyYXRpb24pCit7
CisgICAgYXV0byBvYmplY3QgPSBKU09OOjpPYmplY3Q6OmNyZWF0ZSgpOworICAgIG9iamVjdC0+
c2V0U3RyaW5nKCJjb250ZW50VHlwZSJfcywgY29uZmlndXJhdGlvbi5jb250ZW50VHlwZSk7Cisg
ICAgb2JqZWN0LT5zZXRTdHJpbmcoImNoYW5uZWxzIl9zLCBjb25maWd1cmF0aW9uLmNoYW5uZWxz
KTsKKyAgICBvYmplY3QtPnNldEludGVnZXIoImJpdHJhdGUiX3MsIGNvbmZpZ3VyYXRpb24uYml0
cmF0ZSk7CisgICAgb2JqZWN0LT5zZXREb3VibGUoInNhbXBsZXJhdGUiX3MsIGNvbmZpZ3VyYXRp
b24uc2FtcGxlcmF0ZSk7CisgICAgcmV0dXJuIG9iamVjdDsKK30KKworc3RhdGljIFJlZjxKU09O
OjpPYmplY3Q+IHRvSlNPTk9iamVjdChjb25zdCBNZWRpYUNvbmZpZ3VyYXRpb24mIGNvbmZpZ3Vy
YXRpb24pCit7CisgICAgYXV0byBvYmplY3QgPSBKU09OOjpPYmplY3Q6OmNyZWF0ZSgpOworICAg
IGlmIChjb25maWd1cmF0aW9uLnZpZGVvKQorICAgICAgICBvYmplY3QtPnNldFZhbHVlKCJ2aWRl
byJfcywgdG9KU09OT2JqZWN0KGNvbmZpZ3VyYXRpb24udmlkZW8udmFsdWUoKSkpOworICAgIGlm
IChjb25maWd1cmF0aW9uLmF1ZGlvKQorICAgICAgICBvYmplY3QtPnNldFZhbHVlKCJhdWRpbyJf
cywgdG9KU09OT2JqZWN0KGNvbmZpZ3VyYXRpb24uYXVkaW8udmFsdWUoKSkpOworICAgIHJldHVy
biBvYmplY3Q7Cit9CisKK3N0YXRpYyBSZWY8SlNPTjo6T2JqZWN0PiB0b0pTT05PYmplY3QoY29u
c3QgTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24mIGNvbmZpZ3VyYXRpb24pCit7CisgICAgYXV0
byBvYmplY3QgPSB0b0pTT05PYmplY3Qoc3RhdGljX2Nhc3Q8Y29uc3QgTWVkaWFDb25maWd1cmF0
aW9uJj4oY29uZmlndXJhdGlvbikpOworICAgIG9iamVjdC0+c2V0U3RyaW5nKCJ0eXBlIl9zLCBj
b252ZXJ0RW51bWVyYXRpb25Ub1N0cmluZyhjb25maWd1cmF0aW9uLnR5cGUpKTsKKyAgICByZXR1
cm4gb2JqZWN0OworfQorCitzdGF0aWMgUmVmPEpTT046Ok9iamVjdD4gdG9KU09OT2JqZWN0KGNv
bnN0IE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uJiBjb25maWd1cmF0aW9uKQoreworICAgIGF1
dG8gb2JqZWN0ID0gdG9KU09OT2JqZWN0KHN0YXRpY19jYXN0PGNvbnN0IE1lZGlhQ29uZmlndXJh
dGlvbiY+KGNvbmZpZ3VyYXRpb24pKTsKKyAgICBvYmplY3QtPnNldFN0cmluZygidHlwZSJfcywg
Y29udmVydEVudW1lcmF0aW9uVG9TdHJpbmcoY29uZmlndXJhdGlvbi50eXBlKSk7CisgICAgcmV0
dXJuIG9iamVjdDsKK30KKworc3RhdGljIFJlZjxKU09OOjpPYmplY3Q+IHRvSlNPTk9iamVjdChj
b25zdCBNZWRpYUNhcGFiaWxpdGllc0luZm8mIGluZm8pCit7CisgICAgYXV0byBvYmplY3QgPSBK
U09OOjpPYmplY3Q6OmNyZWF0ZSgpOworICAgIG9iamVjdC0+c2V0Qm9vbGVhbigic3VwcG9ydGVk
Il9zLCBpbmZvLnN1cHBvcnRlZCk7CisgICAgb2JqZWN0LT5zZXRCb29sZWFuKCJzbW9vdGgiX3Ms
IGluZm8uc21vb3RoKTsKKyAgICBvYmplY3QtPnNldEJvb2xlYW4oInBvd2VyRWZmaWNpZW50Il9z
LCBpbmZvLnBvd2VyRWZmaWNpZW50KTsKKyAgICByZXR1cm4gb2JqZWN0OworfQorCitzdGF0aWMg
UmVmPEpTT046Ok9iamVjdD4gdG9KU09OT2JqZWN0KGNvbnN0IE1lZGlhQ2FwYWJpbGl0aWVzRGVj
b2RpbmdJbmZvJiBpbmZvKQoreworICAgIGF1dG8gb2JqZWN0ID0gdG9KU09OT2JqZWN0KHN0YXRp
Y19jYXN0PGNvbnN0IE1lZGlhQ2FwYWJpbGl0aWVzSW5mbyY+KGluZm8pKTsKKyAgICBvYmplY3Qt
PnNldFZhbHVlKCJzdXBwb3J0ZWRDb25maWd1cmF0aW9uIl9zLCB0b0pTT05PYmplY3QoaW5mby5z
dXBwb3J0ZWRDb25maWd1cmF0aW9uKSk7CisgICAgcmV0dXJuIG9iamVjdDsKK30KKworc3RhdGlj
IFJlZjxKU09OOjpPYmplY3Q+IHRvSlNPTk9iamVjdChjb25zdCBNZWRpYUNhcGFiaWxpdGllc0Vu
Y29kaW5nSW5mbyYgaW5mbykKK3sKKyAgICBhdXRvIG9iamVjdCA9IHRvSlNPTk9iamVjdChzdGF0
aWNfY2FzdDxjb25zdCBNZWRpYUNhcGFiaWxpdGllc0luZm8mPihpbmZvKSk7CisgICAgb2JqZWN0
LT5zZXRWYWx1ZSgic3VwcG9ydGVkQ29uZmlndXJhdGlvbiJfcywgdG9KU09OT2JqZWN0KGluZm8u
c3VwcG9ydGVkQ29uZmlndXJhdGlvbikpOworICAgIHJldHVybiBvYmplY3Q7Cit9CisKK3N0YXRp
YyBTdHJpbmcgdG9KU09OU3RyaW5nKGNvbnN0IFZpZGVvQ29uZmlndXJhdGlvbiYgY29uZmlndXJh
dGlvbikKK3sKKyAgICByZXR1cm4gdG9KU09OT2JqZWN0KGNvbmZpZ3VyYXRpb24pLT50b0pTT05T
dHJpbmcoKTsKK30KKworc3RhdGljIFN0cmluZyB0b0pTT05TdHJpbmcoY29uc3QgQXVkaW9Db25m
aWd1cmF0aW9uJiBjb25maWd1cmF0aW9uKQoreworICAgIHJldHVybiB0b0pTT05PYmplY3QoY29u
ZmlndXJhdGlvbiktPnRvSlNPTlN0cmluZygpOworfQorCitzdGF0aWMgU3RyaW5nIHRvSlNPTlN0
cmluZyhjb25zdCBNZWRpYUNvbmZpZ3VyYXRpb24mIGNvbmZpZ3VyYXRpb24pCit7CisgICAgcmV0
dXJuIHRvSlNPTk9iamVjdChjb25maWd1cmF0aW9uKS0+dG9KU09OU3RyaW5nKCk7Cit9CisKK3N0
YXRpYyBTdHJpbmcgdG9KU09OU3RyaW5nKGNvbnN0IE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9u
JiBjb25maWd1cmF0aW9uKQoreworICAgIHJldHVybiB0b0pTT05PYmplY3QoY29uZmlndXJhdGlv
biktPnRvSlNPTlN0cmluZygpOworfQorCitzdGF0aWMgU3RyaW5nIHRvSlNPTlN0cmluZyhjb25z
dCBNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbiYgY29uZmlndXJhdGlvbikKK3sKKyAgICByZXR1
cm4gdG9KU09OT2JqZWN0KGNvbmZpZ3VyYXRpb24pLT50b0pTT05TdHJpbmcoKTsKK30KKworc3Rh
dGljIFN0cmluZyB0b0pTT05TdHJpbmcoY29uc3QgTWVkaWFDYXBhYmlsaXRpZXNJbmZvJiBpbmZv
KQoreworICAgIHJldHVybiB0b0pTT05PYmplY3QoaW5mbyktPnRvSlNPTlN0cmluZygpOworfQor
CitzdGF0aWMgU3RyaW5nIHRvSlNPTlN0cmluZyhjb25zdCBNZWRpYUNhcGFiaWxpdGllc0RlY29k
aW5nSW5mbyYgaW5mbykKK3sKKyAgICByZXR1cm4gdG9KU09OT2JqZWN0KGluZm8pLT50b0pTT05T
dHJpbmcoKTsKK30KKworc3RhdGljIFN0cmluZyB0b0pTT05TdHJpbmcoY29uc3QgTWVkaWFDYXBh
YmlsaXRpZXNFbmNvZGluZ0luZm8mIGluZm8pCit7CisgICAgcmV0dXJuIHRvSlNPTk9iamVjdChp
bmZvKS0+dG9KU09OU3RyaW5nKCk7Cit9CisKK30KKworbmFtZXNwYWNlIFdURiB7CisKK1N0cmlu
ZyBMb2dBcmd1bWVudDxXZWJDb3JlOjpWaWRlb0NvbmZpZ3VyYXRpb24+Ojp0b1N0cmluZyhjb25z
dCBXZWJDb3JlOjpWaWRlb0NvbmZpZ3VyYXRpb24mIGNvbmZpZ3VyYXRpb24pCit7CisgICAgcmV0
dXJuIHRvSlNPTlN0cmluZyhjb25maWd1cmF0aW9uKTsKK30KKworU3RyaW5nIExvZ0FyZ3VtZW50
PFdlYkNvcmU6OkF1ZGlvQ29uZmlndXJhdGlvbj46OnRvU3RyaW5nKGNvbnN0IFdlYkNvcmU6OkF1
ZGlvQ29uZmlndXJhdGlvbiYgY29uZmlndXJhdGlvbikKK3sKKyAgICByZXR1cm4gdG9KU09OU3Ry
aW5nKGNvbmZpZ3VyYXRpb24pOworfQorCitTdHJpbmcgTG9nQXJndW1lbnQ8V2ViQ29yZTo6TWVk
aWFDb25maWd1cmF0aW9uPjo6dG9TdHJpbmcoY29uc3QgV2ViQ29yZTo6TWVkaWFDb25maWd1cmF0
aW9uJiBjb25maWd1cmF0aW9uKQoreworICAgIHJldHVybiB0b0pTT05TdHJpbmcoY29uZmlndXJh
dGlvbik7Cit9CisKK1N0cmluZyBMb2dBcmd1bWVudDxXZWJDb3JlOjpNZWRpYURlY29kaW5nQ29u
ZmlndXJhdGlvbj46OnRvU3RyaW5nKGNvbnN0IFdlYkNvcmU6Ok1lZGlhRGVjb2RpbmdDb25maWd1
cmF0aW9uJiBjb25maWd1cmF0aW9uKQoreworICAgIHJldHVybiB0b0pTT05TdHJpbmcoY29uZmln
dXJhdGlvbik7Cit9CisKK1N0cmluZyBMb2dBcmd1bWVudDxXZWJDb3JlOjpNZWRpYUVuY29kaW5n
Q29uZmlndXJhdGlvbj46OnRvU3RyaW5nKGNvbnN0IFdlYkNvcmU6Ok1lZGlhRW5jb2RpbmdDb25m
aWd1cmF0aW9uJiBjb25maWd1cmF0aW9uKQoreworICAgIHJldHVybiB0b0pTT05TdHJpbmcoY29u
ZmlndXJhdGlvbik7Cit9CisKK1N0cmluZyBMb2dBcmd1bWVudDxXZWJDb3JlOjpNZWRpYUNhcGFi
aWxpdGllc0luZm8+Ojp0b1N0cmluZyhjb25zdCBXZWJDb3JlOjpNZWRpYUNhcGFiaWxpdGllc0lu
Zm8mIGluZm8pCit7CisgICAgcmV0dXJuIHRvSlNPTlN0cmluZyhpbmZvKTsKK30KKworU3RyaW5n
IExvZ0FyZ3VtZW50PFdlYkNvcmU6Ok1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvPjo6dG9T
dHJpbmcoY29uc3QgV2ViQ29yZTo6TWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8mIGluZm8p
Cit7CisgICAgcmV0dXJuIHRvSlNPTlN0cmluZyhpbmZvKTsKK30KKworU3RyaW5nIExvZ0FyZ3Vt
ZW50PFdlYkNvcmU6Ok1lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvPjo6dG9TdHJpbmcoY29u
c3QgV2ViQ29yZTo6TWVkaWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm8mIGluZm8pCit7CisgICAg
cmV0dXJuIHRvSlNPTlN0cmluZyhpbmZvKTsKK30KKworU3RyaW5nIExvZ0FyZ3VtZW50PFdlYkNv
cmU6OkNvbG9yR2FtdXQ+Ojp0b1N0cmluZyhjb25zdCBXZWJDb3JlOjpDb2xvckdhbXV0JiB0eXBl
KQoreworICAgIHJldHVybiBjb252ZXJ0RW51bWVyYXRpb25Ub1N0cmluZyh0eXBlKTsKK30KKwor
U3RyaW5nIExvZ0FyZ3VtZW50PFdlYkNvcmU6Okhkck1ldGFkYXRhVHlwZT46OnRvU3RyaW5nKGNv
bnN0IFdlYkNvcmU6Okhkck1ldGFkYXRhVHlwZSYgdHlwZSkKK3sKKyAgICByZXR1cm4gY29udmVy
dEVudW1lcmF0aW9uVG9TdHJpbmcodHlwZSk7Cit9CisKK1N0cmluZyBMb2dBcmd1bWVudDxXZWJD
b3JlOjpUcmFuc2ZlckZ1bmN0aW9uPjo6dG9TdHJpbmcoY29uc3QgV2ViQ29yZTo6VHJhbnNmZXJG
dW5jdGlvbiYgdHlwZSkKK3sKKyAgICByZXR1cm4gY29udmVydEVudW1lcmF0aW9uVG9TdHJpbmco
dHlwZSk7Cit9CisKK1N0cmluZyBMb2dBcmd1bWVudDxXZWJDb3JlOjpNZWRpYURlY29kaW5nVHlw
ZT46OnRvU3RyaW5nKGNvbnN0IFdlYkNvcmU6Ok1lZGlhRGVjb2RpbmdUeXBlJiB0eXBlKQorewor
ICAgIHJldHVybiBjb252ZXJ0RW51bWVyYXRpb25Ub1N0cmluZyh0eXBlKTsKK30KKworU3RyaW5n
IExvZ0FyZ3VtZW50PFdlYkNvcmU6Ok1lZGlhRW5jb2RpbmdUeXBlPjo6dG9TdHJpbmcoY29uc3Qg
V2ViQ29yZTo6TWVkaWFFbmNvZGluZ1R5cGUmIHR5cGUpCit7CisgICAgcmV0dXJuIGNvbnZlcnRF
bnVtZXJhdGlvblRvU3RyaW5nKHR5cGUpOworfQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllc0xvZ2dpbmcu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJp
bGl0aWVzTG9nZ2luZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUwZGYxYjBlMTAxZmY1OWFlNWZjZTZhYTU3MDVk
ZmEyNWU2NmU1M2QKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllc0xvZ2dpbmcuaApAQCAtMCwwICsxLDEx
NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K3N0cnVjdCBWaWRlb0NvbmZpZ3VyYXRpb247CitzdHJ1Y3QgQXVkaW9Db25maWd1cmF0aW9uOwor
c3RydWN0IE1lZGlhQ29uZmlndXJhdGlvbjsKK3N0cnVjdCBNZWRpYURlY29kaW5nQ29uZmlndXJh
dGlvbjsKK3N0cnVjdCBNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbjsKK3N0cnVjdCBNZWRpYUNh
cGFiaWxpdGllc0luZm87CitzdHJ1Y3QgTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm87Citz
dHJ1Y3QgTWVkaWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm87CisKK2VudW0gY2xhc3MgQ29sb3JH
YW11dDsKK2VudW0gY2xhc3MgSGRyTWV0YWRhdGFUeXBlOworZW51bSBjbGFzcyBUcmFuc2ZlckZ1
bmN0aW9uOworZW51bSBjbGFzcyBNZWRpYURlY29kaW5nVHlwZTsKK2VudW0gY2xhc3MgTWVkaWFF
bmNvZGluZ1R5cGU7CisKK30KKworbmFtZXNwYWNlIFdURiB7CisKK3RlbXBsYXRlPHR5cGVuYW1l
Pgorc3RydWN0IExvZ0FyZ3VtZW50OworCit0ZW1wbGF0ZSA8Pgorc3RydWN0IExvZ0FyZ3VtZW50
PFdlYkNvcmU6OlZpZGVvQ29uZmlndXJhdGlvbj4geworICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJp
bmcoY29uc3QgV2ViQ29yZTo6VmlkZW9Db25maWd1cmF0aW9uJik7Cit9OworCit0ZW1wbGF0ZSA8
Pgorc3RydWN0IExvZ0FyZ3VtZW50PFdlYkNvcmU6OkF1ZGlvQ29uZmlndXJhdGlvbj4geworICAg
IHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoY29uc3QgV2ViQ29yZTo6QXVkaW9Db25maWd1cmF0aW9u
Jik7Cit9OworCit0ZW1wbGF0ZSA8Pgorc3RydWN0IExvZ0FyZ3VtZW50PFdlYkNvcmU6Ok1lZGlh
Q29uZmlndXJhdGlvbj4geworICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoY29uc3QgV2ViQ29y
ZTo6TWVkaWFDb25maWd1cmF0aW9uJik7Cit9OworCit0ZW1wbGF0ZSA8Pgorc3RydWN0IExvZ0Fy
Z3VtZW50PFdlYkNvcmU6Ok1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uPiB7CisgICAgc3RhdGlj
IFN0cmluZyB0b1N0cmluZyhjb25zdCBXZWJDb3JlOjpNZWRpYURlY29kaW5nQ29uZmlndXJhdGlv
biYpOworfTsKKwordGVtcGxhdGUgPD4KK3N0cnVjdCBMb2dBcmd1bWVudDxXZWJDb3JlOjpNZWRp
YUVuY29kaW5nQ29uZmlndXJhdGlvbj4geworICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoY29u
c3QgV2ViQ29yZTo6TWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24mKTsKK307CisKK3RlbXBsYXRl
IDw+CitzdHJ1Y3QgTG9nQXJndW1lbnQ8V2ViQ29yZTo6TWVkaWFDYXBhYmlsaXRpZXNJbmZvPiB7
CisgICAgc3RhdGljIFN0cmluZyB0b1N0cmluZyhjb25zdCBXZWJDb3JlOjpNZWRpYUNhcGFiaWxp
dGllc0luZm8mKTsKK307CisKK3RlbXBsYXRlIDw+CitzdHJ1Y3QgTG9nQXJndW1lbnQ8V2ViQ29y
ZTo6TWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8+IHsKKyAgICBzdGF0aWMgU3RyaW5nIHRv
U3RyaW5nKGNvbnN0IFdlYkNvcmU6Ok1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvJik7Cit9
OworCit0ZW1wbGF0ZSA8Pgorc3RydWN0IExvZ0FyZ3VtZW50PFdlYkNvcmU6Ok1lZGlhQ2FwYWJp
bGl0aWVzRW5jb2RpbmdJbmZvPiB7CisgICAgc3RhdGljIFN0cmluZyB0b1N0cmluZyhjb25zdCBX
ZWJDb3JlOjpNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mbyYpOworfTsKKwordGVtcGxhdGUg
PD4KK3N0cnVjdCBMb2dBcmd1bWVudDxXZWJDb3JlOjpDb2xvckdhbXV0PiB7CisgICAgc3RhdGlj
IFN0cmluZyB0b1N0cmluZyhjb25zdCBXZWJDb3JlOjpDb2xvckdhbXV0Jik7Cit9OworCit0ZW1w
bGF0ZSA8Pgorc3RydWN0IExvZ0FyZ3VtZW50PFdlYkNvcmU6Okhkck1ldGFkYXRhVHlwZT4gewor
ICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoY29uc3QgV2ViQ29yZTo6SGRyTWV0YWRhdGFUeXBl
Jik7Cit9OworCit0ZW1wbGF0ZSA8Pgorc3RydWN0IExvZ0FyZ3VtZW50PFdlYkNvcmU6OlRyYW5z
ZmVyRnVuY3Rpb24+IHsKKyAgICBzdGF0aWMgU3RyaW5nIHRvU3RyaW5nKGNvbnN0IFdlYkNvcmU6
OlRyYW5zZmVyRnVuY3Rpb24mKTsKK307CisKK3RlbXBsYXRlIDw+CitzdHJ1Y3QgTG9nQXJndW1l
bnQ8V2ViQ29yZTo6TWVkaWFEZWNvZGluZ1R5cGU+IHsKKyAgICBzdGF0aWMgU3RyaW5nIHRvU3Ry
aW5nKGNvbnN0IFdlYkNvcmU6Ok1lZGlhRGVjb2RpbmdUeXBlJik7Cit9OworCit0ZW1wbGF0ZSA8
Pgorc3RydWN0IExvZ0FyZ3VtZW50PFdlYkNvcmU6Ok1lZGlhRW5jb2RpbmdUeXBlPiB7CisgICAg
c3RhdGljIFN0cmluZyB0b1N0cmluZyhjb25zdCBXZWJDb3JlOjpNZWRpYUVuY29kaW5nVHlwZSYp
OworfTsKKworfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385529</attachid>
            <date>2019-12-12 12:36:37 -0800</date>
            <delta_ts>2019-12-12 12:55:42 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-205172-20191212123637.patch</filename>
            <type>text/plain</type>
            <size>21684</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzMTU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2ExNWEwNWQxZjNhOGE4
ODRhNDNhYWJhNGYzMDQzY2NkMzk0YjgzNS4uN2Q4Y2Y0Yjk2MTYyN2JkZmJkZTliODVjNjExN2Q0
MGY3MzgwOTczMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDE5LTEyLTEyICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBsb2dnaW5nIGZvciBN
ZWRpYUNhcGFiaWxpdGllcy5kZWNvZGVJbmZvKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTE3MgorCisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMg
Q2FybHNvbi4KKworICAgICAgICBBZGQgbG9nZ2luZyBmb3IgZGVjb2RpbmdJbmZvKCkgdGhhdCBj
YW4gZW1pdCBzdHJpbmcgdmVyc2lvbnMgb2YgYm90aCB0aGUgaW5wdXQKKyAgICAgICAgTWVkaWFD
b25maWd1cmF0aW9uIGFuZCB0aGUgb3V0cHV0IE1lZGlhQ2FwYWJpbGl0aWVzSW5mbyBvYmplY3Rz
LgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGll
cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNhcGFiaWxpdGllczo6ZGVjb2RpbmdJbmZv
KToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVk
aWFDYXBhYmlsaXRpZXNMb2dnaW5nLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjp0b0pT
T05PYmplY3QpOgorICAgICAgICAoV2ViQ29yZTo6dG9KU09OU3RyaW5nKToKKyAgICAgICAgKFdU
Rjo6TG9nQXJndW1lbnQ8V2ViQ29yZTo6VmlkZW9Db25maWd1cmF0aW9uPjo6dG9TdHJpbmcpOgor
ICAgICAgICAoV1RGOjpMb2dBcmd1bWVudDxXZWJDb3JlOjpBdWRpb0NvbmZpZ3VyYXRpb24+Ojp0
b1N0cmluZyk6CisgICAgICAgIChXVEY6OkxvZ0FyZ3VtZW50PFdlYkNvcmU6Ok1lZGlhQ29uZmln
dXJhdGlvbj46OnRvU3RyaW5nKToKKyAgICAgICAgKFdURjo6TG9nQXJndW1lbnQ8V2ViQ29yZTo6
TWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24+Ojp0b1N0cmluZyk6CisgICAgICAgIChXVEY6Okxv
Z0FyZ3VtZW50PFdlYkNvcmU6Ok1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uPjo6dG9TdHJpbmcp
OgorICAgICAgICAoV1RGOjpMb2dBcmd1bWVudDxXZWJDb3JlOjpNZWRpYUNhcGFiaWxpdGllc0lu
Zm8+Ojp0b1N0cmluZyk6CisgICAgICAgIChXVEY6OkxvZ0FyZ3VtZW50PFdlYkNvcmU6Ok1lZGlh
Q2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvPjo6dG9TdHJpbmcpOgorICAgICAgICAoV1RGOjpMb2dB
cmd1bWVudDxXZWJDb3JlOjpNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mbz46OnRvU3RyaW5n
KToKKyAgICAgICAgKFdURjo6TG9nQXJndW1lbnQ8V2ViQ29yZTo6Q29sb3JHYW11dD46OnRvU3Ry
aW5nKToKKyAgICAgICAgKFdURjo6TG9nQXJndW1lbnQ8V2ViQ29yZTo6SGRyTWV0YWRhdGFUeXBl
Pjo6dG9TdHJpbmcpOgorICAgICAgICAoV1RGOjpMb2dBcmd1bWVudDxXZWJDb3JlOjpUcmFuc2Zl
ckZ1bmN0aW9uPjo6dG9TdHJpbmcpOgorICAgICAgICAoV1RGOjpMb2dBcmd1bWVudDxXZWJDb3Jl
OjpNZWRpYURlY29kaW5nVHlwZT46OnRvU3RyaW5nKToKKyAgICAgICAgKFdURjo6TG9nQXJndW1l
bnQ8V2ViQ29yZTo6TWVkaWFFbmNvZGluZ1R5cGU+Ojp0b1N0cmluZyk6CisgICAgICAgICogcGxh
dGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXNMb2dnaW5nLmg6IEFkZGVk
LgorCiAyMDE5LTEyLTAyICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAg
ICAgIEFkb3B0IEFWQ29udGVudEtleVJlcG9ydEdyb3VwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXMu
Y3BwCmluZGV4IDI2M2MwNmZhN2I1NTk3ODY0ZWFmMzFhOTQ1OWU1M2NiMGIyMzExYzQuLjgzZjYw
YzY1NjdmMzM1Y2JkM2NhNWZlZTZjNWYwNWZmM2Q4NzExYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXMuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmls
aXRpZXMuY3BwCkBAIC0zMSwxMyArMzEsMTYgQEAKICNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZl
cnJlZC5oIgogI2luY2x1ZGUgIkpTTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8uaCIKICNp
bmNsdWRlICJKU01lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvLmgiCisjaW5jbHVkZSAiTG9n
Z2luZy5oIgogI2luY2x1ZGUgIk1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvLmgiCiAjaW5j
bHVkZSAiTWVkaWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm8uaCIKKyNpbmNsdWRlICJNZWRpYUNh
cGFiaWxpdGllc0xvZ2dpbmcuaCIKICNpbmNsdWRlICJNZWRpYURlY29kaW5nQ29uZmlndXJhdGlv
bi5oIgogI2luY2x1ZGUgIk1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uLmgiCiAjaW5jbHVkZSAi
TWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeS5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgi
CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KKyNpbmNsdWRlIDx3dGYvTG9nZ2VyLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMTY3LDEwICsxNzAsMTYgQEAgdm9pZCBNZWRpYUNhcGFi
aWxpdGllczo6ZGVjb2RpbmdJbmZvKERvY3VtZW50JiBkb2N1bWVudCwgTWVkaWFEZWNvZGluZ0Nv
bmZpZ3VyYXQKICAgICAvLyAyLjQgTWVkaWEgQ2FwYWJpbGl0aWVzIEludGVyZmFjZQogICAgIC8v
IGh0dHBzOi8vd2ljZy5naXRodWIuaW8vbWVkaWEtY2FwYWJpbGl0aWVzLyNtZWRpYS1jYXBhYmls
aXRpZXMtaW50ZXJmYWNlCiAKKyAgICBhdXRvIGlkZW50aWZpZXIgPSBXVEY6OkxvZ2dlcjo6TG9n
U2l0ZUlkZW50aWZpZXIoIk1lZGlhQ2FwYWJpbGl0aWVzIiwgX19mdW5jX18sIHRoaXMpOworICAg
IFJlZjxMb2dnZXI+IGxvZ2dlciA9IGRvY3VtZW50LmxvZ2dlcigpOworCiAgICAgLy8gMS4gSWYg
Y29uZmlndXJhdGlvbiBpcyBub3QgYSB2YWxpZCBNZWRpYUNvbmZpZ3VyYXRpb24sIHJldHVybiBh
IFByb21pc2UgcmVqZWN0ZWQgd2l0aCBhIFR5cGVFcnJvci4KICAgICAvLyAyLiBJZiBjb25maWd1
cmF0aW9uLnZpZGVvIGlzIHByZXNlbnQgYW5kIGlzIG5vdCBhIHZhbGlkIHZpZGVvIGNvbmZpZ3Vy
YXRpb24sIHJldHVybiBhIFByb21pc2UgcmVqZWN0ZWQgd2l0aCBhIFR5cGVFcnJvci4KICAgICAv
LyAzLiBJZiBjb25maWd1cmF0aW9uLmF1ZGlvIGlzIHByZXNlbnQgYW5kIGlzIG5vdCBhIHZhbGlk
IGF1ZGlvIGNvbmZpZ3VyYXRpb24sIHJldHVybiBhIFByb21pc2UgcmVqZWN0ZWQgd2l0aCBhIFR5
cGVFcnJvci4KICAgICBpZiAoIWlzVmFsaWRNZWRpYUNvbmZpZ3VyYXRpb24oY29uZmlndXJhdGlv
bikpIHsKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICAgICAgbG9nZ2VyLT5pbmZvKExv
Z01lZGlhLCBpZGVudGlmaWVyLCAiIC0gUmVqZWN0ZWQuIGNvbmZpZ3VyYXRpb246ICIsIGNvbmZp
Z3VyYXRpb24pOworI2VuZGlmCiAgICAgICAgIHByb21pc2UtPnJlamVjdChUeXBlRXJyb3IpOwog
ICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtMTgxLDEwICsxOTAsMTAgQEAgdm9pZCBNZWRpYUNh
cGFiaWxpdGllczo6ZGVjb2RpbmdJbmZvKERvY3VtZW50JiBkb2N1bWVudCwgTWVkaWFEZWNvZGlu
Z0NvbmZpZ3VyYXQKICAgICAvLyA0LiBMZXQgcCBiZSBhIG5ldyBwcm9taXNlLgogICAgIC8vIDUu
IEluIHBhcmFsbGVsLCBydW4gdGhlIGNyZWF0ZSBhIE1lZGlhQ2FwYWJpbGl0aWVzSW5mbyBhbGdv
cml0aG0gd2l0aCBjb25maWd1cmF0aW9uIGFuZCByZXNvbHZlIHAgd2l0aCBpdHMgcmVzdWx0Lgog
ICAgIC8vIDYuIFJldHVybiBwLgotICAgIG1fdGFza1F1ZXVlLmVucXVldWVUYXNrKFtjb25maWd1
cmF0aW9uID0gV1RGTW92ZShjb25maWd1cmF0aW9uKSwgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlz
ZSldICgpIG11dGFibGUgeworICAgIG1fdGFza1F1ZXVlLmVucXVldWVUYXNrKFtjb25maWd1cmF0
aW9uID0gV1RGTW92ZShjb25maWd1cmF0aW9uKSwgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSks
IGxvZ2dlciA9IFdURk1vdmUobG9nZ2VyKSwgaWRlbnRpZmllciA9IFdURk1vdmUoaWRlbnRpZmll
cildICgpIG11dGFibGUgewogCiAgICAgICAgIC8vIDIuMi4zIElmIGNvbmZpZ3VyYXRpb24gaXMg
b2YgdHlwZSBNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbiwgcnVuIHRoZSBmb2xsb3dpbmcgc3Vi
c3RlcHM6Ci0gICAgICAgIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OkRlY29kaW5n
Q29uZmlndXJhdGlvbkNhbGxiYWNrIGNhbGxiYWNrID0gW3Byb21pc2UgPSBXVEZNb3ZlKHByb21p
c2UpXSAoYXV0byBpbmZvKSBtdXRhYmxlIHsKKyAgICAgICAgTWVkaWFFbmdpbmVDb25maWd1cmF0
aW9uRmFjdG9yeTo6RGVjb2RpbmdDb25maWd1cmF0aW9uQ2FsbGJhY2sgY2FsbGJhY2sgPSBbcHJv
bWlzZSA9IFdURk1vdmUocHJvbWlzZSksIGxvZ2dlciA9IFdURk1vdmUobG9nZ2VyKSwgaWRlbnRp
ZmllciA9IFdURk1vdmUoaWRlbnRpZmllcildIChhdXRvIGluZm8pIG11dGFibGUgewogICAgICAg
ICAgICAgLy8gMi4yLjMuMS4gSWYgdGhlIHVzZXIgYWdlbnQgaXMgYWJsZSB0byBkZWNvZGUgdGhl
IG1lZGlhIHJlcHJlc2VudGVkIGJ5CiAgICAgICAgICAgICAvLyBjb25maWd1cmF0aW9uLCBzZXQg
c3VwcG9ydGVkIHRvIHRydWUuIE90aGVyd2lzZSBzZXQgaXQgdG8gZmFsc2UuCiAgICAgICAgICAg
ICAvLyAyLjIuMy4yLiBJZiB0aGUgdXNlciBhZ2VudCBpcyBhYmxlIHRvIGRlY29kZSB0aGUgbWVk
aWEgcmVwcmVzZW50ZWQgYnkKQEAgLTE5Niw2ICsyMDUsOSBAQCB2b2lkIE1lZGlhQ2FwYWJpbGl0
aWVzOjpkZWNvZGluZ0luZm8oRG9jdW1lbnQmIGRvY3VtZW50LCBNZWRpYURlY29kaW5nQ29uZmln
dXJhdAogICAgICAgICAgICAgLy8gY29uc2lkZXJhdGlvbiB0aGUgY3VycmVudCBwb3dlciBzb3Vy
Y2UgaW4gb3JkZXIgdG8gZGV0ZXJtaW5lIHRoZQogICAgICAgICAgICAgLy8gZGVjb2RpbmcgcG93
ZXIgZWZmaWNpZW5jeSB1bmxlc3MgdGhlIGRldmljZeKAmXMgcG93ZXIgc291cmNlIGhhcyBzaWRl
CiAgICAgICAgICAgICAvLyBlZmZlY3RzIHN1Y2ggYXMgZW5hYmxpbmcgZGlmZmVyZW50IGRlY29k
aW5nIG1vZHVsZXMuCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgICAgICAgICBsb2dn
ZXItPmluZm8oTG9nTWVkaWEsIGlkZW50aWZpZXIsICI6OmNhbGxiYWNrKCkgLSBSZXNvbHZlZC4g
aW5mbzogIiwgaW5mbyk7CisjZW5kaWYKICAgICAgICAgICAgIHByb21pc2UtPnJlc29sdmU8SURM
RGljdGlvbmFyeTxNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mbz4+KFdURk1vdmUoaW5mbykp
OwogICAgICAgICB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBi
L1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IDkxNzQ4N2UxMWQzYTNhNmRlZmU1NGVk
MDdiN2ZiOGJjZTk3OWRmZjMuLmE4NGNkMzkyMDAwMDZiOTJkNTVlYjdlOTQ5NGEwODJmMWY2MDk1
ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0xOTU0LDYgKzE5NTQsNyBAQCBwbGF0Zm9ybS9ncmFwaGlj
cy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmNwcAogcGxhdGZvcm0vZ3JhcGhpY3Mv
dHJhbnNmb3Jtcy9UcmFuc2xhdGVUcmFuc2Zvcm1PcGVyYXRpb24uY3BwCiAKIHBsYXRmb3JtL21l
ZGlhY2FwYWJpbGl0aWVzL01lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkuY3BwCitwbGF0
Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllc0xvZ2dpbmcuY3BwCiAKIHBs
YXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGVNb2NrLmNwcAogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXgg
MzRmNzMyODZiNzdkODQxOWRlNDE5YWM2MWFlZTQ1ZWMzNTI0MjMyMi4uZDk2ZDVjODE1MmVhOGYy
MWMwZGM5YjA5MDZjMTc1NTkwMGYxYjc4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTM3MDEsNiArMTM3MDEsOCBAQAogCQlD
RDJGNEEyMjE4RDg5RjcwMDA2Mzc0NkQgLyogQXVkaW9IYXJkd2FyZUxpc3RlbmVyLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEF1ZGlvSGFyZHdhcmVMaXN0ZW5lci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRDJGNEEyNTE4RDhBMzQ5MDA2Mzc0NkQgLyogQXVk
aW9IYXJkd2FyZUxpc3RlbmVyTWFjLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEF1ZGlvSGFyZHdhcmVMaXN0ZW5lck1hYy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUNEMkY0QTI2MThEOEEzNDkwMDYzNzQ2RCAvKiBBdWRpb0hhcmR3YXJlTGlzdGVu
ZXJNYWMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXVkaW9IYXJkd2FyZUxp
c3RlbmVyTWFjLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNEMzBCMjg2MjNBMTcz
QUEwMEQ3NDg4QiAvKiBNZWRpYUNhcGFiaWxpdGllc0xvZ2dpbmcuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0g
TWVkaWFDYXBhYmlsaXRpZXNMb2dnaW5nLmg7IHBhdGggPSBtZWRpYWNhcGFiaWxpdGllcy9NZWRp
YUNhcGFiaWxpdGllc0xvZ2dpbmcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0Qz
MEIyODcyM0ExNzNBQTAwRDc0ODhCIC8qIE1lZGlhQ2FwYWJpbGl0aWVzTG9nZ2luZy5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IG5hbWUgPSBNZWRpYUNhcGFiaWxpdGllc0xvZ2dpbmcuY3BwOyBwYXRoID0gbWVk
aWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXNMb2dnaW5nLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQ0QzMTg2MjAxOTlGMUUyQTAwMzBBMEY3IC8qIENETVByaXZhdGVN
ZWRpYVNvdXJjZUFWRk9iakMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBDRE1Qcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlDRDMxODYyMTE5OUYxRTJBMDAzMEEwRjcgLyogQ0RNUHJpdmF0ZU1lZGlhU291
cmNlQVZGT2JqQy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDRE1Qcml2YXRl
TWVkaWFTb3VyY2VBVkZPYmpDLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNEMzJB
MTg5MTg0RUI0NkEwMDI5QjFCQiAvKiBtZWRpYUNvbnRyb2xzaU9TLmpzICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5qYXZhc2NyaXB0OyBwYXRoID0gbWVkaWFDb250cm9sc2lPUy5qczsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIyNjAyLDYgKzIyNjA0LDggQEAKIAkJCQlDRENDOUJDRTIy
Mzg3RTlBMDBGRkI1MUMgLyogTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8uaCAqLywKIAkJ
CQlDRENDOUJEMDIyMzg3RUFBMDBGRkI1MUMgLyogTWVkaWFDYXBhYmlsaXRpZXNFbmNvZGluZ0lu
Zm8uaCAqLywKIAkJCQlDRDBDOEI1ODIxNDFDOENBMDA2MkY1OUQgLyogTWVkaWFDYXBhYmlsaXRp
ZXNJbmZvLmggKi8sCisJCQkJQ0QzMEIyODcyM0ExNzNBQTAwRDc0ODhCIC8qIE1lZGlhQ2FwYWJp
bGl0aWVzTG9nZ2luZy5jcHAgKi8sCisJCQkJQ0QzMEIyODYyM0ExNzNBQTAwRDc0ODhCIC8qIE1l
ZGlhQ2FwYWJpbGl0aWVzTG9nZ2luZy5oICovLAogCQkJCUNEQkQzRDM1MUZFODVDQkYwMDEyQzU0
NSAvKiBNZWRpYUNvbmZpZ3VyYXRpb24uaCAqLywKIAkJCQlDREJEM0QzNjFGRTg1Q0MwMDAxMkM1
NDUgLyogTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24uaCAqLywKIAkJCQlDREJEM0QzODFGRTg1
Q0MwMDAxMkM1NDUgLyogTWVkaWFEZWNvZGluZ1R5cGUuaCAqLywKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzTG9n
Z2luZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRp
YUNhcGFiaWxpdGllc0xvZ2dpbmcuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZlMzM0NTI0YzIyZjhmZTE1MjY3
ZDhkYjI1OGRhNGYwMWM4NmY0YjUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllc0xvZ2dpbmcuY3BwCkBA
IC0wLDAgKzEsMjMxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1
ZGUgIk1lZGlhQ2FwYWJpbGl0aWVzTG9nZ2luZy5oIgorCisjaW5jbHVkZSAiQXVkaW9Db25maWd1
cmF0aW9uLmgiCisjaW5jbHVkZSAiSlNDb2xvckdhbXV0LmgiCisjaW5jbHVkZSAiSlNIZHJNZXRh
ZGF0YVR5cGUuaCIKKyNpbmNsdWRlICJKU01lZGlhRGVjb2RpbmdUeXBlLmgiCisjaW5jbHVkZSAi
SlNNZWRpYUVuY29kaW5nVHlwZS5oIgorI2luY2x1ZGUgIkpTVHJhbnNmZXJGdW5jdGlvbi5oIgor
I2luY2x1ZGUgIk1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvLmgiCisjaW5jbHVkZSAiTWVk
aWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm8uaCIKKyNpbmNsdWRlICJNZWRpYURlY29kaW5nQ29u
ZmlndXJhdGlvbi5oIgorI2luY2x1ZGUgIk1lZGlhRGVjb2RpbmdUeXBlLmgiCisjaW5jbHVkZSAi
TWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24uaCIKKyNpbmNsdWRlICJNZWRpYUVuY29kaW5nVHlw
ZS5oIgorI2luY2x1ZGUgIlZpZGVvQ29uZmlndXJhdGlvbi5oIgorI2luY2x1ZGUgPHd0Zi9KU09O
VmFsdWVzLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RhdGljIFJlZjxKU09OOjpPYmpl
Y3Q+IHRvSlNPTk9iamVjdChjb25zdCBWaWRlb0NvbmZpZ3VyYXRpb24mIGNvbmZpZ3VyYXRpb24p
Cit7CisgICAgYXV0byBvYmplY3QgPSBKU09OOjpPYmplY3Q6OmNyZWF0ZSgpOworICAgIG9iamVj
dC0+c2V0U3RyaW5nKCJjb250ZW50VHlwZSJfcywgY29uZmlndXJhdGlvbi5jb250ZW50VHlwZSk7
CisgICAgb2JqZWN0LT5zZXRJbnRlZ2VyKCJ3aWR0aCJfcywgY29uZmlndXJhdGlvbi53aWR0aCk7
CisgICAgb2JqZWN0LT5zZXRJbnRlZ2VyKCJoZWlnaHQiX3MsIGNvbmZpZ3VyYXRpb24uaGVpZ2h0
KTsKKyAgICBvYmplY3QtPnNldEludGVnZXIoImJpdHJhdGUiX3MsIGNvbmZpZ3VyYXRpb24uYml0
cmF0ZSk7CisgICAgb2JqZWN0LT5zZXREb3VibGUoImZyYW1lcmF0ZSJfcywgY29uZmlndXJhdGlv
bi5mcmFtZXJhdGUpOworICAgIGlmIChjb25maWd1cmF0aW9uLmFscGhhQ2hhbm5lbCkKKyAgICAg
ICAgb2JqZWN0LT5zZXRCb29sZWFuKCJhbHBoYUNoYW5uZWwiX3MsIGNvbmZpZ3VyYXRpb24uYWxw
aGFDaGFubmVsLnZhbHVlKCkpOworICAgIGlmIChjb25maWd1cmF0aW9uLmNvbG9yR2FtdXQpCisg
ICAgICAgIG9iamVjdC0+c2V0U3RyaW5nKCJjb2xvckdhbXV0Il9zLCBjb252ZXJ0RW51bWVyYXRp
b25Ub1N0cmluZyhjb25maWd1cmF0aW9uLmNvbG9yR2FtdXQudmFsdWUoKSkpOworICAgIGlmIChj
b25maWd1cmF0aW9uLmhkck1ldGFkYXRhVHlwZSkKKyAgICAgICAgb2JqZWN0LT5zZXRTdHJpbmco
Imhkck1ldGFkYXRhVHlwZSJfcywgY29udmVydEVudW1lcmF0aW9uVG9TdHJpbmcoY29uZmlndXJh
dGlvbi5oZHJNZXRhZGF0YVR5cGUudmFsdWUoKSkpOworICAgIGlmIChjb25maWd1cmF0aW9uLnRy
YW5zZmVyRnVuY3Rpb24pCisgICAgICAgIG9iamVjdC0+c2V0U3RyaW5nKCJ0cmFuc2ZlckZ1bmN0
aW9uIl9zLCBjb252ZXJ0RW51bWVyYXRpb25Ub1N0cmluZyhjb25maWd1cmF0aW9uLnRyYW5zZmVy
RnVuY3Rpb24udmFsdWUoKSkpOworICAgIHJldHVybiBvYmplY3Q7Cit9CisKK3N0YXRpYyBSZWY8
SlNPTjo6T2JqZWN0PiB0b0pTT05PYmplY3QoY29uc3QgQXVkaW9Db25maWd1cmF0aW9uJiBjb25m
aWd1cmF0aW9uKQoreworICAgIGF1dG8gb2JqZWN0ID0gSlNPTjo6T2JqZWN0OjpjcmVhdGUoKTsK
KyAgICBvYmplY3QtPnNldFN0cmluZygiY29udGVudFR5cGUiX3MsIGNvbmZpZ3VyYXRpb24uY29u
dGVudFR5cGUpOworICAgIG9iamVjdC0+c2V0U3RyaW5nKCJjaGFubmVscyJfcywgY29uZmlndXJh
dGlvbi5jaGFubmVscyk7CisgICAgb2JqZWN0LT5zZXRJbnRlZ2VyKCJiaXRyYXRlIl9zLCBjb25m
aWd1cmF0aW9uLmJpdHJhdGUpOworICAgIG9iamVjdC0+c2V0RG91YmxlKCJzYW1wbGVyYXRlIl9z
LCBjb25maWd1cmF0aW9uLnNhbXBsZXJhdGUpOworICAgIHJldHVybiBvYmplY3Q7Cit9CisKK3N0
YXRpYyBSZWY8SlNPTjo6T2JqZWN0PiB0b0pTT05PYmplY3QoY29uc3QgTWVkaWFDb25maWd1cmF0
aW9uJiBjb25maWd1cmF0aW9uKQoreworICAgIGF1dG8gb2JqZWN0ID0gSlNPTjo6T2JqZWN0Ojpj
cmVhdGUoKTsKKyAgICBpZiAoY29uZmlndXJhdGlvbi52aWRlbykKKyAgICAgICAgb2JqZWN0LT5z
ZXRWYWx1ZSgidmlkZW8iX3MsIHRvSlNPTk9iamVjdChjb25maWd1cmF0aW9uLnZpZGVvLnZhbHVl
KCkpKTsKKyAgICBpZiAoY29uZmlndXJhdGlvbi5hdWRpbykKKyAgICAgICAgb2JqZWN0LT5zZXRW
YWx1ZSgiYXVkaW8iX3MsIHRvSlNPTk9iamVjdChjb25maWd1cmF0aW9uLmF1ZGlvLnZhbHVlKCkp
KTsKKyAgICByZXR1cm4gb2JqZWN0OworfQorCitzdGF0aWMgUmVmPEpTT046Ok9iamVjdD4gdG9K
U09OT2JqZWN0KGNvbnN0IE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uJiBjb25maWd1cmF0aW9u
KQoreworICAgIGF1dG8gb2JqZWN0ID0gdG9KU09OT2JqZWN0KHN0YXRpY19jYXN0PGNvbnN0IE1l
ZGlhQ29uZmlndXJhdGlvbiY+KGNvbmZpZ3VyYXRpb24pKTsKKyAgICBvYmplY3QtPnNldFN0cmlu
ZygidHlwZSJfcywgY29udmVydEVudW1lcmF0aW9uVG9TdHJpbmcoY29uZmlndXJhdGlvbi50eXBl
KSk7CisgICAgcmV0dXJuIG9iamVjdDsKK30KKworc3RhdGljIFJlZjxKU09OOjpPYmplY3Q+IHRv
SlNPTk9iamVjdChjb25zdCBNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbiYgY29uZmlndXJhdGlv
bikKK3sKKyAgICBhdXRvIG9iamVjdCA9IHRvSlNPTk9iamVjdChzdGF0aWNfY2FzdDxjb25zdCBN
ZWRpYUNvbmZpZ3VyYXRpb24mPihjb25maWd1cmF0aW9uKSk7CisgICAgb2JqZWN0LT5zZXRTdHJp
bmcoInR5cGUiX3MsIGNvbnZlcnRFbnVtZXJhdGlvblRvU3RyaW5nKGNvbmZpZ3VyYXRpb24udHlw
ZSkpOworICAgIHJldHVybiBvYmplY3Q7Cit9CisKK3N0YXRpYyBSZWY8SlNPTjo6T2JqZWN0PiB0
b0pTT05PYmplY3QoY29uc3QgTWVkaWFDYXBhYmlsaXRpZXNJbmZvJiBpbmZvKQoreworICAgIGF1
dG8gb2JqZWN0ID0gSlNPTjo6T2JqZWN0OjpjcmVhdGUoKTsKKyAgICBvYmplY3QtPnNldEJvb2xl
YW4oInN1cHBvcnRlZCJfcywgaW5mby5zdXBwb3J0ZWQpOworICAgIG9iamVjdC0+c2V0Qm9vbGVh
bigic21vb3RoIl9zLCBpbmZvLnNtb290aCk7CisgICAgb2JqZWN0LT5zZXRCb29sZWFuKCJwb3dl
ckVmZmljaWVudCJfcywgaW5mby5wb3dlckVmZmljaWVudCk7CisgICAgcmV0dXJuIG9iamVjdDsK
K30KKworc3RhdGljIFJlZjxKU09OOjpPYmplY3Q+IHRvSlNPTk9iamVjdChjb25zdCBNZWRpYUNh
cGFiaWxpdGllc0RlY29kaW5nSW5mbyYgaW5mbykKK3sKKyAgICBhdXRvIG9iamVjdCA9IHRvSlNP
Tk9iamVjdChzdGF0aWNfY2FzdDxjb25zdCBNZWRpYUNhcGFiaWxpdGllc0luZm8mPihpbmZvKSk7
CisgICAgb2JqZWN0LT5zZXRWYWx1ZSgic3VwcG9ydGVkQ29uZmlndXJhdGlvbiJfcywgdG9KU09O
T2JqZWN0KGluZm8uc3VwcG9ydGVkQ29uZmlndXJhdGlvbikpOworICAgIHJldHVybiBvYmplY3Q7
Cit9CisKK3N0YXRpYyBSZWY8SlNPTjo6T2JqZWN0PiB0b0pTT05PYmplY3QoY29uc3QgTWVkaWFD
YXBhYmlsaXRpZXNFbmNvZGluZ0luZm8mIGluZm8pCit7CisgICAgYXV0byBvYmplY3QgPSB0b0pT
T05PYmplY3Qoc3RhdGljX2Nhc3Q8Y29uc3QgTWVkaWFDYXBhYmlsaXRpZXNJbmZvJj4oaW5mbykp
OworICAgIG9iamVjdC0+c2V0VmFsdWUoInN1cHBvcnRlZENvbmZpZ3VyYXRpb24iX3MsIHRvSlNP
Tk9iamVjdChpbmZvLnN1cHBvcnRlZENvbmZpZ3VyYXRpb24pKTsKKyAgICByZXR1cm4gb2JqZWN0
OworfQorCitzdGF0aWMgU3RyaW5nIHRvSlNPTlN0cmluZyhjb25zdCBWaWRlb0NvbmZpZ3VyYXRp
b24mIGNvbmZpZ3VyYXRpb24pCit7CisgICAgcmV0dXJuIHRvSlNPTk9iamVjdChjb25maWd1cmF0
aW9uKS0+dG9KU09OU3RyaW5nKCk7Cit9CisKK3N0YXRpYyBTdHJpbmcgdG9KU09OU3RyaW5nKGNv
bnN0IEF1ZGlvQ29uZmlndXJhdGlvbiYgY29uZmlndXJhdGlvbikKK3sKKyAgICByZXR1cm4gdG9K
U09OT2JqZWN0KGNvbmZpZ3VyYXRpb24pLT50b0pTT05TdHJpbmcoKTsKK30KKworc3RhdGljIFN0
cmluZyB0b0pTT05TdHJpbmcoY29uc3QgTWVkaWFDb25maWd1cmF0aW9uJiBjb25maWd1cmF0aW9u
KQoreworICAgIHJldHVybiB0b0pTT05PYmplY3QoY29uZmlndXJhdGlvbiktPnRvSlNPTlN0cmlu
ZygpOworfQorCitzdGF0aWMgU3RyaW5nIHRvSlNPTlN0cmluZyhjb25zdCBNZWRpYURlY29kaW5n
Q29uZmlndXJhdGlvbiYgY29uZmlndXJhdGlvbikKK3sKKyAgICByZXR1cm4gdG9KU09OT2JqZWN0
KGNvbmZpZ3VyYXRpb24pLT50b0pTT05TdHJpbmcoKTsKK30KKworc3RhdGljIFN0cmluZyB0b0pT
T05TdHJpbmcoY29uc3QgTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24mIGNvbmZpZ3VyYXRpb24p
Cit7CisgICAgcmV0dXJuIHRvSlNPTk9iamVjdChjb25maWd1cmF0aW9uKS0+dG9KU09OU3RyaW5n
KCk7Cit9CisKK3N0YXRpYyBTdHJpbmcgdG9KU09OU3RyaW5nKGNvbnN0IE1lZGlhQ2FwYWJpbGl0
aWVzSW5mbyYgaW5mbykKK3sKKyAgICByZXR1cm4gdG9KU09OT2JqZWN0KGluZm8pLT50b0pTT05T
dHJpbmcoKTsKK30KKworc3RhdGljIFN0cmluZyB0b0pTT05TdHJpbmcoY29uc3QgTWVkaWFDYXBh
YmlsaXRpZXNEZWNvZGluZ0luZm8mIGluZm8pCit7CisgICAgcmV0dXJuIHRvSlNPTk9iamVjdChp
bmZvKS0+dG9KU09OU3RyaW5nKCk7Cit9CisKK3N0YXRpYyBTdHJpbmcgdG9KU09OU3RyaW5nKGNv
bnN0IE1lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvJiBpbmZvKQoreworICAgIHJldHVybiB0
b0pTT05PYmplY3QoaW5mbyktPnRvSlNPTlN0cmluZygpOworfQorCit9CisKK25hbWVzcGFjZSBX
VEYgeworCitTdHJpbmcgTG9nQXJndW1lbnQ8V2ViQ29yZTo6VmlkZW9Db25maWd1cmF0aW9uPjo6
dG9TdHJpbmcoY29uc3QgV2ViQ29yZTo6VmlkZW9Db25maWd1cmF0aW9uJiBjb25maWd1cmF0aW9u
KQoreworICAgIHJldHVybiB0b0pTT05TdHJpbmcoY29uZmlndXJhdGlvbik7Cit9CisKK1N0cmlu
ZyBMb2dBcmd1bWVudDxXZWJDb3JlOjpBdWRpb0NvbmZpZ3VyYXRpb24+Ojp0b1N0cmluZyhjb25z
dCBXZWJDb3JlOjpBdWRpb0NvbmZpZ3VyYXRpb24mIGNvbmZpZ3VyYXRpb24pCit7CisgICAgcmV0
dXJuIHRvSlNPTlN0cmluZyhjb25maWd1cmF0aW9uKTsKK30KKworU3RyaW5nIExvZ0FyZ3VtZW50
PFdlYkNvcmU6Ok1lZGlhQ29uZmlndXJhdGlvbj46OnRvU3RyaW5nKGNvbnN0IFdlYkNvcmU6Ok1l
ZGlhQ29uZmlndXJhdGlvbiYgY29uZmlndXJhdGlvbikKK3sKKyAgICByZXR1cm4gdG9KU09OU3Ry
aW5nKGNvbmZpZ3VyYXRpb24pOworfQorCitTdHJpbmcgTG9nQXJndW1lbnQ8V2ViQ29yZTo6TWVk
aWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24+Ojp0b1N0cmluZyhjb25zdCBXZWJDb3JlOjpNZWRpYURl
Y29kaW5nQ29uZmlndXJhdGlvbiYgY29uZmlndXJhdGlvbikKK3sKKyAgICByZXR1cm4gdG9KU09O
U3RyaW5nKGNvbmZpZ3VyYXRpb24pOworfQorCitTdHJpbmcgTG9nQXJndW1lbnQ8V2ViQ29yZTo6
TWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24+Ojp0b1N0cmluZyhjb25zdCBXZWJDb3JlOjpNZWRp
YUVuY29kaW5nQ29uZmlndXJhdGlvbiYgY29uZmlndXJhdGlvbikKK3sKKyAgICByZXR1cm4gdG9K
U09OU3RyaW5nKGNvbmZpZ3VyYXRpb24pOworfQorCitTdHJpbmcgTG9nQXJndW1lbnQ8V2ViQ29y
ZTo6TWVkaWFDYXBhYmlsaXRpZXNJbmZvPjo6dG9TdHJpbmcoY29uc3QgV2ViQ29yZTo6TWVkaWFD
YXBhYmlsaXRpZXNJbmZvJiBpbmZvKQoreworICAgIHJldHVybiB0b0pTT05TdHJpbmcoaW5mbyk7
Cit9CisKK1N0cmluZyBMb2dBcmd1bWVudDxXZWJDb3JlOjpNZWRpYUNhcGFiaWxpdGllc0RlY29k
aW5nSW5mbz46OnRvU3RyaW5nKGNvbnN0IFdlYkNvcmU6Ok1lZGlhQ2FwYWJpbGl0aWVzRGVjb2Rp
bmdJbmZvJiBpbmZvKQoreworICAgIHJldHVybiB0b0pTT05TdHJpbmcoaW5mbyk7Cit9CisKK1N0
cmluZyBMb2dBcmd1bWVudDxXZWJDb3JlOjpNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mbz46
OnRvU3RyaW5nKGNvbnN0IFdlYkNvcmU6Ok1lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvJiBp
bmZvKQoreworICAgIHJldHVybiB0b0pTT05TdHJpbmcoaW5mbyk7Cit9CisKK1N0cmluZyBMb2dB
cmd1bWVudDxXZWJDb3JlOjpDb2xvckdhbXV0Pjo6dG9TdHJpbmcoY29uc3QgV2ViQ29yZTo6Q29s
b3JHYW11dCYgdHlwZSkKK3sKKyAgICByZXR1cm4gY29udmVydEVudW1lcmF0aW9uVG9TdHJpbmco
dHlwZSk7Cit9CisKK1N0cmluZyBMb2dBcmd1bWVudDxXZWJDb3JlOjpIZHJNZXRhZGF0YVR5cGU+
Ojp0b1N0cmluZyhjb25zdCBXZWJDb3JlOjpIZHJNZXRhZGF0YVR5cGUmIHR5cGUpCit7CisgICAg
cmV0dXJuIGNvbnZlcnRFbnVtZXJhdGlvblRvU3RyaW5nKHR5cGUpOworfQorCitTdHJpbmcgTG9n
QXJndW1lbnQ8V2ViQ29yZTo6VHJhbnNmZXJGdW5jdGlvbj46OnRvU3RyaW5nKGNvbnN0IFdlYkNv
cmU6OlRyYW5zZmVyRnVuY3Rpb24mIHR5cGUpCit7CisgICAgcmV0dXJuIGNvbnZlcnRFbnVtZXJh
dGlvblRvU3RyaW5nKHR5cGUpOworfQorCitTdHJpbmcgTG9nQXJndW1lbnQ8V2ViQ29yZTo6TWVk
aWFEZWNvZGluZ1R5cGU+Ojp0b1N0cmluZyhjb25zdCBXZWJDb3JlOjpNZWRpYURlY29kaW5nVHlw
ZSYgdHlwZSkKK3sKKyAgICByZXR1cm4gY29udmVydEVudW1lcmF0aW9uVG9TdHJpbmcodHlwZSk7
Cit9CisKK1N0cmluZyBMb2dBcmd1bWVudDxXZWJDb3JlOjpNZWRpYUVuY29kaW5nVHlwZT46OnRv
U3RyaW5nKGNvbnN0IFdlYkNvcmU6Ok1lZGlhRW5jb2RpbmdUeXBlJiB0eXBlKQoreworICAgIHJl
dHVybiBjb252ZXJ0RW51bWVyYXRpb25Ub1N0cmluZyh0eXBlKTsKK30KKworfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmls
aXRpZXNMb2dnaW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGll
cy9NZWRpYUNhcGFiaWxpdGllc0xvZ2dpbmcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MGRmMWIwZTEwMWZmNTlh
ZTVmY2U2YWE1NzA1ZGZhMjVlNjZlNTNkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXNMb2dnaW5nLmgK
QEAgLTAsMCArMSwxMTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitzdHJ1Y3QgVmlkZW9Db25maWd1cmF0aW9uOworc3RydWN0IEF1ZGlvQ29u
ZmlndXJhdGlvbjsKK3N0cnVjdCBNZWRpYUNvbmZpZ3VyYXRpb247CitzdHJ1Y3QgTWVkaWFEZWNv
ZGluZ0NvbmZpZ3VyYXRpb247CitzdHJ1Y3QgTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb247Citz
dHJ1Y3QgTWVkaWFDYXBhYmlsaXRpZXNJbmZvOworc3RydWN0IE1lZGlhQ2FwYWJpbGl0aWVzRGVj
b2RpbmdJbmZvOworc3RydWN0IE1lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvOworCitlbnVt
IGNsYXNzIENvbG9yR2FtdXQ7CitlbnVtIGNsYXNzIEhkck1ldGFkYXRhVHlwZTsKK2VudW0gY2xh
c3MgVHJhbnNmZXJGdW5jdGlvbjsKK2VudW0gY2xhc3MgTWVkaWFEZWNvZGluZ1R5cGU7CitlbnVt
IGNsYXNzIE1lZGlhRW5jb2RpbmdUeXBlOworCit9CisKK25hbWVzcGFjZSBXVEYgeworCit0ZW1w
bGF0ZTx0eXBlbmFtZT4KK3N0cnVjdCBMb2dBcmd1bWVudDsKKwordGVtcGxhdGUgPD4KK3N0cnVj
dCBMb2dBcmd1bWVudDxXZWJDb3JlOjpWaWRlb0NvbmZpZ3VyYXRpb24+IHsKKyAgICBzdGF0aWMg
U3RyaW5nIHRvU3RyaW5nKGNvbnN0IFdlYkNvcmU6OlZpZGVvQ29uZmlndXJhdGlvbiYpOworfTsK
KwordGVtcGxhdGUgPD4KK3N0cnVjdCBMb2dBcmd1bWVudDxXZWJDb3JlOjpBdWRpb0NvbmZpZ3Vy
YXRpb24+IHsKKyAgICBzdGF0aWMgU3RyaW5nIHRvU3RyaW5nKGNvbnN0IFdlYkNvcmU6OkF1ZGlv
Q29uZmlndXJhdGlvbiYpOworfTsKKwordGVtcGxhdGUgPD4KK3N0cnVjdCBMb2dBcmd1bWVudDxX
ZWJDb3JlOjpNZWRpYUNvbmZpZ3VyYXRpb24+IHsKKyAgICBzdGF0aWMgU3RyaW5nIHRvU3RyaW5n
KGNvbnN0IFdlYkNvcmU6Ok1lZGlhQ29uZmlndXJhdGlvbiYpOworfTsKKwordGVtcGxhdGUgPD4K
K3N0cnVjdCBMb2dBcmd1bWVudDxXZWJDb3JlOjpNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbj4g
eworICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoY29uc3QgV2ViQ29yZTo6TWVkaWFEZWNvZGlu
Z0NvbmZpZ3VyYXRpb24mKTsKK307CisKK3RlbXBsYXRlIDw+CitzdHJ1Y3QgTG9nQXJndW1lbnQ8
V2ViQ29yZTo6TWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24+IHsKKyAgICBzdGF0aWMgU3RyaW5n
IHRvU3RyaW5nKGNvbnN0IFdlYkNvcmU6Ok1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uJik7Cit9
OworCit0ZW1wbGF0ZSA8Pgorc3RydWN0IExvZ0FyZ3VtZW50PFdlYkNvcmU6Ok1lZGlhQ2FwYWJp
bGl0aWVzSW5mbz4geworICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoY29uc3QgV2ViQ29yZTo6
TWVkaWFDYXBhYmlsaXRpZXNJbmZvJik7Cit9OworCit0ZW1wbGF0ZSA8Pgorc3RydWN0IExvZ0Fy
Z3VtZW50PFdlYkNvcmU6Ok1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvPiB7CisgICAgc3Rh
dGljIFN0cmluZyB0b1N0cmluZyhjb25zdCBXZWJDb3JlOjpNZWRpYUNhcGFiaWxpdGllc0RlY29k
aW5nSW5mbyYpOworfTsKKwordGVtcGxhdGUgPD4KK3N0cnVjdCBMb2dBcmd1bWVudDxXZWJDb3Jl
OjpNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mbz4geworICAgIHN0YXRpYyBTdHJpbmcgdG9T
dHJpbmcoY29uc3QgV2ViQ29yZTo6TWVkaWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm8mKTsKK307
CisKK3RlbXBsYXRlIDw+CitzdHJ1Y3QgTG9nQXJndW1lbnQ8V2ViQ29yZTo6Q29sb3JHYW11dD4g
eworICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoY29uc3QgV2ViQ29yZTo6Q29sb3JHYW11dCYp
OworfTsKKwordGVtcGxhdGUgPD4KK3N0cnVjdCBMb2dBcmd1bWVudDxXZWJDb3JlOjpIZHJNZXRh
ZGF0YVR5cGU+IHsKKyAgICBzdGF0aWMgU3RyaW5nIHRvU3RyaW5nKGNvbnN0IFdlYkNvcmU6Okhk
ck1ldGFkYXRhVHlwZSYpOworfTsKKwordGVtcGxhdGUgPD4KK3N0cnVjdCBMb2dBcmd1bWVudDxX
ZWJDb3JlOjpUcmFuc2ZlckZ1bmN0aW9uPiB7CisgICAgc3RhdGljIFN0cmluZyB0b1N0cmluZyhj
b25zdCBXZWJDb3JlOjpUcmFuc2ZlckZ1bmN0aW9uJik7Cit9OworCit0ZW1wbGF0ZSA8Pgorc3Ry
dWN0IExvZ0FyZ3VtZW50PFdlYkNvcmU6Ok1lZGlhRGVjb2RpbmdUeXBlPiB7CisgICAgc3RhdGlj
IFN0cmluZyB0b1N0cmluZyhjb25zdCBXZWJDb3JlOjpNZWRpYURlY29kaW5nVHlwZSYpOworfTsK
KwordGVtcGxhdGUgPD4KK3N0cnVjdCBMb2dBcmd1bWVudDxXZWJDb3JlOjpNZWRpYUVuY29kaW5n
VHlwZT4geworICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoY29uc3QgV2ViQ29yZTo6TWVkaWFF
bmNvZGluZ1R5cGUmKTsKK307CisKK30K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385534</attachid>
            <date>2019-12-12 12:55:43 -0800</date>
            <delta_ts>2019-12-12 13:15:59 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-205172-20191212125542.patch</filename>
            <type>text/plain</type>
            <size>21711</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzMTU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2ExNWEwNWQxZjNhOGE4
ODRhNDNhYWJhNGYzMDQzY2NkMzk0YjgzNS4uN2Q4Y2Y0Yjk2MTYyN2JkZmJkZTliODVjNjExN2Q0
MGY3MzgwOTczMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDE5LTEyLTEyICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBsb2dnaW5nIGZvciBN
ZWRpYUNhcGFiaWxpdGllcy5kZWNvZGVJbmZvKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTE3MgorCisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMg
Q2FybHNvbi4KKworICAgICAgICBBZGQgbG9nZ2luZyBmb3IgZGVjb2RpbmdJbmZvKCkgdGhhdCBj
YW4gZW1pdCBzdHJpbmcgdmVyc2lvbnMgb2YgYm90aCB0aGUgaW5wdXQKKyAgICAgICAgTWVkaWFD
b25maWd1cmF0aW9uIGFuZCB0aGUgb3V0cHV0IE1lZGlhQ2FwYWJpbGl0aWVzSW5mbyBvYmplY3Rz
LgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGll
cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNhcGFiaWxpdGllczo6ZGVjb2RpbmdJbmZv
KToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVk
aWFDYXBhYmlsaXRpZXNMb2dnaW5nLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjp0b0pT
T05PYmplY3QpOgorICAgICAgICAoV2ViQ29yZTo6dG9KU09OU3RyaW5nKToKKyAgICAgICAgKFdU
Rjo6TG9nQXJndW1lbnQ8V2ViQ29yZTo6VmlkZW9Db25maWd1cmF0aW9uPjo6dG9TdHJpbmcpOgor
ICAgICAgICAoV1RGOjpMb2dBcmd1bWVudDxXZWJDb3JlOjpBdWRpb0NvbmZpZ3VyYXRpb24+Ojp0
b1N0cmluZyk6CisgICAgICAgIChXVEY6OkxvZ0FyZ3VtZW50PFdlYkNvcmU6Ok1lZGlhQ29uZmln
dXJhdGlvbj46OnRvU3RyaW5nKToKKyAgICAgICAgKFdURjo6TG9nQXJndW1lbnQ8V2ViQ29yZTo6
TWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24+Ojp0b1N0cmluZyk6CisgICAgICAgIChXVEY6Okxv
Z0FyZ3VtZW50PFdlYkNvcmU6Ok1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uPjo6dG9TdHJpbmcp
OgorICAgICAgICAoV1RGOjpMb2dBcmd1bWVudDxXZWJDb3JlOjpNZWRpYUNhcGFiaWxpdGllc0lu
Zm8+Ojp0b1N0cmluZyk6CisgICAgICAgIChXVEY6OkxvZ0FyZ3VtZW50PFdlYkNvcmU6Ok1lZGlh
Q2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvPjo6dG9TdHJpbmcpOgorICAgICAgICAoV1RGOjpMb2dB
cmd1bWVudDxXZWJDb3JlOjpNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mbz46OnRvU3RyaW5n
KToKKyAgICAgICAgKFdURjo6TG9nQXJndW1lbnQ8V2ViQ29yZTo6Q29sb3JHYW11dD46OnRvU3Ry
aW5nKToKKyAgICAgICAgKFdURjo6TG9nQXJndW1lbnQ8V2ViQ29yZTo6SGRyTWV0YWRhdGFUeXBl
Pjo6dG9TdHJpbmcpOgorICAgICAgICAoV1RGOjpMb2dBcmd1bWVudDxXZWJDb3JlOjpUcmFuc2Zl
ckZ1bmN0aW9uPjo6dG9TdHJpbmcpOgorICAgICAgICAoV1RGOjpMb2dBcmd1bWVudDxXZWJDb3Jl
OjpNZWRpYURlY29kaW5nVHlwZT46OnRvU3RyaW5nKToKKyAgICAgICAgKFdURjo6TG9nQXJndW1l
bnQ8V2ViQ29yZTo6TWVkaWFFbmNvZGluZ1R5cGU+Ojp0b1N0cmluZyk6CisgICAgICAgICogcGxh
dGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXNMb2dnaW5nLmg6IEFkZGVk
LgorCiAyMDE5LTEyLTAyICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAg
ICAgIEFkb3B0IEFWQ29udGVudEtleVJlcG9ydEdyb3VwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXMu
Y3BwCmluZGV4IDI2M2MwNmZhN2I1NTk3ODY0ZWFmMzFhOTQ1OWU1M2NiMGIyMzExYzQuLjgzZjYw
YzY1NjdmMzM1Y2JkM2NhNWZlZTZjNWYwNWZmM2Q4NzExYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXMuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmls
aXRpZXMuY3BwCkBAIC0zMSwxMyArMzEsMTYgQEAKICNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZl
cnJlZC5oIgogI2luY2x1ZGUgIkpTTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8uaCIKICNp
bmNsdWRlICJKU01lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvLmgiCisjaW5jbHVkZSAiTG9n
Z2luZy5oIgogI2luY2x1ZGUgIk1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvLmgiCiAjaW5j
bHVkZSAiTWVkaWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm8uaCIKKyNpbmNsdWRlICJNZWRpYUNh
cGFiaWxpdGllc0xvZ2dpbmcuaCIKICNpbmNsdWRlICJNZWRpYURlY29kaW5nQ29uZmlndXJhdGlv
bi5oIgogI2luY2x1ZGUgIk1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uLmgiCiAjaW5jbHVkZSAi
TWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeS5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgi
CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KKyNpbmNsdWRlIDx3dGYvTG9nZ2VyLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMTY3LDEwICsxNzAsMTYgQEAgdm9pZCBNZWRpYUNhcGFi
aWxpdGllczo6ZGVjb2RpbmdJbmZvKERvY3VtZW50JiBkb2N1bWVudCwgTWVkaWFEZWNvZGluZ0Nv
bmZpZ3VyYXQKICAgICAvLyAyLjQgTWVkaWEgQ2FwYWJpbGl0aWVzIEludGVyZmFjZQogICAgIC8v
IGh0dHBzOi8vd2ljZy5naXRodWIuaW8vbWVkaWEtY2FwYWJpbGl0aWVzLyNtZWRpYS1jYXBhYmls
aXRpZXMtaW50ZXJmYWNlCiAKKyAgICBhdXRvIGlkZW50aWZpZXIgPSBXVEY6OkxvZ2dlcjo6TG9n
U2l0ZUlkZW50aWZpZXIoIk1lZGlhQ2FwYWJpbGl0aWVzIiwgX19mdW5jX18sIHRoaXMpOworICAg
IFJlZjxMb2dnZXI+IGxvZ2dlciA9IGRvY3VtZW50LmxvZ2dlcigpOworCiAgICAgLy8gMS4gSWYg
Y29uZmlndXJhdGlvbiBpcyBub3QgYSB2YWxpZCBNZWRpYUNvbmZpZ3VyYXRpb24sIHJldHVybiBh
IFByb21pc2UgcmVqZWN0ZWQgd2l0aCBhIFR5cGVFcnJvci4KICAgICAvLyAyLiBJZiBjb25maWd1
cmF0aW9uLnZpZGVvIGlzIHByZXNlbnQgYW5kIGlzIG5vdCBhIHZhbGlkIHZpZGVvIGNvbmZpZ3Vy
YXRpb24sIHJldHVybiBhIFByb21pc2UgcmVqZWN0ZWQgd2l0aCBhIFR5cGVFcnJvci4KICAgICAv
LyAzLiBJZiBjb25maWd1cmF0aW9uLmF1ZGlvIGlzIHByZXNlbnQgYW5kIGlzIG5vdCBhIHZhbGlk
IGF1ZGlvIGNvbmZpZ3VyYXRpb24sIHJldHVybiBhIFByb21pc2UgcmVqZWN0ZWQgd2l0aCBhIFR5
cGVFcnJvci4KICAgICBpZiAoIWlzVmFsaWRNZWRpYUNvbmZpZ3VyYXRpb24oY29uZmlndXJhdGlv
bikpIHsKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICAgICAgbG9nZ2VyLT5pbmZvKExv
Z01lZGlhLCBpZGVudGlmaWVyLCAiIC0gUmVqZWN0ZWQuIGNvbmZpZ3VyYXRpb246ICIsIGNvbmZp
Z3VyYXRpb24pOworI2VuZGlmCiAgICAgICAgIHByb21pc2UtPnJlamVjdChUeXBlRXJyb3IpOwog
ICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtMTgxLDEwICsxOTAsMTAgQEAgdm9pZCBNZWRpYUNh
cGFiaWxpdGllczo6ZGVjb2RpbmdJbmZvKERvY3VtZW50JiBkb2N1bWVudCwgTWVkaWFEZWNvZGlu
Z0NvbmZpZ3VyYXQKICAgICAvLyA0LiBMZXQgcCBiZSBhIG5ldyBwcm9taXNlLgogICAgIC8vIDUu
IEluIHBhcmFsbGVsLCBydW4gdGhlIGNyZWF0ZSBhIE1lZGlhQ2FwYWJpbGl0aWVzSW5mbyBhbGdv
cml0aG0gd2l0aCBjb25maWd1cmF0aW9uIGFuZCByZXNvbHZlIHAgd2l0aCBpdHMgcmVzdWx0Lgog
ICAgIC8vIDYuIFJldHVybiBwLgotICAgIG1fdGFza1F1ZXVlLmVucXVldWVUYXNrKFtjb25maWd1
cmF0aW9uID0gV1RGTW92ZShjb25maWd1cmF0aW9uKSwgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlz
ZSldICgpIG11dGFibGUgeworICAgIG1fdGFza1F1ZXVlLmVucXVldWVUYXNrKFtjb25maWd1cmF0
aW9uID0gV1RGTW92ZShjb25maWd1cmF0aW9uKSwgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSks
IGxvZ2dlciA9IFdURk1vdmUobG9nZ2VyKSwgaWRlbnRpZmllciA9IFdURk1vdmUoaWRlbnRpZmll
cildICgpIG11dGFibGUgewogCiAgICAgICAgIC8vIDIuMi4zIElmIGNvbmZpZ3VyYXRpb24gaXMg
b2YgdHlwZSBNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbiwgcnVuIHRoZSBmb2xsb3dpbmcgc3Vi
c3RlcHM6Ci0gICAgICAgIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OkRlY29kaW5n
Q29uZmlndXJhdGlvbkNhbGxiYWNrIGNhbGxiYWNrID0gW3Byb21pc2UgPSBXVEZNb3ZlKHByb21p
c2UpXSAoYXV0byBpbmZvKSBtdXRhYmxlIHsKKyAgICAgICAgTWVkaWFFbmdpbmVDb25maWd1cmF0
aW9uRmFjdG9yeTo6RGVjb2RpbmdDb25maWd1cmF0aW9uQ2FsbGJhY2sgY2FsbGJhY2sgPSBbcHJv
bWlzZSA9IFdURk1vdmUocHJvbWlzZSksIGxvZ2dlciA9IFdURk1vdmUobG9nZ2VyKSwgaWRlbnRp
ZmllciA9IFdURk1vdmUoaWRlbnRpZmllcildIChhdXRvIGluZm8pIG11dGFibGUgewogICAgICAg
ICAgICAgLy8gMi4yLjMuMS4gSWYgdGhlIHVzZXIgYWdlbnQgaXMgYWJsZSB0byBkZWNvZGUgdGhl
IG1lZGlhIHJlcHJlc2VudGVkIGJ5CiAgICAgICAgICAgICAvLyBjb25maWd1cmF0aW9uLCBzZXQg
c3VwcG9ydGVkIHRvIHRydWUuIE90aGVyd2lzZSBzZXQgaXQgdG8gZmFsc2UuCiAgICAgICAgICAg
ICAvLyAyLjIuMy4yLiBJZiB0aGUgdXNlciBhZ2VudCBpcyBhYmxlIHRvIGRlY29kZSB0aGUgbWVk
aWEgcmVwcmVzZW50ZWQgYnkKQEAgLTE5Niw2ICsyMDUsOSBAQCB2b2lkIE1lZGlhQ2FwYWJpbGl0
aWVzOjpkZWNvZGluZ0luZm8oRG9jdW1lbnQmIGRvY3VtZW50LCBNZWRpYURlY29kaW5nQ29uZmln
dXJhdAogICAgICAgICAgICAgLy8gY29uc2lkZXJhdGlvbiB0aGUgY3VycmVudCBwb3dlciBzb3Vy
Y2UgaW4gb3JkZXIgdG8gZGV0ZXJtaW5lIHRoZQogICAgICAgICAgICAgLy8gZGVjb2RpbmcgcG93
ZXIgZWZmaWNpZW5jeSB1bmxlc3MgdGhlIGRldmljZeKAmXMgcG93ZXIgc291cmNlIGhhcyBzaWRl
CiAgICAgICAgICAgICAvLyBlZmZlY3RzIHN1Y2ggYXMgZW5hYmxpbmcgZGlmZmVyZW50IGRlY29k
aW5nIG1vZHVsZXMuCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgICAgICAgICBsb2dn
ZXItPmluZm8oTG9nTWVkaWEsIGlkZW50aWZpZXIsICI6OmNhbGxiYWNrKCkgLSBSZXNvbHZlZC4g
aW5mbzogIiwgaW5mbyk7CisjZW5kaWYKICAgICAgICAgICAgIHByb21pc2UtPnJlc29sdmU8SURM
RGljdGlvbmFyeTxNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mbz4+KFdURk1vdmUoaW5mbykp
OwogICAgICAgICB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBi
L1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IDkxNzQ4N2UxMWQzYTNhNmRlZmU1NGVk
MDdiN2ZiOGJjZTk3OWRmZjMuLmE4NGNkMzkyMDAwMDZiOTJkNTVlYjdlOTQ5NGEwODJmMWY2MDk1
ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0xOTU0LDYgKzE5NTQsNyBAQCBwbGF0Zm9ybS9ncmFwaGlj
cy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmNwcAogcGxhdGZvcm0vZ3JhcGhpY3Mv
dHJhbnNmb3Jtcy9UcmFuc2xhdGVUcmFuc2Zvcm1PcGVyYXRpb24uY3BwCiAKIHBsYXRmb3JtL21l
ZGlhY2FwYWJpbGl0aWVzL01lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkuY3BwCitwbGF0
Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllc0xvZ2dpbmcuY3BwCiAKIHBs
YXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGVNb2NrLmNwcAogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXgg
MzRmNzMyODZiNzdkODQxOWRlNDE5YWM2MWFlZTQ1ZWMzNTI0MjMyMi4uZDk2ZDVjODE1MmVhOGYy
MWMwZGM5YjA5MDZjMTc1NTkwMGYxYjc4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTM3MDEsNiArMTM3MDEsOCBAQAogCQlD
RDJGNEEyMjE4RDg5RjcwMDA2Mzc0NkQgLyogQXVkaW9IYXJkd2FyZUxpc3RlbmVyLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEF1ZGlvSGFyZHdhcmVMaXN0ZW5lci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRDJGNEEyNTE4RDhBMzQ5MDA2Mzc0NkQgLyogQXVk
aW9IYXJkd2FyZUxpc3RlbmVyTWFjLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEF1ZGlvSGFyZHdhcmVMaXN0ZW5lck1hYy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUNEMkY0QTI2MThEOEEzNDkwMDYzNzQ2RCAvKiBBdWRpb0hhcmR3YXJlTGlzdGVu
ZXJNYWMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXVkaW9IYXJkd2FyZUxp
c3RlbmVyTWFjLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNEMzBCMjg2MjNBMTcz
QUEwMEQ3NDg4QiAvKiBNZWRpYUNhcGFiaWxpdGllc0xvZ2dpbmcuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0g
TWVkaWFDYXBhYmlsaXRpZXNMb2dnaW5nLmg7IHBhdGggPSBtZWRpYWNhcGFiaWxpdGllcy9NZWRp
YUNhcGFiaWxpdGllc0xvZ2dpbmcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0Qz
MEIyODcyM0ExNzNBQTAwRDc0ODhCIC8qIE1lZGlhQ2FwYWJpbGl0aWVzTG9nZ2luZy5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IG5hbWUgPSBNZWRpYUNhcGFiaWxpdGllc0xvZ2dpbmcuY3BwOyBwYXRoID0gbWVk
aWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXNMb2dnaW5nLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQ0QzMTg2MjAxOTlGMUUyQTAwMzBBMEY3IC8qIENETVByaXZhdGVN
ZWRpYVNvdXJjZUFWRk9iakMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBDRE1Qcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlDRDMxODYyMTE5OUYxRTJBMDAzMEEwRjcgLyogQ0RNUHJpdmF0ZU1lZGlhU291
cmNlQVZGT2JqQy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDRE1Qcml2YXRl
TWVkaWFTb3VyY2VBVkZPYmpDLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNEMzJB
MTg5MTg0RUI0NkEwMDI5QjFCQiAvKiBtZWRpYUNvbnRyb2xzaU9TLmpzICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5qYXZhc2NyaXB0OyBwYXRoID0gbWVkaWFDb250cm9sc2lPUy5qczsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIyNjAyLDYgKzIyNjA0LDggQEAKIAkJCQlDRENDOUJDRTIy
Mzg3RTlBMDBGRkI1MUMgLyogTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8uaCAqLywKIAkJ
CQlDRENDOUJEMDIyMzg3RUFBMDBGRkI1MUMgLyogTWVkaWFDYXBhYmlsaXRpZXNFbmNvZGluZ0lu
Zm8uaCAqLywKIAkJCQlDRDBDOEI1ODIxNDFDOENBMDA2MkY1OUQgLyogTWVkaWFDYXBhYmlsaXRp
ZXNJbmZvLmggKi8sCisJCQkJQ0QzMEIyODcyM0ExNzNBQTAwRDc0ODhCIC8qIE1lZGlhQ2FwYWJp
bGl0aWVzTG9nZ2luZy5jcHAgKi8sCisJCQkJQ0QzMEIyODYyM0ExNzNBQTAwRDc0ODhCIC8qIE1l
ZGlhQ2FwYWJpbGl0aWVzTG9nZ2luZy5oICovLAogCQkJCUNEQkQzRDM1MUZFODVDQkYwMDEyQzU0
NSAvKiBNZWRpYUNvbmZpZ3VyYXRpb24uaCAqLywKIAkJCQlDREJEM0QzNjFGRTg1Q0MwMDAxMkM1
NDUgLyogTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24uaCAqLywKIAkJCQlDREJEM0QzODFGRTg1
Q0MwMDAxMkM1NDUgLyogTWVkaWFEZWNvZGluZ1R5cGUuaCAqLywKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzTG9n
Z2luZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRp
YUNhcGFiaWxpdGllc0xvZ2dpbmcuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZlMzM0NTI0YzIyZjhmZTE1MjY3
ZDhkYjI1OGRhNGYwMWM4NmY0YjUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllc0xvZ2dpbmcuY3BwCkBA
IC0wLDAgKzEsMjMxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1
ZGUgIk1lZGlhQ2FwYWJpbGl0aWVzTG9nZ2luZy5oIgorCisjaW5jbHVkZSAiQXVkaW9Db25maWd1
cmF0aW9uLmgiCisjaW5jbHVkZSAiSlNDb2xvckdhbXV0LmgiCisjaW5jbHVkZSAiSlNIZHJNZXRh
ZGF0YVR5cGUuaCIKKyNpbmNsdWRlICJKU01lZGlhRGVjb2RpbmdUeXBlLmgiCisjaW5jbHVkZSAi
SlNNZWRpYUVuY29kaW5nVHlwZS5oIgorI2luY2x1ZGUgIkpTVHJhbnNmZXJGdW5jdGlvbi5oIgor
I2luY2x1ZGUgIk1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvLmgiCisjaW5jbHVkZSAiTWVk
aWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm8uaCIKKyNpbmNsdWRlICJNZWRpYURlY29kaW5nQ29u
ZmlndXJhdGlvbi5oIgorI2luY2x1ZGUgIk1lZGlhRGVjb2RpbmdUeXBlLmgiCisjaW5jbHVkZSAi
TWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24uaCIKKyNpbmNsdWRlICJNZWRpYUVuY29kaW5nVHlw
ZS5oIgorI2luY2x1ZGUgIlZpZGVvQ29uZmlndXJhdGlvbi5oIgorI2luY2x1ZGUgPHd0Zi9KU09O
VmFsdWVzLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RhdGljIFJlZjxKU09OOjpPYmpl
Y3Q+IHRvSlNPTk9iamVjdChjb25zdCBWaWRlb0NvbmZpZ3VyYXRpb24mIGNvbmZpZ3VyYXRpb24p
Cit7CisgICAgYXV0byBvYmplY3QgPSBKU09OOjpPYmplY3Q6OmNyZWF0ZSgpOworICAgIG9iamVj
dC0+c2V0U3RyaW5nKCJjb250ZW50VHlwZSJfcywgY29uZmlndXJhdGlvbi5jb250ZW50VHlwZSk7
CisgICAgb2JqZWN0LT5zZXRJbnRlZ2VyKCJ3aWR0aCJfcywgY29uZmlndXJhdGlvbi53aWR0aCk7
CisgICAgb2JqZWN0LT5zZXRJbnRlZ2VyKCJoZWlnaHQiX3MsIGNvbmZpZ3VyYXRpb24uaGVpZ2h0
KTsKKyAgICBvYmplY3QtPnNldEludGVnZXIoImJpdHJhdGUiX3MsIGNvbmZpZ3VyYXRpb24uYml0
cmF0ZSk7CisgICAgb2JqZWN0LT5zZXREb3VibGUoImZyYW1lcmF0ZSJfcywgY29uZmlndXJhdGlv
bi5mcmFtZXJhdGUpOworICAgIGlmIChjb25maWd1cmF0aW9uLmFscGhhQ2hhbm5lbCkKKyAgICAg
ICAgb2JqZWN0LT5zZXRCb29sZWFuKCJhbHBoYUNoYW5uZWwiX3MsIGNvbmZpZ3VyYXRpb24uYWxw
aGFDaGFubmVsLnZhbHVlKCkpOworICAgIGlmIChjb25maWd1cmF0aW9uLmNvbG9yR2FtdXQpCisg
ICAgICAgIG9iamVjdC0+c2V0U3RyaW5nKCJjb2xvckdhbXV0Il9zLCBjb252ZXJ0RW51bWVyYXRp
b25Ub1N0cmluZyhjb25maWd1cmF0aW9uLmNvbG9yR2FtdXQudmFsdWUoKSkpOworICAgIGlmIChj
b25maWd1cmF0aW9uLmhkck1ldGFkYXRhVHlwZSkKKyAgICAgICAgb2JqZWN0LT5zZXRTdHJpbmco
Imhkck1ldGFkYXRhVHlwZSJfcywgY29udmVydEVudW1lcmF0aW9uVG9TdHJpbmcoY29uZmlndXJh
dGlvbi5oZHJNZXRhZGF0YVR5cGUudmFsdWUoKSkpOworICAgIGlmIChjb25maWd1cmF0aW9uLnRy
YW5zZmVyRnVuY3Rpb24pCisgICAgICAgIG9iamVjdC0+c2V0U3RyaW5nKCJ0cmFuc2ZlckZ1bmN0
aW9uIl9zLCBjb252ZXJ0RW51bWVyYXRpb25Ub1N0cmluZyhjb25maWd1cmF0aW9uLnRyYW5zZmVy
RnVuY3Rpb24udmFsdWUoKSkpOworICAgIHJldHVybiBvYmplY3Q7Cit9CisKK3N0YXRpYyBSZWY8
SlNPTjo6T2JqZWN0PiB0b0pTT05PYmplY3QoY29uc3QgQXVkaW9Db25maWd1cmF0aW9uJiBjb25m
aWd1cmF0aW9uKQoreworICAgIGF1dG8gb2JqZWN0ID0gSlNPTjo6T2JqZWN0OjpjcmVhdGUoKTsK
KyAgICBvYmplY3QtPnNldFN0cmluZygiY29udGVudFR5cGUiX3MsIGNvbmZpZ3VyYXRpb24uY29u
dGVudFR5cGUpOworICAgIG9iamVjdC0+c2V0U3RyaW5nKCJjaGFubmVscyJfcywgY29uZmlndXJh
dGlvbi5jaGFubmVscyk7CisgICAgb2JqZWN0LT5zZXRJbnRlZ2VyKCJiaXRyYXRlIl9zLCBjb25m
aWd1cmF0aW9uLmJpdHJhdGUpOworICAgIG9iamVjdC0+c2V0RG91YmxlKCJzYW1wbGVyYXRlIl9z
LCBjb25maWd1cmF0aW9uLnNhbXBsZXJhdGUpOworICAgIHJldHVybiBvYmplY3Q7Cit9CisKK3N0
YXRpYyBSZWY8SlNPTjo6T2JqZWN0PiB0b0pTT05PYmplY3QoY29uc3QgTWVkaWFDb25maWd1cmF0
aW9uJiBjb25maWd1cmF0aW9uKQoreworICAgIGF1dG8gb2JqZWN0ID0gSlNPTjo6T2JqZWN0Ojpj
cmVhdGUoKTsKKyAgICBpZiAoY29uZmlndXJhdGlvbi52aWRlbykKKyAgICAgICAgb2JqZWN0LT5z
ZXRWYWx1ZSgidmlkZW8iX3MsIHRvSlNPTk9iamVjdChjb25maWd1cmF0aW9uLnZpZGVvLnZhbHVl
KCkpKTsKKyAgICBpZiAoY29uZmlndXJhdGlvbi5hdWRpbykKKyAgICAgICAgb2JqZWN0LT5zZXRW
YWx1ZSgiYXVkaW8iX3MsIHRvSlNPTk9iamVjdChjb25maWd1cmF0aW9uLmF1ZGlvLnZhbHVlKCkp
KTsKKyAgICByZXR1cm4gb2JqZWN0OworfQorCitzdGF0aWMgUmVmPEpTT046Ok9iamVjdD4gdG9K
U09OT2JqZWN0KGNvbnN0IE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uJiBjb25maWd1cmF0aW9u
KQoreworICAgIGF1dG8gb2JqZWN0ID0gdG9KU09OT2JqZWN0KHN0YXRpY19jYXN0PGNvbnN0IE1l
ZGlhQ29uZmlndXJhdGlvbiY+KGNvbmZpZ3VyYXRpb24pKTsKKyAgICBvYmplY3QtPnNldFN0cmlu
ZygidHlwZSJfcywgY29udmVydEVudW1lcmF0aW9uVG9TdHJpbmcoY29uZmlndXJhdGlvbi50eXBl
KSk7CisgICAgcmV0dXJuIG9iamVjdDsKK30KKworc3RhdGljIFJlZjxKU09OOjpPYmplY3Q+IHRv
SlNPTk9iamVjdChjb25zdCBNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbiYgY29uZmlndXJhdGlv
bikKK3sKKyAgICBhdXRvIG9iamVjdCA9IHRvSlNPTk9iamVjdChzdGF0aWNfY2FzdDxjb25zdCBN
ZWRpYUNvbmZpZ3VyYXRpb24mPihjb25maWd1cmF0aW9uKSk7CisgICAgb2JqZWN0LT5zZXRTdHJp
bmcoInR5cGUiX3MsIGNvbnZlcnRFbnVtZXJhdGlvblRvU3RyaW5nKGNvbmZpZ3VyYXRpb24udHlw
ZSkpOworICAgIHJldHVybiBvYmplY3Q7Cit9CisKK3N0YXRpYyBSZWY8SlNPTjo6T2JqZWN0PiB0
b0pTT05PYmplY3QoY29uc3QgTWVkaWFDYXBhYmlsaXRpZXNJbmZvJiBpbmZvKQoreworICAgIGF1
dG8gb2JqZWN0ID0gSlNPTjo6T2JqZWN0OjpjcmVhdGUoKTsKKyAgICBvYmplY3QtPnNldEJvb2xl
YW4oInN1cHBvcnRlZCJfcywgaW5mby5zdXBwb3J0ZWQpOworICAgIG9iamVjdC0+c2V0Qm9vbGVh
bigic21vb3RoIl9zLCBpbmZvLnNtb290aCk7CisgICAgb2JqZWN0LT5zZXRCb29sZWFuKCJwb3dl
ckVmZmljaWVudCJfcywgaW5mby5wb3dlckVmZmljaWVudCk7CisgICAgcmV0dXJuIG9iamVjdDsK
K30KKworc3RhdGljIFJlZjxKU09OOjpPYmplY3Q+IHRvSlNPTk9iamVjdChjb25zdCBNZWRpYUNh
cGFiaWxpdGllc0RlY29kaW5nSW5mbyYgaW5mbykKK3sKKyAgICBhdXRvIG9iamVjdCA9IHRvSlNP
Tk9iamVjdChzdGF0aWNfY2FzdDxjb25zdCBNZWRpYUNhcGFiaWxpdGllc0luZm8mPihpbmZvKSk7
CisgICAgb2JqZWN0LT5zZXRWYWx1ZSgic3VwcG9ydGVkQ29uZmlndXJhdGlvbiJfcywgdG9KU09O
T2JqZWN0KGluZm8uc3VwcG9ydGVkQ29uZmlndXJhdGlvbikpOworICAgIHJldHVybiBvYmplY3Q7
Cit9CisKK3N0YXRpYyBSZWY8SlNPTjo6T2JqZWN0PiB0b0pTT05PYmplY3QoY29uc3QgTWVkaWFD
YXBhYmlsaXRpZXNFbmNvZGluZ0luZm8mIGluZm8pCit7CisgICAgYXV0byBvYmplY3QgPSB0b0pT
T05PYmplY3Qoc3RhdGljX2Nhc3Q8Y29uc3QgTWVkaWFDYXBhYmlsaXRpZXNJbmZvJj4oaW5mbykp
OworICAgIG9iamVjdC0+c2V0VmFsdWUoInN1cHBvcnRlZENvbmZpZ3VyYXRpb24iX3MsIHRvSlNP
Tk9iamVjdChpbmZvLnN1cHBvcnRlZENvbmZpZ3VyYXRpb24pKTsKKyAgICByZXR1cm4gb2JqZWN0
OworfQorCitzdGF0aWMgU3RyaW5nIHRvSlNPTlN0cmluZyhjb25zdCBWaWRlb0NvbmZpZ3VyYXRp
b24mIGNvbmZpZ3VyYXRpb24pCit7CisgICAgcmV0dXJuIHRvSlNPTk9iamVjdChjb25maWd1cmF0
aW9uKS0+dG9KU09OU3RyaW5nKCk7Cit9CisKK3N0YXRpYyBTdHJpbmcgdG9KU09OU3RyaW5nKGNv
bnN0IEF1ZGlvQ29uZmlndXJhdGlvbiYgY29uZmlndXJhdGlvbikKK3sKKyAgICByZXR1cm4gdG9K
U09OT2JqZWN0KGNvbmZpZ3VyYXRpb24pLT50b0pTT05TdHJpbmcoKTsKK30KKworc3RhdGljIFN0
cmluZyB0b0pTT05TdHJpbmcoY29uc3QgTWVkaWFDb25maWd1cmF0aW9uJiBjb25maWd1cmF0aW9u
KQoreworICAgIHJldHVybiB0b0pTT05PYmplY3QoY29uZmlndXJhdGlvbiktPnRvSlNPTlN0cmlu
ZygpOworfQorCitzdGF0aWMgU3RyaW5nIHRvSlNPTlN0cmluZyhjb25zdCBNZWRpYURlY29kaW5n
Q29uZmlndXJhdGlvbiYgY29uZmlndXJhdGlvbikKK3sKKyAgICByZXR1cm4gdG9KU09OT2JqZWN0
KGNvbmZpZ3VyYXRpb24pLT50b0pTT05TdHJpbmcoKTsKK30KKworc3RhdGljIFN0cmluZyB0b0pT
T05TdHJpbmcoY29uc3QgTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24mIGNvbmZpZ3VyYXRpb24p
Cit7CisgICAgcmV0dXJuIHRvSlNPTk9iamVjdChjb25maWd1cmF0aW9uKS0+dG9KU09OU3RyaW5n
KCk7Cit9CisKK3N0YXRpYyBTdHJpbmcgdG9KU09OU3RyaW5nKGNvbnN0IE1lZGlhQ2FwYWJpbGl0
aWVzSW5mbyYgaW5mbykKK3sKKyAgICByZXR1cm4gdG9KU09OT2JqZWN0KGluZm8pLT50b0pTT05T
dHJpbmcoKTsKK30KKworc3RhdGljIFN0cmluZyB0b0pTT05TdHJpbmcoY29uc3QgTWVkaWFDYXBh
YmlsaXRpZXNEZWNvZGluZ0luZm8mIGluZm8pCit7CisgICAgcmV0dXJuIHRvSlNPTk9iamVjdChp
bmZvKS0+dG9KU09OU3RyaW5nKCk7Cit9CisKK3N0YXRpYyBTdHJpbmcgdG9KU09OU3RyaW5nKGNv
bnN0IE1lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvJiBpbmZvKQoreworICAgIHJldHVybiB0
b0pTT05PYmplY3QoaW5mbyktPnRvSlNPTlN0cmluZygpOworfQorCit9CisKK25hbWVzcGFjZSBX
VEYgeworCitTdHJpbmcgTG9nQXJndW1lbnQ8V2ViQ29yZTo6VmlkZW9Db25maWd1cmF0aW9uPjo6
dG9TdHJpbmcoY29uc3QgV2ViQ29yZTo6VmlkZW9Db25maWd1cmF0aW9uJiBjb25maWd1cmF0aW9u
KQoreworICAgIHJldHVybiB0b0pTT05TdHJpbmcoY29uZmlndXJhdGlvbik7Cit9CisKK1N0cmlu
ZyBMb2dBcmd1bWVudDxXZWJDb3JlOjpBdWRpb0NvbmZpZ3VyYXRpb24+Ojp0b1N0cmluZyhjb25z
dCBXZWJDb3JlOjpBdWRpb0NvbmZpZ3VyYXRpb24mIGNvbmZpZ3VyYXRpb24pCit7CisgICAgcmV0
dXJuIHRvSlNPTlN0cmluZyhjb25maWd1cmF0aW9uKTsKK30KKworU3RyaW5nIExvZ0FyZ3VtZW50
PFdlYkNvcmU6Ok1lZGlhQ29uZmlndXJhdGlvbj46OnRvU3RyaW5nKGNvbnN0IFdlYkNvcmU6Ok1l
ZGlhQ29uZmlndXJhdGlvbiYgY29uZmlndXJhdGlvbikKK3sKKyAgICByZXR1cm4gdG9KU09OU3Ry
aW5nKGNvbmZpZ3VyYXRpb24pOworfQorCitTdHJpbmcgTG9nQXJndW1lbnQ8V2ViQ29yZTo6TWVk
aWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24+Ojp0b1N0cmluZyhjb25zdCBXZWJDb3JlOjpNZWRpYURl
Y29kaW5nQ29uZmlndXJhdGlvbiYgY29uZmlndXJhdGlvbikKK3sKKyAgICByZXR1cm4gdG9KU09O
U3RyaW5nKGNvbmZpZ3VyYXRpb24pOworfQorCitTdHJpbmcgTG9nQXJndW1lbnQ8V2ViQ29yZTo6
TWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24+Ojp0b1N0cmluZyhjb25zdCBXZWJDb3JlOjpNZWRp
YUVuY29kaW5nQ29uZmlndXJhdGlvbiYgY29uZmlndXJhdGlvbikKK3sKKyAgICByZXR1cm4gdG9K
U09OU3RyaW5nKGNvbmZpZ3VyYXRpb24pOworfQorCitTdHJpbmcgTG9nQXJndW1lbnQ8V2ViQ29y
ZTo6TWVkaWFDYXBhYmlsaXRpZXNJbmZvPjo6dG9TdHJpbmcoY29uc3QgV2ViQ29yZTo6TWVkaWFD
YXBhYmlsaXRpZXNJbmZvJiBpbmZvKQoreworICAgIHJldHVybiB0b0pTT05TdHJpbmcoaW5mbyk7
Cit9CisKK1N0cmluZyBMb2dBcmd1bWVudDxXZWJDb3JlOjpNZWRpYUNhcGFiaWxpdGllc0RlY29k
aW5nSW5mbz46OnRvU3RyaW5nKGNvbnN0IFdlYkNvcmU6Ok1lZGlhQ2FwYWJpbGl0aWVzRGVjb2Rp
bmdJbmZvJiBpbmZvKQoreworICAgIHJldHVybiB0b0pTT05TdHJpbmcoaW5mbyk7Cit9CisKK1N0
cmluZyBMb2dBcmd1bWVudDxXZWJDb3JlOjpNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mbz46
OnRvU3RyaW5nKGNvbnN0IFdlYkNvcmU6Ok1lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvJiBp
bmZvKQoreworICAgIHJldHVybiB0b0pTT05TdHJpbmcoaW5mbyk7Cit9CisKK1N0cmluZyBMb2dB
cmd1bWVudDxXZWJDb3JlOjpDb2xvckdhbXV0Pjo6dG9TdHJpbmcoY29uc3QgV2ViQ29yZTo6Q29s
b3JHYW11dCYgdHlwZSkKK3sKKyAgICByZXR1cm4gY29udmVydEVudW1lcmF0aW9uVG9TdHJpbmco
dHlwZSk7Cit9CisKK1N0cmluZyBMb2dBcmd1bWVudDxXZWJDb3JlOjpIZHJNZXRhZGF0YVR5cGU+
Ojp0b1N0cmluZyhjb25zdCBXZWJDb3JlOjpIZHJNZXRhZGF0YVR5cGUmIHR5cGUpCit7CisgICAg
cmV0dXJuIGNvbnZlcnRFbnVtZXJhdGlvblRvU3RyaW5nKHR5cGUpOworfQorCitTdHJpbmcgTG9n
QXJndW1lbnQ8V2ViQ29yZTo6VHJhbnNmZXJGdW5jdGlvbj46OnRvU3RyaW5nKGNvbnN0IFdlYkNv
cmU6OlRyYW5zZmVyRnVuY3Rpb24mIHR5cGUpCit7CisgICAgcmV0dXJuIGNvbnZlcnRFbnVtZXJh
dGlvblRvU3RyaW5nKHR5cGUpOworfQorCitTdHJpbmcgTG9nQXJndW1lbnQ8V2ViQ29yZTo6TWVk
aWFEZWNvZGluZ1R5cGU+Ojp0b1N0cmluZyhjb25zdCBXZWJDb3JlOjpNZWRpYURlY29kaW5nVHlw
ZSYgdHlwZSkKK3sKKyAgICByZXR1cm4gY29udmVydEVudW1lcmF0aW9uVG9TdHJpbmcodHlwZSk7
Cit9CisKK1N0cmluZyBMb2dBcmd1bWVudDxXZWJDb3JlOjpNZWRpYUVuY29kaW5nVHlwZT46OnRv
U3RyaW5nKGNvbnN0IFdlYkNvcmU6Ok1lZGlhRW5jb2RpbmdUeXBlJiB0eXBlKQoreworICAgIHJl
dHVybiBjb252ZXJ0RW51bWVyYXRpb25Ub1N0cmluZyh0eXBlKTsKK30KKworfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmls
aXRpZXNMb2dnaW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGll
cy9NZWRpYUNhcGFiaWxpdGllc0xvZ2dpbmcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40Nzg1N2EzZGQ1OGQ5NTQ0
ZTUwNGIyMjk2NGVjZTI5ZjcwNWJmYzhhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXNMb2dnaW5nLmgK
QEAgLTAsMCArMSwxMTkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUg
PHd0Zi9TdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgVmlkZW9Db25m
aWd1cmF0aW9uOworc3RydWN0IEF1ZGlvQ29uZmlndXJhdGlvbjsKK3N0cnVjdCBNZWRpYUNvbmZp
Z3VyYXRpb247CitzdHJ1Y3QgTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb247CitzdHJ1Y3QgTWVk
aWFFbmNvZGluZ0NvbmZpZ3VyYXRpb247CitzdHJ1Y3QgTWVkaWFDYXBhYmlsaXRpZXNJbmZvOwor
c3RydWN0IE1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvOworc3RydWN0IE1lZGlhQ2FwYWJp
bGl0aWVzRW5jb2RpbmdJbmZvOworCitlbnVtIGNsYXNzIENvbG9yR2FtdXQ7CitlbnVtIGNsYXNz
IEhkck1ldGFkYXRhVHlwZTsKK2VudW0gY2xhc3MgVHJhbnNmZXJGdW5jdGlvbjsKK2VudW0gY2xh
c3MgTWVkaWFEZWNvZGluZ1R5cGU7CitlbnVtIGNsYXNzIE1lZGlhRW5jb2RpbmdUeXBlOworCit9
CisKK25hbWVzcGFjZSBXVEYgeworCit0ZW1wbGF0ZTx0eXBlbmFtZT4KK3N0cnVjdCBMb2dBcmd1
bWVudDsKKwordGVtcGxhdGUgPD4KK3N0cnVjdCBMb2dBcmd1bWVudDxXZWJDb3JlOjpWaWRlb0Nv
bmZpZ3VyYXRpb24+IHsKKyAgICBzdGF0aWMgU3RyaW5nIHRvU3RyaW5nKGNvbnN0IFdlYkNvcmU6
OlZpZGVvQ29uZmlndXJhdGlvbiYpOworfTsKKwordGVtcGxhdGUgPD4KK3N0cnVjdCBMb2dBcmd1
bWVudDxXZWJDb3JlOjpBdWRpb0NvbmZpZ3VyYXRpb24+IHsKKyAgICBzdGF0aWMgU3RyaW5nIHRv
U3RyaW5nKGNvbnN0IFdlYkNvcmU6OkF1ZGlvQ29uZmlndXJhdGlvbiYpOworfTsKKwordGVtcGxh
dGUgPD4KK3N0cnVjdCBMb2dBcmd1bWVudDxXZWJDb3JlOjpNZWRpYUNvbmZpZ3VyYXRpb24+IHsK
KyAgICBzdGF0aWMgU3RyaW5nIHRvU3RyaW5nKGNvbnN0IFdlYkNvcmU6Ok1lZGlhQ29uZmlndXJh
dGlvbiYpOworfTsKKwordGVtcGxhdGUgPD4KK3N0cnVjdCBMb2dBcmd1bWVudDxXZWJDb3JlOjpN
ZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbj4geworICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmco
Y29uc3QgV2ViQ29yZTo6TWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24mKTsKK307CisKK3RlbXBs
YXRlIDw+CitzdHJ1Y3QgTG9nQXJndW1lbnQ8V2ViQ29yZTo6TWVkaWFFbmNvZGluZ0NvbmZpZ3Vy
YXRpb24+IHsKKyAgICBzdGF0aWMgU3RyaW5nIHRvU3RyaW5nKGNvbnN0IFdlYkNvcmU6Ok1lZGlh
RW5jb2RpbmdDb25maWd1cmF0aW9uJik7Cit9OworCit0ZW1wbGF0ZSA8Pgorc3RydWN0IExvZ0Fy
Z3VtZW50PFdlYkNvcmU6Ok1lZGlhQ2FwYWJpbGl0aWVzSW5mbz4geworICAgIHN0YXRpYyBTdHJp
bmcgdG9TdHJpbmcoY29uc3QgV2ViQ29yZTo6TWVkaWFDYXBhYmlsaXRpZXNJbmZvJik7Cit9Owor
Cit0ZW1wbGF0ZSA8Pgorc3RydWN0IExvZ0FyZ3VtZW50PFdlYkNvcmU6Ok1lZGlhQ2FwYWJpbGl0
aWVzRGVjb2RpbmdJbmZvPiB7CisgICAgc3RhdGljIFN0cmluZyB0b1N0cmluZyhjb25zdCBXZWJD
b3JlOjpNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mbyYpOworfTsKKwordGVtcGxhdGUgPD4K
K3N0cnVjdCBMb2dBcmd1bWVudDxXZWJDb3JlOjpNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5m
bz4geworICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoY29uc3QgV2ViQ29yZTo6TWVkaWFDYXBh
YmlsaXRpZXNFbmNvZGluZ0luZm8mKTsKK307CisKK3RlbXBsYXRlIDw+CitzdHJ1Y3QgTG9nQXJn
dW1lbnQ8V2ViQ29yZTo6Q29sb3JHYW11dD4geworICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmco
Y29uc3QgV2ViQ29yZTo6Q29sb3JHYW11dCYpOworfTsKKwordGVtcGxhdGUgPD4KK3N0cnVjdCBM
b2dBcmd1bWVudDxXZWJDb3JlOjpIZHJNZXRhZGF0YVR5cGU+IHsKKyAgICBzdGF0aWMgU3RyaW5n
IHRvU3RyaW5nKGNvbnN0IFdlYkNvcmU6Okhkck1ldGFkYXRhVHlwZSYpOworfTsKKwordGVtcGxh
dGUgPD4KK3N0cnVjdCBMb2dBcmd1bWVudDxXZWJDb3JlOjpUcmFuc2ZlckZ1bmN0aW9uPiB7Cisg
ICAgc3RhdGljIFN0cmluZyB0b1N0cmluZyhjb25zdCBXZWJDb3JlOjpUcmFuc2ZlckZ1bmN0aW9u
Jik7Cit9OworCit0ZW1wbGF0ZSA8Pgorc3RydWN0IExvZ0FyZ3VtZW50PFdlYkNvcmU6Ok1lZGlh
RGVjb2RpbmdUeXBlPiB7CisgICAgc3RhdGljIFN0cmluZyB0b1N0cmluZyhjb25zdCBXZWJDb3Jl
OjpNZWRpYURlY29kaW5nVHlwZSYpOworfTsKKwordGVtcGxhdGUgPD4KK3N0cnVjdCBMb2dBcmd1
bWVudDxXZWJDb3JlOjpNZWRpYUVuY29kaW5nVHlwZT4geworICAgIHN0YXRpYyBTdHJpbmcgdG9T
dHJpbmcoY29uc3QgV2ViQ29yZTo6TWVkaWFFbmNvZGluZ1R5cGUmKTsKK307CisKK30K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385538</attachid>
            <date>2019-12-12 13:16:00 -0800</date>
            <delta_ts>2019-12-12 16:48:10 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-205172-20191212131559.patch</filename>
            <type>text/plain</type>
            <size>21719</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzMTU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2ExNWEwNWQxZjNhOGE4
ODRhNDNhYWJhNGYzMDQzY2NkMzk0YjgzNS4uN2Q4Y2Y0Yjk2MTYyN2JkZmJkZTliODVjNjExN2Q0
MGY3MzgwOTczMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDE5LTEyLTEyICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBsb2dnaW5nIGZvciBN
ZWRpYUNhcGFiaWxpdGllcy5kZWNvZGVJbmZvKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTE3MgorCisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMg
Q2FybHNvbi4KKworICAgICAgICBBZGQgbG9nZ2luZyBmb3IgZGVjb2RpbmdJbmZvKCkgdGhhdCBj
YW4gZW1pdCBzdHJpbmcgdmVyc2lvbnMgb2YgYm90aCB0aGUgaW5wdXQKKyAgICAgICAgTWVkaWFD
b25maWd1cmF0aW9uIGFuZCB0aGUgb3V0cHV0IE1lZGlhQ2FwYWJpbGl0aWVzSW5mbyBvYmplY3Rz
LgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGll
cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNhcGFiaWxpdGllczo6ZGVjb2RpbmdJbmZv
KToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVk
aWFDYXBhYmlsaXRpZXNMb2dnaW5nLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjp0b0pT
T05PYmplY3QpOgorICAgICAgICAoV2ViQ29yZTo6dG9KU09OU3RyaW5nKToKKyAgICAgICAgKFdU
Rjo6TG9nQXJndW1lbnQ8V2ViQ29yZTo6VmlkZW9Db25maWd1cmF0aW9uPjo6dG9TdHJpbmcpOgor
ICAgICAgICAoV1RGOjpMb2dBcmd1bWVudDxXZWJDb3JlOjpBdWRpb0NvbmZpZ3VyYXRpb24+Ojp0
b1N0cmluZyk6CisgICAgICAgIChXVEY6OkxvZ0FyZ3VtZW50PFdlYkNvcmU6Ok1lZGlhQ29uZmln
dXJhdGlvbj46OnRvU3RyaW5nKToKKyAgICAgICAgKFdURjo6TG9nQXJndW1lbnQ8V2ViQ29yZTo6
TWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24+Ojp0b1N0cmluZyk6CisgICAgICAgIChXVEY6Okxv
Z0FyZ3VtZW50PFdlYkNvcmU6Ok1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uPjo6dG9TdHJpbmcp
OgorICAgICAgICAoV1RGOjpMb2dBcmd1bWVudDxXZWJDb3JlOjpNZWRpYUNhcGFiaWxpdGllc0lu
Zm8+Ojp0b1N0cmluZyk6CisgICAgICAgIChXVEY6OkxvZ0FyZ3VtZW50PFdlYkNvcmU6Ok1lZGlh
Q2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvPjo6dG9TdHJpbmcpOgorICAgICAgICAoV1RGOjpMb2dB
cmd1bWVudDxXZWJDb3JlOjpNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mbz46OnRvU3RyaW5n
KToKKyAgICAgICAgKFdURjo6TG9nQXJndW1lbnQ8V2ViQ29yZTo6Q29sb3JHYW11dD46OnRvU3Ry
aW5nKToKKyAgICAgICAgKFdURjo6TG9nQXJndW1lbnQ8V2ViQ29yZTo6SGRyTWV0YWRhdGFUeXBl
Pjo6dG9TdHJpbmcpOgorICAgICAgICAoV1RGOjpMb2dBcmd1bWVudDxXZWJDb3JlOjpUcmFuc2Zl
ckZ1bmN0aW9uPjo6dG9TdHJpbmcpOgorICAgICAgICAoV1RGOjpMb2dBcmd1bWVudDxXZWJDb3Jl
OjpNZWRpYURlY29kaW5nVHlwZT46OnRvU3RyaW5nKToKKyAgICAgICAgKFdURjo6TG9nQXJndW1l
bnQ8V2ViQ29yZTo6TWVkaWFFbmNvZGluZ1R5cGU+Ojp0b1N0cmluZyk6CisgICAgICAgICogcGxh
dGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXNMb2dnaW5nLmg6IEFkZGVk
LgorCiAyMDE5LTEyLTAyICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAg
ICAgIEFkb3B0IEFWQ29udGVudEtleVJlcG9ydEdyb3VwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXMu
Y3BwCmluZGV4IDI2M2MwNmZhN2I1NTk3ODY0ZWFmMzFhOTQ1OWU1M2NiMGIyMzExYzQuLjgzZjYw
YzY1NjdmMzM1Y2JkM2NhNWZlZTZjNWYwNWZmM2Q4NzExYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXMuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmls
aXRpZXMuY3BwCkBAIC0zMSwxMyArMzEsMTYgQEAKICNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZl
cnJlZC5oIgogI2luY2x1ZGUgIkpTTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8uaCIKICNp
bmNsdWRlICJKU01lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvLmgiCisjaW5jbHVkZSAiTG9n
Z2luZy5oIgogI2luY2x1ZGUgIk1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvLmgiCiAjaW5j
bHVkZSAiTWVkaWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm8uaCIKKyNpbmNsdWRlICJNZWRpYUNh
cGFiaWxpdGllc0xvZ2dpbmcuaCIKICNpbmNsdWRlICJNZWRpYURlY29kaW5nQ29uZmlndXJhdGlv
bi5oIgogI2luY2x1ZGUgIk1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uLmgiCiAjaW5jbHVkZSAi
TWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeS5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgi
CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KKyNpbmNsdWRlIDx3dGYvTG9nZ2VyLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMTY3LDEwICsxNzAsMTYgQEAgdm9pZCBNZWRpYUNhcGFi
aWxpdGllczo6ZGVjb2RpbmdJbmZvKERvY3VtZW50JiBkb2N1bWVudCwgTWVkaWFEZWNvZGluZ0Nv
bmZpZ3VyYXQKICAgICAvLyAyLjQgTWVkaWEgQ2FwYWJpbGl0aWVzIEludGVyZmFjZQogICAgIC8v
IGh0dHBzOi8vd2ljZy5naXRodWIuaW8vbWVkaWEtY2FwYWJpbGl0aWVzLyNtZWRpYS1jYXBhYmls
aXRpZXMtaW50ZXJmYWNlCiAKKyAgICBhdXRvIGlkZW50aWZpZXIgPSBXVEY6OkxvZ2dlcjo6TG9n
U2l0ZUlkZW50aWZpZXIoIk1lZGlhQ2FwYWJpbGl0aWVzIiwgX19mdW5jX18sIHRoaXMpOworICAg
IFJlZjxMb2dnZXI+IGxvZ2dlciA9IGRvY3VtZW50LmxvZ2dlcigpOworCiAgICAgLy8gMS4gSWYg
Y29uZmlndXJhdGlvbiBpcyBub3QgYSB2YWxpZCBNZWRpYUNvbmZpZ3VyYXRpb24sIHJldHVybiBh
IFByb21pc2UgcmVqZWN0ZWQgd2l0aCBhIFR5cGVFcnJvci4KICAgICAvLyAyLiBJZiBjb25maWd1
cmF0aW9uLnZpZGVvIGlzIHByZXNlbnQgYW5kIGlzIG5vdCBhIHZhbGlkIHZpZGVvIGNvbmZpZ3Vy
YXRpb24sIHJldHVybiBhIFByb21pc2UgcmVqZWN0ZWQgd2l0aCBhIFR5cGVFcnJvci4KICAgICAv
LyAzLiBJZiBjb25maWd1cmF0aW9uLmF1ZGlvIGlzIHByZXNlbnQgYW5kIGlzIG5vdCBhIHZhbGlk
IGF1ZGlvIGNvbmZpZ3VyYXRpb24sIHJldHVybiBhIFByb21pc2UgcmVqZWN0ZWQgd2l0aCBhIFR5
cGVFcnJvci4KICAgICBpZiAoIWlzVmFsaWRNZWRpYUNvbmZpZ3VyYXRpb24oY29uZmlndXJhdGlv
bikpIHsKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICAgICAgbG9nZ2VyLT5pbmZvKExv
Z01lZGlhLCBpZGVudGlmaWVyLCAiIC0gUmVqZWN0ZWQuIGNvbmZpZ3VyYXRpb246ICIsIGNvbmZp
Z3VyYXRpb24pOworI2VuZGlmCiAgICAgICAgIHByb21pc2UtPnJlamVjdChUeXBlRXJyb3IpOwog
ICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtMTgxLDEwICsxOTAsMTAgQEAgdm9pZCBNZWRpYUNh
cGFiaWxpdGllczo6ZGVjb2RpbmdJbmZvKERvY3VtZW50JiBkb2N1bWVudCwgTWVkaWFEZWNvZGlu
Z0NvbmZpZ3VyYXQKICAgICAvLyA0LiBMZXQgcCBiZSBhIG5ldyBwcm9taXNlLgogICAgIC8vIDUu
IEluIHBhcmFsbGVsLCBydW4gdGhlIGNyZWF0ZSBhIE1lZGlhQ2FwYWJpbGl0aWVzSW5mbyBhbGdv
cml0aG0gd2l0aCBjb25maWd1cmF0aW9uIGFuZCByZXNvbHZlIHAgd2l0aCBpdHMgcmVzdWx0Lgog
ICAgIC8vIDYuIFJldHVybiBwLgotICAgIG1fdGFza1F1ZXVlLmVucXVldWVUYXNrKFtjb25maWd1
cmF0aW9uID0gV1RGTW92ZShjb25maWd1cmF0aW9uKSwgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlz
ZSldICgpIG11dGFibGUgeworICAgIG1fdGFza1F1ZXVlLmVucXVldWVUYXNrKFtjb25maWd1cmF0
aW9uID0gV1RGTW92ZShjb25maWd1cmF0aW9uKSwgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSks
IGxvZ2dlciA9IFdURk1vdmUobG9nZ2VyKSwgaWRlbnRpZmllciA9IFdURk1vdmUoaWRlbnRpZmll
cildICgpIG11dGFibGUgewogCiAgICAgICAgIC8vIDIuMi4zIElmIGNvbmZpZ3VyYXRpb24gaXMg
b2YgdHlwZSBNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbiwgcnVuIHRoZSBmb2xsb3dpbmcgc3Vi
c3RlcHM6Ci0gICAgICAgIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OkRlY29kaW5n
Q29uZmlndXJhdGlvbkNhbGxiYWNrIGNhbGxiYWNrID0gW3Byb21pc2UgPSBXVEZNb3ZlKHByb21p
c2UpXSAoYXV0byBpbmZvKSBtdXRhYmxlIHsKKyAgICAgICAgTWVkaWFFbmdpbmVDb25maWd1cmF0
aW9uRmFjdG9yeTo6RGVjb2RpbmdDb25maWd1cmF0aW9uQ2FsbGJhY2sgY2FsbGJhY2sgPSBbcHJv
bWlzZSA9IFdURk1vdmUocHJvbWlzZSksIGxvZ2dlciA9IFdURk1vdmUobG9nZ2VyKSwgaWRlbnRp
ZmllciA9IFdURk1vdmUoaWRlbnRpZmllcildIChhdXRvIGluZm8pIG11dGFibGUgewogICAgICAg
ICAgICAgLy8gMi4yLjMuMS4gSWYgdGhlIHVzZXIgYWdlbnQgaXMgYWJsZSB0byBkZWNvZGUgdGhl
IG1lZGlhIHJlcHJlc2VudGVkIGJ5CiAgICAgICAgICAgICAvLyBjb25maWd1cmF0aW9uLCBzZXQg
c3VwcG9ydGVkIHRvIHRydWUuIE90aGVyd2lzZSBzZXQgaXQgdG8gZmFsc2UuCiAgICAgICAgICAg
ICAvLyAyLjIuMy4yLiBJZiB0aGUgdXNlciBhZ2VudCBpcyBhYmxlIHRvIGRlY29kZSB0aGUgbWVk
aWEgcmVwcmVzZW50ZWQgYnkKQEAgLTE5Niw2ICsyMDUsOSBAQCB2b2lkIE1lZGlhQ2FwYWJpbGl0
aWVzOjpkZWNvZGluZ0luZm8oRG9jdW1lbnQmIGRvY3VtZW50LCBNZWRpYURlY29kaW5nQ29uZmln
dXJhdAogICAgICAgICAgICAgLy8gY29uc2lkZXJhdGlvbiB0aGUgY3VycmVudCBwb3dlciBzb3Vy
Y2UgaW4gb3JkZXIgdG8gZGV0ZXJtaW5lIHRoZQogICAgICAgICAgICAgLy8gZGVjb2RpbmcgcG93
ZXIgZWZmaWNpZW5jeSB1bmxlc3MgdGhlIGRldmljZeKAmXMgcG93ZXIgc291cmNlIGhhcyBzaWRl
CiAgICAgICAgICAgICAvLyBlZmZlY3RzIHN1Y2ggYXMgZW5hYmxpbmcgZGlmZmVyZW50IGRlY29k
aW5nIG1vZHVsZXMuCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgICAgICAgICBsb2dn
ZXItPmluZm8oTG9nTWVkaWEsIGlkZW50aWZpZXIsICI6OmNhbGxiYWNrKCkgLSBSZXNvbHZlZC4g
aW5mbzogIiwgaW5mbyk7CisjZW5kaWYKICAgICAgICAgICAgIHByb21pc2UtPnJlc29sdmU8SURM
RGljdGlvbmFyeTxNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mbz4+KFdURk1vdmUoaW5mbykp
OwogICAgICAgICB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBi
L1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IDkxNzQ4N2UxMWQzYTNhNmRlZmU1NGVk
MDdiN2ZiOGJjZTk3OWRmZjMuLmE4NGNkMzkyMDAwMDZiOTJkNTVlYjdlOTQ5NGEwODJmMWY2MDk1
ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0xOTU0LDYgKzE5NTQsNyBAQCBwbGF0Zm9ybS9ncmFwaGlj
cy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmNwcAogcGxhdGZvcm0vZ3JhcGhpY3Mv
dHJhbnNmb3Jtcy9UcmFuc2xhdGVUcmFuc2Zvcm1PcGVyYXRpb24uY3BwCiAKIHBsYXRmb3JtL21l
ZGlhY2FwYWJpbGl0aWVzL01lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkuY3BwCitwbGF0
Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllc0xvZ2dpbmcuY3BwCiAKIHBs
YXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGVNb2NrLmNwcAogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXgg
MzRmNzMyODZiNzdkODQxOWRlNDE5YWM2MWFlZTQ1ZWMzNTI0MjMyMi4uZDk2ZDVjODE1MmVhOGYy
MWMwZGM5YjA5MDZjMTc1NTkwMGYxYjc4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTM3MDEsNiArMTM3MDEsOCBAQAogCQlD
RDJGNEEyMjE4RDg5RjcwMDA2Mzc0NkQgLyogQXVkaW9IYXJkd2FyZUxpc3RlbmVyLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEF1ZGlvSGFyZHdhcmVMaXN0ZW5lci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRDJGNEEyNTE4RDhBMzQ5MDA2Mzc0NkQgLyogQXVk
aW9IYXJkd2FyZUxpc3RlbmVyTWFjLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEF1ZGlvSGFyZHdhcmVMaXN0ZW5lck1hYy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUNEMkY0QTI2MThEOEEzNDkwMDYzNzQ2RCAvKiBBdWRpb0hhcmR3YXJlTGlzdGVu
ZXJNYWMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXVkaW9IYXJkd2FyZUxp
c3RlbmVyTWFjLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNEMzBCMjg2MjNBMTcz
QUEwMEQ3NDg4QiAvKiBNZWRpYUNhcGFiaWxpdGllc0xvZ2dpbmcuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0g
TWVkaWFDYXBhYmlsaXRpZXNMb2dnaW5nLmg7IHBhdGggPSBtZWRpYWNhcGFiaWxpdGllcy9NZWRp
YUNhcGFiaWxpdGllc0xvZ2dpbmcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0Qz
MEIyODcyM0ExNzNBQTAwRDc0ODhCIC8qIE1lZGlhQ2FwYWJpbGl0aWVzTG9nZ2luZy5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IG5hbWUgPSBNZWRpYUNhcGFiaWxpdGllc0xvZ2dpbmcuY3BwOyBwYXRoID0gbWVk
aWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXNMb2dnaW5nLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQ0QzMTg2MjAxOTlGMUUyQTAwMzBBMEY3IC8qIENETVByaXZhdGVN
ZWRpYVNvdXJjZUFWRk9iakMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBDRE1Qcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlDRDMxODYyMTE5OUYxRTJBMDAzMEEwRjcgLyogQ0RNUHJpdmF0ZU1lZGlhU291
cmNlQVZGT2JqQy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDRE1Qcml2YXRl
TWVkaWFTb3VyY2VBVkZPYmpDLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNEMzJB
MTg5MTg0RUI0NkEwMDI5QjFCQiAvKiBtZWRpYUNvbnRyb2xzaU9TLmpzICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5qYXZhc2NyaXB0OyBwYXRoID0gbWVkaWFDb250cm9sc2lPUy5qczsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIyNjAyLDYgKzIyNjA0LDggQEAKIAkJCQlDRENDOUJDRTIy
Mzg3RTlBMDBGRkI1MUMgLyogTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8uaCAqLywKIAkJ
CQlDRENDOUJEMDIyMzg3RUFBMDBGRkI1MUMgLyogTWVkaWFDYXBhYmlsaXRpZXNFbmNvZGluZ0lu
Zm8uaCAqLywKIAkJCQlDRDBDOEI1ODIxNDFDOENBMDA2MkY1OUQgLyogTWVkaWFDYXBhYmlsaXRp
ZXNJbmZvLmggKi8sCisJCQkJQ0QzMEIyODcyM0ExNzNBQTAwRDc0ODhCIC8qIE1lZGlhQ2FwYWJp
bGl0aWVzTG9nZ2luZy5jcHAgKi8sCisJCQkJQ0QzMEIyODYyM0ExNzNBQTAwRDc0ODhCIC8qIE1l
ZGlhQ2FwYWJpbGl0aWVzTG9nZ2luZy5oICovLAogCQkJCUNEQkQzRDM1MUZFODVDQkYwMDEyQzU0
NSAvKiBNZWRpYUNvbmZpZ3VyYXRpb24uaCAqLywKIAkJCQlDREJEM0QzNjFGRTg1Q0MwMDAxMkM1
NDUgLyogTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24uaCAqLywKIAkJCQlDREJEM0QzODFGRTg1
Q0MwMDAxMkM1NDUgLyogTWVkaWFEZWNvZGluZ1R5cGUuaCAqLywKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzTG9n
Z2luZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRp
YUNhcGFiaWxpdGllc0xvZ2dpbmcuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZlMzM0NTI0YzIyZjhmZTE1MjY3
ZDhkYjI1OGRhNGYwMWM4NmY0YjUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllc0xvZ2dpbmcuY3BwCkBA
IC0wLDAgKzEsMjMxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1
ZGUgIk1lZGlhQ2FwYWJpbGl0aWVzTG9nZ2luZy5oIgorCisjaW5jbHVkZSAiQXVkaW9Db25maWd1
cmF0aW9uLmgiCisjaW5jbHVkZSAiSlNDb2xvckdhbXV0LmgiCisjaW5jbHVkZSAiSlNIZHJNZXRh
ZGF0YVR5cGUuaCIKKyNpbmNsdWRlICJKU01lZGlhRGVjb2RpbmdUeXBlLmgiCisjaW5jbHVkZSAi
SlNNZWRpYUVuY29kaW5nVHlwZS5oIgorI2luY2x1ZGUgIkpTVHJhbnNmZXJGdW5jdGlvbi5oIgor
I2luY2x1ZGUgIk1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvLmgiCisjaW5jbHVkZSAiTWVk
aWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm8uaCIKKyNpbmNsdWRlICJNZWRpYURlY29kaW5nQ29u
ZmlndXJhdGlvbi5oIgorI2luY2x1ZGUgIk1lZGlhRGVjb2RpbmdUeXBlLmgiCisjaW5jbHVkZSAi
TWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24uaCIKKyNpbmNsdWRlICJNZWRpYUVuY29kaW5nVHlw
ZS5oIgorI2luY2x1ZGUgIlZpZGVvQ29uZmlndXJhdGlvbi5oIgorI2luY2x1ZGUgPHd0Zi9KU09O
VmFsdWVzLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RhdGljIFJlZjxKU09OOjpPYmpl
Y3Q+IHRvSlNPTk9iamVjdChjb25zdCBWaWRlb0NvbmZpZ3VyYXRpb24mIGNvbmZpZ3VyYXRpb24p
Cit7CisgICAgYXV0byBvYmplY3QgPSBKU09OOjpPYmplY3Q6OmNyZWF0ZSgpOworICAgIG9iamVj
dC0+c2V0U3RyaW5nKCJjb250ZW50VHlwZSJfcywgY29uZmlndXJhdGlvbi5jb250ZW50VHlwZSk7
CisgICAgb2JqZWN0LT5zZXRJbnRlZ2VyKCJ3aWR0aCJfcywgY29uZmlndXJhdGlvbi53aWR0aCk7
CisgICAgb2JqZWN0LT5zZXRJbnRlZ2VyKCJoZWlnaHQiX3MsIGNvbmZpZ3VyYXRpb24uaGVpZ2h0
KTsKKyAgICBvYmplY3QtPnNldEludGVnZXIoImJpdHJhdGUiX3MsIGNvbmZpZ3VyYXRpb24uYml0
cmF0ZSk7CisgICAgb2JqZWN0LT5zZXREb3VibGUoImZyYW1lcmF0ZSJfcywgY29uZmlndXJhdGlv
bi5mcmFtZXJhdGUpOworICAgIGlmIChjb25maWd1cmF0aW9uLmFscGhhQ2hhbm5lbCkKKyAgICAg
ICAgb2JqZWN0LT5zZXRCb29sZWFuKCJhbHBoYUNoYW5uZWwiX3MsIGNvbmZpZ3VyYXRpb24uYWxw
aGFDaGFubmVsLnZhbHVlKCkpOworICAgIGlmIChjb25maWd1cmF0aW9uLmNvbG9yR2FtdXQpCisg
ICAgICAgIG9iamVjdC0+c2V0U3RyaW5nKCJjb2xvckdhbXV0Il9zLCBjb252ZXJ0RW51bWVyYXRp
b25Ub1N0cmluZyhjb25maWd1cmF0aW9uLmNvbG9yR2FtdXQudmFsdWUoKSkpOworICAgIGlmIChj
b25maWd1cmF0aW9uLmhkck1ldGFkYXRhVHlwZSkKKyAgICAgICAgb2JqZWN0LT5zZXRTdHJpbmco
Imhkck1ldGFkYXRhVHlwZSJfcywgY29udmVydEVudW1lcmF0aW9uVG9TdHJpbmcoY29uZmlndXJh
dGlvbi5oZHJNZXRhZGF0YVR5cGUudmFsdWUoKSkpOworICAgIGlmIChjb25maWd1cmF0aW9uLnRy
YW5zZmVyRnVuY3Rpb24pCisgICAgICAgIG9iamVjdC0+c2V0U3RyaW5nKCJ0cmFuc2ZlckZ1bmN0
aW9uIl9zLCBjb252ZXJ0RW51bWVyYXRpb25Ub1N0cmluZyhjb25maWd1cmF0aW9uLnRyYW5zZmVy
RnVuY3Rpb24udmFsdWUoKSkpOworICAgIHJldHVybiBvYmplY3Q7Cit9CisKK3N0YXRpYyBSZWY8
SlNPTjo6T2JqZWN0PiB0b0pTT05PYmplY3QoY29uc3QgQXVkaW9Db25maWd1cmF0aW9uJiBjb25m
aWd1cmF0aW9uKQoreworICAgIGF1dG8gb2JqZWN0ID0gSlNPTjo6T2JqZWN0OjpjcmVhdGUoKTsK
KyAgICBvYmplY3QtPnNldFN0cmluZygiY29udGVudFR5cGUiX3MsIGNvbmZpZ3VyYXRpb24uY29u
dGVudFR5cGUpOworICAgIG9iamVjdC0+c2V0U3RyaW5nKCJjaGFubmVscyJfcywgY29uZmlndXJh
dGlvbi5jaGFubmVscyk7CisgICAgb2JqZWN0LT5zZXRJbnRlZ2VyKCJiaXRyYXRlIl9zLCBjb25m
aWd1cmF0aW9uLmJpdHJhdGUpOworICAgIG9iamVjdC0+c2V0RG91YmxlKCJzYW1wbGVyYXRlIl9z
LCBjb25maWd1cmF0aW9uLnNhbXBsZXJhdGUpOworICAgIHJldHVybiBvYmplY3Q7Cit9CisKK3N0
YXRpYyBSZWY8SlNPTjo6T2JqZWN0PiB0b0pTT05PYmplY3QoY29uc3QgTWVkaWFDb25maWd1cmF0
aW9uJiBjb25maWd1cmF0aW9uKQoreworICAgIGF1dG8gb2JqZWN0ID0gSlNPTjo6T2JqZWN0Ojpj
cmVhdGUoKTsKKyAgICBpZiAoY29uZmlndXJhdGlvbi52aWRlbykKKyAgICAgICAgb2JqZWN0LT5z
ZXRWYWx1ZSgidmlkZW8iX3MsIHRvSlNPTk9iamVjdChjb25maWd1cmF0aW9uLnZpZGVvLnZhbHVl
KCkpKTsKKyAgICBpZiAoY29uZmlndXJhdGlvbi5hdWRpbykKKyAgICAgICAgb2JqZWN0LT5zZXRW
YWx1ZSgiYXVkaW8iX3MsIHRvSlNPTk9iamVjdChjb25maWd1cmF0aW9uLmF1ZGlvLnZhbHVlKCkp
KTsKKyAgICByZXR1cm4gb2JqZWN0OworfQorCitzdGF0aWMgUmVmPEpTT046Ok9iamVjdD4gdG9K
U09OT2JqZWN0KGNvbnN0IE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uJiBjb25maWd1cmF0aW9u
KQoreworICAgIGF1dG8gb2JqZWN0ID0gdG9KU09OT2JqZWN0KHN0YXRpY19jYXN0PGNvbnN0IE1l
ZGlhQ29uZmlndXJhdGlvbiY+KGNvbmZpZ3VyYXRpb24pKTsKKyAgICBvYmplY3QtPnNldFN0cmlu
ZygidHlwZSJfcywgY29udmVydEVudW1lcmF0aW9uVG9TdHJpbmcoY29uZmlndXJhdGlvbi50eXBl
KSk7CisgICAgcmV0dXJuIG9iamVjdDsKK30KKworc3RhdGljIFJlZjxKU09OOjpPYmplY3Q+IHRv
SlNPTk9iamVjdChjb25zdCBNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbiYgY29uZmlndXJhdGlv
bikKK3sKKyAgICBhdXRvIG9iamVjdCA9IHRvSlNPTk9iamVjdChzdGF0aWNfY2FzdDxjb25zdCBN
ZWRpYUNvbmZpZ3VyYXRpb24mPihjb25maWd1cmF0aW9uKSk7CisgICAgb2JqZWN0LT5zZXRTdHJp
bmcoInR5cGUiX3MsIGNvbnZlcnRFbnVtZXJhdGlvblRvU3RyaW5nKGNvbmZpZ3VyYXRpb24udHlw
ZSkpOworICAgIHJldHVybiBvYmplY3Q7Cit9CisKK3N0YXRpYyBSZWY8SlNPTjo6T2JqZWN0PiB0
b0pTT05PYmplY3QoY29uc3QgTWVkaWFDYXBhYmlsaXRpZXNJbmZvJiBpbmZvKQoreworICAgIGF1
dG8gb2JqZWN0ID0gSlNPTjo6T2JqZWN0OjpjcmVhdGUoKTsKKyAgICBvYmplY3QtPnNldEJvb2xl
YW4oInN1cHBvcnRlZCJfcywgaW5mby5zdXBwb3J0ZWQpOworICAgIG9iamVjdC0+c2V0Qm9vbGVh
bigic21vb3RoIl9zLCBpbmZvLnNtb290aCk7CisgICAgb2JqZWN0LT5zZXRCb29sZWFuKCJwb3dl
ckVmZmljaWVudCJfcywgaW5mby5wb3dlckVmZmljaWVudCk7CisgICAgcmV0dXJuIG9iamVjdDsK
K30KKworc3RhdGljIFJlZjxKU09OOjpPYmplY3Q+IHRvSlNPTk9iamVjdChjb25zdCBNZWRpYUNh
cGFiaWxpdGllc0RlY29kaW5nSW5mbyYgaW5mbykKK3sKKyAgICBhdXRvIG9iamVjdCA9IHRvSlNP
Tk9iamVjdChzdGF0aWNfY2FzdDxjb25zdCBNZWRpYUNhcGFiaWxpdGllc0luZm8mPihpbmZvKSk7
CisgICAgb2JqZWN0LT5zZXRWYWx1ZSgic3VwcG9ydGVkQ29uZmlndXJhdGlvbiJfcywgdG9KU09O
T2JqZWN0KGluZm8uc3VwcG9ydGVkQ29uZmlndXJhdGlvbikpOworICAgIHJldHVybiBvYmplY3Q7
Cit9CisKK3N0YXRpYyBSZWY8SlNPTjo6T2JqZWN0PiB0b0pTT05PYmplY3QoY29uc3QgTWVkaWFD
YXBhYmlsaXRpZXNFbmNvZGluZ0luZm8mIGluZm8pCit7CisgICAgYXV0byBvYmplY3QgPSB0b0pT
T05PYmplY3Qoc3RhdGljX2Nhc3Q8Y29uc3QgTWVkaWFDYXBhYmlsaXRpZXNJbmZvJj4oaW5mbykp
OworICAgIG9iamVjdC0+c2V0VmFsdWUoInN1cHBvcnRlZENvbmZpZ3VyYXRpb24iX3MsIHRvSlNP
Tk9iamVjdChpbmZvLnN1cHBvcnRlZENvbmZpZ3VyYXRpb24pKTsKKyAgICByZXR1cm4gb2JqZWN0
OworfQorCitzdGF0aWMgU3RyaW5nIHRvSlNPTlN0cmluZyhjb25zdCBWaWRlb0NvbmZpZ3VyYXRp
b24mIGNvbmZpZ3VyYXRpb24pCit7CisgICAgcmV0dXJuIHRvSlNPTk9iamVjdChjb25maWd1cmF0
aW9uKS0+dG9KU09OU3RyaW5nKCk7Cit9CisKK3N0YXRpYyBTdHJpbmcgdG9KU09OU3RyaW5nKGNv
bnN0IEF1ZGlvQ29uZmlndXJhdGlvbiYgY29uZmlndXJhdGlvbikKK3sKKyAgICByZXR1cm4gdG9K
U09OT2JqZWN0KGNvbmZpZ3VyYXRpb24pLT50b0pTT05TdHJpbmcoKTsKK30KKworc3RhdGljIFN0
cmluZyB0b0pTT05TdHJpbmcoY29uc3QgTWVkaWFDb25maWd1cmF0aW9uJiBjb25maWd1cmF0aW9u
KQoreworICAgIHJldHVybiB0b0pTT05PYmplY3QoY29uZmlndXJhdGlvbiktPnRvSlNPTlN0cmlu
ZygpOworfQorCitzdGF0aWMgU3RyaW5nIHRvSlNPTlN0cmluZyhjb25zdCBNZWRpYURlY29kaW5n
Q29uZmlndXJhdGlvbiYgY29uZmlndXJhdGlvbikKK3sKKyAgICByZXR1cm4gdG9KU09OT2JqZWN0
KGNvbmZpZ3VyYXRpb24pLT50b0pTT05TdHJpbmcoKTsKK30KKworc3RhdGljIFN0cmluZyB0b0pT
T05TdHJpbmcoY29uc3QgTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24mIGNvbmZpZ3VyYXRpb24p
Cit7CisgICAgcmV0dXJuIHRvSlNPTk9iamVjdChjb25maWd1cmF0aW9uKS0+dG9KU09OU3RyaW5n
KCk7Cit9CisKK3N0YXRpYyBTdHJpbmcgdG9KU09OU3RyaW5nKGNvbnN0IE1lZGlhQ2FwYWJpbGl0
aWVzSW5mbyYgaW5mbykKK3sKKyAgICByZXR1cm4gdG9KU09OT2JqZWN0KGluZm8pLT50b0pTT05T
dHJpbmcoKTsKK30KKworc3RhdGljIFN0cmluZyB0b0pTT05TdHJpbmcoY29uc3QgTWVkaWFDYXBh
YmlsaXRpZXNEZWNvZGluZ0luZm8mIGluZm8pCit7CisgICAgcmV0dXJuIHRvSlNPTk9iamVjdChp
bmZvKS0+dG9KU09OU3RyaW5nKCk7Cit9CisKK3N0YXRpYyBTdHJpbmcgdG9KU09OU3RyaW5nKGNv
bnN0IE1lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvJiBpbmZvKQoreworICAgIHJldHVybiB0
b0pTT05PYmplY3QoaW5mbyktPnRvSlNPTlN0cmluZygpOworfQorCit9CisKK25hbWVzcGFjZSBX
VEYgeworCitTdHJpbmcgTG9nQXJndW1lbnQ8V2ViQ29yZTo6VmlkZW9Db25maWd1cmF0aW9uPjo6
dG9TdHJpbmcoY29uc3QgV2ViQ29yZTo6VmlkZW9Db25maWd1cmF0aW9uJiBjb25maWd1cmF0aW9u
KQoreworICAgIHJldHVybiB0b0pTT05TdHJpbmcoY29uZmlndXJhdGlvbik7Cit9CisKK1N0cmlu
ZyBMb2dBcmd1bWVudDxXZWJDb3JlOjpBdWRpb0NvbmZpZ3VyYXRpb24+Ojp0b1N0cmluZyhjb25z
dCBXZWJDb3JlOjpBdWRpb0NvbmZpZ3VyYXRpb24mIGNvbmZpZ3VyYXRpb24pCit7CisgICAgcmV0
dXJuIHRvSlNPTlN0cmluZyhjb25maWd1cmF0aW9uKTsKK30KKworU3RyaW5nIExvZ0FyZ3VtZW50
PFdlYkNvcmU6Ok1lZGlhQ29uZmlndXJhdGlvbj46OnRvU3RyaW5nKGNvbnN0IFdlYkNvcmU6Ok1l
ZGlhQ29uZmlndXJhdGlvbiYgY29uZmlndXJhdGlvbikKK3sKKyAgICByZXR1cm4gdG9KU09OU3Ry
aW5nKGNvbmZpZ3VyYXRpb24pOworfQorCitTdHJpbmcgTG9nQXJndW1lbnQ8V2ViQ29yZTo6TWVk
aWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24+Ojp0b1N0cmluZyhjb25zdCBXZWJDb3JlOjpNZWRpYURl
Y29kaW5nQ29uZmlndXJhdGlvbiYgY29uZmlndXJhdGlvbikKK3sKKyAgICByZXR1cm4gdG9KU09O
U3RyaW5nKGNvbmZpZ3VyYXRpb24pOworfQorCitTdHJpbmcgTG9nQXJndW1lbnQ8V2ViQ29yZTo6
TWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24+Ojp0b1N0cmluZyhjb25zdCBXZWJDb3JlOjpNZWRp
YUVuY29kaW5nQ29uZmlndXJhdGlvbiYgY29uZmlndXJhdGlvbikKK3sKKyAgICByZXR1cm4gdG9K
U09OU3RyaW5nKGNvbmZpZ3VyYXRpb24pOworfQorCitTdHJpbmcgTG9nQXJndW1lbnQ8V2ViQ29y
ZTo6TWVkaWFDYXBhYmlsaXRpZXNJbmZvPjo6dG9TdHJpbmcoY29uc3QgV2ViQ29yZTo6TWVkaWFD
YXBhYmlsaXRpZXNJbmZvJiBpbmZvKQoreworICAgIHJldHVybiB0b0pTT05TdHJpbmcoaW5mbyk7
Cit9CisKK1N0cmluZyBMb2dBcmd1bWVudDxXZWJDb3JlOjpNZWRpYUNhcGFiaWxpdGllc0RlY29k
aW5nSW5mbz46OnRvU3RyaW5nKGNvbnN0IFdlYkNvcmU6Ok1lZGlhQ2FwYWJpbGl0aWVzRGVjb2Rp
bmdJbmZvJiBpbmZvKQoreworICAgIHJldHVybiB0b0pTT05TdHJpbmcoaW5mbyk7Cit9CisKK1N0
cmluZyBMb2dBcmd1bWVudDxXZWJDb3JlOjpNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mbz46
OnRvU3RyaW5nKGNvbnN0IFdlYkNvcmU6Ok1lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvJiBp
bmZvKQoreworICAgIHJldHVybiB0b0pTT05TdHJpbmcoaW5mbyk7Cit9CisKK1N0cmluZyBMb2dB
cmd1bWVudDxXZWJDb3JlOjpDb2xvckdhbXV0Pjo6dG9TdHJpbmcoY29uc3QgV2ViQ29yZTo6Q29s
b3JHYW11dCYgdHlwZSkKK3sKKyAgICByZXR1cm4gY29udmVydEVudW1lcmF0aW9uVG9TdHJpbmco
dHlwZSk7Cit9CisKK1N0cmluZyBMb2dBcmd1bWVudDxXZWJDb3JlOjpIZHJNZXRhZGF0YVR5cGU+
Ojp0b1N0cmluZyhjb25zdCBXZWJDb3JlOjpIZHJNZXRhZGF0YVR5cGUmIHR5cGUpCit7CisgICAg
cmV0dXJuIGNvbnZlcnRFbnVtZXJhdGlvblRvU3RyaW5nKHR5cGUpOworfQorCitTdHJpbmcgTG9n
QXJndW1lbnQ8V2ViQ29yZTo6VHJhbnNmZXJGdW5jdGlvbj46OnRvU3RyaW5nKGNvbnN0IFdlYkNv
cmU6OlRyYW5zZmVyRnVuY3Rpb24mIHR5cGUpCit7CisgICAgcmV0dXJuIGNvbnZlcnRFbnVtZXJh
dGlvblRvU3RyaW5nKHR5cGUpOworfQorCitTdHJpbmcgTG9nQXJndW1lbnQ8V2ViQ29yZTo6TWVk
aWFEZWNvZGluZ1R5cGU+Ojp0b1N0cmluZyhjb25zdCBXZWJDb3JlOjpNZWRpYURlY29kaW5nVHlw
ZSYgdHlwZSkKK3sKKyAgICByZXR1cm4gY29udmVydEVudW1lcmF0aW9uVG9TdHJpbmcodHlwZSk7
Cit9CisKK1N0cmluZyBMb2dBcmd1bWVudDxXZWJDb3JlOjpNZWRpYUVuY29kaW5nVHlwZT46OnRv
U3RyaW5nKGNvbnN0IFdlYkNvcmU6Ok1lZGlhRW5jb2RpbmdUeXBlJiB0eXBlKQoreworICAgIHJl
dHVybiBjb252ZXJ0RW51bWVyYXRpb25Ub1N0cmluZyh0eXBlKTsKK30KKworfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmls
aXRpZXNMb2dnaW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGll
cy9NZWRpYUNhcGFiaWxpdGllc0xvZ2dpbmcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YWI3ZTI3NjQxYzFiNjI4
ODJhNDg5ZDExNGY4YzE3Mjk0ZTdmOTk5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXNMb2dnaW5nLmgK
QEAgLTAsMCArMSwxMTkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUg
PHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0cnVjdCBW
aWRlb0NvbmZpZ3VyYXRpb247CitzdHJ1Y3QgQXVkaW9Db25maWd1cmF0aW9uOworc3RydWN0IE1l
ZGlhQ29uZmlndXJhdGlvbjsKK3N0cnVjdCBNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbjsKK3N0
cnVjdCBNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbjsKK3N0cnVjdCBNZWRpYUNhcGFiaWxpdGll
c0luZm87CitzdHJ1Y3QgTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm87CitzdHJ1Y3QgTWVk
aWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm87CisKK2VudW0gY2xhc3MgQ29sb3JHYW11dDsKK2Vu
dW0gY2xhc3MgSGRyTWV0YWRhdGFUeXBlOworZW51bSBjbGFzcyBUcmFuc2ZlckZ1bmN0aW9uOwor
ZW51bSBjbGFzcyBNZWRpYURlY29kaW5nVHlwZTsKK2VudW0gY2xhc3MgTWVkaWFFbmNvZGluZ1R5
cGU7CisKK30KKworbmFtZXNwYWNlIFdURiB7CisKK3RlbXBsYXRlPHR5cGVuYW1lPgorc3RydWN0
IExvZ0FyZ3VtZW50OworCit0ZW1wbGF0ZSA8Pgorc3RydWN0IExvZ0FyZ3VtZW50PFdlYkNvcmU6
OlZpZGVvQ29uZmlndXJhdGlvbj4geworICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoY29uc3Qg
V2ViQ29yZTo6VmlkZW9Db25maWd1cmF0aW9uJik7Cit9OworCit0ZW1wbGF0ZSA8Pgorc3RydWN0
IExvZ0FyZ3VtZW50PFdlYkNvcmU6OkF1ZGlvQ29uZmlndXJhdGlvbj4geworICAgIHN0YXRpYyBT
dHJpbmcgdG9TdHJpbmcoY29uc3QgV2ViQ29yZTo6QXVkaW9Db25maWd1cmF0aW9uJik7Cit9Owor
Cit0ZW1wbGF0ZSA8Pgorc3RydWN0IExvZ0FyZ3VtZW50PFdlYkNvcmU6Ok1lZGlhQ29uZmlndXJh
dGlvbj4geworICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoY29uc3QgV2ViQ29yZTo6TWVkaWFD
b25maWd1cmF0aW9uJik7Cit9OworCit0ZW1wbGF0ZSA8Pgorc3RydWN0IExvZ0FyZ3VtZW50PFdl
YkNvcmU6Ok1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uPiB7CisgICAgc3RhdGljIFN0cmluZyB0
b1N0cmluZyhjb25zdCBXZWJDb3JlOjpNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbiYpOworfTsK
KwordGVtcGxhdGUgPD4KK3N0cnVjdCBMb2dBcmd1bWVudDxXZWJDb3JlOjpNZWRpYUVuY29kaW5n
Q29uZmlndXJhdGlvbj4geworICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoY29uc3QgV2ViQ29y
ZTo6TWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24mKTsKK307CisKK3RlbXBsYXRlIDw+CitzdHJ1
Y3QgTG9nQXJndW1lbnQ8V2ViQ29yZTo6TWVkaWFDYXBhYmlsaXRpZXNJbmZvPiB7CisgICAgc3Rh
dGljIFN0cmluZyB0b1N0cmluZyhjb25zdCBXZWJDb3JlOjpNZWRpYUNhcGFiaWxpdGllc0luZm8m
KTsKK307CisKK3RlbXBsYXRlIDw+CitzdHJ1Y3QgTG9nQXJndW1lbnQ8V2ViQ29yZTo6TWVkaWFD
YXBhYmlsaXRpZXNEZWNvZGluZ0luZm8+IHsKKyAgICBzdGF0aWMgU3RyaW5nIHRvU3RyaW5nKGNv
bnN0IFdlYkNvcmU6Ok1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvJik7Cit9OworCit0ZW1w
bGF0ZSA8Pgorc3RydWN0IExvZ0FyZ3VtZW50PFdlYkNvcmU6Ok1lZGlhQ2FwYWJpbGl0aWVzRW5j
b2RpbmdJbmZvPiB7CisgICAgc3RhdGljIFN0cmluZyB0b1N0cmluZyhjb25zdCBXZWJDb3JlOjpN
ZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mbyYpOworfTsKKwordGVtcGxhdGUgPD4KK3N0cnVj
dCBMb2dBcmd1bWVudDxXZWJDb3JlOjpDb2xvckdhbXV0PiB7CisgICAgc3RhdGljIFN0cmluZyB0
b1N0cmluZyhjb25zdCBXZWJDb3JlOjpDb2xvckdhbXV0Jik7Cit9OworCit0ZW1wbGF0ZSA8Pgor
c3RydWN0IExvZ0FyZ3VtZW50PFdlYkNvcmU6Okhkck1ldGFkYXRhVHlwZT4geworICAgIHN0YXRp
YyBTdHJpbmcgdG9TdHJpbmcoY29uc3QgV2ViQ29yZTo6SGRyTWV0YWRhdGFUeXBlJik7Cit9Owor
Cit0ZW1wbGF0ZSA8Pgorc3RydWN0IExvZ0FyZ3VtZW50PFdlYkNvcmU6OlRyYW5zZmVyRnVuY3Rp
b24+IHsKKyAgICBzdGF0aWMgU3RyaW5nIHRvU3RyaW5nKGNvbnN0IFdlYkNvcmU6OlRyYW5zZmVy
RnVuY3Rpb24mKTsKK307CisKK3RlbXBsYXRlIDw+CitzdHJ1Y3QgTG9nQXJndW1lbnQ8V2ViQ29y
ZTo6TWVkaWFEZWNvZGluZ1R5cGU+IHsKKyAgICBzdGF0aWMgU3RyaW5nIHRvU3RyaW5nKGNvbnN0
IFdlYkNvcmU6Ok1lZGlhRGVjb2RpbmdUeXBlJik7Cit9OworCit0ZW1wbGF0ZSA8Pgorc3RydWN0
IExvZ0FyZ3VtZW50PFdlYkNvcmU6Ok1lZGlhRW5jb2RpbmdUeXBlPiB7CisgICAgc3RhdGljIFN0
cmluZyB0b1N0cmluZyhjb25zdCBXZWJDb3JlOjpNZWRpYUVuY29kaW5nVHlwZSYpOworfTsKKwor
fQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>