<?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>239493</bug_id>
          
          <creation_ts>2022-04-19 06:12:27 -0700</creation_ts>
          <short_desc>[WASM-GC] Introduce rtt types</short_desc>
          <delta_ts>2022-11-02 17:15:04 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebAssembly</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>247394</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dmitry">dbezhetskov</reporter>
          <assigned_to name="Dmitry">dbezhetskov</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1862521</commentid>
    <comment_count>0</comment_count>
    <who name="Dmitry">dbezhetskov</who>
    <bug_when>2022-04-19 06:12:27 -0700</bug_when>
    <thetext>Though rtt types currently not actively used they are still required in Wasm GC MVP: https://github.com/WebAssembly/gc/blob/main/proposals/gc/MVP.md.

Particularly, they are needed for struct.new* instructions, but struct constructors can avoid rtts usage.

Because of all that rtt prototype support should be added in JSC to move forward with struct types.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1862522</commentid>
    <comment_count>1</comment_count>
      <attachid>457883</attachid>
    <who name="Dmitry">dbezhetskov</who>
    <bug_when>2022-04-19 06:20:27 -0700</bug_when>
    <thetext>Created attachment 457883
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1862523</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2022-04-19 06:21:52 -0700</bug_when>
    <thetext>This patch modifies one of the wasm.json files. Please ensure that any changes in one have been mirrored to the other. You can find the wasm.json files at &quot;Source/JavaScriptCore/wasm/wasm.json&quot; and &quot;JSTests/wasm/wasm.json&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1864011</commentid>
    <comment_count>3</comment_count>
      <attachid>458242</attachid>
    <who name="Dmitry">dbezhetskov</who>
    <bug_when>2022-04-24 22:38:57 -0700</bug_when>
    <thetext>Created attachment 458242
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1864144</commentid>
    <comment_count>4</comment_count>
      <attachid>458242</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2022-04-25 10:35:28 -0700</bug_when>
    <thetext>Comment on attachment 458242
Patch

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

Looks good to me but you have a typo in your error message.

&gt; Source/JavaScriptCore/wasm/WasmFunctionParser.h:1052
&gt; +            WASM_VALIDATOR_FAIL_IF(typeIndex &gt;= m_info.typeCount(), &quot;rtt.canon index &quot;, typeIndex, &quot; is out of bound&quot;);

typo: bound =&gt; bounds.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1864354</commentid>
    <comment_count>5</comment_count>
      <attachid>458329</attachid>
    <who name="Dmitry">dbezhetskov</who>
    <bug_when>2022-04-25 22:06:53 -0700</bug_when>
    <thetext>Created attachment 458329
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1864355</commentid>
    <comment_count>6</comment_count>
    <who name="Dmitry">dbezhetskov</who>
    <bug_when>2022-04-25 22:07:47 -0700</bug_when>
    <thetext>Thanks for the typo, Keith! It was fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1864359</commentid>
    <comment_count>7</comment_count>
      <attachid>458329</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2022-04-25 22:41:44 -0700</bug_when>
    <thetext>Comment on attachment 458329
Patch

r=me. Do you want me to commit queue too?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1864424</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-04-26 06:13:14 -0700</bug_when>
    <thetext>&lt;rdar://problem/92329753&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1864817</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-04-27 08:52:55 -0700</bug_when>
    <thetext>Committed r293510 (?): &lt;https://commits.webkit.org/r293510&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 458329.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1869989</commentid>
    <comment_count>10</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-05-18 06:49:31 -0700</bug_when>
    <thetext>Committed r294395 (250689@main): &lt;https://commits.webkit.org/250689@main&gt;

Reviewed commits have been landed. Closing PR #607 and removing active labels.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457883</attachid>
            <date>2022-04-19 06:20:27 -0700</date>
            <delta_ts>2022-04-24 22:38:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239493-20220419202026.patch</filename>
            <type>text/plain</type>
            <size>29540</size>
            <attacher name="Dmitry">dbezhetskov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyOTQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA4
N2I4MjIxOWQ3MDBjZjM5ODdkZjk2MjdhYjAwNzU0ZmJjNjM2MTc3Li5lOTU2NGMyOTcxYjA4MmYx
NjQ5NzRlNjY2MTFkMjg2NDEyOTllNGY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1MiBAQAorMjAyMi0wNC0xOSAgRG1pdHJ5IEJlemhldHNrb3YgIDxkYmV6aGV0c2tvdkBp
Z2FsaWEuY29tPgorCisgICAgICAgIFtXQVNNLUdDXSBJbnRyb2R1Y2UgcnR0IHR5cGVzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzk0OTMKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAgIEFkZCBh
IGJhc2ljIHN1cHBvcnQgdGhyb3VnaCBydW50aW1lIGNhbGwgZm9yIHJ0dC5jYW5vbiBhbmQgcnR0
IHR5cGVzLgorICAgICAgICBJdCBpcyBhIHByb3RvdHlwZSBpbXBsZW1lbnRhdGlvbiBvZiBydHQg
dHlwZXMgbmVlZGVkIHRvIG1vdmUgZm9yd2FyZAorICAgICAgICB3aXRoIHdhc20gZ2MgcHJvcG9z
YWwgKGh0dHBzOi8vZ2l0aHViLmNvbS9XZWJBc3NlbWJseS9nYy9ibG9iL21haW4vcHJvcG9zYWxz
L2djL01WUC5tZCkuCisgICAgICAgIEZvciBleGFtcGxlLCB3ZSBkb24ndCBuZWVkIHRvIHVzZSBy
dHQgdmFsdWVzIGZvciBzdHJ1Y3QubmV3LAorICAgICAgICBidXQgd2UgZG8gbmVlZCB0aGVtIGZv
ciB0aGUgZnV0dXJlIGpzIGFwaS4KKyAgICAgICAgU28sIHJ0dC5jYW5vbiByZXR1cm5zIGpzTnVs
bCBmb3Igbm93LCBidXQgd2UgY2FuIHJlcGxhY2UgaXQgd2l0aAorICAgICAgICBwcm9wZXJseSBk
ZWZpbmVkIHZhbHVlcyB3aGVuIHRoZSBzcGVjIHdpbGwgYmUgcmVhZHkuCisKKyAgICAgICAgKiBi
eXRlY29kZS9CeXRlY29kZUxpc3QucmI6CisgICAgICAgICogbGxpbnQvV2ViQXNzZW1ibHkuYXNt
OgorICAgICAgICAqIHdhc20vV2FzbUFpcklSR2VuZXJhdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6
V2FzbTo6QWlySVJHZW5lcmF0b3I6OnRtcEZvclR5cGUpOgorICAgICAgICAoSlNDOjpXYXNtOjpB
aXJJUkdlbmVyYXRvcjo6QWlySVJHZW5lcmF0b3IpOgorICAgICAgICAoSlNDOjpXYXNtOjpBaXJJ
UkdlbmVyYXRvcjo6YWRkUnR0Q2Fub24pOgorICAgICAgICAqIHdhc20vV2FzbUIzSVJHZW5lcmF0
b3IuY3BwOgorICAgICAgICAoSlNDOjpXYXNtOjpCM0lSR2VuZXJhdG9yOjphZGRSdHRDYW5vbik6
CisgICAgICAgICogd2FzbS9XYXNtQ2FsbGluZ0NvbnZlbnRpb24uaDoKKyAgICAgICAgKEpTQzo6
V2FzbTo6V2FzbUNhbGxpbmdDb252ZW50aW9uOjptYXJzaGFsbExvY2F0aW9uIGNvbnN0KToKKyAg
ICAgICAgKiB3YXNtL1dhc21Gb3JtYXQuaDoKKyAgICAgICAgKEpTQzo6V2FzbTo6aXNWYWx1ZVR5
cGUpOgorICAgICAgICAoSlNDOjpXYXNtOjppc1ZhbGlkSGVhcFR5cGVLaW5kKToKKyAgICAgICAg
KiB3YXNtL1dhc21GdW5jdGlvblBhcnNlci5oOgorICAgICAgICAoSlNDOjpXYXNtOjpGdW5jdGlv
blBhcnNlcjxDb250ZXh0Pjo6cGFyc2VFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6V2FzbTo6
RnVuY3Rpb25QYXJzZXI8Q29udGV4dD46OnBhcnNlVW5yZWFjaGFibGVFeHByZXNzaW9uKToKKyAg
ICAgICAgKiB3YXNtL1dhc21MTEludEdlbmVyYXRvci5jcHA6CisgICAgICAgIChKU0M6Oldhc206
OkxMSW50R2VuZXJhdG9yOjpjYWxsSW5mb3JtYXRpb25Gb3JDYWxsZXIpOgorICAgICAgICAoSlND
OjpXYXNtOjpMTEludEdlbmVyYXRvcjo6Y2FsbEluZm9ybWF0aW9uRm9yQ2FsbGVlKToKKyAgICAg
ICAgKEpTQzo6V2FzbTo6TExJbnRHZW5lcmF0b3I6OmFkZEFyZ3VtZW50cyk6CisgICAgICAgIChK
U0M6Oldhc206OkxMSW50R2VuZXJhdG9yOjphZGRSdHRDYW5vbik6CisgICAgICAgICogd2FzbS9X
YXNtT3BlcmF0aW9ucy5jcHA6CisgICAgICAgIChKU0M6Oldhc206OkpTQ19ERUZJTkVfSklUX09Q
RVJBVElPTik6CisgICAgICAgICogd2FzbS9XYXNtT3BlcmF0aW9ucy5oOgorICAgICAgICAqIHdh
c20vV2FzbVBhcnNlci5oOgorICAgICAgICAoSlNDOjpXYXNtOjpQYXJzZXI8U3VjY2Vzc1R5cGU+
OjpwYXJzZVZhbHVlVHlwZSk6CisgICAgICAgICogd2FzbS9XYXNtU2xvd1BhdGhzLmNwcDoKKyAg
ICAgICAgKEpTQzo6TExJbnQ6OldBU01fU0xPV19QQVRIX0RFQ0wpOgorICAgICAgICAqIHdhc20v
V2FzbVNsb3dQYXRocy5oOgorICAgICAgICAqIHdhc20vZ2VuZXJhdGVXYXNtT3BzSGVhZGVyLnB5
OgorICAgICAgICAqIHdhc20vanMvV2FzbVRvSlMuY3BwOgorICAgICAgICAoSlNDOjpXYXNtOjp3
YXNtVG9KUyk6CisgICAgICAgICogd2FzbS93YXNtLmpzb246CisKIDIwMjItMDQtMTYgIE1hcmsg
TGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCBhIGRlYWRsb2NrIGluIFZN
VHJhcHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNv
ZGVMaXN0LnJiIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5y
YgppbmRleCA0ZTU5ZTlmOTA3Nzk2NTVmNzQxNTViODk1YmQ1ZTM4ZTAxNDczMWY4Li45NmNjMTM5
MzMwMjNkZmM4YzBmZWJmNmZiNTIxZTBlMTFhMjRhOTk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVMaXN0LnJiCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZUxpc3QucmIKQEAgLTE4OTIsNCArMTg5MiwxMCBAQCBv
cF9ncm91cCA6Q2F0Y2hBbGwsCiAgICAgICAgIGV4Y2VwdGlvbjogVmlydHVhbFJlZ2lzdGVyLAog
ICAgIH0KIAorb3AgOnJ0dF9jYW5vbiwKKyAgICBhcmdzOiB7CisgICAgICAgIGRzdDogVmlydHVh
bFJlZ2lzdGVyLAorICAgICAgICB0eXBlSW5kZXg6IHVuc2lnbmVkLAorICAgIH0KKwogZW5kX3Nl
Y3Rpb24gOldhc20KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9XZWJB
c3NlbWJseS5hc20gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvV2ViQXNzZW1ibHkuYXNt
CmluZGV4IDI0YzE0YjNmOGY2YjVmNDU1YmQwYTVhNzdjNTkzMmJlOWY2OGVlYWYuLjIyZWJlMmE3
ZWIzZDAzZTg5NzA4ZTBhZDlkMzUzMGY5YWU1YjIyZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9XZWJBc3NlbWJseS5hc20KKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L1dlYkFzc2VtYmx5LmFzbQpAQCAtNjAyLDYgKzYwMiw3IEBAIHNsb3dXYXNtT3Ao
c2V0X2dsb2JhbF9yZWZfcG9ydGFibGVfYmluZGluZykKIHNsb3dXYXNtT3AobWVtb3J5X2F0b21p
Y193YWl0MzIpCiBzbG93V2FzbU9wKG1lbW9yeV9hdG9taWNfd2FpdDY0KQogc2xvd1dhc21PcCht
ZW1vcnlfYXRvbWljX25vdGlmeSkKK3Nsb3dXYXNtT3AocnR0X2Nhbm9uKQogCiB3YXNtT3AoZ3Jv
d19tZW1vcnksIFdhc21Hcm93TWVtb3J5LCBtYWNybyhjdHgpCiAgICAgY2FsbFdhc21TbG93UGF0
aChfc2xvd19wYXRoX3dhc21fZ3Jvd19tZW1vcnkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd2FzbS9XYXNtQWlySVJHZW5lcmF0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3dhc20vV2FzbUFpcklSR2VuZXJhdG9yLmNwcAppbmRleCAwMWRiMjhiYjNiMzJjNzMxNWZi
YWFmZDM5ZTM4NmQ3YWUxYTI4YTE0Li43MGFkMjEzN2MyYjBjMTQ5YTE0MTFiNDUwMWMzZWI4MjFm
MDliNWU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQWlySVJH
ZW5lcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21BaXJJUkdl
bmVyYXRvci5jcHAKQEAgLTM3Nyw2ICszNzcsOSBAQCBwdWJsaWM6CiAgICAgLy8gU2F0dXJhdGVk
IHRydW5jYXRpb24uCiAgICAgUGFydGlhbFJlc3VsdCBXQVJOX1VOVVNFRF9SRVRVUk4gdHJ1bmNT
YXR1cmF0ZWQoRXh0MU9wVHlwZSwgRXhwcmVzc2lvblR5cGUgb3BlcmFuZCwgRXhwcmVzc2lvblR5
cGUmIHJlc3VsdCwgVHlwZSByZXR1cm5UeXBlLCBUeXBlIG9wZXJhbmRUeXBlKTsKIAorICAgIC8v
IEdDCisgICAgUGFydGlhbFJlc3VsdCBXQVJOX1VOVVNFRF9SRVRVUk4gYWRkUnR0Q2Fub24odWlu
dDMyX3QgdHlwZUluZGV4LCBFeHByZXNzaW9uVHlwZSYgcmVzdWx0KTsKKwogICAgIC8vIEJhc2lj
IG9wZXJhdG9ycwogICAgIHRlbXBsYXRlPE9wVHlwZT4KICAgICBQYXJ0aWFsUmVzdWx0IFdBUk5f
VU5VU0VEX1JFVFVSTiBhZGRPcChFeHByZXNzaW9uVHlwZSBhcmcsIEV4cHJlc3Npb25UeXBlJiBy
ZXN1bHQpOwpAQCAtNTI1LDYgKzUyOCw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICByZXR1cm4g
Z0Z1bmNyZWYoKTsKICAgICAgICAgY2FzZSBUeXBlS2luZDo6UmVmOgogICAgICAgICBjYXNlIFR5
cGVLaW5kOjpSZWZOdWxsOgorICAgICAgICBjYXNlIFR5cGVLaW5kOjpSdHQ6CiAgICAgICAgICAg
ICByZXR1cm4gZ1JlZih0eXBlKTsKICAgICAgICAgY2FzZSBUeXBlS2luZDo6RXh0ZXJucmVmOgog
ICAgICAgICAgICAgcmV0dXJuIGdFeHRlcm5yZWYoKTsKQEAgLTEwNTksNiArMTA2Myw3IEBAIEFp
cklSR2VuZXJhdG9yOjpBaXJJUkdlbmVyYXRvcihjb25zdCBNb2R1bGVJbmZvcm1hdGlvbiYgaW5m
bywgQjM6OlByb2NlZHVyZSYgcHJvCiAgICAgICAgIGNhc2UgVHlwZUtpbmQ6OkZ1bmNyZWY6CiAg
ICAgICAgIGNhc2UgVHlwZUtpbmQ6OlJlZjoKICAgICAgICAgY2FzZSBUeXBlS2luZDo6UmVmTnVs
bDoKKyAgICAgICAgY2FzZSBUeXBlS2luZDo6UnR0OgogICAgICAgICAgICAgYXBwZW5kKE1vdmUs
IGFyZywgbV9sb2NhbHNbaV0pOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgVHlw
ZUtpbmQ6OkYzMjoKQEAgLTI5OTQsNiArMjk5OSwxNCBAQCBhdXRvIEFpcklSR2VuZXJhdG9yOjp0
cnVuY1NhdHVyYXRlZChFeHQxT3BUeXBlIG9wLCBFeHByZXNzaW9uVHlwZSBhcmcsIEV4cHJlc3Np
bwogICAgIHJldHVybiB7IH07CiB9CiAKK2F1dG8gQWlySVJHZW5lcmF0b3I6OmFkZFJ0dENhbm9u
KHVpbnQzMl90IHR5cGVJbmRleCwgRXhwcmVzc2lvblR5cGUmIHJlc3VsdCkgLT4gUGFydGlhbFJl
c3VsdAoreworICAgIHJlc3VsdCA9IHRtcEZvclR5cGUoVHlwZXM6OkkzMik7CisgICAgZW1pdEND
YWxsKCZvcGVyYXRpb25XYXNtUnR0Q2Fub24sIHJlc3VsdCwgaW5zdGFuY2VWYWx1ZSgpLCBhZGRD
b25zdGFudChUeXBlczo6STMyLCB0eXBlSW5kZXgpKTsKKworICAgIHJldHVybiB7IH07Cit9CisK
IGF1dG8gQWlySVJHZW5lcmF0b3I6OmFkZFNlbGVjdChFeHByZXNzaW9uVHlwZSBjb25kaXRpb24s
IEV4cHJlc3Npb25UeXBlIG5vblplcm8sIEV4cHJlc3Npb25UeXBlIHplcm8sIEV4cHJlc3Npb25U
eXBlJiByZXN1bHQpIC0+IFBhcnRpYWxSZXN1bHQKIHsKICAgICBBU1NFUlQobm9uWmVyby50eXBl
KCkgPT0gemVyby50eXBlKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dh
c20vV2FzbUIzSVJHZW5lcmF0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2Fz
bUIzSVJHZW5lcmF0b3IuY3BwCmluZGV4IDM3NTQyNjE1N2Q4OGFkMzk3OTE2YzNkMTYyZWRmNzIw
YThlYmI0MGUuLmQzOTIyYTdhY2ZiMmUxN2Q2MjY2YWQwMjczYjgzNWViYjg3ZmQyNDUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21CM0lSR2VuZXJhdG9yLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQjNJUkdlbmVyYXRvci5jcHAKQEAg
LTM1NCw2ICszNTQsOSBAQCBwdWJsaWM6CiAgICAgLy8gU2F0dXJhdGVkIHRydW5jYXRpb24uCiAg
ICAgUGFydGlhbFJlc3VsdCBXQVJOX1VOVVNFRF9SRVRVUk4gdHJ1bmNTYXR1cmF0ZWQoRXh0MU9w
VHlwZSwgRXhwcmVzc2lvblR5cGUgb3BlcmFuZCwgRXhwcmVzc2lvblR5cGUmIHJlc3VsdCwgVHlw
ZSByZXR1cm5UeXBlLCBUeXBlIG9wZXJhbmRUeXBlKTsKIAorICAgIC8vIEdDCisgICAgUGFydGlh
bFJlc3VsdCBXQVJOX1VOVVNFRF9SRVRVUk4gYWRkUnR0Q2Fub24odWludDMyX3QgdHlwZUluZGV4
LCBFeHByZXNzaW9uVHlwZSYgcmVzdWx0KTsKKwogICAgIC8vIEJhc2ljIG9wZXJhdG9ycwogICAg
IHRlbXBsYXRlPE9wVHlwZT4KICAgICBQYXJ0aWFsUmVzdWx0IFdBUk5fVU5VU0VEX1JFVFVSTiBh
ZGRPcChFeHByZXNzaW9uVHlwZSBhcmcsIEV4cHJlc3Npb25UeXBlJiByZXN1bHQpOwpAQCAtMjI1
MSw2ICsyMjU0LDE1IEBAIGF1dG8gQjNJUkdlbmVyYXRvcjo6dHJ1bmNTYXR1cmF0ZWQoRXh0MU9w
VHlwZSBvcCwgRXhwcmVzc2lvblR5cGUgYXJnVmFyLCBFeHByZXNzCiAgICAgcmV0dXJuIHsgfTsK
IH0KIAorYXV0byBCM0lSR2VuZXJhdG9yOjphZGRSdHRDYW5vbih1aW50MzJfdCB0eXBlSW5kZXgs
IEV4cHJlc3Npb25UeXBlJiByZXN1bHQpIC0+IFBhcnRpYWxSZXN1bHQKK3sKKyAgICByZXN1bHQg
PSBwdXNoKG1fY3VycmVudEJsb2NrLT5hcHBlbmROZXc8Q0NhbGxWYWx1ZT4obV9wcm9jLCB0b0Iz
VHlwZShUeXBlczo6STMyKSwgb3JpZ2luKCksCisgICAgICAgIG1fY3VycmVudEJsb2NrLT5hcHBl
bmROZXc8Q29uc3RQdHJWYWx1ZT4obV9wcm9jLCBvcmlnaW4oKSwgdGFnQ0Z1bmN0aW9uPE9wZXJh
dGlvblB0clRhZz4ob3BlcmF0aW9uV2FzbVJ0dENhbm9uKSksCisgICAgICAgIGluc3RhbmNlVmFs
dWUoKSwgbV9jdXJyZW50QmxvY2stPmFwcGVuZE5ldzxDb25zdDMyVmFsdWU+KG1fcHJvYywgb3Jp
Z2luKCksIHR5cGVJbmRleCkpKTsKKworICAgIHJldHVybiB7IH07Cit9CisKIGF1dG8gQjNJUkdl
bmVyYXRvcjo6YWRkU2VsZWN0KEV4cHJlc3Npb25UeXBlIGNvbmRpdGlvbiwgRXhwcmVzc2lvblR5
cGUgbm9uWmVybywgRXhwcmVzc2lvblR5cGUgemVybywgRXhwcmVzc2lvblR5cGUmIHJlc3VsdCkg
LT4gUGFydGlhbFJlc3VsdAogewogICAgIHJlc3VsdCA9IHB1c2gobV9jdXJyZW50QmxvY2stPmFw
cGVuZE5ldzxWYWx1ZT4obV9wcm9jLCBCMzo6U2VsZWN0LCBvcmlnaW4oKSwgZ2V0KGNvbmRpdGlv
biksIGdldChub25aZXJvKSwgZ2V0KHplcm8pKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd2FzbS9XYXNtQ2FsbGluZ0NvbnZlbnRpb24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93YXNtL1dhc21DYWxsaW5nQ29udmVudGlvbi5oCmluZGV4IDQyODhmODAxZGUxYmUzNGIz
ODk1YmFmMmYzYWM1NTFlYzQ4YWI1NzQuLjdmMWU2MDk5MTJmNGJkOGRlMDc5MjA4OTQ3Zjc3ZDEw
OWYxM2JiNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21DYWxs
aW5nQ29udmVudGlvbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21DYWxs
aW5nQ29udmVudGlvbi5oCkBAIC0xMDksNiArMTA5LDcgQEAgcHJpdmF0ZToKICAgICAgICAgY2Fz
ZSBUeXBlS2luZDo6RXh0ZXJucmVmOgogICAgICAgICBjYXNlIFR5cGVLaW5kOjpSZWY6CiAgICAg
ICAgIGNhc2UgVHlwZUtpbmQ6OlJlZk51bGw6CisgICAgICAgIGNhc2UgVHlwZUtpbmQ6OlJ0dDoK
ICAgICAgICAgICAgIHJldHVybiBtYXJzaGFsbExvY2F0aW9uSW1wbChyb2xlLCBncHJBcmdzLCBn
cEFyZ3VtZW50Q291bnQsIHN0YWNrT2Zmc2V0KTsKICAgICAgICAgY2FzZSBUeXBlS2luZDo6RjMy
OgogICAgICAgICBjYXNlIFR5cGVLaW5kOjpGNjQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd2FzbS9XYXNtRm9ybWF0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9X
YXNtRm9ybWF0LmgKaW5kZXggYWNlODU3ZmQyMGJmOWY5MDVkZDQ4ZDUyZTcxNWQ5M2IyZDY4NzZm
Yy4uOWJlYTQ0ODY0NzgwN2RiNjc5NThjZDk4OGIyOGE0MzgzODgyMmYyMyAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUZvcm1hdC5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93YXNtL1dhc21Gb3JtYXQuaApAQCAtNzQsNiArNzQsOCBAQCBpbmxpbmUgYm9v
bCBpc1ZhbHVlVHlwZShUeXBlIHR5cGUpCiAgICAgY2FzZSBUeXBlS2luZDo6UmVmOgogICAgIGNh
c2UgVHlwZUtpbmQ6OlJlZk51bGw6CiAgICAgICAgIHJldHVybiBPcHRpb25zOjp1c2VXZWJBc3Nl
bWJseVR5cGVkRnVuY3Rpb25SZWZlcmVuY2VzKCk7CisgICAgY2FzZSBUeXBlS2luZDo6UnR0Ogor
ICAgICAgICByZXR1cm4gT3B0aW9uczo6dXNlV2ViQXNzZW1ibHlHQygpOwogICAgIGRlZmF1bHQ6
CiAgICAgICAgIGJyZWFrOwogICAgIH0KQEAgLTE2NSw2ICsxNjcsNyBAQCBpbmxpbmUgYm9vbCBp
c1ZhbGlkSGVhcFR5cGVLaW5kKFR5cGVLaW5kIGtpbmQpCiAgICAgc3dpdGNoIChraW5kKSB7CiAg
ICAgY2FzZSBUeXBlS2luZDo6RnVuY3JlZjoKICAgICBjYXNlIFR5cGVLaW5kOjpFeHRlcm5yZWY6
CisgICAgY2FzZSBUeXBlS2luZDo6UnR0OgogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICBkZWZh
dWx0OgogICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
YXNtL1dhc21GdW5jdGlvblBhcnNlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2Fz
bUZ1bmN0aW9uUGFyc2VyLmgKaW5kZXggZGIxYzlhZWY4MmQ2NWE1ODAxMjU0MjdjM2ZjMTUyOTQy
N2ExZGQxZC4uMzI0NDZmMzAzMmM2OTA3YjlkYTlkOGM2M2M4MzE5ZmNiYWMxZTdmNCAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUZ1bmN0aW9uUGFyc2VyLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUZ1bmN0aW9uUGFyc2VyLmgKQEAgLTEw
MzksNiArMTAzOSwzMiBAQCBGT1JfRUFDSF9XQVNNX01FTU9SWV9TVE9SRV9PUChDUkVBVEVfQ0FT
RSkKICAgICAgICAgcmV0dXJuIHsgfTsKICAgICB9CiAKKyAgICBjYXNlIEdDUHJlZml4OiB7Cisg
ICAgICAgIFdBU01fUEFSU0VSX0ZBSUxfSUYoIU9wdGlvbnM6OnVzZVdlYkFzc2VtYmx5R0MoKSwg
Ildhc20gR0MgaXMgbm90IGVuYWJsZWQiKTsKKworICAgICAgICB1aW50OF90IGV4dE9wOworICAg
ICAgICBXQVNNX1BBUlNFUl9GQUlMX0lGKCFwYXJzZVVJbnQ4KGV4dE9wKSwgImNhbid0IHBhcnNl
IGV4dGVuZGVkIEdDIG9wY29kZSIpOworCisgICAgICAgIHN3aXRjaCAoc3RhdGljX2Nhc3Q8R0NP
cFR5cGU+KGV4dE9wKSkgeworICAgICAgICBjYXNlIEdDT3BUeXBlOjpSdHRDYW5vbjogeworICAg
ICAgICAgICAgdWludDMyX3QgdHlwZUluZGV4OworICAgICAgICAgICAgV0FTTV9QQVJTRVJfRkFJ
TF9JRighcGFyc2VWYXJVSW50MzIodHlwZUluZGV4KSwgImNhbid0IGdldCB0eXBlIGluZGV4IGZv
ciBydHQuY2Fub24iKTsKKyAgICAgICAgICAgIFdBU01fVkFMSURBVE9SX0ZBSUxfSUYodHlwZUlu
ZGV4ID49IG1faW5mby50eXBlQ291bnQoKSwgInJ0dC5jYW5vbiBpbmRleCAiLCB0eXBlSW5kZXgs
ICIgaXMgb3V0IG9mIGJvdW5kIik7CisKKyAgICAgICAgICAgIEV4cHJlc3Npb25UeXBlIHJlc3Vs
dDsKKyAgICAgICAgICAgIFdBU01fVFJZX0FERF9UT19DT05URVhUKGFkZFJ0dENhbm9uKHR5cGVJ
bmRleCwgcmVzdWx0KSk7CisKKyAgICAgICAgICAgIG1fZXhwcmVzc2lvblN0YWNrLmNvbnN0cnVj
dEFuZEFwcGVuZChUeXBlIHsgVHlwZUtpbmQ6OlJ0dCwgTnVsbGFibGU6Ok5vLCBzdGF0aWNfY2Fz
dDxUeXBlSW5kZXg+KHR5cGVJbmRleCkgfSwgcmVzdWx0KTsKKyAgICAgICAgICAgIHJldHVybiB7
IH07CisgICAgICAgIH0KKworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgV0FTTV9QQVJT
RVJfRkFJTF9JRih0cnVlLCAiaW52YWxpZCBleHRlbmRlZCBHQyBvcCAiLCBleHRPcCk7CisgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4geyB9OworICAgIH0KKwog
ICAgIGNhc2UgRXh0QXRvbWljOiB7CiAgICAgICAgIFdBU01fUEFSU0VSX0ZBSUxfSUYoIU9wdGlv
bnM6OnVzZVdlYkFzc2VtYmx5VGhyZWFkaW5nKCksICJ3YXNtLXRocmVhZGluZyBpcyBub3QgZW5h
YmxlZCIpOwogICAgICAgICB1aW50OF90IGV4dE9wOwpAQCAtMTkyOCw2ICsxOTU0LDEyIEBAIGF1
dG8gRnVuY3Rpb25QYXJzZXI8Q29udGV4dD46OnBhcnNlVW5yZWFjaGFibGVFeHByZXNzaW9uKCkg
LT4gUGFydGlhbFJlc3VsdAogICAgICAgICByZXR1cm4geyB9OwogICAgIH0KIAorICAgIGNhc2Ug
R0NQcmVmaXg6IHsKKyAgICAgICAgLy8gTllJCisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OworICAgICAgICByZXR1cm4geyB9OworICAgIH0KKwogICAgIGNhc2UgR3Jvd01lbW9yeToKICAg
ICBjYXNlIEN1cnJlbnRNZW1vcnk6IHsKICAgICAgICAgdWludDhfdCByZXNlcnZlZDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21MTEludEdlbmVyYXRvci5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtTExJbnRHZW5lcmF0b3IuY3BwCmluZGV4
IDcxZTA2NDdjNTY2NjZlYTBmZmQzY2M0NWE0ZGU2MTFlMDc5Mjc3ZmQuLmQzNzNmYWVlODE2ODE4
ZmFhZTI2NGVkZTNiOTFjYTQ5NTU0YTZkNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93YXNtL1dhc21MTEludEdlbmVyYXRvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3dhc20vV2FzbUxMSW50R2VuZXJhdG9yLmNwcApAQCAtMjcxLDYgKzI3MSw5IEBAIHB1Ymxp
YzoKICAgICAvLyBTYXR1cmF0ZWQgdHJ1bmNhdGlvbi4KICAgICBQYXJ0aWFsUmVzdWx0IFdBUk5f
VU5VU0VEX1JFVFVSTiB0cnVuY1NhdHVyYXRlZChFeHQxT3BUeXBlLCBFeHByZXNzaW9uVHlwZSBv
cGVyYW5kLCBFeHByZXNzaW9uVHlwZSYgcmVzdWx0LCBUeXBlLCBUeXBlKTsKIAorICAgIC8vIEdD
CisgICAgUGFydGlhbFJlc3VsdCBXQVJOX1VOVVNFRF9SRVRVUk4gYWRkUnR0Q2Fub24odWludDMy
X3QgaW5kZXgsIEV4cHJlc3Npb25UeXBlJiByZXN1bHQpOworCiAgICAgLy8gQmFzaWMgb3BlcmF0
b3JzCiAgICAgdGVtcGxhdGU8T3BUeXBlPgogICAgIFBhcnRpYWxSZXN1bHQgV0FSTl9VTlVTRURf
UkVUVVJOIGFkZE9wKEV4cHJlc3Npb25UeXBlIGFyZywgRXhwcmVzc2lvblR5cGUmIHJlc3VsdCk7
CkBAIC02MDgsNiArNjExLDcgQEAgYXV0byBMTEludEdlbmVyYXRvcjo6Y2FsbEluZm9ybWF0aW9u
Rm9yQ2FsbGVyKGNvbnN0IEZ1bmN0aW9uU2lnbmF0dXJlJiBzaWduYXR1cmUKICAgICAgICAgY2Fz
ZSBUeXBlS2luZDo6RnVuY3JlZjoKICAgICAgICAgY2FzZSBUeXBlS2luZDo6UmVmTnVsbDoKICAg
ICAgICAgY2FzZSBUeXBlS2luZDo6UmVmOgorICAgICAgICBjYXNlIFR5cGVLaW5kOjpSdHQ6CiAg
ICAgICAgICAgICBpZiAoZ3BySW5kZXggPCBncHJDb3VudCkKICAgICAgICAgICAgICAgICArK2dw
ckluZGV4OwogICAgICAgICAgICAgZWxzZSBpZiAoc3RhY2tJbmRleCsrID49IHN0YWNrQ291bnQp
CkBAIC02NjYsNiArNjcwLDcgQEAgYXV0byBMTEludEdlbmVyYXRvcjo6Y2FsbEluZm9ybWF0aW9u
Rm9yQ2FsbGVyKGNvbnN0IEZ1bmN0aW9uU2lnbmF0dXJlJiBzaWduYXR1cmUKICAgICAgICAgY2Fz
ZSBUeXBlS2luZDo6RnVuY3JlZjoKICAgICAgICAgY2FzZSBUeXBlS2luZDo6UmVmTnVsbDoKICAg
ICAgICAgY2FzZSBUeXBlS2luZDo6UmVmOgorICAgICAgICBjYXNlIFR5cGVLaW5kOjpSdHQ6CiAg
ICAgICAgICAgICBpZiAoZ3BySW5kZXggPiBncHJMaW1pdCkKICAgICAgICAgICAgICAgICBhcmd1
bWVudHNbaV0gPSB2aXJ0dWFsUmVnaXN0ZXJGb3JMb2NhbCgtLWdwckluZGV4KTsKICAgICAgICAg
ICAgIGVsc2UKQEAgLTcxMSw2ICs3MTYsNyBAQCBhdXRvIExMSW50R2VuZXJhdG9yOjpjYWxsSW5m
b3JtYXRpb25Gb3JDYWxsZXIoY29uc3QgRnVuY3Rpb25TaWduYXR1cmUmIHNpZ25hdHVyZQogICAg
ICAgICBjYXNlIFR5cGVLaW5kOjpWb2lkOgogICAgICAgICBjYXNlIFR5cGVLaW5kOjpGdW5jOgog
ICAgICAgICBjYXNlIFR5cGVLaW5kOjpTdHJ1Y3Q6CisgICAgICAgIGNhc2UgVHlwZUtpbmQ6OlJ0
dDoKICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIH0K
ICAgICB9CkBAIC03NjksNiArNzc1LDcgQEAgYXV0byBMTEludEdlbmVyYXRvcjo6Y2FsbEluZm9y
bWF0aW9uRm9yQ2FsbGVlKGNvbnN0IEZ1bmN0aW9uU2lnbmF0dXJlJiBzaWduYXR1cmUKICAgICAg
ICAgY2FzZSBUeXBlS2luZDo6Vm9pZDoKICAgICAgICAgY2FzZSBUeXBlS2luZDo6RnVuYzoKICAg
ICAgICAgY2FzZSBUeXBlS2luZDo6U3RydWN0OgorICAgICAgICBjYXNlIFR5cGVLaW5kOjpSdHQ6
CiAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICB9CiAg
ICAgfQpAQCAtODExLDYgKzgxOCw3IEBAIGF1dG8gTExJbnRHZW5lcmF0b3I6OmFkZEFyZ3VtZW50
cyhjb25zdCBUeXBlRGVmaW5pdGlvbiYgc2lnbmF0dXJlKSAtPiBQYXJ0aWFsUmVzCiAgICAgICAg
IGNhc2UgVHlwZUtpbmQ6OkZ1bmNyZWY6CiAgICAgICAgIGNhc2UgVHlwZUtpbmQ6OlJlZk51bGw6
CiAgICAgICAgIGNhc2UgVHlwZUtpbmQ6OlJlZjoKKyAgICAgICAgY2FzZSBUeXBlS2luZDo6UnR0
OgogICAgICAgICAgICAgYWRkQXJndW1lbnQoaSwgZ3BySW5kZXgsIG1heEdQUkluZGV4KTsKICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFR5cGVLaW5kOjpGMzI6CkBAIC0xODI1LDYg
KzE4MzMsMTQgQEAgYXV0byBMTEludEdlbmVyYXRvcjo6dHJ1bmNTYXR1cmF0ZWQoRXh0MU9wVHlw
ZSBvcCwgRXhwcmVzc2lvblR5cGUgb3BlcmFuZCwgRXhwcmUKICAgICByZXR1cm4geyB9OwogfQog
CithdXRvIExMSW50R2VuZXJhdG9yOjphZGRSdHRDYW5vbih1aW50MzJfdCBpbmRleCwgRXhwcmVz
c2lvblR5cGUmIHJlc3VsdCkgLT4gUGFydGlhbFJlc3VsdAoreworICAgIHJlc3VsdCA9IHB1c2go
KTsKKyAgICBXYXNtUnR0Q2Fub246OmVtaXQodGhpcywgcmVzdWx0LCBpbmRleCk7CisKKyAgICBy
ZXR1cm4geyB9OworfQorCiB2b2lkIExMSW50R2VuZXJhdG9yOjpsaW5rU3dpdGNoVGFyZ2V0cyhM
YWJlbCYgbGFiZWwsIHVuc2lnbmVkIGxvY2F0aW9uKQogewogICAgIGF1dG8gaXQgPSBtX3N3aXRj
aGVzLmZpbmQoJmxhYmVsKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNt
L1dhc21PcGVyYXRpb25zLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21PcGVy
YXRpb25zLmNwcAppbmRleCBlZTBiMmVkOWIyN2QzNmRiYWMzNzZjYmZjOWU2YjY2ZGQwZGI2Zjc0
Li5mMmY2MTFhNmJlNmUzMjJmZWRlZmU2ZjI5NGNmZjEyY2QyMjgwZjM5IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtT3BlcmF0aW9ucy5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbU9wZXJhdGlvbnMuY3BwCkBAIC04MjEsNiArODIxLDEy
IEBAIEpTQ19ERUZJTkVfSklUX09QRVJBVElPTihvcGVyYXRpb25XYXNtUmVmRnVuYywgRW5jb2Rl
ZEpTVmFsdWUsIChJbnN0YW5jZSogaW5zdGFuCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh2
YWx1ZSk7CiB9CiAKK0pTQ19ERUZJTkVfSklUX09QRVJBVElPTihvcGVyYXRpb25XYXNtUnR0Q2Fu
b24sIEVuY29kZWRKU1ZhbHVlLCAoSW5zdGFuY2UqLCB1aW50MzJfdCkpCit7CisgICAgLy8gRklY
TUU6IFdlIGRvbid0IG5lZWQgcmVhbCBSVFQgdmFsdWVzIHJpZ2h0IG5vdywgc28gbGV0J3MgdXNl
IGpzTnVsbC4KKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTnVsbCgpKTsKK30KKwogSlND
X0RFRklORV9KSVRfT1BFUkFUSU9OKG9wZXJhdGlvbkdldFdhc21UYWJsZVNpemUsIGludDMyX3Qs
IChJbnN0YW5jZSogaW5zdGFuY2UsIHVuc2lnbmVkIHRhYmxlSW5kZXgpKQogewogICAgIHJldHVy
biBpbnN0YW5jZS0+dGFibGUodGFibGVJbmRleCktPmxlbmd0aCgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbU9wZXJhdGlvbnMuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93YXNtL1dhc21PcGVyYXRpb25zLmgKaW5kZXggNThkMTU5NzVlODhkMjAzZGJjOTg0
NGMxNGU1NDI0MDJhNjE2Y2I5YS4uZTJjYjM1OTA0MTk2YjlmNDFiZTU2ZDNkN2VmYzY4OTIwNzlm
M2MwMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbU9wZXJhdGlv
bnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtT3BlcmF0aW9ucy5oCkBA
IC04OCw2ICs4OCw4IEBAIEpTQ19ERUNMQVJFX0pJVF9PUEVSQVRJT04ob3BlcmF0aW9uTWVtb3J5
QXRvbWljTm90aWZ5LCBpbnQzMl90LCAoSW5zdGFuY2UqLCB1bnNpCiBKU0NfREVDTEFSRV9KSVRf
T1BFUkFUSU9OKG9wZXJhdGlvbldhc21NZW1vcnlJbml0LCBzaXplX3QsIChJbnN0YW5jZSosIHVu
c2lnbmVkIGRhdGFTZWdtZW50SW5kZXgsIHVpbnQzMl90IGRzdEFkZHJlc3MsIHVpbnQzMl90IHNy
Y0FkZHJlc3MsIHVpbnQzMl90IGxlbmd0aCkpOwogSlNDX0RFQ0xBUkVfSklUX09QRVJBVElPTihv
cGVyYXRpb25XYXNtRGF0YURyb3AsIHZvaWQsIChJbnN0YW5jZSosIHVuc2lnbmVkIGRhdGFTZWdt
ZW50SW5kZXgpKTsKIAorSlNDX0RFQ0xBUkVfSklUX09QRVJBVElPTihvcGVyYXRpb25XYXNtUnR0
Q2Fub24sIEVuY29kZWRKU1ZhbHVlLCAoSW5zdGFuY2UqLCB1aW50MzJfdCkpOworCiBKU0NfREVD
TEFSRV9KSVRfT1BFUkFUSU9OKG9wZXJhdGlvbldhc21UaHJvdywgdm9pZCosIChJbnN0YW5jZSos
IENhbGxGcmFtZSosIHVuc2lnbmVkIGV4Y2VwdGlvbkluZGV4LCB1aW50NjRfdCopKTsKIEpTQ19E
RUNMQVJFX0pJVF9PUEVSQVRJT04ob3BlcmF0aW9uV2FzbVJldGhyb3csIHZvaWQqLCAoSW5zdGFu
Y2UqLCBDYWxsRnJhbWUqLCBFbmNvZGVkSlNWYWx1ZSB0aHJvd25WYWx1ZSkpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtUGFyc2VyLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd2FzbS9XYXNtUGFyc2VyLmgKaW5kZXggNDM4ZmYzZjcyZDliNjY0OGFhZjcw
YTQ5YTBhYTdiMTUxOGI2YjlhZS4uNmE2NDhmMTBiNDE5ZDBmODBkMjZiMWIzMmIxYjRlYjc5ZWVm
YWE4ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbVBhcnNlci5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21QYXJzZXIuaApAQCAtMzQwLDYg
KzM0MCwxNCBAQCBBTFdBWVNfSU5MSU5FIGJvb2wgUGFyc2VyPFN1Y2Nlc3NUeXBlPjo6cGFyc2VW
YWx1ZVR5cGUoY29uc3QgTW9kdWxlSW5mb3JtYXRpb24mCiAgICAgICAgIGlmICghcGFyc2VIZWFw
VHlwZShpbmZvLCBoZWFwVHlwZSkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAg
IHR5cGVJbmRleCA9IGhlYXBUeXBlIDwgMCA/IHN0YXRpY19jYXN0PFR5cGVJbmRleD4oaGVhcFR5
cGUpIDogVHlwZUluZm9ybWF0aW9uOjpnZXQoaW5mby50eXBlU2lnbmF0dXJlc1toZWFwVHlwZV0u
Z2V0KCkpOworICAgIH0gZWxzZSBpZiAoT3B0aW9uczo6dXNlV2ViQXNzZW1ibHlHQygpICYmIHR5
cGVLaW5kID09IFR5cGVLaW5kOjpSdHQpIHsKKyAgICAgICAgdHlwZUtpbmQgPSBUeXBlS2luZDo6
UnR0OworICAgICAgICBpc051bGxhYmxlID0gZmFsc2U7CisKKyAgICAgICAgaW50MzJfdCBoZWFw
VHlwZTsKKyAgICAgICAgaWYgKCFwYXJzZUhlYXBUeXBlKGluZm8sIGhlYXBUeXBlKSkKKyAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgdHlwZUluZGV4ID0gc3RhdGljX2Nhc3Q8VHlw
ZUluZGV4PihoZWFwVHlwZSk7CiAgICAgfQogCiAgICAgVHlwZSB0eXBlID0geyB0eXBlS2luZCwg
c3RhdGljX2Nhc3Q8TnVsbGFibGU+KGlzTnVsbGFibGUpLCB0eXBlSW5kZXggfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21TbG93UGF0aHMuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbVNsb3dQYXRocy5jcHAKaW5kZXggY2I2OGI0OWNmNzI0
OThhYjQyMWQ0N2YzNzdkZTg4MzYxNTQ2OGNjOS4uMWY5YzhkM2QxYTg2ODIwOGVmZDQxYzFhMDYy
NDg1MDAxYjY1ZmEyMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2Fz
bVNsb3dQYXRocy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbVNsb3dQ
YXRocy5jcHAKQEAgLTMyMiw2ICszMjIsMTIgQEAgV0FTTV9TTE9XX1BBVEhfREVDTChyZWZfZnVu
YykKICAgICBXQVNNX1JFVFVSTihXYXNtOjpvcGVyYXRpb25XYXNtUmVmRnVuYyhpbnN0YW5jZSwg
aW5zdHJ1Y3Rpb24ubV9mdW5jdGlvbkluZGV4KSk7CiB9CiAKK1dBU01fU0xPV19QQVRIX0RFQ0wo
cnR0X2Nhbm9uKQoreworICAgIGF1dG8gaW5zdHJ1Y3Rpb24gPSBwYy0+YXM8V2FzbVJ0dENhbm9u
PigpOworICAgIFdBU01fUkVUVVJOKFdhc206Om9wZXJhdGlvbldhc21SdHRDYW5vbihpbnN0YW5j
ZSwgaW5zdHJ1Y3Rpb24ubV90eXBlSW5kZXgpKTsKK30KKwogV0FTTV9TTE9XX1BBVEhfREVDTCh0
YWJsZV9nZXQpCiB7CiAgICAgYXV0byBpbnN0cnVjdGlvbiA9IHBjLT5hczxXYXNtVGFibGVHZXQ+
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtU2xvd1BhdGhz
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtU2xvd1BhdGhzLmgKaW5kZXggNDYw
OWUzNmIwMzkyNGQxMGVhMDI3NDU2MTBmMGYyZmU0ZTgzMWYyMi4uNjc4YzE3MjgzNzY4ZjQwYTRl
ZWZmNzNmZjRhNjgzY2ZmNjAxNjM1YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3dhc20vV2FzbVNsb3dQYXRocy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dh
c21TbG93UGF0aHMuaApAQCAtODksNiArODksNyBAQCBXQVNNX1NMT1dfUEFUSF9ISURERU5fREVD
TChtZW1vcnlfYXRvbWljX25vdGlmeSk7CiBXQVNNX1NMT1dfUEFUSF9ISURERU5fREVDTCh0aHJv
dyk7CiBXQVNNX1NMT1dfUEFUSF9ISURERU5fREVDTChyZXRocm93KTsKIFdBU01fU0xPV19QQVRI
X0hJRERFTl9ERUNMKHJldHJpZXZlX2FuZF9jbGVhcl9leGNlcHRpb24pOworV0FTTV9TTE9XX1BB
VEhfSElEREVOX0RFQ0wocnR0X2Nhbm9uKTsKIAogZXh0ZXJuICJDIiBTbG93UGF0aFJldHVyblR5
cGUgc2xvd19wYXRoX3dhc21fdGhyb3dfZXhjZXB0aW9uKENhbGxGcmFtZSosIGNvbnN0IFdhc21J
bnN0cnVjdGlvbiosIFdhc206Okluc3RhbmNlKiBpbnN0YW5jZSwgV2FzbTo6RXhjZXB0aW9uVHlw
ZSkgUkVGRVJFTkNFRF9GUk9NX0FTTSBXVEZfSU5URVJOQUw7CiBleHRlcm4gIkMiIFNsb3dQYXRo
UmV0dXJuVHlwZSBzbG93X3BhdGhfd2FzbV9wb3Bjb3VudChjb25zdCBXYXNtSW5zdHJ1Y3Rpb24q
IHBjLCB1aW50MzJfdCkgUkVGRVJFTkNFRF9GUk9NX0FTTSBXVEZfSU5URVJOQUw7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9nZW5lcmF0ZVdhc21PcHNIZWFkZXIucHkg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9nZW5lcmF0ZVdhc21PcHNIZWFkZXIucHkKaW5k
ZXggODZhNWNiZmU3YzMzMzFiYTFjOTUzMTc0ZjZjNThhYmVlYjhjN2FkOS4uNDNhZjJjMDM0MDg1
OTViM2YxMzkzMzg1MTI3ZjQ1OGY0ZjEzNWRlMCAxMDA3NTUKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3dhc20vZ2VuZXJhdGVXYXNtT3BzSGVhZGVyLnB5CisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93YXNtL2dlbmVyYXRlV2FzbU9wc0hlYWRlci5weQpAQCAtMTE2LDcgKzExNiw3IEBA
IGRlZiBhdG9taWNCaW5hcnlSTVdNYWNyb2l6ZXIoKToKIAogCiBkZWZpbmVzID0gWyIjZGVmaW5l
IEZPUl9FQUNIX1dBU01fU1BFQ0lBTF9PUChtYWNybykiXQotZGVmaW5lcy5leHRlbmQoW29wIGZv
ciBvcCBpbiBvcGNvZGVNYWNyb2l6ZXIobGFtYmRhIG9wOiBub3QgKGlzVW5hcnkob3ApIG9yIGlz
QmluYXJ5KG9wKSBvciBvcFsiY2F0ZWdvcnkiXSA9PSAiY29udHJvbCIgb3Igb3BbImNhdGVnb3J5
Il0gPT0gIm1lbW9yeSIgb3Igb3BbInZhbHVlIl0gPT0gMHhmYyBvciBpc0F0b21pYyhvcCkpKV0p
CitkZWZpbmVzLmV4dGVuZChbb3AgZm9yIG9wIGluIG9wY29kZU1hY3JvaXplcihsYW1iZGEgb3A6
IG5vdCAoaXNVbmFyeShvcCkgb3IgaXNCaW5hcnkob3ApIG9yIG9wWyJjYXRlZ29yeSJdID09ICJj
b250cm9sIiBvciBvcFsiY2F0ZWdvcnkiXSA9PSAibWVtb3J5IiBvciBvcFsidmFsdWUiXSA9PSAw
eGZjIG9yIG9wWyJjYXRlZ29yeSJdID09ICJnYyIgb3IgaXNBdG9taWMob3ApKSldKQogZGVmaW5l
cy5hcHBlbmQoIlxuXG4jZGVmaW5lIEZPUl9FQUNIX1dBU01fQ09OVFJPTF9GTE9XX09QKG1hY3Jv
KSIpCiBkZWZpbmVzLmV4dGVuZChbb3AgZm9yIG9wIGluIG9wY29kZU1hY3JvaXplcihsYW1iZGEg
b3A6IG9wWyJjYXRlZ29yeSJdID09ICJjb250cm9sIildKQogZGVmaW5lcy5hcHBlbmQoIlxuXG4j
ZGVmaW5lIEZPUl9FQUNIX1dBU01fU0lNUExFX1VOQVJZX09QKG1hY3JvKSIpCkBAIC0xNDMsNiAr
MTQzLDggQEAgZGVmaW5lcy5hcHBlbmQoIlxuXG4jZGVmaW5lIEZPUl9FQUNIX1dBU01fRVhUX0FU
T01JQ19CSU5BUllfUk1XX09QKG1hY3JvKSIpCiBkZWZpbmVzLmV4dGVuZChbb3AgZm9yIG9wIGlu
IGF0b21pY0JpbmFyeVJNV01hY3JvaXplcigpXSkKIGRlZmluZXMuYXBwZW5kKCJcblxuI2RlZmlu
ZSBGT1JfRUFDSF9XQVNNX0VYVF9BVE9NSUNfT1RIRVJfT1AobWFjcm8pIikKIGRlZmluZXMuZXh0
ZW5kKFtvcCBmb3Igb3AgaW4gb3Bjb2RlTWFjcm9pemVyKGxhbWJkYSBvcDogaXNBdG9taWMob3Ap
IGFuZCAobm90IGlzQXRvbWljTG9hZChvcCkgYW5kIG5vdCBpc0F0b21pY1N0b3JlKG9wKSBhbmQg
bm90IGlzQXRvbWljQmluYXJ5Uk1XKG9wKSksIG9wY29kZUZpZWxkPSJleHRlbmRlZE9wIildKQor
ZGVmaW5lcy5hcHBlbmQoIlxuXG4jZGVmaW5lIEZPUl9FQUNIX1dBU01fR0NfT1AobWFjcm8pIikK
K2RlZmluZXMuZXh0ZW5kKFtvcCBmb3Igb3AgaW4gb3Bjb2RlTWFjcm9pemVyKGxhbWJkYSBvcDog
KG9wWyJjYXRlZ29yeSJdID09ICJnYyIpLCBvcGNvZGVGaWVsZD0iZXh0ZW5kZWRPcCIpXSkKIGRl
ZmluZXMuYXBwZW5kKCJcblxuIikKIAogZGVmaW5lcyA9ICIiLmpvaW4oZGVmaW5lcykKQEAgLTMy
MSw2ICszMjMsNyBAQCBpbmxpbmUgVHlwZUtpbmQgbGluZWFyaXplZFRvVHlwZShpbnQgaSkKICAg
ICBGT1JfRUFDSF9XQVNNX01FTU9SWV9MT0FEX09QKG1hY3JvKSBcXAogICAgIEZPUl9FQUNIX1dB
U01fTUVNT1JZX1NUT1JFX09QKG1hY3JvKSBcXAogICAgIG1hY3JvKEV4dDEsICAweEZDLCBPb3Bz
LCAwKSBcXAorICAgIG1hY3JvKEdDUHJlZml4LCAgMHhGQiwgT29wcywgMCkgXFwKICAgICBtYWNy
byhFeHRBdG9taWMsIDB4RkUsIE9vcHMsIDApCiAKICNkZWZpbmUgQ1JFQVRFX0VOVU1fVkFMVUUo
bmFtZSwgaWQsIC4uLikgbmFtZSA9IGlkLApAQCAtMzU4LDYgKzM2MSwxMCBAQCBlbnVtIGNsYXNz
IEV4dDFPcFR5cGUgOiB1aW50OF90IHsKICAgICBGT1JfRUFDSF9XQVNNX1RSVU5DX1NBVFVSQVRF
RF9PUChDUkVBVEVfRU5VTV9WQUxVRSkKIH07CiAKK2VudW0gY2xhc3MgR0NPcFR5cGUgOiB1aW50
OF90IHsKKyAgICBGT1JfRUFDSF9XQVNNX0dDX09QKENSRUFURV9FTlVNX1ZBTFVFKQorfTsKKwog
ZW51bSBjbGFzcyBFeHRBdG9taWNPcFR5cGUgOiB1aW50OF90IHsKICAgICBGT1JfRUFDSF9XQVNN
X0VYVF9BVE9NSUNfTE9BRF9PUChDUkVBVEVfRU5VTV9WQUxVRSkKICAgICBGT1JfRUFDSF9XQVNN
X0VYVF9BVE9NSUNfU1RPUkVfT1AoQ1JFQVRFX0VOVU1fVkFMVUUpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XYXNtVG9KUy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd2FzbS9qcy9XYXNtVG9KUy5jcHAKaW5kZXggM2YwODA5MjJlMjQ1OTlmYzQwNjJiNGNk
YjRiMmQyZmY0Mzg1MGJhMS4uMDRmZGI1OGM2MjU5N2JiNjY2MjY0ZGE3OTUwYjkyMzNjNjMyODk0
YiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2FzbVRvSlMuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dhc21Ub0pTLmNwcApAQCAtMTA4
LDYgKzEwOCw3IEBAIEV4cGVjdGVkPE1hY3JvQXNzZW1ibGVyQ29kZVJlZjxXYXNtRW50cnlQdHJU
YWc+LCBCaW5kaW5nRmFpbHVyZT4gd2FzbVRvSlMoVk0mIHZtCiAgICAgICAgICAgICBjYXNlIFR5
cGVLaW5kOjpTdHJ1Y3Q6CiAgICAgICAgICAgICBjYXNlIFR5cGVLaW5kOjpSZWZOdWxsOgogICAg
ICAgICAgICAgY2FzZSBUeXBlS2luZDo6UmVmOgorICAgICAgICAgICAgY2FzZSBUeXBlS2luZDo6
UnR0OgogICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7IC8vIEhh
bmRsZWQgYWJvdmUuCiAgICAgICAgICAgICBjYXNlIFR5cGVLaW5kOjpFeHRlcm5yZWY6CiAgICAg
ICAgICAgICBjYXNlIFR5cGVLaW5kOjpGdW5jcmVmOgpAQCAtMTgzLDYgKzE4NCw3IEBAIEV4cGVj
dGVkPE1hY3JvQXNzZW1ibGVyQ29kZVJlZjxXYXNtRW50cnlQdHJUYWc+LCBCaW5kaW5nRmFpbHVy
ZT4gd2FzbVRvSlMoVk0mIHZtCiAgICAgICAgICAgICBjYXNlIFR5cGVLaW5kOjpTdHJ1Y3Q6CiAg
ICAgICAgICAgICBjYXNlIFR5cGVLaW5kOjpSZWZOdWxsOgogICAgICAgICAgICAgY2FzZSBUeXBl
S2luZDo6UmVmOgorICAgICAgICAgICAgY2FzZSBUeXBlS2luZDo6UnR0OgogICAgICAgICAgICAg
ICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7IC8vIEhhbmRsZWQgYWJvdmUuCiAgICAg
ICAgICAgICBjYXNlIFR5cGVLaW5kOjpFeHRlcm5yZWY6CiAgICAgICAgICAgICBjYXNlIFR5cGVL
aW5kOjpGdW5jcmVmOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vd2Fz
bS5qc29uIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vd2FzbS5qc29uCmluZGV4IGM2ZWU2
N2ZkMGUwYzBiNDVjZjgzMGI0ZDM3NGQxZTI2YWY0NTQ0NDMuLjFmYTg2ZjkwYWMwMGYyZTA2M2M4
ZmNjNDI3NTNjMzkwZmQ0MWE1ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
YXNtL3dhc20uanNvbgorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS93YXNtLmpzb24K
QEAgLTE3LDYgKzE3LDcgQEAKICAgICAgICAgInJlZiI6ICAgICAgIHsgInR5cGUiOiAidmFyaW50
NyIsICJ2YWx1ZSI6ICAtMjEsICJiM3R5cGUiOiAiQjM6OkludDY0IiB9LAogICAgICAgICAiZnVu
YyI6ICAgICAgeyAidHlwZSI6ICJ2YXJpbnQ3IiwgInZhbHVlIjogIC0zMiwgImIzdHlwZSI6ICJC
Mzo6Vm9pZCIgfSwKICAgICAgICAgInN0cnVjdCI6ICAgIHsgInR5cGUiOiAidmFyaW50NyIsICJ2
YWx1ZSI6ICAtMzMsICJiM3R5cGUiOiAiQjM6OlZvaWQiIH0sCisgICAgICAgICJydHQiOiAgICAg
ICB7ICJ0eXBlIjogInZhcmludDciLCAidmFsdWUiOiAgLTI0LCAiYjN0eXBlIjogIkIzOjpWb2lk
IiB9LAogICAgICAgICAidm9pZCI6ICAgICAgeyAidHlwZSI6ICJ2YXJpbnQ3IiwgInZhbHVlIjog
IC02NCwgImIzdHlwZSI6ICJCMzo6Vm9pZCIgfQogICAgIH0sCiAgICAgInZhbHVlX3R5cGUiOiBb
ImkzMiIsICJpNjQiLCAiZjMyIiwgImY2NCIsICJleHRlcm5yZWYiLCAiZnVuY3JlZiJdLApAQCAt
NzcsNiArNzgsNyBAQAogICAgICAgICAicmVmLm51bGwiOiAgICAgICAgICAgIHsgImNhdGVnb3J5
IjogInNwZWNpYWwiLCAgICAidmFsdWUiOiAyMDgsICJyZXR1cm4iOiBbImV4dGVybnJlZiIsICJm
dW5jcmVmIl0sICAgICAgICAgInBhcmFtZXRlciI6IFtdLCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgImltbWVkaWF0ZSI6IFt7Im5hbWUiOiAicmVmdHlwZSIsICAgICAgICAidHlwZSI6ICJy
ZWZfdHlwZSJ9XSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ImRlc2NyaXB0aW9uIjogImEgY29uc3RhbnQgbnVsbCByZWZlcmVuY2UiIH0sCiAgICAgICAgICJy
ZWYuaXNfbnVsbCI6ICAgICAgICAgeyAiY2F0ZWdvcnkiOiAic3BlY2lhbCIsICAgICJ2YWx1ZSI6
IDIwOSwgInJldHVybiI6IFsiaTMyIl0sICAgICAgICAgICAgICAgICAgICAgICAgICAicGFyYW1l
dGVyIjogWyJleHRlcm5yZWYiXSwgICAgICAgICAgICAgICAgICAiaW1tZWRpYXRlIjogW10sICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiZGV0ZXJtaW5l
IGlmIGEgcmVmZXJlbmNlIGlzIG51bGwiIH0sCiAgICAgICAgICJyZWYuZnVuYyI6ICAgICAgICAg
ICAgeyAiY2F0ZWdvcnkiOiAic3BlY2lhbCIsICAgICJ2YWx1ZSI6IDIxMCwgInJldHVybiI6IFsi
ZnVuY3JlZiJdLCAgICAgICAgICAgICAgICAgICAgICAicGFyYW1ldGVyIjogW10sICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiaW1tZWRpYXRlIjogW3sibmFtZSI6ICJmdW5jdGlvbl9pbmRl
eCIsICJ0eXBlIjogInZhcnVpbnQzMiJ9XSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAicmV0dXJuIGEgcmVmZXJlbmNlIHRvIHRoZSBm
dW5jdGlvbiBhdCB0aGUgZ2l2ZW4gaW5kZXgiIH0sCisgICAgICAgICJydHQuY2Fub24iOiAgICAg
ICAgICAgeyAiY2F0ZWdvcnkiOiAiZ2MiLCAgICAgICAgICJ2YWx1ZSI6IDI1MSwgInJldHVybiI6
IFsicnR0Il0sICAgICAgICAgICAgICAgICAgICAgICAgICAicGFyYW1ldGVyIjogW10sICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiaW1tZWRpYXRlIjogW3sibmFtZSI6ICJ0eXBlX2luZGV4
IiwgICAgICJ0eXBlIjogInZhcnVpbnQzMiJ9XSwgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAicmV0dXJucyB0aGUgUlRUIG9mIHRoZSBz
cGVjaWZpZWQgdHlwZSIsICJleHRlbmRlZE9wIjogNDggfSwKICAgICAgICAgImdldF9sb2NhbCI6
ICAgICAgICAgICB7ICJjYXRlZ29yeSI6ICJzcGVjaWFsIiwgICAgInZhbHVlIjogIDMyLCAicmV0
dXJuIjogWyJhbnkiXSwgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJhbWV0ZXIiOiBbXSwg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpbW1lZGlhdGUiOiBbeyJuYW1lIjogImxvY2Fs
X2luZGV4IiwgICAgInR5cGUiOiAidmFydWludDMyIn1dLCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJyZWFkIGEgbG9jYWwgdmFyaWFi
bGUgb3IgcGFyYW1ldGVyIiB9LAogICAgICAgICAic2V0X2xvY2FsIjogICAgICAgICAgIHsgImNh
dGVnb3J5IjogInNwZWNpYWwiLCAgICAidmFsdWUiOiAgMzMsICJyZXR1cm4iOiBbXSwgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgInBhcmFtZXRlciI6IFsiYW55Il0sICAgICAgICAgICAg
ICAgICAgICAgICAgImltbWVkaWF0ZSI6IFt7Im5hbWUiOiAibG9jYWxfaW5kZXgiLCAgICAidHlw
ZSI6ICJ2YXJ1aW50MzIifV0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgImRlc2NyaXB0aW9uIjogIndyaXRlIGEgbG9jYWwgdmFyaWFibGUgb3IgcGFyYW1ldGVy
IiB9LAogICAgICAgICAidGVlX2xvY2FsIjogICAgICAgICAgIHsgImNhdGVnb3J5IjogInNwZWNp
YWwiLCAgICAidmFsdWUiOiAgMzQsICJyZXR1cm4iOiBbImFueSJdLCAgICAgICAgICAgICAgICAg
ICAgICAgICAgInBhcmFtZXRlciI6IFsiYW55Il0sICAgICAgICAgICAgICAgICAgICAgICAgImlt
bWVkaWF0ZSI6IFt7Im5hbWUiOiAibG9jYWxfaW5kZXgiLCAgICAidHlwZSI6ICJ2YXJ1aW50MzIi
fV0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlc2NyaXB0
aW9uIjogIndyaXRlIGEgbG9jYWwgdmFyaWFibGUgb3IgcGFyYW1ldGVyIGFuZCByZXR1cm4gdGhl
IHNhbWUgdmFsdWUiIH0sCmRpZmYgLS1naXQgYS9KU1Rlc3RzL0NoYW5nZUxvZyBiL0pTVGVzdHMv
Q2hhbmdlTG9nCmluZGV4IGI1YzM5N2IyODQ5ZDVlM2NmZjEzNGNjOTdjYzJlM2NkNjk3MzFiZjku
LjRjNDg2MTFhZmM0NmZjZTBkNmQ3YzBiZjEyNGE5ZTUwMGY1ODU2YjUgMTAwNjQ0Ci0tLSBhL0pT
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0pTVGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAK
KzIwMjItMDQtMTkgIERtaXRyeSBCZXpoZXRza292ICA8ZGJlemhldHNrb3ZAaWdhbGlhLmNvbT4K
KworICAgICAgICBbV0FTTS1HQ10gSW50cm9kdWNlIHJ0dCB0eXBlcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM5NDkzCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAgICBBZGRlZCBiYXNpYyB0ZXN0
cyBmb3IgbWFuaXB1bGF0aW9uIG9mIHJ0dCB0eXBlcy4KKworICAgICAgICAqIHdhc20vZ2MvcnR0
LmpzOiBBZGRlZC4KKyAgICAgICAgKG1vZHVsZSk6CisgICAgICAgICh0ZXN0UnR0VHlwZXMpOgor
ICAgICAgICAodGVzdFJ0dENhbm9uKToKKyAgICAgICAgKiB3YXNtL3dhc20uanNvbjoKKwogMjAy
Mi0wNC0xNCAgQ2FpdGxpbiBQb3R0ZXIgIDxjYWl0cEBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtK
U0NdIFNoYWRvd1JlYWxtIGdsb2JhbCBvYmplY3QgaGFzIGEgbXV0YWJsZSBwcm90b3R5cGUKZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvd2FzbS9nYy9ydHQuanMgYi9KU1Rlc3RzL3dhc20vZ2MvcnR0Lmpz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjBhNzM4OGMxMDkzMTJmMWUwMDg1N2VhNzI2OWFiN2VhZTgwNjZmNjQKLS0t
IC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3dhc20vZ2MvcnR0LmpzCkBAIC0wLDAgKzEsNDIgQEAK
Ky8vQCBydW5XZWJBc3NlbWJseVN1aXRlKCItLXVzZVdlYkFzc2VtYmx5VHlwZWRGdW5jdGlvblJl
ZmVyZW5jZXM9dHJ1ZSIsICItLXVzZVdlYkFzc2VtYmx5R0M9dHJ1ZSIpCisKK2ltcG9ydCAqIGFz
IGFzc2VydCBmcm9tICIuLi9hc3NlcnQuanMiOworaW1wb3J0IHsgaW5zdGFudGlhdGUgfSBmcm9t
ICIuLi93YWJ0LXdyYXBwZXIuanMiOworCitmdW5jdGlvbiBtb2R1bGUoYnl0ZXMsIHZhbGlkID0g
dHJ1ZSkgeworICBsZXQgYnVmZmVyID0gbmV3IEFycmF5QnVmZmVyKGJ5dGVzLmxlbmd0aCk7Cisg
IGxldCB2aWV3ID0gbmV3IFVpbnQ4QXJyYXkoYnVmZmVyKTsKKyAgZm9yIChsZXQgaSA9IDA7IGkg
PCBieXRlcy5sZW5ndGg7ICsraSkgeworICAgIHZpZXdbaV0gPSBieXRlcy5jaGFyQ29kZUF0KGkp
OworICB9CisgIHJldHVybiBuZXcgV2ViQXNzZW1ibHkuTW9kdWxlKGJ1ZmZlcik7Cit9CisKK2Z1
bmN0aW9uIHRlc3RSdHRUeXBlcygpIHsKKyAgLyoKKyAgKG1vZHVsZQorICAgICAgKHR5cGUgJFBv
aW50IChzdHJ1Y3QgKGZpZWxkIGkzMikgKGZpZWxkIGkzMikpKQorICAgICAgKGZ1bmMgKHBhcmFt
IChydHQgJFBvaW50KSkpCisgICkKKyAgKi8KKyAgbW9kdWxlKCJceDAwXHg2MVx4NzNceDZkXHgw
MVx4MDBceDAwXHgwMFx4MDFceDBjXHgwMlx4NWZceDAyXHg3Zlx4MDBceDdmXHgwMFx4NjBceDAx
XHg2OFx4MDBceDAwXHgwM1x4MDJceDAxXHgwMVx4MGFceDA1XHgwMVx4MDNceDAwXHgwMVx4MGIi
KTsKK30KKworZnVuY3Rpb24gdGVzdFJ0dENhbm9uKCkgeworICAvKgorICAobW9kdWxlCisgICAg
KHR5cGUgJFBvaW50IChzdHJ1Y3QgKGZpZWxkICR4IGkzMikgKGZpZWxkICR5IGkzMikpKQorICAg
IChmdW5jICRmb28gKHBhcmFtIChydHQgJFBvaW50KSkgKHJlc3VsdCBpMzIpIChpMzIuY29uc3Qg
MzcpKQorICAgIChmdW5jIChleHBvcnQgIm1haW4iKQorICAgICAgKGRyb3AKKyAgICAgICAgKGNh
bGwgJGZvbyAocnR0LmNhbm9uICRQb2ludCkpCisgICAgICApCisgICAgKQorICApCisgICovCisg
IGxldCBpbnN0YW5jZSA9IG5ldyBXZWJBc3NlbWJseS5JbnN0YW5jZShtb2R1bGUoIlx4MDBceDYx
XHg3M1x4NmRceDAxXHgwMFx4MDBceDAwXHgwMVx4MTBceDAzXHg1Zlx4MDJceDdmXHgwMFx4N2Zc
eDAwXHg2MFx4MDFceDY4XHgwMFx4MDFceDdmXHg2MFx4MDBceDAwXHgwM1x4MDNceDAyXHgwMVx4
MDJceDA3XHgwOFx4MDFceDA0XHg2ZFx4NjFceDY5XHg2ZVx4MDBceDAxXHgwYVx4MGZceDAyXHgw
NFx4MDBceDQxXHgyNVx4MGJceDA4XHgwMFx4ZmJceDMwXHgwMFx4MTBceDAwXHgxYVx4MGIiKSk7
CisgIGluc3RhbmNlLmV4cG9ydHMubWFpbigpOworfQorCit0ZXN0UnR0VHlwZXMoKTsKK3Rlc3RS
dHRDYW5vbigpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy93YXNtL3dhc20uanNvbiBiL0pTVGVzdHMv
d2FzbS93YXNtLmpzb24KaW5kZXggNzQyODEyY2RlYjAzZDVhNTQ4NDVhMDc3YWJiMWQ3NGI1Mjdm
ZTUzNS4uNmEzNjgxZGI5OTMxZDcyYjYyNjQxZTc5ZTIxNTU5OGUwOGI2Mzk0YyAxMDA2NDQKLS0t
IGEvSlNUZXN0cy93YXNtL3dhc20uanNvbgorKysgYi9KU1Rlc3RzL3dhc20vd2FzbS5qc29uCkBA
IC0xNyw2ICsxNyw3IEBACiAgICAgICAgICJyZWYiOiAgICAgICB7ICJ0eXBlIjogInZhcmludDci
LCAidmFsdWUiOiAgLTIxLCAiYjN0eXBlIjogIkIzOjpJbnQ2NCIgfSwKICAgICAgICAgImZ1bmMi
OiAgICAgIHsgInR5cGUiOiAidmFyaW50NyIsICJ2YWx1ZSI6ICAtMzIsICJiM3R5cGUiOiAiQjM6
OlZvaWQiIH0sCiAgICAgICAgICJzdHJ1Y3QiOiAgICB7ICJ0eXBlIjogInZhcmludDciLCAidmFs
dWUiOiAgLTMzLCAiYjN0eXBlIjogIkIzOjpWb2lkIiB9LAorICAgICAgICAicnR0IjogICAgICAg
eyAidHlwZSI6ICJ2YXJpbnQ3IiwgInZhbHVlIjogIC0yNCwgImIzdHlwZSI6ICJCMzo6Vm9pZCIg
fSwKICAgICAgICAgInZvaWQiOiAgICAgIHsgInR5cGUiOiAidmFyaW50NyIsICJ2YWx1ZSI6ICAt
NjQsICJiM3R5cGUiOiAiQjM6OlZvaWQiIH0KICAgICB9LAogICAgICJ2YWx1ZV90eXBlIjogWyJp
MzIiLCAiaTY0IiwgImYzMiIsICJmNjQiLCAiZXh0ZXJucmVmIiwgImZ1bmNyZWYiXSwKQEAgLTc3
LDYgKzc4LDcgQEAKICAgICAgICAgInJlZi5udWxsIjogICAgICAgICAgICB7ICJjYXRlZ29yeSI6
ICJzcGVjaWFsIiwgICAgInZhbHVlIjogMjA4LCAicmV0dXJuIjogWyJleHRlcm5yZWYiLCAiZnVu
Y3JlZiJdLCAgICAgICAgICJwYXJhbWV0ZXIiOiBbXSwgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJpbW1lZGlhdGUiOiBbeyJuYW1lIjogInJlZnR5cGUiLCAgICAgICAgInR5cGUiOiAicmVm
X3R5cGUifV0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJk
ZXNjcmlwdGlvbiI6ICJhIGNvbnN0YW50IG51bGwgcmVmZXJlbmNlIiB9LAogICAgICAgICAicmVm
LmlzX251bGwiOiAgICAgICAgIHsgImNhdGVnb3J5IjogInNwZWNpYWwiLCAgICAidmFsdWUiOiAy
MDksICJyZXR1cm4iOiBbImkzMiJdLCAgICAgICAgICAgICAgICAgICAgICAgICAgInBhcmFtZXRl
ciI6IFsiZXh0ZXJucmVmIl0sICAgICAgICAgICAgICAgICAgImltbWVkaWF0ZSI6IFtdLCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogImRldGVybWluZSBp
ZiBhIHJlZmVyZW5jZSBpcyBudWxsIiB9LAogICAgICAgICAicmVmLmZ1bmMiOiAgICAgICAgICAg
IHsgImNhdGVnb3J5IjogInNwZWNpYWwiLCAgICAidmFsdWUiOiAyMTAsICJyZXR1cm4iOiBbImZ1
bmNyZWYiXSwgICAgICAgICAgICAgICAgICAgICAgInBhcmFtZXRlciI6IFtdLCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgImltbWVkaWF0ZSI6IFt7Im5hbWUiOiAiZnVuY3Rpb25faW5kZXgi
LCAidHlwZSI6ICJ2YXJ1aW50MzIifV0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogInJldHVybiBhIHJlZmVyZW5jZSB0byB0aGUgZnVu
Y3Rpb24gYXQgdGhlIGdpdmVuIGluZGV4IiB9LAorICAgICAgICAicnR0LmNhbm9uIjogICAgICAg
ICAgIHsgImNhdGVnb3J5IjogImdjIiwgICAgICAgICAidmFsdWUiOiAyNTEsICJyZXR1cm4iOiBb
InJ0dCJdLCAgICAgICAgICAgICAgICAgICAgICAgICAgInBhcmFtZXRlciI6IFtdLCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgImltbWVkaWF0ZSI6IFt7Im5hbWUiOiAidHlwZV9pbmRleCIs
ICAgICAidHlwZSI6ICJ2YXJ1aW50MzIifV0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogInJldHVybnMgdGhlIFJUVCBvZiB0aGUgc3Bl
Y2lmaWVkIHR5cGUiLCAiZXh0ZW5kZWRPcCI6IDQ4IH0sCiAgICAgICAgICJnZXRfbG9jYWwiOiAg
ICAgICAgICAgeyAiY2F0ZWdvcnkiOiAic3BlY2lhbCIsICAgICJ2YWx1ZSI6ICAzMiwgInJldHVy
biI6IFsiYW55Il0sICAgICAgICAgICAgICAgICAgICAgICAgICAicGFyYW1ldGVyIjogW10sICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiaW1tZWRpYXRlIjogW3sibmFtZSI6ICJsb2NhbF9p
bmRleCIsICAgICJ0eXBlIjogInZhcnVpbnQzMiJ9XSwgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAicmVhZCBhIGxvY2FsIHZhcmlhYmxl
IG9yIHBhcmFtZXRlciIgfSwKICAgICAgICAgInNldF9sb2NhbCI6ICAgICAgICAgICB7ICJjYXRl
Z29yeSI6ICJzcGVjaWFsIiwgICAgInZhbHVlIjogIDMzLCAicmV0dXJuIjogW10sICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJwYXJhbWV0ZXIiOiBbImFueSJdLCAgICAgICAgICAgICAg
ICAgICAgICAgICJpbW1lZGlhdGUiOiBbeyJuYW1lIjogImxvY2FsX2luZGV4IiwgICAgInR5cGUi
OiAidmFydWludDMyIn1dLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJkZXNjcmlwdGlvbiI6ICJ3cml0ZSBhIGxvY2FsIHZhcmlhYmxlIG9yIHBhcmFtZXRlciIg
fSwKICAgICAgICAgInRlZV9sb2NhbCI6ICAgICAgICAgICB7ICJjYXRlZ29yeSI6ICJzcGVjaWFs
IiwgICAgInZhbHVlIjogIDM0LCAicmV0dXJuIjogWyJhbnkiXSwgICAgICAgICAgICAgICAgICAg
ICAgICAgICJwYXJhbWV0ZXIiOiBbImFueSJdLCAgICAgICAgICAgICAgICAgICAgICAgICJpbW1l
ZGlhdGUiOiBbeyJuYW1lIjogImxvY2FsX2luZGV4IiwgICAgInR5cGUiOiAidmFydWludDMyIn1d
LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlv
biI6ICJ3cml0ZSBhIGxvY2FsIHZhcmlhYmxlIG9yIHBhcmFtZXRlciBhbmQgcmV0dXJuIHRoZSBz
YW1lIHZhbHVlIiB9LAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>458242</attachid>
            <date>2022-04-24 22:38:57 -0700</date>
            <delta_ts>2022-04-25 22:06:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239493-20220425123856.patch</filename>
            <type>text/plain</type>
            <size>30549</size>
            <attacher name="Dmitry">dbezhetskov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyOTQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA4
N2I4MjIxOWQ3MDBjZjM5ODdkZjk2MjdhYjAwNzU0ZmJjNjM2MTc3Li5lOTU2NGMyOTcxYjA4MmYx
NjQ5NzRlNjY2MTFkMjg2NDEyOTllNGY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1MiBAQAorMjAyMi0wNC0xOSAgRG1pdHJ5IEJlemhldHNrb3YgIDxkYmV6aGV0c2tvdkBp
Z2FsaWEuY29tPgorCisgICAgICAgIFtXQVNNLUdDXSBJbnRyb2R1Y2UgcnR0IHR5cGVzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzk0OTMKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAgIEFkZCBh
IGJhc2ljIHN1cHBvcnQgdGhyb3VnaCBydW50aW1lIGNhbGwgZm9yIHJ0dC5jYW5vbiBhbmQgcnR0
IHR5cGVzLgorICAgICAgICBJdCBpcyBhIHByb3RvdHlwZSBpbXBsZW1lbnRhdGlvbiBvZiBydHQg
dHlwZXMgbmVlZGVkIHRvIG1vdmUgZm9yd2FyZAorICAgICAgICB3aXRoIHdhc20gZ2MgcHJvcG9z
YWwgKGh0dHBzOi8vZ2l0aHViLmNvbS9XZWJBc3NlbWJseS9nYy9ibG9iL21haW4vcHJvcG9zYWxz
L2djL01WUC5tZCkuCisgICAgICAgIEZvciBleGFtcGxlLCB3ZSBkb24ndCBuZWVkIHRvIHVzZSBy
dHQgdmFsdWVzIGZvciBzdHJ1Y3QubmV3LAorICAgICAgICBidXQgd2UgZG8gbmVlZCB0aGVtIGZv
ciB0aGUgZnV0dXJlIGpzIGFwaS4KKyAgICAgICAgU28sIHJ0dC5jYW5vbiByZXR1cm5zIGpzTnVs
bCBmb3Igbm93LCBidXQgd2UgY2FuIHJlcGxhY2UgaXQgd2l0aAorICAgICAgICBwcm9wZXJseSBk
ZWZpbmVkIHZhbHVlcyB3aGVuIHRoZSBzcGVjIHdpbGwgYmUgcmVhZHkuCisKKyAgICAgICAgKiBi
eXRlY29kZS9CeXRlY29kZUxpc3QucmI6CisgICAgICAgICogbGxpbnQvV2ViQXNzZW1ibHkuYXNt
OgorICAgICAgICAqIHdhc20vV2FzbUFpcklSR2VuZXJhdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6
V2FzbTo6QWlySVJHZW5lcmF0b3I6OnRtcEZvclR5cGUpOgorICAgICAgICAoSlNDOjpXYXNtOjpB
aXJJUkdlbmVyYXRvcjo6QWlySVJHZW5lcmF0b3IpOgorICAgICAgICAoSlNDOjpXYXNtOjpBaXJJ
UkdlbmVyYXRvcjo6YWRkUnR0Q2Fub24pOgorICAgICAgICAqIHdhc20vV2FzbUIzSVJHZW5lcmF0
b3IuY3BwOgorICAgICAgICAoSlNDOjpXYXNtOjpCM0lSR2VuZXJhdG9yOjphZGRSdHRDYW5vbik6
CisgICAgICAgICogd2FzbS9XYXNtQ2FsbGluZ0NvbnZlbnRpb24uaDoKKyAgICAgICAgKEpTQzo6
V2FzbTo6V2FzbUNhbGxpbmdDb252ZW50aW9uOjptYXJzaGFsbExvY2F0aW9uIGNvbnN0KToKKyAg
ICAgICAgKiB3YXNtL1dhc21Gb3JtYXQuaDoKKyAgICAgICAgKEpTQzo6V2FzbTo6aXNWYWx1ZVR5
cGUpOgorICAgICAgICAoSlNDOjpXYXNtOjppc1ZhbGlkSGVhcFR5cGVLaW5kKToKKyAgICAgICAg
KiB3YXNtL1dhc21GdW5jdGlvblBhcnNlci5oOgorICAgICAgICAoSlNDOjpXYXNtOjpGdW5jdGlv
blBhcnNlcjxDb250ZXh0Pjo6cGFyc2VFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6V2FzbTo6
RnVuY3Rpb25QYXJzZXI8Q29udGV4dD46OnBhcnNlVW5yZWFjaGFibGVFeHByZXNzaW9uKToKKyAg
ICAgICAgKiB3YXNtL1dhc21MTEludEdlbmVyYXRvci5jcHA6CisgICAgICAgIChKU0M6Oldhc206
OkxMSW50R2VuZXJhdG9yOjpjYWxsSW5mb3JtYXRpb25Gb3JDYWxsZXIpOgorICAgICAgICAoSlND
OjpXYXNtOjpMTEludEdlbmVyYXRvcjo6Y2FsbEluZm9ybWF0aW9uRm9yQ2FsbGVlKToKKyAgICAg
ICAgKEpTQzo6V2FzbTo6TExJbnRHZW5lcmF0b3I6OmFkZEFyZ3VtZW50cyk6CisgICAgICAgIChK
U0M6Oldhc206OkxMSW50R2VuZXJhdG9yOjphZGRSdHRDYW5vbik6CisgICAgICAgICogd2FzbS9X
YXNtT3BlcmF0aW9ucy5jcHA6CisgICAgICAgIChKU0M6Oldhc206OkpTQ19ERUZJTkVfSklUX09Q
RVJBVElPTik6CisgICAgICAgICogd2FzbS9XYXNtT3BlcmF0aW9ucy5oOgorICAgICAgICAqIHdh
c20vV2FzbVBhcnNlci5oOgorICAgICAgICAoSlNDOjpXYXNtOjpQYXJzZXI8U3VjY2Vzc1R5cGU+
OjpwYXJzZVZhbHVlVHlwZSk6CisgICAgICAgICogd2FzbS9XYXNtU2xvd1BhdGhzLmNwcDoKKyAg
ICAgICAgKEpTQzo6TExJbnQ6OldBU01fU0xPV19QQVRIX0RFQ0wpOgorICAgICAgICAqIHdhc20v
V2FzbVNsb3dQYXRocy5oOgorICAgICAgICAqIHdhc20vZ2VuZXJhdGVXYXNtT3BzSGVhZGVyLnB5
OgorICAgICAgICAqIHdhc20vanMvV2FzbVRvSlMuY3BwOgorICAgICAgICAoSlNDOjpXYXNtOjp3
YXNtVG9KUyk6CisgICAgICAgICogd2FzbS93YXNtLmpzb246CisKIDIwMjItMDQtMTYgIE1hcmsg
TGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCBhIGRlYWRsb2NrIGluIFZN
VHJhcHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNv
ZGVMaXN0LnJiIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5y
YgppbmRleCA0ZTU5ZTlmOTA3Nzk2NTVmNzQxNTViODk1YmQ1ZTM4ZTAxNDczMWY4Li45NmNjMTM5
MzMwMjNkZmM4YzBmZWJmNmZiNTIxZTBlMTFhMjRhOTk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVMaXN0LnJiCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZUxpc3QucmIKQEAgLTE4OTIsNCArMTg5MiwxMCBAQCBv
cF9ncm91cCA6Q2F0Y2hBbGwsCiAgICAgICAgIGV4Y2VwdGlvbjogVmlydHVhbFJlZ2lzdGVyLAog
ICAgIH0KIAorb3AgOnJ0dF9jYW5vbiwKKyAgICBhcmdzOiB7CisgICAgICAgIGRzdDogVmlydHVh
bFJlZ2lzdGVyLAorICAgICAgICB0eXBlSW5kZXg6IHVuc2lnbmVkLAorICAgIH0KKwogZW5kX3Nl
Y3Rpb24gOldhc20KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9XZWJB
c3NlbWJseS5hc20gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvV2ViQXNzZW1ibHkuYXNt
CmluZGV4IDI0YzE0YjNmOGY2YjVmNDU1YmQwYTVhNzdjNTkzMmJlOWY2OGVlYWYuLjIyZWJlMmE3
ZWIzZDAzZTg5NzA4ZTBhZDlkMzUzMGY5YWU1YjIyZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9XZWJBc3NlbWJseS5hc20KKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L1dlYkFzc2VtYmx5LmFzbQpAQCAtNjAyLDYgKzYwMiw3IEBAIHNsb3dXYXNtT3Ao
c2V0X2dsb2JhbF9yZWZfcG9ydGFibGVfYmluZGluZykKIHNsb3dXYXNtT3AobWVtb3J5X2F0b21p
Y193YWl0MzIpCiBzbG93V2FzbU9wKG1lbW9yeV9hdG9taWNfd2FpdDY0KQogc2xvd1dhc21PcCht
ZW1vcnlfYXRvbWljX25vdGlmeSkKK3Nsb3dXYXNtT3AocnR0X2Nhbm9uKQogCiB3YXNtT3AoZ3Jv
d19tZW1vcnksIFdhc21Hcm93TWVtb3J5LCBtYWNybyhjdHgpCiAgICAgY2FsbFdhc21TbG93UGF0
aChfc2xvd19wYXRoX3dhc21fZ3Jvd19tZW1vcnkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd2FzbS9XYXNtQWlySVJHZW5lcmF0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3dhc20vV2FzbUFpcklSR2VuZXJhdG9yLmNwcAppbmRleCAwMWRiMjhiYjNiMzJjNzMxNWZi
YWFmZDM5ZTM4NmQ3YWUxYTI4YTE0Li43MGFkMjEzN2MyYjBjMTQ5YTE0MTFiNDUwMWMzZWI4MjFm
MDliNWU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQWlySVJH
ZW5lcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21BaXJJUkdl
bmVyYXRvci5jcHAKQEAgLTM3Nyw2ICszNzcsOSBAQCBwdWJsaWM6CiAgICAgLy8gU2F0dXJhdGVk
IHRydW5jYXRpb24uCiAgICAgUGFydGlhbFJlc3VsdCBXQVJOX1VOVVNFRF9SRVRVUk4gdHJ1bmNT
YXR1cmF0ZWQoRXh0MU9wVHlwZSwgRXhwcmVzc2lvblR5cGUgb3BlcmFuZCwgRXhwcmVzc2lvblR5
cGUmIHJlc3VsdCwgVHlwZSByZXR1cm5UeXBlLCBUeXBlIG9wZXJhbmRUeXBlKTsKIAorICAgIC8v
IEdDCisgICAgUGFydGlhbFJlc3VsdCBXQVJOX1VOVVNFRF9SRVRVUk4gYWRkUnR0Q2Fub24odWlu
dDMyX3QgdHlwZUluZGV4LCBFeHByZXNzaW9uVHlwZSYgcmVzdWx0KTsKKwogICAgIC8vIEJhc2lj
IG9wZXJhdG9ycwogICAgIHRlbXBsYXRlPE9wVHlwZT4KICAgICBQYXJ0aWFsUmVzdWx0IFdBUk5f
VU5VU0VEX1JFVFVSTiBhZGRPcChFeHByZXNzaW9uVHlwZSBhcmcsIEV4cHJlc3Npb25UeXBlJiBy
ZXN1bHQpOwpAQCAtNTI1LDYgKzUyOCw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICByZXR1cm4g
Z0Z1bmNyZWYoKTsKICAgICAgICAgY2FzZSBUeXBlS2luZDo6UmVmOgogICAgICAgICBjYXNlIFR5
cGVLaW5kOjpSZWZOdWxsOgorICAgICAgICBjYXNlIFR5cGVLaW5kOjpSdHQ6CiAgICAgICAgICAg
ICByZXR1cm4gZ1JlZih0eXBlKTsKICAgICAgICAgY2FzZSBUeXBlS2luZDo6RXh0ZXJucmVmOgog
ICAgICAgICAgICAgcmV0dXJuIGdFeHRlcm5yZWYoKTsKQEAgLTEwNTksNiArMTA2Myw3IEBAIEFp
cklSR2VuZXJhdG9yOjpBaXJJUkdlbmVyYXRvcihjb25zdCBNb2R1bGVJbmZvcm1hdGlvbiYgaW5m
bywgQjM6OlByb2NlZHVyZSYgcHJvCiAgICAgICAgIGNhc2UgVHlwZUtpbmQ6OkZ1bmNyZWY6CiAg
ICAgICAgIGNhc2UgVHlwZUtpbmQ6OlJlZjoKICAgICAgICAgY2FzZSBUeXBlS2luZDo6UmVmTnVs
bDoKKyAgICAgICAgY2FzZSBUeXBlS2luZDo6UnR0OgogICAgICAgICAgICAgYXBwZW5kKE1vdmUs
IGFyZywgbV9sb2NhbHNbaV0pOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgVHlw
ZUtpbmQ6OkYzMjoKQEAgLTI5OTQsNiArMjk5OSwxNCBAQCBhdXRvIEFpcklSR2VuZXJhdG9yOjp0
cnVuY1NhdHVyYXRlZChFeHQxT3BUeXBlIG9wLCBFeHByZXNzaW9uVHlwZSBhcmcsIEV4cHJlc3Np
bwogICAgIHJldHVybiB7IH07CiB9CiAKK2F1dG8gQWlySVJHZW5lcmF0b3I6OmFkZFJ0dENhbm9u
KHVpbnQzMl90IHR5cGVJbmRleCwgRXhwcmVzc2lvblR5cGUmIHJlc3VsdCkgLT4gUGFydGlhbFJl
c3VsdAoreworICAgIHJlc3VsdCA9IHRtcEZvclR5cGUoVHlwZXM6OkkzMik7CisgICAgZW1pdEND
YWxsKCZvcGVyYXRpb25XYXNtUnR0Q2Fub24sIHJlc3VsdCwgaW5zdGFuY2VWYWx1ZSgpLCBhZGRD
b25zdGFudChUeXBlczo6STMyLCB0eXBlSW5kZXgpKTsKKworICAgIHJldHVybiB7IH07Cit9CisK
IGF1dG8gQWlySVJHZW5lcmF0b3I6OmFkZFNlbGVjdChFeHByZXNzaW9uVHlwZSBjb25kaXRpb24s
IEV4cHJlc3Npb25UeXBlIG5vblplcm8sIEV4cHJlc3Npb25UeXBlIHplcm8sIEV4cHJlc3Npb25U
eXBlJiByZXN1bHQpIC0+IFBhcnRpYWxSZXN1bHQKIHsKICAgICBBU1NFUlQobm9uWmVyby50eXBl
KCkgPT0gemVyby50eXBlKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dh
c20vV2FzbUIzSVJHZW5lcmF0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2Fz
bUIzSVJHZW5lcmF0b3IuY3BwCmluZGV4IDM3NTQyNjE1N2Q4OGFkMzk3OTE2YzNkMTYyZWRmNzIw
YThlYmI0MGUuLmQzOTIyYTdhY2ZiMmUxN2Q2MjY2YWQwMjczYjgzNWViYjg3ZmQyNDUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21CM0lSR2VuZXJhdG9yLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQjNJUkdlbmVyYXRvci5jcHAKQEAg
LTM1NCw2ICszNTQsOSBAQCBwdWJsaWM6CiAgICAgLy8gU2F0dXJhdGVkIHRydW5jYXRpb24uCiAg
ICAgUGFydGlhbFJlc3VsdCBXQVJOX1VOVVNFRF9SRVRVUk4gdHJ1bmNTYXR1cmF0ZWQoRXh0MU9w
VHlwZSwgRXhwcmVzc2lvblR5cGUgb3BlcmFuZCwgRXhwcmVzc2lvblR5cGUmIHJlc3VsdCwgVHlw
ZSByZXR1cm5UeXBlLCBUeXBlIG9wZXJhbmRUeXBlKTsKIAorICAgIC8vIEdDCisgICAgUGFydGlh
bFJlc3VsdCBXQVJOX1VOVVNFRF9SRVRVUk4gYWRkUnR0Q2Fub24odWludDMyX3QgdHlwZUluZGV4
LCBFeHByZXNzaW9uVHlwZSYgcmVzdWx0KTsKKwogICAgIC8vIEJhc2ljIG9wZXJhdG9ycwogICAg
IHRlbXBsYXRlPE9wVHlwZT4KICAgICBQYXJ0aWFsUmVzdWx0IFdBUk5fVU5VU0VEX1JFVFVSTiBh
ZGRPcChFeHByZXNzaW9uVHlwZSBhcmcsIEV4cHJlc3Npb25UeXBlJiByZXN1bHQpOwpAQCAtMjI1
MSw2ICsyMjU0LDE1IEBAIGF1dG8gQjNJUkdlbmVyYXRvcjo6dHJ1bmNTYXR1cmF0ZWQoRXh0MU9w
VHlwZSBvcCwgRXhwcmVzc2lvblR5cGUgYXJnVmFyLCBFeHByZXNzCiAgICAgcmV0dXJuIHsgfTsK
IH0KIAorYXV0byBCM0lSR2VuZXJhdG9yOjphZGRSdHRDYW5vbih1aW50MzJfdCB0eXBlSW5kZXgs
IEV4cHJlc3Npb25UeXBlJiByZXN1bHQpIC0+IFBhcnRpYWxSZXN1bHQKK3sKKyAgICByZXN1bHQg
PSBwdXNoKG1fY3VycmVudEJsb2NrLT5hcHBlbmROZXc8Q0NhbGxWYWx1ZT4obV9wcm9jLCB0b0Iz
VHlwZShUeXBlczo6STMyKSwgb3JpZ2luKCksCisgICAgICAgIG1fY3VycmVudEJsb2NrLT5hcHBl
bmROZXc8Q29uc3RQdHJWYWx1ZT4obV9wcm9jLCBvcmlnaW4oKSwgdGFnQ0Z1bmN0aW9uPE9wZXJh
dGlvblB0clRhZz4ob3BlcmF0aW9uV2FzbVJ0dENhbm9uKSksCisgICAgICAgIGluc3RhbmNlVmFs
dWUoKSwgbV9jdXJyZW50QmxvY2stPmFwcGVuZE5ldzxDb25zdDMyVmFsdWU+KG1fcHJvYywgb3Jp
Z2luKCksIHR5cGVJbmRleCkpKTsKKworICAgIHJldHVybiB7IH07Cit9CisKIGF1dG8gQjNJUkdl
bmVyYXRvcjo6YWRkU2VsZWN0KEV4cHJlc3Npb25UeXBlIGNvbmRpdGlvbiwgRXhwcmVzc2lvblR5
cGUgbm9uWmVybywgRXhwcmVzc2lvblR5cGUgemVybywgRXhwcmVzc2lvblR5cGUmIHJlc3VsdCkg
LT4gUGFydGlhbFJlc3VsdAogewogICAgIHJlc3VsdCA9IHB1c2gobV9jdXJyZW50QmxvY2stPmFw
cGVuZE5ldzxWYWx1ZT4obV9wcm9jLCBCMzo6U2VsZWN0LCBvcmlnaW4oKSwgZ2V0KGNvbmRpdGlv
biksIGdldChub25aZXJvKSwgZ2V0KHplcm8pKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd2FzbS9XYXNtQ2FsbGluZ0NvbnZlbnRpb24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93YXNtL1dhc21DYWxsaW5nQ29udmVudGlvbi5oCmluZGV4IDQyODhmODAxZGUxYmUzNGIz
ODk1YmFmMmYzYWM1NTFlYzQ4YWI1NzQuLjdmMWU2MDk5MTJmNGJkOGRlMDc5MjA4OTQ3Zjc3ZDEw
OWYxM2JiNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21DYWxs
aW5nQ29udmVudGlvbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21DYWxs
aW5nQ29udmVudGlvbi5oCkBAIC0xMDksNiArMTA5LDcgQEAgcHJpdmF0ZToKICAgICAgICAgY2Fz
ZSBUeXBlS2luZDo6RXh0ZXJucmVmOgogICAgICAgICBjYXNlIFR5cGVLaW5kOjpSZWY6CiAgICAg
ICAgIGNhc2UgVHlwZUtpbmQ6OlJlZk51bGw6CisgICAgICAgIGNhc2UgVHlwZUtpbmQ6OlJ0dDoK
ICAgICAgICAgICAgIHJldHVybiBtYXJzaGFsbExvY2F0aW9uSW1wbChyb2xlLCBncHJBcmdzLCBn
cEFyZ3VtZW50Q291bnQsIHN0YWNrT2Zmc2V0KTsKICAgICAgICAgY2FzZSBUeXBlS2luZDo6RjMy
OgogICAgICAgICBjYXNlIFR5cGVLaW5kOjpGNjQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd2FzbS9XYXNtRm9ybWF0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9X
YXNtRm9ybWF0LmgKaW5kZXggYWNlODU3ZmQyMGJmOWY5MDVkZDQ4ZDUyZTcxNWQ5M2IyZDY4NzZm
Yy4uOWJlYTQ0ODY0NzgwN2RiNjc5NThjZDk4OGIyOGE0MzgzODgyMmYyMyAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUZvcm1hdC5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93YXNtL1dhc21Gb3JtYXQuaApAQCAtNzQsNiArNzQsOCBAQCBpbmxpbmUgYm9v
bCBpc1ZhbHVlVHlwZShUeXBlIHR5cGUpCiAgICAgY2FzZSBUeXBlS2luZDo6UmVmOgogICAgIGNh
c2UgVHlwZUtpbmQ6OlJlZk51bGw6CiAgICAgICAgIHJldHVybiBPcHRpb25zOjp1c2VXZWJBc3Nl
bWJseVR5cGVkRnVuY3Rpb25SZWZlcmVuY2VzKCk7CisgICAgY2FzZSBUeXBlS2luZDo6UnR0Ogor
ICAgICAgICByZXR1cm4gT3B0aW9uczo6dXNlV2ViQXNzZW1ibHlHQygpOwogICAgIGRlZmF1bHQ6
CiAgICAgICAgIGJyZWFrOwogICAgIH0KQEAgLTE2NSw2ICsxNjcsNyBAQCBpbmxpbmUgYm9vbCBp
c1ZhbGlkSGVhcFR5cGVLaW5kKFR5cGVLaW5kIGtpbmQpCiAgICAgc3dpdGNoIChraW5kKSB7CiAg
ICAgY2FzZSBUeXBlS2luZDo6RnVuY3JlZjoKICAgICBjYXNlIFR5cGVLaW5kOjpFeHRlcm5yZWY6
CisgICAgY2FzZSBUeXBlS2luZDo6UnR0OgogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICBkZWZh
dWx0OgogICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
YXNtL1dhc21GdW5jdGlvblBhcnNlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2Fz
bUZ1bmN0aW9uUGFyc2VyLmgKaW5kZXggZGIxYzlhZWY4MmQ2NWE1ODAxMjU0MjdjM2ZjMTUyOTQy
N2ExZGQxZC4uNjg3NmM0ZjJlMjgxMDlkYjJmMWVjMDAwMjU0ZmZiN2NmZGU0YjhmYiAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUZ1bmN0aW9uUGFyc2VyLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUZ1bmN0aW9uUGFyc2VyLmgKQEAgLTEw
MzksNiArMTAzOSwzMiBAQCBGT1JfRUFDSF9XQVNNX01FTU9SWV9TVE9SRV9PUChDUkVBVEVfQ0FT
RSkKICAgICAgICAgcmV0dXJuIHsgfTsKICAgICB9CiAKKyAgICBjYXNlIEdDUHJlZml4OiB7Cisg
ICAgICAgIFdBU01fUEFSU0VSX0ZBSUxfSUYoIU9wdGlvbnM6OnVzZVdlYkFzc2VtYmx5R0MoKSwg
Ildhc20gR0MgaXMgbm90IGVuYWJsZWQiKTsKKworICAgICAgICB1aW50OF90IGV4dE9wOworICAg
ICAgICBXQVNNX1BBUlNFUl9GQUlMX0lGKCFwYXJzZVVJbnQ4KGV4dE9wKSwgImNhbid0IHBhcnNl
IGV4dGVuZGVkIEdDIG9wY29kZSIpOworCisgICAgICAgIHN3aXRjaCAoc3RhdGljX2Nhc3Q8R0NP
cFR5cGU+KGV4dE9wKSkgeworICAgICAgICBjYXNlIEdDT3BUeXBlOjpSdHRDYW5vbjogeworICAg
ICAgICAgICAgdWludDMyX3QgdHlwZUluZGV4OworICAgICAgICAgICAgV0FTTV9QQVJTRVJfRkFJ
TF9JRighcGFyc2VWYXJVSW50MzIodHlwZUluZGV4KSwgImNhbid0IGdldCB0eXBlIGluZGV4IGZv
ciBydHQuY2Fub24iKTsKKyAgICAgICAgICAgIFdBU01fVkFMSURBVE9SX0ZBSUxfSUYodHlwZUlu
ZGV4ID49IG1faW5mby50eXBlQ291bnQoKSwgInJ0dC5jYW5vbiBpbmRleCAiLCB0eXBlSW5kZXgs
ICIgaXMgb3V0IG9mIGJvdW5kIik7CisKKyAgICAgICAgICAgIEV4cHJlc3Npb25UeXBlIHJlc3Vs
dDsKKyAgICAgICAgICAgIFdBU01fVFJZX0FERF9UT19DT05URVhUKGFkZFJ0dENhbm9uKHR5cGVJ
bmRleCwgcmVzdWx0KSk7CisKKyAgICAgICAgICAgIG1fZXhwcmVzc2lvblN0YWNrLmNvbnN0cnVj
dEFuZEFwcGVuZChUeXBlIHsgVHlwZUtpbmQ6OlJ0dCwgTnVsbGFibGU6Ok5vLCBzdGF0aWNfY2Fz
dDxUeXBlSW5kZXg+KHR5cGVJbmRleCkgfSwgcmVzdWx0KTsKKyAgICAgICAgICAgIHJldHVybiB7
IH07CisgICAgICAgIH0KKworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgV0FTTV9QQVJT
RVJfRkFJTF9JRih0cnVlLCAiaW52YWxpZCBleHRlbmRlZCBHQyBvcCAiLCBleHRPcCk7CisgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4geyB9OworICAgIH0KKwog
ICAgIGNhc2UgRXh0QXRvbWljOiB7CiAgICAgICAgIFdBU01fUEFSU0VSX0ZBSUxfSUYoIU9wdGlv
bnM6OnVzZVdlYkFzc2VtYmx5VGhyZWFkaW5nKCksICJ3YXNtLXRocmVhZGluZyBpcyBub3QgZW5h
YmxlZCIpOwogICAgICAgICB1aW50OF90IGV4dE9wOwpAQCAtMTkyOCw2ICsxOTU0LDI2IEBAIGF1
dG8gRnVuY3Rpb25QYXJzZXI8Q29udGV4dD46OnBhcnNlVW5yZWFjaGFibGVFeHByZXNzaW9uKCkg
LT4gUGFydGlhbFJlc3VsdAogICAgICAgICByZXR1cm4geyB9OwogICAgIH0KIAorICAgIGNhc2Ug
R0NQcmVmaXg6IHsKKyAgICAgICAgV0FTTV9QQVJTRVJfRkFJTF9JRighT3B0aW9uczo6dXNlV2Vi
QXNzZW1ibHlHQygpLCAiV2FzbSBHQyBpcyBub3QgZW5hYmxlZCIpOworCisgICAgICAgIHVpbnQ4
X3QgZXh0T3A7CisgICAgICAgIFdBU01fUEFSU0VSX0ZBSUxfSUYoIXBhcnNlVUludDgoZXh0T3Ap
LCAiY2FuJ3QgcGFyc2UgZXh0ZW5kZWQgR0Mgb3Bjb2RlIik7CisKKyAgICAgICAgc3dpdGNoIChz
dGF0aWNfY2FzdDxHQ09wVHlwZT4oZXh0T3ApKSB7CisgICAgICAgIGNhc2UgR0NPcFR5cGU6OlJ0
dENhbm9uOiB7CisgICAgICAgICAgICB1aW50MzJfdCB1bnVzZWQ7CisgICAgICAgICAgICBXQVNN
X1BBUlNFUl9GQUlMX0lGKCFwYXJzZVZhclVJbnQzMih1bnVzZWQpLCAiY2FuJ3QgZ2V0IHR5cGUg
aW5kZXggaW1tZWRpYXRlIGZvciBydHQuY2Fub24gaW4gdW5yZWFjaGFibGUgY29udGV4dCIpOwor
ICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgfQorICAgICAgICBkZWZhdWx0OgorICAg
ICAgICAgICAgV0FTTV9QQVJTRVJfRkFJTF9JRih0cnVlLCAiaW52YWxpZCBleHRlbmRlZCBHQyBv
cCAiLCBleHRPcCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIHJl
dHVybiB7IH07CisgICAgfQorCiAgICAgY2FzZSBHcm93TWVtb3J5OgogICAgIGNhc2UgQ3VycmVu
dE1lbW9yeTogewogICAgICAgICB1aW50OF90IHJlc2VydmVkOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUxMSW50R2VuZXJhdG9yLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93YXNtL1dhc21MTEludEdlbmVyYXRvci5jcHAKaW5kZXggNzFlMDY0N2M1NjY2
NmVhMGZmZDNjYzQ1YTRkZTYxMWUwNzkyNzdmZC4uZDM3M2ZhZWU4MTY4MThmYWFlMjY0ZWRlM2I5
MWNhNDk1NTRhNmQ1OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2Fz
bUxMSW50R2VuZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNt
TExJbnRHZW5lcmF0b3IuY3BwCkBAIC0yNzEsNiArMjcxLDkgQEAgcHVibGljOgogICAgIC8vIFNh
dHVyYXRlZCB0cnVuY2F0aW9uLgogICAgIFBhcnRpYWxSZXN1bHQgV0FSTl9VTlVTRURfUkVUVVJO
IHRydW5jU2F0dXJhdGVkKEV4dDFPcFR5cGUsIEV4cHJlc3Npb25UeXBlIG9wZXJhbmQsIEV4cHJl
c3Npb25UeXBlJiByZXN1bHQsIFR5cGUsIFR5cGUpOwogCisgICAgLy8gR0MKKyAgICBQYXJ0aWFs
UmVzdWx0IFdBUk5fVU5VU0VEX1JFVFVSTiBhZGRSdHRDYW5vbih1aW50MzJfdCBpbmRleCwgRXhw
cmVzc2lvblR5cGUmIHJlc3VsdCk7CisKICAgICAvLyBCYXNpYyBvcGVyYXRvcnMKICAgICB0ZW1w
bGF0ZTxPcFR5cGU+CiAgICAgUGFydGlhbFJlc3VsdCBXQVJOX1VOVVNFRF9SRVRVUk4gYWRkT3Ao
RXhwcmVzc2lvblR5cGUgYXJnLCBFeHByZXNzaW9uVHlwZSYgcmVzdWx0KTsKQEAgLTYwOCw2ICs2
MTEsNyBAQCBhdXRvIExMSW50R2VuZXJhdG9yOjpjYWxsSW5mb3JtYXRpb25Gb3JDYWxsZXIoY29u
c3QgRnVuY3Rpb25TaWduYXR1cmUmIHNpZ25hdHVyZQogICAgICAgICBjYXNlIFR5cGVLaW5kOjpG
dW5jcmVmOgogICAgICAgICBjYXNlIFR5cGVLaW5kOjpSZWZOdWxsOgogICAgICAgICBjYXNlIFR5
cGVLaW5kOjpSZWY6CisgICAgICAgIGNhc2UgVHlwZUtpbmQ6OlJ0dDoKICAgICAgICAgICAgIGlm
IChncHJJbmRleCA8IGdwckNvdW50KQogICAgICAgICAgICAgICAgICsrZ3BySW5kZXg7CiAgICAg
ICAgICAgICBlbHNlIGlmIChzdGFja0luZGV4KysgPj0gc3RhY2tDb3VudCkKQEAgLTY2Niw2ICs2
NzAsNyBAQCBhdXRvIExMSW50R2VuZXJhdG9yOjpjYWxsSW5mb3JtYXRpb25Gb3JDYWxsZXIoY29u
c3QgRnVuY3Rpb25TaWduYXR1cmUmIHNpZ25hdHVyZQogICAgICAgICBjYXNlIFR5cGVLaW5kOjpG
dW5jcmVmOgogICAgICAgICBjYXNlIFR5cGVLaW5kOjpSZWZOdWxsOgogICAgICAgICBjYXNlIFR5
cGVLaW5kOjpSZWY6CisgICAgICAgIGNhc2UgVHlwZUtpbmQ6OlJ0dDoKICAgICAgICAgICAgIGlm
IChncHJJbmRleCA+IGdwckxpbWl0KQogICAgICAgICAgICAgICAgIGFyZ3VtZW50c1tpXSA9IHZp
cnR1YWxSZWdpc3RlckZvckxvY2FsKC0tZ3BySW5kZXgpOwogICAgICAgICAgICAgZWxzZQpAQCAt
NzExLDYgKzcxNiw3IEBAIGF1dG8gTExJbnRHZW5lcmF0b3I6OmNhbGxJbmZvcm1hdGlvbkZvckNh
bGxlcihjb25zdCBGdW5jdGlvblNpZ25hdHVyZSYgc2lnbmF0dXJlCiAgICAgICAgIGNhc2UgVHlw
ZUtpbmQ6OlZvaWQ6CiAgICAgICAgIGNhc2UgVHlwZUtpbmQ6OkZ1bmM6CiAgICAgICAgIGNhc2Ug
VHlwZUtpbmQ6OlN0cnVjdDoKKyAgICAgICAgY2FzZSBUeXBlS2luZDo6UnR0OgogICAgICAgICAg
ICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgfQogICAgIH0KQEAgLTc2
OSw2ICs3NzUsNyBAQCBhdXRvIExMSW50R2VuZXJhdG9yOjpjYWxsSW5mb3JtYXRpb25Gb3JDYWxs
ZWUoY29uc3QgRnVuY3Rpb25TaWduYXR1cmUmIHNpZ25hdHVyZQogICAgICAgICBjYXNlIFR5cGVL
aW5kOjpWb2lkOgogICAgICAgICBjYXNlIFR5cGVLaW5kOjpGdW5jOgogICAgICAgICBjYXNlIFR5
cGVLaW5kOjpTdHJ1Y3Q6CisgICAgICAgIGNhc2UgVHlwZUtpbmQ6OlJ0dDoKICAgICAgICAgICAg
IFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIH0KICAgICB9CkBAIC04MTEs
NiArODE4LDcgQEAgYXV0byBMTEludEdlbmVyYXRvcjo6YWRkQXJndW1lbnRzKGNvbnN0IFR5cGVE
ZWZpbml0aW9uJiBzaWduYXR1cmUpIC0+IFBhcnRpYWxSZXMKICAgICAgICAgY2FzZSBUeXBlS2lu
ZDo6RnVuY3JlZjoKICAgICAgICAgY2FzZSBUeXBlS2luZDo6UmVmTnVsbDoKICAgICAgICAgY2Fz
ZSBUeXBlS2luZDo6UmVmOgorICAgICAgICBjYXNlIFR5cGVLaW5kOjpSdHQ6CiAgICAgICAgICAg
ICBhZGRBcmd1bWVudChpLCBncHJJbmRleCwgbWF4R1BSSW5kZXgpOwogICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgIGNhc2UgVHlwZUtpbmQ6OkYzMjoKQEAgLTE4MjUsNiArMTgzMywxNCBAQCBh
dXRvIExMSW50R2VuZXJhdG9yOjp0cnVuY1NhdHVyYXRlZChFeHQxT3BUeXBlIG9wLCBFeHByZXNz
aW9uVHlwZSBvcGVyYW5kLCBFeHByZQogICAgIHJldHVybiB7IH07CiB9CiAKK2F1dG8gTExJbnRH
ZW5lcmF0b3I6OmFkZFJ0dENhbm9uKHVpbnQzMl90IGluZGV4LCBFeHByZXNzaW9uVHlwZSYgcmVz
dWx0KSAtPiBQYXJ0aWFsUmVzdWx0Cit7CisgICAgcmVzdWx0ID0gcHVzaCgpOworICAgIFdhc21S
dHRDYW5vbjo6ZW1pdCh0aGlzLCByZXN1bHQsIGluZGV4KTsKKworICAgIHJldHVybiB7IH07Cit9
CisKIHZvaWQgTExJbnRHZW5lcmF0b3I6OmxpbmtTd2l0Y2hUYXJnZXRzKExhYmVsJiBsYWJlbCwg
dW5zaWduZWQgbG9jYXRpb24pCiB7CiAgICAgYXV0byBpdCA9IG1fc3dpdGNoZXMuZmluZCgmbGFi
ZWwpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbU9wZXJhdGlv
bnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbU9wZXJhdGlvbnMuY3BwCmlu
ZGV4IGVlMGIyZWQ5YjI3ZDM2ZGJhYzM3NmNiZmM5ZTZiNjZkZDBkYjZmNzQuLmYyZjYxMWE2YmU2
ZTMyMmZlZGVmZTZmMjk0Y2ZmMTJjZDIyODBmMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93YXNtL1dhc21PcGVyYXRpb25zLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd2FzbS9XYXNtT3BlcmF0aW9ucy5jcHAKQEAgLTgyMSw2ICs4MjEsMTIgQEAgSlNDX0RFRklO
RV9KSVRfT1BFUkFUSU9OKG9wZXJhdGlvbldhc21SZWZGdW5jLCBFbmNvZGVkSlNWYWx1ZSwgKElu
c3RhbmNlKiBpbnN0YW4KICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHZhbHVlKTsKIH0KIAor
SlNDX0RFRklORV9KSVRfT1BFUkFUSU9OKG9wZXJhdGlvbldhc21SdHRDYW5vbiwgRW5jb2RlZEpT
VmFsdWUsIChJbnN0YW5jZSosIHVpbnQzMl90KSkKK3sKKyAgICAvLyBGSVhNRTogV2UgZG9uJ3Qg
bmVlZCByZWFsIFJUVCB2YWx1ZXMgcmlnaHQgbm93LCBzbyBsZXQncyB1c2UganNOdWxsLgorICAg
IHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNOdWxsKCkpOworfQorCiBKU0NfREVGSU5FX0pJVF9P
UEVSQVRJT04ob3BlcmF0aW9uR2V0V2FzbVRhYmxlU2l6ZSwgaW50MzJfdCwgKEluc3RhbmNlKiBp
bnN0YW5jZSwgdW5zaWduZWQgdGFibGVJbmRleCkpCiB7CiAgICAgcmV0dXJuIGluc3RhbmNlLT50
YWJsZSh0YWJsZUluZGV4KS0+bGVuZ3RoKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd2FzbS9XYXNtT3BlcmF0aW9ucy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20v
V2FzbU9wZXJhdGlvbnMuaAppbmRleCA1OGQxNTk3NWU4OGQyMDNkYmM5ODQ0YzE0ZTU0MjQwMmE2
MTZjYjlhLi5lMmNiMzU5MDQxOTZiOWY0MWJlNTZkM2Q3ZWZjNjg5MjA3OWYzYzAzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtT3BlcmF0aW9ucy5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21PcGVyYXRpb25zLmgKQEAgLTg4LDYgKzg4LDgg
QEAgSlNDX0RFQ0xBUkVfSklUX09QRVJBVElPTihvcGVyYXRpb25NZW1vcnlBdG9taWNOb3RpZnks
IGludDMyX3QsIChJbnN0YW5jZSosIHVuc2kKIEpTQ19ERUNMQVJFX0pJVF9PUEVSQVRJT04ob3Bl
cmF0aW9uV2FzbU1lbW9yeUluaXQsIHNpemVfdCwgKEluc3RhbmNlKiwgdW5zaWduZWQgZGF0YVNl
Z21lbnRJbmRleCwgdWludDMyX3QgZHN0QWRkcmVzcywgdWludDMyX3Qgc3JjQWRkcmVzcywgdWlu
dDMyX3QgbGVuZ3RoKSk7CiBKU0NfREVDTEFSRV9KSVRfT1BFUkFUSU9OKG9wZXJhdGlvbldhc21E
YXRhRHJvcCwgdm9pZCwgKEluc3RhbmNlKiwgdW5zaWduZWQgZGF0YVNlZ21lbnRJbmRleCkpOwog
CitKU0NfREVDTEFSRV9KSVRfT1BFUkFUSU9OKG9wZXJhdGlvbldhc21SdHRDYW5vbiwgRW5jb2Rl
ZEpTVmFsdWUsIChJbnN0YW5jZSosIHVpbnQzMl90KSk7CisKIEpTQ19ERUNMQVJFX0pJVF9PUEVS
QVRJT04ob3BlcmF0aW9uV2FzbVRocm93LCB2b2lkKiwgKEluc3RhbmNlKiwgQ2FsbEZyYW1lKiwg
dW5zaWduZWQgZXhjZXB0aW9uSW5kZXgsIHVpbnQ2NF90KikpOwogSlNDX0RFQ0xBUkVfSklUX09Q
RVJBVElPTihvcGVyYXRpb25XYXNtUmV0aHJvdywgdm9pZCosIChJbnN0YW5jZSosIENhbGxGcmFt
ZSosIEVuY29kZWRKU1ZhbHVlIHRocm93blZhbHVlKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93YXNtL1dhc21QYXJzZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
YXNtL1dhc21QYXJzZXIuaAppbmRleCA0MzhmZjNmNzJkOWI2NjQ4YWFmNzBhNDlhMGFhN2IxNTE4
YjZiOWFlLi42YTY0OGYxMGI0MTlkMGY4MGQyNmIxYjMyYjFiNGViNzllZWZhYThlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtUGFyc2VyLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbVBhcnNlci5oCkBAIC0zNDAsNiArMzQwLDE0IEBAIEFM
V0FZU19JTkxJTkUgYm9vbCBQYXJzZXI8U3VjY2Vzc1R5cGU+OjpwYXJzZVZhbHVlVHlwZShjb25z
dCBNb2R1bGVJbmZvcm1hdGlvbiYKICAgICAgICAgaWYgKCFwYXJzZUhlYXBUeXBlKGluZm8sIGhl
YXBUeXBlKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgdHlwZUluZGV4ID0g
aGVhcFR5cGUgPCAwID8gc3RhdGljX2Nhc3Q8VHlwZUluZGV4PihoZWFwVHlwZSkgOiBUeXBlSW5m
b3JtYXRpb246OmdldChpbmZvLnR5cGVTaWduYXR1cmVzW2hlYXBUeXBlXS5nZXQoKSk7CisgICAg
fSBlbHNlIGlmIChPcHRpb25zOjp1c2VXZWJBc3NlbWJseUdDKCkgJiYgdHlwZUtpbmQgPT0gVHlw
ZUtpbmQ6OlJ0dCkgeworICAgICAgICB0eXBlS2luZCA9IFR5cGVLaW5kOjpSdHQ7CisgICAgICAg
IGlzTnVsbGFibGUgPSBmYWxzZTsKKworICAgICAgICBpbnQzMl90IGhlYXBUeXBlOworICAgICAg
ICBpZiAoIXBhcnNlSGVhcFR5cGUoaW5mbywgaGVhcFR5cGUpKQorICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgICAgICB0eXBlSW5kZXggPSBzdGF0aWNfY2FzdDxUeXBlSW5kZXg+KGhlYXBU
eXBlKTsKICAgICB9CiAKICAgICBUeXBlIHR5cGUgPSB7IHR5cGVLaW5kLCBzdGF0aWNfY2FzdDxO
dWxsYWJsZT4oaXNOdWxsYWJsZSksIHR5cGVJbmRleCB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3dhc20vV2FzbVNsb3dQYXRocy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd2FzbS9XYXNtU2xvd1BhdGhzLmNwcAppbmRleCBjYjY4YjQ5Y2Y3MjQ5OGFiNDIxZDQ3ZjM3
N2RlODgzNjE1NDY4Y2M5Li4xZjljOGQzZDFhODY4MjA4ZWZkNDFjMWEwNjI0ODUwMDFiNjVmYTIw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtU2xvd1BhdGhzLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtU2xvd1BhdGhzLmNwcApAQCAt
MzIyLDYgKzMyMiwxMiBAQCBXQVNNX1NMT1dfUEFUSF9ERUNMKHJlZl9mdW5jKQogICAgIFdBU01f
UkVUVVJOKFdhc206Om9wZXJhdGlvbldhc21SZWZGdW5jKGluc3RhbmNlLCBpbnN0cnVjdGlvbi5t
X2Z1bmN0aW9uSW5kZXgpKTsKIH0KIAorV0FTTV9TTE9XX1BBVEhfREVDTChydHRfY2Fub24pCit7
CisgICAgYXV0byBpbnN0cnVjdGlvbiA9IHBjLT5hczxXYXNtUnR0Q2Fub24+KCk7CisgICAgV0FT
TV9SRVRVUk4oV2FzbTo6b3BlcmF0aW9uV2FzbVJ0dENhbm9uKGluc3RhbmNlLCBpbnN0cnVjdGlv
bi5tX3R5cGVJbmRleCkpOworfQorCiBXQVNNX1NMT1dfUEFUSF9ERUNMKHRhYmxlX2dldCkKIHsK
ICAgICBhdXRvIGluc3RydWN0aW9uID0gcGMtPmFzPFdhc21UYWJsZUdldD4oKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21TbG93UGF0aHMuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93YXNtL1dhc21TbG93UGF0aHMuaAppbmRleCA0NjA5ZTM2YjAzOTI0ZDEw
ZWEwMjc0NTYxMGYwZjJmZTRlODMxZjIyLi42NzhjMTcyODM3NjhmNDBhNGVlZmY3M2ZmNGE2ODNj
ZmY2MDE2MzVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtU2xv
d1BhdGhzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbVNsb3dQYXRocy5o
CkBAIC04OSw2ICs4OSw3IEBAIFdBU01fU0xPV19QQVRIX0hJRERFTl9ERUNMKG1lbW9yeV9hdG9t
aWNfbm90aWZ5KTsKIFdBU01fU0xPV19QQVRIX0hJRERFTl9ERUNMKHRocm93KTsKIFdBU01fU0xP
V19QQVRIX0hJRERFTl9ERUNMKHJldGhyb3cpOwogV0FTTV9TTE9XX1BBVEhfSElEREVOX0RFQ0wo
cmV0cmlldmVfYW5kX2NsZWFyX2V4Y2VwdGlvbik7CitXQVNNX1NMT1dfUEFUSF9ISURERU5fREVD
TChydHRfY2Fub24pOwogCiBleHRlcm4gIkMiIFNsb3dQYXRoUmV0dXJuVHlwZSBzbG93X3BhdGhf
d2FzbV90aHJvd19leGNlcHRpb24oQ2FsbEZyYW1lKiwgY29uc3QgV2FzbUluc3RydWN0aW9uKiwg
V2FzbTo6SW5zdGFuY2UqIGluc3RhbmNlLCBXYXNtOjpFeGNlcHRpb25UeXBlKSBSRUZFUkVOQ0VE
X0ZST01fQVNNIFdURl9JTlRFUk5BTDsKIGV4dGVybiAiQyIgU2xvd1BhdGhSZXR1cm5UeXBlIHNs
b3dfcGF0aF93YXNtX3BvcGNvdW50KGNvbnN0IFdhc21JbnN0cnVjdGlvbiogcGMsIHVpbnQzMl90
KSBSRUZFUkVOQ0VEX0ZST01fQVNNIFdURl9JTlRFUk5BTDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93YXNtL2dlbmVyYXRlV2FzbU9wc0hlYWRlci5weSBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93YXNtL2dlbmVyYXRlV2FzbU9wc0hlYWRlci5weQppbmRleCA4NmE1Y2JmZTdj
MzMzMWJhMWM5NTMxNzRmNmM1OGFiZWViOGM3YWQ5Li40M2FmMmMwMzQwODU5NWIzZjEzOTMzODUx
MjdmNDU4ZjRmMTM1ZGUwIDEwMDc1NQotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9n
ZW5lcmF0ZVdhc21PcHNIZWFkZXIucHkKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20v
Z2VuZXJhdGVXYXNtT3BzSGVhZGVyLnB5CkBAIC0xMTYsNyArMTE2LDcgQEAgZGVmIGF0b21pY0Jp
bmFyeVJNV01hY3JvaXplcigpOgogCiAKIGRlZmluZXMgPSBbIiNkZWZpbmUgRk9SX0VBQ0hfV0FT
TV9TUEVDSUFMX09QKG1hY3JvKSJdCi1kZWZpbmVzLmV4dGVuZChbb3AgZm9yIG9wIGluIG9wY29k
ZU1hY3JvaXplcihsYW1iZGEgb3A6IG5vdCAoaXNVbmFyeShvcCkgb3IgaXNCaW5hcnkob3ApIG9y
IG9wWyJjYXRlZ29yeSJdID09ICJjb250cm9sIiBvciBvcFsiY2F0ZWdvcnkiXSA9PSAibWVtb3J5
IiBvciBvcFsidmFsdWUiXSA9PSAweGZjIG9yIGlzQXRvbWljKG9wKSkpXSkKK2RlZmluZXMuZXh0
ZW5kKFtvcCBmb3Igb3AgaW4gb3Bjb2RlTWFjcm9pemVyKGxhbWJkYSBvcDogbm90IChpc1VuYXJ5
KG9wKSBvciBpc0JpbmFyeShvcCkgb3Igb3BbImNhdGVnb3J5Il0gPT0gImNvbnRyb2wiIG9yIG9w
WyJjYXRlZ29yeSJdID09ICJtZW1vcnkiIG9yIG9wWyJ2YWx1ZSJdID09IDB4ZmMgb3Igb3BbImNh
dGVnb3J5Il0gPT0gImdjIiBvciBpc0F0b21pYyhvcCkpKV0pCiBkZWZpbmVzLmFwcGVuZCgiXG5c
biNkZWZpbmUgRk9SX0VBQ0hfV0FTTV9DT05UUk9MX0ZMT1dfT1AobWFjcm8pIikKIGRlZmluZXMu
ZXh0ZW5kKFtvcCBmb3Igb3AgaW4gb3Bjb2RlTWFjcm9pemVyKGxhbWJkYSBvcDogb3BbImNhdGVn
b3J5Il0gPT0gImNvbnRyb2wiKV0pCiBkZWZpbmVzLmFwcGVuZCgiXG5cbiNkZWZpbmUgRk9SX0VB
Q0hfV0FTTV9TSU1QTEVfVU5BUllfT1AobWFjcm8pIikKQEAgLTE0Myw2ICsxNDMsOCBAQCBkZWZp
bmVzLmFwcGVuZCgiXG5cbiNkZWZpbmUgRk9SX0VBQ0hfV0FTTV9FWFRfQVRPTUlDX0JJTkFSWV9S
TVdfT1AobWFjcm8pIikKIGRlZmluZXMuZXh0ZW5kKFtvcCBmb3Igb3AgaW4gYXRvbWljQmluYXJ5
Uk1XTWFjcm9pemVyKCldKQogZGVmaW5lcy5hcHBlbmQoIlxuXG4jZGVmaW5lIEZPUl9FQUNIX1dB
U01fRVhUX0FUT01JQ19PVEhFUl9PUChtYWNybykiKQogZGVmaW5lcy5leHRlbmQoW29wIGZvciBv
cCBpbiBvcGNvZGVNYWNyb2l6ZXIobGFtYmRhIG9wOiBpc0F0b21pYyhvcCkgYW5kIChub3QgaXNB
dG9taWNMb2FkKG9wKSBhbmQgbm90IGlzQXRvbWljU3RvcmUob3ApIGFuZCBub3QgaXNBdG9taWNC
aW5hcnlSTVcob3ApKSwgb3Bjb2RlRmllbGQ9ImV4dGVuZGVkT3AiKV0pCitkZWZpbmVzLmFwcGVu
ZCgiXG5cbiNkZWZpbmUgRk9SX0VBQ0hfV0FTTV9HQ19PUChtYWNybykiKQorZGVmaW5lcy5leHRl
bmQoW29wIGZvciBvcCBpbiBvcGNvZGVNYWNyb2l6ZXIobGFtYmRhIG9wOiAob3BbImNhdGVnb3J5
Il0gPT0gImdjIiksIG9wY29kZUZpZWxkPSJleHRlbmRlZE9wIildKQogZGVmaW5lcy5hcHBlbmQo
IlxuXG4iKQogCiBkZWZpbmVzID0gIiIuam9pbihkZWZpbmVzKQpAQCAtMzIxLDYgKzMyMyw3IEBA
IGlubGluZSBUeXBlS2luZCBsaW5lYXJpemVkVG9UeXBlKGludCBpKQogICAgIEZPUl9FQUNIX1dB
U01fTUVNT1JZX0xPQURfT1AobWFjcm8pIFxcCiAgICAgRk9SX0VBQ0hfV0FTTV9NRU1PUllfU1RP
UkVfT1AobWFjcm8pIFxcCiAgICAgbWFjcm8oRXh0MSwgIDB4RkMsIE9vcHMsIDApIFxcCisgICAg
bWFjcm8oR0NQcmVmaXgsICAweEZCLCBPb3BzLCAwKSBcXAogICAgIG1hY3JvKEV4dEF0b21pYywg
MHhGRSwgT29wcywgMCkKIAogI2RlZmluZSBDUkVBVEVfRU5VTV9WQUxVRShuYW1lLCBpZCwgLi4u
KSBuYW1lID0gaWQsCkBAIC0zNTgsNiArMzYxLDEwIEBAIGVudW0gY2xhc3MgRXh0MU9wVHlwZSA6
IHVpbnQ4X3QgewogICAgIEZPUl9FQUNIX1dBU01fVFJVTkNfU0FUVVJBVEVEX09QKENSRUFURV9F
TlVNX1ZBTFVFKQogfTsKIAorZW51bSBjbGFzcyBHQ09wVHlwZSA6IHVpbnQ4X3QgeworICAgIEZP
Ul9FQUNIX1dBU01fR0NfT1AoQ1JFQVRFX0VOVU1fVkFMVUUpCit9OworCiBlbnVtIGNsYXNzIEV4
dEF0b21pY09wVHlwZSA6IHVpbnQ4X3QgewogICAgIEZPUl9FQUNIX1dBU01fRVhUX0FUT01JQ19M
T0FEX09QKENSRUFURV9FTlVNX1ZBTFVFKQogICAgIEZPUl9FQUNIX1dBU01fRVhUX0FUT01JQ19T
VE9SRV9PUChDUkVBVEVfRU5VTV9WQUxVRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93YXNtL2pzL1dhc21Ub0pTLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pz
L1dhc21Ub0pTLmNwcAppbmRleCAzZjA4MDkyMmUyNDU5OWZjNDA2MmI0Y2RiNGIyZDJmZjQzODUw
YmExLi4wNGZkYjU4YzYyNTk3YmI2NjYyNjRkYTc5NTBiOTIzM2M2MzI4OTRiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XYXNtVG9KUy5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2FzbVRvSlMuY3BwCkBAIC0xMDgsNiArMTA4LDcgQEAg
RXhwZWN0ZWQ8TWFjcm9Bc3NlbWJsZXJDb2RlUmVmPFdhc21FbnRyeVB0clRhZz4sIEJpbmRpbmdG
YWlsdXJlPiB3YXNtVG9KUyhWTSYgdm0KICAgICAgICAgICAgIGNhc2UgVHlwZUtpbmQ6OlN0cnVj
dDoKICAgICAgICAgICAgIGNhc2UgVHlwZUtpbmQ6OlJlZk51bGw6CiAgICAgICAgICAgICBjYXNl
IFR5cGVLaW5kOjpSZWY6CisgICAgICAgICAgICBjYXNlIFR5cGVLaW5kOjpSdHQ6CiAgICAgICAg
ICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsgLy8gSGFuZGxlZCBhYm92ZS4K
ICAgICAgICAgICAgIGNhc2UgVHlwZUtpbmQ6OkV4dGVybnJlZjoKICAgICAgICAgICAgIGNhc2Ug
VHlwZUtpbmQ6OkZ1bmNyZWY6CkBAIC0xODMsNiArMTg0LDcgQEAgRXhwZWN0ZWQ8TWFjcm9Bc3Nl
bWJsZXJDb2RlUmVmPFdhc21FbnRyeVB0clRhZz4sIEJpbmRpbmdGYWlsdXJlPiB3YXNtVG9KUyhW
TSYgdm0KICAgICAgICAgICAgIGNhc2UgVHlwZUtpbmQ6OlN0cnVjdDoKICAgICAgICAgICAgIGNh
c2UgVHlwZUtpbmQ6OlJlZk51bGw6CiAgICAgICAgICAgICBjYXNlIFR5cGVLaW5kOjpSZWY6Cisg
ICAgICAgICAgICBjYXNlIFR5cGVLaW5kOjpSdHQ6CiAgICAgICAgICAgICAgICAgUkVMRUFTRV9B
U1NFUlRfTk9UX1JFQUNIRUQoKTsgLy8gSGFuZGxlZCBhYm92ZS4KICAgICAgICAgICAgIGNhc2Ug
VHlwZUtpbmQ6OkV4dGVybnJlZjoKICAgICAgICAgICAgIGNhc2UgVHlwZUtpbmQ6OkZ1bmNyZWY6
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS93YXNtLmpzb24gYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd2FzbS93YXNtLmpzb24KaW5kZXggYzZlZTY3ZmQwZTBjMGI0NWNm
ODMwYjRkMzc0ZDFlMjZhZjQ1NDQ0My4uMWZhODZmOTBhYzAwZjJlMDYzYzhmY2M0Mjc1M2MzOTBm
ZDQxYTVmYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vd2FzbS5qc29u
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL3dhc20uanNvbgpAQCAtMTcsNiArMTcs
NyBAQAogICAgICAgICAicmVmIjogICAgICAgeyAidHlwZSI6ICJ2YXJpbnQ3IiwgInZhbHVlIjog
IC0yMSwgImIzdHlwZSI6ICJCMzo6SW50NjQiIH0sCiAgICAgICAgICJmdW5jIjogICAgICB7ICJ0
eXBlIjogInZhcmludDciLCAidmFsdWUiOiAgLTMyLCAiYjN0eXBlIjogIkIzOjpWb2lkIiB9LAog
ICAgICAgICAic3RydWN0IjogICAgeyAidHlwZSI6ICJ2YXJpbnQ3IiwgInZhbHVlIjogIC0zMywg
ImIzdHlwZSI6ICJCMzo6Vm9pZCIgfSwKKyAgICAgICAgInJ0dCI6ICAgICAgIHsgInR5cGUiOiAi
dmFyaW50NyIsICJ2YWx1ZSI6ICAtMjQsICJiM3R5cGUiOiAiQjM6OlZvaWQiIH0sCiAgICAgICAg
ICJ2b2lkIjogICAgICB7ICJ0eXBlIjogInZhcmludDciLCAidmFsdWUiOiAgLTY0LCAiYjN0eXBl
IjogIkIzOjpWb2lkIiB9CiAgICAgfSwKICAgICAidmFsdWVfdHlwZSI6IFsiaTMyIiwgImk2NCIs
ICJmMzIiLCAiZjY0IiwgImV4dGVybnJlZiIsICJmdW5jcmVmIl0sCkBAIC03Nyw2ICs3OCw3IEBA
CiAgICAgICAgICJyZWYubnVsbCI6ICAgICAgICAgICAgeyAiY2F0ZWdvcnkiOiAic3BlY2lhbCIs
ICAgICJ2YWx1ZSI6IDIwOCwgInJldHVybiI6IFsiZXh0ZXJucmVmIiwgImZ1bmNyZWYiXSwgICAg
ICAgICAicGFyYW1ldGVyIjogW10sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaW1tZWRp
YXRlIjogW3sibmFtZSI6ICJyZWZ0eXBlIiwgICAgICAgICJ0eXBlIjogInJlZl90eXBlIn1dLCAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24i
OiAiYSBjb25zdGFudCBudWxsIHJlZmVyZW5jZSIgfSwKICAgICAgICAgInJlZi5pc19udWxsIjog
ICAgICAgICB7ICJjYXRlZ29yeSI6ICJzcGVjaWFsIiwgICAgInZhbHVlIjogMjA5LCAicmV0dXJu
IjogWyJpMzIiXSwgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJhbWV0ZXIiOiBbImV4dGVy
bnJlZiJdLCAgICAgICAgICAgICAgICAgICJpbW1lZGlhdGUiOiBbXSwgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJkZXRlcm1pbmUgaWYgYSByZWZlcmVu
Y2UgaXMgbnVsbCIgfSwKICAgICAgICAgInJlZi5mdW5jIjogICAgICAgICAgICB7ICJjYXRlZ29y
eSI6ICJzcGVjaWFsIiwgICAgInZhbHVlIjogMjEwLCAicmV0dXJuIjogWyJmdW5jcmVmIl0sICAg
ICAgICAgICAgICAgICAgICAgICJwYXJhbWV0ZXIiOiBbXSwgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJpbW1lZGlhdGUiOiBbeyJuYW1lIjogImZ1bmN0aW9uX2luZGV4IiwgInR5cGUiOiAi
dmFydWludDMyIn1dLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJkZXNjcmlwdGlvbiI6ICJyZXR1cm4gYSByZWZlcmVuY2UgdG8gdGhlIGZ1bmN0aW9uIGF0IHRo
ZSBnaXZlbiBpbmRleCIgfSwKKyAgICAgICAgInJ0dC5jYW5vbiI6ICAgICAgICAgICB7ICJjYXRl
Z29yeSI6ICJnYyIsICAgICAgICAgInZhbHVlIjogMjUxLCAicmV0dXJuIjogWyJydHQiXSwgICAg
ICAgICAgICAgICAgICAgICAgICAgICJwYXJhbWV0ZXIiOiBbXSwgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJpbW1lZGlhdGUiOiBbeyJuYW1lIjogInR5cGVfaW5kZXgiLCAgICAgInR5cGUi
OiAidmFydWludDMyIn1dLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJkZXNjcmlwdGlvbiI6ICJyZXR1cm5zIHRoZSBSVFQgb2YgdGhlIHNwZWNpZmllZCB0eXBl
IiwgImV4dGVuZGVkT3AiOiA0OCB9LAogICAgICAgICAiZ2V0X2xvY2FsIjogICAgICAgICAgIHsg
ImNhdGVnb3J5IjogInNwZWNpYWwiLCAgICAidmFsdWUiOiAgMzIsICJyZXR1cm4iOiBbImFueSJd
LCAgICAgICAgICAgICAgICAgICAgICAgICAgInBhcmFtZXRlciI6IFtdLCAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgImltbWVkaWF0ZSI6IFt7Im5hbWUiOiAibG9jYWxfaW5kZXgiLCAgICAi
dHlwZSI6ICJ2YXJ1aW50MzIifV0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgImRlc2NyaXB0aW9uIjogInJlYWQgYSBsb2NhbCB2YXJpYWJsZSBvciBwYXJhbWV0
ZXIiIH0sCiAgICAgICAgICJzZXRfbG9jYWwiOiAgICAgICAgICAgeyAiY2F0ZWdvcnkiOiAic3Bl
Y2lhbCIsICAgICJ2YWx1ZSI6ICAzMywgInJldHVybiI6IFtdLCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAicGFyYW1ldGVyIjogWyJhbnkiXSwgICAgICAgICAgICAgICAgICAgICAgICAi
aW1tZWRpYXRlIjogW3sibmFtZSI6ICJsb2NhbF9pbmRleCIsICAgICJ0eXBlIjogInZhcnVpbnQz
MiJ9XSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVzY3Jp
cHRpb24iOiAid3JpdGUgYSBsb2NhbCB2YXJpYWJsZSBvciBwYXJhbWV0ZXIiIH0sCiAgICAgICAg
ICJ0ZWVfbG9jYWwiOiAgICAgICAgICAgeyAiY2F0ZWdvcnkiOiAic3BlY2lhbCIsICAgICJ2YWx1
ZSI6ICAzNCwgInJldHVybiI6IFsiYW55Il0sICAgICAgICAgICAgICAgICAgICAgICAgICAicGFy
YW1ldGVyIjogWyJhbnkiXSwgICAgICAgICAgICAgICAgICAgICAgICAiaW1tZWRpYXRlIjogW3si
bmFtZSI6ICJsb2NhbF9pbmRleCIsICAgICJ0eXBlIjogInZhcnVpbnQzMiJ9XSwgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAid3JpdGUg
YSBsb2NhbCB2YXJpYWJsZSBvciBwYXJhbWV0ZXIgYW5kIHJldHVybiB0aGUgc2FtZSB2YWx1ZSIg
fSwKZGlmZiAtLWdpdCBhL0pTVGVzdHMvQ2hhbmdlTG9nIGIvSlNUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggYjVjMzk3YjI4NDlkNWUzY2ZmMTM0Y2M5N2NjMmUzY2Q2OTczMWJmOS4uNGM0ODYxMWFmYzQ2
ZmNlMGQ2ZDdjMGJmMTI0YTllNTAwZjU4NTZiNSAxMDA2NDQKLS0tIGEvSlNUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvSlNUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAyMi0wNC0xOSAg
RG1pdHJ5IEJlemhldHNrb3YgIDxkYmV6aGV0c2tvdkBpZ2FsaWEuY29tPgorCisgICAgICAgIFtX
QVNNLUdDXSBJbnRyb2R1Y2UgcnR0IHR5cGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMzk0OTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKyAgICAgICAgCisgICAgICAgIEFkZGVkIGJhc2ljIHRlc3RzIGZvciBtYW5pcHVs
YXRpb24gb2YgcnR0IHR5cGVzLgorCisgICAgICAgICogd2FzbS9nYy9ydHQuanM6IEFkZGVkLgor
ICAgICAgICAobW9kdWxlKToKKyAgICAgICAgKHRlc3RSdHRUeXBlcyk6CisgICAgICAgICh0ZXN0
UnR0Q2Fub24pOgorICAgICAgICAqIHdhc20vd2FzbS5qc29uOgorCiAyMDIyLTA0LTE0ICBDYWl0
bGluIFBvdHRlciAgPGNhaXRwQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0pTQ10gU2hhZG93UmVh
bG0gZ2xvYmFsIG9iamVjdCBoYXMgYSBtdXRhYmxlIHByb3RvdHlwZQpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy93YXNtL2djL3J0dC5qcyBiL0pTVGVzdHMvd2FzbS9nYy9ydHQuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZGU2MTdmMDhhNmU5OWQ3Njg0NzFmNDcxNGEzZGQ0NzdkNDJhMjQ1NgotLS0gL2Rldi9udWxsCisr
KyBiL0pTVGVzdHMvd2FzbS9nYy9ydHQuanMKQEAgLTAsMCArMSw1NyBAQAorLy9AIHJ1bldlYkFz
c2VtYmx5U3VpdGUoIi0tdXNlV2ViQXNzZW1ibHlUeXBlZEZ1bmN0aW9uUmVmZXJlbmNlcz10cnVl
IiwgIi0tdXNlV2ViQXNzZW1ibHlHQz10cnVlIikKKworaW1wb3J0ICogYXMgYXNzZXJ0IGZyb20g
Ii4uL2Fzc2VydC5qcyI7CitpbXBvcnQgeyBpbnN0YW50aWF0ZSB9IGZyb20gIi4uL3dhYnQtd3Jh
cHBlci5qcyI7CisKK2Z1bmN0aW9uIG1vZHVsZShieXRlcywgdmFsaWQgPSB0cnVlKSB7CisgIGxl
dCBidWZmZXIgPSBuZXcgQXJyYXlCdWZmZXIoYnl0ZXMubGVuZ3RoKTsKKyAgbGV0IHZpZXcgPSBu
ZXcgVWludDhBcnJheShidWZmZXIpOworICBmb3IgKGxldCBpID0gMDsgaSA8IGJ5dGVzLmxlbmd0
aDsgKytpKSB7CisgICAgdmlld1tpXSA9IGJ5dGVzLmNoYXJDb2RlQXQoaSk7CisgIH0KKyAgcmV0
dXJuIG5ldyBXZWJBc3NlbWJseS5Nb2R1bGUoYnVmZmVyKTsKK30KKworZnVuY3Rpb24gdGVzdFJ0
dFR5cGVzKCkgeworICAvKgorICAobW9kdWxlCisgICAgICAodHlwZSAkUG9pbnQgKHN0cnVjdCAo
ZmllbGQgaTMyKSAoZmllbGQgaTMyKSkpCisgICAgICAoZnVuYyAocGFyYW0gKHJ0dCAkUG9pbnQp
KSkKKyAgKQorICAqLworICBtb2R1bGUoIlx4MDBceDYxXHg3M1x4NmRceDAxXHgwMFx4MDBceDAw
XHgwMVx4MGNceDAyXHg1Zlx4MDJceDdmXHgwMFx4N2ZceDAwXHg2MFx4MDFceDY4XHgwMFx4MDBc
eDAzXHgwMlx4MDFceDAxXHgwYVx4MDVceDAxXHgwM1x4MDBceDAxXHgwYiIpOworfQorCitmdW5j
dGlvbiB0ZXN0UnR0Q2Fub24oKSB7CisgIHsKKyAgICAvKgorICAgIChtb2R1bGUKKyAgICAgICh0
eXBlICRQb2ludCAoc3RydWN0IChmaWVsZCAkeCBpMzIpIChmaWVsZCAkeSBpMzIpKSkKKyAgICAg
IChmdW5jICRmb28gKHBhcmFtIChydHQgJFBvaW50KSkgKHJlc3VsdCBpMzIpIChpMzIuY29uc3Qg
MzcpKQorICAgICAgKGZ1bmMgKGV4cG9ydCAibWFpbiIpCisgICAgICAgIChkcm9wCisgICAgICAg
ICAgKGNhbGwgJGZvbyAocnR0LmNhbm9uICRQb2ludCkpCisgICAgICAgICkKKyAgICAgICkKKyAg
ICApCisgICAgKi8KKyAgICBsZXQgaW5zdGFuY2UgPSBuZXcgV2ViQXNzZW1ibHkuSW5zdGFuY2Uo
bW9kdWxlKCJceDAwXHg2MVx4NzNceDZkXHgwMVx4MDBceDAwXHgwMFx4MDFceDEwXHgwM1x4NWZc
eDAyXHg3Zlx4MDBceDdmXHgwMFx4NjBceDAxXHg2OFx4MDBceDAxXHg3Zlx4NjBceDAwXHgwMFx4
MDNceDAzXHgwMlx4MDFceDAyXHgwN1x4MDhceDAxXHgwNFx4NmRceDYxXHg2OVx4NmVceDAwXHgw
MVx4MGFceDBmXHgwMlx4MDRceDAwXHg0MVx4MjVceDBiXHgwOFx4MDBceGZiXHgzMFx4MDBceDEw
XHgwMFx4MWFceDBiIikpOworICAgIGluc3RhbmNlLmV4cG9ydHMubWFpbigpOworICB9CisKKyAg
eworICAgIC8qCisgICAgKG1vZHVsZQorICAgICAgKHR5cGUgJFBvaW50IChzdHJ1Y3QgKGZpZWxk
ICR4IGkzMikgKGZpZWxkICR5IGkzMikpKQorICAgICAgKGZ1bmMgKGV4cG9ydCAibWFpbiIpCisg
ICAgICAgICh1bnJlYWNoYWJsZSkKKyAgICAgICAgKHJ0dC5jYW5vbiAkUG9pbnQpCisgICAgICAp
CisgICAgKQorICAgICovCisgICAgbmV3IFdlYkFzc2VtYmx5Lkluc3RhbmNlKG1vZHVsZSgiXHgw
MFx4NjFceDczXHg2ZFx4MDFceDAwXHgwMFx4MDBceDAxXHgwYVx4MDJceDYwXHgwMFx4MDBceDVm
XHgwMlx4N2ZceDAwXHg3Zlx4MDBceDAzXHgwMlx4MDFceDAwXHgwN1x4MDhceDAxXHgwNFx4NmRc
eDYxXHg2OVx4NmVceDAwXHgwMFx4MGFceDA4XHgwMVx4MDZceDAwXHgwMFx4ZmJceDMwXHgwMVx4
MGIiKSk7CisgIH0KK30KKwordGVzdFJ0dFR5cGVzKCk7Cit0ZXN0UnR0Q2Fub24oKTsKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvd2FzbS93YXNtLmpzb24gYi9KU1Rlc3RzL3dhc20vd2FzbS5qc29uCmlu
ZGV4IDc0MjgxMmNkZWIwM2Q1YTU0ODQ1YTA3N2FiYjFkNzRiNTI3ZmU1MzUuLjZhMzY4MWRiOTkz
MWQ3MmI2MjY0MWU3OWUyMTU1OThlMDhiNjM5NGMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvd2FzbS93
YXNtLmpzb24KKysrIGIvSlNUZXN0cy93YXNtL3dhc20uanNvbgpAQCAtMTcsNiArMTcsNyBAQAog
ICAgICAgICAicmVmIjogICAgICAgeyAidHlwZSI6ICJ2YXJpbnQ3IiwgInZhbHVlIjogIC0yMSwg
ImIzdHlwZSI6ICJCMzo6SW50NjQiIH0sCiAgICAgICAgICJmdW5jIjogICAgICB7ICJ0eXBlIjog
InZhcmludDciLCAidmFsdWUiOiAgLTMyLCAiYjN0eXBlIjogIkIzOjpWb2lkIiB9LAogICAgICAg
ICAic3RydWN0IjogICAgeyAidHlwZSI6ICJ2YXJpbnQ3IiwgInZhbHVlIjogIC0zMywgImIzdHlw
ZSI6ICJCMzo6Vm9pZCIgfSwKKyAgICAgICAgInJ0dCI6ICAgICAgIHsgInR5cGUiOiAidmFyaW50
NyIsICJ2YWx1ZSI6ICAtMjQsICJiM3R5cGUiOiAiQjM6OlZvaWQiIH0sCiAgICAgICAgICJ2b2lk
IjogICAgICB7ICJ0eXBlIjogInZhcmludDciLCAidmFsdWUiOiAgLTY0LCAiYjN0eXBlIjogIkIz
OjpWb2lkIiB9CiAgICAgfSwKICAgICAidmFsdWVfdHlwZSI6IFsiaTMyIiwgImk2NCIsICJmMzIi
LCAiZjY0IiwgImV4dGVybnJlZiIsICJmdW5jcmVmIl0sCkBAIC03Nyw2ICs3OCw3IEBACiAgICAg
ICAgICJyZWYubnVsbCI6ICAgICAgICAgICAgeyAiY2F0ZWdvcnkiOiAic3BlY2lhbCIsICAgICJ2
YWx1ZSI6IDIwOCwgInJldHVybiI6IFsiZXh0ZXJucmVmIiwgImZ1bmNyZWYiXSwgICAgICAgICAi
cGFyYW1ldGVyIjogW10sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaW1tZWRpYXRlIjog
W3sibmFtZSI6ICJyZWZ0eXBlIiwgICAgICAgICJ0eXBlIjogInJlZl90eXBlIn1dLCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiYSBj
b25zdGFudCBudWxsIHJlZmVyZW5jZSIgfSwKICAgICAgICAgInJlZi5pc19udWxsIjogICAgICAg
ICB7ICJjYXRlZ29yeSI6ICJzcGVjaWFsIiwgICAgInZhbHVlIjogMjA5LCAicmV0dXJuIjogWyJp
MzIiXSwgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJhbWV0ZXIiOiBbImV4dGVybnJlZiJd
LCAgICAgICAgICAgICAgICAgICJpbW1lZGlhdGUiOiBbXSwgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJkZXRlcm1pbmUgaWYgYSByZWZlcmVuY2UgaXMg
bnVsbCIgfSwKICAgICAgICAgInJlZi5mdW5jIjogICAgICAgICAgICB7ICJjYXRlZ29yeSI6ICJz
cGVjaWFsIiwgICAgInZhbHVlIjogMjEwLCAicmV0dXJuIjogWyJmdW5jcmVmIl0sICAgICAgICAg
ICAgICAgICAgICAgICJwYXJhbWV0ZXIiOiBbXSwgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJpbW1lZGlhdGUiOiBbeyJuYW1lIjogImZ1bmN0aW9uX2luZGV4IiwgInR5cGUiOiAidmFydWlu
dDMyIn1dLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZXNj
cmlwdGlvbiI6ICJyZXR1cm4gYSByZWZlcmVuY2UgdG8gdGhlIGZ1bmN0aW9uIGF0IHRoZSBnaXZl
biBpbmRleCIgfSwKKyAgICAgICAgInJ0dC5jYW5vbiI6ICAgICAgICAgICB7ICJjYXRlZ29yeSI6
ICJnYyIsICAgICAgICAgInZhbHVlIjogMjUxLCAicmV0dXJuIjogWyJydHQiXSwgICAgICAgICAg
ICAgICAgICAgICAgICAgICJwYXJhbWV0ZXIiOiBbXSwgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJpbW1lZGlhdGUiOiBbeyJuYW1lIjogInR5cGVfaW5kZXgiLCAgICAgInR5cGUiOiAidmFy
dWludDMyIn1dLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJk
ZXNjcmlwdGlvbiI6ICJyZXR1cm5zIHRoZSBSVFQgb2YgdGhlIHNwZWNpZmllZCB0eXBlIiwgImV4
dGVuZGVkT3AiOiA0OCB9LAogICAgICAgICAiZ2V0X2xvY2FsIjogICAgICAgICAgIHsgImNhdGVn
b3J5IjogInNwZWNpYWwiLCAgICAidmFsdWUiOiAgMzIsICJyZXR1cm4iOiBbImFueSJdLCAgICAg
ICAgICAgICAgICAgICAgICAgICAgInBhcmFtZXRlciI6IFtdLCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgImltbWVkaWF0ZSI6IFt7Im5hbWUiOiAibG9jYWxfaW5kZXgiLCAgICAidHlwZSI6
ICJ2YXJ1aW50MzIifV0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgImRlc2NyaXB0aW9uIjogInJlYWQgYSBsb2NhbCB2YXJpYWJsZSBvciBwYXJhbWV0ZXIiIH0s
CiAgICAgICAgICJzZXRfbG9jYWwiOiAgICAgICAgICAgeyAiY2F0ZWdvcnkiOiAic3BlY2lhbCIs
ICAgICJ2YWx1ZSI6ICAzMywgInJldHVybiI6IFtdLCAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAicGFyYW1ldGVyIjogWyJhbnkiXSwgICAgICAgICAgICAgICAgICAgICAgICAiaW1tZWRp
YXRlIjogW3sibmFtZSI6ICJsb2NhbF9pbmRleCIsICAgICJ0eXBlIjogInZhcnVpbnQzMiJ9XSwg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24i
OiAid3JpdGUgYSBsb2NhbCB2YXJpYWJsZSBvciBwYXJhbWV0ZXIiIH0sCiAgICAgICAgICJ0ZWVf
bG9jYWwiOiAgICAgICAgICAgeyAiY2F0ZWdvcnkiOiAic3BlY2lhbCIsICAgICJ2YWx1ZSI6ICAz
NCwgInJldHVybiI6IFsiYW55Il0sICAgICAgICAgICAgICAgICAgICAgICAgICAicGFyYW1ldGVy
IjogWyJhbnkiXSwgICAgICAgICAgICAgICAgICAgICAgICAiaW1tZWRpYXRlIjogW3sibmFtZSI6
ICJsb2NhbF9pbmRleCIsICAgICJ0eXBlIjogInZhcnVpbnQzMiJ9XSwgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAid3JpdGUgYSBsb2Nh
bCB2YXJpYWJsZSBvciBwYXJhbWV0ZXIgYW5kIHJldHVybiB0aGUgc2FtZSB2YWx1ZSIgfSwK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>458329</attachid>
            <date>2022-04-25 22:06:53 -0700</date>
            <delta_ts>2022-04-27 08:52:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239493-20220426120651.patch</filename>
            <type>text/plain</type>
            <size>30550</size>
            <attacher name="Dmitry">dbezhetskov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyOTQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA4
N2I4MjIxOWQ3MDBjZjM5ODdkZjk2MjdhYjAwNzU0ZmJjNjM2MTc3Li5lOTU2NGMyOTcxYjA4MmYx
NjQ5NzRlNjY2MTFkMjg2NDEyOTllNGY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1MiBAQAorMjAyMi0wNC0xOSAgRG1pdHJ5IEJlemhldHNrb3YgIDxkYmV6aGV0c2tvdkBp
Z2FsaWEuY29tPgorCisgICAgICAgIFtXQVNNLUdDXSBJbnRyb2R1Y2UgcnR0IHR5cGVzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzk0OTMKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAgIEFkZCBh
IGJhc2ljIHN1cHBvcnQgdGhyb3VnaCBydW50aW1lIGNhbGwgZm9yIHJ0dC5jYW5vbiBhbmQgcnR0
IHR5cGVzLgorICAgICAgICBJdCBpcyBhIHByb3RvdHlwZSBpbXBsZW1lbnRhdGlvbiBvZiBydHQg
dHlwZXMgbmVlZGVkIHRvIG1vdmUgZm9yd2FyZAorICAgICAgICB3aXRoIHdhc20gZ2MgcHJvcG9z
YWwgKGh0dHBzOi8vZ2l0aHViLmNvbS9XZWJBc3NlbWJseS9nYy9ibG9iL21haW4vcHJvcG9zYWxz
L2djL01WUC5tZCkuCisgICAgICAgIEZvciBleGFtcGxlLCB3ZSBkb24ndCBuZWVkIHRvIHVzZSBy
dHQgdmFsdWVzIGZvciBzdHJ1Y3QubmV3LAorICAgICAgICBidXQgd2UgZG8gbmVlZCB0aGVtIGZv
ciB0aGUgZnV0dXJlIGpzIGFwaS4KKyAgICAgICAgU28sIHJ0dC5jYW5vbiByZXR1cm5zIGpzTnVs
bCBmb3Igbm93LCBidXQgd2UgY2FuIHJlcGxhY2UgaXQgd2l0aAorICAgICAgICBwcm9wZXJseSBk
ZWZpbmVkIHZhbHVlcyB3aGVuIHRoZSBzcGVjIHdpbGwgYmUgcmVhZHkuCisKKyAgICAgICAgKiBi
eXRlY29kZS9CeXRlY29kZUxpc3QucmI6CisgICAgICAgICogbGxpbnQvV2ViQXNzZW1ibHkuYXNt
OgorICAgICAgICAqIHdhc20vV2FzbUFpcklSR2VuZXJhdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6
V2FzbTo6QWlySVJHZW5lcmF0b3I6OnRtcEZvclR5cGUpOgorICAgICAgICAoSlNDOjpXYXNtOjpB
aXJJUkdlbmVyYXRvcjo6QWlySVJHZW5lcmF0b3IpOgorICAgICAgICAoSlNDOjpXYXNtOjpBaXJJ
UkdlbmVyYXRvcjo6YWRkUnR0Q2Fub24pOgorICAgICAgICAqIHdhc20vV2FzbUIzSVJHZW5lcmF0
b3IuY3BwOgorICAgICAgICAoSlNDOjpXYXNtOjpCM0lSR2VuZXJhdG9yOjphZGRSdHRDYW5vbik6
CisgICAgICAgICogd2FzbS9XYXNtQ2FsbGluZ0NvbnZlbnRpb24uaDoKKyAgICAgICAgKEpTQzo6
V2FzbTo6V2FzbUNhbGxpbmdDb252ZW50aW9uOjptYXJzaGFsbExvY2F0aW9uIGNvbnN0KToKKyAg
ICAgICAgKiB3YXNtL1dhc21Gb3JtYXQuaDoKKyAgICAgICAgKEpTQzo6V2FzbTo6aXNWYWx1ZVR5
cGUpOgorICAgICAgICAoSlNDOjpXYXNtOjppc1ZhbGlkSGVhcFR5cGVLaW5kKToKKyAgICAgICAg
KiB3YXNtL1dhc21GdW5jdGlvblBhcnNlci5oOgorICAgICAgICAoSlNDOjpXYXNtOjpGdW5jdGlv
blBhcnNlcjxDb250ZXh0Pjo6cGFyc2VFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6V2FzbTo6
RnVuY3Rpb25QYXJzZXI8Q29udGV4dD46OnBhcnNlVW5yZWFjaGFibGVFeHByZXNzaW9uKToKKyAg
ICAgICAgKiB3YXNtL1dhc21MTEludEdlbmVyYXRvci5jcHA6CisgICAgICAgIChKU0M6Oldhc206
OkxMSW50R2VuZXJhdG9yOjpjYWxsSW5mb3JtYXRpb25Gb3JDYWxsZXIpOgorICAgICAgICAoSlND
OjpXYXNtOjpMTEludEdlbmVyYXRvcjo6Y2FsbEluZm9ybWF0aW9uRm9yQ2FsbGVlKToKKyAgICAg
ICAgKEpTQzo6V2FzbTo6TExJbnRHZW5lcmF0b3I6OmFkZEFyZ3VtZW50cyk6CisgICAgICAgIChK
U0M6Oldhc206OkxMSW50R2VuZXJhdG9yOjphZGRSdHRDYW5vbik6CisgICAgICAgICogd2FzbS9X
YXNtT3BlcmF0aW9ucy5jcHA6CisgICAgICAgIChKU0M6Oldhc206OkpTQ19ERUZJTkVfSklUX09Q
RVJBVElPTik6CisgICAgICAgICogd2FzbS9XYXNtT3BlcmF0aW9ucy5oOgorICAgICAgICAqIHdh
c20vV2FzbVBhcnNlci5oOgorICAgICAgICAoSlNDOjpXYXNtOjpQYXJzZXI8U3VjY2Vzc1R5cGU+
OjpwYXJzZVZhbHVlVHlwZSk6CisgICAgICAgICogd2FzbS9XYXNtU2xvd1BhdGhzLmNwcDoKKyAg
ICAgICAgKEpTQzo6TExJbnQ6OldBU01fU0xPV19QQVRIX0RFQ0wpOgorICAgICAgICAqIHdhc20v
V2FzbVNsb3dQYXRocy5oOgorICAgICAgICAqIHdhc20vZ2VuZXJhdGVXYXNtT3BzSGVhZGVyLnB5
OgorICAgICAgICAqIHdhc20vanMvV2FzbVRvSlMuY3BwOgorICAgICAgICAoSlNDOjpXYXNtOjp3
YXNtVG9KUyk6CisgICAgICAgICogd2FzbS93YXNtLmpzb246CisKIDIwMjItMDQtMTYgIE1hcmsg
TGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCBhIGRlYWRsb2NrIGluIFZN
VHJhcHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNv
ZGVMaXN0LnJiIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5y
YgppbmRleCA0ZTU5ZTlmOTA3Nzk2NTVmNzQxNTViODk1YmQ1ZTM4ZTAxNDczMWY4Li45NmNjMTM5
MzMwMjNkZmM4YzBmZWJmNmZiNTIxZTBlMTFhMjRhOTk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVMaXN0LnJiCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZUxpc3QucmIKQEAgLTE4OTIsNCArMTg5MiwxMCBAQCBv
cF9ncm91cCA6Q2F0Y2hBbGwsCiAgICAgICAgIGV4Y2VwdGlvbjogVmlydHVhbFJlZ2lzdGVyLAog
ICAgIH0KIAorb3AgOnJ0dF9jYW5vbiwKKyAgICBhcmdzOiB7CisgICAgICAgIGRzdDogVmlydHVh
bFJlZ2lzdGVyLAorICAgICAgICB0eXBlSW5kZXg6IHVuc2lnbmVkLAorICAgIH0KKwogZW5kX3Nl
Y3Rpb24gOldhc20KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9XZWJB
c3NlbWJseS5hc20gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvV2ViQXNzZW1ibHkuYXNt
CmluZGV4IDI0YzE0YjNmOGY2YjVmNDU1YmQwYTVhNzdjNTkzMmJlOWY2OGVlYWYuLjIyZWJlMmE3
ZWIzZDAzZTg5NzA4ZTBhZDlkMzUzMGY5YWU1YjIyZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9XZWJBc3NlbWJseS5hc20KKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L1dlYkFzc2VtYmx5LmFzbQpAQCAtNjAyLDYgKzYwMiw3IEBAIHNsb3dXYXNtT3Ao
c2V0X2dsb2JhbF9yZWZfcG9ydGFibGVfYmluZGluZykKIHNsb3dXYXNtT3AobWVtb3J5X2F0b21p
Y193YWl0MzIpCiBzbG93V2FzbU9wKG1lbW9yeV9hdG9taWNfd2FpdDY0KQogc2xvd1dhc21PcCht
ZW1vcnlfYXRvbWljX25vdGlmeSkKK3Nsb3dXYXNtT3AocnR0X2Nhbm9uKQogCiB3YXNtT3AoZ3Jv
d19tZW1vcnksIFdhc21Hcm93TWVtb3J5LCBtYWNybyhjdHgpCiAgICAgY2FsbFdhc21TbG93UGF0
aChfc2xvd19wYXRoX3dhc21fZ3Jvd19tZW1vcnkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd2FzbS9XYXNtQWlySVJHZW5lcmF0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3dhc20vV2FzbUFpcklSR2VuZXJhdG9yLmNwcAppbmRleCAwMWRiMjhiYjNiMzJjNzMxNWZi
YWFmZDM5ZTM4NmQ3YWUxYTI4YTE0Li43MGFkMjEzN2MyYjBjMTQ5YTE0MTFiNDUwMWMzZWI4MjFm
MDliNWU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQWlySVJH
ZW5lcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21BaXJJUkdl
bmVyYXRvci5jcHAKQEAgLTM3Nyw2ICszNzcsOSBAQCBwdWJsaWM6CiAgICAgLy8gU2F0dXJhdGVk
IHRydW5jYXRpb24uCiAgICAgUGFydGlhbFJlc3VsdCBXQVJOX1VOVVNFRF9SRVRVUk4gdHJ1bmNT
YXR1cmF0ZWQoRXh0MU9wVHlwZSwgRXhwcmVzc2lvblR5cGUgb3BlcmFuZCwgRXhwcmVzc2lvblR5
cGUmIHJlc3VsdCwgVHlwZSByZXR1cm5UeXBlLCBUeXBlIG9wZXJhbmRUeXBlKTsKIAorICAgIC8v
IEdDCisgICAgUGFydGlhbFJlc3VsdCBXQVJOX1VOVVNFRF9SRVRVUk4gYWRkUnR0Q2Fub24odWlu
dDMyX3QgdHlwZUluZGV4LCBFeHByZXNzaW9uVHlwZSYgcmVzdWx0KTsKKwogICAgIC8vIEJhc2lj
IG9wZXJhdG9ycwogICAgIHRlbXBsYXRlPE9wVHlwZT4KICAgICBQYXJ0aWFsUmVzdWx0IFdBUk5f
VU5VU0VEX1JFVFVSTiBhZGRPcChFeHByZXNzaW9uVHlwZSBhcmcsIEV4cHJlc3Npb25UeXBlJiBy
ZXN1bHQpOwpAQCAtNTI1LDYgKzUyOCw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICByZXR1cm4g
Z0Z1bmNyZWYoKTsKICAgICAgICAgY2FzZSBUeXBlS2luZDo6UmVmOgogICAgICAgICBjYXNlIFR5
cGVLaW5kOjpSZWZOdWxsOgorICAgICAgICBjYXNlIFR5cGVLaW5kOjpSdHQ6CiAgICAgICAgICAg
ICByZXR1cm4gZ1JlZih0eXBlKTsKICAgICAgICAgY2FzZSBUeXBlS2luZDo6RXh0ZXJucmVmOgog
ICAgICAgICAgICAgcmV0dXJuIGdFeHRlcm5yZWYoKTsKQEAgLTEwNTksNiArMTA2Myw3IEBAIEFp
cklSR2VuZXJhdG9yOjpBaXJJUkdlbmVyYXRvcihjb25zdCBNb2R1bGVJbmZvcm1hdGlvbiYgaW5m
bywgQjM6OlByb2NlZHVyZSYgcHJvCiAgICAgICAgIGNhc2UgVHlwZUtpbmQ6OkZ1bmNyZWY6CiAg
ICAgICAgIGNhc2UgVHlwZUtpbmQ6OlJlZjoKICAgICAgICAgY2FzZSBUeXBlS2luZDo6UmVmTnVs
bDoKKyAgICAgICAgY2FzZSBUeXBlS2luZDo6UnR0OgogICAgICAgICAgICAgYXBwZW5kKE1vdmUs
IGFyZywgbV9sb2NhbHNbaV0pOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgVHlw
ZUtpbmQ6OkYzMjoKQEAgLTI5OTQsNiArMjk5OSwxNCBAQCBhdXRvIEFpcklSR2VuZXJhdG9yOjp0
cnVuY1NhdHVyYXRlZChFeHQxT3BUeXBlIG9wLCBFeHByZXNzaW9uVHlwZSBhcmcsIEV4cHJlc3Np
bwogICAgIHJldHVybiB7IH07CiB9CiAKK2F1dG8gQWlySVJHZW5lcmF0b3I6OmFkZFJ0dENhbm9u
KHVpbnQzMl90IHR5cGVJbmRleCwgRXhwcmVzc2lvblR5cGUmIHJlc3VsdCkgLT4gUGFydGlhbFJl
c3VsdAoreworICAgIHJlc3VsdCA9IHRtcEZvclR5cGUoVHlwZXM6OkkzMik7CisgICAgZW1pdEND
YWxsKCZvcGVyYXRpb25XYXNtUnR0Q2Fub24sIHJlc3VsdCwgaW5zdGFuY2VWYWx1ZSgpLCBhZGRD
b25zdGFudChUeXBlczo6STMyLCB0eXBlSW5kZXgpKTsKKworICAgIHJldHVybiB7IH07Cit9CisK
IGF1dG8gQWlySVJHZW5lcmF0b3I6OmFkZFNlbGVjdChFeHByZXNzaW9uVHlwZSBjb25kaXRpb24s
IEV4cHJlc3Npb25UeXBlIG5vblplcm8sIEV4cHJlc3Npb25UeXBlIHplcm8sIEV4cHJlc3Npb25U
eXBlJiByZXN1bHQpIC0+IFBhcnRpYWxSZXN1bHQKIHsKICAgICBBU1NFUlQobm9uWmVyby50eXBl
KCkgPT0gemVyby50eXBlKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dh
c20vV2FzbUIzSVJHZW5lcmF0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2Fz
bUIzSVJHZW5lcmF0b3IuY3BwCmluZGV4IDM3NTQyNjE1N2Q4OGFkMzk3OTE2YzNkMTYyZWRmNzIw
YThlYmI0MGUuLmQzOTIyYTdhY2ZiMmUxN2Q2MjY2YWQwMjczYjgzNWViYjg3ZmQyNDUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21CM0lSR2VuZXJhdG9yLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQjNJUkdlbmVyYXRvci5jcHAKQEAg
LTM1NCw2ICszNTQsOSBAQCBwdWJsaWM6CiAgICAgLy8gU2F0dXJhdGVkIHRydW5jYXRpb24uCiAg
ICAgUGFydGlhbFJlc3VsdCBXQVJOX1VOVVNFRF9SRVRVUk4gdHJ1bmNTYXR1cmF0ZWQoRXh0MU9w
VHlwZSwgRXhwcmVzc2lvblR5cGUgb3BlcmFuZCwgRXhwcmVzc2lvblR5cGUmIHJlc3VsdCwgVHlw
ZSByZXR1cm5UeXBlLCBUeXBlIG9wZXJhbmRUeXBlKTsKIAorICAgIC8vIEdDCisgICAgUGFydGlh
bFJlc3VsdCBXQVJOX1VOVVNFRF9SRVRVUk4gYWRkUnR0Q2Fub24odWludDMyX3QgdHlwZUluZGV4
LCBFeHByZXNzaW9uVHlwZSYgcmVzdWx0KTsKKwogICAgIC8vIEJhc2ljIG9wZXJhdG9ycwogICAg
IHRlbXBsYXRlPE9wVHlwZT4KICAgICBQYXJ0aWFsUmVzdWx0IFdBUk5fVU5VU0VEX1JFVFVSTiBh
ZGRPcChFeHByZXNzaW9uVHlwZSBhcmcsIEV4cHJlc3Npb25UeXBlJiByZXN1bHQpOwpAQCAtMjI1
MSw2ICsyMjU0LDE1IEBAIGF1dG8gQjNJUkdlbmVyYXRvcjo6dHJ1bmNTYXR1cmF0ZWQoRXh0MU9w
VHlwZSBvcCwgRXhwcmVzc2lvblR5cGUgYXJnVmFyLCBFeHByZXNzCiAgICAgcmV0dXJuIHsgfTsK
IH0KIAorYXV0byBCM0lSR2VuZXJhdG9yOjphZGRSdHRDYW5vbih1aW50MzJfdCB0eXBlSW5kZXgs
IEV4cHJlc3Npb25UeXBlJiByZXN1bHQpIC0+IFBhcnRpYWxSZXN1bHQKK3sKKyAgICByZXN1bHQg
PSBwdXNoKG1fY3VycmVudEJsb2NrLT5hcHBlbmROZXc8Q0NhbGxWYWx1ZT4obV9wcm9jLCB0b0Iz
VHlwZShUeXBlczo6STMyKSwgb3JpZ2luKCksCisgICAgICAgIG1fY3VycmVudEJsb2NrLT5hcHBl
bmROZXc8Q29uc3RQdHJWYWx1ZT4obV9wcm9jLCBvcmlnaW4oKSwgdGFnQ0Z1bmN0aW9uPE9wZXJh
dGlvblB0clRhZz4ob3BlcmF0aW9uV2FzbVJ0dENhbm9uKSksCisgICAgICAgIGluc3RhbmNlVmFs
dWUoKSwgbV9jdXJyZW50QmxvY2stPmFwcGVuZE5ldzxDb25zdDMyVmFsdWU+KG1fcHJvYywgb3Jp
Z2luKCksIHR5cGVJbmRleCkpKTsKKworICAgIHJldHVybiB7IH07Cit9CisKIGF1dG8gQjNJUkdl
bmVyYXRvcjo6YWRkU2VsZWN0KEV4cHJlc3Npb25UeXBlIGNvbmRpdGlvbiwgRXhwcmVzc2lvblR5
cGUgbm9uWmVybywgRXhwcmVzc2lvblR5cGUgemVybywgRXhwcmVzc2lvblR5cGUmIHJlc3VsdCkg
LT4gUGFydGlhbFJlc3VsdAogewogICAgIHJlc3VsdCA9IHB1c2gobV9jdXJyZW50QmxvY2stPmFw
cGVuZE5ldzxWYWx1ZT4obV9wcm9jLCBCMzo6U2VsZWN0LCBvcmlnaW4oKSwgZ2V0KGNvbmRpdGlv
biksIGdldChub25aZXJvKSwgZ2V0KHplcm8pKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd2FzbS9XYXNtQ2FsbGluZ0NvbnZlbnRpb24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93YXNtL1dhc21DYWxsaW5nQ29udmVudGlvbi5oCmluZGV4IDQyODhmODAxZGUxYmUzNGIz
ODk1YmFmMmYzYWM1NTFlYzQ4YWI1NzQuLjdmMWU2MDk5MTJmNGJkOGRlMDc5MjA4OTQ3Zjc3ZDEw
OWYxM2JiNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21DYWxs
aW5nQ29udmVudGlvbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21DYWxs
aW5nQ29udmVudGlvbi5oCkBAIC0xMDksNiArMTA5LDcgQEAgcHJpdmF0ZToKICAgICAgICAgY2Fz
ZSBUeXBlS2luZDo6RXh0ZXJucmVmOgogICAgICAgICBjYXNlIFR5cGVLaW5kOjpSZWY6CiAgICAg
ICAgIGNhc2UgVHlwZUtpbmQ6OlJlZk51bGw6CisgICAgICAgIGNhc2UgVHlwZUtpbmQ6OlJ0dDoK
ICAgICAgICAgICAgIHJldHVybiBtYXJzaGFsbExvY2F0aW9uSW1wbChyb2xlLCBncHJBcmdzLCBn
cEFyZ3VtZW50Q291bnQsIHN0YWNrT2Zmc2V0KTsKICAgICAgICAgY2FzZSBUeXBlS2luZDo6RjMy
OgogICAgICAgICBjYXNlIFR5cGVLaW5kOjpGNjQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd2FzbS9XYXNtRm9ybWF0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9X
YXNtRm9ybWF0LmgKaW5kZXggYWNlODU3ZmQyMGJmOWY5MDVkZDQ4ZDUyZTcxNWQ5M2IyZDY4NzZm
Yy4uOWJlYTQ0ODY0NzgwN2RiNjc5NThjZDk4OGIyOGE0MzgzODgyMmYyMyAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUZvcm1hdC5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93YXNtL1dhc21Gb3JtYXQuaApAQCAtNzQsNiArNzQsOCBAQCBpbmxpbmUgYm9v
bCBpc1ZhbHVlVHlwZShUeXBlIHR5cGUpCiAgICAgY2FzZSBUeXBlS2luZDo6UmVmOgogICAgIGNh
c2UgVHlwZUtpbmQ6OlJlZk51bGw6CiAgICAgICAgIHJldHVybiBPcHRpb25zOjp1c2VXZWJBc3Nl
bWJseVR5cGVkRnVuY3Rpb25SZWZlcmVuY2VzKCk7CisgICAgY2FzZSBUeXBlS2luZDo6UnR0Ogor
ICAgICAgICByZXR1cm4gT3B0aW9uczo6dXNlV2ViQXNzZW1ibHlHQygpOwogICAgIGRlZmF1bHQ6
CiAgICAgICAgIGJyZWFrOwogICAgIH0KQEAgLTE2NSw2ICsxNjcsNyBAQCBpbmxpbmUgYm9vbCBp
c1ZhbGlkSGVhcFR5cGVLaW5kKFR5cGVLaW5kIGtpbmQpCiAgICAgc3dpdGNoIChraW5kKSB7CiAg
ICAgY2FzZSBUeXBlS2luZDo6RnVuY3JlZjoKICAgICBjYXNlIFR5cGVLaW5kOjpFeHRlcm5yZWY6
CisgICAgY2FzZSBUeXBlS2luZDo6UnR0OgogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICBkZWZh
dWx0OgogICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
YXNtL1dhc21GdW5jdGlvblBhcnNlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2Fz
bUZ1bmN0aW9uUGFyc2VyLmgKaW5kZXggZGIxYzlhZWY4MmQ2NWE1ODAxMjU0MjdjM2ZjMTUyOTQy
N2ExZGQxZC4uZGViODdmYmMzN2I3MWJmOWUxZDkwMDBhNzdjMmY0NTc2MmVmYjNjYiAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUZ1bmN0aW9uUGFyc2VyLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUZ1bmN0aW9uUGFyc2VyLmgKQEAgLTEw
MzksNiArMTAzOSwzMiBAQCBGT1JfRUFDSF9XQVNNX01FTU9SWV9TVE9SRV9PUChDUkVBVEVfQ0FT
RSkKICAgICAgICAgcmV0dXJuIHsgfTsKICAgICB9CiAKKyAgICBjYXNlIEdDUHJlZml4OiB7Cisg
ICAgICAgIFdBU01fUEFSU0VSX0ZBSUxfSUYoIU9wdGlvbnM6OnVzZVdlYkFzc2VtYmx5R0MoKSwg
Ildhc20gR0MgaXMgbm90IGVuYWJsZWQiKTsKKworICAgICAgICB1aW50OF90IGV4dE9wOworICAg
ICAgICBXQVNNX1BBUlNFUl9GQUlMX0lGKCFwYXJzZVVJbnQ4KGV4dE9wKSwgImNhbid0IHBhcnNl
IGV4dGVuZGVkIEdDIG9wY29kZSIpOworCisgICAgICAgIHN3aXRjaCAoc3RhdGljX2Nhc3Q8R0NP
cFR5cGU+KGV4dE9wKSkgeworICAgICAgICBjYXNlIEdDT3BUeXBlOjpSdHRDYW5vbjogeworICAg
ICAgICAgICAgdWludDMyX3QgdHlwZUluZGV4OworICAgICAgICAgICAgV0FTTV9QQVJTRVJfRkFJ
TF9JRighcGFyc2VWYXJVSW50MzIodHlwZUluZGV4KSwgImNhbid0IGdldCB0eXBlIGluZGV4IGZv
ciBydHQuY2Fub24iKTsKKyAgICAgICAgICAgIFdBU01fVkFMSURBVE9SX0ZBSUxfSUYodHlwZUlu
ZGV4ID49IG1faW5mby50eXBlQ291bnQoKSwgInJ0dC5jYW5vbiBpbmRleCAiLCB0eXBlSW5kZXgs
ICIgaXMgb3V0IG9mIGJvdW5kcyIpOworCisgICAgICAgICAgICBFeHByZXNzaW9uVHlwZSByZXN1
bHQ7CisgICAgICAgICAgICBXQVNNX1RSWV9BRERfVE9fQ09OVEVYVChhZGRSdHRDYW5vbih0eXBl
SW5kZXgsIHJlc3VsdCkpOworCisgICAgICAgICAgICBtX2V4cHJlc3Npb25TdGFjay5jb25zdHJ1
Y3RBbmRBcHBlbmQoVHlwZSB7IFR5cGVLaW5kOjpSdHQsIE51bGxhYmxlOjpObywgc3RhdGljX2Nh
c3Q8VHlwZUluZGV4Pih0eXBlSW5kZXgpIH0sIHJlc3VsdCk7CisgICAgICAgICAgICByZXR1cm4g
eyB9OworICAgICAgICB9CisKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIFdBU01fUEFS
U0VSX0ZBSUxfSUYodHJ1ZSwgImludmFsaWQgZXh0ZW5kZWQgR0Mgb3AgIiwgZXh0T3ApOworICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICB9CisK
ICAgICBjYXNlIEV4dEF0b21pYzogewogICAgICAgICBXQVNNX1BBUlNFUl9GQUlMX0lGKCFPcHRp
b25zOjp1c2VXZWJBc3NlbWJseVRocmVhZGluZygpLCAid2FzbS10aHJlYWRpbmcgaXMgbm90IGVu
YWJsZWQiKTsKICAgICAgICAgdWludDhfdCBleHRPcDsKQEAgLTE5MjgsNiArMTk1NCwyNiBAQCBh
dXRvIEZ1bmN0aW9uUGFyc2VyPENvbnRleHQ+OjpwYXJzZVVucmVhY2hhYmxlRXhwcmVzc2lvbigp
IC0+IFBhcnRpYWxSZXN1bHQKICAgICAgICAgcmV0dXJuIHsgfTsKICAgICB9CiAKKyAgICBjYXNl
IEdDUHJlZml4OiB7CisgICAgICAgIFdBU01fUEFSU0VSX0ZBSUxfSUYoIU9wdGlvbnM6OnVzZVdl
YkFzc2VtYmx5R0MoKSwgIldhc20gR0MgaXMgbm90IGVuYWJsZWQiKTsKKworICAgICAgICB1aW50
OF90IGV4dE9wOworICAgICAgICBXQVNNX1BBUlNFUl9GQUlMX0lGKCFwYXJzZVVJbnQ4KGV4dE9w
KSwgImNhbid0IHBhcnNlIGV4dGVuZGVkIEdDIG9wY29kZSIpOworCisgICAgICAgIHN3aXRjaCAo
c3RhdGljX2Nhc3Q8R0NPcFR5cGU+KGV4dE9wKSkgeworICAgICAgICBjYXNlIEdDT3BUeXBlOjpS
dHRDYW5vbjogeworICAgICAgICAgICAgdWludDMyX3QgdW51c2VkOworICAgICAgICAgICAgV0FT
TV9QQVJTRVJfRkFJTF9JRighcGFyc2VWYXJVSW50MzIodW51c2VkKSwgImNhbid0IGdldCB0eXBl
IGluZGV4IGltbWVkaWF0ZSBmb3IgcnR0LmNhbm9uIGluIHVucmVhY2hhYmxlIGNvbnRleHQiKTsK
KyAgICAgICAgICAgIHJldHVybiB7IH07CisgICAgICAgIH0KKyAgICAgICAgZGVmYXVsdDoKKyAg
ICAgICAgICAgIFdBU01fUEFSU0VSX0ZBSUxfSUYodHJ1ZSwgImludmFsaWQgZXh0ZW5kZWQgR0Mg
b3AgIiwgZXh0T3ApOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICBy
ZXR1cm4geyB9OworICAgIH0KKwogICAgIGNhc2UgR3Jvd01lbW9yeToKICAgICBjYXNlIEN1cnJl
bnRNZW1vcnk6IHsKICAgICAgICAgdWludDhfdCByZXNlcnZlZDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21MTEludEdlbmVyYXRvci5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd2FzbS9XYXNtTExJbnRHZW5lcmF0b3IuY3BwCmluZGV4IDcxZTA2NDdjNTY2
NjZlYTBmZmQzY2M0NWE0ZGU2MTFlMDc5Mjc3ZmQuLmQzNzNmYWVlODE2ODE4ZmFhZTI2NGVkZTNi
OTFjYTQ5NTU0YTZkNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dh
c21MTEludEdlbmVyYXRvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2Fz
bUxMSW50R2VuZXJhdG9yLmNwcApAQCAtMjcxLDYgKzI3MSw5IEBAIHB1YmxpYzoKICAgICAvLyBT
YXR1cmF0ZWQgdHJ1bmNhdGlvbi4KICAgICBQYXJ0aWFsUmVzdWx0IFdBUk5fVU5VU0VEX1JFVFVS
TiB0cnVuY1NhdHVyYXRlZChFeHQxT3BUeXBlLCBFeHByZXNzaW9uVHlwZSBvcGVyYW5kLCBFeHBy
ZXNzaW9uVHlwZSYgcmVzdWx0LCBUeXBlLCBUeXBlKTsKIAorICAgIC8vIEdDCisgICAgUGFydGlh
bFJlc3VsdCBXQVJOX1VOVVNFRF9SRVRVUk4gYWRkUnR0Q2Fub24odWludDMyX3QgaW5kZXgsIEV4
cHJlc3Npb25UeXBlJiByZXN1bHQpOworCiAgICAgLy8gQmFzaWMgb3BlcmF0b3JzCiAgICAgdGVt
cGxhdGU8T3BUeXBlPgogICAgIFBhcnRpYWxSZXN1bHQgV0FSTl9VTlVTRURfUkVUVVJOIGFkZE9w
KEV4cHJlc3Npb25UeXBlIGFyZywgRXhwcmVzc2lvblR5cGUmIHJlc3VsdCk7CkBAIC02MDgsNiAr
NjExLDcgQEAgYXV0byBMTEludEdlbmVyYXRvcjo6Y2FsbEluZm9ybWF0aW9uRm9yQ2FsbGVyKGNv
bnN0IEZ1bmN0aW9uU2lnbmF0dXJlJiBzaWduYXR1cmUKICAgICAgICAgY2FzZSBUeXBlS2luZDo6
RnVuY3JlZjoKICAgICAgICAgY2FzZSBUeXBlS2luZDo6UmVmTnVsbDoKICAgICAgICAgY2FzZSBU
eXBlS2luZDo6UmVmOgorICAgICAgICBjYXNlIFR5cGVLaW5kOjpSdHQ6CiAgICAgICAgICAgICBp
ZiAoZ3BySW5kZXggPCBncHJDb3VudCkKICAgICAgICAgICAgICAgICArK2dwckluZGV4OwogICAg
ICAgICAgICAgZWxzZSBpZiAoc3RhY2tJbmRleCsrID49IHN0YWNrQ291bnQpCkBAIC02NjYsNiAr
NjcwLDcgQEAgYXV0byBMTEludEdlbmVyYXRvcjo6Y2FsbEluZm9ybWF0aW9uRm9yQ2FsbGVyKGNv
bnN0IEZ1bmN0aW9uU2lnbmF0dXJlJiBzaWduYXR1cmUKICAgICAgICAgY2FzZSBUeXBlS2luZDo6
RnVuY3JlZjoKICAgICAgICAgY2FzZSBUeXBlS2luZDo6UmVmTnVsbDoKICAgICAgICAgY2FzZSBU
eXBlS2luZDo6UmVmOgorICAgICAgICBjYXNlIFR5cGVLaW5kOjpSdHQ6CiAgICAgICAgICAgICBp
ZiAoZ3BySW5kZXggPiBncHJMaW1pdCkKICAgICAgICAgICAgICAgICBhcmd1bWVudHNbaV0gPSB2
aXJ0dWFsUmVnaXN0ZXJGb3JMb2NhbCgtLWdwckluZGV4KTsKICAgICAgICAgICAgIGVsc2UKQEAg
LTcxMSw2ICs3MTYsNyBAQCBhdXRvIExMSW50R2VuZXJhdG9yOjpjYWxsSW5mb3JtYXRpb25Gb3JD
YWxsZXIoY29uc3QgRnVuY3Rpb25TaWduYXR1cmUmIHNpZ25hdHVyZQogICAgICAgICBjYXNlIFR5
cGVLaW5kOjpWb2lkOgogICAgICAgICBjYXNlIFR5cGVLaW5kOjpGdW5jOgogICAgICAgICBjYXNl
IFR5cGVLaW5kOjpTdHJ1Y3Q6CisgICAgICAgIGNhc2UgVHlwZUtpbmQ6OlJ0dDoKICAgICAgICAg
ICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIH0KICAgICB9CkBAIC03
NjksNiArNzc1LDcgQEAgYXV0byBMTEludEdlbmVyYXRvcjo6Y2FsbEluZm9ybWF0aW9uRm9yQ2Fs
bGVlKGNvbnN0IEZ1bmN0aW9uU2lnbmF0dXJlJiBzaWduYXR1cmUKICAgICAgICAgY2FzZSBUeXBl
S2luZDo6Vm9pZDoKICAgICAgICAgY2FzZSBUeXBlS2luZDo6RnVuYzoKICAgICAgICAgY2FzZSBU
eXBlS2luZDo6U3RydWN0OgorICAgICAgICBjYXNlIFR5cGVLaW5kOjpSdHQ6CiAgICAgICAgICAg
ICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICB9CiAgICAgfQpAQCAtODEx
LDYgKzgxOCw3IEBAIGF1dG8gTExJbnRHZW5lcmF0b3I6OmFkZEFyZ3VtZW50cyhjb25zdCBUeXBl
RGVmaW5pdGlvbiYgc2lnbmF0dXJlKSAtPiBQYXJ0aWFsUmVzCiAgICAgICAgIGNhc2UgVHlwZUtp
bmQ6OkZ1bmNyZWY6CiAgICAgICAgIGNhc2UgVHlwZUtpbmQ6OlJlZk51bGw6CiAgICAgICAgIGNh
c2UgVHlwZUtpbmQ6OlJlZjoKKyAgICAgICAgY2FzZSBUeXBlS2luZDo6UnR0OgogICAgICAgICAg
ICAgYWRkQXJndW1lbnQoaSwgZ3BySW5kZXgsIG1heEdQUkluZGV4KTsKICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICBjYXNlIFR5cGVLaW5kOjpGMzI6CkBAIC0xODI1LDYgKzE4MzMsMTQgQEAg
YXV0byBMTEludEdlbmVyYXRvcjo6dHJ1bmNTYXR1cmF0ZWQoRXh0MU9wVHlwZSBvcCwgRXhwcmVz
c2lvblR5cGUgb3BlcmFuZCwgRXhwcmUKICAgICByZXR1cm4geyB9OwogfQogCithdXRvIExMSW50
R2VuZXJhdG9yOjphZGRSdHRDYW5vbih1aW50MzJfdCBpbmRleCwgRXhwcmVzc2lvblR5cGUmIHJl
c3VsdCkgLT4gUGFydGlhbFJlc3VsdAoreworICAgIHJlc3VsdCA9IHB1c2goKTsKKyAgICBXYXNt
UnR0Q2Fub246OmVtaXQodGhpcywgcmVzdWx0LCBpbmRleCk7CisKKyAgICByZXR1cm4geyB9Owor
fQorCiB2b2lkIExMSW50R2VuZXJhdG9yOjpsaW5rU3dpdGNoVGFyZ2V0cyhMYWJlbCYgbGFiZWws
IHVuc2lnbmVkIGxvY2F0aW9uKQogewogICAgIGF1dG8gaXQgPSBtX3N3aXRjaGVzLmZpbmQoJmxh
YmVsKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21PcGVyYXRp
b25zLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21PcGVyYXRpb25zLmNwcApp
bmRleCBlZTBiMmVkOWIyN2QzNmRiYWMzNzZjYmZjOWU2YjY2ZGQwZGI2Zjc0Li5mMmY2MTFhNmJl
NmUzMjJmZWRlZmU2ZjI5NGNmZjEyY2QyMjgwZjM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd2FzbS9XYXNtT3BlcmF0aW9ucy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3dhc20vV2FzbU9wZXJhdGlvbnMuY3BwCkBAIC04MjEsNiArODIxLDEyIEBAIEpTQ19ERUZJ
TkVfSklUX09QRVJBVElPTihvcGVyYXRpb25XYXNtUmVmRnVuYywgRW5jb2RlZEpTVmFsdWUsIChJ
bnN0YW5jZSogaW5zdGFuCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh2YWx1ZSk7CiB9CiAK
K0pTQ19ERUZJTkVfSklUX09QRVJBVElPTihvcGVyYXRpb25XYXNtUnR0Q2Fub24sIEVuY29kZWRK
U1ZhbHVlLCAoSW5zdGFuY2UqLCB1aW50MzJfdCkpCit7CisgICAgLy8gRklYTUU6IFdlIGRvbid0
IG5lZWQgcmVhbCBSVFQgdmFsdWVzIHJpZ2h0IG5vdywgc28gbGV0J3MgdXNlIGpzTnVsbC4KKyAg
ICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTnVsbCgpKTsKK30KKwogSlNDX0RFRklORV9KSVRf
T1BFUkFUSU9OKG9wZXJhdGlvbkdldFdhc21UYWJsZVNpemUsIGludDMyX3QsIChJbnN0YW5jZSog
aW5zdGFuY2UsIHVuc2lnbmVkIHRhYmxlSW5kZXgpKQogewogICAgIHJldHVybiBpbnN0YW5jZS0+
dGFibGUodGFibGVJbmRleCktPmxlbmd0aCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3dhc20vV2FzbU9wZXJhdGlvbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNt
L1dhc21PcGVyYXRpb25zLmgKaW5kZXggNThkMTU5NzVlODhkMjAzZGJjOTg0NGMxNGU1NDI0MDJh
NjE2Y2I5YS4uZTJjYjM1OTA0MTk2YjlmNDFiZTU2ZDNkN2VmYzY4OTIwNzlmM2MwMyAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbU9wZXJhdGlvbnMuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtT3BlcmF0aW9ucy5oCkBAIC04OCw2ICs4OCw4
IEBAIEpTQ19ERUNMQVJFX0pJVF9PUEVSQVRJT04ob3BlcmF0aW9uTWVtb3J5QXRvbWljTm90aWZ5
LCBpbnQzMl90LCAoSW5zdGFuY2UqLCB1bnNpCiBKU0NfREVDTEFSRV9KSVRfT1BFUkFUSU9OKG9w
ZXJhdGlvbldhc21NZW1vcnlJbml0LCBzaXplX3QsIChJbnN0YW5jZSosIHVuc2lnbmVkIGRhdGFT
ZWdtZW50SW5kZXgsIHVpbnQzMl90IGRzdEFkZHJlc3MsIHVpbnQzMl90IHNyY0FkZHJlc3MsIHVp
bnQzMl90IGxlbmd0aCkpOwogSlNDX0RFQ0xBUkVfSklUX09QRVJBVElPTihvcGVyYXRpb25XYXNt
RGF0YURyb3AsIHZvaWQsIChJbnN0YW5jZSosIHVuc2lnbmVkIGRhdGFTZWdtZW50SW5kZXgpKTsK
IAorSlNDX0RFQ0xBUkVfSklUX09QRVJBVElPTihvcGVyYXRpb25XYXNtUnR0Q2Fub24sIEVuY29k
ZWRKU1ZhbHVlLCAoSW5zdGFuY2UqLCB1aW50MzJfdCkpOworCiBKU0NfREVDTEFSRV9KSVRfT1BF
UkFUSU9OKG9wZXJhdGlvbldhc21UaHJvdywgdm9pZCosIChJbnN0YW5jZSosIENhbGxGcmFtZSos
IHVuc2lnbmVkIGV4Y2VwdGlvbkluZGV4LCB1aW50NjRfdCopKTsKIEpTQ19ERUNMQVJFX0pJVF9P
UEVSQVRJT04ob3BlcmF0aW9uV2FzbVJldGhyb3csIHZvaWQqLCAoSW5zdGFuY2UqLCBDYWxsRnJh
bWUqLCBFbmNvZGVkSlNWYWx1ZSB0aHJvd25WYWx1ZSkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtUGFyc2VyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d2FzbS9XYXNtUGFyc2VyLmgKaW5kZXggNDM4ZmYzZjcyZDliNjY0OGFhZjcwYTQ5YTBhYTdiMTUx
OGI2YjlhZS4uNmE2NDhmMTBiNDE5ZDBmODBkMjZiMWIzMmIxYjRlYjc5ZWVmYWE4ZSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbVBhcnNlci5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21QYXJzZXIuaApAQCAtMzQwLDYgKzM0MCwxNCBAQCBB
TFdBWVNfSU5MSU5FIGJvb2wgUGFyc2VyPFN1Y2Nlc3NUeXBlPjo6cGFyc2VWYWx1ZVR5cGUoY29u
c3QgTW9kdWxlSW5mb3JtYXRpb24mCiAgICAgICAgIGlmICghcGFyc2VIZWFwVHlwZShpbmZvLCBo
ZWFwVHlwZSkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIHR5cGVJbmRleCA9
IGhlYXBUeXBlIDwgMCA/IHN0YXRpY19jYXN0PFR5cGVJbmRleD4oaGVhcFR5cGUpIDogVHlwZUlu
Zm9ybWF0aW9uOjpnZXQoaW5mby50eXBlU2lnbmF0dXJlc1toZWFwVHlwZV0uZ2V0KCkpOworICAg
IH0gZWxzZSBpZiAoT3B0aW9uczo6dXNlV2ViQXNzZW1ibHlHQygpICYmIHR5cGVLaW5kID09IFR5
cGVLaW5kOjpSdHQpIHsKKyAgICAgICAgdHlwZUtpbmQgPSBUeXBlS2luZDo6UnR0OworICAgICAg
ICBpc051bGxhYmxlID0gZmFsc2U7CisKKyAgICAgICAgaW50MzJfdCBoZWFwVHlwZTsKKyAgICAg
ICAgaWYgKCFwYXJzZUhlYXBUeXBlKGluZm8sIGhlYXBUeXBlKSkKKyAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICAgICAgdHlwZUluZGV4ID0gc3RhdGljX2Nhc3Q8VHlwZUluZGV4PihoZWFw
VHlwZSk7CiAgICAgfQogCiAgICAgVHlwZSB0eXBlID0geyB0eXBlS2luZCwgc3RhdGljX2Nhc3Q8
TnVsbGFibGU+KGlzTnVsbGFibGUpLCB0eXBlSW5kZXggfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93YXNtL1dhc21TbG93UGF0aHMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3dhc20vV2FzbVNsb3dQYXRocy5jcHAKaW5kZXggY2I2OGI0OWNmNzI0OThhYjQyMWQ0N2Yz
NzdkZTg4MzYxNTQ2OGNjOS4uMWY5YzhkM2QxYTg2ODIwOGVmZDQxYzFhMDYyNDg1MDAxYjY1ZmEy
MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbVNsb3dQYXRocy5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbVNsb3dQYXRocy5jcHAKQEAg
LTMyMiw2ICszMjIsMTIgQEAgV0FTTV9TTE9XX1BBVEhfREVDTChyZWZfZnVuYykKICAgICBXQVNN
X1JFVFVSTihXYXNtOjpvcGVyYXRpb25XYXNtUmVmRnVuYyhpbnN0YW5jZSwgaW5zdHJ1Y3Rpb24u
bV9mdW5jdGlvbkluZGV4KSk7CiB9CiAKK1dBU01fU0xPV19QQVRIX0RFQ0wocnR0X2Nhbm9uKQor
eworICAgIGF1dG8gaW5zdHJ1Y3Rpb24gPSBwYy0+YXM8V2FzbVJ0dENhbm9uPigpOworICAgIFdB
U01fUkVUVVJOKFdhc206Om9wZXJhdGlvbldhc21SdHRDYW5vbihpbnN0YW5jZSwgaW5zdHJ1Y3Rp
b24ubV90eXBlSW5kZXgpKTsKK30KKwogV0FTTV9TTE9XX1BBVEhfREVDTCh0YWJsZV9nZXQpCiB7
CiAgICAgYXV0byBpbnN0cnVjdGlvbiA9IHBjLT5hczxXYXNtVGFibGVHZXQ+KCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtU2xvd1BhdGhzLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtU2xvd1BhdGhzLmgKaW5kZXggNDYwOWUzNmIwMzkyNGQx
MGVhMDI3NDU2MTBmMGYyZmU0ZTgzMWYyMi4uNjc4YzE3MjgzNzY4ZjQwYTRlZWZmNzNmZjRhNjgz
Y2ZmNjAxNjM1YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbVNs
b3dQYXRocy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21TbG93UGF0aHMu
aApAQCAtODksNiArODksNyBAQCBXQVNNX1NMT1dfUEFUSF9ISURERU5fREVDTChtZW1vcnlfYXRv
bWljX25vdGlmeSk7CiBXQVNNX1NMT1dfUEFUSF9ISURERU5fREVDTCh0aHJvdyk7CiBXQVNNX1NM
T1dfUEFUSF9ISURERU5fREVDTChyZXRocm93KTsKIFdBU01fU0xPV19QQVRIX0hJRERFTl9ERUNM
KHJldHJpZXZlX2FuZF9jbGVhcl9leGNlcHRpb24pOworV0FTTV9TTE9XX1BBVEhfSElEREVOX0RF
Q0wocnR0X2Nhbm9uKTsKIAogZXh0ZXJuICJDIiBTbG93UGF0aFJldHVyblR5cGUgc2xvd19wYXRo
X3dhc21fdGhyb3dfZXhjZXB0aW9uKENhbGxGcmFtZSosIGNvbnN0IFdhc21JbnN0cnVjdGlvbios
IFdhc206Okluc3RhbmNlKiBpbnN0YW5jZSwgV2FzbTo6RXhjZXB0aW9uVHlwZSkgUkVGRVJFTkNF
RF9GUk9NX0FTTSBXVEZfSU5URVJOQUw7CiBleHRlcm4gIkMiIFNsb3dQYXRoUmV0dXJuVHlwZSBz
bG93X3BhdGhfd2FzbV9wb3Bjb3VudChjb25zdCBXYXNtSW5zdHJ1Y3Rpb24qIHBjLCB1aW50MzJf
dCkgUkVGRVJFTkNFRF9GUk9NX0FTTSBXVEZfSU5URVJOQUw7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd2FzbS9nZW5lcmF0ZVdhc21PcHNIZWFkZXIucHkgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd2FzbS9nZW5lcmF0ZVdhc21PcHNIZWFkZXIucHkKaW5kZXggODZhNWNiZmU3
YzMzMzFiYTFjOTUzMTc0ZjZjNThhYmVlYjhjN2FkOS4uNDNhZjJjMDM0MDg1OTViM2YxMzkzMzg1
MTI3ZjQ1OGY0ZjEzNWRlMCAxMDA3NTUKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20v
Z2VuZXJhdGVXYXNtT3BzSGVhZGVyLnB5CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNt
L2dlbmVyYXRlV2FzbU9wc0hlYWRlci5weQpAQCAtMTE2LDcgKzExNiw3IEBAIGRlZiBhdG9taWNC
aW5hcnlSTVdNYWNyb2l6ZXIoKToKIAogCiBkZWZpbmVzID0gWyIjZGVmaW5lIEZPUl9FQUNIX1dB
U01fU1BFQ0lBTF9PUChtYWNybykiXQotZGVmaW5lcy5leHRlbmQoW29wIGZvciBvcCBpbiBvcGNv
ZGVNYWNyb2l6ZXIobGFtYmRhIG9wOiBub3QgKGlzVW5hcnkob3ApIG9yIGlzQmluYXJ5KG9wKSBv
ciBvcFsiY2F0ZWdvcnkiXSA9PSAiY29udHJvbCIgb3Igb3BbImNhdGVnb3J5Il0gPT0gIm1lbW9y
eSIgb3Igb3BbInZhbHVlIl0gPT0gMHhmYyBvciBpc0F0b21pYyhvcCkpKV0pCitkZWZpbmVzLmV4
dGVuZChbb3AgZm9yIG9wIGluIG9wY29kZU1hY3JvaXplcihsYW1iZGEgb3A6IG5vdCAoaXNVbmFy
eShvcCkgb3IgaXNCaW5hcnkob3ApIG9yIG9wWyJjYXRlZ29yeSJdID09ICJjb250cm9sIiBvciBv
cFsiY2F0ZWdvcnkiXSA9PSAibWVtb3J5IiBvciBvcFsidmFsdWUiXSA9PSAweGZjIG9yIG9wWyJj
YXRlZ29yeSJdID09ICJnYyIgb3IgaXNBdG9taWMob3ApKSldKQogZGVmaW5lcy5hcHBlbmQoIlxu
XG4jZGVmaW5lIEZPUl9FQUNIX1dBU01fQ09OVFJPTF9GTE9XX09QKG1hY3JvKSIpCiBkZWZpbmVz
LmV4dGVuZChbb3AgZm9yIG9wIGluIG9wY29kZU1hY3JvaXplcihsYW1iZGEgb3A6IG9wWyJjYXRl
Z29yeSJdID09ICJjb250cm9sIildKQogZGVmaW5lcy5hcHBlbmQoIlxuXG4jZGVmaW5lIEZPUl9F
QUNIX1dBU01fU0lNUExFX1VOQVJZX09QKG1hY3JvKSIpCkBAIC0xNDMsNiArMTQzLDggQEAgZGVm
aW5lcy5hcHBlbmQoIlxuXG4jZGVmaW5lIEZPUl9FQUNIX1dBU01fRVhUX0FUT01JQ19CSU5BUllf
Uk1XX09QKG1hY3JvKSIpCiBkZWZpbmVzLmV4dGVuZChbb3AgZm9yIG9wIGluIGF0b21pY0JpbmFy
eVJNV01hY3JvaXplcigpXSkKIGRlZmluZXMuYXBwZW5kKCJcblxuI2RlZmluZSBGT1JfRUFDSF9X
QVNNX0VYVF9BVE9NSUNfT1RIRVJfT1AobWFjcm8pIikKIGRlZmluZXMuZXh0ZW5kKFtvcCBmb3Ig
b3AgaW4gb3Bjb2RlTWFjcm9pemVyKGxhbWJkYSBvcDogaXNBdG9taWMob3ApIGFuZCAobm90IGlz
QXRvbWljTG9hZChvcCkgYW5kIG5vdCBpc0F0b21pY1N0b3JlKG9wKSBhbmQgbm90IGlzQXRvbWlj
QmluYXJ5Uk1XKG9wKSksIG9wY29kZUZpZWxkPSJleHRlbmRlZE9wIildKQorZGVmaW5lcy5hcHBl
bmQoIlxuXG4jZGVmaW5lIEZPUl9FQUNIX1dBU01fR0NfT1AobWFjcm8pIikKK2RlZmluZXMuZXh0
ZW5kKFtvcCBmb3Igb3AgaW4gb3Bjb2RlTWFjcm9pemVyKGxhbWJkYSBvcDogKG9wWyJjYXRlZ29y
eSJdID09ICJnYyIpLCBvcGNvZGVGaWVsZD0iZXh0ZW5kZWRPcCIpXSkKIGRlZmluZXMuYXBwZW5k
KCJcblxuIikKIAogZGVmaW5lcyA9ICIiLmpvaW4oZGVmaW5lcykKQEAgLTMyMSw2ICszMjMsNyBA
QCBpbmxpbmUgVHlwZUtpbmQgbGluZWFyaXplZFRvVHlwZShpbnQgaSkKICAgICBGT1JfRUFDSF9X
QVNNX01FTU9SWV9MT0FEX09QKG1hY3JvKSBcXAogICAgIEZPUl9FQUNIX1dBU01fTUVNT1JZX1NU
T1JFX09QKG1hY3JvKSBcXAogICAgIG1hY3JvKEV4dDEsICAweEZDLCBPb3BzLCAwKSBcXAorICAg
IG1hY3JvKEdDUHJlZml4LCAgMHhGQiwgT29wcywgMCkgXFwKICAgICBtYWNybyhFeHRBdG9taWMs
IDB4RkUsIE9vcHMsIDApCiAKICNkZWZpbmUgQ1JFQVRFX0VOVU1fVkFMVUUobmFtZSwgaWQsIC4u
LikgbmFtZSA9IGlkLApAQCAtMzU4LDYgKzM2MSwxMCBAQCBlbnVtIGNsYXNzIEV4dDFPcFR5cGUg
OiB1aW50OF90IHsKICAgICBGT1JfRUFDSF9XQVNNX1RSVU5DX1NBVFVSQVRFRF9PUChDUkVBVEVf
RU5VTV9WQUxVRSkKIH07CiAKK2VudW0gY2xhc3MgR0NPcFR5cGUgOiB1aW50OF90IHsKKyAgICBG
T1JfRUFDSF9XQVNNX0dDX09QKENSRUFURV9FTlVNX1ZBTFVFKQorfTsKKwogZW51bSBjbGFzcyBF
eHRBdG9taWNPcFR5cGUgOiB1aW50OF90IHsKICAgICBGT1JfRUFDSF9XQVNNX0VYVF9BVE9NSUNf
TE9BRF9PUChDUkVBVEVfRU5VTV9WQUxVRSkKICAgICBGT1JfRUFDSF9XQVNNX0VYVF9BVE9NSUNf
U1RPUkVfT1AoQ1JFQVRFX0VOVU1fVkFMVUUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd2FzbS9qcy9XYXNtVG9KUy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9q
cy9XYXNtVG9KUy5jcHAKaW5kZXggM2YwODA5MjJlMjQ1OTlmYzQwNjJiNGNkYjRiMmQyZmY0Mzg1
MGJhMS4uMDRmZGI1OGM2MjU5N2JiNjY2MjY0ZGE3OTUwYjkyMzNjNjMyODk0YiAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2FzbVRvSlMuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dhc21Ub0pTLmNwcApAQCAtMTA4LDYgKzEwOCw3IEBA
IEV4cGVjdGVkPE1hY3JvQXNzZW1ibGVyQ29kZVJlZjxXYXNtRW50cnlQdHJUYWc+LCBCaW5kaW5n
RmFpbHVyZT4gd2FzbVRvSlMoVk0mIHZtCiAgICAgICAgICAgICBjYXNlIFR5cGVLaW5kOjpTdHJ1
Y3Q6CiAgICAgICAgICAgICBjYXNlIFR5cGVLaW5kOjpSZWZOdWxsOgogICAgICAgICAgICAgY2Fz
ZSBUeXBlS2luZDo6UmVmOgorICAgICAgICAgICAgY2FzZSBUeXBlS2luZDo6UnR0OgogICAgICAg
ICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7IC8vIEhhbmRsZWQgYWJvdmUu
CiAgICAgICAgICAgICBjYXNlIFR5cGVLaW5kOjpFeHRlcm5yZWY6CiAgICAgICAgICAgICBjYXNl
IFR5cGVLaW5kOjpGdW5jcmVmOgpAQCAtMTgzLDYgKzE4NCw3IEBAIEV4cGVjdGVkPE1hY3JvQXNz
ZW1ibGVyQ29kZVJlZjxXYXNtRW50cnlQdHJUYWc+LCBCaW5kaW5nRmFpbHVyZT4gd2FzbVRvSlMo
Vk0mIHZtCiAgICAgICAgICAgICBjYXNlIFR5cGVLaW5kOjpTdHJ1Y3Q6CiAgICAgICAgICAgICBj
YXNlIFR5cGVLaW5kOjpSZWZOdWxsOgogICAgICAgICAgICAgY2FzZSBUeXBlS2luZDo6UmVmOgor
ICAgICAgICAgICAgY2FzZSBUeXBlS2luZDo6UnR0OgogICAgICAgICAgICAgICAgIFJFTEVBU0Vf
QVNTRVJUX05PVF9SRUFDSEVEKCk7IC8vIEhhbmRsZWQgYWJvdmUuCiAgICAgICAgICAgICBjYXNl
IFR5cGVLaW5kOjpFeHRlcm5yZWY6CiAgICAgICAgICAgICBjYXNlIFR5cGVLaW5kOjpGdW5jcmVm
OgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vd2FzbS5qc29uIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vd2FzbS5qc29uCmluZGV4IGM2ZWU2N2ZkMGUwYzBiNDVj
ZjgzMGI0ZDM3NGQxZTI2YWY0NTQ0NDMuLjFmYTg2ZjkwYWMwMGYyZTA2M2M4ZmNjNDI3NTNjMzkw
ZmQ0MWE1ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL3dhc20uanNv
bgorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS93YXNtLmpzb24KQEAgLTE3LDYgKzE3
LDcgQEAKICAgICAgICAgInJlZiI6ICAgICAgIHsgInR5cGUiOiAidmFyaW50NyIsICJ2YWx1ZSI6
ICAtMjEsICJiM3R5cGUiOiAiQjM6OkludDY0IiB9LAogICAgICAgICAiZnVuYyI6ICAgICAgeyAi
dHlwZSI6ICJ2YXJpbnQ3IiwgInZhbHVlIjogIC0zMiwgImIzdHlwZSI6ICJCMzo6Vm9pZCIgfSwK
ICAgICAgICAgInN0cnVjdCI6ICAgIHsgInR5cGUiOiAidmFyaW50NyIsICJ2YWx1ZSI6ICAtMzMs
ICJiM3R5cGUiOiAiQjM6OlZvaWQiIH0sCisgICAgICAgICJydHQiOiAgICAgICB7ICJ0eXBlIjog
InZhcmludDciLCAidmFsdWUiOiAgLTI0LCAiYjN0eXBlIjogIkIzOjpWb2lkIiB9LAogICAgICAg
ICAidm9pZCI6ICAgICAgeyAidHlwZSI6ICJ2YXJpbnQ3IiwgInZhbHVlIjogIC02NCwgImIzdHlw
ZSI6ICJCMzo6Vm9pZCIgfQogICAgIH0sCiAgICAgInZhbHVlX3R5cGUiOiBbImkzMiIsICJpNjQi
LCAiZjMyIiwgImY2NCIsICJleHRlcm5yZWYiLCAiZnVuY3JlZiJdLApAQCAtNzcsNiArNzgsNyBA
QAogICAgICAgICAicmVmLm51bGwiOiAgICAgICAgICAgIHsgImNhdGVnb3J5IjogInNwZWNpYWwi
LCAgICAidmFsdWUiOiAyMDgsICJyZXR1cm4iOiBbImV4dGVybnJlZiIsICJmdW5jcmVmIl0sICAg
ICAgICAgInBhcmFtZXRlciI6IFtdLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImltbWVk
aWF0ZSI6IFt7Im5hbWUiOiAicmVmdHlwZSIsICAgICAgICAidHlwZSI6ICJyZWZfdHlwZSJ9XSwg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9u
IjogImEgY29uc3RhbnQgbnVsbCByZWZlcmVuY2UiIH0sCiAgICAgICAgICJyZWYuaXNfbnVsbCI6
ICAgICAgICAgeyAiY2F0ZWdvcnkiOiAic3BlY2lhbCIsICAgICJ2YWx1ZSI6IDIwOSwgInJldHVy
biI6IFsiaTMyIl0sICAgICAgICAgICAgICAgICAgICAgICAgICAicGFyYW1ldGVyIjogWyJleHRl
cm5yZWYiXSwgICAgICAgICAgICAgICAgICAiaW1tZWRpYXRlIjogW10sICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiZGV0ZXJtaW5lIGlmIGEgcmVmZXJl
bmNlIGlzIG51bGwiIH0sCiAgICAgICAgICJyZWYuZnVuYyI6ICAgICAgICAgICAgeyAiY2F0ZWdv
cnkiOiAic3BlY2lhbCIsICAgICJ2YWx1ZSI6IDIxMCwgInJldHVybiI6IFsiZnVuY3JlZiJdLCAg
ICAgICAgICAgICAgICAgICAgICAicGFyYW1ldGVyIjogW10sICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiaW1tZWRpYXRlIjogW3sibmFtZSI6ICJmdW5jdGlvbl9pbmRleCIsICJ0eXBlIjog
InZhcnVpbnQzMiJ9XSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiZGVzY3JpcHRpb24iOiAicmV0dXJuIGEgcmVmZXJlbmNlIHRvIHRoZSBmdW5jdGlvbiBhdCB0
aGUgZ2l2ZW4gaW5kZXgiIH0sCisgICAgICAgICJydHQuY2Fub24iOiAgICAgICAgICAgeyAiY2F0
ZWdvcnkiOiAiZ2MiLCAgICAgICAgICJ2YWx1ZSI6IDI1MSwgInJldHVybiI6IFsicnR0Il0sICAg
ICAgICAgICAgICAgICAgICAgICAgICAicGFyYW1ldGVyIjogW10sICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiaW1tZWRpYXRlIjogW3sibmFtZSI6ICJ0eXBlX2luZGV4IiwgICAgICJ0eXBl
IjogInZhcnVpbnQzMiJ9XSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiZGVzY3JpcHRpb24iOiAicmV0dXJucyB0aGUgUlRUIG9mIHRoZSBzcGVjaWZpZWQgdHlw
ZSIsICJleHRlbmRlZE9wIjogNDggfSwKICAgICAgICAgImdldF9sb2NhbCI6ICAgICAgICAgICB7
ICJjYXRlZ29yeSI6ICJzcGVjaWFsIiwgICAgInZhbHVlIjogIDMyLCAicmV0dXJuIjogWyJhbnki
XSwgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJhbWV0ZXIiOiBbXSwgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJpbW1lZGlhdGUiOiBbeyJuYW1lIjogImxvY2FsX2luZGV4IiwgICAg
InR5cGUiOiAidmFydWludDMyIn1dLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJyZWFkIGEgbG9jYWwgdmFyaWFibGUgb3IgcGFyYW1l
dGVyIiB9LAogICAgICAgICAic2V0X2xvY2FsIjogICAgICAgICAgIHsgImNhdGVnb3J5IjogInNw
ZWNpYWwiLCAgICAidmFsdWUiOiAgMzMsICJyZXR1cm4iOiBbXSwgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInBhcmFtZXRlciI6IFsiYW55Il0sICAgICAgICAgICAgICAgICAgICAgICAg
ImltbWVkaWF0ZSI6IFt7Im5hbWUiOiAibG9jYWxfaW5kZXgiLCAgICAidHlwZSI6ICJ2YXJ1aW50
MzIifV0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlc2Ny
aXB0aW9uIjogIndyaXRlIGEgbG9jYWwgdmFyaWFibGUgb3IgcGFyYW1ldGVyIiB9LAogICAgICAg
ICAidGVlX2xvY2FsIjogICAgICAgICAgIHsgImNhdGVnb3J5IjogInNwZWNpYWwiLCAgICAidmFs
dWUiOiAgMzQsICJyZXR1cm4iOiBbImFueSJdLCAgICAgICAgICAgICAgICAgICAgICAgICAgInBh
cmFtZXRlciI6IFsiYW55Il0sICAgICAgICAgICAgICAgICAgICAgICAgImltbWVkaWF0ZSI6IFt7
Im5hbWUiOiAibG9jYWxfaW5kZXgiLCAgICAidHlwZSI6ICJ2YXJ1aW50MzIifV0sICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIndyaXRl
IGEgbG9jYWwgdmFyaWFibGUgb3IgcGFyYW1ldGVyIGFuZCByZXR1cm4gdGhlIHNhbWUgdmFsdWUi
IH0sCmRpZmYgLS1naXQgYS9KU1Rlc3RzL0NoYW5nZUxvZyBiL0pTVGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IGI1YzM5N2IyODQ5ZDVlM2NmZjEzNGNjOTdjYzJlM2NkNjk3MzFiZjkuLjRjNDg2MTFhZmM0
NmZjZTBkNmQ3YzBiZjEyNGE5ZTUwMGY1ODU2YjUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0pTVGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMjItMDQtMTkg
IERtaXRyeSBCZXpoZXRza292ICA8ZGJlemhldHNrb3ZAaWdhbGlhLmNvbT4KKworICAgICAgICBb
V0FTTS1HQ10gSW50cm9kdWNlIHJ0dCB0eXBlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM5NDkzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisgICAgICAgIAorICAgICAgICBBZGRlZCBiYXNpYyB0ZXN0cyBmb3IgbWFuaXB1
bGF0aW9uIG9mIHJ0dCB0eXBlcy4KKworICAgICAgICAqIHdhc20vZ2MvcnR0LmpzOiBBZGRlZC4K
KyAgICAgICAgKG1vZHVsZSk6CisgICAgICAgICh0ZXN0UnR0VHlwZXMpOgorICAgICAgICAodGVz
dFJ0dENhbm9uKToKKyAgICAgICAgKiB3YXNtL3dhc20uanNvbjoKKwogMjAyMi0wNC0xNCAgQ2Fp
dGxpbiBQb3R0ZXIgIDxjYWl0cEBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtKU0NdIFNoYWRvd1Jl
YWxtIGdsb2JhbCBvYmplY3QgaGFzIGEgbXV0YWJsZSBwcm90b3R5cGUKZGlmZiAtLWdpdCBhL0pT
VGVzdHMvd2FzbS9nYy9ydHQuanMgYi9KU1Rlc3RzL3dhc20vZ2MvcnR0LmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmRlNjE3ZjA4YTZlOTlkNzY4NDcxZjQ3MTRhM2RkNDc3ZDQyYTI0NTYKLS0tIC9kZXYvbnVsbAor
KysgYi9KU1Rlc3RzL3dhc20vZ2MvcnR0LmpzCkBAIC0wLDAgKzEsNTcgQEAKKy8vQCBydW5XZWJB
c3NlbWJseVN1aXRlKCItLXVzZVdlYkFzc2VtYmx5VHlwZWRGdW5jdGlvblJlZmVyZW5jZXM9dHJ1
ZSIsICItLXVzZVdlYkFzc2VtYmx5R0M9dHJ1ZSIpCisKK2ltcG9ydCAqIGFzIGFzc2VydCBmcm9t
ICIuLi9hc3NlcnQuanMiOworaW1wb3J0IHsgaW5zdGFudGlhdGUgfSBmcm9tICIuLi93YWJ0LXdy
YXBwZXIuanMiOworCitmdW5jdGlvbiBtb2R1bGUoYnl0ZXMsIHZhbGlkID0gdHJ1ZSkgeworICBs
ZXQgYnVmZmVyID0gbmV3IEFycmF5QnVmZmVyKGJ5dGVzLmxlbmd0aCk7CisgIGxldCB2aWV3ID0g
bmV3IFVpbnQ4QXJyYXkoYnVmZmVyKTsKKyAgZm9yIChsZXQgaSA9IDA7IGkgPCBieXRlcy5sZW5n
dGg7ICsraSkgeworICAgIHZpZXdbaV0gPSBieXRlcy5jaGFyQ29kZUF0KGkpOworICB9CisgIHJl
dHVybiBuZXcgV2ViQXNzZW1ibHkuTW9kdWxlKGJ1ZmZlcik7Cit9CisKK2Z1bmN0aW9uIHRlc3RS
dHRUeXBlcygpIHsKKyAgLyoKKyAgKG1vZHVsZQorICAgICAgKHR5cGUgJFBvaW50IChzdHJ1Y3Qg
KGZpZWxkIGkzMikgKGZpZWxkIGkzMikpKQorICAgICAgKGZ1bmMgKHBhcmFtIChydHQgJFBvaW50
KSkpCisgICkKKyAgKi8KKyAgbW9kdWxlKCJceDAwXHg2MVx4NzNceDZkXHgwMVx4MDBceDAwXHgw
MFx4MDFceDBjXHgwMlx4NWZceDAyXHg3Zlx4MDBceDdmXHgwMFx4NjBceDAxXHg2OFx4MDBceDAw
XHgwM1x4MDJceDAxXHgwMVx4MGFceDA1XHgwMVx4MDNceDAwXHgwMVx4MGIiKTsKK30KKworZnVu
Y3Rpb24gdGVzdFJ0dENhbm9uKCkgeworICB7CisgICAgLyoKKyAgICAobW9kdWxlCisgICAgICAo
dHlwZSAkUG9pbnQgKHN0cnVjdCAoZmllbGQgJHggaTMyKSAoZmllbGQgJHkgaTMyKSkpCisgICAg
ICAoZnVuYyAkZm9vIChwYXJhbSAocnR0ICRQb2ludCkpIChyZXN1bHQgaTMyKSAoaTMyLmNvbnN0
IDM3KSkKKyAgICAgIChmdW5jIChleHBvcnQgIm1haW4iKQorICAgICAgICAoZHJvcAorICAgICAg
ICAgIChjYWxsICRmb28gKHJ0dC5jYW5vbiAkUG9pbnQpKQorICAgICAgICApCisgICAgICApCisg
ICAgKQorICAgICovCisgICAgbGV0IGluc3RhbmNlID0gbmV3IFdlYkFzc2VtYmx5Lkluc3RhbmNl
KG1vZHVsZSgiXHgwMFx4NjFceDczXHg2ZFx4MDFceDAwXHgwMFx4MDBceDAxXHgxMFx4MDNceDVm
XHgwMlx4N2ZceDAwXHg3Zlx4MDBceDYwXHgwMVx4NjhceDAwXHgwMVx4N2ZceDYwXHgwMFx4MDBc
eDAzXHgwM1x4MDJceDAxXHgwMlx4MDdceDA4XHgwMVx4MDRceDZkXHg2MVx4NjlceDZlXHgwMFx4
MDFceDBhXHgwZlx4MDJceDA0XHgwMFx4NDFceDI1XHgwYlx4MDhceDAwXHhmYlx4MzBceDAwXHgx
MFx4MDBceDFhXHgwYiIpKTsKKyAgICBpbnN0YW5jZS5leHBvcnRzLm1haW4oKTsKKyAgfQorCisg
IHsKKyAgICAvKgorICAgIChtb2R1bGUKKyAgICAgICh0eXBlICRQb2ludCAoc3RydWN0IChmaWVs
ZCAkeCBpMzIpIChmaWVsZCAkeSBpMzIpKSkKKyAgICAgIChmdW5jIChleHBvcnQgIm1haW4iKQor
ICAgICAgICAodW5yZWFjaGFibGUpCisgICAgICAgIChydHQuY2Fub24gJFBvaW50KQorICAgICAg
KQorICAgICkKKyAgICAqLworICAgIG5ldyBXZWJBc3NlbWJseS5JbnN0YW5jZShtb2R1bGUoIlx4
MDBceDYxXHg3M1x4NmRceDAxXHgwMFx4MDBceDAwXHgwMVx4MGFceDAyXHg2MFx4MDBceDAwXHg1
Zlx4MDJceDdmXHgwMFx4N2ZceDAwXHgwM1x4MDJceDAxXHgwMFx4MDdceDA4XHgwMVx4MDRceDZk
XHg2MVx4NjlceDZlXHgwMFx4MDBceDBhXHgwOFx4MDFceDA2XHgwMFx4MDBceGZiXHgzMFx4MDFc
eDBiIikpOworICB9Cit9CisKK3Rlc3RSdHRUeXBlcygpOwordGVzdFJ0dENhbm9uKCk7CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3dhc20vd2FzbS5qc29uIGIvSlNUZXN0cy93YXNtL3dhc20uanNvbgpp
bmRleCA3NDI4MTJjZGViMDNkNWE1NDg0NWEwNzdhYmIxZDc0YjUyN2ZlNTM1Li42YTM2ODFkYjk5
MzFkNzJiNjI2NDFlNzllMjE1NTk4ZTA4YjYzOTRjIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3dhc20v
d2FzbS5qc29uCisrKyBiL0pTVGVzdHMvd2FzbS93YXNtLmpzb24KQEAgLTE3LDYgKzE3LDcgQEAK
ICAgICAgICAgInJlZiI6ICAgICAgIHsgInR5cGUiOiAidmFyaW50NyIsICJ2YWx1ZSI6ICAtMjEs
ICJiM3R5cGUiOiAiQjM6OkludDY0IiB9LAogICAgICAgICAiZnVuYyI6ICAgICAgeyAidHlwZSI6
ICJ2YXJpbnQ3IiwgInZhbHVlIjogIC0zMiwgImIzdHlwZSI6ICJCMzo6Vm9pZCIgfSwKICAgICAg
ICAgInN0cnVjdCI6ICAgIHsgInR5cGUiOiAidmFyaW50NyIsICJ2YWx1ZSI6ICAtMzMsICJiM3R5
cGUiOiAiQjM6OlZvaWQiIH0sCisgICAgICAgICJydHQiOiAgICAgICB7ICJ0eXBlIjogInZhcmlu
dDciLCAidmFsdWUiOiAgLTI0LCAiYjN0eXBlIjogIkIzOjpWb2lkIiB9LAogICAgICAgICAidm9p
ZCI6ICAgICAgeyAidHlwZSI6ICJ2YXJpbnQ3IiwgInZhbHVlIjogIC02NCwgImIzdHlwZSI6ICJC
Mzo6Vm9pZCIgfQogICAgIH0sCiAgICAgInZhbHVlX3R5cGUiOiBbImkzMiIsICJpNjQiLCAiZjMy
IiwgImY2NCIsICJleHRlcm5yZWYiLCAiZnVuY3JlZiJdLApAQCAtNzcsNiArNzgsNyBAQAogICAg
ICAgICAicmVmLm51bGwiOiAgICAgICAgICAgIHsgImNhdGVnb3J5IjogInNwZWNpYWwiLCAgICAi
dmFsdWUiOiAyMDgsICJyZXR1cm4iOiBbImV4dGVybnJlZiIsICJmdW5jcmVmIl0sICAgICAgICAg
InBhcmFtZXRlciI6IFtdLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImltbWVkaWF0ZSI6
IFt7Im5hbWUiOiAicmVmdHlwZSIsICAgICAgICAidHlwZSI6ICJyZWZfdHlwZSJ9XSwgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogImEg
Y29uc3RhbnQgbnVsbCByZWZlcmVuY2UiIH0sCiAgICAgICAgICJyZWYuaXNfbnVsbCI6ICAgICAg
ICAgeyAiY2F0ZWdvcnkiOiAic3BlY2lhbCIsICAgICJ2YWx1ZSI6IDIwOSwgInJldHVybiI6IFsi
aTMyIl0sICAgICAgICAgICAgICAgICAgICAgICAgICAicGFyYW1ldGVyIjogWyJleHRlcm5yZWYi
XSwgICAgICAgICAgICAgICAgICAiaW1tZWRpYXRlIjogW10sICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiZGV0ZXJtaW5lIGlmIGEgcmVmZXJlbmNlIGlz
IG51bGwiIH0sCiAgICAgICAgICJyZWYuZnVuYyI6ICAgICAgICAgICAgeyAiY2F0ZWdvcnkiOiAi
c3BlY2lhbCIsICAgICJ2YWx1ZSI6IDIxMCwgInJldHVybiI6IFsiZnVuY3JlZiJdLCAgICAgICAg
ICAgICAgICAgICAgICAicGFyYW1ldGVyIjogW10sICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiaW1tZWRpYXRlIjogW3sibmFtZSI6ICJmdW5jdGlvbl9pbmRleCIsICJ0eXBlIjogInZhcnVp
bnQzMiJ9XSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVz
Y3JpcHRpb24iOiAicmV0dXJuIGEgcmVmZXJlbmNlIHRvIHRoZSBmdW5jdGlvbiBhdCB0aGUgZ2l2
ZW4gaW5kZXgiIH0sCisgICAgICAgICJydHQuY2Fub24iOiAgICAgICAgICAgeyAiY2F0ZWdvcnki
OiAiZ2MiLCAgICAgICAgICJ2YWx1ZSI6IDI1MSwgInJldHVybiI6IFsicnR0Il0sICAgICAgICAg
ICAgICAgICAgICAgICAgICAicGFyYW1ldGVyIjogW10sICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiaW1tZWRpYXRlIjogW3sibmFtZSI6ICJ0eXBlX2luZGV4IiwgICAgICJ0eXBlIjogInZh
cnVpbnQzMiJ9XSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
ZGVzY3JpcHRpb24iOiAicmV0dXJucyB0aGUgUlRUIG9mIHRoZSBzcGVjaWZpZWQgdHlwZSIsICJl
eHRlbmRlZE9wIjogNDggfSwKICAgICAgICAgImdldF9sb2NhbCI6ICAgICAgICAgICB7ICJjYXRl
Z29yeSI6ICJzcGVjaWFsIiwgICAgInZhbHVlIjogIDMyLCAicmV0dXJuIjogWyJhbnkiXSwgICAg
ICAgICAgICAgICAgICAgICAgICAgICJwYXJhbWV0ZXIiOiBbXSwgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJpbW1lZGlhdGUiOiBbeyJuYW1lIjogImxvY2FsX2luZGV4IiwgICAgInR5cGUi
OiAidmFydWludDMyIn1dLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJkZXNjcmlwdGlvbiI6ICJyZWFkIGEgbG9jYWwgdmFyaWFibGUgb3IgcGFyYW1ldGVyIiB9
LAogICAgICAgICAic2V0X2xvY2FsIjogICAgICAgICAgIHsgImNhdGVnb3J5IjogInNwZWNpYWwi
LCAgICAidmFsdWUiOiAgMzMsICJyZXR1cm4iOiBbXSwgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInBhcmFtZXRlciI6IFsiYW55Il0sICAgICAgICAgICAgICAgICAgICAgICAgImltbWVk
aWF0ZSI6IFt7Im5hbWUiOiAibG9jYWxfaW5kZXgiLCAgICAidHlwZSI6ICJ2YXJ1aW50MzIifV0s
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9u
IjogIndyaXRlIGEgbG9jYWwgdmFyaWFibGUgb3IgcGFyYW1ldGVyIiB9LAogICAgICAgICAidGVl
X2xvY2FsIjogICAgICAgICAgIHsgImNhdGVnb3J5IjogInNwZWNpYWwiLCAgICAidmFsdWUiOiAg
MzQsICJyZXR1cm4iOiBbImFueSJdLCAgICAgICAgICAgICAgICAgICAgICAgICAgInBhcmFtZXRl
ciI6IFsiYW55Il0sICAgICAgICAgICAgICAgICAgICAgICAgImltbWVkaWF0ZSI6IFt7Im5hbWUi
OiAibG9jYWxfaW5kZXgiLCAgICAidHlwZSI6ICJ2YXJ1aW50MzIifV0sICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIndyaXRlIGEgbG9j
YWwgdmFyaWFibGUgb3IgcGFyYW1ldGVyIGFuZCByZXR1cm4gdGhlIHNhbWUgdmFsdWUiIH0sCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>