<?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>227211</bug_id>
          
          <creation_ts>2021-06-21 06:01:51 -0700</creation_ts>
          <short_desc>Rename LayoutIntegration namespace to LayoutBridge</short_desc>
          <delta_ts>2021-06-28 06:02:29 -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>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></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="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>annulen</cc>
    
    <cc>apinheiro</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>cfleizach</cc>
    
    <cc>changseok</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mifenton</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>pdr</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>samuel_white</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1771262</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-06-21 06:01:51 -0700</bug_when>
    <thetext>Use a somewhat less awkward name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771263</commentid>
    <comment_count>1</comment_count>
      <attachid>431851</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-06-21 06:05:35 -0700</bug_when>
    <thetext>Created attachment 431851
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771267</commentid>
    <comment_count>2</comment_count>
      <attachid>431854</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-06-21 06:26:05 -0700</bug_when>
    <thetext>Created attachment 431854
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771269</commentid>
    <comment_count>3</comment_count>
      <attachid>431854</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-06-21 06:30:54 -0700</bug_when>
    <thetext>Comment on attachment 431854
patch

(as discussed on Slack) some of the new names just sound a bit odd now like LayoutBridgeCoverage. They should be addressed in a follow-up patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771304</commentid>
    <comment_count>4</comment_count>
      <attachid>431866</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-06-21 09:00:28 -0700</bug_when>
    <thetext>Created attachment 431866
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771305</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-06-21 09:01:41 -0700</bug_when>
    <thetext>Zalan Bujtas found in /Volumes/Data/worker/Commit-Queue/build/Source/WebCore/ChangeLog does not appear to be a valid reviewer according to contributors.json.
/Volumes/Data/worker/Commit-Queue/build/Source/WebCore/ChangeLog neither lists a valid reviewer nor contains the string &quot;Unreviewed&quot; or &quot;Rubber stamp&quot; (case insensitive).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1773039</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-06-28 06:02:29 -0700</bug_when>
    <thetext>&lt;rdar://problem/79861145&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431851</attachid>
            <date>2021-06-21 06:05:35 -0700</date>
            <delta_ts>2021-06-21 06:26:05 -0700</delta_ts>
            <desc>patch</desc>
            <filename>layout-brige.patch</filename>
            <type>text/plain</type>
            <size>145917</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAyNGVjZWM5MGRkNmMuLjI5MjRiZjM0OGUzYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE1NyBAQAorMjAyMS0wNi0yMSAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5j
b20+CisKKyAgICAgICAgUmVuYW1lIExheW91dEludGVncmF0aW9uIG5hbWVzcGFjZSB0byBMYXlv
dXRCcmlkZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIyNzIxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFVzZSBhIHNvbWV3aGF0IGxlc3MgYXdrd2FyZCBuYW1lLgorCisgICAgICAgICogTW9kdWxlcy9o
aWdobGlnaHQvSGlnaGxpZ2h0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnJlcGFpbnRSYW5nZSk6
CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpsb2NhbENhcmV0UmVjdEZvckNoYXJh
Y3Rlck9mZnNldCk6CisgICAgICAgICogZG9tL0RvY3VtZW50TWFya2VyQ29udHJvbGxlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudE1hcmtlckNvbnRyb2xsZXI6OmFkZE1hcmtlcik6
CisgICAgICAgICogZG9tL1Bvc2l0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Omhhc0lubGlu
ZVJ1bik6CisgICAgICAgIChXZWJDb3JlOjpQb3NpdGlvbjo6dXBzdHJlYW0gY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6UG9zaXRpb246OmRvd25zdHJlYW0gY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6c2VhcmNoQWhlYWRGb3JCZXR0ZXJNYXRjaCk6CisgICAgICAgIChXZWJDb3JlOjpQb3Np
dGlvbjo6aW5saW5lUnVuQW5kT2Zmc2V0IGNvbnN0KToKKyAgICAgICAgKiBlZGl0aW5nL0NvbXBv
c2l0ZUVkaXRDb21tYW5kLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbXBvc2l0ZUVkaXRDb21t
YW5kOjpkZWxldGVJbnNpZ25pZmljYW50VGV4dCk6CisgICAgICAgICogZWRpdGluZy9FZGl0b3Iu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RWRpdG9yOjpzZXRDb21wb3NpdGlvbik6CisgICAgICAg
ICogZWRpdGluZy9JbmxpbmVSdW5BbmRPZmZzZXQuaDoKKyAgICAgICAgKiBlZGl0aW5nL1JlbmRl
cmVkUG9zaXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyZWRQb3NpdGlvbjo6UmVu
ZGVyZWRQb3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJlZFBvc2l0aW9uOjpwcmV2
aW91c0xlYWZPbkxpbmUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyZWRQb3NpdGlv
bjo6bmV4dExlYWZPbkxpbmUgY29uc3QpOgorICAgICAgICAqIGVkaXRpbmcvUmVuZGVyZWRQb3Np
dGlvbi5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyZWRQb3NpdGlvbjo6bGluZSBjb25zdCk6
CisgICAgICAgICogZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
VGV4dEl0ZXJhdG9yOjpoYW5kbGVUZXh0Tm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0SXRl
cmF0b3I6OmhhbmRsZVRleHRSdW4pOgorICAgICAgICAoV2ViQ29yZTo6VGV4dEl0ZXJhdG9yOjpo
YW5kbGVUZXh0Tm9kZUZpcnN0TGV0dGVyKToKKyAgICAgICAgKiBlZGl0aW5nL1RleHRJdGVyYXRv
ci5oOgorICAgICAgICAqIGVkaXRpbmcvVmlzaWJsZVBvc2l0aW9uLmNwcDoKKyAgICAgICAgKiBl
ZGl0aW5nL1Zpc2libGVVbml0cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjppc1RleHRPckxpbmVC
cmVha1J1bik6CisgICAgICAgIChXZWJDb3JlOjpwcmV2aW91c1RleHRPckxpbmVCcmVha1J1bik6
CisgICAgICAgIChXZWJDb3JlOjpuZXh0VGV4dE9yTGluZUJyZWFrUnVuKToKKyAgICAgICAgKFdl
YkNvcmU6OnN0YXJ0VGV4dE9yTGluZUJyZWFrUnVuKToKKyAgICAgICAgKFdlYkNvcmU6OmVuZFRl
eHRPckxpbmVCcmVha1J1bik6CisgICAgICAgIChXZWJDb3JlOjpsb2dpY2FsbHlQcmV2aW91c1J1
bik6CisgICAgICAgIChXZWJDb3JlOjpsb2dpY2FsbHlOZXh0UnVuKToKKyAgICAgICAgKFdlYkNv
cmU6OndvcmRCcmVha0l0ZXJhdG9yRm9yTWluT2Zmc2V0Qm91bmRhcnkpOgorICAgICAgICAoV2Vi
Q29yZTo6d29yZEJyZWFrSXRlcmF0b3JGb3JNYXhPZmZzZXRCb3VuZGFyeSk6CisgICAgICAgIChX
ZWJDb3JlOjp2aXN1YWxXb3JkUG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6c3RhcnRQb3Np
dGlvbkZvckxpbmUpOgorICAgICAgICAoV2ViQ29yZTo6ZW5kUG9zaXRpb25Gb3JMaW5lKToKKyAg
ICAgICAgKFdlYkNvcmU6OmFic29sdXRlTGluZURpcmVjdGlvblBvaW50VG9Mb2NhbFBvaW50SW5C
bG9jayk6CisgICAgICAgIChXZWJDb3JlOjpwcmV2aW91c0xpbmVQb3NpdGlvbik6CisgICAgICAg
IChXZWJDb3JlOjpuZXh0TGluZVBvc2l0aW9uKToKKyAgICAgICAgKiBsYXlvdXQvYnJpZGdlL0xh
eW91dEJyaWRnZUJveFRyZWUuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvbGF5b3V0
L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uQm94VHJlZS5jcHAuCisgICAgICAgICogbGF5
b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VCb3hUcmVlLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25Cb3hUcmVlLmguCisgICAg
ICAgICogbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VDb3ZlcmFnZS5jcHA6IFJlbmFtZWQgZnJv
bSBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25Db3Zl
cmFnZS5jcHAuCisgICAgICAgICogbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VDb3ZlcmFnZS5o
OiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dElu
dGVncmF0aW9uQ292ZXJhZ2UuaC4KKyAgICAgICAgKiBsYXlvdXQvYnJpZGdlL0xheW91dEJyaWRn
ZUlubGluZUNvbnRlbnQuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvbGF5b3V0L2lu
dGVncmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudC5jcHAuCisgICAgICAgICog
bGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VJbmxpbmVDb250ZW50Lmg6IFJlbmFtZWQgZnJvbSBT
b3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVD
b250ZW50LmguCisgICAgICAgICogbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VJbmxpbmVDb250
ZW50QnVpbGRlci5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdy
YXRpb24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50QnVpbGRlci5jcHAuCisgICAgICAg
ICogbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VJbmxpbmVDb250ZW50QnVpbGRlci5oOiBSZW5h
bWVkIGZyb20gU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0
aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuaC4KKyAgICAgICAgKiBsYXlvdXQvYnJpZGdlL0xheW91
dEJyaWRnZUxpbmUuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3Jh
dGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmUuaC4KKyAgICAgICAgKiBsYXlvdXQvYnJpZGdlL0xh
eW91dEJyaWRnZUxpbmVJdGVyYXRvci5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9s
YXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3IuY3BwLgorICAg
ICAgICAqIGxheW91dC9icmlkZ2UvTGF5b3V0QnJpZGdlTGluZUl0ZXJhdG9yLmg6IFJlbmFtZWQg
ZnJvbSBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25M
aW5lSXRlcmF0b3IuaC4KKyAgICAgICAgKiBsYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZUxpbmVJ
dGVyYXRvckxlZ2FjeVBhdGguaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2xheW91dC9p
bnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVJdGVyYXRvckxlZ2FjeVBhdGguaC4KKyAg
ICAgICAgKiBsYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZUxpbmVJdGVyYXRvck1vZGVyblBhdGgu
aDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJ
bnRlZ3JhdGlvbkxpbmVJdGVyYXRvck1vZGVyblBhdGguaC4KKyAgICAgICAgKiBsYXlvdXQvYnJp
ZGdlL0xheW91dEJyaWRnZUxpbmVMYXlvdXQuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNv
cmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZUxheW91dC5jcHAuCisg
ICAgICAgICogbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VMaW5lTGF5b3V0Lmg6IFJlbmFtZWQg
ZnJvbSBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25M
aW5lTGF5b3V0LmguCisgICAgICAgICogbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VQYWdpbmF0
aW9uLmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9M
YXlvdXRJbnRlZ3JhdGlvblBhZ2luYXRpb24uY3BwLgorICAgICAgICAqIGxheW91dC9icmlkZ2Uv
TGF5b3V0QnJpZGdlUGFnaW5hdGlvbi5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvbGF5
b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uUGFnaW5hdGlvbi5oLgorICAgICAgICAq
IGxheW91dC9icmlkZ2UvTGF5b3V0QnJpZGdlUnVuLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25SdW4uaC4KKyAgICAgICAg
KiBsYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZVJ1bkl0ZXJhdG9yLmNwcDogUmVuYW1lZCBmcm9t
IFNvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblJ1bkl0
ZXJhdG9yLmNwcC4KKyAgICAgICAgKiBsYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZVJ1bkl0ZXJh
dG9yLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5
b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvci5oLgorICAgICAgICAoaXNUeXBlKToKKyAgICAgICAg
KiBsYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZVJ1bkl0ZXJhdG9yTGVnYWN5UGF0aC5oOiBSZW5h
bWVkIGZyb20gU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0
aW9uUnVuSXRlcmF0b3JMZWdhY3lQYXRoLmguCisgICAgICAgICogbGF5b3V0L2JyaWRnZS9MYXlv
dXRCcmlkZ2VSdW5JdGVyYXRvck1vZGVyblBhdGguaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJD
b3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yTW9kZXJu
UGF0aC5oLgorICAgICAgICAqIHBhZ2UvTWVtb3J5UmVsZWFzZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpyZWxlYXNlTm9uY3JpdGljYWxNZW1vcnkpOgorICAgICAgICAqIHJlbmRlcmluZy9DYXJl
dFJlY3RDb21wdXRhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjb21wdXRlQ2FyZXRSZWN0
Rm9yTGluZVBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OmNvbXB1dGVDYXJldFJlY3RGb3JU
ZXh0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6bGF5b3V0SW5saW5lQ2hpbGRyZW4pOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93OjpzdHlsZURpZENoYW5nZSk6CisgICAgICAgIChX
ZWJDb3JlOjpwb3NpdGlvbkZvclJ1bik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9ja0Zs
b3c6OmZpbmRDbG9zZXN0VGV4dEF0QWJzb2x1dGVQb2ludCk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJCbG9ja0Zsb3c6OnBvc2l0aW9uRm9yUG9pbnRXaXRoSW5saW5lQ2hpbGRyZW4pOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93OjpsYXlvdXRNb2Rlcm5MaW5lcyk6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyQmxvY2tGbG93OjpoYXNNb2Rlcm5MaW5lTGF5b3V0IGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckJsb2NrRmxvdzo6bW9kZXJuTGluZUxheW91dCBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6Om1vZGVybkxpbmVMYXlvdXQpOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjpzdHls
ZURpZENoYW5nZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6Z2V0TGVhZGluZ0Nvcm5lciBjb25zdCk6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckltYWdlOjpjb2xsZWN0U2VsZWN0aW9uR2VvbWV0cmllcyk6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlcklubGluZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbmxpbmU6OnN0
eWxlRGlkQ2hhbmdlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlcklubGluZTo6YWJzb2x1dGVS
ZWN0cyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbmxpbmU6OmFic29sdXRlUXVh
ZHMgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW5saW5lOjphYnNvbHV0ZVF1YWRz
SWdub3JpbmdDb250aW51YXRpb24gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW5s
aW5lOjphYnNvbHV0ZVF1YWRzRm9yU2VsZWN0aW9uIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlcklubGluZTo6b2Zmc2V0TGVmdCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJJbmxpbmU6Om9mZnNldFRvcCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbmxp
bmU6Om5vZGVBdFBvaW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlcklubGluZTo6bGluZXNC
b3VuZGluZ0JveCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbmxpbmU6OmxpbmVz
VmlzdWFsT3ZlcmZsb3dCb3VuZGluZ0JveCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJJbmxpbmU6OmNsaXBwZWRPdmVyZmxvd1JlY3QgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVySW5saW5lOjphZGRGb2N1c1JpbmdSZWN0cyk6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlckxpbmVCcmVhay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaW5lQnJlYWs6Omxp
bmVzQm91bmRpbmdCb3ggY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGluZUJyZWFr
OjphYnNvbHV0ZVJlY3RzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpbmVCcmVh
azo6YWJzb2x1dGVRdWFkcyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaW5lQnJl
YWs6OmNvbGxlY3RTZWxlY3Rpb25HZW9tZXRyaWVzKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6aW5zZXJ0ZWRJ
bnRvVHJlZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OndpbGxCZVJlbW92ZWRG
cm9tVHJlZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OnNldFNlbGVjdGlvblN0
YXRlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyUmVwbGFjZWQ6OnBvc2l0aW9uRm9yUG9pbnQpOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJUZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRleHQ6OmFi
c29sdXRlUmVjdHMgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dDo6Y29sbGVj
dFNlbGVjdGlvbkdlb21ldHJpZXMpOgorICAgICAgICAoV2ViQ29yZTo6Ym91bmRhcmllc0ZvclRl
eHRSdW4pOgorICAgICAgICAoV2ViQ29yZTo6ZWxsaXBzaXNSZWN0Rm9yVGV4dFJ1bik6CisgICAg
ICAgIChXZWJDb3JlOjpjb2xsZWN0QWJzb2x1dGVRdWFkcyk6CisgICAgICAgIChXZWJDb3JlOjps
b2NhbFF1YWRGb3JUZXh0UnVuKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRleHQ6OmFic29s
dXRlUXVhZHNGb3JSYW5nZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpsaW5lRGlyZWN0aW9u
UG9pbnRGaXRzSW5Cb3gpOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlVmlzaWJsZVBvc2l0aW9u
Rm9yQm94KToKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZVZpc2libGVQb3NpdGlvbkFmdGVyQWRq
dXN0aW5nT2Zmc2V0Rm9yQmlEaSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0Ojpwb3Np
dGlvbkZvclBvaW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRleHQ6OmZpcnN0UnVuTG9j
YXRpb24gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dDo6c2V0VGV4dCk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0Ojp1c2VzTGVnYWN5TGluZUxheW91dFBhdGggY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dDo6bGluZXNCb3VuZGluZ0JveCBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0Ojpjb2xsZWN0U2VsZWN0aW9uR2VvbWV0
cmllc0ZvckxpbmVCb3hlcyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0OjpjYXJldE1p
bk9mZnNldCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0OjpjYXJldE1heE9m
ZnNldCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0Ojpjb3VudFJlbmRlcmVk
Q2hhcmFjdGVyT2Zmc2V0c1VudGlsIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnRhaW5z
T2Zmc2V0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRleHQ6Omhhc1JlbmRlcmVkVGV4dCBj
b25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRleHQuaDoKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUcmVl
QXNUZXh0Ojp3cml0ZVJlbmRlck9iamVjdCk6CisgICAgICAgIChXZWJDb3JlOjp3cml0ZSk6Cisg
ICAgICAgICogcmVuZGVyaW5nL1RleHRQYWludGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRl
eHRQYWludGVyOjpjbGVhckdseXBoRGlzcGxheUxpc3RzKToKKwogMjAyMS0wNi0yMCAgQWxhbiBC
dWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgSGl0VGVzdExvY2F0aW9uOjptX2Jv
dW5kaW5nQm94IHNob3VsZCBiZSBhYmxlIGhvbGQgc3VicGl4ZWwgdmFsdWVzCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9IaWdobGlnaHQuY3BwIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvSGlnaGxpZ2h0LmNwcAppbmRleCAxMzRmM2E5YjJi
Y2YuLjcyN2ZlMGM1OTcxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdo
bGlnaHQvSGlnaGxpZ2h0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdo
dC9IaWdobGlnaHQuY3BwCkBAIC0zOCw3ICszOCw3IEBACiAjaW5jbHVkZSA8d3RmL1JlZi5oPgog
CiAjaWYgRU5BQkxFKExBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpCi0jaW5jbHVkZSAiTGF5b3V0
SW50ZWdyYXRpb25MaW5lTGF5b3V0LmgiCisjaW5jbHVkZSAiTGF5b3V0QnJpZGdlTGluZUxheW91
dC5oIgogI2VuZGlmCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTY5LDcgKzY5LDcgQEAgc3Rh
dGljIHZvaWQgcmVwYWludFJhbmdlKGNvbnN0IFNpbXBsZVJhbmdlJiByYW5nZSkKICAgICBmb3Ig
KGF1dG8mIG5vZGUgOiBpbnRlcnNlY3RpbmdOb2Rlcyhzb3J0ZWRSYW5nZSkpIHsKICAgICAgICAg
aWYgKGF1dG8gcmVuZGVyZXIgPSBub2RlLnJlbmRlcmVyKCkpIHsKICNpZiBFTkFCTEUoTEFZT1VU
X0ZPUk1BVFRJTkdfQ09OVEVYVCkKLSAgICAgICAgICAgIGlmIChhdXRvIGxpbmVMYXlvdXQgPSBM
YXlvdXRJbnRlZ3JhdGlvbjo6TGluZUxheW91dDo6Y29udGFpbmluZygqcmVuZGVyZXIpKQorICAg
ICAgICAgICAgaWYgKGF1dG8gbGluZUxheW91dCA9IExheW91dEJyaWRnZTo6TGluZUxheW91dDo6
Y29udGFpbmluZygqcmVuZGVyZXIpKQogICAgICAgICAgICAgICAgIGxpbmVMYXlvdXQtPmZsb3co
KS5lbnN1cmVMaW5lQm94ZXMoKTsKICNlbmRpZgogICAgICAgICAgICAgcmVuZGVyZXItPnJlcGFp
bnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dl
YkNvcmUvU291cmNlcy50eHQKaW5kZXggYjFiZDVjYWVjYmFlLi5hODJjZGEyMjQ4MTkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1Nv
dXJjZXMudHh0CkBAIC0xNTIyLDYgKzE1MjIsMTQgQEAgbGF5b3V0L0xheW91dFBoYXNlLmNwcAog
bGF5b3V0L0xheW91dFN0YXRlLmNwcAogbGF5b3V0L0xheW91dFVuaXRzLmNwcAogbGF5b3V0L1Zl
cmlmaWNhdGlvbi5jcHAKK2xheW91dC9icmlkZ2UvTGF5b3V0QnJpZGdlQm94VHJlZS5jcHAKK2xh
eW91dC9icmlkZ2UvTGF5b3V0QnJpZGdlQ292ZXJhZ2UuY3BwCitsYXlvdXQvYnJpZGdlL0xheW91
dEJyaWRnZUlubGluZUNvbnRlbnRCdWlsZGVyLmNwcAorbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlk
Z2VJbmxpbmVDb250ZW50LmNwcAorbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VMaW5lSXRlcmF0
b3IuY3BwCitsYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZUxpbmVMYXlvdXQuY3BwCitsYXlvdXQv
YnJpZGdlL0xheW91dEJyaWRnZVBhZ2luYXRpb24uY3BwCitsYXlvdXQvYnJpZGdlL0xheW91dEJy
aWRnZVJ1bkl0ZXJhdG9yLmNwcAogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9ibG9jay9CbG9j
a0Zvcm1hdHRpbmdDb250ZXh0LmNwcAogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9ibG9jay9C
bG9ja0Zvcm1hdHRpbmdHZW9tZXRyeS5jcHAKIGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvYmxv
Y2svQmxvY2tGb3JtYXR0aW5nUXVpcmtzLmNwcApAQCAtMTU0NywxNCArMTU1NSw2IEBAIGxheW91
dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCb3guY3BwCiBsYXlvdXQvZm9y
bWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQnVpbGRlci5jcHAKIGxheW91dC9mb3Jt
YXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZVRleHRJdGVtLmNwcAogbGF5b3V0L2Zvcm1hdHRp
bmdDb250ZXh0cy9pbmxpbmUvdGV4dC9UZXh0VXRpbC5jcHAKLWxheW91dC9pbnRlZ3JhdGlvbi9M
YXlvdXRJbnRlZ3JhdGlvbkJveFRyZWUuY3BwCi1sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50
ZWdyYXRpb25Db3ZlcmFnZS5jcHAKLWxheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlv
bklubGluZUNvbnRlbnRCdWlsZGVyLmNwcAotbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVn
cmF0aW9uSW5saW5lQ29udGVudC5jcHAKLWxheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3Jh
dGlvbkxpbmVJdGVyYXRvci5jcHAKLWxheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlv
bkxpbmVMYXlvdXQuY3BwCi1sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25QYWdp
bmF0aW9uLmNwcAotbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uUnVuSXRlcmF0
b3IuY3BwCiBsYXlvdXQvaW52YWxpZGF0aW9uL0ludmFsaWRhdGlvbkNvbnRleHQuY3BwCiBsYXlv
dXQvaW52YWxpZGF0aW9uL0ludmFsaWRhdGlvblN0YXRlLmNwcAogbGF5b3V0L2xheW91dHRyZWUv
TGF5b3V0Qm94LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCmluZGV4IDdiYWJkNTM4NzAxYS4uZTRlZDYyNGI0MmI3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yMTQw
LDcgKzIxNDAsNiBAQAogCQk2RjI2QkI2QzIzMzQzRTZGMDAyRjJCRUEgLyogTGF5b3V0Q29udGV4
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkYyNkJC
NkIyMzM0M0U1QjAwMkYyQkVBIC8qIExheW91dENvbnRleHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk2RjI2RUI0ODIzNDAwNEE1MDA2OTA2RTIg
LyogSW5saW5lTGluZUJ1aWxkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDZGMjZFQjQ2MjM0MDA0QTUwMDY5MDZFMiAvKiBJbmxpbmVMaW5lQnVpbGRl
ci5oICovOyB9OwogCQk2RjM2MEU1MDIzOTk5NDIxMDAxNTEyQTcgLyogSW5saW5lU29mdExpbmVC
cmVha0l0ZW0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDZGMzYwRTRFMjM5OTk0MjAwMDE1MTJBNyAvKiBJbmxpbmVTb2Z0TGluZUJyZWFrSXRlbS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTZGM0ZCQTk4
MjU1NkUzMTMwMDM1MzBGRCAvKiBMYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2RjNGQkE5
NzI1NTZFMzEyMDAzNTMwRkQgLyogTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50QnVpbGRl
ci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTZG
NDBEQTgyMjUxMzAzM0EwMEVDMDRCNyAvKiBJbmxpbmVSZWN0LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2RjQwREE4MTI1MTMwMzNBMDBFQzA0QjcgLyog
SW5saW5lUmVjdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTZGNDlDM0U3MjY0NzlCM0MwMDUxOTUzRCAvKiBUYWJsZUZvcm1hdHRpbmdRdWlya3Mu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZGNDlDM0U2
MjY0NzlCM0IwMDUxOTUzRCAvKiBUYWJsZUZvcm1hdHRpbmdRdWlya3MuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk2RjU2QjQ0NzI2NDc5RTYyMDBB
QUUyNTcgLyogRm9ybWF0dGluZ1F1aXJrcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNkY1NkI0NDYyNjQ3OUU2MTAwQUFFMjU3IC8qIEZvcm1hdHRpbmdR
dWlya3MuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpA
QCAtMjE2NCwxMyArMjE2MywxMSBAQAogCQk2RkE0NDU0RTg5OEYyRkMxNjhCQzM4QzEgLyogSlNC
ZWZvcmVVbmxvYWRFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMjlFMDRBMjdCRUQyRjgxRjk4RTkwMjJCIC8qIEpTQmVmb3JlVW5sb2FkRXZlbnQu
aCAqLzsgfTsKIAkJNkZCMTFCNUMyMTc4M0ZEMDAwRTJBNTc0IC8qIFRleHRVdGlsLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2RkIxMUI1OTIxNzgzRkNG
MDBFMkE1NzQgLyogVGV4dFV0aWwuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk2RkIyNDAwNTIzREZGMTI4MDA3OTY0NTggLyogSW5saW5lTGluZUJv
eC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkZCMjQw
MDMyM0RGRjEyNzAwNzk2NDU4IC8qIElubGluZUxpbmVCb3guaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk2RkI0N0U2MzIyNzc0MjVBMDBDN0JDQjAg
LyogTGF5b3V0SW50ZWdyYXRpb25MaW5lLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA2RkI0N0U2MTIyNzc0MjVBMDBDN0JDQjAgLyogTGF5b3V0SW50ZWdy
YXRpb25MaW5lLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJNkZCNUUyMTQyMjFGMjQ1MzAwMzk4OUNGIC8qIENvbnRlbnRDaGFuZ2VPYnNlcnZlci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkZCNUUyMTIy
MjFGMjQ0NzAwMzk4OUNGIC8qIENvbnRlbnRDaGFuZ2VPYnNlcnZlci5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTZGQjdEMkREMjUwRkQ4MjgwMDAy
MDdBQSAvKiBGbGV4Rm9ybWF0dGluZ0NvbnRleHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZGQjdEMkQ5MjUwRkQ3RkMwMDAyMDdBQSAvKiBGbGV4Rm9y
bWF0dGluZ0NvbnRleHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQk2RkI3RDJERTI1MEZEODJFMDAwMjA3QUEgLyogRmxleEZvcm1hdHRpbmdTdGF0
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkZCN0Qy
REEyNTBGRDdGQzAwMDIwN0FBIC8qIEZsZXhGb3JtYXR0aW5nU3RhdGUuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk2RkMzRjk0NzI1MTY3NTY3MDBB
NDlCRUEgLyogSW5saW5lTGluZVJ1bi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNkZDM0Y5NDUyNTE2NzU2NjAwQTQ5QkVBIC8qIElubGluZUxpbmVSdW4u
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk2RkNC
REI5NzI2NURGMkM4MDAyMUVBN0IgLyogTGF5b3V0Q29udGFpbmluZ0Jsb2NrQ2hhaW5JdGVyYXRv
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkZDQkRC
OTUyNjVERjJDNzAwMjFFQTdCIC8qIExheW91dENvbnRhaW5pbmdCbG9ja0NoYWluSXRlcmF0b3Iu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk2RkNF
MUExQTIyNjE4QUJEMDA0RjAzNDMgLyogTGF5b3V0SW50ZWdyYXRpb25SdW4uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZGQ0UxQTE4MjI2MThBQjMwMDRG
MDM0MyAvKiBMYXlvdXRJbnRlZ3JhdGlvblJ1bi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTZGRDA5NTQzMjUxMTE1MjIwMDk4ODc3RCAvKiBMYXlv
dXRHZW9tZXRyeVJlY3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDZGRDA5NTQxMjUxMTE1MjIwMDk4ODc3RCAvKiBMYXlvdXRHZW9tZXRyeVJlY3QuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk2RkUxOTgx
NzIxNzgzOTdDMDA0NDZGMDggLyogSW5saW5lQ29udGVudEJyZWFrZXIuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZGRTE5ODE1MjE3ODM5N0MwMDQ0NkYw
OCAvKiBJbmxpbmVDb250ZW50QnJlYWtlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTZGRTYzNkU4MjY0Nzk2MjkwMEYwOTUxRSAvKiBJbmxpbmVG
b3JtYXR0aW5nUXVpcmtzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA2RkU2MzZFNzI2NDc5NjI5MDBGMDk1MUUgLyogSW5saW5lRm9ybWF0dGluZ1F1aXJr
cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC01
MTg4LDkgKzUxODUsNiBAQAogCQlFM0ZBMzg2NDFENzE4MTJEMDBBQTU5NTAgLyogUGVuZGluZ1Nj
cmlwdENsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRTNGQTM4NjExRDcxNkU3NjAwQUE1OTUwIC8qIFBlbmRpbmdTY3JpcHRDbGllbnQuaCAqLzsg
fTsKIAkJRTQwMUMyNzUxN0NFNTNFQzAwQzQxQTM1IC8qIEVsZW1lbnRJdGVyYXRvckFzc2VydGlv
bnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0MDFD
Mjc0MTdDRTUzRUMwMEM0MUEzNSAvKiBFbGVtZW50SXRlcmF0b3JBc3NlcnRpb25zLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTQwMUUwQTQxQzND
MEI4MzAwRjM0RDEwIC8qIFN0eWxlQ2hhbmdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBFNDAxRTBBMzFDM0MwQjgzMDBGMzREMTAgLyogU3R5bGVDaGFu
Z2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQlF
NDAzQjdBMjI1MUIxMTkzMDAxOUU4MDAgLyogTGF5b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQwM0I3QTEyNTFC
MTE5MzAwMTlFODAwIC8qIExheW91dEludGVncmF0aW9uQ292ZXJhZ2UuaCAqLzsgfTsKLQkJRTQw
M0I3QTMyNTFCMTFDMTAwMTlFODAwIC8qIExheW91dEludGVncmF0aW9uUGFnaW5hdGlvbi5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQzMTJBQjcyNEIz
MjY1NjAwNjc4MzQ5IC8qIExheW91dEludGVncmF0aW9uUGFnaW5hdGlvbi5oICovOyB9OwotCQlF
NDE4MDI1NTIzRDQ1NDlCMDBGRkIwNzEgLyogTGF5b3V0SW50ZWdyYXRpb25Cb3hUcmVlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNDE4MDI1MzIzRDQ1
NDlBMDBGRkIwNzEgLyogTGF5b3V0SW50ZWdyYXRpb25Cb3hUcmVlLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTQxOTA0MUYxQ0M2NDg2QjAwQzM1
RjVEIC8qIEZvbnRTZWxlY3RvckNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRTQxOTA0MUUxQ0M2NDg2QjAwQzM1RjVEIC8qIEZvbnRTZWxlY3Rv
ckNsaWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCUU0MjA1MDE3MjE0MTkwMUIwMDY2RUYzQiAvKiBQcm9jZXNzV2FybWluZy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQyMDUwMTQyMTQxOTAxQTAw
NjZFRjNCIC8qIFByb2Nlc3NXYXJtaW5nLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTQyNEEzOUUxMzMwREYwMTAwQ0Y2REM5IC8qIExlZ2FjeVRp
bGVHcmlkVGlsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRTQyNEEzOUQxMzMwREYwMTAwQ0Y2REM5IC8qIExlZ2FjeVRpbGVHcmlkVGlsZS5oICovOyB9
OwpAQCAtNTIyNSw3ICs1MjE5LDYgQEAKIAkJRTQ0RkExODUxQkNBNkI1QTAwOTFCNkVGIC8qIENv
bXBvc2VkVHJlZUl0ZXJhdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBFNDRGQTE4NDFCQ0E2QjVBMDA5MUI2RUYgLyogQ29tcG9zZWRUcmVlSXRlcmF0
b3IuaCAqLzsgfTsKIAkJRTQ1MUM2MzEyMzk0MDI3OTAwOTkzMTkwIC8qIExheW91dFVuaXRzLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2RjczOTE4QzIx
MDZDRUREMDA2QUYyNjIgLyogTGF5b3V0VW5pdHMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFNDUxQzYzMjIzOTQwMzFBMDA5OTMxOTAgLyogTWFy
Z2luVHlwZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDZGRTdBQTI2MjFDMzdCNjMwMDI5NkRDRCAvKiBNYXJnaW5UeXBlcy5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCUU0NTFDNjM0MjM5NDA1OEYwMDk5
MzE5MCAvKiBMYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0NTFDNjMzMjM5NDA1OEUwMDk5MzE5MCAv
KiBMYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFNDUzMjJBQzE0MENFMjY3MDA1QTBGOTIgLyog
U2VsZWN0b3JRdWVyeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRTQ1MzIyQUExNDBDRTI2NzAwNUEwRjkyIC8qIFNlbGVjdG9yUXVlcnkuaCAqLzsgfTsK
IAkJRTQ1QTZDNzcyNDE3QkE1OTAwNkU0Q0Q1IC8qIFBzZXVkb0NsYXNzQ2hhbmdlSW52YWxpZGF0
aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNDVB
NkM3NjI0MTdCQTU5MDA2RTRDRDUgLyogUHNldWRvQ2xhc3NDaGFuZ2VJbnZhbGlkYXRpb24uaCAq
LzsgfTsKIAkJRTQ1QkE2QUEyMzc0OTI2QzAwNERGQzA3IC8qIE1hdGNoZWREZWNsYXJhdGlvbnND
YWNoZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQ1
QkE2QTgyMzc0OTI2QjAwNERGQzA3IC8qIE1hdGNoZWREZWNsYXJhdGlvbnNDYWNoZS5oICovOyB9
OwpAQCAtNTI1NSwxNSArNTI0OCwyNSBAQAogCQlFNDg2M0NGRTIzODQyRTlFMDA5NzIxNTggLyog
UnVsZURhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEU0ODYzQ0ZEMjM4NDJFOUUwMDk3MjE1OCAvKiBSdWxlRGF0YS5oICovOyB9OwogCQlFNDk0NkVB
RjE1NkU2NEREMDBEMzI5N0YgLyogU3R5bGVSdWxlSW1wb3J0LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNDk0NkVBRDE1NkU2NEREMDBEMzI5N0YgLyog
U3R5bGVSdWxlSW1wb3J0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJRTQ5QkQ5RkExMzFGRDJFRDAwM0M1NkYwIC8qIENTU1ZhbHVlUG9vbC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQ5QkQ5RjkxMzFG
RDJFRDAwM0M1NkYwIC8qIENTU1ZhbHVlUG9vbC5oICovOyB9OwotCQlFNEE2NjRDQzI1MjFENEFG
MDA3MDgxREMgLyogTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTRBNjY0QzYyNTIxQjc3ODAwNzA4MURD
IC8qIExheW91dEludGVncmF0aW9uUnVuSXRlcmF0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQlFNEE2NjRDRTI1MjFENEM5MDA3MDgxREMgLyog
TGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvck1vZGVyblBhdGguaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0QTY2NEM0MjUyMUI3NzcwMDcwODFEQyAv
KiBMYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yTW9kZXJuUGF0aC5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCUU0QTY2NENGMjUyMUQ0RTIwMDcw
ODFEQyAvKiBMYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yTGVnYWN5UGF0aC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTRBNjY0QzUyNTIxQjc3ODAw
NzA4MURDIC8qIExheW91dEludGVncmF0aW9uUnVuSXRlcmF0b3JMZWdhY3lQYXRoLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTRBNzk5NTIyMEVF
NEIxNDAwQzE5NTY4IC8qIENTU1BhcnNlckNvbnRleHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0QTc5OTRFMjBFRTRBRTEwMEMxOTU2OCAvKiBDU1NQ
YXJzZXJDb250ZXh0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJRTRBODE0RDQxQzZERUM0MDAwQkY4NUFDIC8qIENsYXNzQ2hhbmdlSW52YWxpZGF0
aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNEE4
MTREMzFDNkRFQzQwMDBCRjg1QUMgLyogQ2xhc3NDaGFuZ2VJbnZhbGlkYXRpb24uaCAqLzsgfTsK
IAkJRTRBODE0REExQzcwRTEwRDAwQkY4NUFDIC8qIEF0dHJpYnV0ZUNoYW5nZUludmFsaWRhdGlv
bi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTRBODE0
RDkxQzcwRTEwRDAwQkY4NUFDIC8qIEF0dHJpYnV0ZUNoYW5nZUludmFsaWRhdGlvbi5oICovOyB9
OwogCQlFNEE4MTRFMDFDNzMzOEVCMDBCRjg1QUMgLyogSWRDaGFuZ2VJbnZhbGlkYXRpb24uaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0QTgxNERGMUM3
MzM4RUIwMEJGODVBQyAvKiBJZENoYW5nZUludmFsaWRhdGlvbi5oICovOyB9OwogCQlFNEE4RDIx
NjIyNTc4REI3MDBBODQ2M0MgLyogRXZlbnRSZWdpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0QThEMjE0MjI1NzhEQTAwMEE4NDYzQyAvKiBFdmVu
dFJlZ2lvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
Ci0JCUU0QUJBQkREMjM2MDg4RkUwMEZBNDM0NSAvKiBMYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlv
dXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0QUJB
QkRCMjM2MDg4RkQwMEZBNDM0NSAvKiBMYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlFNEFBRjM3MzI2
ODBCQjk3MDAzQzU2NzkgLyogTGF5b3V0QnJpZGdlUnVuSXRlcmF0b3JMZWdhY3lQYXRoLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNEFBRjM2RTI2ODBC
QTRBMDAzQzU2NzkgLyogTGF5b3V0QnJpZGdlUnVuSXRlcmF0b3JMZWdhY3lQYXRoLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJRTRBQUYzNzQyNjgw
QkI5NzAwM0M1Njc5IC8qIExheW91dEJyaWRnZVJ1bkl0ZXJhdG9yTW9kZXJuUGF0aC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTRBQUYzNjYyNjgwQkE0
QTAwM0M1Njc5IC8qIExheW91dEJyaWRnZVJ1bkl0ZXJhdG9yTW9kZXJuUGF0aC5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUU0QUFGMzc1MjY4MEJC
OTcwMDNDNTY3OSAvKiBMYXlvdXRCcmlkZ2VSdW5JdGVyYXRvci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTRBQUYzNjgyNjgwQkE0QTAwM0M1Njc5IC8q
IExheW91dEJyaWRnZVJ1bkl0ZXJhdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJRTRBQUYzNzYyNjgwQkJBNzAwM0M1Njc5IC8qIExheW91dEJy
aWRnZVBhZ2luYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEU0QUFGMzZBMjY4MEJBNEEwMDNDNTY3OSAvKiBMYXlvdXRCcmlkZ2VQYWdpbmF0aW9u
LmggKi87IH07CisJCUU0QUFGMzc3MjY4MEJCQTcwMDNDNTY3OSAvKiBMYXlvdXRCcmlkZ2VSdW4u
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0QUFGMzZE
MjY4MEJBNEEwMDNDNTY3OSAvKiBMYXlvdXRCcmlkZ2VSdW4uaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlFNEFBRjM3ODI2ODBCQkFCMDAzQzU2Nzkg
LyogTGF5b3V0QnJpZGdlTGluZUxheW91dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRTRBQUYzNUQyNjgwQkE0QTAwM0M1Njc5IC8qIExheW91dEJyaWRn
ZUxpbmVMYXlvdXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OworCQlFNEFBRjM3OTI2ODBCQkFFMDAzQzU2NzkgLyogTGF5b3V0QnJpZGdlTGluZUl0ZXJh
dG9yTW9kZXJuUGF0aC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRTRBQUYzNkMyNjgwQkE0QTAwM0M1Njc5IC8qIExheW91dEJyaWRnZUxpbmVJdGVyYXRv
ck1vZGVyblBhdGguaCAqLzsgfTsKKwkJRTRBQUYzN0EyNjgwQkJBRTAwM0M1Njc5IC8qIExheW91
dEJyaWRnZUxpbmVJdGVyYXRvckxlZ2FjeVBhdGguaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0QUFGMzY0MjY4MEJBNEEwMDNDNTY3OSAvKiBMYXlvdXRC
cmlkZ2VMaW5lSXRlcmF0b3JMZWdhY3lQYXRoLmggKi87IH07CisJCUU0QUFGMzdCMjY4MEJCQUUw
MDNDNTY3OSAvKiBMYXlvdXRCcmlkZ2VMaW5lSXRlcmF0b3IuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0QUFGMzcyMjY4MEJBNEEwMDNDNTY3OSAvKiBM
YXlvdXRCcmlkZ2VMaW5lSXRlcmF0b3IuaCAqLzsgfTsKKwkJRTRBQUYzN0MyNjgwQkJCMjAwM0M1
Njc5IC8qIExheW91dEJyaWRnZUlubGluZUNvbnRlbnRCdWlsZGVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNEFBRjM2NzI2ODBCQTRBMDAzQzU2Nzkg
LyogTGF5b3V0QnJpZGdlSW5saW5lQ29udGVudEJ1aWxkZXIuaCAqLzsgfTsKKwkJRTRBQUYzN0Qy
NjgwQkJCMjAwM0M1Njc5IC8qIExheW91dEJyaWRnZUxpbmUuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0QUFGMzZGMjY4MEJBNEEwMDNDNTY3OSAvKiBM
YXlvdXRCcmlkZ2VMaW5lLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJRTRBQUYzN0UyNjgwQkJCNDAwM0M1Njc5IC8qIExheW91dEJyaWRnZUlubGlu
ZUNvbnRlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEU0QUFGMzY1MjY4MEJBNEEwMDNDNTY3OSAvKiBMYXlvdXRCcmlkZ2VJbmxpbmVDb250ZW50Lmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJRTRBQUYz
N0YyNjgwQkJCNzAwM0M1Njc5IC8qIExheW91dEJyaWRnZUNvdmVyYWdlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNEFBRjM1RjI2ODBCQTRBMDAzQzU2
NzkgLyogTGF5b3V0QnJpZGdlQ292ZXJhZ2UuaCAqLzsgfTsKKwkJRTRBQUYzODAyNjgwQkJCQjAw
M0M1Njc5IC8qIExheW91dEJyaWRnZUJveFRyZWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0QUFGMzVFMjY4MEJBNEEwMDNDNTY3OSAvKiBMYXlvdXRC
cmlkZ2VCb3hUcmVlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJRTRBQkFCRTQyMzYxQTMyOTAwRkE0MzQ1IC8qIFByb3BlcnR5Q2FzY2FkZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTRBQkFCRTIyMzYx
QTMyOTAwRkE0MzQ1IC8qIFByb3BlcnR5Q2FzY2FkZS5oICovOyB9OwogCQlFNEFCQUJGMzIzNjhC
OTU5MDBGQTQzNDUgLyogU3R5bGVCdWlsZGVyU3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0QUJBQkYyMjM2OEI5NTgwMEZBNDM0NSAvKiBTdHls
ZUJ1aWxkZXJTdGF0ZS5oICovOyB9OwogCQlFNEFCQUJGNTIzNjhDNkVGMDBGQTQzNDUgLyogQ2Fz
Y2FkZUxldmVsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBFNEFCQUJGNDIzNjhDNkVGMDBGQTQzNDUgLyogQ2FzY2FkZUxldmVsLmggKi87IH07CkBAIC01
Mjg2LDkgKzUyODksNiBAQAogCQlFNEM5MUEwRTE4MDIzNDMxMDBBMTdGNkQgLyogVGV4dFBhaW50
U3R5bGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0
QzkxQTBEMTgwMjM0MzEwMEExN0Y2RCAvKiBUZXh0UGFpbnRTdHlsZS5oICovOyB9OwogCQlFNEM5
MUExNjE4MDk5OUYxMDBBMTdGNkQgLyogUmVuZGVyVGV4dExpbmVCb3hlcy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTRDOTFBMTUxODA5OTlGMTAwQTE3
RjZEIC8qIFJlbmRlclRleHRMaW5lQm94ZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQlFNEQzM0YzQjI1MkFFRUNEMDA4MzdEMDUgLyogSW5saW5l
UnVuQW5kT2Zmc2V0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBFNEQzM0YzOTI1MkFFRUNDMDA4MzdEMDUgLyogSW5saW5lUnVuQW5kT2Zmc2V0LmggKi87
IH07Ci0JCUU0RDMzRjQxMjUyQzRCODMwMDgzN0QwNSAvKiBMYXlvdXRJbnRlZ3JhdGlvbkxpbmVJ
dGVyYXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RTREMzNGM0YyNTJDNEI4MjAwODM3RDA1IC8qIExheW91dEludGVncmF0aW9uTGluZUl0ZXJhdG9y
LmggKi87IH07Ci0JCUU0RDMzRjQ0MjUyQzUwRTIwMDgzN0QwNSAvKiBMYXlvdXRJbnRlZ3JhdGlv
bkxpbmVJdGVyYXRvckxlZ2FjeVBhdGguaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEU0RDMzRjQzMjUyQzUwRTIwMDgzN0QwNSAvKiBMYXlvdXRJbnRlZ3Jh
dGlvbkxpbmVJdGVyYXRvckxlZ2FjeVBhdGguaCAqLzsgfTsKLQkJRTREMzNGNDYyNTJDNTBGQzAw
ODM3RDA1IC8qIExheW91dEludGVncmF0aW9uTGluZUl0ZXJhdG9yTW9kZXJuUGF0aC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTREMzNGNDUyNTJDNTBG
QjAwODM3RDA1IC8qIExheW91dEludGVncmF0aW9uTGluZUl0ZXJhdG9yTW9kZXJuUGF0aC5oICov
OyB9OwogCQlFNEQ1OEVCNTE3QjREQkRDMDBDQkRDQTggLyogU3R5bGVSZXNvbHZlRm9yRG9jdW1l
bnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0RDU4
RUIzMTdCNERCREMwMENCRENBOCAvKiBTdHlsZVJlc29sdmVGb3JEb2N1bWVudC5oICovOyB9Owog
CQlFNEQ1OEVCOTE3QjRFRDg5MDBDQkRDQTggLyogU3R5bGVGb250U2l6ZUZ1bmN0aW9ucy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTRENThFQjcxN0I0
RUQ4OTAwQ0JEQ0E4IC8qIFN0eWxlRm9udFNpemVGdW5jdGlvbnMuaCAqLzsgfTsKIAkJRTRENThF
QkIxN0I4RjEyODAwQ0JEQ0E4IC8qIEVsZW1lbnRUcmF2ZXJzYWwuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0RDU4RUJBMTdCOEYxMjgwMENCRENBOCAv
KiBFbGVtZW50VHJhdmVyc2FsLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKQEAgLTEwMDE0LDggKzEwMDE0LDYgQEAKIAkJNkYyNkVCNDYyMzQwMDRBNTAw
NjkwNkUyIC8qIElubGluZUxpbmVCdWlsZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IElubGluZUxpbmVCdWlsZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTZGMzVFRkFGMjE4N0NCRDUwMDQ0RTBGNCAvKiBJbmxpbmVGb3JtYXR0aW5nR2VvbWV0cnkuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW5saW5lRm9ybWF0dGluZ0dl
b21ldHJ5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkYzNjBFNEUyMzk5OTQy
MDAwMTUxMkE3IC8qIElubGluZVNvZnRMaW5lQnJlYWtJdGVtLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IElubGluZVNvZnRMaW5lQnJlYWtJdGVtLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07Ci0JCTZGM0ZCQTk2MjU1NkUzMDgwMDM1MzBGRCAvKiBMYXlvdXRJbnRlZ3Jh
dGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExheW91dElu
dGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwotCQk2RjNGQkE5NzI1NTZFMzEyMDAzNTMwRkQgLyogTGF5b3V0SW50ZWdyYXRpb25Jbmxp
bmVDb250ZW50QnVpbGRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMYXlv
dXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTZGNDBEQTgxMjUxMzAzM0EwMEVDMDRCNyAvKiBJbmxpbmVSZWN0LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElubGluZVJlY3QuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNkY0OUMzRTYyNjQ3OUIzQjAwNTE5NTNEIC8qIFRhYmxlRm9ybWF0dGlu
Z1F1aXJrcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUYWJsZUZvcm1hdHRp
bmdRdWlya3MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkY0QTVCRDUyMkY5RjE2
QjAwQTgwRjI1IC8qIExheW91dFBoYXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExheW91dFBo
YXNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEwMDY4LDcgKzEwMDY2LDYg
QEAKIAkJNkZCMTFCNUIyMTc4M0ZDRjAwRTJBNTc0IC8qIFRleHRVdGlsLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRleHRVdGlsLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNkZCMjJFMzAyMzAwOTdFMzAwQzIwODY2IC8qIFRhYmxlR3JpZC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBUYWJsZUdyaWQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NkZCMjQwMDMyM0RGRjEyNzAwNzk2NDU4IC8qIElubGluZUxpbmVCb3guaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSW5saW5lTGluZUJveC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwotCQk2RkI0N0U2MTIyNzc0MjVBMDBDN0JDQjAgLyogTGF5b3V0SW50ZWdyYXRpb25M
aW5lLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExheW91dEludGVncmF0aW9u
TGluZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2RkI1RTIxMjIyMUYyNDQ3MDAz
OTg5Q0YgLyogQ29udGVudENoYW5nZU9ic2VydmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnRlbnRD
aGFuZ2VPYnNlcnZlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2RkI3RDJENzI1
MEZEN0U1MDAwMjA3QUEgLyogRmxleEZvcm1hdHRpbmdDb250ZXh0LmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEZsZXhGb3JtYXR0aW5nQ29udGV4dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTZGQjdEMkQ4MjUwRkQ3RUYwMDAyMDdBQSAvKiBGbGV4Rm9ybWF0dGluZ1N0YXRlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZsZXhGb3JtYXR0aW5nU3RhdGUuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtMTAwODIsNyArMTAwNzksNiBAQAogCQk2RkM1Q0E5NTIyRTM1
OTk0MDBCMTNFMTEgLyogVGFibGVGb3JtYXR0aW5nQ29udGV4dC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBU
YWJsZUZvcm1hdHRpbmdDb250ZXh0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZG
QzVDQTk2MjJFMzU5OTUwMEIxM0UxMSAvKiBUYWJsZUZvcm1hdHRpbmdTdGF0ZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBUYWJsZUZvcm1hdHRpbmdTdGF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk2RkNCREI5NTI2NURGMkM3MDAyMUVBN0IgLyogTGF5b3V0Q29udGFpbmluZ0Jsb2NrQ2hh
aW5JdGVyYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMYXlvdXRDb250
YWluaW5nQmxvY2tDaGFpbkl0ZXJhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CTZGQ0UxQTE4MjI2MThBQjMwMDRGMDM0MyAvKiBMYXlvdXRJbnRlZ3JhdGlvblJ1bi5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBMYXlvdXRJbnRlZ3JhdGlvblJ1bi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk2RkQwOTU0MTI1MTExNTIyMDA5ODg3N0QgLyogTGF5b3V0R2VvbWV0cnlSZWN0Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExheW91dEdlb21ldHJ5UmVjdC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2RkUxOTgxMzIxNzgzOTdCMDA0NDZGMDggLyog
SW5saW5lQ29udGVudEJyZWFrZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSW5saW5lQ29udGVudEJyZWFrZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk2RkUxOTgxNTIxNzgzOTdDMDA0NDZGMDggLyogSW5saW5lQ29udGVudEJyZWFrZXIuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5saW5lQ29udGVudEJyZWFrZXIuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE2NTM3LDExICsxNjUzMyw3IEBACiAJCUU0
MDFDMjc0MTdDRTUzRUMwMEM0MUEzNSAvKiBFbGVtZW50SXRlcmF0b3JBc3NlcnRpb25zLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEVsZW1lbnRJdGVyYXRvckFzc2VydGlvbnMu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTQwMUUwQTMxQzNDMEI4MzAwRjM0RDEw
IC8qIFN0eWxlQ2hhbmdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0eWxl
Q2hhbmdlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0MDFFMEE1MUMzQzBDRjcw
MEYzNEQxMCAvKiBTdHlsZUNoYW5nZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBTdHlsZUNoYW5nZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUU0
MDNCNzlGMjUxQjExOEIwMDE5RTgwMCAvKiBMYXlvdXRJbnRlZ3JhdGlvbkNvdmVyYWdlLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IExheW91dEludGVncmF0aW9uQ292ZXJhZ2UuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwotCQlFNDAzQjdBMTI1MUIxMTkzMDAxOUU4MDAgLyogTGF5b3V0
SW50ZWdyYXRpb25Db3ZlcmFnZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBM
YXlvdXRJbnRlZ3JhdGlvbkNvdmVyYWdlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUU0MDZGM0ZCMTE5ODMwN0QwMDlENTlENiAvKiBDb2xvckRhdGEuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gQ29sb3JEYXRhLmNwcDsgcGF0aCA9IERlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvQ29sb3JEYXRhLmNwcDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJ
UjsgfTsKLQkJRTQxODAyNTMyM0Q0NTQ5QTAwRkZCMDcxIC8qIExheW91dEludGVncmF0aW9uQm94
VHJlZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMYXlvdXRJbnRlZ3JhdGlv
bkJveFRyZWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRTQxODAyNTYyM0Q0NTRC
NTAwRkZCMDcxIC8qIExheW91dEludGVncmF0aW9uQm94VHJlZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBMYXlvdXRJbnRlZ3JhdGlvbkJveFRyZWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlFNDE5MDQxRTFDQzY0ODZCMDBDMzVGNUQgLyogRm9udFNlbGVjdG9yQ2xpZW50Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZvbnRTZWxlY3RvckNsaWVudC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNDFFQTAzODExOTgzNkRCMDA3MTBCQzUgLyog
Q1NTUHJvcGVydHlOYW1lcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUg
PSBDU1NQcm9wZXJ0eU5hbWVzLmNwcDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvQ1NT
UHJvcGVydHlOYW1lcy5jcHA7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJ
CUU0MUVBMDM5MTE5ODM3NDkwMDcxMEJDNSAvKiBDU1NWYWx1ZUtleXdvcmRzLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IENTU1ZhbHVlS2V5d29yZHMuY3BwOyBwYXRo
ID0gRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9DU1NWYWx1ZUtleXdvcmRzLmNwcDsgc291cmNlVHJl
ZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKQEAgLTE2NTU1LDggKzE2NTQ3LDYgQEAKIAkJRTQy
RTc2REIxQzdBRjc3NjAwRTM2MTREIC8qIFN0eWxlVXBkYXRlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFN0eWxlVXBkYXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUU0MzEwNUI3MTY3NTBGMEMwMERCMkZCOCAvKiBOb2RlVHJhdmVyc2FsLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE5vZGVUcmF2ZXJzYWwuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlFNDMxMDVCQTE2NzUwRjE2MDBEQjJGQjggLyogTm9kZVRy
YXZlcnNhbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOb2RlVHJhdmVyc2Fs
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUU0MzEyQUI1MjRCMzI2NTYwMDY3ODM0
OSAvKiBMYXlvdXRJbnRlZ3JhdGlvblBhZ2luYXRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gTGF5b3V0SW50ZWdyYXRpb25QYWdpbmF0aW9uLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRTQzMTJBQjcyNEIzMjY1NjAwNjc4MzQ5IC8qIExheW91
dEludGVncmF0aW9uUGFnaW5hdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBMYXlvdXRJbnRlZ3JhdGlvblBhZ2luYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRTQzQTAyM0ExN0VCMzcwQTAwNENERDI1IC8qIFJlbmRlckVsZW1lbnQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVyRWxlbWVudC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlFNDNBMDIzQzE3RUIzNzEzMDA0Q0REMjUgLyogUmVuZGVyRWxlbWVu
dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJFbGVtZW50
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTQzQUY4RTQxQUM1QjdERDAwQ0E3
MTdFIC8qIENhY2hlVmFsaWRhdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBDYWNoZVZhbGlkYXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtMTY1OTcsNyArMTY1ODcsNiBAQAogCQlFNDRFRTNBNzE3NTc2RTU1MDBFRUU4Q0YgLyogRm9u
dEdlbmVyaWNGYW1pbGllcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGb250R2VuZXJpY0ZhbWlsaWVzLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0NEZBMTg0MUJDQTZCNUEwMDkxQjZFRiAv
KiBDb21wb3NlZFRyZWVJdGVyYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBDb21wb3NlZFRyZWVJdGVyYXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlF
NDRGQTE4NjFCQ0E5MTU2MDA5MUI2RUYgLyogQ29tcG9zZWRUcmVlSXRlcmF0b3IuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ29tcG9zZWRUcmVlSXRlcmF0b3IuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlFNDUxQzYzMzIzOTQwNThFMDA5OTMxOTAg
LyogTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IExheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlFNDUzMjJBOTE0MENFMjY3MDA1QTBGOTIgLyogU2VsZWN0b3JR
dWVyeS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTZWxlY3RvclF1
ZXJ5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTQ1MzIyQUExNDBDRTI2NzAw
NUEwRjkyIC8qIFNlbGVjdG9yUXVlcnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gU2VsZWN0b3JRdWVyeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNDUzOTAx
OTBFQUZDQUNBMDAzNjk1QzggLyogUGFzdGVib2FyZElPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLm9iamNwcDsgcGF0aCA9IFBhc3RlYm9hcmRJT1MubW07IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC0xNjY1NiwxMCArMTY2NDUsNiBAQAogCQlFNEEwMDc4NDFCODIwRUQzMDAy
QzVBNkUgLyogRGF0YVVSTERlY29kZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gRGF0YVVSTERlY29kZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlFNEExODIyRjFGMTNCRTU4MDBGRUY2OTggLyogU3R5bGVJbnZhbGlkYXRpb25GdW5jdGlvbnMu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gU3R5bGVJbnZhbGlkYXRpb25GdW5jdGlvbnMuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTRBMUFDNzgyMkZBRkQ1MDAwMTdCNzVCIC8qIExlZ2FjeUxp
bmVMYXlvdXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTGVnYWN5TGluZUxh
eW91dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlFNEE2NjRDNDI1MjFCNzc3MDA3
MDgxREMgLyogTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvck1vZGVyblBhdGguaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvck1v
ZGVyblBhdGguaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRTRBNjY0QzUyNTIxQjc3
ODAwNzA4MURDIC8qIExheW91dEludGVncmF0aW9uUnVuSXRlcmF0b3JMZWdhY3lQYXRoLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExheW91dEludGVncmF0aW9uUnVuSXRlcmF0
b3JMZWdhY3lQYXRoLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUU0QTY2NEM2MjUy
MUI3NzgwMDcwODFEQyAvKiBMYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExheW91dEludGVncmF0aW9uUnVuSXRlcmF0b3IuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRTRBNjY0QzcyNTIxQjc3OTAwNzA4MURDIC8q
IExheW91dEludGVncmF0aW9uUnVuSXRlcmF0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0QTc5OTRFMjBFRTRBRTEwMEMxOTU2OCAvKiBDU1NQYXJz
ZXJDb250ZXh0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IENTU1BhcnNlckNv
bnRleHQuaDsgcGF0aCA9IHBhcnNlci9DU1NQYXJzZXJDb250ZXh0Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUU0QTc5OTUwMjBFRTRBRTIwMEMxOTU2OCAvKiBDU1NQYXJzZXJDb250
ZXh0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IENTU1BhcnNlckNv
bnRleHQuY3BwOyBwYXRoID0gcGFyc2VyL0NTU1BhcnNlckNvbnRleHQuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlFNEE4MTREMzFDNkRFQzQwMDBCRjg1QUMgLyogQ2xhc3NDaGFu
Z2VJbnZhbGlkYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2xhc3ND
aGFuZ2VJbnZhbGlkYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE2Njcw
LDggKzE2NjU1LDI4IEBACiAJCUU0QTgxNERGMUM3MzM4RUIwMEJGODVBQyAvKiBJZENoYW5nZUlu
dmFsaWRhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJZENoYW5nZUlu
dmFsaWRhdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNEE4RDIxNDIyNTc4
REEwMDBBODQ2M0MgLyogRXZlbnRSZWdpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gRXZlbnRSZWdpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTRBOEQy
MTUyMjU3OERBMDAwQTg0NjNDIC8qIEV2ZW50UmVnaW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEV2ZW50UmVnaW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJRTRBQkFCREIyMzYwODhGRDAwRkE0MzQ1IC8qIExheW91dEludGVncmF0aW9uTGlu
ZUxheW91dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMYXlvdXRJbnRlZ3Jh
dGlvbkxpbmVMYXlvdXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRTRBQkFCREUy
MzYwODkzRDAwRkE0MzQ1IC8qIExheW91dEludGVncmF0aW9uTGluZUxheW91dC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlv
dXQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFNEFBRjM1RDI2ODBCQTRBMDAz
QzU2NzkgLyogTGF5b3V0QnJpZGdlTGluZUxheW91dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBMYXlvdXRCcmlkZ2VMaW5lTGF5b3V0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUU0QUFGMzVFMjY4MEJBNEEwMDNDNTY3OSAvKiBMYXlvdXRCcmlkZ2VCb3hUcmVl
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExheW91dEJyaWRnZUJveFRyZWUu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTRBQUYzNUYyNjgwQkE0QTAwM0M1Njc5
IC8qIExheW91dEJyaWRnZUNvdmVyYWdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IExheW91dEJyaWRnZUNvdmVyYWdlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUU0QUFGMzYwMjY4MEJBNEEwMDNDNTY3OSAvKiBMYXlvdXRCcmlkZ2VSdW5JdGVyYXRvci5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMYXlvdXRCcmlkZ2VSdW5JdGVy
YXRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUU0QUFGMzYxMjY4MEJBNEEw
MDNDNTY3OSAvKiBMYXlvdXRCcmlkZ2VMaW5lTGF5b3V0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IExheW91dEJyaWRnZUxpbmVMYXlvdXQuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlFNEFBRjM2MjI2ODBCQTRBMDAzQzU2NzkgLyogTGF5b3V0QnJp
ZGdlQm94VHJlZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMYXlv
dXRCcmlkZ2VCb3hUcmVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTRBQUYz
NjMyNjgwQkE0QTAwM0M1Njc5IC8qIExheW91dEJyaWRnZUxpbmVJdGVyYXRvci5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMYXlvdXRCcmlkZ2VMaW5lSXRlcmF0b3Iu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFNEFBRjM2NDI2ODBCQTRBMDAzQzU2
NzkgLyogTGF5b3V0QnJpZGdlTGluZUl0ZXJhdG9yTGVnYWN5UGF0aC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBMYXlvdXRCcmlkZ2VMaW5lSXRlcmF0b3JMZWdhY3lQYXRoLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUU0QUFGMzY1MjY4MEJBNEEwMDNDNTY3OSAv
KiBMYXlvdXRCcmlkZ2VJbmxpbmVDb250ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IExheW91dEJyaWRnZUlubGluZUNvbnRlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJRTRBQUYzNjYyNjgwQkE0QTAwM0M1Njc5IC8qIExheW91dEJyaWRnZVJ1bkl0ZXJh
dG9yTW9kZXJuUGF0aC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMYXlvdXRC
cmlkZ2VSdW5JdGVyYXRvck1vZGVyblBhdGguaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJRTRBQUYzNjcyNjgwQkE0QTAwM0M1Njc5IC8qIExheW91dEJyaWRnZUlubGluZUNvbnRlbnRC
dWlsZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExheW91dEJyaWRnZUlu
bGluZUNvbnRlbnRCdWlsZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUU0QUFG
MzY4MjY4MEJBNEEwMDNDNTY3OSAvKiBMYXlvdXRCcmlkZ2VSdW5JdGVyYXRvci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMYXlvdXRCcmlkZ2VSdW5JdGVyYXRvci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFNEFBRjM2OTI2ODBCQTRBMDAzQzU2NzkgLyogTGF5
b3V0QnJpZGdlQ292ZXJhZ2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gTGF5b3V0QnJpZGdlQ292ZXJhZ2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlFNEFBRjM2QTI2ODBCQTRBMDAzQzU2NzkgLyogTGF5b3V0QnJpZGdlUGFnaW5hdGlvbi5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMYXlvdXRCcmlkZ2VQYWdpbmF0aW9uLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUU0QUFGMzZCMjY4MEJBNEEwMDNDNTY3OSAv
KiBMYXlvdXRCcmlkZ2VJbmxpbmVDb250ZW50QnVpbGRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBMYXlvdXRCcmlkZ2VJbmxpbmVDb250ZW50QnVpbGRlci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUU0QUFGMzZDMjY4MEJBNEEwMDNDNTY3OSAv
KiBMYXlvdXRCcmlkZ2VMaW5lSXRlcmF0b3JNb2Rlcm5QYXRoLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IExheW91dEJyaWRnZUxpbmVJdGVyYXRvck1vZGVyblBhdGguaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTRBQUYzNkQyNjgwQkE0QTAwM0M1Njc5IC8qIExh
eW91dEJyaWRnZVJ1bi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMYXlvdXRC
cmlkZ2VSdW4uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTRBQUYzNkUyNjgwQkE0
QTAwM0M1Njc5IC8qIExheW91dEJyaWRnZVJ1bkl0ZXJhdG9yTGVnYWN5UGF0aC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMYXlvdXRCcmlkZ2VSdW5JdGVyYXRvckxlZ2FjeVBh
dGguaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTRBQUYzNkYyNjgwQkE0QTAwM0M1
Njc5IC8qIExheW91dEJyaWRnZUxpbmUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gTGF5b3V0QnJpZGdlTGluZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFNEFB
RjM3MDI2ODBCQTRBMDAzQzU2NzkgLyogTGF5b3V0QnJpZGdlUGFnaW5hdGlvbi5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMYXlvdXRCcmlkZ2VQYWdpbmF0aW9uLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTRBQUYzNzEyNjgwQkE0QTAwM0M1Njc5
IC8qIExheW91dEJyaWRnZUlubGluZUNvbnRlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gTGF5b3V0QnJpZGdlSW5saW5lQ29udGVudC5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUU0QUFGMzcyMjY4MEJBNEEwMDNDNTY3OSAvKiBMYXlvdXRCcmlk
Z2VMaW5lSXRlcmF0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTGF5b3V0
QnJpZGdlTGluZUl0ZXJhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0QUJB
QkUyMjM2MUEzMjkwMEZBNDM0NSAvKiBQcm9wZXJ0eUNhc2NhZGUuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gUHJvcGVydHlDYXNjYWRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUU0QUJBQkU1MjM2MUEzNDIwMEZBNDM0NSAvKiBQcm9wZXJ0eUNhc2NhZGUuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gUHJvcGVydHlDYXNjYWRlLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJRTRBQkFCRjAyMzY4QjkxODAwRkE0MzQ1IC8qIFN0eWxlQnVpbGRlclN0
YXRlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0eWxlQnVpbGRlclN0YXRlLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE2NzI0LDEwICsxNjcyOSw2IEBACiAJCUU0QzkxQTE1
MTgwOTk5RjEwMEExN0Y2RCAvKiBSZW5kZXJUZXh0TGluZUJveGVzLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRlclRleHRMaW5lQm94ZXMuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJRTRDOTFBMTcxODA5OTlGQjAwQTE3RjZEIC8qIFJlbmRlclRleHRMaW5l
Qm94ZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVuZGVyVGV4
dExpbmVCb3hlcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0RDMzRjM5MjUy
QUVFQ0MwMDgzN0QwNSAvKiBJbmxpbmVSdW5BbmRPZmZzZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSW5saW5lUnVuQW5kT2Zmc2V0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07Ci0JCUU0RDMzRjNGMjUyQzRCODIwMDgzN0QwNSAvKiBMYXlvdXRJbnRlZ3JhdGlvbkxp
bmVJdGVyYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMYXlvdXRJbnRl
Z3JhdGlvbkxpbmVJdGVyYXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlFNEQz
M0Y0MjI1MkM1MEE4MDA4MzdEMDUgLyogTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3IuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3IuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlFNEQzM0Y0MzI1MkM1MEUyMDA4MzdEMDUgLyog
TGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3JMZWdhY3lQYXRoLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IExheW91dEludGVncmF0aW9uTGluZUl0ZXJhdG9yTGVnYWN5UGF0
aC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlFNEQzM0Y0NTI1MkM1MEZCMDA4MzdE
MDUgLyogTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3JNb2Rlcm5QYXRoLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExheW91dEludGVncmF0aW9uTGluZUl0ZXJhdG9yTW9k
ZXJuUGF0aC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNEQ1OEVCMjE3QjREQkRD
MDBDQkRDQTggLyogU3R5bGVSZXNvbHZlRm9yRG9jdW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gU3R5bGVSZXNvbHZlRm9yRG9jdW1lbnQuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlFNEQ1OEVCMzE3QjREQkRDMDBDQkRDQTggLyogU3R5bGVS
ZXNvbHZlRm9yRG9jdW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3R5
bGVSZXNvbHZlRm9yRG9jdW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTRE
NThFQjYxN0I0RUQ4OTAwQ0JEQ0E4IC8qIFN0eWxlRm9udFNpemVGdW5jdGlvbnMuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3R5bGVGb250U2l6ZUZ1bmN0aW9ucy5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNjc1NSw3ICsxNjc1Niw2IEBACiAJ
CUU0RjM4RDFDMjYyNkYxNDQwMDdCMTA2NCAvKiBEZWZhdWx0UmVzb3VyY2VMb2FkUHJpb3JpdHku
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRGVmYXVsdFJlc291cmNl
TG9hZFByaW9yaXR5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTRGOUVFRjAx
NTZEODRDNDAwRDIzRTdFIC8qIFN0eWxlU2hlZXRDb250ZW50cy5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTdHlsZVNoZWV0Q29udGVudHMuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlFNEY5RUVGMTE1NkQ4NEM0MDBEMjNFN0UgLyogU3R5bGVTaGVl
dENvbnRlbnRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0eWxlU2hlZXRD
b250ZW50cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlFNEZCNEIzNTIzOUJFQjEw
MDAzQzMzNkEgLyogTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IExheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudC5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUU1MDYyMDgzMjU0MDkxOUIwMEM0MzA5MSAvKiBDb250YWN0c1Jl
cXVlc3REYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnRhY3RzUmVxdWVzdERhdGEuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTUxNjY5OEYyMEZGOTkxNjAwOUQyQzI3IC8qIExpc3RC
dXR0b25BcnJvd0AyeC5wbmcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBpbWFnZS5wbmc7IHBhdGggPSAiTGlzdEJ1dHRvbkFycm93QDJ4LnBuZyI7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU1MTc2NzAyMjBCODhDMTQwMEQ0MTE2NyAvKiBE
YXRhTGlzdFN1Z2dlc3Rpb25JbmZvcm1hdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEYXRhTGlzdFN1
Z2dlc3Rpb25JbmZvcm1hdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTgz
MDUsOSArMTgzMDUsOSBAQAogCQkxMTVDRkE2NjIwOEFGNzIwMDAxRTY5OTEgLyogbGF5b3V0ICov
ID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQlFNEFBRjM1QzI2
ODBCQTRBMDAzQzU2NzkgLyogYnJpZGdlICovLAogCQkJCTZGQ0ZDMDU1MjEyREFDQzIwMDc2OTVE
MiAvKiBmbG9hdHMgKi8sCiAJCQkJNkY4NDRGN0YyNjNEOTE2MTAwRjkxMzcwIC8qIGZvcm1hdHRp
bmdDb250ZXh0cyAqLywKLQkJCQlFNEZCNEIxRTIzOTUzNTZGMDAzQzMzNkEgLyogaW50ZWdyYXRp
b24gKi8sCiAJCQkJNkY5NURFNEEyMzdCODgzMDAwRTUxN0UxIC8qIGludmFsaWRhdGlvbiAqLywK
IAkJCQkxMTVDRkE5MDIwOEI5NDQxMDAxRTY5OTEgLyogbGF5b3V0dHJlZSAqLywKIAkJCQkxMTVD
RkE3NTIwOEFGRTMwMDAxRTY5OTEgLyogRm9ybWF0dGluZ1N0YXRlLmNwcCAqLywKQEAgLTI5NzI4
LDMzICsyOTcyOCwzMyBAQAogCQkJcGF0aCA9IHVwZGF0aW5nOwogCQkJc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsKIAkJfTsKLQkJRTRGQjRCMUUyMzk1MzU2RjAwM0MzMzZBIC8qIGludGVncmF0aW9u
ICovID0gewotCQkJaXNhID0gUEJYR3JvdXA7Ci0JCQljaGlsZHJlbiA9ICgKLQkJCQlFNDE4MDI1
NjIzRDQ1NEI1MDBGRkIwNzEgLyogTGF5b3V0SW50ZWdyYXRpb25Cb3hUcmVlLmNwcCAqLywKLQkJ
CQlFNDE4MDI1MzIzRDQ1NDlBMDBGRkIwNzEgLyogTGF5b3V0SW50ZWdyYXRpb25Cb3hUcmVlLmgg
Ki8sCi0JCQkJRTQwM0I3OUYyNTFCMTE4QjAwMTlFODAwIC8qIExheW91dEludGVncmF0aW9uQ292
ZXJhZ2UuY3BwICovLAotCQkJCUU0MDNCN0ExMjUxQjExOTMwMDE5RTgwMCAvKiBMYXlvdXRJbnRl
Z3JhdGlvbkNvdmVyYWdlLmggKi8sCi0JCQkJRTRGQjRCMzUyMzlCRUIxMDAwM0MzMzZBIC8qIExh
eW91dEludGVncmF0aW9uSW5saW5lQ29udGVudC5jcHAgKi8sCi0JCQkJRTQ1MUM2MzMyMzk0MDU4
RTAwOTkzMTkwIC8qIExheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudC5oICovLAotCQkJCTZG
M0ZCQTk2MjU1NkUzMDgwMDM1MzBGRCAvKiBMYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRC
dWlsZGVyLmNwcCAqLywKLQkJCQk2RjNGQkE5NzI1NTZFMzEyMDAzNTMwRkQgLyogTGF5b3V0SW50
ZWdyYXRpb25JbmxpbmVDb250ZW50QnVpbGRlci5oICovLAotCQkJCTZGQjQ3RTYxMjI3NzQyNUEw
MEM3QkNCMCAvKiBMYXlvdXRJbnRlZ3JhdGlvbkxpbmUuaCAqLywKLQkJCQlFNEQzM0Y0MjI1MkM1
MEE4MDA4MzdEMDUgLyogTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3IuY3BwICovLAotCQkJ
CUU0RDMzRjNGMjUyQzRCODIwMDgzN0QwNSAvKiBMYXlvdXRJbnRlZ3JhdGlvbkxpbmVJdGVyYXRv
ci5oICovLAotCQkJCUU0RDMzRjQzMjUyQzUwRTIwMDgzN0QwNSAvKiBMYXlvdXRJbnRlZ3JhdGlv
bkxpbmVJdGVyYXRvckxlZ2FjeVBhdGguaCAqLywKLQkJCQlFNEQzM0Y0NTI1MkM1MEZCMDA4MzdE
MDUgLyogTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3JNb2Rlcm5QYXRoLmggKi8sCi0JCQkJ
RTRBQkFCREUyMzYwODkzRDAwRkE0MzQ1IC8qIExheW91dEludGVncmF0aW9uTGluZUxheW91dC5j
cHAgKi8sCi0JCQkJRTRBQkFCREIyMzYwODhGRDAwRkE0MzQ1IC8qIExheW91dEludGVncmF0aW9u
TGluZUxheW91dC5oICovLAotCQkJCUU0MzEyQUI1MjRCMzI2NTYwMDY3ODM0OSAvKiBMYXlvdXRJ
bnRlZ3JhdGlvblBhZ2luYXRpb24uY3BwICovLAotCQkJCUU0MzEyQUI3MjRCMzI2NTYwMDY3ODM0
OSAvKiBMYXlvdXRJbnRlZ3JhdGlvblBhZ2luYXRpb24uaCAqLywKLQkJCQk2RkNFMUExODIyNjE4
QUIzMDA0RjAzNDMgLyogTGF5b3V0SW50ZWdyYXRpb25SdW4uaCAqLywKLQkJCQlFNEE2NjRDNzI1
MjFCNzc5MDA3MDgxREMgLyogTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvci5jcHAgKi8sCi0J
CQkJRTRBNjY0QzYyNTIxQjc3ODAwNzA4MURDIC8qIExheW91dEludGVncmF0aW9uUnVuSXRlcmF0
b3IuaCAqLywKLQkJCQlFNEE2NjRDNTI1MjFCNzc4MDA3MDgxREMgLyogTGF5b3V0SW50ZWdyYXRp
b25SdW5JdGVyYXRvckxlZ2FjeVBhdGguaCAqLywKLQkJCQlFNEE2NjRDNDI1MjFCNzc3MDA3MDgx
REMgLyogTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvck1vZGVyblBhdGguaCAqLywKKwkJRTRB
QUYzNUMyNjgwQkE0QTAwM0M1Njc5IC8qIGJyaWRnZSAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3Vw
OworCQkJY2hpbGRyZW4gPSAoCisJCQkJRTRBQUYzNjIyNjgwQkE0QTAwM0M1Njc5IC8qIExheW91
dEJyaWRnZUJveFRyZWUuY3BwICovLAorCQkJCUU0QUFGMzVFMjY4MEJBNEEwMDNDNTY3OSAvKiBM
YXlvdXRCcmlkZ2VCb3hUcmVlLmggKi8sCisJCQkJRTRBQUYzNjkyNjgwQkE0QTAwM0M1Njc5IC8q
IExheW91dEJyaWRnZUNvdmVyYWdlLmNwcCAqLywKKwkJCQlFNEFBRjM1RjI2ODBCQTRBMDAzQzU2
NzkgLyogTGF5b3V0QnJpZGdlQ292ZXJhZ2UuaCAqLywKKwkJCQlFNEFBRjM3MTI2ODBCQTRBMDAz
QzU2NzkgLyogTGF5b3V0QnJpZGdlSW5saW5lQ29udGVudC5jcHAgKi8sCisJCQkJRTRBQUYzNjUy
NjgwQkE0QTAwM0M1Njc5IC8qIExheW91dEJyaWRnZUlubGluZUNvbnRlbnQuaCAqLywKKwkJCQlF
NEFBRjM2QjI2ODBCQTRBMDAzQzU2NzkgLyogTGF5b3V0QnJpZGdlSW5saW5lQ29udGVudEJ1aWxk
ZXIuY3BwICovLAorCQkJCUU0QUFGMzY3MjY4MEJBNEEwMDNDNTY3OSAvKiBMYXlvdXRCcmlkZ2VJ
bmxpbmVDb250ZW50QnVpbGRlci5oICovLAorCQkJCUU0QUFGMzZGMjY4MEJBNEEwMDNDNTY3OSAv
KiBMYXlvdXRCcmlkZ2VMaW5lLmggKi8sCisJCQkJRTRBQUYzNjMyNjgwQkE0QTAwM0M1Njc5IC8q
IExheW91dEJyaWRnZUxpbmVJdGVyYXRvci5jcHAgKi8sCisJCQkJRTRBQUYzNzIyNjgwQkE0QTAw
M0M1Njc5IC8qIExheW91dEJyaWRnZUxpbmVJdGVyYXRvci5oICovLAorCQkJCUU0QUFGMzY0MjY4
MEJBNEEwMDNDNTY3OSAvKiBMYXlvdXRCcmlkZ2VMaW5lSXRlcmF0b3JMZWdhY3lQYXRoLmggKi8s
CisJCQkJRTRBQUYzNkMyNjgwQkE0QTAwM0M1Njc5IC8qIExheW91dEJyaWRnZUxpbmVJdGVyYXRv
ck1vZGVyblBhdGguaCAqLywKKwkJCQlFNEFBRjM2MTI2ODBCQTRBMDAzQzU2NzkgLyogTGF5b3V0
QnJpZGdlTGluZUxheW91dC5jcHAgKi8sCisJCQkJRTRBQUYzNUQyNjgwQkE0QTAwM0M1Njc5IC8q
IExheW91dEJyaWRnZUxpbmVMYXlvdXQuaCAqLywKKwkJCQlFNEFBRjM3MDI2ODBCQTRBMDAzQzU2
NzkgLyogTGF5b3V0QnJpZGdlUGFnaW5hdGlvbi5jcHAgKi8sCisJCQkJRTRBQUYzNkEyNjgwQkE0
QTAwM0M1Njc5IC8qIExheW91dEJyaWRnZVBhZ2luYXRpb24uaCAqLywKKwkJCQlFNEFBRjM2RDI2
ODBCQTRBMDAzQzU2NzkgLyogTGF5b3V0QnJpZGdlUnVuLmggKi8sCisJCQkJRTRBQUYzNjAyNjgw
QkE0QTAwM0M1Njc5IC8qIExheW91dEJyaWRnZVJ1bkl0ZXJhdG9yLmNwcCAqLywKKwkJCQlFNEFB
RjM2ODI2ODBCQTRBMDAzQzU2NzkgLyogTGF5b3V0QnJpZGdlUnVuSXRlcmF0b3IuaCAqLywKKwkJ
CQlFNEFBRjM2RTI2ODBCQTRBMDAzQzU2NzkgLyogTGF5b3V0QnJpZGdlUnVuSXRlcmF0b3JMZWdh
Y3lQYXRoLmggKi8sCisJCQkJRTRBQUYzNjYyNjgwQkE0QTAwM0M1Njc5IC8qIExheW91dEJyaWRn
ZVJ1bkl0ZXJhdG9yTW9kZXJuUGF0aC5oICovLAogCQkJKTsKLQkJCXBhdGggPSBpbnRlZ3JhdGlv
bjsKKwkJCXBhdGggPSBicmlkZ2U7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9Owog
CQlFNTk2REQyMzI1MTkwMkQ2MDBDMjc1QTcgLyogY29udGFjdC1waWNrZXIgKi8gPSB7CkBAIC0z
MTcxOSw2ICszMTcxOSw3IEBACiAJCQkJNUM1M0RDRUEyNDQ2OEZCNDAwQTkzMTI0IC8qIEFwcGxl
UGF5U2V0dXBXZWJDb3JlLmggaW4gSGVhZGVycyAqLywKIAkJCQk5NUVBRDU3ODI2NkVGM0E4MDA0
QjlDRjEgLyogQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMUE4QTY0NUMxRDE5RkNGQzAwRDBFMDBGIC8qIEFwcGxlUGF5U2hpcHBpbmdDb250
YWN0U2VsZWN0ZWRFdmVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTRBQUYzNzUyNjgwQkI5NzAw
M0M1Njc5IC8qIExheW91dEJyaWRnZVJ1bkl0ZXJhdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQlB
MTJDNTlGMjIwMzVGQ0Q2MDAxMjIzNkIgLyogQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RVcGRhdGUu
aCBpbiBIZWFkZXJzICovLAogCQkJCTdDNjU3OUU4MUUwMDgzMTYwMEUzQTI3QSAvKiBBcHBsZVBh
eVNoaXBwaW5nTWV0aG9kLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQThBNjQ2MDFEMTlGQ0ZDMDBE
MEUwMEYgLyogQXBwbGVQYXlTaGlwcGluZ01ldGhvZFNlbGVjdGVkRXZlbnQuaCBpbiBIZWFkZXJz
ICovLApAQCAtMzIxODgsNiArMzIxODksNyBAQAogCQkJCTU3QjVGODA5MUU1RDFBOTgwMEYzNEY5
MCAvKiBDcnlwdG9BbGdvcml0aG1BZXNHY21QYXJhbXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTU3
NzQ4MzEyMURBREM1NUQwMDcxNkVGOSAvKiBDcnlwdG9BbGdvcml0aG1BZXNLZXlQYXJhbXMuaCBp
biBIZWFkZXJzICovLAogCQkJCTU3NTBBOTg3MUU2QTIxNjgwMDcwNUM0QSAvKiBDcnlwdG9BbGdv
cml0aG1FQ0RILmggaW4gSGVhZGVycyAqLywKKwkJCQlFNEFBRjM3QTI2ODBCQkFFMDAzQzU2Nzkg
LyogTGF5b3V0QnJpZGdlTGluZUl0ZXJhdG9yTGVnYWN5UGF0aC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNTc2ODE0MkExRTZGOTlDMTAwRTc3NzU0IC8qIENyeXB0b0FsZ29yaXRobUVjZGhLZXlEZXJp
dmVQYXJhbXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTU3RUVBQTQ3MUU5RUQyREQwMDcwMTEyNCAv
KiBDcnlwdG9BbGdvcml0aG1FQ0RTQS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTdFRUFBNTAxRTlG
RkJGQzAwNzAxMTI0IC8qIENyeXB0b0FsZ29yaXRobUVjZHNhUGFyYW1zLmggaW4gSGVhZGVycyAq
LywKQEAgLTMyNjIwLDYgKzMyNjIyLDcgQEAKIAkJCQlGNDAzRTc4NzIzNjNCNThDMDAwNDQ1NTAg
LyogRW50ZXJLZXlIaW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkxRDJGOEUwNDIzNDQ3NTE2MDA5
OTNCNjggLyogRW50ZXJQaWN0dXJlSW5QaWN0dXJlRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUZEMzE2MDkzMTJCMDI2RjcwMEMxQTM1OSAvKiBFcXVhbFBvd2VyUGFubmVyLmggaW4gSGVhZGVy
cyAqLywKKwkJCQlFNEFBRjM3RjI2ODBCQkI3MDAzQzU2NzkgLyogTGF5b3V0QnJpZGdlQ292ZXJh
Z2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTgzNzFBQzNCMUY1MDlCRTQwMEZCRjI4NCAvKiBFcnJv
ckNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRUNGN0FFMjEwMTYyQjU4MDA0MjdERTcg
LyogRXJyb3JFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODUwMzFCNDIwQTQ0RUZDNzAwRjk5
MkUwIC8qIEV2ZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTMyODEyLDYgKzMyODE1LDcgQEAKIAkJ
CQkxMTNEMEI1MjFGOUZERDJCMDBGNjExQkIgLyogRnJhbWVWaWV3TGF5b3V0Q29udGV4dC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJOTcyMDVBQjAxMjM5MjhDQTAwQjE3MzgwIC8qIEZUUERpcmVjdG9y
eURvY3VtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MUM4MUI4QTBDNDQyMkY3MDAxOUVDRTMg
LyogRlRQRGlyZWN0b3J5UGFyc2VyLmggaW4gSGVhZGVycyAqLywKKwkJCQlFNEFBRjM3QzI2ODBC
QkIyMDAzQzU2NzkgLyogTGF5b3V0QnJpZGdlSW5saW5lQ29udGVudEJ1aWxkZXIuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUNEOTJGNTE4MjI2MTAzODIwMEY4N0JCMyAvKiBGdWxsc2NyZWVuTWFuYWdl
ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMjZCOTk5OTMxODAzQjlEOTAwRDAxMTIxIC8qIEZ1bmN0
aW9uQ2FsbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQzMTYwMEQxMkIwMjY3NjAwQzFBMzU5IC8q
IEdhaW5Ob2RlLmggaW4gSGVhZGVycyAqLywKQEAgLTMzMzQwLDYgKzMzMzQ0LDcgQEAKIAkJCQlG
REExNUVBRTEyQjAzRUUxMDAzQTU4M0EgLyogSlNBdWRpb0xpc3RlbmVyLmggaW4gSGVhZGVycyAq
LywKIAkJCQlGREExNUVCMDEyQjAzRUUxMDAzQTU4M0EgLyogSlNBdWRpb05vZGUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUZEQTE1RUI0MTJCMDNFRTEwMDNBNTgzQSAvKiBKU0F1ZGlvUGFyYW0uaCBp
biBIZWFkZXJzICovLAorCQkJCUU0QUFGMzc4MjY4MEJCQUIwMDNDNTY3OSAvKiBMYXlvdXRCcmlk
Z2VMaW5lTGF5b3V0LmggaW4gSGVhZGVycyAqLywKIAkJCQlGREExNUVCNjEyQjAzRUUxMDAzQTU4
M0EgLyogSlNBdWRpb1Byb2Nlc3NpbmdFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkU4RUYw
NDMxNzFDOEZGOTAwOUI0OEMzIC8qIEpTQXVkaW9UcmFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QkU4RUYwNDUxNzFDOEZGOTAwOUI0OEMzIC8qIEpTQXVkaW9UcmFja0xpc3QuaCBpbiBIZWFkZXJz
ICovLApAQCAtMzM1MTEsNiArMzM1MTYsNyBAQAogCQkJCTBGNDcxMEJDMURCNTZCRTgwMDJEQ0VD
MyAvKiBKU0RPTVJlY3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNDcxMEJFMURCNTZCRTgwMDJE
Q0VDMyAvKiBKU0RPTVJlY3RJbml0LmggaW4gSGVhZGVycyAqLywKIAkJCQk0NjZFRDhEMzFFREUw
MTQ0MDA1RTQzRjYgLyogSlNET01SZWN0TGlzdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTRBQUYz
NzQyNjgwQkI5NzAwM0M1Njc5IC8qIExheW91dEJyaWRnZVJ1bkl0ZXJhdG9yTW9kZXJuUGF0aC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMEY0NzEwQzAxREI1NkJFODAwMkRDRUMzIC8qIEpTRE9NUmVj
dFJlYWRPbmx5LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzVBODZCNjBDMzM2N0U4MDBFRUE2NDkg
LyogSlNET01TZWxlY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTQxM0ExQUEyMjM3MUE4QjQw
MDdFRjNBNSAvKiBKU0RPTVNldExpa2UuaCBpbiBIZWFkZXJzICovLApAQCAtMzQwMzksNiArMzQw
NDUsNyBAQAogCQkJCTg0ODUyMjdFMTE5MDE2MkMwMDZFREM3RiAvKiBKU1NWR1ZLZXJuRWxlbWVu
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNzFEQ0I3MDIxNTY4MTk3NjAwODYyMjcxIC8qIEpTU1ZH
Wm9vbUFuZFBhbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJGQTNFMTkwQUI3NUE2RjAwMEU1QUM0
IC8qIEpTU1ZHWm9vbUV2ZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlFNEFBRjM4MDI2ODBCQkJC
MDAzQzU2NzkgLyogTGF5b3V0QnJpZGdlQm94VHJlZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNjVE
RjMyMDQwOUQxQ0M2MDAwMEJFMzI1IC8qIEpTVGV4dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTMz
QTE0QjkwQjdEMUQ1MjAwQTUzRkZEIC8qIEpTVGV4dEV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CQlCQ0VGNDVGNjBFNjg3QjVDMDAxQzEyODcgLyogSlNUZXh0TWV0cmljcy5oIGluIEhlYWRlcnMg
Ki8sCkBAIC0zNDE3NiwyMCArMzQxODMsNiBAQAogCQkJCTZGRDA5NTQzMjUxMTE1MjIwMDk4ODc3
RCAvKiBMYXlvdXRHZW9tZXRyeVJlY3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTZGNjM4M0Y2MjQy
N0FGNEEwMERBQkE1MyAvKiBMYXlvdXRJbml0aWFsQ29udGFpbmluZ0Jsb2NrLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk2RjBCOThCNTIzRjI2OEVDMDBFRUMyRjIgLyogTGF5b3V0SW5saW5lVGV4dEJv
eC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJRTQxODAyNTUyM0Q0NTQ5QjAwRkZCMDcxIC8qIExheW91
dEludGVncmF0aW9uQm94VHJlZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJRTQwM0I3QTIyNTFCMTE5
MzAwMTlFODAwIC8qIExheW91dEludGVncmF0aW9uQ292ZXJhZ2UuaCBpbiBIZWFkZXJzICovLAot
CQkJCUU0NTFDNjM0MjM5NDA1OEYwMDk5MzE5MCAvKiBMYXlvdXRJbnRlZ3JhdGlvbklubGluZUNv
bnRlbnQuaCBpbiBIZWFkZXJzICovLAotCQkJCTZGM0ZCQTk4MjU1NkUzMTMwMDM1MzBGRCAvKiBM
YXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmggaW4gSGVhZGVycyAqLywKLQkJ
CQk2RkI0N0U2MzIyNzc0MjVBMDBDN0JDQjAgLyogTGF5b3V0SW50ZWdyYXRpb25MaW5lLmggaW4g
SGVhZGVycyAqLywKLQkJCQlFNEQzM0Y0MTI1MkM0QjgzMDA4MzdEMDUgLyogTGF5b3V0SW50ZWdy
YXRpb25MaW5lSXRlcmF0b3IuaCBpbiBIZWFkZXJzICovLAotCQkJCUU0RDMzRjQ0MjUyQzUwRTIw
MDgzN0QwNSAvKiBMYXlvdXRJbnRlZ3JhdGlvbkxpbmVJdGVyYXRvckxlZ2FjeVBhdGguaCBpbiBI
ZWFkZXJzICovLAotCQkJCUU0RDMzRjQ2MjUyQzUwRkMwMDgzN0QwNSAvKiBMYXlvdXRJbnRlZ3Jh
dGlvbkxpbmVJdGVyYXRvck1vZGVyblBhdGguaCBpbiBIZWFkZXJzICovLAotCQkJCUU0QUJBQkRE
MjM2MDg4RkUwMEZBNDM0NSAvKiBMYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuaCBpbiBIZWFk
ZXJzICovLAotCQkJCUU0MDNCN0EzMjUxQjExQzEwMDE5RTgwMCAvKiBMYXlvdXRJbnRlZ3JhdGlv
blBhZ2luYXRpb24uaCBpbiBIZWFkZXJzICovLAotCQkJCTZGQ0UxQTFBMjI2MThBQkQwMDRGMDM0
MyAvKiBMYXlvdXRJbnRlZ3JhdGlvblJ1bi5oIGluIEhlYWRlcnMgKi8sCi0JCQkJRTRBNjY0Q0My
NTIxRDRBRjAwNzA4MURDIC8qIExheW91dEludGVncmF0aW9uUnVuSXRlcmF0b3IuaCBpbiBIZWFk
ZXJzICovLAotCQkJCUU0QTY2NENGMjUyMUQ0RTIwMDcwODFEQyAvKiBMYXlvdXRJbnRlZ3JhdGlv
blJ1bkl0ZXJhdG9yTGVnYWN5UGF0aC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJRTRBNjY0Q0UyNTIx
RDRDOTAwNzA4MURDIC8qIExheW91dEludGVncmF0aW9uUnVuSXRlcmF0b3JNb2Rlcm5QYXRoLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkxMTMxMENGNDIwQkE0QTNEMDA2NUE4RDAgLyogTGF5b3V0SXRl
cmF0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTZGRkE0QzAxMjNGMkZFRDkwMDdFNEVCQyAvKiBM
YXlvdXRMaW5lQnJlYWtCb3guaCBpbiBIZWFkZXJzICovLAogCQkJCTkzMUQ3MkY2MTVGRTY5NTMw
MEM0QzA3RSAvKiBMYXlvdXRNaWxlc3RvbmUuaCBpbiBIZWFkZXJzICovLApAQCAtMzQyNjIsMTEg
KzM0MjU1LDEzIEBACiAJCQkJNjU2RDM3MzIwQURCQTVERTAwQTQ1NTREIC8qIExvYWRlck5TVVJM
RXh0cmFzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MUU2ODIxMDE2Mzg3MzAyMDAzQkJGM0MgLyog
TG9hZGVyU3RyYXRlZ3kuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0N0ZDOEEzMjVCODRENzIwMDU0
OTVGQyAvKiBMb2FkU2NoZWR1bGluZ01vZGUuaCBpbiBIZWFkZXJzICovLAorCQkJCUU0QUFGMzc5
MjY4MEJCQUUwMDNDNTY3OSAvKiBMYXlvdXRCcmlkZ2VMaW5lSXRlcmF0b3JNb2Rlcm5QYXRoLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkwNkU4MUVENzBBQjVENUU5MDBDODc4MzcgLyogTG9jYWxDdXJy
ZW50R3JhcGhpY3NDb250ZXh0LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQzQzREU2QjIyQUI0QjhB
MDAxNTI3RDkgLyogTG9jYWxDdXJyZW50VHJhaXRDb2xsZWN0aW9uLmggaW4gSGVhZGVycyAqLywK
IAkJCQk0NDU3NzVFNTIwNDcyRjczMDA4RENFNUQgLyogTG9jYWxEZWZhdWx0U3lzdGVtQXBwZWFy
YW5jZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRjU5NzNERTAxNUNGQjIwMzAwMjdGODA0IC8qIExv
Y2FsZUNvY29hLmggaW4gSGVhZGVycyAqLywKIAkJCQk3NjMzQTcyNjEzRDhCMzNBMDA4NTAxQjYg
LyogTG9jYWxlVG9TY3JpcHRNYXBwaW5nLmggaW4gSGVhZGVycyAqLywKKwkJCQlFNEFBRjM3NjI2
ODBCQkE3MDAzQzU2NzkgLyogTGF5b3V0QnJpZGdlUGFnaW5hdGlvbi5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJRTM1QjkwN0YyM0Y2MEE1MDAwMDAxMUZGIC8qIExvY2FsaXplZERldmljZU1vZGVsLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk5MzUyMDdCRTA5QkQ0MTBBMDBGMjAzOEQgLyogTG9jYWxpemVk
U3RyaW5ncy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDFGQ0Q2QkIyM0NFMDI3NzAwQzYyNTY3IC8q
IExvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLmggaW4gSGVhZGVycyAqLywKQEAgLTM0OTg3
LDYgKzM0OTgyLDcgQEAKIAkJCQkwODU0QjAxNzEyNTVFNEU2MDBCOUNERDAgLyogUmVuZGVyU1ZH
SW5saW5lVGV4dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDM2NzA4Q0IxMkQ5Q0E0QjAwMDQ0MjM0
IC8qIFJlbmRlclNWR01vZGVsT2JqZWN0LmggaW4gSGVhZGVycyAqLywKIAkJCQlBRERGMUFENzEy
NTdDRDlBMDAwM0E3NTkgLyogUmVuZGVyU1ZHUGF0aC5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTRB
QUYzN0QyNjgwQkJCMjAwM0M1Njc5IC8qIExheW91dEJyaWRnZUxpbmUuaCBpbiBIZWFkZXJzICov
LAogCQkJCUExMEJCNTg1MTQ4NEUzQTcwMEIyRTg3QSAvKiBSZW5kZXJTVkdSZWN0LmggaW4gSGVh
ZGVycyAqLywKIAkJCQk0MzY3MDhDRDEyRDlDQTRCMDAwNDQyMzQgLyogUmVuZGVyU1ZHUmVzb3Vy
Y2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTQzNjcwOENGMTJEOUNBNEIwMDA0NDIzNCAvKiBSZW5k
ZXJTVkdSZXNvdXJjZUNsaXBwZXIuaCBpbiBIZWFkZXJzICovLApAQCAtMzUwMjAsNiArMzUwMTYs
NyBAQAogCQkJCUJDRUE0ODhFMDk3RDkzMDIwMDk0QzlFNCAvKiBSZW5kZXJUZXh0RnJhZ21lbnQu
aCBpbiBIZWFkZXJzICovLAogCQkJCUU0QzkxQTE2MTgwOTk5RjEwMEExN0Y2RCAvKiBSZW5kZXJU
ZXh0TGluZUJveGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0VBNDg4QTA5N0Q5MzAyMDA5NEM5
RTQgLyogUmVuZGVyVGhlbWUuaCBpbiBIZWFkZXJzICovLAorCQkJCUU0QUFGMzdFMjY4MEJCQjQw
MDNDNTY3OSAvKiBMYXlvdXRCcmlkZ2VJbmxpbmVDb250ZW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CQkxQTI5OUZFODFEN0Y1RkE2MDBBNjAwOTMgLyogUmVuZGVyVGhlbWVDb2NvYS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJRkVEMTNENTIwQ0VBOTQ5NzAwRDg5NDY2IC8qIFJlbmRlclRoZW1lSU9TLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCQ0VBNDg4NzA5N0Q5MzAyMDA5NEM5RTQgLyogUmVuZGVyVGhl
bWVNYWMuaCBpbiBIZWFkZXJzICovLApAQCAtMzUzOTAsNiArMzUzODcsNyBAQAogCQkJCTUxMUVD
MTJDMUM1MEFCQkYwMDMyRjk4MyAvKiBTUUxpdGVJREJUcmFuc2FjdGlvbi5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMUEyMjQ2NEMwQ0M5OEREQjAwQzA1MjQwIC8qIFNRTGl0ZVN0YXRlbWVudC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRUJFNUIyMjYyNDVBMjZFRjAwM0E1QTg4IC8qIFNRTGl0ZVN0YXRl
bWVudEF1dG9SZXNldFNjb3BlLmggaW4gSGVhZGVycyAqLywKKwkJCQlFNEFBRjM3NzI2ODBCQkE3
MDAzQzU2NzkgLyogTGF5b3V0QnJpZGdlUnVuLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTIyNDY0
RTBDQzk4RERCMDBDMDUyNDAgLyogU1FMaXRlVHJhbnNhY3Rpb24uaCBpbiBIZWFkZXJzICovLAog
CQkJCTk3QkM2QTQyMTUwNUYwODEwMDFCNzRBQyAvKiBTUUxSZXN1bHRTZXQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTk3QkM2QTQ1MTUwNUYwODEwMDFCNzRBQyAvKiBTUUxSZXN1bHRTZXRSb3dMaXN0
LmggaW4gSGVhZGVycyAqLywKQEAgLTM1NDU5LDYgKzM1NDU3LDcgQEAKIAkJCQlCQ0VGNDNDRjBF
NjczREExMDAxQzEyODcgLyogU3R5bGVJbWFnZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMyMjcz
MDQwRTgyRjFFNjAwRTdGOTc1IC8qIFN0eWxlSW5oZXJpdGVkRGF0YS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJRTQ2Qzc5NEIxRjEzRTgyQjAwRjM3MUUxIC8qIFN0eWxlSW52YWxpZGF0aW9uRnVuY3Rp
b25zLmggaW4gSGVhZGVycyAqLywKKwkJCQlFNEFBRjM3QjI2ODBCQkFFMDAzQzU2NzkgLyogTGF5
b3V0QnJpZGdlTGluZUl0ZXJhdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQlFNDcxMjdDQjE2MzQz
OEFFMDBFRDZGNUEgLyogU3R5bGVJbnZhbGlkYXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM1
RUI3MkEwRTgxREU4MTAwQjI1OTY1IC8qIFN0eWxlTWFycXVlZURhdGEuaCBpbiBIZWFkZXJzICov
LAogCQkJCTBGRjUwMjcyMTAyQkE5NkEwMDY2RjM5QSAvKiBTdHlsZU1lZGlhLmggaW4gSGVhZGVy
cyAqLywKQEAgLTM2MTYzLDYgKzM2MTYyLDcgQEAKIAkJCQlFMzQ3RTVGQTI1RDRGMDAwMDBGMTdB
NUMgLyogV29ya2VyU2NyaXB0RmV0Y2hlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTdENkIzNDkw
RjYxMTA0NTAwQjc5RkQxIC8qIFdvcmtlclNjcmlwdExvYWRlci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMkVBNzY4MDQwRkU3MTI2NDAwQUI5QzhBIC8qIFdvcmtlclNjcmlwdExvYWRlckNsaWVudC5o
IGluIEhlYWRlcnMgKi8sCisJCQkJRTRBQUYzNzMyNjgwQkI5NzAwM0M1Njc5IC8qIExheW91dEJy
aWRnZVJ1bkl0ZXJhdG9yTGVnYWN5UGF0aC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkU0MzQ2NTUw
RjU0NkE4MjAwQjBGMUJBIC8qIFdvcmtlclRocmVhZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEI5
MDU2RjkwRjI2ODVGMzAwOTVGRjZBIC8qIFdvcmtlclRocmVhZGFibGVMb2FkZXIuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTk3QUFCRDJEMTRGQTA5RDUwMDc0NTdBRSAvKiBXb3JrZXJUaHJlYWRhYmxl
V2ViU29ja2V0Q2hhbm5lbC5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAppbmRleCAwNWY4NmU0N2IyYzUuLjM2NDY5YTQ2
MDdkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENh
Y2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUu
Y3BwCkBAIC0yOTQzLDcgKzI5NDMsNyBAQCBMYXlvdXRSZWN0IEFYT2JqZWN0Q2FjaGU6OmxvY2Fs
Q2FyZXRSZWN0Rm9yQ2hhcmFjdGVyT2Zmc2V0KFJlbmRlck9iamVjdComIHJlbmRlcgogICAgIGlm
IChydW5BbmRPZmZzZXQucnVuKQogICAgICAgICByZW5kZXJlciA9IGNvbnN0X2Nhc3Q8UmVuZGVy
T2JqZWN0Kj4oJnJ1bkFuZE9mZnNldC5ydW4tPnJlbmRlcmVyKCkpOwogCi0gICAgaWYgKGlzPFJl
bmRlckxpbmVCcmVhaz4ocmVuZGVyZXIpICYmIExheW91dEludGVncmF0aW9uOjpydW5Gb3IoZG93
bmNhc3Q8UmVuZGVyTGluZUJyZWFrPigqcmVuZGVyZXIpKSAhPSBydW5BbmRPZmZzZXQucnVuKQor
ICAgIGlmIChpczxSZW5kZXJMaW5lQnJlYWs+KHJlbmRlcmVyKSAmJiBMYXlvdXRCcmlkZ2U6OnJ1
bkZvcihkb3duY2FzdDxSZW5kZXJMaW5lQnJlYWs+KCpyZW5kZXJlcikpICE9IHJ1bkFuZE9mZnNl
dC5ydW4pCiAgICAgICAgIHJldHVybiBJbnRSZWN0KCk7CiAKICAgICByZXR1cm4gY29tcHV0ZUxv
Y2FsQ2FyZXRSZWN0KCpyZW5kZXJlciwgcnVuQW5kT2Zmc2V0KTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudE1hcmtlckNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50TWFya2VyQ29udHJvbGxlci5jcHAKaW5kZXggM2Y2NDRmMDFiNzUyLi5m
YTI1MmU5YjE4ZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudE1hcmtl
ckNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudE1hcmtlckNv
bnRyb2xsZXIuY3BwCkBAIC0zMCw3ICszMCw3IEBACiAjaW5jbHVkZSAiQ2hyb21lLmgiCiAjaW5j
bHVkZSAiQ2hyb21lQ2xpZW50LmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKLSNpbmNsdWRlICJMYXlv
dXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuaCIKKyNpbmNsdWRlICJMYXlvdXRCcmlkZ2VMaW5lTGF5
b3V0LmgiCiAjaW5jbHVkZSAiTm9kZVRyYXZlcnNhbC5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKICNp
bmNsdWRlICJSZW5kZXJCbG9ja0Zsb3cuaCIKQEAgLTI1Niw3ICsyNTYsNyBAQCB2b2lkIERvY3Vt
ZW50TWFya2VyQ29udHJvbGxlcjo6YWRkTWFya2VyKE5vZGUmIG5vZGUsIERvY3VtZW50TWFya2Vy
JiYgbmV3TWFya2VyKQogI2lmIEVOQUJMRShMQVlPVVRfRk9STUFUVElOR19DT05URVhUKQogICAg
IGlmIChhdXRvKiByZW5kZXJlciA9IG5vZGUucmVuZGVyZXIoKSkgewogICAgICAgICAvLyBGSVhN
RTogRmFjdG9yIHRoZSBtYXJrZXIgcGFpbnRpbmcgY29kZSBvdXQgb2YgTGVnYWN5SW5saW5lVGV4
dEJveCBhbmQgdGVhY2ggc2ltcGxlIGxpbmUgbGF5b3V0IHRvIHVzZSBpdC4KLSAgICAgICAgaWYg
KGF1dG8qIGxpbmVMYXlvdXQgPSBMYXlvdXRJbnRlZ3JhdGlvbjo6TGluZUxheW91dDo6Y29udGFp
bmluZygqcmVuZGVyZXIpKQorICAgICAgICBpZiAoYXV0byogbGluZUxheW91dCA9IExheW91dEJy
aWRnZTo6TGluZUxheW91dDo6Y29udGFpbmluZygqcmVuZGVyZXIpKQogICAgICAgICAgICAgbGlu
ZUxheW91dC0+ZmxvdygpLmVuc3VyZUxpbmVCb3hlcygpOwogICAgIH0KICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1Bvc2l0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Qb3NpdGlvbi5jcHAKaW5kZXggYTg3ZWRhNDQ1ZDRiLi42ODZjOTE4MjU1Y2MgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Qb3NpdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL1Bvc2l0aW9uLmNwcApAQCAtMzcsOCArMzcsOCBAQAogI2luY2x1ZGUgIkhUTUxUYWJsZUVs
ZW1lbnQuaCIKICNpbmNsdWRlICJJbmxpbmVJdGVyYXRvci5oIgogI2luY2x1ZGUgIklubGluZVJ1
bkFuZE9mZnNldC5oIgotI2luY2x1ZGUgIkxheW91dEludGVncmF0aW9uTGluZUl0ZXJhdG9yLmgi
Ci0jaW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvci5oIgorI2luY2x1ZGUgIkxh
eW91dEJyaWRnZUxpbmVJdGVyYXRvci5oIgorI2luY2x1ZGUgIkxheW91dEJyaWRnZVJ1bkl0ZXJh
dG9yLmgiCiAjaW5jbHVkZSAiTGVnYWN5SW5saW5lVGV4dEJveC5oIgogI2luY2x1ZGUgIkxvZ2dp
bmcuaCIKICNpbmNsdWRlICJOb2RlVHJhdmVyc2FsLmgiCkBAIC02OSwxMSArNjksMTEgQEAgdXNp
bmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIAogc3RhdGljIGJvb2wgaGFzSW5saW5lUnVuKFJlbmRl
ck9iamVjdCYgcmVuZGVyZXIpCiB7Ci0gICAgaWYgKGlzPFJlbmRlckJveD4ocmVuZGVyZXIpICYm
IExheW91dEludGVncmF0aW9uOjpydW5Gb3IoZG93bmNhc3Q8UmVuZGVyQm94PihyZW5kZXJlcikp
KQorICAgIGlmIChpczxSZW5kZXJCb3g+KHJlbmRlcmVyKSAmJiBMYXlvdXRCcmlkZ2U6OnJ1bkZv
cihkb3duY2FzdDxSZW5kZXJCb3g+KHJlbmRlcmVyKSkpCiAgICAgICAgIHJldHVybiB0cnVlOwot
ICAgIGlmIChpczxSZW5kZXJUZXh0PihyZW5kZXJlcikgJiYgTGF5b3V0SW50ZWdyYXRpb246OmZp
cnN0VGV4dFJ1bkZvcihkb3duY2FzdDxSZW5kZXJUZXh0PihyZW5kZXJlcikpKQorICAgIGlmIChp
czxSZW5kZXJUZXh0PihyZW5kZXJlcikgJiYgTGF5b3V0QnJpZGdlOjpmaXJzdFRleHRSdW5Gb3Io
ZG93bmNhc3Q8UmVuZGVyVGV4dD4ocmVuZGVyZXIpKSkKICAgICAgICAgcmV0dXJuIHRydWU7Ci0g
ICAgaWYgKGlzPFJlbmRlckxpbmVCcmVhaz4ocmVuZGVyZXIpICYmIExheW91dEludGVncmF0aW9u
OjpydW5Gb3IoZG93bmNhc3Q8UmVuZGVyTGluZUJyZWFrPihyZW5kZXJlcikpKQorICAgIGlmIChp
czxSZW5kZXJMaW5lQnJlYWs+KHJlbmRlcmVyKSAmJiBMYXlvdXRCcmlkZ2U6OnJ1bkZvcihkb3du
Y2FzdDxSZW5kZXJMaW5lQnJlYWs+KHJlbmRlcmVyKSkpCiAgICAgICAgIHJldHVybiB0cnVlOwog
ICAgIHJldHVybiBmYWxzZTsKIH0KQEAgLTczOSw3ICs3MzksNyBAQCBQb3NpdGlvbiBQb3NpdGlv
bjo6dXBzdHJlYW0oRWRpdGluZ0JvdW5kYXJ5Q3Jvc3NpbmdSdWxlIHJ1bGUpIGNvbnN0CiAgICAg
ICAgIGlmIChpczxSZW5kZXJUZXh0PigqcmVuZGVyZXIpKSB7CiAgICAgICAgICAgICBhdXRvJiB0
ZXh0UmVuZGVyZXIgPSBkb3duY2FzdDxSZW5kZXJUZXh0PigqcmVuZGVyZXIpOwogCi0gICAgICAg
ICAgICBhdXRvIGZpcnN0VGV4dFJ1biA9IExheW91dEludGVncmF0aW9uOjpmaXJzdFRleHRSdW5J
blRleHRPcmRlckZvcih0ZXh0UmVuZGVyZXIpOworICAgICAgICAgICAgYXV0byBmaXJzdFRleHRS
dW4gPSBMYXlvdXRCcmlkZ2U6OmZpcnN0VGV4dFJ1bkluVGV4dE9yZGVyRm9yKHRleHRSZW5kZXJl
cik7CiAgICAgICAgICAgICBpZiAoIWZpcnN0VGV4dFJ1bikKICAgICAgICAgICAgICAgICBjb250
aW51ZTsKIApAQCAtODQ2LDcgKzg0Niw3IEBAIFBvc2l0aW9uIFBvc2l0aW9uOjpkb3duc3RyZWFt
KEVkaXRpbmdCb3VuZGFyeUNyb3NzaW5nUnVsZSBydWxlKSBjb25zdAogICAgICAgICBpZiAoaXM8
UmVuZGVyVGV4dD4oKnJlbmRlcmVyKSkgewogICAgICAgICAgICAgYXV0byYgdGV4dFJlbmRlcmVy
ID0gZG93bmNhc3Q8UmVuZGVyVGV4dD4oKnJlbmRlcmVyKTsKIAotICAgICAgICAgICAgYXV0byBm
aXJzdFRleHRSdW4gPSBMYXlvdXRJbnRlZ3JhdGlvbjo6Zmlyc3RUZXh0UnVuSW5UZXh0T3JkZXJG
b3IodGV4dFJlbmRlcmVyKTsKKyAgICAgICAgICAgIGF1dG8gZmlyc3RUZXh0UnVuID0gTGF5b3V0
QnJpZGdlOjpmaXJzdFRleHRSdW5JblRleHRPcmRlckZvcih0ZXh0UmVuZGVyZXIpOwogICAgICAg
ICAgICAgaWYgKCFmaXJzdFRleHRSdW4pCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAKQEAg
LTExNTUsNyArMTE1NSw3IEBAIHN0YXRpYyBib29sIGlzTm9uVGV4dExlYWZDaGlsZChSZW5kZXJP
YmplY3QmIG9iamVjdCkKICAgICByZXR1cm4gIWRvd25jYXN0PFJlbmRlckVsZW1lbnQ+KG9iamVj
dCkuZmlyc3RDaGlsZCgpOwogfQogCi1zdGF0aWMgTGF5b3V0SW50ZWdyYXRpb246OlRleHRSdW5J
dGVyYXRvciBzZWFyY2hBaGVhZEZvckJldHRlck1hdGNoKFJlbmRlclRleHQmIHJlbmRlcmVyKQor
c3RhdGljIExheW91dEJyaWRnZTo6VGV4dFJ1bkl0ZXJhdG9yIHNlYXJjaEFoZWFkRm9yQmV0dGVy
TWF0Y2goUmVuZGVyVGV4dCYgcmVuZGVyZXIpCiB7CiAgICAgUmVuZGVyQmxvY2sqIGNvbnRhaW5l
ciA9IHJlbmRlcmVyLmNvbnRhaW5pbmdCbG9jaygpOwogICAgIFJlbmRlck9iamVjdCogbmV4dCA9
ICZyZW5kZXJlcjsKQEAgLTExNjcsNyArMTE2Nyw3IEBAIHN0YXRpYyBMYXlvdXRJbnRlZ3JhdGlv
bjo6VGV4dFJ1bkl0ZXJhdG9yIHNlYXJjaEFoZWFkRm9yQmV0dGVyTWF0Y2goUmVuZGVyVGV4dCYK
ICAgICAgICAgaWYgKGlzTm9uVGV4dExlYWZDaGlsZCgqbmV4dCkpCiAgICAgICAgICAgICByZXR1
cm4geyB9OwogICAgICAgICBpZiAoaXM8UmVuZGVyVGV4dD4oKm5leHQpKSB7Ci0gICAgICAgICAg
ICBpZiAoYXV0byBydW4gPSBMYXlvdXRJbnRlZ3JhdGlvbjo6Zmlyc3RUZXh0UnVuSW5UZXh0T3Jk
ZXJGb3IoZG93bmNhc3Q8UmVuZGVyVGV4dD4oKm5leHQpKSkKKyAgICAgICAgICAgIGlmIChhdXRv
IHJ1biA9IExheW91dEJyaWRnZTo6Zmlyc3RUZXh0UnVuSW5UZXh0T3JkZXJGb3IoZG93bmNhc3Q8
UmVuZGVyVGV4dD4oKm5leHQpKSkKICAgICAgICAgICAgICAgICByZXR1cm4gcnVuOwogICAgICAg
ICB9CiAgICAgfQpAQCAtMTIwNSwxNyArMTIwNSwxNyBAQCBJbmxpbmVSdW5BbmRPZmZzZXQgUG9z
aXRpb246OmlubGluZVJ1bkFuZE9mZnNldChBZmZpbml0eSBhZmZpbml0eSwgVGV4dERpcmVjdGlv
bgogICAgIGlmICghcmVuZGVyZXIpCiAgICAgICAgIHJldHVybiB7IHsgfSwgY2FyZXRPZmZzZXQg
fTsKIAotICAgIExheW91dEludGVncmF0aW9uOjpSdW5JdGVyYXRvciBydW47CisgICAgTGF5b3V0
QnJpZGdlOjpSdW5JdGVyYXRvciBydW47CiAKICAgICBpZiAocmVuZGVyZXItPmlzQlIoKSkgewog
ICAgICAgICBhdXRvJiBsaW5lQnJlYWtSZW5kZXJlciA9IGRvd25jYXN0PFJlbmRlckxpbmVCcmVh
az4oKnJlbmRlcmVyKTsKICAgICAgICAgaWYgKCFjYXJldE9mZnNldCkKLSAgICAgICAgICAgIHJ1
biA9IExheW91dEludGVncmF0aW9uOjpydW5Gb3IobGluZUJyZWFrUmVuZGVyZXIpOworICAgICAg
ICAgICAgcnVuID0gTGF5b3V0QnJpZGdlOjpydW5Gb3IobGluZUJyZWFrUmVuZGVyZXIpOwogICAg
IH0gZWxzZSBpZiAoaXM8UmVuZGVyVGV4dD4oKnJlbmRlcmVyKSkgewogICAgICAgICBhdXRvJiB0
ZXh0UmVuZGVyZXIgPSBkb3duY2FzdDxSZW5kZXJUZXh0PigqcmVuZGVyZXIpOwogCi0gICAgICAg
IGF1dG8gdGV4dFJ1biA9IExheW91dEludGVncmF0aW9uOjpmaXJzdFRleHRSdW5Gb3IodGV4dFJl
bmRlcmVyKTsKLSAgICAgICAgTGF5b3V0SW50ZWdyYXRpb246OlRleHRSdW5JdGVyYXRvciBjYW5k
aWRhdGU7CisgICAgICAgIGF1dG8gdGV4dFJ1biA9IExheW91dEJyaWRnZTo6Zmlyc3RUZXh0UnVu
Rm9yKHRleHRSZW5kZXJlcik7CisgICAgICAgIExheW91dEJyaWRnZTo6VGV4dFJ1bkl0ZXJhdG9y
IGNhbmRpZGF0ZTsKIAogICAgICAgICBmb3IgKDsgdGV4dFJ1bjsgKyt0ZXh0UnVuKSB7CiAgICAg
ICAgICAgICB1bnNpZ25lZCBjYXJldE1pbk9mZnNldCA9IHRleHRSdW4tPm1pbmltdW1DYXJldE9m
ZnNldCgpOwpAQCAtMTI2NSw3ICsxMjY1LDcgQEAgSW5saW5lUnVuQW5kT2Zmc2V0IFBvc2l0aW9u
OjppbmxpbmVSdW5BbmRPZmZzZXQoQWZmaW5pdHkgYWZmaW5pdHksIFRleHREaXJlY3Rpb24KICAg
ICAgICAgICAgIHJldHVybiBlcXVpdmFsZW50LmlubGluZVJ1bkFuZE9mZnNldChBZmZpbml0eTo6
VXBzdHJlYW0sIHByaW1hcnlEaXJlY3Rpb24pOwogICAgICAgICB9CiAgICAgICAgIGlmIChpczxS
ZW5kZXJCb3g+KCpyZW5kZXJlcikpIHsKLSAgICAgICAgICAgIHJ1biA9IExheW91dEludGVncmF0
aW9uOjpydW5Gb3IoZG93bmNhc3Q8UmVuZGVyQm94PigqcmVuZGVyZXIpKTsKKyAgICAgICAgICAg
IHJ1biA9IExheW91dEJyaWRnZTo6cnVuRm9yKGRvd25jYXN0PFJlbmRlckJveD4oKnJlbmRlcmVy
KSk7CiAgICAgICAgICAgICBpZiAocnVuICYmIGNhcmV0T2Zmc2V0ID4gcnVuLT5taW5pbXVtQ2Fy
ZXRPZmZzZXQoKSAmJiBjYXJldE9mZnNldCA8IHJ1bi0+bWF4aW11bUNhcmV0T2Zmc2V0KCkpCiAg
ICAgICAgICAgICAgICAgcmV0dXJuIHsgcnVuLCBjYXJldE9mZnNldCB9OwogICAgICAgICB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0NvbXBvc2l0ZUVkaXRDb21tYW5kLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQ29tcG9zaXRlRWRpdENvbW1hbmQuY3BwCmluZGV4
IDNmZDA0YzdlMzFmYS4uNDU5ZDgyNmU0YTY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL0NvbXBvc2l0ZUVkaXRDb21tYW5kLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL0NvbXBvc2l0ZUVkaXRDb21tYW5kLmNwcApAQCAtNTIsNyArNTIsNyBAQAogI2luY2x1ZGUg
Ikluc2VydE5vZGVCZWZvcmVDb21tYW5kLmgiCiAjaW5jbHVkZSAiSW5zZXJ0UGFyYWdyYXBoU2Vw
YXJhdG9yQ29tbWFuZC5oIgogI2luY2x1ZGUgIkluc2VydFRleHRDb21tYW5kLmgiCi0jaW5jbHVk
ZSAiTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvci5oIgorI2luY2x1ZGUgIkxheW91dEJyaWRn
ZVJ1bkl0ZXJhdG9yLmgiCiAjaW5jbHVkZSAiTGVnYWN5SW5saW5lVGV4dEJveC5oIgogI2luY2x1
ZGUgIk1lcmdlSWRlbnRpY2FsRWxlbWVudHNDb21tYW5kLmgiCiAjaW5jbHVkZSAiTm9kZVRyYXZl
cnNhbC5oIgpAQCAtMTAxNiw3ICsxMDE2LDcgQEAgdm9pZCBDb21wb3NpdGVFZGl0Q29tbWFuZDo6
ZGVsZXRlSW5zaWduaWZpY2FudFRleHQoVGV4dCYgdGV4dE5vZGUsIHVuc2lnbmVkIHN0YXIKICAg
ICAgICAgaWYgKCF0ZXh0UmVuZGVyZXIpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAg
YXV0byBydW4gPSBMYXlvdXRJbnRlZ3JhdGlvbjo6Zmlyc3RUZXh0UnVuSW5UZXh0T3JkZXJGb3Io
KnRleHRSZW5kZXJlcik7CisgICAgICAgIGF1dG8gcnVuID0gTGF5b3V0QnJpZGdlOjpmaXJzdFRl
eHRSdW5JblRleHRPcmRlckZvcigqdGV4dFJlbmRlcmVyKTsKICAgICAgICAgaWYgKCFydW4pIHsK
ICAgICAgICAgICAgIHdob2xlVGV4dE5vZGVJc0VtcHR5ID0gdHJ1ZTsKICAgICAgICAgICAgIHJl
dHVybjsKQEAgLTEwMjcsNyArMTAyNyw3IEBAIHZvaWQgQ29tcG9zaXRlRWRpdENvbW1hbmQ6OmRl
bGV0ZUluc2lnbmlmaWNhbnRUZXh0KFRleHQmIHRleHROb2RlLCB1bnNpZ25lZCBzdGFyCiAgICAg
ICAgICAgICByZXR1cm47CiAKICAgICAgICAgdW5zaWduZWQgcmVtb3ZlZCA9IDA7Ci0gICAgICAg
IExheW91dEludGVncmF0aW9uOjpUZXh0UnVuSXRlcmF0b3IgcHJldmlvdXNSdW47CisgICAgICAg
IExheW91dEJyaWRnZTo6VGV4dFJ1bkl0ZXJhdG9yIHByZXZpb3VzUnVuOwogCiAgICAgICAgIC8v
IFRoaXMgbG9vcCBzdHJ1Y3R1cmUgd29ya3MgdG8gcHJvY2VzcyBhbGwgZ2FwcyBwcmVjZWRpbmcg
YSBib3gsCiAgICAgICAgIC8vIGFuZCBhbHNvIHdpbGwgbG9vayBhdCB0aGUgZ2FwIGFmdGVyIHRo
ZSBsYXN0IGJveC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAppbmRleCA4NjM3MTYzN2ExNGMu
LmMyZGY5ZGM2YzVkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3Iu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcApAQCAtMTM0LDcgKzEz
NCw3IEBACiAjZW5kaWYKIAogI2lmIEVOQUJMRShMQVlPVVRfRk9STUFUVElOR19DT05URVhUKQot
I2luY2x1ZGUgIkxheW91dEludGVncmF0aW9uTGluZUxheW91dC5oIgorI2luY2x1ZGUgIkxheW91
dEJyaWRnZUxpbmVMYXlvdXQuaCIKICNlbmRpZgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0y
MTU1LDcgKzIxNTUsNyBAQCB2b2lkIEVkaXRvcjo6c2V0Q29tcG9zaXRpb24oY29uc3QgU3RyaW5n
JiB0ZXh0LCBjb25zdCBWZWN0b3I8Q29tcG9zaXRpb25VbmRlcmxpbgogCiAgICAgICAgICAgICBp
ZiAoYXV0byByZW5kZXJlciA9IGJhc2VOb2RlLT5yZW5kZXJlcigpKSB7CiAjaWYgRU5BQkxFKExB
WU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpCi0gICAgICAgICAgICAgICAgaWYgKGF1dG8gbGluZUxh
eW91dCA9IExheW91dEludGVncmF0aW9uOjpMaW5lTGF5b3V0Ojpjb250YWluaW5nKCpyZW5kZXJl
cikpCisgICAgICAgICAgICAgICAgaWYgKGF1dG8gbGluZUxheW91dCA9IExheW91dEJyaWRnZTo6
TGluZUxheW91dDo6Y29udGFpbmluZygqcmVuZGVyZXIpKQogICAgICAgICAgICAgICAgICAgICBs
aW5lTGF5b3V0LT5mbG93KCkuZW5zdXJlTGluZUJveGVzKCk7CiAjZW5kaWYKICAgICAgICAgICAg
ICAgICByZW5kZXJlci0+cmVwYWludCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9JbmxpbmVSdW5BbmRPZmZzZXQuaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvSW5saW5l
UnVuQW5kT2Zmc2V0LmgKaW5kZXggZDM0ZTQ5MjdjYTRlLi5jOWYyMzcwMDBjODYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvSW5saW5lUnVuQW5kT2Zmc2V0LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9JbmxpbmVSdW5BbmRPZmZzZXQuaApAQCAtMjUsMTIgKzI1LDEy
IEBACiAKICNwcmFnbWEgb25jZQogCi0jaW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVy
YXRvci5oIgorI2luY2x1ZGUgIkxheW91dEJyaWRnZVJ1bkl0ZXJhdG9yLmgiCiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogc3RydWN0IElubGluZVJ1bkFuZE9mZnNldCB7Ci0gICAgTGF5b3V0SW50
ZWdyYXRpb246OlJ1bkl0ZXJhdG9yIHJ1biB7IH07CisgICAgTGF5b3V0QnJpZGdlOjpSdW5JdGVy
YXRvciBydW4geyB9OwogICAgIHVuc2lnbmVkIG9mZnNldCB7IDAgfTsKIH07CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvUmVuZGVyZWRQb3NpdGlvbi5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL1JlbmRlcmVkUG9zaXRpb24uY3BwCmluZGV4IDQ2ZTMwMjkwNGYyYi4u
YmQ0OTI0YjI5MWFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1JlbmRlcmVk
UG9zaXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvUmVuZGVyZWRQb3NpdGlv
bi5jcHAKQEAgLTY5LDcgKzY5LDcgQEAgUmVuZGVyZWRQb3NpdGlvbjo6UmVuZGVyZWRQb3NpdGlv
bigpCiB7CiB9CiAKLVJlbmRlcmVkUG9zaXRpb246OlJlbmRlcmVkUG9zaXRpb24oY29uc3QgUmVu
ZGVyT2JqZWN0KiByZW5kZXJlciwgTGF5b3V0SW50ZWdyYXRpb246OlJ1bkl0ZXJhdG9yIHJ1biwg
dW5zaWduZWQgb2Zmc2V0KQorUmVuZGVyZWRQb3NpdGlvbjo6UmVuZGVyZWRQb3NpdGlvbihjb25z
dCBSZW5kZXJPYmplY3QqIHJlbmRlcmVyLCBMYXlvdXRCcmlkZ2U6OlJ1bkl0ZXJhdG9yIHJ1biwg
dW5zaWduZWQgb2Zmc2V0KQogICAgIDogbV9yZW5kZXJlcihyZW5kZXJlcikKICAgICAsIG1fcnVu
KHJ1bikKICAgICAsIG1fb2Zmc2V0KG9mZnNldCkKQEAgLTk1LDE0ICs5NSwxNCBAQCBSZW5kZXJl
ZFBvc2l0aW9uOjpSZW5kZXJlZFBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJiBwb3NpdGlvbiwgQWZm
aW5pdHkgYWZmaW5pdHkpCiAgICAgICAgIG1fcmVuZGVyZXIgPSByZW5kZXJlckZyb21Qb3NpdGlv
bihwb3NpdGlvbik7CiB9CiAKLUxheW91dEludGVncmF0aW9uOjpSdW5JdGVyYXRvciBSZW5kZXJl
ZFBvc2l0aW9uOjpwcmV2aW91c0xlYWZPbkxpbmUoKSBjb25zdAorTGF5b3V0QnJpZGdlOjpSdW5J
dGVyYXRvciBSZW5kZXJlZFBvc2l0aW9uOjpwcmV2aW91c0xlYWZPbkxpbmUoKSBjb25zdAogewog
ICAgIGlmICghbV9wcmV2aW91c0xlYWZPbkxpbmUpCiAgICAgICAgIG1fcHJldmlvdXNMZWFmT25M
aW5lID0gbV9ydW4ucHJldmlvdXNPbkxpbmVJZ25vcmluZ0xpbmVCcmVhaygpOwogICAgIHJldHVy
biAqbV9wcmV2aW91c0xlYWZPbkxpbmU7CiB9CiAKLUxheW91dEludGVncmF0aW9uOjpSdW5JdGVy
YXRvciBSZW5kZXJlZFBvc2l0aW9uOjpuZXh0TGVhZk9uTGluZSgpIGNvbnN0CitMYXlvdXRCcmlk
Z2U6OlJ1bkl0ZXJhdG9yIFJlbmRlcmVkUG9zaXRpb246Om5leHRMZWFmT25MaW5lKCkgY29uc3QK
IHsKICAgICBpZiAoIW1fbmV4dExlYWZPbkxpbmUpCiAgICAgICAgIG1fbmV4dExlYWZPbkxpbmUg
PSBtX3J1bi5uZXh0T25MaW5lSWdub3JpbmdMaW5lQnJlYWsoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvUmVuZGVyZWRQb3NpdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9SZW5kZXJlZFBvc2l0aW9uLmgKaW5kZXggNWMwODdlMDExMGRmLi40YTEyZWNkZTJlNTMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvUmVuZGVyZWRQb3NpdGlvbi5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvUmVuZGVyZWRQb3NpdGlvbi5oCkBAIC0zMSw4ICsz
MSw4IEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgIkNhcmV0UmVjdENvbXB1dGF0aW9uLmgi
Ci0jaW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3IuaCIKLSNpbmNsdWRlICJM
YXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yLmgiCisjaW5jbHVkZSAiTGF5b3V0QnJpZGdlTGlu
ZUl0ZXJhdG9yLmgiCisjaW5jbHVkZSAiTGF5b3V0QnJpZGdlUnVuSXRlcmF0b3IuaCIKICNpbmNs
dWRlICJUZXh0QWZmaW5pdHkuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNTAsNyArNTAs
NyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0VxdWl2YWxlbnQoY29uc3QgUmVuZGVyZWRQb3NpdGlv
biYpIGNvbnN0OwogCiAgICAgYm9vbCBpc051bGwoKSBjb25zdCB7IHJldHVybiAhbV9yZW5kZXJl
cjsgfQotICAgIExheW91dEludGVncmF0aW9uOjpMaW5lSXRlcmF0b3IgbGluZSgpIGNvbnN0IHsg
cmV0dXJuIG1fcnVuID8gbV9ydW4ubGluZSgpIDogTGF5b3V0SW50ZWdyYXRpb246OkxpbmVJdGVy
YXRvcigpOyB9CisgICAgTGF5b3V0QnJpZGdlOjpMaW5lSXRlcmF0b3IgbGluZSgpIGNvbnN0IHsg
cmV0dXJuIG1fcnVuID8gbV9ydW4ubGluZSgpIDogTGF5b3V0QnJpZGdlOjpMaW5lSXRlcmF0b3Io
KTsgfQogCiAgICAgdW5zaWduZWQgY2hhciBiaWRpTGV2ZWxPbkxlZnQoKSBjb25zdDsKICAgICB1
bnNpZ25lZCBjaGFyIGJpZGlMZXZlbE9uUmlnaHQoKSBjb25zdDsKQEAgLTcyLDIxICs3MiwyMSBA
QCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFJlbmRlcmVk
UG9zaXRpb24mKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQotICAgIGV4cGxpY2l0IFJlbmRlcmVk
UG9zaXRpb24oY29uc3QgUmVuZGVyT2JqZWN0KiwgTGF5b3V0SW50ZWdyYXRpb246OlJ1bkl0ZXJh
dG9yLCB1bnNpZ25lZCBvZmZzZXQpOworICAgIGV4cGxpY2l0IFJlbmRlcmVkUG9zaXRpb24oY29u
c3QgUmVuZGVyT2JqZWN0KiwgTGF5b3V0QnJpZGdlOjpSdW5JdGVyYXRvciwgdW5zaWduZWQgb2Zm
c2V0KTsKIAotICAgIExheW91dEludGVncmF0aW9uOjpSdW5JdGVyYXRvciBwcmV2aW91c0xlYWZP
bkxpbmUoKSBjb25zdDsKLSAgICBMYXlvdXRJbnRlZ3JhdGlvbjo6UnVuSXRlcmF0b3IgbmV4dExl
YWZPbkxpbmUoKSBjb25zdDsKKyAgICBMYXlvdXRCcmlkZ2U6OlJ1bkl0ZXJhdG9yIHByZXZpb3Vz
TGVhZk9uTGluZSgpIGNvbnN0OworICAgIExheW91dEJyaWRnZTo6UnVuSXRlcmF0b3IgbmV4dExl
YWZPbkxpbmUoKSBjb25zdDsKICAgICBib29sIGF0TGVmdG1vc3RPZmZzZXRJbkJveCgpIGNvbnN0
IHsgcmV0dXJuIG1fcnVuICYmIG1fb2Zmc2V0ID09IG1fcnVuLT5sZWZ0bW9zdENhcmV0T2Zmc2V0
KCk7IH0KICAgICBib29sIGF0UmlnaHRtb3N0T2Zmc2V0SW5Cb3goKSBjb25zdCB7IHJldHVybiBt
X3J1biAmJiBtX29mZnNldCA9PSBtX3J1bi0+cmlnaHRtb3N0Q2FyZXRPZmZzZXQoKTsgfQogICAg
IGJvb2wgYXRMZWZ0Qm91bmRhcnlPZkJpZGlSdW4oU2hvdWxkTWF0Y2hCaWRpTGV2ZWwsIHVuc2ln
bmVkIGNoYXIgYmlkaUxldmVsT2ZSdW4pIGNvbnN0OwogICAgIGJvb2wgYXRSaWdodEJvdW5kYXJ5
T2ZCaWRpUnVuKFNob3VsZE1hdGNoQmlkaUxldmVsLCB1bnNpZ25lZCBjaGFyIGJpZGlMZXZlbE9m
UnVuKSBjb25zdDsKIAogICAgIGNvbnN0IFJlbmRlck9iamVjdCogbV9yZW5kZXJlciB7IG51bGxw
dHIgfTsKLSAgICBMYXlvdXRJbnRlZ3JhdGlvbjo6UnVuSXRlcmF0b3IgbV9ydW47CisgICAgTGF5
b3V0QnJpZGdlOjpSdW5JdGVyYXRvciBtX3J1bjsKICAgICB1bnNpZ25lZCBtX29mZnNldCB7IDAg
fTsKIAotICAgIG11dGFibGUgc3RkOjpvcHRpb25hbDxMYXlvdXRJbnRlZ3JhdGlvbjo6UnVuSXRl
cmF0b3I+IG1fcHJldmlvdXNMZWFmT25MaW5lOwotICAgIG11dGFibGUgc3RkOjpvcHRpb25hbDxM
YXlvdXRJbnRlZ3JhdGlvbjo6UnVuSXRlcmF0b3I+IG1fbmV4dExlYWZPbkxpbmU7CisgICAgbXV0
YWJsZSBzdGQ6Om9wdGlvbmFsPExheW91dEJyaWRnZTo6UnVuSXRlcmF0b3I+IG1fcHJldmlvdXNM
ZWFmT25MaW5lOworICAgIG11dGFibGUgc3RkOjpvcHRpb25hbDxMYXlvdXRCcmlkZ2U6OlJ1bkl0
ZXJhdG9yPiBtX25leHRMZWFmT25MaW5lOwogfTsKIAogYm9vbCByZW5kZXJPYmplY3RDb250YWlu
c1Bvc2l0aW9uKGNvbnN0IFJlbmRlck9iamVjdCosIGNvbnN0IFBvc2l0aW9uJik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHAKaW5kZXggYzJmYWE5NDI2NGViLi4zMjBiYjcz
MDI1YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHAKQEAgLTU4MCw3
ICs1ODAsNyBAQCBib29sIFRleHRJdGVyYXRvcjo6aGFuZGxlVGV4dE5vZGUoKQogICAgICAgICBy
ZXR1cm4gdHJ1ZTsKICAgICB9CiAKLSAgICBtX3RleHRSdW4gPSBMYXlvdXRJbnRlZ3JhdGlvbjo6
Zmlyc3RUZXh0UnVuSW5UZXh0T3JkZXJGb3IocmVuZGVyZXIpOworICAgIG1fdGV4dFJ1biA9IExh
eW91dEJyaWRnZTo6Zmlyc3RUZXh0UnVuSW5UZXh0T3JkZXJGb3IocmVuZGVyZXIpOwogCiAgICAg
Ym9vbCBzaG91bGRIYW5kbGVGaXJzdExldHRlciA9ICFtX2hhbmRsZWRGaXJzdExldHRlciAmJiBp
czxSZW5kZXJUZXh0RnJhZ21lbnQ+KHJlbmRlcmVyKSAmJiAhbV9vZmZzZXQ7CiAgICAgaWYgKHNo
b3VsZEhhbmRsZUZpcnN0TGV0dGVyKQpAQCAtNjA3LDcgKzYwNyw3IEBAIHZvaWQgVGV4dEl0ZXJh
dG9yOjpoYW5kbGVUZXh0UnVuKCkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGF1dG8g
Zmlyc3RUZXh0UnVuID0gTGF5b3V0SW50ZWdyYXRpb246OmZpcnN0VGV4dFJ1bkluVGV4dE9yZGVy
Rm9yKHJlbmRlcmVyKTsKKyAgICBhdXRvIGZpcnN0VGV4dFJ1biA9IExheW91dEJyaWRnZTo6Zmly
c3RUZXh0UnVuSW5UZXh0T3JkZXJGb3IocmVuZGVyZXIpOwogCiAgICAgU3RyaW5nIHJlbmRlcmVy
VGV4dCA9IHJlbmRlcmVyLnRleHQoKTsKICAgICB1bnNpZ25lZCBzdGFydCA9IG1fb2Zmc2V0OwpA
QCAtNzAxLDcgKzcwMSw3IEBAIHZvaWQgVGV4dEl0ZXJhdG9yOjpoYW5kbGVUZXh0Tm9kZUZpcnN0
TGV0dGVyKFJlbmRlclRleHRGcmFnbWVudCYgcmVuZGVyZXIpCiAgICAgICAgIGlmIChhdXRvKiBm
aXJzdExldHRlclRleHQgPSBmaXJzdFJlbmRlclRleHRJbkZpcnN0TGV0dGVyKGZpcnN0TGV0dGVy
KSkgewogICAgICAgICAgICAgbV9oYW5kbGVkRmlyc3RMZXR0ZXIgPSB0cnVlOwogICAgICAgICAg
ICAgbV9yZW1haW5pbmdUZXh0UnVuID0gbV90ZXh0UnVuOwotICAgICAgICAgICAgbV90ZXh0UnVu
ID0gTGF5b3V0SW50ZWdyYXRpb246OmZpcnN0VGV4dFJ1bkluVGV4dE9yZGVyRm9yKCpmaXJzdExl
dHRlclRleHQpOworICAgICAgICAgICAgbV90ZXh0UnVuID0gTGF5b3V0QnJpZGdlOjpmaXJzdFRl
eHRSdW5JblRleHRPcmRlckZvcigqZmlyc3RMZXR0ZXJUZXh0KTsKICAgICAgICAgICAgIG1fZmly
c3RMZXR0ZXJUZXh0ID0gZmlyc3RMZXR0ZXJUZXh0OwogICAgICAgICB9CiAgICAgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuaCBiL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmgKaW5kZXggYzcxNjIyNWNmMGQyLi4wYzI2ZTQwZWY5
NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuaApAQCAtMjcsNyArMjcsNyBA
QAogCiAjaW5jbHVkZSAiQ2hhcmFjdGVyUmFuZ2UuaCIKICNpbmNsdWRlICJGaW5kT3B0aW9ucy5o
IgotI2luY2x1ZGUgIkxheW91dEludGVncmF0aW9uUnVuSXRlcmF0b3IuaCIKKyNpbmNsdWRlICJM
YXlvdXRCcmlkZ2VSdW5JdGVyYXRvci5oIgogI2luY2x1ZGUgIlNpbXBsZVJhbmdlLmgiCiAjaW5j
bHVkZSAiVGV4dEl0ZXJhdG9yQmVoYXZpb3IuaCIKICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CkBA
IC0xNDksMTAgKzE0OSwxMCBAQCBwcml2YXRlOgogCiAgICAgLy8gVXNlZCB3aGVuIHRoZXJlIGlz
IHN0aWxsIHNvbWUgcGVuZGluZyB0ZXh0IGZyb20gdGhlIGN1cnJlbnQgbm9kZTsgd2hlbiB0aGVz
ZSBhcmUgZmFsc2UgYW5kIG51bGwsIHdlIGdvIGJhY2sgdG8gbm9ybWFsIGl0ZXJhdGluZy4KICAg
ICBOb2RlKiBtX25vZGVGb3JBZGRpdGlvbmFsTmV3bGluZSB7IG51bGxwdHIgfTsKLSAgICBMYXlv
dXRJbnRlZ3JhdGlvbjo6VGV4dFJ1bkl0ZXJhdG9yIG1fdGV4dFJ1bjsKKyAgICBMYXlvdXRCcmlk
Z2U6OlRleHRSdW5JdGVyYXRvciBtX3RleHRSdW47CiAKICAgICAvLyBVc2VkIHdoZW4gaXRlcmF0
aW5nIG92ZXIgOmZpcnN0LWxldHRlciB0ZXh0IHRvIHNhdmUgcG9pbnRlciB0byByZW1haW5pbmcg
dGV4dCBib3guCi0gICAgTGF5b3V0SW50ZWdyYXRpb246OlRleHRSdW5JdGVyYXRvciBtX3JlbWFp
bmluZ1RleHRSdW47CisgICAgTGF5b3V0QnJpZGdlOjpUZXh0UnVuSXRlcmF0b3IgbV9yZW1haW5p
bmdUZXh0UnVuOwogCiAgICAgLy8gVXNlZCB0byBwb2ludCB0byBSZW5kZXJUZXh0IG9iamVjdCBm
b3IgOmZpcnN0LWxldHRlci4KICAgICBSZW5kZXJUZXh0KiBtX2ZpcnN0TGV0dGVyVGV4dCB7IG51
bGxwdHIgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVBvc2l0
aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVBvc2l0aW9uLmNwcAppbmRl
eCAzNjBmNTE3YjhmMzIuLjNiMTRhOTI0MTRiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9WaXNpYmxlUG9zaXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
VmlzaWJsZVBvc2l0aW9uLmNwcApAQCAtMzYsOCArMzYsOCBAQAogI2luY2x1ZGUgIkhUTUxIdG1s
RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIklubGluZVJ1bkFu
ZE9mZnNldC5oIgotI2luY2x1ZGUgIkxheW91dEludGVncmF0aW9uTGluZUl0ZXJhdG9yLmgiCi0j
aW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvci5oIgorI2luY2x1ZGUgIkxheW91
dEJyaWRnZUxpbmVJdGVyYXRvci5oIgorI2luY2x1ZGUgIkxheW91dEJyaWRnZVJ1bkl0ZXJhdG9y
LmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIlJhbmdlLmgiCiAjaW5jbHVkZSAi
UmVuZGVyQmxvY2tGbG93LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zp
c2libGVVbml0cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVVbml0cy5jcHAK
aW5kZXggODIxZDQzZGJkN2YxLi40NWY0YTVmNmY1OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvVmlzaWJsZVVuaXRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L1Zpc2libGVVbml0cy5jcHAKQEAgLTMyLDggKzMyLDggQEAKICNpbmNsdWRlICJIVE1MRWxlbWVu
dC5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIklubGluZVJ1bkFuZE9mZnNl
dC5oIgotI2luY2x1ZGUgIkxheW91dEludGVncmF0aW9uTGluZUl0ZXJhdG9yLmgiCi0jaW5jbHVk
ZSAiTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvci5oIgorI2luY2x1ZGUgIkxheW91dEJyaWRn
ZUxpbmVJdGVyYXRvci5oIgorI2luY2x1ZGUgIkxheW91dEJyaWRnZVJ1bkl0ZXJhdG9yLmgiCiAj
aW5jbHVkZSAiTm9kZVRyYXZlcnNhbC5oIgogI2luY2x1ZGUgIlJhbmdlLmgiCiAjaW5jbHVkZSAi
UmVuZGVyQmxvY2tGbG93LmgiCkBAIC0xMjQsMTIgKzEyNCwxMiBAQCBzdGF0aWMgUG9zaXRpb24g
bmV4dExpbmVDYW5kaWRhdGVQb3NpdGlvbihOb2RlKiBub2RlLCBjb25zdCBWaXNpYmxlUG9zaXRp
b24mIHZpcwogICAgIHJldHVybiBQb3NpdGlvbigpOwogfQogCi1zdGF0aWMgYm9vbCBpc1RleHRP
ckxpbmVCcmVha1J1bihMYXlvdXRJbnRlZ3JhdGlvbjo6UnVuSXRlcmF0b3IgcnVuKQorc3RhdGlj
IGJvb2wgaXNUZXh0T3JMaW5lQnJlYWtSdW4oTGF5b3V0QnJpZGdlOjpSdW5JdGVyYXRvciBydW4p
CiB7CiAgICAgcmV0dXJuIHJ1biAmJiAocnVuLT5pc1RleHQoKSB8fCBydW4tPnJlbmRlcmVyKCku
aXNCUigpKTsKIH0KIAotc3RhdGljIExheW91dEludGVncmF0aW9uOjpSdW5JdGVyYXRvciBwcmV2
aW91c1RleHRPckxpbmVCcmVha1J1bihMYXlvdXRJbnRlZ3JhdGlvbjo6UnVuSXRlcmF0b3IgcnVu
KQorc3RhdGljIExheW91dEJyaWRnZTo6UnVuSXRlcmF0b3IgcHJldmlvdXNUZXh0T3JMaW5lQnJl
YWtSdW4oTGF5b3V0QnJpZGdlOjpSdW5JdGVyYXRvciBydW4pCiB7CiAgICAgd2hpbGUgKHJ1bikg
ewogICAgICAgICBydW4udHJhdmVyc2VQcmV2aW91c09uTGluZUluTG9naWNhbE9yZGVyKCk7CkBA
IC0xMzksNyArMTM5LDcgQEAgc3RhdGljIExheW91dEludGVncmF0aW9uOjpSdW5JdGVyYXRvciBw
cmV2aW91c1RleHRPckxpbmVCcmVha1J1bihMYXlvdXRJbnRlZ3JhdGkKICAgICByZXR1cm4geyB9
OwogfQogCi1zdGF0aWMgTGF5b3V0SW50ZWdyYXRpb246OlJ1bkl0ZXJhdG9yIG5leHRUZXh0T3JM
aW5lQnJlYWtSdW4oTGF5b3V0SW50ZWdyYXRpb246OlJ1bkl0ZXJhdG9yIHJ1bikKK3N0YXRpYyBM
YXlvdXRCcmlkZ2U6OlJ1bkl0ZXJhdG9yIG5leHRUZXh0T3JMaW5lQnJlYWtSdW4oTGF5b3V0QnJp
ZGdlOjpSdW5JdGVyYXRvciBydW4pCiB7CiAgICAgd2hpbGUgKHJ1bikgewogICAgICAgICBydW4u
dHJhdmVyc2VOZXh0T25MaW5lSW5Mb2dpY2FsT3JkZXIoKTsKQEAgLTE0OSw3ICsxNDksNyBAQCBz
dGF0aWMgTGF5b3V0SW50ZWdyYXRpb246OlJ1bkl0ZXJhdG9yIG5leHRUZXh0T3JMaW5lQnJlYWtS
dW4oTGF5b3V0SW50ZWdyYXRpb246OgogICAgIHJldHVybiB7IH07CiB9CiAKLXN0YXRpYyBMYXlv
dXRJbnRlZ3JhdGlvbjo6UnVuSXRlcmF0b3Igc3RhcnRUZXh0T3JMaW5lQnJlYWtSdW4oTGF5b3V0
SW50ZWdyYXRpb246OkxpbmVJdGVyYXRvciBsaW5lKQorc3RhdGljIExheW91dEJyaWRnZTo6UnVu
SXRlcmF0b3Igc3RhcnRUZXh0T3JMaW5lQnJlYWtSdW4oTGF5b3V0QnJpZGdlOjpMaW5lSXRlcmF0
b3IgbGluZSkKIHsKICAgICBhdXRvIHJ1biA9IGxpbmUubG9naWNhbFN0YXJ0UnVuKCk7CiAgICAg
aWYgKGlzVGV4dE9yTGluZUJyZWFrUnVuKHJ1bikpCkBAIC0xNTcsNyArMTU3LDcgQEAgc3RhdGlj
IExheW91dEludGVncmF0aW9uOjpSdW5JdGVyYXRvciBzdGFydFRleHRPckxpbmVCcmVha1J1bihM
YXlvdXRJbnRlZ3JhdGlvbjoKICAgICByZXR1cm4gbmV4dFRleHRPckxpbmVCcmVha1J1bihydW4p
OwogfQogCi1zdGF0aWMgTGF5b3V0SW50ZWdyYXRpb246OlJ1bkl0ZXJhdG9yIGVuZFRleHRPckxp
bmVCcmVha1J1bihMYXlvdXRJbnRlZ3JhdGlvbjo6TGluZUl0ZXJhdG9yIGxpbmUpCitzdGF0aWMg
TGF5b3V0QnJpZGdlOjpSdW5JdGVyYXRvciBlbmRUZXh0T3JMaW5lQnJlYWtSdW4oTGF5b3V0QnJp
ZGdlOjpMaW5lSXRlcmF0b3IgbGluZSkKIHsKICAgICBhdXRvIHJ1biA9IGxpbmUubG9naWNhbEVu
ZFJ1bigpOwogICAgIGlmIChpc1RleHRPckxpbmVCcmVha1J1bihydW4pKQpAQCAtMTY1LDcgKzE2
NSw3IEBAIHN0YXRpYyBMYXlvdXRJbnRlZ3JhdGlvbjo6UnVuSXRlcmF0b3IgZW5kVGV4dE9yTGlu
ZUJyZWFrUnVuKExheW91dEludGVncmF0aW9uOjpMCiAgICAgcmV0dXJuIHByZXZpb3VzVGV4dE9y
TGluZUJyZWFrUnVuKHJ1bik7CiB9CiAKLXN0YXRpYyBjb25zdCBMYXlvdXRJbnRlZ3JhdGlvbjo6
UnVuSXRlcmF0b3IgbG9naWNhbGx5UHJldmlvdXNSdW4oY29uc3QgVmlzaWJsZVBvc2l0aW9uJiB2
aXNpYmxlUG9zaXRpb24sIExheW91dEludGVncmF0aW9uOjpSdW5JdGVyYXRvciBzdGFydFJ1biwg
Ym9vbCYgcHJldmlvdXNCb3hJbkRpZmZlcmVudExpbmUpCitzdGF0aWMgY29uc3QgTGF5b3V0QnJp
ZGdlOjpSdW5JdGVyYXRvciBsb2dpY2FsbHlQcmV2aW91c1J1bihjb25zdCBWaXNpYmxlUG9zaXRp
b24mIHZpc2libGVQb3NpdGlvbiwgTGF5b3V0QnJpZGdlOjpSdW5JdGVyYXRvciBzdGFydFJ1biwg
Ym9vbCYgcHJldmlvdXNCb3hJbkRpZmZlcmVudExpbmUpCiB7CiAgICAgaWYgKGF1dG8gcHJldmlv
dXNSdW4gPSBwcmV2aW91c1RleHRPckxpbmVCcmVha1J1bihzdGFydFJ1bikpCiAgICAgICAgIHJl
dHVybiBwcmV2aW91c1J1bjsKQEAgLTIwMyw3ICsyMDMsNyBAQCBzdGF0aWMgY29uc3QgTGF5b3V0
SW50ZWdyYXRpb246OlJ1bkl0ZXJhdG9yIGxvZ2ljYWxseVByZXZpb3VzUnVuKGNvbnN0IFZpc2li
bGVQbwogfQogCiAKLXN0YXRpYyBjb25zdCBMYXlvdXRJbnRlZ3JhdGlvbjo6UnVuSXRlcmF0b3Ig
bG9naWNhbGx5TmV4dFJ1bihjb25zdCBWaXNpYmxlUG9zaXRpb24mIHZpc2libGVQb3NpdGlvbiwg
TGF5b3V0SW50ZWdyYXRpb246OlJ1bkl0ZXJhdG9yIHN0YXJ0UnVuLCBib29sJiBuZXh0Qm94SW5E
aWZmZXJlbnRMaW5lKQorc3RhdGljIGNvbnN0IExheW91dEJyaWRnZTo6UnVuSXRlcmF0b3IgbG9n
aWNhbGx5TmV4dFJ1bihjb25zdCBWaXNpYmxlUG9zaXRpb24mIHZpc2libGVQb3NpdGlvbiwgTGF5
b3V0QnJpZGdlOjpSdW5JdGVyYXRvciBzdGFydFJ1biwgYm9vbCYgbmV4dEJveEluRGlmZmVyZW50
TGluZSkKIHsKICAgICBpZiAoYXV0byBuZXh0UnVuID0gbmV4dFRleHRPckxpbmVCcmVha1J1bihz
dGFydFJ1bikpCiAgICAgICAgIHJldHVybiBuZXh0UnVuOwpAQCAtMjQwLDcgKzI0MCw3IEBAIHN0
YXRpYyBjb25zdCBMYXlvdXRJbnRlZ3JhdGlvbjo6UnVuSXRlcmF0b3IgbG9naWNhbGx5TmV4dFJ1
bihjb25zdCBWaXNpYmxlUG9zaXRpCiAgICAgcmV0dXJuIHsgfTsKIH0KIAotc3RhdGljIFVCcmVh
a0l0ZXJhdG9yKiB3b3JkQnJlYWtJdGVyYXRvckZvck1pbk9mZnNldEJvdW5kYXJ5KGNvbnN0IFZp
c2libGVQb3NpdGlvbiYgdmlzaWJsZVBvc2l0aW9uLCBMYXlvdXRJbnRlZ3JhdGlvbjo6VGV4dFJ1
bkl0ZXJhdG9yIHRleHRSdW4sCitzdGF0aWMgVUJyZWFrSXRlcmF0b3IqIHdvcmRCcmVha0l0ZXJh
dG9yRm9yTWluT2Zmc2V0Qm91bmRhcnkoY29uc3QgVmlzaWJsZVBvc2l0aW9uJiB2aXNpYmxlUG9z
aXRpb24sIExheW91dEJyaWRnZTo6VGV4dFJ1bkl0ZXJhdG9yIHRleHRSdW4sCiAgICAgdW5zaWdu
ZWQmIHByZXZpb3VzUnVuTGVuZ3RoLCBib29sJiBwcmV2aW91c1J1bkluRGlmZmVyZW50TGluZSwg
VmVjdG9yPFVDaGFyLCAxMDI0PiYgc3RyaW5nKQogewogICAgIHByZXZpb3VzUnVuSW5EaWZmZXJl
bnRMaW5lID0gZmFsc2U7CkBAIC0yNTUsNyArMjU1LDcgQEAgc3RhdGljIFVCcmVha0l0ZXJhdG9y
KiB3b3JkQnJlYWtJdGVyYXRvckZvck1pbk9mZnNldEJvdW5kYXJ5KGNvbnN0IFZpc2libGVQb3Np
dGkKICAgICBzdHJpbmcuY2xlYXIoKTsKIAogICAgIGlmIChwcmV2aW91c1J1bikgewotICAgICAg
ICBhdXRvJiBwcmV2aW91c1RleHRSdW4gPSBkb3duY2FzdDxMYXlvdXRJbnRlZ3JhdGlvbjo6VGV4
dFJ1bkl0ZXJhdG9yPihwcmV2aW91c1J1bik7CisgICAgICAgIGF1dG8mIHByZXZpb3VzVGV4dFJ1
biA9IGRvd25jYXN0PExheW91dEJyaWRnZTo6VGV4dFJ1bkl0ZXJhdG9yPihwcmV2aW91c1J1bik7
CiAgICAgICAgIHByZXZpb3VzUnVuTGVuZ3RoID0gcHJldmlvdXNUZXh0UnVuLT5sZW5ndGgoKTsK
ICAgICAgICAgYXBwZW5kKHN0cmluZywgcHJldmlvdXNUZXh0UnVuLT50ZXh0KCkpOwogICAgIH0K
QEAgLTI2NCw3ICsyNjQsNyBAQCBzdGF0aWMgVUJyZWFrSXRlcmF0b3IqIHdvcmRCcmVha0l0ZXJh
dG9yRm9yTWluT2Zmc2V0Qm91bmRhcnkoY29uc3QgVmlzaWJsZVBvc2l0aQogICAgIHJldHVybiB3
b3JkQnJlYWtJdGVyYXRvcihTdHJpbmdWaWV3KHN0cmluZy5kYXRhKCksIHN0cmluZy5zaXplKCkp
KTsKIH0KIAotc3RhdGljIFVCcmVha0l0ZXJhdG9yKiB3b3JkQnJlYWtJdGVyYXRvckZvck1heE9m
ZnNldEJvdW5kYXJ5KGNvbnN0IFZpc2libGVQb3NpdGlvbiYgdmlzaWJsZVBvc2l0aW9uLCBMYXlv
dXRJbnRlZ3JhdGlvbjo6VGV4dFJ1bkl0ZXJhdG9yIHRleHRSdW4sCitzdGF0aWMgVUJyZWFrSXRl
cmF0b3IqIHdvcmRCcmVha0l0ZXJhdG9yRm9yTWF4T2Zmc2V0Qm91bmRhcnkoY29uc3QgVmlzaWJs
ZVBvc2l0aW9uJiB2aXNpYmxlUG9zaXRpb24sIExheW91dEJyaWRnZTo6VGV4dFJ1bkl0ZXJhdG9y
IHRleHRSdW4sCiAgICAgYm9vbCYgbmV4dFJ1bkluRGlmZmVyZW50TGluZSwgVmVjdG9yPFVDaGFy
LCAxMDI0PiYgc3RyaW5nKQogewogICAgIG5leHRSdW5JbkRpZmZlcmVudExpbmUgPSBmYWxzZTsK
QEAgLTI4MCw3ICsyODAsNyBAQCBzdGF0aWMgVUJyZWFrSXRlcmF0b3IqIHdvcmRCcmVha0l0ZXJh
dG9yRm9yTWF4T2Zmc2V0Qm91bmRhcnkoY29uc3QgVmlzaWJsZVBvc2l0aQogICAgIGFwcGVuZChz
dHJpbmcsIHRleHRSdW4tPnRleHQoKSk7CiAKICAgICBpZiAobmV4dFJ1bikgewotICAgICAgICBh
dXRvJiBuZXh0VGV4dFJ1biA9IGRvd25jYXN0PExheW91dEludGVncmF0aW9uOjpUZXh0UnVuSXRl
cmF0b3I+KG5leHRSdW4pOworICAgICAgICBhdXRvJiBuZXh0VGV4dFJ1biA9IGRvd25jYXN0PExh
eW91dEJyaWRnZTo6VGV4dFJ1bkl0ZXJhdG9yPihuZXh0UnVuKTsKICAgICAgICAgYXBwZW5kKHN0
cmluZywgbmV4dFRleHRSdW4tPnRleHQoKSk7CiAgICAgfQogCkBAIC0zMTMsNyArMzEzLDcgQEAg
c3RhdGljIFZpc2libGVQb3NpdGlvbiB2aXN1YWxXb3JkUG9zaXRpb24oY29uc3QgVmlzaWJsZVBv
c2l0aW9uJiB2aXNpYmxlUG9zaXRpb24KICAgICAgICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbigp
OwogCiAgICAgVGV4dERpcmVjdGlvbiBibG9ja0RpcmVjdGlvbiA9IGRpcmVjdGlvbk9mRW5jbG9z
aW5nQmxvY2sodmlzaWJsZVBvc2l0aW9uLmRlZXBFcXVpdmFsZW50KCkpOwotICAgIExheW91dElu
dGVncmF0aW9uOjpSdW5JdGVyYXRvciBwcmV2aW91c2x5VmlzaXRlZFJ1bjsKKyAgICBMYXlvdXRC
cmlkZ2U6OlJ1bkl0ZXJhdG9yIHByZXZpb3VzbHlWaXNpdGVkUnVuOwogICAgIFZpc2libGVQb3Np
dGlvbiBjdXJyZW50ID0gdmlzaWJsZVBvc2l0aW9uOwogICAgIHN0ZDo6b3B0aW9uYWw8VmlzaWJs
ZVBvc2l0aW9uPiBwcmV2aW91c1Bvc2l0aW9uOwogICAgIFVCcmVha0l0ZXJhdG9yKiBpdGVyID0g
bnVsbHB0cjsKQEAgLTMzOCw3ICszMzgsNyBAQCBzdGF0aWMgVmlzaWJsZVBvc2l0aW9uIHZpc3Vh
bFdvcmRQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24mIHZpc2libGVQb3NpdGlvbgogICAg
ICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KIAotICAgICAgICBhdXRvJiB0ZXh0UnVuID0g
ZG93bmNhc3Q8TGF5b3V0SW50ZWdyYXRpb246OlRleHRSdW5JdGVyYXRvcj4ocnVuKTsKKyAgICAg
ICAgYXV0byYgdGV4dFJ1biA9IGRvd25jYXN0PExheW91dEJyaWRnZTo6VGV4dFJ1bkl0ZXJhdG9y
PihydW4pOwogICAgICAgICB1bnNpZ25lZCBwcmV2aW91c1J1bkxlbmd0aCA9IDA7CiAgICAgICAg
IGJvb2wgcHJldmlvdXNSdW5JbkRpZmZlcmVudExpbmUgPSBmYWxzZTsKICAgICAgICAgYm9vbCBu
ZXh0UnVuSW5EaWZmZXJlbnRMaW5lID0gZmFsc2U7CkBAIC03NDUsNyArNzQ1LDcgQEAgc3RhdGlj
IFZpc2libGVQb3NpdGlvbiBzdGFydFBvc2l0aW9uRm9yTGluZShjb25zdCBWaXNpYmxlUG9zaXRp
b24mIGMsIExpbmVFbmRwb2kKICAgICB9CiAKICAgICBOb2RlKiBzdGFydE5vZGU7Ci0gICAgTGF5
b3V0SW50ZWdyYXRpb246OlJ1bkl0ZXJhdG9yIHN0YXJ0UnVuID0gbW9kZSA9PSBVc2VMb2dpY2Fs
T3JkZXJpbmcgPyBsaW5lLmxvZ2ljYWxTdGFydFJ1bldpdGhOb2RlKCkgOiBsaW5lLmZpcnN0UnVu
KCk7CisgICAgTGF5b3V0QnJpZGdlOjpSdW5JdGVyYXRvciBzdGFydFJ1biA9IG1vZGUgPT0gVXNl
TG9naWNhbE9yZGVyaW5nID8gbGluZS5sb2dpY2FsU3RhcnRSdW5XaXRoTm9kZSgpIDogbGluZS5m
aXJzdFJ1bigpOwogICAgIC8vIEdlbmVyYXRlZCBjb250ZW50IChlLmcuIGxpc3QgbWFya2VycyBh
bmQgQ1NTIDpiZWZvcmUgYW5kIDphZnRlciBwc2V1ZG9lbGVtZW50cykgaGF2ZSBubyBjb3JyZXNw
b25kaW5nIERPTSBlbGVtZW50LAogICAgIC8vIGFuZCBzbyBjYW5ub3QgYmUgcmVwcmVzZW50ZWQg
YnkgYSBWaXNpYmxlUG9zaXRpb24uIFVzZSB3aGF0ZXZlciBmb2xsb3dzIGluc3RlYWQuCiAgICAg
d2hpbGUgKHRydWUpIHsKQEAgLTc2Miw3ICs3NjIsNyBAQCBzdGF0aWMgVmlzaWJsZVBvc2l0aW9u
IHN0YXJ0UG9zaXRpb25Gb3JMaW5lKGNvbnN0IFZpc2libGVQb3NpdGlvbiYgYywgTGluZUVuZHBv
aQogICAgICAgICAgICAgc3RhcnRSdW4udHJhdmVyc2VOZXh0T25MaW5lKCk7CiAgICAgfQogCi0g
ICAgcmV0dXJuIGlzPFRleHQ+KCpzdGFydE5vZGUpID8gUG9zaXRpb24oZG93bmNhc3Q8VGV4dD4o
c3RhcnROb2RlKSwgZG93bmNhc3Q8TGF5b3V0SW50ZWdyYXRpb246OlBhdGhUZXh0UnVuPigqc3Rh
cnRSdW4pLnN0YXJ0KCkpCisgICAgcmV0dXJuIGlzPFRleHQ+KCpzdGFydE5vZGUpID8gUG9zaXRp
b24oZG93bmNhc3Q8VGV4dD4oc3RhcnROb2RlKSwgZG93bmNhc3Q8TGF5b3V0QnJpZGdlOjpQYXRo
VGV4dFJ1bj4oKnN0YXJ0UnVuKS5zdGFydCgpKQogICAgICAgICA6IHBvc2l0aW9uQmVmb3JlTm9k
ZShzdGFydE5vZGUpOwogfQogCkBAIC04MTUsNyArODE1LDcgQEAgc3RhdGljIFZpc2libGVQb3Np
dGlvbiBlbmRQb3NpdGlvbkZvckxpbmUoY29uc3QgVmlzaWJsZVBvc2l0aW9uJiBjLCBMaW5lRW5k
cG9pbnQKICAgICB9CiAKICAgICBOb2RlKiBlbmROb2RlOwotICAgIExheW91dEludGVncmF0aW9u
OjpSdW5JdGVyYXRvciBlbmRSdW4gPSBtb2RlID09IFVzZUxvZ2ljYWxPcmRlcmluZyA/IGxpbmUu
bG9naWNhbEVuZFJ1bldpdGhOb2RlKCkgOiBsaW5lLmxhc3RSdW4oKTsKKyAgICBMYXlvdXRCcmlk
Z2U6OlJ1bkl0ZXJhdG9yIGVuZFJ1biA9IG1vZGUgPT0gVXNlTG9naWNhbE9yZGVyaW5nID8gbGlu
ZS5sb2dpY2FsRW5kUnVuV2l0aE5vZGUoKSA6IGxpbmUubGFzdFJ1bigpOwogICAgIC8vIEdlbmVy
YXRlZCBjb250ZW50IChlLmcuIGxpc3QgbWFya2VycyBhbmQgQ1NTIDpiZWZvcmUgYW5kIDphZnRl
ciBwc2V1ZG9lbGVtZW50cykgaGF2ZSBubyBjb3JyZXNwb25kaW5nIERPTSBlbGVtZW50LAogICAg
IC8vIGFuZCBzbyBjYW5ub3QgYmUgcmVwcmVzZW50ZWQgYnkgYSBWaXNpYmxlUG9zaXRpb24uIFVz
ZSB3aGF0ZXZlciBwcmVjZWRlcyBpbnN0ZWFkLgogICAgIHdoaWxlICh0cnVlKSB7CkBAIC04MzUs
OCArODM1LDggQEAgc3RhdGljIFZpc2libGVQb3NpdGlvbiBlbmRQb3NpdGlvbkZvckxpbmUoY29u
c3QgVmlzaWJsZVBvc2l0aW9uJiBjLCBMaW5lRW5kcG9pbnQKICAgICBQb3NpdGlvbiBwb3M7CiAg
ICAgaWYgKGlzPEhUTUxCUkVsZW1lbnQ+KCplbmROb2RlKSkKICAgICAgICAgcG9zID0gcG9zaXRp
b25CZWZvcmVOb2RlKGVuZE5vZGUpOwotICAgIGVsc2UgaWYgKGlzPExheW91dEludGVncmF0aW9u
OjpQYXRoVGV4dFJ1bj4oKmVuZFJ1bikgJiYgaXM8VGV4dD4oKmVuZE5vZGUpKSB7Ci0gICAgICAg
IGF1dG8mIGVuZFRleHRSdW4gPSBkb3duY2FzdDxMYXlvdXRJbnRlZ3JhdGlvbjo6UGF0aFRleHRS
dW4+KCplbmRSdW4pOworICAgIGVsc2UgaWYgKGlzPExheW91dEJyaWRnZTo6UGF0aFRleHRSdW4+
KCplbmRSdW4pICYmIGlzPFRleHQ+KCplbmROb2RlKSkgeworICAgICAgICBhdXRvJiBlbmRUZXh0
UnVuID0gZG93bmNhc3Q8TGF5b3V0QnJpZGdlOjpQYXRoVGV4dFJ1bj4oKmVuZFJ1bik7CiAgICAg
ICAgIGludCBlbmRPZmZzZXQgPSBlbmRUZXh0UnVuLnN0YXJ0KCk7CiAgICAgICAgIGlmICghZW5k
VGV4dFJ1bi5pc0xpbmVCcmVhaygpKQogICAgICAgICAgICAgZW5kT2Zmc2V0ICs9IGVuZFRleHRS
dW4ubGVuZ3RoKCk7CkBAIC05MjcsNyArOTI3LDcgQEAgYm9vbCBpc0xvZ2ljYWxFbmRPZkxpbmUo
Y29uc3QgVmlzaWJsZVBvc2l0aW9uJiBwKQogICAgIHJldHVybiBwLmlzTm90TnVsbCgpICYmIHAg
PT0gbG9naWNhbEVuZE9mTGluZShwKTsKIH0KIAotc3RhdGljIGlubGluZSBJbnRQb2ludCBhYnNv
bHV0ZUxpbmVEaXJlY3Rpb25Qb2ludFRvTG9jYWxQb2ludEluQmxvY2soTGF5b3V0SW50ZWdyYXRp
b246OkxpbmVJdGVyYXRvciYgbGluZSwgaW50IGxpbmVEaXJlY3Rpb25Qb2ludCkKK3N0YXRpYyBp
bmxpbmUgSW50UG9pbnQgYWJzb2x1dGVMaW5lRGlyZWN0aW9uUG9pbnRUb0xvY2FsUG9pbnRJbkJs
b2NrKExheW91dEJyaWRnZTo6TGluZUl0ZXJhdG9yJiBsaW5lLCBpbnQgbGluZURpcmVjdGlvblBv
aW50KQogewogICAgIGF1dG8mIGNvbnRhaW5pbmdCbG9jayA9IGxpbmUtPmNvbnRhaW5pbmdCbG9j
aygpOwogICAgIEZsb2F0UG9pbnQgYWJzb2x1dGVCbG9ja1BvaW50ID0gY29udGFpbmluZ0Jsb2Nr
LmxvY2FsVG9BYnNvbHV0ZShGbG9hdFBvaW50KCkpIC0gdG9GbG9hdFNpemUoY29udGFpbmluZ0Js
b2NrLnNjcm9sbFBvc2l0aW9uKCkpOwpAQCAtOTU5LDcgKzk1OSw3IEBAIFZpc2libGVQb3NpdGlv
biBwcmV2aW91c0xpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24mIHZpc2libGVQb3Np
dGlvbiwgaW50CiAgICAgaWYgKCFyZW5kZXJlcikKICAgICAgICAgcmV0dXJuIFZpc2libGVQb3Np
dGlvbigpOwogCi0gICAgTGF5b3V0SW50ZWdyYXRpb246OkxpbmVJdGVyYXRvciBsaW5lOworICAg
IExheW91dEJyaWRnZTo6TGluZUl0ZXJhdG9yIGxpbmU7CiAgICAgaWYgKGF1dG8gcnVuID0gdmlz
aWJsZVBvc2l0aW9uLmlubGluZVJ1bkFuZE9mZnNldCgpLnJ1bikgewogICAgICAgICBsaW5lID0g
cnVuLmxpbmUoKS5wcmV2aW91cygpOwogICAgICAgICAvLyBXZSB3YW50IHRvIHNraXAgemVybyBo
ZWlnaHQgYm94ZXMuCkBAIC0xMDA5LDcgKzEwMDksNyBAQCBWaXNpYmxlUG9zaXRpb24gbmV4dExp
bmVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24mIHZpc2libGVQb3NpdGlvbiwgaW50IGxp
bgogICAgIGlmICghbm9kZS0+cmVuZGVyZXIoKSkKICAgICAgICAgcmV0dXJuIFZpc2libGVQb3Np
dGlvbigpOwogCi0gICAgTGF5b3V0SW50ZWdyYXRpb246OkxpbmVJdGVyYXRvciBsaW5lOworICAg
IExheW91dEJyaWRnZTo6TGluZUl0ZXJhdG9yIGxpbmU7CiAgICAgaWYgKGF1dG8gcnVuID0gdmlz
aWJsZVBvc2l0aW9uLmlubGluZVJ1bkFuZE9mZnNldCgpLnJ1bikgewogICAgICAgICBsaW5lID0g
cnVuLmxpbmUoKS5uZXh0KCk7CiAgICAgICAgIC8vIFdlIHdhbnQgdG8gc2tpcCB6ZXJvIGhlaWdo
dCBib3hlcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9M
YXlvdXRJbnRlZ3JhdGlvbkJveFRyZWUuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRn
ZS9MYXlvdXRCcmlkZ2VCb3hUcmVlLmNwcApzaW1pbGFyaXR5IGluZGV4IDk5JQpyZW5hbWUgZnJv
bSBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25Cb3hU
cmVlLmNwcApyZW5hbWUgdG8gU291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlk
Z2VCb3hUcmVlLmNwcAppbmRleCBiNWNmNjMwOGE4MmUuLjQyMDI3Y2Y1YzA4YSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uQm94
VHJlZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VC
b3hUcmVlLmNwcApAQCAtMjQsNyArMjQsNyBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIK
LSNpbmNsdWRlICJMYXlvdXRJbnRlZ3JhdGlvbkJveFRyZWUuaCIKKyNpbmNsdWRlICJMYXlvdXRC
cmlkZ2VCb3hUcmVlLmgiCiAKICNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkK
IApAQCAtMzksNyArMzksNyBAQAogI2luY2x1ZGUgIlJlbmRlckxpbmVCcmVhay5oIgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7Ci1uYW1lc3BhY2UgTGF5b3V0SW50ZWdyYXRpb24geworbmFtZXNwYWNl
IExheW91dEJyaWRnZSB7CiAKIHN0YXRpYyBjb25zdGV4cHIgc2l6ZV90IHNtYWxsVHJlZVRocmVz
aG9sZCA9IDg7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlv
bi9MYXlvdXRJbnRlZ3JhdGlvbkJveFRyZWUuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9icmlk
Z2UvTGF5b3V0QnJpZGdlQm94VHJlZS5oCnNpbWlsYXJpdHkgaW5kZXggOTglCnJlbmFtZSBmcm9t
IFNvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkJveFRy
ZWUuaApyZW5hbWUgdG8gU291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VC
b3hUcmVlLmgKaW5kZXggOTQwYjhhYjdkNTc1Li4yYmJhYzg5Mjg2OTMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkJveFRyZWUu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZUJveFRyZWUu
aApAQCAtMzYsNyArMzYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBSZW5kZXJCbG9j
a0Zsb3c7CiBjbGFzcyBSZW5kZXJCb3hNb2RlbE9iamVjdDsKIAotbmFtZXNwYWNlIExheW91dElu
dGVncmF0aW9uIHsKK25hbWVzcGFjZSBMYXlvdXRCcmlkZ2UgewogCiBjbGFzcyBCb3hUcmVlIHsK
IHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9M
YXlvdXRJbnRlZ3JhdGlvbkNvdmVyYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9icmlk
Z2UvTGF5b3V0QnJpZGdlQ292ZXJhZ2UuY3BwCnNpbWlsYXJpdHkgaW5kZXggOTklCnJlbmFtZSBm
cm9tIFNvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkNv
dmVyYWdlLmNwcApyZW5hbWUgdG8gU291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRnZS9MYXlvdXRC
cmlkZ2VDb3ZlcmFnZS5jcHAKaW5kZXggM2QzNTY1MTFiNTNiLi44ZDE4ZmRmNGM3MTMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlv
bkNvdmVyYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYnJpZGdlL0xheW91dEJy
aWRnZUNvdmVyYWdlLmNwcApAQCAtMjQsNyArMjQsNyBAQAogICovCiAKICNpbmNsdWRlICJjb25m
aWcuaCIKLSNpbmNsdWRlICJMYXlvdXRJbnRlZ3JhdGlvbkNvdmVyYWdlLmgiCisjaW5jbHVkZSAi
TGF5b3V0QnJpZGdlQ292ZXJhZ2UuaCIKIAogI2luY2x1ZGUgIkRvY3VtZW50TWFya2VyQ29udHJv
bGxlci5oIgogI2luY2x1ZGUgIkhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmgiCkBAIC04MSw3
ICs4MSw3IEBACiAjZW5kaWYKIAogbmFtZXNwYWNlIFdlYkNvcmUgewotbmFtZXNwYWNlIExheW91
dEludGVncmF0aW9uIHsKK25hbWVzcGFjZSBMYXlvdXRCcmlkZ2UgewogCiAjaWZuZGVmIE5ERUJV
Rwogc3RhdGljIHZvaWQgcHJpbnRSZWFzb24oQXZvaWRhbmNlUmVhc29uIHJlYXNvbiwgVGV4dFN0
cmVhbSYgc3RyZWFtKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0
aW9uL0xheW91dEludGVncmF0aW9uQ292ZXJhZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9i
cmlkZ2UvTGF5b3V0QnJpZGdlQ292ZXJhZ2UuaApzaW1pbGFyaXR5IGluZGV4IDk5JQpyZW5hbWUg
ZnJvbSBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25D
b3ZlcmFnZS5oCnJlbmFtZSB0byBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvYnJpZGdlL0xheW91dEJy
aWRnZUNvdmVyYWdlLmgKaW5kZXggNmY4ZTU1YzRlZmNhLi5iNWZkNjQ0MDRkMzcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkNv
dmVyYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VD
b3ZlcmFnZS5oCkBAIC0zNCw3ICszNCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3Mg
UmVuZGVyQmxvY2tGbG93OwogCi1uYW1lc3BhY2UgTGF5b3V0SW50ZWdyYXRpb24geworbmFtZXNw
YWNlIExheW91dEJyaWRnZSB7CiAKIGVudW0gY2xhc3MgQXZvaWRhbmNlUmVhc29uIDogdWludDY0
X3QgewogICAgIEZsb3dJc0luc2lkZUFOb25NdWx0aUNvbHVtblRocmVhZCAgICAgICAgICAgID0g
MUxMVSAgPDwgMCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlv
bi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VJbmxpbmVDb250ZW50LmNwcApzaW1pbGFyaXR5IGluZGV4
IDk1JQpyZW5hbWUgZnJvbSBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0
SW50ZWdyYXRpb25JbmxpbmVDb250ZW50LmNwcApyZW5hbWUgdG8gU291cmNlL1dlYkNvcmUvbGF5
b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VJbmxpbmVDb250ZW50LmNwcAppbmRleCAwMDlkYjliNjFk
MjguLjE3OTc0ZGY4ZDkxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVn
cmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VJbmxpbmVDb250ZW50LmNwcApAQCAtMjQs
MTYgKzI0LDE2IEBACiAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiTGF5b3V0
SW50ZWdyYXRpb25JbmxpbmVDb250ZW50LmgiCisjaW5jbHVkZSAiTGF5b3V0QnJpZGdlSW5saW5l
Q29udGVudC5oIgogCiAjaWYgRU5BQkxFKExBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpCiAKLSNp
bmNsdWRlICJMYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuaCIKKyNpbmNsdWRlICJMYXlvdXRC
cmlkZ2VMaW5lTGF5b3V0LmgiCiAjaW5jbHVkZSAiUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIgog
I2luY2x1ZGUgIlRleHRQYWludGVyLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKLW5hbWVzcGFj
ZSBMYXlvdXRJbnRlZ3JhdGlvbiB7CituYW1lc3BhY2UgTGF5b3V0QnJpZGdlIHsKIAogSW5saW5l
Q29udGVudDo6SW5saW5lQ29udGVudChjb25zdCBMaW5lTGF5b3V0JiBsaW5lTGF5b3V0KQogICAg
IDogbV9saW5lTGF5b3V0KG1ha2VXZWFrUHRyKGxpbmVMYXlvdXQpKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29u
dGVudC5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VJbmxpbmVD
b250ZW50LmgKc2ltaWxhcml0eSBpbmRleCA5NiUKcmVuYW1lIGZyb20gU291cmNlL1dlYkNvcmUv
bGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudC5oCnJlbmFt
ZSB0byBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZUlubGluZUNvbnRl
bnQuaAppbmRleCBlM2RkNWYwZDRhYTYuLjE4NTkxMmJmODg5YyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9icmlkZ2UvTGF5b3V0QnJpZGdlSW5saW5l
Q29udGVudC5oCkBAIC0yNyw4ICsyNyw4IEBACiAKICNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJ
TkdfQ09OVEVYVCkKIAotI2luY2x1ZGUgIkxheW91dEludGVncmF0aW9uTGluZS5oIgotI2luY2x1
ZGUgIkxheW91dEludGVncmF0aW9uUnVuLmgiCisjaW5jbHVkZSAiTGF5b3V0QnJpZGdlTGluZS5o
IgorI2luY2x1ZGUgIkxheW91dEJyaWRnZVJ1bi5oIgogI2luY2x1ZGUgPHd0Zi9JdGVyYXRvclJh
bmdlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+
CkBAIC00Miw3ICs0Miw3IEBAIG5hbWVzcGFjZSBMYXlvdXQgewogY2xhc3MgQm94OwogfQogCi1u
YW1lc3BhY2UgTGF5b3V0SW50ZWdyYXRpb24geworbmFtZXNwYWNlIExheW91dEJyaWRnZSB7CiAK
IGNsYXNzIExpbmVMYXlvdXQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9p
bnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9icmlkZ2UvTGF5b3V0QnJpZGdlSW5saW5lQ29udGVudEJ1aWxk
ZXIuY3BwCnNpbWlsYXJpdHkgaW5kZXggOTklCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJDb3JlL2xh
eW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmNw
cApyZW5hbWUgdG8gU291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VJbmxp
bmVDb250ZW50QnVpbGRlci5jcHAKaW5kZXggMDQ0MWMyOGVlMjEzLi44ZmY4N2IwOGY2YTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3Jh
dGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
YnJpZGdlL0xheW91dEJyaWRnZUlubGluZUNvbnRlbnRCdWlsZGVyLmNwcApAQCAtMjQsNyArMjQs
NyBAQAogKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkxheW91dEludGVncmF0
aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuaCIKKyNpbmNsdWRlICJMYXlvdXRCcmlkZ2VJbmxpbmVD
b250ZW50QnVpbGRlci5oIgogCiAjaWYgRU5BQkxFKExBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQp
CiAKQEAgLTMzLDE2ICszMywxNiBAQAogI2luY2x1ZGUgIklubGluZUZvcm1hdHRpbmdHZW9tZXRy
eS5oIgogI2luY2x1ZGUgIklubGluZUZvcm1hdHRpbmdTdGF0ZS5oIgogI2luY2x1ZGUgIkxheW91
dEJveEdlb21ldHJ5LmgiCi0jaW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRpb25Cb3hUcmVlLmgiCi0j
aW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50LmgiCi0jaW5jbHVkZSAiTGF5
b3V0SW50ZWdyYXRpb25SdW4uaCIKKyNpbmNsdWRlICJMYXlvdXRCcmlkZ2VCb3hUcmVlLmgiCisj
aW5jbHVkZSAiTGF5b3V0QnJpZGdlSW5saW5lQ29udGVudC5oIgorI2luY2x1ZGUgIkxheW91dEJy
aWRnZVJ1bi5oIgogI2luY2x1ZGUgIkxheW91dFJlcGxhY2VkQm94LmgiCiAjaW5jbHVkZSAiTGF5
b3V0U3RhdGUuaCIKICNpbmNsdWRlICJSZW5kZXJCbG9ja0Zsb3cuaCIKICNpbmNsdWRlICJTdHJp
bmdUcnVuY2F0b3IuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewotbmFtZXNwYWNlIExheW91dElu
dGVncmF0aW9uIHsKK25hbWVzcGFjZSBMYXlvdXRCcmlkZ2UgewogCiAjZGVmaW5lIFBST0NFU1Nf
QklESV9DT05URU5UIDAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVn
cmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9icmlkZ2UvTGF5b3V0QnJpZGdlSW5saW5lQ29udGVudEJ1aWxkZXIuaApz
aW1pbGFyaXR5IGluZGV4IDk4JQpyZW5hbWUgZnJvbSBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50
ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50QnVpbGRlci5oCnJlbmFtZSB0
byBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZUlubGluZUNvbnRlbnRC
dWlsZGVyLmgKaW5kZXggYTA3YTk3NTdhNGU0Li5kZTk5MDU5NmE2MTYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNv
bnRlbnRCdWlsZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRnZS9MYXlvdXRC
cmlkZ2VJbmxpbmVDb250ZW50QnVpbGRlci5oCkBAIC0zOSw3ICszOSw3IEBAIGNsYXNzIElubGlu
ZUZvcm1hdHRpbmdTdGF0ZTsKIGNsYXNzIExheW91dFN0YXRlOwogfQogCi1uYW1lc3BhY2UgTGF5
b3V0SW50ZWdyYXRpb24geworbmFtZXNwYWNlIExheW91dEJyaWRnZSB7CiAKIGNsYXNzIEJveFRy
ZWU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlv
dXRJbnRlZ3JhdGlvbkxpbmUuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9icmlkZ2UvTGF5b3V0
QnJpZGdlTGluZS5oCnNpbWlsYXJpdHkgaW5kZXggOTklCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJD
b3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmUuaApyZW5hbWUgdG8g
U291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VMaW5lLmgKaW5kZXggZDJk
YzU3ZmM1M2JkLi40NmRhODYzOGUwZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZUxpbmUuaApAQCAtMzEsNyArMzEsNyBAQAogI2lu
Y2x1ZGUgIkxheW91dEJveC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci1uYW1lc3BhY2UgTGF5
b3V0SW50ZWdyYXRpb24geworbmFtZXNwYWNlIExheW91dEJyaWRnZSB7CiAKIGNsYXNzIExpbmUg
ewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZUl0ZXJhdG9yLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9icmlkZ2UvTGF5b3V0QnJpZGdlTGluZUl0ZXJhdG9yLmNw
cApzaW1pbGFyaXR5IGluZGV4IDk3JQpyZW5hbWUgZnJvbSBTb3VyY2UvV2ViQ29yZS9sYXlvdXQv
aW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3IuY3BwCnJlbmFtZSB0byBT
b3VyY2UvV2ViQ29yZS9sYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZUxpbmVJdGVyYXRvci5jcHAK
aW5kZXggYzFjYWZmOGY3ZjhjLi5mOTlmZTJhMmRlNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVJdGVyYXRvci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VMaW5lSXRlcmF0
b3IuY3BwCkBAIC0yNCwxNCArMjQsMTQgQEAKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCi0j
aW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3IuaCIKKyNpbmNsdWRlICJMYXlv
dXRCcmlkZ2VMaW5lSXRlcmF0b3IuaCIKIAotI2luY2x1ZGUgIkxheW91dEludGVncmF0aW9uTGlu
ZUxheW91dC5oIgotI2luY2x1ZGUgIkxheW91dEludGVncmF0aW9uUnVuSXRlcmF0b3IuaCIKKyNp
bmNsdWRlICJMYXlvdXRCcmlkZ2VMaW5lTGF5b3V0LmgiCisjaW5jbHVkZSAiTGF5b3V0QnJpZGdl
UnVuSXRlcmF0b3IuaCIKICNpbmNsdWRlICJSZW5kZXJCbG9ja0Zsb3cuaCIKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewotbmFtZXNwYWNlIExheW91dEludGVncmF0aW9uIHsKK25hbWVzcGFjZSBMYXlv
dXRCcmlkZ2UgewogCiBMaW5lSXRlcmF0b3I6OkxpbmVJdGVyYXRvcihQYXRoTGluZTo6UGF0aFZh
cmlhbnQmJiBwYXRoVmFyaWFudCkKICAgICA6IG1fbGluZShXVEZNb3ZlKHBhdGhWYXJpYW50KSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRl
Z3JhdGlvbkxpbmVJdGVyYXRvci5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRnZS9MYXlv
dXRCcmlkZ2VMaW5lSXRlcmF0b3IuaApzaW1pbGFyaXR5IGluZGV4IDk3JQpyZW5hbWUgZnJvbSBT
b3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRl
cmF0b3IuaApyZW5hbWUgdG8gU291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlk
Z2VMaW5lSXRlcmF0b3IuaAppbmRleCA4ZWI0NDE1MmI4OWIuLjRmZjkzZGQ1ZDg5YSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9u
TGluZUl0ZXJhdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRnZS9MYXlvdXRC
cmlkZ2VMaW5lSXRlcmF0b3IuaApAQCAtMjUsMTMgKzI1LDEzIEBACiAKICNwcmFnbWEgb25jZQog
Ci0jaW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3JMZWdhY3lQYXRoLmgiCi0j
aW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3JNb2Rlcm5QYXRoLmgiCisjaW5j
bHVkZSAiTGF5b3V0QnJpZGdlTGluZUl0ZXJhdG9yTGVnYWN5UGF0aC5oIgorI2luY2x1ZGUgIkxh
eW91dEJyaWRnZUxpbmVJdGVyYXRvck1vZGVyblBhdGguaCIKICNpbmNsdWRlIDx3dGYvVmFyaWFu
dC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLW5hbWVzcGFjZSBMYXlvdXRJbnRlZ3JhdGlv
biB7CituYW1lc3BhY2UgTGF5b3V0QnJpZGdlIHsKIAogY2xhc3MgTGluZUl0ZXJhdG9yOwogY2xh
c3MgUGF0aEl0ZXJhdG9yOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVn
cmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZUl0ZXJhdG9yTGVnYWN5UGF0aC5oIGIvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VMaW5lSXRlcmF0b3JMZWdhY3lQYXRo
LmgKc2ltaWxhcml0eSBpbmRleCA5NiUKcmVuYW1lIGZyb20gU291cmNlL1dlYkNvcmUvbGF5b3V0
L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZUl0ZXJhdG9yTGVnYWN5UGF0aC5oCnJl
bmFtZSB0byBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZUxpbmVJdGVy
YXRvckxlZ2FjeVBhdGguaAppbmRleCBjZTIwMWNjNDNlZWYuLjA3NjBiYjc2YzM2MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9u
TGluZUl0ZXJhdG9yTGVnYWN5UGF0aC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9icmlk
Z2UvTGF5b3V0QnJpZGdlTGluZUl0ZXJhdG9yTGVnYWN5UGF0aC5oCkBAIC0yNSwxMyArMjUsMTMg
QEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpbmNsdWRlICJMYXlvdXRJbnRlZ3JhdGlvbklubGluZUNv
bnRlbnQuaCIKLSNpbmNsdWRlICJMYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yTGVnYWN5UGF0
aC5oIgorI2luY2x1ZGUgIkxheW91dEJyaWRnZUlubGluZUNvbnRlbnQuaCIKKyNpbmNsdWRlICJM
YXlvdXRCcmlkZ2VSdW5JdGVyYXRvckxlZ2FjeVBhdGguaCIKICNpbmNsdWRlICJMZWdhY3lSb290
SW5saW5lQm94LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotbmFtZXNwYWNlIExheW91dElu
dGVncmF0aW9uIHsKK25hbWVzcGFjZSBMYXlvdXRCcmlkZ2UgewogCiBjbGFzcyBMaW5lSXRlcmF0
b3JMZWdhY3lQYXRoIHsKIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVJdGVyYXRvck1vZGVyblBhdGguaCBi
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9icmlkZ2UvTGF5b3V0QnJpZGdlTGluZUl0ZXJhdG9yTW9k
ZXJuUGF0aC5oCnNpbWlsYXJpdHkgaW5kZXggOTclCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJDb3Jl
L2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVJdGVyYXRvck1vZGVyblBh
dGguaApyZW5hbWUgdG8gU291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VM
aW5lSXRlcmF0b3JNb2Rlcm5QYXRoLmgKaW5kZXggYTgyMTA0NjFlYzkwLi4wOWJlMWY1NjFiZmYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRl
Z3JhdGlvbkxpbmVJdGVyYXRvck1vZGVyblBhdGguaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvYnJpZGdlL0xheW91dEJyaWRnZUxpbmVJdGVyYXRvck1vZGVyblBhdGguaApAQCAtMjcsMTIg
KzI3LDEyIEBACiAKICNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkKIAotI2lu
Y2x1ZGUgIkxheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudC5oIgotI2luY2x1ZGUgIkxheW91
dEludGVncmF0aW9uUnVuSXRlcmF0b3JNb2Rlcm5QYXRoLmgiCisjaW5jbHVkZSAiTGF5b3V0QnJp
ZGdlSW5saW5lQ29udGVudC5oIgorI2luY2x1ZGUgIkxheW91dEJyaWRnZVJ1bkl0ZXJhdG9yTW9k
ZXJuUGF0aC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLW5hbWVzcGFjZSBMYXlvdXRJbnRl
Z3JhdGlvbiB7CituYW1lc3BhY2UgTGF5b3V0QnJpZGdlIHsKIAogY2xhc3MgUnVuSXRlcmF0b3JN
b2Rlcm5QYXRoOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRp
b24vTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9icmlkZ2UvTGF5b3V0QnJpZGdlTGluZUxheW91dC5jcHAKc2ltaWxhcml0eSBpbmRleCA5OSUK
cmVuYW1lIGZyb20gU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVn
cmF0aW9uTGluZUxheW91dC5jcHAKcmVuYW1lIHRvIFNvdXJjZS9XZWJDb3JlL2xheW91dC9icmlk
Z2UvTGF5b3V0QnJpZGdlTGluZUxheW91dC5jcHAKaW5kZXggN2Y5Mzk3YTJhYTdiLi5hNDdmOTA2
YThhMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlv
dXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9i
cmlkZ2UvTGF5b3V0QnJpZGdlTGluZUxheW91dC5jcHAKQEAgLTI0LDcgKzI0LDcgQEAKICAqLwog
CiAjaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5
b3V0LmgiCisjaW5jbHVkZSAiTGF5b3V0QnJpZGdlTGluZUxheW91dC5oIgogCiAjaWYgRU5BQkxF
KExBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpCiAKQEAgLTM3LDkgKzM3LDkgQEAKICNpbmNsdWRl
ICJJbmxpbmVGb3JtYXR0aW5nU3RhdGUuaCIKICNpbmNsdWRlICJJbnZhbGlkYXRpb25TdGF0ZS5o
IgogI2luY2x1ZGUgIkxheW91dEJveEdlb21ldHJ5LmgiCi0jaW5jbHVkZSAiTGF5b3V0SW50ZWdy
YXRpb25Db3ZlcmFnZS5oIgotI2luY2x1ZGUgIkxheW91dEludGVncmF0aW9uSW5saW5lQ29udGVu
dEJ1aWxkZXIuaCIKLSNpbmNsdWRlICJMYXlvdXRJbnRlZ3JhdGlvblBhZ2luYXRpb24uaCIKKyNp
bmNsdWRlICJMYXlvdXRCcmlkZ2VDb3ZlcmFnZS5oIgorI2luY2x1ZGUgIkxheW91dEJyaWRnZUlu
bGluZUNvbnRlbnRCdWlsZGVyLmgiCisjaW5jbHVkZSAiTGF5b3V0QnJpZGdlUGFnaW5hdGlvbi5o
IgogI2luY2x1ZGUgIkxheW91dFJlcGxhY2VkQm94LmgiCiAjaW5jbHVkZSAiTGF5b3V0VHJlZUJ1
aWxkZXIuaCIKICNpbmNsdWRlICJQYWludEluZm8uaCIKQEAgLTU2LDcgKzU2LDcgQEAKICNpbmNs
dWRlICJUZXh0UGFpbnRlci5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci1uYW1lc3BhY2UgTGF5
b3V0SW50ZWdyYXRpb24geworbmFtZXNwYWNlIExheW91dEJyaWRnZSB7CiAKIExpbmVMYXlvdXQ6
OkxpbmVMYXlvdXQoUmVuZGVyQmxvY2tGbG93JiBmbG93KQogICAgIDogbV9ib3hUcmVlKGZsb3cp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50
ZWdyYXRpb25MaW5lTGF5b3V0LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYnJpZGdlL0xheW91
dEJyaWRnZUxpbmVMYXlvdXQuaApzaW1pbGFyaXR5IGluZGV4IDk2JQpyZW5hbWUgZnJvbSBTb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0
LmgKcmVuYW1lIHRvIFNvdXJjZS9XZWJDb3JlL2xheW91dC9icmlkZ2UvTGF5b3V0QnJpZGdlTGlu
ZUxheW91dC5oCmluZGV4IDA5MWE2MDE0YjcxOS4uNjZjYmQxMjc5NjViIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5
b3V0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VMaW5l
TGF5b3V0LmgKQEAgLTI3LDkgKzI3LDkgQEAKIAogI2lmIEVOQUJMRShMQVlPVVRfRk9STUFUVElO
R19DT05URVhUKQogCi0jaW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRpb25Cb3hUcmVlLmgiCi0jaW5j
bHVkZSAiTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3IuaCIKLSNpbmNsdWRlICJMYXlvdXRJ
bnRlZ3JhdGlvblJ1bkl0ZXJhdG9yLmgiCisjaW5jbHVkZSAiTGF5b3V0QnJpZGdlQm94VHJlZS5o
IgorI2luY2x1ZGUgIkxheW91dEJyaWRnZUxpbmVJdGVyYXRvci5oIgorI2luY2x1ZGUgIkxheW91
dEJyaWRnZVJ1bkl0ZXJhdG9yLmgiCiAjaW5jbHVkZSAiTGF5b3V0UG9pbnQuaCIKICNpbmNsdWRl
ICJMYXlvdXRTdGF0ZS5oIgogI2luY2x1ZGUgIlJlbmRlck9iamVjdEVudW1zLmgiCkBAIC00OCw3
ICs0OCw3IEBAIGNsYXNzIFJlbmRlcklubGluZTsKIGNsYXNzIFJlbmRlckxpbmVCcmVhazsKIHN0
cnVjdCBQYWludEluZm87CiAKLW5hbWVzcGFjZSBMYXlvdXRJbnRlZ3JhdGlvbiB7CituYW1lc3Bh
Y2UgTGF5b3V0QnJpZGdlIHsKIAogc3RydWN0IElubGluZUNvbnRlbnQ7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblBhZ2lu
YXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VQYWdp
bmF0aW9uLmNwcApzaW1pbGFyaXR5IGluZGV4IDk5JQpyZW5hbWUgZnJvbSBTb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25QYWdpbmF0aW9uLmNwcApyZW5h
bWUgdG8gU291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VQYWdpbmF0aW9u
LmNwcAppbmRleCA0YWVjYjQ3ZTM5NDMuLmJmYmEwYmNmMzBmNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uUGFnaW5hdGlvbi5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VQYWdpbmF0
aW9uLmNwcApAQCAtMjQsNyArMjQsNyBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKLSNp
bmNsdWRlICJMYXlvdXRJbnRlZ3JhdGlvblBhZ2luYXRpb24uaCIKKyNpbmNsdWRlICJMYXlvdXRC
cmlkZ2VQYWdpbmF0aW9uLmgiCiAKICNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVY
VCkKIApAQCAtMzIsNyArMzIsNyBAQAogI2luY2x1ZGUgIlJlbmRlckJsb2NrRmxvdy5oIgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7Ci1uYW1lc3BhY2UgTGF5b3V0SW50ZWdyYXRpb24geworbmFtZXNw
YWNlIExheW91dEJyaWRnZSB7CiAKIHN0cnVjdCBTdHJ1dCB7CiAgICAgdW5zaWduZWQgbGluZUJy
ZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91
dEludGVncmF0aW9uUGFnaW5hdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRnZS9M
YXlvdXRCcmlkZ2VQYWdpbmF0aW9uLmgKc2ltaWxhcml0eSBpbmRleCA5NSUKcmVuYW1lIGZyb20g
U291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uUGFnaW5h
dGlvbi5oCnJlbmFtZSB0byBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvYnJpZGdlL0xheW91dEJyaWRn
ZVBhZ2luYXRpb24uaAppbmRleCA4M2MyY2YzYWQ0OTIuLjBjN2EwNjg5MzY2MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uUGFn
aW5hdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9icmlkZ2UvTGF5b3V0QnJpZGdl
UGFnaW5hdGlvbi5oCkBAIC0yNywxMyArMjcsMTMgQEAKIAogI2lmIEVOQUJMRShMQVlPVVRfRk9S
TUFUVElOR19DT05URVhUKQogCi0jaW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250
ZW50LmgiCisjaW5jbHVkZSAiTGF5b3V0QnJpZGdlSW5saW5lQ29udGVudC5oIgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIGNsYXNzIFJlbmRlckJsb2NrRmxvdzsKIAotbmFtZXNwYWNlIExheW91
dEludGVncmF0aW9uIHsKK25hbWVzcGFjZSBMYXlvdXRCcmlkZ2UgewogICAgIAogUmVmPElubGlu
ZUNvbnRlbnQ+IGFkanVzdExpbmVQb3NpdGlvbnNGb3JQYWdpbmF0aW9uKElubGluZUNvbnRlbnQm
LCBSZW5kZXJCbG9ja0Zsb3cmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uUnVuLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvYnJpZGdlL0xheW91dEJyaWRnZVJ1bi5oCnNpbWlsYXJpdHkgaW5kZXggOTklCnJlbmFtZSBm
cm9tIFNvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblJ1
bi5oCnJlbmFtZSB0byBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZVJ1
bi5oCmluZGV4IDE4OTA4ODdlYjJjMC4uODVkYjc4YTY5ZWQ3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25SdW4uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZVJ1bi5oCkBAIC0zNiw3ICsz
Niw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ2FjaGVkSW1hZ2U7CiAKLW5hbWVz
cGFjZSBMYXlvdXRJbnRlZ3JhdGlvbiB7CituYW1lc3BhY2UgTGF5b3V0QnJpZGdlIHsKIAogc3Ry
dWN0IFJ1biB7CiAgICAgV1RGX01BS0VfU1RSVUNUX0ZBU1RfQUxMT0NBVEVEOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uUnVu
SXRlcmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VS
dW5JdGVyYXRvci5jcHAKc2ltaWxhcml0eSBpbmRleCA5NyUKcmVuYW1lIGZyb20gU291cmNlL1dl
YkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uUnVuSXRlcmF0b3IuY3Bw
CnJlbmFtZSB0byBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZVJ1bkl0
ZXJhdG9yLmNwcAppbmRleCBhODdmY2U5MjE0ZmMuLjg4MjE4NDdhYmE3NCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uUnVuSXRl
cmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9icmlkZ2UvTGF5b3V0QnJpZGdl
UnVuSXRlcmF0b3IuY3BwCkBAIC0yNCwxNiArMjQsMTYgQEAKICAqLwogCiAjaW5jbHVkZSAiY29u
ZmlnLmgiCi0jaW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvci5oIgorI2luY2x1
ZGUgIkxheW91dEJyaWRnZVJ1bkl0ZXJhdG9yLmgiCiAKIAotI2luY2x1ZGUgIkxheW91dEludGVn
cmF0aW9uTGluZUl0ZXJhdG9yLmgiCi0jaW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5
b3V0LmgiCisjaW5jbHVkZSAiTGF5b3V0QnJpZGdlTGluZUl0ZXJhdG9yLmgiCisjaW5jbHVkZSAi
TGF5b3V0QnJpZGdlTGluZUxheW91dC5oIgogI2luY2x1ZGUgIlJlbmRlckJsb2NrRmxvdy5oIgog
I2luY2x1ZGUgIlJlbmRlckxpbmVCcmVhay5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci1uYW1l
c3BhY2UgTGF5b3V0SW50ZWdyYXRpb24geworbmFtZXNwYWNlIExheW91dEJyaWRnZSB7CiAKIFJ1
bkl0ZXJhdG9yOjpSdW5JdGVyYXRvcihQYXRoUnVuOjpQYXRoVmFyaWFudCYmIHBhdGhWYXJpYW50
KQogICAgIDogbV9ydW4oV1RGTW92ZShwYXRoVmFyaWFudCkpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvci5o
IGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VSdW5JdGVyYXRvci5o
CnNpbWlsYXJpdHkgaW5kZXggOTUlCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJDb3JlL2xheW91dC9p
bnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yLmgKcmVuYW1lIHRvIFNvdXJj
ZS9XZWJDb3JlL2xheW91dC9icmlkZ2UvTGF5b3V0QnJpZGdlUnVuSXRlcmF0b3IuaAppbmRleCBi
YWFkZTg5ZDhkMTMuLmYzOGQ4MmIzMGUzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uUnVuSXRlcmF0b3IuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZVJ1bkl0ZXJhdG9yLmgKQEAgLTI1
LDggKzI1LDggQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpbmNsdWRlICJMYXlvdXRJbnRlZ3JhdGlv
blJ1bkl0ZXJhdG9yTGVnYWN5UGF0aC5oIgotI2luY2x1ZGUgIkxheW91dEludGVncmF0aW9uUnVu
SXRlcmF0b3JNb2Rlcm5QYXRoLmgiCisjaW5jbHVkZSAiTGF5b3V0QnJpZGdlUnVuSXRlcmF0b3JM
ZWdhY3lQYXRoLmgiCisjaW5jbHVkZSAiTGF5b3V0QnJpZGdlUnVuSXRlcmF0b3JNb2Rlcm5QYXRo
LmgiCiAjaW5jbHVkZSAiTGVnYWN5SW5saW5lRWxlbWVudEJveC5oIgogI2luY2x1ZGUgPHd0Zi9W
YXJpYW50Lmg+CiAKQEAgLTM2LDcgKzM2LDcgQEAgY2xhc3MgUmVuZGVyTGluZUJyZWFrOwogY2xh
c3MgUmVuZGVyT2JqZWN0OwogY2xhc3MgUmVuZGVyVGV4dDsKIAotbmFtZXNwYWNlIExheW91dElu
dGVncmF0aW9uIHsKK25hbWVzcGFjZSBMYXlvdXRCcmlkZ2UgewogCiBjbGFzcyBMaW5lSXRlcmF0
b3I7CiBjbGFzcyBUZXh0UnVuSXRlcmF0b3I7CkBAIC0zNDcsMTAgKzM0NywxMCBAQCBpbmxpbmUg
TGF5b3V0UmVjdCBQYXRoVGV4dFJ1bjo6c2VsZWN0aW9uUmVjdCh1bnNpZ25lZCBzdGFydCwgdW5z
aWduZWQgZW5kKSBjb25zdAogfQogfQogCi1TUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0JFR0lOKFdl
YkNvcmU6OkxheW91dEludGVncmF0aW9uOjpQYXRoVGV4dFJ1bikKLXN0YXRpYyBib29sIGlzVHlw
ZShjb25zdCBXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6UGF0aFJ1biYgcnVuKSB7IHJldHVy
biBydW4uaXNUZXh0KCk7IH0KK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfQkVHSU4oV2ViQ29yZTo6
TGF5b3V0QnJpZGdlOjpQYXRoVGV4dFJ1bikKK3N0YXRpYyBib29sIGlzVHlwZShjb25zdCBXZWJD
b3JlOjpMYXlvdXRCcmlkZ2U6OlBhdGhSdW4mIHJ1bikgeyByZXR1cm4gcnVuLmlzVGV4dCgpOyB9
CiBTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0VORCgpCiAKLVNQRUNJQUxJWkVfVFlQRV9UUkFJVFNf
QkVHSU4oV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246OlRleHRSdW5JdGVyYXRvcikKLXN0YXRp
YyBib29sIGlzVHlwZShjb25zdCBXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6UnVuSXRlcmF0
b3ImIHJ1bkl0ZXJhdG9yKSB7IHJldHVybiAhcnVuSXRlcmF0b3IgfHwgcnVuSXRlcmF0b3ItPmlz
VGV4dCgpOyB9CitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0JFR0lOKFdlYkNvcmU6OkxheW91dEJy
aWRnZTo6VGV4dFJ1bkl0ZXJhdG9yKQorc3RhdGljIGJvb2wgaXNUeXBlKGNvbnN0IFdlYkNvcmU6
OkxheW91dEJyaWRnZTo6UnVuSXRlcmF0b3ImIHJ1bkl0ZXJhdG9yKSB7IHJldHVybiAhcnVuSXRl
cmF0b3IgfHwgcnVuSXRlcmF0b3ItPmlzVGV4dCgpOyB9CiBTUEVDSUFMSVpFX1RZUEVfVFJBSVRT
X0VORCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5
b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvckxlZ2FjeVBhdGguaCBiL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9icmlkZ2UvTGF5b3V0QnJpZGdlUnVuSXRlcmF0b3JMZWdhY3lQYXRoLmgKc2ltaWxhcml0
eSBpbmRleCA5OSUKcmVuYW1lIGZyb20gU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9u
L0xheW91dEludGVncmF0aW9uUnVuSXRlcmF0b3JMZWdhY3lQYXRoLmgKcmVuYW1lIHRvIFNvdXJj
ZS9XZWJDb3JlL2xheW91dC9icmlkZ2UvTGF5b3V0QnJpZGdlUnVuSXRlcmF0b3JMZWdhY3lQYXRo
LmgKaW5kZXggZThhMDEwYTJmNTIxLi40ZDk5OTNjOGM2ZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yTGVn
YWN5UGF0aC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9icmlkZ2UvTGF5b3V0QnJpZGdl
UnVuSXRlcmF0b3JMZWdhY3lQYXRoLmgKQEAgLTMyLDcgKzMyLDcgQEAKICNpbmNsdWRlIDx3dGYv
VmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKLW5hbWVzcGFjZSBMYXlvdXRJbnRlZ3Jh
dGlvbiB7CituYW1lc3BhY2UgTGF5b3V0QnJpZGdlIHsKIAogY2xhc3MgUnVuSXRlcmF0b3JMZWdh
Y3lQYXRoIHsKIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRl
Z3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yTW9kZXJuUGF0aC5oIGIvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VSdW5JdGVyYXRvck1vZGVyblBhdGgu
aApzaW1pbGFyaXR5IGluZGV4IDk5JQpyZW5hbWUgZnJvbSBTb3VyY2UvV2ViQ29yZS9sYXlvdXQv
aW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvck1vZGVyblBhdGguaApyZW5h
bWUgdG8gU291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VSdW5JdGVyYXRv
ck1vZGVyblBhdGguaAppbmRleCBhNjhmYWU1ODg2ODMuLjBiZDIxZjVjZjc2YSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uUnVu
SXRlcmF0b3JNb2Rlcm5QYXRoLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRnZS9M
YXlvdXRCcmlkZ2VSdW5JdGVyYXRvck1vZGVyblBhdGguaApAQCAtMjgsMTIgKzI4LDEyIEBACiAj
aWYgRU5BQkxFKExBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpCiAKICNpbmNsdWRlICJGb250Q2Fz
Y2FkZS5oIgotI2luY2x1ZGUgIkxheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudC5oIgorI2lu
Y2x1ZGUgIkxheW91dEJyaWRnZUlubGluZUNvbnRlbnQuaCIKICNpbmNsdWRlICJUZXh0Qm94U2Vs
ZWN0YWJsZVJhbmdlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotbmFtZXNwYWNlIExheW91
dEludGVncmF0aW9uIHsKK25hbWVzcGFjZSBMYXlvdXRCcmlkZ2UgewogCiBjbGFzcyBSdW5JdGVy
YXRvck1vZGVyblBhdGggewogcHVibGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9NZW1vcnlSZWxlYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWVtb3J5UmVsZWFzZS5j
cHAKaW5kZXggNmRlNmMwZTI2MzMzLi4xZjhjMjQxNTA1NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvTWVtb3J5UmVsZWFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9N
ZW1vcnlSZWxlYXNlLmNwcApAQCAtNDEsNyArNDEsNyBAQAogI2luY2x1ZGUgIkhUTUxNZWRpYUVs
ZW1lbnQuaCIKICNpbmNsdWRlICJJbmxpbmVTdHlsZVNoZWV0T3duZXIuaCIKICNpbmNsdWRlICJJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKLSNpbmNsdWRlICJMYXlvdXRJbnRlZ3JhdGlvbkxp
bmVMYXlvdXQuaCIKKyNpbmNsdWRlICJMYXlvdXRCcmlkZ2VMaW5lTGF5b3V0LmgiCiAjaW5jbHVk
ZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIk1lbW9yeUNhY2hlLmgiCiAjaW5jbHVkZSAiUGFnZS5o
IgpAQCAtNzcsNyArNzcsNyBAQCBzdGF0aWMgdm9pZCByZWxlYXNlTm9uY3JpdGljYWxNZW1vcnko
TWFpbnRhaW5NZW1vcnlDYWNoZSBtYWludGFpbk1lbW9yeUNhY2hlKQogCiAjaWYgRU5BQkxFKExB
WU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpCiAgICAgICAgIGlmIChhdXRvKiByZW5kZXJWaWV3ID0g
ZG9jdW1lbnQtPnJlbmRlclZpZXcoKSkKLSAgICAgICAgICAgIExheW91dEludGVncmF0aW9uOjpM
aW5lTGF5b3V0OjpyZWxlYXNlQ2FjaGVzKCpyZW5kZXJWaWV3KTsKKyAgICAgICAgICAgIExheW91
dEJyaWRnZTo6TGluZUxheW91dDo6cmVsZWFzZUNhY2hlcygqcmVuZGVyVmlldyk7CiAjZW5kaWYK
ICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9DYXJldFJlY3RD
b21wdXRhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQ2FyZXRSZWN0Q29tcHV0
YXRpb24uY3BwCmluZGV4IDRhOTg2MTliMmRjZC4uNjVlNDQwODZmZWE5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQ2FyZXRSZWN0Q29tcHV0YXRpb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9DYXJldFJlY3RDb21wdXRhdGlvbi5jcHAKQEAgLTI3LDgg
KzI3LDggQEAKICNpbmNsdWRlICJDYXJldFJlY3RDb21wdXRhdGlvbi5oIgogCiAjaW5jbHVkZSAi
RWRpdGluZy5oIgotI2luY2x1ZGUgIkxheW91dEludGVncmF0aW9uTGluZUl0ZXJhdG9yLmgiCi0j
aW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvci5oIgorI2luY2x1ZGUgIkxheW91
dEJyaWRnZUxpbmVJdGVyYXRvci5oIgorI2luY2x1ZGUgIkxheW91dEJyaWRnZVJ1bkl0ZXJhdG9y
LmgiCiAjaW5jbHVkZSAiUmVuZGVyQmxvY2tGbG93LmgiCiAjaW5jbHVkZSAiUmVuZGVySW5saW5l
LmgiCiAjaW5jbHVkZSAiUmVuZGVyTGluZUJyZWFrLmgiCkBAIC0xMDksNyArMTA5LDcgQEAgc3Rh
dGljIExheW91dFJlY3QgY29tcHV0ZUNhcmV0UmVjdEZvckVtcHR5RWxlbWVudChjb25zdCBSZW5k
ZXJCb3hNb2RlbE9iamVjdCYgcmUKICAgICByZXR1cm4gY3VycmVudFN0eWxlLmlzSG9yaXpvbnRh
bFdyaXRpbmdNb2RlKCkgPyByZWN0IDogcmVjdC50cmFuc3Bvc2VkUmVjdCgpOwogfQogCi1zdGF0
aWMgTGF5b3V0UmVjdCBjb21wdXRlQ2FyZXRSZWN0Rm9yTGluZVBvc2l0aW9uKGNvbnN0IExheW91
dEludGVncmF0aW9uOjpMaW5lSXRlcmF0b3ImIGxpbmUsIGZsb2F0IGxvZ2ljYWxMZWZ0UG9zaXRp
b24sIENhcmV0UmVjdE1vZGUgY2FyZXRSZWN0TW9kZSkKK3N0YXRpYyBMYXlvdXRSZWN0IGNvbXB1
dGVDYXJldFJlY3RGb3JMaW5lUG9zaXRpb24oY29uc3QgTGF5b3V0QnJpZGdlOjpMaW5lSXRlcmF0
b3ImIGxpbmUsIGZsb2F0IGxvZ2ljYWxMZWZ0UG9zaXRpb24sIENhcmV0UmVjdE1vZGUgY2FyZXRS
ZWN0TW9kZSkKIHsKICAgICBhdXRvJiBjb250YWluaW5nQmxvY2sgPSBsaW5lLT5jb250YWluaW5n
QmxvY2soKTsKICAgICBhdXRvIGxpbmVTZWxlY3Rpb25SZWN0ID0gbGluZS0+c2VsZWN0aW9uUmVj
dCgpOwpAQCAtMTcxLDcgKzE3MSw3IEBAIHN0YXRpYyBMYXlvdXRSZWN0IGNvbXB1dGVDYXJldFJl
Y3RGb3JUZXh0KGNvbnN0IElubGluZVJ1bkFuZE9mZnNldCYgcnVuQW5kT2Zmc2V0CiAgICAgaWYg
KCFydW5BbmRPZmZzZXQucnVuKQogICAgICAgICByZXR1cm4geyB9OwogCi0gICAgYXV0byYgdGV4
dFJ1biA9IGRvd25jYXN0PExheW91dEludGVncmF0aW9uOjpUZXh0UnVuSXRlcmF0b3I+KHJ1bkFu
ZE9mZnNldC5ydW4pOworICAgIGF1dG8mIHRleHRSdW4gPSBkb3duY2FzdDxMYXlvdXRCcmlkZ2U6
OlRleHRSdW5JdGVyYXRvcj4ocnVuQW5kT2Zmc2V0LnJ1bik7CiAgICAgYXV0byBsaW5lID0gdGV4
dFJ1bi5saW5lKCk7CiAKICAgICBmbG9hdCBwb3NpdGlvbiA9IHRleHRSdW4tPnBvc2l0aW9uRm9y
T2Zmc2V0KHJ1bkFuZE9mZnNldC5vZmZzZXQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQmxvY2tGbG93LmNwcAppbmRleCA0ODk3NWI3ZWNmYzMuLjg3N2I3NTQzYjA4OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAKQEAgLTM0LDkg
KzM0LDkgQEAKICNpbmNsdWRlICJIVE1MVGV4dEFyZWFFbGVtZW50LmgiCiAjaW5jbHVkZSAiSGl0
VGVzdExvY2F0aW9uLmgiCiAjaW5jbHVkZSAiSW5saW5lSXRlcmF0b3IuaCIKLSNpbmNsdWRlICJM
YXlvdXRJbnRlZ3JhdGlvbkxpbmVJdGVyYXRvci5oIgotI2luY2x1ZGUgIkxheW91dEludGVncmF0
aW9uTGluZUxheW91dC5oIgotI2luY2x1ZGUgIkxheW91dEludGVncmF0aW9uUnVuSXRlcmF0b3Iu
aCIKKyNpbmNsdWRlICJMYXlvdXRCcmlkZ2VMaW5lSXRlcmF0b3IuaCIKKyNpbmNsdWRlICJMYXlv
dXRCcmlkZ2VMaW5lTGF5b3V0LmgiCisjaW5jbHVkZSAiTGF5b3V0QnJpZGdlUnVuSXRlcmF0b3Iu
aCIKICNpbmNsdWRlICJMYXlvdXRSZXBhaW50ZXIuaCIKICNpbmNsdWRlICJMZWdhY3lJbmxpbmVU
ZXh0Qm94LmgiCiAjaW5jbHVkZSAiTGVnYWN5TGluZUxheW91dC5oIgpAQCAtNjg0LDcgKzY4NCw3
IEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93OjpsYXlvdXRJbmxpbmVDaGlsZHJlbihib29sIHJlbGF5
b3V0Q2hpbGRyZW4sIExheW91dFVuaXQmIHJlCiB7CiAgICAgYXV0byBjb21wdXRlTGluZUxheW91
dFBhdGggPSBbJl0gewogI2lmIEVOQUJMRShMQVlPVVRfRk9STUFUVElOR19DT05URVhUKQotICAg
ICAgICBpZiAoTGF5b3V0SW50ZWdyYXRpb246OkxpbmVMYXlvdXQ6OmNhblVzZUZvcigqdGhpcykp
CisgICAgICAgIGlmIChMYXlvdXRCcmlkZ2U6OkxpbmVMYXlvdXQ6OmNhblVzZUZvcigqdGhpcykp
CiAgICAgICAgICAgICByZXR1cm4gTW9kZXJuUGF0aDsKICNlbmRpZgogICAgICAgICByZXR1cm4g
TGluZUJveGVzUGF0aDsKQEAgLTIxMzQsNyArMjEzNCw3IEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93
OjpzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UgZGlmZiwgY29uc3QgUmVuZGVyU3R5bGUq
IG9sCiAgICAgICAgICAgICBpZiAoc2VsZk5lZWRzTGF5b3V0KCkgfHwgbGVnYWN5TGluZUxheW91
dCgpKQogICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogI2lmIEVOQUJMRShMQVlPVVRfRk9S
TUFUVElOR19DT05URVhUKQotICAgICAgICAgICAgaWYgKG1vZGVybkxpbmVMYXlvdXQoKSAmJiAh
TGF5b3V0SW50ZWdyYXRpb246OkxpbmVMYXlvdXQ6OmNhblVzZUZvckFmdGVyU3R5bGVDaGFuZ2Uo
KnRoaXMsIGRpZmYpKQorICAgICAgICAgICAgaWYgKG1vZGVybkxpbmVMYXlvdXQoKSAmJiAhTGF5
b3V0QnJpZGdlOjpMaW5lTGF5b3V0OjpjYW5Vc2VGb3JBZnRlclN0eWxlQ2hhbmdlKCp0aGlzLCBk
aWZmKSkKICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICNlbmRpZgogICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwpAQCAtMzM4OSw3ICszMzg5LDcgQEAgYm9vbCBSZW5kZXJCbG9ja0Zsb3c6
OmNvbnRhaW5zTm9uWmVyb0JpZGlMZXZlbCgpIGNvbnN0CiAgICAgcmV0dXJuIGZhbHNlOwogfQog
Ci1zdGF0aWMgUG9zaXRpb24gcG9zaXRpb25Gb3JSdW4oY29uc3QgUmVuZGVyQmxvY2tGbG93JiBm
bG93LCBMYXlvdXRJbnRlZ3JhdGlvbjo6UnVuSXRlcmF0b3IgcnVuLCBib29sIHN0YXJ0KQorc3Rh
dGljIFBvc2l0aW9uIHBvc2l0aW9uRm9yUnVuKGNvbnN0IFJlbmRlckJsb2NrRmxvdyYgZmxvdywg
TGF5b3V0QnJpZGdlOjpSdW5JdGVyYXRvciBydW4sIGJvb2wgc3RhcnQpCiB7CiAgICAgaWYgKCFy
dW4pCiAgICAgICAgIHJldHVybiBQb3NpdGlvbigpOwpAQCAtMzM5NywxMCArMzM5NywxMCBAQCBz
dGF0aWMgUG9zaXRpb24gcG9zaXRpb25Gb3JSdW4oY29uc3QgUmVuZGVyQmxvY2tGbG93JiBmbG93
LCBMYXlvdXRJbnRlZ3JhdGlvbjo6UgogICAgIGlmICghcnVuLT5yZW5kZXJlcigpLm5vblBzZXVk
b05vZGUoKSkKICAgICAgICAgcmV0dXJuIG1ha2VEZXByZWNhdGVkTGVnYWN5UG9zaXRpb24oZmxv
dy5ub25Qc2V1ZG9FbGVtZW50KCksIHN0YXJ0ID8gZmxvdy5jYXJldE1pbk9mZnNldCgpIDogZmxv
dy5jYXJldE1heE9mZnNldCgpKTsKIAotICAgIGlmICghaXM8TGF5b3V0SW50ZWdyYXRpb246OlRl
eHRSdW5JdGVyYXRvcj4ocnVuKSkKKyAgICBpZiAoIWlzPExheW91dEJyaWRnZTo6VGV4dFJ1bkl0
ZXJhdG9yPihydW4pKQogICAgICAgICByZXR1cm4gbWFrZURlcHJlY2F0ZWRMZWdhY3lQb3NpdGlv
bihydW4tPnJlbmRlcmVyKCkubm9uUHNldWRvTm9kZSgpLCBzdGFydCA/IHJ1bi0+cmVuZGVyZXIo
KS5jYXJldE1pbk9mZnNldCgpIDogcnVuLT5yZW5kZXJlcigpLmNhcmV0TWF4T2Zmc2V0KCkpOwog
Ci0gICAgYXV0byYgdGV4dFJ1biA9IGRvd25jYXN0PExheW91dEludGVncmF0aW9uOjpUZXh0UnVu
SXRlcmF0b3I+KHJ1bik7CisgICAgYXV0byYgdGV4dFJ1biA9IGRvd25jYXN0PExheW91dEJyaWRn
ZTo6VGV4dFJ1bkl0ZXJhdG9yPihydW4pOwogICAgIHJldHVybiBtYWtlRGVwcmVjYXRlZExlZ2Fj
eVBvc2l0aW9uKHRleHRSdW4tPnJlbmRlcmVyKCkubm9uUHNldWRvTm9kZSgpLCBzdGFydCA/IHRl
eHRSdW4tPnN0YXJ0KCkgOiB0ZXh0UnVuLT5lbmQoKSk7CiB9CiAKQEAgLTM0NTMsNyArMzQ1Myw3
IEBAIFJlbmRlclRleHQqIFJlbmRlckJsb2NrRmxvdzo6ZmluZENsb3Nlc3RUZXh0QXRBYnNvbHV0
ZVBvaW50KGNvbnN0IEZsb2F0UG9pbnQmIHBvCiAgICAgLy8gT25seSBjaGVjayB0aGUgZ2FwcyBi
ZXR3ZWVuIHRoZSByb290IGxpbmUgYm94ZXMuIFdlIGRlbGliZXJhdGVseSBpZ25vcmUgb3ZlcmZs
b3cgYmVjYXVzZQogICAgIC8vIGV4cGVyaWVuY2UgaGFzIHNob3duIHRoYXQgaGl0IHRlc3RzIG9u
IGFuIGV4cGxvZGVkIHRleHQgbm9kZSBjYW4gZmFpbCB3aGVuIHdpdGhpbiB0aGUKICAgICAvLyBv
dmVyZmxvdyBmcmFnbWVudC4KLSAgICBmb3IgKGF1dG8gY3VycmVudCA9IExheW91dEludGVncmF0
aW9uOjpmaXJzdExpbmVGb3IoYmxvY2tGbG93KSwgbGFzdCA9IExheW91dEludGVncmF0aW9uOjps
YXN0TGluZUZvcihibG9ja0Zsb3cpOyBjdXJyZW50ICYmIGN1cnJlbnQgIT0gbGFzdDsgY3VycmVu
dC50cmF2ZXJzZU5leHQoKSkgeworICAgIGZvciAoYXV0byBjdXJyZW50ID0gTGF5b3V0QnJpZGdl
OjpmaXJzdExpbmVGb3IoYmxvY2tGbG93KSwgbGFzdCA9IExheW91dEJyaWRnZTo6bGFzdExpbmVG
b3IoYmxvY2tGbG93KTsgY3VycmVudCAmJiBjdXJyZW50ICE9IGxhc3Q7IGN1cnJlbnQudHJhdmVy
c2VOZXh0KCkpIHsKICAgICAgICAgZmxvYXQgY3VycmVudEJvdHRvbSA9IGN1cnJlbnQtPnkoKSAr
IGN1cnJlbnQtPmxvZ2ljYWxIZWlnaHQoKTsKICAgICAgICAgaWYgKGxvY2FsUG9pbnQueSgpIDwg
Y3VycmVudEJvdHRvbSkKICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwpAQCAtMzQ3Myw3ICsz
NDczLDcgQEAgVmlzaWJsZVBvc2l0aW9uIFJlbmRlckJsb2NrRmxvdzo6cG9zaXRpb25Gb3JQb2lu
dFdpdGhJbmxpbmVDaGlsZHJlbihjb25zdCBMYXlvdXQKIHsKICAgICBBU1NFUlQoY2hpbGRyZW5J
bmxpbmUoKSk7CiAKLSAgICBhdXRvIGZpcnN0TGluZSA9IExheW91dEludGVncmF0aW9uOjpmaXJz
dExpbmVGb3IoKnRoaXMpOworICAgIGF1dG8gZmlyc3RMaW5lID0gTGF5b3V0QnJpZGdlOjpmaXJz
dExpbmVGb3IoKnRoaXMpOwogCiAgICAgaWYgKCFmaXJzdExpbmUpCiAgICAgICAgIHJldHVybiBj
cmVhdGVWaXNpYmxlUG9zaXRpb24oMCwgQWZmaW5pdHk6OkRvd25zdHJlYW0pOwpAQCAtMzQ4Miw5
ICszNDgyLDkgQEAgVmlzaWJsZVBvc2l0aW9uIFJlbmRlckJsb2NrRmxvdzo6cG9zaXRpb25Gb3JQ
b2ludFdpdGhJbmxpbmVDaGlsZHJlbihjb25zdCBMYXlvdXQKICAgICBib29sIGJsb2Nrc0FyZUZs
aXBwZWQgPSBzdHlsZSgpLmlzRmxpcHBlZEJsb2Nrc1dyaXRpbmdNb2RlKCk7CiAKICAgICAvLyBs
b29rIGZvciB0aGUgY2xvc2VzdCBsaW5lIGJveCBpbiB0aGUgcm9vdCBib3ggd2hpY2ggaXMgYXQg
dGhlIHBhc3NlZC1pbiB5IGNvb3JkaW5hdGUKLSAgICBMYXlvdXRJbnRlZ3JhdGlvbjo6UnVuSXRl
cmF0b3IgY2xvc2VzdFJ1bjsKLSAgICBMYXlvdXRJbnRlZ3JhdGlvbjo6TGluZUl0ZXJhdG9yIGZp
cnN0TGluZVdpdGhDaGlsZHJlbjsKLSAgICBMYXlvdXRJbnRlZ3JhdGlvbjo6TGluZUl0ZXJhdG9y
IGxhc3RMaW5lV2l0aENoaWxkcmVuOworICAgIExheW91dEJyaWRnZTo6UnVuSXRlcmF0b3IgY2xv
c2VzdFJ1bjsKKyAgICBMYXlvdXRCcmlkZ2U6OkxpbmVJdGVyYXRvciBmaXJzdExpbmVXaXRoQ2hp
bGRyZW47CisgICAgTGF5b3V0QnJpZGdlOjpMaW5lSXRlcmF0b3IgbGFzdExpbmVXaXRoQ2hpbGRy
ZW47CiAgICAgZm9yIChhdXRvIGxpbmUgPSBmaXJzdExpbmU7IGxpbmU7IGxpbmUudHJhdmVyc2VO
ZXh0KCkpIHsKICAgICAgICAgaWYgKGZyYWdtZW50ICYmIGxpbmUtPmxlZ2FjeVJvb3RJbmxpbmVC
b3goKSAmJiBsaW5lLT5sZWdhY3lSb290SW5saW5lQm94KCktPmNvbnRhaW5pbmdGcmFnbWVudCgp
ICE9IGZyYWdtZW50KQogICAgICAgICAgICAgY29udGludWU7CkBAIC0zNjg5LDcgKzM2ODksNyBA
QCB2b2lkIFJlbmRlckJsb2NrRmxvdzo6bGF5b3V0TW9kZXJuTGluZXMoYm9vbCByZWxheW91dENo
aWxkcmVuLCBMYXlvdXRVbml0JiByZXBhaQogICAgIGJvb2wgbmVlZHNVcGRhdGVSZXBsYWNlZERp
bWVuc2lvbnMgPSBmYWxzZTsKIAogICAgIGlmICghbW9kZXJuTGluZUxheW91dCgpKSB7Ci0gICAg
ICAgIG1fbGluZUxheW91dCA9IG1ha2VVbmlxdWU8TGF5b3V0SW50ZWdyYXRpb246OkxpbmVMYXlv
dXQ+KCp0aGlzKTsKKyAgICAgICAgbV9saW5lTGF5b3V0ID0gbWFrZVVuaXF1ZTxMYXlvdXRCcmlk
Z2U6OkxpbmVMYXlvdXQ+KCp0aGlzKTsKICAgICAgICAgbmVlZHNVcGRhdGVSZXBsYWNlZERpbWVu
c2lvbnMgPSB0cnVlOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJsb2NrRmxvdy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJs
b2NrRmxvdy5oCmluZGV4IDdjYzBmZGVlM2I4NC4uZmY0MWFhNzVlODQyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oCkBAIC0zNyw3ICszNyw3IEBAIGNsYXNz
IFJlbmRlck11bHRpQ29sdW1uRmxvdzsKIGNsYXNzIFJlbmRlclJ1YnlSdW47CiAKICNpZiBFTkFC
TEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkKLW5hbWVzcGFjZSBMYXlvdXRJbnRlZ3JhdGlv
biB7CituYW1lc3BhY2UgTGF5b3V0QnJpZGdlIHsKIGNsYXNzIExpbmVMYXlvdXQ7CiB9CiAjZW5k
aWYKQEAgLTM2MCw4ICszNjAsOCBAQCBwdWJsaWM6CiAgICAgY29uc3QgTGVnYWN5TGluZUxheW91
dCogbGVnYWN5TGluZUxheW91dCgpIGNvbnN0OwogICAgIExlZ2FjeUxpbmVMYXlvdXQqIGxlZ2Fj
eUxpbmVMYXlvdXQoKTsKICNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkKLSAg
ICBjb25zdCBMYXlvdXRJbnRlZ3JhdGlvbjo6TGluZUxheW91dCogbW9kZXJuTGluZUxheW91dCgp
IGNvbnN0OwotICAgIExheW91dEludGVncmF0aW9uOjpMaW5lTGF5b3V0KiBtb2Rlcm5MaW5lTGF5
b3V0KCk7CisgICAgY29uc3QgTGF5b3V0QnJpZGdlOjpMaW5lTGF5b3V0KiBtb2Rlcm5MaW5lTGF5
b3V0KCkgY29uc3Q7CisgICAgTGF5b3V0QnJpZGdlOjpMaW5lTGF5b3V0KiBtb2Rlcm5MaW5lTGF5
b3V0KCk7CiAjZW5kaWYKIAogICAgIHZvaWQgZW5zdXJlTGluZUJveGVzKCk7CkBAIC01ODgsNyAr
NTg4LDcgQEAgcHJpdmF0ZToKICAgICBWYXJpYW50PAogICAgICAgICBXVEY6Ok1vbm9zdGF0ZSwK
ICNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkKLSAgICAgICAgc3RkOjp1bmlx
dWVfcHRyPExheW91dEludGVncmF0aW9uOjpMaW5lTGF5b3V0PiwKKyAgICAgICAgc3RkOjp1bmlx
dWVfcHRyPExheW91dEJyaWRnZTo6TGluZUxheW91dD4sCiAjZW5kaWYKICAgICAgICAgc3RkOjp1
bmlxdWVfcHRyPExlZ2FjeUxpbmVMYXlvdXQ+CiAgICAgPiBtX2xpbmVMYXlvdXQ7CkBAIC02MjEs
MTcgKzYyMSwxNyBAQCBpbmxpbmUgTGVnYWN5TGluZUxheW91dCogUmVuZGVyQmxvY2tGbG93Ojps
ZWdhY3lMaW5lTGF5b3V0KCkKICNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkK
IGlubGluZSBib29sIFJlbmRlckJsb2NrRmxvdzo6aGFzTW9kZXJuTGluZUxheW91dCgpIGNvbnN0
CiB7Ci0gICAgcmV0dXJuIFdURjo6aG9sZHNfYWx0ZXJuYXRpdmU8c3RkOjp1bmlxdWVfcHRyPExh
eW91dEludGVncmF0aW9uOjpMaW5lTGF5b3V0Pj4obV9saW5lTGF5b3V0KTsKKyAgICByZXR1cm4g
V1RGOjpob2xkc19hbHRlcm5hdGl2ZTxzdGQ6OnVuaXF1ZV9wdHI8TGF5b3V0QnJpZGdlOjpMaW5l
TGF5b3V0Pj4obV9saW5lTGF5b3V0KTsKIH0KIAotaW5saW5lIGNvbnN0IExheW91dEludGVncmF0
aW9uOjpMaW5lTGF5b3V0KiBSZW5kZXJCbG9ja0Zsb3c6Om1vZGVybkxpbmVMYXlvdXQoKSBjb25z
dAoraW5saW5lIGNvbnN0IExheW91dEJyaWRnZTo6TGluZUxheW91dCogUmVuZGVyQmxvY2tGbG93
Ojptb2Rlcm5MaW5lTGF5b3V0KCkgY29uc3QKIHsKLSAgICByZXR1cm4gaGFzTW9kZXJuTGluZUxh
eW91dCgpID8gV1RGOjpnZXQ8c3RkOjp1bmlxdWVfcHRyPExheW91dEludGVncmF0aW9uOjpMaW5l
TGF5b3V0Pj4obV9saW5lTGF5b3V0KS5nZXQoKSA6IG51bGxwdHI7CisgICAgcmV0dXJuIGhhc01v
ZGVybkxpbmVMYXlvdXQoKSA/IFdURjo6Z2V0PHN0ZDo6dW5pcXVlX3B0cjxMYXlvdXRCcmlkZ2U6
OkxpbmVMYXlvdXQ+PihtX2xpbmVMYXlvdXQpLmdldCgpIDogbnVsbHB0cjsKIH0KIAotaW5saW5l
IExheW91dEludGVncmF0aW9uOjpMaW5lTGF5b3V0KiBSZW5kZXJCbG9ja0Zsb3c6Om1vZGVybkxp
bmVMYXlvdXQoKQoraW5saW5lIExheW91dEJyaWRnZTo6TGluZUxheW91dCogUmVuZGVyQmxvY2tG
bG93Ojptb2Rlcm5MaW5lTGF5b3V0KCkKIHsKLSAgICByZXR1cm4gaGFzTW9kZXJuTGluZUxheW91
dCgpID8gV1RGOjpnZXQ8c3RkOjp1bmlxdWVfcHRyPExheW91dEludGVncmF0aW9uOjpMaW5lTGF5
b3V0Pj4obV9saW5lTGF5b3V0KS5nZXQoKSA6IG51bGxwdHI7CisgICAgcmV0dXJuIGhhc01vZGVy
bkxpbmVMYXlvdXQoKSA/IFdURjo6Z2V0PHN0ZDo6dW5pcXVlX3B0cjxMYXlvdXRCcmlkZ2U6Okxp
bmVMYXlvdXQ+PihtX2xpbmVMYXlvdXQpLmdldCgpIDogbnVsbHB0cjsKIH0KICNlbmRpZgogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCmluZGV4IGExZDJmOGFiYmIxNS4uZmMz
ZWU5NzBlMzE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcApAQCAtNDgs
OCArNDgsOCBAQAogI2luY2x1ZGUgIkhUTUxUZXh0QXJlYUVsZW1lbnQuaCIKICNpbmNsdWRlICJI
aXRUZXN0UmVzdWx0LmgiCiAjaW5jbHVkZSAiSW5saW5lUnVuQW5kT2Zmc2V0LmgiCi0jaW5jbHVk
ZSAiTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3IuaCIKLSNpbmNsdWRlICJMYXlvdXRJbnRl
Z3JhdGlvbkxpbmVMYXlvdXQuaCIKKyNpbmNsdWRlICJMYXlvdXRCcmlkZ2VMaW5lSXRlcmF0b3Iu
aCIKKyNpbmNsdWRlICJMYXlvdXRCcmlkZ2VMaW5lTGF5b3V0LmgiCiAjaW5jbHVkZSAiTGVnYWN5
SW5saW5lRWxlbWVudEJveC5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYWludElu
Zm8uaCIKQEAgLTQxNyw3ICs0MTcsNyBAQCB2b2lkIFJlbmRlckJveDo6c3R5bGVEaWRDaGFuZ2Uo
U3R5bGVEaWZmZXJlbmNlIGRpZmYsIGNvbnN0IFJlbmRlclN0eWxlKiBvbGRTdHlsZQogCiAjaWYg
RU5BQkxFKExBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpCiAgICAgaWYgKGRpZmYgPj0gU3R5bGVE
aWZmZXJlbmNlOjpSZXBhaW50KSB7Ci0gICAgICAgIGlmIChhdXRvKiBsaW5lTGF5b3V0ID0gTGF5
b3V0SW50ZWdyYXRpb246OkxpbmVMYXlvdXQ6OmNvbnRhaW5pbmcoKnRoaXMpKQorICAgICAgICBp
ZiAoYXV0byogbGluZUxheW91dCA9IExheW91dEJyaWRnZTo6TGluZUxheW91dDo6Y29udGFpbmlu
ZygqdGhpcykpCiAgICAgICAgICAgICBsaW5lTGF5b3V0LT51cGRhdGVTdHlsZSgqdGhpcyk7CiAg
ICAgfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAK
aW5kZXggODI3N2NkNGM3MzZlLi4xNjk3OTNjYmVmOWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAKQEAgLTQzLDggKzQzLDggQEAKICNpbmNsdWRlICJIVE1M
SHRtbEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MSW1hZ2VFbGVtZW50LmgiCiAjaW5jbHVkZSAi
SFRNTE5hbWVzLmgiCi0jaW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3IuaCIK
LSNpbmNsdWRlICJMYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yLmgiCisjaW5jbHVkZSAiTGF5
b3V0QnJpZGdlTGluZUl0ZXJhdG9yLmgiCisjaW5jbHVkZSAiTGF5b3V0QnJpZGdlUnVuSXRlcmF0
b3IuaCIKICNpbmNsdWRlICJMZW5ndGhGdW5jdGlvbnMuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgi
CiAjaW5jbHVkZSAiUGFnZS5oIgpAQCAtMTYzMiwxMyArMTYzMiwxMyBAQCBib29sIFJlbmRlckVs
ZW1lbnQ6OmdldExlYWRpbmdDb3JuZXIoRmxvYXRQb2ludCYgcG9pbnQsIGJvb2wmIGluc2lkZUZp
eGVkKSBjb25zdAogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIH0KIAotICAgICAg
ICBpZiAocC0+bm9kZSgpICYmIHAtPm5vZGUoKSA9PSBlbGVtZW50KCkgJiYgaXM8UmVuZGVyVGV4
dD4oKm8pICYmICFMYXlvdXRJbnRlZ3JhdGlvbjo6Zmlyc3RUZXh0UnVuRm9yKGRvd25jYXN0PFJl
bmRlclRleHQ+KCpvKSkpIHsKKyAgICAgICAgaWYgKHAtPm5vZGUoKSAmJiBwLT5ub2RlKCkgPT0g
ZWxlbWVudCgpICYmIGlzPFJlbmRlclRleHQ+KCpvKSAmJiAhTGF5b3V0QnJpZGdlOjpmaXJzdFRl
eHRSdW5Gb3IoZG93bmNhc3Q8UmVuZGVyVGV4dD4oKm8pKSkgewogICAgICAgICAgICAgLy8gZG8g
bm90aGluZyAtIHNraXAgdW5yZW5kZXJlZCB3aGl0ZXNwYWNlIHRoYXQgaXMgYSBjaGlsZCBvciBu
ZXh0IHNpYmxpbmcgb2YgdGhlIGFuY2hvcgogICAgICAgICB9IGVsc2UgaWYgKGlzPFJlbmRlclRl
eHQ+KCpvKSB8fCBvLT5pc1JlcGxhY2VkKCkpIHsKICAgICAgICAgICAgIHBvaW50ID0gRmxvYXRQ
b2ludCgpOwogICAgICAgICAgICAgaWYgKGlzPFJlbmRlclRleHQ+KCpvKSkgewogICAgICAgICAg
ICAgICAgIGF1dG8mIHRleHRSZW5kZXJlciA9IGRvd25jYXN0PFJlbmRlclRleHQ+KCpvKTsKLSAg
ICAgICAgICAgICAgICBpZiAoYXV0byBydW4gPSBMYXlvdXRJbnRlZ3JhdGlvbjo6Zmlyc3RUZXh0
UnVuRm9yKHRleHRSZW5kZXJlcikpCisgICAgICAgICAgICAgICAgaWYgKGF1dG8gcnVuID0gTGF5
b3V0QnJpZGdlOjpmaXJzdFRleHRSdW5Gb3IodGV4dFJlbmRlcmVyKSkKICAgICAgICAgICAgICAg
ICAgICAgcG9pbnQubW92ZSh0ZXh0UmVuZGVyZXIubGluZXNCb3VuZGluZ0JveCgpLngoKSwgcnVu
LmxpbmUoKS0+dG9wKCkpOwogICAgICAgICAgICAgfSBlbHNlIGlmIChpczxSZW5kZXJCb3g+KCpv
KSkKICAgICAgICAgICAgICAgICBwb2ludC5tb3ZlQnkoZG93bmNhc3Q8UmVuZGVyQm94Pigqbyku
bG9jYXRpb24oKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
SW1hZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAppbmRl
eCBlYzRmOGZmYmU3MDAuLjhkODgxYjkyNWRhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVySW1hZ2UuY3BwCkBAIC00NCw4ICs0NCw4IEBACiAjaW5jbHVkZSAiSFRNTE1hcEVsZW1l
bnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJIaXRUZXN0UmVzdWx0Lmgi
Ci0jaW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3IuaCIKLSNpbmNsdWRlICJM
YXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yLmgiCisjaW5jbHVkZSAiTGF5b3V0QnJpZGdlTGlu
ZUl0ZXJhdG9yLmgiCisjaW5jbHVkZSAiTGF5b3V0QnJpZGdlUnVuSXRlcmF0b3IuaCIKICNpbmNs
dWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUGFpbnRJbmZvLmgiCiAjaW5jbHVkZSAiUmVuZGVyQ2hp
bGRJdGVyYXRvci5oIgpAQCAtOTEsNyArOTEsNyBAQCB2b2lkIFJlbmRlckltYWdlOjpjb2xsZWN0
U2VsZWN0aW9uR2VvbWV0cmllcyhWZWN0b3I8U2VsZWN0aW9uR2VvbWV0cnk+JiBnZW9tZXRyaQog
ICAgIGJvb2wgaXNGaXJzdE9uTGluZSA9IGZhbHNlOwogICAgIGJvb2wgaXNMYXN0T25MaW5lID0g
ZmFsc2U7CiAKLSAgICBhdXRvIHJ1biA9IExheW91dEludGVncmF0aW9uOjpydW5Gb3IoKnRoaXMp
OworICAgIGF1dG8gcnVuID0gTGF5b3V0QnJpZGdlOjpydW5Gb3IoKnRoaXMpOwogICAgIGlmICgh
cnVuKSB7CiAgICAgICAgIC8vIFRoaXMgaXMgYSBibG9jayBpbWFnZS4KICAgICAgICAgaW1hZ2VS
ZWN0ID0gSW50UmVjdCgwLCAwLCB3aWR0aCgpLCBoZWlnaHQoKSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCmluZGV4IGY0MzVjYzRmNWEwMy4uMWY1ODA2YjA1Mzkw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcApAQCAtMjgsNyAr
MjgsNyBAQAogI2luY2x1ZGUgIkZyYW1lU2VsZWN0aW9uLmgiCiAjaW5jbHVkZSAiR3JhcGhpY3ND
b250ZXh0LmgiCiAjaW5jbHVkZSAiSGl0VGVzdFJlc3VsdC5oIgotI2luY2x1ZGUgIkxheW91dElu
dGVncmF0aW9uTGluZUxheW91dC5oIgorI2luY2x1ZGUgIkxheW91dEJyaWRnZUxpbmVMYXlvdXQu
aCIKICNpbmNsdWRlICJMZWdhY3lJbmxpbmVFbGVtZW50Qm94LmgiCiAjaW5jbHVkZSAiTGVnYWN5
SW5saW5lVGV4dEJveC5oIgogI2luY2x1ZGUgIlJlbmRlckJsb2NrLmgiCkBAIC0xOTcsMTAgKzE5
NywxMCBAQCB2b2lkIFJlbmRlcklubGluZTo6c3R5bGVEaWRDaGFuZ2UoU3R5bGVEaWZmZXJlbmNl
IGRpZmYsIGNvbnN0IFJlbmRlclN0eWxlKiBvbGRTdAogCiAjaWYgRU5BQkxFKExBWU9VVF9GT1JN
QVRUSU5HX0NPTlRFWFQpCiAgICAgaWYgKGRpZmYgPj0gU3R5bGVEaWZmZXJlbmNlOjpSZXBhaW50
KSB7Ci0gICAgICAgIGlmIChhdXRvKiBsaW5lTGF5b3V0ID0gTGF5b3V0SW50ZWdyYXRpb246Okxp
bmVMYXlvdXQ6OmNvbnRhaW5pbmcoKnRoaXMpKSB7CisgICAgICAgIGlmIChhdXRvKiBsaW5lTGF5
b3V0ID0gTGF5b3V0QnJpZGdlOjpMaW5lTGF5b3V0Ojpjb250YWluaW5nKCp0aGlzKSkgewogICAg
ICAgICAgICAgaWYgKHNlbGZOZWVkc0xheW91dCgpKSB7CiAgICAgICAgICAgICAgICAgLy8gRklY
TUU6IEFkZCBzdXBwb3J0IGZvciBwYXJ0aWFsIGludmFsaWRhdGlvbi4KLSAgICAgICAgICAgICAg
ICBpZiAoYXV0byogY29udGFpbmVyID0gTGF5b3V0SW50ZWdyYXRpb246OkxpbmVMYXlvdXQ6OmJs
b2NrQ29udGFpbmVyKCp0aGlzKSkKKyAgICAgICAgICAgICAgICBpZiAoYXV0byogY29udGFpbmVy
ID0gTGF5b3V0QnJpZGdlOjpMaW5lTGF5b3V0OjpibG9ja0NvbnRhaW5lcigqdGhpcykpCiAgICAg
ICAgICAgICAgICAgICAgIGNvbnRhaW5lci0+aW52YWxpZGF0ZUxpbmVMYXlvdXRQYXRoKCk7CiAg
ICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICBsaW5lTGF5b3V0LT51cGRhdGVTdHls
ZSgqdGhpcyk7CkBAIC0zNjgsNyArMzY4LDcgQEAgcHJpdmF0ZToKIHZvaWQgUmVuZGVySW5saW5l
OjphYnNvbHV0ZVJlY3RzKFZlY3RvcjxJbnRSZWN0PiYgcmVjdHMsIGNvbnN0IExheW91dFBvaW50
JiBhY2N1bXVsYXRlZE9mZnNldCkgY29uc3QKIHsKICNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJ
TkdfQ09OVEVYVCkKLSAgICBpZiAoYXV0byogbGluZUxheW91dCA9IExheW91dEludGVncmF0aW9u
OjpMaW5lTGF5b3V0Ojpjb250YWluaW5nKGNvbnN0X2Nhc3Q8UmVuZGVySW5saW5lJj4oKnRoaXMp
KSkKKyAgICBpZiAoYXV0byogbGluZUxheW91dCA9IExheW91dEJyaWRnZTo6TGluZUxheW91dDo6
Y29udGFpbmluZyhjb25zdF9jYXN0PFJlbmRlcklubGluZSY+KCp0aGlzKSkpCiAgICAgICAgIGxp
bmVMYXlvdXQtPmZsb3coKS5lbnN1cmVMaW5lQm94ZXMoKTsKICNlbmRpZgogICAgIFZlY3RvcjxM
YXlvdXRSZWN0PiBsaW5lYm94UmVjdHM7CkBAIC00MTIsNyArNDEyLDcgQEAgcHJpdmF0ZToKIHZv
aWQgUmVuZGVySW5saW5lOjphYnNvbHV0ZVF1YWRzKFZlY3RvcjxGbG9hdFF1YWQ+JiBxdWFkcywg
Ym9vbCogd2FzRml4ZWQpIGNvbnN0CiB7CiAjaWYgRU5BQkxFKExBWU9VVF9GT1JNQVRUSU5HX0NP
TlRFWFQpCi0gICAgaWYgKGF1dG8qIGxpbmVMYXlvdXQgPSBMYXlvdXRJbnRlZ3JhdGlvbjo6TGlu
ZUxheW91dDo6Y29udGFpbmluZyhjb25zdF9jYXN0PFJlbmRlcklubGluZSY+KCp0aGlzKSkpCisg
ICAgaWYgKGF1dG8qIGxpbmVMYXlvdXQgPSBMYXlvdXRCcmlkZ2U6OkxpbmVMYXlvdXQ6OmNvbnRh
aW5pbmcoY29uc3RfY2FzdDxSZW5kZXJJbmxpbmUmPigqdGhpcykpKQogICAgICAgICBsaW5lTGF5
b3V0LT5mbG93KCkuZW5zdXJlTGluZUJveGVzKCk7CiAjZW5kaWYKICAgICBhYnNvbHV0ZVF1YWRz
SWdub3JpbmdDb250aW51YXRpb24oeyB9LCBxdWFkcywgd2FzRml4ZWQpOwpAQCAtNDIzLDcgKzQy
Myw3IEBAIHZvaWQgUmVuZGVySW5saW5lOjphYnNvbHV0ZVF1YWRzKFZlY3RvcjxGbG9hdFF1YWQ+
JiBxdWFkcywgYm9vbCogd2FzRml4ZWQpIGNvbnN0CiB2b2lkIFJlbmRlcklubGluZTo6YWJzb2x1
dGVRdWFkc0lnbm9yaW5nQ29udGludWF0aW9uKGNvbnN0IEZsb2F0UmVjdCYsIFZlY3RvcjxGbG9h
dFF1YWQ+JiBxdWFkcywgYm9vbCopIGNvbnN0CiB7CiAjaWYgRU5BQkxFKExBWU9VVF9GT1JNQVRU
SU5HX0NPTlRFWFQpCi0gICAgaWYgKGF1dG8qIGxpbmVMYXlvdXQgPSBMYXlvdXRJbnRlZ3JhdGlv
bjo6TGluZUxheW91dDo6Y29udGFpbmluZyhjb25zdF9jYXN0PFJlbmRlcklubGluZSY+KCp0aGlz
KSkpCisgICAgaWYgKGF1dG8qIGxpbmVMYXlvdXQgPSBMYXlvdXRCcmlkZ2U6OkxpbmVMYXlvdXQ6
OmNvbnRhaW5pbmcoY29uc3RfY2FzdDxSZW5kZXJJbmxpbmUmPigqdGhpcykpKQogICAgICAgICBs
aW5lTGF5b3V0LT5mbG93KCkuZW5zdXJlTGluZUJveGVzKCk7CiAjZW5kaWYKICAgICBBYnNvbHV0
ZVF1YWRzR2VuZXJhdG9yQ29udGV4dCBjb250ZXh0KHRoaXMsIHF1YWRzKTsKQEAgLTQzNCw3ICs0
MzQsNyBAQCB2b2lkIFJlbmRlcklubGluZTo6YWJzb2x1dGVRdWFkc0lnbm9yaW5nQ29udGludWF0
aW9uKGNvbnN0IEZsb2F0UmVjdCYsIFZlY3RvcjxGbAogdm9pZCBSZW5kZXJJbmxpbmU6OmFic29s
dXRlUXVhZHNGb3JTZWxlY3Rpb24oVmVjdG9yPEZsb2F0UXVhZD4mIHF1YWRzKSBjb25zdAogewog
I2lmIEVOQUJMRShMQVlPVVRfRk9STUFUVElOR19DT05URVhUKQotICAgIGlmIChhdXRvKiBsaW5l
TGF5b3V0ID0gTGF5b3V0SW50ZWdyYXRpb246OkxpbmVMYXlvdXQ6OmNvbnRhaW5pbmcoY29uc3Rf
Y2FzdDxSZW5kZXJJbmxpbmUmPigqdGhpcykpKQorICAgIGlmIChhdXRvKiBsaW5lTGF5b3V0ID0g
TGF5b3V0QnJpZGdlOjpMaW5lTGF5b3V0Ojpjb250YWluaW5nKGNvbnN0X2Nhc3Q8UmVuZGVySW5s
aW5lJj4oKnRoaXMpKSkKICAgICAgICAgbGluZUxheW91dC0+ZmxvdygpLmVuc3VyZUxpbmVCb3hl
cygpOwogI2VuZGlmCiAgICAgQWJzb2x1dGVRdWFkc0dlbmVyYXRvckNvbnRleHQgY29udGV4dCh0
aGlzLCBxdWFkcyk7CkBAIC00NDUsNyArNDQ1LDcgQEAgdm9pZCBSZW5kZXJJbmxpbmU6OmFic29s
dXRlUXVhZHNGb3JTZWxlY3Rpb24oVmVjdG9yPEZsb2F0UXVhZD4mIHF1YWRzKSBjb25zdAogTGF5
b3V0VW5pdCBSZW5kZXJJbmxpbmU6Om9mZnNldExlZnQoKSBjb25zdAogewogI2lmIEVOQUJMRShM
QVlPVVRfRk9STUFUVElOR19DT05URVhUKQotICAgIGlmIChhdXRvKiBsaW5lTGF5b3V0ID0gTGF5
b3V0SW50ZWdyYXRpb246OkxpbmVMYXlvdXQ6OmNvbnRhaW5pbmcoY29uc3RfY2FzdDxSZW5kZXJJ
bmxpbmUmPigqdGhpcykpKQorICAgIGlmIChhdXRvKiBsaW5lTGF5b3V0ID0gTGF5b3V0QnJpZGdl
OjpMaW5lTGF5b3V0Ojpjb250YWluaW5nKGNvbnN0X2Nhc3Q8UmVuZGVySW5saW5lJj4oKnRoaXMp
KSkKICAgICAgICAgbGluZUxheW91dC0+ZmxvdygpLmVuc3VyZUxpbmVCb3hlcygpOwogI2VuZGlm
CiAgICAgTGF5b3V0UG9pbnQgdG9wTGVmdDsKQEAgLTQ1Nyw3ICs0NTcsNyBAQCBMYXlvdXRVbml0
IFJlbmRlcklubGluZTo6b2Zmc2V0TGVmdCgpIGNvbnN0CiBMYXlvdXRVbml0IFJlbmRlcklubGlu
ZTo6b2Zmc2V0VG9wKCkgY29uc3QKIHsKICNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09O
VEVYVCkKLSAgICBpZiAoYXV0byogbGluZUxheW91dCA9IExheW91dEludGVncmF0aW9uOjpMaW5l
TGF5b3V0Ojpjb250YWluaW5nKGNvbnN0X2Nhc3Q8UmVuZGVySW5saW5lJj4oKnRoaXMpKSkKKyAg
ICBpZiAoYXV0byogbGluZUxheW91dCA9IExheW91dEJyaWRnZTo6TGluZUxheW91dDo6Y29udGFp
bmluZyhjb25zdF9jYXN0PFJlbmRlcklubGluZSY+KCp0aGlzKSkpCiAgICAgICAgIGxpbmVMYXlv
dXQtPmZsb3coKS5lbnN1cmVMaW5lQm94ZXMoKTsKICNlbmRpZgogICAgIExheW91dFBvaW50IHRv
cExlZnQ7CkBAIC01MzUsNyArNTM1LDcgQEAgYm9vbCBSZW5kZXJJbmxpbmU6Om5vZGVBdFBvaW50
KGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiByZXF1ZXN0LCBIaXRUZXN0UmVzdWx0JiByZXMKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgSGl0VGVzdExvY2F0aW9uJiBsb2NhdGlv
bkluQ29udGFpbmVyLCBjb25zdCBMYXlvdXRQb2ludCYgYWNjdW11bGF0ZWRPZmZzZXQsIEhpdFRl
c3RBY3Rpb24gaGl0VGVzdEFjdGlvbikKIHsKICNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdf
Q09OVEVYVCkKLSAgICBpZiAoYXV0byogbGluZUxheW91dCA9IExheW91dEludGVncmF0aW9uOjpM
aW5lTGF5b3V0Ojpjb250YWluaW5nKGNvbnN0X2Nhc3Q8UmVuZGVySW5saW5lJj4oKnRoaXMpKSkK
KyAgICBpZiAoYXV0byogbGluZUxheW91dCA9IExheW91dEJyaWRnZTo6TGluZUxheW91dDo6Y29u
dGFpbmluZyhjb25zdF9jYXN0PFJlbmRlcklubGluZSY+KCp0aGlzKSkpCiAgICAgICAgIGxpbmVM
YXlvdXQtPmZsb3coKS5lbnN1cmVMaW5lQm94ZXMoKTsKICNlbmRpZgogICAgIHJldHVybiBtX2xp
bmVCb3hlcy5oaXRUZXN0KHRoaXMsIHJlcXVlc3QsIHJlc3VsdCwgbG9jYXRpb25JbkNvbnRhaW5l
ciwgYWNjdW11bGF0ZWRPZmZzZXQsIGhpdFRlc3RBY3Rpb24pOwpAQCAtNjMxLDcgKzYzMSw3IEBA
IHByaXZhdGU6CiBJbnRSZWN0IFJlbmRlcklubGluZTo6bGluZXNCb3VuZGluZ0JveCgpIGNvbnN0
CiB7CiAjaWYgRU5BQkxFKExBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpCi0gICAgaWYgKGF1dG8q
IGxheW91dCA9IExheW91dEludGVncmF0aW9uOjpMaW5lTGF5b3V0Ojpjb250YWluaW5nKCp0aGlz
KSkKKyAgICBpZiAoYXV0byogbGF5b3V0ID0gTGF5b3V0QnJpZGdlOjpMaW5lTGF5b3V0Ojpjb250
YWluaW5nKCp0aGlzKSkKICAgICAgICAgcmV0dXJuIGVuY2xvc2luZ0ludFJlY3QobGF5b3V0LT5l
bmNsb3NpbmdCb3JkZXJCb3hSZWN0Rm9yKCp0aGlzKSk7CiAjZW5kaWYKIApAQCAtNzc0LDcgKzc3
NCw3IEBAIExheW91dFJlY3QgUmVuZGVySW5saW5lOjpjdWxsZWRJbmxpbmVWaXN1YWxPdmVyZmxv
d0JvdW5kaW5nQm94KCkgY29uc3QKIExheW91dFJlY3QgUmVuZGVySW5saW5lOjpsaW5lc1Zpc3Vh
bE92ZXJmbG93Qm91bmRpbmdCb3goKSBjb25zdAogewogI2lmIEVOQUJMRShMQVlPVVRfRk9STUFU
VElOR19DT05URVhUKQotICAgIGlmIChhdXRvKiBsYXlvdXQgPSBMYXlvdXRJbnRlZ3JhdGlvbjo6
TGluZUxheW91dDo6Y29udGFpbmluZygqdGhpcykpCisgICAgaWYgKGF1dG8qIGxheW91dCA9IExh
eW91dEJyaWRnZTo6TGluZUxheW91dDo6Y29udGFpbmluZygqdGhpcykpCiAgICAgICAgIHJldHVy
biBsYXlvdXQtPnZpc3VhbE92ZXJmbG93Qm91bmRpbmdCb3hSZWN0Rm9yKCp0aGlzKTsKICNlbmRp
ZgogCkBAIC04NjAsNyArODYwLDcgQEAgTGF5b3V0UmVjdCBSZW5kZXJJbmxpbmU6OmNsaXBwZWRP
dmVyZmxvd1JlY3QoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVwYWkKICAgICAgICAg
aWYgKGNvbnRpbnVhdGlvbigpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogI2lmIEVOQUJM
RShMQVlPVVRfRk9STUFUVElOR19DT05URVhUKQotICAgICAgICBpZiAoTGF5b3V0SW50ZWdyYXRp
b246OkxpbmVMYXlvdXQ6OmNvbnRhaW5pbmcoKnRoaXMpKQorICAgICAgICBpZiAoTGF5b3V0QnJp
ZGdlOjpMaW5lTGF5b3V0Ojpjb250YWluaW5nKCp0aGlzKSkKICAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKICNlbmRpZgogICAgICAgICByZXR1cm4gdHJ1ZTsKQEAgLTEyMjEsNyArMTIyMSw3IEBA
IHZvaWQgUmVuZGVySW5saW5lOjppbWFnZUNoYW5nZWQoV3JhcHBlZEltYWdlUHRyLCBjb25zdCBJ
bnRSZWN0KikKIHZvaWQgUmVuZGVySW5saW5lOjphZGRGb2N1c1JpbmdSZWN0cyhWZWN0b3I8TGF5
b3V0UmVjdD4mIHJlY3RzLCBjb25zdCBMYXlvdXRQb2ludCYgYWRkaXRpb25hbE9mZnNldCwgY29u
c3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogcGFpbnRDb250YWluZXIpCiB7CiAjaWYgRU5BQkxF
KExBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpCi0gICAgaWYgKGF1dG8qIGxpbmVMYXlvdXQgPSBM
YXlvdXRJbnRlZ3JhdGlvbjo6TGluZUxheW91dDo6Y29udGFpbmluZyhjb25zdF9jYXN0PFJlbmRl
cklubGluZSY+KCp0aGlzKSkpCisgICAgaWYgKGF1dG8qIGxpbmVMYXlvdXQgPSBMYXlvdXRCcmlk
Z2U6OkxpbmVMYXlvdXQ6OmNvbnRhaW5pbmcoY29uc3RfY2FzdDxSZW5kZXJJbmxpbmUmPigqdGhp
cykpKQogICAgICAgICBsaW5lTGF5b3V0LT5mbG93KCkuZW5zdXJlTGluZUJveGVzKCk7CiAjZW5k
aWYKICAgICBBYnNvbHV0ZVJlY3RzR2VuZXJhdG9yQ29udGV4dCBjb250ZXh0KHJlY3RzLCBhZGRp
dGlvbmFsT2Zmc2V0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMaW5lQnJlYWsuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpbmVCcmVh
ay5jcHAKaW5kZXggYTUyOWI5YjFjZTRhLi5jOTliNWY3ZDE4ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaW5lQnJlYWsuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMaW5lQnJlYWsuY3BwCkBAIC0yNyw4ICsyNyw4IEBACiAjaW5j
bHVkZSAiSFRNTEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MV0JSRWxlbWVudC5oIgogI2luY2x1
ZGUgIklubGluZVJ1bkFuZE9mZnNldC5oIgotI2luY2x1ZGUgIkxheW91dEludGVncmF0aW9uTGlu
ZUl0ZXJhdG9yLmgiCi0jaW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvci5oIgor
I2luY2x1ZGUgIkxheW91dEJyaWRnZUxpbmVJdGVyYXRvci5oIgorI2luY2x1ZGUgIkxheW91dEJy
aWRnZVJ1bkl0ZXJhdG9yLmgiCiAjaW5jbHVkZSAiTGVnYWN5SW5saW5lRWxlbWVudEJveC5oIgog
I2luY2x1ZGUgIkxlZ2FjeVJvb3RJbmxpbmVCb3guaCIKICNpbmNsdWRlICJMb2dpY2FsU2VsZWN0
aW9uT2Zmc2V0Q2FjaGVzLmgiCkBAIC0xNDQsNyArMTQ0LDcgQEAgVmlzaWJsZVBvc2l0aW9uIFJl
bmRlckxpbmVCcmVhazo6cG9zaXRpb25Gb3JQb2ludChjb25zdCBMYXlvdXRQb2ludCYsIGNvbnN0
IFJlbmQKIAogSW50UmVjdCBSZW5kZXJMaW5lQnJlYWs6OmxpbmVzQm91bmRpbmdCb3goKSBjb25z
dAogewotICAgIGF1dG8gcnVuID0gTGF5b3V0SW50ZWdyYXRpb246OnJ1bkZvcigqdGhpcyk7Cisg
ICAgYXV0byBydW4gPSBMYXlvdXRCcmlkZ2U6OnJ1bkZvcigqdGhpcyk7CiAgICAgaWYgKCFydW4p
CiAgICAgICAgIHJldHVybiB7IH07CiAKQEAgLTE1Myw3ICsxNTMsNyBAQCBJbnRSZWN0IFJlbmRl
ckxpbmVCcmVhazo6bGluZXNCb3VuZGluZ0JveCgpIGNvbnN0CiAKIHZvaWQgUmVuZGVyTGluZUJy
ZWFrOjphYnNvbHV0ZVJlY3RzKFZlY3RvcjxJbnRSZWN0PiYgcmVjdHMsIGNvbnN0IExheW91dFBv
aW50JiBhY2N1bXVsYXRlZE9mZnNldCkgY29uc3QKIHsKLSAgICBhdXRvIGJveCA9IExheW91dElu
dGVncmF0aW9uOjpydW5Gb3IoKnRoaXMpOworICAgIGF1dG8gYm94ID0gTGF5b3V0QnJpZGdlOjpy
dW5Gb3IoKnRoaXMpOwogICAgIGlmICghYm94KQogICAgICAgICByZXR1cm47CiAKQEAgLTE2Myw3
ICsxNjMsNyBAQCB2b2lkIFJlbmRlckxpbmVCcmVhazo6YWJzb2x1dGVSZWN0cyhWZWN0b3I8SW50
UmVjdD4mIHJlY3RzLCBjb25zdCBMYXlvdXRQb2ludCYgYQogCiB2b2lkIFJlbmRlckxpbmVCcmVh
azo6YWJzb2x1dGVRdWFkcyhWZWN0b3I8RmxvYXRRdWFkPiYgcXVhZHMsIGJvb2wqIHdhc0ZpeGVk
KSBjb25zdAogewotICAgIGF1dG8gYm94ID0gTGF5b3V0SW50ZWdyYXRpb246OnJ1bkZvcigqdGhp
cyk7CisgICAgYXV0byBib3ggPSBMYXlvdXRCcmlkZ2U6OnJ1bkZvcigqdGhpcyk7CiAgICAgaWYg
KCFib3gpCiAgICAgICAgIHJldHVybjsKIApAQCAtMTgwLDcgKzE4MCw3IEBAIHZvaWQgUmVuZGVy
TGluZUJyZWFrOjp1cGRhdGVGcm9tU3R5bGUoKQogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiB2
b2lkIFJlbmRlckxpbmVCcmVhazo6Y29sbGVjdFNlbGVjdGlvbkdlb21ldHJpZXMoVmVjdG9yPFNl
bGVjdGlvbkdlb21ldHJ5PiYgcmVjdHMsIHVuc2lnbmVkLCB1bnNpZ25lZCkKIHsKLSAgICBhdXRv
IHJ1biA9IExheW91dEludGVncmF0aW9uOjpydW5Gb3IoKnRoaXMpOworICAgIGF1dG8gcnVuID0g
TGF5b3V0QnJpZGdlOjpydW5Gb3IoKnRoaXMpOwogCiAgICAgaWYgKCFydW4pCiAgICAgICAgIHJl
dHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3Qu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKaW5kZXggMGRj
ZmJjZjYwMWQzLi5iNTAwMWYzNzdkMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJPYmplY3QuY3BwCkBAIC00MSw3ICs0MSw3IEBACiAjaW5jbHVkZSAiSFRNTFRhYmxlQ2VsbEVs
ZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MVGFibGVFbGVtZW50LmgiCiAjaW5jbHVkZSAiSGl0VGVz
dFJlc3VsdC5oIgotI2luY2x1ZGUgIkxheW91dEludGVncmF0aW9uTGluZUxheW91dC5oIgorI2lu
Y2x1ZGUgIkxheW91dEJyaWRnZUxpbmVMYXlvdXQuaCIKICNpbmNsdWRlICJMb2dpY2FsU2VsZWN0
aW9uT2Zmc2V0Q2FjaGVzLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlBzZXVkb0Vs
ZW1lbnQuaCIKQEAgLTE0OTksNyArMTQ5OSw3IEBAIHZvaWQgUmVuZGVyT2JqZWN0Ojp3aWxsQmVE
ZXN0cm95ZWQoKQogdm9pZCBSZW5kZXJPYmplY3Q6Omluc2VydGVkSW50b1RyZWUoSXNJbnRlcm5h
bE1vdmUpCiB7CiAjaWYgRU5BQkxFKExBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpCi0gICAgaWYg
KGF1dG8qIGNvbnRhaW5lciA9IExheW91dEludGVncmF0aW9uOjpMaW5lTGF5b3V0OjpibG9ja0Nv
bnRhaW5lcigqdGhpcykpCisgICAgaWYgKGF1dG8qIGNvbnRhaW5lciA9IExheW91dEJyaWRnZTo6
TGluZUxheW91dDo6YmxvY2tDb250YWluZXIoKnRoaXMpKQogICAgICAgICBjb250YWluZXItPmlu
dmFsaWRhdGVMaW5lTGF5b3V0UGF0aCgpOwogI2VuZGlmCiAKQEAgLTE1MTEsNyArMTUxMSw3IEBA
IHZvaWQgUmVuZGVyT2JqZWN0OjppbnNlcnRlZEludG9UcmVlKElzSW50ZXJuYWxNb3ZlKQogdm9p
ZCBSZW5kZXJPYmplY3Q6OndpbGxCZVJlbW92ZWRGcm9tVHJlZShJc0ludGVybmFsTW92ZSkKIHsK
ICNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkKLSAgICBpZiAoYXV0byogY29u
dGFpbmVyID0gTGF5b3V0SW50ZWdyYXRpb246OkxpbmVMYXlvdXQ6OmJsb2NrQ29udGFpbmVyKCp0
aGlzKSkKKyAgICBpZiAoYXV0byogY29udGFpbmVyID0gTGF5b3V0QnJpZGdlOjpMaW5lTGF5b3V0
OjpibG9ja0NvbnRhaW5lcigqdGhpcykpCiAgICAgICAgIGNvbnRhaW5lci0+aW52YWxpZGF0ZUxp
bmVMYXlvdXRQYXRoKCk7CiAjZW5kaWYKIApAQCAtMTc4Miw3ICsxNzgyLDcgQEAgdm9pZCBSZW5k
ZXJPYmplY3Q6OnNldFNlbGVjdGlvblN0YXRlKEhpZ2hsaWdodFN0YXRlIHN0YXRlKQogewogI2lm
IEVOQUJMRShMQVlPVVRfRk9STUFUVElOR19DT05URVhUKQogICAgIGlmIChzdGF0ZSAhPSBIaWdo
bGlnaHRTdGF0ZTo6Tm9uZSkgewotICAgICAgICBpZiAoYXV0byogbGluZUxheW91dCA9IExheW91
dEludGVncmF0aW9uOjpMaW5lTGF5b3V0Ojpjb250YWluaW5nKCp0aGlzKSkKKyAgICAgICAgaWYg
KGF1dG8qIGxpbmVMYXlvdXQgPSBMYXlvdXRCcmlkZ2U6OkxpbmVMYXlvdXQ6OmNvbnRhaW5pbmco
KnRoaXMpKQogICAgICAgICAgICAgbGluZUxheW91dC0+ZmxvdygpLmVuc3VyZUxpbmVCb3hlcygp
OwogICAgIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclJlcGxhY2VkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNl
ZC5jcHAKaW5kZXggZmJlMDAzYmM1ODUzLi5jMWY4MjBjMzFhZjkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcApAQCAtMzQsOCArMzQsOCBAQAogI2luY2x1
ZGUgIkhUTUxQYXJzZXJJZGlvbXMuaCIKICNpbmNsdWRlICJIaWdobGlnaHREYXRhLmgiCiAjaW5j
bHVkZSAiSGlnaGxpZ2h0UmVnaXN0ZXIuaCIKLSNpbmNsdWRlICJMYXlvdXRJbnRlZ3JhdGlvbkxp
bmVJdGVyYXRvci5oIgotI2luY2x1ZGUgIkxheW91dEludGVncmF0aW9uUnVuSXRlcmF0b3IuaCIK
KyNpbmNsdWRlICJMYXlvdXRCcmlkZ2VMaW5lSXRlcmF0b3IuaCIKKyNpbmNsdWRlICJMYXlvdXRC
cmlkZ2VSdW5JdGVyYXRvci5oIgogI2luY2x1ZGUgIkxheW91dFJlcGFpbnRlci5oIgogI2luY2x1
ZGUgIlJlbmRlckJsb2NrLmgiCiAjaW5jbHVkZSAiUmVuZGVyRnJhZ21lbnRlZEZsb3cuaCIKQEAg
LTY4NSw3ICs2ODUsNyBAQCB2b2lkIFJlbmRlclJlcGxhY2VkOjpjb21wdXRlUHJlZmVycmVkTG9n
aWNhbFdpZHRocygpCiBWaXNpYmxlUG9zaXRpb24gUmVuZGVyUmVwbGFjZWQ6OnBvc2l0aW9uRm9y
UG9pbnQoY29uc3QgTGF5b3V0UG9pbnQmIHBvaW50LCBjb25zdCBSZW5kZXJGcmFnbWVudENvbnRh
aW5lciogZnJhZ21lbnQpCiB7CiAgICAgYXV0byBbdG9wLCBib3R0b21dID0gWyZdIHsKLSAgICAg
ICAgaWYgKGF1dG8gcnVuID0gTGF5b3V0SW50ZWdyYXRpb246OnJ1bkZvcigqdGhpcykpIHsKKyAg
ICAgICAgaWYgKGF1dG8gcnVuID0gTGF5b3V0QnJpZGdlOjpydW5Gb3IoKnRoaXMpKSB7CiAgICAg
ICAgICAgICBhdXRvIGxpbmUgPSBydW4ubGluZSgpOwogICAgICAgICAgICAgcmV0dXJuIHN0ZDo6
bWFrZV9wYWlyKGxpbmUtPnNlbGVjdGlvblRvcEZvckhpdFRlc3RpbmcoKSwgbGluZS0+c2VsZWN0
aW9uQm90dG9tKCkpOwogICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4
dC5jcHAKaW5kZXggOWQyMzg3MTUzNzU1Li42ZGZlMjY2NmY2YzAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAKQEAgLTM2LDkgKzM2LDkgQEAKICNpbmNsdWRlICJIVE1M
UGFyc2VySWRpb21zLmgiCiAjaW5jbHVkZSAiSHlwaGVuYXRpb24uaCIKICNpbmNsdWRlICJJbmxp
bmVSdW5BbmRPZmZzZXQuaCIKLSNpbmNsdWRlICJMYXlvdXRJbnRlZ3JhdGlvbkxpbmVJdGVyYXRv
ci5oIgotI2luY2x1ZGUgIkxheW91dEludGVncmF0aW9uTGluZUxheW91dC5oIgotI2luY2x1ZGUg
IkxheW91dEludGVncmF0aW9uUnVuSXRlcmF0b3IuaCIKKyNpbmNsdWRlICJMYXlvdXRCcmlkZ2VM
aW5lSXRlcmF0b3IuaCIKKyNpbmNsdWRlICJMYXlvdXRCcmlkZ2VMaW5lTGF5b3V0LmgiCisjaW5j
bHVkZSAiTGF5b3V0QnJpZGdlUnVuSXRlcmF0b3IuaCIKICNpbmNsdWRlICJMZWdhY3lFbGxpcHNp
c0JveC5oIgogI2luY2x1ZGUgIlJhbmdlLmgiCiAjaW5jbHVkZSAiUmVuZGVyQmxvY2suaCIKQEAg
LTMwNiw3ICszMDYsNyBAQCBTdHJpbmcgUmVuZGVyVGV4dDo6b3JpZ2luYWxUZXh0KCkgY29uc3QK
IAogdm9pZCBSZW5kZXJUZXh0OjphYnNvbHV0ZVJlY3RzKFZlY3RvcjxJbnRSZWN0PiYgcmVjdHMs
IGNvbnN0IExheW91dFBvaW50JiBhY2N1bXVsYXRlZE9mZnNldCkgY29uc3QKIHsKLSAgICBmb3Ig
KGF1dG8mIHJ1biA6IExheW91dEludGVncmF0aW9uOjp0ZXh0UnVuc0ZvcigqdGhpcykpIHsKKyAg
ICBmb3IgKGF1dG8mIHJ1biA6IExheW91dEJyaWRnZTo6dGV4dFJ1bnNGb3IoKnRoaXMpKSB7CiAg
ICAgICAgIGF1dG8gcmVjdCA9IHJ1bi5yZWN0KCk7CiAgICAgICAgIHJlY3RzLmFwcGVuZChlbmNs
b3NpbmdJbnRSZWN0KEZsb2F0UmVjdChhY2N1bXVsYXRlZE9mZnNldCArIHJlY3QubG9jYXRpb24o
KSwgcmVjdC5zaXplKCkpKSk7CiAgICAgfQpAQCAtMzI1LDcgKzMyNSw3IEBAIFZlY3RvcjxJbnRS
ZWN0PiBSZW5kZXJUZXh0OjphYnNvbHV0ZVJlY3RzRm9yUmFuZ2UodW5zaWduZWQgc3RhcnQsIHVu
c2lnbmVkIGVuZCwKIC8vIEZ1bGwgYW5ub3RhdGlvbnMgYXJlIGFkZGVkIGluIHRoaXMgY2xhc3Mu
CiB2b2lkIFJlbmRlclRleHQ6OmNvbGxlY3RTZWxlY3Rpb25HZW9tZXRyaWVzKFZlY3RvcjxTZWxl
Y3Rpb25HZW9tZXRyeT4mIHJlY3RzLCB1bnNpZ25lZCBzdGFydCwgdW5zaWduZWQgZW5kKQogewot
ICAgIGZvciAoYXV0byBydW4gPSBMYXlvdXRJbnRlZ3JhdGlvbjo6Zmlyc3RUZXh0UnVuRm9yKCp0
aGlzKTsgcnVuOyBydW4gPSBydW4udHJhdmVyc2VOZXh0VGV4dFJ1bigpKSB7CisgICAgZm9yIChh
dXRvIHJ1biA9IExheW91dEJyaWRnZTo6Zmlyc3RUZXh0UnVuRm9yKCp0aGlzKTsgcnVuOyBydW4g
PSBydW4udHJhdmVyc2VOZXh0VGV4dFJ1bigpKSB7CiAgICAgICAgIExheW91dFJlY3QgcmVjdDsK
ICAgICAgICAgaWYgKHN0YXJ0IDw9IHJ1bi0+c3RhcnQoKSAmJiBydW4tPmVuZCgpIDw9IGVuZCkK
ICAgICAgICAgICAgIHJlY3QgPSBydW4tPnNlbGVjdGlvblJlY3Qoc3RhcnQsIGVuZCk7CkBAIC0z
ODUsNyArMzg1LDcgQEAgdm9pZCBSZW5kZXJUZXh0Ojpjb2xsZWN0U2VsZWN0aW9uR2VvbWV0cmll
cyhWZWN0b3I8U2VsZWN0aW9uR2VvbWV0cnk+JiByZWN0cywgdW4KIH0KICNlbmRpZgogCi1zdGF0
aWMgRmxvYXRSZWN0IGJvdW5kYXJpZXNGb3JUZXh0UnVuKGNvbnN0IExheW91dEludGVncmF0aW9u
OjpQYXRoVGV4dFJ1biYgcnVuKQorc3RhdGljIEZsb2F0UmVjdCBib3VuZGFyaWVzRm9yVGV4dFJ1
bihjb25zdCBMYXlvdXRCcmlkZ2U6OlBhdGhUZXh0UnVuJiBydW4pCiB7CiAgICAgaWYgKGlzPFNW
R0lubGluZVRleHRCb3g+KHJ1bi5sZWdhY3lJbmxpbmVCb3goKSkpCiAgICAgICAgIHJldHVybiBk
b3duY2FzdDxTVkdJbmxpbmVUZXh0Qm94PigqcnVuLmxlZ2FjeUlubGluZUJveCgpKS5jYWxjdWxh
dGVCb3VuZGFyaWVzKCk7CkBAIC0zOTMsNyArMzkzLDcgQEAgc3RhdGljIEZsb2F0UmVjdCBib3Vu
ZGFyaWVzRm9yVGV4dFJ1bihjb25zdCBMYXlvdXRJbnRlZ3JhdGlvbjo6UGF0aFRleHRSdW4mIHJ1
bikKICAgICByZXR1cm4gcnVuLnJlY3QoKTsKIH0KIAotc3RhdGljIEludFJlY3QgZWxsaXBzaXNS
ZWN0Rm9yVGV4dFJ1bihjb25zdCBMYXlvdXRJbnRlZ3JhdGlvbjo6UGF0aFRleHRSdW4mIHJ1biwg
dW5zaWduZWQgc3RhcnQsIHVuc2lnbmVkIGVuZCkKK3N0YXRpYyBJbnRSZWN0IGVsbGlwc2lzUmVj
dEZvclRleHRSdW4oY29uc3QgTGF5b3V0QnJpZGdlOjpQYXRoVGV4dFJ1biYgcnVuLCB1bnNpZ25l
ZCBzdGFydCwgdW5zaWduZWQgZW5kKQogewogICAgIC8vIEZJWE1FOiBObyBlbGxpcHNpcyBzdXBw
b3J0IGluIG1vZGVybiBwYXRoIHlldC4KICAgICBpZiAoIXJ1bi5sZWdhY3lJbmxpbmVCb3goKSkK
QEAgLTQyNyw3ICs0MjcsNyBAQCBlbnVtIGNsYXNzIENsaXBwaW5nT3B0aW9uIHsgTm9DbGlwcGlu
ZywgQ2xpcFRvRWxsaXBzaXMgfTsKIHN0YXRpYyBWZWN0b3I8RmxvYXRRdWFkPiBjb2xsZWN0QWJz
b2x1dGVRdWFkcyhjb25zdCBSZW5kZXJUZXh0JiB0ZXh0UmVuZGVyZXIsIGJvb2wqIHdhc0ZpeGVk
LCBDbGlwcGluZ09wdGlvbiBjbGlwcGluZykKIHsKICAgICBWZWN0b3I8RmxvYXRRdWFkPiBxdWFk
czsKLSAgICBmb3IgKGF1dG8mIHJ1biA6IExheW91dEludGVncmF0aW9uOjp0ZXh0UnVuc0Zvcih0
ZXh0UmVuZGVyZXIpKSB7CisgICAgZm9yIChhdXRvJiBydW4gOiBMYXlvdXRCcmlkZ2U6OnRleHRS
dW5zRm9yKHRleHRSZW5kZXJlcikpIHsKICAgICAgICAgYXV0byBib3VuZGFyaWVzID0gYm91bmRh
cmllc0ZvclRleHRSdW4ocnVuKTsKIAogICAgICAgICAvLyBTaG9ydGVuIHRoZSB3aWR0aCBvZiB0
aGlzIHRleHQgYm94IGlmIGl0IGVuZHMgaW4gYW4gZWxsaXBzaXMuCkBAIC00NTYsNyArNDU2LDcg
QEAgdm9pZCBSZW5kZXJUZXh0OjphYnNvbHV0ZVF1YWRzKFZlY3RvcjxGbG9hdFF1YWQ+JiBxdWFk
cywgYm9vbCogd2FzRml4ZWQpIGNvbnN0CiAgICAgcXVhZHMuYXBwZW5kVmVjdG9yKGNvbGxlY3RB
YnNvbHV0ZVF1YWRzKCp0aGlzLCB3YXNGaXhlZCwgQ2xpcHBpbmdPcHRpb246Ok5vQ2xpcHBpbmcp
KTsKIH0KIAotc3RhdGljIEZsb2F0UmVjdCBsb2NhbFF1YWRGb3JUZXh0UnVuKGNvbnN0IExheW91
dEludGVncmF0aW9uOjpQYXRoVGV4dFJ1biYgcnVuLCB1bnNpZ25lZCBzdGFydCwgdW5zaWduZWQg
ZW5kLCBib29sIHVzZVNlbGVjdGlvbkhlaWdodCkKK3N0YXRpYyBGbG9hdFJlY3QgbG9jYWxRdWFk
Rm9yVGV4dFJ1bihjb25zdCBMYXlvdXRCcmlkZ2U6OlBhdGhUZXh0UnVuJiBydW4sIHVuc2lnbmVk
IHN0YXJ0LCB1bnNpZ25lZCBlbmQsIGJvb2wgdXNlU2VsZWN0aW9uSGVpZ2h0KQogewogICAgIHVu
c2lnbmVkIHJlYWxFbmQgPSBzdGQ6Om1pbihydW4uZW5kKCksIGVuZCk7CiAgICAgTGF5b3V0UmVj
dCBib3hTZWxlY3Rpb25SZWN0ID0gcnVuLnNlbGVjdGlvblJlY3Qoc3RhcnQsIHJlYWxFbmQpOwpA
QCAtNDg5LDcgKzQ4OSw3IEBAIFZlY3RvcjxGbG9hdFF1YWQ+IFJlbmRlclRleHQ6OmFic29sdXRl
UXVhZHNGb3JSYW5nZSh1bnNpZ25lZCBzdGFydCwgdW5zaWduZWQgZW5kCiAgICAgZW5kID0gc3Rk
OjptaW4oZW5kLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSU5UX01BWCkpOwogCiAgICAgVmVjdG9y
PEZsb2F0UXVhZD4gcXVhZHM7Ci0gICAgZm9yIChhdXRvJiBydW4gOiBMYXlvdXRJbnRlZ3JhdGlv
bjo6dGV4dFJ1bnNGb3IoKnRoaXMpKSB7CisgICAgZm9yIChhdXRvJiBydW4gOiBMYXlvdXRCcmlk
Z2U6OnRleHRSdW5zRm9yKCp0aGlzKSkgewogICAgICAgICBpZiAoaWdub3JlRW1wdHlUZXh0U2Vs
ZWN0aW9ucyAmJiAhcnVuLmlzU2VsZWN0YWJsZShzdGFydCwgZW5kKSkKICAgICAgICAgICAgIGNv
bnRpbnVlOwogICAgICAgICBpZiAoc3RhcnQgPD0gcnVuLnN0YXJ0KCkgJiYgcnVuLmVuZCgpIDw9
IGVuZCkgewpAQCAtNTIyLDcgKzUyMiw3IEBAIFBvc2l0aW9uIFJlbmRlclRleHQ6OnBvc2l0aW9u
Rm9yUG9pbnQoY29uc3QgTGF5b3V0UG9pbnQmIHBvaW50KQogCiBlbnVtIFNob3VsZEFmZmluaXR5
QmVEb3duc3RyZWFtIHsgQWx3YXlzRG93bnN0cmVhbSwgQWx3YXlzVXBzdHJlYW0sIFVwc3RyZWFt
SWZQb3NpdGlvbklzTm90QXRTdGFydCB9OwogCi1zdGF0aWMgYm9vbCBsaW5lRGlyZWN0aW9uUG9p
bnRGaXRzSW5Cb3goaW50IHBvaW50TGluZURpcmVjdGlvbiwgY29uc3QgTGF5b3V0SW50ZWdyYXRp
b246OlRleHRSdW5JdGVyYXRvciYgdGV4dFJ1biwgU2hvdWxkQWZmaW5pdHlCZURvd25zdHJlYW0m
IHNob3VsZEFmZmluaXR5QmVEb3duc3RyZWFtKQorc3RhdGljIGJvb2wgbGluZURpcmVjdGlvblBv
aW50Rml0c0luQm94KGludCBwb2ludExpbmVEaXJlY3Rpb24sIGNvbnN0IExheW91dEJyaWRnZTo6
VGV4dFJ1bkl0ZXJhdG9yJiB0ZXh0UnVuLCBTaG91bGRBZmZpbml0eUJlRG93bnN0cmVhbSYgc2hv
dWxkQWZmaW5pdHlCZURvd25zdHJlYW0pCiB7CiAgICAgc2hvdWxkQWZmaW5pdHlCZURvd25zdHJl
YW0gPSBBbHdheXNEb3duc3RyZWFtOwogCkBAIC01NTksNyArNTU5LDcgQEAgc3RhdGljIGJvb2wg
bGluZURpcmVjdGlvblBvaW50Rml0c0luQm94KGludCBwb2ludExpbmVEaXJlY3Rpb24sIGNvbnN0
IExheW91dEludGUKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXN0YXRpYyBWaXNpYmxlUG9zaXRp
b24gY3JlYXRlVmlzaWJsZVBvc2l0aW9uRm9yQm94KGNvbnN0IExheW91dEludGVncmF0aW9uOjpS
dW5JdGVyYXRvciYgcnVuLCB1bnNpZ25lZCBvZmZzZXQsIFNob3VsZEFmZmluaXR5QmVEb3duc3Ry
ZWFtIHNob3VsZEFmZmluaXR5QmVEb3duc3RyZWFtKQorc3RhdGljIFZpc2libGVQb3NpdGlvbiBj
cmVhdGVWaXNpYmxlUG9zaXRpb25Gb3JCb3goY29uc3QgTGF5b3V0QnJpZGdlOjpSdW5JdGVyYXRv
ciYgcnVuLCB1bnNpZ25lZCBvZmZzZXQsIFNob3VsZEFmZmluaXR5QmVEb3duc3RyZWFtIHNob3Vs
ZEFmZmluaXR5QmVEb3duc3RyZWFtKQogewogICAgIGF1dG8gYWZmaW5pdHkgPSBWaXNpYmxlUG9z
aXRpb246OmRlZmF1bHRBZmZpbml0eTsKICAgICBzd2l0Y2ggKHNob3VsZEFmZmluaXR5QmVEb3du
c3RyZWFtKSB7CkBAIC01NzYsNyArNTc2LDcgQEAgc3RhdGljIFZpc2libGVQb3NpdGlvbiBjcmVh
dGVWaXNpYmxlUG9zaXRpb25Gb3JCb3goY29uc3QgTGF5b3V0SW50ZWdyYXRpb246OlJ1bkkKICAg
ICByZXR1cm4gcnVuLT5yZW5kZXJlcigpLmNyZWF0ZVZpc2libGVQb3NpdGlvbihvZmZzZXQsIGFm
ZmluaXR5KTsKIH0KIAotc3RhdGljIFZpc2libGVQb3NpdGlvbiBjcmVhdGVWaXNpYmxlUG9zaXRp
b25BZnRlckFkanVzdGluZ09mZnNldEZvckJpRGkoY29uc3QgTGF5b3V0SW50ZWdyYXRpb246OlRl
eHRSdW5JdGVyYXRvciYgcnVuLCB1bnNpZ25lZCBvZmZzZXQsIFNob3VsZEFmZmluaXR5QmVEb3du
c3RyZWFtIHNob3VsZEFmZmluaXR5QmVEb3duc3RyZWFtKQorc3RhdGljIFZpc2libGVQb3NpdGlv
biBjcmVhdGVWaXNpYmxlUG9zaXRpb25BZnRlckFkanVzdGluZ09mZnNldEZvckJpRGkoY29uc3Qg
TGF5b3V0QnJpZGdlOjpUZXh0UnVuSXRlcmF0b3ImIHJ1biwgdW5zaWduZWQgb2Zmc2V0LCBTaG91
bGRBZmZpbml0eUJlRG93bnN0cmVhbSBzaG91bGRBZmZpbml0eUJlRG93bnN0cmVhbSkKIHsKICAg
ICBpZiAob2Zmc2V0ICYmIG9mZnNldCA8IHJ1bi0+bGVuZ3RoKCkpCiAgICAgICAgIHJldHVybiBj
cmVhdGVWaXNpYmxlUG9zaXRpb25Gb3JCb3gocnVuLCBydW4tPnN0YXJ0KCkgKyBvZmZzZXQsIHNo
b3VsZEFmZmluaXR5QmVEb3duc3RyZWFtKTsKQEAgLTYwMyw3ICs2MDMsNyBAQCBzdGF0aWMgVmlz
aWJsZVBvc2l0aW9uIGNyZWF0ZVZpc2libGVQb3NpdGlvbkFmdGVyQWRqdXN0aW5nT2Zmc2V0Rm9y
QmlEaShjb25zdCBMYQogCiAgICAgICAgIGlmICghcHJldmlvdXNSdW4gfHwgcHJldmlvdXNSdW4t
PmJpZGlMZXZlbCgpIDwgcnVuLT5iaWRpTGV2ZWwoKSkgewogICAgICAgICAgICAgLy8gZS5nLiBs
ZWZ0IG9mIEQgaW4gYURDMTJCQWIKLSAgICAgICAgICAgIExheW91dEludGVncmF0aW9uOjpSdW5J
dGVyYXRvciByaWdodG1vc3RSdW4gPSBydW47CisgICAgICAgICAgICBMYXlvdXRCcmlkZ2U6OlJ1
bkl0ZXJhdG9yIHJpZ2h0bW9zdFJ1biA9IHJ1bjsKICAgICAgICAgICAgIGZvciAoYXV0byBuZXh0
UnVuID0gcnVuLm5leHRPbkxpbmVJZ25vcmluZ0xpbmVCcmVhaygpOyBuZXh0UnVuOyBuZXh0UnVu
LnRyYXZlcnNlTmV4dE9uTGluZUlnbm9yaW5nTGluZUJyZWFrKCkpIHsKICAgICAgICAgICAgICAg
ICBpZiAobmV4dFJ1bi0+YmlkaUxldmVsKCkgPCBydW4tPmJpZGlMZXZlbCgpKQogICAgICAgICAg
ICAgICAgICAgICBicmVhazsKQEAgLTYzNiw3ICs2MzYsNyBAQCBzdGF0aWMgVmlzaWJsZVBvc2l0
aW9uIGNyZWF0ZVZpc2libGVQb3NpdGlvbkFmdGVyQWRqdXN0aW5nT2Zmc2V0Rm9yQmlEaShjb25z
dCBMYQogCiAgICAgaWYgKCFuZXh0UnVuIHx8IG5leHRSdW4tPmJpZGlMZXZlbCgpIDwgcnVuLT5i
aWRpTGV2ZWwoKSkgewogICAgICAgICAvLyBlLmcuIHJpZ2h0IG9mIEEgaW4gYURDMTJCQWIKLSAg
ICAgICAgTGF5b3V0SW50ZWdyYXRpb246OlJ1bkl0ZXJhdG9yIGxlZnRtb3N0UnVuID0gcnVuOwor
ICAgICAgICBMYXlvdXRCcmlkZ2U6OlJ1bkl0ZXJhdG9yIGxlZnRtb3N0UnVuID0gcnVuOwogICAg
ICAgICBmb3IgKGF1dG8gcHJldmlvdXNSdW4gPSBydW4ucHJldmlvdXNPbkxpbmVJZ25vcmluZ0xp
bmVCcmVhaygpOyBwcmV2aW91c1J1bjsgcHJldmlvdXNSdW4udHJhdmVyc2VQcmV2aW91c09uTGlu
ZUlnbm9yaW5nTGluZUJyZWFrKCkpIHsKICAgICAgICAgICAgIGlmIChwcmV2aW91c1J1bi0+Ymlk
aUxldmVsKCkgPCBydW4tPmJpZGlMZXZlbCgpKQogICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAt
NjUzLDcgKzY1Myw3IEBAIHN0YXRpYyBWaXNpYmxlUG9zaXRpb24gY3JlYXRlVmlzaWJsZVBvc2l0
aW9uQWZ0ZXJBZGp1c3RpbmdPZmZzZXRGb3JCaURpKGNvbnN0IExhCiAKIFZpc2libGVQb3NpdGlv
biBSZW5kZXJUZXh0Ojpwb3NpdGlvbkZvclBvaW50KGNvbnN0IExheW91dFBvaW50JiBwb2ludCwg
Y29uc3QgUmVuZGVyRnJhZ21lbnRDb250YWluZXIqKQogewotICAgIGF1dG8gZmlyc3RSdW4gPSBM
YXlvdXRJbnRlZ3JhdGlvbjo6Zmlyc3RUZXh0UnVuRm9yKCp0aGlzKTsKKyAgICBhdXRvIGZpcnN0
UnVuID0gTGF5b3V0QnJpZGdlOjpmaXJzdFRleHRSdW5Gb3IoKnRoaXMpOwogCiAgICAgaWYgKCFm
aXJzdFJ1biB8fCAhdGV4dCgpLmxlbmd0aCgpKQogICAgICAgICByZXR1cm4gY3JlYXRlVmlzaWJs
ZVBvc2l0aW9uKDAsIEFmZmluaXR5OjpEb3duc3RyZWFtKTsKQEAgLTY2Miw3ICs2NjIsNyBAQCBW
aXNpYmxlUG9zaXRpb24gUmVuZGVyVGV4dDo6cG9zaXRpb25Gb3JQb2ludChjb25zdCBMYXlvdXRQ
b2ludCYgcG9pbnQsIGNvbnN0IFJlbgogICAgIExheW91dFVuaXQgcG9pbnRCbG9ja0RpcmVjdGlv
biA9IGZpcnN0UnVuLT5pc0hvcml6b250YWwoKSA/IHBvaW50LnkoKSA6IHBvaW50LngoKTsKICAg
ICBib29sIGJsb2Nrc0FyZUZsaXBwZWQgPSBzdHlsZSgpLmlzRmxpcHBlZEJsb2Nrc1dyaXRpbmdN
b2RlKCk7CiAKLSAgICBMYXlvdXRJbnRlZ3JhdGlvbjo6VGV4dFJ1bkl0ZXJhdG9yIGxhc3RSdW47
CisgICAgTGF5b3V0QnJpZGdlOjpUZXh0UnVuSXRlcmF0b3IgbGFzdFJ1bjsKICAgICBmb3IgKGF1
dG8gcnVuID0gZmlyc3RSdW47IHJ1bjsgcnVuLnRyYXZlcnNlTmV4dFRleHRSdW4oKSkgewogICAg
ICAgICBpZiAocnVuLT5pc0xpbmVCcmVhaygpICYmICFydW4ucHJldmlvdXNPbkxpbmUoKSAmJiBy
dW4ubmV4dE9uTGluZSgpICYmICFydW4ubmV4dE9uTGluZSgpLT5pc0xpbmVCcmVhaygpKQogICAg
ICAgICAgICAgcnVuLnRyYXZlcnNlTmV4dFRleHRSdW4oKTsKQEAgLTEyNjUsNyArMTI2NSw3IEBA
IFZlY3RvcjxzdGQ6OnBhaXI8dW5zaWduZWQsIHVuc2lnbmVkPj4gUmVuZGVyVGV4dDo6ZHJhZ2dl
ZENvbnRlbnRSYW5nZXNCZXR3ZWVuT2ZmCiAKIEludFBvaW50IFJlbmRlclRleHQ6OmZpcnN0UnVu
TG9jYXRpb24oKSBjb25zdAogewotICAgIGF1dG8gZmlyc3QgPSBMYXlvdXRJbnRlZ3JhdGlvbjo6
Zmlyc3RUZXh0UnVuRm9yKCp0aGlzKTsKKyAgICBhdXRvIGZpcnN0ID0gTGF5b3V0QnJpZGdlOjpm
aXJzdFRleHRSdW5Gb3IoKnRoaXMpOwogICAgIGlmICghZmlyc3QpCiAgICAgICAgIHJldHVybiB7
IH07CiAgICAgcmV0dXJuIEludFBvaW50KGZpcnN0LT5yZWN0KCkubG9jYXRpb24oKSk7CkBAIC0x
NDU4LDcgKzE0NTgsNyBAQCB2b2lkIFJlbmRlclRleHQ6OnNldFRleHQoY29uc3QgU3RyaW5nJiB0
ZXh0LCBib29sIGZvcmNlKQogICAgIG1fa25vd25Ub0hhdmVOb092ZXJmbG93QW5kTm9GYWxsYmFj
a0ZvbnRzID0gZmFsc2U7CiAKICNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkK
LSAgICBpZiAoYXV0byogY29udGFpbmVyID0gTGF5b3V0SW50ZWdyYXRpb246OkxpbmVMYXlvdXQ6
OmJsb2NrQ29udGFpbmVyKCp0aGlzKSkKKyAgICBpZiAoYXV0byogY29udGFpbmVyID0gTGF5b3V0
QnJpZGdlOjpMaW5lTGF5b3V0OjpibG9ja0NvbnRhaW5lcigqdGhpcykpCiAgICAgICAgIGNvbnRh
aW5lci0+aW52YWxpZGF0ZUxpbmVMYXlvdXRQYXRoKCk7CiAjZW5kaWYKIApAQCAtMTUwNiw3ICsx
NTA2LDcgQEAgdm9pZCBSZW5kZXJUZXh0Ojpwb3NpdGlvbkxpbmVCb3goTGVnYWN5SW5saW5lVGV4
dEJveCYgdGV4dEJveCkKIGJvb2wgUmVuZGVyVGV4dDo6dXNlc0xlZ2FjeUxpbmVMYXlvdXRQYXRo
KCkgY29uc3QKIHsKICNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkKLSAgICBy
ZXR1cm4gIUxheW91dEludGVncmF0aW9uOjpMaW5lTGF5b3V0Ojpjb250YWluaW5nKCp0aGlzKTsK
KyAgICByZXR1cm4gIUxheW91dEJyaWRnZTo6TGluZUxheW91dDo6Y29udGFpbmluZygqdGhpcyk7
CiAjZWxzZQogICAgIHJldHVybiB0cnVlOwogI2VuZGlmCkBAIC0xNTYwLDcgKzE1NjAsNyBAQCBm
bG9hdCBSZW5kZXJUZXh0Ojp3aWR0aCh1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW4sIGNvbnN0
IEZvbnRDYXNjYWRlJiBmLCBmbG9hdAogCiBJbnRSZWN0IFJlbmRlclRleHQ6OmxpbmVzQm91bmRp
bmdCb3goKSBjb25zdAogewotICAgIGF1dG8gZmlyc3QgPSBMYXlvdXRJbnRlZ3JhdGlvbjo6Zmly
c3RUZXh0UnVuRm9yKCp0aGlzKTsKKyAgICBhdXRvIGZpcnN0ID0gTGF5b3V0QnJpZGdlOjpmaXJz
dFRleHRSdW5Gb3IoKnRoaXMpOwogICAgIGlmICghZmlyc3QpCiAgICAgICAgIHJldHVybiB7IH07
CiAKQEAgLTE2MjMsNyArMTYyMyw3IEBAIExheW91dFJlY3QgUmVuZGVyVGV4dDo6Y29sbGVjdFNl
bGVjdGlvbkdlb21ldHJpZXNGb3JMaW5lQm94ZXMoY29uc3QgUmVuZGVyTGF5ZXJNCiAKICAgICBM
YXlvdXRSZWN0IHJlc3VsdFJlY3Q7CiAKLSAgICBmb3IgKGF1dG8mIHJ1biA6IExheW91dEludGVn
cmF0aW9uOjp0ZXh0UnVuc0ZvcigqdGhpcykpIHsKKyAgICBmb3IgKGF1dG8mIHJ1biA6IExheW91
dEJyaWRnZTo6dGV4dFJ1bnNGb3IoKnRoaXMpKSB7CiAgICAgICAgIExheW91dFJlY3QgcmVjdDsK
ICAgICAgICAgcmVjdC51bml0ZShydW4uc2VsZWN0aW9uUmVjdChzdGFydE9mZnNldCwgZW5kT2Zm
c2V0KSk7CiAgICAgICAgIHJlY3QudW5pdGUoZWxsaXBzaXNSZWN0Rm9yVGV4dFJ1bihydW4sIHN0
YXJ0T2Zmc2V0LCBlbmRPZmZzZXQpKTsKQEAgLTE2NTMsNyArMTY1Myw3IEBAIExheW91dFJlY3Qg
UmVuZGVyVGV4dDo6c2VsZWN0aW9uUmVjdEZvclJlcGFpbnQoY29uc3QgUmVuZGVyTGF5ZXJNb2Rl
bE9iamVjdCogcmVwCiAKIGludCBSZW5kZXJUZXh0OjpjYXJldE1pbk9mZnNldCgpIGNvbnN0CiB7
Ci0gICAgYXV0byBmaXJzdCA9IExheW91dEludGVncmF0aW9uOjpmaXJzdFRleHRSdW5Gb3IoKnRo
aXMpOworICAgIGF1dG8gZmlyc3QgPSBMYXlvdXRCcmlkZ2U6OmZpcnN0VGV4dFJ1bkZvcigqdGhp
cyk7CiAgICAgaWYgKCFmaXJzdCkKICAgICAgICAgcmV0dXJuIDA7CiAKQEAgLTE2NjYsNyArMTY2
Niw3IEBAIGludCBSZW5kZXJUZXh0OjpjYXJldE1pbk9mZnNldCgpIGNvbnN0CiAKIGludCBSZW5k
ZXJUZXh0OjpjYXJldE1heE9mZnNldCgpIGNvbnN0CiB7Ci0gICAgYXV0byBmaXJzdCA9IExheW91
dEludGVncmF0aW9uOjpmaXJzdFRleHRSdW5Gb3IoKnRoaXMpOworICAgIGF1dG8gZmlyc3QgPSBM
YXlvdXRCcmlkZ2U6OmZpcnN0VGV4dFJ1bkZvcigqdGhpcyk7CiAgICAgaWYgKCFmaXJzdCkKICAg
ICAgICAgcmV0dXJuIHRleHQoKS5sZW5ndGgoKTsKIApAQCAtMTY4MCw3ICsxNjgwLDcgQEAgaW50
IFJlbmRlclRleHQ6OmNhcmV0TWF4T2Zmc2V0KCkgY29uc3QKIHVuc2lnbmVkIFJlbmRlclRleHQ6
OmNvdW50UmVuZGVyZWRDaGFyYWN0ZXJPZmZzZXRzVW50aWwodW5zaWduZWQgb2Zmc2V0KSBjb25z
dAogewogICAgIHVuc2lnbmVkIHJlc3VsdCA9IDA7Ci0gICAgZm9yIChhdXRvJiBydW4gOiBMYXlv
dXRJbnRlZ3JhdGlvbjo6dGV4dFJ1bnNGb3IoKnRoaXMpKSB7CisgICAgZm9yIChhdXRvJiBydW4g
OiBMYXlvdXRCcmlkZ2U6OnRleHRSdW5zRm9yKCp0aGlzKSkgewogICAgICAgICBhdXRvIHN0YXJ0
ID0gcnVuLnN0YXJ0KCk7CiAgICAgICAgIGF1dG8gbGVuZ3RoID0gcnVuLmxlbmd0aCgpOwogICAg
ICAgICBpZiAob2Zmc2V0IDwgc3RhcnQpCkBAIC0xNjk3LDcgKzE2OTcsNyBAQCB1bnNpZ25lZCBS
ZW5kZXJUZXh0Ojpjb3VudFJlbmRlcmVkQ2hhcmFjdGVyT2Zmc2V0c1VudGlsKHVuc2lnbmVkIG9m
ZnNldCkgY29uc3QKIGVudW0gY2xhc3MgT2Zmc2V0VHlwZSB7IENoYXJhY3RlciwgQ2FyZXQgfTsK
IHN0YXRpYyBib29sIGNvbnRhaW5zT2Zmc2V0KGNvbnN0IFJlbmRlclRleHQmIHRleHQsIHVuc2ln
bmVkIG9mZnNldCwgT2Zmc2V0VHlwZSB0eXBlKQogewotICAgIGZvciAoYXV0byBib3ggPSBMYXlv
dXRJbnRlZ3JhdGlvbjo6Zmlyc3RUZXh0UnVuSW5UZXh0T3JkZXJGb3IodGV4dCk7IGJveDsgYm94
LnRyYXZlcnNlTmV4dFRleHRSdW5JblRleHRPcmRlcigpKSB7CisgICAgZm9yIChhdXRvIGJveCA9
IExheW91dEJyaWRnZTo6Zmlyc3RUZXh0UnVuSW5UZXh0T3JkZXJGb3IodGV4dCk7IGJveDsgYm94
LnRyYXZlcnNlTmV4dFRleHRSdW5JblRleHRPcmRlcigpKSB7CiAgICAgICAgIGF1dG8gc3RhcnQg
PSBib3gtPnN0YXJ0KCk7CiAgICAgICAgIGlmIChvZmZzZXQgPCBzdGFydCkKICAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKQEAgLTE3MjYsNyArMTcyNiw3IEBAIGJvb2wgUmVuZGVyVGV4dDo6Y29u
dGFpbnNDYXJldE9mZnNldCh1bnNpZ25lZCBvZmZzZXQpIGNvbnN0CiAKIGJvb2wgUmVuZGVyVGV4
dDo6aGFzUmVuZGVyZWRUZXh0KCkgY29uc3QKIHsKLSAgICBmb3IgKGF1dG8mIGJveCA6IExheW91
dEludGVncmF0aW9uOjp0ZXh0UnVuc0ZvcigqdGhpcykpIHsKKyAgICBmb3IgKGF1dG8mIGJveCA6
IExheW91dEJyaWRnZTo6dGV4dFJ1bnNGb3IoKnRoaXMpKSB7CiAgICAgICAgIGlmIChib3gubGVu
Z3RoKCkpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRleHQuaAppbmRleCA1NGYxMDliODQ0NDQuLjljMDhjM2RiN2U4YSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5oCkBAIC0zNCw3ICszNCw3IEBAIGNsYXNzIEZv
bnQ7CiBjbGFzcyBMZWdhY3lJbmxpbmVUZXh0Qm94Owogc3RydWN0IEdseXBoT3ZlcmZsb3c7CiAK
LW5hbWVzcGFjZSBMYXlvdXRJbnRlZ3JhdGlvbiB7CituYW1lc3BhY2UgTGF5b3V0QnJpZGdlIHsK
IGNsYXNzIExpbmVMYXlvdXQ7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUcmVlQXNUZXh0LmNwcAppbmRleCA4MmZmMDg1ZDQwY2MuLjBlOTY5MGQ0MmFlNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcApAQCAtMzYsNyAr
MzYsNyBAQAogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIkhUTUxTcGFuRWxlbWVu
dC5oIgogI2luY2x1ZGUgIklubGluZUl0ZXJhdG9yLmgiCi0jaW5jbHVkZSAiTGF5b3V0SW50ZWdy
YXRpb25SdW5JdGVyYXRvci5oIgorI2luY2x1ZGUgIkxheW91dEJyaWRnZVJ1bkl0ZXJhdG9yLmgi
CiAjaW5jbHVkZSAiTGVnYWN5SW5saW5lVGV4dEJveC5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIK
ICNpbmNsdWRlICJQcmludENvbnRleHQuaCIKQEAgLTI0MSwxMyArMjQxLDEzIEBAIHZvaWQgUmVu
ZGVyVHJlZUFzVGV4dDo6d3JpdGVSZW5kZXJPYmplY3QoVGV4dFN0cmVhbSYgdHMsIGNvbnN0IFJl
bmRlck9iamVjdCYgbywKICAgICAgICAgLy8gbWFueSB0ZXN0IHJlc3VsdHMuCiAgICAgICAgIGNv
bnN0IFJlbmRlclRleHQmIHRleHQgPSBkb3duY2FzdDxSZW5kZXJUZXh0PihvKTsKICAgICAgICAg
ciA9IEludFJlY3QodGV4dC5maXJzdFJ1bkxvY2F0aW9uKCksIHRleHQubGluZXNCb3VuZGluZ0Jv
eCgpLnNpemUoKSk7Ci0gICAgICAgIGlmICghTGF5b3V0SW50ZWdyYXRpb246OmZpcnN0VGV4dFJ1
bkZvcih0ZXh0KSkKKyAgICAgICAgaWYgKCFMYXlvdXRCcmlkZ2U6OmZpcnN0VGV4dFJ1bkZvcih0
ZXh0KSkKICAgICAgICAgICAgIGFkanVzdEZvclRhYmxlQ2VsbHMgPSBmYWxzZTsKICAgICB9IGVs
c2UgaWYgKG8uaXNCUigpKSB7CiAgICAgICAgIGNvbnN0IFJlbmRlckxpbmVCcmVhayYgYnIgPSBk
b3duY2FzdDxSZW5kZXJMaW5lQnJlYWs+KG8pOwogICAgICAgICBJbnRSZWN0IGxpbmVzQm94ID0g
YnIubGluZXNCb3VuZGluZ0JveCgpOwogICAgICAgICByID0gSW50UmVjdChsaW5lc0JveC54KCks
IGxpbmVzQm94LnkoKSwgbGluZXNCb3gud2lkdGgoKSwgbGluZXNCb3guaGVpZ2h0KCkpOwotICAg
ICAgICBpZiAoIWJyLmlubGluZUJveFdyYXBwZXIoKSAmJiAhTGF5b3V0SW50ZWdyYXRpb246OnJ1
bkZvcihicikpCisgICAgICAgIGlmICghYnIuaW5saW5lQm94V3JhcHBlcigpICYmICFMYXlvdXRC
cmlkZ2U6OnJ1bkZvcihicikpCiAgICAgICAgICAgICBhZGp1c3RGb3JUYWJsZUNlbGxzID0gZmFs
c2U7CiAgICAgfSBlbHNlIGlmIChpczxSZW5kZXJJbmxpbmU+KG8pKSB7CiAgICAgICAgIGNvbnN0
IFJlbmRlcklubGluZSYgaW5saW5lRmxvdyA9IGRvd25jYXN0PFJlbmRlcklubGluZT4obyk7CkBA
IC02MDIsNyArNjAyLDcgQEAgdm9pZCB3cml0ZShUZXh0U3RyZWFtJiB0cywgY29uc3QgUmVuZGVy
T2JqZWN0JiBvLCBPcHRpb25TZXQ8UmVuZGVyQXNUZXh0RmxhZz4gYmUKIAogICAgIGlmIChpczxS
ZW5kZXJUZXh0PihvKSkgewogICAgICAgICBhdXRvJiB0ZXh0ID0gZG93bmNhc3Q8UmVuZGVyVGV4
dD4obyk7Ci0gICAgICAgIGZvciAoYXV0byYgcnVuIDogTGF5b3V0SW50ZWdyYXRpb246OnRleHRS
dW5zRm9yKHRleHQpKSB7CisgICAgICAgIGZvciAoYXV0byYgcnVuIDogTGF5b3V0QnJpZGdlOjp0
ZXh0UnVuc0Zvcih0ZXh0KSkgewogICAgICAgICAgICAgdHMgPDwgaW5kZW50OwogICAgICAgICAg
ICAgd3JpdGVUZXh0UnVuKHRleHQsIHJ1bik7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0UGFpbnRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvVGV4dFBhaW50ZXIuY3BwCmluZGV4IDc0ODUyYTZiMGQyNS4uMWZjZTk0MDE1Y2VhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dFBhaW50ZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0UGFpbnRlci5jcHAKQEAgLTI3LDcgKzI3LDcg
QEAKICNpbmNsdWRlICJGaWx0ZXJPcGVyYXRpb25zLmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250
ZXh0LmgiCiAjaW5jbHVkZSAiSFRNTFBhcnNlcklkaW9tcy5oIgotI2luY2x1ZGUgIkxheW91dElu
dGVncmF0aW9uUnVuLmgiCisjaW5jbHVkZSAiTGF5b3V0QnJpZGdlUnVuLmgiCiAjaW5jbHVkZSAi
TGVnYWN5SW5saW5lVGV4dEJveC5oIgogI2luY2x1ZGUgIlJlbmRlckNvbWJpbmVUZXh0LmgiCiAj
aW5jbHVkZSAiUmVuZGVyTGF5ZXIuaCIKQEAgLTIzMCw3ICsyMzAsNyBAQCB2b2lkIFRleHRQYWlu
dGVyOjpjbGVhckdseXBoRGlzcGxheUxpc3RzKCkKICAgICBHbHlwaERpc3BsYXlMaXN0Q2FjaGU8
TGVnYWN5SW5saW5lVGV4dEJveD46OnNpbmdsZXRvbigpLmNsZWFyKCk7CiAjaWYgRU5BQkxFKExB
WU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpCiAgICAgaWYgKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OnNoYXJlZEZlYXR1cmVzKCkubGF5b3V0Rm9ybWF0dGluZ0NvbnRleHRJbnRlZ3JhdGlvbkVuYWJs
ZWQoKSkKLSAgICAgICAgR2x5cGhEaXNwbGF5TGlzdENhY2hlPExheW91dEludGVncmF0aW9uOjpS
dW4+OjpzaW5nbGV0b24oKS5jbGVhcigpOworICAgICAgICBHbHlwaERpc3BsYXlMaXN0Q2FjaGU8
TGF5b3V0QnJpZGdlOjpSdW4+OjpzaW5nbGV0b24oKS5jbGVhcigpOwogI2VuZGlmCiB9CiAK
</data>
<flag name="commit-queue"
          id="453735"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431854</attachid>
            <date>2021-06-21 06:26:05 -0700</date>
            <delta_ts>2021-06-21 09:00:28 -0700</delta_ts>
            <desc>patch</desc>
            <filename>layout-brige-2.patch</filename>
            <type>text/plain</type>
            <size>148206</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggZTgxZWNiYjkxMTcxLi45MmIyNDI0ODc4Y2UgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0CkBAIC0xMDIsNiArMTAyLDcgQEAgc2V0KFdlYkNvcmVfUFJJVkFURV9J
TkNMVURFX0RJUkVDVE9SSUVTCiAgICAgIiR7V0VCQ09SRV9ESVJ9L2luc3BlY3Rvci9hZ2VudHMv
cGFnZSIKICAgICAiJHtXRUJDT1JFX0RJUn0vaW5zcGVjdG9yL2FnZW50cy93b3JrZXIiCiAgICAg
IiR7V0VCQ09SRV9ESVJ9L2xheW91dCIKKyAgICAiJHtXRUJDT1JFX0RJUn0vbGF5b3V0L2JyaWRn
ZSIKICAgICAiJHtXRUJDT1JFX0RJUn0vbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cyIKICAgICAi
JHtXRUJDT1JFX0RJUn0vbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9ibG9jayIKICAgICAiJHtX
RUJDT1JFX0RJUn0vbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9ibG9jay90YWJsZXdyYXBwZXIi
CkBAIC0xMDksNyArMTEwLDYgQEAgc2V0KFdlYkNvcmVfUFJJVkFURV9JTkNMVURFX0RJUkVDVE9S
SUVTCiAgICAgIiR7V0VCQ09SRV9ESVJ9L2xheW91dC9mbG9hdHMiCiAgICAgIiR7V0VCQ09SRV9E
SVJ9L2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lIgogICAgICIke1dFQkNPUkVfRElS
fS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS90ZXh0IgotICAgICIke1dFQkNPUkVf
RElSfS9sYXlvdXQvaW50ZWdyYXRpb24iCiAgICAgIiR7V0VCQ09SRV9ESVJ9L2xheW91dC9pbnZh
bGlkYXRpb24iCiAgICAgIiR7V0VCQ09SRV9ESVJ9L2xheW91dC9sYXlvdXR0cmVlIgogICAgICIk
e1dFQkNPUkVfRElSfS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL3RhYmxlIgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmlu
ZGV4IDI0ZWNlYzkwZGQ2Yy4uMjkyNGJmMzQ4ZTNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTU3
IEBACisyMDIxLTA2LTIxICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAg
ICAgICBSZW5hbWUgTGF5b3V0SW50ZWdyYXRpb24gbmFtZXNwYWNlIHRvIExheW91dEJyaWRnZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3MjExCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXNlIGEgc29t
ZXdoYXQgbGVzcyBhd2t3YXJkIG5hbWUuCisKKyAgICAgICAgKiBNb2R1bGVzL2hpZ2hsaWdodC9I
aWdobGlnaHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cmVwYWludFJhbmdlKToKKyAgICAgICAg
KiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmxvY2FsQ2FyZXRSZWN0Rm9yQ2hhcmFjdGVyT2Zmc2V0
KToKKyAgICAgICAgKiBkb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50TWFya2VyQ29udHJvbGxlcjo6YWRkTWFya2VyKToKKyAgICAgICAg
KiBkb20vUG9zaXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6aGFzSW5saW5lUnVuKToKKyAg
ICAgICAgKFdlYkNvcmU6OlBvc2l0aW9uOjp1cHN0cmVhbSBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpQb3NpdGlvbjo6ZG93bnN0cmVhbSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpzZWFy
Y2hBaGVhZEZvckJldHRlck1hdGNoKToKKyAgICAgICAgKFdlYkNvcmU6OlBvc2l0aW9uOjppbmxp
bmVSdW5BbmRPZmZzZXQgY29uc3QpOgorICAgICAgICAqIGVkaXRpbmcvQ29tcG9zaXRlRWRpdENv
bW1hbmQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29tcG9zaXRlRWRpdENvbW1hbmQ6OmRlbGV0
ZUluc2lnbmlmaWNhbnRUZXh0KToKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRvci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpFZGl0b3I6OnNldENvbXBvc2l0aW9uKToKKyAgICAgICAgKiBlZGl0aW5n
L0lubGluZVJ1bkFuZE9mZnNldC5oOgorICAgICAgICAqIGVkaXRpbmcvUmVuZGVyZWRQb3NpdGlv
bi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJlZFBvc2l0aW9uOjpSZW5kZXJlZFBvc2l0
aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlcmVkUG9zaXRpb246OnByZXZpb3VzTGVhZk9u
TGluZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJlZFBvc2l0aW9uOjpuZXh0TGVh
Zk9uTGluZSBjb25zdCk6CisgICAgICAgICogZWRpdGluZy9SZW5kZXJlZFBvc2l0aW9uLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJlZFBvc2l0aW9uOjpsaW5lIGNvbnN0KToKKyAgICAgICAg
KiBlZGl0aW5nL1RleHRJdGVyYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUZXh0SXRlcmF0
b3I6OmhhbmRsZVRleHROb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRJdGVyYXRvcjo6aGFu
ZGxlVGV4dFJ1bik6CisgICAgICAgIChXZWJDb3JlOjpUZXh0SXRlcmF0b3I6OmhhbmRsZVRleHRO
b2RlRmlyc3RMZXR0ZXIpOgorICAgICAgICAqIGVkaXRpbmcvVGV4dEl0ZXJhdG9yLmg6CisgICAg
ICAgICogZWRpdGluZy9WaXNpYmxlUG9zaXRpb24uY3BwOgorICAgICAgICAqIGVkaXRpbmcvVmlz
aWJsZVVuaXRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmlzVGV4dE9yTGluZUJyZWFrUnVuKToK
KyAgICAgICAgKFdlYkNvcmU6OnByZXZpb3VzVGV4dE9yTGluZUJyZWFrUnVuKToKKyAgICAgICAg
KFdlYkNvcmU6Om5leHRUZXh0T3JMaW5lQnJlYWtSdW4pOgorICAgICAgICAoV2ViQ29yZTo6c3Rh
cnRUZXh0T3JMaW5lQnJlYWtSdW4pOgorICAgICAgICAoV2ViQ29yZTo6ZW5kVGV4dE9yTGluZUJy
ZWFrUnVuKToKKyAgICAgICAgKFdlYkNvcmU6OmxvZ2ljYWxseVByZXZpb3VzUnVuKToKKyAgICAg
ICAgKFdlYkNvcmU6OmxvZ2ljYWxseU5leHRSdW4pOgorICAgICAgICAoV2ViQ29yZTo6d29yZEJy
ZWFrSXRlcmF0b3JGb3JNaW5PZmZzZXRCb3VuZGFyeSk6CisgICAgICAgIChXZWJDb3JlOjp3b3Jk
QnJlYWtJdGVyYXRvckZvck1heE9mZnNldEJvdW5kYXJ5KToKKyAgICAgICAgKFdlYkNvcmU6OnZp
c3VhbFdvcmRQb3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpzdGFydFBvc2l0aW9uRm9yTGlu
ZSk6CisgICAgICAgIChXZWJDb3JlOjplbmRQb3NpdGlvbkZvckxpbmUpOgorICAgICAgICAoV2Vi
Q29yZTo6YWJzb2x1dGVMaW5lRGlyZWN0aW9uUG9pbnRUb0xvY2FsUG9pbnRJbkJsb2NrKToKKyAg
ICAgICAgKFdlYkNvcmU6OnByZXZpb3VzTGluZVBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6
Om5leHRMaW5lUG9zaXRpb24pOgorICAgICAgICAqIGxheW91dC9icmlkZ2UvTGF5b3V0QnJpZGdl
Qm94VHJlZS5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRp
b24vTGF5b3V0SW50ZWdyYXRpb25Cb3hUcmVlLmNwcC4KKyAgICAgICAgKiBsYXlvdXQvYnJpZGdl
L0xheW91dEJyaWRnZUJveFRyZWUuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2xheW91
dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkJveFRyZWUuaC4KKyAgICAgICAgKiBsYXlv
dXQvYnJpZGdlL0xheW91dEJyaWRnZUNvdmVyYWdlLmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9X
ZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkNvdmVyYWdlLmNwcC4K
KyAgICAgICAgKiBsYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZUNvdmVyYWdlLmg6IFJlbmFtZWQg
ZnJvbSBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25D
b3ZlcmFnZS5oLgorICAgICAgICAqIGxheW91dC9icmlkZ2UvTGF5b3V0QnJpZGdlSW5saW5lQ29u
dGVudC5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24v
TGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50LmNwcC4KKyAgICAgICAgKiBsYXlvdXQvYnJp
ZGdlL0xheW91dEJyaWRnZUlubGluZUNvbnRlbnQuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJD
b3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnQuaC4K
KyAgICAgICAgKiBsYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZUlubGluZUNvbnRlbnRCdWlsZGVy
LmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlv
dXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmNwcC4KKyAgICAgICAgKiBsYXlvdXQv
YnJpZGdlL0xheW91dEJyaWRnZUlubGluZUNvbnRlbnRCdWlsZGVyLmg6IFJlbmFtZWQgZnJvbSBT
b3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVD
b250ZW50QnVpbGRlci5oLgorICAgICAgICAqIGxheW91dC9icmlkZ2UvTGF5b3V0QnJpZGdlTGlu
ZS5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91
dEludGVncmF0aW9uTGluZS5oLgorICAgICAgICAqIGxheW91dC9icmlkZ2UvTGF5b3V0QnJpZGdl
TGluZUl0ZXJhdG9yLmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRl
Z3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVJdGVyYXRvci5jcHAuCisgICAgICAgICogbGF5
b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VMaW5lSXRlcmF0b3IuaDogUmVuYW1lZCBmcm9tIFNvdXJj
ZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVJdGVyYXRv
ci5oLgorICAgICAgICAqIGxheW91dC9icmlkZ2UvTGF5b3V0QnJpZGdlTGluZUl0ZXJhdG9yTGVn
YWN5UGF0aC5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9u
L0xheW91dEludGVncmF0aW9uTGluZUl0ZXJhdG9yTGVnYWN5UGF0aC5oLgorICAgICAgICAqIGxh
eW91dC9icmlkZ2UvTGF5b3V0QnJpZGdlTGluZUl0ZXJhdG9yTW9kZXJuUGF0aC5oOiBSZW5hbWVk
IGZyb20gU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9u
TGluZUl0ZXJhdG9yTW9kZXJuUGF0aC5oLgorICAgICAgICAqIGxheW91dC9icmlkZ2UvTGF5b3V0
QnJpZGdlTGluZUxheW91dC5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9sYXlvdXQv
aW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0LmNwcC4KKyAgICAgICAgKiBs
YXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZUxpbmVMYXlvdXQuaDogUmVuYW1lZCBmcm9tIFNvdXJj
ZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQu
aC4KKyAgICAgICAgKiBsYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZVBhZ2luYXRpb24uY3BwOiBS
ZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVn
cmF0aW9uUGFnaW5hdGlvbi5jcHAuCisgICAgICAgICogbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlk
Z2VQYWdpbmF0aW9uLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdy
YXRpb24vTGF5b3V0SW50ZWdyYXRpb25QYWdpbmF0aW9uLmguCisgICAgICAgICogbGF5b3V0L2Jy
aWRnZS9MYXlvdXRCcmlkZ2VSdW4uaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2xheW91
dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblJ1bi5oLgorICAgICAgICAqIGxheW91dC9i
cmlkZ2UvTGF5b3V0QnJpZGdlUnVuSXRlcmF0b3IuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dl
YkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uUnVuSXRlcmF0b3IuY3Bw
LgorICAgICAgICAqIGxheW91dC9icmlkZ2UvTGF5b3V0QnJpZGdlUnVuSXRlcmF0b3IuaDogUmVu
YW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3Jh
dGlvblJ1bkl0ZXJhdG9yLmguCisgICAgICAgIChpc1R5cGUpOgorICAgICAgICAqIGxheW91dC9i
cmlkZ2UvTGF5b3V0QnJpZGdlUnVuSXRlcmF0b3JMZWdhY3lQYXRoLmg6IFJlbmFtZWQgZnJvbSBT
b3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVy
YXRvckxlZ2FjeVBhdGguaC4KKyAgICAgICAgKiBsYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZVJ1
bkl0ZXJhdG9yTW9kZXJuUGF0aC5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvbGF5b3V0
L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uUnVuSXRlcmF0b3JNb2Rlcm5QYXRoLmguCisg
ICAgICAgICogcGFnZS9NZW1vcnlSZWxlYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnJlbGVh
c2VOb25jcml0aWNhbE1lbW9yeSk6CisgICAgICAgICogcmVuZGVyaW5nL0NhcmV0UmVjdENvbXB1
dGF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNvbXB1dGVDYXJldFJlY3RGb3JMaW5lUG9z
aXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6Y29tcHV0ZUNhcmV0UmVjdEZvclRleHQpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyQmxvY2tGbG93OjpsYXlvdXRJbmxpbmVDaGlsZHJlbik6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJCbG9ja0Zsb3c6OnN0eWxlRGlkQ2hhbmdlKToKKyAgICAgICAgKFdlYkNvcmU6OnBv
c2l0aW9uRm9yUnVuKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6ZmluZENs
b3Nlc3RUZXh0QXRBYnNvbHV0ZVBvaW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2Nr
Rmxvdzo6cG9zaXRpb25Gb3JQb2ludFdpdGhJbmxpbmVDaGlsZHJlbik6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJCbG9ja0Zsb3c6OmxheW91dE1vZGVybkxpbmVzKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyQmxvY2tGbG93Lmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9ja0Zs
b3c6Omhhc01vZGVybkxpbmVMYXlvdXQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
QmxvY2tGbG93Ojptb2Rlcm5MaW5lTGF5b3V0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckJsb2NrRmxvdzo6bW9kZXJuTGluZUxheW91dCk6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlckJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OnN0eWxlRGlkQ2hhbmdl
KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJFbGVtZW50OjpnZXRMZWFkaW5nQ29ybmVyIGNvbnN0KToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW1hZ2U6
OmNvbGxlY3RTZWxlY3Rpb25HZW9tZXRyaWVzKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
SW5saW5lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlcklubGluZTo6c3R5bGVEaWRDaGFu
Z2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW5saW5lOjphYnNvbHV0ZVJlY3RzIGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlcklubGluZTo6YWJzb2x1dGVRdWFkcyBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbmxpbmU6OmFic29sdXRlUXVhZHNJZ25vcmluZ0Nv
bnRpbnVhdGlvbiBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbmxpbmU6OmFic29s
dXRlUXVhZHNGb3JTZWxlY3Rpb24gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW5s
aW5lOjpvZmZzZXRMZWZ0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlcklubGluZTo6
b2Zmc2V0VG9wIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlcklubGluZTo6bm9kZUF0
UG9pbnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW5saW5lOjpsaW5lc0JvdW5kaW5nQm94
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlcklubGluZTo6bGluZXNWaXN1YWxPdmVy
Zmxvd0JvdW5kaW5nQm94IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlcklubGluZTo6
Y2xpcHBlZE92ZXJmbG93UmVjdCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbmxp
bmU6OmFkZEZvY3VzUmluZ1JlY3RzKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGluZUJy
ZWFrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpbmVCcmVhazo6bGluZXNCb3VuZGlu
Z0JveCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaW5lQnJlYWs6OmFic29sdXRl
UmVjdHMgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGluZUJyZWFrOjphYnNvbHV0
ZVF1YWRzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpbmVCcmVhazo6Y29sbGVj
dFNlbGVjdGlvbkdlb21ldHJpZXMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3Qu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0OjppbnNlcnRlZEludG9UcmVlKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6d2lsbEJlUmVtb3ZlZEZyb21UcmVlKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6c2V0U2VsZWN0aW9uU3RhdGUpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJSZXBsYWNlZDo6cG9zaXRpb25Gb3JQb2ludCk6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlclRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dDo6YWJzb2x1dGVSZWN0
cyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0Ojpjb2xsZWN0U2VsZWN0aW9u
R2VvbWV0cmllcyk6CisgICAgICAgIChXZWJDb3JlOjpib3VuZGFyaWVzRm9yVGV4dFJ1bik6Cisg
ICAgICAgIChXZWJDb3JlOjplbGxpcHNpc1JlY3RGb3JUZXh0UnVuKToKKyAgICAgICAgKFdlYkNv
cmU6OmNvbGxlY3RBYnNvbHV0ZVF1YWRzKToKKyAgICAgICAgKFdlYkNvcmU6OmxvY2FsUXVhZEZv
clRleHRSdW4pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dDo6YWJzb2x1dGVRdWFkc0Zv
clJhbmdlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OmxpbmVEaXJlY3Rpb25Qb2ludEZpdHNJ
bkJveCk6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVWaXNpYmxlUG9zaXRpb25Gb3JCb3gpOgor
ICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlVmlzaWJsZVBvc2l0aW9uQWZ0ZXJBZGp1c3RpbmdPZmZz
ZXRGb3JCaURpKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRleHQ6OnBvc2l0aW9uRm9yUG9p
bnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dDo6Zmlyc3RSdW5Mb2NhdGlvbiBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0OjpzZXRUZXh0KToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlclRleHQ6OnVzZXNMZWdhY3lMaW5lTGF5b3V0UGF0aCBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0OjpsaW5lc0JvdW5kaW5nQm94IGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclRleHQ6OmNvbGxlY3RTZWxlY3Rpb25HZW9tZXRyaWVzRm9yTGlu
ZUJveGVzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRleHQ6OmNhcmV0TWluT2Zmc2V0IGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRleHQ6OmNhcmV0TWF4T2Zmc2V0IGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRleHQ6OmNvdW50UmVuZGVyZWRDaGFyYWN0ZXJP
ZmZzZXRzVW50aWwgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Y29udGFpbnNPZmZzZXQpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dDo6aGFzUmVuZGVyZWRUZXh0IGNvbnN0KToKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4dC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJUcmVlQXNUZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRyZWVBc1RleHQ6Ondy
aXRlUmVuZGVyT2JqZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OndyaXRlKToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvVGV4dFBhaW50ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dFBhaW50ZXI6
OmNsZWFyR2x5cGhEaXNwbGF5TGlzdHMpOgorCiAyMDIxLTA2LTIwICBBbGFuIEJ1anRhcyAgPHph
bGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBIaXRUZXN0TG9jYXRpb246Om1fYm91bmRpbmdCb3gg
c2hvdWxkIGJlIGFibGUgaG9sZCBzdWJwaXhlbCB2YWx1ZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0hlYWRlcnMuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCmluZGV4
IDkxNzllMWE3N2ExNC4uOTU3YzkzNzE5NWViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9I
ZWFkZXJzLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKQEAgLTc1Nywx
NSArNzU3LDE1IEBAIHNldChXZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURFUlMKIAogICAg
IGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZVJlY3QuaAogCi0gICAgbGF5
b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudC5oCi0gICAgbGF5
b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZS5oCi0gICAgbGF5b3V0L2ludGVn
cmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZUl0ZXJhdG9yLmgKLSAgICBsYXlvdXQvaW50ZWdy
YXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3JMZWdhY3lQYXRoLmgKLSAgICBsYXlv
dXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3JNb2Rlcm5QYXRoLmgK
LSAgICBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25SdW4uaAotICAgIGxheW91
dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yLmgKLSAgICBsYXlvdXQv
aW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvckxlZ2FjeVBhdGguaAotICAg
IGxheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yTW9kZXJuUGF0
aC5oCisgICAgbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VJbmxpbmVDb250ZW50LmgKKyAgICBs
YXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZUxpbmUuaAorICAgIGxheW91dC9icmlkZ2UvTGF5b3V0
QnJpZGdlTGluZUl0ZXJhdG9yLmgKKyAgICBsYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZUxpbmVJ
dGVyYXRvckxlZ2FjeVBhdGguaAorICAgIGxheW91dC9icmlkZ2UvTGF5b3V0QnJpZGdlTGluZUl0
ZXJhdG9yTW9kZXJuUGF0aC5oCisgICAgbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VSdW4uaAor
ICAgIGxheW91dC9icmlkZ2UvTGF5b3V0QnJpZGdlUnVuSXRlcmF0b3IuaAorICAgIGxheW91dC9i
cmlkZ2UvTGF5b3V0QnJpZGdlUnVuSXRlcmF0b3JMZWdhY3lQYXRoLmgKKyAgICBsYXlvdXQvYnJp
ZGdlL0xheW91dEJyaWRnZVJ1bkl0ZXJhdG9yTW9kZXJuUGF0aC5oCiAgICAgbGF5b3V0L2xheW91
dHRyZWUvTGF5b3V0Qm94LmgKIAogICAgIGxvYWRlci9DYW52YXNBY3Rpdml0eVJlY29yZC5oCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9IaWdobGlnaHQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvSGlnaGxpZ2h0LmNwcAppbmRleCAx
MzRmM2E5YjJiY2YuLjcyN2ZlMGM1OTcxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9oaWdobGlnaHQvSGlnaGxpZ2h0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2hpZ2hsaWdodC9IaWdobGlnaHQuY3BwCkBAIC0zOCw3ICszOCw3IEBACiAjaW5jbHVkZSA8d3Rm
L1JlZi5oPgogCiAjaWYgRU5BQkxFKExBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpCi0jaW5jbHVk
ZSAiTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0LmgiCisjaW5jbHVkZSAiTGF5b3V0QnJpZGdl
TGluZUxheW91dC5oIgogI2VuZGlmCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTY5LDcgKzY5
LDcgQEAgc3RhdGljIHZvaWQgcmVwYWludFJhbmdlKGNvbnN0IFNpbXBsZVJhbmdlJiByYW5nZSkK
ICAgICBmb3IgKGF1dG8mIG5vZGUgOiBpbnRlcnNlY3RpbmdOb2Rlcyhzb3J0ZWRSYW5nZSkpIHsK
ICAgICAgICAgaWYgKGF1dG8gcmVuZGVyZXIgPSBub2RlLnJlbmRlcmVyKCkpIHsKICNpZiBFTkFC
TEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkKLSAgICAgICAgICAgIGlmIChhdXRvIGxpbmVM
YXlvdXQgPSBMYXlvdXRJbnRlZ3JhdGlvbjo6TGluZUxheW91dDo6Y29udGFpbmluZygqcmVuZGVy
ZXIpKQorICAgICAgICAgICAgaWYgKGF1dG8gbGluZUxheW91dCA9IExheW91dEJyaWRnZTo6TGlu
ZUxheW91dDo6Y29udGFpbmluZygqcmVuZGVyZXIpKQogICAgICAgICAgICAgICAgIGxpbmVMYXlv
dXQtPmZsb3coKS5lbnN1cmVMaW5lQm94ZXMoKTsKICNlbmRpZgogICAgICAgICAgICAgcmVuZGVy
ZXItPnJlcGFpbnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIv
U291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggYjFiZDVjYWVjYmFlLi5hODJjZGEyMjQ4
MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0xNTIyLDYgKzE1MjIsMTQgQEAgbGF5b3V0L0xheW91dFBo
YXNlLmNwcAogbGF5b3V0L0xheW91dFN0YXRlLmNwcAogbGF5b3V0L0xheW91dFVuaXRzLmNwcAog
bGF5b3V0L1ZlcmlmaWNhdGlvbi5jcHAKK2xheW91dC9icmlkZ2UvTGF5b3V0QnJpZGdlQm94VHJl
ZS5jcHAKK2xheW91dC9icmlkZ2UvTGF5b3V0QnJpZGdlQ292ZXJhZ2UuY3BwCitsYXlvdXQvYnJp
ZGdlL0xheW91dEJyaWRnZUlubGluZUNvbnRlbnRCdWlsZGVyLmNwcAorbGF5b3V0L2JyaWRnZS9M
YXlvdXRCcmlkZ2VJbmxpbmVDb250ZW50LmNwcAorbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VM
aW5lSXRlcmF0b3IuY3BwCitsYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZUxpbmVMYXlvdXQuY3Bw
CitsYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZVBhZ2luYXRpb24uY3BwCitsYXlvdXQvYnJpZGdl
L0xheW91dEJyaWRnZVJ1bkl0ZXJhdG9yLmNwcAogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9i
bG9jay9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0LmNwcAogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0
cy9ibG9jay9CbG9ja0Zvcm1hdHRpbmdHZW9tZXRyeS5jcHAKIGxheW91dC9mb3JtYXR0aW5nQ29u
dGV4dHMvYmxvY2svQmxvY2tGb3JtYXR0aW5nUXVpcmtzLmNwcApAQCAtMTU0NywxNCArMTU1NSw2
IEBAIGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCb3guY3BwCiBs
YXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQnVpbGRlci5jcHAKIGxh
eW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZVRleHRJdGVtLmNwcAogbGF5b3V0
L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvdGV4dC9UZXh0VXRpbC5jcHAKLWxheW91dC9pbnRl
Z3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkJveFRyZWUuY3BwCi1sYXlvdXQvaW50ZWdyYXRpb24v
TGF5b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5jcHAKLWxheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJ
bnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmNwcAotbGF5b3V0L2ludGVncmF0aW9uL0xh
eW91dEludGVncmF0aW9uSW5saW5lQ29udGVudC5jcHAKLWxheW91dC9pbnRlZ3JhdGlvbi9MYXlv
dXRJbnRlZ3JhdGlvbkxpbmVJdGVyYXRvci5jcHAKLWxheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJ
bnRlZ3JhdGlvbkxpbmVMYXlvdXQuY3BwCi1sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdy
YXRpb25QYWdpbmF0aW9uLmNwcAotbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9u
UnVuSXRlcmF0b3IuY3BwCiBsYXlvdXQvaW52YWxpZGF0aW9uL0ludmFsaWRhdGlvbkNvbnRleHQu
Y3BwCiBsYXlvdXQvaW52YWxpZGF0aW9uL0ludmFsaWRhdGlvblN0YXRlLmNwcAogbGF5b3V0L2xh
eW91dHRyZWUvTGF5b3V0Qm94LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDdiYWJkNTM4NzAxYS4uZTRlZDYyNGI0MmI3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CkBAIC0yMTQwLDcgKzIxNDAsNiBAQAogCQk2RjI2QkI2QzIzMzQzRTZGMDAyRjJCRUEgLyogTGF5
b3V0Q29udGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNkYyNkJCNkIyMzM0M0U1QjAwMkYyQkVBIC8qIExheW91dENvbnRleHQuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk2RjI2RUI0ODIzNDAwNEE1
MDA2OTA2RTIgLyogSW5saW5lTGluZUJ1aWxkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZGMjZFQjQ2MjM0MDA0QTUwMDY5MDZFMiAvKiBJbmxpbmVM
aW5lQnVpbGRlci5oICovOyB9OwogCQk2RjM2MEU1MDIzOTk5NDIxMDAxNTEyQTcgLyogSW5saW5l
U29mdExpbmVCcmVha0l0ZW0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDZGMzYwRTRFMjM5OTk0MjAwMDE1MTJBNyAvKiBJbmxpbmVTb2Z0TGluZUJyZWFr
SXRlbS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0J
CTZGM0ZCQTk4MjU1NkUzMTMwMDM1MzBGRCAvKiBMYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRl
bnRCdWlsZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA2RjNGQkE5NzI1NTZFMzEyMDAzNTMwRkQgLyogTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250
ZW50QnVpbGRlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTZGNDBEQTgyMjUxMzAzM0EwMEVDMDRCNyAvKiBJbmxpbmVSZWN0LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2RjQwREE4MTI1MTMwMzNBMDBF
QzA0QjcgLyogSW5saW5lUmVjdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTZGNDlDM0U3MjY0NzlCM0MwMDUxOTUzRCAvKiBUYWJsZUZvcm1hdHRp
bmdRdWlya3MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDZGNDlDM0U2MjY0NzlCM0IwMDUxOTUzRCAvKiBUYWJsZUZvcm1hdHRpbmdRdWlya3MuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk2RjU2QjQ0NzI2
NDc5RTYyMDBBQUUyNTcgLyogRm9ybWF0dGluZ1F1aXJrcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkY1NkI0NDYyNjQ3OUU2MTAwQUFFMjU3IC8qIEZv
cm1hdHRpbmdRdWlya3MuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwpAQCAtMjE2NCwxMyArMjE2MywxMSBAQAogCQk2RkE0NDU0RTg5OEYyRkMxNjhCQzM4
QzEgLyogSlNCZWZvcmVVbmxvYWRFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMjlFMDRBMjdCRUQyRjgxRjk4RTkwMjJCIC8qIEpTQmVmb3JlVW5s
b2FkRXZlbnQuaCAqLzsgfTsKIAkJNkZCMTFCNUMyMTc4M0ZEMDAwRTJBNTc0IC8qIFRleHRVdGls
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2RkIxMUI1
OTIxNzgzRkNGMDBFMkE1NzQgLyogVGV4dFV0aWwuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk2RkIyNDAwNTIzREZGMTI4MDA3OTY0NTggLyogSW5s
aW5lTGluZUJveC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNkZCMjQwMDMyM0RGRjEyNzAwNzk2NDU4IC8qIElubGluZUxpbmVCb3guaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk2RkI0N0U2MzIyNzc0MjVB
MDBDN0JDQjAgLyogTGF5b3V0SW50ZWdyYXRpb25MaW5lLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2RkI0N0U2MTIyNzc0MjVBMDBDN0JDQjAgLyogTGF5
b3V0SW50ZWdyYXRpb25MaW5lLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJNkZCNUUyMTQyMjFGMjQ1MzAwMzk4OUNGIC8qIENvbnRlbnRDaGFuZ2VP
YnNlcnZlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NkZCNUUyMTIyMjFGMjQ0NzAwMzk4OUNGIC8qIENvbnRlbnRDaGFuZ2VPYnNlcnZlci5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTZGQjdEMkREMjUw
RkQ4MjgwMDAyMDdBQSAvKiBGbGV4Rm9ybWF0dGluZ0NvbnRleHQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZGQjdEMkQ5MjUwRkQ3RkMwMDAyMDdBQSAv
KiBGbGV4Rm9ybWF0dGluZ0NvbnRleHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQk2RkI3RDJERTI1MEZEODJFMDAwMjA3QUEgLyogRmxleEZvcm1h
dHRpbmdTdGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNkZCN0QyREEyNTBGRDdGQzAwMDIwN0FBIC8qIEZsZXhGb3JtYXR0aW5nU3RhdGUuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk2RkMzRjk0NzI1
MTY3NTY3MDBBNDlCRUEgLyogSW5saW5lTGluZVJ1bi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkZDM0Y5NDUyNTE2NzU2NjAwQTQ5QkVBIC8qIElubGlu
ZUxpbmVSdW4uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQk2RkNCREI5NzI2NURGMkM4MDAyMUVBN0IgLyogTGF5b3V0Q29udGFpbmluZ0Jsb2NrQ2hh
aW5JdGVyYXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNkZDQkRCOTUyNjVERjJDNzAwMjFFQTdCIC8qIExheW91dENvbnRhaW5pbmdCbG9ja0NoYWlu
SXRlcmF0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwotCQk2RkNFMUExQTIyNjE4QUJEMDA0RjAzNDMgLyogTGF5b3V0SW50ZWdyYXRpb25SdW4uaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZGQ0UxQTE4MjI2
MThBQjMwMDRGMDM0MyAvKiBMYXlvdXRJbnRlZ3JhdGlvblJ1bi5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTZGRDA5NTQzMjUxMTE1MjIwMDk4ODc3
RCAvKiBMYXlvdXRHZW9tZXRyeVJlY3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDZGRDA5NTQxMjUxMTE1MjIwMDk4ODc3RCAvKiBMYXlvdXRHZW9tZXRy
eVJlY3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQk2RkUxOTgxNzIxNzgzOTdDMDA0NDZGMDggLyogSW5saW5lQ29udGVudEJyZWFrZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZGRTE5ODE1MjE3ODM5
N0MwMDQ0NkYwOCAvKiBJbmxpbmVDb250ZW50QnJlYWtlci5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTZGRTYzNkU4MjY0Nzk2MjkwMEYwOTUxRSAv
KiBJbmxpbmVGb3JtYXR0aW5nUXVpcmtzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA2RkU2MzZFNzI2NDc5NjI5MDBGMDk1MUUgLyogSW5saW5lRm9ybWF0
dGluZ1F1aXJrcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CkBAIC01MTg4LDkgKzUxODUsNiBAQAogCQlFM0ZBMzg2NDFENzE4MTJEMDBBQTU5NTAgLyog
UGVuZGluZ1NjcmlwdENsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRTNGQTM4NjExRDcxNkU3NjAwQUE1OTUwIC8qIFBlbmRpbmdTY3JpcHRDbGll
bnQuaCAqLzsgfTsKIAkJRTQwMUMyNzUxN0NFNTNFQzAwQzQxQTM1IC8qIEVsZW1lbnRJdGVyYXRv
ckFzc2VydGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEU0MDFDMjc0MTdDRTUzRUMwMEM0MUEzNSAvKiBFbGVtZW50SXRlcmF0b3JBc3NlcnRpb25z
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTQw
MUUwQTQxQzNDMEI4MzAwRjM0RDEwIC8qIFN0eWxlQ2hhbmdlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNDAxRTBBMzFDM0MwQjgzMDBGMzREMTAgLyog
U3R5bGVDaGFuZ2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwotCQlFNDAzQjdBMjI1MUIxMTkzMDAxOUU4MDAgLyogTGF5b3V0SW50ZWdyYXRpb25Db3Zl
cmFnZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQw
M0I3QTEyNTFCMTE5MzAwMTlFODAwIC8qIExheW91dEludGVncmF0aW9uQ292ZXJhZ2UuaCAqLzsg
fTsKLQkJRTQwM0I3QTMyNTFCMTFDMTAwMTlFODAwIC8qIExheW91dEludGVncmF0aW9uUGFnaW5h
dGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQz
MTJBQjcyNEIzMjY1NjAwNjc4MzQ5IC8qIExheW91dEludGVncmF0aW9uUGFnaW5hdGlvbi5oICov
OyB9OwotCQlFNDE4MDI1NTIzRDQ1NDlCMDBGRkIwNzEgLyogTGF5b3V0SW50ZWdyYXRpb25Cb3hU
cmVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNDE4
MDI1MzIzRDQ1NDlBMDBGRkIwNzEgLyogTGF5b3V0SW50ZWdyYXRpb25Cb3hUcmVlLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTQxOTA0MUYxQ0M2
NDg2QjAwQzM1RjVEIC8qIEZvbnRTZWxlY3RvckNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQxOTA0MUUxQ0M2NDg2QjAwQzM1RjVEIC8qIEZv
bnRTZWxlY3RvckNsaWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCUU0MjA1MDE3MjE0MTkwMUIwMDY2RUYzQiAvKiBQcm9jZXNzV2FybWluZy5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQyMDUwMTQy
MTQxOTAxQTAwNjZFRjNCIC8qIFByb2Nlc3NXYXJtaW5nLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTQyNEEzOUUxMzMwREYwMTAwQ0Y2REM5IC8q
IExlZ2FjeVRpbGVHcmlkVGlsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRTQyNEEzOUQxMzMwREYwMTAwQ0Y2REM5IC8qIExlZ2FjeVRpbGVHcmlkVGls
ZS5oICovOyB9OwpAQCAtNTIyNSw3ICs1MjE5LDYgQEAKIAkJRTQ0RkExODUxQkNBNkI1QTAwOTFC
NkVGIC8qIENvbXBvc2VkVHJlZUl0ZXJhdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBFNDRGQTE4NDFCQ0E2QjVBMDA5MUI2RUYgLyogQ29tcG9zZWRU
cmVlSXRlcmF0b3IuaCAqLzsgfTsKIAkJRTQ1MUM2MzEyMzk0MDI3OTAwOTkzMTkwIC8qIExheW91
dFVuaXRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2
RjczOTE4QzIxMDZDRUREMDA2QUYyNjIgLyogTGF5b3V0VW5pdHMuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFNDUxQzYzMjIzOTQwMzFBMDA5OTMx
OTAgLyogTWFyZ2luVHlwZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDZGRTdBQTI2MjFDMzdCNjMwMDI5NkRDRCAvKiBNYXJnaW5UeXBlcy5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCUU0NTFDNjM0MjM5
NDA1OEYwMDk5MzE5MCAvKiBMYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0NTFDNjMzMjM5NDA1OEUw
MDk5MzE5MCAvKiBMYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnQuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFNDUzMjJBQzE0MENFMjY3MDA1
QTBGOTIgLyogU2VsZWN0b3JRdWVyeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRTQ1MzIyQUExNDBDRTI2NzAwNUEwRjkyIC8qIFNlbGVjdG9yUXVlcnku
aCAqLzsgfTsKIAkJRTQ1QTZDNzcyNDE3QkE1OTAwNkU0Q0Q1IC8qIFBzZXVkb0NsYXNzQ2hhbmdl
SW52YWxpZGF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBFNDVBNkM3NjI0MTdCQTU5MDA2RTRDRDUgLyogUHNldWRvQ2xhc3NDaGFuZ2VJbnZhbGlk
YXRpb24uaCAqLzsgfTsKIAkJRTQ1QkE2QUEyMzc0OTI2QzAwNERGQzA3IC8qIE1hdGNoZWREZWNs
YXJhdGlvbnNDYWNoZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRTQ1QkE2QTgyMzc0OTI2QjAwNERGQzA3IC8qIE1hdGNoZWREZWNsYXJhdGlvbnNDYWNo
ZS5oICovOyB9OwpAQCAtNTI1NSwxNSArNTI0OCwyNSBAQAogCQlFNDg2M0NGRTIzODQyRTlFMDA5
NzIxNTggLyogUnVsZURhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEU0ODYzQ0ZEMjM4NDJFOUUwMDk3MjE1OCAvKiBSdWxlRGF0YS5oICovOyB9Owog
CQlFNDk0NkVBRjE1NkU2NEREMDBEMzI5N0YgLyogU3R5bGVSdWxlSW1wb3J0LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNDk0NkVBRDE1NkU2NEREMDBE
MzI5N0YgLyogU3R5bGVSdWxlSW1wb3J0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTQ5QkQ5RkExMzFGRDJFRDAwM0M1NkYwIC8qIENTU1ZhbHVl
UG9vbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQ5
QkQ5RjkxMzFGRDJFRDAwM0M1NkYwIC8qIENTU1ZhbHVlUG9vbC5oICovOyB9OwotCQlFNEE2NjRD
QzI1MjFENEFGMDA3MDgxREMgLyogTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTRBNjY0QzYyNTIxQjc3
ODAwNzA4MURDIC8qIExheW91dEludGVncmF0aW9uUnVuSXRlcmF0b3IuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQlFNEE2NjRDRTI1MjFENEM5MDA3
MDgxREMgLyogTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvck1vZGVyblBhdGguaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0QTY2NEM0MjUyMUI3Nzcw
MDcwODFEQyAvKiBMYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yTW9kZXJuUGF0aC5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCUU0QTY2NENGMjUy
MUQ0RTIwMDcwODFEQyAvKiBMYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yTGVnYWN5UGF0aC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTRBNjY0QzUy
NTIxQjc3ODAwNzA4MURDIC8qIExheW91dEludGVncmF0aW9uUnVuSXRlcmF0b3JMZWdhY3lQYXRo
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTRB
Nzk5NTIyMEVFNEIxNDAwQzE5NTY4IC8qIENTU1BhcnNlckNvbnRleHQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0QTc5OTRFMjBFRTRBRTEwMEMxOTU2
OCAvKiBDU1NQYXJzZXJDb250ZXh0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJRTRBODE0RDQxQzZERUM0MDAwQkY4NUFDIC8qIENsYXNzQ2hhbmdl
SW52YWxpZGF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBFNEE4MTREMzFDNkRFQzQwMDBCRjg1QUMgLyogQ2xhc3NDaGFuZ2VJbnZhbGlkYXRpb24u
aCAqLzsgfTsKIAkJRTRBODE0REExQzcwRTEwRDAwQkY4NUFDIC8qIEF0dHJpYnV0ZUNoYW5nZUlu
dmFsaWRhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRTRBODE0RDkxQzcwRTEwRDAwQkY4NUFDIC8qIEF0dHJpYnV0ZUNoYW5nZUludmFsaWRhdGlv
bi5oICovOyB9OwogCQlFNEE4MTRFMDFDNzMzOEVCMDBCRjg1QUMgLyogSWRDaGFuZ2VJbnZhbGlk
YXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0
QTgxNERGMUM3MzM4RUIwMEJGODVBQyAvKiBJZENoYW5nZUludmFsaWRhdGlvbi5oICovOyB9Owog
CQlFNEE4RDIxNjIyNTc4REI3MDBBODQ2M0MgLyogRXZlbnRSZWdpb24uaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0QThEMjE0MjI1NzhEQTAwMEE4NDYz
QyAvKiBFdmVudFJlZ2lvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07Ci0JCUU0QUJBQkREMjM2MDg4RkUwMEZBNDM0NSAvKiBMYXlvdXRJbnRlZ3JhdGlv
bkxpbmVMYXlvdXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEU0QUJBQkRCMjM2MDg4RkQwMEZBNDM0NSAvKiBMYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlv
dXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlF
NEFBRjM3MzI2ODBCQjk3MDAzQzU2NzkgLyogTGF5b3V0QnJpZGdlUnVuSXRlcmF0b3JMZWdhY3lQ
YXRoLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNEFB
RjM2RTI2ODBCQTRBMDAzQzU2NzkgLyogTGF5b3V0QnJpZGdlUnVuSXRlcmF0b3JMZWdhY3lQYXRo
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJRTRB
QUYzNzQyNjgwQkI5NzAwM0M1Njc5IC8qIExheW91dEJyaWRnZVJ1bkl0ZXJhdG9yTW9kZXJuUGF0
aC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTRBQUYz
NjYyNjgwQkE0QTAwM0M1Njc5IC8qIExheW91dEJyaWRnZVJ1bkl0ZXJhdG9yTW9kZXJuUGF0aC5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUU0QUFG
Mzc1MjY4MEJCOTcwMDNDNTY3OSAvKiBMYXlvdXRCcmlkZ2VSdW5JdGVyYXRvci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTRBQUYzNjgyNjgwQkE0QTAw
M0M1Njc5IC8qIExheW91dEJyaWRnZVJ1bkl0ZXJhdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJRTRBQUYzNzYyNjgwQkJBNzAwM0M1Njc5IC8q
IExheW91dEJyaWRnZVBhZ2luYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEU0QUFGMzZBMjY4MEJBNEEwMDNDNTY3OSAvKiBMYXlvdXRCcmlkZ2VQ
YWdpbmF0aW9uLmggKi87IH07CisJCUU0QUFGMzc3MjY4MEJCQTcwMDNDNTY3OSAvKiBMYXlvdXRC
cmlkZ2VSdW4uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEU0QUFGMzZEMjY4MEJBNEEwMDNDNTY3OSAvKiBMYXlvdXRCcmlkZ2VSdW4uaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlFNEFBRjM3ODI2ODBCQkFC
MDAzQzU2NzkgLyogTGF5b3V0QnJpZGdlTGluZUxheW91dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTRBQUYzNUQyNjgwQkE0QTAwM0M1Njc5IC8qIExh
eW91dEJyaWRnZUxpbmVMYXlvdXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQlFNEFBRjM3OTI2ODBCQkFFMDAzQzU2NzkgLyogTGF5b3V0QnJpZGdl
TGluZUl0ZXJhdG9yTW9kZXJuUGF0aC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRTRBQUYzNkMyNjgwQkE0QTAwM0M1Njc5IC8qIExheW91dEJyaWRnZUxp
bmVJdGVyYXRvck1vZGVyblBhdGguaCAqLzsgfTsKKwkJRTRBQUYzN0EyNjgwQkJBRTAwM0M1Njc5
IC8qIExheW91dEJyaWRnZUxpbmVJdGVyYXRvckxlZ2FjeVBhdGguaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0QUFGMzY0MjY4MEJBNEEwMDNDNTY3OSAv
KiBMYXlvdXRCcmlkZ2VMaW5lSXRlcmF0b3JMZWdhY3lQYXRoLmggKi87IH07CisJCUU0QUFGMzdC
MjY4MEJCQUUwMDNDNTY3OSAvKiBMYXlvdXRCcmlkZ2VMaW5lSXRlcmF0b3IuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0QUFGMzcyMjY4MEJBNEEwMDND
NTY3OSAvKiBMYXlvdXRCcmlkZ2VMaW5lSXRlcmF0b3IuaCAqLzsgfTsKKwkJRTRBQUYzN0MyNjgw
QkJCMjAwM0M1Njc5IC8qIExheW91dEJyaWRnZUlubGluZUNvbnRlbnRCdWlsZGVyLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNEFBRjM2NzI2ODBCQTRB
MDAzQzU2NzkgLyogTGF5b3V0QnJpZGdlSW5saW5lQ29udGVudEJ1aWxkZXIuaCAqLzsgfTsKKwkJ
RTRBQUYzN0QyNjgwQkJCMjAwM0M1Njc5IC8qIExheW91dEJyaWRnZUxpbmUuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0QUFGMzZGMjY4MEJBNEEwMDND
NTY3OSAvKiBMYXlvdXRCcmlkZ2VMaW5lLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJRTRBQUYzN0UyNjgwQkJCNDAwM0M1Njc5IC8qIExheW91dEJy
aWRnZUlubGluZUNvbnRlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEU0QUFGMzY1MjY4MEJBNEEwMDNDNTY3OSAvKiBMYXlvdXRCcmlkZ2VJbmxpbmVD
b250ZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
KwkJRTRBQUYzN0YyNjgwQkJCNzAwM0M1Njc5IC8qIExheW91dEJyaWRnZUNvdmVyYWdlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNEFBRjM1RjI2ODBC
QTRBMDAzQzU2NzkgLyogTGF5b3V0QnJpZGdlQ292ZXJhZ2UuaCAqLzsgfTsKKwkJRTRBQUYzODAy
NjgwQkJCQjAwM0M1Njc5IC8qIExheW91dEJyaWRnZUJveFRyZWUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0QUFGMzVFMjY4MEJBNEEwMDNDNTY3OSAv
KiBMYXlvdXRCcmlkZ2VCb3hUcmVlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJRTRBQkFCRTQyMzYxQTMyOTAwRkE0MzQ1IC8qIFByb3BlcnR5Q2Fz
Y2FkZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTRB
QkFCRTIyMzYxQTMyOTAwRkE0MzQ1IC8qIFByb3BlcnR5Q2FzY2FkZS5oICovOyB9OwogCQlFNEFC
QUJGMzIzNjhCOTU5MDBGQTQzNDUgLyogU3R5bGVCdWlsZGVyU3RhdGUuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0QUJBQkYyMjM2OEI5NTgwMEZBNDM0
NSAvKiBTdHlsZUJ1aWxkZXJTdGF0ZS5oICovOyB9OwogCQlFNEFCQUJGNTIzNjhDNkVGMDBGQTQz
NDUgLyogQ2FzY2FkZUxldmVsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBFNEFCQUJGNDIzNjhDNkVGMDBGQTQzNDUgLyogQ2FzY2FkZUxldmVsLmggKi87
IH07CkBAIC01Mjg2LDkgKzUyODksNiBAQAogCQlFNEM5MUEwRTE4MDIzNDMxMDBBMTdGNkQgLyog
VGV4dFBhaW50U3R5bGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEU0QzkxQTBEMTgwMjM0MzEwMEExN0Y2RCAvKiBUZXh0UGFpbnRTdHlsZS5oICovOyB9
OwogCQlFNEM5MUExNjE4MDk5OUYxMDBBMTdGNkQgLyogUmVuZGVyVGV4dExpbmVCb3hlcy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTRDOTFBMTUxODA5
OTlGMTAwQTE3RjZEIC8qIFJlbmRlclRleHRMaW5lQm94ZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFNEQzM0YzQjI1MkFFRUNEMDA4MzdEMDUg
LyogSW5saW5lUnVuQW5kT2Zmc2V0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBFNEQzM0YzOTI1MkFFRUNDMDA4MzdEMDUgLyogSW5saW5lUnVuQW5kT2Zm
c2V0LmggKi87IH07Ci0JCUU0RDMzRjQxMjUyQzRCODMwMDgzN0QwNSAvKiBMYXlvdXRJbnRlZ3Jh
dGlvbkxpbmVJdGVyYXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRTREMzNGM0YyNTJDNEI4MjAwODM3RDA1IC8qIExheW91dEludGVncmF0aW9uTGlu
ZUl0ZXJhdG9yLmggKi87IH07Ci0JCUU0RDMzRjQ0MjUyQzUwRTIwMDgzN0QwNSAvKiBMYXlvdXRJ
bnRlZ3JhdGlvbkxpbmVJdGVyYXRvckxlZ2FjeVBhdGguaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0RDMzRjQzMjUyQzUwRTIwMDgzN0QwNSAvKiBMYXlv
dXRJbnRlZ3JhdGlvbkxpbmVJdGVyYXRvckxlZ2FjeVBhdGguaCAqLzsgfTsKLQkJRTREMzNGNDYy
NTJDNTBGQzAwODM3RDA1IC8qIExheW91dEludGVncmF0aW9uTGluZUl0ZXJhdG9yTW9kZXJuUGF0
aC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTREMzNG
NDUyNTJDNTBGQjAwODM3RDA1IC8qIExheW91dEludGVncmF0aW9uTGluZUl0ZXJhdG9yTW9kZXJu
UGF0aC5oICovOyB9OwogCQlFNEQ1OEVCNTE3QjREQkRDMDBDQkRDQTggLyogU3R5bGVSZXNvbHZl
Rm9yRG9jdW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEU0RDU4RUIzMTdCNERCREMwMENCRENBOCAvKiBTdHlsZVJlc29sdmVGb3JEb2N1bWVudC5o
ICovOyB9OwogCQlFNEQ1OEVCOTE3QjRFRDg5MDBDQkRDQTggLyogU3R5bGVGb250U2l6ZUZ1bmN0
aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTRE
NThFQjcxN0I0RUQ4OTAwQ0JEQ0E4IC8qIFN0eWxlRm9udFNpemVGdW5jdGlvbnMuaCAqLzsgfTsK
IAkJRTRENThFQkIxN0I4RjEyODAwQ0JEQ0E4IC8qIEVsZW1lbnRUcmF2ZXJzYWwuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0RDU4RUJBMTdCOEYxMjgw
MENCRENBOCAvKiBFbGVtZW50VHJhdmVyc2FsLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTEwMDE0LDggKzEwMDE0LDYgQEAKIAkJNkYyNkVCNDYy
MzQwMDRBNTAwNjkwNkUyIC8qIElubGluZUxpbmVCdWlsZGVyLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IElubGluZUxpbmVCdWlsZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTZGMzVFRkFGMjE4N0NCRDUwMDQ0RTBGNCAvKiBJbmxpbmVGb3JtYXR0aW5nR2Vv
bWV0cnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW5saW5lRm9y
bWF0dGluZ0dlb21ldHJ5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkYzNjBF
NEUyMzk5OTQyMDAwMTUxMkE3IC8qIElubGluZVNvZnRMaW5lQnJlYWtJdGVtLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElubGluZVNvZnRMaW5lQnJlYWtJdGVtLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTZGM0ZCQTk2MjU1NkUzMDgwMDM1MzBGRCAvKiBMYXlv
dXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IExheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwotCQk2RjNGQkE5NzI1NTZFMzEyMDAzNTMwRkQgLyogTGF5b3V0SW50ZWdy
YXRpb25JbmxpbmVDb250ZW50QnVpbGRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBMYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTZGNDBEQTgxMjUxMzAzM0EwMEVDMDRCNyAvKiBJbmxpbmVSZWN0
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElubGluZVJlY3QuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkY0OUMzRTYyNjQ3OUIzQjAwNTE5NTNEIC8qIFRhYmxl
Rm9ybWF0dGluZ1F1aXJrcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUYWJs
ZUZvcm1hdHRpbmdRdWlya3MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkY0QTVC
RDUyMkY5RjE2QjAwQTgwRjI1IC8qIExheW91dFBoYXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IExheW91dFBoYXNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEwMDY4LDcg
KzEwMDY2LDYgQEAKIAkJNkZCMTFCNUIyMTc4M0ZDRjAwRTJBNTc0IC8qIFRleHRVdGlsLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRleHRVdGlsLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkZCMjJFMzAyMzAwOTdFMzAwQzIwODY2IC8qIFRhYmxl
R3JpZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBUYWJsZUdyaWQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNkZCMjQwMDMyM0RGRjEyNzAwNzk2NDU4IC8qIElubGluZUxpbmVCb3guaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5saW5lTGluZUJveC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwotCQk2RkI0N0U2MTIyNzc0MjVBMDBDN0JDQjAgLyogTGF5b3V0SW50
ZWdyYXRpb25MaW5lLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExheW91dElu
dGVncmF0aW9uTGluZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2RkI1RTIxMjIy
MUYyNDQ3MDAzOTg5Q0YgLyogQ29udGVudENoYW5nZU9ic2VydmVyLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IENvbnRlbnRDaGFuZ2VPYnNlcnZlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2
RkI3RDJENzI1MEZEN0U1MDAwMjA3QUEgLyogRmxleEZvcm1hdHRpbmdDb250ZXh0LmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEZsZXhGb3JtYXR0aW5nQ29udGV4dC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTZGQjdEMkQ4MjUwRkQ3RUYwMDAyMDdBQSAvKiBGbGV4Rm9ybWF0dGlu
Z1N0YXRlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZsZXhGb3JtYXR0aW5nU3RhdGUuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTAwODIsNyArMTAwNzksNiBAQAogCQk2RkM1
Q0E5NTIyRTM1OTk0MDBCMTNFMTEgLyogVGFibGVGb3JtYXR0aW5nQ29udGV4dC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBUYWJsZUZvcm1hdHRpbmdDb250ZXh0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTZGQzVDQTk2MjJFMzU5OTUwMEIxM0UxMSAvKiBUYWJsZUZvcm1hdHRpbmdTdGF0ZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBUYWJsZUZvcm1hdHRpbmdTdGF0ZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk2RkNCREI5NTI2NURGMkM3MDAyMUVBN0IgLyogTGF5b3V0Q29udGFpbmlu
Z0Jsb2NrQ2hhaW5JdGVyYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBM
YXlvdXRDb250YWluaW5nQmxvY2tDaGFpbkl0ZXJhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07Ci0JCTZGQ0UxQTE4MjI2MThBQjMwMDRGMDM0MyAvKiBMYXlvdXRJbnRlZ3JhdGlvblJ1
bi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBMYXlvdXRJbnRlZ3JhdGlvblJ1bi5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk2RkQwOTU0MTI1MTExNTIyMDA5ODg3N0QgLyogTGF5b3V0R2VvbWV0
cnlSZWN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExheW91dEdlb21ldHJ5
UmVjdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2RkUxOTgxMzIxNzgzOTdCMDA0
NDZGMDggLyogSW5saW5lQ29udGVudEJyZWFrZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSW5saW5lQ29udGVudEJyZWFrZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk2RkUxOTgxNTIxNzgzOTdDMDA0NDZGMDggLyogSW5saW5lQ29udGVudEJy
ZWFrZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5saW5lQ29udGVudEJy
ZWFrZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE2NTM3LDExICsxNjUzMyw3
IEBACiAJCUU0MDFDMjc0MTdDRTUzRUMwMEM0MUEzNSAvKiBFbGVtZW50SXRlcmF0b3JBc3NlcnRp
b25zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEVsZW1lbnRJdGVyYXRvckFz
c2VydGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTQwMUUwQTMxQzNDMEI4
MzAwRjM0RDEwIC8qIFN0eWxlQ2hhbmdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFN0eWxlQ2hhbmdlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0MDFFMEE1
MUMzQzBDRjcwMEYzNEQxMCAvKiBTdHlsZUNoYW5nZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBTdHlsZUNoYW5nZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07Ci0JCUU0MDNCNzlGMjUxQjExOEIwMDE5RTgwMCAvKiBMYXlvdXRJbnRlZ3JhdGlvbkNvdmVy
YWdlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExheW91dEludGVncmF0aW9uQ292ZXJhZ2UuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlFNDAzQjdBMTI1MUIxMTkzMDAxOUU4MDAg
LyogTGF5b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBMYXlvdXRJbnRlZ3JhdGlvbkNvdmVyYWdlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUU0MDZGM0ZCMTE5ODMwN0QwMDlENTlENiAvKiBDb2xvckRhdGEuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gQ29sb3JEYXRhLmNwcDsgcGF0aCA9IERl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvQ29sb3JEYXRhLmNwcDsgc291cmNlVHJlZSA9IEJVSUxUX1BS
T0RVQ1RTX0RJUjsgfTsKLQkJRTQxODAyNTMyM0Q0NTQ5QTAwRkZCMDcxIC8qIExheW91dEludGVn
cmF0aW9uQm94VHJlZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMYXlvdXRJ
bnRlZ3JhdGlvbkJveFRyZWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRTQxODAy
NTYyM0Q0NTRCNTAwRkZCMDcxIC8qIExheW91dEludGVncmF0aW9uQm94VHJlZS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBMYXlvdXRJbnRlZ3JhdGlvbkJveFRyZWUuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlFNDE5MDQxRTFDQzY0ODZCMDBDMzVGNUQgLyogRm9udFNlbGVjdG9y
Q2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZvbnRTZWxlY3RvckNs
aWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNDFFQTAzODExOTgzNkRCMDA3
MTBCQzUgLyogQ1NTUHJvcGVydHlOYW1lcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IG5hbWUgPSBDU1NQcm9wZXJ0eU5hbWVzLmNwcDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvQ1NTUHJvcGVydHlOYW1lcy5jcHA7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19E
SVI7IH07CiAJCUU0MUVBMDM5MTE5ODM3NDkwMDcxMEJDNSAvKiBDU1NWYWx1ZUtleXdvcmRzLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IENTU1ZhbHVlS2V5d29yZHMu
Y3BwOyBwYXRoID0gRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9DU1NWYWx1ZUtleXdvcmRzLmNwcDsg
c291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKQEAgLTE2NTU1LDggKzE2NTQ3LDYg
QEAKIAkJRTQyRTc2REIxQzdBRjc3NjAwRTM2MTREIC8qIFN0eWxlVXBkYXRlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0eWxlVXBkYXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUU0MzEwNUI3MTY3NTBGMEMwMERCMkZCOCAvKiBOb2RlVHJhdmVyc2FsLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE5vZGVUcmF2ZXJzYWwuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNDMxMDVCQTE2NzUwRjE2MDBEQjJGQjgg
LyogTm9kZVRyYXZlcnNhbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOb2Rl
VHJhdmVyc2FsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUU0MzEyQUI1MjRCMzI2
NTYwMDY3ODM0OSAvKiBMYXlvdXRJbnRlZ3JhdGlvblBhZ2luYXRpb24uY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTGF5b3V0SW50ZWdyYXRpb25QYWdpbmF0aW9uLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRTQzMTJBQjcyNEIzMjY1NjAwNjc4MzQ5
IC8qIExheW91dEludGVncmF0aW9uUGFnaW5hdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBMYXlvdXRJbnRlZ3JhdGlvblBhZ2luYXRpb24uaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJRTQzQTAyM0ExN0VCMzcwQTAwNENERDI1IC8qIFJlbmRlckVsZW1lbnQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVyRWxlbWVudC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNDNBMDIzQzE3RUIzNzEzMDA0Q0REMjUgLyogUmVu
ZGVyRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5k
ZXJFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTQzQUY4RTQxQUM1
QjdERDAwQ0E3MTdFIC8qIENhY2hlVmFsaWRhdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBDYWNoZVZhbGlkYXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtMTY1OTcsNyArMTY1ODcsNiBAQAogCQlFNDRFRTNBNzE3NTc2RTU1MDBFRUU4
Q0YgLyogRm9udEdlbmVyaWNGYW1pbGllcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGb250R2VuZXJpY0Zh
bWlsaWVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0NEZBMTg0MUJDQTZCNUEw
MDkxQjZFRiAvKiBDb21wb3NlZFRyZWVJdGVyYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBDb21wb3NlZFRyZWVJdGVyYXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlFNDRGQTE4NjFCQ0E5MTU2MDA5MUI2RUYgLyogQ29tcG9zZWRUcmVlSXRlcmF0b3Iu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ29tcG9zZWRUcmVlSXRl
cmF0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlFNDUxQzYzMzIzOTQwNThF
MDA5OTMxOTAgLyogTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNDUzMjJBOTE0MENFMjY3MDA1QTBGOTIgLyog
U2VsZWN0b3JRdWVyeS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBT
ZWxlY3RvclF1ZXJ5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTQ1MzIyQUEx
NDBDRTI2NzAwNUEwRjkyIC8qIFNlbGVjdG9yUXVlcnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gU2VsZWN0b3JRdWVyeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlFNDUzOTAxOTBFQUZDQUNBMDAzNjk1QzggLyogUGFzdGVib2FyZElPUy5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFBhc3RlYm9hcmRJT1MubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNjY1NiwxMCArMTY2NDUsNiBAQAogCQlFNEEwMDc4NDFC
ODIwRUQzMDAyQzVBNkUgLyogRGF0YVVSTERlY29kZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gRGF0YVVSTERlY29kZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlFNEExODIyRjFGMTNCRTU4MDBGRUY2OTggLyogU3R5bGVJbnZhbGlkYXRpb25G
dW5jdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3R5bGVJbnZhbGlkYXRpb25GdW5jdGlvbnMuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTRBMUFDNzgyMkZBRkQ1MDAwMTdCNzVCIC8q
IExlZ2FjeUxpbmVMYXlvdXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTGVn
YWN5TGluZUxheW91dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlFNEE2NjRDNDI1
MjFCNzc3MDA3MDgxREMgLyogTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvck1vZGVyblBhdGgu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTGF5b3V0SW50ZWdyYXRpb25SdW5J
dGVyYXRvck1vZGVyblBhdGguaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRTRBNjY0
QzUyNTIxQjc3ODAwNzA4MURDIC8qIExheW91dEludGVncmF0aW9uUnVuSXRlcmF0b3JMZWdhY3lQ
YXRoLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExheW91dEludGVncmF0aW9u
UnVuSXRlcmF0b3JMZWdhY3lQYXRoLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUU0
QTY2NEM2MjUyMUI3NzgwMDcwODFEQyAvKiBMYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExheW91dEludGVncmF0aW9uUnVuSXRl
cmF0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRTRBNjY0QzcyNTIxQjc3OTAw
NzA4MURDIC8qIExheW91dEludGVncmF0aW9uUnVuSXRlcmF0b3IuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0QTc5OTRFMjBFRTRBRTEwMEMxOTU2OCAv
KiBDU1NQYXJzZXJDb250ZXh0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IENT
U1BhcnNlckNvbnRleHQuaDsgcGF0aCA9IHBhcnNlci9DU1NQYXJzZXJDb250ZXh0Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0QTc5OTUwMjBFRTRBRTIwMEMxOTU2OCAvKiBDU1NQ
YXJzZXJDb250ZXh0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IENT
U1BhcnNlckNvbnRleHQuY3BwOyBwYXRoID0gcGFyc2VyL0NTU1BhcnNlckNvbnRleHQuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNEE4MTREMzFDNkRFQzQwMDBCRjg1QUMgLyog
Q2xhc3NDaGFuZ2VJbnZhbGlkYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gQ2xhc3NDaGFuZ2VJbnZhbGlkYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTE2NjcwLDggKzE2NjU1LDI4IEBACiAJCUU0QTgxNERGMUM3MzM4RUIwMEJGODVBQyAvKiBJ
ZENoYW5nZUludmFsaWRhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJ
ZENoYW5nZUludmFsaWRhdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNEE4
RDIxNDIyNTc4REEwMDBBODQ2M0MgLyogRXZlbnRSZWdpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gRXZlbnRSZWdpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJRTRBOEQyMTUyMjU3OERBMDAwQTg0NjNDIC8qIEV2ZW50UmVnaW9uLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEV2ZW50UmVnaW9uLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJRTRBQkFCREIyMzYwODhGRDAwRkE0MzQ1IC8qIExheW91dEludGVn
cmF0aW9uTGluZUxheW91dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMYXlv
dXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJ
RTRBQkFCREUyMzYwODkzRDAwRkE0MzQ1IC8qIExheW91dEludGVncmF0aW9uTGluZUxheW91dC5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMYXlvdXRJbnRlZ3JhdGlv
bkxpbmVMYXlvdXQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFNEFBRjM1RDI2
ODBCQTRBMDAzQzU2NzkgLyogTGF5b3V0QnJpZGdlTGluZUxheW91dC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBMYXlvdXRCcmlkZ2VMaW5lTGF5b3V0Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUU0QUFGMzVFMjY4MEJBNEEwMDNDNTY3OSAvKiBMYXlvdXRCcmlk
Z2VCb3hUcmVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExheW91dEJyaWRn
ZUJveFRyZWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTRBQUYzNUYyNjgwQkE0
QTAwM0M1Njc5IC8qIExheW91dEJyaWRnZUNvdmVyYWdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IExheW91dEJyaWRnZUNvdmVyYWdlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUU0QUFGMzYwMjY4MEJBNEEwMDNDNTY3OSAvKiBMYXlvdXRCcmlkZ2VSdW5JdGVy
YXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMYXlvdXRCcmlk
Z2VSdW5JdGVyYXRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUU0QUFGMzYx
MjY4MEJBNEEwMDNDNTY3OSAvKiBMYXlvdXRCcmlkZ2VMaW5lTGF5b3V0LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExheW91dEJyaWRnZUxpbmVMYXlvdXQuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFNEFBRjM2MjI2ODBCQTRBMDAzQzU2NzkgLyog
TGF5b3V0QnJpZGdlQm94VHJlZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBMYXlvdXRCcmlkZ2VCb3hUcmVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJRTRBQUYzNjMyNjgwQkE0QTAwM0M1Njc5IC8qIExheW91dEJyaWRnZUxpbmVJdGVyYXRvci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMYXlvdXRCcmlkZ2VMaW5l
SXRlcmF0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFNEFBRjM2NDI2ODBC
QTRBMDAzQzU2NzkgLyogTGF5b3V0QnJpZGdlTGluZUl0ZXJhdG9yTGVnYWN5UGF0aC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMYXlvdXRCcmlkZ2VMaW5lSXRlcmF0b3JMZWdh
Y3lQYXRoLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUU0QUFGMzY1MjY4MEJBNEEw
MDNDNTY3OSAvKiBMYXlvdXRCcmlkZ2VJbmxpbmVDb250ZW50LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IExheW91dEJyaWRnZUlubGluZUNvbnRlbnQuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJRTRBQUYzNjYyNjgwQkE0QTAwM0M1Njc5IC8qIExheW91dEJyaWRn
ZVJ1bkl0ZXJhdG9yTW9kZXJuUGF0aC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBMYXlvdXRCcmlkZ2VSdW5JdGVyYXRvck1vZGVyblBhdGguaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJRTRBQUYzNjcyNjgwQkE0QTAwM0M1Njc5IC8qIExheW91dEJyaWRnZUlubGlu
ZUNvbnRlbnRCdWlsZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExheW91
dEJyaWRnZUlubGluZUNvbnRlbnRCdWlsZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUU0QUFGMzY4MjY4MEJBNEEwMDNDNTY3OSAvKiBMYXlvdXRCcmlkZ2VSdW5JdGVyYXRvci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMYXlvdXRCcmlkZ2VSdW5JdGVyYXRv
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFNEFBRjM2OTI2ODBCQTRBMDAzQzU2
NzkgLyogTGF5b3V0QnJpZGdlQ292ZXJhZ2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gTGF5b3V0QnJpZGdlQ292ZXJhZ2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlFNEFBRjM2QTI2ODBCQTRBMDAzQzU2NzkgLyogTGF5b3V0QnJpZGdlUGFnaW5h
dGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMYXlvdXRCcmlkZ2VQYWdp
bmF0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUU0QUFGMzZCMjY4MEJBNEEw
MDNDNTY3OSAvKiBMYXlvdXRCcmlkZ2VJbmxpbmVDb250ZW50QnVpbGRlci5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMYXlvdXRCcmlkZ2VJbmxpbmVDb250ZW50QnVp
bGRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUU0QUFGMzZDMjY4MEJBNEEw
MDNDNTY3OSAvKiBMYXlvdXRCcmlkZ2VMaW5lSXRlcmF0b3JNb2Rlcm5QYXRoLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExheW91dEJyaWRnZUxpbmVJdGVyYXRvck1vZGVyblBh
dGguaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTRBQUYzNkQyNjgwQkE0QTAwM0M1
Njc5IC8qIExheW91dEJyaWRnZVJ1bi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBMYXlvdXRCcmlkZ2VSdW4uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTRBQUYz
NkUyNjgwQkE0QTAwM0M1Njc5IC8qIExheW91dEJyaWRnZVJ1bkl0ZXJhdG9yTGVnYWN5UGF0aC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMYXlvdXRCcmlkZ2VSdW5JdGVyYXRv
ckxlZ2FjeVBhdGguaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTRBQUYzNkYyNjgw
QkE0QTAwM0M1Njc5IC8qIExheW91dEJyaWRnZUxpbmUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gTGF5b3V0QnJpZGdlTGluZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlFNEFBRjM3MDI2ODBCQTRBMDAzQzU2NzkgLyogTGF5b3V0QnJpZGdlUGFnaW5hdGlvbi5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMYXlvdXRCcmlkZ2VQYWdp
bmF0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTRBQUYzNzEyNjgwQkE0
QTAwM0M1Njc5IC8qIExheW91dEJyaWRnZUlubGluZUNvbnRlbnQuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTGF5b3V0QnJpZGdlSW5saW5lQ29udGVudC5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUU0QUFGMzcyMjY4MEJBNEEwMDNDNTY3OSAvKiBM
YXlvdXRCcmlkZ2VMaW5lSXRlcmF0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gTGF5b3V0QnJpZGdlTGluZUl0ZXJhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUU0QUJBQkUyMjM2MUEzMjkwMEZBNDM0NSAvKiBQcm9wZXJ0eUNhc2NhZGUuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHJvcGVydHlDYXNjYWRlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUU0QUJBQkU1MjM2MUEzNDIwMEZBNDM0NSAvKiBQcm9wZXJ0eUNh
c2NhZGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUHJvcGVydHlDYXNjYWRlLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTRBQkFCRjAyMzY4QjkxODAwRkE0MzQ1IC8qIFN0eWxl
QnVpbGRlclN0YXRlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0eWxlQnVpbGRlclN0YXRlLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE2NzI0LDEwICsxNjcyOSw2IEBACiAJ
CUU0QzkxQTE1MTgwOTk5RjEwMEExN0Y2RCAvKiBSZW5kZXJUZXh0TGluZUJveGVzLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRlclRleHRMaW5lQm94ZXMuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTRDOTFBMTcxODA5OTlGQjAwQTE3RjZEIC8qIFJlbmRl
clRleHRMaW5lQm94ZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
UmVuZGVyVGV4dExpbmVCb3hlcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0
RDMzRjM5MjUyQUVFQ0MwMDgzN0QwNSAvKiBJbmxpbmVSdW5BbmRPZmZzZXQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5saW5lUnVuQW5kT2Zmc2V0Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07Ci0JCUU0RDMzRjNGMjUyQzRCODIwMDgzN0QwNSAvKiBMYXlvdXRJbnRl
Z3JhdGlvbkxpbmVJdGVyYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBM
YXlvdXRJbnRlZ3JhdGlvbkxpbmVJdGVyYXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwotCQlFNEQzM0Y0MjI1MkM1MEE4MDA4MzdEMDUgLyogTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRl
cmF0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0
b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlFNEQzM0Y0MzI1MkM1MEUyMDA4
MzdEMDUgLyogTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3JMZWdhY3lQYXRoLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExheW91dEludGVncmF0aW9uTGluZUl0ZXJhdG9y
TGVnYWN5UGF0aC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlFNEQzM0Y0NTI1MkM1
MEZCMDA4MzdEMDUgLyogTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3JNb2Rlcm5QYXRoLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExheW91dEludGVncmF0aW9uTGluZUl0
ZXJhdG9yTW9kZXJuUGF0aC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNEQ1OEVC
MjE3QjREQkRDMDBDQkRDQTggLyogU3R5bGVSZXNvbHZlRm9yRG9jdW1lbnQuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3R5bGVSZXNvbHZlRm9yRG9jdW1lbnQuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNEQ1OEVCMzE3QjREQkRDMDBDQkRDQTgg
LyogU3R5bGVSZXNvbHZlRm9yRG9jdW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gU3R5bGVSZXNvbHZlRm9yRG9jdW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRTRENThFQjYxN0I0RUQ4OTAwQ0JEQ0E4IC8qIFN0eWxlRm9udFNpemVGdW5jdGlvbnMu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3R5bGVGb250U2l6ZUZ1
bmN0aW9ucy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNjc1NSw3ICsxNjc1
Niw2IEBACiAJCUU0RjM4RDFDMjYyNkYxNDQwMDdCMTA2NCAvKiBEZWZhdWx0UmVzb3VyY2VMb2Fk
UHJpb3JpdHkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRGVmYXVs
dFJlc291cmNlTG9hZFByaW9yaXR5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
RTRGOUVFRjAxNTZEODRDNDAwRDIzRTdFIC8qIFN0eWxlU2hlZXRDb250ZW50cy5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTdHlsZVNoZWV0Q29udGVudHMuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNEY5RUVGMTE1NkQ4NEM0MDBEMjNFN0UgLyog
U3R5bGVTaGVldENvbnRlbnRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0
eWxlU2hlZXRDb250ZW50cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlFNEZCNEIz
NTIzOUJFQjEwMDAzQzMzNkEgLyogTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50LmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IExheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudC5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU1MDYyMDgzMjU0MDkxOUIwMEM0MzA5MSAvKiBD
b250YWN0c1JlcXVlc3REYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnRhY3RzUmVxdWVzdERhdGEu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTUxNjY5OEYyMEZGOTkxNjAwOUQyQzI3
IC8qIExpc3RCdXR0b25BcnJvd0AyeC5wbmcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBpbWFnZS5wbmc7IHBhdGggPSAiTGlzdEJ1dHRvbkFycm93QDJ4
LnBuZyI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU1MTc2NzAyMjBCODhDMTQwMEQ0
MTE2NyAvKiBEYXRhTGlzdFN1Z2dlc3Rpb25JbmZvcm1hdGlvbi5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBE
YXRhTGlzdFN1Z2dlc3Rpb25JbmZvcm1hdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMTgzMDUsOSArMTgzMDUsOSBAQAogCQkxMTVDRkE2NjIwOEFGNzIwMDAxRTY5OTEgLyog
bGF5b3V0ICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQlF
NEFBRjM1QzI2ODBCQTRBMDAzQzU2NzkgLyogYnJpZGdlICovLAogCQkJCTZGQ0ZDMDU1MjEyREFD
QzIwMDc2OTVEMiAvKiBmbG9hdHMgKi8sCiAJCQkJNkY4NDRGN0YyNjNEOTE2MTAwRjkxMzcwIC8q
IGZvcm1hdHRpbmdDb250ZXh0cyAqLywKLQkJCQlFNEZCNEIxRTIzOTUzNTZGMDAzQzMzNkEgLyog
aW50ZWdyYXRpb24gKi8sCiAJCQkJNkY5NURFNEEyMzdCODgzMDAwRTUxN0UxIC8qIGludmFsaWRh
dGlvbiAqLywKIAkJCQkxMTVDRkE5MDIwOEI5NDQxMDAxRTY5OTEgLyogbGF5b3V0dHJlZSAqLywK
IAkJCQkxMTVDRkE3NTIwOEFGRTMwMDAxRTY5OTEgLyogRm9ybWF0dGluZ1N0YXRlLmNwcCAqLywK
QEAgLTI5NzI4LDMzICsyOTcyOCwzMyBAQAogCQkJcGF0aCA9IHVwZGF0aW5nOwogCQkJc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKLQkJRTRGQjRCMUUyMzk1MzU2RjAwM0MzMzZBIC8qIGlu
dGVncmF0aW9uICovID0gewotCQkJaXNhID0gUEJYR3JvdXA7Ci0JCQljaGlsZHJlbiA9ICgKLQkJ
CQlFNDE4MDI1NjIzRDQ1NEI1MDBGRkIwNzEgLyogTGF5b3V0SW50ZWdyYXRpb25Cb3hUcmVlLmNw
cCAqLywKLQkJCQlFNDE4MDI1MzIzRDQ1NDlBMDBGRkIwNzEgLyogTGF5b3V0SW50ZWdyYXRpb25C
b3hUcmVlLmggKi8sCi0JCQkJRTQwM0I3OUYyNTFCMTE4QjAwMTlFODAwIC8qIExheW91dEludGVn
cmF0aW9uQ292ZXJhZ2UuY3BwICovLAotCQkJCUU0MDNCN0ExMjUxQjExOTMwMDE5RTgwMCAvKiBM
YXlvdXRJbnRlZ3JhdGlvbkNvdmVyYWdlLmggKi8sCi0JCQkJRTRGQjRCMzUyMzlCRUIxMDAwM0Mz
MzZBIC8qIExheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudC5jcHAgKi8sCi0JCQkJRTQ1MUM2
MzMyMzk0MDU4RTAwOTkzMTkwIC8qIExheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudC5oICov
LAotCQkJCTZGM0ZCQTk2MjU1NkUzMDgwMDM1MzBGRCAvKiBMYXlvdXRJbnRlZ3JhdGlvbklubGlu
ZUNvbnRlbnRCdWlsZGVyLmNwcCAqLywKLQkJCQk2RjNGQkE5NzI1NTZFMzEyMDAzNTMwRkQgLyog
TGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50QnVpbGRlci5oICovLAotCQkJCTZGQjQ3RTYx
MjI3NzQyNUEwMEM3QkNCMCAvKiBMYXlvdXRJbnRlZ3JhdGlvbkxpbmUuaCAqLywKLQkJCQlFNEQz
M0Y0MjI1MkM1MEE4MDA4MzdEMDUgLyogTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3IuY3Bw
ICovLAotCQkJCUU0RDMzRjNGMjUyQzRCODIwMDgzN0QwNSAvKiBMYXlvdXRJbnRlZ3JhdGlvbkxp
bmVJdGVyYXRvci5oICovLAotCQkJCUU0RDMzRjQzMjUyQzUwRTIwMDgzN0QwNSAvKiBMYXlvdXRJ
bnRlZ3JhdGlvbkxpbmVJdGVyYXRvckxlZ2FjeVBhdGguaCAqLywKLQkJCQlFNEQzM0Y0NTI1MkM1
MEZCMDA4MzdEMDUgLyogTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3JNb2Rlcm5QYXRoLmgg
Ki8sCi0JCQkJRTRBQkFCREUyMzYwODkzRDAwRkE0MzQ1IC8qIExheW91dEludGVncmF0aW9uTGlu
ZUxheW91dC5jcHAgKi8sCi0JCQkJRTRBQkFCREIyMzYwODhGRDAwRkE0MzQ1IC8qIExheW91dElu
dGVncmF0aW9uTGluZUxheW91dC5oICovLAotCQkJCUU0MzEyQUI1MjRCMzI2NTYwMDY3ODM0OSAv
KiBMYXlvdXRJbnRlZ3JhdGlvblBhZ2luYXRpb24uY3BwICovLAotCQkJCUU0MzEyQUI3MjRCMzI2
NTYwMDY3ODM0OSAvKiBMYXlvdXRJbnRlZ3JhdGlvblBhZ2luYXRpb24uaCAqLywKLQkJCQk2RkNF
MUExODIyNjE4QUIzMDA0RjAzNDMgLyogTGF5b3V0SW50ZWdyYXRpb25SdW4uaCAqLywKLQkJCQlF
NEE2NjRDNzI1MjFCNzc5MDA3MDgxREMgLyogTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvci5j
cHAgKi8sCi0JCQkJRTRBNjY0QzYyNTIxQjc3ODAwNzA4MURDIC8qIExheW91dEludGVncmF0aW9u
UnVuSXRlcmF0b3IuaCAqLywKLQkJCQlFNEE2NjRDNTI1MjFCNzc4MDA3MDgxREMgLyogTGF5b3V0
SW50ZWdyYXRpb25SdW5JdGVyYXRvckxlZ2FjeVBhdGguaCAqLywKLQkJCQlFNEE2NjRDNDI1MjFC
Nzc3MDA3MDgxREMgLyogTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvck1vZGVyblBhdGguaCAq
LywKKwkJRTRBQUYzNUMyNjgwQkE0QTAwM0M1Njc5IC8qIGJyaWRnZSAqLyA9IHsKKwkJCWlzYSA9
IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJRTRBQUYzNjIyNjgwQkE0QTAwM0M1Njc5
IC8qIExheW91dEJyaWRnZUJveFRyZWUuY3BwICovLAorCQkJCUU0QUFGMzVFMjY4MEJBNEEwMDND
NTY3OSAvKiBMYXlvdXRCcmlkZ2VCb3hUcmVlLmggKi8sCisJCQkJRTRBQUYzNjkyNjgwQkE0QTAw
M0M1Njc5IC8qIExheW91dEJyaWRnZUNvdmVyYWdlLmNwcCAqLywKKwkJCQlFNEFBRjM1RjI2ODBC
QTRBMDAzQzU2NzkgLyogTGF5b3V0QnJpZGdlQ292ZXJhZ2UuaCAqLywKKwkJCQlFNEFBRjM3MTI2
ODBCQTRBMDAzQzU2NzkgLyogTGF5b3V0QnJpZGdlSW5saW5lQ29udGVudC5jcHAgKi8sCisJCQkJ
RTRBQUYzNjUyNjgwQkE0QTAwM0M1Njc5IC8qIExheW91dEJyaWRnZUlubGluZUNvbnRlbnQuaCAq
LywKKwkJCQlFNEFBRjM2QjI2ODBCQTRBMDAzQzU2NzkgLyogTGF5b3V0QnJpZGdlSW5saW5lQ29u
dGVudEJ1aWxkZXIuY3BwICovLAorCQkJCUU0QUFGMzY3MjY4MEJBNEEwMDNDNTY3OSAvKiBMYXlv
dXRCcmlkZ2VJbmxpbmVDb250ZW50QnVpbGRlci5oICovLAorCQkJCUU0QUFGMzZGMjY4MEJBNEEw
MDNDNTY3OSAvKiBMYXlvdXRCcmlkZ2VMaW5lLmggKi8sCisJCQkJRTRBQUYzNjMyNjgwQkE0QTAw
M0M1Njc5IC8qIExheW91dEJyaWRnZUxpbmVJdGVyYXRvci5jcHAgKi8sCisJCQkJRTRBQUYzNzIy
NjgwQkE0QTAwM0M1Njc5IC8qIExheW91dEJyaWRnZUxpbmVJdGVyYXRvci5oICovLAorCQkJCUU0
QUFGMzY0MjY4MEJBNEEwMDNDNTY3OSAvKiBMYXlvdXRCcmlkZ2VMaW5lSXRlcmF0b3JMZWdhY3lQ
YXRoLmggKi8sCisJCQkJRTRBQUYzNkMyNjgwQkE0QTAwM0M1Njc5IC8qIExheW91dEJyaWRnZUxp
bmVJdGVyYXRvck1vZGVyblBhdGguaCAqLywKKwkJCQlFNEFBRjM2MTI2ODBCQTRBMDAzQzU2Nzkg
LyogTGF5b3V0QnJpZGdlTGluZUxheW91dC5jcHAgKi8sCisJCQkJRTRBQUYzNUQyNjgwQkE0QTAw
M0M1Njc5IC8qIExheW91dEJyaWRnZUxpbmVMYXlvdXQuaCAqLywKKwkJCQlFNEFBRjM3MDI2ODBC
QTRBMDAzQzU2NzkgLyogTGF5b3V0QnJpZGdlUGFnaW5hdGlvbi5jcHAgKi8sCisJCQkJRTRBQUYz
NkEyNjgwQkE0QTAwM0M1Njc5IC8qIExheW91dEJyaWRnZVBhZ2luYXRpb24uaCAqLywKKwkJCQlF
NEFBRjM2RDI2ODBCQTRBMDAzQzU2NzkgLyogTGF5b3V0QnJpZGdlUnVuLmggKi8sCisJCQkJRTRB
QUYzNjAyNjgwQkE0QTAwM0M1Njc5IC8qIExheW91dEJyaWRnZVJ1bkl0ZXJhdG9yLmNwcCAqLywK
KwkJCQlFNEFBRjM2ODI2ODBCQTRBMDAzQzU2NzkgLyogTGF5b3V0QnJpZGdlUnVuSXRlcmF0b3Iu
aCAqLywKKwkJCQlFNEFBRjM2RTI2ODBCQTRBMDAzQzU2NzkgLyogTGF5b3V0QnJpZGdlUnVuSXRl
cmF0b3JMZWdhY3lQYXRoLmggKi8sCisJCQkJRTRBQUYzNjYyNjgwQkE0QTAwM0M1Njc5IC8qIExh
eW91dEJyaWRnZVJ1bkl0ZXJhdG9yTW9kZXJuUGF0aC5oICovLAogCQkJKTsKLQkJCXBhdGggPSBp
bnRlZ3JhdGlvbjsKKwkJCXBhdGggPSBicmlkZ2U7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4i
OwogCQl9OwogCQlFNTk2REQyMzI1MTkwMkQ2MDBDMjc1QTcgLyogY29udGFjdC1waWNrZXIgKi8g
PSB7CkBAIC0zMTcxOSw2ICszMTcxOSw3IEBACiAJCQkJNUM1M0RDRUEyNDQ2OEZCNDAwQTkzMTI0
IC8qIEFwcGxlUGF5U2V0dXBXZWJDb3JlLmggaW4gSGVhZGVycyAqLywKIAkJCQk5NUVBRDU3ODI2
NkVGM0E4MDA0QjlDRjEgLyogQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMUE4QTY0NUMxRDE5RkNGQzAwRDBFMDBGIC8qIEFwcGxlUGF5U2hp
cHBpbmdDb250YWN0U2VsZWN0ZWRFdmVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTRBQUYzNzUy
NjgwQkI5NzAwM0M1Njc5IC8qIExheW91dEJyaWRnZVJ1bkl0ZXJhdG9yLmggaW4gSGVhZGVycyAq
LywKIAkJCQlBMTJDNTlGMjIwMzVGQ0Q2MDAxMjIzNkIgLyogQXBwbGVQYXlTaGlwcGluZ0NvbnRh
Y3RVcGRhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDNjU3OUU4MUUwMDgzMTYwMEUzQTI3QSAv
KiBBcHBsZVBheVNoaXBwaW5nTWV0aG9kLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQThBNjQ2MDFE
MTlGQ0ZDMDBEMEUwMEYgLyogQXBwbGVQYXlTaGlwcGluZ01ldGhvZFNlbGVjdGVkRXZlbnQuaCBp
biBIZWFkZXJzICovLApAQCAtMzIxODgsNiArMzIxODksNyBAQAogCQkJCTU3QjVGODA5MUU1RDFB
OTgwMEYzNEY5MCAvKiBDcnlwdG9BbGdvcml0aG1BZXNHY21QYXJhbXMuaCBpbiBIZWFkZXJzICov
LAogCQkJCTU3NzQ4MzEyMURBREM1NUQwMDcxNkVGOSAvKiBDcnlwdG9BbGdvcml0aG1BZXNLZXlQ
YXJhbXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTU3NTBBOTg3MUU2QTIxNjgwMDcwNUM0QSAvKiBD
cnlwdG9BbGdvcml0aG1FQ0RILmggaW4gSGVhZGVycyAqLywKKwkJCQlFNEFBRjM3QTI2ODBCQkFF
MDAzQzU2NzkgLyogTGF5b3V0QnJpZGdlTGluZUl0ZXJhdG9yTGVnYWN5UGF0aC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNTc2ODE0MkExRTZGOTlDMTAwRTc3NzU0IC8qIENyeXB0b0FsZ29yaXRobUVj
ZGhLZXlEZXJpdmVQYXJhbXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTU3RUVBQTQ3MUU5RUQyREQw
MDcwMTEyNCAvKiBDcnlwdG9BbGdvcml0aG1FQ0RTQS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTdF
RUFBNTAxRTlGRkJGQzAwNzAxMTI0IC8qIENyeXB0b0FsZ29yaXRobUVjZHNhUGFyYW1zLmggaW4g
SGVhZGVycyAqLywKQEAgLTMyNjIwLDYgKzMyNjIyLDcgQEAKIAkJCQlGNDAzRTc4NzIzNjNCNThD
MDAwNDQ1NTAgLyogRW50ZXJLZXlIaW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkxRDJGOEUwNDIz
NDQ3NTE2MDA5OTNCNjggLyogRW50ZXJQaWN0dXJlSW5QaWN0dXJlRXZlbnQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUZEMzE2MDkzMTJCMDI2RjcwMEMxQTM1OSAvKiBFcXVhbFBvd2VyUGFubmVyLmgg
aW4gSGVhZGVycyAqLywKKwkJCQlFNEFBRjM3RjI2ODBCQkI3MDAzQzU2NzkgLyogTGF5b3V0QnJp
ZGdlQ292ZXJhZ2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTgzNzFBQzNCMUY1MDlCRTQwMEZCRjI4
NCAvKiBFcnJvckNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRUNGN0FFMjEwMTYyQjU4
MDA0MjdERTcgLyogRXJyb3JFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODUwMzFCNDIwQTQ0
RUZDNzAwRjk5MkUwIC8qIEV2ZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTMyODEyLDYgKzMyODE1
LDcgQEAKIAkJCQkxMTNEMEI1MjFGOUZERDJCMDBGNjExQkIgLyogRnJhbWVWaWV3TGF5b3V0Q29u
dGV4dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTcyMDVBQjAxMjM5MjhDQTAwQjE3MzgwIC8qIEZU
UERpcmVjdG9yeURvY3VtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MUM4MUI4QTBDNDQyMkY3
MDAxOUVDRTMgLyogRlRQRGlyZWN0b3J5UGFyc2VyLmggaW4gSGVhZGVycyAqLywKKwkJCQlFNEFB
RjM3QzI2ODBCQkIyMDAzQzU2NzkgLyogTGF5b3V0QnJpZGdlSW5saW5lQ29udGVudEJ1aWxkZXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCUNEOTJGNTE4MjI2MTAzODIwMEY4N0JCMyAvKiBGdWxsc2Ny
ZWVuTWFuYWdlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMjZCOTk5OTMxODAzQjlEOTAwRDAxMTIx
IC8qIEZ1bmN0aW9uQ2FsbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQzMTYwMEQxMkIwMjY3NjAw
QzFBMzU5IC8qIEdhaW5Ob2RlLmggaW4gSGVhZGVycyAqLywKQEAgLTMzMzQwLDYgKzMzMzQ0LDcg
QEAKIAkJCQlGREExNUVBRTEyQjAzRUUxMDAzQTU4M0EgLyogSlNBdWRpb0xpc3RlbmVyLmggaW4g
SGVhZGVycyAqLywKIAkJCQlGREExNUVCMDEyQjAzRUUxMDAzQTU4M0EgLyogSlNBdWRpb05vZGUu
aCBpbiBIZWFkZXJzICovLAogCQkJCUZEQTE1RUI0MTJCMDNFRTEwMDNBNTgzQSAvKiBKU0F1ZGlv
UGFyYW0uaCBpbiBIZWFkZXJzICovLAorCQkJCUU0QUFGMzc4MjY4MEJCQUIwMDNDNTY3OSAvKiBM
YXlvdXRCcmlkZ2VMaW5lTGF5b3V0LmggaW4gSGVhZGVycyAqLywKIAkJCQlGREExNUVCNjEyQjAz
RUUxMDAzQTU4M0EgLyogSlNBdWRpb1Byb2Nlc3NpbmdFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQkU4RUYwNDMxNzFDOEZGOTAwOUI0OEMzIC8qIEpTQXVkaW9UcmFjay5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQkU4RUYwNDUxNzFDOEZGOTAwOUI0OEMzIC8qIEpTQXVkaW9UcmFja0xpc3QuaCBp
biBIZWFkZXJzICovLApAQCAtMzM1MTEsNiArMzM1MTYsNyBAQAogCQkJCTBGNDcxMEJDMURCNTZC
RTgwMDJEQ0VDMyAvKiBKU0RPTVJlY3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNDcxMEJFMURC
NTZCRTgwMDJEQ0VDMyAvKiBKU0RPTVJlY3RJbml0LmggaW4gSGVhZGVycyAqLywKIAkJCQk0NjZF
RDhEMzFFREUwMTQ0MDA1RTQzRjYgLyogSlNET01SZWN0TGlzdC5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJRTRBQUYzNzQyNjgwQkI5NzAwM0M1Njc5IC8qIExheW91dEJyaWRnZVJ1bkl0ZXJhdG9yTW9k
ZXJuUGF0aC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY0NzEwQzAxREI1NkJFODAwMkRDRUMzIC8q
IEpTRE9NUmVjdFJlYWRPbmx5LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzVBODZCNjBDMzM2N0U4
MDBFRUE2NDkgLyogSlNET01TZWxlY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTQxM0ExQUEy
MjM3MUE4QjQwMDdFRjNBNSAvKiBKU0RPTVNldExpa2UuaCBpbiBIZWFkZXJzICovLApAQCAtMzQw
MzksNiArMzQwNDUsNyBAQAogCQkJCTg0ODUyMjdFMTE5MDE2MkMwMDZFREM3RiAvKiBKU1NWR1ZL
ZXJuRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNzFEQ0I3MDIxNTY4MTk3NjAwODYyMjcx
IC8qIEpTU1ZHWm9vbUFuZFBhbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJGQTNFMTkwQUI3NUE2
RjAwMEU1QUM0IC8qIEpTU1ZHWm9vbUV2ZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlFNEFBRjM4
MDI2ODBCQkJCMDAzQzU2NzkgLyogTGF5b3V0QnJpZGdlQm94VHJlZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNjVERjMyMDQwOUQxQ0M2MDAwMEJFMzI1IC8qIEpTVGV4dC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJOTMzQTE0QjkwQjdEMUQ1MjAwQTUzRkZEIC8qIEpTVGV4dEV2ZW50LmggaW4gSGVhZGVy
cyAqLywKIAkJCQlCQ0VGNDVGNjBFNjg3QjVDMDAxQzEyODcgLyogSlNUZXh0TWV0cmljcy5oIGlu
IEhlYWRlcnMgKi8sCkBAIC0zNDE3NiwyMCArMzQxODMsNiBAQAogCQkJCTZGRDA5NTQzMjUxMTE1
MjIwMDk4ODc3RCAvKiBMYXlvdXRHZW9tZXRyeVJlY3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTZG
NjM4M0Y2MjQyN0FGNEEwMERBQkE1MyAvKiBMYXlvdXRJbml0aWFsQ29udGFpbmluZ0Jsb2NrLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk2RjBCOThCNTIzRjI2OEVDMDBFRUMyRjIgLyogTGF5b3V0SW5s
aW5lVGV4dEJveC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJRTQxODAyNTUyM0Q0NTQ5QjAwRkZCMDcx
IC8qIExheW91dEludGVncmF0aW9uQm94VHJlZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJRTQwM0I3
QTIyNTFCMTE5MzAwMTlFODAwIC8qIExheW91dEludGVncmF0aW9uQ292ZXJhZ2UuaCBpbiBIZWFk
ZXJzICovLAotCQkJCUU0NTFDNjM0MjM5NDA1OEYwMDk5MzE5MCAvKiBMYXlvdXRJbnRlZ3JhdGlv
bklubGluZUNvbnRlbnQuaCBpbiBIZWFkZXJzICovLAotCQkJCTZGM0ZCQTk4MjU1NkUzMTMwMDM1
MzBGRCAvKiBMYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmggaW4gSGVhZGVy
cyAqLywKLQkJCQk2RkI0N0U2MzIyNzc0MjVBMDBDN0JDQjAgLyogTGF5b3V0SW50ZWdyYXRpb25M
aW5lLmggaW4gSGVhZGVycyAqLywKLQkJCQlFNEQzM0Y0MTI1MkM0QjgzMDA4MzdEMDUgLyogTGF5
b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3IuaCBpbiBIZWFkZXJzICovLAotCQkJCUU0RDMzRjQ0
MjUyQzUwRTIwMDgzN0QwNSAvKiBMYXlvdXRJbnRlZ3JhdGlvbkxpbmVJdGVyYXRvckxlZ2FjeVBh
dGguaCBpbiBIZWFkZXJzICovLAotCQkJCUU0RDMzRjQ2MjUyQzUwRkMwMDgzN0QwNSAvKiBMYXlv
dXRJbnRlZ3JhdGlvbkxpbmVJdGVyYXRvck1vZGVyblBhdGguaCBpbiBIZWFkZXJzICovLAotCQkJ
CUU0QUJBQkREMjM2MDg4RkUwMEZBNDM0NSAvKiBMYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQu
aCBpbiBIZWFkZXJzICovLAotCQkJCUU0MDNCN0EzMjUxQjExQzEwMDE5RTgwMCAvKiBMYXlvdXRJ
bnRlZ3JhdGlvblBhZ2luYXRpb24uaCBpbiBIZWFkZXJzICovLAotCQkJCTZGQ0UxQTFBMjI2MThB
QkQwMDRGMDM0MyAvKiBMYXlvdXRJbnRlZ3JhdGlvblJ1bi5oIGluIEhlYWRlcnMgKi8sCi0JCQkJ
RTRBNjY0Q0MyNTIxRDRBRjAwNzA4MURDIC8qIExheW91dEludGVncmF0aW9uUnVuSXRlcmF0b3Iu
aCBpbiBIZWFkZXJzICovLAotCQkJCUU0QTY2NENGMjUyMUQ0RTIwMDcwODFEQyAvKiBMYXlvdXRJ
bnRlZ3JhdGlvblJ1bkl0ZXJhdG9yTGVnYWN5UGF0aC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJRTRB
NjY0Q0UyNTIxRDRDOTAwNzA4MURDIC8qIExheW91dEludGVncmF0aW9uUnVuSXRlcmF0b3JNb2Rl
cm5QYXRoLmggaW4gSGVhZGVycyAqLywKIAkJCQkxMTMxMENGNDIwQkE0QTNEMDA2NUE4RDAgLyog
TGF5b3V0SXRlcmF0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTZGRkE0QzAxMjNGMkZFRDkwMDdF
NEVCQyAvKiBMYXlvdXRMaW5lQnJlYWtCb3guaCBpbiBIZWFkZXJzICovLAogCQkJCTkzMUQ3MkY2
MTVGRTY5NTMwMEM0QzA3RSAvKiBMYXlvdXRNaWxlc3RvbmUuaCBpbiBIZWFkZXJzICovLApAQCAt
MzQyNjIsMTEgKzM0MjU1LDEzIEBACiAJCQkJNjU2RDM3MzIwQURCQTVERTAwQTQ1NTREIC8qIExv
YWRlck5TVVJMRXh0cmFzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MUU2ODIxMDE2Mzg3MzAyMDAz
QkJGM0MgLyogTG9hZGVyU3RyYXRlZ3kuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0N0ZDOEEzMjVC
ODRENzIwMDU0OTVGQyAvKiBMb2FkU2NoZWR1bGluZ01vZGUuaCBpbiBIZWFkZXJzICovLAorCQkJ
CUU0QUFGMzc5MjY4MEJCQUUwMDNDNTY3OSAvKiBMYXlvdXRCcmlkZ2VMaW5lSXRlcmF0b3JNb2Rl
cm5QYXRoLmggaW4gSGVhZGVycyAqLywKIAkJCQkwNkU4MUVENzBBQjVENUU5MDBDODc4MzcgLyog
TG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQzQzREU2
QjIyQUI0QjhBMDAxNTI3RDkgLyogTG9jYWxDdXJyZW50VHJhaXRDb2xsZWN0aW9uLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk0NDU3NzVFNTIwNDcyRjczMDA4RENFNUQgLyogTG9jYWxEZWZhdWx0U3lz
dGVtQXBwZWFyYW5jZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRjU5NzNERTAxNUNGQjIwMzAwMjdG
ODA0IC8qIExvY2FsZUNvY29hLmggaW4gSGVhZGVycyAqLywKIAkJCQk3NjMzQTcyNjEzRDhCMzNB
MDA4NTAxQjYgLyogTG9jYWxlVG9TY3JpcHRNYXBwaW5nLmggaW4gSGVhZGVycyAqLywKKwkJCQlF
NEFBRjM3NjI2ODBCQkE3MDAzQzU2NzkgLyogTGF5b3V0QnJpZGdlUGFnaW5hdGlvbi5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJRTM1QjkwN0YyM0Y2MEE1MDAwMDAxMUZGIC8qIExvY2FsaXplZERldmlj
ZU1vZGVsLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzUyMDdCRTA5QkQ0MTBBMDBGMjAzOEQgLyog
TG9jYWxpemVkU3RyaW5ncy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDFGQ0Q2QkIyM0NFMDI3NzAw
QzYyNTY3IC8qIExvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLmggaW4gSGVhZGVycyAqLywK
QEAgLTM0OTg3LDYgKzM0OTgyLDcgQEAKIAkJCQkwODU0QjAxNzEyNTVFNEU2MDBCOUNERDAgLyog
UmVuZGVyU1ZHSW5saW5lVGV4dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDM2NzA4Q0IxMkQ5Q0E0
QjAwMDQ0MjM0IC8qIFJlbmRlclNWR01vZGVsT2JqZWN0LmggaW4gSGVhZGVycyAqLywKIAkJCQlB
RERGMUFENzEyNTdDRDlBMDAwM0E3NTkgLyogUmVuZGVyU1ZHUGF0aC5oIGluIEhlYWRlcnMgKi8s
CisJCQkJRTRBQUYzN0QyNjgwQkJCMjAwM0M1Njc5IC8qIExheW91dEJyaWRnZUxpbmUuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUExMEJCNTg1MTQ4NEUzQTcwMEIyRTg3QSAvKiBSZW5kZXJTVkdSZWN0
LmggaW4gSGVhZGVycyAqLywKIAkJCQk0MzY3MDhDRDEyRDlDQTRCMDAwNDQyMzQgLyogUmVuZGVy
U1ZHUmVzb3VyY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTQzNjcwOENGMTJEOUNBNEIwMDA0NDIz
NCAvKiBSZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXIuaCBpbiBIZWFkZXJzICovLApAQCAtMzUwMjAs
NiArMzUwMTYsNyBAQAogCQkJCUJDRUE0ODhFMDk3RDkzMDIwMDk0QzlFNCAvKiBSZW5kZXJUZXh0
RnJhZ21lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0QzkxQTE2MTgwOTk5RjEwMEExN0Y2RCAv
KiBSZW5kZXJUZXh0TGluZUJveGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0VBNDg4QTA5N0Q5
MzAyMDA5NEM5RTQgLyogUmVuZGVyVGhlbWUuaCBpbiBIZWFkZXJzICovLAorCQkJCUU0QUFGMzdF
MjY4MEJCQjQwMDNDNTY3OSAvKiBMYXlvdXRCcmlkZ2VJbmxpbmVDb250ZW50LmggaW4gSGVhZGVy
cyAqLywKIAkJCQkxQTI5OUZFODFEN0Y1RkE2MDBBNjAwOTMgLyogUmVuZGVyVGhlbWVDb2NvYS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJRkVEMTNENTIwQ0VBOTQ5NzAwRDg5NDY2IC8qIFJlbmRlclRo
ZW1lSU9TLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0VBNDg4NzA5N0Q5MzAyMDA5NEM5RTQgLyog
UmVuZGVyVGhlbWVNYWMuaCBpbiBIZWFkZXJzICovLApAQCAtMzUzOTAsNiArMzUzODcsNyBAQAog
CQkJCTUxMUVDMTJDMUM1MEFCQkYwMDMyRjk4MyAvKiBTUUxpdGVJREJUcmFuc2FjdGlvbi5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMUEyMjQ2NEMwQ0M5OEREQjAwQzA1MjQwIC8qIFNRTGl0ZVN0YXRl
bWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRUJFNUIyMjYyNDVBMjZFRjAwM0E1QTg4IC8qIFNR
TGl0ZVN0YXRlbWVudEF1dG9SZXNldFNjb3BlLmggaW4gSGVhZGVycyAqLywKKwkJCQlFNEFBRjM3
NzI2ODBCQkE3MDAzQzU2NzkgLyogTGF5b3V0QnJpZGdlUnVuLmggaW4gSGVhZGVycyAqLywKIAkJ
CQkxQTIyNDY0RTBDQzk4RERCMDBDMDUyNDAgLyogU1FMaXRlVHJhbnNhY3Rpb24uaCBpbiBIZWFk
ZXJzICovLAogCQkJCTk3QkM2QTQyMTUwNUYwODEwMDFCNzRBQyAvKiBTUUxSZXN1bHRTZXQuaCBp
biBIZWFkZXJzICovLAogCQkJCTk3QkM2QTQ1MTUwNUYwODEwMDFCNzRBQyAvKiBTUUxSZXN1bHRT
ZXRSb3dMaXN0LmggaW4gSGVhZGVycyAqLywKQEAgLTM1NDU5LDYgKzM1NDU3LDcgQEAKIAkJCQlC
Q0VGNDNDRjBFNjczREExMDAxQzEyODcgLyogU3R5bGVJbWFnZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQkMyMjczMDQwRTgyRjFFNjAwRTdGOTc1IC8qIFN0eWxlSW5oZXJpdGVkRGF0YS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJRTQ2Qzc5NEIxRjEzRTgyQjAwRjM3MUUxIC8qIFN0eWxlSW52YWxpZGF0
aW9uRnVuY3Rpb25zLmggaW4gSGVhZGVycyAqLywKKwkJCQlFNEFBRjM3QjI2ODBCQkFFMDAzQzU2
NzkgLyogTGF5b3V0QnJpZGdlTGluZUl0ZXJhdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQlFNDcx
MjdDQjE2MzQzOEFFMDBFRDZGNUEgLyogU3R5bGVJbnZhbGlkYXRvci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQkM1RUI3MkEwRTgxREU4MTAwQjI1OTY1IC8qIFN0eWxlTWFycXVlZURhdGEuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTBGRjUwMjcyMTAyQkE5NkEwMDY2RjM5QSAvKiBTdHlsZU1lZGlhLmgg
aW4gSGVhZGVycyAqLywKQEAgLTM2MTYzLDYgKzM2MTYyLDcgQEAKIAkJCQlFMzQ3RTVGQTI1RDRG
MDAwMDBGMTdBNUMgLyogV29ya2VyU2NyaXB0RmV0Y2hlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QTdENkIzNDkwRjYxMTA0NTAwQjc5RkQxIC8qIFdvcmtlclNjcmlwdExvYWRlci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMkVBNzY4MDQwRkU3MTI2NDAwQUI5QzhBIC8qIFdvcmtlclNjcmlwdExvYWRl
ckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTRBQUYzNzMyNjgwQkI5NzAwM0M1Njc5IC8q
IExheW91dEJyaWRnZVJ1bkl0ZXJhdG9yTGVnYWN5UGF0aC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MkU0MzQ2NTUwRjU0NkE4MjAwQjBGMUJBIC8qIFdvcmtlclRocmVhZC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMEI5MDU2RjkwRjI2ODVGMzAwOTVGRjZBIC8qIFdvcmtlclRocmVhZGFibGVMb2FkZXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCTk3QUFCRDJEMTRGQTA5RDUwMDc0NTdBRSAvKiBXb3JrZXJU
aHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAppbmRleCAwNWY4NmU0N2IyYzUu
LjM2NDY5YTQ2MDdkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
WE9iamVjdENhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2Jq
ZWN0Q2FjaGUuY3BwCkBAIC0yOTQzLDcgKzI5NDMsNyBAQCBMYXlvdXRSZWN0IEFYT2JqZWN0Q2Fj
aGU6OmxvY2FsQ2FyZXRSZWN0Rm9yQ2hhcmFjdGVyT2Zmc2V0KFJlbmRlck9iamVjdComIHJlbmRl
cgogICAgIGlmIChydW5BbmRPZmZzZXQucnVuKQogICAgICAgICByZW5kZXJlciA9IGNvbnN0X2Nh
c3Q8UmVuZGVyT2JqZWN0Kj4oJnJ1bkFuZE9mZnNldC5ydW4tPnJlbmRlcmVyKCkpOwogCi0gICAg
aWYgKGlzPFJlbmRlckxpbmVCcmVhaz4ocmVuZGVyZXIpICYmIExheW91dEludGVncmF0aW9uOjpy
dW5Gb3IoZG93bmNhc3Q8UmVuZGVyTGluZUJyZWFrPigqcmVuZGVyZXIpKSAhPSBydW5BbmRPZmZz
ZXQucnVuKQorICAgIGlmIChpczxSZW5kZXJMaW5lQnJlYWs+KHJlbmRlcmVyKSAmJiBMYXlvdXRC
cmlkZ2U6OnJ1bkZvcihkb3duY2FzdDxSZW5kZXJMaW5lQnJlYWs+KCpyZW5kZXJlcikpICE9IHJ1
bkFuZE9mZnNldC5ydW4pCiAgICAgICAgIHJldHVybiBJbnRSZWN0KCk7CiAKICAgICByZXR1cm4g
Y29tcHV0ZUxvY2FsQ2FyZXRSZWN0KCpyZW5kZXJlciwgcnVuQW5kT2Zmc2V0KTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudE1hcmtlckNvbnRyb2xsZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50TWFya2VyQ29udHJvbGxlci5jcHAKaW5kZXggM2Y2NDRm
MDFiNzUyLi5mYTI1MmU5YjE4ZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudE1hcmtlckNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dE1hcmtlckNvbnRyb2xsZXIuY3BwCkBAIC0zMCw3ICszMCw3IEBACiAjaW5jbHVkZSAiQ2hyb21l
LmgiCiAjaW5jbHVkZSAiQ2hyb21lQ2xpZW50LmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKLSNpbmNs
dWRlICJMYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuaCIKKyNpbmNsdWRlICJMYXlvdXRCcmlk
Z2VMaW5lTGF5b3V0LmgiCiAjaW5jbHVkZSAiTm9kZVRyYXZlcnNhbC5oIgogI2luY2x1ZGUgIlBh
Z2UuaCIKICNpbmNsdWRlICJSZW5kZXJCbG9ja0Zsb3cuaCIKQEAgLTI1Niw3ICsyNTYsNyBAQCB2
b2lkIERvY3VtZW50TWFya2VyQ29udHJvbGxlcjo6YWRkTWFya2VyKE5vZGUmIG5vZGUsIERvY3Vt
ZW50TWFya2VyJiYgbmV3TWFya2VyKQogI2lmIEVOQUJMRShMQVlPVVRfRk9STUFUVElOR19DT05U
RVhUKQogICAgIGlmIChhdXRvKiByZW5kZXJlciA9IG5vZGUucmVuZGVyZXIoKSkgewogICAgICAg
ICAvLyBGSVhNRTogRmFjdG9yIHRoZSBtYXJrZXIgcGFpbnRpbmcgY29kZSBvdXQgb2YgTGVnYWN5
SW5saW5lVGV4dEJveCBhbmQgdGVhY2ggc2ltcGxlIGxpbmUgbGF5b3V0IHRvIHVzZSBpdC4KLSAg
ICAgICAgaWYgKGF1dG8qIGxpbmVMYXlvdXQgPSBMYXlvdXRJbnRlZ3JhdGlvbjo6TGluZUxheW91
dDo6Y29udGFpbmluZygqcmVuZGVyZXIpKQorICAgICAgICBpZiAoYXV0byogbGluZUxheW91dCA9
IExheW91dEJyaWRnZTo6TGluZUxheW91dDo6Y29udGFpbmluZygqcmVuZGVyZXIpKQogICAgICAg
ICAgICAgbGluZUxheW91dC0+ZmxvdygpLmVuc3VyZUxpbmVCb3hlcygpOwogICAgIH0KICNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1Bvc2l0aW9uLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Qb3NpdGlvbi5jcHAKaW5kZXggYTg3ZWRhNDQ1ZDRiLi42ODZjOTE4MjU1Y2Mg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Qb3NpdGlvbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL1Bvc2l0aW9uLmNwcApAQCAtMzcsOCArMzcsOCBAQAogI2luY2x1ZGUgIkhU
TUxUYWJsZUVsZW1lbnQuaCIKICNpbmNsdWRlICJJbmxpbmVJdGVyYXRvci5oIgogI2luY2x1ZGUg
IklubGluZVJ1bkFuZE9mZnNldC5oIgotI2luY2x1ZGUgIkxheW91dEludGVncmF0aW9uTGluZUl0
ZXJhdG9yLmgiCi0jaW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvci5oIgorI2lu
Y2x1ZGUgIkxheW91dEJyaWRnZUxpbmVJdGVyYXRvci5oIgorI2luY2x1ZGUgIkxheW91dEJyaWRn
ZVJ1bkl0ZXJhdG9yLmgiCiAjaW5jbHVkZSAiTGVnYWN5SW5saW5lVGV4dEJveC5oIgogI2luY2x1
ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJOb2RlVHJhdmVyc2FsLmgiCkBAIC02OSwxMSArNjks
MTEgQEAgdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIAogc3RhdGljIGJvb2wgaGFzSW5saW5l
UnVuKFJlbmRlck9iamVjdCYgcmVuZGVyZXIpCiB7Ci0gICAgaWYgKGlzPFJlbmRlckJveD4ocmVu
ZGVyZXIpICYmIExheW91dEludGVncmF0aW9uOjpydW5Gb3IoZG93bmNhc3Q8UmVuZGVyQm94Pihy
ZW5kZXJlcikpKQorICAgIGlmIChpczxSZW5kZXJCb3g+KHJlbmRlcmVyKSAmJiBMYXlvdXRCcmlk
Z2U6OnJ1bkZvcihkb3duY2FzdDxSZW5kZXJCb3g+KHJlbmRlcmVyKSkpCiAgICAgICAgIHJldHVy
biB0cnVlOwotICAgIGlmIChpczxSZW5kZXJUZXh0PihyZW5kZXJlcikgJiYgTGF5b3V0SW50ZWdy
YXRpb246OmZpcnN0VGV4dFJ1bkZvcihkb3duY2FzdDxSZW5kZXJUZXh0PihyZW5kZXJlcikpKQor
ICAgIGlmIChpczxSZW5kZXJUZXh0PihyZW5kZXJlcikgJiYgTGF5b3V0QnJpZGdlOjpmaXJzdFRl
eHRSdW5Gb3IoZG93bmNhc3Q8UmVuZGVyVGV4dD4ocmVuZGVyZXIpKSkKICAgICAgICAgcmV0dXJu
IHRydWU7Ci0gICAgaWYgKGlzPFJlbmRlckxpbmVCcmVhaz4ocmVuZGVyZXIpICYmIExheW91dElu
dGVncmF0aW9uOjpydW5Gb3IoZG93bmNhc3Q8UmVuZGVyTGluZUJyZWFrPihyZW5kZXJlcikpKQor
ICAgIGlmIChpczxSZW5kZXJMaW5lQnJlYWs+KHJlbmRlcmVyKSAmJiBMYXlvdXRCcmlkZ2U6OnJ1
bkZvcihkb3duY2FzdDxSZW5kZXJMaW5lQnJlYWs+KHJlbmRlcmVyKSkpCiAgICAgICAgIHJldHVy
biB0cnVlOwogICAgIHJldHVybiBmYWxzZTsKIH0KQEAgLTczOSw3ICs3MzksNyBAQCBQb3NpdGlv
biBQb3NpdGlvbjo6dXBzdHJlYW0oRWRpdGluZ0JvdW5kYXJ5Q3Jvc3NpbmdSdWxlIHJ1bGUpIGNv
bnN0CiAgICAgICAgIGlmIChpczxSZW5kZXJUZXh0PigqcmVuZGVyZXIpKSB7CiAgICAgICAgICAg
ICBhdXRvJiB0ZXh0UmVuZGVyZXIgPSBkb3duY2FzdDxSZW5kZXJUZXh0PigqcmVuZGVyZXIpOwog
Ci0gICAgICAgICAgICBhdXRvIGZpcnN0VGV4dFJ1biA9IExheW91dEludGVncmF0aW9uOjpmaXJz
dFRleHRSdW5JblRleHRPcmRlckZvcih0ZXh0UmVuZGVyZXIpOworICAgICAgICAgICAgYXV0byBm
aXJzdFRleHRSdW4gPSBMYXlvdXRCcmlkZ2U6OmZpcnN0VGV4dFJ1bkluVGV4dE9yZGVyRm9yKHRl
eHRSZW5kZXJlcik7CiAgICAgICAgICAgICBpZiAoIWZpcnN0VGV4dFJ1bikKICAgICAgICAgICAg
ICAgICBjb250aW51ZTsKIApAQCAtODQ2LDcgKzg0Niw3IEBAIFBvc2l0aW9uIFBvc2l0aW9uOjpk
b3duc3RyZWFtKEVkaXRpbmdCb3VuZGFyeUNyb3NzaW5nUnVsZSBydWxlKSBjb25zdAogICAgICAg
ICBpZiAoaXM8UmVuZGVyVGV4dD4oKnJlbmRlcmVyKSkgewogICAgICAgICAgICAgYXV0byYgdGV4
dFJlbmRlcmVyID0gZG93bmNhc3Q8UmVuZGVyVGV4dD4oKnJlbmRlcmVyKTsKIAotICAgICAgICAg
ICAgYXV0byBmaXJzdFRleHRSdW4gPSBMYXlvdXRJbnRlZ3JhdGlvbjo6Zmlyc3RUZXh0UnVuSW5U
ZXh0T3JkZXJGb3IodGV4dFJlbmRlcmVyKTsKKyAgICAgICAgICAgIGF1dG8gZmlyc3RUZXh0UnVu
ID0gTGF5b3V0QnJpZGdlOjpmaXJzdFRleHRSdW5JblRleHRPcmRlckZvcih0ZXh0UmVuZGVyZXIp
OwogICAgICAgICAgICAgaWYgKCFmaXJzdFRleHRSdW4pCiAgICAgICAgICAgICAgICAgY29udGlu
dWU7CiAKQEAgLTExNTUsNyArMTE1NSw3IEBAIHN0YXRpYyBib29sIGlzTm9uVGV4dExlYWZDaGls
ZChSZW5kZXJPYmplY3QmIG9iamVjdCkKICAgICByZXR1cm4gIWRvd25jYXN0PFJlbmRlckVsZW1l
bnQ+KG9iamVjdCkuZmlyc3RDaGlsZCgpOwogfQogCi1zdGF0aWMgTGF5b3V0SW50ZWdyYXRpb246
OlRleHRSdW5JdGVyYXRvciBzZWFyY2hBaGVhZEZvckJldHRlck1hdGNoKFJlbmRlclRleHQmIHJl
bmRlcmVyKQorc3RhdGljIExheW91dEJyaWRnZTo6VGV4dFJ1bkl0ZXJhdG9yIHNlYXJjaEFoZWFk
Rm9yQmV0dGVyTWF0Y2goUmVuZGVyVGV4dCYgcmVuZGVyZXIpCiB7CiAgICAgUmVuZGVyQmxvY2sq
IGNvbnRhaW5lciA9IHJlbmRlcmVyLmNvbnRhaW5pbmdCbG9jaygpOwogICAgIFJlbmRlck9iamVj
dCogbmV4dCA9ICZyZW5kZXJlcjsKQEAgLTExNjcsNyArMTE2Nyw3IEBAIHN0YXRpYyBMYXlvdXRJ
bnRlZ3JhdGlvbjo6VGV4dFJ1bkl0ZXJhdG9yIHNlYXJjaEFoZWFkRm9yQmV0dGVyTWF0Y2goUmVu
ZGVyVGV4dCYKICAgICAgICAgaWYgKGlzTm9uVGV4dExlYWZDaGlsZCgqbmV4dCkpCiAgICAgICAg
ICAgICByZXR1cm4geyB9OwogICAgICAgICBpZiAoaXM8UmVuZGVyVGV4dD4oKm5leHQpKSB7Ci0g
ICAgICAgICAgICBpZiAoYXV0byBydW4gPSBMYXlvdXRJbnRlZ3JhdGlvbjo6Zmlyc3RUZXh0UnVu
SW5UZXh0T3JkZXJGb3IoZG93bmNhc3Q8UmVuZGVyVGV4dD4oKm5leHQpKSkKKyAgICAgICAgICAg
IGlmIChhdXRvIHJ1biA9IExheW91dEJyaWRnZTo6Zmlyc3RUZXh0UnVuSW5UZXh0T3JkZXJGb3Io
ZG93bmNhc3Q8UmVuZGVyVGV4dD4oKm5leHQpKSkKICAgICAgICAgICAgICAgICByZXR1cm4gcnVu
OwogICAgICAgICB9CiAgICAgfQpAQCAtMTIwNSwxNyArMTIwNSwxNyBAQCBJbmxpbmVSdW5BbmRP
ZmZzZXQgUG9zaXRpb246OmlubGluZVJ1bkFuZE9mZnNldChBZmZpbml0eSBhZmZpbml0eSwgVGV4
dERpcmVjdGlvbgogICAgIGlmICghcmVuZGVyZXIpCiAgICAgICAgIHJldHVybiB7IHsgfSwgY2Fy
ZXRPZmZzZXQgfTsKIAotICAgIExheW91dEludGVncmF0aW9uOjpSdW5JdGVyYXRvciBydW47Cisg
ICAgTGF5b3V0QnJpZGdlOjpSdW5JdGVyYXRvciBydW47CiAKICAgICBpZiAocmVuZGVyZXItPmlz
QlIoKSkgewogICAgICAgICBhdXRvJiBsaW5lQnJlYWtSZW5kZXJlciA9IGRvd25jYXN0PFJlbmRl
ckxpbmVCcmVhaz4oKnJlbmRlcmVyKTsKICAgICAgICAgaWYgKCFjYXJldE9mZnNldCkKLSAgICAg
ICAgICAgIHJ1biA9IExheW91dEludGVncmF0aW9uOjpydW5Gb3IobGluZUJyZWFrUmVuZGVyZXIp
OworICAgICAgICAgICAgcnVuID0gTGF5b3V0QnJpZGdlOjpydW5Gb3IobGluZUJyZWFrUmVuZGVy
ZXIpOwogICAgIH0gZWxzZSBpZiAoaXM8UmVuZGVyVGV4dD4oKnJlbmRlcmVyKSkgewogICAgICAg
ICBhdXRvJiB0ZXh0UmVuZGVyZXIgPSBkb3duY2FzdDxSZW5kZXJUZXh0PigqcmVuZGVyZXIpOwog
Ci0gICAgICAgIGF1dG8gdGV4dFJ1biA9IExheW91dEludGVncmF0aW9uOjpmaXJzdFRleHRSdW5G
b3IodGV4dFJlbmRlcmVyKTsKLSAgICAgICAgTGF5b3V0SW50ZWdyYXRpb246OlRleHRSdW5JdGVy
YXRvciBjYW5kaWRhdGU7CisgICAgICAgIGF1dG8gdGV4dFJ1biA9IExheW91dEJyaWRnZTo6Zmly
c3RUZXh0UnVuRm9yKHRleHRSZW5kZXJlcik7CisgICAgICAgIExheW91dEJyaWRnZTo6VGV4dFJ1
bkl0ZXJhdG9yIGNhbmRpZGF0ZTsKIAogICAgICAgICBmb3IgKDsgdGV4dFJ1bjsgKyt0ZXh0UnVu
KSB7CiAgICAgICAgICAgICB1bnNpZ25lZCBjYXJldE1pbk9mZnNldCA9IHRleHRSdW4tPm1pbmlt
dW1DYXJldE9mZnNldCgpOwpAQCAtMTI2NSw3ICsxMjY1LDcgQEAgSW5saW5lUnVuQW5kT2Zmc2V0
IFBvc2l0aW9uOjppbmxpbmVSdW5BbmRPZmZzZXQoQWZmaW5pdHkgYWZmaW5pdHksIFRleHREaXJl
Y3Rpb24KICAgICAgICAgICAgIHJldHVybiBlcXVpdmFsZW50LmlubGluZVJ1bkFuZE9mZnNldChB
ZmZpbml0eTo6VXBzdHJlYW0sIHByaW1hcnlEaXJlY3Rpb24pOwogICAgICAgICB9CiAgICAgICAg
IGlmIChpczxSZW5kZXJCb3g+KCpyZW5kZXJlcikpIHsKLSAgICAgICAgICAgIHJ1biA9IExheW91
dEludGVncmF0aW9uOjpydW5Gb3IoZG93bmNhc3Q8UmVuZGVyQm94PigqcmVuZGVyZXIpKTsKKyAg
ICAgICAgICAgIHJ1biA9IExheW91dEJyaWRnZTo6cnVuRm9yKGRvd25jYXN0PFJlbmRlckJveD4o
KnJlbmRlcmVyKSk7CiAgICAgICAgICAgICBpZiAocnVuICYmIGNhcmV0T2Zmc2V0ID4gcnVuLT5t
aW5pbXVtQ2FyZXRPZmZzZXQoKSAmJiBjYXJldE9mZnNldCA8IHJ1bi0+bWF4aW11bUNhcmV0T2Zm
c2V0KCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIHsgcnVuLCBjYXJldE9mZnNldCB9OwogICAg
ICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0NvbXBvc2l0ZUVkaXRD
b21tYW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQ29tcG9zaXRlRWRpdENvbW1hbmQu
Y3BwCmluZGV4IDNmZDA0YzdlMzFmYS4uNDU5ZDgyNmU0YTY1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL0NvbXBvc2l0ZUVkaXRDb21tYW5kLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL0NvbXBvc2l0ZUVkaXRDb21tYW5kLmNwcApAQCAtNTIsNyArNTIsNyBAQAog
I2luY2x1ZGUgIkluc2VydE5vZGVCZWZvcmVDb21tYW5kLmgiCiAjaW5jbHVkZSAiSW5zZXJ0UGFy
YWdyYXBoU2VwYXJhdG9yQ29tbWFuZC5oIgogI2luY2x1ZGUgIkluc2VydFRleHRDb21tYW5kLmgi
Ci0jaW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvci5oIgorI2luY2x1ZGUgIkxh
eW91dEJyaWRnZVJ1bkl0ZXJhdG9yLmgiCiAjaW5jbHVkZSAiTGVnYWN5SW5saW5lVGV4dEJveC5o
IgogI2luY2x1ZGUgIk1lcmdlSWRlbnRpY2FsRWxlbWVudHNDb21tYW5kLmgiCiAjaW5jbHVkZSAi
Tm9kZVRyYXZlcnNhbC5oIgpAQCAtMTAxNiw3ICsxMDE2LDcgQEAgdm9pZCBDb21wb3NpdGVFZGl0
Q29tbWFuZDo6ZGVsZXRlSW5zaWduaWZpY2FudFRleHQoVGV4dCYgdGV4dE5vZGUsIHVuc2lnbmVk
IHN0YXIKICAgICAgICAgaWYgKCF0ZXh0UmVuZGVyZXIpCiAgICAgICAgICAgICByZXR1cm47CiAK
LSAgICAgICAgYXV0byBydW4gPSBMYXlvdXRJbnRlZ3JhdGlvbjo6Zmlyc3RUZXh0UnVuSW5UZXh0
T3JkZXJGb3IoKnRleHRSZW5kZXJlcik7CisgICAgICAgIGF1dG8gcnVuID0gTGF5b3V0QnJpZGdl
OjpmaXJzdFRleHRSdW5JblRleHRPcmRlckZvcigqdGV4dFJlbmRlcmVyKTsKICAgICAgICAgaWYg
KCFydW4pIHsKICAgICAgICAgICAgIHdob2xlVGV4dE5vZGVJc0VtcHR5ID0gdHJ1ZTsKICAgICAg
ICAgICAgIHJldHVybjsKQEAgLTEwMjcsNyArMTAyNyw3IEBAIHZvaWQgQ29tcG9zaXRlRWRpdENv
bW1hbmQ6OmRlbGV0ZUluc2lnbmlmaWNhbnRUZXh0KFRleHQmIHRleHROb2RlLCB1bnNpZ25lZCBz
dGFyCiAgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgdW5zaWduZWQgcmVtb3ZlZCA9IDA7
Ci0gICAgICAgIExheW91dEludGVncmF0aW9uOjpUZXh0UnVuSXRlcmF0b3IgcHJldmlvdXNSdW47
CisgICAgICAgIExheW91dEJyaWRnZTo6VGV4dFJ1bkl0ZXJhdG9yIHByZXZpb3VzUnVuOwogCiAg
ICAgICAgIC8vIFRoaXMgbG9vcCBzdHJ1Y3R1cmUgd29ya3MgdG8gcHJvY2VzcyBhbGwgZ2FwcyBw
cmVjZWRpbmcgYSBib3gsCiAgICAgICAgIC8vIGFuZCBhbHNvIHdpbGwgbG9vayBhdCB0aGUgZ2Fw
IGFmdGVyIHRoZSBsYXN0IGJveC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
RWRpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAppbmRleCA4NjM3
MTYzN2ExNGMuLmMyZGY5ZGM2YzVkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9FZGl0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcApAQCAt
MTM0LDcgKzEzNCw3IEBACiAjZW5kaWYKIAogI2lmIEVOQUJMRShMQVlPVVRfRk9STUFUVElOR19D
T05URVhUKQotI2luY2x1ZGUgIkxheW91dEludGVncmF0aW9uTGluZUxheW91dC5oIgorI2luY2x1
ZGUgIkxheW91dEJyaWRnZUxpbmVMYXlvdXQuaCIKICNlbmRpZgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CkBAIC0yMTU1LDcgKzIxNTUsNyBAQCB2b2lkIEVkaXRvcjo6c2V0Q29tcG9zaXRpb24oY29u
c3QgU3RyaW5nJiB0ZXh0LCBjb25zdCBWZWN0b3I8Q29tcG9zaXRpb25VbmRlcmxpbgogCiAgICAg
ICAgICAgICBpZiAoYXV0byByZW5kZXJlciA9IGJhc2VOb2RlLT5yZW5kZXJlcigpKSB7CiAjaWYg
RU5BQkxFKExBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpCi0gICAgICAgICAgICAgICAgaWYgKGF1
dG8gbGluZUxheW91dCA9IExheW91dEludGVncmF0aW9uOjpMaW5lTGF5b3V0Ojpjb250YWluaW5n
KCpyZW5kZXJlcikpCisgICAgICAgICAgICAgICAgaWYgKGF1dG8gbGluZUxheW91dCA9IExheW91
dEJyaWRnZTo6TGluZUxheW91dDo6Y29udGFpbmluZygqcmVuZGVyZXIpKQogICAgICAgICAgICAg
ICAgICAgICBsaW5lTGF5b3V0LT5mbG93KCkuZW5zdXJlTGluZUJveGVzKCk7CiAjZW5kaWYKICAg
ICAgICAgICAgICAgICByZW5kZXJlci0+cmVwYWludCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9JbmxpbmVSdW5BbmRPZmZzZXQuaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvSW5saW5lUnVuQW5kT2Zmc2V0LmgKaW5kZXggZDM0ZTQ5MjdjYTRlLi5jOWYyMzcwMDBjODYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvSW5saW5lUnVuQW5kT2Zmc2V0LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9JbmxpbmVSdW5BbmRPZmZzZXQuaApAQCAtMjUs
MTIgKzI1LDEyIEBACiAKICNwcmFnbWEgb25jZQogCi0jaW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRp
b25SdW5JdGVyYXRvci5oIgorI2luY2x1ZGUgIkxheW91dEJyaWRnZVJ1bkl0ZXJhdG9yLmgiCiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RydWN0IElubGluZVJ1bkFuZE9mZnNldCB7Ci0gICAg
TGF5b3V0SW50ZWdyYXRpb246OlJ1bkl0ZXJhdG9yIHJ1biB7IH07CisgICAgTGF5b3V0QnJpZGdl
OjpSdW5JdGVyYXRvciBydW4geyB9OwogICAgIHVuc2lnbmVkIG9mZnNldCB7IDAgfTsKIH07CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvUmVuZGVyZWRQb3NpdGlvbi5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1JlbmRlcmVkUG9zaXRpb24uY3BwCmluZGV4IDQ2ZTMw
MjkwNGYyYi4uYmQ0OTI0YjI5MWFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L1JlbmRlcmVkUG9zaXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvUmVuZGVy
ZWRQb3NpdGlvbi5jcHAKQEAgLTY5LDcgKzY5LDcgQEAgUmVuZGVyZWRQb3NpdGlvbjo6UmVuZGVy
ZWRQb3NpdGlvbigpCiB7CiB9CiAKLVJlbmRlcmVkUG9zaXRpb246OlJlbmRlcmVkUG9zaXRpb24o
Y29uc3QgUmVuZGVyT2JqZWN0KiByZW5kZXJlciwgTGF5b3V0SW50ZWdyYXRpb246OlJ1bkl0ZXJh
dG9yIHJ1biwgdW5zaWduZWQgb2Zmc2V0KQorUmVuZGVyZWRQb3NpdGlvbjo6UmVuZGVyZWRQb3Np
dGlvbihjb25zdCBSZW5kZXJPYmplY3QqIHJlbmRlcmVyLCBMYXlvdXRCcmlkZ2U6OlJ1bkl0ZXJh
dG9yIHJ1biwgdW5zaWduZWQgb2Zmc2V0KQogICAgIDogbV9yZW5kZXJlcihyZW5kZXJlcikKICAg
ICAsIG1fcnVuKHJ1bikKICAgICAsIG1fb2Zmc2V0KG9mZnNldCkKQEAgLTk1LDE0ICs5NSwxNCBA
QCBSZW5kZXJlZFBvc2l0aW9uOjpSZW5kZXJlZFBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJiBwb3Np
dGlvbiwgQWZmaW5pdHkgYWZmaW5pdHkpCiAgICAgICAgIG1fcmVuZGVyZXIgPSByZW5kZXJlckZy
b21Qb3NpdGlvbihwb3NpdGlvbik7CiB9CiAKLUxheW91dEludGVncmF0aW9uOjpSdW5JdGVyYXRv
ciBSZW5kZXJlZFBvc2l0aW9uOjpwcmV2aW91c0xlYWZPbkxpbmUoKSBjb25zdAorTGF5b3V0QnJp
ZGdlOjpSdW5JdGVyYXRvciBSZW5kZXJlZFBvc2l0aW9uOjpwcmV2aW91c0xlYWZPbkxpbmUoKSBj
b25zdAogewogICAgIGlmICghbV9wcmV2aW91c0xlYWZPbkxpbmUpCiAgICAgICAgIG1fcHJldmlv
dXNMZWFmT25MaW5lID0gbV9ydW4ucHJldmlvdXNPbkxpbmVJZ25vcmluZ0xpbmVCcmVhaygpOwog
ICAgIHJldHVybiAqbV9wcmV2aW91c0xlYWZPbkxpbmU7CiB9CiAKLUxheW91dEludGVncmF0aW9u
OjpSdW5JdGVyYXRvciBSZW5kZXJlZFBvc2l0aW9uOjpuZXh0TGVhZk9uTGluZSgpIGNvbnN0CitM
YXlvdXRCcmlkZ2U6OlJ1bkl0ZXJhdG9yIFJlbmRlcmVkUG9zaXRpb246Om5leHRMZWFmT25MaW5l
KCkgY29uc3QKIHsKICAgICBpZiAoIW1fbmV4dExlYWZPbkxpbmUpCiAgICAgICAgIG1fbmV4dExl
YWZPbkxpbmUgPSBtX3J1bi5uZXh0T25MaW5lSWdub3JpbmdMaW5lQnJlYWsoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvUmVuZGVyZWRQb3NpdGlvbi5oIGIvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9SZW5kZXJlZFBvc2l0aW9uLmgKaW5kZXggNWMwODdlMDExMGRmLi40YTEy
ZWNkZTJlNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvUmVuZGVyZWRQb3Np
dGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvUmVuZGVyZWRQb3NpdGlvbi5oCkBA
IC0zMSw4ICszMSw4IEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgIkNhcmV0UmVjdENvbXB1
dGF0aW9uLmgiCi0jaW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3IuaCIKLSNp
bmNsdWRlICJMYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yLmgiCisjaW5jbHVkZSAiTGF5b3V0
QnJpZGdlTGluZUl0ZXJhdG9yLmgiCisjaW5jbHVkZSAiTGF5b3V0QnJpZGdlUnVuSXRlcmF0b3Iu
aCIKICNpbmNsdWRlICJUZXh0QWZmaW5pdHkuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAt
NTAsNyArNTAsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0VxdWl2YWxlbnQoY29uc3QgUmVuZGVy
ZWRQb3NpdGlvbiYpIGNvbnN0OwogCiAgICAgYm9vbCBpc051bGwoKSBjb25zdCB7IHJldHVybiAh
bV9yZW5kZXJlcjsgfQotICAgIExheW91dEludGVncmF0aW9uOjpMaW5lSXRlcmF0b3IgbGluZSgp
IGNvbnN0IHsgcmV0dXJuIG1fcnVuID8gbV9ydW4ubGluZSgpIDogTGF5b3V0SW50ZWdyYXRpb246
OkxpbmVJdGVyYXRvcigpOyB9CisgICAgTGF5b3V0QnJpZGdlOjpMaW5lSXRlcmF0b3IgbGluZSgp
IGNvbnN0IHsgcmV0dXJuIG1fcnVuID8gbV9ydW4ubGluZSgpIDogTGF5b3V0QnJpZGdlOjpMaW5l
SXRlcmF0b3IoKTsgfQogCiAgICAgdW5zaWduZWQgY2hhciBiaWRpTGV2ZWxPbkxlZnQoKSBjb25z
dDsKICAgICB1bnNpZ25lZCBjaGFyIGJpZGlMZXZlbE9uUmlnaHQoKSBjb25zdDsKQEAgLTcyLDIx
ICs3MiwyMSBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0
IFJlbmRlcmVkUG9zaXRpb24mKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQotICAgIGV4cGxpY2l0
IFJlbmRlcmVkUG9zaXRpb24oY29uc3QgUmVuZGVyT2JqZWN0KiwgTGF5b3V0SW50ZWdyYXRpb246
OlJ1bkl0ZXJhdG9yLCB1bnNpZ25lZCBvZmZzZXQpOworICAgIGV4cGxpY2l0IFJlbmRlcmVkUG9z
aXRpb24oY29uc3QgUmVuZGVyT2JqZWN0KiwgTGF5b3V0QnJpZGdlOjpSdW5JdGVyYXRvciwgdW5z
aWduZWQgb2Zmc2V0KTsKIAotICAgIExheW91dEludGVncmF0aW9uOjpSdW5JdGVyYXRvciBwcmV2
aW91c0xlYWZPbkxpbmUoKSBjb25zdDsKLSAgICBMYXlvdXRJbnRlZ3JhdGlvbjo6UnVuSXRlcmF0
b3IgbmV4dExlYWZPbkxpbmUoKSBjb25zdDsKKyAgICBMYXlvdXRCcmlkZ2U6OlJ1bkl0ZXJhdG9y
IHByZXZpb3VzTGVhZk9uTGluZSgpIGNvbnN0OworICAgIExheW91dEJyaWRnZTo6UnVuSXRlcmF0
b3IgbmV4dExlYWZPbkxpbmUoKSBjb25zdDsKICAgICBib29sIGF0TGVmdG1vc3RPZmZzZXRJbkJv
eCgpIGNvbnN0IHsgcmV0dXJuIG1fcnVuICYmIG1fb2Zmc2V0ID09IG1fcnVuLT5sZWZ0bW9zdENh
cmV0T2Zmc2V0KCk7IH0KICAgICBib29sIGF0UmlnaHRtb3N0T2Zmc2V0SW5Cb3goKSBjb25zdCB7
IHJldHVybiBtX3J1biAmJiBtX29mZnNldCA9PSBtX3J1bi0+cmlnaHRtb3N0Q2FyZXRPZmZzZXQo
KTsgfQogICAgIGJvb2wgYXRMZWZ0Qm91bmRhcnlPZkJpZGlSdW4oU2hvdWxkTWF0Y2hCaWRpTGV2
ZWwsIHVuc2lnbmVkIGNoYXIgYmlkaUxldmVsT2ZSdW4pIGNvbnN0OwogICAgIGJvb2wgYXRSaWdo
dEJvdW5kYXJ5T2ZCaWRpUnVuKFNob3VsZE1hdGNoQmlkaUxldmVsLCB1bnNpZ25lZCBjaGFyIGJp
ZGlMZXZlbE9mUnVuKSBjb25zdDsKIAogICAgIGNvbnN0IFJlbmRlck9iamVjdCogbV9yZW5kZXJl
ciB7IG51bGxwdHIgfTsKLSAgICBMYXlvdXRJbnRlZ3JhdGlvbjo6UnVuSXRlcmF0b3IgbV9ydW47
CisgICAgTGF5b3V0QnJpZGdlOjpSdW5JdGVyYXRvciBtX3J1bjsKICAgICB1bnNpZ25lZCBtX29m
ZnNldCB7IDAgfTsKIAotICAgIG11dGFibGUgc3RkOjpvcHRpb25hbDxMYXlvdXRJbnRlZ3JhdGlv
bjo6UnVuSXRlcmF0b3I+IG1fcHJldmlvdXNMZWFmT25MaW5lOwotICAgIG11dGFibGUgc3RkOjpv
cHRpb25hbDxMYXlvdXRJbnRlZ3JhdGlvbjo6UnVuSXRlcmF0b3I+IG1fbmV4dExlYWZPbkxpbmU7
CisgICAgbXV0YWJsZSBzdGQ6Om9wdGlvbmFsPExheW91dEJyaWRnZTo6UnVuSXRlcmF0b3I+IG1f
cHJldmlvdXNMZWFmT25MaW5lOworICAgIG11dGFibGUgc3RkOjpvcHRpb25hbDxMYXlvdXRCcmlk
Z2U6OlJ1bkl0ZXJhdG9yPiBtX25leHRMZWFmT25MaW5lOwogfTsKIAogYm9vbCByZW5kZXJPYmpl
Y3RDb250YWluc1Bvc2l0aW9uKGNvbnN0IFJlbmRlck9iamVjdCosIGNvbnN0IFBvc2l0aW9uJik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHAKaW5kZXggYzJmYWE5NDI2NGVi
Li4zMjBiYjczMDI1YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0
ZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHAK
QEAgLTU4MCw3ICs1ODAsNyBAQCBib29sIFRleHRJdGVyYXRvcjo6aGFuZGxlVGV4dE5vZGUoKQog
ICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAKLSAgICBtX3RleHRSdW4gPSBMYXlvdXRJbnRl
Z3JhdGlvbjo6Zmlyc3RUZXh0UnVuSW5UZXh0T3JkZXJGb3IocmVuZGVyZXIpOworICAgIG1fdGV4
dFJ1biA9IExheW91dEJyaWRnZTo6Zmlyc3RUZXh0UnVuSW5UZXh0T3JkZXJGb3IocmVuZGVyZXIp
OwogCiAgICAgYm9vbCBzaG91bGRIYW5kbGVGaXJzdExldHRlciA9ICFtX2hhbmRsZWRGaXJzdExl
dHRlciAmJiBpczxSZW5kZXJUZXh0RnJhZ21lbnQ+KHJlbmRlcmVyKSAmJiAhbV9vZmZzZXQ7CiAg
ICAgaWYgKHNob3VsZEhhbmRsZUZpcnN0TGV0dGVyKQpAQCAtNjA3LDcgKzYwNyw3IEBAIHZvaWQg
VGV4dEl0ZXJhdG9yOjpoYW5kbGVUZXh0UnVuKCkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAot
ICAgIGF1dG8gZmlyc3RUZXh0UnVuID0gTGF5b3V0SW50ZWdyYXRpb246OmZpcnN0VGV4dFJ1bklu
VGV4dE9yZGVyRm9yKHJlbmRlcmVyKTsKKyAgICBhdXRvIGZpcnN0VGV4dFJ1biA9IExheW91dEJy
aWRnZTo6Zmlyc3RUZXh0UnVuSW5UZXh0T3JkZXJGb3IocmVuZGVyZXIpOwogCiAgICAgU3RyaW5n
IHJlbmRlcmVyVGV4dCA9IHJlbmRlcmVyLnRleHQoKTsKICAgICB1bnNpZ25lZCBzdGFydCA9IG1f
b2Zmc2V0OwpAQCAtNzAxLDcgKzcwMSw3IEBAIHZvaWQgVGV4dEl0ZXJhdG9yOjpoYW5kbGVUZXh0
Tm9kZUZpcnN0TGV0dGVyKFJlbmRlclRleHRGcmFnbWVudCYgcmVuZGVyZXIpCiAgICAgICAgIGlm
IChhdXRvKiBmaXJzdExldHRlclRleHQgPSBmaXJzdFJlbmRlclRleHRJbkZpcnN0TGV0dGVyKGZp
cnN0TGV0dGVyKSkgewogICAgICAgICAgICAgbV9oYW5kbGVkRmlyc3RMZXR0ZXIgPSB0cnVlOwog
ICAgICAgICAgICAgbV9yZW1haW5pbmdUZXh0UnVuID0gbV90ZXh0UnVuOwotICAgICAgICAgICAg
bV90ZXh0UnVuID0gTGF5b3V0SW50ZWdyYXRpb246OmZpcnN0VGV4dFJ1bkluVGV4dE9yZGVyRm9y
KCpmaXJzdExldHRlclRleHQpOworICAgICAgICAgICAgbV90ZXh0UnVuID0gTGF5b3V0QnJpZGdl
OjpmaXJzdFRleHRSdW5JblRleHRPcmRlckZvcigqZmlyc3RMZXR0ZXJUZXh0KTsKICAgICAgICAg
ICAgIG1fZmlyc3RMZXR0ZXJUZXh0ID0gZmlyc3RMZXR0ZXJUZXh0OwogICAgICAgICB9CiAgICAg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuaCBiL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmgKaW5kZXggYzcxNjIyNWNmMGQyLi4w
YzI2ZTQwZWY5NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJh
dG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuaApAQCAtMjcs
NyArMjcsNyBAQAogCiAjaW5jbHVkZSAiQ2hhcmFjdGVyUmFuZ2UuaCIKICNpbmNsdWRlICJGaW5k
T3B0aW9ucy5oIgotI2luY2x1ZGUgIkxheW91dEludGVncmF0aW9uUnVuSXRlcmF0b3IuaCIKKyNp
bmNsdWRlICJMYXlvdXRCcmlkZ2VSdW5JdGVyYXRvci5oIgogI2luY2x1ZGUgIlNpbXBsZVJhbmdl
LmgiCiAjaW5jbHVkZSAiVGV4dEl0ZXJhdG9yQmVoYXZpb3IuaCIKICNpbmNsdWRlIDx3dGYvVmVj
dG9yLmg+CkBAIC0xNDksMTAgKzE0OSwxMCBAQCBwcml2YXRlOgogCiAgICAgLy8gVXNlZCB3aGVu
IHRoZXJlIGlzIHN0aWxsIHNvbWUgcGVuZGluZyB0ZXh0IGZyb20gdGhlIGN1cnJlbnQgbm9kZTsg
d2hlbiB0aGVzZSBhcmUgZmFsc2UgYW5kIG51bGwsIHdlIGdvIGJhY2sgdG8gbm9ybWFsIGl0ZXJh
dGluZy4KICAgICBOb2RlKiBtX25vZGVGb3JBZGRpdGlvbmFsTmV3bGluZSB7IG51bGxwdHIgfTsK
LSAgICBMYXlvdXRJbnRlZ3JhdGlvbjo6VGV4dFJ1bkl0ZXJhdG9yIG1fdGV4dFJ1bjsKKyAgICBM
YXlvdXRCcmlkZ2U6OlRleHRSdW5JdGVyYXRvciBtX3RleHRSdW47CiAKICAgICAvLyBVc2VkIHdo
ZW4gaXRlcmF0aW5nIG92ZXIgOmZpcnN0LWxldHRlciB0ZXh0IHRvIHNhdmUgcG9pbnRlciB0byBy
ZW1haW5pbmcgdGV4dCBib3guCi0gICAgTGF5b3V0SW50ZWdyYXRpb246OlRleHRSdW5JdGVyYXRv
ciBtX3JlbWFpbmluZ1RleHRSdW47CisgICAgTGF5b3V0QnJpZGdlOjpUZXh0UnVuSXRlcmF0b3Ig
bV9yZW1haW5pbmdUZXh0UnVuOwogCiAgICAgLy8gVXNlZCB0byBwb2ludCB0byBSZW5kZXJUZXh0
IG9iamVjdCBmb3IgOmZpcnN0LWxldHRlci4KICAgICBSZW5kZXJUZXh0KiBtX2ZpcnN0TGV0dGVy
VGV4dCB7IG51bGxwdHIgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVmlz
aWJsZVBvc2l0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVBvc2l0aW9u
LmNwcAppbmRleCAzNjBmNTE3YjhmMzIuLjNiMTRhOTI0MTRiZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9WaXNpYmxlUG9zaXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvVmlzaWJsZVBvc2l0aW9uLmNwcApAQCAtMzYsOCArMzYsOCBAQAogI2luY2x1ZGUg
IkhUTUxIdG1sRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIklu
bGluZVJ1bkFuZE9mZnNldC5oIgotI2luY2x1ZGUgIkxheW91dEludGVncmF0aW9uTGluZUl0ZXJh
dG9yLmgiCi0jaW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvci5oIgorI2luY2x1
ZGUgIkxheW91dEJyaWRnZUxpbmVJdGVyYXRvci5oIgorI2luY2x1ZGUgIkxheW91dEJyaWRnZVJ1
bkl0ZXJhdG9yLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIlJhbmdlLmgiCiAj
aW5jbHVkZSAiUmVuZGVyQmxvY2tGbG93LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL1Zpc2libGVVbml0cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVV
bml0cy5jcHAKaW5kZXggODIxZDQzZGJkN2YxLi40NWY0YTVmNmY1OTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVVuaXRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL1Zpc2libGVVbml0cy5jcHAKQEAgLTMyLDggKzMyLDggQEAKICNpbmNsdWRlICJI
VE1MRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIklubGluZVJ1
bkFuZE9mZnNldC5oIgotI2luY2x1ZGUgIkxheW91dEludGVncmF0aW9uTGluZUl0ZXJhdG9yLmgi
Ci0jaW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvci5oIgorI2luY2x1ZGUgIkxh
eW91dEJyaWRnZUxpbmVJdGVyYXRvci5oIgorI2luY2x1ZGUgIkxheW91dEJyaWRnZVJ1bkl0ZXJh
dG9yLmgiCiAjaW5jbHVkZSAiTm9kZVRyYXZlcnNhbC5oIgogI2luY2x1ZGUgIlJhbmdlLmgiCiAj
aW5jbHVkZSAiUmVuZGVyQmxvY2tGbG93LmgiCkBAIC0xMjQsMTIgKzEyNCwxMiBAQCBzdGF0aWMg
UG9zaXRpb24gbmV4dExpbmVDYW5kaWRhdGVQb3NpdGlvbihOb2RlKiBub2RlLCBjb25zdCBWaXNp
YmxlUG9zaXRpb24mIHZpcwogICAgIHJldHVybiBQb3NpdGlvbigpOwogfQogCi1zdGF0aWMgYm9v
bCBpc1RleHRPckxpbmVCcmVha1J1bihMYXlvdXRJbnRlZ3JhdGlvbjo6UnVuSXRlcmF0b3IgcnVu
KQorc3RhdGljIGJvb2wgaXNUZXh0T3JMaW5lQnJlYWtSdW4oTGF5b3V0QnJpZGdlOjpSdW5JdGVy
YXRvciBydW4pCiB7CiAgICAgcmV0dXJuIHJ1biAmJiAocnVuLT5pc1RleHQoKSB8fCBydW4tPnJl
bmRlcmVyKCkuaXNCUigpKTsKIH0KIAotc3RhdGljIExheW91dEludGVncmF0aW9uOjpSdW5JdGVy
YXRvciBwcmV2aW91c1RleHRPckxpbmVCcmVha1J1bihMYXlvdXRJbnRlZ3JhdGlvbjo6UnVuSXRl
cmF0b3IgcnVuKQorc3RhdGljIExheW91dEJyaWRnZTo6UnVuSXRlcmF0b3IgcHJldmlvdXNUZXh0
T3JMaW5lQnJlYWtSdW4oTGF5b3V0QnJpZGdlOjpSdW5JdGVyYXRvciBydW4pCiB7CiAgICAgd2hp
bGUgKHJ1bikgewogICAgICAgICBydW4udHJhdmVyc2VQcmV2aW91c09uTGluZUluTG9naWNhbE9y
ZGVyKCk7CkBAIC0xMzksNyArMTM5LDcgQEAgc3RhdGljIExheW91dEludGVncmF0aW9uOjpSdW5J
dGVyYXRvciBwcmV2aW91c1RleHRPckxpbmVCcmVha1J1bihMYXlvdXRJbnRlZ3JhdGkKICAgICBy
ZXR1cm4geyB9OwogfQogCi1zdGF0aWMgTGF5b3V0SW50ZWdyYXRpb246OlJ1bkl0ZXJhdG9yIG5l
eHRUZXh0T3JMaW5lQnJlYWtSdW4oTGF5b3V0SW50ZWdyYXRpb246OlJ1bkl0ZXJhdG9yIHJ1bikK
K3N0YXRpYyBMYXlvdXRCcmlkZ2U6OlJ1bkl0ZXJhdG9yIG5leHRUZXh0T3JMaW5lQnJlYWtSdW4o
TGF5b3V0QnJpZGdlOjpSdW5JdGVyYXRvciBydW4pCiB7CiAgICAgd2hpbGUgKHJ1bikgewogICAg
ICAgICBydW4udHJhdmVyc2VOZXh0T25MaW5lSW5Mb2dpY2FsT3JkZXIoKTsKQEAgLTE0OSw3ICsx
NDksNyBAQCBzdGF0aWMgTGF5b3V0SW50ZWdyYXRpb246OlJ1bkl0ZXJhdG9yIG5leHRUZXh0T3JM
aW5lQnJlYWtSdW4oTGF5b3V0SW50ZWdyYXRpb246OgogICAgIHJldHVybiB7IH07CiB9CiAKLXN0
YXRpYyBMYXlvdXRJbnRlZ3JhdGlvbjo6UnVuSXRlcmF0b3Igc3RhcnRUZXh0T3JMaW5lQnJlYWtS
dW4oTGF5b3V0SW50ZWdyYXRpb246OkxpbmVJdGVyYXRvciBsaW5lKQorc3RhdGljIExheW91dEJy
aWRnZTo6UnVuSXRlcmF0b3Igc3RhcnRUZXh0T3JMaW5lQnJlYWtSdW4oTGF5b3V0QnJpZGdlOjpM
aW5lSXRlcmF0b3IgbGluZSkKIHsKICAgICBhdXRvIHJ1biA9IGxpbmUubG9naWNhbFN0YXJ0UnVu
KCk7CiAgICAgaWYgKGlzVGV4dE9yTGluZUJyZWFrUnVuKHJ1bikpCkBAIC0xNTcsNyArMTU3LDcg
QEAgc3RhdGljIExheW91dEludGVncmF0aW9uOjpSdW5JdGVyYXRvciBzdGFydFRleHRPckxpbmVC
cmVha1J1bihMYXlvdXRJbnRlZ3JhdGlvbjoKICAgICByZXR1cm4gbmV4dFRleHRPckxpbmVCcmVh
a1J1bihydW4pOwogfQogCi1zdGF0aWMgTGF5b3V0SW50ZWdyYXRpb246OlJ1bkl0ZXJhdG9yIGVu
ZFRleHRPckxpbmVCcmVha1J1bihMYXlvdXRJbnRlZ3JhdGlvbjo6TGluZUl0ZXJhdG9yIGxpbmUp
CitzdGF0aWMgTGF5b3V0QnJpZGdlOjpSdW5JdGVyYXRvciBlbmRUZXh0T3JMaW5lQnJlYWtSdW4o
TGF5b3V0QnJpZGdlOjpMaW5lSXRlcmF0b3IgbGluZSkKIHsKICAgICBhdXRvIHJ1biA9IGxpbmUu
bG9naWNhbEVuZFJ1bigpOwogICAgIGlmIChpc1RleHRPckxpbmVCcmVha1J1bihydW4pKQpAQCAt
MTY1LDcgKzE2NSw3IEBAIHN0YXRpYyBMYXlvdXRJbnRlZ3JhdGlvbjo6UnVuSXRlcmF0b3IgZW5k
VGV4dE9yTGluZUJyZWFrUnVuKExheW91dEludGVncmF0aW9uOjpMCiAgICAgcmV0dXJuIHByZXZp
b3VzVGV4dE9yTGluZUJyZWFrUnVuKHJ1bik7CiB9CiAKLXN0YXRpYyBjb25zdCBMYXlvdXRJbnRl
Z3JhdGlvbjo6UnVuSXRlcmF0b3IgbG9naWNhbGx5UHJldmlvdXNSdW4oY29uc3QgVmlzaWJsZVBv
c2l0aW9uJiB2aXNpYmxlUG9zaXRpb24sIExheW91dEludGVncmF0aW9uOjpSdW5JdGVyYXRvciBz
dGFydFJ1biwgYm9vbCYgcHJldmlvdXNCb3hJbkRpZmZlcmVudExpbmUpCitzdGF0aWMgY29uc3Qg
TGF5b3V0QnJpZGdlOjpSdW5JdGVyYXRvciBsb2dpY2FsbHlQcmV2aW91c1J1bihjb25zdCBWaXNp
YmxlUG9zaXRpb24mIHZpc2libGVQb3NpdGlvbiwgTGF5b3V0QnJpZGdlOjpSdW5JdGVyYXRvciBz
dGFydFJ1biwgYm9vbCYgcHJldmlvdXNCb3hJbkRpZmZlcmVudExpbmUpCiB7CiAgICAgaWYgKGF1
dG8gcHJldmlvdXNSdW4gPSBwcmV2aW91c1RleHRPckxpbmVCcmVha1J1bihzdGFydFJ1bikpCiAg
ICAgICAgIHJldHVybiBwcmV2aW91c1J1bjsKQEAgLTIwMyw3ICsyMDMsNyBAQCBzdGF0aWMgY29u
c3QgTGF5b3V0SW50ZWdyYXRpb246OlJ1bkl0ZXJhdG9yIGxvZ2ljYWxseVByZXZpb3VzUnVuKGNv
bnN0IFZpc2libGVQbwogfQogCiAKLXN0YXRpYyBjb25zdCBMYXlvdXRJbnRlZ3JhdGlvbjo6UnVu
SXRlcmF0b3IgbG9naWNhbGx5TmV4dFJ1bihjb25zdCBWaXNpYmxlUG9zaXRpb24mIHZpc2libGVQ
b3NpdGlvbiwgTGF5b3V0SW50ZWdyYXRpb246OlJ1bkl0ZXJhdG9yIHN0YXJ0UnVuLCBib29sJiBu
ZXh0Qm94SW5EaWZmZXJlbnRMaW5lKQorc3RhdGljIGNvbnN0IExheW91dEJyaWRnZTo6UnVuSXRl
cmF0b3IgbG9naWNhbGx5TmV4dFJ1bihjb25zdCBWaXNpYmxlUG9zaXRpb24mIHZpc2libGVQb3Np
dGlvbiwgTGF5b3V0QnJpZGdlOjpSdW5JdGVyYXRvciBzdGFydFJ1biwgYm9vbCYgbmV4dEJveElu
RGlmZmVyZW50TGluZSkKIHsKICAgICBpZiAoYXV0byBuZXh0UnVuID0gbmV4dFRleHRPckxpbmVC
cmVha1J1bihzdGFydFJ1bikpCiAgICAgICAgIHJldHVybiBuZXh0UnVuOwpAQCAtMjQwLDcgKzI0
MCw3IEBAIHN0YXRpYyBjb25zdCBMYXlvdXRJbnRlZ3JhdGlvbjo6UnVuSXRlcmF0b3IgbG9naWNh
bGx5TmV4dFJ1bihjb25zdCBWaXNpYmxlUG9zaXRpCiAgICAgcmV0dXJuIHsgfTsKIH0KIAotc3Rh
dGljIFVCcmVha0l0ZXJhdG9yKiB3b3JkQnJlYWtJdGVyYXRvckZvck1pbk9mZnNldEJvdW5kYXJ5
KGNvbnN0IFZpc2libGVQb3NpdGlvbiYgdmlzaWJsZVBvc2l0aW9uLCBMYXlvdXRJbnRlZ3JhdGlv
bjo6VGV4dFJ1bkl0ZXJhdG9yIHRleHRSdW4sCitzdGF0aWMgVUJyZWFrSXRlcmF0b3IqIHdvcmRC
cmVha0l0ZXJhdG9yRm9yTWluT2Zmc2V0Qm91bmRhcnkoY29uc3QgVmlzaWJsZVBvc2l0aW9uJiB2
aXNpYmxlUG9zaXRpb24sIExheW91dEJyaWRnZTo6VGV4dFJ1bkl0ZXJhdG9yIHRleHRSdW4sCiAg
ICAgdW5zaWduZWQmIHByZXZpb3VzUnVuTGVuZ3RoLCBib29sJiBwcmV2aW91c1J1bkluRGlmZmVy
ZW50TGluZSwgVmVjdG9yPFVDaGFyLCAxMDI0PiYgc3RyaW5nKQogewogICAgIHByZXZpb3VzUnVu
SW5EaWZmZXJlbnRMaW5lID0gZmFsc2U7CkBAIC0yNTUsNyArMjU1LDcgQEAgc3RhdGljIFVCcmVh
a0l0ZXJhdG9yKiB3b3JkQnJlYWtJdGVyYXRvckZvck1pbk9mZnNldEJvdW5kYXJ5KGNvbnN0IFZp
c2libGVQb3NpdGkKICAgICBzdHJpbmcuY2xlYXIoKTsKIAogICAgIGlmIChwcmV2aW91c1J1bikg
ewotICAgICAgICBhdXRvJiBwcmV2aW91c1RleHRSdW4gPSBkb3duY2FzdDxMYXlvdXRJbnRlZ3Jh
dGlvbjo6VGV4dFJ1bkl0ZXJhdG9yPihwcmV2aW91c1J1bik7CisgICAgICAgIGF1dG8mIHByZXZp
b3VzVGV4dFJ1biA9IGRvd25jYXN0PExheW91dEJyaWRnZTo6VGV4dFJ1bkl0ZXJhdG9yPihwcmV2
aW91c1J1bik7CiAgICAgICAgIHByZXZpb3VzUnVuTGVuZ3RoID0gcHJldmlvdXNUZXh0UnVuLT5s
ZW5ndGgoKTsKICAgICAgICAgYXBwZW5kKHN0cmluZywgcHJldmlvdXNUZXh0UnVuLT50ZXh0KCkp
OwogICAgIH0KQEAgLTI2NCw3ICsyNjQsNyBAQCBzdGF0aWMgVUJyZWFrSXRlcmF0b3IqIHdvcmRC
cmVha0l0ZXJhdG9yRm9yTWluT2Zmc2V0Qm91bmRhcnkoY29uc3QgVmlzaWJsZVBvc2l0aQogICAg
IHJldHVybiB3b3JkQnJlYWtJdGVyYXRvcihTdHJpbmdWaWV3KHN0cmluZy5kYXRhKCksIHN0cmlu
Zy5zaXplKCkpKTsKIH0KIAotc3RhdGljIFVCcmVha0l0ZXJhdG9yKiB3b3JkQnJlYWtJdGVyYXRv
ckZvck1heE9mZnNldEJvdW5kYXJ5KGNvbnN0IFZpc2libGVQb3NpdGlvbiYgdmlzaWJsZVBvc2l0
aW9uLCBMYXlvdXRJbnRlZ3JhdGlvbjo6VGV4dFJ1bkl0ZXJhdG9yIHRleHRSdW4sCitzdGF0aWMg
VUJyZWFrSXRlcmF0b3IqIHdvcmRCcmVha0l0ZXJhdG9yRm9yTWF4T2Zmc2V0Qm91bmRhcnkoY29u
c3QgVmlzaWJsZVBvc2l0aW9uJiB2aXNpYmxlUG9zaXRpb24sIExheW91dEJyaWRnZTo6VGV4dFJ1
bkl0ZXJhdG9yIHRleHRSdW4sCiAgICAgYm9vbCYgbmV4dFJ1bkluRGlmZmVyZW50TGluZSwgVmVj
dG9yPFVDaGFyLCAxMDI0PiYgc3RyaW5nKQogewogICAgIG5leHRSdW5JbkRpZmZlcmVudExpbmUg
PSBmYWxzZTsKQEAgLTI4MCw3ICsyODAsNyBAQCBzdGF0aWMgVUJyZWFrSXRlcmF0b3IqIHdvcmRC
cmVha0l0ZXJhdG9yRm9yTWF4T2Zmc2V0Qm91bmRhcnkoY29uc3QgVmlzaWJsZVBvc2l0aQogICAg
IGFwcGVuZChzdHJpbmcsIHRleHRSdW4tPnRleHQoKSk7CiAKICAgICBpZiAobmV4dFJ1bikgewot
ICAgICAgICBhdXRvJiBuZXh0VGV4dFJ1biA9IGRvd25jYXN0PExheW91dEludGVncmF0aW9uOjpU
ZXh0UnVuSXRlcmF0b3I+KG5leHRSdW4pOworICAgICAgICBhdXRvJiBuZXh0VGV4dFJ1biA9IGRv
d25jYXN0PExheW91dEJyaWRnZTo6VGV4dFJ1bkl0ZXJhdG9yPihuZXh0UnVuKTsKICAgICAgICAg
YXBwZW5kKHN0cmluZywgbmV4dFRleHRSdW4tPnRleHQoKSk7CiAgICAgfQogCkBAIC0zMTMsNyAr
MzEzLDcgQEAgc3RhdGljIFZpc2libGVQb3NpdGlvbiB2aXN1YWxXb3JkUG9zaXRpb24oY29uc3Qg
VmlzaWJsZVBvc2l0aW9uJiB2aXNpYmxlUG9zaXRpb24KICAgICAgICAgcmV0dXJuIFZpc2libGVQ
b3NpdGlvbigpOwogCiAgICAgVGV4dERpcmVjdGlvbiBibG9ja0RpcmVjdGlvbiA9IGRpcmVjdGlv
bk9mRW5jbG9zaW5nQmxvY2sodmlzaWJsZVBvc2l0aW9uLmRlZXBFcXVpdmFsZW50KCkpOwotICAg
IExheW91dEludGVncmF0aW9uOjpSdW5JdGVyYXRvciBwcmV2aW91c2x5VmlzaXRlZFJ1bjsKKyAg
ICBMYXlvdXRCcmlkZ2U6OlJ1bkl0ZXJhdG9yIHByZXZpb3VzbHlWaXNpdGVkUnVuOwogICAgIFZp
c2libGVQb3NpdGlvbiBjdXJyZW50ID0gdmlzaWJsZVBvc2l0aW9uOwogICAgIHN0ZDo6b3B0aW9u
YWw8VmlzaWJsZVBvc2l0aW9uPiBwcmV2aW91c1Bvc2l0aW9uOwogICAgIFVCcmVha0l0ZXJhdG9y
KiBpdGVyID0gbnVsbHB0cjsKQEAgLTMzOCw3ICszMzgsNyBAQCBzdGF0aWMgVmlzaWJsZVBvc2l0
aW9uIHZpc3VhbFdvcmRQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24mIHZpc2libGVQb3Np
dGlvbgogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KIAotICAgICAgICBhdXRvJiB0
ZXh0UnVuID0gZG93bmNhc3Q8TGF5b3V0SW50ZWdyYXRpb246OlRleHRSdW5JdGVyYXRvcj4ocnVu
KTsKKyAgICAgICAgYXV0byYgdGV4dFJ1biA9IGRvd25jYXN0PExheW91dEJyaWRnZTo6VGV4dFJ1
bkl0ZXJhdG9yPihydW4pOwogICAgICAgICB1bnNpZ25lZCBwcmV2aW91c1J1bkxlbmd0aCA9IDA7
CiAgICAgICAgIGJvb2wgcHJldmlvdXNSdW5JbkRpZmZlcmVudExpbmUgPSBmYWxzZTsKICAgICAg
ICAgYm9vbCBuZXh0UnVuSW5EaWZmZXJlbnRMaW5lID0gZmFsc2U7CkBAIC03NDUsNyArNzQ1LDcg
QEAgc3RhdGljIFZpc2libGVQb3NpdGlvbiBzdGFydFBvc2l0aW9uRm9yTGluZShjb25zdCBWaXNp
YmxlUG9zaXRpb24mIGMsIExpbmVFbmRwb2kKICAgICB9CiAKICAgICBOb2RlKiBzdGFydE5vZGU7
Ci0gICAgTGF5b3V0SW50ZWdyYXRpb246OlJ1bkl0ZXJhdG9yIHN0YXJ0UnVuID0gbW9kZSA9PSBV
c2VMb2dpY2FsT3JkZXJpbmcgPyBsaW5lLmxvZ2ljYWxTdGFydFJ1bldpdGhOb2RlKCkgOiBsaW5l
LmZpcnN0UnVuKCk7CisgICAgTGF5b3V0QnJpZGdlOjpSdW5JdGVyYXRvciBzdGFydFJ1biA9IG1v
ZGUgPT0gVXNlTG9naWNhbE9yZGVyaW5nID8gbGluZS5sb2dpY2FsU3RhcnRSdW5XaXRoTm9kZSgp
IDogbGluZS5maXJzdFJ1bigpOwogICAgIC8vIEdlbmVyYXRlZCBjb250ZW50IChlLmcuIGxpc3Qg
bWFya2VycyBhbmQgQ1NTIDpiZWZvcmUgYW5kIDphZnRlciBwc2V1ZG9lbGVtZW50cykgaGF2ZSBu
byBjb3JyZXNwb25kaW5nIERPTSBlbGVtZW50LAogICAgIC8vIGFuZCBzbyBjYW5ub3QgYmUgcmVw
cmVzZW50ZWQgYnkgYSBWaXNpYmxlUG9zaXRpb24uIFVzZSB3aGF0ZXZlciBmb2xsb3dzIGluc3Rl
YWQuCiAgICAgd2hpbGUgKHRydWUpIHsKQEAgLTc2Miw3ICs3NjIsNyBAQCBzdGF0aWMgVmlzaWJs
ZVBvc2l0aW9uIHN0YXJ0UG9zaXRpb25Gb3JMaW5lKGNvbnN0IFZpc2libGVQb3NpdGlvbiYgYywg
TGluZUVuZHBvaQogICAgICAgICAgICAgc3RhcnRSdW4udHJhdmVyc2VOZXh0T25MaW5lKCk7CiAg
ICAgfQogCi0gICAgcmV0dXJuIGlzPFRleHQ+KCpzdGFydE5vZGUpID8gUG9zaXRpb24oZG93bmNh
c3Q8VGV4dD4oc3RhcnROb2RlKSwgZG93bmNhc3Q8TGF5b3V0SW50ZWdyYXRpb246OlBhdGhUZXh0
UnVuPigqc3RhcnRSdW4pLnN0YXJ0KCkpCisgICAgcmV0dXJuIGlzPFRleHQ+KCpzdGFydE5vZGUp
ID8gUG9zaXRpb24oZG93bmNhc3Q8VGV4dD4oc3RhcnROb2RlKSwgZG93bmNhc3Q8TGF5b3V0QnJp
ZGdlOjpQYXRoVGV4dFJ1bj4oKnN0YXJ0UnVuKS5zdGFydCgpKQogICAgICAgICA6IHBvc2l0aW9u
QmVmb3JlTm9kZShzdGFydE5vZGUpOwogfQogCkBAIC04MTUsNyArODE1LDcgQEAgc3RhdGljIFZp
c2libGVQb3NpdGlvbiBlbmRQb3NpdGlvbkZvckxpbmUoY29uc3QgVmlzaWJsZVBvc2l0aW9uJiBj
LCBMaW5lRW5kcG9pbnQKICAgICB9CiAKICAgICBOb2RlKiBlbmROb2RlOwotICAgIExheW91dElu
dGVncmF0aW9uOjpSdW5JdGVyYXRvciBlbmRSdW4gPSBtb2RlID09IFVzZUxvZ2ljYWxPcmRlcmlu
ZyA/IGxpbmUubG9naWNhbEVuZFJ1bldpdGhOb2RlKCkgOiBsaW5lLmxhc3RSdW4oKTsKKyAgICBM
YXlvdXRCcmlkZ2U6OlJ1bkl0ZXJhdG9yIGVuZFJ1biA9IG1vZGUgPT0gVXNlTG9naWNhbE9yZGVy
aW5nID8gbGluZS5sb2dpY2FsRW5kUnVuV2l0aE5vZGUoKSA6IGxpbmUubGFzdFJ1bigpOwogICAg
IC8vIEdlbmVyYXRlZCBjb250ZW50IChlLmcuIGxpc3QgbWFya2VycyBhbmQgQ1NTIDpiZWZvcmUg
YW5kIDphZnRlciBwc2V1ZG9lbGVtZW50cykgaGF2ZSBubyBjb3JyZXNwb25kaW5nIERPTSBlbGVt
ZW50LAogICAgIC8vIGFuZCBzbyBjYW5ub3QgYmUgcmVwcmVzZW50ZWQgYnkgYSBWaXNpYmxlUG9z
aXRpb24uIFVzZSB3aGF0ZXZlciBwcmVjZWRlcyBpbnN0ZWFkLgogICAgIHdoaWxlICh0cnVlKSB7
CkBAIC04MzUsOCArODM1LDggQEAgc3RhdGljIFZpc2libGVQb3NpdGlvbiBlbmRQb3NpdGlvbkZv
ckxpbmUoY29uc3QgVmlzaWJsZVBvc2l0aW9uJiBjLCBMaW5lRW5kcG9pbnQKICAgICBQb3NpdGlv
biBwb3M7CiAgICAgaWYgKGlzPEhUTUxCUkVsZW1lbnQ+KCplbmROb2RlKSkKICAgICAgICAgcG9z
ID0gcG9zaXRpb25CZWZvcmVOb2RlKGVuZE5vZGUpOwotICAgIGVsc2UgaWYgKGlzPExheW91dElu
dGVncmF0aW9uOjpQYXRoVGV4dFJ1bj4oKmVuZFJ1bikgJiYgaXM8VGV4dD4oKmVuZE5vZGUpKSB7
Ci0gICAgICAgIGF1dG8mIGVuZFRleHRSdW4gPSBkb3duY2FzdDxMYXlvdXRJbnRlZ3JhdGlvbjo6
UGF0aFRleHRSdW4+KCplbmRSdW4pOworICAgIGVsc2UgaWYgKGlzPExheW91dEJyaWRnZTo6UGF0
aFRleHRSdW4+KCplbmRSdW4pICYmIGlzPFRleHQ+KCplbmROb2RlKSkgeworICAgICAgICBhdXRv
JiBlbmRUZXh0UnVuID0gZG93bmNhc3Q8TGF5b3V0QnJpZGdlOjpQYXRoVGV4dFJ1bj4oKmVuZFJ1
bik7CiAgICAgICAgIGludCBlbmRPZmZzZXQgPSBlbmRUZXh0UnVuLnN0YXJ0KCk7CiAgICAgICAg
IGlmICghZW5kVGV4dFJ1bi5pc0xpbmVCcmVhaygpKQogICAgICAgICAgICAgZW5kT2Zmc2V0ICs9
IGVuZFRleHRSdW4ubGVuZ3RoKCk7CkBAIC05MjcsNyArOTI3LDcgQEAgYm9vbCBpc0xvZ2ljYWxF
bmRPZkxpbmUoY29uc3QgVmlzaWJsZVBvc2l0aW9uJiBwKQogICAgIHJldHVybiBwLmlzTm90TnVs
bCgpICYmIHAgPT0gbG9naWNhbEVuZE9mTGluZShwKTsKIH0KIAotc3RhdGljIGlubGluZSBJbnRQ
b2ludCBhYnNvbHV0ZUxpbmVEaXJlY3Rpb25Qb2ludFRvTG9jYWxQb2ludEluQmxvY2soTGF5b3V0
SW50ZWdyYXRpb246OkxpbmVJdGVyYXRvciYgbGluZSwgaW50IGxpbmVEaXJlY3Rpb25Qb2ludCkK
K3N0YXRpYyBpbmxpbmUgSW50UG9pbnQgYWJzb2x1dGVMaW5lRGlyZWN0aW9uUG9pbnRUb0xvY2Fs
UG9pbnRJbkJsb2NrKExheW91dEJyaWRnZTo6TGluZUl0ZXJhdG9yJiBsaW5lLCBpbnQgbGluZURp
cmVjdGlvblBvaW50KQogewogICAgIGF1dG8mIGNvbnRhaW5pbmdCbG9jayA9IGxpbmUtPmNvbnRh
aW5pbmdCbG9jaygpOwogICAgIEZsb2F0UG9pbnQgYWJzb2x1dGVCbG9ja1BvaW50ID0gY29udGFp
bmluZ0Jsb2NrLmxvY2FsVG9BYnNvbHV0ZShGbG9hdFBvaW50KCkpIC0gdG9GbG9hdFNpemUoY29u
dGFpbmluZ0Jsb2NrLnNjcm9sbFBvc2l0aW9uKCkpOwpAQCAtOTU5LDcgKzk1OSw3IEBAIFZpc2li
bGVQb3NpdGlvbiBwcmV2aW91c0xpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24mIHZp
c2libGVQb3NpdGlvbiwgaW50CiAgICAgaWYgKCFyZW5kZXJlcikKICAgICAgICAgcmV0dXJuIFZp
c2libGVQb3NpdGlvbigpOwogCi0gICAgTGF5b3V0SW50ZWdyYXRpb246OkxpbmVJdGVyYXRvciBs
aW5lOworICAgIExheW91dEJyaWRnZTo6TGluZUl0ZXJhdG9yIGxpbmU7CiAgICAgaWYgKGF1dG8g
cnVuID0gdmlzaWJsZVBvc2l0aW9uLmlubGluZVJ1bkFuZE9mZnNldCgpLnJ1bikgewogICAgICAg
ICBsaW5lID0gcnVuLmxpbmUoKS5wcmV2aW91cygpOwogICAgICAgICAvLyBXZSB3YW50IHRvIHNr
aXAgemVybyBoZWlnaHQgYm94ZXMuCkBAIC0xMDA5LDcgKzEwMDksNyBAQCBWaXNpYmxlUG9zaXRp
b24gbmV4dExpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24mIHZpc2libGVQb3NpdGlv
biwgaW50IGxpbgogICAgIGlmICghbm9kZS0+cmVuZGVyZXIoKSkKICAgICAgICAgcmV0dXJuIFZp
c2libGVQb3NpdGlvbigpOwogCi0gICAgTGF5b3V0SW50ZWdyYXRpb246OkxpbmVJdGVyYXRvciBs
aW5lOworICAgIExheW91dEJyaWRnZTo6TGluZUl0ZXJhdG9yIGxpbmU7CiAgICAgaWYgKGF1dG8g
cnVuID0gdmlzaWJsZVBvc2l0aW9uLmlubGluZVJ1bkFuZE9mZnNldCgpLnJ1bikgewogICAgICAg
ICBsaW5lID0gcnVuLmxpbmUoKS5uZXh0KCk7CiAgICAgICAgIC8vIFdlIHdhbnQgdG8gc2tpcCB6
ZXJvIGhlaWdodCBib3hlcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRl
Z3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkJveFRyZWUuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VCb3hUcmVlLmNwcApzaW1pbGFyaXR5IGluZGV4IDk5JQpy
ZW5hbWUgZnJvbSBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdy
YXRpb25Cb3hUcmVlLmNwcApyZW5hbWUgdG8gU291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRnZS9M
YXlvdXRCcmlkZ2VCb3hUcmVlLmNwcAppbmRleCBiNWNmNjMwOGE4MmUuLjQyMDI3Y2Y1YzA4YSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVn
cmF0aW9uQm94VHJlZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRnZS9MYXlv
dXRCcmlkZ2VCb3hUcmVlLmNwcApAQCAtMjQsNyArMjQsNyBAQAogICovCiAKICNpbmNsdWRlICJj
b25maWcuaCIKLSNpbmNsdWRlICJMYXlvdXRJbnRlZ3JhdGlvbkJveFRyZWUuaCIKKyNpbmNsdWRl
ICJMYXlvdXRCcmlkZ2VCb3hUcmVlLmgiCiAKICNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdf
Q09OVEVYVCkKIApAQCAtMzksNyArMzksNyBAQAogI2luY2x1ZGUgIlJlbmRlckxpbmVCcmVhay5o
IgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci1uYW1lc3BhY2UgTGF5b3V0SW50ZWdyYXRpb24gewor
bmFtZXNwYWNlIExheW91dEJyaWRnZSB7CiAKIHN0YXRpYyBjb25zdGV4cHIgc2l6ZV90IHNtYWxs
VHJlZVRocmVzaG9sZCA9IDg7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9p
bnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkJveFRyZWUuaCBiL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9icmlkZ2UvTGF5b3V0QnJpZGdlQm94VHJlZS5oCnNpbWlsYXJpdHkgaW5kZXggOTglCnJl
bmFtZSBmcm9tIFNvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3Jh
dGlvbkJveFRyZWUuaApyZW5hbWUgdG8gU291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRnZS9MYXlv
dXRCcmlkZ2VCb3hUcmVlLmgKaW5kZXggOTQwYjhhYjdkNTc1Li4yYmJhYzg5Mjg2OTMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlv
bkJveFRyZWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYnJpZGdlL0xheW91dEJyaWRn
ZUJveFRyZWUuaApAQCAtMzYsNyArMzYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBS
ZW5kZXJCbG9ja0Zsb3c7CiBjbGFzcyBSZW5kZXJCb3hNb2RlbE9iamVjdDsKIAotbmFtZXNwYWNl
IExheW91dEludGVncmF0aW9uIHsKK25hbWVzcGFjZSBMYXlvdXRCcmlkZ2UgewogCiBjbGFzcyBC
b3hUcmVlIHsKIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRl
Z3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkNvdmVyYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9icmlkZ2UvTGF5b3V0QnJpZGdlQ292ZXJhZ2UuY3BwCnNpbWlsYXJpdHkgaW5kZXggOTkl
CnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRl
Z3JhdGlvbkNvdmVyYWdlLmNwcApyZW5hbWUgdG8gU291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRn
ZS9MYXlvdXRCcmlkZ2VDb3ZlcmFnZS5jcHAKaW5kZXggM2QzNTY1MTFiNTNiLi44ZDE4ZmRmNGM3
MTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJ
bnRlZ3JhdGlvbkNvdmVyYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYnJpZGdl
L0xheW91dEJyaWRnZUNvdmVyYWdlLmNwcApAQCAtMjQsNyArMjQsNyBAQAogICovCiAKICNpbmNs
dWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJMYXlvdXRJbnRlZ3JhdGlvbkNvdmVyYWdlLmgiCisj
aW5jbHVkZSAiTGF5b3V0QnJpZGdlQ292ZXJhZ2UuaCIKIAogI2luY2x1ZGUgIkRvY3VtZW50TWFy
a2VyQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50Lmgi
CkBAIC04MSw3ICs4MSw3IEBACiAjZW5kaWYKIAogbmFtZXNwYWNlIFdlYkNvcmUgewotbmFtZXNw
YWNlIExheW91dEludGVncmF0aW9uIHsKK25hbWVzcGFjZSBMYXlvdXRCcmlkZ2UgewogCiAjaWZu
ZGVmIE5ERUJVRwogc3RhdGljIHZvaWQgcHJpbnRSZWFzb24oQXZvaWRhbmNlUmVhc29uIHJlYXNv
biwgVGV4dFN0cmVhbSYgc3RyZWFtKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uQ292ZXJhZ2UuaCBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9icmlkZ2UvTGF5b3V0QnJpZGdlQ292ZXJhZ2UuaApzaW1pbGFyaXR5IGluZGV4IDk5
JQpyZW5hbWUgZnJvbSBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50
ZWdyYXRpb25Db3ZlcmFnZS5oCnJlbmFtZSB0byBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvYnJpZGdl
L0xheW91dEJyaWRnZUNvdmVyYWdlLmgKaW5kZXggNmY4ZTU1YzRlZmNhLi5iNWZkNjQ0MDRkMzcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRl
Z3JhdGlvbkNvdmVyYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRnZS9MYXlv
dXRCcmlkZ2VDb3ZlcmFnZS5oCkBAIC0zNCw3ICszNCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogY2xhc3MgUmVuZGVyQmxvY2tGbG93OwogCi1uYW1lc3BhY2UgTGF5b3V0SW50ZWdyYXRpb24g
eworbmFtZXNwYWNlIExheW91dEJyaWRnZSB7CiAKIGVudW0gY2xhc3MgQXZvaWRhbmNlUmVhc29u
IDogdWludDY0X3QgewogICAgIEZsb3dJc0luc2lkZUFOb25NdWx0aUNvbHVtblRocmVhZCAgICAg
ICAgICAgID0gMUxMVSAgPDwgMCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9p
bnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VJbmxpbmVDb250ZW50LmNwcApzaW1pbGFy
aXR5IGluZGV4IDk1JQpyZW5hbWUgZnJvbSBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRp
b24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50LmNwcApyZW5hbWUgdG8gU291cmNlL1dl
YkNvcmUvbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VJbmxpbmVDb250ZW50LmNwcAppbmRleCAw
MDlkYjliNjFkMjguLjE3OTc0ZGY4ZDkxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VJbmxpbmVDb250ZW50LmNw
cApAQCAtMjQsMTYgKzI0LDE2IEBACiAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVk
ZSAiTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50LmgiCisjaW5jbHVkZSAiTGF5b3V0QnJp
ZGdlSW5saW5lQ29udGVudC5oIgogCiAjaWYgRU5BQkxFKExBWU9VVF9GT1JNQVRUSU5HX0NPTlRF
WFQpCiAKLSNpbmNsdWRlICJMYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuaCIKKyNpbmNsdWRl
ICJMYXlvdXRCcmlkZ2VMaW5lTGF5b3V0LmgiCiAjaW5jbHVkZSAiUnVudGltZUVuYWJsZWRGZWF0
dXJlcy5oIgogI2luY2x1ZGUgIlRleHRQYWludGVyLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
LW5hbWVzcGFjZSBMYXlvdXRJbnRlZ3JhdGlvbiB7CituYW1lc3BhY2UgTGF5b3V0QnJpZGdlIHsK
IAogSW5saW5lQ29udGVudDo6SW5saW5lQ29udGVudChjb25zdCBMaW5lTGF5b3V0JiBsaW5lTGF5
b3V0KQogICAgIDogbV9saW5lTGF5b3V0KG1ha2VXZWFrUHRyKGxpbmVMYXlvdXQpKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9u
SW5saW5lQ29udGVudC5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlk
Z2VJbmxpbmVDb250ZW50LmgKc2ltaWxhcml0eSBpbmRleCA5NiUKcmVuYW1lIGZyb20gU291cmNl
L1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVu
dC5oCnJlbmFtZSB0byBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZUlu
bGluZUNvbnRlbnQuaAppbmRleCBlM2RkNWYwZDRhYTYuLjE4NTkxMmJmODg5YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uSW5s
aW5lQ29udGVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9icmlkZ2UvTGF5b3V0QnJp
ZGdlSW5saW5lQ29udGVudC5oCkBAIC0yNyw4ICsyNyw4IEBACiAKICNpZiBFTkFCTEUoTEFZT1VU
X0ZPUk1BVFRJTkdfQ09OVEVYVCkKIAotI2luY2x1ZGUgIkxheW91dEludGVncmF0aW9uTGluZS5o
IgotI2luY2x1ZGUgIkxheW91dEludGVncmF0aW9uUnVuLmgiCisjaW5jbHVkZSAiTGF5b3V0QnJp
ZGdlTGluZS5oIgorI2luY2x1ZGUgIkxheW91dEJyaWRnZVJ1bi5oIgogI2luY2x1ZGUgPHd0Zi9J
dGVyYXRvclJhbmdlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi9X
ZWFrUHRyLmg+CkBAIC00Miw3ICs0Miw3IEBAIG5hbWVzcGFjZSBMYXlvdXQgewogY2xhc3MgQm94
OwogfQogCi1uYW1lc3BhY2UgTGF5b3V0SW50ZWdyYXRpb24geworbmFtZXNwYWNlIExheW91dEJy
aWRnZSB7CiAKIGNsYXNzIExpbmVMYXlvdXQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9icmlkZ2UvTGF5b3V0QnJpZGdlSW5saW5lQ29u
dGVudEJ1aWxkZXIuY3BwCnNpbWlsYXJpdHkgaW5kZXggOTklCnJlbmFtZSBmcm9tIFNvdXJjZS9X
ZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRC
dWlsZGVyLmNwcApyZW5hbWUgdG8gU291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRnZS9MYXlvdXRC
cmlkZ2VJbmxpbmVDb250ZW50QnVpbGRlci5jcHAKaW5kZXggMDQ0MWMyOGVlMjEzLi44ZmY4N2Iw
OGY2YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlv
dXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZUlubGluZUNvbnRlbnRCdWlsZGVyLmNwcApAQCAt
MjQsNyArMjQsNyBAQAogKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkxheW91
dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuaCIKKyNpbmNsdWRlICJMYXlvdXRCcmlk
Z2VJbmxpbmVDb250ZW50QnVpbGRlci5oIgogCiAjaWYgRU5BQkxFKExBWU9VVF9GT1JNQVRUSU5H
X0NPTlRFWFQpCiAKQEAgLTMzLDE2ICszMywxNiBAQAogI2luY2x1ZGUgIklubGluZUZvcm1hdHRp
bmdHZW9tZXRyeS5oIgogI2luY2x1ZGUgIklubGluZUZvcm1hdHRpbmdTdGF0ZS5oIgogI2luY2x1
ZGUgIkxheW91dEJveEdlb21ldHJ5LmgiCi0jaW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRpb25Cb3hU
cmVlLmgiCi0jaW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50LmgiCi0jaW5j
bHVkZSAiTGF5b3V0SW50ZWdyYXRpb25SdW4uaCIKKyNpbmNsdWRlICJMYXlvdXRCcmlkZ2VCb3hU
cmVlLmgiCisjaW5jbHVkZSAiTGF5b3V0QnJpZGdlSW5saW5lQ29udGVudC5oIgorI2luY2x1ZGUg
IkxheW91dEJyaWRnZVJ1bi5oIgogI2luY2x1ZGUgIkxheW91dFJlcGxhY2VkQm94LmgiCiAjaW5j
bHVkZSAiTGF5b3V0U3RhdGUuaCIKICNpbmNsdWRlICJSZW5kZXJCbG9ja0Zsb3cuaCIKICNpbmNs
dWRlICJTdHJpbmdUcnVuY2F0b3IuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewotbmFtZXNwYWNl
IExheW91dEludGVncmF0aW9uIHsKK25hbWVzcGFjZSBMYXlvdXRCcmlkZ2UgewogCiAjZGVmaW5l
IFBST0NFU1NfQklESV9DT05URU5UIDAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9icmlkZ2UvTGF5b3V0QnJpZGdlSW5saW5lQ29udGVudEJ1
aWxkZXIuaApzaW1pbGFyaXR5IGluZGV4IDk4JQpyZW5hbWUgZnJvbSBTb3VyY2UvV2ViQ29yZS9s
YXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50QnVpbGRlci5o
CnJlbmFtZSB0byBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZUlubGlu
ZUNvbnRlbnRCdWlsZGVyLmgKaW5kZXggYTA3YTk3NTdhNGU0Li5kZTk5MDU5NmE2MTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlv
bklubGluZUNvbnRlbnRCdWlsZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRn
ZS9MYXlvdXRCcmlkZ2VJbmxpbmVDb250ZW50QnVpbGRlci5oCkBAIC0zOSw3ICszOSw3IEBAIGNs
YXNzIElubGluZUZvcm1hdHRpbmdTdGF0ZTsKIGNsYXNzIExheW91dFN0YXRlOwogfQogCi1uYW1l
c3BhY2UgTGF5b3V0SW50ZWdyYXRpb24geworbmFtZXNwYWNlIExheW91dEJyaWRnZSB7CiAKIGNs
YXNzIEJveFRyZWU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3Jh
dGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmUuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9icmlk
Z2UvTGF5b3V0QnJpZGdlTGluZS5oCnNpbWlsYXJpdHkgaW5kZXggOTklCnJlbmFtZSBmcm9tIFNv
dXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmUuaApy
ZW5hbWUgdG8gU291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VMaW5lLmgK
aW5kZXggZDJkYzU3ZmM1M2JkLi40NmRhODYzOGUwZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZUxpbmUuaApAQCAtMzEsNyArMzEs
NyBAQAogI2luY2x1ZGUgIkxheW91dEJveC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci1uYW1l
c3BhY2UgTGF5b3V0SW50ZWdyYXRpb24geworbmFtZXNwYWNlIExheW91dEJyaWRnZSB7CiAKIGNs
YXNzIExpbmUgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZUl0ZXJh
dG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9icmlkZ2UvTGF5b3V0QnJpZGdlTGluZUl0
ZXJhdG9yLmNwcApzaW1pbGFyaXR5IGluZGV4IDk3JQpyZW5hbWUgZnJvbSBTb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3IuY3BwCnJl
bmFtZSB0byBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZUxpbmVJdGVy
YXRvci5jcHAKaW5kZXggYzFjYWZmOGY3ZjhjLi5mOTlmZTJhMmRlNjkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVJdGVy
YXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VM
aW5lSXRlcmF0b3IuY3BwCkBAIC0yNCwxNCArMjQsMTQgQEAKICAqLwogCiAjaW5jbHVkZSAiY29u
ZmlnLmgiCi0jaW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3IuaCIKKyNpbmNs
dWRlICJMYXlvdXRCcmlkZ2VMaW5lSXRlcmF0b3IuaCIKIAotI2luY2x1ZGUgIkxheW91dEludGVn
cmF0aW9uTGluZUxheW91dC5oIgotI2luY2x1ZGUgIkxheW91dEludGVncmF0aW9uUnVuSXRlcmF0
b3IuaCIKKyNpbmNsdWRlICJMYXlvdXRCcmlkZ2VMaW5lTGF5b3V0LmgiCisjaW5jbHVkZSAiTGF5
b3V0QnJpZGdlUnVuSXRlcmF0b3IuaCIKICNpbmNsdWRlICJSZW5kZXJCbG9ja0Zsb3cuaCIKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewotbmFtZXNwYWNlIExheW91dEludGVncmF0aW9uIHsKK25hbWVz
cGFjZSBMYXlvdXRCcmlkZ2UgewogCiBMaW5lSXRlcmF0b3I6OkxpbmVJdGVyYXRvcihQYXRoTGlu
ZTo6UGF0aFZhcmlhbnQmJiBwYXRoVmFyaWFudCkKICAgICA6IG1fbGluZShXVEZNb3ZlKHBhdGhW
YXJpYW50KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9M
YXlvdXRJbnRlZ3JhdGlvbkxpbmVJdGVyYXRvci5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jy
aWRnZS9MYXlvdXRCcmlkZ2VMaW5lSXRlcmF0b3IuaApzaW1pbGFyaXR5IGluZGV4IDk3JQpyZW5h
bWUgZnJvbSBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRp
b25MaW5lSXRlcmF0b3IuaApyZW5hbWUgdG8gU291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRnZS9M
YXlvdXRCcmlkZ2VMaW5lSXRlcmF0b3IuaAppbmRleCA4ZWI0NDE1MmI4OWIuLjRmZjkzZGQ1ZDg5
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dElu
dGVncmF0aW9uTGluZUl0ZXJhdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRn
ZS9MYXlvdXRCcmlkZ2VMaW5lSXRlcmF0b3IuaApAQCAtMjUsMTMgKzI1LDEzIEBACiAKICNwcmFn
bWEgb25jZQogCi0jaW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3JMZWdhY3lQ
YXRoLmgiCi0jaW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3JNb2Rlcm5QYXRo
LmgiCisjaW5jbHVkZSAiTGF5b3V0QnJpZGdlTGluZUl0ZXJhdG9yTGVnYWN5UGF0aC5oIgorI2lu
Y2x1ZGUgIkxheW91dEJyaWRnZUxpbmVJdGVyYXRvck1vZGVyblBhdGguaCIKICNpbmNsdWRlIDx3
dGYvVmFyaWFudC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLW5hbWVzcGFjZSBMYXlvdXRJ
bnRlZ3JhdGlvbiB7CituYW1lc3BhY2UgTGF5b3V0QnJpZGdlIHsKIAogY2xhc3MgTGluZUl0ZXJh
dG9yOwogY2xhc3MgUGF0aEl0ZXJhdG9yOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZUl0ZXJhdG9yTGVnYWN5UGF0aC5o
IGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VMaW5lSXRlcmF0b3JM
ZWdhY3lQYXRoLmgKc2ltaWxhcml0eSBpbmRleCA5NiUKcmVuYW1lIGZyb20gU291cmNlL1dlYkNv
cmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZUl0ZXJhdG9yTGVnYWN5
UGF0aC5oCnJlbmFtZSB0byBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvYnJpZGdlL0xheW91dEJyaWRn
ZUxpbmVJdGVyYXRvckxlZ2FjeVBhdGguaAppbmRleCBjZTIwMWNjNDNlZWYuLjA3NjBiYjc2YzM2
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dElu
dGVncmF0aW9uTGluZUl0ZXJhdG9yTGVnYWN5UGF0aC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9icmlkZ2UvTGF5b3V0QnJpZGdlTGluZUl0ZXJhdG9yTGVnYWN5UGF0aC5oCkBAIC0yNSwx
MyArMjUsMTMgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpbmNsdWRlICJMYXlvdXRJbnRlZ3JhdGlv
bklubGluZUNvbnRlbnQuaCIKLSNpbmNsdWRlICJMYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9y
TGVnYWN5UGF0aC5oIgorI2luY2x1ZGUgIkxheW91dEJyaWRnZUlubGluZUNvbnRlbnQuaCIKKyNp
bmNsdWRlICJMYXlvdXRCcmlkZ2VSdW5JdGVyYXRvckxlZ2FjeVBhdGguaCIKICNpbmNsdWRlICJM
ZWdhY3lSb290SW5saW5lQm94LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotbmFtZXNwYWNl
IExheW91dEludGVncmF0aW9uIHsKK25hbWVzcGFjZSBMYXlvdXRCcmlkZ2UgewogCiBjbGFzcyBM
aW5lSXRlcmF0b3JMZWdhY3lQYXRoIHsKIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVJdGVyYXRvck1vZGVy
blBhdGguaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9icmlkZ2UvTGF5b3V0QnJpZGdlTGluZUl0
ZXJhdG9yTW9kZXJuUGF0aC5oCnNpbWlsYXJpdHkgaW5kZXggOTclCnJlbmFtZSBmcm9tIFNvdXJj
ZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVJdGVyYXRv
ck1vZGVyblBhdGguaApyZW5hbWUgdG8gU291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRnZS9MYXlv
dXRCcmlkZ2VMaW5lSXRlcmF0b3JNb2Rlcm5QYXRoLmgKaW5kZXggYTgyMTA0NjFlYzkwLi4wOWJl
MWY1NjFiZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9M
YXlvdXRJbnRlZ3JhdGlvbkxpbmVJdGVyYXRvck1vZGVyblBhdGguaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZUxpbmVJdGVyYXRvck1vZGVyblBhdGguaApA
QCAtMjcsMTIgKzI3LDEyIEBACiAKICNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVY
VCkKIAotI2luY2x1ZGUgIkxheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudC5oIgotI2luY2x1
ZGUgIkxheW91dEludGVncmF0aW9uUnVuSXRlcmF0b3JNb2Rlcm5QYXRoLmgiCisjaW5jbHVkZSAi
TGF5b3V0QnJpZGdlSW5saW5lQ29udGVudC5oIgorI2luY2x1ZGUgIkxheW91dEJyaWRnZVJ1bkl0
ZXJhdG9yTW9kZXJuUGF0aC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLW5hbWVzcGFjZSBM
YXlvdXRJbnRlZ3JhdGlvbiB7CituYW1lc3BhY2UgTGF5b3V0QnJpZGdlIHsKIAogY2xhc3MgUnVu
SXRlcmF0b3JNb2Rlcm5QYXRoOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
aW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9icmlkZ2UvTGF5b3V0QnJpZGdlTGluZUxheW91dC5jcHAKc2ltaWxhcml0eSBp
bmRleCA5OSUKcmVuYW1lIGZyb20gU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xh
eW91dEludGVncmF0aW9uTGluZUxheW91dC5jcHAKcmVuYW1lIHRvIFNvdXJjZS9XZWJDb3JlL2xh
eW91dC9icmlkZ2UvTGF5b3V0QnJpZGdlTGluZUxheW91dC5jcHAKaW5kZXggN2Y5Mzk3YTJhYTdi
Li5hNDdmOTA2YThhMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3Jh
dGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9icmlkZ2UvTGF5b3V0QnJpZGdlTGluZUxheW91dC5jcHAKQEAgLTI0LDcgKzI0LDcg
QEAKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRp
b25MaW5lTGF5b3V0LmgiCisjaW5jbHVkZSAiTGF5b3V0QnJpZGdlTGluZUxheW91dC5oIgogCiAj
aWYgRU5BQkxFKExBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpCiAKQEAgLTM3LDkgKzM3LDkgQEAK
ICNpbmNsdWRlICJJbmxpbmVGb3JtYXR0aW5nU3RhdGUuaCIKICNpbmNsdWRlICJJbnZhbGlkYXRp
b25TdGF0ZS5oIgogI2luY2x1ZGUgIkxheW91dEJveEdlb21ldHJ5LmgiCi0jaW5jbHVkZSAiTGF5
b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5oIgotI2luY2x1ZGUgIkxheW91dEludGVncmF0aW9uSW5s
aW5lQ29udGVudEJ1aWxkZXIuaCIKLSNpbmNsdWRlICJMYXlvdXRJbnRlZ3JhdGlvblBhZ2luYXRp
b24uaCIKKyNpbmNsdWRlICJMYXlvdXRCcmlkZ2VDb3ZlcmFnZS5oIgorI2luY2x1ZGUgIkxheW91
dEJyaWRnZUlubGluZUNvbnRlbnRCdWlsZGVyLmgiCisjaW5jbHVkZSAiTGF5b3V0QnJpZGdlUGFn
aW5hdGlvbi5oIgogI2luY2x1ZGUgIkxheW91dFJlcGxhY2VkQm94LmgiCiAjaW5jbHVkZSAiTGF5
b3V0VHJlZUJ1aWxkZXIuaCIKICNpbmNsdWRlICJQYWludEluZm8uaCIKQEAgLTU2LDcgKzU2LDcg
QEAKICNpbmNsdWRlICJUZXh0UGFpbnRlci5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci1uYW1l
c3BhY2UgTGF5b3V0SW50ZWdyYXRpb24geworbmFtZXNwYWNlIExheW91dEJyaWRnZSB7CiAKIExp
bmVMYXlvdXQ6OkxpbmVMYXlvdXQoUmVuZGVyQmxvY2tGbG93JiBmbG93KQogICAgIDogbV9ib3hU
cmVlKGZsb3cpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24v
TGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYnJp
ZGdlL0xheW91dEJyaWRnZUxpbmVMYXlvdXQuaApzaW1pbGFyaXR5IGluZGV4IDk2JQpyZW5hbWUg
ZnJvbSBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25M
aW5lTGF5b3V0LmgKcmVuYW1lIHRvIFNvdXJjZS9XZWJDb3JlL2xheW91dC9icmlkZ2UvTGF5b3V0
QnJpZGdlTGluZUxheW91dC5oCmluZGV4IDA5MWE2MDE0YjcxOS4uNjZjYmQxMjc5NjViIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRp
b25MaW5lTGF5b3V0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRnZS9MYXlvdXRC
cmlkZ2VMaW5lTGF5b3V0LmgKQEAgLTI3LDkgKzI3LDkgQEAKIAogI2lmIEVOQUJMRShMQVlPVVRf
Rk9STUFUVElOR19DT05URVhUKQogCi0jaW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRpb25Cb3hUcmVl
LmgiCi0jaW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3IuaCIKLSNpbmNsdWRl
ICJMYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yLmgiCisjaW5jbHVkZSAiTGF5b3V0QnJpZGdl
Qm94VHJlZS5oIgorI2luY2x1ZGUgIkxheW91dEJyaWRnZUxpbmVJdGVyYXRvci5oIgorI2luY2x1
ZGUgIkxheW91dEJyaWRnZVJ1bkl0ZXJhdG9yLmgiCiAjaW5jbHVkZSAiTGF5b3V0UG9pbnQuaCIK
ICNpbmNsdWRlICJMYXlvdXRTdGF0ZS5oIgogI2luY2x1ZGUgIlJlbmRlck9iamVjdEVudW1zLmgi
CkBAIC00OCw3ICs0OCw3IEBAIGNsYXNzIFJlbmRlcklubGluZTsKIGNsYXNzIFJlbmRlckxpbmVC
cmVhazsKIHN0cnVjdCBQYWludEluZm87CiAKLW5hbWVzcGFjZSBMYXlvdXRJbnRlZ3JhdGlvbiB7
CituYW1lc3BhY2UgTGF5b3V0QnJpZGdlIHsKIAogc3RydWN0IElubGluZUNvbnRlbnQ7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3Jh
dGlvblBhZ2luYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRnZS9MYXlvdXRC
cmlkZ2VQYWdpbmF0aW9uLmNwcApzaW1pbGFyaXR5IGluZGV4IDk5JQpyZW5hbWUgZnJvbSBTb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25QYWdpbmF0aW9u
LmNwcApyZW5hbWUgdG8gU291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VQ
YWdpbmF0aW9uLmNwcAppbmRleCA0YWVjYjQ3ZTM5NDMuLmJmYmEwYmNmMzBmNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uUGFn
aW5hdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlk
Z2VQYWdpbmF0aW9uLmNwcApAQCAtMjQsNyArMjQsNyBAQAogICovCiAKICNpbmNsdWRlICJjb25m
aWcuaCIKLSNpbmNsdWRlICJMYXlvdXRJbnRlZ3JhdGlvblBhZ2luYXRpb24uaCIKKyNpbmNsdWRl
ICJMYXlvdXRCcmlkZ2VQYWdpbmF0aW9uLmgiCiAKICNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJ
TkdfQ09OVEVYVCkKIApAQCAtMzIsNyArMzIsNyBAQAogI2luY2x1ZGUgIlJlbmRlckJsb2NrRmxv
dy5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci1uYW1lc3BhY2UgTGF5b3V0SW50ZWdyYXRpb24g
eworbmFtZXNwYWNlIExheW91dEJyaWRnZSB7CiAKIHN0cnVjdCBTdHJ1dCB7CiAgICAgdW5zaWdu
ZWQgbGluZUJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0
aW9uL0xheW91dEludGVncmF0aW9uUGFnaW5hdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2JyaWRnZS9MYXlvdXRCcmlkZ2VQYWdpbmF0aW9uLmgKc2ltaWxhcml0eSBpbmRleCA5NSUKcmVu
YW1lIGZyb20gU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0
aW9uUGFnaW5hdGlvbi5oCnJlbmFtZSB0byBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvYnJpZGdlL0xh
eW91dEJyaWRnZVBhZ2luYXRpb24uaAppbmRleCA4M2MyY2YzYWQ0OTIuLjBjN2EwNjg5MzY2MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVn
cmF0aW9uUGFnaW5hdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9icmlkZ2UvTGF5
b3V0QnJpZGdlUGFnaW5hdGlvbi5oCkBAIC0yNywxMyArMjcsMTMgQEAKIAogI2lmIEVOQUJMRShM
QVlPVVRfRk9STUFUVElOR19DT05URVhUKQogCi0jaW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRpb25J
bmxpbmVDb250ZW50LmgiCisjaW5jbHVkZSAiTGF5b3V0QnJpZGdlSW5saW5lQ29udGVudC5oIgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFJlbmRlckJsb2NrRmxvdzsKIAotbmFtZXNw
YWNlIExheW91dEludGVncmF0aW9uIHsKK25hbWVzcGFjZSBMYXlvdXRCcmlkZ2UgewogICAgIAog
UmVmPElubGluZUNvbnRlbnQ+IGFkanVzdExpbmVQb3NpdGlvbnNGb3JQYWdpbmF0aW9uKElubGlu
ZUNvbnRlbnQmLCBSZW5kZXJCbG9ja0Zsb3cmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uUnVuLmggYi9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZVJ1bi5oCnNpbWlsYXJpdHkgaW5kZXggOTkl
CnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRl
Z3JhdGlvblJ1bi5oCnJlbmFtZSB0byBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvYnJpZGdlL0xheW91
dEJyaWRnZVJ1bi5oCmluZGV4IDE4OTA4ODdlYjJjMC4uODVkYjc4YTY5ZWQ3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25SdW4u
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZVJ1bi5oCkBA
IC0zNiw3ICszNiw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ2FjaGVkSW1hZ2U7
CiAKLW5hbWVzcGFjZSBMYXlvdXRJbnRlZ3JhdGlvbiB7CituYW1lc3BhY2UgTGF5b3V0QnJpZGdl
IHsKIAogc3RydWN0IFJ1biB7CiAgICAgV1RGX01BS0VfU1RSVUNUX0ZBU1RfQUxMT0NBVEVEOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVn
cmF0aW9uUnVuSXRlcmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRnZS9MYXlv
dXRCcmlkZ2VSdW5JdGVyYXRvci5jcHAKc2ltaWxhcml0eSBpbmRleCA5NyUKcmVuYW1lIGZyb20g
U291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uUnVuSXRl
cmF0b3IuY3BwCnJlbmFtZSB0byBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvYnJpZGdlL0xheW91dEJy
aWRnZVJ1bkl0ZXJhdG9yLmNwcAppbmRleCBhODdmY2U5MjE0ZmMuLjg4MjE4NDdhYmE3NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0
aW9uUnVuSXRlcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9icmlkZ2UvTGF5
b3V0QnJpZGdlUnVuSXRlcmF0b3IuY3BwCkBAIC0yNCwxNiArMjQsMTYgQEAKICAqLwogCiAjaW5j
bHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvci5o
IgorI2luY2x1ZGUgIkxheW91dEJyaWRnZVJ1bkl0ZXJhdG9yLmgiCiAKIAotI2luY2x1ZGUgIkxh
eW91dEludGVncmF0aW9uTGluZUl0ZXJhdG9yLmgiCi0jaW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRp
b25MaW5lTGF5b3V0LmgiCisjaW5jbHVkZSAiTGF5b3V0QnJpZGdlTGluZUl0ZXJhdG9yLmgiCisj
aW5jbHVkZSAiTGF5b3V0QnJpZGdlTGluZUxheW91dC5oIgogI2luY2x1ZGUgIlJlbmRlckJsb2Nr
Rmxvdy5oIgogI2luY2x1ZGUgIlJlbmRlckxpbmVCcmVhay5oIgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7Ci1uYW1lc3BhY2UgTGF5b3V0SW50ZWdyYXRpb24geworbmFtZXNwYWNlIExheW91dEJyaWRn
ZSB7CiAKIFJ1bkl0ZXJhdG9yOjpSdW5JdGVyYXRvcihQYXRoUnVuOjpQYXRoVmFyaWFudCYmIHBh
dGhWYXJpYW50KQogICAgIDogbV9ydW4oV1RGTW92ZShwYXRoVmFyaWFudCkpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25SdW5J
dGVyYXRvci5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VSdW5J
dGVyYXRvci5oCnNpbWlsYXJpdHkgaW5kZXggOTUlCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJDb3Jl
L2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yLmgKcmVuYW1l
IHRvIFNvdXJjZS9XZWJDb3JlL2xheW91dC9icmlkZ2UvTGF5b3V0QnJpZGdlUnVuSXRlcmF0b3Iu
aAppbmRleCBiYWFkZTg5ZDhkMTMuLmYzOGQ4MmIzMGUzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uUnVuSXRlcmF0b3IuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZVJ1bkl0ZXJhdG9y
LmgKQEAgLTI1LDggKzI1LDggQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpbmNsdWRlICJMYXlvdXRJ
bnRlZ3JhdGlvblJ1bkl0ZXJhdG9yTGVnYWN5UGF0aC5oIgotI2luY2x1ZGUgIkxheW91dEludGVn
cmF0aW9uUnVuSXRlcmF0b3JNb2Rlcm5QYXRoLmgiCisjaW5jbHVkZSAiTGF5b3V0QnJpZGdlUnVu
SXRlcmF0b3JMZWdhY3lQYXRoLmgiCisjaW5jbHVkZSAiTGF5b3V0QnJpZGdlUnVuSXRlcmF0b3JN
b2Rlcm5QYXRoLmgiCiAjaW5jbHVkZSAiTGVnYWN5SW5saW5lRWxlbWVudEJveC5oIgogI2luY2x1
ZGUgPHd0Zi9WYXJpYW50Lmg+CiAKQEAgLTM2LDcgKzM2LDcgQEAgY2xhc3MgUmVuZGVyTGluZUJy
ZWFrOwogY2xhc3MgUmVuZGVyT2JqZWN0OwogY2xhc3MgUmVuZGVyVGV4dDsKIAotbmFtZXNwYWNl
IExheW91dEludGVncmF0aW9uIHsKK25hbWVzcGFjZSBMYXlvdXRCcmlkZ2UgewogCiBjbGFzcyBM
aW5lSXRlcmF0b3I7CiBjbGFzcyBUZXh0UnVuSXRlcmF0b3I7CkBAIC0zNDcsMTAgKzM0NywxMCBA
QCBpbmxpbmUgTGF5b3V0UmVjdCBQYXRoVGV4dFJ1bjo6c2VsZWN0aW9uUmVjdCh1bnNpZ25lZCBz
dGFydCwgdW5zaWduZWQgZW5kKSBjb25zdAogfQogfQogCi1TUEVDSUFMSVpFX1RZUEVfVFJBSVRT
X0JFR0lOKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpQYXRoVGV4dFJ1bikKLXN0YXRpYyBi
b29sIGlzVHlwZShjb25zdCBXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6UGF0aFJ1biYgcnVu
KSB7IHJldHVybiBydW4uaXNUZXh0KCk7IH0KK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfQkVHSU4o
V2ViQ29yZTo6TGF5b3V0QnJpZGdlOjpQYXRoVGV4dFJ1bikKK3N0YXRpYyBib29sIGlzVHlwZShj
b25zdCBXZWJDb3JlOjpMYXlvdXRCcmlkZ2U6OlBhdGhSdW4mIHJ1bikgeyByZXR1cm4gcnVuLmlz
VGV4dCgpOyB9CiBTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0VORCgpCiAKLVNQRUNJQUxJWkVfVFlQ
RV9UUkFJVFNfQkVHSU4oV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246OlRleHRSdW5JdGVyYXRv
cikKLXN0YXRpYyBib29sIGlzVHlwZShjb25zdCBXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6
UnVuSXRlcmF0b3ImIHJ1bkl0ZXJhdG9yKSB7IHJldHVybiAhcnVuSXRlcmF0b3IgfHwgcnVuSXRl
cmF0b3ItPmlzVGV4dCgpOyB9CitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0JFR0lOKFdlYkNvcmU6
OkxheW91dEJyaWRnZTo6VGV4dFJ1bkl0ZXJhdG9yKQorc3RhdGljIGJvb2wgaXNUeXBlKGNvbnN0
IFdlYkNvcmU6OkxheW91dEJyaWRnZTo6UnVuSXRlcmF0b3ImIHJ1bkl0ZXJhdG9yKSB7IHJldHVy
biAhcnVuSXRlcmF0b3IgfHwgcnVuSXRlcmF0b3ItPmlzVGV4dCgpOyB9CiBTUEVDSUFMSVpFX1RZ
UEVfVFJBSVRTX0VORCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdy
YXRpb24vTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvckxlZ2FjeVBhdGguaCBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9icmlkZ2UvTGF5b3V0QnJpZGdlUnVuSXRlcmF0b3JMZWdhY3lQYXRoLmgK
c2ltaWxhcml0eSBpbmRleCA5OSUKcmVuYW1lIGZyb20gU291cmNlL1dlYkNvcmUvbGF5b3V0L2lu
dGVncmF0aW9uL0xheW91dEludGVncmF0aW9uUnVuSXRlcmF0b3JMZWdhY3lQYXRoLmgKcmVuYW1l
IHRvIFNvdXJjZS9XZWJDb3JlL2xheW91dC9icmlkZ2UvTGF5b3V0QnJpZGdlUnVuSXRlcmF0b3JM
ZWdhY3lQYXRoLmgKaW5kZXggZThhMDEwYTJmNTIxLi40ZDk5OTNjOGM2ZTUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblJ1bkl0
ZXJhdG9yTGVnYWN5UGF0aC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9icmlkZ2UvTGF5
b3V0QnJpZGdlUnVuSXRlcmF0b3JMZWdhY3lQYXRoLmgKQEAgLTMyLDcgKzMyLDcgQEAKICNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKLW5hbWVzcGFjZSBMYXlv
dXRJbnRlZ3JhdGlvbiB7CituYW1lc3BhY2UgTGF5b3V0QnJpZGdlIHsKIAogY2xhc3MgUnVuSXRl
cmF0b3JMZWdhY3lQYXRoIHsKIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yTW9kZXJuUGF0aC5o
IGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VSdW5JdGVyYXRvck1v
ZGVyblBhdGguaApzaW1pbGFyaXR5IGluZGV4IDk5JQpyZW5hbWUgZnJvbSBTb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvck1vZGVyblBh
dGguaApyZW5hbWUgdG8gU291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VS
dW5JdGVyYXRvck1vZGVyblBhdGguaAppbmRleCBhNjhmYWU1ODg2ODMuLjBiZDIxZjVjZjc2YSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVn
cmF0aW9uUnVuSXRlcmF0b3JNb2Rlcm5QYXRoLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2JyaWRnZS9MYXlvdXRCcmlkZ2VSdW5JdGVyYXRvck1vZGVyblBhdGguaApAQCAtMjgsMTIgKzI4
LDEyIEBACiAjaWYgRU5BQkxFKExBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpCiAKICNpbmNsdWRl
ICJGb250Q2FzY2FkZS5oIgotI2luY2x1ZGUgIkxheW91dEludGVncmF0aW9uSW5saW5lQ29udGVu
dC5oIgorI2luY2x1ZGUgIkxheW91dEJyaWRnZUlubGluZUNvbnRlbnQuaCIKICNpbmNsdWRlICJU
ZXh0Qm94U2VsZWN0YWJsZVJhbmdlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotbmFtZXNw
YWNlIExheW91dEludGVncmF0aW9uIHsKK25hbWVzcGFjZSBMYXlvdXRCcmlkZ2UgewogCiBjbGFz
cyBSdW5JdGVyYXRvck1vZGVyblBhdGggewogcHVibGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9NZW1vcnlSZWxlYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWVtb3J5
UmVsZWFzZS5jcHAKaW5kZXggNmRlNmMwZTI2MzMzLi4xZjhjMjQxNTA1NzYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWVtb3J5UmVsZWFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9NZW1vcnlSZWxlYXNlLmNwcApAQCAtNDEsNyArNDEsNyBAQAogI2luY2x1ZGUgIkhU
TUxNZWRpYUVsZW1lbnQuaCIKICNpbmNsdWRlICJJbmxpbmVTdHlsZVNoZWV0T3duZXIuaCIKICNp
bmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKLSNpbmNsdWRlICJMYXlvdXRJbnRl
Z3JhdGlvbkxpbmVMYXlvdXQuaCIKKyNpbmNsdWRlICJMYXlvdXRCcmlkZ2VMaW5lTGF5b3V0Lmgi
CiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIk1lbW9yeUNhY2hlLmgiCiAjaW5jbHVk
ZSAiUGFnZS5oIgpAQCAtNzcsNyArNzcsNyBAQCBzdGF0aWMgdm9pZCByZWxlYXNlTm9uY3JpdGlj
YWxNZW1vcnkoTWFpbnRhaW5NZW1vcnlDYWNoZSBtYWludGFpbk1lbW9yeUNhY2hlKQogCiAjaWYg
RU5BQkxFKExBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpCiAgICAgICAgIGlmIChhdXRvKiByZW5k
ZXJWaWV3ID0gZG9jdW1lbnQtPnJlbmRlclZpZXcoKSkKLSAgICAgICAgICAgIExheW91dEludGVn
cmF0aW9uOjpMaW5lTGF5b3V0OjpyZWxlYXNlQ2FjaGVzKCpyZW5kZXJWaWV3KTsKKyAgICAgICAg
ICAgIExheW91dEJyaWRnZTo6TGluZUxheW91dDo6cmVsZWFzZUNhY2hlcygqcmVuZGVyVmlldyk7
CiAjZW5kaWYKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9D
YXJldFJlY3RDb21wdXRhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQ2FyZXRS
ZWN0Q29tcHV0YXRpb24uY3BwCmluZGV4IDRhOTg2MTliMmRjZC4uNjVlNDQwODZmZWE5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQ2FyZXRSZWN0Q29tcHV0YXRpb24uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9DYXJldFJlY3RDb21wdXRhdGlvbi5jcHAK
QEAgLTI3LDggKzI3LDggQEAKICNpbmNsdWRlICJDYXJldFJlY3RDb21wdXRhdGlvbi5oIgogCiAj
aW5jbHVkZSAiRWRpdGluZy5oIgotI2luY2x1ZGUgIkxheW91dEludGVncmF0aW9uTGluZUl0ZXJh
dG9yLmgiCi0jaW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvci5oIgorI2luY2x1
ZGUgIkxheW91dEJyaWRnZUxpbmVJdGVyYXRvci5oIgorI2luY2x1ZGUgIkxheW91dEJyaWRnZVJ1
bkl0ZXJhdG9yLmgiCiAjaW5jbHVkZSAiUmVuZGVyQmxvY2tGbG93LmgiCiAjaW5jbHVkZSAiUmVu
ZGVySW5saW5lLmgiCiAjaW5jbHVkZSAiUmVuZGVyTGluZUJyZWFrLmgiCkBAIC0xMDksNyArMTA5
LDcgQEAgc3RhdGljIExheW91dFJlY3QgY29tcHV0ZUNhcmV0UmVjdEZvckVtcHR5RWxlbWVudChj
b25zdCBSZW5kZXJCb3hNb2RlbE9iamVjdCYgcmUKICAgICByZXR1cm4gY3VycmVudFN0eWxlLmlz
SG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyByZWN0IDogcmVjdC50cmFuc3Bvc2VkUmVjdCgpOwog
fQogCi1zdGF0aWMgTGF5b3V0UmVjdCBjb21wdXRlQ2FyZXRSZWN0Rm9yTGluZVBvc2l0aW9uKGNv
bnN0IExheW91dEludGVncmF0aW9uOjpMaW5lSXRlcmF0b3ImIGxpbmUsIGZsb2F0IGxvZ2ljYWxM
ZWZ0UG9zaXRpb24sIENhcmV0UmVjdE1vZGUgY2FyZXRSZWN0TW9kZSkKK3N0YXRpYyBMYXlvdXRS
ZWN0IGNvbXB1dGVDYXJldFJlY3RGb3JMaW5lUG9zaXRpb24oY29uc3QgTGF5b3V0QnJpZGdlOjpM
aW5lSXRlcmF0b3ImIGxpbmUsIGZsb2F0IGxvZ2ljYWxMZWZ0UG9zaXRpb24sIENhcmV0UmVjdE1v
ZGUgY2FyZXRSZWN0TW9kZSkKIHsKICAgICBhdXRvJiBjb250YWluaW5nQmxvY2sgPSBsaW5lLT5j
b250YWluaW5nQmxvY2soKTsKICAgICBhdXRvIGxpbmVTZWxlY3Rpb25SZWN0ID0gbGluZS0+c2Vs
ZWN0aW9uUmVjdCgpOwpAQCAtMTcxLDcgKzE3MSw3IEBAIHN0YXRpYyBMYXlvdXRSZWN0IGNvbXB1
dGVDYXJldFJlY3RGb3JUZXh0KGNvbnN0IElubGluZVJ1bkFuZE9mZnNldCYgcnVuQW5kT2Zmc2V0
CiAgICAgaWYgKCFydW5BbmRPZmZzZXQucnVuKQogICAgICAgICByZXR1cm4geyB9OwogCi0gICAg
YXV0byYgdGV4dFJ1biA9IGRvd25jYXN0PExheW91dEludGVncmF0aW9uOjpUZXh0UnVuSXRlcmF0
b3I+KHJ1bkFuZE9mZnNldC5ydW4pOworICAgIGF1dG8mIHRleHRSdW4gPSBkb3duY2FzdDxMYXlv
dXRCcmlkZ2U6OlRleHRSdW5JdGVyYXRvcj4ocnVuQW5kT2Zmc2V0LnJ1bik7CiAgICAgYXV0byBs
aW5lID0gdGV4dFJ1bi5saW5lKCk7CiAKICAgICBmbG9hdCBwb3NpdGlvbiA9IHRleHRSdW4tPnBv
c2l0aW9uRm9yT2Zmc2V0KHJ1bkFuZE9mZnNldC5vZmZzZXQpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcAppbmRleCA0ODk3NWI3ZWNmYzMuLjg3N2I3NTQz
YjA4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxv
dy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAK
QEAgLTM0LDkgKzM0LDkgQEAKICNpbmNsdWRlICJIVE1MVGV4dEFyZWFFbGVtZW50LmgiCiAjaW5j
bHVkZSAiSGl0VGVzdExvY2F0aW9uLmgiCiAjaW5jbHVkZSAiSW5saW5lSXRlcmF0b3IuaCIKLSNp
bmNsdWRlICJMYXlvdXRJbnRlZ3JhdGlvbkxpbmVJdGVyYXRvci5oIgotI2luY2x1ZGUgIkxheW91
dEludGVncmF0aW9uTGluZUxheW91dC5oIgotI2luY2x1ZGUgIkxheW91dEludGVncmF0aW9uUnVu
SXRlcmF0b3IuaCIKKyNpbmNsdWRlICJMYXlvdXRCcmlkZ2VMaW5lSXRlcmF0b3IuaCIKKyNpbmNs
dWRlICJMYXlvdXRCcmlkZ2VMaW5lTGF5b3V0LmgiCisjaW5jbHVkZSAiTGF5b3V0QnJpZGdlUnVu
SXRlcmF0b3IuaCIKICNpbmNsdWRlICJMYXlvdXRSZXBhaW50ZXIuaCIKICNpbmNsdWRlICJMZWdh
Y3lJbmxpbmVUZXh0Qm94LmgiCiAjaW5jbHVkZSAiTGVnYWN5TGluZUxheW91dC5oIgpAQCAtNjg0
LDcgKzY4NCw3IEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93OjpsYXlvdXRJbmxpbmVDaGlsZHJlbihi
b29sIHJlbGF5b3V0Q2hpbGRyZW4sIExheW91dFVuaXQmIHJlCiB7CiAgICAgYXV0byBjb21wdXRl
TGluZUxheW91dFBhdGggPSBbJl0gewogI2lmIEVOQUJMRShMQVlPVVRfRk9STUFUVElOR19DT05U
RVhUKQotICAgICAgICBpZiAoTGF5b3V0SW50ZWdyYXRpb246OkxpbmVMYXlvdXQ6OmNhblVzZUZv
cigqdGhpcykpCisgICAgICAgIGlmIChMYXlvdXRCcmlkZ2U6OkxpbmVMYXlvdXQ6OmNhblVzZUZv
cigqdGhpcykpCiAgICAgICAgICAgICByZXR1cm4gTW9kZXJuUGF0aDsKICNlbmRpZgogICAgICAg
ICByZXR1cm4gTGluZUJveGVzUGF0aDsKQEAgLTIxMzQsNyArMjEzNCw3IEBAIHZvaWQgUmVuZGVy
QmxvY2tGbG93OjpzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UgZGlmZiwgY29uc3QgUmVu
ZGVyU3R5bGUqIG9sCiAgICAgICAgICAgICBpZiAoc2VsZk5lZWRzTGF5b3V0KCkgfHwgbGVnYWN5
TGluZUxheW91dCgpKQogICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogI2lmIEVOQUJMRShM
QVlPVVRfRk9STUFUVElOR19DT05URVhUKQotICAgICAgICAgICAgaWYgKG1vZGVybkxpbmVMYXlv
dXQoKSAmJiAhTGF5b3V0SW50ZWdyYXRpb246OkxpbmVMYXlvdXQ6OmNhblVzZUZvckFmdGVyU3R5
bGVDaGFuZ2UoKnRoaXMsIGRpZmYpKQorICAgICAgICAgICAgaWYgKG1vZGVybkxpbmVMYXlvdXQo
KSAmJiAhTGF5b3V0QnJpZGdlOjpMaW5lTGF5b3V0OjpjYW5Vc2VGb3JBZnRlclN0eWxlQ2hhbmdl
KCp0aGlzLCBkaWZmKSkKICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICNlbmRpZgogICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMzM4OSw3ICszMzg5LDcgQEAgYm9vbCBSZW5kZXJC
bG9ja0Zsb3c6OmNvbnRhaW5zTm9uWmVyb0JpZGlMZXZlbCgpIGNvbnN0CiAgICAgcmV0dXJuIGZh
bHNlOwogfQogCi1zdGF0aWMgUG9zaXRpb24gcG9zaXRpb25Gb3JSdW4oY29uc3QgUmVuZGVyQmxv
Y2tGbG93JiBmbG93LCBMYXlvdXRJbnRlZ3JhdGlvbjo6UnVuSXRlcmF0b3IgcnVuLCBib29sIHN0
YXJ0KQorc3RhdGljIFBvc2l0aW9uIHBvc2l0aW9uRm9yUnVuKGNvbnN0IFJlbmRlckJsb2NrRmxv
dyYgZmxvdywgTGF5b3V0QnJpZGdlOjpSdW5JdGVyYXRvciBydW4sIGJvb2wgc3RhcnQpCiB7CiAg
ICAgaWYgKCFydW4pCiAgICAgICAgIHJldHVybiBQb3NpdGlvbigpOwpAQCAtMzM5NywxMCArMzM5
NywxMCBAQCBzdGF0aWMgUG9zaXRpb24gcG9zaXRpb25Gb3JSdW4oY29uc3QgUmVuZGVyQmxvY2tG
bG93JiBmbG93LCBMYXlvdXRJbnRlZ3JhdGlvbjo6UgogICAgIGlmICghcnVuLT5yZW5kZXJlcigp
Lm5vblBzZXVkb05vZGUoKSkKICAgICAgICAgcmV0dXJuIG1ha2VEZXByZWNhdGVkTGVnYWN5UG9z
aXRpb24oZmxvdy5ub25Qc2V1ZG9FbGVtZW50KCksIHN0YXJ0ID8gZmxvdy5jYXJldE1pbk9mZnNl
dCgpIDogZmxvdy5jYXJldE1heE9mZnNldCgpKTsKIAotICAgIGlmICghaXM8TGF5b3V0SW50ZWdy
YXRpb246OlRleHRSdW5JdGVyYXRvcj4ocnVuKSkKKyAgICBpZiAoIWlzPExheW91dEJyaWRnZTo6
VGV4dFJ1bkl0ZXJhdG9yPihydW4pKQogICAgICAgICByZXR1cm4gbWFrZURlcHJlY2F0ZWRMZWdh
Y3lQb3NpdGlvbihydW4tPnJlbmRlcmVyKCkubm9uUHNldWRvTm9kZSgpLCBzdGFydCA/IHJ1bi0+
cmVuZGVyZXIoKS5jYXJldE1pbk9mZnNldCgpIDogcnVuLT5yZW5kZXJlcigpLmNhcmV0TWF4T2Zm
c2V0KCkpOwogCi0gICAgYXV0byYgdGV4dFJ1biA9IGRvd25jYXN0PExheW91dEludGVncmF0aW9u
OjpUZXh0UnVuSXRlcmF0b3I+KHJ1bik7CisgICAgYXV0byYgdGV4dFJ1biA9IGRvd25jYXN0PExh
eW91dEJyaWRnZTo6VGV4dFJ1bkl0ZXJhdG9yPihydW4pOwogICAgIHJldHVybiBtYWtlRGVwcmVj
YXRlZExlZ2FjeVBvc2l0aW9uKHRleHRSdW4tPnJlbmRlcmVyKCkubm9uUHNldWRvTm9kZSgpLCBz
dGFydCA/IHRleHRSdW4tPnN0YXJ0KCkgOiB0ZXh0UnVuLT5lbmQoKSk7CiB9CiAKQEAgLTM0NTMs
NyArMzQ1Myw3IEBAIFJlbmRlclRleHQqIFJlbmRlckJsb2NrRmxvdzo6ZmluZENsb3Nlc3RUZXh0
QXRBYnNvbHV0ZVBvaW50KGNvbnN0IEZsb2F0UG9pbnQmIHBvCiAgICAgLy8gT25seSBjaGVjayB0
aGUgZ2FwcyBiZXR3ZWVuIHRoZSByb290IGxpbmUgYm94ZXMuIFdlIGRlbGliZXJhdGVseSBpZ25v
cmUgb3ZlcmZsb3cgYmVjYXVzZQogICAgIC8vIGV4cGVyaWVuY2UgaGFzIHNob3duIHRoYXQgaGl0
IHRlc3RzIG9uIGFuIGV4cGxvZGVkIHRleHQgbm9kZSBjYW4gZmFpbCB3aGVuIHdpdGhpbiB0aGUK
ICAgICAvLyBvdmVyZmxvdyBmcmFnbWVudC4KLSAgICBmb3IgKGF1dG8gY3VycmVudCA9IExheW91
dEludGVncmF0aW9uOjpmaXJzdExpbmVGb3IoYmxvY2tGbG93KSwgbGFzdCA9IExheW91dEludGVn
cmF0aW9uOjpsYXN0TGluZUZvcihibG9ja0Zsb3cpOyBjdXJyZW50ICYmIGN1cnJlbnQgIT0gbGFz
dDsgY3VycmVudC50cmF2ZXJzZU5leHQoKSkgeworICAgIGZvciAoYXV0byBjdXJyZW50ID0gTGF5
b3V0QnJpZGdlOjpmaXJzdExpbmVGb3IoYmxvY2tGbG93KSwgbGFzdCA9IExheW91dEJyaWRnZTo6
bGFzdExpbmVGb3IoYmxvY2tGbG93KTsgY3VycmVudCAmJiBjdXJyZW50ICE9IGxhc3Q7IGN1cnJl
bnQudHJhdmVyc2VOZXh0KCkpIHsKICAgICAgICAgZmxvYXQgY3VycmVudEJvdHRvbSA9IGN1cnJl
bnQtPnkoKSArIGN1cnJlbnQtPmxvZ2ljYWxIZWlnaHQoKTsKICAgICAgICAgaWYgKGxvY2FsUG9p
bnQueSgpIDwgY3VycmVudEJvdHRvbSkKICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwpAQCAt
MzQ3Myw3ICszNDczLDcgQEAgVmlzaWJsZVBvc2l0aW9uIFJlbmRlckJsb2NrRmxvdzo6cG9zaXRp
b25Gb3JQb2ludFdpdGhJbmxpbmVDaGlsZHJlbihjb25zdCBMYXlvdXQKIHsKICAgICBBU1NFUlQo
Y2hpbGRyZW5JbmxpbmUoKSk7CiAKLSAgICBhdXRvIGZpcnN0TGluZSA9IExheW91dEludGVncmF0
aW9uOjpmaXJzdExpbmVGb3IoKnRoaXMpOworICAgIGF1dG8gZmlyc3RMaW5lID0gTGF5b3V0QnJp
ZGdlOjpmaXJzdExpbmVGb3IoKnRoaXMpOwogCiAgICAgaWYgKCFmaXJzdExpbmUpCiAgICAgICAg
IHJldHVybiBjcmVhdGVWaXNpYmxlUG9zaXRpb24oMCwgQWZmaW5pdHk6OkRvd25zdHJlYW0pOwpA
QCAtMzQ4Miw5ICszNDgyLDkgQEAgVmlzaWJsZVBvc2l0aW9uIFJlbmRlckJsb2NrRmxvdzo6cG9z
aXRpb25Gb3JQb2ludFdpdGhJbmxpbmVDaGlsZHJlbihjb25zdCBMYXlvdXQKICAgICBib29sIGJs
b2Nrc0FyZUZsaXBwZWQgPSBzdHlsZSgpLmlzRmxpcHBlZEJsb2Nrc1dyaXRpbmdNb2RlKCk7CiAK
ICAgICAvLyBsb29rIGZvciB0aGUgY2xvc2VzdCBsaW5lIGJveCBpbiB0aGUgcm9vdCBib3ggd2hp
Y2ggaXMgYXQgdGhlIHBhc3NlZC1pbiB5IGNvb3JkaW5hdGUKLSAgICBMYXlvdXRJbnRlZ3JhdGlv
bjo6UnVuSXRlcmF0b3IgY2xvc2VzdFJ1bjsKLSAgICBMYXlvdXRJbnRlZ3JhdGlvbjo6TGluZUl0
ZXJhdG9yIGZpcnN0TGluZVdpdGhDaGlsZHJlbjsKLSAgICBMYXlvdXRJbnRlZ3JhdGlvbjo6TGlu
ZUl0ZXJhdG9yIGxhc3RMaW5lV2l0aENoaWxkcmVuOworICAgIExheW91dEJyaWRnZTo6UnVuSXRl
cmF0b3IgY2xvc2VzdFJ1bjsKKyAgICBMYXlvdXRCcmlkZ2U6OkxpbmVJdGVyYXRvciBmaXJzdExp
bmVXaXRoQ2hpbGRyZW47CisgICAgTGF5b3V0QnJpZGdlOjpMaW5lSXRlcmF0b3IgbGFzdExpbmVX
aXRoQ2hpbGRyZW47CiAgICAgZm9yIChhdXRvIGxpbmUgPSBmaXJzdExpbmU7IGxpbmU7IGxpbmUu
dHJhdmVyc2VOZXh0KCkpIHsKICAgICAgICAgaWYgKGZyYWdtZW50ICYmIGxpbmUtPmxlZ2FjeVJv
b3RJbmxpbmVCb3goKSAmJiBsaW5lLT5sZWdhY3lSb290SW5saW5lQm94KCktPmNvbnRhaW5pbmdG
cmFnbWVudCgpICE9IGZyYWdtZW50KQogICAgICAgICAgICAgY29udGludWU7CkBAIC0zNjg5LDcg
KzM2ODksNyBAQCB2b2lkIFJlbmRlckJsb2NrRmxvdzo6bGF5b3V0TW9kZXJuTGluZXMoYm9vbCBy
ZWxheW91dENoaWxkcmVuLCBMYXlvdXRVbml0JiByZXBhaQogICAgIGJvb2wgbmVlZHNVcGRhdGVS
ZXBsYWNlZERpbWVuc2lvbnMgPSBmYWxzZTsKIAogICAgIGlmICghbW9kZXJuTGluZUxheW91dCgp
KSB7Ci0gICAgICAgIG1fbGluZUxheW91dCA9IG1ha2VVbmlxdWU8TGF5b3V0SW50ZWdyYXRpb246
OkxpbmVMYXlvdXQ+KCp0aGlzKTsKKyAgICAgICAgbV9saW5lTGF5b3V0ID0gbWFrZVVuaXF1ZTxM
YXlvdXRCcmlkZ2U6OkxpbmVMYXlvdXQ+KCp0aGlzKTsKICAgICAgICAgbmVlZHNVcGRhdGVSZXBs
YWNlZERpbWVuc2lvbnMgPSB0cnVlOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJsb2NrRmxvdy5oCmluZGV4IDdjYzBmZGVlM2I4NC4uZmY0MWFhNzVlODQyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oCkBAIC0zNyw3ICszNyw3
IEBAIGNsYXNzIFJlbmRlck11bHRpQ29sdW1uRmxvdzsKIGNsYXNzIFJlbmRlclJ1YnlSdW47CiAK
ICNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkKLW5hbWVzcGFjZSBMYXlvdXRJ
bnRlZ3JhdGlvbiB7CituYW1lc3BhY2UgTGF5b3V0QnJpZGdlIHsKIGNsYXNzIExpbmVMYXlvdXQ7
CiB9CiAjZW5kaWYKQEAgLTM2MCw4ICszNjAsOCBAQCBwdWJsaWM6CiAgICAgY29uc3QgTGVnYWN5
TGluZUxheW91dCogbGVnYWN5TGluZUxheW91dCgpIGNvbnN0OwogICAgIExlZ2FjeUxpbmVMYXlv
dXQqIGxlZ2FjeUxpbmVMYXlvdXQoKTsKICNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09O
VEVYVCkKLSAgICBjb25zdCBMYXlvdXRJbnRlZ3JhdGlvbjo6TGluZUxheW91dCogbW9kZXJuTGlu
ZUxheW91dCgpIGNvbnN0OwotICAgIExheW91dEludGVncmF0aW9uOjpMaW5lTGF5b3V0KiBtb2Rl
cm5MaW5lTGF5b3V0KCk7CisgICAgY29uc3QgTGF5b3V0QnJpZGdlOjpMaW5lTGF5b3V0KiBtb2Rl
cm5MaW5lTGF5b3V0KCkgY29uc3Q7CisgICAgTGF5b3V0QnJpZGdlOjpMaW5lTGF5b3V0KiBtb2Rl
cm5MaW5lTGF5b3V0KCk7CiAjZW5kaWYKIAogICAgIHZvaWQgZW5zdXJlTGluZUJveGVzKCk7CkBA
IC01ODgsNyArNTg4LDcgQEAgcHJpdmF0ZToKICAgICBWYXJpYW50PAogICAgICAgICBXVEY6Ok1v
bm9zdGF0ZSwKICNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkKLSAgICAgICAg
c3RkOjp1bmlxdWVfcHRyPExheW91dEludGVncmF0aW9uOjpMaW5lTGF5b3V0PiwKKyAgICAgICAg
c3RkOjp1bmlxdWVfcHRyPExheW91dEJyaWRnZTo6TGluZUxheW91dD4sCiAjZW5kaWYKICAgICAg
ICAgc3RkOjp1bmlxdWVfcHRyPExlZ2FjeUxpbmVMYXlvdXQ+CiAgICAgPiBtX2xpbmVMYXlvdXQ7
CkBAIC02MjEsMTcgKzYyMSwxNyBAQCBpbmxpbmUgTGVnYWN5TGluZUxheW91dCogUmVuZGVyQmxv
Y2tGbG93OjpsZWdhY3lMaW5lTGF5b3V0KCkKICNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdf
Q09OVEVYVCkKIGlubGluZSBib29sIFJlbmRlckJsb2NrRmxvdzo6aGFzTW9kZXJuTGluZUxheW91
dCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIFdURjo6aG9sZHNfYWx0ZXJuYXRpdmU8c3RkOjp1bmlx
dWVfcHRyPExheW91dEludGVncmF0aW9uOjpMaW5lTGF5b3V0Pj4obV9saW5lTGF5b3V0KTsKKyAg
ICByZXR1cm4gV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxzdGQ6OnVuaXF1ZV9wdHI8TGF5b3V0QnJp
ZGdlOjpMaW5lTGF5b3V0Pj4obV9saW5lTGF5b3V0KTsKIH0KIAotaW5saW5lIGNvbnN0IExheW91
dEludGVncmF0aW9uOjpMaW5lTGF5b3V0KiBSZW5kZXJCbG9ja0Zsb3c6Om1vZGVybkxpbmVMYXlv
dXQoKSBjb25zdAoraW5saW5lIGNvbnN0IExheW91dEJyaWRnZTo6TGluZUxheW91dCogUmVuZGVy
QmxvY2tGbG93Ojptb2Rlcm5MaW5lTGF5b3V0KCkgY29uc3QKIHsKLSAgICByZXR1cm4gaGFzTW9k
ZXJuTGluZUxheW91dCgpID8gV1RGOjpnZXQ8c3RkOjp1bmlxdWVfcHRyPExheW91dEludGVncmF0
aW9uOjpMaW5lTGF5b3V0Pj4obV9saW5lTGF5b3V0KS5nZXQoKSA6IG51bGxwdHI7CisgICAgcmV0
dXJuIGhhc01vZGVybkxpbmVMYXlvdXQoKSA/IFdURjo6Z2V0PHN0ZDo6dW5pcXVlX3B0cjxMYXlv
dXRCcmlkZ2U6OkxpbmVMYXlvdXQ+PihtX2xpbmVMYXlvdXQpLmdldCgpIDogbnVsbHB0cjsKIH0K
IAotaW5saW5lIExheW91dEludGVncmF0aW9uOjpMaW5lTGF5b3V0KiBSZW5kZXJCbG9ja0Zsb3c6
Om1vZGVybkxpbmVMYXlvdXQoKQoraW5saW5lIExheW91dEJyaWRnZTo6TGluZUxheW91dCogUmVu
ZGVyQmxvY2tGbG93Ojptb2Rlcm5MaW5lTGF5b3V0KCkKIHsKLSAgICByZXR1cm4gaGFzTW9kZXJu
TGluZUxheW91dCgpID8gV1RGOjpnZXQ8c3RkOjp1bmlxdWVfcHRyPExheW91dEludGVncmF0aW9u
OjpMaW5lTGF5b3V0Pj4obV9saW5lTGF5b3V0KS5nZXQoKSA6IG51bGxwdHI7CisgICAgcmV0dXJu
IGhhc01vZGVybkxpbmVMYXlvdXQoKSA/IFdURjo6Z2V0PHN0ZDo6dW5pcXVlX3B0cjxMYXlvdXRC
cmlkZ2U6OkxpbmVMYXlvdXQ+PihtX2xpbmVMYXlvdXQpLmdldCgpIDogbnVsbHB0cjsKIH0KICNl
bmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCmluZGV4IGExZDJmOGFi
YmIxNS4uZmMzZWU5NzBlMzE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNw
cApAQCAtNDgsOCArNDgsOCBAQAogI2luY2x1ZGUgIkhUTUxUZXh0QXJlYUVsZW1lbnQuaCIKICNp
bmNsdWRlICJIaXRUZXN0UmVzdWx0LmgiCiAjaW5jbHVkZSAiSW5saW5lUnVuQW5kT2Zmc2V0Lmgi
Ci0jaW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3IuaCIKLSNpbmNsdWRlICJM
YXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuaCIKKyNpbmNsdWRlICJMYXlvdXRCcmlkZ2VMaW5l
SXRlcmF0b3IuaCIKKyNpbmNsdWRlICJMYXlvdXRCcmlkZ2VMaW5lTGF5b3V0LmgiCiAjaW5jbHVk
ZSAiTGVnYWN5SW5saW5lRWxlbWVudEJveC5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRl
ICJQYWludEluZm8uaCIKQEAgLTQxNyw3ICs0MTcsNyBAQCB2b2lkIFJlbmRlckJveDo6c3R5bGVE
aWRDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlIGRpZmYsIGNvbnN0IFJlbmRlclN0eWxlKiBvbGRTdHls
ZQogCiAjaWYgRU5BQkxFKExBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpCiAgICAgaWYgKGRpZmYg
Pj0gU3R5bGVEaWZmZXJlbmNlOjpSZXBhaW50KSB7Ci0gICAgICAgIGlmIChhdXRvKiBsaW5lTGF5
b3V0ID0gTGF5b3V0SW50ZWdyYXRpb246OkxpbmVMYXlvdXQ6OmNvbnRhaW5pbmcoKnRoaXMpKQor
ICAgICAgICBpZiAoYXV0byogbGluZUxheW91dCA9IExheW91dEJyaWRnZTo6TGluZUxheW91dDo6
Y29udGFpbmluZygqdGhpcykpCiAgICAgICAgICAgICBsaW5lTGF5b3V0LT51cGRhdGVTdHlsZSgq
dGhpcyk7CiAgICAgfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxl
bWVudC5jcHAKaW5kZXggODI3N2NkNGM3MzZlLi4xNjk3OTNjYmVmOWEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAKQEAgLTQzLDggKzQzLDggQEAKICNpbmNs
dWRlICJIVE1MSHRtbEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MSW1hZ2VFbGVtZW50LmgiCiAj
aW5jbHVkZSAiSFRNTE5hbWVzLmgiCi0jaW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRl
cmF0b3IuaCIKLSNpbmNsdWRlICJMYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yLmgiCisjaW5j
bHVkZSAiTGF5b3V0QnJpZGdlTGluZUl0ZXJhdG9yLmgiCisjaW5jbHVkZSAiTGF5b3V0QnJpZGdl
UnVuSXRlcmF0b3IuaCIKICNpbmNsdWRlICJMZW5ndGhGdW5jdGlvbnMuaCIKICNpbmNsdWRlICJM
b2dnaW5nLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgpAQCAtMTYzMiwxMyArMTYzMiwxMyBAQCBib29s
IFJlbmRlckVsZW1lbnQ6OmdldExlYWRpbmdDb3JuZXIoRmxvYXRQb2ludCYgcG9pbnQsIGJvb2wm
IGluc2lkZUZpeGVkKSBjb25zdAogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIH0K
IAotICAgICAgICBpZiAocC0+bm9kZSgpICYmIHAtPm5vZGUoKSA9PSBlbGVtZW50KCkgJiYgaXM8
UmVuZGVyVGV4dD4oKm8pICYmICFMYXlvdXRJbnRlZ3JhdGlvbjo6Zmlyc3RUZXh0UnVuRm9yKGRv
d25jYXN0PFJlbmRlclRleHQ+KCpvKSkpIHsKKyAgICAgICAgaWYgKHAtPm5vZGUoKSAmJiBwLT5u
b2RlKCkgPT0gZWxlbWVudCgpICYmIGlzPFJlbmRlclRleHQ+KCpvKSAmJiAhTGF5b3V0QnJpZGdl
OjpmaXJzdFRleHRSdW5Gb3IoZG93bmNhc3Q8UmVuZGVyVGV4dD4oKm8pKSkgewogICAgICAgICAg
ICAgLy8gZG8gbm90aGluZyAtIHNraXAgdW5yZW5kZXJlZCB3aGl0ZXNwYWNlIHRoYXQgaXMgYSBj
aGlsZCBvciBuZXh0IHNpYmxpbmcgb2YgdGhlIGFuY2hvcgogICAgICAgICB9IGVsc2UgaWYgKGlz
PFJlbmRlclRleHQ+KCpvKSB8fCBvLT5pc1JlcGxhY2VkKCkpIHsKICAgICAgICAgICAgIHBvaW50
ID0gRmxvYXRQb2ludCgpOwogICAgICAgICAgICAgaWYgKGlzPFJlbmRlclRleHQ+KCpvKSkgewog
ICAgICAgICAgICAgICAgIGF1dG8mIHRleHRSZW5kZXJlciA9IGRvd25jYXN0PFJlbmRlclRleHQ+
KCpvKTsKLSAgICAgICAgICAgICAgICBpZiAoYXV0byBydW4gPSBMYXlvdXRJbnRlZ3JhdGlvbjo6
Zmlyc3RUZXh0UnVuRm9yKHRleHRSZW5kZXJlcikpCisgICAgICAgICAgICAgICAgaWYgKGF1dG8g
cnVuID0gTGF5b3V0QnJpZGdlOjpmaXJzdFRleHRSdW5Gb3IodGV4dFJlbmRlcmVyKSkKICAgICAg
ICAgICAgICAgICAgICAgcG9pbnQubW92ZSh0ZXh0UmVuZGVyZXIubGluZXNCb3VuZGluZ0JveCgp
LngoKSwgcnVuLmxpbmUoKS0+dG9wKCkpOwogICAgICAgICAgICAgfSBlbHNlIGlmIChpczxSZW5k
ZXJCb3g+KCpvKSkKICAgICAgICAgICAgICAgICBwb2ludC5tb3ZlQnkoZG93bmNhc3Q8UmVuZGVy
Qm94PigqbykubG9jYXRpb24oKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVySW1hZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdl
LmNwcAppbmRleCBlYzRmOGZmYmU3MDAuLjhkODgxYjkyNWRhNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCkBAIC00NCw4ICs0NCw4IEBACiAjaW5jbHVkZSAiSFRN
TE1hcEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJIaXRUZXN0
UmVzdWx0LmgiCi0jaW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3IuaCIKLSNp
bmNsdWRlICJMYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yLmgiCisjaW5jbHVkZSAiTGF5b3V0
QnJpZGdlTGluZUl0ZXJhdG9yLmgiCisjaW5jbHVkZSAiTGF5b3V0QnJpZGdlUnVuSXRlcmF0b3Iu
aCIKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUGFpbnRJbmZvLmgiCiAjaW5jbHVkZSAi
UmVuZGVyQ2hpbGRJdGVyYXRvci5oIgpAQCAtOTEsNyArOTEsNyBAQCB2b2lkIFJlbmRlckltYWdl
Ojpjb2xsZWN0U2VsZWN0aW9uR2VvbWV0cmllcyhWZWN0b3I8U2VsZWN0aW9uR2VvbWV0cnk+JiBn
ZW9tZXRyaQogICAgIGJvb2wgaXNGaXJzdE9uTGluZSA9IGZhbHNlOwogICAgIGJvb2wgaXNMYXN0
T25MaW5lID0gZmFsc2U7CiAKLSAgICBhdXRvIHJ1biA9IExheW91dEludGVncmF0aW9uOjpydW5G
b3IoKnRoaXMpOworICAgIGF1dG8gcnVuID0gTGF5b3V0QnJpZGdlOjpydW5Gb3IoKnRoaXMpOwog
ICAgIGlmICghcnVuKSB7CiAgICAgICAgIC8vIFRoaXMgaXMgYSBibG9jayBpbWFnZS4KICAgICAg
ICAgaW1hZ2VSZWN0ID0gSW50UmVjdCgwLCAwLCB3aWR0aCgpLCBoZWlnaHQoKSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCmluZGV4IGY0MzVjYzRmNWEwMy4uMWY1
ODA2YjA1MzkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5s
aW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcApA
QCAtMjgsNyArMjgsNyBAQAogI2luY2x1ZGUgIkZyYW1lU2VsZWN0aW9uLmgiCiAjaW5jbHVkZSAi
R3JhcGhpY3NDb250ZXh0LmgiCiAjaW5jbHVkZSAiSGl0VGVzdFJlc3VsdC5oIgotI2luY2x1ZGUg
IkxheW91dEludGVncmF0aW9uTGluZUxheW91dC5oIgorI2luY2x1ZGUgIkxheW91dEJyaWRnZUxp
bmVMYXlvdXQuaCIKICNpbmNsdWRlICJMZWdhY3lJbmxpbmVFbGVtZW50Qm94LmgiCiAjaW5jbHVk
ZSAiTGVnYWN5SW5saW5lVGV4dEJveC5oIgogI2luY2x1ZGUgIlJlbmRlckJsb2NrLmgiCkBAIC0x
OTcsMTAgKzE5NywxMCBAQCB2b2lkIFJlbmRlcklubGluZTo6c3R5bGVEaWRDaGFuZ2UoU3R5bGVE
aWZmZXJlbmNlIGRpZmYsIGNvbnN0IFJlbmRlclN0eWxlKiBvbGRTdAogCiAjaWYgRU5BQkxFKExB
WU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpCiAgICAgaWYgKGRpZmYgPj0gU3R5bGVEaWZmZXJlbmNl
OjpSZXBhaW50KSB7Ci0gICAgICAgIGlmIChhdXRvKiBsaW5lTGF5b3V0ID0gTGF5b3V0SW50ZWdy
YXRpb246OkxpbmVMYXlvdXQ6OmNvbnRhaW5pbmcoKnRoaXMpKSB7CisgICAgICAgIGlmIChhdXRv
KiBsaW5lTGF5b3V0ID0gTGF5b3V0QnJpZGdlOjpMaW5lTGF5b3V0Ojpjb250YWluaW5nKCp0aGlz
KSkgewogICAgICAgICAgICAgaWYgKHNlbGZOZWVkc0xheW91dCgpKSB7CiAgICAgICAgICAgICAg
ICAgLy8gRklYTUU6IEFkZCBzdXBwb3J0IGZvciBwYXJ0aWFsIGludmFsaWRhdGlvbi4KLSAgICAg
ICAgICAgICAgICBpZiAoYXV0byogY29udGFpbmVyID0gTGF5b3V0SW50ZWdyYXRpb246OkxpbmVM
YXlvdXQ6OmJsb2NrQ29udGFpbmVyKCp0aGlzKSkKKyAgICAgICAgICAgICAgICBpZiAoYXV0byog
Y29udGFpbmVyID0gTGF5b3V0QnJpZGdlOjpMaW5lTGF5b3V0OjpibG9ja0NvbnRhaW5lcigqdGhp
cykpCiAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lci0+aW52YWxpZGF0ZUxpbmVMYXlvdXRQ
YXRoKCk7CiAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICBsaW5lTGF5b3V0LT51
cGRhdGVTdHlsZSgqdGhpcyk7CkBAIC0zNjgsNyArMzY4LDcgQEAgcHJpdmF0ZToKIHZvaWQgUmVu
ZGVySW5saW5lOjphYnNvbHV0ZVJlY3RzKFZlY3RvcjxJbnRSZWN0PiYgcmVjdHMsIGNvbnN0IExh
eW91dFBvaW50JiBhY2N1bXVsYXRlZE9mZnNldCkgY29uc3QKIHsKICNpZiBFTkFCTEUoTEFZT1VU
X0ZPUk1BVFRJTkdfQ09OVEVYVCkKLSAgICBpZiAoYXV0byogbGluZUxheW91dCA9IExheW91dElu
dGVncmF0aW9uOjpMaW5lTGF5b3V0Ojpjb250YWluaW5nKGNvbnN0X2Nhc3Q8UmVuZGVySW5saW5l
Jj4oKnRoaXMpKSkKKyAgICBpZiAoYXV0byogbGluZUxheW91dCA9IExheW91dEJyaWRnZTo6TGlu
ZUxheW91dDo6Y29udGFpbmluZyhjb25zdF9jYXN0PFJlbmRlcklubGluZSY+KCp0aGlzKSkpCiAg
ICAgICAgIGxpbmVMYXlvdXQtPmZsb3coKS5lbnN1cmVMaW5lQm94ZXMoKTsKICNlbmRpZgogICAg
IFZlY3RvcjxMYXlvdXRSZWN0PiBsaW5lYm94UmVjdHM7CkBAIC00MTIsNyArNDEyLDcgQEAgcHJp
dmF0ZToKIHZvaWQgUmVuZGVySW5saW5lOjphYnNvbHV0ZVF1YWRzKFZlY3RvcjxGbG9hdFF1YWQ+
JiBxdWFkcywgYm9vbCogd2FzRml4ZWQpIGNvbnN0CiB7CiAjaWYgRU5BQkxFKExBWU9VVF9GT1JN
QVRUSU5HX0NPTlRFWFQpCi0gICAgaWYgKGF1dG8qIGxpbmVMYXlvdXQgPSBMYXlvdXRJbnRlZ3Jh
dGlvbjo6TGluZUxheW91dDo6Y29udGFpbmluZyhjb25zdF9jYXN0PFJlbmRlcklubGluZSY+KCp0
aGlzKSkpCisgICAgaWYgKGF1dG8qIGxpbmVMYXlvdXQgPSBMYXlvdXRCcmlkZ2U6OkxpbmVMYXlv
dXQ6OmNvbnRhaW5pbmcoY29uc3RfY2FzdDxSZW5kZXJJbmxpbmUmPigqdGhpcykpKQogICAgICAg
ICBsaW5lTGF5b3V0LT5mbG93KCkuZW5zdXJlTGluZUJveGVzKCk7CiAjZW5kaWYKICAgICBhYnNv
bHV0ZVF1YWRzSWdub3JpbmdDb250aW51YXRpb24oeyB9LCBxdWFkcywgd2FzRml4ZWQpOwpAQCAt
NDIzLDcgKzQyMyw3IEBAIHZvaWQgUmVuZGVySW5saW5lOjphYnNvbHV0ZVF1YWRzKFZlY3RvcjxG
bG9hdFF1YWQ+JiBxdWFkcywgYm9vbCogd2FzRml4ZWQpIGNvbnN0CiB2b2lkIFJlbmRlcklubGlu
ZTo6YWJzb2x1dGVRdWFkc0lnbm9yaW5nQ29udGludWF0aW9uKGNvbnN0IEZsb2F0UmVjdCYsIFZl
Y3RvcjxGbG9hdFF1YWQ+JiBxdWFkcywgYm9vbCopIGNvbnN0CiB7CiAjaWYgRU5BQkxFKExBWU9V
VF9GT1JNQVRUSU5HX0NPTlRFWFQpCi0gICAgaWYgKGF1dG8qIGxpbmVMYXlvdXQgPSBMYXlvdXRJ
bnRlZ3JhdGlvbjo6TGluZUxheW91dDo6Y29udGFpbmluZyhjb25zdF9jYXN0PFJlbmRlcklubGlu
ZSY+KCp0aGlzKSkpCisgICAgaWYgKGF1dG8qIGxpbmVMYXlvdXQgPSBMYXlvdXRCcmlkZ2U6Okxp
bmVMYXlvdXQ6OmNvbnRhaW5pbmcoY29uc3RfY2FzdDxSZW5kZXJJbmxpbmUmPigqdGhpcykpKQog
ICAgICAgICBsaW5lTGF5b3V0LT5mbG93KCkuZW5zdXJlTGluZUJveGVzKCk7CiAjZW5kaWYKICAg
ICBBYnNvbHV0ZVF1YWRzR2VuZXJhdG9yQ29udGV4dCBjb250ZXh0KHRoaXMsIHF1YWRzKTsKQEAg
LTQzNCw3ICs0MzQsNyBAQCB2b2lkIFJlbmRlcklubGluZTo6YWJzb2x1dGVRdWFkc0lnbm9yaW5n
Q29udGludWF0aW9uKGNvbnN0IEZsb2F0UmVjdCYsIFZlY3RvcjxGbAogdm9pZCBSZW5kZXJJbmxp
bmU6OmFic29sdXRlUXVhZHNGb3JTZWxlY3Rpb24oVmVjdG9yPEZsb2F0UXVhZD4mIHF1YWRzKSBj
b25zdAogewogI2lmIEVOQUJMRShMQVlPVVRfRk9STUFUVElOR19DT05URVhUKQotICAgIGlmIChh
dXRvKiBsaW5lTGF5b3V0ID0gTGF5b3V0SW50ZWdyYXRpb246OkxpbmVMYXlvdXQ6OmNvbnRhaW5p
bmcoY29uc3RfY2FzdDxSZW5kZXJJbmxpbmUmPigqdGhpcykpKQorICAgIGlmIChhdXRvKiBsaW5l
TGF5b3V0ID0gTGF5b3V0QnJpZGdlOjpMaW5lTGF5b3V0Ojpjb250YWluaW5nKGNvbnN0X2Nhc3Q8
UmVuZGVySW5saW5lJj4oKnRoaXMpKSkKICAgICAgICAgbGluZUxheW91dC0+ZmxvdygpLmVuc3Vy
ZUxpbmVCb3hlcygpOwogI2VuZGlmCiAgICAgQWJzb2x1dGVRdWFkc0dlbmVyYXRvckNvbnRleHQg
Y29udGV4dCh0aGlzLCBxdWFkcyk7CkBAIC00NDUsNyArNDQ1LDcgQEAgdm9pZCBSZW5kZXJJbmxp
bmU6OmFic29sdXRlUXVhZHNGb3JTZWxlY3Rpb24oVmVjdG9yPEZsb2F0UXVhZD4mIHF1YWRzKSBj
b25zdAogTGF5b3V0VW5pdCBSZW5kZXJJbmxpbmU6Om9mZnNldExlZnQoKSBjb25zdAogewogI2lm
IEVOQUJMRShMQVlPVVRfRk9STUFUVElOR19DT05URVhUKQotICAgIGlmIChhdXRvKiBsaW5lTGF5
b3V0ID0gTGF5b3V0SW50ZWdyYXRpb246OkxpbmVMYXlvdXQ6OmNvbnRhaW5pbmcoY29uc3RfY2Fz
dDxSZW5kZXJJbmxpbmUmPigqdGhpcykpKQorICAgIGlmIChhdXRvKiBsaW5lTGF5b3V0ID0gTGF5
b3V0QnJpZGdlOjpMaW5lTGF5b3V0Ojpjb250YWluaW5nKGNvbnN0X2Nhc3Q8UmVuZGVySW5saW5l
Jj4oKnRoaXMpKSkKICAgICAgICAgbGluZUxheW91dC0+ZmxvdygpLmVuc3VyZUxpbmVCb3hlcygp
OwogI2VuZGlmCiAgICAgTGF5b3V0UG9pbnQgdG9wTGVmdDsKQEAgLTQ1Nyw3ICs0NTcsNyBAQCBM
YXlvdXRVbml0IFJlbmRlcklubGluZTo6b2Zmc2V0TGVmdCgpIGNvbnN0CiBMYXlvdXRVbml0IFJl
bmRlcklubGluZTo6b2Zmc2V0VG9wKCkgY29uc3QKIHsKICNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1B
VFRJTkdfQ09OVEVYVCkKLSAgICBpZiAoYXV0byogbGluZUxheW91dCA9IExheW91dEludGVncmF0
aW9uOjpMaW5lTGF5b3V0Ojpjb250YWluaW5nKGNvbnN0X2Nhc3Q8UmVuZGVySW5saW5lJj4oKnRo
aXMpKSkKKyAgICBpZiAoYXV0byogbGluZUxheW91dCA9IExheW91dEJyaWRnZTo6TGluZUxheW91
dDo6Y29udGFpbmluZyhjb25zdF9jYXN0PFJlbmRlcklubGluZSY+KCp0aGlzKSkpCiAgICAgICAg
IGxpbmVMYXlvdXQtPmZsb3coKS5lbnN1cmVMaW5lQm94ZXMoKTsKICNlbmRpZgogICAgIExheW91
dFBvaW50IHRvcExlZnQ7CkBAIC01MzUsNyArNTM1LDcgQEAgYm9vbCBSZW5kZXJJbmxpbmU6Om5v
ZGVBdFBvaW50KGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiByZXF1ZXN0LCBIaXRUZXN0UmVzdWx0JiBy
ZXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgSGl0VGVzdExvY2F0aW9u
JiBsb2NhdGlvbkluQ29udGFpbmVyLCBjb25zdCBMYXlvdXRQb2ludCYgYWNjdW11bGF0ZWRPZmZz
ZXQsIEhpdFRlc3RBY3Rpb24gaGl0VGVzdEFjdGlvbikKIHsKICNpZiBFTkFCTEUoTEFZT1VUX0ZP
Uk1BVFRJTkdfQ09OVEVYVCkKLSAgICBpZiAoYXV0byogbGluZUxheW91dCA9IExheW91dEludGVn
cmF0aW9uOjpMaW5lTGF5b3V0Ojpjb250YWluaW5nKGNvbnN0X2Nhc3Q8UmVuZGVySW5saW5lJj4o
KnRoaXMpKSkKKyAgICBpZiAoYXV0byogbGluZUxheW91dCA9IExheW91dEJyaWRnZTo6TGluZUxh
eW91dDo6Y29udGFpbmluZyhjb25zdF9jYXN0PFJlbmRlcklubGluZSY+KCp0aGlzKSkpCiAgICAg
ICAgIGxpbmVMYXlvdXQtPmZsb3coKS5lbnN1cmVMaW5lQm94ZXMoKTsKICNlbmRpZgogICAgIHJl
dHVybiBtX2xpbmVCb3hlcy5oaXRUZXN0KHRoaXMsIHJlcXVlc3QsIHJlc3VsdCwgbG9jYXRpb25J
bkNvbnRhaW5lciwgYWNjdW11bGF0ZWRPZmZzZXQsIGhpdFRlc3RBY3Rpb24pOwpAQCAtNjMxLDcg
KzYzMSw3IEBAIHByaXZhdGU6CiBJbnRSZWN0IFJlbmRlcklubGluZTo6bGluZXNCb3VuZGluZ0Jv
eCgpIGNvbnN0CiB7CiAjaWYgRU5BQkxFKExBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpCi0gICAg
aWYgKGF1dG8qIGxheW91dCA9IExheW91dEludGVncmF0aW9uOjpMaW5lTGF5b3V0Ojpjb250YWlu
aW5nKCp0aGlzKSkKKyAgICBpZiAoYXV0byogbGF5b3V0ID0gTGF5b3V0QnJpZGdlOjpMaW5lTGF5
b3V0Ojpjb250YWluaW5nKCp0aGlzKSkKICAgICAgICAgcmV0dXJuIGVuY2xvc2luZ0ludFJlY3Qo
bGF5b3V0LT5lbmNsb3NpbmdCb3JkZXJCb3hSZWN0Rm9yKCp0aGlzKSk7CiAjZW5kaWYKIApAQCAt
Nzc0LDcgKzc3NCw3IEBAIExheW91dFJlY3QgUmVuZGVySW5saW5lOjpjdWxsZWRJbmxpbmVWaXN1
YWxPdmVyZmxvd0JvdW5kaW5nQm94KCkgY29uc3QKIExheW91dFJlY3QgUmVuZGVySW5saW5lOjps
aW5lc1Zpc3VhbE92ZXJmbG93Qm91bmRpbmdCb3goKSBjb25zdAogewogI2lmIEVOQUJMRShMQVlP
VVRfRk9STUFUVElOR19DT05URVhUKQotICAgIGlmIChhdXRvKiBsYXlvdXQgPSBMYXlvdXRJbnRl
Z3JhdGlvbjo6TGluZUxheW91dDo6Y29udGFpbmluZygqdGhpcykpCisgICAgaWYgKGF1dG8qIGxh
eW91dCA9IExheW91dEJyaWRnZTo6TGluZUxheW91dDo6Y29udGFpbmluZygqdGhpcykpCiAgICAg
ICAgIHJldHVybiBsYXlvdXQtPnZpc3VhbE92ZXJmbG93Qm91bmRpbmdCb3hSZWN0Rm9yKCp0aGlz
KTsKICNlbmRpZgogCkBAIC04NjAsNyArODYwLDcgQEAgTGF5b3V0UmVjdCBSZW5kZXJJbmxpbmU6
OmNsaXBwZWRPdmVyZmxvd1JlY3QoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVwYWkK
ICAgICAgICAgaWYgKGNvbnRpbnVhdGlvbigpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwog
I2lmIEVOQUJMRShMQVlPVVRfRk9STUFUVElOR19DT05URVhUKQotICAgICAgICBpZiAoTGF5b3V0
SW50ZWdyYXRpb246OkxpbmVMYXlvdXQ6OmNvbnRhaW5pbmcoKnRoaXMpKQorICAgICAgICBpZiAo
TGF5b3V0QnJpZGdlOjpMaW5lTGF5b3V0Ojpjb250YWluaW5nKCp0aGlzKSkKICAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKICNlbmRpZgogICAgICAgICByZXR1cm4gdHJ1ZTsKQEAgLTEyMjEsNyAr
MTIyMSw3IEBAIHZvaWQgUmVuZGVySW5saW5lOjppbWFnZUNoYW5nZWQoV3JhcHBlZEltYWdlUHRy
LCBjb25zdCBJbnRSZWN0KikKIHZvaWQgUmVuZGVySW5saW5lOjphZGRGb2N1c1JpbmdSZWN0cyhW
ZWN0b3I8TGF5b3V0UmVjdD4mIHJlY3RzLCBjb25zdCBMYXlvdXRQb2ludCYgYWRkaXRpb25hbE9m
ZnNldCwgY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogcGFpbnRDb250YWluZXIpCiB7CiAj
aWYgRU5BQkxFKExBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpCi0gICAgaWYgKGF1dG8qIGxpbmVM
YXlvdXQgPSBMYXlvdXRJbnRlZ3JhdGlvbjo6TGluZUxheW91dDo6Y29udGFpbmluZyhjb25zdF9j
YXN0PFJlbmRlcklubGluZSY+KCp0aGlzKSkpCisgICAgaWYgKGF1dG8qIGxpbmVMYXlvdXQgPSBM
YXlvdXRCcmlkZ2U6OkxpbmVMYXlvdXQ6OmNvbnRhaW5pbmcoY29uc3RfY2FzdDxSZW5kZXJJbmxp
bmUmPigqdGhpcykpKQogICAgICAgICBsaW5lTGF5b3V0LT5mbG93KCkuZW5zdXJlTGluZUJveGVz
KCk7CiAjZW5kaWYKICAgICBBYnNvbHV0ZVJlY3RzR2VuZXJhdG9yQ29udGV4dCBjb250ZXh0KHJl
Y3RzLCBhZGRpdGlvbmFsT2Zmc2V0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMaW5lQnJlYWsuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxpbmVCcmVhay5jcHAKaW5kZXggYTUyOWI5YjFjZTRhLi5jOTliNWY3ZDE4ZmEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaW5lQnJlYWsuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaW5lQnJlYWsuY3BwCkBAIC0yNyw4ICsyNyw4
IEBACiAjaW5jbHVkZSAiSFRNTEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MV0JSRWxlbWVudC5o
IgogI2luY2x1ZGUgIklubGluZVJ1bkFuZE9mZnNldC5oIgotI2luY2x1ZGUgIkxheW91dEludGVn
cmF0aW9uTGluZUl0ZXJhdG9yLmgiCi0jaW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVy
YXRvci5oIgorI2luY2x1ZGUgIkxheW91dEJyaWRnZUxpbmVJdGVyYXRvci5oIgorI2luY2x1ZGUg
IkxheW91dEJyaWRnZVJ1bkl0ZXJhdG9yLmgiCiAjaW5jbHVkZSAiTGVnYWN5SW5saW5lRWxlbWVu
dEJveC5oIgogI2luY2x1ZGUgIkxlZ2FjeVJvb3RJbmxpbmVCb3guaCIKICNpbmNsdWRlICJMb2dp
Y2FsU2VsZWN0aW9uT2Zmc2V0Q2FjaGVzLmgiCkBAIC0xNDQsNyArMTQ0LDcgQEAgVmlzaWJsZVBv
c2l0aW9uIFJlbmRlckxpbmVCcmVhazo6cG9zaXRpb25Gb3JQb2ludChjb25zdCBMYXlvdXRQb2lu
dCYsIGNvbnN0IFJlbmQKIAogSW50UmVjdCBSZW5kZXJMaW5lQnJlYWs6OmxpbmVzQm91bmRpbmdC
b3goKSBjb25zdAogewotICAgIGF1dG8gcnVuID0gTGF5b3V0SW50ZWdyYXRpb246OnJ1bkZvcigq
dGhpcyk7CisgICAgYXV0byBydW4gPSBMYXlvdXRCcmlkZ2U6OnJ1bkZvcigqdGhpcyk7CiAgICAg
aWYgKCFydW4pCiAgICAgICAgIHJldHVybiB7IH07CiAKQEAgLTE1Myw3ICsxNTMsNyBAQCBJbnRS
ZWN0IFJlbmRlckxpbmVCcmVhazo6bGluZXNCb3VuZGluZ0JveCgpIGNvbnN0CiAKIHZvaWQgUmVu
ZGVyTGluZUJyZWFrOjphYnNvbHV0ZVJlY3RzKFZlY3RvcjxJbnRSZWN0PiYgcmVjdHMsIGNvbnN0
IExheW91dFBvaW50JiBhY2N1bXVsYXRlZE9mZnNldCkgY29uc3QKIHsKLSAgICBhdXRvIGJveCA9
IExheW91dEludGVncmF0aW9uOjpydW5Gb3IoKnRoaXMpOworICAgIGF1dG8gYm94ID0gTGF5b3V0
QnJpZGdlOjpydW5Gb3IoKnRoaXMpOwogICAgIGlmICghYm94KQogICAgICAgICByZXR1cm47CiAK
QEAgLTE2Myw3ICsxNjMsNyBAQCB2b2lkIFJlbmRlckxpbmVCcmVhazo6YWJzb2x1dGVSZWN0cyhW
ZWN0b3I8SW50UmVjdD4mIHJlY3RzLCBjb25zdCBMYXlvdXRQb2ludCYgYQogCiB2b2lkIFJlbmRl
ckxpbmVCcmVhazo6YWJzb2x1dGVRdWFkcyhWZWN0b3I8RmxvYXRRdWFkPiYgcXVhZHMsIGJvb2wq
IHdhc0ZpeGVkKSBjb25zdAogewotICAgIGF1dG8gYm94ID0gTGF5b3V0SW50ZWdyYXRpb246OnJ1
bkZvcigqdGhpcyk7CisgICAgYXV0byBib3ggPSBMYXlvdXRCcmlkZ2U6OnJ1bkZvcigqdGhpcyk7
CiAgICAgaWYgKCFib3gpCiAgICAgICAgIHJldHVybjsKIApAQCAtMTgwLDcgKzE4MCw3IEBAIHZv
aWQgUmVuZGVyTGluZUJyZWFrOjp1cGRhdGVGcm9tU3R5bGUoKQogI2lmIFBMQVRGT1JNKElPU19G
QU1JTFkpCiB2b2lkIFJlbmRlckxpbmVCcmVhazo6Y29sbGVjdFNlbGVjdGlvbkdlb21ldHJpZXMo
VmVjdG9yPFNlbGVjdGlvbkdlb21ldHJ5PiYgcmVjdHMsIHVuc2lnbmVkLCB1bnNpZ25lZCkKIHsK
LSAgICBhdXRvIHJ1biA9IExheW91dEludGVncmF0aW9uOjpydW5Gb3IoKnRoaXMpOworICAgIGF1
dG8gcnVuID0gTGF5b3V0QnJpZGdlOjpydW5Gb3IoKnRoaXMpOwogCiAgICAgaWYgKCFydW4pCiAg
ICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAK
aW5kZXggMGRjZmJjZjYwMWQzLi5iNTAwMWYzNzdkMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJPYmplY3QuY3BwCkBAIC00MSw3ICs0MSw3IEBACiAjaW5jbHVkZSAiSFRNTFRh
YmxlQ2VsbEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MVGFibGVFbGVtZW50LmgiCiAjaW5jbHVk
ZSAiSGl0VGVzdFJlc3VsdC5oIgotI2luY2x1ZGUgIkxheW91dEludGVncmF0aW9uTGluZUxheW91
dC5oIgorI2luY2x1ZGUgIkxheW91dEJyaWRnZUxpbmVMYXlvdXQuaCIKICNpbmNsdWRlICJMb2dp
Y2FsU2VsZWN0aW9uT2Zmc2V0Q2FjaGVzLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUg
IlBzZXVkb0VsZW1lbnQuaCIKQEAgLTE0OTksNyArMTQ5OSw3IEBAIHZvaWQgUmVuZGVyT2JqZWN0
Ojp3aWxsQmVEZXN0cm95ZWQoKQogdm9pZCBSZW5kZXJPYmplY3Q6Omluc2VydGVkSW50b1RyZWUo
SXNJbnRlcm5hbE1vdmUpCiB7CiAjaWYgRU5BQkxFKExBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQp
Ci0gICAgaWYgKGF1dG8qIGNvbnRhaW5lciA9IExheW91dEludGVncmF0aW9uOjpMaW5lTGF5b3V0
OjpibG9ja0NvbnRhaW5lcigqdGhpcykpCisgICAgaWYgKGF1dG8qIGNvbnRhaW5lciA9IExheW91
dEJyaWRnZTo6TGluZUxheW91dDo6YmxvY2tDb250YWluZXIoKnRoaXMpKQogICAgICAgICBjb250
YWluZXItPmludmFsaWRhdGVMaW5lTGF5b3V0UGF0aCgpOwogI2VuZGlmCiAKQEAgLTE1MTEsNyAr
MTUxMSw3IEBAIHZvaWQgUmVuZGVyT2JqZWN0OjppbnNlcnRlZEludG9UcmVlKElzSW50ZXJuYWxN
b3ZlKQogdm9pZCBSZW5kZXJPYmplY3Q6OndpbGxCZVJlbW92ZWRGcm9tVHJlZShJc0ludGVybmFs
TW92ZSkKIHsKICNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkKLSAgICBpZiAo
YXV0byogY29udGFpbmVyID0gTGF5b3V0SW50ZWdyYXRpb246OkxpbmVMYXlvdXQ6OmJsb2NrQ29u
dGFpbmVyKCp0aGlzKSkKKyAgICBpZiAoYXV0byogY29udGFpbmVyID0gTGF5b3V0QnJpZGdlOjpM
aW5lTGF5b3V0OjpibG9ja0NvbnRhaW5lcigqdGhpcykpCiAgICAgICAgIGNvbnRhaW5lci0+aW52
YWxpZGF0ZUxpbmVMYXlvdXRQYXRoKCk7CiAjZW5kaWYKIApAQCAtMTc4Miw3ICsxNzgyLDcgQEAg
dm9pZCBSZW5kZXJPYmplY3Q6OnNldFNlbGVjdGlvblN0YXRlKEhpZ2hsaWdodFN0YXRlIHN0YXRl
KQogewogI2lmIEVOQUJMRShMQVlPVVRfRk9STUFUVElOR19DT05URVhUKQogICAgIGlmIChzdGF0
ZSAhPSBIaWdobGlnaHRTdGF0ZTo6Tm9uZSkgewotICAgICAgICBpZiAoYXV0byogbGluZUxheW91
dCA9IExheW91dEludGVncmF0aW9uOjpMaW5lTGF5b3V0Ojpjb250YWluaW5nKCp0aGlzKSkKKyAg
ICAgICAgaWYgKGF1dG8qIGxpbmVMYXlvdXQgPSBMYXlvdXRCcmlkZ2U6OkxpbmVMYXlvdXQ6OmNv
bnRhaW5pbmcoKnRoaXMpKQogICAgICAgICAgICAgbGluZUxheW91dC0+ZmxvdygpLmVuc3VyZUxp
bmVCb3hlcygpOwogICAgIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJSZXBsYWNlZC5jcHAKaW5kZXggZmJlMDAzYmM1ODUzLi5jMWY4MjBjMzFhZjkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcApAQCAtMzQsOCArMzQsOCBA
QAogI2luY2x1ZGUgIkhUTUxQYXJzZXJJZGlvbXMuaCIKICNpbmNsdWRlICJIaWdobGlnaHREYXRh
LmgiCiAjaW5jbHVkZSAiSGlnaGxpZ2h0UmVnaXN0ZXIuaCIKLSNpbmNsdWRlICJMYXlvdXRJbnRl
Z3JhdGlvbkxpbmVJdGVyYXRvci5oIgotI2luY2x1ZGUgIkxheW91dEludGVncmF0aW9uUnVuSXRl
cmF0b3IuaCIKKyNpbmNsdWRlICJMYXlvdXRCcmlkZ2VMaW5lSXRlcmF0b3IuaCIKKyNpbmNsdWRl
ICJMYXlvdXRCcmlkZ2VSdW5JdGVyYXRvci5oIgogI2luY2x1ZGUgIkxheW91dFJlcGFpbnRlci5o
IgogI2luY2x1ZGUgIlJlbmRlckJsb2NrLmgiCiAjaW5jbHVkZSAiUmVuZGVyRnJhZ21lbnRlZEZs
b3cuaCIKQEAgLTY4NSw3ICs2ODUsNyBAQCB2b2lkIFJlbmRlclJlcGxhY2VkOjpjb21wdXRlUHJl
ZmVycmVkTG9naWNhbFdpZHRocygpCiBWaXNpYmxlUG9zaXRpb24gUmVuZGVyUmVwbGFjZWQ6OnBv
c2l0aW9uRm9yUG9pbnQoY29uc3QgTGF5b3V0UG9pbnQmIHBvaW50LCBjb25zdCBSZW5kZXJGcmFn
bWVudENvbnRhaW5lciogZnJhZ21lbnQpCiB7CiAgICAgYXV0byBbdG9wLCBib3R0b21dID0gWyZd
IHsKLSAgICAgICAgaWYgKGF1dG8gcnVuID0gTGF5b3V0SW50ZWdyYXRpb246OnJ1bkZvcigqdGhp
cykpIHsKKyAgICAgICAgaWYgKGF1dG8gcnVuID0gTGF5b3V0QnJpZGdlOjpydW5Gb3IoKnRoaXMp
KSB7CiAgICAgICAgICAgICBhdXRvIGxpbmUgPSBydW4ubGluZSgpOwogICAgICAgICAgICAgcmV0
dXJuIHN0ZDo6bWFrZV9wYWlyKGxpbmUtPnNlbGVjdGlvblRvcEZvckhpdFRlc3RpbmcoKSwgbGlu
ZS0+c2VsZWN0aW9uQm90dG9tKCkpOwogICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGV4dC5jcHAKaW5kZXggOWQyMzg3MTUzNzU1Li42ZGZlMjY2NmY2YzAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAKQEAgLTM2LDkgKzM2LDkgQEAKICNpbmNs
dWRlICJIVE1MUGFyc2VySWRpb21zLmgiCiAjaW5jbHVkZSAiSHlwaGVuYXRpb24uaCIKICNpbmNs
dWRlICJJbmxpbmVSdW5BbmRPZmZzZXQuaCIKLSNpbmNsdWRlICJMYXlvdXRJbnRlZ3JhdGlvbkxp
bmVJdGVyYXRvci5oIgotI2luY2x1ZGUgIkxheW91dEludGVncmF0aW9uTGluZUxheW91dC5oIgot
I2luY2x1ZGUgIkxheW91dEludGVncmF0aW9uUnVuSXRlcmF0b3IuaCIKKyNpbmNsdWRlICJMYXlv
dXRCcmlkZ2VMaW5lSXRlcmF0b3IuaCIKKyNpbmNsdWRlICJMYXlvdXRCcmlkZ2VMaW5lTGF5b3V0
LmgiCisjaW5jbHVkZSAiTGF5b3V0QnJpZGdlUnVuSXRlcmF0b3IuaCIKICNpbmNsdWRlICJMZWdh
Y3lFbGxpcHNpc0JveC5oIgogI2luY2x1ZGUgIlJhbmdlLmgiCiAjaW5jbHVkZSAiUmVuZGVyQmxv
Y2suaCIKQEAgLTMwNiw3ICszMDYsNyBAQCBTdHJpbmcgUmVuZGVyVGV4dDo6b3JpZ2luYWxUZXh0
KCkgY29uc3QKIAogdm9pZCBSZW5kZXJUZXh0OjphYnNvbHV0ZVJlY3RzKFZlY3RvcjxJbnRSZWN0
PiYgcmVjdHMsIGNvbnN0IExheW91dFBvaW50JiBhY2N1bXVsYXRlZE9mZnNldCkgY29uc3QKIHsK
LSAgICBmb3IgKGF1dG8mIHJ1biA6IExheW91dEludGVncmF0aW9uOjp0ZXh0UnVuc0ZvcigqdGhp
cykpIHsKKyAgICBmb3IgKGF1dG8mIHJ1biA6IExheW91dEJyaWRnZTo6dGV4dFJ1bnNGb3IoKnRo
aXMpKSB7CiAgICAgICAgIGF1dG8gcmVjdCA9IHJ1bi5yZWN0KCk7CiAgICAgICAgIHJlY3RzLmFw
cGVuZChlbmNsb3NpbmdJbnRSZWN0KEZsb2F0UmVjdChhY2N1bXVsYXRlZE9mZnNldCArIHJlY3Qu
bG9jYXRpb24oKSwgcmVjdC5zaXplKCkpKSk7CiAgICAgfQpAQCAtMzI1LDcgKzMyNSw3IEBAIFZl
Y3RvcjxJbnRSZWN0PiBSZW5kZXJUZXh0OjphYnNvbHV0ZVJlY3RzRm9yUmFuZ2UodW5zaWduZWQg
c3RhcnQsIHVuc2lnbmVkIGVuZCwKIC8vIEZ1bGwgYW5ub3RhdGlvbnMgYXJlIGFkZGVkIGluIHRo
aXMgY2xhc3MuCiB2b2lkIFJlbmRlclRleHQ6OmNvbGxlY3RTZWxlY3Rpb25HZW9tZXRyaWVzKFZl
Y3RvcjxTZWxlY3Rpb25HZW9tZXRyeT4mIHJlY3RzLCB1bnNpZ25lZCBzdGFydCwgdW5zaWduZWQg
ZW5kKQogewotICAgIGZvciAoYXV0byBydW4gPSBMYXlvdXRJbnRlZ3JhdGlvbjo6Zmlyc3RUZXh0
UnVuRm9yKCp0aGlzKTsgcnVuOyBydW4gPSBydW4udHJhdmVyc2VOZXh0VGV4dFJ1bigpKSB7Cisg
ICAgZm9yIChhdXRvIHJ1biA9IExheW91dEJyaWRnZTo6Zmlyc3RUZXh0UnVuRm9yKCp0aGlzKTsg
cnVuOyBydW4gPSBydW4udHJhdmVyc2VOZXh0VGV4dFJ1bigpKSB7CiAgICAgICAgIExheW91dFJl
Y3QgcmVjdDsKICAgICAgICAgaWYgKHN0YXJ0IDw9IHJ1bi0+c3RhcnQoKSAmJiBydW4tPmVuZCgp
IDw9IGVuZCkKICAgICAgICAgICAgIHJlY3QgPSBydW4tPnNlbGVjdGlvblJlY3Qoc3RhcnQsIGVu
ZCk7CkBAIC0zODUsNyArMzg1LDcgQEAgdm9pZCBSZW5kZXJUZXh0Ojpjb2xsZWN0U2VsZWN0aW9u
R2VvbWV0cmllcyhWZWN0b3I8U2VsZWN0aW9uR2VvbWV0cnk+JiByZWN0cywgdW4KIH0KICNlbmRp
ZgogCi1zdGF0aWMgRmxvYXRSZWN0IGJvdW5kYXJpZXNGb3JUZXh0UnVuKGNvbnN0IExheW91dElu
dGVncmF0aW9uOjpQYXRoVGV4dFJ1biYgcnVuKQorc3RhdGljIEZsb2F0UmVjdCBib3VuZGFyaWVz
Rm9yVGV4dFJ1bihjb25zdCBMYXlvdXRCcmlkZ2U6OlBhdGhUZXh0UnVuJiBydW4pCiB7CiAgICAg
aWYgKGlzPFNWR0lubGluZVRleHRCb3g+KHJ1bi5sZWdhY3lJbmxpbmVCb3goKSkpCiAgICAgICAg
IHJldHVybiBkb3duY2FzdDxTVkdJbmxpbmVUZXh0Qm94PigqcnVuLmxlZ2FjeUlubGluZUJveCgp
KS5jYWxjdWxhdGVCb3VuZGFyaWVzKCk7CkBAIC0zOTMsNyArMzkzLDcgQEAgc3RhdGljIEZsb2F0
UmVjdCBib3VuZGFyaWVzRm9yVGV4dFJ1bihjb25zdCBMYXlvdXRJbnRlZ3JhdGlvbjo6UGF0aFRl
eHRSdW4mIHJ1bikKICAgICByZXR1cm4gcnVuLnJlY3QoKTsKIH0KIAotc3RhdGljIEludFJlY3Qg
ZWxsaXBzaXNSZWN0Rm9yVGV4dFJ1bihjb25zdCBMYXlvdXRJbnRlZ3JhdGlvbjo6UGF0aFRleHRS
dW4mIHJ1biwgdW5zaWduZWQgc3RhcnQsIHVuc2lnbmVkIGVuZCkKK3N0YXRpYyBJbnRSZWN0IGVs
bGlwc2lzUmVjdEZvclRleHRSdW4oY29uc3QgTGF5b3V0QnJpZGdlOjpQYXRoVGV4dFJ1biYgcnVu
LCB1bnNpZ25lZCBzdGFydCwgdW5zaWduZWQgZW5kKQogewogICAgIC8vIEZJWE1FOiBObyBlbGxp
cHNpcyBzdXBwb3J0IGluIG1vZGVybiBwYXRoIHlldC4KICAgICBpZiAoIXJ1bi5sZWdhY3lJbmxp
bmVCb3goKSkKQEAgLTQyNyw3ICs0MjcsNyBAQCBlbnVtIGNsYXNzIENsaXBwaW5nT3B0aW9uIHsg
Tm9DbGlwcGluZywgQ2xpcFRvRWxsaXBzaXMgfTsKIHN0YXRpYyBWZWN0b3I8RmxvYXRRdWFkPiBj
b2xsZWN0QWJzb2x1dGVRdWFkcyhjb25zdCBSZW5kZXJUZXh0JiB0ZXh0UmVuZGVyZXIsIGJvb2wq
IHdhc0ZpeGVkLCBDbGlwcGluZ09wdGlvbiBjbGlwcGluZykKIHsKICAgICBWZWN0b3I8RmxvYXRR
dWFkPiBxdWFkczsKLSAgICBmb3IgKGF1dG8mIHJ1biA6IExheW91dEludGVncmF0aW9uOjp0ZXh0
UnVuc0Zvcih0ZXh0UmVuZGVyZXIpKSB7CisgICAgZm9yIChhdXRvJiBydW4gOiBMYXlvdXRCcmlk
Z2U6OnRleHRSdW5zRm9yKHRleHRSZW5kZXJlcikpIHsKICAgICAgICAgYXV0byBib3VuZGFyaWVz
ID0gYm91bmRhcmllc0ZvclRleHRSdW4ocnVuKTsKIAogICAgICAgICAvLyBTaG9ydGVuIHRoZSB3
aWR0aCBvZiB0aGlzIHRleHQgYm94IGlmIGl0IGVuZHMgaW4gYW4gZWxsaXBzaXMuCkBAIC00NTYs
NyArNDU2LDcgQEAgdm9pZCBSZW5kZXJUZXh0OjphYnNvbHV0ZVF1YWRzKFZlY3RvcjxGbG9hdFF1
YWQ+JiBxdWFkcywgYm9vbCogd2FzRml4ZWQpIGNvbnN0CiAgICAgcXVhZHMuYXBwZW5kVmVjdG9y
KGNvbGxlY3RBYnNvbHV0ZVF1YWRzKCp0aGlzLCB3YXNGaXhlZCwgQ2xpcHBpbmdPcHRpb246Ok5v
Q2xpcHBpbmcpKTsKIH0KIAotc3RhdGljIEZsb2F0UmVjdCBsb2NhbFF1YWRGb3JUZXh0UnVuKGNv
bnN0IExheW91dEludGVncmF0aW9uOjpQYXRoVGV4dFJ1biYgcnVuLCB1bnNpZ25lZCBzdGFydCwg
dW5zaWduZWQgZW5kLCBib29sIHVzZVNlbGVjdGlvbkhlaWdodCkKK3N0YXRpYyBGbG9hdFJlY3Qg
bG9jYWxRdWFkRm9yVGV4dFJ1bihjb25zdCBMYXlvdXRCcmlkZ2U6OlBhdGhUZXh0UnVuJiBydW4s
IHVuc2lnbmVkIHN0YXJ0LCB1bnNpZ25lZCBlbmQsIGJvb2wgdXNlU2VsZWN0aW9uSGVpZ2h0KQog
ewogICAgIHVuc2lnbmVkIHJlYWxFbmQgPSBzdGQ6Om1pbihydW4uZW5kKCksIGVuZCk7CiAgICAg
TGF5b3V0UmVjdCBib3hTZWxlY3Rpb25SZWN0ID0gcnVuLnNlbGVjdGlvblJlY3Qoc3RhcnQsIHJl
YWxFbmQpOwpAQCAtNDg5LDcgKzQ4OSw3IEBAIFZlY3RvcjxGbG9hdFF1YWQ+IFJlbmRlclRleHQ6
OmFic29sdXRlUXVhZHNGb3JSYW5nZSh1bnNpZ25lZCBzdGFydCwgdW5zaWduZWQgZW5kCiAgICAg
ZW5kID0gc3RkOjptaW4oZW5kLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSU5UX01BWCkpOwogCiAg
ICAgVmVjdG9yPEZsb2F0UXVhZD4gcXVhZHM7Ci0gICAgZm9yIChhdXRvJiBydW4gOiBMYXlvdXRJ
bnRlZ3JhdGlvbjo6dGV4dFJ1bnNGb3IoKnRoaXMpKSB7CisgICAgZm9yIChhdXRvJiBydW4gOiBM
YXlvdXRCcmlkZ2U6OnRleHRSdW5zRm9yKCp0aGlzKSkgewogICAgICAgICBpZiAoaWdub3JlRW1w
dHlUZXh0U2VsZWN0aW9ucyAmJiAhcnVuLmlzU2VsZWN0YWJsZShzdGFydCwgZW5kKSkKICAgICAg
ICAgICAgIGNvbnRpbnVlOwogICAgICAgICBpZiAoc3RhcnQgPD0gcnVuLnN0YXJ0KCkgJiYgcnVu
LmVuZCgpIDw9IGVuZCkgewpAQCAtNTIyLDcgKzUyMiw3IEBAIFBvc2l0aW9uIFJlbmRlclRleHQ6
OnBvc2l0aW9uRm9yUG9pbnQoY29uc3QgTGF5b3V0UG9pbnQmIHBvaW50KQogCiBlbnVtIFNob3Vs
ZEFmZmluaXR5QmVEb3duc3RyZWFtIHsgQWx3YXlzRG93bnN0cmVhbSwgQWx3YXlzVXBzdHJlYW0s
IFVwc3RyZWFtSWZQb3NpdGlvbklzTm90QXRTdGFydCB9OwogCi1zdGF0aWMgYm9vbCBsaW5lRGly
ZWN0aW9uUG9pbnRGaXRzSW5Cb3goaW50IHBvaW50TGluZURpcmVjdGlvbiwgY29uc3QgTGF5b3V0
SW50ZWdyYXRpb246OlRleHRSdW5JdGVyYXRvciYgdGV4dFJ1biwgU2hvdWxkQWZmaW5pdHlCZURv
d25zdHJlYW0mIHNob3VsZEFmZmluaXR5QmVEb3duc3RyZWFtKQorc3RhdGljIGJvb2wgbGluZURp
cmVjdGlvblBvaW50Rml0c0luQm94KGludCBwb2ludExpbmVEaXJlY3Rpb24sIGNvbnN0IExheW91
dEJyaWRnZTo6VGV4dFJ1bkl0ZXJhdG9yJiB0ZXh0UnVuLCBTaG91bGRBZmZpbml0eUJlRG93bnN0
cmVhbSYgc2hvdWxkQWZmaW5pdHlCZURvd25zdHJlYW0pCiB7CiAgICAgc2hvdWxkQWZmaW5pdHlC
ZURvd25zdHJlYW0gPSBBbHdheXNEb3duc3RyZWFtOwogCkBAIC01NTksNyArNTU5LDcgQEAgc3Rh
dGljIGJvb2wgbGluZURpcmVjdGlvblBvaW50Rml0c0luQm94KGludCBwb2ludExpbmVEaXJlY3Rp
b24sIGNvbnN0IExheW91dEludGUKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXN0YXRpYyBWaXNp
YmxlUG9zaXRpb24gY3JlYXRlVmlzaWJsZVBvc2l0aW9uRm9yQm94KGNvbnN0IExheW91dEludGVn
cmF0aW9uOjpSdW5JdGVyYXRvciYgcnVuLCB1bnNpZ25lZCBvZmZzZXQsIFNob3VsZEFmZmluaXR5
QmVEb3duc3RyZWFtIHNob3VsZEFmZmluaXR5QmVEb3duc3RyZWFtKQorc3RhdGljIFZpc2libGVQ
b3NpdGlvbiBjcmVhdGVWaXNpYmxlUG9zaXRpb25Gb3JCb3goY29uc3QgTGF5b3V0QnJpZGdlOjpS
dW5JdGVyYXRvciYgcnVuLCB1bnNpZ25lZCBvZmZzZXQsIFNob3VsZEFmZmluaXR5QmVEb3duc3Ry
ZWFtIHNob3VsZEFmZmluaXR5QmVEb3duc3RyZWFtKQogewogICAgIGF1dG8gYWZmaW5pdHkgPSBW
aXNpYmxlUG9zaXRpb246OmRlZmF1bHRBZmZpbml0eTsKICAgICBzd2l0Y2ggKHNob3VsZEFmZmlu
aXR5QmVEb3duc3RyZWFtKSB7CkBAIC01NzYsNyArNTc2LDcgQEAgc3RhdGljIFZpc2libGVQb3Np
dGlvbiBjcmVhdGVWaXNpYmxlUG9zaXRpb25Gb3JCb3goY29uc3QgTGF5b3V0SW50ZWdyYXRpb246
OlJ1bkkKICAgICByZXR1cm4gcnVuLT5yZW5kZXJlcigpLmNyZWF0ZVZpc2libGVQb3NpdGlvbihv
ZmZzZXQsIGFmZmluaXR5KTsKIH0KIAotc3RhdGljIFZpc2libGVQb3NpdGlvbiBjcmVhdGVWaXNp
YmxlUG9zaXRpb25BZnRlckFkanVzdGluZ09mZnNldEZvckJpRGkoY29uc3QgTGF5b3V0SW50ZWdy
YXRpb246OlRleHRSdW5JdGVyYXRvciYgcnVuLCB1bnNpZ25lZCBvZmZzZXQsIFNob3VsZEFmZmlu
aXR5QmVEb3duc3RyZWFtIHNob3VsZEFmZmluaXR5QmVEb3duc3RyZWFtKQorc3RhdGljIFZpc2li
bGVQb3NpdGlvbiBjcmVhdGVWaXNpYmxlUG9zaXRpb25BZnRlckFkanVzdGluZ09mZnNldEZvckJp
RGkoY29uc3QgTGF5b3V0QnJpZGdlOjpUZXh0UnVuSXRlcmF0b3ImIHJ1biwgdW5zaWduZWQgb2Zm
c2V0LCBTaG91bGRBZmZpbml0eUJlRG93bnN0cmVhbSBzaG91bGRBZmZpbml0eUJlRG93bnN0cmVh
bSkKIHsKICAgICBpZiAob2Zmc2V0ICYmIG9mZnNldCA8IHJ1bi0+bGVuZ3RoKCkpCiAgICAgICAg
IHJldHVybiBjcmVhdGVWaXNpYmxlUG9zaXRpb25Gb3JCb3gocnVuLCBydW4tPnN0YXJ0KCkgKyBv
ZmZzZXQsIHNob3VsZEFmZmluaXR5QmVEb3duc3RyZWFtKTsKQEAgLTYwMyw3ICs2MDMsNyBAQCBz
dGF0aWMgVmlzaWJsZVBvc2l0aW9uIGNyZWF0ZVZpc2libGVQb3NpdGlvbkFmdGVyQWRqdXN0aW5n
T2Zmc2V0Rm9yQmlEaShjb25zdCBMYQogCiAgICAgICAgIGlmICghcHJldmlvdXNSdW4gfHwgcHJl
dmlvdXNSdW4tPmJpZGlMZXZlbCgpIDwgcnVuLT5iaWRpTGV2ZWwoKSkgewogICAgICAgICAgICAg
Ly8gZS5nLiBsZWZ0IG9mIEQgaW4gYURDMTJCQWIKLSAgICAgICAgICAgIExheW91dEludGVncmF0
aW9uOjpSdW5JdGVyYXRvciByaWdodG1vc3RSdW4gPSBydW47CisgICAgICAgICAgICBMYXlvdXRC
cmlkZ2U6OlJ1bkl0ZXJhdG9yIHJpZ2h0bW9zdFJ1biA9IHJ1bjsKICAgICAgICAgICAgIGZvciAo
YXV0byBuZXh0UnVuID0gcnVuLm5leHRPbkxpbmVJZ25vcmluZ0xpbmVCcmVhaygpOyBuZXh0UnVu
OyBuZXh0UnVuLnRyYXZlcnNlTmV4dE9uTGluZUlnbm9yaW5nTGluZUJyZWFrKCkpIHsKICAgICAg
ICAgICAgICAgICBpZiAobmV4dFJ1bi0+YmlkaUxldmVsKCkgPCBydW4tPmJpZGlMZXZlbCgpKQog
ICAgICAgICAgICAgICAgICAgICBicmVhazsKQEAgLTYzNiw3ICs2MzYsNyBAQCBzdGF0aWMgVmlz
aWJsZVBvc2l0aW9uIGNyZWF0ZVZpc2libGVQb3NpdGlvbkFmdGVyQWRqdXN0aW5nT2Zmc2V0Rm9y
QmlEaShjb25zdCBMYQogCiAgICAgaWYgKCFuZXh0UnVuIHx8IG5leHRSdW4tPmJpZGlMZXZlbCgp
IDwgcnVuLT5iaWRpTGV2ZWwoKSkgewogICAgICAgICAvLyBlLmcuIHJpZ2h0IG9mIEEgaW4gYURD
MTJCQWIKLSAgICAgICAgTGF5b3V0SW50ZWdyYXRpb246OlJ1bkl0ZXJhdG9yIGxlZnRtb3N0UnVu
ID0gcnVuOworICAgICAgICBMYXlvdXRCcmlkZ2U6OlJ1bkl0ZXJhdG9yIGxlZnRtb3N0UnVuID0g
cnVuOwogICAgICAgICBmb3IgKGF1dG8gcHJldmlvdXNSdW4gPSBydW4ucHJldmlvdXNPbkxpbmVJ
Z25vcmluZ0xpbmVCcmVhaygpOyBwcmV2aW91c1J1bjsgcHJldmlvdXNSdW4udHJhdmVyc2VQcmV2
aW91c09uTGluZUlnbm9yaW5nTGluZUJyZWFrKCkpIHsKICAgICAgICAgICAgIGlmIChwcmV2aW91
c1J1bi0+YmlkaUxldmVsKCkgPCBydW4tPmJpZGlMZXZlbCgpKQogICAgICAgICAgICAgICAgIGJy
ZWFrOwpAQCAtNjUzLDcgKzY1Myw3IEBAIHN0YXRpYyBWaXNpYmxlUG9zaXRpb24gY3JlYXRlVmlz
aWJsZVBvc2l0aW9uQWZ0ZXJBZGp1c3RpbmdPZmZzZXRGb3JCaURpKGNvbnN0IExhCiAKIFZpc2li
bGVQb3NpdGlvbiBSZW5kZXJUZXh0Ojpwb3NpdGlvbkZvclBvaW50KGNvbnN0IExheW91dFBvaW50
JiBwb2ludCwgY29uc3QgUmVuZGVyRnJhZ21lbnRDb250YWluZXIqKQogewotICAgIGF1dG8gZmly
c3RSdW4gPSBMYXlvdXRJbnRlZ3JhdGlvbjo6Zmlyc3RUZXh0UnVuRm9yKCp0aGlzKTsKKyAgICBh
dXRvIGZpcnN0UnVuID0gTGF5b3V0QnJpZGdlOjpmaXJzdFRleHRSdW5Gb3IoKnRoaXMpOwogCiAg
ICAgaWYgKCFmaXJzdFJ1biB8fCAhdGV4dCgpLmxlbmd0aCgpKQogICAgICAgICByZXR1cm4gY3Jl
YXRlVmlzaWJsZVBvc2l0aW9uKDAsIEFmZmluaXR5OjpEb3duc3RyZWFtKTsKQEAgLTY2Miw3ICs2
NjIsNyBAQCBWaXNpYmxlUG9zaXRpb24gUmVuZGVyVGV4dDo6cG9zaXRpb25Gb3JQb2ludChjb25z
dCBMYXlvdXRQb2ludCYgcG9pbnQsIGNvbnN0IFJlbgogICAgIExheW91dFVuaXQgcG9pbnRCbG9j
a0RpcmVjdGlvbiA9IGZpcnN0UnVuLT5pc0hvcml6b250YWwoKSA/IHBvaW50LnkoKSA6IHBvaW50
LngoKTsKICAgICBib29sIGJsb2Nrc0FyZUZsaXBwZWQgPSBzdHlsZSgpLmlzRmxpcHBlZEJsb2Nr
c1dyaXRpbmdNb2RlKCk7CiAKLSAgICBMYXlvdXRJbnRlZ3JhdGlvbjo6VGV4dFJ1bkl0ZXJhdG9y
IGxhc3RSdW47CisgICAgTGF5b3V0QnJpZGdlOjpUZXh0UnVuSXRlcmF0b3IgbGFzdFJ1bjsKICAg
ICBmb3IgKGF1dG8gcnVuID0gZmlyc3RSdW47IHJ1bjsgcnVuLnRyYXZlcnNlTmV4dFRleHRSdW4o
KSkgewogICAgICAgICBpZiAocnVuLT5pc0xpbmVCcmVhaygpICYmICFydW4ucHJldmlvdXNPbkxp
bmUoKSAmJiBydW4ubmV4dE9uTGluZSgpICYmICFydW4ubmV4dE9uTGluZSgpLT5pc0xpbmVCcmVh
aygpKQogICAgICAgICAgICAgcnVuLnRyYXZlcnNlTmV4dFRleHRSdW4oKTsKQEAgLTEyNjUsNyAr
MTI2NSw3IEBAIFZlY3RvcjxzdGQ6OnBhaXI8dW5zaWduZWQsIHVuc2lnbmVkPj4gUmVuZGVyVGV4
dDo6ZHJhZ2dlZENvbnRlbnRSYW5nZXNCZXR3ZWVuT2ZmCiAKIEludFBvaW50IFJlbmRlclRleHQ6
OmZpcnN0UnVuTG9jYXRpb24oKSBjb25zdAogewotICAgIGF1dG8gZmlyc3QgPSBMYXlvdXRJbnRl
Z3JhdGlvbjo6Zmlyc3RUZXh0UnVuRm9yKCp0aGlzKTsKKyAgICBhdXRvIGZpcnN0ID0gTGF5b3V0
QnJpZGdlOjpmaXJzdFRleHRSdW5Gb3IoKnRoaXMpOwogICAgIGlmICghZmlyc3QpCiAgICAgICAg
IHJldHVybiB7IH07CiAgICAgcmV0dXJuIEludFBvaW50KGZpcnN0LT5yZWN0KCkubG9jYXRpb24o
KSk7CkBAIC0xNDU4LDcgKzE0NTgsNyBAQCB2b2lkIFJlbmRlclRleHQ6OnNldFRleHQoY29uc3Qg
U3RyaW5nJiB0ZXh0LCBib29sIGZvcmNlKQogICAgIG1fa25vd25Ub0hhdmVOb092ZXJmbG93QW5k
Tm9GYWxsYmFja0ZvbnRzID0gZmFsc2U7CiAKICNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdf
Q09OVEVYVCkKLSAgICBpZiAoYXV0byogY29udGFpbmVyID0gTGF5b3V0SW50ZWdyYXRpb246Okxp
bmVMYXlvdXQ6OmJsb2NrQ29udGFpbmVyKCp0aGlzKSkKKyAgICBpZiAoYXV0byogY29udGFpbmVy
ID0gTGF5b3V0QnJpZGdlOjpMaW5lTGF5b3V0OjpibG9ja0NvbnRhaW5lcigqdGhpcykpCiAgICAg
ICAgIGNvbnRhaW5lci0+aW52YWxpZGF0ZUxpbmVMYXlvdXRQYXRoKCk7CiAjZW5kaWYKIApAQCAt
MTUwNiw3ICsxNTA2LDcgQEAgdm9pZCBSZW5kZXJUZXh0Ojpwb3NpdGlvbkxpbmVCb3goTGVnYWN5
SW5saW5lVGV4dEJveCYgdGV4dEJveCkKIGJvb2wgUmVuZGVyVGV4dDo6dXNlc0xlZ2FjeUxpbmVM
YXlvdXRQYXRoKCkgY29uc3QKIHsKICNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVY
VCkKLSAgICByZXR1cm4gIUxheW91dEludGVncmF0aW9uOjpMaW5lTGF5b3V0Ojpjb250YWluaW5n
KCp0aGlzKTsKKyAgICByZXR1cm4gIUxheW91dEJyaWRnZTo6TGluZUxheW91dDo6Y29udGFpbmlu
ZygqdGhpcyk7CiAjZWxzZQogICAgIHJldHVybiB0cnVlOwogI2VuZGlmCkBAIC0xNTYwLDcgKzE1
NjAsNyBAQCBmbG9hdCBSZW5kZXJUZXh0Ojp3aWR0aCh1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBs
ZW4sIGNvbnN0IEZvbnRDYXNjYWRlJiBmLCBmbG9hdAogCiBJbnRSZWN0IFJlbmRlclRleHQ6Omxp
bmVzQm91bmRpbmdCb3goKSBjb25zdAogewotICAgIGF1dG8gZmlyc3QgPSBMYXlvdXRJbnRlZ3Jh
dGlvbjo6Zmlyc3RUZXh0UnVuRm9yKCp0aGlzKTsKKyAgICBhdXRvIGZpcnN0ID0gTGF5b3V0QnJp
ZGdlOjpmaXJzdFRleHRSdW5Gb3IoKnRoaXMpOwogICAgIGlmICghZmlyc3QpCiAgICAgICAgIHJl
dHVybiB7IH07CiAKQEAgLTE2MjMsNyArMTYyMyw3IEBAIExheW91dFJlY3QgUmVuZGVyVGV4dDo6
Y29sbGVjdFNlbGVjdGlvbkdlb21ldHJpZXNGb3JMaW5lQm94ZXMoY29uc3QgUmVuZGVyTGF5ZXJN
CiAKICAgICBMYXlvdXRSZWN0IHJlc3VsdFJlY3Q7CiAKLSAgICBmb3IgKGF1dG8mIHJ1biA6IExh
eW91dEludGVncmF0aW9uOjp0ZXh0UnVuc0ZvcigqdGhpcykpIHsKKyAgICBmb3IgKGF1dG8mIHJ1
biA6IExheW91dEJyaWRnZTo6dGV4dFJ1bnNGb3IoKnRoaXMpKSB7CiAgICAgICAgIExheW91dFJl
Y3QgcmVjdDsKICAgICAgICAgcmVjdC51bml0ZShydW4uc2VsZWN0aW9uUmVjdChzdGFydE9mZnNl
dCwgZW5kT2Zmc2V0KSk7CiAgICAgICAgIHJlY3QudW5pdGUoZWxsaXBzaXNSZWN0Rm9yVGV4dFJ1
bihydW4sIHN0YXJ0T2Zmc2V0LCBlbmRPZmZzZXQpKTsKQEAgLTE2NTMsNyArMTY1Myw3IEBAIExh
eW91dFJlY3QgUmVuZGVyVGV4dDo6c2VsZWN0aW9uUmVjdEZvclJlcGFpbnQoY29uc3QgUmVuZGVy
TGF5ZXJNb2RlbE9iamVjdCogcmVwCiAKIGludCBSZW5kZXJUZXh0OjpjYXJldE1pbk9mZnNldCgp
IGNvbnN0CiB7Ci0gICAgYXV0byBmaXJzdCA9IExheW91dEludGVncmF0aW9uOjpmaXJzdFRleHRS
dW5Gb3IoKnRoaXMpOworICAgIGF1dG8gZmlyc3QgPSBMYXlvdXRCcmlkZ2U6OmZpcnN0VGV4dFJ1
bkZvcigqdGhpcyk7CiAgICAgaWYgKCFmaXJzdCkKICAgICAgICAgcmV0dXJuIDA7CiAKQEAgLTE2
NjYsNyArMTY2Niw3IEBAIGludCBSZW5kZXJUZXh0OjpjYXJldE1pbk9mZnNldCgpIGNvbnN0CiAK
IGludCBSZW5kZXJUZXh0OjpjYXJldE1heE9mZnNldCgpIGNvbnN0CiB7Ci0gICAgYXV0byBmaXJz
dCA9IExheW91dEludGVncmF0aW9uOjpmaXJzdFRleHRSdW5Gb3IoKnRoaXMpOworICAgIGF1dG8g
Zmlyc3QgPSBMYXlvdXRCcmlkZ2U6OmZpcnN0VGV4dFJ1bkZvcigqdGhpcyk7CiAgICAgaWYgKCFm
aXJzdCkKICAgICAgICAgcmV0dXJuIHRleHQoKS5sZW5ndGgoKTsKIApAQCAtMTY4MCw3ICsxNjgw
LDcgQEAgaW50IFJlbmRlclRleHQ6OmNhcmV0TWF4T2Zmc2V0KCkgY29uc3QKIHVuc2lnbmVkIFJl
bmRlclRleHQ6OmNvdW50UmVuZGVyZWRDaGFyYWN0ZXJPZmZzZXRzVW50aWwodW5zaWduZWQgb2Zm
c2V0KSBjb25zdAogewogICAgIHVuc2lnbmVkIHJlc3VsdCA9IDA7Ci0gICAgZm9yIChhdXRvJiBy
dW4gOiBMYXlvdXRJbnRlZ3JhdGlvbjo6dGV4dFJ1bnNGb3IoKnRoaXMpKSB7CisgICAgZm9yIChh
dXRvJiBydW4gOiBMYXlvdXRCcmlkZ2U6OnRleHRSdW5zRm9yKCp0aGlzKSkgewogICAgICAgICBh
dXRvIHN0YXJ0ID0gcnVuLnN0YXJ0KCk7CiAgICAgICAgIGF1dG8gbGVuZ3RoID0gcnVuLmxlbmd0
aCgpOwogICAgICAgICBpZiAob2Zmc2V0IDwgc3RhcnQpCkBAIC0xNjk3LDcgKzE2OTcsNyBAQCB1
bnNpZ25lZCBSZW5kZXJUZXh0Ojpjb3VudFJlbmRlcmVkQ2hhcmFjdGVyT2Zmc2V0c1VudGlsKHVu
c2lnbmVkIG9mZnNldCkgY29uc3QKIGVudW0gY2xhc3MgT2Zmc2V0VHlwZSB7IENoYXJhY3Rlciwg
Q2FyZXQgfTsKIHN0YXRpYyBib29sIGNvbnRhaW5zT2Zmc2V0KGNvbnN0IFJlbmRlclRleHQmIHRl
eHQsIHVuc2lnbmVkIG9mZnNldCwgT2Zmc2V0VHlwZSB0eXBlKQogewotICAgIGZvciAoYXV0byBi
b3ggPSBMYXlvdXRJbnRlZ3JhdGlvbjo6Zmlyc3RUZXh0UnVuSW5UZXh0T3JkZXJGb3IodGV4dCk7
IGJveDsgYm94LnRyYXZlcnNlTmV4dFRleHRSdW5JblRleHRPcmRlcigpKSB7CisgICAgZm9yIChh
dXRvIGJveCA9IExheW91dEJyaWRnZTo6Zmlyc3RUZXh0UnVuSW5UZXh0T3JkZXJGb3IodGV4dCk7
IGJveDsgYm94LnRyYXZlcnNlTmV4dFRleHRSdW5JblRleHRPcmRlcigpKSB7CiAgICAgICAgIGF1
dG8gc3RhcnQgPSBib3gtPnN0YXJ0KCk7CiAgICAgICAgIGlmIChvZmZzZXQgPCBzdGFydCkKICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTE3MjYsNyArMTcyNiw3IEBAIGJvb2wgUmVuZGVy
VGV4dDo6Y29udGFpbnNDYXJldE9mZnNldCh1bnNpZ25lZCBvZmZzZXQpIGNvbnN0CiAKIGJvb2wg
UmVuZGVyVGV4dDo6aGFzUmVuZGVyZWRUZXh0KCkgY29uc3QKIHsKLSAgICBmb3IgKGF1dG8mIGJv
eCA6IExheW91dEludGVncmF0aW9uOjp0ZXh0UnVuc0ZvcigqdGhpcykpIHsKKyAgICBmb3IgKGF1
dG8mIGJveCA6IExheW91dEJyaWRnZTo6dGV4dFJ1bnNGb3IoKnRoaXMpKSB7CiAgICAgICAgIGlm
IChib3gubGVuZ3RoKCkpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5oIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRleHQuaAppbmRleCA1NGYxMDliODQ0NDQuLjljMDhjM2RiN2U4
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5oCkBAIC0zNCw3ICszNCw3IEBA
IGNsYXNzIEZvbnQ7CiBjbGFzcyBMZWdhY3lJbmxpbmVUZXh0Qm94Owogc3RydWN0IEdseXBoT3Zl
cmZsb3c7CiAKLW5hbWVzcGFjZSBMYXlvdXRJbnRlZ3JhdGlvbiB7CituYW1lc3BhY2UgTGF5b3V0
QnJpZGdlIHsKIGNsYXNzIExpbmVMYXlvdXQ7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcAppbmRleCA4MmZmMDg1ZDQwY2MuLjBlOTY5MGQ0MmFl
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcApA
QCAtMzYsNyArMzYsNyBAQAogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIkhUTUxT
cGFuRWxlbWVudC5oIgogI2luY2x1ZGUgIklubGluZUl0ZXJhdG9yLmgiCi0jaW5jbHVkZSAiTGF5
b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvci5oIgorI2luY2x1ZGUgIkxheW91dEJyaWRnZVJ1bkl0
ZXJhdG9yLmgiCiAjaW5jbHVkZSAiTGVnYWN5SW5saW5lVGV4dEJveC5oIgogI2luY2x1ZGUgIkxv
Z2dpbmcuaCIKICNpbmNsdWRlICJQcmludENvbnRleHQuaCIKQEAgLTI0MSwxMyArMjQxLDEzIEBA
IHZvaWQgUmVuZGVyVHJlZUFzVGV4dDo6d3JpdGVSZW5kZXJPYmplY3QoVGV4dFN0cmVhbSYgdHMs
IGNvbnN0IFJlbmRlck9iamVjdCYgbywKICAgICAgICAgLy8gbWFueSB0ZXN0IHJlc3VsdHMuCiAg
ICAgICAgIGNvbnN0IFJlbmRlclRleHQmIHRleHQgPSBkb3duY2FzdDxSZW5kZXJUZXh0PihvKTsK
ICAgICAgICAgciA9IEludFJlY3QodGV4dC5maXJzdFJ1bkxvY2F0aW9uKCksIHRleHQubGluZXNC
b3VuZGluZ0JveCgpLnNpemUoKSk7Ci0gICAgICAgIGlmICghTGF5b3V0SW50ZWdyYXRpb246OmZp
cnN0VGV4dFJ1bkZvcih0ZXh0KSkKKyAgICAgICAgaWYgKCFMYXlvdXRCcmlkZ2U6OmZpcnN0VGV4
dFJ1bkZvcih0ZXh0KSkKICAgICAgICAgICAgIGFkanVzdEZvclRhYmxlQ2VsbHMgPSBmYWxzZTsK
ICAgICB9IGVsc2UgaWYgKG8uaXNCUigpKSB7CiAgICAgICAgIGNvbnN0IFJlbmRlckxpbmVCcmVh
ayYgYnIgPSBkb3duY2FzdDxSZW5kZXJMaW5lQnJlYWs+KG8pOwogICAgICAgICBJbnRSZWN0IGxp
bmVzQm94ID0gYnIubGluZXNCb3VuZGluZ0JveCgpOwogICAgICAgICByID0gSW50UmVjdChsaW5l
c0JveC54KCksIGxpbmVzQm94LnkoKSwgbGluZXNCb3gud2lkdGgoKSwgbGluZXNCb3guaGVpZ2h0
KCkpOwotICAgICAgICBpZiAoIWJyLmlubGluZUJveFdyYXBwZXIoKSAmJiAhTGF5b3V0SW50ZWdy
YXRpb246OnJ1bkZvcihicikpCisgICAgICAgIGlmICghYnIuaW5saW5lQm94V3JhcHBlcigpICYm
ICFMYXlvdXRCcmlkZ2U6OnJ1bkZvcihicikpCiAgICAgICAgICAgICBhZGp1c3RGb3JUYWJsZUNl
bGxzID0gZmFsc2U7CiAgICAgfSBlbHNlIGlmIChpczxSZW5kZXJJbmxpbmU+KG8pKSB7CiAgICAg
ICAgIGNvbnN0IFJlbmRlcklubGluZSYgaW5saW5lRmxvdyA9IGRvd25jYXN0PFJlbmRlcklubGlu
ZT4obyk7CkBAIC02MDIsNyArNjAyLDcgQEAgdm9pZCB3cml0ZShUZXh0U3RyZWFtJiB0cywgY29u
c3QgUmVuZGVyT2JqZWN0JiBvLCBPcHRpb25TZXQ8UmVuZGVyQXNUZXh0RmxhZz4gYmUKIAogICAg
IGlmIChpczxSZW5kZXJUZXh0PihvKSkgewogICAgICAgICBhdXRvJiB0ZXh0ID0gZG93bmNhc3Q8
UmVuZGVyVGV4dD4obyk7Ci0gICAgICAgIGZvciAoYXV0byYgcnVuIDogTGF5b3V0SW50ZWdyYXRp
b246OnRleHRSdW5zRm9yKHRleHQpKSB7CisgICAgICAgIGZvciAoYXV0byYgcnVuIDogTGF5b3V0
QnJpZGdlOjp0ZXh0UnVuc0Zvcih0ZXh0KSkgewogICAgICAgICAgICAgdHMgPDwgaW5kZW50Owog
ICAgICAgICAgICAgd3JpdGVUZXh0UnVuKHRleHQsIHJ1bik7CiAgICAgICAgIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0UGFpbnRlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvVGV4dFBhaW50ZXIuY3BwCmluZGV4IDc0ODUyYTZiMGQyNS4uMWZjZTk0
MDE1Y2VhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dFBhaW50ZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0UGFpbnRlci5jcHAKQEAgLTI3
LDcgKzI3LDcgQEAKICNpbmNsdWRlICJGaWx0ZXJPcGVyYXRpb25zLmgiCiAjaW5jbHVkZSAiR3Jh
cGhpY3NDb250ZXh0LmgiCiAjaW5jbHVkZSAiSFRNTFBhcnNlcklkaW9tcy5oIgotI2luY2x1ZGUg
IkxheW91dEludGVncmF0aW9uUnVuLmgiCisjaW5jbHVkZSAiTGF5b3V0QnJpZGdlUnVuLmgiCiAj
aW5jbHVkZSAiTGVnYWN5SW5saW5lVGV4dEJveC5oIgogI2luY2x1ZGUgIlJlbmRlckNvbWJpbmVU
ZXh0LmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXIuaCIKQEAgLTIzMCw3ICsyMzAsNyBAQCB2b2lk
IFRleHRQYWludGVyOjpjbGVhckdseXBoRGlzcGxheUxpc3RzKCkKICAgICBHbHlwaERpc3BsYXlM
aXN0Q2FjaGU8TGVnYWN5SW5saW5lVGV4dEJveD46OnNpbmdsZXRvbigpLmNsZWFyKCk7CiAjaWYg
RU5BQkxFKExBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpCiAgICAgaWYgKFJ1bnRpbWVFbmFibGVk
RmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkubGF5b3V0Rm9ybWF0dGluZ0NvbnRleHRJbnRlZ3Jh
dGlvbkVuYWJsZWQoKSkKLSAgICAgICAgR2x5cGhEaXNwbGF5TGlzdENhY2hlPExheW91dEludGVn
cmF0aW9uOjpSdW4+OjpzaW5nbGV0b24oKS5jbGVhcigpOworICAgICAgICBHbHlwaERpc3BsYXlM
aXN0Q2FjaGU8TGF5b3V0QnJpZGdlOjpSdW4+OjpzaW5nbGV0b24oKS5jbGVhcigpOwogI2VuZGlm
CiB9CiAK
</data>
<flag name="review"
          id="453740"
          type_id="1"
          status="+"
          setter="zalan"
    />
    <flag name="commit-queue"
          id="453742"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431866</attachid>
            <date>2021-06-21 09:00:28 -0700</date>
            <delta_ts>2021-06-21 09:01:44 -0700</delta_ts>
            <desc>patch</desc>
            <filename>layout-brige-3.patch</filename>
            <type>text/plain</type>
            <size>148307</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggZTgxZWNiYjkxMTcxLi45MmIyNDI0ODc4Y2UgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0CkBAIC0xMDIsNiArMTAyLDcgQEAgc2V0KFdlYkNvcmVfUFJJVkFURV9J
TkNMVURFX0RJUkVDVE9SSUVTCiAgICAgIiR7V0VCQ09SRV9ESVJ9L2luc3BlY3Rvci9hZ2VudHMv
cGFnZSIKICAgICAiJHtXRUJDT1JFX0RJUn0vaW5zcGVjdG9yL2FnZW50cy93b3JrZXIiCiAgICAg
IiR7V0VCQ09SRV9ESVJ9L2xheW91dCIKKyAgICAiJHtXRUJDT1JFX0RJUn0vbGF5b3V0L2JyaWRn
ZSIKICAgICAiJHtXRUJDT1JFX0RJUn0vbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cyIKICAgICAi
JHtXRUJDT1JFX0RJUn0vbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9ibG9jayIKICAgICAiJHtX
RUJDT1JFX0RJUn0vbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9ibG9jay90YWJsZXdyYXBwZXIi
CkBAIC0xMDksNyArMTEwLDYgQEAgc2V0KFdlYkNvcmVfUFJJVkFURV9JTkNMVURFX0RJUkVDVE9S
SUVTCiAgICAgIiR7V0VCQ09SRV9ESVJ9L2xheW91dC9mbG9hdHMiCiAgICAgIiR7V0VCQ09SRV9E
SVJ9L2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lIgogICAgICIke1dFQkNPUkVfRElS
fS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS90ZXh0IgotICAgICIke1dFQkNPUkVf
RElSfS9sYXlvdXQvaW50ZWdyYXRpb24iCiAgICAgIiR7V0VCQ09SRV9ESVJ9L2xheW91dC9pbnZh
bGlkYXRpb24iCiAgICAgIiR7V0VCQ09SRV9ESVJ9L2xheW91dC9sYXlvdXR0cmVlIgogICAgICIk
e1dFQkNPUkVfRElSfS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL3RhYmxlIgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmlu
ZGV4IDI0ZWNlYzkwZGQ2Yy4uYTA5ZDMyY2I3MTQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTU3
IEBACisyMDIxLTA2LTIxICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAg
ICAgICBSZW5hbWUgTGF5b3V0SW50ZWdyYXRpb24gbmFtZXNwYWNlIHRvIExheW91dEJyaWRnZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3MjExCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgWmFsYW4gQnVqdGFzLgorCisgICAgICAgIFVzZSBhIHNvbWV3
aGF0IGxlc3MgYXdrd2FyZCBuYW1lLgorCisgICAgICAgICogTW9kdWxlcy9oaWdobGlnaHQvSGln
aGxpZ2h0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnJlcGFpbnRSYW5nZSk6CisgICAgICAgICog
U291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
OgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpBWE9iamVjdENhY2hlOjpsb2NhbENhcmV0UmVjdEZvckNoYXJhY3Rlck9mZnNldCk6
CisgICAgICAgICogZG9tL0RvY3VtZW50TWFya2VyQ29udHJvbGxlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpEb2N1bWVudE1hcmtlckNvbnRyb2xsZXI6OmFkZE1hcmtlcik6CisgICAgICAgICog
ZG9tL1Bvc2l0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Omhhc0lubGluZVJ1bik6CisgICAg
ICAgIChXZWJDb3JlOjpQb3NpdGlvbjo6dXBzdHJlYW0gY29uc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6UG9zaXRpb246OmRvd25zdHJlYW0gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6c2VhcmNo
QWhlYWRGb3JCZXR0ZXJNYXRjaCk6CisgICAgICAgIChXZWJDb3JlOjpQb3NpdGlvbjo6aW5saW5l
UnVuQW5kT2Zmc2V0IGNvbnN0KToKKyAgICAgICAgKiBlZGl0aW5nL0NvbXBvc2l0ZUVkaXRDb21t
YW5kLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbXBvc2l0ZUVkaXRDb21tYW5kOjpkZWxldGVJ
bnNpZ25pZmljYW50VGV4dCk6CisgICAgICAgICogZWRpdGluZy9FZGl0b3IuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RWRpdG9yOjpzZXRDb21wb3NpdGlvbik6CisgICAgICAgICogZWRpdGluZy9J
bmxpbmVSdW5BbmRPZmZzZXQuaDoKKyAgICAgICAgKiBlZGl0aW5nL1JlbmRlcmVkUG9zaXRpb24u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyZWRQb3NpdGlvbjo6UmVuZGVyZWRQb3NpdGlv
bik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJlZFBvc2l0aW9uOjpwcmV2aW91c0xlYWZPbkxp
bmUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyZWRQb3NpdGlvbjo6bmV4dExlYWZP
bkxpbmUgY29uc3QpOgorICAgICAgICAqIGVkaXRpbmcvUmVuZGVyZWRQb3NpdGlvbi5oOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyZWRQb3NpdGlvbjo6bGluZSBjb25zdCk6CisgICAgICAgICog
ZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dEl0ZXJhdG9y
OjpoYW5kbGVUZXh0Tm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0SXRlcmF0b3I6OmhhbmRs
ZVRleHRSdW4pOgorICAgICAgICAoV2ViQ29yZTo6VGV4dEl0ZXJhdG9yOjpoYW5kbGVUZXh0Tm9k
ZUZpcnN0TGV0dGVyKToKKyAgICAgICAgKiBlZGl0aW5nL1RleHRJdGVyYXRvci5oOgorICAgICAg
ICAqIGVkaXRpbmcvVmlzaWJsZVBvc2l0aW9uLmNwcDoKKyAgICAgICAgKiBlZGl0aW5nL1Zpc2li
bGVVbml0cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjppc1RleHRPckxpbmVCcmVha1J1bik6Cisg
ICAgICAgIChXZWJDb3JlOjpwcmV2aW91c1RleHRPckxpbmVCcmVha1J1bik6CisgICAgICAgIChX
ZWJDb3JlOjpuZXh0VGV4dE9yTGluZUJyZWFrUnVuKToKKyAgICAgICAgKFdlYkNvcmU6OnN0YXJ0
VGV4dE9yTGluZUJyZWFrUnVuKToKKyAgICAgICAgKFdlYkNvcmU6OmVuZFRleHRPckxpbmVCcmVh
a1J1bik6CisgICAgICAgIChXZWJDb3JlOjpsb2dpY2FsbHlQcmV2aW91c1J1bik6CisgICAgICAg
IChXZWJDb3JlOjpsb2dpY2FsbHlOZXh0UnVuKToKKyAgICAgICAgKFdlYkNvcmU6OndvcmRCcmVh
a0l0ZXJhdG9yRm9yTWluT2Zmc2V0Qm91bmRhcnkpOgorICAgICAgICAoV2ViQ29yZTo6d29yZEJy
ZWFrSXRlcmF0b3JGb3JNYXhPZmZzZXRCb3VuZGFyeSk6CisgICAgICAgIChXZWJDb3JlOjp2aXN1
YWxXb3JkUG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6c3RhcnRQb3NpdGlvbkZvckxpbmUp
OgorICAgICAgICAoV2ViQ29yZTo6ZW5kUG9zaXRpb25Gb3JMaW5lKToKKyAgICAgICAgKFdlYkNv
cmU6OmFic29sdXRlTGluZURpcmVjdGlvblBvaW50VG9Mb2NhbFBvaW50SW5CbG9jayk6CisgICAg
ICAgIChXZWJDb3JlOjpwcmV2aW91c0xpbmVQb3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpu
ZXh0TGluZVBvc2l0aW9uKToKKyAgICAgICAgKiBsYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZUJv
eFRyZWUuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9u
L0xheW91dEludGVncmF0aW9uQm94VHJlZS5jcHAuCisgICAgICAgICogbGF5b3V0L2JyaWRnZS9M
YXlvdXRCcmlkZ2VCb3hUcmVlLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9sYXlvdXQv
aW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25Cb3hUcmVlLmguCisgICAgICAgICogbGF5b3V0
L2JyaWRnZS9MYXlvdXRCcmlkZ2VDb3ZlcmFnZS5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5jcHAuCisg
ICAgICAgICogbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VDb3ZlcmFnZS5oOiBSZW5hbWVkIGZy
b20gU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uQ292
ZXJhZ2UuaC4KKyAgICAgICAgKiBsYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZUlubGluZUNvbnRl
bnQuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xh
eW91dEludGVncmF0aW9uSW5saW5lQ29udGVudC5jcHAuCisgICAgICAgICogbGF5b3V0L2JyaWRn
ZS9MYXlvdXRCcmlkZ2VJbmxpbmVDb250ZW50Lmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50LmguCisg
ICAgICAgICogbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VJbmxpbmVDb250ZW50QnVpbGRlci5j
cHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0
SW50ZWdyYXRpb25JbmxpbmVDb250ZW50QnVpbGRlci5jcHAuCisgICAgICAgICogbGF5b3V0L2Jy
aWRnZS9MYXlvdXRCcmlkZ2VJbmxpbmVDb250ZW50QnVpbGRlci5oOiBSZW5hbWVkIGZyb20gU291
cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29u
dGVudEJ1aWxkZXIuaC4KKyAgICAgICAgKiBsYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZUxpbmUu
aDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJ
bnRlZ3JhdGlvbkxpbmUuaC4KKyAgICAgICAgKiBsYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZUxp
bmVJdGVyYXRvci5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdy
YXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3IuY3BwLgorICAgICAgICAqIGxheW91
dC9icmlkZ2UvTGF5b3V0QnJpZGdlTGluZUl0ZXJhdG9yLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3Iu
aC4KKyAgICAgICAgKiBsYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZUxpbmVJdGVyYXRvckxlZ2Fj
eVBhdGguaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9M
YXlvdXRJbnRlZ3JhdGlvbkxpbmVJdGVyYXRvckxlZ2FjeVBhdGguaC4KKyAgICAgICAgKiBsYXlv
dXQvYnJpZGdlL0xheW91dEJyaWRnZUxpbmVJdGVyYXRvck1vZGVyblBhdGguaDogUmVuYW1lZCBm
cm9tIFNvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxp
bmVJdGVyYXRvck1vZGVyblBhdGguaC4KKyAgICAgICAgKiBsYXlvdXQvYnJpZGdlL0xheW91dEJy
aWRnZUxpbmVMYXlvdXQuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvbGF5b3V0L2lu
dGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZUxheW91dC5jcHAuCisgICAgICAgICogbGF5
b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VMaW5lTGF5b3V0Lmg6IFJlbmFtZWQgZnJvbSBTb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0Lmgu
CisgICAgICAgICogbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VQYWdpbmF0aW9uLmNwcDogUmVu
YW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3Jh
dGlvblBhZ2luYXRpb24uY3BwLgorICAgICAgICAqIGxheW91dC9icmlkZ2UvTGF5b3V0QnJpZGdl
UGFnaW5hdGlvbi5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0
aW9uL0xheW91dEludGVncmF0aW9uUGFnaW5hdGlvbi5oLgorICAgICAgICAqIGxheW91dC9icmlk
Z2UvTGF5b3V0QnJpZGdlUnVuLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9sYXlvdXQv
aW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25SdW4uaC4KKyAgICAgICAgKiBsYXlvdXQvYnJp
ZGdlL0xheW91dEJyaWRnZVJ1bkl0ZXJhdG9yLmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJD
b3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yLmNwcC4K
KyAgICAgICAgKiBsYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZVJ1bkl0ZXJhdG9yLmg6IFJlbmFt
ZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRp
b25SdW5JdGVyYXRvci5oLgorICAgICAgICAoaXNUeXBlKToKKyAgICAgICAgKiBsYXlvdXQvYnJp
ZGdlL0xheW91dEJyaWRnZVJ1bkl0ZXJhdG9yTGVnYWN5UGF0aC5oOiBSZW5hbWVkIGZyb20gU291
cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uUnVuSXRlcmF0
b3JMZWdhY3lQYXRoLmguCisgICAgICAgICogbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VSdW5J
dGVyYXRvck1vZGVyblBhdGguaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2xheW91dC9p
bnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yTW9kZXJuUGF0aC5oLgorICAg
ICAgICAqIHBhZ2UvTWVtb3J5UmVsZWFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpyZWxlYXNl
Tm9uY3JpdGljYWxNZW1vcnkpOgorICAgICAgICAqIHJlbmRlcmluZy9DYXJldFJlY3RDb21wdXRh
dGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjb21wdXRlQ2FyZXRSZWN0Rm9yTGluZVBvc2l0
aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OmNvbXB1dGVDYXJldFJlY3RGb3JUZXh0KToKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckJsb2NrRmxvdzo6bGF5b3V0SW5saW5lQ2hpbGRyZW4pOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyQmxvY2tGbG93OjpzdHlsZURpZENoYW5nZSk6CisgICAgICAgIChXZWJDb3JlOjpwb3Np
dGlvbkZvclJ1bik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6OmZpbmRDbG9z
ZXN0VGV4dEF0QWJzb2x1dGVQb2ludCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9ja0Zs
b3c6OnBvc2l0aW9uRm9yUG9pbnRXaXRoSW5saW5lQ2hpbGRyZW4pOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyQmxvY2tGbG93OjpsYXlvdXRNb2Rlcm5MaW5lcyk6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlckJsb2NrRmxvdy5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93
OjpoYXNNb2Rlcm5MaW5lTGF5b3V0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJs
b2NrRmxvdzo6bW9kZXJuTGluZUxheW91dCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJCbG9ja0Zsb3c6Om1vZGVybkxpbmVMYXlvdXQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjpzdHlsZURpZENoYW5nZSk6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyRWxlbWVudDo6Z2V0TGVhZGluZ0Nvcm5lciBjb25zdCk6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlckltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckltYWdlOjpj
b2xsZWN0U2VsZWN0aW9uR2VvbWV0cmllcyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlcklu
bGluZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbmxpbmU6OnN0eWxlRGlkQ2hhbmdl
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlcklubGluZTo6YWJzb2x1dGVSZWN0cyBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbmxpbmU6OmFic29sdXRlUXVhZHMgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW5saW5lOjphYnNvbHV0ZVF1YWRzSWdub3JpbmdDb250
aW51YXRpb24gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW5saW5lOjphYnNvbHV0
ZVF1YWRzRm9yU2VsZWN0aW9uIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlcklubGlu
ZTo6b2Zmc2V0TGVmdCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbmxpbmU6Om9m
ZnNldFRvcCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbmxpbmU6Om5vZGVBdFBv
aW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlcklubGluZTo6bGluZXNCb3VuZGluZ0JveCBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbmxpbmU6OmxpbmVzVmlzdWFsT3ZlcmZs
b3dCb3VuZGluZ0JveCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbmxpbmU6OmNs
aXBwZWRPdmVyZmxvd1JlY3QgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW5saW5l
OjphZGRGb2N1c1JpbmdSZWN0cyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxpbmVCcmVh
ay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaW5lQnJlYWs6OmxpbmVzQm91bmRpbmdC
b3ggY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGluZUJyZWFrOjphYnNvbHV0ZVJl
Y3RzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpbmVCcmVhazo6YWJzb2x1dGVR
dWFkcyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaW5lQnJlYWs6OmNvbGxlY3RT
ZWxlY3Rpb25HZW9tZXRyaWVzKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6aW5zZXJ0ZWRJbnRvVHJlZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OndpbGxCZVJlbW92ZWRGcm9tVHJlZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OnNldFNlbGVjdGlvblN0YXRlKToKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyUmVwbGFjZWQ6OnBvc2l0aW9uRm9yUG9pbnQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJUZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRleHQ6OmFic29sdXRlUmVjdHMg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dDo6Y29sbGVjdFNlbGVjdGlvbkdl
b21ldHJpZXMpOgorICAgICAgICAoV2ViQ29yZTo6Ym91bmRhcmllc0ZvclRleHRSdW4pOgorICAg
ICAgICAoV2ViQ29yZTo6ZWxsaXBzaXNSZWN0Rm9yVGV4dFJ1bik6CisgICAgICAgIChXZWJDb3Jl
Ojpjb2xsZWN0QWJzb2x1dGVRdWFkcyk6CisgICAgICAgIChXZWJDb3JlOjpsb2NhbFF1YWRGb3JU
ZXh0UnVuKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRleHQ6OmFic29sdXRlUXVhZHNGb3JS
YW5nZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpsaW5lRGlyZWN0aW9uUG9pbnRGaXRzSW5C
b3gpOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlVmlzaWJsZVBvc2l0aW9uRm9yQm94KToKKyAg
ICAgICAgKFdlYkNvcmU6OmNyZWF0ZVZpc2libGVQb3NpdGlvbkFmdGVyQWRqdXN0aW5nT2Zmc2V0
Rm9yQmlEaSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0Ojpwb3NpdGlvbkZvclBvaW50
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRleHQ6OmZpcnN0UnVuTG9jYXRpb24gY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dDo6c2V0VGV4dCk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJUZXh0Ojp1c2VzTGVnYWN5TGluZUxheW91dFBhdGggY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyVGV4dDo6bGluZXNCb3VuZGluZ0JveCBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJUZXh0Ojpjb2xsZWN0U2VsZWN0aW9uR2VvbWV0cmllc0ZvckxpbmVC
b3hlcyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0OjpjYXJldE1pbk9mZnNldCBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0OjpjYXJldE1heE9mZnNldCBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0Ojpjb3VudFJlbmRlcmVkQ2hhcmFjdGVyT2Zm
c2V0c1VudGlsIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnRhaW5zT2Zmc2V0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclRleHQ6Omhhc1JlbmRlcmVkVGV4dCBjb25zdCk6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlclRleHQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
VHJlZUFzVGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUcmVlQXNUZXh0Ojp3cml0
ZVJlbmRlck9iamVjdCk6CisgICAgICAgIChXZWJDb3JlOjp3cml0ZSk6CisgICAgICAgICogcmVu
ZGVyaW5nL1RleHRQYWludGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHRQYWludGVyOjpj
bGVhckdseXBoRGlzcGxheUxpc3RzKToKKwogMjAyMS0wNi0yMCAgQWxhbiBCdWp0YXMgIDx6YWxh
bkBhcHBsZS5jb20+CiAKICAgICAgICAgSGl0VGVzdExvY2F0aW9uOjptX2JvdW5kaW5nQm94IHNo
b3VsZCBiZSBhYmxlIGhvbGQgc3VicGl4ZWwgdmFsdWVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9IZWFkZXJzLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQppbmRleCA5
MTc5ZTFhNzdhMTQuLjNjNWQwZDY3OWNhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvSGVh
ZGVycy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBAIC03NTUsMTcg
Kzc1NSwxNyBAQCBzZXQoV2ViQ29yZV9QUklWQVRFX0ZSQU1FV09SS19IRUFERVJTCiAgICAgbGF5
b3V0L0xheW91dFVuaXRzLmgKICAgICBsYXlvdXQvTWFyZ2luVHlwZXMuaAogCi0gICAgbGF5b3V0
L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lUmVjdC5oCisgICAgbGF5b3V0L2JyaWRn
ZS9MYXlvdXRCcmlkZ2VJbmxpbmVDb250ZW50LmgKKyAgICBsYXlvdXQvYnJpZGdlL0xheW91dEJy
aWRnZUxpbmUuaAorICAgIGxheW91dC9icmlkZ2UvTGF5b3V0QnJpZGdlTGluZUl0ZXJhdG9yLmgK
KyAgICBsYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZUxpbmVJdGVyYXRvckxlZ2FjeVBhdGguaAor
ICAgIGxheW91dC9icmlkZ2UvTGF5b3V0QnJpZGdlTGluZUl0ZXJhdG9yTW9kZXJuUGF0aC5oCisg
ICAgbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VSdW4uaAorICAgIGxheW91dC9icmlkZ2UvTGF5
b3V0QnJpZGdlUnVuSXRlcmF0b3IuaAorICAgIGxheW91dC9icmlkZ2UvTGF5b3V0QnJpZGdlUnVu
SXRlcmF0b3JMZWdhY3lQYXRoLmgKKyAgICBsYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZVJ1bkl0
ZXJhdG9yTW9kZXJuUGF0aC5oCiAKLSAgICBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdy
YXRpb25JbmxpbmVDb250ZW50LmgKLSAgICBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdy
YXRpb25MaW5lLmgKLSAgICBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5l
SXRlcmF0b3IuaAotICAgIGxheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVJ
dGVyYXRvckxlZ2FjeVBhdGguaAotICAgIGxheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3Jh
dGlvbkxpbmVJdGVyYXRvck1vZGVyblBhdGguaAotICAgIGxheW91dC9pbnRlZ3JhdGlvbi9MYXlv
dXRJbnRlZ3JhdGlvblJ1bi5oCi0gICAgbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0
aW9uUnVuSXRlcmF0b3IuaAotICAgIGxheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlv
blJ1bkl0ZXJhdG9yTGVnYWN5UGF0aC5oCi0gICAgbGF5b3V0L2ludGVncmF0aW9uL0xheW91dElu
dGVncmF0aW9uUnVuSXRlcmF0b3JNb2Rlcm5QYXRoLmgKKyAgICBsYXlvdXQvZm9ybWF0dGluZ0Nv
bnRleHRzL2lubGluZS9JbmxpbmVSZWN0LmgKICAgICBsYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRC
b3guaAogCiAgICAgbG9hZGVyL0NhbnZhc0FjdGl2aXR5UmVjb3JkLmgKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0hpZ2hsaWdodC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9IaWdobGlnaHQuY3BwCmluZGV4IDEzNGYzYTliMmJjZi4u
NzI3ZmUwYzU5NzEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdo
dC9IaWdobGlnaHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0hp
Z2hsaWdodC5jcHAKQEAgLTM4LDcgKzM4LDcgQEAKICNpbmNsdWRlIDx3dGYvUmVmLmg+CiAKICNp
ZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkKLSNpbmNsdWRlICJMYXlvdXRJbnRl
Z3JhdGlvbkxpbmVMYXlvdXQuaCIKKyNpbmNsdWRlICJMYXlvdXRCcmlkZ2VMaW5lTGF5b3V0Lmgi
CiAjZW5kaWYKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNjksNyArNjksNyBAQCBzdGF0aWMg
dm9pZCByZXBhaW50UmFuZ2UoY29uc3QgU2ltcGxlUmFuZ2UmIHJhbmdlKQogICAgIGZvciAoYXV0
byYgbm9kZSA6IGludGVyc2VjdGluZ05vZGVzKHNvcnRlZFJhbmdlKSkgewogICAgICAgICBpZiAo
YXV0byByZW5kZXJlciA9IG5vZGUucmVuZGVyZXIoKSkgewogI2lmIEVOQUJMRShMQVlPVVRfRk9S
TUFUVElOR19DT05URVhUKQotICAgICAgICAgICAgaWYgKGF1dG8gbGluZUxheW91dCA9IExheW91
dEludGVncmF0aW9uOjpMaW5lTGF5b3V0Ojpjb250YWluaW5nKCpyZW5kZXJlcikpCisgICAgICAg
ICAgICBpZiAoYXV0byBsaW5lTGF5b3V0ID0gTGF5b3V0QnJpZGdlOjpMaW5lTGF5b3V0Ojpjb250
YWluaW5nKCpyZW5kZXJlcikpCiAgICAgICAgICAgICAgICAgbGluZUxheW91dC0+ZmxvdygpLmVu
c3VyZUxpbmVCb3hlcygpOwogI2VuZGlmCiAgICAgICAgICAgICByZW5kZXJlci0+cmVwYWludCgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29y
ZS9Tb3VyY2VzLnR4dAppbmRleCBiMWJkNWNhZWNiYWUuLmE4MmNkYTIyNDgxOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNl
cy50eHQKQEAgLTE1MjIsNiArMTUyMiwxNCBAQCBsYXlvdXQvTGF5b3V0UGhhc2UuY3BwCiBsYXlv
dXQvTGF5b3V0U3RhdGUuY3BwCiBsYXlvdXQvTGF5b3V0VW5pdHMuY3BwCiBsYXlvdXQvVmVyaWZp
Y2F0aW9uLmNwcAorbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VCb3hUcmVlLmNwcAorbGF5b3V0
L2JyaWRnZS9MYXlvdXRCcmlkZ2VDb3ZlcmFnZS5jcHAKK2xheW91dC9icmlkZ2UvTGF5b3V0QnJp
ZGdlSW5saW5lQ29udGVudEJ1aWxkZXIuY3BwCitsYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZUlu
bGluZUNvbnRlbnQuY3BwCitsYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZUxpbmVJdGVyYXRvci5j
cHAKK2xheW91dC9icmlkZ2UvTGF5b3V0QnJpZGdlTGluZUxheW91dC5jcHAKK2xheW91dC9icmlk
Z2UvTGF5b3V0QnJpZGdlUGFnaW5hdGlvbi5jcHAKK2xheW91dC9icmlkZ2UvTGF5b3V0QnJpZGdl
UnVuSXRlcmF0b3IuY3BwCiBsYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2Jsb2NrL0Jsb2NrRm9y
bWF0dGluZ0NvbnRleHQuY3BwCiBsYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2Jsb2NrL0Jsb2Nr
Rm9ybWF0dGluZ0dlb21ldHJ5LmNwcAogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9ibG9jay9C
bG9ja0Zvcm1hdHRpbmdRdWlya3MuY3BwCkBAIC0xNTQ3LDE0ICsxNTU1LDYgQEAgbGF5b3V0L2Zv
cm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJveC5jcHAKIGxheW91dC9mb3JtYXR0
aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCdWlsZGVyLmNwcAogbGF5b3V0L2Zvcm1hdHRp
bmdDb250ZXh0cy9pbmxpbmUvSW5saW5lVGV4dEl0ZW0uY3BwCiBsYXlvdXQvZm9ybWF0dGluZ0Nv
bnRleHRzL2lubGluZS90ZXh0L1RleHRVdGlsLmNwcAotbGF5b3V0L2ludGVncmF0aW9uL0xheW91
dEludGVncmF0aW9uQm94VHJlZS5jcHAKLWxheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3Jh
dGlvbkNvdmVyYWdlLmNwcAotbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uSW5s
aW5lQ29udGVudEJ1aWxkZXIuY3BwCi1sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRp
b25JbmxpbmVDb250ZW50LmNwcAotbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9u
TGluZUl0ZXJhdG9yLmNwcAotbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGlu
ZUxheW91dC5jcHAKLWxheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblBhZ2luYXRp
b24uY3BwCi1sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvci5j
cHAKIGxheW91dC9pbnZhbGlkYXRpb24vSW52YWxpZGF0aW9uQ29udGV4dC5jcHAKIGxheW91dC9p
bnZhbGlkYXRpb24vSW52YWxpZGF0aW9uU3RhdGUuY3BwCiBsYXlvdXQvbGF5b3V0dHJlZS9MYXlv
dXRCb3guY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggN2JhYmQ1Mzg3MDFhLi5lNGVkNjI0YjQyYjcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTIxNDAsNyAr
MjE0MCw2IEBACiAJCTZGMjZCQjZDMjMzNDNFNkYwMDJGMkJFQSAvKiBMYXlvdXRDb250ZXh0Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2RjI2QkI2QjIz
MzQzRTVCMDAyRjJCRUEgLyogTGF5b3V0Q29udGV4dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTZGMjZFQjQ4MjM0MDA0QTUwMDY5MDZFMiAvKiBJ
bmxpbmVMaW5lQnVpbGRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNkYyNkVCNDYyMzQwMDRBNTAwNjkwNkUyIC8qIElubGluZUxpbmVCdWlsZGVyLmgg
Ki87IH07CiAJCTZGMzYwRTUwMjM5OTk0MjEwMDE1MTJBNyAvKiBJbmxpbmVTb2Z0TGluZUJyZWFr
SXRlbS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkYz
NjBFNEUyMzk5OTQyMDAwMTUxMkE3IC8qIElubGluZVNvZnRMaW5lQnJlYWtJdGVtLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJNkYzRkJBOTgyNTU2
RTMxMzAwMzUzMEZEIC8qIExheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZGM0ZCQTk3MjU1
NkUzMTIwMDM1MzBGRCAvKiBMYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNkY0MERB
ODIyNTEzMDMzQTAwRUMwNEI3IC8qIElubGluZVJlY3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZGNDBEQTgxMjUxMzAzM0EwMEVDMDRCNyAvKiBJbmxp
bmVSZWN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJNkY0OUMzRTcyNjQ3OUIzQzAwNTE5NTNEIC8qIFRhYmxlRm9ybWF0dGluZ1F1aXJrcy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkY0OUMzRTYyNjQ3
OUIzQjAwNTE5NTNEIC8qIFRhYmxlRm9ybWF0dGluZ1F1aXJrcy5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTZGNTZCNDQ3MjY0NzlFNjIwMEFBRTI1
NyAvKiBGb3JtYXR0aW5nUXVpcmtzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA2RjU2QjQ0NjI2NDc5RTYxMDBBQUUyNTcgLyogRm9ybWF0dGluZ1F1aXJr
cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0y
MTY0LDEzICsyMTYzLDExIEBACiAJCTZGQTQ0NTRFODk4RjJGQzE2OEJDMzhDMSAvKiBKU0JlZm9y
ZVVubG9hZEV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAyOUUwNEEyN0JFRDJGODFGOThFOTAyMkIgLyogSlNCZWZvcmVVbmxvYWRFdmVudC5oICov
OyB9OwogCQk2RkIxMUI1QzIxNzgzRkQwMDBFMkE1NzQgLyogVGV4dFV0aWwuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZGQjExQjU5MjE3ODNGQ0YwMEUy
QTU3NCAvKiBUZXh0VXRpbC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCTZGQjI0MDA1MjNERkYxMjgwMDc5NjQ1OCAvKiBJbmxpbmVMaW5lQm94Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2RkIyNDAwMzIz
REZGMTI3MDA3OTY0NTggLyogSW5saW5lTGluZUJveC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTZGQjQ3RTYzMjI3NzQyNUEwMEM3QkNCMCAvKiBM
YXlvdXRJbnRlZ3JhdGlvbkxpbmUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDZGQjQ3RTYxMjI3NzQyNUEwMEM3QkNCMCAvKiBMYXlvdXRJbnRlZ3JhdGlv
bkxpbmUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQk2RkI1RTIxNDIyMUYyNDUzMDAzOTg5Q0YgLyogQ29udGVudENoYW5nZU9ic2VydmVyLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2RkI1RTIxMjIyMUYy
NDQ3MDAzOTg5Q0YgLyogQ29udGVudENoYW5nZU9ic2VydmVyLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNkZCN0QyREQyNTBGRDgyODAwMDIwN0FB
IC8qIEZsZXhGb3JtYXR0aW5nQ29udGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNkZCN0QyRDkyNTBGRDdGQzAwMDIwN0FBIC8qIEZsZXhGb3JtYXR0
aW5nQ29udGV4dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTZGQjdEMkRFMjUwRkQ4MkUwMDAyMDdBQSAvKiBGbGV4Rm9ybWF0dGluZ1N0YXRlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2RkI3RDJEQTI1
MEZEN0ZDMDAwMjA3QUEgLyogRmxleEZvcm1hdHRpbmdTdGF0ZS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTZGQzNGOTQ3MjUxNjc1NjcwMEE0OUJF
QSAvKiBJbmxpbmVMaW5lUnVuLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA2RkMzRjk0NTI1MTY3NTY2MDBBNDlCRUEgLyogSW5saW5lTGluZVJ1bi5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTZGQ0JEQjk3
MjY1REYyQzgwMDIxRUE3QiAvKiBMYXlvdXRDb250YWluaW5nQmxvY2tDaGFpbkl0ZXJhdG9yLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2RkNCREI5NTI2
NURGMkM3MDAyMUVBN0IgLyogTGF5b3V0Q29udGFpbmluZ0Jsb2NrQ2hhaW5JdGVyYXRvci5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTZGQ0UxQTFB
MjI2MThBQkQwMDRGMDM0MyAvKiBMYXlvdXRJbnRlZ3JhdGlvblJ1bi5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkZDRTFBMTgyMjYxOEFCMzAwNEYwMzQz
IC8qIExheW91dEludGVncmF0aW9uUnVuLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJNkZEMDk1NDMyNTExMTUyMjAwOTg4NzdEIC8qIExheW91dEdl
b21ldHJ5UmVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNkZEMDk1NDEyNTExMTUyMjAwOTg4NzdEIC8qIExheW91dEdlb21ldHJ5UmVjdC5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTZGRTE5ODE3MjE3
ODM5N0MwMDQ0NkYwOCAvKiBJbmxpbmVDb250ZW50QnJlYWtlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkZFMTk4MTUyMTc4Mzk3QzAwNDQ2RjA4IC8q
IElubGluZUNvbnRlbnRCcmVha2VyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJNkZFNjM2RTgyNjQ3OTYyOTAwRjA5NTFFIC8qIElubGluZUZvcm1h
dHRpbmdRdWlya3MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDZGRTYzNkU3MjY0Nzk2MjkwMEYwOTUxRSAvKiBJbmxpbmVGb3JtYXR0aW5nUXVpcmtzLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTUxODgs
OSArNTE4NSw2IEBACiAJCUUzRkEzODY0MUQ3MTgxMkQwMEFBNTk1MCAvKiBQZW5kaW5nU2NyaXB0
Q2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBF
M0ZBMzg2MTFENzE2RTc2MDBBQTU5NTAgLyogUGVuZGluZ1NjcmlwdENsaWVudC5oICovOyB9Owog
CQlFNDAxQzI3NTE3Q0U1M0VDMDBDNDFBMzUgLyogRWxlbWVudEl0ZXJhdG9yQXNzZXJ0aW9ucy5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQwMUMyNzQx
N0NFNTNFQzAwQzQxQTM1IC8qIEVsZW1lbnRJdGVyYXRvckFzc2VydGlvbnMuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFNDAxRTBBNDFDM0MwQjgz
MDBGMzREMTAgLyogU3R5bGVDaGFuZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEU0MDFFMEEzMUMzQzBCODMwMEYzNEQxMCAvKiBTdHlsZUNoYW5nZS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCUU0MDNC
N0EyMjUxQjExOTMwMDE5RTgwMCAvKiBMYXlvdXRJbnRlZ3JhdGlvbkNvdmVyYWdlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNDAzQjdBMTI1MUIxMTkz
MDAxOUU4MDAgLyogTGF5b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5oICovOyB9OwotCQlFNDAzQjdB
MzI1MUIxMUMxMDAxOUU4MDAgLyogTGF5b3V0SW50ZWdyYXRpb25QYWdpbmF0aW9uLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNDMxMkFCNzI0QjMyNjU2
MDA2NzgzNDkgLyogTGF5b3V0SW50ZWdyYXRpb25QYWdpbmF0aW9uLmggKi87IH07Ci0JCUU0MTgw
MjU1MjNENDU0OUIwMEZGQjA3MSAvKiBMYXlvdXRJbnRlZ3JhdGlvbkJveFRyZWUuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0MTgwMjUzMjNENDU0OUEw
MEZGQjA3MSAvKiBMYXlvdXRJbnRlZ3JhdGlvbkJveFRyZWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFNDE5MDQxRjFDQzY0ODZCMDBDMzVGNUQg
LyogRm9udFNlbGVjdG9yQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBFNDE5MDQxRTFDQzY0ODZCMDBDMzVGNUQgLyogRm9udFNlbGVjdG9yQ2xp
ZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
RTQyMDUwMTcyMTQxOTAxQjAwNjZFRjNCIC8qIFByb2Nlc3NXYXJtaW5nLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNDIwNTAxNDIxNDE5MDFBMDA2NkVG
M0IgLyogUHJvY2Vzc1dhcm1pbmcuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQlFNDI0QTM5RTEzMzBERjAxMDBDRjZEQzkgLyogTGVnYWN5VGlsZUdy
aWRUaWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBF
NDI0QTM5RDEzMzBERjAxMDBDRjZEQzkgLyogTGVnYWN5VGlsZUdyaWRUaWxlLmggKi87IH07CkBA
IC01MjI1LDcgKzUyMTksNiBAQAogCQlFNDRGQTE4NTFCQ0E2QjVBMDA5MUI2RUYgLyogQ29tcG9z
ZWRUcmVlSXRlcmF0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEU0NEZBMTg0MUJDQTZCNUEwMDkxQjZFRiAvKiBDb21wb3NlZFRyZWVJdGVyYXRvci5o
ICovOyB9OwogCQlFNDUxQzYzMTIzOTQwMjc5MDA5OTMxOTAgLyogTGF5b3V0VW5pdHMuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZGNzM5MThDMjEwNkNF
REQwMDZBRjI2MiAvKiBMYXlvdXRVbml0cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCUU0NTFDNjMyMjM5NDAzMUEwMDk5MzE5MCAvKiBNYXJnaW5U
eXBlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkZF
N0FBMjYyMUMzN0I2MzAwMjk2RENEIC8qIE1hcmdpblR5cGVzLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJRTQ1MUM2MzQyMzk0MDU4RjAwOTkzMTkw
IC8qIExheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQ1MUM2MzMyMzk0MDU4RTAwOTkzMTkwIC8qIExh
eW91dEludGVncmF0aW9uSW5saW5lQ29udGVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCUU0NTMyMkFDMTQwQ0UyNjcwMDVBMEY5MiAvKiBTZWxl
Y3RvclF1ZXJ5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBFNDUzMjJBQTE0MENFMjY3MDA1QTBGOTIgLyogU2VsZWN0b3JRdWVyeS5oICovOyB9OwogCQlF
NDVBNkM3NzI0MTdCQTU5MDA2RTRDRDUgLyogUHNldWRvQ2xhc3NDaGFuZ2VJbnZhbGlkYXRpb24u
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0NUE2Qzc2
MjQxN0JBNTkwMDZFNENENSAvKiBQc2V1ZG9DbGFzc0NoYW5nZUludmFsaWRhdGlvbi5oICovOyB9
OwogCQlFNDVCQTZBQTIzNzQ5MjZDMDA0REZDMDcgLyogTWF0Y2hlZERlY2xhcmF0aW9uc0NhY2hl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNDVCQTZB
ODIzNzQ5MjZCMDA0REZDMDcgLyogTWF0Y2hlZERlY2xhcmF0aW9uc0NhY2hlLmggKi87IH07CkBA
IC01MjU1LDE1ICs1MjQ4LDI1IEBACiAJCUU0ODYzQ0ZFMjM4NDJFOUUwMDk3MjE1OCAvKiBSdWxl
RGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQ4
NjNDRkQyMzg0MkU5RTAwOTcyMTU4IC8qIFJ1bGVEYXRhLmggKi87IH07CiAJCUU0OTQ2RUFGMTU2
RTY0REQwMEQzMjk3RiAvKiBTdHlsZVJ1bGVJbXBvcnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0OTQ2RUFEMTU2RTY0REQwMEQzMjk3RiAvKiBTdHls
ZVJ1bGVJbXBvcnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQlFNDlCRDlGQTEzMUZEMkVEMDAzQzU2RjAgLyogQ1NTVmFsdWVQb29sLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNDlCRDlGOTEzMUZEMkVE
MDAzQzU2RjAgLyogQ1NTVmFsdWVQb29sLmggKi87IH07Ci0JCUU0QTY2NENDMjUyMUQ0QUYwMDcw
ODFEQyAvKiBMYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNEE2NjRDNjI1MjFCNzc4MDA3MDgxREMgLyog
TGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07Ci0JCUU0QTY2NENFMjUyMUQ0QzkwMDcwODFEQyAvKiBMYXlv
dXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yTW9kZXJuUGF0aC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTRBNjY0QzQyNTIxQjc3NzAwNzA4MURDIC8qIExh
eW91dEludGVncmF0aW9uUnVuSXRlcmF0b3JNb2Rlcm5QYXRoLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJRTRBNjY0Q0YyNTIxRDRFMjAwNzA4MURD
IC8qIExheW91dEludGVncmF0aW9uUnVuSXRlcmF0b3JMZWdhY3lQYXRoLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNEE2NjRDNTI1MjFCNzc4MDA3MDgx
REMgLyogTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvckxlZ2FjeVBhdGguaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFNEE3OTk1MjIwRUU0QjE0
MDBDMTk1NjggLyogQ1NTUGFyc2VyQ29udGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRTRBNzk5NEUyMEVFNEFFMTAwQzE5NTY4IC8qIENTU1BhcnNl
ckNvbnRleHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQlFNEE4MTRENDFDNkRFQzQwMDBCRjg1QUMgLyogQ2xhc3NDaGFuZ2VJbnZhbGlkYXRpb24u
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0QTgxNEQz
MUM2REVDNDAwMEJGODVBQyAvKiBDbGFzc0NoYW5nZUludmFsaWRhdGlvbi5oICovOyB9OwogCQlF
NEE4MTREQTFDNzBFMTBEMDBCRjg1QUMgLyogQXR0cmlidXRlQ2hhbmdlSW52YWxpZGF0aW9uLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNEE4MTREOTFD
NzBFMTBEMDBCRjg1QUMgLyogQXR0cmlidXRlQ2hhbmdlSW52YWxpZGF0aW9uLmggKi87IH07CiAJ
CUU0QTgxNEUwMUM3MzM4RUIwMEJGODVBQyAvKiBJZENoYW5nZUludmFsaWRhdGlvbi5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTRBODE0REYxQzczMzhF
QjAwQkY4NUFDIC8qIElkQ2hhbmdlSW52YWxpZGF0aW9uLmggKi87IH07CiAJCUU0QThEMjE2MjI1
NzhEQjcwMEE4NDYzQyAvKiBFdmVudFJlZ2lvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRTRBOEQyMTQyMjU3OERBMDAwQTg0NjNDIC8qIEV2ZW50UmVn
aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJ
RTRBQkFCREQyMzYwODhGRTAwRkE0MzQ1IC8qIExheW91dEludGVncmF0aW9uTGluZUxheW91dC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTRBQkFCREIy
MzYwODhGRDAwRkE0MzQ1IC8qIExheW91dEludGVncmF0aW9uTGluZUxheW91dC5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUU0QUFGMzczMjY4MEJC
OTcwMDNDNTY3OSAvKiBMYXlvdXRCcmlkZ2VSdW5JdGVyYXRvckxlZ2FjeVBhdGguaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0QUFGMzZFMjY4MEJBNEEw
MDNDNTY3OSAvKiBMYXlvdXRCcmlkZ2VSdW5JdGVyYXRvckxlZ2FjeVBhdGguaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlFNEFBRjM3NDI2ODBCQjk3
MDAzQzU2NzkgLyogTGF5b3V0QnJpZGdlUnVuSXRlcmF0b3JNb2Rlcm5QYXRoLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNEFBRjM2NjI2ODBCQTRBMDAz
QzU2NzkgLyogTGF5b3V0QnJpZGdlUnVuSXRlcmF0b3JNb2Rlcm5QYXRoLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJRTRBQUYzNzUyNjgwQkI5NzAw
M0M1Njc5IC8qIExheW91dEJyaWRnZVJ1bkl0ZXJhdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNEFBRjM2ODI2ODBCQTRBMDAzQzU2NzkgLyogTGF5
b3V0QnJpZGdlUnVuSXRlcmF0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQlFNEFBRjM3NjI2ODBCQkE3MDAzQzU2NzkgLyogTGF5b3V0QnJpZGdl
UGFnaW5hdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRTRBQUYzNkEyNjgwQkE0QTAwM0M1Njc5IC8qIExheW91dEJyaWRnZVBhZ2luYXRpb24uaCAq
LzsgfTsKKwkJRTRBQUYzNzcyNjgwQkJBNzAwM0M1Njc5IC8qIExheW91dEJyaWRnZVJ1bi5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTRBQUYzNkQyNjgw
QkE0QTAwM0M1Njc5IC8qIExheW91dEJyaWRnZVJ1bi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUU0QUFGMzc4MjY4MEJCQUIwMDNDNTY3OSAvKiBM
YXlvdXRCcmlkZ2VMaW5lTGF5b3V0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBFNEFBRjM1RDI2ODBCQTRBMDAzQzU2NzkgLyogTGF5b3V0QnJpZGdlTGlu
ZUxheW91dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CisJCUU0QUFGMzc5MjY4MEJCQUUwMDNDNTY3OSAvKiBMYXlvdXRCcmlkZ2VMaW5lSXRlcmF0b3JN
b2Rlcm5QYXRoLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBFNEFBRjM2QzI2ODBCQTRBMDAzQzU2NzkgLyogTGF5b3V0QnJpZGdlTGluZUl0ZXJhdG9yTW9k
ZXJuUGF0aC5oICovOyB9OworCQlFNEFBRjM3QTI2ODBCQkFFMDAzQzU2NzkgLyogTGF5b3V0QnJp
ZGdlTGluZUl0ZXJhdG9yTGVnYWN5UGF0aC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRTRBQUYzNjQyNjgwQkE0QTAwM0M1Njc5IC8qIExheW91dEJyaWRn
ZUxpbmVJdGVyYXRvckxlZ2FjeVBhdGguaCAqLzsgfTsKKwkJRTRBQUYzN0IyNjgwQkJBRTAwM0M1
Njc5IC8qIExheW91dEJyaWRnZUxpbmVJdGVyYXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTRBQUYzNzIyNjgwQkE0QTAwM0M1Njc5IC8qIExheW91
dEJyaWRnZUxpbmVJdGVyYXRvci5oICovOyB9OworCQlFNEFBRjM3QzI2ODBCQkIyMDAzQzU2Nzkg
LyogTGF5b3V0QnJpZGdlSW5saW5lQ29udGVudEJ1aWxkZXIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0QUFGMzY3MjY4MEJBNEEwMDNDNTY3OSAvKiBM
YXlvdXRCcmlkZ2VJbmxpbmVDb250ZW50QnVpbGRlci5oICovOyB9OworCQlFNEFBRjM3RDI2ODBC
QkIyMDAzQzU2NzkgLyogTGF5b3V0QnJpZGdlTGluZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTRBQUYzNkYyNjgwQkE0QTAwM0M1Njc5IC8qIExheW91
dEJyaWRnZUxpbmUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OworCQlFNEFBRjM3RTI2ODBCQkI0MDAzQzU2NzkgLyogTGF5b3V0QnJpZGdlSW5saW5lQ29u
dGVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTRB
QUYzNjUyNjgwQkE0QTAwM0M1Njc5IC8qIExheW91dEJyaWRnZUlubGluZUNvbnRlbnQuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlFNEFBRjM3RjI2
ODBCQkI3MDAzQzU2NzkgLyogTGF5b3V0QnJpZGdlQ292ZXJhZ2UuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0QUFGMzVGMjY4MEJBNEEwMDNDNTY3OSAv
KiBMYXlvdXRCcmlkZ2VDb3ZlcmFnZS5oICovOyB9OworCQlFNEFBRjM4MDI2ODBCQkJCMDAzQzU2
NzkgLyogTGF5b3V0QnJpZGdlQm94VHJlZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRTRBQUYzNUUyNjgwQkE0QTAwM0M1Njc5IC8qIExheW91dEJyaWRn
ZUJveFRyZWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQlFNEFCQUJFNDIzNjFBMzI5MDBGQTQzNDUgLyogUHJvcGVydHlDYXNjYWRlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNEFCQUJFMjIzNjFBMzI5
MDBGQTQzNDUgLyogUHJvcGVydHlDYXNjYWRlLmggKi87IH07CiAJCUU0QUJBQkYzMjM2OEI5NTkw
MEZBNDM0NSAvKiBTdHlsZUJ1aWxkZXJTdGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRTRBQkFCRjIyMzY4Qjk1ODAwRkE0MzQ1IC8qIFN0eWxlQnVp
bGRlclN0YXRlLmggKi87IH07CiAJCUU0QUJBQkY1MjM2OEM2RUYwMEZBNDM0NSAvKiBDYXNjYWRl
TGV2ZWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0
QUJBQkY0MjM2OEM2RUYwMEZBNDM0NSAvKiBDYXNjYWRlTGV2ZWwuaCAqLzsgfTsKQEAgLTUyODYs
OSArNTI4OSw2IEBACiAJCUU0QzkxQTBFMTgwMjM0MzEwMEExN0Y2RCAvKiBUZXh0UGFpbnRTdHls
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTRDOTFB
MEQxODAyMzQzMTAwQTE3RjZEIC8qIFRleHRQYWludFN0eWxlLmggKi87IH07CiAJCUU0QzkxQTE2
MTgwOTk5RjEwMEExN0Y2RCAvKiBSZW5kZXJUZXh0TGluZUJveGVzLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNEM5MUExNTE4MDk5OUYxMDBBMTdGNkQg
LyogUmVuZGVyVGV4dExpbmVCb3hlcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCUU0RDMzRjNCMjUyQUVFQ0QwMDgzN0QwNSAvKiBJbmxpbmVSdW5B
bmRPZmZzZXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEU0RDMzRjM5MjUyQUVFQ0MwMDgzN0QwNSAvKiBJbmxpbmVSdW5BbmRPZmZzZXQuaCAqLzsgfTsK
LQkJRTREMzNGNDEyNTJDNEI4MzAwODM3RDA1IC8qIExheW91dEludGVncmF0aW9uTGluZUl0ZXJh
dG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNEQz
M0YzRjI1MkM0QjgyMDA4MzdEMDUgLyogTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3IuaCAq
LzsgfTsKLQkJRTREMzNGNDQyNTJDNTBFMjAwODM3RDA1IC8qIExheW91dEludGVncmF0aW9uTGlu
ZUl0ZXJhdG9yTGVnYWN5UGF0aC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRTREMzNGNDMyNTJDNTBFMjAwODM3RDA1IC8qIExheW91dEludGVncmF0aW9u
TGluZUl0ZXJhdG9yTGVnYWN5UGF0aC5oICovOyB9OwotCQlFNEQzM0Y0NjI1MkM1MEZDMDA4MzdE
MDUgLyogTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3JNb2Rlcm5QYXRoLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNEQzM0Y0NTI1MkM1MEZCMDA4
MzdEMDUgLyogTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3JNb2Rlcm5QYXRoLmggKi87IH07
CiAJCUU0RDU4RUI1MTdCNERCREMwMENCRENBOCAvKiBTdHlsZVJlc29sdmVGb3JEb2N1bWVudC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTRENThFQjMx
N0I0REJEQzAwQ0JEQ0E4IC8qIFN0eWxlUmVzb2x2ZUZvckRvY3VtZW50LmggKi87IH07CiAJCUU0
RDU4RUI5MTdCNEVEODkwMENCRENBOCAvKiBTdHlsZUZvbnRTaXplRnVuY3Rpb25zLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNEQ1OEVCNzE3QjRFRDg5
MDBDQkRDQTggLyogU3R5bGVGb250U2l6ZUZ1bmN0aW9ucy5oICovOyB9OwogCQlFNEQ1OEVCQjE3
QjhGMTI4MDBDQkRDQTggLyogRWxlbWVudFRyYXZlcnNhbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTRENThFQkExN0I4RjEyODAwQ0JEQ0E4IC8qIEVs
ZW1lbnRUcmF2ZXJzYWwuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwpAQCAtMTAwMTQsOCArMTAwMTQsNiBAQAogCQk2RjI2RUI0NjIzNDAwNEE1MDA2OTA2
RTIgLyogSW5saW5lTGluZUJ1aWxkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSW5saW5lTGluZUJ1aWxkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkYz
NUVGQUYyMTg3Q0JENTAwNDRFMEY0IC8qIElubGluZUZvcm1hdHRpbmdHZW9tZXRyeS5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbmxpbmVGb3JtYXR0aW5nR2VvbWV0
cnkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2RjM2MEU0RTIzOTk5NDIwMDAx
NTEyQTcgLyogSW5saW5lU29mdExpbmVCcmVha0l0ZW0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSW5saW5lU29mdExpbmVCcmVha0l0ZW0uaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKLQkJNkYzRkJBOTYyNTU2RTMwODAwMzUzMEZEIC8qIExheW91dEludGVncmF0aW9u
SW5saW5lQ29udGVudEJ1aWxkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTGF5b3V0SW50ZWdy
YXRpb25JbmxpbmVDb250ZW50QnVpbGRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
Ci0JCTZGM0ZCQTk3MjU1NkUzMTIwMDM1MzBGRCAvKiBMYXlvdXRJbnRlZ3JhdGlvbklubGluZUNv
bnRlbnRCdWlsZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExheW91dElu
dGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNkY0MERBODEyNTEzMDMzQTAwRUMwNEI3IC8qIElubGluZVJlY3QuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5saW5lUmVjdC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk2RjQ5QzNFNjI2NDc5QjNCMDA1MTk1M0QgLyogVGFibGVGb3JtYXR0aW5nUXVp
cmtzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRhYmxlRm9ybWF0dGluZ1F1
aXJrcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2RjRBNUJENTIyRjlGMTZCMDBB
ODBGMjUgLyogTGF5b3V0UGhhc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTGF5b3V0UGhhc2Uu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTAwNjgsNyArMTAwNjYsNiBAQAog
CQk2RkIxMUI1QjIxNzgzRkNGMDBFMkE1NzQgLyogVGV4dFV0aWwuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVGV4dFV0aWwuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk2RkIyMkUzMDIzMDA5N0UzMDBDMjA4NjYgLyogVGFibGVHcmlkLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFRhYmxlR3JpZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2RkIy
NDAwMzIzREZGMTI3MDA3OTY0NTggLyogSW5saW5lTGluZUJveC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBJbmxpbmVMaW5lQm94Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07Ci0JCTZGQjQ3RTYxMjI3NzQyNUEwMEM3QkNCMCAvKiBMYXlvdXRJbnRlZ3JhdGlvbkxpbmUu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTGF5b3V0SW50ZWdyYXRpb25MaW5l
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZGQjVFMjEyMjIxRjI0NDcwMDM5ODlD
RiAvKiBDb250ZW50Q2hhbmdlT2JzZXJ2ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29udGVudENoYW5n
ZU9ic2VydmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZGQjdEMkQ3MjUwRkQ3
RTUwMDAyMDdBQSAvKiBGbGV4Rm9ybWF0dGluZ0NvbnRleHQuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gRmxleEZvcm1hdHRpbmdDb250ZXh0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNkZCN0QyRDgyNTBGRDdFRjAwMDIwN0FBIC8qIEZsZXhGb3JtYXR0aW5nU3RhdGUuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gRmxleEZvcm1hdHRpbmdTdGF0ZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC0xMDA4Miw3ICsxMDA3OSw2IEBACiAJCTZGQzVDQTk1MjJFMzU5OTQw
MEIxM0UxMSAvKiBUYWJsZUZvcm1hdHRpbmdDb250ZXh0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRhYmxl
Rm9ybWF0dGluZ0NvbnRleHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkZDNUNB
OTYyMkUzNTk5NTAwQjEzRTExIC8qIFRhYmxlRm9ybWF0dGluZ1N0YXRlLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFRhYmxlRm9ybWF0dGluZ1N0YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTZGQ0JEQjk1MjY1REYyQzcwMDIxRUE3QiAvKiBMYXlvdXRDb250YWluaW5nQmxvY2tDaGFpbkl0
ZXJhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExheW91dENvbnRhaW5p
bmdCbG9ja0NoYWluSXRlcmF0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNkZD
RTFBMTgyMjYxOEFCMzAwNEYwMzQzIC8qIExheW91dEludGVncmF0aW9uUnVuLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IExheW91dEludGVncmF0aW9uUnVuLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTZGRDA5NTQxMjUxMTE1MjIwMDk4ODc3RCAvKiBMYXlvdXRHZW9tZXRyeVJlY3QuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTGF5b3V0R2VvbWV0cnlSZWN0Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZGRTE5ODEzMjE3ODM5N0IwMDQ0NkYwOCAvKiBJbmxp
bmVDb250ZW50QnJlYWtlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBJbmxpbmVDb250ZW50QnJlYWtlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTZGRTE5ODE1MjE3ODM5N0MwMDQ0NkYwOCAvKiBJbmxpbmVDb250ZW50QnJlYWtlci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbmxpbmVDb250ZW50QnJlYWtlci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTY1MzcsMTEgKzE2NTMzLDcgQEAKIAkJRTQwMUMy
NzQxN0NFNTNFQzAwQzQxQTM1IC8qIEVsZW1lbnRJdGVyYXRvckFzc2VydGlvbnMuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRWxlbWVudEl0ZXJhdG9yQXNzZXJ0aW9ucy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNDAxRTBBMzFDM0MwQjgzMDBGMzREMTAgLyog
U3R5bGVDaGFuZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3R5bGVDaGFu
Z2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTQwMUUwQTUxQzNDMENGNzAwRjM0
RDEwIC8qIFN0eWxlQ2hhbmdlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFN0eWxlQ2hhbmdlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRTQwM0I3
OUYyNTFCMTE4QjAwMTlFODAwIC8qIExheW91dEludGVncmF0aW9uQ292ZXJhZ2UuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gTGF5b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07Ci0JCUU0MDNCN0ExMjUxQjExOTMwMDE5RTgwMCAvKiBMYXlvdXRJbnRl
Z3JhdGlvbkNvdmVyYWdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExheW91
dEludGVncmF0aW9uQ292ZXJhZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTQw
NkYzRkIxMTk4MzA3RDAwOUQ1OUQ2IC8qIENvbG9yRGF0YS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IG5hbWUgPSBDb2xvckRhdGEuY3BwOyBwYXRoID0gRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9Db2xvckRhdGEuY3BwOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9
OwotCQlFNDE4MDI1MzIzRDQ1NDlBMDBGRkIwNzEgLyogTGF5b3V0SW50ZWdyYXRpb25Cb3hUcmVl
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExheW91dEludGVncmF0aW9uQm94
VHJlZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlFNDE4MDI1NjIzRDQ1NEI1MDBG
RkIwNzEgLyogTGF5b3V0SW50ZWdyYXRpb25Cb3hUcmVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IExheW91dEludGVncmF0aW9uQm94VHJlZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUU0MTkwNDFFMUNDNjQ4NkIwMEMzNUY1RCAvKiBGb250U2VsZWN0b3JDbGllbnQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRm9udFNlbGVjdG9yQ2xpZW50Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0MUVBMDM4MTE5ODM2REIwMDcxMEJDNSAvKiBDU1NQ
cm9wZXJ0eU5hbWVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IENT
U1Byb3BlcnR5TmFtZXMuY3BwOyBwYXRoID0gRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9DU1NQcm9w
ZXJ0eU5hbWVzLmNwcDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKIAkJRTQx
RUEwMzkxMTk4Mzc0OTAwNzEwQkM1IC8qIENTU1ZhbHVlS2V5d29yZHMuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gQ1NTVmFsdWVLZXl3b3Jkcy5jcHA7IHBhdGggPSBE
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0NTU1ZhbHVlS2V5d29yZHMuY3BwOyBzb3VyY2VUcmVlID0g
QlVJTFRfUFJPRFVDVFNfRElSOyB9OwpAQCAtMTY1NTUsOCArMTY1NDcsNiBAQAogCQlFNDJFNzZE
QjFDN0FGNzc2MDBFMzYxNEQgLyogU3R5bGVVcGRhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gU3R5bGVVcGRhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
RTQzMTA1QjcxNjc1MEYwQzAwREIyRkI4IC8qIE5vZGVUcmF2ZXJzYWwuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTm9kZVRyYXZlcnNhbC5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUU0MzEwNUJBMTY3NTBGMTYwMERCMkZCOCAvKiBOb2RlVHJhdmVy
c2FsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5vZGVUcmF2ZXJzYWwuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRTQzMTJBQjUyNEIzMjY1NjAwNjc4MzQ5IC8q
IExheW91dEludGVncmF0aW9uUGFnaW5hdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBMYXlvdXRJbnRlZ3JhdGlvblBhZ2luYXRpb24uY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwotCQlFNDMxMkFCNzI0QjMyNjU2MDA2NzgzNDkgLyogTGF5b3V0SW50
ZWdyYXRpb25QYWdpbmF0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExh
eW91dEludGVncmF0aW9uUGFnaW5hdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlFNDNBMDIzQTE3RUIzNzBBMDA0Q0REMjUgLyogUmVuZGVyRWxlbWVudC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUU0M0EwMjNDMTdFQjM3MTMwMDRDREQyNSAvKiBSZW5kZXJFbGVtZW50LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbmRlckVsZW1lbnQuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNDNBRjhFNDFBQzVCN0REMDBDQTcxN0Ug
LyogQ2FjaGVWYWxpZGF0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IENhY2hlVmFsaWRhdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0x
NjU5Nyw3ICsxNjU4Nyw2IEBACiAJCUU0NEVFM0E3MTc1NzZFNTUwMEVFRThDRiAvKiBGb250R2Vu
ZXJpY0ZhbWlsaWVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZvbnRHZW5lcmljRmFtaWxpZXMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTQ0RkExODQxQkNBNkI1QTAwOTFCNkVGIC8qIENv
bXBvc2VkVHJlZUl0ZXJhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENv
bXBvc2VkVHJlZUl0ZXJhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0NEZB
MTg2MUJDQTkxNTYwMDkxQjZFRiAvKiBDb21wb3NlZFRyZWVJdGVyYXRvci5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDb21wb3NlZFRyZWVJdGVyYXRvci5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUU0NTFDNjMzMjM5NDA1OEUwMDk5MzE5MCAvKiBM
YXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUU0NTMyMkE5MTQwQ0UyNjcwMDVBMEY5MiAvKiBTZWxlY3RvclF1ZXJ5
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNlbGVjdG9yUXVlcnku
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNDUzMjJBQTE0MENFMjY3MDA1QTBG
OTIgLyogU2VsZWN0b3JRdWVyeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBT
ZWxlY3RvclF1ZXJ5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0NTM5MDE5MEVB
RkNBQ0EwMDM2OTVDOCAvKiBQYXN0ZWJvYXJkSU9TLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBwYXRoID0gUGFzdGVib2FyZElPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTE2NjU2LDEwICsxNjY0NSw2IEBACiAJCUU0QTAwNzg0MUI4MjBFRDMwMDJDNUE2
RSAvKiBEYXRhVVJMRGVjb2Rlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBEYXRhVVJMRGVjb2Rlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0
QTE4MjJGMUYxM0JFNTgwMEZFRjY5OCAvKiBTdHlsZUludmFsaWRhdGlvbkZ1bmN0aW9ucy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBTdHlsZUludmFsaWRhdGlvbkZ1bmN0aW9ucy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlFNEExQUM3ODIyRkFGRDUwMDAxN0I3NUIgLyogTGVnYWN5TGluZUxh
eW91dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMZWdhY3lMaW5lTGF5b3V0
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUU0QTY2NEM0MjUyMUI3NzcwMDcwODFE
QyAvKiBMYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yTW9kZXJuUGF0aC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBMYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yTW9kZXJu
UGF0aC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlFNEE2NjRDNTI1MjFCNzc4MDA3
MDgxREMgLyogTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvckxlZ2FjeVBhdGguaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvckxl
Z2FjeVBhdGguaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRTRBNjY0QzYyNTIxQjc3
ODAwNzA4MURDIC8qIExheW91dEludGVncmF0aW9uUnVuSXRlcmF0b3IuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlFNEE2NjRDNzI1MjFCNzc5MDA3MDgxREMgLyogTGF5
b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBMYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRTRBNzk5NEUyMEVFNEFFMTAwQzE5NTY4IC8qIENTU1BhcnNlckNv
bnRleHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gQ1NTUGFyc2VyQ29udGV4
dC5oOyBwYXRoID0gcGFyc2VyL0NTU1BhcnNlckNvbnRleHQuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJRTRBNzk5NTAyMEVFNEFFMjAwQzE5NTY4IC8qIENTU1BhcnNlckNvbnRleHQu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gQ1NTUGFyc2VyQ29udGV4
dC5jcHA7IHBhdGggPSBwYXJzZXIvQ1NTUGFyc2VyQ29udGV4dC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUU0QTgxNEQzMUM2REVDNDAwMEJGODVBQyAvKiBDbGFzc0NoYW5nZUlu
dmFsaWRhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDbGFzc0NoYW5n
ZUludmFsaWRhdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTY2NzAsOCAr
MTY2NTUsMjggQEAKIAkJRTRBODE0REYxQzczMzhFQjAwQkY4NUFDIC8qIElkQ2hhbmdlSW52YWxp
ZGF0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElkQ2hhbmdlSW52YWxp
ZGF0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0QThEMjE0MjI1NzhEQTAw
MEE4NDYzQyAvKiBFdmVudFJlZ2lvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBFdmVudFJlZ2lvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNEE4RDIxNTIy
NTc4REEwMDBBODQ2M0MgLyogRXZlbnRSZWdpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gRXZlbnRSZWdpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwotCQlFNEFCQUJEQjIzNjA4OEZEMDBGQTQzNDUgLyogTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5
b3V0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExheW91dEludGVncmF0aW9u
TGluZUxheW91dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlFNEFCQUJERTIzNjA4
OTNEMDBGQTQzNDUgLyogTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExheW91dEludGVncmF0aW9uTGluZUxheW91dC5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUU0QUFGMzVEMjY4MEJBNEEwMDNDNTY3
OSAvKiBMYXlvdXRCcmlkZ2VMaW5lTGF5b3V0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IExheW91dEJyaWRnZUxpbmVMYXlvdXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJRTRBQUYzNUUyNjgwQkE0QTAwM0M1Njc5IC8qIExheW91dEJyaWRnZUJveFRyZWUuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTGF5b3V0QnJpZGdlQm94VHJlZS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFNEFBRjM1RjI2ODBCQTRBMDAzQzU2NzkgLyog
TGF5b3V0QnJpZGdlQ292ZXJhZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
TGF5b3V0QnJpZGdlQ292ZXJhZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTRB
QUYzNjAyNjgwQkE0QTAwM0M1Njc5IC8qIExheW91dEJyaWRnZVJ1bkl0ZXJhdG9yLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExheW91dEJyaWRnZVJ1bkl0ZXJhdG9y
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTRBQUYzNjEyNjgwQkE0QTAwM0M1
Njc5IC8qIExheW91dEJyaWRnZUxpbmVMYXlvdXQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gTGF5b3V0QnJpZGdlTGluZUxheW91dC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUU0QUFGMzYyMjY4MEJBNEEwMDNDNTY3OSAvKiBMYXlvdXRCcmlkZ2VC
b3hUcmVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExheW91dEJy
aWRnZUJveFRyZWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFNEFBRjM2MzI2
ODBCQTRBMDAzQzU2NzkgLyogTGF5b3V0QnJpZGdlTGluZUl0ZXJhdG9yLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExheW91dEJyaWRnZUxpbmVJdGVyYXRvci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUU0QUFGMzY0MjY4MEJBNEEwMDNDNTY3OSAv
KiBMYXlvdXRCcmlkZ2VMaW5lSXRlcmF0b3JMZWdhY3lQYXRoLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IExheW91dEJyaWRnZUxpbmVJdGVyYXRvckxlZ2FjeVBhdGguaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTRBQUYzNjUyNjgwQkE0QTAwM0M1Njc5IC8qIExh
eW91dEJyaWRnZUlubGluZUNvbnRlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gTGF5b3V0QnJpZGdlSW5saW5lQ29udGVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlFNEFBRjM2NjI2ODBCQTRBMDAzQzU2NzkgLyogTGF5b3V0QnJpZGdlUnVuSXRlcmF0b3JN
b2Rlcm5QYXRoLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExheW91dEJyaWRn
ZVJ1bkl0ZXJhdG9yTW9kZXJuUGF0aC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlF
NEFBRjM2NzI2ODBCQTRBMDAzQzU2NzkgLyogTGF5b3V0QnJpZGdlSW5saW5lQ29udGVudEJ1aWxk
ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTGF5b3V0QnJpZGdlSW5saW5l
Q29udGVudEJ1aWxkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTRBQUYzNjgy
NjgwQkE0QTAwM0M1Njc5IC8qIExheW91dEJyaWRnZVJ1bkl0ZXJhdG9yLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExheW91dEJyaWRnZVJ1bkl0ZXJhdG9yLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUU0QUFGMzY5MjY4MEJBNEEwMDNDNTY3OSAvKiBMYXlvdXRC
cmlkZ2VDb3ZlcmFnZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBM
YXlvdXRCcmlkZ2VDb3ZlcmFnZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUU0
QUFGMzZBMjY4MEJBNEEwMDNDNTY3OSAvKiBMYXlvdXRCcmlkZ2VQYWdpbmF0aW9uLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExheW91dEJyaWRnZVBhZ2luYXRpb24uaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTRBQUYzNkIyNjgwQkE0QTAwM0M1Njc5IC8qIExh
eW91dEJyaWRnZUlubGluZUNvbnRlbnRCdWlsZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IExheW91dEJyaWRnZUlubGluZUNvbnRlbnRCdWlsZGVyLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTRBQUYzNkMyNjgwQkE0QTAwM0M1Njc5IC8qIExh
eW91dEJyaWRnZUxpbmVJdGVyYXRvck1vZGVyblBhdGguaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gTGF5b3V0QnJpZGdlTGluZUl0ZXJhdG9yTW9kZXJuUGF0aC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlFNEFBRjM2RDI2ODBCQTRBMDAzQzU2NzkgLyogTGF5b3V0
QnJpZGdlUnVuLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExheW91dEJyaWRn
ZVJ1bi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFNEFBRjM2RTI2ODBCQTRBMDAz
QzU2NzkgLyogTGF5b3V0QnJpZGdlUnVuSXRlcmF0b3JMZWdhY3lQYXRoLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExheW91dEJyaWRnZVJ1bkl0ZXJhdG9yTGVnYWN5UGF0aC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFNEFBRjM2RjI2ODBCQTRBMDAzQzU2Nzkg
LyogTGF5b3V0QnJpZGdlTGluZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBM
YXlvdXRCcmlkZ2VMaW5lLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUU0QUFGMzcw
MjY4MEJBNEEwMDNDNTY3OSAvKiBMYXlvdXRCcmlkZ2VQYWdpbmF0aW9uLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExheW91dEJyaWRnZVBhZ2luYXRpb24uY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFNEFBRjM3MTI2ODBCQTRBMDAzQzU2NzkgLyog
TGF5b3V0QnJpZGdlSW5saW5lQ29udGVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBMYXlvdXRCcmlkZ2VJbmxpbmVDb250ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJRTRBQUYzNzIyNjgwQkE0QTAwM0M1Njc5IC8qIExheW91dEJyaWRnZUxp
bmVJdGVyYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMYXlvdXRCcmlk
Z2VMaW5lSXRlcmF0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTRBQkFCRTIy
MzYxQTMyOTAwRkE0MzQ1IC8qIFByb3BlcnR5Q2FzY2FkZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBQcm9wZXJ0eUNhc2NhZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRTRBQkFCRTUyMzYxQTM0MjAwRkE0MzQ1IC8qIFByb3BlcnR5Q2FzY2FkZS5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBQcm9wZXJ0eUNhc2NhZGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlFNEFCQUJGMDIzNjhCOTE4MDBGQTQzNDUgLyogU3R5bGVCdWlsZGVyU3RhdGUu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3R5bGVCdWlsZGVyU3RhdGUuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtMTY3MjQsMTAgKzE2NzI5LDYgQEAKIAkJRTRDOTFBMTUxODA5
OTlGMTAwQTE3RjZEIC8qIFJlbmRlclRleHRMaW5lQm94ZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gUmVuZGVyVGV4dExpbmVCb3hlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlFNEM5MUExNzE4MDk5OUZCMDBBMTdGNkQgLyogUmVuZGVyVGV4dExpbmVCb3hl
cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJUZXh0TGlu
ZUJveGVzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTREMzNGMzkyNTJBRUVD
QzAwODM3RDA1IC8qIElubGluZVJ1bkFuZE9mZnNldC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBJbmxpbmVSdW5BbmRPZmZzZXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKLQkJRTREMzNGM0YyNTJDNEI4MjAwODM3RDA1IC8qIExheW91dEludGVncmF0aW9uTGluZUl0
ZXJhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExheW91dEludGVncmF0
aW9uTGluZUl0ZXJhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUU0RDMzRjQy
MjUyQzUwQTgwMDgzN0QwNSAvKiBMYXlvdXRJbnRlZ3JhdGlvbkxpbmVJdGVyYXRvci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBMYXlvdXRJbnRlZ3JhdGlvbkxpbmVJdGVyYXRvci5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUU0RDMzRjQzMjUyQzUwRTIwMDgzN0QwNSAvKiBMYXlv
dXRJbnRlZ3JhdGlvbkxpbmVJdGVyYXRvckxlZ2FjeVBhdGguaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3JMZWdhY3lQYXRoLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUU0RDMzRjQ1MjUyQzUwRkIwMDgzN0QwNSAv
KiBMYXlvdXRJbnRlZ3JhdGlvbkxpbmVJdGVyYXRvck1vZGVyblBhdGguaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3JNb2Rlcm5Q
YXRoLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0RDU4RUIyMTdCNERCREMwMENC
RENBOCAvKiBTdHlsZVJlc29sdmVGb3JEb2N1bWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBTdHlsZVJlc29sdmVGb3JEb2N1bWVudC5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUU0RDU4RUIzMTdCNERCREMwMENCRENBOCAvKiBTdHlsZVJlc29s
dmVGb3JEb2N1bWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdHlsZVJl
c29sdmVGb3JEb2N1bWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNEQ1OEVC
NjE3QjRFRDg5MDBDQkRDQTggLyogU3R5bGVGb250U2l6ZUZ1bmN0aW9ucy5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTdHlsZUZvbnRTaXplRnVuY3Rpb25zLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE2NzU1LDcgKzE2NzU2LDYgQEAKIAkJRTRG
MzhEMUMyNjI2RjE0NDAwN0IxMDY0IC8qIERlZmF1bHRSZXNvdXJjZUxvYWRQcmlvcml0eS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEZWZhdWx0UmVzb3VyY2VMb2Fk
UHJpb3JpdHkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNEY5RUVGMDE1NkQ4
NEM0MDBEMjNFN0UgLyogU3R5bGVTaGVldENvbnRlbnRzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFN0eWxlU2hlZXRDb250ZW50cy5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUU0RjlFRUYxMTU2RDg0QzQwMEQyM0U3RSAvKiBTdHlsZVNoZWV0Q29u
dGVudHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3R5bGVTaGVldENvbnRl
bnRzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUU0RkI0QjM1MjM5QkVCMTAwMDND
MzM2QSAvKiBMYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnQuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJRTUwNjIwODMyNTQwOTE5QjAwQzQzMDkxIC8qIENvbnRhY3RzUmVxdWVz
dERhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29udGFjdHNSZXF1ZXN0RGF0YS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlFNTE2Njk4RjIwRkY5OTE2MDA5RDJDMjcgLyogTGlzdEJ1dHRv
bkFycm93QDJ4LnBuZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IGltYWdlLnBuZzsgcGF0aCA9ICJMaXN0QnV0dG9uQXJyb3dAMngucG5nIjsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTUxNzY3MDIyMEI4OEMxNDAwRDQxMTY3IC8qIERhdGFM
aXN0U3VnZ2VzdGlvbkluZm9ybWF0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERhdGFMaXN0U3VnZ2Vz
dGlvbkluZm9ybWF0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xODMwNSw5
ICsxODMwNSw5IEBACiAJCTExNUNGQTY2MjA4QUY3MjAwMDFFNjk5MSAvKiBsYXlvdXQgKi8gPSB7
CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCUU0QUFGMzVDMjY4MEJB
NEEwMDNDNTY3OSAvKiBicmlkZ2UgKi8sCiAJCQkJNkZDRkMwNTUyMTJEQUNDMjAwNzY5NUQyIC8q
IGZsb2F0cyAqLywKIAkJCQk2Rjg0NEY3RjI2M0Q5MTYxMDBGOTEzNzAgLyogZm9ybWF0dGluZ0Nv
bnRleHRzICovLAotCQkJCUU0RkI0QjFFMjM5NTM1NkYwMDNDMzM2QSAvKiBpbnRlZ3JhdGlvbiAq
LywKIAkJCQk2Rjk1REU0QTIzN0I4ODMwMDBFNTE3RTEgLyogaW52YWxpZGF0aW9uICovLAogCQkJ
CTExNUNGQTkwMjA4Qjk0NDEwMDFFNjk5MSAvKiBsYXlvdXR0cmVlICovLAogCQkJCTExNUNGQTc1
MjA4QUZFMzAwMDFFNjk5MSAvKiBGb3JtYXR0aW5nU3RhdGUuY3BwICovLApAQCAtMjk3MjgsMzMg
KzI5NzI4LDMzIEBACiAJCQlwYXRoID0gdXBkYXRpbmc7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91
cD4iOwogCQl9OwotCQlFNEZCNEIxRTIzOTUzNTZGMDAzQzMzNkEgLyogaW50ZWdyYXRpb24gKi8g
PSB7Ci0JCQlpc2EgPSBQQlhHcm91cDsKLQkJCWNoaWxkcmVuID0gKAotCQkJCUU0MTgwMjU2MjNE
NDU0QjUwMEZGQjA3MSAvKiBMYXlvdXRJbnRlZ3JhdGlvbkJveFRyZWUuY3BwICovLAotCQkJCUU0
MTgwMjUzMjNENDU0OUEwMEZGQjA3MSAvKiBMYXlvdXRJbnRlZ3JhdGlvbkJveFRyZWUuaCAqLywK
LQkJCQlFNDAzQjc5RjI1MUIxMThCMDAxOUU4MDAgLyogTGF5b3V0SW50ZWdyYXRpb25Db3ZlcmFn
ZS5jcHAgKi8sCi0JCQkJRTQwM0I3QTEyNTFCMTE5MzAwMTlFODAwIC8qIExheW91dEludGVncmF0
aW9uQ292ZXJhZ2UuaCAqLywKLQkJCQlFNEZCNEIzNTIzOUJFQjEwMDAzQzMzNkEgLyogTGF5b3V0
SW50ZWdyYXRpb25JbmxpbmVDb250ZW50LmNwcCAqLywKLQkJCQlFNDUxQzYzMzIzOTQwNThFMDA5
OTMxOTAgLyogTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50LmggKi8sCi0JCQkJNkYzRkJB
OTYyNTU2RTMwODAwMzUzMEZEIC8qIExheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxk
ZXIuY3BwICovLAotCQkJCTZGM0ZCQTk3MjU1NkUzMTIwMDM1MzBGRCAvKiBMYXlvdXRJbnRlZ3Jh
dGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmggKi8sCi0JCQkJNkZCNDdFNjEyMjc3NDI1QTAwQzdC
Q0IwIC8qIExheW91dEludGVncmF0aW9uTGluZS5oICovLAotCQkJCUU0RDMzRjQyMjUyQzUwQTgw
MDgzN0QwNSAvKiBMYXlvdXRJbnRlZ3JhdGlvbkxpbmVJdGVyYXRvci5jcHAgKi8sCi0JCQkJRTRE
MzNGM0YyNTJDNEI4MjAwODM3RDA1IC8qIExheW91dEludGVncmF0aW9uTGluZUl0ZXJhdG9yLmgg
Ki8sCi0JCQkJRTREMzNGNDMyNTJDNTBFMjAwODM3RDA1IC8qIExheW91dEludGVncmF0aW9uTGlu
ZUl0ZXJhdG9yTGVnYWN5UGF0aC5oICovLAotCQkJCUU0RDMzRjQ1MjUyQzUwRkIwMDgzN0QwNSAv
KiBMYXlvdXRJbnRlZ3JhdGlvbkxpbmVJdGVyYXRvck1vZGVyblBhdGguaCAqLywKLQkJCQlFNEFC
QUJERTIzNjA4OTNEMDBGQTQzNDUgLyogTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0LmNwcCAq
LywKLQkJCQlFNEFCQUJEQjIzNjA4OEZEMDBGQTQzNDUgLyogTGF5b3V0SW50ZWdyYXRpb25MaW5l
TGF5b3V0LmggKi8sCi0JCQkJRTQzMTJBQjUyNEIzMjY1NjAwNjc4MzQ5IC8qIExheW91dEludGVn
cmF0aW9uUGFnaW5hdGlvbi5jcHAgKi8sCi0JCQkJRTQzMTJBQjcyNEIzMjY1NjAwNjc4MzQ5IC8q
IExheW91dEludGVncmF0aW9uUGFnaW5hdGlvbi5oICovLAotCQkJCTZGQ0UxQTE4MjI2MThBQjMw
MDRGMDM0MyAvKiBMYXlvdXRJbnRlZ3JhdGlvblJ1bi5oICovLAotCQkJCUU0QTY2NEM3MjUyMUI3
NzkwMDcwODFEQyAvKiBMYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yLmNwcCAqLywKLQkJCQlF
NEE2NjRDNjI1MjFCNzc4MDA3MDgxREMgLyogTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvci5o
ICovLAotCQkJCUU0QTY2NEM1MjUyMUI3NzgwMDcwODFEQyAvKiBMYXlvdXRJbnRlZ3JhdGlvblJ1
bkl0ZXJhdG9yTGVnYWN5UGF0aC5oICovLAotCQkJCUU0QTY2NEM0MjUyMUI3NzcwMDcwODFEQyAv
KiBMYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yTW9kZXJuUGF0aC5oICovLAorCQlFNEFBRjM1
QzI2ODBCQTRBMDAzQzU2NzkgLyogYnJpZGdlICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJ
CQljaGlsZHJlbiA9ICgKKwkJCQlFNEFBRjM2MjI2ODBCQTRBMDAzQzU2NzkgLyogTGF5b3V0QnJp
ZGdlQm94VHJlZS5jcHAgKi8sCisJCQkJRTRBQUYzNUUyNjgwQkE0QTAwM0M1Njc5IC8qIExheW91
dEJyaWRnZUJveFRyZWUuaCAqLywKKwkJCQlFNEFBRjM2OTI2ODBCQTRBMDAzQzU2NzkgLyogTGF5
b3V0QnJpZGdlQ292ZXJhZ2UuY3BwICovLAorCQkJCUU0QUFGMzVGMjY4MEJBNEEwMDNDNTY3OSAv
KiBMYXlvdXRCcmlkZ2VDb3ZlcmFnZS5oICovLAorCQkJCUU0QUFGMzcxMjY4MEJBNEEwMDNDNTY3
OSAvKiBMYXlvdXRCcmlkZ2VJbmxpbmVDb250ZW50LmNwcCAqLywKKwkJCQlFNEFBRjM2NTI2ODBC
QTRBMDAzQzU2NzkgLyogTGF5b3V0QnJpZGdlSW5saW5lQ29udGVudC5oICovLAorCQkJCUU0QUFG
MzZCMjY4MEJBNEEwMDNDNTY3OSAvKiBMYXlvdXRCcmlkZ2VJbmxpbmVDb250ZW50QnVpbGRlci5j
cHAgKi8sCisJCQkJRTRBQUYzNjcyNjgwQkE0QTAwM0M1Njc5IC8qIExheW91dEJyaWRnZUlubGlu
ZUNvbnRlbnRCdWlsZGVyLmggKi8sCisJCQkJRTRBQUYzNkYyNjgwQkE0QTAwM0M1Njc5IC8qIExh
eW91dEJyaWRnZUxpbmUuaCAqLywKKwkJCQlFNEFBRjM2MzI2ODBCQTRBMDAzQzU2NzkgLyogTGF5
b3V0QnJpZGdlTGluZUl0ZXJhdG9yLmNwcCAqLywKKwkJCQlFNEFBRjM3MjI2ODBCQTRBMDAzQzU2
NzkgLyogTGF5b3V0QnJpZGdlTGluZUl0ZXJhdG9yLmggKi8sCisJCQkJRTRBQUYzNjQyNjgwQkE0
QTAwM0M1Njc5IC8qIExheW91dEJyaWRnZUxpbmVJdGVyYXRvckxlZ2FjeVBhdGguaCAqLywKKwkJ
CQlFNEFBRjM2QzI2ODBCQTRBMDAzQzU2NzkgLyogTGF5b3V0QnJpZGdlTGluZUl0ZXJhdG9yTW9k
ZXJuUGF0aC5oICovLAorCQkJCUU0QUFGMzYxMjY4MEJBNEEwMDNDNTY3OSAvKiBMYXlvdXRCcmlk
Z2VMaW5lTGF5b3V0LmNwcCAqLywKKwkJCQlFNEFBRjM1RDI2ODBCQTRBMDAzQzU2NzkgLyogTGF5
b3V0QnJpZGdlTGluZUxheW91dC5oICovLAorCQkJCUU0QUFGMzcwMjY4MEJBNEEwMDNDNTY3OSAv
KiBMYXlvdXRCcmlkZ2VQYWdpbmF0aW9uLmNwcCAqLywKKwkJCQlFNEFBRjM2QTI2ODBCQTRBMDAz
QzU2NzkgLyogTGF5b3V0QnJpZGdlUGFnaW5hdGlvbi5oICovLAorCQkJCUU0QUFGMzZEMjY4MEJB
NEEwMDNDNTY3OSAvKiBMYXlvdXRCcmlkZ2VSdW4uaCAqLywKKwkJCQlFNEFBRjM2MDI2ODBCQTRB
MDAzQzU2NzkgLyogTGF5b3V0QnJpZGdlUnVuSXRlcmF0b3IuY3BwICovLAorCQkJCUU0QUFGMzY4
MjY4MEJBNEEwMDNDNTY3OSAvKiBMYXlvdXRCcmlkZ2VSdW5JdGVyYXRvci5oICovLAorCQkJCUU0
QUFGMzZFMjY4MEJBNEEwMDNDNTY3OSAvKiBMYXlvdXRCcmlkZ2VSdW5JdGVyYXRvckxlZ2FjeVBh
dGguaCAqLywKKwkJCQlFNEFBRjM2NjI2ODBCQTRBMDAzQzU2NzkgLyogTGF5b3V0QnJpZGdlUnVu
SXRlcmF0b3JNb2Rlcm5QYXRoLmggKi8sCiAJCQkpOwotCQkJcGF0aCA9IGludGVncmF0aW9uOwor
CQkJcGF0aCA9IGJyaWRnZTsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CiAJCUU1
OTZERDIzMjUxOTAyRDYwMEMyNzVBNyAvKiBjb250YWN0LXBpY2tlciAqLyA9IHsKQEAgLTMxNzE5
LDYgKzMxNzE5LDcgQEAKIAkJCQk1QzUzRENFQTI0NDY4RkI0MDBBOTMxMjQgLyogQXBwbGVQYXlT
ZXR1cFdlYkNvcmUuaCBpbiBIZWFkZXJzICovLAogCQkJCTk1RUFENTc4MjY2RUYzQTgwMDRCOUNG
MSAvKiBBcHBsZVBheVNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlLmggaW4gSGVhZGVycyAqLywK
IAkJCQkxQThBNjQ1QzFEMTlGQ0ZDMDBEMEUwMEYgLyogQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RT
ZWxlY3RlZEV2ZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlFNEFBRjM3NTI2ODBCQjk3MDAzQzU2
NzkgLyogTGF5b3V0QnJpZGdlUnVuSXRlcmF0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUExMkM1
OUYyMjAzNUZDRDYwMDEyMjM2QiAvKiBBcHBsZVBheVNoaXBwaW5nQ29udGFjdFVwZGF0ZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJN0M2NTc5RTgxRTAwODMxNjAwRTNBMjdBIC8qIEFwcGxlUGF5U2hp
cHBpbmdNZXRob2QuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBOEE2NDYwMUQxOUZDRkMwMEQwRTAw
RiAvKiBBcHBsZVBheVNoaXBwaW5nTWV0aG9kU2VsZWN0ZWRFdmVudC5oIGluIEhlYWRlcnMgKi8s
CkBAIC0zMjE4OCw2ICszMjE4OSw3IEBACiAJCQkJNTdCNUY4MDkxRTVEMUE5ODAwRjM0RjkwIC8q
IENyeXB0b0FsZ29yaXRobUFlc0djbVBhcmFtcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTc3NDgz
MTIxREFEQzU1RDAwNzE2RUY5IC8qIENyeXB0b0FsZ29yaXRobUFlc0tleVBhcmFtcy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNTc1MEE5ODcxRTZBMjE2ODAwNzA1QzRBIC8qIENyeXB0b0FsZ29yaXRo
bUVDREguaCBpbiBIZWFkZXJzICovLAorCQkJCUU0QUFGMzdBMjY4MEJCQUUwMDNDNTY3OSAvKiBM
YXlvdXRCcmlkZ2VMaW5lSXRlcmF0b3JMZWdhY3lQYXRoLmggaW4gSGVhZGVycyAqLywKIAkJCQk1
NzY4MTQyQTFFNkY5OUMxMDBFNzc3NTQgLyogQ3J5cHRvQWxnb3JpdGhtRWNkaEtleURlcml2ZVBh
cmFtcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTdFRUFBNDcxRTlFRDJERDAwNzAxMTI0IC8qIENy
eXB0b0FsZ29yaXRobUVDRFNBLmggaW4gSGVhZGVycyAqLywKIAkJCQk1N0VFQUE1MDFFOUZGQkZD
MDA3MDExMjQgLyogQ3J5cHRvQWxnb3JpdGhtRWNkc2FQYXJhbXMuaCBpbiBIZWFkZXJzICovLApA
QCAtMzI2MjAsNiArMzI2MjIsNyBAQAogCQkJCUY0MDNFNzg3MjM2M0I1OEMwMDA0NDU1MCAvKiBF
bnRlcktleUhpbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFEMkY4RTA0MjM0NDc1MTYwMDk5M0I2
OCAvKiBFbnRlclBpY3R1cmVJblBpY3R1cmVFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQz
MTYwOTMxMkIwMjZGNzAwQzFBMzU5IC8qIEVxdWFsUG93ZXJQYW5uZXIuaCBpbiBIZWFkZXJzICov
LAorCQkJCUU0QUFGMzdGMjY4MEJCQjcwMDNDNTY3OSAvKiBMYXlvdXRCcmlkZ2VDb3ZlcmFnZS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJODM3MUFDM0IxRjUwOUJFNDAwRkJGMjg0IC8qIEVycm9yQ2Fs
bGJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCTJFQ0Y3QUUyMTAxNjJCNTgwMDQyN0RFNyAvKiBF
cnJvckV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NTAzMUI0MjBBNDRFRkM3MDBGOTkyRTAg
LyogRXZlbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMzI4MTIsNiArMzI4MTUsNyBAQAogCQkJCTEx
M0QwQjUyMUY5RkREMkIwMEY2MTFCQiAvKiBGcmFtZVZpZXdMYXlvdXRDb250ZXh0LmggaW4gSGVh
ZGVycyAqLywKIAkJCQk5NzIwNUFCMDEyMzkyOENBMDBCMTczODAgLyogRlRQRGlyZWN0b3J5RG9j
dW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxQzgxQjhBMEM0NDIyRjcwMDE5RUNFMyAvKiBG
VFBEaXJlY3RvcnlQYXJzZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCUU0QUFGMzdDMjY4MEJCQjIw
MDNDNTY3OSAvKiBMYXlvdXRCcmlkZ2VJbmxpbmVDb250ZW50QnVpbGRlci5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQ0Q5MkY1MTgyMjYxMDM4MjAwRjg3QkIzIC8qIEZ1bGxzY3JlZW5NYW5hZ2VyLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkyNkI5OTk5MzE4MDNCOUQ5MDBEMDExMjEgLyogRnVuY3Rpb25D
YWxsLmggaW4gSGVhZGVycyAqLywKIAkJCQlGRDMxNjAwRDEyQjAyNjc2MDBDMUEzNTkgLyogR2Fp
bk5vZGUuaCBpbiBIZWFkZXJzICovLApAQCAtMzMzNDAsNiArMzMzNDQsNyBAQAogCQkJCUZEQTE1
RUFFMTJCMDNFRTEwMDNBNTgzQSAvKiBKU0F1ZGlvTGlzdGVuZXIuaCBpbiBIZWFkZXJzICovLAog
CQkJCUZEQTE1RUIwMTJCMDNFRTEwMDNBNTgzQSAvKiBKU0F1ZGlvTm9kZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJRkRBMTVFQjQxMkIwM0VFMTAwM0E1ODNBIC8qIEpTQXVkaW9QYXJhbS5oIGluIEhl
YWRlcnMgKi8sCisJCQkJRTRBQUYzNzgyNjgwQkJBQjAwM0M1Njc5IC8qIExheW91dEJyaWRnZUxp
bmVMYXlvdXQuaCBpbiBIZWFkZXJzICovLAogCQkJCUZEQTE1RUI2MTJCMDNFRTEwMDNBNTgzQSAv
KiBKU0F1ZGlvUHJvY2Vzc2luZ0V2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCRThFRjA0MzE3
MUM4RkY5MDA5QjQ4QzMgLyogSlNBdWRpb1RyYWNrLmggaW4gSGVhZGVycyAqLywKIAkJCQlCRThF
RjA0NTE3MUM4RkY5MDA5QjQ4QzMgLyogSlNBdWRpb1RyYWNrTGlzdC5oIGluIEhlYWRlcnMgKi8s
CkBAIC0zMzUxMSw2ICszMzUxNiw3IEBACiAJCQkJMEY0NzEwQkMxREI1NkJFODAwMkRDRUMzIC8q
IEpTRE9NUmVjdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY0NzEwQkUxREI1NkJFODAwMkRDRUMz
IC8qIEpTRE9NUmVjdEluaXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ2NkVEOEQzMUVERTAxNDQw
MDVFNDNGNiAvKiBKU0RPTVJlY3RMaXN0LmggaW4gSGVhZGVycyAqLywKKwkJCQlFNEFBRjM3NDI2
ODBCQjk3MDAzQzU2NzkgLyogTGF5b3V0QnJpZGdlUnVuSXRlcmF0b3JNb2Rlcm5QYXRoLmggaW4g
SGVhZGVycyAqLywKIAkJCQkwRjQ3MTBDMDFEQjU2QkU4MDAyRENFQzMgLyogSlNET01SZWN0UmVh
ZE9ubHkuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNUE4NkI2MEMzMzY3RTgwMEVFQTY0OSAvKiBK
U0RPTVNlbGVjdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDEzQTFBQTIyMzcxQThCNDAwN0VG
M0E1IC8qIEpTRE9NU2V0TGlrZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0zNDAzOSw2ICszNDA0NSw3
IEBACiAJCQkJODQ4NTIyN0UxMTkwMTYyQzAwNkVEQzdGIC8qIEpTU1ZHVktlcm5FbGVtZW50Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQk3MURDQjcwMjE1NjgxOTc2MDA4NjIyNzEgLyogSlNTVkdab29t
QW5kUGFuLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkZBM0UxOTBBQjc1QTZGMDAwRTVBQzQgLyog
SlNTVkdab29tRXZlbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCUU0QUFGMzgwMjY4MEJCQkIwMDND
NTY3OSAvKiBMYXlvdXRCcmlkZ2VCb3hUcmVlLmggaW4gSGVhZGVycyAqLywKIAkJCQk2NURGMzIw
NDA5RDFDQzYwMDAwQkUzMjUgLyogSlNUZXh0LmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzNBMTRC
OTBCN0QxRDUyMDBBNTNGRkQgLyogSlNUZXh0RXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJD
RUY0NUY2MEU2ODdCNUMwMDFDMTI4NyAvKiBKU1RleHRNZXRyaWNzLmggaW4gSGVhZGVycyAqLywK
QEAgLTM0MTc2LDIwICszNDE4Myw2IEBACiAJCQkJNkZEMDk1NDMyNTExMTUyMjAwOTg4NzdEIC8q
IExheW91dEdlb21ldHJ5UmVjdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNkY2MzgzRjYyNDI3QUY0
QTAwREFCQTUzIC8qIExheW91dEluaXRpYWxDb250YWluaW5nQmxvY2suaCBpbiBIZWFkZXJzICov
LAogCQkJCTZGMEI5OEI1MjNGMjY4RUMwMEVFQzJGMiAvKiBMYXlvdXRJbmxpbmVUZXh0Qm94Lmgg
aW4gSGVhZGVycyAqLywKLQkJCQlFNDE4MDI1NTIzRDQ1NDlCMDBGRkIwNzEgLyogTGF5b3V0SW50
ZWdyYXRpb25Cb3hUcmVlLmggaW4gSGVhZGVycyAqLywKLQkJCQlFNDAzQjdBMjI1MUIxMTkzMDAx
OUU4MDAgLyogTGF5b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJ
RTQ1MUM2MzQyMzk0MDU4RjAwOTkzMTkwIC8qIExheW91dEludGVncmF0aW9uSW5saW5lQ29udGVu
dC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNkYzRkJBOTgyNTU2RTMxMzAwMzUzMEZEIC8qIExheW91
dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuaCBpbiBIZWFkZXJzICovLAotCQkJCTZG
QjQ3RTYzMjI3NzQyNUEwMEM3QkNCMCAvKiBMYXlvdXRJbnRlZ3JhdGlvbkxpbmUuaCBpbiBIZWFk
ZXJzICovLAotCQkJCUU0RDMzRjQxMjUyQzRCODMwMDgzN0QwNSAvKiBMYXlvdXRJbnRlZ3JhdGlv
bkxpbmVJdGVyYXRvci5oIGluIEhlYWRlcnMgKi8sCi0JCQkJRTREMzNGNDQyNTJDNTBFMjAwODM3
RDA1IC8qIExheW91dEludGVncmF0aW9uTGluZUl0ZXJhdG9yTGVnYWN5UGF0aC5oIGluIEhlYWRl
cnMgKi8sCi0JCQkJRTREMzNGNDYyNTJDNTBGQzAwODM3RDA1IC8qIExheW91dEludGVncmF0aW9u
TGluZUl0ZXJhdG9yTW9kZXJuUGF0aC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJRTRBQkFCREQyMzYw
ODhGRTAwRkE0MzQ1IC8qIExheW91dEludGVncmF0aW9uTGluZUxheW91dC5oIGluIEhlYWRlcnMg
Ki8sCi0JCQkJRTQwM0I3QTMyNTFCMTFDMTAwMTlFODAwIC8qIExheW91dEludGVncmF0aW9uUGFn
aW5hdGlvbi5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNkZDRTFBMUEyMjYxOEFCRDAwNEYwMzQzIC8q
IExheW91dEludGVncmF0aW9uUnVuLmggaW4gSGVhZGVycyAqLywKLQkJCQlFNEE2NjRDQzI1MjFE
NEFGMDA3MDgxREMgLyogTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvci5oIGluIEhlYWRlcnMg
Ki8sCi0JCQkJRTRBNjY0Q0YyNTIxRDRFMjAwNzA4MURDIC8qIExheW91dEludGVncmF0aW9uUnVu
SXRlcmF0b3JMZWdhY3lQYXRoLmggaW4gSGVhZGVycyAqLywKLQkJCQlFNEE2NjRDRTI1MjFENEM5
MDA3MDgxREMgLyogTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvck1vZGVyblBhdGguaCBpbiBI
ZWFkZXJzICovLAogCQkJCTExMzEwQ0Y0MjBCQTRBM0QwMDY1QThEMCAvKiBMYXlvdXRJdGVyYXRv
ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNkZGQTRDMDEyM0YyRkVEOTAwN0U0RUJDIC8qIExheW91
dExpbmVCcmVha0JveC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTMxRDcyRjYxNUZFNjk1MzAwQzRD
MDdFIC8qIExheW91dE1pbGVzdG9uZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0zNDI2MiwxMSArMzQy
NTUsMTMgQEAKIAkJCQk2NTZEMzczMjBBREJBNURFMDBBNDU1NEQgLyogTG9hZGVyTlNVUkxFeHRy
YXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxRTY4MjEwMTYzODczMDIwMDNCQkYzQyAvKiBMb2Fk
ZXJTdHJhdGVneS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTQ3RkM4QTMyNUI4NEQ3MjAwNTQ5NUZD
IC8qIExvYWRTY2hlZHVsaW5nTW9kZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTRBQUYzNzkyNjgw
QkJBRTAwM0M1Njc5IC8qIExheW91dEJyaWRnZUxpbmVJdGVyYXRvck1vZGVyblBhdGguaCBpbiBI
ZWFkZXJzICovLAogCQkJCTA2RTgxRUQ3MEFCNUQ1RTkwMEM4NzgzNyAvKiBMb2NhbEN1cnJlbnRH
cmFwaGljc0NvbnRleHQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFDNDNERTZCMjJBQjRCOEEwMDE1
MjdEOSAvKiBMb2NhbEN1cnJlbnRUcmFpdENvbGxlY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJ
CTQ0NTc3NUU1MjA0NzJGNzMwMDhEQ0U1RCAvKiBMb2NhbERlZmF1bHRTeXN0ZW1BcHBlYXJhbmNl
LmggaW4gSGVhZGVycyAqLywKIAkJCQlGNTk3M0RFMDE1Q0ZCMjAzMDAyN0Y4MDQgLyogTG9jYWxl
Q29jb2EuaCBpbiBIZWFkZXJzICovLAogCQkJCTc2MzNBNzI2MTNEOEIzM0EwMDg1MDFCNiAvKiBM
b2NhbGVUb1NjcmlwdE1hcHBpbmcuaCBpbiBIZWFkZXJzICovLAorCQkJCUU0QUFGMzc2MjY4MEJC
QTcwMDNDNTY3OSAvKiBMYXlvdXRCcmlkZ2VQYWdpbmF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlFMzVCOTA3RjIzRjYwQTUwMDAwMDExRkYgLyogTG9jYWxpemVkRGV2aWNlTW9kZWwuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTkzNTIwN0JFMDlCRDQxMEEwMEYyMDM4RCAvKiBMb2NhbGl6ZWRTdHJp
bmdzLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MUZDRDZCQjIzQ0UwMjc3MDBDNjI1NjcgLyogTG9j
YWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIuaCBpbiBIZWFkZXJzICovLApAQCAtMzQ5ODcsNiAr
MzQ5ODIsNyBAQAogCQkJCTA4NTRCMDE3MTI1NUU0RTYwMEI5Q0REMCAvKiBSZW5kZXJTVkdJbmxp
bmVUZXh0LmggaW4gSGVhZGVycyAqLywKIAkJCQk0MzY3MDhDQjEyRDlDQTRCMDAwNDQyMzQgLyog
UmVuZGVyU1ZHTW9kZWxPYmplY3QuaCBpbiBIZWFkZXJzICovLAogCQkJCUFEREYxQUQ3MTI1N0NE
OUEwMDAzQTc1OSAvKiBSZW5kZXJTVkdQYXRoLmggaW4gSGVhZGVycyAqLywKKwkJCQlFNEFBRjM3
RDI2ODBCQkIyMDAzQzU2NzkgLyogTGF5b3V0QnJpZGdlTGluZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQTEwQkI1ODUxNDg0RTNBNzAwQjJFODdBIC8qIFJlbmRlclNWR1JlY3QuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTQzNjcwOENEMTJEOUNBNEIwMDA0NDIzNCAvKiBSZW5kZXJTVkdSZXNvdXJjZS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNDM2NzA4Q0YxMkQ5Q0E0QjAwMDQ0MjM0IC8qIFJlbmRlclNW
R1Jlc291cmNlQ2xpcHBlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0zNTAyMCw2ICszNTAxNiw3IEBA
CiAJCQkJQkNFQTQ4OEUwOTdEOTMwMjAwOTRDOUU0IC8qIFJlbmRlclRleHRGcmFnbWVudC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRTRDOTFBMTYxODA5OTlGMTAwQTE3RjZEIC8qIFJlbmRlclRleHRM
aW5lQm94ZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDRUE0ODhBMDk3RDkzMDIwMDk0QzlFNCAv
KiBSZW5kZXJUaGVtZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTRBQUYzN0UyNjgwQkJCNDAwM0M1
Njc5IC8qIExheW91dEJyaWRnZUlubGluZUNvbnRlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFB
Mjk5RkU4MUQ3RjVGQTYwMEE2MDA5MyAvKiBSZW5kZXJUaGVtZUNvY29hLmggaW4gSGVhZGVycyAq
LywKIAkJCQlGRUQxM0Q1MjBDRUE5NDk3MDBEODk0NjYgLyogUmVuZGVyVGhlbWVJT1MuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUJDRUE0ODg3MDk3RDkzMDIwMDk0QzlFNCAvKiBSZW5kZXJUaGVtZU1h
Yy5oIGluIEhlYWRlcnMgKi8sCkBAIC0zNTM5MCw2ICszNTM4Nyw3IEBACiAJCQkJNTExRUMxMkMx
QzUwQUJCRjAwMzJGOTgzIC8qIFNRTGl0ZUlEQlRyYW5zYWN0aW9uLmggaW4gSGVhZGVycyAqLywK
IAkJCQkxQTIyNDY0QzBDQzk4RERCMDBDMDUyNDAgLyogU1FMaXRlU3RhdGVtZW50LmggaW4gSGVh
ZGVycyAqLywKIAkJCQlFQkU1QjIyNjI0NUEyNkVGMDAzQTVBODggLyogU1FMaXRlU3RhdGVtZW50
QXV0b1Jlc2V0U2NvcGUuaCBpbiBIZWFkZXJzICovLAorCQkJCUU0QUFGMzc3MjY4MEJCQTcwMDND
NTY3OSAvKiBMYXlvdXRCcmlkZ2VSdW4uaCBpbiBIZWFkZXJzICovLAogCQkJCTFBMjI0NjRFMEND
OThEREIwMEMwNTI0MCAvKiBTUUxpdGVUcmFuc2FjdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
OTdCQzZBNDIxNTA1RjA4MTAwMUI3NEFDIC8qIFNRTFJlc3VsdFNldC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJOTdCQzZBNDUxNTA1RjA4MTAwMUI3NEFDIC8qIFNRTFJlc3VsdFNldFJvd0xpc3QuaCBp
biBIZWFkZXJzICovLApAQCAtMzU0NTksNiArMzU0NTcsNyBAQAogCQkJCUJDRUY0M0NGMEU2NzNE
QTEwMDFDMTI4NyAvKiBTdHlsZUltYWdlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzIyNzMwNDBF
ODJGMUU2MDBFN0Y5NzUgLyogU3R5bGVJbmhlcml0ZWREYXRhLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlFNDZDNzk0QjFGMTNFODJCMDBGMzcxRTEgLyogU3R5bGVJbnZhbGlkYXRpb25GdW5jdGlvbnMu
aCBpbiBIZWFkZXJzICovLAorCQkJCUU0QUFGMzdCMjY4MEJCQUUwMDNDNTY3OSAvKiBMYXlvdXRC
cmlkZ2VMaW5lSXRlcmF0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0NzEyN0NCMTYzNDM4QUUw
MEVENkY1QSAvKiBTdHlsZUludmFsaWRhdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzVFQjcy
QTBFODFERTgxMDBCMjU5NjUgLyogU3R5bGVNYXJxdWVlRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMEZGNTAyNzIxMDJCQTk2QTAwNjZGMzlBIC8qIFN0eWxlTWVkaWEuaCBpbiBIZWFkZXJzICov
LApAQCAtMzYxNjMsNiArMzYxNjIsNyBAQAogCQkJCUUzNDdFNUZBMjVENEYwMDAwMEYxN0E1QyAv
KiBXb3JrZXJTY3JpcHRGZXRjaGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlBN0Q2QjM0OTBGNjEx
MDQ1MDBCNzlGRDEgLyogV29ya2VyU2NyaXB0TG9hZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQky
RUE3NjgwNDBGRTcxMjY0MDBBQjlDOEEgLyogV29ya2VyU2NyaXB0TG9hZGVyQ2xpZW50LmggaW4g
SGVhZGVycyAqLywKKwkJCQlFNEFBRjM3MzI2ODBCQjk3MDAzQzU2NzkgLyogTGF5b3V0QnJpZGdl
UnVuSXRlcmF0b3JMZWdhY3lQYXRoLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRTQzNDY1NTBGNTQ2
QTgyMDBCMEYxQkEgLyogV29ya2VyVGhyZWFkLmggaW4gSGVhZGVycyAqLywKIAkJCQkwQjkwNTZG
OTBGMjY4NUYzMDA5NUZGNkEgLyogV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJOTdBQUJEMkQxNEZBMDlENTAwNzQ1N0FFIC8qIFdvcmtlclRocmVhZGFibGVXZWJT
b2NrZXRDaGFubmVsLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCmluZGV4IDA1Zjg2ZTQ3YjJjNS4uMzY0NjlhNDYwN2Q4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAK
QEAgLTI5NDMsNyArMjk0Myw3IEBAIExheW91dFJlY3QgQVhPYmplY3RDYWNoZTo6bG9jYWxDYXJl
dFJlY3RGb3JDaGFyYWN0ZXJPZmZzZXQoUmVuZGVyT2JqZWN0KiYgcmVuZGVyCiAgICAgaWYgKHJ1
bkFuZE9mZnNldC5ydW4pCiAgICAgICAgIHJlbmRlcmVyID0gY29uc3RfY2FzdDxSZW5kZXJPYmpl
Y3QqPigmcnVuQW5kT2Zmc2V0LnJ1bi0+cmVuZGVyZXIoKSk7CiAKLSAgICBpZiAoaXM8UmVuZGVy
TGluZUJyZWFrPihyZW5kZXJlcikgJiYgTGF5b3V0SW50ZWdyYXRpb246OnJ1bkZvcihkb3duY2Fz
dDxSZW5kZXJMaW5lQnJlYWs+KCpyZW5kZXJlcikpICE9IHJ1bkFuZE9mZnNldC5ydW4pCisgICAg
aWYgKGlzPFJlbmRlckxpbmVCcmVhaz4ocmVuZGVyZXIpICYmIExheW91dEJyaWRnZTo6cnVuRm9y
KGRvd25jYXN0PFJlbmRlckxpbmVCcmVhaz4oKnJlbmRlcmVyKSkgIT0gcnVuQW5kT2Zmc2V0LnJ1
bikKICAgICAgICAgcmV0dXJuIEludFJlY3QoKTsKIAogICAgIHJldHVybiBjb21wdXRlTG9jYWxD
YXJldFJlY3QoKnJlbmRlcmVyLCBydW5BbmRPZmZzZXQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50TWFya2VyQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmNwcAppbmRleCAzZjY0NGYwMWI3NTIuLmZhMjUy
ZTliMThlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50TWFya2VyQ29u
dHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50TWFya2VyQ29udHJv
bGxlci5jcHAKQEAgLTMwLDcgKzMwLDcgQEAKICNpbmNsdWRlICJDaHJvbWUuaCIKICNpbmNsdWRl
ICJDaHJvbWVDbGllbnQuaCIKICNpbmNsdWRlICJGcmFtZS5oIgotI2luY2x1ZGUgIkxheW91dElu
dGVncmF0aW9uTGluZUxheW91dC5oIgorI2luY2x1ZGUgIkxheW91dEJyaWRnZUxpbmVMYXlvdXQu
aCIKICNpbmNsdWRlICJOb2RlVHJhdmVyc2FsLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1
ZGUgIlJlbmRlckJsb2NrRmxvdy5oIgpAQCAtMjU2LDcgKzI1Niw3IEBAIHZvaWQgRG9jdW1lbnRN
YXJrZXJDb250cm9sbGVyOjphZGRNYXJrZXIoTm9kZSYgbm9kZSwgRG9jdW1lbnRNYXJrZXImJiBu
ZXdNYXJrZXIpCiAjaWYgRU5BQkxFKExBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpCiAgICAgaWYg
KGF1dG8qIHJlbmRlcmVyID0gbm9kZS5yZW5kZXJlcigpKSB7CiAgICAgICAgIC8vIEZJWE1FOiBG
YWN0b3IgdGhlIG1hcmtlciBwYWludGluZyBjb2RlIG91dCBvZiBMZWdhY3lJbmxpbmVUZXh0Qm94
IGFuZCB0ZWFjaCBzaW1wbGUgbGluZSBsYXlvdXQgdG8gdXNlIGl0LgotICAgICAgICBpZiAoYXV0
byogbGluZUxheW91dCA9IExheW91dEludGVncmF0aW9uOjpMaW5lTGF5b3V0Ojpjb250YWluaW5n
KCpyZW5kZXJlcikpCisgICAgICAgIGlmIChhdXRvKiBsaW5lTGF5b3V0ID0gTGF5b3V0QnJpZGdl
OjpMaW5lTGF5b3V0Ojpjb250YWluaW5nKCpyZW5kZXJlcikpCiAgICAgICAgICAgICBsaW5lTGF5
b3V0LT5mbG93KCkuZW5zdXJlTGluZUJveGVzKCk7CiAgICAgfQogI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vUG9zaXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1Bv
c2l0aW9uLmNwcAppbmRleCBhODdlZGE0NDVkNGIuLjY4NmM5MTgyNTVjYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL1Bvc2l0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
UG9zaXRpb24uY3BwCkBAIC0zNyw4ICszNyw4IEBACiAjaW5jbHVkZSAiSFRNTFRhYmxlRWxlbWVu
dC5oIgogI2luY2x1ZGUgIklubGluZUl0ZXJhdG9yLmgiCiAjaW5jbHVkZSAiSW5saW5lUnVuQW5k
T2Zmc2V0LmgiCi0jaW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3IuaCIKLSNp
bmNsdWRlICJMYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yLmgiCisjaW5jbHVkZSAiTGF5b3V0
QnJpZGdlTGluZUl0ZXJhdG9yLmgiCisjaW5jbHVkZSAiTGF5b3V0QnJpZGdlUnVuSXRlcmF0b3Iu
aCIKICNpbmNsdWRlICJMZWdhY3lJbmxpbmVUZXh0Qm94LmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5o
IgogI2luY2x1ZGUgIk5vZGVUcmF2ZXJzYWwuaCIKQEAgLTY5LDExICs2OSwxMSBAQCB1c2luZyBu
YW1lc3BhY2UgSFRNTE5hbWVzOwogCiBzdGF0aWMgYm9vbCBoYXNJbmxpbmVSdW4oUmVuZGVyT2Jq
ZWN0JiByZW5kZXJlcikKIHsKLSAgICBpZiAoaXM8UmVuZGVyQm94PihyZW5kZXJlcikgJiYgTGF5
b3V0SW50ZWdyYXRpb246OnJ1bkZvcihkb3duY2FzdDxSZW5kZXJCb3g+KHJlbmRlcmVyKSkpCisg
ICAgaWYgKGlzPFJlbmRlckJveD4ocmVuZGVyZXIpICYmIExheW91dEJyaWRnZTo6cnVuRm9yKGRv
d25jYXN0PFJlbmRlckJveD4ocmVuZGVyZXIpKSkKICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAg
aWYgKGlzPFJlbmRlclRleHQ+KHJlbmRlcmVyKSAmJiBMYXlvdXRJbnRlZ3JhdGlvbjo6Zmlyc3RU
ZXh0UnVuRm9yKGRvd25jYXN0PFJlbmRlclRleHQ+KHJlbmRlcmVyKSkpCisgICAgaWYgKGlzPFJl
bmRlclRleHQ+KHJlbmRlcmVyKSAmJiBMYXlvdXRCcmlkZ2U6OmZpcnN0VGV4dFJ1bkZvcihkb3du
Y2FzdDxSZW5kZXJUZXh0PihyZW5kZXJlcikpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICBp
ZiAoaXM8UmVuZGVyTGluZUJyZWFrPihyZW5kZXJlcikgJiYgTGF5b3V0SW50ZWdyYXRpb246OnJ1
bkZvcihkb3duY2FzdDxSZW5kZXJMaW5lQnJlYWs+KHJlbmRlcmVyKSkpCisgICAgaWYgKGlzPFJl
bmRlckxpbmVCcmVhaz4ocmVuZGVyZXIpICYmIExheW91dEJyaWRnZTo6cnVuRm9yKGRvd25jYXN0
PFJlbmRlckxpbmVCcmVhaz4ocmVuZGVyZXIpKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAg
cmV0dXJuIGZhbHNlOwogfQpAQCAtNzM5LDcgKzczOSw3IEBAIFBvc2l0aW9uIFBvc2l0aW9uOjp1
cHN0cmVhbShFZGl0aW5nQm91bmRhcnlDcm9zc2luZ1J1bGUgcnVsZSkgY29uc3QKICAgICAgICAg
aWYgKGlzPFJlbmRlclRleHQ+KCpyZW5kZXJlcikpIHsKICAgICAgICAgICAgIGF1dG8mIHRleHRS
ZW5kZXJlciA9IGRvd25jYXN0PFJlbmRlclRleHQ+KCpyZW5kZXJlcik7CiAKLSAgICAgICAgICAg
IGF1dG8gZmlyc3RUZXh0UnVuID0gTGF5b3V0SW50ZWdyYXRpb246OmZpcnN0VGV4dFJ1bkluVGV4
dE9yZGVyRm9yKHRleHRSZW5kZXJlcik7CisgICAgICAgICAgICBhdXRvIGZpcnN0VGV4dFJ1biA9
IExheW91dEJyaWRnZTo6Zmlyc3RUZXh0UnVuSW5UZXh0T3JkZXJGb3IodGV4dFJlbmRlcmVyKTsK
ICAgICAgICAgICAgIGlmICghZmlyc3RUZXh0UnVuKQogICAgICAgICAgICAgICAgIGNvbnRpbnVl
OwogCkBAIC04NDYsNyArODQ2LDcgQEAgUG9zaXRpb24gUG9zaXRpb246OmRvd25zdHJlYW0oRWRp
dGluZ0JvdW5kYXJ5Q3Jvc3NpbmdSdWxlIHJ1bGUpIGNvbnN0CiAgICAgICAgIGlmIChpczxSZW5k
ZXJUZXh0PigqcmVuZGVyZXIpKSB7CiAgICAgICAgICAgICBhdXRvJiB0ZXh0UmVuZGVyZXIgPSBk
b3duY2FzdDxSZW5kZXJUZXh0PigqcmVuZGVyZXIpOwogCi0gICAgICAgICAgICBhdXRvIGZpcnN0
VGV4dFJ1biA9IExheW91dEludGVncmF0aW9uOjpmaXJzdFRleHRSdW5JblRleHRPcmRlckZvcih0
ZXh0UmVuZGVyZXIpOworICAgICAgICAgICAgYXV0byBmaXJzdFRleHRSdW4gPSBMYXlvdXRCcmlk
Z2U6OmZpcnN0VGV4dFJ1bkluVGV4dE9yZGVyRm9yKHRleHRSZW5kZXJlcik7CiAgICAgICAgICAg
ICBpZiAoIWZpcnN0VGV4dFJ1bikKICAgICAgICAgICAgICAgICBjb250aW51ZTsKIApAQCAtMTE1
NSw3ICsxMTU1LDcgQEAgc3RhdGljIGJvb2wgaXNOb25UZXh0TGVhZkNoaWxkKFJlbmRlck9iamVj
dCYgb2JqZWN0KQogICAgIHJldHVybiAhZG93bmNhc3Q8UmVuZGVyRWxlbWVudD4ob2JqZWN0KS5m
aXJzdENoaWxkKCk7CiB9CiAKLXN0YXRpYyBMYXlvdXRJbnRlZ3JhdGlvbjo6VGV4dFJ1bkl0ZXJh
dG9yIHNlYXJjaEFoZWFkRm9yQmV0dGVyTWF0Y2goUmVuZGVyVGV4dCYgcmVuZGVyZXIpCitzdGF0
aWMgTGF5b3V0QnJpZGdlOjpUZXh0UnVuSXRlcmF0b3Igc2VhcmNoQWhlYWRGb3JCZXR0ZXJNYXRj
aChSZW5kZXJUZXh0JiByZW5kZXJlcikKIHsKICAgICBSZW5kZXJCbG9jayogY29udGFpbmVyID0g
cmVuZGVyZXIuY29udGFpbmluZ0Jsb2NrKCk7CiAgICAgUmVuZGVyT2JqZWN0KiBuZXh0ID0gJnJl
bmRlcmVyOwpAQCAtMTE2Nyw3ICsxMTY3LDcgQEAgc3RhdGljIExheW91dEludGVncmF0aW9uOjpU
ZXh0UnVuSXRlcmF0b3Igc2VhcmNoQWhlYWRGb3JCZXR0ZXJNYXRjaChSZW5kZXJUZXh0JgogICAg
ICAgICBpZiAoaXNOb25UZXh0TGVhZkNoaWxkKCpuZXh0KSkKICAgICAgICAgICAgIHJldHVybiB7
IH07CiAgICAgICAgIGlmIChpczxSZW5kZXJUZXh0PigqbmV4dCkpIHsKLSAgICAgICAgICAgIGlm
IChhdXRvIHJ1biA9IExheW91dEludGVncmF0aW9uOjpmaXJzdFRleHRSdW5JblRleHRPcmRlckZv
cihkb3duY2FzdDxSZW5kZXJUZXh0PigqbmV4dCkpKQorICAgICAgICAgICAgaWYgKGF1dG8gcnVu
ID0gTGF5b3V0QnJpZGdlOjpmaXJzdFRleHRSdW5JblRleHRPcmRlckZvcihkb3duY2FzdDxSZW5k
ZXJUZXh0PigqbmV4dCkpKQogICAgICAgICAgICAgICAgIHJldHVybiBydW47CiAgICAgICAgIH0K
ICAgICB9CkBAIC0xMjA1LDE3ICsxMjA1LDE3IEBAIElubGluZVJ1bkFuZE9mZnNldCBQb3NpdGlv
bjo6aW5saW5lUnVuQW5kT2Zmc2V0KEFmZmluaXR5IGFmZmluaXR5LCBUZXh0RGlyZWN0aW9uCiAg
ICAgaWYgKCFyZW5kZXJlcikKICAgICAgICAgcmV0dXJuIHsgeyB9LCBjYXJldE9mZnNldCB9Owog
Ci0gICAgTGF5b3V0SW50ZWdyYXRpb246OlJ1bkl0ZXJhdG9yIHJ1bjsKKyAgICBMYXlvdXRCcmlk
Z2U6OlJ1bkl0ZXJhdG9yIHJ1bjsKIAogICAgIGlmIChyZW5kZXJlci0+aXNCUigpKSB7CiAgICAg
ICAgIGF1dG8mIGxpbmVCcmVha1JlbmRlcmVyID0gZG93bmNhc3Q8UmVuZGVyTGluZUJyZWFrPigq
cmVuZGVyZXIpOwogICAgICAgICBpZiAoIWNhcmV0T2Zmc2V0KQotICAgICAgICAgICAgcnVuID0g
TGF5b3V0SW50ZWdyYXRpb246OnJ1bkZvcihsaW5lQnJlYWtSZW5kZXJlcik7CisgICAgICAgICAg
ICBydW4gPSBMYXlvdXRCcmlkZ2U6OnJ1bkZvcihsaW5lQnJlYWtSZW5kZXJlcik7CiAgICAgfSBl
bHNlIGlmIChpczxSZW5kZXJUZXh0PigqcmVuZGVyZXIpKSB7CiAgICAgICAgIGF1dG8mIHRleHRS
ZW5kZXJlciA9IGRvd25jYXN0PFJlbmRlclRleHQ+KCpyZW5kZXJlcik7CiAKLSAgICAgICAgYXV0
byB0ZXh0UnVuID0gTGF5b3V0SW50ZWdyYXRpb246OmZpcnN0VGV4dFJ1bkZvcih0ZXh0UmVuZGVy
ZXIpOwotICAgICAgICBMYXlvdXRJbnRlZ3JhdGlvbjo6VGV4dFJ1bkl0ZXJhdG9yIGNhbmRpZGF0
ZTsKKyAgICAgICAgYXV0byB0ZXh0UnVuID0gTGF5b3V0QnJpZGdlOjpmaXJzdFRleHRSdW5Gb3Io
dGV4dFJlbmRlcmVyKTsKKyAgICAgICAgTGF5b3V0QnJpZGdlOjpUZXh0UnVuSXRlcmF0b3IgY2Fu
ZGlkYXRlOwogCiAgICAgICAgIGZvciAoOyB0ZXh0UnVuOyArK3RleHRSdW4pIHsKICAgICAgICAg
ICAgIHVuc2lnbmVkIGNhcmV0TWluT2Zmc2V0ID0gdGV4dFJ1bi0+bWluaW11bUNhcmV0T2Zmc2V0
KCk7CkBAIC0xMjY1LDcgKzEyNjUsNyBAQCBJbmxpbmVSdW5BbmRPZmZzZXQgUG9zaXRpb246Omlu
bGluZVJ1bkFuZE9mZnNldChBZmZpbml0eSBhZmZpbml0eSwgVGV4dERpcmVjdGlvbgogICAgICAg
ICAgICAgcmV0dXJuIGVxdWl2YWxlbnQuaW5saW5lUnVuQW5kT2Zmc2V0KEFmZmluaXR5OjpVcHN0
cmVhbSwgcHJpbWFyeURpcmVjdGlvbik7CiAgICAgICAgIH0KICAgICAgICAgaWYgKGlzPFJlbmRl
ckJveD4oKnJlbmRlcmVyKSkgewotICAgICAgICAgICAgcnVuID0gTGF5b3V0SW50ZWdyYXRpb246
OnJ1bkZvcihkb3duY2FzdDxSZW5kZXJCb3g+KCpyZW5kZXJlcikpOworICAgICAgICAgICAgcnVu
ID0gTGF5b3V0QnJpZGdlOjpydW5Gb3IoZG93bmNhc3Q8UmVuZGVyQm94PigqcmVuZGVyZXIpKTsK
ICAgICAgICAgICAgIGlmIChydW4gJiYgY2FyZXRPZmZzZXQgPiBydW4tPm1pbmltdW1DYXJldE9m
ZnNldCgpICYmIGNhcmV0T2Zmc2V0IDwgcnVuLT5tYXhpbXVtQ2FyZXRPZmZzZXQoKSkKICAgICAg
ICAgICAgICAgICByZXR1cm4geyBydW4sIGNhcmV0T2Zmc2V0IH07CiAgICAgICAgIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQ29tcG9zaXRlRWRpdENvbW1hbmQuY3BwIGIv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9Db21wb3NpdGVFZGl0Q29tbWFuZC5jcHAKaW5kZXggM2Zk
MDRjN2UzMWZhLi40NTlkODI2ZTRhNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvQ29tcG9zaXRlRWRpdENvbW1hbmQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
Q29tcG9zaXRlRWRpdENvbW1hbmQuY3BwCkBAIC01Miw3ICs1Miw3IEBACiAjaW5jbHVkZSAiSW5z
ZXJ0Tm9kZUJlZm9yZUNvbW1hbmQuaCIKICNpbmNsdWRlICJJbnNlcnRQYXJhZ3JhcGhTZXBhcmF0
b3JDb21tYW5kLmgiCiAjaW5jbHVkZSAiSW5zZXJ0VGV4dENvbW1hbmQuaCIKLSNpbmNsdWRlICJM
YXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yLmgiCisjaW5jbHVkZSAiTGF5b3V0QnJpZGdlUnVu
SXRlcmF0b3IuaCIKICNpbmNsdWRlICJMZWdhY3lJbmxpbmVUZXh0Qm94LmgiCiAjaW5jbHVkZSAi
TWVyZ2VJZGVudGljYWxFbGVtZW50c0NvbW1hbmQuaCIKICNpbmNsdWRlICJOb2RlVHJhdmVyc2Fs
LmgiCkBAIC0xMDE2LDcgKzEwMTYsNyBAQCB2b2lkIENvbXBvc2l0ZUVkaXRDb21tYW5kOjpkZWxl
dGVJbnNpZ25pZmljYW50VGV4dChUZXh0JiB0ZXh0Tm9kZSwgdW5zaWduZWQgc3RhcgogICAgICAg
ICBpZiAoIXRleHRSZW5kZXJlcikKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICBhdXRv
IHJ1biA9IExheW91dEludGVncmF0aW9uOjpmaXJzdFRleHRSdW5JblRleHRPcmRlckZvcigqdGV4
dFJlbmRlcmVyKTsKKyAgICAgICAgYXV0byBydW4gPSBMYXlvdXRCcmlkZ2U6OmZpcnN0VGV4dFJ1
bkluVGV4dE9yZGVyRm9yKCp0ZXh0UmVuZGVyZXIpOwogICAgICAgICBpZiAoIXJ1bikgewogICAg
ICAgICAgICAgd2hvbGVUZXh0Tm9kZUlzRW1wdHkgPSB0cnVlOwogICAgICAgICAgICAgcmV0dXJu
OwpAQCAtMTAyNyw3ICsxMDI3LDcgQEAgdm9pZCBDb21wb3NpdGVFZGl0Q29tbWFuZDo6ZGVsZXRl
SW5zaWduaWZpY2FudFRleHQoVGV4dCYgdGV4dE5vZGUsIHVuc2lnbmVkIHN0YXIKICAgICAgICAg
ICAgIHJldHVybjsKIAogICAgICAgICB1bnNpZ25lZCByZW1vdmVkID0gMDsKLSAgICAgICAgTGF5
b3V0SW50ZWdyYXRpb246OlRleHRSdW5JdGVyYXRvciBwcmV2aW91c1J1bjsKKyAgICAgICAgTGF5
b3V0QnJpZGdlOjpUZXh0UnVuSXRlcmF0b3IgcHJldmlvdXNSdW47CiAKICAgICAgICAgLy8gVGhp
cyBsb29wIHN0cnVjdHVyZSB3b3JrcyB0byBwcm9jZXNzIGFsbCBnYXBzIHByZWNlZGluZyBhIGJv
eCwKICAgICAgICAgLy8gYW5kIGFsc28gd2lsbCBsb29rIGF0IHRoZSBnYXAgYWZ0ZXIgdGhlIGxh
c3QgYm94LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwIGIv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCmluZGV4IDg2MzcxNjM3YTE0Yy4uYzJk
ZjlkYzZjNWQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCkBAIC0xMzQsNyArMTM0LDcg
QEAKICNlbmRpZgogCiAjaWYgRU5BQkxFKExBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpCi0jaW5j
bHVkZSAiTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0LmgiCisjaW5jbHVkZSAiTGF5b3V0QnJp
ZGdlTGluZUxheW91dC5oIgogI2VuZGlmCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTIxNTUs
NyArMjE1NSw3IEBAIHZvaWQgRWRpdG9yOjpzZXRDb21wb3NpdGlvbihjb25zdCBTdHJpbmcmIHRl
eHQsIGNvbnN0IFZlY3RvcjxDb21wb3NpdGlvblVuZGVybGluCiAKICAgICAgICAgICAgIGlmIChh
dXRvIHJlbmRlcmVyID0gYmFzZU5vZGUtPnJlbmRlcmVyKCkpIHsKICNpZiBFTkFCTEUoTEFZT1VU
X0ZPUk1BVFRJTkdfQ09OVEVYVCkKLSAgICAgICAgICAgICAgICBpZiAoYXV0byBsaW5lTGF5b3V0
ID0gTGF5b3V0SW50ZWdyYXRpb246OkxpbmVMYXlvdXQ6OmNvbnRhaW5pbmcoKnJlbmRlcmVyKSkK
KyAgICAgICAgICAgICAgICBpZiAoYXV0byBsaW5lTGF5b3V0ID0gTGF5b3V0QnJpZGdlOjpMaW5l
TGF5b3V0Ojpjb250YWluaW5nKCpyZW5kZXJlcikpCiAgICAgICAgICAgICAgICAgICAgIGxpbmVM
YXlvdXQtPmZsb3coKS5lbnN1cmVMaW5lQm94ZXMoKTsKICNlbmRpZgogICAgICAgICAgICAgICAg
IHJlbmRlcmVyLT5yZXBhaW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L0lubGluZVJ1bkFuZE9mZnNldC5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9JbmxpbmVSdW5B
bmRPZmZzZXQuaAppbmRleCBkMzRlNDkyN2NhNGUuLmM5ZjIzNzAwMGM4NiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9JbmxpbmVSdW5BbmRPZmZzZXQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL0lubGluZVJ1bkFuZE9mZnNldC5oCkBAIC0yNSwxMiArMjUsMTIgQEAK
IAogI3ByYWdtYSBvbmNlCiAKLSNpbmNsdWRlICJMYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9y
LmgiCisjaW5jbHVkZSAiTGF5b3V0QnJpZGdlUnVuSXRlcmF0b3IuaCIKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBzdHJ1Y3QgSW5saW5lUnVuQW5kT2Zmc2V0IHsKLSAgICBMYXlvdXRJbnRlZ3Jh
dGlvbjo6UnVuSXRlcmF0b3IgcnVuIHsgfTsKKyAgICBMYXlvdXRCcmlkZ2U6OlJ1bkl0ZXJhdG9y
IHJ1biB7IH07CiAgICAgdW5zaWduZWQgb2Zmc2V0IHsgMCB9OwogfTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9SZW5kZXJlZFBvc2l0aW9uLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvUmVuZGVyZWRQb3NpdGlvbi5jcHAKaW5kZXggNDZlMzAyOTA0ZjJiLi5iZDQ5
MjRiMjkxYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvUmVuZGVyZWRQb3Np
dGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9SZW5kZXJlZFBvc2l0aW9uLmNw
cApAQCAtNjksNyArNjksNyBAQCBSZW5kZXJlZFBvc2l0aW9uOjpSZW5kZXJlZFBvc2l0aW9uKCkK
IHsKIH0KIAotUmVuZGVyZWRQb3NpdGlvbjo6UmVuZGVyZWRQb3NpdGlvbihjb25zdCBSZW5kZXJP
YmplY3QqIHJlbmRlcmVyLCBMYXlvdXRJbnRlZ3JhdGlvbjo6UnVuSXRlcmF0b3IgcnVuLCB1bnNp
Z25lZCBvZmZzZXQpCitSZW5kZXJlZFBvc2l0aW9uOjpSZW5kZXJlZFBvc2l0aW9uKGNvbnN0IFJl
bmRlck9iamVjdCogcmVuZGVyZXIsIExheW91dEJyaWRnZTo6UnVuSXRlcmF0b3IgcnVuLCB1bnNp
Z25lZCBvZmZzZXQpCiAgICAgOiBtX3JlbmRlcmVyKHJlbmRlcmVyKQogICAgICwgbV9ydW4ocnVu
KQogICAgICwgbV9vZmZzZXQob2Zmc2V0KQpAQCAtOTUsMTQgKzk1LDE0IEBAIFJlbmRlcmVkUG9z
aXRpb246OlJlbmRlcmVkUG9zaXRpb24oY29uc3QgUG9zaXRpb24mIHBvc2l0aW9uLCBBZmZpbml0
eSBhZmZpbml0eSkKICAgICAgICAgbV9yZW5kZXJlciA9IHJlbmRlcmVyRnJvbVBvc2l0aW9uKHBv
c2l0aW9uKTsKIH0KIAotTGF5b3V0SW50ZWdyYXRpb246OlJ1bkl0ZXJhdG9yIFJlbmRlcmVkUG9z
aXRpb246OnByZXZpb3VzTGVhZk9uTGluZSgpIGNvbnN0CitMYXlvdXRCcmlkZ2U6OlJ1bkl0ZXJh
dG9yIFJlbmRlcmVkUG9zaXRpb246OnByZXZpb3VzTGVhZk9uTGluZSgpIGNvbnN0CiB7CiAgICAg
aWYgKCFtX3ByZXZpb3VzTGVhZk9uTGluZSkKICAgICAgICAgbV9wcmV2aW91c0xlYWZPbkxpbmUg
PSBtX3J1bi5wcmV2aW91c09uTGluZUlnbm9yaW5nTGluZUJyZWFrKCk7CiAgICAgcmV0dXJuICpt
X3ByZXZpb3VzTGVhZk9uTGluZTsKIH0KIAotTGF5b3V0SW50ZWdyYXRpb246OlJ1bkl0ZXJhdG9y
IFJlbmRlcmVkUG9zaXRpb246Om5leHRMZWFmT25MaW5lKCkgY29uc3QKK0xheW91dEJyaWRnZTo6
UnVuSXRlcmF0b3IgUmVuZGVyZWRQb3NpdGlvbjo6bmV4dExlYWZPbkxpbmUoKSBjb25zdAogewog
ICAgIGlmICghbV9uZXh0TGVhZk9uTGluZSkKICAgICAgICAgbV9uZXh0TGVhZk9uTGluZSA9IG1f
cnVuLm5leHRPbkxpbmVJZ25vcmluZ0xpbmVCcmVhaygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9SZW5kZXJlZFBvc2l0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L1JlbmRlcmVkUG9zaXRpb24uaAppbmRleCA1YzA4N2UwMTEwZGYuLjRhMTJlY2RlMmU1MyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9SZW5kZXJlZFBvc2l0aW9uLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9SZW5kZXJlZFBvc2l0aW9uLmgKQEAgLTMxLDggKzMxLDgg
QEAKICNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSAiQ2FyZXRSZWN0Q29tcHV0YXRpb24uaCIKLSNp
bmNsdWRlICJMYXlvdXRJbnRlZ3JhdGlvbkxpbmVJdGVyYXRvci5oIgotI2luY2x1ZGUgIkxheW91
dEludGVncmF0aW9uUnVuSXRlcmF0b3IuaCIKKyNpbmNsdWRlICJMYXlvdXRCcmlkZ2VMaW5lSXRl
cmF0b3IuaCIKKyNpbmNsdWRlICJMYXlvdXRCcmlkZ2VSdW5JdGVyYXRvci5oIgogI2luY2x1ZGUg
IlRleHRBZmZpbml0eS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01MCw3ICs1MCw3IEBA
IHB1YmxpYzoKICAgICBib29sIGlzRXF1aXZhbGVudChjb25zdCBSZW5kZXJlZFBvc2l0aW9uJikg
Y29uc3Q7CiAKICAgICBib29sIGlzTnVsbCgpIGNvbnN0IHsgcmV0dXJuICFtX3JlbmRlcmVyOyB9
Ci0gICAgTGF5b3V0SW50ZWdyYXRpb246OkxpbmVJdGVyYXRvciBsaW5lKCkgY29uc3QgeyByZXR1
cm4gbV9ydW4gPyBtX3J1bi5saW5lKCkgOiBMYXlvdXRJbnRlZ3JhdGlvbjo6TGluZUl0ZXJhdG9y
KCk7IH0KKyAgICBMYXlvdXRCcmlkZ2U6OkxpbmVJdGVyYXRvciBsaW5lKCkgY29uc3QgeyByZXR1
cm4gbV9ydW4gPyBtX3J1bi5saW5lKCkgOiBMYXlvdXRCcmlkZ2U6OkxpbmVJdGVyYXRvcigpOyB9
CiAKICAgICB1bnNpZ25lZCBjaGFyIGJpZGlMZXZlbE9uTGVmdCgpIGNvbnN0OwogICAgIHVuc2ln
bmVkIGNoYXIgYmlkaUxldmVsT25SaWdodCgpIGNvbnN0OwpAQCAtNzIsMjEgKzcyLDIxIEBAIHB1
YmxpYzoKIAogcHJpdmF0ZToKICAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgUmVuZGVyZWRQb3Np
dGlvbiYpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9Ci0gICAgZXhwbGljaXQgUmVuZGVyZWRQb3Np
dGlvbihjb25zdCBSZW5kZXJPYmplY3QqLCBMYXlvdXRJbnRlZ3JhdGlvbjo6UnVuSXRlcmF0b3Is
IHVuc2lnbmVkIG9mZnNldCk7CisgICAgZXhwbGljaXQgUmVuZGVyZWRQb3NpdGlvbihjb25zdCBS
ZW5kZXJPYmplY3QqLCBMYXlvdXRCcmlkZ2U6OlJ1bkl0ZXJhdG9yLCB1bnNpZ25lZCBvZmZzZXQp
OwogCi0gICAgTGF5b3V0SW50ZWdyYXRpb246OlJ1bkl0ZXJhdG9yIHByZXZpb3VzTGVhZk9uTGlu
ZSgpIGNvbnN0OwotICAgIExheW91dEludGVncmF0aW9uOjpSdW5JdGVyYXRvciBuZXh0TGVhZk9u
TGluZSgpIGNvbnN0OworICAgIExheW91dEJyaWRnZTo6UnVuSXRlcmF0b3IgcHJldmlvdXNMZWFm
T25MaW5lKCkgY29uc3Q7CisgICAgTGF5b3V0QnJpZGdlOjpSdW5JdGVyYXRvciBuZXh0TGVhZk9u
TGluZSgpIGNvbnN0OwogICAgIGJvb2wgYXRMZWZ0bW9zdE9mZnNldEluQm94KCkgY29uc3QgeyBy
ZXR1cm4gbV9ydW4gJiYgbV9vZmZzZXQgPT0gbV9ydW4tPmxlZnRtb3N0Q2FyZXRPZmZzZXQoKTsg
fQogICAgIGJvb2wgYXRSaWdodG1vc3RPZmZzZXRJbkJveCgpIGNvbnN0IHsgcmV0dXJuIG1fcnVu
ICYmIG1fb2Zmc2V0ID09IG1fcnVuLT5yaWdodG1vc3RDYXJldE9mZnNldCgpOyB9CiAgICAgYm9v
bCBhdExlZnRCb3VuZGFyeU9mQmlkaVJ1bihTaG91bGRNYXRjaEJpZGlMZXZlbCwgdW5zaWduZWQg
Y2hhciBiaWRpTGV2ZWxPZlJ1bikgY29uc3Q7CiAgICAgYm9vbCBhdFJpZ2h0Qm91bmRhcnlPZkJp
ZGlSdW4oU2hvdWxkTWF0Y2hCaWRpTGV2ZWwsIHVuc2lnbmVkIGNoYXIgYmlkaUxldmVsT2ZSdW4p
IGNvbnN0OwogCiAgICAgY29uc3QgUmVuZGVyT2JqZWN0KiBtX3JlbmRlcmVyIHsgbnVsbHB0ciB9
OwotICAgIExheW91dEludGVncmF0aW9uOjpSdW5JdGVyYXRvciBtX3J1bjsKKyAgICBMYXlvdXRC
cmlkZ2U6OlJ1bkl0ZXJhdG9yIG1fcnVuOwogICAgIHVuc2lnbmVkIG1fb2Zmc2V0IHsgMCB9Owog
Ci0gICAgbXV0YWJsZSBzdGQ6Om9wdGlvbmFsPExheW91dEludGVncmF0aW9uOjpSdW5JdGVyYXRv
cj4gbV9wcmV2aW91c0xlYWZPbkxpbmU7Ci0gICAgbXV0YWJsZSBzdGQ6Om9wdGlvbmFsPExheW91
dEludGVncmF0aW9uOjpSdW5JdGVyYXRvcj4gbV9uZXh0TGVhZk9uTGluZTsKKyAgICBtdXRhYmxl
IHN0ZDo6b3B0aW9uYWw8TGF5b3V0QnJpZGdlOjpSdW5JdGVyYXRvcj4gbV9wcmV2aW91c0xlYWZP
bkxpbmU7CisgICAgbXV0YWJsZSBzdGQ6Om9wdGlvbmFsPExheW91dEJyaWRnZTo6UnVuSXRlcmF0
b3I+IG1fbmV4dExlYWZPbkxpbmU7CiB9OwogCiBib29sIHJlbmRlck9iamVjdENvbnRhaW5zUG9z
aXRpb24oY29uc3QgUmVuZGVyT2JqZWN0KiwgY29uc3QgUG9zaXRpb24mKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcAppbmRleCBjMmZhYTk0MjY0ZWIuLjMyMGJiNzMwMjVi
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcApAQCAtNTgwLDcgKzU4
MCw3IEBAIGJvb2wgVGV4dEl0ZXJhdG9yOjpoYW5kbGVUZXh0Tm9kZSgpCiAgICAgICAgIHJldHVy
biB0cnVlOwogICAgIH0KIAotICAgIG1fdGV4dFJ1biA9IExheW91dEludGVncmF0aW9uOjpmaXJz
dFRleHRSdW5JblRleHRPcmRlckZvcihyZW5kZXJlcik7CisgICAgbV90ZXh0UnVuID0gTGF5b3V0
QnJpZGdlOjpmaXJzdFRleHRSdW5JblRleHRPcmRlckZvcihyZW5kZXJlcik7CiAKICAgICBib29s
IHNob3VsZEhhbmRsZUZpcnN0TGV0dGVyID0gIW1faGFuZGxlZEZpcnN0TGV0dGVyICYmIGlzPFJl
bmRlclRleHRGcmFnbWVudD4ocmVuZGVyZXIpICYmICFtX29mZnNldDsKICAgICBpZiAoc2hvdWxk
SGFuZGxlRmlyc3RMZXR0ZXIpCkBAIC02MDcsNyArNjA3LDcgQEAgdm9pZCBUZXh0SXRlcmF0b3I6
OmhhbmRsZVRleHRSdW4oKQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgYXV0byBmaXJz
dFRleHRSdW4gPSBMYXlvdXRJbnRlZ3JhdGlvbjo6Zmlyc3RUZXh0UnVuSW5UZXh0T3JkZXJGb3Io
cmVuZGVyZXIpOworICAgIGF1dG8gZmlyc3RUZXh0UnVuID0gTGF5b3V0QnJpZGdlOjpmaXJzdFRl
eHRSdW5JblRleHRPcmRlckZvcihyZW5kZXJlcik7CiAKICAgICBTdHJpbmcgcmVuZGVyZXJUZXh0
ID0gcmVuZGVyZXIudGV4dCgpOwogICAgIHVuc2lnbmVkIHN0YXJ0ID0gbV9vZmZzZXQ7CkBAIC03
MDEsNyArNzAxLDcgQEAgdm9pZCBUZXh0SXRlcmF0b3I6OmhhbmRsZVRleHROb2RlRmlyc3RMZXR0
ZXIoUmVuZGVyVGV4dEZyYWdtZW50JiByZW5kZXJlcikKICAgICAgICAgaWYgKGF1dG8qIGZpcnN0
TGV0dGVyVGV4dCA9IGZpcnN0UmVuZGVyVGV4dEluRmlyc3RMZXR0ZXIoZmlyc3RMZXR0ZXIpKSB7
CiAgICAgICAgICAgICBtX2hhbmRsZWRGaXJzdExldHRlciA9IHRydWU7CiAgICAgICAgICAgICBt
X3JlbWFpbmluZ1RleHRSdW4gPSBtX3RleHRSdW47Ci0gICAgICAgICAgICBtX3RleHRSdW4gPSBM
YXlvdXRJbnRlZ3JhdGlvbjo6Zmlyc3RUZXh0UnVuSW5UZXh0T3JkZXJGb3IoKmZpcnN0TGV0dGVy
VGV4dCk7CisgICAgICAgICAgICBtX3RleHRSdW4gPSBMYXlvdXRCcmlkZ2U6OmZpcnN0VGV4dFJ1
bkluVGV4dE9yZGVyRm9yKCpmaXJzdExldHRlclRleHQpOwogICAgICAgICAgICAgbV9maXJzdExl
dHRlclRleHQgPSBmaXJzdExldHRlclRleHQ7CiAgICAgICAgIH0KICAgICB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5oIGIvU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9UZXh0SXRlcmF0b3IuaAppbmRleCBjNzE2MjI1Y2YwZDIuLjBjMjZlNDBlZjk3MCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5oCkBAIC0yNyw3ICsyNyw3IEBACiAK
ICNpbmNsdWRlICJDaGFyYWN0ZXJSYW5nZS5oIgogI2luY2x1ZGUgIkZpbmRPcHRpb25zLmgiCi0j
aW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvci5oIgorI2luY2x1ZGUgIkxheW91
dEJyaWRnZVJ1bkl0ZXJhdG9yLmgiCiAjaW5jbHVkZSAiU2ltcGxlUmFuZ2UuaCIKICNpbmNsdWRl
ICJUZXh0SXRlcmF0b3JCZWhhdmlvci5oIgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTE0
OSwxMCArMTQ5LDEwIEBAIHByaXZhdGU6CiAKICAgICAvLyBVc2VkIHdoZW4gdGhlcmUgaXMgc3Rp
bGwgc29tZSBwZW5kaW5nIHRleHQgZnJvbSB0aGUgY3VycmVudCBub2RlOyB3aGVuIHRoZXNlIGFy
ZSBmYWxzZSBhbmQgbnVsbCwgd2UgZ28gYmFjayB0byBub3JtYWwgaXRlcmF0aW5nLgogICAgIE5v
ZGUqIG1fbm9kZUZvckFkZGl0aW9uYWxOZXdsaW5lIHsgbnVsbHB0ciB9OwotICAgIExheW91dElu
dGVncmF0aW9uOjpUZXh0UnVuSXRlcmF0b3IgbV90ZXh0UnVuOworICAgIExheW91dEJyaWRnZTo6
VGV4dFJ1bkl0ZXJhdG9yIG1fdGV4dFJ1bjsKIAogICAgIC8vIFVzZWQgd2hlbiBpdGVyYXRpbmcg
b3ZlciA6Zmlyc3QtbGV0dGVyIHRleHQgdG8gc2F2ZSBwb2ludGVyIHRvIHJlbWFpbmluZyB0ZXh0
IGJveC4KLSAgICBMYXlvdXRJbnRlZ3JhdGlvbjo6VGV4dFJ1bkl0ZXJhdG9yIG1fcmVtYWluaW5n
VGV4dFJ1bjsKKyAgICBMYXlvdXRCcmlkZ2U6OlRleHRSdW5JdGVyYXRvciBtX3JlbWFpbmluZ1Rl
eHRSdW47CiAKICAgICAvLyBVc2VkIHRvIHBvaW50IHRvIFJlbmRlclRleHQgb2JqZWN0IGZvciA6
Zmlyc3QtbGV0dGVyLgogICAgIFJlbmRlclRleHQqIG1fZmlyc3RMZXR0ZXJUZXh0IHsgbnVsbHB0
ciB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9WaXNpYmxlUG9zaXRpb24u
Y3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9WaXNpYmxlUG9zaXRpb24uY3BwCmluZGV4IDM2
MGY1MTdiOGYzMi4uM2IxNGE5MjQxNGJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL1Zpc2libGVQb3NpdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9WaXNp
YmxlUG9zaXRpb24uY3BwCkBAIC0zNiw4ICszNiw4IEBACiAjaW5jbHVkZSAiSFRNTEh0bWxFbGVt
ZW50LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiSW5saW5lUnVuQW5kT2Zm
c2V0LmgiCi0jaW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3IuaCIKLSNpbmNs
dWRlICJMYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yLmgiCisjaW5jbHVkZSAiTGF5b3V0QnJp
ZGdlTGluZUl0ZXJhdG9yLmgiCisjaW5jbHVkZSAiTGF5b3V0QnJpZGdlUnVuSXRlcmF0b3IuaCIK
ICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiUmFuZ2UuaCIKICNpbmNsdWRlICJSZW5k
ZXJCbG9ja0Zsb3cuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVmlzaWJs
ZVVuaXRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVVuaXRzLmNwcAppbmRl
eCA4MjFkNDNkYmQ3ZjEuLjQ1ZjRhNWY2ZjU5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9WaXNpYmxlVW5pdHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVmlz
aWJsZVVuaXRzLmNwcApAQCAtMzIsOCArMzIsOCBAQAogI2luY2x1ZGUgIkhUTUxFbGVtZW50Lmgi
CiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiSW5saW5lUnVuQW5kT2Zmc2V0Lmgi
Ci0jaW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3IuaCIKLSNpbmNsdWRlICJM
YXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yLmgiCisjaW5jbHVkZSAiTGF5b3V0QnJpZGdlTGlu
ZUl0ZXJhdG9yLmgiCisjaW5jbHVkZSAiTGF5b3V0QnJpZGdlUnVuSXRlcmF0b3IuaCIKICNpbmNs
dWRlICJOb2RlVHJhdmVyc2FsLmgiCiAjaW5jbHVkZSAiUmFuZ2UuaCIKICNpbmNsdWRlICJSZW5k
ZXJCbG9ja0Zsb3cuaCIKQEAgLTEyNCwxMiArMTI0LDEyIEBAIHN0YXRpYyBQb3NpdGlvbiBuZXh0
TGluZUNhbmRpZGF0ZVBvc2l0aW9uKE5vZGUqIG5vZGUsIGNvbnN0IFZpc2libGVQb3NpdGlvbiYg
dmlzCiAgICAgcmV0dXJuIFBvc2l0aW9uKCk7CiB9CiAKLXN0YXRpYyBib29sIGlzVGV4dE9yTGlu
ZUJyZWFrUnVuKExheW91dEludGVncmF0aW9uOjpSdW5JdGVyYXRvciBydW4pCitzdGF0aWMgYm9v
bCBpc1RleHRPckxpbmVCcmVha1J1bihMYXlvdXRCcmlkZ2U6OlJ1bkl0ZXJhdG9yIHJ1bikKIHsK
ICAgICByZXR1cm4gcnVuICYmIChydW4tPmlzVGV4dCgpIHx8IHJ1bi0+cmVuZGVyZXIoKS5pc0JS
KCkpOwogfQogCi1zdGF0aWMgTGF5b3V0SW50ZWdyYXRpb246OlJ1bkl0ZXJhdG9yIHByZXZpb3Vz
VGV4dE9yTGluZUJyZWFrUnVuKExheW91dEludGVncmF0aW9uOjpSdW5JdGVyYXRvciBydW4pCitz
dGF0aWMgTGF5b3V0QnJpZGdlOjpSdW5JdGVyYXRvciBwcmV2aW91c1RleHRPckxpbmVCcmVha1J1
bihMYXlvdXRCcmlkZ2U6OlJ1bkl0ZXJhdG9yIHJ1bikKIHsKICAgICB3aGlsZSAocnVuKSB7CiAg
ICAgICAgIHJ1bi50cmF2ZXJzZVByZXZpb3VzT25MaW5lSW5Mb2dpY2FsT3JkZXIoKTsKQEAgLTEz
OSw3ICsxMzksNyBAQCBzdGF0aWMgTGF5b3V0SW50ZWdyYXRpb246OlJ1bkl0ZXJhdG9yIHByZXZp
b3VzVGV4dE9yTGluZUJyZWFrUnVuKExheW91dEludGVncmF0aQogICAgIHJldHVybiB7IH07CiB9
CiAKLXN0YXRpYyBMYXlvdXRJbnRlZ3JhdGlvbjo6UnVuSXRlcmF0b3IgbmV4dFRleHRPckxpbmVC
cmVha1J1bihMYXlvdXRJbnRlZ3JhdGlvbjo6UnVuSXRlcmF0b3IgcnVuKQorc3RhdGljIExheW91
dEJyaWRnZTo6UnVuSXRlcmF0b3IgbmV4dFRleHRPckxpbmVCcmVha1J1bihMYXlvdXRCcmlkZ2U6
OlJ1bkl0ZXJhdG9yIHJ1bikKIHsKICAgICB3aGlsZSAocnVuKSB7CiAgICAgICAgIHJ1bi50cmF2
ZXJzZU5leHRPbkxpbmVJbkxvZ2ljYWxPcmRlcigpOwpAQCAtMTQ5LDcgKzE0OSw3IEBAIHN0YXRp
YyBMYXlvdXRJbnRlZ3JhdGlvbjo6UnVuSXRlcmF0b3IgbmV4dFRleHRPckxpbmVCcmVha1J1bihM
YXlvdXRJbnRlZ3JhdGlvbjo6CiAgICAgcmV0dXJuIHsgfTsKIH0KIAotc3RhdGljIExheW91dElu
dGVncmF0aW9uOjpSdW5JdGVyYXRvciBzdGFydFRleHRPckxpbmVCcmVha1J1bihMYXlvdXRJbnRl
Z3JhdGlvbjo6TGluZUl0ZXJhdG9yIGxpbmUpCitzdGF0aWMgTGF5b3V0QnJpZGdlOjpSdW5JdGVy
YXRvciBzdGFydFRleHRPckxpbmVCcmVha1J1bihMYXlvdXRCcmlkZ2U6OkxpbmVJdGVyYXRvciBs
aW5lKQogewogICAgIGF1dG8gcnVuID0gbGluZS5sb2dpY2FsU3RhcnRSdW4oKTsKICAgICBpZiAo
aXNUZXh0T3JMaW5lQnJlYWtSdW4ocnVuKSkKQEAgLTE1Nyw3ICsxNTcsNyBAQCBzdGF0aWMgTGF5
b3V0SW50ZWdyYXRpb246OlJ1bkl0ZXJhdG9yIHN0YXJ0VGV4dE9yTGluZUJyZWFrUnVuKExheW91
dEludGVncmF0aW9uOgogICAgIHJldHVybiBuZXh0VGV4dE9yTGluZUJyZWFrUnVuKHJ1bik7CiB9
CiAKLXN0YXRpYyBMYXlvdXRJbnRlZ3JhdGlvbjo6UnVuSXRlcmF0b3IgZW5kVGV4dE9yTGluZUJy
ZWFrUnVuKExheW91dEludGVncmF0aW9uOjpMaW5lSXRlcmF0b3IgbGluZSkKK3N0YXRpYyBMYXlv
dXRCcmlkZ2U6OlJ1bkl0ZXJhdG9yIGVuZFRleHRPckxpbmVCcmVha1J1bihMYXlvdXRCcmlkZ2U6
OkxpbmVJdGVyYXRvciBsaW5lKQogewogICAgIGF1dG8gcnVuID0gbGluZS5sb2dpY2FsRW5kUnVu
KCk7CiAgICAgaWYgKGlzVGV4dE9yTGluZUJyZWFrUnVuKHJ1bikpCkBAIC0xNjUsNyArMTY1LDcg
QEAgc3RhdGljIExheW91dEludGVncmF0aW9uOjpSdW5JdGVyYXRvciBlbmRUZXh0T3JMaW5lQnJl
YWtSdW4oTGF5b3V0SW50ZWdyYXRpb246OkwKICAgICByZXR1cm4gcHJldmlvdXNUZXh0T3JMaW5l
QnJlYWtSdW4ocnVuKTsKIH0KIAotc3RhdGljIGNvbnN0IExheW91dEludGVncmF0aW9uOjpSdW5J
dGVyYXRvciBsb2dpY2FsbHlQcmV2aW91c1J1bihjb25zdCBWaXNpYmxlUG9zaXRpb24mIHZpc2li
bGVQb3NpdGlvbiwgTGF5b3V0SW50ZWdyYXRpb246OlJ1bkl0ZXJhdG9yIHN0YXJ0UnVuLCBib29s
JiBwcmV2aW91c0JveEluRGlmZmVyZW50TGluZSkKK3N0YXRpYyBjb25zdCBMYXlvdXRCcmlkZ2U6
OlJ1bkl0ZXJhdG9yIGxvZ2ljYWxseVByZXZpb3VzUnVuKGNvbnN0IFZpc2libGVQb3NpdGlvbiYg
dmlzaWJsZVBvc2l0aW9uLCBMYXlvdXRCcmlkZ2U6OlJ1bkl0ZXJhdG9yIHN0YXJ0UnVuLCBib29s
JiBwcmV2aW91c0JveEluRGlmZmVyZW50TGluZSkKIHsKICAgICBpZiAoYXV0byBwcmV2aW91c1J1
biA9IHByZXZpb3VzVGV4dE9yTGluZUJyZWFrUnVuKHN0YXJ0UnVuKSkKICAgICAgICAgcmV0dXJu
IHByZXZpb3VzUnVuOwpAQCAtMjAzLDcgKzIwMyw3IEBAIHN0YXRpYyBjb25zdCBMYXlvdXRJbnRl
Z3JhdGlvbjo6UnVuSXRlcmF0b3IgbG9naWNhbGx5UHJldmlvdXNSdW4oY29uc3QgVmlzaWJsZVBv
CiB9CiAKIAotc3RhdGljIGNvbnN0IExheW91dEludGVncmF0aW9uOjpSdW5JdGVyYXRvciBsb2dp
Y2FsbHlOZXh0UnVuKGNvbnN0IFZpc2libGVQb3NpdGlvbiYgdmlzaWJsZVBvc2l0aW9uLCBMYXlv
dXRJbnRlZ3JhdGlvbjo6UnVuSXRlcmF0b3Igc3RhcnRSdW4sIGJvb2wmIG5leHRCb3hJbkRpZmZl
cmVudExpbmUpCitzdGF0aWMgY29uc3QgTGF5b3V0QnJpZGdlOjpSdW5JdGVyYXRvciBsb2dpY2Fs
bHlOZXh0UnVuKGNvbnN0IFZpc2libGVQb3NpdGlvbiYgdmlzaWJsZVBvc2l0aW9uLCBMYXlvdXRC
cmlkZ2U6OlJ1bkl0ZXJhdG9yIHN0YXJ0UnVuLCBib29sJiBuZXh0Qm94SW5EaWZmZXJlbnRMaW5l
KQogewogICAgIGlmIChhdXRvIG5leHRSdW4gPSBuZXh0VGV4dE9yTGluZUJyZWFrUnVuKHN0YXJ0
UnVuKSkKICAgICAgICAgcmV0dXJuIG5leHRSdW47CkBAIC0yNDAsNyArMjQwLDcgQEAgc3RhdGlj
IGNvbnN0IExheW91dEludGVncmF0aW9uOjpSdW5JdGVyYXRvciBsb2dpY2FsbHlOZXh0UnVuKGNv
bnN0IFZpc2libGVQb3NpdGkKICAgICByZXR1cm4geyB9OwogfQogCi1zdGF0aWMgVUJyZWFrSXRl
cmF0b3IqIHdvcmRCcmVha0l0ZXJhdG9yRm9yTWluT2Zmc2V0Qm91bmRhcnkoY29uc3QgVmlzaWJs
ZVBvc2l0aW9uJiB2aXNpYmxlUG9zaXRpb24sIExheW91dEludGVncmF0aW9uOjpUZXh0UnVuSXRl
cmF0b3IgdGV4dFJ1biwKK3N0YXRpYyBVQnJlYWtJdGVyYXRvciogd29yZEJyZWFrSXRlcmF0b3JG
b3JNaW5PZmZzZXRCb3VuZGFyeShjb25zdCBWaXNpYmxlUG9zaXRpb24mIHZpc2libGVQb3NpdGlv
biwgTGF5b3V0QnJpZGdlOjpUZXh0UnVuSXRlcmF0b3IgdGV4dFJ1biwKICAgICB1bnNpZ25lZCYg
cHJldmlvdXNSdW5MZW5ndGgsIGJvb2wmIHByZXZpb3VzUnVuSW5EaWZmZXJlbnRMaW5lLCBWZWN0
b3I8VUNoYXIsIDEwMjQ+JiBzdHJpbmcpCiB7CiAgICAgcHJldmlvdXNSdW5JbkRpZmZlcmVudExp
bmUgPSBmYWxzZTsKQEAgLTI1NSw3ICsyNTUsNyBAQCBzdGF0aWMgVUJyZWFrSXRlcmF0b3IqIHdv
cmRCcmVha0l0ZXJhdG9yRm9yTWluT2Zmc2V0Qm91bmRhcnkoY29uc3QgVmlzaWJsZVBvc2l0aQog
ICAgIHN0cmluZy5jbGVhcigpOwogCiAgICAgaWYgKHByZXZpb3VzUnVuKSB7Ci0gICAgICAgIGF1
dG8mIHByZXZpb3VzVGV4dFJ1biA9IGRvd25jYXN0PExheW91dEludGVncmF0aW9uOjpUZXh0UnVu
SXRlcmF0b3I+KHByZXZpb3VzUnVuKTsKKyAgICAgICAgYXV0byYgcHJldmlvdXNUZXh0UnVuID0g
ZG93bmNhc3Q8TGF5b3V0QnJpZGdlOjpUZXh0UnVuSXRlcmF0b3I+KHByZXZpb3VzUnVuKTsKICAg
ICAgICAgcHJldmlvdXNSdW5MZW5ndGggPSBwcmV2aW91c1RleHRSdW4tPmxlbmd0aCgpOwogICAg
ICAgICBhcHBlbmQoc3RyaW5nLCBwcmV2aW91c1RleHRSdW4tPnRleHQoKSk7CiAgICAgfQpAQCAt
MjY0LDcgKzI2NCw3IEBAIHN0YXRpYyBVQnJlYWtJdGVyYXRvciogd29yZEJyZWFrSXRlcmF0b3JG
b3JNaW5PZmZzZXRCb3VuZGFyeShjb25zdCBWaXNpYmxlUG9zaXRpCiAgICAgcmV0dXJuIHdvcmRC
cmVha0l0ZXJhdG9yKFN0cmluZ1ZpZXcoc3RyaW5nLmRhdGEoKSwgc3RyaW5nLnNpemUoKSkpOwog
fQogCi1zdGF0aWMgVUJyZWFrSXRlcmF0b3IqIHdvcmRCcmVha0l0ZXJhdG9yRm9yTWF4T2Zmc2V0
Qm91bmRhcnkoY29uc3QgVmlzaWJsZVBvc2l0aW9uJiB2aXNpYmxlUG9zaXRpb24sIExheW91dElu
dGVncmF0aW9uOjpUZXh0UnVuSXRlcmF0b3IgdGV4dFJ1biwKK3N0YXRpYyBVQnJlYWtJdGVyYXRv
ciogd29yZEJyZWFrSXRlcmF0b3JGb3JNYXhPZmZzZXRCb3VuZGFyeShjb25zdCBWaXNpYmxlUG9z
aXRpb24mIHZpc2libGVQb3NpdGlvbiwgTGF5b3V0QnJpZGdlOjpUZXh0UnVuSXRlcmF0b3IgdGV4
dFJ1biwKICAgICBib29sJiBuZXh0UnVuSW5EaWZmZXJlbnRMaW5lLCBWZWN0b3I8VUNoYXIsIDEw
MjQ+JiBzdHJpbmcpCiB7CiAgICAgbmV4dFJ1bkluRGlmZmVyZW50TGluZSA9IGZhbHNlOwpAQCAt
MjgwLDcgKzI4MCw3IEBAIHN0YXRpYyBVQnJlYWtJdGVyYXRvciogd29yZEJyZWFrSXRlcmF0b3JG
b3JNYXhPZmZzZXRCb3VuZGFyeShjb25zdCBWaXNpYmxlUG9zaXRpCiAgICAgYXBwZW5kKHN0cmlu
ZywgdGV4dFJ1bi0+dGV4dCgpKTsKIAogICAgIGlmIChuZXh0UnVuKSB7Ci0gICAgICAgIGF1dG8m
IG5leHRUZXh0UnVuID0gZG93bmNhc3Q8TGF5b3V0SW50ZWdyYXRpb246OlRleHRSdW5JdGVyYXRv
cj4obmV4dFJ1bik7CisgICAgICAgIGF1dG8mIG5leHRUZXh0UnVuID0gZG93bmNhc3Q8TGF5b3V0
QnJpZGdlOjpUZXh0UnVuSXRlcmF0b3I+KG5leHRSdW4pOwogICAgICAgICBhcHBlbmQoc3RyaW5n
LCBuZXh0VGV4dFJ1bi0+dGV4dCgpKTsKICAgICB9CiAKQEAgLTMxMyw3ICszMTMsNyBAQCBzdGF0
aWMgVmlzaWJsZVBvc2l0aW9uIHZpc3VhbFdvcmRQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRp
b24mIHZpc2libGVQb3NpdGlvbgogICAgICAgICByZXR1cm4gVmlzaWJsZVBvc2l0aW9uKCk7CiAK
ICAgICBUZXh0RGlyZWN0aW9uIGJsb2NrRGlyZWN0aW9uID0gZGlyZWN0aW9uT2ZFbmNsb3NpbmdC
bG9jayh2aXNpYmxlUG9zaXRpb24uZGVlcEVxdWl2YWxlbnQoKSk7Ci0gICAgTGF5b3V0SW50ZWdy
YXRpb246OlJ1bkl0ZXJhdG9yIHByZXZpb3VzbHlWaXNpdGVkUnVuOworICAgIExheW91dEJyaWRn
ZTo6UnVuSXRlcmF0b3IgcHJldmlvdXNseVZpc2l0ZWRSdW47CiAgICAgVmlzaWJsZVBvc2l0aW9u
IGN1cnJlbnQgPSB2aXNpYmxlUG9zaXRpb247CiAgICAgc3RkOjpvcHRpb25hbDxWaXNpYmxlUG9z
aXRpb24+IHByZXZpb3VzUG9zaXRpb247CiAgICAgVUJyZWFrSXRlcmF0b3IqIGl0ZXIgPSBudWxs
cHRyOwpAQCAtMzM4LDcgKzMzOCw3IEBAIHN0YXRpYyBWaXNpYmxlUG9zaXRpb24gdmlzdWFsV29y
ZFBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiYgdmlzaWJsZVBvc2l0aW9uCiAgICAgICAg
ICAgICBjb250aW51ZTsKICAgICAgICAgfQogCi0gICAgICAgIGF1dG8mIHRleHRSdW4gPSBkb3du
Y2FzdDxMYXlvdXRJbnRlZ3JhdGlvbjo6VGV4dFJ1bkl0ZXJhdG9yPihydW4pOworICAgICAgICBh
dXRvJiB0ZXh0UnVuID0gZG93bmNhc3Q8TGF5b3V0QnJpZGdlOjpUZXh0UnVuSXRlcmF0b3I+KHJ1
bik7CiAgICAgICAgIHVuc2lnbmVkIHByZXZpb3VzUnVuTGVuZ3RoID0gMDsKICAgICAgICAgYm9v
bCBwcmV2aW91c1J1bkluRGlmZmVyZW50TGluZSA9IGZhbHNlOwogICAgICAgICBib29sIG5leHRS
dW5JbkRpZmZlcmVudExpbmUgPSBmYWxzZTsKQEAgLTc0NSw3ICs3NDUsNyBAQCBzdGF0aWMgVmlz
aWJsZVBvc2l0aW9uIHN0YXJ0UG9zaXRpb25Gb3JMaW5lKGNvbnN0IFZpc2libGVQb3NpdGlvbiYg
YywgTGluZUVuZHBvaQogICAgIH0KIAogICAgIE5vZGUqIHN0YXJ0Tm9kZTsKLSAgICBMYXlvdXRJ
bnRlZ3JhdGlvbjo6UnVuSXRlcmF0b3Igc3RhcnRSdW4gPSBtb2RlID09IFVzZUxvZ2ljYWxPcmRl
cmluZyA/IGxpbmUubG9naWNhbFN0YXJ0UnVuV2l0aE5vZGUoKSA6IGxpbmUuZmlyc3RSdW4oKTsK
KyAgICBMYXlvdXRCcmlkZ2U6OlJ1bkl0ZXJhdG9yIHN0YXJ0UnVuID0gbW9kZSA9PSBVc2VMb2dp
Y2FsT3JkZXJpbmcgPyBsaW5lLmxvZ2ljYWxTdGFydFJ1bldpdGhOb2RlKCkgOiBsaW5lLmZpcnN0
UnVuKCk7CiAgICAgLy8gR2VuZXJhdGVkIGNvbnRlbnQgKGUuZy4gbGlzdCBtYXJrZXJzIGFuZCBD
U1MgOmJlZm9yZSBhbmQgOmFmdGVyIHBzZXVkb2VsZW1lbnRzKSBoYXZlIG5vIGNvcnJlc3BvbmRp
bmcgRE9NIGVsZW1lbnQsCiAgICAgLy8gYW5kIHNvIGNhbm5vdCBiZSByZXByZXNlbnRlZCBieSBh
IFZpc2libGVQb3NpdGlvbi4gVXNlIHdoYXRldmVyIGZvbGxvd3MgaW5zdGVhZC4KICAgICB3aGls
ZSAodHJ1ZSkgewpAQCAtNzYyLDcgKzc2Miw3IEBAIHN0YXRpYyBWaXNpYmxlUG9zaXRpb24gc3Rh
cnRQb3NpdGlvbkZvckxpbmUoY29uc3QgVmlzaWJsZVBvc2l0aW9uJiBjLCBMaW5lRW5kcG9pCiAg
ICAgICAgICAgICBzdGFydFJ1bi50cmF2ZXJzZU5leHRPbkxpbmUoKTsKICAgICB9CiAKLSAgICBy
ZXR1cm4gaXM8VGV4dD4oKnN0YXJ0Tm9kZSkgPyBQb3NpdGlvbihkb3duY2FzdDxUZXh0PihzdGFy
dE5vZGUpLCBkb3duY2FzdDxMYXlvdXRJbnRlZ3JhdGlvbjo6UGF0aFRleHRSdW4+KCpzdGFydFJ1
bikuc3RhcnQoKSkKKyAgICByZXR1cm4gaXM8VGV4dD4oKnN0YXJ0Tm9kZSkgPyBQb3NpdGlvbihk
b3duY2FzdDxUZXh0PihzdGFydE5vZGUpLCBkb3duY2FzdDxMYXlvdXRCcmlkZ2U6OlBhdGhUZXh0
UnVuPigqc3RhcnRSdW4pLnN0YXJ0KCkpCiAgICAgICAgIDogcG9zaXRpb25CZWZvcmVOb2RlKHN0
YXJ0Tm9kZSk7CiB9CiAKQEAgLTgxNSw3ICs4MTUsNyBAQCBzdGF0aWMgVmlzaWJsZVBvc2l0aW9u
IGVuZFBvc2l0aW9uRm9yTGluZShjb25zdCBWaXNpYmxlUG9zaXRpb24mIGMsIExpbmVFbmRwb2lu
dAogICAgIH0KIAogICAgIE5vZGUqIGVuZE5vZGU7Ci0gICAgTGF5b3V0SW50ZWdyYXRpb246OlJ1
bkl0ZXJhdG9yIGVuZFJ1biA9IG1vZGUgPT0gVXNlTG9naWNhbE9yZGVyaW5nID8gbGluZS5sb2dp
Y2FsRW5kUnVuV2l0aE5vZGUoKSA6IGxpbmUubGFzdFJ1bigpOworICAgIExheW91dEJyaWRnZTo6
UnVuSXRlcmF0b3IgZW5kUnVuID0gbW9kZSA9PSBVc2VMb2dpY2FsT3JkZXJpbmcgPyBsaW5lLmxv
Z2ljYWxFbmRSdW5XaXRoTm9kZSgpIDogbGluZS5sYXN0UnVuKCk7CiAgICAgLy8gR2VuZXJhdGVk
IGNvbnRlbnQgKGUuZy4gbGlzdCBtYXJrZXJzIGFuZCBDU1MgOmJlZm9yZSBhbmQgOmFmdGVyIHBz
ZXVkb2VsZW1lbnRzKSBoYXZlIG5vIGNvcnJlc3BvbmRpbmcgRE9NIGVsZW1lbnQsCiAgICAgLy8g
YW5kIHNvIGNhbm5vdCBiZSByZXByZXNlbnRlZCBieSBhIFZpc2libGVQb3NpdGlvbi4gVXNlIHdo
YXRldmVyIHByZWNlZGVzIGluc3RlYWQuCiAgICAgd2hpbGUgKHRydWUpIHsKQEAgLTgzNSw4ICs4
MzUsOCBAQCBzdGF0aWMgVmlzaWJsZVBvc2l0aW9uIGVuZFBvc2l0aW9uRm9yTGluZShjb25zdCBW
aXNpYmxlUG9zaXRpb24mIGMsIExpbmVFbmRwb2ludAogICAgIFBvc2l0aW9uIHBvczsKICAgICBp
ZiAoaXM8SFRNTEJSRWxlbWVudD4oKmVuZE5vZGUpKQogICAgICAgICBwb3MgPSBwb3NpdGlvbkJl
Zm9yZU5vZGUoZW5kTm9kZSk7Ci0gICAgZWxzZSBpZiAoaXM8TGF5b3V0SW50ZWdyYXRpb246OlBh
dGhUZXh0UnVuPigqZW5kUnVuKSAmJiBpczxUZXh0PigqZW5kTm9kZSkpIHsKLSAgICAgICAgYXV0
byYgZW5kVGV4dFJ1biA9IGRvd25jYXN0PExheW91dEludGVncmF0aW9uOjpQYXRoVGV4dFJ1bj4o
KmVuZFJ1bik7CisgICAgZWxzZSBpZiAoaXM8TGF5b3V0QnJpZGdlOjpQYXRoVGV4dFJ1bj4oKmVu
ZFJ1bikgJiYgaXM8VGV4dD4oKmVuZE5vZGUpKSB7CisgICAgICAgIGF1dG8mIGVuZFRleHRSdW4g
PSBkb3duY2FzdDxMYXlvdXRCcmlkZ2U6OlBhdGhUZXh0UnVuPigqZW5kUnVuKTsKICAgICAgICAg
aW50IGVuZE9mZnNldCA9IGVuZFRleHRSdW4uc3RhcnQoKTsKICAgICAgICAgaWYgKCFlbmRUZXh0
UnVuLmlzTGluZUJyZWFrKCkpCiAgICAgICAgICAgICBlbmRPZmZzZXQgKz0gZW5kVGV4dFJ1bi5s
ZW5ndGgoKTsKQEAgLTkyNyw3ICs5MjcsNyBAQCBib29sIGlzTG9naWNhbEVuZE9mTGluZShjb25z
dCBWaXNpYmxlUG9zaXRpb24mIHApCiAgICAgcmV0dXJuIHAuaXNOb3ROdWxsKCkgJiYgcCA9PSBs
b2dpY2FsRW5kT2ZMaW5lKHApOwogfQogCi1zdGF0aWMgaW5saW5lIEludFBvaW50IGFic29sdXRl
TGluZURpcmVjdGlvblBvaW50VG9Mb2NhbFBvaW50SW5CbG9jayhMYXlvdXRJbnRlZ3JhdGlvbjo6
TGluZUl0ZXJhdG9yJiBsaW5lLCBpbnQgbGluZURpcmVjdGlvblBvaW50KQorc3RhdGljIGlubGlu
ZSBJbnRQb2ludCBhYnNvbHV0ZUxpbmVEaXJlY3Rpb25Qb2ludFRvTG9jYWxQb2ludEluQmxvY2so
TGF5b3V0QnJpZGdlOjpMaW5lSXRlcmF0b3ImIGxpbmUsIGludCBsaW5lRGlyZWN0aW9uUG9pbnQp
CiB7CiAgICAgYXV0byYgY29udGFpbmluZ0Jsb2NrID0gbGluZS0+Y29udGFpbmluZ0Jsb2NrKCk7
CiAgICAgRmxvYXRQb2ludCBhYnNvbHV0ZUJsb2NrUG9pbnQgPSBjb250YWluaW5nQmxvY2subG9j
YWxUb0Fic29sdXRlKEZsb2F0UG9pbnQoKSkgLSB0b0Zsb2F0U2l6ZShjb250YWluaW5nQmxvY2su
c2Nyb2xsUG9zaXRpb24oKSk7CkBAIC05NTksNyArOTU5LDcgQEAgVmlzaWJsZVBvc2l0aW9uIHBy
ZXZpb3VzTGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiYgdmlzaWJsZVBvc2l0aW9u
LCBpbnQKICAgICBpZiAoIXJlbmRlcmVyKQogICAgICAgICByZXR1cm4gVmlzaWJsZVBvc2l0aW9u
KCk7CiAKLSAgICBMYXlvdXRJbnRlZ3JhdGlvbjo6TGluZUl0ZXJhdG9yIGxpbmU7CisgICAgTGF5
b3V0QnJpZGdlOjpMaW5lSXRlcmF0b3IgbGluZTsKICAgICBpZiAoYXV0byBydW4gPSB2aXNpYmxl
UG9zaXRpb24uaW5saW5lUnVuQW5kT2Zmc2V0KCkucnVuKSB7CiAgICAgICAgIGxpbmUgPSBydW4u
bGluZSgpLnByZXZpb3VzKCk7CiAgICAgICAgIC8vIFdlIHdhbnQgdG8gc2tpcCB6ZXJvIGhlaWdo
dCBib3hlcy4KQEAgLTEwMDksNyArMTAwOSw3IEBAIFZpc2libGVQb3NpdGlvbiBuZXh0TGluZVBv
c2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiYgdmlzaWJsZVBvc2l0aW9uLCBpbnQgbGluCiAg
ICAgaWYgKCFub2RlLT5yZW5kZXJlcigpKQogICAgICAgICByZXR1cm4gVmlzaWJsZVBvc2l0aW9u
KCk7CiAKLSAgICBMYXlvdXRJbnRlZ3JhdGlvbjo6TGluZUl0ZXJhdG9yIGxpbmU7CisgICAgTGF5
b3V0QnJpZGdlOjpMaW5lSXRlcmF0b3IgbGluZTsKICAgICBpZiAoYXV0byBydW4gPSB2aXNpYmxl
UG9zaXRpb24uaW5saW5lUnVuQW5kT2Zmc2V0KCkucnVuKSB7CiAgICAgICAgIGxpbmUgPSBydW4u
bGluZSgpLm5leHQoKTsKICAgICAgICAgLy8gV2Ugd2FudCB0byBza2lwIHplcm8gaGVpZ2h0IGJv
eGVzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91
dEludGVncmF0aW9uQm94VHJlZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYnJpZGdlL0xh
eW91dEJyaWRnZUJveFRyZWUuY3BwCnNpbWlsYXJpdHkgaW5kZXggOTklCnJlbmFtZSBmcm9tIFNv
dXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkJveFRyZWUu
Y3BwCnJlbmFtZSB0byBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZUJv
eFRyZWUuY3BwCmluZGV4IGI1Y2Y2MzA4YTgyZS4uNDIwMjdjZjVjMDhhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25Cb3hUcmVl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZUJveFRy
ZWUuY3BwCkBAIC0yNCw3ICsyNCw3IEBACiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgotI2lu
Y2x1ZGUgIkxheW91dEludGVncmF0aW9uQm94VHJlZS5oIgorI2luY2x1ZGUgIkxheW91dEJyaWRn
ZUJveFRyZWUuaCIKIAogI2lmIEVOQUJMRShMQVlPVVRfRk9STUFUVElOR19DT05URVhUKQogCkBA
IC0zOSw3ICszOSw3IEBACiAjaW5jbHVkZSAiUmVuZGVyTGluZUJyZWFrLmgiCiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKLW5hbWVzcGFjZSBMYXlvdXRJbnRlZ3JhdGlvbiB7CituYW1lc3BhY2UgTGF5
b3V0QnJpZGdlIHsKIAogc3RhdGljIGNvbnN0ZXhwciBzaXplX3Qgc21hbGxUcmVlVGhyZXNob2xk
ID0gODsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xh
eW91dEludGVncmF0aW9uQm94VHJlZS5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRnZS9M
YXlvdXRCcmlkZ2VCb3hUcmVlLmgKc2ltaWxhcml0eSBpbmRleCA5OCUKcmVuYW1lIGZyb20gU291
cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uQm94VHJlZS5o
CnJlbmFtZSB0byBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZUJveFRy
ZWUuaAppbmRleCA5NDBiOGFiN2Q1NzUuLjJiYmFjODkyODY5MyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uQm94VHJlZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9icmlkZ2UvTGF5b3V0QnJpZGdlQm94VHJlZS5oCkBA
IC0zNiw3ICszNiw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFJlbmRlckJsb2NrRmxv
dzsKIGNsYXNzIFJlbmRlckJveE1vZGVsT2JqZWN0OwogCi1uYW1lc3BhY2UgTGF5b3V0SW50ZWdy
YXRpb24geworbmFtZXNwYWNlIExheW91dEJyaWRnZSB7CiAKIGNsYXNzIEJveFRyZWUgewogcHVi
bGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91
dEludGVncmF0aW9uQ292ZXJhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRnZS9M
YXlvdXRCcmlkZ2VDb3ZlcmFnZS5jcHAKc2ltaWxhcml0eSBpbmRleCA5OSUKcmVuYW1lIGZyb20g
U291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uQ292ZXJh
Z2UuY3BwCnJlbmFtZSB0byBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvYnJpZGdlL0xheW91dEJyaWRn
ZUNvdmVyYWdlLmNwcAppbmRleCAzZDM1NjUxMWI1M2IuLjhkMThmZGY0YzcxMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uQ292
ZXJhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9icmlkZ2UvTGF5b3V0QnJpZGdl
Q292ZXJhZ2UuY3BwCkBAIC0yNCw3ICsyNCw3IEBACiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5o
IgotI2luY2x1ZGUgIkxheW91dEludGVncmF0aW9uQ292ZXJhZ2UuaCIKKyNpbmNsdWRlICJMYXlv
dXRCcmlkZ2VDb3ZlcmFnZS5oIgogCiAjaW5jbHVkZSAiRG9jdW1lbnRNYXJrZXJDb250cm9sbGVy
LmgiCiAjaW5jbHVkZSAiSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQuaCIKQEAgLTgxLDcgKzgx
LDcgQEAKICNlbmRpZgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci1uYW1lc3BhY2UgTGF5b3V0SW50
ZWdyYXRpb24geworbmFtZXNwYWNlIExheW91dEJyaWRnZSB7CiAKICNpZm5kZWYgTkRFQlVHCiBz
dGF0aWMgdm9pZCBwcmludFJlYXNvbihBdm9pZGFuY2VSZWFzb24gcmVhc29uLCBUZXh0U3RyZWFt
JiBzdHJlYW0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24v
TGF5b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRn
ZS9MYXlvdXRCcmlkZ2VDb3ZlcmFnZS5oCnNpbWlsYXJpdHkgaW5kZXggOTklCnJlbmFtZSBmcm9t
IFNvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkNvdmVy
YWdlLmgKcmVuYW1lIHRvIFNvdXJjZS9XZWJDb3JlL2xheW91dC9icmlkZ2UvTGF5b3V0QnJpZGdl
Q292ZXJhZ2UuaAppbmRleCA2ZjhlNTVjNGVmY2EuLmI1ZmQ2NDQwNGQzNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uQ292ZXJh
Z2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZUNvdmVy
YWdlLmgKQEAgLTM0LDcgKzM0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBSZW5k
ZXJCbG9ja0Zsb3c7CiAKLW5hbWVzcGFjZSBMYXlvdXRJbnRlZ3JhdGlvbiB7CituYW1lc3BhY2Ug
TGF5b3V0QnJpZGdlIHsKIAogZW51bSBjbGFzcyBBdm9pZGFuY2VSZWFzb24gOiB1aW50NjRfdCB7
CiAgICAgRmxvd0lzSW5zaWRlQU5vbk11bHRpQ29sdW1uVGhyZWFkICAgICAgICAgICAgPSAxTExV
ICA8PCAwLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xh
eW91dEludGVncmF0aW9uSW5saW5lQ29udGVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
YnJpZGdlL0xheW91dEJyaWRnZUlubGluZUNvbnRlbnQuY3BwCnNpbWlsYXJpdHkgaW5kZXggOTUl
CnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRl
Z3JhdGlvbklubGluZUNvbnRlbnQuY3BwCnJlbmFtZSB0byBTb3VyY2UvV2ViQ29yZS9sYXlvdXQv
YnJpZGdlL0xheW91dEJyaWRnZUlubGluZUNvbnRlbnQuY3BwCmluZGV4IDAwOWRiOWI2MWQyOC4u
MTc5NzRkZjhkOTE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRp
b24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZUlubGluZUNvbnRlbnQuY3BwCkBAIC0yNCwxNiAr
MjQsMTYgQEAKICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJMYXlvdXRJbnRl
Z3JhdGlvbklubGluZUNvbnRlbnQuaCIKKyNpbmNsdWRlICJMYXlvdXRCcmlkZ2VJbmxpbmVDb250
ZW50LmgiCiAKICNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkKIAotI2luY2x1
ZGUgIkxheW91dEludGVncmF0aW9uTGluZUxheW91dC5oIgorI2luY2x1ZGUgIkxheW91dEJyaWRn
ZUxpbmVMYXlvdXQuaCIKICNpbmNsdWRlICJSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgiCiAjaW5j
bHVkZSAiVGV4dFBhaW50ZXIuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewotbmFtZXNwYWNlIExh
eW91dEludGVncmF0aW9uIHsKK25hbWVzcGFjZSBMYXlvdXRCcmlkZ2UgewogCiBJbmxpbmVDb250
ZW50OjpJbmxpbmVDb250ZW50KGNvbnN0IExpbmVMYXlvdXQmIGxpbmVMYXlvdXQpCiAgICAgOiBt
X2xpbmVMYXlvdXQobWFrZVdlYWtQdHIobGluZUxheW91dCkpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZUlubGluZUNvbnRl
bnQuaApzaW1pbGFyaXR5IGluZGV4IDk2JQpyZW5hbWUgZnJvbSBTb3VyY2UvV2ViQ29yZS9sYXlv
dXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50LmgKcmVuYW1lIHRv
IFNvdXJjZS9XZWJDb3JlL2xheW91dC9icmlkZ2UvTGF5b3V0QnJpZGdlSW5saW5lQ29udGVudC5o
CmluZGV4IGUzZGQ1ZjBkNGFhNi4uMTg1OTEyYmY4ODljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VJbmxpbmVDb250
ZW50LmgKQEAgLTI3LDggKzI3LDggQEAKIAogI2lmIEVOQUJMRShMQVlPVVRfRk9STUFUVElOR19D
T05URVhUKQogCi0jaW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRpb25MaW5lLmgiCi0jaW5jbHVkZSAi
TGF5b3V0SW50ZWdyYXRpb25SdW4uaCIKKyNpbmNsdWRlICJMYXlvdXRCcmlkZ2VMaW5lLmgiCisj
aW5jbHVkZSAiTGF5b3V0QnJpZGdlUnVuLmgiCiAjaW5jbHVkZSA8d3RmL0l0ZXJhdG9yUmFuZ2Uu
aD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KQEAg
LTQyLDcgKzQyLDcgQEAgbmFtZXNwYWNlIExheW91dCB7CiBjbGFzcyBCb3g7CiB9CiAKLW5hbWVz
cGFjZSBMYXlvdXRJbnRlZ3JhdGlvbiB7CituYW1lc3BhY2UgTGF5b3V0QnJpZGdlIHsKIAogY2xh
c3MgTGluZUxheW91dDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVn
cmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VJbmxpbmVDb250ZW50QnVpbGRlci5j
cHAKc2ltaWxhcml0eSBpbmRleCA5OSUKcmVuYW1lIGZyb20gU291cmNlL1dlYkNvcmUvbGF5b3V0
L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuY3BwCnJl
bmFtZSB0byBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZUlubGluZUNv
bnRlbnRCdWlsZGVyLmNwcAppbmRleCAwNDQxYzI4ZWUyMTMuLjhmZjg3YjA4ZjZhNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9u
SW5saW5lQ29udGVudEJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9icmlk
Z2UvTGF5b3V0QnJpZGdlSW5saW5lQ29udGVudEJ1aWxkZXIuY3BwCkBAIC0yNCw3ICsyNCw3IEBA
CiAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRpb25J
bmxpbmVDb250ZW50QnVpbGRlci5oIgorI2luY2x1ZGUgIkxheW91dEJyaWRnZUlubGluZUNvbnRl
bnRCdWlsZGVyLmgiCiAKICNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkKIApA
QCAtMzMsMTYgKzMzLDE2IEBACiAjaW5jbHVkZSAiSW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5Lmgi
CiAjaW5jbHVkZSAiSW5saW5lRm9ybWF0dGluZ1N0YXRlLmgiCiAjaW5jbHVkZSAiTGF5b3V0Qm94
R2VvbWV0cnkuaCIKLSNpbmNsdWRlICJMYXlvdXRJbnRlZ3JhdGlvbkJveFRyZWUuaCIKLSNpbmNs
dWRlICJMYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnQuaCIKLSNpbmNsdWRlICJMYXlvdXRJ
bnRlZ3JhdGlvblJ1bi5oIgorI2luY2x1ZGUgIkxheW91dEJyaWRnZUJveFRyZWUuaCIKKyNpbmNs
dWRlICJMYXlvdXRCcmlkZ2VJbmxpbmVDb250ZW50LmgiCisjaW5jbHVkZSAiTGF5b3V0QnJpZGdl
UnVuLmgiCiAjaW5jbHVkZSAiTGF5b3V0UmVwbGFjZWRCb3guaCIKICNpbmNsdWRlICJMYXlvdXRT
dGF0ZS5oIgogI2luY2x1ZGUgIlJlbmRlckJsb2NrRmxvdy5oIgogI2luY2x1ZGUgIlN0cmluZ1Ry
dW5jYXRvci5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci1uYW1lc3BhY2UgTGF5b3V0SW50ZWdy
YXRpb24geworbmFtZXNwYWNlIExheW91dEJyaWRnZSB7CiAKICNkZWZpbmUgUFJPQ0VTU19CSURJ
X0NPTlRFTlQgMAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRp
b24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50QnVpbGRlci5oIGIvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VJbmxpbmVDb250ZW50QnVpbGRlci5oCnNpbWls
YXJpdHkgaW5kZXggOTglCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3Jh
dGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmgKcmVuYW1lIHRvIFNv
dXJjZS9XZWJDb3JlL2xheW91dC9icmlkZ2UvTGF5b3V0QnJpZGdlSW5saW5lQ29udGVudEJ1aWxk
ZXIuaAppbmRleCBhMDdhOTc1N2E0ZTQuLmRlOTkwNTk2YTYxNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVu
dEJ1aWxkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYnJpZGdlL0xheW91dEJyaWRn
ZUlubGluZUNvbnRlbnRCdWlsZGVyLmgKQEAgLTM5LDcgKzM5LDcgQEAgY2xhc3MgSW5saW5lRm9y
bWF0dGluZ1N0YXRlOwogY2xhc3MgTGF5b3V0U3RhdGU7CiB9CiAKLW5hbWVzcGFjZSBMYXlvdXRJ
bnRlZ3JhdGlvbiB7CituYW1lc3BhY2UgTGF5b3V0QnJpZGdlIHsKIAogY2xhc3MgQm94VHJlZTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dElu
dGVncmF0aW9uTGluZS5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlk
Z2VMaW5lLmgKc2ltaWxhcml0eSBpbmRleCA5OSUKcmVuYW1lIGZyb20gU291cmNlL1dlYkNvcmUv
bGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZS5oCnJlbmFtZSB0byBTb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZUxpbmUuaAppbmRleCBkMmRjNTdm
YzUzYmQuLjQ2ZGE4NjM4ZTBlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lu
dGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9icmlkZ2UvTGF5b3V0QnJpZGdlTGluZS5oCkBAIC0zMSw3ICszMSw3IEBACiAjaW5jbHVk
ZSAiTGF5b3V0Qm94LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKLW5hbWVzcGFjZSBMYXlvdXRJ
bnRlZ3JhdGlvbiB7CituYW1lc3BhY2UgTGF5b3V0QnJpZGdlIHsKIAogY2xhc3MgTGluZSB7CiAg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3IuY3BwIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VMaW5lSXRlcmF0b3IuY3BwCnNp
bWlsYXJpdHkgaW5kZXggOTclCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRl
Z3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVJdGVyYXRvci5jcHAKcmVuYW1lIHRvIFNvdXJj
ZS9XZWJDb3JlL2xheW91dC9icmlkZ2UvTGF5b3V0QnJpZGdlTGluZUl0ZXJhdG9yLmNwcAppbmRl
eCBjMWNhZmY4ZjdmOGMuLmY5OWZlMmEyZGU2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZUl0ZXJhdG9yLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZUxpbmVJdGVyYXRvci5j
cHAKQEAgLTI0LDE0ICsyNCwxNCBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNs
dWRlICJMYXlvdXRJbnRlZ3JhdGlvbkxpbmVJdGVyYXRvci5oIgorI2luY2x1ZGUgIkxheW91dEJy
aWRnZUxpbmVJdGVyYXRvci5oIgogCi0jaW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5
b3V0LmgiCi0jaW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvci5oIgorI2luY2x1
ZGUgIkxheW91dEJyaWRnZUxpbmVMYXlvdXQuaCIKKyNpbmNsdWRlICJMYXlvdXRCcmlkZ2VSdW5J
dGVyYXRvci5oIgogI2luY2x1ZGUgIlJlbmRlckJsb2NrRmxvdy5oIgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7Ci1uYW1lc3BhY2UgTGF5b3V0SW50ZWdyYXRpb24geworbmFtZXNwYWNlIExheW91dEJy
aWRnZSB7CiAKIExpbmVJdGVyYXRvcjo6TGluZUl0ZXJhdG9yKFBhdGhMaW5lOjpQYXRoVmFyaWFu
dCYmIHBhdGhWYXJpYW50KQogICAgIDogbV9saW5lKFdURk1vdmUocGF0aFZhcmlhbnQpKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0
aW9uTGluZUl0ZXJhdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYnJpZGdlL0xheW91dEJy
aWRnZUxpbmVJdGVyYXRvci5oCnNpbWlsYXJpdHkgaW5kZXggOTclCnJlbmFtZSBmcm9tIFNvdXJj
ZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVJdGVyYXRv
ci5oCnJlbmFtZSB0byBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZUxp
bmVJdGVyYXRvci5oCmluZGV4IDhlYjQ0MTUyYjg5Yi4uNGZmOTNkZDVkODlhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5l
SXRlcmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYnJpZGdlL0xheW91dEJyaWRn
ZUxpbmVJdGVyYXRvci5oCkBAIC0yNSwxMyArMjUsMTMgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNp
bmNsdWRlICJMYXlvdXRJbnRlZ3JhdGlvbkxpbmVJdGVyYXRvckxlZ2FjeVBhdGguaCIKLSNpbmNs
dWRlICJMYXlvdXRJbnRlZ3JhdGlvbkxpbmVJdGVyYXRvck1vZGVyblBhdGguaCIKKyNpbmNsdWRl
ICJMYXlvdXRCcmlkZ2VMaW5lSXRlcmF0b3JMZWdhY3lQYXRoLmgiCisjaW5jbHVkZSAiTGF5b3V0
QnJpZGdlTGluZUl0ZXJhdG9yTW9kZXJuUGF0aC5oIgogI2luY2x1ZGUgPHd0Zi9WYXJpYW50Lmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotbmFtZXNwYWNlIExheW91dEludGVncmF0aW9uIHsK
K25hbWVzcGFjZSBMYXlvdXRCcmlkZ2UgewogCiBjbGFzcyBMaW5lSXRlcmF0b3I7CiBjbGFzcyBQ
YXRoSXRlcmF0b3I7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRp
b24vTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3JMZWdhY3lQYXRoLmggYi9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZUxpbmVJdGVyYXRvckxlZ2FjeVBhdGguaApz
aW1pbGFyaXR5IGluZGV4IDk2JQpyZW5hbWUgZnJvbSBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50
ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3JMZWdhY3lQYXRoLmgKcmVuYW1l
IHRvIFNvdXJjZS9XZWJDb3JlL2xheW91dC9icmlkZ2UvTGF5b3V0QnJpZGdlTGluZUl0ZXJhdG9y
TGVnYWN5UGF0aC5oCmluZGV4IGNlMjAxY2M0M2VlZi4uMDc2MGJiNzZjMzYxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5l
SXRlcmF0b3JMZWdhY3lQYXRoLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRnZS9M
YXlvdXRCcmlkZ2VMaW5lSXRlcmF0b3JMZWdhY3lQYXRoLmgKQEAgLTI1LDEzICsyNSwxMyBAQAog
CiAjcHJhZ21hIG9uY2UKIAotI2luY2x1ZGUgIkxheW91dEludGVncmF0aW9uSW5saW5lQ29udGVu
dC5oIgotI2luY2x1ZGUgIkxheW91dEludGVncmF0aW9uUnVuSXRlcmF0b3JMZWdhY3lQYXRoLmgi
CisjaW5jbHVkZSAiTGF5b3V0QnJpZGdlSW5saW5lQ29udGVudC5oIgorI2luY2x1ZGUgIkxheW91
dEJyaWRnZVJ1bkl0ZXJhdG9yTGVnYWN5UGF0aC5oIgogI2luY2x1ZGUgIkxlZ2FjeVJvb3RJbmxp
bmVCb3guaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1uYW1lc3BhY2UgTGF5b3V0SW50ZWdy
YXRpb24geworbmFtZXNwYWNlIExheW91dEJyaWRnZSB7CiAKIGNsYXNzIExpbmVJdGVyYXRvckxl
Z2FjeVBhdGggewogcHVibGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lu
dGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZUl0ZXJhdG9yTW9kZXJuUGF0aC5oIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VMaW5lSXRlcmF0b3JNb2Rlcm5Q
YXRoLmgKc2ltaWxhcml0eSBpbmRleCA5NyUKcmVuYW1lIGZyb20gU291cmNlL1dlYkNvcmUvbGF5
b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZUl0ZXJhdG9yTW9kZXJuUGF0aC5o
CnJlbmFtZSB0byBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZUxpbmVJ
dGVyYXRvck1vZGVyblBhdGguaAppbmRleCBhODIxMDQ2MWVjOTAuLjA5YmUxZjU2MWJmZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0
aW9uTGluZUl0ZXJhdG9yTW9kZXJuUGF0aC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9i
cmlkZ2UvTGF5b3V0QnJpZGdlTGluZUl0ZXJhdG9yTW9kZXJuUGF0aC5oCkBAIC0yNywxMiArMjcs
MTIgQEAKIAogI2lmIEVOQUJMRShMQVlPVVRfRk9STUFUVElOR19DT05URVhUKQogCi0jaW5jbHVk
ZSAiTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50LmgiCi0jaW5jbHVkZSAiTGF5b3V0SW50
ZWdyYXRpb25SdW5JdGVyYXRvck1vZGVyblBhdGguaCIKKyNpbmNsdWRlICJMYXlvdXRCcmlkZ2VJ
bmxpbmVDb250ZW50LmgiCisjaW5jbHVkZSAiTGF5b3V0QnJpZGdlUnVuSXRlcmF0b3JNb2Rlcm5Q
YXRoLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotbmFtZXNwYWNlIExheW91dEludGVncmF0
aW9uIHsKK25hbWVzcGFjZSBMYXlvdXRCcmlkZ2UgewogCiBjbGFzcyBSdW5JdGVyYXRvck1vZGVy
blBhdGg7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9M
YXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jy
aWRnZS9MYXlvdXRCcmlkZ2VMaW5lTGF5b3V0LmNwcApzaW1pbGFyaXR5IGluZGV4IDk5JQpyZW5h
bWUgZnJvbSBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRp
b25MaW5lTGF5b3V0LmNwcApyZW5hbWUgdG8gU291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRnZS9M
YXlvdXRCcmlkZ2VMaW5lTGF5b3V0LmNwcAppbmRleCA3ZjkzOTdhMmFhN2IuLmE0N2Y5MDZhOGEy
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dElu
dGVncmF0aW9uTGluZUxheW91dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRn
ZS9MYXlvdXRCcmlkZ2VMaW5lTGF5b3V0LmNwcApAQCAtMjQsNyArMjQsNyBAQAogICovCiAKICNp
bmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJMYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQu
aCIKKyNpbmNsdWRlICJMYXlvdXRCcmlkZ2VMaW5lTGF5b3V0LmgiCiAKICNpZiBFTkFCTEUoTEFZ
T1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkKIApAQCAtMzcsOSArMzcsOSBAQAogI2luY2x1ZGUgIklu
bGluZUZvcm1hdHRpbmdTdGF0ZS5oIgogI2luY2x1ZGUgIkludmFsaWRhdGlvblN0YXRlLmgiCiAj
aW5jbHVkZSAiTGF5b3V0Qm94R2VvbWV0cnkuaCIKLSNpbmNsdWRlICJMYXlvdXRJbnRlZ3JhdGlv
bkNvdmVyYWdlLmgiCi0jaW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50QnVp
bGRlci5oIgotI2luY2x1ZGUgIkxheW91dEludGVncmF0aW9uUGFnaW5hdGlvbi5oIgorI2luY2x1
ZGUgIkxheW91dEJyaWRnZUNvdmVyYWdlLmgiCisjaW5jbHVkZSAiTGF5b3V0QnJpZGdlSW5saW5l
Q29udGVudEJ1aWxkZXIuaCIKKyNpbmNsdWRlICJMYXlvdXRCcmlkZ2VQYWdpbmF0aW9uLmgiCiAj
aW5jbHVkZSAiTGF5b3V0UmVwbGFjZWRCb3guaCIKICNpbmNsdWRlICJMYXlvdXRUcmVlQnVpbGRl
ci5oIgogI2luY2x1ZGUgIlBhaW50SW5mby5oIgpAQCAtNTYsNyArNTYsNyBAQAogI2luY2x1ZGUg
IlRleHRQYWludGVyLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKLW5hbWVzcGFjZSBMYXlvdXRJ
bnRlZ3JhdGlvbiB7CituYW1lc3BhY2UgTGF5b3V0QnJpZGdlIHsKIAogTGluZUxheW91dDo6TGlu
ZUxheW91dChSZW5kZXJCbG9ja0Zsb3cmIGZsb3cpCiAgICAgOiBtX2JveFRyZWUoZmxvdykKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3Jh
dGlvbkxpbmVMYXlvdXQuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9icmlkZ2UvTGF5b3V0QnJp
ZGdlTGluZUxheW91dC5oCnNpbWlsYXJpdHkgaW5kZXggOTYlCnJlbmFtZSBmcm9tIFNvdXJjZS9X
ZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuaApy
ZW5hbWUgdG8gU291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VMaW5lTGF5
b3V0LmgKaW5kZXggMDkxYTYwMTRiNzE5Li42NmNiZDEyNzk2NWIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZUxpbmVMYXlv
dXQuaApAQCAtMjcsOSArMjcsOSBAQAogCiAjaWYgRU5BQkxFKExBWU9VVF9GT1JNQVRUSU5HX0NP
TlRFWFQpCiAKLSNpbmNsdWRlICJMYXlvdXRJbnRlZ3JhdGlvbkJveFRyZWUuaCIKLSNpbmNsdWRl
ICJMYXlvdXRJbnRlZ3JhdGlvbkxpbmVJdGVyYXRvci5oIgotI2luY2x1ZGUgIkxheW91dEludGVn
cmF0aW9uUnVuSXRlcmF0b3IuaCIKKyNpbmNsdWRlICJMYXlvdXRCcmlkZ2VCb3hUcmVlLmgiCisj
aW5jbHVkZSAiTGF5b3V0QnJpZGdlTGluZUl0ZXJhdG9yLmgiCisjaW5jbHVkZSAiTGF5b3V0QnJp
ZGdlUnVuSXRlcmF0b3IuaCIKICNpbmNsdWRlICJMYXlvdXRQb2ludC5oIgogI2luY2x1ZGUgIkxh
eW91dFN0YXRlLmgiCiAjaW5jbHVkZSAiUmVuZGVyT2JqZWN0RW51bXMuaCIKQEAgLTQ4LDcgKzQ4
LDcgQEAgY2xhc3MgUmVuZGVySW5saW5lOwogY2xhc3MgUmVuZGVyTGluZUJyZWFrOwogc3RydWN0
IFBhaW50SW5mbzsKIAotbmFtZXNwYWNlIExheW91dEludGVncmF0aW9uIHsKK25hbWVzcGFjZSBM
YXlvdXRCcmlkZ2UgewogCiBzdHJ1Y3QgSW5saW5lQ29udGVudDsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uUGFnaW5hdGlv
bi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZVBhZ2luYXRp
b24uY3BwCnNpbWlsYXJpdHkgaW5kZXggOTklCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJDb3JlL2xh
eW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblBhZ2luYXRpb24uY3BwCnJlbmFtZSB0
byBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZVBhZ2luYXRpb24uY3Bw
CmluZGV4IDRhZWNiNDdlMzk0My4uYmZiYTBiY2YzMGY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25QYWdpbmF0aW9uLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZVBhZ2luYXRpb24u
Y3BwCkBAIC0yNCw3ICsyNCw3IEBACiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1
ZGUgIkxheW91dEludGVncmF0aW9uUGFnaW5hdGlvbi5oIgorI2luY2x1ZGUgIkxheW91dEJyaWRn
ZVBhZ2luYXRpb24uaCIKIAogI2lmIEVOQUJMRShMQVlPVVRfRk9STUFUVElOR19DT05URVhUKQog
CkBAIC0zMiw3ICszMiw3IEBACiAjaW5jbHVkZSAiUmVuZGVyQmxvY2tGbG93LmgiCiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKLW5hbWVzcGFjZSBMYXlvdXRJbnRlZ3JhdGlvbiB7CituYW1lc3BhY2Ug
TGF5b3V0QnJpZGdlIHsKIAogc3RydWN0IFN0cnV0IHsKICAgICB1bnNpZ25lZCBsaW5lQnJlYWs7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50
ZWdyYXRpb25QYWdpbmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYnJpZGdlL0xheW91
dEJyaWRnZVBhZ2luYXRpb24uaApzaW1pbGFyaXR5IGluZGV4IDk1JQpyZW5hbWUgZnJvbSBTb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25QYWdpbmF0aW9u
LmgKcmVuYW1lIHRvIFNvdXJjZS9XZWJDb3JlL2xheW91dC9icmlkZ2UvTGF5b3V0QnJpZGdlUGFn
aW5hdGlvbi5oCmluZGV4IDgzYzJjZjNhZDQ5Mi4uMGM3YTA2ODkzNjYyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25QYWdpbmF0
aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VQYWdp
bmF0aW9uLmgKQEAgLTI3LDEzICsyNywxMyBAQAogCiAjaWYgRU5BQkxFKExBWU9VVF9GT1JNQVRU
SU5HX0NPTlRFWFQpCiAKLSNpbmNsdWRlICJMYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnQu
aCIKKyNpbmNsdWRlICJMYXlvdXRCcmlkZ2VJbmxpbmVDb250ZW50LmgiCiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogY2xhc3MgUmVuZGVyQmxvY2tGbG93OwogCi1uYW1lc3BhY2UgTGF5b3V0SW50
ZWdyYXRpb24geworbmFtZXNwYWNlIExheW91dEJyaWRnZSB7CiAgICAgCiBSZWY8SW5saW5lQ29u
dGVudD4gYWRqdXN0TGluZVBvc2l0aW9uc0ZvclBhZ2luYXRpb24oSW5saW5lQ29udGVudCYsIFJl
bmRlckJsb2NrRmxvdyYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50
ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25SdW4uaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9i
cmlkZ2UvTGF5b3V0QnJpZGdlUnVuLmgKc2ltaWxhcml0eSBpbmRleCA5OSUKcmVuYW1lIGZyb20g
U291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uUnVuLmgK
cmVuYW1lIHRvIFNvdXJjZS9XZWJDb3JlL2xheW91dC9icmlkZ2UvTGF5b3V0QnJpZGdlUnVuLmgK
aW5kZXggMTg5MDg4N2ViMmMwLi44NWRiNzhhNjllZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblJ1bi5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9icmlkZ2UvTGF5b3V0QnJpZGdlUnVuLmgKQEAgLTM2LDcgKzM2LDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDYWNoZWRJbWFnZTsKIAotbmFtZXNwYWNl
IExheW91dEludGVncmF0aW9uIHsKK25hbWVzcGFjZSBMYXlvdXRCcmlkZ2UgewogCiBzdHJ1Y3Qg
UnVuIHsKICAgICBXVEZfTUFLRV9TVFJVQ1RfRkFTVF9BTExPQ0FURUQ7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVy
YXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZVJ1bkl0
ZXJhdG9yLmNwcApzaW1pbGFyaXR5IGluZGV4IDk3JQpyZW5hbWUgZnJvbSBTb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvci5jcHAKcmVu
YW1lIHRvIFNvdXJjZS9XZWJDb3JlL2xheW91dC9icmlkZ2UvTGF5b3V0QnJpZGdlUnVuSXRlcmF0
b3IuY3BwCmluZGV4IGE4N2ZjZTkyMTRmYy4uODgyMTg0N2FiYTc0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRv
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VSdW5J
dGVyYXRvci5jcHAKQEAgLTI0LDE2ICsyNCwxNiBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcu
aCIKLSNpbmNsdWRlICJMYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yLmgiCisjaW5jbHVkZSAi
TGF5b3V0QnJpZGdlUnVuSXRlcmF0b3IuaCIKIAogCi0jaW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRp
b25MaW5lSXRlcmF0b3IuaCIKLSNpbmNsdWRlICJMYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQu
aCIKKyNpbmNsdWRlICJMYXlvdXRCcmlkZ2VMaW5lSXRlcmF0b3IuaCIKKyNpbmNsdWRlICJMYXlv
dXRCcmlkZ2VMaW5lTGF5b3V0LmgiCiAjaW5jbHVkZSAiUmVuZGVyQmxvY2tGbG93LmgiCiAjaW5j
bHVkZSAiUmVuZGVyTGluZUJyZWFrLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKLW5hbWVzcGFj
ZSBMYXlvdXRJbnRlZ3JhdGlvbiB7CituYW1lc3BhY2UgTGF5b3V0QnJpZGdlIHsKIAogUnVuSXRl
cmF0b3I6OlJ1bkl0ZXJhdG9yKFBhdGhSdW46OlBhdGhWYXJpYW50JiYgcGF0aFZhcmlhbnQpCiAg
ICAgOiBtX3J1bihXVEZNb3ZlKHBhdGhWYXJpYW50KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yLmggYi9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZVJ1bkl0ZXJhdG9yLmgKc2lt
aWxhcml0eSBpbmRleCA5NSUKcmVuYW1lIGZyb20gU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVn
cmF0aW9uL0xheW91dEludGVncmF0aW9uUnVuSXRlcmF0b3IuaApyZW5hbWUgdG8gU291cmNlL1dl
YkNvcmUvbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VSdW5JdGVyYXRvci5oCmluZGV4IGJhYWRl
ODlkOGQxMy4uZjM4ZDgyYjMwZTNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
aW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9icmlkZ2UvTGF5b3V0QnJpZGdlUnVuSXRlcmF0b3IuaApAQCAtMjUsOCAr
MjUsOCBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2luY2x1ZGUgIkxheW91dEludGVncmF0aW9uUnVu
SXRlcmF0b3JMZWdhY3lQYXRoLmgiCi0jaW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVy
YXRvck1vZGVyblBhdGguaCIKKyNpbmNsdWRlICJMYXlvdXRCcmlkZ2VSdW5JdGVyYXRvckxlZ2Fj
eVBhdGguaCIKKyNpbmNsdWRlICJMYXlvdXRCcmlkZ2VSdW5JdGVyYXRvck1vZGVyblBhdGguaCIK
ICNpbmNsdWRlICJMZWdhY3lJbmxpbmVFbGVtZW50Qm94LmgiCiAjaW5jbHVkZSA8d3RmL1Zhcmlh
bnQuaD4KIApAQCAtMzYsNyArMzYsNyBAQCBjbGFzcyBSZW5kZXJMaW5lQnJlYWs7CiBjbGFzcyBS
ZW5kZXJPYmplY3Q7CiBjbGFzcyBSZW5kZXJUZXh0OwogCi1uYW1lc3BhY2UgTGF5b3V0SW50ZWdy
YXRpb24geworbmFtZXNwYWNlIExheW91dEJyaWRnZSB7CiAKIGNsYXNzIExpbmVJdGVyYXRvcjsK
IGNsYXNzIFRleHRSdW5JdGVyYXRvcjsKQEAgLTM0NywxMCArMzQ3LDEwIEBAIGlubGluZSBMYXlv
dXRSZWN0IFBhdGhUZXh0UnVuOjpzZWxlY3Rpb25SZWN0KHVuc2lnbmVkIHN0YXJ0LCB1bnNpZ25l
ZCBlbmQpIGNvbnN0CiB9CiB9CiAKLVNQRUNJQUxJWkVfVFlQRV9UUkFJVFNfQkVHSU4oV2ViQ29y
ZTo6TGF5b3V0SW50ZWdyYXRpb246OlBhdGhUZXh0UnVuKQotc3RhdGljIGJvb2wgaXNUeXBlKGNv
bnN0IFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpQYXRoUnVuJiBydW4pIHsgcmV0dXJuIHJ1
bi5pc1RleHQoKTsgfQorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihXZWJDb3JlOjpMYXlv
dXRCcmlkZ2U6OlBhdGhUZXh0UnVuKQorc3RhdGljIGJvb2wgaXNUeXBlKGNvbnN0IFdlYkNvcmU6
OkxheW91dEJyaWRnZTo6UGF0aFJ1biYgcnVuKSB7IHJldHVybiBydW4uaXNUZXh0KCk7IH0KIFNQ
RUNJQUxJWkVfVFlQRV9UUkFJVFNfRU5EKCkKIAotU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJ
TihXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6VGV4dFJ1bkl0ZXJhdG9yKQotc3RhdGljIGJv
b2wgaXNUeXBlKGNvbnN0IFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpSdW5JdGVyYXRvciYg
cnVuSXRlcmF0b3IpIHsgcmV0dXJuICFydW5JdGVyYXRvciB8fCBydW5JdGVyYXRvci0+aXNUZXh0
KCk7IH0KK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfQkVHSU4oV2ViQ29yZTo6TGF5b3V0QnJpZGdl
OjpUZXh0UnVuSXRlcmF0b3IpCitzdGF0aWMgYm9vbCBpc1R5cGUoY29uc3QgV2ViQ29yZTo6TGF5
b3V0QnJpZGdlOjpSdW5JdGVyYXRvciYgcnVuSXRlcmF0b3IpIHsgcmV0dXJuICFydW5JdGVyYXRv
ciB8fCBydW5JdGVyYXRvci0+aXNUZXh0KCk7IH0KIFNQRUNJQUxJWkVfVFlQRV9UUkFJVFNfRU5E
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJ
bnRlZ3JhdGlvblJ1bkl0ZXJhdG9yTGVnYWN5UGF0aC5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2JyaWRnZS9MYXlvdXRCcmlkZ2VSdW5JdGVyYXRvckxlZ2FjeVBhdGguaApzaW1pbGFyaXR5IGlu
ZGV4IDk5JQpyZW5hbWUgZnJvbSBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5
b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvckxlZ2FjeVBhdGguaApyZW5hbWUgdG8gU291cmNlL1dl
YkNvcmUvbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VSdW5JdGVyYXRvckxlZ2FjeVBhdGguaApp
bmRleCBlOGEwMTBhMmY1MjEuLjRkOTk5M2M4YzZlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uUnVuSXRlcmF0b3JMZWdhY3lQ
YXRoLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2JyaWRnZS9MYXlvdXRCcmlkZ2VSdW5J
dGVyYXRvckxlZ2FjeVBhdGguaApAQCAtMzIsNyArMzIsNyBAQAogI2luY2x1ZGUgPHd0Zi9WZWN0
b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewotbmFtZXNwYWNlIExheW91dEludGVncmF0aW9u
IHsKK25hbWVzcGFjZSBMYXlvdXRCcmlkZ2UgewogCiBjbGFzcyBSdW5JdGVyYXRvckxlZ2FjeVBh
dGggewogcHVibGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0
aW9uL0xheW91dEludGVncmF0aW9uUnVuSXRlcmF0b3JNb2Rlcm5QYXRoLmggYi9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZVJ1bkl0ZXJhdG9yTW9kZXJuUGF0aC5oCnNp
bWlsYXJpdHkgaW5kZXggOTklCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRl
Z3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yTW9kZXJuUGF0aC5oCnJlbmFtZSB0
byBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvYnJpZGdlL0xheW91dEJyaWRnZVJ1bkl0ZXJhdG9yTW9k
ZXJuUGF0aC5oCmluZGV4IGE2OGZhZTU4ODY4My4uMGJkMjFmNWNmNzZhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVy
YXRvck1vZGVyblBhdGguaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYnJpZGdlL0xheW91
dEJyaWRnZVJ1bkl0ZXJhdG9yTW9kZXJuUGF0aC5oCkBAIC0yOCwxMiArMjgsMTIgQEAKICNpZiBF
TkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkKIAogI2luY2x1ZGUgIkZvbnRDYXNjYWRl
LmgiCi0jaW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50LmgiCisjaW5jbHVk
ZSAiTGF5b3V0QnJpZGdlSW5saW5lQ29udGVudC5oIgogI2luY2x1ZGUgIlRleHRCb3hTZWxlY3Rh
YmxlUmFuZ2UuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1uYW1lc3BhY2UgTGF5b3V0SW50
ZWdyYXRpb24geworbmFtZXNwYWNlIExheW91dEJyaWRnZSB7CiAKIGNsYXNzIFJ1bkl0ZXJhdG9y
TW9kZXJuUGF0aCB7CiBwdWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL01l
bW9yeVJlbGVhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9NZW1vcnlSZWxlYXNlLmNwcApp
bmRleCA2ZGU2YzBlMjYzMzMuLjFmOGMyNDE1MDU3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9NZW1vcnlSZWxlYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lbW9y
eVJlbGVhc2UuY3BwCkBAIC00MSw3ICs0MSw3IEBACiAjaW5jbHVkZSAiSFRNTE1lZGlhRWxlbWVu
dC5oIgogI2luY2x1ZGUgIklubGluZVN0eWxlU2hlZXRPd25lci5oIgogI2luY2x1ZGUgIkluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbi5oIgotI2luY2x1ZGUgIkxheW91dEludGVncmF0aW9uTGluZUxh
eW91dC5oIgorI2luY2x1ZGUgIkxheW91dEJyaWRnZUxpbmVMYXlvdXQuaCIKICNpbmNsdWRlICJM
b2dnaW5nLmgiCiAjaW5jbHVkZSAiTWVtb3J5Q2FjaGUuaCIKICNpbmNsdWRlICJQYWdlLmgiCkBA
IC03Nyw3ICs3Nyw3IEBAIHN0YXRpYyB2b2lkIHJlbGVhc2VOb25jcml0aWNhbE1lbW9yeShNYWlu
dGFpbk1lbW9yeUNhY2hlIG1haW50YWluTWVtb3J5Q2FjaGUpCiAKICNpZiBFTkFCTEUoTEFZT1VU
X0ZPUk1BVFRJTkdfQ09OVEVYVCkKICAgICAgICAgaWYgKGF1dG8qIHJlbmRlclZpZXcgPSBkb2N1
bWVudC0+cmVuZGVyVmlldygpKQotICAgICAgICAgICAgTGF5b3V0SW50ZWdyYXRpb246OkxpbmVM
YXlvdXQ6OnJlbGVhc2VDYWNoZXMoKnJlbmRlclZpZXcpOworICAgICAgICAgICAgTGF5b3V0QnJp
ZGdlOjpMaW5lTGF5b3V0OjpyZWxlYXNlQ2FjaGVzKCpyZW5kZXJWaWV3KTsKICNlbmRpZgogICAg
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0NhcmV0UmVjdENvbXB1
dGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9DYXJldFJlY3RDb21wdXRhdGlv
bi5jcHAKaW5kZXggNGE5ODYxOWIyZGNkLi42NWU0NDA4NmZlYTkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9DYXJldFJlY3RDb21wdXRhdGlvbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL0NhcmV0UmVjdENvbXB1dGF0aW9uLmNwcApAQCAtMjcsOCArMjcs
OCBAQAogI2luY2x1ZGUgIkNhcmV0UmVjdENvbXB1dGF0aW9uLmgiCiAKICNpbmNsdWRlICJFZGl0
aW5nLmgiCi0jaW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3IuaCIKLSNpbmNs
dWRlICJMYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yLmgiCisjaW5jbHVkZSAiTGF5b3V0QnJp
ZGdlTGluZUl0ZXJhdG9yLmgiCisjaW5jbHVkZSAiTGF5b3V0QnJpZGdlUnVuSXRlcmF0b3IuaCIK
ICNpbmNsdWRlICJSZW5kZXJCbG9ja0Zsb3cuaCIKICNpbmNsdWRlICJSZW5kZXJJbmxpbmUuaCIK
ICNpbmNsdWRlICJSZW5kZXJMaW5lQnJlYWsuaCIKQEAgLTEwOSw3ICsxMDksNyBAQCBzdGF0aWMg
TGF5b3V0UmVjdCBjb21wdXRlQ2FyZXRSZWN0Rm9yRW1wdHlFbGVtZW50KGNvbnN0IFJlbmRlckJv
eE1vZGVsT2JqZWN0JiByZQogICAgIHJldHVybiBjdXJyZW50U3R5bGUuaXNIb3Jpem9udGFsV3Jp
dGluZ01vZGUoKSA/IHJlY3QgOiByZWN0LnRyYW5zcG9zZWRSZWN0KCk7CiB9CiAKLXN0YXRpYyBM
YXlvdXRSZWN0IGNvbXB1dGVDYXJldFJlY3RGb3JMaW5lUG9zaXRpb24oY29uc3QgTGF5b3V0SW50
ZWdyYXRpb246OkxpbmVJdGVyYXRvciYgbGluZSwgZmxvYXQgbG9naWNhbExlZnRQb3NpdGlvbiwg
Q2FyZXRSZWN0TW9kZSBjYXJldFJlY3RNb2RlKQorc3RhdGljIExheW91dFJlY3QgY29tcHV0ZUNh
cmV0UmVjdEZvckxpbmVQb3NpdGlvbihjb25zdCBMYXlvdXRCcmlkZ2U6OkxpbmVJdGVyYXRvciYg
bGluZSwgZmxvYXQgbG9naWNhbExlZnRQb3NpdGlvbiwgQ2FyZXRSZWN0TW9kZSBjYXJldFJlY3RN
b2RlKQogewogICAgIGF1dG8mIGNvbnRhaW5pbmdCbG9jayA9IGxpbmUtPmNvbnRhaW5pbmdCbG9j
aygpOwogICAgIGF1dG8gbGluZVNlbGVjdGlvblJlY3QgPSBsaW5lLT5zZWxlY3Rpb25SZWN0KCk7
CkBAIC0xNzEsNyArMTcxLDcgQEAgc3RhdGljIExheW91dFJlY3QgY29tcHV0ZUNhcmV0UmVjdEZv
clRleHQoY29uc3QgSW5saW5lUnVuQW5kT2Zmc2V0JiBydW5BbmRPZmZzZXQKICAgICBpZiAoIXJ1
bkFuZE9mZnNldC5ydW4pCiAgICAgICAgIHJldHVybiB7IH07CiAKLSAgICBhdXRvJiB0ZXh0UnVu
ID0gZG93bmNhc3Q8TGF5b3V0SW50ZWdyYXRpb246OlRleHRSdW5JdGVyYXRvcj4ocnVuQW5kT2Zm
c2V0LnJ1bik7CisgICAgYXV0byYgdGV4dFJ1biA9IGRvd25jYXN0PExheW91dEJyaWRnZTo6VGV4
dFJ1bkl0ZXJhdG9yPihydW5BbmRPZmZzZXQucnVuKTsKICAgICBhdXRvIGxpbmUgPSB0ZXh0UnVu
LmxpbmUoKTsKIAogICAgIGZsb2F0IHBvc2l0aW9uID0gdGV4dFJ1bi0+cG9zaXRpb25Gb3JPZmZz
ZXQocnVuQW5kT2Zmc2V0Lm9mZnNldCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCbG9ja0Zsb3cuY3BwCmluZGV4IDQ4OTc1YjdlY2ZjMy4uODc3Yjc1NDNiMDg4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcApAQCAtMzQsOSArMzQs
OSBAQAogI2luY2x1ZGUgIkhUTUxUZXh0QXJlYUVsZW1lbnQuaCIKICNpbmNsdWRlICJIaXRUZXN0
TG9jYXRpb24uaCIKICNpbmNsdWRlICJJbmxpbmVJdGVyYXRvci5oIgotI2luY2x1ZGUgIkxheW91
dEludGVncmF0aW9uTGluZUl0ZXJhdG9yLmgiCi0jaW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRpb25M
aW5lTGF5b3V0LmgiCi0jaW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvci5oIgor
I2luY2x1ZGUgIkxheW91dEJyaWRnZUxpbmVJdGVyYXRvci5oIgorI2luY2x1ZGUgIkxheW91dEJy
aWRnZUxpbmVMYXlvdXQuaCIKKyNpbmNsdWRlICJMYXlvdXRCcmlkZ2VSdW5JdGVyYXRvci5oIgog
I2luY2x1ZGUgIkxheW91dFJlcGFpbnRlci5oIgogI2luY2x1ZGUgIkxlZ2FjeUlubGluZVRleHRC
b3guaCIKICNpbmNsdWRlICJMZWdhY3lMaW5lTGF5b3V0LmgiCkBAIC02ODQsNyArNjg0LDcgQEAg
dm9pZCBSZW5kZXJCbG9ja0Zsb3c6OmxheW91dElubGluZUNoaWxkcmVuKGJvb2wgcmVsYXlvdXRD
aGlsZHJlbiwgTGF5b3V0VW5pdCYgcmUKIHsKICAgICBhdXRvIGNvbXB1dGVMaW5lTGF5b3V0UGF0
aCA9IFsmXSB7CiAjaWYgRU5BQkxFKExBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpCi0gICAgICAg
IGlmIChMYXlvdXRJbnRlZ3JhdGlvbjo6TGluZUxheW91dDo6Y2FuVXNlRm9yKCp0aGlzKSkKKyAg
ICAgICAgaWYgKExheW91dEJyaWRnZTo6TGluZUxheW91dDo6Y2FuVXNlRm9yKCp0aGlzKSkKICAg
ICAgICAgICAgIHJldHVybiBNb2Rlcm5QYXRoOwogI2VuZGlmCiAgICAgICAgIHJldHVybiBMaW5l
Qm94ZXNQYXRoOwpAQCAtMjEzNCw3ICsyMTM0LDcgQEAgdm9pZCBSZW5kZXJCbG9ja0Zsb3c6OnN0
eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSBkaWZmLCBjb25zdCBSZW5kZXJTdHlsZSogb2wK
ICAgICAgICAgICAgIGlmIChzZWxmTmVlZHNMYXlvdXQoKSB8fCBsZWdhY3lMaW5lTGF5b3V0KCkp
CiAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAjaWYgRU5BQkxFKExBWU9VVF9GT1JNQVRU
SU5HX0NPTlRFWFQpCi0gICAgICAgICAgICBpZiAobW9kZXJuTGluZUxheW91dCgpICYmICFMYXlv
dXRJbnRlZ3JhdGlvbjo6TGluZUxheW91dDo6Y2FuVXNlRm9yQWZ0ZXJTdHlsZUNoYW5nZSgqdGhp
cywgZGlmZikpCisgICAgICAgICAgICBpZiAobW9kZXJuTGluZUxheW91dCgpICYmICFMYXlvdXRC
cmlkZ2U6OkxpbmVMYXlvdXQ6OmNhblVzZUZvckFmdGVyU3R5bGVDaGFuZ2UoKnRoaXMsIGRpZmYp
KQogICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogI2VuZGlmCiAgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CkBAIC0zMzg5LDcgKzMzODksNyBAQCBib29sIFJlbmRlckJsb2NrRmxvdzo6Y29u
dGFpbnNOb25aZXJvQmlkaUxldmVsKCkgY29uc3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXN0
YXRpYyBQb3NpdGlvbiBwb3NpdGlvbkZvclJ1bihjb25zdCBSZW5kZXJCbG9ja0Zsb3cmIGZsb3cs
IExheW91dEludGVncmF0aW9uOjpSdW5JdGVyYXRvciBydW4sIGJvb2wgc3RhcnQpCitzdGF0aWMg
UG9zaXRpb24gcG9zaXRpb25Gb3JSdW4oY29uc3QgUmVuZGVyQmxvY2tGbG93JiBmbG93LCBMYXlv
dXRCcmlkZ2U6OlJ1bkl0ZXJhdG9yIHJ1biwgYm9vbCBzdGFydCkKIHsKICAgICBpZiAoIXJ1bikK
ICAgICAgICAgcmV0dXJuIFBvc2l0aW9uKCk7CkBAIC0zMzk3LDEwICszMzk3LDEwIEBAIHN0YXRp
YyBQb3NpdGlvbiBwb3NpdGlvbkZvclJ1bihjb25zdCBSZW5kZXJCbG9ja0Zsb3cmIGZsb3csIExh
eW91dEludGVncmF0aW9uOjpSCiAgICAgaWYgKCFydW4tPnJlbmRlcmVyKCkubm9uUHNldWRvTm9k
ZSgpKQogICAgICAgICByZXR1cm4gbWFrZURlcHJlY2F0ZWRMZWdhY3lQb3NpdGlvbihmbG93Lm5v
blBzZXVkb0VsZW1lbnQoKSwgc3RhcnQgPyBmbG93LmNhcmV0TWluT2Zmc2V0KCkgOiBmbG93LmNh
cmV0TWF4T2Zmc2V0KCkpOwogCi0gICAgaWYgKCFpczxMYXlvdXRJbnRlZ3JhdGlvbjo6VGV4dFJ1
bkl0ZXJhdG9yPihydW4pKQorICAgIGlmICghaXM8TGF5b3V0QnJpZGdlOjpUZXh0UnVuSXRlcmF0
b3I+KHJ1bikpCiAgICAgICAgIHJldHVybiBtYWtlRGVwcmVjYXRlZExlZ2FjeVBvc2l0aW9uKHJ1
bi0+cmVuZGVyZXIoKS5ub25Qc2V1ZG9Ob2RlKCksIHN0YXJ0ID8gcnVuLT5yZW5kZXJlcigpLmNh
cmV0TWluT2Zmc2V0KCkgOiBydW4tPnJlbmRlcmVyKCkuY2FyZXRNYXhPZmZzZXQoKSk7CiAKLSAg
ICBhdXRvJiB0ZXh0UnVuID0gZG93bmNhc3Q8TGF5b3V0SW50ZWdyYXRpb246OlRleHRSdW5JdGVy
YXRvcj4ocnVuKTsKKyAgICBhdXRvJiB0ZXh0UnVuID0gZG93bmNhc3Q8TGF5b3V0QnJpZGdlOjpU
ZXh0UnVuSXRlcmF0b3I+KHJ1bik7CiAgICAgcmV0dXJuIG1ha2VEZXByZWNhdGVkTGVnYWN5UG9z
aXRpb24odGV4dFJ1bi0+cmVuZGVyZXIoKS5ub25Qc2V1ZG9Ob2RlKCksIHN0YXJ0ID8gdGV4dFJ1
bi0+c3RhcnQoKSA6IHRleHRSdW4tPmVuZCgpKTsKIH0KIApAQCAtMzQ1Myw3ICszNDUzLDcgQEAg
UmVuZGVyVGV4dCogUmVuZGVyQmxvY2tGbG93OjpmaW5kQ2xvc2VzdFRleHRBdEFic29sdXRlUG9p
bnQoY29uc3QgRmxvYXRQb2ludCYgcG8KICAgICAvLyBPbmx5IGNoZWNrIHRoZSBnYXBzIGJldHdl
ZW4gdGhlIHJvb3QgbGluZSBib3hlcy4gV2UgZGVsaWJlcmF0ZWx5IGlnbm9yZSBvdmVyZmxvdyBi
ZWNhdXNlCiAgICAgLy8gZXhwZXJpZW5jZSBoYXMgc2hvd24gdGhhdCBoaXQgdGVzdHMgb24gYW4g
ZXhwbG9kZWQgdGV4dCBub2RlIGNhbiBmYWlsIHdoZW4gd2l0aGluIHRoZQogICAgIC8vIG92ZXJm
bG93IGZyYWdtZW50LgotICAgIGZvciAoYXV0byBjdXJyZW50ID0gTGF5b3V0SW50ZWdyYXRpb246
OmZpcnN0TGluZUZvcihibG9ja0Zsb3cpLCBsYXN0ID0gTGF5b3V0SW50ZWdyYXRpb246Omxhc3RM
aW5lRm9yKGJsb2NrRmxvdyk7IGN1cnJlbnQgJiYgY3VycmVudCAhPSBsYXN0OyBjdXJyZW50LnRy
YXZlcnNlTmV4dCgpKSB7CisgICAgZm9yIChhdXRvIGN1cnJlbnQgPSBMYXlvdXRCcmlkZ2U6OmZp
cnN0TGluZUZvcihibG9ja0Zsb3cpLCBsYXN0ID0gTGF5b3V0QnJpZGdlOjpsYXN0TGluZUZvcihi
bG9ja0Zsb3cpOyBjdXJyZW50ICYmIGN1cnJlbnQgIT0gbGFzdDsgY3VycmVudC50cmF2ZXJzZU5l
eHQoKSkgewogICAgICAgICBmbG9hdCBjdXJyZW50Qm90dG9tID0gY3VycmVudC0+eSgpICsgY3Vy
cmVudC0+bG9naWNhbEhlaWdodCgpOwogICAgICAgICBpZiAobG9jYWxQb2ludC55KCkgPCBjdXJy
ZW50Qm90dG9tKQogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CkBAIC0zNDczLDcgKzM0NzMs
NyBAQCBWaXNpYmxlUG9zaXRpb24gUmVuZGVyQmxvY2tGbG93Ojpwb3NpdGlvbkZvclBvaW50V2l0
aElubGluZUNoaWxkcmVuKGNvbnN0IExheW91dAogewogICAgIEFTU0VSVChjaGlsZHJlbklubGlu
ZSgpKTsKIAotICAgIGF1dG8gZmlyc3RMaW5lID0gTGF5b3V0SW50ZWdyYXRpb246OmZpcnN0TGlu
ZUZvcigqdGhpcyk7CisgICAgYXV0byBmaXJzdExpbmUgPSBMYXlvdXRCcmlkZ2U6OmZpcnN0TGlu
ZUZvcigqdGhpcyk7CiAKICAgICBpZiAoIWZpcnN0TGluZSkKICAgICAgICAgcmV0dXJuIGNyZWF0
ZVZpc2libGVQb3NpdGlvbigwLCBBZmZpbml0eTo6RG93bnN0cmVhbSk7CkBAIC0zNDgyLDkgKzM0
ODIsOSBAQCBWaXNpYmxlUG9zaXRpb24gUmVuZGVyQmxvY2tGbG93Ojpwb3NpdGlvbkZvclBvaW50
V2l0aElubGluZUNoaWxkcmVuKGNvbnN0IExheW91dAogICAgIGJvb2wgYmxvY2tzQXJlRmxpcHBl
ZCA9IHN0eWxlKCkuaXNGbGlwcGVkQmxvY2tzV3JpdGluZ01vZGUoKTsKIAogICAgIC8vIGxvb2sg
Zm9yIHRoZSBjbG9zZXN0IGxpbmUgYm94IGluIHRoZSByb290IGJveCB3aGljaCBpcyBhdCB0aGUg
cGFzc2VkLWluIHkgY29vcmRpbmF0ZQotICAgIExheW91dEludGVncmF0aW9uOjpSdW5JdGVyYXRv
ciBjbG9zZXN0UnVuOwotICAgIExheW91dEludGVncmF0aW9uOjpMaW5lSXRlcmF0b3IgZmlyc3RM
aW5lV2l0aENoaWxkcmVuOwotICAgIExheW91dEludGVncmF0aW9uOjpMaW5lSXRlcmF0b3IgbGFz
dExpbmVXaXRoQ2hpbGRyZW47CisgICAgTGF5b3V0QnJpZGdlOjpSdW5JdGVyYXRvciBjbG9zZXN0
UnVuOworICAgIExheW91dEJyaWRnZTo6TGluZUl0ZXJhdG9yIGZpcnN0TGluZVdpdGhDaGlsZHJl
bjsKKyAgICBMYXlvdXRCcmlkZ2U6OkxpbmVJdGVyYXRvciBsYXN0TGluZVdpdGhDaGlsZHJlbjsK
ICAgICBmb3IgKGF1dG8gbGluZSA9IGZpcnN0TGluZTsgbGluZTsgbGluZS50cmF2ZXJzZU5leHQo
KSkgewogICAgICAgICBpZiAoZnJhZ21lbnQgJiYgbGluZS0+bGVnYWN5Um9vdElubGluZUJveCgp
ICYmIGxpbmUtPmxlZ2FjeVJvb3RJbmxpbmVCb3goKS0+Y29udGFpbmluZ0ZyYWdtZW50KCkgIT0g
ZnJhZ21lbnQpCiAgICAgICAgICAgICBjb250aW51ZTsKQEAgLTM2ODksNyArMzY4OSw3IEBAIHZv
aWQgUmVuZGVyQmxvY2tGbG93OjpsYXlvdXRNb2Rlcm5MaW5lcyhib29sIHJlbGF5b3V0Q2hpbGRy
ZW4sIExheW91dFVuaXQmIHJlcGFpCiAgICAgYm9vbCBuZWVkc1VwZGF0ZVJlcGxhY2VkRGltZW5z
aW9ucyA9IGZhbHNlOwogCiAgICAgaWYgKCFtb2Rlcm5MaW5lTGF5b3V0KCkpIHsKLSAgICAgICAg
bV9saW5lTGF5b3V0ID0gbWFrZVVuaXF1ZTxMYXlvdXRJbnRlZ3JhdGlvbjo6TGluZUxheW91dD4o
KnRoaXMpOworICAgICAgICBtX2xpbmVMYXlvdXQgPSBtYWtlVW5pcXVlPExheW91dEJyaWRnZTo6
TGluZUxheW91dD4oKnRoaXMpOwogICAgICAgICBuZWVkc1VwZGF0ZVJlcGxhY2VkRGltZW5zaW9u
cyA9IHRydWU7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQmxvY2tGbG93LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tG
bG93LmgKaW5kZXggN2NjMGZkZWUzYjg0Li5mZjQxYWE3NWU4NDIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmgKQEAgLTM3LDcgKzM3LDcgQEAgY2xhc3MgUmVu
ZGVyTXVsdGlDb2x1bW5GbG93OwogY2xhc3MgUmVuZGVyUnVieVJ1bjsKIAogI2lmIEVOQUJMRShM
QVlPVVRfRk9STUFUVElOR19DT05URVhUKQotbmFtZXNwYWNlIExheW91dEludGVncmF0aW9uIHsK
K25hbWVzcGFjZSBMYXlvdXRCcmlkZ2UgewogY2xhc3MgTGluZUxheW91dDsKIH0KICNlbmRpZgpA
QCAtMzYwLDggKzM2MCw4IEBAIHB1YmxpYzoKICAgICBjb25zdCBMZWdhY3lMaW5lTGF5b3V0KiBs
ZWdhY3lMaW5lTGF5b3V0KCkgY29uc3Q7CiAgICAgTGVnYWN5TGluZUxheW91dCogbGVnYWN5TGlu
ZUxheW91dCgpOwogI2lmIEVOQUJMRShMQVlPVVRfRk9STUFUVElOR19DT05URVhUKQotICAgIGNv
bnN0IExheW91dEludGVncmF0aW9uOjpMaW5lTGF5b3V0KiBtb2Rlcm5MaW5lTGF5b3V0KCkgY29u
c3Q7Ci0gICAgTGF5b3V0SW50ZWdyYXRpb246OkxpbmVMYXlvdXQqIG1vZGVybkxpbmVMYXlvdXQo
KTsKKyAgICBjb25zdCBMYXlvdXRCcmlkZ2U6OkxpbmVMYXlvdXQqIG1vZGVybkxpbmVMYXlvdXQo
KSBjb25zdDsKKyAgICBMYXlvdXRCcmlkZ2U6OkxpbmVMYXlvdXQqIG1vZGVybkxpbmVMYXlvdXQo
KTsKICNlbmRpZgogCiAgICAgdm9pZCBlbnN1cmVMaW5lQm94ZXMoKTsKQEAgLTU4OCw3ICs1ODgs
NyBAQCBwcml2YXRlOgogICAgIFZhcmlhbnQ8CiAgICAgICAgIFdURjo6TW9ub3N0YXRlLAogI2lm
IEVOQUJMRShMQVlPVVRfRk9STUFUVElOR19DT05URVhUKQotICAgICAgICBzdGQ6OnVuaXF1ZV9w
dHI8TGF5b3V0SW50ZWdyYXRpb246OkxpbmVMYXlvdXQ+LAorICAgICAgICBzdGQ6OnVuaXF1ZV9w
dHI8TGF5b3V0QnJpZGdlOjpMaW5lTGF5b3V0PiwKICNlbmRpZgogICAgICAgICBzdGQ6OnVuaXF1
ZV9wdHI8TGVnYWN5TGluZUxheW91dD4KICAgICA+IG1fbGluZUxheW91dDsKQEAgLTYyMSwxNyAr
NjIxLDE3IEBAIGlubGluZSBMZWdhY3lMaW5lTGF5b3V0KiBSZW5kZXJCbG9ja0Zsb3c6OmxlZ2Fj
eUxpbmVMYXlvdXQoKQogI2lmIEVOQUJMRShMQVlPVVRfRk9STUFUVElOR19DT05URVhUKQogaW5s
aW5lIGJvb2wgUmVuZGVyQmxvY2tGbG93OjpoYXNNb2Rlcm5MaW5lTGF5b3V0KCkgY29uc3QKIHsK
LSAgICByZXR1cm4gV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxzdGQ6OnVuaXF1ZV9wdHI8TGF5b3V0
SW50ZWdyYXRpb246OkxpbmVMYXlvdXQ+PihtX2xpbmVMYXlvdXQpOworICAgIHJldHVybiBXVEY6
OmhvbGRzX2FsdGVybmF0aXZlPHN0ZDo6dW5pcXVlX3B0cjxMYXlvdXRCcmlkZ2U6OkxpbmVMYXlv
dXQ+PihtX2xpbmVMYXlvdXQpOwogfQogCi1pbmxpbmUgY29uc3QgTGF5b3V0SW50ZWdyYXRpb246
OkxpbmVMYXlvdXQqIFJlbmRlckJsb2NrRmxvdzo6bW9kZXJuTGluZUxheW91dCgpIGNvbnN0Citp
bmxpbmUgY29uc3QgTGF5b3V0QnJpZGdlOjpMaW5lTGF5b3V0KiBSZW5kZXJCbG9ja0Zsb3c6Om1v
ZGVybkxpbmVMYXlvdXQoKSBjb25zdAogewotICAgIHJldHVybiBoYXNNb2Rlcm5MaW5lTGF5b3V0
KCkgPyBXVEY6OmdldDxzdGQ6OnVuaXF1ZV9wdHI8TGF5b3V0SW50ZWdyYXRpb246OkxpbmVMYXlv
dXQ+PihtX2xpbmVMYXlvdXQpLmdldCgpIDogbnVsbHB0cjsKKyAgICByZXR1cm4gaGFzTW9kZXJu
TGluZUxheW91dCgpID8gV1RGOjpnZXQ8c3RkOjp1bmlxdWVfcHRyPExheW91dEJyaWRnZTo6TGlu
ZUxheW91dD4+KG1fbGluZUxheW91dCkuZ2V0KCkgOiBudWxscHRyOwogfQogCi1pbmxpbmUgTGF5
b3V0SW50ZWdyYXRpb246OkxpbmVMYXlvdXQqIFJlbmRlckJsb2NrRmxvdzo6bW9kZXJuTGluZUxh
eW91dCgpCitpbmxpbmUgTGF5b3V0QnJpZGdlOjpMaW5lTGF5b3V0KiBSZW5kZXJCbG9ja0Zsb3c6
Om1vZGVybkxpbmVMYXlvdXQoKQogewotICAgIHJldHVybiBoYXNNb2Rlcm5MaW5lTGF5b3V0KCkg
PyBXVEY6OmdldDxzdGQ6OnVuaXF1ZV9wdHI8TGF5b3V0SW50ZWdyYXRpb246OkxpbmVMYXlvdXQ+
PihtX2xpbmVMYXlvdXQpLmdldCgpIDogbnVsbHB0cjsKKyAgICByZXR1cm4gaGFzTW9kZXJuTGlu
ZUxheW91dCgpID8gV1RGOjpnZXQ8c3RkOjp1bmlxdWVfcHRyPExheW91dEJyaWRnZTo6TGluZUxh
eW91dD4+KG1fbGluZUxheW91dCkuZ2V0KCkgOiBudWxscHRyOwogfQogI2VuZGlmCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKaW5kZXggYTFkMmY4YWJiYjE1Li5mYzNlZTk3
MGUzMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCkBAIC00OCw4ICs0
OCw4IEBACiAjaW5jbHVkZSAiSFRNTFRleHRBcmVhRWxlbWVudC5oIgogI2luY2x1ZGUgIkhpdFRl
c3RSZXN1bHQuaCIKICNpbmNsdWRlICJJbmxpbmVSdW5BbmRPZmZzZXQuaCIKLSNpbmNsdWRlICJM
YXlvdXRJbnRlZ3JhdGlvbkxpbmVJdGVyYXRvci5oIgotI2luY2x1ZGUgIkxheW91dEludGVncmF0
aW9uTGluZUxheW91dC5oIgorI2luY2x1ZGUgIkxheW91dEJyaWRnZUxpbmVJdGVyYXRvci5oIgor
I2luY2x1ZGUgIkxheW91dEJyaWRnZUxpbmVMYXlvdXQuaCIKICNpbmNsdWRlICJMZWdhY3lJbmxp
bmVFbGVtZW50Qm94LmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlBhaW50SW5mby5o
IgpAQCAtNDE3LDcgKzQxNyw3IEBAIHZvaWQgUmVuZGVyQm94OjpzdHlsZURpZENoYW5nZShTdHls
ZURpZmZlcmVuY2UgZGlmZiwgY29uc3QgUmVuZGVyU3R5bGUqIG9sZFN0eWxlCiAKICNpZiBFTkFC
TEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkKICAgICBpZiAoZGlmZiA+PSBTdHlsZURpZmZl
cmVuY2U6OlJlcGFpbnQpIHsKLSAgICAgICAgaWYgKGF1dG8qIGxpbmVMYXlvdXQgPSBMYXlvdXRJ
bnRlZ3JhdGlvbjo6TGluZUxheW91dDo6Y29udGFpbmluZygqdGhpcykpCisgICAgICAgIGlmIChh
dXRvKiBsaW5lTGF5b3V0ID0gTGF5b3V0QnJpZGdlOjpMaW5lTGF5b3V0Ojpjb250YWluaW5nKCp0
aGlzKSkKICAgICAgICAgICAgIGxpbmVMYXlvdXQtPnVwZGF0ZVN0eWxlKCp0aGlzKTsKICAgICB9
CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVt
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAppbmRl
eCA4Mjc3Y2Q0YzczNmUuLjE2OTc5M2NiZWY5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJFbGVtZW50LmNwcApAQCAtNDMsOCArNDMsOCBAQAogI2luY2x1ZGUgIkhUTUxIdG1s
RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxJbWFnZUVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1M
TmFtZXMuaCIKLSNpbmNsdWRlICJMYXlvdXRJbnRlZ3JhdGlvbkxpbmVJdGVyYXRvci5oIgotI2lu
Y2x1ZGUgIkxheW91dEludGVncmF0aW9uUnVuSXRlcmF0b3IuaCIKKyNpbmNsdWRlICJMYXlvdXRC
cmlkZ2VMaW5lSXRlcmF0b3IuaCIKKyNpbmNsdWRlICJMYXlvdXRCcmlkZ2VSdW5JdGVyYXRvci5o
IgogI2luY2x1ZGUgIkxlbmd0aEZ1bmN0aW9ucy5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNp
bmNsdWRlICJQYWdlLmgiCkBAIC0xNjMyLDEzICsxNjMyLDEzIEBAIGJvb2wgUmVuZGVyRWxlbWVu
dDo6Z2V0TGVhZGluZ0Nvcm5lcihGbG9hdFBvaW50JiBwb2ludCwgYm9vbCYgaW5zaWRlRml4ZWQp
IGNvbnN0CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgfQogCi0gICAgICAgIGlm
IChwLT5ub2RlKCkgJiYgcC0+bm9kZSgpID09IGVsZW1lbnQoKSAmJiBpczxSZW5kZXJUZXh0Pigq
bykgJiYgIUxheW91dEludGVncmF0aW9uOjpmaXJzdFRleHRSdW5Gb3IoZG93bmNhc3Q8UmVuZGVy
VGV4dD4oKm8pKSkgeworICAgICAgICBpZiAocC0+bm9kZSgpICYmIHAtPm5vZGUoKSA9PSBlbGVt
ZW50KCkgJiYgaXM8UmVuZGVyVGV4dD4oKm8pICYmICFMYXlvdXRCcmlkZ2U6OmZpcnN0VGV4dFJ1
bkZvcihkb3duY2FzdDxSZW5kZXJUZXh0PigqbykpKSB7CiAgICAgICAgICAgICAvLyBkbyBub3Ro
aW5nIC0gc2tpcCB1bnJlbmRlcmVkIHdoaXRlc3BhY2UgdGhhdCBpcyBhIGNoaWxkIG9yIG5leHQg
c2libGluZyBvZiB0aGUgYW5jaG9yCiAgICAgICAgIH0gZWxzZSBpZiAoaXM8UmVuZGVyVGV4dD4o
Km8pIHx8IG8tPmlzUmVwbGFjZWQoKSkgewogICAgICAgICAgICAgcG9pbnQgPSBGbG9hdFBvaW50
KCk7CiAgICAgICAgICAgICBpZiAoaXM8UmVuZGVyVGV4dD4oKm8pKSB7CiAgICAgICAgICAgICAg
ICAgYXV0byYgdGV4dFJlbmRlcmVyID0gZG93bmNhc3Q8UmVuZGVyVGV4dD4oKm8pOwotICAgICAg
ICAgICAgICAgIGlmIChhdXRvIHJ1biA9IExheW91dEludGVncmF0aW9uOjpmaXJzdFRleHRSdW5G
b3IodGV4dFJlbmRlcmVyKSkKKyAgICAgICAgICAgICAgICBpZiAoYXV0byBydW4gPSBMYXlvdXRC
cmlkZ2U6OmZpcnN0VGV4dFJ1bkZvcih0ZXh0UmVuZGVyZXIpKQogICAgICAgICAgICAgICAgICAg
ICBwb2ludC5tb3ZlKHRleHRSZW5kZXJlci5saW5lc0JvdW5kaW5nQm94KCkueCgpLCBydW4ubGlu
ZSgpLT50b3AoKSk7CiAgICAgICAgICAgICB9IGVsc2UgaWYgKGlzPFJlbmRlckJveD4oKm8pKQog
ICAgICAgICAgICAgICAgIHBvaW50Lm1vdmVCeShkb3duY2FzdDxSZW5kZXJCb3g+KCpvKS5sb2Nh
dGlvbigpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFn
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCmluZGV4IGVj
NGY4ZmZiZTcwMC4uOGQ4ODFiOTI1ZGE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVySW1hZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJJbWFnZS5jcHAKQEAgLTQ0LDggKzQ0LDggQEAKICNpbmNsdWRlICJIVE1MTWFwRWxlbWVudC5o
IgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIkhpdFRlc3RSZXN1bHQuaCIKLSNp
bmNsdWRlICJMYXlvdXRJbnRlZ3JhdGlvbkxpbmVJdGVyYXRvci5oIgotI2luY2x1ZGUgIkxheW91
dEludGVncmF0aW9uUnVuSXRlcmF0b3IuaCIKKyNpbmNsdWRlICJMYXlvdXRCcmlkZ2VMaW5lSXRl
cmF0b3IuaCIKKyNpbmNsdWRlICJMYXlvdXRCcmlkZ2VSdW5JdGVyYXRvci5oIgogI2luY2x1ZGUg
IlBhZ2UuaCIKICNpbmNsdWRlICJQYWludEluZm8uaCIKICNpbmNsdWRlICJSZW5kZXJDaGlsZEl0
ZXJhdG9yLmgiCkBAIC05MSw3ICs5MSw3IEBAIHZvaWQgUmVuZGVySW1hZ2U6OmNvbGxlY3RTZWxl
Y3Rpb25HZW9tZXRyaWVzKFZlY3RvcjxTZWxlY3Rpb25HZW9tZXRyeT4mIGdlb21ldHJpCiAgICAg
Ym9vbCBpc0ZpcnN0T25MaW5lID0gZmFsc2U7CiAgICAgYm9vbCBpc0xhc3RPbkxpbmUgPSBmYWxz
ZTsKIAotICAgIGF1dG8gcnVuID0gTGF5b3V0SW50ZWdyYXRpb246OnJ1bkZvcigqdGhpcyk7Cisg
ICAgYXV0byBydW4gPSBMYXlvdXRCcmlkZ2U6OnJ1bkZvcigqdGhpcyk7CiAgICAgaWYgKCFydW4p
IHsKICAgICAgICAgLy8gVGhpcyBpcyBhIGJsb2NrIGltYWdlLgogICAgICAgICBpbWFnZVJlY3Qg
PSBJbnRSZWN0KDAsIDAsIHdpZHRoKCksIGhlaWdodCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlcklubGluZS5jcHAKaW5kZXggZjQzNWNjNGY1YTAzLi4xZjU4MDZiMDUzOTAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCkBAIC0yOCw3ICsyOCw3
IEBACiAjaW5jbHVkZSAiRnJhbWVTZWxlY3Rpb24uaCIKICNpbmNsdWRlICJHcmFwaGljc0NvbnRl
eHQuaCIKICNpbmNsdWRlICJIaXRUZXN0UmVzdWx0LmgiCi0jaW5jbHVkZSAiTGF5b3V0SW50ZWdy
YXRpb25MaW5lTGF5b3V0LmgiCisjaW5jbHVkZSAiTGF5b3V0QnJpZGdlTGluZUxheW91dC5oIgog
I2luY2x1ZGUgIkxlZ2FjeUlubGluZUVsZW1lbnRCb3guaCIKICNpbmNsdWRlICJMZWdhY3lJbmxp
bmVUZXh0Qm94LmgiCiAjaW5jbHVkZSAiUmVuZGVyQmxvY2suaCIKQEAgLTE5NywxMCArMTk3LDEw
IEBAIHZvaWQgUmVuZGVySW5saW5lOjpzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UgZGlm
ZiwgY29uc3QgUmVuZGVyU3R5bGUqIG9sZFN0CiAKICNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJ
TkdfQ09OVEVYVCkKICAgICBpZiAoZGlmZiA+PSBTdHlsZURpZmZlcmVuY2U6OlJlcGFpbnQpIHsK
LSAgICAgICAgaWYgKGF1dG8qIGxpbmVMYXlvdXQgPSBMYXlvdXRJbnRlZ3JhdGlvbjo6TGluZUxh
eW91dDo6Y29udGFpbmluZygqdGhpcykpIHsKKyAgICAgICAgaWYgKGF1dG8qIGxpbmVMYXlvdXQg
PSBMYXlvdXRCcmlkZ2U6OkxpbmVMYXlvdXQ6OmNvbnRhaW5pbmcoKnRoaXMpKSB7CiAgICAgICAg
ICAgICBpZiAoc2VsZk5lZWRzTGF5b3V0KCkpIHsKICAgICAgICAgICAgICAgICAvLyBGSVhNRTog
QWRkIHN1cHBvcnQgZm9yIHBhcnRpYWwgaW52YWxpZGF0aW9uLgotICAgICAgICAgICAgICAgIGlm
IChhdXRvKiBjb250YWluZXIgPSBMYXlvdXRJbnRlZ3JhdGlvbjo6TGluZUxheW91dDo6YmxvY2tD
b250YWluZXIoKnRoaXMpKQorICAgICAgICAgICAgICAgIGlmIChhdXRvKiBjb250YWluZXIgPSBM
YXlvdXRCcmlkZ2U6OkxpbmVMYXlvdXQ6OmJsb2NrQ29udGFpbmVyKCp0aGlzKSkKICAgICAgICAg
ICAgICAgICAgICAgY29udGFpbmVyLT5pbnZhbGlkYXRlTGluZUxheW91dFBhdGgoKTsKICAgICAg
ICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgIGxpbmVMYXlvdXQtPnVwZGF0ZVN0eWxlKCp0
aGlzKTsKQEAgLTM2OCw3ICszNjgsNyBAQCBwcml2YXRlOgogdm9pZCBSZW5kZXJJbmxpbmU6OmFi
c29sdXRlUmVjdHMoVmVjdG9yPEludFJlY3Q+JiByZWN0cywgY29uc3QgTGF5b3V0UG9pbnQmIGFj
Y3VtdWxhdGVkT2Zmc2V0KSBjb25zdAogewogI2lmIEVOQUJMRShMQVlPVVRfRk9STUFUVElOR19D
T05URVhUKQotICAgIGlmIChhdXRvKiBsaW5lTGF5b3V0ID0gTGF5b3V0SW50ZWdyYXRpb246Okxp
bmVMYXlvdXQ6OmNvbnRhaW5pbmcoY29uc3RfY2FzdDxSZW5kZXJJbmxpbmUmPigqdGhpcykpKQor
ICAgIGlmIChhdXRvKiBsaW5lTGF5b3V0ID0gTGF5b3V0QnJpZGdlOjpMaW5lTGF5b3V0Ojpjb250
YWluaW5nKGNvbnN0X2Nhc3Q8UmVuZGVySW5saW5lJj4oKnRoaXMpKSkKICAgICAgICAgbGluZUxh
eW91dC0+ZmxvdygpLmVuc3VyZUxpbmVCb3hlcygpOwogI2VuZGlmCiAgICAgVmVjdG9yPExheW91
dFJlY3Q+IGxpbmVib3hSZWN0czsKQEAgLTQxMiw3ICs0MTIsNyBAQCBwcml2YXRlOgogdm9pZCBS
ZW5kZXJJbmxpbmU6OmFic29sdXRlUXVhZHMoVmVjdG9yPEZsb2F0UXVhZD4mIHF1YWRzLCBib29s
KiB3YXNGaXhlZCkgY29uc3QKIHsKICNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVY
VCkKLSAgICBpZiAoYXV0byogbGluZUxheW91dCA9IExheW91dEludGVncmF0aW9uOjpMaW5lTGF5
b3V0Ojpjb250YWluaW5nKGNvbnN0X2Nhc3Q8UmVuZGVySW5saW5lJj4oKnRoaXMpKSkKKyAgICBp
ZiAoYXV0byogbGluZUxheW91dCA9IExheW91dEJyaWRnZTo6TGluZUxheW91dDo6Y29udGFpbmlu
Zyhjb25zdF9jYXN0PFJlbmRlcklubGluZSY+KCp0aGlzKSkpCiAgICAgICAgIGxpbmVMYXlvdXQt
PmZsb3coKS5lbnN1cmVMaW5lQm94ZXMoKTsKICNlbmRpZgogICAgIGFic29sdXRlUXVhZHNJZ25v
cmluZ0NvbnRpbnVhdGlvbih7IH0sIHF1YWRzLCB3YXNGaXhlZCk7CkBAIC00MjMsNyArNDIzLDcg
QEAgdm9pZCBSZW5kZXJJbmxpbmU6OmFic29sdXRlUXVhZHMoVmVjdG9yPEZsb2F0UXVhZD4mIHF1
YWRzLCBib29sKiB3YXNGaXhlZCkgY29uc3QKIHZvaWQgUmVuZGVySW5saW5lOjphYnNvbHV0ZVF1
YWRzSWdub3JpbmdDb250aW51YXRpb24oY29uc3QgRmxvYXRSZWN0JiwgVmVjdG9yPEZsb2F0UXVh
ZD4mIHF1YWRzLCBib29sKikgY29uc3QKIHsKICNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdf
Q09OVEVYVCkKLSAgICBpZiAoYXV0byogbGluZUxheW91dCA9IExheW91dEludGVncmF0aW9uOjpM
aW5lTGF5b3V0Ojpjb250YWluaW5nKGNvbnN0X2Nhc3Q8UmVuZGVySW5saW5lJj4oKnRoaXMpKSkK
KyAgICBpZiAoYXV0byogbGluZUxheW91dCA9IExheW91dEJyaWRnZTo6TGluZUxheW91dDo6Y29u
dGFpbmluZyhjb25zdF9jYXN0PFJlbmRlcklubGluZSY+KCp0aGlzKSkpCiAgICAgICAgIGxpbmVM
YXlvdXQtPmZsb3coKS5lbnN1cmVMaW5lQm94ZXMoKTsKICNlbmRpZgogICAgIEFic29sdXRlUXVh
ZHNHZW5lcmF0b3JDb250ZXh0IGNvbnRleHQodGhpcywgcXVhZHMpOwpAQCAtNDM0LDcgKzQzNCw3
IEBAIHZvaWQgUmVuZGVySW5saW5lOjphYnNvbHV0ZVF1YWRzSWdub3JpbmdDb250aW51YXRpb24o
Y29uc3QgRmxvYXRSZWN0JiwgVmVjdG9yPEZsCiB2b2lkIFJlbmRlcklubGluZTo6YWJzb2x1dGVR
dWFkc0ZvclNlbGVjdGlvbihWZWN0b3I8RmxvYXRRdWFkPiYgcXVhZHMpIGNvbnN0CiB7CiAjaWYg
RU5BQkxFKExBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpCi0gICAgaWYgKGF1dG8qIGxpbmVMYXlv
dXQgPSBMYXlvdXRJbnRlZ3JhdGlvbjo6TGluZUxheW91dDo6Y29udGFpbmluZyhjb25zdF9jYXN0
PFJlbmRlcklubGluZSY+KCp0aGlzKSkpCisgICAgaWYgKGF1dG8qIGxpbmVMYXlvdXQgPSBMYXlv
dXRCcmlkZ2U6OkxpbmVMYXlvdXQ6OmNvbnRhaW5pbmcoY29uc3RfY2FzdDxSZW5kZXJJbmxpbmUm
PigqdGhpcykpKQogICAgICAgICBsaW5lTGF5b3V0LT5mbG93KCkuZW5zdXJlTGluZUJveGVzKCk7
CiAjZW5kaWYKICAgICBBYnNvbHV0ZVF1YWRzR2VuZXJhdG9yQ29udGV4dCBjb250ZXh0KHRoaXMs
IHF1YWRzKTsKQEAgLTQ0NSw3ICs0NDUsNyBAQCB2b2lkIFJlbmRlcklubGluZTo6YWJzb2x1dGVR
dWFkc0ZvclNlbGVjdGlvbihWZWN0b3I8RmxvYXRRdWFkPiYgcXVhZHMpIGNvbnN0CiBMYXlvdXRV
bml0IFJlbmRlcklubGluZTo6b2Zmc2V0TGVmdCgpIGNvbnN0CiB7CiAjaWYgRU5BQkxFKExBWU9V
VF9GT1JNQVRUSU5HX0NPTlRFWFQpCi0gICAgaWYgKGF1dG8qIGxpbmVMYXlvdXQgPSBMYXlvdXRJ
bnRlZ3JhdGlvbjo6TGluZUxheW91dDo6Y29udGFpbmluZyhjb25zdF9jYXN0PFJlbmRlcklubGlu
ZSY+KCp0aGlzKSkpCisgICAgaWYgKGF1dG8qIGxpbmVMYXlvdXQgPSBMYXlvdXRCcmlkZ2U6Okxp
bmVMYXlvdXQ6OmNvbnRhaW5pbmcoY29uc3RfY2FzdDxSZW5kZXJJbmxpbmUmPigqdGhpcykpKQog
ICAgICAgICBsaW5lTGF5b3V0LT5mbG93KCkuZW5zdXJlTGluZUJveGVzKCk7CiAjZW5kaWYKICAg
ICBMYXlvdXRQb2ludCB0b3BMZWZ0OwpAQCAtNDU3LDcgKzQ1Nyw3IEBAIExheW91dFVuaXQgUmVu
ZGVySW5saW5lOjpvZmZzZXRMZWZ0KCkgY29uc3QKIExheW91dFVuaXQgUmVuZGVySW5saW5lOjpv
ZmZzZXRUb3AoKSBjb25zdAogewogI2lmIEVOQUJMRShMQVlPVVRfRk9STUFUVElOR19DT05URVhU
KQotICAgIGlmIChhdXRvKiBsaW5lTGF5b3V0ID0gTGF5b3V0SW50ZWdyYXRpb246OkxpbmVMYXlv
dXQ6OmNvbnRhaW5pbmcoY29uc3RfY2FzdDxSZW5kZXJJbmxpbmUmPigqdGhpcykpKQorICAgIGlm
IChhdXRvKiBsaW5lTGF5b3V0ID0gTGF5b3V0QnJpZGdlOjpMaW5lTGF5b3V0Ojpjb250YWluaW5n
KGNvbnN0X2Nhc3Q8UmVuZGVySW5saW5lJj4oKnRoaXMpKSkKICAgICAgICAgbGluZUxheW91dC0+
ZmxvdygpLmVuc3VyZUxpbmVCb3hlcygpOwogI2VuZGlmCiAgICAgTGF5b3V0UG9pbnQgdG9wTGVm
dDsKQEAgLTUzNSw3ICs1MzUsNyBAQCBib29sIFJlbmRlcklubGluZTo6bm9kZUF0UG9pbnQoY29u
c3QgSGl0VGVzdFJlcXVlc3QmIHJlcXVlc3QsIEhpdFRlc3RSZXN1bHQmIHJlcwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBIaXRUZXN0TG9jYXRpb24mIGxvY2F0aW9uSW5D
b250YWluZXIsIGNvbnN0IExheW91dFBvaW50JiBhY2N1bXVsYXRlZE9mZnNldCwgSGl0VGVzdEFj
dGlvbiBoaXRUZXN0QWN0aW9uKQogewogI2lmIEVOQUJMRShMQVlPVVRfRk9STUFUVElOR19DT05U
RVhUKQotICAgIGlmIChhdXRvKiBsaW5lTGF5b3V0ID0gTGF5b3V0SW50ZWdyYXRpb246OkxpbmVM
YXlvdXQ6OmNvbnRhaW5pbmcoY29uc3RfY2FzdDxSZW5kZXJJbmxpbmUmPigqdGhpcykpKQorICAg
IGlmIChhdXRvKiBsaW5lTGF5b3V0ID0gTGF5b3V0QnJpZGdlOjpMaW5lTGF5b3V0Ojpjb250YWlu
aW5nKGNvbnN0X2Nhc3Q8UmVuZGVySW5saW5lJj4oKnRoaXMpKSkKICAgICAgICAgbGluZUxheW91
dC0+ZmxvdygpLmVuc3VyZUxpbmVCb3hlcygpOwogI2VuZGlmCiAgICAgcmV0dXJuIG1fbGluZUJv
eGVzLmhpdFRlc3QodGhpcywgcmVxdWVzdCwgcmVzdWx0LCBsb2NhdGlvbkluQ29udGFpbmVyLCBh
Y2N1bXVsYXRlZE9mZnNldCwgaGl0VGVzdEFjdGlvbik7CkBAIC02MzEsNyArNjMxLDcgQEAgcHJp
dmF0ZToKIEludFJlY3QgUmVuZGVySW5saW5lOjpsaW5lc0JvdW5kaW5nQm94KCkgY29uc3QKIHsK
ICNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkKLSAgICBpZiAoYXV0byogbGF5
b3V0ID0gTGF5b3V0SW50ZWdyYXRpb246OkxpbmVMYXlvdXQ6OmNvbnRhaW5pbmcoKnRoaXMpKQor
ICAgIGlmIChhdXRvKiBsYXlvdXQgPSBMYXlvdXRCcmlkZ2U6OkxpbmVMYXlvdXQ6OmNvbnRhaW5p
bmcoKnRoaXMpKQogICAgICAgICByZXR1cm4gZW5jbG9zaW5nSW50UmVjdChsYXlvdXQtPmVuY2xv
c2luZ0JvcmRlckJveFJlY3RGb3IoKnRoaXMpKTsKICNlbmRpZgogCkBAIC03NzQsNyArNzc0LDcg
QEAgTGF5b3V0UmVjdCBSZW5kZXJJbmxpbmU6OmN1bGxlZElubGluZVZpc3VhbE92ZXJmbG93Qm91
bmRpbmdCb3goKSBjb25zdAogTGF5b3V0UmVjdCBSZW5kZXJJbmxpbmU6OmxpbmVzVmlzdWFsT3Zl
cmZsb3dCb3VuZGluZ0JveCgpIGNvbnN0CiB7CiAjaWYgRU5BQkxFKExBWU9VVF9GT1JNQVRUSU5H
X0NPTlRFWFQpCi0gICAgaWYgKGF1dG8qIGxheW91dCA9IExheW91dEludGVncmF0aW9uOjpMaW5l
TGF5b3V0Ojpjb250YWluaW5nKCp0aGlzKSkKKyAgICBpZiAoYXV0byogbGF5b3V0ID0gTGF5b3V0
QnJpZGdlOjpMaW5lTGF5b3V0Ojpjb250YWluaW5nKCp0aGlzKSkKICAgICAgICAgcmV0dXJuIGxh
eW91dC0+dmlzdWFsT3ZlcmZsb3dCb3VuZGluZ0JveFJlY3RGb3IoKnRoaXMpOwogI2VuZGlmCiAK
QEAgLTg2MCw3ICs4NjAsNyBAQCBMYXlvdXRSZWN0IFJlbmRlcklubGluZTo6Y2xpcHBlZE92ZXJm
bG93UmVjdChjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiByZXBhaQogICAgICAgICBpZiAo
Y29udGludWF0aW9uKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAjaWYgRU5BQkxFKExB
WU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpCi0gICAgICAgIGlmIChMYXlvdXRJbnRlZ3JhdGlvbjo6
TGluZUxheW91dDo6Y29udGFpbmluZygqdGhpcykpCisgICAgICAgIGlmIChMYXlvdXRCcmlkZ2U6
OkxpbmVMYXlvdXQ6OmNvbnRhaW5pbmcoKnRoaXMpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OwogI2VuZGlmCiAgICAgICAgIHJldHVybiB0cnVlOwpAQCAtMTIyMSw3ICsxMjIxLDcgQEAgdm9p
ZCBSZW5kZXJJbmxpbmU6OmltYWdlQ2hhbmdlZChXcmFwcGVkSW1hZ2VQdHIsIGNvbnN0IEludFJl
Y3QqKQogdm9pZCBSZW5kZXJJbmxpbmU6OmFkZEZvY3VzUmluZ1JlY3RzKFZlY3RvcjxMYXlvdXRS
ZWN0PiYgcmVjdHMsIGNvbnN0IExheW91dFBvaW50JiBhZGRpdGlvbmFsT2Zmc2V0LCBjb25zdCBS
ZW5kZXJMYXllck1vZGVsT2JqZWN0KiBwYWludENvbnRhaW5lcikKIHsKICNpZiBFTkFCTEUoTEFZ
T1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkKLSAgICBpZiAoYXV0byogbGluZUxheW91dCA9IExheW91
dEludGVncmF0aW9uOjpMaW5lTGF5b3V0Ojpjb250YWluaW5nKGNvbnN0X2Nhc3Q8UmVuZGVySW5s
aW5lJj4oKnRoaXMpKSkKKyAgICBpZiAoYXV0byogbGluZUxheW91dCA9IExheW91dEJyaWRnZTo6
TGluZUxheW91dDo6Y29udGFpbmluZyhjb25zdF9jYXN0PFJlbmRlcklubGluZSY+KCp0aGlzKSkp
CiAgICAgICAgIGxpbmVMYXlvdXQtPmZsb3coKS5lbnN1cmVMaW5lQm94ZXMoKTsKICNlbmRpZgog
ICAgIEFic29sdXRlUmVjdHNHZW5lcmF0b3JDb250ZXh0IGNvbnRleHQocmVjdHMsIGFkZGl0aW9u
YWxPZmZzZXQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxp
bmVCcmVhay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGluZUJyZWFrLmNw
cAppbmRleCBhNTI5YjliMWNlNGEuLmM5OWI1ZjdkMThmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpbmVCcmVhay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxpbmVCcmVhay5jcHAKQEAgLTI3LDggKzI3LDggQEAKICNpbmNsdWRl
ICJIVE1MRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxXQlJFbGVtZW50LmgiCiAjaW5jbHVkZSAi
SW5saW5lUnVuQW5kT2Zmc2V0LmgiCi0jaW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRl
cmF0b3IuaCIKLSNpbmNsdWRlICJMYXlvdXRJbnRlZ3JhdGlvblJ1bkl0ZXJhdG9yLmgiCisjaW5j
bHVkZSAiTGF5b3V0QnJpZGdlTGluZUl0ZXJhdG9yLmgiCisjaW5jbHVkZSAiTGF5b3V0QnJpZGdl
UnVuSXRlcmF0b3IuaCIKICNpbmNsdWRlICJMZWdhY3lJbmxpbmVFbGVtZW50Qm94LmgiCiAjaW5j
bHVkZSAiTGVnYWN5Um9vdElubGluZUJveC5oIgogI2luY2x1ZGUgIkxvZ2ljYWxTZWxlY3Rpb25P
ZmZzZXRDYWNoZXMuaCIKQEAgLTE0NCw3ICsxNDQsNyBAQCBWaXNpYmxlUG9zaXRpb24gUmVuZGVy
TGluZUJyZWFrOjpwb3NpdGlvbkZvclBvaW50KGNvbnN0IExheW91dFBvaW50JiwgY29uc3QgUmVu
ZAogCiBJbnRSZWN0IFJlbmRlckxpbmVCcmVhazo6bGluZXNCb3VuZGluZ0JveCgpIGNvbnN0CiB7
Ci0gICAgYXV0byBydW4gPSBMYXlvdXRJbnRlZ3JhdGlvbjo6cnVuRm9yKCp0aGlzKTsKKyAgICBh
dXRvIHJ1biA9IExheW91dEJyaWRnZTo6cnVuRm9yKCp0aGlzKTsKICAgICBpZiAoIXJ1bikKICAg
ICAgICAgcmV0dXJuIHsgfTsKIApAQCAtMTUzLDcgKzE1Myw3IEBAIEludFJlY3QgUmVuZGVyTGlu
ZUJyZWFrOjpsaW5lc0JvdW5kaW5nQm94KCkgY29uc3QKIAogdm9pZCBSZW5kZXJMaW5lQnJlYWs6
OmFic29sdXRlUmVjdHMoVmVjdG9yPEludFJlY3Q+JiByZWN0cywgY29uc3QgTGF5b3V0UG9pbnQm
IGFjY3VtdWxhdGVkT2Zmc2V0KSBjb25zdAogewotICAgIGF1dG8gYm94ID0gTGF5b3V0SW50ZWdy
YXRpb246OnJ1bkZvcigqdGhpcyk7CisgICAgYXV0byBib3ggPSBMYXlvdXRCcmlkZ2U6OnJ1bkZv
cigqdGhpcyk7CiAgICAgaWYgKCFib3gpCiAgICAgICAgIHJldHVybjsKIApAQCAtMTYzLDcgKzE2
Myw3IEBAIHZvaWQgUmVuZGVyTGluZUJyZWFrOjphYnNvbHV0ZVJlY3RzKFZlY3RvcjxJbnRSZWN0
PiYgcmVjdHMsIGNvbnN0IExheW91dFBvaW50JiBhCiAKIHZvaWQgUmVuZGVyTGluZUJyZWFrOjph
YnNvbHV0ZVF1YWRzKFZlY3RvcjxGbG9hdFF1YWQ+JiBxdWFkcywgYm9vbCogd2FzRml4ZWQpIGNv
bnN0CiB7Ci0gICAgYXV0byBib3ggPSBMYXlvdXRJbnRlZ3JhdGlvbjo6cnVuRm9yKCp0aGlzKTsK
KyAgICBhdXRvIGJveCA9IExheW91dEJyaWRnZTo6cnVuRm9yKCp0aGlzKTsKICAgICBpZiAoIWJv
eCkKICAgICAgICAgcmV0dXJuOwogCkBAIC0xODAsNyArMTgwLDcgQEAgdm9pZCBSZW5kZXJMaW5l
QnJlYWs6OnVwZGF0ZUZyb21TdHlsZSgpCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKIHZvaWQg
UmVuZGVyTGluZUJyZWFrOjpjb2xsZWN0U2VsZWN0aW9uR2VvbWV0cmllcyhWZWN0b3I8U2VsZWN0
aW9uR2VvbWV0cnk+JiByZWN0cywgdW5zaWduZWQsIHVuc2lnbmVkKQogewotICAgIGF1dG8gcnVu
ID0gTGF5b3V0SW50ZWdyYXRpb246OnJ1bkZvcigqdGhpcyk7CisgICAgYXV0byBydW4gPSBMYXlv
dXRCcmlkZ2U6OnJ1bkZvcigqdGhpcyk7CiAKICAgICBpZiAoIXJ1bikKICAgICAgICAgcmV0dXJu
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAppbmRleCAwZGNmYmNm
NjAxZDMuLmI1MDAxZjM3N2QzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9i
amVjdC5jcHAKQEAgLTQxLDcgKzQxLDcgQEAKICNpbmNsdWRlICJIVE1MVGFibGVDZWxsRWxlbWVu
dC5oIgogI2luY2x1ZGUgIkhUTUxUYWJsZUVsZW1lbnQuaCIKICNpbmNsdWRlICJIaXRUZXN0UmVz
dWx0LmgiCi0jaW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0LmgiCisjaW5jbHVk
ZSAiTGF5b3V0QnJpZGdlTGluZUxheW91dC5oIgogI2luY2x1ZGUgIkxvZ2ljYWxTZWxlY3Rpb25P
ZmZzZXRDYWNoZXMuaCIKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUHNldWRvRWxlbWVu
dC5oIgpAQCAtMTQ5OSw3ICsxNDk5LDcgQEAgdm9pZCBSZW5kZXJPYmplY3Q6OndpbGxCZURlc3Ry
b3llZCgpCiB2b2lkIFJlbmRlck9iamVjdDo6aW5zZXJ0ZWRJbnRvVHJlZShJc0ludGVybmFsTW92
ZSkKIHsKICNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkKLSAgICBpZiAoYXV0
byogY29udGFpbmVyID0gTGF5b3V0SW50ZWdyYXRpb246OkxpbmVMYXlvdXQ6OmJsb2NrQ29udGFp
bmVyKCp0aGlzKSkKKyAgICBpZiAoYXV0byogY29udGFpbmVyID0gTGF5b3V0QnJpZGdlOjpMaW5l
TGF5b3V0OjpibG9ja0NvbnRhaW5lcigqdGhpcykpCiAgICAgICAgIGNvbnRhaW5lci0+aW52YWxp
ZGF0ZUxpbmVMYXlvdXRQYXRoKCk7CiAjZW5kaWYKIApAQCAtMTUxMSw3ICsxNTExLDcgQEAgdm9p
ZCBSZW5kZXJPYmplY3Q6Omluc2VydGVkSW50b1RyZWUoSXNJbnRlcm5hbE1vdmUpCiB2b2lkIFJl
bmRlck9iamVjdDo6d2lsbEJlUmVtb3ZlZEZyb21UcmVlKElzSW50ZXJuYWxNb3ZlKQogewogI2lm
IEVOQUJMRShMQVlPVVRfRk9STUFUVElOR19DT05URVhUKQotICAgIGlmIChhdXRvKiBjb250YWlu
ZXIgPSBMYXlvdXRJbnRlZ3JhdGlvbjo6TGluZUxheW91dDo6YmxvY2tDb250YWluZXIoKnRoaXMp
KQorICAgIGlmIChhdXRvKiBjb250YWluZXIgPSBMYXlvdXRCcmlkZ2U6OkxpbmVMYXlvdXQ6OmJs
b2NrQ29udGFpbmVyKCp0aGlzKSkKICAgICAgICAgY29udGFpbmVyLT5pbnZhbGlkYXRlTGluZUxh
eW91dFBhdGgoKTsKICNlbmRpZgogCkBAIC0xNzgyLDcgKzE3ODIsNyBAQCB2b2lkIFJlbmRlck9i
amVjdDo6c2V0U2VsZWN0aW9uU3RhdGUoSGlnaGxpZ2h0U3RhdGUgc3RhdGUpCiB7CiAjaWYgRU5B
QkxFKExBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpCiAgICAgaWYgKHN0YXRlICE9IEhpZ2hsaWdo
dFN0YXRlOjpOb25lKSB7Ci0gICAgICAgIGlmIChhdXRvKiBsaW5lTGF5b3V0ID0gTGF5b3V0SW50
ZWdyYXRpb246OkxpbmVMYXlvdXQ6OmNvbnRhaW5pbmcoKnRoaXMpKQorICAgICAgICBpZiAoYXV0
byogbGluZUxheW91dCA9IExheW91dEJyaWRnZTo6TGluZUxheW91dDo6Y29udGFpbmluZygqdGhp
cykpCiAgICAgICAgICAgICBsaW5lTGF5b3V0LT5mbG93KCkuZW5zdXJlTGluZUJveGVzKCk7CiAg
ICAgfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
UmVwbGFjZWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNw
cAppbmRleCBmYmUwMDNiYzU4NTMuLmMxZjgyMGMzMWFmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwCkBAIC0zNCw4ICszNCw4IEBACiAjaW5jbHVkZSAi
SFRNTFBhcnNlcklkaW9tcy5oIgogI2luY2x1ZGUgIkhpZ2hsaWdodERhdGEuaCIKICNpbmNsdWRl
ICJIaWdobGlnaHRSZWdpc3Rlci5oIgotI2luY2x1ZGUgIkxheW91dEludGVncmF0aW9uTGluZUl0
ZXJhdG9yLmgiCi0jaW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvci5oIgorI2lu
Y2x1ZGUgIkxheW91dEJyaWRnZUxpbmVJdGVyYXRvci5oIgorI2luY2x1ZGUgIkxheW91dEJyaWRn
ZVJ1bkl0ZXJhdG9yLmgiCiAjaW5jbHVkZSAiTGF5b3V0UmVwYWludGVyLmgiCiAjaW5jbHVkZSAi
UmVuZGVyQmxvY2suaCIKICNpbmNsdWRlICJSZW5kZXJGcmFnbWVudGVkRmxvdy5oIgpAQCAtNjg1
LDcgKzY4NSw3IEBAIHZvaWQgUmVuZGVyUmVwbGFjZWQ6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2Fs
V2lkdGhzKCkKIFZpc2libGVQb3NpdGlvbiBSZW5kZXJSZXBsYWNlZDo6cG9zaXRpb25Gb3JQb2lu
dChjb25zdCBMYXlvdXRQb2ludCYgcG9pbnQsIGNvbnN0IFJlbmRlckZyYWdtZW50Q29udGFpbmVy
KiBmcmFnbWVudCkKIHsKICAgICBhdXRvIFt0b3AsIGJvdHRvbV0gPSBbJl0gewotICAgICAgICBp
ZiAoYXV0byBydW4gPSBMYXlvdXRJbnRlZ3JhdGlvbjo6cnVuRm9yKCp0aGlzKSkgeworICAgICAg
ICBpZiAoYXV0byBydW4gPSBMYXlvdXRCcmlkZ2U6OnJ1bkZvcigqdGhpcykpIHsKICAgICAgICAg
ICAgIGF1dG8gbGluZSA9IHJ1bi5saW5lKCk7CiAgICAgICAgICAgICByZXR1cm4gc3RkOjptYWtl
X3BhaXIobGluZS0+c2VsZWN0aW9uVG9wRm9ySGl0VGVzdGluZygpLCBsaW5lLT5zZWxlY3Rpb25C
b3R0b20oKSk7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNw
cAppbmRleCA5ZDIzODcxNTM3NTUuLjZkZmUyNjY2ZjZjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUZXh0LmNwcApAQCAtMzYsOSArMzYsOSBAQAogI2luY2x1ZGUgIkhUTUxQYXJz
ZXJJZGlvbXMuaCIKICNpbmNsdWRlICJIeXBoZW5hdGlvbi5oIgogI2luY2x1ZGUgIklubGluZVJ1
bkFuZE9mZnNldC5oIgotI2luY2x1ZGUgIkxheW91dEludGVncmF0aW9uTGluZUl0ZXJhdG9yLmgi
Ci0jaW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0LmgiCi0jaW5jbHVkZSAiTGF5
b3V0SW50ZWdyYXRpb25SdW5JdGVyYXRvci5oIgorI2luY2x1ZGUgIkxheW91dEJyaWRnZUxpbmVJ
dGVyYXRvci5oIgorI2luY2x1ZGUgIkxheW91dEJyaWRnZUxpbmVMYXlvdXQuaCIKKyNpbmNsdWRl
ICJMYXlvdXRCcmlkZ2VSdW5JdGVyYXRvci5oIgogI2luY2x1ZGUgIkxlZ2FjeUVsbGlwc2lzQm94
LmgiCiAjaW5jbHVkZSAiUmFuZ2UuaCIKICNpbmNsdWRlICJSZW5kZXJCbG9jay5oIgpAQCAtMzA2
LDcgKzMwNiw3IEBAIFN0cmluZyBSZW5kZXJUZXh0OjpvcmlnaW5hbFRleHQoKSBjb25zdAogCiB2
b2lkIFJlbmRlclRleHQ6OmFic29sdXRlUmVjdHMoVmVjdG9yPEludFJlY3Q+JiByZWN0cywgY29u
c3QgTGF5b3V0UG9pbnQmIGFjY3VtdWxhdGVkT2Zmc2V0KSBjb25zdAogewotICAgIGZvciAoYXV0
byYgcnVuIDogTGF5b3V0SW50ZWdyYXRpb246OnRleHRSdW5zRm9yKCp0aGlzKSkgeworICAgIGZv
ciAoYXV0byYgcnVuIDogTGF5b3V0QnJpZGdlOjp0ZXh0UnVuc0ZvcigqdGhpcykpIHsKICAgICAg
ICAgYXV0byByZWN0ID0gcnVuLnJlY3QoKTsKICAgICAgICAgcmVjdHMuYXBwZW5kKGVuY2xvc2lu
Z0ludFJlY3QoRmxvYXRSZWN0KGFjY3VtdWxhdGVkT2Zmc2V0ICsgcmVjdC5sb2NhdGlvbigpLCBy
ZWN0LnNpemUoKSkpKTsKICAgICB9CkBAIC0zMjUsNyArMzI1LDcgQEAgVmVjdG9yPEludFJlY3Q+
IFJlbmRlclRleHQ6OmFic29sdXRlUmVjdHNGb3JSYW5nZSh1bnNpZ25lZCBzdGFydCwgdW5zaWdu
ZWQgZW5kLAogLy8gRnVsbCBhbm5vdGF0aW9ucyBhcmUgYWRkZWQgaW4gdGhpcyBjbGFzcy4KIHZv
aWQgUmVuZGVyVGV4dDo6Y29sbGVjdFNlbGVjdGlvbkdlb21ldHJpZXMoVmVjdG9yPFNlbGVjdGlv
bkdlb21ldHJ5PiYgcmVjdHMsIHVuc2lnbmVkIHN0YXJ0LCB1bnNpZ25lZCBlbmQpCiB7Ci0gICAg
Zm9yIChhdXRvIHJ1biA9IExheW91dEludGVncmF0aW9uOjpmaXJzdFRleHRSdW5Gb3IoKnRoaXMp
OyBydW47IHJ1biA9IHJ1bi50cmF2ZXJzZU5leHRUZXh0UnVuKCkpIHsKKyAgICBmb3IgKGF1dG8g
cnVuID0gTGF5b3V0QnJpZGdlOjpmaXJzdFRleHRSdW5Gb3IoKnRoaXMpOyBydW47IHJ1biA9IHJ1
bi50cmF2ZXJzZU5leHRUZXh0UnVuKCkpIHsKICAgICAgICAgTGF5b3V0UmVjdCByZWN0OwogICAg
ICAgICBpZiAoc3RhcnQgPD0gcnVuLT5zdGFydCgpICYmIHJ1bi0+ZW5kKCkgPD0gZW5kKQogICAg
ICAgICAgICAgcmVjdCA9IHJ1bi0+c2VsZWN0aW9uUmVjdChzdGFydCwgZW5kKTsKQEAgLTM4NSw3
ICszODUsNyBAQCB2b2lkIFJlbmRlclRleHQ6OmNvbGxlY3RTZWxlY3Rpb25HZW9tZXRyaWVzKFZl
Y3RvcjxTZWxlY3Rpb25HZW9tZXRyeT4mIHJlY3RzLCB1bgogfQogI2VuZGlmCiAKLXN0YXRpYyBG
bG9hdFJlY3QgYm91bmRhcmllc0ZvclRleHRSdW4oY29uc3QgTGF5b3V0SW50ZWdyYXRpb246OlBh
dGhUZXh0UnVuJiBydW4pCitzdGF0aWMgRmxvYXRSZWN0IGJvdW5kYXJpZXNGb3JUZXh0UnVuKGNv
bnN0IExheW91dEJyaWRnZTo6UGF0aFRleHRSdW4mIHJ1bikKIHsKICAgICBpZiAoaXM8U1ZHSW5s
aW5lVGV4dEJveD4ocnVuLmxlZ2FjeUlubGluZUJveCgpKSkKICAgICAgICAgcmV0dXJuIGRvd25j
YXN0PFNWR0lubGluZVRleHRCb3g+KCpydW4ubGVnYWN5SW5saW5lQm94KCkpLmNhbGN1bGF0ZUJv
dW5kYXJpZXMoKTsKQEAgLTM5Myw3ICszOTMsNyBAQCBzdGF0aWMgRmxvYXRSZWN0IGJvdW5kYXJp
ZXNGb3JUZXh0UnVuKGNvbnN0IExheW91dEludGVncmF0aW9uOjpQYXRoVGV4dFJ1biYgcnVuKQog
ICAgIHJldHVybiBydW4ucmVjdCgpOwogfQogCi1zdGF0aWMgSW50UmVjdCBlbGxpcHNpc1JlY3RG
b3JUZXh0UnVuKGNvbnN0IExheW91dEludGVncmF0aW9uOjpQYXRoVGV4dFJ1biYgcnVuLCB1bnNp
Z25lZCBzdGFydCwgdW5zaWduZWQgZW5kKQorc3RhdGljIEludFJlY3QgZWxsaXBzaXNSZWN0Rm9y
VGV4dFJ1bihjb25zdCBMYXlvdXRCcmlkZ2U6OlBhdGhUZXh0UnVuJiBydW4sIHVuc2lnbmVkIHN0
YXJ0LCB1bnNpZ25lZCBlbmQpCiB7CiAgICAgLy8gRklYTUU6IE5vIGVsbGlwc2lzIHN1cHBvcnQg
aW4gbW9kZXJuIHBhdGggeWV0LgogICAgIGlmICghcnVuLmxlZ2FjeUlubGluZUJveCgpKQpAQCAt
NDI3LDcgKzQyNyw3IEBAIGVudW0gY2xhc3MgQ2xpcHBpbmdPcHRpb24geyBOb0NsaXBwaW5nLCBD
bGlwVG9FbGxpcHNpcyB9Owogc3RhdGljIFZlY3RvcjxGbG9hdFF1YWQ+IGNvbGxlY3RBYnNvbHV0
ZVF1YWRzKGNvbnN0IFJlbmRlclRleHQmIHRleHRSZW5kZXJlciwgYm9vbCogd2FzRml4ZWQsIENs
aXBwaW5nT3B0aW9uIGNsaXBwaW5nKQogewogICAgIFZlY3RvcjxGbG9hdFF1YWQ+IHF1YWRzOwot
ICAgIGZvciAoYXV0byYgcnVuIDogTGF5b3V0SW50ZWdyYXRpb246OnRleHRSdW5zRm9yKHRleHRS
ZW5kZXJlcikpIHsKKyAgICBmb3IgKGF1dG8mIHJ1biA6IExheW91dEJyaWRnZTo6dGV4dFJ1bnNG
b3IodGV4dFJlbmRlcmVyKSkgewogICAgICAgICBhdXRvIGJvdW5kYXJpZXMgPSBib3VuZGFyaWVz
Rm9yVGV4dFJ1bihydW4pOwogCiAgICAgICAgIC8vIFNob3J0ZW4gdGhlIHdpZHRoIG9mIHRoaXMg
dGV4dCBib3ggaWYgaXQgZW5kcyBpbiBhbiBlbGxpcHNpcy4KQEAgLTQ1Niw3ICs0NTYsNyBAQCB2
b2lkIFJlbmRlclRleHQ6OmFic29sdXRlUXVhZHMoVmVjdG9yPEZsb2F0UXVhZD4mIHF1YWRzLCBi
b29sKiB3YXNGaXhlZCkgY29uc3QKICAgICBxdWFkcy5hcHBlbmRWZWN0b3IoY29sbGVjdEFic29s
dXRlUXVhZHMoKnRoaXMsIHdhc0ZpeGVkLCBDbGlwcGluZ09wdGlvbjo6Tm9DbGlwcGluZykpOwog
fQogCi1zdGF0aWMgRmxvYXRSZWN0IGxvY2FsUXVhZEZvclRleHRSdW4oY29uc3QgTGF5b3V0SW50
ZWdyYXRpb246OlBhdGhUZXh0UnVuJiBydW4sIHVuc2lnbmVkIHN0YXJ0LCB1bnNpZ25lZCBlbmQs
IGJvb2wgdXNlU2VsZWN0aW9uSGVpZ2h0KQorc3RhdGljIEZsb2F0UmVjdCBsb2NhbFF1YWRGb3JU
ZXh0UnVuKGNvbnN0IExheW91dEJyaWRnZTo6UGF0aFRleHRSdW4mIHJ1biwgdW5zaWduZWQgc3Rh
cnQsIHVuc2lnbmVkIGVuZCwgYm9vbCB1c2VTZWxlY3Rpb25IZWlnaHQpCiB7CiAgICAgdW5zaWdu
ZWQgcmVhbEVuZCA9IHN0ZDo6bWluKHJ1bi5lbmQoKSwgZW5kKTsKICAgICBMYXlvdXRSZWN0IGJv
eFNlbGVjdGlvblJlY3QgPSBydW4uc2VsZWN0aW9uUmVjdChzdGFydCwgcmVhbEVuZCk7CkBAIC00
ODksNyArNDg5LDcgQEAgVmVjdG9yPEZsb2F0UXVhZD4gUmVuZGVyVGV4dDo6YWJzb2x1dGVRdWFk
c0ZvclJhbmdlKHVuc2lnbmVkIHN0YXJ0LCB1bnNpZ25lZCBlbmQKICAgICBlbmQgPSBzdGQ6Om1p
bihlbmQsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihJTlRfTUFYKSk7CiAKICAgICBWZWN0b3I8Rmxv
YXRRdWFkPiBxdWFkczsKLSAgICBmb3IgKGF1dG8mIHJ1biA6IExheW91dEludGVncmF0aW9uOjp0
ZXh0UnVuc0ZvcigqdGhpcykpIHsKKyAgICBmb3IgKGF1dG8mIHJ1biA6IExheW91dEJyaWRnZTo6
dGV4dFJ1bnNGb3IoKnRoaXMpKSB7CiAgICAgICAgIGlmIChpZ25vcmVFbXB0eVRleHRTZWxlY3Rp
b25zICYmICFydW4uaXNTZWxlY3RhYmxlKHN0YXJ0LCBlbmQpKQogICAgICAgICAgICAgY29udGlu
dWU7CiAgICAgICAgIGlmIChzdGFydCA8PSBydW4uc3RhcnQoKSAmJiBydW4uZW5kKCkgPD0gZW5k
KSB7CkBAIC01MjIsNyArNTIyLDcgQEAgUG9zaXRpb24gUmVuZGVyVGV4dDo6cG9zaXRpb25Gb3JQ
b2ludChjb25zdCBMYXlvdXRQb2ludCYgcG9pbnQpCiAKIGVudW0gU2hvdWxkQWZmaW5pdHlCZURv
d25zdHJlYW0geyBBbHdheXNEb3duc3RyZWFtLCBBbHdheXNVcHN0cmVhbSwgVXBzdHJlYW1JZlBv
c2l0aW9uSXNOb3RBdFN0YXJ0IH07CiAKLXN0YXRpYyBib29sIGxpbmVEaXJlY3Rpb25Qb2ludEZp
dHNJbkJveChpbnQgcG9pbnRMaW5lRGlyZWN0aW9uLCBjb25zdCBMYXlvdXRJbnRlZ3JhdGlvbjo6
VGV4dFJ1bkl0ZXJhdG9yJiB0ZXh0UnVuLCBTaG91bGRBZmZpbml0eUJlRG93bnN0cmVhbSYgc2hv
dWxkQWZmaW5pdHlCZURvd25zdHJlYW0pCitzdGF0aWMgYm9vbCBsaW5lRGlyZWN0aW9uUG9pbnRG
aXRzSW5Cb3goaW50IHBvaW50TGluZURpcmVjdGlvbiwgY29uc3QgTGF5b3V0QnJpZGdlOjpUZXh0
UnVuSXRlcmF0b3ImIHRleHRSdW4sIFNob3VsZEFmZmluaXR5QmVEb3duc3RyZWFtJiBzaG91bGRB
ZmZpbml0eUJlRG93bnN0cmVhbSkKIHsKICAgICBzaG91bGRBZmZpbml0eUJlRG93bnN0cmVhbSA9
IEFsd2F5c0Rvd25zdHJlYW07CiAKQEAgLTU1OSw3ICs1NTksNyBAQCBzdGF0aWMgYm9vbCBsaW5l
RGlyZWN0aW9uUG9pbnRGaXRzSW5Cb3goaW50IHBvaW50TGluZURpcmVjdGlvbiwgY29uc3QgTGF5
b3V0SW50ZQogICAgIHJldHVybiBmYWxzZTsKIH0KIAotc3RhdGljIFZpc2libGVQb3NpdGlvbiBj
cmVhdGVWaXNpYmxlUG9zaXRpb25Gb3JCb3goY29uc3QgTGF5b3V0SW50ZWdyYXRpb246OlJ1bkl0
ZXJhdG9yJiBydW4sIHVuc2lnbmVkIG9mZnNldCwgU2hvdWxkQWZmaW5pdHlCZURvd25zdHJlYW0g
c2hvdWxkQWZmaW5pdHlCZURvd25zdHJlYW0pCitzdGF0aWMgVmlzaWJsZVBvc2l0aW9uIGNyZWF0
ZVZpc2libGVQb3NpdGlvbkZvckJveChjb25zdCBMYXlvdXRCcmlkZ2U6OlJ1bkl0ZXJhdG9yJiBy
dW4sIHVuc2lnbmVkIG9mZnNldCwgU2hvdWxkQWZmaW5pdHlCZURvd25zdHJlYW0gc2hvdWxkQWZm
aW5pdHlCZURvd25zdHJlYW0pCiB7CiAgICAgYXV0byBhZmZpbml0eSA9IFZpc2libGVQb3NpdGlv
bjo6ZGVmYXVsdEFmZmluaXR5OwogICAgIHN3aXRjaCAoc2hvdWxkQWZmaW5pdHlCZURvd25zdHJl
YW0pIHsKQEAgLTU3Niw3ICs1NzYsNyBAQCBzdGF0aWMgVmlzaWJsZVBvc2l0aW9uIGNyZWF0ZVZp
c2libGVQb3NpdGlvbkZvckJveChjb25zdCBMYXlvdXRJbnRlZ3JhdGlvbjo6UnVuSQogICAgIHJl
dHVybiBydW4tPnJlbmRlcmVyKCkuY3JlYXRlVmlzaWJsZVBvc2l0aW9uKG9mZnNldCwgYWZmaW5p
dHkpOwogfQogCi1zdGF0aWMgVmlzaWJsZVBvc2l0aW9uIGNyZWF0ZVZpc2libGVQb3NpdGlvbkFm
dGVyQWRqdXN0aW5nT2Zmc2V0Rm9yQmlEaShjb25zdCBMYXlvdXRJbnRlZ3JhdGlvbjo6VGV4dFJ1
bkl0ZXJhdG9yJiBydW4sIHVuc2lnbmVkIG9mZnNldCwgU2hvdWxkQWZmaW5pdHlCZURvd25zdHJl
YW0gc2hvdWxkQWZmaW5pdHlCZURvd25zdHJlYW0pCitzdGF0aWMgVmlzaWJsZVBvc2l0aW9uIGNy
ZWF0ZVZpc2libGVQb3NpdGlvbkFmdGVyQWRqdXN0aW5nT2Zmc2V0Rm9yQmlEaShjb25zdCBMYXlv
dXRCcmlkZ2U6OlRleHRSdW5JdGVyYXRvciYgcnVuLCB1bnNpZ25lZCBvZmZzZXQsIFNob3VsZEFm
ZmluaXR5QmVEb3duc3RyZWFtIHNob3VsZEFmZmluaXR5QmVEb3duc3RyZWFtKQogewogICAgIGlm
IChvZmZzZXQgJiYgb2Zmc2V0IDwgcnVuLT5sZW5ndGgoKSkKICAgICAgICAgcmV0dXJuIGNyZWF0
ZVZpc2libGVQb3NpdGlvbkZvckJveChydW4sIHJ1bi0+c3RhcnQoKSArIG9mZnNldCwgc2hvdWxk
QWZmaW5pdHlCZURvd25zdHJlYW0pOwpAQCAtNjAzLDcgKzYwMyw3IEBAIHN0YXRpYyBWaXNpYmxl
UG9zaXRpb24gY3JlYXRlVmlzaWJsZVBvc2l0aW9uQWZ0ZXJBZGp1c3RpbmdPZmZzZXRGb3JCaURp
KGNvbnN0IExhCiAKICAgICAgICAgaWYgKCFwcmV2aW91c1J1biB8fCBwcmV2aW91c1J1bi0+Ymlk
aUxldmVsKCkgPCBydW4tPmJpZGlMZXZlbCgpKSB7CiAgICAgICAgICAgICAvLyBlLmcuIGxlZnQg
b2YgRCBpbiBhREMxMkJBYgotICAgICAgICAgICAgTGF5b3V0SW50ZWdyYXRpb246OlJ1bkl0ZXJh
dG9yIHJpZ2h0bW9zdFJ1biA9IHJ1bjsKKyAgICAgICAgICAgIExheW91dEJyaWRnZTo6UnVuSXRl
cmF0b3IgcmlnaHRtb3N0UnVuID0gcnVuOwogICAgICAgICAgICAgZm9yIChhdXRvIG5leHRSdW4g
PSBydW4ubmV4dE9uTGluZUlnbm9yaW5nTGluZUJyZWFrKCk7IG5leHRSdW47IG5leHRSdW4udHJh
dmVyc2VOZXh0T25MaW5lSWdub3JpbmdMaW5lQnJlYWsoKSkgewogICAgICAgICAgICAgICAgIGlm
IChuZXh0UnVuLT5iaWRpTGV2ZWwoKSA8IHJ1bi0+YmlkaUxldmVsKCkpCiAgICAgICAgICAgICAg
ICAgICAgIGJyZWFrOwpAQCAtNjM2LDcgKzYzNiw3IEBAIHN0YXRpYyBWaXNpYmxlUG9zaXRpb24g
Y3JlYXRlVmlzaWJsZVBvc2l0aW9uQWZ0ZXJBZGp1c3RpbmdPZmZzZXRGb3JCaURpKGNvbnN0IExh
CiAKICAgICBpZiAoIW5leHRSdW4gfHwgbmV4dFJ1bi0+YmlkaUxldmVsKCkgPCBydW4tPmJpZGlM
ZXZlbCgpKSB7CiAgICAgICAgIC8vIGUuZy4gcmlnaHQgb2YgQSBpbiBhREMxMkJBYgotICAgICAg
ICBMYXlvdXRJbnRlZ3JhdGlvbjo6UnVuSXRlcmF0b3IgbGVmdG1vc3RSdW4gPSBydW47CisgICAg
ICAgIExheW91dEJyaWRnZTo6UnVuSXRlcmF0b3IgbGVmdG1vc3RSdW4gPSBydW47CiAgICAgICAg
IGZvciAoYXV0byBwcmV2aW91c1J1biA9IHJ1bi5wcmV2aW91c09uTGluZUlnbm9yaW5nTGluZUJy
ZWFrKCk7IHByZXZpb3VzUnVuOyBwcmV2aW91c1J1bi50cmF2ZXJzZVByZXZpb3VzT25MaW5lSWdu
b3JpbmdMaW5lQnJlYWsoKSkgewogICAgICAgICAgICAgaWYgKHByZXZpb3VzUnVuLT5iaWRpTGV2
ZWwoKSA8IHJ1bi0+YmlkaUxldmVsKCkpCiAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC02NTMs
NyArNjUzLDcgQEAgc3RhdGljIFZpc2libGVQb3NpdGlvbiBjcmVhdGVWaXNpYmxlUG9zaXRpb25B
ZnRlckFkanVzdGluZ09mZnNldEZvckJpRGkoY29uc3QgTGEKIAogVmlzaWJsZVBvc2l0aW9uIFJl
bmRlclRleHQ6OnBvc2l0aW9uRm9yUG9pbnQoY29uc3QgTGF5b3V0UG9pbnQmIHBvaW50LCBjb25z
dCBSZW5kZXJGcmFnbWVudENvbnRhaW5lciopCiB7Ci0gICAgYXV0byBmaXJzdFJ1biA9IExheW91
dEludGVncmF0aW9uOjpmaXJzdFRleHRSdW5Gb3IoKnRoaXMpOworICAgIGF1dG8gZmlyc3RSdW4g
PSBMYXlvdXRCcmlkZ2U6OmZpcnN0VGV4dFJ1bkZvcigqdGhpcyk7CiAKICAgICBpZiAoIWZpcnN0
UnVuIHx8ICF0ZXh0KCkubGVuZ3RoKCkpCiAgICAgICAgIHJldHVybiBjcmVhdGVWaXNpYmxlUG9z
aXRpb24oMCwgQWZmaW5pdHk6OkRvd25zdHJlYW0pOwpAQCAtNjYyLDcgKzY2Miw3IEBAIFZpc2li
bGVQb3NpdGlvbiBSZW5kZXJUZXh0Ojpwb3NpdGlvbkZvclBvaW50KGNvbnN0IExheW91dFBvaW50
JiBwb2ludCwgY29uc3QgUmVuCiAgICAgTGF5b3V0VW5pdCBwb2ludEJsb2NrRGlyZWN0aW9uID0g
Zmlyc3RSdW4tPmlzSG9yaXpvbnRhbCgpID8gcG9pbnQueSgpIDogcG9pbnQueCgpOwogICAgIGJv
b2wgYmxvY2tzQXJlRmxpcHBlZCA9IHN0eWxlKCkuaXNGbGlwcGVkQmxvY2tzV3JpdGluZ01vZGUo
KTsKIAotICAgIExheW91dEludGVncmF0aW9uOjpUZXh0UnVuSXRlcmF0b3IgbGFzdFJ1bjsKKyAg
ICBMYXlvdXRCcmlkZ2U6OlRleHRSdW5JdGVyYXRvciBsYXN0UnVuOwogICAgIGZvciAoYXV0byBy
dW4gPSBmaXJzdFJ1bjsgcnVuOyBydW4udHJhdmVyc2VOZXh0VGV4dFJ1bigpKSB7CiAgICAgICAg
IGlmIChydW4tPmlzTGluZUJyZWFrKCkgJiYgIXJ1bi5wcmV2aW91c09uTGluZSgpICYmIHJ1bi5u
ZXh0T25MaW5lKCkgJiYgIXJ1bi5uZXh0T25MaW5lKCktPmlzTGluZUJyZWFrKCkpCiAgICAgICAg
ICAgICBydW4udHJhdmVyc2VOZXh0VGV4dFJ1bigpOwpAQCAtMTI2NSw3ICsxMjY1LDcgQEAgVmVj
dG9yPHN0ZDo6cGFpcjx1bnNpZ25lZCwgdW5zaWduZWQ+PiBSZW5kZXJUZXh0OjpkcmFnZ2VkQ29u
dGVudFJhbmdlc0JldHdlZW5PZmYKIAogSW50UG9pbnQgUmVuZGVyVGV4dDo6Zmlyc3RSdW5Mb2Nh
dGlvbigpIGNvbnN0CiB7Ci0gICAgYXV0byBmaXJzdCA9IExheW91dEludGVncmF0aW9uOjpmaXJz
dFRleHRSdW5Gb3IoKnRoaXMpOworICAgIGF1dG8gZmlyc3QgPSBMYXlvdXRCcmlkZ2U6OmZpcnN0
VGV4dFJ1bkZvcigqdGhpcyk7CiAgICAgaWYgKCFmaXJzdCkKICAgICAgICAgcmV0dXJuIHsgfTsK
ICAgICByZXR1cm4gSW50UG9pbnQoZmlyc3QtPnJlY3QoKS5sb2NhdGlvbigpKTsKQEAgLTE0NTgs
NyArMTQ1OCw3IEBAIHZvaWQgUmVuZGVyVGV4dDo6c2V0VGV4dChjb25zdCBTdHJpbmcmIHRleHQs
IGJvb2wgZm9yY2UpCiAgICAgbV9rbm93blRvSGF2ZU5vT3ZlcmZsb3dBbmROb0ZhbGxiYWNrRm9u
dHMgPSBmYWxzZTsKIAogI2lmIEVOQUJMRShMQVlPVVRfRk9STUFUVElOR19DT05URVhUKQotICAg
IGlmIChhdXRvKiBjb250YWluZXIgPSBMYXlvdXRJbnRlZ3JhdGlvbjo6TGluZUxheW91dDo6Ymxv
Y2tDb250YWluZXIoKnRoaXMpKQorICAgIGlmIChhdXRvKiBjb250YWluZXIgPSBMYXlvdXRCcmlk
Z2U6OkxpbmVMYXlvdXQ6OmJsb2NrQ29udGFpbmVyKCp0aGlzKSkKICAgICAgICAgY29udGFpbmVy
LT5pbnZhbGlkYXRlTGluZUxheW91dFBhdGgoKTsKICNlbmRpZgogCkBAIC0xNTA2LDcgKzE1MDYs
NyBAQCB2b2lkIFJlbmRlclRleHQ6OnBvc2l0aW9uTGluZUJveChMZWdhY3lJbmxpbmVUZXh0Qm94
JiB0ZXh0Qm94KQogYm9vbCBSZW5kZXJUZXh0Ojp1c2VzTGVnYWN5TGluZUxheW91dFBhdGgoKSBj
b25zdAogewogI2lmIEVOQUJMRShMQVlPVVRfRk9STUFUVElOR19DT05URVhUKQotICAgIHJldHVy
biAhTGF5b3V0SW50ZWdyYXRpb246OkxpbmVMYXlvdXQ6OmNvbnRhaW5pbmcoKnRoaXMpOworICAg
IHJldHVybiAhTGF5b3V0QnJpZGdlOjpMaW5lTGF5b3V0Ojpjb250YWluaW5nKCp0aGlzKTsKICNl
bHNlCiAgICAgcmV0dXJuIHRydWU7CiAjZW5kaWYKQEAgLTE1NjAsNyArMTU2MCw3IEBAIGZsb2F0
IFJlbmRlclRleHQ6OndpZHRoKHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbiwgY29uc3QgRm9u
dENhc2NhZGUmIGYsIGZsb2F0CiAKIEludFJlY3QgUmVuZGVyVGV4dDo6bGluZXNCb3VuZGluZ0Jv
eCgpIGNvbnN0CiB7Ci0gICAgYXV0byBmaXJzdCA9IExheW91dEludGVncmF0aW9uOjpmaXJzdFRl
eHRSdW5Gb3IoKnRoaXMpOworICAgIGF1dG8gZmlyc3QgPSBMYXlvdXRCcmlkZ2U6OmZpcnN0VGV4
dFJ1bkZvcigqdGhpcyk7CiAgICAgaWYgKCFmaXJzdCkKICAgICAgICAgcmV0dXJuIHsgfTsKIApA
QCAtMTYyMyw3ICsxNjIzLDcgQEAgTGF5b3V0UmVjdCBSZW5kZXJUZXh0Ojpjb2xsZWN0U2VsZWN0
aW9uR2VvbWV0cmllc0ZvckxpbmVCb3hlcyhjb25zdCBSZW5kZXJMYXllck0KIAogICAgIExheW91
dFJlY3QgcmVzdWx0UmVjdDsKIAotICAgIGZvciAoYXV0byYgcnVuIDogTGF5b3V0SW50ZWdyYXRp
b246OnRleHRSdW5zRm9yKCp0aGlzKSkgeworICAgIGZvciAoYXV0byYgcnVuIDogTGF5b3V0QnJp
ZGdlOjp0ZXh0UnVuc0ZvcigqdGhpcykpIHsKICAgICAgICAgTGF5b3V0UmVjdCByZWN0OwogICAg
ICAgICByZWN0LnVuaXRlKHJ1bi5zZWxlY3Rpb25SZWN0KHN0YXJ0T2Zmc2V0LCBlbmRPZmZzZXQp
KTsKICAgICAgICAgcmVjdC51bml0ZShlbGxpcHNpc1JlY3RGb3JUZXh0UnVuKHJ1biwgc3RhcnRP
ZmZzZXQsIGVuZE9mZnNldCkpOwpAQCAtMTY1Myw3ICsxNjUzLDcgQEAgTGF5b3V0UmVjdCBSZW5k
ZXJUZXh0OjpzZWxlY3Rpb25SZWN0Rm9yUmVwYWludChjb25zdCBSZW5kZXJMYXllck1vZGVsT2Jq
ZWN0KiByZXAKIAogaW50IFJlbmRlclRleHQ6OmNhcmV0TWluT2Zmc2V0KCkgY29uc3QKIHsKLSAg
ICBhdXRvIGZpcnN0ID0gTGF5b3V0SW50ZWdyYXRpb246OmZpcnN0VGV4dFJ1bkZvcigqdGhpcyk7
CisgICAgYXV0byBmaXJzdCA9IExheW91dEJyaWRnZTo6Zmlyc3RUZXh0UnVuRm9yKCp0aGlzKTsK
ICAgICBpZiAoIWZpcnN0KQogICAgICAgICByZXR1cm4gMDsKIApAQCAtMTY2Niw3ICsxNjY2LDcg
QEAgaW50IFJlbmRlclRleHQ6OmNhcmV0TWluT2Zmc2V0KCkgY29uc3QKIAogaW50IFJlbmRlclRl
eHQ6OmNhcmV0TWF4T2Zmc2V0KCkgY29uc3QKIHsKLSAgICBhdXRvIGZpcnN0ID0gTGF5b3V0SW50
ZWdyYXRpb246OmZpcnN0VGV4dFJ1bkZvcigqdGhpcyk7CisgICAgYXV0byBmaXJzdCA9IExheW91
dEJyaWRnZTo6Zmlyc3RUZXh0UnVuRm9yKCp0aGlzKTsKICAgICBpZiAoIWZpcnN0KQogICAgICAg
ICByZXR1cm4gdGV4dCgpLmxlbmd0aCgpOwogCkBAIC0xNjgwLDcgKzE2ODAsNyBAQCBpbnQgUmVu
ZGVyVGV4dDo6Y2FyZXRNYXhPZmZzZXQoKSBjb25zdAogdW5zaWduZWQgUmVuZGVyVGV4dDo6Y291
bnRSZW5kZXJlZENoYXJhY3Rlck9mZnNldHNVbnRpbCh1bnNpZ25lZCBvZmZzZXQpIGNvbnN0CiB7
CiAgICAgdW5zaWduZWQgcmVzdWx0ID0gMDsKLSAgICBmb3IgKGF1dG8mIHJ1biA6IExheW91dElu
dGVncmF0aW9uOjp0ZXh0UnVuc0ZvcigqdGhpcykpIHsKKyAgICBmb3IgKGF1dG8mIHJ1biA6IExh
eW91dEJyaWRnZTo6dGV4dFJ1bnNGb3IoKnRoaXMpKSB7CiAgICAgICAgIGF1dG8gc3RhcnQgPSBy
dW4uc3RhcnQoKTsKICAgICAgICAgYXV0byBsZW5ndGggPSBydW4ubGVuZ3RoKCk7CiAgICAgICAg
IGlmIChvZmZzZXQgPCBzdGFydCkKQEAgLTE2OTcsNyArMTY5Nyw3IEBAIHVuc2lnbmVkIFJlbmRl
clRleHQ6OmNvdW50UmVuZGVyZWRDaGFyYWN0ZXJPZmZzZXRzVW50aWwodW5zaWduZWQgb2Zmc2V0
KSBjb25zdAogZW51bSBjbGFzcyBPZmZzZXRUeXBlIHsgQ2hhcmFjdGVyLCBDYXJldCB9Owogc3Rh
dGljIGJvb2wgY29udGFpbnNPZmZzZXQoY29uc3QgUmVuZGVyVGV4dCYgdGV4dCwgdW5zaWduZWQg
b2Zmc2V0LCBPZmZzZXRUeXBlIHR5cGUpCiB7Ci0gICAgZm9yIChhdXRvIGJveCA9IExheW91dElu
dGVncmF0aW9uOjpmaXJzdFRleHRSdW5JblRleHRPcmRlckZvcih0ZXh0KTsgYm94OyBib3gudHJh
dmVyc2VOZXh0VGV4dFJ1bkluVGV4dE9yZGVyKCkpIHsKKyAgICBmb3IgKGF1dG8gYm94ID0gTGF5
b3V0QnJpZGdlOjpmaXJzdFRleHRSdW5JblRleHRPcmRlckZvcih0ZXh0KTsgYm94OyBib3gudHJh
dmVyc2VOZXh0VGV4dFJ1bkluVGV4dE9yZGVyKCkpIHsKICAgICAgICAgYXV0byBzdGFydCA9IGJv
eC0+c3RhcnQoKTsKICAgICAgICAgaWYgKG9mZnNldCA8IHN0YXJ0KQogICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwpAQCAtMTcyNiw3ICsxNzI2LDcgQEAgYm9vbCBSZW5kZXJUZXh0Ojpjb250YWlu
c0NhcmV0T2Zmc2V0KHVuc2lnbmVkIG9mZnNldCkgY29uc3QKIAogYm9vbCBSZW5kZXJUZXh0Ojpo
YXNSZW5kZXJlZFRleHQoKSBjb25zdAogewotICAgIGZvciAoYXV0byYgYm94IDogTGF5b3V0SW50
ZWdyYXRpb246OnRleHRSdW5zRm9yKCp0aGlzKSkgeworICAgIGZvciAoYXV0byYgYm94IDogTGF5
b3V0QnJpZGdlOjp0ZXh0UnVuc0ZvcigqdGhpcykpIHsKICAgICAgICAgaWYgKGJveC5sZW5ndGgo
KSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGV4dC5oCmluZGV4IDU0ZjEwOWI4NDQ0NC4uOWMwOGMzZGI3ZThhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmgKQEAgLTM0LDcgKzM0LDcgQEAgY2xhc3MgRm9udDsK
IGNsYXNzIExlZ2FjeUlubGluZVRleHRCb3g7CiBzdHJ1Y3QgR2x5cGhPdmVyZmxvdzsKIAotbmFt
ZXNwYWNlIExheW91dEludGVncmF0aW9uIHsKK25hbWVzcGFjZSBMYXlvdXRCcmlkZ2UgewogY2xh
c3MgTGluZUxheW91dDsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRyZWVBc1RleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRy
ZWVBc1RleHQuY3BwCmluZGV4IDgyZmYwODVkNDBjYy4uMGU5NjkwZDQyYWU1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuY3BwCkBAIC0zNiw3ICszNiw3
IEBACiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiSFRNTFNwYW5FbGVtZW50Lmgi
CiAjaW5jbHVkZSAiSW5saW5lSXRlcmF0b3IuaCIKLSNpbmNsdWRlICJMYXlvdXRJbnRlZ3JhdGlv
blJ1bkl0ZXJhdG9yLmgiCisjaW5jbHVkZSAiTGF5b3V0QnJpZGdlUnVuSXRlcmF0b3IuaCIKICNp
bmNsdWRlICJMZWdhY3lJbmxpbmVUZXh0Qm94LmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2lu
Y2x1ZGUgIlByaW50Q29udGV4dC5oIgpAQCAtMjQxLDEzICsyNDEsMTMgQEAgdm9pZCBSZW5kZXJU
cmVlQXNUZXh0Ojp3cml0ZVJlbmRlck9iamVjdChUZXh0U3RyZWFtJiB0cywgY29uc3QgUmVuZGVy
T2JqZWN0JiBvLAogICAgICAgICAvLyBtYW55IHRlc3QgcmVzdWx0cy4KICAgICAgICAgY29uc3Qg
UmVuZGVyVGV4dCYgdGV4dCA9IGRvd25jYXN0PFJlbmRlclRleHQ+KG8pOwogICAgICAgICByID0g
SW50UmVjdCh0ZXh0LmZpcnN0UnVuTG9jYXRpb24oKSwgdGV4dC5saW5lc0JvdW5kaW5nQm94KCku
c2l6ZSgpKTsKLSAgICAgICAgaWYgKCFMYXlvdXRJbnRlZ3JhdGlvbjo6Zmlyc3RUZXh0UnVuRm9y
KHRleHQpKQorICAgICAgICBpZiAoIUxheW91dEJyaWRnZTo6Zmlyc3RUZXh0UnVuRm9yKHRleHQp
KQogICAgICAgICAgICAgYWRqdXN0Rm9yVGFibGVDZWxscyA9IGZhbHNlOwogICAgIH0gZWxzZSBp
ZiAoby5pc0JSKCkpIHsKICAgICAgICAgY29uc3QgUmVuZGVyTGluZUJyZWFrJiBiciA9IGRvd25j
YXN0PFJlbmRlckxpbmVCcmVhaz4obyk7CiAgICAgICAgIEludFJlY3QgbGluZXNCb3ggPSBici5s
aW5lc0JvdW5kaW5nQm94KCk7CiAgICAgICAgIHIgPSBJbnRSZWN0KGxpbmVzQm94LngoKSwgbGlu
ZXNCb3gueSgpLCBsaW5lc0JveC53aWR0aCgpLCBsaW5lc0JveC5oZWlnaHQoKSk7Ci0gICAgICAg
IGlmICghYnIuaW5saW5lQm94V3JhcHBlcigpICYmICFMYXlvdXRJbnRlZ3JhdGlvbjo6cnVuRm9y
KGJyKSkKKyAgICAgICAgaWYgKCFici5pbmxpbmVCb3hXcmFwcGVyKCkgJiYgIUxheW91dEJyaWRn
ZTo6cnVuRm9yKGJyKSkKICAgICAgICAgICAgIGFkanVzdEZvclRhYmxlQ2VsbHMgPSBmYWxzZTsK
ICAgICB9IGVsc2UgaWYgKGlzPFJlbmRlcklubGluZT4obykpIHsKICAgICAgICAgY29uc3QgUmVu
ZGVySW5saW5lJiBpbmxpbmVGbG93ID0gZG93bmNhc3Q8UmVuZGVySW5saW5lPihvKTsKQEAgLTYw
Miw3ICs2MDIsNyBAQCB2b2lkIHdyaXRlKFRleHRTdHJlYW0mIHRzLCBjb25zdCBSZW5kZXJPYmpl
Y3QmIG8sIE9wdGlvblNldDxSZW5kZXJBc1RleHRGbGFnPiBiZQogCiAgICAgaWYgKGlzPFJlbmRl
clRleHQ+KG8pKSB7CiAgICAgICAgIGF1dG8mIHRleHQgPSBkb3duY2FzdDxSZW5kZXJUZXh0Pihv
KTsKLSAgICAgICAgZm9yIChhdXRvJiBydW4gOiBMYXlvdXRJbnRlZ3JhdGlvbjo6dGV4dFJ1bnNG
b3IodGV4dCkpIHsKKyAgICAgICAgZm9yIChhdXRvJiBydW4gOiBMYXlvdXRCcmlkZ2U6OnRleHRS
dW5zRm9yKHRleHQpKSB7CiAgICAgICAgICAgICB0cyA8PCBpbmRlbnQ7CiAgICAgICAgICAgICB3
cml0ZVRleHRSdW4odGV4dCwgcnVuKTsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1RleHRQYWludGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9UZXh0UGFpbnRlci5jcHAKaW5kZXggNzQ4NTJhNmIwZDI1Li4xZmNlOTQwMTVjZWEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0UGFpbnRlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRQYWludGVyLmNwcApAQCAtMjcsNyArMjcsNyBAQAog
I2luY2x1ZGUgIkZpbHRlck9wZXJhdGlvbnMuaCIKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQu
aCIKICNpbmNsdWRlICJIVE1MUGFyc2VySWRpb21zLmgiCi0jaW5jbHVkZSAiTGF5b3V0SW50ZWdy
YXRpb25SdW4uaCIKKyNpbmNsdWRlICJMYXlvdXRCcmlkZ2VSdW4uaCIKICNpbmNsdWRlICJMZWdh
Y3lJbmxpbmVUZXh0Qm94LmgiCiAjaW5jbHVkZSAiUmVuZGVyQ29tYmluZVRleHQuaCIKICNpbmNs
dWRlICJSZW5kZXJMYXllci5oIgpAQCAtMjMwLDcgKzIzMCw3IEBAIHZvaWQgVGV4dFBhaW50ZXI6
OmNsZWFyR2x5cGhEaXNwbGF5TGlzdHMoKQogICAgIEdseXBoRGlzcGxheUxpc3RDYWNoZTxMZWdh
Y3lJbmxpbmVUZXh0Qm94Pjo6c2luZ2xldG9uKCkuY2xlYXIoKTsKICNpZiBFTkFCTEUoTEFZT1VU
X0ZPUk1BVFRJTkdfQ09OVEVYVCkKICAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hh
cmVkRmVhdHVyZXMoKS5sYXlvdXRGb3JtYXR0aW5nQ29udGV4dEludGVncmF0aW9uRW5hYmxlZCgp
KQotICAgICAgICBHbHlwaERpc3BsYXlMaXN0Q2FjaGU8TGF5b3V0SW50ZWdyYXRpb246OlJ1bj46
OnNpbmdsZXRvbigpLmNsZWFyKCk7CisgICAgICAgIEdseXBoRGlzcGxheUxpc3RDYWNoZTxMYXlv
dXRCcmlkZ2U6OlJ1bj46OnNpbmdsZXRvbigpLmNsZWFyKCk7CiAjZW5kaWYKIH0KIAo=
</data>
<flag name="commit-queue"
          id="453755"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>