<?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>50383</bug_id>
          
          <creation_ts>2010-12-02 06:34:31 -0800</creation_ts>
          <short_desc>Split DECLARE_ANIMATED_PROPERTY* in DECLARE/DEFINE parts for SVGAnimatedString/SVGAnimatedEnumeration</short_desc>
          <delta_ts>2010-12-03 00:42:29 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>SVG</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>50316</dependson>
          <blocked>42025</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Nikolas Zimmermann">zimmermann</reporter>
          <assigned_to name="Nikolas Zimmermann">zimmermann</assigned_to>
          <cc>buildbot</cc>
    
    <cc>mdelaney7</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>xan.lopez</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>316110</commentid>
    <comment_count>0</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-12-02 06:34:31 -0800</bug_when>
    <thetext>Same work as bug 50316, but for SVGAnimatedNumber.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>316111</commentid>
    <comment_count>1</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-12-02 06:34:51 -0800</bug_when>
    <thetext>Erm for SVGAnimatedString/SVGAnimatedEnumeration, not SVGAnimatedNumber (copy-paste error ;-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>316112</commentid>
    <comment_count>2</comment_count>
      <attachid>75371</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-12-02 06:39:07 -0800</bug_when>
    <thetext>Created attachment 75371
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>316115</commentid>
    <comment_count>3</comment_count>
      <attachid>75373</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-12-02 06:46:01 -0800</bug_when>
    <thetext>Created attachment 75373
Patch v2

Oops, uploaded the wrong version, ignore the first patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>316119</commentid>
    <comment_count>4</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2010-12-02 06:56:24 -0800</bug_when>
    <thetext>Attachment 75371 did not build on qt:
Build output: http://queues.webkit.org/results/6799009</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>316123</commentid>
    <comment_count>5</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-12-02 07:09:11 -0800</bug_when>
    <thetext>Ran check-webkit-style locally as the style bot doesn&apos;t post results :((
Fixed two tab usages, and two include order problems.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>316124</commentid>
    <comment_count>6</comment_count>
      <attachid>75373</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-12-02 07:09:58 -0800</bug_when>
    <thetext>Comment on attachment 75373
Patch v2

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

It would be slightly nicer to do the un-indenting separately.

&gt; WebCore/svg/SVGAElement.h:68
&gt; +    // This defines a non-virtual &quot;String&amp; target() const&quot; method before, that would clash with &quot;virtual String target() const&quot;
&gt; +    // in Element. That&apos;s why it&apos;s now named &quot;String&amp; svgTarget() const&quot;, to avoid the clash. The CodeGenerators take care

The first sentence here seems a little garbled. And I think you mean &quot;declares&quot; instead of &quot;defines&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>316131</commentid>
    <comment_count>7</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2010-12-02 07:18:59 -0800</bug_when>
    <thetext>Attachment 75371 did not build on win:
Build output: http://queues.webkit.org/results/6776008</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>316711</commentid>
    <comment_count>8</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-12-03 00:42:29 -0800</bug_when>
    <thetext>Landed in r73130.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75371</attachid>
            <date>2010-12-02 06:39:07 -0800</date>
            <delta_ts>2010-12-02 06:46:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>CleanupPatch.diff</filename>
            <type>text/plain</type>
            <size>83285</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MzEyOSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsOTcgQEAKKzIwMTAtMTItMDIgIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1tZXJt
YW5uQHJpbS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgU3BsaXQgREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWSogaW4gREVDTEFSRS9ERUZJTkUg
cGFydHMgZm9yIFNWR0FuaW1hdGVkU3RyaW5nL1NWR0FuaW1hdGVkRW51bWVyYXRpb24KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUwMzgzCisKKyAgICAg
ICAgQ29udGludWluZyB0aGUgd29yayBvbiBidWcgNDIwMjU6IEludHJvZHVjZSBERUNMQVJFX0FO
SU1BVEVEXyhTVFJJTkd8RU5VTUVSQVRJT04pIC8gREVGSU5FX0FOSU1BVEVEXyhTVFJJTkd8RU5V
TUVSQVRJT04pLgorICAgICAgICBUaGUgYW5pbWF0ZWQgcHJvcGVydHkgZGVjbGFyYXRpb24gbGl2
ZXMgaW4gdGhlIGhlYWRlciwgdGhlIGRlZmluaXRpb24gaW4gdGhlIGNwcCBmaWxlLCB0byBhdm9p
ZCB0aGUgZGVwZW5kZW5jeSBvbiBTVkdOYW1lcy5oIGluIGFsbCBoZWFkZXJzLgorCisgICAgICAg
IE5vIGZ1bmN0aW9uYWwgY2hhbmdlcywgdGh1cyBubyBuZXcgdGVzdHMuCisKKyAgICAgICAgKiBz
dmcvU1ZHQUVsZW1lbnQuY3BwOgorICAgICAgICAqIHN2Zy9TVkdBRWxlbWVudC5oOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHQUVsZW1lbnQ6OmlzVmFsaWQpOgorICAgICAgICAoV2ViQ29yZTo6U1ZH
QUVsZW1lbnQ6OnRhcmdldCk6CisgICAgICAgICogc3ZnL1NWR0FsdEdseXBoRWxlbWVudC5jcHA6
CisgICAgICAgICogc3ZnL1NWR0FsdEdseXBoRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdB
bmltYXRlZEVudW1lcmF0aW9uLmg6CisgICAgICAgICogc3ZnL1NWR0FuaW1hdGVkU3RyaW5nLmg6
CisgICAgICAgICogc3ZnL1NWR0NsaXBQYXRoRWxlbWVudC5jcHA6CisgICAgICAgICogc3ZnL1NW
R0NsaXBQYXRoRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdDb21wb25lbnRUcmFuc2ZlckZ1
bmN0aW9uRWxlbWVudC5jcHA6CisgICAgICAgICogc3ZnL1NWR0NvbXBvbmVudFRyYW5zZmVyRnVu
Y3Rpb25FbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0N1cnNvckVsZW1lbnQuY3BwOgorICAg
ICAgICAqIHN2Zy9TVkdDdXJzb3JFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0ZFQmxlbmRF
bGVtZW50LmNwcDoKKyAgICAgICAgKiBzdmcvU1ZHRkVCbGVuZEVsZW1lbnQuaDoKKyAgICAgICAg
KiBzdmcvU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQuY3BwOgorICAgICAgICAqIHN2Zy9TVkdGRUNv
bG9yTWF0cml4RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdGRUNvbXBvbmVudFRyYW5zZmVy
RWxlbWVudC5jcHA6CisgICAgICAgICogc3ZnL1NWR0ZFQ29tcG9uZW50VHJhbnNmZXJFbGVtZW50
Lmg6CisgICAgICAgICogc3ZnL1NWR0ZFQ29tcG9zaXRlRWxlbWVudC5jcHA6CisgICAgICAgICog
c3ZnL1NWR0ZFQ29tcG9zaXRlRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdGRUNvbnZvbHZl
TWF0cml4RWxlbWVudC5jcHA6CisgICAgICAgICogc3ZnL1NWR0ZFQ29udm9sdmVNYXRyaXhFbGVt
ZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudC5jcHA6Cisg
ICAgICAgICogc3ZnL1NWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudC5oOgorICAgICAgICAqIHN2
Zy9TVkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQuY3BwOgorICAgICAgICAqIHN2Zy9TVkdGRURp
c3BsYWNlbWVudE1hcEVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHRkVHYXVzc2lhbkJsdXJF
bGVtZW50LmNwcDoKKyAgICAgICAgKiBzdmcvU1ZHRkVHYXVzc2lhbkJsdXJFbGVtZW50Lmg6Cisg
ICAgICAgICogc3ZnL1NWR0ZFSW1hZ2VFbGVtZW50LmNwcDoKKyAgICAgICAgKiBzdmcvU1ZHRkVJ
bWFnZUVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHRkVMaWdodEVsZW1lbnQuY3BwOgorICAg
ICAgICAqIHN2Zy9TVkdGRU1lcmdlTm9kZUVsZW1lbnQuY3BwOgorICAgICAgICAqIHN2Zy9TVkdG
RU1lcmdlTm9kZUVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHRkVNb3JwaG9sb2d5RWxlbWVu
dC5jcHA6CisgICAgICAgICogc3ZnL1NWR0ZFTW9ycGhvbG9neUVsZW1lbnQuaDoKKyAgICAgICAg
KiBzdmcvU1ZHRkVPZmZzZXRFbGVtZW50LmNwcDoKKyAgICAgICAgKiBzdmcvU1ZHRkVPZmZzZXRF
bGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQuY3Bw
OgorICAgICAgICAqIHN2Zy9TVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50Lmg6CisgICAgICAg
ICogc3ZnL1NWR0ZFVGlsZUVsZW1lbnQuY3BwOgorICAgICAgICAqIHN2Zy9TVkdGRVRpbGVFbGVt
ZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0ZFVHVyYnVsZW5jZUVsZW1lbnQuY3BwOgorICAgICAg
ICAqIHN2Zy9TVkdGRVR1cmJ1bGVuY2VFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0ZpbHRl
ckVsZW1lbnQuY3BwOgorICAgICAgICAqIHN2Zy9TVkdGaWx0ZXJFbGVtZW50Lmg6CisgICAgICAg
ICogc3ZnL1NWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcy5jcHA6CisgICAgICAg
ICogc3ZnL1NWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcy5oOgorICAgICAgICAq
IHN2Zy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC5jcHA6CisgICAgICAgICogc3ZnL1NWR0ZvcmVp
Z25PYmplY3RFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5jcHA6
CisgICAgICAgICogc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdJ
bWFnZUVsZW1lbnQuY3BwOgorICAgICAgICAqIHN2Zy9TVkdJbWFnZUVsZW1lbnQuaDoKKyAgICAg
ICAgKiBzdmcvU1ZHTVBhdGhFbGVtZW50LmNwcDoKKyAgICAgICAgKiBzdmcvU1ZHTVBhdGhFbGVt
ZW50Lmg6CisgICAgICAgICogc3ZnL1NWR01hcmtlckVsZW1lbnQuY3BwOgorICAgICAgICAqIHN2
Zy9TVkdNYXJrZXJFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR01hc2tFbGVtZW50LmNwcDoK
KyAgICAgICAgKiBzdmcvU1ZHTWFza0VsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHUGF0dGVy
bkVsZW1lbnQuY3BwOgorICAgICAgICAqIHN2Zy9TVkdQYXR0ZXJuRWxlbWVudC5oOgorICAgICAg
ICAqIHN2Zy9TVkdTY3JpcHRFbGVtZW50LmNwcDoKKyAgICAgICAgKiBzdmcvU1ZHU2NyaXB0RWxl
bWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdTdHlsZWRFbGVtZW50LmNwcDoKKyAgICAgICAgKiBz
dmcvU1ZHU3R5bGVkRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHU3R5bGVkRWxlbWVu
dDo6aGFzUmVsYXRpdmVMZW5ndGhzKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1N0eWxlZEVsZW1l
bnQ6OnN1cHBvcnRzTWFya2Vycyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdTdHlsZWRFbGVtZW50
OjpzdHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdTdHlsZWRFbGVtZW50Ojp1cGRhdGVSZWxh
dGl2ZUxlbmd0aHNJbmZvcm1hdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTVkdTdHlsZWRFbGVt
ZW50OjpzZWxmSGFzUmVsYXRpdmVMZW5ndGhzKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1N0eWxl
ZEVsZW1lbnQ6OmlzU3R5bGVkKToKKyAgICAgICAgKiBzdmcvU1ZHVFJlZkVsZW1lbnQuY3BwOgor
ICAgICAgICAqIHN2Zy9TVkdUUmVmRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdUZXh0Q29u
dGVudEVsZW1lbnQuY3BwOgorICAgICAgICAqIHN2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuaDoK
KyAgICAgICAgKiBzdmcvU1ZHVGV4dFBhdGhFbGVtZW50LmNwcDoKKyAgICAgICAgKiBzdmcvU1ZH
VGV4dFBhdGhFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR1VzZUVsZW1lbnQuY3BwOgorICAg
ICAgICAqIHN2Zy9TVkdVc2VFbGVtZW50Lmg6CisKIDIwMTAtMTItMDIgIFBhdHJpY2sgR2Fuc3Rl
cmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQW5kcmVhcyBL
bGluZy4KSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0FFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3N2Zy9TVkdBRWxlbWVudC5jcHAJKHJldmlzaW9uIDczMDEwKQorKysgV2ViQ29yZS9z
dmcvU1ZHQUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Nyw2ICs0NywxMCBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKKy8vIEFuaW1hdGVkIHByb3BlcnR5IGRlZmluaXRpb25zCitE
RUZJTkVfQU5JTUFURURfU1RSSU5HKFNWR0FFbGVtZW50LCBTVkdOYW1lczo6dGFyZ2V0QXR0ciwg
U1ZHVGFyZ2V0LCBzdmdUYXJnZXQpCitERUZJTkVfQU5JTUFURURfU1RSSU5HKFNWR0FFbGVtZW50
LCBYTGlua05hbWVzOjpocmVmQXR0ciwgSHJlZiwgaHJlZikKKwogaW5saW5lIFNWR0FFbGVtZW50
OjpTVkdBRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9j
dW1lbnQpCiAgICAgOiBTVkdTdHlsZWRUcmFuc2Zvcm1hYmxlRWxlbWVudCh0YWdOYW1lLCBkb2N1
bWVudCkKIHsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0FFbGVtZW50LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9zdmcvU1ZHQUVsZW1lbnQuaAkocmV2aXNpb24gNzMwMTApCisrKyBXZWJDb3JlL3N2
Zy9TVkdBRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMyw3ICsyMyw2IEBACiAjZGVmaW5l
IFNWR0FFbGVtZW50X2gKIAogI2lmIEVOQUJMRShTVkcpCi0jaW5jbHVkZSAiU1ZHQW5pbWF0ZWRQ
cm9wZXJ0eU1hY3Jvcy5oIgogI2luY2x1ZGUgIlNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQu
aCIKICNpbmNsdWRlICJTVkdMYW5nU3BhY2UuaCIKICNpbmNsdWRlICJTVkdTdHlsZWRUcmFuc2Zv
cm1hYmxlRWxlbWVudC5oIgpAQCAtMzIsNDggKzMxLDUwIEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotICAgIGNsYXNzIFNWR0FFbGVtZW50IDogcHVibGljIFNWR1N0eWxlZFRyYW5zZm9ybWFi
bGVFbGVtZW50LAotICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIFNWR1VSSVJlZmVyZW5j
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyBTVkdUZXN0cywKLSAgICAgICAgICAg
ICAgICAgICAgICAgIHB1YmxpYyBTVkdMYW5nU3BhY2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICBwdWJsaWMgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCB7Ci0gICAgcHVibGljOgotICAg
ICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTVkdBRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmll
ZE5hbWUmLCBEb2N1bWVudCopOwotCi0gICAgcHJpdmF0ZToKLSAgICAgICAgU1ZHQUVsZW1lbnQo
Y29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7Ci0KLSAgICAgICAgdmlydHVhbCBib29s
IGlzVmFsaWQoKSBjb25zdCB7IHJldHVybiBTVkdUZXN0czo6aXNWYWxpZCgpOyB9Ci0gICAgICAg
IAotICAgICAgICB2aXJ0dWFsIFN0cmluZyB0aXRsZSgpIGNvbnN0OwotICAgICAgICB2aXJ0dWFs
IFN0cmluZyB0YXJnZXQoKSBjb25zdCB7IHJldHVybiBzdmdUYXJnZXQoKTsgfQotCi0gICAgICAg
IHZpcnR1YWwgdm9pZCBwYXJzZU1hcHBlZEF0dHJpYnV0ZShBdHRyaWJ1dGUqKTsKLSAgICAgICAg
dmlydHVhbCB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYpOwot
ICAgICAgICB2aXJ0dWFsIHZvaWQgc3luY2hyb25pemVQcm9wZXJ0eShjb25zdCBRdWFsaWZpZWRO
YW1lJik7Ci0KLSAgICAgICAgdmlydHVhbCBSZW5kZXJPYmplY3QqIGNyZWF0ZVJlbmRlcmVyKFJl
bmRlckFyZW5hKiwgUmVuZGVyU3R5bGUqKTsKLQotICAgICAgICB2aXJ0dWFsIHZvaWQgZGVmYXVs
dEV2ZW50SGFuZGxlcihFdmVudCopOwotICAgICAgICAKLSAgICAgICAgdmlydHVhbCBib29sIHN1
cHBvcnRzRm9jdXMoKSBjb25zdDsKLSAgICAgICAgdmlydHVhbCBib29sIGlzTW91c2VGb2N1c2Fi
bGUoKSBjb25zdDsKLSAgICAgICAgdmlydHVhbCBib29sIGlzS2V5Ym9hcmRGb2N1c2FibGUoS2V5
Ym9hcmRFdmVudCopIGNvbnN0OwotICAgICAgICB2aXJ0dWFsIGJvb2wgaXNGb2N1c2FibGUoKSBj
b25zdDsKLQotICAgICAgICB2aXJ0dWFsIGJvb2wgY2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihO
b2RlKikgY29uc3Q7Ci0KLSAgICAgICAgLy8gVGhpcyBkZWZpbmVzIGEgbm9uLXZpcnR1YWwgIlN0
cmluZyYgdGFyZ2V0KCkgY29uc3QiIG1ldGhvZCBiZWZvcmUsIHRoYXQgd291bGQgY2xhc2ggd2l0
aCAidmlydHVhbCBTdHJpbmcgdGFyZ2V0KCkgY29uc3QiCi0gICAgICAgIC8vIGluIEVsZW1lbnQu
IFRoYXQncyB3aHkgaXQncyBub3cgbmFtZWQgIlN0cmluZyYgc3ZnVGFyZ2V0KCkgY29uc3QiLCB0
byBhdm9pZCB0aGUgY2xhc2guIFRoZSBDb2RlR2VuZXJhdG9ycyB0YWtlIGNhcmUKLSAgICAgICAg
Ly8gb2YgY2FsbGluZyBzdmdUYXJnZXRBbmltYXRlZCgpIGluc3RlYWQgb2YgdGFyZ2V0QW5pbWF0
ZWQoKSwgc2VlIENvZGVHZW5lcmF0b3IucG0uCi0gICAgICAgIERFQ0xBUkVfQU5JTUFURURfU1RB
VElDX1BST1BFUlRZX05FVyhTVkdBRWxlbWVudCwgU1ZHTmFtZXM6OnRhcmdldEF0dHIsIFN0cmlu
ZywgU1ZHVGFyZ2V0LCBzdmdUYXJnZXQpCi0KLSAgICAgICAgLy8gU1ZHVVJJUmVmZXJlbmNlCi0g
ICAgICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdBRWxlbWVudCwg
WExpbmtOYW1lczo6aHJlZkF0dHIsIFN0cmluZywgSHJlZiwgaHJlZikKLQotICAgICAgICAvLyBT
VkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkCi0gICAgICAgIERFQ0xBUkVfQU5JTUFURURfU1RB
VElDX1BST1BFUlRZX05FVyhTVkdBRWxlbWVudCwgU1ZHTmFtZXM6OmV4dGVybmFsUmVzb3VyY2Vz
UmVxdWlyZWRBdHRyLCBib29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJl
c291cmNlc1JlcXVpcmVkKQotICAgIH07CitjbGFzcyBTVkdBRWxlbWVudCA6IHB1YmxpYyBTVkdT
dHlsZWRUcmFuc2Zvcm1hYmxlRWxlbWVudCwKKyAgICAgICAgICAgICAgICAgICAgcHVibGljIFNW
R1VSSVJlZmVyZW5jZSwKKyAgICAgICAgICAgICAgICAgICAgcHVibGljIFNWR1Rlc3RzLAorICAg
ICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHTGFuZ1NwYWNlLAorICAgICAgICAgICAgICAgICAg
ICBwdWJsaWMgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCB7CitwdWJsaWM6CisgICAgc3Rh
dGljIFBhc3NSZWZQdHI8U1ZHQUVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwg
RG9jdW1lbnQqKTsKKworcHJpdmF0ZToKKyAgICBTVkdBRWxlbWVudChjb25zdCBRdWFsaWZpZWRO
YW1lJiwgRG9jdW1lbnQqKTsKKworICAgIHZpcnR1YWwgYm9vbCBpc1ZhbGlkKCkgY29uc3QgeyBy
ZXR1cm4gU1ZHVGVzdHM6OmlzVmFsaWQoKTsgfQorICAgIAorICAgIHZpcnR1YWwgU3RyaW5nIHRp
dGxlKCkgY29uc3Q7CisgICAgdmlydHVhbCBTdHJpbmcgdGFyZ2V0KCkgY29uc3QgeyByZXR1cm4g
c3ZnVGFyZ2V0KCk7IH0KKworICAgIHZpcnR1YWwgdm9pZCBwYXJzZU1hcHBlZEF0dHJpYnV0ZShB
dHRyaWJ1dGUqKTsKKyAgICB2aXJ0dWFsIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBR
dWFsaWZpZWROYW1lJik7CisgICAgdmlydHVhbCB2b2lkIHN5bmNocm9uaXplUHJvcGVydHkoY29u
c3QgUXVhbGlmaWVkTmFtZSYpOworCisgICAgdmlydHVhbCBSZW5kZXJPYmplY3QqIGNyZWF0ZVJl
bmRlcmVyKFJlbmRlckFyZW5hKiwgUmVuZGVyU3R5bGUqKTsKKworICAgIHZpcnR1YWwgdm9pZCBk
ZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50Kik7CisgICAgCisgICAgdmlydHVhbCBib29sIHN1cHBv
cnRzRm9jdXMoKSBjb25zdDsKKyAgICB2aXJ0dWFsIGJvb2wgaXNNb3VzZUZvY3VzYWJsZSgpIGNv
bnN0OworICAgIHZpcnR1YWwgYm9vbCBpc0tleWJvYXJkRm9jdXNhYmxlKEtleWJvYXJkRXZlbnQq
KSBjb25zdDsKKyAgICB2aXJ0dWFsIGJvb2wgaXNGb2N1c2FibGUoKSBjb25zdDsKKworICAgIHZp
cnR1YWwgYm9vbCBjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKE5vZGUqKSBjb25zdDsKKworICAg
IC8vIEFuaW1hdGVkIHByb3BlcnR5IGRlY2xhcmF0aW9ucworCisgICAgLy8gVGhpcyBkZWZpbmVz
IGEgbm9uLXZpcnR1YWwgIlN0cmluZyYgdGFyZ2V0KCkgY29uc3QiIG1ldGhvZCBiZWZvcmUsIHRo
YXQgd291bGQgY2xhc2ggd2l0aCAidmlydHVhbCBTdHJpbmcgdGFyZ2V0KCkgY29uc3QiCisgICAg
Ly8gaW4gRWxlbWVudC4gVGhhdCdzIHdoeSBpdCdzIG5vdyBuYW1lZCAiU3RyaW5nJiBzdmdUYXJn
ZXQoKSBjb25zdCIsIHRvIGF2b2lkIHRoZSBjbGFzaC4gVGhlIENvZGVHZW5lcmF0b3JzIHRha2Ug
Y2FyZQorICAgIC8vIG9mIGNhbGxpbmcgc3ZnVGFyZ2V0QW5pbWF0ZWQoKSBpbnN0ZWFkIG9mIHRh
cmdldEFuaW1hdGVkKCksIHNlZSBDb2RlR2VuZXJhdG9yLnBtLgorICAgIERFQ0xBUkVfQU5JTUFU
RURfU1RSSU5HKFNWR1RhcmdldCwgc3ZnVGFyZ2V0KQorCisgICAgLy8gU1ZHVVJJUmVmZXJlbmNl
CisgICAgREVDTEFSRV9BTklNQVRFRF9TVFJJTkcoSHJlZiwgaHJlZikKKworICAgIC8vIFNWR0V4
dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQKKyAgICBERUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9Q
RVJUWV9ORVcoU1ZHQUVsZW1lbnQsIFNWR05hbWVzOjpleHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
QXR0ciwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNS
ZXF1aXJlZCkKK307CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIApJbmRleDogV2ViQ29yZS9z
dmcvU1ZHQWx0R2x5cGhFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdB
bHRHbHlwaEVsZW1lbnQuY3BwCShyZXZpc2lvbiA3MzAxMCkKKysrIFdlYkNvcmUvc3ZnL1NWR0Fs
dEdseXBoRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMzLDYgKzMzLDkgQEAKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCisvLyBBbmltYXRlZCBwcm9wZXJ0eSBkZWNsYXJhdGlvbnMKK0RF
RklORV9BTklNQVRFRF9TVFJJTkcoU1ZHQWx0R2x5cGhFbGVtZW50LCBYTGlua05hbWVzOjpocmVm
QXR0ciwgSHJlZiwgaHJlZikKKwogaW5saW5lIFNWR0FsdEdseXBoRWxlbWVudDo6U1ZHQWx0R2x5
cGhFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVu
dCkKICAgICA6IFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCiB7
CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdBbHRHbHlwaEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3N2Zy9TVkdBbHRHbHlwaEVsZW1lbnQuaAkocmV2aXNpb24gNzMwMTApCisrKyBXZWJD
b3JlL3N2Zy9TVkdBbHRHbHlwaEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMjUsMzUgKzI1
LDM2IEBACiAjaWYgRU5BQkxFKFNWR19GT05UUykKICNpbmNsdWRlICJTVkdUZXh0UG9zaXRpb25p
bmdFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHVVJJUmVmZXJlbmNlLmgiCi0jaW5jbHVkZSA8d3Rm
L3RleHQvQXRvbWljU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIGNsYXNz
IFNWR0dseXBoRWxlbWVudDsKK2NsYXNzIFNWR0dseXBoRWxlbWVudDsKIAotICAgIGNsYXNzIFNW
R0FsdEdseXBoRWxlbWVudCA6IHB1YmxpYyBTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyBTVkdVUklSZWZlcmVuY2UgewotICAg
IHB1YmxpYzoKLSAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8U1ZHQWx0R2x5cGhFbGVtZW50PiBj
cmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7Ci0KLSAgICAgICAgY29uc3Qg
QXRvbWljU3RyaW5nJiBnbHlwaFJlZigpIGNvbnN0OwotICAgICAgICB2b2lkIHNldEdseXBoUmVm
KGNvbnN0IEF0b21pY1N0cmluZyYsIEV4Y2VwdGlvbkNvZGUmKTsKLSAgICAgICAgY29uc3QgQXRv
bWljU3RyaW5nJiBmb3JtYXQoKSBjb25zdDsKLSAgICAgICAgdm9pZCBzZXRGb3JtYXQoY29uc3Qg
QXRvbWljU3RyaW5nJiwgRXhjZXB0aW9uQ29kZSYpOwotICAgIAotICAgICAgICBTVkdHbHlwaEVs
ZW1lbnQqIGdseXBoRWxlbWVudCgpIGNvbnN0OwotCi0gICAgcHJpdmF0ZToKLSAgICAgICAgU1ZH
QWx0R2x5cGhFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOwotCi0gICAg
ICAgIHZpcnR1YWwgdm9pZCBzeW5jaHJvbml6ZVByb3BlcnR5KGNvbnN0IFF1YWxpZmllZE5hbWUm
KTsKLQotICAgICAgICB2aXJ0dWFsIFJlbmRlck9iamVjdCogY3JlYXRlUmVuZGVyZXIoUmVuZGVy
QXJlbmEqLCBSZW5kZXJTdHlsZSopOwotICAgICAgICB2aXJ0dWFsIGJvb2wgY2hpbGRTaG91bGRD
cmVhdGVSZW5kZXJlcihOb2RlKikgY29uc3Q7Ci0KLSAgICAgICAgLy8gU1ZHVVJJUmVmZXJlbmNl
Ci0gICAgICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdBbHRHbHlw
aEVsZW1lbnQsIFhMaW5rTmFtZXM6OmhyZWZBdHRyLCBTdHJpbmcsIEhyZWYsIGhyZWYpCi0gICAg
fTsKK2NsYXNzIFNWR0FsdEdseXBoRWxlbWVudCA6IHB1YmxpYyBTVkdUZXh0UG9zaXRpb25pbmdF
bGVtZW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIFNWR1VSSVJlZmVyZW5j
ZSB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8U1ZHQWx0R2x5cGhFbGVtZW50PiBj
cmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7CisKKyAgICBjb25zdCBBdG9t
aWNTdHJpbmcmIGdseXBoUmVmKCkgY29uc3Q7CisgICAgdm9pZCBzZXRHbHlwaFJlZihjb25zdCBB
dG9taWNTdHJpbmcmLCBFeGNlcHRpb25Db2RlJik7CisgICAgY29uc3QgQXRvbWljU3RyaW5nJiBm
b3JtYXQoKSBjb25zdDsKKyAgICB2b2lkIHNldEZvcm1hdChjb25zdCBBdG9taWNTdHJpbmcmLCBF
eGNlcHRpb25Db2RlJik7CisKKyAgICBTVkdHbHlwaEVsZW1lbnQqIGdseXBoRWxlbWVudCgpIGNv
bnN0OworCitwcml2YXRlOgorICAgIFNWR0FsdEdseXBoRWxlbWVudChjb25zdCBRdWFsaWZpZWRO
YW1lJiwgRG9jdW1lbnQqKTsKKworICAgIHZpcnR1YWwgdm9pZCBzeW5jaHJvbml6ZVByb3BlcnR5
KGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKKworICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0KiBjcmVh
dGVSZW5kZXJlcihSZW5kZXJBcmVuYSosIFJlbmRlclN0eWxlKik7CisgICAgdmlydHVhbCBib29s
IGNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIoTm9kZSopIGNvbnN0OworCisgICAgLy8gQW5pbWF0
ZWQgcHJvcGVydHkgZGVjbGFyYXRpb25zCisKKyAgICAvLyBTVkdVUklSZWZlcmVuY2UKKyAgICBE
RUNMQVJFX0FOSU1BVEVEX1NUUklORyhIcmVmLCBocmVmKQorfTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQogCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdBbmltYXRlZEVudW1lcmF0aW9uLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbi5oCShyZXZpc2lv
biA3MzAxMCkKKysrIFdlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkRW51bWVyYXRpb24uaAkod29ya2lu
ZyBjb3B5KQpAQCAtMjIsMTEgKzIyLDIyIEBACiAKICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1ZGUg
IlNWR0FuaW1hdGVkU3RhdGljUHJvcGVydHlUZWFyT2ZmLmgiCisjaW5jbHVkZSAiU1ZHQW5pbWF0
ZWRQcm9wZXJ0eU1hY3Jvcy5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHR5cGVkZWYgU1ZH
QW5pbWF0ZWRTdGF0aWNQcm9wZXJ0eVRlYXJPZmY8aW50PiBTVkdBbmltYXRlZEVudW1lcmF0aW9u
OwogCisvLyBIZWxwZXIgbWFjcm9zIHRvIGRlY2xhcmUvZGVmaW5lIGEgU1ZHQW5pbWF0ZWRFbnVt
ZXJhdGlvbiBvYmplY3QKKyNkZWZpbmUgREVDTEFSRV9BTklNQVRFRF9FTlVNRVJBVElPTihVcHBl
clByb3BlcnR5LCBMb3dlclByb3BlcnR5KSBcCitERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRZKFNW
R0FuaW1hdGVkRW51bWVyYXRpb24sIGludCwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSkK
KworI2RlZmluZSBERUZJTkVfQU5JTUFURURfRU5VTUVSQVRJT04oT3duZXJUeXBlLCBET01BdHRy
aWJ1dGUsIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHkpIFwKK0RFRklORV9BTklNQVRFRF9Q
Uk9QRVJUWShPd25lclR5cGUsIERPTUF0dHJpYnV0ZSwgRE9NQXR0cmlidXRlLmxvY2FsTmFtZSgp
LCBTVkdBbmltYXRlZEVudW1lcmF0aW9uLCBpbnQsIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVy
dHkpCisKKyNkZWZpbmUgREVGSU5FX0FOSU1BVEVEX0VOVU1FUkFUSU9OX01VTFRJUExFX1dSQVBQ
RVJTKE93bmVyVHlwZSwgRE9NQXR0cmlidXRlLCBTVkdET01BdHRyaWJ1dGVJZGVudGlmaWVyLCBV
cHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5KSBcCitERUZJTkVfQU5JTUFURURfUFJPUEVSVFko
T3duZXJUeXBlLCBET01BdHRyaWJ1dGUsIFNWR0RPTUF0dHJpYnV0ZUlkZW50aWZpZXIsIFNWR0Fu
aW1hdGVkRW51bWVyYXRpb24sIGludCwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSkKKwog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKFNWRykKSW5kZXg6IFdl
YkNvcmUvc3ZnL1NWR0FuaW1hdGVkU3RyaW5nLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcv
U1ZHQW5pbWF0ZWRTdHJpbmcuaAkocmV2aXNpb24gNzMwMTApCisrKyBXZWJDb3JlL3N2Zy9TVkdB
bmltYXRlZFN0cmluZy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMiwxMiArMjIsMTkgQEAKIAogI2lm
IEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRTdGF0aWNQcm9wZXJ0eVRlYXJPZmYu
aCIKLSNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKyNpbmNsdWRlICJTVkdBbmltYXRl
ZFByb3BlcnR5TWFjcm9zLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdHlwZWRlZiBTVkdB
bmltYXRlZFN0YXRpY1Byb3BlcnR5VGVhck9mZjxTdHJpbmc+IFNWR0FuaW1hdGVkU3RyaW5nOwog
CisvLyBIZWxwZXIgbWFjcm9zIHRvIGRlY2xhcmUvZGVmaW5lIGEgU1ZHQW5pbWF0ZWRTdHJpbmcg
b2JqZWN0CisjZGVmaW5lIERFQ0xBUkVfQU5JTUFURURfU1RSSU5HKFVwcGVyUHJvcGVydHksIExv
d2VyUHJvcGVydHkpIFwKK0RFQ0xBUkVfQU5JTUFURURfUFJPUEVSVFkoU1ZHQW5pbWF0ZWRTdHJp
bmcsIFN0cmluZywgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSkKKworI2RlZmluZSBERUZJ
TkVfQU5JTUFURURfU1RSSU5HKE93bmVyVHlwZSwgRE9NQXR0cmlidXRlLCBVcHBlclByb3BlcnR5
LCBMb3dlclByb3BlcnR5KSBcCitERUZJTkVfQU5JTUFURURfUFJPUEVSVFkoT3duZXJUeXBlLCBE
T01BdHRyaWJ1dGUsIERPTUF0dHJpYnV0ZS5sb2NhbE5hbWUoKSwgU1ZHQW5pbWF0ZWRTdHJpbmcs
IFN0cmluZywgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSkKKwogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKFNWRykKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0Ns
aXBQYXRoRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHQ2xpcFBhdGhF
bGVtZW50LmNwcAkocmV2aXNpb24gNzMwMTApCisrKyBXZWJDb3JlL3N2Zy9TVkdDbGlwUGF0aEVs
ZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw2ICszNCw5IEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAorLy8gQW5pbWF0ZWQgcHJvcGVydHkgZGVmaW5pdGlvbnMKK0RFRklORV9BTklN
QVRFRF9FTlVNRVJBVElPTihTVkdDbGlwUGF0aEVsZW1lbnQsIFNWR05hbWVzOjpjbGlwUGF0aFVu
aXRzQXR0ciwgQ2xpcFBhdGhVbml0cywgY2xpcFBhdGhVbml0cykKKwogaW5saW5lIFNWR0NsaXBQ
YXRoRWxlbWVudDo6U1ZHQ2xpcFBhdGhFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05h
bWUsIERvY3VtZW50KiBkb2N1bWVudCkKICAgICA6IFNWR1N0eWxlZFRyYW5zZm9ybWFibGVFbGVt
ZW50KHRhZ05hbWUsIGRvY3VtZW50KQogICAgICwgbV9jbGlwUGF0aFVuaXRzKFNWR1VuaXRUeXBl
czo6U1ZHX1VOSVRfVFlQRV9VU0VSU1BBQ0VPTlVTRSkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0Ns
aXBQYXRoRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0NsaXBQYXRoRWxl
bWVudC5oCShyZXZpc2lvbiA3MzAxMCkKKysrIFdlYkNvcmUvc3ZnL1NWR0NsaXBQYXRoRWxlbWVu
dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMiw3ICsyMiw3IEBACiAjZGVmaW5lIFNWR0NsaXBQYXRo
RWxlbWVudF9oCiAKICNpZiBFTkFCTEUoU1ZHKQotI2luY2x1ZGUgIlNWR0FuaW1hdGVkUHJvcGVy
dHlNYWNyb3MuaCIKKyNpbmNsdWRlICJTVkdBbmltYXRlZEVudW1lcmF0aW9uLmgiCiAjaW5jbHVk
ZSAiU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5oIgogI2luY2x1ZGUgIlNWR0xhbmdTcGFj
ZS5oIgogI2luY2x1ZGUgIlNWR1N0eWxlZFRyYW5zZm9ybWFibGVFbGVtZW50LmgiCkBAIC01Miw3
ICs1Miw4IEBAIHByaXZhdGU6CiAKICAgICB2aXJ0dWFsIFJlbmRlck9iamVjdCogY3JlYXRlUmVu
ZGVyZXIoUmVuZGVyQXJlbmEqLCBSZW5kZXJTdHlsZSopOwogCi0gICAgREVDTEFSRV9BTklNQVRF
RF9TVEFUSUNfUFJPUEVSVFlfTkVXKFNWR0NsaXBQYXRoRWxlbWVudCwgU1ZHTmFtZXM6OmNsaXBQ
YXRoVW5pdHNBdHRyLCBpbnQsIENsaXBQYXRoVW5pdHMsIGNsaXBQYXRoVW5pdHMpCisgICAgLy8g
QW5pbWF0ZWQgcHJvcGVydHkgZGVjbGFyYXRpb25zCisgICAgREVDTEFSRV9BTklNQVRFRF9FTlVN
RVJBVElPTihDbGlwUGF0aFVuaXRzLCBjbGlwUGF0aFVuaXRzKQogCiAgICAgLy8gU1ZHRXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZAogICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZ
X05FVyhTVkdDbGlwUGF0aEVsZW1lbnQsIFNWR05hbWVzOjpleHRlcm5hbFJlc291cmNlc1JlcXVp
cmVkQXR0ciwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJj
ZXNSZXF1aXJlZCkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rp
b25FbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdDb21wb25lbnRUcmFu
c2ZlckZ1bmN0aW9uRWxlbWVudC5jcHAJKHJldmlzaW9uIDczMDI0KQorKysgV2ViQ29yZS9zdmcv
U1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zMSw2ICszMSw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIEFuaW1hdGVkIHByb3Bl
cnR5IGRlZmluaXRpb25zCitERUZJTkVfQU5JTUFURURfRU5VTUVSQVRJT04oU1ZHQ29tcG9uZW50
VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQsIFNWR05hbWVzOjp0eXBlQXR0ciwgVHlwZSwgdHlwZSkK
IERFRklORV9BTklNQVRFRF9OVU1CRVJfTElTVChTVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9u
RWxlbWVudCwgU1ZHTmFtZXM6OnRhYmxlVmFsdWVzQXR0ciwgVGFibGVWYWx1ZXMsIHRhYmxlVmFs
dWVzKQogREVGSU5FX0FOSU1BVEVEX05VTUJFUihTVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9u
RWxlbWVudCwgU1ZHTmFtZXM6OnNsb3BlQXR0ciwgU2xvcGUsIHNsb3BlKQogREVGSU5FX0FOSU1B
VEVEX05VTUJFUihTVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudCwgU1ZHTmFtZXM6
OmludGVyY2VwdEF0dHIsIEludGVyY2VwdCwgaW50ZXJjZXB0KQpJbmRleDogV2ViQ29yZS9zdmcv
U1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3N2Zy9TVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudC5oCShyZXZpc2lvbiA3
MzAyNCkKKysrIFdlYkNvcmUvc3ZnL1NWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50
LmgJKHdvcmtpbmcgY29weSkKQEAgLTIzLDYgKzIzLDcgQEAKIAogI2lmIEVOQUJMRShTVkcpICYm
IEVOQUJMRShGSUxURVJTKQogI2luY2x1ZGUgIkZFQ29tcG9uZW50VHJhbnNmZXIuaCIKKyNpbmNs
dWRlICJTVkdBbmltYXRlZEVudW1lcmF0aW9uLmgiCiAjaW5jbHVkZSAiU1ZHQW5pbWF0ZWROdW1i
ZXIuaCIKICNpbmNsdWRlICJTVkdBbmltYXRlZE51bWJlckxpc3QuaCIKIApAQCAtNDAsNyArNDEs
NyBAQCBwcm90ZWN0ZWQ6CiAgICAgCiBwcml2YXRlOgogICAgIC8vIEFuaW1hdGVkIHByb3BlcnR5
IGRlY2xhcmF0aW9ucwotICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhT
VkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudCwgU1ZHTmFtZXM6OnR5cGVBdHRyLCBp
bnQsIFR5cGUsIHR5cGUpCisgICAgREVDTEFSRV9BTklNQVRFRF9FTlVNRVJBVElPTihUeXBlLCB0
eXBlKQogICAgIERFQ0xBUkVfQU5JTUFURURfTlVNQkVSX0xJU1QoVGFibGVWYWx1ZXMsIHRhYmxl
VmFsdWVzKQogICAgIERFQ0xBUkVfQU5JTUFURURfTlVNQkVSKFNsb3BlLCBzbG9wZSkKICAgICBE
RUNMQVJFX0FOSU1BVEVEX05VTUJFUihJbnRlcmNlcHQsIGludGVyY2VwdCkKSW5kZXg6IFdlYkNv
cmUvc3ZnL1NWR0N1cnNvckVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NW
R0N1cnNvckVsZW1lbnQuY3BwCShyZXZpc2lvbiA3MzAxNikKKysrIFdlYkNvcmUvc3ZnL1NWR0N1
cnNvckVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw2IEBACiAKICNpbmNs
dWRlICJBdHRyLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKLSNpbmNsdWRlICJTVkdMZW5ndGgu
aCIKICNpbmNsdWRlICJTVkdOYW1lcy5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zMyw2
ICszMiw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIC8vIEFuaW1hdGVkIHByb3BlcnR5IGRlZmlu
aXRpb25zCiBERUZJTkVfQU5JTUFURURfTEVOR1RIKFNWR0N1cnNvckVsZW1lbnQsIFNWR05hbWVz
Ojp4QXR0ciwgWCwgeCkKIERFRklORV9BTklNQVRFRF9MRU5HVEgoU1ZHQ3Vyc29yRWxlbWVudCwg
U1ZHTmFtZXM6OnlBdHRyLCBZLCB5KQorREVGSU5FX0FOSU1BVEVEX1NUUklORyhTVkdDdXJzb3JF
bGVtZW50LCBYTGlua05hbWVzOjpocmVmQXR0ciwgSHJlZiwgaHJlZikKIAogaW5saW5lIFNWR0N1
cnNvckVsZW1lbnQ6OlNWR0N1cnNvckVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFt
ZSwgRG9jdW1lbnQqIGRvY3VtZW50KQogICAgIDogU1ZHRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVu
dCkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0N1cnNvckVsZW1lbnQuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3N2Zy9TVkdDdXJzb3JFbGVtZW50LmgJKHJldmlzaW9uIDczMDE2KQorKysgV2ViQ29y
ZS9zdmcvU1ZHQ3Vyc29yRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMyw3ICsyMyw3IEBA
CiAKICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1ZGUgIlNWR0FuaW1hdGVkTGVuZ3RoLmgiCi0jaW5j
bHVkZSAiU1ZHQW5pbWF0ZWRQcm9wZXJ0eU1hY3Jvcy5oIgorI2luY2x1ZGUgIlNWR0FuaW1hdGVk
U3RyaW5nLmgiCiAjaW5jbHVkZSAiU1ZHRWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR1Rlc3RzLmgi
CiAjaW5jbHVkZSAiU1ZHVVJJUmVmZXJlbmNlLmgiCkBAIC01OSw3ICs1OSw3IEBAIHByaXZhdGU6
CiAgICAgREVDTEFSRV9BTklNQVRFRF9MRU5HVEgoWSwgeSkKIAogICAgIC8vIFNWR1VSSVJlZmVy
ZW5jZQotICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdDdXJzb3JF
bGVtZW50LCBYTGlua05hbWVzOjpocmVmQXR0ciwgU3RyaW5nLCBIcmVmLCBocmVmKQorICAgIERF
Q0xBUkVfQU5JTUFURURfU1RSSU5HKEhyZWYsIGhyZWYpCiAKICAgICAvLyBTVkdFeHRlcm5hbFJl
c291cmNlc1JlcXVpcmVkCiAgICAgREVDTEFSRV9BTklNQVRFRF9TVEFUSUNfUFJPUEVSVFlfTkVX
KFNWR0N1cnNvckVsZW1lbnQsIFNWR05hbWVzOjpleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkQXR0
ciwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1
aXJlZCkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZFQmxlbmRFbGVtZW50LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGRUJsZW5kRWxlbWVudC5jcHAJKHJldmlzaW9uIDczMDEwKQor
KysgV2ViQ29yZS9zdmcvU1ZHRkVCbGVuZEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0y
Nyw2ICsyNywxMSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKKy8vIEFuaW1hdGVkIHByb3Bl
cnR5IGRlZmluaXRpb25zCitERUZJTkVfQU5JTUFURURfU1RSSU5HKFNWR0ZFQmxlbmRFbGVtZW50
LCBTVkdOYW1lczo6aW5BdHRyLCBJbjEsIGluMSkKK0RFRklORV9BTklNQVRFRF9TVFJJTkcoU1ZH
RkVCbGVuZEVsZW1lbnQsIFNWR05hbWVzOjppbjJBdHRyLCBJbjIsIGluMikKK0RFRklORV9BTklN
QVRFRF9FTlVNRVJBVElPTihTVkdGRUJsZW5kRWxlbWVudCwgU1ZHTmFtZXM6Om1vZGVBdHRyLCBN
b2RlLCBtb2RlKQorCiBpbmxpbmUgU1ZHRkVCbGVuZEVsZW1lbnQ6OlNWR0ZFQmxlbmRFbGVtZW50
KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKICAgICA6
IFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcyh0YWdOYW1lLCBkb2N1bWVudCkK
ICAgICAsIG1fbW9kZShGRUJMRU5EX01PREVfTk9STUFMKQpJbmRleDogV2ViQ29yZS9zdmcvU1ZH
RkVCbGVuZEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGRUJsZW5kRWxl
bWVudC5oCShyZXZpc2lvbiA3MzAxMCkKKysrIFdlYkNvcmUvc3ZnL1NWR0ZFQmxlbmRFbGVtZW50
LmgJKHdvcmtpbmcgY29weSkKQEAgLTIzLDkgKzIzLDExIEBACiAKICNpZiBFTkFCTEUoU1ZHKSAm
JiBFTkFCTEUoRklMVEVSUykKICNpbmNsdWRlICJGRUJsZW5kLmgiCisjaW5jbHVkZSAiU1ZHQW5p
bWF0ZWRFbnVtZXJhdGlvbi5oIgogI2luY2x1ZGUgIlNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJk
QXR0cmlidXRlcy5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CisKIGNsYXNzIFNWR0ZFQmxlbmRF
bGVtZW50IDogcHVibGljIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcyB7CiBw
dWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8U1ZHRkVCbGVuZEVsZW1lbnQ+IGNyZWF0ZShj
b25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKQEAgLTM4LDE0ICs0MCwxMyBAQCBwcml2
YXRlOgogICAgIHZpcnR1YWwgdm9pZCBzeW5jaHJvbml6ZVByb3BlcnR5KGNvbnN0IFF1YWxpZmll
ZE5hbWUmKTsKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8RmlsdGVyRWZmZWN0PiBidWlsZChTVkdG
aWx0ZXJCdWlsZGVyKiwgRmlsdGVyKik7CiAKLSAgICBERUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19Q
Uk9QRVJUWV9ORVcoU1ZHRkVCbGVuZEVsZW1lbnQsIFNWR05hbWVzOjppbkF0dHIsIFN0cmluZywg
SW4xLCBpbjEpCi0gICAgREVDTEFSRV9BTklNQVRFRF9TVEFUSUNfUFJPUEVSVFlfTkVXKFNWR0ZF
QmxlbmRFbGVtZW50LCBTVkdOYW1lczo6aW4yQXR0ciwgU3RyaW5nLCBJbjIsIGluMikKLSAgICBE
RUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9ORVcoU1ZHRkVCbGVuZEVsZW1lbnQsIFNW
R05hbWVzOjptb2RlQXR0ciwgaW50LCBNb2RlLCBtb2RlKQorICAgIC8vIEFuaW1hdGVkIHByb3Bl
cnR5IGRlY2xhcmF0aW9ucworICAgIERFQ0xBUkVfQU5JTUFURURfU1RSSU5HKEluMSwgaW4xKQor
ICAgIERFQ0xBUkVfQU5JTUFURURfU1RSSU5HKEluMiwgaW4yKQorICAgIERFQ0xBUkVfQU5JTUFU
RURfRU5VTUVSQVRJT04oTW9kZSwgbW9kZSkKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
IAogI2VuZGlmIC8vIEVOQUJMRShTVkcpCiAjZW5kaWYKLQotLy8gdmltOnRzPTQ6bm9ldApJbmRl
eDogV2ViQ29yZS9zdmcvU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvc3ZnL1NWR0ZFQ29sb3JNYXRyaXhFbGVtZW50LmNwcAkocmV2aXNpb24gNzMwMjAp
CisrKyBXZWJDb3JlL3N2Zy9TVkdGRUNvbG9yTWF0cml4RWxlbWVudC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTI1LDExICsyNSwxMiBAQAogCiAjaW5jbHVkZSAiQXR0cmlidXRlLmgiCiAjaW5jbHVk
ZSAiU1ZHTmFtZXMuaCIKLSNpbmNsdWRlICJTVkdOdW1iZXJMaXN0LmgiCiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogLy8gQW5pbWF0ZWQgcHJvcGVydHkgZGVmaW5pdGlvbnMKK0RFRklORV9BTklN
QVRFRF9TVFJJTkcoU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQsIFNWR05hbWVzOjppbkF0dHIsIElu
MSwgaW4xKQorREVGSU5FX0FOSU1BVEVEX0VOVU1FUkFUSU9OKFNWR0ZFQ29sb3JNYXRyaXhFbGVt
ZW50LCBTVkdOYW1lczo6dHlwZUF0dHIsIFR5cGUsIHR5cGUpCiBERUZJTkVfQU5JTUFURURfTlVN
QkVSX0xJU1QoU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQsIFNWR05hbWVzOjp2YWx1ZXNBdHRyLCBW
YWx1ZXMsIHZhbHVlcykKIAogaW5saW5lIFNWR0ZFQ29sb3JNYXRyaXhFbGVtZW50OjpTVkdGRUNv
bG9yTWF0cml4RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCog
ZG9jdW1lbnQpCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdGRUNvbG9yTWF0cml4RWxlbWVudC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ZFQ29sb3JNYXRyaXhFbGVtZW50LmgJKHJldmlz
aW9uIDczMDIwKQorKysgV2ViQ29yZS9zdmcvU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQuaAkod29y
a2luZyBjb3B5KQpAQCAtMjMsNiArMjMsNyBAQAogCiAjaWYgRU5BQkxFKFNWRykgJiYgRU5BQkxF
KEZJTFRFUlMpCiAjaW5jbHVkZSAiRkVDb2xvck1hdHJpeC5oIgorI2luY2x1ZGUgIlNWR0FuaW1h
dGVkRW51bWVyYXRpb24uaCIKICNpbmNsdWRlICJTVkdBbmltYXRlZE51bWJlckxpc3QuaCIKICNp
bmNsdWRlICJTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMuaCIKIApAQCAtNDEs
OCArNDIsOCBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxGaWx0ZXJFZmZlY3Q+
IGJ1aWxkKFNWR0ZpbHRlckJ1aWxkZXIqLCBGaWx0ZXIqKTsKIAogICAgIC8vIEFuaW1hdGVkIHBy
b3BlcnR5IGRlY2xhcmF0aW9ucwotICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZ
X05FVyhTVkdGRUNvbG9yTWF0cml4RWxlbWVudCwgU1ZHTmFtZXM6OmluQXR0ciwgU3RyaW5nLCBJ
bjEsIGluMSkKLSAgICBERUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9ORVcoU1ZHRkVD
b2xvck1hdHJpeEVsZW1lbnQsIFNWR05hbWVzOjp0eXBlQXR0ciwgaW50LCBUeXBlLCB0eXBlKQor
ICAgIERFQ0xBUkVfQU5JTUFURURfU1RSSU5HKEluMSwgaW4xKQorICAgIERFQ0xBUkVfQU5JTUFU
RURfRU5VTUVSQVRJT04oVHlwZSwgdHlwZSkKICAgICBERUNMQVJFX0FOSU1BVEVEX05VTUJFUl9M
SVNUKFZhbHVlcywgdmFsdWVzKQogfTsKIApJbmRleDogV2ViQ29yZS9zdmcvU1ZHRkVDb21wb25l
bnRUcmFuc2ZlckVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ZFQ29t
cG9uZW50VHJhbnNmZXJFbGVtZW50LmNwcAkocmV2aXNpb24gNzMwMTApCisrKyBXZWJDb3JlL3N2
Zy9TVkdGRUNvbXBvbmVudFRyYW5zZmVyRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI5
LDEwICsyOSwxMiBAQAogI2luY2x1ZGUgIlNWR0ZFRnVuY0dFbGVtZW50LmgiCiAjaW5jbHVkZSAi
U1ZHRkVGdW5jUkVsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdOYW1lcy5oIgotI2luY2x1ZGUgIlNW
R1JlbmRlclN0eWxlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorLy8gQW5pbWF0ZWQgcHJv
cGVydHkgZGVjbGFyYXRpb25zCitERUZJTkVfQU5JTUFURURfU1RSSU5HKFNWR0ZFQ29tcG9uZW50
VHJhbnNmZXJFbGVtZW50LCBTVkdOYW1lczo6aW5BdHRyLCBJbjEsIGluMSkKKwogaW5saW5lIFNW
R0ZFQ29tcG9uZW50VHJhbnNmZXJFbGVtZW50OjpTVkdGRUNvbXBvbmVudFRyYW5zZmVyRWxlbWVu
dChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCiAgICAg
OiBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXModGFnTmFtZSwgZG9jdW1lbnQp
CiB7CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdGRUNvbXBvbmVudFRyYW5zZmVyRWxlbWVudC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ZFQ29tcG9uZW50VHJhbnNmZXJFbGVtZW50LmgJ
KHJldmlzaW9uIDczMDEwKQorKysgV2ViQ29yZS9zdmcvU1ZHRkVDb21wb25lbnRUcmFuc2ZlckVs
ZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMjIsOCArMjIsOCBAQAogI2RlZmluZSBTVkdGRUNv
bXBvbmVudFRyYW5zZmVyRWxlbWVudF9oCiAKICNpZiBFTkFCTEUoU1ZHKSAmJiBFTkFCTEUoRklM
VEVSUykKLSNpbmNsdWRlICJTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMuaCIK
ICNpbmNsdWRlICJGRUNvbXBvbmVudFRyYW5zZmVyLmgiCisjaW5jbHVkZSAiU1ZHRmlsdGVyUHJp
bWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAt
MzgsNyArMzgsOCBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBzeW5jaHJvbml6ZVByb3Bl
cnR5KGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8RmlsdGVy
RWZmZWN0PiBidWlsZChTVkdGaWx0ZXJCdWlsZGVyKiwgRmlsdGVyKik7CiAKLSAgICBERUNMQVJF
X0FOSU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9ORVcoU1ZHRkVDb21wb25lbnRUcmFuc2ZlckVsZW1l
bnQsIFNWR05hbWVzOjppbkF0dHIsIFN0cmluZywgSW4xLCBpbjEpCisgICAgLy8gQW5pbWF0ZWQg
cHJvcGVydHkgZGVjbGFyYXRpb25zCisgICAgREVDTEFSRV9BTklNQVRFRF9TVFJJTkcoSW4xLCBp
bjEpCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdG
RUNvbXBvc2l0ZUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ZFQ29t
cG9zaXRlRWxlbWVudC5jcHAJKHJldmlzaW9uIDczMDI0KQorKysgV2ViQ29yZS9zdmcvU1ZHRkVD
b21wb3NpdGVFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjksNiArMjksOSBAQAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiAvLyBBbmltYXRlZCBwcm9wZXJ0eSBkZWZpbml0aW9ucworREVG
SU5FX0FOSU1BVEVEX1NUUklORyhTVkdGRUNvbXBvc2l0ZUVsZW1lbnQsIFNWR05hbWVzOjppbkF0
dHIsIEluMSwgaW4xKQorREVGSU5FX0FOSU1BVEVEX1NUUklORyhTVkdGRUNvbXBvc2l0ZUVsZW1l
bnQsIFNWR05hbWVzOjppbjJBdHRyLCBJbjIsIGluMikKK0RFRklORV9BTklNQVRFRF9FTlVNRVJB
VElPTihTVkdGRUNvbXBvc2l0ZUVsZW1lbnQsIFNWR05hbWVzOjpvcGVyYXRvckF0dHIsIF9vcGVy
YXRvciwgX29wZXJhdG9yKQogREVGSU5FX0FOSU1BVEVEX05VTUJFUihTVkdGRUNvbXBvc2l0ZUVs
ZW1lbnQsIFNWR05hbWVzOjprMUF0dHIsIEsxLCBrMSkKIERFRklORV9BTklNQVRFRF9OVU1CRVIo
U1ZHRkVDb21wb3NpdGVFbGVtZW50LCBTVkdOYW1lczo6azJBdHRyLCBLMiwgazIpCiBERUZJTkVf
QU5JTUFURURfTlVNQkVSKFNWR0ZFQ29tcG9zaXRlRWxlbWVudCwgU1ZHTmFtZXM6OmszQXR0ciwg
SzMsIGszKQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRkVDb21wb3NpdGVFbGVtZW50LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRkVDb21wb3NpdGVFbGVtZW50LmgJKHJldmlzaW9uIDcz
MDI0KQorKysgV2ViQ29yZS9zdmcvU1ZHRkVDb21wb3NpdGVFbGVtZW50LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTIzLDYgKzIzLDcgQEAKIAogI2lmIEVOQUJMRShTVkcpICYmIEVOQUJMRShGSUxURVJT
KQogI2luY2x1ZGUgIkZFQ29tcG9zaXRlLmgiCisjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRFbnVtZXJh
dGlvbi5oIgogI2luY2x1ZGUgIlNWR0FuaW1hdGVkTnVtYmVyLmgiCiAjaW5jbHVkZSAiU1ZHRmls
dGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLmgiCiAKQEAgLTQxLDkgKzQyLDkgQEAgcHJp
dmF0ZToKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8RmlsdGVyRWZmZWN0PiBidWlsZChTVkdGaWx0
ZXJCdWlsZGVyKiwgRmlsdGVyKik7CiAKICAgICAvLyBBbmltYXRlZCBwcm9wZXJ0eSBkZWNsYXJh
dGlvbnMKLSAgICBERUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9ORVcoU1ZHRkVDb21w
b3NpdGVFbGVtZW50LCBTVkdOYW1lczo6aW5BdHRyLCBTdHJpbmcsIEluMSwgaW4xKQotICAgIERF
Q0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdGRUNvbXBvc2l0ZUVsZW1lbnQs
IFNWR05hbWVzOjppbjJBdHRyLCBTdHJpbmcsIEluMiwgaW4yKQotICAgIERFQ0xBUkVfQU5JTUFU
RURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdGRUNvbXBvc2l0ZUVsZW1lbnQsIFNWR05hbWVzOjpv
cGVyYXRvckF0dHIsIGludCwgX29wZXJhdG9yLCBfb3BlcmF0b3IpCisgICAgREVDTEFSRV9BTklN
QVRFRF9TVFJJTkcoSW4xLCBpbjEpCisgICAgREVDTEFSRV9BTklNQVRFRF9TVFJJTkcoSW4yLCBp
bjIpCisgICAgREVDTEFSRV9BTklNQVRFRF9FTlVNRVJBVElPTihfb3BlcmF0b3IsIF9vcGVyYXRv
cikKICAgICBERUNMQVJFX0FOSU1BVEVEX05VTUJFUihLMSwgazEpCiAgICAgREVDTEFSRV9BTklN
QVRFRF9OVU1CRVIoSzIsIGsyKQogICAgIERFQ0xBUkVfQU5JTUFURURfTlVNQkVSKEszLCBrMykK
SW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZFQ29udm9sdmVNYXRyaXhFbGVtZW50LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVudC5jcHAJKHJldmlz
aW9uIDczMDI0KQorKysgV2ViQ29yZS9zdmcvU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zMiw5ICszMiwxMSBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiAvLyBBbmltYXRlZCBwcm9wZXJ0eSBkZWZpbml0aW9ucworREVGSU5FX0FOSU1BVEVEX1NUUklO
RyhTVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVudCwgU1ZHTmFtZXM6OmluQXR0ciwgSW4xLCBpbjEp
CiBERUZJTkVfQU5JTUFURURfTlVNQkVSX0xJU1QoU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQs
IFNWR05hbWVzOjprZXJuZWxNYXRyaXhBdHRyLCBLZXJuZWxNYXRyaXgsIGtlcm5lbE1hdHJpeCkK
IERFRklORV9BTklNQVRFRF9OVU1CRVIoU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQsIFNWR05h
bWVzOjpkaXZpc29yQXR0ciwgRGl2aXNvciwgZGl2aXNvcikKIERFRklORV9BTklNQVRFRF9OVU1C
RVIoU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQsIFNWR05hbWVzOjpiaWFzQXR0ciwgQmlhcywg
YmlhcykKK0RFRklORV9BTklNQVRFRF9FTlVNRVJBVElPTihTVkdGRUNvbnZvbHZlTWF0cml4RWxl
bWVudCwgU1ZHTmFtZXM6Om9wZXJhdG9yQXR0ciwgRWRnZU1vZGUsIGVkZ2VNb2RlKQogREVGSU5F
X0FOSU1BVEVEX05VTUJFUl9NVUxUSVBMRV9XUkFQUEVSUyhTVkdGRUNvbnZvbHZlTWF0cml4RWxl
bWVudCwgU1ZHTmFtZXM6Omtlcm5lbFVuaXRMZW5ndGhBdHRyLCBrZXJuZWxVbml0TGVuZ3RoWElk
ZW50aWZpZXIoKSwgS2VybmVsVW5pdExlbmd0aFgsIGtlcm5lbFVuaXRMZW5ndGhYKQogREVGSU5F
X0FOSU1BVEVEX05VTUJFUl9NVUxUSVBMRV9XUkFQUEVSUyhTVkdGRUNvbnZvbHZlTWF0cml4RWxl
bWVudCwgU1ZHTmFtZXM6Omtlcm5lbFVuaXRMZW5ndGhBdHRyLCBrZXJuZWxVbml0TGVuZ3RoWUlk
ZW50aWZpZXIoKSwgS2VybmVsVW5pdExlbmd0aFksIGtlcm5lbFVuaXRMZW5ndGhZKQogCkluZGV4
OiBXZWJDb3JlL3N2Zy9TVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVudC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvc3ZnL1NWR0ZFQ29udm9sdmVNYXRyaXhFbGVtZW50LmgJKHJldmlzaW9uIDczMDI0
KQorKysgV2ViQ29yZS9zdmcvU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQuaAkod29ya2luZyBj
b3B5KQpAQCAtMjIsNiArMjIsNyBAQAogCiAjaWYgRU5BQkxFKFNWRykgJiYgRU5BQkxFKEZJTFRF
UlMpCiAjaW5jbHVkZSAiRkVDb252b2x2ZU1hdHJpeC5oIgorI2luY2x1ZGUgIlNWR0FuaW1hdGVk
RW51bWVyYXRpb24uaCIKICNpbmNsdWRlICJTVkdBbmltYXRlZE51bWJlci5oIgogI2luY2x1ZGUg
IlNWR0FuaW1hdGVkTnVtYmVyTGlzdC5oIgogI2luY2x1ZGUgIlNWR0ZpbHRlclByaW1pdGl2ZVN0
YW5kYXJkQXR0cmlidXRlcy5oIgpAQCAtNDgsNyArNDksNyBAQCBwcml2YXRlOgogICAgIHN0YXRp
YyBjb25zdCBBdG9taWNTdHJpbmcmIGtlcm5lbFVuaXRMZW5ndGhZSWRlbnRpZmllcigpOwogCiAg
ICAgLy8gQW5pbWF0ZWQgcHJvcGVydHkgZGVjbGFyYXRpb25zCi0gICAgREVDTEFSRV9BTklNQVRF
RF9TVEFUSUNfUFJPUEVSVFlfTkVXKFNWR0ZFQ29udm9sdmVNYXRyaXhFbGVtZW50LCBTVkdOYW1l
czo6aW5BdHRyLCBTdHJpbmcsIEluMSwgaW4xKQorICAgIERFQ0xBUkVfQU5JTUFURURfU1RSSU5H
KEluMSwgaW4xKQogICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX01VTFRJUExF
X1dSQVBQRVJTX05FVyhTVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVudCwgU1ZHTmFtZXM6Om9yZGVy
QXR0ciwgb3JkZXJYSWRlbnRpZmllcigpLCBsb25nLCBPcmRlclgsIG9yZGVyWCkKICAgICBERUNM
QVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9NVUxUSVBMRV9XUkFQUEVSU19ORVcoU1ZHRkVD
b252b2x2ZU1hdHJpeEVsZW1lbnQsIFNWR05hbWVzOjpvcmRlckF0dHIsIG9yZGVyWUlkZW50aWZp
ZXIoKSwgbG9uZywgT3JkZXJZLCBvcmRlclkpCiAgICAgREVDTEFSRV9BTklNQVRFRF9OVU1CRVJf
TElTVChLZXJuZWxNYXRyaXgsIGtlcm5lbE1hdHJpeCkKQEAgLTU2LDcgKzU3LDcgQEAgcHJpdmF0
ZToKICAgICBERUNMQVJFX0FOSU1BVEVEX05VTUJFUihCaWFzLCBiaWFzKQogICAgIERFQ0xBUkVf
QU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVudCwg
U1ZHTmFtZXM6OnRhcmdldFhBdHRyLCBsb25nLCBUYXJnZXRYLCB0YXJnZXRYKQogICAgIERFQ0xB
UkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVu
dCwgU1ZHTmFtZXM6OnRhcmdldFlBdHRyLCBsb25nLCBUYXJnZXRZLCB0YXJnZXRZKQotICAgIERF
Q0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdGRUNvbnZvbHZlTWF0cml4RWxl
bWVudCwgU1ZHTmFtZXM6Om9wZXJhdG9yQXR0ciwgaW50LCBFZGdlTW9kZSwgZWRnZU1vZGUpCisg
ICAgREVDTEFSRV9BTklNQVRFRF9FTlVNRVJBVElPTihFZGdlTW9kZSwgZWRnZU1vZGUpCiAgICAg
REVDTEFSRV9BTklNQVRFRF9OVU1CRVIoS2VybmVsVW5pdExlbmd0aFgsIGtlcm5lbFVuaXRMZW5n
dGhYKQogICAgIERFQ0xBUkVfQU5JTUFURURfTlVNQkVSKEtlcm5lbFVuaXRMZW5ndGhZLCBrZXJu
ZWxVbml0TGVuZ3RoWSkKICAgICBERUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9ORVco
U1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQsIFNWR05hbWVzOjpwcmVzZXJ2ZUFscGhhQXR0ciwg
Ym9vbCwgUHJlc2VydmVBbHBoYSwgcHJlc2VydmVBbHBoYSkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NW
R0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcv
U1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50LmNwcAkocmV2aXNpb24gNzMwMjQpCisrKyBXZWJD
b3JlL3N2Zy9TVkdGRURpZmZ1c2VMaWdodGluZ0VsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0yNCwxNSArMjQsMTYgQEAKIAogI2luY2x1ZGUgIkF0dHIuaCIKICNpbmNsdWRlICJGRURpZmZ1
c2VMaWdodGluZy5oIgorI2luY2x1ZGUgIlJlbmRlclN0eWxlLmgiCiAjaW5jbHVkZSAiU1ZHQ29s
b3IuaCIKICNpbmNsdWRlICJTVkdGRUxpZ2h0RWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR05hbWVz
LmgiCiAjaW5jbHVkZSAiU1ZHUGFyc2VyVXRpbGl0aWVzLmgiCi0jaW5jbHVkZSAiU1ZHUmVuZGVy
U3R5bGUuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBBbmltYXRlZCBwcm9wZXJ0eSBk
ZWZpbml0aW9ucworREVGSU5FX0FOSU1BVEVEX1NUUklORyhTVkdGRURpZmZ1c2VMaWdodGluZ0Vs
ZW1lbnQsIFNWR05hbWVzOjppbkF0dHIsIEluMSwgaW4xKQogREVGSU5FX0FOSU1BVEVEX05VTUJF
UihTVkdGRURpZmZ1c2VMaWdodGluZ0VsZW1lbnQsIFNWR05hbWVzOjpkaWZmdXNlQ29uc3RhbnRB
dHRyLCBEaWZmdXNlQ29uc3RhbnQsIGRpZmZ1c2VDb25zdGFudCkKIERFRklORV9BTklNQVRFRF9O
VU1CRVIoU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50LCBTVkdOYW1lczo6c3VyZmFjZVNjYWxl
QXR0ciwgU3VyZmFjZVNjYWxlLCBzdXJmYWNlU2NhbGUpCiBERUZJTkVfQU5JTUFURURfTlVNQkVS
X01VTFRJUExFX1dSQVBQRVJTKFNWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudCwgU1ZHTmFtZXM6
Omtlcm5lbFVuaXRMZW5ndGhBdHRyLCBrZXJuZWxVbml0TGVuZ3RoWElkZW50aWZpZXIoKSwgS2Vy
bmVsVW5pdExlbmd0aFgsIGtlcm5lbFVuaXRMZW5ndGhYKQpJbmRleDogV2ViQ29yZS9zdmcvU1ZH
RkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZH
RkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50LmgJKHJldmlzaW9uIDczMDI0KQorKysgV2ViQ29yZS9z
dmcvU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ3LDcg
KzQ3LDcgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgY29uc3QgQXRvbWljU3RyaW5nJiBrZXJuZWxV
bml0TGVuZ3RoWUlkZW50aWZpZXIoKTsKIAogICAgIC8vIEFuaW1hdGVkIHByb3BlcnR5IGRlY2xh
cmF0aW9ucwotICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdGRURp
ZmZ1c2VMaWdodGluZ0VsZW1lbnQsIFNWR05hbWVzOjppbkF0dHIsIFN0cmluZywgSW4xLCBpbjEp
CisgICAgREVDTEFSRV9BTklNQVRFRF9TVFJJTkcoSW4xLCBpbjEpCiAgICAgREVDTEFSRV9BTklN
QVRFRF9OVU1CRVIoRGlmZnVzZUNvbnN0YW50LCBkaWZmdXNlQ29uc3RhbnQpCiAgICAgREVDTEFS
RV9BTklNQVRFRF9OVU1CRVIoU3VyZmFjZVNjYWxlLCBzdXJmYWNlU2NhbGUpCiAgICAgREVDTEFS
RV9BTklNQVRFRF9OVU1CRVIoS2VybmVsVW5pdExlbmd0aFgsIGtlcm5lbFVuaXRMZW5ndGhYKQpJ
bmRleDogV2ViQ29yZS9zdmcvU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQuY3BwCShyZXZp
c2lvbiA3MzAyNCkKKysrIFdlYkNvcmUvc3ZnL1NWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTI3LDYgKzI3LDEwIEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIC8vIEFuaW1hdGVkIHByb3BlcnR5IGRlZmluaXRpb25zCitERUZJTkVfQU5JTUFURURfU1RS
SU5HKFNWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudCwgU1ZHTmFtZXM6OmluQXR0ciwgSW4xLCBp
bjEpCitERUZJTkVfQU5JTUFURURfU1RSSU5HKFNWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudCwg
U1ZHTmFtZXM6OmluMkF0dHIsIEluMiwgaW4yKQorREVGSU5FX0FOSU1BVEVEX0VOVU1FUkFUSU9O
KFNWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudCwgU1ZHTmFtZXM6OnhDaGFubmVsU2VsZWN0b3JB
dHRyLCBYQ2hhbm5lbFNlbGVjdG9yLCB4Q2hhbm5lbFNlbGVjdG9yKQorREVGSU5FX0FOSU1BVEVE
X0VOVU1FUkFUSU9OKFNWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudCwgU1ZHTmFtZXM6OnlDaGFu
bmVsU2VsZWN0b3JBdHRyLCBZQ2hhbm5lbFNlbGVjdG9yLCB5Q2hhbm5lbFNlbGVjdG9yKSAgICAK
IERFRklORV9BTklNQVRFRF9OVU1CRVIoU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50LCBTVkdO
YW1lczo6c2NhbGVBdHRyLCBTY2FsZSwgc2NhbGUpCiAKIGlubGluZSBTVkdGRURpc3BsYWNlbWVu
dE1hcEVsZW1lbnQ6OlNWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudChjb25zdCBRdWFsaWZpZWRO
YW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdG
RURpc3BsYWNlbWVudE1hcEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdG
RURpc3BsYWNlbWVudE1hcEVsZW1lbnQuaAkocmV2aXNpb24gNzMwMjQpCisrKyBXZWJDb3JlL3N2
Zy9TVkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMjIsNiAr
MjIsNyBAQAogCiAjaWYgRU5BQkxFKFNWRykgJiYgRU5BQkxFKEZJTFRFUlMpCiAjaW5jbHVkZSAi
RkVEaXNwbGFjZW1lbnRNYXAuaCIKKyNpbmNsdWRlICJTVkdBbmltYXRlZEVudW1lcmF0aW9uLmgi
CiAjaW5jbHVkZSAiU1ZHQW5pbWF0ZWROdW1iZXIuaCIKICNpbmNsdWRlICJTVkdGaWx0ZXJQcmlt
aXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMuaCIKIApAQCAtNDIsMTAgKzQzLDEwIEBAIHByaXZhdGU6
CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPEZpbHRlckVmZmVjdD4gYnVpbGQoU1ZHRmlsdGVyQnVp
bGRlciosIEZpbHRlciopOwogCiAgICAgLy8gQW5pbWF0ZWQgcHJvcGVydHkgZGVjbGFyYXRpb25z
Ci0gICAgREVDTEFSRV9BTklNQVRFRF9TVEFUSUNfUFJPUEVSVFlfTkVXKFNWR0ZFRGlzcGxhY2Vt
ZW50TWFwRWxlbWVudCwgU1ZHTmFtZXM6OmluQXR0ciwgU3RyaW5nLCBJbjEsIGluMSkKLSAgICBE
RUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9ORVcoU1ZHRkVEaXNwbGFjZW1lbnRNYXBF
bGVtZW50LCBTVkdOYW1lczo6aW4yQXR0ciwgU3RyaW5nLCBJbjIsIGluMikKLSAgICBERUNMQVJF
X0FOSU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9ORVcoU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50
LCBTVkdOYW1lczo6eENoYW5uZWxTZWxlY3RvckF0dHIsIGludCwgWENoYW5uZWxTZWxlY3Rvciwg
eENoYW5uZWxTZWxlY3RvcikKLSAgICBERUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9O
RVcoU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50LCBTVkdOYW1lczo6eUNoYW5uZWxTZWxlY3Rv
ckF0dHIsIGludCwgWUNoYW5uZWxTZWxlY3RvciwgeUNoYW5uZWxTZWxlY3RvcikKKyAgICBERUNM
QVJFX0FOSU1BVEVEX1NUUklORyhJbjEsIGluMSkKKyAgICBERUNMQVJFX0FOSU1BVEVEX1NUUklO
RyhJbjIsIGluMikKKyAgICBERUNMQVJFX0FOSU1BVEVEX0VOVU1FUkFUSU9OKFhDaGFubmVsU2Vs
ZWN0b3IsIHhDaGFubmVsU2VsZWN0b3IpCisgICAgREVDTEFSRV9BTklNQVRFRF9FTlVNRVJBVElP
TihZQ2hhbm5lbFNlbGVjdG9yLCB5Q2hhbm5lbFNlbGVjdG9yKQogICAgIERFQ0xBUkVfQU5JTUFU
RURfTlVNQkVSKFNjYWxlLCBzY2FsZSkKIH07CiAKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZFR2F1
c3NpYW5CbHVyRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRkVHYXVz
c2lhbkJsdXJFbGVtZW50LmNwcAkocmV2aXNpb24gNzMwMjQpCisrKyBXZWJDb3JlL3N2Zy9TVkdG
RUdhdXNzaWFuQmx1ckVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw2ICszMCw3IEBA
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIEFuaW1hdGVkIHByb3BlcnR5IGRlZmluaXRpb25z
CitERUZJTkVfQU5JTUFURURfU1RSSU5HKFNWR0ZFR2F1c3NpYW5CbHVyRWxlbWVudCwgU1ZHTmFt
ZXM6OmluQXR0ciwgSW4xLCBpbjEpCiBERUZJTkVfQU5JTUFURURfTlVNQkVSX01VTFRJUExFX1dS
QVBQRVJTKFNWR0ZFR2F1c3NpYW5CbHVyRWxlbWVudCwgU1ZHTmFtZXM6OnN0ZERldmlhdGlvbkF0
dHIsIHN0ZERldmlhdGlvblhJZGVudGlmaWVyKCksIFN0ZERldmlhdGlvblgsIHN0ZERldmlhdGlv
blgpCiBERUZJTkVfQU5JTUFURURfTlVNQkVSX01VTFRJUExFX1dSQVBQRVJTKFNWR0ZFR2F1c3Np
YW5CbHVyRWxlbWVudCwgU1ZHTmFtZXM6OnN0ZERldmlhdGlvbkF0dHIsIHN0ZERldmlhdGlvbllJ
ZGVudGlmaWVyKCksIFN0ZERldmlhdGlvblksIHN0ZERldmlhdGlvblkpCiAKSW5kZXg6IFdlYkNv
cmUvc3ZnL1NWR0ZFR2F1c3NpYW5CbHVyRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
c3ZnL1NWR0ZFR2F1c3NpYW5CbHVyRWxlbWVudC5oCShyZXZpc2lvbiA3MzAyNCkKKysrIFdlYkNv
cmUvc3ZnL1NWR0ZFR2F1c3NpYW5CbHVyRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC00Niw3
ICs0Niw3IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIGNvbnN0IEF0b21pY1N0cmluZyYgc3RkRGV2
aWF0aW9uWUlkZW50aWZpZXIoKTsKIAogICAgIC8vIEFuaW1hdGVkIHByb3BlcnR5IGRlY2xhcmF0
aW9ucwotICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdGRUdhdXNz
aWFuQmx1ckVsZW1lbnQsIFNWR05hbWVzOjppbkF0dHIsIFN0cmluZywgSW4xLCBpbjEpCisgICAg
REVDTEFSRV9BTklNQVRFRF9TVFJJTkcoSW4xLCBpbjEpCiAgICAgREVDTEFSRV9BTklNQVRFRF9O
VU1CRVIoU3RkRGV2aWF0aW9uWCwgc3RkRGV2aWF0aW9uWCkKICAgICBERUNMQVJFX0FOSU1BVEVE
X05VTUJFUihTdGREZXZpYXRpb25ZLCBzdGREZXZpYXRpb25ZKQogfTsKSW5kZXg6IFdlYkNvcmUv
c3ZnL1NWR0ZFSW1hZ2VFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdG
RUltYWdlRWxlbWVudC5jcHAJKHJldmlzaW9uIDczMDEwKQorKysgV2ViQ29yZS9zdmcvU1ZHRkVJ
bWFnZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMiwxMiArMzIsMTQgQEAKICNpbmNs
dWRlICJSZW5kZXJPYmplY3QuaCIKICNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZS5oIgogI2lu
Y2x1ZGUgIlNWR0ltYWdlQnVmZmVyVG9vbHMuaCIKLSNpbmNsdWRlICJTVkdMZW5ndGguaCIKICNp
bmNsdWRlICJTVkdOYW1lcy5oIgogI2luY2x1ZGUgIlNWR1ByZXNlcnZlQXNwZWN0UmF0aW8uaCIK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCisvLyBBbmltYXRlZCBwcm9wZXJ0eSBkZWZpbml0aW9u
cworREVGSU5FX0FOSU1BVEVEX1NUUklORyhTVkdGRUltYWdlRWxlbWVudCwgWExpbmtOYW1lczo6
aHJlZkF0dHIsIEhyZWYsIGhyZWYpCisKIGlubGluZSBTVkdGRUltYWdlRWxlbWVudDo6U1ZHRkVJ
bWFnZUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3Vt
ZW50KQogICAgIDogU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzKHRhZ05hbWUs
IGRvY3VtZW50KQogewpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRkVJbWFnZUVsZW1lbnQuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGRUltYWdlRWxlbWVudC5oCShyZXZpc2lvbiA3MzAx
MCkKKysrIFdlYkNvcmUvc3ZnL1NWR0ZFSW1hZ2VFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAg
LTU3LDEwICs1NywxMSBAQCBwcml2YXRlOgogCiAgICAgdm9pZCByZXF1ZXN0SW1hZ2VSZXNvdXJj
ZSgpOwogCisgICAgLy8gQW5pbWF0ZWQgcHJvcGVydHkgZGVjbGFyYXRpb25zCiAgICAgREVDTEFS
RV9BTklNQVRFRF9QUk9QRVJUWV9ORVcoU1ZHRkVJbWFnZUVsZW1lbnQsIFNWR05hbWVzOjpwcmVz
ZXJ2ZUFzcGVjdFJhdGlvQXR0ciwgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbywgUHJlc2VydmVBc3Bl
Y3RSYXRpbywgcHJlc2VydmVBc3BlY3RSYXRpbykKIAogICAgIC8vIFNWR1VSSVJlZmVyZW5jZQot
ICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdGRUltYWdlRWxlbWVu
dCwgWExpbmtOYW1lczo6aHJlZkF0dHIsIFN0cmluZywgSHJlZiwgaHJlZikKKyAgICBERUNMQVJF
X0FOSU1BVEVEX1NUUklORyhIcmVmLCBocmVmKQogCiAgICAgLy8gU1ZHRXh0ZXJuYWxSZXNvdXJj
ZXNSZXF1aXJlZAogICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdG
RUltYWdlRWxlbWVudCwgU1ZHTmFtZXM6OmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWRBdHRyLCBi
b29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
KQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRkVMaWdodEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvc3ZnL1NWR0ZFTGlnaHRFbGVtZW50LmNwcAkocmV2aXNpb24gNzMwMjQpCisrKyBX
ZWJDb3JlL3N2Zy9TVkdGRUxpZ2h0RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI1LDYg
KzI1LDcgQEAKICNpbmNsdWRlICJTVkdGRUxpZ2h0RWxlbWVudC5oIgogCiAjaW5jbHVkZSAiQXR0
cmlidXRlLmgiCisjaW5jbHVkZSAiUmVuZGVyT2JqZWN0LmgiCiAjaW5jbHVkZSAiUmVuZGVyU1ZH
UmVzb3VyY2UuaCIKICNpbmNsdWRlICJTVkdGaWx0ZXJFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZH
TmFtZXMuaCIKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZFTWVyZ2VOb2RlRWxlbWVudC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRkVNZXJnZU5vZGVFbGVtZW50LmNwcAkocmV2aXNp
b24gNzMwMTApCisrKyBXZWJDb3JlL3N2Zy9TVkdGRU1lcmdlTm9kZUVsZW1lbnQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNCwxMSArMjQsMTUgQEAKICNpbmNsdWRlICJTVkdGRU1lcmdlTm9kZUVs
ZW1lbnQuaCIKIAogI2luY2x1ZGUgIkF0dHJpYnV0ZS5oIgorI2luY2x1ZGUgIlJlbmRlck9iamVj
dC5oIgogI2luY2x1ZGUgIlJlbmRlclNWR1Jlc291cmNlLmgiCiAjaW5jbHVkZSAiU1ZHRmlsdGVy
RWxlbWVudC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKKy8vIEFuaW1hdGVkIHByb3BlcnR5
IGRlZmluaXRpb25zCitERUZJTkVfQU5JTUFURURfU1RSSU5HKFNWR0ZFTWVyZ2VOb2RlRWxlbWVu
dCwgU1ZHTmFtZXM6OmluQXR0ciwgSW4xLCBpbjEpCisKIGlubGluZSBTVkdGRU1lcmdlTm9kZUVs
ZW1lbnQ6OlNWR0ZFTWVyZ2VOb2RlRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1l
LCBEb2N1bWVudCogZG9jdW1lbnQpCiAgICAgOiBTVkdFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50
KQogewpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRkVNZXJnZU5vZGVFbGVtZW50LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9zdmcvU1ZHRkVNZXJnZU5vZGVFbGVtZW50LmgJKHJldmlzaW9uIDczMDEw
KQorKysgV2ViQ29yZS9zdmcvU1ZHRkVNZXJnZU5vZGVFbGVtZW50LmgJKHdvcmtpbmcgY29weSkK
QEAgLTIyLDI0ICsyMiwyNSBAQAogI2RlZmluZSBTVkdGRU1lcmdlTm9kZUVsZW1lbnRfaAogCiAj
aWYgRU5BQkxFKFNWRykgJiYgRU5BQkxFKEZJTFRFUlMpCi0jaW5jbHVkZSAiU1ZHQW5pbWF0ZWRQ
cm9wZXJ0eU1hY3Jvcy5oIgorI2luY2x1ZGUgIlNWR0FuaW1hdGVkU3RyaW5nLmgiCiAjaW5jbHVk
ZSAiU1ZHRWxlbWVudC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSAgICBjbGFzcyBTVkdG
RU1lcmdlTm9kZUVsZW1lbnQgOiBwdWJsaWMgU1ZHRWxlbWVudCB7Ci0gICAgcHVibGljOgotICAg
ICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTVkdGRU1lcmdlTm9kZUVsZW1lbnQ+IGNyZWF0ZShjb25z
dCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKLQotICAgIHByaXZhdGU6Ci0gICAgICAgIFNW
R0ZFTWVyZ2VOb2RlRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKLQot
ICAgICAgICB2aXJ0dWFsIHZvaWQgcGFyc2VNYXBwZWRBdHRyaWJ1dGUoQXR0cmlidXRlKik7Ci0g
ICAgICAgIHZpcnR1YWwgdm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5h
bWUmKTsKLSAgICAgICAgdmlydHVhbCB2b2lkIHN5bmNocm9uaXplUHJvcGVydHkoY29uc3QgUXVh
bGlmaWVkTmFtZSYpOwotCi0gICAgICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZ
X05FVyhTVkdGRU1lcmdlTm9kZUVsZW1lbnQsIFNWR05hbWVzOjppbkF0dHIsIFN0cmluZywgSW4x
LCBpbjEpCi0gICAgfTsKK2NsYXNzIFNWR0ZFTWVyZ2VOb2RlRWxlbWVudCA6IHB1YmxpYyBTVkdF
bGVtZW50IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxTVkdGRU1lcmdlTm9kZUVs
ZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKKworcHJpdmF0
ZToKKyAgICBTVkdGRU1lcmdlTm9kZUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3Vt
ZW50Kik7CisKKyAgICB2aXJ0dWFsIHZvaWQgcGFyc2VNYXBwZWRBdHRyaWJ1dGUoQXR0cmlidXRl
Kik7CisgICAgdmlydHVhbCB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVk
TmFtZSYpOworICAgIHZpcnR1YWwgdm9pZCBzeW5jaHJvbml6ZVByb3BlcnR5KGNvbnN0IFF1YWxp
ZmllZE5hbWUmKTsKKworICAgIC8vIEFuaW1hdGVkIHByb3BlcnR5IGRlY2xhcmF0aW9ucworICAg
IERFQ0xBUkVfQU5JTUFURURfU1RSSU5HKEluMSwgaW4xKQorfTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQogCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdGRU1vcnBob2xvZ3lFbGVtZW50LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGRU1vcnBob2xvZ3lFbGVtZW50LmNwcAkocmV2
aXNpb24gNzMwMjQpCisrKyBXZWJDb3JlL3N2Zy9TVkdGRU1vcnBob2xvZ3lFbGVtZW50LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMjksNiArMjksOCBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAv
LyBBbmltYXRlZCBwcm9wZXJ0eSBkZWZpbml0aW9ucworREVGSU5FX0FOSU1BVEVEX1NUUklORyhT
VkdGRU1vcnBob2xvZ3lFbGVtZW50LCBTVkdOYW1lczo6aW5BdHRyLCBJbjEsIGluMSkKK0RFRklO
RV9BTklNQVRFRF9FTlVNRVJBVElPTihTVkdGRU1vcnBob2xvZ3lFbGVtZW50LCBTVkdOYW1lczo6
b3BlcmF0b3JBdHRyLCBfb3BlcmF0b3IsIF9vcGVyYXRvcikKIERFRklORV9BTklNQVRFRF9OVU1C
RVJfTVVMVElQTEVfV1JBUFBFUlMoU1ZHRkVNb3JwaG9sb2d5RWxlbWVudCwgU1ZHTmFtZXM6OnJh
ZGl1c0F0dHIsIHJhZGl1c1hJZGVudGlmaWVyKCksIFJhZGl1c1gsIHJhZGl1c1gpCiBERUZJTkVf
QU5JTUFURURfTlVNQkVSX01VTFRJUExFX1dSQVBQRVJTKFNWR0ZFTW9ycGhvbG9neUVsZW1lbnQs
IFNWR05hbWVzOjpyYWRpdXNBdHRyLCByYWRpdXNZSWRlbnRpZmllcigpLCBSYWRpdXNZLCByYWRp
dXNZKQogCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdGRU1vcnBob2xvZ3lFbGVtZW50LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRkVNb3JwaG9sb2d5RWxlbWVudC5oCShyZXZpc2lvbiA3
MzAyNCkKKysrIFdlYkNvcmUvc3ZnL1NWR0ZFTW9ycGhvbG9neUVsZW1lbnQuaAkod29ya2luZyBj
b3B5KQpAQCAtMjIsNiArMjIsNyBAQAogCiAjaWYgRU5BQkxFKFNWRykgJiYgRU5BQkxFKEZJTFRF
UlMpCiAjaW5jbHVkZSAiRkVNb3JwaG9sb2d5LmgiCisjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRFbnVt
ZXJhdGlvbi5oIgogI2luY2x1ZGUgIlNWR0FuaW1hdGVkTnVtYmVyLmgiCiAjaW5jbHVkZSAiU1ZH
RmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLmgiCiAKQEAgLTQ1LDggKzQ2LDggQEAg
cHJpdmF0ZToKICAgICBzdGF0aWMgY29uc3QgQXRvbWljU3RyaW5nJiByYWRpdXNZSWRlbnRpZmll
cigpOwogCiAgICAgLy8gQW5pbWF0ZWQgcHJvcGVydHkgZGVjbGFyYXRpb25zCi0gICAgREVDTEFS
RV9BTklNQVRFRF9TVEFUSUNfUFJPUEVSVFlfTkVXKFNWR0ZFTW9ycGhvbG9neUVsZW1lbnQsIFNW
R05hbWVzOjppbkF0dHIsIFN0cmluZywgSW4xLCBpbjEpCi0gICAgREVDTEFSRV9BTklNQVRFRF9T
VEFUSUNfUFJPUEVSVFlfTkVXKFNWR0ZFTW9ycGhvbG9neUVsZW1lbnQsIFNWR05hbWVzOjpvcGVy
YXRvckF0dHIsIGludCwgX29wZXJhdG9yLCBfb3BlcmF0b3IpCisgICAgREVDTEFSRV9BTklNQVRF
RF9TVFJJTkcoSW4xLCBpbjEpCisgICAgREVDTEFSRV9BTklNQVRFRF9FTlVNRVJBVElPTihfb3Bl
cmF0b3IsIF9vcGVyYXRvcikKICAgICBERUNMQVJFX0FOSU1BVEVEX05VTUJFUihSYWRpdXNYLCBy
YWRpdXNYKQogICAgIERFQ0xBUkVfQU5JTUFURURfTlVNQkVSKFJhZGl1c1ksIHJhZGl1c1kpCiB9
OwpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRkVPZmZzZXRFbGVtZW50LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3N2Zy9TVkdGRU9mZnNldEVsZW1lbnQuY3BwCShyZXZpc2lvbiA3MzAyNCkKKysr
IFdlYkNvcmUvc3ZnL1NWR0ZFT2Zmc2V0RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI4
LDYgKzI4LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gQW5pbWF0ZWQgcHJvcGVydHkg
ZGVmaW5pdGlvbnMKK0RFRklORV9BTklNQVRFRF9TVFJJTkcoU1ZHRkVPZmZzZXRFbGVtZW50LCBT
VkdOYW1lczo6aW5BdHRyLCBJbjEsIGluMSkKIERFRklORV9BTklNQVRFRF9OVU1CRVIoU1ZHRkVP
ZmZzZXRFbGVtZW50LCBTVkdOYW1lczo6ZHhBdHRyLCBEeCwgZHgpCiBERUZJTkVfQU5JTUFURURf
TlVNQkVSKFNWR0ZFT2Zmc2V0RWxlbWVudCwgU1ZHTmFtZXM6OmR5QXR0ciwgRHksIGR5KQogCklu
ZGV4OiBXZWJDb3JlL3N2Zy9TVkdGRU9mZnNldEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3N2Zy9TVkdGRU9mZnNldEVsZW1lbnQuaAkocmV2aXNpb24gNzMwMjQpCisrKyBXZWJDb3Jl
L3N2Zy9TVkdGRU9mZnNldEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNDEsNyArNDEsNyBA
QCBwcml2YXRlOgogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxGaWx0ZXJFZmZlY3Q+IGJ1aWxkKFNW
R0ZpbHRlckJ1aWxkZXIqLCBGaWx0ZXIqKTsKIAogICAgIC8vIEFuaW1hdGVkIHByb3BlcnR5IGRl
Y2xhcmF0aW9ucwotICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdG
RU9mZnNldEVsZW1lbnQsIFNWR05hbWVzOjppbkF0dHIsIFN0cmluZywgSW4xLCBpbjEpCisgICAg
REVDTEFSRV9BTklNQVRFRF9TVFJJTkcoSW4xLCBpbjEpCiAgICAgREVDTEFSRV9BTklNQVRFRF9O
VU1CRVIoRHgsIGR4KQogICAgIERFQ0xBUkVfQU5JTUFURURfTlVNQkVSKER5LCBkeSkKIH07Cklu
ZGV4OiBXZWJDb3JlL3N2Zy9TVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50LmNwcAkocmV2
aXNpb24gNzMwMjQpCisrKyBXZWJDb3JlL3N2Zy9TVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjUsNiArMjUsNyBAQAogI2luY2x1ZGUgIlNWR0ZFU3Bl
Y3VsYXJMaWdodGluZ0VsZW1lbnQuaCIKIAogI2luY2x1ZGUgIkF0dHJpYnV0ZS5oIgorI2luY2x1
ZGUgIlJlbmRlclN0eWxlLmgiCiAjaW5jbHVkZSAiU1ZHQ29sb3IuaCIKICNpbmNsdWRlICJTVkdG
RUxpZ2h0RWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR05hbWVzLmgiCkBAIC0zMyw2ICszNCw3IEBA
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIEFuaW1hdGVkIHByb3BlcnR5IGRlZmluaXRpb25z
CitERUZJTkVfQU5JTUFURURfU1RSSU5HKFNWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQsIFNW
R05hbWVzOjppbkF0dHIsIEluMSwgaW4xKQogREVGSU5FX0FOSU1BVEVEX05VTUJFUihTVkdGRVNw
ZWN1bGFyTGlnaHRpbmdFbGVtZW50LCBTVkdOYW1lczo6c3BlY3VsYXJDb25zdGFudEF0dHIsIFNw
ZWN1bGFyQ29uc3RhbnQsIHNwZWN1bGFyQ29uc3RhbnQpCiBERUZJTkVfQU5JTUFURURfTlVNQkVS
KFNWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQsIFNWR05hbWVzOjpzcGVjdWxhckV4cG9uZW50
QXR0ciwgU3BlY3VsYXJFeHBvbmVudCwgc3BlY3VsYXJFeHBvbmVudCkKIERFRklORV9BTklNQVRF
RF9OVU1CRVIoU1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudCwgU1ZHTmFtZXM6OnN1cmZhY2VT
Y2FsZUF0dHIsIFN1cmZhY2VTY2FsZSwgc3VyZmFjZVNjYWxlKQpJbmRleDogV2ViQ29yZS9zdmcv
U1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3Zn
L1NWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQuaAkocmV2aXNpb24gNzMwMjQpCisrKyBXZWJD
b3JlL3N2Zy9TVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAg
LTQ0LDcgKzQ0LDcgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgY29uc3QgQXRvbWljU3RyaW5nJiBr
ZXJuZWxVbml0TGVuZ3RoWUlkZW50aWZpZXIoKTsKIAogICAgIC8vIEFuaW1hdGVkIHByb3BlcnR5
IGRlY2xhcmF0aW9ucwotICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhT
VkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50LCBTVkdOYW1lczo6aW5BdHRyLCBTdHJpbmcsIElu
MSwgaW4xKQorICAgIERFQ0xBUkVfQU5JTUFURURfU1RSSU5HKEluMSwgaW4xKQogICAgIERFQ0xB
UkVfQU5JTUFURURfTlVNQkVSKFNwZWN1bGFyQ29uc3RhbnQsIHNwZWN1bGFyQ29uc3RhbnQpCiAg
ICAgREVDTEFSRV9BTklNQVRFRF9OVU1CRVIoU3BlY3VsYXJFeHBvbmVudCwgc3BlY3VsYXJFeHBv
bmVudCkKICAgICBERUNMQVJFX0FOSU1BVEVEX05VTUJFUihTdXJmYWNlU2NhbGUsIHN1cmZhY2VT
Y2FsZSkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZFVGlsZUVsZW1lbnQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvc3ZnL1NWR0ZFVGlsZUVsZW1lbnQuY3BwCShyZXZpc2lvbiA3MzAxMCkKKysr
IFdlYkNvcmUvc3ZnL1NWR0ZFVGlsZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2
ICsyOCw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorLy8gQW5pbWF0ZWQgcHJvcGVydHkg
ZGVmaW5pdGlvbnMKK0RFRklORV9BTklNQVRFRF9TVFJJTkcoU1ZHRkVUaWxlRWxlbWVudCwgU1ZH
TmFtZXM6OmluQXR0ciwgSW4xLCBpbjEpCisKIGlubGluZSBTVkdGRVRpbGVFbGVtZW50OjpTVkdG
RVRpbGVFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1
bWVudCkKICAgICA6IFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcyh0YWdOYW1l
LCBkb2N1bWVudCkKIHsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZFVGlsZUVsZW1lbnQuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGRVRpbGVFbGVtZW50LmgJKHJldmlzaW9uIDczMDEw
KQorKysgV2ViQ29yZS9zdmcvU1ZHRkVUaWxlRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0z
OSw3ICszOSw4IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHN5bmNocm9uaXplUHJvcGVy
dHkoY29uc3QgUXVhbGlmaWVkTmFtZSYpOwogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxGaWx0ZXJF
ZmZlY3Q+IGJ1aWxkKFNWR0ZpbHRlckJ1aWxkZXIqLCBGaWx0ZXIqKTsKIAotICAgIERFQ0xBUkVf
QU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdGRVRpbGVFbGVtZW50LCBTVkdOYW1lczo6
aW5BdHRyLCBTdHJpbmcsIEluMSwgaW4xKQorICAgIC8vIEFuaW1hdGVkIHByb3BlcnR5IGRlY2xh
cmF0aW9ucworICAgIERFQ0xBUkVfQU5JTUFURURfU1RSSU5HKEluMSwgaW4xKQogfTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRkVUdXJidWxlbmNlRWxl
bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRkVUdXJidWxlbmNlRWxlbWVu
dC5jcHAJKHJldmlzaW9uIDczMDI0KQorKysgV2ViQ29yZS9zdmcvU1ZHRkVUdXJidWxlbmNlRWxl
bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMyLDYgKzMyLDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogREVGSU5FX0FOSU1BVEVEX05VTUJFUl9NVUxUSVBMRV9XUkFQUEVSUyhTVkdGRVR1cmJ1
bGVuY2VFbGVtZW50LCBTVkdOYW1lczo6YmFzZUZyZXF1ZW5jeUF0dHIsIGJhc2VGcmVxdWVuY3lY
SWRlbnRpZmllcigpLCBCYXNlRnJlcXVlbmN5WCwgYmFzZUZyZXF1ZW5jeVgpCiBERUZJTkVfQU5J
TUFURURfTlVNQkVSX01VTFRJUExFX1dSQVBQRVJTKFNWR0ZFVHVyYnVsZW5jZUVsZW1lbnQsIFNW
R05hbWVzOjpiYXNlRnJlcXVlbmN5QXR0ciwgYmFzZUZyZXF1ZW5jeVlJZGVudGlmaWVyKCksIEJh
c2VGcmVxdWVuY3lZLCBiYXNlRnJlcXVlbmN5WSkKIERFRklORV9BTklNQVRFRF9OVU1CRVIoU1ZH
RkVUdXJidWxlbmNlRWxlbWVudCwgU1ZHTmFtZXM6OnNlZWRBdHRyLCBTZWVkLCBzZWVkKQorREVG
SU5FX0FOSU1BVEVEX0VOVU1FUkFUSU9OKFNWR0ZFVHVyYnVsZW5jZUVsZW1lbnQsIFNWR05hbWVz
OjpzdGl0Y2hUaWxlc0F0dHIsIFN0aXRjaFRpbGVzLCBzdGl0Y2hUaWxlcykKK0RFRklORV9BTklN
QVRFRF9FTlVNRVJBVElPTihTVkdGRVR1cmJ1bGVuY2VFbGVtZW50LCBTVkdOYW1lczo6dHlwZUF0
dHIsIFR5cGUsIHR5cGUpCiAKIGlubGluZSBTVkdGRVR1cmJ1bGVuY2VFbGVtZW50OjpTVkdGRVR1
cmJ1bGVuY2VFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBk
b2N1bWVudCkKICAgICA6IFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcyh0YWdO
YW1lLCBkb2N1bWVudCkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZFVHVyYnVsZW5jZUVsZW1lbnQu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGRVR1cmJ1bGVuY2VFbGVtZW50LmgJKHJl
dmlzaW9uIDczMDI0KQorKysgV2ViQ29yZS9zdmcvU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5oCSh3
b3JraW5nIGNvcHkpCkBAIC0yMyw2ICsyMyw3IEBACiAKICNpZiBFTkFCTEUoU1ZHKSAmJiBFTkFC
TEUoRklMVEVSUykKICNpbmNsdWRlICJGRVR1cmJ1bGVuY2UuaCIKKyNpbmNsdWRlICJTVkdBbmlt
YXRlZEVudW1lcmF0aW9uLmgiCiAjaW5jbHVkZSAiU1ZHQW5pbWF0ZWROdW1iZXIuaCIKICNpbmNs
dWRlICJTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMuaCIKIApAQCAtNTQsOCAr
NTUsOCBAQCBwcml2YXRlOgogICAgIERFQ0xBUkVfQU5JTUFURURfTlVNQkVSKEJhc2VGcmVxdWVu
Y3lZLCBiYXNlRnJlcXVlbmN5WSkKICAgICBERUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9QRVJU
WV9ORVcoU1ZHRkVUdXJidWxlbmNlRWxlbWVudCwgU1ZHTmFtZXM6Om51bU9jdGF2ZXNBdHRyLCBs
b25nLCBOdW1PY3RhdmVzLCBudW1PY3RhdmVzKQogICAgIERFQ0xBUkVfQU5JTUFURURfTlVNQkVS
KFNlZWQsIHNlZWQpCi0gICAgREVDTEFSRV9BTklNQVRFRF9TVEFUSUNfUFJPUEVSVFlfTkVXKFNW
R0ZFVHVyYnVsZW5jZUVsZW1lbnQsIFNWR05hbWVzOjpzdGl0Y2hUaWxlc0F0dHIsIGludCwgU3Rp
dGNoVGlsZXMsIHN0aXRjaFRpbGVzKQotICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BF
UlRZX05FVyhTVkdGRVR1cmJ1bGVuY2VFbGVtZW50LCBTVkdOYW1lczo6dHlwZUF0dHIsIGludCwg
VHlwZSwgdHlwZSkKKyAgICBERUNMQVJFX0FOSU1BVEVEX0VOVU1FUkFUSU9OKFN0aXRjaFRpbGVz
LCBzdGl0Y2hUaWxlcykKKyAgICBERUNMQVJFX0FOSU1BVEVEX0VOVU1FUkFUSU9OKFR5cGUsIHR5
cGUpCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdG
aWx0ZXJFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGaWx0ZXJFbGVt
ZW50LmNwcAkocmV2aXNpb24gNzMwMTYpCisrKyBXZWJDb3JlL3N2Zy9TVkdGaWx0ZXJFbGVtZW50
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjcsMTIgKzI3LDkgQEAKICNpbmNsdWRlICJTVkdGaWx0
ZXJFbGVtZW50LmgiCiAKICNpbmNsdWRlICJBdHRyLmgiCi0jaW5jbHVkZSAiRmxvYXRTaXplLmgi
Ci0jaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJj
ZUZpbHRlci5oIgogI2luY2x1ZGUgIlNWR0ZpbHRlckJ1aWxkZXIuaCIKICNpbmNsdWRlICJTVkdG
aWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMuaCIKLSNpbmNsdWRlICJTVkdMZW5ndGgu
aCIKICNpbmNsdWRlICJTVkdOYW1lcy5oIgogI2luY2x1ZGUgIlNWR1BhcnNlclV0aWxpdGllcy5o
IgogI2luY2x1ZGUgIlNWR1VuaXRUeXBlcy5oIgpAQCAtNDAsMTAgKzM3LDEzIEBACiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIC8vIEFuaW1hdGVkIHByb3BlcnR5IGRlZmluaXRpb25zCitERUZJTkVf
QU5JTUFURURfRU5VTUVSQVRJT04oU1ZHRmlsdGVyRWxlbWVudCwgU1ZHTmFtZXM6OmZpbHRlclVu
aXRzQXR0ciwgRmlsdGVyVW5pdHMsIGZpbHRlclVuaXRzKQorREVGSU5FX0FOSU1BVEVEX0VOVU1F
UkFUSU9OKFNWR0ZpbHRlckVsZW1lbnQsIFNWR05hbWVzOjpwcmltaXRpdmVVbml0c0F0dHIsIFBy
aW1pdGl2ZVVuaXRzLCBwcmltaXRpdmVVbml0cykKIERFRklORV9BTklNQVRFRF9MRU5HVEgoU1ZH
RmlsdGVyRWxlbWVudCwgU1ZHTmFtZXM6OnhBdHRyLCBYLCB4KQogREVGSU5FX0FOSU1BVEVEX0xF
TkdUSChTVkdGaWx0ZXJFbGVtZW50LCBTVkdOYW1lczo6eUF0dHIsIFksIHkpCiBERUZJTkVfQU5J
TUFURURfTEVOR1RIKFNWR0ZpbHRlckVsZW1lbnQsIFNWR05hbWVzOjp3aWR0aEF0dHIsIFdpZHRo
LCB3aWR0aCkKIERFRklORV9BTklNQVRFRF9MRU5HVEgoU1ZHRmlsdGVyRWxlbWVudCwgU1ZHTmFt
ZXM6OmhlaWdodEF0dHIsIEhlaWdodCwgaGVpZ2h0KQorREVGSU5FX0FOSU1BVEVEX1NUUklORyhT
VkdGaWx0ZXJFbGVtZW50LCBYTGlua05hbWVzOjpocmVmQXR0ciwgSHJlZiwgaHJlZikKIAogaW5s
aW5lIFNWR0ZpbHRlckVsZW1lbnQ6OlNWR0ZpbHRlckVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFt
ZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQogICAgIDogU1ZHU3R5bGVkRWxlbWVudCh0
YWdOYW1lLCBkb2N1bWVudCkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZpbHRlckVsZW1lbnQuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGaWx0ZXJFbGVtZW50LmgJKHJldmlzaW9uIDcz
MDE2KQorKysgV2ViQ29yZS9zdmcvU1ZHRmlsdGVyRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBA
IC0yNCw5ICsyNCw4IEBACiAjZGVmaW5lIFNWR0ZpbHRlckVsZW1lbnRfaAogCiAjaWYgRU5BQkxF
KFNWRykgJiYgRU5BQkxFKEZJTFRFUlMpCisjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRFbnVtZXJhdGlv
bi5oIgogI2luY2x1ZGUgIlNWR0FuaW1hdGVkTGVuZ3RoLmgiCi0jaW5jbHVkZSAiU1ZHQW5pbWF0
ZWRQcm9wZXJ0eU1hY3Jvcy5oIgotI2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgogI2luY2x1ZGUg
IlNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuaCIKICNpbmNsdWRlICJTVkdMYW5nU3BhY2Uu
aCIKICNpbmNsdWRlICJTVkdTdHlsZWRFbGVtZW50LmgiCkBAIC02Miw4ICs2MSw4IEBAIHByaXZh
dGU6CiAgICAgc3RhdGljIGNvbnN0IEF0b21pY1N0cmluZyYgZmlsdGVyUmVzWUlkZW50aWZpZXIo
KTsKIAogICAgIC8vIEFuaW1hdGVkIHByb3BlcnR5IGRlY2xhcmF0aW9ucwotICAgIERFQ0xBUkVf
QU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdGaWx0ZXJFbGVtZW50LCBTVkdOYW1lczo6
ZmlsdGVyVW5pdHNBdHRyLCBpbnQsIEZpbHRlclVuaXRzLCBmaWx0ZXJVbml0cykKLSAgICBERUNM
QVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9ORVcoU1ZHRmlsdGVyRWxlbWVudCwgU1ZHTmFt
ZXM6OnByaW1pdGl2ZVVuaXRzQXR0ciwgaW50LCBQcmltaXRpdmVVbml0cywgcHJpbWl0aXZlVW5p
dHMpCisgICAgREVDTEFSRV9BTklNQVRFRF9FTlVNRVJBVElPTihGaWx0ZXJVbml0cywgZmlsdGVy
VW5pdHMpCisgICAgREVDTEFSRV9BTklNQVRFRF9FTlVNRVJBVElPTihQcmltaXRpdmVVbml0cywg
cHJpbWl0aXZlVW5pdHMpCiAgICAgREVDTEFSRV9BTklNQVRFRF9MRU5HVEgoWCwgeCkKICAgICBE
RUNMQVJFX0FOSU1BVEVEX0xFTkdUSChZLCB5KQogICAgIERFQ0xBUkVfQU5JTUFURURfTEVOR1RI
KFdpZHRoLCB3aWR0aCkKQEAgLTczLDcgKzcyLDcgQEAgcHJpdmF0ZToKICAgICBERUNMQVJFX0FO
SU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9NVUxUSVBMRV9XUkFQUEVSU19ORVcoU1ZHRmlsdGVyRWxl
bWVudCwgU1ZHTmFtZXM6OmZpbHRlclJlc0F0dHIsIGZpbHRlclJlc1lJZGVudGlmaWVyKCksIGxv
bmcsIEZpbHRlclJlc1ksIGZpbHRlclJlc1kpCiAKICAgICAvLyBTVkdVUklSZWZlcmVuY2UKLSAg
ICBERUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9ORVcoU1ZHRmlsdGVyRWxlbWVudCwg
WExpbmtOYW1lczo6aHJlZkF0dHIsIFN0cmluZywgSHJlZiwgaHJlZikKKyAgICBERUNMQVJFX0FO
SU1BVEVEX1NUUklORyhIcmVmLCBocmVmKQogCiAgICAgLy8gU1ZHRXh0ZXJuYWxSZXNvdXJjZXNS
ZXF1aXJlZAogICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdGaWx0
ZXJFbGVtZW50LCBTVkdOYW1lczo6ZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZEF0dHIsIGJvb2ws
IEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCklu
ZGV4OiBXZWJDb3JlL3N2Zy9TVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0
cmlidXRlcy5jcHAJKHJldmlzaW9uIDczMDE2KQorKysgV2ViQ29yZS9zdmcvU1ZHRmlsdGVyUHJp
bWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzksNiArMzks
NyBAQCBERUZJTkVfQU5JTUFURURfTEVOR1RIKFNWR0ZpbHRlclByaW1pdGl2CiBERUZJTkVfQU5J
TUFURURfTEVOR1RIKFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcywgU1ZHTmFt
ZXM6OnlBdHRyLCBZLCB5KQogREVGSU5FX0FOSU1BVEVEX0xFTkdUSChTVkdGaWx0ZXJQcmltaXRp
dmVTdGFuZGFyZEF0dHJpYnV0ZXMsIFNWR05hbWVzOjp3aWR0aEF0dHIsIFdpZHRoLCB3aWR0aCkK
IERFRklORV9BTklNQVRFRF9MRU5HVEgoU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1
dGVzLCBTVkdOYW1lczo6aGVpZ2h0QXR0ciwgSGVpZ2h0LCBoZWlnaHQpCitERUZJTkVfQU5JTUFU
RURfU1RSSU5HKFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcywgU1ZHTmFtZXM6
OnJlc3VsdEF0dHIsIFJlc3VsdCwgcmVzdWx0KQogCiBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFy
ZEF0dHJpYnV0ZXM6OlNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcyhjb25zdCBR
dWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCiAgICAgOiBTVkdTdHls
ZWRFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRmlsdGVy
UHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcv
U1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLmgJKHJldmlzaW9uIDczMDE2KQor
KysgV2ViQ29yZS9zdmcvU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLmgJKHdv
cmtpbmcgY29weSkKQEAgLTI1LDcgKzI1LDYgQEAKICNpbmNsdWRlICJGaWx0ZXJFZmZlY3QuaCIK
ICNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZS5oIgogI2luY2x1ZGUgIlNWR0FuaW1hdGVkTGVu
Z3RoLmgiCi0jaW5jbHVkZSAiU1ZHQW5pbWF0ZWRQcm9wZXJ0eU1hY3Jvcy5oIgogI2luY2x1ZGUg
IlNWR0ZpbHRlckJ1aWxkZXIuaCIKICNpbmNsdWRlICJTVkdGaWx0ZXJFbGVtZW50LmgiCiAjaW5j
bHVkZSAiU1ZHTmFtZXMuaCIKQEAgLTY3LDcgKzY2LDcgQEAgcHJpdmF0ZToKICAgICBERUNMQVJF
X0FOSU1BVEVEX0xFTkdUSChZLCB5KQogICAgIERFQ0xBUkVfQU5JTUFURURfTEVOR1RIKFdpZHRo
LCB3aWR0aCkKICAgICBERUNMQVJFX0FOSU1BVEVEX0xFTkdUSChIZWlnaHQsIGhlaWdodCkKLSAg
ICBERUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9ORVcoU1ZHRmlsdGVyUHJpbWl0aXZl
U3RhbmRhcmRBdHRyaWJ1dGVzLCBTVkdOYW1lczo6cmVzdWx0QXR0ciwgU3RyaW5nLCBSZXN1bHQs
IHJlc3VsdCkKKyAgICBERUNMQVJFX0FOSU1BVEVEX1NUUklORyhSZXN1bHQsIHJlc3VsdCkKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZvcmVpZ25P
YmplY3RFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGb3JlaWduT2Jq
ZWN0RWxlbWVudC5jcHAJKHJldmlzaW9uIDczMDE2KQorKysgV2ViQ29yZS9zdmcvU1ZHRm9yZWln
bk9iamVjdEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw2ICszOCw3IEBAIERFRklO
RV9BTklNQVRFRF9MRU5HVEgoU1ZHRm9yZWlnbk9iamVjdEUKIERFRklORV9BTklNQVRFRF9MRU5H
VEgoU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQsIFNWR05hbWVzOjp5QXR0ciwgWSwgeSkKIERFRklO
RV9BTklNQVRFRF9MRU5HVEgoU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQsIFNWR05hbWVzOjp3aWR0
aEF0dHIsIFdpZHRoLCB3aWR0aCkKIERFRklORV9BTklNQVRFRF9MRU5HVEgoU1ZHRm9yZWlnbk9i
amVjdEVsZW1lbnQsIFNWR05hbWVzOjpoZWlnaHRBdHRyLCBIZWlnaHQsIGhlaWdodCkKK0RFRklO
RV9BTklNQVRFRF9TVFJJTkcoU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQsIFhMaW5rTmFtZXM6Omhy
ZWZBdHRyLCBIcmVmLCBocmVmKQogCiBpbmxpbmUgU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQ6OlNW
R0ZvcmVpZ25PYmplY3RFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3Vt
ZW50KiBkb2N1bWVudCkKICAgICA6IFNWR1N0eWxlZFRyYW5zZm9ybWFibGVFbGVtZW50KHRhZ05h
bWUsIGRvY3VtZW50KQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC5oCShy
ZXZpc2lvbiA3MzAxNikKKysrIFdlYkNvcmUvc3ZnL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTU4LDcgKzU4LDcgQEAgcHJpdmF0ZToKICAgICBERUNMQVJFX0FO
SU1BVEVEX0xFTkdUSChIZWlnaHQsIGhlaWdodCkKIAogICAgIC8vIFNWR1VSSVJlZmVyZW5jZQot
ICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdGb3JlaWduT2JqZWN0
RWxlbWVudCwgWExpbmtOYW1lczo6aHJlZkF0dHIsIFN0cmluZywgSHJlZiwgaHJlZikKKyAgICBE
RUNMQVJFX0FOSU1BVEVEX1NUUklORyhIcmVmLCBocmVmKQogCiAgICAgLy8gU1ZHRXh0ZXJuYWxS
ZXNvdXJjZXNSZXF1aXJlZAogICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05F
VyhTVkdGb3JlaWduT2JqZWN0RWxlbWVudCwgU1ZHTmFtZXM6OmV4dGVybmFsUmVzb3VyY2VzUmVx
dWlyZWRBdHRyLCBib29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291
cmNlc1JlcXVpcmVkKQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHR3JhZGllbnRFbGVtZW50LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdHcmFkaWVudEVsZW1lbnQuY3BwCShyZXZpc2lv
biA3MzAyMCkKKysrIFdlYkNvcmUvc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTM5LDcgKzM5LDEwIEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIEFuaW1h
dGVkIHByb3BlcnR5IGRlZmluaXRpb25zCitERUZJTkVfQU5JTUFURURfRU5VTUVSQVRJT04oU1ZH
R3JhZGllbnRFbGVtZW50LCBTVkdOYW1lczo6c3ByZWFkTWV0aG9kQXR0ciwgU3ByZWFkTWV0aG9k
LCBzcHJlYWRNZXRob2QpCitERUZJTkVfQU5JTUFURURfRU5VTUVSQVRJT04oU1ZHR3JhZGllbnRF
bGVtZW50LCBTVkdOYW1lczo6Z3JhZGllbnRVbml0c0F0dHIsIEdyYWRpZW50VW5pdHMsIGdyYWRp
ZW50VW5pdHMpCiBERUZJTkVfQU5JTUFURURfVFJBTlNGT1JNX0xJU1QoU1ZHR3JhZGllbnRFbGVt
ZW50LCBTVkdOYW1lczo6Z3JhZGllbnRUcmFuc2Zvcm1BdHRyLCBHcmFkaWVudFRyYW5zZm9ybSwg
Z3JhZGllbnRUcmFuc2Zvcm0pCitERUZJTkVfQU5JTUFURURfU1RSSU5HKFNWR0dyYWRpZW50RWxl
bWVudCwgWExpbmtOYW1lczo6aHJlZkF0dHIsIEhyZWYsIGhyZWYpCiAKIFNWR0dyYWRpZW50RWxl
bWVudDo6U1ZHR3JhZGllbnRFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERv
Y3VtZW50KiBkb2N1bWVudCkKICAgICA6IFNWR1N0eWxlZEVsZW1lbnQodGFnTmFtZSwgZG9jdW1l
bnQpCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdHcmFkaWVudEVsZW1lbnQuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3N2Zy9TVkdHcmFkaWVudEVsZW1lbnQuaAkocmV2aXNpb24gNzMwMjApCisrKyBX
ZWJDb3JlL3N2Zy9TVkdHcmFkaWVudEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMjMsNyAr
MjMsNyBAQAogCiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRlICJHcmFkaWVudC5oIgotI2luY2x1
ZGUgIlNWR0FuaW1hdGVkUHJvcGVydHlNYWNyb3MuaCIKKyNpbmNsdWRlICJTVkdBbmltYXRlZEVu
dW1lcmF0aW9uLmgiCiAjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRUcmFuc2Zvcm1MaXN0LmgiCiAjaW5j
bHVkZSAiU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5oIgogI2luY2x1ZGUgIlNWR1N0eWxl
ZEVsZW1lbnQuaCIKQEAgLTUwLDEyICs1MCwxMiBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9p
ZCBjaGlsZHJlbkNoYW5nZWQoYm9vbCBjaGFuZ2VkQnlQYXJzZXIgPSBmYWxzZSwgTm9kZSogYmVm
b3JlQ2hhbmdlID0gMCwgTm9kZSogYWZ0ZXJDaGFuZ2UgPSAwLCBpbnQgY2hpbGRDb3VudERlbHRh
ID0gMCk7CiAKICAgICAvLyBBbmltYXRlZCBwcm9wZXJ0eSBkZWNsYXJhdGlvbnMKLSAgICBERUNM
QVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9ORVcoU1ZHR3JhZGllbnRFbGVtZW50LCBTVkdO
YW1lczo6c3ByZWFkTWV0aG9kQXR0ciwgaW50LCBTcHJlYWRNZXRob2QsIHNwcmVhZE1ldGhvZCkK
LSAgICBERUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9ORVcoU1ZHR3JhZGllbnRFbGVt
ZW50LCBTVkdOYW1lczo6Z3JhZGllbnRVbml0c0F0dHIsIGludCwgR3JhZGllbnRVbml0cywgZ3Jh
ZGllbnRVbml0cykKKyAgICBERUNMQVJFX0FOSU1BVEVEX0VOVU1FUkFUSU9OKFNwcmVhZE1ldGhv
ZCwgc3ByZWFkTWV0aG9kKQorICAgIERFQ0xBUkVfQU5JTUFURURfRU5VTUVSQVRJT04oR3JhZGll
bnRVbml0cywgZ3JhZGllbnRVbml0cykKICAgICBERUNMQVJFX0FOSU1BVEVEX1RSQU5TRk9STV9M
SVNUKEdyYWRpZW50VHJhbnNmb3JtLCBncmFkaWVudFRyYW5zZm9ybSkKIAogICAgIC8vIFNWR1VS
SVJlZmVyZW5jZQotICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdH
cmFkaWVudEVsZW1lbnQsIFhMaW5rTmFtZXM6OmhyZWZBdHRyLCBTdHJpbmcsIEhyZWYsIGhyZWYp
CisgICAgREVDTEFSRV9BTklNQVRFRF9TVFJJTkcoSHJlZiwgaHJlZikKIAogICAgIC8vIFNWR0V4
dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQKICAgICBERUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9Q
RVJUWV9ORVcoU1ZHR3JhZGllbnRFbGVtZW50LCBTVkdOYW1lczo6ZXh0ZXJuYWxSZXNvdXJjZXNS
ZXF1aXJlZEF0dHIsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVz
b3VyY2VzUmVxdWlyZWQpCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdJbWFnZUVsZW1lbnQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ltYWdlRWxlbWVudC5jcHAJKHJldmlzaW9uIDcz
MDE2KQorKysgV2ViQ29yZS9zdmcvU1ZHSW1hZ2VFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNDIsNiArNDIsNyBAQCBERUZJTkVfQU5JTUFURURfTEVOR1RIKFNWR0ltYWdlRWxlbWVudCwg
CiBERUZJTkVfQU5JTUFURURfTEVOR1RIKFNWR0ltYWdlRWxlbWVudCwgU1ZHTmFtZXM6OnlBdHRy
LCBZLCB5KQogREVGSU5FX0FOSU1BVEVEX0xFTkdUSChTVkdJbWFnZUVsZW1lbnQsIFNWR05hbWVz
Ojp3aWR0aEF0dHIsIFdpZHRoLCB3aWR0aCkKIERFRklORV9BTklNQVRFRF9MRU5HVEgoU1ZHSW1h
Z2VFbGVtZW50LCBTVkdOYW1lczo6aGVpZ2h0QXR0ciwgSGVpZ2h0LCBoZWlnaHQpCitERUZJTkVf
QU5JTUFURURfU1RSSU5HKFNWR0ltYWdlRWxlbWVudCwgWExpbmtOYW1lczo6aHJlZkF0dHIsIEhy
ZWYsIGhyZWYpCiAKIGlubGluZSBTVkdJbWFnZUVsZW1lbnQ6OlNWR0ltYWdlRWxlbWVudChjb25z
dCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCiAgICAgOiBTVkdT
dHlsZWRUcmFuc2Zvcm1hYmxlRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKSW5kZXg6IFdlYkNv
cmUvc3ZnL1NWR0ltYWdlRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0lt
YWdlRWxlbWVudC5oCShyZXZpc2lvbiA3MzAxNikKKysrIFdlYkNvcmUvc3ZnL1NWR0ltYWdlRWxl
bWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC03Miw3ICs3Miw3IEBAIHByaXZhdGU6CiAgICAgREVD
TEFSRV9BTklNQVRFRF9QUk9QRVJUWV9ORVcoU1ZHSW1hZ2VFbGVtZW50LCBTVkdOYW1lczo6cHJl
c2VydmVBc3BlY3RSYXRpb0F0dHIsIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8sIFByZXNlcnZlQXNw
ZWN0UmF0aW8sIHByZXNlcnZlQXNwZWN0UmF0aW8pCiAKICAgICAvLyBTVkdVUklSZWZlcmVuY2UK
LSAgICBERUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9ORVcoU1ZHSW1hZ2VFbGVtZW50
LCBYTGlua05hbWVzOjpocmVmQXR0ciwgU3RyaW5nLCBIcmVmLCBocmVmKQorICAgIERFQ0xBUkVf
QU5JTUFURURfU1RSSU5HKEhyZWYsIGhyZWYpCiAKICAgICAvLyBTVkdFeHRlcm5hbFJlc291cmNl
c1JlcXVpcmVkCiAgICAgREVDTEFSRV9BTklNQVRFRF9TVEFUSUNfUFJPUEVSVFlfTkVXKFNWR0lt
YWdlRWxlbWVudCwgU1ZHTmFtZXM6OmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWRBdHRyLCBib29s
LCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQpJ
bmRleDogV2ViQ29yZS9zdmcvU1ZHTVBhdGhFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3N2Zy9TVkdNUGF0aEVsZW1lbnQuY3BwCShyZXZpc2lvbiA3MzAxMCkKKysrIFdlYkNvcmUv
c3ZnL1NWR01QYXRoRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3LDYgKzI3LDkgQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCisvLyBBbmltYXRlZCBwcm9wZXJ0eSBkZWZpbml0aW9u
cworREVGSU5FX0FOSU1BVEVEX1NUUklORyhTVkdNUGF0aEVsZW1lbnQsIFhMaW5rTmFtZXM6Omhy
ZWZBdHRyLCBIcmVmLCBocmVmKQorCiBpbmxpbmUgU1ZHTVBhdGhFbGVtZW50OjpTVkdNUGF0aEVs
ZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQog
ICAgIDogU1ZHRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKIHsKSW5kZXg6IFdlYkNvcmUvc3Zn
L1NWR01QYXRoRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR01QYXRoRWxl
bWVudC5oCShyZXZpc2lvbiA3MzAxMCkKKysrIFdlYkNvcmUvc3ZnL1NWR01QYXRoRWxlbWVudC5o
CSh3b3JraW5nIGNvcHkpCkBAIC0yMSwzNCArMjEsMzYgQEAKICNkZWZpbmUgU1ZHTVBhdGhFbGVt
ZW50X2gKIAogI2lmIEVOQUJMRShTVkcpCi0jaW5jbHVkZSAiU1ZHQW5pbWF0ZWRQcm9wZXJ0eU1h
Y3Jvcy5oIgorI2luY2x1ZGUgIlNWR0FuaW1hdGVkU3RyaW5nLmgiCiAjaW5jbHVkZSAiU1ZHRXh0
ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5oIgogI2luY2x1ZGUgIlNWR1VSSVJlZmVyZW5jZS5oIgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgCi0gICAgY2xhc3MgU1ZHUGF0aEVsZW1lbnQ7Citj
bGFzcyBTVkdQYXRoRWxlbWVudDsKKworY2xhc3MgU1ZHTVBhdGhFbGVtZW50IDogcHVibGljIFNW
R0VsZW1lbnQsCisgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHVVJJUmVmZXJlbmNl
LAorICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVx
dWlyZWQgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNWR01QYXRoRWxlbWVudD4g
Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOworCisgICAgU1ZHUGF0aEVs
ZW1lbnQqIHBhdGhFbGVtZW50KCk7CisgICAgCitwcml2YXRlOgorICAgIFNWR01QYXRoRWxlbWVu
dChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKICAgICAKLSAgICBjbGFzcyBTVkdN
UGF0aEVsZW1lbnQgOiBwdWJsaWMgU1ZHRWxlbWVudCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBwdWJsaWMgU1ZHVVJJUmVmZXJlbmNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkIHsKLSAgICBwdWJsaWM6Ci0gICAg
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNWR01QYXRoRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxp
ZmllZE5hbWUmLCBEb2N1bWVudCopOwotCi0gICAgICAgIFNWR1BhdGhFbGVtZW50KiBwYXRoRWxl
bWVudCgpOwotICAgICAgICAKLSAgICBwcml2YXRlOgotICAgICAgICBTVkdNUGF0aEVsZW1lbnQo
Y29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7Ci0gICAgICAgIAotICAgICAgICB2aXJ0
dWFsIHZvaWQgcGFyc2VNYXBwZWRBdHRyaWJ1dGUoQXR0cmlidXRlKik7Ci0gICAgICAgIHZpcnR1
YWwgdm9pZCBzeW5jaHJvbml6ZVByb3BlcnR5KGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKLSAgICAg
ICAgCi0gICAgICAgIC8vIFNWR1VSSVJlZmVyZW5jZQotICAgICAgICBERUNMQVJFX0FOSU1BVEVE
X1NUQVRJQ19QUk9QRVJUWV9ORVcoU1ZHTVBhdGhFbGVtZW50LCBYTGlua05hbWVzOjpocmVmQXR0
ciwgU3RyaW5nLCBIcmVmLCBocmVmKQotCi0gICAgICAgIC8vIFNWR0V4dGVybmFsUmVzb3VyY2Vz
UmVxdWlyZWQKLSAgICAgICAgREVDTEFSRV9BTklNQVRFRF9TVEFUSUNfUFJPUEVSVFlfTkVXKFNW
R01QYXRoRWxlbWVudCwgU1ZHTmFtZXM6OmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWRBdHRyLCBi
b29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
KQotICAgIH07CisgICAgdmlydHVhbCB2b2lkIHBhcnNlTWFwcGVkQXR0cmlidXRlKEF0dHJpYnV0
ZSopOworICAgIHZpcnR1YWwgdm9pZCBzeW5jaHJvbml6ZVByb3BlcnR5KGNvbnN0IFF1YWxpZmll
ZE5hbWUmKTsKKworCS8vIEFuaW1hdGVkIHByb3BlcnR5IGRlY2xhcmF0aW9ucworCisgICAgLy8g
U1ZHVVJJUmVmZXJlbmNlCisgICAgREVDTEFSRV9BTklNQVRFRF9TVFJJTkcoSHJlZiwgaHJlZikK
KworICAgIC8vIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQKKyAgICBERUNMQVJFX0FOSU1B
VEVEX1NUQVRJQ19QUk9QRVJUWV9ORVcoU1ZHTVBhdGhFbGVtZW50LCBTVkdOYW1lczo6ZXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZEF0dHIsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQs
IGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCit9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CiAKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR01hcmtlckVsZW1lbnQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvc3ZnL1NWR01hcmtlckVsZW1lbnQuY3BwCShyZXZpc2lvbiA3MzAxNikKKysrIFdl
YkNvcmUvc3ZnL1NWR01hcmtlckVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MCw3ICs0
MCw5IEBAIERFRklORV9BTklNQVRFRF9MRU5HVEgoU1ZHTWFya2VyRWxlbWVudCwKIERFRklORV9B
TklNQVRFRF9MRU5HVEgoU1ZHTWFya2VyRWxlbWVudCwgU1ZHTmFtZXM6OnJlZllBdHRyLCBSZWZZ
LCByZWZZKQogREVGSU5FX0FOSU1BVEVEX0xFTkdUSChTVkdNYXJrZXJFbGVtZW50LCBTVkdOYW1l
czo6bWFya2VyV2lkdGhBdHRyLCBNYXJrZXJXaWR0aCwgbWFya2VyV2lkdGgpCiBERUZJTkVfQU5J
TUFURURfTEVOR1RIKFNWR01hcmtlckVsZW1lbnQsIFNWR05hbWVzOjptYXJrZXJIZWlnaHRBdHRy
LCBNYXJrZXJIZWlnaHQsIG1hcmtlckhlaWdodCkKLQorREVGSU5FX0FOSU1BVEVEX0VOVU1FUkFU
SU9OKFNWR01hcmtlckVsZW1lbnQsIFNWR05hbWVzOjptYXJrZXJVbml0c0F0dHIsIE1hcmtlclVu
aXRzLCBtYXJrZXJVbml0cykKK0RFRklORV9BTklNQVRFRF9FTlVNRVJBVElPTl9NVUxUSVBMRV9X
UkFQUEVSUyhTVkdNYXJrZXJFbGVtZW50LCBTVkdOYW1lczo6b3JpZW50QXR0ciwgb3JpZW50VHlw
ZUlkZW50aWZpZXIoKSwgT3JpZW50VHlwZSwgb3JpZW50VHlwZSkKKyAgICAKIGlubGluZSBTVkdN
YXJrZXJFbGVtZW50OjpTVkdNYXJrZXJFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05h
bWUsIERvY3VtZW50KiBkb2N1bWVudCkKICAgICA6IFNWR1N0eWxlZEVsZW1lbnQodGFnTmFtZSwg
ZG9jdW1lbnQpCiAgICAgLCBtX3JlZlgoTGVuZ3RoTW9kZVdpZHRoKQpJbmRleDogV2ViQ29yZS9z
dmcvU1ZHTWFya2VyRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR01hcmtl
ckVsZW1lbnQuaAkocmV2aXNpb24gNzMwMTYpCisrKyBXZWJDb3JlL3N2Zy9TVkdNYXJrZXJFbGVt
ZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTI0LDggKzI0LDggQEAKICNpZiBFTkFCTEUoU1ZHKQog
I2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgogI2luY2x1ZGUgIlNWR0FuZ2xlLmgiCisjaW5jbHVk
ZSAiU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbi5oIgogI2luY2x1ZGUgIlNWR0FuaW1hdGVkTGVuZ3Ro
LmgiCi0jaW5jbHVkZSAiU1ZHQW5pbWF0ZWRQcm9wZXJ0eU1hY3Jvcy5oIgogI2luY2x1ZGUgIlNW
R0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuaCIKICNpbmNsdWRlICJTVkdGaXRUb1ZpZXdCb3gu
aCIKICNpbmNsdWRlICJTVkdMYW5nU3BhY2UuaCIKQEAgLTgzLDggKzgzLDggQEAgcHJpdmF0ZToK
ICAgICBERUNMQVJFX0FOSU1BVEVEX0xFTkdUSChSZWZZLCByZWZZKQogICAgIERFQ0xBUkVfQU5J
TUFURURfTEVOR1RIKE1hcmtlcldpZHRoLCBtYXJrZXJXaWR0aCkKICAgICBERUNMQVJFX0FOSU1B
VEVEX0xFTkdUSChNYXJrZXJIZWlnaHQsIG1hcmtlckhlaWdodCkKLSAgICBERUNMQVJFX0FOSU1B
VEVEX1NUQVRJQ19QUk9QRVJUWV9ORVcoU1ZHTWFya2VyRWxlbWVudCwgU1ZHTmFtZXM6Om1hcmtl
clVuaXRzQXR0ciwgaW50LCBNYXJrZXJVbml0cywgbWFya2VyVW5pdHMpCi0gICAgREVDTEFSRV9B
TklNQVRFRF9TVEFUSUNfUFJPUEVSVFlfTVVMVElQTEVfV1JBUFBFUlNfTkVXKFNWR01hcmtlckVs
ZW1lbnQsIFNWR05hbWVzOjpvcmllbnRBdHRyLCBvcmllbnRUeXBlSWRlbnRpZmllcigpLCBpbnQs
IE9yaWVudFR5cGUsIG9yaWVudFR5cGUpCisgICAgREVDTEFSRV9BTklNQVRFRF9FTlVNRVJBVElP
TihNYXJrZXJVbml0cywgbWFya2VyVW5pdHMpCisgICAgREVDTEFSRV9BTklNQVRFRF9FTlVNRVJB
VElPTihPcmllbnRUeXBlLCBvcmllbnRUeXBlKQogICAgIERFQ0xBUkVfQU5JTUFURURfUFJPUEVS
VFlfTVVMVElQTEVfV1JBUFBFUlNfTkVXKFNWR01hcmtlckVsZW1lbnQsIFNWR05hbWVzOjpvcmll
bnRBdHRyLCBvcmllbnRBbmdsZUlkZW50aWZpZXIoKSwgU1ZHQW5nbGUsIE9yaWVudEFuZ2xlLCBv
cmllbnRBbmdsZSkKIAogICAgIC8vIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQKSW5kZXg6
IFdlYkNvcmUvc3ZnL1NWR01hc2tFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2
Zy9TVkdNYXNrRWxlbWVudC5jcHAJKHJldmlzaW9uIDczMDE2KQorKysgV2ViQ29yZS9zdmcvU1ZH
TWFza0VsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw2ICszNiw4IEBACiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIC8vIEFuaW1hdGVkIHByb3BlcnR5IGRlZmluaXRpb25zCitERUZJTkVf
QU5JTUFURURfRU5VTUVSQVRJT04oU1ZHTWFza0VsZW1lbnQsIFNWR05hbWVzOjptYXNrVW5pdHNB
dHRyLCBNYXNrVW5pdHMsIG1hc2tVbml0cykKK0RFRklORV9BTklNQVRFRF9FTlVNRVJBVElPTihT
VkdNYXNrRWxlbWVudCwgU1ZHTmFtZXM6Om1hc2tDb250ZW50VW5pdHNBdHRyLCBNYXNrQ29udGVu
dFVuaXRzLCBtYXNrQ29udGVudFVuaXRzKQogREVGSU5FX0FOSU1BVEVEX0xFTkdUSChTVkdNYXNr
RWxlbWVudCwgU1ZHTmFtZXM6OnhBdHRyLCBYLCB4KQogREVGSU5FX0FOSU1BVEVEX0xFTkdUSChT
VkdNYXNrRWxlbWVudCwgU1ZHTmFtZXM6OnlBdHRyLCBZLCB5KQogREVGSU5FX0FOSU1BVEVEX0xF
TkdUSChTVkdNYXNrRWxlbWVudCwgU1ZHTmFtZXM6OndpZHRoQXR0ciwgV2lkdGgsIHdpZHRoKQpJ
bmRleDogV2ViQ29yZS9zdmcvU1ZHTWFza0VsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3N2Zy9TVkdNYXNrRWxlbWVudC5oCShyZXZpc2lvbiA3MzAxNikKKysrIFdlYkNvcmUvc3ZnL1NW
R01hc2tFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTIyLDggKzIyLDggQEAKIAogI2lmIEVO
QUJMRShTVkcpCiAjaW5jbHVkZSAiUmVuZGVyT2JqZWN0LmgiCisjaW5jbHVkZSAiU1ZHQW5pbWF0
ZWRFbnVtZXJhdGlvbi5oIgogI2luY2x1ZGUgIlNWR0FuaW1hdGVkTGVuZ3RoLmgiCi0jaW5jbHVk
ZSAiU1ZHQW5pbWF0ZWRQcm9wZXJ0eU1hY3Jvcy5oIgogI2luY2x1ZGUgIlNWR0V4dGVybmFsUmVz
b3VyY2VzUmVxdWlyZWQuaCIKICNpbmNsdWRlICJTVkdMYW5nU3BhY2UuaCIKICNpbmNsdWRlICJT
VkdTdHlsZWRMb2NhdGFibGVFbGVtZW50LmgiCkBAIC01Niw4ICs1Niw4IEBAIHByaXZhdGU6CiAg
ICAgdmlydHVhbCBib29sIHNlbGZIYXNSZWxhdGl2ZUxlbmd0aHMoKSBjb25zdDsKIAogICAgIC8v
IEFuaW1hdGVkIHByb3BlcnR5IGRlY2xhcmF0aW9ucwotICAgIERFQ0xBUkVfQU5JTUFURURfU1RB
VElDX1BST1BFUlRZX05FVyhTVkdNYXNrRWxlbWVudCwgU1ZHTmFtZXM6Om1hc2tVbml0c0F0dHIs
IGludCwgTWFza1VuaXRzLCBtYXNrVW5pdHMpCi0gICAgREVDTEFSRV9BTklNQVRFRF9TVEFUSUNf
UFJPUEVSVFlfTkVXKFNWR01hc2tFbGVtZW50LCBTVkdOYW1lczo6bWFza0NvbnRlbnRVbml0c0F0
dHIsIGludCwgTWFza0NvbnRlbnRVbml0cywgbWFza0NvbnRlbnRVbml0cykKKyAgICBERUNMQVJF
X0FOSU1BVEVEX0VOVU1FUkFUSU9OKE1hc2tVbml0cywgbWFza1VuaXRzKQorICAgIERFQ0xBUkVf
QU5JTUFURURfRU5VTUVSQVRJT04oTWFza0NvbnRlbnRVbml0cywgbWFza0NvbnRlbnRVbml0cykK
ICAgICBERUNMQVJFX0FOSU1BVEVEX0xFTkdUSChYLCB4KQogICAgIERFQ0xBUkVfQU5JTUFURURf
TEVOR1RIKFksIHkpCiAgICAgREVDTEFSRV9BTklNQVRFRF9MRU5HVEgoV2lkdGgsIHdpZHRoKQpJ
bmRleDogV2ViQ29yZS9zdmcvU1ZHUGF0dGVybkVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvc3ZnL1NWR1BhdHRlcm5FbGVtZW50LmNwcAkocmV2aXNpb24gNzMwMjApCisrKyBXZWJD
b3JlL3N2Zy9TVkdQYXR0ZXJuRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ3LDcgKzQ3
LDEwIEBAIERFRklORV9BTklNQVRFRF9MRU5HVEgoU1ZHUGF0dGVybkVsZW1lbnQKIERFRklORV9B
TklNQVRFRF9MRU5HVEgoU1ZHUGF0dGVybkVsZW1lbnQsIFNWR05hbWVzOjp5QXR0ciwgWSwgeSkK
IERFRklORV9BTklNQVRFRF9MRU5HVEgoU1ZHUGF0dGVybkVsZW1lbnQsIFNWR05hbWVzOjp3aWR0
aEF0dHIsIFdpZHRoLCB3aWR0aCkKIERFRklORV9BTklNQVRFRF9MRU5HVEgoU1ZHUGF0dGVybkVs
ZW1lbnQsIFNWR05hbWVzOjpoZWlnaHRBdHRyLCBIZWlnaHQsIGhlaWdodCkKK0RFRklORV9BTklN
QVRFRF9FTlVNRVJBVElPTihTVkdQYXR0ZXJuRWxlbWVudCwgU1ZHTmFtZXM6OnBhdHRlcm5Vbml0
c0F0dHIsIFBhdHRlcm5Vbml0cywgcGF0dGVyblVuaXRzKQorREVGSU5FX0FOSU1BVEVEX0VOVU1F
UkFUSU9OKFNWR1BhdHRlcm5FbGVtZW50LCBTVkdOYW1lczo6cGF0dGVybkNvbnRlbnRVbml0c0F0
dHIsIFBhdHRlcm5Db250ZW50VW5pdHMsIHBhdHRlcm5Db250ZW50VW5pdHMpCiBERUZJTkVfQU5J
TUFURURfVFJBTlNGT1JNX0xJU1QoU1ZHUGF0dGVybkVsZW1lbnQsIFNWR05hbWVzOjpwYXR0ZXJu
VHJhbnNmb3JtQXR0ciwgUGF0dGVyblRyYW5zZm9ybSwgcGF0dGVyblRyYW5zZm9ybSkgCitERUZJ
TkVfQU5JTUFURURfU1RSSU5HKFNWR1BhdHRlcm5FbGVtZW50LCBYTGlua05hbWVzOjpocmVmQXR0
ciwgSHJlZiwgaHJlZikKIAogaW5saW5lIFNWR1BhdHRlcm5FbGVtZW50OjpTVkdQYXR0ZXJuRWxl
bWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCiAg
ICAgOiBTVkdTdHlsZWRFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQpJbmRleDogV2ViQ29yZS9z
dmcvU1ZHUGF0dGVybkVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdQYXR0
ZXJuRWxlbWVudC5oCShyZXZpc2lvbiA3MzAyMCkKKysrIFdlYkNvcmUvc3ZnL1NWR1BhdHRlcm5F
bGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTIyLDggKzIyLDggQEAKICNkZWZpbmUgU1ZHUGF0
dGVybkVsZW1lbnRfaAogCiAjaWYgRU5BQkxFKFNWRykKKyNpbmNsdWRlICJTVkdBbmltYXRlZEVu
dW1lcmF0aW9uLmgiCiAjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRMZW5ndGguaCIKLSNpbmNsdWRlICJT
VkdBbmltYXRlZFByb3BlcnR5TWFjcm9zLmgiCiAjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRUcmFuc2Zv
cm1MaXN0LmgiCiAjaW5jbHVkZSAiU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5oIgogI2lu
Y2x1ZGUgIlNWR0ZpdFRvVmlld0JveC5oIgpAQCAtNjksMTIgKzY5LDEyIEBAIHByaXZhdGU6CiAg
ICAgREVDTEFSRV9BTklNQVRFRF9MRU5HVEgoWSwgeSkKICAgICBERUNMQVJFX0FOSU1BVEVEX0xF
TkdUSChXaWR0aCwgd2lkdGgpCiAgICAgREVDTEFSRV9BTklNQVRFRF9MRU5HVEgoSGVpZ2h0LCBo
ZWlnaHQpCi0gICAgREVDTEFSRV9BTklNQVRFRF9TVEFUSUNfUFJPUEVSVFlfTkVXKFNWR1BhdHRl
cm5FbGVtZW50LCBTVkdOYW1lczo6cGF0dGVyblVuaXRzQXR0ciwgaW50LCBQYXR0ZXJuVW5pdHMs
IHBhdHRlcm5Vbml0cykKLSAgICBERUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9ORVco
U1ZHUGF0dGVybkVsZW1lbnQsIFNWR05hbWVzOjpwYXR0ZXJuQ29udGVudFVuaXRzQXR0ciwgaW50
LCBQYXR0ZXJuQ29udGVudFVuaXRzLCBwYXR0ZXJuQ29udGVudFVuaXRzKQorICAgIERFQ0xBUkVf
QU5JTUFURURfRU5VTUVSQVRJT04oUGF0dGVyblVuaXRzLCBwYXR0ZXJuVW5pdHMpCisgICAgREVD
TEFSRV9BTklNQVRFRF9FTlVNRVJBVElPTihQYXR0ZXJuQ29udGVudFVuaXRzLCBwYXR0ZXJuQ29u
dGVudFVuaXRzKQogICAgIERFQ0xBUkVfQU5JTUFURURfVFJBTlNGT1JNX0xJU1QoUGF0dGVyblRy
YW5zZm9ybSwgcGF0dGVyblRyYW5zZm9ybSkKIAogICAgIC8vIFNWR1VSSVJlZmVyZW5jZQotICAg
IERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdQYXR0ZXJuRWxlbWVudCwg
WExpbmtOYW1lczo6aHJlZkF0dHIsIFN0cmluZywgSHJlZiwgaHJlZikKKyAgICBERUNMQVJFX0FO
SU1BVEVEX1NUUklORyhIcmVmLCBocmVmKQogCiAgICAgLy8gU1ZHRXh0ZXJuYWxSZXNvdXJjZXNS
ZXF1aXJlZAogICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdQYXR0
ZXJuRWxlbWVudCwgU1ZHTmFtZXM6OmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWRBdHRyLCBib29s
LCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQpJ
bmRleDogV2ViQ29yZS9zdmcvU1ZHU2NyaXB0RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9zdmcvU1ZHU2NyaXB0RWxlbWVudC5jcHAJKHJldmlzaW9uIDczMDEwKQorKysgV2ViQ29y
ZS9zdmcvU1ZHU2NyaXB0RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMxLDYgKzMxLDkg
QEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCisvLyBBbmltYXRlZCBwcm9wZXJ0eSBkZWZpbml0
aW9ucworREVGSU5FX0FOSU1BVEVEX1NUUklORyhTVkdTY3JpcHRFbGVtZW50LCBYTGlua05hbWVz
OjpocmVmQXR0ciwgSHJlZiwgaHJlZikKKwogaW5saW5lIFNWR1NjcmlwdEVsZW1lbnQ6OlNWR1Nj
cmlwdEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3Vt
ZW50LCBib29sIHdhc0luc2VydGVkQnlQYXJzZXIsIGJvb2wgd2FzQWxyZWFkeVN0YXJ0ZWQpCiAg
ICAgOiBTVkdFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogICAgICwgU2NyaXB0RWxlbWVudCh0
aGlzLCB3YXNJbnNlcnRlZEJ5UGFyc2VyLCB3YXNBbHJlYWR5U3RhcnRlZCkKSW5kZXg6IFdlYkNv
cmUvc3ZnL1NWR1NjcmlwdEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdT
Y3JpcHRFbGVtZW50LmgJKHJldmlzaW9uIDczMDEwKQorKysgV2ViQ29yZS9zdmcvU1ZHU2NyaXB0
RWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMiw3ICsyMiw3IEBACiAjZGVmaW5lIFNWR1Nj
cmlwdEVsZW1lbnRfaAogCiAjaWYgRU5BQkxFKFNWRykKLSNpbmNsdWRlICJTVkdBbmltYXRlZFBy
b3BlcnR5TWFjcm9zLmgiCisjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRTdHJpbmcuaCIKICNpbmNsdWRl
ICJTVkdFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5o
IgogI2luY2x1ZGUgIlNWR1VSSVJlZmVyZW5jZS5oIgpAQCAtMzAsNTUgKzMwLDU3IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIFNWR1NjcmlwdEVsZW1lbnQgOiBwdWJsaWMg
U1ZHRWxlbWVudAotICAgICAgICAgICAgICAgICAgICAgICAgICAgLCBwdWJsaWMgU1ZHVVJJUmVm
ZXJlbmNlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAsIHB1YmxpYyBTVkdFeHRlcm5hbFJl
c291cmNlc1JlcXVpcmVkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAsIHB1YmxpYyBTY3Jp
cHRFbGVtZW50IHsKLSAgICBwdWJsaWM6Ci0gICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNWR1Nj
cmlwdEVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqLCBib29s
IHdhc0luc2VydGVkQnlQYXJzZXIpOwotCi0gICAgICAgIFN0cmluZyB0eXBlKCkgY29uc3Q7Ci0g
ICAgICAgIHZvaWQgc2V0VHlwZShjb25zdCBTdHJpbmcmKTsKLQotICAgIHByaXZhdGU6Ci0gICAg
ICAgIFNWR1NjcmlwdEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50KiwgYm9v
bCB3YXNJbnNlcnRlZEJ5UGFyc2VyLCBib29sIHdhc0FscmVhZHlTdGFydGVkKTsKLQotICAgICAg
ICB2aXJ0dWFsIHZvaWQgcGFyc2VNYXBwZWRBdHRyaWJ1dGUoQXR0cmlidXRlKik7Ci0gICAgICAg
IHZpcnR1YWwgdm9pZCBpbnNlcnRlZEludG9Eb2N1bWVudCgpOwotICAgICAgICB2aXJ0dWFsIHZv
aWQgcmVtb3ZlZEZyb21Eb2N1bWVudCgpOwotICAgICAgICB2aXJ0dWFsIHZvaWQgY2hpbGRyZW5D
aGFuZ2VkKGJvb2wgY2hhbmdlZEJ5UGFyc2VyID0gZmFsc2UsIE5vZGUqIGJlZm9yZUNoYW5nZSA9
IDAsIE5vZGUqIGFmdGVyQ2hhbmdlID0gMCwgaW50IGNoaWxkQ291bnREZWx0YSA9IDApOwotCi0g
ICAgICAgIHZpcnR1YWwgdm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5h
bWUmKTsKLSAgICAgICAgdmlydHVhbCB2b2lkIHN5bmNocm9uaXplUHJvcGVydHkoY29uc3QgUXVh
bGlmaWVkTmFtZSYpOwotICAgICAgICB2aXJ0dWFsIGJvb2wgaXNVUkxBdHRyaWJ1dGUoQXR0cmli
dXRlKikgY29uc3Q7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBmaW5pc2hQYXJzaW5nQ2hpbGRyZW4o
KTsKLQotICAgICAgICB2aXJ0dWFsIHZvaWQgYWRkU3VicmVzb3VyY2VBdHRyaWJ1dGVVUkxzKExp
c3RIYXNoU2V0PEtVUkw+JikgY29uc3Q7Ci0KLSAgICAgICAgdmlydHVhbCBib29sIGhhdmVMb2Fk
ZWRSZXF1aXJlZFJlc291cmNlcygpOwotCi0gICAgICAgIHZpcnR1YWwgU3RyaW5nIHNvdXJjZUF0
dHJpYnV0ZVZhbHVlKCkgY29uc3Q7Ci0gICAgICAgIHZpcnR1YWwgU3RyaW5nIGNoYXJzZXRBdHRy
aWJ1dGVWYWx1ZSgpIGNvbnN0OwotICAgICAgICB2aXJ0dWFsIFN0cmluZyB0eXBlQXR0cmlidXRl
VmFsdWUoKSBjb25zdDsKLSAgICAgICAgdmlydHVhbCBTdHJpbmcgbGFuZ3VhZ2VBdHRyaWJ1dGVW
YWx1ZSgpIGNvbnN0OwotICAgICAgICB2aXJ0dWFsIFN0cmluZyBmb3JBdHRyaWJ1dGVWYWx1ZSgp
IGNvbnN0OwotICAgICAgICB2aXJ0dWFsIFN0cmluZyBldmVudEF0dHJpYnV0ZVZhbHVlKCkgY29u
c3Q7Ci0gICAgICAgIHZpcnR1YWwgYm9vbCBhc3luY0F0dHJpYnV0ZVZhbHVlKCkgY29uc3Q7Ci0g
ICAgICAgIHZpcnR1YWwgYm9vbCBkZWZlckF0dHJpYnV0ZVZhbHVlKCkgY29uc3Q7Ci0KLSAgICAg
ICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoTG9hZEV2ZW50KCk7Ci0gICAgICAgIHZpcnR1YWwgdm9p
ZCBkaXNwYXRjaEVycm9yRXZlbnQoKTsKLQotICAgICAgICBQYXNzUmVmUHRyPEVsZW1lbnQ+IGNs
b25lRWxlbWVudFdpdGhvdXRBdHRyaWJ1dGVzQW5kQ2hpbGRyZW4oKSBjb25zdDsKK2NsYXNzIFNW
R1NjcmlwdEVsZW1lbnQgOiBwdWJsaWMgU1ZHRWxlbWVudAorICAgICAgICAgICAgICAgICAgICAg
ICAsIHB1YmxpYyBTVkdVUklSZWZlcmVuY2UKKyAgICAgICAgICAgICAgICAgICAgICAgLCBwdWJs
aWMgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZAorICAgICAgICAgICAgICAgICAgICAgICAs
IHB1YmxpYyBTY3JpcHRFbGVtZW50IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxT
VkdTY3JpcHRFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kiwg
Ym9vbCB3YXNJbnNlcnRlZEJ5UGFyc2VyKTsKIAotICAgICAgICAvLyBTVkdVUklSZWZlcmVuY2UK
LSAgICAgICAgREVDTEFSRV9BTklNQVRFRF9TVEFUSUNfUFJPUEVSVFlfTkVXKFNWR1NjcmlwdEVs
ZW1lbnQsIFhMaW5rTmFtZXM6OmhyZWZBdHRyLCBTdHJpbmcsIEhyZWYsIGhyZWYpCisgICAgU3Ry
aW5nIHR5cGUoKSBjb25zdDsKKyAgICB2b2lkIHNldFR5cGUoY29uc3QgU3RyaW5nJik7CiAKLSAg
ICAgICAgLy8gU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZAotICAgICAgICBERUNMQVJFX0FO
SU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9ORVcoU1ZHU2NyaXB0RWxlbWVudCwgU1ZHTmFtZXM6OmV4
dGVybmFsUmVzb3VyY2VzUmVxdWlyZWRBdHRyLCBib29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVp
cmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQorcHJpdmF0ZToKKyAgICBTVkdTY3JpcHRF
bGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCosIGJvb2wgd2FzSW5zZXJ0ZWRC
eVBhcnNlciwgYm9vbCB3YXNBbHJlYWR5U3RhcnRlZCk7CiAKLSAgICAgICAgU3RyaW5nIG1fdHlw
ZTsKLSAgICB9OworICAgIHZpcnR1YWwgdm9pZCBwYXJzZU1hcHBlZEF0dHJpYnV0ZShBdHRyaWJ1
dGUqKTsKKyAgICB2aXJ0dWFsIHZvaWQgaW5zZXJ0ZWRJbnRvRG9jdW1lbnQoKTsKKyAgICB2aXJ0
dWFsIHZvaWQgcmVtb3ZlZEZyb21Eb2N1bWVudCgpOworICAgIHZpcnR1YWwgdm9pZCBjaGlsZHJl
bkNoYW5nZWQoYm9vbCBjaGFuZ2VkQnlQYXJzZXIgPSBmYWxzZSwgTm9kZSogYmVmb3JlQ2hhbmdl
ID0gMCwgTm9kZSogYWZ0ZXJDaGFuZ2UgPSAwLCBpbnQgY2hpbGRDb3VudERlbHRhID0gMCk7CisK
KyAgICB2aXJ0dWFsIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1l
Jik7CisgICAgdmlydHVhbCB2b2lkIHN5bmNocm9uaXplUHJvcGVydHkoY29uc3QgUXVhbGlmaWVk
TmFtZSYpOworICAgIHZpcnR1YWwgYm9vbCBpc1VSTEF0dHJpYnV0ZShBdHRyaWJ1dGUqKSBjb25z
dDsKKyAgICB2aXJ0dWFsIHZvaWQgZmluaXNoUGFyc2luZ0NoaWxkcmVuKCk7CisKKyAgICB2aXJ0
dWFsIHZvaWQgYWRkU3VicmVzb3VyY2VBdHRyaWJ1dGVVUkxzKExpc3RIYXNoU2V0PEtVUkw+Jikg
Y29uc3Q7CisKKyAgICB2aXJ0dWFsIGJvb2wgaGF2ZUxvYWRlZFJlcXVpcmVkUmVzb3VyY2VzKCk7
CisKKyAgICB2aXJ0dWFsIFN0cmluZyBzb3VyY2VBdHRyaWJ1dGVWYWx1ZSgpIGNvbnN0OworICAg
IHZpcnR1YWwgU3RyaW5nIGNoYXJzZXRBdHRyaWJ1dGVWYWx1ZSgpIGNvbnN0OworICAgIHZpcnR1
YWwgU3RyaW5nIHR5cGVBdHRyaWJ1dGVWYWx1ZSgpIGNvbnN0OworICAgIHZpcnR1YWwgU3RyaW5n
IGxhbmd1YWdlQXR0cmlidXRlVmFsdWUoKSBjb25zdDsKKyAgICB2aXJ0dWFsIFN0cmluZyBmb3JB
dHRyaWJ1dGVWYWx1ZSgpIGNvbnN0OworICAgIHZpcnR1YWwgU3RyaW5nIGV2ZW50QXR0cmlidXRl
VmFsdWUoKSBjb25zdDsKKyAgICB2aXJ0dWFsIGJvb2wgYXN5bmNBdHRyaWJ1dGVWYWx1ZSgpIGNv
bnN0OworICAgIHZpcnR1YWwgYm9vbCBkZWZlckF0dHJpYnV0ZVZhbHVlKCkgY29uc3Q7CisKKyAg
ICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hMb2FkRXZlbnQoKTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlz
cGF0Y2hFcnJvckV2ZW50KCk7CisKKyAgICBQYXNzUmVmUHRyPEVsZW1lbnQ+IGNsb25lRWxlbWVu
dFdpdGhvdXRBdHRyaWJ1dGVzQW5kQ2hpbGRyZW4oKSBjb25zdDsKKworCS8vIEFuaW1hdGVkIHBy
b3BlcnR5IGRlY2xhcmF0aW9ucworCisgICAgLy8gU1ZHVVJJUmVmZXJlbmNlCisgICAgREVDTEFS
RV9BTklNQVRFRF9TVFJJTkcoSHJlZiwgaHJlZikKKworICAgIC8vIFNWR0V4dGVybmFsUmVzb3Vy
Y2VzUmVxdWlyZWQKKyAgICBERUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9ORVcoU1ZH
U2NyaXB0RWxlbWVudCwgU1ZHTmFtZXM6OmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWRBdHRyLCBi
b29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
KQorCisgICAgU3RyaW5nIG1fdHlwZTsKK307CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIApJ
bmRleDogV2ViQ29yZS9zdmcvU1ZHU3R5bGVkRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9zdmcvU1ZHU3R5bGVkRWxlbWVudC5jcHAJKHJldmlzaW9uIDczMDEwKQorKysgV2ViQ29y
ZS9zdmcvU1ZHU3R5bGVkRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDYgKzQ2LDkg
QEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCisvLyBBbmltYXRlZCBwcm9wZXJ0eSBkZWZpbml0
aW9ucworREVGSU5FX0FOSU1BVEVEX1NUUklORyhTVkdTdHlsZWRFbGVtZW50LCBIVE1MTmFtZXM6
OmNsYXNzQXR0ciwgQ2xhc3NOYW1lLCBjbGFzc05hbWUpCisKIHVzaW5nIG5hbWVzcGFjZSBTVkdO
YW1lczsKIAogdm9pZCBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KEhhc2hNYXA8QXRvbWljU3Ry
aW5nSW1wbCosIGludD4qIHByb3BlcnR5TmFtZVRvSWRNYXAsIGNvbnN0IFF1YWxpZmllZE5hbWUm
IGF0dHJOYW1lKQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHU3R5bGVkRWxlbWVudC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1N0eWxlZEVsZW1lbnQuaAkocmV2aXNpb24gNzMwMTApCisr
KyBXZWJDb3JlL3N2Zy9TVkdTdHlsZWRFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTIyLDY5
ICsyMiw2OSBAQAogI2RlZmluZSBTVkdTdHlsZWRFbGVtZW50X2gKIAogI2lmIEVOQUJMRShTVkcp
Ci0jaW5jbHVkZSAiU1ZHQW5pbWF0ZWRQcm9wZXJ0eU1hY3Jvcy5oIgotI2luY2x1ZGUgIkhUTUxO
YW1lcy5oIgorI2luY2x1ZGUgIlNWR0FuaW1hdGVkU3RyaW5nLmgiCiAjaW5jbHVkZSAiU1ZHTG9j
YXRhYmxlLmgiCiAjaW5jbHVkZSAiU1ZHU3R5bGFibGUuaCIKICNpbmNsdWRlIDx3dGYvSGFzaFNl
dC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSAgICB2b2lkIG1hcEF0dHJpYnV0ZVRvQ1NT
UHJvcGVydHkoSGFzaE1hcDxBdG9taWNTdHJpbmdJbXBsKiwgaW50PiogcHJvcGVydHlOYW1lVG9J
ZE1hcCwgY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUpOwordm9pZCBtYXBBdHRyaWJ1dGVU
b0NTU1Byb3BlcnR5KEhhc2hNYXA8QXRvbWljU3RyaW5nSW1wbCosIGludD4qIHByb3BlcnR5TmFt
ZVRvSWRNYXAsIGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lKTsKIAotICAgIGNsYXNzIFNW
R1N0eWxlZEVsZW1lbnQgOiBwdWJsaWMgU1ZHRWxlbWVudCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcHVibGljIFNWR1N0eWxhYmxlIHsKLSAgICBwdWJsaWM6Ci0gICAgICAgIHZpcnR1
YWwgflNWR1N0eWxlZEVsZW1lbnQoKTsKK2NsYXNzIFNWR1N0eWxlZEVsZW1lbnQgOiBwdWJsaWMg
U1ZHRWxlbWVudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHU3R5bGFibGUg
eworcHVibGljOgorICAgIHZpcnR1YWwgflNWR1N0eWxlZEVsZW1lbnQoKTsKIAotICAgICAgICB2
aXJ0dWFsIFN0cmluZyB0aXRsZSgpIGNvbnN0OworICAgIHZpcnR1YWwgU3RyaW5nIHRpdGxlKCkg
Y29uc3Q7CiAKLSAgICAgICAgYm9vbCBoYXNSZWxhdGl2ZUxlbmd0aHMoKSBjb25zdCB7IHJldHVy
biAhbV9lbGVtZW50c1dpdGhSZWxhdGl2ZUxlbmd0aHMuaXNFbXB0eSgpOyB9CisgICAgYm9vbCBo
YXNSZWxhdGl2ZUxlbmd0aHMoKSBjb25zdCB7IHJldHVybiAhbV9lbGVtZW50c1dpdGhSZWxhdGl2
ZUxlbmd0aHMuaXNFbXB0eSgpOyB9CiAKLSAgICAgICAgdmlydHVhbCBib29sIHN1cHBvcnRzTWFy
a2VycygpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVhbCBib29sIHN1cHBvcnRz
TWFya2VycygpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKLSAgICAgICAgdmlydHVhbCBQYXNz
UmVmUHRyPENTU1ZhbHVlPiBnZXRQcmVzZW50YXRpb25BdHRyaWJ1dGUoY29uc3QgU3RyaW5nJiBu
YW1lKTsKKyAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IGdldFByZXNlbnRhdGlvbkF0
dHJpYnV0ZShjb25zdCBTdHJpbmcmIG5hbWUpOwogCi0gICAgICAgIGJvb2wgaXNLbm93bkF0dHJp
YnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJik7CisgICAgYm9vbCBpc0tub3duQXR0cmlidXRlKGNv
bnN0IFF1YWxpZmllZE5hbWUmKTsKIAotICAgICAgICAvLyBDZW50cmFsaXplZCBwbGFjZSB0byBm
b3JjZSBhIG1hbnVhbCBzdHlsZSByZXNvbHV0aW9uLiBIYWNreSBidXQgbmVlZGVkIGZvciBub3cu
Ci0gICAgICAgIFBhc3NSZWZQdHI8UmVuZGVyU3R5bGU+IHJlc29sdmVTdHlsZShSZW5kZXJTdHls
ZSogcGFyZW50U3R5bGUpOworICAgIC8vIENlbnRyYWxpemVkIHBsYWNlIHRvIGZvcmNlIGEgbWFu
dWFsIHN0eWxlIHJlc29sdXRpb24uIEhhY2t5IGJ1dCBuZWVkZWQgZm9yIG5vdy4KKyAgICBQYXNz
UmVmUHRyPFJlbmRlclN0eWxlPiByZXNvbHZlU3R5bGUoUmVuZGVyU3R5bGUqIHBhcmVudFN0eWxl
KTsKIAotICAgICAgICBib29sIGluc3RhbmNlVXBkYXRlc0Jsb2NrZWQoKSBjb25zdDsKLSAgICAg
ICAgdm9pZCBzZXRJbnN0YW5jZVVwZGF0ZXNCbG9ja2VkKGJvb2wpOworICAgIGJvb2wgaW5zdGFu
Y2VVcGRhdGVzQmxvY2tlZCgpIGNvbnN0OworICAgIHZvaWQgc2V0SW5zdGFuY2VVcGRhdGVzQmxv
Y2tlZChib29sKTsKIAotICAgICAgICB2aXJ0dWFsIEFmZmluZVRyYW5zZm9ybSBsb2NhbENvb3Jk
aW5hdGVTcGFjZVRyYW5zZm9ybShTVkdMb2NhdGFibGU6OkNUTVNjb3BlKSBjb25zdDsKKyAgICB2
aXJ0dWFsIEFmZmluZVRyYW5zZm9ybSBsb2NhbENvb3JkaW5hdGVTcGFjZVRyYW5zZm9ybShTVkdM
b2NhdGFibGU6OkNUTVNjb3BlKSBjb25zdDsKIAotICAgICAgICB2aXJ0dWFsIENTU1N0eWxlRGVj
bGFyYXRpb24qIHN0eWxlKCkgeyByZXR1cm4gU3R5bGVkRWxlbWVudDo6c3R5bGUoKTsgfQorICAg
IHZpcnR1YWwgQ1NTU3R5bGVEZWNsYXJhdGlvbiogc3R5bGUoKSB7IHJldHVybiBTdHlsZWRFbGVt
ZW50OjpzdHlsZSgpOyB9CiAKLSAgICBwcm90ZWN0ZWQ6IAotICAgICAgICBTVkdTdHlsZWRFbGVt
ZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOworcHJvdGVjdGVkOiAKKyAgICBT
VkdTdHlsZWRFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOwogCi0gICAg
ICAgIHZpcnR1YWwgYm9vbCByZW5kZXJlcklzTmVlZGVkKFJlbmRlclN0eWxlKik7CisgICAgdmly
dHVhbCBib29sIHJlbmRlcmVySXNOZWVkZWQoUmVuZGVyU3R5bGUqKTsKIAotICAgICAgICB2aXJ0
dWFsIGJvb2wgbWFwVG9FbnRyeShjb25zdCBRdWFsaWZpZWROYW1lJiwgTWFwcGVkQXR0cmlidXRl
RW50cnkmKSBjb25zdDsKLSAgICAgICAgdmlydHVhbCB2b2lkIHBhcnNlTWFwcGVkQXR0cmlidXRl
KEF0dHJpYnV0ZSopOwotICAgICAgICB2aXJ0dWFsIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChj
b25zdCBRdWFsaWZpZWROYW1lJik7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBzeW5jaHJvbml6ZVBy
b3BlcnR5KGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKKyAgICB2aXJ0dWFsIGJvb2wgbWFwVG9FbnRy
eShjb25zdCBRdWFsaWZpZWROYW1lJiwgTWFwcGVkQXR0cmlidXRlRW50cnkmKSBjb25zdDsKKyAg
ICB2aXJ0dWFsIHZvaWQgcGFyc2VNYXBwZWRBdHRyaWJ1dGUoQXR0cmlidXRlKik7CisgICAgdmly
dHVhbCB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYpOworICAg
IHZpcnR1YWwgdm9pZCBzeW5jaHJvbml6ZVByb3BlcnR5KGNvbnN0IFF1YWxpZmllZE5hbWUmKTsK
IAotICAgICAgICB2aXJ0dWFsIHZvaWQgYXR0YWNoKCk7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBp
bnNlcnRlZEludG9Eb2N1bWVudCgpOwotICAgICAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlZEZyb21E
b2N1bWVudCgpOwotICAgICAgICB2aXJ0dWFsIHZvaWQgY2hpbGRyZW5DaGFuZ2VkKGJvb2wgY2hh
bmdlZEJ5UGFyc2VyID0gZmFsc2UsIE5vZGUqIGJlZm9yZUNoYW5nZSA9IDAsIE5vZGUqIGFmdGVy
Q2hhbmdlID0gMCwgaW50IGNoaWxkQ291bnREZWx0YSA9IDApOworICAgIHZpcnR1YWwgdm9pZCBh
dHRhY2goKTsKKyAgICB2aXJ0dWFsIHZvaWQgaW5zZXJ0ZWRJbnRvRG9jdW1lbnQoKTsKKyAgICB2
aXJ0dWFsIHZvaWQgcmVtb3ZlZEZyb21Eb2N1bWVudCgpOworICAgIHZpcnR1YWwgdm9pZCBjaGls
ZHJlbkNoYW5nZWQoYm9vbCBjaGFuZ2VkQnlQYXJzZXIgPSBmYWxzZSwgTm9kZSogYmVmb3JlQ2hh
bmdlID0gMCwgTm9kZSogYWZ0ZXJDaGFuZ2UgPSAwLCBpbnQgY2hpbGRDb3VudERlbHRhID0gMCk7
CiAKLSAgICAgICAgc3RhdGljIGludCBjc3NQcm9wZXJ0eUlkRm9yU1ZHQXR0cmlidXRlTmFtZShj
b25zdCBRdWFsaWZpZWROYW1lJik7Ci0gICAgICAgIHZvaWQgdXBkYXRlUmVsYXRpdmVMZW5ndGhz
SW5mb3JtYXRpb24oKSB7IHVwZGF0ZVJlbGF0aXZlTGVuZ3Roc0luZm9ybWF0aW9uKHNlbGZIYXNS
ZWxhdGl2ZUxlbmd0aHMoKSwgdGhpcyk7IH0KLSAgICAgICAgdm9pZCB1cGRhdGVSZWxhdGl2ZUxl
bmd0aHNJbmZvcm1hdGlvbihib29sIGhhc1JlbGF0aXZlTGVuZ3RocywgU1ZHU3R5bGVkRWxlbWVu
dCopOworICAgIHN0YXRpYyBpbnQgY3NzUHJvcGVydHlJZEZvclNWR0F0dHJpYnV0ZU5hbWUoY29u
c3QgUXVhbGlmaWVkTmFtZSYpOworICAgIHZvaWQgdXBkYXRlUmVsYXRpdmVMZW5ndGhzSW5mb3Jt
YXRpb24oKSB7IHVwZGF0ZVJlbGF0aXZlTGVuZ3Roc0luZm9ybWF0aW9uKHNlbGZIYXNSZWxhdGl2
ZUxlbmd0aHMoKSwgdGhpcyk7IH0KKyAgICB2b2lkIHVwZGF0ZVJlbGF0aXZlTGVuZ3Roc0luZm9y
bWF0aW9uKGJvb2wgaGFzUmVsYXRpdmVMZW5ndGhzLCBTVkdTdHlsZWRFbGVtZW50Kik7CiAKLSAg
ICAgICAgdmlydHVhbCBib29sIHNlbGZIYXNSZWxhdGl2ZUxlbmd0aHMoKSBjb25zdCB7IHJldHVy
biBmYWxzZTsgfQorICAgIHZpcnR1YWwgYm9vbCBzZWxmSGFzUmVsYXRpdmVMZW5ndGhzKCkgY29u
c3QgeyByZXR1cm4gZmFsc2U7IH0KIAotICAgIHByaXZhdGU6Ci0gICAgICAgIHZpcnR1YWwgYm9v
bCBpc1N0eWxlZCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KK3ByaXZhdGU6CisgICAgdmlydHVh
bCBib29sIGlzU3R5bGVkKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogCi0gICAgICAgIEhhc2hT
ZXQ8U1ZHU3R5bGVkRWxlbWVudCo+IG1fZWxlbWVudHNXaXRoUmVsYXRpdmVMZW5ndGhzOworICAg
IEhhc2hTZXQ8U1ZHU3R5bGVkRWxlbWVudCo+IG1fZWxlbWVudHNXaXRoUmVsYXRpdmVMZW5ndGhz
OwogCi0gICAgICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdTdHls
ZWRFbGVtZW50LCBIVE1MTmFtZXM6OmNsYXNzQXR0ciwgU3RyaW5nLCBDbGFzc05hbWUsIGNsYXNz
TmFtZSkKLSAgICB9OworICAgIC8vIEFuaW1hdGVkIHByb3BlcnR5IGRlY2xhcmF0aW9ucworICAg
IERFQ0xBUkVfQU5JTUFURURfU1RSSU5HKENsYXNzTmFtZSwgY2xhc3NOYW1lKQorfTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQogCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdUUmVmRWxlbWVudC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHVFJlZkVsZW1lbnQuY3BwCShyZXZpc2lv
biA3MzAxMCkKKysrIFdlYkNvcmUvc3ZnL1NWR1RSZWZFbGVtZW50LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzIsNiArMzIsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKKy8vIEFuaW1hdGVk
IHByb3BlcnR5IGRlZmluaXRpb25zCitERUZJTkVfQU5JTUFURURfU1RSSU5HKFNWR1N0eWxlZEVs
ZW1lbnQsIFhMaW5rTmFtZXM6OmhyZWZBdHRyLCBIcmVmLCBocmVmKQorCiBpbmxpbmUgU1ZHVFJl
ZkVsZW1lbnQ6OlNWR1RSZWZFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERv
Y3VtZW50KiBkb2N1bWVudCkKICAgICA6IFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQodGFnTmFt
ZSwgZG9jdW1lbnQpCiB7CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdUUmVmRWxlbWVudC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1RSZWZFbGVtZW50LmgJKHJldmlzaW9uIDczMDEwKQor
KysgV2ViQ29yZS9zdmcvU1ZHVFJlZkVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMjcsMjYg
KzI3LDI4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIFNWR1RSZWZFbGVt
ZW50IDogcHVibGljIFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICBwdWJsaWMgU1ZHVVJJUmVmZXJlbmNlIHsKLSAgICBwdWJsaWM6Ci0gICAgICAg
IHN0YXRpYyBQYXNzUmVmUHRyPFNWR1RSZWZFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVk
TmFtZSYsIERvY3VtZW50Kik7Ci0KLSAgICBwcml2YXRlOgotICAgICAgICBTVkdUUmVmRWxlbWVu
dChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKLQotICAgICAgICB2aXJ0dWFsIHZv
aWQgcGFyc2VNYXBwZWRBdHRyaWJ1dGUoQXR0cmlidXRlKik7Ci0gICAgICAgIHZpcnR1YWwgdm9p
ZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKLSAgICAgICAgdmly
dHVhbCB2b2lkIHN5bmNocm9uaXplUHJvcGVydHkoY29uc3QgUXVhbGlmaWVkTmFtZSYpOwotCi0g
ICAgICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0KiBjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSos
IFJlbmRlclN0eWxlKik7Ci0gICAgICAgIHZpcnR1YWwgYm9vbCBjaGlsZFNob3VsZENyZWF0ZVJl
bmRlcmVyKE5vZGUqKSBjb25zdDsKLQotICAgICAgICB2b2lkIHVwZGF0ZVJlZmVyZW5jZWRUZXh0
KCk7Ci0KLSAgICAgICAgLy8gU1ZHVVJJUmVmZXJlbmNlCi0gICAgICAgIERFQ0xBUkVfQU5JTUFU
RURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdUUmVmRWxlbWVudCwgWExpbmtOYW1lczo6aHJlZkF0
dHIsIFN0cmluZywgSHJlZiwgaHJlZikKLSAgICB9OworY2xhc3MgU1ZHVFJlZkVsZW1lbnQgOiBw
dWJsaWMgU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudCwKKyAgICAgICAgICAgICAgICAgICAgICAg
cHVibGljIFNWR1VSSVJlZmVyZW5jZSB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8
U1ZHVFJlZkVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsK
KworcHJpdmF0ZToKKyAgICBTVkdUUmVmRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9j
dW1lbnQqKTsKKworICAgIHZpcnR1YWwgdm9pZCBwYXJzZU1hcHBlZEF0dHJpYnV0ZShBdHRyaWJ1
dGUqKTsKKyAgICB2aXJ0dWFsIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZp
ZWROYW1lJik7CisgICAgdmlydHVhbCB2b2lkIHN5bmNocm9uaXplUHJvcGVydHkoY29uc3QgUXVh
bGlmaWVkTmFtZSYpOworCisgICAgdmlydHVhbCBSZW5kZXJPYmplY3QqIGNyZWF0ZVJlbmRlcmVy
KFJlbmRlckFyZW5hKiwgUmVuZGVyU3R5bGUqKTsKKyAgICB2aXJ0dWFsIGJvb2wgY2hpbGRTaG91
bGRDcmVhdGVSZW5kZXJlcihOb2RlKikgY29uc3Q7CisKKyAgICB2b2lkIHVwZGF0ZVJlZmVyZW5j
ZWRUZXh0KCk7CisKKyAgICAvLyBBbmltYXRlZCBwcm9wZXJ0eSBkZWNsYXJhdGlvbnMKKworICAg
IC8vIFNWR1VSSVJlZmVyZW5jZQorICAgIERFQ0xBUkVfQU5JTUFURURfU1RSSU5HKEhyZWYsIGhy
ZWYpCit9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKSW5kZXg6IFdlYkNvcmUvc3ZnL1NW
R1RleHRDb250ZW50RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHVGV4
dENvbnRlbnRFbGVtZW50LmNwcAkocmV2aXNpb24gNzMwMTYpCisrKyBXZWJDb3JlL3N2Zy9TVkdU
ZXh0Q29udGVudEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw2ICszNSw3IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gQW5pbWF0ZWQgcHJvcGVydHkgZGVmaW5pdGlvbnMKIERF
RklORV9BTklNQVRFRF9MRU5HVEgoU1ZHVGV4dENvbnRlbnRFbGVtZW50LCBTVkdOYW1lczo6dGV4
dExlbmd0aEF0dHIsIFRleHRMZW5ndGgsIHRleHRMZW5ndGgpCitERUZJTkVfQU5JTUFURURfRU5V
TUVSQVRJT04oU1ZHVGV4dENvbnRlbnRFbGVtZW50LCBTVkdOYW1lczo6bGVuZ3RoQWRqdXN0QXR0
ciwgTGVuZ3RoQWRqdXN0LCBsZW5ndGhBZGp1c3QpCiAKIFNWR1RleHRDb250ZW50RWxlbWVudDo6
U1ZHVGV4dENvbnRlbnRFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3Vt
ZW50KiBkb2N1bWVudCkKICAgICA6IFNWR1N0eWxlZEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQp
CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3N2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuaAkocmV2aXNpb24gNzMwMTYpCisr
KyBXZWJDb3JlL3N2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAt
MjIsOCArMjIsOCBAQAogI2RlZmluZSBTVkdUZXh0Q29udGVudEVsZW1lbnRfaAogCiAjaWYgRU5B
QkxFKFNWRykKKyNpbmNsdWRlICJTVkdBbmltYXRlZEVudW1lcmF0aW9uLmgiCiAjaW5jbHVkZSAi
U1ZHQW5pbWF0ZWRMZW5ndGguaCIKLSNpbmNsdWRlICJTVkdBbmltYXRlZFByb3BlcnR5TWFjcm9z
LmgiCiAjaW5jbHVkZSAiU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5oIgogI2luY2x1ZGUg
IlNWR0xhbmdTcGFjZS5oIgogI2luY2x1ZGUgIlNWR1N0eWxlZEVsZW1lbnQuaCIKQEAgLTcyLDcg
KzcyLDcgQEAgcHJpdmF0ZToKIAogICAgIC8vIEFuaW1hdGVkIHByb3BlcnR5IGRlY2xhcmF0aW9u
cwogICAgIERFQ0xBUkVfQU5JTUFURURfTEVOR1RIKFRleHRMZW5ndGgsIHRleHRMZW5ndGgpCi0g
ICAgREVDTEFSRV9BTklNQVRFRF9TVEFUSUNfUFJPUEVSVFlfTkVXKFNWR1RleHRDb250ZW50RWxl
bWVudCwgU1ZHTmFtZXM6Omxlbmd0aEFkanVzdEF0dHIsIGludCwgTGVuZ3RoQWRqdXN0LCBsZW5n
dGhBZGp1c3QpCisgICAgREVDTEFSRV9BTklNQVRFRF9FTlVNRVJBVElPTihMZW5ndGhBZGp1c3Qs
IGxlbmd0aEFkanVzdCkKIAogICAgIC8vIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQKICAg
ICBERUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9ORVcoU1ZHVGV4dENvbnRlbnRFbGVt
ZW50LCBTVkdOYW1lczo6ZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZEF0dHIsIGJvb2wsIEV4dGVy
bmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpIApJbmRleDog
V2ViQ29yZS9zdmcvU1ZHVGV4dFBhdGhFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3N2Zy9TVkdUZXh0UGF0aEVsZW1lbnQuY3BwCShyZXZpc2lvbiA3MzAxNikKKysrIFdlYkNvcmUv
c3ZnL1NWR1RleHRQYXRoRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMxLDYgKzMxLDkg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBBbmltYXRlZCBwcm9wZXJ0eSBkZWZpbml0aW9u
cwogREVGSU5FX0FOSU1BVEVEX0xFTkdUSChTVkdUZXh0UGF0aEVsZW1lbnQsIFNWR05hbWVzOjpz
dGFydE9mZnNldEF0dHIsIFN0YXJ0T2Zmc2V0LCBzdGFydE9mZnNldCkKK0RFRklORV9BTklNQVRF
RF9FTlVNRVJBVElPTihTVkdUZXh0UGF0aEVsZW1lbnQsIFNWR05hbWVzOjptZXRob2RBdHRyLCBN
ZXRob2QsIG1ldGhvZCkKK0RFRklORV9BTklNQVRFRF9FTlVNRVJBVElPTihTVkdUZXh0UGF0aEVs
ZW1lbnQsIFNWR05hbWVzOjpzcGFjaW5nQXR0ciwgU3BhY2luZywgc3BhY2luZykKK0RFRklORV9B
TklNQVRFRF9TVFJJTkcoU1ZHVGV4dFBhdGhFbGVtZW50LCBYTGlua05hbWVzOjpocmVmQXR0ciwg
SHJlZiwgaHJlZikKIAogaW5saW5lIFNWR1RleHRQYXRoRWxlbWVudDo6U1ZHVGV4dFBhdGhFbGVt
ZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKICAg
ICA6IFNWR1RleHRDb250ZW50RWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKSW5kZXg6IFdlYkNv
cmUvc3ZnL1NWR1RleHRQYXRoRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NW
R1RleHRQYXRoRWxlbWVudC5oCShyZXZpc2lvbiA3MzAxNikKKysrIFdlYkNvcmUvc3ZnL1NWR1Rl
eHRQYXRoRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC03MCwxMSArNzAsMTEgQEAgcHJpdmF0
ZToKIAogICAgIC8vIEFuaW1hdGVkIHByb3BlcnR5IGRlY2xhcmF0aW9ucwogICAgIERFQ0xBUkVf
QU5JTUFURURfTEVOR1RIKFN0YXJ0T2Zmc2V0LCBzdGFydE9mZnNldCkKLSAgICBERUNMQVJFX0FO
SU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9ORVcoU1ZHVGV4dFBhdGhFbGVtZW50LCBTVkdOYW1lczo6
bWV0aG9kQXR0ciwgaW50LCBNZXRob2QsIG1ldGhvZCkKLSAgICBERUNMQVJFX0FOSU1BVEVEX1NU
QVRJQ19QUk9QRVJUWV9ORVcoU1ZHVGV4dFBhdGhFbGVtZW50LCBTVkdOYW1lczo6c3BhY2luZ0F0
dHIsIGludCwgU3BhY2luZywgc3BhY2luZykKKyAgICBERUNMQVJFX0FOSU1BVEVEX0VOVU1FUkFU
SU9OKE1ldGhvZCwgbWV0aG9kKQorICAgIERFQ0xBUkVfQU5JTUFURURfRU5VTUVSQVRJT04oU3Bh
Y2luZywgc3BhY2luZykKIAogICAgIC8vIFNWR1VSSVJlZmVyZW5jZQotICAgIERFQ0xBUkVfQU5J
TUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdUZXh0UGF0aEVsZW1lbnQsIFhMaW5rTmFtZXM6
OmhyZWZBdHRyLCBTdHJpbmcsIEhyZWYsIGhyZWYpCisgICAgREVDTEFSRV9BTklNQVRFRF9TVFJJ
TkcoSHJlZiwgaHJlZikKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNv
cmUvc3ZnL1NWR1VzZUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1Vz
ZUVsZW1lbnQuY3BwCShyZXZpc2lvbiA3MzAxNikKKysrIFdlYkNvcmUvc3ZnL1NWR1VzZUVsZW1l
bnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02Miw2ICs2Miw3IEBAIERFRklORV9BTklNQVRFRF9M
RU5HVEgoU1ZHVXNlRWxlbWVudCwgU1YKIERFRklORV9BTklNQVRFRF9MRU5HVEgoU1ZHVXNlRWxl
bWVudCwgU1ZHTmFtZXM6OnlBdHRyLCBZLCB5KQogREVGSU5FX0FOSU1BVEVEX0xFTkdUSChTVkdV
c2VFbGVtZW50LCBTVkdOYW1lczo6d2lkdGhBdHRyLCBXaWR0aCwgd2lkdGgpCiBERUZJTkVfQU5J
TUFURURfTEVOR1RIKFNWR1VzZUVsZW1lbnQsIFNWR05hbWVzOjpoZWlnaHRBdHRyLCBIZWlnaHQs
IGhlaWdodCkKK0RFRklORV9BTklNQVRFRF9TVFJJTkcoU1ZHVXNlRWxlbWVudCwgWExpbmtOYW1l
czo6aHJlZkF0dHIsIEhyZWYsIGhyZWYpCiAKIGlubGluZSBTVkdVc2VFbGVtZW50OjpTVkdVc2VF
bGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkK
ICAgICA6IFNWR1N0eWxlZFRyYW5zZm9ybWFibGVFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQpJ
bmRleDogV2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
c3ZnL1NWR1VzZUVsZW1lbnQuaAkocmV2aXNpb24gNzMwMTYpCisrKyBXZWJDb3JlL3N2Zy9TVkdV
c2VFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTEwOSw3ICsxMDksNyBAQCBwcml2YXRlOgog
ICAgIERFQ0xBUkVfQU5JTUFURURfTEVOR1RIKEhlaWdodCwgaGVpZ2h0KQogCiAgICAgLy8gU1ZH
VVJJUmVmZXJlbmNlCi0gICAgREVDTEFSRV9BTklNQVRFRF9TVEFUSUNfUFJPUEVSVFlfTkVXKFNW
R1VzZUVsZW1lbnQsIFhMaW5rTmFtZXM6OmhyZWZBdHRyLCBTdHJpbmcsIEhyZWYsIGhyZWYpCisg
ICAgREVDTEFSRV9BTklNQVRFRF9TVFJJTkcoSHJlZiwgaHJlZikKIAogICAgIC8vIFNWR0V4dGVy
bmFsUmVzb3VyY2VzUmVxdWlyZWQKICAgICBERUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9QRVJU
WV9ORVcoU1ZHVXNlRWxlbWVudCwgU1ZHTmFtZXM6OmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWRB
dHRyLCBib29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1Jl
cXVpcmVkKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75373</attachid>
            <date>2010-12-02 06:46:01 -0800</date>
            <delta_ts>2010-12-02 07:09:58 -0800</delta_ts>
            <desc>Patch v2</desc>
            <filename>CleanupPatch.diff</filename>
            <type>text/plain</type>
            <size>83283</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MzEyOSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsOTcgQEAKKzIwMTAtMTItMDIgIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1tZXJt
YW5uQHJpbS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgU3BsaXQgREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWSogaW4gREVDTEFSRS9ERUZJTkUg
cGFydHMgZm9yIFNWR0FuaW1hdGVkU3RyaW5nL1NWR0FuaW1hdGVkRW51bWVyYXRpb24KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUwMzgzCisKKyAgICAg
ICAgQ29udGludWluZyB0aGUgd29yayBvbiBidWcgNDIwMjU6IEludHJvZHVjZSBERUNMQVJFX0FO
SU1BVEVEXyhTVFJJTkd8RU5VTUVSQVRJT04pIC8gREVGSU5FX0FOSU1BVEVEXyhTVFJJTkd8RU5V
TUVSQVRJT04pLgorICAgICAgICBUaGUgYW5pbWF0ZWQgcHJvcGVydHkgZGVjbGFyYXRpb24gbGl2
ZXMgaW4gdGhlIGhlYWRlciwgdGhlIGRlZmluaXRpb24gaW4gdGhlIGNwcCBmaWxlLCB0byBhdm9p
ZCB0aGUgZGVwZW5kZW5jeSBvbiBTVkdOYW1lcy5oIGluIGFsbCBoZWFkZXJzLgorCisgICAgICAg
IE5vIGZ1bmN0aW9uYWwgY2hhbmdlcywgdGh1cyBubyBuZXcgdGVzdHMuCisKKyAgICAgICAgKiBz
dmcvU1ZHQUVsZW1lbnQuY3BwOgorICAgICAgICAqIHN2Zy9TVkdBRWxlbWVudC5oOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHQUVsZW1lbnQ6OmlzVmFsaWQpOgorICAgICAgICAoV2ViQ29yZTo6U1ZH
QUVsZW1lbnQ6OnRhcmdldCk6CisgICAgICAgICogc3ZnL1NWR0FsdEdseXBoRWxlbWVudC5jcHA6
CisgICAgICAgICogc3ZnL1NWR0FsdEdseXBoRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdB
bmltYXRlZEVudW1lcmF0aW9uLmg6CisgICAgICAgICogc3ZnL1NWR0FuaW1hdGVkU3RyaW5nLmg6
CisgICAgICAgICogc3ZnL1NWR0NsaXBQYXRoRWxlbWVudC5jcHA6CisgICAgICAgICogc3ZnL1NW
R0NsaXBQYXRoRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdDb21wb25lbnRUcmFuc2ZlckZ1
bmN0aW9uRWxlbWVudC5jcHA6CisgICAgICAgICogc3ZnL1NWR0NvbXBvbmVudFRyYW5zZmVyRnVu
Y3Rpb25FbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0N1cnNvckVsZW1lbnQuY3BwOgorICAg
ICAgICAqIHN2Zy9TVkdDdXJzb3JFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0ZFQmxlbmRF
bGVtZW50LmNwcDoKKyAgICAgICAgKiBzdmcvU1ZHRkVCbGVuZEVsZW1lbnQuaDoKKyAgICAgICAg
KiBzdmcvU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQuY3BwOgorICAgICAgICAqIHN2Zy9TVkdGRUNv
bG9yTWF0cml4RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdGRUNvbXBvbmVudFRyYW5zZmVy
RWxlbWVudC5jcHA6CisgICAgICAgICogc3ZnL1NWR0ZFQ29tcG9uZW50VHJhbnNmZXJFbGVtZW50
Lmg6CisgICAgICAgICogc3ZnL1NWR0ZFQ29tcG9zaXRlRWxlbWVudC5jcHA6CisgICAgICAgICog
c3ZnL1NWR0ZFQ29tcG9zaXRlRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdGRUNvbnZvbHZl
TWF0cml4RWxlbWVudC5jcHA6CisgICAgICAgICogc3ZnL1NWR0ZFQ29udm9sdmVNYXRyaXhFbGVt
ZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudC5jcHA6Cisg
ICAgICAgICogc3ZnL1NWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudC5oOgorICAgICAgICAqIHN2
Zy9TVkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQuY3BwOgorICAgICAgICAqIHN2Zy9TVkdGRURp
c3BsYWNlbWVudE1hcEVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHRkVHYXVzc2lhbkJsdXJF
bGVtZW50LmNwcDoKKyAgICAgICAgKiBzdmcvU1ZHRkVHYXVzc2lhbkJsdXJFbGVtZW50Lmg6Cisg
ICAgICAgICogc3ZnL1NWR0ZFSW1hZ2VFbGVtZW50LmNwcDoKKyAgICAgICAgKiBzdmcvU1ZHRkVJ
bWFnZUVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHRkVMaWdodEVsZW1lbnQuY3BwOgorICAg
ICAgICAqIHN2Zy9TVkdGRU1lcmdlTm9kZUVsZW1lbnQuY3BwOgorICAgICAgICAqIHN2Zy9TVkdG
RU1lcmdlTm9kZUVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHRkVNb3JwaG9sb2d5RWxlbWVu
dC5jcHA6CisgICAgICAgICogc3ZnL1NWR0ZFTW9ycGhvbG9neUVsZW1lbnQuaDoKKyAgICAgICAg
KiBzdmcvU1ZHRkVPZmZzZXRFbGVtZW50LmNwcDoKKyAgICAgICAgKiBzdmcvU1ZHRkVPZmZzZXRF
bGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQuY3Bw
OgorICAgICAgICAqIHN2Zy9TVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50Lmg6CisgICAgICAg
ICogc3ZnL1NWR0ZFVGlsZUVsZW1lbnQuY3BwOgorICAgICAgICAqIHN2Zy9TVkdGRVRpbGVFbGVt
ZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0ZFVHVyYnVsZW5jZUVsZW1lbnQuY3BwOgorICAgICAg
ICAqIHN2Zy9TVkdGRVR1cmJ1bGVuY2VFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0ZpbHRl
ckVsZW1lbnQuY3BwOgorICAgICAgICAqIHN2Zy9TVkdGaWx0ZXJFbGVtZW50Lmg6CisgICAgICAg
ICogc3ZnL1NWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcy5jcHA6CisgICAgICAg
ICogc3ZnL1NWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcy5oOgorICAgICAgICAq
IHN2Zy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC5jcHA6CisgICAgICAgICogc3ZnL1NWR0ZvcmVp
Z25PYmplY3RFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5jcHA6
CisgICAgICAgICogc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdJ
bWFnZUVsZW1lbnQuY3BwOgorICAgICAgICAqIHN2Zy9TVkdJbWFnZUVsZW1lbnQuaDoKKyAgICAg
ICAgKiBzdmcvU1ZHTVBhdGhFbGVtZW50LmNwcDoKKyAgICAgICAgKiBzdmcvU1ZHTVBhdGhFbGVt
ZW50Lmg6CisgICAgICAgICogc3ZnL1NWR01hcmtlckVsZW1lbnQuY3BwOgorICAgICAgICAqIHN2
Zy9TVkdNYXJrZXJFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR01hc2tFbGVtZW50LmNwcDoK
KyAgICAgICAgKiBzdmcvU1ZHTWFza0VsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHUGF0dGVy
bkVsZW1lbnQuY3BwOgorICAgICAgICAqIHN2Zy9TVkdQYXR0ZXJuRWxlbWVudC5oOgorICAgICAg
ICAqIHN2Zy9TVkdTY3JpcHRFbGVtZW50LmNwcDoKKyAgICAgICAgKiBzdmcvU1ZHU2NyaXB0RWxl
bWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdTdHlsZWRFbGVtZW50LmNwcDoKKyAgICAgICAgKiBz
dmcvU1ZHU3R5bGVkRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHU3R5bGVkRWxlbWVu
dDo6aGFzUmVsYXRpdmVMZW5ndGhzKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1N0eWxlZEVsZW1l
bnQ6OnN1cHBvcnRzTWFya2Vycyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdTdHlsZWRFbGVtZW50
OjpzdHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdTdHlsZWRFbGVtZW50Ojp1cGRhdGVSZWxh
dGl2ZUxlbmd0aHNJbmZvcm1hdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTVkdTdHlsZWRFbGVt
ZW50OjpzZWxmSGFzUmVsYXRpdmVMZW5ndGhzKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1N0eWxl
ZEVsZW1lbnQ6OmlzU3R5bGVkKToKKyAgICAgICAgKiBzdmcvU1ZHVFJlZkVsZW1lbnQuY3BwOgor
ICAgICAgICAqIHN2Zy9TVkdUUmVmRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdUZXh0Q29u
dGVudEVsZW1lbnQuY3BwOgorICAgICAgICAqIHN2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuaDoK
KyAgICAgICAgKiBzdmcvU1ZHVGV4dFBhdGhFbGVtZW50LmNwcDoKKyAgICAgICAgKiBzdmcvU1ZH
VGV4dFBhdGhFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR1VzZUVsZW1lbnQuY3BwOgorICAg
ICAgICAqIHN2Zy9TVkdVc2VFbGVtZW50Lmg6CisKIDIwMTAtMTItMDIgIFBhdHJpY2sgR2Fuc3Rl
cmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQW5kcmVhcyBL
bGluZy4KSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0FFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3N2Zy9TVkdBRWxlbWVudC5jcHAJKHJldmlzaW9uIDczMDEwKQorKysgV2ViQ29yZS9z
dmcvU1ZHQUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Nyw2ICs0NywxMCBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKKy8vIEFuaW1hdGVkIHByb3BlcnR5IGRlZmluaXRpb25zCitE
RUZJTkVfQU5JTUFURURfU1RSSU5HKFNWR0FFbGVtZW50LCBTVkdOYW1lczo6dGFyZ2V0QXR0ciwg
U1ZHVGFyZ2V0LCBzdmdUYXJnZXQpCitERUZJTkVfQU5JTUFURURfU1RSSU5HKFNWR0FFbGVtZW50
LCBYTGlua05hbWVzOjpocmVmQXR0ciwgSHJlZiwgaHJlZikKKwogaW5saW5lIFNWR0FFbGVtZW50
OjpTVkdBRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9j
dW1lbnQpCiAgICAgOiBTVkdTdHlsZWRUcmFuc2Zvcm1hYmxlRWxlbWVudCh0YWdOYW1lLCBkb2N1
bWVudCkKIHsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0FFbGVtZW50LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9zdmcvU1ZHQUVsZW1lbnQuaAkocmV2aXNpb24gNzMwMTApCisrKyBXZWJDb3JlL3N2
Zy9TVkdBRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMyw3ICsyMyw2IEBACiAjZGVmaW5l
IFNWR0FFbGVtZW50X2gKIAogI2lmIEVOQUJMRShTVkcpCi0jaW5jbHVkZSAiU1ZHQW5pbWF0ZWRQ
cm9wZXJ0eU1hY3Jvcy5oIgogI2luY2x1ZGUgIlNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQu
aCIKICNpbmNsdWRlICJTVkdMYW5nU3BhY2UuaCIKICNpbmNsdWRlICJTVkdTdHlsZWRUcmFuc2Zv
cm1hYmxlRWxlbWVudC5oIgpAQCAtMzIsNDggKzMxLDUwIEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotICAgIGNsYXNzIFNWR0FFbGVtZW50IDogcHVibGljIFNWR1N0eWxlZFRyYW5zZm9ybWFi
bGVFbGVtZW50LAotICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIFNWR1VSSVJlZmVyZW5j
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyBTVkdUZXN0cywKLSAgICAgICAgICAg
ICAgICAgICAgICAgIHB1YmxpYyBTVkdMYW5nU3BhY2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICBwdWJsaWMgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCB7Ci0gICAgcHVibGljOgotICAg
ICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTVkdBRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmll
ZE5hbWUmLCBEb2N1bWVudCopOwotCi0gICAgcHJpdmF0ZToKLSAgICAgICAgU1ZHQUVsZW1lbnQo
Y29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7Ci0KLSAgICAgICAgdmlydHVhbCBib29s
IGlzVmFsaWQoKSBjb25zdCB7IHJldHVybiBTVkdUZXN0czo6aXNWYWxpZCgpOyB9Ci0gICAgICAg
IAotICAgICAgICB2aXJ0dWFsIFN0cmluZyB0aXRsZSgpIGNvbnN0OwotICAgICAgICB2aXJ0dWFs
IFN0cmluZyB0YXJnZXQoKSBjb25zdCB7IHJldHVybiBzdmdUYXJnZXQoKTsgfQotCi0gICAgICAg
IHZpcnR1YWwgdm9pZCBwYXJzZU1hcHBlZEF0dHJpYnV0ZShBdHRyaWJ1dGUqKTsKLSAgICAgICAg
dmlydHVhbCB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYpOwot
ICAgICAgICB2aXJ0dWFsIHZvaWQgc3luY2hyb25pemVQcm9wZXJ0eShjb25zdCBRdWFsaWZpZWRO
YW1lJik7Ci0KLSAgICAgICAgdmlydHVhbCBSZW5kZXJPYmplY3QqIGNyZWF0ZVJlbmRlcmVyKFJl
bmRlckFyZW5hKiwgUmVuZGVyU3R5bGUqKTsKLQotICAgICAgICB2aXJ0dWFsIHZvaWQgZGVmYXVs
dEV2ZW50SGFuZGxlcihFdmVudCopOwotICAgICAgICAKLSAgICAgICAgdmlydHVhbCBib29sIHN1
cHBvcnRzRm9jdXMoKSBjb25zdDsKLSAgICAgICAgdmlydHVhbCBib29sIGlzTW91c2VGb2N1c2Fi
bGUoKSBjb25zdDsKLSAgICAgICAgdmlydHVhbCBib29sIGlzS2V5Ym9hcmRGb2N1c2FibGUoS2V5
Ym9hcmRFdmVudCopIGNvbnN0OwotICAgICAgICB2aXJ0dWFsIGJvb2wgaXNGb2N1c2FibGUoKSBj
b25zdDsKLQotICAgICAgICB2aXJ0dWFsIGJvb2wgY2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihO
b2RlKikgY29uc3Q7Ci0KLSAgICAgICAgLy8gVGhpcyBkZWZpbmVzIGEgbm9uLXZpcnR1YWwgIlN0
cmluZyYgdGFyZ2V0KCkgY29uc3QiIG1ldGhvZCBiZWZvcmUsIHRoYXQgd291bGQgY2xhc2ggd2l0
aCAidmlydHVhbCBTdHJpbmcgdGFyZ2V0KCkgY29uc3QiCi0gICAgICAgIC8vIGluIEVsZW1lbnQu
IFRoYXQncyB3aHkgaXQncyBub3cgbmFtZWQgIlN0cmluZyYgc3ZnVGFyZ2V0KCkgY29uc3QiLCB0
byBhdm9pZCB0aGUgY2xhc2guIFRoZSBDb2RlR2VuZXJhdG9ycyB0YWtlIGNhcmUKLSAgICAgICAg
Ly8gb2YgY2FsbGluZyBzdmdUYXJnZXRBbmltYXRlZCgpIGluc3RlYWQgb2YgdGFyZ2V0QW5pbWF0
ZWQoKSwgc2VlIENvZGVHZW5lcmF0b3IucG0uCi0gICAgICAgIERFQ0xBUkVfQU5JTUFURURfU1RB
VElDX1BST1BFUlRZX05FVyhTVkdBRWxlbWVudCwgU1ZHTmFtZXM6OnRhcmdldEF0dHIsIFN0cmlu
ZywgU1ZHVGFyZ2V0LCBzdmdUYXJnZXQpCi0KLSAgICAgICAgLy8gU1ZHVVJJUmVmZXJlbmNlCi0g
ICAgICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdBRWxlbWVudCwg
WExpbmtOYW1lczo6aHJlZkF0dHIsIFN0cmluZywgSHJlZiwgaHJlZikKLQotICAgICAgICAvLyBT
VkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkCi0gICAgICAgIERFQ0xBUkVfQU5JTUFURURfU1RB
VElDX1BST1BFUlRZX05FVyhTVkdBRWxlbWVudCwgU1ZHTmFtZXM6OmV4dGVybmFsUmVzb3VyY2Vz
UmVxdWlyZWRBdHRyLCBib29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJl
c291cmNlc1JlcXVpcmVkKQotICAgIH07CitjbGFzcyBTVkdBRWxlbWVudCA6IHB1YmxpYyBTVkdT
dHlsZWRUcmFuc2Zvcm1hYmxlRWxlbWVudCwKKyAgICAgICAgICAgICAgICAgICAgcHVibGljIFNW
R1VSSVJlZmVyZW5jZSwKKyAgICAgICAgICAgICAgICAgICAgcHVibGljIFNWR1Rlc3RzLAorICAg
ICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHTGFuZ1NwYWNlLAorICAgICAgICAgICAgICAgICAg
ICBwdWJsaWMgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCB7CitwdWJsaWM6CisgICAgc3Rh
dGljIFBhc3NSZWZQdHI8U1ZHQUVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwg
RG9jdW1lbnQqKTsKKworcHJpdmF0ZToKKyAgICBTVkdBRWxlbWVudChjb25zdCBRdWFsaWZpZWRO
YW1lJiwgRG9jdW1lbnQqKTsKKworICAgIHZpcnR1YWwgYm9vbCBpc1ZhbGlkKCkgY29uc3QgeyBy
ZXR1cm4gU1ZHVGVzdHM6OmlzVmFsaWQoKTsgfQorICAgIAorICAgIHZpcnR1YWwgU3RyaW5nIHRp
dGxlKCkgY29uc3Q7CisgICAgdmlydHVhbCBTdHJpbmcgdGFyZ2V0KCkgY29uc3QgeyByZXR1cm4g
c3ZnVGFyZ2V0KCk7IH0KKworICAgIHZpcnR1YWwgdm9pZCBwYXJzZU1hcHBlZEF0dHJpYnV0ZShB
dHRyaWJ1dGUqKTsKKyAgICB2aXJ0dWFsIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBR
dWFsaWZpZWROYW1lJik7CisgICAgdmlydHVhbCB2b2lkIHN5bmNocm9uaXplUHJvcGVydHkoY29u
c3QgUXVhbGlmaWVkTmFtZSYpOworCisgICAgdmlydHVhbCBSZW5kZXJPYmplY3QqIGNyZWF0ZVJl
bmRlcmVyKFJlbmRlckFyZW5hKiwgUmVuZGVyU3R5bGUqKTsKKworICAgIHZpcnR1YWwgdm9pZCBk
ZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50Kik7CisgICAgCisgICAgdmlydHVhbCBib29sIHN1cHBv
cnRzRm9jdXMoKSBjb25zdDsKKyAgICB2aXJ0dWFsIGJvb2wgaXNNb3VzZUZvY3VzYWJsZSgpIGNv
bnN0OworICAgIHZpcnR1YWwgYm9vbCBpc0tleWJvYXJkRm9jdXNhYmxlKEtleWJvYXJkRXZlbnQq
KSBjb25zdDsKKyAgICB2aXJ0dWFsIGJvb2wgaXNGb2N1c2FibGUoKSBjb25zdDsKKworICAgIHZp
cnR1YWwgYm9vbCBjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKE5vZGUqKSBjb25zdDsKKworICAg
IC8vIEFuaW1hdGVkIHByb3BlcnR5IGRlY2xhcmF0aW9ucworCisgICAgLy8gVGhpcyBkZWZpbmVz
IGEgbm9uLXZpcnR1YWwgIlN0cmluZyYgdGFyZ2V0KCkgY29uc3QiIG1ldGhvZCBiZWZvcmUsIHRo
YXQgd291bGQgY2xhc2ggd2l0aCAidmlydHVhbCBTdHJpbmcgdGFyZ2V0KCkgY29uc3QiCisgICAg
Ly8gaW4gRWxlbWVudC4gVGhhdCdzIHdoeSBpdCdzIG5vdyBuYW1lZCAiU3RyaW5nJiBzdmdUYXJn
ZXQoKSBjb25zdCIsIHRvIGF2b2lkIHRoZSBjbGFzaC4gVGhlIENvZGVHZW5lcmF0b3JzIHRha2Ug
Y2FyZQorICAgIC8vIG9mIGNhbGxpbmcgc3ZnVGFyZ2V0QW5pbWF0ZWQoKSBpbnN0ZWFkIG9mIHRh
cmdldEFuaW1hdGVkKCksIHNlZSBDb2RlR2VuZXJhdG9yLnBtLgorICAgIERFQ0xBUkVfQU5JTUFU
RURfU1RSSU5HKFNWR1RhcmdldCwgc3ZnVGFyZ2V0KQorCisgICAgLy8gU1ZHVVJJUmVmZXJlbmNl
CisgICAgREVDTEFSRV9BTklNQVRFRF9TVFJJTkcoSHJlZiwgaHJlZikKKworICAgIC8vIFNWR0V4
dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQKKyAgICBERUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9Q
RVJUWV9ORVcoU1ZHQUVsZW1lbnQsIFNWR05hbWVzOjpleHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
QXR0ciwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNS
ZXF1aXJlZCkKK307CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIApJbmRleDogV2ViQ29yZS9z
dmcvU1ZHQWx0R2x5cGhFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdB
bHRHbHlwaEVsZW1lbnQuY3BwCShyZXZpc2lvbiA3MzAxMCkKKysrIFdlYkNvcmUvc3ZnL1NWR0Fs
dEdseXBoRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMzLDYgKzMzLDkgQEAKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCisvLyBBbmltYXRlZCBwcm9wZXJ0eSBkZWNsYXJhdGlvbnMKK0RF
RklORV9BTklNQVRFRF9TVFJJTkcoU1ZHQWx0R2x5cGhFbGVtZW50LCBYTGlua05hbWVzOjpocmVm
QXR0ciwgSHJlZiwgaHJlZikKKwogaW5saW5lIFNWR0FsdEdseXBoRWxlbWVudDo6U1ZHQWx0R2x5
cGhFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVu
dCkKICAgICA6IFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCiB7
CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdBbHRHbHlwaEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3N2Zy9TVkdBbHRHbHlwaEVsZW1lbnQuaAkocmV2aXNpb24gNzMwMTApCisrKyBXZWJD
b3JlL3N2Zy9TVkdBbHRHbHlwaEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMjUsMzUgKzI1
LDM2IEBACiAjaWYgRU5BQkxFKFNWR19GT05UUykKICNpbmNsdWRlICJTVkdUZXh0UG9zaXRpb25p
bmdFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHVVJJUmVmZXJlbmNlLmgiCi0jaW5jbHVkZSA8d3Rm
L3RleHQvQXRvbWljU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIGNsYXNz
IFNWR0dseXBoRWxlbWVudDsKK2NsYXNzIFNWR0dseXBoRWxlbWVudDsKIAotICAgIGNsYXNzIFNW
R0FsdEdseXBoRWxlbWVudCA6IHB1YmxpYyBTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyBTVkdVUklSZWZlcmVuY2UgewotICAg
IHB1YmxpYzoKLSAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8U1ZHQWx0R2x5cGhFbGVtZW50PiBj
cmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7Ci0KLSAgICAgICAgY29uc3Qg
QXRvbWljU3RyaW5nJiBnbHlwaFJlZigpIGNvbnN0OwotICAgICAgICB2b2lkIHNldEdseXBoUmVm
KGNvbnN0IEF0b21pY1N0cmluZyYsIEV4Y2VwdGlvbkNvZGUmKTsKLSAgICAgICAgY29uc3QgQXRv
bWljU3RyaW5nJiBmb3JtYXQoKSBjb25zdDsKLSAgICAgICAgdm9pZCBzZXRGb3JtYXQoY29uc3Qg
QXRvbWljU3RyaW5nJiwgRXhjZXB0aW9uQ29kZSYpOwotICAgIAotICAgICAgICBTVkdHbHlwaEVs
ZW1lbnQqIGdseXBoRWxlbWVudCgpIGNvbnN0OwotCi0gICAgcHJpdmF0ZToKLSAgICAgICAgU1ZH
QWx0R2x5cGhFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOwotCi0gICAg
ICAgIHZpcnR1YWwgdm9pZCBzeW5jaHJvbml6ZVByb3BlcnR5KGNvbnN0IFF1YWxpZmllZE5hbWUm
KTsKLQotICAgICAgICB2aXJ0dWFsIFJlbmRlck9iamVjdCogY3JlYXRlUmVuZGVyZXIoUmVuZGVy
QXJlbmEqLCBSZW5kZXJTdHlsZSopOwotICAgICAgICB2aXJ0dWFsIGJvb2wgY2hpbGRTaG91bGRD
cmVhdGVSZW5kZXJlcihOb2RlKikgY29uc3Q7Ci0KLSAgICAgICAgLy8gU1ZHVVJJUmVmZXJlbmNl
Ci0gICAgICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdBbHRHbHlw
aEVsZW1lbnQsIFhMaW5rTmFtZXM6OmhyZWZBdHRyLCBTdHJpbmcsIEhyZWYsIGhyZWYpCi0gICAg
fTsKK2NsYXNzIFNWR0FsdEdseXBoRWxlbWVudCA6IHB1YmxpYyBTVkdUZXh0UG9zaXRpb25pbmdF
bGVtZW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIFNWR1VSSVJlZmVyZW5j
ZSB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8U1ZHQWx0R2x5cGhFbGVtZW50PiBj
cmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7CisKKyAgICBjb25zdCBBdG9t
aWNTdHJpbmcmIGdseXBoUmVmKCkgY29uc3Q7CisgICAgdm9pZCBzZXRHbHlwaFJlZihjb25zdCBB
dG9taWNTdHJpbmcmLCBFeGNlcHRpb25Db2RlJik7CisgICAgY29uc3QgQXRvbWljU3RyaW5nJiBm
b3JtYXQoKSBjb25zdDsKKyAgICB2b2lkIHNldEZvcm1hdChjb25zdCBBdG9taWNTdHJpbmcmLCBF
eGNlcHRpb25Db2RlJik7CisKKyAgICBTVkdHbHlwaEVsZW1lbnQqIGdseXBoRWxlbWVudCgpIGNv
bnN0OworCitwcml2YXRlOgorICAgIFNWR0FsdEdseXBoRWxlbWVudChjb25zdCBRdWFsaWZpZWRO
YW1lJiwgRG9jdW1lbnQqKTsKKworICAgIHZpcnR1YWwgdm9pZCBzeW5jaHJvbml6ZVByb3BlcnR5
KGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKKworICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0KiBjcmVh
dGVSZW5kZXJlcihSZW5kZXJBcmVuYSosIFJlbmRlclN0eWxlKik7CisgICAgdmlydHVhbCBib29s
IGNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIoTm9kZSopIGNvbnN0OworCisgICAgLy8gQW5pbWF0
ZWQgcHJvcGVydHkgZGVjbGFyYXRpb25zCisKKyAgICAvLyBTVkdVUklSZWZlcmVuY2UKKyAgICBE
RUNMQVJFX0FOSU1BVEVEX1NUUklORyhIcmVmLCBocmVmKQorfTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQogCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdBbmltYXRlZEVudW1lcmF0aW9uLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbi5oCShyZXZpc2lv
biA3MzAxMCkKKysrIFdlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkRW51bWVyYXRpb24uaAkod29ya2lu
ZyBjb3B5KQpAQCAtMjIsMTEgKzIyLDIyIEBACiAKICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1ZGUg
IlNWR0FuaW1hdGVkU3RhdGljUHJvcGVydHlUZWFyT2ZmLmgiCisjaW5jbHVkZSAiU1ZHQW5pbWF0
ZWRQcm9wZXJ0eU1hY3Jvcy5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHR5cGVkZWYgU1ZH
QW5pbWF0ZWRTdGF0aWNQcm9wZXJ0eVRlYXJPZmY8aW50PiBTVkdBbmltYXRlZEVudW1lcmF0aW9u
OwogCisvLyBIZWxwZXIgbWFjcm9zIHRvIGRlY2xhcmUvZGVmaW5lIGEgU1ZHQW5pbWF0ZWRFbnVt
ZXJhdGlvbiBvYmplY3QKKyNkZWZpbmUgREVDTEFSRV9BTklNQVRFRF9FTlVNRVJBVElPTihVcHBl
clByb3BlcnR5LCBMb3dlclByb3BlcnR5KSBcCitERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRZKFNW
R0FuaW1hdGVkRW51bWVyYXRpb24sIGludCwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSkK
KworI2RlZmluZSBERUZJTkVfQU5JTUFURURfRU5VTUVSQVRJT04oT3duZXJUeXBlLCBET01BdHRy
aWJ1dGUsIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHkpIFwKK0RFRklORV9BTklNQVRFRF9Q
Uk9QRVJUWShPd25lclR5cGUsIERPTUF0dHJpYnV0ZSwgRE9NQXR0cmlidXRlLmxvY2FsTmFtZSgp
LCBTVkdBbmltYXRlZEVudW1lcmF0aW9uLCBpbnQsIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVy
dHkpCisKKyNkZWZpbmUgREVGSU5FX0FOSU1BVEVEX0VOVU1FUkFUSU9OX01VTFRJUExFX1dSQVBQ
RVJTKE93bmVyVHlwZSwgRE9NQXR0cmlidXRlLCBTVkdET01BdHRyaWJ1dGVJZGVudGlmaWVyLCBV
cHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5KSBcCitERUZJTkVfQU5JTUFURURfUFJPUEVSVFko
T3duZXJUeXBlLCBET01BdHRyaWJ1dGUsIFNWR0RPTUF0dHJpYnV0ZUlkZW50aWZpZXIsIFNWR0Fu
aW1hdGVkRW51bWVyYXRpb24sIGludCwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSkKKwog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKFNWRykKSW5kZXg6IFdl
YkNvcmUvc3ZnL1NWR0FuaW1hdGVkU3RyaW5nLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcv
U1ZHQW5pbWF0ZWRTdHJpbmcuaAkocmV2aXNpb24gNzMwMTApCisrKyBXZWJDb3JlL3N2Zy9TVkdB
bmltYXRlZFN0cmluZy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMiwxMiArMjIsMTkgQEAKIAogI2lm
IEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRTdGF0aWNQcm9wZXJ0eVRlYXJPZmYu
aCIKLSNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKyNpbmNsdWRlICJTVkdBbmltYXRl
ZFByb3BlcnR5TWFjcm9zLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdHlwZWRlZiBTVkdB
bmltYXRlZFN0YXRpY1Byb3BlcnR5VGVhck9mZjxTdHJpbmc+IFNWR0FuaW1hdGVkU3RyaW5nOwog
CisvLyBIZWxwZXIgbWFjcm9zIHRvIGRlY2xhcmUvZGVmaW5lIGEgU1ZHQW5pbWF0ZWRTdHJpbmcg
b2JqZWN0CisjZGVmaW5lIERFQ0xBUkVfQU5JTUFURURfU1RSSU5HKFVwcGVyUHJvcGVydHksIExv
d2VyUHJvcGVydHkpIFwKK0RFQ0xBUkVfQU5JTUFURURfUFJPUEVSVFkoU1ZHQW5pbWF0ZWRTdHJp
bmcsIFN0cmluZywgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSkKKworI2RlZmluZSBERUZJ
TkVfQU5JTUFURURfU1RSSU5HKE93bmVyVHlwZSwgRE9NQXR0cmlidXRlLCBVcHBlclByb3BlcnR5
LCBMb3dlclByb3BlcnR5KSBcCitERUZJTkVfQU5JTUFURURfUFJPUEVSVFkoT3duZXJUeXBlLCBE
T01BdHRyaWJ1dGUsIERPTUF0dHJpYnV0ZS5sb2NhbE5hbWUoKSwgU1ZHQW5pbWF0ZWRTdHJpbmcs
IFN0cmluZywgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSkKKwogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKFNWRykKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0Ns
aXBQYXRoRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHQ2xpcFBhdGhF
bGVtZW50LmNwcAkocmV2aXNpb24gNzMwMTApCisrKyBXZWJDb3JlL3N2Zy9TVkdDbGlwUGF0aEVs
ZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw2ICszNCw5IEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAorLy8gQW5pbWF0ZWQgcHJvcGVydHkgZGVmaW5pdGlvbnMKK0RFRklORV9BTklN
QVRFRF9FTlVNRVJBVElPTihTVkdDbGlwUGF0aEVsZW1lbnQsIFNWR05hbWVzOjpjbGlwUGF0aFVu
aXRzQXR0ciwgQ2xpcFBhdGhVbml0cywgY2xpcFBhdGhVbml0cykKKwogaW5saW5lIFNWR0NsaXBQ
YXRoRWxlbWVudDo6U1ZHQ2xpcFBhdGhFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05h
bWUsIERvY3VtZW50KiBkb2N1bWVudCkKICAgICA6IFNWR1N0eWxlZFRyYW5zZm9ybWFibGVFbGVt
ZW50KHRhZ05hbWUsIGRvY3VtZW50KQogICAgICwgbV9jbGlwUGF0aFVuaXRzKFNWR1VuaXRUeXBl
czo6U1ZHX1VOSVRfVFlQRV9VU0VSU1BBQ0VPTlVTRSkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0Ns
aXBQYXRoRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0NsaXBQYXRoRWxl
bWVudC5oCShyZXZpc2lvbiA3MzAxMCkKKysrIFdlYkNvcmUvc3ZnL1NWR0NsaXBQYXRoRWxlbWVu
dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMiw3ICsyMiw3IEBACiAjZGVmaW5lIFNWR0NsaXBQYXRo
RWxlbWVudF9oCiAKICNpZiBFTkFCTEUoU1ZHKQotI2luY2x1ZGUgIlNWR0FuaW1hdGVkUHJvcGVy
dHlNYWNyb3MuaCIKKyNpbmNsdWRlICJTVkdBbmltYXRlZEVudW1lcmF0aW9uLmgiCiAjaW5jbHVk
ZSAiU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5oIgogI2luY2x1ZGUgIlNWR0xhbmdTcGFj
ZS5oIgogI2luY2x1ZGUgIlNWR1N0eWxlZFRyYW5zZm9ybWFibGVFbGVtZW50LmgiCkBAIC01Miw3
ICs1Miw4IEBAIHByaXZhdGU6CiAKICAgICB2aXJ0dWFsIFJlbmRlck9iamVjdCogY3JlYXRlUmVu
ZGVyZXIoUmVuZGVyQXJlbmEqLCBSZW5kZXJTdHlsZSopOwogCi0gICAgREVDTEFSRV9BTklNQVRF
RF9TVEFUSUNfUFJPUEVSVFlfTkVXKFNWR0NsaXBQYXRoRWxlbWVudCwgU1ZHTmFtZXM6OmNsaXBQ
YXRoVW5pdHNBdHRyLCBpbnQsIENsaXBQYXRoVW5pdHMsIGNsaXBQYXRoVW5pdHMpCisgICAgLy8g
QW5pbWF0ZWQgcHJvcGVydHkgZGVjbGFyYXRpb25zCisgICAgREVDTEFSRV9BTklNQVRFRF9FTlVN
RVJBVElPTihDbGlwUGF0aFVuaXRzLCBjbGlwUGF0aFVuaXRzKQogCiAgICAgLy8gU1ZHRXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZAogICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZ
X05FVyhTVkdDbGlwUGF0aEVsZW1lbnQsIFNWR05hbWVzOjpleHRlcm5hbFJlc291cmNlc1JlcXVp
cmVkQXR0ciwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJj
ZXNSZXF1aXJlZCkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rp
b25FbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdDb21wb25lbnRUcmFu
c2ZlckZ1bmN0aW9uRWxlbWVudC5jcHAJKHJldmlzaW9uIDczMDI0KQorKysgV2ViQ29yZS9zdmcv
U1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zMSw2ICszMSw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIEFuaW1hdGVkIHByb3Bl
cnR5IGRlZmluaXRpb25zCitERUZJTkVfQU5JTUFURURfRU5VTUVSQVRJT04oU1ZHQ29tcG9uZW50
VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQsIFNWR05hbWVzOjp0eXBlQXR0ciwgVHlwZSwgdHlwZSkK
IERFRklORV9BTklNQVRFRF9OVU1CRVJfTElTVChTVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9u
RWxlbWVudCwgU1ZHTmFtZXM6OnRhYmxlVmFsdWVzQXR0ciwgVGFibGVWYWx1ZXMsIHRhYmxlVmFs
dWVzKQogREVGSU5FX0FOSU1BVEVEX05VTUJFUihTVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9u
RWxlbWVudCwgU1ZHTmFtZXM6OnNsb3BlQXR0ciwgU2xvcGUsIHNsb3BlKQogREVGSU5FX0FOSU1B
VEVEX05VTUJFUihTVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudCwgU1ZHTmFtZXM6
OmludGVyY2VwdEF0dHIsIEludGVyY2VwdCwgaW50ZXJjZXB0KQpJbmRleDogV2ViQ29yZS9zdmcv
U1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3N2Zy9TVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudC5oCShyZXZpc2lvbiA3
MzAyNCkKKysrIFdlYkNvcmUvc3ZnL1NWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50
LmgJKHdvcmtpbmcgY29weSkKQEAgLTIzLDYgKzIzLDcgQEAKIAogI2lmIEVOQUJMRShTVkcpICYm
IEVOQUJMRShGSUxURVJTKQogI2luY2x1ZGUgIkZFQ29tcG9uZW50VHJhbnNmZXIuaCIKKyNpbmNs
dWRlICJTVkdBbmltYXRlZEVudW1lcmF0aW9uLmgiCiAjaW5jbHVkZSAiU1ZHQW5pbWF0ZWROdW1i
ZXIuaCIKICNpbmNsdWRlICJTVkdBbmltYXRlZE51bWJlckxpc3QuaCIKIApAQCAtNDAsNyArNDEs
NyBAQCBwcm90ZWN0ZWQ6CiAgICAgCiBwcml2YXRlOgogICAgIC8vIEFuaW1hdGVkIHByb3BlcnR5
IGRlY2xhcmF0aW9ucwotICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhT
VkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudCwgU1ZHTmFtZXM6OnR5cGVBdHRyLCBp
bnQsIFR5cGUsIHR5cGUpCisgICAgREVDTEFSRV9BTklNQVRFRF9FTlVNRVJBVElPTihUeXBlLCB0
eXBlKQogICAgIERFQ0xBUkVfQU5JTUFURURfTlVNQkVSX0xJU1QoVGFibGVWYWx1ZXMsIHRhYmxl
VmFsdWVzKQogICAgIERFQ0xBUkVfQU5JTUFURURfTlVNQkVSKFNsb3BlLCBzbG9wZSkKICAgICBE
RUNMQVJFX0FOSU1BVEVEX05VTUJFUihJbnRlcmNlcHQsIGludGVyY2VwdCkKSW5kZXg6IFdlYkNv
cmUvc3ZnL1NWR0N1cnNvckVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NW
R0N1cnNvckVsZW1lbnQuY3BwCShyZXZpc2lvbiA3MzAxNikKKysrIFdlYkNvcmUvc3ZnL1NWR0N1
cnNvckVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw2IEBACiAKICNpbmNs
dWRlICJBdHRyLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKLSNpbmNsdWRlICJTVkdMZW5ndGgu
aCIKICNpbmNsdWRlICJTVkdOYW1lcy5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zMyw2
ICszMiw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIC8vIEFuaW1hdGVkIHByb3BlcnR5IGRlZmlu
aXRpb25zCiBERUZJTkVfQU5JTUFURURfTEVOR1RIKFNWR0N1cnNvckVsZW1lbnQsIFNWR05hbWVz
Ojp4QXR0ciwgWCwgeCkKIERFRklORV9BTklNQVRFRF9MRU5HVEgoU1ZHQ3Vyc29yRWxlbWVudCwg
U1ZHTmFtZXM6OnlBdHRyLCBZLCB5KQorREVGSU5FX0FOSU1BVEVEX1NUUklORyhTVkdDdXJzb3JF
bGVtZW50LCBYTGlua05hbWVzOjpocmVmQXR0ciwgSHJlZiwgaHJlZikKIAogaW5saW5lIFNWR0N1
cnNvckVsZW1lbnQ6OlNWR0N1cnNvckVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFt
ZSwgRG9jdW1lbnQqIGRvY3VtZW50KQogICAgIDogU1ZHRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVu
dCkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0N1cnNvckVsZW1lbnQuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3N2Zy9TVkdDdXJzb3JFbGVtZW50LmgJKHJldmlzaW9uIDczMDE2KQorKysgV2ViQ29y
ZS9zdmcvU1ZHQ3Vyc29yRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMyw3ICsyMyw3IEBA
CiAKICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1ZGUgIlNWR0FuaW1hdGVkTGVuZ3RoLmgiCi0jaW5j
bHVkZSAiU1ZHQW5pbWF0ZWRQcm9wZXJ0eU1hY3Jvcy5oIgorI2luY2x1ZGUgIlNWR0FuaW1hdGVk
U3RyaW5nLmgiCiAjaW5jbHVkZSAiU1ZHRWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR1Rlc3RzLmgi
CiAjaW5jbHVkZSAiU1ZHVVJJUmVmZXJlbmNlLmgiCkBAIC01OSw3ICs1OSw3IEBAIHByaXZhdGU6
CiAgICAgREVDTEFSRV9BTklNQVRFRF9MRU5HVEgoWSwgeSkKIAogICAgIC8vIFNWR1VSSVJlZmVy
ZW5jZQotICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdDdXJzb3JF
bGVtZW50LCBYTGlua05hbWVzOjpocmVmQXR0ciwgU3RyaW5nLCBIcmVmLCBocmVmKQorICAgIERF
Q0xBUkVfQU5JTUFURURfU1RSSU5HKEhyZWYsIGhyZWYpCiAKICAgICAvLyBTVkdFeHRlcm5hbFJl
c291cmNlc1JlcXVpcmVkCiAgICAgREVDTEFSRV9BTklNQVRFRF9TVEFUSUNfUFJPUEVSVFlfTkVX
KFNWR0N1cnNvckVsZW1lbnQsIFNWR05hbWVzOjpleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkQXR0
ciwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1
aXJlZCkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZFQmxlbmRFbGVtZW50LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGRUJsZW5kRWxlbWVudC5jcHAJKHJldmlzaW9uIDczMDEwKQor
KysgV2ViQ29yZS9zdmcvU1ZHRkVCbGVuZEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0y
Nyw2ICsyNywxMSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKKy8vIEFuaW1hdGVkIHByb3Bl
cnR5IGRlZmluaXRpb25zCitERUZJTkVfQU5JTUFURURfU1RSSU5HKFNWR0ZFQmxlbmRFbGVtZW50
LCBTVkdOYW1lczo6aW5BdHRyLCBJbjEsIGluMSkKK0RFRklORV9BTklNQVRFRF9TVFJJTkcoU1ZH
RkVCbGVuZEVsZW1lbnQsIFNWR05hbWVzOjppbjJBdHRyLCBJbjIsIGluMikKK0RFRklORV9BTklN
QVRFRF9FTlVNRVJBVElPTihTVkdGRUJsZW5kRWxlbWVudCwgU1ZHTmFtZXM6Om1vZGVBdHRyLCBN
b2RlLCBtb2RlKQorCiBpbmxpbmUgU1ZHRkVCbGVuZEVsZW1lbnQ6OlNWR0ZFQmxlbmRFbGVtZW50
KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKICAgICA6
IFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcyh0YWdOYW1lLCBkb2N1bWVudCkK
ICAgICAsIG1fbW9kZShGRUJMRU5EX01PREVfTk9STUFMKQpJbmRleDogV2ViQ29yZS9zdmcvU1ZH
RkVCbGVuZEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGRUJsZW5kRWxl
bWVudC5oCShyZXZpc2lvbiA3MzAxMCkKKysrIFdlYkNvcmUvc3ZnL1NWR0ZFQmxlbmRFbGVtZW50
LmgJKHdvcmtpbmcgY29weSkKQEAgLTIzLDkgKzIzLDExIEBACiAKICNpZiBFTkFCTEUoU1ZHKSAm
JiBFTkFCTEUoRklMVEVSUykKICNpbmNsdWRlICJGRUJsZW5kLmgiCisjaW5jbHVkZSAiU1ZHQW5p
bWF0ZWRFbnVtZXJhdGlvbi5oIgogI2luY2x1ZGUgIlNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJk
QXR0cmlidXRlcy5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CisKIGNsYXNzIFNWR0ZFQmxlbmRF
bGVtZW50IDogcHVibGljIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcyB7CiBw
dWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8U1ZHRkVCbGVuZEVsZW1lbnQ+IGNyZWF0ZShj
b25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKQEAgLTM4LDE0ICs0MCwxMyBAQCBwcml2
YXRlOgogICAgIHZpcnR1YWwgdm9pZCBzeW5jaHJvbml6ZVByb3BlcnR5KGNvbnN0IFF1YWxpZmll
ZE5hbWUmKTsKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8RmlsdGVyRWZmZWN0PiBidWlsZChTVkdG
aWx0ZXJCdWlsZGVyKiwgRmlsdGVyKik7CiAKLSAgICBERUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19Q
Uk9QRVJUWV9ORVcoU1ZHRkVCbGVuZEVsZW1lbnQsIFNWR05hbWVzOjppbkF0dHIsIFN0cmluZywg
SW4xLCBpbjEpCi0gICAgREVDTEFSRV9BTklNQVRFRF9TVEFUSUNfUFJPUEVSVFlfTkVXKFNWR0ZF
QmxlbmRFbGVtZW50LCBTVkdOYW1lczo6aW4yQXR0ciwgU3RyaW5nLCBJbjIsIGluMikKLSAgICBE
RUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9ORVcoU1ZHRkVCbGVuZEVsZW1lbnQsIFNW
R05hbWVzOjptb2RlQXR0ciwgaW50LCBNb2RlLCBtb2RlKQorICAgIC8vIEFuaW1hdGVkIHByb3Bl
cnR5IGRlY2xhcmF0aW9ucworICAgIERFQ0xBUkVfQU5JTUFURURfU1RSSU5HKEluMSwgaW4xKQor
ICAgIERFQ0xBUkVfQU5JTUFURURfU1RSSU5HKEluMiwgaW4yKQorICAgIERFQ0xBUkVfQU5JTUFU
RURfRU5VTUVSQVRJT04oTW9kZSwgbW9kZSkKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
IAogI2VuZGlmIC8vIEVOQUJMRShTVkcpCiAjZW5kaWYKLQotLy8gdmltOnRzPTQ6bm9ldApJbmRl
eDogV2ViQ29yZS9zdmcvU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvc3ZnL1NWR0ZFQ29sb3JNYXRyaXhFbGVtZW50LmNwcAkocmV2aXNpb24gNzMwMjAp
CisrKyBXZWJDb3JlL3N2Zy9TVkdGRUNvbG9yTWF0cml4RWxlbWVudC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTI1LDExICsyNSwxMiBAQAogCiAjaW5jbHVkZSAiQXR0cmlidXRlLmgiCiAjaW5jbHVk
ZSAiU1ZHTmFtZXMuaCIKLSNpbmNsdWRlICJTVkdOdW1iZXJMaXN0LmgiCiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogLy8gQW5pbWF0ZWQgcHJvcGVydHkgZGVmaW5pdGlvbnMKK0RFRklORV9BTklN
QVRFRF9TVFJJTkcoU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQsIFNWR05hbWVzOjppbkF0dHIsIElu
MSwgaW4xKQorREVGSU5FX0FOSU1BVEVEX0VOVU1FUkFUSU9OKFNWR0ZFQ29sb3JNYXRyaXhFbGVt
ZW50LCBTVkdOYW1lczo6dHlwZUF0dHIsIFR5cGUsIHR5cGUpCiBERUZJTkVfQU5JTUFURURfTlVN
QkVSX0xJU1QoU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQsIFNWR05hbWVzOjp2YWx1ZXNBdHRyLCBW
YWx1ZXMsIHZhbHVlcykKIAogaW5saW5lIFNWR0ZFQ29sb3JNYXRyaXhFbGVtZW50OjpTVkdGRUNv
bG9yTWF0cml4RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCog
ZG9jdW1lbnQpCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdGRUNvbG9yTWF0cml4RWxlbWVudC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ZFQ29sb3JNYXRyaXhFbGVtZW50LmgJKHJldmlz
aW9uIDczMDIwKQorKysgV2ViQ29yZS9zdmcvU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQuaAkod29y
a2luZyBjb3B5KQpAQCAtMjMsNiArMjMsNyBAQAogCiAjaWYgRU5BQkxFKFNWRykgJiYgRU5BQkxF
KEZJTFRFUlMpCiAjaW5jbHVkZSAiRkVDb2xvck1hdHJpeC5oIgorI2luY2x1ZGUgIlNWR0FuaW1h
dGVkRW51bWVyYXRpb24uaCIKICNpbmNsdWRlICJTVkdBbmltYXRlZE51bWJlckxpc3QuaCIKICNp
bmNsdWRlICJTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMuaCIKIApAQCAtNDEs
OCArNDIsOCBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxGaWx0ZXJFZmZlY3Q+
IGJ1aWxkKFNWR0ZpbHRlckJ1aWxkZXIqLCBGaWx0ZXIqKTsKIAogICAgIC8vIEFuaW1hdGVkIHBy
b3BlcnR5IGRlY2xhcmF0aW9ucwotICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZ
X05FVyhTVkdGRUNvbG9yTWF0cml4RWxlbWVudCwgU1ZHTmFtZXM6OmluQXR0ciwgU3RyaW5nLCBJ
bjEsIGluMSkKLSAgICBERUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9ORVcoU1ZHRkVD
b2xvck1hdHJpeEVsZW1lbnQsIFNWR05hbWVzOjp0eXBlQXR0ciwgaW50LCBUeXBlLCB0eXBlKQor
ICAgIERFQ0xBUkVfQU5JTUFURURfU1RSSU5HKEluMSwgaW4xKQorICAgIERFQ0xBUkVfQU5JTUFU
RURfRU5VTUVSQVRJT04oVHlwZSwgdHlwZSkKICAgICBERUNMQVJFX0FOSU1BVEVEX05VTUJFUl9M
SVNUKFZhbHVlcywgdmFsdWVzKQogfTsKIApJbmRleDogV2ViQ29yZS9zdmcvU1ZHRkVDb21wb25l
bnRUcmFuc2ZlckVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ZFQ29t
cG9uZW50VHJhbnNmZXJFbGVtZW50LmNwcAkocmV2aXNpb24gNzMwMTApCisrKyBXZWJDb3JlL3N2
Zy9TVkdGRUNvbXBvbmVudFRyYW5zZmVyRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI5
LDEwICsyOSwxMiBAQAogI2luY2x1ZGUgIlNWR0ZFRnVuY0dFbGVtZW50LmgiCiAjaW5jbHVkZSAi
U1ZHRkVGdW5jUkVsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdOYW1lcy5oIgotI2luY2x1ZGUgIlNW
R1JlbmRlclN0eWxlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorLy8gQW5pbWF0ZWQgcHJv
cGVydHkgZGVjbGFyYXRpb25zCitERUZJTkVfQU5JTUFURURfU1RSSU5HKFNWR0ZFQ29tcG9uZW50
VHJhbnNmZXJFbGVtZW50LCBTVkdOYW1lczo6aW5BdHRyLCBJbjEsIGluMSkKKwogaW5saW5lIFNW
R0ZFQ29tcG9uZW50VHJhbnNmZXJFbGVtZW50OjpTVkdGRUNvbXBvbmVudFRyYW5zZmVyRWxlbWVu
dChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCiAgICAg
OiBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXModGFnTmFtZSwgZG9jdW1lbnQp
CiB7CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdGRUNvbXBvbmVudFRyYW5zZmVyRWxlbWVudC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ZFQ29tcG9uZW50VHJhbnNmZXJFbGVtZW50LmgJ
KHJldmlzaW9uIDczMDEwKQorKysgV2ViQ29yZS9zdmcvU1ZHRkVDb21wb25lbnRUcmFuc2ZlckVs
ZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMjIsOCArMjIsOCBAQAogI2RlZmluZSBTVkdGRUNv
bXBvbmVudFRyYW5zZmVyRWxlbWVudF9oCiAKICNpZiBFTkFCTEUoU1ZHKSAmJiBFTkFCTEUoRklM
VEVSUykKLSNpbmNsdWRlICJTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMuaCIK
ICNpbmNsdWRlICJGRUNvbXBvbmVudFRyYW5zZmVyLmgiCisjaW5jbHVkZSAiU1ZHRmlsdGVyUHJp
bWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAt
MzgsNyArMzgsOCBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBzeW5jaHJvbml6ZVByb3Bl
cnR5KGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8RmlsdGVy
RWZmZWN0PiBidWlsZChTVkdGaWx0ZXJCdWlsZGVyKiwgRmlsdGVyKik7CiAKLSAgICBERUNMQVJF
X0FOSU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9ORVcoU1ZHRkVDb21wb25lbnRUcmFuc2ZlckVsZW1l
bnQsIFNWR05hbWVzOjppbkF0dHIsIFN0cmluZywgSW4xLCBpbjEpCisgICAgLy8gQW5pbWF0ZWQg
cHJvcGVydHkgZGVjbGFyYXRpb25zCisgICAgREVDTEFSRV9BTklNQVRFRF9TVFJJTkcoSW4xLCBp
bjEpCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdG
RUNvbXBvc2l0ZUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ZFQ29t
cG9zaXRlRWxlbWVudC5jcHAJKHJldmlzaW9uIDczMDI0KQorKysgV2ViQ29yZS9zdmcvU1ZHRkVD
b21wb3NpdGVFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjksNiArMjksOSBAQAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiAvLyBBbmltYXRlZCBwcm9wZXJ0eSBkZWZpbml0aW9ucworREVG
SU5FX0FOSU1BVEVEX1NUUklORyhTVkdGRUNvbXBvc2l0ZUVsZW1lbnQsIFNWR05hbWVzOjppbkF0
dHIsIEluMSwgaW4xKQorREVGSU5FX0FOSU1BVEVEX1NUUklORyhTVkdGRUNvbXBvc2l0ZUVsZW1l
bnQsIFNWR05hbWVzOjppbjJBdHRyLCBJbjIsIGluMikKK0RFRklORV9BTklNQVRFRF9FTlVNRVJB
VElPTihTVkdGRUNvbXBvc2l0ZUVsZW1lbnQsIFNWR05hbWVzOjpvcGVyYXRvckF0dHIsIF9vcGVy
YXRvciwgX29wZXJhdG9yKQogREVGSU5FX0FOSU1BVEVEX05VTUJFUihTVkdGRUNvbXBvc2l0ZUVs
ZW1lbnQsIFNWR05hbWVzOjprMUF0dHIsIEsxLCBrMSkKIERFRklORV9BTklNQVRFRF9OVU1CRVIo
U1ZHRkVDb21wb3NpdGVFbGVtZW50LCBTVkdOYW1lczo6azJBdHRyLCBLMiwgazIpCiBERUZJTkVf
QU5JTUFURURfTlVNQkVSKFNWR0ZFQ29tcG9zaXRlRWxlbWVudCwgU1ZHTmFtZXM6OmszQXR0ciwg
SzMsIGszKQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRkVDb21wb3NpdGVFbGVtZW50LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRkVDb21wb3NpdGVFbGVtZW50LmgJKHJldmlzaW9uIDcz
MDI0KQorKysgV2ViQ29yZS9zdmcvU1ZHRkVDb21wb3NpdGVFbGVtZW50LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTIzLDYgKzIzLDcgQEAKIAogI2lmIEVOQUJMRShTVkcpICYmIEVOQUJMRShGSUxURVJT
KQogI2luY2x1ZGUgIkZFQ29tcG9zaXRlLmgiCisjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRFbnVtZXJh
dGlvbi5oIgogI2luY2x1ZGUgIlNWR0FuaW1hdGVkTnVtYmVyLmgiCiAjaW5jbHVkZSAiU1ZHRmls
dGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLmgiCiAKQEAgLTQxLDkgKzQyLDkgQEAgcHJp
dmF0ZToKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8RmlsdGVyRWZmZWN0PiBidWlsZChTVkdGaWx0
ZXJCdWlsZGVyKiwgRmlsdGVyKik7CiAKICAgICAvLyBBbmltYXRlZCBwcm9wZXJ0eSBkZWNsYXJh
dGlvbnMKLSAgICBERUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9ORVcoU1ZHRkVDb21w
b3NpdGVFbGVtZW50LCBTVkdOYW1lczo6aW5BdHRyLCBTdHJpbmcsIEluMSwgaW4xKQotICAgIERF
Q0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdGRUNvbXBvc2l0ZUVsZW1lbnQs
IFNWR05hbWVzOjppbjJBdHRyLCBTdHJpbmcsIEluMiwgaW4yKQotICAgIERFQ0xBUkVfQU5JTUFU
RURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdGRUNvbXBvc2l0ZUVsZW1lbnQsIFNWR05hbWVzOjpv
cGVyYXRvckF0dHIsIGludCwgX29wZXJhdG9yLCBfb3BlcmF0b3IpCisgICAgREVDTEFSRV9BTklN
QVRFRF9TVFJJTkcoSW4xLCBpbjEpCisgICAgREVDTEFSRV9BTklNQVRFRF9TVFJJTkcoSW4yLCBp
bjIpCisgICAgREVDTEFSRV9BTklNQVRFRF9FTlVNRVJBVElPTihfb3BlcmF0b3IsIF9vcGVyYXRv
cikKICAgICBERUNMQVJFX0FOSU1BVEVEX05VTUJFUihLMSwgazEpCiAgICAgREVDTEFSRV9BTklN
QVRFRF9OVU1CRVIoSzIsIGsyKQogICAgIERFQ0xBUkVfQU5JTUFURURfTlVNQkVSKEszLCBrMykK
SW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZFQ29udm9sdmVNYXRyaXhFbGVtZW50LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVudC5jcHAJKHJldmlz
aW9uIDczMDI0KQorKysgV2ViQ29yZS9zdmcvU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zMiw5ICszMiwxMSBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiAvLyBBbmltYXRlZCBwcm9wZXJ0eSBkZWZpbml0aW9ucworREVGSU5FX0FOSU1BVEVEX1NUUklO
RyhTVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVudCwgU1ZHTmFtZXM6OmluQXR0ciwgSW4xLCBpbjEp
CiBERUZJTkVfQU5JTUFURURfTlVNQkVSX0xJU1QoU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQs
IFNWR05hbWVzOjprZXJuZWxNYXRyaXhBdHRyLCBLZXJuZWxNYXRyaXgsIGtlcm5lbE1hdHJpeCkK
IERFRklORV9BTklNQVRFRF9OVU1CRVIoU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQsIFNWR05h
bWVzOjpkaXZpc29yQXR0ciwgRGl2aXNvciwgZGl2aXNvcikKIERFRklORV9BTklNQVRFRF9OVU1C
RVIoU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQsIFNWR05hbWVzOjpiaWFzQXR0ciwgQmlhcywg
YmlhcykKK0RFRklORV9BTklNQVRFRF9FTlVNRVJBVElPTihTVkdGRUNvbnZvbHZlTWF0cml4RWxl
bWVudCwgU1ZHTmFtZXM6Om9wZXJhdG9yQXR0ciwgRWRnZU1vZGUsIGVkZ2VNb2RlKQogREVGSU5F
X0FOSU1BVEVEX05VTUJFUl9NVUxUSVBMRV9XUkFQUEVSUyhTVkdGRUNvbnZvbHZlTWF0cml4RWxl
bWVudCwgU1ZHTmFtZXM6Omtlcm5lbFVuaXRMZW5ndGhBdHRyLCBrZXJuZWxVbml0TGVuZ3RoWElk
ZW50aWZpZXIoKSwgS2VybmVsVW5pdExlbmd0aFgsIGtlcm5lbFVuaXRMZW5ndGhYKQogREVGSU5F
X0FOSU1BVEVEX05VTUJFUl9NVUxUSVBMRV9XUkFQUEVSUyhTVkdGRUNvbnZvbHZlTWF0cml4RWxl
bWVudCwgU1ZHTmFtZXM6Omtlcm5lbFVuaXRMZW5ndGhBdHRyLCBrZXJuZWxVbml0TGVuZ3RoWUlk
ZW50aWZpZXIoKSwgS2VybmVsVW5pdExlbmd0aFksIGtlcm5lbFVuaXRMZW5ndGhZKQogCkluZGV4
OiBXZWJDb3JlL3N2Zy9TVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVudC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvc3ZnL1NWR0ZFQ29udm9sdmVNYXRyaXhFbGVtZW50LmgJKHJldmlzaW9uIDczMDI0
KQorKysgV2ViQ29yZS9zdmcvU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQuaAkod29ya2luZyBj
b3B5KQpAQCAtMjIsNiArMjIsNyBAQAogCiAjaWYgRU5BQkxFKFNWRykgJiYgRU5BQkxFKEZJTFRF
UlMpCiAjaW5jbHVkZSAiRkVDb252b2x2ZU1hdHJpeC5oIgorI2luY2x1ZGUgIlNWR0FuaW1hdGVk
RW51bWVyYXRpb24uaCIKICNpbmNsdWRlICJTVkdBbmltYXRlZE51bWJlci5oIgogI2luY2x1ZGUg
IlNWR0FuaW1hdGVkTnVtYmVyTGlzdC5oIgogI2luY2x1ZGUgIlNWR0ZpbHRlclByaW1pdGl2ZVN0
YW5kYXJkQXR0cmlidXRlcy5oIgpAQCAtNDgsNyArNDksNyBAQCBwcml2YXRlOgogICAgIHN0YXRp
YyBjb25zdCBBdG9taWNTdHJpbmcmIGtlcm5lbFVuaXRMZW5ndGhZSWRlbnRpZmllcigpOwogCiAg
ICAgLy8gQW5pbWF0ZWQgcHJvcGVydHkgZGVjbGFyYXRpb25zCi0gICAgREVDTEFSRV9BTklNQVRF
RF9TVEFUSUNfUFJPUEVSVFlfTkVXKFNWR0ZFQ29udm9sdmVNYXRyaXhFbGVtZW50LCBTVkdOYW1l
czo6aW5BdHRyLCBTdHJpbmcsIEluMSwgaW4xKQorICAgIERFQ0xBUkVfQU5JTUFURURfU1RSSU5H
KEluMSwgaW4xKQogICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX01VTFRJUExF
X1dSQVBQRVJTX05FVyhTVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVudCwgU1ZHTmFtZXM6Om9yZGVy
QXR0ciwgb3JkZXJYSWRlbnRpZmllcigpLCBsb25nLCBPcmRlclgsIG9yZGVyWCkKICAgICBERUNM
QVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9NVUxUSVBMRV9XUkFQUEVSU19ORVcoU1ZHRkVD
b252b2x2ZU1hdHJpeEVsZW1lbnQsIFNWR05hbWVzOjpvcmRlckF0dHIsIG9yZGVyWUlkZW50aWZp
ZXIoKSwgbG9uZywgT3JkZXJZLCBvcmRlclkpCiAgICAgREVDTEFSRV9BTklNQVRFRF9OVU1CRVJf
TElTVChLZXJuZWxNYXRyaXgsIGtlcm5lbE1hdHJpeCkKQEAgLTU2LDcgKzU3LDcgQEAgcHJpdmF0
ZToKICAgICBERUNMQVJFX0FOSU1BVEVEX05VTUJFUihCaWFzLCBiaWFzKQogICAgIERFQ0xBUkVf
QU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVudCwg
U1ZHTmFtZXM6OnRhcmdldFhBdHRyLCBsb25nLCBUYXJnZXRYLCB0YXJnZXRYKQogICAgIERFQ0xB
UkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVu
dCwgU1ZHTmFtZXM6OnRhcmdldFlBdHRyLCBsb25nLCBUYXJnZXRZLCB0YXJnZXRZKQotICAgIERF
Q0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdGRUNvbnZvbHZlTWF0cml4RWxl
bWVudCwgU1ZHTmFtZXM6Om9wZXJhdG9yQXR0ciwgaW50LCBFZGdlTW9kZSwgZWRnZU1vZGUpCisg
ICAgREVDTEFSRV9BTklNQVRFRF9FTlVNRVJBVElPTihFZGdlTW9kZSwgZWRnZU1vZGUpCiAgICAg
REVDTEFSRV9BTklNQVRFRF9OVU1CRVIoS2VybmVsVW5pdExlbmd0aFgsIGtlcm5lbFVuaXRMZW5n
dGhYKQogICAgIERFQ0xBUkVfQU5JTUFURURfTlVNQkVSKEtlcm5lbFVuaXRMZW5ndGhZLCBrZXJu
ZWxVbml0TGVuZ3RoWSkKICAgICBERUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9ORVco
U1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQsIFNWR05hbWVzOjpwcmVzZXJ2ZUFscGhhQXR0ciwg
Ym9vbCwgUHJlc2VydmVBbHBoYSwgcHJlc2VydmVBbHBoYSkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NW
R0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcv
U1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50LmNwcAkocmV2aXNpb24gNzMwMjQpCisrKyBXZWJD
b3JlL3N2Zy9TVkdGRURpZmZ1c2VMaWdodGluZ0VsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0yNCwxNSArMjQsMTYgQEAKIAogI2luY2x1ZGUgIkF0dHIuaCIKICNpbmNsdWRlICJGRURpZmZ1
c2VMaWdodGluZy5oIgorI2luY2x1ZGUgIlJlbmRlclN0eWxlLmgiCiAjaW5jbHVkZSAiU1ZHQ29s
b3IuaCIKICNpbmNsdWRlICJTVkdGRUxpZ2h0RWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR05hbWVz
LmgiCiAjaW5jbHVkZSAiU1ZHUGFyc2VyVXRpbGl0aWVzLmgiCi0jaW5jbHVkZSAiU1ZHUmVuZGVy
U3R5bGUuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBBbmltYXRlZCBwcm9wZXJ0eSBk
ZWZpbml0aW9ucworREVGSU5FX0FOSU1BVEVEX1NUUklORyhTVkdGRURpZmZ1c2VMaWdodGluZ0Vs
ZW1lbnQsIFNWR05hbWVzOjppbkF0dHIsIEluMSwgaW4xKQogREVGSU5FX0FOSU1BVEVEX05VTUJF
UihTVkdGRURpZmZ1c2VMaWdodGluZ0VsZW1lbnQsIFNWR05hbWVzOjpkaWZmdXNlQ29uc3RhbnRB
dHRyLCBEaWZmdXNlQ29uc3RhbnQsIGRpZmZ1c2VDb25zdGFudCkKIERFRklORV9BTklNQVRFRF9O
VU1CRVIoU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50LCBTVkdOYW1lczo6c3VyZmFjZVNjYWxl
QXR0ciwgU3VyZmFjZVNjYWxlLCBzdXJmYWNlU2NhbGUpCiBERUZJTkVfQU5JTUFURURfTlVNQkVS
X01VTFRJUExFX1dSQVBQRVJTKFNWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudCwgU1ZHTmFtZXM6
Omtlcm5lbFVuaXRMZW5ndGhBdHRyLCBrZXJuZWxVbml0TGVuZ3RoWElkZW50aWZpZXIoKSwgS2Vy
bmVsVW5pdExlbmd0aFgsIGtlcm5lbFVuaXRMZW5ndGhYKQpJbmRleDogV2ViQ29yZS9zdmcvU1ZH
RkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZH
RkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50LmgJKHJldmlzaW9uIDczMDI0KQorKysgV2ViQ29yZS9z
dmcvU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ3LDcg
KzQ3LDcgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgY29uc3QgQXRvbWljU3RyaW5nJiBrZXJuZWxV
bml0TGVuZ3RoWUlkZW50aWZpZXIoKTsKIAogICAgIC8vIEFuaW1hdGVkIHByb3BlcnR5IGRlY2xh
cmF0aW9ucwotICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdGRURp
ZmZ1c2VMaWdodGluZ0VsZW1lbnQsIFNWR05hbWVzOjppbkF0dHIsIFN0cmluZywgSW4xLCBpbjEp
CisgICAgREVDTEFSRV9BTklNQVRFRF9TVFJJTkcoSW4xLCBpbjEpCiAgICAgREVDTEFSRV9BTklN
QVRFRF9OVU1CRVIoRGlmZnVzZUNvbnN0YW50LCBkaWZmdXNlQ29uc3RhbnQpCiAgICAgREVDTEFS
RV9BTklNQVRFRF9OVU1CRVIoU3VyZmFjZVNjYWxlLCBzdXJmYWNlU2NhbGUpCiAgICAgREVDTEFS
RV9BTklNQVRFRF9OVU1CRVIoS2VybmVsVW5pdExlbmd0aFgsIGtlcm5lbFVuaXRMZW5ndGhYKQpJ
bmRleDogV2ViQ29yZS9zdmcvU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQuY3BwCShyZXZp
c2lvbiA3MzAyNCkKKysrIFdlYkNvcmUvc3ZnL1NWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTI3LDYgKzI3LDEwIEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIC8vIEFuaW1hdGVkIHByb3BlcnR5IGRlZmluaXRpb25zCitERUZJTkVfQU5JTUFURURfU1RS
SU5HKFNWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudCwgU1ZHTmFtZXM6OmluQXR0ciwgSW4xLCBp
bjEpCitERUZJTkVfQU5JTUFURURfU1RSSU5HKFNWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudCwg
U1ZHTmFtZXM6OmluMkF0dHIsIEluMiwgaW4yKQorREVGSU5FX0FOSU1BVEVEX0VOVU1FUkFUSU9O
KFNWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudCwgU1ZHTmFtZXM6OnhDaGFubmVsU2VsZWN0b3JB
dHRyLCBYQ2hhbm5lbFNlbGVjdG9yLCB4Q2hhbm5lbFNlbGVjdG9yKQorREVGSU5FX0FOSU1BVEVE
X0VOVU1FUkFUSU9OKFNWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudCwgU1ZHTmFtZXM6OnlDaGFu
bmVsU2VsZWN0b3JBdHRyLCBZQ2hhbm5lbFNlbGVjdG9yLCB5Q2hhbm5lbFNlbGVjdG9yKSAgICAK
IERFRklORV9BTklNQVRFRF9OVU1CRVIoU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50LCBTVkdO
YW1lczo6c2NhbGVBdHRyLCBTY2FsZSwgc2NhbGUpCiAKIGlubGluZSBTVkdGRURpc3BsYWNlbWVu
dE1hcEVsZW1lbnQ6OlNWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudChjb25zdCBRdWFsaWZpZWRO
YW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdG
RURpc3BsYWNlbWVudE1hcEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdG
RURpc3BsYWNlbWVudE1hcEVsZW1lbnQuaAkocmV2aXNpb24gNzMwMjQpCisrKyBXZWJDb3JlL3N2
Zy9TVkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMjIsNiAr
MjIsNyBAQAogCiAjaWYgRU5BQkxFKFNWRykgJiYgRU5BQkxFKEZJTFRFUlMpCiAjaW5jbHVkZSAi
RkVEaXNwbGFjZW1lbnRNYXAuaCIKKyNpbmNsdWRlICJTVkdBbmltYXRlZEVudW1lcmF0aW9uLmgi
CiAjaW5jbHVkZSAiU1ZHQW5pbWF0ZWROdW1iZXIuaCIKICNpbmNsdWRlICJTVkdGaWx0ZXJQcmlt
aXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMuaCIKIApAQCAtNDIsMTAgKzQzLDEwIEBAIHByaXZhdGU6
CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPEZpbHRlckVmZmVjdD4gYnVpbGQoU1ZHRmlsdGVyQnVp
bGRlciosIEZpbHRlciopOwogCiAgICAgLy8gQW5pbWF0ZWQgcHJvcGVydHkgZGVjbGFyYXRpb25z
Ci0gICAgREVDTEFSRV9BTklNQVRFRF9TVEFUSUNfUFJPUEVSVFlfTkVXKFNWR0ZFRGlzcGxhY2Vt
ZW50TWFwRWxlbWVudCwgU1ZHTmFtZXM6OmluQXR0ciwgU3RyaW5nLCBJbjEsIGluMSkKLSAgICBE
RUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9ORVcoU1ZHRkVEaXNwbGFjZW1lbnRNYXBF
bGVtZW50LCBTVkdOYW1lczo6aW4yQXR0ciwgU3RyaW5nLCBJbjIsIGluMikKLSAgICBERUNMQVJF
X0FOSU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9ORVcoU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50
LCBTVkdOYW1lczo6eENoYW5uZWxTZWxlY3RvckF0dHIsIGludCwgWENoYW5uZWxTZWxlY3Rvciwg
eENoYW5uZWxTZWxlY3RvcikKLSAgICBERUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9O
RVcoU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50LCBTVkdOYW1lczo6eUNoYW5uZWxTZWxlY3Rv
ckF0dHIsIGludCwgWUNoYW5uZWxTZWxlY3RvciwgeUNoYW5uZWxTZWxlY3RvcikKKyAgICBERUNM
QVJFX0FOSU1BVEVEX1NUUklORyhJbjEsIGluMSkKKyAgICBERUNMQVJFX0FOSU1BVEVEX1NUUklO
RyhJbjIsIGluMikKKyAgICBERUNMQVJFX0FOSU1BVEVEX0VOVU1FUkFUSU9OKFhDaGFubmVsU2Vs
ZWN0b3IsIHhDaGFubmVsU2VsZWN0b3IpCisgICAgREVDTEFSRV9BTklNQVRFRF9FTlVNRVJBVElP
TihZQ2hhbm5lbFNlbGVjdG9yLCB5Q2hhbm5lbFNlbGVjdG9yKQogICAgIERFQ0xBUkVfQU5JTUFU
RURfTlVNQkVSKFNjYWxlLCBzY2FsZSkKIH07CiAKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZFR2F1
c3NpYW5CbHVyRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRkVHYXVz
c2lhbkJsdXJFbGVtZW50LmNwcAkocmV2aXNpb24gNzMwMjQpCisrKyBXZWJDb3JlL3N2Zy9TVkdG
RUdhdXNzaWFuQmx1ckVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw2ICszMCw3IEBA
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIEFuaW1hdGVkIHByb3BlcnR5IGRlZmluaXRpb25z
CitERUZJTkVfQU5JTUFURURfU1RSSU5HKFNWR0ZFR2F1c3NpYW5CbHVyRWxlbWVudCwgU1ZHTmFt
ZXM6OmluQXR0ciwgSW4xLCBpbjEpCiBERUZJTkVfQU5JTUFURURfTlVNQkVSX01VTFRJUExFX1dS
QVBQRVJTKFNWR0ZFR2F1c3NpYW5CbHVyRWxlbWVudCwgU1ZHTmFtZXM6OnN0ZERldmlhdGlvbkF0
dHIsIHN0ZERldmlhdGlvblhJZGVudGlmaWVyKCksIFN0ZERldmlhdGlvblgsIHN0ZERldmlhdGlv
blgpCiBERUZJTkVfQU5JTUFURURfTlVNQkVSX01VTFRJUExFX1dSQVBQRVJTKFNWR0ZFR2F1c3Np
YW5CbHVyRWxlbWVudCwgU1ZHTmFtZXM6OnN0ZERldmlhdGlvbkF0dHIsIHN0ZERldmlhdGlvbllJ
ZGVudGlmaWVyKCksIFN0ZERldmlhdGlvblksIHN0ZERldmlhdGlvblkpCiAKSW5kZXg6IFdlYkNv
cmUvc3ZnL1NWR0ZFR2F1c3NpYW5CbHVyRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
c3ZnL1NWR0ZFR2F1c3NpYW5CbHVyRWxlbWVudC5oCShyZXZpc2lvbiA3MzAyNCkKKysrIFdlYkNv
cmUvc3ZnL1NWR0ZFR2F1c3NpYW5CbHVyRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC00Niw3
ICs0Niw3IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIGNvbnN0IEF0b21pY1N0cmluZyYgc3RkRGV2
aWF0aW9uWUlkZW50aWZpZXIoKTsKIAogICAgIC8vIEFuaW1hdGVkIHByb3BlcnR5IGRlY2xhcmF0
aW9ucwotICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdGRUdhdXNz
aWFuQmx1ckVsZW1lbnQsIFNWR05hbWVzOjppbkF0dHIsIFN0cmluZywgSW4xLCBpbjEpCisgICAg
REVDTEFSRV9BTklNQVRFRF9TVFJJTkcoSW4xLCBpbjEpCiAgICAgREVDTEFSRV9BTklNQVRFRF9O
VU1CRVIoU3RkRGV2aWF0aW9uWCwgc3RkRGV2aWF0aW9uWCkKICAgICBERUNMQVJFX0FOSU1BVEVE
X05VTUJFUihTdGREZXZpYXRpb25ZLCBzdGREZXZpYXRpb25ZKQogfTsKSW5kZXg6IFdlYkNvcmUv
c3ZnL1NWR0ZFSW1hZ2VFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdG
RUltYWdlRWxlbWVudC5jcHAJKHJldmlzaW9uIDczMDEwKQorKysgV2ViQ29yZS9zdmcvU1ZHRkVJ
bWFnZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMiwxMiArMzIsMTQgQEAKICNpbmNs
dWRlICJSZW5kZXJPYmplY3QuaCIKICNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZS5oIgogI2lu
Y2x1ZGUgIlNWR0ltYWdlQnVmZmVyVG9vbHMuaCIKLSNpbmNsdWRlICJTVkdMZW5ndGguaCIKICNp
bmNsdWRlICJTVkdOYW1lcy5oIgogI2luY2x1ZGUgIlNWR1ByZXNlcnZlQXNwZWN0UmF0aW8uaCIK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCisvLyBBbmltYXRlZCBwcm9wZXJ0eSBkZWZpbml0aW9u
cworREVGSU5FX0FOSU1BVEVEX1NUUklORyhTVkdGRUltYWdlRWxlbWVudCwgWExpbmtOYW1lczo6
aHJlZkF0dHIsIEhyZWYsIGhyZWYpCisKIGlubGluZSBTVkdGRUltYWdlRWxlbWVudDo6U1ZHRkVJ
bWFnZUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3Vt
ZW50KQogICAgIDogU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzKHRhZ05hbWUs
IGRvY3VtZW50KQogewpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRkVJbWFnZUVsZW1lbnQuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGRUltYWdlRWxlbWVudC5oCShyZXZpc2lvbiA3MzAx
MCkKKysrIFdlYkNvcmUvc3ZnL1NWR0ZFSW1hZ2VFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAg
LTU3LDEwICs1NywxMSBAQCBwcml2YXRlOgogCiAgICAgdm9pZCByZXF1ZXN0SW1hZ2VSZXNvdXJj
ZSgpOwogCisgICAgLy8gQW5pbWF0ZWQgcHJvcGVydHkgZGVjbGFyYXRpb25zCiAgICAgREVDTEFS
RV9BTklNQVRFRF9QUk9QRVJUWV9ORVcoU1ZHRkVJbWFnZUVsZW1lbnQsIFNWR05hbWVzOjpwcmVz
ZXJ2ZUFzcGVjdFJhdGlvQXR0ciwgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbywgUHJlc2VydmVBc3Bl
Y3RSYXRpbywgcHJlc2VydmVBc3BlY3RSYXRpbykKIAogICAgIC8vIFNWR1VSSVJlZmVyZW5jZQot
ICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdGRUltYWdlRWxlbWVu
dCwgWExpbmtOYW1lczo6aHJlZkF0dHIsIFN0cmluZywgSHJlZiwgaHJlZikKKyAgICBERUNMQVJF
X0FOSU1BVEVEX1NUUklORyhIcmVmLCBocmVmKQogCiAgICAgLy8gU1ZHRXh0ZXJuYWxSZXNvdXJj
ZXNSZXF1aXJlZAogICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdG
RUltYWdlRWxlbWVudCwgU1ZHTmFtZXM6OmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWRBdHRyLCBi
b29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
KQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRkVMaWdodEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvc3ZnL1NWR0ZFTGlnaHRFbGVtZW50LmNwcAkocmV2aXNpb24gNzMwMjQpCisrKyBX
ZWJDb3JlL3N2Zy9TVkdGRUxpZ2h0RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI1LDYg
KzI1LDcgQEAKICNpbmNsdWRlICJTVkdGRUxpZ2h0RWxlbWVudC5oIgogCiAjaW5jbHVkZSAiQXR0
cmlidXRlLmgiCisjaW5jbHVkZSAiUmVuZGVyT2JqZWN0LmgiCiAjaW5jbHVkZSAiUmVuZGVyU1ZH
UmVzb3VyY2UuaCIKICNpbmNsdWRlICJTVkdGaWx0ZXJFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZH
TmFtZXMuaCIKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZFTWVyZ2VOb2RlRWxlbWVudC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRkVNZXJnZU5vZGVFbGVtZW50LmNwcAkocmV2aXNp
b24gNzMwMTApCisrKyBXZWJDb3JlL3N2Zy9TVkdGRU1lcmdlTm9kZUVsZW1lbnQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNCwxMSArMjQsMTUgQEAKICNpbmNsdWRlICJTVkdGRU1lcmdlTm9kZUVs
ZW1lbnQuaCIKIAogI2luY2x1ZGUgIkF0dHJpYnV0ZS5oIgorI2luY2x1ZGUgIlJlbmRlck9iamVj
dC5oIgogI2luY2x1ZGUgIlJlbmRlclNWR1Jlc291cmNlLmgiCiAjaW5jbHVkZSAiU1ZHRmlsdGVy
RWxlbWVudC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKKy8vIEFuaW1hdGVkIHByb3BlcnR5
IGRlZmluaXRpb25zCitERUZJTkVfQU5JTUFURURfU1RSSU5HKFNWR0ZFTWVyZ2VOb2RlRWxlbWVu
dCwgU1ZHTmFtZXM6OmluQXR0ciwgSW4xLCBpbjEpCisKIGlubGluZSBTVkdGRU1lcmdlTm9kZUVs
ZW1lbnQ6OlNWR0ZFTWVyZ2VOb2RlRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1l
LCBEb2N1bWVudCogZG9jdW1lbnQpCiAgICAgOiBTVkdFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50
KQogewpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRkVNZXJnZU5vZGVFbGVtZW50LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9zdmcvU1ZHRkVNZXJnZU5vZGVFbGVtZW50LmgJKHJldmlzaW9uIDczMDEw
KQorKysgV2ViQ29yZS9zdmcvU1ZHRkVNZXJnZU5vZGVFbGVtZW50LmgJKHdvcmtpbmcgY29weSkK
QEAgLTIyLDI0ICsyMiwyNSBAQAogI2RlZmluZSBTVkdGRU1lcmdlTm9kZUVsZW1lbnRfaAogCiAj
aWYgRU5BQkxFKFNWRykgJiYgRU5BQkxFKEZJTFRFUlMpCi0jaW5jbHVkZSAiU1ZHQW5pbWF0ZWRQ
cm9wZXJ0eU1hY3Jvcy5oIgorI2luY2x1ZGUgIlNWR0FuaW1hdGVkU3RyaW5nLmgiCiAjaW5jbHVk
ZSAiU1ZHRWxlbWVudC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSAgICBjbGFzcyBTVkdG
RU1lcmdlTm9kZUVsZW1lbnQgOiBwdWJsaWMgU1ZHRWxlbWVudCB7Ci0gICAgcHVibGljOgotICAg
ICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTVkdGRU1lcmdlTm9kZUVsZW1lbnQ+IGNyZWF0ZShjb25z
dCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKLQotICAgIHByaXZhdGU6Ci0gICAgICAgIFNW
R0ZFTWVyZ2VOb2RlRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKLQot
ICAgICAgICB2aXJ0dWFsIHZvaWQgcGFyc2VNYXBwZWRBdHRyaWJ1dGUoQXR0cmlidXRlKik7Ci0g
ICAgICAgIHZpcnR1YWwgdm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5h
bWUmKTsKLSAgICAgICAgdmlydHVhbCB2b2lkIHN5bmNocm9uaXplUHJvcGVydHkoY29uc3QgUXVh
bGlmaWVkTmFtZSYpOwotCi0gICAgICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZ
X05FVyhTVkdGRU1lcmdlTm9kZUVsZW1lbnQsIFNWR05hbWVzOjppbkF0dHIsIFN0cmluZywgSW4x
LCBpbjEpCi0gICAgfTsKK2NsYXNzIFNWR0ZFTWVyZ2VOb2RlRWxlbWVudCA6IHB1YmxpYyBTVkdF
bGVtZW50IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxTVkdGRU1lcmdlTm9kZUVs
ZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKKworcHJpdmF0
ZToKKyAgICBTVkdGRU1lcmdlTm9kZUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3Vt
ZW50Kik7CisKKyAgICB2aXJ0dWFsIHZvaWQgcGFyc2VNYXBwZWRBdHRyaWJ1dGUoQXR0cmlidXRl
Kik7CisgICAgdmlydHVhbCB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVk
TmFtZSYpOworICAgIHZpcnR1YWwgdm9pZCBzeW5jaHJvbml6ZVByb3BlcnR5KGNvbnN0IFF1YWxp
ZmllZE5hbWUmKTsKKworICAgIC8vIEFuaW1hdGVkIHByb3BlcnR5IGRlY2xhcmF0aW9ucworICAg
IERFQ0xBUkVfQU5JTUFURURfU1RSSU5HKEluMSwgaW4xKQorfTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQogCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdGRU1vcnBob2xvZ3lFbGVtZW50LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGRU1vcnBob2xvZ3lFbGVtZW50LmNwcAkocmV2
aXNpb24gNzMwMjQpCisrKyBXZWJDb3JlL3N2Zy9TVkdGRU1vcnBob2xvZ3lFbGVtZW50LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMjksNiArMjksOCBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAv
LyBBbmltYXRlZCBwcm9wZXJ0eSBkZWZpbml0aW9ucworREVGSU5FX0FOSU1BVEVEX1NUUklORyhT
VkdGRU1vcnBob2xvZ3lFbGVtZW50LCBTVkdOYW1lczo6aW5BdHRyLCBJbjEsIGluMSkKK0RFRklO
RV9BTklNQVRFRF9FTlVNRVJBVElPTihTVkdGRU1vcnBob2xvZ3lFbGVtZW50LCBTVkdOYW1lczo6
b3BlcmF0b3JBdHRyLCBfb3BlcmF0b3IsIF9vcGVyYXRvcikKIERFRklORV9BTklNQVRFRF9OVU1C
RVJfTVVMVElQTEVfV1JBUFBFUlMoU1ZHRkVNb3JwaG9sb2d5RWxlbWVudCwgU1ZHTmFtZXM6OnJh
ZGl1c0F0dHIsIHJhZGl1c1hJZGVudGlmaWVyKCksIFJhZGl1c1gsIHJhZGl1c1gpCiBERUZJTkVf
QU5JTUFURURfTlVNQkVSX01VTFRJUExFX1dSQVBQRVJTKFNWR0ZFTW9ycGhvbG9neUVsZW1lbnQs
IFNWR05hbWVzOjpyYWRpdXNBdHRyLCByYWRpdXNZSWRlbnRpZmllcigpLCBSYWRpdXNZLCByYWRp
dXNZKQogCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdGRU1vcnBob2xvZ3lFbGVtZW50LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRkVNb3JwaG9sb2d5RWxlbWVudC5oCShyZXZpc2lvbiA3
MzAyNCkKKysrIFdlYkNvcmUvc3ZnL1NWR0ZFTW9ycGhvbG9neUVsZW1lbnQuaAkod29ya2luZyBj
b3B5KQpAQCAtMjIsNiArMjIsNyBAQAogCiAjaWYgRU5BQkxFKFNWRykgJiYgRU5BQkxFKEZJTFRF
UlMpCiAjaW5jbHVkZSAiRkVNb3JwaG9sb2d5LmgiCisjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRFbnVt
ZXJhdGlvbi5oIgogI2luY2x1ZGUgIlNWR0FuaW1hdGVkTnVtYmVyLmgiCiAjaW5jbHVkZSAiU1ZH
RmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLmgiCiAKQEAgLTQ1LDggKzQ2LDggQEAg
cHJpdmF0ZToKICAgICBzdGF0aWMgY29uc3QgQXRvbWljU3RyaW5nJiByYWRpdXNZSWRlbnRpZmll
cigpOwogCiAgICAgLy8gQW5pbWF0ZWQgcHJvcGVydHkgZGVjbGFyYXRpb25zCi0gICAgREVDTEFS
RV9BTklNQVRFRF9TVEFUSUNfUFJPUEVSVFlfTkVXKFNWR0ZFTW9ycGhvbG9neUVsZW1lbnQsIFNW
R05hbWVzOjppbkF0dHIsIFN0cmluZywgSW4xLCBpbjEpCi0gICAgREVDTEFSRV9BTklNQVRFRF9T
VEFUSUNfUFJPUEVSVFlfTkVXKFNWR0ZFTW9ycGhvbG9neUVsZW1lbnQsIFNWR05hbWVzOjpvcGVy
YXRvckF0dHIsIGludCwgX29wZXJhdG9yLCBfb3BlcmF0b3IpCisgICAgREVDTEFSRV9BTklNQVRF
RF9TVFJJTkcoSW4xLCBpbjEpCisgICAgREVDTEFSRV9BTklNQVRFRF9FTlVNRVJBVElPTihfb3Bl
cmF0b3IsIF9vcGVyYXRvcikKICAgICBERUNMQVJFX0FOSU1BVEVEX05VTUJFUihSYWRpdXNYLCBy
YWRpdXNYKQogICAgIERFQ0xBUkVfQU5JTUFURURfTlVNQkVSKFJhZGl1c1ksIHJhZGl1c1kpCiB9
OwpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRkVPZmZzZXRFbGVtZW50LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3N2Zy9TVkdGRU9mZnNldEVsZW1lbnQuY3BwCShyZXZpc2lvbiA3MzAyNCkKKysr
IFdlYkNvcmUvc3ZnL1NWR0ZFT2Zmc2V0RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI4
LDYgKzI4LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gQW5pbWF0ZWQgcHJvcGVydHkg
ZGVmaW5pdGlvbnMKK0RFRklORV9BTklNQVRFRF9TVFJJTkcoU1ZHRkVPZmZzZXRFbGVtZW50LCBT
VkdOYW1lczo6aW5BdHRyLCBJbjEsIGluMSkKIERFRklORV9BTklNQVRFRF9OVU1CRVIoU1ZHRkVP
ZmZzZXRFbGVtZW50LCBTVkdOYW1lczo6ZHhBdHRyLCBEeCwgZHgpCiBERUZJTkVfQU5JTUFURURf
TlVNQkVSKFNWR0ZFT2Zmc2V0RWxlbWVudCwgU1ZHTmFtZXM6OmR5QXR0ciwgRHksIGR5KQogCklu
ZGV4OiBXZWJDb3JlL3N2Zy9TVkdGRU9mZnNldEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3N2Zy9TVkdGRU9mZnNldEVsZW1lbnQuaAkocmV2aXNpb24gNzMwMjQpCisrKyBXZWJDb3Jl
L3N2Zy9TVkdGRU9mZnNldEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNDEsNyArNDEsNyBA
QCBwcml2YXRlOgogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxGaWx0ZXJFZmZlY3Q+IGJ1aWxkKFNW
R0ZpbHRlckJ1aWxkZXIqLCBGaWx0ZXIqKTsKIAogICAgIC8vIEFuaW1hdGVkIHByb3BlcnR5IGRl
Y2xhcmF0aW9ucwotICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdG
RU9mZnNldEVsZW1lbnQsIFNWR05hbWVzOjppbkF0dHIsIFN0cmluZywgSW4xLCBpbjEpCisgICAg
REVDTEFSRV9BTklNQVRFRF9TVFJJTkcoSW4xLCBpbjEpCiAgICAgREVDTEFSRV9BTklNQVRFRF9O
VU1CRVIoRHgsIGR4KQogICAgIERFQ0xBUkVfQU5JTUFURURfTlVNQkVSKER5LCBkeSkKIH07Cklu
ZGV4OiBXZWJDb3JlL3N2Zy9TVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50LmNwcAkocmV2
aXNpb24gNzMwMjQpCisrKyBXZWJDb3JlL3N2Zy9TVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjUsNiArMjUsNyBAQAogI2luY2x1ZGUgIlNWR0ZFU3Bl
Y3VsYXJMaWdodGluZ0VsZW1lbnQuaCIKIAogI2luY2x1ZGUgIkF0dHJpYnV0ZS5oIgorI2luY2x1
ZGUgIlJlbmRlclN0eWxlLmgiCiAjaW5jbHVkZSAiU1ZHQ29sb3IuaCIKICNpbmNsdWRlICJTVkdG
RUxpZ2h0RWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR05hbWVzLmgiCkBAIC0zMyw2ICszNCw3IEBA
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIEFuaW1hdGVkIHByb3BlcnR5IGRlZmluaXRpb25z
CitERUZJTkVfQU5JTUFURURfU1RSSU5HKFNWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQsIFNW
R05hbWVzOjppbkF0dHIsIEluMSwgaW4xKQogREVGSU5FX0FOSU1BVEVEX05VTUJFUihTVkdGRVNw
ZWN1bGFyTGlnaHRpbmdFbGVtZW50LCBTVkdOYW1lczo6c3BlY3VsYXJDb25zdGFudEF0dHIsIFNw
ZWN1bGFyQ29uc3RhbnQsIHNwZWN1bGFyQ29uc3RhbnQpCiBERUZJTkVfQU5JTUFURURfTlVNQkVS
KFNWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQsIFNWR05hbWVzOjpzcGVjdWxhckV4cG9uZW50
QXR0ciwgU3BlY3VsYXJFeHBvbmVudCwgc3BlY3VsYXJFeHBvbmVudCkKIERFRklORV9BTklNQVRF
RF9OVU1CRVIoU1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudCwgU1ZHTmFtZXM6OnN1cmZhY2VT
Y2FsZUF0dHIsIFN1cmZhY2VTY2FsZSwgc3VyZmFjZVNjYWxlKQpJbmRleDogV2ViQ29yZS9zdmcv
U1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3Zn
L1NWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQuaAkocmV2aXNpb24gNzMwMjQpCisrKyBXZWJD
b3JlL3N2Zy9TVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAg
LTQ0LDcgKzQ0LDcgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgY29uc3QgQXRvbWljU3RyaW5nJiBr
ZXJuZWxVbml0TGVuZ3RoWUlkZW50aWZpZXIoKTsKIAogICAgIC8vIEFuaW1hdGVkIHByb3BlcnR5
IGRlY2xhcmF0aW9ucwotICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhT
VkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50LCBTVkdOYW1lczo6aW5BdHRyLCBTdHJpbmcsIElu
MSwgaW4xKQorICAgIERFQ0xBUkVfQU5JTUFURURfU1RSSU5HKEluMSwgaW4xKQogICAgIERFQ0xB
UkVfQU5JTUFURURfTlVNQkVSKFNwZWN1bGFyQ29uc3RhbnQsIHNwZWN1bGFyQ29uc3RhbnQpCiAg
ICAgREVDTEFSRV9BTklNQVRFRF9OVU1CRVIoU3BlY3VsYXJFeHBvbmVudCwgc3BlY3VsYXJFeHBv
bmVudCkKICAgICBERUNMQVJFX0FOSU1BVEVEX05VTUJFUihTdXJmYWNlU2NhbGUsIHN1cmZhY2VT
Y2FsZSkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZFVGlsZUVsZW1lbnQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvc3ZnL1NWR0ZFVGlsZUVsZW1lbnQuY3BwCShyZXZpc2lvbiA3MzAxMCkKKysr
IFdlYkNvcmUvc3ZnL1NWR0ZFVGlsZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2
ICsyOCw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorLy8gQW5pbWF0ZWQgcHJvcGVydHkg
ZGVmaW5pdGlvbnMKK0RFRklORV9BTklNQVRFRF9TVFJJTkcoU1ZHRkVUaWxlRWxlbWVudCwgU1ZH
TmFtZXM6OmluQXR0ciwgSW4xLCBpbjEpCisKIGlubGluZSBTVkdGRVRpbGVFbGVtZW50OjpTVkdG
RVRpbGVFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1
bWVudCkKICAgICA6IFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcyh0YWdOYW1l
LCBkb2N1bWVudCkKIHsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZFVGlsZUVsZW1lbnQuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGRVRpbGVFbGVtZW50LmgJKHJldmlzaW9uIDczMDEw
KQorKysgV2ViQ29yZS9zdmcvU1ZHRkVUaWxlRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0z
OSw3ICszOSw4IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHN5bmNocm9uaXplUHJvcGVy
dHkoY29uc3QgUXVhbGlmaWVkTmFtZSYpOwogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxGaWx0ZXJF
ZmZlY3Q+IGJ1aWxkKFNWR0ZpbHRlckJ1aWxkZXIqLCBGaWx0ZXIqKTsKIAotICAgIERFQ0xBUkVf
QU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdGRVRpbGVFbGVtZW50LCBTVkdOYW1lczo6
aW5BdHRyLCBTdHJpbmcsIEluMSwgaW4xKQorICAgIC8vIEFuaW1hdGVkIHByb3BlcnR5IGRlY2xh
cmF0aW9ucworICAgIERFQ0xBUkVfQU5JTUFURURfU1RSSU5HKEluMSwgaW4xKQogfTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRkVUdXJidWxlbmNlRWxl
bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRkVUdXJidWxlbmNlRWxlbWVu
dC5jcHAJKHJldmlzaW9uIDczMDI0KQorKysgV2ViQ29yZS9zdmcvU1ZHRkVUdXJidWxlbmNlRWxl
bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMyLDYgKzMyLDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogREVGSU5FX0FOSU1BVEVEX05VTUJFUl9NVUxUSVBMRV9XUkFQUEVSUyhTVkdGRVR1cmJ1
bGVuY2VFbGVtZW50LCBTVkdOYW1lczo6YmFzZUZyZXF1ZW5jeUF0dHIsIGJhc2VGcmVxdWVuY3lY
SWRlbnRpZmllcigpLCBCYXNlRnJlcXVlbmN5WCwgYmFzZUZyZXF1ZW5jeVgpCiBERUZJTkVfQU5J
TUFURURfTlVNQkVSX01VTFRJUExFX1dSQVBQRVJTKFNWR0ZFVHVyYnVsZW5jZUVsZW1lbnQsIFNW
R05hbWVzOjpiYXNlRnJlcXVlbmN5QXR0ciwgYmFzZUZyZXF1ZW5jeVlJZGVudGlmaWVyKCksIEJh
c2VGcmVxdWVuY3lZLCBiYXNlRnJlcXVlbmN5WSkKIERFRklORV9BTklNQVRFRF9OVU1CRVIoU1ZH
RkVUdXJidWxlbmNlRWxlbWVudCwgU1ZHTmFtZXM6OnNlZWRBdHRyLCBTZWVkLCBzZWVkKQorREVG
SU5FX0FOSU1BVEVEX0VOVU1FUkFUSU9OKFNWR0ZFVHVyYnVsZW5jZUVsZW1lbnQsIFNWR05hbWVz
OjpzdGl0Y2hUaWxlc0F0dHIsIFN0aXRjaFRpbGVzLCBzdGl0Y2hUaWxlcykKK0RFRklORV9BTklN
QVRFRF9FTlVNRVJBVElPTihTVkdGRVR1cmJ1bGVuY2VFbGVtZW50LCBTVkdOYW1lczo6dHlwZUF0
dHIsIFR5cGUsIHR5cGUpCiAKIGlubGluZSBTVkdGRVR1cmJ1bGVuY2VFbGVtZW50OjpTVkdGRVR1
cmJ1bGVuY2VFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBk
b2N1bWVudCkKICAgICA6IFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcyh0YWdO
YW1lLCBkb2N1bWVudCkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZFVHVyYnVsZW5jZUVsZW1lbnQu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGRVR1cmJ1bGVuY2VFbGVtZW50LmgJKHJl
dmlzaW9uIDczMDI0KQorKysgV2ViQ29yZS9zdmcvU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5oCSh3
b3JraW5nIGNvcHkpCkBAIC0yMyw2ICsyMyw3IEBACiAKICNpZiBFTkFCTEUoU1ZHKSAmJiBFTkFC
TEUoRklMVEVSUykKICNpbmNsdWRlICJGRVR1cmJ1bGVuY2UuaCIKKyNpbmNsdWRlICJTVkdBbmlt
YXRlZEVudW1lcmF0aW9uLmgiCiAjaW5jbHVkZSAiU1ZHQW5pbWF0ZWROdW1iZXIuaCIKICNpbmNs
dWRlICJTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMuaCIKIApAQCAtNTQsOCAr
NTUsOCBAQCBwcml2YXRlOgogICAgIERFQ0xBUkVfQU5JTUFURURfTlVNQkVSKEJhc2VGcmVxdWVu
Y3lZLCBiYXNlRnJlcXVlbmN5WSkKICAgICBERUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9QRVJU
WV9ORVcoU1ZHRkVUdXJidWxlbmNlRWxlbWVudCwgU1ZHTmFtZXM6Om51bU9jdGF2ZXNBdHRyLCBs
b25nLCBOdW1PY3RhdmVzLCBudW1PY3RhdmVzKQogICAgIERFQ0xBUkVfQU5JTUFURURfTlVNQkVS
KFNlZWQsIHNlZWQpCi0gICAgREVDTEFSRV9BTklNQVRFRF9TVEFUSUNfUFJPUEVSVFlfTkVXKFNW
R0ZFVHVyYnVsZW5jZUVsZW1lbnQsIFNWR05hbWVzOjpzdGl0Y2hUaWxlc0F0dHIsIGludCwgU3Rp
dGNoVGlsZXMsIHN0aXRjaFRpbGVzKQotICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BF
UlRZX05FVyhTVkdGRVR1cmJ1bGVuY2VFbGVtZW50LCBTVkdOYW1lczo6dHlwZUF0dHIsIGludCwg
VHlwZSwgdHlwZSkKKyAgICBERUNMQVJFX0FOSU1BVEVEX0VOVU1FUkFUSU9OKFN0aXRjaFRpbGVz
LCBzdGl0Y2hUaWxlcykKKyAgICBERUNMQVJFX0FOSU1BVEVEX0VOVU1FUkFUSU9OKFR5cGUsIHR5
cGUpCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdG
aWx0ZXJFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGaWx0ZXJFbGVt
ZW50LmNwcAkocmV2aXNpb24gNzMwMTYpCisrKyBXZWJDb3JlL3N2Zy9TVkdGaWx0ZXJFbGVtZW50
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjcsMTIgKzI3LDkgQEAKICNpbmNsdWRlICJTVkdGaWx0
ZXJFbGVtZW50LmgiCiAKICNpbmNsdWRlICJBdHRyLmgiCi0jaW5jbHVkZSAiRmxvYXRTaXplLmgi
Ci0jaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJj
ZUZpbHRlci5oIgogI2luY2x1ZGUgIlNWR0ZpbHRlckJ1aWxkZXIuaCIKICNpbmNsdWRlICJTVkdG
aWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMuaCIKLSNpbmNsdWRlICJTVkdMZW5ndGgu
aCIKICNpbmNsdWRlICJTVkdOYW1lcy5oIgogI2luY2x1ZGUgIlNWR1BhcnNlclV0aWxpdGllcy5o
IgogI2luY2x1ZGUgIlNWR1VuaXRUeXBlcy5oIgpAQCAtNDAsMTAgKzM3LDEzIEBACiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIC8vIEFuaW1hdGVkIHByb3BlcnR5IGRlZmluaXRpb25zCitERUZJTkVf
QU5JTUFURURfRU5VTUVSQVRJT04oU1ZHRmlsdGVyRWxlbWVudCwgU1ZHTmFtZXM6OmZpbHRlclVu
aXRzQXR0ciwgRmlsdGVyVW5pdHMsIGZpbHRlclVuaXRzKQorREVGSU5FX0FOSU1BVEVEX0VOVU1F
UkFUSU9OKFNWR0ZpbHRlckVsZW1lbnQsIFNWR05hbWVzOjpwcmltaXRpdmVVbml0c0F0dHIsIFBy
aW1pdGl2ZVVuaXRzLCBwcmltaXRpdmVVbml0cykKIERFRklORV9BTklNQVRFRF9MRU5HVEgoU1ZH
RmlsdGVyRWxlbWVudCwgU1ZHTmFtZXM6OnhBdHRyLCBYLCB4KQogREVGSU5FX0FOSU1BVEVEX0xF
TkdUSChTVkdGaWx0ZXJFbGVtZW50LCBTVkdOYW1lczo6eUF0dHIsIFksIHkpCiBERUZJTkVfQU5J
TUFURURfTEVOR1RIKFNWR0ZpbHRlckVsZW1lbnQsIFNWR05hbWVzOjp3aWR0aEF0dHIsIFdpZHRo
LCB3aWR0aCkKIERFRklORV9BTklNQVRFRF9MRU5HVEgoU1ZHRmlsdGVyRWxlbWVudCwgU1ZHTmFt
ZXM6OmhlaWdodEF0dHIsIEhlaWdodCwgaGVpZ2h0KQorREVGSU5FX0FOSU1BVEVEX1NUUklORyhT
VkdGaWx0ZXJFbGVtZW50LCBYTGlua05hbWVzOjpocmVmQXR0ciwgSHJlZiwgaHJlZikKIAogaW5s
aW5lIFNWR0ZpbHRlckVsZW1lbnQ6OlNWR0ZpbHRlckVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFt
ZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQogICAgIDogU1ZHU3R5bGVkRWxlbWVudCh0
YWdOYW1lLCBkb2N1bWVudCkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZpbHRlckVsZW1lbnQuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGaWx0ZXJFbGVtZW50LmgJKHJldmlzaW9uIDcz
MDE2KQorKysgV2ViQ29yZS9zdmcvU1ZHRmlsdGVyRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBA
IC0yNCw5ICsyNCw4IEBACiAjZGVmaW5lIFNWR0ZpbHRlckVsZW1lbnRfaAogCiAjaWYgRU5BQkxF
KFNWRykgJiYgRU5BQkxFKEZJTFRFUlMpCisjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRFbnVtZXJhdGlv
bi5oIgogI2luY2x1ZGUgIlNWR0FuaW1hdGVkTGVuZ3RoLmgiCi0jaW5jbHVkZSAiU1ZHQW5pbWF0
ZWRQcm9wZXJ0eU1hY3Jvcy5oIgotI2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgogI2luY2x1ZGUg
IlNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuaCIKICNpbmNsdWRlICJTVkdMYW5nU3BhY2Uu
aCIKICNpbmNsdWRlICJTVkdTdHlsZWRFbGVtZW50LmgiCkBAIC02Miw4ICs2MSw4IEBAIHByaXZh
dGU6CiAgICAgc3RhdGljIGNvbnN0IEF0b21pY1N0cmluZyYgZmlsdGVyUmVzWUlkZW50aWZpZXIo
KTsKIAogICAgIC8vIEFuaW1hdGVkIHByb3BlcnR5IGRlY2xhcmF0aW9ucwotICAgIERFQ0xBUkVf
QU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdGaWx0ZXJFbGVtZW50LCBTVkdOYW1lczo6
ZmlsdGVyVW5pdHNBdHRyLCBpbnQsIEZpbHRlclVuaXRzLCBmaWx0ZXJVbml0cykKLSAgICBERUNM
QVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9ORVcoU1ZHRmlsdGVyRWxlbWVudCwgU1ZHTmFt
ZXM6OnByaW1pdGl2ZVVuaXRzQXR0ciwgaW50LCBQcmltaXRpdmVVbml0cywgcHJpbWl0aXZlVW5p
dHMpCisgICAgREVDTEFSRV9BTklNQVRFRF9FTlVNRVJBVElPTihGaWx0ZXJVbml0cywgZmlsdGVy
VW5pdHMpCisgICAgREVDTEFSRV9BTklNQVRFRF9FTlVNRVJBVElPTihQcmltaXRpdmVVbml0cywg
cHJpbWl0aXZlVW5pdHMpCiAgICAgREVDTEFSRV9BTklNQVRFRF9MRU5HVEgoWCwgeCkKICAgICBE
RUNMQVJFX0FOSU1BVEVEX0xFTkdUSChZLCB5KQogICAgIERFQ0xBUkVfQU5JTUFURURfTEVOR1RI
KFdpZHRoLCB3aWR0aCkKQEAgLTczLDcgKzcyLDcgQEAgcHJpdmF0ZToKICAgICBERUNMQVJFX0FO
SU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9NVUxUSVBMRV9XUkFQUEVSU19ORVcoU1ZHRmlsdGVyRWxl
bWVudCwgU1ZHTmFtZXM6OmZpbHRlclJlc0F0dHIsIGZpbHRlclJlc1lJZGVudGlmaWVyKCksIGxv
bmcsIEZpbHRlclJlc1ksIGZpbHRlclJlc1kpCiAKICAgICAvLyBTVkdVUklSZWZlcmVuY2UKLSAg
ICBERUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9ORVcoU1ZHRmlsdGVyRWxlbWVudCwg
WExpbmtOYW1lczo6aHJlZkF0dHIsIFN0cmluZywgSHJlZiwgaHJlZikKKyAgICBERUNMQVJFX0FO
SU1BVEVEX1NUUklORyhIcmVmLCBocmVmKQogCiAgICAgLy8gU1ZHRXh0ZXJuYWxSZXNvdXJjZXNS
ZXF1aXJlZAogICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdGaWx0
ZXJFbGVtZW50LCBTVkdOYW1lczo6ZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZEF0dHIsIGJvb2ws
IEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCklu
ZGV4OiBXZWJDb3JlL3N2Zy9TVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0
cmlidXRlcy5jcHAJKHJldmlzaW9uIDczMDE2KQorKysgV2ViQ29yZS9zdmcvU1ZHRmlsdGVyUHJp
bWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzksNiArMzks
NyBAQCBERUZJTkVfQU5JTUFURURfTEVOR1RIKFNWR0ZpbHRlclByaW1pdGl2CiBERUZJTkVfQU5J
TUFURURfTEVOR1RIKFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcywgU1ZHTmFt
ZXM6OnlBdHRyLCBZLCB5KQogREVGSU5FX0FOSU1BVEVEX0xFTkdUSChTVkdGaWx0ZXJQcmltaXRp
dmVTdGFuZGFyZEF0dHJpYnV0ZXMsIFNWR05hbWVzOjp3aWR0aEF0dHIsIFdpZHRoLCB3aWR0aCkK
IERFRklORV9BTklNQVRFRF9MRU5HVEgoU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1
dGVzLCBTVkdOYW1lczo6aGVpZ2h0QXR0ciwgSGVpZ2h0LCBoZWlnaHQpCitERUZJTkVfQU5JTUFU
RURfU1RSSU5HKFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcywgU1ZHTmFtZXM6
OnJlc3VsdEF0dHIsIFJlc3VsdCwgcmVzdWx0KQogCiBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFy
ZEF0dHJpYnV0ZXM6OlNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcyhjb25zdCBR
dWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCiAgICAgOiBTVkdTdHls
ZWRFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRmlsdGVy
UHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcv
U1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLmgJKHJldmlzaW9uIDczMDE2KQor
KysgV2ViQ29yZS9zdmcvU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLmgJKHdv
cmtpbmcgY29weSkKQEAgLTI1LDcgKzI1LDYgQEAKICNpbmNsdWRlICJGaWx0ZXJFZmZlY3QuaCIK
ICNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZS5oIgogI2luY2x1ZGUgIlNWR0FuaW1hdGVkTGVu
Z3RoLmgiCi0jaW5jbHVkZSAiU1ZHQW5pbWF0ZWRQcm9wZXJ0eU1hY3Jvcy5oIgogI2luY2x1ZGUg
IlNWR0ZpbHRlckJ1aWxkZXIuaCIKICNpbmNsdWRlICJTVkdGaWx0ZXJFbGVtZW50LmgiCiAjaW5j
bHVkZSAiU1ZHTmFtZXMuaCIKQEAgLTY3LDcgKzY2LDcgQEAgcHJpdmF0ZToKICAgICBERUNMQVJF
X0FOSU1BVEVEX0xFTkdUSChZLCB5KQogICAgIERFQ0xBUkVfQU5JTUFURURfTEVOR1RIKFdpZHRo
LCB3aWR0aCkKICAgICBERUNMQVJFX0FOSU1BVEVEX0xFTkdUSChIZWlnaHQsIGhlaWdodCkKLSAg
ICBERUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9ORVcoU1ZHRmlsdGVyUHJpbWl0aXZl
U3RhbmRhcmRBdHRyaWJ1dGVzLCBTVkdOYW1lczo6cmVzdWx0QXR0ciwgU3RyaW5nLCBSZXN1bHQs
IHJlc3VsdCkKKyAgICBERUNMQVJFX0FOSU1BVEVEX1NUUklORyhSZXN1bHQsIHJlc3VsdCkKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZvcmVpZ25P
YmplY3RFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGb3JlaWduT2Jq
ZWN0RWxlbWVudC5jcHAJKHJldmlzaW9uIDczMDE2KQorKysgV2ViQ29yZS9zdmcvU1ZHRm9yZWln
bk9iamVjdEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw2ICszOCw3IEBAIERFRklO
RV9BTklNQVRFRF9MRU5HVEgoU1ZHRm9yZWlnbk9iamVjdEUKIERFRklORV9BTklNQVRFRF9MRU5H
VEgoU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQsIFNWR05hbWVzOjp5QXR0ciwgWSwgeSkKIERFRklO
RV9BTklNQVRFRF9MRU5HVEgoU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQsIFNWR05hbWVzOjp3aWR0
aEF0dHIsIFdpZHRoLCB3aWR0aCkKIERFRklORV9BTklNQVRFRF9MRU5HVEgoU1ZHRm9yZWlnbk9i
amVjdEVsZW1lbnQsIFNWR05hbWVzOjpoZWlnaHRBdHRyLCBIZWlnaHQsIGhlaWdodCkKK0RFRklO
RV9BTklNQVRFRF9TVFJJTkcoU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQsIFhMaW5rTmFtZXM6Omhy
ZWZBdHRyLCBIcmVmLCBocmVmKQogCiBpbmxpbmUgU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQ6OlNW
R0ZvcmVpZ25PYmplY3RFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3Vt
ZW50KiBkb2N1bWVudCkKICAgICA6IFNWR1N0eWxlZFRyYW5zZm9ybWFibGVFbGVtZW50KHRhZ05h
bWUsIGRvY3VtZW50KQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC5oCShy
ZXZpc2lvbiA3MzAxNikKKysrIFdlYkNvcmUvc3ZnL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTU4LDcgKzU4LDcgQEAgcHJpdmF0ZToKICAgICBERUNMQVJFX0FO
SU1BVEVEX0xFTkdUSChIZWlnaHQsIGhlaWdodCkKIAogICAgIC8vIFNWR1VSSVJlZmVyZW5jZQot
ICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdGb3JlaWduT2JqZWN0
RWxlbWVudCwgWExpbmtOYW1lczo6aHJlZkF0dHIsIFN0cmluZywgSHJlZiwgaHJlZikKKyAgICBE
RUNMQVJFX0FOSU1BVEVEX1NUUklORyhIcmVmLCBocmVmKQogCiAgICAgLy8gU1ZHRXh0ZXJuYWxS
ZXNvdXJjZXNSZXF1aXJlZAogICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05F
VyhTVkdGb3JlaWduT2JqZWN0RWxlbWVudCwgU1ZHTmFtZXM6OmV4dGVybmFsUmVzb3VyY2VzUmVx
dWlyZWRBdHRyLCBib29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291
cmNlc1JlcXVpcmVkKQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHR3JhZGllbnRFbGVtZW50LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdHcmFkaWVudEVsZW1lbnQuY3BwCShyZXZpc2lv
biA3MzAyMCkKKysrIFdlYkNvcmUvc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTM5LDcgKzM5LDEwIEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIEFuaW1h
dGVkIHByb3BlcnR5IGRlZmluaXRpb25zCitERUZJTkVfQU5JTUFURURfRU5VTUVSQVRJT04oU1ZH
R3JhZGllbnRFbGVtZW50LCBTVkdOYW1lczo6c3ByZWFkTWV0aG9kQXR0ciwgU3ByZWFkTWV0aG9k
LCBzcHJlYWRNZXRob2QpCitERUZJTkVfQU5JTUFURURfRU5VTUVSQVRJT04oU1ZHR3JhZGllbnRF
bGVtZW50LCBTVkdOYW1lczo6Z3JhZGllbnRVbml0c0F0dHIsIEdyYWRpZW50VW5pdHMsIGdyYWRp
ZW50VW5pdHMpCiBERUZJTkVfQU5JTUFURURfVFJBTlNGT1JNX0xJU1QoU1ZHR3JhZGllbnRFbGVt
ZW50LCBTVkdOYW1lczo6Z3JhZGllbnRUcmFuc2Zvcm1BdHRyLCBHcmFkaWVudFRyYW5zZm9ybSwg
Z3JhZGllbnRUcmFuc2Zvcm0pCitERUZJTkVfQU5JTUFURURfU1RSSU5HKFNWR0dyYWRpZW50RWxl
bWVudCwgWExpbmtOYW1lczo6aHJlZkF0dHIsIEhyZWYsIGhyZWYpCiAKIFNWR0dyYWRpZW50RWxl
bWVudDo6U1ZHR3JhZGllbnRFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERv
Y3VtZW50KiBkb2N1bWVudCkKICAgICA6IFNWR1N0eWxlZEVsZW1lbnQodGFnTmFtZSwgZG9jdW1l
bnQpCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdHcmFkaWVudEVsZW1lbnQuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3N2Zy9TVkdHcmFkaWVudEVsZW1lbnQuaAkocmV2aXNpb24gNzMwMjApCisrKyBX
ZWJDb3JlL3N2Zy9TVkdHcmFkaWVudEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMjMsNyAr
MjMsNyBAQAogCiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRlICJHcmFkaWVudC5oIgotI2luY2x1
ZGUgIlNWR0FuaW1hdGVkUHJvcGVydHlNYWNyb3MuaCIKKyNpbmNsdWRlICJTVkdBbmltYXRlZEVu
dW1lcmF0aW9uLmgiCiAjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRUcmFuc2Zvcm1MaXN0LmgiCiAjaW5j
bHVkZSAiU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5oIgogI2luY2x1ZGUgIlNWR1N0eWxl
ZEVsZW1lbnQuaCIKQEAgLTUwLDEyICs1MCwxMiBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9p
ZCBjaGlsZHJlbkNoYW5nZWQoYm9vbCBjaGFuZ2VkQnlQYXJzZXIgPSBmYWxzZSwgTm9kZSogYmVm
b3JlQ2hhbmdlID0gMCwgTm9kZSogYWZ0ZXJDaGFuZ2UgPSAwLCBpbnQgY2hpbGRDb3VudERlbHRh
ID0gMCk7CiAKICAgICAvLyBBbmltYXRlZCBwcm9wZXJ0eSBkZWNsYXJhdGlvbnMKLSAgICBERUNM
QVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9ORVcoU1ZHR3JhZGllbnRFbGVtZW50LCBTVkdO
YW1lczo6c3ByZWFkTWV0aG9kQXR0ciwgaW50LCBTcHJlYWRNZXRob2QsIHNwcmVhZE1ldGhvZCkK
LSAgICBERUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9ORVcoU1ZHR3JhZGllbnRFbGVt
ZW50LCBTVkdOYW1lczo6Z3JhZGllbnRVbml0c0F0dHIsIGludCwgR3JhZGllbnRVbml0cywgZ3Jh
ZGllbnRVbml0cykKKyAgICBERUNMQVJFX0FOSU1BVEVEX0VOVU1FUkFUSU9OKFNwcmVhZE1ldGhv
ZCwgc3ByZWFkTWV0aG9kKQorICAgIERFQ0xBUkVfQU5JTUFURURfRU5VTUVSQVRJT04oR3JhZGll
bnRVbml0cywgZ3JhZGllbnRVbml0cykKICAgICBERUNMQVJFX0FOSU1BVEVEX1RSQU5TRk9STV9M
SVNUKEdyYWRpZW50VHJhbnNmb3JtLCBncmFkaWVudFRyYW5zZm9ybSkKIAogICAgIC8vIFNWR1VS
SVJlZmVyZW5jZQotICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdH
cmFkaWVudEVsZW1lbnQsIFhMaW5rTmFtZXM6OmhyZWZBdHRyLCBTdHJpbmcsIEhyZWYsIGhyZWYp
CisgICAgREVDTEFSRV9BTklNQVRFRF9TVFJJTkcoSHJlZiwgaHJlZikKIAogICAgIC8vIFNWR0V4
dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQKICAgICBERUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9Q
RVJUWV9ORVcoU1ZHR3JhZGllbnRFbGVtZW50LCBTVkdOYW1lczo6ZXh0ZXJuYWxSZXNvdXJjZXNS
ZXF1aXJlZEF0dHIsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVz
b3VyY2VzUmVxdWlyZWQpCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdJbWFnZUVsZW1lbnQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ltYWdlRWxlbWVudC5jcHAJKHJldmlzaW9uIDcz
MDE2KQorKysgV2ViQ29yZS9zdmcvU1ZHSW1hZ2VFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNDIsNiArNDIsNyBAQCBERUZJTkVfQU5JTUFURURfTEVOR1RIKFNWR0ltYWdlRWxlbWVudCwg
CiBERUZJTkVfQU5JTUFURURfTEVOR1RIKFNWR0ltYWdlRWxlbWVudCwgU1ZHTmFtZXM6OnlBdHRy
LCBZLCB5KQogREVGSU5FX0FOSU1BVEVEX0xFTkdUSChTVkdJbWFnZUVsZW1lbnQsIFNWR05hbWVz
Ojp3aWR0aEF0dHIsIFdpZHRoLCB3aWR0aCkKIERFRklORV9BTklNQVRFRF9MRU5HVEgoU1ZHSW1h
Z2VFbGVtZW50LCBTVkdOYW1lczo6aGVpZ2h0QXR0ciwgSGVpZ2h0LCBoZWlnaHQpCitERUZJTkVf
QU5JTUFURURfU1RSSU5HKFNWR0ltYWdlRWxlbWVudCwgWExpbmtOYW1lczo6aHJlZkF0dHIsIEhy
ZWYsIGhyZWYpCiAKIGlubGluZSBTVkdJbWFnZUVsZW1lbnQ6OlNWR0ltYWdlRWxlbWVudChjb25z
dCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCiAgICAgOiBTVkdT
dHlsZWRUcmFuc2Zvcm1hYmxlRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKSW5kZXg6IFdlYkNv
cmUvc3ZnL1NWR0ltYWdlRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0lt
YWdlRWxlbWVudC5oCShyZXZpc2lvbiA3MzAxNikKKysrIFdlYkNvcmUvc3ZnL1NWR0ltYWdlRWxl
bWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC03Miw3ICs3Miw3IEBAIHByaXZhdGU6CiAgICAgREVD
TEFSRV9BTklNQVRFRF9QUk9QRVJUWV9ORVcoU1ZHSW1hZ2VFbGVtZW50LCBTVkdOYW1lczo6cHJl
c2VydmVBc3BlY3RSYXRpb0F0dHIsIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8sIFByZXNlcnZlQXNw
ZWN0UmF0aW8sIHByZXNlcnZlQXNwZWN0UmF0aW8pCiAKICAgICAvLyBTVkdVUklSZWZlcmVuY2UK
LSAgICBERUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9ORVcoU1ZHSW1hZ2VFbGVtZW50
LCBYTGlua05hbWVzOjpocmVmQXR0ciwgU3RyaW5nLCBIcmVmLCBocmVmKQorICAgIERFQ0xBUkVf
QU5JTUFURURfU1RSSU5HKEhyZWYsIGhyZWYpCiAKICAgICAvLyBTVkdFeHRlcm5hbFJlc291cmNl
c1JlcXVpcmVkCiAgICAgREVDTEFSRV9BTklNQVRFRF9TVEFUSUNfUFJPUEVSVFlfTkVXKFNWR0lt
YWdlRWxlbWVudCwgU1ZHTmFtZXM6OmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWRBdHRyLCBib29s
LCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQpJ
bmRleDogV2ViQ29yZS9zdmcvU1ZHTVBhdGhFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3N2Zy9TVkdNUGF0aEVsZW1lbnQuY3BwCShyZXZpc2lvbiA3MzAxMCkKKysrIFdlYkNvcmUv
c3ZnL1NWR01QYXRoRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3LDYgKzI3LDkgQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCisvLyBBbmltYXRlZCBwcm9wZXJ0eSBkZWZpbml0aW9u
cworREVGSU5FX0FOSU1BVEVEX1NUUklORyhTVkdNUGF0aEVsZW1lbnQsIFhMaW5rTmFtZXM6Omhy
ZWZBdHRyLCBIcmVmLCBocmVmKQorCiBpbmxpbmUgU1ZHTVBhdGhFbGVtZW50OjpTVkdNUGF0aEVs
ZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQog
ICAgIDogU1ZHRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKIHsKSW5kZXg6IFdlYkNvcmUvc3Zn
L1NWR01QYXRoRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR01QYXRoRWxl
bWVudC5oCShyZXZpc2lvbiA3MzAxMCkKKysrIFdlYkNvcmUvc3ZnL1NWR01QYXRoRWxlbWVudC5o
CSh3b3JraW5nIGNvcHkpCkBAIC0yMSwzNCArMjEsMzYgQEAKICNkZWZpbmUgU1ZHTVBhdGhFbGVt
ZW50X2gKIAogI2lmIEVOQUJMRShTVkcpCi0jaW5jbHVkZSAiU1ZHQW5pbWF0ZWRQcm9wZXJ0eU1h
Y3Jvcy5oIgorI2luY2x1ZGUgIlNWR0FuaW1hdGVkU3RyaW5nLmgiCiAjaW5jbHVkZSAiU1ZHRXh0
ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5oIgogI2luY2x1ZGUgIlNWR1VSSVJlZmVyZW5jZS5oIgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgCi0gICAgY2xhc3MgU1ZHUGF0aEVsZW1lbnQ7Citj
bGFzcyBTVkdQYXRoRWxlbWVudDsKKworY2xhc3MgU1ZHTVBhdGhFbGVtZW50IDogcHVibGljIFNW
R0VsZW1lbnQsCisgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHVVJJUmVmZXJlbmNl
LAorICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVx
dWlyZWQgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNWR01QYXRoRWxlbWVudD4g
Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOworCisgICAgU1ZHUGF0aEVs
ZW1lbnQqIHBhdGhFbGVtZW50KCk7CisgICAgCitwcml2YXRlOgorICAgIFNWR01QYXRoRWxlbWVu
dChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKICAgICAKLSAgICBjbGFzcyBTVkdN
UGF0aEVsZW1lbnQgOiBwdWJsaWMgU1ZHRWxlbWVudCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBwdWJsaWMgU1ZHVVJJUmVmZXJlbmNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkIHsKLSAgICBwdWJsaWM6Ci0gICAg
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNWR01QYXRoRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxp
ZmllZE5hbWUmLCBEb2N1bWVudCopOwotCi0gICAgICAgIFNWR1BhdGhFbGVtZW50KiBwYXRoRWxl
bWVudCgpOwotICAgICAgICAKLSAgICBwcml2YXRlOgotICAgICAgICBTVkdNUGF0aEVsZW1lbnQo
Y29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7Ci0gICAgICAgIAotICAgICAgICB2aXJ0
dWFsIHZvaWQgcGFyc2VNYXBwZWRBdHRyaWJ1dGUoQXR0cmlidXRlKik7Ci0gICAgICAgIHZpcnR1
YWwgdm9pZCBzeW5jaHJvbml6ZVByb3BlcnR5KGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKLSAgICAg
ICAgCi0gICAgICAgIC8vIFNWR1VSSVJlZmVyZW5jZQotICAgICAgICBERUNMQVJFX0FOSU1BVEVE
X1NUQVRJQ19QUk9QRVJUWV9ORVcoU1ZHTVBhdGhFbGVtZW50LCBYTGlua05hbWVzOjpocmVmQXR0
ciwgU3RyaW5nLCBIcmVmLCBocmVmKQotCi0gICAgICAgIC8vIFNWR0V4dGVybmFsUmVzb3VyY2Vz
UmVxdWlyZWQKLSAgICAgICAgREVDTEFSRV9BTklNQVRFRF9TVEFUSUNfUFJPUEVSVFlfTkVXKFNW
R01QYXRoRWxlbWVudCwgU1ZHTmFtZXM6OmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWRBdHRyLCBi
b29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
KQotICAgIH07CisgICAgdmlydHVhbCB2b2lkIHBhcnNlTWFwcGVkQXR0cmlidXRlKEF0dHJpYnV0
ZSopOworICAgIHZpcnR1YWwgdm9pZCBzeW5jaHJvbml6ZVByb3BlcnR5KGNvbnN0IFF1YWxpZmll
ZE5hbWUmKTsKKworCS8vIEFuaW1hdGVkIHByb3BlcnR5IGRlY2xhcmF0aW9ucworCisgICAgLy8g
U1ZHVVJJUmVmZXJlbmNlCisgICAgREVDTEFSRV9BTklNQVRFRF9TVFJJTkcoSHJlZiwgaHJlZikK
KworICAgIC8vIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQKKyAgICBERUNMQVJFX0FOSU1B
VEVEX1NUQVRJQ19QUk9QRVJUWV9ORVcoU1ZHTVBhdGhFbGVtZW50LCBTVkdOYW1lczo6ZXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZEF0dHIsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQs
IGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCit9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CiAKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR01hcmtlckVsZW1lbnQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvc3ZnL1NWR01hcmtlckVsZW1lbnQuY3BwCShyZXZpc2lvbiA3MzAxNikKKysrIFdl
YkNvcmUvc3ZnL1NWR01hcmtlckVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MCw3ICs0
MCw5IEBAIERFRklORV9BTklNQVRFRF9MRU5HVEgoU1ZHTWFya2VyRWxlbWVudCwKIERFRklORV9B
TklNQVRFRF9MRU5HVEgoU1ZHTWFya2VyRWxlbWVudCwgU1ZHTmFtZXM6OnJlZllBdHRyLCBSZWZZ
LCByZWZZKQogREVGSU5FX0FOSU1BVEVEX0xFTkdUSChTVkdNYXJrZXJFbGVtZW50LCBTVkdOYW1l
czo6bWFya2VyV2lkdGhBdHRyLCBNYXJrZXJXaWR0aCwgbWFya2VyV2lkdGgpCiBERUZJTkVfQU5J
TUFURURfTEVOR1RIKFNWR01hcmtlckVsZW1lbnQsIFNWR05hbWVzOjptYXJrZXJIZWlnaHRBdHRy
LCBNYXJrZXJIZWlnaHQsIG1hcmtlckhlaWdodCkKLQorREVGSU5FX0FOSU1BVEVEX0VOVU1FUkFU
SU9OKFNWR01hcmtlckVsZW1lbnQsIFNWR05hbWVzOjptYXJrZXJVbml0c0F0dHIsIE1hcmtlclVu
aXRzLCBtYXJrZXJVbml0cykKK0RFRklORV9BTklNQVRFRF9FTlVNRVJBVElPTl9NVUxUSVBMRV9X
UkFQUEVSUyhTVkdNYXJrZXJFbGVtZW50LCBTVkdOYW1lczo6b3JpZW50QXR0ciwgb3JpZW50VHlw
ZUlkZW50aWZpZXIoKSwgT3JpZW50VHlwZSwgb3JpZW50VHlwZSkKKyAgICAKIGlubGluZSBTVkdN
YXJrZXJFbGVtZW50OjpTVkdNYXJrZXJFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05h
bWUsIERvY3VtZW50KiBkb2N1bWVudCkKICAgICA6IFNWR1N0eWxlZEVsZW1lbnQodGFnTmFtZSwg
ZG9jdW1lbnQpCiAgICAgLCBtX3JlZlgoTGVuZ3RoTW9kZVdpZHRoKQpJbmRleDogV2ViQ29yZS9z
dmcvU1ZHTWFya2VyRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR01hcmtl
ckVsZW1lbnQuaAkocmV2aXNpb24gNzMwMTYpCisrKyBXZWJDb3JlL3N2Zy9TVkdNYXJrZXJFbGVt
ZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTI0LDggKzI0LDggQEAKICNpZiBFTkFCTEUoU1ZHKQog
I2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgogI2luY2x1ZGUgIlNWR0FuZ2xlLmgiCisjaW5jbHVk
ZSAiU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbi5oIgogI2luY2x1ZGUgIlNWR0FuaW1hdGVkTGVuZ3Ro
LmgiCi0jaW5jbHVkZSAiU1ZHQW5pbWF0ZWRQcm9wZXJ0eU1hY3Jvcy5oIgogI2luY2x1ZGUgIlNW
R0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuaCIKICNpbmNsdWRlICJTVkdGaXRUb1ZpZXdCb3gu
aCIKICNpbmNsdWRlICJTVkdMYW5nU3BhY2UuaCIKQEAgLTgzLDggKzgzLDggQEAgcHJpdmF0ZToK
ICAgICBERUNMQVJFX0FOSU1BVEVEX0xFTkdUSChSZWZZLCByZWZZKQogICAgIERFQ0xBUkVfQU5J
TUFURURfTEVOR1RIKE1hcmtlcldpZHRoLCBtYXJrZXJXaWR0aCkKICAgICBERUNMQVJFX0FOSU1B
VEVEX0xFTkdUSChNYXJrZXJIZWlnaHQsIG1hcmtlckhlaWdodCkKLSAgICBERUNMQVJFX0FOSU1B
VEVEX1NUQVRJQ19QUk9QRVJUWV9ORVcoU1ZHTWFya2VyRWxlbWVudCwgU1ZHTmFtZXM6Om1hcmtl
clVuaXRzQXR0ciwgaW50LCBNYXJrZXJVbml0cywgbWFya2VyVW5pdHMpCi0gICAgREVDTEFSRV9B
TklNQVRFRF9TVEFUSUNfUFJPUEVSVFlfTVVMVElQTEVfV1JBUFBFUlNfTkVXKFNWR01hcmtlckVs
ZW1lbnQsIFNWR05hbWVzOjpvcmllbnRBdHRyLCBvcmllbnRUeXBlSWRlbnRpZmllcigpLCBpbnQs
IE9yaWVudFR5cGUsIG9yaWVudFR5cGUpCisgICAgREVDTEFSRV9BTklNQVRFRF9FTlVNRVJBVElP
TihNYXJrZXJVbml0cywgbWFya2VyVW5pdHMpCisgICAgREVDTEFSRV9BTklNQVRFRF9FTlVNRVJB
VElPTihPcmllbnRUeXBlLCBvcmllbnRUeXBlKQogICAgIERFQ0xBUkVfQU5JTUFURURfUFJPUEVS
VFlfTVVMVElQTEVfV1JBUFBFUlNfTkVXKFNWR01hcmtlckVsZW1lbnQsIFNWR05hbWVzOjpvcmll
bnRBdHRyLCBvcmllbnRBbmdsZUlkZW50aWZpZXIoKSwgU1ZHQW5nbGUsIE9yaWVudEFuZ2xlLCBv
cmllbnRBbmdsZSkKIAogICAgIC8vIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQKSW5kZXg6
IFdlYkNvcmUvc3ZnL1NWR01hc2tFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2
Zy9TVkdNYXNrRWxlbWVudC5jcHAJKHJldmlzaW9uIDczMDE2KQorKysgV2ViQ29yZS9zdmcvU1ZH
TWFza0VsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw2ICszNiw4IEBACiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIC8vIEFuaW1hdGVkIHByb3BlcnR5IGRlZmluaXRpb25zCitERUZJTkVf
QU5JTUFURURfRU5VTUVSQVRJT04oU1ZHTWFza0VsZW1lbnQsIFNWR05hbWVzOjptYXNrVW5pdHNB
dHRyLCBNYXNrVW5pdHMsIG1hc2tVbml0cykKK0RFRklORV9BTklNQVRFRF9FTlVNRVJBVElPTihT
VkdNYXNrRWxlbWVudCwgU1ZHTmFtZXM6Om1hc2tDb250ZW50VW5pdHNBdHRyLCBNYXNrQ29udGVu
dFVuaXRzLCBtYXNrQ29udGVudFVuaXRzKQogREVGSU5FX0FOSU1BVEVEX0xFTkdUSChTVkdNYXNr
RWxlbWVudCwgU1ZHTmFtZXM6OnhBdHRyLCBYLCB4KQogREVGSU5FX0FOSU1BVEVEX0xFTkdUSChT
VkdNYXNrRWxlbWVudCwgU1ZHTmFtZXM6OnlBdHRyLCBZLCB5KQogREVGSU5FX0FOSU1BVEVEX0xF
TkdUSChTVkdNYXNrRWxlbWVudCwgU1ZHTmFtZXM6OndpZHRoQXR0ciwgV2lkdGgsIHdpZHRoKQpJ
bmRleDogV2ViQ29yZS9zdmcvU1ZHTWFza0VsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3N2Zy9TVkdNYXNrRWxlbWVudC5oCShyZXZpc2lvbiA3MzAxNikKKysrIFdlYkNvcmUvc3ZnL1NW
R01hc2tFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTIyLDggKzIyLDggQEAKIAogI2lmIEVO
QUJMRShTVkcpCiAjaW5jbHVkZSAiUmVuZGVyT2JqZWN0LmgiCisjaW5jbHVkZSAiU1ZHQW5pbWF0
ZWRFbnVtZXJhdGlvbi5oIgogI2luY2x1ZGUgIlNWR0FuaW1hdGVkTGVuZ3RoLmgiCi0jaW5jbHVk
ZSAiU1ZHQW5pbWF0ZWRQcm9wZXJ0eU1hY3Jvcy5oIgogI2luY2x1ZGUgIlNWR0V4dGVybmFsUmVz
b3VyY2VzUmVxdWlyZWQuaCIKICNpbmNsdWRlICJTVkdMYW5nU3BhY2UuaCIKICNpbmNsdWRlICJT
VkdTdHlsZWRMb2NhdGFibGVFbGVtZW50LmgiCkBAIC01Niw4ICs1Niw4IEBAIHByaXZhdGU6CiAg
ICAgdmlydHVhbCBib29sIHNlbGZIYXNSZWxhdGl2ZUxlbmd0aHMoKSBjb25zdDsKIAogICAgIC8v
IEFuaW1hdGVkIHByb3BlcnR5IGRlY2xhcmF0aW9ucwotICAgIERFQ0xBUkVfQU5JTUFURURfU1RB
VElDX1BST1BFUlRZX05FVyhTVkdNYXNrRWxlbWVudCwgU1ZHTmFtZXM6Om1hc2tVbml0c0F0dHIs
IGludCwgTWFza1VuaXRzLCBtYXNrVW5pdHMpCi0gICAgREVDTEFSRV9BTklNQVRFRF9TVEFUSUNf
UFJPUEVSVFlfTkVXKFNWR01hc2tFbGVtZW50LCBTVkdOYW1lczo6bWFza0NvbnRlbnRVbml0c0F0
dHIsIGludCwgTWFza0NvbnRlbnRVbml0cywgbWFza0NvbnRlbnRVbml0cykKKyAgICBERUNMQVJF
X0FOSU1BVEVEX0VOVU1FUkFUSU9OKE1hc2tVbml0cywgbWFza1VuaXRzKQorICAgIERFQ0xBUkVf
QU5JTUFURURfRU5VTUVSQVRJT04oTWFza0NvbnRlbnRVbml0cywgbWFza0NvbnRlbnRVbml0cykK
ICAgICBERUNMQVJFX0FOSU1BVEVEX0xFTkdUSChYLCB4KQogICAgIERFQ0xBUkVfQU5JTUFURURf
TEVOR1RIKFksIHkpCiAgICAgREVDTEFSRV9BTklNQVRFRF9MRU5HVEgoV2lkdGgsIHdpZHRoKQpJ
bmRleDogV2ViQ29yZS9zdmcvU1ZHUGF0dGVybkVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvc3ZnL1NWR1BhdHRlcm5FbGVtZW50LmNwcAkocmV2aXNpb24gNzMwMjApCisrKyBXZWJD
b3JlL3N2Zy9TVkdQYXR0ZXJuRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ3LDcgKzQ3
LDEwIEBAIERFRklORV9BTklNQVRFRF9MRU5HVEgoU1ZHUGF0dGVybkVsZW1lbnQKIERFRklORV9B
TklNQVRFRF9MRU5HVEgoU1ZHUGF0dGVybkVsZW1lbnQsIFNWR05hbWVzOjp5QXR0ciwgWSwgeSkK
IERFRklORV9BTklNQVRFRF9MRU5HVEgoU1ZHUGF0dGVybkVsZW1lbnQsIFNWR05hbWVzOjp3aWR0
aEF0dHIsIFdpZHRoLCB3aWR0aCkKIERFRklORV9BTklNQVRFRF9MRU5HVEgoU1ZHUGF0dGVybkVs
ZW1lbnQsIFNWR05hbWVzOjpoZWlnaHRBdHRyLCBIZWlnaHQsIGhlaWdodCkKK0RFRklORV9BTklN
QVRFRF9FTlVNRVJBVElPTihTVkdQYXR0ZXJuRWxlbWVudCwgU1ZHTmFtZXM6OnBhdHRlcm5Vbml0
c0F0dHIsIFBhdHRlcm5Vbml0cywgcGF0dGVyblVuaXRzKQorREVGSU5FX0FOSU1BVEVEX0VOVU1F
UkFUSU9OKFNWR1BhdHRlcm5FbGVtZW50LCBTVkdOYW1lczo6cGF0dGVybkNvbnRlbnRVbml0c0F0
dHIsIFBhdHRlcm5Db250ZW50VW5pdHMsIHBhdHRlcm5Db250ZW50VW5pdHMpCiBERUZJTkVfQU5J
TUFURURfVFJBTlNGT1JNX0xJU1QoU1ZHUGF0dGVybkVsZW1lbnQsIFNWR05hbWVzOjpwYXR0ZXJu
VHJhbnNmb3JtQXR0ciwgUGF0dGVyblRyYW5zZm9ybSwgcGF0dGVyblRyYW5zZm9ybSkgCitERUZJ
TkVfQU5JTUFURURfU1RSSU5HKFNWR1BhdHRlcm5FbGVtZW50LCBYTGlua05hbWVzOjpocmVmQXR0
ciwgSHJlZiwgaHJlZikKIAogaW5saW5lIFNWR1BhdHRlcm5FbGVtZW50OjpTVkdQYXR0ZXJuRWxl
bWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCiAg
ICAgOiBTVkdTdHlsZWRFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQpJbmRleDogV2ViQ29yZS9z
dmcvU1ZHUGF0dGVybkVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdQYXR0
ZXJuRWxlbWVudC5oCShyZXZpc2lvbiA3MzAyMCkKKysrIFdlYkNvcmUvc3ZnL1NWR1BhdHRlcm5F
bGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTIyLDggKzIyLDggQEAKICNkZWZpbmUgU1ZHUGF0
dGVybkVsZW1lbnRfaAogCiAjaWYgRU5BQkxFKFNWRykKKyNpbmNsdWRlICJTVkdBbmltYXRlZEVu
dW1lcmF0aW9uLmgiCiAjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRMZW5ndGguaCIKLSNpbmNsdWRlICJT
VkdBbmltYXRlZFByb3BlcnR5TWFjcm9zLmgiCiAjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRUcmFuc2Zv
cm1MaXN0LmgiCiAjaW5jbHVkZSAiU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5oIgogI2lu
Y2x1ZGUgIlNWR0ZpdFRvVmlld0JveC5oIgpAQCAtNjksMTIgKzY5LDEyIEBAIHByaXZhdGU6CiAg
ICAgREVDTEFSRV9BTklNQVRFRF9MRU5HVEgoWSwgeSkKICAgICBERUNMQVJFX0FOSU1BVEVEX0xF
TkdUSChXaWR0aCwgd2lkdGgpCiAgICAgREVDTEFSRV9BTklNQVRFRF9MRU5HVEgoSGVpZ2h0LCBo
ZWlnaHQpCi0gICAgREVDTEFSRV9BTklNQVRFRF9TVEFUSUNfUFJPUEVSVFlfTkVXKFNWR1BhdHRl
cm5FbGVtZW50LCBTVkdOYW1lczo6cGF0dGVyblVuaXRzQXR0ciwgaW50LCBQYXR0ZXJuVW5pdHMs
IHBhdHRlcm5Vbml0cykKLSAgICBERUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9ORVco
U1ZHUGF0dGVybkVsZW1lbnQsIFNWR05hbWVzOjpwYXR0ZXJuQ29udGVudFVuaXRzQXR0ciwgaW50
LCBQYXR0ZXJuQ29udGVudFVuaXRzLCBwYXR0ZXJuQ29udGVudFVuaXRzKQorICAgIERFQ0xBUkVf
QU5JTUFURURfRU5VTUVSQVRJT04oUGF0dGVyblVuaXRzLCBwYXR0ZXJuVW5pdHMpCisgICAgREVD
TEFSRV9BTklNQVRFRF9FTlVNRVJBVElPTihQYXR0ZXJuQ29udGVudFVuaXRzLCBwYXR0ZXJuQ29u
dGVudFVuaXRzKQogICAgIERFQ0xBUkVfQU5JTUFURURfVFJBTlNGT1JNX0xJU1QoUGF0dGVyblRy
YW5zZm9ybSwgcGF0dGVyblRyYW5zZm9ybSkKIAogICAgIC8vIFNWR1VSSVJlZmVyZW5jZQotICAg
IERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdQYXR0ZXJuRWxlbWVudCwg
WExpbmtOYW1lczo6aHJlZkF0dHIsIFN0cmluZywgSHJlZiwgaHJlZikKKyAgICBERUNMQVJFX0FO
SU1BVEVEX1NUUklORyhIcmVmLCBocmVmKQogCiAgICAgLy8gU1ZHRXh0ZXJuYWxSZXNvdXJjZXNS
ZXF1aXJlZAogICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdQYXR0
ZXJuRWxlbWVudCwgU1ZHTmFtZXM6OmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWRBdHRyLCBib29s
LCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQpJ
bmRleDogV2ViQ29yZS9zdmcvU1ZHU2NyaXB0RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9zdmcvU1ZHU2NyaXB0RWxlbWVudC5jcHAJKHJldmlzaW9uIDczMDEwKQorKysgV2ViQ29y
ZS9zdmcvU1ZHU2NyaXB0RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMxLDYgKzMxLDkg
QEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCisvLyBBbmltYXRlZCBwcm9wZXJ0eSBkZWZpbml0
aW9ucworREVGSU5FX0FOSU1BVEVEX1NUUklORyhTVkdTY3JpcHRFbGVtZW50LCBYTGlua05hbWVz
OjpocmVmQXR0ciwgSHJlZiwgaHJlZikKKwogaW5saW5lIFNWR1NjcmlwdEVsZW1lbnQ6OlNWR1Nj
cmlwdEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3Vt
ZW50LCBib29sIHdhc0luc2VydGVkQnlQYXJzZXIsIGJvb2wgd2FzQWxyZWFkeVN0YXJ0ZWQpCiAg
ICAgOiBTVkdFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogICAgICwgU2NyaXB0RWxlbWVudCh0
aGlzLCB3YXNJbnNlcnRlZEJ5UGFyc2VyLCB3YXNBbHJlYWR5U3RhcnRlZCkKSW5kZXg6IFdlYkNv
cmUvc3ZnL1NWR1NjcmlwdEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdT
Y3JpcHRFbGVtZW50LmgJKHJldmlzaW9uIDczMDEwKQorKysgV2ViQ29yZS9zdmcvU1ZHU2NyaXB0
RWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMiw3ICsyMiw3IEBACiAjZGVmaW5lIFNWR1Nj
cmlwdEVsZW1lbnRfaAogCiAjaWYgRU5BQkxFKFNWRykKLSNpbmNsdWRlICJTVkdBbmltYXRlZFBy
b3BlcnR5TWFjcm9zLmgiCisjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRTdHJpbmcuaCIKICNpbmNsdWRl
ICJTVkdFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5o
IgogI2luY2x1ZGUgIlNWR1VSSVJlZmVyZW5jZS5oIgpAQCAtMzAsNTUgKzMwLDU3IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIFNWR1NjcmlwdEVsZW1lbnQgOiBwdWJsaWMg
U1ZHRWxlbWVudAotICAgICAgICAgICAgICAgICAgICAgICAgICAgLCBwdWJsaWMgU1ZHVVJJUmVm
ZXJlbmNlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAsIHB1YmxpYyBTVkdFeHRlcm5hbFJl
c291cmNlc1JlcXVpcmVkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAsIHB1YmxpYyBTY3Jp
cHRFbGVtZW50IHsKLSAgICBwdWJsaWM6Ci0gICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNWR1Nj
cmlwdEVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqLCBib29s
IHdhc0luc2VydGVkQnlQYXJzZXIpOwotCi0gICAgICAgIFN0cmluZyB0eXBlKCkgY29uc3Q7Ci0g
ICAgICAgIHZvaWQgc2V0VHlwZShjb25zdCBTdHJpbmcmKTsKLQotICAgIHByaXZhdGU6Ci0gICAg
ICAgIFNWR1NjcmlwdEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50KiwgYm9v
bCB3YXNJbnNlcnRlZEJ5UGFyc2VyLCBib29sIHdhc0FscmVhZHlTdGFydGVkKTsKLQotICAgICAg
ICB2aXJ0dWFsIHZvaWQgcGFyc2VNYXBwZWRBdHRyaWJ1dGUoQXR0cmlidXRlKik7Ci0gICAgICAg
IHZpcnR1YWwgdm9pZCBpbnNlcnRlZEludG9Eb2N1bWVudCgpOwotICAgICAgICB2aXJ0dWFsIHZv
aWQgcmVtb3ZlZEZyb21Eb2N1bWVudCgpOwotICAgICAgICB2aXJ0dWFsIHZvaWQgY2hpbGRyZW5D
aGFuZ2VkKGJvb2wgY2hhbmdlZEJ5UGFyc2VyID0gZmFsc2UsIE5vZGUqIGJlZm9yZUNoYW5nZSA9
IDAsIE5vZGUqIGFmdGVyQ2hhbmdlID0gMCwgaW50IGNoaWxkQ291bnREZWx0YSA9IDApOwotCi0g
ICAgICAgIHZpcnR1YWwgdm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5h
bWUmKTsKLSAgICAgICAgdmlydHVhbCB2b2lkIHN5bmNocm9uaXplUHJvcGVydHkoY29uc3QgUXVh
bGlmaWVkTmFtZSYpOwotICAgICAgICB2aXJ0dWFsIGJvb2wgaXNVUkxBdHRyaWJ1dGUoQXR0cmli
dXRlKikgY29uc3Q7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBmaW5pc2hQYXJzaW5nQ2hpbGRyZW4o
KTsKLQotICAgICAgICB2aXJ0dWFsIHZvaWQgYWRkU3VicmVzb3VyY2VBdHRyaWJ1dGVVUkxzKExp
c3RIYXNoU2V0PEtVUkw+JikgY29uc3Q7Ci0KLSAgICAgICAgdmlydHVhbCBib29sIGhhdmVMb2Fk
ZWRSZXF1aXJlZFJlc291cmNlcygpOwotCi0gICAgICAgIHZpcnR1YWwgU3RyaW5nIHNvdXJjZUF0
dHJpYnV0ZVZhbHVlKCkgY29uc3Q7Ci0gICAgICAgIHZpcnR1YWwgU3RyaW5nIGNoYXJzZXRBdHRy
aWJ1dGVWYWx1ZSgpIGNvbnN0OwotICAgICAgICB2aXJ0dWFsIFN0cmluZyB0eXBlQXR0cmlidXRl
VmFsdWUoKSBjb25zdDsKLSAgICAgICAgdmlydHVhbCBTdHJpbmcgbGFuZ3VhZ2VBdHRyaWJ1dGVW
YWx1ZSgpIGNvbnN0OwotICAgICAgICB2aXJ0dWFsIFN0cmluZyBmb3JBdHRyaWJ1dGVWYWx1ZSgp
IGNvbnN0OwotICAgICAgICB2aXJ0dWFsIFN0cmluZyBldmVudEF0dHJpYnV0ZVZhbHVlKCkgY29u
c3Q7Ci0gICAgICAgIHZpcnR1YWwgYm9vbCBhc3luY0F0dHJpYnV0ZVZhbHVlKCkgY29uc3Q7Ci0g
ICAgICAgIHZpcnR1YWwgYm9vbCBkZWZlckF0dHJpYnV0ZVZhbHVlKCkgY29uc3Q7Ci0KLSAgICAg
ICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoTG9hZEV2ZW50KCk7Ci0gICAgICAgIHZpcnR1YWwgdm9p
ZCBkaXNwYXRjaEVycm9yRXZlbnQoKTsKLQotICAgICAgICBQYXNzUmVmUHRyPEVsZW1lbnQ+IGNs
b25lRWxlbWVudFdpdGhvdXRBdHRyaWJ1dGVzQW5kQ2hpbGRyZW4oKSBjb25zdDsKK2NsYXNzIFNW
R1NjcmlwdEVsZW1lbnQgOiBwdWJsaWMgU1ZHRWxlbWVudAorICAgICAgICAgICAgICAgICAgICAg
ICAsIHB1YmxpYyBTVkdVUklSZWZlcmVuY2UKKyAgICAgICAgICAgICAgICAgICAgICAgLCBwdWJs
aWMgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZAorICAgICAgICAgICAgICAgICAgICAgICAs
IHB1YmxpYyBTY3JpcHRFbGVtZW50IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxT
VkdTY3JpcHRFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kiwg
Ym9vbCB3YXNJbnNlcnRlZEJ5UGFyc2VyKTsKIAotICAgICAgICAvLyBTVkdVUklSZWZlcmVuY2UK
LSAgICAgICAgREVDTEFSRV9BTklNQVRFRF9TVEFUSUNfUFJPUEVSVFlfTkVXKFNWR1NjcmlwdEVs
ZW1lbnQsIFhMaW5rTmFtZXM6OmhyZWZBdHRyLCBTdHJpbmcsIEhyZWYsIGhyZWYpCisgICAgU3Ry
aW5nIHR5cGUoKSBjb25zdDsKKyAgICB2b2lkIHNldFR5cGUoY29uc3QgU3RyaW5nJik7CiAKLSAg
ICAgICAgLy8gU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZAotICAgICAgICBERUNMQVJFX0FO
SU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9ORVcoU1ZHU2NyaXB0RWxlbWVudCwgU1ZHTmFtZXM6OmV4
dGVybmFsUmVzb3VyY2VzUmVxdWlyZWRBdHRyLCBib29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVp
cmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQorcHJpdmF0ZToKKyAgICBTVkdTY3JpcHRF
bGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCosIGJvb2wgd2FzSW5zZXJ0ZWRC
eVBhcnNlciwgYm9vbCB3YXNBbHJlYWR5U3RhcnRlZCk7CiAKLSAgICAgICAgU3RyaW5nIG1fdHlw
ZTsKLSAgICB9OworICAgIHZpcnR1YWwgdm9pZCBwYXJzZU1hcHBlZEF0dHJpYnV0ZShBdHRyaWJ1
dGUqKTsKKyAgICB2aXJ0dWFsIHZvaWQgaW5zZXJ0ZWRJbnRvRG9jdW1lbnQoKTsKKyAgICB2aXJ0
dWFsIHZvaWQgcmVtb3ZlZEZyb21Eb2N1bWVudCgpOworICAgIHZpcnR1YWwgdm9pZCBjaGlsZHJl
bkNoYW5nZWQoYm9vbCBjaGFuZ2VkQnlQYXJzZXIgPSBmYWxzZSwgTm9kZSogYmVmb3JlQ2hhbmdl
ID0gMCwgTm9kZSogYWZ0ZXJDaGFuZ2UgPSAwLCBpbnQgY2hpbGRDb3VudERlbHRhID0gMCk7CisK
KyAgICB2aXJ0dWFsIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1l
Jik7CisgICAgdmlydHVhbCB2b2lkIHN5bmNocm9uaXplUHJvcGVydHkoY29uc3QgUXVhbGlmaWVk
TmFtZSYpOworICAgIHZpcnR1YWwgYm9vbCBpc1VSTEF0dHJpYnV0ZShBdHRyaWJ1dGUqKSBjb25z
dDsKKyAgICB2aXJ0dWFsIHZvaWQgZmluaXNoUGFyc2luZ0NoaWxkcmVuKCk7CisKKyAgICB2aXJ0
dWFsIHZvaWQgYWRkU3VicmVzb3VyY2VBdHRyaWJ1dGVVUkxzKExpc3RIYXNoU2V0PEtVUkw+Jikg
Y29uc3Q7CisKKyAgICB2aXJ0dWFsIGJvb2wgaGF2ZUxvYWRlZFJlcXVpcmVkUmVzb3VyY2VzKCk7
CisKKyAgICB2aXJ0dWFsIFN0cmluZyBzb3VyY2VBdHRyaWJ1dGVWYWx1ZSgpIGNvbnN0OworICAg
IHZpcnR1YWwgU3RyaW5nIGNoYXJzZXRBdHRyaWJ1dGVWYWx1ZSgpIGNvbnN0OworICAgIHZpcnR1
YWwgU3RyaW5nIHR5cGVBdHRyaWJ1dGVWYWx1ZSgpIGNvbnN0OworICAgIHZpcnR1YWwgU3RyaW5n
IGxhbmd1YWdlQXR0cmlidXRlVmFsdWUoKSBjb25zdDsKKyAgICB2aXJ0dWFsIFN0cmluZyBmb3JB
dHRyaWJ1dGVWYWx1ZSgpIGNvbnN0OworICAgIHZpcnR1YWwgU3RyaW5nIGV2ZW50QXR0cmlidXRl
VmFsdWUoKSBjb25zdDsKKyAgICB2aXJ0dWFsIGJvb2wgYXN5bmNBdHRyaWJ1dGVWYWx1ZSgpIGNv
bnN0OworICAgIHZpcnR1YWwgYm9vbCBkZWZlckF0dHJpYnV0ZVZhbHVlKCkgY29uc3Q7CisKKyAg
ICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hMb2FkRXZlbnQoKTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlz
cGF0Y2hFcnJvckV2ZW50KCk7CisKKyAgICBQYXNzUmVmUHRyPEVsZW1lbnQ+IGNsb25lRWxlbWVu
dFdpdGhvdXRBdHRyaWJ1dGVzQW5kQ2hpbGRyZW4oKSBjb25zdDsKKworCS8vIEFuaW1hdGVkIHBy
b3BlcnR5IGRlY2xhcmF0aW9ucworCisgICAgLy8gU1ZHVVJJUmVmZXJlbmNlCisgICAgREVDTEFS
RV9BTklNQVRFRF9TVFJJTkcoSHJlZiwgaHJlZikKKworICAgIC8vIFNWR0V4dGVybmFsUmVzb3Vy
Y2VzUmVxdWlyZWQKKyAgICBERUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9ORVcoU1ZH
U2NyaXB0RWxlbWVudCwgU1ZHTmFtZXM6OmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWRBdHRyLCBi
b29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
KQorCisgICAgU3RyaW5nIG1fdHlwZTsKK307CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIApJ
bmRleDogV2ViQ29yZS9zdmcvU1ZHU3R5bGVkRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9zdmcvU1ZHU3R5bGVkRWxlbWVudC5jcHAJKHJldmlzaW9uIDczMDEwKQorKysgV2ViQ29y
ZS9zdmcvU1ZHU3R5bGVkRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDYgKzQ2LDkg
QEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCisvLyBBbmltYXRlZCBwcm9wZXJ0eSBkZWZpbml0
aW9ucworREVGSU5FX0FOSU1BVEVEX1NUUklORyhTVkdTdHlsZWRFbGVtZW50LCBIVE1MTmFtZXM6
OmNsYXNzQXR0ciwgQ2xhc3NOYW1lLCBjbGFzc05hbWUpCisKIHVzaW5nIG5hbWVzcGFjZSBTVkdO
YW1lczsKIAogdm9pZCBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KEhhc2hNYXA8QXRvbWljU3Ry
aW5nSW1wbCosIGludD4qIHByb3BlcnR5TmFtZVRvSWRNYXAsIGNvbnN0IFF1YWxpZmllZE5hbWUm
IGF0dHJOYW1lKQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHU3R5bGVkRWxlbWVudC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1N0eWxlZEVsZW1lbnQuaAkocmV2aXNpb24gNzMwMTApCisr
KyBXZWJDb3JlL3N2Zy9TVkdTdHlsZWRFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTIyLDY5
ICsyMiw2OSBAQAogI2RlZmluZSBTVkdTdHlsZWRFbGVtZW50X2gKIAogI2lmIEVOQUJMRShTVkcp
Ci0jaW5jbHVkZSAiU1ZHQW5pbWF0ZWRQcm9wZXJ0eU1hY3Jvcy5oIgotI2luY2x1ZGUgIkhUTUxO
YW1lcy5oIgorI2luY2x1ZGUgIlNWR0FuaW1hdGVkU3RyaW5nLmgiCiAjaW5jbHVkZSAiU1ZHTG9j
YXRhYmxlLmgiCiAjaW5jbHVkZSAiU1ZHU3R5bGFibGUuaCIKICNpbmNsdWRlIDx3dGYvSGFzaFNl
dC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSAgICB2b2lkIG1hcEF0dHJpYnV0ZVRvQ1NT
UHJvcGVydHkoSGFzaE1hcDxBdG9taWNTdHJpbmdJbXBsKiwgaW50PiogcHJvcGVydHlOYW1lVG9J
ZE1hcCwgY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUpOwordm9pZCBtYXBBdHRyaWJ1dGVU
b0NTU1Byb3BlcnR5KEhhc2hNYXA8QXRvbWljU3RyaW5nSW1wbCosIGludD4qIHByb3BlcnR5TmFt
ZVRvSWRNYXAsIGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lKTsKIAotICAgIGNsYXNzIFNW
R1N0eWxlZEVsZW1lbnQgOiBwdWJsaWMgU1ZHRWxlbWVudCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcHVibGljIFNWR1N0eWxhYmxlIHsKLSAgICBwdWJsaWM6Ci0gICAgICAgIHZpcnR1
YWwgflNWR1N0eWxlZEVsZW1lbnQoKTsKK2NsYXNzIFNWR1N0eWxlZEVsZW1lbnQgOiBwdWJsaWMg
U1ZHRWxlbWVudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHU3R5bGFibGUg
eworcHVibGljOgorICAgIHZpcnR1YWwgflNWR1N0eWxlZEVsZW1lbnQoKTsKIAotICAgICAgICB2
aXJ0dWFsIFN0cmluZyB0aXRsZSgpIGNvbnN0OworICAgIHZpcnR1YWwgU3RyaW5nIHRpdGxlKCkg
Y29uc3Q7CiAKLSAgICAgICAgYm9vbCBoYXNSZWxhdGl2ZUxlbmd0aHMoKSBjb25zdCB7IHJldHVy
biAhbV9lbGVtZW50c1dpdGhSZWxhdGl2ZUxlbmd0aHMuaXNFbXB0eSgpOyB9CisgICAgYm9vbCBo
YXNSZWxhdGl2ZUxlbmd0aHMoKSBjb25zdCB7IHJldHVybiAhbV9lbGVtZW50c1dpdGhSZWxhdGl2
ZUxlbmd0aHMuaXNFbXB0eSgpOyB9CiAKLSAgICAgICAgdmlydHVhbCBib29sIHN1cHBvcnRzTWFy
a2VycygpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVhbCBib29sIHN1cHBvcnRz
TWFya2VycygpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKLSAgICAgICAgdmlydHVhbCBQYXNz
UmVmUHRyPENTU1ZhbHVlPiBnZXRQcmVzZW50YXRpb25BdHRyaWJ1dGUoY29uc3QgU3RyaW5nJiBu
YW1lKTsKKyAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IGdldFByZXNlbnRhdGlvbkF0
dHJpYnV0ZShjb25zdCBTdHJpbmcmIG5hbWUpOwogCi0gICAgICAgIGJvb2wgaXNLbm93bkF0dHJp
YnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJik7CisgICAgYm9vbCBpc0tub3duQXR0cmlidXRlKGNv
bnN0IFF1YWxpZmllZE5hbWUmKTsKIAotICAgICAgICAvLyBDZW50cmFsaXplZCBwbGFjZSB0byBm
b3JjZSBhIG1hbnVhbCBzdHlsZSByZXNvbHV0aW9uLiBIYWNreSBidXQgbmVlZGVkIGZvciBub3cu
Ci0gICAgICAgIFBhc3NSZWZQdHI8UmVuZGVyU3R5bGU+IHJlc29sdmVTdHlsZShSZW5kZXJTdHls
ZSogcGFyZW50U3R5bGUpOworICAgIC8vIENlbnRyYWxpemVkIHBsYWNlIHRvIGZvcmNlIGEgbWFu
dWFsIHN0eWxlIHJlc29sdXRpb24uIEhhY2t5IGJ1dCBuZWVkZWQgZm9yIG5vdy4KKyAgICBQYXNz
UmVmUHRyPFJlbmRlclN0eWxlPiByZXNvbHZlU3R5bGUoUmVuZGVyU3R5bGUqIHBhcmVudFN0eWxl
KTsKIAotICAgICAgICBib29sIGluc3RhbmNlVXBkYXRlc0Jsb2NrZWQoKSBjb25zdDsKLSAgICAg
ICAgdm9pZCBzZXRJbnN0YW5jZVVwZGF0ZXNCbG9ja2VkKGJvb2wpOworICAgIGJvb2wgaW5zdGFu
Y2VVcGRhdGVzQmxvY2tlZCgpIGNvbnN0OworICAgIHZvaWQgc2V0SW5zdGFuY2VVcGRhdGVzQmxv
Y2tlZChib29sKTsKIAotICAgICAgICB2aXJ0dWFsIEFmZmluZVRyYW5zZm9ybSBsb2NhbENvb3Jk
aW5hdGVTcGFjZVRyYW5zZm9ybShTVkdMb2NhdGFibGU6OkNUTVNjb3BlKSBjb25zdDsKKyAgICB2
aXJ0dWFsIEFmZmluZVRyYW5zZm9ybSBsb2NhbENvb3JkaW5hdGVTcGFjZVRyYW5zZm9ybShTVkdM
b2NhdGFibGU6OkNUTVNjb3BlKSBjb25zdDsKIAotICAgICAgICB2aXJ0dWFsIENTU1N0eWxlRGVj
bGFyYXRpb24qIHN0eWxlKCkgeyByZXR1cm4gU3R5bGVkRWxlbWVudDo6c3R5bGUoKTsgfQorICAg
IHZpcnR1YWwgQ1NTU3R5bGVEZWNsYXJhdGlvbiogc3R5bGUoKSB7IHJldHVybiBTdHlsZWRFbGVt
ZW50OjpzdHlsZSgpOyB9CiAKLSAgICBwcm90ZWN0ZWQ6IAotICAgICAgICBTVkdTdHlsZWRFbGVt
ZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOworcHJvdGVjdGVkOiAKKyAgICBT
VkdTdHlsZWRFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOwogCi0gICAg
ICAgIHZpcnR1YWwgYm9vbCByZW5kZXJlcklzTmVlZGVkKFJlbmRlclN0eWxlKik7CisgICAgdmly
dHVhbCBib29sIHJlbmRlcmVySXNOZWVkZWQoUmVuZGVyU3R5bGUqKTsKIAotICAgICAgICB2aXJ0
dWFsIGJvb2wgbWFwVG9FbnRyeShjb25zdCBRdWFsaWZpZWROYW1lJiwgTWFwcGVkQXR0cmlidXRl
RW50cnkmKSBjb25zdDsKLSAgICAgICAgdmlydHVhbCB2b2lkIHBhcnNlTWFwcGVkQXR0cmlidXRl
KEF0dHJpYnV0ZSopOwotICAgICAgICB2aXJ0dWFsIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChj
b25zdCBRdWFsaWZpZWROYW1lJik7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBzeW5jaHJvbml6ZVBy
b3BlcnR5KGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKKyAgICB2aXJ0dWFsIGJvb2wgbWFwVG9FbnRy
eShjb25zdCBRdWFsaWZpZWROYW1lJiwgTWFwcGVkQXR0cmlidXRlRW50cnkmKSBjb25zdDsKKyAg
ICB2aXJ0dWFsIHZvaWQgcGFyc2VNYXBwZWRBdHRyaWJ1dGUoQXR0cmlidXRlKik7CisgICAgdmly
dHVhbCB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYpOworICAg
IHZpcnR1YWwgdm9pZCBzeW5jaHJvbml6ZVByb3BlcnR5KGNvbnN0IFF1YWxpZmllZE5hbWUmKTsK
IAotICAgICAgICB2aXJ0dWFsIHZvaWQgYXR0YWNoKCk7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBp
bnNlcnRlZEludG9Eb2N1bWVudCgpOwotICAgICAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlZEZyb21E
b2N1bWVudCgpOwotICAgICAgICB2aXJ0dWFsIHZvaWQgY2hpbGRyZW5DaGFuZ2VkKGJvb2wgY2hh
bmdlZEJ5UGFyc2VyID0gZmFsc2UsIE5vZGUqIGJlZm9yZUNoYW5nZSA9IDAsIE5vZGUqIGFmdGVy
Q2hhbmdlID0gMCwgaW50IGNoaWxkQ291bnREZWx0YSA9IDApOworICAgIHZpcnR1YWwgdm9pZCBh
dHRhY2goKTsKKyAgICB2aXJ0dWFsIHZvaWQgaW5zZXJ0ZWRJbnRvRG9jdW1lbnQoKTsKKyAgICB2
aXJ0dWFsIHZvaWQgcmVtb3ZlZEZyb21Eb2N1bWVudCgpOworICAgIHZpcnR1YWwgdm9pZCBjaGls
ZHJlbkNoYW5nZWQoYm9vbCBjaGFuZ2VkQnlQYXJzZXIgPSBmYWxzZSwgTm9kZSogYmVmb3JlQ2hh
bmdlID0gMCwgTm9kZSogYWZ0ZXJDaGFuZ2UgPSAwLCBpbnQgY2hpbGRDb3VudERlbHRhID0gMCk7
CiAKLSAgICAgICAgc3RhdGljIGludCBjc3NQcm9wZXJ0eUlkRm9yU1ZHQXR0cmlidXRlTmFtZShj
b25zdCBRdWFsaWZpZWROYW1lJik7Ci0gICAgICAgIHZvaWQgdXBkYXRlUmVsYXRpdmVMZW5ndGhz
SW5mb3JtYXRpb24oKSB7IHVwZGF0ZVJlbGF0aXZlTGVuZ3Roc0luZm9ybWF0aW9uKHNlbGZIYXNS
ZWxhdGl2ZUxlbmd0aHMoKSwgdGhpcyk7IH0KLSAgICAgICAgdm9pZCB1cGRhdGVSZWxhdGl2ZUxl
bmd0aHNJbmZvcm1hdGlvbihib29sIGhhc1JlbGF0aXZlTGVuZ3RocywgU1ZHU3R5bGVkRWxlbWVu
dCopOworICAgIHN0YXRpYyBpbnQgY3NzUHJvcGVydHlJZEZvclNWR0F0dHJpYnV0ZU5hbWUoY29u
c3QgUXVhbGlmaWVkTmFtZSYpOworICAgIHZvaWQgdXBkYXRlUmVsYXRpdmVMZW5ndGhzSW5mb3Jt
YXRpb24oKSB7IHVwZGF0ZVJlbGF0aXZlTGVuZ3Roc0luZm9ybWF0aW9uKHNlbGZIYXNSZWxhdGl2
ZUxlbmd0aHMoKSwgdGhpcyk7IH0KKyAgICB2b2lkIHVwZGF0ZVJlbGF0aXZlTGVuZ3Roc0luZm9y
bWF0aW9uKGJvb2wgaGFzUmVsYXRpdmVMZW5ndGhzLCBTVkdTdHlsZWRFbGVtZW50Kik7CiAKLSAg
ICAgICAgdmlydHVhbCBib29sIHNlbGZIYXNSZWxhdGl2ZUxlbmd0aHMoKSBjb25zdCB7IHJldHVy
biBmYWxzZTsgfQorICAgIHZpcnR1YWwgYm9vbCBzZWxmSGFzUmVsYXRpdmVMZW5ndGhzKCkgY29u
c3QgeyByZXR1cm4gZmFsc2U7IH0KIAotICAgIHByaXZhdGU6Ci0gICAgICAgIHZpcnR1YWwgYm9v
bCBpc1N0eWxlZCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KK3ByaXZhdGU6CisgICAgdmlydHVh
bCBib29sIGlzU3R5bGVkKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogCi0gICAgICAgIEhhc2hT
ZXQ8U1ZHU3R5bGVkRWxlbWVudCo+IG1fZWxlbWVudHNXaXRoUmVsYXRpdmVMZW5ndGhzOworICAg
IEhhc2hTZXQ8U1ZHU3R5bGVkRWxlbWVudCo+IG1fZWxlbWVudHNXaXRoUmVsYXRpdmVMZW5ndGhz
OwogCi0gICAgICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdTdHls
ZWRFbGVtZW50LCBIVE1MTmFtZXM6OmNsYXNzQXR0ciwgU3RyaW5nLCBDbGFzc05hbWUsIGNsYXNz
TmFtZSkKLSAgICB9OworICAgIC8vIEFuaW1hdGVkIHByb3BlcnR5IGRlY2xhcmF0aW9ucworICAg
IERFQ0xBUkVfQU5JTUFURURfU1RSSU5HKENsYXNzTmFtZSwgY2xhc3NOYW1lKQorfTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQogCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdUUmVmRWxlbWVudC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHVFJlZkVsZW1lbnQuY3BwCShyZXZpc2lv
biA3MzAxMCkKKysrIFdlYkNvcmUvc3ZnL1NWR1RSZWZFbGVtZW50LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzIsNiArMzIsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKKy8vIEFuaW1hdGVk
IHByb3BlcnR5IGRlZmluaXRpb25zCitERUZJTkVfQU5JTUFURURfU1RSSU5HKFNWR1RSZWZFbGVt
ZW50LCBYTGlua05hbWVzOjpocmVmQXR0ciwgSHJlZiwgaHJlZikKKwogaW5saW5lIFNWR1RSZWZF
bGVtZW50OjpTVkdUUmVmRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1
bWVudCogZG9jdW1lbnQpCiAgICAgOiBTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50KHRhZ05hbWUs
IGRvY3VtZW50KQogewpJbmRleDogV2ViQ29yZS9zdmcvU1ZHVFJlZkVsZW1lbnQuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdUUmVmRWxlbWVudC5oCShyZXZpc2lvbiA3MzAxMCkKKysr
IFdlYkNvcmUvc3ZnL1NWR1RSZWZFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTI3LDI2ICsy
NywyOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSAgICBjbGFzcyBTVkdUUmVmRWxlbWVu
dCA6IHB1YmxpYyBTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcHVibGljIFNWR1VSSVJlZmVyZW5jZSB7Ci0gICAgcHVibGljOgotICAgICAgICBz
dGF0aWMgUGFzc1JlZlB0cjxTVkdUUmVmRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5h
bWUmLCBEb2N1bWVudCopOwotCi0gICAgcHJpdmF0ZToKLSAgICAgICAgU1ZHVFJlZkVsZW1lbnQo
Y29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7Ci0KLSAgICAgICAgdmlydHVhbCB2b2lk
IHBhcnNlTWFwcGVkQXR0cmlidXRlKEF0dHJpYnV0ZSopOwotICAgICAgICB2aXJ0dWFsIHZvaWQg
c3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJik7Ci0gICAgICAgIHZpcnR1
YWwgdm9pZCBzeW5jaHJvbml6ZVByb3BlcnR5KGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKLQotICAg
ICAgICB2aXJ0dWFsIFJlbmRlck9iamVjdCogY3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqLCBS
ZW5kZXJTdHlsZSopOwotICAgICAgICB2aXJ0dWFsIGJvb2wgY2hpbGRTaG91bGRDcmVhdGVSZW5k
ZXJlcihOb2RlKikgY29uc3Q7Ci0KLSAgICAgICAgdm9pZCB1cGRhdGVSZWZlcmVuY2VkVGV4dCgp
OwotCi0gICAgICAgIC8vIFNWR1VSSVJlZmVyZW5jZQotICAgICAgICBERUNMQVJFX0FOSU1BVEVE
X1NUQVRJQ19QUk9QRVJUWV9ORVcoU1ZHVFJlZkVsZW1lbnQsIFhMaW5rTmFtZXM6OmhyZWZBdHRy
LCBTdHJpbmcsIEhyZWYsIGhyZWYpCi0gICAgfTsKK2NsYXNzIFNWR1RSZWZFbGVtZW50IDogcHVi
bGljIFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQsCisgICAgICAgICAgICAgICAgICAgICAgIHB1
YmxpYyBTVkdVUklSZWZlcmVuY2UgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNW
R1RSZWZFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7CisK
K3ByaXZhdGU6CisgICAgU1ZHVFJlZkVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3Vt
ZW50Kik7CisKKyAgICB2aXJ0dWFsIHZvaWQgcGFyc2VNYXBwZWRBdHRyaWJ1dGUoQXR0cmlidXRl
Kik7CisgICAgdmlydHVhbCB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVk
TmFtZSYpOworICAgIHZpcnR1YWwgdm9pZCBzeW5jaHJvbml6ZVByb3BlcnR5KGNvbnN0IFF1YWxp
ZmllZE5hbWUmKTsKKworICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0KiBjcmVhdGVSZW5kZXJlcihS
ZW5kZXJBcmVuYSosIFJlbmRlclN0eWxlKik7CisgICAgdmlydHVhbCBib29sIGNoaWxkU2hvdWxk
Q3JlYXRlUmVuZGVyZXIoTm9kZSopIGNvbnN0OworCisgICAgdm9pZCB1cGRhdGVSZWZlcmVuY2Vk
VGV4dCgpOworCisgICAgLy8gQW5pbWF0ZWQgcHJvcGVydHkgZGVjbGFyYXRpb25zCisKKyAgICAv
LyBTVkdVUklSZWZlcmVuY2UKKyAgICBERUNMQVJFX0FOSU1BVEVEX1NUUklORyhIcmVmLCBocmVm
KQorfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdU
ZXh0Q29udGVudEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1RleHRD
b250ZW50RWxlbWVudC5jcHAJKHJldmlzaW9uIDczMDE2KQorKysgV2ViQ29yZS9zdmcvU1ZHVGV4
dENvbnRlbnRFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzUsNiArMzUsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIC8vIEFuaW1hdGVkIHByb3BlcnR5IGRlZmluaXRpb25zCiBERUZJ
TkVfQU5JTUFURURfTEVOR1RIKFNWR1RleHRDb250ZW50RWxlbWVudCwgU1ZHTmFtZXM6OnRleHRM
ZW5ndGhBdHRyLCBUZXh0TGVuZ3RoLCB0ZXh0TGVuZ3RoKQorREVGSU5FX0FOSU1BVEVEX0VOVU1F
UkFUSU9OKFNWR1RleHRDb250ZW50RWxlbWVudCwgU1ZHTmFtZXM6Omxlbmd0aEFkanVzdEF0dHIs
IExlbmd0aEFkanVzdCwgbGVuZ3RoQWRqdXN0KQogCiBTVkdUZXh0Q29udGVudEVsZW1lbnQ6OlNW
R1RleHRDb250ZW50RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVu
dCogZG9jdW1lbnQpCiAgICAgOiBTVkdTdHlsZWRFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQpJ
bmRleDogV2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmgJKHJldmlzaW9uIDczMDE2KQorKysg
V2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTIy
LDggKzIyLDggQEAKICNkZWZpbmUgU1ZHVGV4dENvbnRlbnRFbGVtZW50X2gKIAogI2lmIEVOQUJM
RShTVkcpCisjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbi5oIgogI2luY2x1ZGUgIlNW
R0FuaW1hdGVkTGVuZ3RoLmgiCi0jaW5jbHVkZSAiU1ZHQW5pbWF0ZWRQcm9wZXJ0eU1hY3Jvcy5o
IgogI2luY2x1ZGUgIlNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuaCIKICNpbmNsdWRlICJT
VkdMYW5nU3BhY2UuaCIKICNpbmNsdWRlICJTVkdTdHlsZWRFbGVtZW50LmgiCkBAIC03Miw3ICs3
Miw3IEBAIHByaXZhdGU6CiAKICAgICAvLyBBbmltYXRlZCBwcm9wZXJ0eSBkZWNsYXJhdGlvbnMK
ICAgICBERUNMQVJFX0FOSU1BVEVEX0xFTkdUSChUZXh0TGVuZ3RoLCB0ZXh0TGVuZ3RoKQotICAg
IERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdUZXh0Q29udGVudEVsZW1l
bnQsIFNWR05hbWVzOjpsZW5ndGhBZGp1c3RBdHRyLCBpbnQsIExlbmd0aEFkanVzdCwgbGVuZ3Ro
QWRqdXN0KQorICAgIERFQ0xBUkVfQU5JTUFURURfRU5VTUVSQVRJT04oTGVuZ3RoQWRqdXN0LCBs
ZW5ndGhBZGp1c3QpCiAKICAgICAvLyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkCiAgICAg
REVDTEFSRV9BTklNQVRFRF9TVEFUSUNfUFJPUEVSVFlfTkVXKFNWR1RleHRDb250ZW50RWxlbWVu
dCwgU1ZHTmFtZXM6OmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWRBdHRyLCBib29sLCBFeHRlcm5h
bFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKSAKSW5kZXg6IFdl
YkNvcmUvc3ZnL1NWR1RleHRQYXRoRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9z
dmcvU1ZHVGV4dFBhdGhFbGVtZW50LmNwcAkocmV2aXNpb24gNzMwMTYpCisrKyBXZWJDb3JlL3N2
Zy9TVkdUZXh0UGF0aEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw2ICszMSw5IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gQW5pbWF0ZWQgcHJvcGVydHkgZGVmaW5pdGlvbnMK
IERFRklORV9BTklNQVRFRF9MRU5HVEgoU1ZHVGV4dFBhdGhFbGVtZW50LCBTVkdOYW1lczo6c3Rh
cnRPZmZzZXRBdHRyLCBTdGFydE9mZnNldCwgc3RhcnRPZmZzZXQpCitERUZJTkVfQU5JTUFURURf
RU5VTUVSQVRJT04oU1ZHVGV4dFBhdGhFbGVtZW50LCBTVkdOYW1lczo6bWV0aG9kQXR0ciwgTWV0
aG9kLCBtZXRob2QpCitERUZJTkVfQU5JTUFURURfRU5VTUVSQVRJT04oU1ZHVGV4dFBhdGhFbGVt
ZW50LCBTVkdOYW1lczo6c3BhY2luZ0F0dHIsIFNwYWNpbmcsIHNwYWNpbmcpCitERUZJTkVfQU5J
TUFURURfU1RSSU5HKFNWR1RleHRQYXRoRWxlbWVudCwgWExpbmtOYW1lczo6aHJlZkF0dHIsIEhy
ZWYsIGhyZWYpCiAKIGlubGluZSBTVkdUZXh0UGF0aEVsZW1lbnQ6OlNWR1RleHRQYXRoRWxlbWVu
dChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCiAgICAg
OiBTVkdUZXh0Q29udGVudEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCkluZGV4OiBXZWJDb3Jl
L3N2Zy9TVkdUZXh0UGF0aEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdU
ZXh0UGF0aEVsZW1lbnQuaAkocmV2aXNpb24gNzMwMTYpCisrKyBXZWJDb3JlL3N2Zy9TVkdUZXh0
UGF0aEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNzAsMTEgKzcwLDExIEBAIHByaXZhdGU6
CiAKICAgICAvLyBBbmltYXRlZCBwcm9wZXJ0eSBkZWNsYXJhdGlvbnMKICAgICBERUNMQVJFX0FO
SU1BVEVEX0xFTkdUSChTdGFydE9mZnNldCwgc3RhcnRPZmZzZXQpCi0gICAgREVDTEFSRV9BTklN
QVRFRF9TVEFUSUNfUFJPUEVSVFlfTkVXKFNWR1RleHRQYXRoRWxlbWVudCwgU1ZHTmFtZXM6Om1l
dGhvZEF0dHIsIGludCwgTWV0aG9kLCBtZXRob2QpCi0gICAgREVDTEFSRV9BTklNQVRFRF9TVEFU
SUNfUFJPUEVSVFlfTkVXKFNWR1RleHRQYXRoRWxlbWVudCwgU1ZHTmFtZXM6OnNwYWNpbmdBdHRy
LCBpbnQsIFNwYWNpbmcsIHNwYWNpbmcpCisgICAgREVDTEFSRV9BTklNQVRFRF9FTlVNRVJBVElP
TihNZXRob2QsIG1ldGhvZCkKKyAgICBERUNMQVJFX0FOSU1BVEVEX0VOVU1FUkFUSU9OKFNwYWNp
bmcsIHNwYWNpbmcpCiAKICAgICAvLyBTVkdVUklSZWZlcmVuY2UKLSAgICBERUNMQVJFX0FOSU1B
VEVEX1NUQVRJQ19QUk9QRVJUWV9ORVcoU1ZHVGV4dFBhdGhFbGVtZW50LCBYTGlua05hbWVzOjpo
cmVmQXR0ciwgU3RyaW5nLCBIcmVmLCBocmVmKQorICAgIERFQ0xBUkVfQU5JTUFURURfU1RSSU5H
KEhyZWYsIGhyZWYpCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3Jl
L3N2Zy9TVkdVc2VFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdVc2VF
bGVtZW50LmNwcAkocmV2aXNpb24gNzMwMTYpCisrKyBXZWJDb3JlL3N2Zy9TVkdVc2VFbGVtZW50
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjIsNiArNjIsNyBAQCBERUZJTkVfQU5JTUFURURfTEVO
R1RIKFNWR1VzZUVsZW1lbnQsIFNWCiBERUZJTkVfQU5JTUFURURfTEVOR1RIKFNWR1VzZUVsZW1l
bnQsIFNWR05hbWVzOjp5QXR0ciwgWSwgeSkKIERFRklORV9BTklNQVRFRF9MRU5HVEgoU1ZHVXNl
RWxlbWVudCwgU1ZHTmFtZXM6OndpZHRoQXR0ciwgV2lkdGgsIHdpZHRoKQogREVGSU5FX0FOSU1B
VEVEX0xFTkdUSChTVkdVc2VFbGVtZW50LCBTVkdOYW1lczo6aGVpZ2h0QXR0ciwgSGVpZ2h0LCBo
ZWlnaHQpCitERUZJTkVfQU5JTUFURURfU1RSSU5HKFNWR1VzZUVsZW1lbnQsIFhMaW5rTmFtZXM6
OmhyZWZBdHRyLCBIcmVmLCBocmVmKQogCiBpbmxpbmUgU1ZHVXNlRWxlbWVudDo6U1ZHVXNlRWxl
bWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCiAg
ICAgOiBTVkdTdHlsZWRUcmFuc2Zvcm1hYmxlRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKSW5k
ZXg6IFdlYkNvcmUvc3ZnL1NWR1VzZUVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2
Zy9TVkdVc2VFbGVtZW50LmgJKHJldmlzaW9uIDczMDE2KQorKysgV2ViQ29yZS9zdmcvU1ZHVXNl
RWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDksNyArMTA5LDcgQEAgcHJpdmF0ZToKICAg
ICBERUNMQVJFX0FOSU1BVEVEX0xFTkdUSChIZWlnaHQsIGhlaWdodCkKIAogICAgIC8vIFNWR1VS
SVJlZmVyZW5jZQotICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdV
c2VFbGVtZW50LCBYTGlua05hbWVzOjpocmVmQXR0ciwgU3RyaW5nLCBIcmVmLCBocmVmKQorICAg
IERFQ0xBUkVfQU5JTUFURURfU1RSSU5HKEhyZWYsIGhyZWYpCiAKICAgICAvLyBTVkdFeHRlcm5h
bFJlc291cmNlc1JlcXVpcmVkCiAgICAgREVDTEFSRV9BTklNQVRFRF9TVEFUSUNfUFJPUEVSVFlf
TkVXKFNWR1VzZUVsZW1lbnQsIFNWR05hbWVzOjpleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkQXR0
ciwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1
aXJlZCkK
</data>
<flag name="review"
          id="66160"
          type_id="1"
          status="+"
          setter="aroben"
    />
          </attachment>
      

    </bug>

</bugzilla>