<?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>223856</bug_id>
          
          <creation_ts>2021-03-28 16:06:51 -0700</creation_ts>
          <short_desc>Merge DOMWindow+IndexedDatabase.idl and WorkerGlobalScope+IndexedDatabase.idl into a single WindowOrWorkerGlobalScope+IndexedDatabase.idl to match the IndexedDB spec</short_desc>
          <delta_ts>2021-03-31 13:16: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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>alecflett</cc>
    
    <cc>annulen</cc>
    
    <cc>beidson</cc>
    
    <cc>cdumez</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hi</cc>
    
    <cc>joepeck</cc>
    
    <cc>jsbell</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>sihui_liu</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1744657</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-03-28 16:06:51 -0700</bug_when>
    <thetext>Merge DOMWindow+IndexedDatabase.idl and WorkerGlobalScope+IndexedDatabase.idl into a single WindowOrWorkerGlobalScope+IndexedDatabase.idl to match the IndexedDB spec</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1744673</commentid>
    <comment_count>1</comment_count>
      <attachid>424518</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-03-28 19:26:04 -0700</bug_when>
    <thetext>Created attachment 424518
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1744990</commentid>
    <comment_count>2</comment_count>
      <attachid>424518</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2021-03-29 17:17:46 -0700</bug_when>
    <thetext>Comment on attachment 424518
Patch

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

&gt; Source/WebCore/Modules/indexeddb/WindowOrWorkerGlobalScopeIndexedDatabase.cpp:33
&gt; +#include &quot;DatabaseProvider.h&quot;

Is this needed?

&gt; Source/WebCore/Modules/indexeddb/WindowOrWorkerGlobalScopeIndexedDatabase.cpp:37
&gt; +#include &quot;IDBOpenDBRequest.h&quot;

Is this needed?

&gt; Source/WebCore/Modules/indexeddb/WindowOrWorkerGlobalScopeIndexedDatabase.cpp:39
&gt; +#include &quot;ScriptExecutionContext.h&quot;

Is this needed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745146</commentid>
    <comment_count>3</comment_count>
      <attachid>424650</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-03-30 09:22:20 -0700</bug_when>
    <thetext>Created attachment 424650
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745147</commentid>
    <comment_count>4</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-03-30 09:22:46 -0700</bug_when>
    <thetext>(In reply to Sihui Liu from comment #2)
&gt; Comment on attachment 424518 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=424518&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/Modules/indexeddb/WindowOrWorkerGlobalScopeIndexedDatabase.cpp:33
&gt; &gt; +#include &quot;DatabaseProvider.h&quot;
&gt; 
&gt; Is this needed?
&gt; 
&gt; &gt; Source/WebCore/Modules/indexeddb/WindowOrWorkerGlobalScopeIndexedDatabase.cpp:37
&gt; &gt; +#include &quot;IDBOpenDBRequest.h&quot;
&gt; 
&gt; Is this needed?
&gt; 
&gt; &gt; Source/WebCore/Modules/indexeddb/WindowOrWorkerGlobalScopeIndexedDatabase.cpp:39
&gt; &gt; +#include &quot;ScriptExecutionContext.h&quot;
&gt; 
&gt; Is this needed?

Let&apos;s see!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745748</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-31 13:15:12 -0700</bug_when>
    <thetext>Committed r275303: &lt;https://commits.webkit.org/r275303&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 424650.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745749</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-03-31 13:16:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/76067393&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424518</attachid>
            <date>2021-03-28 19:26:04 -0700</date>
            <delta_ts>2021-03-30 09:22:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223856-20210328192603.patch</filename>
            <type>text/plain</type>
            <size>48787</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI3NTE1MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQyIEBACisyMDIxLTAzLTI4ICBTYW0gV2Vp
bmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBNZXJnZSBET01XaW5kb3crSW5kZXhl
ZERhdGFiYXNlLmlkbCBhbmQgV29ya2VyR2xvYmFsU2NvcGUrSW5kZXhlZERhdGFiYXNlLmlkbCBp
bnRvIGEgc2luZ2xlIFdpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUrSW5kZXhlZERhdGFiYXNlLmlk
bCB0byBtYXRjaCB0aGUgSW5kZXhlZERCIHNwZWMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMzg1NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFJlcGxhY2VzIERPTVdpbmRvdytJbmRleGVkRGF0YWJhc2Uu
aWRsIGFuZCBXb3JrZXJHbG9iYWxTY29wZStJbmRleGVkRGF0YWJhc2UuaWRsIHdpdGgKKyAgICAg
ICAgV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZStJbmRleGVkRGF0YWJhc2UuaWRsIHdoaWNoIGNv
bnRhaW5zIGEgcGFydGlhbCBtaXhpbiBpbnRlcmZhY2UKKyAgICAgICAgbGlrZSBzcGVjaWZpZWQu
IEFsc28gbW92ZXMgaW1wbGVtZW50YXRpb25zIG9mIHN1cHBsZW1lbnRzIGludG8gdGhlIGNwcCBm
aWxlLCBhcyB0aGUgb25seQorICAgICAgICB1c2Ugb2YgdGhlbSBpcyBieSB0aGUgdHdvIGluZGV4
ZWREQiBzdGF0aWMgZnVuY3Rpb25zLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAg
ICAgICogRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVk
U291cmNlcy1vdXRwdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtl
OgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0RPTVdpbmRvdytJbmRleGVkRGF0YWJhc2Uu
aWRsOiBSZW1vdmVkLgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0RPTVdpbmRvd0luZGV4
ZWREYXRhYmFzZS5jcHA6IFJlbW92ZWQuCisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvRE9N
V2luZG93SW5kZXhlZERhdGFiYXNlLmg6IFJlbW92ZWQuCisgICAgICAgICogTW9kdWxlcy9pbmRl
eGVkZGIvV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZStJbmRleGVkRGF0YWJhc2UuaWRsOiBBZGRl
ZC4KKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3Bl
SW5kZXhlZERhdGFiYXNlLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3dJ
bmRleGVkRGF0YWJhc2U6OnN1cHBsZW1lbnROYW1lKToKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtl
ckdsb2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlOjpzdXBwbGVtZW50TmFtZSk6CisgICAgICAgIChX
ZWJDb3JlOjpXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlOjppbmRleGVk
REIpOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93SW5kZXhlZERhdGFiYXNlOjpET01XaW5k
b3dJbmRleGVkRGF0YWJhc2UpOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93SW5kZXhlZERh
dGFiYXNlOjpmcm9tKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvd0luZGV4ZWREYXRhYmFz
ZTo6aW5kZXhlZERCKToKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlckdsb2JhbFNjb3BlSW5kZXhl
ZERhdGFiYXNlOjpXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZSk6CisgICAgICAgIChX
ZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZTo6ZnJvbSk6CisgICAgICAg
IChXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZTo6aW5kZXhlZERCKToK
KyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlSW5k
ZXhlZERhdGFiYXNlLmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL1dvcmtl
ckdsb2JhbFNjb3BlK0luZGV4ZWREYXRhYmFzZS5pZGw6IFJlbW92ZWQuCisgICAgICAgICogTW9k
dWxlcy9pbmRleGVkZGIvV29ya2VyR2xvYmFsU2NvcGVJbmRleGVkRGF0YWJhc2UuY3BwOiBSZW1v
dmVkLgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL1dvcmtlckdsb2JhbFNjb3BlSW5kZXhl
ZERhdGFiYXNlLmg6IFJlbW92ZWQuCisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICog
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pz
L0pTRE9NV2luZG93Q3VzdG9tLmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3Bl
Y3RvckluZGV4ZWREQkFnZW50LmNwcDoKKwogMjAyMS0wMy0yOCAgU2FtIFdlaW5pZyAgPHdlaW5p
Z0BhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFICYg
RU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUywgaXQgc2VlbXMgbGlrZSBpdCBpcyBv
biBmb3IgYWxsIHBvcnRzCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24gMjc1MTUx
KQorKysgU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTI5
MCw3ICsyOTAsNiBAQCBzZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIE1vZHVsZXMv
aGlnaGxpZ2h0L0hpZ2hsaWdodC5pZGwKICAgICBNb2R1bGVzL2hpZ2hsaWdodC9IaWdobGlnaHRS
ZWdpc3Rlci5pZGwKIAotICAgIE1vZHVsZXMvaW5kZXhlZGRiL0RPTVdpbmRvdytJbmRleGVkRGF0
YWJhc2UuaWRsCiAgICAgTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yLmlkbAogICAgIE1vZHVs
ZXMvaW5kZXhlZGRiL0lEQkN1cnNvckRpcmVjdGlvbi5pZGwKICAgICBNb2R1bGVzL2luZGV4ZWRk
Yi9JREJDdXJzb3JXaXRoVmFsdWUuaWRsCkBAIC0zMDQsNyArMzAzLDcgQEAgc2V0KFdlYkNvcmVf
Tk9OX1NWR19JRExfRklMRVMKICAgICBNb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5p
ZGwKICAgICBNb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbk1vZGUuaWRsCiAgICAgTW9k
dWxlcy9pbmRleGVkZGIvSURCVmVyc2lvbkNoYW5nZUV2ZW50LmlkbAotICAgIE1vZHVsZXMvaW5k
ZXhlZGRiL1dvcmtlckdsb2JhbFNjb3BlK0luZGV4ZWREYXRhYmFzZS5pZGwKKyAgICBNb2R1bGVz
L2luZGV4ZWRkYi9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlK0luZGV4ZWREYXRhYmFzZS5pZGwK
IAogICAgIE1vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvQXVkaW9Db25maWd1cmF0aW9uLmlkbAog
ICAgIE1vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvQ29sb3JHYW11dC5pZGwKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAkocmV2aXNpb24g
Mjc1MTUxKQorKysgU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlz
dAkod29ya2luZyBjb3B5KQpAQCAtMTM2LDcgKzEzNiw2IEBAICQoUFJPSkVDVF9ESVIpL01vZHVs
ZXMvZ2VvbG9jYXRpb24vUG9zaXQKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvZ2VvbG9jYXRpb24v
UG9zaXRpb25PcHRpb25zLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9oaWdobGlnaHQvSGln
aGxpZ2h0LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9oaWdobGlnaHQvSGlnaGxpZ2h0UmVn
aXN0ZXIuaWRsCi0kKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2luZGV4ZWRkYi9ET01XaW5kb3crSW5k
ZXhlZERhdGFiYXNlLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vy
c29yLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yRGlyZWN0
aW9uLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yV2l0aFZh
bHVlLmlkbApAQCAtMTUwLDcgKzE0OSw3IEBAICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvaW5kZXhl
ZGRiL0lEQlJlcXUKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0
aW9uLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb25N
b2RlLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9pbmRleGVkZGIvSURCVmVyc2lvbkNoYW5n
ZUV2ZW50LmlkbAotJChQUk9KRUNUX0RJUikvTW9kdWxlcy9pbmRleGVkZGIvV29ya2VyR2xvYmFs
U2NvcGUrSW5kZXhlZERhdGFiYXNlLmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9pbmRleGVk
ZGIvV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZStJbmRleGVkRGF0YWJhc2UuaWRsCiAkKFBST0pF
Q1RfRElSKS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL0F1ZGlvQ29uZmlndXJhdGlvbi5pZGwK
ICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvQ29sb3JHYW11dC5pZGwK
ICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvSGRyTWV0YWRhdGFUeXBl
LmlkbApJbmRleDogU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxp
c3QKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0Lnhj
ZmlsZWxpc3QJKHJldmlzaW9uIDI3NTE1MSkKKysrIFNvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLW91dHB1dC54Y2ZpbGVsaXN0CSh3b3JraW5nIGNvcHkpCkBAIC01NTYsOCArNTU2LDYgQEAg
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYgogJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01XaW5kb3crRGV2aWNlTW90aW9uLmgK
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NV2luZG93
K0RldmljZU9yaWVudGF0aW9uLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNET01XaW5kb3crRGV2aWNlT3JpZW50YXRpb24uaAotJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01XaW5kb3crSW5kZXhlZERhdGFi
YXNlLmNwcAotJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNE
T01XaW5kb3crSW5kZXhlZERhdGFiYXNlLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTRE9NV2luZG93K1JlcXVlc3RJZGxlQ2FsbGJhY2suY3BwCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVdpbmRvdytSZXF1
ZXN0SWRsZUNhbGxiYWNrLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTRE9NV2luZG93K1NlbGVjdGlvbi5jcHAKQEAgLTU3Miw4ICs1NzAsNiBAQCAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViCiAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVdpbmRvdy5oCiAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVdpbmRvd0NhY2hlcy5jcHAKICQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NV2luZG93Q2FjaGVz
LmgKLSQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NV2lu
ZG93SW5kZXhlZERhdGFiYXNlLmNwcAotJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNET01XaW5kb3dJbmRleGVkRGF0YWJhc2UuaAogJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01XaW5kb3dTcGVlY2hTeW50aGVzaXMu
Y3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVdp
bmRvd1NwZWVjaFN5bnRoZXNpcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0RPTVdpbmRvd1dlYkRhdGFiYXNlLmNwcApAQCAtMjU2MiwyNiArMjU1OCwy
MiBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dpbmRvd09yV29ya2VyR2xvYmFs
U2NvcGUrQ3J5cHRvLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZStGZXRjaC5jcHAKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2luZG93T3JXb3JrZXJHbG9iYWxTY29w
ZStGZXRjaC5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUrSW5kZXhlZERhdGFiYXNlLmNwcAorJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXaW5kb3dPcldvcmtlckdsb2Jh
bFNjb3BlK0luZGV4ZWREYXRhYmFzZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUrUGVyZm9ybWFuY2UuY3Bw
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dpbmRvd09y
V29ya2VyR2xvYmFsU2NvcGUrUGVyZm9ybWFuY2UuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlLmNwcAogJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXaW5kb3dPcldvcmtl
ckdsb2JhbFNjb3BlLmgKLSQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZUZldGNoLmNwcAotJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXaW5kb3dPcldvcmtlckdsb2JhbFNjb3Bl
RmV0Y2guaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNX
aW5kb3dTZXNzaW9uU3RvcmFnZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTV2luZG93U2Vzc2lvblN0b3JhZ2UuaAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXb3JrZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dvcmtlci5oCiAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dvcmtlckdsb2JhbFNjb3BlK0NhY2hlcy5j
cHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV29ya2Vy
R2xvYmFsU2NvcGUrQ2FjaGVzLmgKLSQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTV29ya2VyR2xvYmFsU2NvcGUrSW5kZXhlZERhdGFiYXNlLmNwcAotJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXb3JrZXJHbG9iYWxTY29w
ZStJbmRleGVkRGF0YWJhc2UuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNXb3JrZXJHbG9iYWxTY29wZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV29ya2VyR2xvYmFsU2NvcGUuaAogJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXb3JrZXJHbG9iYWxTY29wZUNhY2hl
cy5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV29y
a2VyR2xvYmFsU2NvcGVDYWNoZXMuaAotJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZS5jcHAKLSQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV29ya2VyR2xvYmFsU2Nv
cGVJbmRleGVkRGF0YWJhc2UuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNXb3JrZXJMb2NhdGlvbi5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTV29ya2VyTG9jYXRpb24uaAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXb3JrZXJOYXZpZ2F0b3IrR1BVLmNwcApJbmRl
eDogU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCShyZXZpc2lvbiAyNzUxNTEpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCSh3b3JraW5nIGNvcHkpCkBAIC0xNjIsNyAr
MTYyLDYgQEAgSlNfQklORElOR19JRExTIDo9IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvZ2Vv
bG9jYXRpb24vUG9zaXRpb25PcHRpb25zLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2hp
Z2hsaWdodC9IaWdobGlnaHRSZWdpc3Rlci5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9o
aWdobGlnaHQvSGlnaGxpZ2h0LmlkbCBcCi0gICAgJChXZWJDb3JlKS9Nb2R1bGVzL2luZGV4ZWRk
Yi9ET01XaW5kb3crSW5kZXhlZERhdGFiYXNlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L2luZGV4ZWRkYi9JREJDdXJzb3IuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvaW5kZXhl
ZGRiL0lEQkN1cnNvckRpcmVjdGlvbi5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9pbmRl
eGVkZGIvSURCQ3Vyc29yV2l0aFZhbHVlLmlkbCBcCkBAIC0xNzYsNyArMTc1LDcgQEAgSlNfQklO
RElOR19JRExTIDo9IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5z
YWN0aW9uLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2Fj
dGlvbk1vZGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvaW5kZXhlZGRiL0lEQlZlcnNp
b25DaGFuZ2VFdmVudC5pZGwgXAotICAgICQoV2ViQ29yZSkvTW9kdWxlcy9pbmRleGVkZGIvV29y
a2VyR2xvYmFsU2NvcGUrSW5kZXhlZERhdGFiYXNlLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1
bGVzL2luZGV4ZWRkYi9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlK0luZGV4ZWREYXRhYmFzZS5p
ZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9BdWRpb0NvbmZp
Z3VyYXRpb24uaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMv
Q29sb3JHYW11dC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGll
cy9IZHJNZXRhZGF0YVR5cGUuaWRsIFwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CShyZXZpc2lvbiAyNzUx
NTEpCisrKyBTb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNjgs
NyArNjgsNiBAQCBNb2R1bGVzL2hpZ2hsaWdodC9BcHBIaWdobGlnaHRSYW5nZURhdGEuCiBNb2R1
bGVzL2hpZ2hsaWdodC9BcHBIaWdobGlnaHRTdG9yYWdlLmNwcAogTW9kdWxlcy9oaWdobGlnaHQv
SGlnaGxpZ2h0UmVnaXN0ZXIuY3BwCiBNb2R1bGVzL2hpZ2hsaWdodC9IaWdobGlnaHQuY3BwCi1N
b2R1bGVzL2luZGV4ZWRkYi9ET01XaW5kb3dJbmRleGVkRGF0YWJhc2UuY3BwCiBNb2R1bGVzL2lu
ZGV4ZWRkYi9JREJDdXJzb3IuY3BwCiBNb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3JXaXRoVmFs
dWUuY3BwCiBNb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZS5jcHAKQEAgLTkwLDcgKzg5LDcg
QEAgTW9kdWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdENvbXBsZXRpb25FdgogTW9kdWxlcy9pbmRl
eGVkZGIvSURCVHJhbnNhY3Rpb24uY3BwCiBNb2R1bGVzL2luZGV4ZWRkYi9JREJWYWx1ZS5jcHAK
IE1vZHVsZXMvaW5kZXhlZGRiL0lEQlZlcnNpb25DaGFuZ2VFdmVudC5jcHAKLU1vZHVsZXMvaW5k
ZXhlZGRiL1dvcmtlckdsb2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlLmNwcAorTW9kdWxlcy9pbmRl
eGVkZGIvV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZS5jcHAKIE1vZHVs
ZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9uUHJveHkuY3BwCiBNb2R1bGVzL2luZGV4
ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblRvU2VydmVyLmNwcAogTW9kdWxlcy9pbmRleGVkZGIv
Y2xpZW50L1RyYW5zYWN0aW9uT3BlcmF0aW9uLmNwcApJbmRleDogU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvRE9NV2luZG93K0luZGV4ZWREYXRhYmFzZS5pZGwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvRE9NV2luZG93K0luZGV4ZWREYXRh
YmFzZS5pZGwJKHJldmlzaW9uIDI3NTE1MSkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL0RPTVdpbmRvdytJbmRleGVkRGF0YWJhc2UuaWRsCShub25leGlzdGVudCkKQEAgLTEs
MzUgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAq
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCi0gKi8KLQotLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL0luZGV4ZWREQi8jZmFj
dG9yeS1pbnRlcmZhY2UKLS8vIEZJWE1FOiBUaGlzIHNob3VsZCBiZSBtZXJnZWQgd2l0aCBXb3Jr
ZXJHbG9iYWxTY29wZStJbmRleGVkRGF0YWJhc2UuaWRsIGludG8gYSBuZXcgV2luZG93T3JXb3Jr
ZXJHbG9iYWxTY29wZStJbmRleGVkRGF0YWJhc2UuaWRsIHRvIG1hdGNoIHRoZSBzcGVjLgotWwot
ICAgIEltcGxlbWVudGVkQnk9RE9NV2luZG93SW5kZXhlZERhdGFiYXNlCi1dIHBhcnRpYWwgaW50
ZXJmYWNlIERPTVdpbmRvdyB7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIElEQkZhY3RvcnkgaW5k
ZXhlZERCOwotICAgIFtJbXBsZW1lbnRlZEFzPWluZGV4ZWREQl0gcmVhZG9ubHkgYXR0cmlidXRl
IElEQkZhY3Rvcnkgd2Via2l0SW5kZXhlZERCOwotfTsKLQpJbmRleDogU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvRE9NV2luZG93SW5kZXhlZERhdGFiYXNlLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9ET01XaW5kb3dJbmRleGVkRGF0
YWJhc2UuY3BwCShyZXZpc2lvbiAyNzUxNTEpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9ET01XaW5kb3dJbmRleGVkRGF0YWJhc2UuY3BwCShub25leGlzdGVudCkKQEAgLTEs
OTMgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSwgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0Ogot
ICoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEdPT0dMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKLSAqIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKLSAqIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFCi0g
KiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTAotICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IKLSAqIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSCi0gKiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QKLSAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKLSAqIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSAotICogREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRl
ICJET01XaW5kb3dJbmRleGVkRGF0YWJhc2UuaCIKLQotI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgot
I2luY2x1ZGUgIkRhdGFiYXNlUHJvdmlkZXIuaCIKLSNpbmNsdWRlICJEb2N1bWVudC5oIgotI2lu
Y2x1ZGUgIklEQkZhY3RvcnkuaCIKLSNpbmNsdWRlICJQYWdlLmgiCi0KLW5hbWVzcGFjZSBXZWJD
b3JlIHsKLQotRE9NV2luZG93SW5kZXhlZERhdGFiYXNlOjpET01XaW5kb3dJbmRleGVkRGF0YWJh
c2UoRE9NV2luZG93KiB3aW5kb3cpCi0gICAgOiBET01XaW5kb3dQcm9wZXJ0eSh3aW5kb3cpCi17
Ci19Ci0KLURPTVdpbmRvd0luZGV4ZWREYXRhYmFzZTo6fkRPTVdpbmRvd0luZGV4ZWREYXRhYmFz
ZSgpID0gZGVmYXVsdDsKLQotY29uc3QgY2hhciogRE9NV2luZG93SW5kZXhlZERhdGFiYXNlOjpz
dXBwbGVtZW50TmFtZSgpCi17Ci0gICAgcmV0dXJuICJET01XaW5kb3dJbmRleGVkRGF0YWJhc2Ui
OwotfQotCi1ET01XaW5kb3dJbmRleGVkRGF0YWJhc2UqIERPTVdpbmRvd0luZGV4ZWREYXRhYmFz
ZTo6ZnJvbShET01XaW5kb3cqIHdpbmRvdykKLXsKLSAgICBET01XaW5kb3dJbmRleGVkRGF0YWJh
c2UqIHN1cHBsZW1lbnQgPSBzdGF0aWNfY2FzdDxET01XaW5kb3dJbmRleGVkRGF0YWJhc2UqPihT
dXBwbGVtZW50PERPTVdpbmRvdz46OmZyb20od2luZG93LCBzdXBwbGVtZW50TmFtZSgpKSk7Ci0g
ICAgaWYgKCFzdXBwbGVtZW50KSB7Ci0gICAgICAgIGF1dG8gbmV3U3VwcGxlbWVudCA9IG1ha2VV
bmlxdWU8RE9NV2luZG93SW5kZXhlZERhdGFiYXNlPih3aW5kb3cpOwotICAgICAgICBzdXBwbGVt
ZW50ID0gbmV3U3VwcGxlbWVudC5nZXQoKTsKLSAgICAgICAgcHJvdmlkZVRvKHdpbmRvdywgc3Vw
cGxlbWVudE5hbWUoKSwgV1RGTW92ZShuZXdTdXBwbGVtZW50KSk7Ci0gICAgfQotICAgIHJldHVy
biBzdXBwbGVtZW50OwotfQotCi1JREJGYWN0b3J5KiBET01XaW5kb3dJbmRleGVkRGF0YWJhc2U6
OmluZGV4ZWREQihET01XaW5kb3cmIHdpbmRvdykKLXsKLSAgICByZXR1cm4gZnJvbSgmd2luZG93
KS0+aW5kZXhlZERCKCk7Ci19Ci0KLUlEQkZhY3RvcnkqIERPTVdpbmRvd0luZGV4ZWREYXRhYmFz
ZTo6aW5kZXhlZERCKCkKLXsKLSAgICBhdXRvKiB3aW5kb3cgPSB0aGlzLT53aW5kb3coKTsKLSAg
ICBpZiAoIXdpbmRvdykKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0KLSAgICBhdXRvKiBkb2N1
bWVudCA9IHdpbmRvdy0+ZG9jdW1lbnQoKTsKLSAgICBpZiAoIWRvY3VtZW50KQotICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKLQotICAgIGF1dG8qIHBhZ2UgPSBkb2N1bWVudC0+cGFnZSgpOwotICAg
IGlmICghcGFnZSkKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0KLSAgICBpZiAoIXdpbmRvdy0+
aXNDdXJyZW50bHlEaXNwbGF5ZWRJbkZyYW1lKCkpCi0gICAgICAgIHJldHVybiBudWxscHRyOwot
Ci0gICAgaWYgKCFtX2lkYkZhY3RvcnkpIHsKLSAgICAgICAgYXV0byogY29ubmVjdGlvblByb3h5
ID0gZG9jdW1lbnQtPmlkYkNvbm5lY3Rpb25Qcm94eSgpOwotICAgICAgICBpZiAoIWNvbm5lY3Rp
b25Qcm94eSkKLSAgICAgICAgICAgIHJldHVybiBudWxscHRyOwotCi0gICAgICAgIG1faWRiRmFj
dG9yeSA9IElEQkZhY3Rvcnk6OmNyZWF0ZSgqY29ubmVjdGlvblByb3h5KTsKLSAgICB9Ci0KLSAg
ICByZXR1cm4gbV9pZGJGYWN0b3J5LmdldCgpOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9ET01XaW5kb3dJbmRleGVk
RGF0YWJhc2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9ET01XaW5kb3dJbmRleGVkRGF0YWJhc2UuaAkocmV2aXNpb24gMjc1MTUxKQorKysgU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvRE9NV2luZG93SW5kZXhlZERhdGFiYXNlLmgJKG5v
bmV4aXN0ZW50KQpAQCAtMSw1MyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDExLCBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6Ci0gKgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgR09PR0xFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnIEFORAotICogQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQotICogQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUKLSAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCi0gKiBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UgotICogU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKLSAqIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAotICogTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WQotICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNICi0gKiBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNl
Ci0KLSNpbmNsdWRlICJET01XaW5kb3dQcm9wZXJ0eS5oIgotI2luY2x1ZGUgIlN1cHBsZW1lbnRh
YmxlLmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgSURCRmFjdG9yeTsKLWNsYXNz
IERPTVdpbmRvdzsKLQotY2xhc3MgRE9NV2luZG93SW5kZXhlZERhdGFiYXNlIDogcHVibGljIERP
TVdpbmRvd1Byb3BlcnR5LCBwdWJsaWMgU3VwcGxlbWVudDxET01XaW5kb3c+IHsKLSAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKLXB1YmxpYzoKLSAgICBleHBsaWNpdCBET01XaW5kb3dJbmRl
eGVkRGF0YWJhc2UoRE9NV2luZG93Kik7Ci0gICAgdmlydHVhbCB+RE9NV2luZG93SW5kZXhlZERh
dGFiYXNlKCk7Ci0KLSAgICBzdGF0aWMgRE9NV2luZG93SW5kZXhlZERhdGFiYXNlKiBmcm9tKERP
TVdpbmRvdyopOwotCi0gICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIElEQkZhY3RvcnkqIGluZGV4
ZWREQihET01XaW5kb3cmKTsKLQotcHJpdmF0ZToKLSAgICBJREJGYWN0b3J5KiBpbmRleGVkREIo
KTsKLSAgICBzdGF0aWMgY29uc3QgY2hhciogc3VwcGxlbWVudE5hbWUoKTsKLQotICAgIFJlZlB0
cjxJREJGYWN0b3J5PiBtX2lkYkZhY3Rvcnk7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9XaW5kb3dPcldvcmtlckds
b2JhbFNjb3BlK0luZGV4ZWREYXRhYmFzZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZStJbmRleGVkRGF0
YWJhc2UuaWRsCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUrSW5kZXhlZERhdGFiYXNlLmlkbAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDM1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA4LTIwMjEg
QXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gCisgKgorICovCisKKy8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9JbmRleGVk
REIvI2ZhY3RvcnktaW50ZXJmYWNlCitbCisgICAgSW1wbGVtZW50ZWRCeT1XaW5kb3dPcldvcmtl
ckdsb2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlCitdIHBhcnRpYWwgaW50ZXJmYWNlIG1peGluIFdp
bmRvd09yV29ya2VyR2xvYmFsU2NvcGUgeworICAgIFtTYW1lT2JqZWN0XSByZWFkb25seSBhdHRy
aWJ1dGUgSURCRmFjdG9yeSBpbmRleGVkREI7CisgICAgCisgICAgLy8gTm9uLXN0YW5kYXJkLgor
ICAgIFtFeHBvc2VkPVdpbmRvdywgSW1wbGVtZW50ZWRBcz1pbmRleGVkREJdIHJlYWRvbmx5IGF0
dHJpYnV0ZSBJREJGYWN0b3J5IHdlYmtpdEluZGV4ZWREQjsKK307CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlSW5kZXhlZERh
dGFiYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlLmNwcAkobm9uZXhpc3Rl
bnQpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9XaW5kb3dPcldvcmtlckds
b2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE2
MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOC0yMDIxIEFwcGxlIEluYy4gQWxsIFJpZ2h0
cyBSZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOSwgMjAxMSBHb29nbGUgSW5jLiBBbGwg
UmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisg
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisg
KgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXaW5kb3dPcldvcmtlckds
b2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlLmgiCisKKyNpbmNsdWRlICJET01XaW5kb3cuaCIKKyNp
bmNsdWRlICJET01XaW5kb3dQcm9wZXJ0eS5oIgorI2luY2x1ZGUgIkRhdGFiYXNlUHJvdmlkZXIu
aCIKKyNpbmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIklEQkNvbm5lY3Rpb25Qcm94eS5o
IgorI2luY2x1ZGUgIklEQkZhY3RvcnkuaCIKKyNpbmNsdWRlICJJREJPcGVuREJSZXF1ZXN0Lmgi
CisjaW5jbHVkZSAiUGFnZS5oIgorI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIK
KyNpbmNsdWRlICJTdXBwbGVtZW50YWJsZS5oIgorI2luY2x1ZGUgIldvcmtlckdsb2JhbFNjb3Bl
LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRE9NV2luZG93SW5kZXhlZERhdGFi
YXNlIDogcHVibGljIERPTVdpbmRvd1Byb3BlcnR5LCBwdWJsaWMgU3VwcGxlbWVudDxET01XaW5k
b3c+IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBleHBsaWNp
dCBET01XaW5kb3dJbmRleGVkRGF0YWJhc2UoRE9NV2luZG93Jik7CisgICAgdmlydHVhbCB+RE9N
V2luZG93SW5kZXhlZERhdGFiYXNlKCkgPSBkZWZhdWx0OworCisgICAgc3RhdGljIERPTVdpbmRv
d0luZGV4ZWREYXRhYmFzZSogZnJvbShET01XaW5kb3cmKTsKKyAgICBJREJGYWN0b3J5KiBpbmRl
eGVkREIoKTsKKworcHJpdmF0ZToKKyAgICBzdGF0aWMgY29uc3QgY2hhciogc3VwcGxlbWVudE5h
bWUoKSB7IHJldHVybiAiRE9NV2luZG93SW5kZXhlZERhdGFiYXNlIjsgfQorCisgICAgUmVmUHRy
PElEQkZhY3Rvcnk+IG1faWRiRmFjdG9yeTsKK307CisKK2NsYXNzIFdvcmtlckdsb2JhbFNjb3Bl
SW5kZXhlZERhdGFiYXNlIDogcHVibGljIFN1cHBsZW1lbnQ8V29ya2VyR2xvYmFsU2NvcGU+IHsK
KyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBleHBsaWNpdCBXb3Jr
ZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZShJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94
eSYpOworICAgIHZpcnR1YWwgfldvcmtlckdsb2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlKCkgPSBk
ZWZhdWx0OworCisgICAgc3RhdGljIFdvcmtlckdsb2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlKiBm
cm9tKFdvcmtlckdsb2JhbFNjb3BlJik7CisgICAgSURCRmFjdG9yeSogaW5kZXhlZERCKCk7CisK
K3ByaXZhdGU6CisgICAgc3RhdGljIGNvbnN0IGNoYXIqIHN1cHBsZW1lbnROYW1lKCkgeyByZXR1
cm4gIldvcmtlckdsb2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlIjsgfQorCisgICAgUmVmUHRyPElE
QkZhY3Rvcnk+IG1faWRiRmFjdG9yeTsKKyAgICBSZWY8SURCQ2xpZW50OjpJREJDb25uZWN0aW9u
UHJveHk+IG1fY29ubmVjdGlvblByb3h5OworfTsKKworLy8gRE9NV2luZG93SW5kZXhlZERhdGFi
YXNlIHN1cHBsZW1lbnQuCisKK0RPTVdpbmRvd0luZGV4ZWREYXRhYmFzZTo6RE9NV2luZG93SW5k
ZXhlZERhdGFiYXNlKERPTVdpbmRvdyYgd2luZG93KQorICAgIDogRE9NV2luZG93UHJvcGVydHko
JndpbmRvdykKK3sKK30KKworRE9NV2luZG93SW5kZXhlZERhdGFiYXNlKiBET01XaW5kb3dJbmRl
eGVkRGF0YWJhc2U6OmZyb20oRE9NV2luZG93JiB3aW5kb3cpCit7CisgICAgYXV0byogc3VwcGxl
bWVudCA9IHN0YXRpY19jYXN0PERPTVdpbmRvd0luZGV4ZWREYXRhYmFzZSo+KFN1cHBsZW1lbnQ8
RE9NV2luZG93Pjo6ZnJvbSgmd2luZG93LCBzdXBwbGVtZW50TmFtZSgpKSk7CisgICAgaWYgKCFz
dXBwbGVtZW50KSB7CisgICAgICAgIGF1dG8gbmV3U3VwcGxlbWVudCA9IG1ha2VVbmlxdWU8RE9N
V2luZG93SW5kZXhlZERhdGFiYXNlPih3aW5kb3cpOworICAgICAgICBzdXBwbGVtZW50ID0gbmV3
U3VwcGxlbWVudC5nZXQoKTsKKyAgICAgICAgcHJvdmlkZVRvKCZ3aW5kb3csIHN1cHBsZW1lbnRO
YW1lKCksIFdURk1vdmUobmV3U3VwcGxlbWVudCkpOworICAgIH0KKyAgICByZXR1cm4gc3VwcGxl
bWVudDsKK30KKworSURCRmFjdG9yeSogRE9NV2luZG93SW5kZXhlZERhdGFiYXNlOjppbmRleGVk
REIoKQoreworICAgIGF1dG8qIHdpbmRvdyA9IHRoaXMtPndpbmRvdygpOworICAgIGlmICghd2lu
ZG93KQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIGF1dG8qIGRvY3VtZW50ID0gd2lu
ZG93LT5kb2N1bWVudCgpOworICAgIGlmICghZG9jdW1lbnQpCisgICAgICAgIHJldHVybiBudWxs
cHRyOworCisgICAgYXV0byogcGFnZSA9IGRvY3VtZW50LT5wYWdlKCk7CisgICAgaWYgKCFwYWdl
KQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIGlmICghd2luZG93LT5pc0N1cnJlbnRs
eURpc3BsYXllZEluRnJhbWUoKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICBpZiAo
IW1faWRiRmFjdG9yeSkgeworICAgICAgICBhdXRvKiBjb25uZWN0aW9uUHJveHkgPSBkb2N1bWVu
dC0+aWRiQ29ubmVjdGlvblByb3h5KCk7CisgICAgICAgIGlmICghY29ubmVjdGlvblByb3h5KQor
ICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICAgICAgbV9pZGJGYWN0b3J5ID0gSURC
RmFjdG9yeTo6Y3JlYXRlKCpjb25uZWN0aW9uUHJveHkpOworICAgIH0KKworICAgIHJldHVybiBt
X2lkYkZhY3RvcnkuZ2V0KCk7Cit9CisKKy8vIFdvcmtlckdsb2JhbFNjb3BlIHN1cHBsZW1lbnQu
CisKK1dvcmtlckdsb2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlOjpXb3JrZXJHbG9iYWxTY29wZUlu
ZGV4ZWREYXRhYmFzZShJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSYgY29ubmVjdGlvblBy
b3h5KQorICAgIDogbV9jb25uZWN0aW9uUHJveHkoY29ubmVjdGlvblByb3h5KQoreworfQorCitX
b3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZSogV29ya2VyR2xvYmFsU2NvcGVJbmRleGVk
RGF0YWJhc2U6OmZyb20oV29ya2VyR2xvYmFsU2NvcGUmIHNjb3BlKQoreworICAgIGF1dG8qIHN1
cHBsZW1lbnQgPSBzdGF0aWNfY2FzdDxXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZSo+
KFN1cHBsZW1lbnQ8V29ya2VyR2xvYmFsU2NvcGU+Ojpmcm9tKCZzY29wZSwgc3VwcGxlbWVudE5h
bWUoKSkpOworICAgIGlmICghc3VwcGxlbWVudCkgeworICAgICAgICBhdXRvKiBjb25uZWN0aW9u
UHJveHkgPSBzY29wZS5pZGJDb25uZWN0aW9uUHJveHkoKTsKKyAgICAgICAgaWYgKCFjb25uZWN0
aW9uUHJveHkpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgICAgICBhdXRvIG5l
d1N1cHBsZW1lbnQgPSBtYWtlVW5pcXVlPFdvcmtlckdsb2JhbFNjb3BlSW5kZXhlZERhdGFiYXNl
PigqY29ubmVjdGlvblByb3h5KTsKKyAgICAgICAgc3VwcGxlbWVudCA9IG5ld1N1cHBsZW1lbnQu
Z2V0KCk7CisgICAgICAgIHByb3ZpZGVUbygmc2NvcGUsIHN1cHBsZW1lbnROYW1lKCksIFdURk1v
dmUobmV3U3VwcGxlbWVudCkpOworICAgIH0KKyAgICByZXR1cm4gc3VwcGxlbWVudDsKK30KKwor
SURCRmFjdG9yeSogV29ya2VyR2xvYmFsU2NvcGVJbmRleGVkRGF0YWJhc2U6OmluZGV4ZWREQigp
Cit7CisgICAgaWYgKCFtX2lkYkZhY3RvcnkpCisgICAgICAgIG1faWRiRmFjdG9yeSA9IElEQkZh
Y3Rvcnk6OmNyZWF0ZShtX2Nvbm5lY3Rpb25Qcm94eS5nZXQoKSk7CisgICAgcmV0dXJuIG1faWRi
RmFjdG9yeS5nZXQoKTsKK30KKworCitJREJGYWN0b3J5KiBXaW5kb3dPcldvcmtlckdsb2JhbFNj
b3BlSW5kZXhlZERhdGFiYXNlOjppbmRleGVkREIoV29ya2VyR2xvYmFsU2NvcGUmIHNjb3BlKQor
eworICAgIGF1dG8qIHNjb3BlSURCID0gV29ya2VyR2xvYmFsU2NvcGVJbmRleGVkRGF0YWJhc2U6
OmZyb20oc2NvcGUpOworICAgIHJldHVybiBzY29wZUlEQiA/IHNjb3BlSURCLT5pbmRleGVkREIo
KSA6IG51bGxwdHI7Cit9CisKK0lEQkZhY3RvcnkqIFdpbmRvd09yV29ya2VyR2xvYmFsU2NvcGVJ
bmRleGVkRGF0YWJhc2U6OmluZGV4ZWREQihET01XaW5kb3cmIHdpbmRvdykKK3sKKyAgICByZXR1
cm4gRE9NV2luZG93SW5kZXhlZERhdGFiYXNlOjpmcm9tKHdpbmRvdyktPmluZGV4ZWREQigpOwor
fQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvV2luZG93T3JXb3Jr
ZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZS5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGVJbmRleGVk
RGF0YWJhc2UuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQxIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDA4LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElT
JycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqCisgKi8KKworI3ByYWdtYSBvbmNlCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRE9NV2luZG93OworY2xhc3MgSURCRmFjdG9y
eTsKK2NsYXNzIFdvcmtlckdsb2JhbFNjb3BlOworCitjbGFzcyBXaW5kb3dPcldvcmtlckdsb2Jh
bFNjb3BlSW5kZXhlZERhdGFiYXNlIHsKK3B1YmxpYzoKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0
aWMgSURCRmFjdG9yeSogaW5kZXhlZERCKERPTVdpbmRvdyYpOworICAgIFdFQkNPUkVfRVhQT1JU
IHN0YXRpYyBJREJGYWN0b3J5KiBpbmRleGVkREIoV29ya2VyR2xvYmFsU2NvcGUmKTsKK307CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL1dvcmtlckdsb2JhbFNjb3BlK0luZGV4ZWREYXRhYmFzZS5pZGwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvV29ya2VyR2xvYmFsU2NvcGUrSW5k
ZXhlZERhdGFiYXNlLmlkbAkocmV2aXNpb24gMjc1MTUxKQorKysgU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvV29ya2VyR2xvYmFsU2NvcGUrSW5kZXhlZERhdGFiYXNlLmlkbAkobm9u
ZXhpc3RlbnQpCkBAIC0xLDMzICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDgsIDIw
MTYgQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQot
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCi0gKgotICovCi0KLS8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9JbmRl
eGVkREIvI2ZhY3RvcnktaW50ZXJmYWNlCi0vLyBGSVhNRTogVGhpcyBzaG91bGQgYmUgbWVyZ2Vk
IHdpdGggRE9NV2luZG93K0luZGV4ZWREYXRhYmFzZS5pZGwgaW50byBhIG5ldyBXaW5kb3dPcldv
cmtlckdsb2JhbFNjb3BlK0luZGV4ZWREYXRhYmFzZS5pZGwgdG8gbWF0Y2ggdGhlIHNwZWMuCi1b
Ci0gICAgSW1wbGVtZW50ZWRCeT1Xb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZQotXSBw
YXJ0aWFsIGludGVyZmFjZSBXb3JrZXJHbG9iYWxTY29wZSB7Ci0gICAgW1NhbWVPYmplY3RdIHJl
YWRvbmx5IGF0dHJpYnV0ZSBJREJGYWN0b3J5IGluZGV4ZWREQjsKLX07CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9Xb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFz
ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvV29y
a2VyR2xvYmFsU2NvcGVJbmRleGVkRGF0YWJhc2UuY3BwCShyZXZpc2lvbiAyNzUxNTEpCisrKyBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9Xb3JrZXJHbG9iYWxTY29wZUluZGV4ZWRE
YXRhYmFzZS5jcHAJKG5vbmV4aXN0ZW50KQpAQCAtMSw4MCArMCwwIEBACi0vKgotICogQ29weXJp
Z2h0IChDKSAyMDA4IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSAqIENvcHlyaWdo
dCAoQykgMjAwOSwgMjAxMSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICoKLSAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElT
JycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKgotICovCi0KLSNpbmNsdWRlICJjb25m
aWcuaCIKLSNpbmNsdWRlICJXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZS5oIgotCi0j
aW5jbHVkZSAiSURCQ29ubmVjdGlvblByb3h5LmgiCi0jaW5jbHVkZSAiSURCRmFjdG9yeS5oIgot
I2luY2x1ZGUgIklEQk9wZW5EQlJlcXVlc3QuaCIKLSNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25D
b250ZXh0LmgiCi0jaW5jbHVkZSAiV29ya2VyR2xvYmFsU2NvcGUuaCIKLQotbmFtZXNwYWNlIFdl
YkNvcmUgewotCi1Xb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZTo6V29ya2VyR2xvYmFs
U2NvcGVJbmRleGVkRGF0YWJhc2UoV29ya2VyR2xvYmFsU2NvcGUmLCBJREJDbGllbnQ6OklEQkNv
bm5lY3Rpb25Qcm94eSYgY29ubmVjdGlvblByb3h5KQotICAgIDogbV9jb25uZWN0aW9uUHJveHko
Y29ubmVjdGlvblByb3h5KQotewotfQotCi1Xb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFz
ZTo6fldvcmtlckdsb2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlKCkgPSBkZWZhdWx0OwotCi1jb25z
dCBjaGFyKiBXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZTo6c3VwcGxlbWVudE5hbWUo
KQotewotICAgIHJldHVybiAiV29ya2VyR2xvYmFsU2NvcGVJbmRleGVkRGF0YWJhc2UiOwotfQot
Ci1Xb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZSogV29ya2VyR2xvYmFsU2NvcGVJbmRl
eGVkRGF0YWJhc2U6OmZyb20oV29ya2VyR2xvYmFsU2NvcGUmIHNjb3BlKQotewotICAgIFdvcmtl
ckdsb2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlKiBzdXBwbGVtZW50ID0gc3RhdGljX2Nhc3Q8V29y
a2VyR2xvYmFsU2NvcGVJbmRleGVkRGF0YWJhc2UqPihTdXBwbGVtZW50PFdvcmtlckdsb2JhbFNj
b3BlPjo6ZnJvbSgmc2NvcGUsIHN1cHBsZW1lbnROYW1lKCkpKTsKLSAgICBpZiAoIXN1cHBsZW1l
bnQpIHsKLSAgICAgICAgYXV0byogY29ubmVjdGlvblByb3h5ID0gc2NvcGUuaWRiQ29ubmVjdGlv
blByb3h5KCk7Ci0gICAgICAgIGlmICghY29ubmVjdGlvblByb3h5KQotICAgICAgICAgICAgcmV0
dXJuIG51bGxwdHI7Ci0KLSAgICAgICAgYXV0byBuZXdTdXBwbGVtZW50ID0gbWFrZVVuaXF1ZTxX
b3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZT4oc2NvcGUsICpjb25uZWN0aW9uUHJveHkp
OwotICAgICAgICBzdXBwbGVtZW50ID0gbmV3U3VwcGxlbWVudC5nZXQoKTsKLSAgICAgICAgcHJv
dmlkZVRvKCZzY29wZSwgc3VwcGxlbWVudE5hbWUoKSwgV1RGTW92ZShuZXdTdXBwbGVtZW50KSk7
Ci0gICAgfQotICAgIHJldHVybiBzdXBwbGVtZW50OwotfQotCi1JREJGYWN0b3J5KiBXb3JrZXJH
bG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZTo6aW5kZXhlZERCKFdvcmtlckdsb2JhbFNjb3BlJiBz
Y29wZSkKLXsKLSAgICBhdXRvKiBzY29wZUlEQiA9IGZyb20oc2NvcGUpOwotICAgIHJldHVybiBz
Y29wZUlEQiA/IHNjb3BlSURCLT5pbmRleGVkREIoKSA6IG51bGxwdHI7Ci19Ci0KLUlEQkZhY3Rv
cnkqIFdvcmtlckdsb2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlOjppbmRleGVkREIoKQotewotICAg
IGlmICghbV9pZGJGYWN0b3J5KQotICAgICAgICBtX2lkYkZhY3RvcnkgPSBJREJGYWN0b3J5Ojpj
cmVhdGUobV9jb25uZWN0aW9uUHJveHkuZ2V0KCkpOwotCi0gICAgcmV0dXJuIG1faWRiRmFjdG9y
eS5nZXQoKTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvV29ya2VyR2xvYmFsU2NvcGVJbmRleGVkRGF0YWJhc2UuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9Xb3JrZXJHbG9i
YWxTY29wZUluZGV4ZWREYXRhYmFzZS5oCShyZXZpc2lvbiAyNzUxNTEpCisrKyBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9Xb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZS5o
CShub25leGlzdGVudCkKQEAgLTEsNTkgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAw
OCwgMjAwOSwgMjAxMywgMjAxNCwgMjAxNSwgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgot
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICoKLSAqLwotCi0j
cHJhZ21hIG9uY2UKLQotI2luY2x1ZGUgIlN1cHBsZW1lbnRhYmxlLmgiCi0jaW5jbHVkZSA8d3Rm
L3RleHQvV1RGU3RyaW5nLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgSURCRmFj
dG9yeTsKLWNsYXNzIFdvcmtlckdsb2JhbFNjb3BlOwotCi1uYW1lc3BhY2UgSURCQ2xpZW50IHsK
LWNsYXNzIElEQkNvbm5lY3Rpb25Qcm94eTsKLX0KLQotY2xhc3MgV29ya2VyR2xvYmFsU2NvcGVJ
bmRleGVkRGF0YWJhc2UgOiBwdWJsaWMgU3VwcGxlbWVudDxXb3JrZXJHbG9iYWxTY29wZT4gewot
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwotcHVibGljOgotICAgIGV4cGxpY2l0IFdvcmtl
ckdsb2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlKFdvcmtlckdsb2JhbFNjb3BlJiwgSURCQ2xpZW50
OjpJREJDb25uZWN0aW9uUHJveHkmKTsKLSAgICB2aXJ0dWFsIH5Xb3JrZXJHbG9iYWxTY29wZUlu
ZGV4ZWREYXRhYmFzZSgpOwotCi0gICAgc3RhdGljIElEQkZhY3RvcnkqIGluZGV4ZWREQihXb3Jr
ZXJHbG9iYWxTY29wZSYpOwotCi1wcml2YXRlOgotICAgIElEQkZhY3RvcnkqIGluZGV4ZWREQigp
OwotCi0gICAgc3RhdGljIGNvbnN0IGNoYXIqIHN1cHBsZW1lbnROYW1lKCk7Ci0gICAgc3RhdGlj
IFdvcmtlckdsb2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlKiBmcm9tKFdvcmtlckdsb2JhbFNjb3Bl
Jik7Ci0KLSAgICBSZWZQdHI8SURCRmFjdG9yeT4gbV9pZGJGYWN0b3J5OwotICAgIFJlZjxJREJD
bGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eT4gbV9jb25uZWN0aW9uUHJveHk7Ci19OwotCi19IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyNzUxNTEpCisrKyBTb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAg
LTE1MjAsNyArMTUyMCw2IEBACiAJCTUxODJDMjVBMUYzMTQzQ0QwMDU5QkE3QyAvKiBKU1NlcnZp
Y2VXb3JrZXJHbG9iYWxTY29wZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNTE4MkMyNEQxRjMxNDI1MDAwNTlCQTdDIC8qIEpTU2VydmljZVdvcmtlckds
b2JhbFNjb3BlLmggKi87IH07CiAJCTUxODJDMjVDMUYzMTQzQ0QwMDU5QkE3QyAvKiBKU1NlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDUxODJDMjUwMUYzMTQyNTAwMDU5QkE3QyAvKiBKU1NlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb24uaCAqLzsgfTsKIAkJNTE4NTQzMEIxRkI2Nzg0NTAwNDc4Rjk1IC8qIFNXU2Vy
dmVyVG9Db250ZXh0Q29ubmVjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNTE4NTQzMDkxRkI2NzgzRTAwNDc4Rjk1IC8qIFNXU2VydmVyVG9Db250
ZXh0Q29ubmVjdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07Ci0JCTUxODVGQzc1MUJCNEM0RTgwMDEyODk4RiAvKiBET01XaW5kb3dJbmRleGVkRGF0
YWJhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUx
RDcxOTZEMTgxMTA2REYwMDE2REM1MSAvKiBET01XaW5kb3dJbmRleGVkRGF0YWJhc2UuaCAqLzsg
fTsKIAkJNTE4NUZDN0IxQkI0QzRFODAwMTI4OThGIC8qIElEQkN1cnNvci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE2NDVCNDExQjlGODg5QjAwRjc4
OUNFIC8qIElEQkN1cnNvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCTUxODVGQzdFMUJCNEM0RTgwMDEyODk4RiAvKiBJREJDdXJzb3JXaXRoVmFs
dWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNjQ1
QjQzMUI5Rjg4OUIwMEY3ODlDRSAvKiBJREJDdXJzb3JXaXRoVmFsdWUuaCAqLzsgfTsKIAkJNTE4
NUZDODExQkI0QzRFODAwMTI4OThGIC8qIElEQkRhdGFiYXNlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTY0NUI0NTFCOUY4ODlCMDBGNzg5Q0UgLyog
SURCRGF0YWJhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwpAQCAtMTU0MCw3ICsxNTM5LDcgQEAKIAkJNTE4NUZDQUQxQkI0QzRFODAwMTI4OThGIC8q
IElEQlRyYW5zYWN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA1MTY0NUI1MTFCOUY4ODlCMDBGNzg5Q0UgLyogSURCVHJhbnNhY3Rpb24uaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1MTg1RkNCMDFC
QjRDNEU4MDAxMjg5OEYgLyogSURCVmVyc2lvbkNoYW5nZUV2ZW50LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTY0NUI1MzFCOUY4ODlCMDBGNzg5Q0Ug
LyogSURCVmVyc2lvbkNoYW5nZUV2ZW50LmggKi87IH07CiAJCTUxODVGQ0IyMUJCNEM0RTgwMDEy
ODk4RiAvKiBJbmRleGVkREIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDUxRDcxOUFFMTgxMTA2RTAwMDE2REM1MSAvKiBJbmRleGVkREIuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk1MTg1RkNCNDFCQjRD
NEU4MDAxMjg5OEYgLyogV29ya2VyR2xvYmFsU2NvcGVJbmRleGVkRGF0YWJhc2UuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRDcxOUIyMTgxMTA2RTAw
MDE2REM1MSAvKiBXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZS5oICovOyB9OworCQk1
MTg1RkNCNDFCQjRDNEU4MDAxMjg5OEYgLyogV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZUluZGV4
ZWREYXRhYmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNTFENzE5QjIxODExMDZFMDAwMTZEQzUxIC8qIFdpbmRvd09yV29ya2VyR2xvYmFsU2NvcGVJ
bmRleGVkRGF0YWJhc2UuaCAqLzsgfTsKIAkJNTE4NUZDQjkxQkI0Q0JGODAwMTI4OThGIC8qIElE
QkNvbm5lY3Rpb25Ub0NsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNTEwQTU4RkUxQkIwN0FBNTAwQzE5MjgyIC8qIElEQkNvbm5lY3Rpb25Ub0Ns
aWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTUxODVGQ0JCMUJCNENCRjgwMDEyODk4RiAvKiBJREJTZXJ2ZXIuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMEE1OEYwMUJBQjcyMEYwMEMxOTI4MiAv
KiBJREJTZXJ2ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQk1MTg4NjRFMTFCQkFGNTc0MDBFNTQwQzkgLyogVW5pcXVlSURCRGF0YWJhc2UuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxODg2NERGMUJC
QUYzMEYwMEU1NDBDOSAvKiBVbmlxdWVJREJEYXRhYmFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC04ODg0LDkgKzg4ODMsNiBAQAogCQk1MUNC
RkM5ODBEMTBFNDgzMDAyREJGNTEgLyogQ2FjaGVkRnJhbWVQbGF0Zm9ybURhdGEuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2FjaGVkRnJhbWVQbGF0Zm9ybURhdGEuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTFEMTI0OEExRTczNjI1QzAwMkIyODIwIC8qIE5l
dHdvcmtTdG9yYWdlU2Vzc2lvbkNvY29hLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gTmV0d29ya1N0b3JhZ2VTZXNzaW9uQ29jb2EubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTUxRDEyNDhDMUU3MzY0NTYwMDJCMjgyMCAvKiBDb29raWVDb2NvYS5t
bSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IENvb2tpZUNvY29hLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1MUQ3MTk2QzE4MTEwNkRGMDAxNkRDNTEg
LyogRE9NV2luZG93SW5kZXhlZERhdGFiYXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IERPTVdpbmRvd0luZGV4ZWREYXRhYmFzZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07Ci0JCTUxRDcxOTZEMTgxMTA2REYwMDE2REM1MSAvKiBET01XaW5kb3dJbmRl
eGVkRGF0YWJhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NV2luZG93
SW5kZXhlZERhdGFiYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTUxRDcxOTZF
MTgxMTA2REYwMDE2REM1MSAvKiBET01XaW5kb3crSW5kZXhlZERhdGFiYXNlLmlkbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQ7IHBhdGggPSAiRE9NV2luZG93K0luZGV4ZWREYXRhYmFzZS5pZGwiOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk1MUQ3MTk3NzE4MTEwNkRGMDAxNkRDNTEgLyogSURCQ3Vy
c29yLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBJREJDdXJzb3IuaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk1MUQ3MTk3QjE4MTEwNkRGMDAxNkRDNTEgLyogSURCQ3Vyc29y
V2l0aFZhbHVlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBJREJDdXJzb3JXaXRoVmFsdWUu
aWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MUQ3MTk3RTE4MTEwNkRGMDAxNkRD
NTEgLyogSURCRGF0YWJhc2UuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IElEQkRhdGFiYXNl
LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTg5MDUsOSArODkwMSw5IEBACiAJ
CTUxRDcxOUE2MTgxMTA2RTAwMDE2REM1MSAvKiBJREJUcmFuc2FjdGlvbi5pZGwgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0OyBwYXRoID0gSURCVHJhbnNhY3Rpb24uaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk1MUQ3MTlBRDE4MTEwNkUwMDAxNkRDNTEgLyogSURCVmVyc2lvbkNoYW5nZUV2ZW50
LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBJREJWZXJzaW9uQ2hhbmdlRXZlbnQuaWRsOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MUQ3MTlBRTE4MTEwNkUwMDAxNkRDNTEgLyog
SW5kZXhlZERCLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluZGV4ZWREQi5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1MUQ3MTlCMTE4MTEwNkUwMDAxNkRDNTEg
LyogV29ya2VyR2xvYmFsU2NvcGVJbmRleGVkRGF0YWJhc2UuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gV29ya2VyR2xvYmFsU2NvcGVJbmRleGVkRGF0YWJhc2UuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1MUQ3MTlCMjE4MTEwNkUwMDAxNkRDNTEg
LyogV29ya2VyR2xvYmFsU2NvcGVJbmRleGVkRGF0YWJhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gV29ya2VyR2xvYmFsU2NvcGVJbmRleGVkRGF0YWJhc2UuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNTFENzE5QjMxODExMDZFMDAwMTZEQzUxIC8qIFdvcmtl
ckdsb2JhbFNjb3BlK0luZGV4ZWREYXRhYmFzZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
Ildvcmtlckdsb2JhbFNjb3BlK0luZGV4ZWREYXRhYmFzZS5pZGwiOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk1MUQ3MTlCMTE4MTEwNkUwMDAxNkRDNTEgLyogV2luZG93T3JXb3JrZXJH
bG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTFENzE5QjIxODExMDZFMDAwMTZEQzUxIC8q
IFdpbmRvd09yV29ya2VyR2xvYmFsU2NvcGVJbmRleGVkRGF0YWJhc2UuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRh
YmFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MUQ3MTlCMzE4MTEwNkUwMDAx
NkRDNTEgLyogV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZStJbmRleGVkRGF0YWJhc2UuaWRsICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dDsgcGF0aCA9ICJXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlK0luZGV4ZWRE
YXRhYmFzZS5pZGwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MUQ3MjM2QTFCQjYw
QkZFMDA0NzhDQTMgLyogSURCUmVzdWx0RGF0YS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBJREJSZXN1bHREYXRhLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNTFENzIzNkIxQkI2MEJGRTAwNDc4Q0EzIC8qIElEQlJlc3VsdERhdGEuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSURCUmVzdWx0RGF0YS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk1MUQ3RUZFQjFCREVGQTQ3MDBFOTNFMTAgLyogVHJhbnNhY3Rpb25P
cGVyYXRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVHJhbnNh
Y3Rpb25PcGVyYXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjQwODIs
OSArMjQwNzgsNiBAQAogCQkJCTUxMDMxMDQyMUJBOEM2NEMwMDMzMjlDMCAvKiBjbGllbnQgKi8s
CiAJCQkJNTEwQTU4RUUxQkFCNzFFMDAwQzE5MjgyIC8qIHNlcnZlciAqLywKIAkJCQk1MTBBNThF
MTFCQUE0MDk4MDBDMTkyODIgLyogc2hhcmVkICovLAotCQkJCTUxRDcxOTZFMTgxMTA2REYwMDE2
REM1MSAvKiBET01XaW5kb3crSW5kZXhlZERhdGFiYXNlLmlkbCAqLywKLQkJCQk1MUQ3MTk2QzE4
MTEwNkRGMDAxNkRDNTEgLyogRE9NV2luZG93SW5kZXhlZERhdGFiYXNlLmNwcCAqLywKLQkJCQk1
MUQ3MTk2RDE4MTEwNkRGMDAxNkRDNTEgLyogRE9NV2luZG93SW5kZXhlZERhdGFiYXNlLmggKi8s
CiAJCQkJNTE3MTRFQTcxQ0Y0REU4NzAwNDcyM0M0IC8qIElEQkFjdGl2ZURPTU9iamVjdC5oICov
LAogCQkJCTUxNjQ1QjU0MUI5Rjg4RTgwMEY3ODlDRSAvKiBJREJDdXJzb3IuY3BwICovLAogCQkJ
CTUxNjQ1QjQxMUI5Rjg4OUIwMEY3ODlDRSAvKiBJREJDdXJzb3IuaCAqLywKQEAgLTI0MTQ1LDkg
KzI0MTM4LDkgQEAKIAkJCQk1MTY0NUI1MzFCOUY4ODlCMDBGNzg5Q0UgLyogSURCVmVyc2lvbkNo
YW5nZUV2ZW50LmggKi8sCiAJCQkJNTFENzE5QUQxODExMDZFMDAwMTZEQzUxIC8qIElEQlZlcnNp
b25DaGFuZ2VFdmVudC5pZGwgKi8sCiAJCQkJNTFENzE5QUUxODExMDZFMDAwMTZEQzUxIC8qIElu
ZGV4ZWREQi5oICovLAotCQkJCTUxRDcxOUIzMTgxMTA2RTAwMDE2REM1MSAvKiBXb3JrZXJHbG9i
YWxTY29wZStJbmRleGVkRGF0YWJhc2UuaWRsICovLAotCQkJCTUxRDcxOUIxMTgxMTA2RTAwMDE2
REM1MSAvKiBXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZS5jcHAgKi8sCi0JCQkJNTFE
NzE5QjIxODExMDZFMDAwMTZEQzUxIC8qIFdvcmtlckdsb2JhbFNjb3BlSW5kZXhlZERhdGFiYXNl
LmggKi8sCisJCQkJNTFENzE5QjMxODExMDZFMDAwMTZEQzUxIC8qIFdpbmRvd09yV29ya2VyR2xv
YmFsU2NvcGUrSW5kZXhlZERhdGFiYXNlLmlkbCAqLywKKwkJCQk1MUQ3MTlCMTE4MTEwNkUwMDAx
NkRDNTEgLyogV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZS5jcHAgKi8s
CisJCQkJNTFENzE5QjIxODExMDZFMDAwMTZEQzUxIC8qIFdpbmRvd09yV29ya2VyR2xvYmFsU2Nv
cGVJbmRleGVkRGF0YWJhc2UuaCAqLywKIAkJCSk7CiAJCQlwYXRoID0gaW5kZXhlZGRiOwogCQkJ
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTMyMTk2LDcgKzMyMTg5LDYgQEAKIAkJCQkxNDAz
Qjk5NzA5RUIxM0FGMDA3OTdDN0YgLyogRE9NV2luZG93LmggaW4gSGVhZGVycyAqLywKIAkJCQk0
MUQxMjlEMTFGM0QwRjBFMDBEMTVFNDcgLyogRE9NV2luZG93Q2FjaGVzLmggaW4gSGVhZGVycyAq
LywKIAkJCQk1MUZBMkQ3ODE1MjEzMkIzMDBDMUJBMEIgLyogRE9NV2luZG93RXh0ZW5zaW9uLmgg
aW4gSGVhZGVycyAqLywKLQkJCQk1MTg1RkM3NTFCQjRDNEU4MDAxMjg5OEYgLyogRE9NV2luZG93
SW5kZXhlZERhdGFiYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk5N0QyQUQwNDE0QjgyM0E2MDA5
M0RGMzIgLyogRE9NV2luZG93UHJvcGVydHkuaCBpbiBIZWFkZXJzICovLAogCQkJCUFBMkE1QUQ2
MTZBNDg2MTYwMDk3NUEyNSAvKiBET01XaW5kb3dTcGVlY2hTeW50aGVzaXMuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUE4Q0NCQjQ5MTUxRjgzMTYwMEFCN0NFOSAvKiBET01XaW5kb3dXZWJEYXRhYmFz
ZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0zNTcxNiw2ICszNTcwOCw3IEBACiAJCQkJOUIyN0ZDNjAy
MzREOUFEQjAwMzk0QTQ2IC8qIFdpbmRvd0V2ZW50TG9vcC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QkM4MjQzRTkwRDBDRkQ3NTAwNDYwQzhGIC8qIFdpbmRvd0ZlYXR1cmVzLmggaW4gSGVhZGVycyAq
LywKIAkJCQk3RTk5QUY1MzBCMTM4NDY0NjhGQjAxQTUgLyogV2luZG93Rm9jdXNBbGxvd2VkSW5k
aWNhdG9yLmggaW4gSGVhZGVycyAqLywKKwkJCQk1MTg1RkNCNDFCQjRDNEU4MDAxMjg5OEYgLyog
V2luZG93T3JXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNDYzNTIxQUQyMDgxMDkyQTAwQzI4OTIyIC8qIFdpbmRvd1Byb3h5LmggaW4gSGVhZGVy
cyAqLywKIAkJCQlFMUUxQkYwMDExNUZGNkZCMDA2RjUyQ0EgLyogV2luZG93c0tleWJvYXJkQ29k
ZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTUwMUJBQUE5MTM5NTBFMkMwMEY3QUNFQiAvKiBXaW5k
UnVsZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0zNTczOCw3ICszNTczMSw2IEBACiAJCQkJOTFFMERE
QzQyMzBCNDFGMTAwMTlFMUUzIC8qIFdvcmtlckRPTURlYnVnZ2VyQWdlbnQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTJFNDM0NjQ5MEY1NDZBODIwMEIwRjFCQSAvKiBXb3JrZXJHbG9iYWxTY29wZS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNDFEMTI5Q0UxRjNEMEVGNjAwRDE1RTQ3IC8qIFdvcmtlckds
b2JhbFNjb3BlQ2FjaGVzLmggaW4gSGVhZGVycyAqLywKLQkJCQk1MTg1RkNCNDFCQjRDNEU4MDAx
Mjg5OEYgLyogV29ya2VyR2xvYmFsU2NvcGVJbmRleGVkRGF0YWJhc2UuaCBpbiBIZWFkZXJzICov
LAogCQkJCTJFNDM0NjRCMEY1NDZBODIwMEIwRjFCQSAvKiBXb3JrZXJHbG9iYWxTY29wZVByb3h5
LmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTRBMEM2MjFEQjdGOEMxMDAxN0E5MEIgLyogV29ya2Vy
SW5zcGVjdG9yQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTU0QTBDNkMxREI4MzFG
OTAwMTdBOTBCIC8qIFdvcmtlckluc3BlY3RvclByb3h5LmggaW4gSGVhZGVycyAqLywKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAJ
KHJldmlzaW9uIDI3NTE1MSkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2lu
ZG93Q3VzdG9tLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjEsNyArMjEsNiBAQAogI2luY2x1ZGUg
ImNvbmZpZy5oIgogI2luY2x1ZGUgIkpTRE9NV2luZG93Q3VzdG9tLmgiCiAKLSNpbmNsdWRlICJE
T01XaW5kb3dJbmRleGVkRGF0YWJhc2UuaCIKICNpbmNsdWRlICJET01XaW5kb3dXZWJEYXRhYmFz
ZS5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiSFRNTERvY3VtZW50LmgiCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckluZGV4ZWREQkFnZW50
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3Bl
Y3RvckluZGV4ZWREQkFnZW50LmNwcAkocmV2aXNpb24gMjc1MTUxKQorKysgU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JJbmRleGVkREJBZ2VudC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTM1LDcgKzM1LDYgQEAKICNpbmNsdWRlICJBZGRFdmVudExpc3RlbmVyT3B0aW9u
cy5oIgogI2luY2x1ZGUgIkRPTVN0cmluZ0xpc3QuaCIKICNpbmNsdWRlICJET01XaW5kb3cuaCIK
LSNpbmNsdWRlICJET01XaW5kb3dJbmRleGVkRGF0YWJhc2UuaCIKICNpbmNsdWRlICJEb2N1bWVu
dC5oIgogI2luY2x1ZGUgIkV2ZW50LmgiCiAjaW5jbHVkZSAiRXZlbnRMaXN0ZW5lci5oIgpAQCAt
NTksNiArNTgsNyBAQAogI2luY2x1ZGUgIkluc3RydW1lbnRpbmdBZ2VudHMuaCIKICNpbmNsdWRl
ICJTY3JpcHRTdGF0ZS5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCisjaW5jbHVkZSAi
V2luZG93T3JXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZS5oIgogI2luY2x1ZGUgPEph
dmFTY3JpcHRDb3JlL0hlYXBJbmxpbmVzLmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSW5q
ZWN0ZWRTY3JpcHQuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9JbmplY3RlZFNjcmlwdE1h
bmFnZXIuaD4KQEAgLTU1Niw3ICs1NTYsNyBAQCBzdGF0aWMgUHJvdG9jb2w6OkVycm9yU3RyaW5n
T3I8SURCRmFjdG9yCiAgICAgaWYgKCFkb21XaW5kb3cpCiAgICAgICAgIHJldHVybiBtYWtlVW5l
eHBlY3RlZCgiTWlzc2luZyB3aW5kb3cgZm9yIGdpdmVuIGRvY3VtZW50Il9zKTsKIAotICAgIElE
QkZhY3RvcnkqIGlkYkZhY3RvcnkgPSBET01XaW5kb3dJbmRleGVkRGF0YWJhc2U6OmluZGV4ZWRE
QigqZG9tV2luZG93KTsKKyAgICBJREJGYWN0b3J5KiBpZGJGYWN0b3J5ID0gV2luZG93T3JXb3Jr
ZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZTo6aW5kZXhlZERCKCpkb21XaW5kb3cpOwogICAg
IGlmICghaWRiRmFjdG9yeSkKICAgICAgICAgbWFrZVVuZXhwZWN0ZWQoIk1pc3NpbmcgSW5kZXhl
ZERCIGZhY3Rvcnkgb2Ygd2luZG93IGZvciBnaXZlbiBkb2N1bWVudCJfcyk7CiAgICAgCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424650</attachid>
            <date>2021-03-30 09:22:20 -0700</date>
            <delta_ts>2021-03-31 13:15:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223856-20210330092219.patch</filename>
            <type>text/plain</type>
            <size>48628</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI3NTE3MikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQyIEBACisyMDIxLTAzLTMwICBTYW0gV2Vp
bmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBNZXJnZSBET01XaW5kb3crSW5kZXhl
ZERhdGFiYXNlLmlkbCBhbmQgV29ya2VyR2xvYmFsU2NvcGUrSW5kZXhlZERhdGFiYXNlLmlkbCBp
bnRvIGEgc2luZ2xlIFdpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUrSW5kZXhlZERhdGFiYXNlLmlk
bCB0byBtYXRjaCB0aGUgSW5kZXhlZERCIHNwZWMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMzg1NgorCisgICAgICAgIFJldmlld2VkIGJ5IFNpaHVp
IExpdS4KKworICAgICAgICBSZXBsYWNlcyBET01XaW5kb3crSW5kZXhlZERhdGFiYXNlLmlkbCBh
bmQgV29ya2VyR2xvYmFsU2NvcGUrSW5kZXhlZERhdGFiYXNlLmlkbCB3aXRoCisgICAgICAgIFdp
bmRvd09yV29ya2VyR2xvYmFsU2NvcGUrSW5kZXhlZERhdGFiYXNlLmlkbCB3aGljaCBjb250YWlu
cyBhIHBhcnRpYWwgbWl4aW4gaW50ZXJmYWNlCisgICAgICAgIGxpa2Ugc3BlY2lmaWVkLiBBbHNv
IG1vdmVzIGltcGxlbWVudGF0aW9ucyBvZiBzdXBwbGVtZW50cyBpbnRvIHRoZSBjcHAgZmlsZSwg
YXMgdGhlIG9ubHkKKyAgICAgICAgdXNlIG9mIHRoZW0gaXMgYnkgdGhlIHR3byBpbmRleGVkREIg
c3RhdGljIGZ1bmN0aW9ucy4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAq
IERlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJj
ZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAg
ICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9ET01XaW5kb3crSW5kZXhlZERhdGFiYXNlLmlkbDog
UmVtb3ZlZC4KKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9ET01XaW5kb3dJbmRleGVkRGF0
YWJhc2UuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0RPTVdpbmRv
d0luZGV4ZWREYXRhYmFzZS5oOiBSZW1vdmVkLgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRi
L1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUrSW5kZXhlZERhdGFiYXNlLmlkbDogQWRkZWQuCisg
ICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZUluZGV4
ZWREYXRhYmFzZS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93SW5kZXhl
ZERhdGFiYXNlOjpzdXBwbGVtZW50TmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJHbG9i
YWxTY29wZUluZGV4ZWREYXRhYmFzZTo6c3VwcGxlbWVudE5hbWUpOgorICAgICAgICAoV2ViQ29y
ZTo6V2luZG93T3JXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZTo6aW5kZXhlZERCKToK
KyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvd0luZGV4ZWREYXRhYmFzZTo6RE9NV2luZG93SW5k
ZXhlZERhdGFiYXNlKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvd0luZGV4ZWREYXRhYmFz
ZTo6ZnJvbSk6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3dJbmRleGVkRGF0YWJhc2U6Omlu
ZGV4ZWREQik6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRh
YmFzZTo6V29ya2VyR2xvYmFsU2NvcGVJbmRleGVkRGF0YWJhc2UpOgorICAgICAgICAoV2ViQ29y
ZTo6V29ya2VyR2xvYmFsU2NvcGVJbmRleGVkRGF0YWJhc2U6OmZyb20pOgorICAgICAgICAoV2Vi
Q29yZTo6V29ya2VyR2xvYmFsU2NvcGVJbmRleGVkRGF0YWJhc2U6OmluZGV4ZWREQik6CisgICAg
ICAgICogTW9kdWxlcy9pbmRleGVkZGIvV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWRE
YXRhYmFzZS5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9Xb3JrZXJHbG9i
YWxTY29wZStJbmRleGVkRGF0YWJhc2UuaWRsOiBSZW1vdmVkLgorICAgICAgICAqIE1vZHVsZXMv
aW5kZXhlZGRiL1dvcmtlckdsb2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlLmNwcDogUmVtb3ZlZC4K
KyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9Xb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRh
YmFzZS5oOiBSZW1vdmVkLgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RP
TVdpbmRvd0N1c3RvbS5jcHA6CisgICAgICAgICogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JJ
bmRleGVkREJBZ2VudC5jcHA6CisKIDIwMjEtMDMtMjkgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2Fy
bHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgW21hY09TXSBBZGQgcmVtb3RlIE1lZGlhU2Vzc2lv
bkNvb3JkaW5hdG9yCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24gMjc1MTcyKQor
KysgU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTI5MCw3
ICsyOTAsNiBAQCBzZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIE1vZHVsZXMvaGln
aGxpZ2h0L0hpZ2hsaWdodC5pZGwKICAgICBNb2R1bGVzL2hpZ2hsaWdodC9IaWdobGlnaHRSZWdp
c3Rlci5pZGwKIAotICAgIE1vZHVsZXMvaW5kZXhlZGRiL0RPTVdpbmRvdytJbmRleGVkRGF0YWJh
c2UuaWRsCiAgICAgTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yLmlkbAogICAgIE1vZHVsZXMv
aW5kZXhlZGRiL0lEQkN1cnNvckRpcmVjdGlvbi5pZGwKICAgICBNb2R1bGVzL2luZGV4ZWRkYi9J
REJDdXJzb3JXaXRoVmFsdWUuaWRsCkBAIC0zMDQsNyArMzAzLDcgQEAgc2V0KFdlYkNvcmVfTk9O
X1NWR19JRExfRklMRVMKICAgICBNb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5pZGwK
ICAgICBNb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbk1vZGUuaWRsCiAgICAgTW9kdWxl
cy9pbmRleGVkZGIvSURCVmVyc2lvbkNoYW5nZUV2ZW50LmlkbAotICAgIE1vZHVsZXMvaW5kZXhl
ZGRiL1dvcmtlckdsb2JhbFNjb3BlK0luZGV4ZWREYXRhYmFzZS5pZGwKKyAgICBNb2R1bGVzL2lu
ZGV4ZWRkYi9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlK0luZGV4ZWREYXRhYmFzZS5pZGwKIAog
ICAgIE1vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvQXVkaW9Db25maWd1cmF0aW9uLmlkbAogICAg
IE1vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvQ29sb3JHYW11dC5pZGwKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAkocmV2aXNpb24gMjc1
MTcyKQorKysgU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAko
d29ya2luZyBjb3B5KQpAQCAtMTM2LDcgKzEzNiw2IEBAICQoUFJPSkVDVF9ESVIpL01vZHVsZXMv
Z2VvbG9jYXRpb24vUG9zaXQKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvZ2VvbG9jYXRpb24vUG9z
aXRpb25PcHRpb25zLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9oaWdobGlnaHQvSGlnaGxp
Z2h0LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9oaWdobGlnaHQvSGlnaGxpZ2h0UmVnaXN0
ZXIuaWRsCi0kKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2luZGV4ZWRkYi9ET01XaW5kb3crSW5kZXhl
ZERhdGFiYXNlLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29y
LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yRGlyZWN0aW9u
LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yV2l0aFZhbHVl
LmlkbApAQCAtMTUwLDcgKzE0OSw3IEBAICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvaW5kZXhlZGRi
L0lEQlJlcXUKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9u
LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb25Nb2Rl
LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9pbmRleGVkZGIvSURCVmVyc2lvbkNoYW5nZUV2
ZW50LmlkbAotJChQUk9KRUNUX0RJUikvTW9kdWxlcy9pbmRleGVkZGIvV29ya2VyR2xvYmFsU2Nv
cGUrSW5kZXhlZERhdGFiYXNlLmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9pbmRleGVkZGIv
V2luZG93T3JXb3JrZXJHbG9iYWxTY29wZStJbmRleGVkRGF0YWJhc2UuaWRsCiAkKFBST0pFQ1Rf
RElSKS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL0F1ZGlvQ29uZmlndXJhdGlvbi5pZGwKICQo
UFJPSkVDVF9ESVIpL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvQ29sb3JHYW11dC5pZGwKICQo
UFJPSkVDVF9ESVIpL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvSGRyTWV0YWRhdGFUeXBlLmlk
bApJbmRleDogU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmls
ZWxpc3QJKHJldmlzaW9uIDI3NTE3MikKKysrIFNvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
LW91dHB1dC54Y2ZpbGVsaXN0CSh3b3JraW5nIGNvcHkpCkBAIC01NTYsOCArNTU2LDYgQEAgJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYgogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01XaW5kb3crRGV2aWNlTW90aW9uLmgKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NV2luZG93K0Rl
dmljZU9yaWVudGF0aW9uLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNET01XaW5kb3crRGV2aWNlT3JpZW50YXRpb24uaAotJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01XaW5kb3crSW5kZXhlZERhdGFiYXNl
LmNwcAotJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01X
aW5kb3crSW5kZXhlZERhdGFiYXNlLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTRE9NV2luZG93K1JlcXVlc3RJZGxlQ2FsbGJhY2suY3BwCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVdpbmRvdytSZXF1ZXN0
SWRsZUNhbGxiYWNrLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTRE9NV2luZG93K1NlbGVjdGlvbi5jcHAKQEAgLTU3Miw4ICs1NzAsNiBAQCAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVdpbmRvdy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVdpbmRvd0NhY2hlcy5jcHAKICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NV2luZG93Q2FjaGVzLmgK
LSQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NV2luZG93
SW5kZXhlZERhdGFiYXNlLmNwcAotJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNET01XaW5kb3dJbmRleGVkRGF0YWJhc2UuaAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01XaW5kb3dTcGVlY2hTeW50aGVzaXMuY3Bw
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVdpbmRv
d1NwZWVjaFN5bnRoZXNpcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0RPTVdpbmRvd1dlYkRhdGFiYXNlLmNwcApAQCAtMjU2MiwyNiArMjU1OCwyMiBA
QCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViCiAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dpbmRvd09yV29ya2VyR2xvYmFsU2Nv
cGUrQ3J5cHRvLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZStGZXRjaC5jcHAKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZStG
ZXRjaC5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dp
bmRvd09yV29ya2VyR2xvYmFsU2NvcGUrSW5kZXhlZERhdGFiYXNlLmNwcAorJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXaW5kb3dPcldvcmtlckdsb2JhbFNj
b3BlK0luZGV4ZWREYXRhYmFzZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUrUGVyZm9ybWFuY2UuY3BwCiAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dpbmRvd09yV29y
a2VyR2xvYmFsU2NvcGUrUGVyZm9ybWFuY2UuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlLmNwcAogJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXaW5kb3dPcldvcmtlckds
b2JhbFNjb3BlLmgKLSQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZUZldGNoLmNwcAotJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlRmV0
Y2guaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXaW5k
b3dTZXNzaW9uU3RvcmFnZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTV2luZG93U2Vzc2lvblN0b3JhZ2UuaAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXb3JrZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dvcmtlci5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dvcmtlckdsb2JhbFNjb3BlK0NhY2hlcy5jcHAK
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV29ya2VyR2xv
YmFsU2NvcGUrQ2FjaGVzLmgKLSQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTV29ya2VyR2xvYmFsU2NvcGUrSW5kZXhlZERhdGFiYXNlLmNwcAotJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXb3JrZXJHbG9iYWxTY29wZStJ
bmRleGVkRGF0YWJhc2UuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNXb3JrZXJHbG9iYWxTY29wZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTV29ya2VyR2xvYmFsU2NvcGUuaAogJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5j
cHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV29ya2Vy
R2xvYmFsU2NvcGVDYWNoZXMuaAotJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZS5jcHAKLSQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV29ya2VyR2xvYmFsU2NvcGVJ
bmRleGVkRGF0YWJhc2UuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNXb3JrZXJMb2NhdGlvbi5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTV29ya2VyTG9jYXRpb24uaAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXb3JrZXJOYXZpZ2F0b3IrR1BVLmNwcApJbmRleDog
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCShyZXZpc2lvbiAyNzUxNzIpCisrKyBTb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCSh3b3JraW5nIGNvcHkpCkBAIC0xNjIsNyArMTYy
LDYgQEAgSlNfQklORElOR19JRExTIDo9IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvZ2VvbG9j
YXRpb24vUG9zaXRpb25PcHRpb25zLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2hpZ2hs
aWdodC9IaWdobGlnaHRSZWdpc3Rlci5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9oaWdo
bGlnaHQvSGlnaGxpZ2h0LmlkbCBcCi0gICAgJChXZWJDb3JlKS9Nb2R1bGVzL2luZGV4ZWRkYi9E
T01XaW5kb3crSW5kZXhlZERhdGFiYXNlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9JREJDdXJzb3IuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvaW5kZXhlZGRi
L0lEQkN1cnNvckRpcmVjdGlvbi5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9pbmRleGVk
ZGIvSURCQ3Vyc29yV2l0aFZhbHVlLmlkbCBcCkBAIC0xNzYsNyArMTc1LDcgQEAgSlNfQklORElO
R19JRExTIDo9IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0
aW9uLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlv
bk1vZGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvaW5kZXhlZGRiL0lEQlZlcnNpb25D
aGFuZ2VFdmVudC5pZGwgXAotICAgICQoV2ViQ29yZSkvTW9kdWxlcy9pbmRleGVkZGIvV29ya2Vy
R2xvYmFsU2NvcGUrSW5kZXhlZERhdGFiYXNlLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L2luZGV4ZWRkYi9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlK0luZGV4ZWREYXRhYmFzZS5pZGwg
XAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9BdWRpb0NvbmZpZ3Vy
YXRpb24uaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvQ29s
b3JHYW11dC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9I
ZHJNZXRhZGF0YVR5cGUuaWRsIFwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CShyZXZpc2lvbiAyNzUxNzIp
CisrKyBTb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNjgsNyAr
NjgsNiBAQCBNb2R1bGVzL2hpZ2hsaWdodC9BcHBIaWdobGlnaHRSYW5nZURhdGEuCiBNb2R1bGVz
L2hpZ2hsaWdodC9BcHBIaWdobGlnaHRTdG9yYWdlLmNwcAogTW9kdWxlcy9oaWdobGlnaHQvSGln
aGxpZ2h0UmVnaXN0ZXIuY3BwCiBNb2R1bGVzL2hpZ2hsaWdodC9IaWdobGlnaHQuY3BwCi1Nb2R1
bGVzL2luZGV4ZWRkYi9ET01XaW5kb3dJbmRleGVkRGF0YWJhc2UuY3BwCiBNb2R1bGVzL2luZGV4
ZWRkYi9JREJDdXJzb3IuY3BwCiBNb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3JXaXRoVmFsdWUu
Y3BwCiBNb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZS5jcHAKQEAgLTkwLDcgKzg5LDcgQEAg
TW9kdWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdENvbXBsZXRpb25FdgogTW9kdWxlcy9pbmRleGVk
ZGIvSURCVHJhbnNhY3Rpb24uY3BwCiBNb2R1bGVzL2luZGV4ZWRkYi9JREJWYWx1ZS5jcHAKIE1v
ZHVsZXMvaW5kZXhlZGRiL0lEQlZlcnNpb25DaGFuZ2VFdmVudC5jcHAKLU1vZHVsZXMvaW5kZXhl
ZGRiL1dvcmtlckdsb2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlLmNwcAorTW9kdWxlcy9pbmRleGVk
ZGIvV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZS5jcHAKIE1vZHVsZXMv
aW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9uUHJveHkuY3BwCiBNb2R1bGVzL2luZGV4ZWRk
Yi9jbGllbnQvSURCQ29ubmVjdGlvblRvU2VydmVyLmNwcAogTW9kdWxlcy9pbmRleGVkZGIvY2xp
ZW50L1RyYW5zYWN0aW9uT3BlcmF0aW9uLmNwcApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvRE9NV2luZG93K0luZGV4ZWREYXRhYmFzZS5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvRE9NV2luZG93K0luZGV4ZWREYXRhYmFz
ZS5pZGwJKHJldmlzaW9uIDI3NTE3MikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL0RPTVdpbmRvdytJbmRleGVkRGF0YWJhc2UuaWRsCShub25leGlzdGVudCkKQEAgLTEsMzUg
KzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
Ci0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCi0gKi8KLQotLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL0luZGV4ZWREQi8jZmFjdG9y
eS1pbnRlcmZhY2UKLS8vIEZJWE1FOiBUaGlzIHNob3VsZCBiZSBtZXJnZWQgd2l0aCBXb3JrZXJH
bG9iYWxTY29wZStJbmRleGVkRGF0YWJhc2UuaWRsIGludG8gYSBuZXcgV2luZG93T3JXb3JrZXJH
bG9iYWxTY29wZStJbmRleGVkRGF0YWJhc2UuaWRsIHRvIG1hdGNoIHRoZSBzcGVjLgotWwotICAg
IEltcGxlbWVudGVkQnk9RE9NV2luZG93SW5kZXhlZERhdGFiYXNlCi1dIHBhcnRpYWwgaW50ZXJm
YWNlIERPTVdpbmRvdyB7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIElEQkZhY3RvcnkgaW5kZXhl
ZERCOwotICAgIFtJbXBsZW1lbnRlZEFzPWluZGV4ZWREQl0gcmVhZG9ubHkgYXR0cmlidXRlIElE
QkZhY3Rvcnkgd2Via2l0SW5kZXhlZERCOwotfTsKLQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvRE9NV2luZG93SW5kZXhlZERhdGFiYXNlLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9ET01XaW5kb3dJbmRleGVkRGF0YWJh
c2UuY3BwCShyZXZpc2lvbiAyNzUxNzIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9ET01XaW5kb3dJbmRleGVkRGF0YWJhc2UuY3BwCShub25leGlzdGVudCkKQEAgLTEsOTMg
KzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSwgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OgotICoK
LSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEdPT0dMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKLSAqIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKLSAqIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFCi0gKiBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTAotICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IKLSAqIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSCi0gKiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QKLSAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKLSAqIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSAotICogREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJE
T01XaW5kb3dJbmRleGVkRGF0YWJhc2UuaCIKLQotI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgotI2lu
Y2x1ZGUgIkRhdGFiYXNlUHJvdmlkZXIuaCIKLSNpbmNsdWRlICJEb2N1bWVudC5oIgotI2luY2x1
ZGUgIklEQkZhY3RvcnkuaCIKLSNpbmNsdWRlICJQYWdlLmgiCi0KLW5hbWVzcGFjZSBXZWJDb3Jl
IHsKLQotRE9NV2luZG93SW5kZXhlZERhdGFiYXNlOjpET01XaW5kb3dJbmRleGVkRGF0YWJhc2Uo
RE9NV2luZG93KiB3aW5kb3cpCi0gICAgOiBET01XaW5kb3dQcm9wZXJ0eSh3aW5kb3cpCi17Ci19
Ci0KLURPTVdpbmRvd0luZGV4ZWREYXRhYmFzZTo6fkRPTVdpbmRvd0luZGV4ZWREYXRhYmFzZSgp
ID0gZGVmYXVsdDsKLQotY29uc3QgY2hhciogRE9NV2luZG93SW5kZXhlZERhdGFiYXNlOjpzdXBw
bGVtZW50TmFtZSgpCi17Ci0gICAgcmV0dXJuICJET01XaW5kb3dJbmRleGVkRGF0YWJhc2UiOwot
fQotCi1ET01XaW5kb3dJbmRleGVkRGF0YWJhc2UqIERPTVdpbmRvd0luZGV4ZWREYXRhYmFzZTo6
ZnJvbShET01XaW5kb3cqIHdpbmRvdykKLXsKLSAgICBET01XaW5kb3dJbmRleGVkRGF0YWJhc2Uq
IHN1cHBsZW1lbnQgPSBzdGF0aWNfY2FzdDxET01XaW5kb3dJbmRleGVkRGF0YWJhc2UqPihTdXBw
bGVtZW50PERPTVdpbmRvdz46OmZyb20od2luZG93LCBzdXBwbGVtZW50TmFtZSgpKSk7Ci0gICAg
aWYgKCFzdXBwbGVtZW50KSB7Ci0gICAgICAgIGF1dG8gbmV3U3VwcGxlbWVudCA9IG1ha2VVbmlx
dWU8RE9NV2luZG93SW5kZXhlZERhdGFiYXNlPih3aW5kb3cpOwotICAgICAgICBzdXBwbGVtZW50
ID0gbmV3U3VwcGxlbWVudC5nZXQoKTsKLSAgICAgICAgcHJvdmlkZVRvKHdpbmRvdywgc3VwcGxl
bWVudE5hbWUoKSwgV1RGTW92ZShuZXdTdXBwbGVtZW50KSk7Ci0gICAgfQotICAgIHJldHVybiBz
dXBwbGVtZW50OwotfQotCi1JREJGYWN0b3J5KiBET01XaW5kb3dJbmRleGVkRGF0YWJhc2U6Omlu
ZGV4ZWREQihET01XaW5kb3cmIHdpbmRvdykKLXsKLSAgICByZXR1cm4gZnJvbSgmd2luZG93KS0+
aW5kZXhlZERCKCk7Ci19Ci0KLUlEQkZhY3RvcnkqIERPTVdpbmRvd0luZGV4ZWREYXRhYmFzZTo6
aW5kZXhlZERCKCkKLXsKLSAgICBhdXRvKiB3aW5kb3cgPSB0aGlzLT53aW5kb3coKTsKLSAgICBp
ZiAoIXdpbmRvdykKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0KLSAgICBhdXRvKiBkb2N1bWVu
dCA9IHdpbmRvdy0+ZG9jdW1lbnQoKTsKLSAgICBpZiAoIWRvY3VtZW50KQotICAgICAgICByZXR1
cm4gbnVsbHB0cjsKLQotICAgIGF1dG8qIHBhZ2UgPSBkb2N1bWVudC0+cGFnZSgpOwotICAgIGlm
ICghcGFnZSkKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0KLSAgICBpZiAoIXdpbmRvdy0+aXND
dXJyZW50bHlEaXNwbGF5ZWRJbkZyYW1lKCkpCi0gICAgICAgIHJldHVybiBudWxscHRyOwotCi0g
ICAgaWYgKCFtX2lkYkZhY3RvcnkpIHsKLSAgICAgICAgYXV0byogY29ubmVjdGlvblByb3h5ID0g
ZG9jdW1lbnQtPmlkYkNvbm5lY3Rpb25Qcm94eSgpOwotICAgICAgICBpZiAoIWNvbm5lY3Rpb25Q
cm94eSkKLSAgICAgICAgICAgIHJldHVybiBudWxscHRyOwotCi0gICAgICAgIG1faWRiRmFjdG9y
eSA9IElEQkZhY3Rvcnk6OmNyZWF0ZSgqY29ubmVjdGlvblByb3h5KTsKLSAgICB9Ci0KLSAgICBy
ZXR1cm4gbV9pZGJGYWN0b3J5LmdldCgpOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9ET01XaW5kb3dJbmRleGVkRGF0
YWJhc2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9E
T01XaW5kb3dJbmRleGVkRGF0YWJhc2UuaAkocmV2aXNpb24gMjc1MTcyKQorKysgU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvRE9NV2luZG93SW5kZXhlZERhdGFiYXNlLmgJKG5vbmV4
aXN0ZW50KQpAQCAtMSw1MyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDExLCBHb29n
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZSBtZXQ6Ci0gKgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgR09PR0xFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnIEFORAotICogQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQotICogQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUKLSAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCi0gKiBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgot
ICogU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIKLSAqIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAotICogTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQot
ICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNICi0gKiBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0K
LSNpbmNsdWRlICJET01XaW5kb3dQcm9wZXJ0eS5oIgotI2luY2x1ZGUgIlN1cHBsZW1lbnRhYmxl
LmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgSURCRmFjdG9yeTsKLWNsYXNzIERP
TVdpbmRvdzsKLQotY2xhc3MgRE9NV2luZG93SW5kZXhlZERhdGFiYXNlIDogcHVibGljIERPTVdp
bmRvd1Byb3BlcnR5LCBwdWJsaWMgU3VwcGxlbWVudDxET01XaW5kb3c+IHsKLSAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKLXB1YmxpYzoKLSAgICBleHBsaWNpdCBET01XaW5kb3dJbmRleGVk
RGF0YWJhc2UoRE9NV2luZG93Kik7Ci0gICAgdmlydHVhbCB+RE9NV2luZG93SW5kZXhlZERhdGFi
YXNlKCk7Ci0KLSAgICBzdGF0aWMgRE9NV2luZG93SW5kZXhlZERhdGFiYXNlKiBmcm9tKERPTVdp
bmRvdyopOwotCi0gICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIElEQkZhY3RvcnkqIGluZGV4ZWRE
QihET01XaW5kb3cmKTsKLQotcHJpdmF0ZToKLSAgICBJREJGYWN0b3J5KiBpbmRleGVkREIoKTsK
LSAgICBzdGF0aWMgY29uc3QgY2hhciogc3VwcGxlbWVudE5hbWUoKTsKLQotICAgIFJlZlB0cjxJ
REJGYWN0b3J5PiBtX2lkYkZhY3Rvcnk7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9XaW5kb3dPcldvcmtlckdsb2Jh
bFNjb3BlK0luZGV4ZWREYXRhYmFzZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZStJbmRleGVkRGF0YWJh
c2UuaWRsCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUrSW5kZXhlZERhdGFiYXNlLmlkbAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDM1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA4LTIwMjEgQXBw
bGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gCisgKgorICovCisKKy8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9JbmRleGVkREIv
I2ZhY3RvcnktaW50ZXJmYWNlCitbCisgICAgSW1wbGVtZW50ZWRCeT1XaW5kb3dPcldvcmtlckds
b2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlCitdIHBhcnRpYWwgaW50ZXJmYWNlIG1peGluIFdpbmRv
d09yV29ya2VyR2xvYmFsU2NvcGUgeworICAgIFtTYW1lT2JqZWN0XSByZWFkb25seSBhdHRyaWJ1
dGUgSURCRmFjdG9yeSBpbmRleGVkREI7CisgICAgCisgICAgLy8gTm9uLXN0YW5kYXJkLgorICAg
IFtFeHBvc2VkPVdpbmRvdywgSW1wbGVtZW50ZWRBcz1pbmRleGVkREJdIHJlYWRvbmx5IGF0dHJp
YnV0ZSBJREJGYWN0b3J5IHdlYmtpdEluZGV4ZWREQjsKK307CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlSW5kZXhlZERhdGFi
YXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9X
aW5kb3dPcldvcmtlckdsb2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlLmNwcAkobm9uZXhpc3RlbnQp
CisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9XaW5kb3dPcldvcmtlckdsb2Jh
bFNjb3BlSW5kZXhlZERhdGFiYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE2MCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOC0yMDIxIEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBS
ZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOSwgMjAxMSBHb29nbGUgSW5jLiBBbGwgUmln
aHRzIFJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXaW5kb3dPcldvcmtlckdsb2Jh
bFNjb3BlSW5kZXhlZERhdGFiYXNlLmgiCisKKyNpbmNsdWRlICJET01XaW5kb3cuaCIKKyNpbmNs
dWRlICJET01XaW5kb3dQcm9wZXJ0eS5oIgorI2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVk
ZSAiSURCQ29ubmVjdGlvblByb3h5LmgiCisjaW5jbHVkZSAiSURCRmFjdG9yeS5oIgorI2luY2x1
ZGUgIlBhZ2UuaCIKKyNpbmNsdWRlICJTdXBwbGVtZW50YWJsZS5oIgorI2luY2x1ZGUgIldvcmtl
ckdsb2JhbFNjb3BlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRE9NV2luZG93
SW5kZXhlZERhdGFiYXNlIDogcHVibGljIERPTVdpbmRvd1Byb3BlcnR5LCBwdWJsaWMgU3VwcGxl
bWVudDxET01XaW5kb3c+IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoK
KyAgICBleHBsaWNpdCBET01XaW5kb3dJbmRleGVkRGF0YWJhc2UoRE9NV2luZG93Jik7CisgICAg
dmlydHVhbCB+RE9NV2luZG93SW5kZXhlZERhdGFiYXNlKCkgPSBkZWZhdWx0OworCisgICAgc3Rh
dGljIERPTVdpbmRvd0luZGV4ZWREYXRhYmFzZSogZnJvbShET01XaW5kb3cmKTsKKyAgICBJREJG
YWN0b3J5KiBpbmRleGVkREIoKTsKKworcHJpdmF0ZToKKyAgICBzdGF0aWMgY29uc3QgY2hhciog
c3VwcGxlbWVudE5hbWUoKSB7IHJldHVybiAiRE9NV2luZG93SW5kZXhlZERhdGFiYXNlIjsgfQor
CisgICAgUmVmUHRyPElEQkZhY3Rvcnk+IG1faWRiRmFjdG9yeTsKK307CisKK2NsYXNzIFdvcmtl
ckdsb2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlIDogcHVibGljIFN1cHBsZW1lbnQ8V29ya2VyR2xv
YmFsU2NvcGU+IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBl
eHBsaWNpdCBXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZShJREJDbGllbnQ6OklEQkNv
bm5lY3Rpb25Qcm94eSYpOworICAgIHZpcnR1YWwgfldvcmtlckdsb2JhbFNjb3BlSW5kZXhlZERh
dGFiYXNlKCkgPSBkZWZhdWx0OworCisgICAgc3RhdGljIFdvcmtlckdsb2JhbFNjb3BlSW5kZXhl
ZERhdGFiYXNlKiBmcm9tKFdvcmtlckdsb2JhbFNjb3BlJik7CisgICAgSURCRmFjdG9yeSogaW5k
ZXhlZERCKCk7CisKK3ByaXZhdGU6CisgICAgc3RhdGljIGNvbnN0IGNoYXIqIHN1cHBsZW1lbnRO
YW1lKCkgeyByZXR1cm4gIldvcmtlckdsb2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlIjsgfQorCisg
ICAgUmVmUHRyPElEQkZhY3Rvcnk+IG1faWRiRmFjdG9yeTsKKyAgICBSZWY8SURCQ2xpZW50OjpJ
REJDb25uZWN0aW9uUHJveHk+IG1fY29ubmVjdGlvblByb3h5OworfTsKKworLy8gRE9NV2luZG93
SW5kZXhlZERhdGFiYXNlIHN1cHBsZW1lbnQuCisKK0RPTVdpbmRvd0luZGV4ZWREYXRhYmFzZTo6
RE9NV2luZG93SW5kZXhlZERhdGFiYXNlKERPTVdpbmRvdyYgd2luZG93KQorICAgIDogRE9NV2lu
ZG93UHJvcGVydHkoJndpbmRvdykKK3sKK30KKworRE9NV2luZG93SW5kZXhlZERhdGFiYXNlKiBE
T01XaW5kb3dJbmRleGVkRGF0YWJhc2U6OmZyb20oRE9NV2luZG93JiB3aW5kb3cpCit7CisgICAg
YXV0byogc3VwcGxlbWVudCA9IHN0YXRpY19jYXN0PERPTVdpbmRvd0luZGV4ZWREYXRhYmFzZSo+
KFN1cHBsZW1lbnQ8RE9NV2luZG93Pjo6ZnJvbSgmd2luZG93LCBzdXBwbGVtZW50TmFtZSgpKSk7
CisgICAgaWYgKCFzdXBwbGVtZW50KSB7CisgICAgICAgIGF1dG8gbmV3U3VwcGxlbWVudCA9IG1h
a2VVbmlxdWU8RE9NV2luZG93SW5kZXhlZERhdGFiYXNlPih3aW5kb3cpOworICAgICAgICBzdXBw
bGVtZW50ID0gbmV3U3VwcGxlbWVudC5nZXQoKTsKKyAgICAgICAgcHJvdmlkZVRvKCZ3aW5kb3cs
IHN1cHBsZW1lbnROYW1lKCksIFdURk1vdmUobmV3U3VwcGxlbWVudCkpOworICAgIH0KKyAgICBy
ZXR1cm4gc3VwcGxlbWVudDsKK30KKworSURCRmFjdG9yeSogRE9NV2luZG93SW5kZXhlZERhdGFi
YXNlOjppbmRleGVkREIoKQoreworICAgIGF1dG8qIHdpbmRvdyA9IHRoaXMtPndpbmRvdygpOwor
ICAgIGlmICghd2luZG93KQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIGF1dG8qIGRv
Y3VtZW50ID0gd2luZG93LT5kb2N1bWVudCgpOworICAgIGlmICghZG9jdW1lbnQpCisgICAgICAg
IHJldHVybiBudWxscHRyOworCisgICAgYXV0byogcGFnZSA9IGRvY3VtZW50LT5wYWdlKCk7Cisg
ICAgaWYgKCFwYWdlKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIGlmICghd2luZG93
LT5pc0N1cnJlbnRseURpc3BsYXllZEluRnJhbWUoKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7
CisKKyAgICBpZiAoIW1faWRiRmFjdG9yeSkgeworICAgICAgICBhdXRvKiBjb25uZWN0aW9uUHJv
eHkgPSBkb2N1bWVudC0+aWRiQ29ubmVjdGlvblByb3h5KCk7CisgICAgICAgIGlmICghY29ubmVj
dGlvblByb3h5KQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICAgICAgbV9pZGJG
YWN0b3J5ID0gSURCRmFjdG9yeTo6Y3JlYXRlKCpjb25uZWN0aW9uUHJveHkpOworICAgIH0KKwor
ICAgIHJldHVybiBtX2lkYkZhY3RvcnkuZ2V0KCk7Cit9CisKKy8vIFdvcmtlckdsb2JhbFNjb3Bl
IHN1cHBsZW1lbnQuCisKK1dvcmtlckdsb2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlOjpXb3JrZXJH
bG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZShJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSYg
Y29ubmVjdGlvblByb3h5KQorICAgIDogbV9jb25uZWN0aW9uUHJveHkoY29ubmVjdGlvblByb3h5
KQoreworfQorCitXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZSogV29ya2VyR2xvYmFs
U2NvcGVJbmRleGVkRGF0YWJhc2U6OmZyb20oV29ya2VyR2xvYmFsU2NvcGUmIHNjb3BlKQorewor
ICAgIGF1dG8qIHN1cHBsZW1lbnQgPSBzdGF0aWNfY2FzdDxXb3JrZXJHbG9iYWxTY29wZUluZGV4
ZWREYXRhYmFzZSo+KFN1cHBsZW1lbnQ8V29ya2VyR2xvYmFsU2NvcGU+Ojpmcm9tKCZzY29wZSwg
c3VwcGxlbWVudE5hbWUoKSkpOworICAgIGlmICghc3VwcGxlbWVudCkgeworICAgICAgICBhdXRv
KiBjb25uZWN0aW9uUHJveHkgPSBzY29wZS5pZGJDb25uZWN0aW9uUHJveHkoKTsKKyAgICAgICAg
aWYgKCFjb25uZWN0aW9uUHJveHkpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAg
ICAgICBhdXRvIG5ld1N1cHBsZW1lbnQgPSBtYWtlVW5pcXVlPFdvcmtlckdsb2JhbFNjb3BlSW5k
ZXhlZERhdGFiYXNlPigqY29ubmVjdGlvblByb3h5KTsKKyAgICAgICAgc3VwcGxlbWVudCA9IG5l
d1N1cHBsZW1lbnQuZ2V0KCk7CisgICAgICAgIHByb3ZpZGVUbygmc2NvcGUsIHN1cHBsZW1lbnRO
YW1lKCksIFdURk1vdmUobmV3U3VwcGxlbWVudCkpOworICAgIH0KKyAgICByZXR1cm4gc3VwcGxl
bWVudDsKK30KKworSURCRmFjdG9yeSogV29ya2VyR2xvYmFsU2NvcGVJbmRleGVkRGF0YWJhc2U6
OmluZGV4ZWREQigpCit7CisgICAgaWYgKCFtX2lkYkZhY3RvcnkpCisgICAgICAgIG1faWRiRmFj
dG9yeSA9IElEQkZhY3Rvcnk6OmNyZWF0ZShtX2Nvbm5lY3Rpb25Qcm94eS5nZXQoKSk7CisgICAg
cmV0dXJuIG1faWRiRmFjdG9yeS5nZXQoKTsKK30KKworCitJREJGYWN0b3J5KiBXaW5kb3dPcldv
cmtlckdsb2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlOjppbmRleGVkREIoV29ya2VyR2xvYmFsU2Nv
cGUmIHNjb3BlKQoreworICAgIGF1dG8qIHNjb3BlSURCID0gV29ya2VyR2xvYmFsU2NvcGVJbmRl
eGVkRGF0YWJhc2U6OmZyb20oc2NvcGUpOworICAgIHJldHVybiBzY29wZUlEQiA/IHNjb3BlSURC
LT5pbmRleGVkREIoKSA6IG51bGxwdHI7Cit9CisKK0lEQkZhY3RvcnkqIFdpbmRvd09yV29ya2Vy
R2xvYmFsU2NvcGVJbmRleGVkRGF0YWJhc2U6OmluZGV4ZWREQihET01XaW5kb3cmIHdpbmRvdykK
K3sKKyAgICByZXR1cm4gRE9NV2luZG93SW5kZXhlZERhdGFiYXNlOjpmcm9tKHdpbmRvdyktPmlu
ZGV4ZWREQigpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlSW5kZXhlZERh
dGFiYXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
V2luZG93T3JXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZS5oCShub25leGlzdGVudCkK
KysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL1dpbmRvd09yV29ya2VyR2xvYmFs
U2NvcGVJbmRleGVkRGF0YWJhc2UuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQxIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDA4LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
CisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqCisgKi8KKworI3By
YWdtYSBvbmNlCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRE9NV2luZG93OworY2xh
c3MgSURCRmFjdG9yeTsKK2NsYXNzIFdvcmtlckdsb2JhbFNjb3BlOworCitjbGFzcyBXaW5kb3dP
cldvcmtlckdsb2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlIHsKK3B1YmxpYzoKKyAgICBXRUJDT1JF
X0VYUE9SVCBzdGF0aWMgSURCRmFjdG9yeSogaW5kZXhlZERCKERPTVdpbmRvdyYpOworICAgIFdF
QkNPUkVfRVhQT1JUIHN0YXRpYyBJREJGYWN0b3J5KiBpbmRleGVkREIoV29ya2VyR2xvYmFsU2Nv
cGUmKTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL1dvcmtlckdsb2JhbFNjb3BlK0luZGV4ZWREYXRhYmFzZS5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvV29ya2VyR2xv
YmFsU2NvcGUrSW5kZXhlZERhdGFiYXNlLmlkbAkocmV2aXNpb24gMjc1MTcyKQorKysgU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvV29ya2VyR2xvYmFsU2NvcGUrSW5kZXhlZERhdGFi
YXNlLmlkbAkobm9uZXhpc3RlbnQpCkBAIC0xLDMzICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMDgsIDIwMTYgQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICoKLSAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgot
ICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycg
QU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAot
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKgotICovCi0KLS8vIGh0dHBzOi8vdzNjLmdp
dGh1Yi5pby9JbmRleGVkREIvI2ZhY3RvcnktaW50ZXJmYWNlCi0vLyBGSVhNRTogVGhpcyBzaG91
bGQgYmUgbWVyZ2VkIHdpdGggRE9NV2luZG93K0luZGV4ZWREYXRhYmFzZS5pZGwgaW50byBhIG5l
dyBXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlK0luZGV4ZWREYXRhYmFzZS5pZGwgdG8gbWF0Y2gg
dGhlIHNwZWMuCi1bCi0gICAgSW1wbGVtZW50ZWRCeT1Xb3JrZXJHbG9iYWxTY29wZUluZGV4ZWRE
YXRhYmFzZQotXSBwYXJ0aWFsIGludGVyZmFjZSBXb3JrZXJHbG9iYWxTY29wZSB7Ci0gICAgW1Nh
bWVPYmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0ZSBJREJGYWN0b3J5IGluZGV4ZWREQjsKLX07Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9Xb3JrZXJHbG9iYWxTY29wZUlu
ZGV4ZWREYXRhYmFzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvV29ya2VyR2xvYmFsU2NvcGVJbmRleGVkRGF0YWJhc2UuY3BwCShyZXZpc2lvbiAy
NzUxNzIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9Xb3JrZXJHbG9iYWxT
Y29wZUluZGV4ZWREYXRhYmFzZS5jcHAJKG5vbmV4aXN0ZW50KQpAQCAtMSw4MCArMCwwIEBACi0v
KgotICogQ29weXJpZ2h0IChDKSAyMDA4IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4K
LSAqIENvcHlyaWdodCAoQykgMjAwOSwgMjAxMSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2Vy
dmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
Ci0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKgotICovCi0KLSNp
bmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRh
YmFzZS5oIgotCi0jaW5jbHVkZSAiSURCQ29ubmVjdGlvblByb3h5LmgiCi0jaW5jbHVkZSAiSURC
RmFjdG9yeS5oIgotI2luY2x1ZGUgIklEQk9wZW5EQlJlcXVlc3QuaCIKLSNpbmNsdWRlICJTY3Jp
cHRFeGVjdXRpb25Db250ZXh0LmgiCi0jaW5jbHVkZSAiV29ya2VyR2xvYmFsU2NvcGUuaCIKLQot
bmFtZXNwYWNlIFdlYkNvcmUgewotCi1Xb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZTo6
V29ya2VyR2xvYmFsU2NvcGVJbmRleGVkRGF0YWJhc2UoV29ya2VyR2xvYmFsU2NvcGUmLCBJREJD
bGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSYgY29ubmVjdGlvblByb3h5KQotICAgIDogbV9jb25u
ZWN0aW9uUHJveHkoY29ubmVjdGlvblByb3h5KQotewotfQotCi1Xb3JrZXJHbG9iYWxTY29wZUlu
ZGV4ZWREYXRhYmFzZTo6fldvcmtlckdsb2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlKCkgPSBkZWZh
dWx0OwotCi1jb25zdCBjaGFyKiBXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZTo6c3Vw
cGxlbWVudE5hbWUoKQotewotICAgIHJldHVybiAiV29ya2VyR2xvYmFsU2NvcGVJbmRleGVkRGF0
YWJhc2UiOwotfQotCi1Xb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZSogV29ya2VyR2xv
YmFsU2NvcGVJbmRleGVkRGF0YWJhc2U6OmZyb20oV29ya2VyR2xvYmFsU2NvcGUmIHNjb3BlKQot
ewotICAgIFdvcmtlckdsb2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlKiBzdXBwbGVtZW50ID0gc3Rh
dGljX2Nhc3Q8V29ya2VyR2xvYmFsU2NvcGVJbmRleGVkRGF0YWJhc2UqPihTdXBwbGVtZW50PFdv
cmtlckdsb2JhbFNjb3BlPjo6ZnJvbSgmc2NvcGUsIHN1cHBsZW1lbnROYW1lKCkpKTsKLSAgICBp
ZiAoIXN1cHBsZW1lbnQpIHsKLSAgICAgICAgYXV0byogY29ubmVjdGlvblByb3h5ID0gc2NvcGUu
aWRiQ29ubmVjdGlvblByb3h5KCk7Ci0gICAgICAgIGlmICghY29ubmVjdGlvblByb3h5KQotICAg
ICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0KLSAgICAgICAgYXV0byBuZXdTdXBwbGVtZW50ID0g
bWFrZVVuaXF1ZTxXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZT4oc2NvcGUsICpjb25u
ZWN0aW9uUHJveHkpOwotICAgICAgICBzdXBwbGVtZW50ID0gbmV3U3VwcGxlbWVudC5nZXQoKTsK
LSAgICAgICAgcHJvdmlkZVRvKCZzY29wZSwgc3VwcGxlbWVudE5hbWUoKSwgV1RGTW92ZShuZXdT
dXBwbGVtZW50KSk7Ci0gICAgfQotICAgIHJldHVybiBzdXBwbGVtZW50OwotfQotCi1JREJGYWN0
b3J5KiBXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZTo6aW5kZXhlZERCKFdvcmtlckds
b2JhbFNjb3BlJiBzY29wZSkKLXsKLSAgICBhdXRvKiBzY29wZUlEQiA9IGZyb20oc2NvcGUpOwot
ICAgIHJldHVybiBzY29wZUlEQiA/IHNjb3BlSURCLT5pbmRleGVkREIoKSA6IG51bGxwdHI7Ci19
Ci0KLUlEQkZhY3RvcnkqIFdvcmtlckdsb2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlOjppbmRleGVk
REIoKQotewotICAgIGlmICghbV9pZGJGYWN0b3J5KQotICAgICAgICBtX2lkYkZhY3RvcnkgPSBJ
REJGYWN0b3J5OjpjcmVhdGUobV9jb25uZWN0aW9uUHJveHkuZ2V0KCkpOwotCi0gICAgcmV0dXJu
IG1faWRiRmFjdG9yeS5nZXQoKTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDog
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvV29ya2VyR2xvYmFsU2NvcGVJbmRleGVk
RGF0YWJhc2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9Xb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZS5oCShyZXZpc2lvbiAyNzUxNzIpCisr
KyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9Xb3JrZXJHbG9iYWxTY29wZUluZGV4
ZWREYXRhYmFzZS5oCShub25leGlzdGVudCkKQEAgLTEsNTkgKzAsMCBAQAotLyoKLSAqIENvcHly
aWdodCAoQykgMjAwOCwgMjAwOSwgMjAxMywgMjAxNCwgMjAxNSwgMjAxNiBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFy
ZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
LSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgot
ICoKLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2luY2x1ZGUgIlN1cHBsZW1lbnRhYmxlLmgiCi0j
aW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQot
Y2xhc3MgSURCRmFjdG9yeTsKLWNsYXNzIFdvcmtlckdsb2JhbFNjb3BlOwotCi1uYW1lc3BhY2Ug
SURCQ2xpZW50IHsKLWNsYXNzIElEQkNvbm5lY3Rpb25Qcm94eTsKLX0KLQotY2xhc3MgV29ya2Vy
R2xvYmFsU2NvcGVJbmRleGVkRGF0YWJhc2UgOiBwdWJsaWMgU3VwcGxlbWVudDxXb3JrZXJHbG9i
YWxTY29wZT4gewotICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwotcHVibGljOgotICAgIGV4
cGxpY2l0IFdvcmtlckdsb2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlKFdvcmtlckdsb2JhbFNjb3Bl
JiwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkmKTsKLSAgICB2aXJ0dWFsIH5Xb3JrZXJH
bG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZSgpOwotCi0gICAgc3RhdGljIElEQkZhY3RvcnkqIGlu
ZGV4ZWREQihXb3JrZXJHbG9iYWxTY29wZSYpOwotCi1wcml2YXRlOgotICAgIElEQkZhY3Rvcnkq
IGluZGV4ZWREQigpOwotCi0gICAgc3RhdGljIGNvbnN0IGNoYXIqIHN1cHBsZW1lbnROYW1lKCk7
Ci0gICAgc3RhdGljIFdvcmtlckdsb2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlKiBmcm9tKFdvcmtl
ckdsb2JhbFNjb3BlJik7Ci0KLSAgICBSZWZQdHI8SURCRmFjdG9yeT4gbV9pZGJGYWN0b3J5Owot
ICAgIFJlZjxJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eT4gbV9jb25uZWN0aW9uUHJveHk7
Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyNzUxNzIpCisr
KyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtp
bmcgY29weSkKQEAgLTE1MjksNyArMTUyOSw2IEBACiAJCTUxODJDMjVBMUYzMTQzQ0QwMDU5QkE3
QyAvKiBKU1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE4MkMyNEQxRjMxNDI1MDAwNTlCQTdDIC8qIEpTU2Vy
dmljZVdvcmtlckdsb2JhbFNjb3BlLmggKi87IH07CiAJCTUxODJDMjVDMUYzMTQzQ0QwMDU5QkE3
QyAvKiBKU1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxODJDMjUwMUYzMTQyNTAwMDU5QkE3QyAvKiBKU1Nl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uaCAqLzsgfTsKIAkJNTE4NTQzMEIxRkI2Nzg0NTAwNDc4
Rjk1IC8qIFNXU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE4NTQzMDkxRkI2NzgzRTAwNDc4Rjk1IC8qIFNX
U2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07Ci0JCTUxODVGQzc1MUJCNEM0RTgwMDEyODk4RiAvKiBET01XaW5k
b3dJbmRleGVkRGF0YWJhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDUxRDcxOTZEMTgxMTA2REYwMDE2REM1MSAvKiBET01XaW5kb3dJbmRleGVkRGF0
YWJhc2UuaCAqLzsgfTsKIAkJNTE4NUZDN0IxQkI0QzRFODAwMTI4OThGIC8qIElEQkN1cnNvci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE2NDVCNDEx
QjlGODg5QjAwRjc4OUNFIC8qIElEQkN1cnNvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTUxODVGQzdFMUJCNEM0RTgwMDEyODk4RiAvKiBJREJD
dXJzb3JXaXRoVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDUxNjQ1QjQzMUI5Rjg4OUIwMEY3ODlDRSAvKiBJREJDdXJzb3JXaXRoVmFsdWUuaCAq
LzsgfTsKIAkJNTE4NUZDODExQkI0QzRFODAwMTI4OThGIC8qIElEQkRhdGFiYXNlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTY0NUI0NTFCOUY4ODlC
MDBGNzg5Q0UgLyogSURCRGF0YWJhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwpAQCAtMTU0OSw3ICsxNTQ4LDcgQEAKIAkJNTE4NUZDQUQxQkI0QzRF
ODAwMTI4OThGIC8qIElEQlRyYW5zYWN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1MTY0NUI1MTFCOUY4ODlCMDBGNzg5Q0UgLyogSURCVHJhbnNh
Y3Rpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQk1MTg1RkNCMDFCQjRDNEU4MDAxMjg5OEYgLyogSURCVmVyc2lvbkNoYW5nZUV2ZW50LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTY0NUI1MzFCOUY4
ODlCMDBGNzg5Q0UgLyogSURCVmVyc2lvbkNoYW5nZUV2ZW50LmggKi87IH07CiAJCTUxODVGQ0Iy
MUJCNEM0RTgwMDEyODk4RiAvKiBJbmRleGVkREIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRDcxOUFFMTgxMTA2RTAwMDE2REM1MSAvKiBJbmRleGVk
REIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk1
MTg1RkNCNDFCQjRDNEU4MDAxMjg5OEYgLyogV29ya2VyR2xvYmFsU2NvcGVJbmRleGVkRGF0YWJh
c2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRDcx
OUIyMTgxMTA2RTAwMDE2REM1MSAvKiBXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZS5o
ICovOyB9OworCQk1MTg1RkNCNDFCQjRDNEU4MDAxMjg5OEYgLyogV2luZG93T3JXb3JrZXJHbG9i
YWxTY29wZUluZGV4ZWREYXRhYmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNTFENzE5QjIxODExMDZFMDAwMTZEQzUxIC8qIFdpbmRvd09yV29ya2Vy
R2xvYmFsU2NvcGVJbmRleGVkRGF0YWJhc2UuaCAqLzsgfTsKIAkJNTE4NUZDQjkxQkI0Q0JGODAw
MTI4OThGIC8qIElEQkNvbm5lY3Rpb25Ub0NsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTEwQTU4RkUxQkIwN0FBNTAwQzE5MjgyIC8qIElEQkNv
bm5lY3Rpb25Ub0NsaWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCTUxODVGQ0JCMUJCNENCRjgwMDEyODk4RiAvKiBJREJTZXJ2ZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMEE1OEYwMUJBQjcy
MEYwMEMxOTI4MiAvKiBJREJTZXJ2ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQk1MTg4NjRFMTFCQkFGNTc0MDBFNTQwQzkgLyogVW5pcXVlSURC
RGF0YWJhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDUxODg2NERGMUJCQUYzMEYwMEU1NDBDOSAvKiBVbmlxdWVJREJEYXRhYmFzZS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC04ODk0LDkgKzg4OTMs
NiBAQAogCQk1MUNCRkM5ODBEMTBFNDgzMDAyREJGNTEgLyogQ2FjaGVkRnJhbWVQbGF0Zm9ybURh
dGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2FjaGVkRnJhbWVQbGF0Zm9y
bURhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTFEMTI0OEExRTczNjI1QzAw
MkIyODIwIC8qIE5ldHdvcmtTdG9yYWdlU2Vzc2lvbkNvY29hLm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBwYXRoID0gTmV0d29ya1N0b3JhZ2VTZXNzaW9uQ29jb2EubW07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxRDEyNDhDMUU3MzY0NTYwMDJCMjgyMCAvKiBD
b29raWVDb2NvYS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IENv
b2tpZUNvY29hLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1MUQ3MTk2QzE4MTEw
NkRGMDAxNkRDNTEgLyogRE9NV2luZG93SW5kZXhlZERhdGFiYXNlLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERPTVdpbmRvd0luZGV4ZWREYXRhYmFzZS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTUxRDcxOTZEMTgxMTA2REYwMDE2REM1MSAvKiBE
T01XaW5kb3dJbmRleGVkRGF0YWJhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gRE9NV2luZG93SW5kZXhlZERhdGFiYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
Ci0JCTUxRDcxOTZFMTgxMTA2REYwMDE2REM1MSAvKiBET01XaW5kb3crSW5kZXhlZERhdGFiYXNl
LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSAiRE9NV2luZG93K0luZGV4ZWREYXRhYmFzZS5p
ZGwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MUQ3MTk3NzE4MTEwNkRGMDAxNkRD
NTEgLyogSURCQ3Vyc29yLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBJREJDdXJzb3IuaWRs
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MUQ3MTk3QjE4MTEwNkRGMDAxNkRDNTEg
LyogSURCQ3Vyc29yV2l0aFZhbHVlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBJREJDdXJz
b3JXaXRoVmFsdWUuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MUQ3MTk3RTE4
MTEwNkRGMDAxNkRDNTEgLyogSURCRGF0YWJhc2UuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9
IElEQkRhdGFiYXNlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTg5MTUsOSAr
ODkxMSw5IEBACiAJCTUxRDcxOUE2MTgxMTA2RTAwMDE2REM1MSAvKiBJREJUcmFuc2FjdGlvbi5p
ZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gSURCVHJhbnNhY3Rpb24uaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk1MUQ3MTlBRDE4MTEwNkUwMDAxNkRDNTEgLyogSURCVmVyc2lv
bkNoYW5nZUV2ZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBJREJWZXJzaW9uQ2hhbmdl
RXZlbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MUQ3MTlBRTE4MTEwNkUw
MDAxNkRDNTEgLyogSW5kZXhlZERCLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEluZGV4ZWREQi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1MUQ3MTlCMTE4MTEw
NkUwMDAxNkRDNTEgLyogV29ya2VyR2xvYmFsU2NvcGVJbmRleGVkRGF0YWJhc2UuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV29ya2VyR2xvYmFsU2NvcGVJbmRleGVk
RGF0YWJhc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1MUQ3MTlCMjE4MTEw
NkUwMDAxNkRDNTEgLyogV29ya2VyR2xvYmFsU2NvcGVJbmRleGVkRGF0YWJhc2UuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV29ya2VyR2xvYmFsU2NvcGVJbmRleGVkRGF0YWJh
c2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNTFENzE5QjMxODExMDZFMDAwMTZE
QzUxIC8qIFdvcmtlckdsb2JhbFNjb3BlK0luZGV4ZWREYXRhYmFzZS5pZGwgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0OyBwYXRoID0gIldvcmtlckdsb2JhbFNjb3BlK0luZGV4ZWREYXRhYmFzZS5pZGwiOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MUQ3MTlCMTE4MTEwNkUwMDAxNkRDNTEgLyogV2lu
ZG93T3JXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlSW5kZXhlZERh
dGFiYXNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTFENzE5QjIxODExMDZF
MDAwMTZEQzUxIC8qIFdpbmRvd09yV29ya2VyR2xvYmFsU2NvcGVJbmRleGVkRGF0YWJhc2UuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2luZG93T3JXb3JrZXJHbG9iYWxTY29w
ZUluZGV4ZWREYXRhYmFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MUQ3MTlC
MzE4MTEwNkUwMDAxNkRDNTEgLyogV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZStJbmRleGVkRGF0
YWJhc2UuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9ICJXaW5kb3dPcldvcmtlckdsb2JhbFNj
b3BlK0luZGV4ZWREYXRhYmFzZS5pZGwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1
MUQ3MjM2QTFCQjYwQkZFMDA0NzhDQTMgLyogSURCUmVzdWx0RGF0YS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJREJSZXN1bHREYXRhLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNTFENzIzNkIxQkI2MEJGRTAwNDc4Q0EzIC8qIElEQlJlc3VsdERh
dGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSURCUmVzdWx0RGF0YS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MUQ3RUZFQjFCREVGQTQ3MDBFOTNFMTAgLyog
VHJhbnNhY3Rpb25PcGVyYXRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gVHJhbnNhY3Rpb25PcGVyYXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMjQwOTAsOSArMjQwODYsNiBAQAogCQkJCTUxMDMxMDQyMUJBOEM2NEMwMDMzMjlDMCAv
KiBjbGllbnQgKi8sCiAJCQkJNTEwQTU4RUUxQkFCNzFFMDAwQzE5MjgyIC8qIHNlcnZlciAqLywK
IAkJCQk1MTBBNThFMTFCQUE0MDk4MDBDMTkyODIgLyogc2hhcmVkICovLAotCQkJCTUxRDcxOTZF
MTgxMTA2REYwMDE2REM1MSAvKiBET01XaW5kb3crSW5kZXhlZERhdGFiYXNlLmlkbCAqLywKLQkJ
CQk1MUQ3MTk2QzE4MTEwNkRGMDAxNkRDNTEgLyogRE9NV2luZG93SW5kZXhlZERhdGFiYXNlLmNw
cCAqLywKLQkJCQk1MUQ3MTk2RDE4MTEwNkRGMDAxNkRDNTEgLyogRE9NV2luZG93SW5kZXhlZERh
dGFiYXNlLmggKi8sCiAJCQkJNTE3MTRFQTcxQ0Y0REU4NzAwNDcyM0M0IC8qIElEQkFjdGl2ZURP
TU9iamVjdC5oICovLAogCQkJCTUxNjQ1QjU0MUI5Rjg4RTgwMEY3ODlDRSAvKiBJREJDdXJzb3Iu
Y3BwICovLAogCQkJCTUxNjQ1QjQxMUI5Rjg4OUIwMEY3ODlDRSAvKiBJREJDdXJzb3IuaCAqLywK
QEAgLTI0MTUzLDkgKzI0MTQ2LDkgQEAKIAkJCQk1MTY0NUI1MzFCOUY4ODlCMDBGNzg5Q0UgLyog
SURCVmVyc2lvbkNoYW5nZUV2ZW50LmggKi8sCiAJCQkJNTFENzE5QUQxODExMDZFMDAwMTZEQzUx
IC8qIElEQlZlcnNpb25DaGFuZ2VFdmVudC5pZGwgKi8sCiAJCQkJNTFENzE5QUUxODExMDZFMDAw
MTZEQzUxIC8qIEluZGV4ZWREQi5oICovLAotCQkJCTUxRDcxOUIzMTgxMTA2RTAwMDE2REM1MSAv
KiBXb3JrZXJHbG9iYWxTY29wZStJbmRleGVkRGF0YWJhc2UuaWRsICovLAotCQkJCTUxRDcxOUIx
MTgxMTA2RTAwMDE2REM1MSAvKiBXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZS5jcHAg
Ki8sCi0JCQkJNTFENzE5QjIxODExMDZFMDAwMTZEQzUxIC8qIFdvcmtlckdsb2JhbFNjb3BlSW5k
ZXhlZERhdGFiYXNlLmggKi8sCisJCQkJNTFENzE5QjMxODExMDZFMDAwMTZEQzUxIC8qIFdpbmRv
d09yV29ya2VyR2xvYmFsU2NvcGUrSW5kZXhlZERhdGFiYXNlLmlkbCAqLywKKwkJCQk1MUQ3MTlC
MTE4MTEwNkUwMDAxNkRDNTEgLyogV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRh
YmFzZS5jcHAgKi8sCisJCQkJNTFENzE5QjIxODExMDZFMDAwMTZEQzUxIC8qIFdpbmRvd09yV29y
a2VyR2xvYmFsU2NvcGVJbmRleGVkRGF0YWJhc2UuaCAqLywKIAkJCSk7CiAJCQlwYXRoID0gaW5k
ZXhlZGRiOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTMyMjA1LDcgKzMyMTk4LDYg
QEAKIAkJCQkxNDAzQjk5NzA5RUIxM0FGMDA3OTdDN0YgLyogRE9NV2luZG93LmggaW4gSGVhZGVy
cyAqLywKIAkJCQk0MUQxMjlEMTFGM0QwRjBFMDBEMTVFNDcgLyogRE9NV2luZG93Q2FjaGVzLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk1MUZBMkQ3ODE1MjEzMkIzMDBDMUJBMEIgLyogRE9NV2luZG93
RXh0ZW5zaW9uLmggaW4gSGVhZGVycyAqLywKLQkJCQk1MTg1RkM3NTFCQjRDNEU4MDAxMjg5OEYg
LyogRE9NV2luZG93SW5kZXhlZERhdGFiYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk5N0QyQUQw
NDE0QjgyM0E2MDA5M0RGMzIgLyogRE9NV2luZG93UHJvcGVydHkuaCBpbiBIZWFkZXJzICovLAog
CQkJCUFBMkE1QUQ2MTZBNDg2MTYwMDk3NUEyNSAvKiBET01XaW5kb3dTcGVlY2hTeW50aGVzaXMu
aCBpbiBIZWFkZXJzICovLAogCQkJCUE4Q0NCQjQ5MTUxRjgzMTYwMEFCN0NFOSAvKiBET01XaW5k
b3dXZWJEYXRhYmFzZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0zNTczMiw2ICszNTcyNCw3IEBACiAJ
CQkJOUIyN0ZDNjAyMzREOUFEQjAwMzk0QTQ2IC8qIFdpbmRvd0V2ZW50TG9vcC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQkM4MjQzRTkwRDBDRkQ3NTAwNDYwQzhGIC8qIFdpbmRvd0ZlYXR1cmVzLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk3RTk5QUY1MzBCMTM4NDY0NjhGQjAxQTUgLyogV2luZG93Rm9j
dXNBbGxvd2VkSW5kaWNhdG9yLmggaW4gSGVhZGVycyAqLywKKwkJCQk1MTg1RkNCNDFCQjRDNEU4
MDAxMjg5OEYgLyogV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNDYzNTIxQUQyMDgxMDkyQTAwQzI4OTIyIC8qIFdpbmRvd1Byb3h5
LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUUxQkYwMDExNUZGNkZCMDA2RjUyQ0EgLyogV2luZG93
c0tleWJvYXJkQ29kZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTUwMUJBQUE5MTM5NTBFMkMwMEY3
QUNFQiAvKiBXaW5kUnVsZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0zNTc1NCw3ICszNTc0Nyw2IEBA
CiAJCQkJOTFFMEREQzQyMzBCNDFGMTAwMTlFMUUzIC8qIFdvcmtlckRPTURlYnVnZ2VyQWdlbnQu
aCBpbiBIZWFkZXJzICovLAogCQkJCTJFNDM0NjQ5MEY1NDZBODIwMEIwRjFCQSAvKiBXb3JrZXJH
bG9iYWxTY29wZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDFEMTI5Q0UxRjNEMEVGNjAwRDE1RTQ3
IC8qIFdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmggaW4gSGVhZGVycyAqLywKLQkJCQk1MTg1RkNC
NDFCQjRDNEU4MDAxMjg5OEYgLyogV29ya2VyR2xvYmFsU2NvcGVJbmRleGVkRGF0YWJhc2UuaCBp
biBIZWFkZXJzICovLAogCQkJCTJFNDM0NjRCMEY1NDZBODIwMEIwRjFCQSAvKiBXb3JrZXJHbG9i
YWxTY29wZVByb3h5LmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTRBMEM2MjFEQjdGOEMxMDAxN0E5
MEIgLyogV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTU0
QTBDNkMxREI4MzFGOTAwMTdBOTBCIC8qIFdvcmtlckluc3BlY3RvclByb3h5LmggaW4gSGVhZGVy
cyAqLywKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9t
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRv
d0N1c3RvbS5jcHAJKHJldmlzaW9uIDI3NTE3MikKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjEsNyArMjEsNiBA
QAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkpTRE9NV2luZG93Q3VzdG9tLmgiCiAK
LSNpbmNsdWRlICJET01XaW5kb3dJbmRleGVkRGF0YWJhc2UuaCIKICNpbmNsdWRlICJET01XaW5k
b3dXZWJEYXRhYmFzZS5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiSFRNTERvY3Vt
ZW50LmgiCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3Rvcklu
ZGV4ZWREQkFnZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
YWdlbnRzL0luc3BlY3RvckluZGV4ZWREQkFnZW50LmNwcAkocmV2aXNpb24gMjc1MTcyKQorKysg
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JJbmRleGVkREJBZ2VudC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTM1LDcgKzM1LDYgQEAKICNpbmNsdWRlICJBZGRFdmVudExp
c3RlbmVyT3B0aW9ucy5oIgogI2luY2x1ZGUgIkRPTVN0cmluZ0xpc3QuaCIKICNpbmNsdWRlICJE
T01XaW5kb3cuaCIKLSNpbmNsdWRlICJET01XaW5kb3dJbmRleGVkRGF0YWJhc2UuaCIKICNpbmNs
dWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkV2ZW50LmgiCiAjaW5jbHVkZSAiRXZlbnRMaXN0
ZW5lci5oIgpAQCAtNTksNiArNTgsNyBAQAogI2luY2x1ZGUgIkluc3RydW1lbnRpbmdBZ2VudHMu
aCIKICNpbmNsdWRlICJTY3JpcHRTdGF0ZS5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgi
CisjaW5jbHVkZSAiV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZS5oIgog
I2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0hlYXBJbmxpbmVzLmg+CiAjaW5jbHVkZSA8SmF2YVNj
cmlwdENvcmUvSW5qZWN0ZWRTY3JpcHQuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9Jbmpl
Y3RlZFNjcmlwdE1hbmFnZXIuaD4KQEAgLTU1Niw3ICs1NTYsNyBAQCBzdGF0aWMgUHJvdG9jb2w6
OkVycm9yU3RyaW5nT3I8SURCRmFjdG9yCiAgICAgaWYgKCFkb21XaW5kb3cpCiAgICAgICAgIHJl
dHVybiBtYWtlVW5leHBlY3RlZCgiTWlzc2luZyB3aW5kb3cgZm9yIGdpdmVuIGRvY3VtZW50Il9z
KTsKIAotICAgIElEQkZhY3RvcnkqIGlkYkZhY3RvcnkgPSBET01XaW5kb3dJbmRleGVkRGF0YWJh
c2U6OmluZGV4ZWREQigqZG9tV2luZG93KTsKKyAgICBJREJGYWN0b3J5KiBpZGJGYWN0b3J5ID0g
V2luZG93T3JXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZTo6aW5kZXhlZERCKCpkb21X
aW5kb3cpOwogICAgIGlmICghaWRiRmFjdG9yeSkKICAgICAgICAgbWFrZVVuZXhwZWN0ZWQoIk1p
c3NpbmcgSW5kZXhlZERCIGZhY3Rvcnkgb2Ygd2luZG93IGZvciBnaXZlbiBkb2N1bWVudCJfcyk7
CiAgICAgCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>