<?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>227871</bug_id>
          
          <creation_ts>2021-07-12 05:27:46 -0700</creation_ts>
          <short_desc>[iOS] Dynamically set capture attribution</short_desc>
          <delta_ts>2021-07-29 11:44:16 -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>WebRTC</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=228596</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Carlson">eric.carlson</reporter>
          <assigned_to name="Eric Carlson">eric.carlson</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1776294</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-07-12 05:27:46 -0700</bug_when>
    <thetext>Dynamically set capture attribution</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776295</commentid>
    <comment_count>1</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-07-12 05:28:55 -0700</bug_when>
    <thetext>rdar://70241665</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776408</commentid>
    <comment_count>2</comment_count>
      <attachid>433340</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-07-12 12:31:46 -0700</bug_when>
    <thetext>Created attachment 433340
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776410</commentid>
    <comment_count>3</comment_count>
      <attachid>433342</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-07-12 12:48:43 -0700</bug_when>
    <thetext>Created attachment 433342
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776524</commentid>
    <comment_count>4</comment_count>
      <attachid>433384</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-07-12 18:29:09 -0700</bug_when>
    <thetext>Created attachment 433384
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776608</commentid>
    <comment_count>5</comment_count>
      <attachid>433404</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-07-13 05:55:37 -0700</bug_when>
    <thetext>Created attachment 433404
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776916</commentid>
    <comment_count>6</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-07-14 05:49:38 -0700</bug_when>
    <thetext>The plugins-types-blocks-quicktime-plugin-replacement-without-mime-type.html layout test failure is unrelated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776976</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-07-14 11:06:36 -0700</bug_when>
    <thetext>Committed r279912 (239661@main): &lt;https://commits.webkit.org/239661@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 433404.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776980</commentid>
    <comment_count>8</comment_count>
      <attachid>433404</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-07-14 11:13:24 -0700</bug_when>
    <thetext>Comment on attachment 433404
Patch

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

&gt; Source/WebKit/Scripts/process-entitlements.sh:315
&gt; +    plistbuddy Add :com.apple.security.exception.mach-lookup.global-name:0 string com.apple.systemstatus.activityattribution

I don&apos;t think you need this entitlement, since you are granting the same access in the com.apple.WebKit.GPU.sb file change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777045</commentid>
    <comment_count>9</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2021-07-14 14:45:19 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777046</commentid>
    <comment_count>10</comment_count>
      <attachid>433531</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2021-07-14 14:45:21 -0700</bug_when>
    <thetext>Created attachment 433531
Build fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777048</commentid>
    <comment_count>11</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-07-14 14:46:15 -0700</bug_when>
    <thetext>ChangeLog entry in Source/WTF/ChangeLog contains OOPS!.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777050</commentid>
    <comment_count>12</comment_count>
      <attachid>433532</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2021-07-14 14:52:10 -0700</bug_when>
    <thetext>Created attachment 433532
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777072</commentid>
    <comment_count>13</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-07-14 15:56:55 -0700</bug_when>
    <thetext>Committed r279929 (239676@main): &lt;https://commits.webkit.org/239676@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 433532.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433340</attachid>
            <date>2021-07-12 12:31:46 -0700</date>
            <delta_ts>2021-07-12 12:48:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227871-20210712153145.patch</filename>
            <type>text/plain</type>
            <size>39541</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5NDY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDNiNTRhZjY0ZjljZTI5
Y2U1NWI4NmQ5OThiYjRmN2I2NWVmY2I5Yi4uYjk2NjJmMTU0OWQzMmRjNmY5YjUxZjIyNzk4Zjg3
NTk2MTZlMzMzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTA3LTEyICBFcmlj
IENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIER5bmFt
aWNhbGx5IHNldCBjYXB0dXJlIGF0dHJpYnV0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjc4NzEKKyAgICAgICAgcmRhcjovLzcwMjQxNjY1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRl
c3RzLCB0ZXN0ZWQgbWFudWFsbHkuCisKKyAgICAgICAgKiBlbi5scHJvai9Mb2NhbGl6YWJsZS5z
dHJpbmdzOgorCiAyMDIxLTA3LTAxICBBbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAog
ICAgICAgICBWaXNpYmxlUG9zaXRpb246OmFic29sdXRlU2VsZWN0aW9uQm91bmRzRm9yTGluZSBm
YWlscyBvbiBtdWx0aWxpbmUgdmVydGljYWwtcmwgY29udGVudApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKaW5k
ZXggYmJhMjg4ZjIzN2IxZmU2OTZlM2MzMGIwMWM1Y2NkYjY4MzFmZjlhMi4uMzRmMjgxZmUwNTll
ZTFhOWNlOGM1MjkxMjkxNDg2ODQyZGZiMWFiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
UEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTUgQEAKKzIwMjEtMDctMTIgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5j
b20+CisKKyAgICAgICAgW2lPU10gRHluYW1pY2FsbHkgc2V0IGNhcHR1cmUgYXR0cmlidXRpb24K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzg3MQor
ICAgICAgICByZGFyOi8vNzAyNDE2NjUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIFBBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIHBhbC9pb3MvU3lzdGVtU3RhdHVzU29mdExpbmsuaDogQWRkZWQuCisgICAgICAgICogcGFs
L2lvcy9TeXN0ZW1TdGF0dXNTb2Z0TGluay5tbTogQWRkZWQuCisKIDIwMjEtMDYtMzAgIEpvaG4g
V2lsYW5kZXIgIDx3aWxhbmRlckBhcHBsZS5jb20+CiAKICAgICAgICAgUENNOiBDaGFuZ2UgaW1w
b3J0IGZyb20gQ3J5cHRvS2l0Q0JyaWRnaW5nIHRvIENyeXB0b0tpdFByaXZhdGUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5k
ZXggOTY5ODc2NjU2YmZlNzgzNGYwZWU4OWE1MWQxZjA1MjkwMTZlODY3My4uMzYzNDRjYmU4MDMy
OTQ4MTRhZDFkZWZiOWRiNmNiZGRkMTMwYWI3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1NSBAQAor
MjAyMS0wNy0xMiAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KKworICAg
ICAgICBbaU9TXSBEeW5hbWljYWxseSBzZXQgY2FwdHVyZSBhdHRyaWJ1dGlvbgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3ODcxCisgICAgICAgIHJk
YXI6Ly83MDI0MTY2NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogR1BVUHJvY2Vzcy9FbnRyeVBvaW50L0NvY29hL1hQQ1NlcnZpY2UvR1BVU2Vydmlj
ZS9JbmZvLWlPUy5wbGlzdDogUmVtb3ZlIF9TVEF0dHJpYnV0aW9uRGlzcGxheU5hbWUKKworICAg
ICAgICAqIEdQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAg
IChXZWJLaXQ6OkdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OkdQVUNvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3MpOiBJbml0aWFsaXplIG1fY2FwdHVyZU9yaWdpbi4KKyAgICAgICAgKFdlYktpdDo6R1BV
Q29ubmVjdGlvblRvV2ViUHJvY2Vzczo6dXBkYXRlQ2FwdHVyZU9yaWdpbik6IFVwZGF0ZS4KKyAg
ICAgICAgKFdlYktpdDo6R1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6c2V0Q2FwdHVyZUF0dHJp
YnV0aW9uU3RyaW5nIGNvbnN0KTogTm9uLUNvY29hIHN0dWIuCisgICAgICAgICogR1BVUHJvY2Vz
cy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmg6CisKKyAgICAgICAgKiBHUFVQcm9jZXNzL0dQ
VVByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpHUFVQcm9jZXNzOjp1cGRhdGVDYXB0dXJl
T3JpZ2luKTogQ2FsbCBzYW1lIG1ldGhvZCBpbiBXZWJQcm9jZXNzQ29ubmVjdGlvbiwKKyAgICAg
ICAgaWYgaXQgZXhpc3RzLgorICAgICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oOgorICAg
ICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKworICAgICAgICAqIEdQ
VVByb2Nlc3MvY29jb2EvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzc0NvY29hLm1tOiBBZGRlZC4K
KyAgICAgICAgKFdlYktpdDo6R1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6c2V0Q2FwdHVyZUF0
dHJpYnV0aW9uU3RyaW5nKTogU2V0IHRoZSBhdHRyaWJ1dGlvbgorICAgICAgICBzdHJpbmcgdG8g
Iltkb21haW5dIGluIFthcHBsaWNhdGlvbl0iLgorCisgICAgICAgICogUGxhdGZvcm0vc3BpL2lv
cy9TeXN0ZW1TdGF0dXNTUEkuaDogQWRkZWQuCisgICAgICAgICogUmVzb3VyY2VzL1NhbmRib3hQ
cm9maWxlcy9pb3MvY29tLmFwcGxlLldlYktpdC5HUFUuc2I6IEFsbG93ICJjb20uYXBwbGUuc3lz
dGVtc3RhdHVzLmFjdGl2aXR5YXR0cmlidXRpb24iCisgICAgICAgIHRvIGJlIGxvb2tlZCB1cC4K
KworICAgICAgICAqIFNjcmlwdHMvcHJvY2Vzcy1lbnRpdGxlbWVudHMuc2g6IEFkZCB0aGUgZW50
aXRsZW1lbnRzIHJlcXVpcmVkIHRvIHVzZSB0aGUgCisgICAgICAgIFN5c3RlbVN0YXR1cyBTUEku
CisKKyAgICAgICAgKiBTb3VyY2VzQ29jb2EudHh0OgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2Nv
YS9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6VXNl
ck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eTo6c3RhcnRQcm9kdWNpbmdEYXRhKTogRmFpbCBjYXB0
dXJlCisgICAgICAgIGlmIHNldENhcHR1cmVBdHRyaWJ1dGlvblN0cmluZyByZXR1cm5zIGZhbHNl
LgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5
Lmg6CisgICAgICAgIChXZWJLaXQ6OlVzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHk6OkNvbm5l
Y3Rpb25Qcm94eTo6c2V0Q2FwdHVyZUF0dHJpYnV0aW9uU3RyaW5nKToKKworICAgICAgICAqIFVJ
UHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6R1BVUHJv
Y2Vzc1Byb3h5Ojp1cGRhdGVDYXB0dXJlT3JpZ2luKTogQ2FsbCBncHVQcm9jZXNzLnVwZGF0ZUNh
cHR1cmVPcmlnaW4KKyAgICAgICAgc28gdGhlIGNhcHR1cmUgb3JpZ2luIGlzIGNvcnJlY3Qgd2hl
biBjYXB0dXJlIGJlZ2lucy4KKyAgICAgICAgKiBVSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94
eS5oOgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlkQ2hhbmdlTWFpbkRvY3VtZW50KTogVXBkYXRlIHRoZSBj
YXB0dXJlIG9yaWdpbi4KKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojp3aWxsU3RhcnRD
YXB0dXJlKTogRGl0dG8uCisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6Z3B1UHJvY2Vz
c0V4aXRlZCk6IERyaXZlLWJ5IC0gdXBkYXRlIGxvY2FsIHZhcmlhYmxlIG5hbWVzCisgICAgICAg
IHRvIG1ha2UgdGhlaXIgcHVycG9zZSBjbGVhcmVyLgorICAgICAgICAqIFdlYktpdC54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOgorCiAyMDIxLTA3LTAxICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5u
QGFwcGxlLmNvbT4KIAogICAgICAgICBbQ29jb2FdIE1pZ3JhdGUgV2ViUlRDIFVEUCBzb2NrZXQg
aGFuZGxpbmcgdG8gTlcgQVBJCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKaW5kZXggYmIzZDc2ODIyODRjMWY3NTQzNzgzY2JhYzBmN2E2NGYw
ZWExODkyNS4uZjhhNTlkNzdiMjkzNGFkM2ExMDc0ZjBhNjU3YzJkMzc2NWZiMzI5MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAt
MjUsNiArMjUsOCBAQAogCQkwNzYxMURCNzI0M0ZBNUJGMDBEODA3MDQgLyogVXNhZ2VUcmFja2lu
Z1NvZnRMaW5rLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMDc2MTFEQjUyNDNGQTVCRjAwRDgwNzA0IC8qIFVzYWdlVHJhY2tpbmdTb2Z0TGluay5tbSAq
LzsgfTsKIAkJMDc3RTg3QjEyMjZBNDYwMjAwQTJBRkYwIC8qIEFWRm91bmRhdGlvblNvZnRMaW5r
Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDc3RTg3
QUYyMjZBNDYwMjAwQTJBRkYwIC8qIEFWRm91bmRhdGlvblNvZnRMaW5rLm1tICovOyB9OwogCQkw
NzdFODdCMjIyNkE0NjAzMDBBMkFGRjAgLyogQVZGb3VuZGF0aW9uU29mdExpbmsuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3N0U4N0IwMjI2QTQ2MDIw
MEEyQUZGMCAvKiBBVkZvdW5kYXRpb25Tb2Z0TGluay5oICovOyB9OworCQkwNzlEMUQ5NzI2OTUw
REQ3MDA4ODM1NzcgLyogU3lzdGVtU3RhdHVzU29mdExpbmsuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3OUQxRDk1MjY5NTBERDcwMDg4MzU3NyAvKiBT
eXN0ZW1TdGF0dXNTb2Z0TGluay5oICovOyB9OworCQkwNzlEMUQ5ODI2OTUwREQ3MDA4ODM1Nzcg
LyogU3lzdGVtU3RhdHVzU29mdExpbmsubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwNzlEMUQ5NjI2OTUwREQ3MDA4ODM1NzcgLyogU3lzdGVtU3RhdHVz
U29mdExpbmsubW0gKi87IH07CiAJCTBDMDBDRkQ0MUY2OENFNDYwMEFBQzI2RCAvKiBNZWRpYVRp
bWVBVkZvdW5kYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDBDMDBDRkQyMUY2OENFNDYwMEFBQzI2RCAvKiBNZWRpYVRpbWVBVkZvdW5kYXRpb24u
aCAqLzsgfTsKIAkJMEMyRDlFNzMxRUVGNUFGNjAwREJDMzE3IC8qIEV4cG9ydE1hY3Jvcy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEMyRDlFNzIxRUVG
NUFGNjAwREJDMzE3IC8qIEV4cG9ydE1hY3Jvcy5oICovOyB9OwogCQkwQzJEQTA2RDFGMzNDQTg0
MDBEQkMzMTcgLyogQ0ZMb2NhbGVTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDBDMkRBMDY3MUYzM0NBODQwMERCQzMxNyAvKiBDRkxvY2FsZVNQSS5o
ICovOyB9OwpAQCAtMjM2LDYgKzIzOCw4IEBACiAJCTA3NjExREI1MjQzRkE1QkYwMEQ4MDcwNCAv
KiBVc2FnZVRyYWNraW5nU29mdExpbmsubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpj
cHA7IHBhdGggPSBVc2FnZVRyYWNraW5nU29mdExpbmsubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTA3N0U4N0FGMjI2QTQ2MDIwMEEyQUZGMCAvKiBBVkZvdW5kYXRpb25Tb2Z0TGlu
ay5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEFWRm91bmRhdGlv
blNvZnRMaW5rLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwNzdFODdCMDIyNkE0
NjAyMDBBMkFGRjAgLyogQVZGb3VuZGF0aW9uU29mdExpbmsuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gQVZGb3VuZGF0aW9uU29mdExpbmsuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMDc5RDFEOTUyNjk1MERENzAwODgzNTc3IC8qIFN5c3RlbVN0YXR1c1NvZnRM
aW5rLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN5c3RlbVN0YXR1c1NvZnRM
aW5rLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTA3OUQxRDk2MjY5NTBERDcwMDg4
MzU3NyAvKiBTeXN0ZW1TdGF0dXNTb2Z0TGluay5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IFN5c3RlbVN0YXR1c1NvZnRMaW5rLm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkwQzAwQ0ZEMTFGNjhDRTQ2MDBBQUMyNkQgLyogTWVkaWFUaW1lQVZGb3Vu
ZGF0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1lZGlhVGlt
ZUFWRm91bmRhdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBDMDBDRkQy
MUY2OENFNDYwMEFBQzI2RCAvKiBNZWRpYVRpbWVBVkZvdW5kYXRpb24uaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFUaW1lQVZGb3VuZGF0aW9uLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTBDMkQ5RTcyMUVFRjVBRjYwMERCQzMxNyAvKiBFeHBvcnRNYWNy
b3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRXhwb3J0TWFjcm9zLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03NjQsNiArNzY4LDggQEAKIAkJCQk1QzdDNzg3
MjIzQUMzRTc3MDA2NUY0N0UgLyogTWFuYWdlZENvbmZpZ3VyYXRpb25Tb2Z0TGluay5tbSAqLywK
IAkJCQk0NDUwRkM5RTIxRjVGNjAyMDA0REZBNTYgLyogUXVpY2tMb29rU29mdExpbmsuaCAqLywK
IAkJCQk0NDUwRkM5RDIxRjVGNjAyMDA0REZBNTYgLyogUXVpY2tMb29rU29mdExpbmsubW0gKi8s
CisJCQkJMDc5RDFEOTUyNjk1MERENzAwODgzNTc3IC8qIFN5c3RlbVN0YXR1c1NvZnRMaW5rLmgg
Ki8sCisJCQkJMDc5RDFEOTYyNjk1MERENzAwODgzNTc3IC8qIFN5c3RlbVN0YXR1c1NvZnRMaW5r
Lm1tICovLAogCQkJCTJFMTM0MkNBMjE1QUExMEEwMDcxOTlEMiAvKiBVSUtpdFNvZnRMaW5rLmgg
Ki8sCiAJCQkJMkUxMzQyQ0IyMTVBQTEwQTAwNzE5OUQyIC8qIFVJS2l0U29mdExpbmsubW0gKi8s
CiAJCQkpOwpAQCAtOTk3LDYgKzEwMDMsNyBAQAogCQkJCTMxMzA4QjE0MjBBMjE3MDUwMDNGQjky
OSAvKiBTeXN0ZW1QcmV2aWV3U1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQlBM0FCNkU1ODFGM0Qx
RERCMDA5QzE0QjEgLyogU3lzdGVtU2xlZXBMaXN0ZW5lci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QTNBQjZFNjQxRjNEMjE3RjAwOUMxNEIxIC8qIFN5c3RlbVNsZWVwTGlzdGVuZXJNYWMuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTA3OUQxRDk3MjY5NTBERDcwMDg4MzU3NyAvKiBTeXN0ZW1TdGF0dXNT
b2Z0TGluay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEM3Nzg1QTExRjQ1MTMwRjAwRjRFQkI2IC8q
IFRlbGVwaG9ueVV0aWxpdGllc1NQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkUxMzQyQ0MyMTVB
QTEwQTAwNzE5OUQyIC8qIFVJS2l0U29mdExpbmsuaCBpbiBIZWFkZXJzICovLAogCQkJCTBDNUFG
OTIyMUY0M0E0QzcwMDJFQUMwMiAvKiBVSUtpdFNQSS5oIGluIEhlYWRlcnMgKi8sCkBAIC0xMTM0
LDYgKzExNDEsNyBAQAogCQkJCTkzQjM4RUMwMjU4MjFDRDgwMDE5OEU2MyAvKiBTcGVlY2hTb2Z0
TGluay5tbSBpbiBTb3VyY2VzICovLAogCQkJCUEzQUI2RTU3MUYzRDFEREIwMDlDMTRCMSAvKiBT
eXN0ZW1TbGVlcExpc3RlbmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUEzQUI2RTY1MUYzRDIx
N0YwMDlDMTRCMSAvKiBTeXN0ZW1TbGVlcExpc3RlbmVyTWFjLm1tIGluIFNvdXJjZXMgKi8sCisJ
CQkJMDc5RDFEOTgyNjk1MERENzAwODgzNTc3IC8qIFN5c3RlbVN0YXR1c1NvZnRMaW5rLm1tIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMkUxMzQyQ0QyMTVBQTEwQTAwNzE5OUQyIC8qIFVJS2l0U29mdExp
bmsubW0gaW4gU291cmNlcyAqLywKIAkJCQkwNzYxMURCNzI0M0ZBNUJGMDBEODA3MDQgLyogVXNh
Z2VUcmFja2luZ1NvZnRMaW5rLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNDFFMUYzNDQyNDhBNkEw
MDAwMjJENURFIC8qIFZpZGVvVG9vbGJveFNvZnRMaW5rLmNwcCBpbiBTb3VyY2VzICovLApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9pb3MvU3lzdGVtU3RhdHVzU29mdExpbmsu
aCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvaW9zL1N5c3RlbVN0YXR1c1NvZnRMaW5rLmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMWQ3NmE0N2Q2ODk3MzEwM2EzYWVhYTVlNmQxM2VkZWZjOWZlODkxOQotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvaW9zL1N5c3RlbVN0YXR1c1NvZnRM
aW5rLmgKQEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYg
UExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgIVBMQVRGT1JNKE1BQ0NBVEFMWVNUKQorCisjaW1wb3J0
IDx3dGYvU29mdExpbmtpbmcuaD4KKworU09GVF9MSU5LX0ZSQU1FV09SS19GT1JfSEVBREVSKFBB
TCwgU3lzdGVtU3RhdHVzKQorCitTT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihQQUwsIFNURHlu
YW1pY0FjdGl2aXR5QXR0cmlidXRpb25QdWJsaXNoZXIpOworCisjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvaW9zL1N5c3RlbVN0YXR1c1NvZnRMaW5rLm1tIGIvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9pb3MvU3lzdGVtU3RhdHVzU29mdExpbmsubW0KbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZGE2ZjQzMzVlNDkxNDgwOTIxMTU1YWFiZDlkYTVkODhhZmFmYmVlOAotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvaW9zL1N5c3RlbVN0YXR1c1NvZnRMaW5rLm1t
CkBAIC0wLDAgKzEsMzYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKworI2lm
IFBMQVRGT1JNKElPU19GQU1JTFkpICYmICFQTEFURk9STShNQUNDQVRBTFlTVCkKKworI2ltcG9y
dCA8d3RmL1NvZnRMaW5raW5nLmg+CisKK1NPRlRfTElOS19QUklWQVRFX0ZSQU1FV09SS19GT1Jf
U09VUkNFKFBBTCwgU3lzdGVtU3RhdHVzKQorCitTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9X
SVRIX0VYUE9SVChQQUwsIFN5c3RlbVN0YXR1cywgU1REeW5hbWljQWN0aXZpdHlBdHRyaWJ1dGlv
blB1Ymxpc2hlciwgUEFMX0VYUE9SVCk7CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZW4ubHByb2ovTG9jYWxpemFibGUuc3RyaW5ncyBiL1NvdXJjZS9XZWJDb3JlL2VuLmxw
cm9qL0xvY2FsaXphYmxlLnN0cmluZ3MKaW5kZXggNzE2NmY5YWZlYWZmM2YyYzgwNmVlZWY1MzYx
ODc0Y2I3NDk2NjI3MS4uOTE4OTlmZmYxODM3MTBlYjQzNGJmNzljNGU2NzcwMDlhYjI0NDliMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZW4ubHByb2ovTG9jYWxpemFibGUuc3RyaW5ncwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9lbi5scHJvai9Mb2NhbGl6YWJsZS5zdHJpbmdzCkBAIC0xNjM2
LDMgKzE2MzYsNSBAQAogLyogT3B0aW9uIGluIHNlZ21lbnRlZCBjb250cm9sIGZvciBjaG9vc2lu
ZyBsaXN0IHR5cGUgaW4gdGV4dCBlZGl0aW5nICovCiAi4oCiIiA9ICLigKIiOwogCisvKiBUaGUg
ZG9tYWluIGFuZCBhcHBsaWNhdGlvbiB1c2luZyB0aGUgY2FtZXJhIGFuZC9vciBtaWNyb3Bob25l
LiBUaGUgZmlyc3QgYXJndW1lbnQgaXMgZG9tYWluLCB0aGUgc2Vjb25kIGlzIHRoZSBhcHBsaWNh
dGlvbiBuYW1lIChpT1Mgb25seSkuICovCisi4oCcJUDigJ0gaW4g4oCcJSVA4oCdIiA9ICLigJwl
QOKAnSBpbiDigJwlJUDigJ0iOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L0VudHJ5UG9pbnQvQ29jb2EvWFBDU2VydmljZS9HUFVTZXJ2aWNlL0luZm8taU9TLnBsaXN0IGIv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0VudHJ5UG9pbnQvQ29jb2EvWFBDU2VydmljZS9HUFVT
ZXJ2aWNlL0luZm8taU9TLnBsaXN0CmluZGV4IGY0MWI2NTIwMGRmYjc1NzA2YWNiZmQ3ZmQ2YmJl
NjNjZDIwNWMzMWUuLjE5MjNhZjc1MjAzMWEyYWFjYmMxOTlhMGVlZWQ1ZGUwMTM1MDE0NDMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9FbnRyeVBvaW50L0NvY29hL1hQQ1Nl
cnZpY2UvR1BVU2VydmljZS9JbmZvLWlPUy5wbGlzdAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVBy
b2Nlc3MvRW50cnlQb2ludC9Db2NvYS9YUENTZXJ2aWNlL0dQVVNlcnZpY2UvSW5mby1pT1MucGxp
c3QKQEAgLTI4LDggKzI4LDYgQEAKIAk8c3RyaW5nPk5TQXBwbGljYXRpb248L3N0cmluZz4KIAk8
a2V5PkxTVUlFbGVtZW50PC9rZXk+CiAJPHRydWUvPgotICAgIDxrZXk+X1NUQXR0cmlidXRpb25E
aXNwbGF5TmFtZTwva2V5PgotICAgIDxzdHJpbmc+V2Vic2l0ZTwvc3RyaW5nPgogCTxrZXk+WFBD
U2VydmljZTwva2V5PgogCTxkaWN0PgogCQk8a2V5PlNlcnZpY2VUeXBlPC9rZXk+CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5j
cHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5j
cHAKaW5kZXggZWVhZTMxNjVlNGUyMGE0ZDM2MDY1MTNlMDhkNmEwZTI2N2ZlNjcwNi4uZjIxNzM1
NjVhM2Y3MDZhODI5NzZlMzIyZjJmYzhiNzA1NzYzYThmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcApAQCAtMTM5
LDYgKzEzOSwxMCBAQAogI2luY2x1ZGUgIkxvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0
b3IuaCIKICNlbmRpZgogCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKyNpbmNsdWRlIDxXZWJD
b3JlL1NlY3VyaXR5T3JpZ2luLmg+CisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYktpdCB7CiB1c2lu
ZyBuYW1lc3BhY2UgV2ViQ29yZTsKIApAQCAtMTc4LDkgKzE4MiwxNSBAQCBwcml2YXRlOgogICAg
ICAgICAgICAgcmV0dXJuIG1fcHJvY2Vzcy5hbGxvd3NEaXNwbGF5Q2FwdHVyZSgpOwogICAgICAg
ICB9CiAgICAgfQorICAgIAorICAgIGJvb2wgc2V0Q2FwdHVyZUF0dHJpYnV0aW9uU3RyaW5nKCkg
ZmluYWwKKyAgICB7CisgICAgICAgIHJldHVybiBtX3Byb2Nlc3Muc2V0Q2FwdHVyZUF0dHJpYnV0
aW9uU3RyaW5nKCk7CisgICAgfQogCiAgICAgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYgbV9w
cm9jZXNzOwogfTsKKwogI2VuZGlmCiAKIFJlZjxHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzPiBH
UFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpjcmVhdGUoR1BVUHJvY2VzcyYgZ3B1UHJvY2Vzcywg
V2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIgd2ViUHJvY2Vzc0lkZW50aWZpZXIsIElQQzo6Q29u
bmVjdGlvbjo6SWRlbnRpZmllciBjb25uZWN0aW9uSWRlbnRpZmllciwgUEFMOjpTZXNzaW9uSUQg
c2Vzc2lvbklELCBHUFVQcm9jZXNzQ29ubmVjdGlvblBhcmFtZXRlcnMmJiBwYXJhbWV0ZXJzKQpA
QCAtMjAzLDYgKzIxMyw5IEBAIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OkdQVUNvbm5lY3Rp
b25Ub1dlYlByb2Nlc3MoR1BVUHJvY2VzcyYgZ3B1UHJvY2VzcywgV2ViCiAjaWYgUExBVEZPUk0o
Q09DT0EpICYmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAgICAgLCBtX3NhbXBsZUJ1ZmZlckRpc3Bs
YXlMYXllck1hbmFnZXIoUmVtb3RlU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyTWFuYWdlcjo6Y3Jl
YXRlKCp0aGlzKSkKICNlbmRpZgorI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisgICAgLCBtX2Nh
cHR1cmVPcmlnaW4oU2VjdXJpdHlPcmlnaW46OmNyZWF0ZVVuaXF1ZSgpKQorI2VuZGlmCiAjaWYg
RU5BQkxFKFJPVVRJTkdfQVJCSVRSQVRJT04pICYmIEhBVkUoQVZBVURJT19ST1VUSU5HX0FSQklU
RVIpCiAgICAgLCBtX3JvdXRpbmdBcmJpdHJhdG9yKExvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0Fy
Yml0cmF0b3I6OmNyZWF0ZSgqdGhpcykpCiAjZW5kaWYKQEAgLTgyMCw2ICs4MzMsMTcgQEAgdm9p
ZCBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjp1cGRhdGVDYXB0dXJlQWNjZXNzKGJvb2wgYWxs
b3dBdWRpb0NhcHR1cmUsIGJvb2wKICAgICBtX2FsbG93c1ZpZGVvQ2FwdHVyZSB8PSBhbGxvd1Zp
ZGVvQ2FwdHVyZTsKICAgICBtX2FsbG93c0Rpc3BsYXlDYXB0dXJlIHw9IGFsbG93RGlzcGxheUNh
cHR1cmU7CiB9CisKK3ZvaWQgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6dXBkYXRlQ2FwdHVy
ZU9yaWdpbihjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEmIG9yaWdpbkRhdGEpCit7
CisgICAgbV9jYXB0dXJlT3JpZ2luID0gb3JpZ2luRGF0YS5zZWN1cml0eU9yaWdpbigpOworfQor
I2VuZGlmCisKKyNpZiAhUExBVEZPUk0oQ09DT0EpCitib29sIEdQVUNvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3M6OnNldENhcHR1cmVBdHRyaWJ1dGlvblN0cmluZygpIGNvbnN0Cit7Cit9CiAjZW5kaWYK
IAogI2lmIFBMQVRGT1JNKE1BQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
R1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oCmluZGV4IDVmYWRhMzVjMWJmNGIzYWIyODA2ZmJk
NTdmMGViNjYxZTAyZmRkMjguLjNjM2VmZTU2MmEzYzMwODNhMTFkNGU4ZmJiMTAzNjU2NWZkZDM3
MTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25U
b1dlYlByb2Nlc3MuaApAQCAtMzcsNiArMzcsNyBAQAogI2luY2x1ZGUgIlNjb3BlZEFjdGl2ZU1l
c3NhZ2VSZWNlaXZlUXVldWUuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0xpYldlYlJUQ0VudW1UcmFp
dHMuaD4KICNpbmNsdWRlIDxXZWJDb3JlL05vd1BsYXlpbmdNYW5hZ2VyLmg+CisjaW5jbHVkZSA8
V2ViQ29yZS9QYWdlSWRlbnRpZmllci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUHJvY2Vzc0lkZW50
aWZpZXIuaD4KICNpbmNsdWRlIDxwYWwvU2Vzc2lvbklELmg+CiAjaW5jbHVkZSA8d3RmL0xvZ2dl
ci5oPgpAQCAtNTIsNiArNTMsMTEgQEAKICNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dEaXNwbGF5
Q29uZmlndXJhdGlvbi5oPgogI2VuZGlmCiAKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIFNl
Y3VyaXR5T3JpZ2luOworc3RydWN0IFNlY3VyaXR5T3JpZ2luRGF0YTsKK30KKwogbmFtZXNwYWNl
IFdlYktpdCB7CiAKIGNsYXNzIEdQVVByb2Nlc3M7CkBAIC0xMTEsNiArMTE3LDggQEAgcHVibGlj
OgogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAgICAgdm9pZCBzZXRPcmllbnRhdGlvbkZvck1l
ZGlhQ2FwdHVyZSh1aW50NjRfdCBvcmllbnRhdGlvbik7CiAgICAgdm9pZCB1cGRhdGVDYXB0dXJl
QWNjZXNzKGJvb2wgYWxsb3dBdWRpb0NhcHR1cmUsIGJvb2wgYWxsb3dWaWRlb0NhcHR1cmUsIGJv
b2wgYWxsb3dEaXNwbGF5Q2FwdHVyZSk7CisgICAgdm9pZCB1cGRhdGVDYXB0dXJlT3JpZ2luKGNv
bnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSYpOworICAgIGJvb2wgc2V0Q2FwdHVyZUF0
dHJpYnV0aW9uU3RyaW5nKCk7CiAgICAgYm9vbCBhbGxvd3NBdWRpb0NhcHR1cmUoKSBjb25zdCB7
IHJldHVybiBtX2FsbG93c0F1ZGlvQ2FwdHVyZTsgfQogICAgIGJvb2wgYWxsb3dzVmlkZW9DYXB0
dXJlKCkgY29uc3QgeyByZXR1cm4gbV9hbGxvd3NWaWRlb0NhcHR1cmU7IH0KICAgICBib29sIGFs
bG93c0Rpc3BsYXlDYXB0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9hbGxvd3NEaXNwbGF5Q2FwdHVy
ZTsgfQpAQCAtMjQ4LDYgKzI1Niw3IEBAIHByaXZhdGU6CiAgICAgc3RkOjp1bmlxdWVfcHRyPFJl
bW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyPiBtX3JlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyOwog
I2VuZGlmCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKyAgICBSZWY8V2ViQ29yZTo6U2VjdXJp
dHlPcmlnaW4+IG1fY2FwdHVyZU9yaWdpbjsKICAgICBib29sIG1fYWxsb3dzQXVkaW9DYXB0dXJl
IHsgZmFsc2UgfTsKICAgICBib29sIG1fYWxsb3dzVmlkZW9DYXB0dXJlIHsgZmFsc2UgfTsKICAg
ICBib29sIG1fYWxsb3dzRGlzcGxheUNhcHR1cmUgeyBmYWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL0dQVVByb2Nlc3MuY3BwCmluZGV4IDRhNGFjOTE0YjQ2MzE5MzUyNDg4ZGJlMTYyNmRm
ZjNkZGNhMjY2YmYuLjY3NmZjNDViYWYxNjQ2Njg3MjdhYWZiZTg4NTJhNGVhZDg2NjQ2ZGYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHAKQEAgLTMxMiw2ICszMTIsMTIg
QEAgdm9pZCBHUFVQcm9jZXNzOjp1cGRhdGVDYXB0dXJlQWNjZXNzKGJvb2wgYWxsb3dBdWRpb0Nh
cHR1cmUsIGJvb2wgYWxsb3dWaWRlb0NhcHQKICAgICBjb21wbGV0aW9uSGFuZGxlcigpOwogfQog
Cit2b2lkIEdQVVByb2Nlc3M6OnVwZGF0ZUNhcHR1cmVPcmlnaW4oY29uc3QgV2ViQ29yZTo6U2Vj
dXJpdHlPcmlnaW5EYXRhJiBvcmlnaW5EYXRhLCBQcm9jZXNzSWRlbnRpZmllciBwcm9jZXNzSUQp
Cit7CisgICAgaWYgKGF1dG8qIGNvbm5lY3Rpb24gPSB3ZWJQcm9jZXNzQ29ubmVjdGlvbihwcm9j
ZXNzSUQpKQorICAgICAgICBjb25uZWN0aW9uLT51cGRhdGVDYXB0dXJlT3JpZ2luKG9yaWdpbkRh
dGEpOworfQorCiB2b2lkIEdQVVByb2Nlc3M6OnVwZGF0ZVNhbmRib3hBY2Nlc3MoY29uc3QgVmVj
dG9yPFNhbmRib3hFeHRlbnNpb246OkhhbmRsZT4mIGV4dGVuc2lvbnMpCiB7CiAgICAgZm9yIChh
dXRvJiBleHRlbnNpb24gOiBleHRlbnNpb25zKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL0dQVVByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9j
ZXNzLmgKaW5kZXggNWVkNWIzZWQxZTE0N2U0NjE5M2U2Yjg0ZDgzZDgwOWUwODU5MGQzNC4uYTIx
ZDA1MTNjZTIxODk2NGU3YmZlMTc5YjZlNjc2YThjYWJmNWVhZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVBy
b2Nlc3MvR1BVUHJvY2Vzcy5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTktMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKQEAgLTQ1LDYgKzQ1LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNs
YXNzIE5vd1BsYXlpbmdNYW5hZ2VyOwogc3RydWN0IE1vY2tNZWRpYURldmljZTsKK3N0cnVjdCBT
ZWN1cml0eU9yaWdpbkRhdGE7CiB9CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtMTI0LDExICsx
MjUsMTMgQEAgcHJpdmF0ZToKICAgICB2b2lkIHNldE1vY2tDYXB0dXJlRGV2aWNlc0VuYWJsZWQo
Ym9vbCk7CiAgICAgdm9pZCBzZXRPcmllbnRhdGlvbkZvck1lZGlhQ2FwdHVyZSh1aW50NjRfdCBv
cmllbnRhdGlvbik7CiAgICAgdm9pZCB1cGRhdGVDYXB0dXJlQWNjZXNzKGJvb2wgYWxsb3dBdWRp
b0NhcHR1cmUsIGJvb2wgYWxsb3dWaWRlb0NhcHR1cmUsIGJvb2wgYWxsb3dEaXNwbGF5Q2FwdHVy
ZSwgV2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4m
Jik7CisgICAgdm9pZCB1cGRhdGVDYXB0dXJlT3JpZ2luKGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5
T3JpZ2luRGF0YSYsIFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyKTsKICAgICB2b2lkIHVwZGF0
ZVNhbmRib3hBY2Nlc3MoY29uc3QgVmVjdG9yPFNhbmRib3hFeHRlbnNpb246OkhhbmRsZT4mKTsK
ICAgICB2b2lkIGFkZE1vY2tNZWRpYURldmljZShjb25zdCBXZWJDb3JlOjpNb2NrTWVkaWFEZXZp
Y2UmKTsKICAgICB2b2lkIGNsZWFyTW9ja01lZGlhRGV2aWNlcygpOwogICAgIHZvaWQgcmVtb3Zl
TW9ja01lZGlhRGV2aWNlKGNvbnN0IFN0cmluZyYgcGVyc2lzdGVudElkKTsKICAgICB2b2lkIHJl
c2V0TW9ja01lZGlhRGV2aWNlcygpOworICAgIGJvb2wgc2V0Q2FwdHVyZUF0dHJpYnV0aW9uU3Ry
aW5nKGNvbnN0IFN0cmluZyYpOwogI2VuZGlmCiAjaWYgUExBVEZPUk0oTUFDKQogICAgIHZvaWQg
ZGlzcGxheUNvbmZpZ3VyYXRpb25DaGFuZ2VkKENHRGlyZWN0RGlzcGxheUlELCBDR0Rpc3BsYXlD
aGFuZ2VTdW1tYXJ5RmxhZ3MpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L0dQVVByb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJv
Y2Vzcy5tZXNzYWdlcy5pbgppbmRleCA3YWQ4OWU0YThiYWRmZGNhMWFhYTE5NTg5OTA4MTkyNGVh
OGYyZmQ2Li42OTFkYTc4ZDJjZjkzMjhlYTc5ZTI0YzJkNjQ2MjAwMzZiNWU0MjQ5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbgorKysg
Yi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAtNDEs
NiArNDEsNyBAQCBtZXNzYWdlcyAtPiBHUFVQcm9jZXNzIExlZ2FjeVJlY2VpdmVyIHsKICAgICBT
ZXRPcmllbnRhdGlvbkZvck1lZGlhQ2FwdHVyZSh1aW50NjRfdCBvcmllbnRhdGlvbik7CiAgICAg
VXBkYXRlU2FuZGJveEFjY2VzcyhWZWN0b3I8V2ViS2l0OjpTYW5kYm94RXh0ZW5zaW9uOjpIYW5k
bGU+IGV4dGVuc2lvbnMpOwogICAgIFVwZGF0ZUNhcHR1cmVBY2Nlc3MoYm9vbCBhbGxvd0F1ZGlv
Q2FwdHVyZSwgYm9vbCBhbGxvd1ZpZGVvQ2FwdHVyZSwgYm9vbCBhbGxvd0Rpc3BsYXlDYXB0dXJl
LCBXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciBwcm9jZXNzSUQpIC0+ICgpIEFzeW5jCisgICAg
VXBkYXRlQ2FwdHVyZU9yaWdpbihzdHJ1Y3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhIG9y
aWdpbkRhdGEsIFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyIHByb2Nlc3NJRCkKICAgICBBZGRN
b2NrTWVkaWFEZXZpY2Uoc3RydWN0IFdlYkNvcmU6Ok1vY2tNZWRpYURldmljZSBkZXZpY2UpOwog
ICAgIENsZWFyTW9ja01lZGlhRGV2aWNlcygpOwogICAgIFJlbW92ZU1vY2tNZWRpYURldmljZShT
dHJpbmcgcGVyc2lzdGVudElkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9jb2NvYS9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvY29jb2EvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzc0NvY29hLm1tCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYxZTkzYmNmNDBjOWU3ZDBlYjRjNzU0ZDExYjM1ZWI5YzZiYTBiOTMKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvY29jb2EvR1BVQ29ubmVjdGlvblRv
V2ViUHJvY2Vzc0NvY29hLm1tCkBAIC0wLDAgKzEsNjUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0
ICJjb25maWcuaCIKKyNpbXBvcnQgIkdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaCIKKworI2lm
IEVOQUJMRShHUFVfUFJPQ0VTUykKKworI2ltcG9ydCAiU3lzdGVtU3RhdHVzU1BJLmgiCisjaW1w
b3J0IDxXZWJDb3JlL0xvY2FsaXplZFN0cmluZ3MuaD4KKyNpbXBvcnQgPFdlYkNvcmUvUmVnaXN0
cmFibGVEb21haW4uaD4KKyNpbXBvcnQgPFdlYkNvcmUvU2VjdXJpdHlPcmlnaW4uaD4KKyNpbXBv
cnQgPHBhbC9pb3MvU3lzdGVtU3RhdHVzU29mdExpbmsuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7
CisKK2Jvb2wgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6c2V0Q2FwdHVyZUF0dHJpYnV0aW9u
U3RyaW5nKCkKK3sKKyNpZiBQTEFURk9STShJT1MpCisgICAgaWYgKCFbUEFMOjpnZXRTVER5bmFt
aWNBY3Rpdml0eUF0dHJpYnV0aW9uUHVibGlzaGVyQ2xhc3MoKSByZXNwb25kc1RvU2VsZWN0b3I6
QHNlbGVjdG9yKHNldEN1cnJlbnRBdHRyaWJ1dGlvblN0cmluZ1dpdGhGb3JtYXQ6YXVkaXRUb2tl
bjopXSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBhdXRvIGRvbWFpbiA9IFdlYkNvcmU6
OlJlZ2lzdHJhYmxlRG9tYWluIHsgbV9jYXB0dXJlT3JpZ2luLT5kYXRhKCkgfTsKKyAgICBpZiAo
ZG9tYWluLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgYXV0byBhdWRp
dFRva2VuID0gZ3B1UHJvY2VzcygpLnBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPmdldEF1ZGl0
VG9rZW4oKTsKKyAgICBpZiAoIWF1ZGl0VG9rZW4pCisgICAgICAgIHJldHVybiBmYWxzZTsKKwor
ICAgIFJldGFpblB0cjxOU1N0cmluZz4gZm9ybWF0U3RyaW5nID0gW05TU3RyaW5nIHN0cmluZ1dp
dGhGb3JtYXQ6V0VCX1VJX1NUUklORygi4oCcJUDigJ0gaW4g4oCcJSVA4oCdIiwgIlRoZSBkb21h
aW4gYW5kIGFwcGxpY2F0aW9uIHVzaW5nIHRoZSBjYW1lcmEgYW5kL29yIG1pY3JvcGhvbmUuIFRo
ZSBmaXJzdCBhcmd1bWVudCBpcyBkb21haW4sIHRoZSBzZWNvbmQgaXMgdGhlIGFwcGxpY2F0aW9u
IG5hbWUgKGlPUyBvbmx5KS4iKSwgKE5TU3RyaW5nICopZG9tYWluLnN0cmluZygpXTsKKworICAg
IFtQQUw6OmdldFNURHluYW1pY0FjdGl2aXR5QXR0cmlidXRpb25QdWJsaXNoZXJDbGFzcygpIHNl
dEN1cnJlbnRBdHRyaWJ1dGlvblN0cmluZ1dpdGhGb3JtYXQ6Zm9ybWF0U3RyaW5nLmdldCgpIGF1
ZGl0VG9rZW46YXVkaXRUb2tlbi52YWx1ZSgpXTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGRv
bWFpbik7CisjZW5kaWYKKworICAgIHJldHVybiB0cnVlOworfQorCit9IC8vIG5hbWVzcGFjZSBX
ZWJLaXQKKworI2VuZGlmIC8vIEVOQUJMRShHUFVfUFJPQ0VTUykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvUGxhdGZvcm0vc3BpL2lvcy9TeXN0ZW1TdGF0dXNTUEkuaCBiL1NvdXJjZS9XZWJL
aXQvUGxhdGZvcm0vc3BpL2lvcy9TeXN0ZW1TdGF0dXNTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MGUzYjVh
YjRlYWU3NjhjNGIyYTcwNzU4Nzg5MTE2ZDBlZGM1YmFlCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL1N5c3RlbVN0YXR1c1NQSS5oCkBAIC0wLDAgKzEs
NDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKworI2ltcG9y
dCA8U3lzdGVtU3RhdHVzL1NURHluYW1pY0FjdGl2aXR5QXR0cmlidXRpb25QdWJsaXNoZXIuaD4K
KworI2Vsc2UKKworTlNfQVNTVU1FX05PTk5VTExfQkVHSU4KKworQGludGVyZmFjZSBTVER5bmFt
aWNBY3Rpdml0eUF0dHJpYnV0aW9uUHVibGlzaGVyIDogTlNPYmplY3QKKworKyAodm9pZClzZXRD
dXJyZW50QXR0cmlidXRpb25TdHJpbmdXaXRoRm9ybWF0OihOU1N0cmluZyAqKWZvcm1hdCBhdWRp
dFRva2VuOihhdWRpdF90b2tlbl90KWF1ZGl0VG9rZW47CisKK0BlbmQKKworTlNfQVNTVU1FX05P
Tk5VTExfRU5ECisKKyNlbmRpZiAvLyBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9SZXNvdXJjZXMvU2FuZGJveFByb2ZpbGVzL2lvcy9jb20uYXBwbGUu
V2ViS2l0LkdQVS5zYiBiL1NvdXJjZS9XZWJLaXQvUmVzb3VyY2VzL1NhbmRib3hQcm9maWxlcy9p
b3MvY29tLmFwcGxlLldlYktpdC5HUFUuc2IKaW5kZXggNmJjNmIzNzY3Y2U5N2I2YWYxNTVlODU0
NmQzYzcxNzQ4MTY5OWE1YS4uZjVhY2Y4ZDZkZTk1M2IzM2I4OWJhYWQ3YTRmMWRmMGQ4YTJhZWFl
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9SZXNvdXJjZXMvU2FuZGJveFByb2ZpbGVzL2lv
cy9jb20uYXBwbGUuV2ViS2l0LkdQVS5zYgorKysgYi9Tb3VyY2UvV2ViS2l0L1Jlc291cmNlcy9T
YW5kYm94UHJvZmlsZXMvaW9zL2NvbS5hcHBsZS5XZWJLaXQuR1BVLnNiCkBAIC0xMDAzLDYgKzEw
MDMsOSBAQAogICAgICkKICkKIAorKGFsbG93IG1hY2gtbG9va3VwCisgICAgKGdsb2JhbC1uYW1l
ICJjb20uYXBwbGUuc3lzdGVtc3RhdHVzLmFjdGl2aXR5YXR0cmlidXRpb24iKQorKQogCiAoYWxs
b3cgbWFjaC1sb29rdXAKICAgICAocmVxdWlyZS1hbGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvU2NyaXB0cy9wcm9jZXNzLWVudGl0bGVtZW50cy5zaCBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0
cy9wcm9jZXNzLWVudGl0bGVtZW50cy5zaAppbmRleCBmZWVmOWIzMTUyNzcxMTVhNmMxNDc4MThi
ZDA4ZTgyZmU1NzU4MGFhLi45ZWFiNWM3Y2YyZTg2N2Y2OWE5YWFlNDM1ZTI2YmQ2YTE1YzFiNGQz
IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvcHJvY2Vzcy1lbnRpdGxlbWVudHMu
c2gKKysrIGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3Byb2Nlc3MtZW50aXRsZW1lbnRzLnNoCkBA
IC0zMDksNiArMzA5LDEwIEBAIGZ1bmN0aW9uIGlvc19mYW1pbHlfcHJvY2Vzc19ncHVfZW50aXRs
ZW1lbnRzKCkKIAogICAgIHBsaXN0YnVkZHkgQWRkIDpzZWF0YmVsdC1wcm9maWxlcyBhcnJheQog
ICAgIHBsaXN0YnVkZHkgQWRkIDpzZWF0YmVsdC1wcm9maWxlczowIHN0cmluZyBjb20uYXBwbGUu
V2ViS2l0LkdQVQorCisgICAgcGxpc3RidWRkeSBBZGQgOmNvbS5hcHBsZS5zeXN0ZW1zdGF0dXMu
YWN0aXZpdHlhdHRyaWJ1dGlvbiBib29sIFlFUworICAgIHBsaXN0YnVkZHkgQWRkIDpjb20uYXBw
bGUuc2VjdXJpdHkuZXhjZXB0aW9uLm1hY2gtbG9va3VwLmdsb2JhbC1uYW1lIGFycmF5CisgICAg
cGxpc3RidWRkeSBBZGQgOmNvbS5hcHBsZS5zZWN1cml0eS5leGNlcHRpb24ubWFjaC1sb29rdXAu
Z2xvYmFsLW5hbWU6MCBzdHJpbmcgY29tLmFwcGxlLnN5c3RlbXN0YXR1cy5hY3Rpdml0eWF0dHJp
YnV0aW9uCiB9CiAKIGZ1bmN0aW9uIGlvc19mYW1pbHlfcHJvY2Vzc193ZWJhdXRobl9lbnRpdGxl
bWVudHMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0IGIvU291
cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CmluZGV4IDQwNTBjNDAzYzQ2ZDU2NGMyZTk4M2M1
ZjI2NTU1MWM2OTc1Y2U4ZmQuLjViNTBmMDc0MjFkZjQzZjU5ZWNhNjJmNWM3ZDRkNTY3NDFkMGY3
NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKQEAgLTU4LDYgKzU4LDcgQEAgTmV0d29ya1Byb2Nl
c3Mvd2VicnRjL05ldHdvcmtSVENUQ1BTb2NrZXRDb2NvYS5tbQogTmV0d29ya1Byb2Nlc3Mvd2Vi
cnRjL05ldHdvcmtSVENVRFBTb2NrZXRDb2NvYS5tbQogCiBHUFVQcm9jZXNzL0VudHJ5UG9pbnQv
Q29jb2EvWFBDU2VydmljZS9HUFVTZXJ2aWNlRW50cnlQb2ludC5tbQorR1BVUHJvY2Vzcy9jb2Nv
YS9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzQ29jb2EubW0KIEdQVVByb2Nlc3MvZ3JhcGhpY3Mv
UmVtb3RlR3JhcGhpY3NDb250ZXh0R0xDb2NvYS5jcHAKIEdQVVByb2Nlc3MvZ3JhcGhpY3MvU2Nv
cGVkUmVuZGVyaW5nUmVzb3VyY2VzUmVxdWVzdENvY29hLm1tIEBuby11bmlmeQogR1BVUHJvY2Vz
cy9ncmFwaGljcy9TY29wZWRXZWJHTFJlbmRlcmluZ1Jlc291cmNlc1JlcXVlc3RDb2NvYS5jcHAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VzZXJNZWRpYUNhcHR1
cmVNYW5hZ2VyUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVXNlck1l
ZGlhQ2FwdHVyZU1hbmFnZXJQcm94eS5jcHAKaW5kZXggNjE2ZjcyYzRiZWQ5OGEzNTU3NzA3ZjVl
N2RlYzk4YmM4ZjRmZjAyOS4uZGMyN2MzN2E1ODdhNmRkYWUzYTc1MTYyMmJmMzU5MTc2NWJjYmM0
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2Fw
dHVyZU1hbmFnZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
VXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eS5jcHAKQEAgLTMyNiw4ICszMjYsMTYgQEAgdm9p
ZCBVc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5OjpjcmVhdGVNZWRpYVNvdXJjZUZvckNhcHR1
cmVEZXZpY2VXaXRoQ29uc3RyYWkKIAogdm9pZCBVc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5
OjpzdGFydFByb2R1Y2luZ0RhdGEoUmVhbHRpbWVNZWRpYVNvdXJjZUlkZW50aWZpZXIgaWQpCiB7
Ci0gICAgaWYgKGF1dG8qIHByb3h5ID0gbV9wcm94aWVzLmdldChpZCkpCi0gICAgICAgIHByb3h5
LT5zdGFydCgpOworICAgIGF1dG8qIHByb3h5ID0gbV9wcm94aWVzLmdldChpZCk7CisgICAgaWYg
KCFwcm94eSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKCFtX2Nvbm5lY3Rpb25Qcm94eS0+
c2V0Q2FwdHVyZUF0dHJpYnV0aW9uU3RyaW5nKCkpIHsKKyAgICAgICAgUkVMRUFTRV9MT0dfRVJS
T1IoV2ViUlRDLCAiVW5hYmxlIHRvIHNldCBjYXB0dXJlIGF0dHJpYnV0aW9uLCBmYWlsaW5nIGNh
cHR1cmUuIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBwcm94eS0+c3RhcnQoKTsK
IH0KIAogdm9pZCBVc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5OjpzdG9wUHJvZHVjaW5nRGF0
YShSZWFsdGltZU1lZGlhU291cmNlSWRlbnRpZmllciBpZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHkuaCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHku
aAppbmRleCAwNDEzNDg5ZjE0Mjk4ZGY1NzgzMDQxNDBmZWJhMzQ2Y2MzMmZhZTkyLi5kMGIyMGVj
MTQ1OTY4ZmM1MGY4ZmNjNThkYzc3ZTg3NzI3ZWJkYTljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Db2NvYS9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5LmgKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94
eS5oCkBAIC01Nyw2ICs1Nyw3IEBAIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCBJUEM6OkNvbm5l
Y3Rpb24mIGNvbm5lY3Rpb24oKSA9IDA7CiAgICAgICAgIHZpcnR1YWwgYm9vbCB3aWxsU3RhcnRD
YXB0dXJlKFdlYkNvcmU6OkNhcHR1cmVEZXZpY2U6OkRldmljZVR5cGUpIGNvbnN0ID0gMDsKICAg
ICAgICAgdmlydHVhbCBMb2dnZXImIGxvZ2dlcigpID0gMDsKKyAgICAgICAgdmlydHVhbCBib29s
IHNldENhcHR1cmVBdHRyaWJ1dGlvblN0cmluZygpIHsgcmV0dXJuIHRydWU7IH0KICAgICB9Owog
ICAgIGV4cGxpY2l0IFVzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHkoVW5pcXVlUmVmPENvbm5l
Y3Rpb25Qcm94eT4mJik7CiAgICAgflVzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHkoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuY3Bw
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5jcHAKaW5kZXgg
YWRjNGE0ZDEyZjBjZGQ2Njg0NTkwNGIxODIxYzZiMGFiNjAyNDRlNC4uYzQ1Y2JiNWRlYjBhOTdj
ODE5NjYxNThkYzI0Mjg0M2E4OGE3NzI4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvR1BVL0dQVVByb2Nlc3NQcm94eS5jcHAKQEAgLTI4Myw2ICsyODMsMTAgQEAgdm9pZCBHUFVQ
cm9jZXNzUHJveHk6OnVwZGF0ZUNhcHR1cmVBY2Nlc3MoYm9vbCBhbGxvd0F1ZGlvQ2FwdHVyZSwg
Ym9vbCBhbGxvd1ZpZGUKICAgICBzZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OkdQVVByb2Nl
c3M6OlVwZGF0ZUNhcHR1cmVBY2Nlc3MgeyBhbGxvd0F1ZGlvQ2FwdHVyZSwgYWxsb3dWaWRlb0Nh
cHR1cmUsIGFsbG93RGlzcGxheUNhcHR1cmUsIHByb2Nlc3NJRCB9LCBXVEZNb3ZlKGNvbXBsZXRp
b25IYW5kbGVyKSk7CiB9CiAKK3ZvaWQgR1BVUHJvY2Vzc1Byb3h5Ojp1cGRhdGVDYXB0dXJlT3Jp
Z2luKGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSYgb3JpZ2luRGF0YSwgV2ViQ29y
ZTo6UHJvY2Vzc0lkZW50aWZpZXIgcHJvY2Vzc0lEKQoreworICAgIHNlbmQoTWVzc2FnZXM6OkdQ
VVByb2Nlc3M6OlVwZGF0ZUNhcHR1cmVPcmlnaW4geyBvcmlnaW5EYXRhLCBwcm9jZXNzSUQgfSwg
MCk7Cit9CiAKIHZvaWQgR1BVUHJvY2Vzc1Byb3h5OjphZGRNb2NrTWVkaWFEZXZpY2UoY29uc3Qg
V2ViQ29yZTo6TW9ja01lZGlhRGV2aWNlJiBkZXZpY2UpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmgKaW5kZXggYWJlMGM5MGVhODI3OWE4N2IyOGQ3
OTg0M2JkNmVkZGI5M2FjZWRjMS4uMzhiN2QxZmJkMjhiNmFiYTIyYjcyYjBlMjRmYjVmZDlmNTky
NGU0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQ
cm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHku
aApAQCAtNDksNiArNDksNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBzdHJ1Y3QgTW9ja01l
ZGlhRGV2aWNlOworc3RydWN0IFNlY3VyaXR5T3JpZ2luRGF0YTsKIH0KIAogbmFtZXNwYWNlIFdl
YktpdCB7CkBAIC03Niw3ICs3Nyw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFVzZU1vY2tDYXB0
dXJlRGV2aWNlcyhib29sKTsKICAgICB2b2lkIHNldE9yaWVudGF0aW9uRm9yTWVkaWFDYXB0dXJl
KHVpbnQ2NF90IG9yaWVudGF0aW9uKTsKICAgICB2b2lkIHVwZGF0ZUNhcHR1cmVBY2Nlc3MoYm9v
bCBhbGxvd0F1ZGlvQ2FwdHVyZSwgYm9vbCBhbGxvd1ZpZGVvQ2FwdHVyZSwgYm9vbCBhbGxvd0Rp
c3BsYXlDYXB0dXJlLCBXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZCgpPiYmKTsKLQorICAgIHZvaWQgdXBkYXRlQ2FwdHVyZU9yaWdpbihjb25zdCBXZWJD
b3JlOjpTZWN1cml0eU9yaWdpbkRhdGEmLCBXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllcik7CiAg
ICAgdm9pZCBhZGRNb2NrTWVkaWFEZXZpY2UoY29uc3QgV2ViQ29yZTo6TW9ja01lZGlhRGV2aWNl
Jik7CiAgICAgdm9pZCBjbGVhck1vY2tNZWRpYURldmljZXMoKTsKICAgICB2b2lkIHJlbW92ZU1v
Y2tNZWRpYURldmljZShjb25zdCBTdHJpbmcmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwCmluZGV4IDlmZjBjMjQ2ZTFkMzEwMGIwOGI5OTgxNTMyODdjMTE3ZDI4OGQ0
MDEuLjVjODFhMGZkZmJiODE3MmQ0MDQ2MGJkOGNmMTg3NzFiN2I3MzFhMDAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMTEwLDYgKzExMCw3IEBACiAjaW5j
bHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCiAjaW5jbHVkZSAiV2ViRWRpdENvbW1hbmRQ
cm94eS5oIgogI2luY2x1ZGUgIldlYkV2ZW50Q29udmVyc2lvbi5oIgorI2luY2x1ZGUgIldlYkZy
YW1lLmgiCiAjaW5jbHVkZSAiV2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5LmgiCiAjaW5jbHVk
ZSAiV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eS5oIgogI2luY2x1ZGUgIldlYkZ1bGxTY3JlZW5N
YW5hZ2VyUHJveHlNZXNzYWdlcy5oIgpAQCAtMTM2LDYgKzEzNyw3IEBACiAjaW5jbHVkZSAiV2Vi
UG9wdXBNZW51UHJveHkuaCIKICNpbmNsdWRlICJXZWJQcmVmZXJlbmNlcy5oIgogI2luY2x1ZGUg
IldlYlByZWZlcmVuY2VzS2V5cy5oIgorI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKICNpbmNsdWRl
ICJXZWJQcm9jZXNzTWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzUG9vbC5oIgogI2lu
Y2x1ZGUgIldlYlByb2Nlc3NQcm94eS5oIgpAQCAtNTA5Nyw4ICs1MDk5LDE0IEBAIHZvaWQgV2Vi
UGFnZVByb3h5OjpkaWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uRm9yRnJhbWUoRnJhbWVJZGVudGlm
aWVyIGZyYW1lSUQsIHVpCiB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkQ2hhbmdlTWFpbkRvY3VtZW50
KEZyYW1lSWRlbnRpZmllciBmcmFtZUlEKQogewogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCi0g
ICAgaWYgKG1fdXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyKQorICAgIGlmIChtX3Vz
ZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcikgewogICAgICAgICBtX3VzZXJNZWRpYVBl
cm1pc3Npb25SZXF1ZXN0TWFuYWdlci0+cmVzZXRBY2Nlc3MoZnJhbWVJRCk7CisKKyAgICAgICAg
aWYgKGF1dG8qIGdwdVByb2Nlc3MgPSBtX3Byb2Nlc3MtPnByb2Nlc3NQb29sKCkuZ3B1UHJvY2Vz
cygpKSB7CisgICAgICAgICAgICBpZiAoYXV0byogZnJhbWUgPSBXZWJQcm9jZXNzOjpzaW5nbGV0
b24oKS53ZWJGcmFtZShmcmFtZUlEKSkKKyAgICAgICAgICAgICAgICBncHVQcm9jZXNzLT51cGRh
dGVDYXB0dXJlT3JpZ2luKFNlY3VyaXR5T3JpZ2luRGF0YTo6ZnJvbVVSTChmcmFtZS0+dXJsKCkp
LCBtX3Byb2Nlc3MtPmNvcmVQcm9jZXNzSWRlbnRpZmllcigpKTsKKyAgICAgICAgfQorICAgIH0K
ICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKGZyYW1lSUQpOwogI2VuZGlmCkBAIC04NDE0LDYgKzg0
MjIsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6d2lsbFN0YXJ0Q2FwdHVyZShjb25zdCBVc2VyTWVk
aWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5JiByZXF1ZQogCiAgICAgYXV0byYgZ3B1UHJvY2VzcyA9
IHByb2Nlc3MoKS5wcm9jZXNzUG9vbCgpLmVuc3VyZUdQVVByb2Nlc3MoKTsKICAgICBncHVQcm9j
ZXNzLnVwZGF0ZUNhcHR1cmVBY2Nlc3MocmVxdWVzdC5yZXF1aXJlc0F1ZGlvQ2FwdHVyZSgpLCBy
ZXF1ZXN0LnJlcXVpcmVzVmlkZW9DYXB0dXJlKCksIHJlcXVlc3QucmVxdWlyZXNEaXNwbGF5Q2Fw
dHVyZSgpLCBtX3Byb2Nlc3MtPmNvcmVQcm9jZXNzSWRlbnRpZmllcigpLCBXVEZNb3ZlKGNhbGxi
YWNrKSk7CisgICAgZ3B1UHJvY2Vzcy51cGRhdGVDYXB0dXJlT3JpZ2luKHJlcXVlc3QudG9wTGV2
ZWxEb2N1bWVudFNlY3VyaXR5T3JpZ2luKCkuZGF0YSgpLCBtX3Byb2Nlc3MtPmNvcmVQcm9jZXNz
SWRlbnRpZmllcigpKTsKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIGdwdVByb2Nlc3Mu
c2V0T3JpZW50YXRpb25Gb3JNZWRpYUNhcHR1cmUobV9kZXZpY2VPcmllbnRhdGlvbik7CiAjZW5k
aWYKQEAgLTEwNTk4LDEyICsxMDYwNywxMiBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6Z3B1UHJvY2Vz
c0V4aXRlZChHUFVQcm9jZXNzVGVybWluYXRpb25SZWFzb24pCiAgICAgcGFnZUNsaWVudCgpLmdw
dVByb2Nlc3NEaWRFeGl0KCk7CiAKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQotICAgIGJvb2wg
c2hvdWxkQWxsb3dBdWRpb0NhcHR1cmUgPSBpc0NhcHR1cmluZ0F1ZGlvKCkgJiYgcHJlZmVyZW5j
ZXMoKS5jYXB0dXJlQXVkaW9JbkdQVVByb2Nlc3NFbmFibGVkKCk7Ci0gICAgYm9vbCBzaG91bGRB
bGxvd1ZpZGVvQ2FwdHVyZSA9IGlzQ2FwdHVyaW5nVmlkZW8oKSAmJiBwcmVmZXJlbmNlcygpLmNh
cHR1cmVWaWRlb0luR1BVUHJvY2Vzc0VuYWJsZWQoKTsKLSAgICBib29sIHNob3VsZEFsbG93RGlz
cGxheUNhcHR1cmUgPSBmYWxzZTsKLSAgICBpZiAoc2hvdWxkQWxsb3dBdWRpb0NhcHR1cmUgfHwg
c2hvdWxkQWxsb3dWaWRlb0NhcHR1cmUpIHsKKyAgICBib29sIGFjdGl2ZUF1ZGlvQ2FwdHVyZSA9
IGlzQ2FwdHVyaW5nQXVkaW8oKSAmJiBwcmVmZXJlbmNlcygpLmNhcHR1cmVBdWRpb0luR1BVUHJv
Y2Vzc0VuYWJsZWQoKTsKKyAgICBib29sIGFjdGl2ZVZpZGVvQ2FwdHVyZSA9IGlzQ2FwdHVyaW5n
VmlkZW8oKSAmJiBwcmVmZXJlbmNlcygpLmNhcHR1cmVWaWRlb0luR1BVUHJvY2Vzc0VuYWJsZWQo
KTsKKyAgICBib29sIGFjdGl2ZURpc3BsYXlDYXB0dXJlID0gZmFsc2U7CisgICAgaWYgKGFjdGl2
ZUF1ZGlvQ2FwdHVyZSB8fCBhY3RpdmVWaWRlb0NhcHR1cmUpIHsKICAgICAgICAgYXV0byYgZ3B1
UHJvY2VzcyA9IHByb2Nlc3MoKS5wcm9jZXNzUG9vbCgpLmVuc3VyZUdQVVByb2Nlc3MoKTsKLSAg
ICAgICAgZ3B1UHJvY2Vzcy51cGRhdGVDYXB0dXJlQWNjZXNzKHNob3VsZEFsbG93QXVkaW9DYXB0
dXJlLCBzaG91bGRBbGxvd1ZpZGVvQ2FwdHVyZSwgc2hvdWxkQWxsb3dEaXNwbGF5Q2FwdHVyZSwg
bV9wcm9jZXNzLT5jb3JlUHJvY2Vzc0lkZW50aWZpZXIoKSwgW10geyB9KTsKKyAgICAgICAgZ3B1
UHJvY2Vzcy51cGRhdGVDYXB0dXJlQWNjZXNzKGFjdGl2ZUF1ZGlvQ2FwdHVyZSwgYWN0aXZlVmlk
ZW9DYXB0dXJlLCBhY3RpdmVEaXNwbGF5Q2FwdHVyZSwgbV9wcm9jZXNzLT5jb3JlUHJvY2Vzc0lk
ZW50aWZpZXIoKSwgW10geyB9KTsKICAgICB9CiAjZW5kaWYKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0
L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGVhZTBmZWQ5MDlhNTBhNTlh
MGMzZjQzMzY5YTY4NDJmY2FmN2Q1MDAuLmQ1OTdlZThjMDQwZTg0MjkwOGZkNWFmY2E5OGI3NzU4
Y2JhNTkyYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtMTI0LDYgKzEyNCw3IEBACiAJCTA3OTIzMTQ4MjM5Q0JDQjgwMDk1OThFMiAv
KiBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eU1lc3NhZ2VzUmVwbGllcy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDc5MjMxNDIyMzlDQkNCNTAw
OTU5OEUyIC8qIFJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5TWVzc2FnZXNSZXBsaWVzLmgg
Ki87IH07CiAJCTA3OTIzMTRCMjM5Q0JDQjgwMDk1OThFMiAvKiBSZW1vdGVNZWRpYVBsYXllck1h
bmFnZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwNzkyMzE0NTIzOUNCQ0I3MDA5NTk4RTIgLyogUmVtb3RlTWVk
aWFQbGF5ZXJNYW5hZ2VyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwogCQkwNzkyMzE0
QzIzOUNCQ0I4MDA5NTk4RTIgLyogUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHlNZXNzYWdl
cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDc5MjMx
NDYyMzlDQkNCNzAwOTU5OEUyIC8qIFJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5TWVzc2Fn
ZXMuaCAqLzsgfTsKKwkJMDc5RDFEOUEyNjk2MENEMzAwODgzNTc3IC8qIFN5c3RlbVN0YXR1c1NQ
SS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDc5RDFE
OTkyNjk2MENEMzAwODgzNTc3IC8qIFN5c3RlbVN0YXR1c1NQSS5oICovOyB9OwogCQkwN0E1RUJC
QzFDN0JBNDNFMDBCOUNBNjkgLyogV0tGcmFtZUhhbmRsZVJlZi5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDdBNUVCQkExQzdCQTQzRTAwQjlDQTY5IC8q
IFdLRnJhbWVIYW5kbGVSZWYuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQkwN0UxOUVGQjIzRDQwMUYxMDA5NEZGQjQgLyogTWVkaWFQbGF5ZXJQcml2
YXRlUmVtb3RlTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDA3RTE5RUY4MjNENDAxRjAwMDk0RkZCNCAvKiBNZWRpYVBsYXll
clByaXZhdGVSZW1vdGVNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwogCQkwN0UxOUVGQzIzRDQw
MUYxMDA5NEZGQjQgLyogTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlTWVzc2FnZXMuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3RTE5RUY5MjNENDAxRjAw
MDk0RkZCNCAvKiBNZWRpYVBsYXllclByaXZhdGVSZW1vdGVNZXNzYWdlcy5oICovOyB9OwpAQCAt
MjQ0OSw2ICsyNDUwLDggQEAKIAkJMDc5NEI0QUMyNDQ1MUJCOTAwMDFCOUM0IC8qIE1lZGlhVXNh
Z2VNYW5hZ2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlhVXNhZ2VNYW5hZ2VyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA3OTRCNEFFMjQ0NTI0QjAwMDAxQjlDNCAvKiBNZWRpYVVz
YWdlTWFuYWdlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZWRpYVVzYWdlTWFuYWdlci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA3OTRCNEFGMjQ0NTJBMkMwMDAxQjlDNCAv
KiBNZWRpYVVzYWdlTWFuYWdlckNvY29hLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlhVXNhZ2VNYW5h
Z2VyQ29jb2EuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMDc5RDFEOTkyNjk2MENE
MzAwODgzNTc3IC8qIFN5c3RlbVN0YXR1c1NQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBTeXN0ZW1TdGF0dXNTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MDc5RDFEOUMyNjk4REJEMDAwODgzNTc3IC8qIGNvY29hICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gZm9sZGVyOyBwYXRoID0gY29jb2E7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA3QTVFQkI5MUM3QkE0M0UwMEI5Q0E2OSAvKiBXS0ZyYW1l
SGFuZGxlUmVmLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdLRnJh
bWVIYW5kbGVSZWYuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwN0E1RUJCQTFD
N0JBNDNFMDBCOUNBNjkgLyogV0tGcmFtZUhhbmRsZVJlZi5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBXS0ZyYW1lSGFuZGxlUmVmLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTA3QTZFNUUzMjYwRTQxMTQwMDk1OTQ3OCAvKiBSZW1vdGVNZWRpYVNlc3Npb25Db29y
ZGluYXRvclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbW90
ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzYzMyw2ICs3NjM2LDcgQEAKIAkJMkQ5RkIxRkYyMzc1
MjA5RDAwNDlGOTM2IC8qIEdQVVByb2Nlc3MgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJ
CWNoaWxkcmVuID0gKAorCQkJCTA3OUQxRDlDMjY5OERCRDAwMDg4MzU3NyAvKiBjb2NvYSAqLywK
IAkJCQkyRDlGQjIwRDIzNzUyMDlEMDA0OUY5MzYgLyogRW50cnlQb2ludCAqLywKIAkJCQk1NTA2
NDBBMTI0MDcxQTI5MDBBQUUwNDUgLyogZ3JhcGhpY3MgKi8sCiAJCQkJMkQ5RkIyMDQyMzc1MjA5
RDAwNDlGOTM2IC8qIGlvcyAqLywKQEAgLTExNTI3LDYgKzExNTMxLDcgQEAKIAkJCQlBMTNCM0RB
MTIwN0YzOURFMDA5MEM1OEQgLyogTW9iaWxlV2lGaVNQSS5oICovLAogCQkJCTMxNzhBRjk3MjBF
MkE3RjgwMDc0REU5NCAvKiBQREZLaXRTUEkuaCAqLywKIAkJCQk0NkYzOEU4QjI0MTZFNjZEMDA1
OTM3NUEgLyogUnVubmluZ0JvYXJkU2VydmljZXNTUEkuaCAqLywKKwkJCQkwNzlEMUQ5OTI2OTYw
Q0QzMDA4ODM1NzcgLyogU3lzdGVtU3RhdHVzU1BJLmggKi8sCiAJCQkJQ0UxQTBCRDAxQTQ4RTZD
NjAwNTRFRjc0IC8qIFRDQ1NQSS5oICovLAogCQkJCUNFMUEwQkQxMUE0OEU2QzYwMDU0RUY3NCAv
KiBUZXh0SW5wdXRTUEkuaCAqLywKIAkJCQlDRUU0QUUyQTFBNURDRjQzMDAwMkY0OUIgLyogVUlL
aXRTUEkuaCAqLywKQEAgLTEyMzYyLDYgKzEyMzY3LDcgQEAKIAkJCQk0NDhBQzI0RTI2NzEzNUE3
MDBCMjg5MjEgLyogU3luYXBzZVNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDQ1OTk4NDIyMjgz
M0U4NzAwRTYxMzczIC8qIFN5bnRoZXRpY0VkaXRpbmdDb21tYW5kVHlwZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMzE1NzEzNUYyMDQwQTlCMjAwODRGOUNGIC8qIFN5c3RlbVByZXZpZXdDb250cm9s
bGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQkwNzlEMUQ5QTI2OTYwQ0QzMDA4ODM1NzcgLyogU3lz
dGVtU3RhdHVzU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQk0NEM1MTg0NDI2NkJFOEM0MDA2REQ1
MjIgLyogVENDU29mdExpbmsuaCBpbiBIZWFkZXJzICovLAogCQkJCUNFMUEwQkQ2MUE0OEU2QzYw
MDU0RUY3NCAvKiBUQ0NTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBQTQxN0NCMTJDMDBDQ0Ew
MDJCRTY3QiAvKiBUZXh0Q2hlY2tlci5oIGluIEhlYWRlcnMgKi8sCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433342</attachid>
            <date>2021-07-12 12:48:43 -0700</date>
            <delta_ts>2021-07-12 18:29:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227871-20210712154842.patch</filename>
            <type>text/plain</type>
            <size>39502</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5ODQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmRhOTZjZDFiZjQ5ZmI0
ZTk2ZGU1MDBmOWU1NjA0YzlhNWJiYjEwMS4uNWRhMjU4ZjE1N2FlMGVkYTk3ODliNzQxYmJlYzJh
ZDAzNWY5NWIxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTA3LTEyICBFcmlj
IENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIER5bmFt
aWNhbGx5IHNldCBjYXB0dXJlIGF0dHJpYnV0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjc4NzEKKyAgICAgICAgcmRhcjovLzcwMjQxNjY1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRl
c3RzLCB0ZXN0ZWQgbWFudWFsbHkuCisKKyAgICAgICAgKiBlbi5scHJvai9Mb2NhbGl6YWJsZS5z
dHJpbmdzOgorCiAyMDIxLTA3LTEyICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAK
ICAgICAgICAgVW5yZXZpZXdlZCwgcGFydGlhbCByZXZlcnQgb2YgcjI3OTY2MSB0byBhZGRyZXNz
IGNyYXNoZXMgb24gaU9TIERlYnVnLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKaW5kZXggMDQ1ODAxMTYwYjE2
ZGJlMGU4Njg4NThlNmE0YjA4M2ZiMGQ5OTZjOS4uNWZhYzJmN2MwYjNiMWRlZTJmYWEwMDU2NGNj
Njg4ZDM4NjU0ZmJmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEt
MDctMTIgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAg
W2lPU10gRHluYW1pY2FsbHkgc2V0IGNhcHR1cmUgYXR0cmlidXRpb24KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzg3MQorICAgICAgICByZGFyOi8v
NzAyNDE2NjUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFBBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHBhbC9pb3MvU3lz
dGVtU3RhdHVzU29mdExpbmsuaDogQWRkZWQuCisgICAgICAgICogcGFsL2lvcy9TeXN0ZW1TdGF0
dXNTb2Z0TGluay5tbTogQWRkZWQuCisKIDIwMjEtMDctMDkgIEplciBOb2JsZSAgPGplci5ub2Js
ZUBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBNYWtlIENvb3JkaW5hdG9yIHBsYXliYWNr
IGNvbW1hbmRzIG1vcmUgcHJlY2lzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAxYjc4ZjY4ZjUyMzg5NDY1YTViMWMz
MjVlNTdkYjYyOWFiNTVlMmFkLi45MDc3YjY1N2Y4YzY5NWYzMjEwZDc0YzU0MjYwMzM1OTYxNWI1
NzQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDIxLTA3LTEyICBFcmljIENhcmxzb24g
IDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIER5bmFtaWNhbGx5IHNl
dCBjYXB0dXJlIGF0dHJpYnV0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjc4NzEKKyAgICAgICAgcmRhcjovLzcwMjQxNjY1CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBHUFVQcm9jZXNzL0VudHJ5
UG9pbnQvQ29jb2EvWFBDU2VydmljZS9HUFVTZXJ2aWNlL0luZm8taU9TLnBsaXN0OiBSZW1vdmUg
X1NUQXR0cmlidXRpb25EaXNwbGF5TmFtZQorCisgICAgICAgICogR1BVUHJvY2Vzcy9HUFVDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6R1BVQ29ubmVjdGlvblRv
V2ViUHJvY2Vzczo6R1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcyk6IEluaXRpYWxpemUgbV9jYXB0
dXJlT3JpZ2luLgorICAgICAgICAoV2ViS2l0OjpHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjp1
cGRhdGVDYXB0dXJlT3JpZ2luKTogVXBkYXRlLgorICAgICAgICAoV2ViS2l0OjpHUFVDb25uZWN0
aW9uVG9XZWJQcm9jZXNzOjpzZXRDYXB0dXJlQXR0cmlidXRpb25TdHJpbmcgY29uc3QpOiBOb24t
Q29jb2Egc3R1Yi4KKyAgICAgICAgKiBHUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nl
c3MuaDoKKworICAgICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OkdQVVByb2Nlc3M6OnVwZGF0ZUNhcHR1cmVPcmlnaW4pOiBDYWxsIHNhbWUgbWV0aG9k
IGluIFdlYlByb2Nlc3NDb25uZWN0aW9uLAorICAgICAgICBpZiBpdCBleGlzdHMuCisgICAgICAg
ICogR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmg6CisgICAgICAgICogR1BVUHJvY2Vzcy9HUFVQcm9j
ZXNzLm1lc3NhZ2VzLmluOgorCisgICAgICAgICogR1BVUHJvY2Vzcy9jb2NvYS9HUFVDb25uZWN0
aW9uVG9XZWJQcm9jZXNzQ29jb2EubW06IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpHUFVDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzOjpzZXRDYXB0dXJlQXR0cmlidXRpb25TdHJpbmcpOiBTZXQgdGhl
IGF0dHJpYnV0aW9uCisgICAgICAgIHN0cmluZyB0byAiW2RvbWFpbl0gaW4gW2FwcGxpY2F0aW9u
XSIuCisKKyAgICAgICAgKiBQbGF0Zm9ybS9zcGkvaW9zL1N5c3RlbVN0YXR1c1NQSS5oOiBBZGRl
ZC4KKyAgICAgICAgKiBSZXNvdXJjZXMvU2FuZGJveFByb2ZpbGVzL2lvcy9jb20uYXBwbGUuV2Vi
S2l0LkdQVS5zYjogQWxsb3cgImNvbS5hcHBsZS5zeXN0ZW1zdGF0dXMuYWN0aXZpdHlhdHRyaWJ1
dGlvbiIKKyAgICAgICAgdG8gYmUgbG9va2VkIHVwLgorCisgICAgICAgICogU2NyaXB0cy9wcm9j
ZXNzLWVudGl0bGVtZW50cy5zaDogQWRkIHRoZSBlbnRpdGxlbWVudHMgcmVxdWlyZWQgdG8gdXNl
IHRoZSAKKyAgICAgICAgU3lzdGVtU3RhdHVzIFNQSS4KKworICAgICAgICAqIFNvdXJjZXNDb2Nv
YS50eHQ6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1VzZXJNZWRpYUNhcHR1cmVNYW5hZ2Vy
UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpVc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5
OjpzdGFydFByb2R1Y2luZ0RhdGEpOiBGYWlsIGNhcHR1cmUKKyAgICAgICAgaWYgc2V0Q2FwdHVy
ZUF0dHJpYnV0aW9uU3RyaW5nIHJldHVybnMgZmFsc2UuCisgICAgICAgICogVUlQcm9jZXNzL0Nv
Y29hL1VzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHkuaDoKKyAgICAgICAgKFdlYktpdDo6VXNl
ck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eTo6Q29ubmVjdGlvblByb3h5OjpzZXRDYXB0dXJlQXR0
cmlidXRpb25TdHJpbmcpOgorCisgICAgICAgICogVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJv
eHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpHUFVQcm9jZXNzUHJveHk6OnVwZGF0ZUNhcHR1cmVP
cmlnaW4pOiBDYWxsIGdwdVByb2Nlc3MudXBkYXRlQ2FwdHVyZU9yaWdpbgorICAgICAgICBzbyB0
aGUgY2FwdHVyZSBvcmlnaW4gaXMgY29ycmVjdCB3aGVuIGNhcHR1cmUgYmVnaW5zLgorICAgICAg
ICAqIFVJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5Lmg6CisKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpkaWRD
aGFuZ2VNYWluRG9jdW1lbnQpOiBVcGRhdGUgdGhlIGNhcHR1cmUgb3JpZ2luLgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlUHJveHk6OndpbGxTdGFydENhcHR1cmUpOiBEaXR0by4KKyAgICAgICAg
KFdlYktpdDo6V2ViUGFnZVByb3h5OjpncHVQcm9jZXNzRXhpdGVkKTogRHJpdmUtYnkgLSB1cGRh
dGUgbG9jYWwgdmFyaWFibGUgbmFtZXMKKyAgICAgICAgdG8gbWFrZSB0aGVpciBwdXJwb3NlIGNs
ZWFyZXIuCisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIw
MjEtMDctMTIgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJl
dmlld2VkLCByZXZlcnRpbmcgcjI3OTgzNS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BB
TC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1BBTC9QQUwu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBiYjNkNzY4MjI4NGMxZjc1NDM3ODNjYmFj
MGY3YTY0ZjBlYTE4OTI1Li5mOGE1OWQ3N2IyOTM0YWQzYTEwNzRmMGE2NTdjMmQzNzY1ZmIzMjkz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCkBAIC0yNSw2ICsyNSw4IEBACiAJCTA3NjExREI3MjQzRkE1QkYwMEQ4MDcwNCAvKiBVc2Fn
ZVRyYWNraW5nU29mdExpbmsubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwNzYxMURCNTI0M0ZBNUJGMDBEODA3MDQgLyogVXNhZ2VUcmFja2luZ1NvZnRM
aW5rLm1tICovOyB9OwogCQkwNzdFODdCMTIyNkE0NjAyMDBBMkFGRjAgLyogQVZGb3VuZGF0aW9u
U29mdExpbmsubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwNzdFODdBRjIyNkE0NjAyMDBBMkFGRjAgLyogQVZGb3VuZGF0aW9uU29mdExpbmsubW0gKi87
IH07CiAJCTA3N0U4N0IyMjI2QTQ2MDMwMEEyQUZGMCAvKiBBVkZvdW5kYXRpb25Tb2Z0TGluay5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDc3RTg3QjAy
MjZBNDYwMjAwQTJBRkYwIC8qIEFWRm91bmRhdGlvblNvZnRMaW5rLmggKi87IH07CisJCTA3OUQx
RDk3MjY5NTBERDcwMDg4MzU3NyAvKiBTeXN0ZW1TdGF0dXNTb2Z0TGluay5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDc5RDFEOTUyNjk1MERENzAwODgz
NTc3IC8qIFN5c3RlbVN0YXR1c1NvZnRMaW5rLmggKi87IH07CisJCTA3OUQxRDk4MjY5NTBERDcw
MDg4MzU3NyAvKiBTeXN0ZW1TdGF0dXNTb2Z0TGluay5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3OUQxRDk2MjY5NTBERDcwMDg4MzU3NyAvKiBTeXN0
ZW1TdGF0dXNTb2Z0TGluay5tbSAqLzsgfTsKIAkJMEMwMENGRDQxRjY4Q0U0NjAwQUFDMjZEIC8q
IE1lZGlhVGltZUFWRm91bmRhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMEMwMENGRDIxRjY4Q0U0NjAwQUFDMjZEIC8qIE1lZGlhVGltZUFWRm91
bmRhdGlvbi5oICovOyB9OwogCQkwQzJEOUU3MzFFRUY1QUY2MDBEQkMzMTcgLyogRXhwb3J0TWFj
cm9zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwQzJE
OUU3MjFFRUY1QUY2MDBEQkMzMTcgLyogRXhwb3J0TWFjcm9zLmggKi87IH07CiAJCTBDMkRBMDZE
MUYzM0NBODQwMERCQzMxNyAvKiBDRkxvY2FsZVNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEMyREEwNjcxRjMzQ0E4NDAwREJDMzE3IC8qIENGTG9j
YWxlU1BJLmggKi87IH07CkBAIC0yMzYsNiArMjM4LDggQEAKIAkJMDc2MTFEQjUyNDNGQTVCRjAw
RDgwNzA0IC8qIFVzYWdlVHJhY2tpbmdTb2Z0TGluay5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgcGF0aCA9IFVzYWdlVHJhY2tpbmdTb2Z0TGluay5tbTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMDc3RTg3QUYyMjZBNDYwMjAwQTJBRkYwIC8qIEFWRm91bmRhdGlv
blNvZnRMaW5rLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQVZG
b3VuZGF0aW9uU29mdExpbmsubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA3N0U4
N0IwMjI2QTQ2MDIwMEEyQUZGMCAvKiBBVkZvdW5kYXRpb25Tb2Z0TGluay5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBBVkZvdW5kYXRpb25Tb2Z0TGluay5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkwNzlEMUQ5NTI2OTUwREQ3MDA4ODM1NzcgLyogU3lzdGVtU3Rh
dHVzU29mdExpbmsuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3lzdGVtU3Rh
dHVzU29mdExpbmsuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMDc5RDFEOTYyNjk1
MERENzAwODgzNTc3IC8qIFN5c3RlbVN0YXR1c1NvZnRMaW5rLm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBwYXRoID0gU3lzdGVtU3RhdHVzU29mdExpbmsubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBDMDBDRkQxMUY2OENFNDYwMEFBQzI2RCAvKiBNZWRpYVRp
bWVBVkZvdW5kYXRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
TWVkaWFUaW1lQVZGb3VuZGF0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MEMwMENGRDIxRjY4Q0U0NjAwQUFDMjZEIC8qIE1lZGlhVGltZUFWRm91bmRhdGlvbi5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYVRpbWVBVkZvdW5kYXRpb24uaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEMyRDlFNzIxRUVGNUFGNjAwREJDMzE3IC8qIEV4
cG9ydE1hY3Jvcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBFeHBvcnRNYWNy
b3MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTc2NCw2ICs3NjgsOCBAQAogCQkJ
CTVDN0M3ODcyMjNBQzNFNzcwMDY1RjQ3RSAvKiBNYW5hZ2VkQ29uZmlndXJhdGlvblNvZnRMaW5r
Lm1tICovLAogCQkJCTQ0NTBGQzlFMjFGNUY2MDIwMDRERkE1NiAvKiBRdWlja0xvb2tTb2Z0TGlu
ay5oICovLAogCQkJCTQ0NTBGQzlEMjFGNUY2MDIwMDRERkE1NiAvKiBRdWlja0xvb2tTb2Z0TGlu
ay5tbSAqLywKKwkJCQkwNzlEMUQ5NTI2OTUwREQ3MDA4ODM1NzcgLyogU3lzdGVtU3RhdHVzU29m
dExpbmsuaCAqLywKKwkJCQkwNzlEMUQ5NjI2OTUwREQ3MDA4ODM1NzcgLyogU3lzdGVtU3RhdHVz
U29mdExpbmsubW0gKi8sCiAJCQkJMkUxMzQyQ0EyMTVBQTEwQTAwNzE5OUQyIC8qIFVJS2l0U29m
dExpbmsuaCAqLywKIAkJCQkyRTEzNDJDQjIxNUFBMTBBMDA3MTk5RDIgLyogVUlLaXRTb2Z0TGlu
ay5tbSAqLywKIAkJCSk7CkBAIC05OTcsNiArMTAwMyw3IEBACiAJCQkJMzEzMDhCMTQyMEEyMTcw
NTAwM0ZCOTI5IC8qIFN5c3RlbVByZXZpZXdTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCUEzQUI2
RTU4MUYzRDFEREIwMDlDMTRCMSAvKiBTeXN0ZW1TbGVlcExpc3RlbmVyLmggaW4gSGVhZGVycyAq
LywKIAkJCQlBM0FCNkU2NDFGM0QyMTdGMDA5QzE0QjEgLyogU3lzdGVtU2xlZXBMaXN0ZW5lck1h
Yy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMDc5RDFEOTcyNjk1MERENzAwODgzNTc3IC8qIFN5c3Rl
bVN0YXR1c1NvZnRMaW5rLmggaW4gSGVhZGVycyAqLywKIAkJCQkwQzc3ODVBMTFGNDUxMzBGMDBG
NEVCQjYgLyogVGVsZXBob255VXRpbGl0aWVzU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRTEz
NDJDQzIxNUFBMTBBMDA3MTk5RDIgLyogVUlLaXRTb2Z0TGluay5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMEM1QUY5MjIxRjQzQTRDNzAwMkVBQzAyIC8qIFVJS2l0U1BJLmggaW4gSGVhZGVycyAqLywK
QEAgLTExMzQsNiArMTE0MSw3IEBACiAJCQkJOTNCMzhFQzAyNTgyMUNEODAwMTk4RTYzIC8qIFNw
ZWVjaFNvZnRMaW5rLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQTNBQjZFNTcxRjNEMUREQjAwOUMx
NEIxIC8qIFN5c3RlbVNsZWVwTGlzdGVuZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTNBQjZF
NjUxRjNEMjE3RjAwOUMxNEIxIC8qIFN5c3RlbVNsZWVwTGlzdGVuZXJNYWMubW0gaW4gU291cmNl
cyAqLywKKwkJCQkwNzlEMUQ5ODI2OTUwREQ3MDA4ODM1NzcgLyogU3lzdGVtU3RhdHVzU29mdExp
bmsubW0gaW4gU291cmNlcyAqLywKIAkJCQkyRTEzNDJDRDIxNUFBMTBBMDA3MTk5RDIgLyogVUlL
aXRTb2Z0TGluay5tbSBpbiBTb3VyY2VzICovLAogCQkJCTA3NjExREI3MjQzRkE1QkYwMEQ4MDcw
NCAvKiBVc2FnZVRyYWNraW5nU29mdExpbmsubW0gaW4gU291cmNlcyAqLywKIAkJCQk0MUUxRjM0
NDI0OEE2QTAwMDAyMkQ1REUgLyogVmlkZW9Ub29sYm94U29mdExpbmsuY3BwIGluIFNvdXJjZXMg
Ki8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2lvcy9TeXN0ZW1TdGF0dXNT
b2Z0TGluay5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9pb3MvU3lzdGVtU3RhdHVzU29mdExp
bmsuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xZDc2YTQ3ZDY4OTczMTAzYTNhZWFhNWU2ZDEzZWRlZmM5ZmU4OTE5
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9pb3MvU3lzdGVtU3Rh
dHVzU29mdExpbmsuaApAQCAtMCwwICsxLDM2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIx
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNl
CisKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKSAmJiAhUExBVEZPUk0oTUFDQ0FUQUxZU1QpCisK
KyNpbXBvcnQgPHd0Zi9Tb2Z0TGlua2luZy5oPgorCitTT0ZUX0xJTktfRlJBTUVXT1JLX0ZPUl9I
RUFERVIoUEFMLCBTeXN0ZW1TdGF0dXMpCisKK1NPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFBB
TCwgU1REeW5hbWljQWN0aXZpdHlBdHRyaWJ1dGlvblB1Ymxpc2hlcik7CisKKyNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9pb3MvU3lzdGVtU3RhdHVzU29mdExpbmsu
bW0gYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2lvcy9TeXN0ZW1TdGF0dXNTb2Z0TGluay5tbQpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5kYTZmNDMzNWU0OTE0ODA5MjExNTVhYWJkOWRhNWQ4OGFmYWZiZWU4Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9pb3MvU3lzdGVtU3RhdHVzU29m
dExpbmsubW0KQEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNvbmZpZy5o
IgorCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgIVBMQVRGT1JNKE1BQ0NBVEFMWVNUKQor
CisjaW1wb3J0IDx3dGYvU29mdExpbmtpbmcuaD4KKworU09GVF9MSU5LX1BSSVZBVEVfRlJBTUVX
T1JLX0ZPUl9TT1VSQ0UoUEFMLCBTeXN0ZW1TdGF0dXMpCisKK1NPRlRfTElOS19DTEFTU19GT1Jf
U09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgU3lzdGVtU3RhdHVzLCBTVER5bmFtaWNBY3Rpdml0eUF0
dHJpYnV0aW9uUHVibGlzaGVyLCBQQUxfRVhQT1JUKTsKKworI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9lbi5scHJvai9Mb2NhbGl6YWJsZS5zdHJpbmdzIGIvU291cmNlL1dlYkNv
cmUvZW4ubHByb2ovTG9jYWxpemFibGUuc3RyaW5ncwppbmRleCA3MTY2ZjlhZmVhZmYzZjJjODA2
ZWVlZjUzNjE4NzRjYjc0OTY2MjcxLi45MTg5OWZmZjE4MzcxMGViNDM0YmY3OWM0ZTY3NzAwOWFi
MjQ0OWIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lbi5scHJvai9Mb2NhbGl6YWJsZS5z
dHJpbmdzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VuLmxwcm9qL0xvY2FsaXphYmxlLnN0cmluZ3MK
QEAgLTE2MzYsMyArMTYzNiw1IEBACiAvKiBPcHRpb24gaW4gc2VnbWVudGVkIGNvbnRyb2wgZm9y
IGNob29zaW5nIGxpc3QgdHlwZSBpbiB0ZXh0IGVkaXRpbmcgKi8KICLigKIiID0gIuKAoiI7CiAK
Ky8qIFRoZSBkb21haW4gYW5kIGFwcGxpY2F0aW9uIHVzaW5nIHRoZSBjYW1lcmEgYW5kL29yIG1p
Y3JvcGhvbmUuIFRoZSBmaXJzdCBhcmd1bWVudCBpcyBkb21haW4sIHRoZSBzZWNvbmQgaXMgdGhl
IGFwcGxpY2F0aW9uIG5hbWUgKGlPUyBvbmx5KS4gKi8KKyLigJwlQOKAnSBpbiDigJwlJUDigJ0i
ID0gIuKAnCVA4oCdIGluIOKAnCUlQOKAnSI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvRW50cnlQb2ludC9Db2NvYS9YUENTZXJ2aWNlL0dQVVNlcnZpY2UvSW5mby1pT1Mu
cGxpc3QgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvRW50cnlQb2ludC9Db2NvYS9YUENTZXJ2
aWNlL0dQVVNlcnZpY2UvSW5mby1pT1MucGxpc3QKaW5kZXggZjQxYjY1MjAwZGZiNzU3MDZhY2Jm
ZDdmZDZiYmU2M2NkMjA1YzMxZS4uMTkyM2FmNzUyMDMxYTJhYWNiYzE5OWEwZWVlZDVkZTAxMzUw
MTQ0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0VudHJ5UG9pbnQvQ29j
b2EvWFBDU2VydmljZS9HUFVTZXJ2aWNlL0luZm8taU9TLnBsaXN0CisrKyBiL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9FbnRyeVBvaW50L0NvY29hL1hQQ1NlcnZpY2UvR1BVU2VydmljZS9JbmZv
LWlPUy5wbGlzdApAQCAtMjgsOCArMjgsNiBAQAogCTxzdHJpbmc+TlNBcHBsaWNhdGlvbjwvc3Ry
aW5nPgogCTxrZXk+TFNVSUVsZW1lbnQ8L2tleT4KIAk8dHJ1ZS8+Ci0gICAgPGtleT5fU1RBdHRy
aWJ1dGlvbkRpc3BsYXlOYW1lPC9rZXk+Ci0gICAgPHN0cmluZz5XZWJzaXRlPC9zdHJpbmc+CiAJ
PGtleT5YUENTZXJ2aWNlPC9rZXk+CiAJPGRpY3Q+CiAJCTxrZXk+U2VydmljZVR5cGU8L2tleT4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzLmNwcAppbmRleCBlZWFlMzE2NWU0ZTIwYTRkMzYwNjUxM2UwOGQ2YTBlMjY3ZmU2NzA2
Li5mMjE3MzU2NWEzZjcwNmE4Mjk3NmUzMjJmMmZjOGI3MDU3NjNhOGY1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3Bw
CkBAIC0xMzksNiArMTM5LDEwIEBACiAjaW5jbHVkZSAiTG9jYWxBdWRpb1Nlc3Npb25Sb3V0aW5n
QXJiaXRyYXRvci5oIgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorI2luY2x1
ZGUgPFdlYkNvcmUvU2VjdXJpdHlPcmlnaW4uaD4KKyNlbmRpZgorCiBuYW1lc3BhY2UgV2ViS2l0
IHsKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCkBAIC0xNzgsOSArMTgyLDE1IEBAIHByaXZh
dGU6CiAgICAgICAgICAgICByZXR1cm4gbV9wcm9jZXNzLmFsbG93c0Rpc3BsYXlDYXB0dXJlKCk7
CiAgICAgICAgIH0KICAgICB9CisgICAgCisgICAgYm9vbCBzZXRDYXB0dXJlQXR0cmlidXRpb25T
dHJpbmcoKSBmaW5hbAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fcHJvY2Vzcy5zZXRDYXB0dXJl
QXR0cmlidXRpb25TdHJpbmcoKTsKKyAgICB9CiAKICAgICBHUFVDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzJiBtX3Byb2Nlc3M7CiB9OworCiAjZW5kaWYKIAogUmVmPEdQVUNvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3M+IEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmNyZWF0ZShHUFVQcm9jZXNzJiBncHVQ
cm9jZXNzLCBXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciB3ZWJQcm9jZXNzSWRlbnRpZmllciwg
SVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVyIGNvbm5lY3Rpb25JZGVudGlmaWVyLCBQQUw6OlNl
c3Npb25JRCBzZXNzaW9uSUQsIEdQVVByb2Nlc3NDb25uZWN0aW9uUGFyYW1ldGVycyYmIHBhcmFt
ZXRlcnMpCkBAIC0yMDMsNiArMjEzLDkgQEAgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6R1BV
Q29ubmVjdGlvblRvV2ViUHJvY2VzcyhHUFVQcm9jZXNzJiBncHVQcm9jZXNzLCBXZWIKICNpZiBQ
TEFURk9STShDT0NPQSkgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICAsIG1fc2FtcGxlQnVm
ZmVyRGlzcGxheUxheWVyTWFuYWdlcihSZW1vdGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXJNYW5h
Z2VyOjpjcmVhdGUoKnRoaXMpKQogI2VuZGlmCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKyAg
ICAsIG1fY2FwdHVyZU9yaWdpbihTZWN1cml0eU9yaWdpbjo6Y3JlYXRlVW5pcXVlKCkpCisjZW5k
aWYKICNpZiBFTkFCTEUoUk9VVElOR19BUkJJVFJBVElPTikgJiYgSEFWRShBVkFVRElPX1JPVVRJ
TkdfQVJCSVRFUikKICAgICAsIG1fcm91dGluZ0FyYml0cmF0b3IoTG9jYWxBdWRpb1Nlc3Npb25S
b3V0aW5nQXJiaXRyYXRvcjo6Y3JlYXRlKCp0aGlzKSkKICNlbmRpZgpAQCAtODIwLDYgKzgzMywx
NyBAQCB2b2lkIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OnVwZGF0ZUNhcHR1cmVBY2Nlc3Mo
Ym9vbCBhbGxvd0F1ZGlvQ2FwdHVyZSwgYm9vbAogICAgIG1fYWxsb3dzVmlkZW9DYXB0dXJlIHw9
IGFsbG93VmlkZW9DYXB0dXJlOwogICAgIG1fYWxsb3dzRGlzcGxheUNhcHR1cmUgfD0gYWxsb3dE
aXNwbGF5Q2FwdHVyZTsKIH0KKwordm9pZCBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjp1cGRh
dGVDYXB0dXJlT3JpZ2luKGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSYgb3JpZ2lu
RGF0YSkKK3sKKyAgICBtX2NhcHR1cmVPcmlnaW4gPSBvcmlnaW5EYXRhLnNlY3VyaXR5T3JpZ2lu
KCk7Cit9CisjZW5kaWYKKworI2lmICFQTEFURk9STShDT0NPQSkKK2Jvb2wgR1BVQ29ubmVjdGlv
blRvV2ViUHJvY2Vzczo6c2V0Q2FwdHVyZUF0dHJpYnV0aW9uU3RyaW5nKCkgY29uc3QKK3sKK30K
ICNlbmRpZgogCiAjaWYgUExBVEZPUk0oTUFDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgKaW5kZXggNWZhZGEzNWMxYmY0YjNh
YjI4MDZmYmQ1N2YwZWI2NjFlMDJmZGQyOC4uM2MzZWZlNTYyYTNjMzA4M2ExMWQ0ZThmYmIxMDM2
NTY1ZmRkMzcxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29u
bmVjdGlvblRvV2ViUHJvY2Vzcy5oCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSAiU2NvcGVk
QWN0aXZlTWVzc2FnZVJlY2VpdmVRdWV1ZS5oIgogI2luY2x1ZGUgPFdlYkNvcmUvTGliV2ViUlRD
RW51bVRyYWl0cy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTm93UGxheWluZ01hbmFnZXIuaD4KKyNp
bmNsdWRlIDxXZWJDb3JlL1BhZ2VJZGVudGlmaWVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Qcm9j
ZXNzSWRlbnRpZmllci5oPgogI2luY2x1ZGUgPHBhbC9TZXNzaW9uSUQuaD4KICNpbmNsdWRlIDx3
dGYvTG9nZ2VyLmg+CkBAIC01Miw2ICs1MywxMSBAQAogI2luY2x1ZGUgPENvcmVHcmFwaGljcy9D
R0Rpc3BsYXlDb25maWd1cmF0aW9uLmg+CiAjZW5kaWYKIAorbmFtZXNwYWNlIFdlYkNvcmUgewor
Y2xhc3MgU2VjdXJpdHlPcmlnaW47CitzdHJ1Y3QgU2VjdXJpdHlPcmlnaW5EYXRhOworfQorCiBu
YW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgR1BVUHJvY2VzczsKQEAgLTExMSw2ICsxMTcsOCBA
QCBwdWJsaWM6CiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICB2b2lkIHNldE9yaWVudGF0
aW9uRm9yTWVkaWFDYXB0dXJlKHVpbnQ2NF90IG9yaWVudGF0aW9uKTsKICAgICB2b2lkIHVwZGF0
ZUNhcHR1cmVBY2Nlc3MoYm9vbCBhbGxvd0F1ZGlvQ2FwdHVyZSwgYm9vbCBhbGxvd1ZpZGVvQ2Fw
dHVyZSwgYm9vbCBhbGxvd0Rpc3BsYXlDYXB0dXJlKTsKKyAgICB2b2lkIHVwZGF0ZUNhcHR1cmVP
cmlnaW4oY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhJik7CisgICAgYm9vbCBzZXRD
YXB0dXJlQXR0cmlidXRpb25TdHJpbmcoKTsKICAgICBib29sIGFsbG93c0F1ZGlvQ2FwdHVyZSgp
IGNvbnN0IHsgcmV0dXJuIG1fYWxsb3dzQXVkaW9DYXB0dXJlOyB9CiAgICAgYm9vbCBhbGxvd3NW
aWRlb0NhcHR1cmUoKSBjb25zdCB7IHJldHVybiBtX2FsbG93c1ZpZGVvQ2FwdHVyZTsgfQogICAg
IGJvb2wgYWxsb3dzRGlzcGxheUNhcHR1cmUoKSBjb25zdCB7IHJldHVybiBtX2FsbG93c0Rpc3Bs
YXlDYXB0dXJlOyB9CkBAIC0yNDgsNiArMjU2LDcgQEAgcHJpdmF0ZToKICAgICBzdGQ6OnVuaXF1
ZV9wdHI8UmVtb3RlTWVkaWFSZWNvcmRlck1hbmFnZXI+IG1fcmVtb3RlTWVkaWFSZWNvcmRlck1h
bmFnZXI7CiAjZW5kaWYKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorICAgIFJlZjxXZWJDb3Jl
OjpTZWN1cml0eU9yaWdpbj4gbV9jYXB0dXJlT3JpZ2luOwogICAgIGJvb2wgbV9hbGxvd3NBdWRp
b0NhcHR1cmUgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9hbGxvd3NWaWRlb0NhcHR1cmUgeyBmYWxz
ZSB9OwogICAgIGJvb2wgbV9hbGxvd3NEaXNwbGF5Q2FwdHVyZSB7IGZhbHNlIH07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHAKaW5kZXggNGE0YWM5MTRiNDYzMTkzNTI0ODhk
YmUxNjI2ZGZmM2RkY2EyNjZiZi4uNjc2ZmM0NWJhZjE2NDY2ODcyN2FhZmJlODg1MmE0ZWFkODY2
NDZkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcApAQCAtMzEyLDYg
KzMxMiwxMiBAQCB2b2lkIEdQVVByb2Nlc3M6OnVwZGF0ZUNhcHR1cmVBY2Nlc3MoYm9vbCBhbGxv
d0F1ZGlvQ2FwdHVyZSwgYm9vbCBhbGxvd1ZpZGVvQ2FwdAogICAgIGNvbXBsZXRpb25IYW5kbGVy
KCk7CiB9CiAKK3ZvaWQgR1BVUHJvY2Vzczo6dXBkYXRlQ2FwdHVyZU9yaWdpbihjb25zdCBXZWJD
b3JlOjpTZWN1cml0eU9yaWdpbkRhdGEmIG9yaWdpbkRhdGEsIFByb2Nlc3NJZGVudGlmaWVyIHBy
b2Nlc3NJRCkKK3sKKyAgICBpZiAoYXV0byogY29ubmVjdGlvbiA9IHdlYlByb2Nlc3NDb25uZWN0
aW9uKHByb2Nlc3NJRCkpCisgICAgICAgIGNvbm5lY3Rpb24tPnVwZGF0ZUNhcHR1cmVPcmlnaW4o
b3JpZ2luRGF0YSk7Cit9CisKIHZvaWQgR1BVUHJvY2Vzczo6dXBkYXRlU2FuZGJveEFjY2Vzcyhj
b25zdCBWZWN0b3I8U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlPiYgZXh0ZW5zaW9ucykKIHsKICAg
ICBmb3IgKGF1dG8mIGV4dGVuc2lvbiA6IGV4dGVuc2lvbnMpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L0dQVVByb2Nlc3MuaAppbmRleCA1ZWQ1YjNlZDFlMTQ3ZTQ2MTkzZTZiODRkODNkODA5ZTA4NTkw
ZDM0Li5hMjFkMDUxM2NlMjE4OTY0ZTdiZmUxNzliNmU2NzZhOGNhYmY1ZWFkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJp
Z2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAxOS0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNDUsNiArNDUsNyBAQAogbmFtZXNwYWNlIFdlYkNv
cmUgewogY2xhc3MgTm93UGxheWluZ01hbmFnZXI7CiBzdHJ1Y3QgTW9ja01lZGlhRGV2aWNlOwor
c3RydWN0IFNlY3VyaXR5T3JpZ2luRGF0YTsKIH0KIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC0x
MjQsMTEgKzEyNSwxMyBAQCBwcml2YXRlOgogICAgIHZvaWQgc2V0TW9ja0NhcHR1cmVEZXZpY2Vz
RW5hYmxlZChib29sKTsKICAgICB2b2lkIHNldE9yaWVudGF0aW9uRm9yTWVkaWFDYXB0dXJlKHVp
bnQ2NF90IG9yaWVudGF0aW9uKTsKICAgICB2b2lkIHVwZGF0ZUNhcHR1cmVBY2Nlc3MoYm9vbCBh
bGxvd0F1ZGlvQ2FwdHVyZSwgYm9vbCBhbGxvd1ZpZGVvQ2FwdHVyZSwgYm9vbCBhbGxvd0Rpc3Bs
YXlDYXB0dXJlLCBXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZCgpPiYmKTsKKyAgICB2b2lkIHVwZGF0ZUNhcHR1cmVPcmlnaW4oY29uc3QgV2ViQ29yZTo6
U2VjdXJpdHlPcmlnaW5EYXRhJiwgV2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIpOwogICAgIHZv
aWQgdXBkYXRlU2FuZGJveEFjY2Vzcyhjb25zdCBWZWN0b3I8U2FuZGJveEV4dGVuc2lvbjo6SGFu
ZGxlPiYpOwogICAgIHZvaWQgYWRkTW9ja01lZGlhRGV2aWNlKGNvbnN0IFdlYkNvcmU6Ok1vY2tN
ZWRpYURldmljZSYpOwogICAgIHZvaWQgY2xlYXJNb2NrTWVkaWFEZXZpY2VzKCk7CiAgICAgdm9p
ZCByZW1vdmVNb2NrTWVkaWFEZXZpY2UoY29uc3QgU3RyaW5nJiBwZXJzaXN0ZW50SWQpOwogICAg
IHZvaWQgcmVzZXRNb2NrTWVkaWFEZXZpY2VzKCk7CisgICAgYm9vbCBzZXRDYXB0dXJlQXR0cmli
dXRpb25TdHJpbmcoY29uc3QgU3RyaW5nJik7CiAjZW5kaWYKICNpZiBQTEFURk9STShNQUMpCiAg
ICAgdm9pZCBkaXNwbGF5Q29uZmlndXJhdGlvbkNoYW5nZWQoQ0dEaXJlY3REaXNwbGF5SUQsIENH
RGlzcGxheUNoYW5nZVN1bW1hcnlGbGFncyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9HUFVQcm9jZXNzLm1lc3NhZ2VzLmluCmluZGV4IDdhZDg5ZTRhOGJhZGZkY2ExYWFhMTk1ODk5
MDgxOTI0ZWE4ZjJmZDYuLjY5MWRhNzhkMmNmOTMyOGVhNzllMjRjMmQ2NDYyMDAzNmI1ZTQyNDkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLm1lc3NhZ2Vz
LmluCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLm1lc3NhZ2VzLmlu
CkBAIC00MSw2ICs0MSw3IEBAIG1lc3NhZ2VzIC0+IEdQVVByb2Nlc3MgTGVnYWN5UmVjZWl2ZXIg
ewogICAgIFNldE9yaWVudGF0aW9uRm9yTWVkaWFDYXB0dXJlKHVpbnQ2NF90IG9yaWVudGF0aW9u
KTsKICAgICBVcGRhdGVTYW5kYm94QWNjZXNzKFZlY3RvcjxXZWJLaXQ6OlNhbmRib3hFeHRlbnNp
b246OkhhbmRsZT4gZXh0ZW5zaW9ucyk7CiAgICAgVXBkYXRlQ2FwdHVyZUFjY2Vzcyhib29sIGFs
bG93QXVkaW9DYXB0dXJlLCBib29sIGFsbG93VmlkZW9DYXB0dXJlLCBib29sIGFsbG93RGlzcGxh
eUNhcHR1cmUsIFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyIHByb2Nlc3NJRCkgLT4gKCkgQXN5
bmMKKyAgICBVcGRhdGVDYXB0dXJlT3JpZ2luKHN0cnVjdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdp
bkRhdGEgb3JpZ2luRGF0YSwgV2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIgcHJvY2Vzc0lEKQog
ICAgIEFkZE1vY2tNZWRpYURldmljZShzdHJ1Y3QgV2ViQ29yZTo6TW9ja01lZGlhRGV2aWNlIGRl
dmljZSk7CiAgICAgQ2xlYXJNb2NrTWVkaWFEZXZpY2VzKCk7CiAgICAgUmVtb3ZlTW9ja01lZGlh
RGV2aWNlKFN0cmluZyBwZXJzaXN0ZW50SWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL2NvY29hL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3NDb2NvYS5tbSBiL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9jb2NvYS9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzQ29jb2Eu
bW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjFlOTNiY2Y0MGM5ZTdkMGViNGM3NTRkMTFiMzVlYjljNmJhMGI5Mwot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9jb2NvYS9HUFVDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzQ29jb2EubW0KQEAgLTAsMCArMSw2NSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbXBvcnQgImNvbmZpZy5oIgorI2ltcG9ydCAiR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5o
IgorCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQorCisjaW1wb3J0ICJTeXN0ZW1TdGF0dXNTUEku
aCIKKyNpbXBvcnQgPFdlYkNvcmUvTG9jYWxpemVkU3RyaW5ncy5oPgorI2ltcG9ydCA8V2ViQ29y
ZS9SZWdpc3RyYWJsZURvbWFpbi5oPgorI2ltcG9ydCA8V2ViQ29yZS9TZWN1cml0eU9yaWdpbi5o
PgorI2ltcG9ydCA8cGFsL2lvcy9TeXN0ZW1TdGF0dXNTb2Z0TGluay5oPgorCituYW1lc3BhY2Ug
V2ViS2l0IHsKKworYm9vbCBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpzZXRDYXB0dXJlQXR0
cmlidXRpb25TdHJpbmcoKQoreworI2lmIFBMQVRGT1JNKElPUykKKyAgICBpZiAoIVtQQUw6Omdl
dFNURHluYW1pY0FjdGl2aXR5QXR0cmlidXRpb25QdWJsaXNoZXJDbGFzcygpIHJlc3BvbmRzVG9T
ZWxlY3RvcjpAc2VsZWN0b3Ioc2V0Q3VycmVudEF0dHJpYnV0aW9uU3RyaW5nV2l0aEZvcm1hdDph
dWRpdFRva2VuOildKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIGF1dG8gZG9tYWluID0g
V2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4geyBtX2NhcHR1cmVPcmlnaW4tPmRhdGEoKSB9Owor
ICAgIGlmIChkb21haW4uaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBh
dXRvIGF1ZGl0VG9rZW4gPSBncHVQcm9jZXNzKCkucGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+
Z2V0QXVkaXRUb2tlbigpOworICAgIGlmICghYXVkaXRUb2tlbikKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworCisgICAgUmV0YWluUHRyPE5TU3RyaW5nPiBmb3JtYXRTdHJpbmcgPSBbTlNTdHJpbmcg
c3RyaW5nV2l0aEZvcm1hdDpXRUJfVUlfU1RSSU5HKCLigJwlQOKAnSBpbiDigJwlJUDigJ0iLCAi
VGhlIGRvbWFpbiBhbmQgYXBwbGljYXRpb24gdXNpbmcgdGhlIGNhbWVyYSBhbmQvb3IgbWljcm9w
aG9uZS4gVGhlIGZpcnN0IGFyZ3VtZW50IGlzIGRvbWFpbiwgdGhlIHNlY29uZCBpcyB0aGUgYXBw
bGljYXRpb24gbmFtZSAoaU9TIG9ubHkpLiIpLCAoTlNTdHJpbmcgKilkb21haW4uc3RyaW5nKCld
OworCisgICAgW1BBTDo6Z2V0U1REeW5hbWljQWN0aXZpdHlBdHRyaWJ1dGlvblB1Ymxpc2hlckNs
YXNzKCkgc2V0Q3VycmVudEF0dHJpYnV0aW9uU3RyaW5nV2l0aEZvcm1hdDpmb3JtYXRTdHJpbmcu
Z2V0KCkgYXVkaXRUb2tlbjphdWRpdFRva2VuLnZhbHVlKCldOworI2Vsc2UKKyAgICBVTlVTRURf
UEFSQU0oZG9tYWluKTsKKyNlbmRpZgorCisgICAgcmV0dXJuIHRydWU7Cit9CisKK30gLy8gbmFt
ZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxFKEdQVV9QUk9DRVNTKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL1N5c3RlbVN0YXR1c1NQSS5oIGIvU291
cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL1N5c3RlbVN0YXR1c1NQSS5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjcwZTNiNWFiNGVhZTc2OGM0YjJhNzA3NTg3ODkxMTZkMGVkYzViYWUKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9pb3MvU3lzdGVtU3RhdHVzU1BJLmgKQEAg
LTAsMCArMSw0MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQor
CisjaW1wb3J0IDxTeXN0ZW1TdGF0dXMvU1REeW5hbWljQWN0aXZpdHlBdHRyaWJ1dGlvblB1Ymxp
c2hlci5oPgorCisjZWxzZQorCitOU19BU1NVTUVfTk9OTlVMTF9CRUdJTgorCitAaW50ZXJmYWNl
IFNURHluYW1pY0FjdGl2aXR5QXR0cmlidXRpb25QdWJsaXNoZXIgOiBOU09iamVjdAorCisrICh2
b2lkKXNldEN1cnJlbnRBdHRyaWJ1dGlvblN0cmluZ1dpdGhGb3JtYXQ6KE5TU3RyaW5nICopZm9y
bWF0IGF1ZGl0VG9rZW46KGF1ZGl0X3Rva2VuX3QpYXVkaXRUb2tlbjsKKworQGVuZAorCitOU19B
U1NVTUVfTk9OTlVMTF9FTkQKKworI2VuZGlmIC8vIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1Jlc291cmNlcy9TYW5kYm94UHJvZmlsZXMvaW9zL2Nv
bS5hcHBsZS5XZWJLaXQuR1BVLnNiIGIvU291cmNlL1dlYktpdC9SZXNvdXJjZXMvU2FuZGJveFBy
b2ZpbGVzL2lvcy9jb20uYXBwbGUuV2ViS2l0LkdQVS5zYgppbmRleCA2YmM2YjM3NjdjZTk3YjZh
ZjE1NWU4NTQ2ZDNjNzE3NDgxNjk5YTVhLi5mNWFjZjhkNmRlOTUzYjMzYjg5YmFhZDdhNGYxZGYw
ZDhhMmFlYWU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1Jlc291cmNlcy9TYW5kYm94UHJv
ZmlsZXMvaW9zL2NvbS5hcHBsZS5XZWJLaXQuR1BVLnNiCisrKyBiL1NvdXJjZS9XZWJLaXQvUmVz
b3VyY2VzL1NhbmRib3hQcm9maWxlcy9pb3MvY29tLmFwcGxlLldlYktpdC5HUFUuc2IKQEAgLTEw
MDMsNiArMTAwMyw5IEBACiAgICAgKQogKQogCisoYWxsb3cgbWFjaC1sb29rdXAKKyAgICAoZ2xv
YmFsLW5hbWUgImNvbS5hcHBsZS5zeXN0ZW1zdGF0dXMuYWN0aXZpdHlhdHRyaWJ1dGlvbiIpCisp
CiAKIChhbGxvdyBtYWNoLWxvb2t1cAogICAgIChyZXF1aXJlLWFsbApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9TY3JpcHRzL3Byb2Nlc3MtZW50aXRsZW1lbnRzLnNoIGIvU291cmNlL1dlYktp
dC9TY3JpcHRzL3Byb2Nlc3MtZW50aXRsZW1lbnRzLnNoCmluZGV4IGZlZWY5YjMxNTI3NzExNWE2
YzE0NzgxOGJkMDhlODJmZTU3NTgwYWEuLjllYWI1YzdjZjJlODY3ZjY5YTlhYWU0MzVlMjZiZDZh
MTVjMWI0ZDMgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy9wcm9jZXNzLWVudGl0
bGVtZW50cy5zaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvcHJvY2Vzcy1lbnRpdGxlbWVu
dHMuc2gKQEAgLTMwOSw2ICszMDksMTAgQEAgZnVuY3Rpb24gaW9zX2ZhbWlseV9wcm9jZXNzX2dw
dV9lbnRpdGxlbWVudHMoKQogCiAgICAgcGxpc3RidWRkeSBBZGQgOnNlYXRiZWx0LXByb2ZpbGVz
IGFycmF5CiAgICAgcGxpc3RidWRkeSBBZGQgOnNlYXRiZWx0LXByb2ZpbGVzOjAgc3RyaW5nIGNv
bS5hcHBsZS5XZWJLaXQuR1BVCisKKyAgICBwbGlzdGJ1ZGR5IEFkZCA6Y29tLmFwcGxlLnN5c3Rl
bXN0YXR1cy5hY3Rpdml0eWF0dHJpYnV0aW9uIGJvb2wgWUVTCisgICAgcGxpc3RidWRkeSBBZGQg
OmNvbS5hcHBsZS5zZWN1cml0eS5leGNlcHRpb24ubWFjaC1sb29rdXAuZ2xvYmFsLW5hbWUgYXJy
YXkKKyAgICBwbGlzdGJ1ZGR5IEFkZCA6Y29tLmFwcGxlLnNlY3VyaXR5LmV4Y2VwdGlvbi5tYWNo
LWxvb2t1cC5nbG9iYWwtbmFtZTowIHN0cmluZyBjb20uYXBwbGUuc3lzdGVtc3RhdHVzLmFjdGl2
aXR5YXR0cmlidXRpb24KIH0KIAogZnVuY3Rpb24gaW9zX2ZhbWlseV9wcm9jZXNzX3dlYmF1dGhu
X2VudGl0bGVtZW50cygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50
eHQgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKaW5kZXggOTllOTY2YzkxMzZjNGRm
OTIyZjg5ZjNkMWQwMzk3YTdmY2ExMWYxMi4uYzQ0OWJjNWQ5OWZlYmMyYzc3MTJkZWY4NGI4ZTIx
ZTg2NDI3N2RjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0Cisr
KyBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dApAQCAtNTgsNiArNTgsNyBAQCBOZXR3
b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1RDUFNvY2tldENvY29hLm1tCiBOZXR3b3JrUHJv
Y2Vzcy93ZWJydGMvTmV0d29ya1JUQ1VEUFNvY2tldENvY29hLm1tCiAKIEdQVVByb2Nlc3MvRW50
cnlQb2ludC9Db2NvYS9YUENTZXJ2aWNlL0dQVVNlcnZpY2VFbnRyeVBvaW50Lm1tCitHUFVQcm9j
ZXNzL2NvY29hL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3NDb2NvYS5tbQogR1BVUHJvY2Vzcy9n
cmFwaGljcy9SZW1vdGVHcmFwaGljc0NvbnRleHRHTENvY29hLmNwcAogR1BVUHJvY2Vzcy9ncmFw
aGljcy9TY29wZWRSZW5kZXJpbmdSZXNvdXJjZXNSZXF1ZXN0Q29jb2EubW0gQG5vLXVuaWZ5CiBH
UFVQcm9jZXNzL2dyYXBoaWNzL1Njb3BlZFdlYkdMUmVuZGVyaW5nUmVzb3VyY2VzUmVxdWVzdENv
Y29hLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVXNlck1l
ZGlhQ2FwdHVyZU1hbmFnZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5LmNwcAppbmRleCAwNWFlYmI3ZDNkODRlMjQ4
MmM4OWRlYTMzODM5ZjIzYTIxNWIxYTdmLi45YWIyYTM3NWE5ZTAzODBhYTU3YTVhOTQxNGJkOTk1
NjNiMWNmZjdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9Vc2Vy
TWVkaWFDYXB0dXJlTWFuYWdlclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5LmNwcApAQCAtMzI2LDggKzMyNiwx
NiBAQCB2b2lkIFVzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHk6OmNyZWF0ZU1lZGlhU291cmNl
Rm9yQ2FwdHVyZURldmljZVdpdGhDb25zdHJhaQogCiB2b2lkIFVzZXJNZWRpYUNhcHR1cmVNYW5h
Z2VyUHJveHk6OnN0YXJ0UHJvZHVjaW5nRGF0YShSZWFsdGltZU1lZGlhU291cmNlSWRlbnRpZmll
ciBpZCkKIHsKLSAgICBpZiAoYXV0byogcHJveHkgPSBtX3Byb3hpZXMuZ2V0KGlkKSkKLSAgICAg
ICAgcHJveHktPnN0YXJ0KCk7CisgICAgYXV0byogcHJveHkgPSBtX3Byb3hpZXMuZ2V0KGlkKTsK
KyAgICBpZiAoIXByb3h5KQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoIW1fY29ubmVjdGlv
blByb3h5LT5zZXRDYXB0dXJlQXR0cmlidXRpb25TdHJpbmcoKSkgeworICAgICAgICBSRUxFQVNF
X0xPR19FUlJPUihXZWJSVEMsICJVbmFibGUgdG8gc2V0IGNhcHR1cmUgYXR0cmlidXRpb24sIGZh
aWxpbmcgY2FwdHVyZS4iKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIHByb3h5LT5z
dGFydCgpOwogfQogCiB2b2lkIFVzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHk6OnN0b3BQcm9k
dWNpbmdEYXRhKFJlYWx0aW1lTWVkaWFTb3VyY2VJZGVudGlmaWVyIGlkKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94
eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2FwdHVyZU1hbmFn
ZXJQcm94eS5oCmluZGV4IDA0MTM0ODlmMTQyOThkZjU3ODMwNDE0MGZlYmEzNDZjYzMyZmFlOTIu
LmQwYjIwZWMxNDU5NjhmYzUwZjhmY2M1OGRjNzdlODc3MjdlYmRhOWMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHku
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9Vc2VyTWVkaWFDYXB0dXJlTWFu
YWdlclByb3h5LmgKQEAgLTU3LDYgKzU3LDcgQEAgcHVibGljOgogICAgICAgICB2aXJ0dWFsIElQ
Qzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbigpID0gMDsKICAgICAgICAgdmlydHVhbCBib29sIHdp
bGxTdGFydENhcHR1cmUoV2ViQ29yZTo6Q2FwdHVyZURldmljZTo6RGV2aWNlVHlwZSkgY29uc3Qg
PSAwOwogICAgICAgICB2aXJ0dWFsIExvZ2dlciYgbG9nZ2VyKCkgPSAwOworICAgICAgICB2aXJ0
dWFsIGJvb2wgc2V0Q2FwdHVyZUF0dHJpYnV0aW9uU3RyaW5nKCkgeyByZXR1cm4gdHJ1ZTsgfQog
ICAgIH07CiAgICAgZXhwbGljaXQgVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eShVbmlxdWVS
ZWY8Q29ubmVjdGlvblByb3h5PiYmKTsKICAgICB+VXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94
eSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQ
cm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmNw
cAppbmRleCA4NWZlMDIyNzE2ZDJhY2FmMjE1ZjY2YmE4ZTM2OWM0MTA2MDhiMGI0Li4zMTM1NDky
ZjVlNTRiZTBiZGIzYTJjZWY0ZTQxZWFhZDkzZWM3ZmYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmNwcApAQCAtMjgwLDYgKzI4MCwxMCBAQCB2
b2lkIEdQVVByb2Nlc3NQcm94eTo6dXBkYXRlQ2FwdHVyZUFjY2Vzcyhib29sIGFsbG93QXVkaW9D
YXB0dXJlLCBib29sIGFsbG93VmlkZQogICAgIHNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6
R1BVUHJvY2Vzczo6VXBkYXRlQ2FwdHVyZUFjY2VzcyB7IGFsbG93QXVkaW9DYXB0dXJlLCBhbGxv
d1ZpZGVvQ2FwdHVyZSwgYWxsb3dEaXNwbGF5Q2FwdHVyZSwgcHJvY2Vzc0lEIH0sIFdURk1vdmUo
Y29tcGxldGlvbkhhbmRsZXIpKTsKIH0KIAordm9pZCBHUFVQcm9jZXNzUHJveHk6OnVwZGF0ZUNh
cHR1cmVPcmlnaW4oY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiBvcmlnaW5EYXRh
LCBXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciBwcm9jZXNzSUQpCit7CisgICAgc2VuZChNZXNz
YWdlczo6R1BVUHJvY2Vzczo6VXBkYXRlQ2FwdHVyZU9yaWdpbiB7IG9yaWdpbkRhdGEsIHByb2Nl
c3NJRCB9LCAwKTsKK30KIAogdm9pZCBHUFVQcm9jZXNzUHJveHk6OmFkZE1vY2tNZWRpYURldmlj
ZShjb25zdCBXZWJDb3JlOjpNb2NrTWVkaWFEZXZpY2UmIGRldmljZSkKIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuaAppbmRleCA4ODgwNTk1OWQ5MTJk
NTJmNTVkNTlhMWQ5ZDMxZmI3NmJlNGIyYjU0Li44ZGYwZmU1Njg0ZjcyMjc5ZDRiZmFiNGYwNTlm
NTU5OWVmZGYyMzg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HUFUvR1BV
UHJvY2Vzc1Byb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvR1BVL0dQVVByb2Nl
c3NQcm94eS5oCkBAIC00OSw2ICs0OSw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHN0cnVj
dCBNb2NrTWVkaWFEZXZpY2U7CitzdHJ1Y3QgU2VjdXJpdHlPcmlnaW5EYXRhOwogfQogCiBuYW1l
c3BhY2UgV2ViS2l0IHsKQEAgLTc2LDcgKzc3LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0VXNl
TW9ja0NhcHR1cmVEZXZpY2VzKGJvb2wpOwogICAgIHZvaWQgc2V0T3JpZW50YXRpb25Gb3JNZWRp
YUNhcHR1cmUodWludDY0X3Qgb3JpZW50YXRpb24pOwogICAgIHZvaWQgdXBkYXRlQ2FwdHVyZUFj
Y2Vzcyhib29sIGFsbG93QXVkaW9DYXB0dXJlLCBib29sIGFsbG93VmlkZW9DYXB0dXJlLCBib29s
IGFsbG93RGlzcGxheUNhcHR1cmUsIFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyLCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwotCisgICAgdm9pZCB1cGRhdGVDYXB0dXJlT3JpZ2luKGNv
bnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSYsIFdlYkNvcmU6OlByb2Nlc3NJZGVudGlm
aWVyKTsKICAgICB2b2lkIGFkZE1vY2tNZWRpYURldmljZShjb25zdCBXZWJDb3JlOjpNb2NrTWVk
aWFEZXZpY2UmKTsKICAgICB2b2lkIGNsZWFyTW9ja01lZGlhRGV2aWNlcygpOwogICAgIHZvaWQg
cmVtb3ZlTW9ja01lZGlhRGV2aWNlKGNvbnN0IFN0cmluZyYpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggZDBmZDk3ZDMzZTk3YTUxNWI5ZTgwYjc0OTQxZGFl
ZGYwNjNhNDA3NC4uYmQzODE0ZDNhYTgzNDRkOWQ1YjViODk0ZTA2MDc4MjI0NDVhMmFkMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC0xMTAsNiArMTEwLDcg
QEAKICNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKICNpbmNsdWRlICJXZWJFZGl0
Q29tbWFuZFByb3h5LmgiCiAjaW5jbHVkZSAiV2ViRXZlbnRDb252ZXJzaW9uLmgiCisjaW5jbHVk
ZSAiV2ViRnJhbWUuaCIKICNpbmNsdWRlICJXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHkuaCIK
ICNpbmNsdWRlICJXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5LmgiCiAjaW5jbHVkZSAiV2ViRnVs
bFNjcmVlbk1hbmFnZXJQcm94eU1lc3NhZ2VzLmgiCkBAIC0xMzYsNiArMTM3LDcgQEAKICNpbmNs
dWRlICJXZWJQb3B1cE1lbnVQcm94eS5oIgogI2luY2x1ZGUgIldlYlByZWZlcmVuY2VzLmgiCiAj
aW5jbHVkZSAiV2ViUHJlZmVyZW5jZXNLZXlzLmgiCisjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgog
I2luY2x1ZGUgIldlYlByb2Nlc3NNZXNzYWdlcy5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3NQb29s
LmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzc1Byb3h5LmgiCkBAIC01MTAxLDggKzUxMDMsMTQgQEAg
dm9pZCBXZWJQYWdlUHJveHk6OmRpZFNhbWVEb2N1bWVudE5hdmlnYXRpb25Gb3JGcmFtZShGcmFt
ZUlkZW50aWZpZXIgZnJhbWVJRCwgdWkKIHZvaWQgV2ViUGFnZVByb3h5OjpkaWRDaGFuZ2VNYWlu
RG9jdW1lbnQoRnJhbWVJZGVudGlmaWVyIGZyYW1lSUQpCiB7CiAjaWYgRU5BQkxFKE1FRElBX1NU
UkVBTSkKLSAgICBpZiAobV91c2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIpCisgICAg
aWYgKG1fdXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyKSB7CiAgICAgICAgIG1fdXNl
ck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLT5yZXNldEFjY2VzcyhmcmFtZUlEKTsKKwor
ICAgICAgICBpZiAoYXV0byogZ3B1UHJvY2VzcyA9IG1fcHJvY2Vzcy0+cHJvY2Vzc1Bvb2woKS5n
cHVQcm9jZXNzKCkpIHsKKyAgICAgICAgICAgIGlmIChhdXRvKiBmcmFtZSA9IFdlYlByb2Nlc3M6
OnNpbmdsZXRvbigpLndlYkZyYW1lKGZyYW1lSUQpKQorICAgICAgICAgICAgICAgIGdwdVByb2Nl
c3MtPnVwZGF0ZUNhcHR1cmVPcmlnaW4oU2VjdXJpdHlPcmlnaW5EYXRhOjpmcm9tVVJMKGZyYW1l
LT51cmwoKSksIG1fcHJvY2Vzcy0+Y29yZVByb2Nlc3NJZGVudGlmaWVyKCkpOworICAgICAgICB9
CisgICAgfQogI2Vsc2UKICAgICBVTlVTRURfUEFSQU0oZnJhbWVJRCk7CiAjZW5kaWYKQEAgLTg0
MTgsNiArODQyNiw3IEBAIHZvaWQgV2ViUGFnZVByb3h5Ojp3aWxsU3RhcnRDYXB0dXJlKGNvbnN0
IFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0UHJveHkmIHJlcXVlCiAKICAgICBhdXRvJiBncHVQ
cm9jZXNzID0gcHJvY2VzcygpLnByb2Nlc3NQb29sKCkuZW5zdXJlR1BVUHJvY2VzcygpOwogICAg
IGdwdVByb2Nlc3MudXBkYXRlQ2FwdHVyZUFjY2VzcyhyZXF1ZXN0LnJlcXVpcmVzQXVkaW9DYXB0
dXJlKCksIHJlcXVlc3QucmVxdWlyZXNWaWRlb0NhcHR1cmUoKSwgcmVxdWVzdC5yZXF1aXJlc0Rp
c3BsYXlDYXB0dXJlKCksIG1fcHJvY2Vzcy0+Y29yZVByb2Nlc3NJZGVudGlmaWVyKCksIFdURk1v
dmUoY2FsbGJhY2spKTsKKyAgICBncHVQcm9jZXNzLnVwZGF0ZUNhcHR1cmVPcmlnaW4ocmVxdWVz
dC50b3BMZXZlbERvY3VtZW50U2VjdXJpdHlPcmlnaW4oKS5kYXRhKCksIG1fcHJvY2Vzcy0+Y29y
ZVByb2Nlc3NJZGVudGlmaWVyKCkpOwogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgZ3B1
UHJvY2Vzcy5zZXRPcmllbnRhdGlvbkZvck1lZGlhQ2FwdHVyZShtX2RldmljZU9yaWVudGF0aW9u
KTsKICNlbmRpZgpAQCAtMTA2MDIsMTIgKzEwNjExLDEyIEBAIHZvaWQgV2ViUGFnZVByb3h5Ojpn
cHVQcm9jZXNzRXhpdGVkKEdQVVByb2Nlc3NUZXJtaW5hdGlvblJlYXNvbikKICAgICBwYWdlQ2xp
ZW50KCkuZ3B1UHJvY2Vzc0RpZEV4aXQoKTsKIAogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCi0g
ICAgYm9vbCBzaG91bGRBbGxvd0F1ZGlvQ2FwdHVyZSA9IGlzQ2FwdHVyaW5nQXVkaW8oKSAmJiBw
cmVmZXJlbmNlcygpLmNhcHR1cmVBdWRpb0luR1BVUHJvY2Vzc0VuYWJsZWQoKTsKLSAgICBib29s
IHNob3VsZEFsbG93VmlkZW9DYXB0dXJlID0gaXNDYXB0dXJpbmdWaWRlbygpICYmIHByZWZlcmVu
Y2VzKCkuY2FwdHVyZVZpZGVvSW5HUFVQcm9jZXNzRW5hYmxlZCgpOwotICAgIGJvb2wgc2hvdWxk
QWxsb3dEaXNwbGF5Q2FwdHVyZSA9IGZhbHNlOwotICAgIGlmIChzaG91bGRBbGxvd0F1ZGlvQ2Fw
dHVyZSB8fCBzaG91bGRBbGxvd1ZpZGVvQ2FwdHVyZSkgeworICAgIGJvb2wgYWN0aXZlQXVkaW9D
YXB0dXJlID0gaXNDYXB0dXJpbmdBdWRpbygpICYmIHByZWZlcmVuY2VzKCkuY2FwdHVyZUF1ZGlv
SW5HUFVQcm9jZXNzRW5hYmxlZCgpOworICAgIGJvb2wgYWN0aXZlVmlkZW9DYXB0dXJlID0gaXND
YXB0dXJpbmdWaWRlbygpICYmIHByZWZlcmVuY2VzKCkuY2FwdHVyZVZpZGVvSW5HUFVQcm9jZXNz
RW5hYmxlZCgpOworICAgIGJvb2wgYWN0aXZlRGlzcGxheUNhcHR1cmUgPSBmYWxzZTsKKyAgICBp
ZiAoYWN0aXZlQXVkaW9DYXB0dXJlIHx8IGFjdGl2ZVZpZGVvQ2FwdHVyZSkgewogICAgICAgICBh
dXRvJiBncHVQcm9jZXNzID0gcHJvY2VzcygpLnByb2Nlc3NQb29sKCkuZW5zdXJlR1BVUHJvY2Vz
cygpOwotICAgICAgICBncHVQcm9jZXNzLnVwZGF0ZUNhcHR1cmVBY2Nlc3Moc2hvdWxkQWxsb3dB
dWRpb0NhcHR1cmUsIHNob3VsZEFsbG93VmlkZW9DYXB0dXJlLCBzaG91bGRBbGxvd0Rpc3BsYXlD
YXB0dXJlLCBtX3Byb2Nlc3MtPmNvcmVQcm9jZXNzSWRlbnRpZmllcigpLCBbXSB7IH0pOworICAg
ICAgICBncHVQcm9jZXNzLnVwZGF0ZUNhcHR1cmVBY2Nlc3MoYWN0aXZlQXVkaW9DYXB0dXJlLCBh
Y3RpdmVWaWRlb0NhcHR1cmUsIGFjdGl2ZURpc3BsYXlDYXB0dXJlLCBtX3Byb2Nlc3MtPmNvcmVQ
cm9jZXNzSWRlbnRpZmllcigpLCBbXSB7IH0pOwogICAgIH0KICNlbmRpZgogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJj
ZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMjQ1NGZkNDUx
NDRiZjBkMDY5ZDYwZTY2ZTMwY2NiYTk1NWM1NDk1MS4uNDJmNTZmZDE1NTEwOTIxMTkwNTJlMmEz
YmMxOWVmNDkyNDMxZmI5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCkBAIC0xMjQsNiArMTI0LDcgQEAKIAkJMDc5MjMxNDgyMzlDQkNCODAw
OTU5OEUyIC8qIFJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5TWVzc2FnZXNSZXBsaWVzLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzkyMzE0MjIz
OUNCQ0I1MDA5NTk4RTIgLyogUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHlNZXNzYWdlc1Jl
cGxpZXMuaCAqLzsgfTsKIAkJMDc5MjMxNEIyMzlDQkNCODAwOTU5OEUyIC8qIFJlbW90ZU1lZGlh
UGxheWVyTWFuYWdlclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3OTIzMTQ1MjM5Q0JDQjcwMDk1OThFMiAvKiBS
ZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CiAJ
CTA3OTIzMTRDMjM5Q0JDQjgwMDk1OThFMiAvKiBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94
eU1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwNzkyMzE0NjIzOUNCQ0I3MDA5NTk4RTIgLyogUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJv
eHlNZXNzYWdlcy5oICovOyB9OworCQkwNzlEMUQ5QTI2OTYwQ0QzMDA4ODM1NzcgLyogU3lzdGVt
U3RhdHVzU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwNzlEMUQ5OTI2OTYwQ0QzMDA4ODM1NzcgLyogU3lzdGVtU3RhdHVzU1BJLmggKi87IH07CiAJ
CTA3QTVFQkJDMUM3QkE0M0UwMEI5Q0E2OSAvKiBXS0ZyYW1lSGFuZGxlUmVmLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwN0E1RUJCQTFDN0JBNDNFMDBC
OUNBNjkgLyogV0tGcmFtZUhhbmRsZVJlZi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTA3RTE5RUZCMjNENDAxRjEwMDk0RkZCNCAvKiBNZWRpYVBs
YXllclByaXZhdGVSZW1vdGVNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDdFMTlFRjgyM0Q0MDFGMDAwOTRGRkI0IC8qIE1l
ZGlhUGxheWVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CiAJCTA3RTE5
RUZDMjNENDAxRjEwMDk0RkZCNCAvKiBNZWRpYVBsYXllclByaXZhdGVSZW1vdGVNZXNzYWdlcy5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDdFMTlFRjky
M0Q0MDFGMDAwOTRGRkI0IC8qIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VzLmggKi87
IH07CkBAIC0yNDQ4LDYgKzI0NDksOCBAQAogCQkwNzk0QjRBQzI0NDUxQkI5MDAwMUI5QzQgLyog
TWVkaWFVc2FnZU1hbmFnZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFVc2FnZU1hbmFnZXIuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDc5NEI0QUUyNDQ1MjRCMDAwMDFCOUM0IC8q
IE1lZGlhVXNhZ2VNYW5hZ2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1lZGlhVXNhZ2VNYW5h
Z2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDc5NEI0QUYyNDQ1MkEyQzAw
MDFCOUM0IC8qIE1lZGlhVXNhZ2VNYW5hZ2VyQ29jb2EuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFV
c2FnZU1hbmFnZXJDb2NvYS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwNzlEMUQ5
OTI2OTYwQ0QzMDA4ODM1NzcgLyogU3lzdGVtU3RhdHVzU1BJLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFN5c3RlbVN0YXR1c1NQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQkwNzlEMUQ5QzI2OThEQkQwMDA4ODM1NzcgLyogY29jb2EgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBmb2xkZXI7IHBhdGggPSBjb2NvYTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDdBNUVCQjkxQzdCQTQzRTAwQjlDQTY5IC8q
IFdLRnJhbWVIYW5kbGVSZWYuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gV0tGcmFtZUhhbmRsZVJlZi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA3
QTVFQkJBMUM3QkE0M0UwMEI5Q0E2OSAvKiBXS0ZyYW1lSGFuZGxlUmVmLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLRnJhbWVIYW5kbGVSZWYuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMDdBNkU1RTMyNjBFNDExNDAwOTU5NDc4IC8qIFJlbW90ZU1lZGlhU2Vz
c2lvbkNvb3JkaW5hdG9yUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gUmVtb3RlTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03Njc4LDYgKzc2ODEsNyBAQAogCQkyRDlG
QjFGRjIzNzUyMDlEMDA0OUY5MzYgLyogR1BVUHJvY2VzcyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdy
b3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJMDc5RDFEOUMyNjk4REJEMDAwODgzNTc3IC8qIGNv
Y29hICovLAogCQkJCTJEOUZCMjBEMjM3NTIwOUQwMDQ5RjkzNiAvKiBFbnRyeVBvaW50ICovLAog
CQkJCTU1MDY0MEExMjQwNzFBMjkwMEFBRTA0NSAvKiBncmFwaGljcyAqLywKIAkJCQkyRDlGQjIw
NDIzNzUyMDlEMDA0OUY5MzYgLyogaW9zICovLApAQCAtMTE1NzYsNiArMTE1ODAsNyBAQAogCQkJ
CTMxNzhBRjk3MjBFMkE3RjgwMDc0REU5NCAvKiBQREZLaXRTUEkuaCAqLywKIAkJCQkyRDI3OUUx
ODI2OTU1NzY4MDA0QjNFRUIgLyogUHJvdG90eXBlVG9vbHNTUEkuaCAqLywKIAkJCQk0NkYzOEU4
QjI0MTZFNjZEMDA1OTM3NUEgLyogUnVubmluZ0JvYXJkU2VydmljZXNTUEkuaCAqLywKKwkJCQkw
NzlEMUQ5OTI2OTYwQ0QzMDA4ODM1NzcgLyogU3lzdGVtU3RhdHVzU1BJLmggKi8sCiAJCQkJQ0Ux
QTBCRDAxQTQ4RTZDNjAwNTRFRjc0IC8qIFRDQ1NQSS5oICovLAogCQkJCUNFMUEwQkQxMUE0OEU2
QzYwMDU0RUY3NCAvKiBUZXh0SW5wdXRTUEkuaCAqLywKIAkJCQlDRUU0QUUyQTFBNURDRjQzMDAw
MkY0OUIgLyogVUlLaXRTUEkuaCAqLywKQEAgLTEyNDEyLDYgKzEyNDE3LDcgQEAKIAkJCQk0NDhB
QzI0RTI2NzEzNUE3MDBCMjg5MjEgLyogU3luYXBzZVNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NDQ1OTk4NDIyMjgzM0U4NzAwRTYxMzczIC8qIFN5bnRoZXRpY0VkaXRpbmdDb21tYW5kVHlwZS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMzE1NzEzNUYyMDQwQTlCMjAwODRGOUNGIC8qIFN5c3RlbVBy
ZXZpZXdDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQkwNzlEMUQ5QTI2OTYwQ0QzMDA4
ODM1NzcgLyogU3lzdGVtU3RhdHVzU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQlGNEQ5ODVDQjI2
OTEwOTY2MDBCQkNDQkUgLyogVGFwSGFuZGxpbmdSZXN1bHQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTQ0QzUxODQ0MjY2QkU4QzQwMDZERDUyMiAvKiBUQ0NTb2Z0TGluay5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQ0UxQTBCRDYxQTQ4RTZDNjAwNTRFRjc0IC8qIFRDQ1NQSS5oIGluIEhlYWRlcnMgKi8s
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433384</attachid>
            <date>2021-07-12 18:29:09 -0700</date>
            <delta_ts>2021-07-13 05:55:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227871-20210712212907.patch</filename>
            <type>text/plain</type>
            <size>39661</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5ODQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmRhOTZjZDFiZjQ5ZmI0
ZTk2ZGU1MDBmOWU1NjA0YzlhNWJiYjEwMS4uNWRhMjU4ZjE1N2FlMGVkYTk3ODliNzQxYmJlYzJh
ZDAzNWY5NWIxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTA3LTEyICBFcmlj
IENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIER5bmFt
aWNhbGx5IHNldCBjYXB0dXJlIGF0dHJpYnV0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjc4NzEKKyAgICAgICAgcmRhcjovLzcwMjQxNjY1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRl
c3RzLCB0ZXN0ZWQgbWFudWFsbHkuCisKKyAgICAgICAgKiBlbi5scHJvai9Mb2NhbGl6YWJsZS5z
dHJpbmdzOgorCiAyMDIxLTA3LTEyICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAK
ICAgICAgICAgVW5yZXZpZXdlZCwgcGFydGlhbCByZXZlcnQgb2YgcjI3OTY2MSB0byBhZGRyZXNz
IGNyYXNoZXMgb24gaU9TIERlYnVnLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKaW5kZXggMDQ1ODAxMTYwYjE2
ZGJlMGU4Njg4NThlNmE0YjA4M2ZiMGQ5OTZjOS4uNWZhYzJmN2MwYjNiMWRlZTJmYWEwMDU2NGNj
Njg4ZDM4NjU0ZmJmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEt
MDctMTIgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAg
W2lPU10gRHluYW1pY2FsbHkgc2V0IGNhcHR1cmUgYXR0cmlidXRpb24KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzg3MQorICAgICAgICByZGFyOi8v
NzAyNDE2NjUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFBBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHBhbC9pb3MvU3lz
dGVtU3RhdHVzU29mdExpbmsuaDogQWRkZWQuCisgICAgICAgICogcGFsL2lvcy9TeXN0ZW1TdGF0
dXNTb2Z0TGluay5tbTogQWRkZWQuCisKIDIwMjEtMDctMDkgIEplciBOb2JsZSAgPGplci5ub2Js
ZUBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBNYWtlIENvb3JkaW5hdG9yIHBsYXliYWNr
IGNvbW1hbmRzIG1vcmUgcHJlY2lzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAxYjc4ZjY4ZjUyMzg5NDY1YTViMWMz
MjVlNTdkYjYyOWFiNTVlMmFkLi45MDc3YjY1N2Y4YzY5NWYzMjEwZDc0YzU0MjYwMzM1OTYxNWI1
NzQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDIxLTA3LTEyICBFcmljIENhcmxzb24g
IDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIER5bmFtaWNhbGx5IHNl
dCBjYXB0dXJlIGF0dHJpYnV0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjc4NzEKKyAgICAgICAgcmRhcjovLzcwMjQxNjY1CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBHUFVQcm9jZXNzL0VudHJ5
UG9pbnQvQ29jb2EvWFBDU2VydmljZS9HUFVTZXJ2aWNlL0luZm8taU9TLnBsaXN0OiBSZW1vdmUg
X1NUQXR0cmlidXRpb25EaXNwbGF5TmFtZQorCisgICAgICAgICogR1BVUHJvY2Vzcy9HUFVDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6R1BVQ29ubmVjdGlvblRv
V2ViUHJvY2Vzczo6R1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcyk6IEluaXRpYWxpemUgbV9jYXB0
dXJlT3JpZ2luLgorICAgICAgICAoV2ViS2l0OjpHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjp1
cGRhdGVDYXB0dXJlT3JpZ2luKTogVXBkYXRlLgorICAgICAgICAoV2ViS2l0OjpHUFVDb25uZWN0
aW9uVG9XZWJQcm9jZXNzOjpzZXRDYXB0dXJlQXR0cmlidXRpb25TdHJpbmcgY29uc3QpOiBOb24t
Q29jb2Egc3R1Yi4KKyAgICAgICAgKiBHUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nl
c3MuaDoKKworICAgICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OkdQVVByb2Nlc3M6OnVwZGF0ZUNhcHR1cmVPcmlnaW4pOiBDYWxsIHNhbWUgbWV0aG9k
IGluIFdlYlByb2Nlc3NDb25uZWN0aW9uLAorICAgICAgICBpZiBpdCBleGlzdHMuCisgICAgICAg
ICogR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmg6CisgICAgICAgICogR1BVUHJvY2Vzcy9HUFVQcm9j
ZXNzLm1lc3NhZ2VzLmluOgorCisgICAgICAgICogR1BVUHJvY2Vzcy9jb2NvYS9HUFVDb25uZWN0
aW9uVG9XZWJQcm9jZXNzQ29jb2EubW06IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpHUFVDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzOjpzZXRDYXB0dXJlQXR0cmlidXRpb25TdHJpbmcpOiBTZXQgdGhl
IGF0dHJpYnV0aW9uCisgICAgICAgIHN0cmluZyB0byAiW2RvbWFpbl0gaW4gW2FwcGxpY2F0aW9u
XSIuCisKKyAgICAgICAgKiBQbGF0Zm9ybS9zcGkvaW9zL1N5c3RlbVN0YXR1c1NQSS5oOiBBZGRl
ZC4KKyAgICAgICAgKiBSZXNvdXJjZXMvU2FuZGJveFByb2ZpbGVzL2lvcy9jb20uYXBwbGUuV2Vi
S2l0LkdQVS5zYjogQWxsb3cgImNvbS5hcHBsZS5zeXN0ZW1zdGF0dXMuYWN0aXZpdHlhdHRyaWJ1
dGlvbiIKKyAgICAgICAgdG8gYmUgbG9va2VkIHVwLgorCisgICAgICAgICogU2NyaXB0cy9wcm9j
ZXNzLWVudGl0bGVtZW50cy5zaDogQWRkIHRoZSBlbnRpdGxlbWVudHMgcmVxdWlyZWQgdG8gdXNl
IHRoZSAKKyAgICAgICAgU3lzdGVtU3RhdHVzIFNQSS4KKworICAgICAgICAqIFNvdXJjZXNDb2Nv
YS50eHQ6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1VzZXJNZWRpYUNhcHR1cmVNYW5hZ2Vy
UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpVc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5
OjpzdGFydFByb2R1Y2luZ0RhdGEpOiBGYWlsIGNhcHR1cmUKKyAgICAgICAgaWYgc2V0Q2FwdHVy
ZUF0dHJpYnV0aW9uU3RyaW5nIHJldHVybnMgZmFsc2UuCisgICAgICAgICogVUlQcm9jZXNzL0Nv
Y29hL1VzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHkuaDoKKyAgICAgICAgKFdlYktpdDo6VXNl
ck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eTo6Q29ubmVjdGlvblByb3h5OjpzZXRDYXB0dXJlQXR0
cmlidXRpb25TdHJpbmcpOgorCisgICAgICAgICogVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJv
eHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpHUFVQcm9jZXNzUHJveHk6OnVwZGF0ZUNhcHR1cmVP
cmlnaW4pOiBDYWxsIGdwdVByb2Nlc3MudXBkYXRlQ2FwdHVyZU9yaWdpbgorICAgICAgICBzbyB0
aGUgY2FwdHVyZSBvcmlnaW4gaXMgY29ycmVjdCB3aGVuIGNhcHR1cmUgYmVnaW5zLgorICAgICAg
ICAqIFVJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5Lmg6CisKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpkaWRD
aGFuZ2VNYWluRG9jdW1lbnQpOiBVcGRhdGUgdGhlIGNhcHR1cmUgb3JpZ2luLgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlUHJveHk6OndpbGxTdGFydENhcHR1cmUpOiBEaXR0by4KKyAgICAgICAg
KFdlYktpdDo6V2ViUGFnZVByb3h5OjpncHVQcm9jZXNzRXhpdGVkKTogRHJpdmUtYnkgLSB1cGRh
dGUgbG9jYWwgdmFyaWFibGUgbmFtZXMKKyAgICAgICAgdG8gbWFrZSB0aGVpciBwdXJwb3NlIGNs
ZWFyZXIuCisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIw
MjEtMDctMTIgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJl
dmlld2VkLCByZXZlcnRpbmcgcjI3OTgzNS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BB
TC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1BBTC9QQUwu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBiYjNkNzY4MjI4NGMxZjc1NDM3ODNjYmFj
MGY3YTY0ZjBlYTE4OTI1Li5mOGE1OWQ3N2IyOTM0YWQzYTEwNzRmMGE2NTdjMmQzNzY1ZmIzMjkz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCkBAIC0yNSw2ICsyNSw4IEBACiAJCTA3NjExREI3MjQzRkE1QkYwMEQ4MDcwNCAvKiBVc2Fn
ZVRyYWNraW5nU29mdExpbmsubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwNzYxMURCNTI0M0ZBNUJGMDBEODA3MDQgLyogVXNhZ2VUcmFja2luZ1NvZnRM
aW5rLm1tICovOyB9OwogCQkwNzdFODdCMTIyNkE0NjAyMDBBMkFGRjAgLyogQVZGb3VuZGF0aW9u
U29mdExpbmsubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwNzdFODdBRjIyNkE0NjAyMDBBMkFGRjAgLyogQVZGb3VuZGF0aW9uU29mdExpbmsubW0gKi87
IH07CiAJCTA3N0U4N0IyMjI2QTQ2MDMwMEEyQUZGMCAvKiBBVkZvdW5kYXRpb25Tb2Z0TGluay5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDc3RTg3QjAy
MjZBNDYwMjAwQTJBRkYwIC8qIEFWRm91bmRhdGlvblNvZnRMaW5rLmggKi87IH07CisJCTA3OUQx
RDk3MjY5NTBERDcwMDg4MzU3NyAvKiBTeXN0ZW1TdGF0dXNTb2Z0TGluay5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDc5RDFEOTUyNjk1MERENzAwODgz
NTc3IC8qIFN5c3RlbVN0YXR1c1NvZnRMaW5rLmggKi87IH07CisJCTA3OUQxRDk4MjY5NTBERDcw
MDg4MzU3NyAvKiBTeXN0ZW1TdGF0dXNTb2Z0TGluay5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3OUQxRDk2MjY5NTBERDcwMDg4MzU3NyAvKiBTeXN0
ZW1TdGF0dXNTb2Z0TGluay5tbSAqLzsgfTsKIAkJMEMwMENGRDQxRjY4Q0U0NjAwQUFDMjZEIC8q
IE1lZGlhVGltZUFWRm91bmRhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMEMwMENGRDIxRjY4Q0U0NjAwQUFDMjZEIC8qIE1lZGlhVGltZUFWRm91
bmRhdGlvbi5oICovOyB9OwogCQkwQzJEOUU3MzFFRUY1QUY2MDBEQkMzMTcgLyogRXhwb3J0TWFj
cm9zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwQzJE
OUU3MjFFRUY1QUY2MDBEQkMzMTcgLyogRXhwb3J0TWFjcm9zLmggKi87IH07CiAJCTBDMkRBMDZE
MUYzM0NBODQwMERCQzMxNyAvKiBDRkxvY2FsZVNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEMyREEwNjcxRjMzQ0E4NDAwREJDMzE3IC8qIENGTG9j
YWxlU1BJLmggKi87IH07CkBAIC0yMzYsNiArMjM4LDggQEAKIAkJMDc2MTFEQjUyNDNGQTVCRjAw
RDgwNzA0IC8qIFVzYWdlVHJhY2tpbmdTb2Z0TGluay5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgcGF0aCA9IFVzYWdlVHJhY2tpbmdTb2Z0TGluay5tbTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMDc3RTg3QUYyMjZBNDYwMjAwQTJBRkYwIC8qIEFWRm91bmRhdGlv
blNvZnRMaW5rLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQVZG
b3VuZGF0aW9uU29mdExpbmsubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA3N0U4
N0IwMjI2QTQ2MDIwMEEyQUZGMCAvKiBBVkZvdW5kYXRpb25Tb2Z0TGluay5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBBVkZvdW5kYXRpb25Tb2Z0TGluay5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkwNzlEMUQ5NTI2OTUwREQ3MDA4ODM1NzcgLyogU3lzdGVtU3Rh
dHVzU29mdExpbmsuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3lzdGVtU3Rh
dHVzU29mdExpbmsuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMDc5RDFEOTYyNjk1
MERENzAwODgzNTc3IC8qIFN5c3RlbVN0YXR1c1NvZnRMaW5rLm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBwYXRoID0gU3lzdGVtU3RhdHVzU29mdExpbmsubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBDMDBDRkQxMUY2OENFNDYwMEFBQzI2RCAvKiBNZWRpYVRp
bWVBVkZvdW5kYXRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
TWVkaWFUaW1lQVZGb3VuZGF0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MEMwMENGRDIxRjY4Q0U0NjAwQUFDMjZEIC8qIE1lZGlhVGltZUFWRm91bmRhdGlvbi5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYVRpbWVBVkZvdW5kYXRpb24uaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEMyRDlFNzIxRUVGNUFGNjAwREJDMzE3IC8qIEV4
cG9ydE1hY3Jvcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBFeHBvcnRNYWNy
b3MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTc2NCw2ICs3NjgsOCBAQAogCQkJ
CTVDN0M3ODcyMjNBQzNFNzcwMDY1RjQ3RSAvKiBNYW5hZ2VkQ29uZmlndXJhdGlvblNvZnRMaW5r
Lm1tICovLAogCQkJCTQ0NTBGQzlFMjFGNUY2MDIwMDRERkE1NiAvKiBRdWlja0xvb2tTb2Z0TGlu
ay5oICovLAogCQkJCTQ0NTBGQzlEMjFGNUY2MDIwMDRERkE1NiAvKiBRdWlja0xvb2tTb2Z0TGlu
ay5tbSAqLywKKwkJCQkwNzlEMUQ5NTI2OTUwREQ3MDA4ODM1NzcgLyogU3lzdGVtU3RhdHVzU29m
dExpbmsuaCAqLywKKwkJCQkwNzlEMUQ5NjI2OTUwREQ3MDA4ODM1NzcgLyogU3lzdGVtU3RhdHVz
U29mdExpbmsubW0gKi8sCiAJCQkJMkUxMzQyQ0EyMTVBQTEwQTAwNzE5OUQyIC8qIFVJS2l0U29m
dExpbmsuaCAqLywKIAkJCQkyRTEzNDJDQjIxNUFBMTBBMDA3MTk5RDIgLyogVUlLaXRTb2Z0TGlu
ay5tbSAqLywKIAkJCSk7CkBAIC05OTcsNiArMTAwMyw3IEBACiAJCQkJMzEzMDhCMTQyMEEyMTcw
NTAwM0ZCOTI5IC8qIFN5c3RlbVByZXZpZXdTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCUEzQUI2
RTU4MUYzRDFEREIwMDlDMTRCMSAvKiBTeXN0ZW1TbGVlcExpc3RlbmVyLmggaW4gSGVhZGVycyAq
LywKIAkJCQlBM0FCNkU2NDFGM0QyMTdGMDA5QzE0QjEgLyogU3lzdGVtU2xlZXBMaXN0ZW5lck1h
Yy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMDc5RDFEOTcyNjk1MERENzAwODgzNTc3IC8qIFN5c3Rl
bVN0YXR1c1NvZnRMaW5rLmggaW4gSGVhZGVycyAqLywKIAkJCQkwQzc3ODVBMTFGNDUxMzBGMDBG
NEVCQjYgLyogVGVsZXBob255VXRpbGl0aWVzU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRTEz
NDJDQzIxNUFBMTBBMDA3MTk5RDIgLyogVUlLaXRTb2Z0TGluay5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMEM1QUY5MjIxRjQzQTRDNzAwMkVBQzAyIC8qIFVJS2l0U1BJLmggaW4gSGVhZGVycyAqLywK
QEAgLTExMzQsNiArMTE0MSw3IEBACiAJCQkJOTNCMzhFQzAyNTgyMUNEODAwMTk4RTYzIC8qIFNw
ZWVjaFNvZnRMaW5rLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQTNBQjZFNTcxRjNEMUREQjAwOUMx
NEIxIC8qIFN5c3RlbVNsZWVwTGlzdGVuZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTNBQjZF
NjUxRjNEMjE3RjAwOUMxNEIxIC8qIFN5c3RlbVNsZWVwTGlzdGVuZXJNYWMubW0gaW4gU291cmNl
cyAqLywKKwkJCQkwNzlEMUQ5ODI2OTUwREQ3MDA4ODM1NzcgLyogU3lzdGVtU3RhdHVzU29mdExp
bmsubW0gaW4gU291cmNlcyAqLywKIAkJCQkyRTEzNDJDRDIxNUFBMTBBMDA3MTk5RDIgLyogVUlL
aXRTb2Z0TGluay5tbSBpbiBTb3VyY2VzICovLAogCQkJCTA3NjExREI3MjQzRkE1QkYwMEQ4MDcw
NCAvKiBVc2FnZVRyYWNraW5nU29mdExpbmsubW0gaW4gU291cmNlcyAqLywKIAkJCQk0MUUxRjM0
NDI0OEE2QTAwMDAyMkQ1REUgLyogVmlkZW9Ub29sYm94U29mdExpbmsuY3BwIGluIFNvdXJjZXMg
Ki8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2lvcy9TeXN0ZW1TdGF0dXNT
b2Z0TGluay5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9pb3MvU3lzdGVtU3RhdHVzU29mdExp
bmsuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xZDc2YTQ3ZDY4OTczMTAzYTNhZWFhNWU2ZDEzZWRlZmM5ZmU4OTE5
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9pb3MvU3lzdGVtU3Rh
dHVzU29mdExpbmsuaApAQCAtMCwwICsxLDM2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIx
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNl
CisKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKSAmJiAhUExBVEZPUk0oTUFDQ0FUQUxZU1QpCisK
KyNpbXBvcnQgPHd0Zi9Tb2Z0TGlua2luZy5oPgorCitTT0ZUX0xJTktfRlJBTUVXT1JLX0ZPUl9I
RUFERVIoUEFMLCBTeXN0ZW1TdGF0dXMpCisKK1NPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFBB
TCwgU1REeW5hbWljQWN0aXZpdHlBdHRyaWJ1dGlvblB1Ymxpc2hlcik7CisKKyNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9pb3MvU3lzdGVtU3RhdHVzU29mdExpbmsu
bW0gYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2lvcy9TeXN0ZW1TdGF0dXNTb2Z0TGluay5tbQpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5kYTZmNDMzNWU0OTE0ODA5MjExNTVhYWJkOWRhNWQ4OGFmYWZiZWU4Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9pb3MvU3lzdGVtU3RhdHVzU29m
dExpbmsubW0KQEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNvbmZpZy5o
IgorCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgIVBMQVRGT1JNKE1BQ0NBVEFMWVNUKQor
CisjaW1wb3J0IDx3dGYvU29mdExpbmtpbmcuaD4KKworU09GVF9MSU5LX1BSSVZBVEVfRlJBTUVX
T1JLX0ZPUl9TT1VSQ0UoUEFMLCBTeXN0ZW1TdGF0dXMpCisKK1NPRlRfTElOS19DTEFTU19GT1Jf
U09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgU3lzdGVtU3RhdHVzLCBTVER5bmFtaWNBY3Rpdml0eUF0
dHJpYnV0aW9uUHVibGlzaGVyLCBQQUxfRVhQT1JUKTsKKworI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9lbi5scHJvai9Mb2NhbGl6YWJsZS5zdHJpbmdzIGIvU291cmNlL1dlYkNv
cmUvZW4ubHByb2ovTG9jYWxpemFibGUuc3RyaW5ncwppbmRleCA3MTY2ZjlhZmVhZmYzZjJjODA2
ZWVlZjUzNjE4NzRjYjc0OTY2MjcxLi45MTg5OWZmZjE4MzcxMGViNDM0YmY3OWM0ZTY3NzAwOWFi
MjQ0OWIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lbi5scHJvai9Mb2NhbGl6YWJsZS5z
dHJpbmdzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VuLmxwcm9qL0xvY2FsaXphYmxlLnN0cmluZ3MK
QEAgLTE2MzYsMyArMTYzNiw1IEBACiAvKiBPcHRpb24gaW4gc2VnbWVudGVkIGNvbnRyb2wgZm9y
IGNob29zaW5nIGxpc3QgdHlwZSBpbiB0ZXh0IGVkaXRpbmcgKi8KICLigKIiID0gIuKAoiI7CiAK
Ky8qIFRoZSBkb21haW4gYW5kIGFwcGxpY2F0aW9uIHVzaW5nIHRoZSBjYW1lcmEgYW5kL29yIG1p
Y3JvcGhvbmUuIFRoZSBmaXJzdCBhcmd1bWVudCBpcyBkb21haW4sIHRoZSBzZWNvbmQgaXMgdGhl
IGFwcGxpY2F0aW9uIG5hbWUgKGlPUyBvbmx5KS4gKi8KKyLigJwlQOKAnSBpbiDigJwlJUDigJ0i
ID0gIuKAnCVA4oCdIGluIOKAnCUlQOKAnSI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvRW50cnlQb2ludC9Db2NvYS9YUENTZXJ2aWNlL0dQVVNlcnZpY2UvSW5mby1pT1Mu
cGxpc3QgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvRW50cnlQb2ludC9Db2NvYS9YUENTZXJ2
aWNlL0dQVVNlcnZpY2UvSW5mby1pT1MucGxpc3QKaW5kZXggZjQxYjY1MjAwZGZiNzU3MDZhY2Jm
ZDdmZDZiYmU2M2NkMjA1YzMxZS4uMTkyM2FmNzUyMDMxYTJhYWNiYzE5OWEwZWVlZDVkZTAxMzUw
MTQ0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0VudHJ5UG9pbnQvQ29j
b2EvWFBDU2VydmljZS9HUFVTZXJ2aWNlL0luZm8taU9TLnBsaXN0CisrKyBiL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9FbnRyeVBvaW50L0NvY29hL1hQQ1NlcnZpY2UvR1BVU2VydmljZS9JbmZv
LWlPUy5wbGlzdApAQCAtMjgsOCArMjgsNiBAQAogCTxzdHJpbmc+TlNBcHBsaWNhdGlvbjwvc3Ry
aW5nPgogCTxrZXk+TFNVSUVsZW1lbnQ8L2tleT4KIAk8dHJ1ZS8+Ci0gICAgPGtleT5fU1RBdHRy
aWJ1dGlvbkRpc3BsYXlOYW1lPC9rZXk+Ci0gICAgPHN0cmluZz5XZWJzaXRlPC9zdHJpbmc+CiAJ
PGtleT5YUENTZXJ2aWNlPC9rZXk+CiAJPGRpY3Q+CiAJCTxrZXk+U2VydmljZVR5cGU8L2tleT4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzLmNwcAppbmRleCBlZWFlMzE2NWU0ZTIwYTRkMzYwNjUxM2UwOGQ2YTBlMjY3ZmU2NzA2
Li5mMjE3MzU2NWEzZjcwNmE4Mjk3NmUzMjJmMmZjOGI3MDU3NjNhOGY1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3Bw
CkBAIC0xMzksNiArMTM5LDEwIEBACiAjaW5jbHVkZSAiTG9jYWxBdWRpb1Nlc3Npb25Sb3V0aW5n
QXJiaXRyYXRvci5oIgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorI2luY2x1
ZGUgPFdlYkNvcmUvU2VjdXJpdHlPcmlnaW4uaD4KKyNlbmRpZgorCiBuYW1lc3BhY2UgV2ViS2l0
IHsKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCkBAIC0xNzgsOSArMTgyLDE1IEBAIHByaXZh
dGU6CiAgICAgICAgICAgICByZXR1cm4gbV9wcm9jZXNzLmFsbG93c0Rpc3BsYXlDYXB0dXJlKCk7
CiAgICAgICAgIH0KICAgICB9CisgICAgCisgICAgYm9vbCBzZXRDYXB0dXJlQXR0cmlidXRpb25T
dHJpbmcoKSBmaW5hbAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fcHJvY2Vzcy5zZXRDYXB0dXJl
QXR0cmlidXRpb25TdHJpbmcoKTsKKyAgICB9CiAKICAgICBHUFVDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzJiBtX3Byb2Nlc3M7CiB9OworCiAjZW5kaWYKIAogUmVmPEdQVUNvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3M+IEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmNyZWF0ZShHUFVQcm9jZXNzJiBncHVQ
cm9jZXNzLCBXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciB3ZWJQcm9jZXNzSWRlbnRpZmllciwg
SVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVyIGNvbm5lY3Rpb25JZGVudGlmaWVyLCBQQUw6OlNl
c3Npb25JRCBzZXNzaW9uSUQsIEdQVVByb2Nlc3NDb25uZWN0aW9uUGFyYW1ldGVycyYmIHBhcmFt
ZXRlcnMpCkBAIC0yMDMsNiArMjEzLDkgQEAgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6R1BV
Q29ubmVjdGlvblRvV2ViUHJvY2VzcyhHUFVQcm9jZXNzJiBncHVQcm9jZXNzLCBXZWIKICNpZiBQ
TEFURk9STShDT0NPQSkgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICAsIG1fc2FtcGxlQnVm
ZmVyRGlzcGxheUxheWVyTWFuYWdlcihSZW1vdGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXJNYW5h
Z2VyOjpjcmVhdGUoKnRoaXMpKQogI2VuZGlmCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKyAg
ICAsIG1fY2FwdHVyZU9yaWdpbihTZWN1cml0eU9yaWdpbjo6Y3JlYXRlVW5pcXVlKCkpCisjZW5k
aWYKICNpZiBFTkFCTEUoUk9VVElOR19BUkJJVFJBVElPTikgJiYgSEFWRShBVkFVRElPX1JPVVRJ
TkdfQVJCSVRFUikKICAgICAsIG1fcm91dGluZ0FyYml0cmF0b3IoTG9jYWxBdWRpb1Nlc3Npb25S
b3V0aW5nQXJiaXRyYXRvcjo6Y3JlYXRlKCp0aGlzKSkKICNlbmRpZgpAQCAtODIwLDYgKzgzMywx
NyBAQCB2b2lkIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OnVwZGF0ZUNhcHR1cmVBY2Nlc3Mo
Ym9vbCBhbGxvd0F1ZGlvQ2FwdHVyZSwgYm9vbAogICAgIG1fYWxsb3dzVmlkZW9DYXB0dXJlIHw9
IGFsbG93VmlkZW9DYXB0dXJlOwogICAgIG1fYWxsb3dzRGlzcGxheUNhcHR1cmUgfD0gYWxsb3dE
aXNwbGF5Q2FwdHVyZTsKIH0KKwordm9pZCBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjp1cGRh
dGVDYXB0dXJlT3JpZ2luKGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSYgb3JpZ2lu
RGF0YSkKK3sKKyAgICBtX2NhcHR1cmVPcmlnaW4gPSBvcmlnaW5EYXRhLnNlY3VyaXR5T3JpZ2lu
KCk7Cit9CisjZW5kaWYKKworI2lmICFQTEFURk9STShDT0NPQSkKK2Jvb2wgR1BVQ29ubmVjdGlv
blRvV2ViUHJvY2Vzczo6c2V0Q2FwdHVyZUF0dHJpYnV0aW9uU3RyaW5nKCkgY29uc3QKK3sKK30K
ICNlbmRpZgogCiAjaWYgUExBVEZPUk0oTUFDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgKaW5kZXggNWZhZGEzNWMxYmY0YjNh
YjI4MDZmYmQ1N2YwZWI2NjFlMDJmZGQyOC4uM2MzZWZlNTYyYTNjMzA4M2ExMWQ0ZThmYmIxMDM2
NTY1ZmRkMzcxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29u
bmVjdGlvblRvV2ViUHJvY2Vzcy5oCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSAiU2NvcGVk
QWN0aXZlTWVzc2FnZVJlY2VpdmVRdWV1ZS5oIgogI2luY2x1ZGUgPFdlYkNvcmUvTGliV2ViUlRD
RW51bVRyYWl0cy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTm93UGxheWluZ01hbmFnZXIuaD4KKyNp
bmNsdWRlIDxXZWJDb3JlL1BhZ2VJZGVudGlmaWVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Qcm9j
ZXNzSWRlbnRpZmllci5oPgogI2luY2x1ZGUgPHBhbC9TZXNzaW9uSUQuaD4KICNpbmNsdWRlIDx3
dGYvTG9nZ2VyLmg+CkBAIC01Miw2ICs1MywxMSBAQAogI2luY2x1ZGUgPENvcmVHcmFwaGljcy9D
R0Rpc3BsYXlDb25maWd1cmF0aW9uLmg+CiAjZW5kaWYKIAorbmFtZXNwYWNlIFdlYkNvcmUgewor
Y2xhc3MgU2VjdXJpdHlPcmlnaW47CitzdHJ1Y3QgU2VjdXJpdHlPcmlnaW5EYXRhOworfQorCiBu
YW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgR1BVUHJvY2VzczsKQEAgLTExMSw2ICsxMTcsOCBA
QCBwdWJsaWM6CiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICB2b2lkIHNldE9yaWVudGF0
aW9uRm9yTWVkaWFDYXB0dXJlKHVpbnQ2NF90IG9yaWVudGF0aW9uKTsKICAgICB2b2lkIHVwZGF0
ZUNhcHR1cmVBY2Nlc3MoYm9vbCBhbGxvd0F1ZGlvQ2FwdHVyZSwgYm9vbCBhbGxvd1ZpZGVvQ2Fw
dHVyZSwgYm9vbCBhbGxvd0Rpc3BsYXlDYXB0dXJlKTsKKyAgICB2b2lkIHVwZGF0ZUNhcHR1cmVP
cmlnaW4oY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhJik7CisgICAgYm9vbCBzZXRD
YXB0dXJlQXR0cmlidXRpb25TdHJpbmcoKTsKICAgICBib29sIGFsbG93c0F1ZGlvQ2FwdHVyZSgp
IGNvbnN0IHsgcmV0dXJuIG1fYWxsb3dzQXVkaW9DYXB0dXJlOyB9CiAgICAgYm9vbCBhbGxvd3NW
aWRlb0NhcHR1cmUoKSBjb25zdCB7IHJldHVybiBtX2FsbG93c1ZpZGVvQ2FwdHVyZTsgfQogICAg
IGJvb2wgYWxsb3dzRGlzcGxheUNhcHR1cmUoKSBjb25zdCB7IHJldHVybiBtX2FsbG93c0Rpc3Bs
YXlDYXB0dXJlOyB9CkBAIC0yNDgsNiArMjU2LDcgQEAgcHJpdmF0ZToKICAgICBzdGQ6OnVuaXF1
ZV9wdHI8UmVtb3RlTWVkaWFSZWNvcmRlck1hbmFnZXI+IG1fcmVtb3RlTWVkaWFSZWNvcmRlck1h
bmFnZXI7CiAjZW5kaWYKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorICAgIFJlZjxXZWJDb3Jl
OjpTZWN1cml0eU9yaWdpbj4gbV9jYXB0dXJlT3JpZ2luOwogICAgIGJvb2wgbV9hbGxvd3NBdWRp
b0NhcHR1cmUgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9hbGxvd3NWaWRlb0NhcHR1cmUgeyBmYWxz
ZSB9OwogICAgIGJvb2wgbV9hbGxvd3NEaXNwbGF5Q2FwdHVyZSB7IGZhbHNlIH07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHAKaW5kZXggNGE0YWM5MTRiNDYzMTkzNTI0ODhk
YmUxNjI2ZGZmM2RkY2EyNjZiZi4uNjc2ZmM0NWJhZjE2NDY2ODcyN2FhZmJlODg1MmE0ZWFkODY2
NDZkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcApAQCAtMzEyLDYg
KzMxMiwxMiBAQCB2b2lkIEdQVVByb2Nlc3M6OnVwZGF0ZUNhcHR1cmVBY2Nlc3MoYm9vbCBhbGxv
d0F1ZGlvQ2FwdHVyZSwgYm9vbCBhbGxvd1ZpZGVvQ2FwdAogICAgIGNvbXBsZXRpb25IYW5kbGVy
KCk7CiB9CiAKK3ZvaWQgR1BVUHJvY2Vzczo6dXBkYXRlQ2FwdHVyZU9yaWdpbihjb25zdCBXZWJD
b3JlOjpTZWN1cml0eU9yaWdpbkRhdGEmIG9yaWdpbkRhdGEsIFByb2Nlc3NJZGVudGlmaWVyIHBy
b2Nlc3NJRCkKK3sKKyAgICBpZiAoYXV0byogY29ubmVjdGlvbiA9IHdlYlByb2Nlc3NDb25uZWN0
aW9uKHByb2Nlc3NJRCkpCisgICAgICAgIGNvbm5lY3Rpb24tPnVwZGF0ZUNhcHR1cmVPcmlnaW4o
b3JpZ2luRGF0YSk7Cit9CisKIHZvaWQgR1BVUHJvY2Vzczo6dXBkYXRlU2FuZGJveEFjY2Vzcyhj
b25zdCBWZWN0b3I8U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlPiYgZXh0ZW5zaW9ucykKIHsKICAg
ICBmb3IgKGF1dG8mIGV4dGVuc2lvbiA6IGV4dGVuc2lvbnMpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L0dQVVByb2Nlc3MuaAppbmRleCA1ZWQ1YjNlZDFlMTQ3ZTQ2MTkzZTZiODRkODNkODA5ZTA4NTkw
ZDM0Li5hMjFkMDUxM2NlMjE4OTY0ZTdiZmUxNzliNmU2NzZhOGNhYmY1ZWFkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJp
Z2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAxOS0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNDUsNiArNDUsNyBAQAogbmFtZXNwYWNlIFdlYkNv
cmUgewogY2xhc3MgTm93UGxheWluZ01hbmFnZXI7CiBzdHJ1Y3QgTW9ja01lZGlhRGV2aWNlOwor
c3RydWN0IFNlY3VyaXR5T3JpZ2luRGF0YTsKIH0KIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC0x
MjQsMTEgKzEyNSwxMyBAQCBwcml2YXRlOgogICAgIHZvaWQgc2V0TW9ja0NhcHR1cmVEZXZpY2Vz
RW5hYmxlZChib29sKTsKICAgICB2b2lkIHNldE9yaWVudGF0aW9uRm9yTWVkaWFDYXB0dXJlKHVp
bnQ2NF90IG9yaWVudGF0aW9uKTsKICAgICB2b2lkIHVwZGF0ZUNhcHR1cmVBY2Nlc3MoYm9vbCBh
bGxvd0F1ZGlvQ2FwdHVyZSwgYm9vbCBhbGxvd1ZpZGVvQ2FwdHVyZSwgYm9vbCBhbGxvd0Rpc3Bs
YXlDYXB0dXJlLCBXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZCgpPiYmKTsKKyAgICB2b2lkIHVwZGF0ZUNhcHR1cmVPcmlnaW4oY29uc3QgV2ViQ29yZTo6
U2VjdXJpdHlPcmlnaW5EYXRhJiwgV2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIpOwogICAgIHZv
aWQgdXBkYXRlU2FuZGJveEFjY2Vzcyhjb25zdCBWZWN0b3I8U2FuZGJveEV4dGVuc2lvbjo6SGFu
ZGxlPiYpOwogICAgIHZvaWQgYWRkTW9ja01lZGlhRGV2aWNlKGNvbnN0IFdlYkNvcmU6Ok1vY2tN
ZWRpYURldmljZSYpOwogICAgIHZvaWQgY2xlYXJNb2NrTWVkaWFEZXZpY2VzKCk7CiAgICAgdm9p
ZCByZW1vdmVNb2NrTWVkaWFEZXZpY2UoY29uc3QgU3RyaW5nJiBwZXJzaXN0ZW50SWQpOwogICAg
IHZvaWQgcmVzZXRNb2NrTWVkaWFEZXZpY2VzKCk7CisgICAgYm9vbCBzZXRDYXB0dXJlQXR0cmli
dXRpb25TdHJpbmcoY29uc3QgU3RyaW5nJik7CiAjZW5kaWYKICNpZiBQTEFURk9STShNQUMpCiAg
ICAgdm9pZCBkaXNwbGF5Q29uZmlndXJhdGlvbkNoYW5nZWQoQ0dEaXJlY3REaXNwbGF5SUQsIENH
RGlzcGxheUNoYW5nZVN1bW1hcnlGbGFncyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9HUFVQcm9jZXNzLm1lc3NhZ2VzLmluCmluZGV4IDdhZDg5ZTRhOGJhZGZkY2ExYWFhMTk1ODk5
MDgxOTI0ZWE4ZjJmZDYuLjY5MWRhNzhkMmNmOTMyOGVhNzllMjRjMmQ2NDYyMDAzNmI1ZTQyNDkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLm1lc3NhZ2Vz
LmluCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLm1lc3NhZ2VzLmlu
CkBAIC00MSw2ICs0MSw3IEBAIG1lc3NhZ2VzIC0+IEdQVVByb2Nlc3MgTGVnYWN5UmVjZWl2ZXIg
ewogICAgIFNldE9yaWVudGF0aW9uRm9yTWVkaWFDYXB0dXJlKHVpbnQ2NF90IG9yaWVudGF0aW9u
KTsKICAgICBVcGRhdGVTYW5kYm94QWNjZXNzKFZlY3RvcjxXZWJLaXQ6OlNhbmRib3hFeHRlbnNp
b246OkhhbmRsZT4gZXh0ZW5zaW9ucyk7CiAgICAgVXBkYXRlQ2FwdHVyZUFjY2Vzcyhib29sIGFs
bG93QXVkaW9DYXB0dXJlLCBib29sIGFsbG93VmlkZW9DYXB0dXJlLCBib29sIGFsbG93RGlzcGxh
eUNhcHR1cmUsIFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyIHByb2Nlc3NJRCkgLT4gKCkgQXN5
bmMKKyAgICBVcGRhdGVDYXB0dXJlT3JpZ2luKHN0cnVjdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdp
bkRhdGEgb3JpZ2luRGF0YSwgV2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIgcHJvY2Vzc0lEKQog
ICAgIEFkZE1vY2tNZWRpYURldmljZShzdHJ1Y3QgV2ViQ29yZTo6TW9ja01lZGlhRGV2aWNlIGRl
dmljZSk7CiAgICAgQ2xlYXJNb2NrTWVkaWFEZXZpY2VzKCk7CiAgICAgUmVtb3ZlTW9ja01lZGlh
RGV2aWNlKFN0cmluZyBwZXJzaXN0ZW50SWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL2NvY29hL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3NDb2NvYS5tbSBiL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9jb2NvYS9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzQ29jb2Eu
bW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNDg2YjQzZjUzMmExMjcyMWE0NWQxNDRlOWM4M2M5MjM1MDI1ZGJlZgot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9jb2NvYS9HUFVDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzQ29jb2EubW0KQEAgLTAsMCArMSw2NSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbXBvcnQgImNvbmZpZy5oIgorI2ltcG9ydCAiR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5o
IgorCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQorCisjaW1wb3J0ICJTeXN0ZW1TdGF0dXNTUEku
aCIKKyNpbXBvcnQgPFdlYkNvcmUvTG9jYWxpemVkU3RyaW5ncy5oPgorI2ltcG9ydCA8V2ViQ29y
ZS9SZWdpc3RyYWJsZURvbWFpbi5oPgorI2ltcG9ydCA8V2ViQ29yZS9TZWN1cml0eU9yaWdpbi5o
PgorI2ltcG9ydCA8cGFsL2lvcy9TeXN0ZW1TdGF0dXNTb2Z0TGluay5oPgorCituYW1lc3BhY2Ug
V2ViS2l0IHsKKworI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCitib29sIEdQVUNvbm5lY3Rpb25U
b1dlYlByb2Nlc3M6OnNldENhcHR1cmVBdHRyaWJ1dGlvblN0cmluZygpCit7CisjaWYgUExBVEZP
Uk0oSU9TKQorICAgIGlmICghW1BBTDo6Z2V0U1REeW5hbWljQWN0aXZpdHlBdHRyaWJ1dGlvblB1
Ymxpc2hlckNsYXNzKCkgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihzZXRDdXJyZW50QXR0
cmlidXRpb25TdHJpbmdXaXRoRm9ybWF0OmF1ZGl0VG9rZW46KV0pCisgICAgICAgIHJldHVybiB0
cnVlOworCisgICAgYXV0byBkb21haW4gPSBXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbiB7IG1f
Y2FwdHVyZU9yaWdpbi0+ZGF0YSgpIH07CisgICAgaWYgKGRvbWFpbi5pc0VtcHR5KCkpCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKworICAgIGF1dG8gYXVkaXRUb2tlbiA9IGdwdVByb2Nlc3MoKS5w
YXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpLT5nZXRBdWRpdFRva2VuKCk7CisgICAgaWYgKCFhdWRp
dFRva2VuKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBSZXRhaW5QdHI8TlNTdHJpbmc+
IGZvcm1hdFN0cmluZyA9IFtOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0OldFQl9VSV9TVFJJTkco
IuKAnCVA4oCdIGluIOKAnCUlQOKAnSIsICJUaGUgZG9tYWluIGFuZCBhcHBsaWNhdGlvbiB1c2lu
ZyB0aGUgY2FtZXJhIGFuZC9vciBtaWNyb3Bob25lLiBUaGUgZmlyc3QgYXJndW1lbnQgaXMgZG9t
YWluLCB0aGUgc2Vjb25kIGlzIHRoZSBhcHBsaWNhdGlvbiBuYW1lIChpT1Mgb25seSkuIiksIChO
U1N0cmluZyAqKWRvbWFpbi5zdHJpbmcoKV07CisKKyAgICBbUEFMOjpnZXRTVER5bmFtaWNBY3Rp
dml0eUF0dHJpYnV0aW9uUHVibGlzaGVyQ2xhc3MoKSBzZXRDdXJyZW50QXR0cmlidXRpb25TdHJp
bmdXaXRoRm9ybWF0OmZvcm1hdFN0cmluZy5nZXQoKSBhdWRpdFRva2VuOmF1ZGl0VG9rZW4udmFs
dWUoKV07CisjZW5kaWYKKworICAgIHJldHVybiB0cnVlOworfQorI2VuZGlmIC8vIEVOQUJMRShN
RURJQV9TVFJFQU0pCisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxF
KEdQVV9QUk9DRVNTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9z
L1N5c3RlbVN0YXR1c1NQSS5oIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL1N5c3Rl
bVN0YXR1c1NQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcwZTNiNWFiNGVhZTc2OGM0YjJhNzA3NTg3ODkxMTZk
MGVkYzViYWUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9p
b3MvU3lzdGVtU3RhdHVzU1BJLmgKQEAgLTAsMCArMSw0MiBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZiBV
U0UoQVBQTEVfSU5URVJOQUxfU0RLKQorCisjaW1wb3J0IDxTeXN0ZW1TdGF0dXMvU1REeW5hbWlj
QWN0aXZpdHlBdHRyaWJ1dGlvblB1Ymxpc2hlci5oPgorCisjZWxzZQorCitOU19BU1NVTUVfTk9O
TlVMTF9CRUdJTgorCitAaW50ZXJmYWNlIFNURHluYW1pY0FjdGl2aXR5QXR0cmlidXRpb25QdWJs
aXNoZXIgOiBOU09iamVjdAorCisrICh2b2lkKXNldEN1cnJlbnRBdHRyaWJ1dGlvblN0cmluZ1dp
dGhGb3JtYXQ6KE5TU3RyaW5nICopZm9ybWF0IGF1ZGl0VG9rZW46KGF1ZGl0X3Rva2VuX3QpYXVk
aXRUb2tlbjsKKworQGVuZAorCitOU19BU1NVTUVfTk9OTlVMTF9FTkQKKworI2VuZGlmIC8vIFVT
RShBUFBMRV9JTlRFUk5BTF9TREspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1Jlc291cmNl
cy9TYW5kYm94UHJvZmlsZXMvaW9zL2NvbS5hcHBsZS5XZWJLaXQuR1BVLnNiIGIvU291cmNlL1dl
YktpdC9SZXNvdXJjZXMvU2FuZGJveFByb2ZpbGVzL2lvcy9jb20uYXBwbGUuV2ViS2l0LkdQVS5z
YgppbmRleCA2YmM2YjM3NjdjZTk3YjZhZjE1NWU4NTQ2ZDNjNzE3NDgxNjk5YTVhLi5mNWFjZjhk
NmRlOTUzYjMzYjg5YmFhZDdhNGYxZGYwZDhhMmFlYWU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1Jlc291cmNlcy9TYW5kYm94UHJvZmlsZXMvaW9zL2NvbS5hcHBsZS5XZWJLaXQuR1BVLnNi
CisrKyBiL1NvdXJjZS9XZWJLaXQvUmVzb3VyY2VzL1NhbmRib3hQcm9maWxlcy9pb3MvY29tLmFw
cGxlLldlYktpdC5HUFUuc2IKQEAgLTEwMDMsNiArMTAwMyw5IEBACiAgICAgKQogKQogCisoYWxs
b3cgbWFjaC1sb29rdXAKKyAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5zeXN0ZW1zdGF0dXMu
YWN0aXZpdHlhdHRyaWJ1dGlvbiIpCispCiAKIChhbGxvdyBtYWNoLWxvb2t1cAogICAgIChyZXF1
aXJlLWFsbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3Byb2Nlc3MtZW50aXRs
ZW1lbnRzLnNoIGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3Byb2Nlc3MtZW50aXRsZW1lbnRzLnNo
CmluZGV4IGZlZWY5YjMxNTI3NzExNWE2YzE0NzgxOGJkMDhlODJmZTU3NTgwYWEuLjllYWI1Yzdj
ZjJlODY3ZjY5YTlhYWU0MzVlMjZiZDZhMTVjMWI0ZDMgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvU2NyaXB0cy9wcm9jZXNzLWVudGl0bGVtZW50cy5zaAorKysgYi9Tb3VyY2UvV2ViS2l0L1Nj
cmlwdHMvcHJvY2Vzcy1lbnRpdGxlbWVudHMuc2gKQEAgLTMwOSw2ICszMDksMTAgQEAgZnVuY3Rp
b24gaW9zX2ZhbWlseV9wcm9jZXNzX2dwdV9lbnRpdGxlbWVudHMoKQogCiAgICAgcGxpc3RidWRk
eSBBZGQgOnNlYXRiZWx0LXByb2ZpbGVzIGFycmF5CiAgICAgcGxpc3RidWRkeSBBZGQgOnNlYXRi
ZWx0LXByb2ZpbGVzOjAgc3RyaW5nIGNvbS5hcHBsZS5XZWJLaXQuR1BVCisKKyAgICBwbGlzdGJ1
ZGR5IEFkZCA6Y29tLmFwcGxlLnN5c3RlbXN0YXR1cy5hY3Rpdml0eWF0dHJpYnV0aW9uIGJvb2wg
WUVTCisgICAgcGxpc3RidWRkeSBBZGQgOmNvbS5hcHBsZS5zZWN1cml0eS5leGNlcHRpb24ubWFj
aC1sb29rdXAuZ2xvYmFsLW5hbWUgYXJyYXkKKyAgICBwbGlzdGJ1ZGR5IEFkZCA6Y29tLmFwcGxl
LnNlY3VyaXR5LmV4Y2VwdGlvbi5tYWNoLWxvb2t1cC5nbG9iYWwtbmFtZTowIHN0cmluZyBjb20u
YXBwbGUuc3lzdGVtc3RhdHVzLmFjdGl2aXR5YXR0cmlidXRpb24KIH0KIAogZnVuY3Rpb24gaW9z
X2ZhbWlseV9wcm9jZXNzX3dlYmF1dGhuX2VudGl0bGVtZW50cygpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50
eHQKaW5kZXggOTllOTY2YzkxMzZjNGRmOTIyZjg5ZjNkMWQwMzk3YTdmY2ExMWYxMi4uYzQ0OWJj
NWQ5OWZlYmMyYzc3MTJkZWY4NGI4ZTIxZTg2NDI3N2RjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9Tb3VyY2VzQ29jb2EudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4
dApAQCAtNTgsNiArNTgsNyBAQCBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1RDUFNv
Y2tldENvY29hLm1tCiBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1VEUFNvY2tldENv
Y29hLm1tCiAKIEdQVVByb2Nlc3MvRW50cnlQb2ludC9Db2NvYS9YUENTZXJ2aWNlL0dQVVNlcnZp
Y2VFbnRyeVBvaW50Lm1tCitHUFVQcm9jZXNzL2NvY29hL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nl
c3NDb2NvYS5tbQogR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVHcmFwaGljc0NvbnRleHRHTENv
Y29hLmNwcAogR1BVUHJvY2Vzcy9ncmFwaGljcy9TY29wZWRSZW5kZXJpbmdSZXNvdXJjZXNSZXF1
ZXN0Q29jb2EubW0gQG5vLXVuaWZ5CiBHUFVQcm9jZXNzL2dyYXBoaWNzL1Njb3BlZFdlYkdMUmVu
ZGVyaW5nUmVzb3VyY2VzUmVxdWVzdENvY29hLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5LmNw
cAppbmRleCAwNWFlYmI3ZDNkODRlMjQ4MmM4OWRlYTMzODM5ZjIzYTIxNWIxYTdmLi45YWIyYTM3
NWE5ZTAzODBhYTU3YTVhOTQxNGJkOTk1NjNiMWNmZjdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Db2NvYS9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdlclBy
b3h5LmNwcApAQCAtMzI2LDggKzMyNiwxNiBAQCB2b2lkIFVzZXJNZWRpYUNhcHR1cmVNYW5hZ2Vy
UHJveHk6OmNyZWF0ZU1lZGlhU291cmNlRm9yQ2FwdHVyZURldmljZVdpdGhDb25zdHJhaQogCiB2
b2lkIFVzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHk6OnN0YXJ0UHJvZHVjaW5nRGF0YShSZWFs
dGltZU1lZGlhU291cmNlSWRlbnRpZmllciBpZCkKIHsKLSAgICBpZiAoYXV0byogcHJveHkgPSBt
X3Byb3hpZXMuZ2V0KGlkKSkKLSAgICAgICAgcHJveHktPnN0YXJ0KCk7CisgICAgYXV0byogcHJv
eHkgPSBtX3Byb3hpZXMuZ2V0KGlkKTsKKyAgICBpZiAoIXByb3h5KQorICAgICAgICByZXR1cm47
CisKKyAgICBpZiAoIW1fY29ubmVjdGlvblByb3h5LT5zZXRDYXB0dXJlQXR0cmlidXRpb25TdHJp
bmcoKSkgeworICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihXZWJSVEMsICJVbmFibGUgdG8gc2V0
IGNhcHR1cmUgYXR0cmlidXRpb24sIGZhaWxpbmcgY2FwdHVyZS4iKTsKKyAgICAgICAgcmV0dXJu
OworICAgIH0KKworICAgIHByb3h5LT5zdGFydCgpOwogfQogCiB2b2lkIFVzZXJNZWRpYUNhcHR1
cmVNYW5hZ2VyUHJveHk6OnN0b3BQcm9kdWNpbmdEYXRhKFJlYWx0aW1lTWVkaWFTb3VyY2VJZGVu
dGlmaWVyIGlkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVXNl
ck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eS5oCmluZGV4IDA0MTM0ODlmMTQyOThkZjU3
ODMwNDE0MGZlYmEzNDZjYzMyZmFlOTIuLmQwYjIwZWMxNDU5NjhmYzUwZjhmY2M1OGRjNzdlODc3
MjdlYmRhOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VzZXJN
ZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9D
b2NvYS9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5LmgKQEAgLTU3LDYgKzU3LDcgQEAgcHVi
bGljOgogICAgICAgICB2aXJ0dWFsIElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbigpID0gMDsK
ICAgICAgICAgdmlydHVhbCBib29sIHdpbGxTdGFydENhcHR1cmUoV2ViQ29yZTo6Q2FwdHVyZURl
dmljZTo6RGV2aWNlVHlwZSkgY29uc3QgPSAwOwogICAgICAgICB2aXJ0dWFsIExvZ2dlciYgbG9n
Z2VyKCkgPSAwOworICAgICAgICB2aXJ0dWFsIGJvb2wgc2V0Q2FwdHVyZUF0dHJpYnV0aW9uU3Ry
aW5nKCkgeyByZXR1cm4gdHJ1ZTsgfQogICAgIH07CiAgICAgZXhwbGljaXQgVXNlck1lZGlhQ2Fw
dHVyZU1hbmFnZXJQcm94eShVbmlxdWVSZWY8Q29ubmVjdGlvblByb3h5PiYmKTsKICAgICB+VXNl
ck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmNwcAppbmRleCA4NWZlMDIyNzE2ZDJhY2FmMjE1ZjY2YmE4
ZTM2OWM0MTA2MDhiMGI0Li4zMTM1NDkyZjVlNTRiZTBiZGIzYTJjZWY0ZTQxZWFhZDkzZWM3ZmYy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmNw
cApAQCAtMjgwLDYgKzI4MCwxMCBAQCB2b2lkIEdQVVByb2Nlc3NQcm94eTo6dXBkYXRlQ2FwdHVy
ZUFjY2Vzcyhib29sIGFsbG93QXVkaW9DYXB0dXJlLCBib29sIGFsbG93VmlkZQogICAgIHNlbmRX
aXRoQXN5bmNSZXBseShNZXNzYWdlczo6R1BVUHJvY2Vzczo6VXBkYXRlQ2FwdHVyZUFjY2VzcyB7
IGFsbG93QXVkaW9DYXB0dXJlLCBhbGxvd1ZpZGVvQ2FwdHVyZSwgYWxsb3dEaXNwbGF5Q2FwdHVy
ZSwgcHJvY2Vzc0lEIH0sIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIH0KIAordm9pZCBH
UFVQcm9jZXNzUHJveHk6OnVwZGF0ZUNhcHR1cmVPcmlnaW4oY29uc3QgV2ViQ29yZTo6U2VjdXJp
dHlPcmlnaW5EYXRhJiBvcmlnaW5EYXRhLCBXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciBwcm9j
ZXNzSUQpCit7CisgICAgc2VuZChNZXNzYWdlczo6R1BVUHJvY2Vzczo6VXBkYXRlQ2FwdHVyZU9y
aWdpbiB7IG9yaWdpbkRhdGEsIHByb2Nlc3NJRCB9LCAwKTsKK30KIAogdm9pZCBHUFVQcm9jZXNz
UHJveHk6OmFkZE1vY2tNZWRpYURldmljZShjb25zdCBXZWJDb3JlOjpNb2NrTWVkaWFEZXZpY2Um
IGRldmljZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQ
cm9jZXNzUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJv
eHkuaAppbmRleCA4ODgwNTk1OWQ5MTJkNTJmNTVkNTlhMWQ5ZDMxZmI3NmJlNGIyYjU0Li44ZGYw
ZmU1Njg0ZjcyMjc5ZDRiZmFiNGYwNTlmNTU5OWVmZGYyMzg4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmgKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5oCkBAIC00OSw2ICs0OSw3IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIHN0cnVjdCBNb2NrTWVkaWFEZXZpY2U7CitzdHJ1Y3QgU2VjdXJp
dHlPcmlnaW5EYXRhOwogfQogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTc2LDcgKzc3LDcgQEAg
cHVibGljOgogICAgIHZvaWQgc2V0VXNlTW9ja0NhcHR1cmVEZXZpY2VzKGJvb2wpOwogICAgIHZv
aWQgc2V0T3JpZW50YXRpb25Gb3JNZWRpYUNhcHR1cmUodWludDY0X3Qgb3JpZW50YXRpb24pOwog
ICAgIHZvaWQgdXBkYXRlQ2FwdHVyZUFjY2Vzcyhib29sIGFsbG93QXVkaW9DYXB0dXJlLCBib29s
IGFsbG93VmlkZW9DYXB0dXJlLCBib29sIGFsbG93RGlzcGxheUNhcHR1cmUsIFdlYkNvcmU6OlBy
b2Nlc3NJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwotCisgICAgdm9p
ZCB1cGRhdGVDYXB0dXJlT3JpZ2luKGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSYs
IFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyKTsKICAgICB2b2lkIGFkZE1vY2tNZWRpYURldmlj
ZShjb25zdCBXZWJDb3JlOjpNb2NrTWVkaWFEZXZpY2UmKTsKICAgICB2b2lkIGNsZWFyTW9ja01l
ZGlhRGV2aWNlcygpOwogICAgIHZvaWQgcmVtb3ZlTW9ja01lZGlhRGV2aWNlKGNvbnN0IFN0cmlu
ZyYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNw
cCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggZDBmZDk3
ZDMzZTk3YTUxNWI5ZTgwYjc0OTQxZGFlZGYwNjNhNDA3NC4uNWRjNWRlODExYWY3ZGJhZTM0N2Iy
NTMzZGU4YmIxYjFmOGQyMDRjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuY3BwCkBAIC0xMTAsNiArMTEwLDcgQEAKICNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2Rl
cnMuaCIKICNpbmNsdWRlICJXZWJFZGl0Q29tbWFuZFByb3h5LmgiCiAjaW5jbHVkZSAiV2ViRXZl
bnRDb252ZXJzaW9uLmgiCisjaW5jbHVkZSAiV2ViRnJhbWUuaCIKICNpbmNsdWRlICJXZWJGcmFt
ZVBvbGljeUxpc3RlbmVyUHJveHkuaCIKICNpbmNsdWRlICJXZWJGdWxsU2NyZWVuTWFuYWdlclBy
b3h5LmgiCiAjaW5jbHVkZSAiV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eU1lc3NhZ2VzLmgiCkBA
IC0xMzYsNiArMTM3LDcgQEAKICNpbmNsdWRlICJXZWJQb3B1cE1lbnVQcm94eS5oIgogI2luY2x1
ZGUgIldlYlByZWZlcmVuY2VzLmgiCiAjaW5jbHVkZSAiV2ViUHJlZmVyZW5jZXNLZXlzLmgiCisj
aW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3NNZXNzYWdlcy5oIgog
I2luY2x1ZGUgIldlYlByb2Nlc3NQb29sLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzc1Byb3h5Lmgi
CkBAIC01MTAxLDExICs1MTAzLDIxIEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkaWRTYW1lRG9jdW1l
bnROYXZpZ2F0aW9uRm9yRnJhbWUoRnJhbWVJZGVudGlmaWVyIGZyYW1lSUQsIHVpCiB2b2lkIFdl
YlBhZ2VQcm94eTo6ZGlkQ2hhbmdlTWFpbkRvY3VtZW50KEZyYW1lSWRlbnRpZmllciBmcmFtZUlE
KQogewogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCi0gICAgaWYgKG1fdXNlck1lZGlhUGVybWlz
c2lvblJlcXVlc3RNYW5hZ2VyKQorICAgIGlmIChtX3VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0
TWFuYWdlcikgewogICAgICAgICBtX3VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci0+
cmVzZXRBY2Nlc3MoZnJhbWVJRCk7CisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCisgICAgICAg
IGlmIChhdXRvKiBncHVQcm9jZXNzID0gbV9wcm9jZXNzLT5wcm9jZXNzUG9vbCgpLmdwdVByb2Nl
c3MoKSkgeworICAgICAgICAgICAgaWYgKGF1dG8qIGZyYW1lID0gV2ViUHJvY2Vzczo6c2luZ2xl
dG9uKCkud2ViRnJhbWUoZnJhbWVJRCkpCisgICAgICAgICAgICAgICAgZ3B1UHJvY2Vzcy0+dXBk
YXRlQ2FwdHVyZU9yaWdpbihTZWN1cml0eU9yaWdpbkRhdGE6OmZyb21VUkwoZnJhbWUtPnVybCgp
KSwgbV9wcm9jZXNzLT5jb3JlUHJvY2Vzc0lkZW50aWZpZXIoKSk7CisgICAgICAgIH0KKyNlbmRp
ZgorICAgIH0KKwogI2Vsc2UKICAgICBVTlVTRURfUEFSQU0oZnJhbWVJRCk7CiAjZW5kaWYKKyAg
ICAKICAgICBtX2lzUXVvdGFJbmNyZWFzZURlbmllZCA9IGZhbHNlOwogCiAgICAgbV9zcGVlY2hS
ZWNvZ25pdGlvblBlcm1pc3Npb25NYW5hZ2VyID0gbnVsbHB0cjsKQEAgLTg0MTgsNiArODQzMCw3
IEBAIHZvaWQgV2ViUGFnZVByb3h5Ojp3aWxsU3RhcnRDYXB0dXJlKGNvbnN0IFVzZXJNZWRpYVBl
cm1pc3Npb25SZXF1ZXN0UHJveHkmIHJlcXVlCiAKICAgICBhdXRvJiBncHVQcm9jZXNzID0gcHJv
Y2VzcygpLnByb2Nlc3NQb29sKCkuZW5zdXJlR1BVUHJvY2VzcygpOwogICAgIGdwdVByb2Nlc3Mu
dXBkYXRlQ2FwdHVyZUFjY2VzcyhyZXF1ZXN0LnJlcXVpcmVzQXVkaW9DYXB0dXJlKCksIHJlcXVl
c3QucmVxdWlyZXNWaWRlb0NhcHR1cmUoKSwgcmVxdWVzdC5yZXF1aXJlc0Rpc3BsYXlDYXB0dXJl
KCksIG1fcHJvY2Vzcy0+Y29yZVByb2Nlc3NJZGVudGlmaWVyKCksIFdURk1vdmUoY2FsbGJhY2sp
KTsKKyAgICBncHVQcm9jZXNzLnVwZGF0ZUNhcHR1cmVPcmlnaW4ocmVxdWVzdC50b3BMZXZlbERv
Y3VtZW50U2VjdXJpdHlPcmlnaW4oKS5kYXRhKCksIG1fcHJvY2Vzcy0+Y29yZVByb2Nlc3NJZGVu
dGlmaWVyKCkpOwogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgZ3B1UHJvY2Vzcy5zZXRP
cmllbnRhdGlvbkZvck1lZGlhQ2FwdHVyZShtX2RldmljZU9yaWVudGF0aW9uKTsKICNlbmRpZgpA
QCAtMTA2MDIsMTIgKzEwNjE1LDEyIEBAIHZvaWQgV2ViUGFnZVByb3h5OjpncHVQcm9jZXNzRXhp
dGVkKEdQVVByb2Nlc3NUZXJtaW5hdGlvblJlYXNvbikKICAgICBwYWdlQ2xpZW50KCkuZ3B1UHJv
Y2Vzc0RpZEV4aXQoKTsKIAogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCi0gICAgYm9vbCBzaG91
bGRBbGxvd0F1ZGlvQ2FwdHVyZSA9IGlzQ2FwdHVyaW5nQXVkaW8oKSAmJiBwcmVmZXJlbmNlcygp
LmNhcHR1cmVBdWRpb0luR1BVUHJvY2Vzc0VuYWJsZWQoKTsKLSAgICBib29sIHNob3VsZEFsbG93
VmlkZW9DYXB0dXJlID0gaXNDYXB0dXJpbmdWaWRlbygpICYmIHByZWZlcmVuY2VzKCkuY2FwdHVy
ZVZpZGVvSW5HUFVQcm9jZXNzRW5hYmxlZCgpOwotICAgIGJvb2wgc2hvdWxkQWxsb3dEaXNwbGF5
Q2FwdHVyZSA9IGZhbHNlOwotICAgIGlmIChzaG91bGRBbGxvd0F1ZGlvQ2FwdHVyZSB8fCBzaG91
bGRBbGxvd1ZpZGVvQ2FwdHVyZSkgeworICAgIGJvb2wgYWN0aXZlQXVkaW9DYXB0dXJlID0gaXND
YXB0dXJpbmdBdWRpbygpICYmIHByZWZlcmVuY2VzKCkuY2FwdHVyZUF1ZGlvSW5HUFVQcm9jZXNz
RW5hYmxlZCgpOworICAgIGJvb2wgYWN0aXZlVmlkZW9DYXB0dXJlID0gaXNDYXB0dXJpbmdWaWRl
bygpICYmIHByZWZlcmVuY2VzKCkuY2FwdHVyZVZpZGVvSW5HUFVQcm9jZXNzRW5hYmxlZCgpOwor
ICAgIGJvb2wgYWN0aXZlRGlzcGxheUNhcHR1cmUgPSBmYWxzZTsKKyAgICBpZiAoYWN0aXZlQXVk
aW9DYXB0dXJlIHx8IGFjdGl2ZVZpZGVvQ2FwdHVyZSkgewogICAgICAgICBhdXRvJiBncHVQcm9j
ZXNzID0gcHJvY2VzcygpLnByb2Nlc3NQb29sKCkuZW5zdXJlR1BVUHJvY2VzcygpOwotICAgICAg
ICBncHVQcm9jZXNzLnVwZGF0ZUNhcHR1cmVBY2Nlc3Moc2hvdWxkQWxsb3dBdWRpb0NhcHR1cmUs
IHNob3VsZEFsbG93VmlkZW9DYXB0dXJlLCBzaG91bGRBbGxvd0Rpc3BsYXlDYXB0dXJlLCBtX3By
b2Nlc3MtPmNvcmVQcm9jZXNzSWRlbnRpZmllcigpLCBbXSB7IH0pOworICAgICAgICBncHVQcm9j
ZXNzLnVwZGF0ZUNhcHR1cmVBY2Nlc3MoYWN0aXZlQXVkaW9DYXB0dXJlLCBhY3RpdmVWaWRlb0Nh
cHR1cmUsIGFjdGl2ZURpc3BsYXlDYXB0dXJlLCBtX3Byb2Nlc3MtPmNvcmVQcm9jZXNzSWRlbnRp
ZmllcigpLCBbXSB7IH0pOwogICAgIH0KICNlbmRpZgogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2Vi
S2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMjQ1NGZkNDUxNDRiZjBkMDY5ZDYw
ZTY2ZTMwY2NiYTk1NWM1NDk1MS4uNDJmNTZmZDE1NTEwOTIxMTkwNTJlMmEzYmMxOWVmNDkyNDMx
ZmI5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCkBAIC0xMjQsNiArMTI0LDcgQEAKIAkJMDc5MjMxNDgyMzlDQkNCODAwOTU5OEUyIC8qIFJl
bW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5TWVzc2FnZXNSZXBsaWVzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzkyMzE0MjIzOUNCQ0I1MDA5NTk4
RTIgLyogUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHlNZXNzYWdlc1JlcGxpZXMuaCAqLzsg
fTsKIAkJMDc5MjMxNEIyMzlDQkNCODAwOTU5OEUyIC8qIFJlbW90ZU1lZGlhUGxheWVyTWFuYWdl
clByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDA3OTIzMTQ1MjM5Q0JDQjcwMDk1OThFMiAvKiBSZW1vdGVNZWRpYVBs
YXllck1hbmFnZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CiAJCTA3OTIzMTRDMjM5
Q0JDQjgwMDk1OThFMiAvKiBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eU1lc3NhZ2VzLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzkyMzE0NjIz
OUNCQ0I3MDA5NTk4RTIgLyogUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHlNZXNzYWdlcy5o
ICovOyB9OworCQkwNzlEMUQ5QTI2OTYwQ0QzMDA4ODM1NzcgLyogU3lzdGVtU3RhdHVzU1BJLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzlEMUQ5OTI2
OTYwQ0QzMDA4ODM1NzcgLyogU3lzdGVtU3RhdHVzU1BJLmggKi87IH07CiAJCTA3QTVFQkJDMUM3
QkE0M0UwMEI5Q0E2OSAvKiBXS0ZyYW1lSGFuZGxlUmVmLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwN0E1RUJCQTFDN0JBNDNFMDBCOUNBNjkgLyogV0tG
cmFtZUhhbmRsZVJlZi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCTA3RTE5RUZCMjNENDAxRjEwMDk0RkZCNCAvKiBNZWRpYVBsYXllclByaXZhdGVS
ZW1vdGVNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMDdFMTlFRjgyM0Q0MDFGMDAwOTRGRkI0IC8qIE1lZGlhUGxheWVyUHJp
dmF0ZVJlbW90ZU1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CiAJCTA3RTE5RUZDMjNENDAxRjEw
MDk0RkZCNCAvKiBNZWRpYVBsYXllclByaXZhdGVSZW1vdGVNZXNzYWdlcy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDdFMTlFRjkyM0Q0MDFGMDAwOTRG
RkI0IC8qIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VzLmggKi87IH07CkBAIC0yNDQ4
LDYgKzI0NDksOCBAQAogCQkwNzk0QjRBQzI0NDUxQkI5MDAwMUI5QzQgLyogTWVkaWFVc2FnZU1h
bmFnZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFVc2FnZU1hbmFnZXIuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMDc5NEI0QUUyNDQ1MjRCMDAwMDFCOUM0IC8qIE1lZGlhVXNhZ2VN
YW5hZ2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1lZGlhVXNhZ2VNYW5hZ2VyLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDc5NEI0QUYyNDQ1MkEyQzAwMDFCOUM0IC8qIE1l
ZGlhVXNhZ2VNYW5hZ2VyQ29jb2EuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFVc2FnZU1hbmFnZXJD
b2NvYS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwNzlEMUQ5OTI2OTYwQ0QzMDA4
ODM1NzcgLyogU3lzdGVtU3RhdHVzU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFN5c3RlbVN0YXR1c1NQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwNzlE
MUQ5QzI2OThEQkQwMDA4ODM1NzcgLyogY29jb2EgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBmb2xkZXI7IHBhdGggPSBjb2NvYTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMDdBNUVCQjkxQzdCQTQzRTAwQjlDQTY5IC8qIFdLRnJhbWVIYW5k
bGVSZWYuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0tGcmFtZUhh
bmRsZVJlZi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA3QTVFQkJBMUM3QkE0
M0UwMEI5Q0E2OSAvKiBXS0ZyYW1lSGFuZGxlUmVmLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFdLRnJhbWVIYW5kbGVSZWYuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMDdBNkU1RTMyNjBFNDExNDAwOTU5NDc4IC8qIFJlbW90ZU1lZGlhU2Vzc2lvbkNvb3JkaW5h
dG9yUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVtb3RlTWVk
aWFTZXNzaW9uQ29vcmRpbmF0b3JQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC03Njc4LDYgKzc2ODEsNyBAQAogCQkyRDlGQjFGRjIzNzUyMDlE
MDA0OUY5MzYgLyogR1BVUHJvY2VzcyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hp
bGRyZW4gPSAoCisJCQkJMDc5RDFEOUMyNjk4REJEMDAwODgzNTc3IC8qIGNvY29hICovLAogCQkJ
CTJEOUZCMjBEMjM3NTIwOUQwMDQ5RjkzNiAvKiBFbnRyeVBvaW50ICovLAogCQkJCTU1MDY0MEEx
MjQwNzFBMjkwMEFBRTA0NSAvKiBncmFwaGljcyAqLywKIAkJCQkyRDlGQjIwNDIzNzUyMDlEMDA0
OUY5MzYgLyogaW9zICovLApAQCAtMTE1NzYsNiArMTE1ODAsNyBAQAogCQkJCTMxNzhBRjk3MjBF
MkE3RjgwMDc0REU5NCAvKiBQREZLaXRTUEkuaCAqLywKIAkJCQkyRDI3OUUxODI2OTU1NzY4MDA0
QjNFRUIgLyogUHJvdG90eXBlVG9vbHNTUEkuaCAqLywKIAkJCQk0NkYzOEU4QjI0MTZFNjZEMDA1
OTM3NUEgLyogUnVubmluZ0JvYXJkU2VydmljZXNTUEkuaCAqLywKKwkJCQkwNzlEMUQ5OTI2OTYw
Q0QzMDA4ODM1NzcgLyogU3lzdGVtU3RhdHVzU1BJLmggKi8sCiAJCQkJQ0UxQTBCRDAxQTQ4RTZD
NjAwNTRFRjc0IC8qIFRDQ1NQSS5oICovLAogCQkJCUNFMUEwQkQxMUE0OEU2QzYwMDU0RUY3NCAv
KiBUZXh0SW5wdXRTUEkuaCAqLywKIAkJCQlDRUU0QUUyQTFBNURDRjQzMDAwMkY0OUIgLyogVUlL
aXRTUEkuaCAqLywKQEAgLTEyNDEyLDYgKzEyNDE3LDcgQEAKIAkJCQk0NDhBQzI0RTI2NzEzNUE3
MDBCMjg5MjEgLyogU3luYXBzZVNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDQ1OTk4NDIyMjgz
M0U4NzAwRTYxMzczIC8qIFN5bnRoZXRpY0VkaXRpbmdDb21tYW5kVHlwZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMzE1NzEzNUYyMDQwQTlCMjAwODRGOUNGIC8qIFN5c3RlbVByZXZpZXdDb250cm9s
bGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQkwNzlEMUQ5QTI2OTYwQ0QzMDA4ODM1NzcgLyogU3lz
dGVtU3RhdHVzU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQlGNEQ5ODVDQjI2OTEwOTY2MDBCQkND
QkUgLyogVGFwSGFuZGxpbmdSZXN1bHQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ0QzUxODQ0MjY2
QkU4QzQwMDZERDUyMiAvKiBUQ0NTb2Z0TGluay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0UxQTBC
RDYxQTQ4RTZDNjAwNTRFRjc0IC8qIFRDQ1NQSS5oIGluIEhlYWRlcnMgKi8sCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433404</attachid>
            <date>2021-07-13 05:55:37 -0700</date>
            <delta_ts>2021-07-14 11:06:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227871-20210713085536.patch</filename>
            <type>text/plain</type>
            <size>39019</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5ODQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmRhOTZjZDFiZjQ5ZmI0
ZTk2ZGU1MDBmOWU1NjA0YzlhNWJiYjEwMS4uNWRhMjU4ZjE1N2FlMGVkYTk3ODliNzQxYmJlYzJh
ZDAzNWY5NWIxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTA3LTEyICBFcmlj
IENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIER5bmFt
aWNhbGx5IHNldCBjYXB0dXJlIGF0dHJpYnV0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjc4NzEKKyAgICAgICAgcmRhcjovLzcwMjQxNjY1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRl
c3RzLCB0ZXN0ZWQgbWFudWFsbHkuCisKKyAgICAgICAgKiBlbi5scHJvai9Mb2NhbGl6YWJsZS5z
dHJpbmdzOgorCiAyMDIxLTA3LTEyICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAK
ICAgICAgICAgVW5yZXZpZXdlZCwgcGFydGlhbCByZXZlcnQgb2YgcjI3OTY2MSB0byBhZGRyZXNz
IGNyYXNoZXMgb24gaU9TIERlYnVnLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKaW5kZXggMDQ1ODAxMTYwYjE2
ZGJlMGU4Njg4NThlNmE0YjA4M2ZiMGQ5OTZjOS4uNWZhYzJmN2MwYjNiMWRlZTJmYWEwMDU2NGNj
Njg4ZDM4NjU0ZmJmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEt
MDctMTIgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAg
W2lPU10gRHluYW1pY2FsbHkgc2V0IGNhcHR1cmUgYXR0cmlidXRpb24KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzg3MQorICAgICAgICByZGFyOi8v
NzAyNDE2NjUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFBBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHBhbC9pb3MvU3lz
dGVtU3RhdHVzU29mdExpbmsuaDogQWRkZWQuCisgICAgICAgICogcGFsL2lvcy9TeXN0ZW1TdGF0
dXNTb2Z0TGluay5tbTogQWRkZWQuCisKIDIwMjEtMDctMDkgIEplciBOb2JsZSAgPGplci5ub2Js
ZUBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBNYWtlIENvb3JkaW5hdG9yIHBsYXliYWNr
IGNvbW1hbmRzIG1vcmUgcHJlY2lzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAxYjc4ZjY4ZjUyMzg5NDY1YTViMWMz
MjVlNTdkYjYyOWFiNTVlMmFkLi44MzNlNTJiODIyYjExZmZhYzAyNmFhMjZlN2M5NDkwMzdiODlk
MzczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDIxLTA3LTEyICBFcmljIENhcmxzb24g
IDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIER5bmFtaWNhbGx5IHNl
dCBjYXB0dXJlIGF0dHJpYnV0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjc4NzEKKyAgICAgICAgcmRhcjovLzcwMjQxNjY1CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBHUFVQcm9jZXNzL0dQVUNv
bm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpHUFVDb25uZWN0aW9u
VG9XZWJQcm9jZXNzOjpHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzKTogSW5pdGlhbGl6ZSBtX2Nh
cHR1cmVPcmlnaW4uCisgICAgICAgIChXZWJLaXQ6OkdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6
OnVwZGF0ZUNhcHR1cmVPcmlnaW4pOiBVcGRhdGUuCisgICAgICAgIChXZWJLaXQ6OkdQVUNvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3M6OnNldENhcHR1cmVBdHRyaWJ1dGlvblN0cmluZyBjb25zdCk6IE5v
bi1Db2NvYSBzdHViLgorICAgICAgICAqIEdQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzcy5oOgorCisgICAgICAgICogR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6R1BVUHJvY2Vzczo6dXBkYXRlQ2FwdHVyZU9yaWdpbik6IENhbGwgc2FtZSBtZXRo
b2QgaW4gV2ViUHJvY2Vzc0Nvbm5lY3Rpb24sCisgICAgICAgIGlmIGl0IGV4aXN0cy4KKyAgICAg
ICAgKiBHUFVQcm9jZXNzL0dQVVByb2Nlc3MuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL0dQVVBy
b2Nlc3MubWVzc2FnZXMuaW46CisKKyAgICAgICAgKiBHUFVQcm9jZXNzL2NvY29hL0dQVUNvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3NDb2NvYS5tbTogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OkdQVUNv
bm5lY3Rpb25Ub1dlYlByb2Nlc3M6OnNldENhcHR1cmVBdHRyaWJ1dGlvblN0cmluZyk6IFNldCB0
aGUgYXR0cmlidXRpb24KKyAgICAgICAgc3RyaW5nIHRvICJbZG9tYWluXSBpbiBbYXBwbGljYXRp
b25dIi4KKworICAgICAgICAqIFBsYXRmb3JtL3NwaS9pb3MvU3lzdGVtU3RhdHVzU1BJLmg6IEFk
ZGVkLgorICAgICAgICAqIFJlc291cmNlcy9TYW5kYm94UHJvZmlsZXMvaW9zL2NvbS5hcHBsZS5X
ZWJLaXQuR1BVLnNiOiBBbGxvdyAiY29tLmFwcGxlLnN5c3RlbXN0YXR1cy5hY3Rpdml0eWF0dHJp
YnV0aW9uIgorICAgICAgICB0byBiZSBsb29rZWQgdXAuCisKKyAgICAgICAgKiBTY3JpcHRzL3By
b2Nlc3MtZW50aXRsZW1lbnRzLnNoOiBBZGQgdGhlIGVudGl0bGVtZW50cyByZXF1aXJlZCB0byB1
c2UgdGhlIAorICAgICAgICBTeXN0ZW1TdGF0dXMgU1BJLgorCisgICAgICAgICogU291cmNlc0Nv
Y29hLnR4dDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2FwdHVyZU1hbmFn
ZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlVzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJv
eHk6OnN0YXJ0UHJvZHVjaW5nRGF0YSk6IEZhaWwgY2FwdHVyZQorICAgICAgICBpZiBzZXRDYXB0
dXJlQXR0cmlidXRpb25TdHJpbmcgcmV0dXJucyBmYWxzZS4KKyAgICAgICAgKiBVSVByb2Nlc3Mv
Q29jb2EvVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eS5oOgorICAgICAgICAoV2ViS2l0OjpV
c2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5OjpDb25uZWN0aW9uUHJveHk6OnNldENhcHR1cmVB
dHRyaWJ1dGlvblN0cmluZyk6CisKKyAgICAgICAgKiBVSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQ
cm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3NQcm94eTo6dXBkYXRlQ2FwdHVy
ZU9yaWdpbik6IENhbGwgZ3B1UHJvY2Vzcy51cGRhdGVDYXB0dXJlT3JpZ2luCisgICAgICAgIHNv
IHRoZSBjYXB0dXJlIG9yaWdpbiBpcyBjb3JyZWN0IHdoZW4gY2FwdHVyZSBiZWdpbnMuCisgICAg
ICAgICogVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuaDoKKworICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRp
ZENoYW5nZU1haW5Eb2N1bWVudCk6IFVwZGF0ZSB0aGUgY2FwdHVyZSBvcmlnaW4uCisgICAgICAg
IChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6d2lsbFN0YXJ0Q2FwdHVyZSk6IERpdHRvLgorICAgICAg
ICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmdwdVByb2Nlc3NFeGl0ZWQpOiBEcml2ZS1ieSAtIHVw
ZGF0ZSBsb2NhbCB2YXJpYWJsZSBuYW1lcworICAgICAgICB0byBtYWtlIHRoZWlyIHB1cnBvc2Ug
Y2xlYXJlci4KKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwog
MjAyMS0wNy0xMiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFVu
cmV2aWV3ZWQsIHJldmVydGluZyByMjc5ODM1LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
UEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvUEFML1BB
TC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGJiM2Q3NjgyMjg0YzFmNzU0Mzc4M2Ni
YWMwZjdhNjRmMGVhMTg5MjUuLmY4YTU5ZDc3YjI5MzRhZDNhMTA3NGYwYTY1N2MyZDM3NjVmYjMy
OTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKQEAgLTI1LDYgKzI1LDggQEAKIAkJMDc2MTFEQjcyNDNGQTVCRjAwRDgwNzA0IC8qIFVz
YWdlVHJhY2tpbmdTb2Z0TGluay5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDA3NjExREI1MjQzRkE1QkYwMEQ4MDcwNCAvKiBVc2FnZVRyYWNraW5nU29m
dExpbmsubW0gKi87IH07CiAJCTA3N0U4N0IxMjI2QTQ2MDIwMEEyQUZGMCAvKiBBVkZvdW5kYXRp
b25Tb2Z0TGluay5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDA3N0U4N0FGMjI2QTQ2MDIwMEEyQUZGMCAvKiBBVkZvdW5kYXRpb25Tb2Z0TGluay5tbSAq
LzsgfTsKIAkJMDc3RTg3QjIyMjZBNDYwMzAwQTJBRkYwIC8qIEFWRm91bmRhdGlvblNvZnRMaW5r
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzdFODdC
MDIyNkE0NjAyMDBBMkFGRjAgLyogQVZGb3VuZGF0aW9uU29mdExpbmsuaCAqLzsgfTsKKwkJMDc5
RDFEOTcyNjk1MERENzAwODgzNTc3IC8qIFN5c3RlbVN0YXR1c1NvZnRMaW5rLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzlEMUQ5NTI2OTUwREQ3MDA4
ODM1NzcgLyogU3lzdGVtU3RhdHVzU29mdExpbmsuaCAqLzsgfTsKKwkJMDc5RDFEOTgyNjk1MERE
NzAwODgzNTc3IC8qIFN5c3RlbVN0YXR1c1NvZnRMaW5rLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDc5RDFEOTYyNjk1MERENzAwODgzNTc3IC8qIFN5
c3RlbVN0YXR1c1NvZnRMaW5rLm1tICovOyB9OwogCQkwQzAwQ0ZENDFGNjhDRTQ2MDBBQUMyNkQg
LyogTWVkaWFUaW1lQVZGb3VuZGF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwQzAwQ0ZEMjFGNjhDRTQ2MDBBQUMyNkQgLyogTWVkaWFUaW1lQVZG
b3VuZGF0aW9uLmggKi87IH07CiAJCTBDMkQ5RTczMUVFRjVBRjYwMERCQzMxNyAvKiBFeHBvcnRN
YWNyb3MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBD
MkQ5RTcyMUVFRjVBRjYwMERCQzMxNyAvKiBFeHBvcnRNYWNyb3MuaCAqLzsgfTsKIAkJMEMyREEw
NkQxRjMzQ0E4NDAwREJDMzE3IC8qIENGTG9jYWxlU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwQzJEQTA2NzFGMzNDQTg0MDBEQkMzMTcgLyogQ0ZM
b2NhbGVTUEkuaCAqLzsgfTsKQEAgLTIzNiw2ICsyMzgsOCBAQAogCQkwNzYxMURCNTI0M0ZBNUJG
MDBEODA3MDQgLyogVXNhZ2VUcmFja2luZ1NvZnRMaW5rLm1tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gVXNhZ2VUcmFja2luZ1NvZnRMaW5rLm1tOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkwNzdFODdBRjIyNkE0NjAyMDBBMkFGRjAgLyogQVZGb3VuZGF0
aW9uU29mdExpbmsubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBB
VkZvdW5kYXRpb25Tb2Z0TGluay5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDc3
RTg3QjAyMjZBNDYwMjAwQTJBRkYwIC8qIEFWRm91bmRhdGlvblNvZnRMaW5rLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFWRm91bmRhdGlvblNvZnRMaW5rLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTA3OUQxRDk1MjY5NTBERDcwMDg4MzU3NyAvKiBTeXN0ZW1T
dGF0dXNTb2Z0TGluay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTeXN0ZW1T
dGF0dXNTb2Z0TGluay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwNzlEMUQ5NjI2
OTUwREQ3MDA4ODM1NzcgLyogU3lzdGVtU3RhdHVzU29mdExpbmsubW0gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTeXN0ZW1TdGF0dXNTb2Z0TGluay5tbTsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEMwMENGRDExRjY4Q0U0NjAwQUFDMjZEIC8qIE1lZGlh
VGltZUFWRm91bmRhdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBNZWRpYVRpbWVBVkZvdW5kYXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkwQzAwQ0ZEMjFGNjhDRTQ2MDBBQUMyNkQgLyogTWVkaWFUaW1lQVZGb3VuZGF0aW9uLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlhVGltZUFWRm91bmRhdGlvbi5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwQzJEOUU3MjFFRUY1QUY2MDBEQkMzMTcgLyog
RXhwb3J0TWFjcm9zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEV4cG9ydE1h
Y3Jvcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzY0LDYgKzc2OCw4IEBACiAJ
CQkJNUM3Qzc4NzIyM0FDM0U3NzAwNjVGNDdFIC8qIE1hbmFnZWRDb25maWd1cmF0aW9uU29mdExp
bmsubW0gKi8sCiAJCQkJNDQ1MEZDOUUyMUY1RjYwMjAwNERGQTU2IC8qIFF1aWNrTG9va1NvZnRM
aW5rLmggKi8sCiAJCQkJNDQ1MEZDOUQyMUY1RjYwMjAwNERGQTU2IC8qIFF1aWNrTG9va1NvZnRM
aW5rLm1tICovLAorCQkJCTA3OUQxRDk1MjY5NTBERDcwMDg4MzU3NyAvKiBTeXN0ZW1TdGF0dXNT
b2Z0TGluay5oICovLAorCQkJCTA3OUQxRDk2MjY5NTBERDcwMDg4MzU3NyAvKiBTeXN0ZW1TdGF0
dXNTb2Z0TGluay5tbSAqLywKIAkJCQkyRTEzNDJDQTIxNUFBMTBBMDA3MTk5RDIgLyogVUlLaXRT
b2Z0TGluay5oICovLAogCQkJCTJFMTM0MkNCMjE1QUExMEEwMDcxOTlEMiAvKiBVSUtpdFNvZnRM
aW5rLm1tICovLAogCQkJKTsKQEAgLTk5Nyw2ICsxMDAzLDcgQEAKIAkJCQkzMTMwOEIxNDIwQTIx
NzA1MDAzRkI5MjkgLyogU3lzdGVtUHJldmlld1NQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTNB
QjZFNTgxRjNEMUREQjAwOUMxNEIxIC8qIFN5c3RlbVNsZWVwTGlzdGVuZXIuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUEzQUI2RTY0MUYzRDIxN0YwMDlDMTRCMSAvKiBTeXN0ZW1TbGVlcExpc3RlbmVy
TWFjLmggaW4gSGVhZGVycyAqLywKKwkJCQkwNzlEMUQ5NzI2OTUwREQ3MDA4ODM1NzcgLyogU3lz
dGVtU3RhdHVzU29mdExpbmsuaCBpbiBIZWFkZXJzICovLAogCQkJCTBDNzc4NUExMUY0NTEzMEYw
MEY0RUJCNiAvKiBUZWxlcGhvbnlVdGlsaXRpZXNTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTJF
MTM0MkNDMjE1QUExMEEwMDcxOTlEMiAvKiBVSUtpdFNvZnRMaW5rLmggaW4gSGVhZGVycyAqLywK
IAkJCQkwQzVBRjkyMjFGNDNBNEM3MDAyRUFDMDIgLyogVUlLaXRTUEkuaCBpbiBIZWFkZXJzICov
LApAQCAtMTEzNCw2ICsxMTQxLDcgQEAKIAkJCQk5M0IzOEVDMDI1ODIxQ0Q4MDAxOThFNjMgLyog
U3BlZWNoU29mdExpbmsubW0gaW4gU291cmNlcyAqLywKIAkJCQlBM0FCNkU1NzFGM0QxRERCMDA5
QzE0QjEgLyogU3lzdGVtU2xlZXBMaXN0ZW5lci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBM0FC
NkU2NTFGM0QyMTdGMDA5QzE0QjEgLyogU3lzdGVtU2xlZXBMaXN0ZW5lck1hYy5tbSBpbiBTb3Vy
Y2VzICovLAorCQkJCTA3OUQxRDk4MjY5NTBERDcwMDg4MzU3NyAvKiBTeXN0ZW1TdGF0dXNTb2Z0
TGluay5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJFMTM0MkNEMjE1QUExMEEwMDcxOTlEMiAvKiBV
SUtpdFNvZnRMaW5rLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMDc2MTFEQjcyNDNGQTVCRjAwRDgw
NzA0IC8qIFVzYWdlVHJhY2tpbmdTb2Z0TGluay5tbSBpbiBTb3VyY2VzICovLAogCQkJCTQxRTFG
MzQ0MjQ4QTZBMDAwMDIyRDVERSAvKiBWaWRlb1Rvb2xib3hTb2Z0TGluay5jcHAgaW4gU291cmNl
cyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvaW9zL1N5c3RlbVN0YXR1
c1NvZnRMaW5rLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2lvcy9TeXN0ZW1TdGF0dXNTb2Z0
TGluay5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjFkNzZhNDdkNjg5NzMxMDNhM2FlYWE1ZTZkMTNlZGVmYzlmZTg5
MTkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2lvcy9TeXN0ZW1T
dGF0dXNTb2Z0TGluay5oCkBAIC0wLDAgKzEsMzYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9u
Y2UKKworI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpICYmICFQTEFURk9STShNQUNDQVRBTFlTVCkK
KworI2ltcG9ydCA8d3RmL1NvZnRMaW5raW5nLmg+CisKK1NPRlRfTElOS19GUkFNRVdPUktfRk9S
X0hFQURFUihQQUwsIFN5c3RlbVN0YXR1cykKKworU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIo
UEFMLCBTVER5bmFtaWNBY3Rpdml0eUF0dHJpYnV0aW9uUHVibGlzaGVyKTsKKworI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2lvcy9TeXN0ZW1TdGF0dXNTb2Z0TGlu
ay5tbSBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvaW9zL1N5c3RlbVN0YXR1c1NvZnRMaW5rLm1t
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmRhNmY0MzM1ZTQ5MTQ4MDkyMTE1NWFhYmQ5ZGE1ZDg4YWZhZmJlZTgKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2lvcy9TeXN0ZW1TdGF0dXNT
b2Z0TGluay5tbQpAQCAtMCwwICsxLDM2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29uZmln
LmgiCisKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKSAmJiAhUExBVEZPUk0oTUFDQ0FUQUxZU1Qp
CisKKyNpbXBvcnQgPHd0Zi9Tb2Z0TGlua2luZy5oPgorCitTT0ZUX0xJTktfUFJJVkFURV9GUkFN
RVdPUktfRk9SX1NPVVJDRShQQUwsIFN5c3RlbVN0YXR1cykKKworU09GVF9MSU5LX0NMQVNTX0ZP
Ul9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBTeXN0ZW1TdGF0dXMsIFNURHluYW1pY0FjdGl2aXR5
QXR0cmlidXRpb25QdWJsaXNoZXIsIFBBTF9FWFBPUlQpOworCisjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2VuLmxwcm9qL0xvY2FsaXphYmxlLnN0cmluZ3MgYi9Tb3VyY2UvV2Vi
Q29yZS9lbi5scHJvai9Mb2NhbGl6YWJsZS5zdHJpbmdzCmluZGV4IDcxNjZmOWFmZWFmZjNmMmM4
MDZlZWVmNTM2MTg3NGNiNzQ5NjYyNzEuLjkxODk5ZmZmMTgzNzEwZWI0MzRiZjc5YzRlNjc3MDA5
YWIyNDQ5YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VuLmxwcm9qL0xvY2FsaXphYmxl
LnN0cmluZ3MKKysrIGIvU291cmNlL1dlYkNvcmUvZW4ubHByb2ovTG9jYWxpemFibGUuc3RyaW5n
cwpAQCAtMTYzNiwzICsxNjM2LDUgQEAKIC8qIE9wdGlvbiBpbiBzZWdtZW50ZWQgY29udHJvbCBm
b3IgY2hvb3NpbmcgbGlzdCB0eXBlIGluIHRleHQgZWRpdGluZyAqLwogIuKAoiIgPSAi4oCiIjsK
IAorLyogVGhlIGRvbWFpbiBhbmQgYXBwbGljYXRpb24gdXNpbmcgdGhlIGNhbWVyYSBhbmQvb3Ig
bWljcm9waG9uZS4gVGhlIGZpcnN0IGFyZ3VtZW50IGlzIGRvbWFpbiwgdGhlIHNlY29uZCBpcyB0
aGUgYXBwbGljYXRpb24gbmFtZSAoaU9TIG9ubHkpLiAqLworIuKAnCVA4oCdIGluIOKAnCUlQOKA
nSIgPSAi4oCcJUDigJ0gaW4g4oCcJSVA4oCdIjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcAppbmRleCBlZWFlMzE2NWU0
ZTIwYTRkMzYwNjUxM2UwOGQ2YTBlMjY3ZmU2NzA2Li43ZWRkMTQ4Nzk5YTllYjliZjIyNWNhNjg3
ZGI1ZTFjNTFjODQwMTMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BV
Q29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCkBAIC0xMzksNiArMTM5LDEwIEBACiAjaW5j
bHVkZSAiTG9jYWxBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvci5oIgogI2VuZGlmCiAKKyNp
ZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorI2luY2x1ZGUgPFdlYkNvcmUvU2VjdXJpdHlPcmlnaW4u
aD4KKyNlbmRpZgorCiBuYW1lc3BhY2UgV2ViS2l0IHsKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3Jl
OwogCkBAIC0xNzgsOSArMTgyLDE1IEBAIHByaXZhdGU6CiAgICAgICAgICAgICByZXR1cm4gbV9w
cm9jZXNzLmFsbG93c0Rpc3BsYXlDYXB0dXJlKCk7CiAgICAgICAgIH0KICAgICB9CisgICAgCisg
ICAgYm9vbCBzZXRDYXB0dXJlQXR0cmlidXRpb25TdHJpbmcoKSBmaW5hbAorICAgIHsKKyAgICAg
ICAgcmV0dXJuIG1fcHJvY2Vzcy5zZXRDYXB0dXJlQXR0cmlidXRpb25TdHJpbmcoKTsKKyAgICB9
CiAKICAgICBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzJiBtX3Byb2Nlc3M7CiB9OworCiAjZW5k
aWYKIAogUmVmPEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M+IEdQVUNvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3M6OmNyZWF0ZShHUFVQcm9jZXNzJiBncHVQcm9jZXNzLCBXZWJDb3JlOjpQcm9jZXNzSWRl
bnRpZmllciB3ZWJQcm9jZXNzSWRlbnRpZmllciwgSVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVy
IGNvbm5lY3Rpb25JZGVudGlmaWVyLCBQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIEdQVVByb2Nl
c3NDb25uZWN0aW9uUGFyYW1ldGVycyYmIHBhcmFtZXRlcnMpCkBAIC0yMDMsNiArMjEzLDkgQEAg
R1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6R1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyhHUFVQ
cm9jZXNzJiBncHVQcm9jZXNzLCBXZWIKICNpZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKE1F
RElBX1NUUkVBTSkKICAgICAsIG1fc2FtcGxlQnVmZmVyRGlzcGxheUxheWVyTWFuYWdlcihSZW1v
dGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXJNYW5hZ2VyOjpjcmVhdGUoKnRoaXMpKQogI2VuZGlm
CisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKyAgICAsIG1fY2FwdHVyZU9yaWdpbihTZWN1cml0
eU9yaWdpbjo6Y3JlYXRlVW5pcXVlKCkpCisjZW5kaWYKICNpZiBFTkFCTEUoUk9VVElOR19BUkJJ
VFJBVElPTikgJiYgSEFWRShBVkFVRElPX1JPVVRJTkdfQVJCSVRFUikKICAgICAsIG1fcm91dGlu
Z0FyYml0cmF0b3IoTG9jYWxBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcjo6Y3JlYXRlKCp0
aGlzKSkKICNlbmRpZgpAQCAtODIwLDcgKzgzMywxOCBAQCB2b2lkIEdQVUNvbm5lY3Rpb25Ub1dl
YlByb2Nlc3M6OnVwZGF0ZUNhcHR1cmVBY2Nlc3MoYm9vbCBhbGxvd0F1ZGlvQ2FwdHVyZSwgYm9v
bAogICAgIG1fYWxsb3dzVmlkZW9DYXB0dXJlIHw9IGFsbG93VmlkZW9DYXB0dXJlOwogICAgIG1f
YWxsb3dzRGlzcGxheUNhcHR1cmUgfD0gYWxsb3dEaXNwbGF5Q2FwdHVyZTsKIH0KKwordm9pZCBH
UFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjp1cGRhdGVDYXB0dXJlT3JpZ2luKGNvbnN0IFdlYkNv
cmU6OlNlY3VyaXR5T3JpZ2luRGF0YSYgb3JpZ2luRGF0YSkKK3sKKyAgICBtX2NhcHR1cmVPcmln
aW4gPSBvcmlnaW5EYXRhLnNlY3VyaXR5T3JpZ2luKCk7Cit9CisKKyNpZiAhUExBVEZPUk0oQ09D
T0EpCitib29sIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OnNldENhcHR1cmVBdHRyaWJ1dGlv
blN0cmluZygpIGNvbnN0Cit7Cit9CiAjZW5kaWYKKyNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RS
RUFNKQogCiAjaWYgUExBVEZPUk0oTUFDKQogdm9pZCBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNz
OjpkaXNwbGF5Q29uZmlndXJhdGlvbkNoYW5nZWQoQ0dEaXJlY3REaXNwbGF5SUQsIENHRGlzcGxh
eUNoYW5nZVN1bW1hcnlGbGFncyBmbGFncykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L0dQVVBy
b2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oCmluZGV4IDVmYWRhMzVjMWJmNGIzYWIy
ODA2ZmJkNTdmMGViNjYxZTAyZmRkMjguLjNjM2VmZTU2MmEzYzMwODNhMTFkNGU4ZmJiMTAzNjU2
NWZkZDM3MTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0
aW9uVG9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3MuaApAQCAtMzcsNiArMzcsNyBAQAogI2luY2x1ZGUgIlNjb3BlZEFj
dGl2ZU1lc3NhZ2VSZWNlaXZlUXVldWUuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0xpYldlYlJUQ0Vu
dW1UcmFpdHMuaD4KICNpbmNsdWRlIDxXZWJDb3JlL05vd1BsYXlpbmdNYW5hZ2VyLmg+CisjaW5j
bHVkZSA8V2ViQ29yZS9QYWdlSWRlbnRpZmllci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUHJvY2Vz
c0lkZW50aWZpZXIuaD4KICNpbmNsdWRlIDxwYWwvU2Vzc2lvbklELmg+CiAjaW5jbHVkZSA8d3Rm
L0xvZ2dlci5oPgpAQCAtNTIsNiArNTMsMTEgQEAKICNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dE
aXNwbGF5Q29uZmlndXJhdGlvbi5oPgogI2VuZGlmCiAKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2Ns
YXNzIFNlY3VyaXR5T3JpZ2luOworc3RydWN0IFNlY3VyaXR5T3JpZ2luRGF0YTsKK30KKwogbmFt
ZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIEdQVVByb2Nlc3M7CkBAIC0xMTEsNiArMTE3LDggQEAg
cHVibGljOgogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAgICAgdm9pZCBzZXRPcmllbnRhdGlv
bkZvck1lZGlhQ2FwdHVyZSh1aW50NjRfdCBvcmllbnRhdGlvbik7CiAgICAgdm9pZCB1cGRhdGVD
YXB0dXJlQWNjZXNzKGJvb2wgYWxsb3dBdWRpb0NhcHR1cmUsIGJvb2wgYWxsb3dWaWRlb0NhcHR1
cmUsIGJvb2wgYWxsb3dEaXNwbGF5Q2FwdHVyZSk7CisgICAgdm9pZCB1cGRhdGVDYXB0dXJlT3Jp
Z2luKGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSYpOworICAgIGJvb2wgc2V0Q2Fw
dHVyZUF0dHJpYnV0aW9uU3RyaW5nKCk7CiAgICAgYm9vbCBhbGxvd3NBdWRpb0NhcHR1cmUoKSBj
b25zdCB7IHJldHVybiBtX2FsbG93c0F1ZGlvQ2FwdHVyZTsgfQogICAgIGJvb2wgYWxsb3dzVmlk
ZW9DYXB0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9hbGxvd3NWaWRlb0NhcHR1cmU7IH0KICAgICBi
b29sIGFsbG93c0Rpc3BsYXlDYXB0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9hbGxvd3NEaXNwbGF5
Q2FwdHVyZTsgfQpAQCAtMjQ4LDYgKzI1Niw3IEBAIHByaXZhdGU6CiAgICAgc3RkOjp1bmlxdWVf
cHRyPFJlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyPiBtX3JlbW90ZU1lZGlhUmVjb3JkZXJNYW5h
Z2VyOwogI2VuZGlmCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKyAgICBSZWY8V2ViQ29yZTo6
U2VjdXJpdHlPcmlnaW4+IG1fY2FwdHVyZU9yaWdpbjsKICAgICBib29sIG1fYWxsb3dzQXVkaW9D
YXB0dXJlIHsgZmFsc2UgfTsKICAgICBib29sIG1fYWxsb3dzVmlkZW9DYXB0dXJlIHsgZmFsc2Ug
fTsKICAgICBib29sIG1fYWxsb3dzRGlzcGxheUNhcHR1cmUgeyBmYWxzZSB9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuY3BwCmluZGV4IDRhNGFjOTE0YjQ2MzE5MzUyNDg4ZGJl
MTYyNmRmZjNkZGNhMjY2YmYuLjY3NmZjNDViYWYxNjQ2Njg3MjdhYWZiZTg4NTJhNGVhZDg2NjQ2
ZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHAKQEAgLTMxMiw2ICsz
MTIsMTIgQEAgdm9pZCBHUFVQcm9jZXNzOjp1cGRhdGVDYXB0dXJlQWNjZXNzKGJvb2wgYWxsb3dB
dWRpb0NhcHR1cmUsIGJvb2wgYWxsb3dWaWRlb0NhcHQKICAgICBjb21wbGV0aW9uSGFuZGxlcigp
OwogfQogCit2b2lkIEdQVVByb2Nlc3M6OnVwZGF0ZUNhcHR1cmVPcmlnaW4oY29uc3QgV2ViQ29y
ZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiBvcmlnaW5EYXRhLCBQcm9jZXNzSWRlbnRpZmllciBwcm9j
ZXNzSUQpCit7CisgICAgaWYgKGF1dG8qIGNvbm5lY3Rpb24gPSB3ZWJQcm9jZXNzQ29ubmVjdGlv
bihwcm9jZXNzSUQpKQorICAgICAgICBjb25uZWN0aW9uLT51cGRhdGVDYXB0dXJlT3JpZ2luKG9y
aWdpbkRhdGEpOworfQorCiB2b2lkIEdQVVByb2Nlc3M6OnVwZGF0ZVNhbmRib3hBY2Nlc3MoY29u
c3QgVmVjdG9yPFNhbmRib3hFeHRlbnNpb246OkhhbmRsZT4mIGV4dGVuc2lvbnMpCiB7CiAgICAg
Zm9yIChhdXRvJiBleHRlbnNpb24gOiBleHRlbnNpb25zKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9H
UFVQcm9jZXNzLmgKaW5kZXggNWVkNWIzZWQxZTE0N2U0NjE5M2U2Yjg0ZDgzZDgwOWUwODU5MGQz
NC4uYTIxZDA1MTNjZTIxODk2NGU3YmZlMTc5YjZlNjc2YThjYWJmNWVhZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTktMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTQ1LDYgKzQ1LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIGNsYXNzIE5vd1BsYXlpbmdNYW5hZ2VyOwogc3RydWN0IE1vY2tNZWRpYURldmljZTsKK3N0
cnVjdCBTZWN1cml0eU9yaWdpbkRhdGE7CiB9CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtMTI0
LDExICsxMjUsMTMgQEAgcHJpdmF0ZToKICAgICB2b2lkIHNldE1vY2tDYXB0dXJlRGV2aWNlc0Vu
YWJsZWQoYm9vbCk7CiAgICAgdm9pZCBzZXRPcmllbnRhdGlvbkZvck1lZGlhQ2FwdHVyZSh1aW50
NjRfdCBvcmllbnRhdGlvbik7CiAgICAgdm9pZCB1cGRhdGVDYXB0dXJlQWNjZXNzKGJvb2wgYWxs
b3dBdWRpb0NhcHR1cmUsIGJvb2wgYWxsb3dWaWRlb0NhcHR1cmUsIGJvb2wgYWxsb3dEaXNwbGF5
Q2FwdHVyZSwgV2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoKT4mJik7CisgICAgdm9pZCB1cGRhdGVDYXB0dXJlT3JpZ2luKGNvbnN0IFdlYkNvcmU6OlNl
Y3VyaXR5T3JpZ2luRGF0YSYsIFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyKTsKICAgICB2b2lk
IHVwZGF0ZVNhbmRib3hBY2Nlc3MoY29uc3QgVmVjdG9yPFNhbmRib3hFeHRlbnNpb246OkhhbmRs
ZT4mKTsKICAgICB2b2lkIGFkZE1vY2tNZWRpYURldmljZShjb25zdCBXZWJDb3JlOjpNb2NrTWVk
aWFEZXZpY2UmKTsKICAgICB2b2lkIGNsZWFyTW9ja01lZGlhRGV2aWNlcygpOwogICAgIHZvaWQg
cmVtb3ZlTW9ja01lZGlhRGV2aWNlKGNvbnN0IFN0cmluZyYgcGVyc2lzdGVudElkKTsKICAgICB2
b2lkIHJlc2V0TW9ja01lZGlhRGV2aWNlcygpOworICAgIGJvb2wgc2V0Q2FwdHVyZUF0dHJpYnV0
aW9uU3RyaW5nKGNvbnN0IFN0cmluZyYpOwogI2VuZGlmCiAjaWYgUExBVEZPUk0oTUFDKQogICAg
IHZvaWQgZGlzcGxheUNvbmZpZ3VyYXRpb25DaGFuZ2VkKENHRGlyZWN0RGlzcGxheUlELCBDR0Rp
c3BsYXlDaGFuZ2VTdW1tYXJ5RmxhZ3MpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL0dQVVByb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
R1BVUHJvY2Vzcy5tZXNzYWdlcy5pbgppbmRleCA3YWQ4OWU0YThiYWRmZGNhMWFhYTE5NTg5OTA4
MTkyNGVhOGYyZmQ2Li42OTFkYTc4ZDJjZjkzMjhlYTc5ZTI0YzJkNjQ2MjAwMzZiNWU0MjQ5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5p
bgorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbgpA
QCAtNDEsNiArNDEsNyBAQCBtZXNzYWdlcyAtPiBHUFVQcm9jZXNzIExlZ2FjeVJlY2VpdmVyIHsK
ICAgICBTZXRPcmllbnRhdGlvbkZvck1lZGlhQ2FwdHVyZSh1aW50NjRfdCBvcmllbnRhdGlvbik7
CiAgICAgVXBkYXRlU2FuZGJveEFjY2VzcyhWZWN0b3I8V2ViS2l0OjpTYW5kYm94RXh0ZW5zaW9u
OjpIYW5kbGU+IGV4dGVuc2lvbnMpOwogICAgIFVwZGF0ZUNhcHR1cmVBY2Nlc3MoYm9vbCBhbGxv
d0F1ZGlvQ2FwdHVyZSwgYm9vbCBhbGxvd1ZpZGVvQ2FwdHVyZSwgYm9vbCBhbGxvd0Rpc3BsYXlD
YXB0dXJlLCBXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciBwcm9jZXNzSUQpIC0+ICgpIEFzeW5j
CisgICAgVXBkYXRlQ2FwdHVyZU9yaWdpbihzdHJ1Y3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5E
YXRhIG9yaWdpbkRhdGEsIFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyIHByb2Nlc3NJRCkKICAg
ICBBZGRNb2NrTWVkaWFEZXZpY2Uoc3RydWN0IFdlYkNvcmU6Ok1vY2tNZWRpYURldmljZSBkZXZp
Y2UpOwogICAgIENsZWFyTW9ja01lZGlhRGV2aWNlcygpOwogICAgIFJlbW92ZU1vY2tNZWRpYURl
dmljZShTdHJpbmcgcGVyc2lzdGVudElkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9jb2NvYS9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzQ29jb2EubW0gYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvY29jb2EvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzc0NvY29hLm1t
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjQ4NmI0M2Y1MzJhMTI3MjFhNDVkMTQ0ZTljODNjOTIzNTAyNWRiZWYKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvY29jb2EvR1BVQ29ubmVj
dGlvblRvV2ViUHJvY2Vzc0NvY29hLm1tCkBAIC0wLDAgKzEsNjUgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW1wb3J0ICJjb25maWcuaCIKKyNpbXBvcnQgIkdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaCIK
KworI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKKworI2ltcG9ydCAiU3lzdGVtU3RhdHVzU1BJLmgi
CisjaW1wb3J0IDxXZWJDb3JlL0xvY2FsaXplZFN0cmluZ3MuaD4KKyNpbXBvcnQgPFdlYkNvcmUv
UmVnaXN0cmFibGVEb21haW4uaD4KKyNpbXBvcnQgPFdlYkNvcmUvU2VjdXJpdHlPcmlnaW4uaD4K
KyNpbXBvcnQgPHBhbC9pb3MvU3lzdGVtU3RhdHVzU29mdExpbmsuaD4KKworbmFtZXNwYWNlIFdl
YktpdCB7CisKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorYm9vbCBHUFVDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzOjpzZXRDYXB0dXJlQXR0cmlidXRpb25TdHJpbmcoKQoreworI2lmIFBMQVRGT1JN
KElPUykKKyAgICBpZiAoIVtQQUw6OmdldFNURHluYW1pY0FjdGl2aXR5QXR0cmlidXRpb25QdWJs
aXNoZXJDbGFzcygpIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Ioc2V0Q3VycmVudEF0dHJp
YnV0aW9uU3RyaW5nV2l0aEZvcm1hdDphdWRpdFRva2VuOildKQorICAgICAgICByZXR1cm4gdHJ1
ZTsKKworICAgIGF1dG8gZG9tYWluID0gV2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4geyBtX2Nh
cHR1cmVPcmlnaW4tPmRhdGEoKSB9OworICAgIGlmIChkb21haW4uaXNFbXB0eSgpKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICBhdXRvIGF1ZGl0VG9rZW4gPSBncHVQcm9jZXNzKCkucGFy
ZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+Z2V0QXVkaXRUb2tlbigpOworICAgIGlmICghYXVkaXRU
b2tlbikKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgUmV0YWluUHRyPE5TU3RyaW5nPiBm
b3JtYXRTdHJpbmcgPSBbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpXRUJfVUlfU1RSSU5HKCLi
gJwlQOKAnSBpbiDigJwlJUDigJ0iLCAiVGhlIGRvbWFpbiBhbmQgYXBwbGljYXRpb24gdXNpbmcg
dGhlIGNhbWVyYSBhbmQvb3IgbWljcm9waG9uZS4gVGhlIGZpcnN0IGFyZ3VtZW50IGlzIGRvbWFp
biwgdGhlIHNlY29uZCBpcyB0aGUgYXBwbGljYXRpb24gbmFtZSAoaU9TIG9ubHkpLiIpLCAoTlNT
dHJpbmcgKilkb21haW4uc3RyaW5nKCldOworCisgICAgW1BBTDo6Z2V0U1REeW5hbWljQWN0aXZp
dHlBdHRyaWJ1dGlvblB1Ymxpc2hlckNsYXNzKCkgc2V0Q3VycmVudEF0dHJpYnV0aW9uU3RyaW5n
V2l0aEZvcm1hdDpmb3JtYXRTdHJpbmcuZ2V0KCkgYXVkaXRUb2tlbjphdWRpdFRva2VuLnZhbHVl
KCldOworI2VuZGlmCisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKyNlbmRpZiAvLyBFTkFCTEUoTUVE
SUFfU1RSRUFNKQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIEVOQUJMRShH
UFVfUFJPQ0VTUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL2lvcy9T
eXN0ZW1TdGF0dXNTUEkuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL2lvcy9TeXN0ZW1T
dGF0dXNTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MGUzYjVhYjRlYWU3NjhjNGIyYTcwNzU4Nzg5MTE2ZDBl
ZGM1YmFlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9z
L1N5c3RlbVN0YXR1c1NQSS5oCkBAIC0wLDAgKzEsNDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWYgVVNF
KEFQUExFX0lOVEVSTkFMX1NESykKKworI2ltcG9ydCA8U3lzdGVtU3RhdHVzL1NURHluYW1pY0Fj
dGl2aXR5QXR0cmlidXRpb25QdWJsaXNoZXIuaD4KKworI2Vsc2UKKworTlNfQVNTVU1FX05PTk5V
TExfQkVHSU4KKworQGludGVyZmFjZSBTVER5bmFtaWNBY3Rpdml0eUF0dHJpYnV0aW9uUHVibGlz
aGVyIDogTlNPYmplY3QKKworKyAodm9pZClzZXRDdXJyZW50QXR0cmlidXRpb25TdHJpbmdXaXRo
Rm9ybWF0OihOU1N0cmluZyAqKWZvcm1hdCBhdWRpdFRva2VuOihhdWRpdF90b2tlbl90KWF1ZGl0
VG9rZW47CisKK0BlbmQKKworTlNfQVNTVU1FX05PTk5VTExfRU5ECisKKyNlbmRpZiAvLyBVU0Uo
QVBQTEVfSU5URVJOQUxfU0RLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9SZXNvdXJjZXMv
U2FuZGJveFByb2ZpbGVzL2lvcy9jb20uYXBwbGUuV2ViS2l0LkdQVS5zYiBiL1NvdXJjZS9XZWJL
aXQvUmVzb3VyY2VzL1NhbmRib3hQcm9maWxlcy9pb3MvY29tLmFwcGxlLldlYktpdC5HUFUuc2IK
aW5kZXggNmJjNmIzNzY3Y2U5N2I2YWYxNTVlODU0NmQzYzcxNzQ4MTY5OWE1YS4uZjVhY2Y4ZDZk
ZTk1M2IzM2I4OWJhYWQ3YTRmMWRmMGQ4YTJhZWFlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9SZXNvdXJjZXMvU2FuZGJveFByb2ZpbGVzL2lvcy9jb20uYXBwbGUuV2ViS2l0LkdQVS5zYgor
KysgYi9Tb3VyY2UvV2ViS2l0L1Jlc291cmNlcy9TYW5kYm94UHJvZmlsZXMvaW9zL2NvbS5hcHBs
ZS5XZWJLaXQuR1BVLnNiCkBAIC0xMDAzLDYgKzEwMDMsOSBAQAogICAgICkKICkKIAorKGFsbG93
IG1hY2gtbG9va3VwCisgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuc3lzdGVtc3RhdHVzLmFj
dGl2aXR5YXR0cmlidXRpb24iKQorKQogCiAoYWxsb3cgbWFjaC1sb29rdXAKICAgICAocmVxdWly
ZS1hbGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy9wcm9jZXNzLWVudGl0bGVt
ZW50cy5zaCBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy9wcm9jZXNzLWVudGl0bGVtZW50cy5zaApp
bmRleCBmZWVmOWIzMTUyNzcxMTVhNmMxNDc4MThiZDA4ZTgyZmU1NzU4MGFhLi45ZWFiNWM3Y2Yy
ZTg2N2Y2OWE5YWFlNDM1ZTI2YmQ2YTE1YzFiNGQzIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViS2l0
L1NjcmlwdHMvcHJvY2Vzcy1lbnRpdGxlbWVudHMuc2gKKysrIGIvU291cmNlL1dlYktpdC9TY3Jp
cHRzL3Byb2Nlc3MtZW50aXRsZW1lbnRzLnNoCkBAIC0zMDksNiArMzA5LDEwIEBAIGZ1bmN0aW9u
IGlvc19mYW1pbHlfcHJvY2Vzc19ncHVfZW50aXRsZW1lbnRzKCkKIAogICAgIHBsaXN0YnVkZHkg
QWRkIDpzZWF0YmVsdC1wcm9maWxlcyBhcnJheQogICAgIHBsaXN0YnVkZHkgQWRkIDpzZWF0YmVs
dC1wcm9maWxlczowIHN0cmluZyBjb20uYXBwbGUuV2ViS2l0LkdQVQorCisgICAgcGxpc3RidWRk
eSBBZGQgOmNvbS5hcHBsZS5zeXN0ZW1zdGF0dXMuYWN0aXZpdHlhdHRyaWJ1dGlvbiBib29sIFlF
UworICAgIHBsaXN0YnVkZHkgQWRkIDpjb20uYXBwbGUuc2VjdXJpdHkuZXhjZXB0aW9uLm1hY2gt
bG9va3VwLmdsb2JhbC1uYW1lIGFycmF5CisgICAgcGxpc3RidWRkeSBBZGQgOmNvbS5hcHBsZS5z
ZWN1cml0eS5leGNlcHRpb24ubWFjaC1sb29rdXAuZ2xvYmFsLW5hbWU6MCBzdHJpbmcgY29tLmFw
cGxlLnN5c3RlbXN0YXR1cy5hY3Rpdml0eWF0dHJpYnV0aW9uCiB9CiAKIGZ1bmN0aW9uIGlvc19m
YW1pbHlfcHJvY2Vzc193ZWJhdXRobl9lbnRpdGxlbWVudHMoKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0IGIvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0
CmluZGV4IDk5ZTk2NmM5MTM2YzRkZjkyMmY4OWYzZDFkMDM5N2E3ZmNhMTFmMTIuLmM0NDliYzVk
OTlmZWJjMmM3NzEyZGVmODRiOGUyMWU4NjQyNzdkYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvU291cmNlc0NvY29hLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQK
QEAgLTU4LDYgKzU4LDcgQEAgTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENUQ1BTb2Nr
ZXRDb2NvYS5tbQogTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENVRFBTb2NrZXRDb2Nv
YS5tbQogCiBHUFVQcm9jZXNzL0VudHJ5UG9pbnQvQ29jb2EvWFBDU2VydmljZS9HUFVTZXJ2aWNl
RW50cnlQb2ludC5tbQorR1BVUHJvY2Vzcy9jb2NvYS9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNz
Q29jb2EubW0KIEdQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlR3JhcGhpY3NDb250ZXh0R0xDb2Nv
YS5jcHAKIEdQVVByb2Nlc3MvZ3JhcGhpY3MvU2NvcGVkUmVuZGVyaW5nUmVzb3VyY2VzUmVxdWVz
dENvY29hLm1tIEBuby11bmlmeQogR1BVUHJvY2Vzcy9ncmFwaGljcy9TY29wZWRXZWJHTFJlbmRl
cmluZ1Jlc291cmNlc1JlcXVlc3RDb2NvYS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL1VzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHkuY3BwIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eS5jcHAK
aW5kZXggMDVhZWJiN2QzZDg0ZTI0ODJjODlkZWEzMzgzOWYyM2EyMTViMWE3Zi4uOWFiMmEzNzVh
OWUwMzgwYWE1N2E1YTk0MTRiZDk5NTYzYjFjZmY3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eS5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94
eS5jcHAKQEAgLTMyNiw4ICszMjYsMTYgQEAgdm9pZCBVc2VyTWVkaWFDYXB0dXJlTWFuYWdlclBy
b3h5OjpjcmVhdGVNZWRpYVNvdXJjZUZvckNhcHR1cmVEZXZpY2VXaXRoQ29uc3RyYWkKIAogdm9p
ZCBVc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5OjpzdGFydFByb2R1Y2luZ0RhdGEoUmVhbHRp
bWVNZWRpYVNvdXJjZUlkZW50aWZpZXIgaWQpCiB7Ci0gICAgaWYgKGF1dG8qIHByb3h5ID0gbV9w
cm94aWVzLmdldChpZCkpCi0gICAgICAgIHByb3h5LT5zdGFydCgpOworICAgIGF1dG8qIHByb3h5
ID0gbV9wcm94aWVzLmdldChpZCk7CisgICAgaWYgKCFwcm94eSkKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaWYgKCFtX2Nvbm5lY3Rpb25Qcm94eS0+c2V0Q2FwdHVyZUF0dHJpYnV0aW9uU3RyaW5n
KCkpIHsKKyAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoV2ViUlRDLCAiVW5hYmxlIHRvIHNldCBj
YXB0dXJlIGF0dHJpYnV0aW9uLCBmYWlsaW5nIGNhcHR1cmUuIik7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKKyAgICBwcm94eS0+c3RhcnQoKTsKIH0KIAogdm9pZCBVc2VyTWVkaWFDYXB0dXJl
TWFuYWdlclByb3h5OjpzdG9wUHJvZHVjaW5nRGF0YShSZWFsdGltZU1lZGlhU291cmNlSWRlbnRp
ZmllciBpZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VzZXJN
ZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29h
L1VzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHkuaAppbmRleCAwNDEzNDg5ZjE0Mjk4ZGY1Nzgz
MDQxNDBmZWJhMzQ2Y2MzMmZhZTkyLi5kMGIyMGVjMTQ1OTY4ZmM1MGY4ZmNjNThkYzc3ZTg3NzI3
ZWJkYTljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9Vc2VyTWVk
aWFDYXB0dXJlTWFuYWdlclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eS5oCkBAIC01Nyw2ICs1Nyw3IEBAIHB1Ymxp
YzoKICAgICAgICAgdmlydHVhbCBJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24oKSA9IDA7CiAg
ICAgICAgIHZpcnR1YWwgYm9vbCB3aWxsU3RhcnRDYXB0dXJlKFdlYkNvcmU6OkNhcHR1cmVEZXZp
Y2U6OkRldmljZVR5cGUpIGNvbnN0ID0gMDsKICAgICAgICAgdmlydHVhbCBMb2dnZXImIGxvZ2dl
cigpID0gMDsKKyAgICAgICAgdmlydHVhbCBib29sIHNldENhcHR1cmVBdHRyaWJ1dGlvblN0cmlu
ZygpIHsgcmV0dXJuIHRydWU7IH0KICAgICB9OwogICAgIGV4cGxpY2l0IFVzZXJNZWRpYUNhcHR1
cmVNYW5hZ2VyUHJveHkoVW5pcXVlUmVmPENvbm5lY3Rpb25Qcm94eT4mJik7CiAgICAgflVzZXJN
ZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHkoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
R1BVL0dQVVByb2Nlc3NQcm94eS5jcHAKaW5kZXggODVmZTAyMjcxNmQyYWNhZjIxNWY2NmJhOGUz
NjljNDEwNjA4YjBiNC4uMzEzNTQ5MmY1ZTU0YmUwYmRiM2EyY2VmNGU0MWVhYWQ5M2VjN2ZmMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5jcHAK
QEAgLTI4MCw2ICsyODAsMTAgQEAgdm9pZCBHUFVQcm9jZXNzUHJveHk6OnVwZGF0ZUNhcHR1cmVB
Y2Nlc3MoYm9vbCBhbGxvd0F1ZGlvQ2FwdHVyZSwgYm9vbCBhbGxvd1ZpZGUKICAgICBzZW5kV2l0
aEFzeW5jUmVwbHkoTWVzc2FnZXM6OkdQVVByb2Nlc3M6OlVwZGF0ZUNhcHR1cmVBY2Nlc3MgeyBh
bGxvd0F1ZGlvQ2FwdHVyZSwgYWxsb3dWaWRlb0NhcHR1cmUsIGFsbG93RGlzcGxheUNhcHR1cmUs
IHByb2Nlc3NJRCB9LCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiB9CiAKK3ZvaWQgR1BV
UHJvY2Vzc1Byb3h5Ojp1cGRhdGVDYXB0dXJlT3JpZ2luKGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5
T3JpZ2luRGF0YSYgb3JpZ2luRGF0YSwgV2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIgcHJvY2Vz
c0lEKQoreworICAgIHNlbmQoTWVzc2FnZXM6OkdQVVByb2Nlc3M6OlVwZGF0ZUNhcHR1cmVPcmln
aW4geyBvcmlnaW5EYXRhLCBwcm9jZXNzSUQgfSwgMCk7Cit9CiAKIHZvaWQgR1BVUHJvY2Vzc1By
b3h5OjphZGRNb2NrTWVkaWFEZXZpY2UoY29uc3QgV2ViQ29yZTo6TW9ja01lZGlhRGV2aWNlJiBk
ZXZpY2UpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HUFUvR1BVUHJv
Y2Vzc1Byb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5
LmgKaW5kZXggODg4MDU5NTlkOTEyZDUyZjU1ZDU5YTFkOWQzMWZiNzZiZTRiMmI1NC4uOGRmMGZl
NTY4NGY3MjI3OWQ0YmZhYjRmMDU5ZjU1OTllZmRmMjM4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuaApAQCAtNDksNiArNDksNyBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiBzdHJ1Y3QgTW9ja01lZGlhRGV2aWNlOworc3RydWN0IFNlY3VyaXR5
T3JpZ2luRGF0YTsKIH0KIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC03Niw3ICs3Nyw3IEBAIHB1
YmxpYzoKICAgICB2b2lkIHNldFVzZU1vY2tDYXB0dXJlRGV2aWNlcyhib29sKTsKICAgICB2b2lk
IHNldE9yaWVudGF0aW9uRm9yTWVkaWFDYXB0dXJlKHVpbnQ2NF90IG9yaWVudGF0aW9uKTsKICAg
ICB2b2lkIHVwZGF0ZUNhcHR1cmVBY2Nlc3MoYm9vbCBhbGxvd0F1ZGlvQ2FwdHVyZSwgYm9vbCBh
bGxvd1ZpZGVvQ2FwdHVyZSwgYm9vbCBhbGxvd0Rpc3BsYXlDYXB0dXJlLCBXZWJDb3JlOjpQcm9j
ZXNzSWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKLQorICAgIHZvaWQg
dXBkYXRlQ2FwdHVyZU9yaWdpbihjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEmLCBX
ZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllcik7CiAgICAgdm9pZCBhZGRNb2NrTWVkaWFEZXZpY2Uo
Y29uc3QgV2ViQ29yZTo6TW9ja01lZGlhRGV2aWNlJik7CiAgICAgdm9pZCBjbGVhck1vY2tNZWRp
YURldmljZXMoKTsKICAgICB2b2lkIHJlbW92ZU1vY2tNZWRpYURldmljZShjb25zdCBTdHJpbmcm
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IGQwZmQ5N2Qz
M2U5N2E1MTViOWU4MGI3NDk0MWRhZWRmMDYzYTQwNzQuLmJhYzI4YjdiOWRiNGU0N2QxNWYwN2M0
MzgyZDBmZGVjNjhiNTliNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmNwcApAQCAtMTEwLDYgKzExMCw3IEBACiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJz
LmgiCiAjaW5jbHVkZSAiV2ViRWRpdENvbW1hbmRQcm94eS5oIgogI2luY2x1ZGUgIldlYkV2ZW50
Q29udmVyc2lvbi5oIgorI2luY2x1ZGUgIldlYkZyYW1lLmgiCiAjaW5jbHVkZSAiV2ViRnJhbWVQ
b2xpY3lMaXN0ZW5lclByb3h5LmgiCiAjaW5jbHVkZSAiV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94
eS5oIgogI2luY2x1ZGUgIldlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHlNZXNzYWdlcy5oIgpAQCAt
MTM2LDYgKzEzNyw3IEBACiAjaW5jbHVkZSAiV2ViUG9wdXBNZW51UHJveHkuaCIKICNpbmNsdWRl
ICJXZWJQcmVmZXJlbmNlcy5oIgogI2luY2x1ZGUgIldlYlByZWZlcmVuY2VzS2V5cy5oIgorI2lu
Y2x1ZGUgIldlYlByb2Nlc3MuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzTWVzc2FnZXMuaCIKICNp
bmNsdWRlICJXZWJQcm9jZXNzUG9vbC5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3NQcm94eS5oIgpA
QCAtNTEwMSwxMSArNTEwMywyMSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkU2FtZURvY3VtZW50
TmF2aWdhdGlvbkZvckZyYW1lKEZyYW1lSWRlbnRpZmllciBmcmFtZUlELCB1aQogdm9pZCBXZWJQ
YWdlUHJveHk6OmRpZENoYW5nZU1haW5Eb2N1bWVudChGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCkK
IHsKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQotICAgIGlmIChtX3VzZXJNZWRpYVBlcm1pc3Np
b25SZXF1ZXN0TWFuYWdlcikKKyAgICBpZiAobV91c2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1h
bmFnZXIpIHsKICAgICAgICAgbV91c2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXItPnJl
c2V0QWNjZXNzKGZyYW1lSUQpOworCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQorICAgICAgICBp
ZiAoYXV0byogZ3B1UHJvY2VzcyA9IG1fcHJvY2Vzcy0+cHJvY2Vzc1Bvb2woKS5ncHVQcm9jZXNz
KCkpIHsKKyAgICAgICAgICAgIGlmIChhdXRvKiBmcmFtZSA9IG1fcHJvY2Vzcy0+d2ViRnJhbWUo
ZnJhbWVJRCkpCisgICAgICAgICAgICAgICAgZ3B1UHJvY2Vzcy0+dXBkYXRlQ2FwdHVyZU9yaWdp
bihTZWN1cml0eU9yaWdpbkRhdGE6OmZyb21VUkwoZnJhbWUtPnVybCgpKSwgbV9wcm9jZXNzLT5j
b3JlUHJvY2Vzc0lkZW50aWZpZXIoKSk7CisgICAgICAgIH0KKyNlbmRpZgorICAgIH0KKwogI2Vs
c2UKICAgICBVTlVTRURfUEFSQU0oZnJhbWVJRCk7CiAjZW5kaWYKKyAgICAKICAgICBtX2lzUXVv
dGFJbmNyZWFzZURlbmllZCA9IGZhbHNlOwogCiAgICAgbV9zcGVlY2hSZWNvZ25pdGlvblBlcm1p
c3Npb25NYW5hZ2VyID0gbnVsbHB0cjsKQEAgLTg0MTgsNiArODQzMCw3IEBAIHZvaWQgV2ViUGFn
ZVByb3h5Ojp3aWxsU3RhcnRDYXB0dXJlKGNvbnN0IFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0
UHJveHkmIHJlcXVlCiAKICAgICBhdXRvJiBncHVQcm9jZXNzID0gcHJvY2VzcygpLnByb2Nlc3NQ
b29sKCkuZW5zdXJlR1BVUHJvY2VzcygpOwogICAgIGdwdVByb2Nlc3MudXBkYXRlQ2FwdHVyZUFj
Y2VzcyhyZXF1ZXN0LnJlcXVpcmVzQXVkaW9DYXB0dXJlKCksIHJlcXVlc3QucmVxdWlyZXNWaWRl
b0NhcHR1cmUoKSwgcmVxdWVzdC5yZXF1aXJlc0Rpc3BsYXlDYXB0dXJlKCksIG1fcHJvY2Vzcy0+
Y29yZVByb2Nlc3NJZGVudGlmaWVyKCksIFdURk1vdmUoY2FsbGJhY2spKTsKKyAgICBncHVQcm9j
ZXNzLnVwZGF0ZUNhcHR1cmVPcmlnaW4ocmVxdWVzdC50b3BMZXZlbERvY3VtZW50U2VjdXJpdHlP
cmlnaW4oKS5kYXRhKCksIG1fcHJvY2Vzcy0+Y29yZVByb2Nlc3NJZGVudGlmaWVyKCkpOwogI2lm
IFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgZ3B1UHJvY2Vzcy5zZXRPcmllbnRhdGlvbkZvck1l
ZGlhQ2FwdHVyZShtX2RldmljZU9yaWVudGF0aW9uKTsKICNlbmRpZgpAQCAtMTA2MDIsMTIgKzEw
NjE1LDEyIEBAIHZvaWQgV2ViUGFnZVByb3h5OjpncHVQcm9jZXNzRXhpdGVkKEdQVVByb2Nlc3NU
ZXJtaW5hdGlvblJlYXNvbikKICAgICBwYWdlQ2xpZW50KCkuZ3B1UHJvY2Vzc0RpZEV4aXQoKTsK
IAogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCi0gICAgYm9vbCBzaG91bGRBbGxvd0F1ZGlvQ2Fw
dHVyZSA9IGlzQ2FwdHVyaW5nQXVkaW8oKSAmJiBwcmVmZXJlbmNlcygpLmNhcHR1cmVBdWRpb0lu
R1BVUHJvY2Vzc0VuYWJsZWQoKTsKLSAgICBib29sIHNob3VsZEFsbG93VmlkZW9DYXB0dXJlID0g
aXNDYXB0dXJpbmdWaWRlbygpICYmIHByZWZlcmVuY2VzKCkuY2FwdHVyZVZpZGVvSW5HUFVQcm9j
ZXNzRW5hYmxlZCgpOwotICAgIGJvb2wgc2hvdWxkQWxsb3dEaXNwbGF5Q2FwdHVyZSA9IGZhbHNl
OwotICAgIGlmIChzaG91bGRBbGxvd0F1ZGlvQ2FwdHVyZSB8fCBzaG91bGRBbGxvd1ZpZGVvQ2Fw
dHVyZSkgeworICAgIGJvb2wgYWN0aXZlQXVkaW9DYXB0dXJlID0gaXNDYXB0dXJpbmdBdWRpbygp
ICYmIHByZWZlcmVuY2VzKCkuY2FwdHVyZUF1ZGlvSW5HUFVQcm9jZXNzRW5hYmxlZCgpOworICAg
IGJvb2wgYWN0aXZlVmlkZW9DYXB0dXJlID0gaXNDYXB0dXJpbmdWaWRlbygpICYmIHByZWZlcmVu
Y2VzKCkuY2FwdHVyZVZpZGVvSW5HUFVQcm9jZXNzRW5hYmxlZCgpOworICAgIGJvb2wgYWN0aXZl
RGlzcGxheUNhcHR1cmUgPSBmYWxzZTsKKyAgICBpZiAoYWN0aXZlQXVkaW9DYXB0dXJlIHx8IGFj
dGl2ZVZpZGVvQ2FwdHVyZSkgewogICAgICAgICBhdXRvJiBncHVQcm9jZXNzID0gcHJvY2Vzcygp
LnByb2Nlc3NQb29sKCkuZW5zdXJlR1BVUHJvY2VzcygpOwotICAgICAgICBncHVQcm9jZXNzLnVw
ZGF0ZUNhcHR1cmVBY2Nlc3Moc2hvdWxkQWxsb3dBdWRpb0NhcHR1cmUsIHNob3VsZEFsbG93Vmlk
ZW9DYXB0dXJlLCBzaG91bGRBbGxvd0Rpc3BsYXlDYXB0dXJlLCBtX3Byb2Nlc3MtPmNvcmVQcm9j
ZXNzSWRlbnRpZmllcigpLCBbXSB7IH0pOworICAgICAgICBncHVQcm9jZXNzLnVwZGF0ZUNhcHR1
cmVBY2Nlc3MoYWN0aXZlQXVkaW9DYXB0dXJlLCBhY3RpdmVWaWRlb0NhcHR1cmUsIGFjdGl2ZURp
c3BsYXlDYXB0dXJlLCBtX3Byb2Nlc3MtPmNvcmVQcm9jZXNzSWRlbnRpZmllcigpLCBbXSB7IH0p
OwogICAgIH0KICNlbmRpZgogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKaW5kZXggMjQ1NGZkNDUxNDRiZjBkMDY5ZDYwZTY2ZTMwY2NiYTk1NWM1
NDk1MS4uNDJmNTZmZDE1NTEwOTIxMTkwNTJlMmEzYmMxOWVmNDkyNDMxZmI5ZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMjQsNiAr
MTI0LDcgQEAKIAkJMDc5MjMxNDgyMzlDQkNCODAwOTU5OEUyIC8qIFJlbW90ZU1lZGlhUGxheWVy
TWFuYWdlclByb3h5TWVzc2FnZXNSZXBsaWVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwNzkyMzE0MjIzOUNCQ0I1MDA5NTk4RTIgLyogUmVtb3RlTWVk
aWFQbGF5ZXJNYW5hZ2VyUHJveHlNZXNzYWdlc1JlcGxpZXMuaCAqLzsgfTsKIAkJMDc5MjMxNEIy
MzlDQkNCODAwOTU5OEUyIC8qIFJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5TWVzc2FnZVJl
Y2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDA3OTIzMTQ1MjM5Q0JDQjcwMDk1OThFMiAvKiBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94
eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CiAJCTA3OTIzMTRDMjM5Q0JDQjgwMDk1OThFMiAv
KiBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eU1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzkyMzE0NjIzOUNCQ0I3MDA5NTk4RTIg
LyogUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHlNZXNzYWdlcy5oICovOyB9OworCQkwNzlE
MUQ5QTI2OTYwQ0QzMDA4ODM1NzcgLyogU3lzdGVtU3RhdHVzU1BJLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzlEMUQ5OTI2OTYwQ0QzMDA4ODM1Nzcg
LyogU3lzdGVtU3RhdHVzU1BJLmggKi87IH07CiAJCTA3QTVFQkJDMUM3QkE0M0UwMEI5Q0E2OSAv
KiBXS0ZyYW1lSGFuZGxlUmVmLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwN0E1RUJCQTFDN0JBNDNFMDBCOUNBNjkgLyogV0tGcmFtZUhhbmRsZVJlZi5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTA3RTE5
RUZCMjNENDAxRjEwMDk0RkZCNCAvKiBNZWRpYVBsYXllclByaXZhdGVSZW1vdGVNZXNzYWdlUmVj
ZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MDdFMTlFRjgyM0Q0MDFGMDAwOTRGRkI0IC8qIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZU1lc3Nh
Z2VSZWNlaXZlci5jcHAgKi87IH07CiAJCTA3RTE5RUZDMjNENDAxRjEwMDk0RkZCNCAvKiBNZWRp
YVBsYXllclByaXZhdGVSZW1vdGVNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMDdFMTlFRjkyM0Q0MDFGMDAwOTRGRkI0IC8qIE1lZGlhUGxh
eWVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VzLmggKi87IH07CkBAIC0yNDQ4LDYgKzI0NDksOCBAQAog
CQkwNzk0QjRBQzI0NDUxQkI5MDAwMUI5QzQgLyogTWVkaWFVc2FnZU1hbmFnZXIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gTWVkaWFVc2FnZU1hbmFnZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMDc5NEI0QUUyNDQ1MjRCMDAwMDFCOUM0IC8qIE1lZGlhVXNhZ2VNYW5hZ2VyLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IE1lZGlhVXNhZ2VNYW5hZ2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMDc5NEI0QUYyNDQ1MkEyQzAwMDFCOUM0IC8qIE1lZGlhVXNhZ2VNYW5hZ2Vy
Q29jb2EuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFVc2FnZU1hbmFnZXJDb2NvYS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkwNzlEMUQ5OTI2OTYwQ0QzMDA4ODM1NzcgLyogU3lzdGVt
U3RhdHVzU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN5c3RlbVN0YXR1
c1NQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwNzlEMUQ5QzI2OThEQkQwMDA4
ODM1NzcgLyogY29jb2EgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBmb2xkZXI7IHBhdGggPSBjb2NvYTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMDdBNUVCQjkxQzdCQTQzRTAwQjlDQTY5IC8qIFdLRnJhbWVIYW5kbGVSZWYuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0tGcmFtZUhhbmRsZVJlZi5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA3QTVFQkJBMUM3QkE0M0UwMEI5Q0E2OSAvKiBX
S0ZyYW1lSGFuZGxlUmVmLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLRnJh
bWVIYW5kbGVSZWYuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDdBNkU1RTMyNjBF
NDExNDAwOTU5NDc4IC8qIFJlbW90ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yUHJveHlNZXNzYWdl
UmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVtb3RlTWVkaWFTZXNzaW9uQ29vcmRp
bmF0b3JQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC03Njc4LDYgKzc2ODEsNyBAQAogCQkyRDlGQjFGRjIzNzUyMDlEMDA0OUY5MzYgLyogR1BV
UHJvY2VzcyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJ
MDc5RDFEOUMyNjk4REJEMDAwODgzNTc3IC8qIGNvY29hICovLAogCQkJCTJEOUZCMjBEMjM3NTIw
OUQwMDQ5RjkzNiAvKiBFbnRyeVBvaW50ICovLAogCQkJCTU1MDY0MEExMjQwNzFBMjkwMEFBRTA0
NSAvKiBncmFwaGljcyAqLywKIAkJCQkyRDlGQjIwNDIzNzUyMDlEMDA0OUY5MzYgLyogaW9zICov
LApAQCAtMTE1NzYsNiArMTE1ODAsNyBAQAogCQkJCTMxNzhBRjk3MjBFMkE3RjgwMDc0REU5NCAv
KiBQREZLaXRTUEkuaCAqLywKIAkJCQkyRDI3OUUxODI2OTU1NzY4MDA0QjNFRUIgLyogUHJvdG90
eXBlVG9vbHNTUEkuaCAqLywKIAkJCQk0NkYzOEU4QjI0MTZFNjZEMDA1OTM3NUEgLyogUnVubmlu
Z0JvYXJkU2VydmljZXNTUEkuaCAqLywKKwkJCQkwNzlEMUQ5OTI2OTYwQ0QzMDA4ODM1NzcgLyog
U3lzdGVtU3RhdHVzU1BJLmggKi8sCiAJCQkJQ0UxQTBCRDAxQTQ4RTZDNjAwNTRFRjc0IC8qIFRD
Q1NQSS5oICovLAogCQkJCUNFMUEwQkQxMUE0OEU2QzYwMDU0RUY3NCAvKiBUZXh0SW5wdXRTUEku
aCAqLywKIAkJCQlDRUU0QUUyQTFBNURDRjQzMDAwMkY0OUIgLyogVUlLaXRTUEkuaCAqLywKQEAg
LTEyNDEyLDYgKzEyNDE3LDcgQEAKIAkJCQk0NDhBQzI0RTI2NzEzNUE3MDBCMjg5MjEgLyogU3lu
YXBzZVNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDQ1OTk4NDIyMjgzM0U4NzAwRTYxMzczIC8q
IFN5bnRoZXRpY0VkaXRpbmdDb21tYW5kVHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzE1NzEz
NUYyMDQwQTlCMjAwODRGOUNGIC8qIFN5c3RlbVByZXZpZXdDb250cm9sbGVyLmggaW4gSGVhZGVy
cyAqLywKKwkJCQkwNzlEMUQ5QTI2OTYwQ0QzMDA4ODM1NzcgLyogU3lzdGVtU3RhdHVzU1BJLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlGNEQ5ODVDQjI2OTEwOTY2MDBCQkNDQkUgLyogVGFwSGFuZGxp
bmdSZXN1bHQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ0QzUxODQ0MjY2QkU4QzQwMDZERDUyMiAv
KiBUQ0NTb2Z0TGluay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0UxQTBCRDYxQTQ4RTZDNjAwNTRF
Rjc0IC8qIFRDQ1NQSS5oIGluIEhlYWRlcnMgKi8sCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433531</attachid>
            <date>2021-07-14 14:45:21 -0700</date>
            <delta_ts>2021-07-14 14:51:27 -0700</delta_ts>
            <desc>Build fix</desc>
            <filename>bug-227871-20210714144520.patch</filename>
            <type>text/plain</type>
            <size>4730</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5OTIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDM0YjRkMjVhYjcyM2I4NzNmNzRjZGY3
YTM2NDVmMTdhMDAzMTlhYzcuLmFlYWRjZTdlNzBlNmM3NDJjMWI1OTZjZTM1MWQyNDRiNDYyZmM2
YmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTEgQEAKKzIwMjEtMDctMTQgIEplciBOb2JsZSAgPGplci5ub2Js
ZUBhcHBsZS5jb20+CisKKyAgICAgICAgVW5yZXZpZXdlZCBidWlsZCBmaXggYWZ0ZXIgcjI3OTkx
MiAoMjM5NjYxQG1haW4pOyBBZGQgYSBIQVZFKFNZU1RFTV9TVEFUVVMpIG1hY3JvLgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd3RmL1BsYXRmb3Jt
SGF2ZS5oOgorCiAyMDIxLTA3LTEzICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgVXBkYXRlIGFuZCBmaXggVVJMIFdQVCB0ZXN0cwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9D
aGFuZ2VMb2cKaW5kZXggM2MwNmFkZDhmMWM2NWYzOGNhNDdiNGY4ZGM0ZTViOWJjNmI3YzE5My4u
YzdjOTBjMjIzYWJjZTNhMGMyZTIwMTNiYmIwN2JiMTBhYjViODBhZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEtMDctMTQgIEplciBOb2JsZSAgPGplci5ub2JsZUBh
cHBsZS5jb20+CisKKyAgICAgICAgVW5yZXZpZXdlZCBidWlsZCBmaXggYWZ0ZXIgcjI3OTkxMiAo
MjM5NjYxQG1haW4pOyBBZG9wdCBIQVZFKFNZU1RFTV9TVEFUVVMpIG1hY3JvLgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGFsL2lvcy9TeXN0ZW1T
dGF0dXNTb2Z0TGluay5oOgorICAgICAgICAqIHBhbC9pb3MvU3lzdGVtU3RhdHVzU29mdExpbmsu
bW06CisKIDIwMjEtMDctMTQgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+
CiAKICAgICAgICAgW2lPU10gRHluYW1pY2FsbHkgc2V0IGNhcHR1cmUgYXR0cmlidXRpb24KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKaW5kZXggMDA1M2YzOTQyYmNmMGVlMjhkNzI0OGU0ZGY2NDFjNzdiOTVjMWExNy4uMzliZGRi
MWM0ZmM2YmUzMzIwNTczYTkyZTUxYjVjMjdmNzlmODc4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
MSBAQAorMjAyMS0wNy0xNCAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KKworICAg
ICAgICBVbnJldmlld2VkIGJ1aWxkIGZpeCBhZnRlciByMjc5OTEyICgyMzk2NjFAbWFpbik7IEFk
b3B0IEhBVkUoU1lTVEVNX1NUQVRVUykgbWFjcm8uCisKKyAgICAgICAgKiBHUFVQcm9jZXNzL2Nv
Y29hL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6
R1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6c2V0Q2FwdHVyZUF0dHJpYnV0aW9uU3RyaW5nKToK
KyAgICAgICAgKiBQbGF0Zm9ybS9zcGkvaW9zL1N5c3RlbVN0YXR1c1NQSS5oOgorCiAyMDIxLTA3
LTE0ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBS
RUdSRVNTSU9OKHIyNzk3MjApOiBjaGFuZ2luZyBTdWJ0aXRsZXMgdG8gT2ZmIGRvZXNuJ3QgaGlk
ZSB0aGVtIG9yIGRvIGFueXRoaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9y
bUhhdmUuaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCmluZGV4IDMxZTc2OGU3ZTBm
ZjY4MWRlOGJhMWIyM2UzNjhmMDYxZTA3MmE0ZmEuLjFhNTE0YWY5MTMzNGFmZTFjMWMyZjVmOWFh
MDBhYzcyODU1MGE0N2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5o
CisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCkBAIC0xMTA1LDMgKzExMDUsNyBA
QAogICAgIHx8IChQTEFURk9STShNQUNDQVRBTFlTVCkgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9N
QVhfQUxMT1dFRCA+PSAxNDA1MDApKQogI2RlZmluZSBIQVZFX0FWU0FNUExFQlVGRkVSUkVOREVS
U1lOQ0hST05JWkVSX1JBVEVBVEhPU1RUSU1FIDEKICNlbmRpZgorCisjaWYgUExBVEZPUk0oSU9T
KSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxNTAwMDAKKyNkZWZpbmUg
SEFWRV9TWVNURU1fU1RBVFVTIDEKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
UEFML3BhbC9pb3MvU3lzdGVtU3RhdHVzU29mdExpbmsuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvaW9zL1N5c3RlbVN0YXR1c1NvZnRMaW5rLmgKaW5kZXggMWQ3NmE0N2Q2ODk3MzEwM2EzYWVh
YTVlNmQxM2VkZWZjOWZlODkxOS4uMDlmZjBlYzM1Zjg1ZDNjMTk4MDM2NjkwN2FhNzVkNWE4Yjg2
Y2VmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9pb3MvU3lzdGVtU3RhdHVz
U29mdExpbmsuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2lvcy9TeXN0ZW1TdGF0dXNT
b2Z0TGluay5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgUExBVEZP
Uk0oSU9TX0ZBTUlMWSkgJiYgIVBMQVRGT1JNKE1BQ0NBVEFMWVNUKQorI2lmIEhBVkUoU1lTVEVN
X1NUQVRVUykKIAogI2ltcG9ydCA8d3RmL1NvZnRMaW5raW5nLmg+CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvaW9zL1N5c3RlbVN0YXR1c1NvZnRMaW5rLm1tIGIvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9pb3MvU3lzdGVtU3RhdHVzU29mdExpbmsubW0KaW5kZXggZGE2ZjQz
MzVlNDkxNDgwOTIxMTU1YWFiZDlkYTVkODhhZmFmYmVlOC4uODFhY2M5NWFjODUyZjM5ZTQ3ZmEw
YThmMTRjZGYzMGYyZDhjNjQ3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9p
b3MvU3lzdGVtU3RhdHVzU29mdExpbmsubW0KKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9p
b3MvU3lzdGVtU3RhdHVzU29mdExpbmsubW0KQEAgLTI1LDcgKzI1LDcgQEAKIAogI2ltcG9ydCAi
Y29uZmlnLmgiCiAKLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKSAmJiAhUExBVEZPUk0oTUFDQ0FU
QUxZU1QpCisjaWYgSEFWRShTWVNURU1fU1RBVFVTKQogCiAjaW1wb3J0IDx3dGYvU29mdExpbmtp
bmcuaD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2NvY29hL0dQVUNv
bm5lY3Rpb25Ub1dlYlByb2Nlc3NDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9j
b2NvYS9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzQ29jb2EubW0KaW5kZXggNDg2YjQzZjUzMmEx
MjcyMWE0NWQxNDRlOWM4M2M5MjM1MDI1ZGJlZi4uZjA4YzI5ZjEzYTQxZDgwZTQwZjI3OGI3YzA1
NmRlMGNiNTQwNmUxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2NvY29h
L0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3NDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvY29jb2EvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzc0NvY29hLm1tCkBAIC0zOSw3
ICszOSw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiBi
b29sIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OnNldENhcHR1cmVBdHRyaWJ1dGlvblN0cmlu
ZygpCiB7Ci0jaWYgUExBVEZPUk0oSU9TKQorI2lmIEhBVkUoU1lTVEVNX1NUQVRVUykKICAgICBp
ZiAoIVtQQUw6OmdldFNURHluYW1pY0FjdGl2aXR5QXR0cmlidXRpb25QdWJsaXNoZXJDbGFzcygp
IHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Ioc2V0Q3VycmVudEF0dHJpYnV0aW9uU3RyaW5n
V2l0aEZvcm1hdDphdWRpdFRva2VuOildKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL1N5c3RlbVN0YXR1c1NQSS5oIGIv
U291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL1N5c3RlbVN0YXR1c1NQSS5oCmluZGV4IDcw
ZTNiNWFiNGVhZTc2OGM0YjJhNzA3NTg3ODkxMTZkMGVkYzViYWUuLjEyYmU4ZTc1NjgxZGE1ZjQ3
YzgyMjk5ZDM5MmI3NWMyNjQ4ODQ3MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZv
cm0vc3BpL2lvcy9TeXN0ZW1TdGF0dXNTUEkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3Jt
L3NwaS9pb3MvU3lzdGVtU3RhdHVzU1BJLmgKQEAgLTIzLDYgKzIzLDcgQEAKICAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCisjaWYgSEFWRShTWVNURU1fU1RBVFVTKQog
I2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCiAKICNpbXBvcnQgPFN5c3RlbVN0YXR1cy9TVER5
bmFtaWNBY3Rpdml0eUF0dHJpYnV0aW9uUHVibGlzaGVyLmg+CkBAIC00MCwzICs0MSw0IEBAIE5T
X0FTU1VNRV9OT05OVUxMX0JFR0lOCiBOU19BU1NVTUVfTk9OTlVMTF9FTkQKIAogI2VuZGlmIC8v
IFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjZW5kaWYgLy8gSEFWRShTWVNURU1fU1RBVFVTKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433532</attachid>
            <date>2021-07-14 14:52:10 -0700</date>
            <delta_ts>2021-07-14 15:56:56 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-227871-20210714145209.patch</filename>
            <type>text/plain</type>
            <size>4651</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5OTIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDM0YjRkMjVhYjcyM2I4NzNmNzRjZGY3
YTM2NDVmMTdhMDAzMTlhYzcuLjQ4YmUwNjFmNDdhNGY0YWEzOTZjOWMyYjkzMWEzOWJmMzdiYmE5
ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsOSBAQAorMjAyMS0wNy0xNCAgSmVyIE5vYmxlICA8amVyLm5vYmxl
QGFwcGxlLmNvbT4KKworICAgICAgICBVbnJldmlld2VkIGJ1aWxkIGZpeCBhZnRlciByMjc5OTEy
ICgyMzk2NjFAbWFpbik7IEFkZCBhIEhBVkUoU1lTVEVNX1NUQVRVUykgbWFjcm8uCisKKyAgICAg
ICAgKiB3dGYvUGxhdGZvcm1IYXZlLmg6CisKIDIwMjEtMDctMTMgIEFsZXggQ2hyaXN0ZW5zZW4g
IDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBVcGRhdGUgYW5kIGZpeCBVUkwg
V1BUIHRlc3RzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCAzYzA2YWRkOGYxYzY1ZjM4Y2E0N2I0Zjhk
YzRlNWI5YmM2YjdjMTkzLi40YmQwZjhkMWVkOTYyYTQ3NjIwNmVlYTUyMzdjNWIyMWVmNDFiODdh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMCBAQAorMjAyMS0wNy0xNCAgSmVyIE5v
YmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KKworICAgICAgICBVbnJldmlld2VkIGJ1aWxkIGZp
eCBhZnRlciByMjc5OTEyICgyMzk2NjFAbWFpbik7IEFkb3B0IEhBVkUoU1lTVEVNX1NUQVRVUykg
bWFjcm8uCisKKyAgICAgICAgKiBwYWwvaW9zL1N5c3RlbVN0YXR1c1NvZnRMaW5rLmg6CisgICAg
ICAgICogcGFsL2lvcy9TeXN0ZW1TdGF0dXNTb2Z0TGluay5tbToKKwogMjAyMS0wNy0xNCAgRXJp
YyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBEeW5h
bWljYWxseSBzZXQgY2FwdHVyZSBhdHRyaWJ1dGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAwMDUzZjM5NDJiY2Yw
ZWUyOGQ3MjQ4ZTRkZjY0MWM3N2I5NWMxYTE3Li4zOWJkZGIxYzRmYzZiZTMzMjA1NzNhOTJlNTFi
NWMyN2Y3OWY4NzhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDExIEBACisyMDIxLTA3LTE0ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFVucmV2aWV3ZWQgYnVpbGQg
Zml4IGFmdGVyIHIyNzk5MTIgKDIzOTY2MUBtYWluKTsgQWRvcHQgSEFWRShTWVNURU1fU1RBVFVT
KSBtYWNyby4KKworICAgICAgICAqIEdQVVByb2Nlc3MvY29jb2EvR1BVQ29ubmVjdGlvblRvV2Vi
UHJvY2Vzc0NvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpHUFVDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzOjpzZXRDYXB0dXJlQXR0cmlidXRpb25TdHJpbmcpOgorICAgICAgICAqIFBsYXRmb3JtL3Nw
aS9pb3MvU3lzdGVtU3RhdHVzU1BJLmg6CisKIDIwMjEtMDctMTQgIERldmluIFJvdXNzbyAgPGRy
b3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIFJFR1JFU1NJT04ocjI3OTcyMCk6IGNo
YW5naW5nIFN1YnRpdGxlcyB0byBPZmYgZG9lc24ndCBoaWRlIHRoZW0gb3IgZG8gYW55dGhpbmcK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oIGIvU291cmNlL1dURi93
dGYvUGxhdGZvcm1IYXZlLmgKaW5kZXggMzFlNzY4ZTdlMGZmNjgxZGU4YmExYjIzZTM2OGYwNjFl
MDcyYTRmYS4uMWE1MTRhZjkxMzM0YWZlMWMxYzJmNWY5YWEwMGFjNzI4NTUwYTQ3YSAxMDA2NDQK
LS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1IYXZlLmgKKysrIGIvU291cmNlL1dURi93dGYv
UGxhdGZvcm1IYXZlLmgKQEAgLTExMDUsMyArMTEwNSw3IEBACiAgICAgfHwgKFBMQVRGT1JNKE1B
Q0NBVEFMWVNUKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01BWF9BTExPV0VEID49IDE0MDUwMCkp
CiAjZGVmaW5lIEhBVkVfQVZTQU1QTEVCVUZGRVJSRU5ERVJTWU5DSFJPTklaRVJfUkFURUFUSE9T
VFRJTUUgMQogI2VuZGlmCisKKyNpZiBQTEFURk9STShJT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEID49IDE1MDAwMAorI2RlZmluZSBIQVZFX1NZU1RFTV9TVEFUVVMgMQor
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2lvcy9TeXN0ZW1TdGF0
dXNTb2Z0TGluay5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9pb3MvU3lzdGVtU3RhdHVzU29m
dExpbmsuaAppbmRleCAxZDc2YTQ3ZDY4OTczMTAzYTNhZWFhNWU2ZDEzZWRlZmM5ZmU4OTE5Li4w
OWZmMGVjMzVmODVkM2MxOTgwMzY2OTA3YWE3NWQ1YThiODZjZWZhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL2lvcy9TeXN0ZW1TdGF0dXNTb2Z0TGluay5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1BBTC9wYWwvaW9zL1N5c3RlbVN0YXR1c1NvZnRMaW5rLmgKQEAgLTI1LDcgKzI1
LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKSAmJiAhUExB
VEZPUk0oTUFDQ0FUQUxZU1QpCisjaWYgSEFWRShTWVNURU1fU1RBVFVTKQogCiAjaW1wb3J0IDx3
dGYvU29mdExpbmtpbmcuaD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9p
b3MvU3lzdGVtU3RhdHVzU29mdExpbmsubW0gYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2lvcy9T
eXN0ZW1TdGF0dXNTb2Z0TGluay5tbQppbmRleCBkYTZmNDMzNWU0OTE0ODA5MjExNTVhYWJkOWRh
NWQ4OGFmYWZiZWU4Li44MWFjYzk1YWM4NTJmMzllNDdmYTBhOGYxNGNkZjMwZjJkOGM2NDc2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2lvcy9TeXN0ZW1TdGF0dXNTb2Z0TGlu
ay5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2lvcy9TeXN0ZW1TdGF0dXNTb2Z0TGlu
ay5tbQpAQCAtMjUsNyArMjUsNyBAQAogCiAjaW1wb3J0ICJjb25maWcuaCIKIAotI2lmIFBMQVRG
T1JNKElPU19GQU1JTFkpICYmICFQTEFURk9STShNQUNDQVRBTFlTVCkKKyNpZiBIQVZFKFNZU1RF
TV9TVEFUVVMpCiAKICNpbXBvcnQgPHd0Zi9Tb2Z0TGlua2luZy5oPgogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvY29jb2EvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzc0Nv
Y29hLm1tIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2NvY29hL0dQVUNvbm5lY3Rpb25Ub1dl
YlByb2Nlc3NDb2NvYS5tbQppbmRleCA0ODZiNDNmNTMyYTEyNzIxYTQ1ZDE0NGU5YzgzYzkyMzUw
MjVkYmVmLi5mMDhjMjlmMTNhNDFkODBlNDBmMjc4YjdjMDU2ZGUwY2I1NDA2ZTE0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvY29jb2EvR1BVQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzc0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9jb2NvYS9HUFVDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzQ29jb2EubW0KQEAgLTM5LDcgKzM5LDcgQEAgbmFtZXNwYWNlIFdl
YktpdCB7CiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKIGJvb2wgR1BVQ29ubmVjdGlvblRvV2Vi
UHJvY2Vzczo6c2V0Q2FwdHVyZUF0dHJpYnV0aW9uU3RyaW5nKCkKIHsKLSNpZiBQTEFURk9STShJ
T1MpCisjaWYgSEFWRShTWVNURU1fU1RBVFVTKQogICAgIGlmICghW1BBTDo6Z2V0U1REeW5hbWlj
QWN0aXZpdHlBdHRyaWJ1dGlvblB1Ymxpc2hlckNsYXNzKCkgcmVzcG9uZHNUb1NlbGVjdG9yOkBz
ZWxlY3RvcihzZXRDdXJyZW50QXR0cmlidXRpb25TdHJpbmdXaXRoRm9ybWF0OmF1ZGl0VG9rZW46
KV0pCiAgICAgICAgIHJldHVybiB0cnVlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1Bs
YXRmb3JtL3NwaS9pb3MvU3lzdGVtU3RhdHVzU1BJLmggYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3Jt
L3NwaS9pb3MvU3lzdGVtU3RhdHVzU1BJLmgKaW5kZXggNzBlM2I1YWI0ZWFlNzY4YzRiMmE3MDc1
ODc4OTExNmQwZWRjNWJhZS4uMTJiZThlNzU2ODFkYTVmNDdjODIyOTlkMzkyYjc1YzI2NDg4NDcz
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL1N5c3RlbVN0YXR1
c1NQSS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL2lvcy9TeXN0ZW1TdGF0dXNT
UEkuaApAQCAtMjMsNiArMjMsNyBAQAogICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgogICovCiAKKyNpZiBIQVZFKFNZU1RFTV9TVEFUVVMpCiAjaWYgVVNFKEFQUExFX0lOVEVSTkFM
X1NESykKIAogI2ltcG9ydCA8U3lzdGVtU3RhdHVzL1NURHluYW1pY0FjdGl2aXR5QXR0cmlidXRp
b25QdWJsaXNoZXIuaD4KQEAgLTQwLDMgKzQxLDQgQEAgTlNfQVNTVU1FX05PTk5VTExfQkVHSU4K
IE5TX0FTU1VNRV9OT05OVUxMX0VORAogCiAjZW5kaWYgLy8gVVNFKEFQUExFX0lOVEVSTkFMX1NE
SykKKyNlbmRpZiAvLyBIQVZFKFNZU1RFTV9TVEFUVVMpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>