<?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>214917</bug_id>
          
          <creation_ts>2020-07-29 04:52:52 -0700</creation_ts>
          <short_desc>REGRESSION(r265018): Broke various ios-wk2 tests.</short_desc>
          <delta_ts>2020-07-29 05:22:42 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>214889</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>bfulgham</cc>
    
    <cc>katherine_cheney</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1675952</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-07-29 04:52:52 -0700</bug_when>
    <thetext>https://trac.webkit.org/changeset/265018 broke the build:
Broke various ios-wk2 tests.

This is an automatic bug report generated by webkitbot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1675954</commentid>
    <comment_count>1</comment_count>
      <attachid>405447</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-07-29 04:52:59 -0700</bug_when>
    <thetext>Created attachment 405447
REVERT of r265018

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the revert will be successful.  This process takes approximately 15 minutes.

If you would like to land the revert faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1675955</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-07-29 04:55:15 -0700</bug_when>
    <thetext>Committed r265037: &lt;https://trac.webkit.org/changeset/265037&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 405447.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1675956</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-07-29 04:56:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/66268110&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1675965</commentid>
    <comment_count>4</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2020-07-29 05:22:42 -0700</bug_when>
    <thetext>*** Bug 214916 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405447</attachid>
            <date>2020-07-29 04:52:59 -0700</date>
            <delta_ts>2020-07-29 04:55:15 -0700</delta_ts>
            <desc>REVERT of r265018</desc>
            <filename>bug-214917-20200729115258.patch</filename>
            <type>text/plain</type>
            <size>34578</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1MDM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDcyYjg1YzRjZmM3Zjg5YjNm
NjIzMzJkOGZlNjlmYmZiNTJiN2YwYmUuLjdmZGJmODNkNzU2ZmIxMjNmNmYxMDIzMWVlNjljOTQ4
OWIzYTcwYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjAtMDctMjkgIENvbW1pdCBR
dWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJl
dmVydGluZyByMjY1MDE4LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjE0OTE3CisKKyAgICAgICAgQnJva2UgdmFyaW91cyBpb3Mtd2syIHRlc3RzLgor
CisgICAgICAgIFJldmVydGVkIGNoYW5nZXNldDoKKworICAgICAgICAiTWlncmF0ZSBBcHAtQm91
bmQgRG9tYWlucyBjb2RlIGZyb20gV2ViS2l0IEFkZGl0aW9ucyIKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNDg4OQorICAgICAgICBodHRwczovL3Ry
YWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMjY1MDE4CisKIDIwMjAtMDctMjkgIFlvdWVubiBGYWJs
ZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFRlc3RXZWJLaXRBUEkuV2ViS2l0LlF1
b3RhRGVsZWdhdGUgZmxha3kgdGltZXMgb3V0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9uQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9uQ29jb2EubW0KaW5kZXggOTMxYjk1
NjNiZjVjNzI1MjkxNGRmMGQxNTI1ZjBmNjg5ZmNkNDQzYi4uNzhmZDJkMjM1ZThjNjhiNTFkMGUw
MmU4NWY4OTE3YzQyNTk1YTVhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Npb25Db2NvYS5tbQpAQCAtMjksNyArMjksNiBA
QAogI2ltcG9ydCAiQXV0aGVudGljYXRpb25DaGFsbGVuZ2VEaXNwb3NpdGlvbi5oIgogI2ltcG9y
dCAiQXV0aGVudGljYXRpb25NYW5hZ2VyLmgiCiAjaW1wb3J0ICJEYXRhUmVmZXJlbmNlLmgiCi0j
aW1wb3J0ICJEZWZhdWx0V2ViQnJvd3NlckNoZWNrcy5oIgogI2ltcG9ydCAiRG93bmxvYWQuaCIK
ICNpbXBvcnQgIkxlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlci5oIgogI2ltcG9ydCAiTG9nZ2lu
Zy5oIgpAQCAtNjQsNiArNjMsNyBAQAogI2ltcG9ydCA8V2ViS2l0QWRkaXRpb25zL05ldHdvcmtT
ZXNzaW9uQ29jb2FBZGRpdGlvbnMuaD4KICNlbHNlCiAjZGVmaW5lIE5FVFdPUktfU0VTU0lPTl9D
T0NPQV9BRERJVElPTlNfMQorI2RlZmluZSBORVRXT1JLX1NFU1NJT05fQ09DT0FfQURESVRJT05T
XzIgdHJ1ZQogI2VuZGlmCiAKICNpbXBvcnQgIkRldmljZU1hbmFnZW1lbnRTb2Z0TGluay5oIgpA
QCAtMTE1MiwyOSArMTE1Miw2IEBAIHZvaWQgU2Vzc2lvbldyYXBwZXI6OmluaXRpYWxpemUoTlNV
UkxTZXNzaW9uQ29uZmlndXJhdGlvbiAqY29uZmlndXJhdGlvbiwgTmV0d29yCiAgICAgc2Vzc2lv
biA9IFtOU1VSTFNlc3Npb24gc2Vzc2lvbldpdGhDb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb24g
ZGVsZWdhdGU6ZGVsZWdhdGUuZ2V0KCkgZGVsZWdhdGVRdWV1ZTpbTlNPcGVyYXRpb25RdWV1ZSBt
YWluUXVldWVdXTsKIH0KIAotI2lmIEhBVkUoU0VTU0lPTl9DTEVBTlVQKQotc3RhdGljIHZvaWQg
YWN0aXZhdGVTZXNzaW9uQ2xlYW51cChOZXR3b3JrU2Vzc2lvbkNvY29hJiBzZXNzaW9uLCBjb25z
dCBOZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycykKLXsKLSNpZiAo
UExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxNDAw
MDApIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
Pj0gMTEwMDAwKQotICAgIC8vIERvbid0IG92ZXJyaWRlIGFuIGV4cGxpY2l0bHkgc2V0IHZhbHVl
LgotICAgIGlmIChwYXJhbWV0ZXJzLnJlc291cmNlTG9hZFN0YXRpc3RpY3NQYXJhbWV0ZXJzLmlz
SXRwU3RhdGVFeHBsaWNpdGx5U2V0KQotICAgICAgICByZXR1cm47Ci0KLSNpZiAhUExBVEZPUk0o
SU9TX0ZBTUlMWV9TSU1VTEFUT1IpCi0gICAgYXV0byBwYXJlbnRBdWRpdFRva2VuID0gc2Vzc2lv
bi5uZXR3b3JrUHJvY2VzcygpLnBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPmdldEF1ZGl0VG9r
ZW4oKTsKLSAgICBSRUxFQVNFX0FTU0VSVChwYXJlbnRBdWRpdFRva2VuKTsgLy8gVGhpcyBzaG91
bGQgYmUgaW1wb3NzaWJsZS4KLQotICAgIGJvb2wgaXRwRW5hYmxlZCA9IGRvZXNQYXJlbnRQcm9j
ZXNzSGF2ZUlUUEVuYWJsZWQocGFyZW50QXVkaXRUb2tlbik7Ci0gICAgYm9vbCBwYXNzZWRFbmFi
bGVkU3RhdGUgPSBzZXNzaW9uLmlzUmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQoKTsKLQot
ICAgIGlmIChpdHBFbmFibGVkICE9IHBhc3NlZEVuYWJsZWRTdGF0ZSkKLSAgICAgICAgV1RGTG9n
QWx3YXlzKCJQYXNzZWQgSVRQIGVuYWJsZWQgc3RhdGUgKCVkKSBkb2VzIG5vdCBtYXRjaCBUQ0Mg
c2V0dGluZyAoJWQpXG4iLCBpdHBFbmFibGVkLCBwYXNzZWRFbmFibGVkU3RhdGUpOwotICAgIHNl
c3Npb24uc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQocGFzc2VkRW5hYmxlZFN0YXRl
KTsKLSNlbmRpZgotI2VuZGlmCi19Ci0jZW5kaWYKLQogTmV0d29ya1Nlc3Npb25Db2NvYTo6TmV0
d29ya1Nlc3Npb25Db2NvYShOZXR3b3JrUHJvY2VzcyYgbmV0d29ya1Byb2Nlc3MsIE5ldHdvcmtT
ZXNzaW9uQ3JlYXRpb25QYXJhbWV0ZXJzJiYgcGFyYW1ldGVycykKICAgICA6IE5ldHdvcmtTZXNz
aW9uKG5ldHdvcmtQcm9jZXNzLCBwYXJhbWV0ZXJzKQogICAgICwgbV9ib3VuZEludGVyZmFjZUlk
ZW50aWZpZXIocGFyYW1ldGVycy5ib3VuZEludGVyZmFjZUlkZW50aWZpZXIpCkBAIC0xMzE1LDcg
KzEyOTIsNyBAQCB2b2lkIE5ldHdvcmtTZXNzaW9uQ29jb2E6OmluaXRpYWxpemVFcGhlbWVyYWxT
dGF0ZWxlc3NTZXNzaW9uKE5hdmlnYXRpbmdUb0FwcEJvdQogU2Vzc2lvbldyYXBwZXImIE5ldHdv
cmtTZXNzaW9uQ29jb2E6OnNlc3Npb25XcmFwcGVyRm9yVGFzayhjb25zdCBXZWJDb3JlOjpSZXNv
dXJjZVJlcXVlc3QmIHJlcXVlc3QsIFdlYkNvcmU6OlN0b3JlZENyZWRlbnRpYWxzUG9saWN5IHN0
b3JlZENyZWRlbnRpYWxzUG9saWN5LCBPcHRpb25hbDxOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFp
bj4gaXNOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbikKIHsKICAgICBhdXRvIHNob3VsZEJlQ29u
c2lkZXJlZEFwcEJvdW5kID0gaXNOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbiA/ICppc05hdmln
YXRpbmdUb0FwcEJvdW5kRG9tYWluIDogTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW46OlllczsK
LSAgICBpZiAoaXNQYXJlbnRQcm9jZXNzQUZ1bGxXZWJCcm93c2VyKG5ldHdvcmtQcm9jZXNzKCku
cGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+Z2V0QXVkaXRUb2tlbigpKSkKKyAgICBpZiAoTkVU
V09SS19TRVNTSU9OX0NPQ09BX0FERElUSU9OU18yKQogICAgICAgICBzaG91bGRCZUNvbnNpZGVy
ZWRBcHBCb3VuZCA9IE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluOjpObzsKICNpZiBFTkFCTEUo
UkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKQogICAgIGlmIChhdXRvKiBzdG9yYWdlU2Vzc2lvbiA9
IG5ldHdvcmtTdG9yYWdlU2Vzc2lvbigpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9Db2NvYS9EZWZhdWx0V2ViQnJvd3NlckNoZWNrcy5oIGIvU291cmNlL1dlYktpdC9TaGFy
ZWQvQ29jb2EvRGVmYXVsdFdlYkJyb3dzZXJDaGVja3MuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggOTdjMmQ1MDk3OTE4NDczYTM1NjAzYmE3YmE0OGZkN2U0M2YxM2JlZi4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9Db2NvYS9EZWZhdWx0V2ViQnJvd3NlckNoZWNrcy5oCisrKyAvZGV2L251bGwKQEAgLTEs
NDYgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6
Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
Ci0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaW5jbHVkZSA8d3RmL3Nw
aS9kYXJ3aW4vWFBDU1BJLmg+Ci0jaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+Ci0KLW5h
bWVzcGFjZSBXZWJDb3JlIHsKLWNsYXNzIFJlZ2lzdHJhYmxlRG9tYWluOwotfQotCi1uYW1lc3Bh
Y2UgV2ViS2l0IHsKLQotYm9vbCBoYXNQcm9oaWJpdGVkVXNhZ2VTdHJpbmdzKCk7Ci1PcHRpb25h
bDxWZWN0b3I8V2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4+PiBnZXRBcHBCb3VuZERvbWFpbnNU
ZXN0aW5nKGNvbnN0IFN0cmluZyYpOwotYm9vbCBzaG91bGRCZVRyZWF0ZWRBc0Z1bGxCcm93c2Vy
KGNvbnN0IFN0cmluZyYgYnVuZGxlSUQpOwotdm9pZCBkZXRlcm1pbmVJVFBTdGF0ZSgpOwotYm9v
bCBkb2VzQXBwSGF2ZUlUUEVuYWJsZWQoKTsKLWJvb2wgZG9lc1BhcmVudFByb2Nlc3NIYXZlSVRQ
RW5hYmxlZChPcHRpb25hbDxhdWRpdF90b2tlbl90Pik7Ci1ib29sIGlzRnVsbFdlYkJyb3dzZXIo
KTsKLWJvb2wgaXNQYXJlbnRQcm9jZXNzQUZ1bGxXZWJCcm93c2VyKE9wdGlvbmFsPGF1ZGl0X3Rv
a2VuX3Q+KTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9Db2NvYS9EZWZhdWx0V2ViQnJvd3NlckNoZWNrcy5tbSBiL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL0NvY29hL0RlZmF1bHRXZWJCcm93c2VyQ2hlY2tzLm1tCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBmYWRiNDZiOTI3MThlOTAyNWZmNGJlMzBhMTQyOTY1NDI1YzIyZDUz
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL0NvY29hL0RlZmF1bHRXZWJCcm93c2VyQ2hlY2tzLm1tCisrKyAvZGV2L251
bGwKQEAgLTEsMjQ1ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0g
KiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW1wb3J0ICJjb25maWcuaCIKLSNp
bXBvcnQgIkRlZmF1bHRXZWJCcm93c2VyQ2hlY2tzLmgiCi0KLSNpbXBvcnQgIlRDQ1NQSS5oIgot
I2ltcG9ydCAiVmVyc2lvbkNoZWNrcy5oIgotI2ltcG9ydCA8V2ViQ29yZS9SZWdpc3RyYWJsZURv
bWFpbi5oPgotI2ltcG9ydCA8V2ViQ29yZS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuaD4KLSNp
bXBvcnQgPHd0Zi9IYXNoTWFwLmg+Ci0jaW1wb3J0IDx3dGYvUnVuTG9vcC5oPgotI2ltcG9ydCA8
d3RmL1NvZnRMaW5raW5nLmg+Ci0jaW1wb3J0IDx3dGYvY29jb2EvRW50aXRsZW1lbnRzLmg+Ci0j
aW1wb3J0IDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+Ci0KLVNPRlRfTElOS19QUklWQVRFX0ZSQU1F
V09SSyhUQ0MpCi1TT0ZUX0xJTksoVENDLCBUQ0NBY2Nlc3NQcmVmbGlnaHQsIFRDQ0FjY2Vzc1By
ZWZsaWdodFJlc3VsdCwgKENGU3RyaW5nUmVmIHNlcnZpY2UsIENGRGljdGlvbmFyeVJlZiBvcHRp
b25zKSwgKHNlcnZpY2UsIG9wdGlvbnMpKQotU09GVF9MSU5LKFRDQywgVENDQWNjZXNzUHJlZmxp
Z2h0V2l0aEF1ZGl0VG9rZW4sIFRDQ0FjY2Vzc1ByZWZsaWdodFJlc3VsdCwgKENGU3RyaW5nUmVm
IHNlcnZpY2UsIGF1ZGl0X3Rva2VuX3QgdG9rZW4sIENGRGljdGlvbmFyeVJlZiBvcHRpb25zKSwg
KHNlcnZpY2UsIHRva2VuLCBvcHRpb25zKSkKLVNPRlRfTElOS19DT05TVEFOVChUQ0MsIGtUQ0NT
ZXJ2aWNlV2ViS2l0SW50ZWxsaWdlbnRUcmFja2luZ1ByZXZlbnRpb24sIENGU3RyaW5nUmVmKQot
Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1zdGF0aWMgYm9vbCBpc0Z1bGxXZWJCcm93c2VyKGNv
bnN0IFN0cmluZyYpOwotCi1ib29sIHNob3VsZEJlVHJlYXRlZEFzRnVsbEJyb3dzZXIoY29uc3Qg
U3RyaW5nJiBidW5kbGVJRCkKLXsKLSAgICByZXR1cm4gYnVuZGxlSUQgPT0gImNvbS5hcHBsZS5X
ZWJLaXQuVGVzdFdlYktpdEFQSSJfcyB8fCBidW5kbGVJRCA9PSAiY29tLmFwcGxlLldlYktpdC5X
ZWJLaXRUZXN0UnVubmVyIl9zOwotfQotCi1PcHRpb25hbDxWZWN0b3I8V2ViQ29yZTo6UmVnaXN0
cmFibGVEb21haW4+PiBnZXRBcHBCb3VuZERvbWFpbnNUZXN0aW5nKGNvbnN0IFN0cmluZyYgYnVu
ZGxlSUQpCi17Ci0gICAgaWYgKGJ1bmRsZUlELmlzTnVsbCgpKQotICAgICAgICByZXR1cm4gV1RG
OjpudWxsb3B0OwotCi0gICAgc3RhdGljIGF1dG8gYXBwQm91bmREb21haW5MaXN0ID0gbWFrZU5l
dmVyRGVzdHJveWVkKEhhc2hNYXA8U3RyaW5nLCBWZWN0b3I8V2ViQ29yZTo6UmVnaXN0cmFibGVE
b21haW4+PiB7Ci0gICAgICAgIHsiaW5BcHBCcm93c2VyUHJpdmFjeVRlc3RJZGVudGlmaWVyIl9z
LCBWZWN0b3I8V2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4+IHsgV2ViQ29yZTo6UmVnaXN0cmFi
bGVEb21haW46OnVuY2hlY2tlZENyZWF0ZUZyb21SZWdpc3RyYWJsZURvbWFpblN0cmluZygiMTI3
LjAuMC4xIikgfX0sCi0gICAgfSk7Ci0KLSAgICBhdXRvIGFwcEJvdW5kRG9tYWluSXRlciA9IGFw
cEJvdW5kRG9tYWluTGlzdC0+ZmluZChidW5kbGVJRCk7Ci0gICAgaWYgKGFwcEJvdW5kRG9tYWlu
SXRlciAhPSBhcHBCb3VuZERvbWFpbkxpc3QtPmVuZCgpKQotICAgICAgICByZXR1cm4gYXBwQm91
bmREb21haW5JdGVyLT52YWx1ZTsKLQotICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Ci19Ci0KLSNp
ZiBBU1NFUlRfRU5BQkxFRAotc3RhdGljIGJvb2wgaXNJbldlYktpdENoaWxkUHJvY2VzcygpCi17
Ci0gICAgc3RhdGljIGJvb2wgaXNJblN1YlByb2Nlc3M7Ci0KLSAgICBzdGF0aWMgZGlzcGF0Y2hf
b25jZV90IG9uY2U7Ci0gICAgZGlzcGF0Y2hfb25jZSgmb25jZSwgXnsKLSAgICAgICAgTlNTdHJp
bmcgKmJ1bmRsZUlkZW50aWZpZXIgPSBbW05TQnVuZGxlIG1haW5CdW5kbGVdIGJ1bmRsZUlkZW50
aWZpZXJdOwotICAgICAgICBpc0luU3ViUHJvY2VzcyA9IFtidW5kbGVJZGVudGlmaWVyIGhhc1By
ZWZpeDpAImNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCJdCi0gICAgICAgICAgICB8fCBbYnVu
ZGxlSWRlbnRpZmllciBoYXNQcmVmaXg6QCJjb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtpbmciXQot
ICAgICAgICAgICAgfHwgW2J1bmRsZUlkZW50aWZpZXIgaGFzUHJlZml4OkAiY29tLmFwcGxlLldl
YktpdC5HUFUiXTsKLSAgICB9KTsKLQotICAgIHJldHVybiBpc0luU3ViUHJvY2VzczsKLX0KLSNl
bmRpZgotCi1lbnVtIGNsYXNzIElUUFN0YXRlIDogdWludDhfdCB7Ci0gICAgVW5pbml0aWFsaXpl
ZCwKLSAgICBJbml0aWFsaXppbmcsCi0gICAgRW5hYmxlZCwKLSAgICBEaXNhYmxlZAotfTsKLQot
c3RhdGljIHN0ZDo6YXRvbWljPElUUFN0YXRlPiBnX2N1cnJlbnRJVFBTdGF0ZSA9IElUUFN0YXRl
OjpVbmluaXRpYWxpemVkOwotCi1zdGF0aWMgYm9vbCBoYXNSZXF1ZXN0ZWRDcm9zc1dlYnNpdGVU
cmFja2luZ1Blcm1pc3Npb24oKQotewotICAgIEFTU0VSVCghaXNJbldlYktpdENoaWxkUHJvY2Vz
cygpKTsKLQotICAgIHN0YXRpYyBzdGQ6OmF0b21pYzxib29sPiBoYXNSZXF1ZXN0ZWRDcm9zc1dl
YnNpdGVUcmFja2luZ1Blcm1pc3Npb24gPSBbW05TQnVuZGxlIG1haW5CdW5kbGVdIG9iamVjdEZv
ckluZm9EaWN0aW9uYXJ5S2V5OkAiTlNDcm9zc1dlYnNpdGVUcmFja2luZ1VzYWdlRGVzY3JpcHRp
b24iXTsKLSAgICByZXR1cm4gaGFzUmVxdWVzdGVkQ3Jvc3NXZWJzaXRlVHJhY2tpbmdQZXJtaXNz
aW9uOwotfQotCi1zdGF0aWMgYm9vbCBkZXRlcm1pbmVJVFBTdGF0ZUludGVybmFsKGJvb2wgYXBw
V2FzTGlua2VkT25PckFmdGVyLCBjb25zdCBTdHJpbmcmIGJ1bmRsZUlkZW50aWZpZXIpCi17Ci0g
ICAgQVNTRVJUKCFSdW5Mb29wOjppc01haW4oKSk7Ci0gICAgQVNTRVJUKCFpc0luV2ViS2l0Q2hp
bGRQcm9jZXNzKCkpOwotCi0gICAgaWYgKCFhcHBXYXNMaW5rZWRPbk9yQWZ0ZXIpCi0gICAgICAg
IHJldHVybiBmYWxzZTsKLQotICAgIGlmICghaXNGdWxsV2ViQnJvd3NlcihidW5kbGVJZGVudGlm
aWVyKSAmJiAhaGFzUmVxdWVzdGVkQ3Jvc3NXZWJzaXRlVHJhY2tpbmdQZXJtaXNzaW9uKCkpCi0g
ICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgVENDQWNjZXNzUHJlZmxpZ2h0UmVzdWx0IHJlc3Vs
dCA9IGtUQ0NBY2Nlc3NQcmVmbGlnaHREZW5pZWQ7Ci0jaWYgKFBMQVRGT1JNKElPUykgJiYgX19J
UEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTQwMDAwKSB8fCAoUExBVEZPUk0oTUFD
KSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDExMDAwMCkKLSAgICByZXN1
bHQgPSBUQ0NBY2Nlc3NQcmVmbGlnaHQoZ2V0a1RDQ1NlcnZpY2VXZWJLaXRJbnRlbGxpZ2VudFRy
YWNraW5nUHJldmVudGlvbigpLCBudWxscHRyKTsKLSNlbmRpZgotICAgIHJldHVybiByZXN1bHQg
IT0ga1RDQ0FjY2Vzc1ByZWZsaWdodERlbmllZDsKLX0KLQotc3RhdGljIGRpc3BhdGNoX3F1ZXVl
X3QgZ19pdHBRdWV1ZTsKLQotdm9pZCBkZXRlcm1pbmVJVFBTdGF0ZSgpCi17Ci0gICAgQVNTRVJU
KFJ1bkxvb3A6OmlzTWFpbigpKTsKLSAgICBpZiAoZ19jdXJyZW50SVRQU3RhdGUgIT0gSVRQU3Rh
dGU6OlVuaW5pdGlhbGl6ZWQpCi0gICAgICAgIHJldHVybjsKLQotICAgIGdfY3VycmVudElUUFN0
YXRlID0gSVRQU3RhdGU6OkluaXRpYWxpemluZzsKLSAgICBib29sIGFwcFdhc0xpbmtlZE9uT3JB
ZnRlciA9IGxpbmtlZE9uT3JBZnRlcihTREtWZXJzaW9uOjpGaXJzdFdpdGhTZXNzaW9uQ2xlYW51
cEJ5RGVmYXVsdCwgQXNzdW1lU2FmYXJpSXNBbHdheXNMaW5rZWRPbkFmdGVyOjpZZXMpOwotCi0g
ICAgZ19pdHBRdWV1ZSA9IGRpc3BhdGNoX3F1ZXVlX2NyZWF0ZSgiY29tLmFwcGxlLldlYktpdC5p
dHBDaGVja1F1ZXVlIiwgTlVMTCk7Ci0KLSAgICBkaXNwYXRjaF9hc3luYyhnX2l0cFF1ZXVlLCBb
YXBwV2FzTGlua2VkT25PckFmdGVyLCBidW5kbGVJZGVudGlmaWVyID0gV2ViQ29yZTo6YXBwbGlj
YXRpb25CdW5kbGVJZGVudGlmaWVyKCkuaXNvbGF0ZWRDb3B5KCldIHsKLSAgICAgICAgZ19jdXJy
ZW50SVRQU3RhdGUgPSBkZXRlcm1pbmVJVFBTdGF0ZUludGVybmFsKGFwcFdhc0xpbmtlZE9uT3JB
ZnRlciwgYnVuZGxlSWRlbnRpZmllcikgPyBJVFBTdGF0ZTo6RW5hYmxlZCA6IElUUFN0YXRlOjpE
aXNhYmxlZDsKLQotICAgICAgICBkaXNwYXRjaF9hc3luYyhkaXNwYXRjaF9nZXRfbWFpbl9xdWV1
ZSgpLCBeewotICAgICAgICAgICAgZGlzcGF0Y2hfcmVsZWFzZShnX2l0cFF1ZXVlKTsKLSAgICAg
ICAgICAgIGdfaXRwUXVldWUgPSBudWxscHRyOwotICAgICAgICB9KTsKLSAgICB9KTsKLX0KLQot
Ym9vbCBkb2VzQXBwSGF2ZUlUUEVuYWJsZWQoKQotewotICAgIEFTU0VSVCghaXNJbldlYktpdENo
aWxkUHJvY2VzcygpKTsKLSAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwotICAgIGlmIChn
X2N1cnJlbnRJVFBTdGF0ZSA+IElUUFN0YXRlOjpJbml0aWFsaXppbmcpCi0gICAgICAgIHJldHVy
biBnX2N1cnJlbnRJVFBTdGF0ZSA9PSBJVFBTdGF0ZTo6RW5hYmxlZDsKLQotICAgIFJFTEVBU0Vf
QVNTRVJUKGdfaXRwUXVldWUpOwotCi0gICAgX19ibG9jayBib29sIGlzSVRQRW5hYmxlZDsKLSAg
ICBkaXNwYXRjaF9zeW5jKGdfaXRwUXVldWUsIF57Ci0gICAgICAgIGlzSVRQRW5hYmxlZCA9IGdf
Y3VycmVudElUUFN0YXRlID09IElUUFN0YXRlOjpFbmFibGVkOwotICAgIH0pOwotICAgIHJldHVy
biBpc0lUUEVuYWJsZWQ7Ci19Ci0KLWJvb2wgZG9lc1BhcmVudFByb2Nlc3NIYXZlSVRQRW5hYmxl
ZChPcHRpb25hbDxhdWRpdF90b2tlbl90PiBhdWRpdFRva2VuKQotewotICAgIEFTU0VSVChpc0lu
V2ViS2l0Q2hpbGRQcm9jZXNzKCkpOwotICAgIEFTU0VSVChSdW5Mb29wOjppc01haW4oKSk7Ci0K
LSAgICBpZiAoIWlzUGFyZW50UHJvY2Vzc0FGdWxsV2ViQnJvd3NlcihhdWRpdFRva2VuKSkKLSAg
ICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICBUQ0NBY2Nlc3NQcmVmbGlnaHRSZXN1bHQgcmVzdWx0
ID0ga1RDQ0FjY2Vzc1ByZWZsaWdodERlbmllZDsKLSNpZiAoUExBVEZPUk0oSU9TKSAmJiBfX0lQ
SE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxNDAwMDApIHx8IChQTEFURk9STShNQUMp
ICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTEwMDAwKQotICAgIGlmIChh
dWRpdFRva2VuKQotICAgICAgICByZXN1bHQgPSBUQ0NBY2Nlc3NQcmVmbGlnaHRXaXRoQXVkaXRU
b2tlbihnZXRrVENDU2VydmljZVdlYktpdEludGVsbGlnZW50VHJhY2tpbmdQcmV2ZW50aW9uKCks
IGF1ZGl0VG9rZW4udmFsdWUoKSwgbnVsbHB0cik7Ci0jZW5kaWYKLSAgICByZXR1cm4gcmVzdWx0
ICE9IGtUQ0NBY2Nlc3NQcmVmbGlnaHREZW5pZWQ7Ci19Ci0KLXN0YXRpYyBzdGQ6OmF0b21pYzxi
b29sPiBoYXNDaGVja2VkVXNhZ2VTdHJpbmdzID0gZmFsc2U7Ci1ib29sIGhhc1Byb2hpYml0ZWRV
c2FnZVN0cmluZ3MoKQotewotICAgIEFTU0VSVCghaXNJbldlYktpdENoaWxkUHJvY2VzcygpKTsK
LQotICAgIHN0YXRpYyBib29sIGhhc1Byb2hpYml0ZWRVc2FnZVN0cmluZ3MgPSBmYWxzZTsKLQot
ICAgIGlmIChoYXNDaGVja2VkVXNhZ2VTdHJpbmdzKQotICAgICAgICByZXR1cm4gaGFzUHJvaGli
aXRlZFVzYWdlU3RyaW5nczsKLQotICAgIE5TRGljdGlvbmFyeSAqaW5mb0RpY3Rpb25hcnkgPSBb
W05TQnVuZGxlIG1haW5CdW5kbGVdIGluZm9EaWN0aW9uYXJ5XTsKLSAgICBSRUxFQVNFX0FTU0VS
VChpbmZvRGljdGlvbmFyeSk7Ci0KLSAgICAvLyBTZWUgPHJkYXI6Ly9wcm9ibGVtLzU5OTc5NDY4
PiBmb3IgZGV0YWlscyBhYm91dCBob3cgdGhpcyBsaXN0IHdhcyBzZWxlY3RlZC4KLSAgICBhdXRv
IHByb2hpYml0ZWRTdHJpbmdzID0gQFsKLSAgICAgICAgQCJOU0hvbWVLaXRVc2FnZURlc2NyaXB0
aW9uIiwKLSAgICAgICAgQCJOU0JsdWV0b290aEFsd2F5c1VzYWdlRGVzY3JpcHRpb24iLAotICAg
ICAgICBAIk5TUGhvdG9MaWJyYXJ5VXNhZ2VEZXNjcmlwdGlvbiIsCi0gICAgICAgIEAiTlNIZWFs
dGhTaGFyZVVzYWdlRGVzY3JpcHRpb24iLAotICAgICAgICBAIk5TSGVhbHRoVXBkYXRlVXNhZ2VE
ZXNjcmlwdGlvbiIsCi0gICAgICAgIEAiTlNMb2NhdGlvbkFsd2F5c1VzYWdlRGVzY3JpcHRpb24i
LAotICAgICAgICBAIk5TTG9jYXRpb25BbHdheXNBbmRXaGVuSW5Vc2VVc2FnZURlc2NyaXB0aW9u
IgotICAgIF07Ci0KLSAgICBmb3IgKE5TU3RyaW5nICpwcm9oaWJpdGVkU3RyaW5nIDogcHJvaGli
aXRlZFN0cmluZ3MpIHsKLSAgICAgICAgaWYgKFtpbmZvRGljdGlvbmFyeSBvYmplY3RGb3JLZXk6
cHJvaGliaXRlZFN0cmluZ10pIHsKLSAgICAgICAgICAgIFN0cmluZyBtZXNzYWdlID0gW05TU3Ry
aW5nIHN0cmluZ1dpdGhGb3JtYXQ6QCJbSW4tQXBwIEJyb3dzZXIgUHJpdmFjeV0gJUAgdXNlZCBw
cm9oaWJpdGVkIHVzYWdlIHN0cmluZyAlQC4iLCBbW05TQnVuZGxlIG1haW5CdW5kbGVdIGJ1bmRs
ZUlkZW50aWZpZXJdLCBwcm9oaWJpdGVkU3RyaW5nXTsKLSAgICAgICAgICAgIFdURkxvZ0Fsd2F5
cyhtZXNzYWdlLnV0ZjgoKS5kYXRhKCkpOwotICAgICAgICAgICAgaGFzUHJvaGliaXRlZFVzYWdl
U3RyaW5ncyA9IHRydWU7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgIH0KLSAg
ICBoYXNDaGVja2VkVXNhZ2VTdHJpbmdzID0gdHJ1ZTsKLSAgICByZXR1cm4gaGFzUHJvaGliaXRl
ZFVzYWdlU3RyaW5nczsKLX0KLQotYm9vbCBpc1BhcmVudFByb2Nlc3NBRnVsbFdlYkJyb3dzZXIo
T3B0aW9uYWw8YXVkaXRfdG9rZW5fdD4gYXVkaXRUb2tlbikKLXsKLSAgICBBU1NFUlQoaXNJbldl
YktpdENoaWxkUHJvY2VzcygpKTsKLSAgICBSRUxFQVNFX0FTU0VSVChhdWRpdFRva2VuKTsKLQot
ICAgIHN0YXRpYyBib29sIGZ1bGxXZWJCcm93c2VyOwotCi0gICAgc3RhdGljIGRpc3BhdGNoX29u
Y2VfdCBvbmNlOwotICAgIGRpc3BhdGNoX29uY2UoJm9uY2UsIF57Ci0gICAgICAgIGZ1bGxXZWJC
cm93c2VyID0gV1RGOjpoYXNFbnRpdGxlbWVudChhdWRpdFRva2VuLnZhbHVlKCksICJjb20uYXBw
bGUuZGV2ZWxvcGVyLndlYi1icm93c2VyIik7Ci0gICAgfSk7Ci0KLSAgICByZXR1cm4gZnVsbFdl
YkJyb3dzZXIgfHwgc2hvdWxkQmVUcmVhdGVkQXNGdWxsQnJvd3NlcihXZWJDb3JlOjphcHBsaWNh
dGlvbkJ1bmRsZUlkZW50aWZpZXIoKSk7Ci19Ci0KLXN0YXRpYyBib29sIGlzRnVsbFdlYkJyb3dz
ZXIoY29uc3QgU3RyaW5nJiBidW5kbGVJZGVudGlmaWVyKQotewotICAgIEFTU0VSVCghaXNJbldl
YktpdENoaWxkUHJvY2VzcygpKTsKLQotICAgIHN0YXRpYyBib29sIGZ1bGxXZWJCcm93c2VyID0g
V1RGOjpwcm9jZXNzSGFzRW50aXRsZW1lbnQoImNvbS5hcHBsZS5kZXZlbG9wZXIud2ViLWJyb3dz
ZXIiKTsKLQotICAgIHJldHVybiBmdWxsV2ViQnJvd3NlciB8fCBzaG91bGRCZVRyZWF0ZWRBc0Z1
bGxCcm93c2VyKGJ1bmRsZUlkZW50aWZpZXIpOwotfQotCi1ib29sIGlzRnVsbFdlYkJyb3dzZXIo
KQotewotICAgIEFTU0VSVCghaXNJbldlYktpdENoaWxkUHJvY2VzcygpKTsKLSAgICBBU1NFUlQo
UnVuTG9vcDo6aXNNYWluKCkpOwotCi0gICAgcmV0dXJuIGlzRnVsbFdlYkJyb3dzZXIoV2ViQ29y
ZTo6YXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyKCkpOwotfQotCi19IC8vIG5hbWVzcGFjZSBX
ZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElIVFRQQ29v
a2llU3RvcmUuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSUhUVFBDb29raWVT
dG9yZS5jcHAKaW5kZXggYTZlMTU5MWU1NTA0OWQyOWU3NzYxNDE5YWEzMThkZjAwYTQ3Nzk4Yy4u
MjM0MDc2M2U3N2UxYTM1Y2YyYzI0M2IxNTU5NDA0NjU5YzliNTEzYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSUhUVFBDb29raWVTdG9yZS5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSUhUVFBDb29raWVTdG9yZS5jcHAKQEAgLTI2LDEw
ICsyNiw2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiQVBJSFRUUENvb2tpZVN0
b3JlLmgiCiAKLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotI2luY2x1ZGUgIkRlZmF1bHRXZWJC
cm93c2VyQ2hlY2tzLmgiCi0jZW5kaWYKLQogI2luY2x1ZGUgIldlYkNvb2tpZU1hbmFnZXJQcm94
eS5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3NQb29sLmgiCiAjaW5jbHVkZSAiV2Vic2l0ZURhdGFT
dG9yZS5oIgpAQCAtMzksNiArMzUsMTIgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0hUVFBDb29raWVB
Y2NlcHRQb2xpY3kuaD4KICNpbmNsdWRlIDxXZWJDb3JlL05ldHdvcmtTdG9yYWdlU2Vzc2lvbi5o
PgogCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbmNsdWRlIDxXZWJLaXRBZGRpdGlv
bnMvSFRUUENvb2tpZVN0b3JlQWRkaXRpb25zLmg+CisjZWxzZQorI2RlZmluZSBJTVBMRU1FTlRf
SU5fQVBQX0JST1dTRVJfUFJJVkFDWV9FTkFCTEVEIGZhbHNlCisjZW5kaWYKKwogdXNpbmcgbmFt
ZXNwYWNlIFdlYktpdDsKIAogbmFtZXNwYWNlIEFQSSB7CkBAIC02NCw3ICs2Niw3IEBAIHZvaWQg
SFRUUENvb2tpZVN0b3JlOjpmaWx0ZXJBcHBCb3VuZENvb2tpZXMoY29uc3QgVmVjdG9yPFdlYkNv
cmU6OkNvb2tpZT4mIGNvb2tpCiAgICAgVmVjdG9yPFdlYkNvcmU6OkNvb2tpZT4gYXBwQm91bmRD
b29raWVzOwogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgbV9vd25pbmdEYXRhU3RvcmUt
PmdldEFwcEJvdW5kRG9tYWlucyhbY29va2llcywgYXBwQm91bmRDb29raWVzID0gV1RGTW92ZShh
cHBCb3VuZENvb2tpZXMpLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhh
bmRsZXIpXSAoYXV0byYgZG9tYWlucykgbXV0YWJsZSB7Ci0gICAgICAgIGlmICghZG9tYWlucy5p
c0VtcHR5KCkgJiYgIWlzRnVsbFdlYkJyb3dzZXIoKSkgeworICAgICAgICBpZiAoIWRvbWFpbnMu
aXNFbXB0eSgpICYmIElNUExFTUVOVF9JTl9BUFBfQlJPV1NFUl9QUklWQUNZX0VOQUJMRUQpIHsK
ICAgICAgICAgICAgIGZvciAoYXV0byYgY29va2llIDogY29va2llcykgewogICAgICAgICAgICAg
ICAgIGlmIChkb21haW5zLmNvbnRhaW5zKFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluOjp1bmNo
ZWNrZWRDcmVhdGVGcm9tSG9zdChjb29raWUuZG9tYWluKSkpCiAgICAgICAgICAgICAgICAgICAg
IGFwcEJvdW5kQ29va2llcy5hcHBlbmQoY29va2llKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9BUElQYWdlQ29uZmlndXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQVBJUGFnZUNvbmZpZ3VyYXRpb24uY3BwCmluZGV4IDcwMjc4ZmJkZTAy
ZjczZGVkNDBkNzkzZDAxOGU0OGFlOWI1NWZiMzAuLjQzMWZjZWY3ODZjOWI1YzMwMDQ3NmEzMTJh
NDc4OGUwOTQwNDRlNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9B
UElQYWdlQ29uZmlndXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0FQSVBhZ2VDb25maWd1cmF0aW9uLmNwcApAQCAtMzUsNiArMzUsMTIgQEAKICNpbmNsdWRlICJX
ZWJVUkxTY2hlbWVIYW5kbGVyLmgiCiAjaW5jbHVkZSAiV2ViVXNlckNvbnRlbnRDb250cm9sbGVy
UHJveHkuaCIKIAorI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaW5jbHVkZSA8V2ViS2l0
QWRkaXRpb25zL1BhZ2VDb25maWd1cmF0aW9uQWRkaXRpb25zLmg+CisjZWxzZQorI2RlZmluZSBQ
QUdFX0NPTkZJR1VSQVRJT05fQURESVRJT05TCisjZW5kaWYKKwogI2lmIEVOQUJMRShBUFBMSUNB
VElPTl9NQU5JRkVTVCkKICNpbmNsdWRlICJBUElBcHBsaWNhdGlvbk1hbmlmZXN0LmgiCiAjZW5k
aWYKQEAgLTQ4LDYgKzU0LDcgQEAgUmVmPFBhZ2VDb25maWd1cmF0aW9uPiBQYWdlQ29uZmlndXJh
dGlvbjo6Y3JlYXRlKCkKIH0KIAogUGFnZUNvbmZpZ3VyYXRpb246OlBhZ2VDb25maWd1cmF0aW9u
KCkKK1BBR0VfQ09ORklHVVJBVElPTl9BRERJVElPTlMKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggNmU2MTA5NTNlMjM5MjRhZDY3ODA5MGJiMjcx
NzFlNDVjMTE5MjFjMC4uMmJhZDFkNmU1Mzg4NjEyNTQ3MmM2MGU5MTQ4NzFmODIxODVlNGViMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC0yODgsOCArMjg4
LDEzIEBACiAjaW5jbHVkZSAiTWVkaWFVc2FnZU1hbmFnZXIuaCIKICNlbmRpZgogCi0jaWYgUExB
VEZPUk0oQ09DT0EpCi0jaW5jbHVkZSAiRGVmYXVsdFdlYkJyb3dzZXJDaGVja3MuaCIKKyNpZiBV
U0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2luY2x1ZGUgPFdlYktpdEFkZGl0aW9ucy9XZWJQYWdl
UHJveHlBZGRpdGlvbnMuaD4KKyNlbHNlCitzdGF0aWMgYm9vbCBpc0Z1bGxXZWJCcm93c2VyKCkg
eyByZXR1cm4gdHJ1ZTsgfQorI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCitzdGF0aWMgYm9vbCBo
YXNQcm9oaWJpdGVkVXNhZ2VTdHJpbmdzKCkgeyByZXR1cm4gZmFsc2U7IH0KKyNlbmRpZgogI2Vu
ZGlmCiAKIC8vIFRoaXMgY29udHJvbHMgd2hhdCBzdHJhdGVneSB3ZSB1c2UgZm9yIG1vdXNlIHdo
ZWVsIGNvYWxlc2NpbmcuCkBAIC0xMzkxLDEwICsxMzk2LDggQEAgUmVmUHRyPEFQSTo6TmF2aWdh
dGlvbj4gV2ViUGFnZVByb3h5Ojpsb2FkRGF0YShjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmIGRh
dGEsIGMKIHsKICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKExvYWRpbmcsICJsb2FkRGF0YToi
KTsKIAotI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgaWYgKE1JTUVUeXBlID09ICJ0ZXh0
L2h0bWwiX3MgJiYgIWlzRnVsbFdlYkJyb3dzZXIoKSkKICAgICAgICAgbV9saW1pdHNOYXZpZ2F0
aW9uc1RvQXBwQm91bmREb21haW5zID0gdHJ1ZTsKLSNlbmRpZgogCiAgICAgaWYgKG1faXNDbG9z
ZWQpIHsKICAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChMb2FkaW5nLCAibG9hZERhdGE6
IHBhZ2UgaXMgY2xvc2VkIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQcm9jZXNzUG9vbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9v
bC5jcHAKaW5kZXggYjg4MDgwYjk2Nzg4MjdmZmRlY2JiZjdmMTBmY2JlNTEwYzE1Yjk1Zi4uOTI4
MWUxY2U0MzI5YjM0MmMzM2FkODkwN2UzODczMTZiZmRmMDIxZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcApAQCAtMTI2LDcgKzEyNiw2IEBACiAjZW5kaWYK
IAogI2lmIFBMQVRGT1JNKENPQ09BKQotI2luY2x1ZGUgIkRlZmF1bHRXZWJCcm93c2VyQ2hlY2tz
LmgiCiAjaW5jbHVkZSAiVmVyc2lvbkNoZWNrcy5oIgogI2luY2x1ZGUgPFdlYkNvcmUvR2FtZUNv
bnRyb2xsZXJHYW1lcGFkUHJvdmlkZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0hJREdhbWVwYWRQ
cm92aWRlci5oPgpAQCAtMTQyLDYgKzE0MSwxNSBAQAogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVk
TGVha0NvdW50ZXIuaD4KICNlbmRpZgogCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNp
bmNsdWRlIDxXZWJLaXRBZGRpdGlvbnMvV2ViUHJvY2Vzc1Bvb2xBZGRpdGlvbnMuaD4KKyNlbHNl
CisjZGVmaW5lIFdFQl9QUk9DRVNTX1BPT0xfQURESVRJT05TCisjZGVmaW5lIFdFQl9QUk9DRVNT
X1BPT0xfQURESVRJT05TXzIKKyNkZWZpbmUgV0VCX1BST0NFU1NfUE9PTF9BRERJVElPTlNfMwor
I2RlZmluZSBXRUJfUFJPQ0VTU19QT09MX0FERElUSU9OU180CisjZW5kaWYKKwogI2RlZmluZSBX
RUJQUk9DRVNTUE9PTF9SRUxFQVNFX0xPRyhjaGFubmVsLCBmbXQsIC4uLikgUkVMRUFTRV9MT0co
Y2hhbm5lbCwgIiVwIC0gV2ViUHJvY2Vzc1Bvb2w6OiIgZm10LCB0aGlzLCAjI19fVkFfQVJHU19f
KQogI2RlZmluZSBXRUJQUk9DRVNTUE9PTF9SRUxFQVNFX0xPR19FUlJPUihjaGFubmVsLCBmbXQs
IC4uLikgUkVMRUFTRV9MT0dfRVJST1IoY2hhbm5lbCwgIiVwIC0gV2ViUHJvY2Vzc1Bvb2w6OiIg
Zm10LCB0aGlzLCAjI19fVkFfQVJHU19fKQogI2RlZmluZSBXRUJQUk9DRVNTUE9PTF9SRUxFQVNF
X0xPR19JRl9BTExPV0VEKGNoYW5uZWwsIGZtdCwgLi4uKSBSRUxFQVNFX0xPR19JRihzZXNzaW9u
SUQuaXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKCksIGNoYW5uZWwsICIlcCAtIFdlYlByb2Nlc3NQ
b29sOjoiIGZtdCwgdGhpcywgIyNfX1ZBX0FSR1NfXykKQEAgLTI0Nyw2ICsyNTUsNyBAQCBXZWJQ
cm9jZXNzUG9vbDo6V2ViUHJvY2Vzc1Bvb2woQVBJOjpQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24m
IGNvbmZpZ3VyYXRpb24pCiAjZW5kaWYKICAgICAsIG1fYWx3YXlzUnVuc0F0QmFja2dyb3VuZFBy
aW9yaXR5KG1fY29uZmlndXJhdGlvbi0+YWx3YXlzUnVuc0F0QmFja2dyb3VuZFByaW9yaXR5KCkp
CiAgICAgLCBtX3Nob3VsZFRha2VVSUJhY2tncm91bmRBc3NlcnRpb24obV9jb25maWd1cmF0aW9u
LT5zaG91bGRUYWtlVUlCYWNrZ3JvdW5kQXNzZXJ0aW9uKCkpCisgICAgV0VCX1BST0NFU1NfUE9P
TF9BRERJVElPTlMKICAgICAsIG1fdXNlck9ic2VydmFibGVQYWdlQ291bnRlcihbdGhpc10oUmVm
Q291bnRlckV2ZW50KSB7IHVwZGF0ZVByb2Nlc3NTdXBwcmVzc2lvblN0YXRlKCk7IH0pCiAgICAg
LCBtX3Byb2Nlc3NTdXBwcmVzc2lvbkRpc2FibGVkRm9yUGFnZUNvdW50ZXIoW3RoaXNdKFJlZkNv
dW50ZXJFdmVudCkgeyB1cGRhdGVQcm9jZXNzU3VwcHJlc3Npb25TdGF0ZSgpOyB9KQogICAgICwg
bV9oaWRkZW5QYWdlVGhyb3R0bGluZ0F1dG9JbmNyZWFzZXNDb3VudGVyKFt0aGlzXShSZWZDb3Vu
dGVyRXZlbnQpIHsgbV9oaWRkZW5QYWdlVGhyb3R0bGluZ1RpbWVyLnN0YXJ0T25lU2hvdCgwX3Mp
OyB9KQpAQCAtMjYyLDkgKzI3MSw3IEBAIFdlYlByb2Nlc3NQb29sOjpXZWJQcm9jZXNzUG9vbChB
UEk6OlByb2Nlc3NQb29sQ29uZmlndXJhdGlvbiYgY29uZmlndXJhdGlvbikKICAgICAgICAgV1RG
OjpzZXRQcm9jZXNzUHJpdmlsZWdlcyhhbGxQcml2aWxlZ2VzKCkpOwogICAgICAgICBXZWJDb3Jl
OjpOZXR3b3JrU3RvcmFnZVNlc3Npb246OnBlcm1pdFByb2Nlc3NUb1VzZUNvb2tpZUFQSSh0cnVl
KTsKICAgICAgICAgUHJvY2Vzczo6c2V0SWRlbnRpZmllcihXZWJDb3JlOjpQcm9jZXNzSWRlbnRp
Zmllcjo6Z2VuZXJhdGUoKSk7Ci0jaWYgUExBVEZPUk0oQ09DT0EpCi0gICAgICAgIGRldGVybWlu
ZUlUUFN0YXRlKCk7Ci0jZW5kaWYKKyAgICAgICAgV0VCX1BST0NFU1NfUE9PTF9BRERJVElPTlNf
NAogICAgIH0pOwogCiAgICAgaWYgKCFtX3dlYnNpdGVEYXRhU3RvcmUgJiYgV2ViS2l0OjpXZWJz
aXRlRGF0YVN0b3JlOjpkZWZhdWx0RGF0YVN0b3JlRXhpc3RzKCkpCkBAIC02MDYsMjIgKzYxMyw3
IEBAIE5ldHdvcmtQcm9jZXNzUHJveHkmIFdlYlByb2Nlc3NQb29sOjplbnN1cmVOZXR3b3JrUHJv
Y2VzcyhXZWJzaXRlRGF0YVN0b3JlKiB3aXRoCiAgICAgV2ViQ29yZTo6UmVnaXN0cmFibGVEb21h
aW4gc3RhbmRhbG9uZUFwcGxpY2F0aW9uRG9tYWluOwogICAgIEhhc2hTZXQ8V2ViQ29yZTo6UmVn
aXN0cmFibGVEb21haW4+IGFwcEJvdW5kRG9tYWluczsKICAgICBXZWJDb3JlOjpSZWdpc3RyYWJs
ZURvbWFpbiBtYW51YWxQcmV2YWxlbnRSZXNvdXJjZTsKLQotI2lmIFBMQVRGT1JNKENPQ09BKQot
ICAgIG1fdGNjUHJlZmVyZW5jZUVuYWJsZWQgPSBkb2VzQXBwSGF2ZUlUUEVuYWJsZWQoKTsKLSAg
ICBpZiAod2l0aFdlYnNpdGVEYXRhU3RvcmUgJiYgIXdpdGhXZWJzaXRlRGF0YVN0b3JlLT5pc0l0
cFN0YXRlRXhwbGljaXRseVNldCgpKSB7Ci0gICAgICAgIGVuYWJsZVJlc291cmNlTG9hZFN0YXRp
c3RpY3MgPSBtX3RjY1ByZWZlcmVuY2VFbmFibGVkOwotICAgICAgICB3aXRoV2Vic2l0ZURhdGFT
dG9yZS0+c2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQoZW5hYmxlUmVzb3VyY2VMb2Fk
U3RhdGlzdGljcyk7Ci0gICAgfSBlbHNlIGlmIChtX3dlYnNpdGVEYXRhU3RvcmUgJiYgIW1fd2Vi
c2l0ZURhdGFTdG9yZS0+aXNJdHBTdGF0ZUV4cGxpY2l0bHlTZXQoKSkgewotICAgICAgICBlbmFi
bGVSZXNvdXJjZUxvYWRTdGF0aXN0aWNzID0gbV90Y2NQcmVmZXJlbmNlRW5hYmxlZDsKLSAgICAg
ICAgbV93ZWJzaXRlRGF0YVN0b3JlLT5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZChl
bmFibGVSZXNvdXJjZUxvYWRTdGF0aXN0aWNzKTsKLSAgICB9IGVsc2UgaWYgKFdlYnNpdGVEYXRh
U3RvcmU6OmRlZmF1bHREYXRhU3RvcmVFeGlzdHMoKSAmJiAhV2Vic2l0ZURhdGFTdG9yZTo6ZGVm
YXVsdERhdGFTdG9yZSgpLT5pc0l0cFN0YXRlRXhwbGljaXRseVNldCgpKSB7Ci0gICAgICAgIGVu
YWJsZVJlc291cmNlTG9hZFN0YXRpc3RpY3MgPSBtX3RjY1ByZWZlcmVuY2VFbmFibGVkOwotICAg
ICAgICBXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0RGF0YVN0b3JlKCktPnNldFJlc291cmNlTG9h
ZFN0YXRpc3RpY3NFbmFibGVkKGVuYWJsZVJlc291cmNlTG9hZFN0YXRpc3RpY3MpOwotICAgIH0g
ZWxzZQotICAgICAgICBlbmFibGVSZXNvdXJjZUxvYWRTdGF0aXN0aWNzID0gbV90Y2NQcmVmZXJl
bmNlRW5hYmxlZDsKLSNlbmRpZgotCisgICAgV0VCX1BST0NFU1NfUE9PTF9BRERJVElPTlNfMgog
ICAgIGlmICh3aXRoV2Vic2l0ZURhdGFTdG9yZSkgewogICAgICAgICBlbmFibGVSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzID0gd2l0aFdlYnNpdGVEYXRhU3RvcmUtPnJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NFbmFibGVkKCk7CiAjaWYgRU5BQkxFKFJFU09VUkNFX0xPQURfU1RBVElTVElDUykKQEAgLTg5
MiwxMiArODg0LDcgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6cmVzb2x2ZVBhdGhzRm9yU2FuZGJv
eEV4dGVuc2lvbnMoKQogCiBXZWJQcm9jZXNzUHJveHkmIFdlYlByb2Nlc3NQb29sOjpjcmVhdGVO
ZXdXZWJQcm9jZXNzKFdlYnNpdGVEYXRhU3RvcmUqIHdlYnNpdGVEYXRhU3RvcmUsIFdlYlByb2Nl
c3NQcm94eTo6SXNQcmV3YXJtZWQgaXNQcmV3YXJtZWQpCiB7Ci0jaWYgUExBVEZPUk0oQ09DT0Ep
Ci0gICAgbV90Y2NQcmVmZXJlbmNlRW5hYmxlZCA9IGRvZXNBcHBIYXZlSVRQRW5hYmxlZCgpOwot
ICAgIGlmICh3ZWJzaXRlRGF0YVN0b3JlICYmICF3ZWJzaXRlRGF0YVN0b3JlLT5pc0l0cFN0YXRl
RXhwbGljaXRseVNldCgpKQotICAgICAgICB3ZWJzaXRlRGF0YVN0b3JlLT5zZXRSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzRW5hYmxlZChtX3RjY1ByZWZlcmVuY2VFbmFibGVkKTsKLSNlbmRpZgotCisg
ICAgV0VCX1BST0NFU1NfUE9PTF9BRERJVElPTlNfMwogICAgIGF1dG8gcHJvY2Vzc1Byb3h5ID0g
V2ViUHJvY2Vzc1Byb3h5OjpjcmVhdGUoKnRoaXMsIHdlYnNpdGVEYXRhU3RvcmUsIGlzUHJld2Fy
bWVkKTsKICAgICBhdXRvJiBwcm9jZXNzID0gcHJvY2Vzc1Byb3h5LmdldCgpOwogICAgIGluaXRp
YWxpemVOZXdXZWJQcm9jZXNzKHByb2Nlc3MsIHdlYnNpdGVEYXRhU3RvcmUsIGlzUHJld2FybWVk
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL0NvY29h
L1dlYnNpdGVEYXRhU3RvcmVDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNp
dGVEYXRhL0NvY29hL1dlYnNpdGVEYXRhU3RvcmVDb2NvYS5tbQppbmRleCBmYjNiMjFmZDkzNjI4
YTM0YWUzZDRkZWNmZDRlNzk3Y2Y2NTMxZjY1Li42ODUxMzE1Y2FjNTA2OTA2OGE2NzY0MzY5NDY0
Mjk3YjYxZDEwMmMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRl
RGF0YS9Db2NvYS9XZWJzaXRlRGF0YVN0b3JlQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2Vic2l0ZURhdGEvQ29jb2EvV2Vic2l0ZURhdGFTdG9yZUNvY29hLm1tCkBAIC0y
Nyw3ICsyNyw2IEBACiAjaW1wb3J0ICJXZWJzaXRlRGF0YVN0b3JlLmgiCiAKICNpbXBvcnQgIkNv
b2tpZVN0b3JhZ2VVdGlsc0NGLmgiCi0jaW1wb3J0ICJEZWZhdWx0V2ViQnJvd3NlckNoZWNrcy5o
IgogI2ltcG9ydCAiU2FuZGJveFV0aWxpdGllcy5oIgogI2ltcG9ydCAiU3RvcmFnZU1hbmFnZXIu
aCIKICNpbXBvcnQgIldlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eS5oIgpAQCAtNDYsNiArNDUs
MTIgQEAKICNpbXBvcnQgPHd0Zi9VUkwuaD4KICNpbXBvcnQgPHd0Zi90ZXh0L1N0cmluZ0J1aWxk
ZXIuaD4KIAorI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaW1wb3J0IDxXZWJLaXRBZGRp
dGlvbnMvV2Vic2l0ZURhdGFTdG9yZUFkZGl0aW9ucy5oPgorI2Vsc2UKKyNkZWZpbmUgV0VCU0lU
RV9EQVRBX1NUT1JFX0FERElUSU9OUworI2VuZGlmCisKICNpZiBQTEFURk9STShJT1NfRkFNSUxZ
KQogI2ltcG9ydCA8VUlLaXQvVUlBcHBsaWNhdGlvbi5oPgogI2ltcG9ydCA8cGFsL2lvcy9NYW5h
Z2VkQ29uZmlndXJhdGlvblNvZnRMaW5rLmg+CkBAIC00NTgsMjMgKzQ2MywxMSBAQCB2b2lkIFdl
YnNpdGVEYXRhU3RvcmU6OmluaXRpYWxpemVBcHBCb3VuZERvbWFpbnMoRm9yY2VSZWluaXRpYWxp
emF0aW9uIGZvcmNlUmVpbgogICAgIH0pOwogfQogCi12b2lkIFdlYnNpdGVEYXRhU3RvcmU6OmFk
ZFRlc3REb21haW5zKCkgY29uc3QKLXsKLSAgICBpZiAoYXBwQm91bmREb21haW5zKCkuaXNFbXB0
eSgpKSB7Ci0gICAgICAgIGF1dG8gYnVuZGxlSUQgPSBXZWJDb3JlOjphcHBsaWNhdGlvbkJ1bmRs
ZUlkZW50aWZpZXIoKTsKLSAgICAgICAgYXV0byBhcHBCb3VuZERvbWFpbnNUZXN0aW5nID0gZ2V0
QXBwQm91bmREb21haW5zVGVzdGluZyhidW5kbGVJRCk7Ci0gICAgICAgIGlmIChhcHBCb3VuZERv
bWFpbnNUZXN0aW5nKSB7Ci0gICAgICAgICAgICBmb3IgKGF1dG8mIGRvbWFpbiA6ICphcHBCb3Vu
ZERvbWFpbnNUZXN0aW5nKQotICAgICAgICAgICAgICAgIGFwcEJvdW5kRG9tYWlucygpLmFkZChk
b21haW4pOwotICAgICAgICB9Ci0gICAgfQotfQotCiB2b2lkIFdlYnNpdGVEYXRhU3RvcmU6OmVu
c3VyZUFwcEJvdW5kRG9tYWlucyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0IEhhc2hTZXQ8
V2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4+JiwgY29uc3QgSGFzaFNldDxTdHJpbmc+Jik+JiYg
Y29tcGxldGlvbkhhbmRsZXIpIGNvbnN0CiB7CiAgICAgaWYgKGhhc0luaXRpYWxpemVkQXBwQm91
bmREb21haW5zKSB7CiAgICAgICAgIGlmIChtX2lzSW5BcHBCcm93c2VyUHJpdmFjeVRlc3RNb2Rl
RW5hYmxlZCkgewotICAgICAgICAgICAgYWRkVGVzdERvbWFpbnMoKTsKKyAgICAgICAgICAgIFdF
QlNJVEVfREFUQV9TVE9SRV9BRERJVElPTlM7CiAgICAgICAgIH0KICAgICAgICAgY29tcGxldGlv
bkhhbmRsZXIoYXBwQm91bmREb21haW5zKCksIGFwcEJvdW5kU2NoZW1lcygpKTsKICAgICAgICAg
cmV0dXJuOwpAQCAtNDg2LDcgKzQ3OSw3IEBAIHZvaWQgV2Vic2l0ZURhdGFTdG9yZTo6ZW5zdXJl
QXBwQm91bmREb21haW5zKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgSGFzaFNlCiAgICAg
ICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRjaChbdGhpcywgcHJvdGVjdGVkVGhpcyA9IFdURk1v
dmUocHJvdGVjdGVkVGhpcyksIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9u
SGFuZGxlcildICgpIG11dGFibGUgewogICAgICAgICAgICAgQVNTRVJUKGhhc0luaXRpYWxpemVk
QXBwQm91bmREb21haW5zKTsKICAgICAgICAgICAgIGlmIChtX2lzSW5BcHBCcm93c2VyUHJpdmFj
eVRlc3RNb2RlRW5hYmxlZCkgewotICAgICAgICAgICAgICAgIGFkZFRlc3REb21haW5zKCk7Cisg
ICAgICAgICAgICAgICAgV0VCU0lURV9EQVRBX1NUT1JFX0FERElUSU9OUzsKICAgICAgICAgICAg
IH0KICAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKGFwcEJvdW5kRG9tYWlucygpLCBhcHBC
b3VuZFNjaGVtZXMoKSk7CiAgICAgICAgIH0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5oIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5oCmluZGV4IDBhN2Y4M2QyYjdk
YzYzNTM4Yzg1Nzg4MDBlNjE3YWZmYzVkM2YxOWQuLmM2ZmJiYzQ5MjM5ZjY5NWE4YmEzNDFlZjY5
MzA1N2NlZjFlYWI2ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNp
dGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmgKQEAgLTMxMiw3ICszMTIsNiBAQCBwdWJsaWM6
CiBwcml2YXRlOgogICAgIGVudW0gY2xhc3MgRm9yY2VSZWluaXRpYWxpemF0aW9uIDogYm9vbCB7
IE5vLCBZZXMgfTsKICAgICB2b2lkIGluaXRpYWxpemVBcHBCb3VuZERvbWFpbnMoRm9yY2VSZWlu
aXRpYWxpemF0aW9uID0gRm9yY2VSZWluaXRpYWxpemF0aW9uOjpObyk7Ci0gICAgdm9pZCBhZGRU
ZXN0RG9tYWlucygpIGNvbnN0OwogCiAgICAgdm9pZCBmZXRjaERhdGFBbmRBcHBseShPcHRpb25T
ZXQ8V2Vic2l0ZURhdGFUeXBlPiwgT3B0aW9uU2V0PFdlYnNpdGVEYXRhRmV0Y2hPcHRpb24+LCBS
ZWZQdHI8V29ya1F1ZXVlPiYmLCBGdW5jdGlvbjx2b2lkKFZlY3RvcjxXZWJzaXRlRGF0YVJlY29y
ZD4pPiYmIGFwcGx5KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKaW5kZXggZmU4M2M0MjUyYmJjNjA3ZTE2ODIzYzhkNGNhYjFhNTBjMGUxMWQ3
Ny4uMzA0MjBkOTA2YzAyZDNjOGZlY2UwYWRjYWRiYmY5YjRhMDA4N2Q2YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC05NjMsNyArOTYz
LDYgQEAKIAkJNDlCQ0ExOTIyM0ExNzc2NjAwMjhBODM2IC8qIEFQSVJlc291cmNlTG9hZFN0YXRp
c3RpY3NGaXJzdFBhcnR5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0OUJDQTE5MTIzQTE3NzY2MDAyOEE4MzYgLyogQVBJUmVzb3VyY2VMb2FkU3RhdGlz
dGljc0ZpcnN0UGFydHkuaCAqLzsgfTsKIAkJNDlCQ0ExOTUyM0ExOENGRDAwMjhBODM2IC8qIF9X
S1Jlc291cmNlTG9hZFN0YXRpc3RpY3NGaXJzdFBhcnR5SW50ZXJuYWwuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QkNBMTkwMjNBMTc1NDkwMDI4QTgz
NiAvKiBfV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRmlyc3RQYXJ0eUludGVybmFsLmggKi87IH07
CiAJCTQ5QkNBMTk3MjNBMTkzMEQwMDI4QTgzNiAvKiBBUElSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
VGhpcmRQYXJ0eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDlCQ0ExOTYyM0ExOEY2MjAwMjhBODM2IC8qIEFQSVJlc291cmNlTG9hZFN0YXRpc3RpY3NU
aGlyZFBhcnR5LmggKi87IH07Ci0JCTQ5REFBMzhDMjRDQkExQTgwMDc5M0Q3NSAvKiBEZWZhdWx0
V2ViQnJvd3NlckNoZWNrcy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDQ5REFBMzhCMjRDQkExQTgwMDc5M0Q3NSAvKiBEZWZhdWx0V2ViQnJvd3NlckNo
ZWNrcy5tbSAqLzsgfTsKIAkJNDlFQ0E0MUMyM0ZDQTVEODAwMjMzNThEIC8qIFBvbGljeURlY2lz
aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OUVD
QTQxQjIzRkNBNDg2MDAyMzM1OEQgLyogUG9saWN5RGVjaXNpb24uaCAqLzsgfTsKIAkJNDlGQkVG
RkQyMzlCMDExRDAwQkQwMzJGIC8qIF9XS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NGaXJzdFBhcnR5
Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlGQkVG
RkMyMzlCMDExRDAwQkQwMzJGIC8qIF9XS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NGaXJzdFBhcnR5
Lm1tICovOyB9OwogCQk0OUZCRUZGRjIzOUIwMTJGMDBCRDAzMkYgLyogX1dLUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc1RoaXJkUGFydHkubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0OUZCRUZGRTIzOUIwMTJGMDBCRDAzMkYgLyogX1dLUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc1RoaXJkUGFydHkubW0gKi87IH07CkBAIC0zNTg3LDggKzM1ODYsNiBAQAogCQk0
OUJDQTE5MDIzQTE3NTQ5MDAyOEE4MzYgLyogX1dLUmVzb3VyY2VMb2FkU3RhdGlzdGljc0ZpcnN0
UGFydHlJbnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBfV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
Rmlyc3RQYXJ0eUludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ5QkNB
MTkxMjNBMTc3NjYwMDI4QTgzNiAvKiBBUElSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRmlyc3RQYXJ0
eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBBUElSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRmlyc3RQYXJ0eS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0OUJDQTE5NjIzQTE4RjYyMDAyOEE4MzYg
LyogQVBJUmVzb3VyY2VMb2FkU3RhdGlzdGljc1RoaXJkUGFydHkuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
QVBJUmVzb3VyY2VMb2FkU3RhdGlzdGljc1RoaXJkUGFydHkuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKLQkJNDlEQUEzOEIyNENCQTFBODAwNzkzRDc1IC8qIERlZmF1bHRXZWJCcm93c2Vy
Q2hlY2tzLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRGVmYXVsdFdlYkJyb3dzZXJDaGVja3Mu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQ5REFBMzhEMjRDQkExQkQwMDc5M0Q3
NSAvKiBEZWZhdWx0V2ViQnJvd3NlckNoZWNrcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEZWZhdWx0V2Vi
QnJvd3NlckNoZWNrcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0OUVDQTQxQjIz
RkNBNDg2MDAyMzM1OEQgLyogUG9saWN5RGVjaXNpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUG9saWN5
RGVjaXNpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDlGQkVGRkEyMzlBRDk3
ODAwQkQwMzJGIC8qIF9XS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NUaGlyZFBhcnR5LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IF9XS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NUaGlyZFBhcnR5Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ5RkJFRkZCMjM5QURCMTgwMEJEMDMyRiAvKiBfV0tSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzRmlyc3RQYXJ0eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBfV0tSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzRmlyc3RQYXJ0eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtNzQ4Niw4ICs3NDgzLDYgQEAKIAkJCQkxQzczOUU4NTIzNDdCQ0Y2MDBDNjIxRUMgLyogQ29y
ZVRleHRIZWxwZXJzLm1tICovLAogCQkJCUM1NUY5MTZDMUM1OTVFNDQwMDI5RTkyRCAvKiBEYXRh
RGV0ZWN0aW9uUmVzdWx0LmggKi8sCiAJCQkJQzU1RjkxNkQxQzU5NUU0NDAwMjlFOTJEIC8qIERh
dGFEZXRlY3Rpb25SZXN1bHQubW0gKi8sCi0JCQkJNDlEQUEzOEQyNENCQTFCRDAwNzkzRDc1IC8q
IERlZmF1bHRXZWJCcm93c2VyQ2hlY2tzLmggKi8sCi0JCQkJNDlEQUEzOEIyNENCQTFBODAwNzkz
RDc1IC8qIERlZmF1bHRXZWJCcm93c2VyQ2hlY2tzLm1tICovLAogCQkJCUNFNTUwRTEzMjI4Mzc0
NDQwMEQyODc5MSAvKiBJbnNlcnRUZXh0T3B0aW9ucy5jcHAgKi8sCiAJCQkJQ0U1NTBFMTIyMjgz
NzNDODAwRDI4NzkxIC8qIEluc2VydFRleHRPcHRpb25zLmggKi8sCiAJCQkJQzE2NjNFNUEyNEFF
QTc0MjAwQzZBM0IyIC8qIExhdW5jaFNlcnZpY2VzRGF0YWJhc2VYUENDb25zdGFudHMuaCAqLywK
QEAgLTEyNzM1LDcgKzEyNzMwLDYgQEAKIAkJCQkyRDkyQTc3RDIxMkI2QTcxMDBGNDkzRkQgLyog
Q29ubmVjdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDkyQTc3RTIxMkI2QTcxMDBGNDkz
RkQgLyogRGF0YVJlZmVyZW5jZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDkyQTc3RjIxMkI2
QTcxMDBGNDkzRkQgLyogRGVjb2Rlci5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk0OURBQTM4QzI0
Q0JBMUE4MDA3OTNENzUgLyogRGVmYXVsdFdlYkJyb3dzZXJDaGVja3MubW0gaW4gU291cmNlcyAq
LywKIAkJCQkyRDBDNTZGRTIyOUYxREVBMDBCRDMzRTcgLyogRGV2aWNlTWFuYWdlbWVudFNvZnRM
aW5rLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFCN0Q2MTkxMjg4QjlEOTAwQ0ZEMDhDIC8qIERv
d25sb2FkUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE2NDIy
OTkxMkREMDI5MjAwQ0FBRTJDIC8qIERyYXdpbmdBcmVhTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBT
b3VyY2VzICovLApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9n
CmluZGV4IDA2ZmQ5NzJmNmNkMzM1NzA2MDJmMzFmMmIxYTM2YzRmMWM2ODI0NmYuLmZkMDNhYTdk
MzdhNmI3ZWY1Y2Q2MjU4OTg2Zjg3ZTE3ODliMzcxNjUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5n
ZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAyMC0wNy0yOSAg
Q29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CisKKyAgICAgICAgVW5yZXZp
ZXdlZCwgcmV2ZXJ0aW5nIHIyNjUwMTguCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMTQ5MTcKKworICAgICAgICBCcm9rZSB2YXJpb3VzIGlvcy13azIg
dGVzdHMuCisKKyAgICAgICAgUmV2ZXJ0ZWQgY2hhbmdlc2V0OgorCisgICAgICAgICJNaWdyYXRl
IEFwcC1Cb3VuZCBEb21haW5zIGNvZGUgZnJvbSBXZWJLaXQgQWRkaXRpb25zIgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0ODg5CisgICAgICAgIGh0
dHBzOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8yNjUwMTgKKwogMjAyMC0wNy0yOSAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgVGVzdFdlYktpdEFQSS5X
ZWJLaXQuUXVvdGFEZWxlZ2F0ZSBmbGFreSB0aW1lcyBvdXQKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvSW5BcHBCcm93c2VyUHJpdmFjeS5tbSBiL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvSW5BcHBCcm93c2VyUHJpdmFjeS5t
bQppbmRleCAzNjlmZmU1MjMxOGUwNzRiMGY0NGYxY2QwNjM2ZTM4OTk2ZDMxNzM0Li5lNzUwMDli
NWVhNDhiNTRlOGE2NjEzM2QyNThjODYzMGZlNTQ5Y2Q3IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0luQXBwQnJvd3NlclByaXZhY3kubW0KKysrIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9JbkFwcEJyb3dzZXJQcml2YWN5
Lm1tCkBAIC00NSw2ICs0NSw5IEBACiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogCisjaWYg
VVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbXBvcnQgPFdlYktpdEFkZGl0aW9ucy9JbkFwcEJy
b3dzZXJQcml2YWN5VGVzdEFkZGl0aW9ucy5oPgorCiBzdGF0aWMgYm9vbCBpc0RvbmU7CiAKIEBp
bnRlcmZhY2UgQXBwQm91bmREb21haW5EZWxlZ2F0ZSA6IE5TT2JqZWN0IDxXS05hdmlnYXRpb25E
ZWxlZ2F0ZT4KQEAgLTEyOCwxNCArMTMxLDE0IEBAIEBlbmQKIHN0YXRpYyB2b2lkIGNsZWFuVXBJ
bkFwcEJyb3dzZXJQcml2YWN5VGVzdFNldHRpbmdzKCkKIHsKICAgICBXZWJDb3JlOjpjbGVhckFw
cGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllclRlc3RpbmdPdmVycmlkZSgpOwotICAgIFdlYkNvcmU6
OnNldEFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcigiY29tLmFwcGxlLldlYktpdC5UZXN0V2Vi
S2l0QVBJIik7CisgICAgSU5fQVBQX0JST1dTRVJfUFJJVkFDWV9BRERJVElPTlNfMgogfQogCiBz
dGF0aWMgdm9pZCBpbml0aWFsaXplSW5BcHBCcm93c2VyUHJpdmFjeVRlc3RTZXR0aW5ncygpCiB7
CiAgICAgV1RGOjppbml0aWFsaXplTWFpblRocmVhZCgpOwogICAgIFdlYkNvcmU6OmNsZWFyQXBw
bGljYXRpb25CdW5kbGVJZGVudGlmaWVyVGVzdGluZ092ZXJyaWRlKCk7Ci0gICAgV2ViQ29yZTo6
c2V0QXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyKCJpbkFwcEJyb3dzZXJQcml2YWN5VGVzdElk
ZW50aWZpZXIiKTsKKyAgICBJTl9BUFBfQlJPV1NFUl9QUklWQUNZX0FERElUSU9OUwogfQogCiBU
RVNUKEluQXBwQnJvd3NlclByaXZhY3ksIE5vbkFwcEJvdW5kRG9tYWluRmFpbGVkVXNlclNjcmlw
dEF0U3RhcnQpCkBAIC0xMzM1LDQgKzEzMzgsNiBAQCBURVNUKEluQXBwQnJvd3NlclByaXZhY3ks
IEFwcEJvdW5kQ3VzdG9tU2NoZW1lKQogICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmaXNE
b25lKTsKIH0KIAorI2VuZGlmIC8vIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisKICNlbmRpZiAv
LyBQTEFURk9STShJT1NfRkFNSUxZKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGNmMzY0Zjc1NmYyYzRhNDg5ZmIzODJlY2Y4
ZGNhMmI0OWJlNDYzMGMuLmE2YzVhYmRiYTgyNjFkMDY3OTU2N2Q1N2YyYjk1MDA1YTBkZTZhOWUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAyMC0wNy0yOSAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0
LXF1ZXVlQHdlYmtpdC5vcmc+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyNjUw
MTguCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQ5
MTcKKworICAgICAgICBCcm9rZSB2YXJpb3VzIGlvcy13azIgdGVzdHMuCisKKyAgICAgICAgUmV2
ZXJ0ZWQgY2hhbmdlc2V0OgorCisgICAgICAgICJNaWdyYXRlIEFwcC1Cb3VuZCBEb21haW5zIGNv
ZGUgZnJvbSBXZWJLaXQgQWRkaXRpb25zIgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjE0ODg5CisgICAgICAgIGh0dHBzOi8vdHJhYy53ZWJraXQub3Jn
L2NoYW5nZXNldC8yNjUwMTgKKwogMjAyMC0wNy0yOCAgUnlhbiBIYWRkYWQgIDxyeWFuaGFkZGFk
QGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMjY0OTMwKTogWyBpT1MgZGVidWcg
d2syIF0gd2VicnRjL3ZpZGVvLmh0bWwgaXMgYSBjb25zdGFudCBmYWlsdXJlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggODk4OTQzOTY2MTdh
OGQ5MWM0YjBiNDYxMmZjNWMxMWI1MGEyMWM2Zi4uZTM1ZTFmNWY5ZmFhZGI5OGIwM2ZiZmIxNGVh
MzFlMGNkMDU1MzQ2ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9U
ZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvVGVzdEV4
cGVjdGF0aW9ucwpAQCAtMTc5Nyw1ICsxNzk3LDMgQEAgd2Via2l0Lm9yZy9iLzIxNDQ2OCBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVzL2NoLXVuaXQtMDAyLmgK
IHdlYmtpdC5vcmcvYi8yMTQ1MTIgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Z2VvbWV0cnkvRE9NTWF0cml4MkRJbml0LXZhbGlkYXRlLWZpeHVwLmh0bWwgWyBQYXNzIEZhaWx1
cmUgXQogCiB3ZWJraXQub3JnL2IvMjE0NTk4IGZhc3Qvc2Nyb2xsaW5nL2lvcy9hdXRvc2Nyb2xs
LWlucHV0LXdoZW4tdmVyeS16b29tZWQuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCi0KLWh0dHAvdGVz
dHMvaW4tYXBwLWJyb3dzZXItcHJpdmFjeS8gWyBQYXNzIF0K
</data>

          </attachment>
      

    </bug>

</bugzilla>