<?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>198122</bug_id>
          
          <creation_ts>2019-05-22 09:00:19 -0700</creation_ts>
          <short_desc>Remove the non final propertyRegistry() from the SVG base classes</short_desc>
          <delta_ts>2019-06-08 18:12:14 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>SVG</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>192519</blocked>
    
    <blocked>198073</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Said Abou-Hallawa">sabouhallawa</reporter>
          <assigned_to name="Said Abou-Hallawa">sabouhallawa</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1538198</commentid>
    <comment_count>0</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2019-05-22 09:00:19 -0700</bug_when>
    <thetext>This saves the memory that is taken by the member SVGPropertyRegistry of the base class. propertyRegistry() is only needed for concrete classes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538200</commentid>
    <comment_count>1</comment_count>
      <attachid>370400</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2019-05-22 09:04:00 -0700</bug_when>
    <thetext>Created attachment 370400
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538205</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-05-22 09:07:25 -0700</bug_when>
    <thetext>Attachment 370400 did not pass style-queue:


ERROR: Source/WebCore/svg/SVGFETurbulenceElement.h:36:  enum members should use InterCaps with an initial capital letter or initial &apos;k&apos; for C-style enums.  [readability/enum_casing] [4]
ERROR: Source/WebCore/svg/SVGFETurbulenceElement.h:37:  enum members should use InterCaps with an initial capital letter or initial &apos;k&apos; for C-style enums.  [readability/enum_casing] [4]
ERROR: Source/WebCore/svg/SVGFETurbulenceElement.h:38:  enum members should use InterCaps with an initial capital letter or initial &apos;k&apos; for C-style enums.  [readability/enum_casing] [4]
Total errors found: 3 in 144 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538653</commentid>
    <comment_count>3</comment_count>
      <attachid>370506</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2019-05-23 08:12:58 -0700</bug_when>
    <thetext>Created attachment 370506
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1543120</commentid>
    <comment_count>4</comment_count>
      <attachid>371669</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2019-06-08 14:55:25 -0700</bug_when>
    <thetext>Created attachment 371669
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1543125</commentid>
    <comment_count>5</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-06-08 14:57:07 -0700</bug_when>
    <thetext>Attachment 371669 did not pass style-queue:


ERROR: Source/WebCore/svg/SVGFETurbulenceElement.h:36:  enum members should use InterCaps with an initial capital letter or initial &apos;k&apos; for C-style enums.  [readability/enum_casing] [4]
ERROR: Source/WebCore/svg/SVGFETurbulenceElement.h:37:  enum members should use InterCaps with an initial capital letter or initial &apos;k&apos; for C-style enums.  [readability/enum_casing] [4]
ERROR: Source/WebCore/svg/SVGFETurbulenceElement.h:38:  enum members should use InterCaps with an initial capital letter or initial &apos;k&apos; for C-style enums.  [readability/enum_casing] [4]
Total errors found: 3 in 155 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1543160</commentid>
    <comment_count>6</comment_count>
      <attachid>371689</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2019-06-08 18:12:14 -0700</bug_when>
    <thetext>Created attachment 371689
Patch for review</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>370400</attachid>
            <date>2019-05-22 09:04:00 -0700</date>
            <delta_ts>2019-05-23 08:12:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-198122-20190522090359.patch</filename>
            <type>text/plain</type>
            <size>301086</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ1NjE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjU5NTdhODZiMjIwNDE4
YTlhMTVhMDhlNzg1MzE5YjBlYzFiNjY3OS4uNDdkYjQ3NTg5ZmE5YzY3ZjIzYmY3YTQzY2MxMmI1
MzRhZmMyNzFlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2NSBAQAorMjAxOS0wNS0yMiAgU2Fp
ZCBBYm91LUhhbGxhd2EgIDxzYWlkQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgdGhlIG5v
biBmaW5hbCBwcm9wZXJ0eVJlZ2lzdHJ5KCkgZnJvbSB0aGUgU1ZHIGJhc2UgY2xhc3NlcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4MTIyCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBzYXZlcyB0
aGUgbWVtb3J5IHRoYXQgaXMgdGFrZW4gYnkgdGhlIG1lbWJlciBTVkdQcm9wZXJ0eVJlZ2lzdHJ5
IG9mCisgICAgICAgIHRoZSBiYXNlIGNsYXNzLiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgaXMgb25seSBu
ZWVkZWQgZm9yIGNvbmNyZXRlIGNsYXNzZXMuCisKKyAgICAgICAgKiBzdmcvU1ZHQUVsZW1lbnQu
aDoKKyAgICAgICAgKiBzdmcvU1ZHQWx0R2x5cGhEZWZFbGVtZW50Lmg6CisgICAgICAgICogc3Zn
L1NWR0FsdEdseXBoRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdBbHRHbHlwaEl0ZW1FbGVt
ZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0FuaW1hdGlvbkVsZW1lbnQuaDoKKyAgICAgICAgKiBz
dmcvU1ZHQ2lyY2xlRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdDbGlwUGF0aEVsZW1lbnQu
aDoKKyAgICAgICAgKiBzdmcvU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQuaDoK
KyAgICAgICAgKiBzdmcvU1ZHQ3Vyc29yRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdEZWZz
RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdEZXNjRWxlbWVudC5oOgorICAgICAgICAqIHN2
Zy9TVkdFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbGVtZW50Ojpwcm9wZXJ0eVJl
Z2lzdHJ5IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBzdmcvU1ZHRWxsaXBzZUVsZW1lbnQu
aDoKKyAgICAgICAgKiBzdmcvU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5oOgorICAgICAg
ICAqIHN2Zy9TVkdGRUJsZW5kRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdGRUNvbG9yTWF0
cml4RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdGRUNvbXBvbmVudFRyYW5zZmVyRWxlbWVu
dC5oOgorICAgICAgICAqIHN2Zy9TVkdGRUNvbXBvc2l0ZUVsZW1lbnQuaDoKKyAgICAgICAgKiBz
dmcvU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHRkVEaWZm
dXNlTGlnaHRpbmdFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0ZFRGlzcGxhY2VtZW50TWFw
RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdGRURyb3BTaGFkb3dFbGVtZW50Lmg6CisgICAg
ICAgICogc3ZnL1NWR0ZFRmxvb2RFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0ZFR2F1c3Np
YW5CbHVyRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdGRUltYWdlRWxlbWVudC5oOgorICAg
ICAgICAqIHN2Zy9TVkdGRUxpZ2h0RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdGRU1lcmdl
RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdGRU1lcmdlTm9kZUVsZW1lbnQuaDoKKyAgICAg
ICAgKiBzdmcvU1ZHRkVNb3JwaG9sb2d5RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdGRU9m
ZnNldEVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVu
dC5oOgorICAgICAgICAqIHN2Zy9TVkdGRVRpbGVFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NW
R0ZFVHVyYnVsZW5jZUVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHRmlsdGVyRWxlbWVudC5o
OgorICAgICAgICAqIHN2Zy9TVkdGb250RmFjZUVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZH
Rm9udEZhY2VGb3JtYXRFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0ZvbnRGYWNlTmFtZUVs
ZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHRm9udEZhY2VTcmNFbGVtZW50Lmg6CisgICAgICAg
ICogc3ZnL1NWR0ZvbnRGYWNlVXJpRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdGb3JlaWdu
T2JqZWN0RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdHRWxlbWVudC5oOgorICAgICAgICAq
IHN2Zy9TVkdHZW9tZXRyeUVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHR2x5cGhFbGVtZW50
Lmg6CisgICAgICAgICogc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9T
VkdHcmFwaGljc0VsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHSEtlcm5FbGVtZW50Lmg6Cisg
ICAgICAgICogc3ZnL1NWR0ltYWdlRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdMaW5lRWxl
bWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQuaDoKKyAgICAg
ICAgKiBzdmcvU1ZHTVBhdGhFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR01hcmtlckVsZW1l
bnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHTWFza0VsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZH
TWV0YWRhdGFFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR01pc3NpbmdHbHlwaEVsZW1lbnQu
aDoKKyAgICAgICAgKiBzdmcvU1ZHUGF0aEVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHUGF0
dGVybkVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHUG9seUVsZW1lbnQuaDoKKyAgICAgICAg
KiBzdmcvU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR1JlY3RF
bGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR1NWR0VsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcv
U1ZHU2NyaXB0RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdTdG9wRWxlbWVudC5oOgorICAg
ICAgICAqIHN2Zy9TVkdTdHlsZUVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHU3dpdGNoRWxl
bWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdTeW1ib2xFbGVtZW50Lmg6CisgICAgICAgICogc3Zn
L1NWR1RSZWZFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR1RTcGFuRWxlbWVudC5oOgorICAg
ICAgICAqIHN2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHVGV4
dEVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHVGV4dFBhdGhFbGVtZW50Lmg6CisgICAgICAg
ICogc3ZnL1NWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHVGl0
bGVFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR1Vua25vd25FbGVtZW50Lmg6CisgICAgICAg
ICogc3ZnL1NWR1VzZUVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHVktlcm5FbGVtZW50Lmg6
CisgICAgICAgICogc3ZnL1NWR1ZpZXdFbGVtZW50Lmg6CisKKzIwMTktMDUtMjIgIFNhaWQgQWJv
dS1IYWxsYXdhICA8c2FpZEBhcHBsZS5jb20+CisKKyAgICAgICAgU1ZHUHJvcGVydHlUcmFpdHMg
YW5kIFNWRyBlbnVtIHR5cGVzIGNsZWFuIHVwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xOTgwNzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBJbiB0aGlzIHBhdGNoOgorCisgICAgICAgIC0tIEFsbCBTVkdQ
cm9wZXJ0eVRyYWl0cyB3aWxsIGhhdmUgdHdvIGZ1bmN0aW9ucyBmb3IgcGFyc2luZyBhIHN0cmlu
ZyB0byAKKyAgICAgICAgICAgdGhlIHByb3BlcnR5IHR5cGUuIAorICAgICAgICAgICAxKSBwYXJz
ZSgpIHdpbGwgcmV0dXJuIEV4cGVjdGVkPFByb3BlcnR5VHlwZSwgU1ZHUGFyc2luZ0Vycm9yPi4K
KyAgICAgICAgICAgMikgZnJvbVN0cmluZygpIHdpbGwgY2FsbCBwYXJzZSgpIGJ1dCB3aWxsIHJl
dHVybiB0aGUgZGVmYXVsdCB2YWx1ZQorICAgICAgICAgICAgICBpZiBwYXJzZSgpIHJldHVybnMg
YW4gZXJyb3IuCisKKyAgICAgICAgLS0gQWxsIHRoZSBTVkcgZW51bSB0eXBlcyBhcmUgbW92ZWQg
dG8gYSBzaW5nbGUgZmlsZSBuYW1lZCBTVkdFbnVtVHlwZS5oLgorICAgICAgICAgICBBIG5ldyBT
VkdQcm9wZXJ0eVRyYWl0cyBpcyBkZWZpbmVkIGZvciBhbGwgZW51bSB0eXBlcyBpbmNsdWRpbmcg
dGhlCisgICAgICAgICAgIG5vbi1TVkcgZW51bSB0eXBlcywgZS5nLiBCbGVuZE1vZGUuCisKKyAg
ICAgICAgLS0gQWxsIFNWR1Byb3BlcnR5VHJhaXRzIGZvciB0aGUgZW51bSB0eXBlcyBhcmUgcmVt
b3ZlZC4gUGFyc2luZyBhIHN0cmluZworICAgICAgICAgICB0byBhbiBlbnVtIHZhbHVlIHdpbGwg
YmUgZG9uZSBieSBTVkdFbnVtVmFsdWVQYXJzZXI6OnBhcnNlKCkuIEdldHRpbmcgCisgICAgICAg
ICAgIGEgc3RyaW5nIGZyb20gYW4gZW51bSB2YWx1ZSBpcyBkb25lIGJ5IFNWR0VudW1WYWx1ZUNv
bXBvc2VyOjp0b1N0cmluZygpLgorICAgICAgICAgICBFYWNoIGVudW0gdHlwZSBuZWVkcyB0byB0
ZW1wbGF0ZSBzcGVjaWFsaXplIFNWR0VudW1UcmFpdHM6OnZhbHVlcygpCisgICAgICAgICAgIHdo
aWNoIGFzc29jaWF0ZXMgZXZlcnkgZW11bSB2YWx1ZSB3aXRoIGEgc3RyaW5nLgorCisgICAgICAg
ICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGNzcy9DU1NQ
cmltaXRpdmVWYWx1ZU1hcHBpbmdzLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVW
YWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dy
YXBoaWNzVHlwZXMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0Nv
bnRleHRDRy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzZWxlY3RDR0JsZW5kTW9kZSk6CisgICAg
ICAgICogc3ZnL1NWR0FuZ2xlVmFsdWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5
VHJhaXRzPFNWR0FuZ2xlVmFsdWU+Ojppbml0aWFsVmFsdWUpOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8U1ZHQW5nbGVWYWx1ZT46OnRvU3RyaW5nKTogRGVs
ZXRlZC4KKyAgICAgICAgKiBzdmcvU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQu
aDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPENvbXBvbmVudFRyYW5zZmVy
VHlwZT46OmhpZ2hlc3RFbnVtVmFsdWUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZH
UHJvcGVydHlUcmFpdHM8Q29tcG9uZW50VHJhbnNmZXJUeXBlPjo6dG9TdHJpbmcpOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8Q29tcG9uZW50VHJhbnNmZXJU
eXBlPjo6ZnJvbVN0cmluZyk6IERlbGV0ZWQuCisgICAgICAgICogc3ZnL1NWR0ZFQmxlbmRFbGVt
ZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxCbGVuZE1vZGU+Ojpo
aWdoZXN0RW51bVZhbHVlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5
VHJhaXRzPEJsZW5kTW9kZT46OmZyb21TdHJpbmcpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHUHJvcGVydHlUcmFpdHM8QmxlbmRNb2RlPjo6dG9TdHJpbmcpOiBEZWxldGVkLgorICAg
ICAgICAqIHN2Zy9TVkdGRUNvbG9yTWF0cml4RWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHUHJvcGVydHlUcmFpdHM8Q29sb3JNYXRyaXhUeXBlPjo6aGlnaGVzdEVudW1WYWx1ZSk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxDb2xvck1hdHJpeFR5
cGU+Ojp0b1N0cmluZyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRy
YWl0czxDb2xvck1hdHJpeFR5cGU+Ojpmcm9tU3RyaW5nKTogRGVsZXRlZC4KKyAgICAgICAgKiBz
dmcvU1ZHRkVDb21wb3NpdGVFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdJRExFbnVt
TGltaXRzPENvbXBvc2l0ZU9wZXJhdGlvblR5cGU+OjpoaWdoZXN0RXhwb3NlZEVudW1WYWx1ZSk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxDb21wb3NpdGVP
cGVyYXRpb25UeXBlPjo6aGlnaGVzdEVudW1WYWx1ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxDb21wb3NpdGVPcGVyYXRpb25UeXBlPjo6dG9TdHJpbmcp
OiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8Q29tcG9zaXRl
T3BlcmF0aW9uVHlwZT46OmZyb21TdHJpbmcpOiBEZWxldGVkLgorICAgICAgICAqIHN2Zy9TVkdG
RUNvbnZvbHZlTWF0cml4RWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlU
cmFpdHM8RWRnZU1vZGVUeXBlPjo6aGlnaGVzdEVudW1WYWx1ZSk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxFZGdlTW9kZVR5cGU+Ojppbml0aWFsVmFsdWUp
OiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8RWRnZU1vZGVU
eXBlPjo6dG9TdHJpbmcpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlU
cmFpdHM8RWRnZU1vZGVUeXBlPjo6ZnJvbVN0cmluZyk6IERlbGV0ZWQuCisgICAgICAgICogc3Zn
L1NWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJv
cGVydHlUcmFpdHM8Q2hhbm5lbFNlbGVjdG9yVHlwZT46OmhpZ2hlc3RFbnVtVmFsdWUpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8Q2hhbm5lbFNlbGVjdG9y
VHlwZT46OnRvU3RyaW5nKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5
VHJhaXRzPENoYW5uZWxTZWxlY3RvclR5cGU+Ojpmcm9tU3RyaW5nKTogRGVsZXRlZC4KKyAgICAg
ICAgKiBzdmcvU1ZHRkVNb3JwaG9sb2d5RWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZH
UHJvcGVydHlUcmFpdHM8TW9ycGhvbG9neU9wZXJhdG9yVHlwZT46OmhpZ2hlc3RFbnVtVmFsdWUp
OiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8TW9ycGhvbG9n
eU9wZXJhdG9yVHlwZT46OnRvU3RyaW5nKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNW
R1Byb3BlcnR5VHJhaXRzPE1vcnBob2xvZ3lPcGVyYXRvclR5cGU+Ojpmcm9tU3RyaW5nKTogRGVs
ZXRlZC4KKyAgICAgICAgKiBzdmcvU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTVkdGRVR1cmJ1bGVuY2VFbGVtZW50OjpidWlsZCk6CisgICAgICAgICogc3Zn
L1NWR0ZFVHVyYnVsZW5jZUVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5
VHJhaXRzPFNWR1N0aXRjaE9wdGlvbnM+OjpoaWdoZXN0RW51bVZhbHVlKTogRGVsZXRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPFNWR1N0aXRjaE9wdGlvbnM+Ojp0b1N0
cmluZyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxTVkdT
dGl0Y2hPcHRpb25zPjo6ZnJvbVN0cmluZyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpT
VkdQcm9wZXJ0eVRyYWl0czxUdXJidWxlbmNlVHlwZT46OmhpZ2hlc3RFbnVtVmFsdWUpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8VHVyYnVsZW5jZVR5cGU+
Ojp0b1N0cmluZyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0
czxUdXJidWxlbmNlVHlwZT46OmZyb21TdHJpbmcpOiBEZWxldGVkLgorICAgICAgICAqIHN2Zy9T
VkdHcmFkaWVudEVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRz
PFNWR1NwcmVhZE1ldGhvZFR5cGU+OjpoaWdoZXN0RW51bVZhbHVlKTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPFNWR1NwcmVhZE1ldGhvZFR5cGU+Ojp0b1N0
cmluZyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxTVkdT
cHJlYWRNZXRob2RUeXBlPjo6ZnJvbVN0cmluZyk6IERlbGV0ZWQuCisgICAgICAgICogc3ZnL1NW
R0xlbmd0aFZhbHVlLmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxTVkdM
ZW5ndGhWYWx1ZT46OmluaXRpYWxWYWx1ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpT
VkdQcm9wZXJ0eVRyYWl0czxTVkdMZW5ndGhWYWx1ZT46OnBhcnNlKTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPFNWR0xlbmd0aFZhbHVlPjo6dG9TdHJpbmcp
OiBEZWxldGVkLgorICAgICAgICAqIHN2Zy9TVkdNYXJrZXJUeXBlcy5oOgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8U1ZHTWFya2VyVW5pdHNUeXBlPjo6aGlnaGVzdEVudW1W
YWx1ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxTVkdN
YXJrZXJVbml0c1R5cGU+Ojp0b1N0cmluZyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpT
VkdQcm9wZXJ0eVRyYWl0czxTVkdNYXJrZXJVbml0c1R5cGU+Ojpmcm9tU3RyaW5nKTogRGVsZXRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPFNWR01hcmtlck9yaWVudFR5
cGU+OjphdXRvU3RyaW5nKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5
VHJhaXRzPFNWR01hcmtlck9yaWVudFR5cGU+OjphdXRvU3RhcnRSZXZlcnNlU3RyaW5nKTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPFNWR01hcmtlck9yaWVu
dFR5cGU+OjpoaWdoZXN0RW51bVZhbHVlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNW
R1Byb3BlcnR5VHJhaXRzPFNWR01hcmtlck9yaWVudFR5cGU+Ojpmcm9tU3RyaW5nKTogRGVsZXRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPFNWR01hcmtlck9yaWVudFR5
cGU+Ojp0b1N0cmluZyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdJRExFbnVtTGlt
aXRzPFNWR01hcmtlck9yaWVudFR5cGU+OjpoaWdoZXN0RXhwb3NlZEVudW1WYWx1ZSk6IERlbGV0
ZWQuCisgICAgICAgICogc3ZnL1NWR1BhcnNpbmdFcnJvci5oOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHTnVtZXJpY1BhcnNpbmdWYWxpZGF0b3I6OnZhbGlkYXRlKToKKyAgICAgICAgKFdlYkNvcmU6
OnZhbGlkYXRlTnVtZXJpYyk6CisgICAgICAgICogc3ZnL1NWR1ByZXNlcnZlQXNwZWN0UmF0aW9W
YWx1ZS5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8U1ZHUHJlc2VydmVB
c3BlY3RSYXRpb1ZhbHVlPjo6aW5pdGlhbFZhbHVlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OlNWR1Byb3BlcnR5VHJhaXRzPFNWR1ByZXNlcnZlQXNwZWN0UmF0aW9WYWx1ZT46OmZyb21T
dHJpbmcpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8U1ZH
UHJlc2VydmVBc3BlY3RSYXRpb1ZhbHVlPjo6cGFyc2UpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8U1ZHUHJlc2VydmVBc3BlY3RSYXRpb1ZhbHVlPjo6dG9T
dHJpbmcpOiBEZWxldGVkLgorICAgICAgICAqIHN2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuaDoK
KyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPFNWR0xlbmd0aEFkanVzdFR5cGU+
OjpoaWdoZXN0RW51bVZhbHVlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3Bl
cnR5VHJhaXRzPFNWR0xlbmd0aEFkanVzdFR5cGU+Ojp0b1N0cmluZyk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxTVkdMZW5ndGhBZGp1c3RUeXBlPjo6ZnJv
bVN0cmluZyk6IERlbGV0ZWQuCisgICAgICAgICogc3ZnL1NWR1RleHRQYXRoRWxlbWVudC5oOgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8U1ZHVGV4dFBhdGhNZXRob2RUeXBl
Pjo6aGlnaGVzdEVudW1WYWx1ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9w
ZXJ0eVRyYWl0czxTVkdUZXh0UGF0aE1ldGhvZFR5cGU+Ojp0b1N0cmluZyk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxTVkdUZXh0UGF0aE1ldGhvZFR5cGU+
Ojpmcm9tU3RyaW5nKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJh
aXRzPFNWR1RleHRQYXRoU3BhY2luZ1R5cGU+OjpoaWdoZXN0RW51bVZhbHVlKTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPFNWR1RleHRQYXRoU3BhY2luZ1R5
cGU+Ojp0b1N0cmluZyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRy
YWl0czxTVkdUZXh0UGF0aFNwYWNpbmdUeXBlPjo6ZnJvbVN0cmluZyk6IERlbGV0ZWQuCisgICAg
ICAgICogc3ZnL1NWR1VuaXRUeXBlcy5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlU
cmFpdHM8U1ZHVW5pdFR5cGVzOjpTVkdVbml0VHlwZT46OmhpZ2hlc3RFbnVtVmFsdWUpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8U1ZHVW5pdFR5cGVzOjpT
VkdVbml0VHlwZT46OnRvU3RyaW5nKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1By
b3BlcnR5VHJhaXRzPFNWR1VuaXRUeXBlczo6U1ZHVW5pdFR5cGU+Ojpmcm9tU3RyaW5nKTogRGVs
ZXRlZC4KKyAgICAgICAgKiBzdmcvU1ZHWm9vbUFuZFBhbi5oOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHWm9vbUFuZFBhbjo6cmVzZXQpOgorICAgICAgICAqIHN2Zy9TVkdab29tQW5kUGFuVHlwZS5o
OiBEZWxldGVkLgorICAgICAgICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR0RlY29yYXRlZFByaW1pdGl2
ZS5oOgorICAgICAgICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR0VudW1UcmFpdHMuaDogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlOjpTVkdFbnVtVmFsdWVDaGVja2VyOjppc1ZhbGlkRW51bSk6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdFbnVtVmFsdWVQYXJzZXI6OnBhcnNlKToKKyAgICAgICAgKFdlYkNv
cmU6OlNWR0VudW1WYWx1ZUNvbXBvc2VyOjp0b1N0cmluZyk6CisgICAgICAgICogc3ZnL3Byb3Bl
cnRpZXMvU1ZHRW51bVR5cGUuaDogQWRkZWQuCisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZH
RW51bVR5cGVUcmFpdHMuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdFbnVtVHJhaXRz
PEJsZW5kTW9kZT46OnZhbHVlcyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbnVtVHJhaXRzPEJs
ZW5kTW9kZT46OmhpZ2hlc3RFeHBvc2VkRW51bVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OlNW
R0VudW1UcmFpdHM8Q2hhbm5lbFNlbGVjdG9yVHlwZT46OnZhbHVlcyk6CisgICAgICAgIChXZWJD
b3JlOjpTVkdFbnVtVHJhaXRzPENoYW5uZWxTZWxlY3RvclR5cGU+OjpoaWdoZXN0RXhwb3NlZEVu
dW1WYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbnVtVHJhaXRzPENvbXBvbmVudFRyYW5z
ZmVyVHlwZT46OnZhbHVlcyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbnVtVHJhaXRzPENvbXBv
bmVudFRyYW5zZmVyVHlwZT46OmhpZ2hlc3RFeHBvc2VkRW51bVZhbHVlKToKKyAgICAgICAgKFdl
YkNvcmU6OlNWR0VudW1UcmFpdHM8Q29sb3JNYXRyaXhUeXBlPjo6dmFsdWVzKToKKyAgICAgICAg
KFdlYkNvcmU6OlNWR0VudW1UcmFpdHM8Q29sb3JNYXRyaXhUeXBlPjo6aGlnaGVzdEV4cG9zZWRF
bnVtVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRW51bVRyYWl0czxDb21wb3NpdGVPcGVy
YXRpb25UeXBlPjo6dmFsdWVzKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VudW1UcmFpdHM8Q29t
cG9zaXRlT3BlcmF0aW9uVHlwZT46OmhpZ2hlc3RFeHBvc2VkRW51bVZhbHVlKToKKyAgICAgICAg
KFdlYkNvcmU6OlNWR0VudW1UcmFpdHM8RWRnZU1vZGVUeXBlPjo6dmFsdWVzKToKKyAgICAgICAg
KFdlYkNvcmU6OlNWR0VudW1UcmFpdHM8RWRnZU1vZGVUeXBlPjo6aGlnaGVzdEV4cG9zZWRFbnVt
VmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRW51bVRyYWl0czxNb3JwaG9sb2d5T3BlcmF0
b3JUeXBlPjo6dmFsdWVzKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VudW1UcmFpdHM8TW9ycGhv
bG9neU9wZXJhdG9yVHlwZT46OmhpZ2hlc3RFeHBvc2VkRW51bVZhbHVlKToKKyAgICAgICAgKFdl
YkNvcmU6OlNWR0VudW1UcmFpdHM8VHVyYnVsZW5jZVR5cGU+Ojp2YWx1ZXMpOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHRW51bVRyYWl0czxUdXJidWxlbmNlVHlwZT46OmhpZ2hlc3RFeHBvc2VkRW51
bVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VudW1UcmFpdHM8U1ZHTGVuZ3RoQWRqdXN0
VHlwZT46OnZhbHVlcyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbnVtVHJhaXRzPFNWR0xlbmd0
aEFkanVzdFR5cGU+OjpoaWdoZXN0RXhwb3NlZEVudW1WYWx1ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdFbnVtVHJhaXRzPFNWR01hcmtlclVuaXRzVHlwZT46OnZhbHVlcyk6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdFbnVtVHJhaXRzPFNWR01hcmtlclVuaXRzVHlwZT46OmhpZ2hlc3RFeHBvc2Vk
RW51bVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VudW1UcmFpdHM8U1ZHTWFya2VyT3Jp
ZW50VHlwZT46OnZhbHVlcyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbnVtVHJhaXRzPFNWR01h
cmtlck9yaWVudFR5cGU+OjpoaWdoZXN0RXhwb3NlZEVudW1WYWx1ZSk6CisgICAgICAgIChXZWJD
b3JlOjpTVkdFbnVtVHJhaXRzPFNWR1NwcmVhZE1ldGhvZFR5cGU+Ojp2YWx1ZXMpOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHRW51bVRyYWl0czxTVkdTcHJlYWRNZXRob2RUeXBlPjo6aGlnaGVzdEV4
cG9zZWRFbnVtVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRW51bVRyYWl0czxTVkdTdGl0
Y2hPcHRpb25zPjo6dmFsdWVzKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VudW1UcmFpdHM8U1ZH
U3RpdGNoT3B0aW9ucz46OmhpZ2hlc3RFeHBvc2VkRW51bVZhbHVlKToKKyAgICAgICAgKFdlYkNv
cmU6OlNWR0VudW1UcmFpdHM8U1ZHVGV4dFBhdGhNZXRob2RUeXBlPjo6dmFsdWVzKToKKyAgICAg
ICAgKFdlYkNvcmU6OlNWR0VudW1UcmFpdHM8U1ZHVGV4dFBhdGhNZXRob2RUeXBlPjo6aGlnaGVz
dEV4cG9zZWRFbnVtVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRW51bVRyYWl0czxTVkdU
ZXh0UGF0aFNwYWNpbmdUeXBlPjo6dmFsdWVzKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VudW1U
cmFpdHM8U1ZHVGV4dFBhdGhTcGFjaW5nVHlwZT46OmhpZ2hlc3RFeHBvc2VkRW51bVZhbHVlKToK
KyAgICAgICAgKFdlYkNvcmU6OlNWR0VudW1UcmFpdHM8U1ZHVW5pdFR5cGVzOjpTVkdVbml0VHlw
ZT46OnZhbHVlcyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbnVtVHJhaXRzPFNWR1VuaXRUeXBl
czo6U1ZHVW5pdFR5cGU+OjpoaWdoZXN0RXhwb3NlZEVudW1WYWx1ZSk6CisgICAgICAgIChXZWJD
b3JlOjpTVkdFbnVtVHJhaXRzPFNWR1pvb21BbmRQYW5UeXBlPjo6dmFsdWVzKToKKyAgICAgICAg
KFdlYkNvcmU6OlNWR0VudW1UcmFpdHM8U1ZHWm9vbUFuZFBhblR5cGU+OjpoaWdoZXN0RXhwb3Nl
ZEVudW1WYWx1ZSk6CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHUHJvcGVydHlUcmFpdHMu
aDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPGJvb2w+OjpwYXJzZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxib29sPjo6ZnJvbVN0cmluZyk6Cisg
ICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxib29sPjo6dG9TdHJpbmcpOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8Q29sb3I+OjpwYXJzZSk6CisgICAgICAg
IChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxDb2xvcj46OmZyb21TdHJpbmcpOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8Q29sb3I+Ojp0b1N0cmluZyk6CisgICAgICAg
IChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxTdHJpbmc+Ojppbml0aWFsVmFsdWUpOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8U3RyaW5nPjo6cGFyc2UpOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8U3RyaW5nPjo6ZnJvbVN0cmluZyk6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxTdHJpbmc+Ojp0b1N0cmluZyk6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxmbG9hdD46OnBhcnNlKToKKyAgICAgICAg
KFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPGZsb2F0Pjo6ZnJvbVN0cmluZyk6CisgICAgICAg
IChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxmbG9hdD46OnRvU3RyaW5nKToKKyAgICAgICAg
KFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPGludD46OmluaXRpYWxWYWx1ZSk6CisgICAgICAg
IChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxpbnQ+OjpwYXJzZSk6CisgICAgICAgIChXZWJD
b3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxpbnQ+Ojpmcm9tU3RyaW5nKToKKyAgICAgICAgKFdlYkNv
cmU6OlNWR1Byb3BlcnR5VHJhaXRzPGludD46OnRvU3RyaW5nKToKKyAgICAgICAgKFdlYkNvcmU6
OlNWR1Byb3BlcnR5VHJhaXRzPEZsb2F0UG9pbnQ+OjpwYXJzZSk6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdQcm9wZXJ0eVRyYWl0czxGbG9hdFBvaW50Pjo6ZnJvbVN0cmluZyk6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxGbG9hdFBvaW50Pjo6dG9TdHJpbmcpOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8RmxvYXRSZWN0Pjo6cGFyc2UpOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8RmxvYXRSZWN0Pjo6ZnJvbVN0cmluZyk6Cisg
ICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxGbG9hdFJlY3Q+Ojp0b1N0cmluZyk6
CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czx1bnNpZ25lZD46OmluaXRpYWxW
YWx1ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czx1bnNp
Z25lZD46OnBhcnNlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJh
aXRzPHVuc2lnbmVkPjo6dG9TdHJpbmcpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZH
SURMRW51bUxpbWl0czo6aGlnaGVzdEV4cG9zZWRFbnVtVmFsdWUpOiBEZWxldGVkLgorCisyMDE5
LTA1LTIwICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhaWRAYXBwbGUuY29tPgorCisgICAgICAgIFVu
aWZ5IHRoZSBwYXJzaW5nIG9mIFNWR0xpc3Qgc3VwZXIgY2xhc3NlcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk3ODMxCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUGFyc2luZyB0aGUgU1ZHIGxpc3RzIGlz
IGp1c3QgYWQtaG9jLiBUaGVyZSBpcyBubyBzaW5nbGUgcnVsZSBmb3I6CisKKyAgICAgICAgLS0g
VGhlIGxlYWRpbmcgc3BhY2VzOiBTVkdMZW5ndGhMaXN0IFNWR051bWJlckxpc3QgdHJlYXRlZCB0
aGVtIGFzIGFuIGVycm9yCisgICAgICAgICAgIHdoaWxlIFNWR1RyYW5zZm9ybUxpc3QgYW5kIFNW
R1BvaW50TGlzdCB3ZXJlIGp1c3Qgc2tpcHBpbmcgdGhlbS4KKyAgICAgICAgLS0gU3RhdHVzIG9m
IHRoZSBsaXN0IGluIGNhc2Ugb2YgYW4gZXJyb3I6IFNWR1RyYW5zZm9ybUxpc3Qgd2FzIGNsZWFy
aW5nCisgICAgICAgICAgIHRoZSBsaXN0IGlmIGFuIGVycm9yIHdhcyBkZXRlY3RlZC4gVGhlIG90
aGVyIGxpc3RzIHdlcmUgbGVhdmluZyB3aGF0ZXZlcgorICAgICAgICAgICBpcyBwYXJzZWQgYmVm
b3JlIHRoZSBlcnJvciBoYXBwZW5lZCBidXQgcmV0dXJuIGFuIGVycm9yLgorICAgICAgICAtLSBS
ZXBvcnRpbmcgYW4gZXJyb3IgbWVzc2FnZSBpbiB0aGUgY29uc29sZTogU1ZHUG9pbnRMaXN0IHdh
cyByZXBvcnRpbmcKKyAgICAgICAgICAgYW4gZXJyb3IgbWVzc2FnZSBpZiBhIHBhcnNpbmcgZXJy
b3IgaGFwcGVuZWQuIFRoZSBvdGhlciB0eXBlIG9mIGxpc3RzCisgICAgICAgICAgIHdlcmUganVz
dCBzaWxlbnQgd2hlbiBhbiBlcnJvciBoYXBwZW5zLgorICAgICAgICAtLSBEZWxpbWl0ZXJzOiBT
VkdOdW1iZXJMaXN0IGFzc3VtZSB0aGUgd2hpdGUgc3BhY2VzIGFyZSB0aGUgb25seSBhbGxvd2Vk
CisgICAgICAgICAgIGRlbGltaXRlci4gQWxsIG90aGVyIGxpc3RzIGFsbG93IHRoZSBjb21tYSBh
bHNvIGFzIGEgZGVsaW1pdGVyLgorICAgICAgICAtLSBFeHRyYSB0ZXh0IGF0IHRoZSBlbmQ6IFNW
R1RyYW5zZm9ybUxpc3Qgd2FzIG5vdCByZXBvcnRpbmcgYW4gZXJyb3IgaWYKKyAgICAgICAgICAg
dGhlcmUgaXMgZXh0cmEgdGV4dCBhdCB0aGUgZW5kLiBPdGhlciBsaXN0IHdlcmUgcmV0dXJuaW5n
IGZhbHNlLgorCisgICAgICAgIEluIGFkZGl0aW9uIHRvIHRoYXQsIHRoZSBwYXJzaW5nIGNvZGUg
d2FzIHJlcGVhdGVkIGluIGV2ZXJ5IFNWR0xpc3QKKyAgICAgICAgc3VwZXIgY2xhc3MuIEluc3Rl
YWQgcGFyc2luZyB0aGUgbGlzdCBzaG91bGQgYmUgaW4gU1ZHVmFsdWVQcm9wZXJ0eUxpc3QKKyAg
ICAgICAgYW5kIFNWR1ByaW1pdGl2ZUxpc3QuIEFuZCBwYXJzaW5nIHRoZSBpdGVtIHNob3VsZCBi
ZSBtb3ZlZCB0byB0aGUgdmFsdWUKKyAgICAgICAgcHJvcGVydHkgY2xhc3Mgb3IgdGhlIFNWR1By
b3BlcnR5VHJhaXRzIG9mIHRoZSBwcmltaXRpdmUuCisKKyAgICAgICAgU1ZHVmlld1NwZWMgcGFy
c2luZyBpcyBjbGVhbmVkIHVwIGluIHRoZSBwYXRjaCBhcyB3ZWxsLiBQYXJzaW5nIG9mIHRoaXMK
KyAgICAgICAgY2xhc3MgaXMgbmVlZGVkIHRvIGNyZWF0ZSB0aGUgdmlldyBmb3IgYSBmcmFnbWVu
dC4KKworICAgICAgICAqIHN2Zy9TVkdFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNW
R0VsZW1lbnQ6OnJlcG9ydEF0dHJpYnV0ZVBhcnNpbmdFcnJvcik6CisgICAgICAgICogc3ZnL1NW
R0ZpdFRvVmlld0JveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdGaXRUb1ZpZXdCb3g6OnBh
cnNlQXR0cmlidXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZpdFRvVmlld0JveDo6cGFyc2VW
aWV3Qm94KToKKyAgICAgICAgKiBzdmcvU1ZHRml0VG9WaWV3Qm94Lmg6CisgICAgICAgICogc3Zn
L1NWR0xlbmd0aC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHTGVuZ3RoOjpjcmVhdGUpOgorICAg
ICAgICAqIHN2Zy9TVkdMZW5ndGhMaXN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdMZW5ndGhM
aXN0OjpwYXJzZSk6CisgICAgICAgICogc3ZnL1NWR051bWJlci5oOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHTnVtYmVyOjpjcmVhdGUpOgorICAgICAgICAqIHN2Zy9TVkdOdW1iZXJMaXN0Lmg6Cisg
ICAgICAgIChXZWJDb3JlOjpTVkdOdW1iZXJMaXN0OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHTnVtYmVyTGlzdDo6cGFyc2UpOiBEZWxldGVkLgorICAgICAgICAoKTogRGVsZXRlZC4K
KyAgICAgICAgKiBzdmcvU1ZHUGFyc2luZ0Vycm9yLmg6CisgICAgICAgICogc3ZnL1NWR1BvaW50
Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdQb2ludDo6Y3JlYXRlKToKKyAgICAgICAgKiBzdmcv
U1ZHUG9pbnRMaXN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdQb2ludExpc3Q6OmNyZWF0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpTVkdQb2ludExpc3Q6OnBhcnNlKTogRGVsZXRlZC4KKyAgICAg
ICAgKCk6IERlbGV0ZWQuCisgICAgICAgICogc3ZnL1NWR1BvbHlFbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNWR1BvbHlFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZSk6CisgICAgICAgICog
c3ZnL1NWR1ByZXNlcnZlQXNwZWN0UmF0aW9WYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
VkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVmFsdWU6OnBhcnNlKToKKyAgICAgICAgKiBzdmcvU1ZHUHJl
c2VydmVBc3BlY3RSYXRpb1ZhbHVlLmg6CisgICAgICAgICogc3ZnL1NWR1NWR0VsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHU1ZHRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUpOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHU1ZHRWxlbWVudDo6c2Nyb2xsVG9GcmFnbWVudCk6CisgICAgICAg
ICogc3ZnL1NWR1N0cmluZ0xpc3QuaDoKKyAgICAgICAgKiBzdmcvU1ZHVGVzdHMuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHVGVzdHM6OnBhcnNlQXR0cmlidXRlKToKKyAgICAgICAgKiBzdmcv
U1ZHVHJhbnNmb3JtLmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdUcmFuc2Zvcm06OmNyZWF0ZSk6
CisgICAgICAgICogc3ZnL1NWR1RyYW5zZm9ybUxpc3QuaDoKKyAgICAgICAgKiBzdmcvU1ZHVmll
d0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVmlld0VsZW1lbnQ6OnBhcnNlQXR0
cmlidXRlKToKKyAgICAgICAgKiBzdmcvU1ZHVmlld1NwZWMuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6cGFyc2VOYW1lc1ZhbHVlcyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdWaWV3U3BlYzo6cGFy
c2VBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVmlld1NwZWM6OnBhcnNlVmlld1Nw
ZWMpOgorICAgICAgICAqIHN2Zy9TVkdWaWV3U3BlYy5oOgorICAgICAgICAqIHN2Zy9TVkdab29t
QW5kUGFuLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1pvb21BbmRQYW46OnBhcnNlQXR0cmli
dXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1pvb21BbmRQYW46OnBhcnNlWm9vbUFuZFBhbik6
IERlbGV0ZWQuCisgICAgICAgICogc3ZnL1NWR1pvb21BbmRQYW4uaDoKKyAgICAgICAgKiBzdmcv
U1ZHWm9vbUFuZFBhblR5cGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRz
PFNWR1pvb21BbmRQYW5UeXBlPjo6cGFyc2UpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVy
dHlUcmFpdHM8U1ZHWm9vbUFuZFBhblR5cGU+Ojpmcm9tU3RyaW5nKToKKyAgICAgICAgKFdlYkNv
cmU6OlNWR1Byb3BlcnR5VHJhaXRzPFNWR1pvb21BbmRQYW5UeXBlPjo6dG9TdHJpbmcpOiBEZWxl
dGVkLgorICAgICAgICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR1ByaW1pdGl2ZUxpc3QuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNWR1ByaW1pdGl2ZUxpc3Q6OnBhcnNlKToKKyAgICAgICAgKiBzdmcvcHJv
cGVydGllcy9TVkdWYWx1ZVByb3BlcnR5TGlzdC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVmFs
dWVQcm9wZXJ0eUxpc3Q6OnBhcnNlKToKKwogMjAxOS0wNS0yMSAgSmVyIE5vYmxlICA8amVyLm5v
YmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBNZWRpYSBjb250cm9scyBkb24ndCBzaG93IGluIFdL
MiB2aWRlbyBmdWxsc2NyZWVuIHNvbWV0aW1lcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDUyMmI2ZDA4Y2MwZDM5YTM0ZDVjMTU0
MjY2NjgwMDZkMGUxYmE4OTIuLjM2M2Y0Njc3OTBmZWNiZjY4YzkwZjZiMTMwMmQ5ZDE3MzkwZmMz
NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKQEAgLTE3MzgsNyArMTczOCw2IEBACiAJCTU1RENDNTI4MjI0MDdCMjAwMEMyNkUzMiAv
KiBTVkdQcmltaXRpdmVMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA1NURDQzUyNTIyNDA3NDlFMDBDMjZFMzIgLyogU1ZHUHJpbWl0aXZlTGlzdC5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTU1REND
NTI5MjI0MDdCMkEwMEMyNkUzMiAvKiBTVkdMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NURDQzUyMzIyNDA3M0ZFMDBDMjZFMzIgLyogU1ZHTGlz
dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTU1
RUM5NTk5MjA2QUE3QTAwMDdERDBBOSAvKiBQYWludEZyZXF1ZW5jeVRyYWNrZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU1RUM5NTk3MjA2OUM5MkQw
MDdERDBBOSAvKiBQYWludEZyZXF1ZW5jeVRyYWNrZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk1NUZBN0ZGQjIxMTBFQ0Q3MDA1QUVGRTcgLyog
U1ZHWm9vbUFuZFBhblR5cGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDU1RkE3RkZBMjExMEVDRDcwMDVBRUZFNyAvKiBTVkdab29tQW5kUGFuVHlwZS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTU3MDQ0
MDVBMUU1MzkzNjIwMDM1NjYwMSAvKiBKU0Flc0NiY0NmYlBhcmFtcy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTcwNDQwNTkxRTUzOTM2MjAwMzU2NjAx
IC8qIEpTQWVzQ2JjQ2ZiUGFyYW1zLmggKi87IH07CiAJCTU3MDZBNjk2MURERTVDOTUwMEEwM0Ix
NCAvKiBDcnlwdG9BbGdvcml0aG1Sc2FPYWVwUGFyYW1zLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NzA2QTY5NTFEREU1Qzk1MDBBMDNCMTQgLyogQ3J5
cHRvQWxnb3JpdGhtUnNhT2FlcFBhcmFtcy5oICovOyB9OwogCQk1NzA2QTY5ODFEREU1RTQ2MDBB
MDNCMTQgLyogSlNSc2FPYWVwUGFyYW1zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1NzA2QTY5NzFEREU1RTQ2MDBBMDNCMTQgLyogSlNSc2FPYWVwUGFy
YW1zLmggKi87IH07CkBAIC04NTM1LDcgKzg1MzQsNiBAQAogCQk1NUVFNTM2MjIyM0IyQTIzMDBG
QkE5NDQgLyogU1ZHQW5pbWF0ZWRQcm9wZXJ0eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBTVkdBbmltYXRlZFByb3BlcnR5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTU1RUU1MzYzMjIzQjJBMjQwMEZCQTk0NCAvKiBTVkdQcm9wZXJ0eS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdQcm9wZXJ0eS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk1NUVFNTM2NDIyM0IyQTI0MDBGQkE5NDQgLyogU1ZHQXR0cmlidXRlQW5pbWF0
b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHQXR0cmlidXRlQW5pbWF0
b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNTVGQTdGRkEyMTEwRUNENzAwNUFF
RkU3IC8qIFNWR1pvb21BbmRQYW5UeXBlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR1pvb21BbmRQYW5U
eXBlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU3MDQ0MDU3MUU1Mzg1MTYwMDM1
NjYwMSAvKiBDcnlwdG9BbGdvcml0aG1BRVNfQ0ZCTWFjLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IENyeXB0b0FsZ29yaXRobUFFU19DRkJNYWMuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk1NzA0NDA1OTFFNTM5MzYyMDAzNTY2MDEgLyogSlNBZXND
YmNDZmJQYXJhbXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNBZXNDYmND
ZmJQYXJhbXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTcwNDQwNUIxRTUzOTM3
OTAwMzU2NjAxIC8qIEpTQWVzQ2JjQ2ZiUGFyYW1zLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTQWVzQ2JjQ2ZiUGFyYW1zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTkzNjgsNiArOTM2Niw5IEBACiAJCTcyNEVEMzMwMUEzQThCMjMwMEY1RjEz
QyAvKiBKU0VYVEJsZW5kTWluTWF4LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEpTRVhUQmxlbmRNaW5NYXguaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzI0RUU1
NEUxREM3RjI1QjAwQTkxRkZCIC8qIEFjdGl2aXR5U3RhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gQWN0aXZpdHlTdGF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk3MjRFRTU0RjFEQzdGMjVCMDBBOTFGRkIgLyogQWN0aXZpdHlTdGF0ZUNoYW5nZU9ic2Vy
dmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFjdGl2aXR5U3RhdGVDaGFu
Z2VPYnNlcnZlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3MjY1NEFBMzIyOEM2
QjNCMDBCRUIxMDMgLyogU1ZHRW51bVRyYWl0cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdFbnVtVHJh
aXRzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTcyNjU0QUE3MjI4RUZEQzQwMEJF
QjEwMyAvKiBTVkdFbnVtVHlwZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdFbnVtVHlwZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3MjY1NEFBODIyOEYzODM2MDBCRUIxMDMgLyogU1ZH
RW51bVR5cGVUcmFpdHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHRW51bVR5cGVUcmFpdHMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzI2NkYwMTMyMjQxQkNFMjAwODMzOTc1IC8qIFNW
R1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR1Byb3BlcnR5QW5p
bWF0b3JGYWN0b3J5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcyNjZGMDE0MjI0
MUJGQjIwMDgzMzk3NSAvKiBTVkdQcmltaXRpdmVQcm9wZXJ0eUFuaW1hdG9ySW1wbC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBTVkdQcmltaXRpdmVQcm9wZXJ0eUFuaW1hdG9ySW1wbC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk3MjY2RjAxNTIyNDFDMDk4MDA4MzM5NzUgLyogU1ZHUHJpbWl0
aXZlUHJvcGVydHlBbmltYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdQcmltaXRpdmVQcm9wZXJ0
eUFuaW1hdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNjAyNyw2ICsxNjAy
OCw5IEBACiAJCQkJNTU1MzU5MjEyMjQ0MUI5NzAwOEY1RUM5IC8qIFNWR0RlY29yYXRlZEVudW1l
cmF0aW9uLmggKi8sCiAJCQkJNTU1MzU5MjIyMjQ0MUJFOTAwOEY1RUM5IC8qIFNWR0RlY29yYXRl
ZFByaW1pdGl2ZS5oICovLAogCQkJCTU1NTM1OTIzMjI0NDFDMTgwMDhGNUVDOSAvKiBTVkdEZWNv
cmF0ZWRQcm9wZXJ0eS5oICovLAorCQkJCTcyNjU0QUEzMjI4QzZCM0IwMEJFQjEwMyAvKiBTVkdF
bnVtVHJhaXRzLmggKi8sCisJCQkJNzI2NTRBQTcyMjhFRkRDNDAwQkVCMTAzIC8qIFNWR0VudW1U
eXBlLmggKi8sCisJCQkJNzI2NTRBQTgyMjhGMzgzNjAwQkVCMTAzIC8qIFNWR0VudW1UeXBlVHJh
aXRzLmggKi8sCiAJCQkJNTVEQ0M1MjMyMjQwNzNGRTAwQzI2RTMyIC8qIFNWR0xpc3QuaCAqLywK
IAkJCQk1NUVFNTM1NDIyM0IyOUU5MDBGQkE5NDQgLyogU1ZHTWVtYmVyQWNjZXNzb3IuaCAqLywK
IAkJCQk1NUJFMDI1QTIyM0IyOUMyMDAzMkYwOEEgLyogU1ZHUG9pbnRlck1lbWJlckFjY2Vzc29y
LmggKi8sCkBAIC0xNjk5OCwxMSArMTcwMDIsMTEgQEAKIAkJMUNBMEMyRjYyMUVFREFEMjAwQTEx
ODYwIC8qIEFTVCAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCi0J
CQkJNTIxNTg2MkMyMjkzNzdCNzAwNTkyNUVGIC8qIFdITFNMQVNULmggKi8sCiAJCQkJMUM4NDBC
OTAyMUVDMzBGOTAwRDA1MDBEIC8qIFdITFNMQWRkcmVzc1NwYWNlLmggKi8sCiAJCQkJQzIxQkY3
MjUyMUNEODlFMjAwMjI3OTc5IC8qIFdITFNMQXJyYXlSZWZlcmVuY2VUeXBlLmggKi8sCiAJCQkJ
QzIxQkY3MDkyMUNEODlDQTAwMjI3OTc5IC8qIFdITFNMQXJyYXlUeXBlLmggKi8sCiAJCQkJQzIx
QkY3MzAyMUNEODlFRDAwMjI3OTc5IC8qIFdITFNMQXNzaWdubWVudEV4cHJlc3Npb24uaCAqLywK
KwkJCQk1MjE1ODYyQzIyOTM3N0I3MDA1OTI1RUYgLyogV0hMU0xBU1QuaCAqLywKIAkJCQlDMjFC
RjcwQTIxQ0Q4OUNCMDAyMjc5NzkgLyogV0hMU0xCYXNlRnVuY3Rpb25BdHRyaWJ1dGUuaCAqLywK
IAkJCQlDMjFCRjZGQTIxQ0Q4OUJFMDAyMjc5NzkgLyogV0hMU0xCYXNlU2VtYW50aWMuaCAqLywK
IAkJCQlDMjFCRjcxRTIxQ0Q4OURDMDAyMjc5NzkgLyogV0hMU0xCbG9jay5oICovLApAQCAtMjQx
NzksNyArMjQxODMsNiBAQAogCQkJCUIyMjI3OTVGMEQwMEJGMjEwMDcxQjc4MiAvKiBTVkdab29t
QW5kUGFuLmNwcCAqLywKIAkJCQlCMjIyNzk2MDBEMDBCRjIxMDA3MUI3ODIgLyogU1ZHWm9vbUFu
ZFBhbi5oICovLAogCQkJCUIyMjI3OTYxMEQwMEJGMjEwMDcxQjc4MiAvKiBTVkdab29tQW5kUGFu
LmlkbCAqLywKLQkJCQk1NUZBN0ZGQTIxMTBFQ0Q3MDA1QUVGRTcgLyogU1ZHWm9vbUFuZFBhblR5
cGUuaCAqLywKIAkJCQlCMkU0RUM5NDBEMDBDMjJCMDA0MzI2NDMgLyogU1ZHWm9vbUV2ZW50LmNw
cCAqLywKIAkJCQlCMkU0RUM5NTBEMDBDMjJCMDA0MzI2NDMgLyogU1ZHWm9vbUV2ZW50LmggKi8s
CiAJCQkJQjJFNEVDOTYwRDAwQzIyQjAwNDMyNjQzIC8qIFNWR1pvb21FdmVudC5pZGwgKi8sCkBA
IC0zMTcwNiw3ICszMTcwOSw2IEBACiAJCQkJQjIyMjdBRjMwRDAwQkYyMjAwNzFCNzgyIC8qIFNW
R1ZpZXdTcGVjLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NDg1MjI4QjExOTAxNzNDMDA2RURDN0Yg
LyogU1ZHVktlcm5FbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjIyN0FGNjBEMDBCRjIy
MDA3MUI3ODIgLyogU1ZHWm9vbUFuZFBhbi5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNTVGQTdGRkIy
MTEwRUNENzAwNUFFRkU3IC8qIFNWR1pvb21BbmRQYW5UeXBlLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlCMkU0RUM5ODBEMDBDMjJCMDA0MzI2NDMgLyogU1ZHWm9vbUV2ZW50LmggaW4gSGVhZGVycyAq
LywKIAkJCQk0NkVDQjYzODFGRDBBM0M4MDA4OEU1QUQgLyogU1dDbGllbnRDb25uZWN0aW9uLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk0NjY1OERDOTFGQTI0Qjg3MDBGN0RENTQgLyogU1dDb250ZXh0
TWFuYWdlci5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1p
dGl2ZVZhbHVlTWFwcGluZ3MuaAppbmRleCA5ZDEyMGNhNWU4MjNjNWEyYzIwOTIyNTlkMGE4MGRh
MDkzYjZkMzUzLi44ZmY0ZmYwM2U3Y2U2MjRlNWMxMmMyNGY0OTAyZGExYWQwY2Y5ZGE0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKQEAgLTM5
MjMsNiArMzkyMyw5IEBAIHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQ
cmltaXRpdmVWYWx1ZShCbGVuZE1vZGUgYmxlbmRNb2RlKQogewogICAgIG1fcHJpbWl0aXZlVW5p
dFR5cGUgPSBDU1NfVkFMVUVfSUQ7CiAgICAgc3dpdGNoIChibGVuZE1vZGUpIHsKKyAgICBjYXNl
IEJsZW5kTW9kZTo6VW5rbm93bjoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAg
ICAgIGJyZWFrOwogICAgIGNhc2UgQmxlbmRNb2RlOjpOb3JtYWw6CiAgICAgICAgIG1fdmFsdWUu
dmFsdWVJRCA9IENTU1ZhbHVlTm9ybWFsOwogICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzVHlwZXMuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzVHlwZXMuaAppbmRleCA2ZTFhZmVlMTk4
Y2E0MzhlZDI1ZTQ3MTVmNzlkNjUyYTdmYjFkMjIwLi5lOTQyMjNjZWY2NDYwNTZiM2VmNmUwOTkw
MThkMjdhYjg5NTA1ZGNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9HcmFwaGljc1R5cGVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvR3JhcGhpY3NUeXBlcy5oCkBAIC01Miw2ICs1Miw3IEBAIGVudW0gQ29tcG9zaXRlT3BlcmF0
b3IgewogfTsKIAogZW51bSBjbGFzcyBCbGVuZE1vZGUgeworICAgIFVua25vd24gPSAwLAogICAg
IE5vcm1hbCA9IDEsIC8vIFN0YXJ0IHdpdGggMSB0byBtYXRjaCBTVkcncyBibGVuZG1vZGUgZW51
bWVyYXRpb24uCiAgICAgTXVsdGlwbHksCiAgICAgU2NyZWVuLApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cuY3BwCmlu
ZGV4IDhhZGY4MDE0ZGY1OTYyMWZhMDQ5YTg0NzcyYWQ0Yjg0MjVmNjc4ODEuLmM3MjZmOWRiYTJl
NDUyNjZkN2NlZTI1MjNlOWQ4ZTUwNDdiY2I4Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NnL0dyYXBoaWNzQ29udGV4dENHLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHRDRy5jcHAKQEAgLTE1
NCw2ICsxNTQsOSBAQCBzdGF0aWMgSW50ZXJwb2xhdGlvblF1YWxpdHkgY29udmVydEludGVycG9s
YXRpb25RdWFsaXR5KENHSW50ZXJwb2xhdGlvblF1YWxpdHkgcQogc3RhdGljIENHQmxlbmRNb2Rl
IHNlbGVjdENHQmxlbmRNb2RlKENvbXBvc2l0ZU9wZXJhdG9yIGNvbXBvc2l0ZU9wZXJhdG9yLCBC
bGVuZE1vZGUgYmxlbmRNb2RlKQogewogICAgIHN3aXRjaCAoYmxlbmRNb2RlKSB7CisgICAgY2Fz
ZSBCbGVuZE1vZGU6OlVua25vd246CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAg
ICAgICByZXR1cm4ga0NHQmxlbmRNb2RlTm9ybWFsOwogICAgIGNhc2UgQmxlbmRNb2RlOjpOb3Jt
YWw6CiAgICAgICAgIHN3aXRjaCAoY29tcG9zaXRlT3BlcmF0b3IpIHsKICAgICAgICAgY2FzZSBD
b21wb3NpdGVDbGVhcjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBRWxlbWVu
dC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FFbGVtZW50LmgKaW5kZXggN2UxZDI5NDY3MDRl
Njc1NWJlMzRlNDBlNzk4NDc0ZmIxNGM3MDFjNi4uOThmNjNiZjA0MmFlYTQ2YmNjYTVkYjhjZDg0
ZTFlNDFhMDk2YWM3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FFbGVtZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FFbGVtZW50LmgKQEAgLTMxLDYgKzMxLDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTVkdBRWxlbWVudCBmaW5hbCA6IHB1Ymxp
YyBTVkdHcmFwaGljc0VsZW1lbnQsIHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
LCBwdWJsaWMgU1ZHVVJJUmVmZXJlbmNlIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNW
R0FFbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25l
clJlZ2lzdHJ5PFNWR0FFbGVtZW50LCBTVkdHcmFwaGljc0VsZW1lbnQsIFNWR0V4dGVybmFsUmVz
b3VyY2VzUmVxdWlyZWQsIFNWR1VSSVJlZmVyZW5jZT47CisKIHB1YmxpYzoKICAgICBzdGF0aWMg
UmVmPFNWR0FFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7
CiAKQEAgLTQyLDkgKzQ0LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBTVkdBRWxlbWVudChj
b25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVn
aXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHQUVsZW1lbnQsIFNWR0dyYXBoaWNz
RWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgU1ZHVVJJUmVmZXJlbmNlPjsK
ICAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3Qg
ZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9Ci0KICAgICB2b2lkIHBhcnNlQXR0
cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKSBmaW5hbDsK
ICAgICB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYpIGZpbmFs
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQWx0R2x5cGhEZWZFbGVtZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQWx0R2x5cGhEZWZFbGVtZW50LmgKaW5kZXggNDcx
NzRmYmIwMmI2ZDdiMjJhNGJkNDY3YmU1N2FiNTVmOTUyMzkyOC4uZTNkNTc5MjY3YjExMjA5MmYy
NTIwYmE3ZjFiNzI1MjRlMzRkM2Q3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0FsdEdseXBoRGVmRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbHRHbHlw
aERlZkVsZW1lbnQuaApAQCAtMjgsNiArMjgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNs
YXNzIFNWR0FsdEdseXBoRGVmRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdFbGVtZW50IHsKICAg
ICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR0FsdEdseXBoRGVmRWxlbWVudCk7CisgICAgdXNp
bmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdBbHRHbHlw
aERlZkVsZW1lbnQsIFNWR0VsZW1lbnQ+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdB
bHRHbHlwaERlZkVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQm
KTsKIApAQCAtMzYsNyArMzgsMTAgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBTVkdBbHRHbHlw
aERlZkVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKKyAgICBjb25z
dCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyBy
ZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9CiAgICAgYm9vbCByZW5kZXJlcklzTmVlZGVkKGNv
bnN0IFJlbmRlclN0eWxlJikgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0KKyAgICAKKyAgICBQcm9w
ZXJ0eVJlZ2lzdHJ5IG1fcHJvcGVydHlSZWdpc3RyeSB7ICp0aGlzIH07CiB9OwogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQWx0R2x5
cGhFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQWx0R2x5cGhFbGVtZW50LmgKaW5k
ZXggNWQ5MDJmNjc1NmMzOWM3YTJjZmU3ODMwZmM0NDgyNTE5MDdlMDdlMC4uMGVmM2MwOWFhOTcx
YzZhZDQyZDRhN2MxOGI0NTVhOGZlMzVmYjhkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0FsdEdseXBoRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbHRH
bHlwaEVsZW1lbnQuaApAQCAtMzIsNiArMzIsOCBAQCBjbGFzcyBTVkdHbHlwaEVsZW1lbnQ7CiAK
IGNsYXNzIFNWR0FsdEdseXBoRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdUZXh0UG9zaXRpb25p
bmdFbGVtZW50LCBwdWJsaWMgU1ZHVVJJUmVmZXJlbmNlIHsKICAgICBXVEZfTUFLRV9JU09fQUxM
T0NBVEVEKFNWR0FsdEdseXBoRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9
IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdBbHRHbHlwaEVsZW1lbnQsIFNWR1RleHRQb3Np
dGlvbmluZ0VsZW1lbnQsIFNWR1VSSVJlZmVyZW5jZT47CisKIHB1YmxpYzoKICAgICBzdGF0aWMg
UmVmPFNWR0FsdEdseXBoRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1
bWVudCYpOwogCkBAIC00NSw3ICs0Nyw2IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgU1ZHQWx0
R2x5cGhFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCi0gICAgdXNp
bmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdBbHRHbHlw
aEVsZW1lbnQsIFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQsIFNWR1VSSVJlZmVyZW5jZT47CiAg
ICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZp
bmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQogCiAgICAgUmVuZGVyUHRyPFJlbmRl
ckVsZW1lbnQ+IGNyZWF0ZUVsZW1lbnRSZW5kZXJlcihSZW5kZXJTdHlsZSYmLCBjb25zdCBSZW5k
ZXJUcmVlUG9zaXRpb24mKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdBbHRHbHlwaEl0ZW1FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQWx0R2x5
cGhJdGVtRWxlbWVudC5oCmluZGV4IDYwNmI3ODMzNDg0NzYzZjZjMTM1MjkwNTlmNDg3NTk2ZjZk
ZmY4MzMuLjY1ZmMwNGVlYzdkNjJmMDQ1NWU3YzRmY2QxMmFlYmVkN2Y4MmNlZjYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbHRHbHlwaEl0ZW1FbGVtZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0FsdEdseXBoSXRlbUVsZW1lbnQuaApAQCAtMjgsNiArMjgsOCBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNWR0FsdEdseXBoSXRlbUVsZW1lbnQgZmlu
YWwgOiBwdWJsaWMgU1ZHRWxlbWVudCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdB
bHRHbHlwaEl0ZW1FbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJv
cGVydHlPd25lclJlZ2lzdHJ5PFNWR0FsdEdseXBoSXRlbUVsZW1lbnQsIFNWR0VsZW1lbnQ+Owor
CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdBbHRHbHlwaEl0ZW1FbGVtZW50PiBjcmVhdGUo
Y29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKQEAgLTM2LDcgKzM4LDEwIEBAIHB1
YmxpYzoKIHByaXZhdGU6CiAgICAgU1ZHQWx0R2x5cGhJdGVtRWxlbWVudChjb25zdCBRdWFsaWZp
ZWROYW1lJiwgRG9jdW1lbnQmKTsKIAorICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHBy
b3BlcnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7
IH0KICAgICBib29sIHJlbmRlcmVySXNOZWVkZWQoY29uc3QgUmVuZGVyU3R5bGUmKSBmaW5hbCB7
IHJldHVybiBmYWxzZTsgfQorICAgIAorICAgIFByb3BlcnR5UmVnaXN0cnkgbV9wcm9wZXJ0eVJl
Z2lzdHJ5IHsgKnRoaXMgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmdsZVZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHQW5nbGVWYWx1ZS5oCmluZGV4IDRkNDAyZjdmY2Q0NWExZmM3ZTc5NDdkOTYxZGU5ZWE1
OTE0YmU0NjEuLmNjNDU0NDE4M2NmMGRmOTBmYjdlYjkyYTkzYWEzZGYxZWIzMTUyOGIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmdsZVZhbHVlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0FuZ2xlVmFsdWUuaApAQCAtNTYsMTAgKzU2LDQgQEAgcHJpdmF0ZToKICAg
ICBmbG9hdCBtX3ZhbHVlSW5TcGVjaWZpZWRVbml0cyB7IDAgfTsKIH07CiAKLXRlbXBsYXRlPD4K
LXN0cnVjdCBTVkdQcm9wZXJ0eVRyYWl0czxTVkdBbmdsZVZhbHVlPiB7Ci0gICAgc3RhdGljIFNW
R0FuZ2xlVmFsdWUgaW5pdGlhbFZhbHVlKCkgeyByZXR1cm4gU1ZHQW5nbGVWYWx1ZSgpOyB9Ci0g
ICAgc3RhdGljIFN0cmluZyB0b1N0cmluZyhjb25zdCBTVkdBbmdsZVZhbHVlJiB0eXBlKSB7IHJl
dHVybiB0eXBlLnZhbHVlQXNTdHJpbmcoKTsgfQotfTsKLQogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGlvbkVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdBbmltYXRpb25FbGVtZW50LmgKaW5kZXggNTRlOTEyODEyOWM3OTJjZjgxMWUzZDYwNTc1NjM5
MGYwODBhZmUzNS4uNjIwZDkxOTk2YWU4ZGMxMDU3Y2U0NzIwZGFiZmQ0MGQ0MTk5NDRkOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGlvbkVsZW1lbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0aW9uRWxlbWVudC5oCkBAIC00MCw2ICs0MCw4IEBA
IGVudW0gQW5pbWF0ZWRQcm9wZXJ0eVZhbHVlVHlwZSB7IFJlZ3VsYXJQcm9wZXJ0eVZhbHVlLCBD
dXJyZW50Q29sb3JWYWx1ZSwgSW5oZXJpCiAKIGNsYXNzIFNWR0FuaW1hdGlvbkVsZW1lbnQgOiBw
dWJsaWMgU1ZHU01JTEVsZW1lbnQsIHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
LCBwdWJsaWMgU1ZHVGVzdHMgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHQW5pbWF0
aW9uRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3du
ZXJSZWdpc3RyeTxTVkdBbmltYXRpb25FbGVtZW50LCBTVkdFbGVtZW50LCBTVkdFeHRlcm5hbFJl
c291cmNlc1JlcXVpcmVkLCBTVkdUZXN0cz47CisKIHB1YmxpYzoKICAgICBmbG9hdCBnZXRTdGFy
dFRpbWUoKSBjb25zdDsKICAgICBmbG9hdCBnZXRDdXJyZW50VGltZSgpIGNvbnN0OwpAQCAtODYs
OSArODgsNiBAQCBwdWJsaWM6CiBwcm90ZWN0ZWQ6CiAgICAgU1ZHQW5pbWF0aW9uRWxlbWVudChj
b25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVn
aXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHQW5pbWF0aW9uRWxlbWVudCwgU1ZH
RWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgU1ZHVGVzdHM+OwotICAgIGNv
bnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBvdmVycmlk
ZSB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KLQogICAgIHZpcnR1YWwgdm9pZCByZXNl
dEFuaW1hdGlvbigpOwogCiAgICAgc3RhdGljIGJvb2wgaXNTdXBwb3J0ZWRBdHRyaWJ1dGUoY29u
c3QgUXVhbGlmaWVkTmFtZSYpOwpAQCAtMTE1LDYgKzExNCw3IEBAIHByb3RlY3RlZDoKICAgICB2
b2lkIHNldENhbGNNb2RlKENhbGNNb2RlIGNhbGNNb2RlKSB7IG1fY2FsY01vZGUgPSBjYWxjTW9k
ZTsgfQogCiBwcml2YXRlOgorICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5
UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KICAg
ICB2b2lkIGFuaW1hdGlvbkF0dHJpYnV0ZUNoYW5nZWQoKSBvdmVycmlkZTsKICAgICB2b2lkIHNl
dEF0dHJpYnV0ZVR5cGUoY29uc3QgQXRvbWljU3RyaW5nJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdDaXJjbGVFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
Q2lyY2xlRWxlbWVudC5oCmluZGV4IDVmOTBjNzBmYTlkNmJiMDJlZGI3NTQ3MDYxOWM0ZjkzMjQ4
YmYwMGMuLmY4MjcyNjA5MmZlNWE0MzE1ZGM4NDFlN2RhY2VkNmM4Y2M0MTUyMWYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdDaXJjbGVFbGVtZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0NpcmNsZUVsZW1lbnQuaApAQCAtMjksNiArMjksOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNsYXNzIFNWR0NpcmNsZUVsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHR2Vv
bWV0cnlFbGVtZW50LCBwdWJsaWMgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCB7CiAgICAg
V1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdDaXJjbGVFbGVtZW50KTsKKyAgICB1c2luZyBQcm9w
ZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0NpcmNsZUVsZW1lbnQs
IFNWR0dlb21ldHJ5RWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZD47CisKIHB1
YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR0NpcmNsZUVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFs
aWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIApAQCAtNDMsOSArNDUsNyBAQCBwdWJsaWM6CiBwcml2
YXRlOgogICAgIFNWR0NpcmNsZUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50
Jik7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lz
dHJ5PFNWR0NpcmNsZUVsZW1lbnQsIFNWR0dlb21ldHJ5RWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNv
dXJjZXNSZXF1aXJlZD47CiAgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlS
ZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQotCiAg
ICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWlj
U3RyaW5nJikgZmluYWw7CiAgICAgdm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxp
ZmllZE5hbWUmKSBmaW5hbDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0Ns
aXBQYXRoRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0NsaXBQYXRoRWxlbWVudC5o
CmluZGV4IDNlZjAzNjhjYzk0ZjQ0YWRmNGQwNGY3YTNhYzI4ZGQzY2JiYmUzOTYuLjg4OTBhMzAy
NDhmN2ZkZjFiZTM5ZTExODRkNGJhNjkxZWIyNmJiZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdDbGlwUGF0aEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
Q2xpcFBhdGhFbGVtZW50LmgKQEAgLTMxLDYgKzMxLDggQEAgY2xhc3MgUmVuZGVyT2JqZWN0Owog
CiBjbGFzcyBTVkdDbGlwUGF0aEVsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHR3JhcGhpY3NFbGVt
ZW50LCBwdWJsaWMgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCB7CiAgICAgV1RGX01BS0Vf
SVNPX0FMTE9DQVRFRChTVkdDbGlwUGF0aEVsZW1lbnQpOworICAgIHVzaW5nIFByb3BlcnR5UmVn
aXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHQ2xpcFBhdGhFbGVtZW50LCBTVkdH
cmFwaGljc0VsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ+OworCiBwdWJsaWM6
CiAgICAgc3RhdGljIFJlZjxTVkdDbGlwUGF0aEVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZp
ZWROYW1lJiwgRG9jdW1lbnQmKTsKIApAQCAtNDAsOSArNDIsNyBAQCBwdWJsaWM6CiBwcml2YXRl
OgogICAgIFNWR0NsaXBQYXRoRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQm
KTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0
cnk8U1ZHQ2xpcFBhdGhFbGVtZW50LCBTVkdHcmFwaGljc0VsZW1lbnQsIFNWR0V4dGVybmFsUmVz
b3VyY2VzUmVxdWlyZWQ+OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5
UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KLQog
ICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21p
Y1N0cmluZyYpIGZpbmFsOwogICAgIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFs
aWZpZWROYW1lJikgZmluYWw7CiAgICAgdm9pZCBjaGlsZHJlbkNoYW5nZWQoY29uc3QgQ2hpbGRD
aGFuZ2UmKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdDb21wb25l
bnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0NvbXBv
bmVudFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50LmgKaW5kZXggYTMzODhmODJlMjgyMTk0NDZmMmYy
MzFlNmIwZTc1M2FiZmRmNTEzMS4uNTYwYzUyZGE0MWMyZGY0MmY3ODU0OGZkNzE2NjYyYjIxMWQz
MTZmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0NvbXBvbmVudFRyYW5zZmVy
RnVuY3Rpb25FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0NvbXBvbmVudFRy
YW5zZmVyRnVuY3Rpb25FbGVtZW50LmgKQEAgLTI2LDQ5ICsyNiwxMCBAQAogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKLXRlbXBsYXRlPD4KLXN0cnVjdCBTVkdQcm9wZXJ0eVRyYWl0czxDb21wb25l
bnRUcmFuc2ZlclR5cGU+IHsKLSAgICBzdGF0aWMgdW5zaWduZWQgaGlnaGVzdEVudW1WYWx1ZSgp
IHsgcmV0dXJuIEZFQ09NUE9ORU5UVFJBTlNGRVJfVFlQRV9HQU1NQTsgfQotCi0gICAgc3RhdGlj
IFN0cmluZyB0b1N0cmluZyhDb21wb25lbnRUcmFuc2ZlclR5cGUgdHlwZSkKLSAgICB7Ci0gICAg
ICAgIHN3aXRjaCAodHlwZSkgewotICAgICAgICBjYXNlIEZFQ09NUE9ORU5UVFJBTlNGRVJfVFlQ
RV9VTktOT1dOOgotICAgICAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7Ci0gICAgICAgIGNh
c2UgRkVDT01QT05FTlRUUkFOU0ZFUl9UWVBFX0lERU5USVRZOgotICAgICAgICAgICAgcmV0dXJu
ICJpZGVudGl0eSJfczsKLSAgICAgICAgY2FzZSBGRUNPTVBPTkVOVFRSQU5TRkVSX1RZUEVfVEFC
TEU6Ci0gICAgICAgICAgICByZXR1cm4gInRhYmxlIl9zOwotICAgICAgICBjYXNlIEZFQ09NUE9O
RU5UVFJBTlNGRVJfVFlQRV9ESVNDUkVURToKLSAgICAgICAgICAgIHJldHVybiAiZGlzY3JldGUi
X3M7Ci0gICAgICAgIGNhc2UgRkVDT01QT05FTlRUUkFOU0ZFUl9UWVBFX0xJTkVBUjoKLSAgICAg
ICAgICAgIHJldHVybiAibGluZWFyIl9zOwotICAgICAgICBjYXNlIEZFQ09NUE9ORU5UVFJBTlNG
RVJfVFlQRV9HQU1NQToKLSAgICAgICAgICAgIHJldHVybiAiZ2FtbWEiX3M7Ci0gICAgICAgIH0K
LQotICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgcmV0dXJuIGVtcHR5U3Ry
aW5nKCk7Ci0gICAgfQotCi0gICAgc3RhdGljIENvbXBvbmVudFRyYW5zZmVyVHlwZSBmcm9tU3Ry
aW5nKGNvbnN0IFN0cmluZyYgdmFsdWUpCi0gICAgewotICAgICAgICBpZiAodmFsdWUgPT0gImlk
ZW50aXR5IikKLSAgICAgICAgICAgIHJldHVybiBGRUNPTVBPTkVOVFRSQU5TRkVSX1RZUEVfSURF
TlRJVFk7Ci0gICAgICAgIGlmICh2YWx1ZSA9PSAidGFibGUiKQotICAgICAgICAgICAgcmV0dXJu
IEZFQ09NUE9ORU5UVFJBTlNGRVJfVFlQRV9UQUJMRTsKLSAgICAgICAgaWYgKHZhbHVlID09ICJk
aXNjcmV0ZSIpCi0gICAgICAgICAgICByZXR1cm4gRkVDT01QT05FTlRUUkFOU0ZFUl9UWVBFX0RJ
U0NSRVRFOwotICAgICAgICBpZiAodmFsdWUgPT0gImxpbmVhciIpCi0gICAgICAgICAgICByZXR1
cm4gRkVDT01QT05FTlRUUkFOU0ZFUl9UWVBFX0xJTkVBUjsKLSAgICAgICAgaWYgKHZhbHVlID09
ICJnYW1tYSIpCi0gICAgICAgICAgICByZXR1cm4gRkVDT01QT05FTlRUUkFOU0ZFUl9UWVBFX0dB
TU1BOwotICAgICAgICByZXR1cm4gRkVDT01QT05FTlRUUkFOU0ZFUl9UWVBFX1VOS05PV047Ci0g
ICAgfQotfTsKLQogY2xhc3MgU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQgOiBw
dWJsaWMgU1ZHRWxlbWVudCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdDb21wb25l
bnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9
IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxl
bWVudCwgU1ZHRWxlbWVudD47CisKIHB1YmxpYzoKICAgICBDb21wb25lbnRUcmFuc2ZlckZ1bmN0
aW9uIHRyYW5zZmVyRnVuY3Rpb24oKSBjb25zdDsKIApAQCAtOTEsMTMgKzUyLDExIEBAIHB1Ymxp
YzoKIHByb3RlY3RlZDoKICAgICBTVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudChj
b25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVn
aXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5j
dGlvbkVsZW1lbnQsIFNWR0VsZW1lbnQ+OwotICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkm
IHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX3Byb3BlcnR5UmVn
aXN0cnk7IH0KLQotICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYs
IGNvbnN0IEF0b21pY1N0cmluZyYpIG92ZXJyaWRlOwotICAgIHZvaWQgc3ZnQXR0cmlidXRlQ2hh
bmdlZChjb25zdCBRdWFsaWZpZWROYW1lJikgb3ZlcnJpZGU7CisgICAgY29uc3QgU1ZHUHJvcGVy
dHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJv
cGVydHlSZWdpc3RyeTsgfQorICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVk
TmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYpIGZpbmFsOworICAgIHZvaWQgc3ZnQXR0cmlidXRl
Q2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJikgZmluYWw7CiAKLSAgICBib29sIHJlbmRlcmVy
SXNOZWVkZWQoY29uc3QgUmVuZGVyU3R5bGUmKSBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQor
ICAgIGJvb2wgcmVuZGVyZXJJc05lZWRlZChjb25zdCBSZW5kZXJTdHlsZSYpIGZpbmFsIHsgcmV0
dXJuIGZhbHNlOyB9CiAgICAgCiBwcml2YXRlOgogICAgIFByb3BlcnR5UmVnaXN0cnkgbV9wcm9w
ZXJ0eVJlZ2lzdHJ5IHsgKnRoaXMgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdDdXJzb3JFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQ3Vyc29yRWxlbWVudC5o
CmluZGV4IDliODEyZWJjOGI0ZjExYmU5NzIwMjVhYWE2NDQ1ODY0MmZiYTZhZWQuLjZhMTIzODEx
ZDg0NmU5Y2ExOGY4OTg2OWNjNjA5MTYyNTNiZDM0YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdDdXJzb3JFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0N1
cnNvckVsZW1lbnQuaApAQCAtMzIsNiArMzIsOCBAQCBjbGFzcyBDU1NDdXJzb3JJbWFnZVZhbHVl
OwogCiBjbGFzcyBTVkdDdXJzb3JFbGVtZW50IGZpbmFsIDogcHVibGljIFNWR0VsZW1lbnQsIHB1
YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBwdWJsaWMgU1ZHVGVzdHMsIHB1Ymxp
YyBTVkdVUklSZWZlcmVuY2UgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHQ3Vyc29y
RWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJS
ZWdpc3RyeTxTVkdDdXJzb3JFbGVtZW50LCBTVkdFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNl
c1JlcXVpcmVkLCBTVkdUZXN0cywgU1ZHVVJJUmVmZXJlbmNlPjsKKwogcHVibGljOgogICAgIHN0
YXRpYyBSZWY8U1ZHQ3Vyc29yRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBE
b2N1bWVudCYpOwogCkBAIC00OSw5ICs1MSw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgU1ZH
Q3Vyc29yRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAotICAgIHVz
aW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHQ3Vyc29y
RWxlbWVudCwgU1ZHRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgU1ZHVGVz
dHMsIFNWR1VSSVJlZmVyZW5jZT47CiAgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJv
cGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsg
fQotICAgIAogICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNv
bnN0IEF0b21pY1N0cmluZyYpIGZpbmFsOwogICAgIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChj
b25zdCBRdWFsaWZpZWROYW1lJikgZmluYWw7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdEZWZzRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0RlZnNFbGVtZW50
LmgKaW5kZXggOGZiYmVmODQzYmQ4YTlkYjQzNjQ3YzQ2NTNlOWQ3ZDQxZTk2ZGIzNy4uNmE0NGM5
MThlY2E3YzliMjgyZGVkMDE0NGFjOGY5MGFlZWJmYjc5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0RlZnNFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0Rl
ZnNFbGVtZW50LmgKQEAgLTI4LDEzICsyOCwxNCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNs
YXNzIFNWR0RlZnNFbGVtZW50IGZpbmFsIDogcHVibGljIFNWR0dyYXBoaWNzRWxlbWVudCwgcHVi
bGljIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQgewogICAgIFdURl9NQUtFX0lTT19BTExP
Q0FURUQoU1ZHRGVmc0VsZW1lbnQpOworICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQ
cm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHRGVmc0VsZW1lbnQsIFNWR0dyYXBoaWNzRWxlbWVudCwg
U1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZD47CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVm
PFNWR0RlZnNFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7
CiAKIHByaXZhdGU6CiAgICAgU1ZHRGVmc0VsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERv
Y3VtZW50Jik7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25l
clJlZ2lzdHJ5PFNWR0RlZnNFbGVtZW50LCBTVkdHcmFwaGljc0VsZW1lbnQsIFNWR0V4dGVybmFs
UmVzb3VyY2VzUmVxdWlyZWQ+OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3Bl
cnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0K
IAogICAgIGJvb2wgaXNWYWxpZCgpIGNvbnN0IGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0Rlc2NFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRGVzY0Vs
ZW1lbnQuaAppbmRleCA1ZjVlMWQ4MTI0YmE5MDM0NzI3MDQ4NThkZGM2YjdhODM3NzRhYjJmLi4z
MmIyMjYzZWQxNjUwZGQ4NzQ1MWMxOGUxMjRkYzg3MDgxZTk1MzExIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRGVzY0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHRGVzY0VsZW1lbnQuaApAQCAtMjYsNiArMjYsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IGNsYXNzIFNWR0Rlc2NFbGVtZW50IGZpbmFsIDogcHVibGljIFNWR0VsZW1lbnQgewogICAgIFdU
Rl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHRGVzY0VsZW1lbnQpOworICAgIHVzaW5nIFByb3BlcnR5
UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHRGVzY0VsZW1lbnQsIFNWR0Vs
ZW1lbnQ+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdEZXNjRWxlbWVudD4gY3JlYXRl
KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCkBAIC0zNCw3ICszNiwxMCBAQCBw
dWJsaWM6CiBwcml2YXRlOgogICAgIFNWR0Rlc2NFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUm
LCBEb2N1bWVudCYpOwogCisgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlS
ZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQogICAg
IGJvb2wgcmVuZGVyZXJJc05lZWRlZChjb25zdCBSZW5kZXJTdHlsZSYpIGZpbmFsIHsgcmV0dXJu
IGZhbHNlOyB9CisKKyAgICBQcm9wZXJ0eVJlZ2lzdHJ5IG1fcHJvcGVydHlSZWdpc3RyeSB7ICp0
aGlzIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVu
dC5jcHAKaW5kZXggY2M1YjZmZDI1ZTg1YjdmOWNhOWVjYTJlMWFlYWQ0ZWY0NThmNjE4OS4uOWQ0
Y2I4NzIzOTg1MzQ2MTg5NjU4N2QxZDRkZDJlNDBlNDVjYTcyOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdF
bGVtZW50LmNwcApAQCAtMjM4LDE3ICsyMzgsMzEgQEAgdm9pZCBTVkdFbGVtZW50OjpyZXBvcnRB
dHRyaWJ1dGVQYXJzaW5nRXJyb3IoU1ZHUGFyc2luZ0Vycm9yIGVycm9yLCBjb25zdCBRdWFsaWYK
ICAgICBTdHJpbmcgZXJyb3JTdHJpbmcgPSAiPCIgKyB0YWdOYW1lKCkgKyAiPiBhdHRyaWJ1dGUg
IiArIG5hbWUudG9TdHJpbmcoKSArICI9XCIiICsgdmFsdWUgKyAiXCIiOwogICAgIFNWR0RvY3Vt
ZW50RXh0ZW5zaW9ucyYgZXh0ZW5zaW9ucyA9IGRvY3VtZW50KCkuYWNjZXNzU1ZHRXh0ZW5zaW9u
cygpOwogCi0gICAgaWYgKGVycm9yID09IE5lZ2F0aXZlVmFsdWVGb3JiaWRkZW5FcnJvcikgewor
ICAgIHN3aXRjaCAoZXJyb3IpIHsKKyAgICBjYXNlIE5vRXJyb3I6CisgICAgICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOworICAgICAgICBicmVhazsKKworICAgIGNhc2UgVW5leHBlY3RlZEVuZE9m
QXR0cmlidXRlRXJyb3I6CisgICAgICAgIGV4dGVuc2lvbnMucmVwb3J0RXJyb3IoIlVuZXhwZWN0
ZWQgZW5kIG9mIGF0dHJpYnV0ZSBmb3IgIiArIGVycm9yU3RyaW5nKTsKKyAgICAgICAgYnJlYWs7
CisKKyAgICBjYXNlIFplcm9WYWx1ZUZvcmJpZGRlbkVycm9yOgorICAgICAgICBleHRlbnNpb25z
LnJlcG9ydEVycm9yKCJJbnZhbGlkIHplcm8gdmFsdWUgZm9yICIgKyBlcnJvclN0cmluZyk7Cisg
ICAgICAgIGJyZWFrOworCisgICAgY2FzZSBOZWdhdGl2ZVZhbHVlRm9yYmlkZGVuRXJyb3I6CiAg
ICAgICAgIGV4dGVuc2lvbnMucmVwb3J0RXJyb3IoIkludmFsaWQgbmVnYXRpdmUgdmFsdWUgZm9y
ICIgKyBlcnJvclN0cmluZyk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9CisgICAgICAgIGJyZWFr
OworCisgICAgY2FzZSBVbnJlY29nbml6ZWRFbnVtVmFsdWVFcnJvcjoKKyAgICAgICAgZXh0ZW5z
aW9ucy5yZXBvcnRFcnJvcigiVW5yZWNvZ25pemVkIGVudW1lcmF0ZWQgdmFsdWUgZm9yICIgKyBl
cnJvclN0cmluZyk7CisgICAgICAgIGJyZWFrOwogCi0gICAgaWYgKGVycm9yID09IFBhcnNpbmdB
dHRyaWJ1dGVGYWlsZWRFcnJvcikgeworICAgIGNhc2UgUGFyc2luZ0F0dHJpYnV0ZUZhaWxlZEVy
cm9yOgogICAgICAgICBleHRlbnNpb25zLnJlcG9ydEVycm9yKCJJbnZhbGlkIHZhbHVlIGZvciAi
ICsgZXJyb3JTdHJpbmcpOwotICAgICAgICByZXR1cm47CisgICAgICAgIGJyZWFrOwogICAgIH0K
LQotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogfQogCiB2b2lkIFNWR0VsZW1lbnQ6OnJlbW92
ZWRGcm9tQW5jZXN0b3IoUmVtb3ZhbFR5cGUgcmVtb3ZhbFR5cGUsIENvbnRhaW5lck5vZGUmIG9s
ZFBhcmVudE9mUmVtb3ZlZFRyZWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuaAppbmRleCBiNGE3MDFk
MWVkODJhOTQ0OTA2ZmVjNzU1ODk3YjYyNWY4YmY3MTcwLi5iZDA0YjkzYmQ5NTU5NzRlNTBjMTc3
MTIxNmJiYjczMTI0MjQ4YjVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxl
bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmgKQEAgLTQ5LDcgKzQ5
LDEwIEBAIHZvaWQgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShIYXNoTWFwPEF0b21pY1N0cmlu
Z0ltcGwqLCBDU1NQcm9wZXJ0eUlEPiogcHJvcGVyCiAKIGNsYXNzIFNWR0VsZW1lbnQgOiBwdWJs
aWMgU3R5bGVkRWxlbWVudCwgcHVibGljIFNWR0xhbmdTcGFjZSwgcHVibGljIFNWR1Byb3BlcnR5
T3duZXIgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHRWxlbWVudCk7CisKIHB1Ymxp
YzoKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5
PFNWR0VsZW1lbnQ+OworCiAgICAgYm9vbCBpc091dGVybW9zdFNWR1NWR0VsZW1lbnQoKSBjb25z
dDsKIAogICAgIFNWR1NWR0VsZW1lbnQqIG93bmVyU1ZHRWxlbWVudCgpIGNvbnN0OwpAQCAtMTI2
LDggKzEyOSw3IEBAIHB1YmxpYzoKICAgICBjbGFzcyBJbnN0YW5jZVVwZGF0ZUJsb2NrZXI7CiAg
ICAgY2xhc3MgSW5zdGFuY2VJbnZhbGlkYXRpb25HdWFyZDsKIAotICAgIHVzaW5nIFByb3BlcnR5
UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHRWxlbWVudD47Ci0gICAgdmly
dHVhbCBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3Qg
eyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9CisgICAgdmlydHVhbCBjb25zdCBTVkdQcm9w
ZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgPSAwOwogICAgIHZvaWQgZGV0
YWNoQWxsUHJvcGVydGllcygpIHsgcHJvcGVydHlSZWdpc3RyeSgpLmRldGFjaEFsbFByb3BlcnRp
ZXMoKTsgfQogCiAgICAgYm9vbCBpc0FuaW1hdGVkUHJvcGVydHlBdHRyaWJ1dGUoY29uc3QgUXVh
bGlmaWVkTmFtZSYpIGNvbnN0OwpAQCAtMjAwLDcgKzIwMiw2IEBAIHByaXZhdGU6CiAKICAgICBz
dGQ6OnVuaXF1ZV9wdHI8U1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk+IG1fcHJvcGVydHlBbmlt
YXRvckZhY3Rvcnk7CiAKLSAgICBQcm9wZXJ0eVJlZ2lzdHJ5IG1fcHJvcGVydHlSZWdpc3RyeSB7
ICp0aGlzIH07CiAgICAgUmVmPFNWR0FuaW1hdGVkU3RyaW5nPiBtX2NsYXNzTmFtZSB7IFNWR0Fu
aW1hdGVkU3RyaW5nOjpjcmVhdGUodGhpcykgfTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdFbGxpcHNlRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0Vs
bGlwc2VFbGVtZW50LmgKaW5kZXggMGZkY2EzNzY3YzRiYjIzZmM2MjI0Njc3N2RjODNhODkxMTdl
OTg4Ni4uZTNiMWVhMTg3ZWVlMjhiNWU5YTFmZDhmNzhkMTYzMGI0ZWVkOGYxYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsbGlwc2VFbGVtZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0VsbGlwc2VFbGVtZW50LmgKQEAgLTI5LDYgKzI5LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBjbGFzcyBTVkdFbGxpcHNlRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdH
ZW9tZXRyeUVsZW1lbnQsIHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkIHsKICAg
ICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR0VsbGlwc2VFbGVtZW50KTsKKyAgICB1c2luZyBQ
cm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0VsbGlwc2VFbGVt
ZW50LCBTVkdHZW9tZXRyeUVsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ+Owor
CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdFbGxpcHNlRWxlbWVudD4gY3JlYXRlKGNvbnN0
IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCkBAIC00NSw5ICs0Nyw3IEBAIHB1YmxpYzoK
IHByaXZhdGU6CiAgICAgU1ZHRWxsaXBzZUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERv
Y3VtZW50Jik7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25l
clJlZ2lzdHJ5PFNWR0VsbGlwc2VFbGVtZW50LCBTVkdHZW9tZXRyeUVsZW1lbnQsIFNWR0V4dGVy
bmFsUmVzb3VyY2VzUmVxdWlyZWQ+OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHBy
b3BlcnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7
IH0KLQogICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0
IEF0b21pY1N0cmluZyYpIGZpbmFsOwogICAgIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25z
dCBRdWFsaWZpZWROYW1lJikgZmluYWw7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
RXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5oCmluZGV4IDk5MTlhZjZkMWZhMDdjNWRjNTU5YmM3
MDg4MTBmYWY0NDRlYWVhMzAuLjQxZWJlOWM5OTczYjIwZDA1MGJkZjQwZDRjY2JmZmQ4OWFhNjlh
ZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFeHRlcm5hbFJlc291cmNlc1Jl
cXVpcmVkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0V4dGVybmFsUmVzb3VyY2VzUmVx
dWlyZWQuaApAQCAtMzYsNyArMzYsMTAgQEAgY2xhc3MgU1ZHRWxlbWVudDsKIC8vIEZJWE1FOiBX
aGVuIGltcGxlbWVudGluZyBhbmltVmFsIHN1cHBvcnQsIG1ha2Ugc3VyZSB0aGF0IGFuaW1WYWw9
PWJhc2VWYWwgZm9yIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQKIGNsYXNzIFNWR0V4dGVybmFs
UmVzb3VyY2VzUmVxdWlyZWQgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR0V4dGVybmFs
UmVzb3VyY2VzUmVxdWlyZWQpOworCiBwdWJsaWM6CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3Ry
eSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
PjsKKwogICAgIHZpcnR1YWwgflNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQoKSA9IGRlZmF1
bHQ7CiAKICAgICB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25z
dCBBdG9taWNTdHJpbmcmKTsKQEAgLTQ0LDggKzQ3LDYgQEAgcHVibGljOgogCiAgICAgc3RhdGlj
IHZvaWQgYWRkU3VwcG9ydGVkQXR0cmlidXRlcyhIYXNoU2V0PFF1YWxpZmllZE5hbWU+Jik7CiAK
LSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNW
R0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ+OwotCiAgICAgYm9vbCBleHRlcm5hbFJlc291cmNl
c1JlcXVpcmVkKCkgY29uc3QgeyByZXR1cm4gbV9leHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLT5j
dXJyZW50VmFsdWUoKTsgfQogICAgIFNWR0FuaW1hdGVkQm9vbGVhbiYgZXh0ZXJuYWxSZXNvdXJj
ZXNSZXF1aXJlZEFuaW1hdGVkKCkgeyByZXR1cm4gbV9leHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
OyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUJsZW5kRWxlbWVudC5o
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQmxlbmRFbGVtZW50LmgKaW5kZXggYTljOThlNDI3
NjY0YjJlMTNjMTY3MDc4ZjFmMGRjN2NkNTAyMzBiYS4uZDE1NWNhNWZkOGMyZWM5MGNlYjAzZjY4
ZTBhODdmZGRiY2NhZWY0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQmxl
bmRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQmxlbmRFbGVtZW50LmgK
QEAgLTI3LDI4ICsyNywxMCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXRlbXBsYXRlPD4K
LXN0cnVjdCBTVkdQcm9wZXJ0eVRyYWl0czxCbGVuZE1vZGU+IHsKLSAgICBzdGF0aWMgdW5zaWdu
ZWQgaGlnaGVzdEVudW1WYWx1ZSgpIHsgcmV0dXJuIHN0YXRpY19jYXN0PHVuc2lnbmVkPihCbGVu
ZE1vZGU6Okx1bWlub3NpdHkpOyB9Ci0KLSAgICBzdGF0aWMgQmxlbmRNb2RlIGZyb21TdHJpbmco
Y29uc3QgU3RyaW5nJiBzdHJpbmcpCi0gICAgewotICAgICAgICBCbGVuZE1vZGUgbW9kZSA9IEJs
ZW5kTW9kZTo6Tm9ybWFsOwotICAgICAgICBwYXJzZUJsZW5kTW9kZShzdHJpbmcsIG1vZGUpOwot
ICAgICAgICByZXR1cm4gbW9kZTsKLSAgICB9Ci0KLSAgICBzdGF0aWMgU3RyaW5nIHRvU3RyaW5n
KEJsZW5kTW9kZSB0eXBlKQotICAgIHsKLSAgICAgICAgaWYgKHR5cGUgPCBCbGVuZE1vZGU6OlBs
dXNEYXJrZXIpCi0gICAgICAgICAgICByZXR1cm4gYmxlbmRNb2RlTmFtZSh0eXBlKTsKLQotICAg
ICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKLSAgICB9Ci19OwotCiBjbGFzcyBTVkdGRUJsZW5k
RWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0
ZXMgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHRkVCbGVuZEVsZW1lbnQpOworICAg
IHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHRkVC
bGVuZEVsZW1lbnQsIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcz47CisKIHB1
YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR0ZFQmxlbmRFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVh
bGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKQEAgLTYzLDkgKzQ1LDcgQEAgcHVibGljOgogcHJp
dmF0ZToKICAgICBTVkdGRUJsZW5kRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1l
bnQmKTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVn
aXN0cnk8U1ZHRkVCbGVuZEVsZW1lbnQsIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmli
dXRlcz47CiAgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgp
IGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQotCiAgICAgdm9pZCBw
YXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJikg
b3ZlcnJpZGU7CiAgICAgdm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5h
bWUmKSBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQ29s
b3JNYXRyaXhFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVDb2xvck1hdHJpeEVs
ZW1lbnQuaAppbmRleCAzZWYyNGM5NDIyNDg2OGRhNzdkMGU4MGJjZGYwYzc0NjUzOTNmMjNlLi4w
NjRkMzkwOTYzNDk3YTU1YjlhMmE4ZjAyZDc1OTlhNDgwOTYyZGE4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQuaApAQCAtMjYsNDUgKzI2LDEwIEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotdGVtcGxhdGU8Pgotc3RydWN0IFNWR1Byb3BlcnR5VHJh
aXRzPENvbG9yTWF0cml4VHlwZT4gewotICAgIHN0YXRpYyB1bnNpZ25lZCBoaWdoZXN0RW51bVZh
bHVlKCkgeyByZXR1cm4gRkVDT0xPUk1BVFJJWF9UWVBFX0xVTUlOQU5DRVRPQUxQSEE7IH0KLQot
ICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoQ29sb3JNYXRyaXhUeXBlIHR5cGUpCi0gICAgewot
ICAgICAgICBzd2l0Y2ggKHR5cGUpIHsKLSAgICAgICAgY2FzZSBGRUNPTE9STUFUUklYX1RZUEVf
VU5LTk9XTjoKLSAgICAgICAgICAgIHJldHVybiBlbXB0eVN0cmluZygpOwotICAgICAgICBjYXNl
IEZFQ09MT1JNQVRSSVhfVFlQRV9NQVRSSVg6Ci0gICAgICAgICAgICByZXR1cm4gIm1hdHJpeCJf
czsKLSAgICAgICAgY2FzZSBGRUNPTE9STUFUUklYX1RZUEVfU0FUVVJBVEU6Ci0gICAgICAgICAg
ICByZXR1cm4gInNhdHVyYXRlIl9zOwotICAgICAgICBjYXNlIEZFQ09MT1JNQVRSSVhfVFlQRV9I
VUVST1RBVEU6Ci0gICAgICAgICAgICByZXR1cm4gImh1ZVJvdGF0ZSJfczsKLSAgICAgICAgY2Fz
ZSBGRUNPTE9STUFUUklYX1RZUEVfTFVNSU5BTkNFVE9BTFBIQToKLSAgICAgICAgICAgIHJldHVy
biAibHVtaW5hbmNlVG9BbHBoYSJfczsKLSAgICAgICAgfQotCi0gICAgICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOwotICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKLSAgICB9Ci0KLSAgICBz
dGF0aWMgQ29sb3JNYXRyaXhUeXBlIGZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiB2YWx1ZSkKLSAg
ICB7Ci0gICAgICAgIGlmICh2YWx1ZSA9PSAibWF0cml4IikKLSAgICAgICAgICAgIHJldHVybiBG
RUNPTE9STUFUUklYX1RZUEVfTUFUUklYOwotICAgICAgICBpZiAodmFsdWUgPT0gInNhdHVyYXRl
IikKLSAgICAgICAgICAgIHJldHVybiBGRUNPTE9STUFUUklYX1RZUEVfU0FUVVJBVEU7Ci0gICAg
ICAgIGlmICh2YWx1ZSA9PSAiaHVlUm90YXRlIikKLSAgICAgICAgICAgIHJldHVybiBGRUNPTE9S
TUFUUklYX1RZUEVfSFVFUk9UQVRFOwotICAgICAgICBpZiAodmFsdWUgPT0gImx1bWluYW5jZVRv
QWxwaGEiKQotICAgICAgICAgICAgcmV0dXJuIEZFQ09MT1JNQVRSSVhfVFlQRV9MVU1JTkFOQ0VU
T0FMUEhBOwotICAgICAgICByZXR1cm4gRkVDT0xPUk1BVFJJWF9UWVBFX1VOS05PV047Ci0gICAg
fQotfTsKLQogY2xhc3MgU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZH
RmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzIHsKICAgICBXVEZfTUFLRV9JU09fQUxM
T0NBVEVEKFNWR0ZFQ29sb3JNYXRyaXhFbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lz
dHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0ZFQ29sb3JNYXRyaXhFbGVtZW50LCBT
VkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXM+OworCiBwdWJsaWM6CiAgICAgc3Rh
dGljIFJlZjxTVkdGRUNvbG9yTWF0cml4RWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5h
bWUmLCBEb2N1bWVudCYpOwogCkBAIC03OSw5ICs0NCw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAg
ICAgU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50
Jik7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lz
dHJ5PFNWR0ZFQ29sb3JNYXRyaXhFbGVtZW50LCBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0
dHJpYnV0ZXM+OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0
cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KLQogICAgIHZv
aWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmlu
ZyYpIG92ZXJyaWRlOwogICAgIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZp
ZWROYW1lJikgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdG
RUNvbXBvbmVudFRyYW5zZmVyRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQ29t
cG9uZW50VHJhbnNmZXJFbGVtZW50LmgKaW5kZXggNTI2MjE2ZTU2MDE2ZmFiNTIyNGFhYmU5MTMy
MDY0Y2RiMDNhZDBiYi4uZDE3NWJhMWI4MzkxZWYxOGU1NjZhOGExZDMzMTY0NWU0YjNiMjJmMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQ29tcG9uZW50VHJhbnNmZXJFbGVt
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQ29tcG9uZW50VHJhbnNmZXJFbGVt
ZW50LmgKQEAgLTI4LDYgKzI4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTVkdG
RUNvbXBvbmVudFRyYW5zZmVyRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdGaWx0ZXJQcmltaXRp
dmVTdGFuZGFyZEF0dHJpYnV0ZXMgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHRkVD
b21wb25lbnRUcmFuc2ZlckVsZW1lbnQpOworICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBT
VkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHRkVDb21wb25lbnRUcmFuc2ZlckVsZW1lbnQsIFNW
R0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcz47CisKIHB1YmxpYzoKICAgICBzdGF0
aWMgUmVmPFNWR0ZFQ29tcG9uZW50VHJhbnNmZXJFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlm
aWVkTmFtZSYsIERvY3VtZW50Jik7CiAKQEAgLTM3LDkgKzM5LDcgQEAgcHVibGljOgogcHJpdmF0
ZToKICAgICBTVkdGRUNvbXBvbmVudFRyYW5zZmVyRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1l
JiwgRG9jdW1lbnQmKTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0
eU93bmVyUmVnaXN0cnk8U1ZHRkVDb21wb25lbnRUcmFuc2ZlckVsZW1lbnQsIFNWR0ZpbHRlclBy
aW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcz47CiAgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3Ry
eSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdp
c3RyeTsgfQotCiAgICAgLy8gRklYTUU6IHN2Z0F0dHJpYnV0ZUNoYW5nZWQgbWlzc2luZy4KICAg
ICB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNT
dHJpbmcmKSBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZF
Q29tcG9zaXRlRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQ29tcG9zaXRlRWxl
bWVudC5oCmluZGV4IGEzM2M5ODJiMzQ5NWUzYWJmZDRmMTg3NTZhYTExMDI5OWZjOWMyYzUuLjQ3
ZDczOTExYmQwMTQyM2E2MzkwYmU1MTg4NTMzNmNhNzc4NmM0ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdGRUNvbXBvc2l0ZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHRkVDb21wb3NpdGVFbGVtZW50LmgKQEAgLTI2LDYwICsyNiwxMCBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLXRlbXBsYXRlPD4KLWlubGluZSB1bnNpZ25lZCBTVkdJRExFbnVt
TGltaXRzPENvbXBvc2l0ZU9wZXJhdGlvblR5cGU+OjpoaWdoZXN0RXhwb3NlZEVudW1WYWx1ZSgp
IHsgcmV0dXJuIEZFQ09NUE9TSVRFX09QRVJBVE9SX0FSSVRITUVUSUM7IH0KLQotdGVtcGxhdGU8
Pgotc3RydWN0IFNWR1Byb3BlcnR5VHJhaXRzPENvbXBvc2l0ZU9wZXJhdGlvblR5cGU+IHsKLSAg
ICBzdGF0aWMgdW5zaWduZWQgaGlnaGVzdEVudW1WYWx1ZSgpIHsgcmV0dXJuIEZFQ09NUE9TSVRF
X09QRVJBVE9SX0xJR0hURVI7IH0KLQotICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoQ29tcG9z
aXRlT3BlcmF0aW9uVHlwZSB0eXBlKQotICAgIHsKLSAgICAgICAgc3dpdGNoICh0eXBlKSB7Ci0g
ICAgICAgIGNhc2UgRkVDT01QT1NJVEVfT1BFUkFUT1JfVU5LTk9XTjoKLSAgICAgICAgICAgIHJl
dHVybiBlbXB0eVN0cmluZygpOwotICAgICAgICBjYXNlIEZFQ09NUE9TSVRFX09QRVJBVE9SX09W
RVI6Ci0gICAgICAgICAgICByZXR1cm4gIm92ZXIiX3M7Ci0gICAgICAgIGNhc2UgRkVDT01QT1NJ
VEVfT1BFUkFUT1JfSU46Ci0gICAgICAgICAgICByZXR1cm4gImluIl9zOwotICAgICAgICBjYXNl
IEZFQ09NUE9TSVRFX09QRVJBVE9SX09VVDoKLSAgICAgICAgICAgIHJldHVybiAib3V0Il9zOwot
ICAgICAgICBjYXNlIEZFQ09NUE9TSVRFX09QRVJBVE9SX0FUT1A6Ci0gICAgICAgICAgICByZXR1
cm4gImF0b3AiX3M7Ci0gICAgICAgIGNhc2UgRkVDT01QT1NJVEVfT1BFUkFUT1JfWE9SOgotICAg
ICAgICAgICAgcmV0dXJuICJ4b3IiX3M7Ci0gICAgICAgIGNhc2UgRkVDT01QT1NJVEVfT1BFUkFU
T1JfQVJJVEhNRVRJQzoKLSAgICAgICAgICAgIHJldHVybiAiYXJpdGhtZXRpYyJfczsKLSAgICAg
ICAgY2FzZSBGRUNPTVBPU0lURV9PUEVSQVRPUl9MSUdIVEVSOgotICAgICAgICAgICAgcmV0dXJu
ICJsaWdodGVyIl9zOwotICAgICAgICB9Ci0KLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
Ci0gICAgICAgIHJldHVybiBlbXB0eVN0cmluZygpOwotICAgIH0KLQotICAgIHN0YXRpYyBDb21w
b3NpdGVPcGVyYXRpb25UeXBlIGZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiB2YWx1ZSkKLSAgICB7
Ci0gICAgICAgIGlmICh2YWx1ZSA9PSAib3ZlciIpCi0gICAgICAgICAgICByZXR1cm4gRkVDT01Q
T1NJVEVfT1BFUkFUT1JfT1ZFUjsKLSAgICAgICAgaWYgKHZhbHVlID09ICJpbiIpCi0gICAgICAg
ICAgICByZXR1cm4gRkVDT01QT1NJVEVfT1BFUkFUT1JfSU47Ci0gICAgICAgIGlmICh2YWx1ZSA9
PSAib3V0IikKLSAgICAgICAgICAgIHJldHVybiBGRUNPTVBPU0lURV9PUEVSQVRPUl9PVVQ7Ci0g
ICAgICAgIGlmICh2YWx1ZSA9PSAiYXRvcCIpCi0gICAgICAgICAgICByZXR1cm4gRkVDT01QT1NJ
VEVfT1BFUkFUT1JfQVRPUDsKLSAgICAgICAgaWYgKHZhbHVlID09ICJ4b3IiKQotICAgICAgICAg
ICAgcmV0dXJuIEZFQ09NUE9TSVRFX09QRVJBVE9SX1hPUjsKLSAgICAgICAgaWYgKHZhbHVlID09
ICJhcml0aG1ldGljIikKLSAgICAgICAgICAgIHJldHVybiBGRUNPTVBPU0lURV9PUEVSQVRPUl9B
UklUSE1FVElDOwotICAgICAgICBpZiAodmFsdWUgPT0gImxpZ2h0ZXIiKQotICAgICAgICAgICAg
cmV0dXJuIEZFQ09NUE9TSVRFX09QRVJBVE9SX0xJR0hURVI7Ci0gICAgICAgIHJldHVybiBGRUNP
TVBPU0lURV9PUEVSQVRPUl9VTktOT1dOOwotICAgIH0KLX07Ci0KIGNsYXNzIFNWR0ZFQ29tcG9z
aXRlRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJp
YnV0ZXMgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHRkVDb21wb3NpdGVFbGVtZW50
KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5
PFNWR0ZFQ29tcG9zaXRlRWxlbWVudCwgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1
dGVzPjsKKwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8U1ZHRkVDb21wb3NpdGVFbGVtZW50PiBj
cmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKQEAgLTEwMiw5ICs1Miw3
IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgU1ZHRkVDb21wb3NpdGVFbGVtZW50KGNvbnN0IFF1
YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCi0gICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9
IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdGRUNvbXBvc2l0ZUVsZW1lbnQsIFNWR0ZpbHRl
clByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcz47CiAgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdp
c3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlS
ZWdpc3RyeTsgfQotCiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1l
JiwgY29uc3QgQXRvbWljU3RyaW5nJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBzdmdBdHRyaWJ1dGVD
aGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQ29udm9sdmVNYXRyaXhFbGVtZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQuaAppbmRleCBjZWExMTIzZmFhOTE4
ZDVmMWYxNWQyZDQzM2VjMDExZjcwMjExMDAyLi4yMTgxZGRlYmRhYjNkNTk4N2Y2Nzg4MjllMjhj
ODE2OGM3OTg4NjdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVDb252b2x2
ZU1hdHJpeEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVDb252b2x2ZU1h
dHJpeEVsZW1lbnQuaApAQCAtMjUsNDIgKzI1LDEwIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotdGVtcGxhdGU8Pgotc3RydWN0IFNWR1Byb3BlcnR5VHJhaXRzPEVkZ2VNb2RlVHlwZT4gewot
ICAgIHN0YXRpYyB1bnNpZ25lZCBoaWdoZXN0RW51bVZhbHVlKCkgeyByZXR1cm4gRURHRU1PREVf
Tk9ORTsgfQotICAgIHN0YXRpYyBFZGdlTW9kZVR5cGUgaW5pdGlhbFZhbHVlKCkgeyByZXR1cm4g
RURHRU1PREVfTk9ORTsgfQotCi0gICAgc3RhdGljIFN0cmluZyB0b1N0cmluZyhFZGdlTW9kZVR5
cGUgdHlwZSkKLSAgICB7Ci0gICAgICAgIHN3aXRjaCAodHlwZSkgewotICAgICAgICBjYXNlIEVE
R0VNT0RFX1VOS05PV046Ci0gICAgICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKLSAgICAg
ICAgY2FzZSBFREdFTU9ERV9EVVBMSUNBVEU6Ci0gICAgICAgICAgICByZXR1cm4gImR1cGxpY2F0
ZSJfczsKLSAgICAgICAgY2FzZSBFREdFTU9ERV9XUkFQOgotICAgICAgICAgICAgcmV0dXJuICJ3
cmFwIl9zOwotICAgICAgICBjYXNlIEVER0VNT0RFX05PTkU6Ci0gICAgICAgICAgICByZXR1cm4g
Im5vbmUiX3M7Ci0gICAgICAgIH0KLQotICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAg
ICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7Ci0gICAgfQotCi0gICAgc3RhdGljIEVkZ2VNb2Rl
VHlwZSBmcm9tU3RyaW5nKGNvbnN0IFN0cmluZyYgdmFsdWUpCi0gICAgewotICAgICAgICBpZiAo
dmFsdWUgPT0gImR1cGxpY2F0ZSIpCi0gICAgICAgICAgICByZXR1cm4gRURHRU1PREVfRFVQTElD
QVRFOwotICAgICAgICBpZiAodmFsdWUgPT0gIndyYXAiKQotICAgICAgICAgICAgcmV0dXJuIEVE
R0VNT0RFX1dSQVA7Ci0gICAgICAgIGlmICh2YWx1ZSA9PSAibm9uZSIpCi0gICAgICAgICAgICBy
ZXR1cm4gRURHRU1PREVfTk9ORTsKLSAgICAgICAgcmV0dXJuIEVER0VNT0RFX1VOS05PV047Ci0g
ICAgfQotfTsKLQogY2xhc3MgU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQgZmluYWwgOiBwdWJs
aWMgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzIHsKICAgICBXVEZfTUFLRV9J
U09fQUxMT0NBVEVEKFNWR0ZFQ29udm9sdmVNYXRyaXhFbGVtZW50KTsKKyAgICB1c2luZyBQcm9w
ZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0ZFQ29udm9sdmVNYXRy
aXhFbGVtZW50LCBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXM+OworCiBwdWJs
aWM6CiAgICAgc3RhdGljIFJlZjxTVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVudD4gY3JlYXRlKGNv
bnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCkBAIC05Niw5ICs2NCw3IEBAIHB1Ymxp
YzoKIHByaXZhdGU6CiAgICAgU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQoY29uc3QgUXVhbGlm
aWVkTmFtZSYsIERvY3VtZW50Jik7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZH
UHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0ZFQ29udm9sdmVNYXRyaXhFbGVtZW50LCBTVkdGaWx0
ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXM+OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVn
aXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5
UmVnaXN0cnk7IH0KLQogICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFt
ZSYsIGNvbnN0IEF0b21pY1N0cmluZyYpIG92ZXJyaWRlOwogICAgIHZvaWQgc3ZnQXR0cmlidXRl
Q2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJikgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdGRURpZmZ1c2VMaWdodGluZ0VsZW1lbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdGRURpZmZ1c2VMaWdodGluZ0VsZW1lbnQuaAppbmRleCA4ZDc5NTk5MGNm
MjNlMGM0MTQ5MjBlMmYxN2IxY2NlNzg0YzdmMTM1Li40YjgxYjE2NmY3ZGQ3ZWVkNzk5YmI0MTRi
MjViOTYxNGUwODgzZWRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVEaWZm
dXNlTGlnaHRpbmdFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRGlmZnVz
ZUxpZ2h0aW5nRWxlbWVudC5oCkBAIC0zMiw2ICszMiw4IEBAIGNsYXNzIFNWR0NvbG9yOwogCiBj
bGFzcyBTVkdGRURpZmZ1c2VMaWdodGluZ0VsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHRmlsdGVy
UHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVE
KFNWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3Ry
eSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdGRURpZmZ1c2VMaWdodGluZ0VsZW1lbnQs
IFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcz47CisKIHB1YmxpYzoKICAgICBz
dGF0aWMgUmVmPFNWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxp
ZmllZE5hbWUmLCBEb2N1bWVudCYpOwogICAgIHZvaWQgbGlnaHRFbGVtZW50QXR0cmlidXRlQ2hh
bmdlZChjb25zdCBTVkdGRUxpZ2h0RWxlbWVudCosIGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKQEAg
LTUxLDkgKzUzLDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBTVkdGRURpZmZ1c2VMaWdodGlu
Z0VsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKLSAgICB1c2luZyBQ
cm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0ZFRGlmZnVzZUxp
Z2h0aW5nRWxlbWVudCwgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzPjsKICAg
ICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmlu
YWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9Ci0gICAgCiAgICAgdm9pZCBwYXJzZUF0
dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJikgb3ZlcnJp
ZGU7CiAgICAgdm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBv
dmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRGlzcGxhY2Vt
ZW50TWFwRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRGlzcGxhY2VtZW50TWFw
RWxlbWVudC5oCmluZGV4IDQyMmYwY2Y3ZWE5NTA1NDI3YjA3YmYwYWVmZmZiM2I4NDQ0MTk3ZmEu
LjlkZTg1ZGEzNDAwNDgzNjg0MTE2ZjkzNTg3ZDYwNDM1NGMyZTAwZTAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50LmgKQEAgLTI1LDQ1ICsy
NSwxMCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgCi10ZW1wbGF0ZTw+Ci1zdHJ1Y3QgU1ZH
UHJvcGVydHlUcmFpdHM8Q2hhbm5lbFNlbGVjdG9yVHlwZT4gewotICAgIHN0YXRpYyB1bnNpZ25l
ZCBoaWdoZXN0RW51bVZhbHVlKCkgeyByZXR1cm4gQ0hBTk5FTF9BOyB9Ci0KLSAgICBzdGF0aWMg
U3RyaW5nIHRvU3RyaW5nKENoYW5uZWxTZWxlY3RvclR5cGUgdHlwZSkKLSAgICB7Ci0gICAgICAg
IHN3aXRjaCAodHlwZSkgewotICAgICAgICBjYXNlIENIQU5ORUxfVU5LTk9XTjoKLSAgICAgICAg
ICAgIHJldHVybiBlbXB0eVN0cmluZygpOwotICAgICAgICBjYXNlIENIQU5ORUxfUjoKLSAgICAg
ICAgICAgIHJldHVybiAiUiJfczsKLSAgICAgICAgY2FzZSBDSEFOTkVMX0c6Ci0gICAgICAgICAg
ICByZXR1cm4gIkciX3M7Ci0gICAgICAgIGNhc2UgQ0hBTk5FTF9COgotICAgICAgICAgICAgcmV0
dXJuICJCIl9zOwotICAgICAgICBjYXNlIENIQU5ORUxfQToKLSAgICAgICAgICAgIHJldHVybiAi
QSJfczsKLSAgICAgICAgfQotCi0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAg
ICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKLSAgICB9Ci0KLSAgICBzdGF0aWMgQ2hhbm5lbFNlbGVj
dG9yVHlwZSBmcm9tU3RyaW5nKGNvbnN0IFN0cmluZyYgdmFsdWUpCi0gICAgewotICAgICAgICBp
ZiAodmFsdWUgPT0gIlIiKQotICAgICAgICAgICAgcmV0dXJuIENIQU5ORUxfUjsKLSAgICAgICAg
aWYgKHZhbHVlID09ICJHIikKLSAgICAgICAgICAgIHJldHVybiBDSEFOTkVMX0c7Ci0gICAgICAg
IGlmICh2YWx1ZSA9PSAiQiIpCi0gICAgICAgICAgICByZXR1cm4gQ0hBTk5FTF9COwotICAgICAg
ICBpZiAodmFsdWUgPT0gIkEiKQotICAgICAgICAgICAgcmV0dXJuIENIQU5ORUxfQTsKLSAgICAg
ICAgcmV0dXJuIENIQU5ORUxfVU5LTk9XTjsKLSAgICB9Ci19OwotCiBjbGFzcyBTVkdGRURpc3Bs
YWNlbWVudE1hcEVsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRh
cmRBdHRyaWJ1dGVzIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR0ZFRGlzcGxhY2Vt
ZW50TWFwRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5
T3duZXJSZWdpc3RyeTxTVkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQsIFNWR0ZpbHRlclByaW1p
dGl2ZVN0YW5kYXJkQXR0cmlidXRlcz47CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR0ZF
RGlzcGxhY2VtZW50TWFwRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1
bWVudCYpOwogCkBAIC04NCw5ICs0OSw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgU1ZHRkVE
aXNwbGFjZW1lbnRNYXBFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3Vt
ZW50Jik7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJl
Z2lzdHJ5PFNWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudCwgU1ZHRmlsdGVyUHJpbWl0aXZlU3Rh
bmRhcmRBdHRyaWJ1dGVzPjsKICAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0
eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9Ci0K
ICAgICB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9t
aWNTdHJpbmcmKSBvdmVycmlkZTsKICAgICB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3Qg
UXVhbGlmaWVkTmFtZSYpIG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHRkVEcm9wU2hhZG93RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRHJv
cFNoYWRvd0VsZW1lbnQuaAppbmRleCAwNjFjY2EyYmVkOTZjMWFhYjA1MzRkN2EwOTEzYzMxNGNl
MWJlNWY0Li42MDA2MWIyZTRiODU0YTg4MmJmMjM0ZjM2ZDZlNTczOGM3N2U1YmNjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVEcm9wU2hhZG93RWxlbWVudC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdGRURyb3BTaGFkb3dFbGVtZW50LmgKQEAgLTI3LDYgKzI3LDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTVkdGRURyb3BTaGFkb3dFbGVtZW50IGZp
bmFsIDogcHVibGljIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcyB7CiAgICAg
V1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdGRURyb3BTaGFkb3dFbGVtZW50KTsKKyAgICB1c2lu
ZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0ZFRHJvcFNo
YWRvd0VsZW1lbnQsIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcz47CisKIHB1
YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR0ZFRHJvcFNoYWRvd0VsZW1lbnQ+IGNyZWF0ZShjb25z
dCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKICAgICAKQEAgLTQ3LDkgKzQ5LDcgQEAgcHVi
bGljOgogcHJpdmF0ZToKICAgICBTVkdGRURyb3BTaGFkb3dFbGVtZW50KGNvbnN0IFF1YWxpZmll
ZE5hbWUmLCBEb2N1bWVudCYpOwogCi0gICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1By
b3BlcnR5T3duZXJSZWdpc3RyeTxTVkdGRURyb3BTaGFkb3dFbGVtZW50LCBTVkdGaWx0ZXJQcmlt
aXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXM+OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkm
IHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0
cnk7IH0KLQogICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNv
bnN0IEF0b21pY1N0cmluZyYpIG92ZXJyaWRlOwogICAgIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdl
ZChjb25zdCBRdWFsaWZpZWROYW1lJikgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdGRUdhdXNzaWFuQmx1ckVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdGRUdhdXNzaWFuQmx1ckVsZW1lbnQuaAppbmRleCBiMmQ1ZTgzY2VjZDZkYTQ2M2I0YThj
MDU5ZjRmMzBlYzJhNGI1MzY1Li4zNjdkMDFhMjQ3NWZjMTBiYTMyNTNlMTBmOTJkOWU2MDM4MGI3
MDU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVHYXVzc2lhbkJsdXJFbGVt
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFR2F1c3NpYW5CbHVyRWxlbWVudC5o
CkBAIC0yOSw2ICsyOSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU1ZHRkVHYXVz
c2lhbkJsdXJFbGVtZW50IGZpbmFsIDogcHVibGljIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJk
QXR0cmlidXRlcyB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdGRUdhdXNzaWFuQmx1
ckVsZW1lbnQpOworICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVy
UmVnaXN0cnk8U1ZHRkVHYXVzc2lhbkJsdXJFbGVtZW50LCBTVkdGaWx0ZXJQcmltaXRpdmVTdGFu
ZGFyZEF0dHJpYnV0ZXM+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdGRUdhdXNzaWFu
Qmx1ckVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIApA
QCAtNDcsOSArNDksNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFNWR0ZFR2F1c3NpYW5CbHVy
RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAotICAgIHVzaW5nIFBy
b3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHRkVHYXVzc2lhbkJs
dXJFbGVtZW50LCBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXM+OwogICAgIGNv
bnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7
IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KLQogICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUo
Y29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYpIG92ZXJyaWRlOwogICAg
IHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJikgb3ZlcnJpZGU7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUltYWdlRWxlbWVudC5oIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFSW1hZ2VFbGVtZW50LmgKaW5kZXggNzYyNDk5MGIzNThh
YjUyN2I0ZDE5ZTU3ZjlkY2RjZWJmOWY1MzEwZS4uMTdhNTBlYTI3ODMyMWM2NmQ1MTUzZjI2N2Fh
NjBmOTQzZmRhMjk4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFSW1hZ2VF
bGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFSW1hZ2VFbGVtZW50LmgKQEAg
LTMyLDYgKzMyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTVkdGRUltYWdlRWxl
bWVudCBmaW5hbCA6IHB1YmxpYyBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMs
IHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBwdWJsaWMgU1ZHVVJJUmVmZXJl
bmNlLCBwdWJsaWMgQ2FjaGVkSW1hZ2VDbGllbnQgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FU
RUQoU1ZHRkVJbWFnZUVsZW1lbnQpOworICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQ
cm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHRkVJbWFnZUVsZW1lbnQsIFNWR0ZpbHRlclByaW1pdGl2
ZVN0YW5kYXJkQXR0cmlidXRlcywgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgU1ZHVVJJ
UmVmZXJlbmNlPjsKKwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8U1ZHRkVJbWFnZUVsZW1lbnQ+
IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIApAQCAtNDUsOSArNDcs
NyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFNWR0ZFSW1hZ2VFbGVtZW50KGNvbnN0IFF1YWxp
ZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCi0gICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNW
R1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdGRUltYWdlRWxlbWVudCwgU1ZHRmlsdGVyUHJpbWl0
aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBTVkdV
UklSZWZlcmVuY2U+OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVn
aXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KLQogICAg
IHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0
cmluZyYpIG92ZXJyaWRlOwogICAgIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFs
aWZpZWROYW1lJikgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdGRUxpZ2h0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFTGlnaHRFbGVtZW50
LmgKaW5kZXggMjUzNGQxZDdhYzlkNTRlOGQwNjQ0NWU3YTdlMmY4NWFiZDBiNGM1ZS4uNmViZGM0
MjljYjBmNmE1YjM5MzU2ODdmZjQ0ZmMwNWU1ODgzYWQ3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0ZFTGlnaHRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0ZFTGlnaHRFbGVtZW50LmgKQEAgLTMxLDYgKzMxLDggQEAgY2xhc3MgU1ZHRmlsdGVyQnVpbGRl
cjsKIAogY2xhc3MgU1ZHRkVMaWdodEVsZW1lbnQgOiBwdWJsaWMgU1ZHRWxlbWVudCB7CiAgICAg
V1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdGRUxpZ2h0RWxlbWVudCk7CisgICAgdXNpbmcgUHJv
cGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdGRUxpZ2h0RWxlbWVu
dCwgU1ZHRWxlbWVudD47CisKIHB1YmxpYzoKICAgICB2aXJ0dWFsIFJlZjxMaWdodFNvdXJjZT4g
bGlnaHRTb3VyY2UoU1ZHRmlsdGVyQnVpbGRlciYpIGNvbnN0ID0gMDsKICAgICBzdGF0aWMgU1ZH
RkVMaWdodEVsZW1lbnQqIGZpbmRMaWdodEVsZW1lbnQoY29uc3QgU1ZHRWxlbWVudCopOwpAQCAt
NjMsOSArNjUsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgYm9vbCByZW5kZXJlcklzTmVlZGVkKGNvbnN0
IFJlbmRlclN0eWxlJikgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KIAogcHJpdmF0ZToKLSAg
ICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0ZF
TGlnaHRFbGVtZW50LCBTVkdFbGVtZW50PjsKICAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5
JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lz
dHJ5OyB9Ci0KICAgICB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBj
b25zdCBBdG9taWNTdHJpbmcmKSBvdmVycmlkZTsKICAgICB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5n
ZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYpIG92ZXJyaWRlOwogICAgIHZvaWQgY2hpbGRyZW5DaGFu
Z2VkKGNvbnN0IENoaWxkQ2hhbmdlJikgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHRkVNZXJnZU5vZGVFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
RkVNZXJnZU5vZGVFbGVtZW50LmgKaW5kZXggOGRhOTIzNjE0MDhhMjNiODhmMWE2YWYwNGI3YTUz
MmIyYTljYjA3MC4uYjEzZGZlMDg3OGNmNWFkNjM5NTVlZWZkMjgwM2IzOWUyNDIxYjEyMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFTWVyZ2VOb2RlRWxlbWVudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRU1lcmdlTm9kZUVsZW1lbnQuaApAQCAtMjcsNiArMjcs
OCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNWR0ZFTWVyZ2VOb2RlRWxlbWVudCBm
aW5hbCA6IHB1YmxpYyBTVkdFbGVtZW50IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNW
R0ZFTWVyZ2VOb2RlRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1By
b3BlcnR5T3duZXJSZWdpc3RyeTxTVkdGRU1lcmdlTm9kZUVsZW1lbnQsIFNWR0VsZW1lbnQ+Owor
CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdGRU1lcmdlTm9kZUVsZW1lbnQ+IGNyZWF0ZShj
b25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIApAQCAtMzYsOSArMzgsNyBAQCBwdWJs
aWM6CiBwcml2YXRlOgogICAgIFNWR0ZFTWVyZ2VOb2RlRWxlbWVudChjb25zdCBRdWFsaWZpZWRO
YW1lJiwgRG9jdW1lbnQmKTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9w
ZXJ0eU93bmVyUmVnaXN0cnk8U1ZHRkVNZXJnZU5vZGVFbGVtZW50LCBTVkdFbGVtZW50PjsKICAg
ICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmlu
YWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9Ci0KICAgICB2b2lkIHBhcnNlQXR0cmli
dXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKSBmaW5hbDsKICAg
ICB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYpIGZpbmFsOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVNb3JwaG9sb2d5RWxlbWVudC5o
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFTW9ycGhvbG9neUVsZW1lbnQuaAppbmRleCA5OTkz
MzU1NTM2MWEyMDU0MTU3N2IxMTI0NWI0ODIzOWI2ZDMzYjJkLi42YzMyZDJiMWE5ZWIzMmMxZTFm
NWZiZTNiMzE2MjE2NDVkYzMyZmI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
RkVNb3JwaG9sb2d5RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRU1vcnBo
b2xvZ3lFbGVtZW50LmgKQEAgLTI1LDM3ICsyNSwxMCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLXRlbXBsYXRlPD4KLXN0cnVjdCBTVkdQcm9wZXJ0eVRyYWl0czxNb3JwaG9sb2d5T3BlcmF0
b3JUeXBlPiB7Ci0gICAgc3RhdGljIHVuc2lnbmVkIGhpZ2hlc3RFbnVtVmFsdWUoKSB7IHJldHVy
biBGRU1PUlBIT0xPR1lfT1BFUkFUT1JfRElMQVRFOyB9Ci0KLSAgICBzdGF0aWMgU3RyaW5nIHRv
U3RyaW5nKE1vcnBob2xvZ3lPcGVyYXRvclR5cGUgdHlwZSkKLSAgICB7Ci0gICAgICAgIHN3aXRj
aCAodHlwZSkgewotICAgICAgICBjYXNlIEZFTU9SUEhPTE9HWV9PUEVSQVRPUl9VTktOT1dOOgot
ICAgICAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7Ci0gICAgICAgIGNhc2UgRkVNT1JQSE9M
T0dZX09QRVJBVE9SX0VST0RFOgotICAgICAgICAgICAgcmV0dXJuICJlcm9kZSJfczsKLSAgICAg
ICAgY2FzZSBGRU1PUlBIT0xPR1lfT1BFUkFUT1JfRElMQVRFOgotICAgICAgICAgICAgcmV0dXJu
ICJkaWxhdGUiX3M7Ci0gICAgICAgIH0KLQotICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
LSAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7Ci0gICAgfQotCi0gICAgc3RhdGljIE1vcnBo
b2xvZ3lPcGVyYXRvclR5cGUgZnJvbVN0cmluZyhjb25zdCBTdHJpbmcmIHZhbHVlKQotICAgIHsK
LSAgICAgICAgaWYgKHZhbHVlID09ICJlcm9kZSIpCi0gICAgICAgICAgICByZXR1cm4gRkVNT1JQ
SE9MT0dZX09QRVJBVE9SX0VST0RFOwotICAgICAgICBpZiAodmFsdWUgPT0gImRpbGF0ZSIpCi0g
ICAgICAgICAgICByZXR1cm4gRkVNT1JQSE9MT0dZX09QRVJBVE9SX0RJTEFURTsKLSAgICAgICAg
cmV0dXJuIEZFTU9SUEhPTE9HWV9PUEVSQVRPUl9VTktOT1dOOwotICAgIH0KLX07Ci0KIGNsYXNz
IFNWR0ZFTW9ycGhvbG9neUVsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHRmlsdGVyUHJpbWl0aXZl
U3RhbmRhcmRBdHRyaWJ1dGVzIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR0ZFTW9y
cGhvbG9neUVsZW1lbnQpOworICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0
eU93bmVyUmVnaXN0cnk8U1ZHRkVNb3JwaG9sb2d5RWxlbWVudCwgU1ZHRmlsdGVyUHJpbWl0aXZl
U3RhbmRhcmRBdHRyaWJ1dGVzPjsKKwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8U1ZHRkVNb3Jw
aG9sb2d5RWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwog
CkBAIC03NCw5ICs0Nyw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgU1ZHRkVNb3JwaG9sb2d5
RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAotICAgIHVzaW5nIFBy
b3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHRkVNb3JwaG9sb2d5
RWxlbWVudCwgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzPjsKICAgICBjb25z
dCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyBy
ZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9Ci0KICAgICB2b2lkIHBhcnNlQXR0cmlidXRlKGNv
bnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKSBvdmVycmlkZTsKICAgICB2
b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYpIG92ZXJyaWRlOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVPZmZzZXRFbGVtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVPZmZzZXRFbGVtZW50LmgKaW5kZXggM2Q4ZDc3ZGJlZjc4
MzkxMDllM2IwYmM3MGFmMDFhOWYwZTYyYmE1NC4uMWM1MDhiMmMyODhlOTAzZmFiNDViNzU4Njhk
M2U2MzYyYjkyNzU3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFT2Zmc2V0
RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRU9mZnNldEVsZW1lbnQuaApA
QCAtMjcsNiArMjcsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNWR0ZFT2Zmc2V0
RWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0
ZXMgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHRkVPZmZzZXRFbGVtZW50KTsKKyAg
ICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0ZF
T2Zmc2V0RWxlbWVudCwgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzPjsKKwog
cHVibGljOgogICAgIHN0YXRpYyBSZWY8U1ZHRkVPZmZzZXRFbGVtZW50PiBjcmVhdGUoY29uc3Qg
UXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKQEAgLTQxLDkgKzQzLDcgQEAgcHVibGljOgog
cHJpdmF0ZToKICAgICBTVkdGRU9mZnNldEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERv
Y3VtZW50Jik7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25l
clJlZ2lzdHJ5PFNWR0ZFT2Zmc2V0RWxlbWVudCwgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRB
dHRyaWJ1dGVzPjsKICAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lz
dHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9Ci0KICAgICB2
b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJp
bmcmKSBvdmVycmlkZTsKICAgICB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlm
aWVkTmFtZSYpIG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
RkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFU3Bl
Y3VsYXJMaWdodGluZ0VsZW1lbnQuaAppbmRleCBjZTIzY2I1YWUyMmMzZjc1MWUxMTVjNzA4MmFi
YTE1OGI1YTNjYzA5Li43YTc1NmRmNWU0OWJmZWE2YjIxYTczZDkwZTYzNTIwNWM2MTg1NDAzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50
LmgKQEAgLTMwLDYgKzMwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTVkdGRVNw
ZWN1bGFyTGlnaHRpbmdFbGVtZW50IGZpbmFsIDogcHVibGljIFNWR0ZpbHRlclByaW1pdGl2ZVN0
YW5kYXJkQXR0cmlidXRlcyB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdGRVNwZWN1
bGFyTGlnaHRpbmdFbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJv
cGVydHlPd25lclJlZ2lzdHJ5PFNWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQsIFNWR0ZpbHRl
clByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcz47CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVm
PFNWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1l
JiwgRG9jdW1lbnQmKTsKICAgICB2b2lkIGxpZ2h0RWxlbWVudEF0dHJpYnV0ZUNoYW5nZWQoY29u
c3QgU1ZHRkVMaWdodEVsZW1lbnQqLCBjb25zdCBRdWFsaWZpZWROYW1lJik7CkBAIC01MSw5ICs1
Myw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgU1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVu
dChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAotICAgIHVzaW5nIFByb3BlcnR5
UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHRkVTcGVjdWxhckxpZ2h0aW5n
RWxlbWVudCwgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzPjsKICAgICBjb25z
dCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyBy
ZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9Ci0KICAgICB2b2lkIHBhcnNlQXR0cmlidXRlKGNv
bnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKSBvdmVycmlkZTsKICAgICB2
b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYpIG92ZXJyaWRlOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVUaWxlRWxlbWVudC5oIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFVGlsZUVsZW1lbnQuaAppbmRleCBhZGNjN2E4ZDMwNGNiMzMy
ZDliYWU3YmE1ODI4NDljMjYxZjRiNGQ4Li42NTY0NzIwMTkxMmRhNjM3ZmExOWI1YzdmODNlNjVl
ZTZjODIyMzAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVUaWxlRWxlbWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRVRpbGVFbGVtZW50LmgKQEAgLTI3LDYg
KzI3LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTVkdGRVRpbGVFbGVtZW50IGZp
bmFsIDogcHVibGljIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcyB7CiAgICAg
V1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdGRVRpbGVFbGVtZW50KTsKKyAgICB1c2luZyBQcm9w
ZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0ZFVGlsZUVsZW1lbnQs
IFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcz47CisKIHB1YmxpYzoKICAgICBz
dGF0aWMgUmVmPFNWR0ZFVGlsZUVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwg
RG9jdW1lbnQmKTsKIApAQCAtMzYsOSArMzgsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFNW
R0ZFVGlsZUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKLSAgICB1
c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0ZFVGls
ZUVsZW1lbnQsIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcz47CiAgICAgY29u
c3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsg
cmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQotCiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShj
b25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJikgb3ZlcnJpZGU7CiAgICAg
dm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBvdmVycmlkZTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFVHVyYnVsZW5jZUVsZW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFVHVyYnVsZW5jZUVsZW1lbnQuY3BwCmluZGV4
IDNlMzVkMjIwZTQ4YTFhYzU3NTdmOTM3YmQzM2QwNmFkNGQwZDFlYjYuLjU4ZTdjYTY3OGUyOGFk
MmE3NGJkNDM3MWU4MjdiNDgwMjYwNjYzNWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdGRVR1cmJ1bGVuY2VFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
RkVUdXJidWxlbmNlRWxlbWVudC5jcHAKQEAgLTEyMSw3ICsxMjEsNyBAQCBSZWZQdHI8RmlsdGVy
RWZmZWN0PiBTVkdGRVR1cmJ1bGVuY2VFbGVtZW50OjpidWlsZChTVkdGaWx0ZXJCdWlsZGVyKiwg
RmlsdGVyJiBmaQogewogICAgIGlmIChiYXNlRnJlcXVlbmN5WCgpIDwgMCB8fCBiYXNlRnJlcXVl
bmN5WSgpIDwgMCkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgcmV0dXJuIEZFVHVyYnVs
ZW5jZTo6Y3JlYXRlKGZpbHRlciwgdHlwZSgpLCBiYXNlRnJlcXVlbmN5WCgpLCBiYXNlRnJlcXVl
bmN5WSgpLCBudW1PY3RhdmVzKCksIHNlZWQoKSwgc3RpdGNoVGlsZXMoKSA9PSBTVkdfU1RJVENI
VFlQRV9TVElUQ0gpOworICAgIHJldHVybiBGRVR1cmJ1bGVuY2U6OmNyZWF0ZShmaWx0ZXIsIHR5
cGUoKSwgYmFzZUZyZXF1ZW5jeVgoKSwgYmFzZUZyZXF1ZW5jeVkoKSwgbnVtT2N0YXZlcygpLCBz
ZWVkKCksIHN0aXRjaFRpbGVzKCkgPT0gU1ZHU3RpdGNoVHlwZVN0aXRjaCk7CiB9CiAKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRVR1cmJ1bGVuY2VFbGVtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5oCmluZGV4IGNjYTdmODU3
ODNmNDg4NmVjOTgxZjZmYTFkYjk2MmI5Y2I0MTZjMmUuLjdjYTVlMjhiYmJmYzY4ZTQ3ZjEyNTlj
OWRjYjg2MTNiNDE4OTJkOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRVR1
cmJ1bGVuY2VFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFVHVyYnVsZW5j
ZUVsZW1lbnQuaApAQCAtMjYsNzMgKzI2LDE4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
ZW51bSBTVkdTdGl0Y2hPcHRpb25zIHsKLSAgICBTVkdfU1RJVENIVFlQRV9VTktOT1dOICA9IDAs
Ci0gICAgU1ZHX1NUSVRDSFRZUEVfU1RJVENIICAgPSAxLAotICAgIFNWR19TVElUQ0hUWVBFX05P
U1RJVENIID0gMgotfTsKLQotdGVtcGxhdGU8Pgotc3RydWN0IFNWR1Byb3BlcnR5VHJhaXRzPFNW
R1N0aXRjaE9wdGlvbnM+IHsKLSAgICBzdGF0aWMgdW5zaWduZWQgaGlnaGVzdEVudW1WYWx1ZSgp
IHsgcmV0dXJuIFNWR19TVElUQ0hUWVBFX05PU1RJVENIOyB9Ci0KLSAgICBzdGF0aWMgU3RyaW5n
IHRvU3RyaW5nKFNWR1N0aXRjaE9wdGlvbnMgdHlwZSkKLSAgICB7Ci0gICAgICAgIHN3aXRjaCAo
dHlwZSkgewotICAgICAgICBjYXNlIFNWR19TVElUQ0hUWVBFX1VOS05PV046Ci0gICAgICAgICAg
ICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKLSAgICAgICAgY2FzZSBTVkdfU1RJVENIVFlQRV9TVElU
Q0g6Ci0gICAgICAgICAgICByZXR1cm4gInN0aXRjaCJfczsKLSAgICAgICAgY2FzZSBTVkdfU1RJ
VENIVFlQRV9OT1NUSVRDSDoKLSAgICAgICAgICAgIHJldHVybiAibm9TdGl0Y2giX3M7Ci0gICAg
ICAgIH0KLQotICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgcmV0dXJuIGVt
cHR5U3RyaW5nKCk7Ci0gICAgfQotCi0gICAgc3RhdGljIFNWR1N0aXRjaE9wdGlvbnMgZnJvbVN0
cmluZyhjb25zdCBTdHJpbmcmIHZhbHVlKQotICAgIHsKLSAgICAgICAgaWYgKHZhbHVlID09ICJz
dGl0Y2giKQotICAgICAgICAgICAgcmV0dXJuIFNWR19TVElUQ0hUWVBFX1NUSVRDSDsKLSAgICAg
ICAgaWYgKHZhbHVlID09ICJub1N0aXRjaCIpCi0gICAgICAgICAgICByZXR1cm4gU1ZHX1NUSVRD
SFRZUEVfTk9TVElUQ0g7Ci0gICAgICAgIHJldHVybiBTVkdfU1RJVENIVFlQRV9VTktOT1dOOwot
ICAgIH0KLX07Ci0KLXRlbXBsYXRlPD4KLXN0cnVjdCBTVkdQcm9wZXJ0eVRyYWl0czxUdXJidWxl
bmNlVHlwZT4gewotICAgIHN0YXRpYyB1bnNpZ25lZCBoaWdoZXN0RW51bVZhbHVlKCkgeyByZXR1
cm4gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFR1cmJ1bGVuY2VUeXBlOjpUdXJidWxlbmNlKTsgfQot
Ci0gICAgc3RhdGljIFN0cmluZyB0b1N0cmluZyhUdXJidWxlbmNlVHlwZSB0eXBlKQotICAgIHsK
LSAgICAgICAgc3dpdGNoICh0eXBlKSB7Ci0gICAgICAgIGNhc2UgVHVyYnVsZW5jZVR5cGU6OlVu
a25vd246Ci0gICAgICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKLSAgICAgICAgY2FzZSBU
dXJidWxlbmNlVHlwZTo6RnJhY3RhbE5vaXNlOgotICAgICAgICAgICAgcmV0dXJuICJmcmFjdGFs
Tm9pc2UiX3M7Ci0gICAgICAgIGNhc2UgVHVyYnVsZW5jZVR5cGU6OlR1cmJ1bGVuY2U6Ci0gICAg
ICAgICAgICByZXR1cm4gInR1cmJ1bGVuY2UiX3M7Ci0gICAgICAgIH0KLQotICAgICAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7Ci0gICAgfQot
Ci0gICAgc3RhdGljIFR1cmJ1bGVuY2VUeXBlIGZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiB2YWx1
ZSkKLSAgICB7Ci0gICAgICAgIGlmICh2YWx1ZSA9PSAiZnJhY3RhbE5vaXNlIikKLSAgICAgICAg
ICAgIHJldHVybiBUdXJidWxlbmNlVHlwZTo6RnJhY3RhbE5vaXNlOwotICAgICAgICBpZiAodmFs
dWUgPT0gInR1cmJ1bGVuY2UiKQotICAgICAgICAgICAgcmV0dXJuIFR1cmJ1bGVuY2VUeXBlOjpU
dXJidWxlbmNlOwotICAgICAgICByZXR1cm4gVHVyYnVsZW5jZVR5cGU6OlVua25vd247Ci0gICAg
fQotfTsKLQogY2xhc3MgU1ZHRkVUdXJidWxlbmNlRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdG
aWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMgewogICAgIFdURl9NQUtFX0lTT19BTExP
Q0FURUQoU1ZHRkVUdXJidWxlbmNlRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3Ry
eSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdGRVR1cmJ1bGVuY2VFbGVtZW50LCBTVkdG
aWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXM+OworCiBwdWJsaWM6CisgICAgLy8gRm9y
d2FyZCBkZWNsYXJlIGVudW1lcmF0aW9ucyBpbiB0aGUgVzNDIG5hbWluZyBzY2hlbWUsIGZvciBJ
REwgZ2VuZXJhdGlvbi4KKyAgICBlbnVtIHsKKyAgICAgICAgU1ZHX1NUSVRDSFRZUEVfVU5LTk9X
TiA9IFNWR1N0aXRjaFR5cGVVbmtub3duLAorICAgICAgICBTVkdfU1RJVENIVFlQRV9TVElUQ0gg
PSBTVkdTdGl0Y2hUeXBlU3RpdGNoLAorICAgICAgICBTVkdfU1RJVENIVFlQRV9OT1NUSVRDSCA9
IFNWR1N0aXRjaFR5cGVOb1N0aXRjaCwKKyAgICB9OworCiAgICAgc3RhdGljIFJlZjxTVkdGRVR1
cmJ1bGVuY2VFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7
CiAKICAgICBmbG9hdCBiYXNlRnJlcXVlbmN5WCgpIGNvbnN0IHsgcmV0dXJuIG1fYmFzZUZyZXF1
ZW5jeVgtPmN1cnJlbnRWYWx1ZSgpOyB9CkBAIC0xMTIsOSArNTcsNyBAQCBwdWJsaWM6CiBwcml2
YXRlOgogICAgIFNWR0ZFVHVyYnVsZW5jZUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERv
Y3VtZW50Jik7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25l
clJlZ2lzdHJ5PFNWR0ZFVHVyYnVsZW5jZUVsZW1lbnQsIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5k
YXJkQXR0cmlidXRlcz47CiAgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlS
ZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQotCiAg
ICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWlj
U3RyaW5nJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1
YWxpZmllZE5hbWUmKSBvdmVycmlkZTsKIApAQCAtMTI2LDcgKzY5LDcgQEAgcHJpdmF0ZToKICAg
ICBSZWY8U1ZHQW5pbWF0ZWROdW1iZXI+IG1fYmFzZUZyZXF1ZW5jeVkgeyBTVkdBbmltYXRlZE51
bWJlcjo6Y3JlYXRlKHRoaXMpIH07CiAgICAgUmVmPFNWR0FuaW1hdGVkSW50ZWdlcj4gbV9udW1P
Y3RhdmVzIHsgU1ZHQW5pbWF0ZWRJbnRlZ2VyOjpjcmVhdGUodGhpcywgMSkgfTsKICAgICBSZWY8
U1ZHQW5pbWF0ZWROdW1iZXI+IG1fc2VlZCB7IFNWR0FuaW1hdGVkTnVtYmVyOjpjcmVhdGUodGhp
cykgfTsKLSAgICBSZWY8U1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbj4gbV9zdGl0Y2hUaWxlcyB7IFNW
R0FuaW1hdGVkRW51bWVyYXRpb246OmNyZWF0ZSh0aGlzLCBTVkdfU1RJVENIVFlQRV9OT1NUSVRD
SCkgfTsKKyAgICBSZWY8U1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbj4gbV9zdGl0Y2hUaWxlcyB7IFNW
R0FuaW1hdGVkRW51bWVyYXRpb246OmNyZWF0ZSh0aGlzLCBTVkdTdGl0Y2hUeXBlTm9TdGl0Y2gp
IH07CiAgICAgUmVmPFNWR0FuaW1hdGVkRW51bWVyYXRpb24+IG1fdHlwZSB7IFNWR0FuaW1hdGVk
RW51bWVyYXRpb246OmNyZWF0ZSh0aGlzLCBUdXJidWxlbmNlVHlwZTo6VHVyYnVsZW5jZSkgfTsK
IH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGaWx0ZXJFbGVtZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRmlsdGVyRWxlbWVudC5oCmluZGV4IGUxZjJmNWJjZWM1
NjNkZjE1YzI3ZjlmZDRmZTQ0YmM4OGEzNDY1N2MuLjExMTU1ZThiMWMzODRkNTBlYmUwMDY1Mjhl
NWZkYTY5M2RiNDVmODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGaWx0ZXJF
bGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZpbHRlckVsZW1lbnQuaApAQCAt
MzIsNiArMzIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNWR0ZpbHRlckVsZW1l
bnQgZmluYWwgOiBwdWJsaWMgU1ZHRWxlbWVudCwgcHVibGljIFNWR0V4dGVybmFsUmVzb3VyY2Vz
UmVxdWlyZWQsIHB1YmxpYyBTVkdVUklSZWZlcmVuY2UgewogICAgIFdURl9NQUtFX0lTT19BTExP
Q0FURUQoU1ZHRmlsdGVyRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNW
R1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdGaWx0ZXJFbGVtZW50LCBTVkdFbGVtZW50LCBTVkdF
eHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBTVkdVUklSZWZlcmVuY2U+OworCiBwdWJsaWM6CiAg
ICAgc3RhdGljIFJlZjxTVkdGaWx0ZXJFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFt
ZSYsIERvY3VtZW50Jik7CiAKQEAgLTUyLDkgKzU0LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAg
ICBTVkdGaWx0ZXJFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCi0g
ICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdG
aWx0ZXJFbGVtZW50LCBTVkdFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBT
VkdVUklSZWZlcmVuY2U+OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5
UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KLQog
ICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21p
Y1N0cmluZyYpIGZpbmFsOwogICAgIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFs
aWZpZWROYW1lJikgZmluYWw7CiAgICAgdm9pZCBjaGlsZHJlbkNoYW5nZWQoY29uc3QgQ2hpbGRD
aGFuZ2UmKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGaXRUb1Zp
ZXdCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZpdFRvVmlld0JveC5jcHAKaW5kZXgg
ZDE1ZTM1NDZjMTIxM2UwMGRmYTU3YzgxYjRhMDBiMmVmZTMwYTk3My4uYmJiMjk3OGE0MGJmODA0
MTg4YTg4YmZkZWJmY2MzNGRjNTVhZGFjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0ZpdFRvVmlld0JveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZpdFRvVmll
d0JveC5jcHAKQEAgLTYzLDM1ICs2Myw0MSBAQCB2b2lkIFNWR0ZpdFRvVmlld0JveDo6cmVzZXQo
KQogICAgIHJlc2V0UHJlc2VydmVBc3BlY3RSYXRpbygpOwogfQogCi1ib29sIFNWR0ZpdFRvVmll
d0JveDo6cGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRv
bWljU3RyaW5nJiB2YWx1ZSkKK09wdGlvbmFsPFNWR1BhcnNpbmdFcnJvcj4gU1ZHRml0VG9WaWV3
Qm94OjpwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9t
aWNTdHJpbmcmIHZhbHVlKQogewotICAgIGlmIChuYW1lID09IFNWR05hbWVzOjp2aWV3Qm94QXR0
cikgeworICAgIGlmIChuYW1lLm1hdGNoZXMoU1ZHTmFtZXM6OnZpZXdCb3hBdHRyKSkgewogICAg
ICAgICBGbG9hdFJlY3Qgdmlld0JveDsKLSAgICAgICAgaWYgKCF2YWx1ZS5pc051bGwoKSAmJiBw
YXJzZVZpZXdCb3godmFsdWUsIHZpZXdCb3gpKQotICAgICAgICAgICAgc2V0Vmlld0JveCh2aWV3
Qm94KTsKLSAgICAgICAgZWxzZQorICAgICAgICBpZiAoYXV0byBlcnJvciA9IHBhcnNlVmlld0Jv
eCh2YWx1ZSwgdmlld0JveCkpIHsKICAgICAgICAgICAgIHJlc2V0Vmlld0JveCgpOwotICAgICAg
ICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgIHJldHVybiBlcnJvcjsKKyAgICAgICAgfQorICAg
ICAgICBzZXRWaWV3Qm94KHZpZXdCb3gpOworICAgICAgICByZXR1cm4gTm9FcnJvcjsKICAgICB9
CiAKLSAgICBpZiAobmFtZSA9PSBTVkdOYW1lczo6cHJlc2VydmVBc3BlY3RSYXRpb0F0dHIpIHsK
KyAgICBpZiAobmFtZS5tYXRjaGVzKFNWR05hbWVzOjpwcmVzZXJ2ZUFzcGVjdFJhdGlvQXR0cikp
IHsKICAgICAgICAgU1ZHUHJlc2VydmVBc3BlY3RSYXRpb1ZhbHVlIHByZXNlcnZlQXNwZWN0UmF0
aW87Ci0gICAgICAgIHByZXNlcnZlQXNwZWN0UmF0aW8ucGFyc2UodmFsdWUpOworICAgICAgICBp
ZiAoIXByZXNlcnZlQXNwZWN0UmF0aW8ucGFyc2UodmFsdWUpKSB7CisgICAgICAgICAgICByZXNl
dFByZXNlcnZlQXNwZWN0UmF0aW8oKTsKKyAgICAgICAgICAgIHJldHVybiBQYXJzaW5nQXR0cmli
dXRlRmFpbGVkRXJyb3I7CisgICAgICAgIH0KICAgICAgICAgc2V0UHJlc2VydmVBc3BlY3RSYXRp
byhwcmVzZXJ2ZUFzcGVjdFJhdGlvKTsKLSAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIHJl
dHVybiBOb0Vycm9yOwogICAgIH0KIAotICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4geyB9
OwogfQogCi1ib29sIFNWR0ZpdFRvVmlld0JveDo6cGFyc2VWaWV3Qm94KGNvbnN0IEF0b21pY1N0
cmluZyYgdmFsdWUsIEZsb2F0UmVjdCYgdmlld0JveCkKK1NWR1BhcnNpbmdFcnJvciBTVkdGaXRU
b1ZpZXdCb3g6OnBhcnNlVmlld0JveChjb25zdCBBdG9taWNTdHJpbmcmIHZhbHVlLCBGbG9hdFJl
Y3QmIHZpZXdCb3gpCiB7CisgICAgaWYgKHZhbHVlLmlzTnVsbCgpKQorICAgICAgICByZXR1cm4g
VW5leHBlY3RlZEVuZE9mQXR0cmlidXRlRXJyb3I7CiAgICAgYXV0byB1cGNvbnZlcnRlZENoYXJh
Y3RlcnMgPSBTdHJpbmdWaWV3KHZhbHVlKS51cGNvbnZlcnRlZENoYXJhY3RlcnMoKTsKICAgICBj
b25zdCBVQ2hhciogY2hhcmFjdGVycyA9IHVwY29udmVydGVkQ2hhcmFjdGVyczsKICAgICByZXR1
cm4gcGFyc2VWaWV3Qm94KGNoYXJhY3RlcnMsIGNoYXJhY3RlcnMgKyB2YWx1ZS5sZW5ndGgoKSwg
dmlld0JveCk7CiB9CiAKLWJvb2wgU1ZHRml0VG9WaWV3Qm94OjpwYXJzZVZpZXdCb3goY29uc3Qg
VUNoYXIqJiBjLCBjb25zdCBVQ2hhciogZW5kLCBGbG9hdFJlY3QmIHZpZXdCb3gsIGJvb2wgdmFs
aWRhdGUpCitTVkdQYXJzaW5nRXJyb3IgU1ZHRml0VG9WaWV3Qm94OjpwYXJzZVZpZXdCb3goY29u
c3QgVUNoYXIqJiBjLCBjb25zdCBVQ2hhciogZW5kLCBGbG9hdFJlY3QmIHZpZXdCb3gpCiB7CiAg
ICAgU3RyaW5nIHN0cihjLCBlbmQgLSBjKTsKIApAQCAtMTAzLDM2ICsxMDksMjQgQEAgYm9vbCBT
VkdGaXRUb1ZpZXdCb3g6OnBhcnNlVmlld0JveChjb25zdCBVQ2hhciomIGMsIGNvbnN0IFVDaGFy
KiBlbmQsIEZsb2F0UmVjdCYKICAgICBmbG9hdCBoZWlnaHQgPSAwLjBmOwogICAgIGJvb2wgdmFs
aWQgPSBwYXJzZU51bWJlcihjLCBlbmQsIHgpICYmIHBhcnNlTnVtYmVyKGMsIGVuZCwgeSkgJiYg
cGFyc2VOdW1iZXIoYywgZW5kLCB3aWR0aCkgJiYgcGFyc2VOdW1iZXIoYywgZW5kLCBoZWlnaHQs
IGZhbHNlKTsKIAotICAgIGlmICh2YWxpZGF0ZSkgewotICAgICAgICBEb2N1bWVudCYgZG9jdW1l
bnQgPSBtX3ZpZXdCb3gtPmNvbnRleHRFbGVtZW50KCktPmRvY3VtZW50KCk7CisgICAgaWYgKCF2
YWxpZCkKKyAgICAgICAgcmV0dXJuIFBhcnNpbmdBdHRyaWJ1dGVGYWlsZWRFcnJvcjsKIAotICAg
ICAgICBpZiAoIXZhbGlkKSB7Ci0gICAgICAgICAgICBkb2N1bWVudC5hY2Nlc3NTVkdFeHRlbnNp
b25zKCkucmVwb3J0V2FybmluZygiUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9XCIiICsgc3RyICsg
IlwiIik7Ci0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIH0KKyAgICAvLyBDaGVj
ayB0aGF0IHdpZHRoIGlzIHBvc2l0aXZlLgorICAgIGlmICh3aWR0aCA8IDAuMCkKKyAgICAgICAg
cmV0dXJuIE5lZ2F0aXZlVmFsdWVGb3JiaWRkZW5FcnJvcjsKIAotICAgICAgICAvLyBDaGVjayB0
aGF0IHdpZHRoIGlzIHBvc2l0aXZlLgotICAgICAgICBpZiAod2lkdGggPCAwLjApIHsKLSAgICAg
ICAgICAgIGRvY3VtZW50LmFjY2Vzc1NWR0V4dGVuc2lvbnMoKS5yZXBvcnRFcnJvcigiQSBuZWdh
dGl2ZSB2YWx1ZSBmb3IgVmlld0JveCB3aWR0aCBpcyBub3QgYWxsb3dlZCIpOwotICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOwotICAgICAgICB9CisgICAgLy8gQ2hlY2sgdGhhdCBoZWlnaHQgaXMg
cG9zaXRpdmUuCisgICAgaWYgKGhlaWdodCA8IDAuMCkKKyAgICAgICAgcmV0dXJuIE5lZ2F0aXZl
VmFsdWVGb3JiaWRkZW5FcnJvcjsKIAotICAgICAgICAvLyBDaGVjayB0aGF0IGhlaWdodCBpcyBw
b3NpdGl2ZS4KLSAgICAgICAgaWYgKGhlaWdodCA8IDAuMCkgewotICAgICAgICAgICAgZG9jdW1l
bnQuYWNjZXNzU1ZHRXh0ZW5zaW9ucygpLnJlcG9ydEVycm9yKCJBIG5lZ2F0aXZlIHZhbHVlIGZv
ciBWaWV3Qm94IGhlaWdodCBpcyBub3QgYWxsb3dlZCIpOwotICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOwotICAgICAgICB9Ci0KLSAgICAgICAgLy8gTm90aGluZyBzaG91bGQgY29tZSBhZnRlciB0
aGUgbGFzdCwgZm91cnRoIG51bWJlci4KLSAgICAgICAgc2tpcE9wdGlvbmFsU1ZHU3BhY2VzKGMs
IGVuZCk7Ci0gICAgICAgIGlmIChjIDwgZW5kKSB7Ci0gICAgICAgICAgICBkb2N1bWVudC5hY2Nl
c3NTVkdFeHRlbnNpb25zKCkucmVwb3J0V2FybmluZygiUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9
XCIiICsgc3RyICsgIlwiIik7Ci0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIH0K
LSAgICB9CisgICAgLy8gTm90aGluZyBzaG91bGQgY29tZSBhZnRlciB0aGUgbGFzdCwgZm91cnRo
IG51bWJlci4KKyAgICBza2lwT3B0aW9uYWxTVkdTcGFjZXMoYywgZW5kKTsKKyAgICBpZiAoYyA8
IGVuZCkKKyAgICAgICAgcmV0dXJuIFBhcnNpbmdBdHRyaWJ1dGVGYWlsZWRFcnJvcjsKIAogICAg
IHZpZXdCb3ggPSB7IHgsIHksIHdpZHRoLCBoZWlnaHQgfTsKLSAgICByZXR1cm4gdHJ1ZTsKKyAg
ICByZXR1cm4gTm9FcnJvcjsKIH0KIAogQWZmaW5lVHJhbnNmb3JtIFNWR0ZpdFRvVmlld0JveDo6
dmlld0JveFRvVmlld1RyYW5zZm9ybShjb25zdCBGbG9hdFJlY3QmIHZpZXdCb3hSZWN0LCBjb25z
dCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVmFsdWUmIHByZXNlcnZlQXNwZWN0UmF0aW8sIGZsb2F0
IHZpZXdXaWR0aCwgZmxvYXQgdmlld0hlaWdodCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdGaXRUb1ZpZXdCb3guaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGaXRUb1ZpZXdC
b3guaAppbmRleCA3Y2M0MjMxNDE2MDE5MzE5ZDdlMmI0ZDJkN2Q3NjM2YzM3OWI4YTRmLi5mY2I2
OTAxMWIwNjc4MzlhZWE5ZTlmYmVlNDVhYzMwZmFmOTI0ZTIyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHRml0VG9WaWV3Qm94LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0ZpdFRvVmlld0JveC5oCkBAIC02NCw5ICs2NCw5IEBAIHByb3RlY3RlZDoKICAgICBzdGF0aWMg
Ym9vbCBpc0tub3duQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUp
IHsgcmV0dXJuIFByb3BlcnR5UmVnaXN0cnk6OmlzS25vd25BdHRyaWJ1dGUoYXR0cmlidXRlTmFt
ZSk7IH0KIAogICAgIHZvaWQgcmVzZXQoKTsKLSAgICBib29sIHBhcnNlQXR0cmlidXRlKGNvbnN0
IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKTsKLSAgICBib29sIHBhcnNlVmll
d0JveChjb25zdCBBdG9taWNTdHJpbmcmIHZhbHVlLCBGbG9hdFJlY3QmIHZpZXdCb3gpOwotICAg
IGJvb2wgcGFyc2VWaWV3Qm94KGNvbnN0IFVDaGFyKiYgc3RhcnQsIGNvbnN0IFVDaGFyKiBlbmQs
IEZsb2F0UmVjdCYgdmlld0JveCwgYm9vbCB2YWxpZGF0ZSA9IHRydWUpOworICAgIE9wdGlvbmFs
PFNWR1BhcnNpbmdFcnJvcj4gcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNv
bnN0IEF0b21pY1N0cmluZyYpOworICAgIFNWR1BhcnNpbmdFcnJvciBwYXJzZVZpZXdCb3goY29u
c3QgQXRvbWljU3RyaW5nJiB2YWx1ZSwgRmxvYXRSZWN0JiB2aWV3Qm94KTsKKyAgICBTVkdQYXJz
aW5nRXJyb3IgcGFyc2VWaWV3Qm94KGNvbnN0IFVDaGFyKiYgc3RhcnQsIGNvbnN0IFVDaGFyKiBl
bmQsIEZsb2F0UmVjdCYgdmlld0JveCk7CiAKIHByaXZhdGU6CiAgICAgUmVmPFNWR0FuaW1hdGVk
UmVjdD4gbV92aWV3Qm94OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRG
YWNlRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlRWxlbWVudC5oCmlu
ZGV4IDhmOGJhNTg5MmJlMjgwNzk4ZWU0MWRjMDBiZDFiM2NiN2QzMDk4YTkuLjI0Zjc0ZWViZDg0
MzgyOWZhZDY4M2MwMzA1MTIwOGFlMjFjZGY5ZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdGb250RmFjZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9u
dEZhY2VFbGVtZW50LmgKQEAgLTMyLDYgKzMyLDggQEAgY2xhc3MgU3R5bGVSdWxlRm9udEZhY2U7
CiAKIGNsYXNzIFNWR0ZvbnRGYWNlRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdFbGVtZW50IHsK
ICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR0ZvbnRGYWNlRWxlbWVudCk7CisgICAgdXNp
bmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdGb250RmFj
ZUVsZW1lbnQsIFNWR0VsZW1lbnQ+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdGb250
RmFjZUVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIApA
QCAtNTcsNiArNTksNyBAQCBwcml2YXRlOgogICAgIFNWR0ZvbnRGYWNlRWxlbWVudChjb25zdCBR
dWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKICAgICB+U1ZHRm9udEZhY2VFbGVtZW50KCk7CiAK
KyAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3Qg
ZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9CiAgICAgdm9pZCBwYXJzZUF0dHJp
YnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJikgZmluYWw7CiAK
ICAgICB2b2lkIGNoaWxkcmVuQ2hhbmdlZChjb25zdCBDaGlsZENoYW5nZSYpIGZpbmFsOwpAQCAt
NjUsNiArNjgsNyBAQCBwcml2YXRlOgogCiAgICAgYm9vbCByZW5kZXJlcklzTmVlZGVkKGNvbnN0
IFJlbmRlclN0eWxlJikgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0KIAorICAgIFByb3BlcnR5UmVn
aXN0cnkgbV9wcm9wZXJ0eVJlZ2lzdHJ5IHsgKnRoaXMgfTsKICAgICBSZWY8U3R5bGVSdWxlRm9u
dEZhY2U+IG1fZm9udEZhY2VSdWxlOwogICAgIFNWR0ZvbnRFbGVtZW50KiBtX2ZvbnRFbGVtZW50
OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RmFjZUZvcm1hdEVs
ZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RmFjZUZvcm1hdEVsZW1lbnQuaApp
bmRleCAwNTYwNzVlZTlhYjM3Y2Y4Y2U4NzQ2MzI5ODBlN2MyMTA4NDM1MzhmLi4yMzVlMGM4Zjgz
YTMxYzdkOTUzNGRjMTE4YzhmNWUxNmQ3NmM1ZDQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHRm9udEZhY2VGb3JtYXRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0ZvbnRGYWNlRm9ybWF0RWxlbWVudC5oCkBAIC0yNywxNCArMjcsMTkgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBjbGFzcyBTVkdGb250RmFjZUZvcm1hdEVsZW1lbnQgZmluYWwgOiBwdWJs
aWMgU1ZHRWxlbWVudCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdGb250RmFjZUZv
cm1hdEVsZW1lbnQpOworICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93
bmVyUmVnaXN0cnk8U1ZHRm9udEZhY2VGb3JtYXRFbGVtZW50LCBTVkdFbGVtZW50PjsKKwogcHVi
bGljOgogICAgIHN0YXRpYyBSZWY8U1ZHRm9udEZhY2VGb3JtYXRFbGVtZW50PiBjcmVhdGUoY29u
c3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKIHByaXZhdGU6CiAgICAgU1ZHRm9udEZh
Y2VGb3JtYXRFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCisgICAg
Y29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFs
IHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQogICAgIHZvaWQgY2hpbGRyZW5DaGFuZ2Vk
KGNvbnN0IENoaWxkQ2hhbmdlJikgZmluYWw7CiAgICAgYm9vbCByZW5kZXJlcklzTmVlZGVkKGNv
bnN0IFJlbmRlclN0eWxlJikgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0KKworICAgIFByb3BlcnR5
UmVnaXN0cnkgbV9wcm9wZXJ0eVJlZ2lzdHJ5IHsgKnRoaXMgfTsKIH07CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RmFjZU5h
bWVFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VOYW1lRWxlbWVudC5o
CmluZGV4IDg2N2NkYzg1ZjZlZDQ0NzQ5MjJmNzJlOGQ5MzcwOTMxNTkzNjg2YjYuLjQyYjIwZjZk
NjU4N2NkZDI2ZDU3MTAyMTFkMWQwZDk3ODZiNmM1NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdGb250RmFjZU5hbWVFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0ZvbnRGYWNlTmFtZUVsZW1lbnQuaApAQCAtMjksNiArMjksOCBAQCBjbGFzcyBDU1NGb250
RmFjZVNyY1ZhbHVlOwogCiBjbGFzcyBTVkdGb250RmFjZU5hbWVFbGVtZW50IGZpbmFsIDogcHVi
bGljIFNWR0VsZW1lbnQgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHRm9udEZhY2VO
YW1lRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3du
ZXJSZWdpc3RyeTxTVkdGb250RmFjZU5hbWVFbGVtZW50LCBTVkdFbGVtZW50PjsKKwogcHVibGlj
OgogICAgIHN0YXRpYyBSZWY8U1ZHRm9udEZhY2VOYW1lRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1
YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogICAgIApAQCAtMzcsNyArMzksMTAgQEAgcHVibGlj
OgogcHJpdmF0ZToKICAgICBTVkdGb250RmFjZU5hbWVFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5h
bWUmLCBEb2N1bWVudCYpOwogCisgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVy
dHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQog
ICAgIGJvb2wgcmVuZGVyZXJJc05lZWRlZChjb25zdCBSZW5kZXJTdHlsZSYpIGZpbmFsIHsgcmV0
dXJuIGZhbHNlOyB9CisKKyAgICBQcm9wZXJ0eVJlZ2lzdHJ5IG1fcHJvcGVydHlSZWdpc3RyeSB7
ICp0aGlzIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VTcmNFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHRm9udEZhY2VTcmNFbGVtZW50LmgKaW5kZXggNDE2OTY4YzYxZjVhZjE5MjE2NjI0ZGEy
YjFjNjE4OWY3YmQ3NDI5YS4uN2JlZmE4NjJjNTk4MDUzZTA0MWI3MWM4OGU0OGRmMGY3YzIyN2Ni
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlU3JjRWxlbWVudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RmFjZVNyY0VsZW1lbnQuaApAQCAtMjks
NiArMjksOCBAQCBjbGFzcyBDU1NWYWx1ZUxpc3Q7CiAKIGNsYXNzIFNWR0ZvbnRGYWNlU3JjRWxl
bWVudCBmaW5hbCA6IHB1YmxpYyBTVkdFbGVtZW50IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NB
VEVEKFNWR0ZvbnRGYWNlU3JjRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9
IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdGb250RmFjZVNyY0VsZW1lbnQsIFNWR0VsZW1l
bnQ+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdGb250RmFjZVNyY0VsZW1lbnQ+IGNy
ZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIApAQCAtMzcsOCArMzksMTEg
QEAgcHVibGljOgogcHJpdmF0ZToKICAgICBTVkdGb250RmFjZVNyY0VsZW1lbnQoY29uc3QgUXVh
bGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAgICAgCisgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdp
c3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlS
ZWdpc3RyeTsgfQogICAgIHZvaWQgY2hpbGRyZW5DaGFuZ2VkKGNvbnN0IENoaWxkQ2hhbmdlJikg
ZmluYWw7CiAgICAgYm9vbCByZW5kZXJlcklzTmVlZGVkKGNvbnN0IFJlbmRlclN0eWxlJikgZmlu
YWwgeyByZXR1cm4gZmFsc2U7IH0KKworICAgIFByb3BlcnR5UmVnaXN0cnkgbV9wcm9wZXJ0eVJl
Z2lzdHJ5IHsgKnRoaXMgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RmFjZVVyaUVsZW1lbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdGb250RmFjZVVyaUVsZW1lbnQuaAppbmRleCBjNzhhMmJjYTk3ZjRmYTM1
OWRmMWE2N2YwZWRlMDA0ODE5OTgxMGIzLi5kN2M5MGRiODRjZDUwYmI4M2FkNjY5ZmI0MmMwOTYz
MmI4YTUyYjUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VVcmlF
bGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlVXJpRWxlbWVudC5o
CkBAIC0zMSw2ICszMSw4IEBAIGNsYXNzIENTU0ZvbnRGYWNlU3JjVmFsdWU7CiAKIGNsYXNzIFNW
R0ZvbnRGYWNlVXJpRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdFbGVtZW50LCBwdWJsaWMgQ2Fj
aGVkRm9udENsaWVudCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdGb250RmFjZVVy
aUVsZW1lbnQpOworICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVy
UmVnaXN0cnk8U1ZHRm9udEZhY2VVcmlFbGVtZW50LCBTVkdFbGVtZW50PjsKKwogcHVibGljOgog
ICAgIHN0YXRpYyBSZWY8U1ZHRm9udEZhY2VVcmlFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlm
aWVkTmFtZSYsIERvY3VtZW50Jik7CiAKQEAgLTQwLDE0ICs0MiwxNyBAQCBwdWJsaWM6CiAKIHBy
aXZhdGU6CiAgICAgU1ZHRm9udEZhY2VVcmlFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBE
b2N1bWVudCYpOwotICAgIAorCisgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVy
dHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQog
ICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21p
Y1N0cmluZyYpIGZpbmFsOwogICAgIHZvaWQgY2hpbGRyZW5DaGFuZ2VkKGNvbnN0IENoaWxkQ2hh
bmdlJikgZmluYWw7CisKICAgICBJbnNlcnRlZEludG9BbmNlc3RvclJlc3VsdCBpbnNlcnRlZElu
dG9BbmNlc3RvcihJbnNlcnRpb25UeXBlLCBDb250YWluZXJOb2RlJikgZmluYWw7CiAgICAgYm9v
bCByZW5kZXJlcklzTmVlZGVkKGNvbnN0IFJlbmRlclN0eWxlJikgZmluYWwgeyByZXR1cm4gZmFs
c2U7IH0KIAogICAgIHZvaWQgbG9hZEZvbnQoKTsKIAorICAgIFByb3BlcnR5UmVnaXN0cnkgbV9w
cm9wZXJ0eVJlZ2lzdHJ5IHsgKnRoaXMgfTsKICAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNo
ZWRGb250PiBtX2NhY2hlZEZvbnQ7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb3Jl
aWduT2JqZWN0RWxlbWVudC5oCmluZGV4IGZiNTc0NjhhMDZmYmExMDhhNTEyZjliZTVlMjYwMTFi
Mjg3OWY2ZjcuLjBhYzg1MWRkNjlmYTBkYzAzMWY4M2I2MmI4OWEwOTJhYWMzZTJjMjggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC5oCkBAIC0yOCw2ICsy
OCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU1ZHRm9yZWlnbk9iamVjdEVsZW1l
bnQgZmluYWwgOiBwdWJsaWMgU1ZHR3JhcGhpY3NFbGVtZW50LCBwdWJsaWMgU1ZHRXh0ZXJuYWxS
ZXNvdXJjZXNSZXF1aXJlZCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdGb3JlaWdu
T2JqZWN0RWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5
T3duZXJSZWdpc3RyeTxTVkdGb3JlaWduT2JqZWN0RWxlbWVudCwgU1ZHR3JhcGhpY3NFbGVtZW50
LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkPjsKKwogcHVibGljOgogICAgIHN0YXRpYyBS
ZWY8U1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwg
RG9jdW1lbnQmKTsKIApAQCAtNDQsOSArNDYsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFNW
R0ZvcmVpZ25PYmplY3RFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwog
Ci0gICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxT
VkdGb3JlaWduT2JqZWN0RWxlbWVudCwgU1ZHR3JhcGhpY3NFbGVtZW50LCBTVkdFeHRlcm5hbFJl
c291cmNlc1JlcXVpcmVkPjsKICAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0
eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9Ci0K
ICAgICB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9t
aWNTdHJpbmcmKSBmaW5hbDsKICAgICB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVh
bGlmaWVkTmFtZSYpIGZpbmFsOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
R0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHRWxlbWVudC5oCmluZGV4IGNiMjA2
YWUzNGFkMmNiYmJmMzQ4MDFjMTJhZTQwMTk3OTAyYjZmNWYuLmFkYWViYmVkMTUzNTE2NGExYTA5
YTI5MmNhYWE1NDI3NmQ5NWI5OTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdH
RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHRWxlbWVudC5oCkBAIC0yOCw2
ICsyOCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU1ZHR0VsZW1lbnQgZmluYWwg
OiBwdWJsaWMgU1ZHR3JhcGhpY3NFbGVtZW50LCBwdWJsaWMgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNS
ZXF1aXJlZCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdHRWxlbWVudCk7CisgICAg
dXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdHRWxl
bWVudCwgU1ZHR3JhcGhpY3NFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkPjsK
KwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8U1ZHR0VsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFs
aWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKICAgICBzdGF0aWMgUmVmPFNWR0dFbGVtZW50PiBjcmVh
dGUoRG9jdW1lbnQmKTsKQEAgLTM3LDkgKzM5LDcgQEAgcHJpdmF0ZToKIAogICAgIFJlbmRlclB0
cjxSZW5kZXJFbGVtZW50PiBjcmVhdGVFbGVtZW50UmVuZGVyZXIoUmVuZGVyU3R5bGUmJiwgY29u
c3QgUmVuZGVyVHJlZVBvc2l0aW9uJikgZmluYWw7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lz
dHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0dFbGVtZW50LCBTVkdHcmFwaGljc0Vs
ZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ+OwogICAgIGNvbnN0IFNWR1Byb3Bl
cnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3By
b3BlcnR5UmVnaXN0cnk7IH0KLQogICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlm
aWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYpIGZpbmFsOwogICAgIHZvaWQgc3ZnQXR0cmli
dXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJikgZmluYWw7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdHZW9tZXRyeUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdHZW9tZXRyeUVsZW1lbnQuaAppbmRleCBkMjRlNjIyZDFlMDJhMjU5ZDAzYmM4ZDZmZjUy
ZDFmMDZjYjg2ZjU2Li4zY2YyNDdkN2RlYzAxZjk3NWYwYTRjMjFlYjk0ZTcxMWE4ZGJhM2UwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR2VvbWV0cnlFbGVtZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0dlb21ldHJ5RWxlbWVudC5oCkBAIC0zMywxNSArMzMsMTYg
QEAgY2xhc3MgU1ZHUG9pbnQ7CiAKIGNsYXNzIFNWR0dlb21ldHJ5RWxlbWVudCA6IHB1YmxpYyBT
VkdHcmFwaGljc0VsZW1lbnQgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHR2VvbWV0
cnlFbGVtZW50KTsKKyAgICAKIHB1YmxpYzoKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0g
U1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0dlb21ldHJ5RWxlbWVudCwgU1ZHR3JhcGhpY3NF
bGVtZW50PjsKKwogICAgIHZpcnR1YWwgZmxvYXQgZ2V0VG90YWxMZW5ndGgoKSBjb25zdDsKICAg
ICB2aXJ0dWFsIFJlZjxTVkdQb2ludD4gZ2V0UG9pbnRBdExlbmd0aChmbG9hdCBkaXN0YW5jZSkg
Y29uc3Q7CiAKICAgICBib29sIGlzUG9pbnRJbkZpbGwoRE9NUG9pbnRJbml0JiYpOwogICAgIGJv
b2wgaXNQb2ludEluU3Ryb2tlKERPTVBvaW50SW5pdCYmKTsKIAotICAgIHVzaW5nIFByb3BlcnR5
UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHR2VvbWV0cnlFbGVtZW50LCBT
VkdHcmFwaGljc0VsZW1lbnQ+OwotCiAgICAgZmxvYXQgcGF0aExlbmd0aCgpIGNvbnN0IHsgcmV0
dXJuIG1fcGF0aExlbmd0aC0+Y3VycmVudFZhbHVlKCk7IH0KICAgICBTVkdBbmltYXRlZE51bWJl
ciYgcGF0aExlbmd0aEFuaW1hdGVkKCkgeyByZXR1cm4gbV9wYXRoTGVuZ3RoOyB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHbHlwaEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdHbHlwaEVsZW1lbnQuaAppbmRleCA5ZmY5OTFlNzIwY2I4MmY4ZmEwYTA2YTYw
MDgwNTAwYmE2OTg4ZDgxLi45MGM2OTM4OTVmZDMwYTdhZmRhMmJlYjdkZjcwYjIzM2U0NWJkNDg0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR2x5cGhFbGVtZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0dseXBoRWxlbWVudC5oCkBAIC0yOSw2ICsyOSw4IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU1ZHR2x5cGhFbGVtZW50IGZpbmFsIDogcHVibGlj
IFNWR0VsZW1lbnQgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHR2x5cGhFbGVtZW50
KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5
PFNWR0dseXBoRWxlbWVudCwgU1ZHRWxlbWVudD47CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVm
PFNWR0dseXBoRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYp
OwogCkBAIC0zOCw3ICs0MCwxMCBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFNWR0dseXBoRWxl
bWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAorICAgIGNvbnN0IFNWR1By
b3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBt
X3Byb3BlcnR5UmVnaXN0cnk7IH0KICAgICBib29sIHJlbmRlcmVySXNOZWVkZWQoY29uc3QgUmVu
ZGVyU3R5bGUmKSBmaW5hbCB7IHJldHVybiBmYWxzZTsgfQorCisgICAgUHJvcGVydHlSZWdpc3Ry
eSBtX3Byb3BlcnR5UmVnaXN0cnkgeyAqdGhpcyB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5o
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5oCmluZGV4IDIxYjIxMGM1
OTUxZGNiMWNlYzVjNjQyZWE4OWVjMzYyMjQ4MWY3YWYuLjBiNmM3ZDVmMmRkOTMyY2E1OWMxYTNm
MjU1NTMwMjVkYzMxNTljYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHcmFk
aWVudEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR3JhZGllbnRFbGVtZW50
LmgKQEAgLTMwLDQ5ICszMCwxMiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWVudW0gU1ZH
U3ByZWFkTWV0aG9kVHlwZSB7Ci0gICAgU1ZHU3ByZWFkTWV0aG9kVW5rbm93biA9IDAsCi0gICAg
U1ZHU3ByZWFkTWV0aG9kUGFkLAotICAgIFNWR1NwcmVhZE1ldGhvZFJlZmxlY3QsCi0gICAgU1ZH
U3ByZWFkTWV0aG9kUmVwZWF0Ci19OwotCi10ZW1wbGF0ZTw+Ci1zdHJ1Y3QgU1ZHUHJvcGVydHlU
cmFpdHM8U1ZHU3ByZWFkTWV0aG9kVHlwZT4gewotICAgIHN0YXRpYyB1bnNpZ25lZCBoaWdoZXN0
RW51bVZhbHVlKCkgeyByZXR1cm4gU1ZHU3ByZWFkTWV0aG9kUmVwZWF0OyB9Ci0KLSAgICBzdGF0
aWMgU3RyaW5nIHRvU3RyaW5nKFNWR1NwcmVhZE1ldGhvZFR5cGUgdHlwZSkKLSAgICB7Ci0gICAg
ICAgIHN3aXRjaCAodHlwZSkgewotICAgICAgICBjYXNlIFNWR1NwcmVhZE1ldGhvZFVua25vd246
Ci0gICAgICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKLSAgICAgICAgY2FzZSBTVkdTcHJl
YWRNZXRob2RQYWQ6Ci0gICAgICAgICAgICByZXR1cm4gInBhZCJfczsKLSAgICAgICAgY2FzZSBT
VkdTcHJlYWRNZXRob2RSZWZsZWN0OgotICAgICAgICAgICAgcmV0dXJuICJyZWZsZWN0Il9zOwot
ICAgICAgICBjYXNlIFNWR1NwcmVhZE1ldGhvZFJlcGVhdDoKLSAgICAgICAgICAgIHJldHVybiAi
cmVwZWF0Il9zOwotICAgICAgICB9Ci0KLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0g
ICAgICAgIHJldHVybiBlbXB0eVN0cmluZygpOwotICAgIH0KLQotICAgIHN0YXRpYyBTVkdTcHJl
YWRNZXRob2RUeXBlIGZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiB2YWx1ZSkKLSAgICB7Ci0gICAg
ICAgIGlmICh2YWx1ZSA9PSAicGFkIikKLSAgICAgICAgICAgIHJldHVybiBTVkdTcHJlYWRNZXRo
b2RQYWQ7Ci0gICAgICAgIGlmICh2YWx1ZSA9PSAicmVmbGVjdCIpCi0gICAgICAgICAgICByZXR1
cm4gU1ZHU3ByZWFkTWV0aG9kUmVmbGVjdDsKLSAgICAgICAgaWYgKHZhbHVlID09ICJyZXBlYXQi
KQotICAgICAgICAgICAgcmV0dXJuIFNWR1NwcmVhZE1ldGhvZFJlcGVhdDsKLSAgICAgICAgcmV0
dXJuIFNWR1NwcmVhZE1ldGhvZFVua25vd247Ci0gICAgfQotfTsKLQogY2xhc3MgU1ZHR3JhZGll
bnRFbGVtZW50IDogcHVibGljIFNWR0VsZW1lbnQsIHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNl
c1JlcXVpcmVkLCBwdWJsaWMgU1ZHVVJJUmVmZXJlbmNlIHsKICAgICBXVEZfTUFLRV9JU09fQUxM
T0NBVEVEKFNWR0dyYWRpZW50RWxlbWVudCk7CisKIHB1YmxpYzoKKyAgICB1c2luZyBQcm9wZXJ0
eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0dyYWRpZW50RWxlbWVudCwg
U1ZHRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgU1ZHVVJJUmVmZXJlbmNl
PjsKKwogICAgIGVudW0gewogICAgICAgICBTVkdfU1BSRUFETUVUSE9EX1VOS05PV04gPSBTVkdT
cHJlYWRNZXRob2RVbmtub3duLAogICAgICAgICBTVkdfU1BSRUFETUVUSE9EX1BBRCA9IFNWR1Nw
cmVhZE1ldGhvZFJlZmxlY3QsCkBAIC04Miw4ICs0NSw2IEBAIHB1YmxpYzoKIAogICAgIFZlY3Rv
cjxHcmFkaWVudDo6Q29sb3JTdG9wPiBidWlsZFN0b3BzKCk7CiAKLSAgICB1c2luZyBQcm9wZXJ0
eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0dyYWRpZW50RWxlbWVudCwg
U1ZHRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgU1ZHVVJJUmVmZXJlbmNl
PjsKLQogICAgIFNWR1NwcmVhZE1ldGhvZFR5cGUgc3ByZWFkTWV0aG9kKCkgY29uc3QgeyByZXR1
cm4gbV9zcHJlYWRNZXRob2QtPmN1cnJlbnRWYWx1ZTxTVkdTcHJlYWRNZXRob2RUeXBlPigpOyB9
CiAgICAgU1ZHVW5pdFR5cGVzOjpTVkdVbml0VHlwZSBncmFkaWVudFVuaXRzKCkgY29uc3QgeyBy
ZXR1cm4gbV9ncmFkaWVudFVuaXRzLT5jdXJyZW50VmFsdWU8U1ZHVW5pdFR5cGVzOjpTVkdVbml0
VHlwZT4oKTsgfQogICAgIGNvbnN0IFNWR1RyYW5zZm9ybUxpc3QmIGdyYWRpZW50VHJhbnNmb3Jt
KCkgY29uc3QgeyByZXR1cm4gbV9ncmFkaWVudFRyYW5zZm9ybS0+Y3VycmVudFZhbHVlKCk7IH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHcmFwaGljc0VsZW1lbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdHcmFwaGljc0VsZW1lbnQuaAppbmRleCBkNTE2ZTU5YjM4NTkw
NmIyODc5ODJjYjkwZmQ4Zjc2MGZmYTc3NTRhLi43ZWM0NGYxYmMzZmMxYTEzNjBiMjBiYzA5NDA0
NzIwNmIwNmFjMWFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR3JhcGhpY3NF
bGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dyYXBoaWNzRWxlbWVudC5oCkBA
IC0zNCw3ICszNCwxMCBAQCBjbGFzcyBTVkdNYXRyaXg7CiAKIGNsYXNzIFNWR0dyYXBoaWNzRWxl
bWVudCA6IHB1YmxpYyBTVkdFbGVtZW50LCBwdWJsaWMgU1ZHVHJhbnNmb3JtYWJsZSwgcHVibGlj
IFNWR1Rlc3RzIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR0dyYXBoaWNzRWxlbWVu
dCk7CisKIHB1YmxpYzoKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlP
d25lclJlZ2lzdHJ5PFNWR0dyYXBoaWNzRWxlbWVudCwgU1ZHRWxlbWVudCwgU1ZHVGVzdHM+Owor
CiAgICAgdmlydHVhbCB+U1ZHR3JhcGhpY3NFbGVtZW50KCk7CiAKICAgICBSZWY8U1ZHTWF0cml4
PiBnZXRDVE1Gb3JCaW5kaW5ncygpOwpAQCAtNjIsOCArNjUsNiBAQCBwdWJsaWM6CiAKICAgICBz
aXplX3QgYXBwcm94aW1hdGVNZW1vcnlDb3N0KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gc2l6
ZW9mKCp0aGlzKTsgfQogCi0gICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5
T3duZXJSZWdpc3RyeTxTVkdHcmFwaGljc0VsZW1lbnQsIFNWR0VsZW1lbnQsIFNWR1Rlc3RzPjsK
LQogICAgIGNvbnN0IFNWR1RyYW5zZm9ybUxpc3QmIHRyYW5zZm9ybSgpIGNvbnN0IHsgcmV0dXJu
IG1fdHJhbnNmb3JtLT5jdXJyZW50VmFsdWUoKTsgfQogICAgIFNWR0FuaW1hdGVkVHJhbnNmb3Jt
TGlzdCYgdHJhbnNmb3JtQW5pbWF0ZWQoKSB7IHJldHVybiBtX3RyYW5zZm9ybTsgfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHSEtlcm5FbGVtZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHSEtlcm5FbGVtZW50LmgKaW5kZXggNzQ3YjAzMjdkNjk4NjM3YzhmNjVlN2Jl
OTA0NDA4ODQ1NDM2NTEzMy4uZjI5MzVmMDBkMjA2ZGYzMzE1ZTEwMWU1NzQzNWFiNWRlMGNlOTBl
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0hLZXJuRWxlbWVudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdIS2VybkVsZW1lbnQuaApAQCAtMjksNiArMjksOCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNWR0hLZXJuRWxlbWVudCBmaW5hbCA6IHB1Ymxp
YyBTVkdFbGVtZW50IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR0hLZXJuRWxlbWVu
dCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3Ry
eTxTVkdIS2VybkVsZW1lbnQsIFNWR0VsZW1lbnQ+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJl
ZjxTVkdIS2VybkVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQm
KTsKIApAQCAtMzcsNyArMzksMTAgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBTVkdIS2VybkVs
ZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKKyAgICBjb25zdCBTVkdQ
cm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4g
bV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9CiAgICAgYm9vbCByZW5kZXJlcklzTmVlZGVkKGNvbnN0IFJl
bmRlclN0eWxlJikgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0KKworICAgIFByb3BlcnR5UmVnaXN0
cnkgbV9wcm9wZXJ0eVJlZ2lzdHJ5IHsgKnRoaXMgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdJbWFnZUVsZW1lbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdJbWFnZUVsZW1lbnQuaAppbmRleCBkY2Q3YTA4MjZhZDQ5
YTJlZmQ2ZDEwOGJiMTFhMjg5ZTk2Mzk1NGQ0Li5kMzFmMDMyZGI5Y2M5MWRkODE0ZjAyMmUyZjhk
MGVkZDdjMDI1NzliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHSW1hZ2VFbGVt
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ltYWdlRWxlbWVudC5oCkBAIC0zMCw2
ICszMCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU1ZHSW1hZ2VFbGVtZW50IGZp
bmFsIDogcHVibGljIFNWR0dyYXBoaWNzRWxlbWVudCwgcHVibGljIFNWR0V4dGVybmFsUmVzb3Vy
Y2VzUmVxdWlyZWQsIHB1YmxpYyBTVkdVUklSZWZlcmVuY2UgewogICAgIFdURl9NQUtFX0lTT19B
TExPQ0FURUQoU1ZHSW1hZ2VFbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0g
U1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0ltYWdlRWxlbWVudCwgU1ZHR3JhcGhpY3NFbGVt
ZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBTVkdVUklSZWZlcmVuY2U+OworCiBw
dWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdJbWFnZUVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFs
aWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIApAQCAtNTEsOSArNTMsNyBAQCBwdWJsaWM6CiBwcml2
YXRlOgogICAgIFNWR0ltYWdlRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQm
KTsKICAgICAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJl
Z2lzdHJ5PFNWR0ltYWdlRWxlbWVudCwgU1ZHR3JhcGhpY3NFbGVtZW50LCBTVkdFeHRlcm5hbFJl
c291cmNlc1JlcXVpcmVkLCBTVkdVUklSZWZlcmVuY2U+OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5
UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3Bl
cnR5UmVnaXN0cnk7IH0KLQogICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVk
TmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYpIGZpbmFsOwogICAgIHZvaWQgc3ZnQXR0cmlidXRl
Q2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJikgZmluYWw7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdMZW5ndGguaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMZW5ndGgu
aAppbmRleCBmZjBmZDM1MTRiMjYzZTEzOGQ1Y2NhOTA3ZjNhNzk4N2I2ZjNiOWVmLi45YmJiNWRm
ODI1NWFlZjYwYTU4YzEzNGYyNDU4YWUxOGZjOTAyMWI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHTGVuZ3RoLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xlbmd0aC5o
CkBAIC02Niw2ICs2NiwyMyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3
IFNWR0xlbmd0aChvd25lciwgYWNjZXNzLCB2YWx1ZSkpOwogICAgIH0KIAorICAgIHN0YXRpYyBF
eHBlY3RlZDxSZWY8U1ZHTGVuZ3RoPiwgU1ZHUGFyc2luZ0Vycm9yPiBjcmVhdGUoY29uc3QgVUNo
YXIqJiBwdHIsIGNvbnN0IFVDaGFyKiBlbmQsIFNWR0xlbmd0aE1vZGUgbGVuZ3RoTW9kZSkKKyAg
ICB7CisgICAgICAgIGNvbnN0IFVDaGFyKiBzdGFydCA9IHB0cjsKKyAgICAgICAgd2hpbGUgKHB0
ciA8IGVuZCAmJiAqcHRyICE9ICcsJyAmJiAhaXNTVkdTcGFjZSgqcHRyKSkKKyAgICAgICAgICAg
IHB0cisrOworCisgICAgICAgIFN0cmluZyBzdHJpbmcoc3RhcnQsIHB0ciAtIHN0YXJ0KTsKKyAg
ICAgICAgaWYgKHN0cmluZy5pc0VtcHR5KCkpCisgICAgICAgICAgICByZXR1cm4gbWFrZVVuZXhw
ZWN0ZWQoUGFyc2luZ0F0dHJpYnV0ZUZhaWxlZEVycm9yKTsKKworICAgICAgICBTVkdMZW5ndGhW
YWx1ZSB2YWx1ZShsZW5ndGhNb2RlKTsKKyAgICAgICAgaWYgKHZhbHVlLnNldFZhbHVlQXNTdHJp
bmcoc3RyaW5nKS5oYXNFeGNlcHRpb24oKSkKKyAgICAgICAgICAgIHJldHVybiBtYWtlVW5leHBl
Y3RlZChQYXJzaW5nQXR0cmlidXRlRmFpbGVkRXJyb3IpOworCisgICAgICAgIHJldHVybiBTVkdM
ZW5ndGg6OmNyZWF0ZSh2YWx1ZSk7CisgICAgfQorCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4K
ICAgICBzdGF0aWMgRXhjZXB0aW9uT3I8UmVmPFNWR0xlbmd0aD4+IGNyZWF0ZShFeGNlcHRpb25P
cjxUPiYmIHZhbHVlKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdM
ZW5ndGhMaXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoTGlzdC5oCmluZGV4IGIw
MTQ3ZmEyMzRmNGQ5YTg4ZjlmYzlmMzFkNWYzODg5NzMxNjc2OTUuLmRmZTY1Njk4NTg5MzY5NTg3
ZDBkOTgzNmMyOTc0YTU0OTBmYmRlMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdMZW5ndGhMaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xlbmd0aExpc3QuaApA
QCAtNTIsNDYgKzUyLDExIEBAIHB1YmxpYzoKIAogICAgIFNWR0xlbmd0aE1vZGUgbGVuZ3RoTW9k
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fbGVuZ3RoTW9kZTsgfQogCi0gICAgYm9vbCBwYXJzZShjb25z
dCBTdHJpbmcmIHZhbHVlKQorICAgIFNWR1BhcnNpbmdFcnJvciBwYXJzZShjb25zdCBTdHJpbmcm
IHZhbHVlKQogICAgIHsKLSAgICAgICAgY2xlYXJJdGVtcygpOwotCi0gICAgICAgIGF1dG8gdXBj
b252ZXJ0ZWRDaGFyYWN0ZXJzID0gU3RyaW5nVmlldyh2YWx1ZSkudXBjb252ZXJ0ZWRDaGFyYWN0
ZXJzKCk7Ci0gICAgICAgIGNvbnN0IFVDaGFyKiBwdHIgPSB1cGNvbnZlcnRlZENoYXJhY3RlcnM7
Ci0gICAgICAgIGNvbnN0IFVDaGFyKiBlbmQgPSBwdHIgKyB2YWx1ZS5sZW5ndGgoKTsKLSAgICAg
ICAgd2hpbGUgKHB0ciA8IGVuZCkgewotICAgICAgICAgICAgY29uc3QgVUNoYXIqIHN0YXJ0ID0g
cHRyOwotICAgICAgICAgICAgd2hpbGUgKHB0ciA8IGVuZCAmJiAqcHRyICE9ICcsJyAmJiAhaXNT
VkdTcGFjZSgqcHRyKSkKLSAgICAgICAgICAgICAgICBwdHIrKzsKLSAgICAgICAgICAgIGlmIChw
dHIgPT0gc3RhcnQpCi0gICAgICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgICAgIFN0cmlu
ZyB2YWx1ZVN0cmluZyhzdGFydCwgcHRyIC0gc3RhcnQpOwotICAgICAgICAgICAgU1ZHTGVuZ3Ro
VmFsdWUgdmFsdWUobV9sZW5ndGhNb2RlKTsKLSAgICAgICAgICAgIGlmICh2YWx1ZS5zZXRWYWx1
ZUFzU3RyaW5nKHZhbHVlU3RyaW5nKS5oYXNFeGNlcHRpb24oKSkKLSAgICAgICAgICAgICAgICBi
cmVhazsKLQotICAgICAgICAgICAgYXBwZW5kKFNWR0xlbmd0aDo6Y3JlYXRlKHZhbHVlKSk7Ci0g
ICAgICAgICAgICBza2lwT3B0aW9uYWxTVkdTcGFjZXNPckRlbGltaXRlcihwdHIsIGVuZCk7Ci0g
ICAgICAgIH0KLQotICAgICAgICByZXR1cm4gcHRyID09IGVuZDsKKyAgICAgICAgcmV0dXJuIEJh
c2U6OnBhcnNlKHZhbHVlLCBtX2xlbmd0aE1vZGUpOwogICAgIH0KIAotICAgIFN0cmluZyB2YWx1
ZUFzU3RyaW5nKCkgY29uc3Qgb3ZlcnJpZGUKLSAgICB7Ci0gICAgICAgIFN0cmluZ0J1aWxkZXIg
YnVpbGRlcjsKLQotICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIGxlbmd0aCA6IG1faXRlbXMpIHsK
LSAgICAgICAgICAgIGlmIChidWlsZGVyLmxlbmd0aCgpKQotICAgICAgICAgICAgICAgIGJ1aWxk
ZXIuYXBwZW5kKCcgJyk7Ci0KLSAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKGxlbmd0aC0+dmFs
dWUoKS52YWx1ZUFzU3RyaW5nKCkpOwotICAgICAgICB9Ci0KLSAgICAgICAgcmV0dXJuIGJ1aWxk
ZXIudG9TdHJpbmcoKTsKLSAgICB9Ci0gICAgCiBwcml2YXRlOgogICAgIFNWR0xlbmd0aExpc3Qo
U1ZHTGVuZ3RoTW9kZSBsZW5ndGhNb2RlKQogICAgICAgICA6IG1fbGVuZ3RoTW9kZShsZW5ndGhN
b2RlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xlbmd0aFZhbHVlLmggYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoVmFsdWUuaAppbmRleCA5MjY2MWIyMWU1M2U3MDBj
YTFiYWZlZTUxZTFmN2M1YWM5ZDZlMzQ1Li45N2I1NTEzN2QyNDg1MTYyMzZiNTM1ZjQ5Yzc2NjI2
MWIyYjA0YmE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoVmFsdWUu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoVmFsdWUuaApAQCAtMTQ1LDE3ICsx
NDUsNiBAQCBwcml2YXRlOgogICAgIHVuc2lnbmVkIG1fdW5pdDsKIH07CiAKLXRlbXBsYXRlPD4g
c3RydWN0IFNWR1Byb3BlcnR5VHJhaXRzPFNWR0xlbmd0aFZhbHVlPiB7Ci0gICAgc3RhdGljIFNW
R0xlbmd0aFZhbHVlIGluaXRpYWxWYWx1ZSgpIHsgcmV0dXJuIHsgfTsgfQotICAgIHN0YXRpYyBP
cHRpb25hbDxTVkdMZW5ndGhWYWx1ZT4gcGFyc2UoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5h
bWUsIGNvbnN0IFN0cmluZyYgc3RyaW5nKQotICAgIHsKLSAgICAgICAgU1ZHTGVuZ3RoVmFsdWUg
bGVuZ3RoOwotICAgICAgICBsZW5ndGguc2V0VmFsdWVBc1N0cmluZyhzdHJpbmcsIFNWR0xlbmd0
aFZhbHVlOjpsZW5ndGhNb2RlRm9yQW5pbWF0ZWRMZW5ndGhBdHRyaWJ1dGUoYXR0ck5hbWUpKS5o
YXNFeGNlcHRpb24oKTsKLSAgICAgICAgcmV0dXJuIGxlbmd0aDsKLSAgICB9Ci0gICAgc3RhdGlj
IFN0cmluZyB0b1N0cmluZyhjb25zdCBTVkdMZW5ndGhWYWx1ZSYgbGVuZ3RoKSB7IHJldHVybiBs
ZW5ndGgudmFsdWVBc1N0cmluZygpOyB9Ci19OwotCiBXVEY6OlRleHRTdHJlYW0mIG9wZXJhdG9y
PDwoV1RGOjpUZXh0U3RyZWFtJiwgY29uc3QgU1ZHTGVuZ3RoVmFsdWUmKTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xpbmVFbGVt
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTGluZUVsZW1lbnQuaAppbmRleCBkZDAyOWEz
ZDViZWQ4MjUwMjQ4Nzk5Yzk0Y2NjNmM3ODFkMjdhMmNmLi5lMWZiZWE5ZTI1MGNlYjQ3NzliZWI3
NGY3ZjNlMjQ1ZDQ4YmE0NzA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTGlu
ZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTGluZUVsZW1lbnQuaApAQCAt
MjksNiArMjksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNWR0xpbmVFbGVtZW50
IGZpbmFsIDogcHVibGljIFNWR0dlb21ldHJ5RWxlbWVudCwgcHVibGljIFNWR0V4dGVybmFsUmVz
b3VyY2VzUmVxdWlyZWQgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHTGluZUVsZW1l
bnQpOworICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0
cnk8U1ZHTGluZUVsZW1lbnQsIFNWR0dlb21ldHJ5RWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJj
ZXNSZXF1aXJlZD47CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR0xpbmVFbGVtZW50PiBj
cmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKQEAgLTQ1LDkgKzQ3LDcg
QEAgcHVibGljOgogcHJpdmF0ZToKICAgICBTVkdMaW5lRWxlbWVudChjb25zdCBRdWFsaWZpZWRO
YW1lJiwgRG9jdW1lbnQmKTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9w
ZXJ0eU93bmVyUmVnaXN0cnk8U1ZHTGluZUVsZW1lbnQsIFNWR0dlb21ldHJ5RWxlbWVudCwgU1ZH
RXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZD47CiAgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3Ry
eSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdp
c3RyeTsgfQotCiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwg
Y29uc3QgQXRvbWljU3RyaW5nJikgZmluYWw7CiAgICAgdm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2Vk
KGNvbnN0IFF1YWxpZmllZE5hbWUmKSBmaW5hbDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0xpbmVhckdyYWRpZW50RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0xpbmVhckdyYWRpZW50RWxlbWVudC5oCmluZGV4IDA0YTMxZGQ0N2MwYjIxOTE2MzgzOGFmNWM1
ZTA5YTkyODVjM2EyNmYuLjhhZDFlYTlkMjQ5OTAyNWI1MzNjZTZhYTA2OWRkZWIzNjk0ZjIxNDgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50LmgKQEAg
LTMwLDYgKzMwLDggQEAgc3RydWN0IExpbmVhckdyYWRpZW50QXR0cmlidXRlczsKIAogY2xhc3Mg
U1ZHTGluZWFyR3JhZGllbnRFbGVtZW50IGZpbmFsIDogcHVibGljIFNWR0dyYWRpZW50RWxlbWVu
dCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQp
OworICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8
U1ZHTGluZWFyR3JhZGllbnRFbGVtZW50LCBTVkdHcmFkaWVudEVsZW1lbnQ+OworCiBwdWJsaWM6
CiAgICAgc3RhdGljIFJlZjxTVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQ+IGNyZWF0ZShjb25zdCBR
dWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIApAQCAtNDgsOSArNTAsNyBAQCBwdWJsaWM6CiBw
cml2YXRlOgogICAgIFNWR0xpbmVhckdyYWRpZW50RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1l
JiwgRG9jdW1lbnQmKTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0
eU93bmVyUmVnaXN0cnk8U1ZHTGluZWFyR3JhZGllbnRFbGVtZW50LCBTVkdHcmFkaWVudEVsZW1l
bnQ+OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBj
b25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KLQogICAgIHZvaWQgcGFy
c2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYpIG92
ZXJyaWRlOwogICAgIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1l
Jikgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNUGF0aEVs
ZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNUGF0aEVsZW1lbnQuaAppbmRleCBkNjU5
MDNjZWI4M2E5YmNmNjE1NGI3OGNjYWE0YTZiYTM1NGIzZmU2Li42NzBlNjRkOWFiYzMzOTc4Nzc3
OTRhMmJhMTM3ZmI0ZTJhZDMwOTQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
TVBhdGhFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR01QYXRoRWxlbWVudC5o
CkBAIC0zMSw2ICszMSw4IEBAIGNsYXNzIFNWR1BhdGhFbGVtZW50OwogCiBjbGFzcyBTVkdNUGF0
aEVsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHRWxlbWVudCwgcHVibGljIFNWR0V4dGVybmFsUmVz
b3VyY2VzUmVxdWlyZWQsIHB1YmxpYyBTVkdVUklSZWZlcmVuY2UgewogICAgIFdURl9NQUtFX0lT
T19BTExPQ0FURUQoU1ZHTVBhdGhFbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5
ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR01QYXRoRWxlbWVudCwgU1ZHRWxlbWVudCwg
U1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgU1ZHVVJJUmVmZXJlbmNlPjsKKwogcHVibGlj
OgogICAgIHN0YXRpYyBSZWY8U1ZHTVBhdGhFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVk
TmFtZSYsIERvY3VtZW50Jik7CiAKQEAgLTQzLDkgKzQ1LDcgQEAgcHVibGljOgogcHJpdmF0ZToK
ICAgICBTVkdNUGF0aEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAK
LSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNW
R01QYXRoRWxlbWVudCwgU1ZHRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwg
U1ZHVVJJUmVmZXJlbmNlPjsKICAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0
eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9Ci0K
ICAgICB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9t
aWNTdHJpbmcmKSBmaW5hbDsKICAgICB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVh
bGlmaWVkTmFtZSYpIGZpbmFsOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
TWFya2VyRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR01hcmtlckVsZW1lbnQuaApp
bmRleCBmMDM0NTg0NDAzYmFiYTI2M2YxOGJlYzFjMTQzOGM3NmU4NjgxYjUwLi5hNjNiYzUzNTBi
Zjg1ODg3MTU0OTkxZmFiODQzOThiMzc2NDQ3OThjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHTWFya2VyRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNYXJr
ZXJFbGVtZW50LmgKQEAgLTMwLDYgKzMwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFz
cyBTVkdNYXJrZXJFbGVtZW50IGZpbmFsIDogcHVibGljIFNWR0VsZW1lbnQsIHB1YmxpYyBTVkdF
eHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBwdWJsaWMgU1ZHRml0VG9WaWV3Qm94IHsKICAgICBX
VEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR01hcmtlckVsZW1lbnQpOworICAgIHVzaW5nIFByb3Bl
cnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHTWFya2VyRWxlbWVudCwg
U1ZHRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgU1ZHRml0VG9WaWV3Qm94
PjsKKwogcHVibGljOgogICAgIC8vIEZvcndhcmQgZGVjbGFyZSBlbnVtZXJhdGlvbnMgaW4gdGhl
IFczQyBuYW1pbmcgc2NoZW1lLCBmb3IgSURMIGdlbmVyYXRpb24uCiAgICAgZW51bSB7CkBAIC03
MSw5ICs3Myw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgU1ZHTWFya2VyRWxlbWVudChjb25z
dCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0
cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHTWFya2VyRWxlbWVudCwgU1ZHRWxlbWVu
dCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgU1ZHRml0VG9WaWV3Qm94PjsKICAgICBj
b25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwg
eyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9Ci0KICAgICB2b2lkIHBhcnNlQXR0cmlidXRl
KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKSBvdmVycmlkZTsKICAg
ICB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYpIG92ZXJyaWRl
OwogICAgIHZvaWQgY2hpbGRyZW5DaGFuZ2VkKGNvbnN0IENoaWxkQ2hhbmdlJikgb3ZlcnJpZGU7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWFya2VyVHlwZXMuaCBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdNYXJrZXJUeXBlcy5oCmluZGV4IGI4MTFkMmU5ZGJjYjRkMjYzYmJm
YzNjMDBjMjc0YzM3MmEzOGUwN2EuLjgyNmEwZjU0NDg1ZTA4NTA0NGE0Njk3Yjk4OTE5M2MwYjgx
N2Y4ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNYXJrZXJUeXBlcy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNYXJrZXJUeXBlcy5oCkBAIC0yNiw5OSArMjYsMzIg
QEAKICNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSAiU1ZHQW5nbGVWYWx1ZS5oIgorI2luY2x1ZGUg
IlNWR0VudW1UeXBlLmgiCiAjaW5jbHVkZSAiU1ZHUHJvcGVydHlUcmFpdHMuaCIKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi1lbnVtIFNWR01hcmtlclVuaXRzVHlwZSB7Ci0gICAgU1ZHTWFya2Vy
VW5pdHNVbmtub3duID0gMCwKLSAgICBTVkdNYXJrZXJVbml0c1VzZXJTcGFjZU9uVXNlLAotICAg
IFNWR01hcmtlclVuaXRzU3Ryb2tlV2lkdGgKLX07Ci0KLWVudW0gU1ZHTWFya2VyT3JpZW50VHlw
ZSB7Ci0gICAgU1ZHTWFya2VyT3JpZW50VW5rbm93biA9IDAsCi0gICAgU1ZHTWFya2VyT3JpZW50
QXV0bywKLSAgICBTVkdNYXJrZXJPcmllbnRBbmdsZSwKLSAgICBTVkdNYXJrZXJPcmllbnRBdXRv
U3RhcnRSZXZlcnNlLAotICAgIAotICAgIC8vIEFkZCBuZXcgZWxlbWVudHMgYmVmb3JlIGhlcmUu
Ci0gICAgU1ZHTWFya2VyT3JpZW50TWF4Ci19OwotICAgIAogdGVtcGxhdGU8Pgotc3RydWN0IFNW
R1Byb3BlcnR5VHJhaXRzPFNWR01hcmtlclVuaXRzVHlwZT4gewotICAgIHN0YXRpYyB1bnNpZ25l
ZCBoaWdoZXN0RW51bVZhbHVlKCkgeyByZXR1cm4gU1ZHTWFya2VyVW5pdHNTdHJva2VXaWR0aDsg
fQotICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoU1ZHTWFya2VyVW5pdHNUeXBlIHR5cGUpCi0g
ICAgewotICAgICAgICBzd2l0Y2ggKHR5cGUpIHsKLSAgICAgICAgY2FzZSBTVkdNYXJrZXJVbml0
c1Vua25vd246Ci0gICAgICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKLSAgICAgICAgY2Fz
ZSBTVkdNYXJrZXJVbml0c1VzZXJTcGFjZU9uVXNlOgotICAgICAgICAgICAgcmV0dXJuICJ1c2Vy
U3BhY2VPblVzZSJfczsKLSAgICAgICAgY2FzZSBTVkdNYXJrZXJVbml0c1N0cm9rZVdpZHRoOgot
ICAgICAgICAgICAgcmV0dXJuICJzdHJva2VXaWR0aCJfczsKLSAgICAgICAgfQotICAgICAgICAK
LSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIHJldHVybiBlbXB0eVN0cmlu
ZygpOwotICAgIH0KLSAgICBzdGF0aWMgU1ZHTWFya2VyVW5pdHNUeXBlIGZyb21TdHJpbmcoY29u
c3QgU3RyaW5nJiB2YWx1ZSkKK3N0cnVjdCBTVkdQcm9wZXJ0eVRyYWl0czxzdGQ6OnBhaXI8U1ZH
QW5nbGVWYWx1ZSwgU1ZHTWFya2VyT3JpZW50VHlwZT4+IHsKKyAgICBzdGF0aWMgRXhwZWN0ZWQ8
c3RkOjpwYWlyPFNWR0FuZ2xlVmFsdWUsIFNWR01hcmtlck9yaWVudFR5cGU+LCBTVkdQYXJzaW5n
RXJyb3I+IHBhcnNlKGNvbnN0IFN0cmluZyYgc3RyaW5nKQogICAgIHsKLSAgICAgICAgaWYgKHZh
bHVlID09ICJ1c2VyU3BhY2VPblVzZSIpCi0gICAgICAgICAgICByZXR1cm4gU1ZHTWFya2VyVW5p
dHNVc2VyU3BhY2VPblVzZTsKLSAgICAgICAgaWYgKHZhbHVlID09ICJzdHJva2VXaWR0aCIpCi0g
ICAgICAgICAgICByZXR1cm4gU1ZHTWFya2VyVW5pdHNTdHJva2VXaWR0aDsKLSAgICAgICAgcmV0
dXJuIFNWR01hcmtlclVuaXRzVW5rbm93bjsKLSAgICB9Ci19OworICAgICAgICBTVkdBbmdsZVZh
bHVlIGFuZ2xlOworICAgICAgICBpZiAoc3RyaW5nLmlzRW1wdHkoKSkKKyAgICAgICAgICAgIHJl
dHVybiBzdGQ6Om1ha2VfcGFpcihhbmdsZSwgU1ZHTWFya2VyT3JpZW50QW5nbGUpOwogCi10ZW1w
bGF0ZTw+Ci1zdHJ1Y3QgU1ZHUHJvcGVydHlUcmFpdHM8U1ZHTWFya2VyT3JpZW50VHlwZT4gewot
ICAgIHN0YXRpYyBjb25zdCBTdHJpbmcgYXV0b1N0cmluZygpCi0gICAgewotICAgICAgICBzdGF0
aWMgY29uc3QgTmV2ZXJEZXN0cm95ZWQ8U3RyaW5nPiBhdXRvU3RyaW5nID0gTUFLRV9TVEFUSUNf
U1RSSU5HX0lNUEwoImF1dG8iKTsKLSAgICAgICAgcmV0dXJuIGF1dG9TdHJpbmc7Ci0gICAgfQot
ICAgIHN0YXRpYyBjb25zdCBTdHJpbmcgYXV0b1N0YXJ0UmV2ZXJzZVN0cmluZygpCi0gICAgewot
ICAgICAgICBzdGF0aWMgY29uc3QgTmV2ZXJEZXN0cm95ZWQ8U3RyaW5nPiBhdXRvU3RhcnRSZXZl
cnNlU3RyaW5nID0gTUFLRV9TVEFUSUNfU1RSSU5HX0lNUEwoImF1dG8tc3RhcnQtcmV2ZXJzZSIp
OwotICAgICAgICByZXR1cm4gYXV0b1N0YXJ0UmV2ZXJzZVN0cmluZzsKLSAgICB9Ci0gICAgc3Rh
dGljIHVuc2lnbmVkIGhpZ2hlc3RFbnVtVmFsdWUoKSB7IHJldHVybiBTVkdNYXJrZXJPcmllbnRB
dXRvU3RhcnRSZXZlcnNlOyB9Ci0gICAgc3RhdGljIFNWR01hcmtlck9yaWVudFR5cGUgZnJvbVN0
cmluZyhjb25zdCBTdHJpbmcmIHN0cmluZykKLSAgICB7Ci0gICAgICAgIGlmIChzdHJpbmcgPT0g
YXV0b1N0cmluZygpKQotICAgICAgICAgICAgcmV0dXJuIFNWR01hcmtlck9yaWVudEF1dG87Ci0g
ICAgICAgIGlmIChzdHJpbmcgPT0gYXV0b1N0YXJ0UmV2ZXJzZVN0cmluZygpKQotICAgICAgICAg
ICAgcmV0dXJuIFNWR01hcmtlck9yaWVudEF1dG9TdGFydFJldmVyc2U7Ci0gICAgICAgIHJldHVy
biBTVkdNYXJrZXJPcmllbnRVbmtub3duOwotICAgIH0KLSAgICBzdGF0aWMgU3RyaW5nIHRvU3Ry
aW5nKFNWR01hcmtlck9yaWVudFR5cGUgdHlwZSkKLSAgICB7Ci0gICAgICAgIGlmICh0eXBlID09
IFNWR01hcmtlck9yaWVudEF1dG8pCi0gICAgICAgICAgICByZXR1cm4gYXV0b1N0cmluZygpOwot
ICAgICAgICBpZiAodHlwZSA9PSBTVkdNYXJrZXJPcmllbnRBdXRvU3RhcnRSZXZlcnNlKQotICAg
ICAgICAgICAgcmV0dXJuIGF1dG9TdGFydFJldmVyc2VTdHJpbmcoKTsKLSAgICAgICAgcmV0dXJu
IGVtcHR5U3RyaW5nKCk7Ci0gICAgfQotfTsKKyAgICAgICAgU1ZHTWFya2VyT3JpZW50VHlwZSBv
cmllbnRUeXBlID0gU1ZHUHJvcGVydHlUcmFpdHM8U1ZHTWFya2VyT3JpZW50VHlwZT46OmZyb21T
dHJpbmcoc3RyaW5nKTsKKyAgICAgICAgaWYgKG9yaWVudFR5cGUgIT0gU1ZHTWFya2VyT3JpZW50
VW5rbm93bikKKyAgICAgICAgICAgIHJldHVybiBzdGQ6Om1ha2VfcGFpcihhbmdsZSwgb3JpZW50
VHlwZSk7CiAKLXRlbXBsYXRlPD4KLWlubGluZSB1bnNpZ25lZCBTVkdJRExFbnVtTGltaXRzPFNW
R01hcmtlck9yaWVudFR5cGU+OjpoaWdoZXN0RXhwb3NlZEVudW1WYWx1ZSgpIHsgcmV0dXJuIFNW
R01hcmtlck9yaWVudEFuZ2xlOyB9CisgICAgICAgIGF1dG8gcmVzdWx0ID0gYW5nbGUuc2V0VmFs
dWVBc1N0cmluZyhzdHJpbmcpOworICAgICAgICBpZiAocmVzdWx0Lmhhc0V4Y2VwdGlvbigpKQor
ICAgICAgICAgICAgcmV0dXJuIG1ha2VVbmV4cGVjdGVkKFBhcnNpbmdBdHRyaWJ1dGVGYWlsZWRF
cnJvcik7CiAKLXRlbXBsYXRlPD4KLXN0cnVjdCBTVkdQcm9wZXJ0eVRyYWl0czxzdGQ6OnBhaXI8
U1ZHQW5nbGVWYWx1ZSwgU1ZHTWFya2VyT3JpZW50VHlwZT4+IHsKKyAgICAgICAgcmV0dXJuIHN0
ZDo6bWFrZV9wYWlyKGFuZ2xlLCBTVkdNYXJrZXJPcmllbnRBbmdsZSk7CisgICAgfQogICAgIHN0
YXRpYyBzdGQ6OnBhaXI8U1ZHQW5nbGVWYWx1ZSwgU1ZHTWFya2VyT3JpZW50VHlwZT4gZnJvbVN0
cmluZyhjb25zdCBTdHJpbmcmIHN0cmluZykKICAgICB7Ci0gICAgICAgIFNWR0FuZ2xlVmFsdWUg
YW5nbGU7Ci0gICAgICAgIFNWR01hcmtlck9yaWVudFR5cGUgb3JpZW50VHlwZSA9IFNWR1Byb3Bl
cnR5VHJhaXRzPFNWR01hcmtlck9yaWVudFR5cGU+Ojpmcm9tU3RyaW5nKHN0cmluZyk7Ci0gICAg
ICAgIGlmIChvcmllbnRUeXBlID09IFNWR01hcmtlck9yaWVudFVua25vd24pIHsKLSAgICAgICAg
ICAgIGF1dG8gcmVzdWx0ID0gYW5nbGUuc2V0VmFsdWVBc1N0cmluZyhzdHJpbmcpOwotICAgICAg
ICAgICAgaWYgKCFyZXN1bHQuaGFzRXhjZXB0aW9uKCkpCi0gICAgICAgICAgICAgICAgb3JpZW50
VHlwZSA9IFNWR01hcmtlck9yaWVudEFuZ2xlOwotICAgICAgICB9Ci0gICAgICAgIHJldHVybiBz
dGQ6Om1ha2VfcGFpcihhbmdsZSwgb3JpZW50VHlwZSk7CisgICAgICAgIHJldHVybiBwYXJzZShz
dHJpbmcpLnZhbHVlX29yKHN0ZDo6bWFrZV9wYWlyPFNWR0FuZ2xlVmFsdWUsIFNWR01hcmtlck9y
aWVudFR5cGU+KHsgfSwgU1ZHTWFya2VyT3JpZW50VW5rbm93bikpOwogICAgIH0KIH07CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNYXNrRWxlbWVudC5oIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR01hc2tFbGVtZW50LmgKaW5kZXggYzVlMzU4ZGZmYmE5ZGU0ZDcwM2Y2YzQ4
MjA3Y2RmMWEzNmE0YzBiZS4uYzMxNjJmMzg1NDQ3MmM5YmYxYzhkNmYwZDhhMWJkNTZkNGFjZmQ2
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR01hc2tFbGVtZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR01hc2tFbGVtZW50LmgKQEAgLTMwLDYgKzMwLDggQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTVkdNYXNrRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBT
VkdFbGVtZW50LCBwdWJsaWMgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgcHVibGljIFNW
R1Rlc3RzIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR01hc2tFbGVtZW50KTsKKyAg
ICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR01h
c2tFbGVtZW50LCBTVkdFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBTVkdU
ZXN0cz47CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR01hc2tFbGVtZW50PiBjcmVhdGUo
Y29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKQEAgLTUwLDkgKzUyLDcgQEAgcHVi
bGljOgogcHJpdmF0ZToKICAgICBTVkdNYXNrRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwg
RG9jdW1lbnQmKTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93
bmVyUmVnaXN0cnk8U1ZHTWFza0VsZW1lbnQsIFNWR0VsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3Vy
Y2VzUmVxdWlyZWQsIFNWR1Rlc3RzPjsKICAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBw
cm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5
OyB9Ci0KICAgICB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25z
dCBBdG9taWNTdHJpbmcmKSBmaW5hbDsKICAgICB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29u
c3QgUXVhbGlmaWVkTmFtZSYpIGZpbmFsOwogICAgIHZvaWQgY2hpbGRyZW5DaGFuZ2VkKGNvbnN0
IENoaWxkQ2hhbmdlJikgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
TWV0YWRhdGFFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWV0YWRhdGFFbGVtZW50
LmgKaW5kZXggNmIwNDExMmI3ZmExNDM3YTlhNGQzMGRkZTYxMTJhNzU4NjFjMjYwMi4uZGI5YmU3
ODAxZjMyOTAxMmI1YjEyMTViNGQ2NzM0OTVjYzE1NjM0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR01ldGFkYXRhRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdNZXRhZGF0YUVsZW1lbnQuaApAQCAtMjYsMTMgKzI2LDE4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogY2xhc3MgU1ZHTWV0YWRhdGFFbGVtZW50IGZpbmFsIDogcHVibGljIFNWR0VsZW1lbnQg
ewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHTWV0YWRhdGFFbGVtZW50KTsKKyAgICB1
c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR01ldGFk
YXRhRWxlbWVudCwgU1ZHRWxlbWVudD47CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR01l
dGFkYXRhRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwog
CiBwcml2YXRlOgogICAgIFNWR01ldGFkYXRhRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwg
RG9jdW1lbnQmKTsKIAorICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVn
aXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KICAgICBi
b29sIHJlbmRlcmVySXNOZWVkZWQoY29uc3QgUmVuZGVyU3R5bGUmKSBmaW5hbCB7IHJldHVybiBm
YWxzZTsgfQorICAgIAorICAgIFByb3BlcnR5UmVnaXN0cnkgbV9wcm9wZXJ0eVJlZ2lzdHJ5IHsg
KnRoaXMgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdNaXNzaW5nR2x5cGhFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHTWlzc2luZ0dseXBoRWxlbWVudC5oCmluZGV4IDQ0YjM3NDZhODI3ZTVmNTdlZDk1NTVh
MGNlNmZkN2NjYWM1YTE0N2EuLjQ0OWQ0MTQ0N2Q0MTM5OTc5NjI0N2QzOTMyMDJhYTU4N2QyZmJj
MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNaXNzaW5nR2x5cGhFbGVtZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR01pc3NpbmdHbHlwaEVsZW1lbnQuaApAQCAt
MjgsMTMgKzI4LDE4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU1ZHTWlzc2luZ0ds
eXBoRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdFbGVtZW50IHsKICAgICBXVEZfTUFLRV9JU09f
QUxMT0NBVEVEKFNWR01pc3NpbmdHbHlwaEVsZW1lbnQpOworICAgIHVzaW5nIFByb3BlcnR5UmVn
aXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHTWlzc2luZ0dseXBoRWxlbWVudCwg
U1ZHRWxlbWVudD47CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR01pc3NpbmdHbHlwaEVs
ZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAogcHJpdmF0
ZToKICAgICBTVkdNaXNzaW5nR2x5cGhFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1
bWVudCYpOwogCisgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3Ry
eSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQogICAgIGJvb2wg
cmVuZGVyZXJJc05lZWRlZChjb25zdCBSZW5kZXJTdHlsZSYpIGZpbmFsIHsgcmV0dXJuIGZhbHNl
OyB9CisKKyAgICBQcm9wZXJ0eVJlZ2lzdHJ5IG1fcHJvcGVydHlSZWdpc3RyeSB7ICp0aGlzIH07
CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHTnVtYmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTnVtYmVyLmgKaW5kZXgg
MjNjODJlNDRlNjc3ZDhkMzYwYzk2MTU0Yzc5NWRhYjg3NzZhMWZhNC4uOTJmNWExYWQ4Y2U0YWJj
ZmRkZTdjYTRiNmUwZDdiZmQ1MDk5OGY0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR051bWJlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdOdW1iZXIuaApAQCAtNDUs
NiArNDUsMTQgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdOdW1i
ZXIob3duZXIsIGFjY2VzcywgdmFsdWUpKTsKICAgICB9CiAKKyAgICBzdGF0aWMgRXhwZWN0ZWQ8
UmVmPFNWR051bWJlcj4sIFNWR1BhcnNpbmdFcnJvcj4gY3JlYXRlKGNvbnN0IFVDaGFyKiYgcHRy
LCBjb25zdCBVQ2hhciogZW5kKQorICAgIHsKKyAgICAgICAgZmxvYXQgbnVtYmVyID0gMDsKKyAg
ICAgICAgaWYgKCFwYXJzZU51bWJlcihwdHIsIGVuZCwgbnVtYmVyKSkKKyAgICAgICAgICAgIHJl
dHVybiBtYWtlVW5leHBlY3RlZChQYXJzaW5nQXR0cmlidXRlRmFpbGVkRXJyb3IpOworICAgICAg
ICByZXR1cm4gU1ZHTnVtYmVyOjpjcmVhdGUobnVtYmVyKTsKKyAgICB9CisKICAgICB0ZW1wbGF0
ZTx0eXBlbmFtZSBUPgogICAgIHN0YXRpYyBFeGNlcHRpb25PcjxSZWY8U1ZHTnVtYmVyPj4gY3Jl
YXRlKEV4Y2VwdGlvbk9yPFQ+JiYgdmFsdWUpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR051bWJlckxpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdOdW1iZXJM
aXN0LmgKaW5kZXggNWI1ZDU3ZTg0NmY0MzFhYWY1YzA4ZGJjOWE0YzM0YWJlODRkNmQxZi4uYTVl
NzNlMTkwOWRiZjQ2MTRhYzA3ZWYzMWUzYWI0NTI3MmVmZjMxZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR051bWJlckxpc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
TnVtYmVyTGlzdC5oCkBAIC00OSw0MCArNDksNiBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdOdW1iZXJMaXN0KG90aGVyLCBhY2Nlc3MpKTsKICAgICB9
Ci0KLSAgICBib29sIHBhcnNlKGNvbnN0IFN0cmluZyYgdmFsdWUpCi0gICAgewotICAgICAgICBj
bGVhckl0ZW1zKCk7Ci0KLSAgICAgICAgZmxvYXQgbnVtYmVyID0gMDsKLSAgICAgICAgYXV0byB1
cGNvbnZlcnRlZENoYXJhY3RlcnMgPSBTdHJpbmdWaWV3KHZhbHVlKS51cGNvbnZlcnRlZENoYXJh
Y3RlcnMoKTsKLSAgICAgICAgY29uc3QgVUNoYXIqIHB0ciA9IHVwY29udmVydGVkQ2hhcmFjdGVy
czsKLSAgICAgICAgY29uc3QgVUNoYXIqIGVuZCA9IHB0ciArIHZhbHVlLmxlbmd0aCgpOwotCi0g
ICAgICAgIC8vIFRoZSBzcGVjIChzZWN0aW9uIDQuMSkgc3RyYW5nZWx5IGRvZXNuJ3QgYWxsb3cg
bGVhZGluZyB3aGl0ZXNwYWNlLgotICAgICAgICAvLyBXZSBtaWdodCBjaG9vc2UgdG8gdmlvbGF0
ZSB0aGF0IGludGVudGlvbmFsbHkuCi0gICAgICAgIHdoaWxlIChwdHIgPCBlbmQpIHsKLSAgICAg
ICAgICAgIGlmICghcGFyc2VOdW1iZXIocHRyLCBlbmQsIG51bWJlcikpCi0gICAgICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgICAgICBhcHBlbmQoU1ZHTnVtYmVyOjpjcmVhdGUobnVtYmVyKSk7
Ci0gICAgICAgIH0KLQotICAgICAgICByZXR1cm4gcHRyID09IGVuZDsKLSAgICB9Ci0KLSAgICBT
dHJpbmcgdmFsdWVBc1N0cmluZygpIGNvbnN0IG92ZXJyaWRlCi0gICAgewotICAgICAgICBTdHJp
bmdCdWlsZGVyIGJ1aWxkZXI7Ci0KLSAgICAgICAgZm9yIChjb25zdCBhdXRvJiBudW1iZXIgOiBt
X2l0ZW1zKSB7Ci0gICAgICAgICAgICBpZiAoYnVpbGRlci5sZW5ndGgoKSkKLSAgICAgICAgICAg
ICAgICBidWlsZGVyLmFwcGVuZCgnICcpOwotCi0gICAgICAgICAgICBidWlsZGVyLmFwcGVuZEZp
eGVkUHJlY2lzaW9uTnVtYmVyKG51bWJlci0+dmFsdWUoKSk7Ci0gICAgICAgIH0KLQotICAgICAg
ICByZXR1cm4gYnVpbGRlci50b1N0cmluZygpOwotICAgIH0KIH07CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXJzaW5nRXJyb3Iu
aCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXJzaW5nRXJyb3IuaAppbmRleCAxYjlhNzAxYjli
Mjg5OTY1Njg1NTBhZDdiODliMzczZDc0MzYzOTcyLi41NGFmZGJmN2MyNzVmNDJmYzg1ZGEzMTVi
Y2ZkN2I5YjYxZjJhODhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGFyc2lu
Z0Vycm9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhcnNpbmdFcnJvci5oCkBAIC0x
LDYgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0
ZWQgMjAxMS4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBs
ZSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDExLTIwMTkg
QXBwbGUsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwpAQCAtMzAsOCArMzAsNDAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBlbnVtIFNW
R1BhcnNpbmdFcnJvciB7CiAgICAgTm9FcnJvciwKLSAgICBQYXJzaW5nQXR0cmlidXRlRmFpbGVk
RXJyb3IsCi0gICAgTmVnYXRpdmVWYWx1ZUZvcmJpZGRlbkVycm9yCisgICAgVW5leHBlY3RlZEVu
ZE9mQXR0cmlidXRlRXJyb3IsCisgICAgWmVyb1ZhbHVlRm9yYmlkZGVuRXJyb3IsCisgICAgTmVn
YXRpdmVWYWx1ZUZvcmJpZGRlbkVycm9yLAorICAgIFVucmVjb2duaXplZEVudW1WYWx1ZUVycm9y
LAorICAgIFBhcnNpbmdBdHRyaWJ1dGVGYWlsZWRFcnJvcgogfTsKIAorZW51bSBTVkdQYXJzaW5n
T3B0aW9ucyB7CisgICAgTm9PcHRpb25zICAgICAgICAgICAgID0gMCwKKyAgICBGb3JiaWROZWdh
dGl2ZSAgICAgICAgPSAxIDw8IDAsCisgICAgRm9yYmlkWmVybyAgICAgICAgICAgID0gMSA8PCAy
LAorICAgIEZvcmJpZFplcm9BbmROZWdhdGl2ZSA9IEZvcmJpZE5lZ2F0aXZlIHwgRm9yYmlkWmVy
bywKKyAgICBBbGxvd1BlcmNlbnRhZ2UgICAgICAgPSAxIDw8IDMKK307CisKK3RlbXBsYXRlPHR5
cGVuYW1lIFQ+IHN0cnVjdCBTVkdOdW1lcmljUGFyc2luZ1ZhbGlkYXRvcjsKKwordGVtcGxhdGU8
dHlwZW5hbWUgVD4KK3N0cnVjdCBTVkdOdW1lcmljUGFyc2luZ1ZhbGlkYXRvciB7CisgICAgc3Rh
dGljIGNvbnN0ZXhwciBTVkdQYXJzaW5nRXJyb3IgdmFsaWRhdGUoVCB0LCBTVkdQYXJzaW5nT3B0
aW9ucyBwYXJzaW5nT3B0aW9ucykKKyAgICB7CisgICAgICAgIHN0YXRpY19hc3NlcnQoc3RkOjpp
c19hcml0aG1ldGljPFQ+Ojp2YWx1ZSwgIlRoaXMgZnVuY3Rpb24gY2FuIG9ubHkgY2hlY2sgdGhl
IHZhbHVlIG9mIGEgbnVtZXJpYy4iKTsKKyAgICAgICAgaWYgKChwYXJzaW5nT3B0aW9ucyAmIEZv
cmJpZE5lZ2F0aXZlKSAmJiB0IDwgMCkKKyAgICAgICAgICAgIHJldHVybiBOZWdhdGl2ZVZhbHVl
Rm9yYmlkZGVuRXJyb3I7CisgICAgICAgIGlmICgocGFyc2luZ09wdGlvbnMgJiBGb3JiaWRaZXJv
KSAmJiAhdCkKKyAgICAgICAgICAgIHJldHVybiBaZXJvVmFsdWVGb3JiaWRkZW5FcnJvcjsKKyAg
ICAgICAgcmV0dXJuIE5vRXJyb3I7CisgICAgfQorfTsKKwordGVtcGxhdGU8dHlwZW5hbWUgVD4K
K2NvbnN0ZXhwciBhdXRvIHZhbGlkYXRlTnVtZXJpYyhUIHQsIFNWR1BhcnNpbmdPcHRpb25zIHBh
cnNpbmdPcHRpb25zKQoreworICAgIHJldHVybiBTVkdOdW1lcmljUGFyc2luZ1ZhbGlkYXRvcjxU
Pjo6dmFsaWRhdGUodCwgcGFyc2luZ09wdGlvbnMpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aEVsZW1lbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoRWxlbWVudC5oCmluZGV4IDY3NzRkMDY5OGFhNDJmYjUz
NzM3ZGUxZDg5NTA3MDgzMTM1OGU3YTcuLmYyNTA4Y2FlOTBkYzc0Y2Y2MTZkOGYxZTMwY2E2YjNk
NTU1ZjdkMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoRWxlbWVudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoRWxlbWVudC5oCkBAIC0zNSw2ICszNSw4
IEBAIGNsYXNzIFNWR1BvaW50OwogCiBjbGFzcyBTVkdQYXRoRWxlbWVudCBmaW5hbCA6IHB1Ymxp
YyBTVkdHZW9tZXRyeUVsZW1lbnQsIHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR1BhdGhFbGVtZW50KTsKKyAgICB1c2lu
ZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR1BhdGhFbGVt
ZW50LCBTVkdHZW9tZXRyeUVsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ+Owor
CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdQYXRoRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1
YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogICAgIApAQCAtMTA4LDkgKzExMCw3IEBAIHB1Ymxp
YzoKIHByaXZhdGU6CiAgICAgU1ZHUGF0aEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERv
Y3VtZW50Jik7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25l
clJlZ2lzdHJ5PFNWR1BhdGhFbGVtZW50LCBTVkdHZW9tZXRyeUVsZW1lbnQsIFNWR0V4dGVybmFs
UmVzb3VyY2VzUmVxdWlyZWQ+OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3Bl
cnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0K
LSAgICAKICAgICB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25z
dCBBdG9taWNTdHJpbmcmKSBmaW5hbDsKICAgICB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29u
c3QgUXVhbGlmaWVkTmFtZSYpIGZpbmFsOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHUGF0dGVybkVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXR0ZXJuRWxl
bWVudC5oCmluZGV4IDM2Y2RlZmIwYjc2MzRkYjI3ZGRkZWQ4MTY2MDhjOWMxNzZjMWJlMGYuLmU5
MmQzMTUxYzk0MGI5ZjVjY2IwNDRhMmI3MDIxMTU3MDFmMzQxZGMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdQYXR0ZXJuRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdQYXR0ZXJuRWxlbWVudC5oCkBAIC0zNSw2ICszNSw4IEBAIHN0cnVjdCBQYXR0ZXJuQXR0
cmlidXRlczsKICAKIGNsYXNzIFNWR1BhdHRlcm5FbGVtZW50IGZpbmFsIDogcHVibGljIFNWR0Vs
ZW1lbnQsIHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBwdWJsaWMgU1ZHRml0
VG9WaWV3Qm94LCBwdWJsaWMgU1ZHVGVzdHMsIHB1YmxpYyBTVkdVUklSZWZlcmVuY2UgewogICAg
IFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHUGF0dGVybkVsZW1lbnQpOworICAgIHVzaW5nIFBy
b3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHUGF0dGVybkVsZW1l
bnQsIFNWR0VsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIFNWR0ZpdFRvVmll
d0JveCwgU1ZHVGVzdHMsIFNWR1VSSVJlZmVyZW5jZT47CisKIHB1YmxpYzoKICAgICBzdGF0aWMg
UmVmPFNWR1BhdHRlcm5FbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3Vt
ZW50Jik7CiAKQEAgLTYxLDkgKzYzLDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBTVkdQYXR0
ZXJuRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAotICAgIHVzaW5n
IFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHUGF0dGVybkVs
ZW1lbnQsIFNWR0VsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIFNWR0ZpdFRv
Vmlld0JveCwgU1ZHVGVzdHMsIFNWR1VSSVJlZmVyZW5jZT47CiAgICAgY29uc3QgU1ZHUHJvcGVy
dHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJv
cGVydHlSZWdpc3RyeTsgfQotCiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZp
ZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJikgZmluYWw7CiAgICAgdm9pZCBzdmdBdHRyaWJ1
dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBmaW5hbDsKICAgICB2b2lkIGNoaWxkcmVu
Q2hhbmdlZChjb25zdCBDaGlsZENoYW5nZSYpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1BvaW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUG9pbnQuaAppbmRl
eCA3NzQ0NWI5ZmNiMWZiNDBiNTEzOTZlMTkyZTczNDU4NmM2MzU0YjUyLi5iMWZhZjYxMmMwNTZh
ZGQ1NzNmNzIwNTQzNGQ1NGEwZTliY2YxMzkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHUG9pbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUG9pbnQuaApAQCAtNDQs
NiArNDQsMTkgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdQb2lu
dCh2YWx1ZSkpOwogICAgIH0KIAorICAgIHN0YXRpYyBFeHBlY3RlZDxSZWY8U1ZHUG9pbnQ+LCBT
VkdQYXJzaW5nRXJyb3I+IGNyZWF0ZShjb25zdCBVQ2hhciomIHB0ciwgY29uc3QgVUNoYXIqIGVu
ZCkKKyAgICB7CisgICAgICAgIGZsb2F0IHhQb3MgPSAwLjBmOworICAgICAgICBpZiAoIXBhcnNl
TnVtYmVyKHB0ciwgZW5kLCB4UG9zKSkKKyAgICAgICAgICAgIHJldHVybiBtYWtlVW5leHBlY3Rl
ZChQYXJzaW5nQXR0cmlidXRlRmFpbGVkRXJyb3IpOworCisgICAgICAgIGZsb2F0IHlQb3MgPSAw
LjBmOworICAgICAgICBpZiAoIXBhcnNlTnVtYmVyKHB0ciwgZW5kLCB5UG9zLCBmYWxzZSkpCisg
ICAgICAgICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQoUGFyc2luZ0F0dHJpYnV0ZUZhaWxlZEVy
cm9yKTsKKworICAgICAgICByZXR1cm4gU1ZHUG9pbnQ6OmNyZWF0ZSh7IHhQb3MsIHlQb3MgfSk7
CisgICAgfQorCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KICAgICBzdGF0aWMgRXhjZXB0aW9u
T3I8UmVmPFNWR1BvaW50Pj4gY3JlYXRlKEV4Y2VwdGlvbk9yPFQ+JiYgdmFsdWUpCiAgICAgewpA
QCAtODgsNyArMTAxLDYgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBT
VkdQb2ludChuZXdQb2ludCkpOwogICAgIH0KIAotcHJpdmF0ZToKICAgICBTdHJpbmcgdmFsdWVB
c1N0cmluZygpIGNvbnN0IG92ZXJyaWRlCiAgICAgewogICAgICAgICByZXR1cm4gU1ZHUHJvcGVy
dHlUcmFpdHM8RmxvYXRQb2ludD46OnRvU3RyaW5nKG1fdmFsdWUpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1BvaW50TGlzdC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Bv
aW50TGlzdC5oCmluZGV4IDhjNmM1MGIwZTNiYWNlNTM2YWU1MGViYjI4YzFiNDZlMTU3NDllODEu
LmRiZWM4OWJmYTg5ODllNDMyMDM3MGUyY2MwNDI2N2I1Y2UyNDdmM2YgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdQb2ludExpc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHUG9pbnRMaXN0LmgKQEAgLTQ5LDU3ICs0OSw2IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAg
IHJldHVybiBhZG9wdFJlZigqbmV3IFNWR1BvaW50TGlzdChvdGhlciwgYWNjZXNzKSk7CiAgICAg
fQotCi0gICAgYm9vbCBwYXJzZShjb25zdCBTdHJpbmcmIHZhbHVlKQotICAgIHsKLSAgICAgICAg
Y2xlYXJJdGVtcygpOwotCi0gICAgICAgIGF1dG8gdXBjb252ZXJ0ZWRDaGFyYWN0ZXJzID0gU3Ry
aW5nVmlldyh2YWx1ZSkudXBjb252ZXJ0ZWRDaGFyYWN0ZXJzKCk7Ci0gICAgICAgIGNvbnN0IFVD
aGFyKiBjdXIgPSB1cGNvbnZlcnRlZENoYXJhY3RlcnM7Ci0gICAgICAgIGNvbnN0IFVDaGFyKiBl
bmQgPSBjdXIgKyB2YWx1ZS5sZW5ndGgoKTsKLQotICAgICAgICBza2lwT3B0aW9uYWxTVkdTcGFj
ZXMoY3VyLCBlbmQpOwotCi0gICAgICAgIGJvb2wgZGVsaW1QYXJzZWQgPSBmYWxzZTsKLSAgICAg
ICAgd2hpbGUgKGN1ciA8IGVuZCkgewotICAgICAgICAgICAgZGVsaW1QYXJzZWQgPSBmYWxzZTsK
LSAgICAgICAgICAgIGZsb2F0IHhQb3MgPSAwLjBmOwotICAgICAgICAgICAgaWYgKCFwYXJzZU51
bWJlcihjdXIsIGVuZCwgeFBvcykpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0g
ICAgICAgICAgICBmbG9hdCB5UG9zID0gMC4wZjsKLSAgICAgICAgICAgIGlmICghcGFyc2VOdW1i
ZXIoY3VyLCBlbmQsIHlQb3MsIGZhbHNlKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7
Ci0KLSAgICAgICAgICAgIHNraXBPcHRpb25hbFNWR1NwYWNlcyhjdXIsIGVuZCk7Ci0KLSAgICAg
ICAgICAgIGlmIChjdXIgPCBlbmQgJiYgKmN1ciA9PSAnLCcpIHsKLSAgICAgICAgICAgICAgICBk
ZWxpbVBhcnNlZCA9IHRydWU7Ci0gICAgICAgICAgICAgICAgY3VyKys7Ci0gICAgICAgICAgICB9
Ci0gICAgICAgICAgICBza2lwT3B0aW9uYWxTVkdTcGFjZXMoY3VyLCBlbmQpOwotCi0gICAgICAg
ICAgICBhcHBlbmQoU1ZHUG9pbnQ6OmNyZWF0ZSh7IHhQb3MsIHlQb3MgfSkpOwotICAgICAgICB9
Ci0KLSAgICAgICAgcmV0dXJuICFkZWxpbVBhcnNlZDsKLSAgICB9Ci0KLSAgICBTdHJpbmcgdmFs
dWVBc1N0cmluZygpIGNvbnN0IG92ZXJyaWRlCi0gICAgewotICAgICAgICBTdHJpbmdCdWlsZGVy
IGJ1aWxkZXI7Ci0KLSAgICAgICAgZm9yIChjb25zdCBhdXRvJiBwb2ludCA6IG1faXRlbXMpIHsK
LSAgICAgICAgICAgIGlmIChidWlsZGVyLmxlbmd0aCgpKQotICAgICAgICAgICAgICAgIGJ1aWxk
ZXIuYXBwZW5kKCcgJyk7Ci0KLSAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kRml4ZWRQcmVjaXNp
b25OdW1iZXIocG9pbnQtPngoKSk7Ci0gICAgICAgICAgICBidWlsZGVyLmFwcGVuZCgnICcpOwot
ICAgICAgICAgICAgYnVpbGRlci5hcHBlbmRGaXhlZFByZWNpc2lvbk51bWJlcihwb2ludC0+eSgp
KTsKLSAgICAgICAgfQotCi0gICAgICAgIHJldHVybiBidWlsZGVyLnRvU3RyaW5nKCk7Ci0gICAg
fQogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BvbHlFbGVtZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQb2x5RWxlbWVudC5jcHAKaW5kZXggYzJmZTJl
YWE4OTdkNzhiNjliMDk1YzZkY2YzNTBjMjlmMGZjYmJiNi4uYzk1NTJjNjZiNDZiMGViMjEwNjBm
NjFhZGNiODNlZjVkMjIyYTllNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Bv
bHlFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUG9seUVsZW1lbnQuY3Bw
CkBAIC00Niw3ICs0Niw3IEBAIFNWR1BvbHlFbGVtZW50OjpTVkdQb2x5RWxlbWVudChjb25zdCBR
dWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCYgZG9jdW1lbnQpCiB2b2lkIFNWR1BvbHlF
bGVtZW50OjpwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBB
dG9taWNTdHJpbmcmIHZhbHVlKQogewogICAgIGlmIChuYW1lID09IFNWR05hbWVzOjpwb2ludHNB
dHRyKSB7Ci0gICAgICAgIGlmICghbV9wb2ludHMtPmJhc2VWYWwoKS0+cGFyc2UodmFsdWUpKQor
ICAgICAgICBpZiAobV9wb2ludHMtPmJhc2VWYWwoKS0+cGFyc2UodmFsdWUpICE9IE5vRXJyb3Ip
CiAgICAgICAgICAgICBkb2N1bWVudCgpLmFjY2Vzc1NWR0V4dGVuc2lvbnMoKS5yZXBvcnRFcnJv
cigiUHJvYmxlbSBwYXJzaW5nIHBvaW50cz1cIiIgKyB2YWx1ZSArICJcIiIpOwogICAgICAgICBy
ZXR1cm47CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BvbHlFbGVt
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUG9seUVsZW1lbnQuaAppbmRleCA2NzIyNDkw
M2VmNjMxMGUyYmQyYjE3OTEyMTg5NjM0NDU5ZDI1ZjJiLi5mMjI2ODE5YzA1YjYzNTNlNTRhODU0
NTVmNjZiNDM5YmQ1MGIzZGVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUG9s
eUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUG9seUVsZW1lbnQuaApAQCAt
MjksNiArMjksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNWR1BvbHlFbGVtZW50
IDogcHVibGljIFNWR0dlb21ldHJ5RWxlbWVudCwgcHVibGljIFNWR0V4dGVybmFsUmVzb3VyY2Vz
UmVxdWlyZWQgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHUG9seUVsZW1lbnQpOwor
ICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZH
UG9seUVsZW1lbnQsIFNWR0dlb21ldHJ5RWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1
aXJlZD47CisKIHB1YmxpYzoKICAgICBjb25zdCBTVkdQb2ludExpc3QmIHBvaW50cygpIGNvbnN0
IHsgcmV0dXJuIG1fcG9pbnRzLT5jdXJyZW50VmFsdWUoKTsgfQogCkBAIC00MSw5ICs0Myw3IEBA
IHByb3RlY3RlZDoKICAgICBTVkdQb2x5RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9j
dW1lbnQmKTsKIAogcHJpdmF0ZToKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJv
cGVydHlPd25lclJlZ2lzdHJ5PFNWR1BvbHlFbGVtZW50LCBTVkdHZW9tZXRyeUVsZW1lbnQsIFNW
R0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ+OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0
cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVn
aXN0cnk7IH0KLQogICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYs
IGNvbnN0IEF0b21pY1N0cmluZyYpIG92ZXJyaWRlOyAKICAgICB2b2lkIHN2Z0F0dHJpYnV0ZUNo
YW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYpIG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHUHJlc2VydmVBc3BlY3RSYXRpb1ZhbHVlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVmFsdWUuY3BwCmluZGV4IGQwYmM3MTY2
MjBmN2E4YTUxZWM2MzRhZjdiZTk0YmJmNTEwMWU3NTUuLjdlNDQ2ZTJjYWYwNTZmNzMxOGFkZmE4
YzkyZWNkOWFhNzU2OWY1ZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQcmVz
ZXJ2ZUFzcGVjdFJhdGlvVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQcmVz
ZXJ2ZUFzcGVjdFJhdGlvVmFsdWUuY3BwCkBAIC01OCwxMSArNTgsMTEgQEAgRXhjZXB0aW9uT3I8
dm9pZD4gU1ZHUHJlc2VydmVBc3BlY3RSYXRpb1ZhbHVlOjpzZXRNZWV0T3JTbGljZSh1bnNpZ25l
ZCBzaG9ydCBtZWUKICAgICByZXR1cm4geyB9OwogfQogCi12b2lkIFNWR1ByZXNlcnZlQXNwZWN0
UmF0aW9WYWx1ZTo6cGFyc2UoY29uc3QgU3RyaW5nJiB2YWx1ZSkKK2Jvb2wgU1ZHUHJlc2VydmVB
c3BlY3RSYXRpb1ZhbHVlOjpwYXJzZShjb25zdCBTdHJpbmcmIHZhbHVlKQogewogICAgIGF1dG8g
dXBjb252ZXJ0ZWRDaGFyYWN0ZXJzID0gU3RyaW5nVmlldyh2YWx1ZSkudXBjb252ZXJ0ZWRDaGFy
YWN0ZXJzKCk7CiAgICAgY29uc3QgVUNoYXIqIGJlZ2luID0gdXBjb252ZXJ0ZWRDaGFyYWN0ZXJz
OwotICAgIHBhcnNlSW50ZXJuYWwoYmVnaW4sIGJlZ2luICsgdmFsdWUubGVuZ3RoKCksIHRydWUp
OworICAgIHJldHVybiBwYXJzZUludGVybmFsKGJlZ2luLCBiZWdpbiArIHZhbHVlLmxlbmd0aCgp
LCB0cnVlKTsKIH0KIAogYm9vbCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVmFsdWU6OnBhcnNlKGNv
bnN0IFVDaGFyKiYgY3VyclBhcmFtLCBjb25zdCBVQ2hhciogZW5kLCBib29sIHZhbGlkYXRlKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ByZXNlcnZlQXNwZWN0UmF0aW9WYWx1
ZS5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ByZXNlcnZlQXNwZWN0UmF0aW9WYWx1ZS5oCmlu
ZGV4IDQxNWI4NzIzZjhkMzA4NjRjMWIzZmQ3ODhjYzNiOTg5YmFkN2VmOWMuLmYyZDYwOTZhMzM2
ODQ3YTA2MGJkOTZhYWZlMjI2MDRkMjNjODkzNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHUHJlc2VydmVBc3BlY3RSYXRpb1ZhbHVlLmgKQEAgLTY0LDcgKzY0LDcgQEAgcHVibGlj
OgogCiAgICAgQWZmaW5lVHJhbnNmb3JtIGdldENUTShmbG9hdCBsb2dpY2FsWCwgZmxvYXQgbG9n
aWNhbFksIGZsb2F0IGxvZ2ljYWxXaWR0aCwgZmxvYXQgbG9naWNhbEhlaWdodCwgZmxvYXQgcGh5
c2ljYWxXaWR0aCwgZmxvYXQgcGh5c2ljYWxIZWlnaHQpIGNvbnN0OwogCi0gICAgdm9pZCBwYXJz
ZShjb25zdCBTdHJpbmcmKTsKKyAgICBib29sIHBhcnNlKGNvbnN0IFN0cmluZyYpOwogICAgIGJv
b2wgcGFyc2UoY29uc3QgVUNoYXIqJiBjdXJyUGFyYW0sIGNvbnN0IFVDaGFyKiBlbmQsIGJvb2wg
dmFsaWRhdGUpOwogCiAgICAgU3RyaW5nIHZhbHVlQXNTdHJpbmcoKSBjb25zdDsKQEAgLTc2LDEx
ICs3Niw0IEBAIHByaXZhdGU6CiAgICAgYm9vbCBwYXJzZUludGVybmFsKGNvbnN0IFVDaGFyKiYg
Y3VyclBhcmFtLCBjb25zdCBVQ2hhciogZW5kLCBib29sIHZhbGlkYXRlKTsKIH07CiAKLXRlbXBs
YXRlPD4gc3RydWN0IFNWR1Byb3BlcnR5VHJhaXRzPFNWR1ByZXNlcnZlQXNwZWN0UmF0aW9WYWx1
ZT4gewotICAgIHN0YXRpYyBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVmFsdWUgaW5pdGlhbFZhbHVl
KCkgeyByZXR1cm4gU1ZHUHJlc2VydmVBc3BlY3RSYXRpb1ZhbHVlKCk7IH0KLSAgICBzdGF0aWMg
U1ZHUHJlc2VydmVBc3BlY3RSYXRpb1ZhbHVlIGZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJp
bmcpIHsgcmV0dXJuIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW9WYWx1ZShzdHJpbmcpOyB9Ci0gICAg
c3RhdGljIE9wdGlvbmFsPFNWR1ByZXNlcnZlQXNwZWN0UmF0aW9WYWx1ZT4gcGFyc2UoY29uc3Qg
UXVhbGlmaWVkTmFtZSYsIGNvbnN0IFN0cmluZyYpIHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7IHJl
dHVybiBpbml0aWFsVmFsdWUoKTsgfQotICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoY29uc3Qg
U1ZHUHJlc2VydmVBc3BlY3RSYXRpb1ZhbHVlJiB0eXBlKSB7IHJldHVybiB0eXBlLnZhbHVlQXNT
dHJpbmcoKTsgfQotfTsKLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1JhZGlhbEdyYWRpZW50RWxlbWVudC5oIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR1JhZGlhbEdyYWRpZW50RWxlbWVudC5oCmluZGV4IGI4OGEzNWE0MzI4YWY4YzY2
NDBmMjJlZGE2MTRmOTFlYmZlNmE1OTcuLjUxYmI4NGNkNmYwYzEyYzcxZmY3MzA3ZDFlYzY2YjIz
ZTgzODU0YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdSYWRpYWxHcmFkaWVu
dEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUmFkaWFsR3JhZGllbnRFbGVt
ZW50LmgKQEAgLTMwLDYgKzMwLDggQEAgc3RydWN0IFJhZGlhbEdyYWRpZW50QXR0cmlidXRlczsK
IAogY2xhc3MgU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50IGZpbmFsIDogcHVibGljIFNWR0dyYWRp
ZW50RWxlbWVudCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdSYWRpYWxHcmFkaWVu
dEVsZW1lbnQpOworICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVy
UmVnaXN0cnk8U1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50LCBTVkdHcmFkaWVudEVsZW1lbnQ+Owor
CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQ+IGNyZWF0
ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIApAQCAtNTIsOSArNTQsNyBAQCBw
dWJsaWM6CiBwcml2YXRlOgogICAgIFNWR1JhZGlhbEdyYWRpZW50RWxlbWVudChjb25zdCBRdWFs
aWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBT
VkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50LCBTVkdHcmFk
aWVudEVsZW1lbnQ+OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVn
aXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KLQogICAg
IHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0
cmluZyYpIG92ZXJyaWRlOwogICAgIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFs
aWZpZWROYW1lJikgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdSZWN0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1JlY3RFbGVtZW50LmgKaW5k
ZXggYzM5MmUxZTJlNWM2ZTQ5N2RkN2M4OWYyYjM3MDljYmY3NTc3NjA1Ni4uODA0NjA4Mjk4MTdj
NzdkNjM2OGNkNDAwZDAxNzhkYjZlZWUwZTMzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1JlY3RFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1JlY3RFbGVt
ZW50LmgKQEAgLTI5LDYgKzI5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTVkdS
ZWN0RWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdHZW9tZXRyeUVsZW1lbnQsIHB1YmxpYyBTVkdF
eHRlcm5hbFJlc291cmNlc1JlcXVpcmVkIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNW
R1JlY3RFbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlP
d25lclJlZ2lzdHJ5PFNWR1JlY3RFbGVtZW50LCBTVkdHZW9tZXRyeUVsZW1lbnQsIFNWR0V4dGVy
bmFsUmVzb3VyY2VzUmVxdWlyZWQ+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdSZWN0
RWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCkBAIC00
OSw5ICs1MSw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgU1ZHUmVjdEVsZW1lbnQoY29uc3Qg
UXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5
ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR1JlY3RFbGVtZW50LCBTVkdHZW9tZXRyeUVs
ZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ+OwogICAgIGNvbnN0IFNWR1Byb3Bl
cnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3By
b3BlcnR5UmVnaXN0cnk7IH0KLQogICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlm
aWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYpIGZpbmFsOwogICAgIHZvaWQgc3ZnQXR0cmli
dXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJikgZmluYWw7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdTVkdFbGVtZW50LmNwcAppbmRleCA5YmYwMzQyMzMyYWViNDRkY2RiNDliYTk0MzJiMTFjYmNl
MDI2YmFhLi5iN2ZjN2ZkNDM4NTA3MTk1YjQ3M2M5NjE3NWIwN2IxOGYzZDdhODk5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU1ZHRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQuY3BwCkBAIC0yNTIsMTIgKzI1MiwxNiBAQCB2b2lkIFNW
R1NWR0VsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNv
bnN0IEF0b21pY1N0cmluZwogICAgICAgICBtX2hlaWdodC0+c2V0QmFzZVZhbEludGVybmFsKGxl
bmd0aCk7CiAgICAgfQogCi0gICAgcmVwb3J0QXR0cmlidXRlUGFyc2luZ0Vycm9yKHBhcnNlRXJy
b3IsIG5hbWUsIHZhbHVlKTsKLQogICAgIFNWR0dyYXBoaWNzRWxlbWVudDo6cGFyc2VBdHRyaWJ1
dGUobmFtZSwgdmFsdWUpOwogICAgIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ6OnBhcnNl
QXR0cmlidXRlKG5hbWUsIHZhbHVlKTsKLSAgICBTVkdGaXRUb1ZpZXdCb3g6OnBhcnNlQXR0cmli
dXRlKG5hbWUsIHZhbHVlKTsKLSAgICBTVkdab29tQW5kUGFuOjpwYXJzZUF0dHJpYnV0ZShuYW1l
LCB2YWx1ZSk7CisKKyAgICBpZiAoYXV0byBlcnJvciA9IFNWR0ZpdFRvVmlld0JveDo6cGFyc2VB
dHRyaWJ1dGUobmFtZSwgdmFsdWUpKQorICAgICAgICBwYXJzZUVycm9yID0gKmVycm9yOworICAg
IAorICAgIGlmIChhdXRvIGVycm9yID0gU1ZHWm9vbUFuZFBhbjo6cGFyc2VBdHRyaWJ1dGUobmFt
ZSwgdmFsdWUpKQorICAgICAgICBwYXJzZUVycm9yID0gKmVycm9yOworCisgICAgcmVwb3J0QXR0
cmlidXRlUGFyc2luZ0Vycm9yKHBhcnNlRXJyb3IsIG5hbWUsIHZhbHVlKTsKIH0KIAogdm9pZCBT
VkdTVkdFbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0
dHJOYW1lKQpAQCAtNjUxLDcgKzY1NSw3IEBAIGJvb2wgU1ZHU1ZHRWxlbWVudDo6c2Nyb2xsVG9G
cmFnbWVudChjb25zdCBTdHJpbmcmIGZyYWdtZW50SWRlbnRpZmllcikKICAgICBpZiAoZnJhZ21l
bnRJZGVudGlmaWVyLnN0YXJ0c1dpdGgoInN2Z1ZpZXcoIikpIHsKICAgICAgICAgaWYgKCF2aWV3
KQogICAgICAgICAgICAgdmlldyA9ICZjdXJyZW50VmlldygpOyAvLyBDcmVhdGUgdGhlIFNWR1Zp
ZXdTcGVjLgotICAgICAgICBpZiAodmlldy0+cGFyc2VWaWV3U3BlYyhmcmFnbWVudElkZW50aWZp
ZXIpKQorICAgICAgICBpZiAodmlldy0+cGFyc2VWaWV3U3BlYyhmcmFnbWVudElkZW50aWZpZXIp
ID09IE5vRXJyb3IpCiAgICAgICAgICAgICBtX3VzZUN1cnJlbnRWaWV3ID0gdHJ1ZTsKICAgICAg
ICAgZWxzZQogICAgICAgICAgICAgdmlldy0+cmVzZXQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU1ZHRWxl
bWVudC5oCmluZGV4IDk2MGY4NWFkYTBhZmVlNThhY2NiMDBjNDFlMGI0NGZlN2I2Nzk4ZTEuLjY5
OTgyZDRhYmM5YjBhNmY1Y2NmMzk1MTdjZmIyNGViZmI1NTM5YjAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1NWR0VsZW1lbnQuaApAQCAtNDAsNiArNDAsOCBAQCBjbGFzcyBTVkdWaWV3U3BlYzsKIAogY2xh
c3MgU1ZHU1ZHRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdHcmFwaGljc0VsZW1lbnQsIHB1Ymxp
YyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBwdWJsaWMgU1ZHRml0VG9WaWV3Qm94LCBw
dWJsaWMgU1ZHWm9vbUFuZFBhbiB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdTVkdF
bGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJl
Z2lzdHJ5PFNWR1NWR0VsZW1lbnQsIFNWR0dyYXBoaWNzRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNv
dXJjZXNSZXF1aXJlZCwgU1ZHRml0VG9WaWV3Qm94PjsKKwogcHVibGljOiAvLyBET00KICAgICBj
b25zdCBBdG9taWNTdHJpbmcmIGNvbnRlbnRTY3JpcHRUeXBlKCkgY29uc3Q7CiAgICAgdm9pZCBz
ZXRDb250ZW50U2NyaXB0VHlwZShjb25zdCBBdG9taWNTdHJpbmcmKTsKQEAgLTEzMSwxMSArMTMz
LDEwIEBAIHByaXZhdGU6CiAgICAgU1ZHU1ZHRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwg
RG9jdW1lbnQmKTsKICAgICB2aXJ0dWFsIH5TVkdTVkdFbGVtZW50KCk7CiAKLSAgICB1c2luZyBQ
cm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR1NWR0VsZW1lbnQs
IFNWR0dyYXBoaWNzRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgU1ZHRml0
VG9WaWV3Qm94PjsKICAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lz
dHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9Ci0gICAgCiAg
ICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWlj
U3RyaW5nJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1
YWxpZmllZE5hbWUmKSBvdmVycmlkZTsKKwogICAgIGJvb2wgc2VsZkhhc1JlbGF0aXZlTGVuZ3Ro
cygpIGNvbnN0IG92ZXJyaWRlOwogICAgIGJvb2wgaXNWYWxpZCgpIGNvbnN0IG92ZXJyaWRlOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU2NyaXB0RWxlbWVudC5oIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1NjcmlwdEVsZW1lbnQuaAppbmRleCBmMTVmM2I3Y2Y2ZjkzYWYx
NDhkNTAzMmExMGRkMmIwMTY3YWZhYmFmLi4wYTI2ZWE4M2M1ODNjZTVlY2FmZDkyMjc0YjlmNGRi
YThiMWE1ZWYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU2NyaXB0RWxlbWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTY3JpcHRFbGVtZW50LmgKQEAgLTMxLDYg
KzMxLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTVkdTY3JpcHRFbGVtZW50IGZp
bmFsIDogcHVibGljIFNWR0VsZW1lbnQsIHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVp
cmVkLCBwdWJsaWMgU1ZHVVJJUmVmZXJlbmNlLCBwdWJsaWMgU2NyaXB0RWxlbWVudCB7CiAgICAg
V1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdTY3JpcHRFbGVtZW50KTsKKyAgICB1c2luZyBQcm9w
ZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR1NjcmlwdEVsZW1lbnQs
IFNWR0VsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIFNWR1VSSVJlZmVyZW5j
ZT47CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR1NjcmlwdEVsZW1lbnQ+IGNyZWF0ZShj
b25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmLCBib29sIHdhc0luc2VydGVkQnlQYXJzZXIp
OwogCkBAIC00MCw5ICs0Miw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgU1ZHU2NyaXB0RWxl
bWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmLCBib29sIHdhc0luc2VydGVkQnlQ
YXJzZXIsIGJvb2wgYWxyZWFkeVN0YXJ0ZWQpOwogCi0gICAgdXNpbmcgUHJvcGVydHlSZWdpc3Ry
eSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdTY3JpcHRFbGVtZW50LCBTVkdFbGVtZW50
LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBTVkdVUklSZWZlcmVuY2U+OwogICAgIGNv
bnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7
IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KLQogICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUo
Y29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYpIGZpbmFsOwogICAgIHZv
aWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJikgZmluYWw7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTdG9wRWxlbWVudC5oIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1N0b3BFbGVtZW50LmgKaW5kZXggODEwNGZiYmQ3ZjZjZmNkYjczYzYwZDM3
MDNkNGVlNjY4NzQxYTMwYS4uYjhjNGMwNmM0Mzc1YmY1ODJkMTdiZjMyMzIzOWE3OGM4MTVmZjM5
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N0b3BFbGVtZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1N0b3BFbGVtZW50LmgKQEAgLTI3LDYgKzI3LDggQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTVkdTdG9wRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBT
VkdFbGVtZW50IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR1N0b3BFbGVtZW50KTsK
KyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNW
R1N0b3BFbGVtZW50LCBTVkdFbGVtZW50PjsKKwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8U1ZH
U3RvcEVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIApA
QCAtMzgsOSArNDAsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFNWR1N0b3BFbGVtZW50KGNv
bnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCi0gICAgdXNpbmcgUHJvcGVydHlSZWdp
c3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdTdG9wRWxlbWVudCwgU1ZHRWxlbWVu
dD47CiAgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNv
bnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQotCiAgICAgdm9pZCBwYXJz
ZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJikgZmlu
YWw7CiAgICAgdm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBm
aW5hbDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N0cmluZ0xpc3QuaCBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTdHJpbmdMaXN0LmgKaW5kZXggZDFlMDEwNjliMTJjN2U5
MDYwMmFmMDAyZmUyOTNjNDBkNGI3MGVjNS4uMzUwZThhODEzNTcwMWIyMWIxYzE2Y2M0YzI2MzJk
ZGNmYjg2NzhiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N0cmluZ0xpc3Qu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU3RyaW5nTGlzdC5oCkBAIC0yNSw3ICsyNSw2
IEBACiAKICNwcmFnbWEgb25jZQogCi0jaW5jbHVkZSAiU1ZHUGFyc2VyVXRpbGl0aWVzLmgiCiAj
aW5jbHVkZSAiU1ZHUHJpbWl0aXZlTGlzdC5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1
aWxkZXIuaD4KIApAQCAtNDIsNDcgKzQxLDE1IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGFk
b3B0UmVmKCpuZXcgU1ZHU3RyaW5nTGlzdChvd25lcikpOwogICAgIH0KIAotICAgIHZvaWQgcmVz
ZXQoY29uc3QgU3RyaW5nJiBzdHJpbmcpCisgICAgU1ZHUGFyc2luZ0Vycm9yIHBhcnNlKGNvbnN0
IFN0cmluZyYgc3RyaW5nKQogICAgIHsKLSAgICAgICAgcGFyc2Uoc3RyaW5nLCAnICcpOworICAg
ICAgICBTVkdQYXJzaW5nRXJyb3IgZXJyb3IgPSBCYXNlOjpwYXJzZShzdHJpbmcpOwogCiAgICAg
ICAgIC8vIEFkZCBlbXB0eSBzdHJpbmcsIGlmIGxpc3QgaXMgZW1wdHkuCiAgICAgICAgIGlmICht
X2l0ZW1zLmlzRW1wdHkoKSkKICAgICAgICAgICAgIG1faXRlbXMuYXBwZW5kKGVtcHR5U3RyaW5n
KCkpOwotICAgIH0KLQotICAgIGJvb2wgcGFyc2UoY29uc3QgU3RyaW5nJiBkYXRhLCBVQ2hhciBk
ZWxpbWl0ZXIpCi0gICAgewotICAgICAgICBjbGVhckl0ZW1zKCk7Ci0KLSAgICAgICAgYXV0byB1
cGNvbnZlcnRlZENoYXJhY3RlcnMgPSBTdHJpbmdWaWV3KGRhdGEpLnVwY29udmVydGVkQ2hhcmFj
dGVycygpOwotICAgICAgICBjb25zdCBVQ2hhciogcHRyID0gdXBjb252ZXJ0ZWRDaGFyYWN0ZXJz
OwotICAgICAgICBjb25zdCBVQ2hhciogZW5kID0gcHRyICsgZGF0YS5sZW5ndGgoKTsKLSAgICAg
ICAgd2hpbGUgKHB0ciA8IGVuZCkgewotICAgICAgICAgICAgY29uc3QgVUNoYXIqIHN0YXJ0ID0g
cHRyOwotICAgICAgICAgICAgd2hpbGUgKHB0ciA8IGVuZCAmJiAqcHRyICE9IGRlbGltaXRlciAm
JiAhaXNTVkdTcGFjZSgqcHRyKSkKLSAgICAgICAgICAgICAgICBwdHIrKzsKLSAgICAgICAgICAg
IGlmIChwdHIgPT0gc3RhcnQpCi0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBt
X2l0ZW1zLmFwcGVuZChTdHJpbmcoc3RhcnQsIHB0ciAtIHN0YXJ0KSk7Ci0gICAgICAgICAgICBz
a2lwT3B0aW9uYWxTVkdTcGFjZXNPckRlbGltaXRlcihwdHIsIGVuZCwgZGVsaW1pdGVyKTsKLSAg
ICAgICAgfQotCi0gICAgICAgIHJldHVybiBwdHIgPT0gZW5kOwotICAgIH0KLQotICAgIFN0cmlu
ZyB2YWx1ZUFzU3RyaW5nKCkgY29uc3Qgb3ZlcnJpZGUKLSAgICB7Ci0gICAgICAgIFN0cmluZ0J1
aWxkZXIgYnVpbGRlcjsKLQotICAgICAgICBmb3IgKGF1dG8gc3RyaW5nIDogbV9pdGVtcykgewot
ICAgICAgICAgICAgaWYgKGJ1aWxkZXIubGVuZ3RoKCkpCi0gICAgICAgICAgICAgICAgYnVpbGRl
ci5hcHBlbmQoJyAnKTsKLQotICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoc3RyaW5nKTsKLSAg
ICAgICAgfQotCi0gICAgICAgIHJldHVybiBidWlsZGVyLnRvU3RyaW5nKCk7CisgICAgICAgIAor
ICAgICAgICByZXR1cm4gZXJyb3I7CiAgICAgfQogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1N0eWxlRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N0eWxl
RWxlbWVudC5oCmluZGV4IDQxYTkzN2VkMTllODQ5ZTU0MDNhNDE3NGY2MzkwMzQ3MzVmZTM0NjIu
LmMxODBlMGM1ZWY4MTU5MmNmYTQzMDk0MGJmOGNhY2EzOGY3ZGUyMWEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdTdHlsZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHU3R5bGVFbGVtZW50LmgKQEAgLTI4LDYgKzI4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBjbGFzcyBTVkdTdHlsZUVsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHRWxlbWVudCB7CiAg
ICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdTdHlsZUVsZW1lbnQpOworICAgIHVzaW5nIFBy
b3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHU3R5bGVFbGVtZW50
LCBTVkdFbGVtZW50PjsKKwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8U1ZHU3R5bGVFbGVtZW50
PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50JiwgYm9vbCBjcmVhdGVkQnlQ
YXJzZXIpOwogICAgIHZpcnR1YWwgflNWR1N0eWxlRWxlbWVudCgpOwpAQCAtNDYsNiArNDgsNyBA
QCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFNWR1N0eWxlRWxlbWVudChjb25zdCBRdWFsaWZpZWRO
YW1lJiwgRG9jdW1lbnQmLCBib29sIGNyZWF0ZWRCeVBhcnNlcik7CiAKKyAgICBjb25zdCBTVkdQ
cm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4g
bV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9CiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFs
aWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJikgZmluYWw7CiAgICAgSW5zZXJ0ZWRJbnRv
QW5jZXN0b3JSZXN1bHQgaW5zZXJ0ZWRJbnRvQW5jZXN0b3IoSW5zZXJ0aW9uVHlwZSwgQ29udGFp
bmVyTm9kZSYpIGZpbmFsOwogICAgIHZvaWQgcmVtb3ZlZEZyb21BbmNlc3RvcihSZW1vdmFsVHlw
ZSwgQ29udGFpbmVyTm9kZSYpIGZpbmFsOwpAQCAtNjIsNiArNjUsNyBAQCBwcml2YXRlOgogCiAg
ICAgU3RyaW5nIHRpdGxlKCkgY29uc3QgZmluYWw7CiAKKyAgICBQcm9wZXJ0eVJlZ2lzdHJ5IG1f
cHJvcGVydHlSZWdpc3RyeSB7ICp0aGlzIH07CiAgICAgSW5saW5lU3R5bGVTaGVldE93bmVyIG1f
c3R5bGVTaGVldE93bmVyOwogICAgIFRpbWVyIG1fc3ZnTG9hZEV2ZW50VGltZXI7CiB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N3aXRjaEVsZW1lbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdTd2l0Y2hFbGVtZW50LmgKaW5kZXggM2QxNGE0ZmFmZmExNGU3NDFhYjk5
NmEzODI4MWY0MjcwYTc1ZTI4NC4uOGRmMWQyZDBjOWI2OGMyNGU5Zjc3ZmNjNzRkZjJhYjVhMzJm
YTJhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N3aXRjaEVsZW1lbnQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU3dpdGNoRWxlbWVudC5oCkBAIC0yOCwxMyArMjgs
MTQgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTVkdTd2l0Y2hFbGVtZW50IGZpbmFs
IDogcHVibGljIFNWR0dyYXBoaWNzRWxlbWVudCwgcHVibGljIFNWR0V4dGVybmFsUmVzb3VyY2Vz
UmVxdWlyZWQgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHU3dpdGNoRWxlbWVudCk7
CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxT
VkdTd2l0Y2hFbGVtZW50LCBTVkdHcmFwaGljc0VsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2Vz
UmVxdWlyZWQ+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdTd2l0Y2hFbGVtZW50PiBj
cmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKIHByaXZhdGU6CiAgICAg
U1ZHU3dpdGNoRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAotICAg
IHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHU3dp
dGNoRWxlbWVudCwgU1ZHR3JhcGhpY3NFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVp
cmVkPjsKICAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkg
Y29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9CiAKICAgICBib29sIGlz
VmFsaWQoKSBjb25zdCBmaW5hbCB7IHJldHVybiBTVkdUZXN0czo6aXNWYWxpZCgpOyB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU3ltYm9sRWxlbWVudC5oIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1N5bWJvbEVsZW1lbnQuaAppbmRleCA4YzRhZmRlZGM5YzJiYjBmZmEyZWYw
ZWNmMzgwNmQzYzNmNDgzYjc2Li5lMjFkNTA3NTJkMDc2NmY0ZTA1ZjMyNTc0YTg3MGFhYmM4Zjkw
Zjg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU3ltYm9sRWxlbWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTeW1ib2xFbGVtZW50LmgKQEAgLTI5LDE3ICsyOSwx
OCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNWR1N5bWJvbEVsZW1lbnQgZmluYWwg
OiBwdWJsaWMgU1ZHRWxlbWVudCwgcHVibGljIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQs
IHB1YmxpYyBTVkdGaXRUb1ZpZXdCb3ggewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZH
U3ltYm9sRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5
T3duZXJSZWdpc3RyeTxTVkdTeW1ib2xFbGVtZW50LCBTVkdFbGVtZW50LCBTVkdFeHRlcm5hbFJl
c291cmNlc1JlcXVpcmVkLCBTVkdGaXRUb1ZpZXdCb3g+OworCiBwdWJsaWM6CiAgICAgc3RhdGlj
IFJlZjxTVkdTeW1ib2xFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3Vt
ZW50Jik7CiAKIHByaXZhdGU6CiAgICAgU1ZHU3ltYm9sRWxlbWVudChjb25zdCBRdWFsaWZpZWRO
YW1lJiwgRG9jdW1lbnQmKTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9w
ZXJ0eU93bmVyUmVnaXN0cnk8U1ZHU3ltYm9sRWxlbWVudCwgU1ZHRWxlbWVudCwgU1ZHRXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZCwgU1ZHRml0VG9WaWV3Qm94PjsKICAgICBjb25zdCBTVkdQcm9w
ZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9w
cm9wZXJ0eVJlZ2lzdHJ5OyB9Ci0KICAgICB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxp
ZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKSBvdmVycmlkZTsKICAgICB2b2lkIHN2Z0F0
dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYpIG92ZXJyaWRlOworCiAgICAgUmVu
ZGVyUHRyPFJlbmRlckVsZW1lbnQ+IGNyZWF0ZUVsZW1lbnRSZW5kZXJlcihSZW5kZXJTdHlsZSYm
LCBjb25zdCBSZW5kZXJUcmVlUG9zaXRpb24mKSBvdmVycmlkZTsKIAogICAgIGJvb2wgc2VsZkhh
c1JlbGF0aXZlTGVuZ3RocygpIGNvbnN0IG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1RSZWZFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVFJlZkVs
ZW1lbnQuaAppbmRleCA4ZTgxNmY1NDY5YmNlYzhiOWY1MzA4MDQwOGFlNjM0N2E2YzA2MTNjLi45
MGQwYmQyMjlmZTVhM2Y5ZTY1ZjVjMzBlM2VjZmU0YzM3YmFlNGJhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHVFJlZkVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHVFJlZkVsZW1lbnQuaApAQCAtMzAsNiArMzAsOCBAQCBjbGFzcyBTVkdUUmVmVGFyZ2V0RXZl
bnRMaXN0ZW5lcjsKIAogY2xhc3MgU1ZHVFJlZkVsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHVGV4
dFBvc2l0aW9uaW5nRWxlbWVudCwgcHVibGljIFNWR1VSSVJlZmVyZW5jZSB7CiAgICAgV1RGX01B
S0VfSVNPX0FMTE9DQVRFRChTVkdUUmVmRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdp
c3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdUUmVmRWxlbWVudCwgU1ZHVGV4dFBv
c2l0aW9uaW5nRWxlbWVudCwgU1ZHVVJJUmVmZXJlbmNlPjsKKwogcHVibGljOgogICAgIHN0YXRp
YyBSZWY8U1ZHVFJlZkVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1l
bnQmKTsKIApAQCAtMzksOSArNDEsNyBAQCBwcml2YXRlOgogICAgIFNWR1RSZWZFbGVtZW50KGNv
bnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogICAgIHZpcnR1YWwgflNWR1RSZWZFbGVt
ZW50KCk7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJl
Z2lzdHJ5PFNWR1RSZWZFbGVtZW50LCBTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50LCBTVkdVUklS
ZWZlcmVuY2U+OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0
cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KLQogICAgIHZv
aWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmlu
ZyYpIG92ZXJyaWRlOwogICAgIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZp
ZWROYW1lJikgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdU
U3BhbkVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUU3BhbkVsZW1lbnQuaAppbmRl
eCA1YjIyZWEwMmM4YTQ1YTUyNjJhYzAyZWM0OWFiODg3ODA5Y2ZmM2NkLi5lYTNjMWYxMWNjMTUz
ZTA2N2NkODMzZDUxMzMzYWVjYjBhM2U0NDIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHVFNwYW5FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RTcGFuRWxl
bWVudC5oCkBAIC0yNiwxNSArMjYsMjAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBT
VkdUU3BhbkVsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudCB7
CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdUU3BhbkVsZW1lbnQpOworICAgIHVzaW5n
IFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHVFNwYW5FbGVt
ZW50LCBTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50PjsKKwogcHVibGljOgogICAgIHN0YXRpYyBS
ZWY8U1ZHVFNwYW5FbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50
Jik7CiAKIHByaXZhdGU6CiAgICAgU1ZHVFNwYW5FbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUm
LCBEb2N1bWVudCYpOwotICAgICAgICAgICAgCisKKyAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lz
dHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJl
Z2lzdHJ5OyB9CiAgICAgUmVuZGVyUHRyPFJlbmRlckVsZW1lbnQ+IGNyZWF0ZUVsZW1lbnRSZW5k
ZXJlcihSZW5kZXJTdHlsZSYmLCBjb25zdCBSZW5kZXJUcmVlUG9zaXRpb24mKSBvdmVycmlkZTsK
ICAgICBib29sIGNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIoY29uc3QgTm9kZSYpIGNvbnN0IG92
ZXJyaWRlOwogICAgIGJvb2wgcmVuZGVyZXJJc05lZWRlZChjb25zdCBSZW5kZXJTdHlsZSYpIG92
ZXJyaWRlOworCisgICAgUHJvcGVydHlSZWdpc3RyeSBtX3Byb3BlcnR5UmVnaXN0cnkgeyAqdGhp
cyB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1Rlc3RzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXN0cy5jcHAK
aW5kZXggNDU1MjMwNDRmODQwNjZmZTAyMmMwM2QxNTk1ZThmMzJhOWY3YzBkNS4uOWJjNzAwMTlj
MTczNDhlODgwZTE0MzBlZWE2MzQyNWViNmVjNDBjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR1Rlc3RzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGVzdHMuY3Bw
CkBAIC0xNTAsMTEgKzE1MCwxMSBAQCBib29sIFNWR1Rlc3RzOjppc1ZhbGlkKCkgY29uc3QKIHZv
aWQgU1ZHVGVzdHM6OnBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0
ZU5hbWUsIGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUpCiB7CiAgICAgaWYgKGF0dHJpYnV0ZU5h
bWUgPT0gcmVxdWlyZWRGZWF0dXJlc0F0dHIpCi0gICAgICAgIG1fcmVxdWlyZWRGZWF0dXJlcy0+
cmVzZXQodmFsdWUpOworICAgICAgICBtX3JlcXVpcmVkRmVhdHVyZXMtPnBhcnNlKHZhbHVlKTsK
ICAgICBpZiAoYXR0cmlidXRlTmFtZSA9PSByZXF1aXJlZEV4dGVuc2lvbnNBdHRyKQotICAgICAg
ICBtX3JlcXVpcmVkRXh0ZW5zaW9ucy0+cmVzZXQodmFsdWUpOworICAgICAgICBtX3JlcXVpcmVk
RXh0ZW5zaW9ucy0+cGFyc2UodmFsdWUpOwogICAgIGlmIChhdHRyaWJ1dGVOYW1lID09IHN5c3Rl
bUxhbmd1YWdlQXR0cikKLSAgICAgICAgbV9zeXN0ZW1MYW5ndWFnZS0+cmVzZXQodmFsdWUpOwor
ICAgICAgICBtX3N5c3RlbUxhbmd1YWdlLT5wYXJzZSh2YWx1ZSk7CiB9CiAKIHZvaWQgU1ZHVGVz
dHM6OnN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmgKaW5kZXggMGU2ZGE1YzY3
Nzg1Y2Y0MTY1NzQzNGFhMmI5NWM2ZmMxN2UwZjBkYy4uNDExOTc3OTcwYjMzNzc1YzVhYmZlMmE2
MzJjYmNkMDI4YzMzNzczYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRD
b250ZW50RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0Q29udGVudEVs
ZW1lbnQuaApAQCAtMjgsNDAgKzI4LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdHJ1Y3Qg
RE9NUG9pbnRJbml0OwogCi1lbnVtIFNWR0xlbmd0aEFkanVzdFR5cGUgewotICAgIFNWR0xlbmd0
aEFkanVzdFVua25vd24sCi0gICAgU1ZHTGVuZ3RoQWRqdXN0U3BhY2luZywKLSAgICBTVkdMZW5n
dGhBZGp1c3RTcGFjaW5nQW5kR2x5cGhzCi19OwotCi10ZW1wbGF0ZTw+IHN0cnVjdCBTVkdQcm9w
ZXJ0eVRyYWl0czxTVkdMZW5ndGhBZGp1c3RUeXBlPiB7Ci0gICAgc3RhdGljIHVuc2lnbmVkIGhp
Z2hlc3RFbnVtVmFsdWUoKSB7IHJldHVybiBTVkdMZW5ndGhBZGp1c3RTcGFjaW5nQW5kR2x5cGhz
OyB9Ci0KLSAgICBzdGF0aWMgU3RyaW5nIHRvU3RyaW5nKFNWR0xlbmd0aEFkanVzdFR5cGUgdHlw
ZSkKLSAgICB7Ci0gICAgICAgIHN3aXRjaCAodHlwZSkgewotICAgICAgICBjYXNlIFNWR0xlbmd0
aEFkanVzdFVua25vd246Ci0gICAgICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKLSAgICAg
ICAgY2FzZSBTVkdMZW5ndGhBZGp1c3RTcGFjaW5nOgotICAgICAgICAgICAgcmV0dXJuICJzcGFj
aW5nIl9zOwotICAgICAgICBjYXNlIFNWR0xlbmd0aEFkanVzdFNwYWNpbmdBbmRHbHlwaHM6Ci0g
ICAgICAgICAgICByZXR1cm4gInNwYWNpbmdBbmRHbHlwaHMiX3M7Ci0gICAgICAgIH0KLQotICAg
ICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7
Ci0gICAgfQotCi0gICAgc3RhdGljIFNWR0xlbmd0aEFkanVzdFR5cGUgZnJvbVN0cmluZyhjb25z
dCBTdHJpbmcmIHZhbHVlKQotICAgIHsKLSAgICAgICAgaWYgKHZhbHVlID09ICJzcGFjaW5nQW5k
R2x5cGhzIikKLSAgICAgICAgICAgIHJldHVybiBTVkdMZW5ndGhBZGp1c3RTcGFjaW5nQW5kR2x5
cGhzOwotICAgICAgICBpZiAodmFsdWUgPT0gInNwYWNpbmciKQotICAgICAgICAgICAgcmV0dXJu
IFNWR0xlbmd0aEFkanVzdFNwYWNpbmc7Ci0gICAgICAgIHJldHVybiBTVkdMZW5ndGhBZGp1c3RV
bmtub3duOwotICAgIH0KLX07Ci0KIGNsYXNzIFNWR1RleHRDb250ZW50RWxlbWVudCA6IHB1Ymxp
YyBTVkdHcmFwaGljc0VsZW1lbnQsIHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR1RleHRDb250ZW50RWxlbWVudCk7CiBw
dWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dEVsZW1lbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0RWxlbWVudC5oCmluZGV4IGFhOTQ0NWQ5MmI2ZmI0
YTUxNTkxNjExNWVmMWFkM2Q4NTVjNjQzZDIuLjgzNTRjYTk5M2EwNjc2MTc5NTUxZjllMjQ0ZDE1
M2I1OWM4Y2U1ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0RWxlbWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0RWxlbWVudC5oCkBAIC0yNiw2ICsy
Niw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU1ZHVGV4dEVsZW1lbnQgZmluYWwg
OiBwdWJsaWMgU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudCB7CiAgICAgV1RGX01BS0VfSVNPX0FM
TE9DQVRFRChTVkdUZXh0RWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNW
R1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdUZXh0RWxlbWVudCwgU1ZHVGV4dFBvc2l0aW9uaW5n
RWxlbWVudD47CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR1RleHRFbGVtZW50PiBjcmVh
dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKQEAgLTM0LDggKzM2LDExIEBA
IHB1YmxpYzoKIHByaXZhdGU6CiAgICAgU1ZHVGV4dEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFt
ZSYsIERvY3VtZW50Jik7CiAKKyAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0
eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9CiAg
ICAgUmVuZGVyUHRyPFJlbmRlckVsZW1lbnQ+IGNyZWF0ZUVsZW1lbnRSZW5kZXJlcihSZW5kZXJT
dHlsZSYmLCBjb25zdCBSZW5kZXJUcmVlUG9zaXRpb24mKSBvdmVycmlkZTsKICAgICBib29sIGNo
aWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIoY29uc3QgTm9kZSYpIGNvbnN0IG92ZXJyaWRlOworICAg
IAorICAgIFByb3BlcnR5UmVnaXN0cnkgbV9wcm9wZXJ0eVJlZ2lzdHJ5IHsgKnRoaXMgfTsKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdUZXh0UGF0aEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0UGF0aEVs
ZW1lbnQuaAppbmRleCA0MzUzODdiZmFmNTdiZTQzN2Y5ZGEyNWViYTU2OTdjNzdmYmE3YzlkLi44
MDVmNWJjYjAyMWNiNjdjZDUwNWQ2YjQwZDZlNTY1ZDRlNGZjZDY3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHVGV4dFBhdGhFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1RleHRQYXRoRWxlbWVudC5oCkBAIC0yNiw3OCArMjYsMTAgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1lbnVtIFNWR1RleHRQYXRoTWV0aG9kVHlwZSB7Ci0gICAgU1ZHVGV4dFBh
dGhNZXRob2RVbmtub3duID0gMCwKLSAgICBTVkdUZXh0UGF0aE1ldGhvZEFsaWduLAotICAgIFNW
R1RleHRQYXRoTWV0aG9kU3RyZXRjaAotfTsKLQotZW51bSBTVkdUZXh0UGF0aFNwYWNpbmdUeXBl
IHsKLSAgICBTVkdUZXh0UGF0aFNwYWNpbmdVbmtub3duID0gMCwKLSAgICBTVkdUZXh0UGF0aFNw
YWNpbmdBdXRvLAotICAgIFNWR1RleHRQYXRoU3BhY2luZ0V4YWN0Ci19OwotCi10ZW1wbGF0ZTw+
Ci1zdHJ1Y3QgU1ZHUHJvcGVydHlUcmFpdHM8U1ZHVGV4dFBhdGhNZXRob2RUeXBlPiB7Ci0gICAg
c3RhdGljIHVuc2lnbmVkIGhpZ2hlc3RFbnVtVmFsdWUoKSB7IHJldHVybiBTVkdUZXh0UGF0aE1l
dGhvZFN0cmV0Y2g7IH0KLQotICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoU1ZHVGV4dFBhdGhN
ZXRob2RUeXBlIHR5cGUpCi0gICAgewotICAgICAgICBzd2l0Y2ggKHR5cGUpIHsKLSAgICAgICAg
Y2FzZSBTVkdUZXh0UGF0aE1ldGhvZFVua25vd246Ci0gICAgICAgICAgICByZXR1cm4gZW1wdHlT
dHJpbmcoKTsKLSAgICAgICAgY2FzZSBTVkdUZXh0UGF0aE1ldGhvZEFsaWduOgotICAgICAgICAg
ICAgcmV0dXJuICJhbGlnbiJfczsKLSAgICAgICAgY2FzZSBTVkdUZXh0UGF0aE1ldGhvZFN0cmV0
Y2g6Ci0gICAgICAgICAgICByZXR1cm4gInN0cmV0Y2giX3M7Ci0gICAgICAgIH0KLSAgICAKLSAg
ICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIHJldHVybiBlbXB0eVN0cmluZygp
OwotICAgIH0KLQotICAgIHN0YXRpYyBTVkdUZXh0UGF0aE1ldGhvZFR5cGUgZnJvbVN0cmluZyhj
b25zdCBTdHJpbmcmIHZhbHVlKQotICAgIHsKLSAgICAgICAgaWYgKHZhbHVlID09ICJhbGlnbiIp
Ci0gICAgICAgICAgICByZXR1cm4gU1ZHVGV4dFBhdGhNZXRob2RBbGlnbjsKLSAgICAgICAgaWYg
KHZhbHVlID09ICJzdHJldGNoIikKLSAgICAgICAgICAgIHJldHVybiBTVkdUZXh0UGF0aE1ldGhv
ZFN0cmV0Y2g7Ci0gICAgICAgIHJldHVybiBTVkdUZXh0UGF0aE1ldGhvZFVua25vd247Ci0gICAg
fQotfTsKLQotdGVtcGxhdGU8Pgotc3RydWN0IFNWR1Byb3BlcnR5VHJhaXRzPFNWR1RleHRQYXRo
U3BhY2luZ1R5cGU+IHsKLSAgICBzdGF0aWMgdW5zaWduZWQgaGlnaGVzdEVudW1WYWx1ZSgpIHsg
cmV0dXJuIFNWR1RleHRQYXRoU3BhY2luZ0V4YWN0OyB9Ci0KLSAgICBzdGF0aWMgU3RyaW5nIHRv
U3RyaW5nKFNWR1RleHRQYXRoU3BhY2luZ1R5cGUgdHlwZSkKLSAgICB7Ci0gICAgICAgIHN3aXRj
aCAodHlwZSkgewotICAgICAgICBjYXNlIFNWR1RleHRQYXRoU3BhY2luZ1Vua25vd246Ci0gICAg
ICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKLSAgICAgICAgY2FzZSBTVkdUZXh0UGF0aFNw
YWNpbmdBdXRvOgotICAgICAgICAgICAgcmV0dXJuICJhdXRvIl9zOwotICAgICAgICBjYXNlIFNW
R1RleHRQYXRoU3BhY2luZ0V4YWN0OgotICAgICAgICAgICAgcmV0dXJuICJleGFjdCJfczsKLSAg
ICAgICAgfQotCi0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICByZXR1cm4g
ZW1wdHlTdHJpbmcoKTsKLSAgICB9Ci0KLSAgICBzdGF0aWMgU1ZHVGV4dFBhdGhTcGFjaW5nVHlw
ZSBmcm9tU3RyaW5nKGNvbnN0IFN0cmluZyYgdmFsdWUpCi0gICAgewotICAgICAgICBpZiAodmFs
dWUgPT0gImF1dG8iKQotICAgICAgICAgICAgcmV0dXJuIFNWR1RleHRQYXRoU3BhY2luZ0F1dG87
Ci0gICAgICAgIGlmICh2YWx1ZSA9PSAiZXhhY3QiKQotICAgICAgICAgICAgcmV0dXJuIFNWR1Rl
eHRQYXRoU3BhY2luZ0V4YWN0OwotICAgICAgICByZXR1cm4gU1ZHVGV4dFBhdGhTcGFjaW5nVW5r
bm93bjsKLSAgICB9Ci19OwotCiBjbGFzcyBTVkdUZXh0UGF0aEVsZW1lbnQgZmluYWwgOiBwdWJs
aWMgU1ZHVGV4dENvbnRlbnRFbGVtZW50LCBwdWJsaWMgU1ZHVVJJUmVmZXJlbmNlIHsKICAgICBX
VEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR1RleHRQYXRoRWxlbWVudCk7CisgICAgdXNpbmcgUHJv
cGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdUZXh0UGF0aEVsZW1l
bnQsIFNWR1RleHRDb250ZW50RWxlbWVudCwgU1ZHVVJJUmVmZXJlbmNlPjsKKwogcHVibGljOgog
ICAgIC8vIEZvcndhcmQgZGVjbGFyZSBlbnVtZXJhdGlvbnMgaW4gdGhlIFczQyBuYW1pbmcgc2No
ZW1lLCBmb3IgSURMIGdlbmVyYXRpb24uCiAgICAgZW51bSB7CkBAIC0xMjYsOSArNTgsNyBAQCBw
cml2YXRlOgogICAgIFNWR1RleHRQYXRoRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9j
dW1lbnQmKTsKICAgICB2aXJ0dWFsIH5TVkdUZXh0UGF0aEVsZW1lbnQoKTsKIAotICAgIHVzaW5n
IFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHVGV4dFBhdGhF
bGVtZW50LCBTVkdUZXh0Q29udGVudEVsZW1lbnQsIFNWR1VSSVJlZmVyZW5jZT47CiAgICAgY29u
c3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsg
cmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQotCiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShj
b25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJikgb3ZlcnJpZGU7CiAgICAg
dm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBvdmVycmlkZTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRQb3NpdGlvbmluZ0VsZW1l
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50LmgKaW5k
ZXggYTQ4NjJlYzQ3NjI5NjU5OTc0MzBmYTg0ZDY4ZDk3MTliMzQ3NjViYS4uNjFjN2RiMTYyMTRm
NmU1OTM3NGRiYjgyNTNmNzJhZjVkZWFmNjJmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudC5oCkBAIC0yNywxMSArMjcsMTIgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBjbGFzcyBTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50IDogcHVibGljIFNW
R1RleHRDb250ZW50RWxlbWVudCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdUZXh0
UG9zaXRpb25pbmdFbGVtZW50KTsKLXB1YmxpYzoKLSAgICBzdGF0aWMgU1ZHVGV4dFBvc2l0aW9u
aW5nRWxlbWVudCogZWxlbWVudEZyb21SZW5kZXJlcihSZW5kZXJCb3hNb2RlbE9iamVjdCYpOwog
CitwdWJsaWM6CiAgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJS
ZWdpc3RyeTxTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50LCBTVkdUZXh0Q29udGVudEVsZW1lbnQ+
OwogCisgICAgc3RhdGljIFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQqIGVsZW1lbnRGcm9tUmVu
ZGVyZXIoUmVuZGVyQm94TW9kZWxPYmplY3QmKTsKKwogICAgIGNvbnN0IFNWR0xlbmd0aExpc3Qm
IHgoKSBjb25zdCB7IHJldHVybiBtX3gtPmN1cnJlbnRWYWx1ZSgpOyB9CiAgICAgY29uc3QgU1ZH
TGVuZ3RoTGlzdCYgeSgpIGNvbnN0IHsgcmV0dXJuIG1feS0+Y3VycmVudFZhbHVlKCk7IH0KICAg
ICBjb25zdCBTVkdMZW5ndGhMaXN0JiBkeCgpIGNvbnN0IHsgcmV0dXJuIG1fZHgtPmN1cnJlbnRW
YWx1ZSgpOyB9CkBAIC01NCw5ICs1NSw2IEBAIHByaXZhdGU6CiAgICAgYm9vbCBpc1ByZXNlbnRh
dGlvbkF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJikgY29uc3QgZmluYWw7CiAgICAgdm9p
ZCBjb2xsZWN0U3R5bGVGb3JQcmVzZW50YXRpb25BdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFt
ZSYsIGNvbnN0IEF0b21pY1N0cmluZyYsIE11dGFibGVTdHlsZVByb3BlcnRpZXMmKSBmaW5hbDsK
IAotICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25z
dCBvdmVycmlkZSB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KLQotICAgIFByb3BlcnR5
UmVnaXN0cnkgbV9wcm9wZXJ0eVJlZ2lzdHJ5IHsgKnRoaXMgfTsKICAgICBSZWY8U1ZHQW5pbWF0
ZWRMZW5ndGhMaXN0PiBtX3ggeyBTVkdBbmltYXRlZExlbmd0aExpc3Q6OmNyZWF0ZSh0aGlzLCBM
ZW5ndGhNb2RlV2lkdGgpIH07CiAgICAgUmVmPFNWR0FuaW1hdGVkTGVuZ3RoTGlzdD4gbV95IHsg
U1ZHQW5pbWF0ZWRMZW5ndGhMaXN0OjpjcmVhdGUodGhpcywgTGVuZ3RoTW9kZUhlaWdodCkgfTsK
ICAgICBSZWY8U1ZHQW5pbWF0ZWRMZW5ndGhMaXN0PiBtX2R4IHsgU1ZHQW5pbWF0ZWRMZW5ndGhM
aXN0OjpjcmVhdGUodGhpcywgTGVuZ3RoTW9kZVdpZHRoKSB9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1RpdGxlRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Rp
dGxlRWxlbWVudC5oCmluZGV4IDNmNTMzMzU2NzA3ZDNlODU0YzQ0MzA3YzM0MGNiOGIxMDdjNDNl
OGQuLjlhZmU0MDY5NGNhOGQ5Y2IxZjVjYzlhYmZlYTc3YTUwMDliYjY2MWUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUaXRsZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHVGl0bGVFbGVtZW50LmgKQEAgLTI3LDE3ICsyNywyMiBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIGNsYXNzIFNWR1RpdGxlRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdFbGVtZW50
IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR1RpdGxlRWxlbWVudCk7CisgICAgdXNp
bmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdUaXRsZUVs
ZW1lbnQsIFNWR0VsZW1lbnQ+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdUaXRsZUVs
ZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAogcHJpdmF0
ZToKICAgICBTVkdUaXRsZUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7
CiAKKyAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29u
c3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9CisgICAgYm9vbCByZW5kZXJl
cklzTmVlZGVkKGNvbnN0IFJlbmRlclN0eWxlJikgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0KKwog
ICAgIEluc2VydGVkSW50b0FuY2VzdG9yUmVzdWx0IGluc2VydGVkSW50b0FuY2VzdG9yKEluc2Vy
dGlvblR5cGUsIENvbnRhaW5lck5vZGUmKSBmaW5hbDsKICAgICB2b2lkIHJlbW92ZWRGcm9tQW5j
ZXN0b3IoUmVtb3ZhbFR5cGUsIENvbnRhaW5lck5vZGUmKSBmaW5hbDsKICAgICB2b2lkIGNoaWxk
cmVuQ2hhbmdlZChjb25zdCBDaGlsZENoYW5nZSYpIGZpbmFsOwogCi0gICAgYm9vbCByZW5kZXJl
cklzTmVlZGVkKGNvbnN0IFJlbmRlclN0eWxlJikgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0KKyAg
ICBQcm9wZXJ0eVJlZ2lzdHJ5IG1fcHJvcGVydHlSZWdpc3RyeSB7ICp0aGlzIH07CiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
VHJhbnNmb3JtLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVHJhbnNmb3JtLmgKaW5kZXggNmEy
OWM3MmNmM2U3ZjMxM2Y3MDk2NTdhNDAxMjQ4MWMyMjNiOGRjZC4uNzdiODk5NjE0ZmJjZTM4OTE5
ZDczYjUyYmY5ODFlZTNmNmE4ZDdlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1RyYW5zZm9ybS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUcmFuc2Zvcm0uaApAQCAt
MjcsNiArMjcsNyBAQAogCiAjaW5jbHVkZSAiU1ZHTWF0cml4LmgiCiAjaW5jbHVkZSAiU1ZHVHJh
bnNmb3JtVmFsdWUuaCIKKyNpbmNsdWRlICJTVkdUcmFuc2Zvcm1hYmxlLmgiCiAjaW5jbHVkZSAi
U1ZHVmFsdWVQcm9wZXJ0eS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00OCw2ICs0OSwx
OSBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNWR1RyYW5zZm9ybSh2
YWx1ZS50eXBlKCksIHZhbHVlLm1hdHJpeCgpLT52YWx1ZSgpLCB2YWx1ZS5hbmdsZSgpLCB2YWx1
ZS5yb3RhdGlvbkNlbnRlcigpKSk7CiAgICAgfQogCisgICAgc3RhdGljIEV4cGVjdGVkPFJlZjxT
VkdUcmFuc2Zvcm0+LCBTVkdQYXJzaW5nRXJyb3I+IGNyZWF0ZShjb25zdCBVQ2hhciomIHB0ciwg
Y29uc3QgVUNoYXIqIGVuZCkKKyAgICB7CisgICAgICAgIFNWR1RyYW5zZm9ybVZhbHVlOjpTVkdU
cmFuc2Zvcm1UeXBlIHR5cGUgPSBTVkdUcmFuc2Zvcm1WYWx1ZTo6U1ZHX1RSQU5TRk9STV9VTktO
T1dOOworICAgICAgICBpZiAoIVNWR1RyYW5zZm9ybWFibGU6OnBhcnNlQW5kU2tpcFR5cGUocHRy
LCBlbmQsIHR5cGUpKQorICAgICAgICAgICAgcmV0dXJuIG1ha2VVbmV4cGVjdGVkKFBhcnNpbmdB
dHRyaWJ1dGVGYWlsZWRFcnJvcik7CisKKyAgICAgICAgUmVmPFNWR1RyYW5zZm9ybT4gdHJhbnNm
b3JtID0gU1ZHVHJhbnNmb3JtOjpjcmVhdGUodHlwZSk7CisgICAgICAgIGlmICghU1ZHVHJhbnNm
b3JtYWJsZTo6cGFyc2VUcmFuc2Zvcm1WYWx1ZSh0eXBlLCBwdHIsIGVuZCwgdHJhbnNmb3JtLT52
YWx1ZSgpKSkKKyAgICAgICAgICAgIHJldHVybiBtYWtlVW5leHBlY3RlZChQYXJzaW5nQXR0cmli
dXRlRmFpbGVkRXJyb3IpOworCisgICAgICAgIHJldHVybiB0cmFuc2Zvcm07CisgICAgfQorCiAg
ICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KICAgICBzdGF0aWMgRXhjZXB0aW9uT3I8UmVmPFNWR1Ry
YW5zZm9ybT4+IGNyZWF0ZShFeGNlcHRpb25PcjxUPiYmIHZhbHVlKQogICAgIHsKQEAgLTEzMCw2
ICsxNDQsMTEgQEAgcHVibGljOgogICAgICAgICByZXR1cm4geyB9OwogICAgIH0KIAorICAgIFN0
cmluZyB2YWx1ZUFzU3RyaW5nKCkgY29uc3Qgb3ZlcnJpZGUKKyAgICB7CisgICAgICAgIHJldHVy
biBtX3ZhbHVlLnZhbHVlQXNTdHJpbmcoKTsKKyAgICB9CisKIHByaXZhdGU6CiAgICAgdXNpbmcg
QmFzZSA9IFNWR1ZhbHVlUHJvcGVydHk8U1ZHVHJhbnNmb3JtVmFsdWU+OwogCkBAIC0xNDcsMTEg
KzE2Niw2IEBAIHByaXZhdGU6CiAgICAgICAgICAgICBvd25lcigpLT5jb21taXRQcm9wZXJ0eUNo
YW5nZSh0aGlzKTsKICAgICAgICAgbV92YWx1ZS5tYXRyaXhEaWRDaGFuZ2UoKTsKICAgICB9Ci0K
LSAgICBTdHJpbmcgdmFsdWVBc1N0cmluZygpIGNvbnN0IG92ZXJyaWRlCi0gICAgewotICAgICAg
ICByZXR1cm4gbV92YWx1ZS52YWx1ZUFzU3RyaW5nKCk7Ci0gICAgfQogfTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RyYW5zZm9y
bUxpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUcmFuc2Zvcm1MaXN0LmgKaW5kZXggNTQ0
ZDYwYjJlNjM1YzFjMjA5OTM0ZWU0MzVjZjQxMjVlNmE3MWYyYi4uNzc1NGI3MWZiNGU5NjFiMmU3
ZjA2Y2Y3MTYxMGViMzVmNGMxMDI0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1RyYW5zZm9ybUxpc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVHJhbnNmb3JtTGlz
dC5oCkBAIC0yMiwxMyArMjIsMTEgQEAKICNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSAiU1ZHVHJh
bnNmb3JtLmgiCi0jaW5jbHVkZSAiU1ZHVHJhbnNmb3JtYWJsZS5oIgogI2luY2x1ZGUgIlNWR1Zh
bHVlUHJvcGVydHlMaXN0LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU1ZHVHJh
bnNmb3JtTGlzdCBmaW5hbCA6IHB1YmxpYyBTVkdWYWx1ZVByb3BlcnR5TGlzdDxTVkdUcmFuc2Zv
cm0+IHsKLSAgICBmcmllbmQgY2xhc3MgU1ZHVmlld1NwZWM7CiAgICAgdXNpbmcgQmFzZSA9IFNW
R1ZhbHVlUHJvcGVydHlMaXN0PFNWR1RyYW5zZm9ybT47CiAgICAgdXNpbmcgQmFzZTo6QmFzZTsK
IApAQCAtNzUsMTYgKzczLDYgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gbWFrZVJlZlB0cihp
dGVtLmdldCgpKTsKICAgICB9CiAKLSAgICB2b2lkIHBhcnNlKGNvbnN0IFN0cmluZyYgdmFsdWUp
Ci0gICAgewotICAgICAgICBjbGVhckl0ZW1zKCk7Ci0KLSAgICAgICAgYXV0byB1cGNvbnZlcnRl
ZENoYXJhY3RlcnMgPSBTdHJpbmdWaWV3KHZhbHVlKS51cGNvbnZlcnRlZENoYXJhY3RlcnMoKTsK
LSAgICAgICAgY29uc3QgVUNoYXIqIHN0YXJ0ID0gdXBjb252ZXJ0ZWRDaGFyYWN0ZXJzOwotICAg
ICAgICBpZiAoIXBhcnNlKHN0YXJ0LCBzdGFydCArIHZhbHVlLmxlbmd0aCgpKSkKLSAgICAgICAg
ICAgIGNsZWFySXRlbXMoKTsKLSAgICB9Ci0KICAgICBBZmZpbmVUcmFuc2Zvcm0gY29uY2F0ZW5h
dGUoKSBjb25zdAogICAgIHsKICAgICAgICAgQWZmaW5lVHJhbnNmb3JtIHJlc3VsdDsKQEAgLTkz
LDQ0ICs4MSwxMyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQogCi0g
ICAgU3RyaW5nIHZhbHVlQXNTdHJpbmcoKSBjb25zdCBvdmVycmlkZQorICAgIFNWR1BhcnNpbmdF
cnJvciBwYXJzZShjb25zdCBTdHJpbmcmIHN0cmluZykKICAgICB7Ci0gICAgICAgIFN0cmluZ0J1
aWxkZXIgYnVpbGRlcjsKLSAgICAgICAgZm9yIChjb25zdCBhdXRvJiB0cmFuc2Zyb20gOiBtX2l0
ZW1zKSB7Ci0gICAgICAgICAgICBpZiAoYnVpbGRlci5sZW5ndGgoKSkKLSAgICAgICAgICAgICAg
ICBidWlsZGVyLmFwcGVuZCgnICcpOwotCi0gICAgICAgICAgICBidWlsZGVyLmFwcGVuZCh0cmFu
c2Zyb20tPnZhbHVlKCkudmFsdWVBc1N0cmluZygpKTsKLSAgICAgICAgfQotICAgICAgICByZXR1
cm4gYnVpbGRlci50b1N0cmluZygpOwotICAgIH0KLQotcHJpdmF0ZToKLSAgICBib29sIHBhcnNl
KGNvbnN0IFVDaGFyKiYgc3RhcnQsIGNvbnN0IFVDaGFyKiBlbmQpCi0gICAgewotICAgICAgICBi
b29sIGRlbGltUGFyc2VkID0gZmFsc2U7Ci0gICAgICAgIHdoaWxlIChzdGFydCA8IGVuZCkgewot
ICAgICAgICAgICAgZGVsaW1QYXJzZWQgPSBmYWxzZTsKLSAgICAgICAgICAgIFNWR1RyYW5zZm9y
bVZhbHVlOjpTVkdUcmFuc2Zvcm1UeXBlIHR5cGUgPSBTVkdUcmFuc2Zvcm1WYWx1ZTo6U1ZHX1RS
QU5TRk9STV9VTktOT1dOOwotICAgICAgICAgICAgc2tpcE9wdGlvbmFsU1ZHU3BhY2VzKHN0YXJ0
LCBlbmQpOwotCi0gICAgICAgICAgICBpZiAoIVNWR1RyYW5zZm9ybWFibGU6OnBhcnNlQW5kU2tp
cFR5cGUoc3RhcnQsIGVuZCwgdHlwZSkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwot
Ci0gICAgICAgICAgICBSZWY8U1ZHVHJhbnNmb3JtPiB0cmFuc2Zvcm0gPSBTVkdUcmFuc2Zvcm06
OmNyZWF0ZSh0eXBlKTsKLSAgICAgICAgICAgIGlmICghU1ZHVHJhbnNmb3JtYWJsZTo6cGFyc2VU
cmFuc2Zvcm1WYWx1ZSh0eXBlLCBzdGFydCwgZW5kLCB0cmFuc2Zvcm0tPnZhbHVlKCkpKQotICAg
ICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgICAgICAgICAgYXBwZW5kKFdURk1vdmUo
dHJhbnNmb3JtKSk7Ci0gICAgICAgICAgICBza2lwT3B0aW9uYWxTVkdTcGFjZXMoc3RhcnQsIGVu
ZCk7Ci0gICAgICAgICAgICBpZiAoc3RhcnQgPCBlbmQgJiYgKnN0YXJ0ID09ICcsJykgewotICAg
ICAgICAgICAgICAgIGRlbGltUGFyc2VkID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICArK3N0YXJ0
OwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBza2lwT3B0aW9uYWxTVkdTcGFjZXMoc3Rh
cnQsIGVuZCk7CisgICAgICAgIGlmIChhdXRvIGVycm9yID0gQmFzZTo6cGFyc2Uoc3RyaW5nKSkg
eworICAgICAgICAgICAgY2xlYXJJdGVtcygpOworICAgICAgICAgICAgcmV0dXJuIGVycm9yOwog
ICAgICAgICB9Ci0gICAgICAgIHJldHVybiAhZGVsaW1QYXJzZWQ7CisgICAgICAgIHJldHVybiBO
b0Vycm9yOwogICAgIH0KIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdV
bml0VHlwZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdVbml0VHlwZXMuaAppbmRleCBmNDQ0
ODVmN2UwNWRmMjQ1M2ZhYWJlNjliMGMyODgyZmVjNTAwNGJlLi40YTk4OWM5ZGM5YmE5ZWY5MDZj
YjI0ZGRmNTMxMjkyMjY0NmIyNjhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
VW5pdFR5cGVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1VuaXRUeXBlcy5oCkBAIC0x
OSw3ICsxOSw2IEBACiAKICNwcmFnbWEgb25jZQogCi0jaW5jbHVkZSAiU1ZHUHJvcGVydHlUcmFp
dHMuaCIKICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CkBAIC0zMSwzOCArMzAsOCBAQCBwdWJsaWM6CiAgICAgICAgIFNWR19VTklUX1RZUEVfVVNFUlNQ
QUNFT05VU0UgICAgICAgID0gMSwKICAgICAgICAgU1ZHX1VOSVRfVFlQRV9PQkpFQ1RCT1VORElO
R0JPWCAgICAgPSAyCiAgICAgfTsKLQogcHJpdmF0ZToKLSAgICBTVkdVbml0VHlwZXMoKSB7IH0K
LX07Ci0KLXRlbXBsYXRlPD4KLXN0cnVjdCBTVkdQcm9wZXJ0eVRyYWl0czxTVkdVbml0VHlwZXM6
OlNWR1VuaXRUeXBlPiB7Ci0gICAgc3RhdGljIHVuc2lnbmVkIGhpZ2hlc3RFbnVtVmFsdWUoKSB7
IHJldHVybiBTVkdVbml0VHlwZXM6OlNWR19VTklUX1RZUEVfT0JKRUNUQk9VTkRJTkdCT1g7IH0K
LQotICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoU1ZHVW5pdFR5cGVzOjpTVkdVbml0VHlwZSB0
eXBlKQotICAgIHsKLSAgICAgICAgc3dpdGNoICh0eXBlKSB7Ci0gICAgICAgIGNhc2UgU1ZHVW5p
dFR5cGVzOjpTVkdfVU5JVF9UWVBFX1VOS05PV046Ci0gICAgICAgICAgICByZXR1cm4gZW1wdHlT
dHJpbmcoKTsKLSAgICAgICAgY2FzZSBTVkdVbml0VHlwZXM6OlNWR19VTklUX1RZUEVfVVNFUlNQ
QUNFT05VU0U6Ci0gICAgICAgICAgICByZXR1cm4gInVzZXJTcGFjZU9uVXNlIl9zOwotICAgICAg
ICBjYXNlIFNWR1VuaXRUeXBlczo6U1ZHX1VOSVRfVFlQRV9PQkpFQ1RCT1VORElOR0JPWDoKLSAg
ICAgICAgICAgIHJldHVybiAib2JqZWN0Qm91bmRpbmdCb3giX3M7Ci0gICAgICAgIH0KLQotICAg
ICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7
Ci0gICAgfQotCi0gICAgc3RhdGljIFNWR1VuaXRUeXBlczo6U1ZHVW5pdFR5cGUgZnJvbVN0cmlu
Zyhjb25zdCBTdHJpbmcmIHZhbHVlKQotICAgIHsKLSAgICAgICAgaWYgKHZhbHVlID09ICJ1c2Vy
U3BhY2VPblVzZSIpCi0gICAgICAgICAgICByZXR1cm4gU1ZHVW5pdFR5cGVzOjpTVkdfVU5JVF9U
WVBFX1VTRVJTUEFDRU9OVVNFOwotICAgICAgICBpZiAodmFsdWUgPT0gIm9iamVjdEJvdW5kaW5n
Qm94IikKLSAgICAgICAgICAgIHJldHVybiBTVkdVbml0VHlwZXM6OlNWR19VTklUX1RZUEVfT0JK
RUNUQk9VTkRJTkdCT1g7Ci0gICAgICAgIHJldHVybiBTVkdVbml0VHlwZXM6OlNWR19VTklUX1RZ
UEVfVU5LTk9XTjsKLSAgICB9CisgICAgU1ZHVW5pdFR5cGVzKCkgPSBkZWZhdWx0OwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1Vua25vd25FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVW5rbm93bkVsZW1lbnQu
aAppbmRleCBhMTVjN2FmOTc4N2FkMjFmMmNhN2MzMjkzYzgyMDA2ODJlMWJhYmVkLi44ZDEwY2Yw
Njg4NGQzZGQ0NmMzYmVjOGFlOGIwMjc4NjExZmM1Yzc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHVW5rbm93bkVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
VW5rbm93bkVsZW1lbnQuaApAQCAtMzcsNiArMzcsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAv
LyBmYWxzZSB0byBtYWtlIHN1cmUgd2UgZG9uJ3QgYXR0ZW1wdCB0byByZW5kZXIgc3VjaCBlbGVt
ZW50cy4KIGNsYXNzIFNWR1Vua25vd25FbGVtZW50IGZpbmFsIDogcHVibGljIFNWR0VsZW1lbnQg
ewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHVW5rbm93bkVsZW1lbnQpOworICAgIHVz
aW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHVW5rbm93
bkVsZW1lbnQsIFNWR0VsZW1lbnQ+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdVbmtu
b3duRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50
JiBkb2N1bWVudCkKICAgICB7CkBAIC00NCwxMiArNDYsMTIgQEAgcHVibGljOgogICAgIH0KIAog
cHJpdmF0ZToKLSAgICBTVkdVbmtub3duRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdO
YW1lLCBEb2N1bWVudCYgZG9jdW1lbnQpCi0gICAgICAgIDogU1ZHRWxlbWVudCh0YWdOYW1lLCBk
b2N1bWVudCkKLSAgICB7Ci0gICAgfQorICAgIHVzaW5nIFNWR0VsZW1lbnQ6OlNWR0VsZW1lbnQ7
CiAKKyAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29u
c3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9CiAgICAgYm9vbCByZW5kZXJl
cklzTmVlZGVkKGNvbnN0IFJlbmRlclN0eWxlJikgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0KKyAg
ICAKKyAgICBQcm9wZXJ0eVJlZ2lzdHJ5IG1fcHJvcGVydHlSZWdpc3RyeSB7ICp0aGlzIH07CiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHVXNlRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1VzZUVsZW1lbnQuaApp
bmRleCAwMzkwODFkMTY2ZWFkYTdiNTIwMGI2MDRiNzBlMzljNGZlYWExYmRiLi45YzM5NjMzNDZm
NmZlNjkwZTY2NWI4MzQ3YjI0ZTZmYzY0ZWI0ZTkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHVXNlRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdVc2VFbGVt
ZW50LmgKQEAgLTM0LDYgKzM0LDggQEAgY2xhc3MgU1ZHR0VsZW1lbnQ7CiAKIGNsYXNzIFNWR1Vz
ZUVsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHR3JhcGhpY3NFbGVtZW50LCBwdWJsaWMgU1ZHRXh0
ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgcHVibGljIFNWR1VSSVJlZmVyZW5jZSwgcHJpdmF0ZSBD
YWNoZWRTVkdEb2N1bWVudENsaWVudCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdV
c2VFbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25l
clJlZ2lzdHJ5PFNWR1VzZUVsZW1lbnQsIFNWR0dyYXBoaWNzRWxlbWVudCwgU1ZHRXh0ZXJuYWxS
ZXNvdXJjZXNSZXF1aXJlZCwgU1ZHVVJJUmVmZXJlbmNlPjsKKwogcHVibGljOgogICAgIHN0YXRp
YyBSZWY8U1ZHVXNlRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVu
dCYpOwogICAgIHZpcnR1YWwgflNWR1VzZUVsZW1lbnQoKTsKQEAgLTYzLDkgKzY1LDcgQEAgcHJp
dmF0ZToKICAgICB2b2lkIHJlbW92ZWRGcm9tQW5jZXN0b3IoUmVtb3ZhbFR5cGUsIENvbnRhaW5l
ck5vZGUmKSBvdmVycmlkZTsKICAgICB2b2lkIGJ1aWxkUGVuZGluZ1Jlc291cmNlKCkgb3ZlcnJp
ZGU7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lz
dHJ5PFNWR1VzZUVsZW1lbnQsIFNWR0dyYXBoaWNzRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJj
ZXNSZXF1aXJlZCwgU1ZHVVJJUmVmZXJlbmNlPjsKICAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lz
dHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJl
Z2lzdHJ5OyB9Ci0KICAgICB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUm
LCBjb25zdCBBdG9taWNTdHJpbmcmKSBvdmVycmlkZTsKICAgICB2b2lkIHN2Z0F0dHJpYnV0ZUNo
YW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYpIG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHVktlcm5FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
Vktlcm5FbGVtZW50LmgKaW5kZXggNzhjOGQ1NTAxODk2ZDE2Y2VjNzA3YjUyNmFlMWQ3ZDAyYWMw
ZGZhNi4uMWVjMDcyYzBjM2NkMzYzODBhZTVjY2ViZDIxZjhiZjEzNWY0ZmRiZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZLZXJuRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdWS2VybkVsZW1lbnQuaApAQCAtMjgsNiArMjgsOCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIGNsYXNzIFNWR1ZLZXJuRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdFbGVtZW50
IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR1ZLZXJuRWxlbWVudCk7CisgICAgdXNp
bmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdWS2VybkVs
ZW1lbnQsIFNWR0VsZW1lbnQ+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdWS2VybkVs
ZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIApAQCAtMzYs
NyArMzgsMTAgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBTVkdWS2VybkVsZW1lbnQoY29uc3Qg
UXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKKyAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lz
dHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJl
Z2lzdHJ5OyB9CiAgICAgYm9vbCByZW5kZXJlcklzTmVlZGVkKGNvbnN0IFJlbmRlclN0eWxlJikg
ZmluYWwgeyByZXR1cm4gZmFsc2U7IH0KKworICAgIFByb3BlcnR5UmVnaXN0cnkgbV9wcm9wZXJ0
eVJlZ2lzdHJ5IHsgKnRoaXMgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHVmlld0VsZW1lbnQuY3BwCmluZGV4IDMzOTZjNmU5ODIzNmI2NGU4Njk1ZmYw
NDE5ZTgwMjY5NTc3YjQ3M2EuLjBhZWMzMjc2ZWM0YWRjMGIyMWE2MmY3NGZiNTM3OWE4NTM5N2Ji
MmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3RWxlbWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdFbGVtZW50LmNwcApAQCAtNTEsNyArNTEsNyBA
QCBSZWY8U1ZHVmlld0VsZW1lbnQ+IFNWR1ZpZXdFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlm
aWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbgogdm9pZCBTVkdWaWV3RWxlbWVudDo6cGFyc2VBdHRy
aWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbWljU3RyaW5nJiB2YWx1
ZSkKIHsKICAgICBpZiAobmFtZSA9PSBTVkdOYW1lczo6dmlld1RhcmdldEF0dHIpIHsKLSAgICAg
ICAgbV92aWV3VGFyZ2V0LT5yZXNldCh2YWx1ZSk7CisgICAgICAgIG1fdmlld1RhcmdldC0+cGFy
c2UodmFsdWUpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHVmlld0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3
RWxlbWVudC5oCmluZGV4IGIwZWVmMTlkN2M0OTUwNTE4NzhhODgxNWFlNDYyZGE5NTA4NGUwN2Mu
Ljc1ZDE4MmY0ZDg1MjhkNGRlNWY5ZWVlNDJiNjIzZTUwNTdlYzQzNTAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdWaWV3RWxlbWVudC5oCkBAIC0zMSw2ICszMSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogY2xhc3MgU1ZHVmlld0VsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHRWxlbWVudCwgcHVibGlj
IFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIHB1YmxpYyBTVkdGaXRUb1ZpZXdCb3gsIHB1
YmxpYyBTVkdab29tQW5kUGFuIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR1ZpZXdF
bGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJl
Z2lzdHJ5PFNWR1ZpZXdFbGVtZW50LCBTVkdFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1Jl
cXVpcmVkLCBTVkdGaXRUb1ZpZXdCb3g+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdW
aWV3RWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCkBA
IC00Miw5ICs0NCw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgU1ZHVmlld0VsZW1lbnQoY29u
c3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lz
dHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR1ZpZXdFbGVtZW50LCBTVkdFbGVtZW50
LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBTVkdGaXRUb1ZpZXdCb3g+OwogICAgIGNv
bnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7
IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KLQogICAgIC8vIEZJWE1FKHdlYmtpdC5vcmcv
Yi8xOTY1NTQpOiBzdmdBdHRyaWJ1dGVDaGFuZ2VkIG1pc3NpbmcuCiAgICAgdm9pZCBwYXJzZUF0
dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJikgZmluYWw7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuY3BwCmluZGV4IDhmNDIzNTE2YjViZGJjNTI4N2Nk
YTQ0YWRmNDlmYzYxOGRkYzMyZWMuLjc4Yjg5YzU5ODBjMWJmOTY0ZDllMWRhZjc5MWE4MWNjZjJi
YjAzYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmNwcApAQCAtMjMsMTEgKzIzLDggQEAK
IAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiU1ZHRWxlbWVudC5oIgotI2luY2x1
ZGUgIlNWR0ZpdFRvVmlld0JveC5oIgogI2luY2x1ZGUgIlNWR05hbWVzLmgiCi0jaW5jbHVkZSAi
U1ZHUGFyc2VyVXRpbGl0aWVzLmgiCiAjaW5jbHVkZSAiU1ZHVHJhbnNmb3JtTGlzdC5oIgotI2lu
Y2x1ZGUgIlNWR1RyYW5zZm9ybWFibGUuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC02
MCw5OSArNTcsMTA0IEBAIHZvaWQgU1ZHVmlld1NwZWM6OnJlc2V0KCkKICAgICBTVkdab29tQW5k
UGFuOjpyZXNldCgpOwogfQogCi1zdGF0aWMgY29uc3QgVUNoYXIgc3ZnVmlld1NwZWNbXSA9IHsn
cycsICd2JywgJ2cnLCAnVicsICdpJywgJ2UnLCAndyd9Owotc3RhdGljIGNvbnN0IFVDaGFyIHZp
ZXdCb3hTcGVjW10gPSB7J3YnLCAnaScsICdlJywgJ3cnLCAnQicsICdvJywgJ3gnfTsKLXN0YXRp
YyBjb25zdCBVQ2hhciBwcmVzZXJ2ZUFzcGVjdFJhdGlvU3BlY1tdID0geydwJywgJ3InLCAnZScs
ICdzJywgJ2UnLCAncicsICd2JywgJ2UnLCAnQScsICdzJywgJ3AnLCAnZScsICdjJywgJ3QnLCAn
UicsICdhJywgJ3QnLCAnaScsICdvJ307Ci1zdGF0aWMgY29uc3QgVUNoYXIgdHJhbnNmb3JtU3Bl
Y1tdID0geyd0JywgJ3InLCAnYScsICduJywgJ3MnLCAnZicsICdvJywgJ3InLCAnbSd9Owotc3Rh
dGljIGNvbnN0IFVDaGFyIHpvb21BbmRQYW5TcGVjW10gPSB7J3onLCAnbycsICdvJywgJ20nLCAn
QScsICduJywgJ2QnLCAnUCcsICdhJywgJ24nfTsKLXN0YXRpYyBjb25zdCBVQ2hhciB2aWV3VGFy
Z2V0U3BlY1tdID0gIHsndicsICdpJywgJ2UnLCAndycsICdUJywgJ2EnLCAncicsICdnJywgJ2Un
LCAndCd9Oworc3RhdGljIE9wdGlvbmFsPFZlY3RvcjxzdGQ6OnBhaXI8U3RyaW5nLCBTdHJpbmc+
Pj4gcGFyc2VOYW1lc1ZhbHVlcyhjb25zdCBTdHJpbmcmIHN0cmluZykKK3sKKyAgICBWZWN0b3I8
c3RkOjpwYWlyPFN0cmluZywgU3RyaW5nPj4gcmVzdWx0OworCisgICAgZm9yIChzaXplX3QgcG9z
aXRpb24gPSAwOyBwb3NpdGlvbiA8IHN0cmluZy5sZW5ndGgoKTsgKSB7CisgICAgICAgIHNpemVf
dCBzdGFydCA9IHBvc2l0aW9uOworICAgICAgICAKKyAgICAgICAgLy8gRmluZCBvZiB0aGUgZW5k
IG9mIHRoZSBhdHRyaWJ1dHVlIG5hbWUuCisgICAgICAgIHBvc2l0aW9uID0gc3RyaW5nLmZpbmQo
JygnLCBzdGFydCk7CisgICAgICAgIGlmIChwb3NpdGlvbiA9PSBub3RGb3VuZCkKKyAgICAgICAg
ICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICAgICAgLy8gRXh0cmFjdCB0aGUgbmFtZSBh
bmQgc3RpcCB0aGUgd2hpdGUgc3BhY2VzLgorICAgICAgICBTdHJpbmcgbmFtZSA9IHN0cmluZy5z
dWJzdHJpbmcoc3RhcnQsIHBvc2l0aW9uIC0gc3RhcnQpLnN0cmlwV2hpdGVTcGFjZSgpOworCisg
ICAgICAgIC8vIEtlZXAgdHJhY2sgb2Ygb3BlbmQgbGVmdCBwYXJlbnRoZXNlcyBidXQgc3RvcmUg
dGhlIHBvc3Rpb25zIG9mIHRoZSBjbG9zZWQgb25lcworICAgICAgICBWZWN0b3I8c2l6ZV90PiBs
ZWZ0UGFyZW50aGVzZXMgeyBwb3NpdGlvbiB9OworICAgICAgICBWZWN0b3I8c3RkOjpwYWlyPHNp
emVfdCwgc2l6ZV90Pj4gcGFyZW50aGVzZXM7CisgICAgICAgIHN0YXJ0ID0gcG9zaXRpb24rKzsK
KworICAgICAgICB3aGlsZSAocG9zaXRpb24gPCBzdHJpbmcubGVuZ3RoKCkgJiYgIWxlZnRQYXJl
bnRoZXNlcy5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAgIGlmIChzdHJpbmdbcG9zaXRpb25dID09
ICcoJykKKyAgICAgICAgICAgICAgICBsZWZ0UGFyZW50aGVzZXMuYXBwZW5kKHBvc2l0aW9uKTsK
KyAgICAgICAgICAgIGVsc2UgaWYgKHN0cmluZ1twb3NpdGlvbl0gPT0gJyknKQorICAgICAgICAg
ICAgICAgIHBhcmVudGhlc2VzLmFwcGVuZChzdGQ6Om1ha2VfcGFpcihsZWZ0UGFyZW50aGVzZXMu
dGFrZUxhc3QoKSwgcG9zaXRpb24pKTsKKyAgICAgICAgICAgICsrcG9zaXRpb247CisgICAgICAg
IH0KKworICAgICAgICAvLyBVbmJhbGFuY2VkIHBhcmVudGhlc2VzLgorICAgICAgICBpZiAoIWxl
ZnRQYXJlbnRoZXNlcy5pc0VtcHR5KCkpCisgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0
OwogCi1ib29sIFNWR1ZpZXdTcGVjOjpwYXJzZVZpZXdTcGVjKGNvbnN0IFN0cmluZyYgdmlld1Nw
ZWMpCisgICAgICAgIHNpemVfdCBlbmQgPSBwb3NpdGlvbjsKKyAgICAgICAgCisgICAgICAgIC8v
IFJlbW92ZSB1bm5lY2Vzc2FyeSBwYXJlbnRoZXNlcy4KKyAgICAgICAgZm9yICg7ICFwYXJlbnRo
ZXNlcy5pc0VtcHR5KCk7ICsrc3RhcnQsIC0tZW5kKSB7CisgICAgICAgICAgICBhdXRvIHBhaXIg
PSBwYXJlbnRoZXNlcy50YWtlTGFzdCgpOworICAgICAgICAgICAgaWYgKHBhaXIuZmlyc3QgIT0g
c3RhcnQgfHwgcGFpci5zZWNvbmQgIT0gZW5kIC0xKQorICAgICAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICB9CisKKyAgICAgICAgLy8gRXh0cmFjdCB0aGUgdmFsdWUgYW5kIHN0aXAgdGhlIHdo
aXRlIHNwYWNlcy4KKyAgICAgICAgU3RyaW5nIHZhbHVlID0gc3RyaW5nLnN1YnN0cmluZyhzdGFy
dCwgZW5kIC0gc3RhcnQpLnN0cmlwV2hpdGVTcGFjZSgpOworICAgICAgICByZXN1bHQuYXBwZW5k
KHN0ZDo6bWFrZV9wYWlyKG5hbWUsIHZhbHVlKSk7CisKKyAgICAgICAgLy8gU2tpcCB0aGUgc2Vt
aWNvbG9uIGlmIGl0IHNlcGFyYXRlcyB0aGUgYXR0cmlidXRlcy4KKyAgICAgICAgaWYgKHBvc2l0
aW9uIDwgc3RyaW5nLmxlbmd0aCgpICYmIHN0cmluZ1twb3NpdGlvbl0gPT0gJzsnKQorICAgICAg
ICAgICAgKytwb3NpdGlvbjsKKyAgICB9CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitTVkdQ
YXJzaW5nRXJyb3IgU1ZHVmlld1NwZWM6OnBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5h
bWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUpCit7CisgICAgaWYgKG5hbWUgPT0g
U1ZHTmFtZXM6OnRyYW5zZm9ybUF0dHIpCisgICAgICAgIHJldHVybiBtX3RyYW5zZm9ybS0+cGFy
c2UodmFsdWUpOworCisgICAgaWYgKGF1dG8gZXJyb3IgPSBTVkdGaXRUb1ZpZXdCb3g6OnBhcnNl
QXR0cmlidXRlKG5hbWUsIHZhbHVlKSkKKyAgICAgICAgcmV0dXJuICplcnJvcjsKKworICAgIGlm
IChhdXRvIGVycm9yID0gU1ZHWm9vbUFuZFBhbjo6cGFyc2VBdHRyaWJ1dGUobmFtZSwgdmFsdWUp
KQorICAgICAgICByZXR1cm4gKmVycm9yOworCisgICAgcmV0dXJuIFBhcnNpbmdBdHRyaWJ1dGVG
YWlsZWRFcnJvcjsKK30KKworU1ZHUGFyc2luZ0Vycm9yIFNWR1ZpZXdTcGVjOjpwYXJzZVZpZXdT
cGVjKGNvbnN0IFN0cmluZyYgdmlld1NwZWMpCiB7Ci0gICAgYXV0byB1cGNvbnZlcnRlZENoYXJh
Y3RlcnMgPSBTdHJpbmdWaWV3KHZpZXdTcGVjKS51cGNvbnZlcnRlZENoYXJhY3RlcnMoKTsKLSAg
ICBjb25zdCBVQ2hhciogY3VyclZpZXdTcGVjID0gdXBjb252ZXJ0ZWRDaGFyYWN0ZXJzOwotICAg
IGNvbnN0IFVDaGFyKiBlbmQgPSBjdXJyVmlld1NwZWMgKyB2aWV3U3BlYy5sZW5ndGgoKTsKLQot
ICAgIGlmIChjdXJyVmlld1NwZWMgPj0gZW5kIHx8ICFtX2NvbnRleHRFbGVtZW50KQotICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0KLSAgICBpZiAoIXNraXBTdHJpbmcoY3VyclZpZXdTcGVjLCBlbmQs
IHN2Z1ZpZXdTcGVjLCBXVEZfQVJSQVlfTEVOR1RIKHN2Z1ZpZXdTcGVjKSkpCi0gICAgICAgIHJl
dHVybiBmYWxzZTsKLQotICAgIGlmIChjdXJyVmlld1NwZWMgPj0gZW5kIHx8ICpjdXJyVmlld1Nw
ZWMgIT0gJygnKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgY3VyclZpZXdTcGVjKys7Ci0K
LSAgICB3aGlsZSAoY3VyclZpZXdTcGVjIDwgZW5kICYmICpjdXJyVmlld1NwZWMgIT0gJyknKSB7
Ci0gICAgICAgIGlmICgqY3VyclZpZXdTcGVjID09ICd2JykgewotICAgICAgICAgICAgaWYgKHNr
aXBTdHJpbmcoY3VyclZpZXdTcGVjLCBlbmQsIHZpZXdCb3hTcGVjLCBXVEZfQVJSQVlfTEVOR1RI
KHZpZXdCb3hTcGVjKSkpIHsKLSAgICAgICAgICAgICAgICBpZiAoY3VyclZpZXdTcGVjID49IGVu
ZCB8fCAqY3VyclZpZXdTcGVjICE9ICcoJykKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOwotICAgICAgICAgICAgICAgIGN1cnJWaWV3U3BlYysrOwotICAgICAgICAgICAgICAgIEZs
b2F0UmVjdCB2aWV3Qm94OwotICAgICAgICAgICAgICAgIGlmICghU1ZHRml0VG9WaWV3Qm94Ojpw
YXJzZVZpZXdCb3goY3VyclZpZXdTcGVjLCBlbmQsIHZpZXdCb3gsIGZhbHNlKSkKLSAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgICAgIHNldFZpZXdCb3godmll
d0JveCk7Ci0gICAgICAgICAgICAgICAgaWYgKGN1cnJWaWV3U3BlYyA+PSBlbmQgfHwgKmN1cnJW
aWV3U3BlYyAhPSAnKScpCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAg
ICAgICAgICAgICBjdXJyVmlld1NwZWMrKzsKLSAgICAgICAgICAgIH0gZWxzZSBpZiAoc2tpcFN0
cmluZyhjdXJyVmlld1NwZWMsIGVuZCwgdmlld1RhcmdldFNwZWMsIFdURl9BUlJBWV9MRU5HVEgo
dmlld1RhcmdldFNwZWMpKSkgewotICAgICAgICAgICAgICAgIGlmIChjdXJyVmlld1NwZWMgPj0g
ZW5kIHx8ICpjdXJyVmlld1NwZWMgIT0gJygnKQotICAgICAgICAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7Ci0gICAgICAgICAgICAgICAgY29uc3QgVUNoYXIqIHZpZXdUYXJnZXRTdGFydCA9ICsr
Y3VyclZpZXdTcGVjOwotICAgICAgICAgICAgICAgIHdoaWxlIChjdXJyVmlld1NwZWMgPCBlbmQg
JiYgKmN1cnJWaWV3U3BlYyAhPSAnKScpCi0gICAgICAgICAgICAgICAgICAgIGN1cnJWaWV3U3Bl
YysrOwotICAgICAgICAgICAgICAgIGlmIChjdXJyVmlld1NwZWMgPj0gZW5kKQotICAgICAgICAg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICAgICAgbV92aWV3VGFyZ2V0U3Ry
aW5nID0gU3RyaW5nKHZpZXdUYXJnZXRTdGFydCwgY3VyclZpZXdTcGVjIC0gdmlld1RhcmdldFN0
YXJ0KTsKLSAgICAgICAgICAgICAgICBjdXJyVmlld1NwZWMrKzsKLSAgICAgICAgICAgIH0gZWxz
ZQotICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfSBlbHNlIGlmICgqY3Vy
clZpZXdTcGVjID09ICd6JykgewotICAgICAgICAgICAgaWYgKCFza2lwU3RyaW5nKGN1cnJWaWV3
U3BlYywgZW5kLCB6b29tQW5kUGFuU3BlYywgV1RGX0FSUkFZX0xFTkdUSCh6b29tQW5kUGFuU3Bl
YykpKQotICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgICAgIGlmIChjdXJy
Vmlld1NwZWMgPj0gZW5kIHx8ICpjdXJyVmlld1NwZWMgIT0gJygnKQotICAgICAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICAgICAgICAgIGN1cnJWaWV3U3BlYysrOwotICAgICAgICAgICAg
aWYgKCFTVkdab29tQW5kUGFuOjpwYXJzZVpvb21BbmRQYW4oY3VyclZpZXdTcGVjLCBlbmQpKQot
ICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgICAgIGlmIChjdXJyVmlld1Nw
ZWMgPj0gZW5kIHx8ICpjdXJyVmlld1NwZWMgIT0gJyknKQotICAgICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKLSAgICAgICAgICAgIGN1cnJWaWV3U3BlYysrOwotICAgICAgICB9IGVsc2UgaWYg
KCpjdXJyVmlld1NwZWMgPT0gJ3AnKSB7Ci0gICAgICAgICAgICBpZiAoIXNraXBTdHJpbmcoY3Vy
clZpZXdTcGVjLCBlbmQsIHByZXNlcnZlQXNwZWN0UmF0aW9TcGVjLCBXVEZfQVJSQVlfTEVOR1RI
KHByZXNlcnZlQXNwZWN0UmF0aW9TcGVjKSkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OwotICAgICAgICAgICAgaWYgKGN1cnJWaWV3U3BlYyA+PSBlbmQgfHwgKmN1cnJWaWV3U3BlYyAh
PSAnKCcpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgY3VyclZp
ZXdTcGVjKys7Ci0gICAgICAgICAgICBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVmFsdWUgcHJlc2Vy
dmVBc3BlY3RSYXRpbzsKLSAgICAgICAgICAgIGlmICghcHJlc2VydmVBc3BlY3RSYXRpby5wYXJz
ZShjdXJyVmlld1NwZWMsIGVuZCwgZmFsc2UpKQotICAgICAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKLSAgICAgICAgICAgIHNldFByZXNlcnZlQXNwZWN0UmF0aW8ocHJlc2VydmVBc3BlY3RSYXRp
byk7Ci0gICAgICAgICAgICBpZiAoY3VyclZpZXdTcGVjID49IGVuZCB8fCAqY3VyclZpZXdTcGVj
ICE9ICcpJykKLSAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICBjdXJy
Vmlld1NwZWMrKzsKLSAgICAgICAgfSBlbHNlIGlmICgqY3VyclZpZXdTcGVjID09ICd0Jykgewot
ICAgICAgICAgICAgaWYgKCFza2lwU3RyaW5nKGN1cnJWaWV3U3BlYywgZW5kLCB0cmFuc2Zvcm1T
cGVjLCBXVEZfQVJSQVlfTEVOR1RIKHRyYW5zZm9ybVNwZWMpKSkKLSAgICAgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICBpZiAoY3VyclZpZXdTcGVjID49IGVuZCB8fCAqY3Vy
clZpZXdTcGVjICE9ICcoJykKLSAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAg
ICAgICBjdXJyVmlld1NwZWMrKzsKLSAgICAgICAgICAgIG1fdHJhbnNmb3JtLT5wYXJzZShjdXJy
Vmlld1NwZWMsIGVuZCk7Ci0gICAgICAgICAgICBpZiAoY3VyclZpZXdTcGVjID49IGVuZCB8fCAq
Y3VyclZpZXdTcGVjICE9ICcpJykKLSAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAg
ICAgICAgICBjdXJyVmlld1NwZWMrKzsKLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICByZXR1
cm4gZmFsc2U7Ci0KLSAgICAgICAgaWYgKGN1cnJWaWV3U3BlYyA8IGVuZCAmJiAqY3VyclZpZXdT
cGVjID09ICc7JykKLSAgICAgICAgICAgIGN1cnJWaWV3U3BlYysrOworICAgIGF1dG8gcmVzdWx0
ID0gcGFyc2VOYW1lc1ZhbHVlcyh2aWV3U3BlYyk7CisgICAgaWYgKCFyZXN1bHQgfHwgcmVzdWx0
LT5zaXplKCkgIT0gMSB8fCAoKnJlc3VsdClbMF0uZmlyc3QgIT0gInN2Z1ZpZXciKQorICAgICAg
ICByZXR1cm4gUGFyc2luZ0F0dHJpYnV0ZUZhaWxlZEVycm9yOworCisgICAgYXV0byBuYW1lc1Zh
bHVlcyA9IHBhcnNlTmFtZXNWYWx1ZXMoKCpyZXN1bHQpWzBdLnNlY29uZCk7CisgICAgaWYgKCFu
YW1lc1ZhbHVlcyB8fCBuYW1lc1ZhbHVlcy0+aXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gUGFy
c2luZ0F0dHJpYnV0ZUZhaWxlZEVycm9yOworCisgICAgU3RyaW5nQnVpbGRlciB0cmFuc2Zyb207
CisgICAgZm9yIChhdXRvJiBuYW1lVmFsdWUgOiAqbmFtZXNWYWx1ZXMpIHsKKyAgICAgICAgUXVh
bGlmaWVkTmFtZSBuYW1lKGVtcHR5QXRvbSgpLCBuYW1lVmFsdWUuZmlyc3QsIGVtcHR5QXRvbSgp
KTsKKyAgICAgICAgaWYgKG5hbWUubWF0Y2hlcyhTVkdOYW1lczo6dmlld1RhcmdldEF0dHIpKSB7
CisgICAgICAgICAgICAvLyB2aWV3VGFyZ2V0IGNhbid0IGJlIGFuIGVtcHR5IHN0cmluZy4KKyAg
ICAgICAgICAgIGlmIChuYW1lVmFsdWUuc2Vjb25kLmlzRW1wdHkoKSkKKyAgICAgICAgICAgICAg
ICByZXR1cm4gVW5leHBlY3RlZEVuZE9mQXR0cmlidXRlRXJyb3I7CisgICAgICAgICAgICBtX3Zp
ZXdUYXJnZXRTdHJpbmcgPSBuYW1lVmFsdWUuc2Vjb25kOworICAgICAgICB9IGVsc2UgaWYgKG5h
bWUubWF0Y2hlcyhTVkdOYW1lczo6dHJhbnNmb3JtQXR0cikpIHsKKyAgICAgICAgICAgIC8vIHRy
YW5zZm9ybSBjYW4gZXhpc3QgbXVsdGlwbGUgdGltZXMuIENvbGxlY3QgdmFsdWVzIGFuZCBwYXJz
ZSBhdCB0aGUgZW5kLgorICAgICAgICAgICAgaWYgKHRyYW5zZnJvbS5sZW5ndGgoKSkKKyAgICAg
ICAgICAgICAgICB0cmFuc2Zyb20uYXBwZW5kKCcgJyk7CisgICAgICAgICAgICB0cmFuc2Zyb20u
YXBwZW5kKG5hbWVWYWx1ZS5zZWNvbmQpOworICAgICAgICB9IGVsc2UgaWYgKGF1dG8gZXJyb3Ig
PSBwYXJzZUF0dHJpYnV0ZShuYW1lLCBuYW1lVmFsdWUuc2Vjb25kKSkKKyAgICAgICAgICAgIHJl
dHVybiBlcnJvcjsKICAgICB9Ci0gICAgCi0gICAgaWYgKGN1cnJWaWV3U3BlYyA+PSBlbmQgfHwg
KmN1cnJWaWV3U3BlYyAhPSAnKScpCi0gICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIHJldHVy
biB0cnVlOworICAgIGlmICh0cmFuc2Zyb20ubGVuZ3RoKCkpCisgICAgICAgIHJldHVybiBwYXJz
ZUF0dHJpYnV0ZShTVkdOYW1lczo6dHJhbnNmb3JtQXR0ciwgdHJhbnNmcm9tLnRvU3RyaW5nKCkp
OworCisgICAgcmV0dXJuIE5vRXJyb3I7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdWaWV3U3BlYy5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmgK
aW5kZXggMmU3ZWY5Nzg2YzFhODg2ZmQyNWFjZmVhMDM3ZmM4NTBkNzlkZTUyMC4uNTU3Nzk5NTc2
ZDdmYmU3NjI0YWVlNWE3MTJhMDcyNjNhNWViMmUwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR1ZpZXdTcGVjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVj
LmgKQEAgLTM2LDcgKzM2LDcgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5l
dyBTVkdWaWV3U3BlYyhjb250ZXh0RWxlbWVudCkpOwogICAgIH0KIAotICAgIGJvb2wgcGFyc2VW
aWV3U3BlYyhjb25zdCBTdHJpbmcmKTsKKyAgICBTVkdQYXJzaW5nRXJyb3IgcGFyc2VWaWV3U3Bl
Yyhjb25zdCBTdHJpbmcmKTsKICAgICB2b2lkIHJlc2V0KCk7CiAgICAgdm9pZCByZXNldENvbnRl
eHRFbGVtZW50KCkgeyBtX2NvbnRleHRFbGVtZW50ID0gbnVsbHB0cjsgfQogCkBAIC01MSw2ICs1
MSw4IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgU1ZHVmlld1NwZWMoU1ZHRWxl
bWVudCYpOwogCisgICAgU1ZHUGFyc2luZ0Vycm9yIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxp
ZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKTsKKwogICAgIHVzaW5nIFByb3BlcnR5UmVn
aXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHVmlld1NwZWMsIFNWR0ZpdFRvVmll
d0JveD47CiAKICAgICBXZWFrUHRyPFNWR0VsZW1lbnQ+IG1fY29udGV4dEVsZW1lbnQ7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHWm9vbUFuZFBhbi5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHWm9vbUFuZFBhbi5jcHAKaW5kZXggMTRkOGZjYjc3ZWE1ODAxZDY1MTA5ZjQ1
M2RhMjUwMzYyMzExMjc2ZC4uMzkyNGY4M2Q4NzQ3NGNiMTlkOGMyNjgyOTNiMTcwN2JjZTc3Yzdl
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1pvb21BbmRQYW4uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdab29tQW5kUGFuLmNwcApAQCAtMjQsMjggKzI0LDE3IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotYm9vbCBTVkdab29tQW5kUGFuOjpwYXJzZVpvb21B
bmRQYW4oY29uc3QgVUNoYXIqJiBzdGFydCwgY29uc3QgVUNoYXIqIGVuZCkKK09wdGlvbmFsPFNW
R1BhcnNpbmdFcnJvcj4gU1ZHWm9vbUFuZFBhbjo6cGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlm
aWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbWljU3RyaW5nJiB2YWx1ZSkKIHsKLSAgICBzdGF0aWMg
Y29uc3QgVUNoYXIgZGlzYWJsZVtdID0geyAnZCcsICdpJywgJ3MnLCAnYScsICdiJywgJ2wnLCAn
ZScgfTsKLSAgICBpZiAoc2tpcFN0cmluZyhzdGFydCwgZW5kLCBkaXNhYmxlLCBXVEZfQVJSQVlf
TEVOR1RIKGRpc2FibGUpKSkgewotICAgICAgICBtX3pvb21BbmRQYW4gPSBTVkdab29tQW5kUGFu
RGlzYWJsZTsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQorICAgIGlmICghbmFtZS5tYXRj
aGVzKFNWR05hbWVzOjp6b29tQW5kUGFuQXR0cikpCisgICAgICAgIHJldHVybiB7IH07CiAKLSAg
ICBzdGF0aWMgY29uc3QgVUNoYXIgbWFnbmlmeVtdID0geyAnbScsICdhJywgJ2cnLCAnbicsICdp
JywgJ2YnLCAneScgfTsKLSAgICBpZiAoc2tpcFN0cmluZyhzdGFydCwgZW5kLCBtYWduaWZ5LCBX
VEZfQVJSQVlfTEVOR1RIKG1hZ25pZnkpKSkgewotICAgICAgICBtX3pvb21BbmRQYW4gPSBTVkda
b29tQW5kUGFuTWFnbmlmeTsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotCi0gICAgcmV0
dXJuIGZhbHNlOwotfQotCi12b2lkIFNWR1pvb21BbmRQYW46OnBhcnNlQXR0cmlidXRlKGNvbnN0
IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUsIGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUp
Ci17Ci0gICAgaWYgKGF0dHJpYnV0ZU5hbWUgIT0gU1ZHTmFtZXM6Onpvb21BbmRQYW5BdHRyKQot
ICAgICAgICByZXR1cm47Ci0gICAgbV96b29tQW5kUGFuID0gU1ZHUHJvcGVydHlUcmFpdHM8U1ZH
Wm9vbUFuZFBhblR5cGU+Ojpmcm9tU3RyaW5nKHZhbHVlKTsKKyAgICBhdXRvIGV4cGVjdGVkWm9v
bUFuZFBhbiA9IFNWR1Byb3BlcnR5VHJhaXRzPFNWR1pvb21BbmRQYW5UeXBlPjo6cGFyc2UodmFs
dWUpOworICAgIGlmICghZXhwZWN0ZWRab29tQW5kUGFuKQorICAgICAgICByZXR1cm4gZXhwZWN0
ZWRab29tQW5kUGFuLmVycm9yKCk7CisgICAgCisgICAgbV96b29tQW5kUGFuID0gKmV4cGVjdGVk
Wm9vbUFuZFBhbjsKKyAgICByZXR1cm4gTm9FcnJvcjsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1pvb21BbmRQYW4uaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkda
b29tQW5kUGFuLmgKaW5kZXggOWZiY2ZiMDlhYzNhZDAxNmI4ZmUyZDI5MmRhYjIzNTYyYTUyNTRh
Ny4uOTA2MzhmOTEwOGJjOTViYTY5MDY3ZTdhN2UyNWIwYzg5OGRhNmMxZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1pvb21BbmRQYW4uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHWm9vbUFuZFBhbi5oCkBAIC0yMyw4ICsyMyw4IEBACiAKICNpbmNsdWRlICJFeGNlcHRp
b25Pci5oIgogI2luY2x1ZGUgIlF1YWxpZmllZE5hbWUuaCIKKyNpbmNsdWRlICJTVkdFbnVtVHlw
ZS5oIgogI2luY2x1ZGUgIlNWR05hbWVzLmgiCi0jaW5jbHVkZSAiU1ZHWm9vbUFuZFBhblR5cGUu
aCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00MSwxNyArNDEsMTUgQEAgcHVibGljOgog
ICAgIFNWR1pvb21BbmRQYW5UeXBlIHpvb21BbmRQYW4oKSBjb25zdCB7IHJldHVybiBtX3pvb21B
bmRQYW47IH0KICAgICB2b2lkIHNldFpvb21BbmRQYW4oU1ZHWm9vbUFuZFBhblR5cGUgem9vbUFu
ZFBhbikgeyBtX3pvb21BbmRQYW4gPSB6b29tQW5kUGFuOyB9CiAgICAgRXhjZXB0aW9uT3I8dm9p
ZD4gc2V0Wm9vbUFuZFBhbih1bnNpZ25lZCkgeyByZXR1cm4gRXhjZXB0aW9uIHsgTm9Nb2RpZmlj
YXRpb25BbGxvd2VkRXJyb3IgfTsgfQotICAgIHZvaWQgcmVzZXQoKSB7IG1fem9vbUFuZFBhbiA9
IFNWR1Byb3BlcnR5VHJhaXRzPFNWR1pvb21BbmRQYW5UeXBlPjo6aW5pdGlhbFZhbHVlKCk7IH0K
KyAgICB2b2lkIHJlc2V0KCkgeyBtX3pvb21BbmRQYW4gPSBTVkdab29tQW5kUGFuTWFnbmlmeTsg
fQogCi0gICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3Qg
QXRvbWljU3RyaW5nJik7CisgICAgT3B0aW9uYWw8U1ZHUGFyc2luZ0Vycm9yPiBwYXJzZUF0dHJp
YnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJik7CiAKIHByb3Rl
Y3RlZDoKICAgICBTVkdab29tQW5kUGFuKCkgPSBkZWZhdWx0OwogCi0gICAgYm9vbCBwYXJzZVpv
b21BbmRQYW4oY29uc3QgVUNoYXIqJiwgY29uc3QgVUNoYXIqKTsKLQogcHJpdmF0ZToKLSAgICBT
Vkdab29tQW5kUGFuVHlwZSBtX3pvb21BbmRQYW4geyBTVkdQcm9wZXJ0eVRyYWl0czxTVkdab29t
QW5kUGFuVHlwZT46OmluaXRpYWxWYWx1ZSgpIH07CisgICAgU1ZHWm9vbUFuZFBhblR5cGUgbV96
b29tQW5kUGFuIHsgU1ZHWm9vbUFuZFBhbk1hZ25pZnkgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdab29tQW5kUGFuVHlw
ZS5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1pvb21BbmRQYW5UeXBlLmgKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDEyMGZhOTNmNjM3NjZkMzI3MDE1YWU2MTkxNjk3MGU1Yzg2YWY2
NmEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1pvb21BbmRQYW5UeXBlLmgKKysrIC9kZXYvbnVsbApAQCAtMSw1MiAr
MCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0g
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
LSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0g
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNw
cmFnbWEgb25jZQotCi0jaW5jbHVkZSAiU1ZHUHJvcGVydHlUcmFpdHMuaCIKLQotbmFtZXNwYWNl
IFdlYkNvcmUgewotCi1lbnVtIFNWR1pvb21BbmRQYW5UeXBlIHsKLSAgICBTVkdab29tQW5kUGFu
VW5rbm93biwKLSAgICBTVkdab29tQW5kUGFuRGlzYWJsZSwKLSAgICBTVkdab29tQW5kUGFuTWFn
bmlmeQotfTsKLQotdGVtcGxhdGU8Pgotc3RydWN0IFNWR1Byb3BlcnR5VHJhaXRzPFNWR1pvb21B
bmRQYW5UeXBlPiB7Ci0gICAgc3RhdGljIFNWR1pvb21BbmRQYW5UeXBlIGluaXRpYWxWYWx1ZSgp
IHsgcmV0dXJuIFNWR1pvb21BbmRQYW5NYWduaWZ5OyB9Ci0gICAgc3RhdGljIFN0cmluZyB0b1N0
cmluZyhTVkdab29tQW5kUGFuVHlwZSkgeyByZXR1cm4gZW1wdHlTdHJpbmcoKTsgfQotICAgIHN0
YXRpYyBTVkdab29tQW5kUGFuVHlwZSBmcm9tU3RyaW5nKGNvbnN0IFN0cmluZyYgdmFsdWUpCi0g
ICAgewotICAgICAgICBpZiAodmFsdWUgPT0gImRpc2FibGUiKQotICAgICAgICAgICAgcmV0dXJu
IFNWR1pvb21BbmRQYW5EaXNhYmxlOwotICAgICAgICBpZiAodmFsdWUgPT0gIm1hZ25pZnkiKQot
ICAgICAgICAgICAgcmV0dXJuIFNWR1pvb21BbmRQYW5NYWduaWZ5OwotICAgICAgICByZXR1cm4g
U1ZHWm9vbUFuZFBhblVua25vd247Ci0gICAgfQotfTsKLQotfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHRGVjb3JhdGVkRW51bWVyYXRpb24uaCBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0RlY29yYXRlZEVudW1lcmF0aW9uLmgKaW5kZXgg
MjY0YzM2YjY5MDc0Y2NmM2UyZTI5ZDI2NzcyMWNmNTM3NDU3MDMxMS4uMTA2YmNkZTQ1NWJjNzQ4
ZjUyZDYyY2I2MzFjZDNjNDJjZmFkYjc0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3Zn
L3Byb3BlcnRpZXMvU1ZHRGVjb3JhdGVkRW51bWVyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvcHJvcGVydGllcy9TVkdEZWNvcmF0ZWRFbnVtZXJhdGlvbi5oCkBAIC0yNiw2ICsyNiw3
IEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgIlNWR0RlY29yYXRlZFByaW1pdGl2ZS5oIgor
I2luY2x1ZGUgIlNWR0VudW1UcmFpdHMuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00
NSw3ICs0Niw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgYm9vbCBzZXRWYWx1ZShjb25zdCBE
ZWNvcmF0aW9uVHlwZSYgdmFsdWUpIG92ZXJyaWRlCiAgICAgewotICAgICAgICBpZiAoIXZhbHVl
IHx8IHZhbHVlID4gU1ZHSURMRW51bUxpbWl0czxFbnVtVHlwZT46OmhpZ2hlc3RFeHBvc2VkRW51
bVZhbHVlKCkpCisgICAgICAgIGlmICghU1ZHUHJvcGVydHlUcmFpdHM8RW51bVR5cGU+Ojppc1Zh
bGlkRW51bSh2YWx1ZSkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIEJhc2U6
OnNldFZhbHVlSW50ZXJuYWwodmFsdWUpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKQEAgLTUzLDcg
KzU0LDcgQEAgcHJpdmF0ZToKIAogICAgIERlY29yYXRpb25UeXBlIHZhbHVlKCkgY29uc3Qgb3Zl
cnJpZGUKICAgICB7Ci0gICAgICAgIGlmIChCYXNlOjp2YWx1ZSgpID4gU1ZHSURMRW51bUxpbWl0
czxFbnVtVHlwZT46OmhpZ2hlc3RFeHBvc2VkRW51bVZhbHVlKCkpCisgICAgICAgIGlmICghU1ZH
UHJvcGVydHlUcmFpdHM8RW51bVR5cGU+Ojppc1ZhbGlkRW51bShCYXNlOjp2YWx1ZSgpKSkKICAg
ICAgICAgICAgIHJldHVybiBtX291dE9mUmFuZ2VFbnVtVmFsdWU7CiAgICAgICAgIHJldHVybiBC
YXNlOjp2YWx1ZSgpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9w
ZXJ0aWVzL1NWR0RlY29yYXRlZFByaW1pdGl2ZS5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3Bl
cnRpZXMvU1ZHRGVjb3JhdGVkUHJpbWl0aXZlLmgKaW5kZXggZTJhNTI0MzEyNGYwNzNmODVhZDhk
ZDZhOTZkZjRhNjUzNTBiNjdjOC4uZmQyNDNhMTdkMmI2ZjMyMDU1YWE2OWUyNjEyMDQ3OWRkODg5
YTk1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHRGVjb3Jh
dGVkUHJpbWl0aXZlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHRGVj
b3JhdGVkUHJpbWl0aXZlLmgKQEAgLTI2LDYgKzI2LDcgQEAKICNwcmFnbWEgb25jZQogCiAjaW5j
bHVkZSAiU1ZHRGVjb3JhdGVkUHJvcGVydHkuaCIKKyNpbmNsdWRlICJTVkdFbnVtVHlwZVRyYWl0
cy5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9wcm9wZXJ0aWVzL1NWR0VudW1UcmFpdHMuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9w
ZXJ0aWVzL1NWR0VudW1UcmFpdHMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45Y2IzNDY0OTE5OTZiNGIwM2EwZmY4
ODgxOTc5ODc2YjAyMjA2YjQ5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvc3Zn
L3Byb3BlcnRpZXMvU1ZHRW51bVRyYWl0cy5oCkBAIC0wLDAgKzEsNzUgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycn
IEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwK
KyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNs
dWRlICJTVkdQYXJzaW5nRXJyb3IuaCIKKyNpbmNsdWRlICJTVkdQcm9wZXJ0eVRyYWl0cy5oIgor
I2luY2x1ZGUgPHd0Zi9FeHBlY3RlZC5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCit0ZW1wbGF0ZTx0eXBlbmFtZT4gc3RydWN0IFNWR0VudW1UcmFp
dHM7CisKK3RlbXBsYXRlPHR5cGVuYW1lIEVudW1UeXBlPiB1c2luZyBTVkdFbnVtVmFsdWUgPSBz
dGQ6OnBhaXI8RW51bVR5cGUsIFN0cmluZz47CisKK3RlbXBsYXRlPHR5cGVuYW1lIEVudW1UeXBl
PiB1c2luZyBTVkdFbnVtVmFsdWVzID0gVmVjdG9yPFNWR0VudW1WYWx1ZTxFbnVtVHlwZT4+Owor
Cit0ZW1wbGF0ZTx0eXBlbmFtZSBFbnVtVHlwZT4KK3N0cnVjdCBTVkdQcm9wZXJ0eVRyYWl0czxF
bnVtVHlwZSwgc3RkOjplbmFibGVfaWZfdDxzdGQ6OmlzX2VudW08RW51bVR5cGU+Ojp2YWx1ZT4+
IHsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgorICAgIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBp
c1ZhbGlkRW51bShUIHQpCisgICAgeworICAgICAgICBzdGF0aWNfYXNzZXJ0KHNpemVvZihUKSA+
PSBzdGQ6OnVuZGVybHlpbmdfdHlwZV90PEVudW1UeXBlPigpLCAiSW50ZWdyYWwgdHlwZSBtdXN0
IGJlIGF0IGxlYXN0IHRoZSBzaXplIG9mIHRoZSB1bmRlcmx5aW5nIGVudW0gdHlwZSIpOworICAg
IAorICAgICAgICBpZiAodCA+IHN0YXRpY19jYXN0PFQ+KFNWR0VudW1UcmFpdHM8RW51bVR5cGU+
OjpoaWdoZXN0RXhwb3NlZEVudW1WYWx1ZSgpKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICAgICAgcmV0dXJuIFNWR0VudW1UcmFpdHM8RW51bVR5cGU+Ojp2YWx1ZXMoKS5maW5kTWF0
Y2hpbmcoWyZdKGF1dG8mIGl0ZW0pIHsKKyAgICAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxU
PihpdGVtLmZpcnN0KSA9PSB0OworICAgICAgICB9KSAhPSBub3RGb3VuZDsKKyAgICB9CisKKyAg
ICBzdGF0aWMgY29uc3RleHByIEV4cGVjdGVkPEVudW1UeXBlLCBTVkdQYXJzaW5nRXJyb3I+IHBh
cnNlKGNvbnN0IFN0cmluZyYgc3RyaW5nKQorICAgIHsKKyAgICAgICAgYXV0byBmaW5kID0gU1ZH
RW51bVRyYWl0czxFbnVtVHlwZT46OnZhbHVlcygpLmZpbmRNYXRjaGluZyhbJl0oYXV0byYgaXRl
bSkgeworICAgICAgICAgICAgcmV0dXJuIGl0ZW0uc2Vjb25kID09IHN0cmluZzsKKyAgICAgICAg
fSk7CisgICAgICAgIGlmIChmaW5kICE9IG5vdEZvdW5kKQorICAgICAgICAgICAgcmV0dXJuIFNW
R0VudW1UcmFpdHM8RW51bVR5cGU+Ojp2YWx1ZXMoKVtmaW5kXS5maXJzdDsKKyAgICAgICAgcmV0
dXJuIG1ha2VVbmV4cGVjdGVkKFVucmVjb2duaXplZEVudW1WYWx1ZUVycm9yKTsKKyAgICB9Cisg
ICAgc3RhdGljIGNvbnN0ZXhwciBFbnVtVHlwZSBmcm9tU3RyaW5nKGNvbnN0IFN0cmluZyYgc3Ry
aW5nKSB7IHJldHVybiBwYXJzZShzdHJpbmcpLnZhbHVlX29yKDApOyB9CisKKyAgICBzdGF0aWMg
U3RyaW5nIHRvU3RyaW5nKEVudW1UeXBlIHZhbHVlKQorICAgIHsKKyAgICAgICAgYXV0byBmaW5k
ID0gU1ZHRW51bVRyYWl0czxFbnVtVHlwZT46OnZhbHVlcygpLmZpbmRNYXRjaGluZyhbJl0oYXV0
byYgaXRlbSkgeworICAgICAgICAgICAgcmV0dXJuIGl0ZW0uZmlyc3QgPT0gdmFsdWU7CisgICAg
ICAgIH0pOworICAgICAgICByZXR1cm4gZmluZCAhPSBub3RGb3VuZCA/IFNWR0VudW1UcmFpdHM8
RW51bVR5cGU+Ojp2YWx1ZXMoKVtmaW5kXS5zZWNvbmQgOiBlbXB0eVN0cmluZygpOworICAgIH0K
K307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0Vu
dW1UeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdFbnVtVHlwZS5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmU2MTg3YTM4Nzc0NzU1ZGIxODgwOTZlNGQ4NTQ0NTBhMWEyZWU0ZGQKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdFbnVtVHlwZS5o
CkBAIC0wLDAgKzEsODAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiAg
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI3ByYWdtYSBvbmNlCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworZW51bSBTVkdM
ZW5ndGhBZGp1c3RUeXBlIHsKKyAgICBTVkdMZW5ndGhBZGp1c3RVbmtub3duLAorICAgIFNWR0xl
bmd0aEFkanVzdFNwYWNpbmcsCisgICAgU1ZHTGVuZ3RoQWRqdXN0U3BhY2luZ0FuZEdseXBocwor
fTsKKworZW51bSBTVkdNYXJrZXJVbml0c1R5cGUgeworICAgIFNWR01hcmtlclVuaXRzVW5rbm93
biA9IDAsCisgICAgU1ZHTWFya2VyVW5pdHNVc2VyU3BhY2VPblVzZSwKKyAgICBTVkdNYXJrZXJV
bml0c1N0cm9rZVdpZHRoCit9OworCitlbnVtIFNWR01hcmtlck9yaWVudFR5cGUgeworICAgIFNW
R01hcmtlck9yaWVudFVua25vd24gPSAwLAorICAgIFNWR01hcmtlck9yaWVudEF1dG8sCisgICAg
U1ZHTWFya2VyT3JpZW50QW5nbGUsCisgICAgU1ZHTWFya2VyT3JpZW50QXV0b1N0YXJ0UmV2ZXJz
ZQorfTsKKworZW51bSBTVkdTcHJlYWRNZXRob2RUeXBlIHsKKyAgICBTVkdTcHJlYWRNZXRob2RV
bmtub3duID0gMCwKKyAgICBTVkdTcHJlYWRNZXRob2RQYWQsCisgICAgU1ZHU3ByZWFkTWV0aG9k
UmVmbGVjdCwKKyAgICBTVkdTcHJlYWRNZXRob2RSZXBlYXQKK307CisKK2VudW0gU1ZHU3RpdGNo
T3B0aW9ucyB7CisgICAgU1ZHU3RpdGNoVHlwZVVua25vd24gID0gMCwKKyAgICBTVkdTdGl0Y2hU
eXBlU3RpdGNoLAorICAgIFNWR1N0aXRjaFR5cGVOb1N0aXRjaAorfTsKKworZW51bSBTVkdUZXh0
UGF0aE1ldGhvZFR5cGUgeworICAgIFNWR1RleHRQYXRoTWV0aG9kVW5rbm93biA9IDAsCisgICAg
U1ZHVGV4dFBhdGhNZXRob2RBbGlnbiwKKyAgICBTVkdUZXh0UGF0aE1ldGhvZFN0cmV0Y2gKK307
CisKK2VudW0gU1ZHVGV4dFBhdGhTcGFjaW5nVHlwZSB7CisgICAgU1ZHVGV4dFBhdGhTcGFjaW5n
VW5rbm93biA9IDAsCisgICAgU1ZHVGV4dFBhdGhTcGFjaW5nQXV0bywKKyAgICBTVkdUZXh0UGF0
aFNwYWNpbmdFeGFjdAorfTsKKworZW51bSBTVkdab29tQW5kUGFuVHlwZSB7CisgICAgU1ZHWm9v
bUFuZFBhblVua25vd24gPSAwLAorICAgIFNWR1pvb21BbmRQYW5EaXNhYmxlLAorICAgIFNWR1pv
b21BbmRQYW5NYWduaWZ5Cit9OworCit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3Zn
L3Byb3BlcnRpZXMvU1ZHRW51bVR5cGVUcmFpdHMuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9w
ZXJ0aWVzL1NWR0VudW1UeXBlVHJhaXRzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzE1Zjk1NTZmYTAwZjE3ZTkw
ODFjMjIwMjMyMmM3Y2E1ZjIyZTNhOQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9wcm9wZXJ0aWVzL1NWR0VudW1UeXBlVHJhaXRzLmgKQEAgLTAsMCArMSwyNzQgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNl
CisKKyNpbmNsdWRlICJGRUNvbG9yTWF0cml4LmgiCisjaW5jbHVkZSAiRkVDb21wb25lbnRUcmFu
c2Zlci5oIgorI2luY2x1ZGUgIkZFQ29tcG9zaXRlLmgiCisjaW5jbHVkZSAiRkVDb252b2x2ZU1h
dHJpeC5oIgorI2luY2x1ZGUgIkZFRGlzcGxhY2VtZW50TWFwLmgiCisjaW5jbHVkZSAiRkVNb3Jw
aG9sb2d5LmgiCisjaW5jbHVkZSAiRkVUdXJidWxlbmNlLmgiCisjaW5jbHVkZSAiU1ZHRW51bVRy
YWl0cy5oIgorI2luY2x1ZGUgIlNWR0VudW1UeXBlLmgiCisjaW5jbHVkZSAiU1ZHVW5pdFR5cGVz
LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgU1ZHRW51bVRy
YWl0czxCbGVuZE1vZGU+IHsKKyAgICBzdGF0aWMgY29uc3QgU1ZHRW51bVZhbHVlczxCbGVuZE1v
ZGU+JiB2YWx1ZXMoKQorICAgIHsKKyAgICAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFNWR0Vu
dW1WYWx1ZXM8QmxlbmRNb2RlPj4gdmFsdWVzKHN0ZDo6aW5pdGlhbGl6ZXJfbGlzdDxTVkdFbnVt
VmFsdWU8QmxlbmRNb2RlPj4geworICAgICAgICAgICAgeyBCbGVuZE1vZGU6Ok5vcm1hbCwgICAg
ICJub3JtYWwiX3MgfSwKKyAgICAgICAgICAgIHsgQmxlbmRNb2RlOjpNdWx0aXBseSwgICAibXVs
dGlwbHkiX3MgfSwKKyAgICAgICAgICAgIHsgQmxlbmRNb2RlOjpTY3JlZW4sICAgICAic2NyZWVu
Il9zIH0sCisgICAgICAgICAgICB7IEJsZW5kTW9kZTo6RGFya2VuLCAgICAgImRhcmtlbiJfcyB9
LAorICAgICAgICAgICAgeyBCbGVuZE1vZGU6OkxpZ2h0ZW4sICAgICJsaWdodGVuIl9zIH0sCisg
ICAgICAgICAgICB7IEJsZW5kTW9kZTo6T3ZlcmxheSwgICAgIm92ZXJsYXkiX3MgfSwKKyAgICAg
ICAgICAgIHsgQmxlbmRNb2RlOjpDb2xvckRvZGdlLCAiY29sb3ItZG9kZ2UiX3MgfSwKKyAgICAg
ICAgICAgIHsgQmxlbmRNb2RlOjpDb2xvckJ1cm4sICAiY29sb3ItYnVybiJfcyB9LAorICAgICAg
ICAgICAgeyBCbGVuZE1vZGU6OkhhcmRMaWdodCwgICJoYXJkLWxpZ2h0Il9zIH0sCisgICAgICAg
ICAgICB7IEJsZW5kTW9kZTo6U29mdExpZ2h0LCAgInNvZnQtbGlnaHQiX3MgfSwKKyAgICAgICAg
ICAgIHsgQmxlbmRNb2RlOjpEaWZmZXJlbmNlLCAiZGlmZmVyZW5jZSJfcyB9LAorICAgICAgICAg
ICAgeyBCbGVuZE1vZGU6OkV4Y2x1c2lvbiwgICJleGNsdXNpb24iX3MgfSwKKyAgICAgICAgICAg
IHsgQmxlbmRNb2RlOjpIdWUsICAgICAgICAiaHVlIl9zIH0sCisgICAgICAgICAgICB7IEJsZW5k
TW9kZTo6U2F0dXJhdGlvbiwgInNhdHVyYXRpb24iX3MgfSwKKyAgICAgICAgICAgIHsgQmxlbmRN
b2RlOjpDb2xvciwgICAgICAiY29sb3IiX3MgfSwKKyAgICAgICAgICAgIHsgQmxlbmRNb2RlOjpM
dW1pbm9zaXR5LCAibHVtaW5vc2l0eSJfcyB9CisgICAgICAgIH0pOworICAgICAgICByZXR1cm4g
dmFsdWVzOworICAgIH0KKyAgICBzdGF0aWMgY29uc3RleHByIGF1dG8gaGlnaGVzdEV4cG9zZWRF
bnVtVmFsdWUoKSB7IHJldHVybiBCbGVuZE1vZGU6Okx1bWlub3NpdHk7IH0KK307CisKK3RlbXBs
YXRlPD4gc3RydWN0IFNWR0VudW1UcmFpdHM8Q2hhbm5lbFNlbGVjdG9yVHlwZT4geworICAgIHN0
YXRpYyBjb25zdCBTVkdFbnVtVmFsdWVzPENoYW5uZWxTZWxlY3RvclR5cGU+JiB2YWx1ZXMoKQor
ICAgIHsKKyAgICAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFNWR0VudW1WYWx1ZXM8Q2hhbm5l
bFNlbGVjdG9yVHlwZT4+IHZhbHVlcyhzdGQ6OmluaXRpYWxpemVyX2xpc3Q8U1ZHRW51bVZhbHVl
PENoYW5uZWxTZWxlY3RvclR5cGU+PiB7CisgICAgICAgICAgICB7IENIQU5ORUxfUiwgICAgICAg
IlIiX3MgfSwKKyAgICAgICAgICAgIHsgQ0hBTk5FTF9HLCAgICAgICAiRyJfcyB9LAorICAgICAg
ICAgICAgeyBDSEFOTkVMX0IsICAgICAgICJCIl9zIH0sCisgICAgICAgICAgICB7IENIQU5ORUxf
QSwgICAgICAgIkEiX3MgfQorICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJuIHZhbHVlczsKKyAg
ICB9CisgICAgc3RhdGljIGNvbnN0ZXhwciBhdXRvIGhpZ2hlc3RFeHBvc2VkRW51bVZhbHVlKCkg
eyByZXR1cm4gQ0hBTk5FTF9BOyB9Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBTVkdFbnVtVHJh
aXRzPENvbXBvbmVudFRyYW5zZmVyVHlwZT4geworICAgIHN0YXRpYyBjb25zdCBTVkdFbnVtVmFs
dWVzPENvbXBvbmVudFRyYW5zZmVyVHlwZT4mIHZhbHVlcygpCisgICAgeworICAgICAgICBzdGF0
aWMgTmV2ZXJEZXN0cm95ZWQ8U1ZHRW51bVZhbHVlczxDb21wb25lbnRUcmFuc2ZlclR5cGU+PiB2
YWx1ZXMoc3RkOjppbml0aWFsaXplcl9saXN0PFNWR0VudW1WYWx1ZTxDb21wb25lbnRUcmFuc2Zl
clR5cGU+PiB7CisgICAgICAgICAgICB7IEZFQ09NUE9ORU5UVFJBTlNGRVJfVFlQRV9JREVOVElU
WSwgImlkZW50aXR5Il9zIH0sCisgICAgICAgICAgICB7IEZFQ09NUE9ORU5UVFJBTlNGRVJfVFlQ
RV9UQUJMRSwgICAgInRhYmxlIl9zIH0sCisgICAgICAgICAgICB7IEZFQ09NUE9ORU5UVFJBTlNG
RVJfVFlQRV9ESVNDUkVURSwgImRpc2NyZXRlIl9zIH0sCisgICAgICAgICAgICB7IEZFQ09NUE9O
RU5UVFJBTlNGRVJfVFlQRV9MSU5FQVIsICAgImxpbmVhciJfcyB9LAorICAgICAgICAgICAgeyBG
RUNPTVBPTkVOVFRSQU5TRkVSX1RZUEVfR0FNTUEsICAgICJnYW1tYSJfcyB9CisgICAgICAgIH0p
OworICAgICAgICByZXR1cm4gdmFsdWVzOworICAgIH0KKyAgICBzdGF0aWMgY29uc3RleHByIGF1
dG8gaGlnaGVzdEV4cG9zZWRFbnVtVmFsdWUoKSB7IHJldHVybiBGRUNPTVBPTkVOVFRSQU5TRkVS
X1RZUEVfR0FNTUE7IH0KK307CisKK3RlbXBsYXRlPD4gc3RydWN0IFNWR0VudW1UcmFpdHM8Q29s
b3JNYXRyaXhUeXBlPiB7CisgICAgc3RhdGljIGNvbnN0IFNWR0VudW1WYWx1ZXM8Q29sb3JNYXRy
aXhUeXBlPiYgdmFsdWVzKCkKKyAgICB7CisgICAgICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxT
VkdFbnVtVmFsdWVzPENvbG9yTWF0cml4VHlwZT4+IHZhbHVlcyhzdGQ6OmluaXRpYWxpemVyX2xp
c3Q8U1ZHRW51bVZhbHVlPENvbG9yTWF0cml4VHlwZT4+IHsKKyAgICAgICAgICAgIHsgRkVDT0xP
Uk1BVFJJWF9UWVBFX01BVFJJWCwgICAgICAgICAgICJtYXRyaXgiX3MgfSwKKyAgICAgICAgICAg
IHsgRkVDT0xPUk1BVFJJWF9UWVBFX1NBVFVSQVRFLCAgICAgICAgICJzYXR1cmF0ZSJfcyB9LAor
ICAgICAgICAgICAgeyBGRUNPTE9STUFUUklYX1RZUEVfSFVFUk9UQVRFLCAgICAgICAgImh1ZVJv
dGF0ZSJfcyB9LAorICAgICAgICAgICAgeyBGRUNPTE9STUFUUklYX1RZUEVfTFVNSU5BTkNFVE9B
TFBIQSwgImx1bWluYW5jZVRvQWxwaGEiX3MgfSwKKyAgICAgICAgfSk7CisgICAgICAgIHJldHVy
biB2YWx1ZXM7CisgICAgfQorICAgIHN0YXRpYyBjb25zdGV4cHIgYXV0byBoaWdoZXN0RXhwb3Nl
ZEVudW1WYWx1ZSgpIHsgcmV0dXJuIEZFQ09MT1JNQVRSSVhfVFlQRV9MVU1JTkFOQ0VUT0FMUEhB
OyB9Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBTVkdFbnVtVHJhaXRzPENvbXBvc2l0ZU9wZXJh
dGlvblR5cGU+IHsKKyAgICBzdGF0aWMgY29uc3QgU1ZHRW51bVZhbHVlczxDb21wb3NpdGVPcGVy
YXRpb25UeXBlPiYgdmFsdWVzKCkKKyAgICB7CisgICAgICAgIHN0YXRpYyBOZXZlckRlc3Ryb3ll
ZDxTVkdFbnVtVmFsdWVzPENvbXBvc2l0ZU9wZXJhdGlvblR5cGU+PiB2YWx1ZXMoc3RkOjppbml0
aWFsaXplcl9saXN0PFNWR0VudW1WYWx1ZTxDb21wb3NpdGVPcGVyYXRpb25UeXBlPj4geworICAg
ICAgICAgICAgeyBGRUNPTVBPU0lURV9PUEVSQVRPUl9PVkVSLCAgICAgICAib3ZlciJfcyB9LAor
ICAgICAgICAgICAgeyBGRUNPTVBPU0lURV9PUEVSQVRPUl9JTiwgICAgICAgICAiaW4iX3MgfSwK
KyAgICAgICAgICAgIHsgRkVDT01QT1NJVEVfT1BFUkFUT1JfT1VULCAgICAgICAgIm91dCJfcyB9
LAorICAgICAgICAgICAgeyBGRUNPTVBPU0lURV9PUEVSQVRPUl9BVE9QLCAgICAgICAiYXRvcCJf
cyB9LAorICAgICAgICAgICAgeyBGRUNPTVBPU0lURV9PUEVSQVRPUl9YT1IsICAgICAgICAieG9y
Il9zIH0sCisgICAgICAgICAgICB7IEZFQ09NUE9TSVRFX09QRVJBVE9SX0FSSVRITUVUSUMsICJh
cml0aG1ldGljIl9zIH0sCisgICAgICAgICAgICB7IEZFQ09NUE9TSVRFX09QRVJBVE9SX0xJR0hU
RVIsICAgICJsaWdodGVyIl9zIH0sCisgICAgICAgIH0pOworICAgICAgICByZXR1cm4gdmFsdWVz
OworICAgIH0KKyAgICBzdGF0aWMgY29uc3RleHByIGF1dG8gaGlnaGVzdEV4cG9zZWRFbnVtVmFs
dWUoKSB7IHJldHVybiBGRUNPTVBPU0lURV9PUEVSQVRPUl9BUklUSE1FVElDOyB9Cit9OworCit0
ZW1wbGF0ZTw+IHN0cnVjdCBTVkdFbnVtVHJhaXRzPEVkZ2VNb2RlVHlwZT4geworICAgIHN0YXRp
YyBjb25zdCBTVkdFbnVtVmFsdWVzPEVkZ2VNb2RlVHlwZT4mIHZhbHVlcygpCisgICAgeworICAg
ICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8U1ZHRW51bVZhbHVlczxFZGdlTW9kZVR5cGU+PiB2
YWx1ZXMoc3RkOjppbml0aWFsaXplcl9saXN0PFNWR0VudW1WYWx1ZTxFZGdlTW9kZVR5cGU+PiB7
CisgICAgICAgICAgICB7IEVER0VNT0RFX0RVUExJQ0FURSwgImR1cGxpY2F0ZSJfcyB9LAorICAg
ICAgICAgICAgeyBFREdFTU9ERV9XUkFQLCAgICAgICJ3cmFwIl9zIH0sCisgICAgICAgICAgICB7
IEVER0VNT0RFX05PTkUsICAgICAgIm5vbmUiX3MgfSwKKyAgICAgICAgfSk7CisgICAgICAgIHJl
dHVybiB2YWx1ZXM7CisgICAgfQorICAgIHN0YXRpYyBjb25zdGV4cHIgYXV0byBoaWdoZXN0RXhw
b3NlZEVudW1WYWx1ZSgpIHsgcmV0dXJuIEVER0VNT0RFX05PTkU7IH0KK307CisKK3RlbXBsYXRl
PD4gc3RydWN0IFNWR0VudW1UcmFpdHM8TW9ycGhvbG9neU9wZXJhdG9yVHlwZT4geworICAgIHN0
YXRpYyBjb25zdCBTVkdFbnVtVmFsdWVzPE1vcnBob2xvZ3lPcGVyYXRvclR5cGU+JiB2YWx1ZXMo
KQorICAgIHsKKyAgICAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFNWR0VudW1WYWx1ZXM8TW9y
cGhvbG9neU9wZXJhdG9yVHlwZT4+IHZhbHVlcyhzdGQ6OmluaXRpYWxpemVyX2xpc3Q8U1ZHRW51
bVZhbHVlPE1vcnBob2xvZ3lPcGVyYXRvclR5cGU+PiB7CisgICAgICAgICAgICB7IEZFTU9SUEhP
TE9HWV9PUEVSQVRPUl9FUk9ERSwgICAiZXJvZGUiX3MgfSwKKyAgICAgICAgICAgIHsgRkVNT1JQ
SE9MT0dZX09QRVJBVE9SX0RJTEFURSwgICJkaWxhdGUiX3MgfSwKKyAgICAgICAgfSk7CisgICAg
ICAgIHJldHVybiB2YWx1ZXM7CisgICAgfQorICAgIHN0YXRpYyBjb25zdGV4cHIgYXV0byBoaWdo
ZXN0RXhwb3NlZEVudW1WYWx1ZSgpIHsgcmV0dXJuIEZFTU9SUEhPTE9HWV9PUEVSQVRPUl9ESUxB
VEU7IH0KK307CisKK3RlbXBsYXRlPD4gc3RydWN0IFNWR0VudW1UcmFpdHM8VHVyYnVsZW5jZVR5
cGU+IHsKKyAgICBzdGF0aWMgY29uc3QgU1ZHRW51bVZhbHVlczxUdXJidWxlbmNlVHlwZT4mIHZh
bHVlcygpCisgICAgeworICAgICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8U1ZHRW51bVZhbHVl
czxUdXJidWxlbmNlVHlwZT4+IHZhbHVlcyhzdGQ6OmluaXRpYWxpemVyX2xpc3Q8U1ZHRW51bVZh
bHVlPFR1cmJ1bGVuY2VUeXBlPj4geworICAgICAgICAgICAgeyBUdXJidWxlbmNlVHlwZTo6RnJh
Y3RhbE5vaXNlLCAiZnJhY3RhbE5vaXNlIl9zIH0sCisgICAgICAgICAgICB7IFR1cmJ1bGVuY2VU
eXBlOjpUdXJidWxlbmNlLCAgICJ0dXJidWxlbmNlIl9zIH0KKyAgICAgICAgfSk7CisgICAgICAg
IHJldHVybiB2YWx1ZXM7CisgICAgfQorICAgIHN0YXRpYyBjb25zdGV4cHIgYXV0byBoaWdoZXN0
RXhwb3NlZEVudW1WYWx1ZSgpIHsgcmV0dXJuIFR1cmJ1bGVuY2VUeXBlOjpUdXJidWxlbmNlOyB9
Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBTVkdFbnVtVHJhaXRzPFNWR0xlbmd0aEFkanVzdFR5
cGU+IHsKKyAgICBzdGF0aWMgY29uc3QgU1ZHRW51bVZhbHVlczxTVkdMZW5ndGhBZGp1c3RUeXBl
PiYgdmFsdWVzKCkKKyAgICB7CisgICAgICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxTVkdFbnVt
VmFsdWVzPFNWR0xlbmd0aEFkanVzdFR5cGU+PiB2YWx1ZXMoc3RkOjppbml0aWFsaXplcl9saXN0
PFNWR0VudW1WYWx1ZTxTVkdMZW5ndGhBZGp1c3RUeXBlPj4geworICAgICAgICAgICAgeyBTVkdM
ZW5ndGhBZGp1c3RTcGFjaW5nLCAgICAgICAgICAic3BhY2luZyJfcyB9LAorICAgICAgICAgICAg
eyBTVkdMZW5ndGhBZGp1c3RTcGFjaW5nQW5kR2x5cGhzLCAic3BhY2luZ0FuZEdseXBocyJfcyB9
CisgICAgICAgIH0pOworICAgICAgICByZXR1cm4gdmFsdWVzOworICAgIH0KKyAgICBzdGF0aWMg
Y29uc3RleHByIGF1dG8gaGlnaGVzdEV4cG9zZWRFbnVtVmFsdWUoKSB7IHJldHVybiBTVkdMZW5n
dGhBZGp1c3RTcGFjaW5nQW5kR2x5cGhzOyB9Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBTVkdF
bnVtVHJhaXRzPFNWR01hcmtlclVuaXRzVHlwZT4geworICAgIHN0YXRpYyBjb25zdCBTVkdFbnVt
VmFsdWVzPFNWR01hcmtlclVuaXRzVHlwZT4mIHZhbHVlcygpCisgICAgeworICAgICAgICBzdGF0
aWMgTmV2ZXJEZXN0cm95ZWQ8U1ZHRW51bVZhbHVlczxTVkdNYXJrZXJVbml0c1R5cGU+PiB2YWx1
ZXMoc3RkOjppbml0aWFsaXplcl9saXN0PFNWR0VudW1WYWx1ZTxTVkdNYXJrZXJVbml0c1R5cGU+
PiB7CisgICAgICAgICAgICB7IFNWR01hcmtlclVuaXRzVXNlclNwYWNlT25Vc2UsICJ1c2VyU3Bh
Y2VPblVzZSJfcyB9LAorICAgICAgICAgICAgeyBTVkdNYXJrZXJVbml0c1N0cm9rZVdpZHRoLCAg
ICAic3Ryb2tlV2lkdGgiX3MgfQorICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJuIHZhbHVlczsK
KyAgICB9CisgICAgc3RhdGljIGNvbnN0ZXhwciBhdXRvIGhpZ2hlc3RFeHBvc2VkRW51bVZhbHVl
KCkgeyByZXR1cm4gU1ZHTWFya2VyVW5pdHNTdHJva2VXaWR0aDsgfQorfTsKKwordGVtcGxhdGU8
PiBzdHJ1Y3QgU1ZHRW51bVRyYWl0czxTVkdNYXJrZXJPcmllbnRUeXBlPiB7CisgICAgc3RhdGlj
IGNvbnN0IFNWR0VudW1WYWx1ZXM8U1ZHTWFya2VyT3JpZW50VHlwZT4mIHZhbHVlcygpCisgICAg
eworICAgICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8U1ZHRW51bVZhbHVlczxTVkdNYXJrZXJP
cmllbnRUeXBlPj4gdmFsdWVzKHN0ZDo6aW5pdGlhbGl6ZXJfbGlzdDxTVkdFbnVtVmFsdWU8U1ZH
TWFya2VyT3JpZW50VHlwZT4+IHsKKyAgICAgICAgICAgIHsgU1ZHTWFya2VyT3JpZW50QXV0bywg
ICAgICAgICAgICAgImF1dG8iX3MgfSwKKyAgICAgICAgICAgIHsgU1ZHTWFya2VyT3JpZW50QW5n
bGUsICAgICAgICAgICAgZW1wdHlTdHJpbmcoKSB9LAorICAgICAgICAgICAgeyBTVkdNYXJrZXJP
cmllbnRBdXRvU3RhcnRSZXZlcnNlLCAiYXV0by1zdGFydC1yZXZlcnNlIl9zIH0KKyAgICAgICAg
fSk7CisgICAgICAgIHJldHVybiB2YWx1ZXM7CisgICAgfQorICAgIHN0YXRpYyBjb25zdGV4cHIg
YXV0byBoaWdoZXN0RXhwb3NlZEVudW1WYWx1ZSgpIHsgcmV0dXJuIFNWR01hcmtlck9yaWVudEFu
Z2xlOyB9Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBTVkdFbnVtVHJhaXRzPFNWR1NwcmVhZE1l
dGhvZFR5cGU+IHsKKyAgICBzdGF0aWMgY29uc3QgU1ZHRW51bVZhbHVlczxTVkdTcHJlYWRNZXRo
b2RUeXBlPiYgdmFsdWVzKCkKKyAgICB7CisgICAgICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxT
VkdFbnVtVmFsdWVzPFNWR1NwcmVhZE1ldGhvZFR5cGU+PiB2YWx1ZXMoc3RkOjppbml0aWFsaXpl
cl9saXN0PFNWR0VudW1WYWx1ZTxTVkdTcHJlYWRNZXRob2RUeXBlPj4geworICAgICAgICAgICAg
eyBTVkdTcHJlYWRNZXRob2RQYWQsICAgICAicGFkIl9zIH0sCisgICAgICAgICAgICB7IFNWR1Nw
cmVhZE1ldGhvZFJlZmxlY3QsICJyZWZsZWN0Il9zIH0sCisgICAgICAgICAgICB7IFNWR1NwcmVh
ZE1ldGhvZFJlcGVhdCwgICJyZXBlYXQiX3MgfQorICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJu
IHZhbHVlczsKKyAgICB9CisgICAgc3RhdGljIGNvbnN0ZXhwciBhdXRvIGhpZ2hlc3RFeHBvc2Vk
RW51bVZhbHVlKCkgeyByZXR1cm4gU1ZHU3ByZWFkTWV0aG9kUmVwZWF0OyB9Cit9OworCit0ZW1w
bGF0ZTw+IHN0cnVjdCBTVkdFbnVtVHJhaXRzPFNWR1N0aXRjaE9wdGlvbnM+IHsKKyAgICBzdGF0
aWMgY29uc3QgU1ZHRW51bVZhbHVlczxTVkdTdGl0Y2hPcHRpb25zPiYgdmFsdWVzKCkKKyAgICB7
CisgICAgICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxTVkdFbnVtVmFsdWVzPFNWR1N0aXRjaE9w
dGlvbnM+PiB2YWx1ZXMoc3RkOjppbml0aWFsaXplcl9saXN0PFNWR0VudW1WYWx1ZTxTVkdTdGl0
Y2hPcHRpb25zPj4geworICAgICAgICAgICAgeyBTVkdTdGl0Y2hUeXBlU3RpdGNoLCAgICJzdGl0
Y2giX3MgfSwKKyAgICAgICAgICAgIHsgU1ZHU3RpdGNoVHlwZU5vU3RpdGNoLCAibm9TdGl0Y2gi
X3MgfQorICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJuIHZhbHVlczsKKyAgICB9CisgICAgc3Rh
dGljIGNvbnN0ZXhwciBhdXRvIGhpZ2hlc3RFeHBvc2VkRW51bVZhbHVlKCkgeyByZXR1cm4gU1ZH
U3RpdGNoVHlwZU5vU3RpdGNoOyB9Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBTVkdFbnVtVHJh
aXRzPFNWR1RleHRQYXRoTWV0aG9kVHlwZT4geworICAgIHN0YXRpYyBjb25zdCBTVkdFbnVtVmFs
dWVzPFNWR1RleHRQYXRoTWV0aG9kVHlwZT4mIHZhbHVlcygpCisgICAgeworICAgICAgICBzdGF0
aWMgTmV2ZXJEZXN0cm95ZWQ8U1ZHRW51bVZhbHVlczxTVkdUZXh0UGF0aE1ldGhvZFR5cGU+PiB2
YWx1ZXMoc3RkOjppbml0aWFsaXplcl9saXN0PFNWR0VudW1WYWx1ZTxTVkdUZXh0UGF0aE1ldGhv
ZFR5cGU+PiB7CisgICAgICAgICAgICB7IFNWR1RleHRQYXRoTWV0aG9kQWxpZ24sICAgImFsaWdu
Il9zIH0sCisgICAgICAgICAgICB7IFNWR1RleHRQYXRoTWV0aG9kU3RyZXRjaCwgInN0cmV0Y2gi
X3MgfQorICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJuIHZhbHVlczsKKyAgICB9CisgICAgc3Rh
dGljIGNvbnN0ZXhwciBhdXRvIGhpZ2hlc3RFeHBvc2VkRW51bVZhbHVlKCkgeyByZXR1cm4gU1ZH
VGV4dFBhdGhNZXRob2RTdHJldGNoOyB9Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBTVkdFbnVt
VHJhaXRzPFNWR1RleHRQYXRoU3BhY2luZ1R5cGU+IHsKKyAgICBzdGF0aWMgY29uc3QgU1ZHRW51
bVZhbHVlczxTVkdUZXh0UGF0aFNwYWNpbmdUeXBlPiYgdmFsdWVzKCkKKyAgICB7CisgICAgICAg
IHN0YXRpYyBOZXZlckRlc3Ryb3llZDxTVkdFbnVtVmFsdWVzPFNWR1RleHRQYXRoU3BhY2luZ1R5
cGU+PiB2YWx1ZXMoc3RkOjppbml0aWFsaXplcl9saXN0PFNWR0VudW1WYWx1ZTxTVkdUZXh0UGF0
aFNwYWNpbmdUeXBlPj4geworICAgICAgICAgICAgeyBTVkdUZXh0UGF0aFNwYWNpbmdBdXRvLCAg
ICAiYXV0byJfcyB9LAorICAgICAgICAgICAgeyBTVkdUZXh0UGF0aFNwYWNpbmdFeGFjdCwgICAi
ZXhhY3QiX3MgfQorICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJuIHZhbHVlczsKKyAgICB9Cisg
ICAgc3RhdGljIGNvbnN0ZXhwciBhdXRvIGhpZ2hlc3RFeHBvc2VkRW51bVZhbHVlKCkgeyByZXR1
cm4gU1ZHVGV4dFBhdGhTcGFjaW5nRXhhY3Q7IH0KK307CisKK3RlbXBsYXRlPD4gc3RydWN0IFNW
R0VudW1UcmFpdHM8U1ZHVW5pdFR5cGVzOjpTVkdVbml0VHlwZT4geworICAgIHN0YXRpYyBjb25z
dCBTVkdFbnVtVmFsdWVzPFNWR1VuaXRUeXBlczo6U1ZHVW5pdFR5cGU+JiB2YWx1ZXMoKQorICAg
IHsKKyAgICAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFNWR0VudW1WYWx1ZXM8U1ZHVW5pdFR5
cGVzOjpTVkdVbml0VHlwZT4+IHZhbHVlcyhzdGQ6OmluaXRpYWxpemVyX2xpc3Q8U1ZHRW51bVZh
bHVlPFNWR1VuaXRUeXBlczo6U1ZHVW5pdFR5cGU+PiB7CisgICAgICAgICAgICB7IFNWR1VuaXRU
eXBlczo6U1ZHX1VOSVRfVFlQRV9VU0VSU1BBQ0VPTlVTRSwgICAgInVzZXJTcGFjZU9uVXNlIl9z
IH0sCisgICAgICAgICAgICB7IFNWR1VuaXRUeXBlczo6U1ZHX1VOSVRfVFlQRV9PQkpFQ1RCT1VO
RElOR0JPWCwgIm9iamVjdEJvdW5kaW5nQm94Il9zIH0KKyAgICAgICAgfSk7CisgICAgICAgIHJl
dHVybiB2YWx1ZXM7CisgICAgfQorICAgIHN0YXRpYyBjb25zdGV4cHIgYXV0byBoaWdoZXN0RXhw
b3NlZEVudW1WYWx1ZSgpIHsgcmV0dXJuIFNWR1VuaXRUeXBlczo6U1ZHX1VOSVRfVFlQRV9PQkpF
Q1RCT1VORElOR0JPWDsgfQorfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgU1ZHRW51bVRyYWl0czxT
Vkdab29tQW5kUGFuVHlwZT4geworICAgIHN0YXRpYyBjb25zdCBTVkdFbnVtVmFsdWVzPFNWR1pv
b21BbmRQYW5UeXBlPiYgdmFsdWVzKCkKKyAgICB7CisgICAgICAgIHN0YXRpYyBOZXZlckRlc3Ry
b3llZDxTVkdFbnVtVmFsdWVzPFNWR1pvb21BbmRQYW5UeXBlPj4gdmFsdWVzKHN0ZDo6aW5pdGlh
bGl6ZXJfbGlzdDxTVkdFbnVtVmFsdWU8U1ZHWm9vbUFuZFBhblR5cGU+PiB7CisgICAgICAgICAg
ICB7IFNWR1pvb21BbmRQYW5EaXNhYmxlLCAiZGlzYWJsZSJfcyB9LAorICAgICAgICAgICAgeyBT
Vkdab29tQW5kUGFuTWFnbmlmeSwgIm1hZ25pZnkiX3MgfQorICAgICAgICB9KTsKKyAgICAgICAg
cmV0dXJuIHZhbHVlczsKKyAgICB9CisgICAgc3RhdGljIGNvbnN0ZXhwciBhdXRvIGhpZ2hlc3RF
eHBvc2VkRW51bVZhbHVlKCkgeyByZXR1cm4gU1ZHWm9vbUFuZFBhbk1hZ25pZnk7IH0KK307CisK
K307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdQcmltaXRp
dmVMaXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdQcmltaXRpdmVMaXN0
LmgKaW5kZXggNDU3MzFhMzgwMzE2N2RkZTEzNmIzMWFlMzUxYTk4MGU3ZWM3MjY1OS4uYTA0ZmYz
ZDM0YzQ2OWM0YmQxMWE2ZTY3MzA1YWMzYjZkMGVjMWVjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHUHJpbWl0aXZlTGlzdC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1ByaW1pdGl2ZUxpc3QuaApAQCAtMjYsMTUgKzI2LDUwIEBA
CiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgIlNWR0xpc3QuaCIKKyNpbmNsdWRlICJTVkdQYXJz
ZXJVdGlsaXRpZXMuaCIKKyNpbmNsdWRlICJTVkdQYXJzaW5nRXJyb3IuaCIKKyNpbmNsdWRlICJT
VkdQcm9wZXJ0eVRyYWl0cy5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHRlbXBsYXRlPHR5
cGVuYW1lIFByb3BlcnR5VHlwZT4KIGNsYXNzIFNWR1ByaW1pdGl2ZUxpc3QgOiBwdWJsaWMgU1ZH
TGlzdDxQcm9wZXJ0eVR5cGU+IHsKLXByb3RlY3RlZDoKICAgICB1c2luZyBCYXNlID0gU1ZHTGlz
dDxQcm9wZXJ0eVR5cGU+OwogICAgIHVzaW5nIEJhc2U6OkJhc2U7CisgICAgdXNpbmcgQmFzZTo6
Y2xlYXJJdGVtczsKICAgICB1c2luZyBCYXNlOjpzaXplOworCitwdWJsaWM6CisgICAgU1ZHUGFy
c2luZ0Vycm9yIHBhcnNlKGNvbnN0IFN0cmluZyYgc3RyaW5nKQorICAgIHsKKyAgICAgICAgY2xl
YXJJdGVtcygpOworCisgICAgICAgIGF1dG8gdXBjb252ZXJ0ZWRDaGFyYWN0ZXJzID0gU3RyaW5n
VmlldyhzdHJpbmcpLnVwY29udmVydGVkQ2hhcmFjdGVycygpOworICAgICAgICBjb25zdCBVQ2hh
ciogcHRyID0gdXBjb252ZXJ0ZWRDaGFyYWN0ZXJzOworICAgICAgICBjb25zdCBVQ2hhciogZW5k
ID0gcHRyICsgc3RyaW5nLmxlbmd0aCgpOworCisgICAgICAgIGJvb2wgZGVsaW1QYXJzZWQgPSBm
YWxzZTsKKyAgICAgICAgd2hpbGUgKHNraXBPcHRpb25hbFNWR1NwYWNlcyhwdHIsIGVuZCkpIHsK
KyAgICAgICAgICAgIGRlbGltUGFyc2VkID0gZmFsc2U7CisKKyAgICAgICAgICAgIEFTU0VSVChw
dHIgPCBlbmQpOworICAgICAgICAgICAgY29uc3QgVUNoYXIqIHN0YXJ0ID0gcHRyOworICAgICAg
ICAgICAgd2hpbGUgKHB0ciA8IGVuZCAmJiAhaXNTVkdTcGFjZSgqcHRyKSkKKyAgICAgICAgICAg
ICAgICBwdHIrKzsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgQVNTRVJUKHB0ciA+IHN0YXJ0
KTsKKyAgICAgICAgICAgIGFwcGVuZChTVkdQcm9wZXJ0eVRyYWl0czxQcm9wZXJ0eVR5cGU+Ojpm
cm9tU3RyaW5nKFN0cmluZyhzdGFydCwgcHRyIC0gc3RhcnQpKSk7CisKKyAgICAgICAgICAgIGlm
IChwdHIgPCBlbmQgJiYgKnB0ciA9PSAnLCcpIHsKKyAgICAgICAgICAgICAgICArK3B0cjsKKyAg
ICAgICAgICAgICAgICBkZWxpbVBhcnNlZCA9IHRydWU7CisgICAgICAgICAgICB9CisgICAgICAg
IH0KKworICAgICAgICByZXR1cm4gZGVsaW1QYXJzZWQgPyBVbmV4cGVjdGVkRW5kT2ZBdHRyaWJ1
dGVFcnJvciA6IE5vRXJyb3I7CisgICAgfQorCitwcm90ZWN0ZWQ6CiAgICAgdXNpbmcgQmFzZTo6
bV9pdGVtczsKIAogICAgIFByb3BlcnR5VHlwZSBhdCh1bnNpZ25lZCBpbmRleCkgY29uc3Qgb3Zl
cnJpZGUKQEAgLTcwLDYgKzEwNSwxOSBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIG1faXRlbXMuYXBw
ZW5kKFdURk1vdmUobmV3SXRlbSkpOwogICAgICAgICByZXR1cm4gYXQoc2l6ZSgpIC0gMSk7CiAg
ICAgfQorCisgICAgU3RyaW5nIHZhbHVlQXNTdHJpbmcoKSBjb25zdCBvdmVycmlkZQorICAgIHsK
KyAgICAgICAgU3RyaW5nQnVpbGRlciBidWlsZGVyOworCisgICAgICAgIGZvciAoYXV0byBpdGVt
IDogbV9pdGVtcykgeworICAgICAgICAgICAgaWYgKGJ1aWxkZXIubGVuZ3RoKCkpCisgICAgICAg
ICAgICAgICAgYnVpbGRlci5hcHBlbmQoJyAnKTsKKyAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5k
KFNWR1Byb3BlcnR5VHJhaXRzPFByb3BlcnR5VHlwZT46OnRvU3RyaW5nKGl0ZW0pKTsKKyAgICAg
ICAgfQorCisgICAgICAgIHJldHVybiBidWlsZGVyLnRvU3RyaW5nKCk7CisgICAgfQogfTsKIAog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHUHJvcGVydHlU
cmFpdHMuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5VHJhaXRz
LmgKaW5kZXggYmI4M2U3N2QzNjRkZGQ1NDFjM2QxY2Q0YjE5ZDRiMzIzOGI4OWMxMi4uOWVhZGQ5
ZTMxMjk5NmUxYTQzMDY3YTZiOTY5Mzg4NGY0ZWNmMTc2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHUHJvcGVydHlUcmFpdHMuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvcHJvcGVydGllcy9TVkdQcm9wZXJ0eVRyYWl0cy5oCkBAIC0xLDcgKzEsNyBAQAog
LyoKICAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNywgMjAwOCBOaWtvbGFz
IFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KICAqIENvcHlyaWdodCAoQykgUmVzZWFy
Y2ggSW4gTW90aW9uIExpbWl0ZWQgMjAxMC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHly
aWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMTgtMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICog
VGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu
ZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMKQEAgLTI1LDEyNCArMjUsOTcgQEAKICNpbmNsdWRlICJDb2xvci5oIgogI2lu
Y2x1ZGUgIkZsb2F0UG9pbnQuaCIKICNpbmNsdWRlICJGbG9hdFJlY3QuaCIKLSNpbmNsdWRlICJR
dWFsaWZpZWROYW1lLmgiCiAjaW5jbHVkZSAiU1ZHUGFyc2VyVXRpbGl0aWVzLmgiCisjaW5jbHVk
ZSAiU1ZHUGFyc2luZ0Vycm9yLmgiCisjaW5jbHVkZSA8d3RmL0V4cGVjdGVkLmg+CiAjaW5jbHVk
ZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmlu
Zy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXRlbXBsYXRlPHR5cGVuYW1lIFByb3BlcnR5
VHlwZT4KK3RlbXBsYXRlPHR5cGVuYW1lIFByb3BlcnR5VHlwZSwgY2xhc3MgRW5hYmxlciA9IHZv
aWQ+CiBzdHJ1Y3QgU1ZHUHJvcGVydHlUcmFpdHMgeyB9OwogCiB0ZW1wbGF0ZTw+CiBzdHJ1Y3Qg
U1ZHUHJvcGVydHlUcmFpdHM8Ym9vbD4gewogICAgIHN0YXRpYyBib29sIGluaXRpYWxWYWx1ZSgp
IHsgcmV0dXJuIGZhbHNlOyB9Ci0gICAgc3RhdGljIGJvb2wgZnJvbVN0cmluZyhjb25zdCBTdHJp
bmcmIHN0cmluZykgeyByZXR1cm4gc3RyaW5nID09ICJ0cnVlIjsgfQotICAgIHN0YXRpYyBPcHRp
b25hbDxib29sPiBwYXJzZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgU3RyaW5nJikgeyBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsgcmV0dXJuIGluaXRpYWxWYWx1ZSgpOyB9Ci0gICAgc3RhdGlj
IFN0cmluZyB0b1N0cmluZyhib29sIHR5cGUpIHsgcmV0dXJuIHR5cGUgPyAidHJ1ZSIgOiAiZmFs
c2UiOyB9CisgICAgc3RhdGljIEV4cGVjdGVkPGJvb2wsIFNWR1BhcnNpbmdFcnJvcj4gcGFyc2Uo
Y29uc3QgU3RyaW5nJiBzdHJpbmcpCisgICAgeworICAgICAgICBpZiAoc3RyaW5nID09ICJ0cnVl
IikKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICBpZiAoc3RyaW5nID09ICJmYWxz
ZSIpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIHJldHVybiBtYWtlVW5leHBl
Y3RlZChQYXJzaW5nQXR0cmlidXRlRmFpbGVkRXJyb3IpOworICAgIH0KKyAgICBzdGF0aWMgYm9v
bCBmcm9tU3RyaW5nKGNvbnN0IFN0cmluZyYgc3RyaW5nKSB7IHJldHVybiBwYXJzZShzdHJpbmcp
LnZhbHVlX29yKGluaXRpYWxWYWx1ZSgpKTsgfQorICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmco
Ym9vbCB2YWx1ZSkgeyByZXR1cm4gdmFsdWUgPyAidHJ1ZSIgOiAiZmFsc2UiOyB9CiB9OwogCiB0
ZW1wbGF0ZTw+CiBzdHJ1Y3QgU1ZHUHJvcGVydHlUcmFpdHM8Q29sb3I+IHsKICAgICBzdGF0aWMg
Q29sb3IgaW5pdGlhbFZhbHVlKCkgeyByZXR1cm4gQ29sb3IoKTsgfQotICAgIHN0YXRpYyBDb2xv
ciBmcm9tU3RyaW5nKGNvbnN0IFN0cmluZyYgc3RyaW5nKSB7IHJldHVybiBDU1NQYXJzZXI6OnBh
cnNlQ29sb3Ioc3RyaW5nLnN0cmlwV2hpdGVTcGFjZSgpKTsgfQotICAgIHN0YXRpYyBPcHRpb25h
bDxDb2xvcj4gcGFyc2UoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IFN0cmluZyYgc3RyaW5n
KQorICAgIHN0YXRpYyBFeHBlY3RlZDxDb2xvciwgU1ZHUGFyc2luZ0Vycm9yPiBwYXJzZShjb25z
dCBTdHJpbmcmIHN0cmluZykKICAgICB7Ci0gICAgICAgIENvbG9yIGNvbG9yID0gQ1NTUGFyc2Vy
OjpwYXJzZUNvbG9yKHN0cmluZy5zdHJpcFdoaXRlU3BhY2UoKSk7Ci0gICAgICAgIGlmICghY29s
b3IuaXNWYWxpZCgpKQotICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKLSAgICAgICAg
cmV0dXJuIGNvbG9yOworICAgICAgICBDb2xvciB2YWx1ZSA9IENTU1BhcnNlcjo6cGFyc2VDb2xv
cihzdHJpbmcuc3RyaXBXaGl0ZVNwYWNlKCkpOworICAgICAgICBpZiAoIXZhbHVlLmlzVmFsaWQo
KSkKKyAgICAgICAgICAgIHJldHVybiBtYWtlVW5leHBlY3RlZChQYXJzaW5nQXR0cmlidXRlRmFp
bGVkRXJyb3IpOworICAgICAgICByZXR1cm4gdmFsdWU7CiAgICAgfQotICAgIHN0YXRpYyBTdHJp
bmcgdG9TdHJpbmcoY29uc3QgQ29sb3ImIHR5cGUpIHsgcmV0dXJuIHR5cGUuc2VyaWFsaXplZCgp
OyB9Ci19OwotCi10ZW1wbGF0ZTw+Ci1zdHJ1Y3QgU1ZHUHJvcGVydHlUcmFpdHM8dW5zaWduZWQ+
IHsKLSAgICBzdGF0aWMgdW5zaWduZWQgaW5pdGlhbFZhbHVlKCkgeyByZXR1cm4gMDsgfQotICAg
IHN0YXRpYyBPcHRpb25hbDx1bnNpZ25lZD4gcGFyc2UoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNv
bnN0IFN0cmluZyYpIHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7IHJldHVybiBpbml0aWFsVmFsdWUo
KTsgfQotICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcodW5zaWduZWQgdHlwZSkgeyByZXR1cm4g
U3RyaW5nOjpudW1iZXIodHlwZSk7IH0KLX07Ci0KLXRlbXBsYXRlPD4KLXN0cnVjdCBTVkdQcm9w
ZXJ0eVRyYWl0czxpbnQ+IHsKLSAgICBzdGF0aWMgaW50IGluaXRpYWxWYWx1ZSgpIHsgcmV0dXJu
IDA7IH0KLSAgICBzdGF0aWMgaW50IGZyb21TdHJpbmcoY29uc3QgU3RyaW5nJnN0cmluZykgeyBy
ZXR1cm4gc3RyaW5nLnRvSW50U3RyaWN0KCk7IH0KLSAgICBzdGF0aWMgT3B0aW9uYWw8aW50PiBw
YXJzZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgU3RyaW5nJikgeyBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsgcmV0dXJuIGluaXRpYWxWYWx1ZSgpOyB9Ci0gICAgc3RhdGljIFN0cmluZyB0b1N0
cmluZyhpbnQgdHlwZSkgeyByZXR1cm4gU3RyaW5nOjpudW1iZXIodHlwZSk7IH0KKyAgICBzdGF0
aWMgQ29sb3IgZnJvbVN0cmluZyhjb25zdCBTdHJpbmcmIHN0cmluZykgeyByZXR1cm4gcGFyc2Uo
c3RyaW5nKS52YWx1ZV9vcihpbml0aWFsVmFsdWUoKSk7IH0KKyAgICBzdGF0aWMgU3RyaW5nIHRv
U3RyaW5nKGNvbnN0IENvbG9yJiB2YWx1ZSkgeyByZXR1cm4gdmFsdWUuc2VyaWFsaXplZCgpOyB9
CiB9OwogCiB0ZW1wbGF0ZTw+Ci1zdHJ1Y3QgU1ZHUHJvcGVydHlUcmFpdHM8c3RkOjpwYWlyPGlu
dCwgaW50Pj4gewotICAgIHN0YXRpYyBzdGQ6OnBhaXI8aW50LCBpbnQ+IGluaXRpYWxWYWx1ZSgp
IHsgcmV0dXJuIHsgfTsgfQotICAgIHN0YXRpYyBzdGQ6OnBhaXI8aW50LCBpbnQ+IGZyb21TdHJp
bmcoY29uc3QgU3RyaW5nJiBzdHJpbmcpCi0gICAgewotICAgICAgICBmbG9hdCBmaXJzdE51bWJl
ciA9IDAsIHNlY29uZE51bWJlciA9IDA7Ci0gICAgICAgIGlmICghcGFyc2VOdW1iZXJPcHRpb25h
bE51bWJlcihzdHJpbmcsIGZpcnN0TnVtYmVyLCBzZWNvbmROdW1iZXIpKQotICAgICAgICAgICAg
cmV0dXJuIHsgfTsKLSAgICAgICAgcmV0dXJuIHN0ZDo6bWFrZV9wYWlyKHN0YXRpY19jYXN0PGlu
dD4ocm91bmRmKGZpcnN0TnVtYmVyKSksIHN0YXRpY19jYXN0PGludD4ocm91bmRmKHNlY29uZE51
bWJlcikpKTsKLSAgICB9Ci0gICAgc3RhdGljIE9wdGlvbmFsPHN0ZDo6cGFpcjxpbnQsIGludD4+
IHBhcnNlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBTdHJpbmcmKSB7IEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOyByZXR1cm4gaW5pdGlhbFZhbHVlKCk7IH0KLSAgICBzdGF0aWMgU3RyaW5nIHRv
U3RyaW5nKHN0ZDo6cGFpcjxpbnQsIGludD4pIHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7IHJldHVy
biBlbXB0eVN0cmluZygpOyB9CitzdHJ1Y3QgU1ZHUHJvcGVydHlUcmFpdHM8U3RyaW5nPiB7Cisg
ICAgc3RhdGljIFN0cmluZyBpbml0aWFsVmFsdWUoKSB7IHJldHVybiBTdHJpbmcoKTsgfQorICAg
IHN0YXRpYyBFeHBlY3RlZDxTdHJpbmcsIFNWR1BhcnNpbmdFcnJvcj4gcGFyc2UoY29uc3QgU3Ry
aW5nJiBzdHJpbmcpIHsgcmV0dXJuIHN0cmluZzsgfQorICAgIHN0YXRpYyBTdHJpbmcgZnJvbVN0
cmluZyhjb25zdCBTdHJpbmcmIHN0cmluZykgeyByZXR1cm4gc3RyaW5nOyB9CisgICAgc3RhdGlj
IFN0cmluZyB0b1N0cmluZyhjb25zdCBTdHJpbmcmIHZhbHVlKSB7IHJldHVybiB2YWx1ZTsgfQog
fTsKIAogdGVtcGxhdGU8Pgogc3RydWN0IFNWR1Byb3BlcnR5VHJhaXRzPGZsb2F0PiB7CiAgICAg
c3RhdGljIGZsb2F0IGluaXRpYWxWYWx1ZSgpIHsgcmV0dXJuIDA7IH0KLSAgICBzdGF0aWMgZmxv
YXQgZnJvbVN0cmluZyhjb25zdCBTdHJpbmcmIHN0cmluZykKKyAgICBzdGF0aWMgRXhwZWN0ZWQ8
ZmxvYXQsIFNWR1BhcnNpbmdFcnJvcj4gcGFyc2UoY29uc3QgU3RyaW5nJiBzdHJpbmcsIFNWR1Bh
cnNpbmdPcHRpb25zIHBhcnNpbmdPcHRpb25zID0gTm9PcHRpb25zKQogICAgIHsKLSAgICAgICAg
ZmxvYXQgbnVtYmVyID0gMDsKLSAgICAgICAgaWYgKCFwYXJzZU51bWJlckZyb21TdHJpbmcoc3Ry
aW5nLCBudW1iZXIpKQotICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgIHJldHVybiBudW1i
ZXI7CisgICAgICAgIGZsb2F0IHZhbHVlOworICAgICAgICBpZiAoKHBhcnNpbmdPcHRpb25zICYg
QWxsb3dQZXJjZW50YWdlKSAmJiBzdHJpbmcuZW5kc1dpdGgoJyUnKSkKKyAgICAgICAgICAgIHZh
bHVlID0gc3RyaW5nLmxlZnQoc3RyaW5nLmxlbmd0aCgpIC0gMSkudG9GbG9hdCgpIC8gMTAwOwor
ICAgICAgICBlbHNlCisgICAgICAgICAgICB2YWx1ZSA9IHN0cmluZy50b0Zsb2F0KCk7CisgICAg
ICAgIGlmIChhdXRvIGVycm9yID0gdmFsaWRhdGVOdW1lcmljKHZhbHVlLCBwYXJzaW5nT3B0aW9u
cykpCisgICAgICAgICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQoZXJyb3IpOworICAgICAgICBy
ZXR1cm4gdmFsdWU7CiAgICAgfQotICAgIHN0YXRpYyBPcHRpb25hbDxmbG9hdD4gcGFyc2UoY29u
c3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IFN0cmluZyYgc3RyaW5nKQotICAgIHsKLSAgICAgICAg
ZmxvYXQgbnVtYmVyOwotICAgICAgICBpZiAoIXBhcnNlTnVtYmVyRnJvbVN0cmluZyhzdHJpbmcs
IG51bWJlcikpCi0gICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwotICAgICAgICByZXR1
cm4gbnVtYmVyOwotICAgIH0KLSAgICBzdGF0aWMgU3RyaW5nIHRvU3RyaW5nKGZsb2F0IHR5cGUp
IHsgcmV0dXJuIFN0cmluZzo6bnVtYmVyVG9TdHJpbmdGaXhlZFByZWNpc2lvbih0eXBlKTsgfQor
ICAgIHN0YXRpYyBmbG9hdCBmcm9tU3RyaW5nKGNvbnN0IFN0cmluZyYgc3RyaW5nKSB7IHJldHVy
biBwYXJzZShzdHJpbmcpLnZhbHVlX29yKGluaXRpYWxWYWx1ZSgpKTsgfQorICAgIHN0YXRpYyBT
dHJpbmcgdG9TdHJpbmcoZmxvYXQgdmFsdWUpIHsgcmV0dXJuIFN0cmluZzo6bnVtYmVyVG9TdHJp
bmdGaXhlZFByZWNpc2lvbih2YWx1ZSk7IH0KIH07CiAKIHRlbXBsYXRlPD4KLXN0cnVjdCBTVkdQ
cm9wZXJ0eVRyYWl0czxzdGQ6OnBhaXI8ZmxvYXQsIGZsb2F0Pj4gewotICAgIHN0YXRpYyBzdGQ6
OnBhaXI8ZmxvYXQsIGZsb2F0PiBpbml0aWFsVmFsdWUoKSB7IHJldHVybiB7IH07IH0KLSAgICBz
dGF0aWMgc3RkOjpwYWlyPGZsb2F0LCBmbG9hdD4gZnJvbVN0cmluZyhjb25zdCBTdHJpbmcmIHN0
cmluZykKLSAgICB7Ci0gICAgICAgIGZsb2F0IGZpcnN0TnVtYmVyID0gMCwgc2Vjb25kTnVtYmVy
ID0gMDsKLSAgICAgICAgaWYgKCFwYXJzZU51bWJlck9wdGlvbmFsTnVtYmVyKHN0cmluZywgZmly
c3ROdW1iZXIsIHNlY29uZE51bWJlcikpCi0gICAgICAgICAgICByZXR1cm4geyB9OwotICAgICAg
ICByZXR1cm4gc3RkOjptYWtlX3BhaXIoZmlyc3ROdW1iZXIsIHNlY29uZE51bWJlcik7Ci0gICAg
fQotICAgIHN0YXRpYyBPcHRpb25hbDxzdGQ6OnBhaXI8ZmxvYXQsIGZsb2F0Pj4gcGFyc2UoY29u
c3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IFN0cmluZyYpIHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7
IHJldHVybiBpbml0aWFsVmFsdWUoKTsgfQotICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoc3Rk
OjpwYWlyPGZsb2F0LCBmbG9hdD4pIHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7IHJldHVybiBlbXB0
eVN0cmluZygpOyB9CitzdHJ1Y3QgU1ZHUHJvcGVydHlUcmFpdHM8aW50PiB7CisgICAgc3RhdGlj
IGludCBpbml0aWFsVmFsdWUoKSB7IHJldHVybiAwOyB9CisgICAgc3RhdGljIEV4cGVjdGVkPGlu
dCwgU1ZHUGFyc2luZ0Vycm9yPiBwYXJzZShjb25zdCBTdHJpbmcmIHN0cmluZykgeyByZXR1cm4g
c3RyaW5nLnRvSW50U3RyaWN0KCk7IH0KKyAgICBzdGF0aWMgaW50IGZyb21TdHJpbmcoY29uc3Qg
U3RyaW5nJiBzdHJpbmcpIHsgcmV0dXJuIHBhcnNlKHN0cmluZykudmFsdWVfb3IoaW5pdGlhbFZh
bHVlKCkpOyB9CisgICAgc3RhdGljIFN0cmluZyB0b1N0cmluZyhpbnQgdmFsdWUpIHsgcmV0dXJu
IFN0cmluZzo6bnVtYmVyKHZhbHVlKTsgfQogfTsKIAogdGVtcGxhdGU8Pgogc3RydWN0IFNWR1By
b3BlcnR5VHJhaXRzPEZsb2F0UG9pbnQ+IHsKICAgICBzdGF0aWMgRmxvYXRQb2ludCBpbml0aWFs
VmFsdWUoKSB7IHJldHVybiBGbG9hdFBvaW50KCk7IH0KLSAgICBzdGF0aWMgRmxvYXRQb2ludCBm
cm9tU3RyaW5nKGNvbnN0IFN0cmluZyYgc3RyaW5nKQotICAgIHsKLSAgICAgICAgRmxvYXRQb2lu
dCBwb2ludDsKLSAgICAgICAgaWYgKCFwYXJzZVBvaW50KHN0cmluZywgcG9pbnQpKQotICAgICAg
ICAgICAgcmV0dXJuIHsgfTsKLSAgICAgICAgcmV0dXJuIHBvaW50OwotICAgIH0KLSAgICBzdGF0
aWMgT3B0aW9uYWw8RmxvYXRQb2ludD4gcGFyc2UoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0
IFN0cmluZyYgc3RyaW5nKQorICAgIHN0YXRpYyBFeHBlY3RlZDxGbG9hdFBvaW50LCBTVkdQYXJz
aW5nRXJyb3I+IHBhcnNlKGNvbnN0IFN0cmluZyYgc3RyaW5nKQogICAgIHsKLSAgICAgICAgRmxv
YXRQb2ludCBwb2ludDsKLSAgICAgICAgaWYgKCFwYXJzZVBvaW50KHN0cmluZywgcG9pbnQpKQot
ICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKLSAgICAgICAgcmV0dXJuIHBvaW50Owor
ICAgICAgICBGbG9hdFBvaW50IHZhbHVlOworICAgICAgICBpZiAoIXBhcnNlUG9pbnQoc3RyaW5n
LCB2YWx1ZSkpCisgICAgICAgICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQoUGFyc2luZ0F0dHJp
YnV0ZUZhaWxlZEVycm9yKTsKKyAgICAgICAgcmV0dXJuIHZhbHVlOwogICAgIH0KLSAgICBzdGF0
aWMgU3RyaW5nIHRvU3RyaW5nKGNvbnN0IEZsb2F0UG9pbnQmIHR5cGUpCisgICAgc3RhdGljIEZs
b2F0UG9pbnQgZnJvbVN0cmluZyhjb25zdCBTdHJpbmcmIHN0cmluZykgeyByZXR1cm4gcGFyc2Uo
c3RyaW5nKS52YWx1ZV9vcihpbml0aWFsVmFsdWUoKSk7IH0KKyAgICBzdGF0aWMgU3RyaW5nIHRv
U3RyaW5nKGNvbnN0IEZsb2F0UG9pbnQmIHZhbHVlKQogICAgIHsKICAgICAgICAgU3RyaW5nQnVp
bGRlciBidWlsZGVyOwotICAgICAgICBidWlsZGVyLmFwcGVuZEZpeGVkUHJlY2lzaW9uTnVtYmVy
KHR5cGUueCgpKTsKKyAgICAgICAgYnVpbGRlci5hcHBlbmRGaXhlZFByZWNpc2lvbk51bWJlcih2
YWx1ZS54KCkpOwogICAgICAgICBidWlsZGVyLmFwcGVuZCgnICcpOwotICAgICAgICBidWlsZGVy
LmFwcGVuZEZpeGVkUHJlY2lzaW9uTnVtYmVyKHR5cGUueSgpKTsKKyAgICAgICAgYnVpbGRlci5h
cHBlbmRGaXhlZFByZWNpc2lvbk51bWJlcih2YWx1ZS55KCkpOwogICAgICAgICByZXR1cm4gYnVp
bGRlci50b1N0cmluZygpOwogICAgIH0KIH07CkBAIC0xNTAsNDYgKzEyMyw3MyBAQCBzdHJ1Y3Qg
U1ZHUHJvcGVydHlUcmFpdHM8RmxvYXRQb2ludD4gewogdGVtcGxhdGU8Pgogc3RydWN0IFNWR1By
b3BlcnR5VHJhaXRzPEZsb2F0UmVjdD4gewogICAgIHN0YXRpYyBGbG9hdFJlY3QgaW5pdGlhbFZh
bHVlKCkgeyByZXR1cm4gRmxvYXRSZWN0KCk7IH0KLSAgICBzdGF0aWMgRmxvYXRSZWN0IGZyb21T
dHJpbmcoY29uc3QgU3RyaW5nJiBzdHJpbmcpCi0gICAgewotICAgICAgICBGbG9hdFJlY3QgcmVj
dDsKLSAgICAgICAgaWYgKCFwYXJzZVJlY3Qoc3RyaW5nLCByZWN0KSkKLSAgICAgICAgICAgIHJl
dHVybiB7IH07Ci0gICAgICAgIHJldHVybiByZWN0OwotICAgIH0KLSAgICBzdGF0aWMgT3B0aW9u
YWw8RmxvYXRSZWN0PiBwYXJzZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgU3RyaW5nJiBz
dHJpbmcpCisgICAgc3RhdGljIEV4cGVjdGVkPEZsb2F0UmVjdCwgU1ZHUGFyc2luZ0Vycm9yPiBw
YXJzZShjb25zdCBTdHJpbmcmIHN0cmluZywgU1ZHUGFyc2luZ09wdGlvbnMgcGFyc2luZ09wdGlv
bnMgPSBOb09wdGlvbnMpCiAgICAgewotICAgICAgICBGbG9hdFJlY3QgcmVjdDsKLSAgICAgICAg
aWYgKCFwYXJzZVJlY3Qoc3RyaW5nLCByZWN0KSkKLSAgICAgICAgICAgIHJldHVybiBXVEY6Om51
bGxvcHQ7Ci0gICAgICAgIHJldHVybiByZWN0OworICAgICAgICBGbG9hdFJlY3QgdmFsdWU7Cisg
ICAgICAgIGlmICghcGFyc2VSZWN0KHN0cmluZywgdmFsdWUpKQorICAgICAgICAgICAgcmV0dXJu
IG1ha2VVbmV4cGVjdGVkKFBhcnNpbmdBdHRyaWJ1dGVGYWlsZWRFcnJvcik7CisgICAgICAgIGlm
IChhdXRvIGVycm9yID0gdmFsaWRhdGVOdW1lcmljKHZhbHVlLndpZHRoKCksIHBhcnNpbmdPcHRp
b25zKSkKKyAgICAgICAgICAgIHJldHVybiBtYWtlVW5leHBlY3RlZChlcnJvcik7CisgICAgICAg
IGlmIChhdXRvIGVycm9yID0gdmFsaWRhdGVOdW1lcmljKHZhbHVlLmhlaWdodCgpLCBwYXJzaW5n
T3B0aW9ucykpCisgICAgICAgICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQoZXJyb3IpOworICAg
ICAgICByZXR1cm4gdmFsdWU7CiAgICAgfQotICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoY29u
c3QgRmxvYXRSZWN0JiB0eXBlKQorICAgIHN0YXRpYyBGbG9hdFJlY3QgZnJvbVN0cmluZyhjb25z
dCBTdHJpbmcmIHN0cmluZykgeyByZXR1cm4gcGFyc2Uoc3RyaW5nKS52YWx1ZV9vcihpbml0aWFs
VmFsdWUoKSk7IH0KKyAgICBzdGF0aWMgU3RyaW5nIHRvU3RyaW5nKGNvbnN0IEZsb2F0UmVjdCYg
dmFsdWUpCiAgICAgewogICAgICAgICBTdHJpbmdCdWlsZGVyIGJ1aWxkZXI7Ci0gICAgICAgIGJ1
aWxkZXIuYXBwZW5kRml4ZWRQcmVjaXNpb25OdW1iZXIodHlwZS54KCkpOworICAgICAgICBidWls
ZGVyLmFwcGVuZEZpeGVkUHJlY2lzaW9uTnVtYmVyKHZhbHVlLngoKSk7CiAgICAgICAgIGJ1aWxk
ZXIuYXBwZW5kKCcgJyk7Ci0gICAgICAgIGJ1aWxkZXIuYXBwZW5kRml4ZWRQcmVjaXNpb25OdW1i
ZXIodHlwZS55KCkpOworICAgICAgICBidWlsZGVyLmFwcGVuZEZpeGVkUHJlY2lzaW9uTnVtYmVy
KHZhbHVlLnkoKSk7CiAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCcgJyk7Ci0gICAgICAgIGJ1aWxk
ZXIuYXBwZW5kRml4ZWRQcmVjaXNpb25OdW1iZXIodHlwZS53aWR0aCgpKTsKKyAgICAgICAgYnVp
bGRlci5hcHBlbmRGaXhlZFByZWNpc2lvbk51bWJlcih2YWx1ZS53aWR0aCgpKTsKICAgICAgICAg
YnVpbGRlci5hcHBlbmQoJyAnKTsKLSAgICAgICAgYnVpbGRlci5hcHBlbmRGaXhlZFByZWNpc2lv
bk51bWJlcih0eXBlLmhlaWdodCgpKTsKKyAgICAgICAgYnVpbGRlci5hcHBlbmRGaXhlZFByZWNp
c2lvbk51bWJlcih2YWx1ZS5oZWlnaHQoKSk7CiAgICAgICAgIHJldHVybiBidWlsZGVyLnRvU3Ry
aW5nKCk7CiAgICAgfQogfTsKIAogdGVtcGxhdGU8Pgotc3RydWN0IFNWR1Byb3BlcnR5VHJhaXRz
PFN0cmluZz4gewotICAgIHN0YXRpYyBTdHJpbmcgaW5pdGlhbFZhbHVlKCkgeyByZXR1cm4gU3Ry
aW5nKCk7IH0KLSAgICBzdGF0aWMgU3RyaW5nIGZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJp
bmcpIHsgcmV0dXJuIHN0cmluZzsgfQotICAgIHN0YXRpYyBPcHRpb25hbDxTdHJpbmc+IHBhcnNl
KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBTdHJpbmcmIHN0cmluZykgeyByZXR1cm4gc3Ry
aW5nOyB9Ci0gICAgc3RhdGljIFN0cmluZyB0b1N0cmluZyhjb25zdCBTdHJpbmcmIHN0cmluZykg
eyByZXR1cm4gc3RyaW5nOyB9CitzdHJ1Y3QgU1ZHUHJvcGVydHlUcmFpdHM8c3RkOjpwYWlyPGlu
dCwgaW50Pj4geworICAgIHN0YXRpYyBzdGQ6OnBhaXI8aW50LCBpbnQ+IGluaXRpYWxWYWx1ZSgp
IHsgcmV0dXJuIHsgfTsgfQorICAgIHN0YXRpYyBFeHBlY3RlZDxzdGQ6OnBhaXI8aW50LCBpbnQ+
LCBTVkdQYXJzaW5nRXJyb3I+IHBhcnNlKGNvbnN0IFN0cmluZyYgc3RyaW5nLCBTVkdQYXJzaW5n
T3B0aW9ucyBwYXJzaW5nT3B0aW9ucyA9IE5vT3B0aW9ucykKKyAgICB7CisgICAgICAgIGZsb2F0
IHZhbHVlTnVtYmVyMSA9IDAsIHZhbHVlTnVtYmVyMiA9IDA7CisgICAgICAgIGlmICghcGFyc2VO
dW1iZXJPcHRpb25hbE51bWJlcihzdHJpbmcsIHZhbHVlTnVtYmVyMSwgdmFsdWVOdW1iZXIyKSkK
KyAgICAgICAgICAgIHJldHVybiBtYWtlVW5leHBlY3RlZChQYXJzaW5nQXR0cmlidXRlRmFpbGVk
RXJyb3IpOworCisgICAgICAgIGludCB2YWx1ZUludGVnZXIxID0gc3RhdGljX2Nhc3Q8aW50Pihy
b3VuZGYodmFsdWVOdW1iZXIxKSk7CisgICAgICAgIGludCB2YWx1ZUludGVnZXIyID0gc3RhdGlj
X2Nhc3Q8aW50Pihyb3VuZGYodmFsdWVOdW1iZXIyKSk7CisKKyAgICAgICAgaWYgKGF1dG8gZXJy
b3IgPSB2YWxpZGF0ZU51bWVyaWModmFsdWVJbnRlZ2VyMSwgcGFyc2luZ09wdGlvbnMpKQorICAg
ICAgICAgICAgcmV0dXJuIG1ha2VVbmV4cGVjdGVkKGVycm9yKTsKKyAgICAgICAgaWYgKGF1dG8g
ZXJyb3IgPSB2YWxpZGF0ZU51bWVyaWModmFsdWVJbnRlZ2VyMiwgcGFyc2luZ09wdGlvbnMpKQor
ICAgICAgICAgICAgcmV0dXJuIG1ha2VVbmV4cGVjdGVkKGVycm9yKTsKKworICAgICAgICByZXR1
cm4gc3RkOjptYWtlX3BhaXIodmFsdWVJbnRlZ2VyMSwgdmFsdWVJbnRlZ2VyMik7CisgICAgfQor
ICAgIHN0YXRpYyBzdGQ6OnBhaXI8aW50LCBpbnQ+IGZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiBz
dHJpbmcpIHsgcmV0dXJuIHBhcnNlKHN0cmluZykudmFsdWVfb3IoaW5pdGlhbFZhbHVlKCkpOyB9
CisgICAgc3RhdGljIFN0cmluZyB0b1N0cmluZyhjb25zdCBzdGQ6OnBhaXI8aW50LCBpbnQ+JiB2
YWx1ZSkgeyByZXR1cm4gU1ZHUHJvcGVydHlUcmFpdHM8aW50Pjo6dG9TdHJpbmcodmFsdWUuZmly
c3QpICsgIiwgIiArIFNWR1Byb3BlcnR5VHJhaXRzPGludD46OnRvU3RyaW5nKHZhbHVlLnNlY29u
ZCk7IH0KIH07CiAKLXRlbXBsYXRlPHR5cGVuYW1lIEVudW1UeXBlPgotc3RydWN0IFNWR0lETEVu
dW1MaW1pdHMgewotICAgIC8vIFNwZWNpYWxpemUgdGhpcyBmdW5jdGlvbiBmb3IgYSBwYXJ0aWN1
bGFyIGVudW1lcmF0aW9uIHRvIGxpbWl0IHRoZSB2YWx1ZXMgdGhhdCBhcmUgZXhwb3NlZCB0aHJv
dWdoIHRoZSBET00uCi0gICAgc3RhdGljIHVuc2lnbmVkIGhpZ2hlc3RFeHBvc2VkRW51bVZhbHVl
KCkgeyByZXR1cm4gU1ZHUHJvcGVydHlUcmFpdHM8RW51bVR5cGU+OjpoaWdoZXN0RW51bVZhbHVl
KCk7IH0KK3RlbXBsYXRlPD4KK3N0cnVjdCBTVkdQcm9wZXJ0eVRyYWl0czxzdGQ6OnBhaXI8Zmxv
YXQsIGZsb2F0Pj4geworICAgIHN0YXRpYyBzdGQ6OnBhaXI8ZmxvYXQsIGZsb2F0PiBpbml0aWFs
VmFsdWUoKSB7IHJldHVybiB7IH07IH0KKyAgICBzdGF0aWMgRXhwZWN0ZWQ8c3RkOjpwYWlyPGZs
b2F0LCBmbG9hdD4sIFNWR1BhcnNpbmdFcnJvcj4gcGFyc2UoY29uc3QgU3RyaW5nJiBzdHJpbmcs
IFNWR1BhcnNpbmdPcHRpb25zIHBhcnNpbmdPcHRpb25zID0gTm9PcHRpb25zKQorICAgIHsKKyAg
ICAgICAgZmxvYXQgdmFsdWVOdW1iZXIxID0gMCwgdmFsdWVOdW1iZXIyID0gMDsKKyAgICAgICAg
aWYgKCFwYXJzZU51bWJlck9wdGlvbmFsTnVtYmVyKHN0cmluZywgdmFsdWVOdW1iZXIxLCB2YWx1
ZU51bWJlcjIpKQorICAgICAgICAgICAgcmV0dXJuIG1ha2VVbmV4cGVjdGVkKFBhcnNpbmdBdHRy
aWJ1dGVGYWlsZWRFcnJvcik7CisKKyAgICAgICAgaWYgKGF1dG8gZXJyb3IgPSB2YWxpZGF0ZU51
bWVyaWModmFsdWVOdW1iZXIxLCBwYXJzaW5nT3B0aW9ucykpCisgICAgICAgICAgICByZXR1cm4g
bWFrZVVuZXhwZWN0ZWQoZXJyb3IpOworICAgICAgICBpZiAoYXV0byBlcnJvciA9IHZhbGlkYXRl
TnVtZXJpYyh2YWx1ZU51bWJlcjIsIHBhcnNpbmdPcHRpb25zKSkKKyAgICAgICAgICAgIHJldHVy
biBtYWtlVW5leHBlY3RlZChlcnJvcik7CisKKyAgICAgICAgcmV0dXJuIHN0ZDo6bWFrZV9wYWly
KHZhbHVlTnVtYmVyMSwgdmFsdWVOdW1iZXIyKTsKKyAgICB9CisgICAgc3RhdGljIHN0ZDo6cGFp
cjxmbG9hdCwgZmxvYXQ+IGZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJpbmcpIHsgcmV0dXJu
IHBhcnNlKHN0cmluZykudmFsdWVfb3IoaW5pdGlhbFZhbHVlKCkpOyB9CisgICAgc3RhdGljIFN0
cmluZyB0b1N0cmluZyhjb25zdCBzdGQ6OnBhaXI8ZmxvYXQsIGZsb2F0PiYgdmFsdWUpIHsgcmV0
dXJuIFNWR1Byb3BlcnR5VHJhaXRzPGZsb2F0Pjo6dG9TdHJpbmcodmFsdWUuZmlyc3QpICsgIiwg
IiArIFNWR1Byb3BlcnR5VHJhaXRzPGZsb2F0Pjo6dG9TdHJpbmcodmFsdWUuc2Vjb25kKTsgfQog
fTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
c3ZnL3Byb3BlcnRpZXMvU1ZHVmFsdWVQcm9wZXJ0eUxpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9wcm9wZXJ0aWVzL1NWR1ZhbHVlUHJvcGVydHlMaXN0LmgKaW5kZXggMzAxMGMzM2E3NDA4OWJj
NDRmYmI0MTBhNTZmNzg1YTlmNzE3Y2NlZS4uNGViOTM4MzhmYTBhMDMzNjEzNTdkZTFjMGYwZGEw
OWYzYWZhMzE1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZH
VmFsdWVQcm9wZXJ0eUxpc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9T
VkdWYWx1ZVByb3BlcnR5TGlzdC5oCkBAIC02Niw2ICs2Niw0OCBAQCBwdWJsaWM6CiAgICAgICAg
ICAgICByZW1vdmUoc2l6ZSgpIC0gMSk7CiAgICAgfQogCisgICAgdGVtcGxhdGU8dHlwZW5hbWUu
Li4gQXJndW1lbnRzPgorICAgIFNWR1BhcnNpbmdFcnJvciBwYXJzZShjb25zdCBTdHJpbmcmIHN0
cmluZywgQXJndW1lbnRzJiYuLi4gYXJndW1lbnRzKQorICAgIHsKKyAgICAgICAgY2xlYXJJdGVt
cygpOworCisgICAgICAgIGF1dG8gdXBjb252ZXJ0ZWRDaGFyYWN0ZXJzID0gU3RyaW5nVmlldyhz
dHJpbmcpLnVwY29udmVydGVkQ2hhcmFjdGVycygpOworICAgICAgICBjb25zdCBVQ2hhciogcHRy
ID0gdXBjb252ZXJ0ZWRDaGFyYWN0ZXJzOworICAgICAgICBjb25zdCBVQ2hhciogZW5kID0gcHRy
ICsgc3RyaW5nLmxlbmd0aCgpOworCisgICAgICAgIGJvb2wgZGVsaW1QYXJzZWQgPSBmYWxzZTsK
KyAgICAgICAgd2hpbGUgKHNraXBPcHRpb25hbFNWR1NwYWNlcyhwdHIsIGVuZCkpIHsKKyAgICAg
ICAgICAgIGRlbGltUGFyc2VkID0gZmFsc2U7CisKKyAgICAgICAgICAgIEFTU0VSVChwdHIgPCBl
bmQpOworICAgICAgICAgICAgYXV0byBleHBlY3RlZEl0ZW0gPSBQcm9wZXJ0eVR5cGU6OmNyZWF0
ZShwdHIsIGVuZCwgc3RkOjpmb3J3YXJkPEFyZ3VtZW50cz4oYXJndW1lbnRzKS4uLik7CisgICAg
ICAgICAgICBpZiAoIWV4cGVjdGVkSXRlbSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZXhwZWN0
ZWRJdGVtLmVycm9yKCk7CisKKyAgICAgICAgICAgIGFwcGVuZChXVEZNb3ZlKGV4cGVjdGVkSXRl
bS52YWx1ZSgpKSk7CisKKyAgICAgICAgICAgIGlmIChwdHIgPCBlbmQgJiYgKnB0ciA9PSAnLCcp
IHsKKyAgICAgICAgICAgICAgICArK3B0cjsKKyAgICAgICAgICAgICAgICBkZWxpbVBhcnNlZCA9
IHRydWU7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICByZXR1cm4gZGVsaW1Q
YXJzZWQgPyBVbmV4cGVjdGVkRW5kT2ZBdHRyaWJ1dGVFcnJvciA6IE5vRXJyb3I7CisgICAgfQor
CisgICAgU3RyaW5nIHZhbHVlQXNTdHJpbmcoKSBjb25zdCBvdmVycmlkZQorICAgIHsKKyAgICAg
ICAgU3RyaW5nQnVpbGRlciBidWlsZGVyOworCisgICAgICAgIGZvciAoY29uc3QgYXV0byYgaXRl
bSA6IGl0ZW1zKCkpIHsKKyAgICAgICAgICAgIGlmIChidWlsZGVyLmxlbmd0aCgpKQorICAgICAg
ICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCcgJyk7CisgICAgICAgICAgICBidWlsZGVyLmFwcGVu
ZChpdGVtLT52YWx1ZUFzU3RyaW5nKCkpOworICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIGJ1
aWxkZXIudG9TdHJpbmcoKTsKKyAgICB9CisKICAgICAvLyBWaXN1YWwgU3R1ZGlvIGRvZXNuJ3Qg
c2VlbSB0byBzZWUgdGhlc2UgcHJpdmF0ZSBjb25zdHJ1Y3RvcnMgZnJvbSBzdWJjbGFzc2VzLgog
ICAgIC8vIEZJWE1FOiBTZWUgd2hhdCBpdCB0YWtlcyB0byByZW1vdmUgdGhpcyBoYWNrLgogI2lm
ICFDT01QSUxFUihNU1ZDKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDMzNjA5MTVlNzkyM2E5MzQzNjZiM2U5ZmYzOGEyMzVh
MGQ3ODQxZjguLmRiOTdiNDBlYjYxYmMzNDMxYjgxZTZiZDY3MzEyOTM4NjExZDhjMjEgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSw2NyBAQAorMjAxOS0wNS0yMiAgU2FpZCBBYm91LUhhbGxhd2EgIDxzYWlkQGFw
cGxlLmNvbT4KKworICAgICAgICBTVkdQcm9wZXJ0eVRyYWl0cyBhbmQgU1ZHIGVudW0gdHlwZXMg
Y2xlYW4gdXAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE5ODA3MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogc3ZnL2FuaW1hdGlvbnMvc3ZnbnVtYmVyLWFuaW1hdGlvbi0zLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBzdmcvYW5pbWF0aW9ucy9zdmdudW1iZXItYW5pbWF0aW9uLTMuaHRtbDoKKyAgICAg
ICAgVGhlIGV4cGVjdGVkIHZhbHVlcyBvZiB0aGlzIHRlc3Qgd2VyZSB3cm9uZy4gVGhlIHRlc3Qg
aXMgc3VwcG9zZWQgdG8gdmVyaWZ5CisgICAgICAgIHRoZSB2YWx1ZXMgYXQgMCUsIDUwJSwganVz
dCBiZWZvcmUgMTAwJSBhbmQgMTAwJS4gVGhlIGNoYW5nZSBpbiB0aGUgb3BhY2l0eQorICAgICAg
ICBvZiB0aGUgZWxlbWVudCBzaG91bGQgYmU6IDAsIDAuNSwgMSwgMC4gVGhlIHRlc3Qgd2FzIGV4
cGVjdGluZyBhbGwgdmFsdWVzCisgICAgICAgIHRvIGJlIHplcm9zLgorCisyMDE5LTA1LTIwICBT
YWlkIEFib3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CisKKyAgICAgICAgVW5p
ZnkgdGhlIHBhcnNpbmcgb2YgU1ZHTGlzdCBzdXBlciBjbGFzc2VzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTc4MzEKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0bWw1bGliL2dlbmVyYXRlZC9ydW4t
dGVzdHMxMS1kYXRhLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodG1sNWxpYi9nZW5lcmF0ZWQv
cnVuLXRlc3RzMTEtd3JpdGUtZXhwZWN0ZWQudHh0OgorICAgICAgICBSZXBvcnQgZXJyb3IgbWVz
c2FnZXMgaWYgYSBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvIG9yIFNWR1pvb21BbmRQYW4gcGFyc2lu
ZworICAgICAgICBlcnJvciBoYXBwZW5zLgorCisgICAgICAgICogcGxhdGZvcm0vZ3RrL3N2Zy9j
dXN0b20vcHJlc2VydmUtYXNwZWN0LXJhdGlvLXN5bnRheC1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogcGxhdGZvcm0vZ3RrL3N2Zy9jdXN0b20vdmlld2JveC1zeW50YXgtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHBsYXRmb3JtL2d0ay9zdmcvaGl4aWUvZXJyb3IvMDEwLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvc3ZnL2hpeGllL2Vycm9yLzAxMS1leHBlY3RlZC50eHQ6
CisgICAgICAgICogcGxhdGZvcm0vaW9zL3N2Zy9jdXN0b20vcHJlc2VydmUtYXNwZWN0LXJhdGlv
LXN5bnRheC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vaW9zL3N2Zy9jdXN0b20v
dmlld2JveC1zeW50YXgtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9zdmcv
aGl4aWUvZXJyb3IvMDEwLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mvc3Zn
L2hpeGllL2Vycm9yLzAxMS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2
Zy9jdXN0b20vcHJlc2VydmUtYXNwZWN0LXJhdGlvLXN5bnRheC1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vdmlld2JveC1zeW50YXgtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvaGl4aWUvZXJyb3IvMDEwLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL2hpeGllL2Vycm9yLzAxMS1leHBlY3RlZC50
eHQ6CisgICAgICAgICogcGxhdGZvcm0vd2luL3N2Zy9jdXN0b20vcHJlc2VydmUtYXNwZWN0LXJh
dGlvLXN5bnRheC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vd2luL3N2Zy9jdXN0
b20vdmlld2JveC1zeW50YXgtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9z
dmcvaGl4aWUvZXJyb3IvMDEwLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4v
c3ZnL2hpeGllL2Vycm9yLzAxMS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vd2lu
Y2Fpcm8vc3ZnL2N1c3RvbS9wcmVzZXJ2ZS1hc3BlY3QtcmF0aW8tc3ludGF4LWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBwbGF0Zm9ybS93aW5jYWlyby9zdmcvY3VzdG9tL3ZpZXdib3gtc3ludGF4
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS93cGUvc3ZnL2N1c3RvbS9wcmVzZXJ2
ZS1hc3BlY3QtcmF0aW8tc3ludGF4LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS93
cGUvc3ZnL2N1c3RvbS92aWV3Ym94LXN5bnRheC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxh
dGZvcm0vd3BlL3N2Zy9oaXhpZS9lcnJvci8wMTAtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBs
YXRmb3JtL3dwZS9zdmcvaGl4aWUvZXJyb3IvMDExLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgUmVw
bGFjZSB0aGUgcGFyc2luZyB3YXJuaW5nIG1lc3NhZ2VzIGJ5IGVycm9yIG1lc3NhZ2VzLiBSZXBv
cnQgZXJyb3IKKyAgICAgICAgbWVzc2FnZXMgaWYgYSBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvIHBh
cnNpbmcgZXJyb3IgaGFwcGVucy4KKworICAgICAgICAqIHN2Zy9kb20vbGVuZ3RoLWxpc3QtcGFy
c2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgU1ZHTGVuZ3RoTGlzdCB3YXMgdHJlYXRpbmcgdGhl
IGxlYWRpbmcgc3BhY2VzIGluIHRoZSBhdHRyaWJ1dGUgdmFsdWUgYXMKKyAgICAgICAgYW4gZXJy
b3IuCisKKyAgICAgICAgKiBzdmcvZG9tL3ZpZXdzcGVjLXBhcnNlci0xLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBzdmcvZG9tL3ZpZXdzcGVjLXBhcnNlci0xLmh0bWw6CisgICAgICAgIEV4dHJh
IHRleHQgYXQgdGhlIGVuZCBvZiBzdmdWaWV3IGF0dHJpYnV0ZSB2YWx1ZSB3YXMgbm90IHRyZWF0
ZWQgYXMgYW4KKyAgICAgICAgZXJyb3IuCisKKyAgICAgICAgKiBzdmcvaGl4aWUvZXJyb3IvMDEw
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdmcvaGl4aWUvZXJyb3IvMDExLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgUmVwbGFjZSB0aGUgcGFyc2luZyB3YXJuaW5nIG1lc3NhZ2VzIGJ5IGVycm9y
IG1lc3NhZ2VzLgorCiAyMDE5LTA1LTIyICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxl
LmNvbT4KIAogICAgICAgICBMYXlvdXQgVGVzdCBodHRwL3Rlc3RzL3NlY3VyaXR5L3Nob3dNb2Rh
bERpYWxvZy1zeW5jLWNyb3NzLW9yaWdpbi1wYWdlLWxvYWQyLmh0bWwgaXMgZmFpbGluZwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggMTRjNmI5NTdlMzQxM2I3NWIyNzdjNWFlMTBl
NDY1MmNiYmU4ODkzMS4uODUxMzE5Mjg4NjAwYTU2ODAzMDNkODQxYWYxYWZlY2VhM2Y5NGYxMiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTktMDUt
MjIgIFNhaWQgQWJvdS1IYWxsYXdhICA8c2FpZEBhcHBsZS5jb20+CisKKyAgICAgICAgVW5pZnkg
dGhlIHBhcnNpbmcgb2YgU1ZHTGlzdCBzdXBlciBjbGFzc2VzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTgwNzMKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3N5
bnRheC9wYXJzaW5nL2h0bWw1bGliX3Rlc3RzMTEtZXhwZWN0ZWQudHh0OgorICAgICAgICBSZXBv
cnQgZXJyb3IgbWVzc2FnZXMgaWYgYSBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvIG9yIFNWR1pvb21B
bmRQYW4gcGFyc2luZworICAgICAgICBlcnJvciBoYXBwZW5zLgorCisyMDE5LTA1LTIwICBTYWlk
IEFib3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CisKKyAgICAgICAgVW5pZnkg
dGhlIHBhcnNpbmcgb2YgU1ZHTGlzdCBzdXBlciBjbGFzc2VzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTc4MzEKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3N5
bnRheC9wYXJzaW5nL2h0bWw1bGliX3Rlc3RzMTEtZXhwZWN0ZWQudHh0OgorICAgICAgICBSZXBv
cnQgZXJyb3IgbWVzc2FnZXMgaWYgYSBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvIG9yIFNWR1pvb21B
bmRQYW4gcGFyc2luZworICAgICAgICBlcnJvciBoYXBwZW5zLgorCiAyMDE5LTA1LTIxICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CiAKICAgICAgICAgW21hY09TXSBDb21wYXRp
YmlsaXR5IG1vdXNlIGV2ZW50cyBhcmVuJ3QgcHJldmVudGVkIGJ5IGNhbGxpbmcgcHJldmVudERl
ZmF1bHQoKSBvbiBwb2ludGVyZG93bgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHRtbDVsaWIv
Z2VuZXJhdGVkL3J1bi10ZXN0czExLWRhdGEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHRt
bDVsaWIvZ2VuZXJhdGVkL3J1bi10ZXN0czExLWRhdGEtZXhwZWN0ZWQudHh0CmluZGV4IDE3NmI1
YzA3Yzc4YjFlMTAwNjM1NzBlNWU2NTIwMjU4NmRlODA0YTguLjRlNGZiYzAyMGRiZDQ1Y2EzMDI4
YTVlOTVmYTFkYWJjNzA1ZjkwMGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0bWw1bGliL2dl
bmVyYXRlZC9ydW4tdGVzdHMxMS1kYXRhLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9o
dG1sNWxpYi9nZW5lcmF0ZWQvcnVuLXRlc3RzMTEtZGF0YS1leHBlY3RlZC50eHQKQEAgLTEsNCAr
MSwxMCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IFdhcm5pbmc6IFByb2JsZW0gcGFyc2lu
ZyB2aWV3Qm94PSIiCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogV2FybmluZzogUHJvYmxlbSBw
YXJzaW5nIHZpZXdCb3g9IiIKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBXYXJuaW5nOiBQcm9i
bGVtIHBhcnNpbmcgdmlld0JveD0iIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IEVycm9yOiBJ
bnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgcHJlc2VydmVBc3BlY3RSYXRpbz0iIgor
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBh
dHRyaWJ1dGUgdmlld0JveD0iIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IEVycm9yOiBVbnJl
Y29nbml6ZWQgZW51bWVyYXRlZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHpvb21BbmRQYW49
IiIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2
Zz4gYXR0cmlidXRlIHByZXNlcnZlQXNwZWN0UmF0aW89IiIKK0NPTlNPTEUgTUVTU0FHRTogbGlu
ZSAxOiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IiIK
K0NPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBFcnJvcjogVW5yZWNvZ25pemVkIGVudW1lcmF0ZWQg
dmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB6b29tQW5kUGFuPSIiCitDT05TT0xFIE1FU1NBR0U6
IGxpbmUgMTogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSBwcmVzZXJ2
ZUFzcGVjdFJhdGlvPSIiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogRXJyb3I6IEludmFsaWQg
dmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIiCitDT05TT0xFIE1FU1NBR0U6IGxp
bmUgMTogRXJyb3I6IFVucmVjb2duaXplZCBlbnVtZXJhdGVkIHZhbHVlIGZvciA8c3ZnPiBhdHRy
aWJ1dGUgem9vbUFuZFBhbj0iIgogLi4vcmVzb3VyY2VzL3Rlc3RzMTEuZGF0OiBQQVNTCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odG1sNWxpYi9nZW5lcmF0ZWQvcnVuLXRlc3RzMTEtd3JpdGUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHRtbDVsaWIvZ2VuZXJhdGVkL3J1bi10ZXN0czEx
LXdyaXRlLWV4cGVjdGVkLnR4dAppbmRleCA5YWM2ODJhZTkyZDdkY2QxNGJiYzlhY2M5OGViMzZi
ODRiNjVlZWNjLi5hODkzMDljYjMyMjY0NTA3OWVlYWE5YjBiNTYxYzBkMzIwNDIzYzkzIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9odG1sNWxpYi9nZW5lcmF0ZWQvcnVuLXRlc3RzMTEtd3JpdGUt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0bWw1bGliL2dlbmVyYXRlZC9ydW4tdGVz
dHMxMS13cml0ZS1leHBlY3RlZC50eHQKQEAgLTEsNCArMSwxMCBAQAotQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDE2ODogV2FybmluZzogUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9IiIKLUNPTlNPTEUg
TUVTU0FHRTogbGluZSAxNjg6IFdhcm5pbmc6IFByb2JsZW0gcGFyc2luZyB2aWV3Qm94PSIiCi1D
T05TT0xFIE1FU1NBR0U6IGxpbmUgMTY4OiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0Jv
eD0iIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE2ODogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9y
IDxzdmc+IGF0dHJpYnV0ZSBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSIiCitDT05TT0xFIE1FU1NBR0U6
IGxpbmUgMTY4OiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdC
b3g9IiIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxNjg6IEVycm9yOiBVbnJlY29nbml6ZWQgZW51
bWVyYXRlZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHpvb21BbmRQYW49IiIKK0NPTlNPTEUg
TUVTU0FHRTogbGluZSAxNjg6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1
dGUgcHJlc2VydmVBc3BlY3RSYXRpbz0iIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE2ODogRXJy
b3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIiCitDT05TT0xF
IE1FU1NBR0U6IGxpbmUgMTY4OiBFcnJvcjogVW5yZWNvZ25pemVkIGVudW1lcmF0ZWQgdmFsdWUg
Zm9yIDxzdmc+IGF0dHJpYnV0ZSB6b29tQW5kUGFuPSIiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUg
MTY4OiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHByZXNlcnZlQXNw
ZWN0UmF0aW89IiIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxNjg6IEVycm9yOiBJbnZhbGlkIHZh
bHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iIgorQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDE2ODogRXJyb3I6IFVucmVjb2duaXplZCBlbnVtZXJhdGVkIHZhbHVlIGZvciA8c3ZnPiBhdHRy
aWJ1dGUgem9vbUFuZFBhbj0iIgogLi4vcmVzb3VyY2VzL3Rlc3RzMTEuZGF0OiBQQVNTCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
c3ludGF4L3BhcnNpbmcvaHRtbDVsaWJfdGVzdHMxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc3ludGF4L3BhcnNpbmcvaHRt
bDVsaWJfdGVzdHMxMS1leHBlY3RlZC50eHQKaW5kZXggNWYzMGZjOGQwNDJjNzMzZTQ5NTg2YmM5
ZThlYzZjZjk2OTE1YzhlZi4uYWU5MDcyODI4YmQzNmFmZjJlYTdmY2M2MmRjNTE3OTFlM2E5MjQ2
ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL3N5bnRheC9wYXJzaW5nL2h0bWw1bGliX3Rlc3RzMTEtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zeW50YXgv
cGFyc2luZy9odG1sNWxpYl90ZXN0czExLWV4cGVjdGVkLnR4dApAQCAtMSw2ICsxLDEyIEBACi1D
T05TT0xFIE1FU1NBR0U6IGxpbmUgMTogV2FybmluZzogUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9
IiIKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmll
d0JveD0iIgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IFdhcm5pbmc6IFByb2JsZW0gcGFyc2lu
ZyB2aWV3Qm94PSIiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogRXJyb3I6IEludmFsaWQgdmFs
dWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSIiCitDT05TT0xFIE1F
U1NBR0U6IGxpbmUgMTogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2
aWV3Qm94PSIiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogRXJyb3I6IFVucmVjb2duaXplZCBl
bnVtZXJhdGVkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgem9vbUFuZFBhbj0iIgorQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDE6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1
dGUgcHJlc2VydmVBc3BlY3RSYXRpbz0iIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IEVycm9y
OiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iIgorQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDE6IEVycm9yOiBVbnJlY29nbml6ZWQgZW51bWVyYXRlZCB2YWx1ZSBmb3Ig
PHN2Zz4gYXR0cmlidXRlIHpvb21BbmRQYW49IiIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBF
cnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHByZXNlcnZlQXNwZWN0UmF0
aW89IiIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3Ig
PHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IiIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBFcnJv
cjogVW5yZWNvZ25pemVkIGVudW1lcmF0ZWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB6b29t
QW5kUGFuPSIiCiBodG1sNWxpYiBQYXJzZXIgVGVzdAogCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL2d0ay9zdmcvY3VzdG9tL3ByZXNlcnZlLWFzcGVjdC1yYXRpby1zeW50YXgt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL3N2Zy9jdXN0b20vcHJlc2Vy
dmUtYXNwZWN0LXJhdGlvLXN5bnRheC1leHBlY3RlZC50eHQKaW5kZXggZDk2NGM1ZTdkNjU1NmE2
OGU1OGU0YzFlYjRlYjQ3Yjg1NzkwYjJiMy4uNDE1MDhhZTE5NDlhZjA4NzEzYzlhM2MxOTU1ZTZl
MmMxYjMzODNlNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL3N2Zy9jdXN0
b20vcHJlc2VydmUtYXNwZWN0LXJhdGlvLXN5bnRheC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZ3RrL3N2Zy9jdXN0b20vcHJlc2VydmUtYXNwZWN0LXJhdGlvLXN5bnRh
eC1leHBlY3RlZC50eHQKQEAgLTEsMyArMSw4IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjM6
IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgcHJlc2VydmVBc3BlY3RS
YXRpbz0iZGVmZXIgbWVldCIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyNjogRXJyb3I6IEludmFs
aWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJkZWZlciB4
TWlkWU1pZCBtZWV0IGEiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjk6IEVycm9yOiBJbnZhbGlk
IHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgcHJlc2VydmVBc3BlY3RSYXRpbz0iZGVmZXIgMSB4
TWlkWU1pZCBtZWV0IgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDMyOiBFcnJvcjogSW52YWxpZCB2
YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHByZXNlcnZlQXNwZWN0UmF0aW89ImRlZmVyICwgeE1p
ZFlNaWQgbWVldCIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAzNTogRXJyb3I6IEludmFsaWQgdmFs
dWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSIiCiBsYXllciBhdCAo
MCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKIGxh
eWVyIGF0ICgwLDApIHNpemUgODAweDYwMApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vZ3RrL3N2Zy9jdXN0b20vdmlld2JveC1zeW50YXgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vZ3RrL3N2Zy9jdXN0b20vdmlld2JveC1zeW50YXgtZXhwZWN0ZWQudHh0Cmlu
ZGV4IGUwZGRlZjUzNjc3YmQxZDNiMGJmYTI1YWFhYTQ0YjRiMGQ5ZmI5NWUuLjRiZmJlYjJjN2Iy
NzlhMmJkZDIzYzgzMzAxNWQxYWRhODNiOWVmZjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2d0ay9zdmcvY3VzdG9tL3ZpZXdib3gtc3ludGF4LWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvc3ZnL2N1c3RvbS92aWV3Ym94LXN5bnRheC1leHBlY3Rl
ZC50eHQKQEAgLTEsMTMgKzEsMTMgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAyMDogV2Fybmlu
ZzogUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9IjAiCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjM6
IFdhcm5pbmc6IFByb2JsZW0gcGFyc2luZyB2aWV3Qm94PSIwIDAiCi1DT05TT0xFIE1FU1NBR0U6
IGxpbmUgMjY6IFdhcm5pbmc6IFByb2JsZW0gcGFyc2luZyB2aWV3Qm94PSIwIDAgMzAiCi1DT05T
T0xFIE1FU1NBR0U6IGxpbmUgMjk6IFdhcm5pbmc6IFByb2JsZW0gcGFyc2luZyB2aWV3Qm94PSIw
IDAgMzAgNDAgNTAiCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMzI6IFdhcm5pbmc6IFByb2JsZW0g
cGFyc2luZyB2aWV3Qm94PSIwIDAgMzAgNDAsIgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDM1OiBX
YXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0JveD0iLDAgMCAzMCA0MCIKLUNPTlNPTEUgTUVT
U0FHRTogbGluZSAzODogRXJyb3I6IEEgbmVnYXRpdmUgdmFsdWUgZm9yIFZpZXdCb3ggd2lkdGgg
aXMgbm90IGFsbG93ZWQKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA0MTogRXJyb3I6IEEgbmVnYXRp
dmUgdmFsdWUgZm9yIFZpZXdCb3ggaGVpZ2h0IGlzIG5vdCBhbGxvd2VkCi1DT05TT0xFIE1FU1NB
R0U6IGxpbmUgNDQ6IFdhcm5pbmc6IFByb2JsZW0gcGFyc2luZyB2aWV3Qm94PSIwIDAgMzAsICwg
NDAiCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNDc6IFdhcm5pbmc6IFByb2JsZW0gcGFyc2luZyB2
aWV3Qm94PSIwIDAgMzAlIDQwIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIwOiBFcnJvcjogSW52
YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAiCitDT05TT0xFIE1FU1NB
R0U6IGxpbmUgMjM6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmll
d0JveD0iMCAwIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI2OiBFcnJvcjogSW52YWxpZCB2YWx1
ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAgMCAzMCIKK0NPTlNPTEUgTUVTU0FHRTog
bGluZSAyOTogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94
PSIwIDAgMzAgNDAgNTAiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzI6IEVycm9yOiBJbnZhbGlk
IHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iMCAwIDMwIDQwLCIKK0NPTlNPTEUg
TUVTU0FHRTogbGluZSAzNTogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0
ZSB2aWV3Qm94PSIsMCAwIDMwIDQwIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDM4OiBFcnJvcjog
SW52YWxpZCBuZWdhdGl2ZSB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAgMCAt
MzAgNDAiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNDE6IEVycm9yOiBJbnZhbGlkIG5lZ2F0aXZl
IHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iMCAwIDMwIC00MCIKK0NPTlNPTEUg
TUVTU0FHRTogbGluZSA0NDogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0
ZSB2aWV3Qm94PSIwIDAgMzAsICwgNDAiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNDc6IEVycm9y
OiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iMCAwIDMwJSA0MCIK
IGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUg
ODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGsvc3ZnL2hpeGllL2Vycm9yLzAxMC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9ndGsvc3ZnL2hpeGllL2Vycm9yLzAxMC1leHBlY3RlZC50eHQKaW5k
ZXggYjdhZDRmOTY3ZDFjMDEzYzc4MDBmN2EwYjQ2YmQxZmE3MGQ0OTRkOC4uZGQyMDcwNTM5ZTE2
ZDllODNmMTMyNWM5MGM4ODBhZjhmZjc3NTk1YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vZ3RrL3N2Zy9oaXhpZS9lcnJvci8wMTAtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2d0ay9zdmcvaGl4aWUvZXJyb3IvMDEwLWV4cGVjdGVkLnR4dApAQCAtMSw0
ICsxLDQgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNp
bmcgdmlld0JveD0iMCAwIDEgMSAxIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IEVycm9yOiBJ
bnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iMCAwIDEgMSAxIgogbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2d0ay9zdmcvaGl4aWUvZXJyb3IvMDExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2d0ay9zdmcvaGl4aWUvZXJyb3IvMDExLWV4cGVjdGVkLnR4dAppbmRleCBh
NWQ4YmU3ODQ2YWE4NGQ1OGI0NzNiODUxODk1YTk1ZGI5MGM0ZGU3Li45ZDA5ZmM2ODE2ZTk0MTVl
Y2U2MjQ5ZDZmZDI2YjM2N2RiZTYwOTdjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9ndGsvc3ZnL2hpeGllL2Vycm9yLzAxMS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZ3RrL3N2Zy9oaXhpZS9lcnJvci8wMTEtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEs
NCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IFdhcm5pbmc6IFByb2JsZW0gcGFyc2luZyB2
aWV3Qm94PSIwIDAsLCAxIDEiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogRXJyb3I6IEludmFs
aWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIwIDAsLCAxIDEiCiBsYXllciBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
IGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vaW9zL3N2Zy9jdXN0b20vcHJlc2VydmUtYXNwZWN0LXJhdGlvLXN5bnRheC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mvc3ZnL2N1c3RvbS9wcmVzZXJ2ZS1hc3Bl
Y3QtcmF0aW8tc3ludGF4LWV4cGVjdGVkLnR4dAppbmRleCA3Mzc4YTM3YmFiODMxY2JkNDhjMWE3
ODc0NWE3YTIyZmQ1ZDBhOTRiLi5lMjM3YWIzYTlkMWUxMThjNzBhYTUzNmNjYTQ4NzQ2MGRkN2Yy
NjkwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mvc3ZnL2N1c3RvbS9wcmVz
ZXJ2ZS1hc3BlY3QtcmF0aW8tc3ludGF4LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9pb3Mvc3ZnL2N1c3RvbS9wcmVzZXJ2ZS1hc3BlY3QtcmF0aW8tc3ludGF4LWV4cGVj
dGVkLnR4dApAQCAtMSwzICsxLDggQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyMzogRXJyb3I6
IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJk
ZWZlciBtZWV0IgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI2OiBFcnJvcjogSW52YWxpZCB2YWx1
ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHByZXNlcnZlQXNwZWN0UmF0aW89ImRlZmVyIHhNaWRZTWlk
IG1lZXQgYSIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyOTogRXJyb3I6IEludmFsaWQgdmFsdWUg
Zm9yIDxzdmc+IGF0dHJpYnV0ZSBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJkZWZlciAxIHhNaWRZTWlk
IG1lZXQiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzI6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZv
ciA8c3ZnPiBhdHRyaWJ1dGUgcHJlc2VydmVBc3BlY3RSYXRpbz0iZGVmZXIgLCB4TWlkWU1pZCBt
ZWV0IgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDM1OiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3Ig
PHN2Zz4gYXR0cmlidXRlIHByZXNlcnZlQXNwZWN0UmF0aW89IiIKIGxheWVyIGF0ICgwLDApIHNp
emUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mv
c3ZnL2N1c3RvbS92aWV3Ym94LXN5bnRheC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9pb3Mvc3ZnL2N1c3RvbS92aWV3Ym94LXN5bnRheC1leHBlY3RlZC50eHQKaW5kZXggYzli
MWEyNWFjZjIxY2E5MDA1N2RjYzNhNzQ4YjNiOWVmZTUwMmRhOS4uOTNhZTVhMzNiMjg0Y2UzZmZi
YjU4ZmJkZmQxMjU2NmM0NTgxYTU1ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aW9zL3N2Zy9jdXN0b20vdmlld2JveC1zeW50YXgtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2lvcy9zdmcvY3VzdG9tL3ZpZXdib3gtc3ludGF4LWV4cGVjdGVkLnR4dApA
QCAtMSwxMyArMSwxMyBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIwOiBXYXJuaW5nOiBQcm9i
bGVtIHBhcnNpbmcgdmlld0JveD0iMCIKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAyMzogV2Fybmlu
ZzogUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9IjAgMCIKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAy
NjogV2FybmluZzogUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9IjAgMCAzMCIKLUNPTlNPTEUgTUVT
U0FHRTogbGluZSAyOTogV2FybmluZzogUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9IjAgMCAzMCA0
MCA1MCIKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAzMjogV2FybmluZzogUHJvYmxlbSBwYXJzaW5n
IHZpZXdCb3g9IjAgMCAzMCA0MCwiCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMzU6IFdhcm5pbmc6
IFByb2JsZW0gcGFyc2luZyB2aWV3Qm94PSIsMCAwIDMwIDQwIgotQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDM4OiBFcnJvcjogQSBuZWdhdGl2ZSB2YWx1ZSBmb3IgVmlld0JveCB3aWR0aCBpcyBub3Qg
YWxsb3dlZAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQxOiBFcnJvcjogQSBuZWdhdGl2ZSB2YWx1
ZSBmb3IgVmlld0JveCBoZWlnaHQgaXMgbm90IGFsbG93ZWQKLUNPTlNPTEUgTUVTU0FHRTogbGlu
ZSA0NDogV2FybmluZzogUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9IjAgMCAzMCwgLCA0MCIKLUNP
TlNPTEUgTUVTU0FHRTogbGluZSA0NzogV2FybmluZzogUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9
IjAgMCAzMCUgNDAiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjA6IEVycm9yOiBJbnZhbGlkIHZh
bHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iMCIKK0NPTlNPTEUgTUVTU0FHRTogbGlu
ZSAyMzogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIw
IDAiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjY6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8
c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iMCAwIDMwIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI5
OiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAgMCAz
MCA0MCA1MCIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAzMjogRXJyb3I6IEludmFsaWQgdmFsdWUg
Zm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIwIDAgMzAgNDAsIgorQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDM1OiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdC
b3g9IiwwIDAgMzAgNDAiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzg6IEVycm9yOiBJbnZhbGlk
IG5lZ2F0aXZlIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iMCAwIC0zMCA0MCIK
K0NPTlNPTEUgTUVTU0FHRTogbGluZSA0MTogRXJyb3I6IEludmFsaWQgbmVnYXRpdmUgdmFsdWUg
Zm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIwIDAgMzAgLTQwIgorQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDQ0OiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdC
b3g9IjAgMCAzMCwgLCA0MCIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA0NzogRXJyb3I6IEludmFs
aWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIwIDAgMzAlIDQwIgogbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAw
CiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2lvcy9zdmcvaGl4aWUvZXJyb3IvMDEwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2lvcy9zdmcvaGl4aWUvZXJyb3IvMDEwLWV4cGVjdGVkLnR4dAppbmRleCA5MmJj
YzM5ZmE3MzQ4Y2IzNTAwYjkxNTM4Y2Q3OTJhZmJkNGUzYTQ5Li40NThhYzQwY2ViZWFmZTNmODU4
MmE5MWQ1NmMzMmE2MTQ5MjQ3Y2U2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9p
b3Mvc3ZnL2hpeGllL2Vycm9yLzAxMC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vaW9zL3N2Zy9oaXhpZS9lcnJvci8wMTAtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBA
QAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IFdhcm5pbmc6IFByb2JsZW0gcGFyc2luZyB2aWV3
Qm94PSIwIDAgMSAxIDEiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogRXJyb3I6IEludmFsaWQg
dmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIwIDAgMSAxIDEiCiBsYXllciBhdCAo
MCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKIGxh
eWVyIGF0ICgwLDApIHNpemUgODAweDYwMApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vaW9zL3N2Zy9oaXhpZS9lcnJvci8wMTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vaW9zL3N2Zy9oaXhpZS9lcnJvci8wMTEtZXhwZWN0ZWQudHh0CmluZGV4IGZiZjQ4YzBh
MzU0OTBmMzI0ODE5YmUwYzc4NzNlZmE2MDdkOGQ0YTIuLjc2ZGY1NmZmYWZjZDUxMGFjYjI3YmRk
NzkwYmVjMjM3MWMxZDUwNGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9z
dmcvaGl4aWUvZXJyb3IvMDExLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9pb3Mvc3ZnL2hpeGllL2Vycm9yLzAxMS1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACi1D
T05TT0xFIE1FU1NBR0U6IGxpbmUgMTogV2FybmluZzogUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9
IjAgMCwsIDEgMSIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBFcnJvcjogSW52YWxpZCB2YWx1
ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAgMCwsIDEgMSIKIGxheWVyIGF0ICgwLDAp
IHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAogbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA4MDB4NjAwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvc3ZnL2N1c3RvbS9wcmVzZXJ2ZS1hc3BlY3QtcmF0aW8tc3ludGF4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL3ByZXNlcnZlLWFzcGVjdC1yYXRp
by1zeW50YXgtZXhwZWN0ZWQudHh0CmluZGV4IDRhMWYzNGE3Y2MxMTJiNmMyNzRiY2IwMDRlZGJl
ZmMxMTdhZWE5OTguLmFjOTFmOTYxOGYxYWJiMDYxMzM0M2FjNjIwMGM0MWUwM2Q0ZmY1MWQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL3ByZXNlcnZlLWFz
cGVjdC1yYXRpby1zeW50YXgtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9zdmcvY3VzdG9tL3ByZXNlcnZlLWFzcGVjdC1yYXRpby1zeW50YXgtZXhwZWN0ZWQudHh0
CkBAIC0xLDMgKzEsOCBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIzOiBFcnJvcjogSW52YWxp
ZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHByZXNlcnZlQXNwZWN0UmF0aW89ImRlZmVyIG1l
ZXQiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjY6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8
c3ZnPiBhdHRyaWJ1dGUgcHJlc2VydmVBc3BlY3RSYXRpbz0iZGVmZXIgeE1pZFlNaWQgbWVldCBh
IgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI5OiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2
Zz4gYXR0cmlidXRlIHByZXNlcnZlQXNwZWN0UmF0aW89ImRlZmVyIDEgeE1pZFlNaWQgbWVldCIK
K0NPTlNPTEUgTUVTU0FHRTogbGluZSAzMjogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+
IGF0dHJpYnV0ZSBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJkZWZlciAsIHhNaWRZTWlkIG1lZXQiCitD
T05TT0xFIE1FU1NBR0U6IGxpbmUgMzU6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBh
dHRyaWJ1dGUgcHJlc2VydmVBc3BlY3RSYXRpbz0iIgogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiBsYXllciBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3Vz
dG9tL3ZpZXdib3gtc3ludGF4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9zdmcvY3VzdG9tL3ZpZXdib3gtc3ludGF4LWV4cGVjdGVkLnR4dAppbmRleCA4OTlhZmNlZjcz
YmU2ODQxOTc5MDhhY2I1ZDhhYmNjZTAzODBhOGMwLi4yYmNiZjhlNjUzNDI4Y2YxZmMzZTk5MTJi
ZjI1YTNjYWQwNDY5YWQyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3Zn
L2N1c3RvbS92aWV3Ym94LXN5bnRheC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL3N2Zy9jdXN0b20vdmlld2JveC1zeW50YXgtZXhwZWN0ZWQudHh0CkBAIC0xLDEz
ICsxLDEzIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjA6IFdhcm5pbmc6IFByb2JsZW0gcGFy
c2luZyB2aWV3Qm94PSIwIgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIzOiBXYXJuaW5nOiBQcm9i
bGVtIHBhcnNpbmcgdmlld0JveD0iMCAwIgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI2OiBXYXJu
aW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0JveD0iMCAwIDMwIgotQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDI5OiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0JveD0iMCAwIDMwIDQwIDUwIgot
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDMyOiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0Jv
eD0iMCAwIDMwIDQwLCIKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAzNTogV2FybmluZzogUHJvYmxl
bSBwYXJzaW5nIHZpZXdCb3g9IiwwIDAgMzAgNDAiCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMzg6
IEVycm9yOiBBIG5lZ2F0aXZlIHZhbHVlIGZvciBWaWV3Qm94IHdpZHRoIGlzIG5vdCBhbGxvd2Vk
Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNDE6IEVycm9yOiBBIG5lZ2F0aXZlIHZhbHVlIGZvciBW
aWV3Qm94IGhlaWdodCBpcyBub3QgYWxsb3dlZAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQ0OiBX
YXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0JveD0iMCAwIDMwLCAsIDQwIgotQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDQ3OiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0JveD0iMCAwIDMw
JSA0MCIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyMDogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9y
IDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIwIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIzOiBF
cnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAgMCIKK0NP
TlNPTEUgTUVTU0FHRTogbGluZSAyNjogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0
dHJpYnV0ZSB2aWV3Qm94PSIwIDAgMzAiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjk6IEVycm9y
OiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iMCAwIDMwIDQwIDUw
IgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDMyOiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2
Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAgMCAzMCA0MCwiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUg
MzU6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iLDAg
MCAzMCA0MCIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAzODogRXJyb3I6IEludmFsaWQgbmVnYXRp
dmUgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIwIDAgLTMwIDQwIgorQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDQxOiBFcnJvcjogSW52YWxpZCBuZWdhdGl2ZSB2YWx1ZSBmb3IgPHN2
Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAgMCAzMCAtNDAiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUg
NDQ6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iMCAw
IDMwLCAsIDQwIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQ3OiBFcnJvcjogSW52YWxpZCB2YWx1
ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAgMCAzMCUgNDAiCiBsYXllciBhdCAoMCww
KSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKIGxheWVy
IGF0ICgwLDApIHNpemUgODAweDYwMApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL3N2Zy9oaXhpZS9lcnJvci8wMTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL3N2Zy9oaXhpZS9lcnJvci8wMTAtZXhwZWN0ZWQudHh0CmluZGV4IDkyYmNjMzlmYTcz
NDhjYjM1MDBiOTE1MzhjZDc5MmFmYmQ0ZTNhNDkuLjQ1OGFjNDBjZWJlYWZlM2Y4NTgyYTkxZDU2
YzMyYTYxNDkyNDdjZTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcv
aGl4aWUvZXJyb3IvMDEwLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvc3ZnL2hpeGllL2Vycm9yLzAxMC1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACi1DT05T
T0xFIE1FU1NBR0U6IGxpbmUgMTogV2FybmluZzogUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9IjAg
MCAxIDEgMSIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBFcnJvcjogSW52YWxpZCB2YWx1ZSBm
b3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAgMCAxIDEgMSIKIGxheWVyIGF0ICgwLDApIHNp
emUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
c3ZnL2hpeGllL2Vycm9yLzAxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvc3ZnL2hpeGllL2Vycm9yLzAxMS1leHBlY3RlZC50eHQKaW5kZXggZmJmNDhjMGEzNTQ5MGYz
MjQ4MTliZTBjNzg3M2VmYTYwN2Q4ZDRhMi4uNzZkZjU2ZmZhZmNkNTEwYWNiMjdiZGQ3OTBiZWMy
MzcxYzFkNTA0ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9oaXhp
ZS9lcnJvci8wMTEtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9z
dmcvaGl4aWUvZXJyb3IvMDExLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKLUNPTlNPTEUg
TUVTU0FHRTogbGluZSAxOiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0JveD0iMCAwLCwg
MSAxIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8
c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iMCAwLCwgMSAxIgogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiBsYXllciBhdCAoMCww
KSBzaXplIDgwMHg2MDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9zdmcv
Y3VzdG9tL3ByZXNlcnZlLWFzcGVjdC1yYXRpby1zeW50YXgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd2luL3N2Zy9jdXN0b20vcHJlc2VydmUtYXNwZWN0LXJhdGlvLXN5bnRh
eC1leHBlY3RlZC50eHQKaW5kZXggZDZkMTA1NzI2ODk4NjdkM2UxZGMyOThlNTczYzYzNjdiMmJj
MDQ5NC4uMTkxZjNlNjM1ZjE4OTkwMTg5N2U3YmQyNjBiZjIwYjRmZGFiZTQzMyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL3N2Zy9jdXN0b20vcHJlc2VydmUtYXNwZWN0LXJh
dGlvLXN5bnRheC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL3N2
Zy9jdXN0b20vcHJlc2VydmUtYXNwZWN0LXJhdGlvLXN5bnRheC1leHBlY3RlZC50eHQKQEAgLTEs
MyArMSw4IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjM6IEVycm9yOiBJbnZhbGlkIHZhbHVl
IGZvciA8c3ZnPiBhdHRyaWJ1dGUgcHJlc2VydmVBc3BlY3RSYXRpbz0iZGVmZXIgbWVldCIKK0NP
TlNPTEUgTUVTU0FHRTogbGluZSAyNjogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0
dHJpYnV0ZSBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJkZWZlciB4TWlkWU1pZCBtZWV0IGEiCitDT05T
T0xFIE1FU1NBR0U6IGxpbmUgMjk6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRy
aWJ1dGUgcHJlc2VydmVBc3BlY3RSYXRpbz0iZGVmZXIgMSB4TWlkWU1pZCBtZWV0IgorQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDMyOiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmli
dXRlIHByZXNlcnZlQXNwZWN0UmF0aW89ImRlZmVyICwgeE1pZFlNaWQgbWVldCIKK0NPTlNPTEUg
TUVTU0FHRTogbGluZSAzNTogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0
ZSBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSIiCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAg
UmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKIGxheWVyIGF0ICgwLDApIHNpemUgODAw
eDYwMApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL3N2Zy9jdXN0b20vdmll
d2JveC1zeW50YXgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL3N2Zy9j
dXN0b20vdmlld2JveC1zeW50YXgtZXhwZWN0ZWQudHh0CmluZGV4IDYyNmNkNmE5NDZhMjU5YTY5
Yjk0YmQ5MDMwZTMyZTFhMjY0N2RhNDcuLmY5OTQxNzhmOGRjZTc4ZjFhNzRhZjM5ZTA0ZDdmMzNh
NmY4MmVjMzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9zdmcvY3VzdG9t
L3ZpZXdib3gtc3ludGF4LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93
aW4vc3ZnL2N1c3RvbS92aWV3Ym94LXN5bnRheC1leHBlY3RlZC50eHQKQEAgLTEsMTMgKzEsMTMg
QEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAyMDogV2FybmluZzogUHJvYmxlbSBwYXJzaW5nIHZp
ZXdCb3g9IjAiCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjM6IFdhcm5pbmc6IFByb2JsZW0gcGFy
c2luZyB2aWV3Qm94PSIwIDAiCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjY6IFdhcm5pbmc6IFBy
b2JsZW0gcGFyc2luZyB2aWV3Qm94PSIwIDAgMzAiCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjk6
IFdhcm5pbmc6IFByb2JsZW0gcGFyc2luZyB2aWV3Qm94PSIwIDAgMzAgNDAgNTAiCi1DT05TT0xF
IE1FU1NBR0U6IGxpbmUgMzI6IFdhcm5pbmc6IFByb2JsZW0gcGFyc2luZyB2aWV3Qm94PSIwIDAg
MzAgNDAsIgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDM1OiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNp
bmcgdmlld0JveD0iLDAgMCAzMCA0MCIKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAzODogRXJyb3I6
IEEgbmVnYXRpdmUgdmFsdWUgZm9yIFZpZXdCb3ggd2lkdGggaXMgbm90IGFsbG93ZWQKLUNPTlNP
TEUgTUVTU0FHRTogbGluZSA0MTogRXJyb3I6IEEgbmVnYXRpdmUgdmFsdWUgZm9yIFZpZXdCb3gg
aGVpZ2h0IGlzIG5vdCBhbGxvd2VkCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNDQ6IFdhcm5pbmc6
IFByb2JsZW0gcGFyc2luZyB2aWV3Qm94PSIwIDAgMzAsICwgNDAiCi1DT05TT0xFIE1FU1NBR0U6
IGxpbmUgNDc6IFdhcm5pbmc6IFByb2JsZW0gcGFyc2luZyB2aWV3Qm94PSIwIDAgMzAlIDQwIgor
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDIwOiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4g
YXR0cmlidXRlIHZpZXdCb3g9IjAiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjM6IEVycm9yOiBJ
bnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iMCAwIgorQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDI2OiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRl
IHZpZXdCb3g9IjAgMCAzMCIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyOTogRXJyb3I6IEludmFs
aWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIwIDAgMzAgNDAgNTAiCitDT05T
T0xFIE1FU1NBR0U6IGxpbmUgMzI6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRy
aWJ1dGUgdmlld0JveD0iMCAwIDMwIDQwLCIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAzNTogRXJy
b3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIsMCAwIDMwIDQw
IgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDM4OiBFcnJvcjogSW52YWxpZCBuZWdhdGl2ZSB2YWx1
ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAgMCAtMzAgNDAiCitDT05TT0xFIE1FU1NB
R0U6IGxpbmUgNDE6IEVycm9yOiBJbnZhbGlkIG5lZ2F0aXZlIHZhbHVlIGZvciA8c3ZnPiBhdHRy
aWJ1dGUgdmlld0JveD0iMCAwIDMwIC00MCIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA0NDogRXJy
b3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIwIDAgMzAsICwg
NDAiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNDc6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8
c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iMCAwIDMwJSA0MCIKIGxheWVyIGF0ICgwLDApIHNpemUg
ODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vc3Zn
L2hpeGllL2Vycm9yLzAxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4v
c3ZnL2hpeGllL2Vycm9yLzAxMC1leHBlY3RlZC50eHQKaW5kZXggYjdhZDRmOTY3ZDFjMDEzYzc4
MDBmN2EwYjQ2YmQxZmE3MGQ0OTRkOC4uZGQyMDcwNTM5ZTE2ZDllODNmMTMyNWM5MGM4ODBhZjhm
Zjc3NTk1YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL3N2Zy9oaXhpZS9l
cnJvci8wMTAtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9zdmcv
aGl4aWUvZXJyb3IvMDEwLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKLUNPTlNPTEUgTUVT
U0FHRTogbGluZSAxOiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0JveD0iMCAwIDEgMSAx
IgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3Zn
PiBhdHRyaWJ1dGUgdmlld0JveD0iMCAwIDEgMSAxIgogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiBsYXllciBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9zdmcvaGl4
aWUvZXJyb3IvMDExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9zdmcv
aGl4aWUvZXJyb3IvMDExLWV4cGVjdGVkLnR4dAppbmRleCBhNWQ4YmU3ODQ2YWE4NGQ1OGI0NzNi
ODUxODk1YTk1ZGI5MGM0ZGU3Li45ZDA5ZmM2ODE2ZTk0MTVlY2U2MjQ5ZDZmZDI2YjM2N2RiZTYw
OTdjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vc3ZnL2hpeGllL2Vycm9y
LzAxMS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL3N2Zy9oaXhp
ZS9lcnJvci8wMTEtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAotQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDE6IFdhcm5pbmc6IFByb2JsZW0gcGFyc2luZyB2aWV3Qm94PSIwIDAsLCAxIDEiCitD
T05TT0xFIE1FU1NBR0U6IGxpbmUgMTogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0
dHJpYnV0ZSB2aWV3Qm94PSIwIDAsLCAxIDEiCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
ICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKIGxheWVyIGF0ICgwLDApIHNpemUg
ODAweDYwMApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vc3ZnL2N1
c3RvbS9wcmVzZXJ2ZS1hc3BlY3QtcmF0aW8tc3ludGF4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL3dpbmNhaXJvL3N2Zy9jdXN0b20vcHJlc2VydmUtYXNwZWN0LXJhdGlvLXN5
bnRheC1leHBlY3RlZC50eHQKaW5kZXggNWY2NzcwNGM3YTE0YzdmOWYzNmY4ZTVkZWZmOTljZjVm
YTllZDUxYy4uM2NmMTg1YTE4YzlhMTBkNTllOWYwOTg1ZjFlMjA0MzI3YmRlMzlkMiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vc3ZnL2N1c3RvbS9wcmVzZXJ2ZS1h
c3BlY3QtcmF0aW8tc3ludGF4LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS93aW5jYWlyby9zdmcvY3VzdG9tL3ByZXNlcnZlLWFzcGVjdC1yYXRpby1zeW50YXgtZXhwZWN0
ZWQudHh0CkBAIC0xLDMgKzEsOCBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIzOiBFcnJvcjog
SW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHByZXNlcnZlQXNwZWN0UmF0aW89ImRl
ZmVyIG1lZXQiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjY6IEVycm9yOiBJbnZhbGlkIHZhbHVl
IGZvciA8c3ZnPiBhdHRyaWJ1dGUgcHJlc2VydmVBc3BlY3RSYXRpbz0iZGVmZXIgeE1pZFlNaWQg
bWVldCBhIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI5OiBFcnJvcjogSW52YWxpZCB2YWx1ZSBm
b3IgPHN2Zz4gYXR0cmlidXRlIHByZXNlcnZlQXNwZWN0UmF0aW89ImRlZmVyIDEgeE1pZFlNaWQg
bWVldCIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAzMjogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9y
IDxzdmc+IGF0dHJpYnV0ZSBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJkZWZlciAsIHhNaWRZTWlkIG1l
ZXQiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzU6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8
c3ZnPiBhdHRyaWJ1dGUgcHJlc2VydmVBc3BlY3RSYXRpbz0iIgogbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiBsYXllciBhdCAo
MCwwKSBzaXplIDgwMHg2MDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNh
aXJvL3N2Zy9jdXN0b20vdmlld2JveC1zeW50YXgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vd2luY2Fpcm8vc3ZnL2N1c3RvbS92aWV3Ym94LXN5bnRheC1leHBlY3RlZC50eHQK
aW5kZXggZDgxMzI1ZjhhYTc0ZWYwZTMzMTI0YjljOTk0NTk5MjA5YmQ5ZDA0YS4uNTE2OGMwNzVj
MzAzMDkwYWQzZjU4MjA1MzlkNDc4YjYxOGNiNGZkZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vd2luY2Fpcm8vc3ZnL2N1c3RvbS92aWV3Ym94LXN5bnRheC1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vc3ZnL2N1c3RvbS92aWV3Ym94LXN5
bnRheC1leHBlY3RlZC50eHQKQEAgLTEsMTMgKzEsMTMgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGlu
ZSAyMDogV2FybmluZzogUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9IjAiCi1DT05TT0xFIE1FU1NB
R0U6IGxpbmUgMjM6IFdhcm5pbmc6IFByb2JsZW0gcGFyc2luZyB2aWV3Qm94PSIwIDAiCi1DT05T
T0xFIE1FU1NBR0U6IGxpbmUgMjY6IFdhcm5pbmc6IFByb2JsZW0gcGFyc2luZyB2aWV3Qm94PSIw
IDAgMzAiCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjk6IFdhcm5pbmc6IFByb2JsZW0gcGFyc2lu
ZyB2aWV3Qm94PSIwIDAgMzAgNDAgNTAiCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMzI6IFdhcm5p
bmc6IFByb2JsZW0gcGFyc2luZyB2aWV3Qm94PSIwIDAgMzAgNDAsIgotQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDM1OiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0JveD0iLDAgMCAzMCA0MCIK
LUNPTlNPTEUgTUVTU0FHRTogbGluZSAzODogRXJyb3I6IEEgbmVnYXRpdmUgdmFsdWUgZm9yIFZp
ZXdCb3ggd2lkdGggaXMgbm90IGFsbG93ZWQKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA0MTogRXJy
b3I6IEEgbmVnYXRpdmUgdmFsdWUgZm9yIFZpZXdCb3ggaGVpZ2h0IGlzIG5vdCBhbGxvd2VkCi1D
T05TT0xFIE1FU1NBR0U6IGxpbmUgNDQ6IFdhcm5pbmc6IFByb2JsZW0gcGFyc2luZyB2aWV3Qm94
PSIwIDAgMzAsICwgNDAiCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNDc6IFdhcm5pbmc6IFByb2Js
ZW0gcGFyc2luZyB2aWV3Qm94PSIwIDAgMzAlIDQwIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIw
OiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAiCitD
T05TT0xFIE1FU1NBR0U6IGxpbmUgMjM6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBh
dHRyaWJ1dGUgdmlld0JveD0iMCAwIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI2OiBFcnJvcjog
SW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAgMCAzMCIKK0NPTlNP
TEUgTUVTU0FHRTogbGluZSAyOTogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJp
YnV0ZSB2aWV3Qm94PSIwIDAgMzAgNDAgNTAiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzI6IEVy
cm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iMCAwIDMwIDQw
LCIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAzNTogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxz
dmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIsMCAwIDMwIDQwIgorQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDM4OiBFcnJvcjogSW52YWxpZCBuZWdhdGl2ZSB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZp
ZXdCb3g9IjAgMCAtMzAgNDAiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNDE6IEVycm9yOiBJbnZh
bGlkIG5lZ2F0aXZlIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iMCAwIDMwIC00
MCIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA0NDogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxz
dmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIwIDAgMzAsICwgNDAiCitDT05TT0xFIE1FU1NBR0U6IGxp
bmUgNDc6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0i
MCAwIDMwJSA0MCIKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0
ICgwLDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvc3ZnL2N1c3RvbS9wcmVzZXJ2ZS1hc3BlY3Qt
cmF0aW8tc3ludGF4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dwZS9zdmcv
Y3VzdG9tL3ByZXNlcnZlLWFzcGVjdC1yYXRpby1zeW50YXgtZXhwZWN0ZWQudHh0CmluZGV4IDk5
YjcwM2QzMmY1ZDUxMjg3ODFjMWZiZjBkZTg5MTllOWNiOGU4NDguLmIxYmI1NWY3NDk4ZDVlOTY5
NmM3YmU5MDZjNGY2NGY1ZGZmM2U3MzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L3dwZS9zdmcvY3VzdG9tL3ByZXNlcnZlLWFzcGVjdC1yYXRpby1zeW50YXgtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dwZS9zdmcvY3VzdG9tL3ByZXNlcnZlLWFzcGVj
dC1yYXRpby1zeW50YXgtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsOCBAQAorQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDIzOiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHBy
ZXNlcnZlQXNwZWN0UmF0aW89ImRlZmVyIG1lZXQiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjY6
IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgcHJlc2VydmVBc3BlY3RS
YXRpbz0iZGVmZXIgeE1pZFlNaWQgbWVldCBhIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI5OiBF
cnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHByZXNlcnZlQXNwZWN0UmF0
aW89ImRlZmVyIDEgeE1pZFlNaWQgbWVldCIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAzMjogRXJy
b3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSBwcmVzZXJ2ZUFzcGVjdFJhdGlv
PSJkZWZlciAsIHhNaWRZTWlkIG1lZXQiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzU6IEVycm9y
OiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgcHJlc2VydmVBc3BlY3RSYXRpbz0i
IgogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL3dwZS9zdmcvY3VzdG9tL3ZpZXdib3gtc3ludGF4LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dwZS9zdmcvY3VzdG9tL3ZpZXdib3gtc3ludGF4LWV4
cGVjdGVkLnR4dAppbmRleCAyZjkyZmYyZTM3ZmEzMzAxMzkwYTk0YTgyNmQwYmU5ZWI0ZTg3MGM5
Li5mOGQzMmUzOWUwZTE3YjcyNjk5ZmU0OTg4OTZkMDNiZGExM2I4MzM2IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvc3ZnL2N1c3RvbS92aWV3Ym94LXN5bnRheC1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd3BlL3N2Zy9jdXN0b20vdmlld2JveC1z
eW50YXgtZXhwZWN0ZWQudHh0CkBAIC0xLDEzICsxLDEzIEBACi1DT05TT0xFIE1FU1NBR0U6IGxp
bmUgMjA6IFdhcm5pbmc6IFByb2JsZW0gcGFyc2luZyB2aWV3Qm94PSIwIgotQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDIzOiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0JveD0iMCAwIgotQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDI2OiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0JveD0i
MCAwIDMwIgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI5OiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNp
bmcgdmlld0JveD0iMCAwIDMwIDQwIDUwIgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDMyOiBXYXJu
aW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0JveD0iMCAwIDMwIDQwLCIKLUNPTlNPTEUgTUVTU0FH
RTogbGluZSAzNTogV2FybmluZzogUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9IiwwIDAgMzAgNDAi
Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMzg6IEVycm9yOiBBIG5lZ2F0aXZlIHZhbHVlIGZvciBW
aWV3Qm94IHdpZHRoIGlzIG5vdCBhbGxvd2VkCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNDE6IEVy
cm9yOiBBIG5lZ2F0aXZlIHZhbHVlIGZvciBWaWV3Qm94IGhlaWdodCBpcyBub3QgYWxsb3dlZAot
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDQ0OiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0Jv
eD0iMCAwIDMwLCAsIDQwIgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQ3OiBXYXJuaW5nOiBQcm9i
bGVtIHBhcnNpbmcgdmlld0JveD0iMCAwIDMwJSA0MCIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAy
MDogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIwIgor
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDIzOiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4g
YXR0cmlidXRlIHZpZXdCb3g9IjAgMCIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyNjogRXJyb3I6
IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIwIDAgMzAiCitDT05T
T0xFIE1FU1NBR0U6IGxpbmUgMjk6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRy
aWJ1dGUgdmlld0JveD0iMCAwIDMwIDQwIDUwIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDMyOiBF
cnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAgMCAzMCA0
MCwiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzU6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8
c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iLDAgMCAzMCA0MCIKK0NPTlNPTEUgTUVTU0FHRTogbGlu
ZSAzODogRXJyb3I6IEludmFsaWQgbmVnYXRpdmUgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2
aWV3Qm94PSIwIDAgLTMwIDQwIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQxOiBFcnJvcjogSW52
YWxpZCBuZWdhdGl2ZSB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAgMCAzMCAt
NDAiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNDQ6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8
c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iMCAwIDMwLCAsIDQwIgorQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDQ3OiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9
IjAgMCAzMCUgNDAiCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd3BlL3N2Zy9oaXhpZS9lcnJvci8wMTAtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd3BlL3N2Zy9oaXhpZS9lcnJvci8wMTAtZXhw
ZWN0ZWQudHh0CmluZGV4IGI3YWQ0Zjk2N2QxYzAxM2M3ODAwZjdhMGI0NmJkMWZhNzBkNDk0ZDgu
LmRkMjA3MDUzOWUxNmQ5ZTgzZjEzMjVjOTBjODgwYWY4ZmY3NzU5NWMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3dwZS9zdmcvaGl4aWUvZXJyb3IvMDEwLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvc3ZnL2hpeGllL2Vycm9yLzAxMC1leHBlY3Rl
ZC50eHQKQEAgLTEsNCArMSw0IEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogV2FybmluZzog
UHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9IjAgMCAxIDEgMSIKK0NPTlNPTEUgTUVTU0FHRTogbGlu
ZSAxOiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAg
MCAxIDEgMSIKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgw
LDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvc3ZnL2hpeGllL2Vycm9yLzAxMS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvc3ZnL2hpeGllL2Vycm9yLzAxMS1leHBlY3Rl
ZC50eHQKaW5kZXggYTVkOGJlNzg0NmFhODRkNThiNDczYjg1MTg5NWE5NWRiOTBjNGRlNy4uOWQw
OWZjNjgxNmU5NDE1ZWNlNjI0OWQ2ZmQyNmIzNjdkYmU2MDk3YyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd3BlL3N2Zy9oaXhpZS9lcnJvci8wMTEtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL3dwZS9zdmcvaGl4aWUvZXJyb3IvMDExLWV4cGVjdGVkLnR4
dApAQCAtMSw0ICsxLDQgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBXYXJuaW5nOiBQcm9i
bGVtIHBhcnNpbmcgdmlld0JveD0iMCAwLCwgMSAxIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6
IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iMCAwLCwg
MSAxIgogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3N2Z251bWJlci1hbmltYXRpb24tMy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zdmdudW1iZXItYW5pbWF0aW9uLTMtZXhw
ZWN0ZWQudHh0CmluZGV4IGRkMzUyNWQxYTViYmUwZDk0YWRiMmFiNmY1MTYwNDM0MWRjY2IwYTIu
LmU5ZjAzMWIyNzhlOWQwODkwMDVjOGRjMjBiNDJhM2Y1OWE0Y2RlNjIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3N2Z251bWJlci1hbmltYXRpb24tMy1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc3ZnbnVtYmVyLWFuaW1hdGlvbi0z
LWV4cGVjdGVkLnR4dApAQCAtNiw4ICs2LDggQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUKIAog
CiBQQVNTIGdldENvbXB1dGVkU3R5bGUocmVjdCkuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnb3BhY2l0
eScpLmdldEZsb2F0VmFsdWUoQ1NTUHJpbWl0aXZlVmFsdWUuQ1NTX05VTUJFUikgaXMgMAotUEFT
UyBnZXRDb21wdXRlZFN0eWxlKHJlY3QpLmdldFByb3BlcnR5Q1NTVmFsdWUoJ29wYWNpdHknKS5n
ZXRGbG9hdFZhbHVlKENTU1ByaW1pdGl2ZVZhbHVlLkNTU19OVU1CRVIpIGlzIDAKLVBBU1MgZ2V0
Q29tcHV0ZWRTdHlsZShyZWN0KS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdvcGFjaXR5JykuZ2V0Rmxv
YXRWYWx1ZShDU1NQcmltaXRpdmVWYWx1ZS5DU1NfTlVNQkVSKSBpcyAwCitQQVNTIGdldENvbXB1
dGVkU3R5bGUocmVjdCkuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnb3BhY2l0eScpLmdldEZsb2F0VmFs
dWUoQ1NTUHJpbWl0aXZlVmFsdWUuQ1NTX05VTUJFUikgaXMgMC41CitQQVNTIGdldENvbXB1dGVk
U3R5bGUocmVjdCkuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnb3BhY2l0eScpLmdldEZsb2F0VmFsdWUo
Q1NTUHJpbWl0aXZlVmFsdWUuQ1NTX05VTUJFUikgaXMgMQogUEFTUyBnZXRDb21wdXRlZFN0eWxl
KHJlY3QpLmdldFByb3BlcnR5Q1NTVmFsdWUoJ29wYWNpdHknKS5nZXRGbG9hdFZhbHVlKENTU1By
aW1pdGl2ZVZhbHVlLkNTU19OVU1CRVIpIGlzIDAKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc3ZnbnVtYmVy
LWFuaW1hdGlvbi0zLmh0bWwgYi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zdmdudW1iZXIt
YW5pbWF0aW9uLTMuaHRtbAppbmRleCBiNjBkYTgzYTc0ZGU5MDBiNDAwMTQ4OThkNzQyNzIyODNj
MDNmNGM3Li44YmM0NDI2OTlmNDVhMGY5YTc2YjY2NDBlYWVlOWM3MjI5OTg0MWIwIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zdmdudW1iZXItYW5pbWF0aW9uLTMuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zdmdudW1iZXItYW5pbWF0aW9uLTMu
aHRtbApAQCAtMzYsMTUgKzM2LDE1IEBAIHJvb3RTVkdFbGVtZW50LmFwcGVuZENoaWxkKHJlY3Qp
OwogLy8gU2V0dXAgYW5pbWF0aW9uIHRlc3QKIGZ1bmN0aW9uIHNhbXBsZTEoKSB7CiAgICAgLy8g
Q2hlY2sgaW5pdGlhbC9lbmQgY29uZGl0aW9ucwotICAgIHNob3VsZEJlKCJnZXRDb21wdXRlZFN0
eWxlKHJlY3QpLmdldFByb3BlcnR5Q1NTVmFsdWUoJ29wYWNpdHknKS5nZXRGbG9hdFZhbHVlKENT
U1ByaW1pdGl2ZVZhbHVlLkNTU19OVU1CRVIpIiwgIjAiKTsKKyAgICBzaG91bGRCZUNsb3NlRW5v
dWdoKCJnZXRDb21wdXRlZFN0eWxlKHJlY3QpLmdldFByb3BlcnR5Q1NTVmFsdWUoJ29wYWNpdHkn
KS5nZXRGbG9hdFZhbHVlKENTU1ByaW1pdGl2ZVZhbHVlLkNTU19OVU1CRVIpIiwgIjAiKTsKIH0K
IAogZnVuY3Rpb24gc2FtcGxlMigpIHsKLSAgICBzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShy
ZWN0KS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdvcGFjaXR5JykuZ2V0RmxvYXRWYWx1ZShDU1NQcmlt
aXRpdmVWYWx1ZS5DU1NfTlVNQkVSKSIsICIwIik7CisgICAgc2hvdWxkQmVDbG9zZUVub3VnaCgi
Z2V0Q29tcHV0ZWRTdHlsZShyZWN0KS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdvcGFjaXR5JykuZ2V0
RmxvYXRWYWx1ZShDU1NQcmltaXRpdmVWYWx1ZS5DU1NfTlVNQkVSKSIsICIwLjUiKTsKIH0KIAog
ZnVuY3Rpb24gc2FtcGxlMygpIHsKLSAgICBzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShyZWN0
KS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdvcGFjaXR5JykuZ2V0RmxvYXRWYWx1ZShDU1NQcmltaXRp
dmVWYWx1ZS5DU1NfTlVNQkVSKSIsICIwIik7CisgICAgc2hvdWxkQmVDbG9zZUVub3VnaCgiZ2V0
Q29tcHV0ZWRTdHlsZShyZWN0KS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdvcGFjaXR5JykuZ2V0Rmxv
YXRWYWx1ZShDU1NQcmltaXRpdmVWYWx1ZS5DU1NfTlVNQkVSKSIsICIxIik7CiB9CiAKIGZ1bmN0
aW9uIGV4ZWN1dGVUZXN0KCkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2RvbS9sZW5n
dGgtbGlzdC1wYXJzZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3ZnL2RvbS9sZW5ndGgt
bGlzdC1wYXJzZXItZXhwZWN0ZWQudHh0CmluZGV4IGVlZjA2MzA3NmJkNGRlNjE3OTQ1MTE5Mzdh
NjFmMDE2NTUwN2I3YmEuLmMzMDgyZGIxYzZmMzJmNzY4ZjE5YjkwMWM3NTAxOTQzMWM4YWE5NmIg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9kb20vbGVuZ3RoLWxpc3QtcGFyc2VyLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdmcvZG9tL2xlbmd0aC1saXN0LXBhcnNlci1leHBl
Y3RlZC50eHQKQEAgLTUsOCArNSwxMCBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogCiBQYXJz
ZWQgYXMgMSBsZW5ndGgocykgWyA4Ljg0NyBdOiA4Ljg0NwogUGFyc2VkIGFzIDEgbGVuZ3RoKHMp
IFsgOC42MjU2OWUrNiBdOiA4NjI1Njg2IDMuMC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAxLCA5MCxlNDk5Ny4uLDc4Mi00MzI2ZS4JLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDEzZSwrZTkJZSA0ODI5LiwwNjM3MjEtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMS4tMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMWU2IDA3MgorUGFyc2Vk
IGFzIDggbGVuZ3RoKHMpIFsgMjgsIC04LCAwLCA0NywgNCwgMCwgMzUsIDY4NCBdOiAgMjgJLTgg
LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEsNDcgMDQsLTAuMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDE5OTMsMzUJKzY4NCArCTE1OWUgICArLjMtZTArLDgxMi0wLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDE3MjgtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTQrLC0tMS0yNmU2
NjY0NjAKIFBhcnNlZCBhcyAxIGxlbmd0aChzKSBbIDYxODIyIF06IDYxODIyLDE1LTAwLjE2Ni43
IAogUGFyc2VkIGFzIDIgbGVuZ3RoKHMpIFsgMiwgMC41IF06IDIJLjUsNjU4LTcgZSAsODQ3NzU1
MworUGFyc2VkIGFzIDEgbGVuZ3RoKHMpIFsgMjE4MyBdOiAgMjE4MyA5LTAuMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDE5MSw1OS0tIDcwNDc4Liw1NjY5NjQ3ODQJZTEtNTMJODQ3ZTAu
NmUzNDgwNS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxLTAuMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDEgOTc1CTkyMmUsNAkrZTBlLTAuMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDEgLgogUGFyc2VkIGFzIDMgbGVuZ3RoKHMpIFsgOCwgMiwgNTg5IF06IDgg
MiA1ODkJLTQ1ZTU4IC00CS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxZTU4LSsr
Njg5Li05OC0sNDIgOTQ1NjQuLDk2Ny0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAx
MSsgLDkrNi0JLjc2NSstODcgZS4gNjgJOTQ1MjE4Mi0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAxNi4uIDEJKwogUGFyc2VkIGFzIDEgbGVuZ3RoKHMpIFsgMSBdOiAxLC4sKy44MzMr
LjAwNCAyLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEyLTAuMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDErLjktCTgtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMS43OTgwLTU1NS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxLTE5OAk1MAog
UGFyc2VkIGFzIDEgbGVuZ3RoKHMpIFsgNTY0MjgxIF06IDU2NDI4MSAwZWU1MSsgZSAJMzc4NTg0
ODMzCSwuMTQxCWU4LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEtNTMuIDg4NTMw
LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwCTguLTAuMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDE4Ljg0N2UyODg4Ni0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAxNGU4NSAuLTEtCkBAIC0xNCw2ICsxNiw3IEBAIFBhcnNlZCBhcyAzIGxlbmd0aChzKSBb
IDAsIDksIDM2NyBdOiAtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
CiBQYXJzZWQgYXMgNCBsZW5ndGgocykgWyA0LCAwLCAzNSwgNjg0IF06IDA0LC0wLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxOTkzLDM1CSs2ODQgKwkxNTllICAgKy4zLWUwKyw4MTIt
MC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAxNzI4LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE0KywtLTEt
MjZlNjY2NDYwLTc5LjUtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTY5NjAzLTAu
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwNjQxLCw1NzItOTYwCTEtOSAyODkJCiBQ
YXJzZWQgYXMgMSBsZW5ndGgocykgWyA2MTgyMiBdOiA2MTgyMiwxNS0wMC4xNjYuNyAKIFBhcnNl
ZCBhcyAyIGxlbmd0aChzKSBbIDIsIDAuNSBdOiAyCS41LDY1OC03IGUgLDg0Nzc1NTMKK1BhcnNl
ZCBhcyAxIGxlbmd0aChzKSBbIDIxODMgXTogIDIxODMgOS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAxOTEsNTktLSA3MDQ3OC4sNTY2OTY0Nzg0CWUxLTUzCTg0N2UwLjZlMzQ4MDUt
MC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAxIDk3NQk5MjJlLDQJK2UwZS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAxIC4KIFBhcnNlZCBhcyAzIGxlbmd0aChzKSBbIDgsIDIsIDU4OSBdOiA4IDIgNTg5CS00
NWU1OCAtNAktMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMWU1OC0rKzY4OS4tOTgt
LDQyIDk0NTY0Liw5NjctMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTErICw5KzYt
CS43NjUrLTg3IGUuIDY4CTk0NTIxODItMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MTYuLiAxCSsKIFBhcnNlZCBhcyAxIGxlbmd0aChzKSBbIDEgXTogMSwuLCsuODMzKy4wMDQgMi0w
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMi0wLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAxKy45LQk4LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEuNzk4
MC01NTUtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMS0xOTgJNTAKIFBhcnNlZCBh
cyAxIGxlbmd0aChzKSBbIDU2NDI4MSBdOiA1NjQyODEgMGVlNTErIGUgCTM3ODU4NDgzMwksLjE0
MQllOC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxLTUzLiA4ODUzMC0wLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMAk4Li0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAxOC44NDdlMjg4ODYtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTRl
ODUgLi0xLQpAQCAtMjEsNiArMjQsNyBAQCBQYXJzZWQgYXMgMyBsZW5ndGgocykgWyAwLCA5LCAz
NjcgXTogLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAogUGFyc2Vk
IGFzIDQgbGVuZ3RoKHMpIFsgNCwgMCwgMzUsIDY4NCBdOiAwNCwtMC4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMTk5MywzNQkrNjg0ICsJMTU5ZSAgICsuMy1lMCssODEyLTAuMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMTcyOC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNCssLS0xLTI2ZTY2NjQ2
MC03OS41LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE2OTYwMy0wLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDY0MSwsNTcyLTk2MAkxLTkgMjg5CQogUGFyc2VkIGFz
IDEgbGVuZ3RoKHMpIFsgNjE4MjIgXTogNjE4MjIsMTUtMDAuMTY2LjcgCiBQYXJzZWQgYXMgMiBs
ZW5ndGgocykgWyAyLCAwLjUgXTogMgkuNSw2NTgtNyBlICw4NDc3NTUzCitQYXJzZWQgYXMgMSBs
ZW5ndGgocykgWyAyMTgzIF06ICAyMTgzIDktMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMTkxLDU5LS0gNzA0NzguLDU2Njk2NDc4NAllMS01Mwk4NDdlMC42ZTM0ODA1LTAuMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMSA5NzUJOTIyZSw0CStlMGUtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMSAu
CiBQYXJzZWQgYXMgMyBsZW5ndGgocykgWyA4LCAyLCA1ODkgXTogOCAyIDU4OQktNDVlNTggLTQJ
LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFlNTgtKys2ODkuLTk4LSw0MiA5NDU2
NC4sOTY3LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDExKyAsOSs2LQkuNzY1Ky04
NyBlLiA2OAk5NDUyMTgyLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE2Li4gMQkr
CiBQYXJzZWQgYXMgMSBsZW5ndGgocykgWyAxIF06IDEsLiwrLjgzMysuMDA0IDItMC4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTItMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMSsuOS0JOC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxLjc5ODAtNTU1LTAu
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEtMTk4CTUwCiBQYXJzZWQgYXMgMSBsZW5n
dGgocykgWyA1NjQyODEgXTogNTY0MjgxIDBlZTUxKyBlIAkzNzg1ODQ4MzMJLC4xNDEJZTgtMC4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMS01My4gODg1MzAtMC4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMTAJOC4tMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MTguODQ3ZTI4ODg2LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE0ZTg1IC4tMS0K
QEAgLTI4LDYgKzMyLDcgQEAgUGFyc2VkIGFzIDMgbGVuZ3RoKHMpIFsgMCwgOSwgMzY3IF06IC0w
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKIFBhcnNlZCBhcyA0IGxl
bmd0aChzKSBbIDQsIDAsIDM1LCA2ODQgXTogMDQsLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDE5OTMsMzUJKzY4NCArCTE1OWUgICArLjMtZTArLDgxMi0wLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAxLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE3Mjgt
MC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTQrLC0tMS0yNmU2NjY0NjAtNzkuNS0w
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNjk2MDMtMC4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMTA2NDEsLDU3Mi05NjAJMS05IDI4OQkKIFBhcnNlZCBhcyAxIGxlbmd0
aChzKSBbIDYxODIyIF06IDYxODIyLDE1LTAwLjE2Ni43IAogUGFyc2VkIGFzIDIgbGVuZ3RoKHMp
IFsgMiwgMC41IF06IDIJLjUsNjU4LTcgZSAsODQ3NzU1MworUGFyc2VkIGFzIDEgbGVuZ3RoKHMp
IFsgMjE4MyBdOiAgMjE4MyA5LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE5MSw1
OS0tIDcwNDc4Liw1NjY5NjQ3ODQJZTEtNTMJODQ3ZTAuNmUzNDgwNS0wLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAxLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEgOTc1
CTkyMmUsNAkrZTBlLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEgLgogUGFyc2Vk
IGFzIDMgbGVuZ3RoKHMpIFsgOCwgMiwgNTg5IF06IDggMiA1ODkJLTQ1ZTU4IC00CS0wLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxZTU4LSsrNjg5Li05OC0sNDIgOTQ1NjQuLDk2Ny0w
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMSsgLDkrNi0JLjc2NSstODcgZS4gNjgJ
OTQ1MjE4Mi0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNi4uIDEJKwogUGFyc2Vk
IGFzIDEgbGVuZ3RoKHMpIFsgMSBdOiAxLC4sKy44MzMrLjAwNCAyLTAuMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDEyLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDErLjkt
CTgtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMS43OTgwLTU1NS0wLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxLTE5OAk1MAogUGFyc2VkIGFzIDEgbGVuZ3RoKHMpIFsg
NTY0MjgxIF06IDU2NDI4MSAwZWU1MSsgZSAJMzc4NTg0ODMzCSwuMTQxCWU4LTAuMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEtNTMuIDg4NTMwLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDEwCTguLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE4Ljg0N2Uy
ODg4Ni0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNGU4NSAuLTEtCkBAIC0zNSw2
ICs0MCw3IEBAIFBhcnNlZCBhcyAzIGxlbmd0aChzKSBbIDAsIDksIDM2NyBdOiAtMC4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCiBQYXJzZWQgYXMgNCBsZW5ndGgocykg
WyA0LCAwLCAzNSwgNjg0IF06IDA0LC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAx
OTkzLDM1CSs2ODQgKwkxNTllICAgKy4zLWUwKyw4MTItMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNzI4LTAuMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE0KywtLTEtMjZlNjY2NDYwLTc5LjUtMC4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTY5NjAzLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDEwNjQxLCw1NzItOTYwCTEtOSAyODkJCiBQYXJzZWQgYXMgMSBsZW5ndGgocykgWyA2
MTgyMiBdOiA2MTgyMiwxNS0wMC4xNjYuNyAKIFBhcnNlZCBhcyAyIGxlbmd0aChzKSBbIDIsIDAu
NSBdOiAyCS41LDY1OC03IGUgLDg0Nzc1NTMKK1BhcnNlZCBhcyAxIGxlbmd0aChzKSBbIDIxODMg
XTogIDIxODMgOS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxOTEsNTktLSA3MDQ3
OC4sNTY2OTY0Nzg0CWUxLTUzCTg0N2UwLjZlMzQ4MDUtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxIDk3NQk5MjJlLDQJ
K2UwZS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxIC4KIFBhcnNlZCBhcyAzIGxl
bmd0aChzKSBbIDgsIDIsIDU4OSBdOiA4IDIgNTg5CS00NWU1OCAtNAktMC4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMWU1OC0rKzY4OS4tOTgtLDQyIDk0NTY0Liw5NjctMC4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTErICw5KzYtCS43NjUrLTg3IGUuIDY4CTk0NTIxODIt
MC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTYuLiAxCSsKIFBhcnNlZCBhcyAxIGxl
bmd0aChzKSBbIDEgXTogMSwuLCsuODMzKy4wMDQgMi0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAxMi0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxKy45LQk4LTAuMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEuNzk4MC01NTUtMC4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMS0xOTgJNTAKIFBhcnNlZCBhcyAxIGxlbmd0aChzKSBbIDU2NDI4MSBd
OiA1NjQyODEgMGVlNTErIGUgCTM3ODU4NDgzMwksLjE0MQllOC0wLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAxLTUzLiA4ODUzMC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAxMAk4Li0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxOC44NDdlMjg4ODYtMC4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTRlODUgLi0xLQpAQCAtNDIsNiArNDgsNyBA
QCBQYXJzZWQgYXMgMyBsZW5ndGgocykgWyAwLCA5LCAzNjcgXTogLTAuMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAogUGFyc2VkIGFzIDQgbGVuZ3RoKHMpIFsgNCwgMCwg
MzUsIDY4NCBdOiAwNCwtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTk5MywzNQkr
Njg0ICsJMTU5ZSAgICsuMy1lMCssODEyLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDEtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTcyOC0wLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAxNCssLS0xLTI2ZTY2NjQ2MC03OS41LTAuMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDE2OTYwMy0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAx
MDY0MSwsNTcyLTk2MAkxLTkgMjg5CQogUGFyc2VkIGFzIDEgbGVuZ3RoKHMpIFsgNjE4MjIgXTog
NjE4MjIsMTUtMDAuMTY2LjcgCiBQYXJzZWQgYXMgMiBsZW5ndGgocykgWyAyLCAwLjUgXTogMgku
NSw2NTgtNyBlICw4NDc3NTUzCitQYXJzZWQgYXMgMSBsZW5ndGgocykgWyAyMTgzIF06ICAyMTgz
IDktMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTkxLDU5LS0gNzA0NzguLDU2Njk2
NDc4NAllMS01Mwk4NDdlMC42ZTM0ODA1LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDEtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMSA5NzUJOTIyZSw0CStlMGUtMC4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMSAuCiBQYXJzZWQgYXMgMyBsZW5ndGgocykg
WyA4LCAyLCA1ODkgXTogOCAyIDU4OQktNDVlNTggLTQJLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDFlNTgtKys2ODkuLTk4LSw0MiA5NDU2NC4sOTY3LTAuMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDExKyAsOSs2LQkuNzY1Ky04NyBlLiA2OAk5NDUyMTgyLTAuMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE2Li4gMQkrCiBQYXJzZWQgYXMgMSBsZW5ndGgocykg
WyAxIF06IDEsLiwrLjgzMysuMDA0IDItMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MTItMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMSsuOS0JOC0wLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAxLjc5ODAtNTU1LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDEtMTk4CTUwCiBQYXJzZWQgYXMgMSBsZW5ndGgocykgWyA1NjQyODEgXTogNTY0Mjgx
IDBlZTUxKyBlIAkzNzg1ODQ4MzMJLC4xNDEJZTgtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMS01My4gODg1MzAtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAJOC4t
MC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTguODQ3ZTI4ODg2LTAuMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE0ZTg1IC4tMS0KQEAgLTQ5LDYgKzU2LDcgQEAgUGFyc2Vk
IGFzIDMgbGVuZ3RoKHMpIFsgMCwgOSwgMzY3IF06IC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKIFBhcnNlZCBhcyA0IGxlbmd0aChzKSBbIDQsIDAsIDM1LCA2ODQg
XTogMDQsLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE5OTMsMzUJKzY4NCArCTE1
OWUgICArLjMtZTArLDgxMi0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxLTAuMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE3MjgtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMTQrLC0tMS0yNmU2NjY0NjAtNzkuNS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAxNjk2MDMtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTA2NDEsLDU3
Mi05NjAJMS05IDI4OQkKIFBhcnNlZCBhcyAxIGxlbmd0aChzKSBbIDYxODIyIF06IDYxODIyLDE1
LTAwLjE2Ni43IAogUGFyc2VkIGFzIDIgbGVuZ3RoKHMpIFsgMiwgMC41IF06IDIJLjUsNjU4LTcg
ZSAsODQ3NzU1MworUGFyc2VkIGFzIDEgbGVuZ3RoKHMpIFsgMjE4MyBdOiAgMjE4MyA5LTAuMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE5MSw1OS0tIDcwNDc4Liw1NjY5NjQ3ODQJZTEt
NTMJODQ3ZTAuNmUzNDgwNS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxLTAuMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEgOTc1CTkyMmUsNAkrZTBlLTAuMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEgLgogUGFyc2VkIGFzIDMgbGVuZ3RoKHMpIFsgOCwgMiwg
NTg5IF06IDggMiA1ODkJLTQ1ZTU4IC00CS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAxZTU4LSsrNjg5Li05OC0sNDIgOTQ1NjQuLDk2Ny0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAxMSsgLDkrNi0JLjc2NSstODcgZS4gNjgJOTQ1MjE4Mi0wLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAxNi4uIDEJKwogUGFyc2VkIGFzIDEgbGVuZ3RoKHMpIFsgMSBdOiAx
LC4sKy44MzMrLjAwNCAyLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEyLTAuMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDErLjktCTgtMC4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMS43OTgwLTU1NS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAx
LTE5OAk1MAogUGFyc2VkIGFzIDEgbGVuZ3RoKHMpIFsgNTY0MjgxIF06IDU2NDI4MSAwZWU1MSsg
ZSAJMzc4NTg0ODMzCSwuMTQxCWU4LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEt
NTMuIDg4NTMwLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwCTguLTAuMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE4Ljg0N2UyODg4Ni0wLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAxNGU4NSAuLTEtCkBAIC01Niw2ICs2NCw3IEBAIFBhcnNlZCBhcyAzIGxl
bmd0aChzKSBbIDAsIDksIDM2NyBdOiAtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCiBQYXJzZWQgYXMgNCBsZW5ndGgocykgWyA0LCAwLCAzNSwgNjg0IF06IDA0LC0w
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxOTkzLDM1CSs2ODQgKwkxNTllICAgKy4z
LWUwKyw4MTItMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMS0wLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAxNzI4LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDE0KywtLTEtMjZlNjY2NDYwLTc5LjUtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MTY5NjAzLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwNjQxLCw1NzItOTYwCTEt
OSAyODkJCiBQYXJzZWQgYXMgMSBsZW5ndGgocykgWyA2MTgyMiBdOiA2MTgyMiwxNS0wMC4xNjYu
NyAKIFBhcnNlZCBhcyAyIGxlbmd0aChzKSBbIDIsIDAuNSBdOiAyCS41LDY1OC03IGUgLDg0Nzc1
NTMKK1BhcnNlZCBhcyAxIGxlbmd0aChzKSBbIDIxODMgXTogIDIxODMgOS0wLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAxOTEsNTktLSA3MDQ3OC4sNTY2OTY0Nzg0CWUxLTUzCTg0N2Uw
LjZlMzQ4MDUtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMS0wLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAxIDk3NQk5MjJlLDQJK2UwZS0wLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAxIC4KIFBhcnNlZCBhcyAzIGxlbmd0aChzKSBbIDgsIDIsIDU4OSBdOiA4
IDIgNTg5CS00NWU1OCAtNAktMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMWU1OC0r
KzY4OS4tOTgtLDQyIDk0NTY0Liw5NjctMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MTErICw5KzYtCS43NjUrLTg3IGUuIDY4CTk0NTIxODItMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMTYuLiAxCSsKIFBhcnNlZCBhcyAxIGxlbmd0aChzKSBbIDEgXTogMSwuLCsuODMz
Ky4wMDQgMi0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMi0wLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAxKy45LQk4LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDEuNzk4MC01NTUtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMS0xOTgJNTAK
IFBhcnNlZCBhcyAxIGxlbmd0aChzKSBbIDU2NDI4MSBdOiA1NjQyODEgMGVlNTErIGUgCTM3ODU4
NDgzMwksLjE0MQllOC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxLTUzLiA4ODUz
MC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMAk4Li0wLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAxOC44NDdlMjg4ODYtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMTRlODUgLi0xLQpAQCAtNjMsNiArNzIsNyBAQCBQYXJzZWQgYXMgMyBsZW5ndGgocykg
WyAwLCA5LCAzNjcgXTogLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAogUGFyc2VkIGFzIDQgbGVuZ3RoKHMpIFsgNCwgMCwgMzUsIDY4NCBdOiAwNCwtMC4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTk5MywzNQkrNjg0ICsJMTU5ZSAgICsuMy1lMCssODEy
LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEtMC4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMTcyOC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNCssLS0x
LTI2ZTY2NjQ2MC03OS41LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE2OTYwMy0w
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDY0MSwsNTcyLTk2MAkxLTkgMjg5CQog
UGFyc2VkIGFzIDEgbGVuZ3RoKHMpIFsgNjE4MjIgXTogNjE4MjIsMTUtMDAuMTY2LjcgCiBQYXJz
ZWQgYXMgMiBsZW5ndGgocykgWyAyLCAwLjUgXTogMgkuNSw2NTgtNyBlICw4NDc3NTUzCitQYXJz
ZWQgYXMgMSBsZW5ndGgocykgWyAyMTgzIF06ICAyMTgzIDktMC4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMTkxLDU5LS0gNzA0NzguLDU2Njk2NDc4NAllMS01Mwk4NDdlMC42ZTM0ODA1
LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEtMC4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMSA5NzUJOTIyZSw0CStlMGUtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMSAuCiBQYXJzZWQgYXMgMyBsZW5ndGgocykgWyA4LCAyLCA1ODkgXTogOCAyIDU4OQkt
NDVlNTggLTQJLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFlNTgtKys2ODkuLTk4
LSw0MiA5NDU2NC4sOTY3LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDExKyAsOSs2
LQkuNzY1Ky04NyBlLiA2OAk5NDUyMTgyLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDE2Li4gMQkrCiBQYXJzZWQgYXMgMSBsZW5ndGgocykgWyAxIF06IDEsLiwrLjgzMysuMDA0IDIt
MC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTItMC4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMSsuOS0JOC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxLjc5
ODAtNTU1LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEtMTk4CTUwCiBQYXJzZWQg
YXMgMSBsZW5ndGgocykgWyA1NjQyODEgXTogNTY0MjgxIDBlZTUxKyBlIAkzNzg1ODQ4MzMJLC4x
NDEJZTgtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMS01My4gODg1MzAtMC4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAJOC4tMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMTguODQ3ZTI4ODg2LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE0
ZTg1IC4tMS0KQEAgLTcwLDYgKzgwLDcgQEAgUGFyc2VkIGFzIDMgbGVuZ3RoKHMpIFsgMCwgOSwg
MzY3IF06IC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKIFBhcnNl
ZCBhcyA0IGxlbmd0aChzKSBbIDQsIDAsIDM1LCA2ODQgXTogMDQsLTAuMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDE5OTMsMzUJKzY4NCArCTE1OWUgICArLjMtZTArLDgxMi0wLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDE3MjgtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTQrLC0tMS0yNmU2NjY0
NjAtNzkuNS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNjk2MDMtMC4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTA2NDEsLDU3Mi05NjAJMS05IDI4OQkKIFBhcnNlZCBh
cyAxIGxlbmd0aChzKSBbIDYxODIyIF06IDYxODIyLDE1LTAwLjE2Ni43IAogUGFyc2VkIGFzIDIg
bGVuZ3RoKHMpIFsgMiwgMC41IF06IDIJLjUsNjU4LTcgZSAsODQ3NzU1MworUGFyc2VkIGFzIDEg
bGVuZ3RoKHMpIFsgMjE4MyBdOiAgMjE4MyA5LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDE5MSw1OS0tIDcwNDc4Liw1NjY5NjQ3ODQJZTEtNTMJODQ3ZTAuNmUzNDgwNS0wLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDEgOTc1CTkyMmUsNAkrZTBlLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEg
LgogUGFyc2VkIGFzIDMgbGVuZ3RoKHMpIFsgOCwgMiwgNTg5IF06IDggMiA1ODkJLTQ1ZTU4IC00
CS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxZTU4LSsrNjg5Li05OC0sNDIgOTQ1
NjQuLDk2Ny0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMSsgLDkrNi0JLjc2NSst
ODcgZS4gNjgJOTQ1MjE4Mi0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNi4uIDEJ
KwogUGFyc2VkIGFzIDEgbGVuZ3RoKHMpIFsgMSBdOiAxLC4sKy44MzMrLjAwNCAyLTAuMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEyLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDErLjktCTgtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMS43OTgwLTU1NS0w
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxLTE5OAk1MAogUGFyc2VkIGFzIDEgbGVu
Z3RoKHMpIFsgNTY0MjgxIF06IDU2NDI4MSAwZWU1MSsgZSAJMzc4NTg0ODMzCSwuMTQxCWU4LTAu
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEtNTMuIDg4NTMwLTAuMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDEwCTguLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDE4Ljg0N2UyODg4Ni0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNGU4NSAuLTEt
CkBAIC03Nyw2ICs4OCw3IEBAIFBhcnNlZCBhcyAzIGxlbmd0aChzKSBbIDAsIDksIDM2NyBdOiAt
MC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCiBQYXJzZWQgYXMgNCBs
ZW5ndGgocykgWyA0LCAwLCAzNSwgNjg0IF06IDA0LC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAxOTkzLDM1CSs2ODQgKwkxNTllICAgKy4zLWUwKyw4MTItMC4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNzI4
LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE0KywtLTEtMjZlNjY2NDYwLTc5LjUt
MC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTY5NjAzLTAuMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDEwNjQxLCw1NzItOTYwCTEtOSAyODkJCiBQYXJzZWQgYXMgMSBsZW5n
dGgocykgWyA2MTgyMiBdOiA2MTgyMiwxNS0wMC4xNjYuNyAKIFBhcnNlZCBhcyAyIGxlbmd0aChz
KSBbIDIsIDAuNSBdOiAyCS41LDY1OC03IGUgLDg0Nzc1NTMKK1BhcnNlZCBhcyAxIGxlbmd0aChz
KSBbIDIxODMgXTogIDIxODMgOS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxOTEs
NTktLSA3MDQ3OC4sNTY2OTY0Nzg0CWUxLTUzCTg0N2UwLjZlMzQ4MDUtMC4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxIDk3
NQk5MjJlLDQJK2UwZS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxIC4KIFBhcnNl
ZCBhcyAzIGxlbmd0aChzKSBbIDgsIDIsIDU4OSBdOiA4IDIgNTg5CS00NWU1OCAtNAktMC4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMWU1OC0rKzY4OS4tOTgtLDQyIDk0NTY0Liw5Njct
MC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTErICw5KzYtCS43NjUrLTg3IGUuIDY4
CTk0NTIxODItMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTYuLiAxCSsKIFBhcnNl
ZCBhcyAxIGxlbmd0aChzKSBbIDEgXTogMSwuLCsuODMzKy4wMDQgMi0wLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAxMi0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxKy45
LQk4LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEuNzk4MC01NTUtMC4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMS0xOTgJNTAKIFBhcnNlZCBhcyAxIGxlbmd0aChzKSBb
IDU2NDI4MSBdOiA1NjQyODEgMGVlNTErIGUgCTM3ODU4NDgzMwksLjE0MQllOC0wLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxLTUzLiA4ODUzMC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAxMAk4Li0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxOC44NDdl
Mjg4ODYtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTRlODUgLi0xLQpAQCAtODQs
NiArOTYsNyBAQCBQYXJzZWQgYXMgMyBsZW5ndGgocykgWyAwLCA5LCAzNjcgXTogLTAuMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAogUGFyc2VkIGFzIDQgbGVuZ3RoKHMp
IFsgNCwgMCwgMzUsIDY4NCBdOiAwNCwtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MTk5MywzNQkrNjg0ICsJMTU5ZSAgICsuMy1lMCssODEyLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDEtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTcyOC0wLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNCssLS0xLTI2ZTY2NjQ2MC03OS41LTAuMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE2OTYwMy0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAxMDY0MSwsNTcyLTk2MAkxLTkgMjg5CQogUGFyc2VkIGFzIDEgbGVuZ3RoKHMpIFsg
NjE4MjIgXTogNjE4MjIsMTUtMDAuMTY2LjcgCiBQYXJzZWQgYXMgMiBsZW5ndGgocykgWyAyLCAw
LjUgXTogMgkuNSw2NTgtNyBlICw4NDc3NTUzCitQYXJzZWQgYXMgMSBsZW5ndGgocykgWyAyMTgz
IF06ICAyMTgzIDktMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTkxLDU5LS0gNzA0
NzguLDU2Njk2NDc4NAllMS01Mwk4NDdlMC42ZTM0ODA1LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDEtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMSA5NzUJOTIyZSw0
CStlMGUtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMSAuCiBQYXJzZWQgYXMgMyBs
ZW5ndGgocykgWyA4LCAyLCA1ODkgXTogOCAyIDU4OQktNDVlNTggLTQJLTAuMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDFlNTgtKys2ODkuLTk4LSw0MiA5NDU2NC4sOTY3LTAuMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDExKyAsOSs2LQkuNzY1Ky04NyBlLiA2OAk5NDUyMTgy
LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE2Li4gMQkrCiBQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9kb20vdmll
d3NwZWMtcGFyc2VyLTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3ZnL2RvbS92aWV3c3Bl
Yy1wYXJzZXItMS1leHBlY3RlZC50eHQKaW5kZXggZDQ0MmYxYmY5MTExZDNiZDcyOGE1N2FmMTU4
YWViYjZhNTI0MTUxYy4uOTNkM2M2NGRlN2FmZGEzYjRiZDIxYTNlMjNiNWUzZWRhOTMyZGM3ZSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2RvbS92aWV3c3BlYy1wYXJzZXItMS1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2RvbS92aWV3c3BlYy1wYXJzZXItMS1leHBlY3Rl
ZC50eHQKQEAgLTYsOCArNiw4IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiBMb2FkZWQ6IHJl
c291cmNlcy92aWV3c3BlYy10YXJnZXQuc3ZnIwogUGFyc2VkOiBbaW5pdGlhbCB2aWV3XSBmcm9t
OiBbaW5pdGlhbCB2aWV3XQogCi1Mb2FkZWQ6IHJlc291cmNlcy92aWV3c3BlYy10YXJnZXQuc3Zn
I3N2Z1ZpZXcodmlld0JveCgwLDAsMjAwLDIwMCkpKQotUGFyc2VkOiBzdmdWaWV3KHZpZXdCb3go
MCAwIDIwMCAyMDApKSBmcm9tOiBzdmdWaWV3KHZpZXdCb3goMCwwLDIwMCwyMDApKSkKK0xvYWRl
ZDogcmVzb3VyY2VzL3ZpZXdzcGVjLXRhcmdldC5zdmcjc3ZnVmlldyh2aWV3Qm94KDAsMCwyMDAs
MjAwKSkKK1BhcnNlZDogc3ZnVmlldyh2aWV3Qm94KDAgMCAyMDAgMjAwKSkgZnJvbTogc3ZnVmll
dyh2aWV3Qm94KDAsMCwyMDAsMjAwKSkKIAogTG9hZGVkOiByZXNvdXJjZXMvdmlld3NwZWMtdGFy
Z2V0LnN2ZyNzdmdWaWV3KHByZXNlcnZlQXNwZWN0UmF0aW8oeE1heFlNaW4gc2xpY2UpKQogUGFy
c2VkOiBzdmdWaWV3KHByZXNlcnZlQXNwZWN0UmF0aW8oeE1heFlNaW4gc2xpY2UpKSBmcm9tOiBz
dmdWaWV3KHByZXNlcnZlQXNwZWN0UmF0aW8oeE1heFlNaW4gc2xpY2UpKQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3ZnL2RvbS92aWV3c3BlYy1wYXJzZXItMS5odG1sIGIvTGF5b3V0VGVzdHMv
c3ZnL2RvbS92aWV3c3BlYy1wYXJzZXItMS5odG1sCmluZGV4IDViMTdkNzU5MjEyODhlMWMwYTBl
NjcxZDU1ZjI0ZmFiNjc0MzcwYWYuLjYyMTczZTYyZjNjZDQzM2MyYWZhMTliNGNjZTM1YTg1YWIy
NjIwYTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9kb20vdmlld3NwZWMtcGFyc2VyLTEu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvZG9tL3ZpZXdzcGVjLXBhcnNlci0xLmh0bWwKQEAg
LTE4LDcgKzE4LDcgQEAKICAgICB9OwogCiAgICAgdmFyIHRlc3RzID0gWwotICAgICAgInN2Z1Zp
ZXcodmlld0JveCgwLDAsMjAwLDIwMCkpKSIsCisgICAgICAic3ZnVmlldyh2aWV3Qm94KDAsMCwy
MDAsMjAwKSkiLAogICAgICAgInN2Z1ZpZXcocHJlc2VydmVBc3BlY3RSYXRpbyh4TWF4WU1pbiBz
bGljZSkpIiwKICAgICAgICJzdmdWaWV3KHByZXNlcnZlQXNwZWN0UmF0aW8oeE1heFlNaW4pKSIs
CiAgICAgICAic3ZnVmlldyh2aWV3Qm94KDEsMiwzLDQpO3ByZXNlcnZlQXNwZWN0UmF0aW8oeE1h
eFlNaW4pKSIsCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvaGl4aWUvZXJyb3IvMDEwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N2Zy9oaXhpZS9lcnJvci8wMTAtZXhwZWN0ZWQudHh0
CmluZGV4IGY3ZDM1OWI5MWRiOTUzZDUyMmE2NjljZGI5OTNmOTQ3Mjk0ODQ1YTcuLjQ5MDE4MjQ0
ZTY2NDIxMGQxNzdiNDQ4ZTM0MjYyNmVjZDQ5ZTdjYTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3N2Zy9oaXhpZS9lcnJvci8wMTAtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N2Zy9o
aXhpZS9lcnJvci8wMTAtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAotQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDE6IFdhcm5pbmc6IFByb2JsZW0gcGFyc2luZyB2aWV3Qm94PSIwIDAgMSAxIDEi
CitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+
IGF0dHJpYnV0ZSB2aWV3Qm94PSIwIDAgMSAxIDEiCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKIGxheWVyIGF0ICgwLDApIHNp
emUgODAweDYwMApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2hpeGllL2Vycm9yLzAxMS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdmcvaGl4aWUvZXJyb3IvMDExLWV4cGVjdGVkLnR4
dAppbmRleCA3YzI0MWI2NDYyMDcxNDE1YzFkMDM4MjhjMDU1YTRlMzkyODdjMjgxLi5jYWNlYzVm
OGNiZDUzMmRiYTY2ODQ2MTdiZmM4YTZiZTRhNDUxOGVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9zdmcvaGl4aWUvZXJyb3IvMDExLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdmcv
aGl4aWUvZXJyb3IvMDExLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKLUNPTlNPTEUgTUVT
U0FHRTogbGluZSAxOiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0JveD0iMCAwLCwgMSAx
IgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3Zn
PiBhdHRyaWJ1dGUgdmlld0JveD0iMCAwLCwgMSAxIgogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiBsYXllciBhdCAoMCwwKSBz
aXplIDgwMHg2MDAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>370506</attachid>
            <date>2019-05-23 08:12:58 -0700</date>
            <delta_ts>2019-06-08 14:55:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-198122-20190523081255.patch</filename>
            <type>text/plain</type>
            <size>316780</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ1NjE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjU5NTdhODZiMjIwNDE4
YTlhMTVhMDhlNzg1MzE5YjBlYzFiNjY3OS4uOGIzYWY2NTRkZDg3OTg3OTdkYzBlMDRlYmQ3ZGFl
MzVhYTdiYzgyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3NyBAQAorMjAxOS0wNS0yMiAgU2Fp
ZCBBYm91LUhhbGxhd2EgIDxzYWlkQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgdGhlIG5v
biBmaW5hbCBwcm9wZXJ0eVJlZ2lzdHJ5KCkgZnJvbSB0aGUgU1ZHIGJhc2UgY2xhc3NlcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4MTIyCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBzYXZlcyB0
aGUgbWVtb3J5IHRoYXQgaXMgdGFrZW4gYnkgdGhlIG1lbWJlciBTVkdQcm9wZXJ0eVJlZ2lzdHJ5
IG9mCisgICAgICAgIHRoZSBiYXNlIGNsYXNzLiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgaXMgb25seSBu
ZWVkZWQgZm9yIGNvbmNyZXRlIGNsYXNzZXMuCisKKyAgICAgICAgKiBzdmcvU1ZHQUVsZW1lbnQu
aDoKKyAgICAgICAgKiBzdmcvU1ZHQWx0R2x5cGhEZWZFbGVtZW50Lmg6CisgICAgICAgICogc3Zn
L1NWR0FsdEdseXBoRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdBbHRHbHlwaEl0ZW1FbGVt
ZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0FuaW1hdGlvbkVsZW1lbnQuaDoKKyAgICAgICAgKiBz
dmcvU1ZHQ2lyY2xlRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdDbGlwUGF0aEVsZW1lbnQu
aDoKKyAgICAgICAgKiBzdmcvU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQuaDoK
KyAgICAgICAgKiBzdmcvU1ZHQ3Vyc29yRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdEZWZz
RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdEZXNjRWxlbWVudC5oOgorICAgICAgICAqIHN2
Zy9TVkdFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbGVtZW50Ojpwcm9wZXJ0eVJl
Z2lzdHJ5IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBzdmcvU1ZHRWxsaXBzZUVsZW1lbnQu
aDoKKyAgICAgICAgKiBzdmcvU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5oOgorICAgICAg
ICAqIHN2Zy9TVkdGRUJsZW5kRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdGRUNvbG9yTWF0
cml4RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdGRUNvbXBvbmVudFRyYW5zZmVyRWxlbWVu
dC5oOgorICAgICAgICAqIHN2Zy9TVkdGRUNvbXBvc2l0ZUVsZW1lbnQuaDoKKyAgICAgICAgKiBz
dmcvU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHRkVEaWZm
dXNlTGlnaHRpbmdFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0ZFRGlzcGxhY2VtZW50TWFw
RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdGRURyb3BTaGFkb3dFbGVtZW50Lmg6CisgICAg
ICAgICogc3ZnL1NWR0ZFRmxvb2RFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0ZFR2F1c3Np
YW5CbHVyRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdGRUltYWdlRWxlbWVudC5oOgorICAg
ICAgICAqIHN2Zy9TVkdGRUxpZ2h0RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdGRU1lcmdl
RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdGRU1lcmdlTm9kZUVsZW1lbnQuaDoKKyAgICAg
ICAgKiBzdmcvU1ZHRkVNb3JwaG9sb2d5RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdGRU9m
ZnNldEVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVu
dC5oOgorICAgICAgICAqIHN2Zy9TVkdGRVRpbGVFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NW
R0ZFVHVyYnVsZW5jZUVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHRmlsdGVyRWxlbWVudC5o
OgorICAgICAgICAqIHN2Zy9TVkdGb250RmFjZUVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZH
Rm9udEZhY2VGb3JtYXRFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0ZvbnRGYWNlTmFtZUVs
ZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHRm9udEZhY2VTcmNFbGVtZW50Lmg6CisgICAgICAg
ICogc3ZnL1NWR0ZvbnRGYWNlVXJpRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdGb3JlaWdu
T2JqZWN0RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdHRWxlbWVudC5oOgorICAgICAgICAq
IHN2Zy9TVkdHZW9tZXRyeUVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHR2x5cGhFbGVtZW50
Lmg6CisgICAgICAgICogc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9T
VkdHcmFwaGljc0VsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHSEtlcm5FbGVtZW50Lmg6Cisg
ICAgICAgICogc3ZnL1NWR0ltYWdlRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdMaW5lRWxl
bWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQuaDoKKyAgICAg
ICAgKiBzdmcvU1ZHTVBhdGhFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR01hcmtlckVsZW1l
bnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHTWFza0VsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZH
TWV0YWRhdGFFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR01pc3NpbmdHbHlwaEVsZW1lbnQu
aDoKKyAgICAgICAgKiBzdmcvU1ZHUGF0aEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHUGF0aEVsZW1lbnQ6OmdldFRvdGFsTGVuZ3RoIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlNWR1BhdGhFbGVtZW50OjpnZXRQb2ludEF0TGVuZ3RoIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OlNWR1BhdGhFbGVtZW50OjpnZXRQYXRoU2VnQXRMZW5ndGggY29uc3QpOgorICAgICAgICAq
IHN2Zy9TVkdQYXRoRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdQYXRoVXRpbGl0aWVzLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OnBhdGhTZWdBdExlbmd0aEZyb21TVkdQYXRoQnl0ZVN0cmVh
bSk6CisgICAgICAgIChXZWJDb3JlOjp0b3RhbExlbmd0aE9mU1ZHUGF0aEJ5dGVTdHJlYW0pOgor
ICAgICAgICAoV2ViQ29yZTo6cG9pbnRBdExlbmd0aE9mU1ZHUGF0aEJ5dGVTdHJlYW0pOgorICAg
ICAgICAoV2ViQ29yZTo6Z2V0U1ZHUGF0aFNlZ0F0TGVuZ3RoRnJvbVNWR1BhdGhCeXRlU3RyZWFt
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmdldFRvdGFsTGVuZ3RoT2ZTVkdQYXRoQnl0
ZVN0cmVhbSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpnZXRQb2ludEF0TGVuZ3RoT2ZT
VkdQYXRoQnl0ZVN0cmVhbSk6IERlbGV0ZWQuCisgICAgICAgICogc3ZnL1NWR1BhdGhVdGlsaXRp
ZXMuaDoKKyAgICAgICAgKiBzdmcvU1ZHUGF0dGVybkVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcv
U1ZHUG9seUVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50
Lmg6CisgICAgICAgICogc3ZnL1NWR1JlY3RFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR1NW
R0VsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHU2NyaXB0RWxlbWVudC5oOgorICAgICAgICAq
IHN2Zy9TVkdTdG9wRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdTdHlsZUVsZW1lbnQuaDoK
KyAgICAgICAgKiBzdmcvU1ZHU3dpdGNoRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdTeW1i
b2xFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR1RSZWZFbGVtZW50Lmg6CisgICAgICAgICog
c3ZnL1NWR1RTcGFuRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdUZXh0Q29udGVudEVsZW1l
bnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHVGV4dEVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZH
VGV4dFBhdGhFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR1RleHRQb3NpdGlvbmluZ0VsZW1l
bnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHVGl0bGVFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NW
R1Vua25vd25FbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR1VzZUVsZW1lbnQuaDoKKyAgICAg
ICAgKiBzdmcvU1ZHVktlcm5FbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR1ZpZXdFbGVtZW50
Lmg6CisKKzIwMTktMDUtMjIgIFNhaWQgQWJvdS1IYWxsYXdhICA8c2FpZEBhcHBsZS5jb20+CisK
KyAgICAgICAgU1ZHUHJvcGVydHlUcmFpdHMgYW5kIFNWRyBlbnVtIHR5cGVzIGNsZWFuIHVwCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTgwNzMKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiB0aGlzIHBh
dGNoOgorCisgICAgICAgIC0tIEFsbCBTVkdQcm9wZXJ0eVRyYWl0cyB3aWxsIGhhdmUgdHdvIGZ1
bmN0aW9ucyBmb3IgcGFyc2luZyBhIHN0cmluZyB0byAKKyAgICAgICAgICAgdGhlIHByb3BlcnR5
IHR5cGUuIAorICAgICAgICAgICAxKSBwYXJzZSgpIHdpbGwgcmV0dXJuIEV4cGVjdGVkPFByb3Bl
cnR5VHlwZSwgU1ZHUGFyc2luZ0Vycm9yPi4KKyAgICAgICAgICAgMikgZnJvbVN0cmluZygpIHdp
bGwgY2FsbCBwYXJzZSgpIGJ1dCB3aWxsIHJldHVybiB0aGUgZGVmYXVsdCB2YWx1ZQorICAgICAg
ICAgICAgICBpZiBwYXJzZSgpIHJldHVybnMgYW4gZXJyb3IuCisKKyAgICAgICAgLS0gQWxsIHRo
ZSBTVkcgZW51bSB0eXBlcyBhcmUgbW92ZWQgdG8gYSBzaW5nbGUgZmlsZSBuYW1lZCBTVkdFbnVt
VHlwZS5oLgorICAgICAgICAgICBBIG5ldyBTVkdQcm9wZXJ0eVRyYWl0cyBpcyBkZWZpbmVkIGZv
ciBhbGwgZW51bSB0eXBlcyBpbmNsdWRpbmcgdGhlCisgICAgICAgICAgIG5vbi1TVkcgZW51bSB0
eXBlcywgZS5nLiBCbGVuZE1vZGUuCisKKyAgICAgICAgLS0gQWxsIFNWR1Byb3BlcnR5VHJhaXRz
IGZvciB0aGUgZW51bSB0eXBlcyBhcmUgcmVtb3ZlZC4gUGFyc2luZyBhIHN0cmluZworICAgICAg
ICAgICB0byBhbiBlbnVtIHZhbHVlIHdpbGwgYmUgZG9uZSBieSBTVkdFbnVtVmFsdWVQYXJzZXI6
OnBhcnNlKCkuIEdldHRpbmcgCisgICAgICAgICAgIGEgc3RyaW5nIGZyb20gYW4gZW51bSB2YWx1
ZSBpcyBkb25lIGJ5IFNWR0VudW1WYWx1ZUNvbXBvc2VyOjp0b1N0cmluZygpLgorICAgICAgICAg
ICBFYWNoIGVudW0gdHlwZSBuZWVkcyB0byB0ZW1wbGF0ZSBzcGVjaWFsaXplIFNWR0VudW1UcmFp
dHM6OnZhbHVlcygpCisgICAgICAgICAgIHdoaWNoIGFzc29jaWF0ZXMgZXZlcnkgZW11bSB2YWx1
ZSB3aXRoIGEgc3RyaW5nLgorCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOgorICAgICAgICAqIGNzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmg6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzVHlwZXMuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHRDRy5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpzZWxlY3RDR0JsZW5kTW9kZSk6CisgICAgICAgICogc3ZnL1NWR0FuZ2xlVmFsdWUuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPFNWR0FuZ2xlVmFsdWU+Ojppbml0aWFs
VmFsdWUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8U1ZH
QW5nbGVWYWx1ZT46OnRvU3RyaW5nKTogRGVsZXRlZC4KKyAgICAgICAgKiBzdmcvU1ZHQ29tcG9u
ZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3Bl
cnR5VHJhaXRzPENvbXBvbmVudFRyYW5zZmVyVHlwZT46OmhpZ2hlc3RFbnVtVmFsdWUpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8Q29tcG9uZW50VHJhbnNm
ZXJUeXBlPjo6dG9TdHJpbmcpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVy
dHlUcmFpdHM8Q29tcG9uZW50VHJhbnNmZXJUeXBlPjo6ZnJvbVN0cmluZyk6IERlbGV0ZWQuCisg
ICAgICAgICogc3ZnL1NWR0ZFQmxlbmRFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdQ
cm9wZXJ0eVRyYWl0czxCbGVuZE1vZGU+OjpoaWdoZXN0RW51bVZhbHVlKTogRGVsZXRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPEJsZW5kTW9kZT46OmZyb21TdHJpbmcp
OiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8QmxlbmRNb2Rl
Pjo6dG9TdHJpbmcpOiBEZWxldGVkLgorICAgICAgICAqIHN2Zy9TVkdGRUNvbG9yTWF0cml4RWxl
bWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8Q29sb3JNYXRyaXhU
eXBlPjo6aGlnaGVzdEVudW1WYWx1ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQ
cm9wZXJ0eVRyYWl0czxDb2xvck1hdHJpeFR5cGU+Ojp0b1N0cmluZyk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxDb2xvck1hdHJpeFR5cGU+Ojpmcm9tU3Ry
aW5nKTogRGVsZXRlZC4KKyAgICAgICAgKiBzdmcvU1ZHRkVDb21wb3NpdGVFbGVtZW50Lmg6Cisg
ICAgICAgIChXZWJDb3JlOjpTVkdJRExFbnVtTGltaXRzPENvbXBvc2l0ZU9wZXJhdGlvblR5cGU+
OjpoaWdoZXN0RXhwb3NlZEVudW1WYWx1ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpT
VkdQcm9wZXJ0eVRyYWl0czxDb21wb3NpdGVPcGVyYXRpb25UeXBlPjo6aGlnaGVzdEVudW1WYWx1
ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxDb21wb3Np
dGVPcGVyYXRpb25UeXBlPjo6dG9TdHJpbmcpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
U1ZHUHJvcGVydHlUcmFpdHM8Q29tcG9zaXRlT3BlcmF0aW9uVHlwZT46OmZyb21TdHJpbmcpOiBE
ZWxldGVkLgorICAgICAgICAqIHN2Zy9TVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVudC5oOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8RWRnZU1vZGVUeXBlPjo6aGlnaGVzdEVu
dW1WYWx1ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxF
ZGdlTW9kZVR5cGU+Ojppbml0aWFsVmFsdWUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
U1ZHUHJvcGVydHlUcmFpdHM8RWRnZU1vZGVUeXBlPjo6dG9TdHJpbmcpOiBEZWxldGVkLgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8RWRnZU1vZGVUeXBlPjo6ZnJvbVN0cmlu
Zyk6IERlbGV0ZWQuCisgICAgICAgICogc3ZnL1NWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudC5o
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8Q2hhbm5lbFNlbGVjdG9yVHlw
ZT46OmhpZ2hlc3RFbnVtVmFsdWUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJv
cGVydHlUcmFpdHM8Q2hhbm5lbFNlbGVjdG9yVHlwZT46OnRvU3RyaW5nKTogRGVsZXRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPENoYW5uZWxTZWxlY3RvclR5cGU+Ojpm
cm9tU3RyaW5nKTogRGVsZXRlZC4KKyAgICAgICAgKiBzdmcvU1ZHRkVNb3JwaG9sb2d5RWxlbWVu
dC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8TW9ycGhvbG9neU9wZXJh
dG9yVHlwZT46OmhpZ2hlc3RFbnVtVmFsdWUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
U1ZHUHJvcGVydHlUcmFpdHM8TW9ycGhvbG9neU9wZXJhdG9yVHlwZT46OnRvU3RyaW5nKTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPE1vcnBob2xvZ3lPcGVy
YXRvclR5cGU+Ojpmcm9tU3RyaW5nKTogRGVsZXRlZC4KKyAgICAgICAgKiBzdmcvU1ZHRkVUdXJi
dWxlbmNlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdGRVR1cmJ1bGVuY2VFbGVt
ZW50OjpidWlsZCk6CisgICAgICAgICogc3ZnL1NWR0ZFVHVyYnVsZW5jZUVsZW1lbnQuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPFNWR1N0aXRjaE9wdGlvbnM+OjpoaWdo
ZXN0RW51bVZhbHVlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJh
aXRzPFNWR1N0aXRjaE9wdGlvbnM+Ojp0b1N0cmluZyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxTVkdTdGl0Y2hPcHRpb25zPjo6ZnJvbVN0cmluZyk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxUdXJidWxlbmNlVHlw
ZT46OmhpZ2hlc3RFbnVtVmFsdWUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJv
cGVydHlUcmFpdHM8VHVyYnVsZW5jZVR5cGU+Ojp0b1N0cmluZyk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxUdXJidWxlbmNlVHlwZT46OmZyb21TdHJpbmcp
OiBEZWxldGVkLgorICAgICAgICAqIHN2Zy9TVkdHcmFkaWVudEVsZW1lbnQuaDoKKyAgICAgICAg
KFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPFNWR1NwcmVhZE1ldGhvZFR5cGU+OjpoaWdoZXN0
RW51bVZhbHVlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRz
PFNWR1NwcmVhZE1ldGhvZFR5cGU+Ojp0b1N0cmluZyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxTVkdTcHJlYWRNZXRob2RUeXBlPjo6ZnJvbVN0cmluZyk6
IERlbGV0ZWQuCisgICAgICAgICogc3ZnL1NWR0xlbmd0aFZhbHVlLmg6CisgICAgICAgIChXZWJD
b3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxTVkdMZW5ndGhWYWx1ZT46OmluaXRpYWxWYWx1ZSk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxTVkdMZW5ndGhWYWx1
ZT46OnBhcnNlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRz
PFNWR0xlbmd0aFZhbHVlPjo6dG9TdHJpbmcpOiBEZWxldGVkLgorICAgICAgICAqIHN2Zy9TVkdN
YXJrZXJUeXBlcy5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8U1ZHTWFy
a2VyVW5pdHNUeXBlPjo6aGlnaGVzdEVudW1WYWx1ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxTVkdNYXJrZXJVbml0c1R5cGU+Ojp0b1N0cmluZyk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxTVkdNYXJrZXJVbml0
c1R5cGU+Ojpmcm9tU3RyaW5nKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3Bl
cnR5VHJhaXRzPFNWR01hcmtlck9yaWVudFR5cGU+OjphdXRvU3RyaW5nKTogRGVsZXRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPFNWR01hcmtlck9yaWVudFR5cGU+Ojph
dXRvU3RhcnRSZXZlcnNlU3RyaW5nKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1By
b3BlcnR5VHJhaXRzPFNWR01hcmtlck9yaWVudFR5cGU+OjpoaWdoZXN0RW51bVZhbHVlKTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPFNWR01hcmtlck9yaWVu
dFR5cGU+Ojpmcm9tU3RyaW5nKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3Bl
cnR5VHJhaXRzPFNWR01hcmtlck9yaWVudFR5cGU+Ojp0b1N0cmluZyk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJDb3JlOjpTVkdJRExFbnVtTGltaXRzPFNWR01hcmtlck9yaWVudFR5cGU+OjpoaWdo
ZXN0RXhwb3NlZEVudW1WYWx1ZSk6IERlbGV0ZWQuCisgICAgICAgICogc3ZnL1NWR1BhcnNpbmdF
cnJvci5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHTnVtZXJpY1BhcnNpbmdWYWxpZGF0b3I6OnZh
bGlkYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OnZhbGlkYXRlTnVtZXJpYyk6CisgICAgICAgICog
c3ZnL1NWR1ByZXNlcnZlQXNwZWN0UmF0aW9WYWx1ZS5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZH
UHJvcGVydHlUcmFpdHM8U1ZHUHJlc2VydmVBc3BlY3RSYXRpb1ZhbHVlPjo6aW5pdGlhbFZhbHVl
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPFNWR1ByZXNl
cnZlQXNwZWN0UmF0aW9WYWx1ZT46OmZyb21TdHJpbmcpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8U1ZHUHJlc2VydmVBc3BlY3RSYXRpb1ZhbHVlPjo6cGFy
c2UpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8U1ZHUHJl
c2VydmVBc3BlY3RSYXRpb1ZhbHVlPjo6dG9TdHJpbmcpOiBEZWxldGVkLgorICAgICAgICAqIHN2
Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5
VHJhaXRzPFNWR0xlbmd0aEFkanVzdFR5cGU+OjpoaWdoZXN0RW51bVZhbHVlKTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPFNWR0xlbmd0aEFkanVzdFR5cGU+
Ojp0b1N0cmluZyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0
czxTVkdMZW5ndGhBZGp1c3RUeXBlPjo6ZnJvbVN0cmluZyk6IERlbGV0ZWQuCisgICAgICAgICog
c3ZnL1NWR1RleHRQYXRoRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlU
cmFpdHM8U1ZHVGV4dFBhdGhNZXRob2RUeXBlPjo6aGlnaGVzdEVudW1WYWx1ZSk6IERlbGV0ZWQu
CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxTVkdUZXh0UGF0aE1ldGhvZFR5
cGU+Ojp0b1N0cmluZyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRy
YWl0czxTVkdUZXh0UGF0aE1ldGhvZFR5cGU+Ojpmcm9tU3RyaW5nKTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPFNWR1RleHRQYXRoU3BhY2luZ1R5cGU+Ojpo
aWdoZXN0RW51bVZhbHVlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5
VHJhaXRzPFNWR1RleHRQYXRoU3BhY2luZ1R5cGU+Ojp0b1N0cmluZyk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxTVkdUZXh0UGF0aFNwYWNpbmdUeXBlPjo6
ZnJvbVN0cmluZyk6IERlbGV0ZWQuCisgICAgICAgICogc3ZnL1NWR1VuaXRUeXBlcy5oOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8U1ZHVW5pdFR5cGVzOjpTVkdVbml0VHlw
ZT46OmhpZ2hlc3RFbnVtVmFsdWUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJv
cGVydHlUcmFpdHM8U1ZHVW5pdFR5cGVzOjpTVkdVbml0VHlwZT46OnRvU3RyaW5nKTogRGVsZXRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPFNWR1VuaXRUeXBlczo6U1ZH
VW5pdFR5cGU+Ojpmcm9tU3RyaW5nKTogRGVsZXRlZC4KKyAgICAgICAgKiBzdmcvU1ZHWm9vbUFu
ZFBhbi5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHWm9vbUFuZFBhbjo6cmVzZXQpOgorICAgICAg
ICAqIHN2Zy9TVkdab29tQW5kUGFuVHlwZS5oOiBEZWxldGVkLgorICAgICAgICAqIHN2Zy9wcm9w
ZXJ0aWVzL1NWR0RlY29yYXRlZFByaW1pdGl2ZS5oOgorICAgICAgICAqIHN2Zy9wcm9wZXJ0aWVz
L1NWR0VudW1UcmFpdHMuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdFbnVtVmFsdWVD
aGVja2VyOjppc1ZhbGlkRW51bSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbnVtVmFsdWVQYXJz
ZXI6OnBhcnNlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VudW1WYWx1ZUNvbXBvc2VyOjp0b1N0
cmluZyk6CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHRW51bVR5cGUuaDogQWRkZWQuCisg
ICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHRW51bVR5cGVUcmFpdHMuaDogQWRkZWQuCisgICAg
ICAgIChXZWJDb3JlOjpTVkdFbnVtVHJhaXRzPEJsZW5kTW9kZT46OnZhbHVlcyk6CisgICAgICAg
IChXZWJDb3JlOjpTVkdFbnVtVHJhaXRzPEJsZW5kTW9kZT46OmhpZ2hlc3RFeHBvc2VkRW51bVZh
bHVlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VudW1UcmFpdHM8Q2hhbm5lbFNlbGVjdG9yVHlw
ZT46OnZhbHVlcyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbnVtVHJhaXRzPENoYW5uZWxTZWxl
Y3RvclR5cGU+OjpoaWdoZXN0RXhwb3NlZEVudW1WYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpT
VkdFbnVtVHJhaXRzPENvbXBvbmVudFRyYW5zZmVyVHlwZT46OnZhbHVlcyk6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdFbnVtVHJhaXRzPENvbXBvbmVudFRyYW5zZmVyVHlwZT46OmhpZ2hlc3RFeHBv
c2VkRW51bVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VudW1UcmFpdHM8Q29sb3JNYXRy
aXhUeXBlPjo6dmFsdWVzKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VudW1UcmFpdHM8Q29sb3JN
YXRyaXhUeXBlPjo6aGlnaGVzdEV4cG9zZWRFbnVtVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHRW51bVRyYWl0czxDb21wb3NpdGVPcGVyYXRpb25UeXBlPjo6dmFsdWVzKToKKyAgICAgICAg
KFdlYkNvcmU6OlNWR0VudW1UcmFpdHM8Q29tcG9zaXRlT3BlcmF0aW9uVHlwZT46OmhpZ2hlc3RF
eHBvc2VkRW51bVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VudW1UcmFpdHM8RWRnZU1v
ZGVUeXBlPjo6dmFsdWVzKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VudW1UcmFpdHM8RWRnZU1v
ZGVUeXBlPjo6aGlnaGVzdEV4cG9zZWRFbnVtVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZH
RW51bVRyYWl0czxNb3JwaG9sb2d5T3BlcmF0b3JUeXBlPjo6dmFsdWVzKToKKyAgICAgICAgKFdl
YkNvcmU6OlNWR0VudW1UcmFpdHM8TW9ycGhvbG9neU9wZXJhdG9yVHlwZT46OmhpZ2hlc3RFeHBv
c2VkRW51bVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VudW1UcmFpdHM8VHVyYnVsZW5j
ZVR5cGU+Ojp2YWx1ZXMpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRW51bVRyYWl0czxUdXJidWxl
bmNlVHlwZT46OmhpZ2hlc3RFeHBvc2VkRW51bVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OlNW
R0VudW1UcmFpdHM8U1ZHTGVuZ3RoQWRqdXN0VHlwZT46OnZhbHVlcyk6CisgICAgICAgIChXZWJD
b3JlOjpTVkdFbnVtVHJhaXRzPFNWR0xlbmd0aEFkanVzdFR5cGU+OjpoaWdoZXN0RXhwb3NlZEVu
dW1WYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbnVtVHJhaXRzPFNWR01hcmtlclVuaXRz
VHlwZT46OnZhbHVlcyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbnVtVHJhaXRzPFNWR01hcmtl
clVuaXRzVHlwZT46OmhpZ2hlc3RFeHBvc2VkRW51bVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6
OlNWR0VudW1UcmFpdHM8U1ZHTWFya2VyT3JpZW50VHlwZT46OnZhbHVlcyk6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdFbnVtVHJhaXRzPFNWR01hcmtlck9yaWVudFR5cGU+OjpoaWdoZXN0RXhwb3Nl
ZEVudW1WYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbnVtVHJhaXRzPFNWR1NwcmVhZE1l
dGhvZFR5cGU+Ojp2YWx1ZXMpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRW51bVRyYWl0czxTVkdT
cHJlYWRNZXRob2RUeXBlPjo6aGlnaGVzdEV4cG9zZWRFbnVtVmFsdWUpOgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHRW51bVRyYWl0czxTVkdTdGl0Y2hPcHRpb25zPjo6dmFsdWVzKToKKyAgICAgICAg
KFdlYkNvcmU6OlNWR0VudW1UcmFpdHM8U1ZHU3RpdGNoT3B0aW9ucz46OmhpZ2hlc3RFeHBvc2Vk
RW51bVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VudW1UcmFpdHM8U1ZHVGV4dFBhdGhN
ZXRob2RUeXBlPjo6dmFsdWVzKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VudW1UcmFpdHM8U1ZH
VGV4dFBhdGhNZXRob2RUeXBlPjo6aGlnaGVzdEV4cG9zZWRFbnVtVmFsdWUpOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHRW51bVRyYWl0czxTVkdUZXh0UGF0aFNwYWNpbmdUeXBlPjo6dmFsdWVzKToK
KyAgICAgICAgKFdlYkNvcmU6OlNWR0VudW1UcmFpdHM8U1ZHVGV4dFBhdGhTcGFjaW5nVHlwZT46
OmhpZ2hlc3RFeHBvc2VkRW51bVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VudW1UcmFp
dHM8U1ZHVW5pdFR5cGVzOjpTVkdVbml0VHlwZT46OnZhbHVlcyk6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdFbnVtVHJhaXRzPFNWR1VuaXRUeXBlczo6U1ZHVW5pdFR5cGU+OjpoaWdoZXN0RXhwb3Nl
ZEVudW1WYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbnVtVHJhaXRzPFNWR1pvb21BbmRQ
YW5UeXBlPjo6dmFsdWVzKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VudW1UcmFpdHM8U1ZHWm9v
bUFuZFBhblR5cGU+OjpoaWdoZXN0RXhwb3NlZEVudW1WYWx1ZSk6CisgICAgICAgICogc3ZnL3By
b3BlcnRpZXMvU1ZHUHJvcGVydHlUcmFpdHMuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3Bl
cnR5VHJhaXRzPGJvb2w+OjpwYXJzZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRy
YWl0czxib29sPjo6ZnJvbVN0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRy
YWl0czxib29sPjo6dG9TdHJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFp
dHM8Q29sb3I+OjpwYXJzZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxD
b2xvcj46OmZyb21TdHJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8
Q29sb3I+Ojp0b1N0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxT
dHJpbmc+Ojppbml0aWFsVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFp
dHM8U3RyaW5nPjo6cGFyc2UpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8
U3RyaW5nPjo6ZnJvbVN0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0
czxTdHJpbmc+Ojp0b1N0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0
czxmbG9hdD46OnBhcnNlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPGZs
b2F0Pjo6ZnJvbVN0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxm
bG9hdD46OnRvU3RyaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPGlu
dD46OmluaXRpYWxWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxp
bnQ+OjpwYXJzZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxpbnQ+Ojpm
cm9tU3RyaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPGludD46OnRv
U3RyaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPEZsb2F0UG9pbnQ+
OjpwYXJzZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxGbG9hdFBvaW50
Pjo6ZnJvbVN0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxGbG9h
dFBvaW50Pjo6dG9TdHJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8
RmxvYXRSZWN0Pjo6cGFyc2UpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8
RmxvYXRSZWN0Pjo6ZnJvbVN0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRy
YWl0czxGbG9hdFJlY3Q+Ojp0b1N0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0
eVRyYWl0czx1bnNpZ25lZD46OmluaXRpYWxWYWx1ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpTVkdQcm9wZXJ0eVRyYWl0czx1bnNpZ25lZD46OnBhcnNlKTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPHVuc2lnbmVkPjo6dG9TdHJpbmcpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHSURMRW51bUxpbWl0czo6aGlnaGVzdEV4cG9zZWRF
bnVtVmFsdWUpOiBEZWxldGVkLgorCisyMDE5LTA1LTIwICBTYWlkIEFib3UtSGFsbGF3YSAgPHNh
aWRAYXBwbGUuY29tPgorCisgICAgICAgIFVuaWZ5IHRoZSBwYXJzaW5nIG9mIFNWR0xpc3Qgc3Vw
ZXIgY2xhc3NlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTk3ODMxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgUGFyc2luZyB0aGUgU1ZHIGxpc3RzIGlzIGp1c3QgYWQtaG9jLiBUaGVyZSBpcyBubyBzaW5n
bGUgcnVsZSBmb3I6CisKKyAgICAgICAgLS0gVGhlIGxlYWRpbmcgc3BhY2VzOiBTVkdMZW5ndGhM
aXN0IFNWR051bWJlckxpc3QgdHJlYXRlZCB0aGVtIGFzIGFuIGVycm9yCisgICAgICAgICAgIHdo
aWxlIFNWR1RyYW5zZm9ybUxpc3QgYW5kIFNWR1BvaW50TGlzdCB3ZXJlIGp1c3Qgc2tpcHBpbmcg
dGhlbS4KKyAgICAgICAgLS0gU3RhdHVzIG9mIHRoZSBsaXN0IGluIGNhc2Ugb2YgYW4gZXJyb3I6
IFNWR1RyYW5zZm9ybUxpc3Qgd2FzIGNsZWFyaW5nCisgICAgICAgICAgIHRoZSBsaXN0IGlmIGFu
IGVycm9yIHdhcyBkZXRlY3RlZC4gVGhlIG90aGVyIGxpc3RzIHdlcmUgbGVhdmluZyB3aGF0ZXZl
cgorICAgICAgICAgICBpcyBwYXJzZWQgYmVmb3JlIHRoZSBlcnJvciBoYXBwZW5lZCBidXQgcmV0
dXJuIGFuIGVycm9yLgorICAgICAgICAtLSBSZXBvcnRpbmcgYW4gZXJyb3IgbWVzc2FnZSBpbiB0
aGUgY29uc29sZTogU1ZHUG9pbnRMaXN0IHdhcyByZXBvcnRpbmcKKyAgICAgICAgICAgYW4gZXJy
b3IgbWVzc2FnZSBpZiBhIHBhcnNpbmcgZXJyb3IgaGFwcGVuZWQuIFRoZSBvdGhlciB0eXBlIG9m
IGxpc3RzCisgICAgICAgICAgIHdlcmUganVzdCBzaWxlbnQgd2hlbiBhbiBlcnJvciBoYXBwZW5z
LgorICAgICAgICAtLSBEZWxpbWl0ZXJzOiBTVkdOdW1iZXJMaXN0IGFzc3VtZSB0aGUgd2hpdGUg
c3BhY2VzIGFyZSB0aGUgb25seSBhbGxvd2VkCisgICAgICAgICAgIGRlbGltaXRlci4gQWxsIG90
aGVyIGxpc3RzIGFsbG93IHRoZSBjb21tYSBhbHNvIGFzIGEgZGVsaW1pdGVyLgorICAgICAgICAt
LSBFeHRyYSB0ZXh0IGF0IHRoZSBlbmQ6IFNWR1RyYW5zZm9ybUxpc3Qgd2FzIG5vdCByZXBvcnRp
bmcgYW4gZXJyb3IgaWYKKyAgICAgICAgICAgdGhlcmUgaXMgZXh0cmEgdGV4dCBhdCB0aGUgZW5k
LiBPdGhlciBsaXN0IHdlcmUgcmV0dXJuaW5nIGZhbHNlLgorCisgICAgICAgIEluIGFkZGl0aW9u
IHRvIHRoYXQsIHRoZSBwYXJzaW5nIGNvZGUgd2FzIHJlcGVhdGVkIGluIGV2ZXJ5IFNWR0xpc3QK
KyAgICAgICAgc3VwZXIgY2xhc3MuIEluc3RlYWQgcGFyc2luZyB0aGUgbGlzdCBzaG91bGQgYmUg
aW4gU1ZHVmFsdWVQcm9wZXJ0eUxpc3QKKyAgICAgICAgYW5kIFNWR1ByaW1pdGl2ZUxpc3QuIEFu
ZCBwYXJzaW5nIHRoZSBpdGVtIHNob3VsZCBiZSBtb3ZlZCB0byB0aGUgdmFsdWUKKyAgICAgICAg
cHJvcGVydHkgY2xhc3Mgb3IgdGhlIFNWR1Byb3BlcnR5VHJhaXRzIG9mIHRoZSBwcmltaXRpdmUu
CisKKyAgICAgICAgU1ZHVmlld1NwZWMgcGFyc2luZyBpcyBjbGVhbmVkIHVwIGluIHRoZSBwYXRj
aCBhcyB3ZWxsLiBQYXJzaW5nIG9mIHRoaXMKKyAgICAgICAgY2xhc3MgaXMgbmVlZGVkIHRvIGNy
ZWF0ZSB0aGUgdmlldyBmb3IgYSBmcmFnbWVudC4KKworICAgICAgICAqIHN2Zy9TVkdFbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VsZW1lbnQ6OnJlcG9ydEF0dHJpYnV0ZVBhcnNp
bmdFcnJvcik6CisgICAgICAgICogc3ZnL1NWR0ZpdFRvVmlld0JveC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdGaXRUb1ZpZXdCb3g6OnBhcnNlQXR0cmlidXRlKToKKyAgICAgICAgKFdlYkNv
cmU6OlNWR0ZpdFRvVmlld0JveDo6cGFyc2VWaWV3Qm94KToKKyAgICAgICAgKiBzdmcvU1ZHRml0
VG9WaWV3Qm94Lmg6CisgICAgICAgICogc3ZnL1NWR0xlbmd0aC5oOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHTGVuZ3RoOjpjcmVhdGUpOgorICAgICAgICAqIHN2Zy9TVkdMZW5ndGhMaXN0Lmg6Cisg
ICAgICAgIChXZWJDb3JlOjpTVkdMZW5ndGhMaXN0OjpwYXJzZSk6CisgICAgICAgICogc3ZnL1NW
R051bWJlci5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHTnVtYmVyOjpjcmVhdGUpOgorICAgICAg
ICAqIHN2Zy9TVkdOdW1iZXJMaXN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdOdW1iZXJMaXN0
OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHTnVtYmVyTGlzdDo6cGFyc2UpOiBEZWxl
dGVkLgorICAgICAgICAoKTogRGVsZXRlZC4KKyAgICAgICAgKiBzdmcvU1ZHUGFyc2luZ0Vycm9y
Lmg6CisgICAgICAgICogc3ZnL1NWR1BvaW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdQb2lu
dDo6Y3JlYXRlKToKKyAgICAgICAgKiBzdmcvU1ZHUG9pbnRMaXN0Lmg6CisgICAgICAgIChXZWJD
b3JlOjpTVkdQb2ludExpc3Q6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQb2ludExp
c3Q6OnBhcnNlKTogRGVsZXRlZC4KKyAgICAgICAgKCk6IERlbGV0ZWQuCisgICAgICAgICogc3Zn
L1NWR1BvbHlFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1BvbHlFbGVtZW50Ojpw
YXJzZUF0dHJpYnV0ZSk6CisgICAgICAgICogc3ZnL1NWR1ByZXNlcnZlQXNwZWN0UmF0aW9WYWx1
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVmFsdWU6OnBh
cnNlKToKKyAgICAgICAgKiBzdmcvU1ZHUHJlc2VydmVBc3BlY3RSYXRpb1ZhbHVlLmg6CisgICAg
ICAgICogc3ZnL1NWR1NWR0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHU1ZHRWxl
bWVudDo6cGFyc2VBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHU1ZHRWxlbWVudDo6
c2Nyb2xsVG9GcmFnbWVudCk6CisgICAgICAgICogc3ZnL1NWR1N0cmluZ0xpc3QuaDoKKyAgICAg
ICAgKiBzdmcvU1ZHVGVzdHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGVzdHM6OnBhcnNl
QXR0cmlidXRlKToKKyAgICAgICAgKiBzdmcvU1ZHVHJhbnNmb3JtLmg6CisgICAgICAgIChXZWJD
b3JlOjpTVkdUcmFuc2Zvcm06OmNyZWF0ZSk6CisgICAgICAgICogc3ZnL1NWR1RyYW5zZm9ybUxp
c3QuaDoKKyAgICAgICAgKiBzdmcvU1ZHVmlld0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHVmlld0VsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKToKKyAgICAgICAgKiBzdmcvU1ZHVmll
d1NwZWMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cGFyc2VOYW1lc1ZhbHVlcyk6CisgICAgICAg
IChXZWJDb3JlOjpTVkdWaWV3U3BlYzo6cGFyc2VBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHVmlld1NwZWM6OnBhcnNlVmlld1NwZWMpOgorICAgICAgICAqIHN2Zy9TVkdWaWV3U3Bl
Yy5oOgorICAgICAgICAqIHN2Zy9TVkdab29tQW5kUGFuLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNWR1pvb21BbmRQYW46OnBhcnNlQXR0cmlidXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1pv
b21BbmRQYW46OnBhcnNlWm9vbUFuZFBhbik6IERlbGV0ZWQuCisgICAgICAgICogc3ZnL1NWR1pv
b21BbmRQYW4uaDoKKyAgICAgICAgKiBzdmcvU1ZHWm9vbUFuZFBhblR5cGUuaDoKKyAgICAgICAg
KFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPFNWR1pvb21BbmRQYW5UeXBlPjo6cGFyc2UpOgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8U1ZHWm9vbUFuZFBhblR5cGU+Ojpm
cm9tU3RyaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPFNWR1pvb21B
bmRQYW5UeXBlPjo6dG9TdHJpbmcpOiBEZWxldGVkLgorICAgICAgICAqIHN2Zy9wcm9wZXJ0aWVz
L1NWR1ByaW1pdGl2ZUxpc3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1ByaW1pdGl2ZUxpc3Q6
OnBhcnNlKToKKyAgICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdWYWx1ZVByb3BlcnR5TGlzdC5o
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHVmFsdWVQcm9wZXJ0eUxpc3Q6OnBhcnNlKToKKwogMjAx
OS0wNS0yMSAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBNZWRp
YSBjb250cm9scyBkb24ndCBzaG93IGluIFdLMiB2aWRlbyBmdWxsc2NyZWVuIHNvbWV0aW1lcwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IDUyMmI2ZDA4Y2MwZDM5YTM0ZDVjMTU0MjY2NjgwMDZkMGUxYmE4OTIuLjM2M2Y0Njc3OTBm
ZWNiZjY4YzkwZjZiMTMwMmQ5ZDE3MzkwZmMzNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE3MzgsNyArMTczOCw2IEBACiAJ
CTU1RENDNTI4MjI0MDdCMjAwMEMyNkUzMiAvKiBTVkdQcmltaXRpdmVMaXN0LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NURDQzUyNTIyNDA3NDlFMDBD
MjZFMzIgLyogU1ZHUHJpbWl0aXZlTGlzdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTU1RENDNTI5MjI0MDdCMkEwMEMyNkUzMiAvKiBTVkdMaXN0
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NURDQzUy
MzIyNDA3M0ZFMDBDMjZFMzIgLyogU1ZHTGlzdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTU1RUM5NTk5MjA2QUE3QTAwMDdERDBBOSAvKiBQYWlu
dEZyZXF1ZW5jeVRyYWNrZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDU1RUM5NTk3MjA2OUM5MkQwMDdERDBBOSAvKiBQYWludEZyZXF1ZW5jeVRyYWNr
ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk1
NUZBN0ZGQjIxMTBFQ0Q3MDA1QUVGRTcgLyogU1ZHWm9vbUFuZFBhblR5cGUuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU1RkE3RkZBMjExMEVDRDcwMDVB
RUZFNyAvKiBTVkdab29tQW5kUGFuVHlwZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTU3MDQ0MDVBMUU1MzkzNjIwMDM1NjYwMSAvKiBKU0Flc0Ni
Y0NmYlBhcmFtcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNTcwNDQwNTkxRTUzOTM2MjAwMzU2NjAxIC8qIEpTQWVzQ2JjQ2ZiUGFyYW1zLmggKi87IH07
CiAJCTU3MDZBNjk2MURERTVDOTUwMEEwM0IxNCAvKiBDcnlwdG9BbGdvcml0aG1Sc2FPYWVwUGFy
YW1zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NzA2
QTY5NTFEREU1Qzk1MDBBMDNCMTQgLyogQ3J5cHRvQWxnb3JpdGhtUnNhT2FlcFBhcmFtcy5oICov
OyB9OwogCQk1NzA2QTY5ODFEREU1RTQ2MDBBMDNCMTQgLyogSlNSc2FPYWVwUGFyYW1zLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NzA2QTY5NzFEREU1
RTQ2MDBBMDNCMTQgLyogSlNSc2FPYWVwUGFyYW1zLmggKi87IH07CkBAIC04NTM1LDcgKzg1MzQs
NiBAQAogCQk1NUVFNTM2MjIyM0IyQTIzMDBGQkE5NDQgLyogU1ZHQW5pbWF0ZWRQcm9wZXJ0eS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdBbmltYXRlZFByb3BlcnR5Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU1RUU1MzYzMjIzQjJBMjQwMEZCQTk0NCAv
KiBTVkdQcm9wZXJ0eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdQcm9w
ZXJ0eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NUVFNTM2NDIyM0IyQTI0MDBG
QkE5NDQgLyogU1ZHQXR0cmlidXRlQW5pbWF0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gU1ZHQXR0cmlidXRlQW5pbWF0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKLQkJNTVGQTdGRkEyMTEwRUNENzAwNUFFRkU3IC8qIFNWR1pvb21BbmRQYW5UeXBlLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFNWR1pvb21BbmRQYW5UeXBlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTU3MDQ0MDU3MUU1Mzg1MTYwMDM1NjYwMSAvKiBDcnlwdG9BbGdvcml0aG1BRVNfQ0ZC
TWFjLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENyeXB0b0FsZ29y
aXRobUFFU19DRkJNYWMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NzA0NDA1
OTFFNTM5MzYyMDAzNTY2MDEgLyogSlNBZXNDYmNDZmJQYXJhbXMuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSlNBZXNDYmNDZmJQYXJhbXMuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNTcwNDQwNUIxRTUzOTM3OTAwMzU2NjAxIC8qIEpTQWVzQ2JjQ2ZiUGFyYW1z
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQWVzQ2JjQ2ZiUGFy
YW1zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTkzNjgsNiArOTM2Niw5IEBA
CiAJCTcyNEVEMzMwMUEzQThCMjMwMEY1RjEzQyAvKiBKU0VYVEJsZW5kTWluTWF4LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRVhUQmxlbmRNaW5NYXguaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzI0RUU1NEUxREM3RjI1QjAwQTkxRkZCIC8qIEFjdGl2aXR5
U3RhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWN0aXZpdHlTdGF0ZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3MjRFRTU0RjFEQzdGMjVCMDBBOTFGRkIg
LyogQWN0aXZpdHlTdGF0ZUNoYW5nZU9ic2VydmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEFjdGl2aXR5U3RhdGVDaGFuZ2VPYnNlcnZlci5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk3MjY1NEFBMzIyOEM2QjNCMDBCRUIxMDMgLyogU1ZHRW51bVRyYWl0cy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBTVkdFbnVtVHJhaXRzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTcyNjU0QUE3MjI4RUZEQzQwMEJFQjEwMyAvKiBTVkdFbnVtVHlwZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBTVkdFbnVtVHlwZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3MjY1
NEFBODIyOEYzODM2MDBCRUIxMDMgLyogU1ZHRW51bVR5cGVUcmFpdHMuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gU1ZHRW51bVR5cGVUcmFpdHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzI2
NkYwMTMyMjQxQkNFMjAwODMzOTc1IC8qIFNWR1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFNWR1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTcyNjZGMDE0MjI0MUJGQjIwMDgzMzk3NSAvKiBTVkdQcmltaXRpdmVQ
cm9wZXJ0eUFuaW1hdG9ySW1wbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdQcmltaXRpdmVQcm9wZXJ0
eUFuaW1hdG9ySW1wbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3MjY2RjAxNTIy
NDFDMDk4MDA4MzM5NzUgLyogU1ZHUHJpbWl0aXZlUHJvcGVydHlBbmltYXRvci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBTVkdQcmltaXRpdmVQcm9wZXJ0eUFuaW1hdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC0xNjAyNyw2ICsxNjAyOCw5IEBACiAJCQkJNTU1MzU5MjEyMjQ0MUI5NzAw
OEY1RUM5IC8qIFNWR0RlY29yYXRlZEVudW1lcmF0aW9uLmggKi8sCiAJCQkJNTU1MzU5MjIyMjQ0
MUJFOTAwOEY1RUM5IC8qIFNWR0RlY29yYXRlZFByaW1pdGl2ZS5oICovLAogCQkJCTU1NTM1OTIz
MjI0NDFDMTgwMDhGNUVDOSAvKiBTVkdEZWNvcmF0ZWRQcm9wZXJ0eS5oICovLAorCQkJCTcyNjU0
QUEzMjI4QzZCM0IwMEJFQjEwMyAvKiBTVkdFbnVtVHJhaXRzLmggKi8sCisJCQkJNzI2NTRBQTcy
MjhFRkRDNDAwQkVCMTAzIC8qIFNWR0VudW1UeXBlLmggKi8sCisJCQkJNzI2NTRBQTgyMjhGMzgz
NjAwQkVCMTAzIC8qIFNWR0VudW1UeXBlVHJhaXRzLmggKi8sCiAJCQkJNTVEQ0M1MjMyMjQwNzNG
RTAwQzI2RTMyIC8qIFNWR0xpc3QuaCAqLywKIAkJCQk1NUVFNTM1NDIyM0IyOUU5MDBGQkE5NDQg
LyogU1ZHTWVtYmVyQWNjZXNzb3IuaCAqLywKIAkJCQk1NUJFMDI1QTIyM0IyOUMyMDAzMkYwOEEg
LyogU1ZHUG9pbnRlck1lbWJlckFjY2Vzc29yLmggKi8sCkBAIC0xNjk5OCwxMSArMTcwMDIsMTEg
QEAKIAkJMUNBMEMyRjYyMUVFREFEMjAwQTExODYwIC8qIEFTVCAqLyA9IHsKIAkJCWlzYSA9IFBC
WEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCi0JCQkJNTIxNTg2MkMyMjkzNzdCNzAwNTkyNUVGIC8q
IFdITFNMQVNULmggKi8sCiAJCQkJMUM4NDBCOTAyMUVDMzBGOTAwRDA1MDBEIC8qIFdITFNMQWRk
cmVzc1NwYWNlLmggKi8sCiAJCQkJQzIxQkY3MjUyMUNEODlFMjAwMjI3OTc5IC8qIFdITFNMQXJy
YXlSZWZlcmVuY2VUeXBlLmggKi8sCiAJCQkJQzIxQkY3MDkyMUNEODlDQTAwMjI3OTc5IC8qIFdI
TFNMQXJyYXlUeXBlLmggKi8sCiAJCQkJQzIxQkY3MzAyMUNEODlFRDAwMjI3OTc5IC8qIFdITFNM
QXNzaWdubWVudEV4cHJlc3Npb24uaCAqLywKKwkJCQk1MjE1ODYyQzIyOTM3N0I3MDA1OTI1RUYg
LyogV0hMU0xBU1QuaCAqLywKIAkJCQlDMjFCRjcwQTIxQ0Q4OUNCMDAyMjc5NzkgLyogV0hMU0xC
YXNlRnVuY3Rpb25BdHRyaWJ1dGUuaCAqLywKIAkJCQlDMjFCRjZGQTIxQ0Q4OUJFMDAyMjc5Nzkg
LyogV0hMU0xCYXNlU2VtYW50aWMuaCAqLywKIAkJCQlDMjFCRjcxRTIxQ0Q4OURDMDAyMjc5Nzkg
LyogV0hMU0xCbG9jay5oICovLApAQCAtMjQxNzksNyArMjQxODMsNiBAQAogCQkJCUIyMjI3OTVG
MEQwMEJGMjEwMDcxQjc4MiAvKiBTVkdab29tQW5kUGFuLmNwcCAqLywKIAkJCQlCMjIyNzk2MDBE
MDBCRjIxMDA3MUI3ODIgLyogU1ZHWm9vbUFuZFBhbi5oICovLAogCQkJCUIyMjI3OTYxMEQwMEJG
MjEwMDcxQjc4MiAvKiBTVkdab29tQW5kUGFuLmlkbCAqLywKLQkJCQk1NUZBN0ZGQTIxMTBFQ0Q3
MDA1QUVGRTcgLyogU1ZHWm9vbUFuZFBhblR5cGUuaCAqLywKIAkJCQlCMkU0RUM5NDBEMDBDMjJC
MDA0MzI2NDMgLyogU1ZHWm9vbUV2ZW50LmNwcCAqLywKIAkJCQlCMkU0RUM5NTBEMDBDMjJCMDA0
MzI2NDMgLyogU1ZHWm9vbUV2ZW50LmggKi8sCiAJCQkJQjJFNEVDOTYwRDAwQzIyQjAwNDMyNjQz
IC8qIFNWR1pvb21FdmVudC5pZGwgKi8sCkBAIC0zMTcwNiw3ICszMTcwOSw2IEBACiAJCQkJQjIy
MjdBRjMwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR1ZpZXdTcGVjLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk4NDg1MjI4QjExOTAxNzNDMDA2RURDN0YgLyogU1ZHVktlcm5FbGVtZW50LmggaW4gSGVhZGVy
cyAqLywKIAkJCQlCMjIyN0FGNjBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHWm9vbUFuZFBhbi5oIGlu
IEhlYWRlcnMgKi8sCi0JCQkJNTVGQTdGRkIyMTEwRUNENzAwNUFFRkU3IC8qIFNWR1pvb21BbmRQ
YW5UeXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkU0RUM5ODBEMDBDMjJCMDA0MzI2NDMgLyog
U1ZHWm9vbUV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk0NkVDQjYzODFGRDBBM0M4MDA4OEU1
QUQgLyogU1dDbGllbnRDb25uZWN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk0NjY1OERDOTFG
QTI0Qjg3MDBGN0RENTQgLyogU1dDb250ZXh0TWFuYWdlci5oIGluIEhlYWRlcnMgKi8sCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaAppbmRleCA5ZDEy
MGNhNWU4MjNjNWEyYzIwOTIyNTlkMGE4MGRhMDkzYjZkMzUzLi44ZmY0ZmYwM2U3Y2U2MjRlNWMx
MmMyNGY0OTAyZGExYWQwY2Y5ZGE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmlt
aXRpdmVWYWx1ZU1hcHBpbmdzLmgKQEAgLTM5MjMsNiArMzkyMyw5IEBAIHRlbXBsYXRlPD4gaW5s
aW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShCbGVuZE1vZGUgYmxlbmRN
b2RlKQogewogICAgIG1fcHJpbWl0aXZlVW5pdFR5cGUgPSBDU1NfVkFMVUVfSUQ7CiAgICAgc3dp
dGNoIChibGVuZE1vZGUpIHsKKyAgICBjYXNlIEJsZW5kTW9kZTo6VW5rbm93bjoKKyAgICAgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQmxlbmRNb2Rl
OjpOb3JtYWw6CiAgICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlTm9ybWFsOwogICAg
ICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0dyYXBoaWNzVHlwZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBo
aWNzVHlwZXMuaAppbmRleCA2ZTFhZmVlMTk4Y2E0MzhlZDI1ZTQ3MTVmNzlkNjUyYTdmYjFkMjIw
Li5lOTQyMjNjZWY2NDYwNTZiM2VmNmUwOTkwMThkMjdhYjg5NTA1ZGNlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc1R5cGVzLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NUeXBlcy5oCkBAIC01Miw2ICs1
Miw3IEBAIGVudW0gQ29tcG9zaXRlT3BlcmF0b3IgewogfTsKIAogZW51bSBjbGFzcyBCbGVuZE1v
ZGUgeworICAgIFVua25vd24gPSAwLAogICAgIE5vcm1hbCA9IDEsIC8vIFN0YXJ0IHdpdGggMSB0
byBtYXRjaCBTVkcncyBibGVuZG1vZGUgZW51bWVyYXRpb24uCiAgICAgTXVsdGlwbHksCiAgICAg
U2NyZWVuLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cv
R3JhcGhpY3NDb250ZXh0Q0cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2cvR3JhcGhpY3NDb250ZXh0Q0cuY3BwCmluZGV4IDhhZGY4MDE0ZGY1OTYyMWZhMDQ5YTg0Nzcy
YWQ0Yjg0MjVmNjc4ODEuLmM3MjZmOWRiYTJlNDUyNjZkN2NlZTI1MjNlOWQ4ZTUwNDdiY2I4Y2Qg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0dyYXBoaWNz
Q29udGV4dENHLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9H
cmFwaGljc0NvbnRleHRDRy5jcHAKQEAgLTE1NCw2ICsxNTQsOSBAQCBzdGF0aWMgSW50ZXJwb2xh
dGlvblF1YWxpdHkgY29udmVydEludGVycG9sYXRpb25RdWFsaXR5KENHSW50ZXJwb2xhdGlvblF1
YWxpdHkgcQogc3RhdGljIENHQmxlbmRNb2RlIHNlbGVjdENHQmxlbmRNb2RlKENvbXBvc2l0ZU9w
ZXJhdG9yIGNvbXBvc2l0ZU9wZXJhdG9yLCBCbGVuZE1vZGUgYmxlbmRNb2RlKQogewogICAgIHN3
aXRjaCAoYmxlbmRNb2RlKSB7CisgICAgY2FzZSBCbGVuZE1vZGU6OlVua25vd246CisgICAgICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4ga0NHQmxlbmRNb2RlTm9ybWFs
OwogICAgIGNhc2UgQmxlbmRNb2RlOjpOb3JtYWw6CiAgICAgICAgIHN3aXRjaCAoY29tcG9zaXRl
T3BlcmF0b3IpIHsKICAgICAgICAgY2FzZSBDb21wb3NpdGVDbGVhcjoKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdBRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FF
bGVtZW50LmgKaW5kZXggN2UxZDI5NDY3MDRlNjc1NWJlMzRlNDBlNzk4NDc0ZmIxNGM3MDFjNi4u
NmQxZWY0NWVjMTdiNTJkZjMyYTM4NDgxZTBlMWU1NDJmMmQxMTAxMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0FFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0FFbGVtZW50LmgKQEAgLTMxLDYgKzMxLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFz
cyBTVkdBRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdHcmFwaGljc0VsZW1lbnQsIHB1YmxpYyBT
VkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBwdWJsaWMgU1ZHVVJJUmVmZXJlbmNlIHsKICAg
ICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR0FFbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0
eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0FFbGVtZW50LCBTVkdHcmFw
aGljc0VsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIFNWR1VSSVJlZmVyZW5j
ZT47CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR0FFbGVtZW50PiBjcmVhdGUoY29uc3Qg
UXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKQEAgLTQyLDkgKzQ0LDcgQEAgcHVibGljOgog
cHJpdmF0ZToKICAgICBTVkdBRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQm
KTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0
cnk8U1ZHQUVsZW1lbnQsIFNWR0dyYXBoaWNzRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNS
ZXF1aXJlZCwgU1ZHVVJJUmVmZXJlbmNlPjsKICAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5
JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lz
dHJ5OyB9Ci0KICAgICB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBj
b25zdCBBdG9taWNTdHJpbmcmKSBmaW5hbDsKICAgICB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQo
Y29uc3QgUXVhbGlmaWVkTmFtZSYpIGZpbmFsOwogCkBAIC02Niw4ICs2Niw2IEBAIHByaXZhdGU6
CiAKICAgICBQcm9wZXJ0eVJlZ2lzdHJ5IG1fcHJvcGVydHlSZWdpc3RyeSB7ICp0aGlzIH07CiAg
ICAgUmVmPFNWR0FuaW1hdGVkU3RyaW5nPiBtX3RhcmdldCB7IFNWR0FuaW1hdGVkU3RyaW5nOjpj
cmVhdGUodGhpcykgfTsKLQotICAgIC8vIFRoaXMgaXMgY29tcHV0ZWQgb25seSBvbmNlIGFuZCBt
dXN0IG5vdCBiZSBhZmZlY3RlZCBieSBzdWJzZXF1ZW50IFVSTCBjaGFuZ2VzLgogICAgIG11dGFi
bGUgT3B0aW9uYWw8U2hhcmVkU3RyaW5nSGFzaD4gbV9zdG9yZWRWaXNpdGVkTGlua0hhc2g7CiB9
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQWx0R2x5cGhEZWZFbGVtZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQWx0R2x5cGhEZWZFbGVtZW50LmgKaW5kZXggNDcx
NzRmYmIwMmI2ZDdiMjJhNGJkNDY3YmU1N2FiNTVmOTUyMzkyOC4uZTNkNTc5MjY3YjExMjA5MmYy
NTIwYmE3ZjFiNzI1MjRlMzRkM2Q3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0FsdEdseXBoRGVmRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbHRHbHlw
aERlZkVsZW1lbnQuaApAQCAtMjgsNiArMjgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNs
YXNzIFNWR0FsdEdseXBoRGVmRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdFbGVtZW50IHsKICAg
ICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR0FsdEdseXBoRGVmRWxlbWVudCk7CisgICAgdXNp
bmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdBbHRHbHlw
aERlZkVsZW1lbnQsIFNWR0VsZW1lbnQ+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdB
bHRHbHlwaERlZkVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQm
KTsKIApAQCAtMzYsNyArMzgsMTAgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBTVkdBbHRHbHlw
aERlZkVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKKyAgICBjb25z
dCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyBy
ZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9CiAgICAgYm9vbCByZW5kZXJlcklzTmVlZGVkKGNv
bnN0IFJlbmRlclN0eWxlJikgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0KKyAgICAKKyAgICBQcm9w
ZXJ0eVJlZ2lzdHJ5IG1fcHJvcGVydHlSZWdpc3RyeSB7ICp0aGlzIH07CiB9OwogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQWx0R2x5
cGhFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQWx0R2x5cGhFbGVtZW50LmgKaW5k
ZXggNWQ5MDJmNjc1NmMzOWM3YTJjZmU3ODMwZmM0NDgyNTE5MDdlMDdlMC4uOTQ1OWRhNDY4MWMz
NmIwNjhiMDVlY2FlZTQ2YmJhMzczNTk4MWE0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0FsdEdseXBoRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbHRH
bHlwaEVsZW1lbnQuaApAQCAtMzIsNiArMzIsOCBAQCBjbGFzcyBTVkdHbHlwaEVsZW1lbnQ7CiAK
IGNsYXNzIFNWR0FsdEdseXBoRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdUZXh0UG9zaXRpb25p
bmdFbGVtZW50LCBwdWJsaWMgU1ZHVVJJUmVmZXJlbmNlIHsKICAgICBXVEZfTUFLRV9JU09fQUxM
T0NBVEVEKFNWR0FsdEdseXBoRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9
IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdBbHRHbHlwaEVsZW1lbnQsIFNWR1RleHRQb3Np
dGlvbmluZ0VsZW1lbnQsIFNWR1VSSVJlZmVyZW5jZT47CisKIHB1YmxpYzoKICAgICBzdGF0aWMg
UmVmPFNWR0FsdEdseXBoRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1
bWVudCYpOwogCkBAIC00NSwxMSArNDcsOSBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFNWR0Fs
dEdseXBoRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAotICAgIHVz
aW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHQWx0R2x5
cGhFbGVtZW50LCBTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50LCBTVkdVUklSZWZlcmVuY2U+Owog
ICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBm
aW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KLQotICAgIFJlbmRlclB0cjxSZW5k
ZXJFbGVtZW50PiBjcmVhdGVFbGVtZW50UmVuZGVyZXIoUmVuZGVyU3R5bGUmJiwgY29uc3QgUmVu
ZGVyVHJlZVBvc2l0aW9uJikgb3ZlcnJpZGU7Ci0gICAgYm9vbCBjaGlsZFNob3VsZENyZWF0ZVJl
bmRlcmVyKGNvbnN0IE5vZGUmKSBjb25zdCBvdmVycmlkZTsKKyAgICBSZW5kZXJQdHI8UmVuZGVy
RWxlbWVudD4gY3JlYXRlRWxlbWVudFJlbmRlcmVyKFJlbmRlclN0eWxlJiYsIGNvbnN0IFJlbmRl
clRyZWVQb3NpdGlvbiYpIGZpbmFsOworICAgIGJvb2wgY2hpbGRTaG91bGRDcmVhdGVSZW5kZXJl
cihjb25zdCBOb2RlJikgY29uc3QgZmluYWw7CiAKICAgICBQcm9wZXJ0eVJlZ2lzdHJ5IG1fcHJv
cGVydHlSZWdpc3RyeSB7ICp0aGlzIH07CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0FsdEdseXBoSXRlbUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbHRH
bHlwaEl0ZW1FbGVtZW50LmgKaW5kZXggNjA2Yjc4MzM0ODQ3NjNmNmMxMzUyOTA1OWY0ODc1OTZm
NmRmZjgzMy4uNjVmYzA0ZWVjN2Q2MmYwNDU1ZTdjNGZjZDEyYWViZWQ3ZjgyY2VmNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FsdEdseXBoSXRlbUVsZW1lbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHQWx0R2x5cGhJdGVtRWxlbWVudC5oCkBAIC0yOCw2ICsyOCw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU1ZHQWx0R2x5cGhJdGVtRWxlbWVudCBm
aW5hbCA6IHB1YmxpYyBTVkdFbGVtZW50IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNW
R0FsdEdseXBoSXRlbUVsZW1lbnQpOworICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQ
cm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHQWx0R2x5cGhJdGVtRWxlbWVudCwgU1ZHRWxlbWVudD47
CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR0FsdEdseXBoSXRlbUVsZW1lbnQ+IGNyZWF0
ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIApAQCAtMzYsNyArMzgsMTAgQEAg
cHVibGljOgogcHJpdmF0ZToKICAgICBTVkdBbHRHbHlwaEl0ZW1FbGVtZW50KGNvbnN0IFF1YWxp
ZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCisgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYg
cHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3Ry
eTsgfQogICAgIGJvb2wgcmVuZGVyZXJJc05lZWRlZChjb25zdCBSZW5kZXJTdHlsZSYpIGZpbmFs
IHsgcmV0dXJuIGZhbHNlOyB9CisgICAgCisgICAgUHJvcGVydHlSZWdpc3RyeSBtX3Byb3BlcnR5
UmVnaXN0cnkgeyAqdGhpcyB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuZ2xlVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdBbmdsZVZhbHVlLmgKaW5kZXggNGQ0MDJmN2ZjZDQ1YTFmYzdlNzk0N2Q5NjFkZTll
YTU5MTRiZTQ2MS4uY2M0NTQ0MTgzY2YwZGY5MGZiN2ViOTJhOTNhYTNkZjFlYjMxNTI4YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuZ2xlVmFsdWUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHQW5nbGVWYWx1ZS5oCkBAIC01NiwxMCArNTYsNCBAQCBwcml2YXRlOgog
ICAgIGZsb2F0IG1fdmFsdWVJblNwZWNpZmllZFVuaXRzIHsgMCB9OwogfTsKIAotdGVtcGxhdGU8
Pgotc3RydWN0IFNWR1Byb3BlcnR5VHJhaXRzPFNWR0FuZ2xlVmFsdWU+IHsKLSAgICBzdGF0aWMg
U1ZHQW5nbGVWYWx1ZSBpbml0aWFsVmFsdWUoKSB7IHJldHVybiBTVkdBbmdsZVZhbHVlKCk7IH0K
LSAgICBzdGF0aWMgU3RyaW5nIHRvU3RyaW5nKGNvbnN0IFNWR0FuZ2xlVmFsdWUmIHR5cGUpIHsg
cmV0dXJuIHR5cGUudmFsdWVBc1N0cmluZygpOyB9Ci19OwotCiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0aW9uRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0FuaW1hdGlvbkVsZW1lbnQuaAppbmRleCA1NGU5MTI4MTI5Yzc5MmNmODExZTNkNjA1NzU2
MzkwZjA4MGFmZTM1Li42MjBkOTE5OTZhZThkYzEwNTdjZTQ3MjBkYWJmZDQwZDQxOTk0NGQ4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0aW9uRWxlbWVudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRpb25FbGVtZW50LmgKQEAgLTQwLDYgKzQwLDgg
QEAgZW51bSBBbmltYXRlZFByb3BlcnR5VmFsdWVUeXBlIHsgUmVndWxhclByb3BlcnR5VmFsdWUs
IEN1cnJlbnRDb2xvclZhbHVlLCBJbmhlcmkKIAogY2xhc3MgU1ZHQW5pbWF0aW9uRWxlbWVudCA6
IHB1YmxpYyBTVkdTTUlMRWxlbWVudCwgcHVibGljIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWly
ZWQsIHB1YmxpYyBTVkdUZXN0cyB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdBbmlt
YXRpb25FbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlP
d25lclJlZ2lzdHJ5PFNWR0FuaW1hdGlvbkVsZW1lbnQsIFNWR0VsZW1lbnQsIFNWR0V4dGVybmFs
UmVzb3VyY2VzUmVxdWlyZWQsIFNWR1Rlc3RzPjsKKwogcHVibGljOgogICAgIGZsb2F0IGdldFN0
YXJ0VGltZSgpIGNvbnN0OwogICAgIGZsb2F0IGdldEN1cnJlbnRUaW1lKCkgY29uc3Q7CkBAIC04
Niw5ICs4OCw2IEBAIHB1YmxpYzoKIHByb3RlY3RlZDoKICAgICBTVkdBbmltYXRpb25FbGVtZW50
KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCi0gICAgdXNpbmcgUHJvcGVydHlS
ZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdBbmltYXRpb25FbGVtZW50LCBT
VkdFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBTVkdUZXN0cz47Ci0gICAg
Y29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IG92ZXJy
aWRlIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQotCiAgICAgdmlydHVhbCB2b2lkIHJl
c2V0QW5pbWF0aW9uKCk7CiAKICAgICBzdGF0aWMgYm9vbCBpc1N1cHBvcnRlZEF0dHJpYnV0ZShj
b25zdCBRdWFsaWZpZWROYW1lJik7CkBAIC0xMTUsNiArMTE0LDcgQEAgcHJvdGVjdGVkOgogICAg
IHZvaWQgc2V0Q2FsY01vZGUoQ2FsY01vZGUgY2FsY01vZGUpIHsgbV9jYWxjTW9kZSA9IGNhbGNN
b2RlOyB9CiAKIHByaXZhdGU6CisgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVy
dHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQog
ICAgIHZvaWQgYW5pbWF0aW9uQXR0cmlidXRlQ2hhbmdlZCgpIG92ZXJyaWRlOwogICAgIHZvaWQg
c2V0QXR0cmlidXRlVHlwZShjb25zdCBBdG9taWNTdHJpbmcmKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0NpcmNsZUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdDaXJjbGVFbGVtZW50LmgKaW5kZXggNWY5MGM3MGZhOWQ2YmIwMmVkYjc1NDcwNjE5YzRmOTMy
NDhiZjAwYy4uZjgyNzI2MDkyZmU1YTQzMTVkYzg0MWU3ZGFjZWQ2YzhjYzQxNTIxZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0NpcmNsZUVsZW1lbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHQ2lyY2xlRWxlbWVudC5oCkBAIC0yOSw2ICsyOSw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogY2xhc3MgU1ZHQ2lyY2xlRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdH
ZW9tZXRyeUVsZW1lbnQsIHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkIHsKICAg
ICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR0NpcmNsZUVsZW1lbnQpOworICAgIHVzaW5nIFBy
b3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHQ2lyY2xlRWxlbWVu
dCwgU1ZHR2VvbWV0cnlFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkPjsKKwog
cHVibGljOgogICAgIHN0YXRpYyBSZWY8U1ZHQ2lyY2xlRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1
YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCkBAIC00Myw5ICs0NSw3IEBAIHB1YmxpYzoKIHBy
aXZhdGU6CiAgICAgU1ZHQ2lyY2xlRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1l
bnQmKTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVn
aXN0cnk8U1ZHQ2lyY2xlRWxlbWVudCwgU1ZHR2VvbWV0cnlFbGVtZW50LCBTVkdFeHRlcm5hbFJl
c291cmNlc1JlcXVpcmVkPjsKICAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0
eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9Ci0K
ICAgICB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9t
aWNTdHJpbmcmKSBmaW5hbDsKICAgICB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVh
bGlmaWVkTmFtZSYpIGZpbmFsOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
Q2xpcFBhdGhFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQ2xpcFBhdGhFbGVtZW50
LmgKaW5kZXggM2VmMDM2OGNjOTRmNDRhZGY0ZDA0ZjdhM2FjMjhkZDNjYmJiZTM5Ni4uODg5MGEz
MDI0OGY3ZmRmMWJlMzllMTE4NGQ0YmE2OTFlYjI2YmJlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0NsaXBQYXRoRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdDbGlwUGF0aEVsZW1lbnQuaApAQCAtMzEsNiArMzEsOCBAQCBjbGFzcyBSZW5kZXJPYmplY3Q7
CiAKIGNsYXNzIFNWR0NsaXBQYXRoRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdHcmFwaGljc0Vs
ZW1lbnQsIHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkIHsKICAgICBXVEZfTUFL
RV9JU09fQUxMT0NBVEVEKFNWR0NsaXBQYXRoRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlS
ZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdDbGlwUGF0aEVsZW1lbnQsIFNW
R0dyYXBoaWNzRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZD47CisKIHB1Ymxp
YzoKICAgICBzdGF0aWMgUmVmPFNWR0NsaXBQYXRoRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxp
ZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCkBAIC00MCw5ICs0Miw3IEBAIHB1YmxpYzoKIHByaXZh
dGU6CiAgICAgU1ZHQ2xpcFBhdGhFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVu
dCYpOwogCi0gICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdp
c3RyeTxTVkdDbGlwUGF0aEVsZW1lbnQsIFNWR0dyYXBoaWNzRWxlbWVudCwgU1ZHRXh0ZXJuYWxS
ZXNvdXJjZXNSZXF1aXJlZD47CiAgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVy
dHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQot
CiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRv
bWljU3RyaW5nJikgZmluYWw7CiAgICAgdm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1
YWxpZmllZE5hbWUmKSBmaW5hbDsKICAgICB2b2lkIGNoaWxkcmVuQ2hhbmdlZChjb25zdCBDaGls
ZENoYW5nZSYpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0NvbXBv
bmVudFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQ29t
cG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQuaAppbmRleCBhMzM4OGY4MmUyODIxOTQ0NmYy
ZjIzMWU2YjBlNzUzYWJmZGY1MTMxLi41NjBjNTJkYTQxYzJkZjQyZjc4NTQ4ZmQ3MTY2NjJiMjEx
ZDMxNmZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQ29tcG9uZW50VHJhbnNm
ZXJGdW5jdGlvbkVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQ29tcG9uZW50
VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQuaApAQCAtMjYsNDkgKzI2LDEwIEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotdGVtcGxhdGU8Pgotc3RydWN0IFNWR1Byb3BlcnR5VHJhaXRzPENvbXBv
bmVudFRyYW5zZmVyVHlwZT4gewotICAgIHN0YXRpYyB1bnNpZ25lZCBoaWdoZXN0RW51bVZhbHVl
KCkgeyByZXR1cm4gRkVDT01QT05FTlRUUkFOU0ZFUl9UWVBFX0dBTU1BOyB9Ci0KLSAgICBzdGF0
aWMgU3RyaW5nIHRvU3RyaW5nKENvbXBvbmVudFRyYW5zZmVyVHlwZSB0eXBlKQotICAgIHsKLSAg
ICAgICAgc3dpdGNoICh0eXBlKSB7Ci0gICAgICAgIGNhc2UgRkVDT01QT05FTlRUUkFOU0ZFUl9U
WVBFX1VOS05PV046Ci0gICAgICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKLSAgICAgICAg
Y2FzZSBGRUNPTVBPTkVOVFRSQU5TRkVSX1RZUEVfSURFTlRJVFk6Ci0gICAgICAgICAgICByZXR1
cm4gImlkZW50aXR5Il9zOwotICAgICAgICBjYXNlIEZFQ09NUE9ORU5UVFJBTlNGRVJfVFlQRV9U
QUJMRToKLSAgICAgICAgICAgIHJldHVybiAidGFibGUiX3M7Ci0gICAgICAgIGNhc2UgRkVDT01Q
T05FTlRUUkFOU0ZFUl9UWVBFX0RJU0NSRVRFOgotICAgICAgICAgICAgcmV0dXJuICJkaXNjcmV0
ZSJfczsKLSAgICAgICAgY2FzZSBGRUNPTVBPTkVOVFRSQU5TRkVSX1RZUEVfTElORUFSOgotICAg
ICAgICAgICAgcmV0dXJuICJsaW5lYXIiX3M7Ci0gICAgICAgIGNhc2UgRkVDT01QT05FTlRUUkFO
U0ZFUl9UWVBFX0dBTU1BOgotICAgICAgICAgICAgcmV0dXJuICJnYW1tYSJfczsKLSAgICAgICAg
fQotCi0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICByZXR1cm4gZW1wdHlT
dHJpbmcoKTsKLSAgICB9Ci0KLSAgICBzdGF0aWMgQ29tcG9uZW50VHJhbnNmZXJUeXBlIGZyb21T
dHJpbmcoY29uc3QgU3RyaW5nJiB2YWx1ZSkKLSAgICB7Ci0gICAgICAgIGlmICh2YWx1ZSA9PSAi
aWRlbnRpdHkiKQotICAgICAgICAgICAgcmV0dXJuIEZFQ09NUE9ORU5UVFJBTlNGRVJfVFlQRV9J
REVOVElUWTsKLSAgICAgICAgaWYgKHZhbHVlID09ICJ0YWJsZSIpCi0gICAgICAgICAgICByZXR1
cm4gRkVDT01QT05FTlRUUkFOU0ZFUl9UWVBFX1RBQkxFOwotICAgICAgICBpZiAodmFsdWUgPT0g
ImRpc2NyZXRlIikKLSAgICAgICAgICAgIHJldHVybiBGRUNPTVBPTkVOVFRSQU5TRkVSX1RZUEVf
RElTQ1JFVEU7Ci0gICAgICAgIGlmICh2YWx1ZSA9PSAibGluZWFyIikKLSAgICAgICAgICAgIHJl
dHVybiBGRUNPTVBPTkVOVFRSQU5TRkVSX1RZUEVfTElORUFSOwotICAgICAgICBpZiAodmFsdWUg
PT0gImdhbW1hIikKLSAgICAgICAgICAgIHJldHVybiBGRUNPTVBPTkVOVFRSQU5TRkVSX1RZUEVf
R0FNTUE7Ci0gICAgICAgIHJldHVybiBGRUNPTVBPTkVOVFRSQU5TRkVSX1RZUEVfVU5LTk9XTjsK
LSAgICB9Ci19OwotCiBjbGFzcyBTVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudCA6
IHB1YmxpYyBTVkdFbGVtZW50IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR0NvbXBv
bmVudFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5
ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25F
bGVtZW50LCBTVkdFbGVtZW50PjsKKwogcHVibGljOgogICAgIENvbXBvbmVudFRyYW5zZmVyRnVu
Y3Rpb24gdHJhbnNmZXJGdW5jdGlvbigpIGNvbnN0OwogCkBAIC05MSwxMyArNTIsMTEgQEAgcHVi
bGljOgogcHJvdGVjdGVkOgogICAgIFNWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50
KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCi0gICAgdXNpbmcgUHJvcGVydHlS
ZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdDb21wb25lbnRUcmFuc2ZlckZ1
bmN0aW9uRWxlbWVudCwgU1ZHRWxlbWVudD47Ci0gICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3Ry
eSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fcHJvcGVydHlS
ZWdpc3RyeTsgfQotCi0gICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1l
JiwgY29uc3QgQXRvbWljU3RyaW5nJikgb3ZlcnJpZGU7Ci0gICAgdm9pZCBzdmdBdHRyaWJ1dGVD
aGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBvdmVycmlkZTsKKyAgICBjb25zdCBTVkdQcm9w
ZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9w
cm9wZXJ0eVJlZ2lzdHJ5OyB9CisgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZp
ZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJikgZmluYWw7CisgICAgdm9pZCBzdmdBdHRyaWJ1
dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBmaW5hbDsKIAotICAgIGJvb2wgcmVuZGVy
ZXJJc05lZWRlZChjb25zdCBSZW5kZXJTdHlsZSYpIG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9
CisgICAgYm9vbCByZW5kZXJlcklzTmVlZGVkKGNvbnN0IFJlbmRlclN0eWxlJikgZmluYWwgeyBy
ZXR1cm4gZmFsc2U7IH0KICAgICAKIHByaXZhdGU6CiAgICAgUHJvcGVydHlSZWdpc3RyeSBtX3By
b3BlcnR5UmVnaXN0cnkgeyAqdGhpcyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0N1cnNvckVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdDdXJzb3JFbGVtZW50
LmgKaW5kZXggOWI4MTJlYmM4YjRmMTFiZTk3MjAyNWFhYTY0NDU4NjQyZmJhNmFlZC4uNmExMjM4
MTFkODQ2ZTljYTE4Zjg5ODY5Y2M2MDkxNjI1M2JkMzRhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0N1cnNvckVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
Q3Vyc29yRWxlbWVudC5oCkBAIC0zMiw2ICszMiw4IEBAIGNsYXNzIENTU0N1cnNvckltYWdlVmFs
dWU7CiAKIGNsYXNzIFNWR0N1cnNvckVsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHRWxlbWVudCwg
cHVibGljIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIHB1YmxpYyBTVkdUZXN0cywgcHVi
bGljIFNWR1VSSVJlZmVyZW5jZSB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdDdXJz
b3JFbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25l
clJlZ2lzdHJ5PFNWR0N1cnNvckVsZW1lbnQsIFNWR0VsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3Vy
Y2VzUmVxdWlyZWQsIFNWR1Rlc3RzLCBTVkdVUklSZWZlcmVuY2U+OworCiBwdWJsaWM6CiAgICAg
c3RhdGljIFJlZjxTVkdDdXJzb3JFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYs
IERvY3VtZW50Jik7CiAKQEAgLTQ5LDkgKzUxLDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBT
VkdDdXJzb3JFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCi0gICAg
dXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdDdXJz
b3JFbGVtZW50LCBTVkdFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBTVkdU
ZXN0cywgU1ZHVVJJUmVmZXJlbmNlPjsKICAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBw
cm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5
OyB9Ci0gICAgCiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwg
Y29uc3QgQXRvbWljU3RyaW5nJikgZmluYWw7CiAgICAgdm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2Vk
KGNvbnN0IFF1YWxpZmllZE5hbWUmKSBmaW5hbDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0RlZnNFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRGVmc0VsZW1l
bnQuaAppbmRleCA4ZmJiZWY4NDNiZDhhOWRiNDM2NDdjNDY1M2U5ZDdkNDFlOTZkYjM3Li42YTQ0
YzkxOGVjYTdjOWIyODJkZWQwMTQ0YWM4ZjkwYWVlYmZiNzlmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHRGVmc0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
RGVmc0VsZW1lbnQuaApAQCAtMjgsMTMgKzI4LDE0IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Y2xhc3MgU1ZHRGVmc0VsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHR3JhcGhpY3NFbGVtZW50LCBw
dWJsaWMgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCB7CiAgICAgV1RGX01BS0VfSVNPX0FM
TE9DQVRFRChTVkdEZWZzRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNW
R1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdEZWZzRWxlbWVudCwgU1ZHR3JhcGhpY3NFbGVtZW50
LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkPjsKKwogcHVibGljOgogICAgIHN0YXRpYyBS
ZWY8U1ZHRGVmc0VsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQm
KTsKIAogcHJpdmF0ZToKICAgICBTVkdEZWZzRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwg
RG9jdW1lbnQmKTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93
bmVyUmVnaXN0cnk8U1ZHRGVmc0VsZW1lbnQsIFNWR0dyYXBoaWNzRWxlbWVudCwgU1ZHRXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZD47CiAgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJv
cGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsg
fQogCiAgICAgYm9vbCBpc1ZhbGlkKCkgY29uc3QgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHRGVzY0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdEZXNj
RWxlbWVudC5oCmluZGV4IDVmNWUxZDgxMjRiYTkwMzQ3MjcwNDg1OGRkYzZiN2E4Mzc3NGFiMmYu
LjMyYjIyNjNlZDE2NTBkZDg3NDUxYzE4ZTEyNGRjODcwODFlOTUzMTEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdEZXNjRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdEZXNjRWxlbWVudC5oCkBAIC0yNiw2ICsyNiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogY2xhc3MgU1ZHRGVzY0VsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHRWxlbWVudCB7CiAgICAg
V1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdEZXNjRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVy
dHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdEZXNjRWxlbWVudCwgU1ZH
RWxlbWVudD47CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR0Rlc2NFbGVtZW50PiBjcmVh
dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKQEAgLTM0LDcgKzM2LDEwIEBA
IHB1YmxpYzoKIHByaXZhdGU6CiAgICAgU1ZHRGVzY0VsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFt
ZSYsIERvY3VtZW50Jik7CiAKKyAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0
eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9CiAg
ICAgYm9vbCByZW5kZXJlcklzTmVlZGVkKGNvbnN0IFJlbmRlclN0eWxlJikgZmluYWwgeyByZXR1
cm4gZmFsc2U7IH0KKworICAgIFByb3BlcnR5UmVnaXN0cnkgbV9wcm9wZXJ0eVJlZ2lzdHJ5IHsg
KnRoaXMgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVt
ZW50LmNwcAppbmRleCBjYzViNmZkMjVlODViN2Y5Y2E5ZWNhMmUxYWVhZDRlZjQ1OGY2MTg5Li45
ZDRjYjg3MjM5ODUzNDYxODk2NTg3ZDFkNGRkMmU0MGU0NWNhNzI4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0VsZW1lbnQuY3BwCkBAIC0yMzgsMTcgKzIzOCwzMSBAQCB2b2lkIFNWR0VsZW1lbnQ6OnJlcG9y
dEF0dHJpYnV0ZVBhcnNpbmdFcnJvcihTVkdQYXJzaW5nRXJyb3IgZXJyb3IsIGNvbnN0IFF1YWxp
ZgogICAgIFN0cmluZyBlcnJvclN0cmluZyA9ICI8IiArIHRhZ05hbWUoKSArICI+IGF0dHJpYnV0
ZSAiICsgbmFtZS50b1N0cmluZygpICsgIj1cIiIgKyB2YWx1ZSArICJcIiI7CiAgICAgU1ZHRG9j
dW1lbnRFeHRlbnNpb25zJiBleHRlbnNpb25zID0gZG9jdW1lbnQoKS5hY2Nlc3NTVkdFeHRlbnNp
b25zKCk7CiAKLSAgICBpZiAoZXJyb3IgPT0gTmVnYXRpdmVWYWx1ZUZvcmJpZGRlbkVycm9yKSB7
CisgICAgc3dpdGNoIChlcnJvcikgeworICAgIGNhc2UgTm9FcnJvcjoKKyAgICAgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7CisgICAgICAgIGJyZWFrOworCisgICAgY2FzZSBVbmV4cGVjdGVkRW5k
T2ZBdHRyaWJ1dGVFcnJvcjoKKyAgICAgICAgZXh0ZW5zaW9ucy5yZXBvcnRFcnJvcigiVW5leHBl
Y3RlZCBlbmQgb2YgYXR0cmlidXRlIGZvciAiICsgZXJyb3JTdHJpbmcpOworICAgICAgICBicmVh
azsKKworICAgIGNhc2UgWmVyb1ZhbHVlRm9yYmlkZGVuRXJyb3I6CisgICAgICAgIGV4dGVuc2lv
bnMucmVwb3J0RXJyb3IoIkludmFsaWQgemVybyB2YWx1ZSBmb3IgIiArIGVycm9yU3RyaW5nKTsK
KyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIE5lZ2F0aXZlVmFsdWVGb3JiaWRkZW5FcnJvcjoK
ICAgICAgICAgZXh0ZW5zaW9ucy5yZXBvcnRFcnJvcigiSW52YWxpZCBuZWdhdGl2ZSB2YWx1ZSBm
b3IgIiArIGVycm9yU3RyaW5nKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KKyAgICAgICAgYnJl
YWs7CisKKyAgICBjYXNlIFVucmVjb2duaXplZEVudW1WYWx1ZUVycm9yOgorICAgICAgICBleHRl
bnNpb25zLnJlcG9ydEVycm9yKCJVbnJlY29nbml6ZWQgZW51bWVyYXRlZCB2YWx1ZSBmb3IgIiAr
IGVycm9yU3RyaW5nKTsKKyAgICAgICAgYnJlYWs7CiAKLSAgICBpZiAoZXJyb3IgPT0gUGFyc2lu
Z0F0dHJpYnV0ZUZhaWxlZEVycm9yKSB7CisgICAgY2FzZSBQYXJzaW5nQXR0cmlidXRlRmFpbGVk
RXJyb3I6CiAgICAgICAgIGV4dGVuc2lvbnMucmVwb3J0RXJyb3IoIkludmFsaWQgdmFsdWUgZm9y
ICIgKyBlcnJvclN0cmluZyk7Ci0gICAgICAgIHJldHVybjsKKyAgICAgICAgYnJlYWs7CiAgICAg
fQotCi0gICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CiAKIHZvaWQgU1ZHRWxlbWVudDo6cmVt
b3ZlZEZyb21BbmNlc3RvcihSZW1vdmFsVHlwZSByZW1vdmFsVHlwZSwgQ29udGFpbmVyTm9kZSYg
b2xkUGFyZW50T2ZSZW1vdmVkVHJlZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5oCmluZGV4IGI0YTcw
MWQxZWQ4MmE5NDQ5MDZmZWM3NTU4OTdiNjI1ZjhiZjcxNzAuLmJkMDRiOTNiZDk1NTk3NGU1MGMx
NzcxMjE2YmJiNzMxMjQyNDhiNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdF
bGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuaApAQCAtNDksNyAr
NDksMTAgQEAgdm9pZCBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KEhhc2hNYXA8QXRvbWljU3Ry
aW5nSW1wbCosIENTU1Byb3BlcnR5SUQ+KiBwcm9wZXIKIAogY2xhc3MgU1ZHRWxlbWVudCA6IHB1
YmxpYyBTdHlsZWRFbGVtZW50LCBwdWJsaWMgU1ZHTGFuZ1NwYWNlLCBwdWJsaWMgU1ZHUHJvcGVy
dHlPd25lciB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdFbGVtZW50KTsKKwogcHVi
bGljOgorICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0
cnk8U1ZHRWxlbWVudD47CisKICAgICBib29sIGlzT3V0ZXJtb3N0U1ZHU1ZHRWxlbWVudCgpIGNv
bnN0OwogCiAgICAgU1ZHU1ZHRWxlbWVudCogb3duZXJTVkdFbGVtZW50KCkgY29uc3Q7CkBAIC0x
MjYsOCArMTI5LDcgQEAgcHVibGljOgogICAgIGNsYXNzIEluc3RhbmNlVXBkYXRlQmxvY2tlcjsK
ICAgICBjbGFzcyBJbnN0YW5jZUludmFsaWRhdGlvbkd1YXJkOwogCi0gICAgdXNpbmcgUHJvcGVy
dHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdFbGVtZW50PjsKLSAgICB2
aXJ0dWFsIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25z
dCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KKyAgICB2aXJ0dWFsIGNvbnN0IFNWR1By
b3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCA9IDA7CiAgICAgdm9pZCBk
ZXRhY2hBbGxQcm9wZXJ0aWVzKCkgeyBwcm9wZXJ0eVJlZ2lzdHJ5KCkuZGV0YWNoQWxsUHJvcGVy
dGllcygpOyB9CiAKICAgICBib29sIGlzQW5pbWF0ZWRQcm9wZXJ0eUF0dHJpYnV0ZShjb25zdCBR
dWFsaWZpZWROYW1lJikgY29uc3Q7CkBAIC0yMDAsNyArMjAyLDYgQEAgcHJpdmF0ZToKIAogICAg
IHN0ZDo6dW5pcXVlX3B0cjxTVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeT4gbV9wcm9wZXJ0eUFu
aW1hdG9yRmFjdG9yeTsKIAotICAgIFByb3BlcnR5UmVnaXN0cnkgbV9wcm9wZXJ0eVJlZ2lzdHJ5
IHsgKnRoaXMgfTsKICAgICBSZWY8U1ZHQW5pbWF0ZWRTdHJpbmc+IG1fY2xhc3NOYW1lIHsgU1ZH
QW5pbWF0ZWRTdHJpbmc6OmNyZWF0ZSh0aGlzKSB9OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0VsbGlwc2VFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
RWxsaXBzZUVsZW1lbnQuaAppbmRleCAwZmRjYTM3NjdjNGJiMjNmYzYyMjQ2Nzc3ZGM4M2E4OTEx
N2U5ODg2Li5lM2IxZWExODdlZWUyOGI1ZTlhMWZkOGY3OGQxNjMwYjRlZWQ4ZjFjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxsaXBzZUVsZW1lbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHRWxsaXBzZUVsZW1lbnQuaApAQCAtMjksNiArMjksOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNWR0VsbGlwc2VFbGVtZW50IGZpbmFsIDogcHVibGljIFNW
R0dlb21ldHJ5RWxlbWVudCwgcHVibGljIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQgewog
ICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHRWxsaXBzZUVsZW1lbnQpOworICAgIHVzaW5n
IFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHRWxsaXBzZUVs
ZW1lbnQsIFNWR0dlb21ldHJ5RWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZD47
CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR0VsbGlwc2VFbGVtZW50PiBjcmVhdGUoY29u
c3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKQEAgLTQ1LDkgKzQ3LDcgQEAgcHVibGlj
OgogcHJpdmF0ZToKICAgICBTVkdFbGxpcHNlRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwg
RG9jdW1lbnQmKTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93
bmVyUmVnaXN0cnk8U1ZHRWxsaXBzZUVsZW1lbnQsIFNWR0dlb21ldHJ5RWxlbWVudCwgU1ZHRXh0
ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZD47CiAgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYg
cHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3Ry
eTsgfQotCiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29u
c3QgQXRvbWljU3RyaW5nJikgZmluYWw7CiAgICAgdm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNv
bnN0IFF1YWxpZmllZE5hbWUmKSBmaW5hbDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmgKaW5kZXggOTkxOWFmNmQxZmEwN2M1ZGM1NTli
YzcwODgxMGZhZjQ0NGVhZWEzMC4uNDFlYmU5Yzk5NzNiMjBkMDUwYmRmNDBkNGNjYmZmZDg5YWE2
OWFkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0V4dGVybmFsUmVzb3VyY2Vz
UmVxdWlyZWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRXh0ZXJuYWxSZXNvdXJjZXNS
ZXF1aXJlZC5oCkBAIC0zNiw3ICszNiwxMCBAQCBjbGFzcyBTVkdFbGVtZW50OwogLy8gRklYTUU6
IFdoZW4gaW1wbGVtZW50aW5nIGFuaW1WYWwgc3VwcG9ydCwgbWFrZSBzdXJlIHRoYXQgYW5pbVZh
bD09YmFzZVZhbCBmb3IgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZAogY2xhc3MgU1ZHRXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZCB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHRXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZCk7CisKIHB1YmxpYzoKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lz
dHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWly
ZWQ+OworCiAgICAgdmlydHVhbCB+U1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCgpID0gZGVm
YXVsdDsKIAogICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNv
bnN0IEF0b21pY1N0cmluZyYpOwpAQCAtNDQsOCArNDcsNiBAQCBwdWJsaWM6CiAKICAgICBzdGF0
aWMgdm9pZCBhZGRTdXBwb3J0ZWRBdHRyaWJ1dGVzKEhhc2hTZXQ8UXVhbGlmaWVkTmFtZT4mKTsK
IAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8
U1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZD47Ci0KICAgICBib29sIGV4dGVybmFsUmVzb3Vy
Y2VzUmVxdWlyZWQoKSBjb25zdCB7IHJldHVybiBtX2V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQt
PmN1cnJlbnRWYWx1ZSgpOyB9CiAgICAgU1ZHQW5pbWF0ZWRCb29sZWFuJiBleHRlcm5hbFJlc291
cmNlc1JlcXVpcmVkQW5pbWF0ZWQoKSB7IHJldHVybiBtX2V4dGVybmFsUmVzb3VyY2VzUmVxdWly
ZWQ7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQmxlbmRFbGVtZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVCbGVuZEVsZW1lbnQuaAppbmRleCBhOWM5OGU0
Mjc2NjRiMmUxM2MxNjcwNzhmMWYwZGM3Y2Q1MDIzMGJhLi5kMTU1Y2E1ZmQ4YzJlYzkwY2ViMDNm
NjhlMGE4N2ZkZGJjY2FlZjQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVC
bGVuZEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVCbGVuZEVsZW1lbnQu
aApAQCAtMjcsMjggKzI3LDEwIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotdGVtcGxhdGU8
Pgotc3RydWN0IFNWR1Byb3BlcnR5VHJhaXRzPEJsZW5kTW9kZT4gewotICAgIHN0YXRpYyB1bnNp
Z25lZCBoaWdoZXN0RW51bVZhbHVlKCkgeyByZXR1cm4gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEJs
ZW5kTW9kZTo6THVtaW5vc2l0eSk7IH0KLQotICAgIHN0YXRpYyBCbGVuZE1vZGUgZnJvbVN0cmlu
Zyhjb25zdCBTdHJpbmcmIHN0cmluZykKLSAgICB7Ci0gICAgICAgIEJsZW5kTW9kZSBtb2RlID0g
QmxlbmRNb2RlOjpOb3JtYWw7Ci0gICAgICAgIHBhcnNlQmxlbmRNb2RlKHN0cmluZywgbW9kZSk7
Ci0gICAgICAgIHJldHVybiBtb2RlOwotICAgIH0KLQotICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJp
bmcoQmxlbmRNb2RlIHR5cGUpCi0gICAgewotICAgICAgICBpZiAodHlwZSA8IEJsZW5kTW9kZTo6
UGx1c0RhcmtlcikKLSAgICAgICAgICAgIHJldHVybiBibGVuZE1vZGVOYW1lKHR5cGUpOwotCi0g
ICAgICAgIHJldHVybiBlbXB0eVN0cmluZygpOwotICAgIH0KLX07Ci0KIGNsYXNzIFNWR0ZFQmxl
bmRFbGVtZW50IGZpbmFsIDogcHVibGljIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmli
dXRlcyB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdGRUJsZW5kRWxlbWVudCk7Cisg
ICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdG
RUJsZW5kRWxlbWVudCwgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzPjsKKwog
cHVibGljOgogICAgIHN0YXRpYyBSZWY8U1ZHRkVCbGVuZEVsZW1lbnQ+IGNyZWF0ZShjb25zdCBR
dWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIApAQCAtNjMsOSArNDUsNyBAQCBwdWJsaWM6CiBw
cml2YXRlOgogICAgIFNWR0ZFQmxlbmRFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1
bWVudCYpOwogCi0gICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJS
ZWdpc3RyeTxTVkdGRUJsZW5kRWxlbWVudCwgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRy
aWJ1dGVzPjsKICAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5
KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9Ci0KICAgICB2b2lk
IHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcm
KSBvdmVycmlkZTsKICAgICB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVk
TmFtZSYpIG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVD
b2xvck1hdHJpeEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUNvbG9yTWF0cml4
RWxlbWVudC5oCmluZGV4IDNlZjI0Yzk0MjI0ODY4ZGE3N2QwZTgwYmNkZjBjNzQ2NTM5M2YyM2Uu
LjA2NGQzOTA5NjM0OTdhNTViOWEyYThmMDJkNzU5OWE0ODA5NjJkYTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUNvbG9yTWF0cml4RWxlbWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdGRUNvbG9yTWF0cml4RWxlbWVudC5oCkBAIC0yNiw0NSArMjYsMTAgQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi10ZW1wbGF0ZTw+Ci1zdHJ1Y3QgU1ZHUHJvcGVydHlU
cmFpdHM8Q29sb3JNYXRyaXhUeXBlPiB7Ci0gICAgc3RhdGljIHVuc2lnbmVkIGhpZ2hlc3RFbnVt
VmFsdWUoKSB7IHJldHVybiBGRUNPTE9STUFUUklYX1RZUEVfTFVNSU5BTkNFVE9BTFBIQTsgfQot
Ci0gICAgc3RhdGljIFN0cmluZyB0b1N0cmluZyhDb2xvck1hdHJpeFR5cGUgdHlwZSkKLSAgICB7
Ci0gICAgICAgIHN3aXRjaCAodHlwZSkgewotICAgICAgICBjYXNlIEZFQ09MT1JNQVRSSVhfVFlQ
RV9VTktOT1dOOgotICAgICAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7Ci0gICAgICAgIGNh
c2UgRkVDT0xPUk1BVFJJWF9UWVBFX01BVFJJWDoKLSAgICAgICAgICAgIHJldHVybiAibWF0cml4
Il9zOwotICAgICAgICBjYXNlIEZFQ09MT1JNQVRSSVhfVFlQRV9TQVRVUkFURToKLSAgICAgICAg
ICAgIHJldHVybiAic2F0dXJhdGUiX3M7Ci0gICAgICAgIGNhc2UgRkVDT0xPUk1BVFJJWF9UWVBF
X0hVRVJPVEFURToKLSAgICAgICAgICAgIHJldHVybiAiaHVlUm90YXRlIl9zOwotICAgICAgICBj
YXNlIEZFQ09MT1JNQVRSSVhfVFlQRV9MVU1JTkFOQ0VUT0FMUEhBOgotICAgICAgICAgICAgcmV0
dXJuICJsdW1pbmFuY2VUb0FscGhhIl9zOwotICAgICAgICB9Ci0KLSAgICAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7Ci0gICAgICAgIHJldHVybiBlbXB0eVN0cmluZygpOwotICAgIH0KLQotICAg
IHN0YXRpYyBDb2xvck1hdHJpeFR5cGUgZnJvbVN0cmluZyhjb25zdCBTdHJpbmcmIHZhbHVlKQot
ICAgIHsKLSAgICAgICAgaWYgKHZhbHVlID09ICJtYXRyaXgiKQotICAgICAgICAgICAgcmV0dXJu
IEZFQ09MT1JNQVRSSVhfVFlQRV9NQVRSSVg7Ci0gICAgICAgIGlmICh2YWx1ZSA9PSAic2F0dXJh
dGUiKQotICAgICAgICAgICAgcmV0dXJuIEZFQ09MT1JNQVRSSVhfVFlQRV9TQVRVUkFURTsKLSAg
ICAgICAgaWYgKHZhbHVlID09ICJodWVSb3RhdGUiKQotICAgICAgICAgICAgcmV0dXJuIEZFQ09M
T1JNQVRSSVhfVFlQRV9IVUVST1RBVEU7Ci0gICAgICAgIGlmICh2YWx1ZSA9PSAibHVtaW5hbmNl
VG9BbHBoYSIpCi0gICAgICAgICAgICByZXR1cm4gRkVDT0xPUk1BVFJJWF9UWVBFX0xVTUlOQU5D
RVRPQUxQSEE7Ci0gICAgICAgIHJldHVybiBGRUNPTE9STUFUUklYX1RZUEVfVU5LTk9XTjsKLSAg
ICB9Ci19OwotCiBjbGFzcyBTVkdGRUNvbG9yTWF0cml4RWxlbWVudCBmaW5hbCA6IHB1YmxpYyBT
VkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMgewogICAgIFdURl9NQUtFX0lTT19B
TExPQ0FURUQoU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQpOworICAgIHVzaW5nIFByb3BlcnR5UmVn
aXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQs
IFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcz47CisKIHB1YmxpYzoKICAgICBz
dGF0aWMgUmVmPFNWR0ZFQ29sb3JNYXRyaXhFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVk
TmFtZSYsIERvY3VtZW50Jik7CiAKQEAgLTc5LDkgKzQ0LDcgQEAgcHVibGljOgogcHJpdmF0ZToK
ICAgICBTVkdGRUNvbG9yTWF0cml4RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1l
bnQmKTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVn
aXN0cnk8U1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQsIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJk
QXR0cmlidXRlcz47CiAgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdp
c3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQotCiAgICAg
dm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3Ry
aW5nJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxp
ZmllZE5hbWUmKSBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0ZFQ29tcG9uZW50VHJhbnNmZXJFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVD
b21wb25lbnRUcmFuc2ZlckVsZW1lbnQuaAppbmRleCA1MjYyMTZlNTYwMTZmYWI1MjI0YWFiZTkx
MzIwNjRjZGIwM2FkMGJiLi5kMTc1YmExYjgzOTFlZjE4ZTU2NmE4YTFkMzMxNjQ1ZTRiM2IyMmYx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVDb21wb25lbnRUcmFuc2ZlckVs
ZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVDb21wb25lbnRUcmFuc2ZlckVs
ZW1lbnQuaApAQCAtMjgsNiArMjgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNW
R0ZFQ29tcG9uZW50VHJhbnNmZXJFbGVtZW50IGZpbmFsIDogcHVibGljIFNWR0ZpbHRlclByaW1p
dGl2ZVN0YW5kYXJkQXR0cmlidXRlcyB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdG
RUNvbXBvbmVudFRyYW5zZmVyRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9
IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdGRUNvbXBvbmVudFRyYW5zZmVyRWxlbWVudCwg
U1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzPjsKKwogcHVibGljOgogICAgIHN0
YXRpYyBSZWY8U1ZHRkVDb21wb25lbnRUcmFuc2ZlckVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFs
aWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIApAQCAtMzcsOSArMzksNyBAQCBwdWJsaWM6CiBwcml2
YXRlOgogICAgIFNWR0ZFQ29tcG9uZW50VHJhbnNmZXJFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5h
bWUmLCBEb2N1bWVudCYpOwogCi0gICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3Bl
cnR5T3duZXJSZWdpc3RyeTxTVkdGRUNvbXBvbmVudFRyYW5zZmVyRWxlbWVudCwgU1ZHRmlsdGVy
UHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzPjsKICAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lz
dHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJl
Z2lzdHJ5OyB9Ci0KICAgICAvLyBGSVhNRTogc3ZnQXR0cmlidXRlQ2hhbmdlZCBtaXNzaW5nLgog
ICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21p
Y1N0cmluZyYpIG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
RkVDb21wb3NpdGVFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVDb21wb3NpdGVF
bGVtZW50LmgKaW5kZXggYTMzYzk4MmIzNDk1ZTNhYmZkNGYxODc1NmFhMTEwMjk5ZmM5YzJjNS4u
NDdkNzM5MTFiZDAxNDIzYTYzOTBiZTUxODg1MzM2Y2E3Nzg2YzRmNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQ29tcG9zaXRlRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdGRUNvbXBvc2l0ZUVsZW1lbnQuaApAQCAtMjYsNjAgKzI2LDEwIEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotdGVtcGxhdGU8PgotaW5saW5lIHVuc2lnbmVkIFNWR0lETEVu
dW1MaW1pdHM8Q29tcG9zaXRlT3BlcmF0aW9uVHlwZT46OmhpZ2hlc3RFeHBvc2VkRW51bVZhbHVl
KCkgeyByZXR1cm4gRkVDT01QT1NJVEVfT1BFUkFUT1JfQVJJVEhNRVRJQzsgfQotCi10ZW1wbGF0
ZTw+Ci1zdHJ1Y3QgU1ZHUHJvcGVydHlUcmFpdHM8Q29tcG9zaXRlT3BlcmF0aW9uVHlwZT4gewot
ICAgIHN0YXRpYyB1bnNpZ25lZCBoaWdoZXN0RW51bVZhbHVlKCkgeyByZXR1cm4gRkVDT01QT1NJ
VEVfT1BFUkFUT1JfTElHSFRFUjsgfQotCi0gICAgc3RhdGljIFN0cmluZyB0b1N0cmluZyhDb21w
b3NpdGVPcGVyYXRpb25UeXBlIHR5cGUpCi0gICAgewotICAgICAgICBzd2l0Y2ggKHR5cGUpIHsK
LSAgICAgICAgY2FzZSBGRUNPTVBPU0lURV9PUEVSQVRPUl9VTktOT1dOOgotICAgICAgICAgICAg
cmV0dXJuIGVtcHR5U3RyaW5nKCk7Ci0gICAgICAgIGNhc2UgRkVDT01QT1NJVEVfT1BFUkFUT1Jf
T1ZFUjoKLSAgICAgICAgICAgIHJldHVybiAib3ZlciJfczsKLSAgICAgICAgY2FzZSBGRUNPTVBP
U0lURV9PUEVSQVRPUl9JTjoKLSAgICAgICAgICAgIHJldHVybiAiaW4iX3M7Ci0gICAgICAgIGNh
c2UgRkVDT01QT1NJVEVfT1BFUkFUT1JfT1VUOgotICAgICAgICAgICAgcmV0dXJuICJvdXQiX3M7
Ci0gICAgICAgIGNhc2UgRkVDT01QT1NJVEVfT1BFUkFUT1JfQVRPUDoKLSAgICAgICAgICAgIHJl
dHVybiAiYXRvcCJfczsKLSAgICAgICAgY2FzZSBGRUNPTVBPU0lURV9PUEVSQVRPUl9YT1I6Ci0g
ICAgICAgICAgICByZXR1cm4gInhvciJfczsKLSAgICAgICAgY2FzZSBGRUNPTVBPU0lURV9PUEVS
QVRPUl9BUklUSE1FVElDOgotICAgICAgICAgICAgcmV0dXJuICJhcml0aG1ldGljIl9zOwotICAg
ICAgICBjYXNlIEZFQ09NUE9TSVRFX09QRVJBVE9SX0xJR0hURVI6Ci0gICAgICAgICAgICByZXR1
cm4gImxpZ2h0ZXIiX3M7Ci0gICAgICAgIH0KLQotICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKLSAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7Ci0gICAgfQotCi0gICAgc3RhdGljIENv
bXBvc2l0ZU9wZXJhdGlvblR5cGUgZnJvbVN0cmluZyhjb25zdCBTdHJpbmcmIHZhbHVlKQotICAg
IHsKLSAgICAgICAgaWYgKHZhbHVlID09ICJvdmVyIikKLSAgICAgICAgICAgIHJldHVybiBGRUNP
TVBPU0lURV9PUEVSQVRPUl9PVkVSOwotICAgICAgICBpZiAodmFsdWUgPT0gImluIikKLSAgICAg
ICAgICAgIHJldHVybiBGRUNPTVBPU0lURV9PUEVSQVRPUl9JTjsKLSAgICAgICAgaWYgKHZhbHVl
ID09ICJvdXQiKQotICAgICAgICAgICAgcmV0dXJuIEZFQ09NUE9TSVRFX09QRVJBVE9SX09VVDsK
LSAgICAgICAgaWYgKHZhbHVlID09ICJhdG9wIikKLSAgICAgICAgICAgIHJldHVybiBGRUNPTVBP
U0lURV9PUEVSQVRPUl9BVE9QOwotICAgICAgICBpZiAodmFsdWUgPT0gInhvciIpCi0gICAgICAg
ICAgICByZXR1cm4gRkVDT01QT1NJVEVfT1BFUkFUT1JfWE9SOwotICAgICAgICBpZiAodmFsdWUg
PT0gImFyaXRobWV0aWMiKQotICAgICAgICAgICAgcmV0dXJuIEZFQ09NUE9TSVRFX09QRVJBVE9S
X0FSSVRITUVUSUM7Ci0gICAgICAgIGlmICh2YWx1ZSA9PSAibGlnaHRlciIpCi0gICAgICAgICAg
ICByZXR1cm4gRkVDT01QT1NJVEVfT1BFUkFUT1JfTElHSFRFUjsKLSAgICAgICAgcmV0dXJuIEZF
Q09NUE9TSVRFX09QRVJBVE9SX1VOS05PV047Ci0gICAgfQotfTsKLQogY2xhc3MgU1ZHRkVDb21w
b3NpdGVFbGVtZW50IGZpbmFsIDogcHVibGljIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0
cmlidXRlcyB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdGRUNvbXBvc2l0ZUVsZW1l
bnQpOworICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0
cnk8U1ZHRkVDb21wb3NpdGVFbGVtZW50LCBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJp
YnV0ZXM+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdGRUNvbXBvc2l0ZUVsZW1lbnQ+
IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIApAQCAtMTAyLDkgKzUy
LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBTVkdGRUNvbXBvc2l0ZUVsZW1lbnQoY29uc3Qg
UXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5
ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0ZFQ29tcG9zaXRlRWxlbWVudCwgU1ZHRmls
dGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzPjsKICAgICBjb25zdCBTVkdQcm9wZXJ0eVJl
Z2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0
eVJlZ2lzdHJ5OyB9Ci0KICAgICB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5h
bWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKSBvdmVycmlkZTsKICAgICB2b2lkIHN2Z0F0dHJpYnV0
ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYpIG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVudC5oCmluZGV4IGNlYTExMjNmYWE5
MThkNWYxZjE1ZDJkNDMzZWMwMTFmNzAyMTEwMDIuLjIxODFkZGViZGFiM2Q1OTg3ZjY3ODgyOWUy
OGM4MTY4Yzc5ODg2N2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUNvbnZv
bHZlTWF0cml4RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUNvbnZvbHZl
TWF0cml4RWxlbWVudC5oCkBAIC0yNSw0MiArMjUsMTAgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi10ZW1wbGF0ZTw+Ci1zdHJ1Y3QgU1ZHUHJvcGVydHlUcmFpdHM8RWRnZU1vZGVUeXBlPiB7
Ci0gICAgc3RhdGljIHVuc2lnbmVkIGhpZ2hlc3RFbnVtVmFsdWUoKSB7IHJldHVybiBFREdFTU9E
RV9OT05FOyB9Ci0gICAgc3RhdGljIEVkZ2VNb2RlVHlwZSBpbml0aWFsVmFsdWUoKSB7IHJldHVy
biBFREdFTU9ERV9OT05FOyB9Ci0KLSAgICBzdGF0aWMgU3RyaW5nIHRvU3RyaW5nKEVkZ2VNb2Rl
VHlwZSB0eXBlKQotICAgIHsKLSAgICAgICAgc3dpdGNoICh0eXBlKSB7Ci0gICAgICAgIGNhc2Ug
RURHRU1PREVfVU5LTk9XTjoKLSAgICAgICAgICAgIHJldHVybiBlbXB0eVN0cmluZygpOwotICAg
ICAgICBjYXNlIEVER0VNT0RFX0RVUExJQ0FURToKLSAgICAgICAgICAgIHJldHVybiAiZHVwbGlj
YXRlIl9zOwotICAgICAgICBjYXNlIEVER0VNT0RFX1dSQVA6Ci0gICAgICAgICAgICByZXR1cm4g
IndyYXAiX3M7Ci0gICAgICAgIGNhc2UgRURHRU1PREVfTk9ORToKLSAgICAgICAgICAgIHJldHVy
biAibm9uZSJfczsKLSAgICAgICAgfQotCi0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwot
ICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKLSAgICB9Ci0KLSAgICBzdGF0aWMgRWRnZU1v
ZGVUeXBlIGZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiB2YWx1ZSkKLSAgICB7Ci0gICAgICAgIGlm
ICh2YWx1ZSA9PSAiZHVwbGljYXRlIikKLSAgICAgICAgICAgIHJldHVybiBFREdFTU9ERV9EVVBM
SUNBVEU7Ci0gICAgICAgIGlmICh2YWx1ZSA9PSAid3JhcCIpCi0gICAgICAgICAgICByZXR1cm4g
RURHRU1PREVfV1JBUDsKLSAgICAgICAgaWYgKHZhbHVlID09ICJub25lIikKLSAgICAgICAgICAg
IHJldHVybiBFREdFTU9ERV9OT05FOwotICAgICAgICByZXR1cm4gRURHRU1PREVfVU5LTk9XTjsK
LSAgICB9Ci19OwotCiBjbGFzcyBTVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVudCBmaW5hbCA6IHB1
YmxpYyBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMgewogICAgIFdURl9NQUtF
X0lTT19BTExPQ0FURUQoU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQpOworICAgIHVzaW5nIFBy
b3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHRkVDb252b2x2ZU1h
dHJpeEVsZW1lbnQsIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcz47CisKIHB1
YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR0ZFQ29udm9sdmVNYXRyaXhFbGVtZW50PiBjcmVhdGUo
Y29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKQEAgLTk2LDkgKzY0LDcgQEAgcHVi
bGljOgogcHJpdmF0ZToKICAgICBTVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVudChjb25zdCBRdWFs
aWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBT
VkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQsIFNWR0Zp
bHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcz47CiAgICAgY29uc3QgU1ZHUHJvcGVydHlS
ZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVy
dHlSZWdpc3RyeTsgfQotCiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWRO
YW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBzdmdBdHRyaWJ1
dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudC5oIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudC5oCmluZGV4IDhkNzk1OTkw
Y2YyM2UwYzQxNDkyMGUyZjE3YjFjY2U3ODRjN2YxMzUuLjRiODFiMTY2ZjdkZDdlZWQ3OTliYjQx
NGIyNWI5NjE0ZTA4ODNlZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRURp
ZmZ1c2VMaWdodGluZ0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVEaWZm
dXNlTGlnaHRpbmdFbGVtZW50LmgKQEAgLTMyLDYgKzMyLDggQEAgY2xhc3MgU1ZHQ29sb3I7CiAK
IGNsYXNzIFNWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdGaWx0
ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FU
RUQoU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lz
dHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVu
dCwgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzPjsKKwogcHVibGljOgogICAg
IHN0YXRpYyBSZWY8U1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVh
bGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAgICAgdm9pZCBsaWdodEVsZW1lbnRBdHRyaWJ1dGVD
aGFuZ2VkKGNvbnN0IFNWR0ZFTGlnaHRFbGVtZW50KiwgY29uc3QgUXVhbGlmaWVkTmFtZSYpOwpA
QCAtNTEsOSArNTMsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFNWR0ZFRGlmZnVzZUxpZ2h0
aW5nRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAotICAgIHVzaW5n
IFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHRkVEaWZmdXNl
TGlnaHRpbmdFbGVtZW50LCBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXM+Owog
ICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBm
aW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KLSAgICAKICAgICB2b2lkIHBhcnNl
QXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKSBvdmVy
cmlkZTsKICAgICB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYp
IG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVEaXNwbGFj
ZW1lbnRNYXBFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVEaXNwbGFjZW1lbnRN
YXBFbGVtZW50LmgKaW5kZXggNDIyZjBjZjdlYTk1MDU0MjdiMDdiZjBhZWZmZmIzYjg0NDQxOTdm
YS4uOWRlODVkYTM0MDA0ODM2ODQxMTZmOTM1ODdkNjA0MzU0YzJlMDBlMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQuaApAQCAtMjUsNDUg
KzI1LDEwIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAKLXRlbXBsYXRlPD4KLXN0cnVjdCBT
VkdQcm9wZXJ0eVRyYWl0czxDaGFubmVsU2VsZWN0b3JUeXBlPiB7Ci0gICAgc3RhdGljIHVuc2ln
bmVkIGhpZ2hlc3RFbnVtVmFsdWUoKSB7IHJldHVybiBDSEFOTkVMX0E7IH0KLQotICAgIHN0YXRp
YyBTdHJpbmcgdG9TdHJpbmcoQ2hhbm5lbFNlbGVjdG9yVHlwZSB0eXBlKQotICAgIHsKLSAgICAg
ICAgc3dpdGNoICh0eXBlKSB7Ci0gICAgICAgIGNhc2UgQ0hBTk5FTF9VTktOT1dOOgotICAgICAg
ICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7Ci0gICAgICAgIGNhc2UgQ0hBTk5FTF9SOgotICAg
ICAgICAgICAgcmV0dXJuICJSIl9zOwotICAgICAgICBjYXNlIENIQU5ORUxfRzoKLSAgICAgICAg
ICAgIHJldHVybiAiRyJfczsKLSAgICAgICAgY2FzZSBDSEFOTkVMX0I6Ci0gICAgICAgICAgICBy
ZXR1cm4gIkIiX3M7Ci0gICAgICAgIGNhc2UgQ0hBTk5FTF9BOgotICAgICAgICAgICAgcmV0dXJu
ICJBIl9zOwotICAgICAgICB9Ci0KLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAg
ICAgIHJldHVybiBlbXB0eVN0cmluZygpOwotICAgIH0KLQotICAgIHN0YXRpYyBDaGFubmVsU2Vs
ZWN0b3JUeXBlIGZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiB2YWx1ZSkKLSAgICB7Ci0gICAgICAg
IGlmICh2YWx1ZSA9PSAiUiIpCi0gICAgICAgICAgICByZXR1cm4gQ0hBTk5FTF9SOwotICAgICAg
ICBpZiAodmFsdWUgPT0gIkciKQotICAgICAgICAgICAgcmV0dXJuIENIQU5ORUxfRzsKLSAgICAg
ICAgaWYgKHZhbHVlID09ICJCIikKLSAgICAgICAgICAgIHJldHVybiBDSEFOTkVMX0I7Ci0gICAg
ICAgIGlmICh2YWx1ZSA9PSAiQSIpCi0gICAgICAgICAgICByZXR1cm4gQ0hBTk5FTF9BOwotICAg
ICAgICByZXR1cm4gQ0hBTk5FTF9VTktOT1dOOwotICAgIH0KLX07Ci0KIGNsYXNzIFNWR0ZFRGlz
cGxhY2VtZW50TWFwRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdGaWx0ZXJQcmltaXRpdmVTdGFu
ZGFyZEF0dHJpYnV0ZXMgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHRkVEaXNwbGFj
ZW1lbnRNYXBFbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVy
dHlPd25lclJlZ2lzdHJ5PFNWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudCwgU1ZHRmlsdGVyUHJp
bWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzPjsKKwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8U1ZH
RkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERv
Y3VtZW50Jik7CiAKQEAgLTg0LDkgKzQ5LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBTVkdG
RURpc3BsYWNlbWVudE1hcEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9j
dW1lbnQmKTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVy
UmVnaXN0cnk8U1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50LCBTVkdGaWx0ZXJQcmltaXRpdmVT
dGFuZGFyZEF0dHJpYnV0ZXM+OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3Bl
cnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0K
LQogICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0
b21pY1N0cmluZyYpIG92ZXJyaWRlOwogICAgIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25z
dCBRdWFsaWZpZWROYW1lJikgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdGRURyb3BTaGFkb3dFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVE
cm9wU2hhZG93RWxlbWVudC5oCmluZGV4IDA2MWNjYTJiZWQ5NmMxYWFiMDUzNGQ3YTA5MTNjMzE0
Y2UxYmU1ZjQuLjYwMDYxYjJlNGI4NTRhODgyYmYyMzRmMzZkNmU1NzM4Yzc3ZTViY2MgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRURyb3BTaGFkb3dFbGVtZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRHJvcFNoYWRvd0VsZW1lbnQuaApAQCAtMjcsNiArMjcs
OCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNWR0ZFRHJvcFNoYWRvd0VsZW1lbnQg
ZmluYWwgOiBwdWJsaWMgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzIHsKICAg
ICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR0ZFRHJvcFNoYWRvd0VsZW1lbnQpOworICAgIHVz
aW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHRkVEcm9w
U2hhZG93RWxlbWVudCwgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzPjsKKwog
cHVibGljOgogICAgIHN0YXRpYyBSZWY8U1ZHRkVEcm9wU2hhZG93RWxlbWVudD4gY3JlYXRlKGNv
bnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogICAgIApAQCAtNDcsOSArNDksNyBAQCBw
dWJsaWM6CiBwcml2YXRlOgogICAgIFNWR0ZFRHJvcFNoYWRvd0VsZW1lbnQoY29uc3QgUXVhbGlm
aWVkTmFtZSYsIERvY3VtZW50Jik7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZH
UHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0ZFRHJvcFNoYWRvd0VsZW1lbnQsIFNWR0ZpbHRlclBy
aW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcz47CiAgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3Ry
eSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdp
c3RyeTsgfQotCiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwg
Y29uc3QgQXRvbWljU3RyaW5nJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBzdmdBdHRyaWJ1dGVDaGFu
Z2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0ZFRmxvb2RFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
RkVGbG9vZEVsZW1lbnQuaAppbmRleCBiOTZhNDNhYTMxM2U3NWU0YTMxNjcyNDhhMWI2ZjVjZjUx
ZmVlOTExLi43MGIyM2VkMmI1OWY1YmY3Y2QxMDY4YzdjMzkyMDQ5ZGMzZTdiYzhiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVGbG9vZEVsZW1lbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHRkVGbG9vZEVsZW1lbnQuaApAQCAtMjYsMTcgKzI2LDE3IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU1ZHRkVGbG9vZEVsZW1lbnQgZmluYWwgOiBwdWJsaWMg
U1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzIHsKICAgICBXVEZfTUFLRV9JU09f
QUxMT0NBVEVEKFNWR0ZFRmxvb2RFbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5
ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0ZFRmxvb2RFbGVtZW50LCBTVkdGaWx0ZXJQ
cmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXM+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxT
VkdGRUZsb29kRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYp
OwogCiBwcml2YXRlOgogICAgIFNWR0ZFRmxvb2RFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUm
LCBEb2N1bWVudCYpOwogCi0gICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5
T3duZXJSZWdpc3RyeTxTVkdGRUZsb29kRWxlbWVudCwgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRh
cmRBdHRyaWJ1dGVzPjsKICAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJl
Z2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9Ci0KLSAg
ICBib29sIHNldEZpbHRlckVmZmVjdEF0dHJpYnV0ZShGaWx0ZXJFZmZlY3QqLCBjb25zdCBRdWFs
aWZpZWROYW1lJiBhdHRyTmFtZSkgb3ZlcnJpZGU7Ci0gICAgUmVmUHRyPEZpbHRlckVmZmVjdD4g
YnVpbGQoU1ZHRmlsdGVyQnVpbGRlciosIEZpbHRlciYpIGNvbnN0IG92ZXJyaWRlOworICAgIGJv
b2wgc2V0RmlsdGVyRWZmZWN0QXR0cmlidXRlKEZpbHRlckVmZmVjdCosIGNvbnN0IFF1YWxpZmll
ZE5hbWUmIGF0dHJOYW1lKSBmaW5hbDsKKyAgICBSZWZQdHI8RmlsdGVyRWZmZWN0PiBidWlsZChT
VkdGaWx0ZXJCdWlsZGVyKiwgRmlsdGVyJikgY29uc3QgZmluYWw7CiAKICAgICBQcm9wZXJ0eVJl
Z2lzdHJ5IG1fcHJvcGVydHlSZWdpc3RyeSB7ICp0aGlzIH07CiB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFR2F1c3NpYW5CbHVyRWxlbWVudC5oIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0ZFR2F1c3NpYW5CbHVyRWxlbWVudC5oCmluZGV4IGIyZDVlODNjZWNkNmRhNDYz
YjRhOGMwNTlmNGYzMGVjMmE0YjUzNjUuLjM2N2QwMWEyNDc1ZmMxMGJhMzI1M2UxMGY5MmQ5ZTYw
MzgwYjcwNTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUdhdXNzaWFuQmx1
ckVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVHYXVzc2lhbkJsdXJFbGVt
ZW50LmgKQEAgLTI5LDYgKzI5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTVkdG
RUdhdXNzaWFuQmx1ckVsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHRmlsdGVyUHJpbWl0aXZlU3Rh
bmRhcmRBdHRyaWJ1dGVzIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR0ZFR2F1c3Np
YW5CbHVyRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5
T3duZXJSZWdpc3RyeTxTVkdGRUdhdXNzaWFuQmx1ckVsZW1lbnQsIFNWR0ZpbHRlclByaW1pdGl2
ZVN0YW5kYXJkQXR0cmlidXRlcz47CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR0ZFR2F1
c3NpYW5CbHVyRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYp
OwogCkBAIC00Nyw5ICs0OSw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgU1ZHRkVHYXVzc2lh
bkJsdXJFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCi0gICAgdXNp
bmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdGRUdhdXNz
aWFuQmx1ckVsZW1lbnQsIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcz47CiAg
ICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZp
bmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQotCiAgICAgdm9pZCBwYXJzZUF0dHJp
YnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJikgb3ZlcnJpZGU7
CiAgICAgdm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBvdmVy
cmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFSW1hZ2VFbGVtZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVJbWFnZUVsZW1lbnQuaAppbmRleCA3NjI0OTkw
YjM1OGFiNTI3YjRkMTllNTdmOWRjZGNlYmY5ZjUzMTBlLi4xN2E1MGVhMjc4MzIxYzY2ZDUxNTNm
MjY3YWE2MGY5NDNmZGEyOTg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVJ
bWFnZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVJbWFnZUVsZW1lbnQu
aApAQCAtMzIsNiArMzIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNWR0ZFSW1h
Z2VFbGVtZW50IGZpbmFsIDogcHVibGljIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmli
dXRlcywgcHVibGljIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIHB1YmxpYyBTVkdVUklS
ZWZlcmVuY2UsIHB1YmxpYyBDYWNoZWRJbWFnZUNsaWVudCB7CiAgICAgV1RGX01BS0VfSVNPX0FM
TE9DQVRFRChTVkdGRUltYWdlRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9
IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdGRUltYWdlRWxlbWVudCwgU1ZHRmlsdGVyUHJp
bWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBT
VkdVUklSZWZlcmVuY2U+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdGRUltYWdlRWxl
bWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCkBAIC00NSw5
ICs0Nyw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgU1ZHRkVJbWFnZUVsZW1lbnQoY29uc3Qg
UXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5
ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0ZFSW1hZ2VFbGVtZW50LCBTVkdGaWx0ZXJQ
cmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQs
IFNWR1VSSVJlZmVyZW5jZT47CiAgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVy
dHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQot
CiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRv
bWljU3RyaW5nJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0
IFF1YWxpZmllZE5hbWUmKSBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0ZFTGlnaHRFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVMaWdodEVs
ZW1lbnQuaAppbmRleCAyNTM0ZDFkN2FjOWQ1NGU4ZDA2NDQ1ZTdhN2UyZjg1YWJkMGI0YzVlLi42
ZWJkYzQyOWNiMGY2YTViMzkzNTY4N2ZmNDRmYzA1ZTU4ODNhZDc0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRkVMaWdodEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHRkVMaWdodEVsZW1lbnQuaApAQCAtMzEsNiArMzEsOCBAQCBjbGFzcyBTVkdGaWx0ZXJC
dWlsZGVyOwogCiBjbGFzcyBTVkdGRUxpZ2h0RWxlbWVudCA6IHB1YmxpYyBTVkdFbGVtZW50IHsK
ICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR0ZFTGlnaHRFbGVtZW50KTsKKyAgICB1c2lu
ZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0ZFTGlnaHRF
bGVtZW50LCBTVkdFbGVtZW50PjsKKwogcHVibGljOgogICAgIHZpcnR1YWwgUmVmPExpZ2h0U291
cmNlPiBsaWdodFNvdXJjZShTVkdGaWx0ZXJCdWlsZGVyJikgY29uc3QgPSAwOwogICAgIHN0YXRp
YyBTVkdGRUxpZ2h0RWxlbWVudCogZmluZExpZ2h0RWxlbWVudChjb25zdCBTVkdFbGVtZW50Kik7
CkBAIC02Myw5ICs2NSw3IEBAIHByb3RlY3RlZDoKICAgICBib29sIHJlbmRlcmVySXNOZWVkZWQo
Y29uc3QgUmVuZGVyU3R5bGUmKSBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQogCiBwcml2YXRl
OgotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8
U1ZHRkVMaWdodEVsZW1lbnQsIFNWR0VsZW1lbnQ+OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVn
aXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5
UmVnaXN0cnk7IH0KLQogICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFt
ZSYsIGNvbnN0IEF0b21pY1N0cmluZyYpIG92ZXJyaWRlOwogICAgIHZvaWQgc3ZnQXR0cmlidXRl
Q2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBjaGlsZHJl
bkNoYW5nZWQoY29uc3QgQ2hpbGRDaGFuZ2UmKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdGRU1lcmdlRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0ZFTWVyZ2VFbGVtZW50LmgKaW5kZXggNzQ1MDg2ODE2ZjY5NzZjNjY5N2RjNTEwNzU4MDJkMjgz
Y2Y0ZTNjMi4uYWJlYjZjMWIxNzk1NWFlYjhjNjZmOTA5M2M1MDE5ZDg4OGE1YjI1NyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFTWVyZ2VFbGVtZW50LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0ZFTWVyZ2VFbGVtZW50LmgKQEAgLTI2LDE1ICsyNiwxNSBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNWR0ZFTWVyZ2VFbGVtZW50IGZpbmFsIDogcHVibGlj
IFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcyB7CiAgICAgV1RGX01BS0VfSVNP
X0FMTE9DQVRFRChTVkdGRU1lcmdlRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3Ry
eSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdGRU1lcmdlRWxlbWVudCwgU1ZHRmlsdGVy
UHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzPjsKKwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8
U1ZHRkVNZXJnZUVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQm
KTsKIAogcHJpdmF0ZToKICAgICBTVkdGRU1lcmdlRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1l
JiwgRG9jdW1lbnQmKTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0
eU93bmVyUmVnaXN0cnk8U1ZHRkVNZXJnZUVsZW1lbnQsIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5k
YXJkQXR0cmlidXRlcz47CiAgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlS
ZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQotCiAg
ICAgUmVmUHRyPEZpbHRlckVmZmVjdD4gYnVpbGQoU1ZHRmlsdGVyQnVpbGRlciosIEZpbHRlciYp
IGNvbnN0IG92ZXJyaWRlOwogCiAgICAgUHJvcGVydHlSZWdpc3RyeSBtX3Byb3BlcnR5UmVnaXN0
cnkgeyAqdGhpcyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFTWVyZ2VO
b2RlRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFTWVyZ2VOb2RlRWxlbWVudC5o
CmluZGV4IDhkYTkyMzYxNDA4YTIzYjg4ZjFhNmFmMDRiN2E1MzJiMmE5Y2IwNzAuLmIxM2RmZTA4
NzhjZjVhZDYzOTU1ZWVmZDI4MDNiMzllMjQyMWIxMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdGRU1lcmdlTm9kZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHRkVNZXJnZU5vZGVFbGVtZW50LmgKQEAgLTI3LDYgKzI3LDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBTVkdGRU1lcmdlTm9kZUVsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHRWxl
bWVudCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdGRU1lcmdlTm9kZUVsZW1lbnQp
OworICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8
U1ZHRkVNZXJnZU5vZGVFbGVtZW50LCBTVkdFbGVtZW50PjsKKwogcHVibGljOgogICAgIHN0YXRp
YyBSZWY8U1ZHRkVNZXJnZU5vZGVFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYs
IERvY3VtZW50Jik7CiAKQEAgLTM2LDkgKzM4LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBT
VkdGRU1lcmdlTm9kZUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAK
LSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNW
R0ZFTWVyZ2VOb2RlRWxlbWVudCwgU1ZHRWxlbWVudD47CiAgICAgY29uc3QgU1ZHUHJvcGVydHlS
ZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVy
dHlSZWdpc3RyeTsgfQotCiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWRO
YW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJikgZmluYWw7CiAgICAgdm9pZCBzdmdBdHRyaWJ1dGVD
aGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBmaW5hbDsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0ZFTW9ycGhvbG9neUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdGRU1vcnBob2xvZ3lFbGVtZW50LmgKaW5kZXggOTk5MzM1NTUzNjFhMjA1NDE1NzdiMTEy
NDViNDgyMzliNmQzM2IyZC4uNmMzMmQyYjFhOWViMzJjMWUxZjVmYmUzYjMxNjIxNjQ1ZGMzMmZi
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFTW9ycGhvbG9neUVsZW1lbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVNb3JwaG9sb2d5RWxlbWVudC5oCkBAIC0y
NSwzNyArMjUsMTAgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi10ZW1wbGF0ZTw+Ci1zdHJ1
Y3QgU1ZHUHJvcGVydHlUcmFpdHM8TW9ycGhvbG9neU9wZXJhdG9yVHlwZT4gewotICAgIHN0YXRp
YyB1bnNpZ25lZCBoaWdoZXN0RW51bVZhbHVlKCkgeyByZXR1cm4gRkVNT1JQSE9MT0dZX09QRVJB
VE9SX0RJTEFURTsgfQotCi0gICAgc3RhdGljIFN0cmluZyB0b1N0cmluZyhNb3JwaG9sb2d5T3Bl
cmF0b3JUeXBlIHR5cGUpCi0gICAgewotICAgICAgICBzd2l0Y2ggKHR5cGUpIHsKLSAgICAgICAg
Y2FzZSBGRU1PUlBIT0xPR1lfT1BFUkFUT1JfVU5LTk9XTjoKLSAgICAgICAgICAgIHJldHVybiBl
bXB0eVN0cmluZygpOwotICAgICAgICBjYXNlIEZFTU9SUEhPTE9HWV9PUEVSQVRPUl9FUk9ERToK
LSAgICAgICAgICAgIHJldHVybiAiZXJvZGUiX3M7Ci0gICAgICAgIGNhc2UgRkVNT1JQSE9MT0dZ
X09QRVJBVE9SX0RJTEFURToKLSAgICAgICAgICAgIHJldHVybiAiZGlsYXRlIl9zOwotICAgICAg
ICB9Ci0KLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIHJldHVybiBlbXB0
eVN0cmluZygpOwotICAgIH0KLQotICAgIHN0YXRpYyBNb3JwaG9sb2d5T3BlcmF0b3JUeXBlIGZy
b21TdHJpbmcoY29uc3QgU3RyaW5nJiB2YWx1ZSkKLSAgICB7Ci0gICAgICAgIGlmICh2YWx1ZSA9
PSAiZXJvZGUiKQotICAgICAgICAgICAgcmV0dXJuIEZFTU9SUEhPTE9HWV9PUEVSQVRPUl9FUk9E
RTsKLSAgICAgICAgaWYgKHZhbHVlID09ICJkaWxhdGUiKQotICAgICAgICAgICAgcmV0dXJuIEZF
TU9SUEhPTE9HWV9PUEVSQVRPUl9ESUxBVEU7Ci0gICAgICAgIHJldHVybiBGRU1PUlBIT0xPR1lf
T1BFUkFUT1JfVU5LTk9XTjsKLSAgICB9Ci19OwotCiBjbGFzcyBTVkdGRU1vcnBob2xvZ3lFbGVt
ZW50IGZpbmFsIDogcHVibGljIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcyB7
CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdGRU1vcnBob2xvZ3lFbGVtZW50KTsKKyAg
ICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0ZF
TW9ycGhvbG9neUVsZW1lbnQsIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcz47
CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR0ZFTW9ycGhvbG9neUVsZW1lbnQ+IGNyZWF0
ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIApAQCAtNzQsOSArNDcsNyBAQCBw
dWJsaWM6CiBwcml2YXRlOgogICAgIFNWR0ZFTW9ycGhvbG9neUVsZW1lbnQoY29uc3QgUXVhbGlm
aWVkTmFtZSYsIERvY3VtZW50Jik7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZH
UHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0ZFTW9ycGhvbG9neUVsZW1lbnQsIFNWR0ZpbHRlclBy
aW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcz47CiAgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3Ry
eSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdp
c3RyeTsgfQotCiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwg
Y29uc3QgQXRvbWljU3RyaW5nJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBzdmdBdHRyaWJ1dGVDaGFu
Z2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0ZFT2Zmc2V0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0ZFT2Zmc2V0RWxlbWVudC5oCmluZGV4IDNkOGQ3N2RiZWY3ODM5MTA5ZTNiMGJjNzBhZjAxYTlm
MGU2MmJhNTQuLjFjNTA4YjJjMjg4ZTkwM2ZhYjQ1Yjc1ODY4ZDNlNjM2MmI5Mjc1NzAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRU9mZnNldEVsZW1lbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRkVPZmZzZXRFbGVtZW50LmgKQEAgLTI3LDYgKzI3LDggQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTVkdGRU9mZnNldEVsZW1lbnQgZmluYWwgOiBwdWJs
aWMgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzIHsKICAgICBXVEZfTUFLRV9J
U09fQUxMT0NBVEVEKFNWR0ZFT2Zmc2V0RWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdp
c3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdGRU9mZnNldEVsZW1lbnQsIFNWR0Zp
bHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcz47CisKIHB1YmxpYzoKICAgICBzdGF0aWMg
UmVmPFNWR0ZFT2Zmc2V0RWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1
bWVudCYpOwogCkBAIC00MSw5ICs0Myw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgU1ZHRkVP
ZmZzZXRFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCi0gICAgdXNp
bmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdGRU9mZnNl
dEVsZW1lbnQsIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcz47CiAgICAgY29u
c3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsg
cmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQotCiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShj
b25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJikgb3ZlcnJpZGU7CiAgICAg
dm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBvdmVycmlkZTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFU3BlY3VsYXJMaWdodGluZ0Vs
ZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50
LmgKaW5kZXggY2UyM2NiNWFlMjJjM2Y3NTFlMTE1YzcwODJhYmExNThiNWEzY2MwOS4uN2E3NTZk
ZjVlNDliZmVhNmIyMWE3M2Q5MGU2MzUyMDVjNjE4NTQwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudC5oCkBAIC0zMCw2ICszMCw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVu
dCBmaW5hbCA6IHB1YmxpYyBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMgewog
ICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudCk7
CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxT
VkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50LCBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0
dHJpYnV0ZXM+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdGRVNwZWN1bGFyTGlnaHRp
bmdFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAgICAg
dm9pZCBsaWdodEVsZW1lbnRBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFNWR0ZFTGlnaHRFbGVtZW50
KiwgY29uc3QgUXVhbGlmaWVkTmFtZSYpOwpAQCAtNTEsOSArNTMsNyBAQCBwdWJsaWM6CiBwcml2
YXRlOgogICAgIFNWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFt
ZSYsIERvY3VtZW50Jik7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVy
dHlPd25lclJlZ2lzdHJ5PFNWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQsIFNWR0ZpbHRlclBy
aW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcz47CiAgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3Ry
eSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdp
c3RyeTsgfQotCiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwg
Y29uc3QgQXRvbWljU3RyaW5nJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBzdmdBdHRyaWJ1dGVDaGFu
Z2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0ZFVGlsZUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdG
RVRpbGVFbGVtZW50LmgKaW5kZXggYWRjYzdhOGQzMDRjYjMzMmQ5YmFlN2JhNTgyODQ5YzI2MWY0
YjRkOC4uNjU2NDcyMDE5MTJkYTYzN2ZhMTliNWM3ZjgzZTY1ZWU2YzgyMjMwMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFVGlsZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHRkVUaWxlRWxlbWVudC5oCkBAIC0yNyw2ICsyNyw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogY2xhc3MgU1ZHRkVUaWxlRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdGaWx0
ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FU
RUQoU1ZHRkVUaWxlRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1By
b3BlcnR5T3duZXJSZWdpc3RyeTxTVkdGRVRpbGVFbGVtZW50LCBTVkdGaWx0ZXJQcmltaXRpdmVT
dGFuZGFyZEF0dHJpYnV0ZXM+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdGRVRpbGVF
bGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKQEAgLTM2
LDkgKzM4LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBTVkdGRVRpbGVFbGVtZW50KGNvbnN0
IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCi0gICAgdXNpbmcgUHJvcGVydHlSZWdpc3Ry
eSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdGRVRpbGVFbGVtZW50LCBTVkdGaWx0ZXJQ
cmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXM+OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0
cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVn
aXN0cnk7IH0KLQogICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYs
IGNvbnN0IEF0b21pY1N0cmluZyYpIG92ZXJyaWRlOwogICAgIHZvaWQgc3ZnQXR0cmlidXRlQ2hh
bmdlZChjb25zdCBRdWFsaWZpZWROYW1lJikgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdGRVR1cmJ1bGVuY2VFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdGRVR1cmJ1bGVuY2VFbGVtZW50LmNwcAppbmRleCAzZTM1ZDIyMGU0OGExYWM1NzU3
ZjkzN2JkMzNkMDZhZDRkMGQxZWI2Li41OGU3Y2E2NzhlMjhhZDJhNzRiZDQzNzFlODI3YjQ4MDI2
MDY2MzVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVUdXJidWxlbmNlRWxl
bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFVHVyYnVsZW5jZUVsZW1lbnQu
Y3BwCkBAIC0xMjEsNyArMTIxLDcgQEAgUmVmUHRyPEZpbHRlckVmZmVjdD4gU1ZHRkVUdXJidWxl
bmNlRWxlbWVudDo6YnVpbGQoU1ZHRmlsdGVyQnVpbGRlciosIEZpbHRlciYgZmkKIHsKICAgICBp
ZiAoYmFzZUZyZXF1ZW5jeVgoKSA8IDAgfHwgYmFzZUZyZXF1ZW5jeVkoKSA8IDApCiAgICAgICAg
IHJldHVybiBudWxscHRyOwotICAgIHJldHVybiBGRVR1cmJ1bGVuY2U6OmNyZWF0ZShmaWx0ZXIs
IHR5cGUoKSwgYmFzZUZyZXF1ZW5jeVgoKSwgYmFzZUZyZXF1ZW5jeVkoKSwgbnVtT2N0YXZlcygp
LCBzZWVkKCksIHN0aXRjaFRpbGVzKCkgPT0gU1ZHX1NUSVRDSFRZUEVfU1RJVENIKTsKKyAgICBy
ZXR1cm4gRkVUdXJidWxlbmNlOjpjcmVhdGUoZmlsdGVyLCB0eXBlKCksIGJhc2VGcmVxdWVuY3lY
KCksIGJhc2VGcmVxdWVuY3lZKCksIG51bU9jdGF2ZXMoKSwgc2VlZCgpLCBzdGl0Y2hUaWxlcygp
ID09IFNWR1N0aXRjaFR5cGVTdGl0Y2gpOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0ZFVHVyYnVsZW5jZUVsZW1lbnQuaAppbmRleCBjY2E3Zjg1NzgzZjQ4ODZlYzk4MWY2ZmExZGI5
NjJiOWNiNDE2YzJlLi43Y2E1ZTI4YmJiZmM2OGU0N2YxMjU5YzlkY2I4NjEzYjQxODkyZDhlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRVR1cmJ1bGVuY2VFbGVtZW50LmgKQEAgLTI2LDcz
ICsyNiwxOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWVudW0gU1ZHU3RpdGNoT3B0aW9u
cyB7Ci0gICAgU1ZHX1NUSVRDSFRZUEVfVU5LTk9XTiAgPSAwLAotICAgIFNWR19TVElUQ0hUWVBF
X1NUSVRDSCAgID0gMSwKLSAgICBTVkdfU1RJVENIVFlQRV9OT1NUSVRDSCA9IDIKLX07Ci0KLXRl
bXBsYXRlPD4KLXN0cnVjdCBTVkdQcm9wZXJ0eVRyYWl0czxTVkdTdGl0Y2hPcHRpb25zPiB7Ci0g
ICAgc3RhdGljIHVuc2lnbmVkIGhpZ2hlc3RFbnVtVmFsdWUoKSB7IHJldHVybiBTVkdfU1RJVENI
VFlQRV9OT1NUSVRDSDsgfQotCi0gICAgc3RhdGljIFN0cmluZyB0b1N0cmluZyhTVkdTdGl0Y2hP
cHRpb25zIHR5cGUpCi0gICAgewotICAgICAgICBzd2l0Y2ggKHR5cGUpIHsKLSAgICAgICAgY2Fz
ZSBTVkdfU1RJVENIVFlQRV9VTktOT1dOOgotICAgICAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5n
KCk7Ci0gICAgICAgIGNhc2UgU1ZHX1NUSVRDSFRZUEVfU1RJVENIOgotICAgICAgICAgICAgcmV0
dXJuICJzdGl0Y2giX3M7Ci0gICAgICAgIGNhc2UgU1ZHX1NUSVRDSFRZUEVfTk9TVElUQ0g6Ci0g
ICAgICAgICAgICByZXR1cm4gIm5vU3RpdGNoIl9zOwotICAgICAgICB9Ci0KLSAgICAgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIHJldHVybiBlbXB0eVN0cmluZygpOwotICAgIH0K
LQotICAgIHN0YXRpYyBTVkdTdGl0Y2hPcHRpb25zIGZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiB2
YWx1ZSkKLSAgICB7Ci0gICAgICAgIGlmICh2YWx1ZSA9PSAic3RpdGNoIikKLSAgICAgICAgICAg
IHJldHVybiBTVkdfU1RJVENIVFlQRV9TVElUQ0g7Ci0gICAgICAgIGlmICh2YWx1ZSA9PSAibm9T
dGl0Y2giKQotICAgICAgICAgICAgcmV0dXJuIFNWR19TVElUQ0hUWVBFX05PU1RJVENIOwotICAg
ICAgICByZXR1cm4gU1ZHX1NUSVRDSFRZUEVfVU5LTk9XTjsKLSAgICB9Ci19OwotCi10ZW1wbGF0
ZTw+Ci1zdHJ1Y3QgU1ZHUHJvcGVydHlUcmFpdHM8VHVyYnVsZW5jZVR5cGU+IHsKLSAgICBzdGF0
aWMgdW5zaWduZWQgaGlnaGVzdEVudW1WYWx1ZSgpIHsgcmV0dXJuIHN0YXRpY19jYXN0PHVuc2ln
bmVkPihUdXJidWxlbmNlVHlwZTo6VHVyYnVsZW5jZSk7IH0KLQotICAgIHN0YXRpYyBTdHJpbmcg
dG9TdHJpbmcoVHVyYnVsZW5jZVR5cGUgdHlwZSkKLSAgICB7Ci0gICAgICAgIHN3aXRjaCAodHlw
ZSkgewotICAgICAgICBjYXNlIFR1cmJ1bGVuY2VUeXBlOjpVbmtub3duOgotICAgICAgICAgICAg
cmV0dXJuIGVtcHR5U3RyaW5nKCk7Ci0gICAgICAgIGNhc2UgVHVyYnVsZW5jZVR5cGU6OkZyYWN0
YWxOb2lzZToKLSAgICAgICAgICAgIHJldHVybiAiZnJhY3RhbE5vaXNlIl9zOwotICAgICAgICBj
YXNlIFR1cmJ1bGVuY2VUeXBlOjpUdXJidWxlbmNlOgotICAgICAgICAgICAgcmV0dXJuICJ0dXJi
dWxlbmNlIl9zOwotICAgICAgICB9Ci0KLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0g
ICAgICAgIHJldHVybiBlbXB0eVN0cmluZygpOwotICAgIH0KLQotICAgIHN0YXRpYyBUdXJidWxl
bmNlVHlwZSBmcm9tU3RyaW5nKGNvbnN0IFN0cmluZyYgdmFsdWUpCi0gICAgewotICAgICAgICBp
ZiAodmFsdWUgPT0gImZyYWN0YWxOb2lzZSIpCi0gICAgICAgICAgICByZXR1cm4gVHVyYnVsZW5j
ZVR5cGU6OkZyYWN0YWxOb2lzZTsKLSAgICAgICAgaWYgKHZhbHVlID09ICJ0dXJidWxlbmNlIikK
LSAgICAgICAgICAgIHJldHVybiBUdXJidWxlbmNlVHlwZTo6VHVyYnVsZW5jZTsKLSAgICAgICAg
cmV0dXJuIFR1cmJ1bGVuY2VUeXBlOjpVbmtub3duOwotICAgIH0KLX07Ci0KIGNsYXNzIFNWR0ZF
VHVyYnVsZW5jZUVsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRh
cmRBdHRyaWJ1dGVzIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR0ZFVHVyYnVsZW5j
ZUVsZW1lbnQpOworICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVy
UmVnaXN0cnk8U1ZHRkVUdXJidWxlbmNlRWxlbWVudCwgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRh
cmRBdHRyaWJ1dGVzPjsKKwogcHVibGljOgorICAgIC8vIEZvcndhcmQgZGVjbGFyZSBlbnVtZXJh
dGlvbnMgaW4gdGhlIFczQyBuYW1pbmcgc2NoZW1lLCBmb3IgSURMIGdlbmVyYXRpb24uCisgICAg
ZW51bSB7CisgICAgICAgIFNWR19TVElUQ0hUWVBFX1VOS05PV04gPSBTVkdTdGl0Y2hUeXBlVW5r
bm93biwKKyAgICAgICAgU1ZHX1NUSVRDSFRZUEVfU1RJVENIID0gU1ZHU3RpdGNoVHlwZVN0aXRj
aCwKKyAgICAgICAgU1ZHX1NUSVRDSFRZUEVfTk9TVElUQ0ggPSBTVkdTdGl0Y2hUeXBlTm9TdGl0
Y2gsCisgICAgfTsKKwogICAgIHN0YXRpYyBSZWY8U1ZHRkVUdXJidWxlbmNlRWxlbWVudD4gY3Jl
YXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCiAgICAgZmxvYXQgYmFzZUZy
ZXF1ZW5jeVgoKSBjb25zdCB7IHJldHVybiBtX2Jhc2VGcmVxdWVuY3lYLT5jdXJyZW50VmFsdWUo
KTsgfQpAQCAtMTEyLDkgKzU3LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBTVkdGRVR1cmJ1
bGVuY2VFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCi0gICAgdXNp
bmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdGRVR1cmJ1
bGVuY2VFbGVtZW50LCBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXM+OwogICAg
IGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBmaW5h
bCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KLQogICAgIHZvaWQgcGFyc2VBdHRyaWJ1
dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYpIG92ZXJyaWRlOwog
ICAgIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJikgb3ZlcnJp
ZGU7CiAKQEAgLTEyNiw3ICs2OSw3IEBAIHByaXZhdGU6CiAgICAgUmVmPFNWR0FuaW1hdGVkTnVt
YmVyPiBtX2Jhc2VGcmVxdWVuY3lZIHsgU1ZHQW5pbWF0ZWROdW1iZXI6OmNyZWF0ZSh0aGlzKSB9
OwogICAgIFJlZjxTVkdBbmltYXRlZEludGVnZXI+IG1fbnVtT2N0YXZlcyB7IFNWR0FuaW1hdGVk
SW50ZWdlcjo6Y3JlYXRlKHRoaXMsIDEpIH07CiAgICAgUmVmPFNWR0FuaW1hdGVkTnVtYmVyPiBt
X3NlZWQgeyBTVkdBbmltYXRlZE51bWJlcjo6Y3JlYXRlKHRoaXMpIH07Ci0gICAgUmVmPFNWR0Fu
aW1hdGVkRW51bWVyYXRpb24+IG1fc3RpdGNoVGlsZXMgeyBTVkdBbmltYXRlZEVudW1lcmF0aW9u
OjpjcmVhdGUodGhpcywgU1ZHX1NUSVRDSFRZUEVfTk9TVElUQ0gpIH07CisgICAgUmVmPFNWR0Fu
aW1hdGVkRW51bWVyYXRpb24+IG1fc3RpdGNoVGlsZXMgeyBTVkdBbmltYXRlZEVudW1lcmF0aW9u
OjpjcmVhdGUodGhpcywgU1ZHU3RpdGNoVHlwZU5vU3RpdGNoKSB9OwogICAgIFJlZjxTVkdBbmlt
YXRlZEVudW1lcmF0aW9uPiBtX3R5cGUgeyBTVkdBbmltYXRlZEVudW1lcmF0aW9uOjpjcmVhdGUo
dGhpcywgVHVyYnVsZW5jZVR5cGU6OlR1cmJ1bGVuY2UpIH07CiB9OwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHRmlsdGVyRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0ZpbHRlckVsZW1lbnQuaAppbmRleCBlMWYyZjViY2VjNTYzZGYxNWMyN2Y5ZmQ0ZmU0NGJj
ODhhMzQ2NTdjLi4xMTE1NWU4YjFjMzg0ZDUwZWJlMDA2NTI4ZTVmZGE2OTNkYjQ1Zjg0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRmlsdGVyRWxlbWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdGaWx0ZXJFbGVtZW50LmgKQEAgLTMyLDYgKzMyLDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBjbGFzcyBTVkdGaWx0ZXJFbGVtZW50IGZpbmFsIDogcHVibGljIFNW
R0VsZW1lbnQsIHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBwdWJsaWMgU1ZH
VVJJUmVmZXJlbmNlIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR0ZpbHRlckVsZW1l
bnQpOworICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0
cnk8U1ZHRmlsdGVyRWxlbWVudCwgU1ZHRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1
aXJlZCwgU1ZHVVJJUmVmZXJlbmNlPjsKKwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8U1ZHRmls
dGVyRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCkBA
IC01Miw5ICs1NCw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgU1ZHRmlsdGVyRWxlbWVudChj
b25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVn
aXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHRmlsdGVyRWxlbWVudCwgU1ZHRWxl
bWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgU1ZHVVJJUmVmZXJlbmNlPjsKICAg
ICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmlu
YWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9Ci0KICAgICB2b2lkIHBhcnNlQXR0cmli
dXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKSBmaW5hbDsKICAg
ICB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYpIGZpbmFsOwog
ICAgIHZvaWQgY2hpbGRyZW5DaGFuZ2VkKGNvbnN0IENoaWxkQ2hhbmdlJikgZmluYWw7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRy
aWJ1dGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRB
dHRyaWJ1dGVzLmgKaW5kZXggZWIyNWI1M2E5NGQ4ZTVmZGQ4OTI4NWI1ODNiNzMyMzEzZTIzMjAx
MC4uY2I4MTkwMmNkMWE3MjE5YjI4NWNlNDMyODJmN2M0OTc5ODYzM2JhYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJp
YnV0ZXMuaApAQCAtMzYsMTQgKzM2LDE0IEBAIGNsYXNzIFNWR0ZpbHRlckJ1aWxkZXI7CiBjbGFz
cyBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMgOiBwdWJsaWMgU1ZHRWxlbWVu
dCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFy
ZEF0dHJpYnV0ZXMpOwogcHVibGljOgorICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQ
cm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVz
LCBTVkdFbGVtZW50PjsKKwogICAgIHZvaWQgc2V0U3RhbmRhcmRBdHRyaWJ1dGVzKEZpbHRlckVm
ZmVjdCopIGNvbnN0OwogCiAgICAgdmlydHVhbCBSZWZQdHI8RmlsdGVyRWZmZWN0PiBidWlsZChT
VkdGaWx0ZXJCdWlsZGVyKiwgRmlsdGVyJikgY29uc3QgPSAwOwogICAgIC8vIFJldHVybnMgdHJ1
ZSwgaWYgdGhlIG5ldyB2YWx1ZSBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgb2xkIG9uZS4KICAgICB2
aXJ0dWFsIGJvb2wgc2V0RmlsdGVyRWZmZWN0QXR0cmlidXRlKEZpbHRlckVmZmVjdCosIGNvbnN0
IFF1YWxpZmllZE5hbWUmKTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9w
ZXJ0eU93bmVyUmVnaXN0cnk8U1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLCBT
VkdFbGVtZW50PjsKLQogICAgIGNvbnN0IFNWR0xlbmd0aFZhbHVlJiB4KCkgY29uc3QgeyByZXR1
cm4gbV94LT5jdXJyZW50VmFsdWUoKTsgfQogICAgIGNvbnN0IFNWR0xlbmd0aFZhbHVlJiB5KCkg
Y29uc3QgeyByZXR1cm4gbV95LT5jdXJyZW50VmFsdWUoKTsgfQogICAgIGNvbnN0IFNWR0xlbmd0
aFZhbHVlJiB3aWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1fd2lkdGgtPmN1cnJlbnRWYWx1ZSgpOyB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRml0VG9WaWV3Qm94LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdGaXRUb1ZpZXdCb3guY3BwCmluZGV4IGQxNWUzNTQ2YzEyMTNl
MDBkZmE1N2M4MWI0YTAwYjJlZmUzMGE5NzMuLmJiYjI5NzhhNDBiZjgwNDE4OGE4OGJmZGViZmNj
MzRkYzU1YWRhY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGaXRUb1ZpZXdC
b3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGaXRUb1ZpZXdCb3guY3BwCkBAIC02
MywzNSArNjMsNDEgQEAgdm9pZCBTVkdGaXRUb1ZpZXdCb3g6OnJlc2V0KCkKICAgICByZXNldFBy
ZXNlcnZlQXNwZWN0UmF0aW8oKTsKIH0KIAotYm9vbCBTVkdGaXRUb1ZpZXdCb3g6OnBhcnNlQXR0
cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0cmluZyYgdmFs
dWUpCitPcHRpb25hbDxTVkdQYXJzaW5nRXJyb3I+IFNWR0ZpdFRvVmlld0JveDo6cGFyc2VBdHRy
aWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbWljU3RyaW5nJiB2YWx1
ZSkKIHsKLSAgICBpZiAobmFtZSA9PSBTVkdOYW1lczo6dmlld0JveEF0dHIpIHsKKyAgICBpZiAo
bmFtZS5tYXRjaGVzKFNWR05hbWVzOjp2aWV3Qm94QXR0cikpIHsKICAgICAgICAgRmxvYXRSZWN0
IHZpZXdCb3g7Ci0gICAgICAgIGlmICghdmFsdWUuaXNOdWxsKCkgJiYgcGFyc2VWaWV3Qm94KHZh
bHVlLCB2aWV3Qm94KSkKLSAgICAgICAgICAgIHNldFZpZXdCb3godmlld0JveCk7Ci0gICAgICAg
IGVsc2UKKyAgICAgICAgaWYgKGF1dG8gZXJyb3IgPSBwYXJzZVZpZXdCb3godmFsdWUsIHZpZXdC
b3gpKSB7CiAgICAgICAgICAgICByZXNldFZpZXdCb3goKTsKLSAgICAgICAgcmV0dXJuIHRydWU7
CisgICAgICAgICAgICByZXR1cm4gZXJyb3I7CisgICAgICAgIH0KKyAgICAgICAgc2V0Vmlld0Jv
eCh2aWV3Qm94KTsKKyAgICAgICAgcmV0dXJuIE5vRXJyb3I7CiAgICAgfQogCi0gICAgaWYgKG5h
bWUgPT0gU1ZHTmFtZXM6OnByZXNlcnZlQXNwZWN0UmF0aW9BdHRyKSB7CisgICAgaWYgKG5hbWUu
bWF0Y2hlcyhTVkdOYW1lczo6cHJlc2VydmVBc3BlY3RSYXRpb0F0dHIpKSB7CiAgICAgICAgIFNW
R1ByZXNlcnZlQXNwZWN0UmF0aW9WYWx1ZSBwcmVzZXJ2ZUFzcGVjdFJhdGlvOwotICAgICAgICBw
cmVzZXJ2ZUFzcGVjdFJhdGlvLnBhcnNlKHZhbHVlKTsKKyAgICAgICAgaWYgKCFwcmVzZXJ2ZUFz
cGVjdFJhdGlvLnBhcnNlKHZhbHVlKSkgeworICAgICAgICAgICAgcmVzZXRQcmVzZXJ2ZUFzcGVj
dFJhdGlvKCk7CisgICAgICAgICAgICByZXR1cm4gUGFyc2luZ0F0dHJpYnV0ZUZhaWxlZEVycm9y
OworICAgICAgICB9CiAgICAgICAgIHNldFByZXNlcnZlQXNwZWN0UmF0aW8ocHJlc2VydmVBc3Bl
Y3RSYXRpbyk7Ci0gICAgICAgIHJldHVybiB0cnVlOworICAgICAgICByZXR1cm4gTm9FcnJvcjsK
ICAgICB9CiAKLSAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIHsgfTsKIH0KIAotYm9vbCBT
VkdGaXRUb1ZpZXdCb3g6OnBhcnNlVmlld0JveChjb25zdCBBdG9taWNTdHJpbmcmIHZhbHVlLCBG
bG9hdFJlY3QmIHZpZXdCb3gpCitTVkdQYXJzaW5nRXJyb3IgU1ZHRml0VG9WaWV3Qm94OjpwYXJz
ZVZpZXdCb3goY29uc3QgQXRvbWljU3RyaW5nJiB2YWx1ZSwgRmxvYXRSZWN0JiB2aWV3Qm94KQog
eworICAgIGlmICh2YWx1ZS5pc051bGwoKSkKKyAgICAgICAgcmV0dXJuIFVuZXhwZWN0ZWRFbmRP
ZkF0dHJpYnV0ZUVycm9yOwogICAgIGF1dG8gdXBjb252ZXJ0ZWRDaGFyYWN0ZXJzID0gU3RyaW5n
Vmlldyh2YWx1ZSkudXBjb252ZXJ0ZWRDaGFyYWN0ZXJzKCk7CiAgICAgY29uc3QgVUNoYXIqIGNo
YXJhY3RlcnMgPSB1cGNvbnZlcnRlZENoYXJhY3RlcnM7CiAgICAgcmV0dXJuIHBhcnNlVmlld0Jv
eChjaGFyYWN0ZXJzLCBjaGFyYWN0ZXJzICsgdmFsdWUubGVuZ3RoKCksIHZpZXdCb3gpOwogfQog
Ci1ib29sIFNWR0ZpdFRvVmlld0JveDo6cGFyc2VWaWV3Qm94KGNvbnN0IFVDaGFyKiYgYywgY29u
c3QgVUNoYXIqIGVuZCwgRmxvYXRSZWN0JiB2aWV3Qm94LCBib29sIHZhbGlkYXRlKQorU1ZHUGFy
c2luZ0Vycm9yIFNWR0ZpdFRvVmlld0JveDo6cGFyc2VWaWV3Qm94KGNvbnN0IFVDaGFyKiYgYywg
Y29uc3QgVUNoYXIqIGVuZCwgRmxvYXRSZWN0JiB2aWV3Qm94KQogewogICAgIFN0cmluZyBzdHIo
YywgZW5kIC0gYyk7CiAKQEAgLTEwMywzNiArMTA5LDI0IEBAIGJvb2wgU1ZHRml0VG9WaWV3Qm94
OjpwYXJzZVZpZXdCb3goY29uc3QgVUNoYXIqJiBjLCBjb25zdCBVQ2hhciogZW5kLCBGbG9hdFJl
Y3QmCiAgICAgZmxvYXQgaGVpZ2h0ID0gMC4wZjsKICAgICBib29sIHZhbGlkID0gcGFyc2VOdW1i
ZXIoYywgZW5kLCB4KSAmJiBwYXJzZU51bWJlcihjLCBlbmQsIHkpICYmIHBhcnNlTnVtYmVyKGMs
IGVuZCwgd2lkdGgpICYmIHBhcnNlTnVtYmVyKGMsIGVuZCwgaGVpZ2h0LCBmYWxzZSk7CiAKLSAg
ICBpZiAodmFsaWRhdGUpIHsKLSAgICAgICAgRG9jdW1lbnQmIGRvY3VtZW50ID0gbV92aWV3Qm94
LT5jb250ZXh0RWxlbWVudCgpLT5kb2N1bWVudCgpOworICAgIGlmICghdmFsaWQpCisgICAgICAg
IHJldHVybiBQYXJzaW5nQXR0cmlidXRlRmFpbGVkRXJyb3I7CiAKLSAgICAgICAgaWYgKCF2YWxp
ZCkgewotICAgICAgICAgICAgZG9jdW1lbnQuYWNjZXNzU1ZHRXh0ZW5zaW9ucygpLnJlcG9ydFdh
cm5pbmcoIlByb2JsZW0gcGFyc2luZyB2aWV3Qm94PVwiIiArIHN0ciArICJcIiIpOwotICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICB9CisgICAgLy8gQ2hlY2sgdGhhdCB3aWR0aCBp
cyBwb3NpdGl2ZS4KKyAgICBpZiAod2lkdGggPCAwLjApCisgICAgICAgIHJldHVybiBOZWdhdGl2
ZVZhbHVlRm9yYmlkZGVuRXJyb3I7CiAKLSAgICAgICAgLy8gQ2hlY2sgdGhhdCB3aWR0aCBpcyBw
b3NpdGl2ZS4KLSAgICAgICAgaWYgKHdpZHRoIDwgMC4wKSB7Ci0gICAgICAgICAgICBkb2N1bWVu
dC5hY2Nlc3NTVkdFeHRlbnNpb25zKCkucmVwb3J0RXJyb3IoIkEgbmVnYXRpdmUgdmFsdWUgZm9y
IFZpZXdCb3ggd2lkdGggaXMgbm90IGFsbG93ZWQiKTsKLSAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKLSAgICAgICAgfQorICAgIC8vIENoZWNrIHRoYXQgaGVpZ2h0IGlzIHBvc2l0aXZlLgorICAg
IGlmIChoZWlnaHQgPCAwLjApCisgICAgICAgIHJldHVybiBOZWdhdGl2ZVZhbHVlRm9yYmlkZGVu
RXJyb3I7CiAKLSAgICAgICAgLy8gQ2hlY2sgdGhhdCBoZWlnaHQgaXMgcG9zaXRpdmUuCi0gICAg
ICAgIGlmIChoZWlnaHQgPCAwLjApIHsKLSAgICAgICAgICAgIGRvY3VtZW50LmFjY2Vzc1NWR0V4
dGVuc2lvbnMoKS5yZXBvcnRFcnJvcigiQSBuZWdhdGl2ZSB2YWx1ZSBmb3IgVmlld0JveCBoZWln
aHQgaXMgbm90IGFsbG93ZWQiKTsKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAg
fQotCi0gICAgICAgIC8vIE5vdGhpbmcgc2hvdWxkIGNvbWUgYWZ0ZXIgdGhlIGxhc3QsIGZvdXJ0
aCBudW1iZXIuCi0gICAgICAgIHNraXBPcHRpb25hbFNWR1NwYWNlcyhjLCBlbmQpOwotICAgICAg
ICBpZiAoYyA8IGVuZCkgewotICAgICAgICAgICAgZG9jdW1lbnQuYWNjZXNzU1ZHRXh0ZW5zaW9u
cygpLnJlcG9ydFdhcm5pbmcoIlByb2JsZW0gcGFyc2luZyB2aWV3Qm94PVwiIiArIHN0ciArICJc
IiIpOwotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICB9Ci0gICAgfQorICAgIC8v
IE5vdGhpbmcgc2hvdWxkIGNvbWUgYWZ0ZXIgdGhlIGxhc3QsIGZvdXJ0aCBudW1iZXIuCisgICAg
c2tpcE9wdGlvbmFsU1ZHU3BhY2VzKGMsIGVuZCk7CisgICAgaWYgKGMgPCBlbmQpCisgICAgICAg
IHJldHVybiBQYXJzaW5nQXR0cmlidXRlRmFpbGVkRXJyb3I7CiAKICAgICB2aWV3Qm94ID0geyB4
LCB5LCB3aWR0aCwgaGVpZ2h0IH07Ci0gICAgcmV0dXJuIHRydWU7CisgICAgcmV0dXJuIE5vRXJy
b3I7CiB9CiAKIEFmZmluZVRyYW5zZm9ybSBTVkdGaXRUb1ZpZXdCb3g6OnZpZXdCb3hUb1ZpZXdU
cmFuc2Zvcm0oY29uc3QgRmxvYXRSZWN0JiB2aWV3Qm94UmVjdCwgY29uc3QgU1ZHUHJlc2VydmVB
c3BlY3RSYXRpb1ZhbHVlJiBwcmVzZXJ2ZUFzcGVjdFJhdGlvLCBmbG9hdCB2aWV3V2lkdGgsIGZs
b2F0IHZpZXdIZWlnaHQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRml0VG9W
aWV3Qm94LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRml0VG9WaWV3Qm94LmgKaW5kZXggN2Nj
NDIzMTQxNjAxOTMxOWQ3ZTJiNGQyZDdkNzYzNmMzNzliOGE0Zi4uZGI1NjAwMmM0NTVjNWY3OGMx
YjE5NjMzYmE1MWI5OWQyNGFmYzJiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0ZpdFRvVmlld0JveC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGaXRUb1ZpZXdCb3gu
aApAQCAtMzYsMTAgKzM2LDEwIEBAIGNsYXNzIEFmZmluZVRyYW5zZm9ybTsKIGNsYXNzIFNWR0Zp
dFRvVmlld0JveCB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHRml0VG9WaWV3Qm94KTsK
IHB1YmxpYzoKLSAgICBzdGF0aWMgQWZmaW5lVHJhbnNmb3JtIHZpZXdCb3hUb1ZpZXdUcmFuc2Zv
cm0oY29uc3QgRmxvYXRSZWN0JiB2aWV3Qm94UmVjdCwgY29uc3QgU1ZHUHJlc2VydmVBc3BlY3RS
YXRpb1ZhbHVlJiwgZmxvYXQgdmlld1dpZHRoLCBmbG9hdCB2aWV3SGVpZ2h0KTsKLQogICAgIHVz
aW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHRml0VG9W
aWV3Qm94PjsKIAorICAgIHN0YXRpYyBBZmZpbmVUcmFuc2Zvcm0gdmlld0JveFRvVmlld1RyYW5z
Zm9ybShjb25zdCBGbG9hdFJlY3QmIHZpZXdCb3hSZWN0LCBjb25zdCBTVkdQcmVzZXJ2ZUFzcGVj
dFJhdGlvVmFsdWUmLCBmbG9hdCB2aWV3V2lkdGgsIGZsb2F0IHZpZXdIZWlnaHQpOworCiAgICAg
Y29uc3QgRmxvYXRSZWN0JiB2aWV3Qm94KCkgY29uc3QgeyByZXR1cm4gbV92aWV3Qm94LT5jdXJy
ZW50VmFsdWUoKTsgfQogICAgIGNvbnN0IFNWR1ByZXNlcnZlQXNwZWN0UmF0aW9WYWx1ZSYgcHJl
c2VydmVBc3BlY3RSYXRpbygpIGNvbnN0IHsgcmV0dXJuIG1fcHJlc2VydmVBc3BlY3RSYXRpby0+
Y3VycmVudFZhbHVlKCk7IH0KIApAQCAtNjQsOSArNjQsOSBAQCBwcm90ZWN0ZWQ6CiAgICAgc3Rh
dGljIGJvb2wgaXNLbm93bkF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyaWJ1dGVO
YW1lKSB7IHJldHVybiBQcm9wZXJ0eVJlZ2lzdHJ5Ojppc0tub3duQXR0cmlidXRlKGF0dHJpYnV0
ZU5hbWUpOyB9CiAKICAgICB2b2lkIHJlc2V0KCk7Ci0gICAgYm9vbCBwYXJzZUF0dHJpYnV0ZShj
b25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJik7Ci0gICAgYm9vbCBwYXJz
ZVZpZXdCb3goY29uc3QgQXRvbWljU3RyaW5nJiB2YWx1ZSwgRmxvYXRSZWN0JiB2aWV3Qm94KTsK
LSAgICBib29sIHBhcnNlVmlld0JveChjb25zdCBVQ2hhciomIHN0YXJ0LCBjb25zdCBVQ2hhciog
ZW5kLCBGbG9hdFJlY3QmIHZpZXdCb3gsIGJvb2wgdmFsaWRhdGUgPSB0cnVlKTsKKyAgICBPcHRp
b25hbDxTVkdQYXJzaW5nRXJyb3I+IHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUm
LCBjb25zdCBBdG9taWNTdHJpbmcmKTsKKyAgICBTVkdQYXJzaW5nRXJyb3IgcGFyc2VWaWV3Qm94
KGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUsIEZsb2F0UmVjdCYgdmlld0JveCk7CisgICAgU1ZH
UGFyc2luZ0Vycm9yIHBhcnNlVmlld0JveChjb25zdCBVQ2hhciomIHN0YXJ0LCBjb25zdCBVQ2hh
ciogZW5kLCBGbG9hdFJlY3QmIHZpZXdCb3gpOwogCiBwcml2YXRlOgogICAgIFJlZjxTVkdBbmlt
YXRlZFJlY3Q+IG1fdmlld0JveDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdG
b250RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRFbGVtZW50LmgKaW5kZXgg
Y2QxZThlYTBiMjc0ZDhjYzhkNjQ3ZWFhYjYxZDBlZjc1YmQ5NTc0OC4uYTY2MmEwYmQ4ZWU5Y2I1
ZTNkM2E2ZGEyMTkwNjMxYjg4NzJmMmVlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0ZvbnRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRFbGVtZW50
LmgKQEAgLTQ0LDE2ICs0NCwxNiBAQCBzdHJ1Y3QgU1ZHS2VybmluZ1BhaXIgewogCiBjbGFzcyBT
VkdGb250RWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdFbGVtZW50LCBwdWJsaWMgU1ZHRXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdGb250
RWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJS
ZWdpc3RyeTxTVkdGb250RWxlbWVudCwgU1ZHRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNS
ZXF1aXJlZD47CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR0ZvbnRFbGVtZW50PiBjcmVh
dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKIHByaXZhdGU6CiAgICAgU1ZH
Rm9udEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKLSAgICBib29s
IHJlbmRlcmVySXNOZWVkZWQoY29uc3QgUmVuZGVyU3R5bGUmKSBmaW5hbCB7IHJldHVybiBmYWxz
ZTsgfQotCi0gICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdp
c3RyeTxTVkdGb250RWxlbWVudCwgU1ZHRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1
aXJlZD47CiAgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgp
IGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQorICAgIGJvb2wgcmVu
ZGVyZXJJc05lZWRlZChjb25zdCBSZW5kZXJTdHlsZSYpIGZpbmFsIHsgcmV0dXJuIGZhbHNlOyB9
CiAKICAgICBQcm9wZXJ0eVJlZ2lzdHJ5IG1fcHJvcGVydHlSZWdpc3RyeSB7ICp0aGlzIH07CiB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlRWxlbWVudC5oIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlRWxlbWVudC5oCmluZGV4IDhmOGJhNTg5MmJl
MjgwNzk4ZWU0MWRjMDBiZDFiM2NiN2QzMDk4YTkuLjI0Zjc0ZWViZDg0MzgyOWZhZDY4M2MwMzA1
MTIwOGFlMjFjZGY5ZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RmFj
ZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VFbGVtZW50LmgK
QEAgLTMyLDYgKzMyLDggQEAgY2xhc3MgU3R5bGVSdWxlRm9udEZhY2U7CiAKIGNsYXNzIFNWR0Zv
bnRGYWNlRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdFbGVtZW50IHsKICAgICBXVEZfTUFLRV9J
U09fQUxMT0NBVEVEKFNWR0ZvbnRGYWNlRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdp
c3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdGb250RmFjZUVsZW1lbnQsIFNWR0Vs
ZW1lbnQ+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdGb250RmFjZUVsZW1lbnQ+IGNy
ZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIApAQCAtNTcsNiArNTksNyBA
QCBwcml2YXRlOgogICAgIFNWR0ZvbnRGYWNlRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwg
RG9jdW1lbnQmKTsKICAgICB+U1ZHRm9udEZhY2VFbGVtZW50KCk7CiAKKyAgICBjb25zdCBTVkdQ
cm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4g
bV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9CiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFs
aWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJikgZmluYWw7CiAKICAgICB2b2lkIGNoaWxk
cmVuQ2hhbmdlZChjb25zdCBDaGlsZENoYW5nZSYpIGZpbmFsOwpAQCAtNjUsNiArNjgsNyBAQCBw
cml2YXRlOgogCiAgICAgYm9vbCByZW5kZXJlcklzTmVlZGVkKGNvbnN0IFJlbmRlclN0eWxlJikg
ZmluYWwgeyByZXR1cm4gZmFsc2U7IH0KIAorICAgIFByb3BlcnR5UmVnaXN0cnkgbV9wcm9wZXJ0
eVJlZ2lzdHJ5IHsgKnRoaXMgfTsKICAgICBSZWY8U3R5bGVSdWxlRm9udEZhY2U+IG1fZm9udEZh
Y2VSdWxlOwogICAgIFNWR0ZvbnRFbGVtZW50KiBtX2ZvbnRFbGVtZW50OwogfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RmFjZUZvcm1hdEVsZW1lbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdGb250RmFjZUZvcm1hdEVsZW1lbnQuaAppbmRleCAwNTYwNzVlZTlh
YjM3Y2Y4Y2U4NzQ2MzI5ODBlN2MyMTA4NDM1MzhmLi4yMzVlMGM4ZjgzYTMxYzdkOTUzNGRjMTE4
YzhmNWUxNmQ3NmM1ZDQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEZh
Y2VGb3JtYXRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlRm9y
bWF0RWxlbWVudC5oCkBAIC0yNywxNCArMjcsMTkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBj
bGFzcyBTVkdGb250RmFjZUZvcm1hdEVsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHRWxlbWVudCB7
CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdGb250RmFjZUZvcm1hdEVsZW1lbnQpOwor
ICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZH
Rm9udEZhY2VGb3JtYXRFbGVtZW50LCBTVkdFbGVtZW50PjsKKwogcHVibGljOgogICAgIHN0YXRp
YyBSZWY8U1ZHRm9udEZhY2VGb3JtYXRFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFt
ZSYsIERvY3VtZW50Jik7CiAKIHByaXZhdGU6CiAgICAgU1ZHRm9udEZhY2VGb3JtYXRFbGVtZW50
KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCisgICAgY29uc3QgU1ZHUHJvcGVy
dHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJv
cGVydHlSZWdpc3RyeTsgfQogICAgIHZvaWQgY2hpbGRyZW5DaGFuZ2VkKGNvbnN0IENoaWxkQ2hh
bmdlJikgZmluYWw7CiAgICAgYm9vbCByZW5kZXJlcklzTmVlZGVkKGNvbnN0IFJlbmRlclN0eWxl
JikgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0KKworICAgIFByb3BlcnR5UmVnaXN0cnkgbV9wcm9w
ZXJ0eVJlZ2lzdHJ5IHsgKnRoaXMgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RmFjZU5hbWVFbGVtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VOYW1lRWxlbWVudC5oCmluZGV4IDg2N2NkYzg1
ZjZlZDQ0NzQ5MjJmNzJlOGQ5MzcwOTMxNTkzNjg2YjYuLjQyYjIwZjZkNjU4N2NkZDI2ZDU3MTAy
MTFkMWQwZDk3ODZiNmM1NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250
RmFjZU5hbWVFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlTmFt
ZUVsZW1lbnQuaApAQCAtMjksNiArMjksOCBAQCBjbGFzcyBDU1NGb250RmFjZVNyY1ZhbHVlOwog
CiBjbGFzcyBTVkdGb250RmFjZU5hbWVFbGVtZW50IGZpbmFsIDogcHVibGljIFNWR0VsZW1lbnQg
ewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHRm9udEZhY2VOYW1lRWxlbWVudCk7Cisg
ICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdG
b250RmFjZU5hbWVFbGVtZW50LCBTVkdFbGVtZW50PjsKKwogcHVibGljOgogICAgIHN0YXRpYyBS
ZWY8U1ZHRm9udEZhY2VOYW1lRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBE
b2N1bWVudCYpOwogICAgIApAQCAtMzcsNyArMzksMTAgQEAgcHVibGljOgogcHJpdmF0ZToKICAg
ICBTVkdGb250RmFjZU5hbWVFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYp
OwogCisgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNv
bnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQogICAgIGJvb2wgcmVuZGVy
ZXJJc05lZWRlZChjb25zdCBSZW5kZXJTdHlsZSYpIGZpbmFsIHsgcmV0dXJuIGZhbHNlOyB9CisK
KyAgICBQcm9wZXJ0eVJlZ2lzdHJ5IG1fcHJvcGVydHlSZWdpc3RyeSB7ICp0aGlzIH07CiB9Owog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHRm9udEZhY2VTcmNFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VT
cmNFbGVtZW50LmgKaW5kZXggNDE2OTY4YzYxZjVhZjE5MjE2NjI0ZGEyYjFjNjE4OWY3YmQ3NDI5
YS4uN2JlZmE4NjJjNTk4MDUzZTA0MWI3MWM4OGU0OGRmMGY3YzIyN2NiOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlU3JjRWxlbWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdGb250RmFjZVNyY0VsZW1lbnQuaApAQCAtMjksNiArMjksOCBAQCBjbGFz
cyBDU1NWYWx1ZUxpc3Q7CiAKIGNsYXNzIFNWR0ZvbnRGYWNlU3JjRWxlbWVudCBmaW5hbCA6IHB1
YmxpYyBTVkdFbGVtZW50IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR0ZvbnRGYWNl
U3JjRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3du
ZXJSZWdpc3RyeTxTVkdGb250RmFjZVNyY0VsZW1lbnQsIFNWR0VsZW1lbnQ+OworCiBwdWJsaWM6
CiAgICAgc3RhdGljIFJlZjxTVkdGb250RmFjZVNyY0VsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFs
aWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIApAQCAtMzcsOCArMzksMTEgQEAgcHVibGljOgogcHJp
dmF0ZToKICAgICBTVkdGb250RmFjZVNyY0VsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERv
Y3VtZW50Jik7CiAgICAgCisgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlS
ZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQogICAg
IHZvaWQgY2hpbGRyZW5DaGFuZ2VkKGNvbnN0IENoaWxkQ2hhbmdlJikgZmluYWw7CiAgICAgYm9v
bCByZW5kZXJlcklzTmVlZGVkKGNvbnN0IFJlbmRlclN0eWxlJikgZmluYWwgeyByZXR1cm4gZmFs
c2U7IH0KKworICAgIFByb3BlcnR5UmVnaXN0cnkgbV9wcm9wZXJ0eVJlZ2lzdHJ5IHsgKnRoaXMg
fTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdGb250RmFjZVVyaUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdG
b250RmFjZVVyaUVsZW1lbnQuaAppbmRleCBjNzhhMmJjYTk3ZjRmYTM1OWRmMWE2N2YwZWRlMDA0
ODE5OTgxMGIzLi5kN2M5MGRiODRjZDUwYmI4M2FkNjY5ZmI0MmMwOTYzMmI4YTUyYjUzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VVcmlFbGVtZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlVXJpRWxlbWVudC5oCkBAIC0zMSw2ICszMSw4
IEBAIGNsYXNzIENTU0ZvbnRGYWNlU3JjVmFsdWU7CiAKIGNsYXNzIFNWR0ZvbnRGYWNlVXJpRWxl
bWVudCBmaW5hbCA6IHB1YmxpYyBTVkdFbGVtZW50LCBwdWJsaWMgQ2FjaGVkRm9udENsaWVudCB7
CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdGb250RmFjZVVyaUVsZW1lbnQpOworICAg
IHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHRm9u
dEZhY2VVcmlFbGVtZW50LCBTVkdFbGVtZW50PjsKKwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8
U1ZHRm9udEZhY2VVcmlFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3Vt
ZW50Jik7CiAKQEAgLTQwLDE0ICs0MiwxNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgU1ZH
Rm9udEZhY2VVcmlFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwotICAg
IAorCisgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNv
bnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQogICAgIHZvaWQgcGFyc2VB
dHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYpIGZpbmFs
OwogICAgIHZvaWQgY2hpbGRyZW5DaGFuZ2VkKGNvbnN0IENoaWxkQ2hhbmdlJikgZmluYWw7CisK
ICAgICBJbnNlcnRlZEludG9BbmNlc3RvclJlc3VsdCBpbnNlcnRlZEludG9BbmNlc3RvcihJbnNl
cnRpb25UeXBlLCBDb250YWluZXJOb2RlJikgZmluYWw7CiAgICAgYm9vbCByZW5kZXJlcklzTmVl
ZGVkKGNvbnN0IFJlbmRlclN0eWxlJikgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0KIAogICAgIHZv
aWQgbG9hZEZvbnQoKTsKIAorICAgIFByb3BlcnR5UmVnaXN0cnkgbV9wcm9wZXJ0eVJlZ2lzdHJ5
IHsgKnRoaXMgfTsKICAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRGb250PiBtX2NhY2hl
ZEZvbnQ7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9yZWlnbk9i
amVjdEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb3JlaWduT2JqZWN0RWxlbWVu
dC5oCmluZGV4IGZiNTc0NjhhMDZmYmExMDhhNTEyZjliZTVlMjYwMTFiMjg3OWY2ZjcuLjBhYzg1
MWRkNjlmYTBkYzAzMWY4M2I2MmI4OWEwOTJhYWMzZTJjMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC5oCkBAIC0yOCw2ICsyOCw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogY2xhc3MgU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQgZmluYWwgOiBwdWJs
aWMgU1ZHR3JhcGhpY3NFbGVtZW50LCBwdWJsaWMgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJl
ZCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdGb3JlaWduT2JqZWN0RWxlbWVudCk7
CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxT
VkdGb3JlaWduT2JqZWN0RWxlbWVudCwgU1ZHR3JhcGhpY3NFbGVtZW50LCBTVkdFeHRlcm5hbFJl
c291cmNlc1JlcXVpcmVkPjsKKwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8U1ZHRm9yZWlnbk9i
amVjdEVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIApA
QCAtNDQsOSArNDYsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFNWR0ZvcmVpZ25PYmplY3RF
bGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCi0gICAgdXNpbmcgUHJv
cGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdGb3JlaWduT2JqZWN0
RWxlbWVudCwgU1ZHR3JhcGhpY3NFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
PjsKICAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29u
c3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9Ci0KICAgICB2b2lkIHBhcnNl
QXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKSBmaW5h
bDsKICAgICB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYpIGZp
bmFsOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR0VsZW1lbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdHRWxlbWVudC5oCmluZGV4IGNiMjA2YWUzNGFkMmNiYmJmMzQ4
MDFjMTJhZTQwMTk3OTAyYjZmNWYuLmFkYWViYmVkMTUzNTE2NGExYTA5YTI5MmNhYWE1NDI3NmQ5
NWI5OTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHRWxlbWVudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHRWxlbWVudC5oCkBAIC0yOCw2ICsyOCw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU1ZHR0VsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHR3Jh
cGhpY3NFbGVtZW50LCBwdWJsaWMgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCB7CiAgICAg
V1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdHRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlS
ZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdHRWxlbWVudCwgU1ZHR3JhcGhp
Y3NFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkPjsKKwogcHVibGljOgogICAg
IHN0YXRpYyBSZWY8U1ZHR0VsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9j
dW1lbnQmKTsKICAgICBzdGF0aWMgUmVmPFNWR0dFbGVtZW50PiBjcmVhdGUoRG9jdW1lbnQmKTsK
QEAgLTM3LDkgKzM5LDcgQEAgcHJpdmF0ZToKIAogICAgIFJlbmRlclB0cjxSZW5kZXJFbGVtZW50
PiBjcmVhdGVFbGVtZW50UmVuZGVyZXIoUmVuZGVyU3R5bGUmJiwgY29uc3QgUmVuZGVyVHJlZVBv
c2l0aW9uJikgZmluYWw7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVy
dHlPd25lclJlZ2lzdHJ5PFNWR0dFbGVtZW50LCBTVkdHcmFwaGljc0VsZW1lbnQsIFNWR0V4dGVy
bmFsUmVzb3VyY2VzUmVxdWlyZWQ+OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHBy
b3BlcnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7
IH0KLQogICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0
IEF0b21pY1N0cmluZyYpIGZpbmFsOwogICAgIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25z
dCBRdWFsaWZpZWROYW1lJikgZmluYWw7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdHZW9tZXRyeUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHZW9tZXRyeUVs
ZW1lbnQuaAppbmRleCBkMjRlNjIyZDFlMDJhMjU5ZDAzYmM4ZDZmZjUyZDFmMDZjYjg2ZjU2Li4z
Y2YyNDdkN2RlYzAxZjk3NWYwYTRjMjFlYjk0ZTcxMWE4ZGJhM2UwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHR2VvbWV0cnlFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0dlb21ldHJ5RWxlbWVudC5oCkBAIC0zMywxNSArMzMsMTYgQEAgY2xhc3MgU1ZHUG9p
bnQ7CiAKIGNsYXNzIFNWR0dlb21ldHJ5RWxlbWVudCA6IHB1YmxpYyBTVkdHcmFwaGljc0VsZW1l
bnQgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHR2VvbWV0cnlFbGVtZW50KTsKKyAg
ICAKIHB1YmxpYzoKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25l
clJlZ2lzdHJ5PFNWR0dlb21ldHJ5RWxlbWVudCwgU1ZHR3JhcGhpY3NFbGVtZW50PjsKKwogICAg
IHZpcnR1YWwgZmxvYXQgZ2V0VG90YWxMZW5ndGgoKSBjb25zdDsKICAgICB2aXJ0dWFsIFJlZjxT
VkdQb2ludD4gZ2V0UG9pbnRBdExlbmd0aChmbG9hdCBkaXN0YW5jZSkgY29uc3Q7CiAKICAgICBi
b29sIGlzUG9pbnRJbkZpbGwoRE9NUG9pbnRJbml0JiYpOwogICAgIGJvb2wgaXNQb2ludEluU3Ry
b2tlKERPTVBvaW50SW5pdCYmKTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQ
cm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHR2VvbWV0cnlFbGVtZW50LCBTVkdHcmFwaGljc0VsZW1l
bnQ+OwotCiAgICAgZmxvYXQgcGF0aExlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fcGF0aExlbmd0
aC0+Y3VycmVudFZhbHVlKCk7IH0KICAgICBTVkdBbmltYXRlZE51bWJlciYgcGF0aExlbmd0aEFu
aW1hdGVkKCkgeyByZXR1cm4gbV9wYXRoTGVuZ3RoOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdHbHlwaEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHbHlw
aEVsZW1lbnQuaAppbmRleCA5ZmY5OTFlNzIwY2I4MmY4ZmEwYTA2YTYwMDgwNTAwYmE2OTg4ZDgx
Li45MGM2OTM4OTVmZDMwYTdhZmRhMmJlYjdkZjcwYjIzM2U0NWJkNDg0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHR2x5cGhFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0dseXBoRWxlbWVudC5oCkBAIC0yOSw2ICsyOSw4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogY2xhc3MgU1ZHR2x5cGhFbGVtZW50IGZpbmFsIDogcHVibGljIFNWR0VsZW1lbnQgewog
ICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHR2x5cGhFbGVtZW50KTsKKyAgICB1c2luZyBQ
cm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0dseXBoRWxlbWVu
dCwgU1ZHRWxlbWVudD47CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR0dseXBoRWxlbWVu
dD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCkBAIC0zOCw3ICs0
MCwxMCBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFNWR0dseXBoRWxlbWVudChjb25zdCBRdWFs
aWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAorICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkm
IHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0
cnk7IH0KICAgICBib29sIHJlbmRlcmVySXNOZWVkZWQoY29uc3QgUmVuZGVyU3R5bGUmKSBmaW5h
bCB7IHJldHVybiBmYWxzZTsgfQorCisgICAgUHJvcGVydHlSZWdpc3RyeSBtX3Byb3BlcnR5UmVn
aXN0cnkgeyAqdGhpcyB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dseXBoUmVmRWxlbWVudC5oIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0dseXBoUmVmRWxlbWVudC5oCmluZGV4IGJlMDQ2ZWU3MzYyNWFlZDkwYmNkN2Rm
NTZhYmU5ZTFkNzE1ZDk4NjkuLjU5MmI4Y2ZhYjgzMTZhN2Y5NzI5ZjBjYTk5MjUzYjcxYzUyNTAx
MzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHbHlwaFJlZkVsZW1lbnQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR2x5cGhSZWZFbGVtZW50LmgKQEAgLTI5LDYgKzI5
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTVkdHbHlwaFJlZkVsZW1lbnQgZmlu
YWwgOiBwdWJsaWMgU1ZHRWxlbWVudCwgcHVibGljIFNWR1VSSVJlZmVyZW5jZSB7CiAgICAgV1RG
X01BS0VfSVNPX0FMTE9DQVRFRChTVkdHbHlwaFJlZkVsZW1lbnQpOworICAgIHVzaW5nIFByb3Bl
cnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHR2x5cGhSZWZFbGVtZW50
LCBTVkdFbGVtZW50LCBTVkdVUklSZWZlcmVuY2U+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJl
ZjxTVkdHbHlwaFJlZkVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1l
bnQmKTsKIApAQCAtNDYsOSArNDgsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFNWR0dseXBo
UmVmRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAotICAgIHVzaW5n
IFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHR2x5cGhSZWZF
bGVtZW50LCBTVkdFbGVtZW50LCBTVkdVUklSZWZlcmVuY2U+OwogICAgIGNvbnN0IFNWR1Byb3Bl
cnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3By
b3BlcnR5UmVnaXN0cnk7IH0KLQogICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlm
aWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYpIGZpbmFsOwogICAgIGJvb2wgcmVuZGVyZXJJ
c05lZWRlZChjb25zdCBSZW5kZXJTdHlsZSYpIGZpbmFsIHsgcmV0dXJuIGZhbHNlOyB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHcmFkaWVudEVsZW1lbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdHcmFkaWVudEVsZW1lbnQuaAppbmRleCAyMWIyMTBjNTk1MWRjYjFj
ZWM1YzY0MmVhODllYzM2MjI0ODFmN2FmLi4wYjZjN2Q1ZjJkZDkzMmNhNTljMWEzZjI1NTUzMDI1
ZGMzMTU5Y2E0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR3JhZGllbnRFbGVt
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5oCkBAIC0z
MCw0OSArMzAsMTIgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1lbnVtIFNWR1NwcmVhZE1l
dGhvZFR5cGUgewotICAgIFNWR1NwcmVhZE1ldGhvZFVua25vd24gPSAwLAotICAgIFNWR1NwcmVh
ZE1ldGhvZFBhZCwKLSAgICBTVkdTcHJlYWRNZXRob2RSZWZsZWN0LAotICAgIFNWR1NwcmVhZE1l
dGhvZFJlcGVhdAotfTsKLQotdGVtcGxhdGU8Pgotc3RydWN0IFNWR1Byb3BlcnR5VHJhaXRzPFNW
R1NwcmVhZE1ldGhvZFR5cGU+IHsKLSAgICBzdGF0aWMgdW5zaWduZWQgaGlnaGVzdEVudW1WYWx1
ZSgpIHsgcmV0dXJuIFNWR1NwcmVhZE1ldGhvZFJlcGVhdDsgfQotCi0gICAgc3RhdGljIFN0cmlu
ZyB0b1N0cmluZyhTVkdTcHJlYWRNZXRob2RUeXBlIHR5cGUpCi0gICAgewotICAgICAgICBzd2l0
Y2ggKHR5cGUpIHsKLSAgICAgICAgY2FzZSBTVkdTcHJlYWRNZXRob2RVbmtub3duOgotICAgICAg
ICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7Ci0gICAgICAgIGNhc2UgU1ZHU3ByZWFkTWV0aG9k
UGFkOgotICAgICAgICAgICAgcmV0dXJuICJwYWQiX3M7Ci0gICAgICAgIGNhc2UgU1ZHU3ByZWFk
TWV0aG9kUmVmbGVjdDoKLSAgICAgICAgICAgIHJldHVybiAicmVmbGVjdCJfczsKLSAgICAgICAg
Y2FzZSBTVkdTcHJlYWRNZXRob2RSZXBlYXQ6Ci0gICAgICAgICAgICByZXR1cm4gInJlcGVhdCJf
czsKLSAgICAgICAgfQotCi0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICBy
ZXR1cm4gZW1wdHlTdHJpbmcoKTsKLSAgICB9Ci0KLSAgICBzdGF0aWMgU1ZHU3ByZWFkTWV0aG9k
VHlwZSBmcm9tU3RyaW5nKGNvbnN0IFN0cmluZyYgdmFsdWUpCi0gICAgewotICAgICAgICBpZiAo
dmFsdWUgPT0gInBhZCIpCi0gICAgICAgICAgICByZXR1cm4gU1ZHU3ByZWFkTWV0aG9kUGFkOwot
ICAgICAgICBpZiAodmFsdWUgPT0gInJlZmxlY3QiKQotICAgICAgICAgICAgcmV0dXJuIFNWR1Nw
cmVhZE1ldGhvZFJlZmxlY3Q7Ci0gICAgICAgIGlmICh2YWx1ZSA9PSAicmVwZWF0IikKLSAgICAg
ICAgICAgIHJldHVybiBTVkdTcHJlYWRNZXRob2RSZXBlYXQ7Ci0gICAgICAgIHJldHVybiBTVkdT
cHJlYWRNZXRob2RVbmtub3duOwotICAgIH0KLX07Ci0KIGNsYXNzIFNWR0dyYWRpZW50RWxlbWVu
dCA6IHB1YmxpYyBTVkdFbGVtZW50LCBwdWJsaWMgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJl
ZCwgcHVibGljIFNWR1VSSVJlZmVyZW5jZSB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChT
VkdHcmFkaWVudEVsZW1lbnQpOworCiBwdWJsaWM6CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3Ry
eSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdHcmFkaWVudEVsZW1lbnQsIFNWR0VsZW1l
bnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIFNWR1VSSVJlZmVyZW5jZT47CisKICAg
ICBlbnVtIHsKICAgICAgICAgU1ZHX1NQUkVBRE1FVEhPRF9VTktOT1dOID0gU1ZHU3ByZWFkTWV0
aG9kVW5rbm93biwKICAgICAgICAgU1ZHX1NQUkVBRE1FVEhPRF9QQUQgPSBTVkdTcHJlYWRNZXRo
b2RSZWZsZWN0LApAQCAtODIsOCArNDUsNiBAQCBwdWJsaWM6CiAKICAgICBWZWN0b3I8R3JhZGll
bnQ6OkNvbG9yU3RvcD4gYnVpbGRTdG9wcygpOwogCi0gICAgdXNpbmcgUHJvcGVydHlSZWdpc3Ry
eSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdHcmFkaWVudEVsZW1lbnQsIFNWR0VsZW1l
bnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIFNWR1VSSVJlZmVyZW5jZT47Ci0KICAg
ICBTVkdTcHJlYWRNZXRob2RUeXBlIHNwcmVhZE1ldGhvZCgpIGNvbnN0IHsgcmV0dXJuIG1fc3By
ZWFkTWV0aG9kLT5jdXJyZW50VmFsdWU8U1ZHU3ByZWFkTWV0aG9kVHlwZT4oKTsgfQogICAgIFNW
R1VuaXRUeXBlczo6U1ZHVW5pdFR5cGUgZ3JhZGllbnRVbml0cygpIGNvbnN0IHsgcmV0dXJuIG1f
Z3JhZGllbnRVbml0cy0+Y3VycmVudFZhbHVlPFNWR1VuaXRUeXBlczo6U1ZHVW5pdFR5cGU+KCk7
IH0KICAgICBjb25zdCBTVkdUcmFuc2Zvcm1MaXN0JiBncmFkaWVudFRyYW5zZm9ybSgpIGNvbnN0
IHsgcmV0dXJuIG1fZ3JhZGllbnRUcmFuc2Zvcm0tPmN1cnJlbnRWYWx1ZSgpOyB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR3JhcGhpY3NFbGVtZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHR3JhcGhpY3NFbGVtZW50LmgKaW5kZXggZDUxNmU1OWIzODU5MDZiMjg3OTgy
Y2I5MGZkOGY3NjBmZmE3NzU0YS4uN2VjNDRmMWJjM2ZjMWExMzYwYjIwYmMwOTQwNDcyMDZiMDZh
YzFhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dyYXBoaWNzRWxlbWVudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHcmFwaGljc0VsZW1lbnQuaApAQCAtMzQsNyAr
MzQsMTAgQEAgY2xhc3MgU1ZHTWF0cml4OwogCiBjbGFzcyBTVkdHcmFwaGljc0VsZW1lbnQgOiBw
dWJsaWMgU1ZHRWxlbWVudCwgcHVibGljIFNWR1RyYW5zZm9ybWFibGUsIHB1YmxpYyBTVkdUZXN0
cyB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdHcmFwaGljc0VsZW1lbnQpOworCiBw
dWJsaWM6CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdp
c3RyeTxTVkdHcmFwaGljc0VsZW1lbnQsIFNWR0VsZW1lbnQsIFNWR1Rlc3RzPjsKKwogICAgIHZp
cnR1YWwgflNWR0dyYXBoaWNzRWxlbWVudCgpOwogCiAgICAgUmVmPFNWR01hdHJpeD4gZ2V0Q1RN
Rm9yQmluZGluZ3MoKTsKQEAgLTYyLDggKzY1LDYgQEAgcHVibGljOgogCiAgICAgc2l6ZV90IGFw
cHJveGltYXRlTWVtb3J5Q29zdCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHNpemVvZigqdGhp
cyk7IH0KIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVn
aXN0cnk8U1ZHR3JhcGhpY3NFbGVtZW50LCBTVkdFbGVtZW50LCBTVkdUZXN0cz47Ci0KICAgICBj
b25zdCBTVkdUcmFuc2Zvcm1MaXN0JiB0cmFuc2Zvcm0oKSBjb25zdCB7IHJldHVybiBtX3RyYW5z
Zm9ybS0+Y3VycmVudFZhbHVlKCk7IH0KICAgICBTVkdBbmltYXRlZFRyYW5zZm9ybUxpc3QmIHRy
YW5zZm9ybUFuaW1hdGVkKCkgeyByZXR1cm4gbV90cmFuc2Zvcm07IH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0hLZXJuRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0hLZXJuRWxlbWVudC5oCmluZGV4IDc0N2IwMzI3ZDY5ODYzN2M4ZjY1ZTdiZTkwNDQwODg0
NTQzNjUxMzMuLmYyOTM1ZjAwZDIwNmRmMzMxNWUxMDFlNTc0MzVhYjVkZTBjZTkwZTAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdIS2VybkVsZW1lbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHSEtlcm5FbGVtZW50LmgKQEAgLTI5LDYgKzI5LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBjbGFzcyBTVkdIS2VybkVsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHRWxl
bWVudCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdIS2VybkVsZW1lbnQpOworICAg
IHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHSEtl
cm5FbGVtZW50LCBTVkdFbGVtZW50PjsKKwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8U1ZHSEtl
cm5FbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKQEAg
LTM3LDcgKzM5LDEwIEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgU1ZHSEtlcm5FbGVtZW50KGNv
bnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCisgICAgY29uc3QgU1ZHUHJvcGVydHlS
ZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVy
dHlSZWdpc3RyeTsgfQogICAgIGJvb2wgcmVuZGVyZXJJc05lZWRlZChjb25zdCBSZW5kZXJTdHls
ZSYpIGZpbmFsIHsgcmV0dXJuIGZhbHNlOyB9CisKKyAgICBQcm9wZXJ0eVJlZ2lzdHJ5IG1fcHJv
cGVydHlSZWdpc3RyeSB7ICp0aGlzIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHSW1hZ2VFbGVtZW50LmggYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHSW1hZ2VFbGVtZW50LmgKaW5kZXggZGNkN2EwODI2YWQ0OWEyZWZkNmQx
MDhiYjExYTI4OWU5NjM5NTRkNC4uZDMxZjAzMmRiOWNjOTFkZDgxNGYwMjJlMmY4ZDBlZGQ3YzAy
NTc5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ltYWdlRWxlbWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdJbWFnZUVsZW1lbnQuaApAQCAtMzAsNiArMzAsOCBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNWR0ltYWdlRWxlbWVudCBmaW5hbCA6IHB1
YmxpYyBTVkdHcmFwaGljc0VsZW1lbnQsIHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVp
cmVkLCBwdWJsaWMgU1ZHVVJJUmVmZXJlbmNlIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVE
KFNWR0ltYWdlRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3Bl
cnR5T3duZXJSZWdpc3RyeTxTVkdJbWFnZUVsZW1lbnQsIFNWR0dyYXBoaWNzRWxlbWVudCwgU1ZH
RXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgU1ZHVVJJUmVmZXJlbmNlPjsKKwogcHVibGljOgog
ICAgIHN0YXRpYyBSZWY8U1ZHSW1hZ2VFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFt
ZSYsIERvY3VtZW50Jik7CiAKQEAgLTUxLDkgKzUzLDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAg
ICBTVkdJbWFnZUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAgICAg
Ci0gICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxT
VkdJbWFnZUVsZW1lbnQsIFNWR0dyYXBoaWNzRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNS
ZXF1aXJlZCwgU1ZHVVJJUmVmZXJlbmNlPjsKICAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5
JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lz
dHJ5OyB9Ci0KICAgICB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBj
b25zdCBBdG9taWNTdHJpbmcmKSBmaW5hbDsKICAgICB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQo
Y29uc3QgUXVhbGlmaWVkTmFtZSYpIGZpbmFsOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHTGVuZ3RoLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoLmgKaW5kZXgg
ZmYwZmQzNTE0YjI2M2UxMzhkNWNjYTkwN2YzYTc5ODdiNmYzYjllZi4uOWJiYjVkZjgyNTVhZWY2
MGE1OGMxMzRmMjQ1OGFlMThmYzkwMjFiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0xlbmd0aC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMZW5ndGguaApAQCAtNjYs
NiArNjYsMjMgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdMZW5n
dGgob3duZXIsIGFjY2VzcywgdmFsdWUpKTsKICAgICB9CiAKKyAgICBzdGF0aWMgRXhwZWN0ZWQ8
UmVmPFNWR0xlbmd0aD4sIFNWR1BhcnNpbmdFcnJvcj4gY3JlYXRlKGNvbnN0IFVDaGFyKiYgcHRy
LCBjb25zdCBVQ2hhciogZW5kLCBTVkdMZW5ndGhNb2RlIGxlbmd0aE1vZGUpCisgICAgeworICAg
ICAgICBjb25zdCBVQ2hhciogc3RhcnQgPSBwdHI7CisgICAgICAgIHdoaWxlIChwdHIgPCBlbmQg
JiYgKnB0ciAhPSAnLCcgJiYgIWlzU1ZHU3BhY2UoKnB0cikpCisgICAgICAgICAgICBwdHIrKzsK
KworICAgICAgICBTdHJpbmcgc3RyaW5nKHN0YXJ0LCBwdHIgLSBzdGFydCk7CisgICAgICAgIGlm
IChzdHJpbmcuaXNFbXB0eSgpKQorICAgICAgICAgICAgcmV0dXJuIG1ha2VVbmV4cGVjdGVkKFBh
cnNpbmdBdHRyaWJ1dGVGYWlsZWRFcnJvcik7CisKKyAgICAgICAgU1ZHTGVuZ3RoVmFsdWUgdmFs
dWUobGVuZ3RoTW9kZSk7CisgICAgICAgIGlmICh2YWx1ZS5zZXRWYWx1ZUFzU3RyaW5nKHN0cmlu
ZykuaGFzRXhjZXB0aW9uKCkpCisgICAgICAgICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQoUGFy
c2luZ0F0dHJpYnV0ZUZhaWxlZEVycm9yKTsKKworICAgICAgICByZXR1cm4gU1ZHTGVuZ3RoOjpj
cmVhdGUodmFsdWUpOworICAgIH0KKwogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CiAgICAgc3Rh
dGljIEV4Y2VwdGlvbk9yPFJlZjxTVkdMZW5ndGg+PiBjcmVhdGUoRXhjZXB0aW9uT3I8VD4mJiB2
YWx1ZSkKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoTGlz
dC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xlbmd0aExpc3QuaAppbmRleCBiMDE0N2ZhMjM0
ZjRkOWE4OGY5ZmM5ZjMxZDVmMzg4OTczMTY3Njk1Li5kZmU2NTY5ODU4OTM2OTU4N2QwZDk4MzZj
Mjk3NGE1NDkwZmJkZTA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTGVuZ3Ro
TGlzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMZW5ndGhMaXN0LmgKQEAgLTUyLDQ2
ICs1MiwxMSBAQCBwdWJsaWM6CiAKICAgICBTVkdMZW5ndGhNb2RlIGxlbmd0aE1vZGUoKSBjb25z
dCB7IHJldHVybiBtX2xlbmd0aE1vZGU7IH0KIAotICAgIGJvb2wgcGFyc2UoY29uc3QgU3RyaW5n
JiB2YWx1ZSkKKyAgICBTVkdQYXJzaW5nRXJyb3IgcGFyc2UoY29uc3QgU3RyaW5nJiB2YWx1ZSkK
ICAgICB7Ci0gICAgICAgIGNsZWFySXRlbXMoKTsKLQotICAgICAgICBhdXRvIHVwY29udmVydGVk
Q2hhcmFjdGVycyA9IFN0cmluZ1ZpZXcodmFsdWUpLnVwY29udmVydGVkQ2hhcmFjdGVycygpOwot
ICAgICAgICBjb25zdCBVQ2hhciogcHRyID0gdXBjb252ZXJ0ZWRDaGFyYWN0ZXJzOwotICAgICAg
ICBjb25zdCBVQ2hhciogZW5kID0gcHRyICsgdmFsdWUubGVuZ3RoKCk7Ci0gICAgICAgIHdoaWxl
IChwdHIgPCBlbmQpIHsKLSAgICAgICAgICAgIGNvbnN0IFVDaGFyKiBzdGFydCA9IHB0cjsKLSAg
ICAgICAgICAgIHdoaWxlIChwdHIgPCBlbmQgJiYgKnB0ciAhPSAnLCcgJiYgIWlzU1ZHU3BhY2Uo
KnB0cikpCi0gICAgICAgICAgICAgICAgcHRyKys7Ci0gICAgICAgICAgICBpZiAocHRyID09IHN0
YXJ0KQotICAgICAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgICAgICBTdHJpbmcgdmFsdWVT
dHJpbmcoc3RhcnQsIHB0ciAtIHN0YXJ0KTsKLSAgICAgICAgICAgIFNWR0xlbmd0aFZhbHVlIHZh
bHVlKG1fbGVuZ3RoTW9kZSk7Ci0gICAgICAgICAgICBpZiAodmFsdWUuc2V0VmFsdWVBc1N0cmlu
Zyh2YWx1ZVN0cmluZykuaGFzRXhjZXB0aW9uKCkpCi0gICAgICAgICAgICAgICAgYnJlYWs7Ci0K
LSAgICAgICAgICAgIGFwcGVuZChTVkdMZW5ndGg6OmNyZWF0ZSh2YWx1ZSkpOwotICAgICAgICAg
ICAgc2tpcE9wdGlvbmFsU1ZHU3BhY2VzT3JEZWxpbWl0ZXIocHRyLCBlbmQpOwotICAgICAgICB9
Ci0KLSAgICAgICAgcmV0dXJuIHB0ciA9PSBlbmQ7CisgICAgICAgIHJldHVybiBCYXNlOjpwYXJz
ZSh2YWx1ZSwgbV9sZW5ndGhNb2RlKTsKICAgICB9CiAKLSAgICBTdHJpbmcgdmFsdWVBc1N0cmlu
ZygpIGNvbnN0IG92ZXJyaWRlCi0gICAgewotICAgICAgICBTdHJpbmdCdWlsZGVyIGJ1aWxkZXI7
Ci0KLSAgICAgICAgZm9yIChjb25zdCBhdXRvJiBsZW5ndGggOiBtX2l0ZW1zKSB7Ci0gICAgICAg
ICAgICBpZiAoYnVpbGRlci5sZW5ndGgoKSkKLSAgICAgICAgICAgICAgICBidWlsZGVyLmFwcGVu
ZCgnICcpOwotCi0gICAgICAgICAgICBidWlsZGVyLmFwcGVuZChsZW5ndGgtPnZhbHVlKCkudmFs
dWVBc1N0cmluZygpKTsKLSAgICAgICAgfQotCi0gICAgICAgIHJldHVybiBidWlsZGVyLnRvU3Ry
aW5nKCk7Ci0gICAgfQotICAgIAogcHJpdmF0ZToKICAgICBTVkdMZW5ndGhMaXN0KFNWR0xlbmd0
aE1vZGUgbGVuZ3RoTW9kZSkKICAgICAgICAgOiBtX2xlbmd0aE1vZGUobGVuZ3RoTW9kZSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMZW5ndGhWYWx1ZS5oIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0xlbmd0aFZhbHVlLmgKaW5kZXggOTI2NjFiMjFlNTNlNzAwY2ExYmFmZWU1
MWUxZjdjNWFjOWQ2ZTM0NS4uOTdiNTUxMzdkMjQ4NTE2MjM2YjUzNWY0OWM3NjYyNjFiMmIwNGJh
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xlbmd0aFZhbHVlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0xlbmd0aFZhbHVlLmgKQEAgLTE0NSwxNyArMTQ1LDYgQEAg
cHJpdmF0ZToKICAgICB1bnNpZ25lZCBtX3VuaXQ7CiB9OwogCi10ZW1wbGF0ZTw+IHN0cnVjdCBT
VkdQcm9wZXJ0eVRyYWl0czxTVkdMZW5ndGhWYWx1ZT4gewotICAgIHN0YXRpYyBTVkdMZW5ndGhW
YWx1ZSBpbml0aWFsVmFsdWUoKSB7IHJldHVybiB7IH07IH0KLSAgICBzdGF0aWMgT3B0aW9uYWw8
U1ZHTGVuZ3RoVmFsdWU+IHBhcnNlKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lLCBjb25z
dCBTdHJpbmcmIHN0cmluZykKLSAgICB7Ci0gICAgICAgIFNWR0xlbmd0aFZhbHVlIGxlbmd0aDsK
LSAgICAgICAgbGVuZ3RoLnNldFZhbHVlQXNTdHJpbmcoc3RyaW5nLCBTVkdMZW5ndGhWYWx1ZTo6
bGVuZ3RoTW9kZUZvckFuaW1hdGVkTGVuZ3RoQXR0cmlidXRlKGF0dHJOYW1lKSkuaGFzRXhjZXB0
aW9uKCk7Ci0gICAgICAgIHJldHVybiBsZW5ndGg7Ci0gICAgfQotICAgIHN0YXRpYyBTdHJpbmcg
dG9TdHJpbmcoY29uc3QgU1ZHTGVuZ3RoVmFsdWUmIGxlbmd0aCkgeyByZXR1cm4gbGVuZ3RoLnZh
bHVlQXNTdHJpbmcoKTsgfQotfTsKLQogV1RGOjpUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFdURjo6
VGV4dFN0cmVhbSYsIGNvbnN0IFNWR0xlbmd0aFZhbHVlJik7CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMaW5lRWxlbWVudC5oIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0xpbmVFbGVtZW50LmgKaW5kZXggZGQwMjlhM2Q1YmVkODI1
MDI0ODc5OWM5NGNjYzZjNzgxZDI3YTJjZi4uZTFmYmVhOWUyNTBjZWI0Nzc5YmViNzRmN2YzZTI0
NWQ0OGJhNDcwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xpbmVFbGVtZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xpbmVFbGVtZW50LmgKQEAgLTI5LDYgKzI5
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTVkdMaW5lRWxlbWVudCBmaW5hbCA6
IHB1YmxpYyBTVkdHZW9tZXRyeUVsZW1lbnQsIHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1Jl
cXVpcmVkIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR0xpbmVFbGVtZW50KTsKKyAg
ICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0xp
bmVFbGVtZW50LCBTVkdHZW9tZXRyeUVsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWly
ZWQ+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdMaW5lRWxlbWVudD4gY3JlYXRlKGNv
bnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCkBAIC00NSw5ICs0Nyw3IEBAIHB1Ymxp
YzoKIHByaXZhdGU6CiAgICAgU1ZHTGluZUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERv
Y3VtZW50Jik7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25l
clJlZ2lzdHJ5PFNWR0xpbmVFbGVtZW50LCBTVkdHZW9tZXRyeUVsZW1lbnQsIFNWR0V4dGVybmFs
UmVzb3VyY2VzUmVxdWlyZWQ+OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3Bl
cnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0K
LQogICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0
b21pY1N0cmluZyYpIGZpbmFsOwogICAgIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBR
dWFsaWZpZWROYW1lJikgZmluYWw7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdMaW5lYXJHcmFkaWVudEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMaW5lYXJH
cmFkaWVudEVsZW1lbnQuaAppbmRleCAwNGEzMWRkNDdjMGIyMTkxNjM4MzhhZjVjNWUwOWE5Mjg1
YzNhMjZmLi44YWQxZWE5ZDI0OTkwMjViNTMzY2U2YWEwNjlkZGViMzY5NGYyMTQ4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0xpbmVhckdyYWRpZW50RWxlbWVudC5oCkBAIC0zMCw2ICsz
MCw4IEBAIHN0cnVjdCBMaW5lYXJHcmFkaWVudEF0dHJpYnV0ZXM7CiAKIGNsYXNzIFNWR0xpbmVh
ckdyYWRpZW50RWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdHcmFkaWVudEVsZW1lbnQgewogICAg
IFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50KTsKKyAgICB1
c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0xpbmVh
ckdyYWRpZW50RWxlbWVudCwgU1ZHR3JhZGllbnRFbGVtZW50PjsKKwogcHVibGljOgogICAgIHN0
YXRpYyBSZWY8U1ZHTGluZWFyR3JhZGllbnRFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVk
TmFtZSYsIERvY3VtZW50Jik7CiAKQEAgLTQ4LDkgKzUwLDcgQEAgcHVibGljOgogcHJpdmF0ZToK
ICAgICBTVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3Vt
ZW50Jik7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJl
Z2lzdHJ5PFNWR0xpbmVhckdyYWRpZW50RWxlbWVudCwgU1ZHR3JhZGllbnRFbGVtZW50PjsKICAg
ICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmlu
YWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9Ci0KICAgICB2b2lkIHBhcnNlQXR0cmli
dXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKSBvdmVycmlkZTsK
ICAgICB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYpIG92ZXJy
aWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTVBhdGhFbGVtZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTVBhdGhFbGVtZW50LmgKaW5kZXggZDY1OTAzY2ViODNh
OWJjZjYxNTRiNzhjY2FhNGE2YmEzNTRiM2ZlNi4uNjcwZTY0ZDlhYmMzMzk3ODc3Nzk0YTJiYTEz
N2ZiNGUyYWQzMDk0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR01QYXRoRWxl
bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNUGF0aEVsZW1lbnQuaApAQCAtMzEs
NiArMzEsOCBAQCBjbGFzcyBTVkdQYXRoRWxlbWVudDsKIAogY2xhc3MgU1ZHTVBhdGhFbGVtZW50
IGZpbmFsIDogcHVibGljIFNWR0VsZW1lbnQsIHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1Jl
cXVpcmVkLCBwdWJsaWMgU1ZHVVJJUmVmZXJlbmNlIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NB
VEVEKFNWR01QYXRoRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1By
b3BlcnR5T3duZXJSZWdpc3RyeTxTVkdNUGF0aEVsZW1lbnQsIFNWR0VsZW1lbnQsIFNWR0V4dGVy
bmFsUmVzb3VyY2VzUmVxdWlyZWQsIFNWR1VSSVJlZmVyZW5jZT47CisKIHB1YmxpYzoKICAgICBz
dGF0aWMgUmVmPFNWR01QYXRoRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBE
b2N1bWVudCYpOwogCkBAIC00Myw5ICs0NSw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgU1ZH
TVBhdGhFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCi0gICAgdXNp
bmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdNUGF0aEVs
ZW1lbnQsIFNWR0VsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIFNWR1VSSVJl
ZmVyZW5jZT47CiAgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3Ry
eSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQotCiAgICAgdm9p
ZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5n
JikgZmluYWw7CiAgICAgdm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5h
bWUmKSBmaW5hbDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR01hcmtlckVs
ZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNYXJrZXJFbGVtZW50LmgKaW5kZXggZjAz
NDU4NDQwM2JhYmEyNjNmMThiZWMxYzE0MzhjNzZlODY4MWI1MC4uYTYzYmM1MzUwYmY4NTg4NzE1
NDk5MWZhYjg0Mzk4YjM3NjQ0Nzk4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R01hcmtlckVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWFya2VyRWxlbWVu
dC5oCkBAIC0zMCw2ICszMCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU1ZHTWFy
a2VyRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdFbGVtZW50LCBwdWJsaWMgU1ZHRXh0ZXJuYWxS
ZXNvdXJjZXNSZXF1aXJlZCwgcHVibGljIFNWR0ZpdFRvVmlld0JveCB7CiAgICAgV1RGX01BS0Vf
SVNPX0FMTE9DQVRFRChTVkdNYXJrZXJFbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lz
dHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR01hcmtlckVsZW1lbnQsIFNWR0VsZW1l
bnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIFNWR0ZpdFRvVmlld0JveD47CisKIHB1
YmxpYzoKICAgICAvLyBGb3J3YXJkIGRlY2xhcmUgZW51bWVyYXRpb25zIGluIHRoZSBXM0MgbmFt
aW5nIHNjaGVtZSwgZm9yIElETCBnZW5lcmF0aW9uLgogICAgIGVudW0gewpAQCAtNzEsOSArNzMs
NyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFNWR01hcmtlckVsZW1lbnQoY29uc3QgUXVhbGlm
aWVkTmFtZSYsIERvY3VtZW50Jik7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZH
UHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR01hcmtlckVsZW1lbnQsIFNWR0VsZW1lbnQsIFNWR0V4
dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIFNWR0ZpdFRvVmlld0JveD47CiAgICAgY29uc3QgU1ZH
UHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJu
IG1fcHJvcGVydHlSZWdpc3RyeTsgfQotCiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBR
dWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBz
dmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBvdmVycmlkZTsKICAgICB2
b2lkIGNoaWxkcmVuQ2hhbmdlZChjb25zdCBDaGlsZENoYW5nZSYpIG92ZXJyaWRlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR01hcmtlclR5cGVzLmggYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHTWFya2VyVHlwZXMuaAppbmRleCBiODExZDJlOWRiY2I0ZDI2M2JiZmMzYzAwYzI3
NGMzNzJhMzhlMDdhLi44MjZhMGY1NDQ4NWUwODUwNDRhNDY5N2I5ODkxOTNjMGI4MTdmOGZkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWFya2VyVHlwZXMuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHTWFya2VyVHlwZXMuaApAQCAtMjYsOTkgKzI2LDMyIEBACiAjcHJh
Z21hIG9uY2UKIAogI2luY2x1ZGUgIlNWR0FuZ2xlVmFsdWUuaCIKKyNpbmNsdWRlICJTVkdFbnVt
VHlwZS5oIgogI2luY2x1ZGUgIlNWR1Byb3BlcnR5VHJhaXRzLmgiCiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotZW51bSBTVkdNYXJrZXJVbml0c1R5cGUgewotICAgIFNWR01hcmtlclVuaXRzVW5r
bm93biA9IDAsCi0gICAgU1ZHTWFya2VyVW5pdHNVc2VyU3BhY2VPblVzZSwKLSAgICBTVkdNYXJr
ZXJVbml0c1N0cm9rZVdpZHRoCi19OwotCi1lbnVtIFNWR01hcmtlck9yaWVudFR5cGUgewotICAg
IFNWR01hcmtlck9yaWVudFVua25vd24gPSAwLAotICAgIFNWR01hcmtlck9yaWVudEF1dG8sCi0g
ICAgU1ZHTWFya2VyT3JpZW50QW5nbGUsCi0gICAgU1ZHTWFya2VyT3JpZW50QXV0b1N0YXJ0UmV2
ZXJzZSwKLSAgICAKLSAgICAvLyBBZGQgbmV3IGVsZW1lbnRzIGJlZm9yZSBoZXJlLgotICAgIFNW
R01hcmtlck9yaWVudE1heAotfTsKLSAgICAKIHRlbXBsYXRlPD4KLXN0cnVjdCBTVkdQcm9wZXJ0
eVRyYWl0czxTVkdNYXJrZXJVbml0c1R5cGU+IHsKLSAgICBzdGF0aWMgdW5zaWduZWQgaGlnaGVz
dEVudW1WYWx1ZSgpIHsgcmV0dXJuIFNWR01hcmtlclVuaXRzU3Ryb2tlV2lkdGg7IH0KLSAgICBz
dGF0aWMgU3RyaW5nIHRvU3RyaW5nKFNWR01hcmtlclVuaXRzVHlwZSB0eXBlKQotICAgIHsKLSAg
ICAgICAgc3dpdGNoICh0eXBlKSB7Ci0gICAgICAgIGNhc2UgU1ZHTWFya2VyVW5pdHNVbmtub3du
OgotICAgICAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7Ci0gICAgICAgIGNhc2UgU1ZHTWFy
a2VyVW5pdHNVc2VyU3BhY2VPblVzZToKLSAgICAgICAgICAgIHJldHVybiAidXNlclNwYWNlT25V
c2UiX3M7Ci0gICAgICAgIGNhc2UgU1ZHTWFya2VyVW5pdHNTdHJva2VXaWR0aDoKLSAgICAgICAg
ICAgIHJldHVybiAic3Ryb2tlV2lkdGgiX3M7Ci0gICAgICAgIH0KLSAgICAgICAgCi0gICAgICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKLSAg
ICB9Ci0gICAgc3RhdGljIFNWR01hcmtlclVuaXRzVHlwZSBmcm9tU3RyaW5nKGNvbnN0IFN0cmlu
ZyYgdmFsdWUpCitzdHJ1Y3QgU1ZHUHJvcGVydHlUcmFpdHM8c3RkOjpwYWlyPFNWR0FuZ2xlVmFs
dWUsIFNWR01hcmtlck9yaWVudFR5cGU+PiB7CisgICAgc3RhdGljIEV4cGVjdGVkPHN0ZDo6cGFp
cjxTVkdBbmdsZVZhbHVlLCBTVkdNYXJrZXJPcmllbnRUeXBlPiwgU1ZHUGFyc2luZ0Vycm9yPiBw
YXJzZShjb25zdCBTdHJpbmcmIHN0cmluZykKICAgICB7Ci0gICAgICAgIGlmICh2YWx1ZSA9PSAi
dXNlclNwYWNlT25Vc2UiKQotICAgICAgICAgICAgcmV0dXJuIFNWR01hcmtlclVuaXRzVXNlclNw
YWNlT25Vc2U7Ci0gICAgICAgIGlmICh2YWx1ZSA9PSAic3Ryb2tlV2lkdGgiKQotICAgICAgICAg
ICAgcmV0dXJuIFNWR01hcmtlclVuaXRzU3Ryb2tlV2lkdGg7Ci0gICAgICAgIHJldHVybiBTVkdN
YXJrZXJVbml0c1Vua25vd247Ci0gICAgfQotfTsKKyAgICAgICAgU1ZHQW5nbGVWYWx1ZSBhbmds
ZTsKKyAgICAgICAgaWYgKHN0cmluZy5pc0VtcHR5KCkpCisgICAgICAgICAgICByZXR1cm4gc3Rk
OjptYWtlX3BhaXIoYW5nbGUsIFNWR01hcmtlck9yaWVudEFuZ2xlKTsKIAotdGVtcGxhdGU8Pgot
c3RydWN0IFNWR1Byb3BlcnR5VHJhaXRzPFNWR01hcmtlck9yaWVudFR5cGU+IHsKLSAgICBzdGF0
aWMgY29uc3QgU3RyaW5nIGF1dG9TdHJpbmcoKQotICAgIHsKLSAgICAgICAgc3RhdGljIGNvbnN0
IE5ldmVyRGVzdHJveWVkPFN0cmluZz4gYXV0b1N0cmluZyA9IE1BS0VfU1RBVElDX1NUUklOR19J
TVBMKCJhdXRvIik7Ci0gICAgICAgIHJldHVybiBhdXRvU3RyaW5nOwotICAgIH0KLSAgICBzdGF0
aWMgY29uc3QgU3RyaW5nIGF1dG9TdGFydFJldmVyc2VTdHJpbmcoKQotICAgIHsKLSAgICAgICAg
c3RhdGljIGNvbnN0IE5ldmVyRGVzdHJveWVkPFN0cmluZz4gYXV0b1N0YXJ0UmV2ZXJzZVN0cmlu
ZyA9IE1BS0VfU1RBVElDX1NUUklOR19JTVBMKCJhdXRvLXN0YXJ0LXJldmVyc2UiKTsKLSAgICAg
ICAgcmV0dXJuIGF1dG9TdGFydFJldmVyc2VTdHJpbmc7Ci0gICAgfQotICAgIHN0YXRpYyB1bnNp
Z25lZCBoaWdoZXN0RW51bVZhbHVlKCkgeyByZXR1cm4gU1ZHTWFya2VyT3JpZW50QXV0b1N0YXJ0
UmV2ZXJzZTsgfQotICAgIHN0YXRpYyBTVkdNYXJrZXJPcmllbnRUeXBlIGZyb21TdHJpbmcoY29u
c3QgU3RyaW5nJiBzdHJpbmcpCi0gICAgewotICAgICAgICBpZiAoc3RyaW5nID09IGF1dG9TdHJp
bmcoKSkKLSAgICAgICAgICAgIHJldHVybiBTVkdNYXJrZXJPcmllbnRBdXRvOwotICAgICAgICBp
ZiAoc3RyaW5nID09IGF1dG9TdGFydFJldmVyc2VTdHJpbmcoKSkKLSAgICAgICAgICAgIHJldHVy
biBTVkdNYXJrZXJPcmllbnRBdXRvU3RhcnRSZXZlcnNlOwotICAgICAgICByZXR1cm4gU1ZHTWFy
a2VyT3JpZW50VW5rbm93bjsKLSAgICB9Ci0gICAgc3RhdGljIFN0cmluZyB0b1N0cmluZyhTVkdN
YXJrZXJPcmllbnRUeXBlIHR5cGUpCi0gICAgewotICAgICAgICBpZiAodHlwZSA9PSBTVkdNYXJr
ZXJPcmllbnRBdXRvKQotICAgICAgICAgICAgcmV0dXJuIGF1dG9TdHJpbmcoKTsKLSAgICAgICAg
aWYgKHR5cGUgPT0gU1ZHTWFya2VyT3JpZW50QXV0b1N0YXJ0UmV2ZXJzZSkKLSAgICAgICAgICAg
IHJldHVybiBhdXRvU3RhcnRSZXZlcnNlU3RyaW5nKCk7Ci0gICAgICAgIHJldHVybiBlbXB0eVN0
cmluZygpOwotICAgIH0KLX07CisgICAgICAgIFNWR01hcmtlck9yaWVudFR5cGUgb3JpZW50VHlw
ZSA9IFNWR1Byb3BlcnR5VHJhaXRzPFNWR01hcmtlck9yaWVudFR5cGU+Ojpmcm9tU3RyaW5nKHN0
cmluZyk7CisgICAgICAgIGlmIChvcmllbnRUeXBlICE9IFNWR01hcmtlck9yaWVudFVua25vd24p
CisgICAgICAgICAgICByZXR1cm4gc3RkOjptYWtlX3BhaXIoYW5nbGUsIG9yaWVudFR5cGUpOwog
Ci10ZW1wbGF0ZTw+Ci1pbmxpbmUgdW5zaWduZWQgU1ZHSURMRW51bUxpbWl0czxTVkdNYXJrZXJP
cmllbnRUeXBlPjo6aGlnaGVzdEV4cG9zZWRFbnVtVmFsdWUoKSB7IHJldHVybiBTVkdNYXJrZXJP
cmllbnRBbmdsZTsgfQorICAgICAgICBhdXRvIHJlc3VsdCA9IGFuZ2xlLnNldFZhbHVlQXNTdHJp
bmcoc3RyaW5nKTsKKyAgICAgICAgaWYgKHJlc3VsdC5oYXNFeGNlcHRpb24oKSkKKyAgICAgICAg
ICAgIHJldHVybiBtYWtlVW5leHBlY3RlZChQYXJzaW5nQXR0cmlidXRlRmFpbGVkRXJyb3IpOwog
Ci10ZW1wbGF0ZTw+Ci1zdHJ1Y3QgU1ZHUHJvcGVydHlUcmFpdHM8c3RkOjpwYWlyPFNWR0FuZ2xl
VmFsdWUsIFNWR01hcmtlck9yaWVudFR5cGU+PiB7CisgICAgICAgIHJldHVybiBzdGQ6Om1ha2Vf
cGFpcihhbmdsZSwgU1ZHTWFya2VyT3JpZW50QW5nbGUpOworICAgIH0KICAgICBzdGF0aWMgc3Rk
OjpwYWlyPFNWR0FuZ2xlVmFsdWUsIFNWR01hcmtlck9yaWVudFR5cGU+IGZyb21TdHJpbmcoY29u
c3QgU3RyaW5nJiBzdHJpbmcpCiAgICAgewotICAgICAgICBTVkdBbmdsZVZhbHVlIGFuZ2xlOwot
ICAgICAgICBTVkdNYXJrZXJPcmllbnRUeXBlIG9yaWVudFR5cGUgPSBTVkdQcm9wZXJ0eVRyYWl0
czxTVkdNYXJrZXJPcmllbnRUeXBlPjo6ZnJvbVN0cmluZyhzdHJpbmcpOwotICAgICAgICBpZiAo
b3JpZW50VHlwZSA9PSBTVkdNYXJrZXJPcmllbnRVbmtub3duKSB7Ci0gICAgICAgICAgICBhdXRv
IHJlc3VsdCA9IGFuZ2xlLnNldFZhbHVlQXNTdHJpbmcoc3RyaW5nKTsKLSAgICAgICAgICAgIGlm
ICghcmVzdWx0Lmhhc0V4Y2VwdGlvbigpKQotICAgICAgICAgICAgICAgIG9yaWVudFR5cGUgPSBT
VkdNYXJrZXJPcmllbnRBbmdsZTsKLSAgICAgICAgfQotICAgICAgICByZXR1cm4gc3RkOjptYWtl
X3BhaXIoYW5nbGUsIG9yaWVudFR5cGUpOworICAgICAgICByZXR1cm4gcGFyc2Uoc3RyaW5nKS52
YWx1ZV9vcihzdGQ6Om1ha2VfcGFpcjxTVkdBbmdsZVZhbHVlLCBTVkdNYXJrZXJPcmllbnRUeXBl
Pih7IH0sIFNWR01hcmtlck9yaWVudFVua25vd24pKTsKICAgICB9CiB9OwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWFza0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdNYXNrRWxlbWVudC5oCmluZGV4IGM1ZTM1OGRmZmJhOWRlNGQ3MDNmNmM0ODIwN2NkZjFh
MzZhNGMwYmUuLmMzMTYyZjM4NTQ0NzJjOWJmMWM4ZDZmMGQ4YTFiZDU2ZDRhY2ZkNmQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNYXNrRWxlbWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdNYXNrRWxlbWVudC5oCkBAIC0zMCw2ICszMCw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogY2xhc3MgU1ZHTWFza0VsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHRWxlbWVu
dCwgcHVibGljIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIHB1YmxpYyBTVkdUZXN0cyB7
CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdNYXNrRWxlbWVudCk7CisgICAgdXNpbmcg
UHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdNYXNrRWxlbWVu
dCwgU1ZHRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgU1ZHVGVzdHM+Owor
CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdNYXNrRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1
YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCkBAIC01MCw5ICs1Miw3IEBAIHB1YmxpYzoKIHBy
aXZhdGU6CiAgICAgU1ZHTWFza0VsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50
Jik7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lz
dHJ5PFNWR01hc2tFbGVtZW50LCBTVkdFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVp
cmVkLCBTVkdUZXN0cz47CiAgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlS
ZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQotCiAg
ICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWlj
U3RyaW5nJikgZmluYWw7CiAgICAgdm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxp
ZmllZE5hbWUmKSBmaW5hbDsKICAgICB2b2lkIGNoaWxkcmVuQ2hhbmdlZChjb25zdCBDaGlsZENo
YW5nZSYpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR01ldGFkYXRh
RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR01ldGFkYXRhRWxlbWVudC5oCmluZGV4
IDZiMDQxMTJiN2ZhMTQzN2E5YTRkMzBkZGU2MTEyYTc1ODYxYzI2MDIuLmRiOWJlNzgwMWYzMjkw
MTJiNWIxMjE1YjRkNjczNDk1Y2MxNTYzNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdNZXRhZGF0YUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWV0YWRh
dGFFbGVtZW50LmgKQEAgLTI2LDEzICsyNiwxOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNs
YXNzIFNWR01ldGFkYXRhRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdFbGVtZW50IHsKICAgICBX
VEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR01ldGFkYXRhRWxlbWVudCk7CisgICAgdXNpbmcgUHJv
cGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdNZXRhZGF0YUVsZW1l
bnQsIFNWR0VsZW1lbnQ+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdNZXRhZGF0YUVs
ZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAogcHJpdmF0
ZToKICAgICBTVkdNZXRhZGF0YUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50
Jik7CiAKKyAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkg
Y29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9CiAgICAgYm9vbCByZW5k
ZXJlcklzTmVlZGVkKGNvbnN0IFJlbmRlclN0eWxlJikgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0K
KyAgICAKKyAgICBQcm9wZXJ0eVJlZ2lzdHJ5IG1fcHJvcGVydHlSZWdpc3RyeSB7ICp0aGlzIH07
CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHTWlzc2luZ0dseXBoRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR01p
c3NpbmdHbHlwaEVsZW1lbnQuaAppbmRleCA0NGIzNzQ2YTgyN2U1ZjU3ZWQ5NTU1YTBjZTZmZDdj
Y2FjNWExNDdhLi40NDlkNDE0NDdkNDEzOTk3OTYyNDdkMzkzMjAyYWE1ODdkMmZiYzBkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWlzc2luZ0dseXBoRWxlbWVudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNaXNzaW5nR2x5cGhFbGVtZW50LmgKQEAgLTI4LDEzICsy
OCwxOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNWR01pc3NpbmdHbHlwaEVsZW1l
bnQgZmluYWwgOiBwdWJsaWMgU1ZHRWxlbWVudCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRF
RChTVkdNaXNzaW5nR2x5cGhFbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0g
U1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR01pc3NpbmdHbHlwaEVsZW1lbnQsIFNWR0VsZW1l
bnQ+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdNaXNzaW5nR2x5cGhFbGVtZW50PiBj
cmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKIHByaXZhdGU6CiAgICAg
U1ZHTWlzc2luZ0dseXBoRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsK
IAorICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25z
dCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KICAgICBib29sIHJlbmRlcmVy
SXNOZWVkZWQoY29uc3QgUmVuZGVyU3R5bGUmKSBmaW5hbCB7IHJldHVybiBmYWxzZTsgfQorCisg
ICAgUHJvcGVydHlSZWdpc3RyeSBtX3Byb3BlcnR5UmVnaXN0cnkgeyAqdGhpcyB9OwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R051bWJlci5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR051bWJlci5oCmluZGV4IDIzYzgyZTQ0
ZTY3N2Q4ZDM2MGM5NjE1NGM3OTVkYWI4Nzc2YTFmYTQuLjkyZjVhMWFkOGNlNGFiY2ZkZGU3Y2E0
YjZlMGQ3YmZkNTA5OThmNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdOdW1i
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTnVtYmVyLmgKQEAgLTQ1LDYgKzQ1LDE0
IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU1ZHTnVtYmVyKG93bmVy
LCBhY2Nlc3MsIHZhbHVlKSk7CiAgICAgfQogCisgICAgc3RhdGljIEV4cGVjdGVkPFJlZjxTVkdO
dW1iZXI+LCBTVkdQYXJzaW5nRXJyb3I+IGNyZWF0ZShjb25zdCBVQ2hhciomIHB0ciwgY29uc3Qg
VUNoYXIqIGVuZCkKKyAgICB7CisgICAgICAgIGZsb2F0IG51bWJlciA9IDA7CisgICAgICAgIGlm
ICghcGFyc2VOdW1iZXIocHRyLCBlbmQsIG51bWJlcikpCisgICAgICAgICAgICByZXR1cm4gbWFr
ZVVuZXhwZWN0ZWQoUGFyc2luZ0F0dHJpYnV0ZUZhaWxlZEVycm9yKTsKKyAgICAgICAgcmV0dXJu
IFNWR051bWJlcjo6Y3JlYXRlKG51bWJlcik7CisgICAgfQorCiAgICAgdGVtcGxhdGU8dHlwZW5h
bWUgVD4KICAgICBzdGF0aWMgRXhjZXB0aW9uT3I8UmVmPFNWR051bWJlcj4+IGNyZWF0ZShFeGNl
cHRpb25PcjxUPiYmIHZhbHVlKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdOdW1iZXJMaXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTnVtYmVyTGlzdC5oCmlu
ZGV4IDViNWQ1N2U4NDZmNDMxYWFmNWMwOGRiYzlhNGMzNGFiZTg0ZDZkMWYuLmE1ZTczZTE5MDlk
YmY0NjE0YWMwN2VmMzFlM2FiNDUyNzJlZmYzMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdOdW1iZXJMaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR051bWJlckxp
c3QuaApAQCAtNDksNDAgKzQ5LDYgQEAgcHVibGljOgogICAgIHsKICAgICAgICAgcmV0dXJuIGFk
b3B0UmVmKCpuZXcgU1ZHTnVtYmVyTGlzdChvdGhlciwgYWNjZXNzKSk7CiAgICAgfQotCi0gICAg
Ym9vbCBwYXJzZShjb25zdCBTdHJpbmcmIHZhbHVlKQotICAgIHsKLSAgICAgICAgY2xlYXJJdGVt
cygpOwotCi0gICAgICAgIGZsb2F0IG51bWJlciA9IDA7Ci0gICAgICAgIGF1dG8gdXBjb252ZXJ0
ZWRDaGFyYWN0ZXJzID0gU3RyaW5nVmlldyh2YWx1ZSkudXBjb252ZXJ0ZWRDaGFyYWN0ZXJzKCk7
Ci0gICAgICAgIGNvbnN0IFVDaGFyKiBwdHIgPSB1cGNvbnZlcnRlZENoYXJhY3RlcnM7Ci0gICAg
ICAgIGNvbnN0IFVDaGFyKiBlbmQgPSBwdHIgKyB2YWx1ZS5sZW5ndGgoKTsKLQotICAgICAgICAv
LyBUaGUgc3BlYyAoc2VjdGlvbiA0LjEpIHN0cmFuZ2VseSBkb2Vzbid0IGFsbG93IGxlYWRpbmcg
d2hpdGVzcGFjZS4KLSAgICAgICAgLy8gV2UgbWlnaHQgY2hvb3NlIHRvIHZpb2xhdGUgdGhhdCBp
bnRlbnRpb25hbGx5LgotICAgICAgICB3aGlsZSAocHRyIDwgZW5kKSB7Ci0gICAgICAgICAgICBp
ZiAoIXBhcnNlTnVtYmVyKHB0ciwgZW5kLCBudW1iZXIpKQotICAgICAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICAgICAgYXBwZW5kKFNWR051bWJlcjo6Y3JlYXRlKG51bWJlcikpOwotICAgICAg
ICB9Ci0KLSAgICAgICAgcmV0dXJuIHB0ciA9PSBlbmQ7Ci0gICAgfQotCi0gICAgU3RyaW5nIHZh
bHVlQXNTdHJpbmcoKSBjb25zdCBvdmVycmlkZQotICAgIHsKLSAgICAgICAgU3RyaW5nQnVpbGRl
ciBidWlsZGVyOwotCi0gICAgICAgIGZvciAoY29uc3QgYXV0byYgbnVtYmVyIDogbV9pdGVtcykg
ewotICAgICAgICAgICAgaWYgKGJ1aWxkZXIubGVuZ3RoKCkpCi0gICAgICAgICAgICAgICAgYnVp
bGRlci5hcHBlbmQoJyAnKTsKLQotICAgICAgICAgICAgYnVpbGRlci5hcHBlbmRGaXhlZFByZWNp
c2lvbk51bWJlcihudW1iZXItPnZhbHVlKCkpOwotICAgICAgICB9Ci0KLSAgICAgICAgcmV0dXJu
IGJ1aWxkZXIudG9TdHJpbmcoKTsKLSAgICB9CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGFyc2luZ0Vycm9yLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHUGFyc2luZ0Vycm9yLmgKaW5kZXggMWI5YTcwMWI5YjI4OTk2NTY4
NTUwYWQ3Yjg5YjM3M2Q3NDM2Mzk3Mi4uNTRhZmRiZjdjMjc1ZjQyZmM4NWRhMzE1YmNmZDdiOWI2
MWYyYTg4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhcnNpbmdFcnJvci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXJzaW5nRXJyb3IuaApAQCAtMSw2ICsxLDYg
QEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTEu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUsIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMS0yMDE5IEFwcGxlLCBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
QEAgLTMwLDggKzMwLDQwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogZW51bSBTVkdQYXJzaW5n
RXJyb3IgewogICAgIE5vRXJyb3IsCi0gICAgUGFyc2luZ0F0dHJpYnV0ZUZhaWxlZEVycm9yLAot
ICAgIE5lZ2F0aXZlVmFsdWVGb3JiaWRkZW5FcnJvcgorICAgIFVuZXhwZWN0ZWRFbmRPZkF0dHJp
YnV0ZUVycm9yLAorICAgIFplcm9WYWx1ZUZvcmJpZGRlbkVycm9yLAorICAgIE5lZ2F0aXZlVmFs
dWVGb3JiaWRkZW5FcnJvciwKKyAgICBVbnJlY29nbml6ZWRFbnVtVmFsdWVFcnJvciwKKyAgICBQ
YXJzaW5nQXR0cmlidXRlRmFpbGVkRXJyb3IKIH07CiAKK2VudW0gU1ZHUGFyc2luZ09wdGlvbnMg
eworICAgIE5vT3B0aW9ucyAgICAgICAgICAgICA9IDAsCisgICAgRm9yYmlkTmVnYXRpdmUgICAg
ICAgID0gMSA8PCAwLAorICAgIEZvcmJpZFplcm8gICAgICAgICAgICA9IDEgPDwgMiwKKyAgICBG
b3JiaWRaZXJvQW5kTmVnYXRpdmUgPSBGb3JiaWROZWdhdGl2ZSB8IEZvcmJpZFplcm8sCisgICAg
QWxsb3dQZXJjZW50YWdlICAgICAgID0gMSA8PCAzCit9OworCit0ZW1wbGF0ZTx0eXBlbmFtZSBU
PiBzdHJ1Y3QgU1ZHTnVtZXJpY1BhcnNpbmdWYWxpZGF0b3I7CisKK3RlbXBsYXRlPHR5cGVuYW1l
IFQ+CitzdHJ1Y3QgU1ZHTnVtZXJpY1BhcnNpbmdWYWxpZGF0b3IgeworICAgIHN0YXRpYyBjb25z
dGV4cHIgU1ZHUGFyc2luZ0Vycm9yIHZhbGlkYXRlKFQgdCwgU1ZHUGFyc2luZ09wdGlvbnMgcGFy
c2luZ09wdGlvbnMpCisgICAgeworICAgICAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfYXJpdGht
ZXRpYzxUPjo6dmFsdWUsICJUaGlzIGZ1bmN0aW9uIGNhbiBvbmx5IGNoZWNrIHRoZSB2YWx1ZSBv
ZiBhIG51bWVyaWMuIik7CisgICAgICAgIGlmICgocGFyc2luZ09wdGlvbnMgJiBGb3JiaWROZWdh
dGl2ZSkgJiYgdCA8IDApCisgICAgICAgICAgICByZXR1cm4gTmVnYXRpdmVWYWx1ZUZvcmJpZGRl
bkVycm9yOworICAgICAgICBpZiAoKHBhcnNpbmdPcHRpb25zICYgRm9yYmlkWmVybykgJiYgIXQp
CisgICAgICAgICAgICByZXR1cm4gWmVyb1ZhbHVlRm9yYmlkZGVuRXJyb3I7CisgICAgICAgIHJl
dHVybiBOb0Vycm9yOworICAgIH0KK307CisKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+Citjb25zdGV4
cHIgYXV0byB2YWxpZGF0ZU51bWVyaWMoVCB0LCBTVkdQYXJzaW5nT3B0aW9ucyBwYXJzaW5nT3B0
aW9ucykKK3sKKyAgICByZXR1cm4gU1ZHTnVtZXJpY1BhcnNpbmdWYWxpZGF0b3I8VD46OnZhbGlk
YXRlKHQsIHBhcnNpbmdPcHRpb25zKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhFbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdQYXRoRWxlbWVudC5jcHAKaW5kZXggMDdmYzJhOWEzM2Y0MTg3NTM1NGVj
OTgxNjc3NjQ0NjkxM2EyNTNhOC4uYzIxZjBiMDEwOTg0OGRmZDRhYTM3ZGRjNGUyNDA4MDBkYTIw
MWQ5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhFbGVtZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aEVsZW1lbnQuY3BwCkBAIC0xMDksMjMgKzEw
OSwxNyBAQCB2b2lkIFNWR1BhdGhFbGVtZW50OjpyZW1vdmVkRnJvbUFuY2VzdG9yKFJlbW92YWxU
eXBlIHJlbW92YWxUeXBlLCBDb250YWluZXJOb2RlJgogCiBmbG9hdCBTVkdQYXRoRWxlbWVudDo6
Z2V0VG90YWxMZW5ndGgoKSBjb25zdAogewotICAgIGZsb2F0IHRvdGFsTGVuZ3RoID0gMDsKLSAg
ICBnZXRUb3RhbExlbmd0aE9mU1ZHUGF0aEJ5dGVTdHJlYW0ocGF0aEJ5dGVTdHJlYW0oKSwgdG90
YWxMZW5ndGgpOwotICAgIHJldHVybiB0b3RhbExlbmd0aDsKKyAgICByZXR1cm4gdG90YWxMZW5n
dGhPZlNWR1BhdGhCeXRlU3RyZWFtKHBhdGhCeXRlU3RyZWFtKCkpLnZhbHVlT3IoMCk7CiB9CiAK
IFJlZjxTVkdQb2ludD4gU1ZHUGF0aEVsZW1lbnQ6OmdldFBvaW50QXRMZW5ndGgoZmxvYXQgbGVu
Z3RoKSBjb25zdAogewotICAgIEZsb2F0UG9pbnQgcG9pbnQ7Ci0gICAgZ2V0UG9pbnRBdExlbmd0
aE9mU1ZHUGF0aEJ5dGVTdHJlYW0ocGF0aEJ5dGVTdHJlYW0oKSwgbGVuZ3RoLCBwb2ludCk7Ci0g
ICAgcmV0dXJuIFNWR1BvaW50OjpjcmVhdGUocG9pbnQpOworICAgIHJldHVybiBTVkdQb2ludDo6
Y3JlYXRlKHBvaW50QXRMZW5ndGhPZlNWR1BhdGhCeXRlU3RyZWFtKHBhdGhCeXRlU3RyZWFtKCks
IGxlbmd0aCkudmFsdWVPcihGbG9hdFBvaW50KCkpKTsKIH0KIAogdW5zaWduZWQgU1ZHUGF0aEVs
ZW1lbnQ6OmdldFBhdGhTZWdBdExlbmd0aChmbG9hdCBsZW5ndGgpIGNvbnN0CiB7Ci0gICAgdW5z
aWduZWQgcGF0aFNlZyA9IDA7Ci0gICAgZ2V0U1ZHUGF0aFNlZ0F0TGVuZ3RoRnJvbVNWR1BhdGhC
eXRlU3RyZWFtKHBhdGhCeXRlU3RyZWFtKCksIGxlbmd0aCwgcGF0aFNlZyk7Ci0gICAgcmV0dXJu
IHBhdGhTZWc7CisgICAgcmV0dXJuIHBhdGhTZWdBdExlbmd0aEZyb21TVkdQYXRoQnl0ZVN0cmVh
bShwYXRoQnl0ZVN0cmVhbSgpLCBsZW5ndGgpLnZhbHVlT3IoMCk7CiB9CiAKIEZsb2F0UmVjdCBT
VkdQYXRoRWxlbWVudDo6Z2V0QkJveChTdHlsZVVwZGF0ZVN0cmF0ZWd5IHN0eWxlVXBkYXRlU3Ry
YXRlZ3kpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aEVsZW1lbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoRWxlbWVudC5oCmluZGV4IDY3NzRkMDY5OGFhNDJm
YjUzNzM3ZGUxZDg5NTA3MDgzMTM1OGU3YTcuLmYyNTA4Y2FlOTBkYzc0Y2Y2MTZkOGYxZTMwY2E2
YjNkNTU1ZjdkMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoRWxlbWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoRWxlbWVudC5oCkBAIC0zNSw2ICsz
NSw4IEBAIGNsYXNzIFNWR1BvaW50OwogCiBjbGFzcyBTVkdQYXRoRWxlbWVudCBmaW5hbCA6IHB1
YmxpYyBTVkdHZW9tZXRyeUVsZW1lbnQsIHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVp
cmVkIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR1BhdGhFbGVtZW50KTsKKyAgICB1
c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR1BhdGhF
bGVtZW50LCBTVkdHZW9tZXRyeUVsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ+
OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdQYXRoRWxlbWVudD4gY3JlYXRlKGNvbnN0
IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogICAgIApAQCAtMTA4LDkgKzExMCw3IEBAIHB1
YmxpYzoKIHByaXZhdGU6CiAgICAgU1ZHUGF0aEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYs
IERvY3VtZW50Jik7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlP
d25lclJlZ2lzdHJ5PFNWR1BhdGhFbGVtZW50LCBTVkdHZW9tZXRyeUVsZW1lbnQsIFNWR0V4dGVy
bmFsUmVzb3VyY2VzUmVxdWlyZWQ+OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHBy
b3BlcnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7
IH0KLSAgICAKICAgICB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBj
b25zdCBBdG9taWNTdHJpbmcmKSBmaW5hbDsKICAgICB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQo
Y29uc3QgUXVhbGlmaWVkTmFtZSYpIGZpbmFsOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHUGF0aFV0aWxpdGllcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFV0
aWxpdGllcy5jcHAKaW5kZXggNGI3OWMxZmFiMDJkZDU4NTFmYmJhMDcwN2Q5ZGQzNGZjYzNmYmNl
Yy4uMGRmM2ExNjlkNGMxZjQ0NWFjOGFlZmEyYWJiY2FmN2Y4ZjI1MWRjYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhVdGlsaXRpZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdQYXRoVXRpbGl0aWVzLmNwcApAQCAtMTkzLDQ4ICsxOTMsNDkgQEAgYm9vbCBh
ZGRUb1NWR1BhdGhCeXRlU3RyZWFtKFNWR1BhdGhCeXRlU3RyZWFtJiBzdHJlYW1Ub0FwcGVuZFRv
LCBjb25zdCBTVkdQYXRoQnkKICAgICByZXR1cm4gU1ZHUGF0aEJsZW5kZXI6OmFkZEFuaW1hdGVk
UGF0aChmcm9tU291cmNlLCBieVNvdXJjZSwgYnVpbGRlciwgcmVwZWF0Q291bnQpOwogfQogCi1i
b29sIGdldFNWR1BhdGhTZWdBdExlbmd0aEZyb21TVkdQYXRoQnl0ZVN0cmVhbShjb25zdCBTVkdQ
YXRoQnl0ZVN0cmVhbSYgc3RyZWFtLCBmbG9hdCBsZW5ndGgsIHVuc2lnbmVkJiBwYXRoU2VnKQor
T3B0aW9uYWw8dW5zaWduZWQ+IHBhdGhTZWdBdExlbmd0aEZyb21TVkdQYXRoQnl0ZVN0cmVhbShj
b25zdCBTVkdQYXRoQnl0ZVN0cmVhbSYgc3RyZWFtLCBmbG9hdCBsZW5ndGgpCiB7CiAgICAgaWYg
KHN0cmVhbS5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgcmV0dXJu
IFdURjo6bnVsbG9wdDsKIAogICAgIFBhdGhUcmF2ZXJzYWxTdGF0ZSB0cmF2ZXJzYWxTdGF0ZShQ
YXRoVHJhdmVyc2FsU3RhdGU6OkFjdGlvbjo6U2VnbWVudEF0TGVuZ3RoKTsKICAgICBTVkdQYXRo
VHJhdmVyc2FsU3RhdGVCdWlsZGVyIGJ1aWxkZXIodHJhdmVyc2FsU3RhdGUsIGxlbmd0aCk7CiAK
ICAgICBTVkdQYXRoQnl0ZVN0cmVhbVNvdXJjZSBzb3VyY2Uoc3RyZWFtKTsKLSAgICBib29sIG9r
ID0gU1ZHUGF0aFBhcnNlcjo6cGFyc2Uoc291cmNlLCBidWlsZGVyKTsKLSAgICBwYXRoU2VnID0g
YnVpbGRlci5wYXRoU2VnbWVudEluZGV4KCk7Ci0gICAgcmV0dXJuIG9rOworICAgIGlmICghU1ZH
UGF0aFBhcnNlcjo6cGFyc2Uoc291cmNlLCBidWlsZGVyKSkKKyAgICAgICAgcmV0dXJuIFdURjo6
bnVsbG9wdDsKKworICAgIHJldHVybiBidWlsZGVyLnBhdGhTZWdtZW50SW5kZXgoKTsKIH0KIAot
Ym9vbCBnZXRUb3RhbExlbmd0aE9mU1ZHUGF0aEJ5dGVTdHJlYW0oY29uc3QgU1ZHUGF0aEJ5dGVT
dHJlYW0mIHN0cmVhbSwgZmxvYXQmIHRvdGFsTGVuZ3RoKQorT3B0aW9uYWw8ZmxvYXQ+IHRvdGFs
TGVuZ3RoT2ZTVkdQYXRoQnl0ZVN0cmVhbShjb25zdCBTVkdQYXRoQnl0ZVN0cmVhbSYgc3RyZWFt
KQogewogICAgIGlmIChzdHJlYW0uaXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAKICAgICBQYXRoVHJhdmVyc2FsU3RhdGUgdHJh
dmVyc2FsU3RhdGUoUGF0aFRyYXZlcnNhbFN0YXRlOjpBY3Rpb246OlRvdGFsTGVuZ3RoKTsKLQog
ICAgIFNWR1BhdGhUcmF2ZXJzYWxTdGF0ZUJ1aWxkZXIgYnVpbGRlcih0cmF2ZXJzYWxTdGF0ZSk7
CiAKICAgICBTVkdQYXRoQnl0ZVN0cmVhbVNvdXJjZSBzb3VyY2Uoc3RyZWFtKTsKLSAgICBib29s
IG9rID0gU1ZHUGF0aFBhcnNlcjo6cGFyc2Uoc291cmNlLCBidWlsZGVyKTsKLSAgICB0b3RhbExl
bmd0aCA9IGJ1aWxkZXIudG90YWxMZW5ndGgoKTsKLSAgICByZXR1cm4gb2s7CisgICAgaWYgKCFT
VkdQYXRoUGFyc2VyOjpwYXJzZShzb3VyY2UsIGJ1aWxkZXIpKQorICAgICAgICByZXR1cm4gV1RG
OjpudWxsb3B0OworCisgICAgcmV0dXJuIGJ1aWxkZXIudG90YWxMZW5ndGgoKTsKIH0KIAotYm9v
bCBnZXRQb2ludEF0TGVuZ3RoT2ZTVkdQYXRoQnl0ZVN0cmVhbShjb25zdCBTVkdQYXRoQnl0ZVN0
cmVhbSYgc3RyZWFtLCBmbG9hdCBsZW5ndGgsIEZsb2F0UG9pbnQmIHBvaW50KQorT3B0aW9uYWw8
RmxvYXRQb2ludD4gcG9pbnRBdExlbmd0aE9mU1ZHUGF0aEJ5dGVTdHJlYW0oY29uc3QgU1ZHUGF0
aEJ5dGVTdHJlYW0mIHN0cmVhbSwgZmxvYXQgbGVuZ3RoKQogewogICAgIGlmIChzdHJlYW0uaXNF
bXB0eSgpKQotICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIHJldHVybiBXVEY6Om51bGxv
cHQ7CiAKICAgICBQYXRoVHJhdmVyc2FsU3RhdGUgdHJhdmVyc2FsU3RhdGUoUGF0aFRyYXZlcnNh
bFN0YXRlOjpBY3Rpb246OlZlY3RvckF0TGVuZ3RoKTsKLQogICAgIFNWR1BhdGhUcmF2ZXJzYWxT
dGF0ZUJ1aWxkZXIgYnVpbGRlcih0cmF2ZXJzYWxTdGF0ZSwgbGVuZ3RoKTsKIAogICAgIFNWR1Bh
dGhCeXRlU3RyZWFtU291cmNlIHNvdXJjZShzdHJlYW0pOwotICAgIGJvb2wgb2sgPSBTVkdQYXRo
UGFyc2VyOjpwYXJzZShzb3VyY2UsIGJ1aWxkZXIpOwotICAgIHBvaW50ID0gYnVpbGRlci5jdXJy
ZW50UG9pbnQoKTsKLSAgICByZXR1cm4gb2s7CisgICAgaWYgKCFTVkdQYXRoUGFyc2VyOjpwYXJz
ZShzb3VyY2UsIGJ1aWxkZXIpKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworICAgIAor
ICAgIHJldHVybiBidWlsZGVyLmN1cnJlbnRQb2ludCgpOwogfQogCiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFV0aWxpdGllcy5oIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1BhdGhVdGlsaXRpZXMuaAppbmRleCA0OTBmZjdjNjYwYzlkOTVmOWYxZTQ1NDM0MWYxMTdm
YTgxMjZkMzc4Li4xMWJiNTNkZjUxYmZlOGI1ZjZiODlkZmEwNGY0NGFlZGJhZmY1NzY3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFV0aWxpdGllcy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdQYXRoVXRpbGl0aWVzLmgKQEAgLTUzLDggKzUzLDggQEAgYm9vbCBj
YW5CbGVuZFNWR1BhdGhCeXRlU3RyZWFtcyhjb25zdCBTVkdQYXRoQnl0ZVN0cmVhbSYgZnJvbSwg
Y29uc3QgU1ZHUGF0aEJ5dGUKIGJvb2wgYnVpbGRBbmltYXRlZFNWR1BhdGhCeXRlU3RyZWFtKGNv
bnN0IFNWR1BhdGhCeXRlU3RyZWFtJiBmcm9tLCBjb25zdCBTVkdQYXRoQnl0ZVN0cmVhbSYgdG8s
IFNWR1BhdGhCeXRlU3RyZWFtJiByZXN1bHQsIGZsb2F0IHByb2dyZXNzKTsKIGJvb2wgYWRkVG9T
VkdQYXRoQnl0ZVN0cmVhbShTVkdQYXRoQnl0ZVN0cmVhbSYgc3RyZWFtVG9BcHBlbmRUbywgY29u
c3QgU1ZHUGF0aEJ5dGVTdHJlYW0mIGZyb20sIHVuc2lnbmVkIHJlcGVhdENvdW50ID0gMSk7CiAK
LWJvb2wgZ2V0U1ZHUGF0aFNlZ0F0TGVuZ3RoRnJvbVNWR1BhdGhCeXRlU3RyZWFtKGNvbnN0IFNW
R1BhdGhCeXRlU3RyZWFtJiwgZmxvYXQgbGVuZ3RoLCB1bnNpZ25lZCYgcGF0aFNlZyk7Ci1ib29s
IGdldFRvdGFsTGVuZ3RoT2ZTVkdQYXRoQnl0ZVN0cmVhbShjb25zdCBTVkdQYXRoQnl0ZVN0cmVh
bSYsIGZsb2F0JiB0b3RhbExlbmd0aCk7Ci1ib29sIGdldFBvaW50QXRMZW5ndGhPZlNWR1BhdGhC
eXRlU3RyZWFtKGNvbnN0IFNWR1BhdGhCeXRlU3RyZWFtJiwgZmxvYXQgbGVuZ3RoLCBGbG9hdFBv
aW50Jik7CitPcHRpb25hbDx1bnNpZ25lZD4gcGF0aFNlZ0F0TGVuZ3RoRnJvbVNWR1BhdGhCeXRl
U3RyZWFtKGNvbnN0IFNWR1BhdGhCeXRlU3RyZWFtJiwgZmxvYXQgbGVuZ3RoKTsKK09wdGlvbmFs
PGZsb2F0PiB0b3RhbExlbmd0aE9mU1ZHUGF0aEJ5dGVTdHJlYW0oY29uc3QgU1ZHUGF0aEJ5dGVT
dHJlYW0mKTsKK09wdGlvbmFsPEZsb2F0UG9pbnQ+IHBvaW50QXRMZW5ndGhPZlNWR1BhdGhCeXRl
U3RyZWFtKGNvbnN0IFNWR1BhdGhCeXRlU3RyZWFtJiwgZmxvYXQgbGVuZ3RoKTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdHRl
cm5FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0dGVybkVsZW1lbnQuaAppbmRl
eCAzNmNkZWZiMGI3NjM0ZGIyN2RkZGVkODE2NjA4YzljMTc2YzFiZTBmLi5lOTJkMzE1MWM5NDBi
OWY1Y2NiMDQ0YTJiNzAyMTE1NzAxZjM0MWRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHUGF0dGVybkVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0dGVy
bkVsZW1lbnQuaApAQCAtMzUsNiArMzUsOCBAQCBzdHJ1Y3QgUGF0dGVybkF0dHJpYnV0ZXM7CiAg
CiBjbGFzcyBTVkdQYXR0ZXJuRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdFbGVtZW50LCBwdWJs
aWMgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgcHVibGljIFNWR0ZpdFRvVmlld0JveCwg
cHVibGljIFNWR1Rlc3RzLCBwdWJsaWMgU1ZHVVJJUmVmZXJlbmNlIHsKICAgICBXVEZfTUFLRV9J
U09fQUxMT0NBVEVEKFNWR1BhdHRlcm5FbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lz
dHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR1BhdHRlcm5FbGVtZW50LCBTVkdFbGVt
ZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBTVkdGaXRUb1ZpZXdCb3gsIFNWR1Rl
c3RzLCBTVkdVUklSZWZlcmVuY2U+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdQYXR0
ZXJuRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCkBA
IC02MSw5ICs2Myw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgU1ZHUGF0dGVybkVsZW1lbnQo
Y29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJl
Z2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR1BhdHRlcm5FbGVtZW50LCBTVkdF
bGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBTVkdGaXRUb1ZpZXdCb3gsIFNW
R1Rlc3RzLCBTVkdVUklSZWZlcmVuY2U+OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkm
IHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0
cnk7IH0KLQogICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNv
bnN0IEF0b21pY1N0cmluZyYpIGZpbmFsOwogICAgIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChj
b25zdCBRdWFsaWZpZWROYW1lJikgZmluYWw7CiAgICAgdm9pZCBjaGlsZHJlbkNoYW5nZWQoY29u
c3QgQ2hpbGRDaGFuZ2UmKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdQb2ludC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BvaW50LmgKaW5kZXggNzc0NDViOWZj
YjFmYjQwYjUxMzk2ZTE5MmU3MzQ1ODZjNjM1NGI1Mi4uYjFmYWY2MTJjMDU2YWRkNTczZjcyMDU0
MzRkNTRhMGU5YmNmMTM5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BvaW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BvaW50LmgKQEAgLTQ0LDYgKzQ0LDE5IEBA
IHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU1ZHUG9pbnQodmFsdWUpKTsK
ICAgICB9CiAKKyAgICBzdGF0aWMgRXhwZWN0ZWQ8UmVmPFNWR1BvaW50PiwgU1ZHUGFyc2luZ0Vy
cm9yPiBjcmVhdGUoY29uc3QgVUNoYXIqJiBwdHIsIGNvbnN0IFVDaGFyKiBlbmQpCisgICAgewor
ICAgICAgICBmbG9hdCB4UG9zID0gMC4wZjsKKyAgICAgICAgaWYgKCFwYXJzZU51bWJlcihwdHIs
IGVuZCwgeFBvcykpCisgICAgICAgICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQoUGFyc2luZ0F0
dHJpYnV0ZUZhaWxlZEVycm9yKTsKKworICAgICAgICBmbG9hdCB5UG9zID0gMC4wZjsKKyAgICAg
ICAgaWYgKCFwYXJzZU51bWJlcihwdHIsIGVuZCwgeVBvcywgZmFsc2UpKQorICAgICAgICAgICAg
cmV0dXJuIG1ha2VVbmV4cGVjdGVkKFBhcnNpbmdBdHRyaWJ1dGVGYWlsZWRFcnJvcik7CisKKyAg
ICAgICAgcmV0dXJuIFNWR1BvaW50OjpjcmVhdGUoeyB4UG9zLCB5UG9zIH0pOworICAgIH0KKwog
ICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CiAgICAgc3RhdGljIEV4Y2VwdGlvbk9yPFJlZjxTVkdQ
b2ludD4+IGNyZWF0ZShFeGNlcHRpb25PcjxUPiYmIHZhbHVlKQogICAgIHsKQEAgLTg4LDcgKzEw
MSw2IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU1ZHUG9pbnQobmV3
UG9pbnQpKTsKICAgICB9CiAKLXByaXZhdGU6CiAgICAgU3RyaW5nIHZhbHVlQXNTdHJpbmcoKSBj
b25zdCBvdmVycmlkZQogICAgIHsKICAgICAgICAgcmV0dXJuIFNWR1Byb3BlcnR5VHJhaXRzPEZs
b2F0UG9pbnQ+Ojp0b1N0cmluZyhtX3ZhbHVlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdQb2ludExpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQb2ludExpc3QuaApp
bmRleCA4YzZjNTBiMGUzYmFjZTUzNmFlNTBlYmIyOGMxYjQ2ZTE1NzQ5ZTgxLi5kYmVjODliZmE4
OTg5ZTQzMjAzNzBlMmNjMDQyNjdiNWNlMjQ3ZjNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHUG9pbnRMaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BvaW50TGlz
dC5oCkBAIC00OSw1NyArNDksNiBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICByZXR1cm4gYWRv
cHRSZWYoKm5ldyBTVkdQb2ludExpc3Qob3RoZXIsIGFjY2VzcykpOwogICAgIH0KLQotICAgIGJv
b2wgcGFyc2UoY29uc3QgU3RyaW5nJiB2YWx1ZSkKLSAgICB7Ci0gICAgICAgIGNsZWFySXRlbXMo
KTsKLQotICAgICAgICBhdXRvIHVwY29udmVydGVkQ2hhcmFjdGVycyA9IFN0cmluZ1ZpZXcodmFs
dWUpLnVwY29udmVydGVkQ2hhcmFjdGVycygpOwotICAgICAgICBjb25zdCBVQ2hhciogY3VyID0g
dXBjb252ZXJ0ZWRDaGFyYWN0ZXJzOwotICAgICAgICBjb25zdCBVQ2hhciogZW5kID0gY3VyICsg
dmFsdWUubGVuZ3RoKCk7Ci0KLSAgICAgICAgc2tpcE9wdGlvbmFsU1ZHU3BhY2VzKGN1ciwgZW5k
KTsKLQotICAgICAgICBib29sIGRlbGltUGFyc2VkID0gZmFsc2U7Ci0gICAgICAgIHdoaWxlIChj
dXIgPCBlbmQpIHsKLSAgICAgICAgICAgIGRlbGltUGFyc2VkID0gZmFsc2U7Ci0gICAgICAgICAg
ICBmbG9hdCB4UG9zID0gMC4wZjsKLSAgICAgICAgICAgIGlmICghcGFyc2VOdW1iZXIoY3VyLCBl
bmQsIHhQb3MpKQotICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgICAgICAgICAg
ZmxvYXQgeVBvcyA9IDAuMGY7Ci0gICAgICAgICAgICBpZiAoIXBhcnNlTnVtYmVyKGN1ciwgZW5k
LCB5UG9zLCBmYWxzZSkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgICAg
ICAgICBza2lwT3B0aW9uYWxTVkdTcGFjZXMoY3VyLCBlbmQpOwotCi0gICAgICAgICAgICBpZiAo
Y3VyIDwgZW5kICYmICpjdXIgPT0gJywnKSB7Ci0gICAgICAgICAgICAgICAgZGVsaW1QYXJzZWQg
PSB0cnVlOwotICAgICAgICAgICAgICAgIGN1cisrOwotICAgICAgICAgICAgfQotICAgICAgICAg
ICAgc2tpcE9wdGlvbmFsU1ZHU3BhY2VzKGN1ciwgZW5kKTsKLQotICAgICAgICAgICAgYXBwZW5k
KFNWR1BvaW50OjpjcmVhdGUoeyB4UG9zLCB5UG9zIH0pKTsKLSAgICAgICAgfQotCi0gICAgICAg
IHJldHVybiAhZGVsaW1QYXJzZWQ7Ci0gICAgfQotCi0gICAgU3RyaW5nIHZhbHVlQXNTdHJpbmco
KSBjb25zdCBvdmVycmlkZQotICAgIHsKLSAgICAgICAgU3RyaW5nQnVpbGRlciBidWlsZGVyOwot
Ci0gICAgICAgIGZvciAoY29uc3QgYXV0byYgcG9pbnQgOiBtX2l0ZW1zKSB7Ci0gICAgICAgICAg
ICBpZiAoYnVpbGRlci5sZW5ndGgoKSkKLSAgICAgICAgICAgICAgICBidWlsZGVyLmFwcGVuZCgn
ICcpOwotCi0gICAgICAgICAgICBidWlsZGVyLmFwcGVuZEZpeGVkUHJlY2lzaW9uTnVtYmVyKHBv
aW50LT54KCkpOwotICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoJyAnKTsKLSAgICAgICAgICAg
IGJ1aWxkZXIuYXBwZW5kRml4ZWRQcmVjaXNpb25OdW1iZXIocG9pbnQtPnkoKSk7Ci0gICAgICAg
IH0KLQotICAgICAgICByZXR1cm4gYnVpbGRlci50b1N0cmluZygpOwotICAgIH0KIH07CiAKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQb2x5RWxlbWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHUG9seUVsZW1lbnQuY3BwCmluZGV4IGMyZmUyZWFhODk3ZDc4YjY5
YjA5NWM2ZGNmMzUwYzI5ZjBmY2JiYjYuLmM5NTUyYzY2YjQ2YjBlYjIxMDYwZjYxYWRjYjgzZWY1
ZDIyMmE5ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQb2x5RWxlbWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BvbHlFbGVtZW50LmNwcApAQCAtNDYsNyAr
NDYsNyBAQCBTVkdQb2x5RWxlbWVudDo6U1ZHUG9seUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFt
ZSYgdGFnTmFtZSwgRG9jdW1lbnQmIGRvY3VtZW50KQogdm9pZCBTVkdQb2x5RWxlbWVudDo6cGFy
c2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbWljU3RyaW5n
JiB2YWx1ZSkKIHsKICAgICBpZiAobmFtZSA9PSBTVkdOYW1lczo6cG9pbnRzQXR0cikgewotICAg
ICAgICBpZiAoIW1fcG9pbnRzLT5iYXNlVmFsKCktPnBhcnNlKHZhbHVlKSkKKyAgICAgICAgaWYg
KG1fcG9pbnRzLT5iYXNlVmFsKCktPnBhcnNlKHZhbHVlKSAhPSBOb0Vycm9yKQogICAgICAgICAg
ICAgZG9jdW1lbnQoKS5hY2Nlc3NTVkdFeHRlbnNpb25zKCkucmVwb3J0RXJyb3IoIlByb2JsZW0g
cGFyc2luZyBwb2ludHM9XCIiICsgdmFsdWUgKyAiXCIiKTsKICAgICAgICAgcmV0dXJuOwogICAg
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQb2x5RWxlbWVudC5oIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1BvbHlFbGVtZW50LmgKaW5kZXggNjcyMjQ5MDNlZjYzMTBlMmJk
MmIxNzkxMjE4OTYzNDQ1OWQyNWYyYi4uZjIyNjgxOWMwNWI2MzUzZTU0YTg1NDU1ZjY2YjQzOWJk
NTBiM2RlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BvbHlFbGVtZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BvbHlFbGVtZW50LmgKQEAgLTI5LDYgKzI5LDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTVkdQb2x5RWxlbWVudCA6IHB1YmxpYyBT
VkdHZW9tZXRyeUVsZW1lbnQsIHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkIHsK
ICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR1BvbHlFbGVtZW50KTsKKyAgICB1c2luZyBQ
cm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR1BvbHlFbGVtZW50
LCBTVkdHZW9tZXRyeUVsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ+OworCiBw
dWJsaWM6CiAgICAgY29uc3QgU1ZHUG9pbnRMaXN0JiBwb2ludHMoKSBjb25zdCB7IHJldHVybiBt
X3BvaW50cy0+Y3VycmVudFZhbHVlKCk7IH0KIApAQCAtNDEsOSArNDMsNyBAQCBwcm90ZWN0ZWQ6
CiAgICAgU1ZHUG9seUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAK
IHByaXZhdGU6Ci0gICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJS
ZWdpc3RyeTxTVkdQb2x5RWxlbWVudCwgU1ZHR2VvbWV0cnlFbGVtZW50LCBTVkdFeHRlcm5hbFJl
c291cmNlc1JlcXVpcmVkPjsKICAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0
eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9Ci0K
ICAgICB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9t
aWNTdHJpbmcmKSBvdmVycmlkZTsgCiAgICAgdm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0
IFF1YWxpZmllZE5hbWUmKSBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1ByZXNlcnZlQXNwZWN0UmF0aW9WYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHUHJlc2VydmVBc3BlY3RSYXRpb1ZhbHVlLmNwcAppbmRleCBkMGJjNzE2NjIwZjdhOGE1MWVj
NjM0YWY3YmU5NGJiZjUxMDFlNzU1Li43ZTQ0NmUyY2FmMDU2ZjczMThhZGZhOGM5MmVjZDlhYTc1
NjlmNWVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUHJlc2VydmVBc3BlY3RS
YXRpb1ZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUHJlc2VydmVBc3BlY3RS
YXRpb1ZhbHVlLmNwcApAQCAtNTgsMTEgKzU4LDExIEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IFNWR1By
ZXNlcnZlQXNwZWN0UmF0aW9WYWx1ZTo6c2V0TWVldE9yU2xpY2UodW5zaWduZWQgc2hvcnQgbWVl
CiAgICAgcmV0dXJuIHsgfTsKIH0KIAotdm9pZCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVmFsdWU6
OnBhcnNlKGNvbnN0IFN0cmluZyYgdmFsdWUpCitib29sIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW9W
YWx1ZTo6cGFyc2UoY29uc3QgU3RyaW5nJiB2YWx1ZSkKIHsKICAgICBhdXRvIHVwY29udmVydGVk
Q2hhcmFjdGVycyA9IFN0cmluZ1ZpZXcodmFsdWUpLnVwY29udmVydGVkQ2hhcmFjdGVycygpOwog
ICAgIGNvbnN0IFVDaGFyKiBiZWdpbiA9IHVwY29udmVydGVkQ2hhcmFjdGVyczsKLSAgICBwYXJz
ZUludGVybmFsKGJlZ2luLCBiZWdpbiArIHZhbHVlLmxlbmd0aCgpLCB0cnVlKTsKKyAgICByZXR1
cm4gcGFyc2VJbnRlcm5hbChiZWdpbiwgYmVnaW4gKyB2YWx1ZS5sZW5ndGgoKSwgdHJ1ZSk7CiB9
CiAKIGJvb2wgU1ZHUHJlc2VydmVBc3BlY3RSYXRpb1ZhbHVlOjpwYXJzZShjb25zdCBVQ2hhciom
IGN1cnJQYXJhbSwgY29uc3QgVUNoYXIqIGVuZCwgYm9vbCB2YWxpZGF0ZSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVmFsdWUuaCBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVmFsdWUuaAppbmRleCA0MTViODcy
M2Y4ZDMwODY0YzFiM2ZkNzg4Y2MzYjk4OWJhZDdlZjljLi5mMmQ2MDk2YTMzNjg0N2EwNjBiZDk2
YWFmZTIyNjA0ZDIzYzg5MzZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUHJl
c2VydmVBc3BlY3RSYXRpb1ZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ByZXNl
cnZlQXNwZWN0UmF0aW9WYWx1ZS5oCkBAIC02NCw3ICs2NCw3IEBAIHB1YmxpYzoKIAogICAgIEFm
ZmluZVRyYW5zZm9ybSBnZXRDVE0oZmxvYXQgbG9naWNhbFgsIGZsb2F0IGxvZ2ljYWxZLCBmbG9h
dCBsb2dpY2FsV2lkdGgsIGZsb2F0IGxvZ2ljYWxIZWlnaHQsIGZsb2F0IHBoeXNpY2FsV2lkdGgs
IGZsb2F0IHBoeXNpY2FsSGVpZ2h0KSBjb25zdDsKIAotICAgIHZvaWQgcGFyc2UoY29uc3QgU3Ry
aW5nJik7CisgICAgYm9vbCBwYXJzZShjb25zdCBTdHJpbmcmKTsKICAgICBib29sIHBhcnNlKGNv
bnN0IFVDaGFyKiYgY3VyclBhcmFtLCBjb25zdCBVQ2hhciogZW5kLCBib29sIHZhbGlkYXRlKTsK
IAogICAgIFN0cmluZyB2YWx1ZUFzU3RyaW5nKCkgY29uc3Q7CkBAIC03NiwxMSArNzYsNCBAQCBw
cml2YXRlOgogICAgIGJvb2wgcGFyc2VJbnRlcm5hbChjb25zdCBVQ2hhciomIGN1cnJQYXJhbSwg
Y29uc3QgVUNoYXIqIGVuZCwgYm9vbCB2YWxpZGF0ZSk7CiB9OwogCi10ZW1wbGF0ZTw+IHN0cnVj
dCBTVkdQcm9wZXJ0eVRyYWl0czxTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVmFsdWU+IHsKLSAgICBz
dGF0aWMgU1ZHUHJlc2VydmVBc3BlY3RSYXRpb1ZhbHVlIGluaXRpYWxWYWx1ZSgpIHsgcmV0dXJu
IFNWR1ByZXNlcnZlQXNwZWN0UmF0aW9WYWx1ZSgpOyB9Ci0gICAgc3RhdGljIFNWR1ByZXNlcnZl
QXNwZWN0UmF0aW9WYWx1ZSBmcm9tU3RyaW5nKGNvbnN0IFN0cmluZyYgc3RyaW5nKSB7IHJldHVy
biBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVmFsdWUoc3RyaW5nKTsgfQotICAgIHN0YXRpYyBPcHRp
b25hbDxTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVmFsdWU+IHBhcnNlKGNvbnN0IFF1YWxpZmllZE5h
bWUmLCBjb25zdCBTdHJpbmcmKSB7IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyByZXR1cm4gaW5pdGlh
bFZhbHVlKCk7IH0KLSAgICBzdGF0aWMgU3RyaW5nIHRvU3RyaW5nKGNvbnN0IFNWR1ByZXNlcnZl
QXNwZWN0UmF0aW9WYWx1ZSYgdHlwZSkgeyByZXR1cm4gdHlwZS52YWx1ZUFzU3RyaW5nKCk7IH0K
LX07Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdS
YWRpYWxHcmFkaWVudEVsZW1lbnQuaAppbmRleCBiODhhMzVhNDMyOGFmOGM2NjQwZjIyZWRhNjE0
ZjkxZWJmZTZhNTk3Li41MWJiODRjZDZmMGMxMmM3MWZmNzMwN2QxZWM2NmIyM2U4Mzg1NGI5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1JhZGlhbEdyYWRpZW50RWxlbWVudC5oCkBAIC0z
MCw2ICszMCw4IEBAIHN0cnVjdCBSYWRpYWxHcmFkaWVudEF0dHJpYnV0ZXM7CiAKIGNsYXNzIFNW
R1JhZGlhbEdyYWRpZW50RWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdHcmFkaWVudEVsZW1lbnQg
ewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50KTsK
KyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNW
R1JhZGlhbEdyYWRpZW50RWxlbWVudCwgU1ZHR3JhZGllbnRFbGVtZW50PjsKKwogcHVibGljOgog
ICAgIHN0YXRpYyBSZWY8U1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVh
bGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKQEAgLTUyLDkgKzU0LDcgQEAgcHVibGljOgogcHJp
dmF0ZToKICAgICBTVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYs
IERvY3VtZW50Jik7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlP
d25lclJlZ2lzdHJ5PFNWR1JhZGlhbEdyYWRpZW50RWxlbWVudCwgU1ZHR3JhZGllbnRFbGVtZW50
PjsKICAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29u
c3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9Ci0KICAgICB2b2lkIHBhcnNl
QXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKSBvdmVy
cmlkZTsKICAgICB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYp
IG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUmVjdEVsZW1l
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdSZWN0RWxlbWVudC5oCmluZGV4IGMzOTJlMWUy
ZTVjNmU0OTdkZDdjODlmMmIzNzA5Y2JmNzU3NzYwNTYuLjgwNDYwODI5ODE3Yzc3ZDYzNjhjZDQw
MGQwMTc4ZGI2ZWVlMGUzMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdSZWN0
RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdSZWN0RWxlbWVudC5oCkBAIC0y
OSw2ICsyOSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU1ZHUmVjdEVsZW1lbnQg
ZmluYWwgOiBwdWJsaWMgU1ZHR2VvbWV0cnlFbGVtZW50LCBwdWJsaWMgU1ZHRXh0ZXJuYWxSZXNv
dXJjZXNSZXF1aXJlZCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdSZWN0RWxlbWVu
dCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3Ry
eTxTVkdSZWN0RWxlbWVudCwgU1ZHR2VvbWV0cnlFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNl
c1JlcXVpcmVkPjsKKwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8U1ZHUmVjdEVsZW1lbnQ+IGNy
ZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIApAQCAtNDksOSArNTEsNyBA
QCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFNWR1JlY3RFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5h
bWUmLCBEb2N1bWVudCYpOwogCi0gICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3Bl
cnR5T3duZXJSZWdpc3RyeTxTVkdSZWN0RWxlbWVudCwgU1ZHR2VvbWV0cnlFbGVtZW50LCBTVkdF
eHRlcm5hbFJlc291cmNlc1JlcXVpcmVkPjsKICAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5
JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lz
dHJ5OyB9Ci0KICAgICB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBj
b25zdCBBdG9taWNTdHJpbmcmKSBmaW5hbDsKICAgICB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQo
Y29uc3QgUXVhbGlmaWVkTmFtZSYpIGZpbmFsOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHU1ZHRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU1ZHRWxlbWVu
dC5jcHAKaW5kZXggOWJmMDM0MjMzMmFlYjQ0ZGNkYjQ5YmE5NDMyYjExY2JjZTAyNmJhYS4uYjdm
YzdmZDQzODUwNzE5NWI0NzNjOTYxNzViMDdiMThmM2Q3YTg5OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdTVkdFbGVtZW50LmNwcApAQCAtMjUyLDEyICsyNTIsMTYgQEAgdm9pZCBTVkdTVkdFbGVtZW50
OjpwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9taWNT
dHJpbmcKICAgICAgICAgbV9oZWlnaHQtPnNldEJhc2VWYWxJbnRlcm5hbChsZW5ndGgpOwogICAg
IH0KIAotICAgIHJlcG9ydEF0dHJpYnV0ZVBhcnNpbmdFcnJvcihwYXJzZUVycm9yLCBuYW1lLCB2
YWx1ZSk7Ci0KICAgICBTVkdHcmFwaGljc0VsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKG5hbWUsIHZh
bHVlKTsKICAgICBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkOjpwYXJzZUF0dHJpYnV0ZShu
YW1lLCB2YWx1ZSk7Ci0gICAgU1ZHRml0VG9WaWV3Qm94OjpwYXJzZUF0dHJpYnV0ZShuYW1lLCB2
YWx1ZSk7Ci0gICAgU1ZHWm9vbUFuZFBhbjo6cGFyc2VBdHRyaWJ1dGUobmFtZSwgdmFsdWUpOwor
CisgICAgaWYgKGF1dG8gZXJyb3IgPSBTVkdGaXRUb1ZpZXdCb3g6OnBhcnNlQXR0cmlidXRlKG5h
bWUsIHZhbHVlKSkKKyAgICAgICAgcGFyc2VFcnJvciA9ICplcnJvcjsKKyAgICAKKyAgICBpZiAo
YXV0byBlcnJvciA9IFNWR1pvb21BbmRQYW46OnBhcnNlQXR0cmlidXRlKG5hbWUsIHZhbHVlKSkK
KyAgICAgICAgcGFyc2VFcnJvciA9ICplcnJvcjsKKworICAgIHJlcG9ydEF0dHJpYnV0ZVBhcnNp
bmdFcnJvcihwYXJzZUVycm9yLCBuYW1lLCB2YWx1ZSk7CiB9CiAKIHZvaWQgU1ZHU1ZHRWxlbWVu
dDo6c3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSkKQEAg
LTY1MSw3ICs2NTUsNyBAQCBib29sIFNWR1NWR0VsZW1lbnQ6OnNjcm9sbFRvRnJhZ21lbnQoY29u
c3QgU3RyaW5nJiBmcmFnbWVudElkZW50aWZpZXIpCiAgICAgaWYgKGZyYWdtZW50SWRlbnRpZmll
ci5zdGFydHNXaXRoKCJzdmdWaWV3KCIpKSB7CiAgICAgICAgIGlmICghdmlldykKICAgICAgICAg
ICAgIHZpZXcgPSAmY3VycmVudFZpZXcoKTsgLy8gQ3JlYXRlIHRoZSBTVkdWaWV3U3BlYy4KLSAg
ICAgICAgaWYgKHZpZXctPnBhcnNlVmlld1NwZWMoZnJhZ21lbnRJZGVudGlmaWVyKSkKKyAgICAg
ICAgaWYgKHZpZXctPnBhcnNlVmlld1NwZWMoZnJhZ21lbnRJZGVudGlmaWVyKSA9PSBOb0Vycm9y
KQogICAgICAgICAgICAgbV91c2VDdXJyZW50VmlldyA9IHRydWU7CiAgICAgICAgIGVsc2UKICAg
ICAgICAgICAgIHZpZXctPnJlc2V0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHU1ZHRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQuaAppbmRl
eCA5NjBmODVhZGEwYWZlZTU4YWNjYjAwYzQxZTBiNDRmZTdiNjc5OGUxLi42OTk4MmQ0YWJjOWIw
YTZmNWNjZjM5NTE3Y2ZiMjRlYmZiNTUzOWIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHU1ZHRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50
LmgKQEAgLTQwLDYgKzQwLDggQEAgY2xhc3MgU1ZHVmlld1NwZWM7CiAKIGNsYXNzIFNWR1NWR0Vs
ZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHR3JhcGhpY3NFbGVtZW50LCBwdWJsaWMgU1ZHRXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZCwgcHVibGljIFNWR0ZpdFRvVmlld0JveCwgcHVibGljIFNWR1pv
b21BbmRQYW4gewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHU1ZHRWxlbWVudCk7Cisg
ICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdT
VkdFbGVtZW50LCBTVkdHcmFwaGljc0VsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWly
ZWQsIFNWR0ZpdFRvVmlld0JveD47CisKIHB1YmxpYzogLy8gRE9NCiAgICAgY29uc3QgQXRvbWlj
U3RyaW5nJiBjb250ZW50U2NyaXB0VHlwZSgpIGNvbnN0OwogICAgIHZvaWQgc2V0Q29udGVudFNj
cmlwdFR5cGUoY29uc3QgQXRvbWljU3RyaW5nJik7CkBAIC0xMzEsMTEgKzEzMywxMCBAQCBwcml2
YXRlOgogICAgIFNWR1NWR0VsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7
CiAgICAgdmlydHVhbCB+U1ZHU1ZHRWxlbWVudCgpOwogCi0gICAgdXNpbmcgUHJvcGVydHlSZWdp
c3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdTVkdFbGVtZW50LCBTVkdHcmFwaGlj
c0VsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIFNWR0ZpdFRvVmlld0JveD47
CiAgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0
IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQotICAgIAogICAgIHZvaWQgcGFy
c2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYpIG92
ZXJyaWRlOwogICAgIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1l
Jikgb3ZlcnJpZGU7CisKICAgICBib29sIHNlbGZIYXNSZWxhdGl2ZUxlbmd0aHMoKSBjb25zdCBv
dmVycmlkZTsKICAgICBib29sIGlzVmFsaWQoKSBjb25zdCBvdmVycmlkZTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NjcmlwdEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdTY3JpcHRFbGVtZW50LmgKaW5kZXggZjE1ZjNiN2NmNmY5M2FmMTQ4ZDUwMzJhMTBk
ZDJiMDE2N2FmYWJhZi4uMGEyNmVhODNjNTgzY2U1ZWNhZmQ5MjI3NGI5ZjRkYmE4YjFhNWVmMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NjcmlwdEVsZW1lbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHU2NyaXB0RWxlbWVudC5oCkBAIC0zMSw2ICszMSw4IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU1ZHU2NyaXB0RWxlbWVudCBmaW5hbCA6IHB1Ymxp
YyBTVkdFbGVtZW50LCBwdWJsaWMgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgcHVibGlj
IFNWR1VSSVJlZmVyZW5jZSwgcHVibGljIFNjcmlwdEVsZW1lbnQgewogICAgIFdURl9NQUtFX0lT
T19BTExPQ0FURUQoU1ZHU2NyaXB0RWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3Ry
eSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdTY3JpcHRFbGVtZW50LCBTVkdFbGVtZW50
LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBTVkdVUklSZWZlcmVuY2U+OworCiBwdWJs
aWM6CiAgICAgc3RhdGljIFJlZjxTVkdTY3JpcHRFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlm
aWVkTmFtZSYsIERvY3VtZW50JiwgYm9vbCB3YXNJbnNlcnRlZEJ5UGFyc2VyKTsKIApAQCAtNDAs
OSArNDIsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFNWR1NjcmlwdEVsZW1lbnQoY29uc3Qg
UXVhbGlmaWVkTmFtZSYsIERvY3VtZW50JiwgYm9vbCB3YXNJbnNlcnRlZEJ5UGFyc2VyLCBib29s
IGFscmVhZHlTdGFydGVkKTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9w
ZXJ0eU93bmVyUmVnaXN0cnk8U1ZHU2NyaXB0RWxlbWVudCwgU1ZHRWxlbWVudCwgU1ZHRXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZCwgU1ZHVVJJUmVmZXJlbmNlPjsKICAgICBjb25zdCBTVkdQcm9w
ZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9w
cm9wZXJ0eVJlZ2lzdHJ5OyB9Ci0KICAgICB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxp
ZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKSBmaW5hbDsKICAgICB2b2lkIHN2Z0F0dHJp
YnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYpIGZpbmFsOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHU3RvcEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdTdG9wRWxlbWVudC5oCmluZGV4IDgxMDRmYmJkN2Y2Y2ZjZGI3M2M2MGQzNzAzZDRlZTY2ODc0
MWEzMGEuLmI4YzRjMDZjNDM3NWJmNTgyZDE3YmYzMjMyMzlhNzhjODE1ZmYzOWIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTdG9wRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdTdG9wRWxlbWVudC5oCkBAIC0yNyw2ICsyNyw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgU1ZHU3RvcEVsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHRWxlbWVudCB7
CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdTdG9wRWxlbWVudCk7CisgICAgdXNpbmcg
UHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdTdG9wRWxlbWVu
dCwgU1ZHRWxlbWVudD47CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR1N0b3BFbGVtZW50
PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKQEAgLTM4LDkgKzQw
LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBTVkdTdG9wRWxlbWVudChjb25zdCBRdWFsaWZp
ZWROYW1lJiwgRG9jdW1lbnQmKTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQ
cm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHU3RvcEVsZW1lbnQsIFNWR0VsZW1lbnQ+OwogICAgIGNv
bnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7
IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KLQogICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUo
Y29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYpIGZpbmFsOwogICAgIHZv
aWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJikgZmluYWw7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTdHJpbmdMaXN0LmggYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHU3RyaW5nTGlzdC5oCmluZGV4IGQxZTAxMDY5YjEyYzdlOTA2MDJhZjAwMmZl
MjkzYzQwZDRiNzBlYzUuLjM1MGU4YTgxMzU3MDFiMjFiMWMxNmNjNGMyNjMyZGRjZmI4Njc4YjAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTdHJpbmdMaXN0LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1N0cmluZ0xpc3QuaApAQCAtMjUsNyArMjUsNiBAQAogCiAjcHJh
Z21hIG9uY2UKIAotI2luY2x1ZGUgIlNWR1BhcnNlclV0aWxpdGllcy5oIgogI2luY2x1ZGUgIlNW
R1ByaW1pdGl2ZUxpc3QuaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAK
QEAgLTQyLDQ3ICs0MSwxNSBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3
IFNWR1N0cmluZ0xpc3Qob3duZXIpKTsKICAgICB9CiAKLSAgICB2b2lkIHJlc2V0KGNvbnN0IFN0
cmluZyYgc3RyaW5nKQorICAgIFNWR1BhcnNpbmdFcnJvciBwYXJzZShjb25zdCBTdHJpbmcmIHN0
cmluZykKICAgICB7Ci0gICAgICAgIHBhcnNlKHN0cmluZywgJyAnKTsKKyAgICAgICAgU1ZHUGFy
c2luZ0Vycm9yIGVycm9yID0gQmFzZTo6cGFyc2Uoc3RyaW5nKTsKIAogICAgICAgICAvLyBBZGQg
ZW1wdHkgc3RyaW5nLCBpZiBsaXN0IGlzIGVtcHR5LgogICAgICAgICBpZiAobV9pdGVtcy5pc0Vt
cHR5KCkpCiAgICAgICAgICAgICBtX2l0ZW1zLmFwcGVuZChlbXB0eVN0cmluZygpKTsKLSAgICB9
Ci0KLSAgICBib29sIHBhcnNlKGNvbnN0IFN0cmluZyYgZGF0YSwgVUNoYXIgZGVsaW1pdGVyKQot
ICAgIHsKLSAgICAgICAgY2xlYXJJdGVtcygpOwotCi0gICAgICAgIGF1dG8gdXBjb252ZXJ0ZWRD
aGFyYWN0ZXJzID0gU3RyaW5nVmlldyhkYXRhKS51cGNvbnZlcnRlZENoYXJhY3RlcnMoKTsKLSAg
ICAgICAgY29uc3QgVUNoYXIqIHB0ciA9IHVwY29udmVydGVkQ2hhcmFjdGVyczsKLSAgICAgICAg
Y29uc3QgVUNoYXIqIGVuZCA9IHB0ciArIGRhdGEubGVuZ3RoKCk7Ci0gICAgICAgIHdoaWxlIChw
dHIgPCBlbmQpIHsKLSAgICAgICAgICAgIGNvbnN0IFVDaGFyKiBzdGFydCA9IHB0cjsKLSAgICAg
ICAgICAgIHdoaWxlIChwdHIgPCBlbmQgJiYgKnB0ciAhPSBkZWxpbWl0ZXIgJiYgIWlzU1ZHU3Bh
Y2UoKnB0cikpCi0gICAgICAgICAgICAgICAgcHRyKys7Ci0gICAgICAgICAgICBpZiAocHRyID09
IHN0YXJ0KQotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgbV9pdGVtcy5hcHBl
bmQoU3RyaW5nKHN0YXJ0LCBwdHIgLSBzdGFydCkpOwotICAgICAgICAgICAgc2tpcE9wdGlvbmFs
U1ZHU3BhY2VzT3JEZWxpbWl0ZXIocHRyLCBlbmQsIGRlbGltaXRlcik7Ci0gICAgICAgIH0KLQot
ICAgICAgICByZXR1cm4gcHRyID09IGVuZDsKLSAgICB9Ci0KLSAgICBTdHJpbmcgdmFsdWVBc1N0
cmluZygpIGNvbnN0IG92ZXJyaWRlCi0gICAgewotICAgICAgICBTdHJpbmdCdWlsZGVyIGJ1aWxk
ZXI7Ci0KLSAgICAgICAgZm9yIChhdXRvIHN0cmluZyA6IG1faXRlbXMpIHsKLSAgICAgICAgICAg
IGlmIChidWlsZGVyLmxlbmd0aCgpKQotICAgICAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCcg
Jyk7Ci0KLSAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKHN0cmluZyk7Ci0gICAgICAgIH0KLQot
ICAgICAgICByZXR1cm4gYnVpbGRlci50b1N0cmluZygpOworICAgICAgICAKKyAgICAgICAgcmV0
dXJuIGVycm9yOwogICAgIH0KIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdTdHlsZUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTdHlsZUVsZW1lbnQuaApp
bmRleCA0MWE5MzdlZDE5ZTg0OWU1NDAzYTQxNzRmNjM5MDM0NzM1ZmUzNDYyLi5jMTgwZTBjNWVm
ODE1OTJjZmE0MzA5NDBiZjhjYWNhMzhmN2RlMjFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHU3R5bGVFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N0eWxl
RWxlbWVudC5oCkBAIC0yOCw2ICsyOCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3Mg
U1ZHU3R5bGVFbGVtZW50IGZpbmFsIDogcHVibGljIFNWR0VsZW1lbnQgewogICAgIFdURl9NQUtF
X0lTT19BTExPQ0FURUQoU1ZHU3R5bGVFbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lz
dHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR1N0eWxlRWxlbWVudCwgU1ZHRWxlbWVu
dD47CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR1N0eWxlRWxlbWVudD4gY3JlYXRlKGNv
bnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYsIGJvb2wgY3JlYXRlZEJ5UGFyc2VyKTsKICAg
ICB2aXJ0dWFsIH5TVkdTdHlsZUVsZW1lbnQoKTsKQEAgLTQ2LDYgKzQ4LDcgQEAgcHVibGljOgog
cHJpdmF0ZToKICAgICBTVkdTdHlsZUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3Vt
ZW50JiwgYm9vbCBjcmVhdGVkQnlQYXJzZXIpOwogCisgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdp
c3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlS
ZWdpc3RyeTsgfQogICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYs
IGNvbnN0IEF0b21pY1N0cmluZyYpIGZpbmFsOwogICAgIEluc2VydGVkSW50b0FuY2VzdG9yUmVz
dWx0IGluc2VydGVkSW50b0FuY2VzdG9yKEluc2VydGlvblR5cGUsIENvbnRhaW5lck5vZGUmKSBm
aW5hbDsKICAgICB2b2lkIHJlbW92ZWRGcm9tQW5jZXN0b3IoUmVtb3ZhbFR5cGUsIENvbnRhaW5l
ck5vZGUmKSBmaW5hbDsKQEAgLTYyLDYgKzY1LDcgQEAgcHJpdmF0ZToKIAogICAgIFN0cmluZyB0
aXRsZSgpIGNvbnN0IGZpbmFsOwogCisgICAgUHJvcGVydHlSZWdpc3RyeSBtX3Byb3BlcnR5UmVn
aXN0cnkgeyAqdGhpcyB9OwogICAgIElubGluZVN0eWxlU2hlZXRPd25lciBtX3N0eWxlU2hlZXRP
d25lcjsKICAgICBUaW1lciBtX3N2Z0xvYWRFdmVudFRpbWVyOwogfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdTd2l0Y2hFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHU3dpdGNoRWxlbWVudC5oCmluZGV4IDNkMTRhNGZhZmZhMTRlNzQxYWI5OTZhMzgyODFmNDI3
MGE3NWUyODQuLjhkZjFkMmQwYzliNjhjMjRlOWY3N2ZjYzc0ZGYyYWI1YTMyZmEyYWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTd2l0Y2hFbGVtZW50LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1N3aXRjaEVsZW1lbnQuaApAQCAtMjgsMTMgKzI4LDE0IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU1ZHU3dpdGNoRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBT
VkdHcmFwaGljc0VsZW1lbnQsIHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkIHsK
ICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR1N3aXRjaEVsZW1lbnQpOworICAgIHVzaW5n
IFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHU3dpdGNoRWxl
bWVudCwgU1ZHR3JhcGhpY3NFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkPjsK
KwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8U1ZHU3dpdGNoRWxlbWVudD4gY3JlYXRlKGNvbnN0
IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCiBwcml2YXRlOgogICAgIFNWR1N3aXRjaEVs
ZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKLSAgICB1c2luZyBQcm9w
ZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR1N3aXRjaEVsZW1lbnQs
IFNWR0dyYXBoaWNzRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZD47CiAgICAg
Y29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFs
IHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQogCiAgICAgYm9vbCBpc1ZhbGlkKCkgY29u
c3QgZmluYWwgeyByZXR1cm4gU1ZHVGVzdHM6OmlzVmFsaWQoKTsgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1N5bWJvbEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdTeW1ib2xFbGVtZW50LmgKaW5kZXggOGM0YWZkZWRjOWMyYmIwZmZhMmVmMGVjZjM4MDZkM2Mz
ZjQ4M2I3Ni4uZTIxZDUwNzUyZDA3NjZmNGUwNWYzMjU3NGE4NzBhYWJjOGY5MGY4NiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N5bWJvbEVsZW1lbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHU3ltYm9sRWxlbWVudC5oCkBAIC0yOSwxNyArMjksMTggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBjbGFzcyBTVkdTeW1ib2xFbGVtZW50IGZpbmFsIDogcHVibGljIFNW
R0VsZW1lbnQsIHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBwdWJsaWMgU1ZH
Rml0VG9WaWV3Qm94IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR1N5bWJvbEVsZW1l
bnQpOworICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0
cnk8U1ZHU3ltYm9sRWxlbWVudCwgU1ZHRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1
aXJlZCwgU1ZHRml0VG9WaWV3Qm94PjsKKwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8U1ZHU3lt
Ym9sRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCiBw
cml2YXRlOgogICAgIFNWR1N5bWJvbEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3Vt
ZW50Jik7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJl
Z2lzdHJ5PFNWR1N5bWJvbEVsZW1lbnQsIFNWR0VsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2Vz
UmVxdWlyZWQsIFNWR0ZpdFRvVmlld0JveD47CiAgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3Ry
eSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdp
c3RyeTsgfQotCiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwg
Y29uc3QgQXRvbWljU3RyaW5nJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBzdmdBdHRyaWJ1dGVDaGFu
Z2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBvdmVycmlkZTsKKwogICAgIFJlbmRlclB0cjxSZW5k
ZXJFbGVtZW50PiBjcmVhdGVFbGVtZW50UmVuZGVyZXIoUmVuZGVyU3R5bGUmJiwgY29uc3QgUmVu
ZGVyVHJlZVBvc2l0aW9uJikgb3ZlcnJpZGU7CiAKICAgICBib29sIHNlbGZIYXNSZWxhdGl2ZUxl
bmd0aHMoKSBjb25zdCBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdUUmVmRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RSZWZFbGVtZW50LmgKaW5k
ZXggOGU4MTZmNTQ2OWJjZWM4YjlmNTMwODA0MDhhZTYzNDdhNmMwNjEzYy4uOTBkMGJkMjI5ZmU1
YTNmOWU2NWY1YzMwZTNlY2ZlNGMzN2JhZTRiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1RSZWZFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RSZWZFbGVt
ZW50LmgKQEAgLTMwLDYgKzMwLDggQEAgY2xhc3MgU1ZHVFJlZlRhcmdldEV2ZW50TGlzdGVuZXI7
CiAKIGNsYXNzIFNWR1RSZWZFbGVtZW50IGZpbmFsIDogcHVibGljIFNWR1RleHRQb3NpdGlvbmlu
Z0VsZW1lbnQsIHB1YmxpYyBTVkdVUklSZWZlcmVuY2UgewogICAgIFdURl9NQUtFX0lTT19BTExP
Q0FURUQoU1ZHVFJlZkVsZW1lbnQpOworICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQ
cm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHVFJlZkVsZW1lbnQsIFNWR1RleHRQb3NpdGlvbmluZ0Vs
ZW1lbnQsIFNWR1VSSVJlZmVyZW5jZT47CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR1RS
ZWZFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKQEAg
LTM5LDkgKzQxLDcgQEAgcHJpdmF0ZToKICAgICBTVkdUUmVmRWxlbWVudChjb25zdCBRdWFsaWZp
ZWROYW1lJiwgRG9jdW1lbnQmKTsKICAgICB2aXJ0dWFsIH5TVkdUUmVmRWxlbWVudCgpOwogCi0g
ICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdU
UmVmRWxlbWVudCwgU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudCwgU1ZHVVJJUmVmZXJlbmNlPjsK
ICAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3Qg
ZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9Ci0KICAgICB2b2lkIHBhcnNlQXR0
cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKSBvdmVycmlk
ZTsKICAgICB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYpIG92
ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVFNwYW5FbGVtZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVFNwYW5FbGVtZW50LmgKaW5kZXggNWIyMmVhMDJj
OGE0NWE1MjYyYWMwMmVjNDlhYjg4NzgwOWNmZjNjZC4uZWEzYzFmMTFjYzE1M2UwNjdjZDgzM2Q1
MTMzM2FlY2IwYTNlNDQyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RTcGFu
RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUU3BhbkVsZW1lbnQuaApAQCAt
MjYsMTUgKzI2LDIwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU1ZHVFNwYW5FbGVt
ZW50IGZpbmFsIDogcHVibGljIFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQgewogICAgIFdURl9N
QUtFX0lTT19BTExPQ0FURUQoU1ZHVFNwYW5FbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJl
Z2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR1RTcGFuRWxlbWVudCwgU1ZHVGV4
dFBvc2l0aW9uaW5nRWxlbWVudD47CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR1RTcGFu
RWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCiBwcml2
YXRlOgogICAgIFNWR1RTcGFuRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQm
KTsKLSAgICAgICAgICAgIAorCisgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVy
dHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQog
ICAgIFJlbmRlclB0cjxSZW5kZXJFbGVtZW50PiBjcmVhdGVFbGVtZW50UmVuZGVyZXIoUmVuZGVy
U3R5bGUmJiwgY29uc3QgUmVuZGVyVHJlZVBvc2l0aW9uJikgb3ZlcnJpZGU7CiAgICAgYm9vbCBj
aGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNvbnN0IE5vZGUmKSBjb25zdCBvdmVycmlkZTsKICAg
ICBib29sIHJlbmRlcmVySXNOZWVkZWQoY29uc3QgUmVuZGVyU3R5bGUmKSBvdmVycmlkZTsKKwor
ICAgIFByb3BlcnR5UmVnaXN0cnkgbV9wcm9wZXJ0eVJlZ2lzdHJ5IHsgKnRoaXMgfTsKIH07CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdUZXN0cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGVzdHMuY3BwCmluZGV4IDQ1NTIz
MDQ0Zjg0MDY2ZmUwMjJjMDNkMTU5NWU4ZjMyYTlmN2MwZDUuLjliYzcwMDE5YzE3MzQ4ZTg4MGUx
NDMwZWVhNjM0MjVlYjZlYzQwY2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdU
ZXN0cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Rlc3RzLmNwcApAQCAtMTUwLDEx
ICsxNTAsMTEgQEAgYm9vbCBTVkdUZXN0czo6aXNWYWxpZCgpIGNvbnN0CiB2b2lkIFNWR1Rlc3Rz
OjpwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyaWJ1dGVOYW1lLCBjb25z
dCBBdG9taWNTdHJpbmcmIHZhbHVlKQogewogICAgIGlmIChhdHRyaWJ1dGVOYW1lID09IHJlcXVp
cmVkRmVhdHVyZXNBdHRyKQotICAgICAgICBtX3JlcXVpcmVkRmVhdHVyZXMtPnJlc2V0KHZhbHVl
KTsKKyAgICAgICAgbV9yZXF1aXJlZEZlYXR1cmVzLT5wYXJzZSh2YWx1ZSk7CiAgICAgaWYgKGF0
dHJpYnV0ZU5hbWUgPT0gcmVxdWlyZWRFeHRlbnNpb25zQXR0cikKLSAgICAgICAgbV9yZXF1aXJl
ZEV4dGVuc2lvbnMtPnJlc2V0KHZhbHVlKTsKKyAgICAgICAgbV9yZXF1aXJlZEV4dGVuc2lvbnMt
PnBhcnNlKHZhbHVlKTsKICAgICBpZiAoYXR0cmlidXRlTmFtZSA9PSBzeXN0ZW1MYW5ndWFnZUF0
dHIpCi0gICAgICAgIG1fc3lzdGVtTGFuZ3VhZ2UtPnJlc2V0KHZhbHVlKTsKKyAgICAgICAgbV9z
eXN0ZW1MYW5ndWFnZS0+cGFyc2UodmFsdWUpOwogfQogCiB2b2lkIFNWR1Rlc3RzOjpzdmdBdHRy
aWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1Rlc3RzLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGVz
dHMuaAppbmRleCA0NDkyNzBkOWY5ZDBmODk3ZGRmZjllN2MxNWNjZWIwODA2NDdlMTc0Li41NWJh
ZDc2ZDI2ZjAyYzIzODNiM2E2ZWYyNzg5MWUxYTQzNDIyZTlkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHVGVzdHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGVzdHMu
aApAQCAtMzUsMTEgKzM1LDExIEBAIGNsYXNzIFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTsKIGNs
YXNzIFNWR1Rlc3RzIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdUZXN0cyk7CiBwdWJs
aWM6CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3Ry
eTxTVkdUZXN0cz47CisKICAgICBzdGF0aWMgYm9vbCBoYXNFeHRlbnNpb24oY29uc3QgU3RyaW5n
Jik7CiAgICAgYm9vbCBpc1ZhbGlkKCkgY29uc3Q7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lz
dHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR1Rlc3RzPjsKLQogICAgIHZvaWQgcGFy
c2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYpOwog
ICAgIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJik7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuaAppbmRleCAwZTZkYTVjNjc3
ODVjZjQxNjU3NDM0YWEyYjk1YzZmYzE3ZTBmMGRjLi44MDY2YzRiZTRlNzRhYmU4M2VkN2VmYTc3
ZGUzNWMzYzM4ZDllM2VjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dENv
bnRlbnRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRDb250ZW50RWxl
bWVudC5oCkBAIC0yOCw0MyArMjgsMTEgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdHJ1Y3Qg
RE9NUG9pbnRJbml0OwogCi1lbnVtIFNWR0xlbmd0aEFkanVzdFR5cGUgewotICAgIFNWR0xlbmd0
aEFkanVzdFVua25vd24sCi0gICAgU1ZHTGVuZ3RoQWRqdXN0U3BhY2luZywKLSAgICBTVkdMZW5n
dGhBZGp1c3RTcGFjaW5nQW5kR2x5cGhzCi19OwotCi10ZW1wbGF0ZTw+IHN0cnVjdCBTVkdQcm9w
ZXJ0eVRyYWl0czxTVkdMZW5ndGhBZGp1c3RUeXBlPiB7Ci0gICAgc3RhdGljIHVuc2lnbmVkIGhp
Z2hlc3RFbnVtVmFsdWUoKSB7IHJldHVybiBTVkdMZW5ndGhBZGp1c3RTcGFjaW5nQW5kR2x5cGhz
OyB9Ci0KLSAgICBzdGF0aWMgU3RyaW5nIHRvU3RyaW5nKFNWR0xlbmd0aEFkanVzdFR5cGUgdHlw
ZSkKLSAgICB7Ci0gICAgICAgIHN3aXRjaCAodHlwZSkgewotICAgICAgICBjYXNlIFNWR0xlbmd0
aEFkanVzdFVua25vd246Ci0gICAgICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKLSAgICAg
ICAgY2FzZSBTVkdMZW5ndGhBZGp1c3RTcGFjaW5nOgotICAgICAgICAgICAgcmV0dXJuICJzcGFj
aW5nIl9zOwotICAgICAgICBjYXNlIFNWR0xlbmd0aEFkanVzdFNwYWNpbmdBbmRHbHlwaHM6Ci0g
ICAgICAgICAgICByZXR1cm4gInNwYWNpbmdBbmRHbHlwaHMiX3M7Ci0gICAgICAgIH0KLQotICAg
ICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7
Ci0gICAgfQotCi0gICAgc3RhdGljIFNWR0xlbmd0aEFkanVzdFR5cGUgZnJvbVN0cmluZyhjb25z
dCBTdHJpbmcmIHZhbHVlKQotICAgIHsKLSAgICAgICAgaWYgKHZhbHVlID09ICJzcGFjaW5nQW5k
R2x5cGhzIikKLSAgICAgICAgICAgIHJldHVybiBTVkdMZW5ndGhBZGp1c3RTcGFjaW5nQW5kR2x5
cGhzOwotICAgICAgICBpZiAodmFsdWUgPT0gInNwYWNpbmciKQotICAgICAgICAgICAgcmV0dXJu
IFNWR0xlbmd0aEFkanVzdFNwYWNpbmc7Ci0gICAgICAgIHJldHVybiBTVkdMZW5ndGhBZGp1c3RV
bmtub3duOwotICAgIH0KLX07Ci0KIGNsYXNzIFNWR1RleHRDb250ZW50RWxlbWVudCA6IHB1Ymxp
YyBTVkdHcmFwaGljc0VsZW1lbnQsIHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR1RleHRDb250ZW50RWxlbWVudCk7CiBw
dWJsaWM6CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdp
c3RyeTxTVkdUZXh0Q29udGVudEVsZW1lbnQsIFNWR0dyYXBoaWNzRWxlbWVudCwgU1ZHRXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZD47CisKICAgICBlbnVtIHsKICAgICAgICAgTEVOR1RIQURKVVNU
X1VOS05PV04gPSBTVkdMZW5ndGhBZGp1c3RVbmtub3duLAogICAgICAgICBMRU5HVEhBREpVU1Rf
U1BBQ0lORyA9IFNWR0xlbmd0aEFkanVzdFNwYWNpbmcsCkBAIC04Myw4ICs1MSw2IEBAIHB1Ymxp
YzoKIAogICAgIHN0YXRpYyBTVkdUZXh0Q29udGVudEVsZW1lbnQqIGVsZW1lbnRGcm9tUmVuZGVy
ZXIoUmVuZGVyT2JqZWN0Kik7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJv
cGVydHlPd25lclJlZ2lzdHJ5PFNWR1RleHRDb250ZW50RWxlbWVudCwgU1ZHR3JhcGhpY3NFbGVt
ZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkPjsKLQogICAgIGNvbnN0IFNWR0xlbmd0
aFZhbHVlJiBzcGVjaWZpZWRUZXh0TGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gbV9zcGVjaWZpZWRU
ZXh0TGVuZ3RoOyB9CiAgICAgY29uc3QgU1ZHTGVuZ3RoVmFsdWUmIHRleHRMZW5ndGgoKSBjb25z
dCB7IHJldHVybiBtX3RleHRMZW5ndGgtPmN1cnJlbnRWYWx1ZSgpOyB9CiAgICAgU1ZHTGVuZ3Ro
QWRqdXN0VHlwZSBsZW5ndGhBZGp1c3QoKSBjb25zdCB7IHJldHVybiBtX2xlbmd0aEFkanVzdC0+
Y3VycmVudFZhbHVlPFNWR0xlbmd0aEFkanVzdFR5cGU+KCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdUZXh0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Rl
eHRFbGVtZW50LmgKaW5kZXggYWE5NDQ1ZDkyYjZmYjRhNTE1OTE2MTE1ZWYxYWQzZDg1NWM2NDNk
Mi4uODM1NGNhOTkzYTA2NzYxNzk1NTFmOWUyNDRkMTUzYjU5YzhjZTVmZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1RleHRFbGVtZW50LmgKQEAgLTI2LDYgKzI2LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBjbGFzcyBTVkdUZXh0RWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdUZXh0UG9zaXRpb25p
bmdFbGVtZW50IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR1RleHRFbGVtZW50KTsK
KyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNW
R1RleHRFbGVtZW50LCBTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50PjsKKwogcHVibGljOgogICAg
IHN0YXRpYyBSZWY8U1ZHVGV4dEVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwg
RG9jdW1lbnQmKTsKIApAQCAtMzQsOCArMzYsMTEgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBT
VkdUZXh0RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAorICAgIGNv
bnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7
IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KICAgICBSZW5kZXJQdHI8UmVuZGVyRWxlbWVu
dD4gY3JlYXRlRWxlbWVudFJlbmRlcmVyKFJlbmRlclN0eWxlJiYsIGNvbnN0IFJlbmRlclRyZWVQ
b3NpdGlvbiYpIG92ZXJyaWRlOwogICAgIGJvb2wgY2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihj
b25zdCBOb2RlJikgY29uc3Qgb3ZlcnJpZGU7CisgICAgCisgICAgUHJvcGVydHlSZWdpc3RyeSBt
X3Byb3BlcnR5UmVnaXN0cnkgeyAqdGhpcyB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRQYXRoRWxlbWVudC5oIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRQYXRoRWxlbWVudC5oCmluZGV4IDQzNTM4N2JmYWY1
N2JlNDM3ZjlkYTI1ZWJhNTY5N2M3N2ZiYTdjOWQuLjgwNWY1YmNiMDIxY2I2N2NkNTA1ZDZiNDBk
NmU1NjVkNGU0ZmNkNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0UGF0
aEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dFBhdGhFbGVtZW50LmgK
QEAgLTI2LDc4ICsyNiwxMCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWVudW0gU1ZHVGV4
dFBhdGhNZXRob2RUeXBlIHsKLSAgICBTVkdUZXh0UGF0aE1ldGhvZFVua25vd24gPSAwLAotICAg
IFNWR1RleHRQYXRoTWV0aG9kQWxpZ24sCi0gICAgU1ZHVGV4dFBhdGhNZXRob2RTdHJldGNoCi19
OwotCi1lbnVtIFNWR1RleHRQYXRoU3BhY2luZ1R5cGUgewotICAgIFNWR1RleHRQYXRoU3BhY2lu
Z1Vua25vd24gPSAwLAotICAgIFNWR1RleHRQYXRoU3BhY2luZ0F1dG8sCi0gICAgU1ZHVGV4dFBh
dGhTcGFjaW5nRXhhY3QKLX07Ci0KLXRlbXBsYXRlPD4KLXN0cnVjdCBTVkdQcm9wZXJ0eVRyYWl0
czxTVkdUZXh0UGF0aE1ldGhvZFR5cGU+IHsKLSAgICBzdGF0aWMgdW5zaWduZWQgaGlnaGVzdEVu
dW1WYWx1ZSgpIHsgcmV0dXJuIFNWR1RleHRQYXRoTWV0aG9kU3RyZXRjaDsgfQotCi0gICAgc3Rh
dGljIFN0cmluZyB0b1N0cmluZyhTVkdUZXh0UGF0aE1ldGhvZFR5cGUgdHlwZSkKLSAgICB7Ci0g
ICAgICAgIHN3aXRjaCAodHlwZSkgewotICAgICAgICBjYXNlIFNWR1RleHRQYXRoTWV0aG9kVW5r
bm93bjoKLSAgICAgICAgICAgIHJldHVybiBlbXB0eVN0cmluZygpOwotICAgICAgICBjYXNlIFNW
R1RleHRQYXRoTWV0aG9kQWxpZ246Ci0gICAgICAgICAgICByZXR1cm4gImFsaWduIl9zOwotICAg
ICAgICBjYXNlIFNWR1RleHRQYXRoTWV0aG9kU3RyZXRjaDoKLSAgICAgICAgICAgIHJldHVybiAi
c3RyZXRjaCJfczsKLSAgICAgICAgfQotICAgIAotICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKLSAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7Ci0gICAgfQotCi0gICAgc3RhdGljIFNW
R1RleHRQYXRoTWV0aG9kVHlwZSBmcm9tU3RyaW5nKGNvbnN0IFN0cmluZyYgdmFsdWUpCi0gICAg
ewotICAgICAgICBpZiAodmFsdWUgPT0gImFsaWduIikKLSAgICAgICAgICAgIHJldHVybiBTVkdU
ZXh0UGF0aE1ldGhvZEFsaWduOwotICAgICAgICBpZiAodmFsdWUgPT0gInN0cmV0Y2giKQotICAg
ICAgICAgICAgcmV0dXJuIFNWR1RleHRQYXRoTWV0aG9kU3RyZXRjaDsKLSAgICAgICAgcmV0dXJu
IFNWR1RleHRQYXRoTWV0aG9kVW5rbm93bjsKLSAgICB9Ci19OwotCi10ZW1wbGF0ZTw+Ci1zdHJ1
Y3QgU1ZHUHJvcGVydHlUcmFpdHM8U1ZHVGV4dFBhdGhTcGFjaW5nVHlwZT4gewotICAgIHN0YXRp
YyB1bnNpZ25lZCBoaWdoZXN0RW51bVZhbHVlKCkgeyByZXR1cm4gU1ZHVGV4dFBhdGhTcGFjaW5n
RXhhY3Q7IH0KLQotICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoU1ZHVGV4dFBhdGhTcGFjaW5n
VHlwZSB0eXBlKQotICAgIHsKLSAgICAgICAgc3dpdGNoICh0eXBlKSB7Ci0gICAgICAgIGNhc2Ug
U1ZHVGV4dFBhdGhTcGFjaW5nVW5rbm93bjoKLSAgICAgICAgICAgIHJldHVybiBlbXB0eVN0cmlu
ZygpOwotICAgICAgICBjYXNlIFNWR1RleHRQYXRoU3BhY2luZ0F1dG86Ci0gICAgICAgICAgICBy
ZXR1cm4gImF1dG8iX3M7Ci0gICAgICAgIGNhc2UgU1ZHVGV4dFBhdGhTcGFjaW5nRXhhY3Q6Ci0g
ICAgICAgICAgICByZXR1cm4gImV4YWN0Il9zOwotICAgICAgICB9Ci0KLSAgICAgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIHJldHVybiBlbXB0eVN0cmluZygpOwotICAgIH0KLQot
ICAgIHN0YXRpYyBTVkdUZXh0UGF0aFNwYWNpbmdUeXBlIGZyb21TdHJpbmcoY29uc3QgU3RyaW5n
JiB2YWx1ZSkKLSAgICB7Ci0gICAgICAgIGlmICh2YWx1ZSA9PSAiYXV0byIpCi0gICAgICAgICAg
ICByZXR1cm4gU1ZHVGV4dFBhdGhTcGFjaW5nQXV0bzsKLSAgICAgICAgaWYgKHZhbHVlID09ICJl
eGFjdCIpCi0gICAgICAgICAgICByZXR1cm4gU1ZHVGV4dFBhdGhTcGFjaW5nRXhhY3Q7Ci0gICAg
ICAgIHJldHVybiBTVkdUZXh0UGF0aFNwYWNpbmdVbmtub3duOwotICAgIH0KLX07Ci0KIGNsYXNz
IFNWR1RleHRQYXRoRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdUZXh0Q29udGVudEVsZW1lbnQs
IHB1YmxpYyBTVkdVUklSZWZlcmVuY2UgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZH
VGV4dFBhdGhFbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVy
dHlPd25lclJlZ2lzdHJ5PFNWR1RleHRQYXRoRWxlbWVudCwgU1ZHVGV4dENvbnRlbnRFbGVtZW50
LCBTVkdVUklSZWZlcmVuY2U+OworCiBwdWJsaWM6CiAgICAgLy8gRm9yd2FyZCBkZWNsYXJlIGVu
dW1lcmF0aW9ucyBpbiB0aGUgVzNDIG5hbWluZyBzY2hlbWUsIGZvciBJREwgZ2VuZXJhdGlvbi4K
ICAgICBlbnVtIHsKQEAgLTEyNiw5ICs1OCw3IEBAIHByaXZhdGU6CiAgICAgU1ZHVGV4dFBhdGhF
bGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogICAgIHZpcnR1YWwgflNW
R1RleHRQYXRoRWxlbWVudCgpOwogCi0gICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1By
b3BlcnR5T3duZXJSZWdpc3RyeTxTVkdUZXh0UGF0aEVsZW1lbnQsIFNWR1RleHRDb250ZW50RWxl
bWVudCwgU1ZHVVJJUmVmZXJlbmNlPjsKICAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBw
cm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5
OyB9Ci0KICAgICB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25z
dCBBdG9taWNTdHJpbmcmKSBvdmVycmlkZTsKICAgICB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQo
Y29uc3QgUXVhbGlmaWVkTmFtZSYpIG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQuaAppbmRleCBhNDg2MmVjNDc2Mjk2NTk5NzQzMGZh
ODRkNjhkOTcxOWIzNDc2NWJhLi42MWM3ZGIxNjIxNGY2ZTU5Mzc0ZGJiODI1M2Y3MmFmNWRlYWY2
MmZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dFBvc2l0aW9uaW5nRWxl
bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50
LmgKQEAgLTI3LDExICsyNywxMiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNWR1Rl
eHRQb3NpdGlvbmluZ0VsZW1lbnQgOiBwdWJsaWMgU1ZHVGV4dENvbnRlbnRFbGVtZW50IHsKICAg
ICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQpOwotcHVi
bGljOgotICAgIHN0YXRpYyBTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50KiBlbGVtZW50RnJvbVJl
bmRlcmVyKFJlbmRlckJveE1vZGVsT2JqZWN0Jik7CiAKK3B1YmxpYzoKICAgICB1c2luZyBQcm9w
ZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR1RleHRQb3NpdGlvbmlu
Z0VsZW1lbnQsIFNWR1RleHRDb250ZW50RWxlbWVudD47CiAKKyAgICBzdGF0aWMgU1ZHVGV4dFBv
c2l0aW9uaW5nRWxlbWVudCogZWxlbWVudEZyb21SZW5kZXJlcihSZW5kZXJCb3hNb2RlbE9iamVj
dCYpOworCiAgICAgY29uc3QgU1ZHTGVuZ3RoTGlzdCYgeCgpIGNvbnN0IHsgcmV0dXJuIG1feC0+
Y3VycmVudFZhbHVlKCk7IH0KICAgICBjb25zdCBTVkdMZW5ndGhMaXN0JiB5KCkgY29uc3QgeyBy
ZXR1cm4gbV95LT5jdXJyZW50VmFsdWUoKTsgfQogICAgIGNvbnN0IFNWR0xlbmd0aExpc3QmIGR4
KCkgY29uc3QgeyByZXR1cm4gbV9keC0+Y3VycmVudFZhbHVlKCk7IH0KQEAgLTU0LDkgKzU1LDYg
QEAgcHJpdmF0ZToKICAgICBib29sIGlzUHJlc2VudGF0aW9uQXR0cmlidXRlKGNvbnN0IFF1YWxp
ZmllZE5hbWUmKSBjb25zdCBmaW5hbDsKICAgICB2b2lkIGNvbGxlY3RTdHlsZUZvclByZXNlbnRh
dGlvbkF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJiwg
TXV0YWJsZVN0eWxlUHJvcGVydGllcyYpIGZpbmFsOwogCi0gICAgY29uc3QgU1ZHUHJvcGVydHlS
ZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fcHJv
cGVydHlSZWdpc3RyeTsgfQotCi0gICAgUHJvcGVydHlSZWdpc3RyeSBtX3Byb3BlcnR5UmVnaXN0
cnkgeyAqdGhpcyB9OwogICAgIFJlZjxTVkdBbmltYXRlZExlbmd0aExpc3Q+IG1feCB7IFNWR0Fu
aW1hdGVkTGVuZ3RoTGlzdDo6Y3JlYXRlKHRoaXMsIExlbmd0aE1vZGVXaWR0aCkgfTsKICAgICBS
ZWY8U1ZHQW5pbWF0ZWRMZW5ndGhMaXN0PiBtX3kgeyBTVkdBbmltYXRlZExlbmd0aExpc3Q6OmNy
ZWF0ZSh0aGlzLCBMZW5ndGhNb2RlSGVpZ2h0KSB9OwogICAgIFJlZjxTVkdBbmltYXRlZExlbmd0
aExpc3Q+IG1fZHggeyBTVkdBbmltYXRlZExlbmd0aExpc3Q6OmNyZWF0ZSh0aGlzLCBMZW5ndGhN
b2RlV2lkdGgpIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGl0bGVFbGVt
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGl0bGVFbGVtZW50LmgKaW5kZXggM2Y1MzMz
NTY3MDdkM2U4NTRjNDQzMDdjMzQwY2I4YjEwN2M0M2U4ZC4uOWFmZTQwNjk0Y2E4ZDljYjFmNWNj
OWFiZmVhNzdhNTAwOWJiNjYxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Rp
dGxlRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUaXRsZUVsZW1lbnQuaApA
QCAtMjcsMTcgKzI3LDIyIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU1ZHVGl0bGVF
bGVtZW50IGZpbmFsIDogcHVibGljIFNWR0VsZW1lbnQgewogICAgIFdURl9NQUtFX0lTT19BTExP
Q0FURUQoU1ZHVGl0bGVFbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZH
UHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR1RpdGxlRWxlbWVudCwgU1ZHRWxlbWVudD47CisKIHB1
YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR1RpdGxlRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxp
ZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCiBwcml2YXRlOgogICAgIFNWR1RpdGxlRWxlbWVudChj
b25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAorICAgIGNvbnN0IFNWR1Byb3BlcnR5
UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3Bl
cnR5UmVnaXN0cnk7IH0KKyAgICBib29sIHJlbmRlcmVySXNOZWVkZWQoY29uc3QgUmVuZGVyU3R5
bGUmKSBmaW5hbCB7IHJldHVybiBmYWxzZTsgfQorCiAgICAgSW5zZXJ0ZWRJbnRvQW5jZXN0b3JS
ZXN1bHQgaW5zZXJ0ZWRJbnRvQW5jZXN0b3IoSW5zZXJ0aW9uVHlwZSwgQ29udGFpbmVyTm9kZSYp
IGZpbmFsOwogICAgIHZvaWQgcmVtb3ZlZEZyb21BbmNlc3RvcihSZW1vdmFsVHlwZSwgQ29udGFp
bmVyTm9kZSYpIGZpbmFsOwogICAgIHZvaWQgY2hpbGRyZW5DaGFuZ2VkKGNvbnN0IENoaWxkQ2hh
bmdlJikgZmluYWw7CiAKLSAgICBib29sIHJlbmRlcmVySXNOZWVkZWQoY29uc3QgUmVuZGVyU3R5
bGUmKSBmaW5hbCB7IHJldHVybiBmYWxzZTsgfQorICAgIFByb3BlcnR5UmVnaXN0cnkgbV9wcm9w
ZXJ0eVJlZ2lzdHJ5IHsgKnRoaXMgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUcmFuc2Zvcm0uaCBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdUcmFuc2Zvcm0uaAppbmRleCA2YTI5YzcyY2YzZTdmMzEzZjcwOTY1N2E0MDEy
NDgxYzIyM2I4ZGNkLi43N2I4OTk2MTRmYmNlMzg5MTlkNzNiNTJiZjk4MWVlM2Y2YThkN2UwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVHJhbnNmb3JtLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1RyYW5zZm9ybS5oCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpbmNsdWRl
ICJTVkdNYXRyaXguaCIKICNpbmNsdWRlICJTVkdUcmFuc2Zvcm1WYWx1ZS5oIgorI2luY2x1ZGUg
IlNWR1RyYW5zZm9ybWFibGUuaCIKICNpbmNsdWRlICJTVkdWYWx1ZVByb3BlcnR5LmgiCiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ4LDYgKzQ5LDE5IEBAIHB1YmxpYzoKICAgICAgICAgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgU1ZHVHJhbnNmb3JtKHZhbHVlLnR5cGUoKSwgdmFsdWUubWF0cml4
KCktPnZhbHVlKCksIHZhbHVlLmFuZ2xlKCksIHZhbHVlLnJvdGF0aW9uQ2VudGVyKCkpKTsKICAg
ICB9CiAKKyAgICBzdGF0aWMgRXhwZWN0ZWQ8UmVmPFNWR1RyYW5zZm9ybT4sIFNWR1BhcnNpbmdF
cnJvcj4gY3JlYXRlKGNvbnN0IFVDaGFyKiYgcHRyLCBjb25zdCBVQ2hhciogZW5kKQorICAgIHsK
KyAgICAgICAgU1ZHVHJhbnNmb3JtVmFsdWU6OlNWR1RyYW5zZm9ybVR5cGUgdHlwZSA9IFNWR1Ry
YW5zZm9ybVZhbHVlOjpTVkdfVFJBTlNGT1JNX1VOS05PV047CisgICAgICAgIGlmICghU1ZHVHJh
bnNmb3JtYWJsZTo6cGFyc2VBbmRTa2lwVHlwZShwdHIsIGVuZCwgdHlwZSkpCisgICAgICAgICAg
ICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQoUGFyc2luZ0F0dHJpYnV0ZUZhaWxlZEVycm9yKTsKKwor
ICAgICAgICBSZWY8U1ZHVHJhbnNmb3JtPiB0cmFuc2Zvcm0gPSBTVkdUcmFuc2Zvcm06OmNyZWF0
ZSh0eXBlKTsKKyAgICAgICAgaWYgKCFTVkdUcmFuc2Zvcm1hYmxlOjpwYXJzZVRyYW5zZm9ybVZh
bHVlKHR5cGUsIHB0ciwgZW5kLCB0cmFuc2Zvcm0tPnZhbHVlKCkpKQorICAgICAgICAgICAgcmV0
dXJuIG1ha2VVbmV4cGVjdGVkKFBhcnNpbmdBdHRyaWJ1dGVGYWlsZWRFcnJvcik7CisKKyAgICAg
ICAgcmV0dXJuIHRyYW5zZm9ybTsKKyAgICB9CisKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgog
ICAgIHN0YXRpYyBFeGNlcHRpb25PcjxSZWY8U1ZHVHJhbnNmb3JtPj4gY3JlYXRlKEV4Y2VwdGlv
bk9yPFQ+JiYgdmFsdWUpCiAgICAgewpAQCAtMTMwLDYgKzE0NCwxMSBAQCBwdWJsaWM6CiAgICAg
ICAgIHJldHVybiB7IH07CiAgICAgfQogCisgICAgU3RyaW5nIHZhbHVlQXNTdHJpbmcoKSBjb25z
dCBvdmVycmlkZQorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fdmFsdWUudmFsdWVBc1N0cmluZygp
OworICAgIH0KKwogcHJpdmF0ZToKICAgICB1c2luZyBCYXNlID0gU1ZHVmFsdWVQcm9wZXJ0eTxT
VkdUcmFuc2Zvcm1WYWx1ZT47CiAKQEAgLTE0NywxMSArMTY2LDYgQEAgcHJpdmF0ZToKICAgICAg
ICAgICAgIG93bmVyKCktPmNvbW1pdFByb3BlcnR5Q2hhbmdlKHRoaXMpOwogICAgICAgICBtX3Zh
bHVlLm1hdHJpeERpZENoYW5nZSgpOwogICAgIH0KLQotICAgIFN0cmluZyB2YWx1ZUFzU3RyaW5n
KCkgY29uc3Qgb3ZlcnJpZGUKLSAgICB7Ci0gICAgICAgIHJldHVybiBtX3ZhbHVlLnZhbHVlQXNT
dHJpbmcoKTsKLSAgICB9CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVHJhbnNmb3JtTGlzdC5oIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1RyYW5zZm9ybUxpc3QuaAppbmRleCA1NDRkNjBiMmU2MzVjMWMyMDk5MzRlZTQzNWNm
NDEyNWU2YTcxZjJiLi43NzU0YjcxZmI0ZTk2MWIyZTdmMDZjZjcxNjEwZWIzNWY0YzEwMjQwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVHJhbnNmb3JtTGlzdC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdUcmFuc2Zvcm1MaXN0LmgKQEAgLTIyLDEzICsyMiwxMSBAQAog
I3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJTVkdUcmFuc2Zvcm0uaCIKLSNpbmNsdWRlICJTVkdU
cmFuc2Zvcm1hYmxlLmgiCiAjaW5jbHVkZSAiU1ZHVmFsdWVQcm9wZXJ0eUxpc3QuaCIKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTVkdUcmFuc2Zvcm1MaXN0IGZpbmFsIDogcHVibGlj
IFNWR1ZhbHVlUHJvcGVydHlMaXN0PFNWR1RyYW5zZm9ybT4gewotICAgIGZyaWVuZCBjbGFzcyBT
VkdWaWV3U3BlYzsKICAgICB1c2luZyBCYXNlID0gU1ZHVmFsdWVQcm9wZXJ0eUxpc3Q8U1ZHVHJh
bnNmb3JtPjsKICAgICB1c2luZyBCYXNlOjpCYXNlOwogCkBAIC03NSwxNiArNzMsNiBAQCBwdWJs
aWM6CiAgICAgICAgIHJldHVybiBtYWtlUmVmUHRyKGl0ZW0uZ2V0KCkpOwogICAgIH0KIAotICAg
IHZvaWQgcGFyc2UoY29uc3QgU3RyaW5nJiB2YWx1ZSkKLSAgICB7Ci0gICAgICAgIGNsZWFySXRl
bXMoKTsKLQotICAgICAgICBhdXRvIHVwY29udmVydGVkQ2hhcmFjdGVycyA9IFN0cmluZ1ZpZXco
dmFsdWUpLnVwY29udmVydGVkQ2hhcmFjdGVycygpOwotICAgICAgICBjb25zdCBVQ2hhciogc3Rh
cnQgPSB1cGNvbnZlcnRlZENoYXJhY3RlcnM7Ci0gICAgICAgIGlmICghcGFyc2Uoc3RhcnQsIHN0
YXJ0ICsgdmFsdWUubGVuZ3RoKCkpKQotICAgICAgICAgICAgY2xlYXJJdGVtcygpOwotICAgIH0K
LQogICAgIEFmZmluZVRyYW5zZm9ybSBjb25jYXRlbmF0ZSgpIGNvbnN0CiAgICAgewogICAgICAg
ICBBZmZpbmVUcmFuc2Zvcm0gcmVzdWx0OwpAQCAtOTMsNDQgKzgxLDEzIEBAIHB1YmxpYzoKICAg
ICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9CiAKLSAgICBTdHJpbmcgdmFsdWVBc1N0cmluZygp
IGNvbnN0IG92ZXJyaWRlCisgICAgU1ZHUGFyc2luZ0Vycm9yIHBhcnNlKGNvbnN0IFN0cmluZyYg
c3RyaW5nKQogICAgIHsKLSAgICAgICAgU3RyaW5nQnVpbGRlciBidWlsZGVyOwotICAgICAgICBm
b3IgKGNvbnN0IGF1dG8mIHRyYW5zZnJvbSA6IG1faXRlbXMpIHsKLSAgICAgICAgICAgIGlmIChi
dWlsZGVyLmxlbmd0aCgpKQotICAgICAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCcgJyk7Ci0K
LSAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKHRyYW5zZnJvbS0+dmFsdWUoKS52YWx1ZUFzU3Ry
aW5nKCkpOwotICAgICAgICB9Ci0gICAgICAgIHJldHVybiBidWlsZGVyLnRvU3RyaW5nKCk7Ci0g
ICAgfQotCi1wcml2YXRlOgotICAgIGJvb2wgcGFyc2UoY29uc3QgVUNoYXIqJiBzdGFydCwgY29u
c3QgVUNoYXIqIGVuZCkKLSAgICB7Ci0gICAgICAgIGJvb2wgZGVsaW1QYXJzZWQgPSBmYWxzZTsK
LSAgICAgICAgd2hpbGUgKHN0YXJ0IDwgZW5kKSB7Ci0gICAgICAgICAgICBkZWxpbVBhcnNlZCA9
IGZhbHNlOwotICAgICAgICAgICAgU1ZHVHJhbnNmb3JtVmFsdWU6OlNWR1RyYW5zZm9ybVR5cGUg
dHlwZSA9IFNWR1RyYW5zZm9ybVZhbHVlOjpTVkdfVFJBTlNGT1JNX1VOS05PV047Ci0gICAgICAg
ICAgICBza2lwT3B0aW9uYWxTVkdTcGFjZXMoc3RhcnQsIGVuZCk7Ci0KLSAgICAgICAgICAgIGlm
ICghU1ZHVHJhbnNmb3JtYWJsZTo6cGFyc2VBbmRTa2lwVHlwZShzdGFydCwgZW5kLCB0eXBlKSkK
LSAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICAgICAgICAgIFJlZjxTVkdUcmFu
c2Zvcm0+IHRyYW5zZm9ybSA9IFNWR1RyYW5zZm9ybTo6Y3JlYXRlKHR5cGUpOwotICAgICAgICAg
ICAgaWYgKCFTVkdUcmFuc2Zvcm1hYmxlOjpwYXJzZVRyYW5zZm9ybVZhbHVlKHR5cGUsIHN0YXJ0
LCBlbmQsIHRyYW5zZm9ybS0+dmFsdWUoKSkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OwotCi0gICAgICAgICAgICBhcHBlbmQoV1RGTW92ZSh0cmFuc2Zvcm0pKTsKLSAgICAgICAgICAg
IHNraXBPcHRpb25hbFNWR1NwYWNlcyhzdGFydCwgZW5kKTsKLSAgICAgICAgICAgIGlmIChzdGFy
dCA8IGVuZCAmJiAqc3RhcnQgPT0gJywnKSB7Ci0gICAgICAgICAgICAgICAgZGVsaW1QYXJzZWQg
PSB0cnVlOwotICAgICAgICAgICAgICAgICsrc3RhcnQ7Ci0gICAgICAgICAgICB9Ci0KLSAgICAg
ICAgICAgIHNraXBPcHRpb25hbFNWR1NwYWNlcyhzdGFydCwgZW5kKTsKKyAgICAgICAgaWYgKGF1
dG8gZXJyb3IgPSBCYXNlOjpwYXJzZShzdHJpbmcpKSB7CisgICAgICAgICAgICBjbGVhckl0ZW1z
KCk7CisgICAgICAgICAgICByZXR1cm4gZXJyb3I7CiAgICAgICAgIH0KLSAgICAgICAgcmV0dXJu
ICFkZWxpbVBhcnNlZDsKKyAgICAgICAgcmV0dXJuIE5vRXJyb3I7CiAgICAgfQogfTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1VSSVJlZmVyZW5jZS5oIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1VSSVJlZmVyZW5jZS5oCmluZGV4IDIwMWI2YzcxYmVkNzEzOWE5YzZlMmVk
MDBkNjJiMmRmNDFmNmQ3NTAuLjBmOTg4NDBkYTI3ODQwYjYyOTUwOTY2OTcyZDNhNzQzZGRjOTk1
MDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdVUklSZWZlcmVuY2UuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVVJJUmVmZXJlbmNlLmgKQEAgLTMyLDcgKzMyLDcgQEAg
Y2xhc3MgU1ZHRWxlbWVudDsKIGNsYXNzIFNWR1VSSVJlZmVyZW5jZSB7CiAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoU1ZHVVJJUmVmZXJlbmNlKTsKIHB1YmxpYzoKLSAgICB2aXJ0dWFsIH5TVkdV
UklSZWZlcmVuY2UoKSA9IGRlZmF1bHQ7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNW
R1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdVUklSZWZlcmVuY2U+OwogCiAgICAgdm9pZCBwYXJz
ZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJik7CiAK
QEAgLTU2LDEzICs1NiwxMiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiAhZXF1YWxJZ25vcmlu
Z0ZyYWdtZW50SWRlbnRpZmllcih1cmwsIGRvY3VtZW50LnVybCgpKTsKICAgICB9CiAKLSAgICB1
c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR1VSSVJl
ZmVyZW5jZT47Ci0KICAgICBTdHJpbmcgaHJlZigpIGNvbnN0IHsgcmV0dXJuIG1faHJlZi0+Y3Vy
cmVudFZhbHVlKCk7IH0KICAgICBTVkdBbmltYXRlZFN0cmluZyYgaHJlZkFuaW1hdGVkKCkgeyBy
ZXR1cm4gbV9ocmVmOyB9CiAKIHByb3RlY3RlZDoKICAgICBTVkdVUklSZWZlcmVuY2UoU1ZHRWxl
bWVudCogY29udGV4dEVsZW1lbnQpOworICAgIHZpcnR1YWwgflNWR1VSSVJlZmVyZW5jZSgpID0g
ZGVmYXVsdDsKIAogICAgIHN0YXRpYyBib29sIGlzS25vd25BdHRyaWJ1dGUoY29uc3QgUXVhbGlm
aWVkTmFtZSYgYXR0cmlidXRlTmFtZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdVbml0VHlwZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdVbml0VHlwZXMuaAppbmRl
eCBmNDQ0ODVmN2UwNWRmMjQ1M2ZhYWJlNjliMGMyODgyZmVjNTAwNGJlLi40YTk4OWM5ZGM5YmE5
ZWY5MDZjYjI0ZGRmNTMxMjkyMjY0NmIyNjhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHVW5pdFR5cGVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1VuaXRUeXBlcy5o
CkBAIC0xOSw3ICsxOSw2IEBACiAKICNwcmFnbWEgb25jZQogCi0jaW5jbHVkZSAiU1ZHUHJvcGVy
dHlUcmFpdHMuaCIKICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CkBAIC0zMSwzOCArMzAsOCBAQCBwdWJsaWM6CiAgICAgICAgIFNWR19VTklUX1RZUEVf
VVNFUlNQQUNFT05VU0UgICAgICAgID0gMSwKICAgICAgICAgU1ZHX1VOSVRfVFlQRV9PQkpFQ1RC
T1VORElOR0JPWCAgICAgPSAyCiAgICAgfTsKLQogcHJpdmF0ZToKLSAgICBTVkdVbml0VHlwZXMo
KSB7IH0KLX07Ci0KLXRlbXBsYXRlPD4KLXN0cnVjdCBTVkdQcm9wZXJ0eVRyYWl0czxTVkdVbml0
VHlwZXM6OlNWR1VuaXRUeXBlPiB7Ci0gICAgc3RhdGljIHVuc2lnbmVkIGhpZ2hlc3RFbnVtVmFs
dWUoKSB7IHJldHVybiBTVkdVbml0VHlwZXM6OlNWR19VTklUX1RZUEVfT0JKRUNUQk9VTkRJTkdC
T1g7IH0KLQotICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoU1ZHVW5pdFR5cGVzOjpTVkdVbml0
VHlwZSB0eXBlKQotICAgIHsKLSAgICAgICAgc3dpdGNoICh0eXBlKSB7Ci0gICAgICAgIGNhc2Ug
U1ZHVW5pdFR5cGVzOjpTVkdfVU5JVF9UWVBFX1VOS05PV046Ci0gICAgICAgICAgICByZXR1cm4g
ZW1wdHlTdHJpbmcoKTsKLSAgICAgICAgY2FzZSBTVkdVbml0VHlwZXM6OlNWR19VTklUX1RZUEVf
VVNFUlNQQUNFT05VU0U6Ci0gICAgICAgICAgICByZXR1cm4gInVzZXJTcGFjZU9uVXNlIl9zOwot
ICAgICAgICBjYXNlIFNWR1VuaXRUeXBlczo6U1ZHX1VOSVRfVFlQRV9PQkpFQ1RCT1VORElOR0JP
WDoKLSAgICAgICAgICAgIHJldHVybiAib2JqZWN0Qm91bmRpbmdCb3giX3M7Ci0gICAgICAgIH0K
LQotICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgcmV0dXJuIGVtcHR5U3Ry
aW5nKCk7Ci0gICAgfQotCi0gICAgc3RhdGljIFNWR1VuaXRUeXBlczo6U1ZHVW5pdFR5cGUgZnJv
bVN0cmluZyhjb25zdCBTdHJpbmcmIHZhbHVlKQotICAgIHsKLSAgICAgICAgaWYgKHZhbHVlID09
ICJ1c2VyU3BhY2VPblVzZSIpCi0gICAgICAgICAgICByZXR1cm4gU1ZHVW5pdFR5cGVzOjpTVkdf
VU5JVF9UWVBFX1VTRVJTUEFDRU9OVVNFOwotICAgICAgICBpZiAodmFsdWUgPT0gIm9iamVjdEJv
dW5kaW5nQm94IikKLSAgICAgICAgICAgIHJldHVybiBTVkdVbml0VHlwZXM6OlNWR19VTklUX1RZ
UEVfT0JKRUNUQk9VTkRJTkdCT1g7Ci0gICAgICAgIHJldHVybiBTVkdVbml0VHlwZXM6OlNWR19V
TklUX1RZUEVfVU5LTk9XTjsKLSAgICB9CisgICAgU1ZHVW5pdFR5cGVzKCkgPSBkZWZhdWx0Owog
fTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1Vua25vd25FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVW5rbm93bkVs
ZW1lbnQuaAppbmRleCBhMTVjN2FmOTc4N2FkMjFmMmNhN2MzMjkzYzgyMDA2ODJlMWJhYmVkLi45
NjQ0NTJjYzgwYWIxZDhlNWYzNWZmNzdmNzM5MzMyOGEyZGNlN2QxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHVW5rbm93bkVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHVW5rbm93bkVsZW1lbnQuaApAQCAtMzcsNiArMzcsOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAvLyBmYWxzZSB0byBtYWtlIHN1cmUgd2UgZG9uJ3QgYXR0ZW1wdCB0byByZW5kZXIgc3Vj
aCBlbGVtZW50cy4KIGNsYXNzIFNWR1Vua25vd25FbGVtZW50IGZpbmFsIDogcHVibGljIFNWR0Vs
ZW1lbnQgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHVW5rbm93bkVsZW1lbnQpOwor
ICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZH
VW5rbm93bkVsZW1lbnQsIFNWR0VsZW1lbnQ+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxT
VkdVbmtub3duRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERv
Y3VtZW50JiBkb2N1bWVudCkKICAgICB7CkBAIC00OSw3ICs1MSwxMCBAQCBwcml2YXRlOgogICAg
IHsKICAgICB9CiAKKyAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lz
dHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9CiAgICAgYm9v
bCByZW5kZXJlcklzTmVlZGVkKGNvbnN0IFJlbmRlclN0eWxlJikgZmluYWwgeyByZXR1cm4gZmFs
c2U7IH0KKyAgICAKKyAgICBQcm9wZXJ0eVJlZ2lzdHJ5IG1fcHJvcGVydHlSZWdpc3RyeSB7ICp0
aGlzIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1VzZUVs
ZW1lbnQuaAppbmRleCAwMzkwODFkMTY2ZWFkYTdiNTIwMGI2MDRiNzBlMzljNGZlYWExYmRiLi45
YzM5NjMzNDZmNmZlNjkwZTY2NWI4MzQ3YjI0ZTZmYzY0ZWI0ZTkzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdVc2VFbGVtZW50LmgKQEAgLTM0LDYgKzM0LDggQEAgY2xhc3MgU1ZHR0VsZW1lbnQ7CiAKIGNs
YXNzIFNWR1VzZUVsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHR3JhcGhpY3NFbGVtZW50LCBwdWJs
aWMgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgcHVibGljIFNWR1VSSVJlZmVyZW5jZSwg
cHJpdmF0ZSBDYWNoZWRTVkdEb2N1bWVudENsaWVudCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9D
QVRFRChTVkdVc2VFbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJv
cGVydHlPd25lclJlZ2lzdHJ5PFNWR1VzZUVsZW1lbnQsIFNWR0dyYXBoaWNzRWxlbWVudCwgU1ZH
RXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgU1ZHVVJJUmVmZXJlbmNlPjsKKwogcHVibGljOgog
ICAgIHN0YXRpYyBSZWY8U1ZHVXNlRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUm
LCBEb2N1bWVudCYpOwogICAgIHZpcnR1YWwgflNWR1VzZUVsZW1lbnQoKTsKQEAgLTYzLDkgKzY1
LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHJlbW92ZWRGcm9tQW5jZXN0b3IoUmVtb3ZhbFR5cGUs
IENvbnRhaW5lck5vZGUmKSBvdmVycmlkZTsKICAgICB2b2lkIGJ1aWxkUGVuZGluZ1Jlc291cmNl
KCkgb3ZlcnJpZGU7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlP
d25lclJlZ2lzdHJ5PFNWR1VzZUVsZW1lbnQsIFNWR0dyYXBoaWNzRWxlbWVudCwgU1ZHRXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZCwgU1ZHVVJJUmVmZXJlbmNlPjsKICAgICBjb25zdCBTVkdQcm9w
ZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9w
cm9wZXJ0eVJlZ2lzdHJ5OyB9Ci0KICAgICB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxp
ZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKSBvdmVycmlkZTsKICAgICB2b2lkIHN2Z0F0
dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYpIG92ZXJyaWRlOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVktlcm5FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHVktlcm5FbGVtZW50LmgKaW5kZXggNzhjOGQ1NTAxODk2ZDE2Y2VjNzA3YjUyNmFl
MWQ3ZDAyYWMwZGZhNi4uMWVjMDcyYzBjM2NkMzYzODBhZTVjY2ViZDIxZjhiZjEzNWY0ZmRiZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZLZXJuRWxlbWVudC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdWS2VybkVsZW1lbnQuaApAQCAtMjgsNiArMjgsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNWR1ZLZXJuRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBT
VkdFbGVtZW50IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR1ZLZXJuRWxlbWVudCk7
CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxT
VkdWS2VybkVsZW1lbnQsIFNWR0VsZW1lbnQ+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxT
VkdWS2VybkVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsK
IApAQCAtMzYsNyArMzgsMTAgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBTVkdWS2VybkVsZW1l
bnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKKyAgICBjb25zdCBTVkdQcm9w
ZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9w
cm9wZXJ0eVJlZ2lzdHJ5OyB9CiAgICAgYm9vbCByZW5kZXJlcklzTmVlZGVkKGNvbnN0IFJlbmRl
clN0eWxlJikgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0KKworICAgIFByb3BlcnR5UmVnaXN0cnkg
bV9wcm9wZXJ0eVJlZ2lzdHJ5IHsgKnRoaXMgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3RWxlbWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHVmlld0VsZW1lbnQuY3BwCmluZGV4IDMzOTZjNmU5ODIzNmI2
NGU4Njk1ZmYwNDE5ZTgwMjY5NTc3YjQ3M2EuLjBhZWMzMjc2ZWM0YWRjMGIyMWE2MmY3NGZiNTM3
OWE4NTM5N2JiMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3RWxlbWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdFbGVtZW50LmNwcApAQCAtNTEs
NyArNTEsNyBAQCBSZWY8U1ZHVmlld0VsZW1lbnQ+IFNWR1ZpZXdFbGVtZW50OjpjcmVhdGUoY29u
c3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbgogdm9pZCBTVkdWaWV3RWxlbWVudDo6
cGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbWljU3Ry
aW5nJiB2YWx1ZSkKIHsKICAgICBpZiAobmFtZSA9PSBTVkdOYW1lczo6dmlld1RhcmdldEF0dHIp
IHsKLSAgICAgICAgbV92aWV3VGFyZ2V0LT5yZXNldCh2YWx1ZSk7CisgICAgICAgIG1fdmlld1Rh
cmdldC0+cGFyc2UodmFsdWUpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVmlld0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdWaWV3RWxlbWVudC5oCmluZGV4IGIwZWVmMTlkN2M0OTUwNTE4NzhhODgxNWFlNDYyZGE5
NTA4NGUwN2MuLjc1ZDE4MmY0ZDg1MjhkNGRlNWY5ZWVlNDJiNjIzZTUwNTdlYzQzNTAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3RWxlbWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdWaWV3RWxlbWVudC5oCkBAIC0zMSw2ICszMSw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogY2xhc3MgU1ZHVmlld0VsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHRWxlbWVu
dCwgcHVibGljIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIHB1YmxpYyBTVkdGaXRUb1Zp
ZXdCb3gsIHB1YmxpYyBTVkdab29tQW5kUGFuIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVE
KFNWR1ZpZXdFbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVy
dHlPd25lclJlZ2lzdHJ5PFNWR1ZpZXdFbGVtZW50LCBTVkdFbGVtZW50LCBTVkdFeHRlcm5hbFJl
c291cmNlc1JlcXVpcmVkLCBTVkdGaXRUb1ZpZXdCb3g+OworCiBwdWJsaWM6CiAgICAgc3RhdGlj
IFJlZjxTVkdWaWV3RWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVu
dCYpOwogCkBAIC00Miw5ICs0NCw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgU1ZHVmlld0Vs
ZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKLSAgICB1c2luZyBQcm9w
ZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR1ZpZXdFbGVtZW50LCBT
VkdFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBTVkdGaXRUb1ZpZXdCb3g+
OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25z
dCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KLQogICAgIC8vIEZJWE1FKHdl
YmtpdC5vcmcvYi8xOTY1NTQpOiBzdmdBdHRyaWJ1dGVDaGFuZ2VkIG1pc3NpbmcuCiAgICAgdm9p
ZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5n
JikgZmluYWw7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuY3BwCmluZGV4IDhmNDIzNTE2YjVi
ZGJjNTI4N2NkYTQ0YWRmNDlmYzYxOGRkYzMyZWMuLjc4Yjg5YzU5ODBjMWJmOTY0ZDllMWRhZjc5
MWE4MWNjZjJiYjAzYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3U3Bl
Yy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmNwcApAQCAtMjMsMTEg
KzIzLDggQEAKIAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiU1ZHRWxlbWVudC5o
IgotI2luY2x1ZGUgIlNWR0ZpdFRvVmlld0JveC5oIgogI2luY2x1ZGUgIlNWR05hbWVzLmgiCi0j
aW5jbHVkZSAiU1ZHUGFyc2VyVXRpbGl0aWVzLmgiCiAjaW5jbHVkZSAiU1ZHVHJhbnNmb3JtTGlz
dC5oIgotI2luY2x1ZGUgIlNWR1RyYW5zZm9ybWFibGUuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCkBAIC02MCw5OSArNTcsMTA0IEBAIHZvaWQgU1ZHVmlld1NwZWM6OnJlc2V0KCkKICAgICBT
Vkdab29tQW5kUGFuOjpyZXNldCgpOwogfQogCi1zdGF0aWMgY29uc3QgVUNoYXIgc3ZnVmlld1Nw
ZWNbXSA9IHsncycsICd2JywgJ2cnLCAnVicsICdpJywgJ2UnLCAndyd9Owotc3RhdGljIGNvbnN0
IFVDaGFyIHZpZXdCb3hTcGVjW10gPSB7J3YnLCAnaScsICdlJywgJ3cnLCAnQicsICdvJywgJ3gn
fTsKLXN0YXRpYyBjb25zdCBVQ2hhciBwcmVzZXJ2ZUFzcGVjdFJhdGlvU3BlY1tdID0geydwJywg
J3InLCAnZScsICdzJywgJ2UnLCAncicsICd2JywgJ2UnLCAnQScsICdzJywgJ3AnLCAnZScsICdj
JywgJ3QnLCAnUicsICdhJywgJ3QnLCAnaScsICdvJ307Ci1zdGF0aWMgY29uc3QgVUNoYXIgdHJh
bnNmb3JtU3BlY1tdID0geyd0JywgJ3InLCAnYScsICduJywgJ3MnLCAnZicsICdvJywgJ3InLCAn
bSd9Owotc3RhdGljIGNvbnN0IFVDaGFyIHpvb21BbmRQYW5TcGVjW10gPSB7J3onLCAnbycsICdv
JywgJ20nLCAnQScsICduJywgJ2QnLCAnUCcsICdhJywgJ24nfTsKLXN0YXRpYyBjb25zdCBVQ2hh
ciB2aWV3VGFyZ2V0U3BlY1tdID0gIHsndicsICdpJywgJ2UnLCAndycsICdUJywgJ2EnLCAncics
ICdnJywgJ2UnLCAndCd9Oworc3RhdGljIE9wdGlvbmFsPFZlY3RvcjxzdGQ6OnBhaXI8U3RyaW5n
LCBTdHJpbmc+Pj4gcGFyc2VOYW1lc1ZhbHVlcyhjb25zdCBTdHJpbmcmIHN0cmluZykKK3sKKyAg
ICBWZWN0b3I8c3RkOjpwYWlyPFN0cmluZywgU3RyaW5nPj4gcmVzdWx0OworCisgICAgZm9yIChz
aXplX3QgcG9zaXRpb24gPSAwOyBwb3NpdGlvbiA8IHN0cmluZy5sZW5ndGgoKTsgKSB7CisgICAg
ICAgIHNpemVfdCBzdGFydCA9IHBvc2l0aW9uOworICAgICAgICAKKyAgICAgICAgLy8gRmluZCBv
ZiB0aGUgZW5kIG9mIHRoZSBhdHRyaWJ1dHVlIG5hbWUuCisgICAgICAgIHBvc2l0aW9uID0gc3Ry
aW5nLmZpbmQoJygnLCBzdGFydCk7CisgICAgICAgIGlmIChwb3NpdGlvbiA9PSBub3RGb3VuZCkK
KyAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICAgICAgLy8gRXh0cmFjdCB0
aGUgbmFtZSBhbmQgc3RpcCB0aGUgd2hpdGUgc3BhY2VzLgorICAgICAgICBTdHJpbmcgbmFtZSA9
IHN0cmluZy5zdWJzdHJpbmcoc3RhcnQsIHBvc2l0aW9uIC0gc3RhcnQpLnN0cmlwV2hpdGVTcGFj
ZSgpOworCisgICAgICAgIC8vIEtlZXAgdHJhY2sgb2Ygb3BlbmQgbGVmdCBwYXJlbnRoZXNlcyBi
dXQgc3RvcmUgdGhlIHBvc3Rpb25zIG9mIHRoZSBjbG9zZWQgb25lcworICAgICAgICBWZWN0b3I8
c2l6ZV90PiBsZWZ0UGFyZW50aGVzZXMgeyBwb3NpdGlvbiB9OworICAgICAgICBWZWN0b3I8c3Rk
OjpwYWlyPHNpemVfdCwgc2l6ZV90Pj4gcGFyZW50aGVzZXM7CisgICAgICAgIHN0YXJ0ID0gcG9z
aXRpb24rKzsKKworICAgICAgICB3aGlsZSAocG9zaXRpb24gPCBzdHJpbmcubGVuZ3RoKCkgJiYg
IWxlZnRQYXJlbnRoZXNlcy5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAgIGlmIChzdHJpbmdbcG9z
aXRpb25dID09ICcoJykKKyAgICAgICAgICAgICAgICBsZWZ0UGFyZW50aGVzZXMuYXBwZW5kKHBv
c2l0aW9uKTsKKyAgICAgICAgICAgIGVsc2UgaWYgKHN0cmluZ1twb3NpdGlvbl0gPT0gJyknKQor
ICAgICAgICAgICAgICAgIHBhcmVudGhlc2VzLmFwcGVuZChzdGQ6Om1ha2VfcGFpcihsZWZ0UGFy
ZW50aGVzZXMudGFrZUxhc3QoKSwgcG9zaXRpb24pKTsKKyAgICAgICAgICAgICsrcG9zaXRpb247
CisgICAgICAgIH0KKworICAgICAgICAvLyBVbmJhbGFuY2VkIHBhcmVudGhlc2VzLgorICAgICAg
ICBpZiAoIWxlZnRQYXJlbnRoZXNlcy5pc0VtcHR5KCkpCisgICAgICAgICAgICByZXR1cm4gV1RG
OjpudWxsb3B0OwogCi1ib29sIFNWR1ZpZXdTcGVjOjpwYXJzZVZpZXdTcGVjKGNvbnN0IFN0cmlu
ZyYgdmlld1NwZWMpCisgICAgICAgIHNpemVfdCBlbmQgPSBwb3NpdGlvbjsKKyAgICAgICAgCisg
ICAgICAgIC8vIFJlbW92ZSB1bm5lY2Vzc2FyeSBwYXJlbnRoZXNlcy4KKyAgICAgICAgZm9yICg7
ICFwYXJlbnRoZXNlcy5pc0VtcHR5KCk7ICsrc3RhcnQsIC0tZW5kKSB7CisgICAgICAgICAgICBh
dXRvIHBhaXIgPSBwYXJlbnRoZXNlcy50YWtlTGFzdCgpOworICAgICAgICAgICAgaWYgKHBhaXIu
Zmlyc3QgIT0gc3RhcnQgfHwgcGFpci5zZWNvbmQgIT0gZW5kIC0xKQorICAgICAgICAgICAgICAg
IGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgLy8gRXh0cmFjdCB0aGUgdmFsdWUgYW5kIHN0
aXAgdGhlIHdoaXRlIHNwYWNlcy4KKyAgICAgICAgU3RyaW5nIHZhbHVlID0gc3RyaW5nLnN1YnN0
cmluZyhzdGFydCwgZW5kIC0gc3RhcnQpLnN0cmlwV2hpdGVTcGFjZSgpOworICAgICAgICByZXN1
bHQuYXBwZW5kKHN0ZDo6bWFrZV9wYWlyKG5hbWUsIHZhbHVlKSk7CisKKyAgICAgICAgLy8gU2tp
cCB0aGUgc2VtaWNvbG9uIGlmIGl0IHNlcGFyYXRlcyB0aGUgYXR0cmlidXRlcy4KKyAgICAgICAg
aWYgKHBvc2l0aW9uIDwgc3RyaW5nLmxlbmd0aCgpICYmIHN0cmluZ1twb3NpdGlvbl0gPT0gJzsn
KQorICAgICAgICAgICAgKytwb3NpdGlvbjsKKyAgICB9CisKKyAgICByZXR1cm4gcmVzdWx0Owor
fQorCitTVkdQYXJzaW5nRXJyb3IgU1ZHVmlld1NwZWM6OnBhcnNlQXR0cmlidXRlKGNvbnN0IFF1
YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUpCit7CisgICAgaWYg
KG5hbWUgPT0gU1ZHTmFtZXM6OnRyYW5zZm9ybUF0dHIpCisgICAgICAgIHJldHVybiBtX3RyYW5z
Zm9ybS0+cGFyc2UodmFsdWUpOworCisgICAgaWYgKGF1dG8gZXJyb3IgPSBTVkdGaXRUb1ZpZXdC
b3g6OnBhcnNlQXR0cmlidXRlKG5hbWUsIHZhbHVlKSkKKyAgICAgICAgcmV0dXJuICplcnJvcjsK
KworICAgIGlmIChhdXRvIGVycm9yID0gU1ZHWm9vbUFuZFBhbjo6cGFyc2VBdHRyaWJ1dGUobmFt
ZSwgdmFsdWUpKQorICAgICAgICByZXR1cm4gKmVycm9yOworCisgICAgcmV0dXJuIFBhcnNpbmdB
dHRyaWJ1dGVGYWlsZWRFcnJvcjsKK30KKworU1ZHUGFyc2luZ0Vycm9yIFNWR1ZpZXdTcGVjOjpw
YXJzZVZpZXdTcGVjKGNvbnN0IFN0cmluZyYgdmlld1NwZWMpCiB7Ci0gICAgYXV0byB1cGNvbnZl
cnRlZENoYXJhY3RlcnMgPSBTdHJpbmdWaWV3KHZpZXdTcGVjKS51cGNvbnZlcnRlZENoYXJhY3Rl
cnMoKTsKLSAgICBjb25zdCBVQ2hhciogY3VyclZpZXdTcGVjID0gdXBjb252ZXJ0ZWRDaGFyYWN0
ZXJzOwotICAgIGNvbnN0IFVDaGFyKiBlbmQgPSBjdXJyVmlld1NwZWMgKyB2aWV3U3BlYy5sZW5n
dGgoKTsKLQotICAgIGlmIChjdXJyVmlld1NwZWMgPj0gZW5kIHx8ICFtX2NvbnRleHRFbGVtZW50
KQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBpZiAoIXNraXBTdHJpbmcoY3VyclZpZXdT
cGVjLCBlbmQsIHN2Z1ZpZXdTcGVjLCBXVEZfQVJSQVlfTEVOR1RIKHN2Z1ZpZXdTcGVjKSkpCi0g
ICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIGlmIChjdXJyVmlld1NwZWMgPj0gZW5kIHx8ICpj
dXJyVmlld1NwZWMgIT0gJygnKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgY3VyclZpZXdT
cGVjKys7Ci0KLSAgICB3aGlsZSAoY3VyclZpZXdTcGVjIDwgZW5kICYmICpjdXJyVmlld1NwZWMg
IT0gJyknKSB7Ci0gICAgICAgIGlmICgqY3VyclZpZXdTcGVjID09ICd2JykgewotICAgICAgICAg
ICAgaWYgKHNraXBTdHJpbmcoY3VyclZpZXdTcGVjLCBlbmQsIHZpZXdCb3hTcGVjLCBXVEZfQVJS
QVlfTEVOR1RIKHZpZXdCb3hTcGVjKSkpIHsKLSAgICAgICAgICAgICAgICBpZiAoY3VyclZpZXdT
cGVjID49IGVuZCB8fCAqY3VyclZpZXdTcGVjICE9ICcoJykKLSAgICAgICAgICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgICAgIGN1cnJWaWV3U3BlYysrOwotICAgICAgICAg
ICAgICAgIEZsb2F0UmVjdCB2aWV3Qm94OwotICAgICAgICAgICAgICAgIGlmICghU1ZHRml0VG9W
aWV3Qm94OjpwYXJzZVZpZXdCb3goY3VyclZpZXdTcGVjLCBlbmQsIHZpZXdCb3gsIGZhbHNlKSkK
LSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgICAgIHNldFZp
ZXdCb3godmlld0JveCk7Ci0gICAgICAgICAgICAgICAgaWYgKGN1cnJWaWV3U3BlYyA+PSBlbmQg
fHwgKmN1cnJWaWV3U3BlYyAhPSAnKScpCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKLSAgICAgICAgICAgICAgICBjdXJyVmlld1NwZWMrKzsKLSAgICAgICAgICAgIH0gZWxzZSBp
ZiAoc2tpcFN0cmluZyhjdXJyVmlld1NwZWMsIGVuZCwgdmlld1RhcmdldFNwZWMsIFdURl9BUlJB
WV9MRU5HVEgodmlld1RhcmdldFNwZWMpKSkgewotICAgICAgICAgICAgICAgIGlmIChjdXJyVmll
d1NwZWMgPj0gZW5kIHx8ICpjdXJyVmlld1NwZWMgIT0gJygnKQotICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICAgICAgY29uc3QgVUNoYXIqIHZpZXdUYXJnZXRT
dGFydCA9ICsrY3VyclZpZXdTcGVjOwotICAgICAgICAgICAgICAgIHdoaWxlIChjdXJyVmlld1Nw
ZWMgPCBlbmQgJiYgKmN1cnJWaWV3U3BlYyAhPSAnKScpCi0gICAgICAgICAgICAgICAgICAgIGN1
cnJWaWV3U3BlYysrOwotICAgICAgICAgICAgICAgIGlmIChjdXJyVmlld1NwZWMgPj0gZW5kKQot
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICAgICAgbV92aWV3
VGFyZ2V0U3RyaW5nID0gU3RyaW5nKHZpZXdUYXJnZXRTdGFydCwgY3VyclZpZXdTcGVjIC0gdmll
d1RhcmdldFN0YXJ0KTsKLSAgICAgICAgICAgICAgICBjdXJyVmlld1NwZWMrKzsKLSAgICAgICAg
ICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfSBlbHNl
IGlmICgqY3VyclZpZXdTcGVjID09ICd6JykgewotICAgICAgICAgICAgaWYgKCFza2lwU3RyaW5n
KGN1cnJWaWV3U3BlYywgZW5kLCB6b29tQW5kUGFuU3BlYywgV1RGX0FSUkFZX0xFTkdUSCh6b29t
QW5kUGFuU3BlYykpKQotICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgICAg
IGlmIChjdXJyVmlld1NwZWMgPj0gZW5kIHx8ICpjdXJyVmlld1NwZWMgIT0gJygnKQotICAgICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgICAgIGN1cnJWaWV3U3BlYysrOwotICAg
ICAgICAgICAgaWYgKCFTVkdab29tQW5kUGFuOjpwYXJzZVpvb21BbmRQYW4oY3VyclZpZXdTcGVj
LCBlbmQpKQotICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgICAgIGlmIChj
dXJyVmlld1NwZWMgPj0gZW5kIHx8ICpjdXJyVmlld1NwZWMgIT0gJyknKQotICAgICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgICAgIGN1cnJWaWV3U3BlYysrOwotICAgICAgICB9
IGVsc2UgaWYgKCpjdXJyVmlld1NwZWMgPT0gJ3AnKSB7Ci0gICAgICAgICAgICBpZiAoIXNraXBT
dHJpbmcoY3VyclZpZXdTcGVjLCBlbmQsIHByZXNlcnZlQXNwZWN0UmF0aW9TcGVjLCBXVEZfQVJS
QVlfTEVOR1RIKHByZXNlcnZlQXNwZWN0UmF0aW9TcGVjKSkpCi0gICAgICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwotICAgICAgICAgICAgaWYgKGN1cnJWaWV3U3BlYyA+PSBlbmQgfHwgKmN1cnJW
aWV3U3BlYyAhPSAnKCcpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAg
ICAgY3VyclZpZXdTcGVjKys7Ci0gICAgICAgICAgICBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVmFs
dWUgcHJlc2VydmVBc3BlY3RSYXRpbzsKLSAgICAgICAgICAgIGlmICghcHJlc2VydmVBc3BlY3RS
YXRpby5wYXJzZShjdXJyVmlld1NwZWMsIGVuZCwgZmFsc2UpKQotICAgICAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKLSAgICAgICAgICAgIHNldFByZXNlcnZlQXNwZWN0UmF0aW8ocHJlc2VydmVB
c3BlY3RSYXRpbyk7Ci0gICAgICAgICAgICBpZiAoY3VyclZpZXdTcGVjID49IGVuZCB8fCAqY3Vy
clZpZXdTcGVjICE9ICcpJykKLSAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAg
ICAgICBjdXJyVmlld1NwZWMrKzsKLSAgICAgICAgfSBlbHNlIGlmICgqY3VyclZpZXdTcGVjID09
ICd0JykgewotICAgICAgICAgICAgaWYgKCFza2lwU3RyaW5nKGN1cnJWaWV3U3BlYywgZW5kLCB0
cmFuc2Zvcm1TcGVjLCBXVEZfQVJSQVlfTEVOR1RIKHRyYW5zZm9ybVNwZWMpKSkKLSAgICAgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICBpZiAoY3VyclZpZXdTcGVjID49IGVu
ZCB8fCAqY3VyclZpZXdTcGVjICE9ICcoJykKLSAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7
Ci0gICAgICAgICAgICBjdXJyVmlld1NwZWMrKzsKLSAgICAgICAgICAgIG1fdHJhbnNmb3JtLT5w
YXJzZShjdXJyVmlld1NwZWMsIGVuZCk7Ci0gICAgICAgICAgICBpZiAoY3VyclZpZXdTcGVjID49
IGVuZCB8fCAqY3VyclZpZXdTcGVjICE9ICcpJykKLSAgICAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7Ci0gICAgICAgICAgICBjdXJyVmlld1NwZWMrKzsKLSAgICAgICAgfSBlbHNlCi0gICAgICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICAgICAgaWYgKGN1cnJWaWV3U3BlYyA8IGVuZCAmJiAq
Y3VyclZpZXdTcGVjID09ICc7JykKLSAgICAgICAgICAgIGN1cnJWaWV3U3BlYysrOworICAgIGF1
dG8gcmVzdWx0ID0gcGFyc2VOYW1lc1ZhbHVlcyh2aWV3U3BlYyk7CisgICAgaWYgKCFyZXN1bHQg
fHwgcmVzdWx0LT5zaXplKCkgIT0gMSB8fCAoKnJlc3VsdClbMF0uZmlyc3QgIT0gInN2Z1ZpZXci
KQorICAgICAgICByZXR1cm4gUGFyc2luZ0F0dHJpYnV0ZUZhaWxlZEVycm9yOworCisgICAgYXV0
byBuYW1lc1ZhbHVlcyA9IHBhcnNlTmFtZXNWYWx1ZXMoKCpyZXN1bHQpWzBdLnNlY29uZCk7Cisg
ICAgaWYgKCFuYW1lc1ZhbHVlcyB8fCBuYW1lc1ZhbHVlcy0+aXNFbXB0eSgpKQorICAgICAgICBy
ZXR1cm4gUGFyc2luZ0F0dHJpYnV0ZUZhaWxlZEVycm9yOworCisgICAgU3RyaW5nQnVpbGRlciB0
cmFuc2Zyb207CisgICAgZm9yIChhdXRvJiBuYW1lVmFsdWUgOiAqbmFtZXNWYWx1ZXMpIHsKKyAg
ICAgICAgUXVhbGlmaWVkTmFtZSBuYW1lKGVtcHR5QXRvbSgpLCBuYW1lVmFsdWUuZmlyc3QsIGVt
cHR5QXRvbSgpKTsKKyAgICAgICAgaWYgKG5hbWUubWF0Y2hlcyhTVkdOYW1lczo6dmlld1Rhcmdl
dEF0dHIpKSB7CisgICAgICAgICAgICAvLyB2aWV3VGFyZ2V0IGNhbid0IGJlIGFuIGVtcHR5IHN0
cmluZy4KKyAgICAgICAgICAgIGlmIChuYW1lVmFsdWUuc2Vjb25kLmlzRW1wdHkoKSkKKyAgICAg
ICAgICAgICAgICByZXR1cm4gVW5leHBlY3RlZEVuZE9mQXR0cmlidXRlRXJyb3I7CisgICAgICAg
ICAgICBtX3ZpZXdUYXJnZXRTdHJpbmcgPSBuYW1lVmFsdWUuc2Vjb25kOworICAgICAgICB9IGVs
c2UgaWYgKG5hbWUubWF0Y2hlcyhTVkdOYW1lczo6dHJhbnNmb3JtQXR0cikpIHsKKyAgICAgICAg
ICAgIC8vIHRyYW5zZm9ybSBjYW4gZXhpc3QgbXVsdGlwbGUgdGltZXMuIENvbGxlY3QgdmFsdWVz
IGFuZCBwYXJzZSBhdCB0aGUgZW5kLgorICAgICAgICAgICAgaWYgKHRyYW5zZnJvbS5sZW5ndGgo
KSkKKyAgICAgICAgICAgICAgICB0cmFuc2Zyb20uYXBwZW5kKCcgJyk7CisgICAgICAgICAgICB0
cmFuc2Zyb20uYXBwZW5kKG5hbWVWYWx1ZS5zZWNvbmQpOworICAgICAgICB9IGVsc2UgaWYgKGF1
dG8gZXJyb3IgPSBwYXJzZUF0dHJpYnV0ZShuYW1lLCBuYW1lVmFsdWUuc2Vjb25kKSkKKyAgICAg
ICAgICAgIHJldHVybiBlcnJvcjsKICAgICB9Ci0gICAgCi0gICAgaWYgKGN1cnJWaWV3U3BlYyA+
PSBlbmQgfHwgKmN1cnJWaWV3U3BlYyAhPSAnKScpCi0gICAgICAgIHJldHVybiBmYWxzZTsKIAot
ICAgIHJldHVybiB0cnVlOworICAgIGlmICh0cmFuc2Zyb20ubGVuZ3RoKCkpCisgICAgICAgIHJl
dHVybiBwYXJzZUF0dHJpYnV0ZShTVkdOYW1lczo6dHJhbnNmb3JtQXR0ciwgdHJhbnNmcm9tLnRv
U3RyaW5nKCkpOworCisgICAgcmV0dXJuIE5vRXJyb3I7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Zp
ZXdTcGVjLmgKaW5kZXggMmU3ZWY5Nzg2YzFhODg2ZmQyNWFjZmVhMDM3ZmM4NTBkNzlkZTUyMC4u
NmY4OGMwY2FmOTI5ZDQxN2EwMzJjZjU1MzI5OWYxZTZjNmEwOTYxMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1ZpZXdTcGVjLmgKQEAgLTMwLDEzICszMCwxNSBAQCBjbGFzcyBTVkdFbGVtZW50OwogY2xhc3Mg
U1ZHVHJhbnNmb3JtTGlzdDsKIAogY2xhc3MgU1ZHVmlld1NwZWMgZmluYWwgOiBwdWJsaWMgUmVm
Q291bnRlZDxTVkdWaWV3U3BlYz4sIHB1YmxpYyBTVkdGaXRUb1ZpZXdCb3gsIHB1YmxpYyBTVkda
b29tQW5kUGFuIHsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25l
clJlZ2lzdHJ5PFNWR1ZpZXdTcGVjLCBTVkdGaXRUb1ZpZXdCb3g+OworCiBwdWJsaWM6CiAgICAg
c3RhdGljIFJlZjxTVkdWaWV3U3BlYz4gY3JlYXRlKFNWR0VsZW1lbnQmIGNvbnRleHRFbGVtZW50
KQogICAgIHsKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU1ZHVmlld1NwZWMoY29udGV4
dEVsZW1lbnQpKTsKICAgICB9CiAKLSAgICBib29sIHBhcnNlVmlld1NwZWMoY29uc3QgU3RyaW5n
Jik7CisgICAgU1ZHUGFyc2luZ0Vycm9yIHBhcnNlVmlld1NwZWMoY29uc3QgU3RyaW5nJik7CiAg
ICAgdm9pZCByZXNldCgpOwogICAgIHZvaWQgcmVzZXRDb250ZXh0RWxlbWVudCgpIHsgbV9jb250
ZXh0RWxlbWVudCA9IG51bGxwdHI7IH0KIApAQCAtNTEsNyArNTMsNyBAQCBwdWJsaWM6CiBwcml2
YXRlOgogICAgIGV4cGxpY2l0IFNWR1ZpZXdTcGVjKFNWR0VsZW1lbnQmKTsKIAotICAgIHVzaW5n
IFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHVmlld1NwZWMs
IFNWR0ZpdFRvVmlld0JveD47CisgICAgU1ZHUGFyc2luZ0Vycm9yIHBhcnNlQXR0cmlidXRlKGNv
bnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKTsKIAogICAgIFdlYWtQdHI8
U1ZHRWxlbWVudD4gbV9jb250ZXh0RWxlbWVudDsKICAgICBTdHJpbmcgbV92aWV3VGFyZ2V0U3Ry
aW5nOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1pvb21BbmRQYW4uY3BwIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1pvb21BbmRQYW4uY3BwCmluZGV4IDE0ZDhmY2I3N2VhNTgw
MWQ2NTEwOWY0NTNkYTI1MDM2MjMxMTI3NmQuLjlhMGUwMjMxM2U4OTg2NmM3YmRmYmNhZDYzYzJh
MDRmYTMwN2MwNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdab29tQW5kUGFu
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHWm9vbUFuZFBhbi5jcHAKQEAgLTI0LDI4
ICsyNCwxNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWJvb2wgU1ZHWm9vbUFuZFBhbjo6
cGFyc2Vab29tQW5kUGFuKGNvbnN0IFVDaGFyKiYgc3RhcnQsIGNvbnN0IFVDaGFyKiBlbmQpCitP
cHRpb25hbDxTVkdQYXJzaW5nRXJyb3I+IFNWR1pvb21BbmRQYW46OnBhcnNlQXR0cmlidXRlKGNv
bnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUpCiB7Ci0g
ICAgc3RhdGljIGNvbnN0IFVDaGFyIGRpc2FibGVbXSA9IHsgJ2QnLCAnaScsICdzJywgJ2EnLCAn
YicsICdsJywgJ2UnIH07Ci0gICAgaWYgKHNraXBTdHJpbmcoc3RhcnQsIGVuZCwgZGlzYWJsZSwg
V1RGX0FSUkFZX0xFTkdUSChkaXNhYmxlKSkpIHsKLSAgICAgICAgbV96b29tQW5kUGFuID0gU1ZH
Wm9vbUFuZFBhbkRpc2FibGU7Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KKyAgICBpZiAo
IW5hbWUubWF0Y2hlcyhTVkdOYW1lczo6em9vbUFuZFBhbkF0dHIpKQorICAgICAgICByZXR1cm4g
V1RGOjpudWxsb3B0OwogCi0gICAgc3RhdGljIGNvbnN0IFVDaGFyIG1hZ25pZnlbXSA9IHsgJ20n
LCAnYScsICdnJywgJ24nLCAnaScsICdmJywgJ3knIH07Ci0gICAgaWYgKHNraXBTdHJpbmcoc3Rh
cnQsIGVuZCwgbWFnbmlmeSwgV1RGX0FSUkFZX0xFTkdUSChtYWduaWZ5KSkpIHsKLSAgICAgICAg
bV96b29tQW5kUGFuID0gU1ZHWm9vbUFuZFBhbk1hZ25pZnk7Ci0gICAgICAgIHJldHVybiB0cnVl
OwotICAgIH0KLQotICAgIHJldHVybiBmYWxzZTsKLX0KLQotdm9pZCBTVkdab29tQW5kUGFuOjpw
YXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyaWJ1dGVOYW1lLCBjb25zdCBB
dG9taWNTdHJpbmcmIHZhbHVlKQotewotICAgIGlmIChhdHRyaWJ1dGVOYW1lICE9IFNWR05hbWVz
Ojp6b29tQW5kUGFuQXR0cikKLSAgICAgICAgcmV0dXJuOwotICAgIG1fem9vbUFuZFBhbiA9IFNW
R1Byb3BlcnR5VHJhaXRzPFNWR1pvb21BbmRQYW5UeXBlPjo6ZnJvbVN0cmluZyh2YWx1ZSk7Cisg
ICAgYXV0byBleHBlY3RlZFpvb21BbmRQYW4gPSBTVkdQcm9wZXJ0eVRyYWl0czxTVkdab29tQW5k
UGFuVHlwZT46OnBhcnNlKHZhbHVlKTsKKyAgICBpZiAoIWV4cGVjdGVkWm9vbUFuZFBhbikKKyAg
ICAgICAgcmV0dXJuIGV4cGVjdGVkWm9vbUFuZFBhbi5lcnJvcigpOworICAgIAorICAgIG1fem9v
bUFuZFBhbiA9ICpleHBlY3RlZFpvb21BbmRQYW47CisgICAgcmV0dXJuIE5vRXJyb3I7CiB9CiAK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdab29tQW5kUGFuLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHWm9vbUFuZFBhbi5oCmluZGV4IDlmYmNmYjA5YWMzYWQwMTZiOGZl
MmQyOTJkYWIyMzU2MmE1MjU0YTcuLjkwNjM4ZjkxMDhiYzk1YmE2OTA2N2U3YTdlMjViMGM4OThk
YTZjMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdab29tQW5kUGFuLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1pvb21BbmRQYW4uaApAQCAtMjMsOCArMjMsOCBAQAog
CiAjaW5jbHVkZSAiRXhjZXB0aW9uT3IuaCIKICNpbmNsdWRlICJRdWFsaWZpZWROYW1lLmgiCisj
aW5jbHVkZSAiU1ZHRW51bVR5cGUuaCIKICNpbmNsdWRlICJTVkdOYW1lcy5oIgotI2luY2x1ZGUg
IlNWR1pvb21BbmRQYW5UeXBlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDEsMTcg
KzQxLDE1IEBAIHB1YmxpYzoKICAgICBTVkdab29tQW5kUGFuVHlwZSB6b29tQW5kUGFuKCkgY29u
c3QgeyByZXR1cm4gbV96b29tQW5kUGFuOyB9CiAgICAgdm9pZCBzZXRab29tQW5kUGFuKFNWR1pv
b21BbmRQYW5UeXBlIHpvb21BbmRQYW4pIHsgbV96b29tQW5kUGFuID0gem9vbUFuZFBhbjsgfQog
ICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFpvb21BbmRQYW4odW5zaWduZWQpIHsgcmV0dXJuIEV4
Y2VwdGlvbiB7IE5vTW9kaWZpY2F0aW9uQWxsb3dlZEVycm9yIH07IH0KLSAgICB2b2lkIHJlc2V0
KCkgeyBtX3pvb21BbmRQYW4gPSBTVkdQcm9wZXJ0eVRyYWl0czxTVkdab29tQW5kUGFuVHlwZT46
OmluaXRpYWxWYWx1ZSgpOyB9CisgICAgdm9pZCByZXNldCgpIHsgbV96b29tQW5kUGFuID0gU1ZH
Wm9vbUFuZFBhbk1hZ25pZnk7IH0KIAotICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVh
bGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYpOworICAgIE9wdGlvbmFsPFNWR1BhcnNp
bmdFcnJvcj4gcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21p
Y1N0cmluZyYpOwogCiBwcm90ZWN0ZWQ6CiAgICAgU1ZHWm9vbUFuZFBhbigpID0gZGVmYXVsdDsK
IAotICAgIGJvb2wgcGFyc2Vab29tQW5kUGFuKGNvbnN0IFVDaGFyKiYsIGNvbnN0IFVDaGFyKik7
Ci0KIHByaXZhdGU6Ci0gICAgU1ZHWm9vbUFuZFBhblR5cGUgbV96b29tQW5kUGFuIHsgU1ZHUHJv
cGVydHlUcmFpdHM8U1ZHWm9vbUFuZFBhblR5cGU+Ojppbml0aWFsVmFsdWUoKSB9OworICAgIFNW
R1pvb21BbmRQYW5UeXBlIG1fem9vbUFuZFBhbiB7IFNWR1pvb21BbmRQYW5NYWduaWZ5IH07CiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHWm9vbUFuZFBhblR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdab29tQW5kUGFu
VHlwZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMjBmYTkzZjYzNzY2ZDMyNzAx
NWFlNjE5MTY5NzBlNWM4NmFmNjZhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdab29tQW5kUGFuVHlwZS5oCisrKyAv
ZGV2L251bGwKQEAgLTEsNTIgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBs
ZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2luY2x1ZGUgIlNWR1Byb3BlcnR5VHJh
aXRzLmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotZW51bSBTVkdab29tQW5kUGFuVHlwZSB7
Ci0gICAgU1ZHWm9vbUFuZFBhblVua25vd24sCi0gICAgU1ZHWm9vbUFuZFBhbkRpc2FibGUsCi0g
ICAgU1ZHWm9vbUFuZFBhbk1hZ25pZnkKLX07Ci0KLXRlbXBsYXRlPD4KLXN0cnVjdCBTVkdQcm9w
ZXJ0eVRyYWl0czxTVkdab29tQW5kUGFuVHlwZT4gewotICAgIHN0YXRpYyBTVkdab29tQW5kUGFu
VHlwZSBpbml0aWFsVmFsdWUoKSB7IHJldHVybiBTVkdab29tQW5kUGFuTWFnbmlmeTsgfQotICAg
IHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoU1ZHWm9vbUFuZFBhblR5cGUpIHsgcmV0dXJuIGVtcHR5
U3RyaW5nKCk7IH0KLSAgICBzdGF0aWMgU1ZHWm9vbUFuZFBhblR5cGUgZnJvbVN0cmluZyhjb25z
dCBTdHJpbmcmIHZhbHVlKQotICAgIHsKLSAgICAgICAgaWYgKHZhbHVlID09ICJkaXNhYmxlIikK
LSAgICAgICAgICAgIHJldHVybiBTVkdab29tQW5kUGFuRGlzYWJsZTsKLSAgICAgICAgaWYgKHZh
bHVlID09ICJtYWduaWZ5IikKLSAgICAgICAgICAgIHJldHVybiBTVkdab29tQW5kUGFuTWFnbmlm
eTsKLSAgICAgICAgcmV0dXJuIFNWR1pvb21BbmRQYW5Vbmtub3duOwotICAgIH0KLX07Ci0KLX0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0RlY29yYXRlZEVu
dW1lcmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdEZWNvcmF0ZWRF
bnVtZXJhdGlvbi5oCmluZGV4IDI2NGMzNmI2OTA3NGNjZjNlMmUyOWQyNjc3MjFjZjUzNzQ1NzAz
MTEuLjEwNmJjZGU0NTViYzc0OGY1MmQ2MmNiNjMxY2QzYzQyY2ZhZGI3NDggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0RlY29yYXRlZEVudW1lcmF0aW9uLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHRGVjb3JhdGVkRW51bWVyYXRp
b24uaApAQCAtMjYsNiArMjYsNyBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJTVkdEZWNv
cmF0ZWRQcmltaXRpdmUuaCIKKyNpbmNsdWRlICJTVkdFbnVtVHJhaXRzLmgiCiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIApAQCAtNDUsNyArNDYsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIGJv
b2wgc2V0VmFsdWUoY29uc3QgRGVjb3JhdGlvblR5cGUmIHZhbHVlKSBvdmVycmlkZQogICAgIHsK
LSAgICAgICAgaWYgKCF2YWx1ZSB8fCB2YWx1ZSA+IFNWR0lETEVudW1MaW1pdHM8RW51bVR5cGU+
OjpoaWdoZXN0RXhwb3NlZEVudW1WYWx1ZSgpKQorICAgICAgICBpZiAoIVNWR1Byb3BlcnR5VHJh
aXRzPEVudW1UeXBlPjo6aXNWYWxpZEVudW0odmFsdWUpKQogICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOwogICAgICAgICBCYXNlOjpzZXRWYWx1ZUludGVybmFsKHZhbHVlKTsKICAgICAgICAgcmV0
dXJuIHRydWU7CkBAIC01Myw3ICs1NCw3IEBAIHByaXZhdGU6CiAKICAgICBEZWNvcmF0aW9uVHlw
ZSB2YWx1ZSgpIGNvbnN0IG92ZXJyaWRlCiAgICAgewotICAgICAgICBpZiAoQmFzZTo6dmFsdWUo
KSA+IFNWR0lETEVudW1MaW1pdHM8RW51bVR5cGU+OjpoaWdoZXN0RXhwb3NlZEVudW1WYWx1ZSgp
KQorICAgICAgICBpZiAoIVNWR1Byb3BlcnR5VHJhaXRzPEVudW1UeXBlPjo6aXNWYWxpZEVudW0o
QmFzZTo6dmFsdWUoKSkpCiAgICAgICAgICAgICByZXR1cm4gbV9vdXRPZlJhbmdlRW51bVZhbHVl
OwogICAgICAgICByZXR1cm4gQmFzZTo6dmFsdWUoKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdEZWNvcmF0ZWRQcmltaXRpdmUuaCBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0RlY29yYXRlZFByaW1pdGl2ZS5oCmluZGV4IGUy
YTUyNDMxMjRmMDczZjg1YWQ4ZGQ2YTk2ZGY0YTY1MzUwYjY3YzguLmZkMjQzYTE3ZDJiNmYzMjA1
NWFhNjllMjYxMjA0NzlkZDg4OWE5NTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9w
cm9wZXJ0aWVzL1NWR0RlY29yYXRlZFByaW1pdGl2ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9wcm9wZXJ0aWVzL1NWR0RlY29yYXRlZFByaW1pdGl2ZS5oCkBAIC0yNiw2ICsyNiw3IEBACiAj
cHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgIlNWR0RlY29yYXRlZFByb3BlcnR5LmgiCisjaW5jbHVk
ZSAiU1ZHRW51bVR5cGVUcmFpdHMuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdFbnVtVHJhaXRzLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdFbnVtVHJhaXRzLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWNi
MzQ2NDkxOTk2YjRiMDNhMGZmODg4MTk3OTg3NmIwMjIwNmI0OQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0VudW1UcmFpdHMuaApAQCAtMCwwICsx
LDc1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNw
cmFnbWEgb25jZQorCisjaW5jbHVkZSAiU1ZHUGFyc2luZ0Vycm9yLmgiCisjaW5jbHVkZSAiU1ZH
UHJvcGVydHlUcmFpdHMuaCIKKyNpbmNsdWRlIDx3dGYvRXhwZWN0ZWQuaD4KKyNpbmNsdWRlIDx3
dGYvVmVjdG9yLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordGVtcGxhdGU8dHlwZW5hbWU+
IHN0cnVjdCBTVkdFbnVtVHJhaXRzOworCit0ZW1wbGF0ZTx0eXBlbmFtZSBFbnVtVHlwZT4gdXNp
bmcgU1ZHRW51bVZhbHVlID0gc3RkOjpwYWlyPEVudW1UeXBlLCBTdHJpbmc+OworCit0ZW1wbGF0
ZTx0eXBlbmFtZSBFbnVtVHlwZT4gdXNpbmcgU1ZHRW51bVZhbHVlcyA9IFZlY3RvcjxTVkdFbnVt
VmFsdWU8RW51bVR5cGU+PjsKKwordGVtcGxhdGU8dHlwZW5hbWUgRW51bVR5cGU+CitzdHJ1Y3Qg
U1ZHUHJvcGVydHlUcmFpdHM8RW51bVR5cGUsIHN0ZDo6ZW5hYmxlX2lmX3Q8c3RkOjppc19lbnVt
PEVudW1UeXBlPjo6dmFsdWU+PiB7CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KKyAgICBzdGF0
aWMgY29uc3RleHByIGJvb2wgaXNWYWxpZEVudW0oVCB0KQorICAgIHsKKyAgICAgICAgc3RhdGlj
X2Fzc2VydChzaXplb2YoVCkgPj0gc3RkOjp1bmRlcmx5aW5nX3R5cGVfdDxFbnVtVHlwZT4oKSwg
IkludGVncmFsIHR5cGUgbXVzdCBiZSBhdCBsZWFzdCB0aGUgc2l6ZSBvZiB0aGUgdW5kZXJseWlu
ZyBlbnVtIHR5cGUiKTsKKyAgICAKKyAgICAgICAgaWYgKHQgPiBzdGF0aWNfY2FzdDxUPihTVkdF
bnVtVHJhaXRzPEVudW1UeXBlPjo6aGlnaGVzdEV4cG9zZWRFbnVtVmFsdWUoKSkpCisgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIHJldHVybiBTVkdFbnVtVHJhaXRzPEVudW1UeXBl
Pjo6dmFsdWVzKCkuZmluZE1hdGNoaW5nKFsmXShhdXRvJiBpdGVtKSB7CisgICAgICAgICAgICBy
ZXR1cm4gc3RhdGljX2Nhc3Q8VD4oaXRlbS5maXJzdCkgPT0gdDsKKyAgICAgICAgfSkgIT0gbm90
Rm91bmQ7CisgICAgfQorCisgICAgc3RhdGljIGNvbnN0ZXhwciBFeHBlY3RlZDxFbnVtVHlwZSwg
U1ZHUGFyc2luZ0Vycm9yPiBwYXJzZShjb25zdCBTdHJpbmcmIHN0cmluZykKKyAgICB7CisgICAg
ICAgIGF1dG8gZmluZCA9IFNWR0VudW1UcmFpdHM8RW51bVR5cGU+Ojp2YWx1ZXMoKS5maW5kTWF0
Y2hpbmcoWyZdKGF1dG8mIGl0ZW0pIHsKKyAgICAgICAgICAgIHJldHVybiBpdGVtLnNlY29uZCA9
PSBzdHJpbmc7CisgICAgICAgIH0pOworICAgICAgICBpZiAoZmluZCAhPSBub3RGb3VuZCkKKyAg
ICAgICAgICAgIHJldHVybiBTVkdFbnVtVHJhaXRzPEVudW1UeXBlPjo6dmFsdWVzKClbZmluZF0u
Zmlyc3Q7CisgICAgICAgIHJldHVybiBtYWtlVW5leHBlY3RlZChVbnJlY29nbml6ZWRFbnVtVmFs
dWVFcnJvcik7CisgICAgfQorICAgIHN0YXRpYyBjb25zdGV4cHIgRW51bVR5cGUgZnJvbVN0cmlu
Zyhjb25zdCBTdHJpbmcmIHN0cmluZykgeyByZXR1cm4gcGFyc2Uoc3RyaW5nKS52YWx1ZV9vcigw
KTsgfQorCisgICAgc3RhdGljIFN0cmluZyB0b1N0cmluZyhFbnVtVHlwZSB2YWx1ZSkKKyAgICB7
CisgICAgICAgIGF1dG8gZmluZCA9IFNWR0VudW1UcmFpdHM8RW51bVR5cGU+Ojp2YWx1ZXMoKS5m
aW5kTWF0Y2hpbmcoWyZdKGF1dG8mIGl0ZW0pIHsKKyAgICAgICAgICAgIHJldHVybiBpdGVtLmZp
cnN0ID09IHZhbHVlOworICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJuIGZpbmQgIT0gbm90Rm91
bmQgPyBTVkdFbnVtVHJhaXRzPEVudW1UeXBlPjo6dmFsdWVzKClbZmluZF0uc2Vjb25kIDogZW1w
dHlTdHJpbmcoKTsKKyAgICB9Cit9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvcHJvcGVydGllcy9TVkdFbnVtVHlwZS5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRp
ZXMvU1ZHRW51bVR5cGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNjE4N2EzODc3NDc1NWRiMTg4MDk2ZTRkODU0
NDUwYTFhMmVlNGRkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3Bl
cnRpZXMvU1ZHRW51bVR5cGUuaApAQCAtMCwwICsxLDgwIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDE5IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAg
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK2VudW0gU1ZHTGVuZ3RoQWRqdXN0VHlwZSB7CisgICAgU1ZHTGVuZ3RoQWRqdXN0
VW5rbm93biwKKyAgICBTVkdMZW5ndGhBZGp1c3RTcGFjaW5nLAorICAgIFNWR0xlbmd0aEFkanVz
dFNwYWNpbmdBbmRHbHlwaHMKK307CisKK2VudW0gU1ZHTWFya2VyVW5pdHNUeXBlIHsKKyAgICBT
VkdNYXJrZXJVbml0c1Vua25vd24gPSAwLAorICAgIFNWR01hcmtlclVuaXRzVXNlclNwYWNlT25V
c2UsCisgICAgU1ZHTWFya2VyVW5pdHNTdHJva2VXaWR0aAorfTsKKworZW51bSBTVkdNYXJrZXJP
cmllbnRUeXBlIHsKKyAgICBTVkdNYXJrZXJPcmllbnRVbmtub3duID0gMCwKKyAgICBTVkdNYXJr
ZXJPcmllbnRBdXRvLAorICAgIFNWR01hcmtlck9yaWVudEFuZ2xlLAorICAgIFNWR01hcmtlck9y
aWVudEF1dG9TdGFydFJldmVyc2UKK307CisKK2VudW0gU1ZHU3ByZWFkTWV0aG9kVHlwZSB7Cisg
ICAgU1ZHU3ByZWFkTWV0aG9kVW5rbm93biA9IDAsCisgICAgU1ZHU3ByZWFkTWV0aG9kUGFkLAor
ICAgIFNWR1NwcmVhZE1ldGhvZFJlZmxlY3QsCisgICAgU1ZHU3ByZWFkTWV0aG9kUmVwZWF0Cit9
OworCitlbnVtIFNWR1N0aXRjaE9wdGlvbnMgeworICAgIFNWR1N0aXRjaFR5cGVVbmtub3duICA9
IDAsCisgICAgU1ZHU3RpdGNoVHlwZVN0aXRjaCwKKyAgICBTVkdTdGl0Y2hUeXBlTm9TdGl0Y2gK
K307CisKK2VudW0gU1ZHVGV4dFBhdGhNZXRob2RUeXBlIHsKKyAgICBTVkdUZXh0UGF0aE1ldGhv
ZFVua25vd24gPSAwLAorICAgIFNWR1RleHRQYXRoTWV0aG9kQWxpZ24sCisgICAgU1ZHVGV4dFBh
dGhNZXRob2RTdHJldGNoCit9OworCitlbnVtIFNWR1RleHRQYXRoU3BhY2luZ1R5cGUgeworICAg
IFNWR1RleHRQYXRoU3BhY2luZ1Vua25vd24gPSAwLAorICAgIFNWR1RleHRQYXRoU3BhY2luZ0F1
dG8sCisgICAgU1ZHVGV4dFBhdGhTcGFjaW5nRXhhY3QKK307CisKK2VudW0gU1ZHWm9vbUFuZFBh
blR5cGUgeworICAgIFNWR1pvb21BbmRQYW5Vbmtub3duID0gMCwKKyAgICBTVkdab29tQW5kUGFu
RGlzYWJsZSwKKyAgICBTVkdab29tQW5kUGFuTWFnbmlmeQorfTsKKworfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0VudW1UeXBlVHJhaXRzLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdFbnVtVHlwZVRyYWl0cy5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjMxNWY5NTU2ZmEwMGYxN2U5MDgxYzIyMDIzMjJjN2NhNWYyMmUzYTkKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdFbnVtVHlwZVRyYWl0cy5oCkBA
IC0wLDAgKzEsMjc0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
KyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiRkVDb2xvck1hdHJpeC5oIgorI2luY2x1
ZGUgIkZFQ29tcG9uZW50VHJhbnNmZXIuaCIKKyNpbmNsdWRlICJGRUNvbXBvc2l0ZS5oIgorI2lu
Y2x1ZGUgIkZFQ29udm9sdmVNYXRyaXguaCIKKyNpbmNsdWRlICJGRURpc3BsYWNlbWVudE1hcC5o
IgorI2luY2x1ZGUgIkZFTW9ycGhvbG9neS5oIgorI2luY2x1ZGUgIkZFVHVyYnVsZW5jZS5oIgor
I2luY2x1ZGUgIlNWR0VudW1UcmFpdHMuaCIKKyNpbmNsdWRlICJTVkdFbnVtVHlwZS5oIgorI2lu
Y2x1ZGUgIlNWR1VuaXRUeXBlcy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3RlbXBsYXRl
PD4gc3RydWN0IFNWR0VudW1UcmFpdHM8QmxlbmRNb2RlPiB7CisgICAgc3RhdGljIGNvbnN0IFNW
R0VudW1WYWx1ZXM8QmxlbmRNb2RlPiYgdmFsdWVzKCkKKyAgICB7CisgICAgICAgIHN0YXRpYyBO
ZXZlckRlc3Ryb3llZDxTVkdFbnVtVmFsdWVzPEJsZW5kTW9kZT4+IHZhbHVlcyhzdGQ6OmluaXRp
YWxpemVyX2xpc3Q8U1ZHRW51bVZhbHVlPEJsZW5kTW9kZT4+IHsKKyAgICAgICAgICAgIHsgQmxl
bmRNb2RlOjpOb3JtYWwsICAgICAibm9ybWFsIl9zIH0sCisgICAgICAgICAgICB7IEJsZW5kTW9k
ZTo6TXVsdGlwbHksICAgIm11bHRpcGx5Il9zIH0sCisgICAgICAgICAgICB7IEJsZW5kTW9kZTo6
U2NyZWVuLCAgICAgInNjcmVlbiJfcyB9LAorICAgICAgICAgICAgeyBCbGVuZE1vZGU6OkRhcmtl
biwgICAgICJkYXJrZW4iX3MgfSwKKyAgICAgICAgICAgIHsgQmxlbmRNb2RlOjpMaWdodGVuLCAg
ICAibGlnaHRlbiJfcyB9LAorICAgICAgICAgICAgeyBCbGVuZE1vZGU6Ok92ZXJsYXksICAgICJv
dmVybGF5Il9zIH0sCisgICAgICAgICAgICB7IEJsZW5kTW9kZTo6Q29sb3JEb2RnZSwgImNvbG9y
LWRvZGdlIl9zIH0sCisgICAgICAgICAgICB7IEJsZW5kTW9kZTo6Q29sb3JCdXJuLCAgImNvbG9y
LWJ1cm4iX3MgfSwKKyAgICAgICAgICAgIHsgQmxlbmRNb2RlOjpIYXJkTGlnaHQsICAiaGFyZC1s
aWdodCJfcyB9LAorICAgICAgICAgICAgeyBCbGVuZE1vZGU6OlNvZnRMaWdodCwgICJzb2Z0LWxp
Z2h0Il9zIH0sCisgICAgICAgICAgICB7IEJsZW5kTW9kZTo6RGlmZmVyZW5jZSwgImRpZmZlcmVu
Y2UiX3MgfSwKKyAgICAgICAgICAgIHsgQmxlbmRNb2RlOjpFeGNsdXNpb24sICAiZXhjbHVzaW9u
Il9zIH0sCisgICAgICAgICAgICB7IEJsZW5kTW9kZTo6SHVlLCAgICAgICAgImh1ZSJfcyB9LAor
ICAgICAgICAgICAgeyBCbGVuZE1vZGU6OlNhdHVyYXRpb24sICJzYXR1cmF0aW9uIl9zIH0sCisg
ICAgICAgICAgICB7IEJsZW5kTW9kZTo6Q29sb3IsICAgICAgImNvbG9yIl9zIH0sCisgICAgICAg
ICAgICB7IEJsZW5kTW9kZTo6THVtaW5vc2l0eSwgImx1bWlub3NpdHkiX3MgfQorICAgICAgICB9
KTsKKyAgICAgICAgcmV0dXJuIHZhbHVlczsKKyAgICB9CisgICAgc3RhdGljIGNvbnN0ZXhwciBh
dXRvIGhpZ2hlc3RFeHBvc2VkRW51bVZhbHVlKCkgeyByZXR1cm4gQmxlbmRNb2RlOjpMdW1pbm9z
aXR5OyB9Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBTVkdFbnVtVHJhaXRzPENoYW5uZWxTZWxl
Y3RvclR5cGU+IHsKKyAgICBzdGF0aWMgY29uc3QgU1ZHRW51bVZhbHVlczxDaGFubmVsU2VsZWN0
b3JUeXBlPiYgdmFsdWVzKCkKKyAgICB7CisgICAgICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxT
VkdFbnVtVmFsdWVzPENoYW5uZWxTZWxlY3RvclR5cGU+PiB2YWx1ZXMoc3RkOjppbml0aWFsaXpl
cl9saXN0PFNWR0VudW1WYWx1ZTxDaGFubmVsU2VsZWN0b3JUeXBlPj4geworICAgICAgICAgICAg
eyBDSEFOTkVMX1IsICAgICAgICJSIl9zIH0sCisgICAgICAgICAgICB7IENIQU5ORUxfRywgICAg
ICAgIkciX3MgfSwKKyAgICAgICAgICAgIHsgQ0hBTk5FTF9CLCAgICAgICAiQiJfcyB9LAorICAg
ICAgICAgICAgeyBDSEFOTkVMX0EsICAgICAgICJBIl9zIH0KKyAgICAgICAgfSk7CisgICAgICAg
IHJldHVybiB2YWx1ZXM7CisgICAgfQorICAgIHN0YXRpYyBjb25zdGV4cHIgYXV0byBoaWdoZXN0
RXhwb3NlZEVudW1WYWx1ZSgpIHsgcmV0dXJuIENIQU5ORUxfQTsgfQorfTsKKwordGVtcGxhdGU8
PiBzdHJ1Y3QgU1ZHRW51bVRyYWl0czxDb21wb25lbnRUcmFuc2ZlclR5cGU+IHsKKyAgICBzdGF0
aWMgY29uc3QgU1ZHRW51bVZhbHVlczxDb21wb25lbnRUcmFuc2ZlclR5cGU+JiB2YWx1ZXMoKQor
ICAgIHsKKyAgICAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFNWR0VudW1WYWx1ZXM8Q29tcG9u
ZW50VHJhbnNmZXJUeXBlPj4gdmFsdWVzKHN0ZDo6aW5pdGlhbGl6ZXJfbGlzdDxTVkdFbnVtVmFs
dWU8Q29tcG9uZW50VHJhbnNmZXJUeXBlPj4geworICAgICAgICAgICAgeyBGRUNPTVBPTkVOVFRS
QU5TRkVSX1RZUEVfSURFTlRJVFksICJpZGVudGl0eSJfcyB9LAorICAgICAgICAgICAgeyBGRUNP
TVBPTkVOVFRSQU5TRkVSX1RZUEVfVEFCTEUsICAgICJ0YWJsZSJfcyB9LAorICAgICAgICAgICAg
eyBGRUNPTVBPTkVOVFRSQU5TRkVSX1RZUEVfRElTQ1JFVEUsICJkaXNjcmV0ZSJfcyB9LAorICAg
ICAgICAgICAgeyBGRUNPTVBPTkVOVFRSQU5TRkVSX1RZUEVfTElORUFSLCAgICJsaW5lYXIiX3Mg
fSwKKyAgICAgICAgICAgIHsgRkVDT01QT05FTlRUUkFOU0ZFUl9UWVBFX0dBTU1BLCAgICAiZ2Ft
bWEiX3MgfQorICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJuIHZhbHVlczsKKyAgICB9CisgICAg
c3RhdGljIGNvbnN0ZXhwciBhdXRvIGhpZ2hlc3RFeHBvc2VkRW51bVZhbHVlKCkgeyByZXR1cm4g
RkVDT01QT05FTlRUUkFOU0ZFUl9UWVBFX0dBTU1BOyB9Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVj
dCBTVkdFbnVtVHJhaXRzPENvbG9yTWF0cml4VHlwZT4geworICAgIHN0YXRpYyBjb25zdCBTVkdF
bnVtVmFsdWVzPENvbG9yTWF0cml4VHlwZT4mIHZhbHVlcygpCisgICAgeworICAgICAgICBzdGF0
aWMgTmV2ZXJEZXN0cm95ZWQ8U1ZHRW51bVZhbHVlczxDb2xvck1hdHJpeFR5cGU+PiB2YWx1ZXMo
c3RkOjppbml0aWFsaXplcl9saXN0PFNWR0VudW1WYWx1ZTxDb2xvck1hdHJpeFR5cGU+PiB7Cisg
ICAgICAgICAgICB7IEZFQ09MT1JNQVRSSVhfVFlQRV9NQVRSSVgsICAgICAgICAgICAibWF0cml4
Il9zIH0sCisgICAgICAgICAgICB7IEZFQ09MT1JNQVRSSVhfVFlQRV9TQVRVUkFURSwgICAgICAg
ICAic2F0dXJhdGUiX3MgfSwKKyAgICAgICAgICAgIHsgRkVDT0xPUk1BVFJJWF9UWVBFX0hVRVJP
VEFURSwgICAgICAgICJodWVSb3RhdGUiX3MgfSwKKyAgICAgICAgICAgIHsgRkVDT0xPUk1BVFJJ
WF9UWVBFX0xVTUlOQU5DRVRPQUxQSEEsICJsdW1pbmFuY2VUb0FscGhhIl9zIH0sCisgICAgICAg
IH0pOworICAgICAgICByZXR1cm4gdmFsdWVzOworICAgIH0KKyAgICBzdGF0aWMgY29uc3RleHBy
IGF1dG8gaGlnaGVzdEV4cG9zZWRFbnVtVmFsdWUoKSB7IHJldHVybiBGRUNPTE9STUFUUklYX1RZ
UEVfTFVNSU5BTkNFVE9BTFBIQTsgfQorfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgU1ZHRW51bVRy
YWl0czxDb21wb3NpdGVPcGVyYXRpb25UeXBlPiB7CisgICAgc3RhdGljIGNvbnN0IFNWR0VudW1W
YWx1ZXM8Q29tcG9zaXRlT3BlcmF0aW9uVHlwZT4mIHZhbHVlcygpCisgICAgeworICAgICAgICBz
dGF0aWMgTmV2ZXJEZXN0cm95ZWQ8U1ZHRW51bVZhbHVlczxDb21wb3NpdGVPcGVyYXRpb25UeXBl
Pj4gdmFsdWVzKHN0ZDo6aW5pdGlhbGl6ZXJfbGlzdDxTVkdFbnVtVmFsdWU8Q29tcG9zaXRlT3Bl
cmF0aW9uVHlwZT4+IHsKKyAgICAgICAgICAgIHsgRkVDT01QT1NJVEVfT1BFUkFUT1JfT1ZFUiwg
ICAgICAgIm92ZXIiX3MgfSwKKyAgICAgICAgICAgIHsgRkVDT01QT1NJVEVfT1BFUkFUT1JfSU4s
ICAgICAgICAgImluIl9zIH0sCisgICAgICAgICAgICB7IEZFQ09NUE9TSVRFX09QRVJBVE9SX09V
VCwgICAgICAgICJvdXQiX3MgfSwKKyAgICAgICAgICAgIHsgRkVDT01QT1NJVEVfT1BFUkFUT1Jf
QVRPUCwgICAgICAgImF0b3AiX3MgfSwKKyAgICAgICAgICAgIHsgRkVDT01QT1NJVEVfT1BFUkFU
T1JfWE9SLCAgICAgICAgInhvciJfcyB9LAorICAgICAgICAgICAgeyBGRUNPTVBPU0lURV9PUEVS
QVRPUl9BUklUSE1FVElDLCAiYXJpdGhtZXRpYyJfcyB9LAorICAgICAgICAgICAgeyBGRUNPTVBP
U0lURV9PUEVSQVRPUl9MSUdIVEVSLCAgICAibGlnaHRlciJfcyB9LAorICAgICAgICB9KTsKKyAg
ICAgICAgcmV0dXJuIHZhbHVlczsKKyAgICB9CisgICAgc3RhdGljIGNvbnN0ZXhwciBhdXRvIGhp
Z2hlc3RFeHBvc2VkRW51bVZhbHVlKCkgeyByZXR1cm4gRkVDT01QT1NJVEVfT1BFUkFUT1JfQVJJ
VEhNRVRJQzsgfQorfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgU1ZHRW51bVRyYWl0czxFZGdlTW9k
ZVR5cGU+IHsKKyAgICBzdGF0aWMgY29uc3QgU1ZHRW51bVZhbHVlczxFZGdlTW9kZVR5cGU+JiB2
YWx1ZXMoKQorICAgIHsKKyAgICAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFNWR0VudW1WYWx1
ZXM8RWRnZU1vZGVUeXBlPj4gdmFsdWVzKHN0ZDo6aW5pdGlhbGl6ZXJfbGlzdDxTVkdFbnVtVmFs
dWU8RWRnZU1vZGVUeXBlPj4geworICAgICAgICAgICAgeyBFREdFTU9ERV9EVVBMSUNBVEUsICJk
dXBsaWNhdGUiX3MgfSwKKyAgICAgICAgICAgIHsgRURHRU1PREVfV1JBUCwgICAgICAid3JhcCJf
cyB9LAorICAgICAgICAgICAgeyBFREdFTU9ERV9OT05FLCAgICAgICJub25lIl9zIH0sCisgICAg
ICAgIH0pOworICAgICAgICByZXR1cm4gdmFsdWVzOworICAgIH0KKyAgICBzdGF0aWMgY29uc3Rl
eHByIGF1dG8gaGlnaGVzdEV4cG9zZWRFbnVtVmFsdWUoKSB7IHJldHVybiBFREdFTU9ERV9OT05F
OyB9Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBTVkdFbnVtVHJhaXRzPE1vcnBob2xvZ3lPcGVy
YXRvclR5cGU+IHsKKyAgICBzdGF0aWMgY29uc3QgU1ZHRW51bVZhbHVlczxNb3JwaG9sb2d5T3Bl
cmF0b3JUeXBlPiYgdmFsdWVzKCkKKyAgICB7CisgICAgICAgIHN0YXRpYyBOZXZlckRlc3Ryb3ll
ZDxTVkdFbnVtVmFsdWVzPE1vcnBob2xvZ3lPcGVyYXRvclR5cGU+PiB2YWx1ZXMoc3RkOjppbml0
aWFsaXplcl9saXN0PFNWR0VudW1WYWx1ZTxNb3JwaG9sb2d5T3BlcmF0b3JUeXBlPj4geworICAg
ICAgICAgICAgeyBGRU1PUlBIT0xPR1lfT1BFUkFUT1JfRVJPREUsICAgImVyb2RlIl9zIH0sCisg
ICAgICAgICAgICB7IEZFTU9SUEhPTE9HWV9PUEVSQVRPUl9ESUxBVEUsICAiZGlsYXRlIl9zIH0s
CisgICAgICAgIH0pOworICAgICAgICByZXR1cm4gdmFsdWVzOworICAgIH0KKyAgICBzdGF0aWMg
Y29uc3RleHByIGF1dG8gaGlnaGVzdEV4cG9zZWRFbnVtVmFsdWUoKSB7IHJldHVybiBGRU1PUlBI
T0xPR1lfT1BFUkFUT1JfRElMQVRFOyB9Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBTVkdFbnVt
VHJhaXRzPFR1cmJ1bGVuY2VUeXBlPiB7CisgICAgc3RhdGljIGNvbnN0IFNWR0VudW1WYWx1ZXM8
VHVyYnVsZW5jZVR5cGU+JiB2YWx1ZXMoKQorICAgIHsKKyAgICAgICAgc3RhdGljIE5ldmVyRGVz
dHJveWVkPFNWR0VudW1WYWx1ZXM8VHVyYnVsZW5jZVR5cGU+PiB2YWx1ZXMoc3RkOjppbml0aWFs
aXplcl9saXN0PFNWR0VudW1WYWx1ZTxUdXJidWxlbmNlVHlwZT4+IHsKKyAgICAgICAgICAgIHsg
VHVyYnVsZW5jZVR5cGU6OkZyYWN0YWxOb2lzZSwgImZyYWN0YWxOb2lzZSJfcyB9LAorICAgICAg
ICAgICAgeyBUdXJidWxlbmNlVHlwZTo6VHVyYnVsZW5jZSwgICAidHVyYnVsZW5jZSJfcyB9Cisg
ICAgICAgIH0pOworICAgICAgICByZXR1cm4gdmFsdWVzOworICAgIH0KKyAgICBzdGF0aWMgY29u
c3RleHByIGF1dG8gaGlnaGVzdEV4cG9zZWRFbnVtVmFsdWUoKSB7IHJldHVybiBUdXJidWxlbmNl
VHlwZTo6VHVyYnVsZW5jZTsgfQorfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgU1ZHRW51bVRyYWl0
czxTVkdMZW5ndGhBZGp1c3RUeXBlPiB7CisgICAgc3RhdGljIGNvbnN0IFNWR0VudW1WYWx1ZXM8
U1ZHTGVuZ3RoQWRqdXN0VHlwZT4mIHZhbHVlcygpCisgICAgeworICAgICAgICBzdGF0aWMgTmV2
ZXJEZXN0cm95ZWQ8U1ZHRW51bVZhbHVlczxTVkdMZW5ndGhBZGp1c3RUeXBlPj4gdmFsdWVzKHN0
ZDo6aW5pdGlhbGl6ZXJfbGlzdDxTVkdFbnVtVmFsdWU8U1ZHTGVuZ3RoQWRqdXN0VHlwZT4+IHsK
KyAgICAgICAgICAgIHsgU1ZHTGVuZ3RoQWRqdXN0U3BhY2luZywgICAgICAgICAgInNwYWNpbmci
X3MgfSwKKyAgICAgICAgICAgIHsgU1ZHTGVuZ3RoQWRqdXN0U3BhY2luZ0FuZEdseXBocywgInNw
YWNpbmdBbmRHbHlwaHMiX3MgfQorICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJuIHZhbHVlczsK
KyAgICB9CisgICAgc3RhdGljIGNvbnN0ZXhwciBhdXRvIGhpZ2hlc3RFeHBvc2VkRW51bVZhbHVl
KCkgeyByZXR1cm4gU1ZHTGVuZ3RoQWRqdXN0U3BhY2luZ0FuZEdseXBoczsgfQorfTsKKwordGVt
cGxhdGU8PiBzdHJ1Y3QgU1ZHRW51bVRyYWl0czxTVkdNYXJrZXJVbml0c1R5cGU+IHsKKyAgICBz
dGF0aWMgY29uc3QgU1ZHRW51bVZhbHVlczxTVkdNYXJrZXJVbml0c1R5cGU+JiB2YWx1ZXMoKQor
ICAgIHsKKyAgICAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFNWR0VudW1WYWx1ZXM8U1ZHTWFy
a2VyVW5pdHNUeXBlPj4gdmFsdWVzKHN0ZDo6aW5pdGlhbGl6ZXJfbGlzdDxTVkdFbnVtVmFsdWU8
U1ZHTWFya2VyVW5pdHNUeXBlPj4geworICAgICAgICAgICAgeyBTVkdNYXJrZXJVbml0c1VzZXJT
cGFjZU9uVXNlLCAidXNlclNwYWNlT25Vc2UiX3MgfSwKKyAgICAgICAgICAgIHsgU1ZHTWFya2Vy
VW5pdHNTdHJva2VXaWR0aCwgICAgInN0cm9rZVdpZHRoIl9zIH0KKyAgICAgICAgfSk7CisgICAg
ICAgIHJldHVybiB2YWx1ZXM7CisgICAgfQorICAgIHN0YXRpYyBjb25zdGV4cHIgYXV0byBoaWdo
ZXN0RXhwb3NlZEVudW1WYWx1ZSgpIHsgcmV0dXJuIFNWR01hcmtlclVuaXRzU3Ryb2tlV2lkdGg7
IH0KK307CisKK3RlbXBsYXRlPD4gc3RydWN0IFNWR0VudW1UcmFpdHM8U1ZHTWFya2VyT3JpZW50
VHlwZT4geworICAgIHN0YXRpYyBjb25zdCBTVkdFbnVtVmFsdWVzPFNWR01hcmtlck9yaWVudFR5
cGU+JiB2YWx1ZXMoKQorICAgIHsKKyAgICAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFNWR0Vu
dW1WYWx1ZXM8U1ZHTWFya2VyT3JpZW50VHlwZT4+IHZhbHVlcyhzdGQ6OmluaXRpYWxpemVyX2xp
c3Q8U1ZHRW51bVZhbHVlPFNWR01hcmtlck9yaWVudFR5cGU+PiB7CisgICAgICAgICAgICB7IFNW
R01hcmtlck9yaWVudEF1dG8sICAgICAgICAgICAgICJhdXRvIl9zIH0sCisgICAgICAgICAgICB7
IFNWR01hcmtlck9yaWVudEFuZ2xlLCAgICAgICAgICAgIGVtcHR5U3RyaW5nKCkgfSwKKyAgICAg
ICAgICAgIHsgU1ZHTWFya2VyT3JpZW50QXV0b1N0YXJ0UmV2ZXJzZSwgImF1dG8tc3RhcnQtcmV2
ZXJzZSJfcyB9CisgICAgICAgIH0pOworICAgICAgICByZXR1cm4gdmFsdWVzOworICAgIH0KKyAg
ICBzdGF0aWMgY29uc3RleHByIGF1dG8gaGlnaGVzdEV4cG9zZWRFbnVtVmFsdWUoKSB7IHJldHVy
biBTVkdNYXJrZXJPcmllbnRBbmdsZTsgfQorfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgU1ZHRW51
bVRyYWl0czxTVkdTcHJlYWRNZXRob2RUeXBlPiB7CisgICAgc3RhdGljIGNvbnN0IFNWR0VudW1W
YWx1ZXM8U1ZHU3ByZWFkTWV0aG9kVHlwZT4mIHZhbHVlcygpCisgICAgeworICAgICAgICBzdGF0
aWMgTmV2ZXJEZXN0cm95ZWQ8U1ZHRW51bVZhbHVlczxTVkdTcHJlYWRNZXRob2RUeXBlPj4gdmFs
dWVzKHN0ZDo6aW5pdGlhbGl6ZXJfbGlzdDxTVkdFbnVtVmFsdWU8U1ZHU3ByZWFkTWV0aG9kVHlw
ZT4+IHsKKyAgICAgICAgICAgIHsgU1ZHU3ByZWFkTWV0aG9kUGFkLCAgICAgInBhZCJfcyB9LAor
ICAgICAgICAgICAgeyBTVkdTcHJlYWRNZXRob2RSZWZsZWN0LCAicmVmbGVjdCJfcyB9LAorICAg
ICAgICAgICAgeyBTVkdTcHJlYWRNZXRob2RSZXBlYXQsICAicmVwZWF0Il9zIH0KKyAgICAgICAg
fSk7CisgICAgICAgIHJldHVybiB2YWx1ZXM7CisgICAgfQorICAgIHN0YXRpYyBjb25zdGV4cHIg
YXV0byBoaWdoZXN0RXhwb3NlZEVudW1WYWx1ZSgpIHsgcmV0dXJuIFNWR1NwcmVhZE1ldGhvZFJl
cGVhdDsgfQorfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgU1ZHRW51bVRyYWl0czxTVkdTdGl0Y2hP
cHRpb25zPiB7CisgICAgc3RhdGljIGNvbnN0IFNWR0VudW1WYWx1ZXM8U1ZHU3RpdGNoT3B0aW9u
cz4mIHZhbHVlcygpCisgICAgeworICAgICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8U1ZHRW51
bVZhbHVlczxTVkdTdGl0Y2hPcHRpb25zPj4gdmFsdWVzKHN0ZDo6aW5pdGlhbGl6ZXJfbGlzdDxT
VkdFbnVtVmFsdWU8U1ZHU3RpdGNoT3B0aW9ucz4+IHsKKyAgICAgICAgICAgIHsgU1ZHU3RpdGNo
VHlwZVN0aXRjaCwgICAic3RpdGNoIl9zIH0sCisgICAgICAgICAgICB7IFNWR1N0aXRjaFR5cGVO
b1N0aXRjaCwgIm5vU3RpdGNoIl9zIH0KKyAgICAgICAgfSk7CisgICAgICAgIHJldHVybiB2YWx1
ZXM7CisgICAgfQorICAgIHN0YXRpYyBjb25zdGV4cHIgYXV0byBoaWdoZXN0RXhwb3NlZEVudW1W
YWx1ZSgpIHsgcmV0dXJuIFNWR1N0aXRjaFR5cGVOb1N0aXRjaDsgfQorfTsKKwordGVtcGxhdGU8
PiBzdHJ1Y3QgU1ZHRW51bVRyYWl0czxTVkdUZXh0UGF0aE1ldGhvZFR5cGU+IHsKKyAgICBzdGF0
aWMgY29uc3QgU1ZHRW51bVZhbHVlczxTVkdUZXh0UGF0aE1ldGhvZFR5cGU+JiB2YWx1ZXMoKQor
ICAgIHsKKyAgICAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFNWR0VudW1WYWx1ZXM8U1ZHVGV4
dFBhdGhNZXRob2RUeXBlPj4gdmFsdWVzKHN0ZDo6aW5pdGlhbGl6ZXJfbGlzdDxTVkdFbnVtVmFs
dWU8U1ZHVGV4dFBhdGhNZXRob2RUeXBlPj4geworICAgICAgICAgICAgeyBTVkdUZXh0UGF0aE1l
dGhvZEFsaWduLCAgICJhbGlnbiJfcyB9LAorICAgICAgICAgICAgeyBTVkdUZXh0UGF0aE1ldGhv
ZFN0cmV0Y2gsICJzdHJldGNoIl9zIH0KKyAgICAgICAgfSk7CisgICAgICAgIHJldHVybiB2YWx1
ZXM7CisgICAgfQorICAgIHN0YXRpYyBjb25zdGV4cHIgYXV0byBoaWdoZXN0RXhwb3NlZEVudW1W
YWx1ZSgpIHsgcmV0dXJuIFNWR1RleHRQYXRoTWV0aG9kU3RyZXRjaDsgfQorfTsKKwordGVtcGxh
dGU8PiBzdHJ1Y3QgU1ZHRW51bVRyYWl0czxTVkdUZXh0UGF0aFNwYWNpbmdUeXBlPiB7CisgICAg
c3RhdGljIGNvbnN0IFNWR0VudW1WYWx1ZXM8U1ZHVGV4dFBhdGhTcGFjaW5nVHlwZT4mIHZhbHVl
cygpCisgICAgeworICAgICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8U1ZHRW51bVZhbHVlczxT
VkdUZXh0UGF0aFNwYWNpbmdUeXBlPj4gdmFsdWVzKHN0ZDo6aW5pdGlhbGl6ZXJfbGlzdDxTVkdF
bnVtVmFsdWU8U1ZHVGV4dFBhdGhTcGFjaW5nVHlwZT4+IHsKKyAgICAgICAgICAgIHsgU1ZHVGV4
dFBhdGhTcGFjaW5nQXV0bywgICAgImF1dG8iX3MgfSwKKyAgICAgICAgICAgIHsgU1ZHVGV4dFBh
dGhTcGFjaW5nRXhhY3QsICAgImV4YWN0Il9zIH0KKyAgICAgICAgfSk7CisgICAgICAgIHJldHVy
biB2YWx1ZXM7CisgICAgfQorICAgIHN0YXRpYyBjb25zdGV4cHIgYXV0byBoaWdoZXN0RXhwb3Nl
ZEVudW1WYWx1ZSgpIHsgcmV0dXJuIFNWR1RleHRQYXRoU3BhY2luZ0V4YWN0OyB9Cit9OworCit0
ZW1wbGF0ZTw+IHN0cnVjdCBTVkdFbnVtVHJhaXRzPFNWR1VuaXRUeXBlczo6U1ZHVW5pdFR5cGU+
IHsKKyAgICBzdGF0aWMgY29uc3QgU1ZHRW51bVZhbHVlczxTVkdVbml0VHlwZXM6OlNWR1VuaXRU
eXBlPiYgdmFsdWVzKCkKKyAgICB7CisgICAgICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxTVkdF
bnVtVmFsdWVzPFNWR1VuaXRUeXBlczo6U1ZHVW5pdFR5cGU+PiB2YWx1ZXMoc3RkOjppbml0aWFs
aXplcl9saXN0PFNWR0VudW1WYWx1ZTxTVkdVbml0VHlwZXM6OlNWR1VuaXRUeXBlPj4geworICAg
ICAgICAgICAgeyBTVkdVbml0VHlwZXM6OlNWR19VTklUX1RZUEVfVVNFUlNQQUNFT05VU0UsICAg
ICJ1c2VyU3BhY2VPblVzZSJfcyB9LAorICAgICAgICAgICAgeyBTVkdVbml0VHlwZXM6OlNWR19V
TklUX1RZUEVfT0JKRUNUQk9VTkRJTkdCT1gsICJvYmplY3RCb3VuZGluZ0JveCJfcyB9CisgICAg
ICAgIH0pOworICAgICAgICByZXR1cm4gdmFsdWVzOworICAgIH0KKyAgICBzdGF0aWMgY29uc3Rl
eHByIGF1dG8gaGlnaGVzdEV4cG9zZWRFbnVtVmFsdWUoKSB7IHJldHVybiBTVkdVbml0VHlwZXM6
OlNWR19VTklUX1RZUEVfT0JKRUNUQk9VTkRJTkdCT1g7IH0KK307CisKK3RlbXBsYXRlPD4gc3Ry
dWN0IFNWR0VudW1UcmFpdHM8U1ZHWm9vbUFuZFBhblR5cGU+IHsKKyAgICBzdGF0aWMgY29uc3Qg
U1ZHRW51bVZhbHVlczxTVkdab29tQW5kUGFuVHlwZT4mIHZhbHVlcygpCisgICAgeworICAgICAg
ICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8U1ZHRW51bVZhbHVlczxTVkdab29tQW5kUGFuVHlwZT4+
IHZhbHVlcyhzdGQ6OmluaXRpYWxpemVyX2xpc3Q8U1ZHRW51bVZhbHVlPFNWR1pvb21BbmRQYW5U
eXBlPj4geworICAgICAgICAgICAgeyBTVkdab29tQW5kUGFuRGlzYWJsZSwgImRpc2FibGUiX3Mg
fSwKKyAgICAgICAgICAgIHsgU1ZHWm9vbUFuZFBhbk1hZ25pZnksICJtYWduaWZ5Il9zIH0KKyAg
ICAgICAgfSk7CisgICAgICAgIHJldHVybiB2YWx1ZXM7CisgICAgfQorICAgIHN0YXRpYyBjb25z
dGV4cHIgYXV0byBoaWdoZXN0RXhwb3NlZEVudW1WYWx1ZSgpIHsgcmV0dXJuIFNWR1pvb21BbmRQ
YW5NYWduaWZ5OyB9Cit9OworCit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL3By
b3BlcnRpZXMvU1ZHUHJpbWl0aXZlTGlzdC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRp
ZXMvU1ZHUHJpbWl0aXZlTGlzdC5oCmluZGV4IDQ1NzMxYTM4MDMxNjdkZGUxMzZiMzFhZTM1MWE5
ODBlN2VjNzI2NTkuLmEwNGZmM2QzNGM0NjljNGJkMTFhNmU2NzMwNWFjM2I2ZDBlYzFlYzIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1ByaW1pdGl2ZUxpc3Qu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdQcmltaXRpdmVMaXN0LmgK
QEAgLTI2LDE1ICsyNiw1MCBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJTVkdMaXN0Lmgi
CisjaW5jbHVkZSAiU1ZHUGFyc2VyVXRpbGl0aWVzLmgiCisjaW5jbHVkZSAiU1ZHUGFyc2luZ0Vy
cm9yLmgiCisjaW5jbHVkZSAiU1ZHUHJvcGVydHlUcmFpdHMuaCIKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBQcm9wZXJ0eVR5cGU+CiBjbGFzcyBTVkdQcmltaXRp
dmVMaXN0IDogcHVibGljIFNWR0xpc3Q8UHJvcGVydHlUeXBlPiB7Ci1wcm90ZWN0ZWQ6CiAgICAg
dXNpbmcgQmFzZSA9IFNWR0xpc3Q8UHJvcGVydHlUeXBlPjsKICAgICB1c2luZyBCYXNlOjpCYXNl
OworICAgIHVzaW5nIEJhc2U6OmNsZWFySXRlbXM7CiAgICAgdXNpbmcgQmFzZTo6c2l6ZTsKKwor
cHVibGljOgorICAgIFNWR1BhcnNpbmdFcnJvciBwYXJzZShjb25zdCBTdHJpbmcmIHN0cmluZykK
KyAgICB7CisgICAgICAgIGNsZWFySXRlbXMoKTsKKworICAgICAgICBhdXRvIHVwY29udmVydGVk
Q2hhcmFjdGVycyA9IFN0cmluZ1ZpZXcoc3RyaW5nKS51cGNvbnZlcnRlZENoYXJhY3RlcnMoKTsK
KyAgICAgICAgY29uc3QgVUNoYXIqIHB0ciA9IHVwY29udmVydGVkQ2hhcmFjdGVyczsKKyAgICAg
ICAgY29uc3QgVUNoYXIqIGVuZCA9IHB0ciArIHN0cmluZy5sZW5ndGgoKTsKKworICAgICAgICBi
b29sIGRlbGltUGFyc2VkID0gZmFsc2U7CisgICAgICAgIHdoaWxlIChza2lwT3B0aW9uYWxTVkdT
cGFjZXMocHRyLCBlbmQpKSB7CisgICAgICAgICAgICBkZWxpbVBhcnNlZCA9IGZhbHNlOworCisg
ICAgICAgICAgICBBU1NFUlQocHRyIDwgZW5kKTsKKyAgICAgICAgICAgIGNvbnN0IFVDaGFyKiBz
dGFydCA9IHB0cjsKKyAgICAgICAgICAgIHdoaWxlIChwdHIgPCBlbmQgJiYgIWlzU1ZHU3BhY2Uo
KnB0cikpCisgICAgICAgICAgICAgICAgcHRyKys7CisgICAgICAgICAgICAKKyAgICAgICAgICAg
IEFTU0VSVChwdHIgPiBzdGFydCk7CisgICAgICAgICAgICBhcHBlbmQoU1ZHUHJvcGVydHlUcmFp
dHM8UHJvcGVydHlUeXBlPjo6ZnJvbVN0cmluZyhTdHJpbmcoc3RhcnQsIHB0ciAtIHN0YXJ0KSkp
OworCisgICAgICAgICAgICBpZiAocHRyIDwgZW5kICYmICpwdHIgPT0gJywnKSB7CisgICAgICAg
ICAgICAgICAgKytwdHI7CisgICAgICAgICAgICAgICAgZGVsaW1QYXJzZWQgPSB0cnVlOworICAg
ICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIGRlbGltUGFyc2VkID8gVW5l
eHBlY3RlZEVuZE9mQXR0cmlidXRlRXJyb3IgOiBOb0Vycm9yOworICAgIH0KKworcHJvdGVjdGVk
OgogICAgIHVzaW5nIEJhc2U6Om1faXRlbXM7CiAKICAgICBQcm9wZXJ0eVR5cGUgYXQodW5zaWdu
ZWQgaW5kZXgpIGNvbnN0IG92ZXJyaWRlCkBAIC03MCw2ICsxMDUsMTkgQEAgcHJvdGVjdGVkOgog
ICAgICAgICBtX2l0ZW1zLmFwcGVuZChXVEZNb3ZlKG5ld0l0ZW0pKTsKICAgICAgICAgcmV0dXJu
IGF0KHNpemUoKSAtIDEpOwogICAgIH0KKworICAgIFN0cmluZyB2YWx1ZUFzU3RyaW5nKCkgY29u
c3Qgb3ZlcnJpZGUKKyAgICB7CisgICAgICAgIFN0cmluZ0J1aWxkZXIgYnVpbGRlcjsKKworICAg
ICAgICBmb3IgKGF1dG8gaXRlbSA6IG1faXRlbXMpIHsKKyAgICAgICAgICAgIGlmIChidWlsZGVy
Lmxlbmd0aCgpKQorICAgICAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCcgJyk7CisgICAgICAg
ICAgICBidWlsZGVyLmFwcGVuZChTVkdQcm9wZXJ0eVRyYWl0czxQcm9wZXJ0eVR5cGU+Ojp0b1N0
cmluZyhpdGVtKSk7CisgICAgICAgIH0KKworICAgICAgICByZXR1cm4gYnVpbGRlci50b1N0cmlu
ZygpOworICAgIH0KIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9w
ZXJ0aWVzL1NWR1Byb3BlcnR5VHJhaXRzLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGll
cy9TVkdQcm9wZXJ0eVRyYWl0cy5oCmluZGV4IGJiODNlNzdkMzY0ZGRkNTQxYzNkMWNkNGIxOWQ0
YjMyMzhiODljMTIuLjllYWRkOWUzMTI5OTZlMWE0MzA2N2E2Yjk2OTM4ODRmNGVjZjE3NjIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5VHJhaXRz
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHUHJvcGVydHlUcmFpdHMu
aApAQCAtMSw3ICsxLDcgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYs
IDIwMDcsIDIwMDggTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CiAgKiBD
b3B5cmlnaHQgKEMpIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTAuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE4LTIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu
IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2Yg
dGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0yNSwxMjQgKzI1LDk3IEBACiAjaW5j
bHVkZSAiQ29sb3IuaCIKICNpbmNsdWRlICJGbG9hdFBvaW50LmgiCiAjaW5jbHVkZSAiRmxvYXRS
ZWN0LmgiCi0jaW5jbHVkZSAiUXVhbGlmaWVkTmFtZS5oIgogI2luY2x1ZGUgIlNWR1BhcnNlclV0
aWxpdGllcy5oIgorI2luY2x1ZGUgIlNWR1BhcnNpbmdFcnJvci5oIgorI2luY2x1ZGUgPHd0Zi9F
eHBlY3RlZC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KICNpbmNsdWRl
IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi10ZW1wbGF0
ZTx0eXBlbmFtZSBQcm9wZXJ0eVR5cGU+Cit0ZW1wbGF0ZTx0eXBlbmFtZSBQcm9wZXJ0eVR5cGUs
IGNsYXNzIEVuYWJsZXIgPSB2b2lkPgogc3RydWN0IFNWR1Byb3BlcnR5VHJhaXRzIHsgfTsKIAog
dGVtcGxhdGU8Pgogc3RydWN0IFNWR1Byb3BlcnR5VHJhaXRzPGJvb2w+IHsKICAgICBzdGF0aWMg
Ym9vbCBpbml0aWFsVmFsdWUoKSB7IHJldHVybiBmYWxzZTsgfQotICAgIHN0YXRpYyBib29sIGZy
b21TdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJpbmcpIHsgcmV0dXJuIHN0cmluZyA9PSAidHJ1ZSI7
IH0KLSAgICBzdGF0aWMgT3B0aW9uYWw8Ym9vbD4gcGFyc2UoY29uc3QgUXVhbGlmaWVkTmFtZSYs
IGNvbnN0IFN0cmluZyYpIHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7IHJldHVybiBpbml0aWFsVmFs
dWUoKTsgfQotICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoYm9vbCB0eXBlKSB7IHJldHVybiB0
eXBlID8gInRydWUiIDogImZhbHNlIjsgfQorICAgIHN0YXRpYyBFeHBlY3RlZDxib29sLCBTVkdQ
YXJzaW5nRXJyb3I+IHBhcnNlKGNvbnN0IFN0cmluZyYgc3RyaW5nKQorICAgIHsKKyAgICAgICAg
aWYgKHN0cmluZyA9PSAidHJ1ZSIpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAg
aWYgKHN0cmluZyA9PSAiZmFsc2UiKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAg
ICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQoUGFyc2luZ0F0dHJpYnV0ZUZhaWxlZEVycm9yKTsKKyAg
ICB9CisgICAgc3RhdGljIGJvb2wgZnJvbVN0cmluZyhjb25zdCBTdHJpbmcmIHN0cmluZykgeyBy
ZXR1cm4gcGFyc2Uoc3RyaW5nKS52YWx1ZV9vcihpbml0aWFsVmFsdWUoKSk7IH0KKyAgICBzdGF0
aWMgU3RyaW5nIHRvU3RyaW5nKGJvb2wgdmFsdWUpIHsgcmV0dXJuIHZhbHVlID8gInRydWUiIDog
ImZhbHNlIjsgfQogfTsKIAogdGVtcGxhdGU8Pgogc3RydWN0IFNWR1Byb3BlcnR5VHJhaXRzPENv
bG9yPiB7CiAgICAgc3RhdGljIENvbG9yIGluaXRpYWxWYWx1ZSgpIHsgcmV0dXJuIENvbG9yKCk7
IH0KLSAgICBzdGF0aWMgQ29sb3IgZnJvbVN0cmluZyhjb25zdCBTdHJpbmcmIHN0cmluZykgeyBy
ZXR1cm4gQ1NTUGFyc2VyOjpwYXJzZUNvbG9yKHN0cmluZy5zdHJpcFdoaXRlU3BhY2UoKSk7IH0K
LSAgICBzdGF0aWMgT3B0aW9uYWw8Q29sb3I+IHBhcnNlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBj
b25zdCBTdHJpbmcmIHN0cmluZykKKyAgICBzdGF0aWMgRXhwZWN0ZWQ8Q29sb3IsIFNWR1BhcnNp
bmdFcnJvcj4gcGFyc2UoY29uc3QgU3RyaW5nJiBzdHJpbmcpCiAgICAgewotICAgICAgICBDb2xv
ciBjb2xvciA9IENTU1BhcnNlcjo6cGFyc2VDb2xvcihzdHJpbmcuc3RyaXBXaGl0ZVNwYWNlKCkp
OwotICAgICAgICBpZiAoIWNvbG9yLmlzVmFsaWQoKSkKLSAgICAgICAgICAgIHJldHVybiBXVEY6
Om51bGxvcHQ7Ci0gICAgICAgIHJldHVybiBjb2xvcjsKKyAgICAgICAgQ29sb3IgdmFsdWUgPSBD
U1NQYXJzZXI6OnBhcnNlQ29sb3Ioc3RyaW5nLnN0cmlwV2hpdGVTcGFjZSgpKTsKKyAgICAgICAg
aWYgKCF2YWx1ZS5pc1ZhbGlkKCkpCisgICAgICAgICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQo
UGFyc2luZ0F0dHJpYnV0ZUZhaWxlZEVycm9yKTsKKyAgICAgICAgcmV0dXJuIHZhbHVlOwogICAg
IH0KLSAgICBzdGF0aWMgU3RyaW5nIHRvU3RyaW5nKGNvbnN0IENvbG9yJiB0eXBlKSB7IHJldHVy
biB0eXBlLnNlcmlhbGl6ZWQoKTsgfQotfTsKLQotdGVtcGxhdGU8Pgotc3RydWN0IFNWR1Byb3Bl
cnR5VHJhaXRzPHVuc2lnbmVkPiB7Ci0gICAgc3RhdGljIHVuc2lnbmVkIGluaXRpYWxWYWx1ZSgp
IHsgcmV0dXJuIDA7IH0KLSAgICBzdGF0aWMgT3B0aW9uYWw8dW5zaWduZWQ+IHBhcnNlKGNvbnN0
IFF1YWxpZmllZE5hbWUmLCBjb25zdCBTdHJpbmcmKSB7IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyBy
ZXR1cm4gaW5pdGlhbFZhbHVlKCk7IH0KLSAgICBzdGF0aWMgU3RyaW5nIHRvU3RyaW5nKHVuc2ln
bmVkIHR5cGUpIHsgcmV0dXJuIFN0cmluZzo6bnVtYmVyKHR5cGUpOyB9Ci19OwotCi10ZW1wbGF0
ZTw+Ci1zdHJ1Y3QgU1ZHUHJvcGVydHlUcmFpdHM8aW50PiB7Ci0gICAgc3RhdGljIGludCBpbml0
aWFsVmFsdWUoKSB7IHJldHVybiAwOyB9Ci0gICAgc3RhdGljIGludCBmcm9tU3RyaW5nKGNvbnN0
IFN0cmluZyZzdHJpbmcpIHsgcmV0dXJuIHN0cmluZy50b0ludFN0cmljdCgpOyB9Ci0gICAgc3Rh
dGljIE9wdGlvbmFsPGludD4gcGFyc2UoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IFN0cmlu
ZyYpIHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7IHJldHVybiBpbml0aWFsVmFsdWUoKTsgfQotICAg
IHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoaW50IHR5cGUpIHsgcmV0dXJuIFN0cmluZzo6bnVtYmVy
KHR5cGUpOyB9CisgICAgc3RhdGljIENvbG9yIGZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJp
bmcpIHsgcmV0dXJuIHBhcnNlKHN0cmluZykudmFsdWVfb3IoaW5pdGlhbFZhbHVlKCkpOyB9Cisg
ICAgc3RhdGljIFN0cmluZyB0b1N0cmluZyhjb25zdCBDb2xvciYgdmFsdWUpIHsgcmV0dXJuIHZh
bHVlLnNlcmlhbGl6ZWQoKTsgfQogfTsKIAogdGVtcGxhdGU8Pgotc3RydWN0IFNWR1Byb3BlcnR5
VHJhaXRzPHN0ZDo6cGFpcjxpbnQsIGludD4+IHsKLSAgICBzdGF0aWMgc3RkOjpwYWlyPGludCwg
aW50PiBpbml0aWFsVmFsdWUoKSB7IHJldHVybiB7IH07IH0KLSAgICBzdGF0aWMgc3RkOjpwYWly
PGludCwgaW50PiBmcm9tU3RyaW5nKGNvbnN0IFN0cmluZyYgc3RyaW5nKQotICAgIHsKLSAgICAg
ICAgZmxvYXQgZmlyc3ROdW1iZXIgPSAwLCBzZWNvbmROdW1iZXIgPSAwOwotICAgICAgICBpZiAo
IXBhcnNlTnVtYmVyT3B0aW9uYWxOdW1iZXIoc3RyaW5nLCBmaXJzdE51bWJlciwgc2Vjb25kTnVt
YmVyKSkKLSAgICAgICAgICAgIHJldHVybiB7IH07Ci0gICAgICAgIHJldHVybiBzdGQ6Om1ha2Vf
cGFpcihzdGF0aWNfY2FzdDxpbnQ+KHJvdW5kZihmaXJzdE51bWJlcikpLCBzdGF0aWNfY2FzdDxp
bnQ+KHJvdW5kZihzZWNvbmROdW1iZXIpKSk7Ci0gICAgfQotICAgIHN0YXRpYyBPcHRpb25hbDxz
dGQ6OnBhaXI8aW50LCBpbnQ+PiBwYXJzZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgU3Ry
aW5nJikgeyBBU1NFUlRfTk9UX1JFQUNIRUQoKTsgcmV0dXJuIGluaXRpYWxWYWx1ZSgpOyB9Ci0g
ICAgc3RhdGljIFN0cmluZyB0b1N0cmluZyhzdGQ6OnBhaXI8aW50LCBpbnQ+KSB7IEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOyByZXR1cm4gZW1wdHlTdHJpbmcoKTsgfQorc3RydWN0IFNWR1Byb3BlcnR5
VHJhaXRzPFN0cmluZz4geworICAgIHN0YXRpYyBTdHJpbmcgaW5pdGlhbFZhbHVlKCkgeyByZXR1
cm4gU3RyaW5nKCk7IH0KKyAgICBzdGF0aWMgRXhwZWN0ZWQ8U3RyaW5nLCBTVkdQYXJzaW5nRXJy
b3I+IHBhcnNlKGNvbnN0IFN0cmluZyYgc3RyaW5nKSB7IHJldHVybiBzdHJpbmc7IH0KKyAgICBz
dGF0aWMgU3RyaW5nIGZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJpbmcpIHsgcmV0dXJuIHN0
cmluZzsgfQorICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoY29uc3QgU3RyaW5nJiB2YWx1ZSkg
eyByZXR1cm4gdmFsdWU7IH0KIH07CiAKIHRlbXBsYXRlPD4KIHN0cnVjdCBTVkdQcm9wZXJ0eVRy
YWl0czxmbG9hdD4gewogICAgIHN0YXRpYyBmbG9hdCBpbml0aWFsVmFsdWUoKSB7IHJldHVybiAw
OyB9Ci0gICAgc3RhdGljIGZsb2F0IGZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJpbmcpCisg
ICAgc3RhdGljIEV4cGVjdGVkPGZsb2F0LCBTVkdQYXJzaW5nRXJyb3I+IHBhcnNlKGNvbnN0IFN0
cmluZyYgc3RyaW5nLCBTVkdQYXJzaW5nT3B0aW9ucyBwYXJzaW5nT3B0aW9ucyA9IE5vT3B0aW9u
cykKICAgICB7Ci0gICAgICAgIGZsb2F0IG51bWJlciA9IDA7Ci0gICAgICAgIGlmICghcGFyc2VO
dW1iZXJGcm9tU3RyaW5nKHN0cmluZywgbnVtYmVyKSkKLSAgICAgICAgICAgIHJldHVybiAwOwot
ICAgICAgICByZXR1cm4gbnVtYmVyOworICAgICAgICBmbG9hdCB2YWx1ZTsKKyAgICAgICAgaWYg
KChwYXJzaW5nT3B0aW9ucyAmIEFsbG93UGVyY2VudGFnZSkgJiYgc3RyaW5nLmVuZHNXaXRoKCcl
JykpCisgICAgICAgICAgICB2YWx1ZSA9IHN0cmluZy5sZWZ0KHN0cmluZy5sZW5ndGgoKSAtIDEp
LnRvRmxvYXQoKSAvIDEwMDsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdmFsdWUgPSBzdHJp
bmcudG9GbG9hdCgpOworICAgICAgICBpZiAoYXV0byBlcnJvciA9IHZhbGlkYXRlTnVtZXJpYyh2
YWx1ZSwgcGFyc2luZ09wdGlvbnMpKQorICAgICAgICAgICAgcmV0dXJuIG1ha2VVbmV4cGVjdGVk
KGVycm9yKTsKKyAgICAgICAgcmV0dXJuIHZhbHVlOwogICAgIH0KLSAgICBzdGF0aWMgT3B0aW9u
YWw8ZmxvYXQ+IHBhcnNlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBTdHJpbmcmIHN0cmlu
ZykKLSAgICB7Ci0gICAgICAgIGZsb2F0IG51bWJlcjsKLSAgICAgICAgaWYgKCFwYXJzZU51bWJl
ckZyb21TdHJpbmcoc3RyaW5nLCBudW1iZXIpKQotICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVs
bG9wdDsKLSAgICAgICAgcmV0dXJuIG51bWJlcjsKLSAgICB9Ci0gICAgc3RhdGljIFN0cmluZyB0
b1N0cmluZyhmbG9hdCB0eXBlKSB7IHJldHVybiBTdHJpbmc6Om51bWJlclRvU3RyaW5nRml4ZWRQ
cmVjaXNpb24odHlwZSk7IH0KKyAgICBzdGF0aWMgZmxvYXQgZnJvbVN0cmluZyhjb25zdCBTdHJp
bmcmIHN0cmluZykgeyByZXR1cm4gcGFyc2Uoc3RyaW5nKS52YWx1ZV9vcihpbml0aWFsVmFsdWUo
KSk7IH0KKyAgICBzdGF0aWMgU3RyaW5nIHRvU3RyaW5nKGZsb2F0IHZhbHVlKSB7IHJldHVybiBT
dHJpbmc6Om51bWJlclRvU3RyaW5nRml4ZWRQcmVjaXNpb24odmFsdWUpOyB9CiB9OwogCiB0ZW1w
bGF0ZTw+Ci1zdHJ1Y3QgU1ZHUHJvcGVydHlUcmFpdHM8c3RkOjpwYWlyPGZsb2F0LCBmbG9hdD4+
IHsKLSAgICBzdGF0aWMgc3RkOjpwYWlyPGZsb2F0LCBmbG9hdD4gaW5pdGlhbFZhbHVlKCkgeyBy
ZXR1cm4geyB9OyB9Ci0gICAgc3RhdGljIHN0ZDo6cGFpcjxmbG9hdCwgZmxvYXQ+IGZyb21TdHJp
bmcoY29uc3QgU3RyaW5nJiBzdHJpbmcpCi0gICAgewotICAgICAgICBmbG9hdCBmaXJzdE51bWJl
ciA9IDAsIHNlY29uZE51bWJlciA9IDA7Ci0gICAgICAgIGlmICghcGFyc2VOdW1iZXJPcHRpb25h
bE51bWJlcihzdHJpbmcsIGZpcnN0TnVtYmVyLCBzZWNvbmROdW1iZXIpKQotICAgICAgICAgICAg
cmV0dXJuIHsgfTsKLSAgICAgICAgcmV0dXJuIHN0ZDo6bWFrZV9wYWlyKGZpcnN0TnVtYmVyLCBz
ZWNvbmROdW1iZXIpOwotICAgIH0KLSAgICBzdGF0aWMgT3B0aW9uYWw8c3RkOjpwYWlyPGZsb2F0
LCBmbG9hdD4+IHBhcnNlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBTdHJpbmcmKSB7IEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOyByZXR1cm4gaW5pdGlhbFZhbHVlKCk7IH0KLSAgICBzdGF0aWMg
U3RyaW5nIHRvU3RyaW5nKHN0ZDo6cGFpcjxmbG9hdCwgZmxvYXQ+KSB7IEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOyByZXR1cm4gZW1wdHlTdHJpbmcoKTsgfQorc3RydWN0IFNWR1Byb3BlcnR5VHJhaXRz
PGludD4geworICAgIHN0YXRpYyBpbnQgaW5pdGlhbFZhbHVlKCkgeyByZXR1cm4gMDsgfQorICAg
IHN0YXRpYyBFeHBlY3RlZDxpbnQsIFNWR1BhcnNpbmdFcnJvcj4gcGFyc2UoY29uc3QgU3RyaW5n
JiBzdHJpbmcpIHsgcmV0dXJuIHN0cmluZy50b0ludFN0cmljdCgpOyB9CisgICAgc3RhdGljIGlu
dCBmcm9tU3RyaW5nKGNvbnN0IFN0cmluZyYgc3RyaW5nKSB7IHJldHVybiBwYXJzZShzdHJpbmcp
LnZhbHVlX29yKGluaXRpYWxWYWx1ZSgpKTsgfQorICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmco
aW50IHZhbHVlKSB7IHJldHVybiBTdHJpbmc6Om51bWJlcih2YWx1ZSk7IH0KIH07CiAKIHRlbXBs
YXRlPD4KIHN0cnVjdCBTVkdQcm9wZXJ0eVRyYWl0czxGbG9hdFBvaW50PiB7CiAgICAgc3RhdGlj
IEZsb2F0UG9pbnQgaW5pdGlhbFZhbHVlKCkgeyByZXR1cm4gRmxvYXRQb2ludCgpOyB9Ci0gICAg
c3RhdGljIEZsb2F0UG9pbnQgZnJvbVN0cmluZyhjb25zdCBTdHJpbmcmIHN0cmluZykKLSAgICB7
Ci0gICAgICAgIEZsb2F0UG9pbnQgcG9pbnQ7Ci0gICAgICAgIGlmICghcGFyc2VQb2ludChzdHJp
bmcsIHBvaW50KSkKLSAgICAgICAgICAgIHJldHVybiB7IH07Ci0gICAgICAgIHJldHVybiBwb2lu
dDsKLSAgICB9Ci0gICAgc3RhdGljIE9wdGlvbmFsPEZsb2F0UG9pbnQ+IHBhcnNlKGNvbnN0IFF1
YWxpZmllZE5hbWUmLCBjb25zdCBTdHJpbmcmIHN0cmluZykKKyAgICBzdGF0aWMgRXhwZWN0ZWQ8
RmxvYXRQb2ludCwgU1ZHUGFyc2luZ0Vycm9yPiBwYXJzZShjb25zdCBTdHJpbmcmIHN0cmluZykK
ICAgICB7Ci0gICAgICAgIEZsb2F0UG9pbnQgcG9pbnQ7Ci0gICAgICAgIGlmICghcGFyc2VQb2lu
dChzdHJpbmcsIHBvaW50KSkKLSAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Ci0gICAg
ICAgIHJldHVybiBwb2ludDsKKyAgICAgICAgRmxvYXRQb2ludCB2YWx1ZTsKKyAgICAgICAgaWYg
KCFwYXJzZVBvaW50KHN0cmluZywgdmFsdWUpKQorICAgICAgICAgICAgcmV0dXJuIG1ha2VVbmV4
cGVjdGVkKFBhcnNpbmdBdHRyaWJ1dGVGYWlsZWRFcnJvcik7CisgICAgICAgIHJldHVybiB2YWx1
ZTsKICAgICB9Ci0gICAgc3RhdGljIFN0cmluZyB0b1N0cmluZyhjb25zdCBGbG9hdFBvaW50JiB0
eXBlKQorICAgIHN0YXRpYyBGbG9hdFBvaW50IGZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJp
bmcpIHsgcmV0dXJuIHBhcnNlKHN0cmluZykudmFsdWVfb3IoaW5pdGlhbFZhbHVlKCkpOyB9Cisg
ICAgc3RhdGljIFN0cmluZyB0b1N0cmluZyhjb25zdCBGbG9hdFBvaW50JiB2YWx1ZSkKICAgICB7
CiAgICAgICAgIFN0cmluZ0J1aWxkZXIgYnVpbGRlcjsKLSAgICAgICAgYnVpbGRlci5hcHBlbmRG
aXhlZFByZWNpc2lvbk51bWJlcih0eXBlLngoKSk7CisgICAgICAgIGJ1aWxkZXIuYXBwZW5kRml4
ZWRQcmVjaXNpb25OdW1iZXIodmFsdWUueCgpKTsKICAgICAgICAgYnVpbGRlci5hcHBlbmQoJyAn
KTsKLSAgICAgICAgYnVpbGRlci5hcHBlbmRGaXhlZFByZWNpc2lvbk51bWJlcih0eXBlLnkoKSk7
CisgICAgICAgIGJ1aWxkZXIuYXBwZW5kRml4ZWRQcmVjaXNpb25OdW1iZXIodmFsdWUueSgpKTsK
ICAgICAgICAgcmV0dXJuIGJ1aWxkZXIudG9TdHJpbmcoKTsKICAgICB9CiB9OwpAQCAtMTUwLDQ2
ICsxMjMsNzMgQEAgc3RydWN0IFNWR1Byb3BlcnR5VHJhaXRzPEZsb2F0UG9pbnQ+IHsKIHRlbXBs
YXRlPD4KIHN0cnVjdCBTVkdQcm9wZXJ0eVRyYWl0czxGbG9hdFJlY3Q+IHsKICAgICBzdGF0aWMg
RmxvYXRSZWN0IGluaXRpYWxWYWx1ZSgpIHsgcmV0dXJuIEZsb2F0UmVjdCgpOyB9Ci0gICAgc3Rh
dGljIEZsb2F0UmVjdCBmcm9tU3RyaW5nKGNvbnN0IFN0cmluZyYgc3RyaW5nKQotICAgIHsKLSAg
ICAgICAgRmxvYXRSZWN0IHJlY3Q7Ci0gICAgICAgIGlmICghcGFyc2VSZWN0KHN0cmluZywgcmVj
dCkpCi0gICAgICAgICAgICByZXR1cm4geyB9OwotICAgICAgICByZXR1cm4gcmVjdDsKLSAgICB9
Ci0gICAgc3RhdGljIE9wdGlvbmFsPEZsb2F0UmVjdD4gcGFyc2UoY29uc3QgUXVhbGlmaWVkTmFt
ZSYsIGNvbnN0IFN0cmluZyYgc3RyaW5nKQorICAgIHN0YXRpYyBFeHBlY3RlZDxGbG9hdFJlY3Qs
IFNWR1BhcnNpbmdFcnJvcj4gcGFyc2UoY29uc3QgU3RyaW5nJiBzdHJpbmcsIFNWR1BhcnNpbmdP
cHRpb25zIHBhcnNpbmdPcHRpb25zID0gTm9PcHRpb25zKQogICAgIHsKLSAgICAgICAgRmxvYXRS
ZWN0IHJlY3Q7Ci0gICAgICAgIGlmICghcGFyc2VSZWN0KHN0cmluZywgcmVjdCkpCi0gICAgICAg
ICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwotICAgICAgICByZXR1cm4gcmVjdDsKKyAgICAgICAg
RmxvYXRSZWN0IHZhbHVlOworICAgICAgICBpZiAoIXBhcnNlUmVjdChzdHJpbmcsIHZhbHVlKSkK
KyAgICAgICAgICAgIHJldHVybiBtYWtlVW5leHBlY3RlZChQYXJzaW5nQXR0cmlidXRlRmFpbGVk
RXJyb3IpOworICAgICAgICBpZiAoYXV0byBlcnJvciA9IHZhbGlkYXRlTnVtZXJpYyh2YWx1ZS53
aWR0aCgpLCBwYXJzaW5nT3B0aW9ucykpCisgICAgICAgICAgICByZXR1cm4gbWFrZVVuZXhwZWN0
ZWQoZXJyb3IpOworICAgICAgICBpZiAoYXV0byBlcnJvciA9IHZhbGlkYXRlTnVtZXJpYyh2YWx1
ZS5oZWlnaHQoKSwgcGFyc2luZ09wdGlvbnMpKQorICAgICAgICAgICAgcmV0dXJuIG1ha2VVbmV4
cGVjdGVkKGVycm9yKTsKKyAgICAgICAgcmV0dXJuIHZhbHVlOwogICAgIH0KLSAgICBzdGF0aWMg
U3RyaW5nIHRvU3RyaW5nKGNvbnN0IEZsb2F0UmVjdCYgdHlwZSkKKyAgICBzdGF0aWMgRmxvYXRS
ZWN0IGZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJpbmcpIHsgcmV0dXJuIHBhcnNlKHN0cmlu
ZykudmFsdWVfb3IoaW5pdGlhbFZhbHVlKCkpOyB9CisgICAgc3RhdGljIFN0cmluZyB0b1N0cmlu
Zyhjb25zdCBGbG9hdFJlY3QmIHZhbHVlKQogICAgIHsKICAgICAgICAgU3RyaW5nQnVpbGRlciBi
dWlsZGVyOwotICAgICAgICBidWlsZGVyLmFwcGVuZEZpeGVkUHJlY2lzaW9uTnVtYmVyKHR5cGUu
eCgpKTsKKyAgICAgICAgYnVpbGRlci5hcHBlbmRGaXhlZFByZWNpc2lvbk51bWJlcih2YWx1ZS54
KCkpOwogICAgICAgICBidWlsZGVyLmFwcGVuZCgnICcpOwotICAgICAgICBidWlsZGVyLmFwcGVu
ZEZpeGVkUHJlY2lzaW9uTnVtYmVyKHR5cGUueSgpKTsKKyAgICAgICAgYnVpbGRlci5hcHBlbmRG
aXhlZFByZWNpc2lvbk51bWJlcih2YWx1ZS55KCkpOwogICAgICAgICBidWlsZGVyLmFwcGVuZCgn
ICcpOwotICAgICAgICBidWlsZGVyLmFwcGVuZEZpeGVkUHJlY2lzaW9uTnVtYmVyKHR5cGUud2lk
dGgoKSk7CisgICAgICAgIGJ1aWxkZXIuYXBwZW5kRml4ZWRQcmVjaXNpb25OdW1iZXIodmFsdWUu
d2lkdGgoKSk7CiAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCcgJyk7Ci0gICAgICAgIGJ1aWxkZXIu
YXBwZW5kRml4ZWRQcmVjaXNpb25OdW1iZXIodHlwZS5oZWlnaHQoKSk7CisgICAgICAgIGJ1aWxk
ZXIuYXBwZW5kRml4ZWRQcmVjaXNpb25OdW1iZXIodmFsdWUuaGVpZ2h0KCkpOwogICAgICAgICBy
ZXR1cm4gYnVpbGRlci50b1N0cmluZygpOwogICAgIH0KIH07CiAKIHRlbXBsYXRlPD4KLXN0cnVj
dCBTVkdQcm9wZXJ0eVRyYWl0czxTdHJpbmc+IHsKLSAgICBzdGF0aWMgU3RyaW5nIGluaXRpYWxW
YWx1ZSgpIHsgcmV0dXJuIFN0cmluZygpOyB9Ci0gICAgc3RhdGljIFN0cmluZyBmcm9tU3RyaW5n
KGNvbnN0IFN0cmluZyYgc3RyaW5nKSB7IHJldHVybiBzdHJpbmc7IH0KLSAgICBzdGF0aWMgT3B0
aW9uYWw8U3RyaW5nPiBwYXJzZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgU3RyaW5nJiBz
dHJpbmcpIHsgcmV0dXJuIHN0cmluZzsgfQotICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoY29u
c3QgU3RyaW5nJiBzdHJpbmcpIHsgcmV0dXJuIHN0cmluZzsgfQorc3RydWN0IFNWR1Byb3BlcnR5
VHJhaXRzPHN0ZDo6cGFpcjxpbnQsIGludD4+IHsKKyAgICBzdGF0aWMgc3RkOjpwYWlyPGludCwg
aW50PiBpbml0aWFsVmFsdWUoKSB7IHJldHVybiB7IH07IH0KKyAgICBzdGF0aWMgRXhwZWN0ZWQ8
c3RkOjpwYWlyPGludCwgaW50PiwgU1ZHUGFyc2luZ0Vycm9yPiBwYXJzZShjb25zdCBTdHJpbmcm
IHN0cmluZywgU1ZHUGFyc2luZ09wdGlvbnMgcGFyc2luZ09wdGlvbnMgPSBOb09wdGlvbnMpCisg
ICAgeworICAgICAgICBmbG9hdCB2YWx1ZU51bWJlcjEgPSAwLCB2YWx1ZU51bWJlcjIgPSAwOwor
ICAgICAgICBpZiAoIXBhcnNlTnVtYmVyT3B0aW9uYWxOdW1iZXIoc3RyaW5nLCB2YWx1ZU51bWJl
cjEsIHZhbHVlTnVtYmVyMikpCisgICAgICAgICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQoUGFy
c2luZ0F0dHJpYnV0ZUZhaWxlZEVycm9yKTsKKworICAgICAgICBpbnQgdmFsdWVJbnRlZ2VyMSA9
IHN0YXRpY19jYXN0PGludD4ocm91bmRmKHZhbHVlTnVtYmVyMSkpOworICAgICAgICBpbnQgdmFs
dWVJbnRlZ2VyMiA9IHN0YXRpY19jYXN0PGludD4ocm91bmRmKHZhbHVlTnVtYmVyMikpOworCisg
ICAgICAgIGlmIChhdXRvIGVycm9yID0gdmFsaWRhdGVOdW1lcmljKHZhbHVlSW50ZWdlcjEsIHBh
cnNpbmdPcHRpb25zKSkKKyAgICAgICAgICAgIHJldHVybiBtYWtlVW5leHBlY3RlZChlcnJvcik7
CisgICAgICAgIGlmIChhdXRvIGVycm9yID0gdmFsaWRhdGVOdW1lcmljKHZhbHVlSW50ZWdlcjIs
IHBhcnNpbmdPcHRpb25zKSkKKyAgICAgICAgICAgIHJldHVybiBtYWtlVW5leHBlY3RlZChlcnJv
cik7CisKKyAgICAgICAgcmV0dXJuIHN0ZDo6bWFrZV9wYWlyKHZhbHVlSW50ZWdlcjEsIHZhbHVl
SW50ZWdlcjIpOworICAgIH0KKyAgICBzdGF0aWMgc3RkOjpwYWlyPGludCwgaW50PiBmcm9tU3Ry
aW5nKGNvbnN0IFN0cmluZyYgc3RyaW5nKSB7IHJldHVybiBwYXJzZShzdHJpbmcpLnZhbHVlX29y
KGluaXRpYWxWYWx1ZSgpKTsgfQorICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoY29uc3Qgc3Rk
OjpwYWlyPGludCwgaW50PiYgdmFsdWUpIHsgcmV0dXJuIFNWR1Byb3BlcnR5VHJhaXRzPGludD46
OnRvU3RyaW5nKHZhbHVlLmZpcnN0KSArICIsICIgKyBTVkdQcm9wZXJ0eVRyYWl0czxpbnQ+Ojp0
b1N0cmluZyh2YWx1ZS5zZWNvbmQpOyB9CiB9OwogCi10ZW1wbGF0ZTx0eXBlbmFtZSBFbnVtVHlw
ZT4KLXN0cnVjdCBTVkdJRExFbnVtTGltaXRzIHsKLSAgICAvLyBTcGVjaWFsaXplIHRoaXMgZnVu
Y3Rpb24gZm9yIGEgcGFydGljdWxhciBlbnVtZXJhdGlvbiB0byBsaW1pdCB0aGUgdmFsdWVzIHRo
YXQgYXJlIGV4cG9zZWQgdGhyb3VnaCB0aGUgRE9NLgotICAgIHN0YXRpYyB1bnNpZ25lZCBoaWdo
ZXN0RXhwb3NlZEVudW1WYWx1ZSgpIHsgcmV0dXJuIFNWR1Byb3BlcnR5VHJhaXRzPEVudW1UeXBl
Pjo6aGlnaGVzdEVudW1WYWx1ZSgpOyB9Cit0ZW1wbGF0ZTw+CitzdHJ1Y3QgU1ZHUHJvcGVydHlU
cmFpdHM8c3RkOjpwYWlyPGZsb2F0LCBmbG9hdD4+IHsKKyAgICBzdGF0aWMgc3RkOjpwYWlyPGZs
b2F0LCBmbG9hdD4gaW5pdGlhbFZhbHVlKCkgeyByZXR1cm4geyB9OyB9CisgICAgc3RhdGljIEV4
cGVjdGVkPHN0ZDo6cGFpcjxmbG9hdCwgZmxvYXQ+LCBTVkdQYXJzaW5nRXJyb3I+IHBhcnNlKGNv
bnN0IFN0cmluZyYgc3RyaW5nLCBTVkdQYXJzaW5nT3B0aW9ucyBwYXJzaW5nT3B0aW9ucyA9IE5v
T3B0aW9ucykKKyAgICB7CisgICAgICAgIGZsb2F0IHZhbHVlTnVtYmVyMSA9IDAsIHZhbHVlTnVt
YmVyMiA9IDA7CisgICAgICAgIGlmICghcGFyc2VOdW1iZXJPcHRpb25hbE51bWJlcihzdHJpbmcs
IHZhbHVlTnVtYmVyMSwgdmFsdWVOdW1iZXIyKSkKKyAgICAgICAgICAgIHJldHVybiBtYWtlVW5l
eHBlY3RlZChQYXJzaW5nQXR0cmlidXRlRmFpbGVkRXJyb3IpOworCisgICAgICAgIGlmIChhdXRv
IGVycm9yID0gdmFsaWRhdGVOdW1lcmljKHZhbHVlTnVtYmVyMSwgcGFyc2luZ09wdGlvbnMpKQor
ICAgICAgICAgICAgcmV0dXJuIG1ha2VVbmV4cGVjdGVkKGVycm9yKTsKKyAgICAgICAgaWYgKGF1
dG8gZXJyb3IgPSB2YWxpZGF0ZU51bWVyaWModmFsdWVOdW1iZXIyLCBwYXJzaW5nT3B0aW9ucykp
CisgICAgICAgICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQoZXJyb3IpOworCisgICAgICAgIHJl
dHVybiBzdGQ6Om1ha2VfcGFpcih2YWx1ZU51bWJlcjEsIHZhbHVlTnVtYmVyMik7CisgICAgfQor
ICAgIHN0YXRpYyBzdGQ6OnBhaXI8ZmxvYXQsIGZsb2F0PiBmcm9tU3RyaW5nKGNvbnN0IFN0cmlu
ZyYgc3RyaW5nKSB7IHJldHVybiBwYXJzZShzdHJpbmcpLnZhbHVlX29yKGluaXRpYWxWYWx1ZSgp
KTsgfQorICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoY29uc3Qgc3RkOjpwYWlyPGZsb2F0LCBm
bG9hdD4mIHZhbHVlKSB7IHJldHVybiBTVkdQcm9wZXJ0eVRyYWl0czxmbG9hdD46OnRvU3RyaW5n
KHZhbHVlLmZpcnN0KSArICIsICIgKyBTVkdQcm9wZXJ0eVRyYWl0czxmbG9hdD46OnRvU3RyaW5n
KHZhbHVlLnNlY29uZCk7IH0KIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1ZhbHVlUHJvcGVydHlMaXN0Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdWYWx1ZVByb3BlcnR5TGlzdC5oCmlu
ZGV4IDMwMTBjMzNhNzQwODliYzQ0ZmJiNDEwYTU2Zjc4NWE5ZjcxN2NjZWUuLjRlYjkzODM4ZmEw
YTAzMzYxMzU3ZGUxYzBmMGRhMDlmM2FmYTMxNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9wcm9wZXJ0aWVzL1NWR1ZhbHVlUHJvcGVydHlMaXN0LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvc3ZnL3Byb3BlcnRpZXMvU1ZHVmFsdWVQcm9wZXJ0eUxpc3QuaApAQCAtNjYsNiArNjYsNDgg
QEAgcHVibGljOgogICAgICAgICAgICAgcmVtb3ZlKHNpemUoKSAtIDEpOwogICAgIH0KIAorICAg
IHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3VtZW50cz4KKyAgICBTVkdQYXJzaW5nRXJyb3IgcGFy
c2UoY29uc3QgU3RyaW5nJiBzdHJpbmcsIEFyZ3VtZW50cyYmLi4uIGFyZ3VtZW50cykKKyAgICB7
CisgICAgICAgIGNsZWFySXRlbXMoKTsKKworICAgICAgICBhdXRvIHVwY29udmVydGVkQ2hhcmFj
dGVycyA9IFN0cmluZ1ZpZXcoc3RyaW5nKS51cGNvbnZlcnRlZENoYXJhY3RlcnMoKTsKKyAgICAg
ICAgY29uc3QgVUNoYXIqIHB0ciA9IHVwY29udmVydGVkQ2hhcmFjdGVyczsKKyAgICAgICAgY29u
c3QgVUNoYXIqIGVuZCA9IHB0ciArIHN0cmluZy5sZW5ndGgoKTsKKworICAgICAgICBib29sIGRl
bGltUGFyc2VkID0gZmFsc2U7CisgICAgICAgIHdoaWxlIChza2lwT3B0aW9uYWxTVkdTcGFjZXMo
cHRyLCBlbmQpKSB7CisgICAgICAgICAgICBkZWxpbVBhcnNlZCA9IGZhbHNlOworCisgICAgICAg
ICAgICBBU1NFUlQocHRyIDwgZW5kKTsKKyAgICAgICAgICAgIGF1dG8gZXhwZWN0ZWRJdGVtID0g
UHJvcGVydHlUeXBlOjpjcmVhdGUocHRyLCBlbmQsIHN0ZDo6Zm9yd2FyZDxBcmd1bWVudHM+KGFy
Z3VtZW50cykuLi4pOworICAgICAgICAgICAgaWYgKCFleHBlY3RlZEl0ZW0pCisgICAgICAgICAg
ICAgICAgcmV0dXJuIGV4cGVjdGVkSXRlbS5lcnJvcigpOworCisgICAgICAgICAgICBhcHBlbmQo
V1RGTW92ZShleHBlY3RlZEl0ZW0udmFsdWUoKSkpOworCisgICAgICAgICAgICBpZiAocHRyIDwg
ZW5kICYmICpwdHIgPT0gJywnKSB7CisgICAgICAgICAgICAgICAgKytwdHI7CisgICAgICAgICAg
ICAgICAgZGVsaW1QYXJzZWQgPSB0cnVlOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAg
ICAgICAgcmV0dXJuIGRlbGltUGFyc2VkID8gVW5leHBlY3RlZEVuZE9mQXR0cmlidXRlRXJyb3Ig
OiBOb0Vycm9yOworICAgIH0KKworICAgIFN0cmluZyB2YWx1ZUFzU3RyaW5nKCkgY29uc3Qgb3Zl
cnJpZGUKKyAgICB7CisgICAgICAgIFN0cmluZ0J1aWxkZXIgYnVpbGRlcjsKKworICAgICAgICBm
b3IgKGNvbnN0IGF1dG8mIGl0ZW0gOiBpdGVtcygpKSB7CisgICAgICAgICAgICBpZiAoYnVpbGRl
ci5sZW5ndGgoKSkKKyAgICAgICAgICAgICAgICBidWlsZGVyLmFwcGVuZCgnICcpOworICAgICAg
ICAgICAgYnVpbGRlci5hcHBlbmQoaXRlbS0+dmFsdWVBc1N0cmluZygpKTsKKyAgICAgICAgfQor
CisgICAgICAgIHJldHVybiBidWlsZGVyLnRvU3RyaW5nKCk7CisgICAgfQorCiAgICAgLy8gVmlz
dWFsIFN0dWRpbyBkb2Vzbid0IHNlZW0gdG8gc2VlIHRoZXNlIHByaXZhdGUgY29uc3RydWN0b3Jz
IGZyb20gc3ViY2xhc3Nlcy4KICAgICAvLyBGSVhNRTogU2VlIHdoYXQgaXQgdGFrZXMgdG8gcmVt
b3ZlIHRoaXMgaGFjay4KICNpZiAhQ09NUElMRVIoTVNWQykKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzMzYwOTE1ZTc5MjNh
OTM0MzY2YjNlOWZmMzhhMjM1YTBkNzg0MWY4Li5kYjk3YjQwZWI2MWJjMzQzMWI4MWU2YmQ2NzMx
MjkzODYxMWQ4YzIxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjcgQEAKKzIwMTktMDUtMjIgIFNhaWQgQWJv
dS1IYWxsYXdhICA8c2FpZEBhcHBsZS5jb20+CisKKyAgICAgICAgU1ZHUHJvcGVydHlUcmFpdHMg
YW5kIFNWRyBlbnVtIHR5cGVzIGNsZWFuIHVwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xOTgwNzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIHN2Zy9hbmltYXRpb25zL3N2Z251bWJlci1hbmltYXRpb24t
My1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3ZnL2FuaW1hdGlvbnMvc3ZnbnVtYmVyLWFuaW1h
dGlvbi0zLmh0bWw6CisgICAgICAgIFRoZSBleHBlY3RlZCB2YWx1ZXMgb2YgdGhpcyB0ZXN0IHdl
cmUgd3JvbmcuIFRoZSB0ZXN0IGlzIHN1cHBvc2VkIHRvIHZlcmlmeQorICAgICAgICB0aGUgdmFs
dWVzIGF0IDAlLCA1MCUsIGp1c3QgYmVmb3JlIDEwMCUgYW5kIDEwMCUuIFRoZSBjaGFuZ2UgaW4g
dGhlIG9wYWNpdHkKKyAgICAgICAgb2YgdGhlIGVsZW1lbnQgc2hvdWxkIGJlOiAwLCAwLjUsIDEs
IDAuIFRoZSB0ZXN0IHdhcyBleHBlY3RpbmcgYWxsIHZhbHVlcworICAgICAgICB0byBiZSB6ZXJv
cy4KKworMjAxOS0wNS0yMCAgU2FpZCBBYm91LUhhbGxhd2EgIDxzYWJvdWhhbGxhd2FAYXBwbGUu
Y29tPgorCisgICAgICAgIFVuaWZ5IHRoZSBwYXJzaW5nIG9mIFNWR0xpc3Qgc3VwZXIgY2xhc3Nl
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk3ODMx
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodG1s
NWxpYi9nZW5lcmF0ZWQvcnVuLXRlc3RzMTEtZGF0YS1leHBlY3RlZC50eHQ6CisgICAgICAgICog
aHRtbDVsaWIvZ2VuZXJhdGVkL3J1bi10ZXN0czExLXdyaXRlLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgUmVwb3J0IGVycm9yIG1lc3NhZ2VzIGlmIGEgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbyBvciBT
Vkdab29tQW5kUGFuIHBhcnNpbmcKKyAgICAgICAgZXJyb3IgaGFwcGVucy4KKworICAgICAgICAq
IHBsYXRmb3JtL2d0ay9zdmcvY3VzdG9tL3ByZXNlcnZlLWFzcGVjdC1yYXRpby1zeW50YXgtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9zdmcvY3VzdG9tL3ZpZXdib3gtc3lu
dGF4LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvc3ZnL2hpeGllL2Vycm9y
LzAxMC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL3N2Zy9oaXhpZS9lcnJv
ci8wMTEtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9zdmcvY3VzdG9tL3By
ZXNlcnZlLWFzcGVjdC1yYXRpby1zeW50YXgtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRm
b3JtL2lvcy9zdmcvY3VzdG9tL3ZpZXdib3gtc3ludGF4LWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9pb3Mvc3ZnL2hpeGllL2Vycm9yLzAxMC1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogcGxhdGZvcm0vaW9zL3N2Zy9oaXhpZS9lcnJvci8wMTEtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHBsYXRmb3JtL21hYy9zdmcvY3VzdG9tL3ByZXNlcnZlLWFzcGVjdC1yYXRpby1zeW50YXgt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvY3VzdG9tL3ZpZXdib3gt
c3ludGF4LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL2hpeGllL2Vy
cm9yLzAxMC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9oaXhpZS9l
cnJvci8wMTEtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9zdmcvY3VzdG9t
L3ByZXNlcnZlLWFzcGVjdC1yYXRpby1zeW50YXgtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBs
YXRmb3JtL3dpbi9zdmcvY3VzdG9tL3ZpZXdib3gtc3ludGF4LWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS93aW4vc3ZnL2hpeGllL2Vycm9yLzAxMC1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogcGxhdGZvcm0vd2luL3N2Zy9oaXhpZS9lcnJvci8wMTEtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHBsYXRmb3JtL3dpbmNhaXJvL3N2Zy9jdXN0b20vcHJlc2VydmUtYXNwZWN0LXJhdGlv
LXN5bnRheC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vd2luY2Fpcm8vc3ZnL2N1
c3RvbS92aWV3Ym94LXN5bnRheC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vd3Bl
L3N2Zy9jdXN0b20vcHJlc2VydmUtYXNwZWN0LXJhdGlvLXN5bnRheC1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogcGxhdGZvcm0vd3BlL3N2Zy9jdXN0b20vdmlld2JveC1zeW50YXgtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHBsYXRmb3JtL3dwZS9zdmcvaGl4aWUvZXJyb3IvMDEwLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS93cGUvc3ZnL2hpeGllL2Vycm9yLzAxMS1leHBlY3Rl
ZC50eHQ6CisgICAgICAgIFJlcGxhY2UgdGhlIHBhcnNpbmcgd2FybmluZyBtZXNzYWdlcyBieSBl
cnJvciBtZXNzYWdlcy4gUmVwb3J0IGVycm9yCisgICAgICAgIG1lc3NhZ2VzIGlmIGEgU1ZHUHJl
c2VydmVBc3BlY3RSYXRpbyBwYXJzaW5nIGVycm9yIGhhcHBlbnMuCisKKyAgICAgICAgKiBzdmcv
ZG9tL2xlbmd0aC1saXN0LXBhcnNlci1leHBlY3RlZC50eHQ6CisgICAgICAgIFNWR0xlbmd0aExp
c3Qgd2FzIHRyZWF0aW5nIHRoZSBsZWFkaW5nIHNwYWNlcyBpbiB0aGUgYXR0cmlidXRlIHZhbHVl
IGFzCisgICAgICAgIGFuIGVycm9yLgorCisgICAgICAgICogc3ZnL2RvbS92aWV3c3BlYy1wYXJz
ZXItMS1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3ZnL2RvbS92aWV3c3BlYy1wYXJzZXItMS5o
dG1sOgorICAgICAgICBFeHRyYSB0ZXh0IGF0IHRoZSBlbmQgb2Ygc3ZnVmlldyBhdHRyaWJ1dGUg
dmFsdWUgd2FzIG5vdCB0cmVhdGVkIGFzIGFuCisgICAgICAgIGVycm9yLgorCisgICAgICAgICog
c3ZnL2hpeGllL2Vycm9yLzAxMC1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3ZnL2hpeGllL2Vy
cm9yLzAxMS1leHBlY3RlZC50eHQ6CisgICAgICAgIFJlcGxhY2UgdGhlIHBhcnNpbmcgd2Fybmlu
ZyBtZXNzYWdlcyBieSBlcnJvciBtZXNzYWdlcy4KKwogMjAxOS0wNS0yMiAgUGVyIEFybmUgVm9s
bGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgTGF5b3V0IFRlc3QgaHR0cC90ZXN0
cy9zZWN1cml0eS9zaG93TW9kYWxEaWFsb2ctc3luYy1jcm9zcy1vcmlnaW4tcGFnZS1sb2FkMi5o
dG1sIGlzIGZhaWxpbmcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDE0YzZiOTU3
ZTM0MTNiNzViMjc3YzVhZTEwZTQ2NTJjYmJlODg5MzEuLjg1MTMxOTI4ODYwMGE1NjgwMzAzZDg0
MWFmMWFmZWNlYTNmOTRmMTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDI1IEBACisyMDE5LTA1LTIyICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhaWRAYXBwbGUuY29t
PgorCisgICAgICAgIFVuaWZ5IHRoZSBwYXJzaW5nIG9mIFNWR0xpc3Qgc3VwZXIgY2xhc3Nlcwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4MDczCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9zeW50YXgvcGFyc2luZy9odG1sNWxpYl90ZXN0czExLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgUmVwb3J0IGVycm9yIG1lc3NhZ2VzIGlmIGEgU1ZHUHJlc2VydmVBc3Bl
Y3RSYXRpbyBvciBTVkdab29tQW5kUGFuIHBhcnNpbmcKKyAgICAgICAgZXJyb3IgaGFwcGVucy4K
KworMjAxOS0wNS0yMCAgU2FpZCBBYm91LUhhbGxhd2EgIDxzYWJvdWhhbGxhd2FAYXBwbGUuY29t
PgorCisgICAgICAgIFVuaWZ5IHRoZSBwYXJzaW5nIG9mIFNWR0xpc3Qgc3VwZXIgY2xhc3Nlcwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk3ODMxCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9zeW50YXgvcGFyc2luZy9odG1sNWxpYl90ZXN0czExLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgUmVwb3J0IGVycm9yIG1lc3NhZ2VzIGlmIGEgU1ZHUHJlc2VydmVBc3Bl
Y3RSYXRpbyBvciBTVkdab29tQW5kUGFuIHBhcnNpbmcKKyAgICAgICAgZXJyb3IgaGFwcGVucy4K
KwogMjAxOS0wNS0yMSAgQW50b2luZSBRdWludCAgPGdyYW91dHNAYXBwbGUuY29tPgogCiAgICAg
ICAgIFttYWNPU10gQ29tcGF0aWJpbGl0eSBtb3VzZSBldmVudHMgYXJlbid0IHByZXZlbnRlZCBi
eSBjYWxsaW5nIHByZXZlbnREZWZhdWx0KCkgb24gcG9pbnRlcmRvd24KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0bWw1bGliL2dlbmVyYXRlZC9ydW4tdGVzdHMxMS1kYXRhLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2h0bWw1bGliL2dlbmVyYXRlZC9ydW4tdGVzdHMxMS1kYXRhLWV4cGVj
dGVkLnR4dAppbmRleCAxNzZiNWMwN2M3OGIxZTEwMDYzNTcwZTVlNjUyMDI1ODZkZTgwNGE4Li40
ZTRmYmMwMjBkYmQ0NWNhMzAyOGE1ZTk1ZmExZGFiYzcwNWY5MDBjIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9odG1sNWxpYi9nZW5lcmF0ZWQvcnVuLXRlc3RzMTEtZGF0YS1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaHRtbDVsaWIvZ2VuZXJhdGVkL3J1bi10ZXN0czExLWRhdGEtZXhw
ZWN0ZWQudHh0CkBAIC0xLDQgKzEsMTAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBXYXJu
aW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0JveD0iIgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6
IFdhcm5pbmc6IFByb2JsZW0gcGFyc2luZyB2aWV3Qm94PSIiCi1DT05TT0xFIE1FU1NBR0U6IGxp
bmUgMTogV2FybmluZzogUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9IiIKK0NPTlNPTEUgTUVTU0FH
RTogbGluZSAxOiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHByZXNl
cnZlQXNwZWN0UmF0aW89IiIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBFcnJvcjogSW52YWxp
ZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IiIKK0NPTlNPTEUgTUVTU0FHRTog
bGluZSAxOiBFcnJvcjogVW5yZWNvZ25pemVkIGVudW1lcmF0ZWQgdmFsdWUgZm9yIDxzdmc+IGF0
dHJpYnV0ZSB6b29tQW5kUGFuPSIiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogRXJyb3I6IElu
dmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSIiCitD
T05TT0xFIE1FU1NBR0U6IGxpbmUgMTogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0
dHJpYnV0ZSB2aWV3Qm94PSIiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogRXJyb3I6IFVucmVj
b2duaXplZCBlbnVtZXJhdGVkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgem9vbUFuZFBhbj0i
IgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3Zn
PiBhdHRyaWJ1dGUgcHJlc2VydmVBc3BlY3RSYXRpbz0iIgorQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDE6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iIgor
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IEVycm9yOiBVbnJlY29nbml6ZWQgZW51bWVyYXRlZCB2
YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHpvb21BbmRQYW49IiIKIC4uL3Jlc291cmNlcy90ZXN0
czExLmRhdDogUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHRtbDVsaWIvZ2VuZXJhdGVk
L3J1bi10ZXN0czExLXdyaXRlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0bWw1bGliL2dl
bmVyYXRlZC9ydW4tdGVzdHMxMS13cml0ZS1leHBlY3RlZC50eHQKaW5kZXggOWFjNjgyYWU5MmQ3
ZGNkMTRiYmM5YWNjOThlYjM2Yjg0YjY1ZWVjYy4uYTg5MzA5Y2IzMjI2NDUwNzllZWFhOWIwYjU2
MWMwZDMyMDQyM2M5MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHRtbDVsaWIvZ2VuZXJhdGVk
L3J1bi10ZXN0czExLXdyaXRlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odG1sNWxp
Yi9nZW5lcmF0ZWQvcnVuLXRlc3RzMTEtd3JpdGUtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsMTAg
QEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxNjg6IFdhcm5pbmc6IFByb2JsZW0gcGFyc2luZyB2
aWV3Qm94PSIiCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTY4OiBXYXJuaW5nOiBQcm9ibGVtIHBh
cnNpbmcgdmlld0JveD0iIgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE2ODogV2FybmluZzogUHJv
YmxlbSBwYXJzaW5nIHZpZXdCb3g9IiIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxNjg6IEVycm9y
OiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgcHJlc2VydmVBc3BlY3RSYXRpbz0i
IgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE2ODogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxz
dmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTY4OiBFcnJv
cjogVW5yZWNvZ25pemVkIGVudW1lcmF0ZWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB6b29t
QW5kUGFuPSIiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTY4OiBFcnJvcjogSW52YWxpZCB2YWx1
ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHByZXNlcnZlQXNwZWN0UmF0aW89IiIKK0NPTlNPTEUgTUVT
U0FHRTogbGluZSAxNjg6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUg
dmlld0JveD0iIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE2ODogRXJyb3I6IFVucmVjb2duaXpl
ZCBlbnVtZXJhdGVkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgem9vbUFuZFBhbj0iIgorQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDE2ODogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0
dHJpYnV0ZSBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSIiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTY4
OiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IiIKK0NP
TlNPTEUgTUVTU0FHRTogbGluZSAxNjg6IEVycm9yOiBVbnJlY29nbml6ZWQgZW51bWVyYXRlZCB2
YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHpvb21BbmRQYW49IiIKIC4uL3Jlc291cmNlcy90ZXN0
czExLmRhdDogUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL3N5bnRheC9wYXJzaW5nL2h0bWw1bGliX3Rlc3RzMTEtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L3N5bnRheC9wYXJzaW5nL2h0bWw1bGliX3Rlc3RzMTEtZXhwZWN0ZWQudHh0CmluZGV4IDVmMzBm
YzhkMDQyYzczM2U0OTU4NmJjOWU4ZWM2Y2Y5NjkxNWM4ZWYuLmFlOTA3MjgyOGJkMzZhZmYyZWE3
ZmNjNjJkYzUxNzkxZTNhOTI0NmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zeW50YXgvcGFyc2luZy9odG1sNWxpYl90ZXN0czEx
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvc3ludGF4L3BhcnNpbmcvaHRtbDVsaWJfdGVzdHMxMS1leHBlY3RlZC50eHQK
QEAgLTEsNiArMSwxMiBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IFdhcm5pbmc6IFByb2Js
ZW0gcGFyc2luZyB2aWV3Qm94PSIiCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogV2FybmluZzog
UHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9IiIKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBXYXJu
aW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0JveD0iIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6
IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgcHJlc2VydmVBc3BlY3RS
YXRpbz0iIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZv
ciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IEVy
cm9yOiBVbnJlY29nbml6ZWQgZW51bWVyYXRlZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHpv
b21BbmRQYW49IiIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBFcnJvcjogSW52YWxpZCB2YWx1
ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHByZXNlcnZlQXNwZWN0UmF0aW89IiIKK0NPTlNPTEUgTUVT
U0FHRTogbGluZSAxOiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZp
ZXdCb3g9IiIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBFcnJvcjogVW5yZWNvZ25pemVkIGVu
dW1lcmF0ZWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB6b29tQW5kUGFuPSIiCitDT05TT0xF
IE1FU1NBR0U6IGxpbmUgMTogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0
ZSBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSIiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogRXJyb3I6
IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIiCitDT05TT0xFIE1F
U1NBR0U6IGxpbmUgMTogRXJyb3I6IFVucmVjb2duaXplZCBlbnVtZXJhdGVkIHZhbHVlIGZvciA8
c3ZnPiBhdHRyaWJ1dGUgem9vbUFuZFBhbj0iIgogaHRtbDVsaWIgUGFyc2VyIFRlc3QKIAogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvc3ZnL2N1c3RvbS9wcmVzZXJ2ZS1h
c3BlY3QtcmF0aW8tc3ludGF4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0
ay9zdmcvY3VzdG9tL3ByZXNlcnZlLWFzcGVjdC1yYXRpby1zeW50YXgtZXhwZWN0ZWQudHh0Cmlu
ZGV4IGQ5NjRjNWU3ZDY1NTZhNjhlNThlNGMxZWI0ZWI0N2I4NTc5MGIyYjMuLjQxNTA4YWUxOTQ5
YWYwODcxM2M5YTNjMTk1NWU2ZTJjMWIzMzgzZTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2d0ay9zdmcvY3VzdG9tL3ByZXNlcnZlLWFzcGVjdC1yYXRpby1zeW50YXgtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9zdmcvY3VzdG9tL3ByZXNlcnZl
LWFzcGVjdC1yYXRpby1zeW50YXgtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsOCBAQAorQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDIzOiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmli
dXRlIHByZXNlcnZlQXNwZWN0UmF0aW89ImRlZmVyIG1lZXQiCitDT05TT0xFIE1FU1NBR0U6IGxp
bmUgMjY6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgcHJlc2VydmVB
c3BlY3RSYXRpbz0iZGVmZXIgeE1pZFlNaWQgbWVldCBhIgorQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDI5OiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHByZXNlcnZlQXNw
ZWN0UmF0aW89ImRlZmVyIDEgeE1pZFlNaWQgbWVldCIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAz
MjogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSBwcmVzZXJ2ZUFzcGVj
dFJhdGlvPSJkZWZlciAsIHhNaWRZTWlkIG1lZXQiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzU6
IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgcHJlc2VydmVBc3BlY3RS
YXRpbz0iIgogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9zdmcvY3VzdG9tL3ZpZXdib3gtc3ludGF4LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9zdmcvY3VzdG9tL3ZpZXdib3gtc3lu
dGF4LWV4cGVjdGVkLnR4dAppbmRleCBlMGRkZWY1MzY3N2JkMWQzYjBiZmEyNWFhYWE0NGI0YjBk
OWZiOTVlLi40YmZiZWIyYzdiMjc5YTJiZGQyM2M4MzMwMTVkMWFkYTgzYjllZmYwIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvc3ZnL2N1c3RvbS92aWV3Ym94LXN5bnRheC1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL3N2Zy9jdXN0b20vdmll
d2JveC1zeW50YXgtZXhwZWN0ZWQudHh0CkBAIC0xLDEzICsxLDEzIEBACi1DT05TT0xFIE1FU1NB
R0U6IGxpbmUgMjA6IFdhcm5pbmc6IFByb2JsZW0gcGFyc2luZyB2aWV3Qm94PSIwIgotQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDIzOiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0JveD0iMCAw
IgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI2OiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmll
d0JveD0iMCAwIDMwIgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI5OiBXYXJuaW5nOiBQcm9ibGVt
IHBhcnNpbmcgdmlld0JveD0iMCAwIDMwIDQwIDUwIgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDMy
OiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0JveD0iMCAwIDMwIDQwLCIKLUNPTlNPTEUg
TUVTU0FHRTogbGluZSAzNTogV2FybmluZzogUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9IiwwIDAg
MzAgNDAiCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMzg6IEVycm9yOiBBIG5lZ2F0aXZlIHZhbHVl
IGZvciBWaWV3Qm94IHdpZHRoIGlzIG5vdCBhbGxvd2VkCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUg
NDE6IEVycm9yOiBBIG5lZ2F0aXZlIHZhbHVlIGZvciBWaWV3Qm94IGhlaWdodCBpcyBub3QgYWxs
b3dlZAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQ0OiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcg
dmlld0JveD0iMCAwIDMwLCAsIDQwIgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQ3OiBXYXJuaW5n
OiBQcm9ibGVtIHBhcnNpbmcgdmlld0JveD0iMCAwIDMwJSA0MCIKK0NPTlNPTEUgTUVTU0FHRTog
bGluZSAyMDogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94
PSIwIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIzOiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3Ig
PHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAgMCIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyNjog
RXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIwIDAgMzAi
CitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjk6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3Zn
PiBhdHRyaWJ1dGUgdmlld0JveD0iMCAwIDMwIDQwIDUwIgorQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDMyOiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAg
MCAzMCA0MCwiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzU6IEVycm9yOiBJbnZhbGlkIHZhbHVl
IGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iLDAgMCAzMCA0MCIKK0NPTlNPTEUgTUVTU0FH
RTogbGluZSAzODogRXJyb3I6IEludmFsaWQgbmVnYXRpdmUgdmFsdWUgZm9yIDxzdmc+IGF0dHJp
YnV0ZSB2aWV3Qm94PSIwIDAgLTMwIDQwIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQxOiBFcnJv
cjogSW52YWxpZCBuZWdhdGl2ZSB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAg
MCAzMCAtNDAiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNDQ6IEVycm9yOiBJbnZhbGlkIHZhbHVl
IGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iMCAwIDMwLCAsIDQwIgorQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDQ3OiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZp
ZXdCb3g9IjAgMCAzMCUgNDAiCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVy
VmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL3N2Zy9oaXhpZS9lcnJvci8wMTAt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL3N2Zy9oaXhpZS9lcnJvci8w
MTAtZXhwZWN0ZWQudHh0CmluZGV4IGI3YWQ0Zjk2N2QxYzAxM2M3ODAwZjdhMGI0NmJkMWZhNzBk
NDk0ZDguLmRkMjA3MDUzOWUxNmQ5ZTgzZjEzMjVjOTBjODgwYWY4ZmY3NzU5NWMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9zdmcvaGl4aWUvZXJyb3IvMDEwLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvc3ZnL2hpeGllL2Vycm9yLzAxMC1l
eHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogV2Fy
bmluZzogUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9IjAgMCAxIDEgMSIKK0NPTlNPTEUgTUVTU0FH
RTogbGluZSAxOiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdC
b3g9IjAgMCAxIDEgMSIKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3
IGF0ICgwLDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvc3ZnL2hpeGllL2Vycm9yLzAxMS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvc3ZnL2hpeGllL2Vycm9yLzAxMS1l
eHBlY3RlZC50eHQKaW5kZXggYTVkOGJlNzg0NmFhODRkNThiNDczYjg1MTg5NWE5NWRiOTBjNGRl
Ny4uOWQwOWZjNjgxNmU5NDE1ZWNlNjI0OWQ2ZmQyNmIzNjdkYmU2MDk3YyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL3N2Zy9oaXhpZS9lcnJvci8wMTEtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9zdmcvaGl4aWUvZXJyb3IvMDExLWV4cGVj
dGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBXYXJuaW5n
OiBQcm9ibGVtIHBhcnNpbmcgdmlld0JveD0iMCAwLCwgMSAxIgorQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDE6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0i
MCAwLCwgMSAxIgogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9zdmcvY3VzdG9tL3ByZXNlcnZlLWFzcGVjdC1y
YXRpby1zeW50YXgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL3N2Zy9j
dXN0b20vcHJlc2VydmUtYXNwZWN0LXJhdGlvLXN5bnRheC1leHBlY3RlZC50eHQKaW5kZXggNzM3
OGEzN2JhYjgzMWNiZDQ4YzFhNzg3NDVhN2EyMmZkNWQwYTk0Yi4uZTIzN2FiM2E5ZDFlMTE4Yzcw
YWE1MzZjY2E0ODc0NjBkZDdmMjY5MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aW9zL3N2Zy9jdXN0b20vcHJlc2VydmUtYXNwZWN0LXJhdGlvLXN5bnRheC1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL3N2Zy9jdXN0b20vcHJlc2VydmUtYXNwZWN0
LXJhdGlvLXN5bnRheC1leHBlY3RlZC50eHQKQEAgLTEsMyArMSw4IEBACitDT05TT0xFIE1FU1NB
R0U6IGxpbmUgMjM6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgcHJl
c2VydmVBc3BlY3RSYXRpbz0iZGVmZXIgbWVldCIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyNjog
RXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSBwcmVzZXJ2ZUFzcGVjdFJh
dGlvPSJkZWZlciB4TWlkWU1pZCBtZWV0IGEiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjk6IEVy
cm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgcHJlc2VydmVBc3BlY3RSYXRp
bz0iZGVmZXIgMSB4TWlkWU1pZCBtZWV0IgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDMyOiBFcnJv
cjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHByZXNlcnZlQXNwZWN0UmF0aW89
ImRlZmVyICwgeE1pZFlNaWQgbWVldCIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAzNTogRXJyb3I6
IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSIi
CiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vaW9zL3N2Zy9jdXN0b20vdmlld2JveC1zeW50YXgtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL3N2Zy9jdXN0b20vdmlld2JveC1zeW50YXgtZXhw
ZWN0ZWQudHh0CmluZGV4IGM5YjFhMjVhY2YyMWNhOTAwNTdkY2MzYTc0OGIzYjllZmU1MDJkYTku
LjkzYWU1YTMzYjI4NGNlM2ZmYmI1OGZiZGZkMTI1NjZjNDU4MWE1NWYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2lvcy9zdmcvY3VzdG9tL3ZpZXdib3gtc3ludGF4LWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mvc3ZnL2N1c3RvbS92aWV3Ym94LXN5
bnRheC1leHBlY3RlZC50eHQKQEAgLTEsMTMgKzEsMTMgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGlu
ZSAyMDogV2FybmluZzogUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9IjAiCi1DT05TT0xFIE1FU1NB
R0U6IGxpbmUgMjM6IFdhcm5pbmc6IFByb2JsZW0gcGFyc2luZyB2aWV3Qm94PSIwIDAiCi1DT05T
T0xFIE1FU1NBR0U6IGxpbmUgMjY6IFdhcm5pbmc6IFByb2JsZW0gcGFyc2luZyB2aWV3Qm94PSIw
IDAgMzAiCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjk6IFdhcm5pbmc6IFByb2JsZW0gcGFyc2lu
ZyB2aWV3Qm94PSIwIDAgMzAgNDAgNTAiCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMzI6IFdhcm5p
bmc6IFByb2JsZW0gcGFyc2luZyB2aWV3Qm94PSIwIDAgMzAgNDAsIgotQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDM1OiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0JveD0iLDAgMCAzMCA0MCIK
LUNPTlNPTEUgTUVTU0FHRTogbGluZSAzODogRXJyb3I6IEEgbmVnYXRpdmUgdmFsdWUgZm9yIFZp
ZXdCb3ggd2lkdGggaXMgbm90IGFsbG93ZWQKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA0MTogRXJy
b3I6IEEgbmVnYXRpdmUgdmFsdWUgZm9yIFZpZXdCb3ggaGVpZ2h0IGlzIG5vdCBhbGxvd2VkCi1D
T05TT0xFIE1FU1NBR0U6IGxpbmUgNDQ6IFdhcm5pbmc6IFByb2JsZW0gcGFyc2luZyB2aWV3Qm94
PSIwIDAgMzAsICwgNDAiCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNDc6IFdhcm5pbmc6IFByb2Js
ZW0gcGFyc2luZyB2aWV3Qm94PSIwIDAgMzAlIDQwIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIw
OiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAiCitD
T05TT0xFIE1FU1NBR0U6IGxpbmUgMjM6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBh
dHRyaWJ1dGUgdmlld0JveD0iMCAwIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI2OiBFcnJvcjog
SW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAgMCAzMCIKK0NPTlNP
TEUgTUVTU0FHRTogbGluZSAyOTogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJp
YnV0ZSB2aWV3Qm94PSIwIDAgMzAgNDAgNTAiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzI6IEVy
cm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iMCAwIDMwIDQw
LCIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAzNTogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxz
dmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIsMCAwIDMwIDQwIgorQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDM4OiBFcnJvcjogSW52YWxpZCBuZWdhdGl2ZSB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZp
ZXdCb3g9IjAgMCAtMzAgNDAiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNDE6IEVycm9yOiBJbnZh
bGlkIG5lZ2F0aXZlIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iMCAwIDMwIC00
MCIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA0NDogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxz
dmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIwIDAgMzAsICwgNDAiCitDT05TT0xFIE1FU1NBR0U6IGxp
bmUgNDc6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0i
MCAwIDMwJSA0MCIKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0
ICgwLDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mvc3ZnL2hpeGllL2Vycm9yLzAxMC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mvc3ZnL2hpeGllL2Vycm9yLzAxMC1leHBl
Y3RlZC50eHQKaW5kZXggOTJiY2MzOWZhNzM0OGNiMzUwMGI5MTUzOGNkNzkyYWZiZDRlM2E0OS4u
NDU4YWM0MGNlYmVhZmUzZjg1ODJhOTFkNTZjMzJhNjE0OTI0N2NlNiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vaW9zL3N2Zy9oaXhpZS9lcnJvci8wMTAtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9zdmcvaGl4aWUvZXJyb3IvMDEwLWV4cGVjdGVk
LnR4dApAQCAtMSw0ICsxLDQgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBXYXJuaW5nOiBQ
cm9ibGVtIHBhcnNpbmcgdmlld0JveD0iMCAwIDEgMSAxIgorQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDE6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iMCAw
IDEgMSAxIgogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9zdmcvaGl4aWUvZXJyb3IvMDExLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9zdmcvaGl4aWUvZXJyb3IvMDExLWV4cGVjdGVk
LnR4dAppbmRleCBmYmY0OGMwYTM1NDkwZjMyNDgxOWJlMGM3ODczZWZhNjA3ZDhkNGEyLi43NmRm
NTZmZmFmY2Q1MTBhY2IyN2JkZDc5MGJlYzIzNzFjMWQ1MDRkIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9pb3Mvc3ZnL2hpeGllL2Vycm9yLzAxMS1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL3N2Zy9oaXhpZS9lcnJvci8wMTEtZXhwZWN0ZWQudHh0
CkBAIC0xLDQgKzEsNCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IFdhcm5pbmc6IFByb2Js
ZW0gcGFyc2luZyB2aWV3Qm94PSIwIDAsLCAxIDEiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTog
RXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIwIDAsLCAx
IDEiCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vcHJlc2VydmUtYXNwZWN0LXJhdGlvLXN5
bnRheC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9w
cmVzZXJ2ZS1hc3BlY3QtcmF0aW8tc3ludGF4LWV4cGVjdGVkLnR4dAppbmRleCA0YTFmMzRhN2Nj
MTEyYjZjMjc0YmNiMDA0ZWRiZWZjMTE3YWVhOTk4Li5hYzkxZjk2MThmMWFiYjA2MTMzNDNhYzYy
MDBjNDFlMDNkNGZmNTFkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3Zn
L2N1c3RvbS9wcmVzZXJ2ZS1hc3BlY3QtcmF0aW8tc3ludGF4LWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9wcmVzZXJ2ZS1hc3BlY3QtcmF0aW8t
c3ludGF4LWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDggQEAKK0NPTlNPTEUgTUVTU0FHRTogbGlu
ZSAyMzogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSBwcmVzZXJ2ZUFz
cGVjdFJhdGlvPSJkZWZlciBtZWV0IgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI2OiBFcnJvcjog
SW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHByZXNlcnZlQXNwZWN0UmF0aW89ImRl
ZmVyIHhNaWRZTWlkIG1lZXQgYSIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyOTogRXJyb3I6IElu
dmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJkZWZl
ciAxIHhNaWRZTWlkIG1lZXQiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzI6IEVycm9yOiBJbnZh
bGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgcHJlc2VydmVBc3BlY3RSYXRpbz0iZGVmZXIg
LCB4TWlkWU1pZCBtZWV0IgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDM1OiBFcnJvcjogSW52YWxp
ZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHByZXNlcnZlQXNwZWN0UmF0aW89IiIKIGxheWVy
IGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYw
MAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS92aWV3Ym94LXN5bnRheC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS92aWV3Ym94LXN5bnRheC1leHBlY3RlZC50
eHQKaW5kZXggODk5YWZjZWY3M2JlNjg0MTk3OTA4YWNiNWQ4YWJjY2UwMzgwYThjMC4uMmJjYmY4
ZTY1MzQyOGNmMWZjM2U5OTEyYmYyNWEzY2FkMDQ2OWFkMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vdmlld2JveC1zeW50YXgtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL3ZpZXdib3gtc3ludGF4LWV4
cGVjdGVkLnR4dApAQCAtMSwxMyArMSwxMyBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIwOiBX
YXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0JveD0iMCIKLUNPTlNPTEUgTUVTU0FHRTogbGlu
ZSAyMzogV2FybmluZzogUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9IjAgMCIKLUNPTlNPTEUgTUVT
U0FHRTogbGluZSAyNjogV2FybmluZzogUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9IjAgMCAzMCIK
LUNPTlNPTEUgTUVTU0FHRTogbGluZSAyOTogV2FybmluZzogUHJvYmxlbSBwYXJzaW5nIHZpZXdC
b3g9IjAgMCAzMCA0MCA1MCIKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAzMjogV2FybmluZzogUHJv
YmxlbSBwYXJzaW5nIHZpZXdCb3g9IjAgMCAzMCA0MCwiCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUg
MzU6IFdhcm5pbmc6IFByb2JsZW0gcGFyc2luZyB2aWV3Qm94PSIsMCAwIDMwIDQwIgotQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDM4OiBFcnJvcjogQSBuZWdhdGl2ZSB2YWx1ZSBmb3IgVmlld0JveCB3
aWR0aCBpcyBub3QgYWxsb3dlZAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQxOiBFcnJvcjogQSBu
ZWdhdGl2ZSB2YWx1ZSBmb3IgVmlld0JveCBoZWlnaHQgaXMgbm90IGFsbG93ZWQKLUNPTlNPTEUg
TUVTU0FHRTogbGluZSA0NDogV2FybmluZzogUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9IjAgMCAz
MCwgLCA0MCIKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA0NzogV2FybmluZzogUHJvYmxlbSBwYXJz
aW5nIHZpZXdCb3g9IjAgMCAzMCUgNDAiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjA6IEVycm9y
OiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iMCIKK0NPTlNPTEUg
TUVTU0FHRTogbGluZSAyMzogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0
ZSB2aWV3Qm94PSIwIDAiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjY6IEVycm9yOiBJbnZhbGlk
IHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iMCAwIDMwIgorQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDI5OiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZp
ZXdCb3g9IjAgMCAzMCA0MCA1MCIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAzMjogRXJyb3I6IElu
dmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIwIDAgMzAgNDAsIgorQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDM1OiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0
cmlidXRlIHZpZXdCb3g9IiwwIDAgMzAgNDAiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzg6IEVy
cm9yOiBJbnZhbGlkIG5lZ2F0aXZlIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0i
MCAwIC0zMCA0MCIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA0MTogRXJyb3I6IEludmFsaWQgbmVn
YXRpdmUgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIwIDAgMzAgLTQwIgorQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDQ0OiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0
cmlidXRlIHZpZXdCb3g9IjAgMCAzMCwgLCA0MCIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA0Nzog
RXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIwIDAgMzAl
IDQwIgogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvaGl4aWUvZXJyb3IvMDEwLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvaGl4aWUvZXJyb3IvMDEwLWV4cGVjdGVkLnR4
dAppbmRleCA5MmJjYzM5ZmE3MzQ4Y2IzNTAwYjkxNTM4Y2Q3OTJhZmJkNGUzYTQ5Li40NThhYzQw
Y2ViZWFmZTNmODU4MmE5MWQ1NmMzMmE2MTQ5MjQ3Y2U2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvc3ZnL2hpeGllL2Vycm9yLzAxMC1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9oaXhpZS9lcnJvci8wMTAtZXhwZWN0ZWQudHh0CkBA
IC0xLDQgKzEsNCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IFdhcm5pbmc6IFByb2JsZW0g
cGFyc2luZyB2aWV3Qm94PSIwIDAgMSAxIDEiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogRXJy
b3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIwIDAgMSAxIDEi
CiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9oaXhpZS9lcnJvci8wMTEtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9oaXhpZS9lcnJvci8wMTEtZXhwZWN0ZWQudHh0Cmlu
ZGV4IGZiZjQ4YzBhMzU0OTBmMzI0ODE5YmUwYzc4NzNlZmE2MDdkOGQ0YTIuLjc2ZGY1NmZmYWZj
ZDUxMGFjYjI3YmRkNzkwYmVjMjM3MWMxZDUwNGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9zdmcvaGl4aWUvZXJyb3IvMDExLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2hpeGllL2Vycm9yLzAxMS1leHBlY3RlZC50eHQKQEAgLTEs
NCArMSw0IEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogV2FybmluZzogUHJvYmxlbSBwYXJz
aW5nIHZpZXdCb3g9IjAgMCwsIDEgMSIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBFcnJvcjog
SW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAgMCwsIDEgMSIKIGxh
eWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAw
eDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS93aW4vc3ZnL2N1c3RvbS9wcmVzZXJ2ZS1hc3BlY3QtcmF0aW8tc3ludGF4LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9zdmcvY3VzdG9tL3ByZXNlcnZl
LWFzcGVjdC1yYXRpby1zeW50YXgtZXhwZWN0ZWQudHh0CmluZGV4IGQ2ZDEwNTcyNjg5ODY3ZDNl
MWRjMjk4ZTU3M2M2MzY3YjJiYzA0OTQuLjE5MWYzZTYzNWYxODk5MDE4OTdlN2JkMjYwYmYyMGI0
ZmRhYmU0MzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9zdmcvY3VzdG9t
L3ByZXNlcnZlLWFzcGVjdC1yYXRpby1zeW50YXgtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL3dpbi9zdmcvY3VzdG9tL3ByZXNlcnZlLWFzcGVjdC1yYXRpby1zeW50YXgt
ZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsOCBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIzOiBF
cnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHByZXNlcnZlQXNwZWN0UmF0
aW89ImRlZmVyIG1lZXQiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjY6IEVycm9yOiBJbnZhbGlk
IHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgcHJlc2VydmVBc3BlY3RSYXRpbz0iZGVmZXIgeE1p
ZFlNaWQgbWVldCBhIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI5OiBFcnJvcjogSW52YWxpZCB2
YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHByZXNlcnZlQXNwZWN0UmF0aW89ImRlZmVyIDEgeE1p
ZFlNaWQgbWVldCIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAzMjogRXJyb3I6IEludmFsaWQgdmFs
dWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJkZWZlciAsIHhNaWRZ
TWlkIG1lZXQiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzU6IEVycm9yOiBJbnZhbGlkIHZhbHVl
IGZvciA8c3ZnPiBhdHRyaWJ1dGUgcHJlc2VydmVBc3BlY3RSYXRpbz0iIgogbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiBsYXll
ciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L3dpbi9zdmcvY3VzdG9tL3ZpZXdib3gtc3ludGF4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3dpbi9zdmcvY3VzdG9tL3ZpZXdib3gtc3ludGF4LWV4cGVjdGVkLnR4dAppbmRl
eCA2MjZjZDZhOTQ2YTI1OWE2OWI5NGJkOTAzMGUzMmUxYTI2NDdkYTQ3Li5mOTk0MTc4ZjhkY2U3
OGYxYTc0YWYzOWUwNGQ3ZjMzYTZmODJlYzMyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS93aW4vc3ZnL2N1c3RvbS92aWV3Ym94LXN5bnRheC1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vd2luL3N2Zy9jdXN0b20vdmlld2JveC1zeW50YXgtZXhwZWN0ZWQu
dHh0CkBAIC0xLDEzICsxLDEzIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjA6IFdhcm5pbmc6
IFByb2JsZW0gcGFyc2luZyB2aWV3Qm94PSIwIgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIzOiBX
YXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0JveD0iMCAwIgotQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDI2OiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0JveD0iMCAwIDMwIgotQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDI5OiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0JveD0iMCAw
IDMwIDQwIDUwIgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDMyOiBXYXJuaW5nOiBQcm9ibGVtIHBh
cnNpbmcgdmlld0JveD0iMCAwIDMwIDQwLCIKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAzNTogV2Fy
bmluZzogUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9IiwwIDAgMzAgNDAiCi1DT05TT0xFIE1FU1NB
R0U6IGxpbmUgMzg6IEVycm9yOiBBIG5lZ2F0aXZlIHZhbHVlIGZvciBWaWV3Qm94IHdpZHRoIGlz
IG5vdCBhbGxvd2VkCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNDE6IEVycm9yOiBBIG5lZ2F0aXZl
IHZhbHVlIGZvciBWaWV3Qm94IGhlaWdodCBpcyBub3QgYWxsb3dlZAotQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDQ0OiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0JveD0iMCAwIDMwLCAsIDQw
IgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQ3OiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmll
d0JveD0iMCAwIDMwJSA0MCIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyMDogRXJyb3I6IEludmFs
aWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIwIgorQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDIzOiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdC
b3g9IjAgMCIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyNjogRXJyb3I6IEludmFsaWQgdmFsdWUg
Zm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIwIDAgMzAiCitDT05TT0xFIE1FU1NBR0U6IGxp
bmUgMjk6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0i
MCAwIDMwIDQwIDUwIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDMyOiBFcnJvcjogSW52YWxpZCB2
YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAgMCAzMCA0MCwiCitDT05TT0xFIE1F
U1NBR0U6IGxpbmUgMzU6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUg
dmlld0JveD0iLDAgMCAzMCA0MCIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAzODogRXJyb3I6IElu
dmFsaWQgbmVnYXRpdmUgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIwIDAgLTMw
IDQwIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQxOiBFcnJvcjogSW52YWxpZCBuZWdhdGl2ZSB2
YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAgMCAzMCAtNDAiCitDT05TT0xFIE1F
U1NBR0U6IGxpbmUgNDQ6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUg
dmlld0JveD0iMCAwIDMwLCAsIDQwIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQ3OiBFcnJvcjog
SW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAgMCAzMCUgNDAiCiBs
YXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vd2luL3N2Zy9oaXhpZS9lcnJvci8wMTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd2luL3N2Zy9oaXhpZS9lcnJvci8wMTAtZXhwZWN0ZWQudHh0CmluZGV4
IGI3YWQ0Zjk2N2QxYzAxM2M3ODAwZjdhMGI0NmJkMWZhNzBkNDk0ZDguLmRkMjA3MDUzOWUxNmQ5
ZTgzZjEzMjVjOTBjODgwYWY4ZmY3NzU5NWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL3dpbi9zdmcvaGl4aWUvZXJyb3IvMDEwLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS93aW4vc3ZnL2hpeGllL2Vycm9yLzAxMC1leHBlY3RlZC50eHQKQEAgLTEsNCAr
MSw0IEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogV2FybmluZzogUHJvYmxlbSBwYXJzaW5n
IHZpZXdCb3g9IjAgMCAxIDEgMSIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBFcnJvcjogSW52
YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAgMCAxIDEgMSIKIGxheWVy
IGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYw
MAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS93aW4vc3ZnL2hpeGllL2Vycm9yLzAxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS93aW4vc3ZnL2hpeGllL2Vycm9yLzAxMS1leHBlY3RlZC50eHQKaW5kZXggYTVk
OGJlNzg0NmFhODRkNThiNDczYjg1MTg5NWE5NWRiOTBjNGRlNy4uOWQwOWZjNjgxNmU5NDE1ZWNl
NjI0OWQ2ZmQyNmIzNjdkYmU2MDk3YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
d2luL3N2Zy9oaXhpZS9lcnJvci8wMTEtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3dpbi9zdmcvaGl4aWUvZXJyb3IvMDExLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQg
QEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmll
d0JveD0iMCAwLCwgMSAxIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IEVycm9yOiBJbnZhbGlk
IHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iMCAwLCwgMSAxIgogbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiBs
YXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL3dpbmNhaXJvL3N2Zy9jdXN0b20vcHJlc2VydmUtYXNwZWN0LXJhdGlvLXN5bnRheC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9zdmcvY3VzdG9tL3ByZXNl
cnZlLWFzcGVjdC1yYXRpby1zeW50YXgtZXhwZWN0ZWQudHh0CmluZGV4IDVmNjc3MDRjN2ExNGM3
ZjlmMzZmOGU1ZGVmZjk5Y2Y1ZmE5ZWQ1MWMuLjNjZjE4NWExOGM5YTEwZDU5ZTlmMDk4NWYxZTIw
NDMyN2JkZTM5ZDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL3N2
Zy9jdXN0b20vcHJlc2VydmUtYXNwZWN0LXJhdGlvLXN5bnRheC1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vc3ZnL2N1c3RvbS9wcmVzZXJ2ZS1hc3BlY3Qt
cmF0aW8tc3ludGF4LWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDggQEAKK0NPTlNPTEUgTUVTU0FH
RTogbGluZSAyMzogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSBwcmVz
ZXJ2ZUFzcGVjdFJhdGlvPSJkZWZlciBtZWV0IgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI2OiBF
cnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHByZXNlcnZlQXNwZWN0UmF0
aW89ImRlZmVyIHhNaWRZTWlkIG1lZXQgYSIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyOTogRXJy
b3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSBwcmVzZXJ2ZUFzcGVjdFJhdGlv
PSJkZWZlciAxIHhNaWRZTWlkIG1lZXQiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzI6IEVycm9y
OiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgcHJlc2VydmVBc3BlY3RSYXRpbz0i
ZGVmZXIgLCB4TWlkWU1pZCBtZWV0IgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDM1OiBFcnJvcjog
SW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHByZXNlcnZlQXNwZWN0UmF0aW89IiIK
IGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUg
ODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9zdmcvY3VzdG9tL3ZpZXdib3gtc3ludGF4LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL3N2Zy9jdXN0b20vdmlld2JveC1z
eW50YXgtZXhwZWN0ZWQudHh0CmluZGV4IGQ4MTMyNWY4YWE3NGVmMGUzMzEyNGI5Yzk5NDU5OTIw
OWJkOWQwNGEuLjUxNjhjMDc1YzMwMzA5MGFkM2Y1ODIwNTM5ZDQ3OGI2MThjYjRmZGUgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL3N2Zy9jdXN0b20vdmlld2JveC1z
eW50YXgtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL3N2
Zy9jdXN0b20vdmlld2JveC1zeW50YXgtZXhwZWN0ZWQudHh0CkBAIC0xLDEzICsxLDEzIEBACi1D
T05TT0xFIE1FU1NBR0U6IGxpbmUgMjA6IFdhcm5pbmc6IFByb2JsZW0gcGFyc2luZyB2aWV3Qm94
PSIwIgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIzOiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcg
dmlld0JveD0iMCAwIgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI2OiBXYXJuaW5nOiBQcm9ibGVt
IHBhcnNpbmcgdmlld0JveD0iMCAwIDMwIgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI5OiBXYXJu
aW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0JveD0iMCAwIDMwIDQwIDUwIgotQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDMyOiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0JveD0iMCAwIDMwIDQw
LCIKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAzNTogV2FybmluZzogUHJvYmxlbSBwYXJzaW5nIHZp
ZXdCb3g9IiwwIDAgMzAgNDAiCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMzg6IEVycm9yOiBBIG5l
Z2F0aXZlIHZhbHVlIGZvciBWaWV3Qm94IHdpZHRoIGlzIG5vdCBhbGxvd2VkCi1DT05TT0xFIE1F
U1NBR0U6IGxpbmUgNDE6IEVycm9yOiBBIG5lZ2F0aXZlIHZhbHVlIGZvciBWaWV3Qm94IGhlaWdo
dCBpcyBub3QgYWxsb3dlZAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQ0OiBXYXJuaW5nOiBQcm9i
bGVtIHBhcnNpbmcgdmlld0JveD0iMCAwIDMwLCAsIDQwIgotQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDQ3OiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0JveD0iMCAwIDMwJSA0MCIKK0NPTlNP
TEUgTUVTU0FHRTogbGluZSAyMDogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJp
YnV0ZSB2aWV3Qm94PSIwIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIzOiBFcnJvcjogSW52YWxp
ZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAgMCIKK0NPTlNPTEUgTUVTU0FH
RTogbGluZSAyNjogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3
Qm94PSIwIDAgMzAiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjk6IEVycm9yOiBJbnZhbGlkIHZh
bHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iMCAwIDMwIDQwIDUwIgorQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDMyOiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRl
IHZpZXdCb3g9IjAgMCAzMCA0MCwiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzU6IEVycm9yOiBJ
bnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iLDAgMCAzMCA0MCIKK0NP
TlNPTEUgTUVTU0FHRTogbGluZSAzODogRXJyb3I6IEludmFsaWQgbmVnYXRpdmUgdmFsdWUgZm9y
IDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIwIDAgLTMwIDQwIgorQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDQxOiBFcnJvcjogSW52YWxpZCBuZWdhdGl2ZSB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRl
IHZpZXdCb3g9IjAgMCAzMCAtNDAiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNDQ6IEVycm9yOiBJ
bnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iMCAwIDMwLCAsIDQwIgor
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDQ3OiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4g
YXR0cmlidXRlIHZpZXdCb3g9IjAgMCAzMCUgNDAiCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKIGxheWVyIGF0ICgwLDApIHNp
emUgODAweDYwMApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd3BlL3N2Zy9jdXN0
b20vcHJlc2VydmUtYXNwZWN0LXJhdGlvLXN5bnRheC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS93cGUvc3ZnL2N1c3RvbS9wcmVzZXJ2ZS1hc3BlY3QtcmF0aW8tc3ludGF4LWV4
cGVjdGVkLnR4dAppbmRleCA5OWI3MDNkMzJmNWQ1MTI4NzgxYzFmYmYwZGU4OTE5ZTljYjhlODQ4
Li5iMWJiNTVmNzQ5OGQ1ZTk2OTZjN2JlOTA2YzRmNjRmNWRmZjNlNzMzIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvc3ZnL2N1c3RvbS9wcmVzZXJ2ZS1hc3BlY3QtcmF0aW8t
c3ludGF4LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvc3ZnL2N1
c3RvbS9wcmVzZXJ2ZS1hc3BlY3QtcmF0aW8tc3ludGF4LWV4cGVjdGVkLnR4dApAQCAtMSwzICsx
LDggQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyMzogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9y
IDxzdmc+IGF0dHJpYnV0ZSBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJkZWZlciBtZWV0IgorQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDI2OiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmli
dXRlIHByZXNlcnZlQXNwZWN0UmF0aW89ImRlZmVyIHhNaWRZTWlkIG1lZXQgYSIKK0NPTlNPTEUg
TUVTU0FHRTogbGluZSAyOTogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0
ZSBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJkZWZlciAxIHhNaWRZTWlkIG1lZXQiCitDT05TT0xFIE1F
U1NBR0U6IGxpbmUgMzI6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUg
cHJlc2VydmVBc3BlY3RSYXRpbz0iZGVmZXIgLCB4TWlkWU1pZCBtZWV0IgorQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDM1OiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHBy
ZXNlcnZlQXNwZWN0UmF0aW89IiIKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5k
ZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAw
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvc3ZnL2N1c3RvbS92aWV3Ym94
LXN5bnRheC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvc3ZnL2N1c3Rv
bS92aWV3Ym94LXN5bnRheC1leHBlY3RlZC50eHQKaW5kZXggMmY5MmZmMmUzN2ZhMzMwMTM5MGE5
NGE4MjZkMGJlOWViNGU4NzBjOS4uZjhkMzJlMzllMGUxN2I3MjY5OWZlNDk4ODk2ZDAzYmRhMTNi
ODMzNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd3BlL3N2Zy9jdXN0b20vdmll
d2JveC1zeW50YXgtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dwZS9z
dmcvY3VzdG9tL3ZpZXdib3gtc3ludGF4LWV4cGVjdGVkLnR4dApAQCAtMSwxMyArMSwxMyBAQAot
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDIwOiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0Jv
eD0iMCIKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAyMzogV2FybmluZzogUHJvYmxlbSBwYXJzaW5n
IHZpZXdCb3g9IjAgMCIKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAyNjogV2FybmluZzogUHJvYmxl
bSBwYXJzaW5nIHZpZXdCb3g9IjAgMCAzMCIKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAyOTogV2Fy
bmluZzogUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9IjAgMCAzMCA0MCA1MCIKLUNPTlNPTEUgTUVT
U0FHRTogbGluZSAzMjogV2FybmluZzogUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9IjAgMCAzMCA0
MCwiCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMzU6IFdhcm5pbmc6IFByb2JsZW0gcGFyc2luZyB2
aWV3Qm94PSIsMCAwIDMwIDQwIgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDM4OiBFcnJvcjogQSBu
ZWdhdGl2ZSB2YWx1ZSBmb3IgVmlld0JveCB3aWR0aCBpcyBub3QgYWxsb3dlZAotQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDQxOiBFcnJvcjogQSBuZWdhdGl2ZSB2YWx1ZSBmb3IgVmlld0JveCBoZWln
aHQgaXMgbm90IGFsbG93ZWQKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA0NDogV2FybmluZzogUHJv
YmxlbSBwYXJzaW5nIHZpZXdCb3g9IjAgMCAzMCwgLCA0MCIKLUNPTlNPTEUgTUVTU0FHRTogbGlu
ZSA0NzogV2FybmluZzogUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9IjAgMCAzMCUgNDAiCitDT05T
T0xFIE1FU1NBR0U6IGxpbmUgMjA6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRy
aWJ1dGUgdmlld0JveD0iMCIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyMzogRXJyb3I6IEludmFs
aWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIwIDAiCitDT05TT0xFIE1FU1NB
R0U6IGxpbmUgMjY6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmll
d0JveD0iMCAwIDMwIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI5OiBFcnJvcjogSW52YWxpZCB2
YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAgMCAzMCA0MCA1MCIKK0NPTlNPTEUg
TUVTU0FHRTogbGluZSAzMjogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0
ZSB2aWV3Qm94PSIwIDAgMzAgNDAsIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDM1OiBFcnJvcjog
SW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IiwwIDAgMzAgNDAiCitD
T05TT0xFIE1FU1NBR0U6IGxpbmUgMzg6IEVycm9yOiBJbnZhbGlkIG5lZ2F0aXZlIHZhbHVlIGZv
ciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iMCAwIC0zMCA0MCIKK0NPTlNPTEUgTUVTU0FHRTog
bGluZSA0MTogRXJyb3I6IEludmFsaWQgbmVnYXRpdmUgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0
ZSB2aWV3Qm94PSIwIDAgMzAgLTQwIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQ0OiBFcnJvcjog
SW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAgMCAzMCwgLCA0MCIK
K0NPTlNPTEUgTUVTU0FHRTogbGluZSA0NzogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+
IGF0dHJpYnV0ZSB2aWV3Qm94PSIwIDAgMzAlIDQwIgogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiBsYXllciBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dwZS9zdmcvaGl4
aWUvZXJyb3IvMDEwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dwZS9zdmcv
aGl4aWUvZXJyb3IvMDEwLWV4cGVjdGVkLnR4dAppbmRleCBiN2FkNGY5NjdkMWMwMTNjNzgwMGY3
YTBiNDZiZDFmYTcwZDQ5NGQ4Li5kZDIwNzA1MzllMTZkOWU4M2YxMzI1YzkwYzg4MGFmOGZmNzc1
OTVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvc3ZnL2hpeGllL2Vycm9y
LzAxMC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd3BlL3N2Zy9oaXhp
ZS9lcnJvci8wMTAtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAotQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDE6IFdhcm5pbmc6IFByb2JsZW0gcGFyc2luZyB2aWV3Qm94PSIwIDAgMSAxIDEiCitD
T05TT0xFIE1FU1NBR0U6IGxpbmUgMTogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0
dHJpYnV0ZSB2aWV3Qm94PSIwIDAgMSAxIDEiCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
ICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKIGxheWVyIGF0ICgwLDApIHNpemUg
ODAweDYwMApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd3BlL3N2Zy9oaXhpZS9l
cnJvci8wMTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd3BlL3N2Zy9oaXhp
ZS9lcnJvci8wMTEtZXhwZWN0ZWQudHh0CmluZGV4IGE1ZDhiZTc4NDZhYTg0ZDU4YjQ3M2I4NTE4
OTVhOTVkYjkwYzRkZTcuLjlkMDlmYzY4MTZlOTQxNWVjZTYyNDlkNmZkMjZiMzY3ZGJlNjA5N2Mg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dwZS9zdmcvaGl4aWUvZXJyb3IvMDEx
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvc3ZnL2hpeGllL2Vy
cm9yLzAxMS1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACi1DT05TT0xFIE1FU1NBR0U6IGxp
bmUgMTogV2FybmluZzogUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9IjAgMCwsIDEgMSIKK0NPTlNP
TEUgTUVTU0FHRTogbGluZSAxOiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmli
dXRlIHZpZXdCb3g9IjAgMCwsIDEgMSIKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBS
ZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zdmdudW1iZXItYW5p
bWF0aW9uLTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc3ZnbnVt
YmVyLWFuaW1hdGlvbi0zLWV4cGVjdGVkLnR4dAppbmRleCBkZDM1MjVkMWE1YmJlMGQ5NGFkYjJh
YjZmNTE2MDQzNDFkY2NiMGEyLi5lOWYwMzFiMjc4ZTlkMDg5MDA1YzhkYzIwYjQyYTNmNTlhNGNk
ZTYyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zdmdudW1iZXItYW5p
bWF0aW9uLTMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3N2
Z251bWJlci1hbmltYXRpb24tMy1leHBlY3RlZC50eHQKQEAgLTYsOCArNiw4IEBAIE9uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFCiAKIAogUEFTUyBnZXRDb21wdXRlZFN0eWxlKHJlY3QpLmdldFByb3Bl
cnR5Q1NTVmFsdWUoJ29wYWNpdHknKS5nZXRGbG9hdFZhbHVlKENTU1ByaW1pdGl2ZVZhbHVlLkNT
U19OVU1CRVIpIGlzIDAKLVBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShyZWN0KS5nZXRQcm9wZXJ0eUNT
U1ZhbHVlKCdvcGFjaXR5JykuZ2V0RmxvYXRWYWx1ZShDU1NQcmltaXRpdmVWYWx1ZS5DU1NfTlVN
QkVSKSBpcyAwCi1QQVNTIGdldENvbXB1dGVkU3R5bGUocmVjdCkuZ2V0UHJvcGVydHlDU1NWYWx1
ZSgnb3BhY2l0eScpLmdldEZsb2F0VmFsdWUoQ1NTUHJpbWl0aXZlVmFsdWUuQ1NTX05VTUJFUikg
aXMgMAorUEFTUyBnZXRDb21wdXRlZFN0eWxlKHJlY3QpLmdldFByb3BlcnR5Q1NTVmFsdWUoJ29w
YWNpdHknKS5nZXRGbG9hdFZhbHVlKENTU1ByaW1pdGl2ZVZhbHVlLkNTU19OVU1CRVIpIGlzIDAu
NQorUEFTUyBnZXRDb21wdXRlZFN0eWxlKHJlY3QpLmdldFByb3BlcnR5Q1NTVmFsdWUoJ29wYWNp
dHknKS5nZXRGbG9hdFZhbHVlKENTU1ByaW1pdGl2ZVZhbHVlLkNTU19OVU1CRVIpIGlzIDEKIFBB
U1MgZ2V0Q29tcHV0ZWRTdHlsZShyZWN0KS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdvcGFjaXR5Jyku
Z2V0RmxvYXRWYWx1ZShDU1NQcmltaXRpdmVWYWx1ZS5DU1NfTlVNQkVSKSBpcyAwCiBQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9h
bmltYXRpb25zL3N2Z251bWJlci1hbmltYXRpb24tMy5odG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2Fu
aW1hdGlvbnMvc3ZnbnVtYmVyLWFuaW1hdGlvbi0zLmh0bWwKaW5kZXggYjYwZGE4M2E3NGRlOTAw
YjQwMDE0ODk4ZDc0MjcyMjgzYzAzZjRjNy4uOGJjNDQyNjk5ZjQ1YTBmOWE3NmI2NjQwZWFlZTlj
NzIyOTk4NDFiMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc3ZnbnVt
YmVyLWFuaW1hdGlvbi0zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc3Zn
bnVtYmVyLWFuaW1hdGlvbi0zLmh0bWwKQEAgLTM2LDE1ICszNiwxNSBAQCByb290U1ZHRWxlbWVu
dC5hcHBlbmRDaGlsZChyZWN0KTsKIC8vIFNldHVwIGFuaW1hdGlvbiB0ZXN0CiBmdW5jdGlvbiBz
YW1wbGUxKCkgewogICAgIC8vIENoZWNrIGluaXRpYWwvZW5kIGNvbmRpdGlvbnMKLSAgICBzaG91
bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShyZWN0KS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdvcGFjaXR5
JykuZ2V0RmxvYXRWYWx1ZShDU1NQcmltaXRpdmVWYWx1ZS5DU1NfTlVNQkVSKSIsICIwIik7Cisg
ICAgc2hvdWxkQmVDbG9zZUVub3VnaCgiZ2V0Q29tcHV0ZWRTdHlsZShyZWN0KS5nZXRQcm9wZXJ0
eUNTU1ZhbHVlKCdvcGFjaXR5JykuZ2V0RmxvYXRWYWx1ZShDU1NQcmltaXRpdmVWYWx1ZS5DU1Nf
TlVNQkVSKSIsICIwIik7CiB9CiAKIGZ1bmN0aW9uIHNhbXBsZTIoKSB7Ci0gICAgc2hvdWxkQmUo
ImdldENvbXB1dGVkU3R5bGUocmVjdCkuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnb3BhY2l0eScpLmdl
dEZsb2F0VmFsdWUoQ1NTUHJpbWl0aXZlVmFsdWUuQ1NTX05VTUJFUikiLCAiMCIpOworICAgIHNo
b3VsZEJlQ2xvc2VFbm91Z2goImdldENvbXB1dGVkU3R5bGUocmVjdCkuZ2V0UHJvcGVydHlDU1NW
YWx1ZSgnb3BhY2l0eScpLmdldEZsb2F0VmFsdWUoQ1NTUHJpbWl0aXZlVmFsdWUuQ1NTX05VTUJF
UikiLCAiMC41Iik7CiB9CiAKIGZ1bmN0aW9uIHNhbXBsZTMoKSB7Ci0gICAgc2hvdWxkQmUoImdl
dENvbXB1dGVkU3R5bGUocmVjdCkuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnb3BhY2l0eScpLmdldEZs
b2F0VmFsdWUoQ1NTUHJpbWl0aXZlVmFsdWUuQ1NTX05VTUJFUikiLCAiMCIpOworICAgIHNob3Vs
ZEJlQ2xvc2VFbm91Z2goImdldENvbXB1dGVkU3R5bGUocmVjdCkuZ2V0UHJvcGVydHlDU1NWYWx1
ZSgnb3BhY2l0eScpLmdldEZsb2F0VmFsdWUoQ1NTUHJpbWl0aXZlVmFsdWUuQ1NTX05VTUJFUiki
LCAiMSIpOwogfQogCiBmdW5jdGlvbiBleGVjdXRlVGVzdCgpIHsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N2Zy9kb20vbGVuZ3RoLWxpc3QtcGFyc2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3N2Zy9kb20vbGVuZ3RoLWxpc3QtcGFyc2VyLWV4cGVjdGVkLnR4dAppbmRleCBlZWYwNjMw
NzZiZDRkZTYxNzk0NTExOTM3YTYxZjAxNjU1MDdiN2JhLi5jMzA4MmRiMWM2ZjMyZjc2OGYxOWI5
MDFjNzUwMTk0MzFjOGFhOTZiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvZG9tL2xlbmd0
aC1saXN0LXBhcnNlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2RvbS9sZW5n
dGgtbGlzdC1wYXJzZXItZXhwZWN0ZWQudHh0CkBAIC01LDggKzUsMTAgQEAgT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUKIAogUGFyc2VkIGFzIDEgbGVuZ3RoKHMpIFsgOC44NDcgXTogOC44NDcKIFBh
cnNlZCBhcyAxIGxlbmd0aChzKSBbIDguNjI1NjllKzYgXTogODYyNTY4NiAzLjAtMC4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMSwgOTAsZTQ5OTcuLiw3ODItNDMyNmUuCS0wLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxM2UsK2U5CWUgNDgyOS4sMDYzNzIxLTAuMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEuLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDFlNiAwNzIKK1BhcnNlZCBhcyA4IGxlbmd0aChzKSBbIDI4LCAtOCwgMCwgNDcsIDQsIDAs
IDM1LCA2ODQgXTogIDI4CS04IC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxLDQ3
IDA0LC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxOTkzLDM1CSs2ODQgKwkxNTll
ICAgKy4zLWUwKyw4MTItMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMS0wLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNzI4LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDE0KywtLTEtMjZlNjY2NDYwCiBQYXJzZWQgYXMgMSBsZW5ndGgocykgWyA2MTgyMiBd
OiA2MTgyMiwxNS0wMC4xNjYuNyAKIFBhcnNlZCBhcyAyIGxlbmd0aChzKSBbIDIsIDAuNSBdOiAy
CS41LDY1OC03IGUgLDg0Nzc1NTMKK1BhcnNlZCBhcyAxIGxlbmd0aChzKSBbIDIxODMgXTogIDIx
ODMgOS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxOTEsNTktLSA3MDQ3OC4sNTY2
OTY0Nzg0CWUxLTUzCTg0N2UwLjZlMzQ4MDUtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxIDk3NQk5MjJlLDQJK2UwZS0w
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxIC4KIFBhcnNlZCBhcyAzIGxlbmd0aChz
KSBbIDgsIDIsIDU4OSBdOiA4IDIgNTg5CS00NWU1OCAtNAktMC4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMWU1OC0rKzY4OS4tOTgtLDQyIDk0NTY0Liw5NjctMC4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMTErICw5KzYtCS43NjUrLTg3IGUuIDY4CTk0NTIxODItMC4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTYuLiAxCSsKIFBhcnNlZCBhcyAxIGxlbmd0aChz
KSBbIDEgXTogMSwuLCsuODMzKy4wMDQgMi0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAxMi0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxKy45LQk4LTAuMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEuNzk4MC01NTUtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMS0xOTgJNTAKIFBhcnNlZCBhcyAxIGxlbmd0aChzKSBbIDU2NDI4MSBdOiA1NjQy
ODEgMGVlNTErIGUgCTM3ODU4NDgzMwksLjE0MQllOC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAxLTUzLiA4ODUzMC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMAk4
Li0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxOC44NDdlMjg4ODYtMC4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTRlODUgLi0xLQpAQCAtMTQsNiArMTYsNyBAQCBQYXJz
ZWQgYXMgMyBsZW5ndGgocykgWyAwLCA5LCAzNjcgXTogLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAogUGFyc2VkIGFzIDQgbGVuZ3RoKHMpIFsgNCwgMCwgMzUsIDY4
NCBdOiAwNCwtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTk5MywzNQkrNjg0ICsJ
MTU5ZSAgICsuMy1lMCssODEyLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEtMC4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTcyOC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAxNCssLS0xLTI2ZTY2NjQ2MC03OS41LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDE2OTYwMy0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDY0MSws
NTcyLTk2MAkxLTkgMjg5CQogUGFyc2VkIGFzIDEgbGVuZ3RoKHMpIFsgNjE4MjIgXTogNjE4MjIs
MTUtMDAuMTY2LjcgCiBQYXJzZWQgYXMgMiBsZW5ndGgocykgWyAyLCAwLjUgXTogMgkuNSw2NTgt
NyBlICw4NDc3NTUzCitQYXJzZWQgYXMgMSBsZW5ndGgocykgWyAyMTgzIF06ICAyMTgzIDktMC4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTkxLDU5LS0gNzA0NzguLDU2Njk2NDc4NAll
MS01Mwk4NDdlMC42ZTM0ODA1LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEtMC4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMSA5NzUJOTIyZSw0CStlMGUtMC4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMSAuCiBQYXJzZWQgYXMgMyBsZW5ndGgocykgWyA4LCAy
LCA1ODkgXTogOCAyIDU4OQktNDVlNTggLTQJLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDFlNTgtKys2ODkuLTk4LSw0MiA5NDU2NC4sOTY3LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDExKyAsOSs2LQkuNzY1Ky04NyBlLiA2OAk5NDUyMTgyLTAuMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDE2Li4gMQkrCiBQYXJzZWQgYXMgMSBsZW5ndGgocykgWyAxIF06
IDEsLiwrLjgzMysuMDA0IDItMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTItMC4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMSsuOS0JOC0wLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAxLjc5ODAtNTU1LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDEtMTk4CTUwCiBQYXJzZWQgYXMgMSBsZW5ndGgocykgWyA1NjQyODEgXTogNTY0MjgxIDBlZTUx
KyBlIAkzNzg1ODQ4MzMJLC4xNDEJZTgtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MS01My4gODg1MzAtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAJOC4tMC4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTguODQ3ZTI4ODg2LTAuMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDE0ZTg1IC4tMS0KQEAgLTIxLDYgKzI0LDcgQEAgUGFyc2VkIGFzIDMg
bGVuZ3RoKHMpIFsgMCwgOSwgMzY3IF06IC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKIFBhcnNlZCBhcyA0IGxlbmd0aChzKSBbIDQsIDAsIDM1LCA2ODQgXTogMDQs
LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE5OTMsMzUJKzY4NCArCTE1OWUgICAr
LjMtZTArLDgxMi0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxLTAuMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE3MjgtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMTQrLC0tMS0yNmU2NjY0NjAtNzkuNS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAxNjk2MDMtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTA2NDEsLDU3Mi05NjAJ
MS05IDI4OQkKIFBhcnNlZCBhcyAxIGxlbmd0aChzKSBbIDYxODIyIF06IDYxODIyLDE1LTAwLjE2
Ni43IAogUGFyc2VkIGFzIDIgbGVuZ3RoKHMpIFsgMiwgMC41IF06IDIJLjUsNjU4LTcgZSAsODQ3
NzU1MworUGFyc2VkIGFzIDEgbGVuZ3RoKHMpIFsgMjE4MyBdOiAgMjE4MyA5LTAuMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE5MSw1OS0tIDcwNDc4Liw1NjY5NjQ3ODQJZTEtNTMJODQ3
ZTAuNmUzNDgwNS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxLTAuMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEgOTc1CTkyMmUsNAkrZTBlLTAuMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDEgLgogUGFyc2VkIGFzIDMgbGVuZ3RoKHMpIFsgOCwgMiwgNTg5IF06
IDggMiA1ODkJLTQ1ZTU4IC00CS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxZTU4
LSsrNjg5Li05OC0sNDIgOTQ1NjQuLDk2Ny0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAxMSsgLDkrNi0JLjc2NSstODcgZS4gNjgJOTQ1MjE4Mi0wLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAxNi4uIDEJKwogUGFyc2VkIGFzIDEgbGVuZ3RoKHMpIFsgMSBdOiAxLC4sKy44
MzMrLjAwNCAyLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEyLTAuMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDErLjktCTgtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMS43OTgwLTU1NS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxLTE5OAk1
MAogUGFyc2VkIGFzIDEgbGVuZ3RoKHMpIFsgNTY0MjgxIF06IDU2NDI4MSAwZWU1MSsgZSAJMzc4
NTg0ODMzCSwuMTQxCWU4LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEtNTMuIDg4
NTMwLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwCTguLTAuMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDE4Ljg0N2UyODg4Ni0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAxNGU4NSAuLTEtCkBAIC0yOCw2ICszMiw3IEBAIFBhcnNlZCBhcyAzIGxlbmd0aChz
KSBbIDAsIDksIDM2NyBdOiAtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCiBQYXJzZWQgYXMgNCBsZW5ndGgocykgWyA0LCAwLCAzNSwgNjg0IF06IDA0LC0wLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxOTkzLDM1CSs2ODQgKwkxNTllICAgKy4zLWUwKyw4
MTItMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMS0wLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAxNzI4LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE0Kywt
LTEtMjZlNjY2NDYwLTc5LjUtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTY5NjAz
LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwNjQxLCw1NzItOTYwCTEtOSAyODkJ
CiBQYXJzZWQgYXMgMSBsZW5ndGgocykgWyA2MTgyMiBdOiA2MTgyMiwxNS0wMC4xNjYuNyAKIFBh
cnNlZCBhcyAyIGxlbmd0aChzKSBbIDIsIDAuNSBdOiAyCS41LDY1OC03IGUgLDg0Nzc1NTMKK1Bh
cnNlZCBhcyAxIGxlbmd0aChzKSBbIDIxODMgXTogIDIxODMgOS0wLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAxOTEsNTktLSA3MDQ3OC4sNTY2OTY0Nzg0CWUxLTUzCTg0N2UwLjZlMzQ4
MDUtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMS0wLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAxIDk3NQk5MjJlLDQJK2UwZS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAxIC4KIFBhcnNlZCBhcyAzIGxlbmd0aChzKSBbIDgsIDIsIDU4OSBdOiA4IDIgNTg5
CS00NWU1OCAtNAktMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMWU1OC0rKzY4OS4t
OTgtLDQyIDk0NTY0Liw5NjctMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTErICw5
KzYtCS43NjUrLTg3IGUuIDY4CTk0NTIxODItMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMTYuLiAxCSsKIFBhcnNlZCBhcyAxIGxlbmd0aChzKSBbIDEgXTogMSwuLCsuODMzKy4wMDQg
Mi0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMi0wLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAxKy45LQk4LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEu
Nzk4MC01NTUtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMS0xOTgJNTAKIFBhcnNl
ZCBhcyAxIGxlbmd0aChzKSBbIDU2NDI4MSBdOiA1NjQyODEgMGVlNTErIGUgCTM3ODU4NDgzMwks
LjE0MQllOC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxLTUzLiA4ODUzMC0wLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMAk4Li0wLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAxOC44NDdlMjg4ODYtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MTRlODUgLi0xLQpAQCAtMzUsNiArNDAsNyBAQCBQYXJzZWQgYXMgMyBsZW5ndGgocykgWyAwLCA5
LCAzNjcgXTogLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAogUGFy
c2VkIGFzIDQgbGVuZ3RoKHMpIFsgNCwgMCwgMzUsIDY4NCBdOiAwNCwtMC4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMTk5MywzNQkrNjg0ICsJMTU5ZSAgICsuMy1lMCssODEyLTAuMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMTcyOC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNCssLS0xLTI2ZTY2
NjQ2MC03OS41LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE2OTYwMy0wLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDY0MSwsNTcyLTk2MAkxLTkgMjg5CQogUGFyc2Vk
IGFzIDEgbGVuZ3RoKHMpIFsgNjE4MjIgXTogNjE4MjIsMTUtMDAuMTY2LjcgCiBQYXJzZWQgYXMg
MiBsZW5ndGgocykgWyAyLCAwLjUgXTogMgkuNSw2NTgtNyBlICw4NDc3NTUzCitQYXJzZWQgYXMg
MSBsZW5ndGgocykgWyAyMTgzIF06ICAyMTgzIDktMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMTkxLDU5LS0gNzA0NzguLDU2Njk2NDc4NAllMS01Mwk4NDdlMC42ZTM0ODA1LTAuMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMSA5NzUJOTIyZSw0CStlMGUtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MSAuCiBQYXJzZWQgYXMgMyBsZW5ndGgocykgWyA4LCAyLCA1ODkgXTogOCAyIDU4OQktNDVlNTgg
LTQJLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFlNTgtKys2ODkuLTk4LSw0MiA5
NDU2NC4sOTY3LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDExKyAsOSs2LQkuNzY1
Ky04NyBlLiA2OAk5NDUyMTgyLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE2Li4g
MQkrCiBQYXJzZWQgYXMgMSBsZW5ndGgocykgWyAxIF06IDEsLiwrLjgzMysuMDA0IDItMC4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTItMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMSsuOS0JOC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxLjc5ODAtNTU1
LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEtMTk4CTUwCiBQYXJzZWQgYXMgMSBs
ZW5ndGgocykgWyA1NjQyODEgXTogNTY0MjgxIDBlZTUxKyBlIAkzNzg1ODQ4MzMJLC4xNDEJZTgt
MC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMS01My4gODg1MzAtMC4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAJOC4tMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMTguODQ3ZTI4ODg2LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE0ZTg1IC4t
MS0KQEAgLTQyLDYgKzQ4LDcgQEAgUGFyc2VkIGFzIDMgbGVuZ3RoKHMpIFsgMCwgOSwgMzY3IF06
IC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKIFBhcnNlZCBhcyA0
IGxlbmd0aChzKSBbIDQsIDAsIDM1LCA2ODQgXTogMDQsLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDE5OTMsMzUJKzY4NCArCTE1OWUgICArLjMtZTArLDgxMi0wLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAxLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE3
MjgtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTQrLC0tMS0yNmU2NjY0NjAtNzku
NS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNjk2MDMtMC4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMTA2NDEsLDU3Mi05NjAJMS05IDI4OQkKIFBhcnNlZCBhcyAxIGxl
bmd0aChzKSBbIDYxODIyIF06IDYxODIyLDE1LTAwLjE2Ni43IAogUGFyc2VkIGFzIDIgbGVuZ3Ro
KHMpIFsgMiwgMC41IF06IDIJLjUsNjU4LTcgZSAsODQ3NzU1MworUGFyc2VkIGFzIDEgbGVuZ3Ro
KHMpIFsgMjE4MyBdOiAgMjE4MyA5LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE5
MSw1OS0tIDcwNDc4Liw1NjY5NjQ3ODQJZTEtNTMJODQ3ZTAuNmUzNDgwNS0wLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAxLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEg
OTc1CTkyMmUsNAkrZTBlLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEgLgogUGFy
c2VkIGFzIDMgbGVuZ3RoKHMpIFsgOCwgMiwgNTg5IF06IDggMiA1ODkJLTQ1ZTU4IC00CS0wLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxZTU4LSsrNjg5Li05OC0sNDIgOTQ1NjQuLDk2
Ny0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMSsgLDkrNi0JLjc2NSstODcgZS4g
NjgJOTQ1MjE4Mi0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNi4uIDEJKwogUGFy
c2VkIGFzIDEgbGVuZ3RoKHMpIFsgMSBdOiAxLC4sKy44MzMrLjAwNCAyLTAuMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDEyLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEr
LjktCTgtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMS43OTgwLTU1NS0wLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxLTE5OAk1MAogUGFyc2VkIGFzIDEgbGVuZ3RoKHMp
IFsgNTY0MjgxIF06IDU2NDI4MSAwZWU1MSsgZSAJMzc4NTg0ODMzCSwuMTQxCWU4LTAuMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEtNTMuIDg4NTMwLTAuMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDEwCTguLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE4Ljg0
N2UyODg4Ni0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNGU4NSAuLTEtCkBAIC00
OSw2ICs1Niw3IEBAIFBhcnNlZCBhcyAzIGxlbmd0aChzKSBbIDAsIDksIDM2NyBdOiAtMC4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCiBQYXJzZWQgYXMgNCBsZW5ndGgo
cykgWyA0LCAwLCAzNSwgNjg0IF06IDA0LC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAxOTkzLDM1CSs2ODQgKwkxNTllICAgKy4zLWUwKyw4MTItMC4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNzI4LTAuMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE0KywtLTEtMjZlNjY2NDYwLTc5LjUtMC4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTY5NjAzLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDEwNjQxLCw1NzItOTYwCTEtOSAyODkJCiBQYXJzZWQgYXMgMSBsZW5ndGgocykg
WyA2MTgyMiBdOiA2MTgyMiwxNS0wMC4xNjYuNyAKIFBhcnNlZCBhcyAyIGxlbmd0aChzKSBbIDIs
IDAuNSBdOiAyCS41LDY1OC03IGUgLDg0Nzc1NTMKK1BhcnNlZCBhcyAxIGxlbmd0aChzKSBbIDIx
ODMgXTogIDIxODMgOS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxOTEsNTktLSA3
MDQ3OC4sNTY2OTY0Nzg0CWUxLTUzCTg0N2UwLjZlMzQ4MDUtMC4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxIDk3NQk5MjJl
LDQJK2UwZS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxIC4KIFBhcnNlZCBhcyAz
IGxlbmd0aChzKSBbIDgsIDIsIDU4OSBdOiA4IDIgNTg5CS00NWU1OCAtNAktMC4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMWU1OC0rKzY4OS4tOTgtLDQyIDk0NTY0Liw5NjctMC4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTErICw5KzYtCS43NjUrLTg3IGUuIDY4CTk0NTIx
ODItMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTYuLiAxCSsKIFBhcnNlZCBhcyAx
IGxlbmd0aChzKSBbIDEgXTogMSwuLCsuODMzKy4wMDQgMi0wLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAxMi0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxKy45LQk4LTAu
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEuNzk4MC01NTUtMC4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMS0xOTgJNTAKIFBhcnNlZCBhcyAxIGxlbmd0aChzKSBbIDU2NDI4
MSBdOiA1NjQyODEgMGVlNTErIGUgCTM3ODU4NDgzMwksLjE0MQllOC0wLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAxLTUzLiA4ODUzMC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAxMAk4Li0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxOC44NDdlMjg4ODYt
MC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTRlODUgLi0xLQpAQCAtNTYsNiArNjQs
NyBAQCBQYXJzZWQgYXMgMyBsZW5ndGgocykgWyAwLCA5LCAzNjcgXTogLTAuMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAogUGFyc2VkIGFzIDQgbGVuZ3RoKHMpIFsgNCwg
MCwgMzUsIDY4NCBdOiAwNCwtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTk5Mywz
NQkrNjg0ICsJMTU5ZSAgICsuMy1lMCssODEyLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDEtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTcyOC0wLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAxNCssLS0xLTI2ZTY2NjQ2MC03OS41LTAuMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDE2OTYwMy0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAxMDY0MSwsNTcyLTk2MAkxLTkgMjg5CQogUGFyc2VkIGFzIDEgbGVuZ3RoKHMpIFsgNjE4MjIg
XTogNjE4MjIsMTUtMDAuMTY2LjcgCiBQYXJzZWQgYXMgMiBsZW5ndGgocykgWyAyLCAwLjUgXTog
MgkuNSw2NTgtNyBlICw4NDc3NTUzCitQYXJzZWQgYXMgMSBsZW5ndGgocykgWyAyMTgzIF06ICAy
MTgzIDktMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTkxLDU5LS0gNzA0NzguLDU2
Njk2NDc4NAllMS01Mwk4NDdlMC42ZTM0ODA1LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDEtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMSA5NzUJOTIyZSw0CStlMGUt
MC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMSAuCiBQYXJzZWQgYXMgMyBsZW5ndGgo
cykgWyA4LCAyLCA1ODkgXTogOCAyIDU4OQktNDVlNTggLTQJLTAuMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDFlNTgtKys2ODkuLTk4LSw0MiA5NDU2NC4sOTY3LTAuMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDExKyAsOSs2LQkuNzY1Ky04NyBlLiA2OAk5NDUyMTgyLTAuMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE2Li4gMQkrCiBQYXJzZWQgYXMgMSBsZW5ndGgo
cykgWyAxIF06IDEsLiwrLjgzMysuMDA0IDItMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMTItMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMSsuOS0JOC0wLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxLjc5ODAtNTU1LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDEtMTk4CTUwCiBQYXJzZWQgYXMgMSBsZW5ndGgocykgWyA1NjQyODEgXTogNTY0
MjgxIDBlZTUxKyBlIAkzNzg1ODQ4MzMJLC4xNDEJZTgtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMS01My4gODg1MzAtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAJ
OC4tMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTguODQ3ZTI4ODg2LTAuMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE0ZTg1IC4tMS0KQEAgLTYzLDYgKzcyLDcgQEAgUGFy
c2VkIGFzIDMgbGVuZ3RoKHMpIFsgMCwgOSwgMzY3IF06IC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKIFBhcnNlZCBhcyA0IGxlbmd0aChzKSBbIDQsIDAsIDM1LCA2
ODQgXTogMDQsLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE5OTMsMzUJKzY4NCAr
CTE1OWUgICArLjMtZTArLDgxMi0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxLTAu
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE3MjgtMC4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMTQrLC0tMS0yNmU2NjY0NjAtNzkuNS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAxNjk2MDMtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTA2NDEs
LDU3Mi05NjAJMS05IDI4OQkKIFBhcnNlZCBhcyAxIGxlbmd0aChzKSBbIDYxODIyIF06IDYxODIy
LDE1LTAwLjE2Ni43IAogUGFyc2VkIGFzIDIgbGVuZ3RoKHMpIFsgMiwgMC41IF06IDIJLjUsNjU4
LTcgZSAsODQ3NzU1MworUGFyc2VkIGFzIDEgbGVuZ3RoKHMpIFsgMjE4MyBdOiAgMjE4MyA5LTAu
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE5MSw1OS0tIDcwNDc4Liw1NjY5NjQ3ODQJ
ZTEtNTMJODQ3ZTAuNmUzNDgwNS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxLTAu
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEgOTc1CTkyMmUsNAkrZTBlLTAuMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEgLgogUGFyc2VkIGFzIDMgbGVuZ3RoKHMpIFsgOCwg
MiwgNTg5IF06IDggMiA1ODkJLTQ1ZTU4IC00CS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAxZTU4LSsrNjg5Li05OC0sNDIgOTQ1NjQuLDk2Ny0wLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAxMSsgLDkrNi0JLjc2NSstODcgZS4gNjgJOTQ1MjE4Mi0wLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAxNi4uIDEJKwogUGFyc2VkIGFzIDEgbGVuZ3RoKHMpIFsgMSBd
OiAxLC4sKy44MzMrLjAwNCAyLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEyLTAu
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDErLjktCTgtMC4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMS43OTgwLTU1NS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAxLTE5OAk1MAogUGFyc2VkIGFzIDEgbGVuZ3RoKHMpIFsgNTY0MjgxIF06IDU2NDI4MSAwZWU1
MSsgZSAJMzc4NTg0ODMzCSwuMTQxCWU4LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDEtNTMuIDg4NTMwLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwCTguLTAuMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE4Ljg0N2UyODg4Ni0wLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAxNGU4NSAuLTEtCkBAIC03MCw2ICs4MCw3IEBAIFBhcnNlZCBhcyAz
IGxlbmd0aChzKSBbIDAsIDksIDM2NyBdOiAtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCiBQYXJzZWQgYXMgNCBsZW5ndGgocykgWyA0LCAwLCAzNSwgNjg0IF06IDA0
LC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxOTkzLDM1CSs2ODQgKwkxNTllICAg
Ky4zLWUwKyw4MTItMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMS0wLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNzI4LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDE0KywtLTEtMjZlNjY2NDYwLTc5LjUtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMTY5NjAzLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwNjQxLCw1NzItOTYw
CTEtOSAyODkJCiBQYXJzZWQgYXMgMSBsZW5ndGgocykgWyA2MTgyMiBdOiA2MTgyMiwxNS0wMC4x
NjYuNyAKIFBhcnNlZCBhcyAyIGxlbmd0aChzKSBbIDIsIDAuNSBdOiAyCS41LDY1OC03IGUgLDg0
Nzc1NTMKK1BhcnNlZCBhcyAxIGxlbmd0aChzKSBbIDIxODMgXTogIDIxODMgOS0wLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxOTEsNTktLSA3MDQ3OC4sNTY2OTY0Nzg0CWUxLTUzCTg0
N2UwLjZlMzQ4MDUtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMS0wLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxIDk3NQk5MjJlLDQJK2UwZS0wLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAxIC4KIFBhcnNlZCBhcyAzIGxlbmd0aChzKSBbIDgsIDIsIDU4OSBd
OiA4IDIgNTg5CS00NWU1OCAtNAktMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMWU1
OC0rKzY4OS4tOTgtLDQyIDk0NTY0Liw5NjctMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMTErICw5KzYtCS43NjUrLTg3IGUuIDY4CTk0NTIxODItMC4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMTYuLiAxCSsKIFBhcnNlZCBhcyAxIGxlbmd0aChzKSBbIDEgXTogMSwuLCsu
ODMzKy4wMDQgMi0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMi0wLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxKy45LQk4LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDEuNzk4MC01NTUtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMS0xOTgJ
NTAKIFBhcnNlZCBhcyAxIGxlbmd0aChzKSBbIDU2NDI4MSBdOiA1NjQyODEgMGVlNTErIGUgCTM3
ODU4NDgzMwksLjE0MQllOC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxLTUzLiA4
ODUzMC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMAk4Li0wLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAxOC44NDdlMjg4ODYtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMTRlODUgLi0xLQpAQCAtNzcsNiArODgsNyBAQCBQYXJzZWQgYXMgMyBsZW5ndGgo
cykgWyAwLCA5LCAzNjcgXTogLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAogUGFyc2VkIGFzIDQgbGVuZ3RoKHMpIFsgNCwgMCwgMzUsIDY4NCBdOiAwNCwtMC4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTk5MywzNQkrNjg0ICsJMTU5ZSAgICsuMy1lMCss
ODEyLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEtMC4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMTcyOC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNCss
LS0xLTI2ZTY2NjQ2MC03OS41LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE2OTYw
My0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDY0MSwsNTcyLTk2MAkxLTkgMjg5
CQogUGFyc2VkIGFzIDEgbGVuZ3RoKHMpIFsgNjE4MjIgXTogNjE4MjIsMTUtMDAuMTY2LjcgCiBQ
YXJzZWQgYXMgMiBsZW5ndGgocykgWyAyLCAwLjUgXTogMgkuNSw2NTgtNyBlICw4NDc3NTUzCitQ
YXJzZWQgYXMgMSBsZW5ndGgocykgWyAyMTgzIF06ICAyMTgzIDktMC4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMTkxLDU5LS0gNzA0NzguLDU2Njk2NDc4NAllMS01Mwk4NDdlMC42ZTM0
ODA1LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEtMC4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMSA5NzUJOTIyZSw0CStlMGUtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMSAuCiBQYXJzZWQgYXMgMyBsZW5ndGgocykgWyA4LCAyLCA1ODkgXTogOCAyIDU4
OQktNDVlNTggLTQJLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFlNTgtKys2ODku
LTk4LSw0MiA5NDU2NC4sOTY3LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDExKyAs
OSs2LQkuNzY1Ky04NyBlLiA2OAk5NDUyMTgyLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDE2Li4gMQkrCiBQYXJzZWQgYXMgMSBsZW5ndGgocykgWyAxIF06IDEsLiwrLjgzMysuMDA0
IDItMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTItMC4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMSsuOS0JOC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAx
Ljc5ODAtNTU1LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEtMTk4CTUwCiBQYXJz
ZWQgYXMgMSBsZW5ndGgocykgWyA1NjQyODEgXTogNTY0MjgxIDBlZTUxKyBlIAkzNzg1ODQ4MzMJ
LC4xNDEJZTgtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMS01My4gODg1MzAtMC4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAJOC4tMC4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMTguODQ3ZTI4ODg2LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDE0ZTg1IC4tMS0KQEAgLTg0LDYgKzk2LDcgQEAgUGFyc2VkIGFzIDMgbGVuZ3RoKHMpIFsgMCwg
OSwgMzY3IF06IC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKIFBh
cnNlZCBhcyA0IGxlbmd0aChzKSBbIDQsIDAsIDM1LCA2ODQgXTogMDQsLTAuMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDE5OTMsMzUJKzY4NCArCTE1OWUgICArLjMtZTArLDgxMi0wLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDE3MjgtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTQrLC0tMS0yNmU2
NjY0NjAtNzkuNS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNjk2MDMtMC4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTA2NDEsLDU3Mi05NjAJMS05IDI4OQkKIFBhcnNl
ZCBhcyAxIGxlbmd0aChzKSBbIDYxODIyIF06IDYxODIyLDE1LTAwLjE2Ni43IAogUGFyc2VkIGFz
IDIgbGVuZ3RoKHMpIFsgMiwgMC41IF06IDIJLjUsNjU4LTcgZSAsODQ3NzU1MworUGFyc2VkIGFz
IDEgbGVuZ3RoKHMpIFsgMjE4MyBdOiAgMjE4MyA5LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDE5MSw1OS0tIDcwNDc4Liw1NjY5NjQ3ODQJZTEtNTMJODQ3ZTAuNmUzNDgwNS0wLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDEgOTc1CTkyMmUsNAkrZTBlLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDEgLgogUGFyc2VkIGFzIDMgbGVuZ3RoKHMpIFsgOCwgMiwgNTg5IF06IDggMiA1ODkJLTQ1ZTU4
IC00CS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxZTU4LSsrNjg5Li05OC0sNDIg
OTQ1NjQuLDk2Ny0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMSsgLDkrNi0JLjc2
NSstODcgZS4gNjgJOTQ1MjE4Mi0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNi4u
IDEJKwogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdmcvZG9tL3ZpZXdzcGVjLXBhcnNlci0xLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3N2Zy9kb20vdmlld3NwZWMtcGFyc2VyLTEtZXhwZWN0ZWQudHh0CmluZGV4IGQ0NDJmMWJm
OTExMWQzYmQ3MjhhNTdhZjE1OGFlYmI2YTUyNDE1MWMuLjkzZDNjNjRkZTdhZmRhM2I0YmQyMWEz
ZTIzYjVlM2VkYTkzMmRjN2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9kb20vdmlld3Nw
ZWMtcGFyc2VyLTEtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N2Zy9kb20vdmlld3Nw
ZWMtcGFyc2VyLTEtZXhwZWN0ZWQudHh0CkBAIC02LDggKzYsOCBAQCBPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURQogTG9hZGVkOiByZXNvdXJjZXMvdmlld3NwZWMtdGFyZ2V0LnN2ZyMKIFBhcnNlZDog
W2luaXRpYWwgdmlld10gZnJvbTogW2luaXRpYWwgdmlld10KIAotTG9hZGVkOiByZXNvdXJjZXMv
dmlld3NwZWMtdGFyZ2V0LnN2ZyNzdmdWaWV3KHZpZXdCb3goMCwwLDIwMCwyMDApKSkKLVBhcnNl
ZDogc3ZnVmlldyh2aWV3Qm94KDAgMCAyMDAgMjAwKSkgZnJvbTogc3ZnVmlldyh2aWV3Qm94KDAs
MCwyMDAsMjAwKSkpCitMb2FkZWQ6IHJlc291cmNlcy92aWV3c3BlYy10YXJnZXQuc3ZnI3N2Z1Zp
ZXcodmlld0JveCgwLDAsMjAwLDIwMCkpCitQYXJzZWQ6IHN2Z1ZpZXcodmlld0JveCgwIDAgMjAw
IDIwMCkpIGZyb206IHN2Z1ZpZXcodmlld0JveCgwLDAsMjAwLDIwMCkpCiAKIExvYWRlZDogcmVz
b3VyY2VzL3ZpZXdzcGVjLXRhcmdldC5zdmcjc3ZnVmlldyhwcmVzZXJ2ZUFzcGVjdFJhdGlvKHhN
YXhZTWluIHNsaWNlKSkKIFBhcnNlZDogc3ZnVmlldyhwcmVzZXJ2ZUFzcGVjdFJhdGlvKHhNYXhZ
TWluIHNsaWNlKSkgZnJvbTogc3ZnVmlldyhwcmVzZXJ2ZUFzcGVjdFJhdGlvKHhNYXhZTWluIHNs
aWNlKSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9kb20vdmlld3NwZWMtcGFyc2VyLTEu
aHRtbCBiL0xheW91dFRlc3RzL3N2Zy9kb20vdmlld3NwZWMtcGFyc2VyLTEuaHRtbAppbmRleCA1
YjE3ZDc1OTIxMjg4ZTFjMGEwZTY3MWQ1NWYyNGZhYjY3NDM3MGFmLi42MjE3M2U2MmYzY2Q0MzNj
MmFmYTE5YjRjY2UzNWE4NWFiMjYyMGExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvZG9t
L3ZpZXdzcGVjLXBhcnNlci0xLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2RvbS92aWV3c3Bl
Yy1wYXJzZXItMS5odG1sCkBAIC0xOCw3ICsxOCw3IEBACiAgICAgfTsKIAogICAgIHZhciB0ZXN0
cyA9IFsKLSAgICAgICJzdmdWaWV3KHZpZXdCb3goMCwwLDIwMCwyMDApKSkiLAorICAgICAgInN2
Z1ZpZXcodmlld0JveCgwLDAsMjAwLDIwMCkpIiwKICAgICAgICJzdmdWaWV3KHByZXNlcnZlQXNw
ZWN0UmF0aW8oeE1heFlNaW4gc2xpY2UpKSIsCiAgICAgICAic3ZnVmlldyhwcmVzZXJ2ZUFzcGVj
dFJhdGlvKHhNYXhZTWluKSkiLAogICAgICAgInN2Z1ZpZXcodmlld0JveCgxLDIsMyw0KTtwcmVz
ZXJ2ZUFzcGVjdFJhdGlvKHhNYXhZTWluKSkiLApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Zn
L2hpeGllL2Vycm9yLzAxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdmcvaGl4aWUvZXJy
b3IvMDEwLWV4cGVjdGVkLnR4dAppbmRleCBmN2QzNTliOTFkYjk1M2Q1MjJhNjY5Y2RiOTkzZjk0
NzI5NDg0NWE3Li40OTAxODI0NGU2NjQyMTBkMTc3YjQ0OGUzNDI2MjZlY2Q0OWU3Y2E3IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvaGl4aWUvZXJyb3IvMDEwLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9zdmcvaGl4aWUvZXJyb3IvMDEwLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsx
LDQgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcg
dmlld0JveD0iMCAwIDEgMSAxIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IEVycm9yOiBJbnZh
bGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iMCAwIDEgMSAxIgogbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAw
CiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2
Zy9oaXhpZS9lcnJvci8wMTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3ZnL2hpeGllL2Vy
cm9yLzAxMS1leHBlY3RlZC50eHQKaW5kZXggN2MyNDFiNjQ2MjA3MTQxNWMxZDAzODI4YzA1NWE0
ZTM5Mjg3YzI4MS4uY2FjZWM1ZjhjYmQ1MzJkYmE2Njg0NjE3YmZjOGE2YmU0YTQ1MThlYyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2hpeGllL2Vycm9yLzAxMS1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvc3ZnL2hpeGllL2Vycm9yLzAxMS1leHBlY3RlZC50eHQKQEAgLTEsNCAr
MSw0IEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogV2FybmluZzogUHJvYmxlbSBwYXJzaW5n
IHZpZXdCb3g9IjAgMCwsIDEgMSIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBFcnJvcjogSW52
YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAgMCwsIDEgMSIKIGxheWVy
IGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYw
MAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>371669</attachid>
            <date>2019-06-08 14:55:25 -0700</date>
            <delta_ts>2019-06-08 14:55:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-198122-20190608145524.patch</filename>
            <type>text/plain</type>
            <size>316054</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ2MjM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGI5OTM3YzhiYjU5YjM1
ZmYxZmJiNmFhMmM5MzMzZjMxZDIzZjFkNS4uOTIzZGE3YTIzZjQzZTk3MTQ5YjhmZDA5NTg0MTgx
NDU1NzIwMmQ3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3NyBAQAorMjAxOS0wNi0wOCAgU2Fp
ZCBBYm91LUhhbGxhd2EgIDxzYWlkQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgdGhlIG5v
biBmaW5hbCBwcm9wZXJ0eVJlZ2lzdHJ5KCkgZnJvbSB0aGUgU1ZHIGJhc2UgY2xhc3NlcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4MTIyCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBzYXZlcyB0
aGUgbWVtb3J5IHRoYXQgaXMgdGFrZW4gYnkgdGhlIG1lbWJlciBTVkdQcm9wZXJ0eVJlZ2lzdHJ5
IG9mCisgICAgICAgIHRoZSBiYXNlIGNsYXNzLiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgaXMgb25seSBu
ZWVkZWQgZm9yIGNvbmNyZXRlIGNsYXNzZXMuCisKKyAgICAgICAgKiBzdmcvU1ZHQUVsZW1lbnQu
aDoKKyAgICAgICAgKiBzdmcvU1ZHQWx0R2x5cGhEZWZFbGVtZW50Lmg6CisgICAgICAgICogc3Zn
L1NWR0FsdEdseXBoRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdBbHRHbHlwaEl0ZW1FbGVt
ZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0FuaW1hdGlvbkVsZW1lbnQuaDoKKyAgICAgICAgKiBz
dmcvU1ZHQ2lyY2xlRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdDbGlwUGF0aEVsZW1lbnQu
aDoKKyAgICAgICAgKiBzdmcvU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQuaDoK
KyAgICAgICAgKiBzdmcvU1ZHQ3Vyc29yRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdEZWZz
RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdEZXNjRWxlbWVudC5oOgorICAgICAgICAqIHN2
Zy9TVkdFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbGVtZW50Ojpwcm9wZXJ0eVJl
Z2lzdHJ5IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBzdmcvU1ZHRWxsaXBzZUVsZW1lbnQu
aDoKKyAgICAgICAgKiBzdmcvU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5oOgorICAgICAg
ICAqIHN2Zy9TVkdGRUJsZW5kRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdGRUNvbG9yTWF0
cml4RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdGRUNvbXBvbmVudFRyYW5zZmVyRWxlbWVu
dC5oOgorICAgICAgICAqIHN2Zy9TVkdGRUNvbXBvc2l0ZUVsZW1lbnQuaDoKKyAgICAgICAgKiBz
dmcvU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHRkVEaWZm
dXNlTGlnaHRpbmdFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0ZFRGlzcGxhY2VtZW50TWFw
RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdGRURyb3BTaGFkb3dFbGVtZW50Lmg6CisgICAg
ICAgICogc3ZnL1NWR0ZFRmxvb2RFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0ZFR2F1c3Np
YW5CbHVyRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdGRUltYWdlRWxlbWVudC5oOgorICAg
ICAgICAqIHN2Zy9TVkdGRUxpZ2h0RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdGRU1lcmdl
RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdGRU1lcmdlTm9kZUVsZW1lbnQuaDoKKyAgICAg
ICAgKiBzdmcvU1ZHRkVNb3JwaG9sb2d5RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdGRU9m
ZnNldEVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVu
dC5oOgorICAgICAgICAqIHN2Zy9TVkdGRVRpbGVFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NW
R0ZFVHVyYnVsZW5jZUVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHRmlsdGVyRWxlbWVudC5o
OgorICAgICAgICAqIHN2Zy9TVkdGb250RmFjZUVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZH
Rm9udEZhY2VGb3JtYXRFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0ZvbnRGYWNlTmFtZUVs
ZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHRm9udEZhY2VTcmNFbGVtZW50Lmg6CisgICAgICAg
ICogc3ZnL1NWR0ZvbnRGYWNlVXJpRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdGb3JlaWdu
T2JqZWN0RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdHRWxlbWVudC5oOgorICAgICAgICAq
IHN2Zy9TVkdHZW9tZXRyeUVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHR2x5cGhFbGVtZW50
Lmg6CisgICAgICAgICogc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9T
VkdHcmFwaGljc0VsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHSEtlcm5FbGVtZW50Lmg6Cisg
ICAgICAgICogc3ZnL1NWR0ltYWdlRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdMaW5lRWxl
bWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQuaDoKKyAgICAg
ICAgKiBzdmcvU1ZHTVBhdGhFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR01hcmtlckVsZW1l
bnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHTWFza0VsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZH
TWV0YWRhdGFFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR01pc3NpbmdHbHlwaEVsZW1lbnQu
aDoKKyAgICAgICAgKiBzdmcvU1ZHUGF0aEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHUGF0aEVsZW1lbnQ6OmdldFRvdGFsTGVuZ3RoIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlNWR1BhdGhFbGVtZW50OjpnZXRQb2ludEF0TGVuZ3RoIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OlNWR1BhdGhFbGVtZW50OjpnZXRQYXRoU2VnQXRMZW5ndGggY29uc3QpOgorICAgICAgICAq
IHN2Zy9TVkdQYXRoRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdQYXRoVXRpbGl0aWVzLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OnBhdGhTZWdBdExlbmd0aEZyb21TVkdQYXRoQnl0ZVN0cmVh
bSk6CisgICAgICAgIChXZWJDb3JlOjp0b3RhbExlbmd0aE9mU1ZHUGF0aEJ5dGVTdHJlYW0pOgor
ICAgICAgICAoV2ViQ29yZTo6cG9pbnRBdExlbmd0aE9mU1ZHUGF0aEJ5dGVTdHJlYW0pOgorICAg
ICAgICAoV2ViQ29yZTo6Z2V0U1ZHUGF0aFNlZ0F0TGVuZ3RoRnJvbVNWR1BhdGhCeXRlU3RyZWFt
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmdldFRvdGFsTGVuZ3RoT2ZTVkdQYXRoQnl0
ZVN0cmVhbSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpnZXRQb2ludEF0TGVuZ3RoT2ZT
VkdQYXRoQnl0ZVN0cmVhbSk6IERlbGV0ZWQuCisgICAgICAgICogc3ZnL1NWR1BhdGhVdGlsaXRp
ZXMuaDoKKyAgICAgICAgKiBzdmcvU1ZHUGF0dGVybkVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcv
U1ZHUG9seUVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50
Lmg6CisgICAgICAgICogc3ZnL1NWR1JlY3RFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR1NW
R0VsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHU2NyaXB0RWxlbWVudC5oOgorICAgICAgICAq
IHN2Zy9TVkdTdG9wRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdTdHlsZUVsZW1lbnQuaDoK
KyAgICAgICAgKiBzdmcvU1ZHU3dpdGNoRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdTeW1i
b2xFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR1RSZWZFbGVtZW50Lmg6CisgICAgICAgICog
c3ZnL1NWR1RTcGFuRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdUZXh0Q29udGVudEVsZW1l
bnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHVGV4dEVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZH
VGV4dFBhdGhFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR1RleHRQb3NpdGlvbmluZ0VsZW1l
bnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHVGl0bGVFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NW
R1Vua25vd25FbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR1VzZUVsZW1lbnQuaDoKKyAgICAg
ICAgKiBzdmcvU1ZHVktlcm5FbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR1ZpZXdFbGVtZW50
Lmg6CisKKzIwMTktMDYtMDggIFNhaWQgQWJvdS1IYWxsYXdhICA8c2FpZEBhcHBsZS5jb20+CisK
KyAgICAgICAgU1ZHUHJvcGVydHlUcmFpdHMgYW5kIFNWRyBlbnVtIHR5cGVzIGNsZWFuIHVwCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTgwNzMKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiB0aGlzIHBh
dGNoOgorCisgICAgICAgIC0tIEFsbCBTVkdQcm9wZXJ0eVRyYWl0cyB3aWxsIGhhdmUgdHdvIGZ1
bmN0aW9ucyBmb3IgcGFyc2luZyBhIHN0cmluZyB0byAKKyAgICAgICAgICAgdGhlIHByb3BlcnR5
IHR5cGUuIAorICAgICAgICAgICAxKSBwYXJzZSgpIHdpbGwgcmV0dXJuIEV4cGVjdGVkPFByb3Bl
cnR5VHlwZSwgU1ZHUGFyc2luZ0Vycm9yPi4KKyAgICAgICAgICAgMikgZnJvbVN0cmluZygpIHdp
bGwgY2FsbCBwYXJzZSgpIGJ1dCB3aWxsIHJldHVybiB0aGUgZGVmYXVsdCB2YWx1ZQorICAgICAg
ICAgICAgICBpZiBwYXJzZSgpIHJldHVybnMgYW4gZXJyb3IuCisKKyAgICAgICAgLS0gQWxsIHRo
ZSBTVkcgZW51bSB0eXBlcyBhcmUgbW92ZWQgdG8gYSBzaW5nbGUgZmlsZSBuYW1lZCBTVkdFbnVt
VHlwZS5oLgorICAgICAgICAgICBBIG5ldyBTVkdQcm9wZXJ0eVRyYWl0cyBpcyBkZWZpbmVkIGZv
ciBhbGwgZW51bSB0eXBlcyBpbmNsdWRpbmcgdGhlCisgICAgICAgICAgIG5vbi1TVkcgZW51bSB0
eXBlcywgZS5nLiBCbGVuZE1vZGUuCisKKyAgICAgICAgLS0gQWxsIFNWR1Byb3BlcnR5VHJhaXRz
IGZvciB0aGUgZW51bSB0eXBlcyBhcmUgcmVtb3ZlZC4gUGFyc2luZyBhIHN0cmluZworICAgICAg
ICAgICB0byBhbiBlbnVtIHZhbHVlIHdpbGwgYmUgZG9uZSBieSBTVkdFbnVtVmFsdWVQYXJzZXI6
OnBhcnNlKCkuIEdldHRpbmcgCisgICAgICAgICAgIGEgc3RyaW5nIGZyb20gYW4gZW51bSB2YWx1
ZSBpcyBkb25lIGJ5IFNWR0VudW1WYWx1ZUNvbXBvc2VyOjp0b1N0cmluZygpLgorICAgICAgICAg
ICBFYWNoIGVudW0gdHlwZSBuZWVkcyB0byB0ZW1wbGF0ZSBzcGVjaWFsaXplIFNWR0VudW1UcmFp
dHM6OnZhbHVlcygpCisgICAgICAgICAgIHdoaWNoIGFzc29jaWF0ZXMgZXZlcnkgZW11bSB2YWx1
ZSB3aXRoIGEgc3RyaW5nLgorCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOgorICAgICAgICAqIGNzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmg6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzVHlwZXMuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHRDRy5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpzZWxlY3RDR0JsZW5kTW9kZSk6CisgICAgICAgICogc3ZnL1NWR0FuZ2xlVmFsdWUuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPFNWR0FuZ2xlVmFsdWU+Ojppbml0aWFs
VmFsdWUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8U1ZH
QW5nbGVWYWx1ZT46OnRvU3RyaW5nKTogRGVsZXRlZC4KKyAgICAgICAgKiBzdmcvU1ZHQ29tcG9u
ZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3Bl
cnR5VHJhaXRzPENvbXBvbmVudFRyYW5zZmVyVHlwZT46OmhpZ2hlc3RFbnVtVmFsdWUpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8Q29tcG9uZW50VHJhbnNm
ZXJUeXBlPjo6dG9TdHJpbmcpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVy
dHlUcmFpdHM8Q29tcG9uZW50VHJhbnNmZXJUeXBlPjo6ZnJvbVN0cmluZyk6IERlbGV0ZWQuCisg
ICAgICAgICogc3ZnL1NWR0ZFQmxlbmRFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdQ
cm9wZXJ0eVRyYWl0czxCbGVuZE1vZGU+OjpoaWdoZXN0RW51bVZhbHVlKTogRGVsZXRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPEJsZW5kTW9kZT46OmZyb21TdHJpbmcp
OiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8QmxlbmRNb2Rl
Pjo6dG9TdHJpbmcpOiBEZWxldGVkLgorICAgICAgICAqIHN2Zy9TVkdGRUNvbG9yTWF0cml4RWxl
bWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8Q29sb3JNYXRyaXhU
eXBlPjo6aGlnaGVzdEVudW1WYWx1ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQ
cm9wZXJ0eVRyYWl0czxDb2xvck1hdHJpeFR5cGU+Ojp0b1N0cmluZyk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxDb2xvck1hdHJpeFR5cGU+Ojpmcm9tU3Ry
aW5nKTogRGVsZXRlZC4KKyAgICAgICAgKiBzdmcvU1ZHRkVDb21wb3NpdGVFbGVtZW50Lmg6Cisg
ICAgICAgIChXZWJDb3JlOjpTVkdJRExFbnVtTGltaXRzPENvbXBvc2l0ZU9wZXJhdGlvblR5cGU+
OjpoaWdoZXN0RXhwb3NlZEVudW1WYWx1ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpT
VkdQcm9wZXJ0eVRyYWl0czxDb21wb3NpdGVPcGVyYXRpb25UeXBlPjo6aGlnaGVzdEVudW1WYWx1
ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxDb21wb3Np
dGVPcGVyYXRpb25UeXBlPjo6dG9TdHJpbmcpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
U1ZHUHJvcGVydHlUcmFpdHM8Q29tcG9zaXRlT3BlcmF0aW9uVHlwZT46OmZyb21TdHJpbmcpOiBE
ZWxldGVkLgorICAgICAgICAqIHN2Zy9TVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVudC5oOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8RWRnZU1vZGVUeXBlPjo6aGlnaGVzdEVu
dW1WYWx1ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxF
ZGdlTW9kZVR5cGU+Ojppbml0aWFsVmFsdWUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
U1ZHUHJvcGVydHlUcmFpdHM8RWRnZU1vZGVUeXBlPjo6dG9TdHJpbmcpOiBEZWxldGVkLgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8RWRnZU1vZGVUeXBlPjo6ZnJvbVN0cmlu
Zyk6IERlbGV0ZWQuCisgICAgICAgICogc3ZnL1NWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudC5o
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8Q2hhbm5lbFNlbGVjdG9yVHlw
ZT46OmhpZ2hlc3RFbnVtVmFsdWUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJv
cGVydHlUcmFpdHM8Q2hhbm5lbFNlbGVjdG9yVHlwZT46OnRvU3RyaW5nKTogRGVsZXRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPENoYW5uZWxTZWxlY3RvclR5cGU+Ojpm
cm9tU3RyaW5nKTogRGVsZXRlZC4KKyAgICAgICAgKiBzdmcvU1ZHRkVNb3JwaG9sb2d5RWxlbWVu
dC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8TW9ycGhvbG9neU9wZXJh
dG9yVHlwZT46OmhpZ2hlc3RFbnVtVmFsdWUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
U1ZHUHJvcGVydHlUcmFpdHM8TW9ycGhvbG9neU9wZXJhdG9yVHlwZT46OnRvU3RyaW5nKTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPE1vcnBob2xvZ3lPcGVy
YXRvclR5cGU+Ojpmcm9tU3RyaW5nKTogRGVsZXRlZC4KKyAgICAgICAgKiBzdmcvU1ZHRkVUdXJi
dWxlbmNlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdGRVR1cmJ1bGVuY2VFbGVt
ZW50OjpidWlsZCk6CisgICAgICAgICogc3ZnL1NWR0ZFVHVyYnVsZW5jZUVsZW1lbnQuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPFNWR1N0aXRjaE9wdGlvbnM+OjpoaWdo
ZXN0RW51bVZhbHVlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJh
aXRzPFNWR1N0aXRjaE9wdGlvbnM+Ojp0b1N0cmluZyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxTVkdTdGl0Y2hPcHRpb25zPjo6ZnJvbVN0cmluZyk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxUdXJidWxlbmNlVHlw
ZT46OmhpZ2hlc3RFbnVtVmFsdWUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJv
cGVydHlUcmFpdHM8VHVyYnVsZW5jZVR5cGU+Ojp0b1N0cmluZyk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxUdXJidWxlbmNlVHlwZT46OmZyb21TdHJpbmcp
OiBEZWxldGVkLgorICAgICAgICAqIHN2Zy9TVkdHcmFkaWVudEVsZW1lbnQuaDoKKyAgICAgICAg
KFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPFNWR1NwcmVhZE1ldGhvZFR5cGU+OjpoaWdoZXN0
RW51bVZhbHVlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRz
PFNWR1NwcmVhZE1ldGhvZFR5cGU+Ojp0b1N0cmluZyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxTVkdTcHJlYWRNZXRob2RUeXBlPjo6ZnJvbVN0cmluZyk6
IERlbGV0ZWQuCisgICAgICAgICogc3ZnL1NWR0xlbmd0aFZhbHVlLmg6CisgICAgICAgIChXZWJD
b3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxTVkdMZW5ndGhWYWx1ZT46OmluaXRpYWxWYWx1ZSk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxTVkdMZW5ndGhWYWx1
ZT46OnBhcnNlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRz
PFNWR0xlbmd0aFZhbHVlPjo6dG9TdHJpbmcpOiBEZWxldGVkLgorICAgICAgICAqIHN2Zy9TVkdN
YXJrZXJUeXBlcy5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8U1ZHTWFy
a2VyVW5pdHNUeXBlPjo6aGlnaGVzdEVudW1WYWx1ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxTVkdNYXJrZXJVbml0c1R5cGU+Ojp0b1N0cmluZyk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxTVkdNYXJrZXJVbml0
c1R5cGU+Ojpmcm9tU3RyaW5nKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3Bl
cnR5VHJhaXRzPFNWR01hcmtlck9yaWVudFR5cGU+OjphdXRvU3RyaW5nKTogRGVsZXRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPFNWR01hcmtlck9yaWVudFR5cGU+Ojph
dXRvU3RhcnRSZXZlcnNlU3RyaW5nKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1By
b3BlcnR5VHJhaXRzPFNWR01hcmtlck9yaWVudFR5cGU+OjpoaWdoZXN0RW51bVZhbHVlKTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPFNWR01hcmtlck9yaWVu
dFR5cGU+Ojpmcm9tU3RyaW5nKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3Bl
cnR5VHJhaXRzPFNWR01hcmtlck9yaWVudFR5cGU+Ojp0b1N0cmluZyk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJDb3JlOjpTVkdJRExFbnVtTGltaXRzPFNWR01hcmtlck9yaWVudFR5cGU+OjpoaWdo
ZXN0RXhwb3NlZEVudW1WYWx1ZSk6IERlbGV0ZWQuCisgICAgICAgICogc3ZnL1NWR1BhcnNpbmdF
cnJvci5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHTnVtZXJpY1BhcnNpbmdWYWxpZGF0b3I6OnZh
bGlkYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OnZhbGlkYXRlTnVtZXJpYyk6CisgICAgICAgICog
c3ZnL1NWR1ByZXNlcnZlQXNwZWN0UmF0aW9WYWx1ZS5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZH
UHJvcGVydHlUcmFpdHM8U1ZHUHJlc2VydmVBc3BlY3RSYXRpb1ZhbHVlPjo6aW5pdGlhbFZhbHVl
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPFNWR1ByZXNl
cnZlQXNwZWN0UmF0aW9WYWx1ZT46OmZyb21TdHJpbmcpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8U1ZHUHJlc2VydmVBc3BlY3RSYXRpb1ZhbHVlPjo6cGFy
c2UpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8U1ZHUHJl
c2VydmVBc3BlY3RSYXRpb1ZhbHVlPjo6dG9TdHJpbmcpOiBEZWxldGVkLgorICAgICAgICAqIHN2
Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5
VHJhaXRzPFNWR0xlbmd0aEFkanVzdFR5cGU+OjpoaWdoZXN0RW51bVZhbHVlKTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPFNWR0xlbmd0aEFkanVzdFR5cGU+
Ojp0b1N0cmluZyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0
czxTVkdMZW5ndGhBZGp1c3RUeXBlPjo6ZnJvbVN0cmluZyk6IERlbGV0ZWQuCisgICAgICAgICog
c3ZnL1NWR1RleHRQYXRoRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlU
cmFpdHM8U1ZHVGV4dFBhdGhNZXRob2RUeXBlPjo6aGlnaGVzdEVudW1WYWx1ZSk6IERlbGV0ZWQu
CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxTVkdUZXh0UGF0aE1ldGhvZFR5
cGU+Ojp0b1N0cmluZyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRy
YWl0czxTVkdUZXh0UGF0aE1ldGhvZFR5cGU+Ojpmcm9tU3RyaW5nKTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPFNWR1RleHRQYXRoU3BhY2luZ1R5cGU+Ojpo
aWdoZXN0RW51bVZhbHVlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5
VHJhaXRzPFNWR1RleHRQYXRoU3BhY2luZ1R5cGU+Ojp0b1N0cmluZyk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxTVkdUZXh0UGF0aFNwYWNpbmdUeXBlPjo6
ZnJvbVN0cmluZyk6IERlbGV0ZWQuCisgICAgICAgICogc3ZnL1NWR1VuaXRUeXBlcy5oOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8U1ZHVW5pdFR5cGVzOjpTVkdVbml0VHlw
ZT46OmhpZ2hlc3RFbnVtVmFsdWUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJv
cGVydHlUcmFpdHM8U1ZHVW5pdFR5cGVzOjpTVkdVbml0VHlwZT46OnRvU3RyaW5nKTogRGVsZXRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPFNWR1VuaXRUeXBlczo6U1ZH
VW5pdFR5cGU+Ojpmcm9tU3RyaW5nKTogRGVsZXRlZC4KKyAgICAgICAgKiBzdmcvU1ZHWm9vbUFu
ZFBhbi5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHWm9vbUFuZFBhbjo6cmVzZXQpOgorICAgICAg
ICAqIHN2Zy9TVkdab29tQW5kUGFuVHlwZS5oOiBEZWxldGVkLgorICAgICAgICAqIHN2Zy9wcm9w
ZXJ0aWVzL1NWR0RlY29yYXRlZFByaW1pdGl2ZS5oOgorICAgICAgICAqIHN2Zy9wcm9wZXJ0aWVz
L1NWR0VudW1UcmFpdHMuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdFbnVtVmFsdWVD
aGVja2VyOjppc1ZhbGlkRW51bSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbnVtVmFsdWVQYXJz
ZXI6OnBhcnNlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VudW1WYWx1ZUNvbXBvc2VyOjp0b1N0
cmluZyk6CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHRW51bVR5cGUuaDogQWRkZWQuCisg
ICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHRW51bVR5cGVUcmFpdHMuaDogQWRkZWQuCisgICAg
ICAgIChXZWJDb3JlOjpTVkdFbnVtVHJhaXRzPEJsZW5kTW9kZT46OnZhbHVlcyk6CisgICAgICAg
IChXZWJDb3JlOjpTVkdFbnVtVHJhaXRzPEJsZW5kTW9kZT46OmhpZ2hlc3RFeHBvc2VkRW51bVZh
bHVlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VudW1UcmFpdHM8Q2hhbm5lbFNlbGVjdG9yVHlw
ZT46OnZhbHVlcyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbnVtVHJhaXRzPENoYW5uZWxTZWxl
Y3RvclR5cGU+OjpoaWdoZXN0RXhwb3NlZEVudW1WYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpT
VkdFbnVtVHJhaXRzPENvbXBvbmVudFRyYW5zZmVyVHlwZT46OnZhbHVlcyk6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdFbnVtVHJhaXRzPENvbXBvbmVudFRyYW5zZmVyVHlwZT46OmhpZ2hlc3RFeHBv
c2VkRW51bVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VudW1UcmFpdHM8Q29sb3JNYXRy
aXhUeXBlPjo6dmFsdWVzKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VudW1UcmFpdHM8Q29sb3JN
YXRyaXhUeXBlPjo6aGlnaGVzdEV4cG9zZWRFbnVtVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHRW51bVRyYWl0czxDb21wb3NpdGVPcGVyYXRpb25UeXBlPjo6dmFsdWVzKToKKyAgICAgICAg
KFdlYkNvcmU6OlNWR0VudW1UcmFpdHM8Q29tcG9zaXRlT3BlcmF0aW9uVHlwZT46OmhpZ2hlc3RF
eHBvc2VkRW51bVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VudW1UcmFpdHM8RWRnZU1v
ZGVUeXBlPjo6dmFsdWVzKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VudW1UcmFpdHM8RWRnZU1v
ZGVUeXBlPjo6aGlnaGVzdEV4cG9zZWRFbnVtVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZH
RW51bVRyYWl0czxNb3JwaG9sb2d5T3BlcmF0b3JUeXBlPjo6dmFsdWVzKToKKyAgICAgICAgKFdl
YkNvcmU6OlNWR0VudW1UcmFpdHM8TW9ycGhvbG9neU9wZXJhdG9yVHlwZT46OmhpZ2hlc3RFeHBv
c2VkRW51bVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VudW1UcmFpdHM8VHVyYnVsZW5j
ZVR5cGU+Ojp2YWx1ZXMpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRW51bVRyYWl0czxUdXJidWxl
bmNlVHlwZT46OmhpZ2hlc3RFeHBvc2VkRW51bVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OlNW
R0VudW1UcmFpdHM8U1ZHTGVuZ3RoQWRqdXN0VHlwZT46OnZhbHVlcyk6CisgICAgICAgIChXZWJD
b3JlOjpTVkdFbnVtVHJhaXRzPFNWR0xlbmd0aEFkanVzdFR5cGU+OjpoaWdoZXN0RXhwb3NlZEVu
dW1WYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbnVtVHJhaXRzPFNWR01hcmtlclVuaXRz
VHlwZT46OnZhbHVlcyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbnVtVHJhaXRzPFNWR01hcmtl
clVuaXRzVHlwZT46OmhpZ2hlc3RFeHBvc2VkRW51bVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6
OlNWR0VudW1UcmFpdHM8U1ZHTWFya2VyT3JpZW50VHlwZT46OnZhbHVlcyk6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdFbnVtVHJhaXRzPFNWR01hcmtlck9yaWVudFR5cGU+OjpoaWdoZXN0RXhwb3Nl
ZEVudW1WYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbnVtVHJhaXRzPFNWR1NwcmVhZE1l
dGhvZFR5cGU+Ojp2YWx1ZXMpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRW51bVRyYWl0czxTVkdT
cHJlYWRNZXRob2RUeXBlPjo6aGlnaGVzdEV4cG9zZWRFbnVtVmFsdWUpOgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHRW51bVRyYWl0czxTVkdTdGl0Y2hPcHRpb25zPjo6dmFsdWVzKToKKyAgICAgICAg
KFdlYkNvcmU6OlNWR0VudW1UcmFpdHM8U1ZHU3RpdGNoT3B0aW9ucz46OmhpZ2hlc3RFeHBvc2Vk
RW51bVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VudW1UcmFpdHM8U1ZHVGV4dFBhdGhN
ZXRob2RUeXBlPjo6dmFsdWVzKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VudW1UcmFpdHM8U1ZH
VGV4dFBhdGhNZXRob2RUeXBlPjo6aGlnaGVzdEV4cG9zZWRFbnVtVmFsdWUpOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHRW51bVRyYWl0czxTVkdUZXh0UGF0aFNwYWNpbmdUeXBlPjo6dmFsdWVzKToK
KyAgICAgICAgKFdlYkNvcmU6OlNWR0VudW1UcmFpdHM8U1ZHVGV4dFBhdGhTcGFjaW5nVHlwZT46
OmhpZ2hlc3RFeHBvc2VkRW51bVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VudW1UcmFp
dHM8U1ZHVW5pdFR5cGVzOjpTVkdVbml0VHlwZT46OnZhbHVlcyk6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdFbnVtVHJhaXRzPFNWR1VuaXRUeXBlczo6U1ZHVW5pdFR5cGU+OjpoaWdoZXN0RXhwb3Nl
ZEVudW1WYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbnVtVHJhaXRzPFNWR1pvb21BbmRQ
YW5UeXBlPjo6dmFsdWVzKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VudW1UcmFpdHM8U1ZHWm9v
bUFuZFBhblR5cGU+OjpoaWdoZXN0RXhwb3NlZEVudW1WYWx1ZSk6CisgICAgICAgICogc3ZnL3By
b3BlcnRpZXMvU1ZHUHJvcGVydHlUcmFpdHMuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3Bl
cnR5VHJhaXRzPGJvb2w+OjpwYXJzZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRy
YWl0czxib29sPjo6ZnJvbVN0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRy
YWl0czxib29sPjo6dG9TdHJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFp
dHM8Q29sb3I+OjpwYXJzZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxD
b2xvcj46OmZyb21TdHJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8
Q29sb3I+Ojp0b1N0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxT
dHJpbmc+Ojppbml0aWFsVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFp
dHM8U3RyaW5nPjo6cGFyc2UpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8
U3RyaW5nPjo6ZnJvbVN0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0
czxTdHJpbmc+Ojp0b1N0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0
czxmbG9hdD46OnBhcnNlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPGZs
b2F0Pjo6ZnJvbVN0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxm
bG9hdD46OnRvU3RyaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPGlu
dD46OmluaXRpYWxWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxp
bnQ+OjpwYXJzZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxpbnQ+Ojpm
cm9tU3RyaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPGludD46OnRv
U3RyaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPEZsb2F0UG9pbnQ+
OjpwYXJzZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxGbG9hdFBvaW50
Pjo6ZnJvbVN0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxGbG9h
dFBvaW50Pjo6dG9TdHJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8
RmxvYXRSZWN0Pjo6cGFyc2UpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8
RmxvYXRSZWN0Pjo6ZnJvbVN0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRy
YWl0czxGbG9hdFJlY3Q+Ojp0b1N0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0
eVRyYWl0czx1bnNpZ25lZD46OmluaXRpYWxWYWx1ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpTVkdQcm9wZXJ0eVRyYWl0czx1bnNpZ25lZD46OnBhcnNlKTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPHVuc2lnbmVkPjo6dG9TdHJpbmcpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHSURMRW51bUxpbWl0czo6aGlnaGVzdEV4cG9zZWRF
bnVtVmFsdWUpOiBEZWxldGVkLgorCisyMDE5LTA1LTIwICBTYWlkIEFib3UtSGFsbGF3YSAgPHNh
aWRAYXBwbGUuY29tPgorCisgICAgICAgIFVuaWZ5IHRoZSBwYXJzaW5nIG9mIFNWR0xpc3Qgc3Vw
ZXIgY2xhc3NlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTk3ODMxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgUGFyc2luZyB0aGUgU1ZHIGxpc3RzIGlzIGp1c3QgYWQtaG9jLiBUaGVyZSBpcyBubyBzaW5n
bGUgcnVsZSBmb3I6CisKKyAgICAgICAgLS0gVGhlIGxlYWRpbmcgc3BhY2VzOiBTVkdMZW5ndGhM
aXN0IFNWR051bWJlckxpc3QgdHJlYXRlZCB0aGVtIGFzIGFuIGVycm9yCisgICAgICAgICAgIHdo
aWxlIFNWR1RyYW5zZm9ybUxpc3QgYW5kIFNWR1BvaW50TGlzdCB3ZXJlIGp1c3Qgc2tpcHBpbmcg
dGhlbS4KKyAgICAgICAgLS0gU3RhdHVzIG9mIHRoZSBsaXN0IGluIGNhc2Ugb2YgYW4gZXJyb3I6
IFNWR1RyYW5zZm9ybUxpc3Qgd2FzIGNsZWFyaW5nCisgICAgICAgICAgIHRoZSBsaXN0IGlmIGFu
IGVycm9yIHdhcyBkZXRlY3RlZC4gVGhlIG90aGVyIGxpc3RzIHdlcmUgbGVhdmluZyB3aGF0ZXZl
cgorICAgICAgICAgICBpcyBwYXJzZWQgYmVmb3JlIHRoZSBlcnJvciBoYXBwZW5lZCBidXQgcmV0
dXJuIGFuIGVycm9yLgorICAgICAgICAtLSBSZXBvcnRpbmcgYW4gZXJyb3IgbWVzc2FnZSBpbiB0
aGUgY29uc29sZTogU1ZHUG9pbnRMaXN0IHdhcyByZXBvcnRpbmcKKyAgICAgICAgICAgYW4gZXJy
b3IgbWVzc2FnZSBpZiBhIHBhcnNpbmcgZXJyb3IgaGFwcGVuZWQuIFRoZSBvdGhlciB0eXBlIG9m
IGxpc3RzCisgICAgICAgICAgIHdlcmUganVzdCBzaWxlbnQgd2hlbiBhbiBlcnJvciBoYXBwZW5z
LgorICAgICAgICAtLSBEZWxpbWl0ZXJzOiBTVkdOdW1iZXJMaXN0IGFzc3VtZSB0aGUgd2hpdGUg
c3BhY2VzIGFyZSB0aGUgb25seSBhbGxvd2VkCisgICAgICAgICAgIGRlbGltaXRlci4gQWxsIG90
aGVyIGxpc3RzIGFsbG93IHRoZSBjb21tYSBhbHNvIGFzIGEgZGVsaW1pdGVyLgorICAgICAgICAt
LSBFeHRyYSB0ZXh0IGF0IHRoZSBlbmQ6IFNWR1RyYW5zZm9ybUxpc3Qgd2FzIG5vdCByZXBvcnRp
bmcgYW4gZXJyb3IgaWYKKyAgICAgICAgICAgdGhlcmUgaXMgZXh0cmEgdGV4dCBhdCB0aGUgZW5k
LiBPdGhlciBsaXN0IHdlcmUgcmV0dXJuaW5nIGZhbHNlLgorCisgICAgICAgIEluIGFkZGl0aW9u
IHRvIHRoYXQsIHRoZSBwYXJzaW5nIGNvZGUgd2FzIHJlcGVhdGVkIGluIGV2ZXJ5IFNWR0xpc3QK
KyAgICAgICAgc3VwZXIgY2xhc3MuIEluc3RlYWQgcGFyc2luZyB0aGUgbGlzdCBzaG91bGQgYmUg
aW4gU1ZHVmFsdWVQcm9wZXJ0eUxpc3QKKyAgICAgICAgYW5kIFNWR1ByaW1pdGl2ZUxpc3QuIEFu
ZCBwYXJzaW5nIHRoZSBpdGVtIHNob3VsZCBiZSBtb3ZlZCB0byB0aGUgdmFsdWUKKyAgICAgICAg
cHJvcGVydHkgY2xhc3Mgb3IgdGhlIFNWR1Byb3BlcnR5VHJhaXRzIG9mIHRoZSBwcmltaXRpdmUu
CisKKyAgICAgICAgU1ZHVmlld1NwZWMgcGFyc2luZyBpcyBjbGVhbmVkIHVwIGluIHRoZSBwYXRj
aCBhcyB3ZWxsLiBQYXJzaW5nIG9mIHRoaXMKKyAgICAgICAgY2xhc3MgaXMgbmVlZGVkIHRvIGNy
ZWF0ZSB0aGUgdmlldyBmb3IgYSBmcmFnbWVudC4KKworICAgICAgICAqIHN2Zy9TVkdFbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VsZW1lbnQ6OnJlcG9ydEF0dHJpYnV0ZVBhcnNp
bmdFcnJvcik6CisgICAgICAgICogc3ZnL1NWR0ZpdFRvVmlld0JveC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdGaXRUb1ZpZXdCb3g6OnBhcnNlQXR0cmlidXRlKToKKyAgICAgICAgKFdlYkNv
cmU6OlNWR0ZpdFRvVmlld0JveDo6cGFyc2VWaWV3Qm94KToKKyAgICAgICAgKiBzdmcvU1ZHRml0
VG9WaWV3Qm94Lmg6CisgICAgICAgICogc3ZnL1NWR0xlbmd0aC5oOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHTGVuZ3RoOjpjcmVhdGUpOgorICAgICAgICAqIHN2Zy9TVkdMZW5ndGhMaXN0Lmg6Cisg
ICAgICAgIChXZWJDb3JlOjpTVkdMZW5ndGhMaXN0OjpwYXJzZSk6CisgICAgICAgICogc3ZnL1NW
R051bWJlci5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHTnVtYmVyOjpjcmVhdGUpOgorICAgICAg
ICAqIHN2Zy9TVkdOdW1iZXJMaXN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdOdW1iZXJMaXN0
OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHTnVtYmVyTGlzdDo6cGFyc2UpOiBEZWxl
dGVkLgorICAgICAgICAoKTogRGVsZXRlZC4KKyAgICAgICAgKiBzdmcvU1ZHUGFyc2luZ0Vycm9y
Lmg6CisgICAgICAgICogc3ZnL1NWR1BvaW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdQb2lu
dDo6Y3JlYXRlKToKKyAgICAgICAgKiBzdmcvU1ZHUG9pbnRMaXN0Lmg6CisgICAgICAgIChXZWJD
b3JlOjpTVkdQb2ludExpc3Q6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQb2ludExp
c3Q6OnBhcnNlKTogRGVsZXRlZC4KKyAgICAgICAgKCk6IERlbGV0ZWQuCisgICAgICAgICogc3Zn
L1NWR1BvbHlFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1BvbHlFbGVtZW50Ojpw
YXJzZUF0dHJpYnV0ZSk6CisgICAgICAgICogc3ZnL1NWR1ByZXNlcnZlQXNwZWN0UmF0aW9WYWx1
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVmFsdWU6OnBh
cnNlKToKKyAgICAgICAgKiBzdmcvU1ZHUHJlc2VydmVBc3BlY3RSYXRpb1ZhbHVlLmg6CisgICAg
ICAgICogc3ZnL1NWR1NWR0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHU1ZHRWxl
bWVudDo6cGFyc2VBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHU1ZHRWxlbWVudDo6
c2Nyb2xsVG9GcmFnbWVudCk6CisgICAgICAgICogc3ZnL1NWR1N0cmluZ0xpc3QuaDoKKyAgICAg
ICAgKiBzdmcvU1ZHVGVzdHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGVzdHM6OnBhcnNl
QXR0cmlidXRlKToKKyAgICAgICAgKiBzdmcvU1ZHVHJhbnNmb3JtLmg6CisgICAgICAgIChXZWJD
b3JlOjpTVkdUcmFuc2Zvcm06OmNyZWF0ZSk6CisgICAgICAgICogc3ZnL1NWR1RyYW5zZm9ybUxp
c3QuaDoKKyAgICAgICAgKiBzdmcvU1ZHVmlld0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHVmlld0VsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKToKKyAgICAgICAgKiBzdmcvU1ZHVmll
d1NwZWMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cGFyc2VOYW1lc1ZhbHVlcyk6CisgICAgICAg
IChXZWJDb3JlOjpTVkdWaWV3U3BlYzo6cGFyc2VBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHVmlld1NwZWM6OnBhcnNlVmlld1NwZWMpOgorICAgICAgICAqIHN2Zy9TVkdWaWV3U3Bl
Yy5oOgorICAgICAgICAqIHN2Zy9TVkdab29tQW5kUGFuLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNWR1pvb21BbmRQYW46OnBhcnNlQXR0cmlidXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1pv
b21BbmRQYW46OnBhcnNlWm9vbUFuZFBhbik6IERlbGV0ZWQuCisgICAgICAgICogc3ZnL1NWR1pv
b21BbmRQYW4uaDoKKyAgICAgICAgKiBzdmcvU1ZHWm9vbUFuZFBhblR5cGUuaDoKKyAgICAgICAg
KFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPFNWR1pvb21BbmRQYW5UeXBlPjo6cGFyc2UpOgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8U1ZHWm9vbUFuZFBhblR5cGU+Ojpm
cm9tU3RyaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPFNWR1pvb21B
bmRQYW5UeXBlPjo6dG9TdHJpbmcpOiBEZWxldGVkLgorICAgICAgICAqIHN2Zy9wcm9wZXJ0aWVz
L1NWR1ByaW1pdGl2ZUxpc3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1ByaW1pdGl2ZUxpc3Q6
OnBhcnNlKToKKyAgICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdWYWx1ZVByb3BlcnR5TGlzdC5o
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHVmFsdWVQcm9wZXJ0eUxpc3Q6OnBhcnNlKToKKwogMjAx
OS0wNi0wOCAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNd
W0lGQ10gSW50cm9kdWNlIEJhc2VsaW5lIHRvIExpbmVCb3gKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA3YjY5YTg2ZGM3OTI4YTdm
YzY1YzE3OGY1MDdhZWJiZDg2MmIxMWE3Li5lNzM0ZWVkOTVkMGUyNGEzZjgzYjQyOTc2ODkyYmNi
ZDMxNDM4MDcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCkBAIC0xNzQzLDcgKzE3NDMsNiBAQAogCQk1NURDQzUyODIyNDA3QjIwMDBD
MjZFMzIgLyogU1ZHUHJpbWl0aXZlTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTVEQ0M1MjUyMjQwNzQ5RTAwQzI2RTMyIC8qIFNWR1ByaW1pdGl2
ZUxpc3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQk1NURDQzUyOTIyNDA3QjJBMDBDMjZFMzIgLyogU1ZHTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTVEQ0M1MjMyMjQwNzNGRTAwQzI2RTMyIC8q
IFNWR0xpc3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQk1NUVDOTU5OTIwNkFBN0EwMDA3REQwQTkgLyogUGFpbnRGcmVxdWVuY3lUcmFja2VyLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NUVDOTU5NzIw
NjlDOTJEMDA3REQwQTkgLyogUGFpbnRGcmVxdWVuY3lUcmFja2VyLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJNTVGQTdGRkIyMTEwRUNENzAwNUFF
RkU3IC8qIFNWR1pvb21BbmRQYW5UeXBlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1NUZBN0ZGQTIxMTBFQ0Q3MDA1QUVGRTcgLyogU1ZHWm9vbUFuZFBh
blR5cGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQk1NzA0NDA1QTFFNTM5MzYyMDAzNTY2MDEgLyogSlNBZXNDYmNDZmJQYXJhbXMuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3MDQ0MDU5MUU1MzkzNjIw
MDM1NjYwMSAvKiBKU0Flc0NiY0NmYlBhcmFtcy5oICovOyB9OwogCQk1NzA2QTY5NjFEREU1Qzk1
MDBBMDNCMTQgLyogQ3J5cHRvQWxnb3JpdGhtUnNhT2FlcFBhcmFtcy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTcwNkE2OTUxRERFNUM5NTAwQTAzQjE0
IC8qIENyeXB0b0FsZ29yaXRobVJzYU9hZXBQYXJhbXMuaCAqLzsgfTsKIAkJNTcwNkE2OTgxRERF
NUU0NjAwQTAzQjE0IC8qIEpTUnNhT2FlcFBhcmFtcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTcwNkE2OTcxRERFNUU0NjAwQTAzQjE0IC8qIEpTUnNh
T2FlcFBhcmFtcy5oICovOyB9OwpAQCAtODU2Miw3ICs4NTYxLDYgQEAKIAkJNTVFRTUzNjIyMjNC
MkEyMzAwRkJBOTQ0IC8qIFNWR0FuaW1hdGVkUHJvcGVydHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gU1ZHQW5pbWF0ZWRQcm9wZXJ0eS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk1NUVFNTM2MzIyM0IyQTI0MDBGQkE5NDQgLyogU1ZHUHJvcGVydHkuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHUHJvcGVydHkuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNTVFRTUzNjQyMjNCMkEyNDAwRkJBOTQ0IC8qIFNWR0F0dHJpYnV0
ZUFuaW1hdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR0F0dHJpYnV0
ZUFuaW1hdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTU1RkE3RkZBMjExMEVD
RDcwMDVBRUZFNyAvKiBTVkdab29tQW5kUGFuVHlwZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdab29t
QW5kUGFuVHlwZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NzA0NDA1NzFFNTM4
NTE2MDAzNTY2MDEgLyogQ3J5cHRvQWxnb3JpdGhtQUVTX0NGQk1hYy5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDcnlwdG9BbGdvcml0aG1BRVNfQ0ZCTWFjLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTcwNDQwNTkxRTUzOTM2MjAwMzU2NjAxIC8q
IEpTQWVzQ2JjQ2ZiUGFyYW1zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpT
QWVzQ2JjQ2ZiUGFyYW1zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU3MDQ0MDVC
MUU1MzkzNzkwMDM1NjYwMSAvKiBKU0Flc0NiY0NmYlBhcmFtcy5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0Flc0NiY0NmYlBhcmFtcy5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC05NDA2LDYgKzk0MDQsOSBAQAogCQk3MjRFRDMzMDFBM0E4QjIz
MDBGNUYxM0MgLyogSlNFWFRCbGVuZE1pbk1heC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBKU0VYVEJsZW5kTWluTWF4Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTcyNEVFNTRFMURDN0YyNUIwMEE5MUZGQiAvKiBBY3Rpdml0eVN0YXRlLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFjdGl2aXR5U3RhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNzI0RUU1NEYxREM3RjI1QjAwQTkxRkZCIC8qIEFjdGl2aXR5U3RhdGVDaGFu
Z2VPYnNlcnZlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBY3Rpdml0eVN0
YXRlQ2hhbmdlT2JzZXJ2ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzI2NTRB
QTMyMjhDNkIzQjAwQkVCMTAzIC8qIFNWR0VudW1UcmFpdHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZH
RW51bVRyYWl0cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3MjY1NEFBNzIyOEVG
REM0MDBCRUIxMDMgLyogU1ZHRW51bVR5cGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHRW51bVR5cGUu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzI2NTRBQTgyMjhGMzgzNjAwQkVCMTAz
IC8qIFNWR0VudW1UeXBlVHJhaXRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR0VudW1UeXBlVHJhaXRz
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcyNjZGMDEzMjI0MUJDRTIwMDgzMzk3
NSAvKiBTVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdQcm9w
ZXJ0eUFuaW1hdG9yRmFjdG9yeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3MjY2
RjAxNDIyNDFCRkIyMDA4MzM5NzUgLyogU1ZHUHJpbWl0aXZlUHJvcGVydHlBbmltYXRvckltcGwu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gU1ZHUHJpbWl0aXZlUHJvcGVydHlBbmltYXRvckltcGwuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzI2NkYwMTUyMjQxQzA5ODAwODMzOTc1IC8qIFNW
R1ByaW1pdGl2ZVByb3BlcnR5QW5pbWF0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHUHJpbWl0aXZl
UHJvcGVydHlBbmltYXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTYwNjks
NiArMTYwNzAsOSBAQAogCQkJCTU1NTM1OTIxMjI0NDFCOTcwMDhGNUVDOSAvKiBTVkdEZWNvcmF0
ZWRFbnVtZXJhdGlvbi5oICovLAogCQkJCTU1NTM1OTIyMjI0NDFCRTkwMDhGNUVDOSAvKiBTVkdE
ZWNvcmF0ZWRQcmltaXRpdmUuaCAqLywKIAkJCQk1NTUzNTkyMzIyNDQxQzE4MDA4RjVFQzkgLyog
U1ZHRGVjb3JhdGVkUHJvcGVydHkuaCAqLywKKwkJCQk3MjY1NEFBMzIyOEM2QjNCMDBCRUIxMDMg
LyogU1ZHRW51bVRyYWl0cy5oICovLAorCQkJCTcyNjU0QUE3MjI4RUZEQzQwMEJFQjEwMyAvKiBT
VkdFbnVtVHlwZS5oICovLAorCQkJCTcyNjU0QUE4MjI4RjM4MzYwMEJFQjEwMyAvKiBTVkdFbnVt
VHlwZVRyYWl0cy5oICovLAogCQkJCTU1RENDNTIzMjI0MDczRkUwMEMyNkUzMiAvKiBTVkdMaXN0
LmggKi8sCiAJCQkJNTVFRTUzNTQyMjNCMjlFOTAwRkJBOTQ0IC8qIFNWR01lbWJlckFjY2Vzc29y
LmggKi8sCiAJCQkJNTVCRTAyNUEyMjNCMjlDMjAwMzJGMDhBIC8qIFNWR1BvaW50ZXJNZW1iZXJB
Y2Nlc3Nvci5oICovLApAQCAtMjQyMzYsNyArMjQyNDAsNiBAQAogCQkJCUIyMjI3OTVGMEQwMEJG
MjEwMDcxQjc4MiAvKiBTVkdab29tQW5kUGFuLmNwcCAqLywKIAkJCQlCMjIyNzk2MDBEMDBCRjIx
MDA3MUI3ODIgLyogU1ZHWm9vbUFuZFBhbi5oICovLAogCQkJCUIyMjI3OTYxMEQwMEJGMjEwMDcx
Qjc4MiAvKiBTVkdab29tQW5kUGFuLmlkbCAqLywKLQkJCQk1NUZBN0ZGQTIxMTBFQ0Q3MDA1QUVG
RTcgLyogU1ZHWm9vbUFuZFBhblR5cGUuaCAqLywKIAkJCQlCMkU0RUM5NDBEMDBDMjJCMDA0MzI2
NDMgLyogU1ZHWm9vbUV2ZW50LmNwcCAqLywKIAkJCQlCMkU0RUM5NTBEMDBDMjJCMDA0MzI2NDMg
LyogU1ZHWm9vbUV2ZW50LmggKi8sCiAJCQkJQjJFNEVDOTYwRDAwQzIyQjAwNDMyNjQzIC8qIFNW
R1pvb21FdmVudC5pZGwgKi8sCkBAIC0zMTc4Niw3ICszMTc4OSw2IEBACiAJCQkJQjIyMjdBRjMw
RDAwQkYyMjAwNzFCNzgyIC8qIFNWR1ZpZXdTcGVjLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NDg1
MjI4QjExOTAxNzNDMDA2RURDN0YgLyogU1ZHVktlcm5FbGVtZW50LmggaW4gSGVhZGVycyAqLywK
IAkJCQlCMjIyN0FGNjBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHWm9vbUFuZFBhbi5oIGluIEhlYWRl
cnMgKi8sCi0JCQkJNTVGQTdGRkIyMTEwRUNENzAwNUFFRkU3IC8qIFNWR1pvb21BbmRQYW5UeXBl
LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkU0RUM5ODBEMDBDMjJCMDA0MzI2NDMgLyogU1ZHWm9v
bUV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk0NkVDQjYzODFGRDBBM0M4MDA4OEU1QUQgLyog
U1dDbGllbnRDb25uZWN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk0NjY1OERDOTFGQTI0Qjg3
MDBGN0RENTQgLyogU1dDb250ZXh0TWFuYWdlci5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaAppbmRleCA5ZDEyMGNhNWU4
MjNjNWEyYzIwOTIyNTlkMGE4MGRhMDkzYjZkMzUzLi44ZmY0ZmYwM2U3Y2U2MjRlNWMxMmMyNGY0
OTAyZGExYWQwY2Y5ZGE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0
aXZlVmFsdWVNYXBwaW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVW
YWx1ZU1hcHBpbmdzLmgKQEAgLTM5MjMsNiArMzkyMyw5IEBAIHRlbXBsYXRlPD4gaW5saW5lIENT
U1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShCbGVuZE1vZGUgYmxlbmRNb2RlKQog
ewogICAgIG1fcHJpbWl0aXZlVW5pdFR5cGUgPSBDU1NfVkFMVUVfSUQ7CiAgICAgc3dpdGNoIChi
bGVuZE1vZGUpIHsKKyAgICBjYXNlIEJsZW5kTW9kZTo6VW5rbm93bjoKKyAgICAgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7CisgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQmxlbmRNb2RlOjpOb3Jt
YWw6CiAgICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlTm9ybWFsOwogICAgICAgICBi
cmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBo
aWNzVHlwZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzVHlw
ZXMuaAppbmRleCA2ZTFhZmVlMTk4Y2E0MzhlZDI1ZTQ3MTVmNzlkNjUyYTdmYjFkMjIwLi5lOTQy
MjNjZWY2NDYwNTZiM2VmNmUwOTkwMThkMjdhYjg5NTA1ZGNlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc1R5cGVzLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NUeXBlcy5oCkBAIC01Miw2ICs1Miw3IEBA
IGVudW0gQ29tcG9zaXRlT3BlcmF0b3IgewogfTsKIAogZW51bSBjbGFzcyBCbGVuZE1vZGUgewor
ICAgIFVua25vd24gPSAwLAogICAgIE5vcm1hbCA9IDEsIC8vIFN0YXJ0IHdpdGggMSB0byBtYXRj
aCBTVkcncyBibGVuZG1vZGUgZW51bWVyYXRpb24uCiAgICAgTXVsdGlwbHksCiAgICAgU2NyZWVu
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhp
Y3NDb250ZXh0Q0cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3Jh
cGhpY3NDb250ZXh0Q0cuY3BwCmluZGV4IDhhZGY4MDE0ZGY1OTYyMWZhMDQ5YTg0NzcyYWQ0Yjg0
MjVmNjc4ODEuLmM3MjZmOWRiYTJlNDUyNjZkN2NlZTI1MjNlOWQ4ZTUwNDdiY2I4Y2QgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0dyYXBoaWNzQ29udGV4
dENHLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGlj
c0NvbnRleHRDRy5jcHAKQEAgLTE1NCw2ICsxNTQsOSBAQCBzdGF0aWMgSW50ZXJwb2xhdGlvblF1
YWxpdHkgY29udmVydEludGVycG9sYXRpb25RdWFsaXR5KENHSW50ZXJwb2xhdGlvblF1YWxpdHkg
cQogc3RhdGljIENHQmxlbmRNb2RlIHNlbGVjdENHQmxlbmRNb2RlKENvbXBvc2l0ZU9wZXJhdG9y
IGNvbXBvc2l0ZU9wZXJhdG9yLCBCbGVuZE1vZGUgYmxlbmRNb2RlKQogewogICAgIHN3aXRjaCAo
YmxlbmRNb2RlKSB7CisgICAgY2FzZSBCbGVuZE1vZGU6OlVua25vd246CisgICAgICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4ga0NHQmxlbmRNb2RlTm9ybWFsOwogICAg
IGNhc2UgQmxlbmRNb2RlOjpOb3JtYWw6CiAgICAgICAgIHN3aXRjaCAoY29tcG9zaXRlT3BlcmF0
b3IpIHsKICAgICAgICAgY2FzZSBDb21wb3NpdGVDbGVhcjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdBRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FFbGVtZW50
LmgKaW5kZXggN2UxZDI5NDY3MDRlNjc1NWJlMzRlNDBlNzk4NDc0ZmIxNGM3MDFjNi4uNmQxZWY0
NWVjMTdiNTJkZjMyYTM4NDgxZTBlMWU1NDJmMmQxMTAxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0FFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FFbGVt
ZW50LmgKQEAgLTMxLDYgKzMxLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTVkdB
RWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdHcmFwaGljc0VsZW1lbnQsIHB1YmxpYyBTVkdFeHRl
cm5hbFJlc291cmNlc1JlcXVpcmVkLCBwdWJsaWMgU1ZHVVJJUmVmZXJlbmNlIHsKICAgICBXVEZf
TUFLRV9JU09fQUxMT0NBVEVEKFNWR0FFbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lz
dHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0FFbGVtZW50LCBTVkdHcmFwaGljc0Vs
ZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIFNWR1VSSVJlZmVyZW5jZT47CisK
IHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR0FFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlm
aWVkTmFtZSYsIERvY3VtZW50Jik7CiAKQEAgLTQyLDkgKzQ0LDcgQEAgcHVibGljOgogcHJpdmF0
ZToKICAgICBTVkdBRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAot
ICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZH
QUVsZW1lbnQsIFNWR0dyYXBoaWNzRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJl
ZCwgU1ZHVVJJUmVmZXJlbmNlPjsKICAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9w
ZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9
Ci0KICAgICB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBB
dG9taWNTdHJpbmcmKSBmaW5hbDsKICAgICB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3Qg
UXVhbGlmaWVkTmFtZSYpIGZpbmFsOwogCkBAIC02Niw4ICs2Niw2IEBAIHByaXZhdGU6CiAKICAg
ICBQcm9wZXJ0eVJlZ2lzdHJ5IG1fcHJvcGVydHlSZWdpc3RyeSB7ICp0aGlzIH07CiAgICAgUmVm
PFNWR0FuaW1hdGVkU3RyaW5nPiBtX3RhcmdldCB7IFNWR0FuaW1hdGVkU3RyaW5nOjpjcmVhdGUo
dGhpcykgfTsKLQotICAgIC8vIFRoaXMgaXMgY29tcHV0ZWQgb25seSBvbmNlIGFuZCBtdXN0IG5v
dCBiZSBhZmZlY3RlZCBieSBzdWJzZXF1ZW50IFVSTCBjaGFuZ2VzLgogICAgIG11dGFibGUgT3B0
aW9uYWw8U2hhcmVkU3RyaW5nSGFzaD4gbV9zdG9yZWRWaXNpdGVkTGlua0hhc2g7CiB9OwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQWx0R2x5cGhEZWZFbGVtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHQWx0R2x5cGhEZWZFbGVtZW50LmgKaW5kZXggNDcxNzRmYmIw
MmI2ZDdiMjJhNGJkNDY3YmU1N2FiNTVmOTUyMzkyOC4uZTNkNTc5MjY3YjExMjA5MmYyNTIwYmE3
ZjFiNzI1MjRlMzRkM2Q3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FsdEds
eXBoRGVmRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbHRHbHlwaERlZkVs
ZW1lbnQuaApAQCAtMjgsNiArMjgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNW
R0FsdEdseXBoRGVmRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdFbGVtZW50IHsKICAgICBXVEZf
TUFLRV9JU09fQUxMT0NBVEVEKFNWR0FsdEdseXBoRGVmRWxlbWVudCk7CisgICAgdXNpbmcgUHJv
cGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdBbHRHbHlwaERlZkVs
ZW1lbnQsIFNWR0VsZW1lbnQ+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdBbHRHbHlw
aERlZkVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIApA
QCAtMzYsNyArMzgsMTAgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBTVkdBbHRHbHlwaERlZkVs
ZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKKyAgICBjb25zdCBTVkdQ
cm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4g
bV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9CiAgICAgYm9vbCByZW5kZXJlcklzTmVlZGVkKGNvbnN0IFJl
bmRlclN0eWxlJikgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0KKyAgICAKKyAgICBQcm9wZXJ0eVJl
Z2lzdHJ5IG1fcHJvcGVydHlSZWdpc3RyeSB7ICp0aGlzIH07CiB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQWx0R2x5cGhFbGVt
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQWx0R2x5cGhFbGVtZW50LmgKaW5kZXggNWQ5
MDJmNjc1NmMzOWM3YTJjZmU3ODMwZmM0NDgyNTE5MDdlMDdlMC4uOTQ1OWRhNDY4MWMzNmIwNjhi
MDVlY2FlZTQ2YmJhMzczNTk4MWE0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0FsdEdseXBoRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbHRHbHlwaEVs
ZW1lbnQuaApAQCAtMzIsNiArMzIsOCBAQCBjbGFzcyBTVkdHbHlwaEVsZW1lbnQ7CiAKIGNsYXNz
IFNWR0FsdEdseXBoRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdUZXh0UG9zaXRpb25pbmdFbGVt
ZW50LCBwdWJsaWMgU1ZHVVJJUmVmZXJlbmNlIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVE
KFNWR0FsdEdseXBoRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1By
b3BlcnR5T3duZXJSZWdpc3RyeTxTVkdBbHRHbHlwaEVsZW1lbnQsIFNWR1RleHRQb3NpdGlvbmlu
Z0VsZW1lbnQsIFNWR1VSSVJlZmVyZW5jZT47CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNW
R0FsdEdseXBoRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYp
OwogCkBAIC00NSwxMSArNDcsOSBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFNWR0FsdEdseXBo
RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAotICAgIHVzaW5nIFBy
b3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHQWx0R2x5cGhFbGVt
ZW50LCBTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50LCBTVkdVUklSZWZlcmVuY2U+OwogICAgIGNv
bnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7
IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KLQotICAgIFJlbmRlclB0cjxSZW5kZXJFbGVt
ZW50PiBjcmVhdGVFbGVtZW50UmVuZGVyZXIoUmVuZGVyU3R5bGUmJiwgY29uc3QgUmVuZGVyVHJl
ZVBvc2l0aW9uJikgb3ZlcnJpZGU7Ci0gICAgYm9vbCBjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVy
KGNvbnN0IE5vZGUmKSBjb25zdCBvdmVycmlkZTsKKyAgICBSZW5kZXJQdHI8UmVuZGVyRWxlbWVu
dD4gY3JlYXRlRWxlbWVudFJlbmRlcmVyKFJlbmRlclN0eWxlJiYsIGNvbnN0IFJlbmRlclRyZWVQ
b3NpdGlvbiYpIGZpbmFsOworICAgIGJvb2wgY2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihjb25z
dCBOb2RlJikgY29uc3QgZmluYWw7CiAKICAgICBQcm9wZXJ0eVJlZ2lzdHJ5IG1fcHJvcGVydHlS
ZWdpc3RyeSB7ICp0aGlzIH07CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0FsdEdseXBoSXRlbUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbHRHbHlwaEl0
ZW1FbGVtZW50LmgKaW5kZXggNjA2Yjc4MzM0ODQ3NjNmNmMxMzUyOTA1OWY0ODc1OTZmNmRmZjgz
My4uNjVmYzA0ZWVjN2Q2MmYwNDU1ZTdjNGZjZDEyYWViZWQ3ZjgyY2VmNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0FsdEdseXBoSXRlbUVsZW1lbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHQWx0R2x5cGhJdGVtRWxlbWVudC5oCkBAIC0yOCw2ICsyOCw4IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU1ZHQWx0R2x5cGhJdGVtRWxlbWVudCBmaW5hbCA6
IHB1YmxpYyBTVkdFbGVtZW50IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR0FsdEds
eXBoSXRlbUVsZW1lbnQpOworICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0
eU93bmVyUmVnaXN0cnk8U1ZHQWx0R2x5cGhJdGVtRWxlbWVudCwgU1ZHRWxlbWVudD47CisKIHB1
YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR0FsdEdseXBoSXRlbUVsZW1lbnQ+IGNyZWF0ZShjb25z
dCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIApAQCAtMzYsNyArMzgsMTAgQEAgcHVibGlj
OgogcHJpdmF0ZToKICAgICBTVkdBbHRHbHlwaEl0ZW1FbGVtZW50KGNvbnN0IFF1YWxpZmllZE5h
bWUmLCBEb2N1bWVudCYpOwogCisgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVy
dHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQog
ICAgIGJvb2wgcmVuZGVyZXJJc05lZWRlZChjb25zdCBSZW5kZXJTdHlsZSYpIGZpbmFsIHsgcmV0
dXJuIGZhbHNlOyB9CisgICAgCisgICAgUHJvcGVydHlSZWdpc3RyeSBtX3Byb3BlcnR5UmVnaXN0
cnkgeyAqdGhpcyB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuZ2xlVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdBbmdsZVZhbHVlLmgKaW5kZXggNGQ0MDJmN2ZjZDQ1YTFmYzdlNzk0N2Q5NjFkZTllYTU5MTRi
ZTQ2MS4uY2M0NTQ0MTgzY2YwZGY5MGZiN2ViOTJhOTNhYTNkZjFlYjMxNTI4YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuZ2xlVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHQW5nbGVWYWx1ZS5oCkBAIC01NiwxMCArNTYsNCBAQCBwcml2YXRlOgogICAgIGZs
b2F0IG1fdmFsdWVJblNwZWNpZmllZFVuaXRzIHsgMCB9OwogfTsKIAotdGVtcGxhdGU8Pgotc3Ry
dWN0IFNWR1Byb3BlcnR5VHJhaXRzPFNWR0FuZ2xlVmFsdWU+IHsKLSAgICBzdGF0aWMgU1ZHQW5n
bGVWYWx1ZSBpbml0aWFsVmFsdWUoKSB7IHJldHVybiBTVkdBbmdsZVZhbHVlKCk7IH0KLSAgICBz
dGF0aWMgU3RyaW5nIHRvU3RyaW5nKGNvbnN0IFNWR0FuZ2xlVmFsdWUmIHR5cGUpIHsgcmV0dXJu
IHR5cGUudmFsdWVBc1N0cmluZygpOyB9Ci19OwotCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHQW5pbWF0aW9uRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0Fu
aW1hdGlvbkVsZW1lbnQuaAppbmRleCA1NGU5MTI4MTI5Yzc5MmNmODExZTNkNjA1NzU2MzkwZjA4
MGFmZTM1Li42MjBkOTE5OTZhZThkYzEwNTdjZTQ3MjBkYWJmZDQwZDQxOTk0NGQ4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0aW9uRWxlbWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRpb25FbGVtZW50LmgKQEAgLTQwLDYgKzQwLDggQEAgZW51
bSBBbmltYXRlZFByb3BlcnR5VmFsdWVUeXBlIHsgUmVndWxhclByb3BlcnR5VmFsdWUsIEN1cnJl
bnRDb2xvclZhbHVlLCBJbmhlcmkKIAogY2xhc3MgU1ZHQW5pbWF0aW9uRWxlbWVudCA6IHB1Ymxp
YyBTVkdTTUlMRWxlbWVudCwgcHVibGljIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIHB1
YmxpYyBTVkdUZXN0cyB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdBbmltYXRpb25F
bGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJl
Z2lzdHJ5PFNWR0FuaW1hdGlvbkVsZW1lbnQsIFNWR0VsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3Vy
Y2VzUmVxdWlyZWQsIFNWR1Rlc3RzPjsKKwogcHVibGljOgogICAgIGZsb2F0IGdldFN0YXJ0VGlt
ZSgpIGNvbnN0OwogICAgIGZsb2F0IGdldEN1cnJlbnRUaW1lKCkgY29uc3Q7CkBAIC04Niw5ICs4
OCw2IEBAIHB1YmxpYzoKIHByb3RlY3RlZDoKICAgICBTVkdBbmltYXRpb25FbGVtZW50KGNvbnN0
IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCi0gICAgdXNpbmcgUHJvcGVydHlSZWdpc3Ry
eSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdBbmltYXRpb25FbGVtZW50LCBTVkdFbGVt
ZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBTVkdUZXN0cz47Ci0gICAgY29uc3Qg
U1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IG92ZXJyaWRlIHsg
cmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQotCiAgICAgdmlydHVhbCB2b2lkIHJlc2V0QW5p
bWF0aW9uKCk7CiAKICAgICBzdGF0aWMgYm9vbCBpc1N1cHBvcnRlZEF0dHJpYnV0ZShjb25zdCBR
dWFsaWZpZWROYW1lJik7CkBAIC0xMTUsNiArMTE0LDcgQEAgcHJvdGVjdGVkOgogICAgIHZvaWQg
c2V0Q2FsY01vZGUoQ2FsY01vZGUgY2FsY01vZGUpIHsgbV9jYWxjTW9kZSA9IGNhbGNNb2RlOyB9
CiAKIHByaXZhdGU6CisgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdp
c3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQogICAgIHZv
aWQgYW5pbWF0aW9uQXR0cmlidXRlQ2hhbmdlZCgpIG92ZXJyaWRlOwogICAgIHZvaWQgc2V0QXR0
cmlidXRlVHlwZShjb25zdCBBdG9taWNTdHJpbmcmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0NpcmNsZUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdDaXJj
bGVFbGVtZW50LmgKaW5kZXggNWY5MGM3MGZhOWQ2YmIwMmVkYjc1NDcwNjE5YzRmOTMyNDhiZjAw
Yy4uZjgyNzI2MDkyZmU1YTQzMTVkYzg0MWU3ZGFjZWQ2YzhjYzQxNTIxZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0NpcmNsZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHQ2lyY2xlRWxlbWVudC5oCkBAIC0yOSw2ICsyOSw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgU1ZHQ2lyY2xlRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdHZW9tZXRy
eUVsZW1lbnQsIHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkIHsKICAgICBXVEZf
TUFLRV9JU09fQUxMT0NBVEVEKFNWR0NpcmNsZUVsZW1lbnQpOworICAgIHVzaW5nIFByb3BlcnR5
UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHQ2lyY2xlRWxlbWVudCwgU1ZH
R2VvbWV0cnlFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkPjsKKwogcHVibGlj
OgogICAgIHN0YXRpYyBSZWY8U1ZHQ2lyY2xlRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmll
ZE5hbWUmLCBEb2N1bWVudCYpOwogCkBAIC00Myw5ICs0NSw3IEBAIHB1YmxpYzoKIHByaXZhdGU6
CiAgICAgU1ZHQ2lyY2xlRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsK
IAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8
U1ZHQ2lyY2xlRWxlbWVudCwgU1ZHR2VvbWV0cnlFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNl
c1JlcXVpcmVkPjsKICAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lz
dHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9Ci0KICAgICB2
b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJp
bmcmKSBmaW5hbDsKICAgICB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVk
TmFtZSYpIGZpbmFsOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQ2xpcFBh
dGhFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQ2xpcFBhdGhFbGVtZW50LmgKaW5k
ZXggM2VmMDM2OGNjOTRmNDRhZGY0ZDA0ZjdhM2FjMjhkZDNjYmJiZTM5Ni4uODg5MGEzMDI0OGY3
ZmRmMWJlMzllMTE4NGQ0YmE2OTFlYjI2YmJlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0NsaXBQYXRoRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdDbGlw
UGF0aEVsZW1lbnQuaApAQCAtMzEsNiArMzEsOCBAQCBjbGFzcyBSZW5kZXJPYmplY3Q7CiAKIGNs
YXNzIFNWR0NsaXBQYXRoRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdHcmFwaGljc0VsZW1lbnQs
IHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkIHsKICAgICBXVEZfTUFLRV9JU09f
QUxMT0NBVEVEKFNWR0NsaXBQYXRoRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3Ry
eSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdDbGlwUGF0aEVsZW1lbnQsIFNWR0dyYXBo
aWNzRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZD47CisKIHB1YmxpYzoKICAg
ICBzdGF0aWMgUmVmPFNWR0NsaXBQYXRoRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5h
bWUmLCBEb2N1bWVudCYpOwogCkBAIC00MCw5ICs0Miw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAg
ICAgU1ZHQ2xpcFBhdGhFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwog
Ci0gICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxT
VkdDbGlwUGF0aEVsZW1lbnQsIFNWR0dyYXBoaWNzRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJj
ZXNSZXF1aXJlZD47CiAgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdp
c3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQotCiAgICAg
dm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3Ry
aW5nJikgZmluYWw7CiAgICAgdm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmll
ZE5hbWUmKSBmaW5hbDsKICAgICB2b2lkIGNoaWxkcmVuQ2hhbmdlZChjb25zdCBDaGlsZENoYW5n
ZSYpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0NvbXBvbmVudFRy
YW5zZmVyRnVuY3Rpb25FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQ29tcG9uZW50
VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQuaAppbmRleCBhMzM4OGY4MmUyODIxOTQ0NmYyZjIzMWU2
YjBlNzUzYWJmZGY1MTMxLi41NjBjNTJkYTQxYzJkZjQyZjc4NTQ4ZmQ3MTY2NjJiMjExZDMxNmZi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5j
dGlvbkVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQ29tcG9uZW50VHJhbnNm
ZXJGdW5jdGlvbkVsZW1lbnQuaApAQCAtMjYsNDkgKzI2LDEwIEBACiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotdGVtcGxhdGU8Pgotc3RydWN0IFNWR1Byb3BlcnR5VHJhaXRzPENvbXBvbmVudFRy
YW5zZmVyVHlwZT4gewotICAgIHN0YXRpYyB1bnNpZ25lZCBoaWdoZXN0RW51bVZhbHVlKCkgeyBy
ZXR1cm4gRkVDT01QT05FTlRUUkFOU0ZFUl9UWVBFX0dBTU1BOyB9Ci0KLSAgICBzdGF0aWMgU3Ry
aW5nIHRvU3RyaW5nKENvbXBvbmVudFRyYW5zZmVyVHlwZSB0eXBlKQotICAgIHsKLSAgICAgICAg
c3dpdGNoICh0eXBlKSB7Ci0gICAgICAgIGNhc2UgRkVDT01QT05FTlRUUkFOU0ZFUl9UWVBFX1VO
S05PV046Ci0gICAgICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKLSAgICAgICAgY2FzZSBG
RUNPTVBPTkVOVFRSQU5TRkVSX1RZUEVfSURFTlRJVFk6Ci0gICAgICAgICAgICByZXR1cm4gImlk
ZW50aXR5Il9zOwotICAgICAgICBjYXNlIEZFQ09NUE9ORU5UVFJBTlNGRVJfVFlQRV9UQUJMRToK
LSAgICAgICAgICAgIHJldHVybiAidGFibGUiX3M7Ci0gICAgICAgIGNhc2UgRkVDT01QT05FTlRU
UkFOU0ZFUl9UWVBFX0RJU0NSRVRFOgotICAgICAgICAgICAgcmV0dXJuICJkaXNjcmV0ZSJfczsK
LSAgICAgICAgY2FzZSBGRUNPTVBPTkVOVFRSQU5TRkVSX1RZUEVfTElORUFSOgotICAgICAgICAg
ICAgcmV0dXJuICJsaW5lYXIiX3M7Ci0gICAgICAgIGNhc2UgRkVDT01QT05FTlRUUkFOU0ZFUl9U
WVBFX0dBTU1BOgotICAgICAgICAgICAgcmV0dXJuICJnYW1tYSJfczsKLSAgICAgICAgfQotCi0g
ICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmco
KTsKLSAgICB9Ci0KLSAgICBzdGF0aWMgQ29tcG9uZW50VHJhbnNmZXJUeXBlIGZyb21TdHJpbmco
Y29uc3QgU3RyaW5nJiB2YWx1ZSkKLSAgICB7Ci0gICAgICAgIGlmICh2YWx1ZSA9PSAiaWRlbnRp
dHkiKQotICAgICAgICAgICAgcmV0dXJuIEZFQ09NUE9ORU5UVFJBTlNGRVJfVFlQRV9JREVOVElU
WTsKLSAgICAgICAgaWYgKHZhbHVlID09ICJ0YWJsZSIpCi0gICAgICAgICAgICByZXR1cm4gRkVD
T01QT05FTlRUUkFOU0ZFUl9UWVBFX1RBQkxFOwotICAgICAgICBpZiAodmFsdWUgPT0gImRpc2Ny
ZXRlIikKLSAgICAgICAgICAgIHJldHVybiBGRUNPTVBPTkVOVFRSQU5TRkVSX1RZUEVfRElTQ1JF
VEU7Ci0gICAgICAgIGlmICh2YWx1ZSA9PSAibGluZWFyIikKLSAgICAgICAgICAgIHJldHVybiBG
RUNPTVBPTkVOVFRSQU5TRkVSX1RZUEVfTElORUFSOwotICAgICAgICBpZiAodmFsdWUgPT0gImdh
bW1hIikKLSAgICAgICAgICAgIHJldHVybiBGRUNPTVBPTkVOVFRSQU5TRkVSX1RZUEVfR0FNTUE7
Ci0gICAgICAgIHJldHVybiBGRUNPTVBPTkVOVFRSQU5TRkVSX1RZUEVfVU5LTk9XTjsKLSAgICB9
Ci19OwotCiBjbGFzcyBTVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudCA6IHB1Ymxp
YyBTVkdFbGVtZW50IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR0NvbXBvbmVudFRy
YW5zZmVyRnVuY3Rpb25FbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZH
UHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50
LCBTVkdFbGVtZW50PjsKKwogcHVibGljOgogICAgIENvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb24g
dHJhbnNmZXJGdW5jdGlvbigpIGNvbnN0OwogCkBAIC05MSwxMyArNTIsMTEgQEAgcHVibGljOgog
cHJvdGVjdGVkOgogICAgIFNWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50KGNvbnN0
IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCi0gICAgdXNpbmcgUHJvcGVydHlSZWdpc3Ry
eSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9u
RWxlbWVudCwgU1ZHRWxlbWVudD47Ci0gICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJv
cGVydHlSZWdpc3RyeSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3Ry
eTsgfQotCi0gICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29u
c3QgQXRvbWljU3RyaW5nJikgb3ZlcnJpZGU7Ci0gICAgdm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2Vk
KGNvbnN0IFF1YWxpZmllZE5hbWUmKSBvdmVycmlkZTsKKyAgICBjb25zdCBTVkdQcm9wZXJ0eVJl
Z2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0
eVJlZ2lzdHJ5OyB9CisgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1l
JiwgY29uc3QgQXRvbWljU3RyaW5nJikgZmluYWw7CisgICAgdm9pZCBzdmdBdHRyaWJ1dGVDaGFu
Z2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBmaW5hbDsKIAotICAgIGJvb2wgcmVuZGVyZXJJc05l
ZWRlZChjb25zdCBSZW5kZXJTdHlsZSYpIG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CisgICAg
Ym9vbCByZW5kZXJlcklzTmVlZGVkKGNvbnN0IFJlbmRlclN0eWxlJikgZmluYWwgeyByZXR1cm4g
ZmFsc2U7IH0KICAgICAKIHByaXZhdGU6CiAgICAgUHJvcGVydHlSZWdpc3RyeSBtX3Byb3BlcnR5
UmVnaXN0cnkgeyAqdGhpcyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0N1
cnNvckVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdDdXJzb3JFbGVtZW50LmgKaW5k
ZXggOWI4MTJlYmM4YjRmMTFiZTk3MjAyNWFhYTY0NDU4NjQyZmJhNmFlZC4uNmExMjM4MTFkODQ2
ZTljYTE4Zjg5ODY5Y2M2MDkxNjI1M2JkMzRhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0N1cnNvckVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQ3Vyc29y
RWxlbWVudC5oCkBAIC0zMiw2ICszMiw4IEBAIGNsYXNzIENTU0N1cnNvckltYWdlVmFsdWU7CiAK
IGNsYXNzIFNWR0N1cnNvckVsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHRWxlbWVudCwgcHVibGlj
IFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIHB1YmxpYyBTVkdUZXN0cywgcHVibGljIFNW
R1VSSVJlZmVyZW5jZSB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdDdXJzb3JFbGVt
ZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lz
dHJ5PFNWR0N1cnNvckVsZW1lbnQsIFNWR0VsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVx
dWlyZWQsIFNWR1Rlc3RzLCBTVkdVUklSZWZlcmVuY2U+OworCiBwdWJsaWM6CiAgICAgc3RhdGlj
IFJlZjxTVkdDdXJzb3JFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3Vt
ZW50Jik7CiAKQEAgLTQ5LDkgKzUxLDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBTVkdDdXJz
b3JFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCi0gICAgdXNpbmcg
UHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdDdXJzb3JFbGVt
ZW50LCBTVkdFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBTVkdUZXN0cywg
U1ZHVVJJUmVmZXJlbmNlPjsKICAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0
eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9Ci0g
ICAgCiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3Qg
QXRvbWljU3RyaW5nJikgZmluYWw7CiAgICAgdm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0
IFF1YWxpZmllZE5hbWUmKSBmaW5hbDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0RlZnNFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRGVmc0VsZW1lbnQuaApp
bmRleCA4ZmJiZWY4NDNiZDhhOWRiNDM2NDdjNDY1M2U5ZDdkNDFlOTZkYjM3Li42YTQ0YzkxOGVj
YTdjOWIyODJkZWQwMTQ0YWM4ZjkwYWVlYmZiNzlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHRGVmc0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRGVmc0Vs
ZW1lbnQuaApAQCAtMjgsMTMgKzI4LDE0IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3Mg
U1ZHRGVmc0VsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHR3JhcGhpY3NFbGVtZW50LCBwdWJsaWMg
U1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRF
RChTVkdEZWZzRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3Bl
cnR5T3duZXJSZWdpc3RyeTxTVkdEZWZzRWxlbWVudCwgU1ZHR3JhcGhpY3NFbGVtZW50LCBTVkdF
eHRlcm5hbFJlc291cmNlc1JlcXVpcmVkPjsKKwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8U1ZH
RGVmc0VsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAog
cHJpdmF0ZToKICAgICBTVkdEZWZzRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1l
bnQmKTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVn
aXN0cnk8U1ZHRGVmc0VsZW1lbnQsIFNWR0dyYXBoaWNzRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNv
dXJjZXNSZXF1aXJlZD47CiAgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlS
ZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQogCiAg
ICAgYm9vbCBpc1ZhbGlkKCkgY29uc3QgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHRGVzY0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdEZXNjRWxlbWVu
dC5oCmluZGV4IDVmNWUxZDgxMjRiYTkwMzQ3MjcwNDg1OGRkYzZiN2E4Mzc3NGFiMmYuLjMyYjIy
NjNlZDE2NTBkZDg3NDUxYzE4ZTEyNGRjODcwODFlOTUzMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdEZXNjRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdE
ZXNjRWxlbWVudC5oCkBAIC0yNiw2ICsyNiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xh
c3MgU1ZHRGVzY0VsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHRWxlbWVudCB7CiAgICAgV1RGX01B
S0VfSVNPX0FMTE9DQVRFRChTVkdEZXNjRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdp
c3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdEZXNjRWxlbWVudCwgU1ZHRWxlbWVu
dD47CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR0Rlc2NFbGVtZW50PiBjcmVhdGUoY29u
c3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKQEAgLTM0LDcgKzM2LDEwIEBAIHB1Ymxp
YzoKIHByaXZhdGU6CiAgICAgU1ZHRGVzY0VsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERv
Y3VtZW50Jik7CiAKKyAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lz
dHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9CiAgICAgYm9v
bCByZW5kZXJlcklzTmVlZGVkKGNvbnN0IFJlbmRlclN0eWxlJikgZmluYWwgeyByZXR1cm4gZmFs
c2U7IH0KKworICAgIFByb3BlcnR5UmVnaXN0cnkgbV9wcm9wZXJ0eVJlZ2lzdHJ5IHsgKnRoaXMg
fTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNw
cAppbmRleCBjYzViNmZkMjVlODViN2Y5Y2E5ZWNhMmUxYWVhZDRlZjQ1OGY2MTg5Li45ZDRjYjg3
MjM5ODUzNDYxODk2NTg3ZDFkNGRkMmU0MGU0NWNhNzI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1l
bnQuY3BwCkBAIC0yMzgsMTcgKzIzOCwzMSBAQCB2b2lkIFNWR0VsZW1lbnQ6OnJlcG9ydEF0dHJp
YnV0ZVBhcnNpbmdFcnJvcihTVkdQYXJzaW5nRXJyb3IgZXJyb3IsIGNvbnN0IFF1YWxpZgogICAg
IFN0cmluZyBlcnJvclN0cmluZyA9ICI8IiArIHRhZ05hbWUoKSArICI+IGF0dHJpYnV0ZSAiICsg
bmFtZS50b1N0cmluZygpICsgIj1cIiIgKyB2YWx1ZSArICJcIiI7CiAgICAgU1ZHRG9jdW1lbnRF
eHRlbnNpb25zJiBleHRlbnNpb25zID0gZG9jdW1lbnQoKS5hY2Nlc3NTVkdFeHRlbnNpb25zKCk7
CiAKLSAgICBpZiAoZXJyb3IgPT0gTmVnYXRpdmVWYWx1ZUZvcmJpZGRlbkVycm9yKSB7CisgICAg
c3dpdGNoIChlcnJvcikgeworICAgIGNhc2UgTm9FcnJvcjoKKyAgICAgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7CisgICAgICAgIGJyZWFrOworCisgICAgY2FzZSBVbmV4cGVjdGVkRW5kT2ZBdHRy
aWJ1dGVFcnJvcjoKKyAgICAgICAgZXh0ZW5zaW9ucy5yZXBvcnRFcnJvcigiVW5leHBlY3RlZCBl
bmQgb2YgYXR0cmlidXRlIGZvciAiICsgZXJyb3JTdHJpbmcpOworICAgICAgICBicmVhazsKKwor
ICAgIGNhc2UgWmVyb1ZhbHVlRm9yYmlkZGVuRXJyb3I6CisgICAgICAgIGV4dGVuc2lvbnMucmVw
b3J0RXJyb3IoIkludmFsaWQgemVybyB2YWx1ZSBmb3IgIiArIGVycm9yU3RyaW5nKTsKKyAgICAg
ICAgYnJlYWs7CisKKyAgICBjYXNlIE5lZ2F0aXZlVmFsdWVGb3JiaWRkZW5FcnJvcjoKICAgICAg
ICAgZXh0ZW5zaW9ucy5yZXBvcnRFcnJvcigiSW52YWxpZCBuZWdhdGl2ZSB2YWx1ZSBmb3IgIiAr
IGVycm9yU3RyaW5nKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KKyAgICAgICAgYnJlYWs7CisK
KyAgICBjYXNlIFVucmVjb2duaXplZEVudW1WYWx1ZUVycm9yOgorICAgICAgICBleHRlbnNpb25z
LnJlcG9ydEVycm9yKCJVbnJlY29nbml6ZWQgZW51bWVyYXRlZCB2YWx1ZSBmb3IgIiArIGVycm9y
U3RyaW5nKTsKKyAgICAgICAgYnJlYWs7CiAKLSAgICBpZiAoZXJyb3IgPT0gUGFyc2luZ0F0dHJp
YnV0ZUZhaWxlZEVycm9yKSB7CisgICAgY2FzZSBQYXJzaW5nQXR0cmlidXRlRmFpbGVkRXJyb3I6
CiAgICAgICAgIGV4dGVuc2lvbnMucmVwb3J0RXJyb3IoIkludmFsaWQgdmFsdWUgZm9yICIgKyBl
cnJvclN0cmluZyk7Ci0gICAgICAgIHJldHVybjsKKyAgICAgICAgYnJlYWs7CiAgICAgfQotCi0g
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CiAKIHZvaWQgU1ZHRWxlbWVudDo6cmVtb3ZlZEZy
b21BbmNlc3RvcihSZW1vdmFsVHlwZSByZW1vdmFsVHlwZSwgQ29udGFpbmVyTm9kZSYgb2xkUGFy
ZW50T2ZSZW1vdmVkVHJlZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVt
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5oCmluZGV4IGI0YTcwMWQxZWQ4
MmE5NDQ5MDZmZWM3NTU4OTdiNjI1ZjhiZjcxNzAuLmJkMDRiOTNiZDk1NTk3NGU1MGMxNzcxMjE2
YmJiNzMxMjQyNDhiNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuaApAQCAtNDksNyArNDksMTAg
QEAgdm9pZCBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KEhhc2hNYXA8QXRvbWljU3RyaW5nSW1w
bCosIENTU1Byb3BlcnR5SUQ+KiBwcm9wZXIKIAogY2xhc3MgU1ZHRWxlbWVudCA6IHB1YmxpYyBT
dHlsZWRFbGVtZW50LCBwdWJsaWMgU1ZHTGFuZ1NwYWNlLCBwdWJsaWMgU1ZHUHJvcGVydHlPd25l
ciB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdFbGVtZW50KTsKKwogcHVibGljOgor
ICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZH
RWxlbWVudD47CisKICAgICBib29sIGlzT3V0ZXJtb3N0U1ZHU1ZHRWxlbWVudCgpIGNvbnN0Owog
CiAgICAgU1ZHU1ZHRWxlbWVudCogb3duZXJTVkdFbGVtZW50KCkgY29uc3Q7CkBAIC0xMjYsOCAr
MTI5LDcgQEAgcHVibGljOgogICAgIGNsYXNzIEluc3RhbmNlVXBkYXRlQmxvY2tlcjsKICAgICBj
bGFzcyBJbnN0YW5jZUludmFsaWRhdGlvbkd1YXJkOwogCi0gICAgdXNpbmcgUHJvcGVydHlSZWdp
c3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdFbGVtZW50PjsKLSAgICB2aXJ0dWFs
IGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCB7IHJl
dHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KKyAgICB2aXJ0dWFsIGNvbnN0IFNWR1Byb3BlcnR5
UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCA9IDA7CiAgICAgdm9pZCBkZXRhY2hB
bGxQcm9wZXJ0aWVzKCkgeyBwcm9wZXJ0eVJlZ2lzdHJ5KCkuZGV0YWNoQWxsUHJvcGVydGllcygp
OyB9CiAKICAgICBib29sIGlzQW5pbWF0ZWRQcm9wZXJ0eUF0dHJpYnV0ZShjb25zdCBRdWFsaWZp
ZWROYW1lJikgY29uc3Q7CkBAIC0yMDAsNyArMjAyLDYgQEAgcHJpdmF0ZToKIAogICAgIHN0ZDo6
dW5pcXVlX3B0cjxTVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeT4gbV9wcm9wZXJ0eUFuaW1hdG9y
RmFjdG9yeTsKIAotICAgIFByb3BlcnR5UmVnaXN0cnkgbV9wcm9wZXJ0eVJlZ2lzdHJ5IHsgKnRo
aXMgfTsKICAgICBSZWY8U1ZHQW5pbWF0ZWRTdHJpbmc+IG1fY2xhc3NOYW1lIHsgU1ZHQW5pbWF0
ZWRTdHJpbmc6OmNyZWF0ZSh0aGlzKSB9OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0VsbGlwc2VFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxsaXBz
ZUVsZW1lbnQuaAppbmRleCAwZmRjYTM3NjdjNGJiMjNmYzYyMjQ2Nzc3ZGM4M2E4OTExN2U5ODg2
Li5lM2IxZWExODdlZWUyOGI1ZTlhMWZkOGY3OGQxNjMwYjRlZWQ4ZjFjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxsaXBzZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHRWxsaXBzZUVsZW1lbnQuaApAQCAtMjksNiArMjksOCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIGNsYXNzIFNWR0VsbGlwc2VFbGVtZW50IGZpbmFsIDogcHVibGljIFNWR0dlb21l
dHJ5RWxlbWVudCwgcHVibGljIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQgewogICAgIFdU
Rl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHRWxsaXBzZUVsZW1lbnQpOworICAgIHVzaW5nIFByb3Bl
cnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHRWxsaXBzZUVsZW1lbnQs
IFNWR0dlb21ldHJ5RWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZD47CisKIHB1
YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR0VsbGlwc2VFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVh
bGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKQEAgLTQ1LDkgKzQ3LDcgQEAgcHVibGljOgogcHJp
dmF0ZToKICAgICBTVkdFbGxpcHNlRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1l
bnQmKTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVn
aXN0cnk8U1ZHRWxsaXBzZUVsZW1lbnQsIFNWR0dlb21ldHJ5RWxlbWVudCwgU1ZHRXh0ZXJuYWxS
ZXNvdXJjZXNSZXF1aXJlZD47CiAgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVy
dHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQot
CiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRv
bWljU3RyaW5nJikgZmluYWw7CiAgICAgdm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1
YWxpZmllZE5hbWUmKSBmaW5hbDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFeHRl
cm5hbFJlc291cmNlc1JlcXVpcmVkLmgKaW5kZXggOTkxOWFmNmQxZmEwN2M1ZGM1NTliYzcwODgx
MGZhZjQ0NGVhZWEzMC4uNDFlYmU5Yzk5NzNiMjBkMDUwYmRmNDBkNGNjYmZmZDg5YWE2OWFkYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWly
ZWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJl
ZC5oCkBAIC0zNiw3ICszNiwxMCBAQCBjbGFzcyBTVkdFbGVtZW50OwogLy8gRklYTUU6IFdoZW4g
aW1wbGVtZW50aW5nIGFuaW1WYWwgc3VwcG9ydCwgbWFrZSBzdXJlIHRoYXQgYW5pbVZhbD09YmFz
ZVZhbCBmb3IgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZAogY2xhc3MgU1ZHRXh0ZXJuYWxSZXNv
dXJjZXNSZXF1aXJlZCB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHRXh0ZXJuYWxSZXNv
dXJjZXNSZXF1aXJlZCk7CisKIHB1YmxpYzoKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0g
U1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ+Owor
CiAgICAgdmlydHVhbCB+U1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCgpID0gZGVmYXVsdDsK
IAogICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0
b21pY1N0cmluZyYpOwpAQCAtNDQsOCArNDcsNiBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgdm9p
ZCBhZGRTdXBwb3J0ZWRBdHRyaWJ1dGVzKEhhc2hTZXQ8UXVhbGlmaWVkTmFtZT4mKTsKIAotICAg
IHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHRXh0
ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZD47Ci0KICAgICBib29sIGV4dGVybmFsUmVzb3VyY2VzUmVx
dWlyZWQoKSBjb25zdCB7IHJldHVybiBtX2V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQtPmN1cnJl
bnRWYWx1ZSgpOyB9CiAgICAgU1ZHQW5pbWF0ZWRCb29sZWFuJiBleHRlcm5hbFJlc291cmNlc1Jl
cXVpcmVkQW5pbWF0ZWQoKSB7IHJldHVybiBtX2V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ7IH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQmxlbmRFbGVtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVCbGVuZEVsZW1lbnQuaAppbmRleCBhOWM5OGU0Mjc2NjRi
MmUxM2MxNjcwNzhmMWYwZGM3Y2Q1MDIzMGJhLi5kMTU1Y2E1ZmQ4YzJlYzkwY2ViMDNmNjhlMGE4
N2ZkZGJjY2FlZjQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVCbGVuZEVs
ZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVCbGVuZEVsZW1lbnQuaApAQCAt
MjcsMjggKzI3LDEwIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotdGVtcGxhdGU8Pgotc3Ry
dWN0IFNWR1Byb3BlcnR5VHJhaXRzPEJsZW5kTW9kZT4gewotICAgIHN0YXRpYyB1bnNpZ25lZCBo
aWdoZXN0RW51bVZhbHVlKCkgeyByZXR1cm4gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEJsZW5kTW9k
ZTo6THVtaW5vc2l0eSk7IH0KLQotICAgIHN0YXRpYyBCbGVuZE1vZGUgZnJvbVN0cmluZyhjb25z
dCBTdHJpbmcmIHN0cmluZykKLSAgICB7Ci0gICAgICAgIEJsZW5kTW9kZSBtb2RlID0gQmxlbmRN
b2RlOjpOb3JtYWw7Ci0gICAgICAgIHBhcnNlQmxlbmRNb2RlKHN0cmluZywgbW9kZSk7Ci0gICAg
ICAgIHJldHVybiBtb2RlOwotICAgIH0KLQotICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoQmxl
bmRNb2RlIHR5cGUpCi0gICAgewotICAgICAgICBpZiAodHlwZSA8IEJsZW5kTW9kZTo6UGx1c0Rh
cmtlcikKLSAgICAgICAgICAgIHJldHVybiBibGVuZE1vZGVOYW1lKHR5cGUpOwotCi0gICAgICAg
IHJldHVybiBlbXB0eVN0cmluZygpOwotICAgIH0KLX07Ci0KIGNsYXNzIFNWR0ZFQmxlbmRFbGVt
ZW50IGZpbmFsIDogcHVibGljIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcyB7
CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdGRUJsZW5kRWxlbWVudCk7CisgICAgdXNp
bmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdGRUJsZW5k
RWxlbWVudCwgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzPjsKKwogcHVibGlj
OgogICAgIHN0YXRpYyBSZWY8U1ZHRkVCbGVuZEVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZp
ZWROYW1lJiwgRG9jdW1lbnQmKTsKIApAQCAtNjMsOSArNDUsNyBAQCBwdWJsaWM6CiBwcml2YXRl
OgogICAgIFNWR0ZFQmxlbmRFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYp
OwogCi0gICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3Ry
eTxTVkdGRUJsZW5kRWxlbWVudCwgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVz
PjsKICAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29u
c3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9Ci0KICAgICB2b2lkIHBhcnNl
QXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKSBvdmVy
cmlkZTsKICAgICB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYp
IG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVDb2xvck1h
dHJpeEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUNvbG9yTWF0cml4RWxlbWVu
dC5oCmluZGV4IDNlZjI0Yzk0MjI0ODY4ZGE3N2QwZTgwYmNkZjBjNzQ2NTM5M2YyM2UuLjA2NGQz
OTA5NjM0OTdhNTViOWEyYThmMDJkNzU5OWE0ODA5NjJkYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdGRUNvbG9yTWF0cml4RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdGRUNvbG9yTWF0cml4RWxlbWVudC5oCkBAIC0yNiw0NSArMjYsMTAgQEAKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi10ZW1wbGF0ZTw+Ci1zdHJ1Y3QgU1ZHUHJvcGVydHlUcmFpdHM8
Q29sb3JNYXRyaXhUeXBlPiB7Ci0gICAgc3RhdGljIHVuc2lnbmVkIGhpZ2hlc3RFbnVtVmFsdWUo
KSB7IHJldHVybiBGRUNPTE9STUFUUklYX1RZUEVfTFVNSU5BTkNFVE9BTFBIQTsgfQotCi0gICAg
c3RhdGljIFN0cmluZyB0b1N0cmluZyhDb2xvck1hdHJpeFR5cGUgdHlwZSkKLSAgICB7Ci0gICAg
ICAgIHN3aXRjaCAodHlwZSkgewotICAgICAgICBjYXNlIEZFQ09MT1JNQVRSSVhfVFlQRV9VTktO
T1dOOgotICAgICAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7Ci0gICAgICAgIGNhc2UgRkVD
T0xPUk1BVFJJWF9UWVBFX01BVFJJWDoKLSAgICAgICAgICAgIHJldHVybiAibWF0cml4Il9zOwot
ICAgICAgICBjYXNlIEZFQ09MT1JNQVRSSVhfVFlQRV9TQVRVUkFURToKLSAgICAgICAgICAgIHJl
dHVybiAic2F0dXJhdGUiX3M7Ci0gICAgICAgIGNhc2UgRkVDT0xPUk1BVFJJWF9UWVBFX0hVRVJP
VEFURToKLSAgICAgICAgICAgIHJldHVybiAiaHVlUm90YXRlIl9zOwotICAgICAgICBjYXNlIEZF
Q09MT1JNQVRSSVhfVFlQRV9MVU1JTkFOQ0VUT0FMUEhBOgotICAgICAgICAgICAgcmV0dXJuICJs
dW1pbmFuY2VUb0FscGhhIl9zOwotICAgICAgICB9Ci0KLSAgICAgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7Ci0gICAgICAgIHJldHVybiBlbXB0eVN0cmluZygpOwotICAgIH0KLQotICAgIHN0YXRp
YyBDb2xvck1hdHJpeFR5cGUgZnJvbVN0cmluZyhjb25zdCBTdHJpbmcmIHZhbHVlKQotICAgIHsK
LSAgICAgICAgaWYgKHZhbHVlID09ICJtYXRyaXgiKQotICAgICAgICAgICAgcmV0dXJuIEZFQ09M
T1JNQVRSSVhfVFlQRV9NQVRSSVg7Ci0gICAgICAgIGlmICh2YWx1ZSA9PSAic2F0dXJhdGUiKQot
ICAgICAgICAgICAgcmV0dXJuIEZFQ09MT1JNQVRSSVhfVFlQRV9TQVRVUkFURTsKLSAgICAgICAg
aWYgKHZhbHVlID09ICJodWVSb3RhdGUiKQotICAgICAgICAgICAgcmV0dXJuIEZFQ09MT1JNQVRS
SVhfVFlQRV9IVUVST1RBVEU7Ci0gICAgICAgIGlmICh2YWx1ZSA9PSAibHVtaW5hbmNlVG9BbHBo
YSIpCi0gICAgICAgICAgICByZXR1cm4gRkVDT0xPUk1BVFJJWF9UWVBFX0xVTUlOQU5DRVRPQUxQ
SEE7Ci0gICAgICAgIHJldHVybiBGRUNPTE9STUFUUklYX1RZUEVfVU5LTk9XTjsKLSAgICB9Ci19
OwotCiBjbGFzcyBTVkdGRUNvbG9yTWF0cml4RWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdGaWx0
ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FU
RUQoU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQpOworICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkg
PSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQsIFNWR0Zp
bHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcz47CisKIHB1YmxpYzoKICAgICBzdGF0aWMg
UmVmPFNWR0ZFQ29sb3JNYXRyaXhFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYs
IERvY3VtZW50Jik7CiAKQEAgLTc5LDkgKzQ0LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBT
VkdGRUNvbG9yTWF0cml4RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsK
IAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8
U1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQsIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmli
dXRlcz47CiAgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgp
IGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQotCiAgICAgdm9pZCBw
YXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJikg
b3ZlcnJpZGU7CiAgICAgdm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5h
bWUmKSBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQ29t
cG9uZW50VHJhbnNmZXJFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVDb21wb25l
bnRUcmFuc2ZlckVsZW1lbnQuaAppbmRleCA1MjYyMTZlNTYwMTZmYWI1MjI0YWFiZTkxMzIwNjRj
ZGIwM2FkMGJiLi5kMTc1YmExYjgzOTFlZjE4ZTU2NmE4YTFkMzMxNjQ1ZTRiM2IyMmYxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVDb21wb25lbnRUcmFuc2ZlckVsZW1lbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVDb21wb25lbnRUcmFuc2ZlckVsZW1lbnQu
aApAQCAtMjgsNiArMjgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNWR0ZFQ29t
cG9uZW50VHJhbnNmZXJFbGVtZW50IGZpbmFsIDogcHVibGljIFNWR0ZpbHRlclByaW1pdGl2ZVN0
YW5kYXJkQXR0cmlidXRlcyB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdGRUNvbXBv
bmVudFRyYW5zZmVyRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1By
b3BlcnR5T3duZXJSZWdpc3RyeTxTVkdGRUNvbXBvbmVudFRyYW5zZmVyRWxlbWVudCwgU1ZHRmls
dGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzPjsKKwogcHVibGljOgogICAgIHN0YXRpYyBS
ZWY8U1ZHRkVDb21wb25lbnRUcmFuc2ZlckVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWRO
YW1lJiwgRG9jdW1lbnQmKTsKIApAQCAtMzcsOSArMzksNyBAQCBwdWJsaWM6CiBwcml2YXRlOgog
ICAgIFNWR0ZFQ29tcG9uZW50VHJhbnNmZXJFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBE
b2N1bWVudCYpOwogCi0gICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3du
ZXJSZWdpc3RyeTxTVkdGRUNvbXBvbmVudFRyYW5zZmVyRWxlbWVudCwgU1ZHRmlsdGVyUHJpbWl0
aXZlU3RhbmRhcmRBdHRyaWJ1dGVzPjsKICAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBw
cm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5
OyB9Ci0KICAgICAvLyBGSVhNRTogc3ZnQXR0cmlidXRlQ2hhbmdlZCBtaXNzaW5nLgogICAgIHZv
aWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmlu
ZyYpIG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVDb21w
b3NpdGVFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVDb21wb3NpdGVFbGVtZW50
LmgKaW5kZXggYTMzYzk4MmIzNDk1ZTNhYmZkNGYxODc1NmFhMTEwMjk5ZmM5YzJjNS4uNDdkNzM5
MTFiZDAxNDIzYTYzOTBiZTUxODg1MzM2Y2E3Nzg2YzRmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0ZFQ29tcG9zaXRlRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdGRUNvbXBvc2l0ZUVsZW1lbnQuaApAQCAtMjYsNjAgKzI2LDEwIEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotdGVtcGxhdGU8PgotaW5saW5lIHVuc2lnbmVkIFNWR0lETEVudW1MaW1p
dHM8Q29tcG9zaXRlT3BlcmF0aW9uVHlwZT46OmhpZ2hlc3RFeHBvc2VkRW51bVZhbHVlKCkgeyBy
ZXR1cm4gRkVDT01QT1NJVEVfT1BFUkFUT1JfQVJJVEhNRVRJQzsgfQotCi10ZW1wbGF0ZTw+Ci1z
dHJ1Y3QgU1ZHUHJvcGVydHlUcmFpdHM8Q29tcG9zaXRlT3BlcmF0aW9uVHlwZT4gewotICAgIHN0
YXRpYyB1bnNpZ25lZCBoaWdoZXN0RW51bVZhbHVlKCkgeyByZXR1cm4gRkVDT01QT1NJVEVfT1BF
UkFUT1JfTElHSFRFUjsgfQotCi0gICAgc3RhdGljIFN0cmluZyB0b1N0cmluZyhDb21wb3NpdGVP
cGVyYXRpb25UeXBlIHR5cGUpCi0gICAgewotICAgICAgICBzd2l0Y2ggKHR5cGUpIHsKLSAgICAg
ICAgY2FzZSBGRUNPTVBPU0lURV9PUEVSQVRPUl9VTktOT1dOOgotICAgICAgICAgICAgcmV0dXJu
IGVtcHR5U3RyaW5nKCk7Ci0gICAgICAgIGNhc2UgRkVDT01QT1NJVEVfT1BFUkFUT1JfT1ZFUjoK
LSAgICAgICAgICAgIHJldHVybiAib3ZlciJfczsKLSAgICAgICAgY2FzZSBGRUNPTVBPU0lURV9P
UEVSQVRPUl9JTjoKLSAgICAgICAgICAgIHJldHVybiAiaW4iX3M7Ci0gICAgICAgIGNhc2UgRkVD
T01QT1NJVEVfT1BFUkFUT1JfT1VUOgotICAgICAgICAgICAgcmV0dXJuICJvdXQiX3M7Ci0gICAg
ICAgIGNhc2UgRkVDT01QT1NJVEVfT1BFUkFUT1JfQVRPUDoKLSAgICAgICAgICAgIHJldHVybiAi
YXRvcCJfczsKLSAgICAgICAgY2FzZSBGRUNPTVBPU0lURV9PUEVSQVRPUl9YT1I6Ci0gICAgICAg
ICAgICByZXR1cm4gInhvciJfczsKLSAgICAgICAgY2FzZSBGRUNPTVBPU0lURV9PUEVSQVRPUl9B
UklUSE1FVElDOgotICAgICAgICAgICAgcmV0dXJuICJhcml0aG1ldGljIl9zOwotICAgICAgICBj
YXNlIEZFQ09NUE9TSVRFX09QRVJBVE9SX0xJR0hURVI6Ci0gICAgICAgICAgICByZXR1cm4gImxp
Z2h0ZXIiX3M7Ci0gICAgICAgIH0KLQotICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAg
ICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7Ci0gICAgfQotCi0gICAgc3RhdGljIENvbXBvc2l0
ZU9wZXJhdGlvblR5cGUgZnJvbVN0cmluZyhjb25zdCBTdHJpbmcmIHZhbHVlKQotICAgIHsKLSAg
ICAgICAgaWYgKHZhbHVlID09ICJvdmVyIikKLSAgICAgICAgICAgIHJldHVybiBGRUNPTVBPU0lU
RV9PUEVSQVRPUl9PVkVSOwotICAgICAgICBpZiAodmFsdWUgPT0gImluIikKLSAgICAgICAgICAg
IHJldHVybiBGRUNPTVBPU0lURV9PUEVSQVRPUl9JTjsKLSAgICAgICAgaWYgKHZhbHVlID09ICJv
dXQiKQotICAgICAgICAgICAgcmV0dXJuIEZFQ09NUE9TSVRFX09QRVJBVE9SX09VVDsKLSAgICAg
ICAgaWYgKHZhbHVlID09ICJhdG9wIikKLSAgICAgICAgICAgIHJldHVybiBGRUNPTVBPU0lURV9P
UEVSQVRPUl9BVE9QOwotICAgICAgICBpZiAodmFsdWUgPT0gInhvciIpCi0gICAgICAgICAgICBy
ZXR1cm4gRkVDT01QT1NJVEVfT1BFUkFUT1JfWE9SOwotICAgICAgICBpZiAodmFsdWUgPT0gImFy
aXRobWV0aWMiKQotICAgICAgICAgICAgcmV0dXJuIEZFQ09NUE9TSVRFX09QRVJBVE9SX0FSSVRI
TUVUSUM7Ci0gICAgICAgIGlmICh2YWx1ZSA9PSAibGlnaHRlciIpCi0gICAgICAgICAgICByZXR1
cm4gRkVDT01QT1NJVEVfT1BFUkFUT1JfTElHSFRFUjsKLSAgICAgICAgcmV0dXJuIEZFQ09NUE9T
SVRFX09QRVJBVE9SX1VOS05PV047Ci0gICAgfQotfTsKLQogY2xhc3MgU1ZHRkVDb21wb3NpdGVF
bGVtZW50IGZpbmFsIDogcHVibGljIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRl
cyB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdGRUNvbXBvc2l0ZUVsZW1lbnQpOwor
ICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZH
RkVDb21wb3NpdGVFbGVtZW50LCBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXM+
OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdGRUNvbXBvc2l0ZUVsZW1lbnQ+IGNyZWF0
ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIApAQCAtMTAyLDkgKzUyLDcgQEAg
cHVibGljOgogcHJpdmF0ZToKICAgICBTVkdGRUNvbXBvc2l0ZUVsZW1lbnQoY29uc3QgUXVhbGlm
aWVkTmFtZSYsIERvY3VtZW50Jik7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZH
UHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0ZFQ29tcG9zaXRlRWxlbWVudCwgU1ZHRmlsdGVyUHJp
bWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzPjsKICAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5
JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lz
dHJ5OyB9Ci0KICAgICB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBj
b25zdCBBdG9taWNTdHJpbmcmKSBvdmVycmlkZTsKICAgICB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5n
ZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYpIG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVudC5oCmluZGV4IGNlYTExMjNmYWE5MThkNWYx
ZjE1ZDJkNDMzZWMwMTFmNzAyMTEwMDIuLjIxODFkZGViZGFiM2Q1OTg3ZjY3ODgyOWUyOGM4MTY4
Yzc5ODg2N2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUNvbnZvbHZlTWF0
cml4RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUNvbnZvbHZlTWF0cml4
RWxlbWVudC5oCkBAIC0yNSw0MiArMjUsMTAgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi10
ZW1wbGF0ZTw+Ci1zdHJ1Y3QgU1ZHUHJvcGVydHlUcmFpdHM8RWRnZU1vZGVUeXBlPiB7Ci0gICAg
c3RhdGljIHVuc2lnbmVkIGhpZ2hlc3RFbnVtVmFsdWUoKSB7IHJldHVybiBFREdFTU9ERV9OT05F
OyB9Ci0gICAgc3RhdGljIEVkZ2VNb2RlVHlwZSBpbml0aWFsVmFsdWUoKSB7IHJldHVybiBFREdF
TU9ERV9OT05FOyB9Ci0KLSAgICBzdGF0aWMgU3RyaW5nIHRvU3RyaW5nKEVkZ2VNb2RlVHlwZSB0
eXBlKQotICAgIHsKLSAgICAgICAgc3dpdGNoICh0eXBlKSB7Ci0gICAgICAgIGNhc2UgRURHRU1P
REVfVU5LTk9XTjoKLSAgICAgICAgICAgIHJldHVybiBlbXB0eVN0cmluZygpOwotICAgICAgICBj
YXNlIEVER0VNT0RFX0RVUExJQ0FURToKLSAgICAgICAgICAgIHJldHVybiAiZHVwbGljYXRlIl9z
OwotICAgICAgICBjYXNlIEVER0VNT0RFX1dSQVA6Ci0gICAgICAgICAgICByZXR1cm4gIndyYXAi
X3M7Ci0gICAgICAgIGNhc2UgRURHRU1PREVfTk9ORToKLSAgICAgICAgICAgIHJldHVybiAibm9u
ZSJfczsKLSAgICAgICAgfQotCi0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAg
ICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKLSAgICB9Ci0KLSAgICBzdGF0aWMgRWRnZU1vZGVUeXBl
IGZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiB2YWx1ZSkKLSAgICB7Ci0gICAgICAgIGlmICh2YWx1
ZSA9PSAiZHVwbGljYXRlIikKLSAgICAgICAgICAgIHJldHVybiBFREdFTU9ERV9EVVBMSUNBVEU7
Ci0gICAgICAgIGlmICh2YWx1ZSA9PSAid3JhcCIpCi0gICAgICAgICAgICByZXR1cm4gRURHRU1P
REVfV1JBUDsKLSAgICAgICAgaWYgKHZhbHVlID09ICJub25lIikKLSAgICAgICAgICAgIHJldHVy
biBFREdFTU9ERV9OT05FOwotICAgICAgICByZXR1cm4gRURHRU1PREVfVU5LTk9XTjsKLSAgICB9
Ci19OwotCiBjbGFzcyBTVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVudCBmaW5hbCA6IHB1YmxpYyBT
VkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMgewogICAgIFdURl9NQUtFX0lTT19B
TExPQ0FURUQoU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQpOworICAgIHVzaW5nIFByb3BlcnR5
UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHRkVDb252b2x2ZU1hdHJpeEVs
ZW1lbnQsIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcz47CisKIHB1YmxpYzoK
ICAgICBzdGF0aWMgUmVmPFNWR0ZFQ29udm9sdmVNYXRyaXhFbGVtZW50PiBjcmVhdGUoY29uc3Qg
UXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKQEAgLTk2LDkgKzY0LDcgQEAgcHVibGljOgog
cHJpdmF0ZToKICAgICBTVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVudChjb25zdCBRdWFsaWZpZWRO
YW1lJiwgRG9jdW1lbnQmKTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9w
ZXJ0eU93bmVyUmVnaXN0cnk8U1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQsIFNWR0ZpbHRlclBy
aW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcz47CiAgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3Ry
eSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdp
c3RyeTsgfQotCiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwg
Y29uc3QgQXRvbWljU3RyaW5nJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBzdmdBdHRyaWJ1dGVDaGFu
Z2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudC5oIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudC5oCmluZGV4IDhkNzk1OTkwY2YyM2Uw
YzQxNDkyMGUyZjE3YjFjY2U3ODRjN2YxMzUuLjRiODFiMTY2ZjdkZDdlZWQ3OTliYjQxNGIyNWI5
NjE0ZTA4ODNlZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRURpZmZ1c2VM
aWdodGluZ0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVEaWZmdXNlTGln
aHRpbmdFbGVtZW50LmgKQEAgLTMyLDYgKzMyLDggQEAgY2xhc3MgU1ZHQ29sb3I7CiAKIGNsYXNz
IFNWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdGaWx0ZXJQcmlt
aXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZH
RkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0g
U1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudCwgU1ZH
RmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzPjsKKwogcHVibGljOgogICAgIHN0YXRp
YyBSZWY8U1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVk
TmFtZSYsIERvY3VtZW50Jik7CiAgICAgdm9pZCBsaWdodEVsZW1lbnRBdHRyaWJ1dGVDaGFuZ2Vk
KGNvbnN0IFNWR0ZFTGlnaHRFbGVtZW50KiwgY29uc3QgUXVhbGlmaWVkTmFtZSYpOwpAQCAtNTEs
OSArNTMsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFNWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxl
bWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAotICAgIHVzaW5nIFByb3Bl
cnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHRkVEaWZmdXNlTGlnaHRp
bmdFbGVtZW50LCBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXM+OwogICAgIGNv
bnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7
IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KLSAgICAKICAgICB2b2lkIHBhcnNlQXR0cmli
dXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKSBvdmVycmlkZTsK
ICAgICB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYpIG92ZXJy
aWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVEaXNwbGFjZW1lbnRN
YXBFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVt
ZW50LmgKaW5kZXggNDIyZjBjZjdlYTk1MDU0MjdiMDdiZjBhZWZmZmIzYjg0NDQxOTdmYS4uOWRl
ODVkYTM0MDA0ODM2ODQxMTZmOTM1ODdkNjA0MzU0YzJlMDBlMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQuaApAQCAtMjUsNDUgKzI1LDEw
IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAKLXRlbXBsYXRlPD4KLXN0cnVjdCBTVkdQcm9w
ZXJ0eVRyYWl0czxDaGFubmVsU2VsZWN0b3JUeXBlPiB7Ci0gICAgc3RhdGljIHVuc2lnbmVkIGhp
Z2hlc3RFbnVtVmFsdWUoKSB7IHJldHVybiBDSEFOTkVMX0E7IH0KLQotICAgIHN0YXRpYyBTdHJp
bmcgdG9TdHJpbmcoQ2hhbm5lbFNlbGVjdG9yVHlwZSB0eXBlKQotICAgIHsKLSAgICAgICAgc3dp
dGNoICh0eXBlKSB7Ci0gICAgICAgIGNhc2UgQ0hBTk5FTF9VTktOT1dOOgotICAgICAgICAgICAg
cmV0dXJuIGVtcHR5U3RyaW5nKCk7Ci0gICAgICAgIGNhc2UgQ0hBTk5FTF9SOgotICAgICAgICAg
ICAgcmV0dXJuICJSIl9zOwotICAgICAgICBjYXNlIENIQU5ORUxfRzoKLSAgICAgICAgICAgIHJl
dHVybiAiRyJfczsKLSAgICAgICAgY2FzZSBDSEFOTkVMX0I6Ci0gICAgICAgICAgICByZXR1cm4g
IkIiX3M7Ci0gICAgICAgIGNhc2UgQ0hBTk5FTF9BOgotICAgICAgICAgICAgcmV0dXJuICJBIl9z
OwotICAgICAgICB9Ci0KLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIHJl
dHVybiBlbXB0eVN0cmluZygpOwotICAgIH0KLQotICAgIHN0YXRpYyBDaGFubmVsU2VsZWN0b3JU
eXBlIGZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiB2YWx1ZSkKLSAgICB7Ci0gICAgICAgIGlmICh2
YWx1ZSA9PSAiUiIpCi0gICAgICAgICAgICByZXR1cm4gQ0hBTk5FTF9SOwotICAgICAgICBpZiAo
dmFsdWUgPT0gIkciKQotICAgICAgICAgICAgcmV0dXJuIENIQU5ORUxfRzsKLSAgICAgICAgaWYg
KHZhbHVlID09ICJCIikKLSAgICAgICAgICAgIHJldHVybiBDSEFOTkVMX0I7Ci0gICAgICAgIGlm
ICh2YWx1ZSA9PSAiQSIpCi0gICAgICAgICAgICByZXR1cm4gQ0hBTk5FTF9BOwotICAgICAgICBy
ZXR1cm4gQ0hBTk5FTF9VTktOT1dOOwotICAgIH0KLX07Ci0KIGNsYXNzIFNWR0ZFRGlzcGxhY2Vt
ZW50TWFwRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0
dHJpYnV0ZXMgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHRkVEaXNwbGFjZW1lbnRN
YXBFbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25l
clJlZ2lzdHJ5PFNWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudCwgU1ZHRmlsdGVyUHJpbWl0aXZl
U3RhbmRhcmRBdHRyaWJ1dGVzPjsKKwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8U1ZHRkVEaXNw
bGFjZW1lbnRNYXBFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50
Jik7CiAKQEAgLTg0LDkgKzQ5LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBTVkdGRURpc3Bs
YWNlbWVudE1hcEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQm
KTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0
cnk8U1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50LCBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFy
ZEF0dHJpYnV0ZXM+OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVn
aXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KLQogICAg
IHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0
cmluZyYpIG92ZXJyaWRlOwogICAgIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFs
aWZpZWROYW1lJikgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdGRURyb3BTaGFkb3dFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVEcm9wU2hh
ZG93RWxlbWVudC5oCmluZGV4IDA2MWNjYTJiZWQ5NmMxYWFiMDUzNGQ3YTA5MTNjMzE0Y2UxYmU1
ZjQuLjYwMDYxYjJlNGI4NTRhODgyYmYyMzRmMzZkNmU1NzM4Yzc3ZTViY2MgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRURyb3BTaGFkb3dFbGVtZW50LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0ZFRHJvcFNoYWRvd0VsZW1lbnQuaApAQCAtMjcsNiArMjcsOCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNWR0ZFRHJvcFNoYWRvd0VsZW1lbnQgZmluYWwg
OiBwdWJsaWMgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzIHsKICAgICBXVEZf
TUFLRV9JU09fQUxMT0NBVEVEKFNWR0ZFRHJvcFNoYWRvd0VsZW1lbnQpOworICAgIHVzaW5nIFBy
b3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHRkVEcm9wU2hhZG93
RWxlbWVudCwgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzPjsKKwogcHVibGlj
OgogICAgIHN0YXRpYyBSZWY8U1ZHRkVEcm9wU2hhZG93RWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1
YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogICAgIApAQCAtNDcsOSArNDksNyBAQCBwdWJsaWM6
CiBwcml2YXRlOgogICAgIFNWR0ZFRHJvcFNoYWRvd0VsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFt
ZSYsIERvY3VtZW50Jik7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVy
dHlPd25lclJlZ2lzdHJ5PFNWR0ZFRHJvcFNoYWRvd0VsZW1lbnQsIFNWR0ZpbHRlclByaW1pdGl2
ZVN0YW5kYXJkQXR0cmlidXRlcz47CiAgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJv
cGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsg
fQotCiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3Qg
QXRvbWljU3RyaW5nJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNv
bnN0IFF1YWxpZmllZE5hbWUmKSBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0ZFRmxvb2RFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVGbG9v
ZEVsZW1lbnQuaAppbmRleCBiOTZhNDNhYTMxM2U3NWU0YTMxNjcyNDhhMWI2ZjVjZjUxZmVlOTEx
Li43MGIyM2VkMmI1OWY1YmY3Y2QxMDY4YzdjMzkyMDQ5ZGMzZTdiYzhiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVGbG9vZEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHRkVGbG9vZEVsZW1lbnQuaApAQCAtMjYsMTcgKzI2LDE3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogY2xhc3MgU1ZHRkVGbG9vZEVsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHRmls
dGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NB
VEVEKFNWR0ZFRmxvb2RFbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZH
UHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0ZFRmxvb2RFbGVtZW50LCBTVkdGaWx0ZXJQcmltaXRp
dmVTdGFuZGFyZEF0dHJpYnV0ZXM+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdGRUZs
b29kRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCiBw
cml2YXRlOgogICAgIFNWR0ZFRmxvb2RFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1
bWVudCYpOwogCi0gICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJS
ZWdpc3RyeTxTVkdGRUZsb29kRWxlbWVudCwgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRy
aWJ1dGVzPjsKICAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5
KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9Ci0KLSAgICBib29s
IHNldEZpbHRlckVmZmVjdEF0dHJpYnV0ZShGaWx0ZXJFZmZlY3QqLCBjb25zdCBRdWFsaWZpZWRO
YW1lJiBhdHRyTmFtZSkgb3ZlcnJpZGU7Ci0gICAgUmVmUHRyPEZpbHRlckVmZmVjdD4gYnVpbGQo
U1ZHRmlsdGVyQnVpbGRlciosIEZpbHRlciYpIGNvbnN0IG92ZXJyaWRlOworICAgIGJvb2wgc2V0
RmlsdGVyRWZmZWN0QXR0cmlidXRlKEZpbHRlckVmZmVjdCosIGNvbnN0IFF1YWxpZmllZE5hbWUm
IGF0dHJOYW1lKSBmaW5hbDsKKyAgICBSZWZQdHI8RmlsdGVyRWZmZWN0PiBidWlsZChTVkdGaWx0
ZXJCdWlsZGVyKiwgRmlsdGVyJikgY29uc3QgZmluYWw7CiAKICAgICBQcm9wZXJ0eVJlZ2lzdHJ5
IG1fcHJvcGVydHlSZWdpc3RyeSB7ICp0aGlzIH07CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0ZFR2F1c3NpYW5CbHVyRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0ZFR2F1c3NpYW5CbHVyRWxlbWVudC5oCmluZGV4IGIyZDVlODNjZWNkNmRhNDYzYjRhOGMw
NTlmNGYzMGVjMmE0YjUzNjUuLjM2N2QwMWEyNDc1ZmMxMGJhMzI1M2UxMGY5MmQ5ZTYwMzgwYjcw
NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUdhdXNzaWFuQmx1ckVsZW1l
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVHYXVzc2lhbkJsdXJFbGVtZW50LmgK
QEAgLTI5LDYgKzI5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTVkdGRUdhdXNz
aWFuQmx1ckVsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRB
dHRyaWJ1dGVzIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR0ZFR2F1c3NpYW5CbHVy
RWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJS
ZWdpc3RyeTxTVkdGRUdhdXNzaWFuQmx1ckVsZW1lbnQsIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5k
YXJkQXR0cmlidXRlcz47CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR0ZFR2F1c3NpYW5C
bHVyRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCkBA
IC00Nyw5ICs0OSw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgU1ZHRkVHYXVzc2lhbkJsdXJF
bGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCi0gICAgdXNpbmcgUHJv
cGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdGRUdhdXNzaWFuQmx1
ckVsZW1lbnQsIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcz47CiAgICAgY29u
c3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsg
cmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQotCiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShj
b25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJikgb3ZlcnJpZGU7CiAgICAg
dm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBvdmVycmlkZTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFSW1hZ2VFbGVtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVJbWFnZUVsZW1lbnQuaAppbmRleCA3NjI0OTkwYjM1OGFi
NTI3YjRkMTllNTdmOWRjZGNlYmY5ZjUzMTBlLi4xN2E1MGVhMjc4MzIxYzY2ZDUxNTNmMjY3YWE2
MGY5NDNmZGEyOTg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVJbWFnZUVs
ZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVJbWFnZUVsZW1lbnQuaApAQCAt
MzIsNiArMzIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNWR0ZFSW1hZ2VFbGVt
ZW50IGZpbmFsIDogcHVibGljIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcywg
cHVibGljIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIHB1YmxpYyBTVkdVUklSZWZlcmVu
Y2UsIHB1YmxpYyBDYWNoZWRJbWFnZUNsaWVudCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRF
RChTVkdGRUltYWdlRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1By
b3BlcnR5T3duZXJSZWdpc3RyeTxTVkdGRUltYWdlRWxlbWVudCwgU1ZHRmlsdGVyUHJpbWl0aXZl
U3RhbmRhcmRBdHRyaWJ1dGVzLCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBTVkdVUklS
ZWZlcmVuY2U+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdGRUltYWdlRWxlbWVudD4g
Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCkBAIC00NSw5ICs0Nyw3
IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgU1ZHRkVJbWFnZUVsZW1lbnQoY29uc3QgUXVhbGlm
aWVkTmFtZSYsIERvY3VtZW50Jik7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZH
UHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0ZFSW1hZ2VFbGVtZW50LCBTVkdGaWx0ZXJQcmltaXRp
dmVTdGFuZGFyZEF0dHJpYnV0ZXMsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIFNWR1VS
SVJlZmVyZW5jZT47CiAgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdp
c3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQotCiAgICAg
dm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3Ry
aW5nJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxp
ZmllZE5hbWUmKSBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0ZFTGlnaHRFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVMaWdodEVsZW1lbnQu
aAppbmRleCAyNTM0ZDFkN2FjOWQ1NGU4ZDA2NDQ1ZTdhN2UyZjg1YWJkMGI0YzVlLi42ZWJkYzQy
OWNiMGY2YTViMzkzNTY4N2ZmNDRmYzA1ZTU4ODNhZDc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHRkVMaWdodEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
RkVMaWdodEVsZW1lbnQuaApAQCAtMzEsNiArMzEsOCBAQCBjbGFzcyBTVkdGaWx0ZXJCdWlsZGVy
OwogCiBjbGFzcyBTVkdGRUxpZ2h0RWxlbWVudCA6IHB1YmxpYyBTVkdFbGVtZW50IHsKICAgICBX
VEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR0ZFTGlnaHRFbGVtZW50KTsKKyAgICB1c2luZyBQcm9w
ZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0ZFTGlnaHRFbGVtZW50
LCBTVkdFbGVtZW50PjsKKwogcHVibGljOgogICAgIHZpcnR1YWwgUmVmPExpZ2h0U291cmNlPiBs
aWdodFNvdXJjZShTVkdGaWx0ZXJCdWlsZGVyJikgY29uc3QgPSAwOwogICAgIHN0YXRpYyBTVkdG
RUxpZ2h0RWxlbWVudCogZmluZExpZ2h0RWxlbWVudChjb25zdCBTVkdFbGVtZW50Kik7CkBAIC02
Myw5ICs2NSw3IEBAIHByb3RlY3RlZDoKICAgICBib29sIHJlbmRlcmVySXNOZWVkZWQoY29uc3Qg
UmVuZGVyU3R5bGUmKSBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQogCiBwcml2YXRlOgotICAg
IHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHRkVM
aWdodEVsZW1lbnQsIFNWR0VsZW1lbnQ+OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkm
IHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0
cnk7IH0KLQogICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNv
bnN0IEF0b21pY1N0cmluZyYpIG92ZXJyaWRlOwogICAgIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdl
ZChjb25zdCBRdWFsaWZpZWROYW1lJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBjaGlsZHJlbkNoYW5n
ZWQoY29uc3QgQ2hpbGRDaGFuZ2UmKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdGRU1lcmdlRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFTWVy
Z2VFbGVtZW50LmgKaW5kZXggNzQ1MDg2ODE2ZjY5NzZjNjY5N2RjNTEwNzU4MDJkMjgzY2Y0ZTNj
Mi4uYWJlYjZjMWIxNzk1NWFlYjhjNjZmOTA5M2M1MDE5ZDg4OGE1YjI1NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFTWVyZ2VFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0ZFTWVyZ2VFbGVtZW50LmgKQEAgLTI2LDE1ICsyNiwxNSBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNsYXNzIFNWR0ZFTWVyZ2VFbGVtZW50IGZpbmFsIDogcHVibGljIFNWR0Zp
bHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcyB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9D
QVRFRChTVkdGRU1lcmdlRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNW
R1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdGRU1lcmdlRWxlbWVudCwgU1ZHRmlsdGVyUHJpbWl0
aXZlU3RhbmRhcmRBdHRyaWJ1dGVzPjsKKwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8U1ZHRkVN
ZXJnZUVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAog
cHJpdmF0ZToKICAgICBTVkdGRU1lcmdlRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9j
dW1lbnQmKTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVy
UmVnaXN0cnk8U1ZHRkVNZXJnZUVsZW1lbnQsIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0
cmlidXRlcz47CiAgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3Ry
eSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQotCiAgICAgUmVm
UHRyPEZpbHRlckVmZmVjdD4gYnVpbGQoU1ZHRmlsdGVyQnVpbGRlciosIEZpbHRlciYpIGNvbnN0
IG92ZXJyaWRlOwogCiAgICAgUHJvcGVydHlSZWdpc3RyeSBtX3Byb3BlcnR5UmVnaXN0cnkgeyAq
dGhpcyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFTWVyZ2VOb2RlRWxl
bWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFTWVyZ2VOb2RlRWxlbWVudC5oCmluZGV4
IDhkYTkyMzYxNDA4YTIzYjg4ZjFhNmFmMDRiN2E1MzJiMmE5Y2IwNzAuLmIxM2RmZTA4NzhjZjVh
ZDYzOTU1ZWVmZDI4MDNiMzllMjQyMWIxMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdGRU1lcmdlTm9kZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVN
ZXJnZU5vZGVFbGVtZW50LmgKQEAgLTI3LDYgKzI3LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBjbGFzcyBTVkdGRU1lcmdlTm9kZUVsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHRWxlbWVudCB7
CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdGRU1lcmdlTm9kZUVsZW1lbnQpOworICAg
IHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHRkVN
ZXJnZU5vZGVFbGVtZW50LCBTVkdFbGVtZW50PjsKKwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8
U1ZHRkVNZXJnZU5vZGVFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3Vt
ZW50Jik7CiAKQEAgLTM2LDkgKzM4LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBTVkdGRU1l
cmdlTm9kZUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKLSAgICB1
c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0ZFTWVy
Z2VOb2RlRWxlbWVudCwgU1ZHRWxlbWVudD47CiAgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3Ry
eSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdp
c3RyeTsgfQotCiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwg
Y29uc3QgQXRvbWljU3RyaW5nJikgZmluYWw7CiAgICAgdm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2Vk
KGNvbnN0IFF1YWxpZmllZE5hbWUmKSBmaW5hbDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0ZFTW9ycGhvbG9neUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdG
RU1vcnBob2xvZ3lFbGVtZW50LmgKaW5kZXggOTk5MzM1NTUzNjFhMjA1NDE1NzdiMTEyNDViNDgy
MzliNmQzM2IyZC4uNmMzMmQyYjFhOWViMzJjMWUxZjVmYmUzYjMxNjIxNjQ1ZGMzMmZiOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFTW9ycGhvbG9neUVsZW1lbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVNb3JwaG9sb2d5RWxlbWVudC5oCkBAIC0yNSwzNyAr
MjUsMTAgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi10ZW1wbGF0ZTw+Ci1zdHJ1Y3QgU1ZH
UHJvcGVydHlUcmFpdHM8TW9ycGhvbG9neU9wZXJhdG9yVHlwZT4gewotICAgIHN0YXRpYyB1bnNp
Z25lZCBoaWdoZXN0RW51bVZhbHVlKCkgeyByZXR1cm4gRkVNT1JQSE9MT0dZX09QRVJBVE9SX0RJ
TEFURTsgfQotCi0gICAgc3RhdGljIFN0cmluZyB0b1N0cmluZyhNb3JwaG9sb2d5T3BlcmF0b3JU
eXBlIHR5cGUpCi0gICAgewotICAgICAgICBzd2l0Y2ggKHR5cGUpIHsKLSAgICAgICAgY2FzZSBG
RU1PUlBIT0xPR1lfT1BFUkFUT1JfVU5LTk9XTjoKLSAgICAgICAgICAgIHJldHVybiBlbXB0eVN0
cmluZygpOwotICAgICAgICBjYXNlIEZFTU9SUEhPTE9HWV9PUEVSQVRPUl9FUk9ERToKLSAgICAg
ICAgICAgIHJldHVybiAiZXJvZGUiX3M7Ci0gICAgICAgIGNhc2UgRkVNT1JQSE9MT0dZX09QRVJB
VE9SX0RJTEFURToKLSAgICAgICAgICAgIHJldHVybiAiZGlsYXRlIl9zOwotICAgICAgICB9Ci0K
LSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIHJldHVybiBlbXB0eVN0cmlu
ZygpOwotICAgIH0KLQotICAgIHN0YXRpYyBNb3JwaG9sb2d5T3BlcmF0b3JUeXBlIGZyb21TdHJp
bmcoY29uc3QgU3RyaW5nJiB2YWx1ZSkKLSAgICB7Ci0gICAgICAgIGlmICh2YWx1ZSA9PSAiZXJv
ZGUiKQotICAgICAgICAgICAgcmV0dXJuIEZFTU9SUEhPTE9HWV9PUEVSQVRPUl9FUk9ERTsKLSAg
ICAgICAgaWYgKHZhbHVlID09ICJkaWxhdGUiKQotICAgICAgICAgICAgcmV0dXJuIEZFTU9SUEhP
TE9HWV9PUEVSQVRPUl9ESUxBVEU7Ci0gICAgICAgIHJldHVybiBGRU1PUlBIT0xPR1lfT1BFUkFU
T1JfVU5LTk9XTjsKLSAgICB9Ci19OwotCiBjbGFzcyBTVkdGRU1vcnBob2xvZ3lFbGVtZW50IGZp
bmFsIDogcHVibGljIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcyB7CiAgICAg
V1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdGRU1vcnBob2xvZ3lFbGVtZW50KTsKKyAgICB1c2lu
ZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0ZFTW9ycGhv
bG9neUVsZW1lbnQsIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcz47CisKIHB1
YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR0ZFTW9ycGhvbG9neUVsZW1lbnQ+IGNyZWF0ZShjb25z
dCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIApAQCAtNzQsOSArNDcsNyBAQCBwdWJsaWM6
CiBwcml2YXRlOgogICAgIFNWR0ZFTW9ycGhvbG9neUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFt
ZSYsIERvY3VtZW50Jik7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVy
dHlPd25lclJlZ2lzdHJ5PFNWR0ZFTW9ycGhvbG9neUVsZW1lbnQsIFNWR0ZpbHRlclByaW1pdGl2
ZVN0YW5kYXJkQXR0cmlidXRlcz47CiAgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJv
cGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsg
fQotCiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3Qg
QXRvbWljU3RyaW5nJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNv
bnN0IFF1YWxpZmllZE5hbWUmKSBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0ZFT2Zmc2V0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFT2Zm
c2V0RWxlbWVudC5oCmluZGV4IDNkOGQ3N2RiZWY3ODM5MTA5ZTNiMGJjNzBhZjAxYTlmMGU2MmJh
NTQuLjFjNTA4YjJjMjg4ZTkwM2ZhYjQ1Yjc1ODY4ZDNlNjM2MmI5Mjc1NzAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRU9mZnNldEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHRkVPZmZzZXRFbGVtZW50LmgKQEAgLTI3LDYgKzI3LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBjbGFzcyBTVkdGRU9mZnNldEVsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZH
RmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzIHsKICAgICBXVEZfTUFLRV9JU09fQUxM
T0NBVEVEKFNWR0ZFT2Zmc2V0RWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9
IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdGRU9mZnNldEVsZW1lbnQsIFNWR0ZpbHRlclBy
aW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcz47CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNW
R0ZFT2Zmc2V0RWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYp
OwogCkBAIC00MSw5ICs0Myw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgU1ZHRkVPZmZzZXRF
bGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCi0gICAgdXNpbmcgUHJv
cGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdGRU9mZnNldEVsZW1l
bnQsIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcz47CiAgICAgY29uc3QgU1ZH
UHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJu
IG1fcHJvcGVydHlSZWdpc3RyeTsgfQotCiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBR
dWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBz
dmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBvdmVycmlkZTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50LmgKaW5k
ZXggY2UyM2NiNWFlMjJjM2Y3NTFlMTE1YzcwODJhYmExNThiNWEzY2MwOS4uN2E3NTZkZjVlNDli
ZmVhNmIyMWE3M2Q5MGU2MzUyMDVjNjE4NTQwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudC5oCkBAIC0zMCw2ICszMCw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudCBmaW5h
bCA6IHB1YmxpYyBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMgewogICAgIFdU
Rl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudCk7CisgICAg
dXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdGRVNw
ZWN1bGFyTGlnaHRpbmdFbGVtZW50LCBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0
ZXM+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVt
ZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAgICAgdm9pZCBs
aWdodEVsZW1lbnRBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFNWR0ZFTGlnaHRFbGVtZW50KiwgY29u
c3QgUXVhbGlmaWVkTmFtZSYpOwpAQCAtNTEsOSArNTMsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgog
ICAgIFNWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERv
Y3VtZW50Jik7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25l
clJlZ2lzdHJ5PFNWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQsIFNWR0ZpbHRlclByaW1pdGl2
ZVN0YW5kYXJkQXR0cmlidXRlcz47CiAgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJv
cGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsg
fQotCiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3Qg
QXRvbWljU3RyaW5nJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNv
bnN0IFF1YWxpZmllZE5hbWUmKSBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0ZFVGlsZUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRVRpbGVF
bGVtZW50LmgKaW5kZXggYWRjYzdhOGQzMDRjYjMzMmQ5YmFlN2JhNTgyODQ5YzI2MWY0YjRkOC4u
NjU2NDcyMDE5MTJkYTYzN2ZhMTliNWM3ZjgzZTY1ZWU2YzgyMjMwMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFVGlsZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHRkVUaWxlRWxlbWVudC5oCkBAIC0yNyw2ICsyNyw4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogY2xhc3MgU1ZHRkVUaWxlRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdGaWx0ZXJQcmlt
aXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZH
RkVUaWxlRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5
T3duZXJSZWdpc3RyeTxTVkdGRVRpbGVFbGVtZW50LCBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFy
ZEF0dHJpYnV0ZXM+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdGRVRpbGVFbGVtZW50
PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKQEAgLTM2LDkgKzM4
LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBTVkdGRVRpbGVFbGVtZW50KGNvbnN0IFF1YWxp
ZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCi0gICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNW
R1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdGRVRpbGVFbGVtZW50LCBTVkdGaWx0ZXJQcmltaXRp
dmVTdGFuZGFyZEF0dHJpYnV0ZXM+OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHBy
b3BlcnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7
IH0KLQogICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0
IEF0b21pY1N0cmluZyYpIG92ZXJyaWRlOwogICAgIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChj
b25zdCBRdWFsaWZpZWROYW1lJikgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdGRVR1cmJ1bGVuY2VFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdGRVR1cmJ1bGVuY2VFbGVtZW50LmNwcAppbmRleCAzZTM1ZDIyMGU0OGExYWM1NzU3ZjkzN2Jk
MzNkMDZhZDRkMGQxZWI2Li41OGU3Y2E2NzhlMjhhZDJhNzRiZDQzNzFlODI3YjQ4MDI2MDY2MzVj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFVHVyYnVsZW5jZUVsZW1lbnQuY3BwCkBA
IC0xMjEsNyArMTIxLDcgQEAgUmVmUHRyPEZpbHRlckVmZmVjdD4gU1ZHRkVUdXJidWxlbmNlRWxl
bWVudDo6YnVpbGQoU1ZHRmlsdGVyQnVpbGRlciosIEZpbHRlciYgZmkKIHsKICAgICBpZiAoYmFz
ZUZyZXF1ZW5jeVgoKSA8IDAgfHwgYmFzZUZyZXF1ZW5jeVkoKSA8IDApCiAgICAgICAgIHJldHVy
biBudWxscHRyOwotICAgIHJldHVybiBGRVR1cmJ1bGVuY2U6OmNyZWF0ZShmaWx0ZXIsIHR5cGUo
KSwgYmFzZUZyZXF1ZW5jeVgoKSwgYmFzZUZyZXF1ZW5jeVkoKSwgbnVtT2N0YXZlcygpLCBzZWVk
KCksIHN0aXRjaFRpbGVzKCkgPT0gU1ZHX1NUSVRDSFRZUEVfU1RJVENIKTsKKyAgICByZXR1cm4g
RkVUdXJidWxlbmNlOjpjcmVhdGUoZmlsdGVyLCB0eXBlKCksIGJhc2VGcmVxdWVuY3lYKCksIGJh
c2VGcmVxdWVuY3lZKCksIG51bU9jdGF2ZXMoKSwgc2VlZCgpLCBzdGl0Y2hUaWxlcygpID09IFNW
R1N0aXRjaFR5cGVTdGl0Y2gpOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFVHVy
YnVsZW5jZUVsZW1lbnQuaAppbmRleCBjY2E3Zjg1NzgzZjQ4ODZlYzk4MWY2ZmExZGI5NjJiOWNi
NDE2YzJlLi43Y2E1ZTI4YmJiZmM2OGU0N2YxMjU5YzlkY2I4NjEzYjQxODkyZDhlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdGRVR1cmJ1bGVuY2VFbGVtZW50LmgKQEAgLTI2LDczICsyNiwx
OCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWVudW0gU1ZHU3RpdGNoT3B0aW9ucyB7Ci0g
ICAgU1ZHX1NUSVRDSFRZUEVfVU5LTk9XTiAgPSAwLAotICAgIFNWR19TVElUQ0hUWVBFX1NUSVRD
SCAgID0gMSwKLSAgICBTVkdfU1RJVENIVFlQRV9OT1NUSVRDSCA9IDIKLX07Ci0KLXRlbXBsYXRl
PD4KLXN0cnVjdCBTVkdQcm9wZXJ0eVRyYWl0czxTVkdTdGl0Y2hPcHRpb25zPiB7Ci0gICAgc3Rh
dGljIHVuc2lnbmVkIGhpZ2hlc3RFbnVtVmFsdWUoKSB7IHJldHVybiBTVkdfU1RJVENIVFlQRV9O
T1NUSVRDSDsgfQotCi0gICAgc3RhdGljIFN0cmluZyB0b1N0cmluZyhTVkdTdGl0Y2hPcHRpb25z
IHR5cGUpCi0gICAgewotICAgICAgICBzd2l0Y2ggKHR5cGUpIHsKLSAgICAgICAgY2FzZSBTVkdf
U1RJVENIVFlQRV9VTktOT1dOOgotICAgICAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7Ci0g
ICAgICAgIGNhc2UgU1ZHX1NUSVRDSFRZUEVfU1RJVENIOgotICAgICAgICAgICAgcmV0dXJuICJz
dGl0Y2giX3M7Ci0gICAgICAgIGNhc2UgU1ZHX1NUSVRDSFRZUEVfTk9TVElUQ0g6Ci0gICAgICAg
ICAgICByZXR1cm4gIm5vU3RpdGNoIl9zOwotICAgICAgICB9Ci0KLSAgICAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7Ci0gICAgICAgIHJldHVybiBlbXB0eVN0cmluZygpOwotICAgIH0KLQotICAg
IHN0YXRpYyBTVkdTdGl0Y2hPcHRpb25zIGZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiB2YWx1ZSkK
LSAgICB7Ci0gICAgICAgIGlmICh2YWx1ZSA9PSAic3RpdGNoIikKLSAgICAgICAgICAgIHJldHVy
biBTVkdfU1RJVENIVFlQRV9TVElUQ0g7Ci0gICAgICAgIGlmICh2YWx1ZSA9PSAibm9TdGl0Y2gi
KQotICAgICAgICAgICAgcmV0dXJuIFNWR19TVElUQ0hUWVBFX05PU1RJVENIOwotICAgICAgICBy
ZXR1cm4gU1ZHX1NUSVRDSFRZUEVfVU5LTk9XTjsKLSAgICB9Ci19OwotCi10ZW1wbGF0ZTw+Ci1z
dHJ1Y3QgU1ZHUHJvcGVydHlUcmFpdHM8VHVyYnVsZW5jZVR5cGU+IHsKLSAgICBzdGF0aWMgdW5z
aWduZWQgaGlnaGVzdEVudW1WYWx1ZSgpIHsgcmV0dXJuIHN0YXRpY19jYXN0PHVuc2lnbmVkPihU
dXJidWxlbmNlVHlwZTo6VHVyYnVsZW5jZSk7IH0KLQotICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJp
bmcoVHVyYnVsZW5jZVR5cGUgdHlwZSkKLSAgICB7Ci0gICAgICAgIHN3aXRjaCAodHlwZSkgewot
ICAgICAgICBjYXNlIFR1cmJ1bGVuY2VUeXBlOjpVbmtub3duOgotICAgICAgICAgICAgcmV0dXJu
IGVtcHR5U3RyaW5nKCk7Ci0gICAgICAgIGNhc2UgVHVyYnVsZW5jZVR5cGU6OkZyYWN0YWxOb2lz
ZToKLSAgICAgICAgICAgIHJldHVybiAiZnJhY3RhbE5vaXNlIl9zOwotICAgICAgICBjYXNlIFR1
cmJ1bGVuY2VUeXBlOjpUdXJidWxlbmNlOgotICAgICAgICAgICAgcmV0dXJuICJ0dXJidWxlbmNl
Il9zOwotICAgICAgICB9Ci0KLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAg
IHJldHVybiBlbXB0eVN0cmluZygpOwotICAgIH0KLQotICAgIHN0YXRpYyBUdXJidWxlbmNlVHlw
ZSBmcm9tU3RyaW5nKGNvbnN0IFN0cmluZyYgdmFsdWUpCi0gICAgewotICAgICAgICBpZiAodmFs
dWUgPT0gImZyYWN0YWxOb2lzZSIpCi0gICAgICAgICAgICByZXR1cm4gVHVyYnVsZW5jZVR5cGU6
OkZyYWN0YWxOb2lzZTsKLSAgICAgICAgaWYgKHZhbHVlID09ICJ0dXJidWxlbmNlIikKLSAgICAg
ICAgICAgIHJldHVybiBUdXJidWxlbmNlVHlwZTo6VHVyYnVsZW5jZTsKLSAgICAgICAgcmV0dXJu
IFR1cmJ1bGVuY2VUeXBlOjpVbmtub3duOwotICAgIH0KLX07Ci0KIGNsYXNzIFNWR0ZFVHVyYnVs
ZW5jZUVsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRy
aWJ1dGVzIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR0ZFVHVyYnVsZW5jZUVsZW1l
bnQpOworICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0
cnk8U1ZHRkVUdXJidWxlbmNlRWxlbWVudCwgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRy
aWJ1dGVzPjsKKwogcHVibGljOgorICAgIC8vIEZvcndhcmQgZGVjbGFyZSBlbnVtZXJhdGlvbnMg
aW4gdGhlIFczQyBuYW1pbmcgc2NoZW1lLCBmb3IgSURMIGdlbmVyYXRpb24uCisgICAgZW51bSB7
CisgICAgICAgIFNWR19TVElUQ0hUWVBFX1VOS05PV04gPSBTVkdTdGl0Y2hUeXBlVW5rbm93biwK
KyAgICAgICAgU1ZHX1NUSVRDSFRZUEVfU1RJVENIID0gU1ZHU3RpdGNoVHlwZVN0aXRjaCwKKyAg
ICAgICAgU1ZHX1NUSVRDSFRZUEVfTk9TVElUQ0ggPSBTVkdTdGl0Y2hUeXBlTm9TdGl0Y2gsCisg
ICAgfTsKKwogICAgIHN0YXRpYyBSZWY8U1ZHRkVUdXJidWxlbmNlRWxlbWVudD4gY3JlYXRlKGNv
bnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCiAgICAgZmxvYXQgYmFzZUZyZXF1ZW5j
eVgoKSBjb25zdCB7IHJldHVybiBtX2Jhc2VGcmVxdWVuY3lYLT5jdXJyZW50VmFsdWUoKTsgfQpA
QCAtMTEyLDkgKzU3LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBTVkdGRVR1cmJ1bGVuY2VF
bGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCi0gICAgdXNpbmcgUHJv
cGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdGRVR1cmJ1bGVuY2VF
bGVtZW50LCBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXM+OwogICAgIGNvbnN0
IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJl
dHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KLQogICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29u
c3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYpIG92ZXJyaWRlOwogICAgIHZv
aWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJikgb3ZlcnJpZGU7CiAK
QEAgLTEyNiw3ICs2OSw3IEBAIHByaXZhdGU6CiAgICAgUmVmPFNWR0FuaW1hdGVkTnVtYmVyPiBt
X2Jhc2VGcmVxdWVuY3lZIHsgU1ZHQW5pbWF0ZWROdW1iZXI6OmNyZWF0ZSh0aGlzKSB9OwogICAg
IFJlZjxTVkdBbmltYXRlZEludGVnZXI+IG1fbnVtT2N0YXZlcyB7IFNWR0FuaW1hdGVkSW50ZWdl
cjo6Y3JlYXRlKHRoaXMsIDEpIH07CiAgICAgUmVmPFNWR0FuaW1hdGVkTnVtYmVyPiBtX3NlZWQg
eyBTVkdBbmltYXRlZE51bWJlcjo6Y3JlYXRlKHRoaXMpIH07Ci0gICAgUmVmPFNWR0FuaW1hdGVk
RW51bWVyYXRpb24+IG1fc3RpdGNoVGlsZXMgeyBTVkdBbmltYXRlZEVudW1lcmF0aW9uOjpjcmVh
dGUodGhpcywgU1ZHX1NUSVRDSFRZUEVfTk9TVElUQ0gpIH07CisgICAgUmVmPFNWR0FuaW1hdGVk
RW51bWVyYXRpb24+IG1fc3RpdGNoVGlsZXMgeyBTVkdBbmltYXRlZEVudW1lcmF0aW9uOjpjcmVh
dGUodGhpcywgU1ZHU3RpdGNoVHlwZU5vU3RpdGNoKSB9OwogICAgIFJlZjxTVkdBbmltYXRlZEVu
dW1lcmF0aW9uPiBtX3R5cGUgeyBTVkdBbmltYXRlZEVudW1lcmF0aW9uOjpjcmVhdGUodGhpcywg
VHVyYnVsZW5jZVR5cGU6OlR1cmJ1bGVuY2UpIH07CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHRmlsdGVyRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0Zp
bHRlckVsZW1lbnQuaAppbmRleCBlMWYyZjViY2VjNTYzZGYxNWMyN2Y5ZmQ0ZmU0NGJjODhhMzQ2
NTdjLi4xMTE1NWU4YjFjMzg0ZDUwZWJlMDA2NTI4ZTVmZGE2OTNkYjQ1Zjg0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRmlsdGVyRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdGaWx0ZXJFbGVtZW50LmgKQEAgLTMyLDYgKzMyLDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBjbGFzcyBTVkdGaWx0ZXJFbGVtZW50IGZpbmFsIDogcHVibGljIFNWR0VsZW1l
bnQsIHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBwdWJsaWMgU1ZHVVJJUmVm
ZXJlbmNlIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR0ZpbHRlckVsZW1lbnQpOwor
ICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZH
RmlsdGVyRWxlbWVudCwgU1ZHRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwg
U1ZHVVJJUmVmZXJlbmNlPjsKKwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8U1ZHRmlsdGVyRWxl
bWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCkBAIC01Miw5
ICs1NCw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgU1ZHRmlsdGVyRWxlbWVudChjb25zdCBR
dWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkg
PSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHRmlsdGVyRWxlbWVudCwgU1ZHRWxlbWVudCwg
U1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgU1ZHVVJJUmVmZXJlbmNlPjsKICAgICBjb25z
dCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyBy
ZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9Ci0KICAgICB2b2lkIHBhcnNlQXR0cmlidXRlKGNv
bnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKSBmaW5hbDsKICAgICB2b2lk
IHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYpIGZpbmFsOwogICAgIHZv
aWQgY2hpbGRyZW5DaGFuZ2VkKGNvbnN0IENoaWxkQ2hhbmdlJikgZmluYWw7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVz
LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1
dGVzLmgKaW5kZXggZWIyNWI1M2E5NGQ4ZTVmZGQ4OTI4NWI1ODNiNzMyMzEzZTIzMjAxMC4uY2I4
MTkwMmNkMWE3MjE5YjI4NWNlNDMyODJmN2M0OTc5ODYzM2JhYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMu
aApAQCAtMzYsMTQgKzM2LDE0IEBAIGNsYXNzIFNWR0ZpbHRlckJ1aWxkZXI7CiBjbGFzcyBTVkdG
aWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMgOiBwdWJsaWMgU1ZHRWxlbWVudCB7CiAg
ICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJp
YnV0ZXMpOwogcHVibGljOgorICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0
eU93bmVyUmVnaXN0cnk8U1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLCBTVkdF
bGVtZW50PjsKKwogICAgIHZvaWQgc2V0U3RhbmRhcmRBdHRyaWJ1dGVzKEZpbHRlckVmZmVjdCop
IGNvbnN0OwogCiAgICAgdmlydHVhbCBSZWZQdHI8RmlsdGVyRWZmZWN0PiBidWlsZChTVkdGaWx0
ZXJCdWlsZGVyKiwgRmlsdGVyJikgY29uc3QgPSAwOwogICAgIC8vIFJldHVybnMgdHJ1ZSwgaWYg
dGhlIG5ldyB2YWx1ZSBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgb2xkIG9uZS4KICAgICB2aXJ0dWFs
IGJvb2wgc2V0RmlsdGVyRWZmZWN0QXR0cmlidXRlKEZpbHRlckVmZmVjdCosIGNvbnN0IFF1YWxp
ZmllZE5hbWUmKTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93
bmVyUmVnaXN0cnk8U1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLCBTVkdFbGVt
ZW50PjsKLQogICAgIGNvbnN0IFNWR0xlbmd0aFZhbHVlJiB4KCkgY29uc3QgeyByZXR1cm4gbV94
LT5jdXJyZW50VmFsdWUoKTsgfQogICAgIGNvbnN0IFNWR0xlbmd0aFZhbHVlJiB5KCkgY29uc3Qg
eyByZXR1cm4gbV95LT5jdXJyZW50VmFsdWUoKTsgfQogICAgIGNvbnN0IFNWR0xlbmd0aFZhbHVl
JiB3aWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1fd2lkdGgtPmN1cnJlbnRWYWx1ZSgpOyB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRml0VG9WaWV3Qm94LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdGaXRUb1ZpZXdCb3guY3BwCmluZGV4IGQxNWUzNTQ2YzEyMTNlMDBkZmE1
N2M4MWI0YTAwYjJlZmUzMGE5NzMuLmJiYjI5NzhhNDBiZjgwNDE4OGE4OGJmZGViZmNjMzRkYzU1
YWRhY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGaXRUb1ZpZXdCb3guY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGaXRUb1ZpZXdCb3guY3BwCkBAIC02MywzNSAr
NjMsNDEgQEAgdm9pZCBTVkdGaXRUb1ZpZXdCb3g6OnJlc2V0KCkKICAgICByZXNldFByZXNlcnZl
QXNwZWN0UmF0aW8oKTsKIH0KIAotYm9vbCBTVkdGaXRUb1ZpZXdCb3g6OnBhcnNlQXR0cmlidXRl
KGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUpCitP
cHRpb25hbDxTVkdQYXJzaW5nRXJyb3I+IFNWR0ZpdFRvVmlld0JveDo6cGFyc2VBdHRyaWJ1dGUo
Y29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbWljU3RyaW5nJiB2YWx1ZSkKIHsK
LSAgICBpZiAobmFtZSA9PSBTVkdOYW1lczo6dmlld0JveEF0dHIpIHsKKyAgICBpZiAobmFtZS5t
YXRjaGVzKFNWR05hbWVzOjp2aWV3Qm94QXR0cikpIHsKICAgICAgICAgRmxvYXRSZWN0IHZpZXdC
b3g7Ci0gICAgICAgIGlmICghdmFsdWUuaXNOdWxsKCkgJiYgcGFyc2VWaWV3Qm94KHZhbHVlLCB2
aWV3Qm94KSkKLSAgICAgICAgICAgIHNldFZpZXdCb3godmlld0JveCk7Ci0gICAgICAgIGVsc2UK
KyAgICAgICAgaWYgKGF1dG8gZXJyb3IgPSBwYXJzZVZpZXdCb3godmFsdWUsIHZpZXdCb3gpKSB7
CiAgICAgICAgICAgICByZXNldFZpZXdCb3goKTsKLSAgICAgICAgcmV0dXJuIHRydWU7CisgICAg
ICAgICAgICByZXR1cm4gZXJyb3I7CisgICAgICAgIH0KKyAgICAgICAgc2V0Vmlld0JveCh2aWV3
Qm94KTsKKyAgICAgICAgcmV0dXJuIE5vRXJyb3I7CiAgICAgfQogCi0gICAgaWYgKG5hbWUgPT0g
U1ZHTmFtZXM6OnByZXNlcnZlQXNwZWN0UmF0aW9BdHRyKSB7CisgICAgaWYgKG5hbWUubWF0Y2hl
cyhTVkdOYW1lczo6cHJlc2VydmVBc3BlY3RSYXRpb0F0dHIpKSB7CiAgICAgICAgIFNWR1ByZXNl
cnZlQXNwZWN0UmF0aW9WYWx1ZSBwcmVzZXJ2ZUFzcGVjdFJhdGlvOwotICAgICAgICBwcmVzZXJ2
ZUFzcGVjdFJhdGlvLnBhcnNlKHZhbHVlKTsKKyAgICAgICAgaWYgKCFwcmVzZXJ2ZUFzcGVjdFJh
dGlvLnBhcnNlKHZhbHVlKSkgeworICAgICAgICAgICAgcmVzZXRQcmVzZXJ2ZUFzcGVjdFJhdGlv
KCk7CisgICAgICAgICAgICByZXR1cm4gUGFyc2luZ0F0dHJpYnV0ZUZhaWxlZEVycm9yOworICAg
ICAgICB9CiAgICAgICAgIHNldFByZXNlcnZlQXNwZWN0UmF0aW8ocHJlc2VydmVBc3BlY3RSYXRp
byk7Ci0gICAgICAgIHJldHVybiB0cnVlOworICAgICAgICByZXR1cm4gTm9FcnJvcjsKICAgICB9
CiAKLSAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIHsgfTsKIH0KIAotYm9vbCBTVkdGaXRU
b1ZpZXdCb3g6OnBhcnNlVmlld0JveChjb25zdCBBdG9taWNTdHJpbmcmIHZhbHVlLCBGbG9hdFJl
Y3QmIHZpZXdCb3gpCitTVkdQYXJzaW5nRXJyb3IgU1ZHRml0VG9WaWV3Qm94OjpwYXJzZVZpZXdC
b3goY29uc3QgQXRvbWljU3RyaW5nJiB2YWx1ZSwgRmxvYXRSZWN0JiB2aWV3Qm94KQogeworICAg
IGlmICh2YWx1ZS5pc051bGwoKSkKKyAgICAgICAgcmV0dXJuIFVuZXhwZWN0ZWRFbmRPZkF0dHJp
YnV0ZUVycm9yOwogICAgIGF1dG8gdXBjb252ZXJ0ZWRDaGFyYWN0ZXJzID0gU3RyaW5nVmlldyh2
YWx1ZSkudXBjb252ZXJ0ZWRDaGFyYWN0ZXJzKCk7CiAgICAgY29uc3QgVUNoYXIqIGNoYXJhY3Rl
cnMgPSB1cGNvbnZlcnRlZENoYXJhY3RlcnM7CiAgICAgcmV0dXJuIHBhcnNlVmlld0JveChjaGFy
YWN0ZXJzLCBjaGFyYWN0ZXJzICsgdmFsdWUubGVuZ3RoKCksIHZpZXdCb3gpOwogfQogCi1ib29s
IFNWR0ZpdFRvVmlld0JveDo6cGFyc2VWaWV3Qm94KGNvbnN0IFVDaGFyKiYgYywgY29uc3QgVUNo
YXIqIGVuZCwgRmxvYXRSZWN0JiB2aWV3Qm94LCBib29sIHZhbGlkYXRlKQorU1ZHUGFyc2luZ0Vy
cm9yIFNWR0ZpdFRvVmlld0JveDo6cGFyc2VWaWV3Qm94KGNvbnN0IFVDaGFyKiYgYywgY29uc3Qg
VUNoYXIqIGVuZCwgRmxvYXRSZWN0JiB2aWV3Qm94KQogewogICAgIFN0cmluZyBzdHIoYywgZW5k
IC0gYyk7CiAKQEAgLTEwMywzNiArMTA5LDI0IEBAIGJvb2wgU1ZHRml0VG9WaWV3Qm94OjpwYXJz
ZVZpZXdCb3goY29uc3QgVUNoYXIqJiBjLCBjb25zdCBVQ2hhciogZW5kLCBGbG9hdFJlY3QmCiAg
ICAgZmxvYXQgaGVpZ2h0ID0gMC4wZjsKICAgICBib29sIHZhbGlkID0gcGFyc2VOdW1iZXIoYywg
ZW5kLCB4KSAmJiBwYXJzZU51bWJlcihjLCBlbmQsIHkpICYmIHBhcnNlTnVtYmVyKGMsIGVuZCwg
d2lkdGgpICYmIHBhcnNlTnVtYmVyKGMsIGVuZCwgaGVpZ2h0LCBmYWxzZSk7CiAKLSAgICBpZiAo
dmFsaWRhdGUpIHsKLSAgICAgICAgRG9jdW1lbnQmIGRvY3VtZW50ID0gbV92aWV3Qm94LT5jb250
ZXh0RWxlbWVudCgpLT5kb2N1bWVudCgpOworICAgIGlmICghdmFsaWQpCisgICAgICAgIHJldHVy
biBQYXJzaW5nQXR0cmlidXRlRmFpbGVkRXJyb3I7CiAKLSAgICAgICAgaWYgKCF2YWxpZCkgewot
ICAgICAgICAgICAgZG9jdW1lbnQuYWNjZXNzU1ZHRXh0ZW5zaW9ucygpLnJlcG9ydFdhcm5pbmco
IlByb2JsZW0gcGFyc2luZyB2aWV3Qm94PVwiIiArIHN0ciArICJcIiIpOwotICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwotICAgICAgICB9CisgICAgLy8gQ2hlY2sgdGhhdCB3aWR0aCBpcyBwb3Np
dGl2ZS4KKyAgICBpZiAod2lkdGggPCAwLjApCisgICAgICAgIHJldHVybiBOZWdhdGl2ZVZhbHVl
Rm9yYmlkZGVuRXJyb3I7CiAKLSAgICAgICAgLy8gQ2hlY2sgdGhhdCB3aWR0aCBpcyBwb3NpdGl2
ZS4KLSAgICAgICAgaWYgKHdpZHRoIDwgMC4wKSB7Ci0gICAgICAgICAgICBkb2N1bWVudC5hY2Nl
c3NTVkdFeHRlbnNpb25zKCkucmVwb3J0RXJyb3IoIkEgbmVnYXRpdmUgdmFsdWUgZm9yIFZpZXdC
b3ggd2lkdGggaXMgbm90IGFsbG93ZWQiKTsKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAg
ICAgICAgfQorICAgIC8vIENoZWNrIHRoYXQgaGVpZ2h0IGlzIHBvc2l0aXZlLgorICAgIGlmICho
ZWlnaHQgPCAwLjApCisgICAgICAgIHJldHVybiBOZWdhdGl2ZVZhbHVlRm9yYmlkZGVuRXJyb3I7
CiAKLSAgICAgICAgLy8gQ2hlY2sgdGhhdCBoZWlnaHQgaXMgcG9zaXRpdmUuCi0gICAgICAgIGlm
IChoZWlnaHQgPCAwLjApIHsKLSAgICAgICAgICAgIGRvY3VtZW50LmFjY2Vzc1NWR0V4dGVuc2lv
bnMoKS5yZXBvcnRFcnJvcigiQSBuZWdhdGl2ZSB2YWx1ZSBmb3IgVmlld0JveCBoZWlnaHQgaXMg
bm90IGFsbG93ZWQiKTsKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfQotCi0g
ICAgICAgIC8vIE5vdGhpbmcgc2hvdWxkIGNvbWUgYWZ0ZXIgdGhlIGxhc3QsIGZvdXJ0aCBudW1i
ZXIuCi0gICAgICAgIHNraXBPcHRpb25hbFNWR1NwYWNlcyhjLCBlbmQpOwotICAgICAgICBpZiAo
YyA8IGVuZCkgewotICAgICAgICAgICAgZG9jdW1lbnQuYWNjZXNzU1ZHRXh0ZW5zaW9ucygpLnJl
cG9ydFdhcm5pbmcoIlByb2JsZW0gcGFyc2luZyB2aWV3Qm94PVwiIiArIHN0ciArICJcIiIpOwot
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICB9Ci0gICAgfQorICAgIC8vIE5vdGhp
bmcgc2hvdWxkIGNvbWUgYWZ0ZXIgdGhlIGxhc3QsIGZvdXJ0aCBudW1iZXIuCisgICAgc2tpcE9w
dGlvbmFsU1ZHU3BhY2VzKGMsIGVuZCk7CisgICAgaWYgKGMgPCBlbmQpCisgICAgICAgIHJldHVy
biBQYXJzaW5nQXR0cmlidXRlRmFpbGVkRXJyb3I7CiAKICAgICB2aWV3Qm94ID0geyB4LCB5LCB3
aWR0aCwgaGVpZ2h0IH07Ci0gICAgcmV0dXJuIHRydWU7CisgICAgcmV0dXJuIE5vRXJyb3I7CiB9
CiAKIEFmZmluZVRyYW5zZm9ybSBTVkdGaXRUb1ZpZXdCb3g6OnZpZXdCb3hUb1ZpZXdUcmFuc2Zv
cm0oY29uc3QgRmxvYXRSZWN0JiB2aWV3Qm94UmVjdCwgY29uc3QgU1ZHUHJlc2VydmVBc3BlY3RS
YXRpb1ZhbHVlJiBwcmVzZXJ2ZUFzcGVjdFJhdGlvLCBmbG9hdCB2aWV3V2lkdGgsIGZsb2F0IHZp
ZXdIZWlnaHQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRml0VG9WaWV3Qm94
LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRml0VG9WaWV3Qm94LmgKaW5kZXggN2NjNDIzMTQx
NjAxOTMxOWQ3ZTJiNGQyZDdkNzYzNmMzNzliOGE0Zi4uZGI1NjAwMmM0NTVjNWY3OGMxYjE5NjMz
YmE1MWI5OWQyNGFmYzJiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZpdFRv
Vmlld0JveC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGaXRUb1ZpZXdCb3guaApAQCAt
MzYsMTAgKzM2LDEwIEBAIGNsYXNzIEFmZmluZVRyYW5zZm9ybTsKIGNsYXNzIFNWR0ZpdFRvVmll
d0JveCB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHRml0VG9WaWV3Qm94KTsKIHB1Ymxp
YzoKLSAgICBzdGF0aWMgQWZmaW5lVHJhbnNmb3JtIHZpZXdCb3hUb1ZpZXdUcmFuc2Zvcm0oY29u
c3QgRmxvYXRSZWN0JiB2aWV3Qm94UmVjdCwgY29uc3QgU1ZHUHJlc2VydmVBc3BlY3RSYXRpb1Zh
bHVlJiwgZmxvYXQgdmlld1dpZHRoLCBmbG9hdCB2aWV3SGVpZ2h0KTsKLQogICAgIHVzaW5nIFBy
b3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHRml0VG9WaWV3Qm94
PjsKIAorICAgIHN0YXRpYyBBZmZpbmVUcmFuc2Zvcm0gdmlld0JveFRvVmlld1RyYW5zZm9ybShj
b25zdCBGbG9hdFJlY3QmIHZpZXdCb3hSZWN0LCBjb25zdCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlv
VmFsdWUmLCBmbG9hdCB2aWV3V2lkdGgsIGZsb2F0IHZpZXdIZWlnaHQpOworCiAgICAgY29uc3Qg
RmxvYXRSZWN0JiB2aWV3Qm94KCkgY29uc3QgeyByZXR1cm4gbV92aWV3Qm94LT5jdXJyZW50VmFs
dWUoKTsgfQogICAgIGNvbnN0IFNWR1ByZXNlcnZlQXNwZWN0UmF0aW9WYWx1ZSYgcHJlc2VydmVB
c3BlY3RSYXRpbygpIGNvbnN0IHsgcmV0dXJuIG1fcHJlc2VydmVBc3BlY3RSYXRpby0+Y3VycmVu
dFZhbHVlKCk7IH0KIApAQCAtNjQsOSArNjQsOSBAQCBwcm90ZWN0ZWQ6CiAgICAgc3RhdGljIGJv
b2wgaXNLbm93bkF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyaWJ1dGVOYW1lKSB7
IHJldHVybiBQcm9wZXJ0eVJlZ2lzdHJ5Ojppc0tub3duQXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUp
OyB9CiAKICAgICB2b2lkIHJlc2V0KCk7Ci0gICAgYm9vbCBwYXJzZUF0dHJpYnV0ZShjb25zdCBR
dWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJik7Ci0gICAgYm9vbCBwYXJzZVZpZXdC
b3goY29uc3QgQXRvbWljU3RyaW5nJiB2YWx1ZSwgRmxvYXRSZWN0JiB2aWV3Qm94KTsKLSAgICBi
b29sIHBhcnNlVmlld0JveChjb25zdCBVQ2hhciomIHN0YXJ0LCBjb25zdCBVQ2hhciogZW5kLCBG
bG9hdFJlY3QmIHZpZXdCb3gsIGJvb2wgdmFsaWRhdGUgPSB0cnVlKTsKKyAgICBPcHRpb25hbDxT
VkdQYXJzaW5nRXJyb3I+IHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25z
dCBBdG9taWNTdHJpbmcmKTsKKyAgICBTVkdQYXJzaW5nRXJyb3IgcGFyc2VWaWV3Qm94KGNvbnN0
IEF0b21pY1N0cmluZyYgdmFsdWUsIEZsb2F0UmVjdCYgdmlld0JveCk7CisgICAgU1ZHUGFyc2lu
Z0Vycm9yIHBhcnNlVmlld0JveChjb25zdCBVQ2hhciomIHN0YXJ0LCBjb25zdCBVQ2hhciogZW5k
LCBGbG9hdFJlY3QmIHZpZXdCb3gpOwogCiBwcml2YXRlOgogICAgIFJlZjxTVkdBbmltYXRlZFJl
Y3Q+IG1fdmlld0JveDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RWxl
bWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRFbGVtZW50LmgKaW5kZXggY2QxZThl
YTBiMjc0ZDhjYzhkNjQ3ZWFhYjYxZDBlZjc1YmQ5NTc0OC4uYTY2MmEwYmQ4ZWU5Y2I1ZTNkM2E2
ZGEyMTkwNjMxYjg4NzJmMmVlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0Zv
bnRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRFbGVtZW50LmgKQEAg
LTQ0LDE2ICs0NCwxNiBAQCBzdHJ1Y3QgU1ZHS2VybmluZ1BhaXIgewogCiBjbGFzcyBTVkdGb250
RWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdFbGVtZW50LCBwdWJsaWMgU1ZHRXh0ZXJuYWxSZXNv
dXJjZXNSZXF1aXJlZCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdGb250RWxlbWVu
dCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3Ry
eTxTVkdGb250RWxlbWVudCwgU1ZHRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJl
ZD47CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR0ZvbnRFbGVtZW50PiBjcmVhdGUoY29u
c3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKIHByaXZhdGU6CiAgICAgU1ZHRm9udEVs
ZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKLSAgICBib29sIHJlbmRl
cmVySXNOZWVkZWQoY29uc3QgUmVuZGVyU3R5bGUmKSBmaW5hbCB7IHJldHVybiBmYWxzZTsgfQot
Ci0gICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxT
VkdGb250RWxlbWVudCwgU1ZHRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZD47
CiAgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0
IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQorICAgIGJvb2wgcmVuZGVyZXJJ
c05lZWRlZChjb25zdCBSZW5kZXJTdHlsZSYpIGZpbmFsIHsgcmV0dXJuIGZhbHNlOyB9CiAKICAg
ICBQcm9wZXJ0eVJlZ2lzdHJ5IG1fcHJvcGVydHlSZWdpc3RyeSB7ICp0aGlzIH07CiB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlRWxlbWVudC5oIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlRWxlbWVudC5oCmluZGV4IDhmOGJhNTg5MmJlMjgwNzk4
ZWU0MWRjMDBiZDFiM2NiN2QzMDk4YTkuLjI0Zjc0ZWViZDg0MzgyOWZhZDY4M2MwMzA1MTIwOGFl
MjFjZGY5ZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RmFjZUVsZW1l
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VFbGVtZW50LmgKQEAgLTMy
LDYgKzMyLDggQEAgY2xhc3MgU3R5bGVSdWxlRm9udEZhY2U7CiAKIGNsYXNzIFNWR0ZvbnRGYWNl
RWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdFbGVtZW50IHsKICAgICBXVEZfTUFLRV9JU09fQUxM
T0NBVEVEKFNWR0ZvbnRGYWNlRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9
IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdGb250RmFjZUVsZW1lbnQsIFNWR0VsZW1lbnQ+
OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdGb250RmFjZUVsZW1lbnQ+IGNyZWF0ZShj
b25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIApAQCAtNTcsNiArNTksNyBAQCBwcml2
YXRlOgogICAgIFNWR0ZvbnRGYWNlRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1l
bnQmKTsKICAgICB+U1ZHRm9udEZhY2VFbGVtZW50KCk7CiAKKyAgICBjb25zdCBTVkdQcm9wZXJ0
eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9w
ZXJ0eVJlZ2lzdHJ5OyB9CiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWRO
YW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJikgZmluYWw7CiAKICAgICB2b2lkIGNoaWxkcmVuQ2hh
bmdlZChjb25zdCBDaGlsZENoYW5nZSYpIGZpbmFsOwpAQCAtNjUsNiArNjgsNyBAQCBwcml2YXRl
OgogCiAgICAgYm9vbCByZW5kZXJlcklzTmVlZGVkKGNvbnN0IFJlbmRlclN0eWxlJikgZmluYWwg
eyByZXR1cm4gZmFsc2U7IH0KIAorICAgIFByb3BlcnR5UmVnaXN0cnkgbV9wcm9wZXJ0eVJlZ2lz
dHJ5IHsgKnRoaXMgfTsKICAgICBSZWY8U3R5bGVSdWxlRm9udEZhY2U+IG1fZm9udEZhY2VSdWxl
OwogICAgIFNWR0ZvbnRFbGVtZW50KiBtX2ZvbnRFbGVtZW50OwogfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RmFjZUZvcm1hdEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdGb250RmFjZUZvcm1hdEVsZW1lbnQuaAppbmRleCAwNTYwNzVlZTlhYjM3Y2Y4
Y2U4NzQ2MzI5ODBlN2MyMTA4NDM1MzhmLi4yMzVlMGM4ZjgzYTMxYzdkOTUzNGRjMTE4YzhmNWUx
NmQ3NmM1ZDQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VGb3Jt
YXRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlRm9ybWF0RWxl
bWVudC5oCkBAIC0yNywxNCArMjcsMTkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBT
VkdGb250RmFjZUZvcm1hdEVsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHRWxlbWVudCB7CiAgICAg
V1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdGb250RmFjZUZvcm1hdEVsZW1lbnQpOworICAgIHVz
aW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHRm9udEZh
Y2VGb3JtYXRFbGVtZW50LCBTVkdFbGVtZW50PjsKKwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8
U1ZHRm9udEZhY2VGb3JtYXRFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERv
Y3VtZW50Jik7CiAKIHByaXZhdGU6CiAgICAgU1ZHRm9udEZhY2VGb3JtYXRFbGVtZW50KGNvbnN0
IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCisgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdp
c3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlS
ZWdpc3RyeTsgfQogICAgIHZvaWQgY2hpbGRyZW5DaGFuZ2VkKGNvbnN0IENoaWxkQ2hhbmdlJikg
ZmluYWw7CiAgICAgYm9vbCByZW5kZXJlcklzTmVlZGVkKGNvbnN0IFJlbmRlclN0eWxlJikgZmlu
YWwgeyByZXR1cm4gZmFsc2U7IH0KKworICAgIFByb3BlcnR5UmVnaXN0cnkgbV9wcm9wZXJ0eVJl
Z2lzdHJ5IHsgKnRoaXMgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RmFjZU5hbWVFbGVtZW50LmggYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VOYW1lRWxlbWVudC5oCmluZGV4IDg2N2NkYzg1ZjZlZDQ0
NzQ5MjJmNzJlOGQ5MzcwOTMxNTkzNjg2YjYuLjQyYjIwZjZkNjU4N2NkZDI2ZDU3MTAyMTFkMWQw
ZDk3ODZiNmM1NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RmFjZU5h
bWVFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlTmFtZUVsZW1l
bnQuaApAQCAtMjksNiArMjksOCBAQCBjbGFzcyBDU1NGb250RmFjZVNyY1ZhbHVlOwogCiBjbGFz
cyBTVkdGb250RmFjZU5hbWVFbGVtZW50IGZpbmFsIDogcHVibGljIFNWR0VsZW1lbnQgewogICAg
IFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHRm9udEZhY2VOYW1lRWxlbWVudCk7CisgICAgdXNp
bmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdGb250RmFj
ZU5hbWVFbGVtZW50LCBTVkdFbGVtZW50PjsKKwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8U1ZH
Rm9udEZhY2VOYW1lRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVu
dCYpOwogICAgIApAQCAtMzcsNyArMzksMTAgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBTVkdG
b250RmFjZU5hbWVFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCisg
ICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZp
bmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQogICAgIGJvb2wgcmVuZGVyZXJJc05l
ZWRlZChjb25zdCBSZW5kZXJTdHlsZSYpIGZpbmFsIHsgcmV0dXJuIGZhbHNlOyB9CisKKyAgICBQ
cm9wZXJ0eVJlZ2lzdHJ5IG1fcHJvcGVydHlSZWdpc3RyeSB7ICp0aGlzIH07CiB9OwogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9u
dEZhY2VTcmNFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VTcmNFbGVt
ZW50LmgKaW5kZXggNDE2OTY4YzYxZjVhZjE5MjE2NjI0ZGEyYjFjNjE4OWY3YmQ3NDI5YS4uN2Jl
ZmE4NjJjNTk4MDUzZTA0MWI3MWM4OGU0OGRmMGY3YzIyN2NiOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlU3JjRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdGb250RmFjZVNyY0VsZW1lbnQuaApAQCAtMjksNiArMjksOCBAQCBjbGFzcyBDU1NW
YWx1ZUxpc3Q7CiAKIGNsYXNzIFNWR0ZvbnRGYWNlU3JjRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBT
VkdFbGVtZW50IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR0ZvbnRGYWNlU3JjRWxl
bWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdp
c3RyeTxTVkdGb250RmFjZVNyY0VsZW1lbnQsIFNWR0VsZW1lbnQ+OworCiBwdWJsaWM6CiAgICAg
c3RhdGljIFJlZjxTVkdGb250RmFjZVNyY0VsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWRO
YW1lJiwgRG9jdW1lbnQmKTsKIApAQCAtMzcsOCArMzksMTEgQEAgcHVibGljOgogcHJpdmF0ZToK
ICAgICBTVkdGb250RmFjZVNyY0VsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50
Jik7CiAgICAgCisgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3Ry
eSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQogICAgIHZvaWQg
Y2hpbGRyZW5DaGFuZ2VkKGNvbnN0IENoaWxkQ2hhbmdlJikgZmluYWw7CiAgICAgYm9vbCByZW5k
ZXJlcklzTmVlZGVkKGNvbnN0IFJlbmRlclN0eWxlJikgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0K
KworICAgIFByb3BlcnR5UmVnaXN0cnkgbV9wcm9wZXJ0eVJlZ2lzdHJ5IHsgKnRoaXMgfTsKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdGb250RmFjZVVyaUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RmFj
ZVVyaUVsZW1lbnQuaAppbmRleCBjNzhhMmJjYTk3ZjRmYTM1OWRmMWE2N2YwZWRlMDA0ODE5OTgx
MGIzLi5kN2M5MGRiODRjZDUwYmI4M2FkNjY5ZmI0MmMwOTYzMmI4YTUyYjUzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VVcmlFbGVtZW50LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlVXJpRWxlbWVudC5oCkBAIC0zMSw2ICszMSw4IEBAIGNs
YXNzIENTU0ZvbnRGYWNlU3JjVmFsdWU7CiAKIGNsYXNzIFNWR0ZvbnRGYWNlVXJpRWxlbWVudCBm
aW5hbCA6IHB1YmxpYyBTVkdFbGVtZW50LCBwdWJsaWMgQ2FjaGVkRm9udENsaWVudCB7CiAgICAg
V1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdGb250RmFjZVVyaUVsZW1lbnQpOworICAgIHVzaW5n
IFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHRm9udEZhY2VV
cmlFbGVtZW50LCBTVkdFbGVtZW50PjsKKwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8U1ZHRm9u
dEZhY2VVcmlFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7
CiAKQEAgLTQwLDE0ICs0MiwxNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgU1ZHRm9udEZh
Y2VVcmlFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwotICAgIAorCisg
ICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZp
bmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQogICAgIHZvaWQgcGFyc2VBdHRyaWJ1
dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYpIGZpbmFsOwogICAg
IHZvaWQgY2hpbGRyZW5DaGFuZ2VkKGNvbnN0IENoaWxkQ2hhbmdlJikgZmluYWw7CisKICAgICBJ
bnNlcnRlZEludG9BbmNlc3RvclJlc3VsdCBpbnNlcnRlZEludG9BbmNlc3RvcihJbnNlcnRpb25U
eXBlLCBDb250YWluZXJOb2RlJikgZmluYWw7CiAgICAgYm9vbCByZW5kZXJlcklzTmVlZGVkKGNv
bnN0IFJlbmRlclN0eWxlJikgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0KIAogICAgIHZvaWQgbG9h
ZEZvbnQoKTsKIAorICAgIFByb3BlcnR5UmVnaXN0cnkgbV9wcm9wZXJ0eVJlZ2lzdHJ5IHsgKnRo
aXMgfTsKICAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRGb250PiBtX2NhY2hlZEZvbnQ7
CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9yZWlnbk9iamVjdEVs
ZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC5oCmlu
ZGV4IGZiNTc0NjhhMDZmYmExMDhhNTEyZjliZTVlMjYwMTFiMjg3OWY2ZjcuLjBhYzg1MWRkNjlm
YTBkYzAzMWY4M2I2MmI4OWEwOTJhYWMzZTJjMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdGb3JlaWduT2JqZWN0RWxlbWVudC5oCkBAIC0yOCw2ICsyOCw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZH
R3JhcGhpY3NFbGVtZW50LCBwdWJsaWMgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCB7CiAg
ICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdGb3JlaWduT2JqZWN0RWxlbWVudCk7CisgICAg
dXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdGb3Jl
aWduT2JqZWN0RWxlbWVudCwgU1ZHR3JhcGhpY3NFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNl
c1JlcXVpcmVkPjsKKwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8U1ZHRm9yZWlnbk9iamVjdEVs
ZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIApAQCAtNDQs
OSArNDYsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFNWR0ZvcmVpZ25PYmplY3RFbGVtZW50
KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCi0gICAgdXNpbmcgUHJvcGVydHlS
ZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdGb3JlaWduT2JqZWN0RWxlbWVu
dCwgU1ZHR3JhcGhpY3NFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkPjsKICAg
ICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmlu
YWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9Ci0KICAgICB2b2lkIHBhcnNlQXR0cmli
dXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKSBmaW5hbDsKICAg
ICB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYpIGZpbmFsOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR0VsZW1lbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdHRWxlbWVudC5oCmluZGV4IGNiMjA2YWUzNGFkMmNiYmJmMzQ4MDFjMTJh
ZTQwMTk3OTAyYjZmNWYuLmFkYWViYmVkMTUzNTE2NGExYTA5YTI5MmNhYWE1NDI3NmQ5NWI5OTkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHRWxlbWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdHRWxlbWVudC5oCkBAIC0yOCw2ICsyOCw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogY2xhc3MgU1ZHR0VsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHR3JhcGhpY3NF
bGVtZW50LCBwdWJsaWMgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCB7CiAgICAgV1RGX01B
S0VfSVNPX0FMTE9DQVRFRChTVkdHRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3Ry
eSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdHRWxlbWVudCwgU1ZHR3JhcGhpY3NFbGVt
ZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkPjsKKwogcHVibGljOgogICAgIHN0YXRp
YyBSZWY8U1ZHR0VsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQm
KTsKICAgICBzdGF0aWMgUmVmPFNWR0dFbGVtZW50PiBjcmVhdGUoRG9jdW1lbnQmKTsKQEAgLTM3
LDkgKzM5LDcgQEAgcHJpdmF0ZToKIAogICAgIFJlbmRlclB0cjxSZW5kZXJFbGVtZW50PiBjcmVh
dGVFbGVtZW50UmVuZGVyZXIoUmVuZGVyU3R5bGUmJiwgY29uc3QgUmVuZGVyVHJlZVBvc2l0aW9u
JikgZmluYWw7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25l
clJlZ2lzdHJ5PFNWR0dFbGVtZW50LCBTVkdHcmFwaGljc0VsZW1lbnQsIFNWR0V4dGVybmFsUmVz
b3VyY2VzUmVxdWlyZWQ+OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5
UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KLQog
ICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21p
Y1N0cmluZyYpIGZpbmFsOwogICAgIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFs
aWZpZWROYW1lJikgZmluYWw7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdH
ZW9tZXRyeUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHZW9tZXRyeUVsZW1lbnQu
aAppbmRleCBkMjRlNjIyZDFlMDJhMjU5ZDAzYmM4ZDZmZjUyZDFmMDZjYjg2ZjU2Li4zY2YyNDdk
N2RlYzAxZjk3NWYwYTRjMjFlYjk0ZTcxMWE4ZGJhM2UwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHR2VvbWV0cnlFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0dlb21ldHJ5RWxlbWVudC5oCkBAIC0zMywxNSArMzMsMTYgQEAgY2xhc3MgU1ZHUG9pbnQ7CiAK
IGNsYXNzIFNWR0dlb21ldHJ5RWxlbWVudCA6IHB1YmxpYyBTVkdHcmFwaGljc0VsZW1lbnQgewog
ICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHR2VvbWV0cnlFbGVtZW50KTsKKyAgICAKIHB1
YmxpYzoKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lz
dHJ5PFNWR0dlb21ldHJ5RWxlbWVudCwgU1ZHR3JhcGhpY3NFbGVtZW50PjsKKwogICAgIHZpcnR1
YWwgZmxvYXQgZ2V0VG90YWxMZW5ndGgoKSBjb25zdDsKICAgICB2aXJ0dWFsIFJlZjxTVkdQb2lu
dD4gZ2V0UG9pbnRBdExlbmd0aChmbG9hdCBkaXN0YW5jZSkgY29uc3Q7CiAKICAgICBib29sIGlz
UG9pbnRJbkZpbGwoRE9NUG9pbnRJbml0JiYpOwogICAgIGJvb2wgaXNQb2ludEluU3Ryb2tlKERP
TVBvaW50SW5pdCYmKTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0
eU93bmVyUmVnaXN0cnk8U1ZHR2VvbWV0cnlFbGVtZW50LCBTVkdHcmFwaGljc0VsZW1lbnQ+Owot
CiAgICAgZmxvYXQgcGF0aExlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fcGF0aExlbmd0aC0+Y3Vy
cmVudFZhbHVlKCk7IH0KICAgICBTVkdBbmltYXRlZE51bWJlciYgcGF0aExlbmd0aEFuaW1hdGVk
KCkgeyByZXR1cm4gbV9wYXRoTGVuZ3RoOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdHbHlwaEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHbHlwaEVsZW1l
bnQuaAppbmRleCA5ZmY5OTFlNzIwY2I4MmY4ZmEwYTA2YTYwMDgwNTAwYmE2OTg4ZDgxLi45MGM2
OTM4OTVmZDMwYTdhZmRhMmJlYjdkZjcwYjIzM2U0NWJkNDg0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHR2x5cGhFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0dseXBoRWxlbWVudC5oCkBAIC0yOSw2ICsyOSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Y2xhc3MgU1ZHR2x5cGhFbGVtZW50IGZpbmFsIDogcHVibGljIFNWR0VsZW1lbnQgewogICAgIFdU
Rl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHR2x5cGhFbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0
eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0dseXBoRWxlbWVudCwgU1ZH
RWxlbWVudD47CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR0dseXBoRWxlbWVudD4gY3Jl
YXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCkBAIC0zOCw3ICs0MCwxMCBA
QCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFNWR0dseXBoRWxlbWVudChjb25zdCBRdWFsaWZpZWRO
YW1lJiwgRG9jdW1lbnQmKTsKIAorICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3Bl
cnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0K
ICAgICBib29sIHJlbmRlcmVySXNOZWVkZWQoY29uc3QgUmVuZGVyU3R5bGUmKSBmaW5hbCB7IHJl
dHVybiBmYWxzZTsgfQorCisgICAgUHJvcGVydHlSZWdpc3RyeSBtX3Byb3BlcnR5UmVnaXN0cnkg
eyAqdGhpcyB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0dseXBoUmVmRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0dseXBoUmVmRWxlbWVudC5oCmluZGV4IGJlMDQ2ZWU3MzYyNWFlZDkwYmNkN2RmNTZhYmU5
ZTFkNzE1ZDk4NjkuLjU5MmI4Y2ZhYjgzMTZhN2Y5NzI5ZjBjYTk5MjUzYjcxYzUyNTAxMzkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHbHlwaFJlZkVsZW1lbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHR2x5cGhSZWZFbGVtZW50LmgKQEAgLTI5LDYgKzI5LDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTVkdHbHlwaFJlZkVsZW1lbnQgZmluYWwgOiBw
dWJsaWMgU1ZHRWxlbWVudCwgcHVibGljIFNWR1VSSVJlZmVyZW5jZSB7CiAgICAgV1RGX01BS0Vf
SVNPX0FMTE9DQVRFRChTVkdHbHlwaFJlZkVsZW1lbnQpOworICAgIHVzaW5nIFByb3BlcnR5UmVn
aXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHR2x5cGhSZWZFbGVtZW50LCBTVkdF
bGVtZW50LCBTVkdVUklSZWZlcmVuY2U+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdH
bHlwaFJlZkVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsK
IApAQCAtNDYsOSArNDgsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFNWR0dseXBoUmVmRWxl
bWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAotICAgIHVzaW5nIFByb3Bl
cnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHR2x5cGhSZWZFbGVtZW50
LCBTVkdFbGVtZW50LCBTVkdVUklSZWZlcmVuY2U+OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVn
aXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5
UmVnaXN0cnk7IH0KLQogICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFt
ZSYsIGNvbnN0IEF0b21pY1N0cmluZyYpIGZpbmFsOwogICAgIGJvb2wgcmVuZGVyZXJJc05lZWRl
ZChjb25zdCBSZW5kZXJTdHlsZSYpIGZpbmFsIHsgcmV0dXJuIGZhbHNlOyB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHcmFkaWVudEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdHcmFkaWVudEVsZW1lbnQuaAppbmRleCAyMWIyMTBjNTk1MWRjYjFjZWM1YzY0
MmVhODllYzM2MjI0ODFmN2FmLi4wYjZjN2Q1ZjJkZDkzMmNhNTljMWEzZjI1NTUzMDI1ZGMzMTU5
Y2E0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR3JhZGllbnRFbGVtZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5oCkBAIC0zMCw0OSAr
MzAsMTIgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1lbnVtIFNWR1NwcmVhZE1ldGhvZFR5
cGUgewotICAgIFNWR1NwcmVhZE1ldGhvZFVua25vd24gPSAwLAotICAgIFNWR1NwcmVhZE1ldGhv
ZFBhZCwKLSAgICBTVkdTcHJlYWRNZXRob2RSZWZsZWN0LAotICAgIFNWR1NwcmVhZE1ldGhvZFJl
cGVhdAotfTsKLQotdGVtcGxhdGU8Pgotc3RydWN0IFNWR1Byb3BlcnR5VHJhaXRzPFNWR1NwcmVh
ZE1ldGhvZFR5cGU+IHsKLSAgICBzdGF0aWMgdW5zaWduZWQgaGlnaGVzdEVudW1WYWx1ZSgpIHsg
cmV0dXJuIFNWR1NwcmVhZE1ldGhvZFJlcGVhdDsgfQotCi0gICAgc3RhdGljIFN0cmluZyB0b1N0
cmluZyhTVkdTcHJlYWRNZXRob2RUeXBlIHR5cGUpCi0gICAgewotICAgICAgICBzd2l0Y2ggKHR5
cGUpIHsKLSAgICAgICAgY2FzZSBTVkdTcHJlYWRNZXRob2RVbmtub3duOgotICAgICAgICAgICAg
cmV0dXJuIGVtcHR5U3RyaW5nKCk7Ci0gICAgICAgIGNhc2UgU1ZHU3ByZWFkTWV0aG9kUGFkOgot
ICAgICAgICAgICAgcmV0dXJuICJwYWQiX3M7Ci0gICAgICAgIGNhc2UgU1ZHU3ByZWFkTWV0aG9k
UmVmbGVjdDoKLSAgICAgICAgICAgIHJldHVybiAicmVmbGVjdCJfczsKLSAgICAgICAgY2FzZSBT
VkdTcHJlYWRNZXRob2RSZXBlYXQ6Ci0gICAgICAgICAgICByZXR1cm4gInJlcGVhdCJfczsKLSAg
ICAgICAgfQotCi0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICByZXR1cm4g
ZW1wdHlTdHJpbmcoKTsKLSAgICB9Ci0KLSAgICBzdGF0aWMgU1ZHU3ByZWFkTWV0aG9kVHlwZSBm
cm9tU3RyaW5nKGNvbnN0IFN0cmluZyYgdmFsdWUpCi0gICAgewotICAgICAgICBpZiAodmFsdWUg
PT0gInBhZCIpCi0gICAgICAgICAgICByZXR1cm4gU1ZHU3ByZWFkTWV0aG9kUGFkOwotICAgICAg
ICBpZiAodmFsdWUgPT0gInJlZmxlY3QiKQotICAgICAgICAgICAgcmV0dXJuIFNWR1NwcmVhZE1l
dGhvZFJlZmxlY3Q7Ci0gICAgICAgIGlmICh2YWx1ZSA9PSAicmVwZWF0IikKLSAgICAgICAgICAg
IHJldHVybiBTVkdTcHJlYWRNZXRob2RSZXBlYXQ7Ci0gICAgICAgIHJldHVybiBTVkdTcHJlYWRN
ZXRob2RVbmtub3duOwotICAgIH0KLX07Ci0KIGNsYXNzIFNWR0dyYWRpZW50RWxlbWVudCA6IHB1
YmxpYyBTVkdFbGVtZW50LCBwdWJsaWMgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgcHVi
bGljIFNWR1VSSVJlZmVyZW5jZSB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdHcmFk
aWVudEVsZW1lbnQpOworCiBwdWJsaWM6CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNW
R1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdHcmFkaWVudEVsZW1lbnQsIFNWR0VsZW1lbnQsIFNW
R0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIFNWR1VSSVJlZmVyZW5jZT47CisKICAgICBlbnVt
IHsKICAgICAgICAgU1ZHX1NQUkVBRE1FVEhPRF9VTktOT1dOID0gU1ZHU3ByZWFkTWV0aG9kVW5r
bm93biwKICAgICAgICAgU1ZHX1NQUkVBRE1FVEhPRF9QQUQgPSBTVkdTcHJlYWRNZXRob2RSZWZs
ZWN0LApAQCAtODIsOCArNDUsNiBAQCBwdWJsaWM6CiAKICAgICBWZWN0b3I8R3JhZGllbnQ6OkNv
bG9yU3RvcD4gYnVpbGRTdG9wcygpOwogCi0gICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNW
R1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdHcmFkaWVudEVsZW1lbnQsIFNWR0VsZW1lbnQsIFNW
R0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIFNWR1VSSVJlZmVyZW5jZT47Ci0KICAgICBTVkdT
cHJlYWRNZXRob2RUeXBlIHNwcmVhZE1ldGhvZCgpIGNvbnN0IHsgcmV0dXJuIG1fc3ByZWFkTWV0
aG9kLT5jdXJyZW50VmFsdWU8U1ZHU3ByZWFkTWV0aG9kVHlwZT4oKTsgfQogICAgIFNWR1VuaXRU
eXBlczo6U1ZHVW5pdFR5cGUgZ3JhZGllbnRVbml0cygpIGNvbnN0IHsgcmV0dXJuIG1fZ3JhZGll
bnRVbml0cy0+Y3VycmVudFZhbHVlPFNWR1VuaXRUeXBlczo6U1ZHVW5pdFR5cGU+KCk7IH0KICAg
ICBjb25zdCBTVkdUcmFuc2Zvcm1MaXN0JiBncmFkaWVudFRyYW5zZm9ybSgpIGNvbnN0IHsgcmV0
dXJuIG1fZ3JhZGllbnRUcmFuc2Zvcm0tPmN1cnJlbnRWYWx1ZSgpOyB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHR3JhcGhpY3NFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHR3JhcGhpY3NFbGVtZW50LmgKaW5kZXggZDUxNmU1OWIzODU5MDZiMjg3OTgyY2I5MGZk
OGY3NjBmZmE3NzU0YS4uN2VjNDRmMWJjM2ZjMWExMzYwYjIwYmMwOTQwNDcyMDZiMDZhYzFhYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dyYXBoaWNzRWxlbWVudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHcmFwaGljc0VsZW1lbnQuaApAQCAtMzQsNyArMzQsMTAg
QEAgY2xhc3MgU1ZHTWF0cml4OwogCiBjbGFzcyBTVkdHcmFwaGljc0VsZW1lbnQgOiBwdWJsaWMg
U1ZHRWxlbWVudCwgcHVibGljIFNWR1RyYW5zZm9ybWFibGUsIHB1YmxpYyBTVkdUZXN0cyB7CiAg
ICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdHcmFwaGljc0VsZW1lbnQpOworCiBwdWJsaWM6
CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxT
VkdHcmFwaGljc0VsZW1lbnQsIFNWR0VsZW1lbnQsIFNWR1Rlc3RzPjsKKwogICAgIHZpcnR1YWwg
flNWR0dyYXBoaWNzRWxlbWVudCgpOwogCiAgICAgUmVmPFNWR01hdHJpeD4gZ2V0Q1RNRm9yQmlu
ZGluZ3MoKTsKQEAgLTYyLDggKzY1LDYgQEAgcHVibGljOgogCiAgICAgc2l6ZV90IGFwcHJveGlt
YXRlTWVtb3J5Q29zdCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHNpemVvZigqdGhpcyk7IH0K
IAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8
U1ZHR3JhcGhpY3NFbGVtZW50LCBTVkdFbGVtZW50LCBTVkdUZXN0cz47Ci0KICAgICBjb25zdCBT
VkdUcmFuc2Zvcm1MaXN0JiB0cmFuc2Zvcm0oKSBjb25zdCB7IHJldHVybiBtX3RyYW5zZm9ybS0+
Y3VycmVudFZhbHVlKCk7IH0KICAgICBTVkdBbmltYXRlZFRyYW5zZm9ybUxpc3QmIHRyYW5zZm9y
bUFuaW1hdGVkKCkgeyByZXR1cm4gbV90cmFuc2Zvcm07IH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0hLZXJuRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0hL
ZXJuRWxlbWVudC5oCmluZGV4IDc0N2IwMzI3ZDY5ODYzN2M4ZjY1ZTdiZTkwNDQwODg0NTQzNjUx
MzMuLmYyOTM1ZjAwZDIwNmRmMzMxNWUxMDFlNTc0MzVhYjVkZTBjZTkwZTAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdIS2VybkVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHSEtlcm5FbGVtZW50LmgKQEAgLTI5LDYgKzI5LDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBTVkdIS2VybkVsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHRWxlbWVudCB7
CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdIS2VybkVsZW1lbnQpOworICAgIHVzaW5n
IFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHSEtlcm5FbGVt
ZW50LCBTVkdFbGVtZW50PjsKKwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8U1ZHSEtlcm5FbGVt
ZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKQEAgLTM3LDcg
KzM5LDEwIEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgU1ZHSEtlcm5FbGVtZW50KGNvbnN0IFF1
YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCisgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3Ry
eSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdp
c3RyeTsgfQogICAgIGJvb2wgcmVuZGVyZXJJc05lZWRlZChjb25zdCBSZW5kZXJTdHlsZSYpIGZp
bmFsIHsgcmV0dXJuIGZhbHNlOyB9CisKKyAgICBQcm9wZXJ0eVJlZ2lzdHJ5IG1fcHJvcGVydHlS
ZWdpc3RyeSB7ICp0aGlzIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHSW1hZ2VFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHSW1hZ2VFbGVtZW50LmgKaW5kZXggZGNkN2EwODI2YWQ0OWEyZWZkNmQxMDhiYjEx
YTI4OWU5NjM5NTRkNC4uZDMxZjAzMmRiOWNjOTFkZDgxNGYwMjJlMmY4ZDBlZGQ3YzAyNTc5YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ltYWdlRWxlbWVudC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdJbWFnZUVsZW1lbnQuaApAQCAtMzAsNiArMzAsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNWR0ltYWdlRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBT
VkdHcmFwaGljc0VsZW1lbnQsIHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBw
dWJsaWMgU1ZHVVJJUmVmZXJlbmNlIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR0lt
YWdlRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3du
ZXJSZWdpc3RyeTxTVkdJbWFnZUVsZW1lbnQsIFNWR0dyYXBoaWNzRWxlbWVudCwgU1ZHRXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZCwgU1ZHVVJJUmVmZXJlbmNlPjsKKwogcHVibGljOgogICAgIHN0
YXRpYyBSZWY8U1ZHSW1hZ2VFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERv
Y3VtZW50Jik7CiAKQEAgLTUxLDkgKzUzLDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBTVkdJ
bWFnZUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAgICAgCi0gICAg
dXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdJbWFn
ZUVsZW1lbnQsIFNWR0dyYXBoaWNzRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJl
ZCwgU1ZHVVJJUmVmZXJlbmNlPjsKICAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9w
ZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9
Ci0KICAgICB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBB
dG9taWNTdHJpbmcmKSBmaW5hbDsKICAgICB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3Qg
UXVhbGlmaWVkTmFtZSYpIGZpbmFsOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHTGVuZ3RoLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoLmgKaW5kZXggZmYwZmQz
NTE0YjI2M2UxMzhkNWNjYTkwN2YzYTc5ODdiNmYzYjllZi4uOWJiYjVkZjgyNTVhZWY2MGE1OGMx
MzRmMjQ1OGFlMThmYzkwMjFiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xl
bmd0aC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMZW5ndGguaApAQCAtNjYsNiArNjYs
MjMgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdMZW5ndGgob3du
ZXIsIGFjY2VzcywgdmFsdWUpKTsKICAgICB9CiAKKyAgICBzdGF0aWMgRXhwZWN0ZWQ8UmVmPFNW
R0xlbmd0aD4sIFNWR1BhcnNpbmdFcnJvcj4gY3JlYXRlKGNvbnN0IFVDaGFyKiYgcHRyLCBjb25z
dCBVQ2hhciogZW5kLCBTVkdMZW5ndGhNb2RlIGxlbmd0aE1vZGUpCisgICAgeworICAgICAgICBj
b25zdCBVQ2hhciogc3RhcnQgPSBwdHI7CisgICAgICAgIHdoaWxlIChwdHIgPCBlbmQgJiYgKnB0
ciAhPSAnLCcgJiYgIWlzU1ZHU3BhY2UoKnB0cikpCisgICAgICAgICAgICBwdHIrKzsKKworICAg
ICAgICBTdHJpbmcgc3RyaW5nKHN0YXJ0LCBwdHIgLSBzdGFydCk7CisgICAgICAgIGlmIChzdHJp
bmcuaXNFbXB0eSgpKQorICAgICAgICAgICAgcmV0dXJuIG1ha2VVbmV4cGVjdGVkKFBhcnNpbmdB
dHRyaWJ1dGVGYWlsZWRFcnJvcik7CisKKyAgICAgICAgU1ZHTGVuZ3RoVmFsdWUgdmFsdWUobGVu
Z3RoTW9kZSk7CisgICAgICAgIGlmICh2YWx1ZS5zZXRWYWx1ZUFzU3RyaW5nKHN0cmluZykuaGFz
RXhjZXB0aW9uKCkpCisgICAgICAgICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQoUGFyc2luZ0F0
dHJpYnV0ZUZhaWxlZEVycm9yKTsKKworICAgICAgICByZXR1cm4gU1ZHTGVuZ3RoOjpjcmVhdGUo
dmFsdWUpOworICAgIH0KKwogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CiAgICAgc3RhdGljIEV4
Y2VwdGlvbk9yPFJlZjxTVkdMZW5ndGg+PiBjcmVhdGUoRXhjZXB0aW9uT3I8VD4mJiB2YWx1ZSkK
ICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoTGlzdC5oIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0xlbmd0aExpc3QuaAppbmRleCBiMDE0N2ZhMjM0ZjRkOWE4
OGY5ZmM5ZjMxZDVmMzg4OTczMTY3Njk1Li5kZmU2NTY5ODU4OTM2OTU4N2QwZDk4MzZjMjk3NGE1
NDkwZmJkZTA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoTGlzdC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMZW5ndGhMaXN0LmgKQEAgLTUyLDQ2ICs1Miwx
MSBAQCBwdWJsaWM6CiAKICAgICBTVkdMZW5ndGhNb2RlIGxlbmd0aE1vZGUoKSBjb25zdCB7IHJl
dHVybiBtX2xlbmd0aE1vZGU7IH0KIAotICAgIGJvb2wgcGFyc2UoY29uc3QgU3RyaW5nJiB2YWx1
ZSkKKyAgICBTVkdQYXJzaW5nRXJyb3IgcGFyc2UoY29uc3QgU3RyaW5nJiB2YWx1ZSkKICAgICB7
Ci0gICAgICAgIGNsZWFySXRlbXMoKTsKLQotICAgICAgICBhdXRvIHVwY29udmVydGVkQ2hhcmFj
dGVycyA9IFN0cmluZ1ZpZXcodmFsdWUpLnVwY29udmVydGVkQ2hhcmFjdGVycygpOwotICAgICAg
ICBjb25zdCBVQ2hhciogcHRyID0gdXBjb252ZXJ0ZWRDaGFyYWN0ZXJzOwotICAgICAgICBjb25z
dCBVQ2hhciogZW5kID0gcHRyICsgdmFsdWUubGVuZ3RoKCk7Ci0gICAgICAgIHdoaWxlIChwdHIg
PCBlbmQpIHsKLSAgICAgICAgICAgIGNvbnN0IFVDaGFyKiBzdGFydCA9IHB0cjsKLSAgICAgICAg
ICAgIHdoaWxlIChwdHIgPCBlbmQgJiYgKnB0ciAhPSAnLCcgJiYgIWlzU1ZHU3BhY2UoKnB0cikp
Ci0gICAgICAgICAgICAgICAgcHRyKys7Ci0gICAgICAgICAgICBpZiAocHRyID09IHN0YXJ0KQot
ICAgICAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgICAgICBTdHJpbmcgdmFsdWVTdHJpbmco
c3RhcnQsIHB0ciAtIHN0YXJ0KTsKLSAgICAgICAgICAgIFNWR0xlbmd0aFZhbHVlIHZhbHVlKG1f
bGVuZ3RoTW9kZSk7Ci0gICAgICAgICAgICBpZiAodmFsdWUuc2V0VmFsdWVBc1N0cmluZyh2YWx1
ZVN0cmluZykuaGFzRXhjZXB0aW9uKCkpCi0gICAgICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAg
ICAgICAgIGFwcGVuZChTVkdMZW5ndGg6OmNyZWF0ZSh2YWx1ZSkpOwotICAgICAgICAgICAgc2tp
cE9wdGlvbmFsU1ZHU3BhY2VzT3JEZWxpbWl0ZXIocHRyLCBlbmQpOwotICAgICAgICB9Ci0KLSAg
ICAgICAgcmV0dXJuIHB0ciA9PSBlbmQ7CisgICAgICAgIHJldHVybiBCYXNlOjpwYXJzZSh2YWx1
ZSwgbV9sZW5ndGhNb2RlKTsKICAgICB9CiAKLSAgICBTdHJpbmcgdmFsdWVBc1N0cmluZygpIGNv
bnN0IG92ZXJyaWRlCi0gICAgewotICAgICAgICBTdHJpbmdCdWlsZGVyIGJ1aWxkZXI7Ci0KLSAg
ICAgICAgZm9yIChjb25zdCBhdXRvJiBsZW5ndGggOiBtX2l0ZW1zKSB7Ci0gICAgICAgICAgICBp
ZiAoYnVpbGRlci5sZW5ndGgoKSkKLSAgICAgICAgICAgICAgICBidWlsZGVyLmFwcGVuZCgnICcp
OwotCi0gICAgICAgICAgICBidWlsZGVyLmFwcGVuZChsZW5ndGgtPnZhbHVlKCkudmFsdWVBc1N0
cmluZygpKTsKLSAgICAgICAgfQotCi0gICAgICAgIHJldHVybiBidWlsZGVyLnRvU3RyaW5nKCk7
Ci0gICAgfQotICAgIAogcHJpdmF0ZToKICAgICBTVkdMZW5ndGhMaXN0KFNWR0xlbmd0aE1vZGUg
bGVuZ3RoTW9kZSkKICAgICAgICAgOiBtX2xlbmd0aE1vZGUobGVuZ3RoTW9kZSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMZW5ndGhWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0xlbmd0aFZhbHVlLmgKaW5kZXggOTI2NjFiMjFlNTNlNzAwY2ExYmFmZWU1MWUxZjdj
NWFjOWQ2ZTM0NS4uOTdiNTUxMzdkMjQ4NTE2MjM2YjUzNWY0OWM3NjYyNjFiMmIwNGJhNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xlbmd0aFZhbHVlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0xlbmd0aFZhbHVlLmgKQEAgLTE0NSwxNyArMTQ1LDYgQEAgcHJpdmF0
ZToKICAgICB1bnNpZ25lZCBtX3VuaXQ7CiB9OwogCi10ZW1wbGF0ZTw+IHN0cnVjdCBTVkdQcm9w
ZXJ0eVRyYWl0czxTVkdMZW5ndGhWYWx1ZT4gewotICAgIHN0YXRpYyBTVkdMZW5ndGhWYWx1ZSBp
bml0aWFsVmFsdWUoKSB7IHJldHVybiB7IH07IH0KLSAgICBzdGF0aWMgT3B0aW9uYWw8U1ZHTGVu
Z3RoVmFsdWU+IHBhcnNlKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lLCBjb25zdCBTdHJp
bmcmIHN0cmluZykKLSAgICB7Ci0gICAgICAgIFNWR0xlbmd0aFZhbHVlIGxlbmd0aDsKLSAgICAg
ICAgbGVuZ3RoLnNldFZhbHVlQXNTdHJpbmcoc3RyaW5nLCBTVkdMZW5ndGhWYWx1ZTo6bGVuZ3Ro
TW9kZUZvckFuaW1hdGVkTGVuZ3RoQXR0cmlidXRlKGF0dHJOYW1lKSkuaGFzRXhjZXB0aW9uKCk7
Ci0gICAgICAgIHJldHVybiBsZW5ndGg7Ci0gICAgfQotICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJp
bmcoY29uc3QgU1ZHTGVuZ3RoVmFsdWUmIGxlbmd0aCkgeyByZXR1cm4gbGVuZ3RoLnZhbHVlQXNT
dHJpbmcoKTsgfQotfTsKLQogV1RGOjpUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFdURjo6VGV4dFN0
cmVhbSYsIGNvbnN0IFNWR0xlbmd0aFZhbHVlJik7CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMaW5lRWxlbWVudC5oIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0xpbmVFbGVtZW50LmgKaW5kZXggZGQwMjlhM2Q1YmVkODI1MDI0ODc5
OWM5NGNjYzZjNzgxZDI3YTJjZi4uZTFmYmVhOWUyNTBjZWI0Nzc5YmViNzRmN2YzZTI0NWQ0OGJh
NDcwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xpbmVFbGVtZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xpbmVFbGVtZW50LmgKQEAgLTI5LDYgKzI5LDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTVkdMaW5lRWxlbWVudCBmaW5hbCA6IHB1Ymxp
YyBTVkdHZW9tZXRyeUVsZW1lbnQsIHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR0xpbmVFbGVtZW50KTsKKyAgICB1c2lu
ZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0xpbmVFbGVt
ZW50LCBTVkdHZW9tZXRyeUVsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ+Owor
CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdMaW5lRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1
YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCkBAIC00NSw5ICs0Nyw3IEBAIHB1YmxpYzoKIHBy
aXZhdGU6CiAgICAgU1ZHTGluZUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50
Jik7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lz
dHJ5PFNWR0xpbmVFbGVtZW50LCBTVkdHZW9tZXRyeUVsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3Vy
Y2VzUmVxdWlyZWQ+OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVn
aXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KLQogICAg
IHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0
cmluZyYpIGZpbmFsOwogICAgIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZp
ZWROYW1lJikgZmluYWw7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMaW5l
YXJHcmFkaWVudEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMaW5lYXJHcmFkaWVu
dEVsZW1lbnQuaAppbmRleCAwNGEzMWRkNDdjMGIyMTkxNjM4MzhhZjVjNWUwOWE5Mjg1YzNhMjZm
Li44YWQxZWE5ZDI0OTkwMjViNTMzY2U2YWEwNjlkZGViMzY5NGYyMTQ4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0xpbmVhckdyYWRpZW50RWxlbWVudC5oCkBAIC0zMCw2ICszMCw4IEBA
IHN0cnVjdCBMaW5lYXJHcmFkaWVudEF0dHJpYnV0ZXM7CiAKIGNsYXNzIFNWR0xpbmVhckdyYWRp
ZW50RWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdHcmFkaWVudEVsZW1lbnQgewogICAgIFdURl9N
QUtFX0lTT19BTExPQ0FURUQoU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50KTsKKyAgICB1c2luZyBQ
cm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0xpbmVhckdyYWRp
ZW50RWxlbWVudCwgU1ZHR3JhZGllbnRFbGVtZW50PjsKKwogcHVibGljOgogICAgIHN0YXRpYyBS
ZWY8U1ZHTGluZWFyR3JhZGllbnRFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYs
IERvY3VtZW50Jik7CiAKQEAgLTQ4LDkgKzUwLDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBT
VkdMaW5lYXJHcmFkaWVudEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7
CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5
PFNWR0xpbmVhckdyYWRpZW50RWxlbWVudCwgU1ZHR3JhZGllbnRFbGVtZW50PjsKICAgICBjb25z
dCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyBy
ZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9Ci0KICAgICB2b2lkIHBhcnNlQXR0cmlidXRlKGNv
bnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKSBvdmVycmlkZTsKICAgICB2
b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYpIG92ZXJyaWRlOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTVBhdGhFbGVtZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHTVBhdGhFbGVtZW50LmgKaW5kZXggZDY1OTAzY2ViODNhOWJjZjYx
NTRiNzhjY2FhNGE2YmEzNTRiM2ZlNi4uNjcwZTY0ZDlhYmMzMzk3ODc3Nzk0YTJiYTEzN2ZiNGUy
YWQzMDk0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR01QYXRoRWxlbWVudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNUGF0aEVsZW1lbnQuaApAQCAtMzEsNiArMzEs
OCBAQCBjbGFzcyBTVkdQYXRoRWxlbWVudDsKIAogY2xhc3MgU1ZHTVBhdGhFbGVtZW50IGZpbmFs
IDogcHVibGljIFNWR0VsZW1lbnQsIHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
LCBwdWJsaWMgU1ZHVVJJUmVmZXJlbmNlIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNW
R01QYXRoRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5
T3duZXJSZWdpc3RyeTxTVkdNUGF0aEVsZW1lbnQsIFNWR0VsZW1lbnQsIFNWR0V4dGVybmFsUmVz
b3VyY2VzUmVxdWlyZWQsIFNWR1VSSVJlZmVyZW5jZT47CisKIHB1YmxpYzoKICAgICBzdGF0aWMg
UmVmPFNWR01QYXRoRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVu
dCYpOwogCkBAIC00Myw5ICs0NSw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgU1ZHTVBhdGhF
bGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCi0gICAgdXNpbmcgUHJv
cGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdNUGF0aEVsZW1lbnQs
IFNWR0VsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIFNWR1VSSVJlZmVyZW5j
ZT47CiAgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNv
bnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQotCiAgICAgdm9pZCBwYXJz
ZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJikgZmlu
YWw7CiAgICAgdm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBm
aW5hbDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR01hcmtlckVsZW1lbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNYXJrZXJFbGVtZW50LmgKaW5kZXggZjAzNDU4NDQw
M2JhYmEyNjNmMThiZWMxYzE0MzhjNzZlODY4MWI1MC4uYTYzYmM1MzUwYmY4NTg4NzE1NDk5MWZh
Yjg0Mzk4YjM3NjQ0Nzk4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR01hcmtl
ckVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWFya2VyRWxlbWVudC5oCkBA
IC0zMCw2ICszMCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU1ZHTWFya2VyRWxl
bWVudCBmaW5hbCA6IHB1YmxpYyBTVkdFbGVtZW50LCBwdWJsaWMgU1ZHRXh0ZXJuYWxSZXNvdXJj
ZXNSZXF1aXJlZCwgcHVibGljIFNWR0ZpdFRvVmlld0JveCB7CiAgICAgV1RGX01BS0VfSVNPX0FM
TE9DQVRFRChTVkdNYXJrZXJFbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0g
U1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR01hcmtlckVsZW1lbnQsIFNWR0VsZW1lbnQsIFNW
R0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIFNWR0ZpdFRvVmlld0JveD47CisKIHB1YmxpYzoK
ICAgICAvLyBGb3J3YXJkIGRlY2xhcmUgZW51bWVyYXRpb25zIGluIHRoZSBXM0MgbmFtaW5nIHNj
aGVtZSwgZm9yIElETCBnZW5lcmF0aW9uLgogICAgIGVudW0gewpAQCAtNzEsOSArNzMsNyBAQCBw
dWJsaWM6CiBwcml2YXRlOgogICAgIFNWR01hcmtlckVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFt
ZSYsIERvY3VtZW50Jik7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVy
dHlPd25lclJlZ2lzdHJ5PFNWR01hcmtlckVsZW1lbnQsIFNWR0VsZW1lbnQsIFNWR0V4dGVybmFs
UmVzb3VyY2VzUmVxdWlyZWQsIFNWR0ZpdFRvVmlld0JveD47CiAgICAgY29uc3QgU1ZHUHJvcGVy
dHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJv
cGVydHlSZWdpc3RyeTsgfQotCiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZp
ZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBzdmdBdHRy
aWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBvdmVycmlkZTsKICAgICB2b2lkIGNo
aWxkcmVuQ2hhbmdlZChjb25zdCBDaGlsZENoYW5nZSYpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR01hcmtlclR5cGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHTWFya2VyVHlwZXMuaAppbmRleCBiODExZDJlOWRiY2I0ZDI2M2JiZmMzYzAwYzI3NGMzNzJh
MzhlMDdhLi44MjZhMGY1NDQ4NWUwODUwNDRhNDY5N2I5ODkxOTNjMGI4MTdmOGZkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWFya2VyVHlwZXMuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHTWFya2VyVHlwZXMuaApAQCAtMjYsOTkgKzI2LDMyIEBACiAjcHJhZ21hIG9u
Y2UKIAogI2luY2x1ZGUgIlNWR0FuZ2xlVmFsdWUuaCIKKyNpbmNsdWRlICJTVkdFbnVtVHlwZS5o
IgogI2luY2x1ZGUgIlNWR1Byb3BlcnR5VHJhaXRzLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotZW51bSBTVkdNYXJrZXJVbml0c1R5cGUgewotICAgIFNWR01hcmtlclVuaXRzVW5rbm93biA9
IDAsCi0gICAgU1ZHTWFya2VyVW5pdHNVc2VyU3BhY2VPblVzZSwKLSAgICBTVkdNYXJrZXJVbml0
c1N0cm9rZVdpZHRoCi19OwotCi1lbnVtIFNWR01hcmtlck9yaWVudFR5cGUgewotICAgIFNWR01h
cmtlck9yaWVudFVua25vd24gPSAwLAotICAgIFNWR01hcmtlck9yaWVudEF1dG8sCi0gICAgU1ZH
TWFya2VyT3JpZW50QW5nbGUsCi0gICAgU1ZHTWFya2VyT3JpZW50QXV0b1N0YXJ0UmV2ZXJzZSwK
LSAgICAKLSAgICAvLyBBZGQgbmV3IGVsZW1lbnRzIGJlZm9yZSBoZXJlLgotICAgIFNWR01hcmtl
ck9yaWVudE1heAotfTsKLSAgICAKIHRlbXBsYXRlPD4KLXN0cnVjdCBTVkdQcm9wZXJ0eVRyYWl0
czxTVkdNYXJrZXJVbml0c1R5cGU+IHsKLSAgICBzdGF0aWMgdW5zaWduZWQgaGlnaGVzdEVudW1W
YWx1ZSgpIHsgcmV0dXJuIFNWR01hcmtlclVuaXRzU3Ryb2tlV2lkdGg7IH0KLSAgICBzdGF0aWMg
U3RyaW5nIHRvU3RyaW5nKFNWR01hcmtlclVuaXRzVHlwZSB0eXBlKQotICAgIHsKLSAgICAgICAg
c3dpdGNoICh0eXBlKSB7Ci0gICAgICAgIGNhc2UgU1ZHTWFya2VyVW5pdHNVbmtub3duOgotICAg
ICAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7Ci0gICAgICAgIGNhc2UgU1ZHTWFya2VyVW5p
dHNVc2VyU3BhY2VPblVzZToKLSAgICAgICAgICAgIHJldHVybiAidXNlclNwYWNlT25Vc2UiX3M7
Ci0gICAgICAgIGNhc2UgU1ZHTWFya2VyVW5pdHNTdHJva2VXaWR0aDoKLSAgICAgICAgICAgIHJl
dHVybiAic3Ryb2tlV2lkdGgiX3M7Ci0gICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKLSAgICB9Ci0g
ICAgc3RhdGljIFNWR01hcmtlclVuaXRzVHlwZSBmcm9tU3RyaW5nKGNvbnN0IFN0cmluZyYgdmFs
dWUpCitzdHJ1Y3QgU1ZHUHJvcGVydHlUcmFpdHM8c3RkOjpwYWlyPFNWR0FuZ2xlVmFsdWUsIFNW
R01hcmtlck9yaWVudFR5cGU+PiB7CisgICAgc3RhdGljIEV4cGVjdGVkPHN0ZDo6cGFpcjxTVkdB
bmdsZVZhbHVlLCBTVkdNYXJrZXJPcmllbnRUeXBlPiwgU1ZHUGFyc2luZ0Vycm9yPiBwYXJzZShj
b25zdCBTdHJpbmcmIHN0cmluZykKICAgICB7Ci0gICAgICAgIGlmICh2YWx1ZSA9PSAidXNlclNw
YWNlT25Vc2UiKQotICAgICAgICAgICAgcmV0dXJuIFNWR01hcmtlclVuaXRzVXNlclNwYWNlT25V
c2U7Ci0gICAgICAgIGlmICh2YWx1ZSA9PSAic3Ryb2tlV2lkdGgiKQotICAgICAgICAgICAgcmV0
dXJuIFNWR01hcmtlclVuaXRzU3Ryb2tlV2lkdGg7Ci0gICAgICAgIHJldHVybiBTVkdNYXJrZXJV
bml0c1Vua25vd247Ci0gICAgfQotfTsKKyAgICAgICAgU1ZHQW5nbGVWYWx1ZSBhbmdsZTsKKyAg
ICAgICAgaWYgKHN0cmluZy5pc0VtcHR5KCkpCisgICAgICAgICAgICByZXR1cm4gc3RkOjptYWtl
X3BhaXIoYW5nbGUsIFNWR01hcmtlck9yaWVudEFuZ2xlKTsKIAotdGVtcGxhdGU8Pgotc3RydWN0
IFNWR1Byb3BlcnR5VHJhaXRzPFNWR01hcmtlck9yaWVudFR5cGU+IHsKLSAgICBzdGF0aWMgY29u
c3QgU3RyaW5nIGF1dG9TdHJpbmcoKQotICAgIHsKLSAgICAgICAgc3RhdGljIGNvbnN0IE5ldmVy
RGVzdHJveWVkPFN0cmluZz4gYXV0b1N0cmluZyA9IE1BS0VfU1RBVElDX1NUUklOR19JTVBMKCJh
dXRvIik7Ci0gICAgICAgIHJldHVybiBhdXRvU3RyaW5nOwotICAgIH0KLSAgICBzdGF0aWMgY29u
c3QgU3RyaW5nIGF1dG9TdGFydFJldmVyc2VTdHJpbmcoKQotICAgIHsKLSAgICAgICAgc3RhdGlj
IGNvbnN0IE5ldmVyRGVzdHJveWVkPFN0cmluZz4gYXV0b1N0YXJ0UmV2ZXJzZVN0cmluZyA9IE1B
S0VfU1RBVElDX1NUUklOR19JTVBMKCJhdXRvLXN0YXJ0LXJldmVyc2UiKTsKLSAgICAgICAgcmV0
dXJuIGF1dG9TdGFydFJldmVyc2VTdHJpbmc7Ci0gICAgfQotICAgIHN0YXRpYyB1bnNpZ25lZCBo
aWdoZXN0RW51bVZhbHVlKCkgeyByZXR1cm4gU1ZHTWFya2VyT3JpZW50QXV0b1N0YXJ0UmV2ZXJz
ZTsgfQotICAgIHN0YXRpYyBTVkdNYXJrZXJPcmllbnRUeXBlIGZyb21TdHJpbmcoY29uc3QgU3Ry
aW5nJiBzdHJpbmcpCi0gICAgewotICAgICAgICBpZiAoc3RyaW5nID09IGF1dG9TdHJpbmcoKSkK
LSAgICAgICAgICAgIHJldHVybiBTVkdNYXJrZXJPcmllbnRBdXRvOwotICAgICAgICBpZiAoc3Ry
aW5nID09IGF1dG9TdGFydFJldmVyc2VTdHJpbmcoKSkKLSAgICAgICAgICAgIHJldHVybiBTVkdN
YXJrZXJPcmllbnRBdXRvU3RhcnRSZXZlcnNlOwotICAgICAgICByZXR1cm4gU1ZHTWFya2VyT3Jp
ZW50VW5rbm93bjsKLSAgICB9Ci0gICAgc3RhdGljIFN0cmluZyB0b1N0cmluZyhTVkdNYXJrZXJP
cmllbnRUeXBlIHR5cGUpCi0gICAgewotICAgICAgICBpZiAodHlwZSA9PSBTVkdNYXJrZXJPcmll
bnRBdXRvKQotICAgICAgICAgICAgcmV0dXJuIGF1dG9TdHJpbmcoKTsKLSAgICAgICAgaWYgKHR5
cGUgPT0gU1ZHTWFya2VyT3JpZW50QXV0b1N0YXJ0UmV2ZXJzZSkKLSAgICAgICAgICAgIHJldHVy
biBhdXRvU3RhcnRSZXZlcnNlU3RyaW5nKCk7Ci0gICAgICAgIHJldHVybiBlbXB0eVN0cmluZygp
OwotICAgIH0KLX07CisgICAgICAgIFNWR01hcmtlck9yaWVudFR5cGUgb3JpZW50VHlwZSA9IFNW
R1Byb3BlcnR5VHJhaXRzPFNWR01hcmtlck9yaWVudFR5cGU+Ojpmcm9tU3RyaW5nKHN0cmluZyk7
CisgICAgICAgIGlmIChvcmllbnRUeXBlICE9IFNWR01hcmtlck9yaWVudFVua25vd24pCisgICAg
ICAgICAgICByZXR1cm4gc3RkOjptYWtlX3BhaXIoYW5nbGUsIG9yaWVudFR5cGUpOwogCi10ZW1w
bGF0ZTw+Ci1pbmxpbmUgdW5zaWduZWQgU1ZHSURMRW51bUxpbWl0czxTVkdNYXJrZXJPcmllbnRU
eXBlPjo6aGlnaGVzdEV4cG9zZWRFbnVtVmFsdWUoKSB7IHJldHVybiBTVkdNYXJrZXJPcmllbnRB
bmdsZTsgfQorICAgICAgICBhdXRvIHJlc3VsdCA9IGFuZ2xlLnNldFZhbHVlQXNTdHJpbmcoc3Ry
aW5nKTsKKyAgICAgICAgaWYgKHJlc3VsdC5oYXNFeGNlcHRpb24oKSkKKyAgICAgICAgICAgIHJl
dHVybiBtYWtlVW5leHBlY3RlZChQYXJzaW5nQXR0cmlidXRlRmFpbGVkRXJyb3IpOwogCi10ZW1w
bGF0ZTw+Ci1zdHJ1Y3QgU1ZHUHJvcGVydHlUcmFpdHM8c3RkOjpwYWlyPFNWR0FuZ2xlVmFsdWUs
IFNWR01hcmtlck9yaWVudFR5cGU+PiB7CisgICAgICAgIHJldHVybiBzdGQ6Om1ha2VfcGFpcihh
bmdsZSwgU1ZHTWFya2VyT3JpZW50QW5nbGUpOworICAgIH0KICAgICBzdGF0aWMgc3RkOjpwYWly
PFNWR0FuZ2xlVmFsdWUsIFNWR01hcmtlck9yaWVudFR5cGU+IGZyb21TdHJpbmcoY29uc3QgU3Ry
aW5nJiBzdHJpbmcpCiAgICAgewotICAgICAgICBTVkdBbmdsZVZhbHVlIGFuZ2xlOwotICAgICAg
ICBTVkdNYXJrZXJPcmllbnRUeXBlIG9yaWVudFR5cGUgPSBTVkdQcm9wZXJ0eVRyYWl0czxTVkdN
YXJrZXJPcmllbnRUeXBlPjo6ZnJvbVN0cmluZyhzdHJpbmcpOwotICAgICAgICBpZiAob3JpZW50
VHlwZSA9PSBTVkdNYXJrZXJPcmllbnRVbmtub3duKSB7Ci0gICAgICAgICAgICBhdXRvIHJlc3Vs
dCA9IGFuZ2xlLnNldFZhbHVlQXNTdHJpbmcoc3RyaW5nKTsKLSAgICAgICAgICAgIGlmICghcmVz
dWx0Lmhhc0V4Y2VwdGlvbigpKQotICAgICAgICAgICAgICAgIG9yaWVudFR5cGUgPSBTVkdNYXJr
ZXJPcmllbnRBbmdsZTsKLSAgICAgICAgfQotICAgICAgICByZXR1cm4gc3RkOjptYWtlX3BhaXIo
YW5nbGUsIG9yaWVudFR5cGUpOworICAgICAgICByZXR1cm4gcGFyc2Uoc3RyaW5nKS52YWx1ZV9v
cihzdGQ6Om1ha2VfcGFpcjxTVkdBbmdsZVZhbHVlLCBTVkdNYXJrZXJPcmllbnRUeXBlPih7IH0s
IFNWR01hcmtlck9yaWVudFVua25vd24pKTsKICAgICB9CiB9OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHTWFza0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdN
YXNrRWxlbWVudC5oCmluZGV4IGM1ZTM1OGRmZmJhOWRlNGQ3MDNmNmM0ODIwN2NkZjFhMzZhNGMw
YmUuLmMzMTYyZjM4NTQ0NzJjOWJmMWM4ZDZmMGQ4YTFiZDU2ZDRhY2ZkNmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNYXNrRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdNYXNrRWxlbWVudC5oCkBAIC0zMCw2ICszMCw4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogY2xhc3MgU1ZHTWFza0VsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHRWxlbWVudCwgcHVi
bGljIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIHB1YmxpYyBTVkdUZXN0cyB7CiAgICAg
V1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdNYXNrRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVy
dHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdNYXNrRWxlbWVudCwgU1ZH
RWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgU1ZHVGVzdHM+OworCiBwdWJs
aWM6CiAgICAgc3RhdGljIFJlZjxTVkdNYXNrRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmll
ZE5hbWUmLCBEb2N1bWVudCYpOwogCkBAIC01MCw5ICs1Miw3IEBAIHB1YmxpYzoKIHByaXZhdGU6
CiAgICAgU1ZHTWFza0VsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAK
LSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNW
R01hc2tFbGVtZW50LCBTVkdFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBT
VkdUZXN0cz47CiAgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3Ry
eSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQotCiAgICAgdm9p
ZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5n
JikgZmluYWw7CiAgICAgdm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5h
bWUmKSBmaW5hbDsKICAgICB2b2lkIGNoaWxkcmVuQ2hhbmdlZChjb25zdCBDaGlsZENoYW5nZSYp
IGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR01ldGFkYXRhRWxlbWVu
dC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR01ldGFkYXRhRWxlbWVudC5oCmluZGV4IDZiMDQx
MTJiN2ZhMTQzN2E5YTRkMzBkZGU2MTEyYTc1ODYxYzI2MDIuLmRiOWJlNzgwMWYzMjkwMTJiNWIx
MjE1YjRkNjczNDk1Y2MxNTYzNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdN
ZXRhZGF0YUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWV0YWRhdGFFbGVt
ZW50LmgKQEAgLTI2LDEzICsyNiwxOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNW
R01ldGFkYXRhRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdFbGVtZW50IHsKICAgICBXVEZfTUFL
RV9JU09fQUxMT0NBVEVEKFNWR01ldGFkYXRhRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlS
ZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdNZXRhZGF0YUVsZW1lbnQsIFNW
R0VsZW1lbnQ+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdNZXRhZGF0YUVsZW1lbnQ+
IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAogcHJpdmF0ZToKICAg
ICBTVkdNZXRhZGF0YUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAK
KyAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3Qg
ZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9CiAgICAgYm9vbCByZW5kZXJlcklz
TmVlZGVkKGNvbnN0IFJlbmRlclN0eWxlJikgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0KKyAgICAK
KyAgICBQcm9wZXJ0eVJlZ2lzdHJ5IG1fcHJvcGVydHlSZWdpc3RyeSB7ICp0aGlzIH07CiB9Owog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHTWlzc2luZ0dseXBoRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR01pc3NpbmdH
bHlwaEVsZW1lbnQuaAppbmRleCA0NGIzNzQ2YTgyN2U1ZjU3ZWQ5NTU1YTBjZTZmZDdjY2FjNWEx
NDdhLi40NDlkNDE0NDdkNDEzOTk3OTYyNDdkMzkzMjAyYWE1ODdkMmZiYzBkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWlzc2luZ0dseXBoRWxlbWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdNaXNzaW5nR2x5cGhFbGVtZW50LmgKQEAgLTI4LDEzICsyOCwxOCBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNWR01pc3NpbmdHbHlwaEVsZW1lbnQgZmlu
YWwgOiBwdWJsaWMgU1ZHRWxlbWVudCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdN
aXNzaW5nR2x5cGhFbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJv
cGVydHlPd25lclJlZ2lzdHJ5PFNWR01pc3NpbmdHbHlwaEVsZW1lbnQsIFNWR0VsZW1lbnQ+Owor
CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdNaXNzaW5nR2x5cGhFbGVtZW50PiBjcmVhdGUo
Y29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKIHByaXZhdGU6CiAgICAgU1ZHTWlz
c2luZ0dseXBoRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAorICAg
IGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBmaW5h
bCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KICAgICBib29sIHJlbmRlcmVySXNOZWVk
ZWQoY29uc3QgUmVuZGVyU3R5bGUmKSBmaW5hbCB7IHJldHVybiBmYWxzZTsgfQorCisgICAgUHJv
cGVydHlSZWdpc3RyeSBtX3Byb3BlcnR5UmVnaXN0cnkgeyAqdGhpcyB9OwogfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR051bWJl
ci5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR051bWJlci5oCmluZGV4IDIzYzgyZTQ0ZTY3N2Q4
ZDM2MGM5NjE1NGM3OTVkYWI4Nzc2YTFmYTQuLjkyZjVhMWFkOGNlNGFiY2ZkZGU3Y2E0YjZlMGQ3
YmZkNTA5OThmNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdOdW1iZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTnVtYmVyLmgKQEAgLTQ1LDYgKzQ1LDE0IEBAIHB1
YmxpYzoKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU1ZHTnVtYmVyKG93bmVyLCBhY2Nl
c3MsIHZhbHVlKSk7CiAgICAgfQogCisgICAgc3RhdGljIEV4cGVjdGVkPFJlZjxTVkdOdW1iZXI+
LCBTVkdQYXJzaW5nRXJyb3I+IGNyZWF0ZShjb25zdCBVQ2hhciomIHB0ciwgY29uc3QgVUNoYXIq
IGVuZCkKKyAgICB7CisgICAgICAgIGZsb2F0IG51bWJlciA9IDA7CisgICAgICAgIGlmICghcGFy
c2VOdW1iZXIocHRyLCBlbmQsIG51bWJlcikpCisgICAgICAgICAgICByZXR1cm4gbWFrZVVuZXhw
ZWN0ZWQoUGFyc2luZ0F0dHJpYnV0ZUZhaWxlZEVycm9yKTsKKyAgICAgICAgcmV0dXJuIFNWR051
bWJlcjo6Y3JlYXRlKG51bWJlcik7CisgICAgfQorCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4K
ICAgICBzdGF0aWMgRXhjZXB0aW9uT3I8UmVmPFNWR051bWJlcj4+IGNyZWF0ZShFeGNlcHRpb25P
cjxUPiYmIHZhbHVlKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdO
dW1iZXJMaXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTnVtYmVyTGlzdC5oCmluZGV4IDVi
NWQ1N2U4NDZmNDMxYWFmNWMwOGRiYzlhNGMzNGFiZTg0ZDZkMWYuLmE1ZTczZTE5MDlkYmY0NjE0
YWMwN2VmMzFlM2FiNDUyNzJlZmYzMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdOdW1iZXJMaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR051bWJlckxpc3QuaApA
QCAtNDksNDAgKzQ5LDYgQEAgcHVibGljOgogICAgIHsKICAgICAgICAgcmV0dXJuIGFkb3B0UmVm
KCpuZXcgU1ZHTnVtYmVyTGlzdChvdGhlciwgYWNjZXNzKSk7CiAgICAgfQotCi0gICAgYm9vbCBw
YXJzZShjb25zdCBTdHJpbmcmIHZhbHVlKQotICAgIHsKLSAgICAgICAgY2xlYXJJdGVtcygpOwot
Ci0gICAgICAgIGZsb2F0IG51bWJlciA9IDA7Ci0gICAgICAgIGF1dG8gdXBjb252ZXJ0ZWRDaGFy
YWN0ZXJzID0gU3RyaW5nVmlldyh2YWx1ZSkudXBjb252ZXJ0ZWRDaGFyYWN0ZXJzKCk7Ci0gICAg
ICAgIGNvbnN0IFVDaGFyKiBwdHIgPSB1cGNvbnZlcnRlZENoYXJhY3RlcnM7Ci0gICAgICAgIGNv
bnN0IFVDaGFyKiBlbmQgPSBwdHIgKyB2YWx1ZS5sZW5ndGgoKTsKLQotICAgICAgICAvLyBUaGUg
c3BlYyAoc2VjdGlvbiA0LjEpIHN0cmFuZ2VseSBkb2Vzbid0IGFsbG93IGxlYWRpbmcgd2hpdGVz
cGFjZS4KLSAgICAgICAgLy8gV2UgbWlnaHQgY2hvb3NlIHRvIHZpb2xhdGUgdGhhdCBpbnRlbnRp
b25hbGx5LgotICAgICAgICB3aGlsZSAocHRyIDwgZW5kKSB7Ci0gICAgICAgICAgICBpZiAoIXBh
cnNlTnVtYmVyKHB0ciwgZW5kLCBudW1iZXIpKQotICAgICAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICAgICAgYXBwZW5kKFNWR051bWJlcjo6Y3JlYXRlKG51bWJlcikpOwotICAgICAgICB9Ci0K
LSAgICAgICAgcmV0dXJuIHB0ciA9PSBlbmQ7Ci0gICAgfQotCi0gICAgU3RyaW5nIHZhbHVlQXNT
dHJpbmcoKSBjb25zdCBvdmVycmlkZQotICAgIHsKLSAgICAgICAgU3RyaW5nQnVpbGRlciBidWls
ZGVyOwotCi0gICAgICAgIGZvciAoY29uc3QgYXV0byYgbnVtYmVyIDogbV9pdGVtcykgewotICAg
ICAgICAgICAgaWYgKGJ1aWxkZXIubGVuZ3RoKCkpCi0gICAgICAgICAgICAgICAgYnVpbGRlci5h
cHBlbmQoJyAnKTsKLQotICAgICAgICAgICAgYnVpbGRlci5hcHBlbmRGaXhlZFByZWNpc2lvbk51
bWJlcihudW1iZXItPnZhbHVlKCkpOwotICAgICAgICB9Ci0KLSAgICAgICAgcmV0dXJuIGJ1aWxk
ZXIudG9TdHJpbmcoKTsKLSAgICB9CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGFyc2luZ0Vycm9yLmggYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHUGFyc2luZ0Vycm9yLmgKaW5kZXggMWI5YTcwMWI5YjI4OTk2NTY4NTUwYWQ3
Yjg5YjM3M2Q3NDM2Mzk3Mi4uNTRhZmRiZjdjMjc1ZjQyZmM4NWRhMzE1YmNmZDdiOWI2MWYyYTg4
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhcnNpbmdFcnJvci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXJzaW5nRXJyb3IuaApAQCAtMSw2ICsxLDYgQEAKIC8q
CiAgKiBDb3B5cmlnaHQgKEMpIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTEuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUsIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMS0yMDE5IEFwcGxlLCBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTMw
LDggKzMwLDQwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogZW51bSBTVkdQYXJzaW5nRXJyb3Ig
ewogICAgIE5vRXJyb3IsCi0gICAgUGFyc2luZ0F0dHJpYnV0ZUZhaWxlZEVycm9yLAotICAgIE5l
Z2F0aXZlVmFsdWVGb3JiaWRkZW5FcnJvcgorICAgIFVuZXhwZWN0ZWRFbmRPZkF0dHJpYnV0ZUVy
cm9yLAorICAgIFplcm9WYWx1ZUZvcmJpZGRlbkVycm9yLAorICAgIE5lZ2F0aXZlVmFsdWVGb3Ji
aWRkZW5FcnJvciwKKyAgICBVbnJlY29nbml6ZWRFbnVtVmFsdWVFcnJvciwKKyAgICBQYXJzaW5n
QXR0cmlidXRlRmFpbGVkRXJyb3IKIH07CiAKK2VudW0gU1ZHUGFyc2luZ09wdGlvbnMgeworICAg
IE5vT3B0aW9ucyAgICAgICAgICAgICA9IDAsCisgICAgRm9yYmlkTmVnYXRpdmUgICAgICAgID0g
MSA8PCAwLAorICAgIEZvcmJpZFplcm8gICAgICAgICAgICA9IDEgPDwgMiwKKyAgICBGb3JiaWRa
ZXJvQW5kTmVnYXRpdmUgPSBGb3JiaWROZWdhdGl2ZSB8IEZvcmJpZFplcm8sCisgICAgQWxsb3dQ
ZXJjZW50YWdlICAgICAgID0gMSA8PCAzCit9OworCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1
Y3QgU1ZHTnVtZXJpY1BhcnNpbmdWYWxpZGF0b3I7CisKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+Citz
dHJ1Y3QgU1ZHTnVtZXJpY1BhcnNpbmdWYWxpZGF0b3IgeworICAgIHN0YXRpYyBjb25zdGV4cHIg
U1ZHUGFyc2luZ0Vycm9yIHZhbGlkYXRlKFQgdCwgU1ZHUGFyc2luZ09wdGlvbnMgcGFyc2luZ09w
dGlvbnMpCisgICAgeworICAgICAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfYXJpdGhtZXRpYzxU
Pjo6dmFsdWUsICJUaGlzIGZ1bmN0aW9uIGNhbiBvbmx5IGNoZWNrIHRoZSB2YWx1ZSBvZiBhIG51
bWVyaWMuIik7CisgICAgICAgIGlmICgocGFyc2luZ09wdGlvbnMgJiBGb3JiaWROZWdhdGl2ZSkg
JiYgdCA8IDApCisgICAgICAgICAgICByZXR1cm4gTmVnYXRpdmVWYWx1ZUZvcmJpZGRlbkVycm9y
OworICAgICAgICBpZiAoKHBhcnNpbmdPcHRpb25zICYgRm9yYmlkWmVybykgJiYgIXQpCisgICAg
ICAgICAgICByZXR1cm4gWmVyb1ZhbHVlRm9yYmlkZGVuRXJyb3I7CisgICAgICAgIHJldHVybiBO
b0Vycm9yOworICAgIH0KK307CisKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+Citjb25zdGV4cHIgYXV0
byB2YWxpZGF0ZU51bWVyaWMoVCB0LCBTVkdQYXJzaW5nT3B0aW9ucyBwYXJzaW5nT3B0aW9ucykK
K3sKKyAgICByZXR1cm4gU1ZHTnVtZXJpY1BhcnNpbmdWYWxpZGF0b3I8VD46OnZhbGlkYXRlKHQs
IHBhcnNpbmdPcHRpb25zKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdQYXRoRWxlbWVudC5jcHAKaW5kZXggMDdmYzJhOWEzM2Y0MTg3NTM1NGVjOTgxNjc3
NjQ0NjkxM2EyNTNhOC4uYzIxZjBiMDEwOTg0OGRmZDRhYTM3ZGRjNGUyNDA4MDBkYTIwMWQ5YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhFbGVtZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aEVsZW1lbnQuY3BwCkBAIC0xMDksMjMgKzEwOSwxNyBA
QCB2b2lkIFNWR1BhdGhFbGVtZW50OjpyZW1vdmVkRnJvbUFuY2VzdG9yKFJlbW92YWxUeXBlIHJl
bW92YWxUeXBlLCBDb250YWluZXJOb2RlJgogCiBmbG9hdCBTVkdQYXRoRWxlbWVudDo6Z2V0VG90
YWxMZW5ndGgoKSBjb25zdAogewotICAgIGZsb2F0IHRvdGFsTGVuZ3RoID0gMDsKLSAgICBnZXRU
b3RhbExlbmd0aE9mU1ZHUGF0aEJ5dGVTdHJlYW0ocGF0aEJ5dGVTdHJlYW0oKSwgdG90YWxMZW5n
dGgpOwotICAgIHJldHVybiB0b3RhbExlbmd0aDsKKyAgICByZXR1cm4gdG90YWxMZW5ndGhPZlNW
R1BhdGhCeXRlU3RyZWFtKHBhdGhCeXRlU3RyZWFtKCkpLnZhbHVlT3IoMCk7CiB9CiAKIFJlZjxT
VkdQb2ludD4gU1ZHUGF0aEVsZW1lbnQ6OmdldFBvaW50QXRMZW5ndGgoZmxvYXQgbGVuZ3RoKSBj
b25zdAogewotICAgIEZsb2F0UG9pbnQgcG9pbnQ7Ci0gICAgZ2V0UG9pbnRBdExlbmd0aE9mU1ZH
UGF0aEJ5dGVTdHJlYW0ocGF0aEJ5dGVTdHJlYW0oKSwgbGVuZ3RoLCBwb2ludCk7Ci0gICAgcmV0
dXJuIFNWR1BvaW50OjpjcmVhdGUocG9pbnQpOworICAgIHJldHVybiBTVkdQb2ludDo6Y3JlYXRl
KHBvaW50QXRMZW5ndGhPZlNWR1BhdGhCeXRlU3RyZWFtKHBhdGhCeXRlU3RyZWFtKCksIGxlbmd0
aCkudmFsdWVPcihGbG9hdFBvaW50KCkpKTsKIH0KIAogdW5zaWduZWQgU1ZHUGF0aEVsZW1lbnQ6
OmdldFBhdGhTZWdBdExlbmd0aChmbG9hdCBsZW5ndGgpIGNvbnN0CiB7Ci0gICAgdW5zaWduZWQg
cGF0aFNlZyA9IDA7Ci0gICAgZ2V0U1ZHUGF0aFNlZ0F0TGVuZ3RoRnJvbVNWR1BhdGhCeXRlU3Ry
ZWFtKHBhdGhCeXRlU3RyZWFtKCksIGxlbmd0aCwgcGF0aFNlZyk7Ci0gICAgcmV0dXJuIHBhdGhT
ZWc7CisgICAgcmV0dXJuIHBhdGhTZWdBdExlbmd0aEZyb21TVkdQYXRoQnl0ZVN0cmVhbShwYXRo
Qnl0ZVN0cmVhbSgpLCBsZW5ndGgpLnZhbHVlT3IoMCk7CiB9CiAKIEZsb2F0UmVjdCBTVkdQYXRo
RWxlbWVudDo6Z2V0QkJveChTdHlsZVVwZGF0ZVN0cmF0ZWd5IHN0eWxlVXBkYXRlU3RyYXRlZ3kp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aEVsZW1lbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdQYXRoRWxlbWVudC5oCmluZGV4IDY3NzRkMDY5OGFhNDJmYjUzNzM3
ZGUxZDg5NTA3MDgzMTM1OGU3YTcuLmYyNTA4Y2FlOTBkYzc0Y2Y2MTZkOGYxZTMwY2E2YjNkNTU1
ZjdkMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoRWxlbWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoRWxlbWVudC5oCkBAIC0zNSw2ICszNSw4IEBA
IGNsYXNzIFNWR1BvaW50OwogCiBjbGFzcyBTVkdQYXRoRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBT
VkdHZW9tZXRyeUVsZW1lbnQsIHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkIHsK
ICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR1BhdGhFbGVtZW50KTsKKyAgICB1c2luZyBQ
cm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR1BhdGhFbGVtZW50
LCBTVkdHZW9tZXRyeUVsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ+OworCiBw
dWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdQYXRoRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxp
ZmllZE5hbWUmLCBEb2N1bWVudCYpOwogICAgIApAQCAtMTA4LDkgKzExMCw3IEBAIHB1YmxpYzoK
IHByaXZhdGU6CiAgICAgU1ZHUGF0aEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3Vt
ZW50Jik7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJl
Z2lzdHJ5PFNWR1BhdGhFbGVtZW50LCBTVkdHZW9tZXRyeUVsZW1lbnQsIFNWR0V4dGVybmFsUmVz
b3VyY2VzUmVxdWlyZWQ+OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5
UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KLSAg
ICAKICAgICB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBB
dG9taWNTdHJpbmcmKSBmaW5hbDsKICAgICB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3Qg
UXVhbGlmaWVkTmFtZSYpIGZpbmFsOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHUGF0aFV0aWxpdGllcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFV0aWxpdGll
cy5jcHAKaW5kZXggZGI4ZjkyOWFkMTliNWJlMGY3OTQ5YmE1YjUyNDQxODBmY2FhN2FhOC4uNWQ0
MjZlZWRiMDI3YTcxMjZiNTE0ZmE5OWY5Mjc0OWU2N2UwYTQ5YiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1BhdGhVdGlsaXRpZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdQYXRoVXRpbGl0aWVzLmNwcApAQCAtMTkzLDQ4ICsxOTMsNDkgQEAgYm9vbCBhZGRUb1NW
R1BhdGhCeXRlU3RyZWFtKFNWR1BhdGhCeXRlU3RyZWFtJiBzdHJlYW1Ub0FwcGVuZFRvLCBjb25z
dCBTVkdQYXRoQnkKICAgICByZXR1cm4gU1ZHUGF0aEJsZW5kZXI6OmFkZEFuaW1hdGVkUGF0aChm
cm9tU291cmNlLCBieVNvdXJjZSwgYnVpbGRlciwgcmVwZWF0Q291bnQpOwogfQogCi1ib29sIGdl
dFNWR1BhdGhTZWdBdExlbmd0aEZyb21TVkdQYXRoQnl0ZVN0cmVhbShjb25zdCBTVkdQYXRoQnl0
ZVN0cmVhbSYgc3RyZWFtLCBmbG9hdCBsZW5ndGgsIHVuc2lnbmVkJiBwYXRoU2VnKQorT3B0aW9u
YWw8dW5zaWduZWQ+IHBhdGhTZWdBdExlbmd0aEZyb21TVkdQYXRoQnl0ZVN0cmVhbShjb25zdCBT
VkdQYXRoQnl0ZVN0cmVhbSYgc3RyZWFtLCBmbG9hdCBsZW5ndGgpCiB7CiAgICAgaWYgKHN0cmVh
bS5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgcmV0dXJuIFdURjo6
bnVsbG9wdDsKIAogICAgIFBhdGhUcmF2ZXJzYWxTdGF0ZSB0cmF2ZXJzYWxTdGF0ZShQYXRoVHJh
dmVyc2FsU3RhdGU6OkFjdGlvbjo6U2VnbWVudEF0TGVuZ3RoKTsKICAgICBTVkdQYXRoVHJhdmVy
c2FsU3RhdGVCdWlsZGVyIGJ1aWxkZXIodHJhdmVyc2FsU3RhdGUsIGxlbmd0aCk7CiAKICAgICBT
VkdQYXRoQnl0ZVN0cmVhbVNvdXJjZSBzb3VyY2Uoc3RyZWFtKTsKLSAgICBib29sIG9rID0gU1ZH
UGF0aFBhcnNlcjo6cGFyc2Uoc291cmNlLCBidWlsZGVyKTsKLSAgICBwYXRoU2VnID0gYnVpbGRl
ci5wYXRoU2VnbWVudEluZGV4KCk7Ci0gICAgcmV0dXJuIG9rOworICAgIGlmICghU1ZHUGF0aFBh
cnNlcjo6cGFyc2Uoc291cmNlLCBidWlsZGVyKSkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9w
dDsKKworICAgIHJldHVybiBidWlsZGVyLnBhdGhTZWdtZW50SW5kZXgoKTsKIH0KIAotYm9vbCBn
ZXRUb3RhbExlbmd0aE9mU1ZHUGF0aEJ5dGVTdHJlYW0oY29uc3QgU1ZHUGF0aEJ5dGVTdHJlYW0m
IHN0cmVhbSwgZmxvYXQmIHRvdGFsTGVuZ3RoKQorT3B0aW9uYWw8ZmxvYXQ+IHRvdGFsTGVuZ3Ro
T2ZTVkdQYXRoQnl0ZVN0cmVhbShjb25zdCBTVkdQYXRoQnl0ZVN0cmVhbSYgc3RyZWFtKQogewog
ICAgIGlmIChzdHJlYW0uaXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAg
IHJldHVybiBXVEY6Om51bGxvcHQ7CiAKICAgICBQYXRoVHJhdmVyc2FsU3RhdGUgdHJhdmVyc2Fs
U3RhdGUoUGF0aFRyYXZlcnNhbFN0YXRlOjpBY3Rpb246OlRvdGFsTGVuZ3RoKTsKLQogICAgIFNW
R1BhdGhUcmF2ZXJzYWxTdGF0ZUJ1aWxkZXIgYnVpbGRlcih0cmF2ZXJzYWxTdGF0ZSk7CiAKICAg
ICBTVkdQYXRoQnl0ZVN0cmVhbVNvdXJjZSBzb3VyY2Uoc3RyZWFtKTsKLSAgICBib29sIG9rID0g
U1ZHUGF0aFBhcnNlcjo6cGFyc2Uoc291cmNlLCBidWlsZGVyKTsKLSAgICB0b3RhbExlbmd0aCA9
IGJ1aWxkZXIudG90YWxMZW5ndGgoKTsKLSAgICByZXR1cm4gb2s7CisgICAgaWYgKCFTVkdQYXRo
UGFyc2VyOjpwYXJzZShzb3VyY2UsIGJ1aWxkZXIpKQorICAgICAgICByZXR1cm4gV1RGOjpudWxs
b3B0OworCisgICAgcmV0dXJuIGJ1aWxkZXIudG90YWxMZW5ndGgoKTsKIH0KIAotYm9vbCBnZXRQ
b2ludEF0TGVuZ3RoT2ZTVkdQYXRoQnl0ZVN0cmVhbShjb25zdCBTVkdQYXRoQnl0ZVN0cmVhbSYg
c3RyZWFtLCBmbG9hdCBsZW5ndGgsIEZsb2F0UG9pbnQmIHBvaW50KQorT3B0aW9uYWw8RmxvYXRQ
b2ludD4gcG9pbnRBdExlbmd0aE9mU1ZHUGF0aEJ5dGVTdHJlYW0oY29uc3QgU1ZHUGF0aEJ5dGVT
dHJlYW0mIHN0cmVhbSwgZmxvYXQgbGVuZ3RoKQogewogICAgIGlmIChzdHJlYW0uaXNFbXB0eSgp
KQotICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAK
ICAgICBQYXRoVHJhdmVyc2FsU3RhdGUgdHJhdmVyc2FsU3RhdGUoUGF0aFRyYXZlcnNhbFN0YXRl
OjpBY3Rpb246OlZlY3RvckF0TGVuZ3RoKTsKLQogICAgIFNWR1BhdGhUcmF2ZXJzYWxTdGF0ZUJ1
aWxkZXIgYnVpbGRlcih0cmF2ZXJzYWxTdGF0ZSwgbGVuZ3RoKTsKIAogICAgIFNWR1BhdGhCeXRl
U3RyZWFtU291cmNlIHNvdXJjZShzdHJlYW0pOwotICAgIGJvb2wgb2sgPSBTVkdQYXRoUGFyc2Vy
OjpwYXJzZShzb3VyY2UsIGJ1aWxkZXIpOwotICAgIHBvaW50ID0gYnVpbGRlci5jdXJyZW50UG9p
bnQoKTsKLSAgICByZXR1cm4gb2s7CisgICAgaWYgKCFTVkdQYXRoUGFyc2VyOjpwYXJzZShzb3Vy
Y2UsIGJ1aWxkZXIpKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworICAgIAorICAgIHJl
dHVybiBidWlsZGVyLmN1cnJlbnRQb2ludCgpOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHUGF0aFV0aWxpdGllcy5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Bh
dGhVdGlsaXRpZXMuaAppbmRleCA0OTBmZjdjNjYwYzlkOTVmOWYxZTQ1NDM0MWYxMTdmYTgxMjZk
Mzc4Li4xMWJiNTNkZjUxYmZlOGI1ZjZiODlkZmEwNGY0NGFlZGJhZmY1NzY3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFV0aWxpdGllcy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdQYXRoVXRpbGl0aWVzLmgKQEAgLTUzLDggKzUzLDggQEAgYm9vbCBjYW5CbGVu
ZFNWR1BhdGhCeXRlU3RyZWFtcyhjb25zdCBTVkdQYXRoQnl0ZVN0cmVhbSYgZnJvbSwgY29uc3Qg
U1ZHUGF0aEJ5dGUKIGJvb2wgYnVpbGRBbmltYXRlZFNWR1BhdGhCeXRlU3RyZWFtKGNvbnN0IFNW
R1BhdGhCeXRlU3RyZWFtJiBmcm9tLCBjb25zdCBTVkdQYXRoQnl0ZVN0cmVhbSYgdG8sIFNWR1Bh
dGhCeXRlU3RyZWFtJiByZXN1bHQsIGZsb2F0IHByb2dyZXNzKTsKIGJvb2wgYWRkVG9TVkdQYXRo
Qnl0ZVN0cmVhbShTVkdQYXRoQnl0ZVN0cmVhbSYgc3RyZWFtVG9BcHBlbmRUbywgY29uc3QgU1ZH
UGF0aEJ5dGVTdHJlYW0mIGZyb20sIHVuc2lnbmVkIHJlcGVhdENvdW50ID0gMSk7CiAKLWJvb2wg
Z2V0U1ZHUGF0aFNlZ0F0TGVuZ3RoRnJvbVNWR1BhdGhCeXRlU3RyZWFtKGNvbnN0IFNWR1BhdGhC
eXRlU3RyZWFtJiwgZmxvYXQgbGVuZ3RoLCB1bnNpZ25lZCYgcGF0aFNlZyk7Ci1ib29sIGdldFRv
dGFsTGVuZ3RoT2ZTVkdQYXRoQnl0ZVN0cmVhbShjb25zdCBTVkdQYXRoQnl0ZVN0cmVhbSYsIGZs
b2F0JiB0b3RhbExlbmd0aCk7Ci1ib29sIGdldFBvaW50QXRMZW5ndGhPZlNWR1BhdGhCeXRlU3Ry
ZWFtKGNvbnN0IFNWR1BhdGhCeXRlU3RyZWFtJiwgZmxvYXQgbGVuZ3RoLCBGbG9hdFBvaW50Jik7
CitPcHRpb25hbDx1bnNpZ25lZD4gcGF0aFNlZ0F0TGVuZ3RoRnJvbVNWR1BhdGhCeXRlU3RyZWFt
KGNvbnN0IFNWR1BhdGhCeXRlU3RyZWFtJiwgZmxvYXQgbGVuZ3RoKTsKK09wdGlvbmFsPGZsb2F0
PiB0b3RhbExlbmd0aE9mU1ZHUGF0aEJ5dGVTdHJlYW0oY29uc3QgU1ZHUGF0aEJ5dGVTdHJlYW0m
KTsKK09wdGlvbmFsPEZsb2F0UG9pbnQ+IHBvaW50QXRMZW5ndGhPZlNWR1BhdGhCeXRlU3RyZWFt
KGNvbnN0IFNWR1BhdGhCeXRlU3RyZWFtJiwgZmxvYXQgbGVuZ3RoKTsKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdHRlcm5FbGVt
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0dGVybkVsZW1lbnQuaAppbmRleCAzNmNk
ZWZiMGI3NjM0ZGIyN2RkZGVkODE2NjA4YzljMTc2YzFiZTBmLi5lOTJkMzE1MWM5NDBiOWY1Y2Ni
MDQ0YTJiNzAyMTE1NzAxZjM0MWRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
UGF0dGVybkVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0dGVybkVsZW1l
bnQuaApAQCAtMzUsNiArMzUsOCBAQCBzdHJ1Y3QgUGF0dGVybkF0dHJpYnV0ZXM7CiAgCiBjbGFz
cyBTVkdQYXR0ZXJuRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdFbGVtZW50LCBwdWJsaWMgU1ZH
RXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgcHVibGljIFNWR0ZpdFRvVmlld0JveCwgcHVibGlj
IFNWR1Rlc3RzLCBwdWJsaWMgU1ZHVVJJUmVmZXJlbmNlIHsKICAgICBXVEZfTUFLRV9JU09fQUxM
T0NBVEVEKFNWR1BhdHRlcm5FbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0g
U1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR1BhdHRlcm5FbGVtZW50LCBTVkdFbGVtZW50LCBT
VkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBTVkdGaXRUb1ZpZXdCb3gsIFNWR1Rlc3RzLCBT
VkdVUklSZWZlcmVuY2U+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdQYXR0ZXJuRWxl
bWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCkBAIC02MSw5
ICs2Myw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgU1ZHUGF0dGVybkVsZW1lbnQoY29uc3Qg
UXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5
ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR1BhdHRlcm5FbGVtZW50LCBTVkdFbGVtZW50
LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBTVkdGaXRUb1ZpZXdCb3gsIFNWR1Rlc3Rz
LCBTVkdVUklSZWZlcmVuY2U+OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3Bl
cnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0K
LQogICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0
b21pY1N0cmluZyYpIGZpbmFsOwogICAgIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBR
dWFsaWZpZWROYW1lJikgZmluYWw7CiAgICAgdm9pZCBjaGlsZHJlbkNoYW5nZWQoY29uc3QgQ2hp
bGRDaGFuZ2UmKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQb2lu
dC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BvaW50LmgKaW5kZXggNzc0NDViOWZjYjFmYjQw
YjUxMzk2ZTE5MmU3MzQ1ODZjNjM1NGI1Mi4uYjFmYWY2MTJjMDU2YWRkNTczZjcyMDU0MzRkNTRh
MGU5YmNmMTM5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BvaW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BvaW50LmgKQEAgLTQ0LDYgKzQ0LDE5IEBAIHB1Ymxp
YzoKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU1ZHUG9pbnQodmFsdWUpKTsKICAgICB9
CiAKKyAgICBzdGF0aWMgRXhwZWN0ZWQ8UmVmPFNWR1BvaW50PiwgU1ZHUGFyc2luZ0Vycm9yPiBj
cmVhdGUoY29uc3QgVUNoYXIqJiBwdHIsIGNvbnN0IFVDaGFyKiBlbmQpCisgICAgeworICAgICAg
ICBmbG9hdCB4UG9zID0gMC4wZjsKKyAgICAgICAgaWYgKCFwYXJzZU51bWJlcihwdHIsIGVuZCwg
eFBvcykpCisgICAgICAgICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQoUGFyc2luZ0F0dHJpYnV0
ZUZhaWxlZEVycm9yKTsKKworICAgICAgICBmbG9hdCB5UG9zID0gMC4wZjsKKyAgICAgICAgaWYg
KCFwYXJzZU51bWJlcihwdHIsIGVuZCwgeVBvcywgZmFsc2UpKQorICAgICAgICAgICAgcmV0dXJu
IG1ha2VVbmV4cGVjdGVkKFBhcnNpbmdBdHRyaWJ1dGVGYWlsZWRFcnJvcik7CisKKyAgICAgICAg
cmV0dXJuIFNWR1BvaW50OjpjcmVhdGUoeyB4UG9zLCB5UG9zIH0pOworICAgIH0KKwogICAgIHRl
bXBsYXRlPHR5cGVuYW1lIFQ+CiAgICAgc3RhdGljIEV4Y2VwdGlvbk9yPFJlZjxTVkdQb2ludD4+
IGNyZWF0ZShFeGNlcHRpb25PcjxUPiYmIHZhbHVlKQogICAgIHsKQEAgLTg4LDcgKzEwMSw2IEBA
IHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU1ZHUG9pbnQobmV3UG9pbnQp
KTsKICAgICB9CiAKLXByaXZhdGU6CiAgICAgU3RyaW5nIHZhbHVlQXNTdHJpbmcoKSBjb25zdCBv
dmVycmlkZQogICAgIHsKICAgICAgICAgcmV0dXJuIFNWR1Byb3BlcnR5VHJhaXRzPEZsb2F0UG9p
bnQ+Ojp0b1N0cmluZyhtX3ZhbHVlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdQb2ludExpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQb2ludExpc3QuaAppbmRleCA4
YzZjNTBiMGUzYmFjZTUzNmFlNTBlYmIyOGMxYjQ2ZTE1NzQ5ZTgxLi5kYmVjODliZmE4OTg5ZTQz
MjAzNzBlMmNjMDQyNjdiNWNlMjQ3ZjNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHUG9pbnRMaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BvaW50TGlzdC5oCkBA
IC00OSw1NyArNDksNiBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICByZXR1cm4gYWRvcHRSZWYo
Km5ldyBTVkdQb2ludExpc3Qob3RoZXIsIGFjY2VzcykpOwogICAgIH0KLQotICAgIGJvb2wgcGFy
c2UoY29uc3QgU3RyaW5nJiB2YWx1ZSkKLSAgICB7Ci0gICAgICAgIGNsZWFySXRlbXMoKTsKLQot
ICAgICAgICBhdXRvIHVwY29udmVydGVkQ2hhcmFjdGVycyA9IFN0cmluZ1ZpZXcodmFsdWUpLnVw
Y29udmVydGVkQ2hhcmFjdGVycygpOwotICAgICAgICBjb25zdCBVQ2hhciogY3VyID0gdXBjb252
ZXJ0ZWRDaGFyYWN0ZXJzOwotICAgICAgICBjb25zdCBVQ2hhciogZW5kID0gY3VyICsgdmFsdWUu
bGVuZ3RoKCk7Ci0KLSAgICAgICAgc2tpcE9wdGlvbmFsU1ZHU3BhY2VzKGN1ciwgZW5kKTsKLQot
ICAgICAgICBib29sIGRlbGltUGFyc2VkID0gZmFsc2U7Ci0gICAgICAgIHdoaWxlIChjdXIgPCBl
bmQpIHsKLSAgICAgICAgICAgIGRlbGltUGFyc2VkID0gZmFsc2U7Ci0gICAgICAgICAgICBmbG9h
dCB4UG9zID0gMC4wZjsKLSAgICAgICAgICAgIGlmICghcGFyc2VOdW1iZXIoY3VyLCBlbmQsIHhQ
b3MpKQotICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgICAgICAgICAgZmxvYXQg
eVBvcyA9IDAuMGY7Ci0gICAgICAgICAgICBpZiAoIXBhcnNlTnVtYmVyKGN1ciwgZW5kLCB5UG9z
LCBmYWxzZSkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgICAgICAgICBz
a2lwT3B0aW9uYWxTVkdTcGFjZXMoY3VyLCBlbmQpOwotCi0gICAgICAgICAgICBpZiAoY3VyIDwg
ZW5kICYmICpjdXIgPT0gJywnKSB7Ci0gICAgICAgICAgICAgICAgZGVsaW1QYXJzZWQgPSB0cnVl
OwotICAgICAgICAgICAgICAgIGN1cisrOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgc2tp
cE9wdGlvbmFsU1ZHU3BhY2VzKGN1ciwgZW5kKTsKLQotICAgICAgICAgICAgYXBwZW5kKFNWR1Bv
aW50OjpjcmVhdGUoeyB4UG9zLCB5UG9zIH0pKTsKLSAgICAgICAgfQotCi0gICAgICAgIHJldHVy
biAhZGVsaW1QYXJzZWQ7Ci0gICAgfQotCi0gICAgU3RyaW5nIHZhbHVlQXNTdHJpbmcoKSBjb25z
dCBvdmVycmlkZQotICAgIHsKLSAgICAgICAgU3RyaW5nQnVpbGRlciBidWlsZGVyOwotCi0gICAg
ICAgIGZvciAoY29uc3QgYXV0byYgcG9pbnQgOiBtX2l0ZW1zKSB7Ci0gICAgICAgICAgICBpZiAo
YnVpbGRlci5sZW5ndGgoKSkKLSAgICAgICAgICAgICAgICBidWlsZGVyLmFwcGVuZCgnICcpOwot
Ci0gICAgICAgICAgICBidWlsZGVyLmFwcGVuZEZpeGVkUHJlY2lzaW9uTnVtYmVyKHBvaW50LT54
KCkpOwotICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoJyAnKTsKLSAgICAgICAgICAgIGJ1aWxk
ZXIuYXBwZW5kRml4ZWRQcmVjaXNpb25OdW1iZXIocG9pbnQtPnkoKSk7Ci0gICAgICAgIH0KLQot
ICAgICAgICByZXR1cm4gYnVpbGRlci50b1N0cmluZygpOwotICAgIH0KIH07CiAKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQb2x5RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHUG9seUVsZW1lbnQuY3BwCmluZGV4IGMyZmUyZWFhODk3ZDc4YjY5YjA5NWM2
ZGNmMzUwYzI5ZjBmY2JiYjYuLmM5NTUyYzY2YjQ2YjBlYjIxMDYwZjYxYWRjYjgzZWY1ZDIyMmE5
ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQb2x5RWxlbWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BvbHlFbGVtZW50LmNwcApAQCAtNDYsNyArNDYsNyBA
QCBTVkdQb2x5RWxlbWVudDo6U1ZHUG9seUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFn
TmFtZSwgRG9jdW1lbnQmIGRvY3VtZW50KQogdm9pZCBTVkdQb2x5RWxlbWVudDo6cGFyc2VBdHRy
aWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbWljU3RyaW5nJiB2YWx1
ZSkKIHsKICAgICBpZiAobmFtZSA9PSBTVkdOYW1lczo6cG9pbnRzQXR0cikgewotICAgICAgICBp
ZiAoIW1fcG9pbnRzLT5iYXNlVmFsKCktPnBhcnNlKHZhbHVlKSkKKyAgICAgICAgaWYgKG1fcG9p
bnRzLT5iYXNlVmFsKCktPnBhcnNlKHZhbHVlKSAhPSBOb0Vycm9yKQogICAgICAgICAgICAgZG9j
dW1lbnQoKS5hY2Nlc3NTVkdFeHRlbnNpb25zKCkucmVwb3J0RXJyb3IoIlByb2JsZW0gcGFyc2lu
ZyBwb2ludHM9XCIiICsgdmFsdWUgKyAiXCIiKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQb2x5RWxlbWVudC5oIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1BvbHlFbGVtZW50LmgKaW5kZXggNjcyMjQ5MDNlZjYzMTBlMmJkMmIxNzkx
MjE4OTYzNDQ1OWQyNWYyYi4uZjIyNjgxOWMwNWI2MzUzZTU0YTg1NDU1ZjY2YjQzOWJkNTBiM2Rl
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BvbHlFbGVtZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1BvbHlFbGVtZW50LmgKQEAgLTI5LDYgKzI5LDggQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTVkdQb2x5RWxlbWVudCA6IHB1YmxpYyBTVkdHZW9t
ZXRyeUVsZW1lbnQsIHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkIHsKICAgICBX
VEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR1BvbHlFbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0
eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR1BvbHlFbGVtZW50LCBTVkdH
ZW9tZXRyeUVsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ+OworCiBwdWJsaWM6
CiAgICAgY29uc3QgU1ZHUG9pbnRMaXN0JiBwb2ludHMoKSBjb25zdCB7IHJldHVybiBtX3BvaW50
cy0+Y3VycmVudFZhbHVlKCk7IH0KIApAQCAtNDEsOSArNDMsNyBAQCBwcm90ZWN0ZWQ6CiAgICAg
U1ZHUG9seUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKIHByaXZh
dGU6Ci0gICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3Ry
eTxTVkdQb2x5RWxlbWVudCwgU1ZHR2VvbWV0cnlFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNl
c1JlcXVpcmVkPjsKICAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lz
dHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9Ci0KICAgICB2
b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJp
bmcmKSBvdmVycmlkZTsgCiAgICAgdm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxp
ZmllZE5hbWUmKSBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1ByZXNlcnZlQXNwZWN0UmF0aW9WYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUHJl
c2VydmVBc3BlY3RSYXRpb1ZhbHVlLmNwcAppbmRleCBkMGJjNzE2NjIwZjdhOGE1MWVjNjM0YWY3
YmU5NGJiZjUxMDFlNzU1Li43ZTQ0NmUyY2FmMDU2ZjczMThhZGZhOGM5MmVjZDlhYTc1NjlmNWVm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUHJlc2VydmVBc3BlY3RSYXRpb1Zh
bHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUHJlc2VydmVBc3BlY3RSYXRpb1Zh
bHVlLmNwcApAQCAtNTgsMTEgKzU4LDExIEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IFNWR1ByZXNlcnZl
QXNwZWN0UmF0aW9WYWx1ZTo6c2V0TWVldE9yU2xpY2UodW5zaWduZWQgc2hvcnQgbWVlCiAgICAg
cmV0dXJuIHsgfTsKIH0KIAotdm9pZCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVmFsdWU6OnBhcnNl
KGNvbnN0IFN0cmluZyYgdmFsdWUpCitib29sIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW9WYWx1ZTo6
cGFyc2UoY29uc3QgU3RyaW5nJiB2YWx1ZSkKIHsKICAgICBhdXRvIHVwY29udmVydGVkQ2hhcmFj
dGVycyA9IFN0cmluZ1ZpZXcodmFsdWUpLnVwY29udmVydGVkQ2hhcmFjdGVycygpOwogICAgIGNv
bnN0IFVDaGFyKiBiZWdpbiA9IHVwY29udmVydGVkQ2hhcmFjdGVyczsKLSAgICBwYXJzZUludGVy
bmFsKGJlZ2luLCBiZWdpbiArIHZhbHVlLmxlbmd0aCgpLCB0cnVlKTsKKyAgICByZXR1cm4gcGFy
c2VJbnRlcm5hbChiZWdpbiwgYmVnaW4gKyB2YWx1ZS5sZW5ndGgoKSwgdHJ1ZSk7CiB9CiAKIGJv
b2wgU1ZHUHJlc2VydmVBc3BlY3RSYXRpb1ZhbHVlOjpwYXJzZShjb25zdCBVQ2hhciomIGN1cnJQ
YXJhbSwgY29uc3QgVUNoYXIqIGVuZCwgYm9vbCB2YWxpZGF0ZSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVmFsdWUuaCBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVmFsdWUuaAppbmRleCA0MTViODcyM2Y4ZDMw
ODY0YzFiM2ZkNzg4Y2MzYjk4OWJhZDdlZjljLi5mMmQ2MDk2YTMzNjg0N2EwNjBiZDk2YWFmZTIy
NjA0ZDIzYzg5MzZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUHJlc2VydmVB
c3BlY3RSYXRpb1ZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ByZXNlcnZlQXNw
ZWN0UmF0aW9WYWx1ZS5oCkBAIC02NCw3ICs2NCw3IEBAIHB1YmxpYzoKIAogICAgIEFmZmluZVRy
YW5zZm9ybSBnZXRDVE0oZmxvYXQgbG9naWNhbFgsIGZsb2F0IGxvZ2ljYWxZLCBmbG9hdCBsb2dp
Y2FsV2lkdGgsIGZsb2F0IGxvZ2ljYWxIZWlnaHQsIGZsb2F0IHBoeXNpY2FsV2lkdGgsIGZsb2F0
IHBoeXNpY2FsSGVpZ2h0KSBjb25zdDsKIAotICAgIHZvaWQgcGFyc2UoY29uc3QgU3RyaW5nJik7
CisgICAgYm9vbCBwYXJzZShjb25zdCBTdHJpbmcmKTsKICAgICBib29sIHBhcnNlKGNvbnN0IFVD
aGFyKiYgY3VyclBhcmFtLCBjb25zdCBVQ2hhciogZW5kLCBib29sIHZhbGlkYXRlKTsKIAogICAg
IFN0cmluZyB2YWx1ZUFzU3RyaW5nKCkgY29uc3Q7CkBAIC03NiwxMSArNzYsNCBAQCBwcml2YXRl
OgogICAgIGJvb2wgcGFyc2VJbnRlcm5hbChjb25zdCBVQ2hhciomIGN1cnJQYXJhbSwgY29uc3Qg
VUNoYXIqIGVuZCwgYm9vbCB2YWxpZGF0ZSk7CiB9OwogCi10ZW1wbGF0ZTw+IHN0cnVjdCBTVkdQ
cm9wZXJ0eVRyYWl0czxTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVmFsdWU+IHsKLSAgICBzdGF0aWMg
U1ZHUHJlc2VydmVBc3BlY3RSYXRpb1ZhbHVlIGluaXRpYWxWYWx1ZSgpIHsgcmV0dXJuIFNWR1By
ZXNlcnZlQXNwZWN0UmF0aW9WYWx1ZSgpOyB9Ci0gICAgc3RhdGljIFNWR1ByZXNlcnZlQXNwZWN0
UmF0aW9WYWx1ZSBmcm9tU3RyaW5nKGNvbnN0IFN0cmluZyYgc3RyaW5nKSB7IHJldHVybiBTVkdQ
cmVzZXJ2ZUFzcGVjdFJhdGlvVmFsdWUoc3RyaW5nKTsgfQotICAgIHN0YXRpYyBPcHRpb25hbDxT
VkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVmFsdWU+IHBhcnNlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBj
b25zdCBTdHJpbmcmKSB7IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyByZXR1cm4gaW5pdGlhbFZhbHVl
KCk7IH0KLSAgICBzdGF0aWMgU3RyaW5nIHRvU3RyaW5nKGNvbnN0IFNWR1ByZXNlcnZlQXNwZWN0
UmF0aW9WYWx1ZSYgdHlwZSkgeyByZXR1cm4gdHlwZS52YWx1ZUFzU3RyaW5nKCk7IH0KLX07Ci0K
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdSYWRpYWxHcmFkaWVudEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdSYWRpYWxH
cmFkaWVudEVsZW1lbnQuaAppbmRleCBiODhhMzVhNDMyOGFmOGM2NjQwZjIyZWRhNjE0ZjkxZWJm
ZTZhNTk3Li41MWJiODRjZDZmMGMxMmM3MWZmNzMwN2QxZWM2NmIyM2U4Mzg1NGI5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1JhZGlhbEdyYWRpZW50RWxlbWVudC5oCkBAIC0zMCw2ICsz
MCw4IEBAIHN0cnVjdCBSYWRpYWxHcmFkaWVudEF0dHJpYnV0ZXM7CiAKIGNsYXNzIFNWR1JhZGlh
bEdyYWRpZW50RWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdHcmFkaWVudEVsZW1lbnQgewogICAg
IFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50KTsKKyAgICB1
c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR1JhZGlh
bEdyYWRpZW50RWxlbWVudCwgU1ZHR3JhZGllbnRFbGVtZW50PjsKKwogcHVibGljOgogICAgIHN0
YXRpYyBSZWY8U1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVk
TmFtZSYsIERvY3VtZW50Jik7CiAKQEAgLTUyLDkgKzU0LDcgQEAgcHVibGljOgogcHJpdmF0ZToK
ICAgICBTVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3Vt
ZW50Jik7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJl
Z2lzdHJ5PFNWR1JhZGlhbEdyYWRpZW50RWxlbWVudCwgU1ZHR3JhZGllbnRFbGVtZW50PjsKICAg
ICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmlu
YWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9Ci0KICAgICB2b2lkIHBhcnNlQXR0cmli
dXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKSBvdmVycmlkZTsK
ICAgICB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYpIG92ZXJy
aWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUmVjdEVsZW1lbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdSZWN0RWxlbWVudC5oCmluZGV4IGMzOTJlMWUyZTVjNmU0
OTdkZDdjODlmMmIzNzA5Y2JmNzU3NzYwNTYuLjgwNDYwODI5ODE3Yzc3ZDYzNjhjZDQwMGQwMTc4
ZGI2ZWVlMGUzMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdSZWN0RWxlbWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdSZWN0RWxlbWVudC5oCkBAIC0yOSw2ICsy
OSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU1ZHUmVjdEVsZW1lbnQgZmluYWwg
OiBwdWJsaWMgU1ZHR2VvbWV0cnlFbGVtZW50LCBwdWJsaWMgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNS
ZXF1aXJlZCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdSZWN0RWxlbWVudCk7Cisg
ICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdS
ZWN0RWxlbWVudCwgU1ZHR2VvbWV0cnlFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVp
cmVkPjsKKwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8U1ZHUmVjdEVsZW1lbnQ+IGNyZWF0ZShj
b25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIApAQCAtNDksOSArNTEsNyBAQCBwdWJs
aWM6CiBwcml2YXRlOgogICAgIFNWR1JlY3RFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBE
b2N1bWVudCYpOwogCi0gICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3du
ZXJSZWdpc3RyeTxTVkdSZWN0RWxlbWVudCwgU1ZHR2VvbWV0cnlFbGVtZW50LCBTVkdFeHRlcm5h
bFJlc291cmNlc1JlcXVpcmVkPjsKICAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9w
ZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9
Ci0KICAgICB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBB
dG9taWNTdHJpbmcmKSBmaW5hbDsKICAgICB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3Qg
UXVhbGlmaWVkTmFtZSYpIGZpbmFsOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHU1ZHRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU1ZHRWxlbWVudC5jcHAK
aW5kZXggOWJmMDM0MjMzMmFlYjQ0ZGNkYjQ5YmE5NDMyYjExY2JjZTAyNmJhYS4uYjdmYzdmZDQz
ODUwNzE5NWI0NzNjOTYxNzViMDdiMThmM2Q3YTg5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR1NWR0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdF
bGVtZW50LmNwcApAQCAtMjUyLDEyICsyNTIsMTYgQEAgdm9pZCBTVkdTVkdFbGVtZW50OjpwYXJz
ZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9taWNTdHJpbmcK
ICAgICAgICAgbV9oZWlnaHQtPnNldEJhc2VWYWxJbnRlcm5hbChsZW5ndGgpOwogICAgIH0KIAot
ICAgIHJlcG9ydEF0dHJpYnV0ZVBhcnNpbmdFcnJvcihwYXJzZUVycm9yLCBuYW1lLCB2YWx1ZSk7
Ci0KICAgICBTVkdHcmFwaGljc0VsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKG5hbWUsIHZhbHVlKTsK
ICAgICBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkOjpwYXJzZUF0dHJpYnV0ZShuYW1lLCB2
YWx1ZSk7Ci0gICAgU1ZHRml0VG9WaWV3Qm94OjpwYXJzZUF0dHJpYnV0ZShuYW1lLCB2YWx1ZSk7
Ci0gICAgU1ZHWm9vbUFuZFBhbjo6cGFyc2VBdHRyaWJ1dGUobmFtZSwgdmFsdWUpOworCisgICAg
aWYgKGF1dG8gZXJyb3IgPSBTVkdGaXRUb1ZpZXdCb3g6OnBhcnNlQXR0cmlidXRlKG5hbWUsIHZh
bHVlKSkKKyAgICAgICAgcGFyc2VFcnJvciA9ICplcnJvcjsKKyAgICAKKyAgICBpZiAoYXV0byBl
cnJvciA9IFNWR1pvb21BbmRQYW46OnBhcnNlQXR0cmlidXRlKG5hbWUsIHZhbHVlKSkKKyAgICAg
ICAgcGFyc2VFcnJvciA9ICplcnJvcjsKKworICAgIHJlcG9ydEF0dHJpYnV0ZVBhcnNpbmdFcnJv
cihwYXJzZUVycm9yLCBuYW1lLCB2YWx1ZSk7CiB9CiAKIHZvaWQgU1ZHU1ZHRWxlbWVudDo6c3Zn
QXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSkKQEAgLTY1MSw3
ICs2NTUsNyBAQCBib29sIFNWR1NWR0VsZW1lbnQ6OnNjcm9sbFRvRnJhZ21lbnQoY29uc3QgU3Ry
aW5nJiBmcmFnbWVudElkZW50aWZpZXIpCiAgICAgaWYgKGZyYWdtZW50SWRlbnRpZmllci5zdGFy
dHNXaXRoKCJzdmdWaWV3KCIpKSB7CiAgICAgICAgIGlmICghdmlldykKICAgICAgICAgICAgIHZp
ZXcgPSAmY3VycmVudFZpZXcoKTsgLy8gQ3JlYXRlIHRoZSBTVkdWaWV3U3BlYy4KLSAgICAgICAg
aWYgKHZpZXctPnBhcnNlVmlld1NwZWMoZnJhZ21lbnRJZGVudGlmaWVyKSkKKyAgICAgICAgaWYg
KHZpZXctPnBhcnNlVmlld1NwZWMoZnJhZ21lbnRJZGVudGlmaWVyKSA9PSBOb0Vycm9yKQogICAg
ICAgICAgICAgbV91c2VDdXJyZW50VmlldyA9IHRydWU7CiAgICAgICAgIGVsc2UKICAgICAgICAg
ICAgIHZpZXctPnJlc2V0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU1ZH
RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQuaAppbmRleCA5NjBm
ODVhZGEwYWZlZTU4YWNjYjAwYzQxZTBiNDRmZTdiNjc5OGUxLi42OTk4MmQ0YWJjOWIwYTZmNWNj
ZjM5NTE3Y2ZiMjRlYmZiNTUzOWIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
U1ZHRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmgKQEAg
LTQwLDYgKzQwLDggQEAgY2xhc3MgU1ZHVmlld1NwZWM7CiAKIGNsYXNzIFNWR1NWR0VsZW1lbnQg
ZmluYWwgOiBwdWJsaWMgU1ZHR3JhcGhpY3NFbGVtZW50LCBwdWJsaWMgU1ZHRXh0ZXJuYWxSZXNv
dXJjZXNSZXF1aXJlZCwgcHVibGljIFNWR0ZpdFRvVmlld0JveCwgcHVibGljIFNWR1pvb21BbmRQ
YW4gewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHU1ZHRWxlbWVudCk7CisgICAgdXNp
bmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdTVkdFbGVt
ZW50LCBTVkdHcmFwaGljc0VsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIFNW
R0ZpdFRvVmlld0JveD47CisKIHB1YmxpYzogLy8gRE9NCiAgICAgY29uc3QgQXRvbWljU3RyaW5n
JiBjb250ZW50U2NyaXB0VHlwZSgpIGNvbnN0OwogICAgIHZvaWQgc2V0Q29udGVudFNjcmlwdFR5
cGUoY29uc3QgQXRvbWljU3RyaW5nJik7CkBAIC0xMzEsMTEgKzEzMywxMCBAQCBwcml2YXRlOgog
ICAgIFNWR1NWR0VsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAgICAg
dmlydHVhbCB+U1ZHU1ZHRWxlbWVudCgpOwogCi0gICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9
IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdTVkdFbGVtZW50LCBTVkdHcmFwaGljc0VsZW1l
bnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIFNWR0ZpdFRvVmlld0JveD47CiAgICAg
Y29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFs
IHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQotICAgIAogICAgIHZvaWQgcGFyc2VBdHRy
aWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYpIG92ZXJyaWRl
OwogICAgIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJikgb3Zl
cnJpZGU7CisKICAgICBib29sIHNlbGZIYXNSZWxhdGl2ZUxlbmd0aHMoKSBjb25zdCBvdmVycmlk
ZTsKICAgICBib29sIGlzVmFsaWQoKSBjb25zdCBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1NjcmlwdEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdTY3JpcHRFbGVtZW50LmgKaW5kZXggZjE1ZjNiN2NmNmY5M2FmMTQ4ZDUwMzJhMTBkZDJiMDE2
N2FmYWJhZi4uMGEyNmVhODNjNTgzY2U1ZWNhZmQ5MjI3NGI5ZjRkYmE4YjFhNWVmMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NjcmlwdEVsZW1lbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHU2NyaXB0RWxlbWVudC5oCkBAIC0zMSw2ICszMSw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogY2xhc3MgU1ZHU2NyaXB0RWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdF
bGVtZW50LCBwdWJsaWMgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgcHVibGljIFNWR1VS
SVJlZmVyZW5jZSwgcHVibGljIFNjcmlwdEVsZW1lbnQgewogICAgIFdURl9NQUtFX0lTT19BTExP
Q0FURUQoU1ZHU2NyaXB0RWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNW
R1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdTY3JpcHRFbGVtZW50LCBTVkdFbGVtZW50LCBTVkdF
eHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBTVkdVUklSZWZlcmVuY2U+OworCiBwdWJsaWM6CiAg
ICAgc3RhdGljIFJlZjxTVkdTY3JpcHRFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFt
ZSYsIERvY3VtZW50JiwgYm9vbCB3YXNJbnNlcnRlZEJ5UGFyc2VyKTsKIApAQCAtNDAsOSArNDIs
NyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFNWR1NjcmlwdEVsZW1lbnQoY29uc3QgUXVhbGlm
aWVkTmFtZSYsIERvY3VtZW50JiwgYm9vbCB3YXNJbnNlcnRlZEJ5UGFyc2VyLCBib29sIGFscmVh
ZHlTdGFydGVkKTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93
bmVyUmVnaXN0cnk8U1ZHU2NyaXB0RWxlbWVudCwgU1ZHRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNv
dXJjZXNSZXF1aXJlZCwgU1ZHVVJJUmVmZXJlbmNlPjsKICAgICBjb25zdCBTVkdQcm9wZXJ0eVJl
Z2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0
eVJlZ2lzdHJ5OyB9Ci0KICAgICB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5h
bWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKSBmaW5hbDsKICAgICB2b2lkIHN2Z0F0dHJpYnV0ZUNo
YW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYpIGZpbmFsOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHU3RvcEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTdG9w
RWxlbWVudC5oCmluZGV4IDgxMDRmYmJkN2Y2Y2ZjZGI3M2M2MGQzNzAzZDRlZTY2ODc0MWEzMGEu
LmI4YzRjMDZjNDM3NWJmNTgyZDE3YmYzMjMyMzlhNzhjODE1ZmYzOWIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdTdG9wRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdTdG9wRWxlbWVudC5oCkBAIC0yNyw2ICsyNyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogY2xhc3MgU1ZHU3RvcEVsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHRWxlbWVudCB7CiAgICAg
V1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdTdG9wRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVy
dHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdTdG9wRWxlbWVudCwgU1ZH
RWxlbWVudD47CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR1N0b3BFbGVtZW50PiBjcmVh
dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKQEAgLTM4LDkgKzQwLDcgQEAg
cHVibGljOgogcHJpdmF0ZToKICAgICBTVkdTdG9wRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1l
JiwgRG9jdW1lbnQmKTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0
eU93bmVyUmVnaXN0cnk8U1ZHU3RvcEVsZW1lbnQsIFNWR0VsZW1lbnQ+OwogICAgIGNvbnN0IFNW
R1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVy
biBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KLQogICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3Qg
UXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYpIGZpbmFsOwogICAgIHZvaWQgc3Zn
QXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJikgZmluYWw7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTdHJpbmdMaXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHU3RyaW5nTGlzdC5oCmluZGV4IGQxZTAxMDY5YjEyYzdlOTA2MDJhZjAwMmZlMjkzYzQw
ZDRiNzBlYzUuLjM1MGU4YTgxMzU3MDFiMjFiMWMxNmNjNGMyNjMyZGRjZmI4Njc4YjAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTdHJpbmdMaXN0LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1N0cmluZ0xpc3QuaApAQCAtMjUsNyArMjUsNiBAQAogCiAjcHJhZ21hIG9u
Y2UKIAotI2luY2x1ZGUgIlNWR1BhcnNlclV0aWxpdGllcy5oIgogI2luY2x1ZGUgIlNWR1ByaW1p
dGl2ZUxpc3QuaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAKQEAgLTQy
LDQ3ICs0MSwxNSBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNWR1N0
cmluZ0xpc3Qob3duZXIpKTsKICAgICB9CiAKLSAgICB2b2lkIHJlc2V0KGNvbnN0IFN0cmluZyYg
c3RyaW5nKQorICAgIFNWR1BhcnNpbmdFcnJvciBwYXJzZShjb25zdCBTdHJpbmcmIHN0cmluZykK
ICAgICB7Ci0gICAgICAgIHBhcnNlKHN0cmluZywgJyAnKTsKKyAgICAgICAgU1ZHUGFyc2luZ0Vy
cm9yIGVycm9yID0gQmFzZTo6cGFyc2Uoc3RyaW5nKTsKIAogICAgICAgICAvLyBBZGQgZW1wdHkg
c3RyaW5nLCBpZiBsaXN0IGlzIGVtcHR5LgogICAgICAgICBpZiAobV9pdGVtcy5pc0VtcHR5KCkp
CiAgICAgICAgICAgICBtX2l0ZW1zLmFwcGVuZChlbXB0eVN0cmluZygpKTsKLSAgICB9Ci0KLSAg
ICBib29sIHBhcnNlKGNvbnN0IFN0cmluZyYgZGF0YSwgVUNoYXIgZGVsaW1pdGVyKQotICAgIHsK
LSAgICAgICAgY2xlYXJJdGVtcygpOwotCi0gICAgICAgIGF1dG8gdXBjb252ZXJ0ZWRDaGFyYWN0
ZXJzID0gU3RyaW5nVmlldyhkYXRhKS51cGNvbnZlcnRlZENoYXJhY3RlcnMoKTsKLSAgICAgICAg
Y29uc3QgVUNoYXIqIHB0ciA9IHVwY29udmVydGVkQ2hhcmFjdGVyczsKLSAgICAgICAgY29uc3Qg
VUNoYXIqIGVuZCA9IHB0ciArIGRhdGEubGVuZ3RoKCk7Ci0gICAgICAgIHdoaWxlIChwdHIgPCBl
bmQpIHsKLSAgICAgICAgICAgIGNvbnN0IFVDaGFyKiBzdGFydCA9IHB0cjsKLSAgICAgICAgICAg
IHdoaWxlIChwdHIgPCBlbmQgJiYgKnB0ciAhPSBkZWxpbWl0ZXIgJiYgIWlzU1ZHU3BhY2UoKnB0
cikpCi0gICAgICAgICAgICAgICAgcHRyKys7Ci0gICAgICAgICAgICBpZiAocHRyID09IHN0YXJ0
KQotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgbV9pdGVtcy5hcHBlbmQoU3Ry
aW5nKHN0YXJ0LCBwdHIgLSBzdGFydCkpOwotICAgICAgICAgICAgc2tpcE9wdGlvbmFsU1ZHU3Bh
Y2VzT3JEZWxpbWl0ZXIocHRyLCBlbmQsIGRlbGltaXRlcik7Ci0gICAgICAgIH0KLQotICAgICAg
ICByZXR1cm4gcHRyID09IGVuZDsKLSAgICB9Ci0KLSAgICBTdHJpbmcgdmFsdWVBc1N0cmluZygp
IGNvbnN0IG92ZXJyaWRlCi0gICAgewotICAgICAgICBTdHJpbmdCdWlsZGVyIGJ1aWxkZXI7Ci0K
LSAgICAgICAgZm9yIChhdXRvIHN0cmluZyA6IG1faXRlbXMpIHsKLSAgICAgICAgICAgIGlmIChi
dWlsZGVyLmxlbmd0aCgpKQotICAgICAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCcgJyk7Ci0K
LSAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKHN0cmluZyk7Ci0gICAgICAgIH0KLQotICAgICAg
ICByZXR1cm4gYnVpbGRlci50b1N0cmluZygpOworICAgICAgICAKKyAgICAgICAgcmV0dXJuIGVy
cm9yOwogICAgIH0KIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTdHls
ZUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTdHlsZUVsZW1lbnQuaAppbmRleCA0
MWE5MzdlZDE5ZTg0OWU1NDAzYTQxNzRmNjM5MDM0NzM1ZmUzNDYyLi5jMTgwZTBjNWVmODE1OTJj
ZmE0MzA5NDBiZjhjYWNhMzhmN2RlMjFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHU3R5bGVFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N0eWxlRWxlbWVu
dC5oCkBAIC0yOCw2ICsyOCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU1ZHU3R5
bGVFbGVtZW50IGZpbmFsIDogcHVibGljIFNWR0VsZW1lbnQgewogICAgIFdURl9NQUtFX0lTT19B
TExPQ0FURUQoU1ZHU3R5bGVFbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0g
U1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR1N0eWxlRWxlbWVudCwgU1ZHRWxlbWVudD47CisK
IHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR1N0eWxlRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1
YWxpZmllZE5hbWUmLCBEb2N1bWVudCYsIGJvb2wgY3JlYXRlZEJ5UGFyc2VyKTsKICAgICB2aXJ0
dWFsIH5TVkdTdHlsZUVsZW1lbnQoKTsKQEAgLTQ2LDYgKzQ4LDcgQEAgcHVibGljOgogcHJpdmF0
ZToKICAgICBTVkdTdHlsZUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jiwg
Ym9vbCBjcmVhdGVkQnlQYXJzZXIpOwogCisgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYg
cHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3Ry
eTsgfQogICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0
IEF0b21pY1N0cmluZyYpIGZpbmFsOwogICAgIEluc2VydGVkSW50b0FuY2VzdG9yUmVzdWx0IGlu
c2VydGVkSW50b0FuY2VzdG9yKEluc2VydGlvblR5cGUsIENvbnRhaW5lck5vZGUmKSBmaW5hbDsK
ICAgICB2b2lkIHJlbW92ZWRGcm9tQW5jZXN0b3IoUmVtb3ZhbFR5cGUsIENvbnRhaW5lck5vZGUm
KSBmaW5hbDsKQEAgLTYyLDYgKzY1LDcgQEAgcHJpdmF0ZToKIAogICAgIFN0cmluZyB0aXRsZSgp
IGNvbnN0IGZpbmFsOwogCisgICAgUHJvcGVydHlSZWdpc3RyeSBtX3Byb3BlcnR5UmVnaXN0cnkg
eyAqdGhpcyB9OwogICAgIElubGluZVN0eWxlU2hlZXRPd25lciBtX3N0eWxlU2hlZXRPd25lcjsK
ICAgICBUaW1lciBtX3N2Z0xvYWRFdmVudFRpbWVyOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdTd2l0Y2hFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU3dp
dGNoRWxlbWVudC5oCmluZGV4IDNkMTRhNGZhZmZhMTRlNzQxYWI5OTZhMzgyODFmNDI3MGE3NWUy
ODQuLjhkZjFkMmQwYzliNjhjMjRlOWY3N2ZjYzc0ZGYyYWI1YTMyZmEyYWYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTd2l0Y2hFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR1N3aXRjaEVsZW1lbnQuaApAQCAtMjgsMTMgKzI4LDE0IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogY2xhc3MgU1ZHU3dpdGNoRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdHcmFw
aGljc0VsZW1lbnQsIHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkIHsKICAgICBX
VEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR1N3aXRjaEVsZW1lbnQpOworICAgIHVzaW5nIFByb3Bl
cnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHU3dpdGNoRWxlbWVudCwg
U1ZHR3JhcGhpY3NFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkPjsKKwogcHVi
bGljOgogICAgIHN0YXRpYyBSZWY8U1ZHU3dpdGNoRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxp
ZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCiBwcml2YXRlOgogICAgIFNWR1N3aXRjaEVsZW1lbnQo
Y29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJl
Z2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR1N3aXRjaEVsZW1lbnQsIFNWR0dy
YXBoaWNzRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZD47CiAgICAgY29uc3Qg
U1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0
dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQogCiAgICAgYm9vbCBpc1ZhbGlkKCkgY29uc3QgZmlu
YWwgeyByZXR1cm4gU1ZHVGVzdHM6OmlzVmFsaWQoKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1N5bWJvbEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTeW1i
b2xFbGVtZW50LmgKaW5kZXggOGM0YWZkZWRjOWMyYmIwZmZhMmVmMGVjZjM4MDZkM2MzZjQ4M2I3
Ni4uZTIxZDUwNzUyZDA3NjZmNGUwNWYzMjU3NGE4NzBhYWJjOGY5MGY4NiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1N5bWJvbEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHU3ltYm9sRWxlbWVudC5oCkBAIC0yOSwxNyArMjksMTggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBjbGFzcyBTVkdTeW1ib2xFbGVtZW50IGZpbmFsIDogcHVibGljIFNWR0VsZW1l
bnQsIHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBwdWJsaWMgU1ZHRml0VG9W
aWV3Qm94IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR1N5bWJvbEVsZW1lbnQpOwor
ICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZH
U3ltYm9sRWxlbWVudCwgU1ZHRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwg
U1ZHRml0VG9WaWV3Qm94PjsKKwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8U1ZHU3ltYm9sRWxl
bWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCiBwcml2YXRl
OgogICAgIFNWR1N5bWJvbEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7
CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5
PFNWR1N5bWJvbEVsZW1lbnQsIFNWR0VsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWly
ZWQsIFNWR0ZpdFRvVmlld0JveD47CiAgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJv
cGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsg
fQotCiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3Qg
QXRvbWljU3RyaW5nJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNv
bnN0IFF1YWxpZmllZE5hbWUmKSBvdmVycmlkZTsKKwogICAgIFJlbmRlclB0cjxSZW5kZXJFbGVt
ZW50PiBjcmVhdGVFbGVtZW50UmVuZGVyZXIoUmVuZGVyU3R5bGUmJiwgY29uc3QgUmVuZGVyVHJl
ZVBvc2l0aW9uJikgb3ZlcnJpZGU7CiAKICAgICBib29sIHNlbGZIYXNSZWxhdGl2ZUxlbmd0aHMo
KSBjb25zdCBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUUmVm
RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RSZWZFbGVtZW50LmgKaW5kZXggOGU4
MTZmNTQ2OWJjZWM4YjlmNTMwODA0MDhhZTYzNDdhNmMwNjEzYy4uOTBkMGJkMjI5ZmU1YTNmOWU2
NWY1YzMwZTNlY2ZlNGMzN2JhZTRiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1RSZWZFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RSZWZFbGVtZW50LmgK
QEAgLTMwLDYgKzMwLDggQEAgY2xhc3MgU1ZHVFJlZlRhcmdldEV2ZW50TGlzdGVuZXI7CiAKIGNs
YXNzIFNWR1RSZWZFbGVtZW50IGZpbmFsIDogcHVibGljIFNWR1RleHRQb3NpdGlvbmluZ0VsZW1l
bnQsIHB1YmxpYyBTVkdVUklSZWZlcmVuY2UgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQo
U1ZHVFJlZkVsZW1lbnQpOworICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0
eU93bmVyUmVnaXN0cnk8U1ZHVFJlZkVsZW1lbnQsIFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQs
IFNWR1VSSVJlZmVyZW5jZT47CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR1RSZWZFbGVt
ZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKQEAgLTM5LDkg
KzQxLDcgQEAgcHJpdmF0ZToKICAgICBTVkdUUmVmRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1l
JiwgRG9jdW1lbnQmKTsKICAgICB2aXJ0dWFsIH5TVkdUUmVmRWxlbWVudCgpOwogCi0gICAgdXNp
bmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdUUmVmRWxl
bWVudCwgU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudCwgU1ZHVVJJUmVmZXJlbmNlPjsKICAgICBj
b25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwg
eyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9Ci0KICAgICB2b2lkIHBhcnNlQXR0cmlidXRl
KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKSBvdmVycmlkZTsKICAg
ICB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYpIG92ZXJyaWRl
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVFNwYW5FbGVtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHVFNwYW5FbGVtZW50LmgKaW5kZXggNWIyMmVhMDJjOGE0NWE1
MjYyYWMwMmVjNDlhYjg4NzgwOWNmZjNjZC4uZWEzYzFmMTFjYzE1M2UwNjdjZDgzM2Q1MTMzM2Fl
Y2IwYTNlNDQyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RTcGFuRWxlbWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUU3BhbkVsZW1lbnQuaApAQCAtMjYsMTUg
KzI2LDIwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU1ZHVFNwYW5FbGVtZW50IGZp
bmFsIDogcHVibGljIFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQgewogICAgIFdURl9NQUtFX0lT
T19BTExPQ0FURUQoU1ZHVFNwYW5FbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5
ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR1RTcGFuRWxlbWVudCwgU1ZHVGV4dFBvc2l0
aW9uaW5nRWxlbWVudD47CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR1RTcGFuRWxlbWVu
dD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCiBwcml2YXRlOgog
ICAgIFNWR1RTcGFuRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKLSAg
ICAgICAgICAgIAorCisgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdp
c3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQogICAgIFJl
bmRlclB0cjxSZW5kZXJFbGVtZW50PiBjcmVhdGVFbGVtZW50UmVuZGVyZXIoUmVuZGVyU3R5bGUm
JiwgY29uc3QgUmVuZGVyVHJlZVBvc2l0aW9uJikgb3ZlcnJpZGU7CiAgICAgYm9vbCBjaGlsZFNo
b3VsZENyZWF0ZVJlbmRlcmVyKGNvbnN0IE5vZGUmKSBjb25zdCBvdmVycmlkZTsKICAgICBib29s
IHJlbmRlcmVySXNOZWVkZWQoY29uc3QgUmVuZGVyU3R5bGUmKSBvdmVycmlkZTsKKworICAgIFBy
b3BlcnR5UmVnaXN0cnkgbV9wcm9wZXJ0eVJlZ2lzdHJ5IHsgKnRoaXMgfTsKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXN0
cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGVzdHMuY3BwCmluZGV4IDQ1NTIzMDQ0Zjg0
MDY2ZmUwMjJjMDNkMTU5NWU4ZjMyYTlmN2MwZDUuLjliYzcwMDE5YzE3MzQ4ZTg4MGUxNDMwZWVh
NjM0MjVlYjZlYzQwY2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXN0cy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Rlc3RzLmNwcApAQCAtMTUwLDExICsxNTAs
MTEgQEAgYm9vbCBTVkdUZXN0czo6aXNWYWxpZCgpIGNvbnN0CiB2b2lkIFNWR1Rlc3RzOjpwYXJz
ZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyaWJ1dGVOYW1lLCBjb25zdCBBdG9t
aWNTdHJpbmcmIHZhbHVlKQogewogICAgIGlmIChhdHRyaWJ1dGVOYW1lID09IHJlcXVpcmVkRmVh
dHVyZXNBdHRyKQotICAgICAgICBtX3JlcXVpcmVkRmVhdHVyZXMtPnJlc2V0KHZhbHVlKTsKKyAg
ICAgICAgbV9yZXF1aXJlZEZlYXR1cmVzLT5wYXJzZSh2YWx1ZSk7CiAgICAgaWYgKGF0dHJpYnV0
ZU5hbWUgPT0gcmVxdWlyZWRFeHRlbnNpb25zQXR0cikKLSAgICAgICAgbV9yZXF1aXJlZEV4dGVu
c2lvbnMtPnJlc2V0KHZhbHVlKTsKKyAgICAgICAgbV9yZXF1aXJlZEV4dGVuc2lvbnMtPnBhcnNl
KHZhbHVlKTsKICAgICBpZiAoYXR0cmlidXRlTmFtZSA9PSBzeXN0ZW1MYW5ndWFnZUF0dHIpCi0g
ICAgICAgIG1fc3lzdGVtTGFuZ3VhZ2UtPnJlc2V0KHZhbHVlKTsKKyAgICAgICAgbV9zeXN0ZW1M
YW5ndWFnZS0+cGFyc2UodmFsdWUpOwogfQogCiB2b2lkIFNWR1Rlc3RzOjpzdmdBdHRyaWJ1dGVD
aGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1Rlc3RzLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGVzdHMuaApp
bmRleCA0NDkyNzBkOWY5ZDBmODk3ZGRmZjllN2MxNWNjZWIwODA2NDdlMTc0Li41NWJhZDc2ZDI2
ZjAyYzIzODNiM2E2ZWYyNzg5MWUxYTQzNDIyZTlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHVGVzdHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGVzdHMuaApAQCAt
MzUsMTEgKzM1LDExIEBAIGNsYXNzIFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTsKIGNsYXNzIFNW
R1Rlc3RzIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdUZXN0cyk7CiBwdWJsaWM6Cisg
ICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdU
ZXN0cz47CisKICAgICBzdGF0aWMgYm9vbCBoYXNFeHRlbnNpb24oY29uc3QgU3RyaW5nJik7CiAg
ICAgYm9vbCBpc1ZhbGlkKCkgY29uc3Q7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0g
U1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR1Rlc3RzPjsKLQogICAgIHZvaWQgcGFyc2VBdHRy
aWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYpOwogICAgIHZv
aWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJik7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuaAppbmRleCAwZTZkYTVjNjc3ODVjZjQx
NjU3NDM0YWEyYjk1YzZmYzE3ZTBmMGRjLi44MDY2YzRiZTRlNzRhYmU4M2VkN2VmYTc3ZGUzNWMz
YzM4ZDllM2VjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRF
bGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5o
CkBAIC0yOCw0MyArMjgsMTEgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdHJ1Y3QgRE9NUG9p
bnRJbml0OwogCi1lbnVtIFNWR0xlbmd0aEFkanVzdFR5cGUgewotICAgIFNWR0xlbmd0aEFkanVz
dFVua25vd24sCi0gICAgU1ZHTGVuZ3RoQWRqdXN0U3BhY2luZywKLSAgICBTVkdMZW5ndGhBZGp1
c3RTcGFjaW5nQW5kR2x5cGhzCi19OwotCi10ZW1wbGF0ZTw+IHN0cnVjdCBTVkdQcm9wZXJ0eVRy
YWl0czxTVkdMZW5ndGhBZGp1c3RUeXBlPiB7Ci0gICAgc3RhdGljIHVuc2lnbmVkIGhpZ2hlc3RF
bnVtVmFsdWUoKSB7IHJldHVybiBTVkdMZW5ndGhBZGp1c3RTcGFjaW5nQW5kR2x5cGhzOyB9Ci0K
LSAgICBzdGF0aWMgU3RyaW5nIHRvU3RyaW5nKFNWR0xlbmd0aEFkanVzdFR5cGUgdHlwZSkKLSAg
ICB7Ci0gICAgICAgIHN3aXRjaCAodHlwZSkgewotICAgICAgICBjYXNlIFNWR0xlbmd0aEFkanVz
dFVua25vd246Ci0gICAgICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKLSAgICAgICAgY2Fz
ZSBTVkdMZW5ndGhBZGp1c3RTcGFjaW5nOgotICAgICAgICAgICAgcmV0dXJuICJzcGFjaW5nIl9z
OwotICAgICAgICBjYXNlIFNWR0xlbmd0aEFkanVzdFNwYWNpbmdBbmRHbHlwaHM6Ci0gICAgICAg
ICAgICByZXR1cm4gInNwYWNpbmdBbmRHbHlwaHMiX3M7Ci0gICAgICAgIH0KLQotICAgICAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7Ci0gICAg
fQotCi0gICAgc3RhdGljIFNWR0xlbmd0aEFkanVzdFR5cGUgZnJvbVN0cmluZyhjb25zdCBTdHJp
bmcmIHZhbHVlKQotICAgIHsKLSAgICAgICAgaWYgKHZhbHVlID09ICJzcGFjaW5nQW5kR2x5cGhz
IikKLSAgICAgICAgICAgIHJldHVybiBTVkdMZW5ndGhBZGp1c3RTcGFjaW5nQW5kR2x5cGhzOwot
ICAgICAgICBpZiAodmFsdWUgPT0gInNwYWNpbmciKQotICAgICAgICAgICAgcmV0dXJuIFNWR0xl
bmd0aEFkanVzdFNwYWNpbmc7Ci0gICAgICAgIHJldHVybiBTVkdMZW5ndGhBZGp1c3RVbmtub3du
OwotICAgIH0KLX07Ci0KIGNsYXNzIFNWR1RleHRDb250ZW50RWxlbWVudCA6IHB1YmxpYyBTVkdH
cmFwaGljc0VsZW1lbnQsIHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkIHsKICAg
ICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR1RleHRDb250ZW50RWxlbWVudCk7CiBwdWJsaWM6
CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxT
VkdUZXh0Q29udGVudEVsZW1lbnQsIFNWR0dyYXBoaWNzRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNv
dXJjZXNSZXF1aXJlZD47CisKICAgICBlbnVtIHsKICAgICAgICAgTEVOR1RIQURKVVNUX1VOS05P
V04gPSBTVkdMZW5ndGhBZGp1c3RVbmtub3duLAogICAgICAgICBMRU5HVEhBREpVU1RfU1BBQ0lO
RyA9IFNWR0xlbmd0aEFkanVzdFNwYWNpbmcsCkBAIC04Myw4ICs1MSw2IEBAIHB1YmxpYzoKIAog
ICAgIHN0YXRpYyBTVkdUZXh0Q29udGVudEVsZW1lbnQqIGVsZW1lbnRGcm9tUmVuZGVyZXIoUmVu
ZGVyT2JqZWN0Kik7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlP
d25lclJlZ2lzdHJ5PFNWR1RleHRDb250ZW50RWxlbWVudCwgU1ZHR3JhcGhpY3NFbGVtZW50LCBT
VkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkPjsKLQogICAgIGNvbnN0IFNWR0xlbmd0aFZhbHVl
JiBzcGVjaWZpZWRUZXh0TGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gbV9zcGVjaWZpZWRUZXh0TGVu
Z3RoOyB9CiAgICAgY29uc3QgU1ZHTGVuZ3RoVmFsdWUmIHRleHRMZW5ndGgoKSBjb25zdCB7IHJl
dHVybiBtX3RleHRMZW5ndGgtPmN1cnJlbnRWYWx1ZSgpOyB9CiAgICAgU1ZHTGVuZ3RoQWRqdXN0
VHlwZSBsZW5ndGhBZGp1c3QoKSBjb25zdCB7IHJldHVybiBtX2xlbmd0aEFkanVzdC0+Y3VycmVu
dFZhbHVlPFNWR0xlbmd0aEFkanVzdFR5cGU+KCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdUZXh0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRFbGVt
ZW50LmgKaW5kZXggYWE5NDQ1ZDkyYjZmYjRhNTE1OTE2MTE1ZWYxYWQzZDg1NWM2NDNkMi4uODM1
NGNhOTkzYTA2NzYxNzk1NTFmOWUyNDRkMTUzYjU5YzhjZTVmZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1RleHRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1RleHRFbGVtZW50LmgKQEAgLTI2LDYgKzI2LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBj
bGFzcyBTVkdUZXh0RWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdUZXh0UG9zaXRpb25pbmdFbGVt
ZW50IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR1RleHRFbGVtZW50KTsKKyAgICB1
c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR1RleHRF
bGVtZW50LCBTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50PjsKKwogcHVibGljOgogICAgIHN0YXRp
YyBSZWY8U1ZHVGV4dEVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1l
bnQmKTsKIApAQCAtMzQsOCArMzYsMTEgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBTVkdUZXh0
RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAorICAgIGNvbnN0IFNW
R1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVy
biBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KICAgICBSZW5kZXJQdHI8UmVuZGVyRWxlbWVudD4gY3Jl
YXRlRWxlbWVudFJlbmRlcmVyKFJlbmRlclN0eWxlJiYsIGNvbnN0IFJlbmRlclRyZWVQb3NpdGlv
biYpIG92ZXJyaWRlOwogICAgIGJvb2wgY2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihjb25zdCBO
b2RlJikgY29uc3Qgb3ZlcnJpZGU7CisgICAgCisgICAgUHJvcGVydHlSZWdpc3RyeSBtX3Byb3Bl
cnR5UmVnaXN0cnkgeyAqdGhpcyB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRQYXRoRWxlbWVudC5oIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1RleHRQYXRoRWxlbWVudC5oCmluZGV4IDQzNTM4N2JmYWY1N2JlNDM3
ZjlkYTI1ZWJhNTY5N2M3N2ZiYTdjOWQuLjgwNWY1YmNiMDIxY2I2N2NkNTA1ZDZiNDBkNmU1NjVk
NGU0ZmNkNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0UGF0aEVsZW1l
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dFBhdGhFbGVtZW50LmgKQEAgLTI2
LDc4ICsyNiwxMCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWVudW0gU1ZHVGV4dFBhdGhN
ZXRob2RUeXBlIHsKLSAgICBTVkdUZXh0UGF0aE1ldGhvZFVua25vd24gPSAwLAotICAgIFNWR1Rl
eHRQYXRoTWV0aG9kQWxpZ24sCi0gICAgU1ZHVGV4dFBhdGhNZXRob2RTdHJldGNoCi19OwotCi1l
bnVtIFNWR1RleHRQYXRoU3BhY2luZ1R5cGUgewotICAgIFNWR1RleHRQYXRoU3BhY2luZ1Vua25v
d24gPSAwLAotICAgIFNWR1RleHRQYXRoU3BhY2luZ0F1dG8sCi0gICAgU1ZHVGV4dFBhdGhTcGFj
aW5nRXhhY3QKLX07Ci0KLXRlbXBsYXRlPD4KLXN0cnVjdCBTVkdQcm9wZXJ0eVRyYWl0czxTVkdU
ZXh0UGF0aE1ldGhvZFR5cGU+IHsKLSAgICBzdGF0aWMgdW5zaWduZWQgaGlnaGVzdEVudW1WYWx1
ZSgpIHsgcmV0dXJuIFNWR1RleHRQYXRoTWV0aG9kU3RyZXRjaDsgfQotCi0gICAgc3RhdGljIFN0
cmluZyB0b1N0cmluZyhTVkdUZXh0UGF0aE1ldGhvZFR5cGUgdHlwZSkKLSAgICB7Ci0gICAgICAg
IHN3aXRjaCAodHlwZSkgewotICAgICAgICBjYXNlIFNWR1RleHRQYXRoTWV0aG9kVW5rbm93bjoK
LSAgICAgICAgICAgIHJldHVybiBlbXB0eVN0cmluZygpOwotICAgICAgICBjYXNlIFNWR1RleHRQ
YXRoTWV0aG9kQWxpZ246Ci0gICAgICAgICAgICByZXR1cm4gImFsaWduIl9zOwotICAgICAgICBj
YXNlIFNWR1RleHRQYXRoTWV0aG9kU3RyZXRjaDoKLSAgICAgICAgICAgIHJldHVybiAic3RyZXRj
aCJfczsKLSAgICAgICAgfQotICAgIAotICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAg
ICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7Ci0gICAgfQotCi0gICAgc3RhdGljIFNWR1RleHRQ
YXRoTWV0aG9kVHlwZSBmcm9tU3RyaW5nKGNvbnN0IFN0cmluZyYgdmFsdWUpCi0gICAgewotICAg
ICAgICBpZiAodmFsdWUgPT0gImFsaWduIikKLSAgICAgICAgICAgIHJldHVybiBTVkdUZXh0UGF0
aE1ldGhvZEFsaWduOwotICAgICAgICBpZiAodmFsdWUgPT0gInN0cmV0Y2giKQotICAgICAgICAg
ICAgcmV0dXJuIFNWR1RleHRQYXRoTWV0aG9kU3RyZXRjaDsKLSAgICAgICAgcmV0dXJuIFNWR1Rl
eHRQYXRoTWV0aG9kVW5rbm93bjsKLSAgICB9Ci19OwotCi10ZW1wbGF0ZTw+Ci1zdHJ1Y3QgU1ZH
UHJvcGVydHlUcmFpdHM8U1ZHVGV4dFBhdGhTcGFjaW5nVHlwZT4gewotICAgIHN0YXRpYyB1bnNp
Z25lZCBoaWdoZXN0RW51bVZhbHVlKCkgeyByZXR1cm4gU1ZHVGV4dFBhdGhTcGFjaW5nRXhhY3Q7
IH0KLQotICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoU1ZHVGV4dFBhdGhTcGFjaW5nVHlwZSB0
eXBlKQotICAgIHsKLSAgICAgICAgc3dpdGNoICh0eXBlKSB7Ci0gICAgICAgIGNhc2UgU1ZHVGV4
dFBhdGhTcGFjaW5nVW5rbm93bjoKLSAgICAgICAgICAgIHJldHVybiBlbXB0eVN0cmluZygpOwot
ICAgICAgICBjYXNlIFNWR1RleHRQYXRoU3BhY2luZ0F1dG86Ci0gICAgICAgICAgICByZXR1cm4g
ImF1dG8iX3M7Ci0gICAgICAgIGNhc2UgU1ZHVGV4dFBhdGhTcGFjaW5nRXhhY3Q6Ci0gICAgICAg
ICAgICByZXR1cm4gImV4YWN0Il9zOwotICAgICAgICB9Ci0KLSAgICAgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7Ci0gICAgICAgIHJldHVybiBlbXB0eVN0cmluZygpOwotICAgIH0KLQotICAgIHN0
YXRpYyBTVkdUZXh0UGF0aFNwYWNpbmdUeXBlIGZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiB2YWx1
ZSkKLSAgICB7Ci0gICAgICAgIGlmICh2YWx1ZSA9PSAiYXV0byIpCi0gICAgICAgICAgICByZXR1
cm4gU1ZHVGV4dFBhdGhTcGFjaW5nQXV0bzsKLSAgICAgICAgaWYgKHZhbHVlID09ICJleGFjdCIp
Ci0gICAgICAgICAgICByZXR1cm4gU1ZHVGV4dFBhdGhTcGFjaW5nRXhhY3Q7Ci0gICAgICAgIHJl
dHVybiBTVkdUZXh0UGF0aFNwYWNpbmdVbmtub3duOwotICAgIH0KLX07Ci0KIGNsYXNzIFNWR1Rl
eHRQYXRoRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdUZXh0Q29udGVudEVsZW1lbnQsIHB1Ymxp
YyBTVkdVUklSZWZlcmVuY2UgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHVGV4dFBh
dGhFbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25l
clJlZ2lzdHJ5PFNWR1RleHRQYXRoRWxlbWVudCwgU1ZHVGV4dENvbnRlbnRFbGVtZW50LCBTVkdV
UklSZWZlcmVuY2U+OworCiBwdWJsaWM6CiAgICAgLy8gRm9yd2FyZCBkZWNsYXJlIGVudW1lcmF0
aW9ucyBpbiB0aGUgVzNDIG5hbWluZyBzY2hlbWUsIGZvciBJREwgZ2VuZXJhdGlvbi4KICAgICBl
bnVtIHsKQEAgLTEyNiw5ICs1OCw3IEBAIHByaXZhdGU6CiAgICAgU1ZHVGV4dFBhdGhFbGVtZW50
KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogICAgIHZpcnR1YWwgflNWR1RleHRQ
YXRoRWxlbWVudCgpOwogCi0gICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5
T3duZXJSZWdpc3RyeTxTVkdUZXh0UGF0aEVsZW1lbnQsIFNWR1RleHRDb250ZW50RWxlbWVudCwg
U1ZHVVJJUmVmZXJlbmNlPjsKICAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0
eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9Ci0K
ICAgICB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9t
aWNTdHJpbmcmKSBvdmVycmlkZTsKICAgICB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3Qg
UXVhbGlmaWVkTmFtZSYpIG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Rl
eHRQb3NpdGlvbmluZ0VsZW1lbnQuaAppbmRleCBhNDg2MmVjNDc2Mjk2NTk5NzQzMGZhODRkNjhk
OTcxOWIzNDc2NWJhLi42MWM3ZGIxNjIxNGY2ZTU5Mzc0ZGJiODI1M2Y3MmFmNWRlYWY2MmZjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50LmgKQEAg
LTI3LDExICsyNywxMiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNWR1RleHRQb3Np
dGlvbmluZ0VsZW1lbnQgOiBwdWJsaWMgU1ZHVGV4dENvbnRlbnRFbGVtZW50IHsKICAgICBXVEZf
TUFLRV9JU09fQUxMT0NBVEVEKFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQpOwotcHVibGljOgot
ICAgIHN0YXRpYyBTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50KiBlbGVtZW50RnJvbVJlbmRlcmVy
KFJlbmRlckJveE1vZGVsT2JqZWN0Jik7CiAKK3B1YmxpYzoKICAgICB1c2luZyBQcm9wZXJ0eVJl
Z2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR1RleHRQb3NpdGlvbmluZ0VsZW1l
bnQsIFNWR1RleHRDb250ZW50RWxlbWVudD47CiAKKyAgICBzdGF0aWMgU1ZHVGV4dFBvc2l0aW9u
aW5nRWxlbWVudCogZWxlbWVudEZyb21SZW5kZXJlcihSZW5kZXJCb3hNb2RlbE9iamVjdCYpOwor
CiAgICAgY29uc3QgU1ZHTGVuZ3RoTGlzdCYgeCgpIGNvbnN0IHsgcmV0dXJuIG1feC0+Y3VycmVu
dFZhbHVlKCk7IH0KICAgICBjb25zdCBTVkdMZW5ndGhMaXN0JiB5KCkgY29uc3QgeyByZXR1cm4g
bV95LT5jdXJyZW50VmFsdWUoKTsgfQogICAgIGNvbnN0IFNWR0xlbmd0aExpc3QmIGR4KCkgY29u
c3QgeyByZXR1cm4gbV9keC0+Y3VycmVudFZhbHVlKCk7IH0KQEAgLTU0LDkgKzU1LDYgQEAgcHJp
dmF0ZToKICAgICBib29sIGlzUHJlc2VudGF0aW9uQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5h
bWUmKSBjb25zdCBmaW5hbDsKICAgICB2b2lkIGNvbGxlY3RTdHlsZUZvclByZXNlbnRhdGlvbkF0
dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJiwgTXV0YWJs
ZVN0eWxlUHJvcGVydGllcyYpIGZpbmFsOwogCi0gICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3Ry
eSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fcHJvcGVydHlS
ZWdpc3RyeTsgfQotCi0gICAgUHJvcGVydHlSZWdpc3RyeSBtX3Byb3BlcnR5UmVnaXN0cnkgeyAq
dGhpcyB9OwogICAgIFJlZjxTVkdBbmltYXRlZExlbmd0aExpc3Q+IG1feCB7IFNWR0FuaW1hdGVk
TGVuZ3RoTGlzdDo6Y3JlYXRlKHRoaXMsIExlbmd0aE1vZGVXaWR0aCkgfTsKICAgICBSZWY8U1ZH
QW5pbWF0ZWRMZW5ndGhMaXN0PiBtX3kgeyBTVkdBbmltYXRlZExlbmd0aExpc3Q6OmNyZWF0ZSh0
aGlzLCBMZW5ndGhNb2RlSGVpZ2h0KSB9OwogICAgIFJlZjxTVkdBbmltYXRlZExlbmd0aExpc3Q+
IG1fZHggeyBTVkdBbmltYXRlZExlbmd0aExpc3Q6OmNyZWF0ZSh0aGlzLCBMZW5ndGhNb2RlV2lk
dGgpIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGl0bGVFbGVtZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGl0bGVFbGVtZW50LmgKaW5kZXggM2Y1MzMzNTY3MDdk
M2U4NTRjNDQzMDdjMzQwY2I4YjEwN2M0M2U4ZC4uOWFmZTQwNjk0Y2E4ZDljYjFmNWNjOWFiZmVh
NzdhNTAwOWJiNjYxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RpdGxlRWxl
bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUaXRsZUVsZW1lbnQuaApAQCAtMjcs
MTcgKzI3LDIyIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU1ZHVGl0bGVFbGVtZW50
IGZpbmFsIDogcHVibGljIFNWR0VsZW1lbnQgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQo
U1ZHVGl0bGVFbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVy
dHlPd25lclJlZ2lzdHJ5PFNWR1RpdGxlRWxlbWVudCwgU1ZHRWxlbWVudD47CisKIHB1YmxpYzoK
ICAgICBzdGF0aWMgUmVmPFNWR1RpdGxlRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5h
bWUmLCBEb2N1bWVudCYpOwogCiBwcml2YXRlOgogICAgIFNWR1RpdGxlRWxlbWVudChjb25zdCBR
dWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAorICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0
cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVn
aXN0cnk7IH0KKyAgICBib29sIHJlbmRlcmVySXNOZWVkZWQoY29uc3QgUmVuZGVyU3R5bGUmKSBm
aW5hbCB7IHJldHVybiBmYWxzZTsgfQorCiAgICAgSW5zZXJ0ZWRJbnRvQW5jZXN0b3JSZXN1bHQg
aW5zZXJ0ZWRJbnRvQW5jZXN0b3IoSW5zZXJ0aW9uVHlwZSwgQ29udGFpbmVyTm9kZSYpIGZpbmFs
OwogICAgIHZvaWQgcmVtb3ZlZEZyb21BbmNlc3RvcihSZW1vdmFsVHlwZSwgQ29udGFpbmVyTm9k
ZSYpIGZpbmFsOwogICAgIHZvaWQgY2hpbGRyZW5DaGFuZ2VkKGNvbnN0IENoaWxkQ2hhbmdlJikg
ZmluYWw7CiAKLSAgICBib29sIHJlbmRlcmVySXNOZWVkZWQoY29uc3QgUmVuZGVyU3R5bGUmKSBm
aW5hbCB7IHJldHVybiBmYWxzZTsgfQorICAgIFByb3BlcnR5UmVnaXN0cnkgbV9wcm9wZXJ0eVJl
Z2lzdHJ5IHsgKnRoaXMgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUcmFuc2Zvcm0uaCBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdUcmFuc2Zvcm0uaAppbmRleCA2YTI5YzcyY2YzZTdmMzEzZjcwOTY1N2E0MDEyNDgxYzIy
M2I4ZGNkLi43N2I4OTk2MTRmYmNlMzg5MTlkNzNiNTJiZjk4MWVlM2Y2YThkN2UwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVHJhbnNmb3JtLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR1RyYW5zZm9ybS5oCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpbmNsdWRlICJTVkdN
YXRyaXguaCIKICNpbmNsdWRlICJTVkdUcmFuc2Zvcm1WYWx1ZS5oIgorI2luY2x1ZGUgIlNWR1Ry
YW5zZm9ybWFibGUuaCIKICNpbmNsdWRlICJTVkdWYWx1ZVByb3BlcnR5LmgiCiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKQEAgLTQ4LDYgKzQ5LDE5IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGFk
b3B0UmVmKCpuZXcgU1ZHVHJhbnNmb3JtKHZhbHVlLnR5cGUoKSwgdmFsdWUubWF0cml4KCktPnZh
bHVlKCksIHZhbHVlLmFuZ2xlKCksIHZhbHVlLnJvdGF0aW9uQ2VudGVyKCkpKTsKICAgICB9CiAK
KyAgICBzdGF0aWMgRXhwZWN0ZWQ8UmVmPFNWR1RyYW5zZm9ybT4sIFNWR1BhcnNpbmdFcnJvcj4g
Y3JlYXRlKGNvbnN0IFVDaGFyKiYgcHRyLCBjb25zdCBVQ2hhciogZW5kKQorICAgIHsKKyAgICAg
ICAgU1ZHVHJhbnNmb3JtVmFsdWU6OlNWR1RyYW5zZm9ybVR5cGUgdHlwZSA9IFNWR1RyYW5zZm9y
bVZhbHVlOjpTVkdfVFJBTlNGT1JNX1VOS05PV047CisgICAgICAgIGlmICghU1ZHVHJhbnNmb3Jt
YWJsZTo6cGFyc2VBbmRTa2lwVHlwZShwdHIsIGVuZCwgdHlwZSkpCisgICAgICAgICAgICByZXR1
cm4gbWFrZVVuZXhwZWN0ZWQoUGFyc2luZ0F0dHJpYnV0ZUZhaWxlZEVycm9yKTsKKworICAgICAg
ICBSZWY8U1ZHVHJhbnNmb3JtPiB0cmFuc2Zvcm0gPSBTVkdUcmFuc2Zvcm06OmNyZWF0ZSh0eXBl
KTsKKyAgICAgICAgaWYgKCFTVkdUcmFuc2Zvcm1hYmxlOjpwYXJzZVRyYW5zZm9ybVZhbHVlKHR5
cGUsIHB0ciwgZW5kLCB0cmFuc2Zvcm0tPnZhbHVlKCkpKQorICAgICAgICAgICAgcmV0dXJuIG1h
a2VVbmV4cGVjdGVkKFBhcnNpbmdBdHRyaWJ1dGVGYWlsZWRFcnJvcik7CisKKyAgICAgICAgcmV0
dXJuIHRyYW5zZm9ybTsKKyAgICB9CisKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgogICAgIHN0
YXRpYyBFeGNlcHRpb25PcjxSZWY8U1ZHVHJhbnNmb3JtPj4gY3JlYXRlKEV4Y2VwdGlvbk9yPFQ+
JiYgdmFsdWUpCiAgICAgewpAQCAtMTMwLDYgKzE0NCwxMSBAQCBwdWJsaWM6CiAgICAgICAgIHJl
dHVybiB7IH07CiAgICAgfQogCisgICAgU3RyaW5nIHZhbHVlQXNTdHJpbmcoKSBjb25zdCBvdmVy
cmlkZQorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fdmFsdWUudmFsdWVBc1N0cmluZygpOworICAg
IH0KKwogcHJpdmF0ZToKICAgICB1c2luZyBCYXNlID0gU1ZHVmFsdWVQcm9wZXJ0eTxTVkdUcmFu
c2Zvcm1WYWx1ZT47CiAKQEAgLTE0NywxMSArMTY2LDYgQEAgcHJpdmF0ZToKICAgICAgICAgICAg
IG93bmVyKCktPmNvbW1pdFByb3BlcnR5Q2hhbmdlKHRoaXMpOwogICAgICAgICBtX3ZhbHVlLm1h
dHJpeERpZENoYW5nZSgpOwogICAgIH0KLQotICAgIFN0cmluZyB2YWx1ZUFzU3RyaW5nKCkgY29u
c3Qgb3ZlcnJpZGUKLSAgICB7Ci0gICAgICAgIHJldHVybiBtX3ZhbHVlLnZhbHVlQXNTdHJpbmco
KTsKLSAgICB9CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHVHJhbnNmb3JtTGlzdC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1RyYW5zZm9ybUxpc3QuaAppbmRleCA1NDRkNjBiMmU2MzVjMWMyMDk5MzRlZTQzNWNmNDEyNWU2
YTcxZjJiLi43NzU0YjcxZmI0ZTk2MWIyZTdmMDZjZjcxNjEwZWIzNWY0YzEwMjQwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVHJhbnNmb3JtTGlzdC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdUcmFuc2Zvcm1MaXN0LmgKQEAgLTIyLDEzICsyMiwxMSBAQAogI3ByYWdt
YSBvbmNlCiAKICNpbmNsdWRlICJTVkdUcmFuc2Zvcm0uaCIKLSNpbmNsdWRlICJTVkdUcmFuc2Zv
cm1hYmxlLmgiCiAjaW5jbHVkZSAiU1ZHVmFsdWVQcm9wZXJ0eUxpc3QuaCIKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBjbGFzcyBTVkdUcmFuc2Zvcm1MaXN0IGZpbmFsIDogcHVibGljIFNWR1Zh
bHVlUHJvcGVydHlMaXN0PFNWR1RyYW5zZm9ybT4gewotICAgIGZyaWVuZCBjbGFzcyBTVkdWaWV3
U3BlYzsKICAgICB1c2luZyBCYXNlID0gU1ZHVmFsdWVQcm9wZXJ0eUxpc3Q8U1ZHVHJhbnNmb3Jt
PjsKICAgICB1c2luZyBCYXNlOjpCYXNlOwogCkBAIC03NSwxNiArNzMsNiBAQCBwdWJsaWM6CiAg
ICAgICAgIHJldHVybiBtYWtlUmVmUHRyKGl0ZW0uZ2V0KCkpOwogICAgIH0KIAotICAgIHZvaWQg
cGFyc2UoY29uc3QgU3RyaW5nJiB2YWx1ZSkKLSAgICB7Ci0gICAgICAgIGNsZWFySXRlbXMoKTsK
LQotICAgICAgICBhdXRvIHVwY29udmVydGVkQ2hhcmFjdGVycyA9IFN0cmluZ1ZpZXcodmFsdWUp
LnVwY29udmVydGVkQ2hhcmFjdGVycygpOwotICAgICAgICBjb25zdCBVQ2hhciogc3RhcnQgPSB1
cGNvbnZlcnRlZENoYXJhY3RlcnM7Ci0gICAgICAgIGlmICghcGFyc2Uoc3RhcnQsIHN0YXJ0ICsg
dmFsdWUubGVuZ3RoKCkpKQotICAgICAgICAgICAgY2xlYXJJdGVtcygpOwotICAgIH0KLQogICAg
IEFmZmluZVRyYW5zZm9ybSBjb25jYXRlbmF0ZSgpIGNvbnN0CiAgICAgewogICAgICAgICBBZmZp
bmVUcmFuc2Zvcm0gcmVzdWx0OwpAQCAtOTMsNDQgKzgxLDEzIEBAIHB1YmxpYzoKICAgICAgICAg
cmV0dXJuIHJlc3VsdDsKICAgICB9CiAKLSAgICBTdHJpbmcgdmFsdWVBc1N0cmluZygpIGNvbnN0
IG92ZXJyaWRlCisgICAgU1ZHUGFyc2luZ0Vycm9yIHBhcnNlKGNvbnN0IFN0cmluZyYgc3RyaW5n
KQogICAgIHsKLSAgICAgICAgU3RyaW5nQnVpbGRlciBidWlsZGVyOwotICAgICAgICBmb3IgKGNv
bnN0IGF1dG8mIHRyYW5zZnJvbSA6IG1faXRlbXMpIHsKLSAgICAgICAgICAgIGlmIChidWlsZGVy
Lmxlbmd0aCgpKQotICAgICAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCcgJyk7Ci0KLSAgICAg
ICAgICAgIGJ1aWxkZXIuYXBwZW5kKHRyYW5zZnJvbS0+dmFsdWUoKS52YWx1ZUFzU3RyaW5nKCkp
OwotICAgICAgICB9Ci0gICAgICAgIHJldHVybiBidWlsZGVyLnRvU3RyaW5nKCk7Ci0gICAgfQot
Ci1wcml2YXRlOgotICAgIGJvb2wgcGFyc2UoY29uc3QgVUNoYXIqJiBzdGFydCwgY29uc3QgVUNo
YXIqIGVuZCkKLSAgICB7Ci0gICAgICAgIGJvb2wgZGVsaW1QYXJzZWQgPSBmYWxzZTsKLSAgICAg
ICAgd2hpbGUgKHN0YXJ0IDwgZW5kKSB7Ci0gICAgICAgICAgICBkZWxpbVBhcnNlZCA9IGZhbHNl
OwotICAgICAgICAgICAgU1ZHVHJhbnNmb3JtVmFsdWU6OlNWR1RyYW5zZm9ybVR5cGUgdHlwZSA9
IFNWR1RyYW5zZm9ybVZhbHVlOjpTVkdfVFJBTlNGT1JNX1VOS05PV047Ci0gICAgICAgICAgICBz
a2lwT3B0aW9uYWxTVkdTcGFjZXMoc3RhcnQsIGVuZCk7Ci0KLSAgICAgICAgICAgIGlmICghU1ZH
VHJhbnNmb3JtYWJsZTo6cGFyc2VBbmRTa2lwVHlwZShzdGFydCwgZW5kLCB0eXBlKSkKLSAgICAg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICAgICAgICAgIFJlZjxTVkdUcmFuc2Zvcm0+
IHRyYW5zZm9ybSA9IFNWR1RyYW5zZm9ybTo6Y3JlYXRlKHR5cGUpOwotICAgICAgICAgICAgaWYg
KCFTVkdUcmFuc2Zvcm1hYmxlOjpwYXJzZVRyYW5zZm9ybVZhbHVlKHR5cGUsIHN0YXJ0LCBlbmQs
IHRyYW5zZm9ybS0+dmFsdWUoKSkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0g
ICAgICAgICAgICBhcHBlbmQoV1RGTW92ZSh0cmFuc2Zvcm0pKTsKLSAgICAgICAgICAgIHNraXBP
cHRpb25hbFNWR1NwYWNlcyhzdGFydCwgZW5kKTsKLSAgICAgICAgICAgIGlmIChzdGFydCA8IGVu
ZCAmJiAqc3RhcnQgPT0gJywnKSB7Ci0gICAgICAgICAgICAgICAgZGVsaW1QYXJzZWQgPSB0cnVl
OwotICAgICAgICAgICAgICAgICsrc3RhcnQ7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAg
IHNraXBPcHRpb25hbFNWR1NwYWNlcyhzdGFydCwgZW5kKTsKKyAgICAgICAgaWYgKGF1dG8gZXJy
b3IgPSBCYXNlOjpwYXJzZShzdHJpbmcpKSB7CisgICAgICAgICAgICBjbGVhckl0ZW1zKCk7Cisg
ICAgICAgICAgICByZXR1cm4gZXJyb3I7CiAgICAgICAgIH0KLSAgICAgICAgcmV0dXJuICFkZWxp
bVBhcnNlZDsKKyAgICAgICAgcmV0dXJuIE5vRXJyb3I7CiAgICAgfQogfTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1VSSVJlZmVyZW5jZS5oIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1VSSVJlZmVyZW5jZS5oCmluZGV4IDIwMWI2YzcxYmVkNzEzOWE5YzZlMmVkMDBkNjJi
MmRmNDFmNmQ3NTAuLjBmOTg4NDBkYTI3ODQwYjYyOTUwOTY2OTcyZDNhNzQzZGRjOTk1MDggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdVUklSZWZlcmVuY2UuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHVVJJUmVmZXJlbmNlLmgKQEAgLTMyLDcgKzMyLDcgQEAgY2xhc3Mg
U1ZHRWxlbWVudDsKIGNsYXNzIFNWR1VSSVJlZmVyZW5jZSB7CiAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoU1ZHVVJJUmVmZXJlbmNlKTsKIHB1YmxpYzoKLSAgICB2aXJ0dWFsIH5TVkdVUklSZWZl
cmVuY2UoKSA9IGRlZmF1bHQ7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3Bl
cnR5T3duZXJSZWdpc3RyeTxTVkdVUklSZWZlcmVuY2U+OwogCiAgICAgdm9pZCBwYXJzZUF0dHJp
YnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJik7CiAKQEAgLTU2
LDEzICs1NiwxMiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiAhZXF1YWxJZ25vcmluZ0ZyYWdt
ZW50SWRlbnRpZmllcih1cmwsIGRvY3VtZW50LnVybCgpKTsKICAgICB9CiAKLSAgICB1c2luZyBQ
cm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR1VSSVJlZmVyZW5j
ZT47Ci0KICAgICBTdHJpbmcgaHJlZigpIGNvbnN0IHsgcmV0dXJuIG1faHJlZi0+Y3VycmVudFZh
bHVlKCk7IH0KICAgICBTVkdBbmltYXRlZFN0cmluZyYgaHJlZkFuaW1hdGVkKCkgeyByZXR1cm4g
bV9ocmVmOyB9CiAKIHByb3RlY3RlZDoKICAgICBTVkdVUklSZWZlcmVuY2UoU1ZHRWxlbWVudCog
Y29udGV4dEVsZW1lbnQpOworICAgIHZpcnR1YWwgflNWR1VSSVJlZmVyZW5jZSgpID0gZGVmYXVs
dDsKIAogICAgIHN0YXRpYyBib29sIGlzS25vd25BdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFt
ZSYgYXR0cmlidXRlTmFtZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdV
bml0VHlwZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdVbml0VHlwZXMuaAppbmRleCBmNDQ0
ODVmN2UwNWRmMjQ1M2ZhYWJlNjliMGMyODgyZmVjNTAwNGJlLi40YTk4OWM5ZGM5YmE5ZWY5MDZj
YjI0ZGRmNTMxMjkyMjY0NmIyNjhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
VW5pdFR5cGVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1VuaXRUeXBlcy5oCkBAIC0x
OSw3ICsxOSw2IEBACiAKICNwcmFnbWEgb25jZQogCi0jaW5jbHVkZSAiU1ZHUHJvcGVydHlUcmFp
dHMuaCIKICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CkBAIC0zMSwzOCArMzAsOCBAQCBwdWJsaWM6CiAgICAgICAgIFNWR19VTklUX1RZUEVfVVNFUlNQ
QUNFT05VU0UgICAgICAgID0gMSwKICAgICAgICAgU1ZHX1VOSVRfVFlQRV9PQkpFQ1RCT1VORElO
R0JPWCAgICAgPSAyCiAgICAgfTsKLQogcHJpdmF0ZToKLSAgICBTVkdVbml0VHlwZXMoKSB7IH0K
LX07Ci0KLXRlbXBsYXRlPD4KLXN0cnVjdCBTVkdQcm9wZXJ0eVRyYWl0czxTVkdVbml0VHlwZXM6
OlNWR1VuaXRUeXBlPiB7Ci0gICAgc3RhdGljIHVuc2lnbmVkIGhpZ2hlc3RFbnVtVmFsdWUoKSB7
IHJldHVybiBTVkdVbml0VHlwZXM6OlNWR19VTklUX1RZUEVfT0JKRUNUQk9VTkRJTkdCT1g7IH0K
LQotICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoU1ZHVW5pdFR5cGVzOjpTVkdVbml0VHlwZSB0
eXBlKQotICAgIHsKLSAgICAgICAgc3dpdGNoICh0eXBlKSB7Ci0gICAgICAgIGNhc2UgU1ZHVW5p
dFR5cGVzOjpTVkdfVU5JVF9UWVBFX1VOS05PV046Ci0gICAgICAgICAgICByZXR1cm4gZW1wdHlT
dHJpbmcoKTsKLSAgICAgICAgY2FzZSBTVkdVbml0VHlwZXM6OlNWR19VTklUX1RZUEVfVVNFUlNQ
QUNFT05VU0U6Ci0gICAgICAgICAgICByZXR1cm4gInVzZXJTcGFjZU9uVXNlIl9zOwotICAgICAg
ICBjYXNlIFNWR1VuaXRUeXBlczo6U1ZHX1VOSVRfVFlQRV9PQkpFQ1RCT1VORElOR0JPWDoKLSAg
ICAgICAgICAgIHJldHVybiAib2JqZWN0Qm91bmRpbmdCb3giX3M7Ci0gICAgICAgIH0KLQotICAg
ICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7
Ci0gICAgfQotCi0gICAgc3RhdGljIFNWR1VuaXRUeXBlczo6U1ZHVW5pdFR5cGUgZnJvbVN0cmlu
Zyhjb25zdCBTdHJpbmcmIHZhbHVlKQotICAgIHsKLSAgICAgICAgaWYgKHZhbHVlID09ICJ1c2Vy
U3BhY2VPblVzZSIpCi0gICAgICAgICAgICByZXR1cm4gU1ZHVW5pdFR5cGVzOjpTVkdfVU5JVF9U
WVBFX1VTRVJTUEFDRU9OVVNFOwotICAgICAgICBpZiAodmFsdWUgPT0gIm9iamVjdEJvdW5kaW5n
Qm94IikKLSAgICAgICAgICAgIHJldHVybiBTVkdVbml0VHlwZXM6OlNWR19VTklUX1RZUEVfT0JK
RUNUQk9VTkRJTkdCT1g7Ci0gICAgICAgIHJldHVybiBTVkdVbml0VHlwZXM6OlNWR19VTklUX1RZ
UEVfVU5LTk9XTjsKLSAgICB9CisgICAgU1ZHVW5pdFR5cGVzKCkgPSBkZWZhdWx0OwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1Vua25vd25FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVW5rbm93bkVsZW1lbnQu
aAppbmRleCBhMTVjN2FmOTc4N2FkMjFmMmNhN2MzMjkzYzgyMDA2ODJlMWJhYmVkLi45NjQ0NTJj
YzgwYWIxZDhlNWYzNWZmNzdmNzM5MzMyOGEyZGNlN2QxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHVW5rbm93bkVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
VW5rbm93bkVsZW1lbnQuaApAQCAtMzcsNiArMzcsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAv
LyBmYWxzZSB0byBtYWtlIHN1cmUgd2UgZG9uJ3QgYXR0ZW1wdCB0byByZW5kZXIgc3VjaCBlbGVt
ZW50cy4KIGNsYXNzIFNWR1Vua25vd25FbGVtZW50IGZpbmFsIDogcHVibGljIFNWR0VsZW1lbnQg
ewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHVW5rbm93bkVsZW1lbnQpOworICAgIHVz
aW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHVW5rbm93
bkVsZW1lbnQsIFNWR0VsZW1lbnQ+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdVbmtu
b3duRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50
JiBkb2N1bWVudCkKICAgICB7CkBAIC00OSw3ICs1MSwxMCBAQCBwcml2YXRlOgogICAgIHsKICAg
ICB9CiAKKyAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkg
Y29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9CiAgICAgYm9vbCByZW5k
ZXJlcklzTmVlZGVkKGNvbnN0IFJlbmRlclN0eWxlJikgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0K
KyAgICAKKyAgICBQcm9wZXJ0eVJlZ2lzdHJ5IG1fcHJvcGVydHlSZWdpc3RyeSB7ICp0aGlzIH07
CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHVXNlRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1VzZUVsZW1lbnQu
aAppbmRleCAwMzkwODFkMTY2ZWFkYTdiNTIwMGI2MDRiNzBlMzljNGZlYWExYmRiLi45YzM5NjMz
NDZmNmZlNjkwZTY2NWI4MzQ3YjI0ZTZmYzY0ZWI0ZTkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHVXNlRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdVc2VF
bGVtZW50LmgKQEAgLTM0LDYgKzM0LDggQEAgY2xhc3MgU1ZHR0VsZW1lbnQ7CiAKIGNsYXNzIFNW
R1VzZUVsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHR3JhcGhpY3NFbGVtZW50LCBwdWJsaWMgU1ZH
RXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgcHVibGljIFNWR1VSSVJlZmVyZW5jZSwgcHJpdmF0
ZSBDYWNoZWRTVkdEb2N1bWVudENsaWVudCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChT
VkdVc2VFbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlP
d25lclJlZ2lzdHJ5PFNWR1VzZUVsZW1lbnQsIFNWR0dyYXBoaWNzRWxlbWVudCwgU1ZHRXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZCwgU1ZHVVJJUmVmZXJlbmNlPjsKKwogcHVibGljOgogICAgIHN0
YXRpYyBSZWY8U1ZHVXNlRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1
bWVudCYpOwogICAgIHZpcnR1YWwgflNWR1VzZUVsZW1lbnQoKTsKQEAgLTYzLDkgKzY1LDcgQEAg
cHJpdmF0ZToKICAgICB2b2lkIHJlbW92ZWRGcm9tQW5jZXN0b3IoUmVtb3ZhbFR5cGUsIENvbnRh
aW5lck5vZGUmKSBvdmVycmlkZTsKICAgICB2b2lkIGJ1aWxkUGVuZGluZ1Jlc291cmNlKCkgb3Zl
cnJpZGU7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJl
Z2lzdHJ5PFNWR1VzZUVsZW1lbnQsIFNWR0dyYXBoaWNzRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNv
dXJjZXNSZXF1aXJlZCwgU1ZHVVJJUmVmZXJlbmNlPjsKICAgICBjb25zdCBTVkdQcm9wZXJ0eVJl
Z2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0
eVJlZ2lzdHJ5OyB9Ci0KICAgICB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5h
bWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKSBvdmVycmlkZTsKICAgICB2b2lkIHN2Z0F0dHJpYnV0
ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYpIG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHVktlcm5FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHVktlcm5FbGVtZW50LmgKaW5kZXggNzhjOGQ1NTAxODk2ZDE2Y2VjNzA3YjUyNmFlMWQ3ZDAy
YWMwZGZhNi4uMWVjMDcyYzBjM2NkMzYzODBhZTVjY2ViZDIxZjhiZjEzNWY0ZmRiZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZLZXJuRWxlbWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdWS2VybkVsZW1lbnQuaApAQCAtMjgsNiArMjgsOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNsYXNzIFNWR1ZLZXJuRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdFbGVt
ZW50IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR1ZLZXJuRWxlbWVudCk7CisgICAg
dXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdWS2Vy
bkVsZW1lbnQsIFNWR0VsZW1lbnQ+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdWS2Vy
bkVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIApAQCAt
MzYsNyArMzgsMTAgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBTVkdWS2VybkVsZW1lbnQoY29u
c3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKKyAgICBjb25zdCBTVkdQcm9wZXJ0eVJl
Z2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0
eVJlZ2lzdHJ5OyB9CiAgICAgYm9vbCByZW5kZXJlcklzTmVlZGVkKGNvbnN0IFJlbmRlclN0eWxl
JikgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0KKworICAgIFByb3BlcnR5UmVnaXN0cnkgbV9wcm9w
ZXJ0eVJlZ2lzdHJ5IHsgKnRoaXMgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3RWxlbWVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHVmlld0VsZW1lbnQuY3BwCmluZGV4IDMzOTZjNmU5ODIzNmI2NGU4Njk1
ZmYwNDE5ZTgwMjY5NTc3YjQ3M2EuLjBhZWMzMjc2ZWM0YWRjMGIyMWE2MmY3NGZiNTM3OWE4NTM5
N2JiMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3RWxlbWVudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdFbGVtZW50LmNwcApAQCAtNTEsNyArNTEs
NyBAQCBSZWY8U1ZHVmlld0VsZW1lbnQ+IFNWR1ZpZXdFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVh
bGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbgogdm9pZCBTVkdWaWV3RWxlbWVudDo6cGFyc2VB
dHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbWljU3RyaW5nJiB2
YWx1ZSkKIHsKICAgICBpZiAobmFtZSA9PSBTVkdOYW1lczo6dmlld1RhcmdldEF0dHIpIHsKLSAg
ICAgICAgbV92aWV3VGFyZ2V0LT5yZXNldCh2YWx1ZSk7CisgICAgICAgIG1fdmlld1RhcmdldC0+
cGFyc2UodmFsdWUpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHVmlld0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdW
aWV3RWxlbWVudC5oCmluZGV4IGIwZWVmMTlkN2M0OTUwNTE4NzhhODgxNWFlNDYyZGE5NTA4NGUw
N2MuLjc1ZDE4MmY0ZDg1MjhkNGRlNWY5ZWVlNDJiNjIzZTUwNTdlYzQzNTAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdWaWV3RWxlbWVudC5oCkBAIC0zMSw2ICszMSw4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogY2xhc3MgU1ZHVmlld0VsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHRWxlbWVudCwgcHVi
bGljIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIHB1YmxpYyBTVkdGaXRUb1ZpZXdCb3gs
IHB1YmxpYyBTVkdab29tQW5kUGFuIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR1Zp
ZXdFbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25l
clJlZ2lzdHJ5PFNWR1ZpZXdFbGVtZW50LCBTVkdFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNl
c1JlcXVpcmVkLCBTVkdGaXRUb1ZpZXdCb3g+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxT
VkdWaWV3RWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwog
CkBAIC00Miw5ICs0NCw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgU1ZHVmlld0VsZW1lbnQo
Y29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJl
Z2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR1ZpZXdFbGVtZW50LCBTVkdFbGVt
ZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBTVkdGaXRUb1ZpZXdCb3g+OwogICAg
IGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBmaW5h
bCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KLQogICAgIC8vIEZJWE1FKHdlYmtpdC5v
cmcvYi8xOTY1NTQpOiBzdmdBdHRyaWJ1dGVDaGFuZ2VkIG1pc3NpbmcuCiAgICAgdm9pZCBwYXJz
ZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJikgZmlu
YWw7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuY3BwCmluZGV4IDhmNDIzNTE2YjViZGJjNTI4
N2NkYTQ0YWRmNDlmYzYxOGRkYzMyZWMuLjc4Yjg5YzU5ODBjMWJmOTY0ZDllMWRhZjc5MWE4MWNj
ZjJiYjAzYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmNwcApAQCAtMjMsMTEgKzIzLDgg
QEAKIAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiU1ZHRWxlbWVudC5oIgotI2lu
Y2x1ZGUgIlNWR0ZpdFRvVmlld0JveC5oIgogI2luY2x1ZGUgIlNWR05hbWVzLmgiCi0jaW5jbHVk
ZSAiU1ZHUGFyc2VyVXRpbGl0aWVzLmgiCiAjaW5jbHVkZSAiU1ZHVHJhbnNmb3JtTGlzdC5oIgot
I2luY2x1ZGUgIlNWR1RyYW5zZm9ybWFibGUuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBA
IC02MCw5OSArNTcsMTA0IEBAIHZvaWQgU1ZHVmlld1NwZWM6OnJlc2V0KCkKICAgICBTVkdab29t
QW5kUGFuOjpyZXNldCgpOwogfQogCi1zdGF0aWMgY29uc3QgVUNoYXIgc3ZnVmlld1NwZWNbXSA9
IHsncycsICd2JywgJ2cnLCAnVicsICdpJywgJ2UnLCAndyd9Owotc3RhdGljIGNvbnN0IFVDaGFy
IHZpZXdCb3hTcGVjW10gPSB7J3YnLCAnaScsICdlJywgJ3cnLCAnQicsICdvJywgJ3gnfTsKLXN0
YXRpYyBjb25zdCBVQ2hhciBwcmVzZXJ2ZUFzcGVjdFJhdGlvU3BlY1tdID0geydwJywgJ3InLCAn
ZScsICdzJywgJ2UnLCAncicsICd2JywgJ2UnLCAnQScsICdzJywgJ3AnLCAnZScsICdjJywgJ3Qn
LCAnUicsICdhJywgJ3QnLCAnaScsICdvJ307Ci1zdGF0aWMgY29uc3QgVUNoYXIgdHJhbnNmb3Jt
U3BlY1tdID0geyd0JywgJ3InLCAnYScsICduJywgJ3MnLCAnZicsICdvJywgJ3InLCAnbSd9Owot
c3RhdGljIGNvbnN0IFVDaGFyIHpvb21BbmRQYW5TcGVjW10gPSB7J3onLCAnbycsICdvJywgJ20n
LCAnQScsICduJywgJ2QnLCAnUCcsICdhJywgJ24nfTsKLXN0YXRpYyBjb25zdCBVQ2hhciB2aWV3
VGFyZ2V0U3BlY1tdID0gIHsndicsICdpJywgJ2UnLCAndycsICdUJywgJ2EnLCAncicsICdnJywg
J2UnLCAndCd9Oworc3RhdGljIE9wdGlvbmFsPFZlY3RvcjxzdGQ6OnBhaXI8U3RyaW5nLCBTdHJp
bmc+Pj4gcGFyc2VOYW1lc1ZhbHVlcyhjb25zdCBTdHJpbmcmIHN0cmluZykKK3sKKyAgICBWZWN0
b3I8c3RkOjpwYWlyPFN0cmluZywgU3RyaW5nPj4gcmVzdWx0OworCisgICAgZm9yIChzaXplX3Qg
cG9zaXRpb24gPSAwOyBwb3NpdGlvbiA8IHN0cmluZy5sZW5ndGgoKTsgKSB7CisgICAgICAgIHNp
emVfdCBzdGFydCA9IHBvc2l0aW9uOworICAgICAgICAKKyAgICAgICAgLy8gRmluZCBvZiB0aGUg
ZW5kIG9mIHRoZSBhdHRyaWJ1dHVlIG5hbWUuCisgICAgICAgIHBvc2l0aW9uID0gc3RyaW5nLmZp
bmQoJygnLCBzdGFydCk7CisgICAgICAgIGlmIChwb3NpdGlvbiA9PSBub3RGb3VuZCkKKyAgICAg
ICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICAgICAgLy8gRXh0cmFjdCB0aGUgbmFt
ZSBhbmQgc3RpcCB0aGUgd2hpdGUgc3BhY2VzLgorICAgICAgICBTdHJpbmcgbmFtZSA9IHN0cmlu
Zy5zdWJzdHJpbmcoc3RhcnQsIHBvc2l0aW9uIC0gc3RhcnQpLnN0cmlwV2hpdGVTcGFjZSgpOwor
CisgICAgICAgIC8vIEtlZXAgdHJhY2sgb2Ygb3BlbmQgbGVmdCBwYXJlbnRoZXNlcyBidXQgc3Rv
cmUgdGhlIHBvc3Rpb25zIG9mIHRoZSBjbG9zZWQgb25lcworICAgICAgICBWZWN0b3I8c2l6ZV90
PiBsZWZ0UGFyZW50aGVzZXMgeyBwb3NpdGlvbiB9OworICAgICAgICBWZWN0b3I8c3RkOjpwYWly
PHNpemVfdCwgc2l6ZV90Pj4gcGFyZW50aGVzZXM7CisgICAgICAgIHN0YXJ0ID0gcG9zaXRpb24r
KzsKKworICAgICAgICB3aGlsZSAocG9zaXRpb24gPCBzdHJpbmcubGVuZ3RoKCkgJiYgIWxlZnRQ
YXJlbnRoZXNlcy5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAgIGlmIChzdHJpbmdbcG9zaXRpb25d
ID09ICcoJykKKyAgICAgICAgICAgICAgICBsZWZ0UGFyZW50aGVzZXMuYXBwZW5kKHBvc2l0aW9u
KTsKKyAgICAgICAgICAgIGVsc2UgaWYgKHN0cmluZ1twb3NpdGlvbl0gPT0gJyknKQorICAgICAg
ICAgICAgICAgIHBhcmVudGhlc2VzLmFwcGVuZChzdGQ6Om1ha2VfcGFpcihsZWZ0UGFyZW50aGVz
ZXMudGFrZUxhc3QoKSwgcG9zaXRpb24pKTsKKyAgICAgICAgICAgICsrcG9zaXRpb247CisgICAg
ICAgIH0KKworICAgICAgICAvLyBVbmJhbGFuY2VkIHBhcmVudGhlc2VzLgorICAgICAgICBpZiAo
IWxlZnRQYXJlbnRoZXNlcy5pc0VtcHR5KCkpCisgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxs
b3B0OwogCi1ib29sIFNWR1ZpZXdTcGVjOjpwYXJzZVZpZXdTcGVjKGNvbnN0IFN0cmluZyYgdmll
d1NwZWMpCisgICAgICAgIHNpemVfdCBlbmQgPSBwb3NpdGlvbjsKKyAgICAgICAgCisgICAgICAg
IC8vIFJlbW92ZSB1bm5lY2Vzc2FyeSBwYXJlbnRoZXNlcy4KKyAgICAgICAgZm9yICg7ICFwYXJl
bnRoZXNlcy5pc0VtcHR5KCk7ICsrc3RhcnQsIC0tZW5kKSB7CisgICAgICAgICAgICBhdXRvIHBh
aXIgPSBwYXJlbnRoZXNlcy50YWtlTGFzdCgpOworICAgICAgICAgICAgaWYgKHBhaXIuZmlyc3Qg
IT0gc3RhcnQgfHwgcGFpci5zZWNvbmQgIT0gZW5kIC0xKQorICAgICAgICAgICAgICAgIGJyZWFr
OworICAgICAgICB9CisKKyAgICAgICAgLy8gRXh0cmFjdCB0aGUgdmFsdWUgYW5kIHN0aXAgdGhl
IHdoaXRlIHNwYWNlcy4KKyAgICAgICAgU3RyaW5nIHZhbHVlID0gc3RyaW5nLnN1YnN0cmluZyhz
dGFydCwgZW5kIC0gc3RhcnQpLnN0cmlwV2hpdGVTcGFjZSgpOworICAgICAgICByZXN1bHQuYXBw
ZW5kKHN0ZDo6bWFrZV9wYWlyKG5hbWUsIHZhbHVlKSk7CisKKyAgICAgICAgLy8gU2tpcCB0aGUg
c2VtaWNvbG9uIGlmIGl0IHNlcGFyYXRlcyB0aGUgYXR0cmlidXRlcy4KKyAgICAgICAgaWYgKHBv
c2l0aW9uIDwgc3RyaW5nLmxlbmd0aCgpICYmIHN0cmluZ1twb3NpdGlvbl0gPT0gJzsnKQorICAg
ICAgICAgICAgKytwb3NpdGlvbjsKKyAgICB9CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitT
VkdQYXJzaW5nRXJyb3IgU1ZHVmlld1NwZWM6OnBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmll
ZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUpCit7CisgICAgaWYgKG5hbWUg
PT0gU1ZHTmFtZXM6OnRyYW5zZm9ybUF0dHIpCisgICAgICAgIHJldHVybiBtX3RyYW5zZm9ybS0+
cGFyc2UodmFsdWUpOworCisgICAgaWYgKGF1dG8gZXJyb3IgPSBTVkdGaXRUb1ZpZXdCb3g6OnBh
cnNlQXR0cmlidXRlKG5hbWUsIHZhbHVlKSkKKyAgICAgICAgcmV0dXJuICplcnJvcjsKKworICAg
IGlmIChhdXRvIGVycm9yID0gU1ZHWm9vbUFuZFBhbjo6cGFyc2VBdHRyaWJ1dGUobmFtZSwgdmFs
dWUpKQorICAgICAgICByZXR1cm4gKmVycm9yOworCisgICAgcmV0dXJuIFBhcnNpbmdBdHRyaWJ1
dGVGYWlsZWRFcnJvcjsKK30KKworU1ZHUGFyc2luZ0Vycm9yIFNWR1ZpZXdTcGVjOjpwYXJzZVZp
ZXdTcGVjKGNvbnN0IFN0cmluZyYgdmlld1NwZWMpCiB7Ci0gICAgYXV0byB1cGNvbnZlcnRlZENo
YXJhY3RlcnMgPSBTdHJpbmdWaWV3KHZpZXdTcGVjKS51cGNvbnZlcnRlZENoYXJhY3RlcnMoKTsK
LSAgICBjb25zdCBVQ2hhciogY3VyclZpZXdTcGVjID0gdXBjb252ZXJ0ZWRDaGFyYWN0ZXJzOwot
ICAgIGNvbnN0IFVDaGFyKiBlbmQgPSBjdXJyVmlld1NwZWMgKyB2aWV3U3BlYy5sZW5ndGgoKTsK
LQotICAgIGlmIChjdXJyVmlld1NwZWMgPj0gZW5kIHx8ICFtX2NvbnRleHRFbGVtZW50KQotICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBpZiAoIXNraXBTdHJpbmcoY3VyclZpZXdTcGVjLCBl
bmQsIHN2Z1ZpZXdTcGVjLCBXVEZfQVJSQVlfTEVOR1RIKHN2Z1ZpZXdTcGVjKSkpCi0gICAgICAg
IHJldHVybiBmYWxzZTsKLQotICAgIGlmIChjdXJyVmlld1NwZWMgPj0gZW5kIHx8ICpjdXJyVmll
d1NwZWMgIT0gJygnKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgY3VyclZpZXdTcGVjKys7
Ci0KLSAgICB3aGlsZSAoY3VyclZpZXdTcGVjIDwgZW5kICYmICpjdXJyVmlld1NwZWMgIT0gJykn
KSB7Ci0gICAgICAgIGlmICgqY3VyclZpZXdTcGVjID09ICd2JykgewotICAgICAgICAgICAgaWYg
KHNraXBTdHJpbmcoY3VyclZpZXdTcGVjLCBlbmQsIHZpZXdCb3hTcGVjLCBXVEZfQVJSQVlfTEVO
R1RIKHZpZXdCb3hTcGVjKSkpIHsKLSAgICAgICAgICAgICAgICBpZiAoY3VyclZpZXdTcGVjID49
IGVuZCB8fCAqY3VyclZpZXdTcGVjICE9ICcoJykKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOwotICAgICAgICAgICAgICAgIGN1cnJWaWV3U3BlYysrOwotICAgICAgICAgICAgICAg
IEZsb2F0UmVjdCB2aWV3Qm94OwotICAgICAgICAgICAgICAgIGlmICghU1ZHRml0VG9WaWV3Qm94
OjpwYXJzZVZpZXdCb3goY3VyclZpZXdTcGVjLCBlbmQsIHZpZXdCb3gsIGZhbHNlKSkKLSAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgICAgIHNldFZpZXdCb3go
dmlld0JveCk7Ci0gICAgICAgICAgICAgICAgaWYgKGN1cnJWaWV3U3BlYyA+PSBlbmQgfHwgKmN1
cnJWaWV3U3BlYyAhPSAnKScpCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAg
ICAgICAgICAgICAgICBjdXJyVmlld1NwZWMrKzsKLSAgICAgICAgICAgIH0gZWxzZSBpZiAoc2tp
cFN0cmluZyhjdXJyVmlld1NwZWMsIGVuZCwgdmlld1RhcmdldFNwZWMsIFdURl9BUlJBWV9MRU5H
VEgodmlld1RhcmdldFNwZWMpKSkgewotICAgICAgICAgICAgICAgIGlmIChjdXJyVmlld1NwZWMg
Pj0gZW5kIHx8ICpjdXJyVmlld1NwZWMgIT0gJygnKQotICAgICAgICAgICAgICAgICAgICByZXR1
cm4gZmFsc2U7Ci0gICAgICAgICAgICAgICAgY29uc3QgVUNoYXIqIHZpZXdUYXJnZXRTdGFydCA9
ICsrY3VyclZpZXdTcGVjOwotICAgICAgICAgICAgICAgIHdoaWxlIChjdXJyVmlld1NwZWMgPCBl
bmQgJiYgKmN1cnJWaWV3U3BlYyAhPSAnKScpCi0gICAgICAgICAgICAgICAgICAgIGN1cnJWaWV3
U3BlYysrOwotICAgICAgICAgICAgICAgIGlmIChjdXJyVmlld1NwZWMgPj0gZW5kKQotICAgICAg
ICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICAgICAgbV92aWV3VGFyZ2V0
U3RyaW5nID0gU3RyaW5nKHZpZXdUYXJnZXRTdGFydCwgY3VyclZpZXdTcGVjIC0gdmlld1Rhcmdl
dFN0YXJ0KTsKLSAgICAgICAgICAgICAgICBjdXJyVmlld1NwZWMrKzsKLSAgICAgICAgICAgIH0g
ZWxzZQotICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfSBlbHNlIGlmICgq
Y3VyclZpZXdTcGVjID09ICd6JykgewotICAgICAgICAgICAgaWYgKCFza2lwU3RyaW5nKGN1cnJW
aWV3U3BlYywgZW5kLCB6b29tQW5kUGFuU3BlYywgV1RGX0FSUkFZX0xFTkdUSCh6b29tQW5kUGFu
U3BlYykpKQotICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgICAgIGlmIChj
dXJyVmlld1NwZWMgPj0gZW5kIHx8ICpjdXJyVmlld1NwZWMgIT0gJygnKQotICAgICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgICAgIGN1cnJWaWV3U3BlYysrOwotICAgICAgICAg
ICAgaWYgKCFTVkdab29tQW5kUGFuOjpwYXJzZVpvb21BbmRQYW4oY3VyclZpZXdTcGVjLCBlbmQp
KQotICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgICAgIGlmIChjdXJyVmll
d1NwZWMgPj0gZW5kIHx8ICpjdXJyVmlld1NwZWMgIT0gJyknKQotICAgICAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKLSAgICAgICAgICAgIGN1cnJWaWV3U3BlYysrOwotICAgICAgICB9IGVsc2Ug
aWYgKCpjdXJyVmlld1NwZWMgPT0gJ3AnKSB7Ci0gICAgICAgICAgICBpZiAoIXNraXBTdHJpbmco
Y3VyclZpZXdTcGVjLCBlbmQsIHByZXNlcnZlQXNwZWN0UmF0aW9TcGVjLCBXVEZfQVJSQVlfTEVO
R1RIKHByZXNlcnZlQXNwZWN0UmF0aW9TcGVjKSkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOwotICAgICAgICAgICAgaWYgKGN1cnJWaWV3U3BlYyA+PSBlbmQgfHwgKmN1cnJWaWV3U3Bl
YyAhPSAnKCcpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgY3Vy
clZpZXdTcGVjKys7Ci0gICAgICAgICAgICBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVmFsdWUgcHJl
c2VydmVBc3BlY3RSYXRpbzsKLSAgICAgICAgICAgIGlmICghcHJlc2VydmVBc3BlY3RSYXRpby5w
YXJzZShjdXJyVmlld1NwZWMsIGVuZCwgZmFsc2UpKQotICAgICAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKLSAgICAgICAgICAgIHNldFByZXNlcnZlQXNwZWN0UmF0aW8ocHJlc2VydmVBc3BlY3RS
YXRpbyk7Ci0gICAgICAgICAgICBpZiAoY3VyclZpZXdTcGVjID49IGVuZCB8fCAqY3VyclZpZXdT
cGVjICE9ICcpJykKLSAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICBj
dXJyVmlld1NwZWMrKzsKLSAgICAgICAgfSBlbHNlIGlmICgqY3VyclZpZXdTcGVjID09ICd0Jykg
ewotICAgICAgICAgICAgaWYgKCFza2lwU3RyaW5nKGN1cnJWaWV3U3BlYywgZW5kLCB0cmFuc2Zv
cm1TcGVjLCBXVEZfQVJSQVlfTEVOR1RIKHRyYW5zZm9ybVNwZWMpKSkKLSAgICAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICBpZiAoY3VyclZpZXdTcGVjID49IGVuZCB8fCAq
Y3VyclZpZXdTcGVjICE9ICcoJykKLSAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAg
ICAgICAgICBjdXJyVmlld1NwZWMrKzsKLSAgICAgICAgICAgIG1fdHJhbnNmb3JtLT5wYXJzZShj
dXJyVmlld1NwZWMsIGVuZCk7Ci0gICAgICAgICAgICBpZiAoY3VyclZpZXdTcGVjID49IGVuZCB8
fCAqY3VyclZpZXdTcGVjICE9ICcpJykKLSAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0g
ICAgICAgICAgICBjdXJyVmlld1NwZWMrKzsKLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7Ci0KLSAgICAgICAgaWYgKGN1cnJWaWV3U3BlYyA8IGVuZCAmJiAqY3VyclZp
ZXdTcGVjID09ICc7JykKLSAgICAgICAgICAgIGN1cnJWaWV3U3BlYysrOworICAgIGF1dG8gcmVz
dWx0ID0gcGFyc2VOYW1lc1ZhbHVlcyh2aWV3U3BlYyk7CisgICAgaWYgKCFyZXN1bHQgfHwgcmVz
dWx0LT5zaXplKCkgIT0gMSB8fCAoKnJlc3VsdClbMF0uZmlyc3QgIT0gInN2Z1ZpZXciKQorICAg
ICAgICByZXR1cm4gUGFyc2luZ0F0dHJpYnV0ZUZhaWxlZEVycm9yOworCisgICAgYXV0byBuYW1l
c1ZhbHVlcyA9IHBhcnNlTmFtZXNWYWx1ZXMoKCpyZXN1bHQpWzBdLnNlY29uZCk7CisgICAgaWYg
KCFuYW1lc1ZhbHVlcyB8fCBuYW1lc1ZhbHVlcy0+aXNFbXB0eSgpKQorICAgICAgICByZXR1cm4g
UGFyc2luZ0F0dHJpYnV0ZUZhaWxlZEVycm9yOworCisgICAgU3RyaW5nQnVpbGRlciB0cmFuc2Zy
b207CisgICAgZm9yIChhdXRvJiBuYW1lVmFsdWUgOiAqbmFtZXNWYWx1ZXMpIHsKKyAgICAgICAg
UXVhbGlmaWVkTmFtZSBuYW1lKGVtcHR5QXRvbSgpLCBuYW1lVmFsdWUuZmlyc3QsIGVtcHR5QXRv
bSgpKTsKKyAgICAgICAgaWYgKG5hbWUubWF0Y2hlcyhTVkdOYW1lczo6dmlld1RhcmdldEF0dHIp
KSB7CisgICAgICAgICAgICAvLyB2aWV3VGFyZ2V0IGNhbid0IGJlIGFuIGVtcHR5IHN0cmluZy4K
KyAgICAgICAgICAgIGlmIChuYW1lVmFsdWUuc2Vjb25kLmlzRW1wdHkoKSkKKyAgICAgICAgICAg
ICAgICByZXR1cm4gVW5leHBlY3RlZEVuZE9mQXR0cmlidXRlRXJyb3I7CisgICAgICAgICAgICBt
X3ZpZXdUYXJnZXRTdHJpbmcgPSBuYW1lVmFsdWUuc2Vjb25kOworICAgICAgICB9IGVsc2UgaWYg
KG5hbWUubWF0Y2hlcyhTVkdOYW1lczo6dHJhbnNmb3JtQXR0cikpIHsKKyAgICAgICAgICAgIC8v
IHRyYW5zZm9ybSBjYW4gZXhpc3QgbXVsdGlwbGUgdGltZXMuIENvbGxlY3QgdmFsdWVzIGFuZCBw
YXJzZSBhdCB0aGUgZW5kLgorICAgICAgICAgICAgaWYgKHRyYW5zZnJvbS5sZW5ndGgoKSkKKyAg
ICAgICAgICAgICAgICB0cmFuc2Zyb20uYXBwZW5kKCcgJyk7CisgICAgICAgICAgICB0cmFuc2Zy
b20uYXBwZW5kKG5hbWVWYWx1ZS5zZWNvbmQpOworICAgICAgICB9IGVsc2UgaWYgKGF1dG8gZXJy
b3IgPSBwYXJzZUF0dHJpYnV0ZShuYW1lLCBuYW1lVmFsdWUuc2Vjb25kKSkKKyAgICAgICAgICAg
IHJldHVybiBlcnJvcjsKICAgICB9Ci0gICAgCi0gICAgaWYgKGN1cnJWaWV3U3BlYyA+PSBlbmQg
fHwgKmN1cnJWaWV3U3BlYyAhPSAnKScpCi0gICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIHJl
dHVybiB0cnVlOworICAgIGlmICh0cmFuc2Zyb20ubGVuZ3RoKCkpCisgICAgICAgIHJldHVybiBw
YXJzZUF0dHJpYnV0ZShTVkdOYW1lczo6dHJhbnNmb3JtQXR0ciwgdHJhbnNmcm9tLnRvU3RyaW5n
KCkpOworCisgICAgcmV0dXJuIE5vRXJyb3I7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVj
LmgKaW5kZXggMmU3ZWY5Nzg2YzFhODg2ZmQyNWFjZmVhMDM3ZmM4NTBkNzlkZTUyMC4uNmY4OGMw
Y2FmOTI5ZDQxN2EwMzJjZjU1MzI5OWYxZTZjNmEwOTYxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdT
cGVjLmgKQEAgLTMwLDEzICszMCwxNSBAQCBjbGFzcyBTVkdFbGVtZW50OwogY2xhc3MgU1ZHVHJh
bnNmb3JtTGlzdDsKIAogY2xhc3MgU1ZHVmlld1NwZWMgZmluYWwgOiBwdWJsaWMgUmVmQ291bnRl
ZDxTVkdWaWV3U3BlYz4sIHB1YmxpYyBTVkdGaXRUb1ZpZXdCb3gsIHB1YmxpYyBTVkdab29tQW5k
UGFuIHsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lz
dHJ5PFNWR1ZpZXdTcGVjLCBTVkdGaXRUb1ZpZXdCb3g+OworCiBwdWJsaWM6CiAgICAgc3RhdGlj
IFJlZjxTVkdWaWV3U3BlYz4gY3JlYXRlKFNWR0VsZW1lbnQmIGNvbnRleHRFbGVtZW50KQogICAg
IHsKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU1ZHVmlld1NwZWMoY29udGV4dEVsZW1l
bnQpKTsKICAgICB9CiAKLSAgICBib29sIHBhcnNlVmlld1NwZWMoY29uc3QgU3RyaW5nJik7Cisg
ICAgU1ZHUGFyc2luZ0Vycm9yIHBhcnNlVmlld1NwZWMoY29uc3QgU3RyaW5nJik7CiAgICAgdm9p
ZCByZXNldCgpOwogICAgIHZvaWQgcmVzZXRDb250ZXh0RWxlbWVudCgpIHsgbV9jb250ZXh0RWxl
bWVudCA9IG51bGxwdHI7IH0KIApAQCAtNTEsNyArNTMsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgog
ICAgIGV4cGxpY2l0IFNWR1ZpZXdTcGVjKFNWR0VsZW1lbnQmKTsKIAotICAgIHVzaW5nIFByb3Bl
cnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHVmlld1NwZWMsIFNWR0Zp
dFRvVmlld0JveD47CisgICAgU1ZHUGFyc2luZ0Vycm9yIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1
YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKTsKIAogICAgIFdlYWtQdHI8U1ZHRWxl
bWVudD4gbV9jb250ZXh0RWxlbWVudDsKICAgICBTdHJpbmcgbV92aWV3VGFyZ2V0U3RyaW5nOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1pvb21BbmRQYW4uY3BwIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1pvb21BbmRQYW4uY3BwCmluZGV4IDE0ZDhmY2I3N2VhNTgwMWQ2NTEw
OWY0NTNkYTI1MDM2MjMxMTI3NmQuLjlhMGUwMjMxM2U4OTg2NmM3YmRmYmNhZDYzYzJhMDRmYTMw
N2MwNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdab29tQW5kUGFuLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHWm9vbUFuZFBhbi5jcHAKQEAgLTI0LDI4ICsyNCwx
NyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWJvb2wgU1ZHWm9vbUFuZFBhbjo6cGFyc2Va
b29tQW5kUGFuKGNvbnN0IFVDaGFyKiYgc3RhcnQsIGNvbnN0IFVDaGFyKiBlbmQpCitPcHRpb25h
bDxTVkdQYXJzaW5nRXJyb3I+IFNWR1pvb21BbmRQYW46OnBhcnNlQXR0cmlidXRlKGNvbnN0IFF1
YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUpCiB7Ci0gICAgc3Rh
dGljIGNvbnN0IFVDaGFyIGRpc2FibGVbXSA9IHsgJ2QnLCAnaScsICdzJywgJ2EnLCAnYicsICds
JywgJ2UnIH07Ci0gICAgaWYgKHNraXBTdHJpbmcoc3RhcnQsIGVuZCwgZGlzYWJsZSwgV1RGX0FS
UkFZX0xFTkdUSChkaXNhYmxlKSkpIHsKLSAgICAgICAgbV96b29tQW5kUGFuID0gU1ZHWm9vbUFu
ZFBhbkRpc2FibGU7Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KKyAgICBpZiAoIW5hbWUu
bWF0Y2hlcyhTVkdOYW1lczo6em9vbUFuZFBhbkF0dHIpKQorICAgICAgICByZXR1cm4gV1RGOjpu
dWxsb3B0OwogCi0gICAgc3RhdGljIGNvbnN0IFVDaGFyIG1hZ25pZnlbXSA9IHsgJ20nLCAnYScs
ICdnJywgJ24nLCAnaScsICdmJywgJ3knIH07Ci0gICAgaWYgKHNraXBTdHJpbmcoc3RhcnQsIGVu
ZCwgbWFnbmlmeSwgV1RGX0FSUkFZX0xFTkdUSChtYWduaWZ5KSkpIHsKLSAgICAgICAgbV96b29t
QW5kUGFuID0gU1ZHWm9vbUFuZFBhbk1hZ25pZnk7Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAg
IH0KLQotICAgIHJldHVybiBmYWxzZTsKLX0KLQotdm9pZCBTVkdab29tQW5kUGFuOjpwYXJzZUF0
dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyaWJ1dGVOYW1lLCBjb25zdCBBdG9taWNT
dHJpbmcmIHZhbHVlKQotewotICAgIGlmIChhdHRyaWJ1dGVOYW1lICE9IFNWR05hbWVzOjp6b29t
QW5kUGFuQXR0cikKLSAgICAgICAgcmV0dXJuOwotICAgIG1fem9vbUFuZFBhbiA9IFNWR1Byb3Bl
cnR5VHJhaXRzPFNWR1pvb21BbmRQYW5UeXBlPjo6ZnJvbVN0cmluZyh2YWx1ZSk7CisgICAgYXV0
byBleHBlY3RlZFpvb21BbmRQYW4gPSBTVkdQcm9wZXJ0eVRyYWl0czxTVkdab29tQW5kUGFuVHlw
ZT46OnBhcnNlKHZhbHVlKTsKKyAgICBpZiAoIWV4cGVjdGVkWm9vbUFuZFBhbikKKyAgICAgICAg
cmV0dXJuIGV4cGVjdGVkWm9vbUFuZFBhbi5lcnJvcigpOworICAgIAorICAgIG1fem9vbUFuZFBh
biA9ICpleHBlY3RlZFpvb21BbmRQYW47CisgICAgcmV0dXJuIE5vRXJyb3I7CiB9CiAKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdab29tQW5kUGFuLmggYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHWm9vbUFuZFBhbi5oCmluZGV4IDlmYmNmYjA5YWMzYWQwMTZiOGZlMmQyOTJk
YWIyMzU2MmE1MjU0YTcuLjkwNjM4ZjkxMDhiYzk1YmE2OTA2N2U3YTdlMjViMGM4OThkYTZjMWQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdab29tQW5kUGFuLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1pvb21BbmRQYW4uaApAQCAtMjMsOCArMjMsOCBAQAogCiAjaW5j
bHVkZSAiRXhjZXB0aW9uT3IuaCIKICNpbmNsdWRlICJRdWFsaWZpZWROYW1lLmgiCisjaW5jbHVk
ZSAiU1ZHRW51bVR5cGUuaCIKICNpbmNsdWRlICJTVkdOYW1lcy5oIgotI2luY2x1ZGUgIlNWR1pv
b21BbmRQYW5UeXBlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDEsMTcgKzQxLDE1
IEBAIHB1YmxpYzoKICAgICBTVkdab29tQW5kUGFuVHlwZSB6b29tQW5kUGFuKCkgY29uc3QgeyBy
ZXR1cm4gbV96b29tQW5kUGFuOyB9CiAgICAgdm9pZCBzZXRab29tQW5kUGFuKFNWR1pvb21BbmRQ
YW5UeXBlIHpvb21BbmRQYW4pIHsgbV96b29tQW5kUGFuID0gem9vbUFuZFBhbjsgfQogICAgIEV4
Y2VwdGlvbk9yPHZvaWQ+IHNldFpvb21BbmRQYW4odW5zaWduZWQpIHsgcmV0dXJuIEV4Y2VwdGlv
biB7IE5vTW9kaWZpY2F0aW9uQWxsb3dlZEVycm9yIH07IH0KLSAgICB2b2lkIHJlc2V0KCkgeyBt
X3pvb21BbmRQYW4gPSBTVkdQcm9wZXJ0eVRyYWl0czxTVkdab29tQW5kUGFuVHlwZT46OmluaXRp
YWxWYWx1ZSgpOyB9CisgICAgdm9pZCByZXNldCgpIHsgbV96b29tQW5kUGFuID0gU1ZHWm9vbUFu
ZFBhbk1hZ25pZnk7IH0KIAotICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVk
TmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYpOworICAgIE9wdGlvbmFsPFNWR1BhcnNpbmdFcnJv
cj4gcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmlu
ZyYpOwogCiBwcm90ZWN0ZWQ6CiAgICAgU1ZHWm9vbUFuZFBhbigpID0gZGVmYXVsdDsKIAotICAg
IGJvb2wgcGFyc2Vab29tQW5kUGFuKGNvbnN0IFVDaGFyKiYsIGNvbnN0IFVDaGFyKik7Ci0KIHBy
aXZhdGU6Ci0gICAgU1ZHWm9vbUFuZFBhblR5cGUgbV96b29tQW5kUGFuIHsgU1ZHUHJvcGVydHlU
cmFpdHM8U1ZHWm9vbUFuZFBhblR5cGU+Ojppbml0aWFsVmFsdWUoKSB9OworICAgIFNWR1pvb21B
bmRQYW5UeXBlIG1fem9vbUFuZFBhbiB7IFNWR1pvb21BbmRQYW5NYWduaWZ5IH07CiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
Wm9vbUFuZFBhblR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdab29tQW5kUGFuVHlwZS5o
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMjBmYTkzZjYzNzY2ZDMyNzAxNWFlNjE5
MTY5NzBlNWM4NmFmNjZhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdab29tQW5kUGFuVHlwZS5oCisrKyAvZGV2L251
bGwKQEAgLTEsNTIgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMu
ICBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0g
KiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2luY2x1ZGUgIlNWR1Byb3BlcnR5VHJhaXRzLmgi
Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotZW51bSBTVkdab29tQW5kUGFuVHlwZSB7Ci0gICAg
U1ZHWm9vbUFuZFBhblVua25vd24sCi0gICAgU1ZHWm9vbUFuZFBhbkRpc2FibGUsCi0gICAgU1ZH
Wm9vbUFuZFBhbk1hZ25pZnkKLX07Ci0KLXRlbXBsYXRlPD4KLXN0cnVjdCBTVkdQcm9wZXJ0eVRy
YWl0czxTVkdab29tQW5kUGFuVHlwZT4gewotICAgIHN0YXRpYyBTVkdab29tQW5kUGFuVHlwZSBp
bml0aWFsVmFsdWUoKSB7IHJldHVybiBTVkdab29tQW5kUGFuTWFnbmlmeTsgfQotICAgIHN0YXRp
YyBTdHJpbmcgdG9TdHJpbmcoU1ZHWm9vbUFuZFBhblR5cGUpIHsgcmV0dXJuIGVtcHR5U3RyaW5n
KCk7IH0KLSAgICBzdGF0aWMgU1ZHWm9vbUFuZFBhblR5cGUgZnJvbVN0cmluZyhjb25zdCBTdHJp
bmcmIHZhbHVlKQotICAgIHsKLSAgICAgICAgaWYgKHZhbHVlID09ICJkaXNhYmxlIikKLSAgICAg
ICAgICAgIHJldHVybiBTVkdab29tQW5kUGFuRGlzYWJsZTsKLSAgICAgICAgaWYgKHZhbHVlID09
ICJtYWduaWZ5IikKLSAgICAgICAgICAgIHJldHVybiBTVkdab29tQW5kUGFuTWFnbmlmeTsKLSAg
ICAgICAgcmV0dXJuIFNWR1pvb21BbmRQYW5Vbmtub3duOwotICAgIH0KLX07Ci0KLX0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0RlY29yYXRlZEVudW1lcmF0
aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdEZWNvcmF0ZWRFbnVtZXJh
dGlvbi5oCmluZGV4IDI2NGMzNmI2OTA3NGNjZjNlMmUyOWQyNjc3MjFjZjUzNzQ1NzAzMTEuLjEw
NmJjZGU0NTViYzc0OGY1MmQ2MmNiNjMxY2QzYzQyY2ZhZGI3NDggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0RlY29yYXRlZEVudW1lcmF0aW9uLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHRGVjb3JhdGVkRW51bWVyYXRpb24uaApA
QCAtMjYsNiArMjYsNyBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJTVkdEZWNvcmF0ZWRQ
cmltaXRpdmUuaCIKKyNpbmNsdWRlICJTVkdFbnVtVHJhaXRzLmgiCiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIApAQCAtNDUsNyArNDYsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIGJvb2wgc2V0
VmFsdWUoY29uc3QgRGVjb3JhdGlvblR5cGUmIHZhbHVlKSBvdmVycmlkZQogICAgIHsKLSAgICAg
ICAgaWYgKCF2YWx1ZSB8fCB2YWx1ZSA+IFNWR0lETEVudW1MaW1pdHM8RW51bVR5cGU+OjpoaWdo
ZXN0RXhwb3NlZEVudW1WYWx1ZSgpKQorICAgICAgICBpZiAoIVNWR1Byb3BlcnR5VHJhaXRzPEVu
dW1UeXBlPjo6aXNWYWxpZEVudW0odmFsdWUpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwog
ICAgICAgICBCYXNlOjpzZXRWYWx1ZUludGVybmFsKHZhbHVlKTsKICAgICAgICAgcmV0dXJuIHRy
dWU7CkBAIC01Myw3ICs1NCw3IEBAIHByaXZhdGU6CiAKICAgICBEZWNvcmF0aW9uVHlwZSB2YWx1
ZSgpIGNvbnN0IG92ZXJyaWRlCiAgICAgewotICAgICAgICBpZiAoQmFzZTo6dmFsdWUoKSA+IFNW
R0lETEVudW1MaW1pdHM8RW51bVR5cGU+OjpoaWdoZXN0RXhwb3NlZEVudW1WYWx1ZSgpKQorICAg
ICAgICBpZiAoIVNWR1Byb3BlcnR5VHJhaXRzPEVudW1UeXBlPjo6aXNWYWxpZEVudW0oQmFzZTo6
dmFsdWUoKSkpCiAgICAgICAgICAgICByZXR1cm4gbV9vdXRPZlJhbmdlRW51bVZhbHVlOwogICAg
ICAgICByZXR1cm4gQmFzZTo6dmFsdWUoKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvcHJvcGVydGllcy9TVkdEZWNvcmF0ZWRQcmltaXRpdmUuaCBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0RlY29yYXRlZFByaW1pdGl2ZS5oCmluZGV4IGUyYTUyNDMx
MjRmMDczZjg1YWQ4ZGQ2YTk2ZGY0YTY1MzUwYjY3YzguLmZkMjQzYTE3ZDJiNmYzMjA1NWFhNjll
MjYxMjA0NzlkZDg4OWE5NTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0
aWVzL1NWR0RlY29yYXRlZFByaW1pdGl2ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9w
ZXJ0aWVzL1NWR0RlY29yYXRlZFByaW1pdGl2ZS5oCkBAIC0yNiw2ICsyNiw3IEBACiAjcHJhZ21h
IG9uY2UKIAogI2luY2x1ZGUgIlNWR0RlY29yYXRlZFByb3BlcnR5LmgiCisjaW5jbHVkZSAiU1ZH
RW51bVR5cGVUcmFpdHMuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdFbnVtVHJhaXRzLmggYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvcHJvcGVydGllcy9TVkdFbnVtVHJhaXRzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWNiMzQ2NDkx
OTk2YjRiMDNhMGZmODg4MTk3OTg3NmIwMjIwNmI0OQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0VudW1UcmFpdHMuaApAQCAtMCwwICsxLDc1IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
KyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEg
b25jZQorCisjaW5jbHVkZSAiU1ZHUGFyc2luZ0Vycm9yLmgiCisjaW5jbHVkZSAiU1ZHUHJvcGVy
dHlUcmFpdHMuaCIKKyNpbmNsdWRlIDx3dGYvRXhwZWN0ZWQuaD4KKyNpbmNsdWRlIDx3dGYvVmVj
dG9yLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordGVtcGxhdGU8dHlwZW5hbWU+IHN0cnVj
dCBTVkdFbnVtVHJhaXRzOworCit0ZW1wbGF0ZTx0eXBlbmFtZSBFbnVtVHlwZT4gdXNpbmcgU1ZH
RW51bVZhbHVlID0gc3RkOjpwYWlyPEVudW1UeXBlLCBTdHJpbmc+OworCit0ZW1wbGF0ZTx0eXBl
bmFtZSBFbnVtVHlwZT4gdXNpbmcgU1ZHRW51bVZhbHVlcyA9IFZlY3RvcjxTVkdFbnVtVmFsdWU8
RW51bVR5cGU+PjsKKwordGVtcGxhdGU8dHlwZW5hbWUgRW51bVR5cGU+CitzdHJ1Y3QgU1ZHUHJv
cGVydHlUcmFpdHM8RW51bVR5cGUsIHN0ZDo6ZW5hYmxlX2lmX3Q8c3RkOjppc19lbnVtPEVudW1U
eXBlPjo6dmFsdWU+PiB7CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KKyAgICBzdGF0aWMgY29u
c3RleHByIGJvb2wgaXNWYWxpZEVudW0oVCB0KQorICAgIHsKKyAgICAgICAgc3RhdGljX2Fzc2Vy
dChzaXplb2YoVCkgPj0gc3RkOjp1bmRlcmx5aW5nX3R5cGVfdDxFbnVtVHlwZT4oKSwgIkludGVn
cmFsIHR5cGUgbXVzdCBiZSBhdCBsZWFzdCB0aGUgc2l6ZSBvZiB0aGUgdW5kZXJseWluZyBlbnVt
IHR5cGUiKTsKKyAgICAKKyAgICAgICAgaWYgKHQgPiBzdGF0aWNfY2FzdDxUPihTVkdFbnVtVHJh
aXRzPEVudW1UeXBlPjo6aGlnaGVzdEV4cG9zZWRFbnVtVmFsdWUoKSkpCisgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgICAgIHJldHVybiBTVkdFbnVtVHJhaXRzPEVudW1UeXBlPjo6dmFs
dWVzKCkuZmluZE1hdGNoaW5nKFsmXShhdXRvJiBpdGVtKSB7CisgICAgICAgICAgICByZXR1cm4g
c3RhdGljX2Nhc3Q8VD4oaXRlbS5maXJzdCkgPT0gdDsKKyAgICAgICAgfSkgIT0gbm90Rm91bmQ7
CisgICAgfQorCisgICAgc3RhdGljIGNvbnN0ZXhwciBFeHBlY3RlZDxFbnVtVHlwZSwgU1ZHUGFy
c2luZ0Vycm9yPiBwYXJzZShjb25zdCBTdHJpbmcmIHN0cmluZykKKyAgICB7CisgICAgICAgIGF1
dG8gZmluZCA9IFNWR0VudW1UcmFpdHM8RW51bVR5cGU+Ojp2YWx1ZXMoKS5maW5kTWF0Y2hpbmco
WyZdKGF1dG8mIGl0ZW0pIHsKKyAgICAgICAgICAgIHJldHVybiBpdGVtLnNlY29uZCA9PSBzdHJp
bmc7CisgICAgICAgIH0pOworICAgICAgICBpZiAoZmluZCAhPSBub3RGb3VuZCkKKyAgICAgICAg
ICAgIHJldHVybiBTVkdFbnVtVHJhaXRzPEVudW1UeXBlPjo6dmFsdWVzKClbZmluZF0uZmlyc3Q7
CisgICAgICAgIHJldHVybiBtYWtlVW5leHBlY3RlZChVbnJlY29nbml6ZWRFbnVtVmFsdWVFcnJv
cik7CisgICAgfQorICAgIHN0YXRpYyBjb25zdGV4cHIgRW51bVR5cGUgZnJvbVN0cmluZyhjb25z
dCBTdHJpbmcmIHN0cmluZykgeyByZXR1cm4gcGFyc2Uoc3RyaW5nKS52YWx1ZV9vcigwKTsgfQor
CisgICAgc3RhdGljIFN0cmluZyB0b1N0cmluZyhFbnVtVHlwZSB2YWx1ZSkKKyAgICB7CisgICAg
ICAgIGF1dG8gZmluZCA9IFNWR0VudW1UcmFpdHM8RW51bVR5cGU+Ojp2YWx1ZXMoKS5maW5kTWF0
Y2hpbmcoWyZdKGF1dG8mIGl0ZW0pIHsKKyAgICAgICAgICAgIHJldHVybiBpdGVtLmZpcnN0ID09
IHZhbHVlOworICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJuIGZpbmQgIT0gbm90Rm91bmQgPyBT
VkdFbnVtVHJhaXRzPEVudW1UeXBlPjo6dmFsdWVzKClbZmluZF0uc2Vjb25kIDogZW1wdHlTdHJp
bmcoKTsKKyAgICB9Cit9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJv
cGVydGllcy9TVkdFbnVtVHlwZS5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZH
RW51bVR5cGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNjE4N2EzODc3NDc1NWRiMTg4MDk2ZTRkODU0NDUwYTFh
MmVlNGRkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMv
U1ZHRW51bVR5cGUuaApAQCAtMCwwICsxLDgwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5
IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK2VudW0gU1ZHTGVuZ3RoQWRqdXN0VHlwZSB7CisgICAgU1ZHTGVuZ3RoQWRqdXN0VW5rbm93
biwKKyAgICBTVkdMZW5ndGhBZGp1c3RTcGFjaW5nLAorICAgIFNWR0xlbmd0aEFkanVzdFNwYWNp
bmdBbmRHbHlwaHMKK307CisKK2VudW0gU1ZHTWFya2VyVW5pdHNUeXBlIHsKKyAgICBTVkdNYXJr
ZXJVbml0c1Vua25vd24gPSAwLAorICAgIFNWR01hcmtlclVuaXRzVXNlclNwYWNlT25Vc2UsCisg
ICAgU1ZHTWFya2VyVW5pdHNTdHJva2VXaWR0aAorfTsKKworZW51bSBTVkdNYXJrZXJPcmllbnRU
eXBlIHsKKyAgICBTVkdNYXJrZXJPcmllbnRVbmtub3duID0gMCwKKyAgICBTVkdNYXJrZXJPcmll
bnRBdXRvLAorICAgIFNWR01hcmtlck9yaWVudEFuZ2xlLAorICAgIFNWR01hcmtlck9yaWVudEF1
dG9TdGFydFJldmVyc2UKK307CisKK2VudW0gU1ZHU3ByZWFkTWV0aG9kVHlwZSB7CisgICAgU1ZH
U3ByZWFkTWV0aG9kVW5rbm93biA9IDAsCisgICAgU1ZHU3ByZWFkTWV0aG9kUGFkLAorICAgIFNW
R1NwcmVhZE1ldGhvZFJlZmxlY3QsCisgICAgU1ZHU3ByZWFkTWV0aG9kUmVwZWF0Cit9OworCitl
bnVtIFNWR1N0aXRjaE9wdGlvbnMgeworICAgIFNWR1N0aXRjaFR5cGVVbmtub3duICA9IDAsCisg
ICAgU1ZHU3RpdGNoVHlwZVN0aXRjaCwKKyAgICBTVkdTdGl0Y2hUeXBlTm9TdGl0Y2gKK307CisK
K2VudW0gU1ZHVGV4dFBhdGhNZXRob2RUeXBlIHsKKyAgICBTVkdUZXh0UGF0aE1ldGhvZFVua25v
d24gPSAwLAorICAgIFNWR1RleHRQYXRoTWV0aG9kQWxpZ24sCisgICAgU1ZHVGV4dFBhdGhNZXRo
b2RTdHJldGNoCit9OworCitlbnVtIFNWR1RleHRQYXRoU3BhY2luZ1R5cGUgeworICAgIFNWR1Rl
eHRQYXRoU3BhY2luZ1Vua25vd24gPSAwLAorICAgIFNWR1RleHRQYXRoU3BhY2luZ0F1dG8sCisg
ICAgU1ZHVGV4dFBhdGhTcGFjaW5nRXhhY3QKK307CisKK2VudW0gU1ZHWm9vbUFuZFBhblR5cGUg
eworICAgIFNWR1pvb21BbmRQYW5Vbmtub3duID0gMCwKKyAgICBTVkdab29tQW5kUGFuRGlzYWJs
ZSwKKyAgICBTVkdab29tQW5kUGFuTWFnbmlmeQorfTsKKworfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0VudW1UeXBlVHJhaXRzLmggYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvcHJvcGVydGllcy9TVkdFbnVtVHlwZVRyYWl0cy5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMxNWY5
NTU2ZmEwMGYxN2U5MDgxYzIyMDIzMjJjN2NhNWYyMmUzYTkKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdFbnVtVHlwZVRyYWl0cy5oCkBAIC0wLDAg
KzEsMjc0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiRkVDb2xvck1hdHJpeC5oIgorI2luY2x1ZGUgIkZF
Q29tcG9uZW50VHJhbnNmZXIuaCIKKyNpbmNsdWRlICJGRUNvbXBvc2l0ZS5oIgorI2luY2x1ZGUg
IkZFQ29udm9sdmVNYXRyaXguaCIKKyNpbmNsdWRlICJGRURpc3BsYWNlbWVudE1hcC5oIgorI2lu
Y2x1ZGUgIkZFTW9ycGhvbG9neS5oIgorI2luY2x1ZGUgIkZFVHVyYnVsZW5jZS5oIgorI2luY2x1
ZGUgIlNWR0VudW1UcmFpdHMuaCIKKyNpbmNsdWRlICJTVkdFbnVtVHlwZS5oIgorI2luY2x1ZGUg
IlNWR1VuaXRUeXBlcy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3RlbXBsYXRlPD4gc3Ry
dWN0IFNWR0VudW1UcmFpdHM8QmxlbmRNb2RlPiB7CisgICAgc3RhdGljIGNvbnN0IFNWR0VudW1W
YWx1ZXM8QmxlbmRNb2RlPiYgdmFsdWVzKCkKKyAgICB7CisgICAgICAgIHN0YXRpYyBOZXZlckRl
c3Ryb3llZDxTVkdFbnVtVmFsdWVzPEJsZW5kTW9kZT4+IHZhbHVlcyhzdGQ6OmluaXRpYWxpemVy
X2xpc3Q8U1ZHRW51bVZhbHVlPEJsZW5kTW9kZT4+IHsKKyAgICAgICAgICAgIHsgQmxlbmRNb2Rl
OjpOb3JtYWwsICAgICAibm9ybWFsIl9zIH0sCisgICAgICAgICAgICB7IEJsZW5kTW9kZTo6TXVs
dGlwbHksICAgIm11bHRpcGx5Il9zIH0sCisgICAgICAgICAgICB7IEJsZW5kTW9kZTo6U2NyZWVu
LCAgICAgInNjcmVlbiJfcyB9LAorICAgICAgICAgICAgeyBCbGVuZE1vZGU6OkRhcmtlbiwgICAg
ICJkYXJrZW4iX3MgfSwKKyAgICAgICAgICAgIHsgQmxlbmRNb2RlOjpMaWdodGVuLCAgICAibGln
aHRlbiJfcyB9LAorICAgICAgICAgICAgeyBCbGVuZE1vZGU6Ok92ZXJsYXksICAgICJvdmVybGF5
Il9zIH0sCisgICAgICAgICAgICB7IEJsZW5kTW9kZTo6Q29sb3JEb2RnZSwgImNvbG9yLWRvZGdl
Il9zIH0sCisgICAgICAgICAgICB7IEJsZW5kTW9kZTo6Q29sb3JCdXJuLCAgImNvbG9yLWJ1cm4i
X3MgfSwKKyAgICAgICAgICAgIHsgQmxlbmRNb2RlOjpIYXJkTGlnaHQsICAiaGFyZC1saWdodCJf
cyB9LAorICAgICAgICAgICAgeyBCbGVuZE1vZGU6OlNvZnRMaWdodCwgICJzb2Z0LWxpZ2h0Il9z
IH0sCisgICAgICAgICAgICB7IEJsZW5kTW9kZTo6RGlmZmVyZW5jZSwgImRpZmZlcmVuY2UiX3Mg
fSwKKyAgICAgICAgICAgIHsgQmxlbmRNb2RlOjpFeGNsdXNpb24sICAiZXhjbHVzaW9uIl9zIH0s
CisgICAgICAgICAgICB7IEJsZW5kTW9kZTo6SHVlLCAgICAgICAgImh1ZSJfcyB9LAorICAgICAg
ICAgICAgeyBCbGVuZE1vZGU6OlNhdHVyYXRpb24sICJzYXR1cmF0aW9uIl9zIH0sCisgICAgICAg
ICAgICB7IEJsZW5kTW9kZTo6Q29sb3IsICAgICAgImNvbG9yIl9zIH0sCisgICAgICAgICAgICB7
IEJsZW5kTW9kZTo6THVtaW5vc2l0eSwgImx1bWlub3NpdHkiX3MgfQorICAgICAgICB9KTsKKyAg
ICAgICAgcmV0dXJuIHZhbHVlczsKKyAgICB9CisgICAgc3RhdGljIGNvbnN0ZXhwciBhdXRvIGhp
Z2hlc3RFeHBvc2VkRW51bVZhbHVlKCkgeyByZXR1cm4gQmxlbmRNb2RlOjpMdW1pbm9zaXR5OyB9
Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBTVkdFbnVtVHJhaXRzPENoYW5uZWxTZWxlY3RvclR5
cGU+IHsKKyAgICBzdGF0aWMgY29uc3QgU1ZHRW51bVZhbHVlczxDaGFubmVsU2VsZWN0b3JUeXBl
PiYgdmFsdWVzKCkKKyAgICB7CisgICAgICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxTVkdFbnVt
VmFsdWVzPENoYW5uZWxTZWxlY3RvclR5cGU+PiB2YWx1ZXMoc3RkOjppbml0aWFsaXplcl9saXN0
PFNWR0VudW1WYWx1ZTxDaGFubmVsU2VsZWN0b3JUeXBlPj4geworICAgICAgICAgICAgeyBDSEFO
TkVMX1IsICAgICAgICJSIl9zIH0sCisgICAgICAgICAgICB7IENIQU5ORUxfRywgICAgICAgIkci
X3MgfSwKKyAgICAgICAgICAgIHsgQ0hBTk5FTF9CLCAgICAgICAiQiJfcyB9LAorICAgICAgICAg
ICAgeyBDSEFOTkVMX0EsICAgICAgICJBIl9zIH0KKyAgICAgICAgfSk7CisgICAgICAgIHJldHVy
biB2YWx1ZXM7CisgICAgfQorICAgIHN0YXRpYyBjb25zdGV4cHIgYXV0byBoaWdoZXN0RXhwb3Nl
ZEVudW1WYWx1ZSgpIHsgcmV0dXJuIENIQU5ORUxfQTsgfQorfTsKKwordGVtcGxhdGU8PiBzdHJ1
Y3QgU1ZHRW51bVRyYWl0czxDb21wb25lbnRUcmFuc2ZlclR5cGU+IHsKKyAgICBzdGF0aWMgY29u
c3QgU1ZHRW51bVZhbHVlczxDb21wb25lbnRUcmFuc2ZlclR5cGU+JiB2YWx1ZXMoKQorICAgIHsK
KyAgICAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFNWR0VudW1WYWx1ZXM8Q29tcG9uZW50VHJh
bnNmZXJUeXBlPj4gdmFsdWVzKHN0ZDo6aW5pdGlhbGl6ZXJfbGlzdDxTVkdFbnVtVmFsdWU8Q29t
cG9uZW50VHJhbnNmZXJUeXBlPj4geworICAgICAgICAgICAgeyBGRUNPTVBPTkVOVFRSQU5TRkVS
X1RZUEVfSURFTlRJVFksICJpZGVudGl0eSJfcyB9LAorICAgICAgICAgICAgeyBGRUNPTVBPTkVO
VFRSQU5TRkVSX1RZUEVfVEFCTEUsICAgICJ0YWJsZSJfcyB9LAorICAgICAgICAgICAgeyBGRUNP
TVBPTkVOVFRSQU5TRkVSX1RZUEVfRElTQ1JFVEUsICJkaXNjcmV0ZSJfcyB9LAorICAgICAgICAg
ICAgeyBGRUNPTVBPTkVOVFRSQU5TRkVSX1RZUEVfTElORUFSLCAgICJsaW5lYXIiX3MgfSwKKyAg
ICAgICAgICAgIHsgRkVDT01QT05FTlRUUkFOU0ZFUl9UWVBFX0dBTU1BLCAgICAiZ2FtbWEiX3Mg
fQorICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJuIHZhbHVlczsKKyAgICB9CisgICAgc3RhdGlj
IGNvbnN0ZXhwciBhdXRvIGhpZ2hlc3RFeHBvc2VkRW51bVZhbHVlKCkgeyByZXR1cm4gRkVDT01Q
T05FTlRUUkFOU0ZFUl9UWVBFX0dBTU1BOyB9Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBTVkdF
bnVtVHJhaXRzPENvbG9yTWF0cml4VHlwZT4geworICAgIHN0YXRpYyBjb25zdCBTVkdFbnVtVmFs
dWVzPENvbG9yTWF0cml4VHlwZT4mIHZhbHVlcygpCisgICAgeworICAgICAgICBzdGF0aWMgTmV2
ZXJEZXN0cm95ZWQ8U1ZHRW51bVZhbHVlczxDb2xvck1hdHJpeFR5cGU+PiB2YWx1ZXMoc3RkOjpp
bml0aWFsaXplcl9saXN0PFNWR0VudW1WYWx1ZTxDb2xvck1hdHJpeFR5cGU+PiB7CisgICAgICAg
ICAgICB7IEZFQ09MT1JNQVRSSVhfVFlQRV9NQVRSSVgsICAgICAgICAgICAibWF0cml4Il9zIH0s
CisgICAgICAgICAgICB7IEZFQ09MT1JNQVRSSVhfVFlQRV9TQVRVUkFURSwgICAgICAgICAic2F0
dXJhdGUiX3MgfSwKKyAgICAgICAgICAgIHsgRkVDT0xPUk1BVFJJWF9UWVBFX0hVRVJPVEFURSwg
ICAgICAgICJodWVSb3RhdGUiX3MgfSwKKyAgICAgICAgICAgIHsgRkVDT0xPUk1BVFJJWF9UWVBF
X0xVTUlOQU5DRVRPQUxQSEEsICJsdW1pbmFuY2VUb0FscGhhIl9zIH0sCisgICAgICAgIH0pOwor
ICAgICAgICByZXR1cm4gdmFsdWVzOworICAgIH0KKyAgICBzdGF0aWMgY29uc3RleHByIGF1dG8g
aGlnaGVzdEV4cG9zZWRFbnVtVmFsdWUoKSB7IHJldHVybiBGRUNPTE9STUFUUklYX1RZUEVfTFVN
SU5BTkNFVE9BTFBIQTsgfQorfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgU1ZHRW51bVRyYWl0czxD
b21wb3NpdGVPcGVyYXRpb25UeXBlPiB7CisgICAgc3RhdGljIGNvbnN0IFNWR0VudW1WYWx1ZXM8
Q29tcG9zaXRlT3BlcmF0aW9uVHlwZT4mIHZhbHVlcygpCisgICAgeworICAgICAgICBzdGF0aWMg
TmV2ZXJEZXN0cm95ZWQ8U1ZHRW51bVZhbHVlczxDb21wb3NpdGVPcGVyYXRpb25UeXBlPj4gdmFs
dWVzKHN0ZDo6aW5pdGlhbGl6ZXJfbGlzdDxTVkdFbnVtVmFsdWU8Q29tcG9zaXRlT3BlcmF0aW9u
VHlwZT4+IHsKKyAgICAgICAgICAgIHsgRkVDT01QT1NJVEVfT1BFUkFUT1JfT1ZFUiwgICAgICAg
Im92ZXIiX3MgfSwKKyAgICAgICAgICAgIHsgRkVDT01QT1NJVEVfT1BFUkFUT1JfSU4sICAgICAg
ICAgImluIl9zIH0sCisgICAgICAgICAgICB7IEZFQ09NUE9TSVRFX09QRVJBVE9SX09VVCwgICAg
ICAgICJvdXQiX3MgfSwKKyAgICAgICAgICAgIHsgRkVDT01QT1NJVEVfT1BFUkFUT1JfQVRPUCwg
ICAgICAgImF0b3AiX3MgfSwKKyAgICAgICAgICAgIHsgRkVDT01QT1NJVEVfT1BFUkFUT1JfWE9S
LCAgICAgICAgInhvciJfcyB9LAorICAgICAgICAgICAgeyBGRUNPTVBPU0lURV9PUEVSQVRPUl9B
UklUSE1FVElDLCAiYXJpdGhtZXRpYyJfcyB9LAorICAgICAgICAgICAgeyBGRUNPTVBPU0lURV9P
UEVSQVRPUl9MSUdIVEVSLCAgICAibGlnaHRlciJfcyB9LAorICAgICAgICB9KTsKKyAgICAgICAg
cmV0dXJuIHZhbHVlczsKKyAgICB9CisgICAgc3RhdGljIGNvbnN0ZXhwciBhdXRvIGhpZ2hlc3RF
eHBvc2VkRW51bVZhbHVlKCkgeyByZXR1cm4gRkVDT01QT1NJVEVfT1BFUkFUT1JfQVJJVEhNRVRJ
QzsgfQorfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgU1ZHRW51bVRyYWl0czxFZGdlTW9kZVR5cGU+
IHsKKyAgICBzdGF0aWMgY29uc3QgU1ZHRW51bVZhbHVlczxFZGdlTW9kZVR5cGU+JiB2YWx1ZXMo
KQorICAgIHsKKyAgICAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFNWR0VudW1WYWx1ZXM8RWRn
ZU1vZGVUeXBlPj4gdmFsdWVzKHN0ZDo6aW5pdGlhbGl6ZXJfbGlzdDxTVkdFbnVtVmFsdWU8RWRn
ZU1vZGVUeXBlPj4geworICAgICAgICAgICAgeyBFREdFTU9ERV9EVVBMSUNBVEUsICJkdXBsaWNh
dGUiX3MgfSwKKyAgICAgICAgICAgIHsgRURHRU1PREVfV1JBUCwgICAgICAid3JhcCJfcyB9LAor
ICAgICAgICAgICAgeyBFREdFTU9ERV9OT05FLCAgICAgICJub25lIl9zIH0sCisgICAgICAgIH0p
OworICAgICAgICByZXR1cm4gdmFsdWVzOworICAgIH0KKyAgICBzdGF0aWMgY29uc3RleHByIGF1
dG8gaGlnaGVzdEV4cG9zZWRFbnVtVmFsdWUoKSB7IHJldHVybiBFREdFTU9ERV9OT05FOyB9Cit9
OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBTVkdFbnVtVHJhaXRzPE1vcnBob2xvZ3lPcGVyYXRvclR5
cGU+IHsKKyAgICBzdGF0aWMgY29uc3QgU1ZHRW51bVZhbHVlczxNb3JwaG9sb2d5T3BlcmF0b3JU
eXBlPiYgdmFsdWVzKCkKKyAgICB7CisgICAgICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxTVkdF
bnVtVmFsdWVzPE1vcnBob2xvZ3lPcGVyYXRvclR5cGU+PiB2YWx1ZXMoc3RkOjppbml0aWFsaXpl
cl9saXN0PFNWR0VudW1WYWx1ZTxNb3JwaG9sb2d5T3BlcmF0b3JUeXBlPj4geworICAgICAgICAg
ICAgeyBGRU1PUlBIT0xPR1lfT1BFUkFUT1JfRVJPREUsICAgImVyb2RlIl9zIH0sCisgICAgICAg
ICAgICB7IEZFTU9SUEhPTE9HWV9PUEVSQVRPUl9ESUxBVEUsICAiZGlsYXRlIl9zIH0sCisgICAg
ICAgIH0pOworICAgICAgICByZXR1cm4gdmFsdWVzOworICAgIH0KKyAgICBzdGF0aWMgY29uc3Rl
eHByIGF1dG8gaGlnaGVzdEV4cG9zZWRFbnVtVmFsdWUoKSB7IHJldHVybiBGRU1PUlBIT0xPR1lf
T1BFUkFUT1JfRElMQVRFOyB9Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBTVkdFbnVtVHJhaXRz
PFR1cmJ1bGVuY2VUeXBlPiB7CisgICAgc3RhdGljIGNvbnN0IFNWR0VudW1WYWx1ZXM8VHVyYnVs
ZW5jZVR5cGU+JiB2YWx1ZXMoKQorICAgIHsKKyAgICAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVk
PFNWR0VudW1WYWx1ZXM8VHVyYnVsZW5jZVR5cGU+PiB2YWx1ZXMoc3RkOjppbml0aWFsaXplcl9s
aXN0PFNWR0VudW1WYWx1ZTxUdXJidWxlbmNlVHlwZT4+IHsKKyAgICAgICAgICAgIHsgVHVyYnVs
ZW5jZVR5cGU6OkZyYWN0YWxOb2lzZSwgImZyYWN0YWxOb2lzZSJfcyB9LAorICAgICAgICAgICAg
eyBUdXJidWxlbmNlVHlwZTo6VHVyYnVsZW5jZSwgICAidHVyYnVsZW5jZSJfcyB9CisgICAgICAg
IH0pOworICAgICAgICByZXR1cm4gdmFsdWVzOworICAgIH0KKyAgICBzdGF0aWMgY29uc3RleHBy
IGF1dG8gaGlnaGVzdEV4cG9zZWRFbnVtVmFsdWUoKSB7IHJldHVybiBUdXJidWxlbmNlVHlwZTo6
VHVyYnVsZW5jZTsgfQorfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgU1ZHRW51bVRyYWl0czxTVkdM
ZW5ndGhBZGp1c3RUeXBlPiB7CisgICAgc3RhdGljIGNvbnN0IFNWR0VudW1WYWx1ZXM8U1ZHTGVu
Z3RoQWRqdXN0VHlwZT4mIHZhbHVlcygpCisgICAgeworICAgICAgICBzdGF0aWMgTmV2ZXJEZXN0
cm95ZWQ8U1ZHRW51bVZhbHVlczxTVkdMZW5ndGhBZGp1c3RUeXBlPj4gdmFsdWVzKHN0ZDo6aW5p
dGlhbGl6ZXJfbGlzdDxTVkdFbnVtVmFsdWU8U1ZHTGVuZ3RoQWRqdXN0VHlwZT4+IHsKKyAgICAg
ICAgICAgIHsgU1ZHTGVuZ3RoQWRqdXN0U3BhY2luZywgICAgICAgICAgInNwYWNpbmciX3MgfSwK
KyAgICAgICAgICAgIHsgU1ZHTGVuZ3RoQWRqdXN0U3BhY2luZ0FuZEdseXBocywgInNwYWNpbmdB
bmRHbHlwaHMiX3MgfQorICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJuIHZhbHVlczsKKyAgICB9
CisgICAgc3RhdGljIGNvbnN0ZXhwciBhdXRvIGhpZ2hlc3RFeHBvc2VkRW51bVZhbHVlKCkgeyBy
ZXR1cm4gU1ZHTGVuZ3RoQWRqdXN0U3BhY2luZ0FuZEdseXBoczsgfQorfTsKKwordGVtcGxhdGU8
PiBzdHJ1Y3QgU1ZHRW51bVRyYWl0czxTVkdNYXJrZXJVbml0c1R5cGU+IHsKKyAgICBzdGF0aWMg
Y29uc3QgU1ZHRW51bVZhbHVlczxTVkdNYXJrZXJVbml0c1R5cGU+JiB2YWx1ZXMoKQorICAgIHsK
KyAgICAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFNWR0VudW1WYWx1ZXM8U1ZHTWFya2VyVW5p
dHNUeXBlPj4gdmFsdWVzKHN0ZDo6aW5pdGlhbGl6ZXJfbGlzdDxTVkdFbnVtVmFsdWU8U1ZHTWFy
a2VyVW5pdHNUeXBlPj4geworICAgICAgICAgICAgeyBTVkdNYXJrZXJVbml0c1VzZXJTcGFjZU9u
VXNlLCAidXNlclNwYWNlT25Vc2UiX3MgfSwKKyAgICAgICAgICAgIHsgU1ZHTWFya2VyVW5pdHNT
dHJva2VXaWR0aCwgICAgInN0cm9rZVdpZHRoIl9zIH0KKyAgICAgICAgfSk7CisgICAgICAgIHJl
dHVybiB2YWx1ZXM7CisgICAgfQorICAgIHN0YXRpYyBjb25zdGV4cHIgYXV0byBoaWdoZXN0RXhw
b3NlZEVudW1WYWx1ZSgpIHsgcmV0dXJuIFNWR01hcmtlclVuaXRzU3Ryb2tlV2lkdGg7IH0KK307
CisKK3RlbXBsYXRlPD4gc3RydWN0IFNWR0VudW1UcmFpdHM8U1ZHTWFya2VyT3JpZW50VHlwZT4g
eworICAgIHN0YXRpYyBjb25zdCBTVkdFbnVtVmFsdWVzPFNWR01hcmtlck9yaWVudFR5cGU+JiB2
YWx1ZXMoKQorICAgIHsKKyAgICAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFNWR0VudW1WYWx1
ZXM8U1ZHTWFya2VyT3JpZW50VHlwZT4+IHZhbHVlcyhzdGQ6OmluaXRpYWxpemVyX2xpc3Q8U1ZH
RW51bVZhbHVlPFNWR01hcmtlck9yaWVudFR5cGU+PiB7CisgICAgICAgICAgICB7IFNWR01hcmtl
ck9yaWVudEF1dG8sICAgICAgICAgICAgICJhdXRvIl9zIH0sCisgICAgICAgICAgICB7IFNWR01h
cmtlck9yaWVudEFuZ2xlLCAgICAgICAgICAgIGVtcHR5U3RyaW5nKCkgfSwKKyAgICAgICAgICAg
IHsgU1ZHTWFya2VyT3JpZW50QXV0b1N0YXJ0UmV2ZXJzZSwgImF1dG8tc3RhcnQtcmV2ZXJzZSJf
cyB9CisgICAgICAgIH0pOworICAgICAgICByZXR1cm4gdmFsdWVzOworICAgIH0KKyAgICBzdGF0
aWMgY29uc3RleHByIGF1dG8gaGlnaGVzdEV4cG9zZWRFbnVtVmFsdWUoKSB7IHJldHVybiBTVkdN
YXJrZXJPcmllbnRBbmdsZTsgfQorfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgU1ZHRW51bVRyYWl0
czxTVkdTcHJlYWRNZXRob2RUeXBlPiB7CisgICAgc3RhdGljIGNvbnN0IFNWR0VudW1WYWx1ZXM8
U1ZHU3ByZWFkTWV0aG9kVHlwZT4mIHZhbHVlcygpCisgICAgeworICAgICAgICBzdGF0aWMgTmV2
ZXJEZXN0cm95ZWQ8U1ZHRW51bVZhbHVlczxTVkdTcHJlYWRNZXRob2RUeXBlPj4gdmFsdWVzKHN0
ZDo6aW5pdGlhbGl6ZXJfbGlzdDxTVkdFbnVtVmFsdWU8U1ZHU3ByZWFkTWV0aG9kVHlwZT4+IHsK
KyAgICAgICAgICAgIHsgU1ZHU3ByZWFkTWV0aG9kUGFkLCAgICAgInBhZCJfcyB9LAorICAgICAg
ICAgICAgeyBTVkdTcHJlYWRNZXRob2RSZWZsZWN0LCAicmVmbGVjdCJfcyB9LAorICAgICAgICAg
ICAgeyBTVkdTcHJlYWRNZXRob2RSZXBlYXQsICAicmVwZWF0Il9zIH0KKyAgICAgICAgfSk7Cisg
ICAgICAgIHJldHVybiB2YWx1ZXM7CisgICAgfQorICAgIHN0YXRpYyBjb25zdGV4cHIgYXV0byBo
aWdoZXN0RXhwb3NlZEVudW1WYWx1ZSgpIHsgcmV0dXJuIFNWR1NwcmVhZE1ldGhvZFJlcGVhdDsg
fQorfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgU1ZHRW51bVRyYWl0czxTVkdTdGl0Y2hPcHRpb25z
PiB7CisgICAgc3RhdGljIGNvbnN0IFNWR0VudW1WYWx1ZXM8U1ZHU3RpdGNoT3B0aW9ucz4mIHZh
bHVlcygpCisgICAgeworICAgICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8U1ZHRW51bVZhbHVl
czxTVkdTdGl0Y2hPcHRpb25zPj4gdmFsdWVzKHN0ZDo6aW5pdGlhbGl6ZXJfbGlzdDxTVkdFbnVt
VmFsdWU8U1ZHU3RpdGNoT3B0aW9ucz4+IHsKKyAgICAgICAgICAgIHsgU1ZHU3RpdGNoVHlwZVN0
aXRjaCwgICAic3RpdGNoIl9zIH0sCisgICAgICAgICAgICB7IFNWR1N0aXRjaFR5cGVOb1N0aXRj
aCwgIm5vU3RpdGNoIl9zIH0KKyAgICAgICAgfSk7CisgICAgICAgIHJldHVybiB2YWx1ZXM7Cisg
ICAgfQorICAgIHN0YXRpYyBjb25zdGV4cHIgYXV0byBoaWdoZXN0RXhwb3NlZEVudW1WYWx1ZSgp
IHsgcmV0dXJuIFNWR1N0aXRjaFR5cGVOb1N0aXRjaDsgfQorfTsKKwordGVtcGxhdGU8PiBzdHJ1
Y3QgU1ZHRW51bVRyYWl0czxTVkdUZXh0UGF0aE1ldGhvZFR5cGU+IHsKKyAgICBzdGF0aWMgY29u
c3QgU1ZHRW51bVZhbHVlczxTVkdUZXh0UGF0aE1ldGhvZFR5cGU+JiB2YWx1ZXMoKQorICAgIHsK
KyAgICAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFNWR0VudW1WYWx1ZXM8U1ZHVGV4dFBhdGhN
ZXRob2RUeXBlPj4gdmFsdWVzKHN0ZDo6aW5pdGlhbGl6ZXJfbGlzdDxTVkdFbnVtVmFsdWU8U1ZH
VGV4dFBhdGhNZXRob2RUeXBlPj4geworICAgICAgICAgICAgeyBTVkdUZXh0UGF0aE1ldGhvZEFs
aWduLCAgICJhbGlnbiJfcyB9LAorICAgICAgICAgICAgeyBTVkdUZXh0UGF0aE1ldGhvZFN0cmV0
Y2gsICJzdHJldGNoIl9zIH0KKyAgICAgICAgfSk7CisgICAgICAgIHJldHVybiB2YWx1ZXM7Cisg
ICAgfQorICAgIHN0YXRpYyBjb25zdGV4cHIgYXV0byBoaWdoZXN0RXhwb3NlZEVudW1WYWx1ZSgp
IHsgcmV0dXJuIFNWR1RleHRQYXRoTWV0aG9kU3RyZXRjaDsgfQorfTsKKwordGVtcGxhdGU8PiBz
dHJ1Y3QgU1ZHRW51bVRyYWl0czxTVkdUZXh0UGF0aFNwYWNpbmdUeXBlPiB7CisgICAgc3RhdGlj
IGNvbnN0IFNWR0VudW1WYWx1ZXM8U1ZHVGV4dFBhdGhTcGFjaW5nVHlwZT4mIHZhbHVlcygpCisg
ICAgeworICAgICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8U1ZHRW51bVZhbHVlczxTVkdUZXh0
UGF0aFNwYWNpbmdUeXBlPj4gdmFsdWVzKHN0ZDo6aW5pdGlhbGl6ZXJfbGlzdDxTVkdFbnVtVmFs
dWU8U1ZHVGV4dFBhdGhTcGFjaW5nVHlwZT4+IHsKKyAgICAgICAgICAgIHsgU1ZHVGV4dFBhdGhT
cGFjaW5nQXV0bywgICAgImF1dG8iX3MgfSwKKyAgICAgICAgICAgIHsgU1ZHVGV4dFBhdGhTcGFj
aW5nRXhhY3QsICAgImV4YWN0Il9zIH0KKyAgICAgICAgfSk7CisgICAgICAgIHJldHVybiB2YWx1
ZXM7CisgICAgfQorICAgIHN0YXRpYyBjb25zdGV4cHIgYXV0byBoaWdoZXN0RXhwb3NlZEVudW1W
YWx1ZSgpIHsgcmV0dXJuIFNWR1RleHRQYXRoU3BhY2luZ0V4YWN0OyB9Cit9OworCit0ZW1wbGF0
ZTw+IHN0cnVjdCBTVkdFbnVtVHJhaXRzPFNWR1VuaXRUeXBlczo6U1ZHVW5pdFR5cGU+IHsKKyAg
ICBzdGF0aWMgY29uc3QgU1ZHRW51bVZhbHVlczxTVkdVbml0VHlwZXM6OlNWR1VuaXRUeXBlPiYg
dmFsdWVzKCkKKyAgICB7CisgICAgICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxTVkdFbnVtVmFs
dWVzPFNWR1VuaXRUeXBlczo6U1ZHVW5pdFR5cGU+PiB2YWx1ZXMoc3RkOjppbml0aWFsaXplcl9s
aXN0PFNWR0VudW1WYWx1ZTxTVkdVbml0VHlwZXM6OlNWR1VuaXRUeXBlPj4geworICAgICAgICAg
ICAgeyBTVkdVbml0VHlwZXM6OlNWR19VTklUX1RZUEVfVVNFUlNQQUNFT05VU0UsICAgICJ1c2Vy
U3BhY2VPblVzZSJfcyB9LAorICAgICAgICAgICAgeyBTVkdVbml0VHlwZXM6OlNWR19VTklUX1RZ
UEVfT0JKRUNUQk9VTkRJTkdCT1gsICJvYmplY3RCb3VuZGluZ0JveCJfcyB9CisgICAgICAgIH0p
OworICAgICAgICByZXR1cm4gdmFsdWVzOworICAgIH0KKyAgICBzdGF0aWMgY29uc3RleHByIGF1
dG8gaGlnaGVzdEV4cG9zZWRFbnVtVmFsdWUoKSB7IHJldHVybiBTVkdVbml0VHlwZXM6OlNWR19V
TklUX1RZUEVfT0JKRUNUQk9VTkRJTkdCT1g7IH0KK307CisKK3RlbXBsYXRlPD4gc3RydWN0IFNW
R0VudW1UcmFpdHM8U1ZHWm9vbUFuZFBhblR5cGU+IHsKKyAgICBzdGF0aWMgY29uc3QgU1ZHRW51
bVZhbHVlczxTVkdab29tQW5kUGFuVHlwZT4mIHZhbHVlcygpCisgICAgeworICAgICAgICBzdGF0
aWMgTmV2ZXJEZXN0cm95ZWQ8U1ZHRW51bVZhbHVlczxTVkdab29tQW5kUGFuVHlwZT4+IHZhbHVl
cyhzdGQ6OmluaXRpYWxpemVyX2xpc3Q8U1ZHRW51bVZhbHVlPFNWR1pvb21BbmRQYW5UeXBlPj4g
eworICAgICAgICAgICAgeyBTVkdab29tQW5kUGFuRGlzYWJsZSwgImRpc2FibGUiX3MgfSwKKyAg
ICAgICAgICAgIHsgU1ZHWm9vbUFuZFBhbk1hZ25pZnksICJtYWduaWZ5Il9zIH0KKyAgICAgICAg
fSk7CisgICAgICAgIHJldHVybiB2YWx1ZXM7CisgICAgfQorICAgIHN0YXRpYyBjb25zdGV4cHIg
YXV0byBoaWdoZXN0RXhwb3NlZEVudW1WYWx1ZSgpIHsgcmV0dXJuIFNWR1pvb21BbmRQYW5NYWdu
aWZ5OyB9Cit9OworCit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRp
ZXMvU1ZHUHJpbWl0aXZlTGlzdC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZH
UHJpbWl0aXZlTGlzdC5oCmluZGV4IDQ1NzMxYTM4MDMxNjdkZGUxMzZiMzFhZTM1MWE5ODBlN2Vj
NzI2NTkuLmEwNGZmM2QzNGM0NjljNGJkMTFhNmU2NzMwNWFjM2I2ZDBlYzFlYzIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1ByaW1pdGl2ZUxpc3QuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdQcmltaXRpdmVMaXN0LmgKQEAgLTI2
LDE1ICsyNiw1MCBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJTVkdMaXN0LmgiCisjaW5j
bHVkZSAiU1ZHUGFyc2VyVXRpbGl0aWVzLmgiCisjaW5jbHVkZSAiU1ZHUGFyc2luZ0Vycm9yLmgi
CisjaW5jbHVkZSAiU1ZHUHJvcGVydHlUcmFpdHMuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiB0ZW1wbGF0ZTx0eXBlbmFtZSBQcm9wZXJ0eVR5cGU+CiBjbGFzcyBTVkdQcmltaXRpdmVMaXN0
IDogcHVibGljIFNWR0xpc3Q8UHJvcGVydHlUeXBlPiB7Ci1wcm90ZWN0ZWQ6CiAgICAgdXNpbmcg
QmFzZSA9IFNWR0xpc3Q8UHJvcGVydHlUeXBlPjsKICAgICB1c2luZyBCYXNlOjpCYXNlOworICAg
IHVzaW5nIEJhc2U6OmNsZWFySXRlbXM7CiAgICAgdXNpbmcgQmFzZTo6c2l6ZTsKKworcHVibGlj
OgorICAgIFNWR1BhcnNpbmdFcnJvciBwYXJzZShjb25zdCBTdHJpbmcmIHN0cmluZykKKyAgICB7
CisgICAgICAgIGNsZWFySXRlbXMoKTsKKworICAgICAgICBhdXRvIHVwY29udmVydGVkQ2hhcmFj
dGVycyA9IFN0cmluZ1ZpZXcoc3RyaW5nKS51cGNvbnZlcnRlZENoYXJhY3RlcnMoKTsKKyAgICAg
ICAgY29uc3QgVUNoYXIqIHB0ciA9IHVwY29udmVydGVkQ2hhcmFjdGVyczsKKyAgICAgICAgY29u
c3QgVUNoYXIqIGVuZCA9IHB0ciArIHN0cmluZy5sZW5ndGgoKTsKKworICAgICAgICBib29sIGRl
bGltUGFyc2VkID0gZmFsc2U7CisgICAgICAgIHdoaWxlIChza2lwT3B0aW9uYWxTVkdTcGFjZXMo
cHRyLCBlbmQpKSB7CisgICAgICAgICAgICBkZWxpbVBhcnNlZCA9IGZhbHNlOworCisgICAgICAg
ICAgICBBU1NFUlQocHRyIDwgZW5kKTsKKyAgICAgICAgICAgIGNvbnN0IFVDaGFyKiBzdGFydCA9
IHB0cjsKKyAgICAgICAgICAgIHdoaWxlIChwdHIgPCBlbmQgJiYgIWlzU1ZHU3BhY2UoKnB0cikp
CisgICAgICAgICAgICAgICAgcHRyKys7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIEFTU0VS
VChwdHIgPiBzdGFydCk7CisgICAgICAgICAgICBhcHBlbmQoU1ZHUHJvcGVydHlUcmFpdHM8UHJv
cGVydHlUeXBlPjo6ZnJvbVN0cmluZyhTdHJpbmcoc3RhcnQsIHB0ciAtIHN0YXJ0KSkpOworCisg
ICAgICAgICAgICBpZiAocHRyIDwgZW5kICYmICpwdHIgPT0gJywnKSB7CisgICAgICAgICAgICAg
ICAgKytwdHI7CisgICAgICAgICAgICAgICAgZGVsaW1QYXJzZWQgPSB0cnVlOworICAgICAgICAg
ICAgfQorICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIGRlbGltUGFyc2VkID8gVW5leHBlY3Rl
ZEVuZE9mQXR0cmlidXRlRXJyb3IgOiBOb0Vycm9yOworICAgIH0KKworcHJvdGVjdGVkOgogICAg
IHVzaW5nIEJhc2U6Om1faXRlbXM7CiAKICAgICBQcm9wZXJ0eVR5cGUgYXQodW5zaWduZWQgaW5k
ZXgpIGNvbnN0IG92ZXJyaWRlCkBAIC03MCw2ICsxMDUsMTkgQEAgcHJvdGVjdGVkOgogICAgICAg
ICBtX2l0ZW1zLmFwcGVuZChXVEZNb3ZlKG5ld0l0ZW0pKTsKICAgICAgICAgcmV0dXJuIGF0KHNp
emUoKSAtIDEpOwogICAgIH0KKworICAgIFN0cmluZyB2YWx1ZUFzU3RyaW5nKCkgY29uc3Qgb3Zl
cnJpZGUKKyAgICB7CisgICAgICAgIFN0cmluZ0J1aWxkZXIgYnVpbGRlcjsKKworICAgICAgICBm
b3IgKGF1dG8gaXRlbSA6IG1faXRlbXMpIHsKKyAgICAgICAgICAgIGlmIChidWlsZGVyLmxlbmd0
aCgpKQorICAgICAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCcgJyk7CisgICAgICAgICAgICBi
dWlsZGVyLmFwcGVuZChTVkdQcm9wZXJ0eVRyYWl0czxQcm9wZXJ0eVR5cGU+Ojp0b1N0cmluZyhp
dGVtKSk7CisgICAgICAgIH0KKworICAgICAgICByZXR1cm4gYnVpbGRlci50b1N0cmluZygpOwor
ICAgIH0KIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVz
L1NWR1Byb3BlcnR5VHJhaXRzLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdQ
cm9wZXJ0eVRyYWl0cy5oCmluZGV4IGJiODNlNzdkMzY0ZGRkNTQxYzNkMWNkNGIxOWQ0YjMyMzhi
ODljMTIuLjllYWRkOWUzMTI5OTZlMWE0MzA2N2E2Yjk2OTM4ODRmNGVjZjE3NjIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5VHJhaXRzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHUHJvcGVydHlUcmFpdHMuaApAQCAt
MSw3ICsxLDcgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcs
IDIwMDggTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CiAgKiBDb3B5cmln
aHQgKEMpIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTAuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDE4LTIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz
dHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO
VSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0yNSwxMjQgKzI1LDk3IEBACiAjaW5jbHVkZSAi
Q29sb3IuaCIKICNpbmNsdWRlICJGbG9hdFBvaW50LmgiCiAjaW5jbHVkZSAiRmxvYXRSZWN0Lmgi
Ci0jaW5jbHVkZSAiUXVhbGlmaWVkTmFtZS5oIgogI2luY2x1ZGUgIlNWR1BhcnNlclV0aWxpdGll
cy5oIgorI2luY2x1ZGUgIlNWR1BhcnNpbmdFcnJvci5oIgorI2luY2x1ZGUgPHd0Zi9FeHBlY3Rl
ZC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KICNpbmNsdWRlIDx3dGYv
dGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi10ZW1wbGF0ZTx0eXBl
bmFtZSBQcm9wZXJ0eVR5cGU+Cit0ZW1wbGF0ZTx0eXBlbmFtZSBQcm9wZXJ0eVR5cGUsIGNsYXNz
IEVuYWJsZXIgPSB2b2lkPgogc3RydWN0IFNWR1Byb3BlcnR5VHJhaXRzIHsgfTsKIAogdGVtcGxh
dGU8Pgogc3RydWN0IFNWR1Byb3BlcnR5VHJhaXRzPGJvb2w+IHsKICAgICBzdGF0aWMgYm9vbCBp
bml0aWFsVmFsdWUoKSB7IHJldHVybiBmYWxzZTsgfQotICAgIHN0YXRpYyBib29sIGZyb21TdHJp
bmcoY29uc3QgU3RyaW5nJiBzdHJpbmcpIHsgcmV0dXJuIHN0cmluZyA9PSAidHJ1ZSI7IH0KLSAg
ICBzdGF0aWMgT3B0aW9uYWw8Ym9vbD4gcGFyc2UoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0
IFN0cmluZyYpIHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7IHJldHVybiBpbml0aWFsVmFsdWUoKTsg
fQotICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoYm9vbCB0eXBlKSB7IHJldHVybiB0eXBlID8g
InRydWUiIDogImZhbHNlIjsgfQorICAgIHN0YXRpYyBFeHBlY3RlZDxib29sLCBTVkdQYXJzaW5n
RXJyb3I+IHBhcnNlKGNvbnN0IFN0cmluZyYgc3RyaW5nKQorICAgIHsKKyAgICAgICAgaWYgKHN0
cmluZyA9PSAidHJ1ZSIpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgaWYgKHN0
cmluZyA9PSAiZmFsc2UiKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICByZXR1
cm4gbWFrZVVuZXhwZWN0ZWQoUGFyc2luZ0F0dHJpYnV0ZUZhaWxlZEVycm9yKTsKKyAgICB9Cisg
ICAgc3RhdGljIGJvb2wgZnJvbVN0cmluZyhjb25zdCBTdHJpbmcmIHN0cmluZykgeyByZXR1cm4g
cGFyc2Uoc3RyaW5nKS52YWx1ZV9vcihpbml0aWFsVmFsdWUoKSk7IH0KKyAgICBzdGF0aWMgU3Ry
aW5nIHRvU3RyaW5nKGJvb2wgdmFsdWUpIHsgcmV0dXJuIHZhbHVlID8gInRydWUiIDogImZhbHNl
IjsgfQogfTsKIAogdGVtcGxhdGU8Pgogc3RydWN0IFNWR1Byb3BlcnR5VHJhaXRzPENvbG9yPiB7
CiAgICAgc3RhdGljIENvbG9yIGluaXRpYWxWYWx1ZSgpIHsgcmV0dXJuIENvbG9yKCk7IH0KLSAg
ICBzdGF0aWMgQ29sb3IgZnJvbVN0cmluZyhjb25zdCBTdHJpbmcmIHN0cmluZykgeyByZXR1cm4g
Q1NTUGFyc2VyOjpwYXJzZUNvbG9yKHN0cmluZy5zdHJpcFdoaXRlU3BhY2UoKSk7IH0KLSAgICBz
dGF0aWMgT3B0aW9uYWw8Q29sb3I+IHBhcnNlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBT
dHJpbmcmIHN0cmluZykKKyAgICBzdGF0aWMgRXhwZWN0ZWQ8Q29sb3IsIFNWR1BhcnNpbmdFcnJv
cj4gcGFyc2UoY29uc3QgU3RyaW5nJiBzdHJpbmcpCiAgICAgewotICAgICAgICBDb2xvciBjb2xv
ciA9IENTU1BhcnNlcjo6cGFyc2VDb2xvcihzdHJpbmcuc3RyaXBXaGl0ZVNwYWNlKCkpOwotICAg
ICAgICBpZiAoIWNvbG9yLmlzVmFsaWQoKSkKLSAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxv
cHQ7Ci0gICAgICAgIHJldHVybiBjb2xvcjsKKyAgICAgICAgQ29sb3IgdmFsdWUgPSBDU1NQYXJz
ZXI6OnBhcnNlQ29sb3Ioc3RyaW5nLnN0cmlwV2hpdGVTcGFjZSgpKTsKKyAgICAgICAgaWYgKCF2
YWx1ZS5pc1ZhbGlkKCkpCisgICAgICAgICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQoUGFyc2lu
Z0F0dHJpYnV0ZUZhaWxlZEVycm9yKTsKKyAgICAgICAgcmV0dXJuIHZhbHVlOwogICAgIH0KLSAg
ICBzdGF0aWMgU3RyaW5nIHRvU3RyaW5nKGNvbnN0IENvbG9yJiB0eXBlKSB7IHJldHVybiB0eXBl
LnNlcmlhbGl6ZWQoKTsgfQotfTsKLQotdGVtcGxhdGU8Pgotc3RydWN0IFNWR1Byb3BlcnR5VHJh
aXRzPHVuc2lnbmVkPiB7Ci0gICAgc3RhdGljIHVuc2lnbmVkIGluaXRpYWxWYWx1ZSgpIHsgcmV0
dXJuIDA7IH0KLSAgICBzdGF0aWMgT3B0aW9uYWw8dW5zaWduZWQ+IHBhcnNlKGNvbnN0IFF1YWxp
ZmllZE5hbWUmLCBjb25zdCBTdHJpbmcmKSB7IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyByZXR1cm4g
aW5pdGlhbFZhbHVlKCk7IH0KLSAgICBzdGF0aWMgU3RyaW5nIHRvU3RyaW5nKHVuc2lnbmVkIHR5
cGUpIHsgcmV0dXJuIFN0cmluZzo6bnVtYmVyKHR5cGUpOyB9Ci19OwotCi10ZW1wbGF0ZTw+Ci1z
dHJ1Y3QgU1ZHUHJvcGVydHlUcmFpdHM8aW50PiB7Ci0gICAgc3RhdGljIGludCBpbml0aWFsVmFs
dWUoKSB7IHJldHVybiAwOyB9Ci0gICAgc3RhdGljIGludCBmcm9tU3RyaW5nKGNvbnN0IFN0cmlu
ZyZzdHJpbmcpIHsgcmV0dXJuIHN0cmluZy50b0ludFN0cmljdCgpOyB9Ci0gICAgc3RhdGljIE9w
dGlvbmFsPGludD4gcGFyc2UoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IFN0cmluZyYpIHsg
QVNTRVJUX05PVF9SRUFDSEVEKCk7IHJldHVybiBpbml0aWFsVmFsdWUoKTsgfQotICAgIHN0YXRp
YyBTdHJpbmcgdG9TdHJpbmcoaW50IHR5cGUpIHsgcmV0dXJuIFN0cmluZzo6bnVtYmVyKHR5cGUp
OyB9CisgICAgc3RhdGljIENvbG9yIGZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJpbmcpIHsg
cmV0dXJuIHBhcnNlKHN0cmluZykudmFsdWVfb3IoaW5pdGlhbFZhbHVlKCkpOyB9CisgICAgc3Rh
dGljIFN0cmluZyB0b1N0cmluZyhjb25zdCBDb2xvciYgdmFsdWUpIHsgcmV0dXJuIHZhbHVlLnNl
cmlhbGl6ZWQoKTsgfQogfTsKIAogdGVtcGxhdGU8Pgotc3RydWN0IFNWR1Byb3BlcnR5VHJhaXRz
PHN0ZDo6cGFpcjxpbnQsIGludD4+IHsKLSAgICBzdGF0aWMgc3RkOjpwYWlyPGludCwgaW50PiBp
bml0aWFsVmFsdWUoKSB7IHJldHVybiB7IH07IH0KLSAgICBzdGF0aWMgc3RkOjpwYWlyPGludCwg
aW50PiBmcm9tU3RyaW5nKGNvbnN0IFN0cmluZyYgc3RyaW5nKQotICAgIHsKLSAgICAgICAgZmxv
YXQgZmlyc3ROdW1iZXIgPSAwLCBzZWNvbmROdW1iZXIgPSAwOwotICAgICAgICBpZiAoIXBhcnNl
TnVtYmVyT3B0aW9uYWxOdW1iZXIoc3RyaW5nLCBmaXJzdE51bWJlciwgc2Vjb25kTnVtYmVyKSkK
LSAgICAgICAgICAgIHJldHVybiB7IH07Ci0gICAgICAgIHJldHVybiBzdGQ6Om1ha2VfcGFpcihz
dGF0aWNfY2FzdDxpbnQ+KHJvdW5kZihmaXJzdE51bWJlcikpLCBzdGF0aWNfY2FzdDxpbnQ+KHJv
dW5kZihzZWNvbmROdW1iZXIpKSk7Ci0gICAgfQotICAgIHN0YXRpYyBPcHRpb25hbDxzdGQ6OnBh
aXI8aW50LCBpbnQ+PiBwYXJzZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgU3RyaW5nJikg
eyBBU1NFUlRfTk9UX1JFQUNIRUQoKTsgcmV0dXJuIGluaXRpYWxWYWx1ZSgpOyB9Ci0gICAgc3Rh
dGljIFN0cmluZyB0b1N0cmluZyhzdGQ6OnBhaXI8aW50LCBpbnQ+KSB7IEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOyByZXR1cm4gZW1wdHlTdHJpbmcoKTsgfQorc3RydWN0IFNWR1Byb3BlcnR5VHJhaXRz
PFN0cmluZz4geworICAgIHN0YXRpYyBTdHJpbmcgaW5pdGlhbFZhbHVlKCkgeyByZXR1cm4gU3Ry
aW5nKCk7IH0KKyAgICBzdGF0aWMgRXhwZWN0ZWQ8U3RyaW5nLCBTVkdQYXJzaW5nRXJyb3I+IHBh
cnNlKGNvbnN0IFN0cmluZyYgc3RyaW5nKSB7IHJldHVybiBzdHJpbmc7IH0KKyAgICBzdGF0aWMg
U3RyaW5nIGZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJpbmcpIHsgcmV0dXJuIHN0cmluZzsg
fQorICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoY29uc3QgU3RyaW5nJiB2YWx1ZSkgeyByZXR1
cm4gdmFsdWU7IH0KIH07CiAKIHRlbXBsYXRlPD4KIHN0cnVjdCBTVkdQcm9wZXJ0eVRyYWl0czxm
bG9hdD4gewogICAgIHN0YXRpYyBmbG9hdCBpbml0aWFsVmFsdWUoKSB7IHJldHVybiAwOyB9Ci0g
ICAgc3RhdGljIGZsb2F0IGZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJpbmcpCisgICAgc3Rh
dGljIEV4cGVjdGVkPGZsb2F0LCBTVkdQYXJzaW5nRXJyb3I+IHBhcnNlKGNvbnN0IFN0cmluZyYg
c3RyaW5nLCBTVkdQYXJzaW5nT3B0aW9ucyBwYXJzaW5nT3B0aW9ucyA9IE5vT3B0aW9ucykKICAg
ICB7Ci0gICAgICAgIGZsb2F0IG51bWJlciA9IDA7Ci0gICAgICAgIGlmICghcGFyc2VOdW1iZXJG
cm9tU3RyaW5nKHN0cmluZywgbnVtYmVyKSkKLSAgICAgICAgICAgIHJldHVybiAwOwotICAgICAg
ICByZXR1cm4gbnVtYmVyOworICAgICAgICBmbG9hdCB2YWx1ZTsKKyAgICAgICAgaWYgKChwYXJz
aW5nT3B0aW9ucyAmIEFsbG93UGVyY2VudGFnZSkgJiYgc3RyaW5nLmVuZHNXaXRoKCclJykpCisg
ICAgICAgICAgICB2YWx1ZSA9IHN0cmluZy5sZWZ0KHN0cmluZy5sZW5ndGgoKSAtIDEpLnRvRmxv
YXQoKSAvIDEwMDsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdmFsdWUgPSBzdHJpbmcudG9G
bG9hdCgpOworICAgICAgICBpZiAoYXV0byBlcnJvciA9IHZhbGlkYXRlTnVtZXJpYyh2YWx1ZSwg
cGFyc2luZ09wdGlvbnMpKQorICAgICAgICAgICAgcmV0dXJuIG1ha2VVbmV4cGVjdGVkKGVycm9y
KTsKKyAgICAgICAgcmV0dXJuIHZhbHVlOwogICAgIH0KLSAgICBzdGF0aWMgT3B0aW9uYWw8Zmxv
YXQ+IHBhcnNlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBTdHJpbmcmIHN0cmluZykKLSAg
ICB7Ci0gICAgICAgIGZsb2F0IG51bWJlcjsKLSAgICAgICAgaWYgKCFwYXJzZU51bWJlckZyb21T
dHJpbmcoc3RyaW5nLCBudW1iZXIpKQotICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsK
LSAgICAgICAgcmV0dXJuIG51bWJlcjsKLSAgICB9Ci0gICAgc3RhdGljIFN0cmluZyB0b1N0cmlu
ZyhmbG9hdCB0eXBlKSB7IHJldHVybiBTdHJpbmc6Om51bWJlclRvU3RyaW5nRml4ZWRQcmVjaXNp
b24odHlwZSk7IH0KKyAgICBzdGF0aWMgZmxvYXQgZnJvbVN0cmluZyhjb25zdCBTdHJpbmcmIHN0
cmluZykgeyByZXR1cm4gcGFyc2Uoc3RyaW5nKS52YWx1ZV9vcihpbml0aWFsVmFsdWUoKSk7IH0K
KyAgICBzdGF0aWMgU3RyaW5nIHRvU3RyaW5nKGZsb2F0IHZhbHVlKSB7IHJldHVybiBTdHJpbmc6
Om51bWJlclRvU3RyaW5nRml4ZWRQcmVjaXNpb24odmFsdWUpOyB9CiB9OwogCiB0ZW1wbGF0ZTw+
Ci1zdHJ1Y3QgU1ZHUHJvcGVydHlUcmFpdHM8c3RkOjpwYWlyPGZsb2F0LCBmbG9hdD4+IHsKLSAg
ICBzdGF0aWMgc3RkOjpwYWlyPGZsb2F0LCBmbG9hdD4gaW5pdGlhbFZhbHVlKCkgeyByZXR1cm4g
eyB9OyB9Ci0gICAgc3RhdGljIHN0ZDo6cGFpcjxmbG9hdCwgZmxvYXQ+IGZyb21TdHJpbmcoY29u
c3QgU3RyaW5nJiBzdHJpbmcpCi0gICAgewotICAgICAgICBmbG9hdCBmaXJzdE51bWJlciA9IDAs
IHNlY29uZE51bWJlciA9IDA7Ci0gICAgICAgIGlmICghcGFyc2VOdW1iZXJPcHRpb25hbE51bWJl
cihzdHJpbmcsIGZpcnN0TnVtYmVyLCBzZWNvbmROdW1iZXIpKQotICAgICAgICAgICAgcmV0dXJu
IHsgfTsKLSAgICAgICAgcmV0dXJuIHN0ZDo6bWFrZV9wYWlyKGZpcnN0TnVtYmVyLCBzZWNvbmRO
dW1iZXIpOwotICAgIH0KLSAgICBzdGF0aWMgT3B0aW9uYWw8c3RkOjpwYWlyPGZsb2F0LCBmbG9h
dD4+IHBhcnNlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBTdHJpbmcmKSB7IEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOyByZXR1cm4gaW5pdGlhbFZhbHVlKCk7IH0KLSAgICBzdGF0aWMgU3RyaW5n
IHRvU3RyaW5nKHN0ZDo6cGFpcjxmbG9hdCwgZmxvYXQ+KSB7IEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OyByZXR1cm4gZW1wdHlTdHJpbmcoKTsgfQorc3RydWN0IFNWR1Byb3BlcnR5VHJhaXRzPGludD4g
eworICAgIHN0YXRpYyBpbnQgaW5pdGlhbFZhbHVlKCkgeyByZXR1cm4gMDsgfQorICAgIHN0YXRp
YyBFeHBlY3RlZDxpbnQsIFNWR1BhcnNpbmdFcnJvcj4gcGFyc2UoY29uc3QgU3RyaW5nJiBzdHJp
bmcpIHsgcmV0dXJuIHN0cmluZy50b0ludFN0cmljdCgpOyB9CisgICAgc3RhdGljIGludCBmcm9t
U3RyaW5nKGNvbnN0IFN0cmluZyYgc3RyaW5nKSB7IHJldHVybiBwYXJzZShzdHJpbmcpLnZhbHVl
X29yKGluaXRpYWxWYWx1ZSgpKTsgfQorICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoaW50IHZh
bHVlKSB7IHJldHVybiBTdHJpbmc6Om51bWJlcih2YWx1ZSk7IH0KIH07CiAKIHRlbXBsYXRlPD4K
IHN0cnVjdCBTVkdQcm9wZXJ0eVRyYWl0czxGbG9hdFBvaW50PiB7CiAgICAgc3RhdGljIEZsb2F0
UG9pbnQgaW5pdGlhbFZhbHVlKCkgeyByZXR1cm4gRmxvYXRQb2ludCgpOyB9Ci0gICAgc3RhdGlj
IEZsb2F0UG9pbnQgZnJvbVN0cmluZyhjb25zdCBTdHJpbmcmIHN0cmluZykKLSAgICB7Ci0gICAg
ICAgIEZsb2F0UG9pbnQgcG9pbnQ7Ci0gICAgICAgIGlmICghcGFyc2VQb2ludChzdHJpbmcsIHBv
aW50KSkKLSAgICAgICAgICAgIHJldHVybiB7IH07Ci0gICAgICAgIHJldHVybiBwb2ludDsKLSAg
ICB9Ci0gICAgc3RhdGljIE9wdGlvbmFsPEZsb2F0UG9pbnQ+IHBhcnNlKGNvbnN0IFF1YWxpZmll
ZE5hbWUmLCBjb25zdCBTdHJpbmcmIHN0cmluZykKKyAgICBzdGF0aWMgRXhwZWN0ZWQ8RmxvYXRQ
b2ludCwgU1ZHUGFyc2luZ0Vycm9yPiBwYXJzZShjb25zdCBTdHJpbmcmIHN0cmluZykKICAgICB7
Ci0gICAgICAgIEZsb2F0UG9pbnQgcG9pbnQ7Ci0gICAgICAgIGlmICghcGFyc2VQb2ludChzdHJp
bmcsIHBvaW50KSkKLSAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Ci0gICAgICAgIHJl
dHVybiBwb2ludDsKKyAgICAgICAgRmxvYXRQb2ludCB2YWx1ZTsKKyAgICAgICAgaWYgKCFwYXJz
ZVBvaW50KHN0cmluZywgdmFsdWUpKQorICAgICAgICAgICAgcmV0dXJuIG1ha2VVbmV4cGVjdGVk
KFBhcnNpbmdBdHRyaWJ1dGVGYWlsZWRFcnJvcik7CisgICAgICAgIHJldHVybiB2YWx1ZTsKICAg
ICB9Ci0gICAgc3RhdGljIFN0cmluZyB0b1N0cmluZyhjb25zdCBGbG9hdFBvaW50JiB0eXBlKQor
ICAgIHN0YXRpYyBGbG9hdFBvaW50IGZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJpbmcpIHsg
cmV0dXJuIHBhcnNlKHN0cmluZykudmFsdWVfb3IoaW5pdGlhbFZhbHVlKCkpOyB9CisgICAgc3Rh
dGljIFN0cmluZyB0b1N0cmluZyhjb25zdCBGbG9hdFBvaW50JiB2YWx1ZSkKICAgICB7CiAgICAg
ICAgIFN0cmluZ0J1aWxkZXIgYnVpbGRlcjsKLSAgICAgICAgYnVpbGRlci5hcHBlbmRGaXhlZFBy
ZWNpc2lvbk51bWJlcih0eXBlLngoKSk7CisgICAgICAgIGJ1aWxkZXIuYXBwZW5kRml4ZWRQcmVj
aXNpb25OdW1iZXIodmFsdWUueCgpKTsKICAgICAgICAgYnVpbGRlci5hcHBlbmQoJyAnKTsKLSAg
ICAgICAgYnVpbGRlci5hcHBlbmRGaXhlZFByZWNpc2lvbk51bWJlcih0eXBlLnkoKSk7CisgICAg
ICAgIGJ1aWxkZXIuYXBwZW5kRml4ZWRQcmVjaXNpb25OdW1iZXIodmFsdWUueSgpKTsKICAgICAg
ICAgcmV0dXJuIGJ1aWxkZXIudG9TdHJpbmcoKTsKICAgICB9CiB9OwpAQCAtMTUwLDQ2ICsxMjMs
NzMgQEAgc3RydWN0IFNWR1Byb3BlcnR5VHJhaXRzPEZsb2F0UG9pbnQ+IHsKIHRlbXBsYXRlPD4K
IHN0cnVjdCBTVkdQcm9wZXJ0eVRyYWl0czxGbG9hdFJlY3Q+IHsKICAgICBzdGF0aWMgRmxvYXRS
ZWN0IGluaXRpYWxWYWx1ZSgpIHsgcmV0dXJuIEZsb2F0UmVjdCgpOyB9Ci0gICAgc3RhdGljIEZs
b2F0UmVjdCBmcm9tU3RyaW5nKGNvbnN0IFN0cmluZyYgc3RyaW5nKQotICAgIHsKLSAgICAgICAg
RmxvYXRSZWN0IHJlY3Q7Ci0gICAgICAgIGlmICghcGFyc2VSZWN0KHN0cmluZywgcmVjdCkpCi0g
ICAgICAgICAgICByZXR1cm4geyB9OwotICAgICAgICByZXR1cm4gcmVjdDsKLSAgICB9Ci0gICAg
c3RhdGljIE9wdGlvbmFsPEZsb2F0UmVjdD4gcGFyc2UoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNv
bnN0IFN0cmluZyYgc3RyaW5nKQorICAgIHN0YXRpYyBFeHBlY3RlZDxGbG9hdFJlY3QsIFNWR1Bh
cnNpbmdFcnJvcj4gcGFyc2UoY29uc3QgU3RyaW5nJiBzdHJpbmcsIFNWR1BhcnNpbmdPcHRpb25z
IHBhcnNpbmdPcHRpb25zID0gTm9PcHRpb25zKQogICAgIHsKLSAgICAgICAgRmxvYXRSZWN0IHJl
Y3Q7Ci0gICAgICAgIGlmICghcGFyc2VSZWN0KHN0cmluZywgcmVjdCkpCi0gICAgICAgICAgICBy
ZXR1cm4gV1RGOjpudWxsb3B0OwotICAgICAgICByZXR1cm4gcmVjdDsKKyAgICAgICAgRmxvYXRS
ZWN0IHZhbHVlOworICAgICAgICBpZiAoIXBhcnNlUmVjdChzdHJpbmcsIHZhbHVlKSkKKyAgICAg
ICAgICAgIHJldHVybiBtYWtlVW5leHBlY3RlZChQYXJzaW5nQXR0cmlidXRlRmFpbGVkRXJyb3Ip
OworICAgICAgICBpZiAoYXV0byBlcnJvciA9IHZhbGlkYXRlTnVtZXJpYyh2YWx1ZS53aWR0aCgp
LCBwYXJzaW5nT3B0aW9ucykpCisgICAgICAgICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQoZXJy
b3IpOworICAgICAgICBpZiAoYXV0byBlcnJvciA9IHZhbGlkYXRlTnVtZXJpYyh2YWx1ZS5oZWln
aHQoKSwgcGFyc2luZ09wdGlvbnMpKQorICAgICAgICAgICAgcmV0dXJuIG1ha2VVbmV4cGVjdGVk
KGVycm9yKTsKKyAgICAgICAgcmV0dXJuIHZhbHVlOwogICAgIH0KLSAgICBzdGF0aWMgU3RyaW5n
IHRvU3RyaW5nKGNvbnN0IEZsb2F0UmVjdCYgdHlwZSkKKyAgICBzdGF0aWMgRmxvYXRSZWN0IGZy
b21TdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJpbmcpIHsgcmV0dXJuIHBhcnNlKHN0cmluZykudmFs
dWVfb3IoaW5pdGlhbFZhbHVlKCkpOyB9CisgICAgc3RhdGljIFN0cmluZyB0b1N0cmluZyhjb25z
dCBGbG9hdFJlY3QmIHZhbHVlKQogICAgIHsKICAgICAgICAgU3RyaW5nQnVpbGRlciBidWlsZGVy
OwotICAgICAgICBidWlsZGVyLmFwcGVuZEZpeGVkUHJlY2lzaW9uTnVtYmVyKHR5cGUueCgpKTsK
KyAgICAgICAgYnVpbGRlci5hcHBlbmRGaXhlZFByZWNpc2lvbk51bWJlcih2YWx1ZS54KCkpOwog
ICAgICAgICBidWlsZGVyLmFwcGVuZCgnICcpOwotICAgICAgICBidWlsZGVyLmFwcGVuZEZpeGVk
UHJlY2lzaW9uTnVtYmVyKHR5cGUueSgpKTsKKyAgICAgICAgYnVpbGRlci5hcHBlbmRGaXhlZFBy
ZWNpc2lvbk51bWJlcih2YWx1ZS55KCkpOwogICAgICAgICBidWlsZGVyLmFwcGVuZCgnICcpOwot
ICAgICAgICBidWlsZGVyLmFwcGVuZEZpeGVkUHJlY2lzaW9uTnVtYmVyKHR5cGUud2lkdGgoKSk7
CisgICAgICAgIGJ1aWxkZXIuYXBwZW5kRml4ZWRQcmVjaXNpb25OdW1iZXIodmFsdWUud2lkdGgo
KSk7CiAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCcgJyk7Ci0gICAgICAgIGJ1aWxkZXIuYXBwZW5k
Rml4ZWRQcmVjaXNpb25OdW1iZXIodHlwZS5oZWlnaHQoKSk7CisgICAgICAgIGJ1aWxkZXIuYXBw
ZW5kRml4ZWRQcmVjaXNpb25OdW1iZXIodmFsdWUuaGVpZ2h0KCkpOwogICAgICAgICByZXR1cm4g
YnVpbGRlci50b1N0cmluZygpOwogICAgIH0KIH07CiAKIHRlbXBsYXRlPD4KLXN0cnVjdCBTVkdQ
cm9wZXJ0eVRyYWl0czxTdHJpbmc+IHsKLSAgICBzdGF0aWMgU3RyaW5nIGluaXRpYWxWYWx1ZSgp
IHsgcmV0dXJuIFN0cmluZygpOyB9Ci0gICAgc3RhdGljIFN0cmluZyBmcm9tU3RyaW5nKGNvbnN0
IFN0cmluZyYgc3RyaW5nKSB7IHJldHVybiBzdHJpbmc7IH0KLSAgICBzdGF0aWMgT3B0aW9uYWw8
U3RyaW5nPiBwYXJzZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgU3RyaW5nJiBzdHJpbmcp
IHsgcmV0dXJuIHN0cmluZzsgfQotICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoY29uc3QgU3Ry
aW5nJiBzdHJpbmcpIHsgcmV0dXJuIHN0cmluZzsgfQorc3RydWN0IFNWR1Byb3BlcnR5VHJhaXRz
PHN0ZDo6cGFpcjxpbnQsIGludD4+IHsKKyAgICBzdGF0aWMgc3RkOjpwYWlyPGludCwgaW50PiBp
bml0aWFsVmFsdWUoKSB7IHJldHVybiB7IH07IH0KKyAgICBzdGF0aWMgRXhwZWN0ZWQ8c3RkOjpw
YWlyPGludCwgaW50PiwgU1ZHUGFyc2luZ0Vycm9yPiBwYXJzZShjb25zdCBTdHJpbmcmIHN0cmlu
ZywgU1ZHUGFyc2luZ09wdGlvbnMgcGFyc2luZ09wdGlvbnMgPSBOb09wdGlvbnMpCisgICAgewor
ICAgICAgICBmbG9hdCB2YWx1ZU51bWJlcjEgPSAwLCB2YWx1ZU51bWJlcjIgPSAwOworICAgICAg
ICBpZiAoIXBhcnNlTnVtYmVyT3B0aW9uYWxOdW1iZXIoc3RyaW5nLCB2YWx1ZU51bWJlcjEsIHZh
bHVlTnVtYmVyMikpCisgICAgICAgICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQoUGFyc2luZ0F0
dHJpYnV0ZUZhaWxlZEVycm9yKTsKKworICAgICAgICBpbnQgdmFsdWVJbnRlZ2VyMSA9IHN0YXRp
Y19jYXN0PGludD4ocm91bmRmKHZhbHVlTnVtYmVyMSkpOworICAgICAgICBpbnQgdmFsdWVJbnRl
Z2VyMiA9IHN0YXRpY19jYXN0PGludD4ocm91bmRmKHZhbHVlTnVtYmVyMikpOworCisgICAgICAg
IGlmIChhdXRvIGVycm9yID0gdmFsaWRhdGVOdW1lcmljKHZhbHVlSW50ZWdlcjEsIHBhcnNpbmdP
cHRpb25zKSkKKyAgICAgICAgICAgIHJldHVybiBtYWtlVW5leHBlY3RlZChlcnJvcik7CisgICAg
ICAgIGlmIChhdXRvIGVycm9yID0gdmFsaWRhdGVOdW1lcmljKHZhbHVlSW50ZWdlcjIsIHBhcnNp
bmdPcHRpb25zKSkKKyAgICAgICAgICAgIHJldHVybiBtYWtlVW5leHBlY3RlZChlcnJvcik7CisK
KyAgICAgICAgcmV0dXJuIHN0ZDo6bWFrZV9wYWlyKHZhbHVlSW50ZWdlcjEsIHZhbHVlSW50ZWdl
cjIpOworICAgIH0KKyAgICBzdGF0aWMgc3RkOjpwYWlyPGludCwgaW50PiBmcm9tU3RyaW5nKGNv
bnN0IFN0cmluZyYgc3RyaW5nKSB7IHJldHVybiBwYXJzZShzdHJpbmcpLnZhbHVlX29yKGluaXRp
YWxWYWx1ZSgpKTsgfQorICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoY29uc3Qgc3RkOjpwYWly
PGludCwgaW50PiYgdmFsdWUpIHsgcmV0dXJuIFNWR1Byb3BlcnR5VHJhaXRzPGludD46OnRvU3Ry
aW5nKHZhbHVlLmZpcnN0KSArICIsICIgKyBTVkdQcm9wZXJ0eVRyYWl0czxpbnQ+Ojp0b1N0cmlu
Zyh2YWx1ZS5zZWNvbmQpOyB9CiB9OwogCi10ZW1wbGF0ZTx0eXBlbmFtZSBFbnVtVHlwZT4KLXN0
cnVjdCBTVkdJRExFbnVtTGltaXRzIHsKLSAgICAvLyBTcGVjaWFsaXplIHRoaXMgZnVuY3Rpb24g
Zm9yIGEgcGFydGljdWxhciBlbnVtZXJhdGlvbiB0byBsaW1pdCB0aGUgdmFsdWVzIHRoYXQgYXJl
IGV4cG9zZWQgdGhyb3VnaCB0aGUgRE9NLgotICAgIHN0YXRpYyB1bnNpZ25lZCBoaWdoZXN0RXhw
b3NlZEVudW1WYWx1ZSgpIHsgcmV0dXJuIFNWR1Byb3BlcnR5VHJhaXRzPEVudW1UeXBlPjo6aGln
aGVzdEVudW1WYWx1ZSgpOyB9Cit0ZW1wbGF0ZTw+CitzdHJ1Y3QgU1ZHUHJvcGVydHlUcmFpdHM8
c3RkOjpwYWlyPGZsb2F0LCBmbG9hdD4+IHsKKyAgICBzdGF0aWMgc3RkOjpwYWlyPGZsb2F0LCBm
bG9hdD4gaW5pdGlhbFZhbHVlKCkgeyByZXR1cm4geyB9OyB9CisgICAgc3RhdGljIEV4cGVjdGVk
PHN0ZDo6cGFpcjxmbG9hdCwgZmxvYXQ+LCBTVkdQYXJzaW5nRXJyb3I+IHBhcnNlKGNvbnN0IFN0
cmluZyYgc3RyaW5nLCBTVkdQYXJzaW5nT3B0aW9ucyBwYXJzaW5nT3B0aW9ucyA9IE5vT3B0aW9u
cykKKyAgICB7CisgICAgICAgIGZsb2F0IHZhbHVlTnVtYmVyMSA9IDAsIHZhbHVlTnVtYmVyMiA9
IDA7CisgICAgICAgIGlmICghcGFyc2VOdW1iZXJPcHRpb25hbE51bWJlcihzdHJpbmcsIHZhbHVl
TnVtYmVyMSwgdmFsdWVOdW1iZXIyKSkKKyAgICAgICAgICAgIHJldHVybiBtYWtlVW5leHBlY3Rl
ZChQYXJzaW5nQXR0cmlidXRlRmFpbGVkRXJyb3IpOworCisgICAgICAgIGlmIChhdXRvIGVycm9y
ID0gdmFsaWRhdGVOdW1lcmljKHZhbHVlTnVtYmVyMSwgcGFyc2luZ09wdGlvbnMpKQorICAgICAg
ICAgICAgcmV0dXJuIG1ha2VVbmV4cGVjdGVkKGVycm9yKTsKKyAgICAgICAgaWYgKGF1dG8gZXJy
b3IgPSB2YWxpZGF0ZU51bWVyaWModmFsdWVOdW1iZXIyLCBwYXJzaW5nT3B0aW9ucykpCisgICAg
ICAgICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQoZXJyb3IpOworCisgICAgICAgIHJldHVybiBz
dGQ6Om1ha2VfcGFpcih2YWx1ZU51bWJlcjEsIHZhbHVlTnVtYmVyMik7CisgICAgfQorICAgIHN0
YXRpYyBzdGQ6OnBhaXI8ZmxvYXQsIGZsb2F0PiBmcm9tU3RyaW5nKGNvbnN0IFN0cmluZyYgc3Ry
aW5nKSB7IHJldHVybiBwYXJzZShzdHJpbmcpLnZhbHVlX29yKGluaXRpYWxWYWx1ZSgpKTsgfQor
ICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoY29uc3Qgc3RkOjpwYWlyPGZsb2F0LCBmbG9hdD4m
IHZhbHVlKSB7IHJldHVybiBTVkdQcm9wZXJ0eVRyYWl0czxmbG9hdD46OnRvU3RyaW5nKHZhbHVl
LmZpcnN0KSArICIsICIgKyBTVkdQcm9wZXJ0eVRyYWl0czxmbG9hdD46OnRvU3RyaW5nKHZhbHVl
LnNlY29uZCk7IH0KIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1ZhbHVlUHJvcGVydHlMaXN0LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdWYWx1ZVByb3BlcnR5TGlzdC5oCmluZGV4IDMw
MTBjMzNhNzQwODliYzQ0ZmJiNDEwYTU2Zjc4NWE5ZjcxN2NjZWUuLjRlYjkzODM4ZmEwYTAzMzYx
MzU3ZGUxYzBmMGRhMDlmM2FmYTMxNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9w
cm9wZXJ0aWVzL1NWR1ZhbHVlUHJvcGVydHlMaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3Zn
L3Byb3BlcnRpZXMvU1ZHVmFsdWVQcm9wZXJ0eUxpc3QuaApAQCAtNjYsNiArNjYsNDggQEAgcHVi
bGljOgogICAgICAgICAgICAgcmVtb3ZlKHNpemUoKSAtIDEpOwogICAgIH0KIAorICAgIHRlbXBs
YXRlPHR5cGVuYW1lLi4uIEFyZ3VtZW50cz4KKyAgICBTVkdQYXJzaW5nRXJyb3IgcGFyc2UoY29u
c3QgU3RyaW5nJiBzdHJpbmcsIEFyZ3VtZW50cyYmLi4uIGFyZ3VtZW50cykKKyAgICB7CisgICAg
ICAgIGNsZWFySXRlbXMoKTsKKworICAgICAgICBhdXRvIHVwY29udmVydGVkQ2hhcmFjdGVycyA9
IFN0cmluZ1ZpZXcoc3RyaW5nKS51cGNvbnZlcnRlZENoYXJhY3RlcnMoKTsKKyAgICAgICAgY29u
c3QgVUNoYXIqIHB0ciA9IHVwY29udmVydGVkQ2hhcmFjdGVyczsKKyAgICAgICAgY29uc3QgVUNo
YXIqIGVuZCA9IHB0ciArIHN0cmluZy5sZW5ndGgoKTsKKworICAgICAgICBib29sIGRlbGltUGFy
c2VkID0gZmFsc2U7CisgICAgICAgIHdoaWxlIChza2lwT3B0aW9uYWxTVkdTcGFjZXMocHRyLCBl
bmQpKSB7CisgICAgICAgICAgICBkZWxpbVBhcnNlZCA9IGZhbHNlOworCisgICAgICAgICAgICBB
U1NFUlQocHRyIDwgZW5kKTsKKyAgICAgICAgICAgIGF1dG8gZXhwZWN0ZWRJdGVtID0gUHJvcGVy
dHlUeXBlOjpjcmVhdGUocHRyLCBlbmQsIHN0ZDo6Zm9yd2FyZDxBcmd1bWVudHM+KGFyZ3VtZW50
cykuLi4pOworICAgICAgICAgICAgaWYgKCFleHBlY3RlZEl0ZW0pCisgICAgICAgICAgICAgICAg
cmV0dXJuIGV4cGVjdGVkSXRlbS5lcnJvcigpOworCisgICAgICAgICAgICBhcHBlbmQoV1RGTW92
ZShleHBlY3RlZEl0ZW0udmFsdWUoKSkpOworCisgICAgICAgICAgICBpZiAocHRyIDwgZW5kICYm
ICpwdHIgPT0gJywnKSB7CisgICAgICAgICAgICAgICAgKytwdHI7CisgICAgICAgICAgICAgICAg
ZGVsaW1QYXJzZWQgPSB0cnVlOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAg
cmV0dXJuIGRlbGltUGFyc2VkID8gVW5leHBlY3RlZEVuZE9mQXR0cmlidXRlRXJyb3IgOiBOb0Vy
cm9yOworICAgIH0KKworICAgIFN0cmluZyB2YWx1ZUFzU3RyaW5nKCkgY29uc3Qgb3ZlcnJpZGUK
KyAgICB7CisgICAgICAgIFN0cmluZ0J1aWxkZXIgYnVpbGRlcjsKKworICAgICAgICBmb3IgKGNv
bnN0IGF1dG8mIGl0ZW0gOiBpdGVtcygpKSB7CisgICAgICAgICAgICBpZiAoYnVpbGRlci5sZW5n
dGgoKSkKKyAgICAgICAgICAgICAgICBidWlsZGVyLmFwcGVuZCgnICcpOworICAgICAgICAgICAg
YnVpbGRlci5hcHBlbmQoaXRlbS0+dmFsdWVBc1N0cmluZygpKTsKKyAgICAgICAgfQorCisgICAg
ICAgIHJldHVybiBidWlsZGVyLnRvU3RyaW5nKCk7CisgICAgfQorCiAgICAgLy8gVmlzdWFsIFN0
dWRpbyBkb2Vzbid0IHNlZW0gdG8gc2VlIHRoZXNlIHByaXZhdGUgY29uc3RydWN0b3JzIGZyb20g
c3ViY2xhc3Nlcy4KICAgICAvLyBGSVhNRTogU2VlIHdoYXQgaXQgdGFrZXMgdG8gcmVtb3ZlIHRo
aXMgaGFjay4KICNpZiAhQ09NUElMRVIoTVNWQykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3NGU4YjllN2U5OTRmOWQzOTRi
N2I1Mjg1M2QwNzRjMDg3MzEzZThhLi5hMjVmM2QwNGE3YjczNDBhOWE0MzFlODJkYTVjZDBjM2Nk
NWY5OWVkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjcgQEAKKzIwMTktMDYtMDggIFNhaWQgQWJvdS1IYWxs
YXdhICA8c2FpZEBhcHBsZS5jb20+CisKKyAgICAgICAgU1ZHUHJvcGVydHlUcmFpdHMgYW5kIFNW
RyBlbnVtIHR5cGVzIGNsZWFuIHVwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xOTgwNzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIHN2Zy9hbmltYXRpb25zL3N2Z251bWJlci1hbmltYXRpb24tMy1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogc3ZnL2FuaW1hdGlvbnMvc3ZnbnVtYmVyLWFuaW1hdGlvbi0z
Lmh0bWw6CisgICAgICAgIFRoZSBleHBlY3RlZCB2YWx1ZXMgb2YgdGhpcyB0ZXN0IHdlcmUgd3Jv
bmcuIFRoZSB0ZXN0IGlzIHN1cHBvc2VkIHRvIHZlcmlmeQorICAgICAgICB0aGUgdmFsdWVzIGF0
IDAlLCA1MCUsIGp1c3QgYmVmb3JlIDEwMCUgYW5kIDEwMCUuIFRoZSBjaGFuZ2UgaW4gdGhlIG9w
YWNpdHkKKyAgICAgICAgb2YgdGhlIGVsZW1lbnQgc2hvdWxkIGJlOiAwLCAwLjUsIDEsIDAuIFRo
ZSB0ZXN0IHdhcyBleHBlY3RpbmcgYWxsIHZhbHVlcworICAgICAgICB0byBiZSB6ZXJvcy4KKwor
MjAxOS0wNS0yMCAgU2FpZCBBYm91LUhhbGxhd2EgIDxzYWJvdWhhbGxhd2FAYXBwbGUuY29tPgor
CisgICAgICAgIFVuaWZ5IHRoZSBwYXJzaW5nIG9mIFNWR0xpc3Qgc3VwZXIgY2xhc3NlcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk3ODMxCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodG1sNWxpYi9n
ZW5lcmF0ZWQvcnVuLXRlc3RzMTEtZGF0YS1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHRtbDVs
aWIvZ2VuZXJhdGVkL3J1bi10ZXN0czExLXdyaXRlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgUmVw
b3J0IGVycm9yIG1lc3NhZ2VzIGlmIGEgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbyBvciBTVkdab29t
QW5kUGFuIHBhcnNpbmcKKyAgICAgICAgZXJyb3IgaGFwcGVucy4KKworICAgICAgICAqIHBsYXRm
b3JtL2d0ay9zdmcvY3VzdG9tL3ByZXNlcnZlLWFzcGVjdC1yYXRpby1zeW50YXgtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9zdmcvY3VzdG9tL3ZpZXdib3gtc3ludGF4LWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvc3ZnL2hpeGllL2Vycm9yLzAxMC1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL3N2Zy9oaXhpZS9lcnJvci8wMTEt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9zdmcvY3VzdG9tL3ByZXNlcnZl
LWFzcGVjdC1yYXRpby1zeW50YXgtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2lv
cy9zdmcvY3VzdG9tL3ZpZXdib3gtc3ludGF4LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9pb3Mvc3ZnL2hpeGllL2Vycm9yLzAxMC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxh
dGZvcm0vaW9zL3N2Zy9oaXhpZS9lcnJvci8wMTEtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBs
YXRmb3JtL21hYy9zdmcvY3VzdG9tL3ByZXNlcnZlLWFzcGVjdC1yYXRpby1zeW50YXgtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvY3VzdG9tL3ZpZXdib3gtc3ludGF4
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL2hpeGllL2Vycm9yLzAx
MC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9oaXhpZS9lcnJvci8w
MTEtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9zdmcvY3VzdG9tL3ByZXNl
cnZlLWFzcGVjdC1yYXRpby1zeW50YXgtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3Jt
L3dpbi9zdmcvY3VzdG9tL3ZpZXdib3gtc3ludGF4LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBw
bGF0Zm9ybS93aW4vc3ZnL2hpeGllL2Vycm9yLzAxMC1leHBlY3RlZC50eHQ6CisgICAgICAgICog
cGxhdGZvcm0vd2luL3N2Zy9oaXhpZS9lcnJvci8wMTEtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHBsYXRmb3JtL3dpbmNhaXJvL3N2Zy9jdXN0b20vcHJlc2VydmUtYXNwZWN0LXJhdGlvLXN5bnRh
eC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vd2luY2Fpcm8vc3ZnL2N1c3RvbS92
aWV3Ym94LXN5bnRheC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vd3BlL3N2Zy9j
dXN0b20vcHJlc2VydmUtYXNwZWN0LXJhdGlvLXN5bnRheC1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogcGxhdGZvcm0vd3BlL3N2Zy9jdXN0b20vdmlld2JveC1zeW50YXgtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHBsYXRmb3JtL3dwZS9zdmcvaGl4aWUvZXJyb3IvMDEwLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBwbGF0Zm9ybS93cGUvc3ZnL2hpeGllL2Vycm9yLzAxMS1leHBlY3RlZC50eHQ6
CisgICAgICAgIFJlcGxhY2UgdGhlIHBhcnNpbmcgd2FybmluZyBtZXNzYWdlcyBieSBlcnJvciBt
ZXNzYWdlcy4gUmVwb3J0IGVycm9yCisgICAgICAgIG1lc3NhZ2VzIGlmIGEgU1ZHUHJlc2VydmVB
c3BlY3RSYXRpbyBwYXJzaW5nIGVycm9yIGhhcHBlbnMuCisKKyAgICAgICAgKiBzdmcvZG9tL2xl
bmd0aC1saXN0LXBhcnNlci1leHBlY3RlZC50eHQ6CisgICAgICAgIFNWR0xlbmd0aExpc3Qgd2Fz
IHRyZWF0aW5nIHRoZSBsZWFkaW5nIHNwYWNlcyBpbiB0aGUgYXR0cmlidXRlIHZhbHVlIGFzCisg
ICAgICAgIGFuIGVycm9yLgorCisgICAgICAgICogc3ZnL2RvbS92aWV3c3BlYy1wYXJzZXItMS1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogc3ZnL2RvbS92aWV3c3BlYy1wYXJzZXItMS5odG1sOgor
ICAgICAgICBFeHRyYSB0ZXh0IGF0IHRoZSBlbmQgb2Ygc3ZnVmlldyBhdHRyaWJ1dGUgdmFsdWUg
d2FzIG5vdCB0cmVhdGVkIGFzIGFuCisgICAgICAgIGVycm9yLgorCisgICAgICAgICogc3ZnL2hp
eGllL2Vycm9yLzAxMC1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3ZnL2hpeGllL2Vycm9yLzAx
MS1leHBlY3RlZC50eHQ6CisgICAgICAgIFJlcGxhY2UgdGhlIHBhcnNpbmcgd2FybmluZyBtZXNz
YWdlcyBieSBlcnJvciBtZXNzYWdlcy4KKwogMjAxOS0wNi0wOCAgQ2F0aGllIENoZW4gIDxjYXRo
aWVjaGVuQGlnYWxpYS5jb20+CiAKICAgICAgICAgcmVzaXplLW9ic2VydmVyL2VsZW1lbnQtbGVh
ay5odG1sIGZhaWxzIG9uIFdpbmRvd3MgcGxhdGZvcm0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nCmluZGV4IGYxY2I5MDM4OWE4ODM4NGJkMGU1ZjAzNDFmMDI4Y2M3MWUzM2VjZDUuLjQ5MzZi
ZTVkNzcyMzNlODI2YmFiMmQ1MWQxZmYzYmYwZjQ1YTRlMDggMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE5LTA2LTA4ICBTYWlkIEFib3UtSGFsbGF3
YSAgPHNhaWRAYXBwbGUuY29tPgorCisgICAgICAgIFVuaWZ5IHRoZSBwYXJzaW5nIG9mIFNWR0xp
c3Qgc3VwZXIgY2xhc3NlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTk4MDczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zeW50YXgvcGFyc2luZy9odG1sNWxp
Yl90ZXN0czExLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgUmVwb3J0IGVycm9yIG1lc3NhZ2VzIGlm
IGEgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbyBvciBTVkdab29tQW5kUGFuIHBhcnNpbmcKKyAgICAg
ICAgZXJyb3IgaGFwcGVucy4KKworMjAxOS0wNS0yMCAgU2FpZCBBYm91LUhhbGxhd2EgIDxzYWJv
dWhhbGxhd2FAYXBwbGUuY29tPgorCisgICAgICAgIFVuaWZ5IHRoZSBwYXJzaW5nIG9mIFNWR0xp
c3Qgc3VwZXIgY2xhc3NlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTk3ODMxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zeW50YXgvcGFyc2luZy9odG1sNWxp
Yl90ZXN0czExLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgUmVwb3J0IGVycm9yIG1lc3NhZ2VzIGlm
IGEgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbyBvciBTVkdab29tQW5kUGFuIHBhcnNpbmcKKyAgICAg
ICAgZXJyb3IgaGFwcGVucy4KKwogMjAxOS0wNi0wNyAgSm9vbmdodW4gUGFyayAgPGpoNzE4LnBh
cmtAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgSW1wbGVtZW50IHRhYi1zaXplIHdpdGggdW5pdHMK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0bWw1bGliL2dlbmVyYXRlZC9ydW4tdGVzdHMxMS1k
YXRhLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0bWw1bGliL2dlbmVyYXRlZC9ydW4tdGVz
dHMxMS1kYXRhLWV4cGVjdGVkLnR4dAppbmRleCAxNzZiNWMwN2M3OGIxZTEwMDYzNTcwZTVlNjUy
MDI1ODZkZTgwNGE4Li40ZTRmYmMwMjBkYmQ0NWNhMzAyOGE1ZTk1ZmExZGFiYzcwNWY5MDBjIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odG1sNWxpYi9nZW5lcmF0ZWQvcnVuLXRlc3RzMTEtZGF0
YS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHRtbDVsaWIvZ2VuZXJhdGVkL3J1bi10
ZXN0czExLWRhdGEtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsMTAgQEAKLUNPTlNPTEUgTUVTU0FH
RTogbGluZSAxOiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0JveD0iIgotQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDE6IFdhcm5pbmc6IFByb2JsZW0gcGFyc2luZyB2aWV3Qm94PSIiCi1DT05T
T0xFIE1FU1NBR0U6IGxpbmUgMTogV2FybmluZzogUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9IiIK
K0NPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4g
YXR0cmlidXRlIHByZXNlcnZlQXNwZWN0UmF0aW89IiIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAx
OiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IiIKK0NP
TlNPTEUgTUVTU0FHRTogbGluZSAxOiBFcnJvcjogVW5yZWNvZ25pemVkIGVudW1lcmF0ZWQgdmFs
dWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB6b29tQW5kUGFuPSIiCitDT05TT0xFIE1FU1NBR0U6IGxp
bmUgMTogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSBwcmVzZXJ2ZUFz
cGVjdFJhdGlvPSIiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogRXJyb3I6IEludmFsaWQgdmFs
dWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUg
MTogRXJyb3I6IFVucmVjb2duaXplZCBlbnVtZXJhdGVkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1
dGUgem9vbUFuZFBhbj0iIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IEVycm9yOiBJbnZhbGlk
IHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgcHJlc2VydmVBc3BlY3RSYXRpbz0iIgorQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDE6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1
dGUgdmlld0JveD0iIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IEVycm9yOiBVbnJlY29nbml6
ZWQgZW51bWVyYXRlZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHpvb21BbmRQYW49IiIKIC4u
L3Jlc291cmNlcy90ZXN0czExLmRhdDogUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHRt
bDVsaWIvZ2VuZXJhdGVkL3J1bi10ZXN0czExLXdyaXRlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2h0bWw1bGliL2dlbmVyYXRlZC9ydW4tdGVzdHMxMS13cml0ZS1leHBlY3RlZC50eHQKaW5k
ZXggOWFjNjgyYWU5MmQ3ZGNkMTRiYmM5YWNjOThlYjM2Yjg0YjY1ZWVjYy4uYTg5MzA5Y2IzMjI2
NDUwNzllZWFhOWIwYjU2MWMwZDMyMDQyM2M5MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHRt
bDVsaWIvZ2VuZXJhdGVkL3J1bi10ZXN0czExLXdyaXRlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9odG1sNWxpYi9nZW5lcmF0ZWQvcnVuLXRlc3RzMTEtd3JpdGUtZXhwZWN0ZWQudHh0
CkBAIC0xLDQgKzEsMTAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxNjg6IFdhcm5pbmc6IFBy
b2JsZW0gcGFyc2luZyB2aWV3Qm94PSIiCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTY4OiBXYXJu
aW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0JveD0iIgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE2
ODogV2FybmluZzogUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9IiIKK0NPTlNPTEUgTUVTU0FHRTog
bGluZSAxNjg6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgcHJlc2Vy
dmVBc3BlY3RSYXRpbz0iIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE2ODogRXJyb3I6IEludmFs
aWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIiCitDT05TT0xFIE1FU1NBR0U6
IGxpbmUgMTY4OiBFcnJvcjogVW5yZWNvZ25pemVkIGVudW1lcmF0ZWQgdmFsdWUgZm9yIDxzdmc+
IGF0dHJpYnV0ZSB6b29tQW5kUGFuPSIiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTY4OiBFcnJv
cjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHByZXNlcnZlQXNwZWN0UmF0aW89
IiIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxNjg6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8
c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE2ODogRXJy
b3I6IFVucmVjb2duaXplZCBlbnVtZXJhdGVkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgem9v
bUFuZFBhbj0iIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE2ODogRXJyb3I6IEludmFsaWQgdmFs
dWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSIiCitDT05TT0xFIE1F
U1NBR0U6IGxpbmUgMTY4OiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRl
IHZpZXdCb3g9IiIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxNjg6IEVycm9yOiBVbnJlY29nbml6
ZWQgZW51bWVyYXRlZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHpvb21BbmRQYW49IiIKIC4u
L3Jlc291cmNlcy90ZXN0czExLmRhdDogUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3N5bnRheC9wYXJzaW5nL2h0bWw1bGli
X3Rlc3RzMTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL3N5bnRheC9wYXJzaW5nL2h0bWw1bGliX3Rlc3RzMTEtZXhwZWN0ZWQu
dHh0CmluZGV4IDVmMzBmYzhkMDQyYzczM2U0OTU4NmJjOWU4ZWM2Y2Y5NjkxNWM4ZWYuLmFlOTA3
MjgyOGJkMzZhZmYyZWE3ZmNjNjJkYzUxNzkxZTNhOTI0NmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zeW50YXgvcGFyc2luZy9o
dG1sNWxpYl90ZXN0czExLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc3ludGF4L3BhcnNpbmcvaHRtbDVsaWJfdGVzdHMx
MS1leHBlY3RlZC50eHQKQEAgLTEsNiArMSwxMiBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6
IFdhcm5pbmc6IFByb2JsZW0gcGFyc2luZyB2aWV3Qm94PSIiCi1DT05TT0xFIE1FU1NBR0U6IGxp
bmUgMTogV2FybmluZzogUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9IiIKLUNPTlNPTEUgTUVTU0FH
RTogbGluZSAxOiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0JveD0iIgorQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDE6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUg
cHJlc2VydmVBc3BlY3RSYXRpbz0iIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IEVycm9yOiBJ
bnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iIgorQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDE6IEVycm9yOiBVbnJlY29nbml6ZWQgZW51bWVyYXRlZCB2YWx1ZSBmb3IgPHN2
Zz4gYXR0cmlidXRlIHpvb21BbmRQYW49IiIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBFcnJv
cjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHByZXNlcnZlQXNwZWN0UmF0aW89
IiIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2
Zz4gYXR0cmlidXRlIHZpZXdCb3g9IiIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBFcnJvcjog
VW5yZWNvZ25pemVkIGVudW1lcmF0ZWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB6b29tQW5k
UGFuPSIiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9y
IDxzdmc+IGF0dHJpYnV0ZSBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSIiCitDT05TT0xFIE1FU1NBR0U6
IGxpbmUgMTogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94
PSIiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogRXJyb3I6IFVucmVjb2duaXplZCBlbnVtZXJh
dGVkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgem9vbUFuZFBhbj0iIgogaHRtbDVsaWIgUGFy
c2VyIFRlc3QKIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvc3ZnL2N1
c3RvbS9wcmVzZXJ2ZS1hc3BlY3QtcmF0aW8tc3ludGF4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2d0ay9zdmcvY3VzdG9tL3ByZXNlcnZlLWFzcGVjdC1yYXRpby1zeW50YXgt
ZXhwZWN0ZWQudHh0CmluZGV4IGQ5NjRjNWU3ZDY1NTZhNjhlNThlNGMxZWI0ZWI0N2I4NTc5MGIy
YjMuLjQxNTA4YWUxOTQ5YWYwODcxM2M5YTNjMTk1NWU2ZTJjMWIzMzgzZTQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9zdmcvY3VzdG9tL3ByZXNlcnZlLWFzcGVjdC1yYXRp
by1zeW50YXgtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9zdmcv
Y3VzdG9tL3ByZXNlcnZlLWFzcGVjdC1yYXRpby1zeW50YXgtZXhwZWN0ZWQudHh0CkBAIC0xLDMg
KzEsOCBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIzOiBFcnJvcjogSW52YWxpZCB2YWx1ZSBm
b3IgPHN2Zz4gYXR0cmlidXRlIHByZXNlcnZlQXNwZWN0UmF0aW89ImRlZmVyIG1lZXQiCitDT05T
T0xFIE1FU1NBR0U6IGxpbmUgMjY6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRy
aWJ1dGUgcHJlc2VydmVBc3BlY3RSYXRpbz0iZGVmZXIgeE1pZFlNaWQgbWVldCBhIgorQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDI5OiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmli
dXRlIHByZXNlcnZlQXNwZWN0UmF0aW89ImRlZmVyIDEgeE1pZFlNaWQgbWVldCIKK0NPTlNPTEUg
TUVTU0FHRTogbGluZSAzMjogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0
ZSBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJkZWZlciAsIHhNaWRZTWlkIG1lZXQiCitDT05TT0xFIE1F
U1NBR0U6IGxpbmUgMzU6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUg
cHJlc2VydmVBc3BlY3RSYXRpbz0iIgogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJl
bmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9zdmcvY3VzdG9tL3ZpZXdi
b3gtc3ludGF4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9zdmcvY3Vz
dG9tL3ZpZXdib3gtc3ludGF4LWV4cGVjdGVkLnR4dAppbmRleCBlMGRkZWY1MzY3N2JkMWQzYjBi
ZmEyNWFhYWE0NGI0YjBkOWZiOTVlLi40YmZiZWIyYzdiMjc5YTJiZGQyM2M4MzMwMTVkMWFkYTgz
YjllZmYwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvc3ZnL2N1c3RvbS92
aWV3Ym94LXN5bnRheC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3Rr
L3N2Zy9jdXN0b20vdmlld2JveC1zeW50YXgtZXhwZWN0ZWQudHh0CkBAIC0xLDEzICsxLDEzIEBA
Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjA6IFdhcm5pbmc6IFByb2JsZW0gcGFyc2luZyB2aWV3
Qm94PSIwIgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIzOiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNp
bmcgdmlld0JveD0iMCAwIgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI2OiBXYXJuaW5nOiBQcm9i
bGVtIHBhcnNpbmcgdmlld0JveD0iMCAwIDMwIgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI5OiBX
YXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0JveD0iMCAwIDMwIDQwIDUwIgotQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDMyOiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0JveD0iMCAwIDMw
IDQwLCIKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAzNTogV2FybmluZzogUHJvYmxlbSBwYXJzaW5n
IHZpZXdCb3g9IiwwIDAgMzAgNDAiCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMzg6IEVycm9yOiBB
IG5lZ2F0aXZlIHZhbHVlIGZvciBWaWV3Qm94IHdpZHRoIGlzIG5vdCBhbGxvd2VkCi1DT05TT0xF
IE1FU1NBR0U6IGxpbmUgNDE6IEVycm9yOiBBIG5lZ2F0aXZlIHZhbHVlIGZvciBWaWV3Qm94IGhl
aWdodCBpcyBub3QgYWxsb3dlZAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQ0OiBXYXJuaW5nOiBQ
cm9ibGVtIHBhcnNpbmcgdmlld0JveD0iMCAwIDMwLCAsIDQwIgotQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDQ3OiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0JveD0iMCAwIDMwJSA0MCIKK0NP
TlNPTEUgTUVTU0FHRTogbGluZSAyMDogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0
dHJpYnV0ZSB2aWV3Qm94PSIwIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIzOiBFcnJvcjogSW52
YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAgMCIKK0NPTlNPTEUgTUVT
U0FHRTogbGluZSAyNjogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2
aWV3Qm94PSIwIDAgMzAiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjk6IEVycm9yOiBJbnZhbGlk
IHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iMCAwIDMwIDQwIDUwIgorQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDMyOiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmli
dXRlIHZpZXdCb3g9IjAgMCAzMCA0MCwiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzU6IEVycm9y
OiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iLDAgMCAzMCA0MCIK
K0NPTlNPTEUgTUVTU0FHRTogbGluZSAzODogRXJyb3I6IEludmFsaWQgbmVnYXRpdmUgdmFsdWUg
Zm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIwIDAgLTMwIDQwIgorQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDQxOiBFcnJvcjogSW52YWxpZCBuZWdhdGl2ZSB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmli
dXRlIHZpZXdCb3g9IjAgMCAzMCAtNDAiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNDQ6IEVycm9y
OiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iMCAwIDMwLCAsIDQw
IgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQ3OiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2
Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAgMCAzMCUgNDAiCiBsYXllciBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKIGxheWVyIGF0ICgwLDAp
IHNpemUgODAweDYwMApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL3N2Zy9o
aXhpZS9lcnJvci8wMTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL3N2
Zy9oaXhpZS9lcnJvci8wMTAtZXhwZWN0ZWQudHh0CmluZGV4IGI3YWQ0Zjk2N2QxYzAxM2M3ODAw
ZjdhMGI0NmJkMWZhNzBkNDk0ZDguLmRkMjA3MDUzOWUxNmQ5ZTgzZjEzMjVjOTBjODgwYWY4ZmY3
NzU5NWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9zdmcvaGl4aWUvZXJy
b3IvMDEwLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvc3ZnL2hp
eGllL2Vycm9yLzAxMC1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACi1DT05TT0xFIE1FU1NB
R0U6IGxpbmUgMTogV2FybmluZzogUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9IjAgMCAxIDEgMSIK
K0NPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4g
YXR0cmlidXRlIHZpZXdCb3g9IjAgMCAxIDEgMSIKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYw
MAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvc3ZnL2hpeGll
L2Vycm9yLzAxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvc3ZnL2hp
eGllL2Vycm9yLzAxMS1leHBlY3RlZC50eHQKaW5kZXggYTVkOGJlNzg0NmFhODRkNThiNDczYjg1
MTg5NWE5NWRiOTBjNGRlNy4uOWQwOWZjNjgxNmU5NDE1ZWNlNjI0OWQ2ZmQyNmIzNjdkYmU2MDk3
YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL3N2Zy9oaXhpZS9lcnJvci8w
MTEtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9zdmcvaGl4aWUv
ZXJyb3IvMDExLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKLUNPTlNPTEUgTUVTU0FHRTog
bGluZSAxOiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0JveD0iMCAwLCwgMSAxIgorQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDE6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRy
aWJ1dGUgdmlld0JveD0iMCAwLCwgMSAxIgogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAg
IFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiBsYXllciBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9zdmcvY3VzdG9tL3By
ZXNlcnZlLWFzcGVjdC1yYXRpby1zeW50YXgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vaW9zL3N2Zy9jdXN0b20vcHJlc2VydmUtYXNwZWN0LXJhdGlvLXN5bnRheC1leHBlY3Rl
ZC50eHQKaW5kZXggNzM3OGEzN2JhYjgzMWNiZDQ4YzFhNzg3NDVhN2EyMmZkNWQwYTk0Yi4uZTIz
N2FiM2E5ZDFlMTE4YzcwYWE1MzZjY2E0ODc0NjBkZDdmMjY5MCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vaW9zL3N2Zy9jdXN0b20vcHJlc2VydmUtYXNwZWN0LXJhdGlvLXN5bnRh
eC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL3N2Zy9jdXN0b20v
cHJlc2VydmUtYXNwZWN0LXJhdGlvLXN5bnRheC1leHBlY3RlZC50eHQKQEAgLTEsMyArMSw4IEBA
CitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjM6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3Zn
PiBhdHRyaWJ1dGUgcHJlc2VydmVBc3BlY3RSYXRpbz0iZGVmZXIgbWVldCIKK0NPTlNPTEUgTUVT
U0FHRTogbGluZSAyNjogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSBw
cmVzZXJ2ZUFzcGVjdFJhdGlvPSJkZWZlciB4TWlkWU1pZCBtZWV0IGEiCitDT05TT0xFIE1FU1NB
R0U6IGxpbmUgMjk6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgcHJl
c2VydmVBc3BlY3RSYXRpbz0iZGVmZXIgMSB4TWlkWU1pZCBtZWV0IgorQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDMyOiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHByZXNl
cnZlQXNwZWN0UmF0aW89ImRlZmVyICwgeE1pZFlNaWQgbWVldCIKK0NPTlNPTEUgTUVTU0FHRTog
bGluZSAzNTogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSBwcmVzZXJ2
ZUFzcGVjdFJhdGlvPSIiCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmll
dyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL3N2Zy9jdXN0b20vdmlld2JveC1zeW50
YXgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL3N2Zy9jdXN0b20vdmll
d2JveC1zeW50YXgtZXhwZWN0ZWQudHh0CmluZGV4IGM5YjFhMjVhY2YyMWNhOTAwNTdkY2MzYTc0
OGIzYjllZmU1MDJkYTkuLjkzYWU1YTMzYjI4NGNlM2ZmYmI1OGZiZGZkMTI1NjZjNDU4MWE1NWYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9zdmcvY3VzdG9tL3ZpZXdib3gt
c3ludGF4LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mvc3ZnL2N1
c3RvbS92aWV3Ym94LXN5bnRheC1leHBlY3RlZC50eHQKQEAgLTEsMTMgKzEsMTMgQEAKLUNPTlNP
TEUgTUVTU0FHRTogbGluZSAyMDogV2FybmluZzogUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9IjAi
Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjM6IFdhcm5pbmc6IFByb2JsZW0gcGFyc2luZyB2aWV3
Qm94PSIwIDAiCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjY6IFdhcm5pbmc6IFByb2JsZW0gcGFy
c2luZyB2aWV3Qm94PSIwIDAgMzAiCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjk6IFdhcm5pbmc6
IFByb2JsZW0gcGFyc2luZyB2aWV3Qm94PSIwIDAgMzAgNDAgNTAiCi1DT05TT0xFIE1FU1NBR0U6
IGxpbmUgMzI6IFdhcm5pbmc6IFByb2JsZW0gcGFyc2luZyB2aWV3Qm94PSIwIDAgMzAgNDAsIgot
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDM1OiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0Jv
eD0iLDAgMCAzMCA0MCIKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAzODogRXJyb3I6IEEgbmVnYXRp
dmUgdmFsdWUgZm9yIFZpZXdCb3ggd2lkdGggaXMgbm90IGFsbG93ZWQKLUNPTlNPTEUgTUVTU0FH
RTogbGluZSA0MTogRXJyb3I6IEEgbmVnYXRpdmUgdmFsdWUgZm9yIFZpZXdCb3ggaGVpZ2h0IGlz
IG5vdCBhbGxvd2VkCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNDQ6IFdhcm5pbmc6IFByb2JsZW0g
cGFyc2luZyB2aWV3Qm94PSIwIDAgMzAsICwgNDAiCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNDc6
IFdhcm5pbmc6IFByb2JsZW0gcGFyc2luZyB2aWV3Qm94PSIwIDAgMzAlIDQwIgorQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDIwOiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRl
IHZpZXdCb3g9IjAiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjM6IEVycm9yOiBJbnZhbGlkIHZh
bHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iMCAwIgorQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDI2OiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9
IjAgMCAzMCIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyOTogRXJyb3I6IEludmFsaWQgdmFsdWUg
Zm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIwIDAgMzAgNDAgNTAiCitDT05TT0xFIE1FU1NB
R0U6IGxpbmUgMzI6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmll
d0JveD0iMCAwIDMwIDQwLCIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAzNTogRXJyb3I6IEludmFs
aWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIsMCAwIDMwIDQwIgorQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDM4OiBFcnJvcjogSW52YWxpZCBuZWdhdGl2ZSB2YWx1ZSBmb3IgPHN2
Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAgMCAtMzAgNDAiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUg
NDE6IEVycm9yOiBJbnZhbGlkIG5lZ2F0aXZlIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmll
d0JveD0iMCAwIDMwIC00MCIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA0NDogRXJyb3I6IEludmFs
aWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIwIDAgMzAsICwgNDAiCitDT05T
T0xFIE1FU1NBR0U6IGxpbmUgNDc6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRy
aWJ1dGUgdmlld0JveD0iMCAwIDMwJSA0MCIKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAog
ICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mvc3ZnL2hpeGllL2Vy
cm9yLzAxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mvc3ZnL2hpeGll
L2Vycm9yLzAxMC1leHBlY3RlZC50eHQKaW5kZXggOTJiY2MzOWZhNzM0OGNiMzUwMGI5MTUzOGNk
NzkyYWZiZDRlM2E0OS4uNDU4YWM0MGNlYmVhZmUzZjg1ODJhOTFkNTZjMzJhNjE0OTI0N2NlNiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL3N2Zy9oaXhpZS9lcnJvci8wMTAt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9zdmcvaGl4aWUvZXJy
b3IvMDEwLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGlu
ZSAxOiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0JveD0iMCAwIDEgMSAxIgorQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDE6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1
dGUgdmlld0JveD0iMCAwIDEgMSAxIgogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJl
bmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9zdmcvaGl4aWUvZXJyb3Iv
MDExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9zdmcvaGl4aWUvZXJy
b3IvMDExLWV4cGVjdGVkLnR4dAppbmRleCBmYmY0OGMwYTM1NDkwZjMyNDgxOWJlMGM3ODczZWZh
NjA3ZDhkNGEyLi43NmRmNTZmZmFmY2Q1MTBhY2IyN2JkZDc5MGJlYzIzNzFjMWQ1MDRkIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mvc3ZnL2hpeGllL2Vycm9yLzAxMS1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL3N2Zy9oaXhpZS9lcnJvci8w
MTEtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6
IFdhcm5pbmc6IFByb2JsZW0gcGFyc2luZyB2aWV3Qm94PSIwIDAsLCAxIDEiCitDT05TT0xFIE1F
U1NBR0U6IGxpbmUgMTogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2
aWV3Qm94PSIwIDAsLCAxIDEiCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVy
VmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vcHJlc2VydmUt
YXNwZWN0LXJhdGlvLXN5bnRheC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvc3ZnL2N1c3RvbS9wcmVzZXJ2ZS1hc3BlY3QtcmF0aW8tc3ludGF4LWV4cGVjdGVkLnR4dApp
bmRleCA0YTFmMzRhN2NjMTEyYjZjMjc0YmNiMDA0ZWRiZWZjMTE3YWVhOTk4Li5hYzkxZjk2MThm
MWFiYjA2MTMzNDNhYzYyMDBjNDFlMDNkNGZmNTFkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9wcmVzZXJ2ZS1hc3BlY3QtcmF0aW8tc3ludGF4LWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9wcmVzZXJ2
ZS1hc3BlY3QtcmF0aW8tc3ludGF4LWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDggQEAKK0NPTlNP
TEUgTUVTU0FHRTogbGluZSAyMzogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJp
YnV0ZSBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJkZWZlciBtZWV0IgorQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDI2OiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHByZXNlcnZl
QXNwZWN0UmF0aW89ImRlZmVyIHhNaWRZTWlkIG1lZXQgYSIKK0NPTlNPTEUgTUVTU0FHRTogbGlu
ZSAyOTogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSBwcmVzZXJ2ZUFz
cGVjdFJhdGlvPSJkZWZlciAxIHhNaWRZTWlkIG1lZXQiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUg
MzI6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgcHJlc2VydmVBc3Bl
Y3RSYXRpbz0iZGVmZXIgLCB4TWlkWU1pZCBtZWV0IgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDM1
OiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHByZXNlcnZlQXNwZWN0
UmF0aW89IiIKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgw
LDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS92aWV3Ym94LXN5bnRheC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS92aWV3Ym94LXN5
bnRheC1leHBlY3RlZC50eHQKaW5kZXggODk5YWZjZWY3M2JlNjg0MTk3OTA4YWNiNWQ4YWJjY2Uw
MzgwYThjMC4uMmJjYmY4ZTY1MzQyOGNmMWZjM2U5OTEyYmYyNWEzY2FkMDQ2OWFkMiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vdmlld2JveC1zeW50YXgt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL3Zp
ZXdib3gtc3ludGF4LWV4cGVjdGVkLnR4dApAQCAtMSwxMyArMSwxMyBAQAotQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDIwOiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0JveD0iMCIKLUNPTlNP
TEUgTUVTU0FHRTogbGluZSAyMzogV2FybmluZzogUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9IjAg
MCIKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAyNjogV2FybmluZzogUHJvYmxlbSBwYXJzaW5nIHZp
ZXdCb3g9IjAgMCAzMCIKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAyOTogV2FybmluZzogUHJvYmxl
bSBwYXJzaW5nIHZpZXdCb3g9IjAgMCAzMCA0MCA1MCIKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAz
MjogV2FybmluZzogUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9IjAgMCAzMCA0MCwiCi1DT05TT0xF
IE1FU1NBR0U6IGxpbmUgMzU6IFdhcm5pbmc6IFByb2JsZW0gcGFyc2luZyB2aWV3Qm94PSIsMCAw
IDMwIDQwIgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDM4OiBFcnJvcjogQSBuZWdhdGl2ZSB2YWx1
ZSBmb3IgVmlld0JveCB3aWR0aCBpcyBub3QgYWxsb3dlZAotQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDQxOiBFcnJvcjogQSBuZWdhdGl2ZSB2YWx1ZSBmb3IgVmlld0JveCBoZWlnaHQgaXMgbm90IGFs
bG93ZWQKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA0NDogV2FybmluZzogUHJvYmxlbSBwYXJzaW5n
IHZpZXdCb3g9IjAgMCAzMCwgLCA0MCIKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA0NzogV2Fybmlu
ZzogUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9IjAgMCAzMCUgNDAiCitDT05TT0xFIE1FU1NBR0U6
IGxpbmUgMjA6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0Jv
eD0iMCIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyMzogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9y
IDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIwIDAiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjY6
IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iMCAwIDMw
IgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI5OiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2
Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAgMCAzMCA0MCA1MCIKK0NPTlNPTEUgTUVTU0FHRTogbGlu
ZSAzMjogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIw
IDAgMzAgNDAsIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDM1OiBFcnJvcjogSW52YWxpZCB2YWx1
ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IiwwIDAgMzAgNDAiCitDT05TT0xFIE1FU1NB
R0U6IGxpbmUgMzg6IEVycm9yOiBJbnZhbGlkIG5lZ2F0aXZlIHZhbHVlIGZvciA8c3ZnPiBhdHRy
aWJ1dGUgdmlld0JveD0iMCAwIC0zMCA0MCIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA0MTogRXJy
b3I6IEludmFsaWQgbmVnYXRpdmUgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIw
IDAgMzAgLTQwIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQ0OiBFcnJvcjogSW52YWxpZCB2YWx1
ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAgMCAzMCwgLCA0MCIKK0NPTlNPTEUgTUVT
U0FHRTogbGluZSA0NzogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2
aWV3Qm94PSIwIDAgMzAlIDQwIgogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRl
clZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvaGl4aWUvZXJyb3IvMDEw
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvaGl4aWUvZXJyb3Iv
MDEwLWV4cGVjdGVkLnR4dAppbmRleCA5MmJjYzM5ZmE3MzQ4Y2IzNTAwYjkxNTM4Y2Q3OTJhZmJk
NGUzYTQ5Li40NThhYzQwY2ViZWFmZTNmODU4MmE5MWQ1NmMzMmE2MTQ5MjQ3Y2U2IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2hpeGllL2Vycm9yLzAxMC1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9oaXhpZS9lcnJvci8wMTAt
ZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IFdh
cm5pbmc6IFByb2JsZW0gcGFyc2luZyB2aWV3Qm94PSIwIDAgMSAxIDEiCitDT05TT0xFIE1FU1NB
R0U6IGxpbmUgMTogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3
Qm94PSIwIDAgMSAxIDEiCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmll
dyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9oaXhpZS9lcnJvci8wMTEtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9oaXhpZS9lcnJvci8wMTEt
ZXhwZWN0ZWQudHh0CmluZGV4IGZiZjQ4YzBhMzU0OTBmMzI0ODE5YmUwYzc4NzNlZmE2MDdkOGQ0
YTIuLjc2ZGY1NmZmYWZjZDUxMGFjYjI3YmRkNzkwYmVjMjM3MWMxZDUwNGQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvaGl4aWUvZXJyb3IvMDExLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2hpeGllL2Vycm9yLzAxMS1leHBl
Y3RlZC50eHQKQEAgLTEsNCArMSw0IEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogV2Fybmlu
ZzogUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9IjAgMCwsIDEgMSIKK0NPTlNPTEUgTUVTU0FHRTog
bGluZSAxOiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9
IjAgMCwsIDEgMSIKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0
ICgwLDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vc3ZnL2N1c3RvbS9wcmVzZXJ2ZS1hc3BlY3Qt
cmF0aW8tc3ludGF4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9zdmcv
Y3VzdG9tL3ByZXNlcnZlLWFzcGVjdC1yYXRpby1zeW50YXgtZXhwZWN0ZWQudHh0CmluZGV4IGQ2
ZDEwNTcyNjg5ODY3ZDNlMWRjMjk4ZTU3M2M2MzY3YjJiYzA0OTQuLjE5MWYzZTYzNWYxODk5MDE4
OTdlN2JkMjYwYmYyMGI0ZmRhYmU0MzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L3dpbi9zdmcvY3VzdG9tL3ByZXNlcnZlLWFzcGVjdC1yYXRpby1zeW50YXgtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9zdmcvY3VzdG9tL3ByZXNlcnZlLWFzcGVj
dC1yYXRpby1zeW50YXgtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsOCBAQAorQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDIzOiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHBy
ZXNlcnZlQXNwZWN0UmF0aW89ImRlZmVyIG1lZXQiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjY6
IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgcHJlc2VydmVBc3BlY3RS
YXRpbz0iZGVmZXIgeE1pZFlNaWQgbWVldCBhIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI5OiBF
cnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHByZXNlcnZlQXNwZWN0UmF0
aW89ImRlZmVyIDEgeE1pZFlNaWQgbWVldCIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAzMjogRXJy
b3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSBwcmVzZXJ2ZUFzcGVjdFJhdGlv
PSJkZWZlciAsIHhNaWRZTWlkIG1lZXQiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzU6IEVycm9y
OiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgcHJlc2VydmVBc3BlY3RSYXRpbz0i
IgogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL3dpbi9zdmcvY3VzdG9tL3ZpZXdib3gtc3ludGF4LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9zdmcvY3VzdG9tL3ZpZXdib3gtc3ludGF4LWV4
cGVjdGVkLnR4dAppbmRleCA2MjZjZDZhOTQ2YTI1OWE2OWI5NGJkOTAzMGUzMmUxYTI2NDdkYTQ3
Li5mOTk0MTc4ZjhkY2U3OGYxYTc0YWYzOWUwNGQ3ZjMzYTZmODJlYzMyIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vc3ZnL2N1c3RvbS92aWV3Ym94LXN5bnRheC1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL3N2Zy9jdXN0b20vdmlld2JveC1z
eW50YXgtZXhwZWN0ZWQudHh0CkBAIC0xLDEzICsxLDEzIEBACi1DT05TT0xFIE1FU1NBR0U6IGxp
bmUgMjA6IFdhcm5pbmc6IFByb2JsZW0gcGFyc2luZyB2aWV3Qm94PSIwIgotQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDIzOiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0JveD0iMCAwIgotQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDI2OiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0JveD0i
MCAwIDMwIgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI5OiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNp
bmcgdmlld0JveD0iMCAwIDMwIDQwIDUwIgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDMyOiBXYXJu
aW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0JveD0iMCAwIDMwIDQwLCIKLUNPTlNPTEUgTUVTU0FH
RTogbGluZSAzNTogV2FybmluZzogUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9IiwwIDAgMzAgNDAi
Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMzg6IEVycm9yOiBBIG5lZ2F0aXZlIHZhbHVlIGZvciBW
aWV3Qm94IHdpZHRoIGlzIG5vdCBhbGxvd2VkCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNDE6IEVy
cm9yOiBBIG5lZ2F0aXZlIHZhbHVlIGZvciBWaWV3Qm94IGhlaWdodCBpcyBub3QgYWxsb3dlZAot
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDQ0OiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0Jv
eD0iMCAwIDMwLCAsIDQwIgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQ3OiBXYXJuaW5nOiBQcm9i
bGVtIHBhcnNpbmcgdmlld0JveD0iMCAwIDMwJSA0MCIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAy
MDogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIwIgor
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDIzOiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4g
YXR0cmlidXRlIHZpZXdCb3g9IjAgMCIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyNjogRXJyb3I6
IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIwIDAgMzAiCitDT05T
T0xFIE1FU1NBR0U6IGxpbmUgMjk6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRy
aWJ1dGUgdmlld0JveD0iMCAwIDMwIDQwIDUwIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDMyOiBF
cnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAgMCAzMCA0
MCwiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzU6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8
c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iLDAgMCAzMCA0MCIKK0NPTlNPTEUgTUVTU0FHRTogbGlu
ZSAzODogRXJyb3I6IEludmFsaWQgbmVnYXRpdmUgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2
aWV3Qm94PSIwIDAgLTMwIDQwIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQxOiBFcnJvcjogSW52
YWxpZCBuZWdhdGl2ZSB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAgMCAzMCAt
NDAiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNDQ6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8
c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iMCAwIDMwLCAsIDQwIgorQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDQ3OiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9
IjAgMCAzMCUgNDAiCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL3N2Zy9oaXhpZS9lcnJvci8wMTAtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL3N2Zy9oaXhpZS9lcnJvci8wMTAtZXhw
ZWN0ZWQudHh0CmluZGV4IGI3YWQ0Zjk2N2QxYzAxM2M3ODAwZjdhMGI0NmJkMWZhNzBkNDk0ZDgu
LmRkMjA3MDUzOWUxNmQ5ZTgzZjEzMjVjOTBjODgwYWY4ZmY3NzU5NWMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3dpbi9zdmcvaGl4aWUvZXJyb3IvMDEwLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vc3ZnL2hpeGllL2Vycm9yLzAxMC1leHBlY3Rl
ZC50eHQKQEAgLTEsNCArMSw0IEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogV2FybmluZzog
UHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9IjAgMCAxIDEgMSIKK0NPTlNPTEUgTUVTU0FHRTogbGlu
ZSAxOiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAg
MCAxIDEgMSIKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgw
LDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vc3ZnL2hpeGllL2Vycm9yLzAxMS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vc3ZnL2hpeGllL2Vycm9yLzAxMS1leHBlY3Rl
ZC50eHQKaW5kZXggYTVkOGJlNzg0NmFhODRkNThiNDczYjg1MTg5NWE5NWRiOTBjNGRlNy4uOWQw
OWZjNjgxNmU5NDE1ZWNlNjI0OWQ2ZmQyNmIzNjdkYmU2MDk3YyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd2luL3N2Zy9oaXhpZS9lcnJvci8wMTEtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9zdmcvaGl4aWUvZXJyb3IvMDExLWV4cGVjdGVkLnR4
dApAQCAtMSw0ICsxLDQgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBXYXJuaW5nOiBQcm9i
bGVtIHBhcnNpbmcgdmlld0JveD0iMCAwLCwgMSAxIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6
IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iMCAwLCwg
MSAxIgogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL3N2Zy9jdXN0b20vcHJlc2VydmUtYXNwZWN0LXJh
dGlvLXN5bnRheC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9z
dmcvY3VzdG9tL3ByZXNlcnZlLWFzcGVjdC1yYXRpby1zeW50YXgtZXhwZWN0ZWQudHh0CmluZGV4
IDVmNjc3MDRjN2ExNGM3ZjlmMzZmOGU1ZGVmZjk5Y2Y1ZmE5ZWQ1MWMuLjNjZjE4NWExOGM5YTEw
ZDU5ZTlmMDk4NWYxZTIwNDMyN2JkZTM5ZDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL3dpbmNhaXJvL3N2Zy9jdXN0b20vcHJlc2VydmUtYXNwZWN0LXJhdGlvLXN5bnRheC1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vc3ZnL2N1c3RvbS9w
cmVzZXJ2ZS1hc3BlY3QtcmF0aW8tc3ludGF4LWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDggQEAK
K0NPTlNPTEUgTUVTU0FHRTogbGluZSAyMzogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+
IGF0dHJpYnV0ZSBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJkZWZlciBtZWV0IgorQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDI2OiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHBy
ZXNlcnZlQXNwZWN0UmF0aW89ImRlZmVyIHhNaWRZTWlkIG1lZXQgYSIKK0NPTlNPTEUgTUVTU0FH
RTogbGluZSAyOTogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSBwcmVz
ZXJ2ZUFzcGVjdFJhdGlvPSJkZWZlciAxIHhNaWRZTWlkIG1lZXQiCitDT05TT0xFIE1FU1NBR0U6
IGxpbmUgMzI6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgcHJlc2Vy
dmVBc3BlY3RSYXRpbz0iZGVmZXIgLCB4TWlkWU1pZCBtZWV0IgorQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDM1OiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHByZXNlcnZl
QXNwZWN0UmF0aW89IiIKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3
IGF0ICgwLDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9zdmcvY3VzdG9tL3ZpZXdib3gt
c3ludGF4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL3N2Zy9j
dXN0b20vdmlld2JveC1zeW50YXgtZXhwZWN0ZWQudHh0CmluZGV4IGQ4MTMyNWY4YWE3NGVmMGUz
MzEyNGI5Yzk5NDU5OTIwOWJkOWQwNGEuLjUxNjhjMDc1YzMwMzA5MGFkM2Y1ODIwNTM5ZDQ3OGI2
MThjYjRmZGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL3N2Zy9j
dXN0b20vdmlld2JveC1zeW50YXgtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL3dpbmNhaXJvL3N2Zy9jdXN0b20vdmlld2JveC1zeW50YXgtZXhwZWN0ZWQudHh0CkBAIC0x
LDEzICsxLDEzIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjA6IFdhcm5pbmc6IFByb2JsZW0g
cGFyc2luZyB2aWV3Qm94PSIwIgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIzOiBXYXJuaW5nOiBQ
cm9ibGVtIHBhcnNpbmcgdmlld0JveD0iMCAwIgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI2OiBX
YXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0JveD0iMCAwIDMwIgotQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDI5OiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0JveD0iMCAwIDMwIDQwIDUw
IgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDMyOiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmll
d0JveD0iMCAwIDMwIDQwLCIKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAzNTogV2FybmluZzogUHJv
YmxlbSBwYXJzaW5nIHZpZXdCb3g9IiwwIDAgMzAgNDAiCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUg
Mzg6IEVycm9yOiBBIG5lZ2F0aXZlIHZhbHVlIGZvciBWaWV3Qm94IHdpZHRoIGlzIG5vdCBhbGxv
d2VkCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNDE6IEVycm9yOiBBIG5lZ2F0aXZlIHZhbHVlIGZv
ciBWaWV3Qm94IGhlaWdodCBpcyBub3QgYWxsb3dlZAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQ0
OiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0JveD0iMCAwIDMwLCAsIDQwIgotQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDQ3OiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0JveD0iMCAw
IDMwJSA0MCIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyMDogRXJyb3I6IEludmFsaWQgdmFsdWUg
Zm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIwIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIz
OiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAgMCIK
K0NPTlNPTEUgTUVTU0FHRTogbGluZSAyNjogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+
IGF0dHJpYnV0ZSB2aWV3Qm94PSIwIDAgMzAiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjk6IEVy
cm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iMCAwIDMwIDQw
IDUwIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDMyOiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3Ig
PHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAgMCAzMCA0MCwiCitDT05TT0xFIE1FU1NBR0U6IGxp
bmUgMzU6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0i
LDAgMCAzMCA0MCIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAzODogRXJyb3I6IEludmFsaWQgbmVn
YXRpdmUgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIwIDAgLTMwIDQwIgorQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDQxOiBFcnJvcjogSW52YWxpZCBuZWdhdGl2ZSB2YWx1ZSBmb3Ig
PHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAgMCAzMCAtNDAiCitDT05TT0xFIE1FU1NBR0U6IGxp
bmUgNDQ6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0i
MCAwIDMwLCAsIDQwIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQ3OiBFcnJvcjogSW52YWxpZCB2
YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAgMCAzMCUgNDAiCiBsYXllciBhdCAo
MCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKIGxh
eWVyIGF0ICgwLDApIHNpemUgODAweDYwMApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vd3BlL3N2Zy9jdXN0b20vcHJlc2VydmUtYXNwZWN0LXJhdGlvLXN5bnRheC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvc3ZnL2N1c3RvbS9wcmVzZXJ2ZS1hc3BlY3Qt
cmF0aW8tc3ludGF4LWV4cGVjdGVkLnR4dAppbmRleCA5OWI3MDNkMzJmNWQ1MTI4NzgxYzFmYmYw
ZGU4OTE5ZTljYjhlODQ4Li5iMWJiNTVmNzQ5OGQ1ZTk2OTZjN2JlOTA2YzRmNjRmNWRmZjNlNzMz
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvc3ZnL2N1c3RvbS9wcmVzZXJ2
ZS1hc3BlY3QtcmF0aW8tc3ludGF4LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS93cGUvc3ZnL2N1c3RvbS9wcmVzZXJ2ZS1hc3BlY3QtcmF0aW8tc3ludGF4LWV4cGVjdGVk
LnR4dApAQCAtMSwzICsxLDggQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyMzogRXJyb3I6IElu
dmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJkZWZl
ciBtZWV0IgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI2OiBFcnJvcjogSW52YWxpZCB2YWx1ZSBm
b3IgPHN2Zz4gYXR0cmlidXRlIHByZXNlcnZlQXNwZWN0UmF0aW89ImRlZmVyIHhNaWRZTWlkIG1l
ZXQgYSIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyOTogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9y
IDxzdmc+IGF0dHJpYnV0ZSBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJkZWZlciAxIHhNaWRZTWlkIG1l
ZXQiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzI6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8
c3ZnPiBhdHRyaWJ1dGUgcHJlc2VydmVBc3BlY3RSYXRpbz0iZGVmZXIgLCB4TWlkWU1pZCBtZWV0
IgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDM1OiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2
Zz4gYXR0cmlidXRlIHByZXNlcnZlQXNwZWN0UmF0aW89IiIKIGxheWVyIGF0ICgwLDApIHNpemUg
ODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvc3Zn
L2N1c3RvbS92aWV3Ym94LXN5bnRheC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS93cGUvc3ZnL2N1c3RvbS92aWV3Ym94LXN5bnRheC1leHBlY3RlZC50eHQKaW5kZXggMmY5MmZm
MmUzN2ZhMzMwMTM5MGE5NGE4MjZkMGJlOWViNGU4NzBjOS4uZjhkMzJlMzllMGUxN2I3MjY5OWZl
NDk4ODk2ZDAzYmRhMTNiODMzNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd3Bl
L3N2Zy9jdXN0b20vdmlld2JveC1zeW50YXgtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3dwZS9zdmcvY3VzdG9tL3ZpZXdib3gtc3ludGF4LWV4cGVjdGVkLnR4dApAQCAt
MSwxMyArMSwxMyBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIwOiBXYXJuaW5nOiBQcm9ibGVt
IHBhcnNpbmcgdmlld0JveD0iMCIKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAyMzogV2FybmluZzog
UHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9IjAgMCIKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAyNjog
V2FybmluZzogUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9IjAgMCAzMCIKLUNPTlNPTEUgTUVTU0FH
RTogbGluZSAyOTogV2FybmluZzogUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9IjAgMCAzMCA0MCA1
MCIKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAzMjogV2FybmluZzogUHJvYmxlbSBwYXJzaW5nIHZp
ZXdCb3g9IjAgMCAzMCA0MCwiCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMzU6IFdhcm5pbmc6IFBy
b2JsZW0gcGFyc2luZyB2aWV3Qm94PSIsMCAwIDMwIDQwIgotQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDM4OiBFcnJvcjogQSBuZWdhdGl2ZSB2YWx1ZSBmb3IgVmlld0JveCB3aWR0aCBpcyBub3QgYWxs
b3dlZAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQxOiBFcnJvcjogQSBuZWdhdGl2ZSB2YWx1ZSBm
b3IgVmlld0JveCBoZWlnaHQgaXMgbm90IGFsbG93ZWQKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA0
NDogV2FybmluZzogUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9IjAgMCAzMCwgLCA0MCIKLUNPTlNP
TEUgTUVTU0FHRTogbGluZSA0NzogV2FybmluZzogUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9IjAg
MCAzMCUgNDAiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjA6IEVycm9yOiBJbnZhbGlkIHZhbHVl
IGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iMCIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAy
MzogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIwIDAi
CitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjY6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3Zn
PiBhdHRyaWJ1dGUgdmlld0JveD0iMCAwIDMwIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI5OiBF
cnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAgMCAzMCA0
MCA1MCIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAzMjogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9y
IDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIwIDAgMzAgNDAsIgorQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDM1OiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9
IiwwIDAgMzAgNDAiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzg6IEVycm9yOiBJbnZhbGlkIG5l
Z2F0aXZlIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iMCAwIC0zMCA0MCIKK0NP
TlNPTEUgTUVTU0FHRTogbGluZSA0MTogRXJyb3I6IEludmFsaWQgbmVnYXRpdmUgdmFsdWUgZm9y
IDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIwIDAgMzAgLTQwIgorQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDQ0OiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9
IjAgMCAzMCwgLCA0MCIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA0NzogRXJyb3I6IEludmFsaWQg
dmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIwIDAgMzAlIDQwIgogbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiBs
YXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL3dwZS9zdmcvaGl4aWUvZXJyb3IvMDEwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3dwZS9zdmcvaGl4aWUvZXJyb3IvMDEwLWV4cGVjdGVkLnR4dAppbmRleCBiN2FkNGY5
NjdkMWMwMTNjNzgwMGY3YTBiNDZiZDFmYTcwZDQ5NGQ4Li5kZDIwNzA1MzllMTZkOWU4M2YxMzI1
YzkwYzg4MGFmOGZmNzc1OTVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUv
c3ZnL2hpeGllL2Vycm9yLzAxMC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vd3BlL3N2Zy9oaXhpZS9lcnJvci8wMTAtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAot
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IFdhcm5pbmc6IFByb2JsZW0gcGFyc2luZyB2aWV3Qm94
PSIwIDAgMSAxIDEiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogRXJyb3I6IEludmFsaWQgdmFs
dWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIwIDAgMSAxIDEiCiBsYXllciBhdCAoMCww
KSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKIGxheWVy
IGF0ICgwLDApIHNpemUgODAweDYwMApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
d3BlL3N2Zy9oaXhpZS9lcnJvci8wMTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vd3BlL3N2Zy9oaXhpZS9lcnJvci8wMTEtZXhwZWN0ZWQudHh0CmluZGV4IGE1ZDhiZTc4NDZh
YTg0ZDU4YjQ3M2I4NTE4OTVhOTVkYjkwYzRkZTcuLjlkMDlmYzY4MTZlOTQxNWVjZTYyNDlkNmZk
MjZiMzY3ZGJlNjA5N2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dwZS9zdmcv
aGl4aWUvZXJyb3IvMDExLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93
cGUvc3ZnL2hpeGllL2Vycm9yLzAxMS1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACi1DT05T
T0xFIE1FU1NBR0U6IGxpbmUgMTogV2FybmluZzogUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9IjAg
MCwsIDEgMSIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBFcnJvcjogSW52YWxpZCB2YWx1ZSBm
b3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAgMCwsIDEgMSIKIGxheWVyIGF0ICgwLDApIHNp
emUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9u
cy9zdmdudW1iZXItYW5pbWF0aW9uLTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3ZnL2Fu
aW1hdGlvbnMvc3ZnbnVtYmVyLWFuaW1hdGlvbi0zLWV4cGVjdGVkLnR4dAppbmRleCBkZDM1MjVk
MWE1YmJlMGQ5NGFkYjJhYjZmNTE2MDQzNDFkY2NiMGEyLi5lOWYwMzFiMjc4ZTlkMDg5MDA1Yzhk
YzIwYjQyYTNmNTlhNGNkZTYyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9u
cy9zdmdudW1iZXItYW5pbWF0aW9uLTMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N2
Zy9hbmltYXRpb25zL3N2Z251bWJlci1hbmltYXRpb24tMy1leHBlY3RlZC50eHQKQEAgLTYsOCAr
Niw4IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiAKIAogUEFTUyBnZXRDb21wdXRlZFN0eWxl
KHJlY3QpLmdldFByb3BlcnR5Q1NTVmFsdWUoJ29wYWNpdHknKS5nZXRGbG9hdFZhbHVlKENTU1By
aW1pdGl2ZVZhbHVlLkNTU19OVU1CRVIpIGlzIDAKLVBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShyZWN0
KS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdvcGFjaXR5JykuZ2V0RmxvYXRWYWx1ZShDU1NQcmltaXRp
dmVWYWx1ZS5DU1NfTlVNQkVSKSBpcyAwCi1QQVNTIGdldENvbXB1dGVkU3R5bGUocmVjdCkuZ2V0
UHJvcGVydHlDU1NWYWx1ZSgnb3BhY2l0eScpLmdldEZsb2F0VmFsdWUoQ1NTUHJpbWl0aXZlVmFs
dWUuQ1NTX05VTUJFUikgaXMgMAorUEFTUyBnZXRDb21wdXRlZFN0eWxlKHJlY3QpLmdldFByb3Bl
cnR5Q1NTVmFsdWUoJ29wYWNpdHknKS5nZXRGbG9hdFZhbHVlKENTU1ByaW1pdGl2ZVZhbHVlLkNT
U19OVU1CRVIpIGlzIDAuNQorUEFTUyBnZXRDb21wdXRlZFN0eWxlKHJlY3QpLmdldFByb3BlcnR5
Q1NTVmFsdWUoJ29wYWNpdHknKS5nZXRGbG9hdFZhbHVlKENTU1ByaW1pdGl2ZVZhbHVlLkNTU19O
VU1CRVIpIGlzIDEKIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShyZWN0KS5nZXRQcm9wZXJ0eUNTU1Zh
bHVlKCdvcGFjaXR5JykuZ2V0RmxvYXRWYWx1ZShDU1NQcmltaXRpdmVWYWx1ZS5DU1NfTlVNQkVS
KSBpcyAwCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3N2Z251bWJlci1hbmltYXRpb24tMy5odG1sIGIvTGF5
b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc3ZnbnVtYmVyLWFuaW1hdGlvbi0zLmh0bWwKaW5kZXgg
YjYwZGE4M2E3NGRlOTAwYjQwMDE0ODk4ZDc0MjcyMjgzYzAzZjRjNy4uOGJjNDQyNjk5ZjQ1YTBm
OWE3NmI2NjQwZWFlZTljNzIyOTk4NDFiMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2Fu
aW1hdGlvbnMvc3ZnbnVtYmVyLWFuaW1hdGlvbi0zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3Zn
L2FuaW1hdGlvbnMvc3ZnbnVtYmVyLWFuaW1hdGlvbi0zLmh0bWwKQEAgLTM2LDE1ICszNiwxNSBA
QCByb290U1ZHRWxlbWVudC5hcHBlbmRDaGlsZChyZWN0KTsKIC8vIFNldHVwIGFuaW1hdGlvbiB0
ZXN0CiBmdW5jdGlvbiBzYW1wbGUxKCkgewogICAgIC8vIENoZWNrIGluaXRpYWwvZW5kIGNvbmRp
dGlvbnMKLSAgICBzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShyZWN0KS5nZXRQcm9wZXJ0eUNT
U1ZhbHVlKCdvcGFjaXR5JykuZ2V0RmxvYXRWYWx1ZShDU1NQcmltaXRpdmVWYWx1ZS5DU1NfTlVN
QkVSKSIsICIwIik7CisgICAgc2hvdWxkQmVDbG9zZUVub3VnaCgiZ2V0Q29tcHV0ZWRTdHlsZShy
ZWN0KS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdvcGFjaXR5JykuZ2V0RmxvYXRWYWx1ZShDU1NQcmlt
aXRpdmVWYWx1ZS5DU1NfTlVNQkVSKSIsICIwIik7CiB9CiAKIGZ1bmN0aW9uIHNhbXBsZTIoKSB7
Ci0gICAgc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUocmVjdCkuZ2V0UHJvcGVydHlDU1NWYWx1
ZSgnb3BhY2l0eScpLmdldEZsb2F0VmFsdWUoQ1NTUHJpbWl0aXZlVmFsdWUuQ1NTX05VTUJFUiki
LCAiMCIpOworICAgIHNob3VsZEJlQ2xvc2VFbm91Z2goImdldENvbXB1dGVkU3R5bGUocmVjdCku
Z2V0UHJvcGVydHlDU1NWYWx1ZSgnb3BhY2l0eScpLmdldEZsb2F0VmFsdWUoQ1NTUHJpbWl0aXZl
VmFsdWUuQ1NTX05VTUJFUikiLCAiMC41Iik7CiB9CiAKIGZ1bmN0aW9uIHNhbXBsZTMoKSB7Ci0g
ICAgc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUocmVjdCkuZ2V0UHJvcGVydHlDU1NWYWx1ZSgn
b3BhY2l0eScpLmdldEZsb2F0VmFsdWUoQ1NTUHJpbWl0aXZlVmFsdWUuQ1NTX05VTUJFUikiLCAi
MCIpOworICAgIHNob3VsZEJlQ2xvc2VFbm91Z2goImdldENvbXB1dGVkU3R5bGUocmVjdCkuZ2V0
UHJvcGVydHlDU1NWYWx1ZSgnb3BhY2l0eScpLmdldEZsb2F0VmFsdWUoQ1NTUHJpbWl0aXZlVmFs
dWUuQ1NTX05VTUJFUikiLCAiMSIpOwogfQogCiBmdW5jdGlvbiBleGVjdXRlVGVzdCgpIHsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9kb20vbGVuZ3RoLWxpc3QtcGFyc2VyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3N2Zy9kb20vbGVuZ3RoLWxpc3QtcGFyc2VyLWV4cGVjdGVkLnR4
dAppbmRleCBlZWYwNjMwNzZiZDRkZTYxNzk0NTExOTM3YTYxZjAxNjU1MDdiN2JhLi5jMzA4MmRi
MWM2ZjMyZjc2OGYxOWI5MDFjNzUwMTk0MzFjOGFhOTZiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9zdmcvZG9tL2xlbmd0aC1saXN0LXBhcnNlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvc3ZnL2RvbS9sZW5ndGgtbGlzdC1wYXJzZXItZXhwZWN0ZWQudHh0CkBAIC01LDggKzUsMTAg
QEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUKIAogUGFyc2VkIGFzIDEgbGVuZ3RoKHMpIFsgOC44
NDcgXTogOC44NDcKIFBhcnNlZCBhcyAxIGxlbmd0aChzKSBbIDguNjI1NjllKzYgXTogODYyNTY4
NiAzLjAtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMSwgOTAsZTQ5OTcuLiw3ODIt
NDMyNmUuCS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxM2UsK2U5CWUgNDgyOS4s
MDYzNzIxLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEuLTAuMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDFlNiAwNzIKK1BhcnNlZCBhcyA4IGxlbmd0aChzKSBbIDI4LCAt
OCwgMCwgNDcsIDQsIDAsIDM1LCA2ODQgXTogIDI4CS04IC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAxLDQ3IDA0LC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxOTkz
LDM1CSs2ODQgKwkxNTllICAgKy4zLWUwKyw4MTItMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNzI4LTAuMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE0KywtLTEtMjZlNjY2NDYwCiBQYXJzZWQgYXMgMSBsZW5n
dGgocykgWyA2MTgyMiBdOiA2MTgyMiwxNS0wMC4xNjYuNyAKIFBhcnNlZCBhcyAyIGxlbmd0aChz
KSBbIDIsIDAuNSBdOiAyCS41LDY1OC03IGUgLDg0Nzc1NTMKK1BhcnNlZCBhcyAxIGxlbmd0aChz
KSBbIDIxODMgXTogIDIxODMgOS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxOTEs
NTktLSA3MDQ3OC4sNTY2OTY0Nzg0CWUxLTUzCTg0N2UwLjZlMzQ4MDUtMC4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxIDk3
NQk5MjJlLDQJK2UwZS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxIC4KIFBhcnNl
ZCBhcyAzIGxlbmd0aChzKSBbIDgsIDIsIDU4OSBdOiA4IDIgNTg5CS00NWU1OCAtNAktMC4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMWU1OC0rKzY4OS4tOTgtLDQyIDk0NTY0Liw5Njct
MC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTErICw5KzYtCS43NjUrLTg3IGUuIDY4
CTk0NTIxODItMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTYuLiAxCSsKIFBhcnNl
ZCBhcyAxIGxlbmd0aChzKSBbIDEgXTogMSwuLCsuODMzKy4wMDQgMi0wLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAxMi0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxKy45
LQk4LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEuNzk4MC01NTUtMC4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMS0xOTgJNTAKIFBhcnNlZCBhcyAxIGxlbmd0aChzKSBb
IDU2NDI4MSBdOiA1NjQyODEgMGVlNTErIGUgCTM3ODU4NDgzMwksLjE0MQllOC0wLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxLTUzLiA4ODUzMC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAxMAk4Li0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxOC44NDdl
Mjg4ODYtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTRlODUgLi0xLQpAQCAtMTQs
NiArMTYsNyBAQCBQYXJzZWQgYXMgMyBsZW5ndGgocykgWyAwLCA5LCAzNjcgXTogLTAuMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAogUGFyc2VkIGFzIDQgbGVuZ3RoKHMp
IFsgNCwgMCwgMzUsIDY4NCBdOiAwNCwtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MTk5MywzNQkrNjg0ICsJMTU5ZSAgICsuMy1lMCssODEyLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDEtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTcyOC0wLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNCssLS0xLTI2ZTY2NjQ2MC03OS41LTAuMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE2OTYwMy0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAxMDY0MSwsNTcyLTk2MAkxLTkgMjg5CQogUGFyc2VkIGFzIDEgbGVuZ3RoKHMpIFsg
NjE4MjIgXTogNjE4MjIsMTUtMDAuMTY2LjcgCiBQYXJzZWQgYXMgMiBsZW5ndGgocykgWyAyLCAw
LjUgXTogMgkuNSw2NTgtNyBlICw4NDc3NTUzCitQYXJzZWQgYXMgMSBsZW5ndGgocykgWyAyMTgz
IF06ICAyMTgzIDktMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTkxLDU5LS0gNzA0
NzguLDU2Njk2NDc4NAllMS01Mwk4NDdlMC42ZTM0ODA1LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDEtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMSA5NzUJOTIyZSw0
CStlMGUtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMSAuCiBQYXJzZWQgYXMgMyBs
ZW5ndGgocykgWyA4LCAyLCA1ODkgXTogOCAyIDU4OQktNDVlNTggLTQJLTAuMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDFlNTgtKys2ODkuLTk4LSw0MiA5NDU2NC4sOTY3LTAuMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDExKyAsOSs2LQkuNzY1Ky04NyBlLiA2OAk5NDUyMTgy
LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE2Li4gMQkrCiBQYXJzZWQgYXMgMSBs
ZW5ndGgocykgWyAxIF06IDEsLiwrLjgzMysuMDA0IDItMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMTItMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMSsuOS0JOC0wLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxLjc5ODAtNTU1LTAuMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDEtMTk4CTUwCiBQYXJzZWQgYXMgMSBsZW5ndGgocykgWyA1NjQyODEg
XTogNTY0MjgxIDBlZTUxKyBlIAkzNzg1ODQ4MzMJLC4xNDEJZTgtMC4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMS01My4gODg1MzAtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMTAJOC4tMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTguODQ3ZTI4ODg2LTAu
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE0ZTg1IC4tMS0KQEAgLTIxLDYgKzI0LDcg
QEAgUGFyc2VkIGFzIDMgbGVuZ3RoKHMpIFsgMCwgOSwgMzY3IF06IC0wLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKIFBhcnNlZCBhcyA0IGxlbmd0aChzKSBbIDQsIDAs
IDM1LCA2ODQgXTogMDQsLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE5OTMsMzUJ
KzY4NCArCTE1OWUgICArLjMtZTArLDgxMi0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAxLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE3MjgtMC4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMTQrLC0tMS0yNmU2NjY0NjAtNzkuNS0wLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAxNjk2MDMtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MTA2NDEsLDU3Mi05NjAJMS05IDI4OQkKIFBhcnNlZCBhcyAxIGxlbmd0aChzKSBbIDYxODIyIF06
IDYxODIyLDE1LTAwLjE2Ni43IAogUGFyc2VkIGFzIDIgbGVuZ3RoKHMpIFsgMiwgMC41IF06IDIJ
LjUsNjU4LTcgZSAsODQ3NzU1MworUGFyc2VkIGFzIDEgbGVuZ3RoKHMpIFsgMjE4MyBdOiAgMjE4
MyA5LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE5MSw1OS0tIDcwNDc4Liw1NjY5
NjQ3ODQJZTEtNTMJODQ3ZTAuNmUzNDgwNS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAxLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEgOTc1CTkyMmUsNAkrZTBlLTAu
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEgLgogUGFyc2VkIGFzIDMgbGVuZ3RoKHMp
IFsgOCwgMiwgNTg5IF06IDggMiA1ODkJLTQ1ZTU4IC00CS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAxZTU4LSsrNjg5Li05OC0sNDIgOTQ1NjQuLDk2Ny0wLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAxMSsgLDkrNi0JLjc2NSstODcgZS4gNjgJOTQ1MjE4Mi0wLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNi4uIDEJKwogUGFyc2VkIGFzIDEgbGVuZ3RoKHMp
IFsgMSBdOiAxLC4sKy44MzMrLjAwNCAyLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDEyLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDErLjktCTgtMC4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMS43OTgwLTU1NS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAxLTE5OAk1MAogUGFyc2VkIGFzIDEgbGVuZ3RoKHMpIFsgNTY0MjgxIF06IDU2NDI4
MSAwZWU1MSsgZSAJMzc4NTg0ODMzCSwuMTQxCWU4LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDEtNTMuIDg4NTMwLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwCTgu
LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE4Ljg0N2UyODg4Ni0wLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNGU4NSAuLTEtCkBAIC0yOCw2ICszMiw3IEBAIFBhcnNl
ZCBhcyAzIGxlbmd0aChzKSBbIDAsIDksIDM2NyBdOiAtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCiBQYXJzZWQgYXMgNCBsZW5ndGgocykgWyA0LCAwLCAzNSwgNjg0
IF06IDA0LC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxOTkzLDM1CSs2ODQgKwkx
NTllICAgKy4zLWUwKyw4MTItMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMS0wLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNzI4LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDE0KywtLTEtMjZlNjY2NDYwLTc5LjUtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMTY5NjAzLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwNjQxLCw1
NzItOTYwCTEtOSAyODkJCiBQYXJzZWQgYXMgMSBsZW5ndGgocykgWyA2MTgyMiBdOiA2MTgyMiwx
NS0wMC4xNjYuNyAKIFBhcnNlZCBhcyAyIGxlbmd0aChzKSBbIDIsIDAuNSBdOiAyCS41LDY1OC03
IGUgLDg0Nzc1NTMKK1BhcnNlZCBhcyAxIGxlbmd0aChzKSBbIDIxODMgXTogIDIxODMgOS0wLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxOTEsNTktLSA3MDQ3OC4sNTY2OTY0Nzg0CWUx
LTUzCTg0N2UwLjZlMzQ4MDUtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMS0wLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxIDk3NQk5MjJlLDQJK2UwZS0wLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxIC4KIFBhcnNlZCBhcyAzIGxlbmd0aChzKSBbIDgsIDIs
IDU4OSBdOiA4IDIgNTg5CS00NWU1OCAtNAktMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMWU1OC0rKzY4OS4tOTgtLDQyIDk0NTY0Liw5NjctMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMTErICw5KzYtCS43NjUrLTg3IGUuIDY4CTk0NTIxODItMC4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMTYuLiAxCSsKIFBhcnNlZCBhcyAxIGxlbmd0aChzKSBbIDEgXTog
MSwuLCsuODMzKy4wMDQgMi0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMi0wLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxKy45LQk4LTAuMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDEuNzk4MC01NTUtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MS0xOTgJNTAKIFBhcnNlZCBhcyAxIGxlbmd0aChzKSBbIDU2NDI4MSBdOiA1NjQyODEgMGVlNTEr
IGUgCTM3ODU4NDgzMwksLjE0MQllOC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAx
LTUzLiA4ODUzMC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMAk4Li0wLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxOC44NDdlMjg4ODYtMC4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMTRlODUgLi0xLQpAQCAtMzUsNiArNDAsNyBAQCBQYXJzZWQgYXMgMyBs
ZW5ndGgocykgWyAwLCA5LCAzNjcgXTogLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAogUGFyc2VkIGFzIDQgbGVuZ3RoKHMpIFsgNCwgMCwgMzUsIDY4NCBdOiAwNCwt
MC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTk5MywzNQkrNjg0ICsJMTU5ZSAgICsu
My1lMCssODEyLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEtMC4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMTcyOC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAxNCssLS0xLTI2ZTY2NjQ2MC03OS41LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDE2OTYwMy0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDY0MSwsNTcyLTk2MAkx
LTkgMjg5CQogUGFyc2VkIGFzIDEgbGVuZ3RoKHMpIFsgNjE4MjIgXTogNjE4MjIsMTUtMDAuMTY2
LjcgCiBQYXJzZWQgYXMgMiBsZW5ndGgocykgWyAyLCAwLjUgXTogMgkuNSw2NTgtNyBlICw4NDc3
NTUzCitQYXJzZWQgYXMgMSBsZW5ndGgocykgWyAyMTgzIF06ICAyMTgzIDktMC4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMTkxLDU5LS0gNzA0NzguLDU2Njk2NDc4NAllMS01Mwk4NDdl
MC42ZTM0ODA1LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEtMC4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMSA5NzUJOTIyZSw0CStlMGUtMC4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMSAuCiBQYXJzZWQgYXMgMyBsZW5ndGgocykgWyA4LCAyLCA1ODkgXTog
OCAyIDU4OQktNDVlNTggLTQJLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFlNTgt
Kys2ODkuLTk4LSw0MiA5NDU2NC4sOTY3LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDExKyAsOSs2LQkuNzY1Ky04NyBlLiA2OAk5NDUyMTgyLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDE2Li4gMQkrCiBQYXJzZWQgYXMgMSBsZW5ndGgocykgWyAxIF06IDEsLiwrLjgz
MysuMDA0IDItMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTItMC4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMSsuOS0JOC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAxLjc5ODAtNTU1LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEtMTk4CTUw
CiBQYXJzZWQgYXMgMSBsZW5ndGgocykgWyA1NjQyODEgXTogNTY0MjgxIDBlZTUxKyBlIAkzNzg1
ODQ4MzMJLC4xNDEJZTgtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMS01My4gODg1
MzAtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAJOC4tMC4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMTguODQ3ZTI4ODg2LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDE0ZTg1IC4tMS0KQEAgLTQyLDYgKzQ4LDcgQEAgUGFyc2VkIGFzIDMgbGVuZ3RoKHMp
IFsgMCwgOSwgMzY3IF06IC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKIFBhcnNlZCBhcyA0IGxlbmd0aChzKSBbIDQsIDAsIDM1LCA2ODQgXTogMDQsLTAuMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE5OTMsMzUJKzY4NCArCTE1OWUgICArLjMtZTArLDgx
Mi0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxLTAuMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDE3MjgtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTQrLC0t
MS0yNmU2NjY0NjAtNzkuNS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNjk2MDMt
MC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTA2NDEsLDU3Mi05NjAJMS05IDI4OQkK
IFBhcnNlZCBhcyAxIGxlbmd0aChzKSBbIDYxODIyIF06IDYxODIyLDE1LTAwLjE2Ni43IAogUGFy
c2VkIGFzIDIgbGVuZ3RoKHMpIFsgMiwgMC41IF06IDIJLjUsNjU4LTcgZSAsODQ3NzU1MworUGFy
c2VkIGFzIDEgbGVuZ3RoKHMpIFsgMjE4MyBdOiAgMjE4MyA5LTAuMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDE5MSw1OS0tIDcwNDc4Liw1NjY5NjQ3ODQJZTEtNTMJODQ3ZTAuNmUzNDgw
NS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxLTAuMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDEgOTc1CTkyMmUsNAkrZTBlLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDEgLgogUGFyc2VkIGFzIDMgbGVuZ3RoKHMpIFsgOCwgMiwgNTg5IF06IDggMiA1ODkJ
LTQ1ZTU4IC00CS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxZTU4LSsrNjg5Li05
OC0sNDIgOTQ1NjQuLDk2Ny0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMSsgLDkr
Ni0JLjc2NSstODcgZS4gNjgJOTQ1MjE4Mi0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAxNi4uIDEJKwogUGFyc2VkIGFzIDEgbGVuZ3RoKHMpIFsgMSBdOiAxLC4sKy44MzMrLjAwNCAy
LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEyLTAuMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDErLjktCTgtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMS43
OTgwLTU1NS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxLTE5OAk1MAogUGFyc2Vk
IGFzIDEgbGVuZ3RoKHMpIFsgNTY0MjgxIF06IDU2NDI4MSAwZWU1MSsgZSAJMzc4NTg0ODMzCSwu
MTQxCWU4LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEtNTMuIDg4NTMwLTAuMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwCTguLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDE4Ljg0N2UyODg4Ni0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAx
NGU4NSAuLTEtCkBAIC00OSw2ICs1Niw3IEBAIFBhcnNlZCBhcyAzIGxlbmd0aChzKSBbIDAsIDks
IDM2NyBdOiAtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCiBQYXJz
ZWQgYXMgNCBsZW5ndGgocykgWyA0LCAwLCAzNSwgNjg0IF06IDA0LC0wLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAxOTkzLDM1CSs2ODQgKwkxNTllICAgKy4zLWUwKyw4MTItMC4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAxNzI4LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE0KywtLTEtMjZlNjY2
NDYwLTc5LjUtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTY5NjAzLTAuMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwNjQxLCw1NzItOTYwCTEtOSAyODkJCiBQYXJzZWQg
YXMgMSBsZW5ndGgocykgWyA2MTgyMiBdOiA2MTgyMiwxNS0wMC4xNjYuNyAKIFBhcnNlZCBhcyAy
IGxlbmd0aChzKSBbIDIsIDAuNSBdOiAyCS41LDY1OC03IGUgLDg0Nzc1NTMKK1BhcnNlZCBhcyAx
IGxlbmd0aChzKSBbIDIxODMgXTogIDIxODMgOS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAxOTEsNTktLSA3MDQ3OC4sNTY2OTY0Nzg0CWUxLTUzCTg0N2UwLjZlMzQ4MDUtMC4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAxIDk3NQk5MjJlLDQJK2UwZS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAx
IC4KIFBhcnNlZCBhcyAzIGxlbmd0aChzKSBbIDgsIDIsIDU4OSBdOiA4IDIgNTg5CS00NWU1OCAt
NAktMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMWU1OC0rKzY4OS4tOTgtLDQyIDk0
NTY0Liw5NjctMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTErICw5KzYtCS43NjUr
LTg3IGUuIDY4CTk0NTIxODItMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTYuLiAx
CSsKIFBhcnNlZCBhcyAxIGxlbmd0aChzKSBbIDEgXTogMSwuLCsuODMzKy4wMDQgMi0wLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMi0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAxKy45LQk4LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEuNzk4MC01NTUt
MC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMS0xOTgJNTAKIFBhcnNlZCBhcyAxIGxl
bmd0aChzKSBbIDU2NDI4MSBdOiA1NjQyODEgMGVlNTErIGUgCTM3ODU4NDgzMwksLjE0MQllOC0w
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxLTUzLiA4ODUzMC0wLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAxMAk4Li0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAxOC44NDdlMjg4ODYtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTRlODUgLi0x
LQpAQCAtNTYsNiArNjQsNyBAQCBQYXJzZWQgYXMgMyBsZW5ndGgocykgWyAwLCA5LCAzNjcgXTog
LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAogUGFyc2VkIGFzIDQg
bGVuZ3RoKHMpIFsgNCwgMCwgMzUsIDY4NCBdOiAwNCwtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMTk5MywzNQkrNjg0ICsJMTU5ZSAgICsuMy1lMCssODEyLTAuMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDEtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTcy
OC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNCssLS0xLTI2ZTY2NjQ2MC03OS41
LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE2OTYwMy0wLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAxMDY0MSwsNTcyLTk2MAkxLTkgMjg5CQogUGFyc2VkIGFzIDEgbGVu
Z3RoKHMpIFsgNjE4MjIgXTogNjE4MjIsMTUtMDAuMTY2LjcgCiBQYXJzZWQgYXMgMiBsZW5ndGgo
cykgWyAyLCAwLjUgXTogMgkuNSw2NTgtNyBlICw4NDc3NTUzCitQYXJzZWQgYXMgMSBsZW5ndGgo
cykgWyAyMTgzIF06ICAyMTgzIDktMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTkx
LDU5LS0gNzA0NzguLDU2Njk2NDc4NAllMS01Mwk4NDdlMC42ZTM0ODA1LTAuMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDEtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMSA5
NzUJOTIyZSw0CStlMGUtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMSAuCiBQYXJz
ZWQgYXMgMyBsZW5ndGgocykgWyA4LCAyLCA1ODkgXTogOCAyIDU4OQktNDVlNTggLTQJLTAuMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFlNTgtKys2ODkuLTk4LSw0MiA5NDU2NC4sOTY3
LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDExKyAsOSs2LQkuNzY1Ky04NyBlLiA2
OAk5NDUyMTgyLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE2Li4gMQkrCiBQYXJz
ZWQgYXMgMSBsZW5ndGgocykgWyAxIF06IDEsLiwrLjgzMysuMDA0IDItMC4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMTItMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMSsu
OS0JOC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxLjc5ODAtNTU1LTAuMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEtMTk4CTUwCiBQYXJzZWQgYXMgMSBsZW5ndGgocykg
WyA1NjQyODEgXTogNTY0MjgxIDBlZTUxKyBlIAkzNzg1ODQ4MzMJLC4xNDEJZTgtMC4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMS01My4gODg1MzAtMC4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMTAJOC4tMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTguODQ3
ZTI4ODg2LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE0ZTg1IC4tMS0KQEAgLTYz
LDYgKzcyLDcgQEAgUGFyc2VkIGFzIDMgbGVuZ3RoKHMpIFsgMCwgOSwgMzY3IF06IC0wLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKIFBhcnNlZCBhcyA0IGxlbmd0aChz
KSBbIDQsIDAsIDM1LCA2ODQgXTogMDQsLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDE5OTMsMzUJKzY4NCArCTE1OWUgICArLjMtZTArLDgxMi0wLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAxLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE3MjgtMC4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTQrLC0tMS0yNmU2NjY0NjAtNzkuNS0wLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNjk2MDMtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMTA2NDEsLDU3Mi05NjAJMS05IDI4OQkKIFBhcnNlZCBhcyAxIGxlbmd0aChzKSBb
IDYxODIyIF06IDYxODIyLDE1LTAwLjE2Ni43IAogUGFyc2VkIGFzIDIgbGVuZ3RoKHMpIFsgMiwg
MC41IF06IDIJLjUsNjU4LTcgZSAsODQ3NzU1MworUGFyc2VkIGFzIDEgbGVuZ3RoKHMpIFsgMjE4
MyBdOiAgMjE4MyA5LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE5MSw1OS0tIDcw
NDc4Liw1NjY5NjQ3ODQJZTEtNTMJODQ3ZTAuNmUzNDgwNS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAxLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEgOTc1CTkyMmUs
NAkrZTBlLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEgLgogUGFyc2VkIGFzIDMg
bGVuZ3RoKHMpIFsgOCwgMiwgNTg5IF06IDggMiA1ODkJLTQ1ZTU4IC00CS0wLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAxZTU4LSsrNjg5Li05OC0sNDIgOTQ1NjQuLDk2Ny0wLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMSsgLDkrNi0JLjc2NSstODcgZS4gNjgJOTQ1MjE4
Mi0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNi4uIDEJKwogUGFyc2VkIGFzIDEg
bGVuZ3RoKHMpIFsgMSBdOiAxLC4sKy44MzMrLjAwNCAyLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDEyLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDErLjktCTgtMC4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMS43OTgwLTU1NS0wLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAxLTE5OAk1MAogUGFyc2VkIGFzIDEgbGVuZ3RoKHMpIFsgNTY0Mjgx
IF06IDU2NDI4MSAwZWU1MSsgZSAJMzc4NTg0ODMzCSwuMTQxCWU4LTAuMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDEtNTMuIDg4NTMwLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDEwCTguLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE4Ljg0N2UyODg4Ni0w
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNGU4NSAuLTEtCkBAIC03MCw2ICs4MCw3
IEBAIFBhcnNlZCBhcyAzIGxlbmd0aChzKSBbIDAsIDksIDM2NyBdOiAtMC4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCiBQYXJzZWQgYXMgNCBsZW5ndGgocykgWyA0LCAw
LCAzNSwgNjg0IF06IDA0LC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxOTkzLDM1
CSs2ODQgKwkxNTllICAgKy4zLWUwKyw4MTItMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNzI4LTAuMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDE0KywtLTEtMjZlNjY2NDYwLTc5LjUtMC4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMTY5NjAzLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDEwNjQxLCw1NzItOTYwCTEtOSAyODkJCiBQYXJzZWQgYXMgMSBsZW5ndGgocykgWyA2MTgyMiBd
OiA2MTgyMiwxNS0wMC4xNjYuNyAKIFBhcnNlZCBhcyAyIGxlbmd0aChzKSBbIDIsIDAuNSBdOiAy
CS41LDY1OC03IGUgLDg0Nzc1NTMKK1BhcnNlZCBhcyAxIGxlbmd0aChzKSBbIDIxODMgXTogIDIx
ODMgOS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxOTEsNTktLSA3MDQ3OC4sNTY2
OTY0Nzg0CWUxLTUzCTg0N2UwLjZlMzQ4MDUtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxIDk3NQk5MjJlLDQJK2UwZS0w
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxIC4KIFBhcnNlZCBhcyAzIGxlbmd0aChz
KSBbIDgsIDIsIDU4OSBdOiA4IDIgNTg5CS00NWU1OCAtNAktMC4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMWU1OC0rKzY4OS4tOTgtLDQyIDk0NTY0Liw5NjctMC4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMTErICw5KzYtCS43NjUrLTg3IGUuIDY4CTk0NTIxODItMC4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTYuLiAxCSsKIFBhcnNlZCBhcyAxIGxlbmd0aChz
KSBbIDEgXTogMSwuLCsuODMzKy4wMDQgMi0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAxMi0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxKy45LQk4LTAuMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEuNzk4MC01NTUtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMS0xOTgJNTAKIFBhcnNlZCBhcyAxIGxlbmd0aChzKSBbIDU2NDI4MSBdOiA1NjQy
ODEgMGVlNTErIGUgCTM3ODU4NDgzMwksLjE0MQllOC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAxLTUzLiA4ODUzMC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMAk4
Li0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxOC44NDdlMjg4ODYtMC4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTRlODUgLi0xLQpAQCAtNzcsNiArODgsNyBAQCBQYXJz
ZWQgYXMgMyBsZW5ndGgocykgWyAwLCA5LCAzNjcgXTogLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAogUGFyc2VkIGFzIDQgbGVuZ3RoKHMpIFsgNCwgMCwgMzUsIDY4
NCBdOiAwNCwtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTk5MywzNQkrNjg0ICsJ
MTU5ZSAgICsuMy1lMCssODEyLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEtMC4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTcyOC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAxNCssLS0xLTI2ZTY2NjQ2MC03OS41LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDE2OTYwMy0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDY0MSws
NTcyLTk2MAkxLTkgMjg5CQogUGFyc2VkIGFzIDEgbGVuZ3RoKHMpIFsgNjE4MjIgXTogNjE4MjIs
MTUtMDAuMTY2LjcgCiBQYXJzZWQgYXMgMiBsZW5ndGgocykgWyAyLCAwLjUgXTogMgkuNSw2NTgt
NyBlICw4NDc3NTUzCitQYXJzZWQgYXMgMSBsZW5ndGgocykgWyAyMTgzIF06ICAyMTgzIDktMC4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTkxLDU5LS0gNzA0NzguLDU2Njk2NDc4NAll
MS01Mwk4NDdlMC42ZTM0ODA1LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEtMC4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMSA5NzUJOTIyZSw0CStlMGUtMC4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMSAuCiBQYXJzZWQgYXMgMyBsZW5ndGgocykgWyA4LCAy
LCA1ODkgXTogOCAyIDU4OQktNDVlNTggLTQJLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDFlNTgtKys2ODkuLTk4LSw0MiA5NDU2NC4sOTY3LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDExKyAsOSs2LQkuNzY1Ky04NyBlLiA2OAk5NDUyMTgyLTAuMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDE2Li4gMQkrCiBQYXJzZWQgYXMgMSBsZW5ndGgocykgWyAxIF06
IDEsLiwrLjgzMysuMDA0IDItMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTItMC4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMSsuOS0JOC0wLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAxLjc5ODAtNTU1LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDEtMTk4CTUwCiBQYXJzZWQgYXMgMSBsZW5ndGgocykgWyA1NjQyODEgXTogNTY0MjgxIDBlZTUx
KyBlIAkzNzg1ODQ4MzMJLC4xNDEJZTgtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MS01My4gODg1MzAtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAJOC4tMC4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTguODQ3ZTI4ODg2LTAuMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDE0ZTg1IC4tMS0KQEAgLTg0LDYgKzk2LDcgQEAgUGFyc2VkIGFzIDMg
bGVuZ3RoKHMpIFsgMCwgOSwgMzY3IF06IC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKIFBhcnNlZCBhcyA0IGxlbmd0aChzKSBbIDQsIDAsIDM1LCA2ODQgXTogMDQs
LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE5OTMsMzUJKzY4NCArCTE1OWUgICAr
LjMtZTArLDgxMi0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxLTAuMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE3MjgtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMTQrLC0tMS0yNmU2NjY0NjAtNzkuNS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAxNjk2MDMtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTA2NDEsLDU3Mi05NjAJ
MS05IDI4OQkKIFBhcnNlZCBhcyAxIGxlbmd0aChzKSBbIDYxODIyIF06IDYxODIyLDE1LTAwLjE2
Ni43IAogUGFyc2VkIGFzIDIgbGVuZ3RoKHMpIFsgMiwgMC41IF06IDIJLjUsNjU4LTcgZSAsODQ3
NzU1MworUGFyc2VkIGFzIDEgbGVuZ3RoKHMpIFsgMjE4MyBdOiAgMjE4MyA5LTAuMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE5MSw1OS0tIDcwNDc4Liw1NjY5NjQ3ODQJZTEtNTMJODQ3
ZTAuNmUzNDgwNS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxLTAuMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEgOTc1CTkyMmUsNAkrZTBlLTAuMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDEgLgogUGFyc2VkIGFzIDMgbGVuZ3RoKHMpIFsgOCwgMiwgNTg5IF06
IDggMiA1ODkJLTQ1ZTU4IC00CS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxZTU4
LSsrNjg5Li05OC0sNDIgOTQ1NjQuLDk2Ny0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAxMSsgLDkrNi0JLjc2NSstODcgZS4gNjgJOTQ1MjE4Mi0wLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAxNi4uIDEJKwogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvZG9tL3ZpZXdzcGVjLXBhcnNlci0xLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3N2Zy9kb20vdmlld3NwZWMtcGFyc2VyLTEtZXhwZWN0ZWQudHh0
CmluZGV4IGQ0NDJmMWJmOTExMWQzYmQ3MjhhNTdhZjE1OGFlYmI2YTUyNDE1MWMuLjkzZDNjNjRk
ZTdhZmRhM2I0YmQyMWEzZTIzYjVlM2VkYTkzMmRjN2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3N2Zy9kb20vdmlld3NwZWMtcGFyc2VyLTEtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L3N2Zy9kb20vdmlld3NwZWMtcGFyc2VyLTEtZXhwZWN0ZWQudHh0CkBAIC02LDggKzYsOCBAQCBP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURQogTG9hZGVkOiByZXNvdXJjZXMvdmlld3NwZWMtdGFyZ2V0
LnN2ZyMKIFBhcnNlZDogW2luaXRpYWwgdmlld10gZnJvbTogW2luaXRpYWwgdmlld10KIAotTG9h
ZGVkOiByZXNvdXJjZXMvdmlld3NwZWMtdGFyZ2V0LnN2ZyNzdmdWaWV3KHZpZXdCb3goMCwwLDIw
MCwyMDApKSkKLVBhcnNlZDogc3ZnVmlldyh2aWV3Qm94KDAgMCAyMDAgMjAwKSkgZnJvbTogc3Zn
Vmlldyh2aWV3Qm94KDAsMCwyMDAsMjAwKSkpCitMb2FkZWQ6IHJlc291cmNlcy92aWV3c3BlYy10
YXJnZXQuc3ZnI3N2Z1ZpZXcodmlld0JveCgwLDAsMjAwLDIwMCkpCitQYXJzZWQ6IHN2Z1ZpZXco
dmlld0JveCgwIDAgMjAwIDIwMCkpIGZyb206IHN2Z1ZpZXcodmlld0JveCgwLDAsMjAwLDIwMCkp
CiAKIExvYWRlZDogcmVzb3VyY2VzL3ZpZXdzcGVjLXRhcmdldC5zdmcjc3ZnVmlldyhwcmVzZXJ2
ZUFzcGVjdFJhdGlvKHhNYXhZTWluIHNsaWNlKSkKIFBhcnNlZDogc3ZnVmlldyhwcmVzZXJ2ZUFz
cGVjdFJhdGlvKHhNYXhZTWluIHNsaWNlKSkgZnJvbTogc3ZnVmlldyhwcmVzZXJ2ZUFzcGVjdFJh
dGlvKHhNYXhZTWluIHNsaWNlKSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9kb20vdmll
d3NwZWMtcGFyc2VyLTEuaHRtbCBiL0xheW91dFRlc3RzL3N2Zy9kb20vdmlld3NwZWMtcGFyc2Vy
LTEuaHRtbAppbmRleCA1YjE3ZDc1OTIxMjg4ZTFjMGEwZTY3MWQ1NWYyNGZhYjY3NDM3MGFmLi42
MjE3M2U2MmYzY2Q0MzNjMmFmYTE5YjRjY2UzNWE4NWFiMjYyMGExIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9zdmcvZG9tL3ZpZXdzcGVjLXBhcnNlci0xLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
c3ZnL2RvbS92aWV3c3BlYy1wYXJzZXItMS5odG1sCkBAIC0xOCw3ICsxOCw3IEBACiAgICAgfTsK
IAogICAgIHZhciB0ZXN0cyA9IFsKLSAgICAgICJzdmdWaWV3KHZpZXdCb3goMCwwLDIwMCwyMDAp
KSkiLAorICAgICAgInN2Z1ZpZXcodmlld0JveCgwLDAsMjAwLDIwMCkpIiwKICAgICAgICJzdmdW
aWV3KHByZXNlcnZlQXNwZWN0UmF0aW8oeE1heFlNaW4gc2xpY2UpKSIsCiAgICAgICAic3ZnVmll
dyhwcmVzZXJ2ZUFzcGVjdFJhdGlvKHhNYXhZTWluKSkiLAogICAgICAgInN2Z1ZpZXcodmlld0Jv
eCgxLDIsMyw0KTtwcmVzZXJ2ZUFzcGVjdFJhdGlvKHhNYXhZTWluKSkiLApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3ZnL2hpeGllL2Vycm9yLzAxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9zdmcvaGl4aWUvZXJyb3IvMDEwLWV4cGVjdGVkLnR4dAppbmRleCBmN2QzNTliOTFkYjk1M2Q1
MjJhNjY5Y2RiOTkzZjk0NzI5NDg0NWE3Li40OTAxODI0NGU2NjQyMTBkMTc3YjQ0OGUzNDI2MjZl
Y2Q0OWU3Y2E3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvaGl4aWUvZXJyb3IvMDEwLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdmcvaGl4aWUvZXJyb3IvMDEwLWV4cGVjdGVk
LnR4dApAQCAtMSw0ICsxLDQgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBXYXJuaW5nOiBQ
cm9ibGVtIHBhcnNpbmcgdmlld0JveD0iMCAwIDEgMSAxIgorQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDE6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iMCAw
IDEgMSAxIgogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N2Zy9oaXhpZS9lcnJvci8wMTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvc3ZnL2hpeGllL2Vycm9yLzAxMS1leHBlY3RlZC50eHQKaW5kZXggN2MyNDFiNjQ2MjA3MTQx
NWMxZDAzODI4YzA1NWE0ZTM5Mjg3YzI4MS4uY2FjZWM1ZjhjYmQ1MzJkYmE2Njg0NjE3YmZjOGE2
YmU0YTQ1MThlYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2hpeGllL2Vycm9yLzAxMS1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2hpeGllL2Vycm9yLzAxMS1leHBlY3Rl
ZC50eHQKQEAgLTEsNCArMSw0IEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogV2FybmluZzog
UHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9IjAgMCwsIDEgMSIKK0NPTlNPTEUgTUVTU0FHRTogbGlu
ZSAxOiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAg
MCwsIDEgMSIKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgw
LDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>371689</attachid>
            <date>2019-06-08 18:12:14 -0700</date>
            <delta_ts>2019-06-08 18:12:14 -0700</delta_ts>
            <desc>Patch for review</desc>
            <filename>03c.patch</filename>
            <type>text/plain</type>
            <size>100107</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBlODkwNDlhNjlmYS4uOTIzZGE3YTIzZjQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMDMgQEAKKzIwMTktMDYtMDggIFNhaWQgQWJvdS1IYWxsYXdhICA8c2FpZEBhcHBsZS5j
b20+CisKKyAgICAgICAgUmVtb3ZlIHRoZSBub24gZmluYWwgcHJvcGVydHlSZWdpc3RyeSgpIGZy
b20gdGhlIFNWRyBiYXNlIGNsYXNzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE5ODEyMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFRoaXMgc2F2ZXMgdGhlIG1lbW9yeSB0aGF0IGlzIHRha2VuIGJ5IHRo
ZSBtZW1iZXIgU1ZHUHJvcGVydHlSZWdpc3RyeSBvZgorICAgICAgICB0aGUgYmFzZSBjbGFzcy4g
cHJvcGVydHlSZWdpc3RyeSgpIGlzIG9ubHkgbmVlZGVkIGZvciBjb25jcmV0ZSBjbGFzc2VzLgor
CisgICAgICAgICogc3ZnL1NWR0FFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0FsdEdseXBo
RGVmRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdBbHRHbHlwaEVsZW1lbnQuaDoKKyAgICAg
ICAgKiBzdmcvU1ZHQWx0R2x5cGhJdGVtRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdBbmlt
YXRpb25FbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0NpcmNsZUVsZW1lbnQuaDoKKyAgICAg
ICAgKiBzdmcvU1ZHQ2xpcFBhdGhFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0NvbXBvbmVu
dFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0N1cnNvckVsZW1l
bnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHRGVmc0VsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZH
RGVzY0VsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHRWxlbWVudC5oOgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHRWxlbWVudDo6cHJvcGVydHlSZWdpc3RyeSBjb25zdCk6IERlbGV0ZWQuCisgICAg
ICAgICogc3ZnL1NWR0VsbGlwc2VFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0V4dGVybmFs
UmVzb3VyY2VzUmVxdWlyZWQuaDoKKyAgICAgICAgKiBzdmcvU1ZHRkVCbGVuZEVsZW1lbnQuaDoK
KyAgICAgICAgKiBzdmcvU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcv
U1ZHRkVDb21wb25lbnRUcmFuc2ZlckVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHRkVDb21w
b3NpdGVFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0ZFQ29udm9sdmVNYXRyaXhFbGVtZW50
Lmg6CisgICAgICAgICogc3ZnL1NWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudC5oOgorICAgICAg
ICAqIHN2Zy9TVkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZH
RkVEcm9wU2hhZG93RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdGRUZsb29kRWxlbWVudC5o
OgorICAgICAgICAqIHN2Zy9TVkdGRUdhdXNzaWFuQmx1ckVsZW1lbnQuaDoKKyAgICAgICAgKiBz
dmcvU1ZHRkVJbWFnZUVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHRkVMaWdodEVsZW1lbnQu
aDoKKyAgICAgICAgKiBzdmcvU1ZHRkVNZXJnZUVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZH
RkVNZXJnZU5vZGVFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0ZFTW9ycGhvbG9neUVsZW1l
bnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHRkVPZmZzZXRFbGVtZW50Lmg6CisgICAgICAgICogc3Zn
L1NWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHRkVUaWxl
RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdGRVR1cmJ1bGVuY2VFbGVtZW50Lmg6CisgICAg
ICAgICogc3ZnL1NWR0ZpbHRlckVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHRm9udEZhY2VF
bGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0ZvbnRGYWNlRm9ybWF0RWxlbWVudC5oOgorICAg
ICAgICAqIHN2Zy9TVkdGb250RmFjZU5hbWVFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0Zv
bnRGYWNlU3JjRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdGb250RmFjZVVyaUVsZW1lbnQu
aDoKKyAgICAgICAgKiBzdmcvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQuaDoKKyAgICAgICAgKiBz
dmcvU1ZHR0VsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHR2VvbWV0cnlFbGVtZW50Lmg6Cisg
ICAgICAgICogc3ZnL1NWR0dseXBoRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdHcmFkaWVu
dEVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHR3JhcGhpY3NFbGVtZW50Lmg6CisgICAgICAg
ICogc3ZnL1NWR0hLZXJuRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdJbWFnZUVsZW1lbnQu
aDoKKyAgICAgICAgKiBzdmcvU1ZHTGluZUVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHTGlu
ZWFyR3JhZGllbnRFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR01QYXRoRWxlbWVudC5oOgor
ICAgICAgICAqIHN2Zy9TVkdNYXJrZXJFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR01hc2tF
bGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR01ldGFkYXRhRWxlbWVudC5oOgorICAgICAgICAq
IHN2Zy9TVkdNaXNzaW5nR2x5cGhFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR1BhdGhFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1BhdGhFbGVtZW50OjpnZXRUb3RhbExlbmd0
aCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQYXRoRWxlbWVudDo6Z2V0UG9pbnRBdExl
bmd0aCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQYXRoRWxlbWVudDo6Z2V0UGF0aFNl
Z0F0TGVuZ3RoIGNvbnN0KToKKyAgICAgICAgKiBzdmcvU1ZHUGF0aEVsZW1lbnQuaDoKKyAgICAg
ICAgKiBzdmcvU1ZHUGF0aFV0aWxpdGllcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpwYXRoU2Vn
QXRMZW5ndGhGcm9tU1ZHUGF0aEJ5dGVTdHJlYW0pOgorICAgICAgICAoV2ViQ29yZTo6dG90YWxM
ZW5ndGhPZlNWR1BhdGhCeXRlU3RyZWFtKToKKyAgICAgICAgKFdlYkNvcmU6OnBvaW50QXRMZW5n
dGhPZlNWR1BhdGhCeXRlU3RyZWFtKToKKyAgICAgICAgKFdlYkNvcmU6OmdldFNWR1BhdGhTZWdB
dExlbmd0aEZyb21TVkdQYXRoQnl0ZVN0cmVhbSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3Jl
OjpnZXRUb3RhbExlbmd0aE9mU1ZHUGF0aEJ5dGVTdHJlYW0pOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6Z2V0UG9pbnRBdExlbmd0aE9mU1ZHUGF0aEJ5dGVTdHJlYW0pOiBEZWxldGVkLgor
ICAgICAgICAqIHN2Zy9TVkdQYXRoVXRpbGl0aWVzLmg6CisgICAgICAgICogc3ZnL1NWR1BhdHRl
cm5FbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR1BvbHlFbGVtZW50Lmg6CisgICAgICAgICog
c3ZnL1NWR1JhZGlhbEdyYWRpZW50RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdSZWN0RWxl
bWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdTVkdFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NW
R1NjcmlwdEVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHU3RvcEVsZW1lbnQuaDoKKyAgICAg
ICAgKiBzdmcvU1ZHU3R5bGVFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR1N3aXRjaEVsZW1l
bnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHU3ltYm9sRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9T
VkdUUmVmRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdUU3BhbkVsZW1lbnQuaDoKKyAgICAg
ICAgKiBzdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR1RleHRF
bGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR1RleHRQYXRoRWxlbWVudC5oOgorICAgICAgICAq
IHN2Zy9TVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR1RpdGxl
RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdVbmtub3duRWxlbWVudC5oOgorICAgICAgICAq
IHN2Zy9TVkdVc2VFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR1ZLZXJuRWxlbWVudC5oOgor
ICAgICAgICAqIHN2Zy9TVkdWaWV3RWxlbWVudC5oOgorCiAyMDE5LTA2LTA4ICBTYWlkIEFib3Ut
SGFsbGF3YSAgPHNhaWRAYXBwbGUuY29tPgogCiAgICAgICAgIFNWR1Byb3BlcnR5VHJhaXRzIGFu
ZCBTVkcgZW51bSB0eXBlcyBjbGVhbiB1cApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0FFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQUVsZW1lbnQuaAppbmRleCA3
ZTFkMjk0NjcwNC4uNmQxZWY0NWVjMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdBRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBRWxlbWVudC5oCkBAIC0z
MSw2ICszMSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU1ZHQUVsZW1lbnQgZmlu
YWwgOiBwdWJsaWMgU1ZHR3JhcGhpY3NFbGVtZW50LCBwdWJsaWMgU1ZHRXh0ZXJuYWxSZXNvdXJj
ZXNSZXF1aXJlZCwgcHVibGljIFNWR1VSSVJlZmVyZW5jZSB7CiAgICAgV1RGX01BS0VfSVNPX0FM
TE9DQVRFRChTVkdBRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1By
b3BlcnR5T3duZXJSZWdpc3RyeTxTVkdBRWxlbWVudCwgU1ZHR3JhcGhpY3NFbGVtZW50LCBTVkdF
eHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBTVkdVUklSZWZlcmVuY2U+OworCiBwdWJsaWM6CiAg
ICAgc3RhdGljIFJlZjxTVkdBRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBE
b2N1bWVudCYpOwogCkBAIC00Miw5ICs0NCw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgU1ZH
QUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKLSAgICB1c2luZyBQ
cm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0FFbGVtZW50LCBT
VkdHcmFwaGljc0VsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIFNWR1VSSVJl
ZmVyZW5jZT47CiAgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3Ry
eSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQotCiAgICAgdm9p
ZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5n
JikgZmluYWw7CiAgICAgdm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5h
bWUmKSBmaW5hbDsKIApAQCAtNjYsOCArNjYsNiBAQCBwcml2YXRlOgogCiAgICAgUHJvcGVydHlS
ZWdpc3RyeSBtX3Byb3BlcnR5UmVnaXN0cnkgeyAqdGhpcyB9OwogICAgIFJlZjxTVkdBbmltYXRl
ZFN0cmluZz4gbV90YXJnZXQgeyBTVkdBbmltYXRlZFN0cmluZzo6Y3JlYXRlKHRoaXMpIH07Ci0K
LSAgICAvLyBUaGlzIGlzIGNvbXB1dGVkIG9ubHkgb25jZSBhbmQgbXVzdCBub3QgYmUgYWZmZWN0
ZWQgYnkgc3Vic2VxdWVudCBVUkwgY2hhbmdlcy4KICAgICBtdXRhYmxlIE9wdGlvbmFsPFNoYXJl
ZFN0cmluZ0hhc2g+IG1fc3RvcmVkVmlzaXRlZExpbmtIYXNoOwogfTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0FsdEdseXBoRGVmRWxlbWVudC5oIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0FsdEdseXBoRGVmRWxlbWVudC5oCmluZGV4IDQ3MTc0ZmJiMDJiLi5lM2Q1Nzky
NjdiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FsdEdseXBoRGVmRWxlbWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbHRHbHlwaERlZkVsZW1lbnQuaApAQCAt
MjgsNiArMjgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNWR0FsdEdseXBoRGVm
RWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdFbGVtZW50IHsKICAgICBXVEZfTUFLRV9JU09fQUxM
T0NBVEVEKFNWR0FsdEdseXBoRGVmRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3Ry
eSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdBbHRHbHlwaERlZkVsZW1lbnQsIFNWR0Vs
ZW1lbnQ+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdBbHRHbHlwaERlZkVsZW1lbnQ+
IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIApAQCAtMzYsNyArMzgs
MTAgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBTVkdBbHRHbHlwaERlZkVsZW1lbnQoY29uc3Qg
UXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKKyAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lz
dHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJl
Z2lzdHJ5OyB9CiAgICAgYm9vbCByZW5kZXJlcklzTmVlZGVkKGNvbnN0IFJlbmRlclN0eWxlJikg
ZmluYWwgeyByZXR1cm4gZmFsc2U7IH0KKyAgICAKKyAgICBQcm9wZXJ0eVJlZ2lzdHJ5IG1fcHJv
cGVydHlSZWdpc3RyeSB7ICp0aGlzIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQWx0R2x5cGhFbGVtZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHQWx0R2x5cGhFbGVtZW50LmgKaW5kZXggNWQ5MDJmNjc1NmMuLjk0
NTlkYTQ2ODFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQWx0R2x5cGhFbGVt
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FsdEdseXBoRWxlbWVudC5oCkBAIC0z
Miw2ICszMiw4IEBAIGNsYXNzIFNWR0dseXBoRWxlbWVudDsKIAogY2xhc3MgU1ZHQWx0R2x5cGhF
bGVtZW50IGZpbmFsIDogcHVibGljIFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQsIHB1YmxpYyBT
VkdVUklSZWZlcmVuY2UgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHQWx0R2x5cGhF
bGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJl
Z2lzdHJ5PFNWR0FsdEdseXBoRWxlbWVudCwgU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudCwgU1ZH
VVJJUmVmZXJlbmNlPjsKKwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8U1ZHQWx0R2x5cGhFbGVt
ZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKQEAgLTQ1LDEx
ICs0Nyw5IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgU1ZHQWx0R2x5cGhFbGVtZW50KGNvbnN0
IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCi0gICAgdXNpbmcgUHJvcGVydHlSZWdpc3Ry
eSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdBbHRHbHlwaEVsZW1lbnQsIFNWR1RleHRQ
b3NpdGlvbmluZ0VsZW1lbnQsIFNWR1VSSVJlZmVyZW5jZT47CiAgICAgY29uc3QgU1ZHUHJvcGVy
dHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJv
cGVydHlSZWdpc3RyeTsgfQotCi0gICAgUmVuZGVyUHRyPFJlbmRlckVsZW1lbnQ+IGNyZWF0ZUVs
ZW1lbnRSZW5kZXJlcihSZW5kZXJTdHlsZSYmLCBjb25zdCBSZW5kZXJUcmVlUG9zaXRpb24mKSBv
dmVycmlkZTsKLSAgICBib29sIGNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIoY29uc3QgTm9kZSYp
IGNvbnN0IG92ZXJyaWRlOworICAgIFJlbmRlclB0cjxSZW5kZXJFbGVtZW50PiBjcmVhdGVFbGVt
ZW50UmVuZGVyZXIoUmVuZGVyU3R5bGUmJiwgY29uc3QgUmVuZGVyVHJlZVBvc2l0aW9uJikgZmlu
YWw7CisgICAgYm9vbCBjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNvbnN0IE5vZGUmKSBjb25z
dCBmaW5hbDsKIAogICAgIFByb3BlcnR5UmVnaXN0cnkgbV9wcm9wZXJ0eVJlZ2lzdHJ5IHsgKnRo
aXMgfTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQWx0R2x5cGhJdGVt
RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FsdEdseXBoSXRlbUVsZW1lbnQuaApp
bmRleCA2MDZiNzgzMzQ4NC4uNjVmYzA0ZWVjN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdBbHRHbHlwaEl0ZW1FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0FsdEdseXBoSXRlbUVsZW1lbnQuaApAQCAtMjgsNiArMjgsOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIGNsYXNzIFNWR0FsdEdseXBoSXRlbUVsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHRWxl
bWVudCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdBbHRHbHlwaEl0ZW1FbGVtZW50
KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5
PFNWR0FsdEdseXBoSXRlbUVsZW1lbnQsIFNWR0VsZW1lbnQ+OworCiBwdWJsaWM6CiAgICAgc3Rh
dGljIFJlZjxTVkdBbHRHbHlwaEl0ZW1FbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFt
ZSYsIERvY3VtZW50Jik7CiAKQEAgLTM2LDcgKzM4LDEwIEBAIHB1YmxpYzoKIHByaXZhdGU6CiAg
ICAgU1ZHQWx0R2x5cGhJdGVtRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQm
KTsKIAorICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBj
b25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KICAgICBib29sIHJlbmRl
cmVySXNOZWVkZWQoY29uc3QgUmVuZGVyU3R5bGUmKSBmaW5hbCB7IHJldHVybiBmYWxzZTsgfQor
ICAgIAorICAgIFByb3BlcnR5UmVnaXN0cnkgbV9wcm9wZXJ0eVJlZ2lzdHJ5IHsgKnRoaXMgfTsK
IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdBbmltYXRpb25FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0
aW9uRWxlbWVudC5oCmluZGV4IDU0ZTkxMjgxMjljLi42MjBkOTE5OTZhZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGlvbkVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHQW5pbWF0aW9uRWxlbWVudC5oCkBAIC00MCw2ICs0MCw4IEBAIGVudW0gQW5p
bWF0ZWRQcm9wZXJ0eVZhbHVlVHlwZSB7IFJlZ3VsYXJQcm9wZXJ0eVZhbHVlLCBDdXJyZW50Q29s
b3JWYWx1ZSwgSW5oZXJpCiAKIGNsYXNzIFNWR0FuaW1hdGlvbkVsZW1lbnQgOiBwdWJsaWMgU1ZH
U01JTEVsZW1lbnQsIHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBwdWJsaWMg
U1ZHVGVzdHMgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHQW5pbWF0aW9uRWxlbWVu
dCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3Ry
eTxTVkdBbmltYXRpb25FbGVtZW50LCBTVkdFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1Jl
cXVpcmVkLCBTVkdUZXN0cz47CisKIHB1YmxpYzoKICAgICBmbG9hdCBnZXRTdGFydFRpbWUoKSBj
b25zdDsKICAgICBmbG9hdCBnZXRDdXJyZW50VGltZSgpIGNvbnN0OwpAQCAtODYsOSArODgsNiBA
QCBwdWJsaWM6CiBwcm90ZWN0ZWQ6CiAgICAgU1ZHQW5pbWF0aW9uRWxlbWVudChjb25zdCBRdWFs
aWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBT
VkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHQW5pbWF0aW9uRWxlbWVudCwgU1ZHRWxlbWVudCwg
U1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgU1ZHVGVzdHM+OwotICAgIGNvbnN0IFNWR1By
b3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBvdmVycmlkZSB7IHJldHVy
biBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KLQogICAgIHZpcnR1YWwgdm9pZCByZXNldEFuaW1hdGlv
bigpOwogCiAgICAgc3RhdGljIGJvb2wgaXNTdXBwb3J0ZWRBdHRyaWJ1dGUoY29uc3QgUXVhbGlm
aWVkTmFtZSYpOwpAQCAtMTE1LDYgKzExNCw3IEBAIHByb3RlY3RlZDoKICAgICB2b2lkIHNldENh
bGNNb2RlKENhbGNNb2RlIGNhbGNNb2RlKSB7IG1fY2FsY01vZGUgPSBjYWxjTW9kZTsgfQogCiBw
cml2YXRlOgorICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnko
KSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KICAgICB2b2lkIGFu
aW1hdGlvbkF0dHJpYnV0ZUNoYW5nZWQoKSBvdmVycmlkZTsKICAgICB2b2lkIHNldEF0dHJpYnV0
ZVR5cGUoY29uc3QgQXRvbWljU3RyaW5nJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdDaXJjbGVFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQ2lyY2xlRWxl
bWVudC5oCmluZGV4IDVmOTBjNzBmYTlkLi5mODI3MjYwOTJmZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0NpcmNsZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHQ2lyY2xlRWxlbWVudC5oCkBAIC0yOSw2ICsyOSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogY2xhc3MgU1ZHQ2lyY2xlRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdHZW9tZXRyeUVsZW1l
bnQsIHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkIHsKICAgICBXVEZfTUFLRV9J
U09fQUxMT0NBVEVEKFNWR0NpcmNsZUVsZW1lbnQpOworICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0
cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHQ2lyY2xlRWxlbWVudCwgU1ZHR2VvbWV0
cnlFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkPjsKKwogcHVibGljOgogICAg
IHN0YXRpYyBSZWY8U1ZHQ2lyY2xlRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUm
LCBEb2N1bWVudCYpOwogCkBAIC00Myw5ICs0NSw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAg
U1ZHQ2lyY2xlRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAotICAg
IHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHQ2ly
Y2xlRWxlbWVudCwgU1ZHR2VvbWV0cnlFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVp
cmVkPjsKICAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkg
Y29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9Ci0KICAgICB2b2lkIHBh
cnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKSBm
aW5hbDsKICAgICB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYp
IGZpbmFsOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQ2xpcFBhdGhFbGVt
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQ2xpcFBhdGhFbGVtZW50LmgKaW5kZXggM2Vm
MDM2OGNjOTQuLjg4OTBhMzAyNDhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
Q2xpcFBhdGhFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0NsaXBQYXRoRWxl
bWVudC5oCkBAIC0zMSw2ICszMSw4IEBAIGNsYXNzIFJlbmRlck9iamVjdDsKIAogY2xhc3MgU1ZH
Q2xpcFBhdGhFbGVtZW50IGZpbmFsIDogcHVibGljIFNWR0dyYXBoaWNzRWxlbWVudCwgcHVibGlj
IFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FU
RUQoU1ZHQ2xpcFBhdGhFbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZH
UHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0NsaXBQYXRoRWxlbWVudCwgU1ZHR3JhcGhpY3NFbGVt
ZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkPjsKKwogcHVibGljOgogICAgIHN0YXRp
YyBSZWY8U1ZHQ2xpcFBhdGhFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERv
Y3VtZW50Jik7CiAKQEAgLTQwLDkgKzQyLDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBTVkdD
bGlwUGF0aEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKLSAgICB1
c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0NsaXBQ
YXRoRWxlbWVudCwgU1ZHR3JhcGhpY3NFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVp
cmVkPjsKICAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkg
Y29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9Ci0KICAgICB2b2lkIHBh
cnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKSBm
aW5hbDsKICAgICB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYp
IGZpbmFsOwogICAgIHZvaWQgY2hpbGRyZW5DaGFuZ2VkKGNvbnN0IENoaWxkQ2hhbmdlJikgZmlu
YWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQ29tcG9uZW50VHJhbnNmZXJG
dW5jdGlvbkVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdDb21wb25lbnRUcmFuc2Zl
ckZ1bmN0aW9uRWxlbWVudC5oCmluZGV4IGM1OTk1Y2Q3ODQzLi41NjBjNTJkYTQxYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25FbGVt
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rp
b25FbGVtZW50LmgKQEAgLTI4LDYgKzI4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFz
cyBTVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudCA6IHB1YmxpYyBTVkdFbGVtZW50
IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rp
b25FbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25l
clJlZ2lzdHJ5PFNWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50LCBTVkdFbGVtZW50
PjsKKwogcHVibGljOgogICAgIENvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb24gdHJhbnNmZXJGdW5j
dGlvbigpIGNvbnN0OwogCkBAIC01MCwxMyArNTIsMTEgQEAgcHVibGljOgogcHJvdGVjdGVkOgog
ICAgIFNWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50KGNvbnN0IFF1YWxpZmllZE5h
bWUmLCBEb2N1bWVudCYpOwogCi0gICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3Bl
cnR5T3duZXJSZWdpc3RyeTxTVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudCwgU1ZH
RWxlbWVudD47Ci0gICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3Ry
eSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQotCi0gICAg
dm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3Ry
aW5nJikgb3ZlcnJpZGU7Ci0gICAgdm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxp
ZmllZE5hbWUmKSBvdmVycmlkZTsKKyAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9w
ZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9
CisgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRv
bWljU3RyaW5nJikgZmluYWw7CisgICAgdm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1
YWxpZmllZE5hbWUmKSBmaW5hbDsKIAotICAgIGJvb2wgcmVuZGVyZXJJc05lZWRlZChjb25zdCBS
ZW5kZXJTdHlsZSYpIG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgYm9vbCByZW5kZXJl
cklzTmVlZGVkKGNvbnN0IFJlbmRlclN0eWxlJikgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0KICAg
ICAKIHByaXZhdGU6CiAgICAgUHJvcGVydHlSZWdpc3RyeSBtX3Byb3BlcnR5UmVnaXN0cnkgeyAq
dGhpcyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0N1cnNvckVsZW1lbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdDdXJzb3JFbGVtZW50LmgKaW5kZXggOWI4MTJlYmM4
YjQuLjZhMTIzODExZDg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQ3Vyc29y
RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdDdXJzb3JFbGVtZW50LmgKQEAg
LTMyLDYgKzMyLDggQEAgY2xhc3MgQ1NTQ3Vyc29ySW1hZ2VWYWx1ZTsKIAogY2xhc3MgU1ZHQ3Vy
c29yRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdFbGVtZW50LCBwdWJsaWMgU1ZHRXh0ZXJuYWxS
ZXNvdXJjZXNSZXF1aXJlZCwgcHVibGljIFNWR1Rlc3RzLCBwdWJsaWMgU1ZHVVJJUmVmZXJlbmNl
IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR0N1cnNvckVsZW1lbnQpOworICAgIHVz
aW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHQ3Vyc29y
RWxlbWVudCwgU1ZHRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgU1ZHVGVz
dHMsIFNWR1VSSVJlZmVyZW5jZT47CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR0N1cnNv
ckVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIApAQCAt
NDksOSArNTEsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFNWR0N1cnNvckVsZW1lbnQoY29u
c3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lz
dHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0N1cnNvckVsZW1lbnQsIFNWR0VsZW1l
bnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIFNWR1Rlc3RzLCBTVkdVUklSZWZlcmVu
Y2U+OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBj
b25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KLSAgICAKICAgICB2b2lk
IHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcm
KSBmaW5hbDsKICAgICB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFt
ZSYpIGZpbmFsOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRGVmc0VsZW1l
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdEZWZzRWxlbWVudC5oCmluZGV4IDhmYmJlZjg0
M2JkLi42YTQ0YzkxOGVjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0RlZnNF
bGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0RlZnNFbGVtZW50LmgKQEAgLTI4
LDEzICsyOCwxNCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNWR0RlZnNFbGVtZW50
IGZpbmFsIDogcHVibGljIFNWR0dyYXBoaWNzRWxlbWVudCwgcHVibGljIFNWR0V4dGVybmFsUmVz
b3VyY2VzUmVxdWlyZWQgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHRGVmc0VsZW1l
bnQpOworICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0
cnk8U1ZHRGVmc0VsZW1lbnQsIFNWR0dyYXBoaWNzRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJj
ZXNSZXF1aXJlZD47CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR0RlZnNFbGVtZW50PiBj
cmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKIHByaXZhdGU6CiAgICAg
U1ZHRGVmc0VsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKLSAgICB1
c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0RlZnNF
bGVtZW50LCBTVkdHcmFwaGljc0VsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ+
OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25z
dCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KIAogICAgIGJvb2wgaXNWYWxp
ZCgpIGNvbnN0IGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0Rlc2NF
bGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRGVzY0VsZW1lbnQuaAppbmRleCA1ZjVl
MWQ4MTI0Yi4uMzJiMjI2M2VkMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdE
ZXNjRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdEZXNjRWxlbWVudC5oCkBA
IC0yNiw2ICsyNiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU1ZHRGVzY0VsZW1l
bnQgZmluYWwgOiBwdWJsaWMgU1ZHRWxlbWVudCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRF
RChTVkdEZXNjRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3Bl
cnR5T3duZXJSZWdpc3RyeTxTVkdEZXNjRWxlbWVudCwgU1ZHRWxlbWVudD47CisKIHB1YmxpYzoK
ICAgICBzdGF0aWMgUmVmPFNWR0Rlc2NFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFt
ZSYsIERvY3VtZW50Jik7CiAKQEAgLTM0LDcgKzM2LDEwIEBAIHB1YmxpYzoKIHByaXZhdGU6CiAg
ICAgU1ZHRGVzY0VsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKKyAg
ICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmlu
YWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9CiAgICAgYm9vbCByZW5kZXJlcklzTmVl
ZGVkKGNvbnN0IFJlbmRlclN0eWxlJikgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0KKworICAgIFBy
b3BlcnR5UmVnaXN0cnkgbV9wcm9wZXJ0eVJlZ2lzdHJ5IHsgKnRoaXMgfTsKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVt
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5oCmluZGV4IGI0YTcwMWQxZWQ4
Li5iZDA0YjkzYmQ5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5oCkBAIC00OSw3ICs0OSwxMCBA
QCB2b2lkIG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkoSGFzaE1hcDxBdG9taWNTdHJpbmdJbXBs
KiwgQ1NTUHJvcGVydHlJRD4qIHByb3BlcgogCiBjbGFzcyBTVkdFbGVtZW50IDogcHVibGljIFN0
eWxlZEVsZW1lbnQsIHB1YmxpYyBTVkdMYW5nU3BhY2UsIHB1YmxpYyBTVkdQcm9wZXJ0eU93bmVy
IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR0VsZW1lbnQpOworCiBwdWJsaWM6Cisg
ICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdF
bGVtZW50PjsKKwogICAgIGJvb2wgaXNPdXRlcm1vc3RTVkdTVkdFbGVtZW50KCkgY29uc3Q7CiAK
ICAgICBTVkdTVkdFbGVtZW50KiBvd25lclNWR0VsZW1lbnQoKSBjb25zdDsKQEAgLTEyNiw4ICsx
MjksNyBAQCBwdWJsaWM6CiAgICAgY2xhc3MgSW5zdGFuY2VVcGRhdGVCbG9ja2VyOwogICAgIGNs
YXNzIEluc3RhbmNlSW52YWxpZGF0aW9uR3VhcmQ7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lz
dHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0VsZW1lbnQ+OwotICAgIHZpcnR1YWwg
Y29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IHsgcmV0
dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQorICAgIHZpcnR1YWwgY29uc3QgU1ZHUHJvcGVydHlS
ZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0ID0gMDsKICAgICB2b2lkIGRldGFjaEFs
bFByb3BlcnRpZXMoKSB7IHByb3BlcnR5UmVnaXN0cnkoKS5kZXRhY2hBbGxQcm9wZXJ0aWVzKCk7
IH0KIAogICAgIGJvb2wgaXNBbmltYXRlZFByb3BlcnR5QXR0cmlidXRlKGNvbnN0IFF1YWxpZmll
ZE5hbWUmKSBjb25zdDsKQEAgLTIwMCw3ICsyMDIsNiBAQCBwcml2YXRlOgogCiAgICAgc3RkOjp1
bmlxdWVfcHRyPFNWR1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5PiBtX3Byb3BlcnR5QW5pbWF0b3JG
YWN0b3J5OwogCi0gICAgUHJvcGVydHlSZWdpc3RyeSBtX3Byb3BlcnR5UmVnaXN0cnkgeyAqdGhp
cyB9OwogICAgIFJlZjxTVkdBbmltYXRlZFN0cmluZz4gbV9jbGFzc05hbWUgeyBTVkdBbmltYXRl
ZFN0cmluZzo6Y3JlYXRlKHRoaXMpIH07CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHRWxsaXBzZUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGxpcHNl
RWxlbWVudC5oCmluZGV4IDBmZGNhMzc2N2M0Li5lM2IxZWExODdlZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0VsbGlwc2VFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0VsbGlwc2VFbGVtZW50LmgKQEAgLTI5LDYgKzI5LDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBTVkdFbGxpcHNlRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdHZW9tZXRy
eUVsZW1lbnQsIHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkIHsKICAgICBXVEZf
TUFLRV9JU09fQUxMT0NBVEVEKFNWR0VsbGlwc2VFbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0
eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0VsbGlwc2VFbGVtZW50LCBT
VkdHZW9tZXRyeUVsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ+OworCiBwdWJs
aWM6CiAgICAgc3RhdGljIFJlZjxTVkdFbGxpcHNlRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxp
ZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCkBAIC00NSw5ICs0Nyw3IEBAIHB1YmxpYzoKIHByaXZh
dGU6CiAgICAgU1ZHRWxsaXBzZUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50
Jik7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lz
dHJ5PFNWR0VsbGlwc2VFbGVtZW50LCBTVkdHZW9tZXRyeUVsZW1lbnQsIFNWR0V4dGVybmFsUmVz
b3VyY2VzUmVxdWlyZWQ+OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5
UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KLQog
ICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21p
Y1N0cmluZyYpIGZpbmFsOwogICAgIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFs
aWZpZWROYW1lJikgZmluYWw7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdF
eHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZC5oCmluZGV4IDk5MTlhZjZkMWZhLi40MWViZTljOTk3MyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5o
CkBAIC0zNiw3ICszNiwxMCBAQCBjbGFzcyBTVkdFbGVtZW50OwogLy8gRklYTUU6IFdoZW4gaW1w
bGVtZW50aW5nIGFuaW1WYWwgc3VwcG9ydCwgbWFrZSBzdXJlIHRoYXQgYW5pbVZhbD09YmFzZVZh
bCBmb3IgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZAogY2xhc3MgU1ZHRXh0ZXJuYWxSZXNvdXJj
ZXNSZXF1aXJlZCB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHRXh0ZXJuYWxSZXNvdXJj
ZXNSZXF1aXJlZCk7CisKIHB1YmxpYzoKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZH
UHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ+OworCiAg
ICAgdmlydHVhbCB+U1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCgpID0gZGVmYXVsdDsKIAog
ICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21p
Y1N0cmluZyYpOwpAQCAtNDQsOCArNDcsNiBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgdm9pZCBh
ZGRTdXBwb3J0ZWRBdHRyaWJ1dGVzKEhhc2hTZXQ8UXVhbGlmaWVkTmFtZT4mKTsKIAotICAgIHVz
aW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHRXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZD47Ci0KICAgICBib29sIGV4dGVybmFsUmVzb3VyY2VzUmVxdWly
ZWQoKSBjb25zdCB7IHJldHVybiBtX2V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQtPmN1cnJlbnRW
YWx1ZSgpOyB9CiAgICAgU1ZHQW5pbWF0ZWRCb29sZWFuJiBleHRlcm5hbFJlc291cmNlc1JlcXVp
cmVkQW5pbWF0ZWQoKSB7IHJldHVybiBtX2V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ7IH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQmxlbmRFbGVtZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRkVCbGVuZEVsZW1lbnQuaAppbmRleCA3NTBhNTE3NTk4OS4uZDE1
NWNhNWZkOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUJsZW5kRWxlbWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUJsZW5kRWxlbWVudC5oCkBAIC0yOSw2
ICsyOSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU1ZHRkVCbGVuZEVsZW1lbnQg
ZmluYWwgOiBwdWJsaWMgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzIHsKICAg
ICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR0ZFQmxlbmRFbGVtZW50KTsKKyAgICB1c2luZyBQ
cm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0ZFQmxlbmRFbGVt
ZW50LCBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXM+OworCiBwdWJsaWM6CiAg
ICAgc3RhdGljIFJlZjxTVkdGRUJsZW5kRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5h
bWUmLCBEb2N1bWVudCYpOwogCkBAIC00Myw5ICs0NSw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAg
ICAgU1ZHRkVCbGVuZEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAK
LSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNW
R0ZFQmxlbmRFbGVtZW50LCBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXM+Owog
ICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBm
aW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KLQogICAgIHZvaWQgcGFyc2VBdHRy
aWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYpIG92ZXJyaWRl
OwogICAgIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJikgb3Zl
cnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUNvbG9yTWF0cml4
RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQ29sb3JNYXRyaXhFbGVtZW50LmgK
aW5kZXggMGQyMjc0NjNmMGEuLjA2NGQzOTA5NjM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQuaApAQCAtMjgsNiArMjgsOCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIGNsYXNzIFNWR0ZFQ29sb3JNYXRyaXhFbGVtZW50IGZpbmFsIDogcHVibGljIFNW
R0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcyB7CiAgICAgV1RGX01BS0VfSVNPX0FM
TE9DQVRFRChTVkdGRUNvbG9yTWF0cml4RWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdp
c3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdGRUNvbG9yTWF0cml4RWxlbWVudCwg
U1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzPjsKKwogcHVibGljOgogICAgIHN0
YXRpYyBSZWY8U1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWRO
YW1lJiwgRG9jdW1lbnQmKTsKIApAQCAtNDIsOSArNDQsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgog
ICAgIFNWR0ZFQ29sb3JNYXRyaXhFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVu
dCYpOwogCi0gICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdp
c3RyeTxTVkdGRUNvbG9yTWF0cml4RWxlbWVudCwgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRB
dHRyaWJ1dGVzPjsKICAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lz
dHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9Ci0KICAgICB2
b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJp
bmcmKSBvdmVycmlkZTsKICAgICB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlm
aWVkTmFtZSYpIG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
RkVDb21wb25lbnRUcmFuc2ZlckVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUNv
bXBvbmVudFRyYW5zZmVyRWxlbWVudC5oCmluZGV4IDUyNjIxNmU1NjAxLi5kMTc1YmExYjgzOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQ29tcG9uZW50VHJhbnNmZXJFbGVt
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQ29tcG9uZW50VHJhbnNmZXJFbGVt
ZW50LmgKQEAgLTI4LDYgKzI4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTVkdG
RUNvbXBvbmVudFRyYW5zZmVyRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdGaWx0ZXJQcmltaXRp
dmVTdGFuZGFyZEF0dHJpYnV0ZXMgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHRkVD
b21wb25lbnRUcmFuc2ZlckVsZW1lbnQpOworICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBT
VkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHRkVDb21wb25lbnRUcmFuc2ZlckVsZW1lbnQsIFNW
R0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcz47CisKIHB1YmxpYzoKICAgICBzdGF0
aWMgUmVmPFNWR0ZFQ29tcG9uZW50VHJhbnNmZXJFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlm
aWVkTmFtZSYsIERvY3VtZW50Jik7CiAKQEAgLTM3LDkgKzM5LDcgQEAgcHVibGljOgogcHJpdmF0
ZToKICAgICBTVkdGRUNvbXBvbmVudFRyYW5zZmVyRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1l
JiwgRG9jdW1lbnQmKTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0
eU93bmVyUmVnaXN0cnk8U1ZHRkVDb21wb25lbnRUcmFuc2ZlckVsZW1lbnQsIFNWR0ZpbHRlclBy
aW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcz47CiAgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3Ry
eSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdp
c3RyeTsgfQotCiAgICAgLy8gRklYTUU6IHN2Z0F0dHJpYnV0ZUNoYW5nZWQgbWlzc2luZy4KICAg
ICB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNT
dHJpbmcmKSBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZF
Q29tcG9zaXRlRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQ29tcG9zaXRlRWxl
bWVudC5oCmluZGV4IDE3NDYyZmRjNWJlLi40N2Q3MzkxMWJkMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0ZFQ29tcG9zaXRlRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdGRUNvbXBvc2l0ZUVsZW1lbnQuaApAQCAtMjgsNiArMjgsOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNsYXNzIFNWR0ZFQ29tcG9zaXRlRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBT
VkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMgewogICAgIFdURl9NQUtFX0lTT19B
TExPQ0FURUQoU1ZHRkVDb21wb3NpdGVFbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lz
dHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0ZFQ29tcG9zaXRlRWxlbWVudCwgU1ZH
RmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzPjsKKwogcHVibGljOgogICAgIHN0YXRp
YyBSZWY8U1ZHRkVDb21wb3NpdGVFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYs
IERvY3VtZW50Jik7CiAKQEAgLTUwLDkgKzUyLDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBT
VkdGRUNvbXBvc2l0ZUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAK
LSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNW
R0ZFQ29tcG9zaXRlRWxlbWVudCwgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVz
PjsKICAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29u
c3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9Ci0KICAgICB2b2lkIHBhcnNl
QXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKSBvdmVy
cmlkZTsKICAgICB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYp
IG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVDb252b2x2
ZU1hdHJpeEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUNvbnZvbHZlTWF0cml4
RWxlbWVudC5oCmluZGV4IGU0MDExMWEwNTNjLi4yMTgxZGRlYmRhYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQ29udm9sdmVNYXRyaXhFbGVtZW50LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0ZFQ29udm9sdmVNYXRyaXhFbGVtZW50LmgKQEAgLTI3LDYgKzI3LDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVu
dCBmaW5hbCA6IHB1YmxpYyBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMgewog
ICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQpOwor
ICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZH
RkVDb252b2x2ZU1hdHJpeEVsZW1lbnQsIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmli
dXRlcz47CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR0ZFQ29udm9sdmVNYXRyaXhFbGVt
ZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKQEAgLTYyLDkg
KzY0LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBTVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVu
dChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAotICAgIHVzaW5nIFByb3BlcnR5
UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHRkVDb252b2x2ZU1hdHJpeEVs
ZW1lbnQsIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcz47CiAgICAgY29uc3Qg
U1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0
dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQotCiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25z
dCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJikgb3ZlcnJpZGU7CiAgICAgdm9p
ZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBvdmVycmlkZTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVu
dC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudC5oCmlu
ZGV4IDhkNzk1OTkwY2YyLi40YjgxYjE2NmY3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdGRURpZmZ1c2VMaWdodGluZ0VsZW1lbnQuaApAQCAtMzIsNiArMzIsOCBAQCBjbGFzcyBT
VkdDb2xvcjsKIAogY2xhc3MgU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50IGZpbmFsIDogcHVi
bGljIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcyB7CiAgICAgV1RGX01BS0Vf
SVNPX0FMTE9DQVRFRChTVkdGRURpZmZ1c2VMaWdodGluZ0VsZW1lbnQpOworICAgIHVzaW5nIFBy
b3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHRkVEaWZmdXNlTGln
aHRpbmdFbGVtZW50LCBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXM+OworCiBw
dWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdGRURpZmZ1c2VMaWdodGluZ0VsZW1lbnQ+IGNyZWF0
ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKICAgICB2b2lkIGxpZ2h0RWxlbWVu
dEF0dHJpYnV0ZUNoYW5nZWQoY29uc3QgU1ZHRkVMaWdodEVsZW1lbnQqLCBjb25zdCBRdWFsaWZp
ZWROYW1lJik7CkBAIC01MSw5ICs1Myw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgU1ZHRkVE
aWZmdXNlTGlnaHRpbmdFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwog
Ci0gICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxT
VkdGRURpZmZ1c2VMaWdodGluZ0VsZW1lbnQsIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0
cmlidXRlcz47CiAgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3Ry
eSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQotICAgIAogICAg
IHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0
cmluZyYpIG92ZXJyaWRlOwogICAgIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFs
aWZpZWROYW1lJikgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRURp
c3BsYWNlbWVudE1hcEVsZW1lbnQuaAppbmRleCBjMWE3MGNmNWYyMy4uOWRlODVkYTM0MDAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50LmgK
QEAgLTI3LDYgKzI3LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogIAogY2xhc3MgU1ZHRkVEaXNw
bGFjZW1lbnRNYXBFbGVtZW50IGZpbmFsIDogcHVibGljIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5k
YXJkQXR0cmlidXRlcyB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdGRURpc3BsYWNl
bWVudE1hcEVsZW1lbnQpOworICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0
eU93bmVyUmVnaXN0cnk8U1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50LCBTVkdGaWx0ZXJQcmlt
aXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXM+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdG
RURpc3BsYWNlbWVudE1hcEVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9j
dW1lbnQmKTsKIApAQCAtNDcsOSArNDksNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFNWR0ZF
RGlzcGxhY2VtZW50TWFwRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1
bWVudCYpOwogCi0gICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJS
ZWdpc3RyeTxTVkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQsIFNWR0ZpbHRlclByaW1pdGl2ZVN0
YW5kYXJkQXR0cmlidXRlcz47CiAgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVy
dHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQot
CiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRv
bWljU3RyaW5nJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0
IFF1YWxpZmllZE5hbWUmKSBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0ZFRHJvcFNoYWRvd0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRURy
b3BTaGFkb3dFbGVtZW50LmgKaW5kZXggMDYxY2NhMmJlZDkuLjYwMDYxYjJlNGI4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVEcm9wU2hhZG93RWxlbWVudC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdGRURyb3BTaGFkb3dFbGVtZW50LmgKQEAgLTI3LDYgKzI3LDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTVkdGRURyb3BTaGFkb3dFbGVtZW50IGZp
bmFsIDogcHVibGljIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcyB7CiAgICAg
V1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdGRURyb3BTaGFkb3dFbGVtZW50KTsKKyAgICB1c2lu
ZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0ZFRHJvcFNo
YWRvd0VsZW1lbnQsIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcz47CisKIHB1
YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR0ZFRHJvcFNoYWRvd0VsZW1lbnQ+IGNyZWF0ZShjb25z
dCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKICAgICAKQEAgLTQ3LDkgKzQ5LDcgQEAgcHVi
bGljOgogcHJpdmF0ZToKICAgICBTVkdGRURyb3BTaGFkb3dFbGVtZW50KGNvbnN0IFF1YWxpZmll
ZE5hbWUmLCBEb2N1bWVudCYpOwogCi0gICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1By
b3BlcnR5T3duZXJSZWdpc3RyeTxTVkdGRURyb3BTaGFkb3dFbGVtZW50LCBTVkdGaWx0ZXJQcmlt
aXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXM+OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkm
IHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0
cnk7IH0KLQogICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNv
bnN0IEF0b21pY1N0cmluZyYpIG92ZXJyaWRlOwogICAgIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdl
ZChjb25zdCBRdWFsaWZpZWROYW1lJikgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdGRUZsb29kRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZF
Rmxvb2RFbGVtZW50LmgKaW5kZXggYjk2YTQzYWEzMTMuLjcwYjIzZWQyYjU5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVGbG9vZEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHRkVGbG9vZEVsZW1lbnQuaApAQCAtMjYsMTcgKzI2LDE3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogY2xhc3MgU1ZHRkVGbG9vZEVsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZH
RmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzIHsKICAgICBXVEZfTUFLRV9JU09fQUxM
T0NBVEVEKFNWR0ZFRmxvb2RFbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0g
U1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0ZFRmxvb2RFbGVtZW50LCBTVkdGaWx0ZXJQcmlt
aXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXM+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdG
RUZsb29kRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwog
CiBwcml2YXRlOgogICAgIFNWR0ZFRmxvb2RFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBE
b2N1bWVudCYpOwogCi0gICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3du
ZXJSZWdpc3RyeTxTVkdGRUZsb29kRWxlbWVudCwgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRB
dHRyaWJ1dGVzPjsKICAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lz
dHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9Ci0KLSAgICBi
b29sIHNldEZpbHRlckVmZmVjdEF0dHJpYnV0ZShGaWx0ZXJFZmZlY3QqLCBjb25zdCBRdWFsaWZp
ZWROYW1lJiBhdHRyTmFtZSkgb3ZlcnJpZGU7Ci0gICAgUmVmUHRyPEZpbHRlckVmZmVjdD4gYnVp
bGQoU1ZHRmlsdGVyQnVpbGRlciosIEZpbHRlciYpIGNvbnN0IG92ZXJyaWRlOworICAgIGJvb2wg
c2V0RmlsdGVyRWZmZWN0QXR0cmlidXRlKEZpbHRlckVmZmVjdCosIGNvbnN0IFF1YWxpZmllZE5h
bWUmIGF0dHJOYW1lKSBmaW5hbDsKKyAgICBSZWZQdHI8RmlsdGVyRWZmZWN0PiBidWlsZChTVkdG
aWx0ZXJCdWlsZGVyKiwgRmlsdGVyJikgY29uc3QgZmluYWw7CiAKICAgICBQcm9wZXJ0eVJlZ2lz
dHJ5IG1fcHJvcGVydHlSZWdpc3RyeSB7ICp0aGlzIH07CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0ZFR2F1c3NpYW5CbHVyRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0ZFR2F1c3NpYW5CbHVyRWxlbWVudC5oCmluZGV4IGIyZDVlODNjZWNkLi4zNjdkMDFh
MjQ3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFR2F1c3NpYW5CbHVyRWxl
bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUdhdXNzaWFuQmx1ckVsZW1lbnQu
aApAQCAtMjksNiArMjksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNWR0ZFR2F1
c3NpYW5CbHVyRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFy
ZEF0dHJpYnV0ZXMgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHRkVHYXVzc2lhbkJs
dXJFbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25l
clJlZ2lzdHJ5PFNWR0ZFR2F1c3NpYW5CbHVyRWxlbWVudCwgU1ZHRmlsdGVyUHJpbWl0aXZlU3Rh
bmRhcmRBdHRyaWJ1dGVzPjsKKwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8U1ZHRkVHYXVzc2lh
bkJsdXJFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAK
QEAgLTQ3LDkgKzQ5LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBTVkdGRUdhdXNzaWFuQmx1
ckVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKLSAgICB1c2luZyBQ
cm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0ZFR2F1c3NpYW5C
bHVyRWxlbWVudCwgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzPjsKICAgICBj
b25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwg
eyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9Ci0KICAgICB2b2lkIHBhcnNlQXR0cmlidXRl
KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKSBvdmVycmlkZTsKICAg
ICB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYpIG92ZXJyaWRl
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVJbWFnZUVsZW1lbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUltYWdlRWxlbWVudC5oCmluZGV4IDc2MjQ5OTBiMzU4
Li4xN2E1MGVhMjc4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFSW1hZ2VF
bGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFSW1hZ2VFbGVtZW50LmgKQEAg
LTMyLDYgKzMyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTVkdGRUltYWdlRWxl
bWVudCBmaW5hbCA6IHB1YmxpYyBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMs
IHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBwdWJsaWMgU1ZHVVJJUmVmZXJl
bmNlLCBwdWJsaWMgQ2FjaGVkSW1hZ2VDbGllbnQgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FU
RUQoU1ZHRkVJbWFnZUVsZW1lbnQpOworICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQ
cm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHRkVJbWFnZUVsZW1lbnQsIFNWR0ZpbHRlclByaW1pdGl2
ZVN0YW5kYXJkQXR0cmlidXRlcywgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgU1ZHVVJJ
UmVmZXJlbmNlPjsKKwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8U1ZHRkVJbWFnZUVsZW1lbnQ+
IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIApAQCAtNDUsOSArNDcs
NyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFNWR0ZFSW1hZ2VFbGVtZW50KGNvbnN0IFF1YWxp
ZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCi0gICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNW
R1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdGRUltYWdlRWxlbWVudCwgU1ZHRmlsdGVyUHJpbWl0
aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBTVkdV
UklSZWZlcmVuY2U+OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVn
aXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KLQogICAg
IHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0
cmluZyYpIG92ZXJyaWRlOwogICAgIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFs
aWZpZWROYW1lJikgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdGRUxpZ2h0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFTGlnaHRFbGVtZW50
LmgKaW5kZXggMjUzNGQxZDdhYzkuLjZlYmRjNDI5Y2IwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHRkVMaWdodEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
RkVMaWdodEVsZW1lbnQuaApAQCAtMzEsNiArMzEsOCBAQCBjbGFzcyBTVkdGaWx0ZXJCdWlsZGVy
OwogCiBjbGFzcyBTVkdGRUxpZ2h0RWxlbWVudCA6IHB1YmxpYyBTVkdFbGVtZW50IHsKICAgICBX
VEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR0ZFTGlnaHRFbGVtZW50KTsKKyAgICB1c2luZyBQcm9w
ZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0ZFTGlnaHRFbGVtZW50
LCBTVkdFbGVtZW50PjsKKwogcHVibGljOgogICAgIHZpcnR1YWwgUmVmPExpZ2h0U291cmNlPiBs
aWdodFNvdXJjZShTVkdGaWx0ZXJCdWlsZGVyJikgY29uc3QgPSAwOwogICAgIHN0YXRpYyBTVkdG
RUxpZ2h0RWxlbWVudCogZmluZExpZ2h0RWxlbWVudChjb25zdCBTVkdFbGVtZW50Kik7CkBAIC02
Myw5ICs2NSw3IEBAIHByb3RlY3RlZDoKICAgICBib29sIHJlbmRlcmVySXNOZWVkZWQoY29uc3Qg
UmVuZGVyU3R5bGUmKSBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQogCiBwcml2YXRlOgotICAg
IHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHRkVM
aWdodEVsZW1lbnQsIFNWR0VsZW1lbnQ+OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkm
IHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0
cnk7IH0KLQogICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNv
bnN0IEF0b21pY1N0cmluZyYpIG92ZXJyaWRlOwogICAgIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdl
ZChjb25zdCBRdWFsaWZpZWROYW1lJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBjaGlsZHJlbkNoYW5n
ZWQoY29uc3QgQ2hpbGRDaGFuZ2UmKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdGRU1lcmdlRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFTWVy
Z2VFbGVtZW50LmgKaW5kZXggNzQ1MDg2ODE2ZjYuLmFiZWI2YzFiMTc5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVNZXJnZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHRkVNZXJnZUVsZW1lbnQuaApAQCAtMjYsMTUgKzI2LDE1IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogY2xhc3MgU1ZHRkVNZXJnZUVsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHRmls
dGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NB
VEVEKFNWR0ZFTWVyZ2VFbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZH
UHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0ZFTWVyZ2VFbGVtZW50LCBTVkdGaWx0ZXJQcmltaXRp
dmVTdGFuZGFyZEF0dHJpYnV0ZXM+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdGRU1l
cmdlRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCiBw
cml2YXRlOgogICAgIFNWR0ZFTWVyZ2VFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1
bWVudCYpOwogCi0gICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJS
ZWdpc3RyeTxTVkdGRU1lcmdlRWxlbWVudCwgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRy
aWJ1dGVzPjsKICAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5
KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9Ci0KICAgICBSZWZQ
dHI8RmlsdGVyRWZmZWN0PiBidWlsZChTVkdGaWx0ZXJCdWlsZGVyKiwgRmlsdGVyJikgY29uc3Qg
b3ZlcnJpZGU7CiAKICAgICBQcm9wZXJ0eVJlZ2lzdHJ5IG1fcHJvcGVydHlSZWdpc3RyeSB7ICp0
aGlzIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVNZXJnZU5vZGVFbGVt
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVNZXJnZU5vZGVFbGVtZW50LmgKaW5kZXgg
OGRhOTIzNjE0MDguLmIxM2RmZTA4NzhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHRkVNZXJnZU5vZGVFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFTWVy
Z2VOb2RlRWxlbWVudC5oCkBAIC0yNyw2ICsyNyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Y2xhc3MgU1ZHRkVNZXJnZU5vZGVFbGVtZW50IGZpbmFsIDogcHVibGljIFNWR0VsZW1lbnQgewog
ICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHRkVNZXJnZU5vZGVFbGVtZW50KTsKKyAgICB1
c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0ZFTWVy
Z2VOb2RlRWxlbWVudCwgU1ZHRWxlbWVudD47CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNW
R0ZFTWVyZ2VOb2RlRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVu
dCYpOwogCkBAIC0zNiw5ICszOCw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgU1ZHRkVNZXJn
ZU5vZGVFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCi0gICAgdXNp
bmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdGRU1lcmdl
Tm9kZUVsZW1lbnQsIFNWR0VsZW1lbnQ+OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkm
IHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0
cnk7IH0KLQogICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNv
bnN0IEF0b21pY1N0cmluZyYpIGZpbmFsOwogICAgIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChj
b25zdCBRdWFsaWZpZWROYW1lJikgZmluYWw7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdGRU1vcnBob2xvZ3lFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVN
b3JwaG9sb2d5RWxlbWVudC5oCmluZGV4IDA1MGRlMDgwY2EzLi42YzMyZDJiMWE5ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFTW9ycGhvbG9neUVsZW1lbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVNb3JwaG9sb2d5RWxlbWVudC5oCkBAIC0yNyw2ICsyNyw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU1ZHRkVNb3JwaG9sb2d5RWxlbWVudCBm
aW5hbCA6IHB1YmxpYyBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMgewogICAg
IFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHRkVNb3JwaG9sb2d5RWxlbWVudCk7CisgICAgdXNp
bmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdGRU1vcnBo
b2xvZ3lFbGVtZW50LCBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXM+OworCiBw
dWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdGRU1vcnBob2xvZ3lFbGVtZW50PiBjcmVhdGUoY29u
c3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKQEAgLTQ1LDkgKzQ3LDcgQEAgcHVibGlj
OgogcHJpdmF0ZToKICAgICBTVkdGRU1vcnBob2xvZ3lFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5h
bWUmLCBEb2N1bWVudCYpOwogCi0gICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3Bl
cnR5T3duZXJSZWdpc3RyeTxTVkdGRU1vcnBob2xvZ3lFbGVtZW50LCBTVkdGaWx0ZXJQcmltaXRp
dmVTdGFuZGFyZEF0dHJpYnV0ZXM+OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHBy
b3BlcnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7
IH0KLQogICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0
IEF0b21pY1N0cmluZyYpIG92ZXJyaWRlOwogICAgIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChj
b25zdCBRdWFsaWZpZWROYW1lJikgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdGRU9mZnNldEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRU9m
ZnNldEVsZW1lbnQuaAppbmRleCAzZDhkNzdkYmVmNy4uMWM1MDhiMmMyODggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRU9mZnNldEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHRkVPZmZzZXRFbGVtZW50LmgKQEAgLTI3LDYgKzI3LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBjbGFzcyBTVkdGRU9mZnNldEVsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZH
RmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzIHsKICAgICBXVEZfTUFLRV9JU09fQUxM
T0NBVEVEKFNWR0ZFT2Zmc2V0RWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9
IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdGRU9mZnNldEVsZW1lbnQsIFNWR0ZpbHRlclBy
aW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcz47CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNW
R0ZFT2Zmc2V0RWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYp
OwogCkBAIC00MSw5ICs0Myw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgU1ZHRkVPZmZzZXRF
bGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCi0gICAgdXNpbmcgUHJv
cGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdGRU9mZnNldEVsZW1l
bnQsIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcz47CiAgICAgY29uc3QgU1ZH
UHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJu
IG1fcHJvcGVydHlSZWdpc3RyeTsgfQotCiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBR
dWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBz
dmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBvdmVycmlkZTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50LmgKaW5k
ZXggY2UyM2NiNWFlMjIuLjdhNzU2ZGY1ZTQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50LmgKQEAgLTMwLDYgKzMwLDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBjbGFzcyBTVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50IGZpbmFs
IDogcHVibGljIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcyB7CiAgICAgV1RG
X01BS0VfSVNPX0FMTE9DQVRFRChTVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50KTsKKyAgICB1
c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0ZFU3Bl
Y3VsYXJMaWdodGluZ0VsZW1lbnQsIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRl
cz47CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1l
bnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKICAgICB2b2lkIGxp
Z2h0RWxlbWVudEF0dHJpYnV0ZUNoYW5nZWQoY29uc3QgU1ZHRkVMaWdodEVsZW1lbnQqLCBjb25z
dCBRdWFsaWZpZWROYW1lJik7CkBAIC01MSw5ICs1Myw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAg
ICAgU1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9j
dW1lbnQmKTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVy
UmVnaXN0cnk8U1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudCwgU1ZHRmlsdGVyUHJpbWl0aXZl
U3RhbmRhcmRBdHRyaWJ1dGVzPjsKICAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9w
ZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9
Ci0KICAgICB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBB
dG9taWNTdHJpbmcmKSBvdmVycmlkZTsKICAgICB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29u
c3QgUXVhbGlmaWVkTmFtZSYpIG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHRkVUaWxlRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFVGlsZUVs
ZW1lbnQuaAppbmRleCBhZGNjN2E4ZDMwNC4uNjU2NDcyMDE5MTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdGRVRpbGVFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0ZFVGlsZUVsZW1lbnQuaApAQCAtMjcsNiArMjcsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIGNsYXNzIFNWR0ZFVGlsZUVsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHRmlsdGVyUHJpbWl0
aXZlU3RhbmRhcmRBdHRyaWJ1dGVzIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR0ZF
VGlsZUVsZW1lbnQpOworICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93
bmVyUmVnaXN0cnk8U1ZHRkVUaWxlRWxlbWVudCwgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRB
dHRyaWJ1dGVzPjsKKwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8U1ZHRkVUaWxlRWxlbWVudD4g
Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCkBAIC0zNiw5ICszOCw3
IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgU1ZHRkVUaWxlRWxlbWVudChjb25zdCBRdWFsaWZp
ZWROYW1lJiwgRG9jdW1lbnQmKTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQ
cm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHRkVUaWxlRWxlbWVudCwgU1ZHRmlsdGVyUHJpbWl0aXZl
U3RhbmRhcmRBdHRyaWJ1dGVzPjsKICAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9w
ZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9
Ci0KICAgICB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBB
dG9taWNTdHJpbmcmKSBvdmVycmlkZTsKICAgICB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29u
c3QgUXVhbGlmaWVkTmFtZSYpIG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZF
VHVyYnVsZW5jZUVsZW1lbnQuaAppbmRleCBlYzM3MDE3NjJkZi4uN2NhNWUyOGJiYmYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRVR1cmJ1bGVuY2VFbGVtZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFVHVyYnVsZW5jZUVsZW1lbnQuaApAQCAtMjgsNiArMjgs
OCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNWR0ZFVHVyYnVsZW5jZUVsZW1lbnQg
ZmluYWwgOiBwdWJsaWMgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzIHsKICAg
ICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR0ZFVHVyYnVsZW5jZUVsZW1lbnQpOworICAgIHVz
aW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHRkVUdXJi
dWxlbmNlRWxlbWVudCwgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzPjsKKwog
cHVibGljOgogICAgIC8vIEZvcndhcmQgZGVjbGFyZSBlbnVtZXJhdGlvbnMgaW4gdGhlIFczQyBu
YW1pbmcgc2NoZW1lLCBmb3IgSURMIGdlbmVyYXRpb24uCiAgICAgZW51bSB7CkBAIC01NSw5ICs1
Nyw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgU1ZHRkVUdXJidWxlbmNlRWxlbWVudChjb25z
dCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0
cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHRkVUdXJidWxlbmNlRWxlbWVudCwgU1ZH
RmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzPjsKICAgICBjb25zdCBTVkdQcm9wZXJ0
eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9w
ZXJ0eVJlZ2lzdHJ5OyB9Ci0KICAgICB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmll
ZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKSBvdmVycmlkZTsKICAgICB2b2lkIHN2Z0F0dHJp
YnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYpIG92ZXJyaWRlOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRmlsdGVyRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0ZpbHRlckVsZW1lbnQuaAppbmRleCBlMWYyZjViY2VjNS4uMTExNTVlOGIxYzMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGaWx0ZXJFbGVtZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0ZpbHRlckVsZW1lbnQuaApAQCAtMzIsNiArMzIsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNWR0ZpbHRlckVsZW1lbnQgZmluYWwgOiBwdWJsaWMg
U1ZHRWxlbWVudCwgcHVibGljIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIHB1YmxpYyBT
VkdVUklSZWZlcmVuY2UgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHRmlsdGVyRWxl
bWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdp
c3RyeTxTVkdGaWx0ZXJFbGVtZW50LCBTVkdFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1Jl
cXVpcmVkLCBTVkdVUklSZWZlcmVuY2U+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdG
aWx0ZXJFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAK
QEAgLTUyLDkgKzU0LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBTVkdGaWx0ZXJFbGVtZW50
KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCi0gICAgdXNpbmcgUHJvcGVydHlS
ZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdGaWx0ZXJFbGVtZW50LCBTVkdF
bGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBTVkdVUklSZWZlcmVuY2U+Owog
ICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBm
aW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KLQogICAgIHZvaWQgcGFyc2VBdHRy
aWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYpIGZpbmFsOwog
ICAgIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJikgZmluYWw7
CiAgICAgdm9pZCBjaGlsZHJlbkNoYW5nZWQoY29uc3QgQ2hpbGRDaGFuZ2UmKSBmaW5hbDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0
dHJpYnV0ZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFy
ZEF0dHJpYnV0ZXMuaAppbmRleCBlYjI1YjUzYTk0ZC4uY2I4MTkwMmNkMWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRy
aWJ1dGVzLmgKQEAgLTM2LDE0ICszNiwxNCBAQCBjbGFzcyBTVkdGaWx0ZXJCdWlsZGVyOwogY2xh
c3MgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzIDogcHVibGljIFNWR0VsZW1l
bnQgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRh
cmRBdHRyaWJ1dGVzKTsKIHB1YmxpYzoKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZH
UHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRl
cywgU1ZHRWxlbWVudD47CisKICAgICB2b2lkIHNldFN0YW5kYXJkQXR0cmlidXRlcyhGaWx0ZXJF
ZmZlY3QqKSBjb25zdDsKIAogICAgIHZpcnR1YWwgUmVmUHRyPEZpbHRlckVmZmVjdD4gYnVpbGQo
U1ZHRmlsdGVyQnVpbGRlciosIEZpbHRlciYpIGNvbnN0ID0gMDsKICAgICAvLyBSZXR1cm5zIHRy
dWUsIGlmIHRoZSBuZXcgdmFsdWUgaXMgZGlmZmVyZW50IGZyb20gdGhlIG9sZCBvbmUuCiAgICAg
dmlydHVhbCBib29sIHNldEZpbHRlckVmZmVjdEF0dHJpYnV0ZShGaWx0ZXJFZmZlY3QqLCBjb25z
dCBRdWFsaWZpZWROYW1lJik7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJv
cGVydHlPd25lclJlZ2lzdHJ5PFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcywg
U1ZHRWxlbWVudD47Ci0KICAgICBjb25zdCBTVkdMZW5ndGhWYWx1ZSYgeCgpIGNvbnN0IHsgcmV0
dXJuIG1feC0+Y3VycmVudFZhbHVlKCk7IH0KICAgICBjb25zdCBTVkdMZW5ndGhWYWx1ZSYgeSgp
IGNvbnN0IHsgcmV0dXJuIG1feS0+Y3VycmVudFZhbHVlKCk7IH0KICAgICBjb25zdCBTVkdMZW5n
dGhWYWx1ZSYgd2lkdGgoKSBjb25zdCB7IHJldHVybiBtX3dpZHRoLT5jdXJyZW50VmFsdWUoKTsg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZpdFRvVmlld0JveC5oIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0ZpdFRvVmlld0JveC5oCmluZGV4IGZjYjY5MDExYjA2Li5kYjU2
MDAyYzQ1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZpdFRvVmlld0JveC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGaXRUb1ZpZXdCb3guaApAQCAtMzYsMTAgKzM2
LDEwIEBAIGNsYXNzIEFmZmluZVRyYW5zZm9ybTsKIGNsYXNzIFNWR0ZpdFRvVmlld0JveCB7CiAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHRml0VG9WaWV3Qm94KTsKIHB1YmxpYzoKLSAgICBz
dGF0aWMgQWZmaW5lVHJhbnNmb3JtIHZpZXdCb3hUb1ZpZXdUcmFuc2Zvcm0oY29uc3QgRmxvYXRS
ZWN0JiB2aWV3Qm94UmVjdCwgY29uc3QgU1ZHUHJlc2VydmVBc3BlY3RSYXRpb1ZhbHVlJiwgZmxv
YXQgdmlld1dpZHRoLCBmbG9hdCB2aWV3SGVpZ2h0KTsKLQogICAgIHVzaW5nIFByb3BlcnR5UmVn
aXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHRml0VG9WaWV3Qm94PjsKIAorICAg
IHN0YXRpYyBBZmZpbmVUcmFuc2Zvcm0gdmlld0JveFRvVmlld1RyYW5zZm9ybShjb25zdCBGbG9h
dFJlY3QmIHZpZXdCb3hSZWN0LCBjb25zdCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVmFsdWUmLCBm
bG9hdCB2aWV3V2lkdGgsIGZsb2F0IHZpZXdIZWlnaHQpOworCiAgICAgY29uc3QgRmxvYXRSZWN0
JiB2aWV3Qm94KCkgY29uc3QgeyByZXR1cm4gbV92aWV3Qm94LT5jdXJyZW50VmFsdWUoKTsgfQog
ICAgIGNvbnN0IFNWR1ByZXNlcnZlQXNwZWN0UmF0aW9WYWx1ZSYgcHJlc2VydmVBc3BlY3RSYXRp
bygpIGNvbnN0IHsgcmV0dXJuIG1fcHJlc2VydmVBc3BlY3RSYXRpby0+Y3VycmVudFZhbHVlKCk7
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRFbGVtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEVsZW1lbnQuaAppbmRleCBjZDFlOGVhMGIyNy4uYTY2
MmEwYmQ4ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RWxlbWVudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RWxlbWVudC5oCkBAIC00NCwxNiArNDQs
MTYgQEAgc3RydWN0IFNWR0tlcm5pbmdQYWlyIHsKIAogY2xhc3MgU1ZHRm9udEVsZW1lbnQgZmlu
YWwgOiBwdWJsaWMgU1ZHRWxlbWVudCwgcHVibGljIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWly
ZWQgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHRm9udEVsZW1lbnQpOworICAgIHVz
aW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHRm9udEVs
ZW1lbnQsIFNWR0VsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ+OworCiBwdWJs
aWM6CiAgICAgc3RhdGljIFJlZjxTVkdGb250RWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmll
ZE5hbWUmLCBEb2N1bWVudCYpOwogCiBwcml2YXRlOgogICAgIFNWR0ZvbnRFbGVtZW50KGNvbnN0
IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCi0gICAgYm9vbCByZW5kZXJlcklzTmVlZGVk
KGNvbnN0IFJlbmRlclN0eWxlJikgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0KLQotICAgIHVzaW5n
IFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHRm9udEVsZW1l
bnQsIFNWR0VsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ+OwogICAgIGNvbnN0
IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJl
dHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KKyAgICBib29sIHJlbmRlcmVySXNOZWVkZWQoY29u
c3QgUmVuZGVyU3R5bGUmKSBmaW5hbCB7IHJldHVybiBmYWxzZTsgfQogCiAgICAgUHJvcGVydHlS
ZWdpc3RyeSBtX3Byb3BlcnR5UmVnaXN0cnkgeyAqdGhpcyB9OwogfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RmFjZUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdGb250RmFjZUVsZW1lbnQuaAppbmRleCA4ZjhiYTU4OTJiZS4uMjRmNzRlZWJkODQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RmFjZUVsZW1lbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VFbGVtZW50LmgKQEAgLTMyLDYgKzMyLDggQEAg
Y2xhc3MgU3R5bGVSdWxlRm9udEZhY2U7CiAKIGNsYXNzIFNWR0ZvbnRGYWNlRWxlbWVudCBmaW5h
bCA6IHB1YmxpYyBTVkdFbGVtZW50IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR0Zv
bnRGYWNlRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5
T3duZXJSZWdpc3RyeTxTVkdGb250RmFjZUVsZW1lbnQsIFNWR0VsZW1lbnQ+OworCiBwdWJsaWM6
CiAgICAgc3RhdGljIFJlZjxTVkdGb250RmFjZUVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZp
ZWROYW1lJiwgRG9jdW1lbnQmKTsKIApAQCAtNTcsNiArNTksNyBAQCBwcml2YXRlOgogICAgIFNW
R0ZvbnRGYWNlRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKICAgICB+
U1ZHRm9udEZhY2VFbGVtZW50KCk7CiAKKyAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBw
cm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5
OyB9CiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3Qg
QXRvbWljU3RyaW5nJikgZmluYWw7CiAKICAgICB2b2lkIGNoaWxkcmVuQ2hhbmdlZChjb25zdCBD
aGlsZENoYW5nZSYpIGZpbmFsOwpAQCAtNjUsNiArNjgsNyBAQCBwcml2YXRlOgogCiAgICAgYm9v
bCByZW5kZXJlcklzTmVlZGVkKGNvbnN0IFJlbmRlclN0eWxlJikgZmluYWwgeyByZXR1cm4gZmFs
c2U7IH0KIAorICAgIFByb3BlcnR5UmVnaXN0cnkgbV9wcm9wZXJ0eVJlZ2lzdHJ5IHsgKnRoaXMg
fTsKICAgICBSZWY8U3R5bGVSdWxlRm9udEZhY2U+IG1fZm9udEZhY2VSdWxlOwogICAgIFNWR0Zv
bnRFbGVtZW50KiBtX2ZvbnRFbGVtZW50OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdGb250RmFjZUZvcm1hdEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdG
b250RmFjZUZvcm1hdEVsZW1lbnQuaAppbmRleCAwNTYwNzVlZTlhYi4uMjM1ZTBjOGY4M2EgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RmFjZUZvcm1hdEVsZW1lbnQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VGb3JtYXRFbGVtZW50LmgKQEAgLTI3
LDE0ICsyNywxOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNWR0ZvbnRGYWNlRm9y
bWF0RWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdFbGVtZW50IHsKICAgICBXVEZfTUFLRV9JU09f
QUxMT0NBVEVEKFNWR0ZvbnRGYWNlRm9ybWF0RWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlS
ZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdGb250RmFjZUZvcm1hdEVsZW1l
bnQsIFNWR0VsZW1lbnQ+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdGb250RmFjZUZv
cm1hdEVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAog
cHJpdmF0ZToKICAgICBTVkdGb250RmFjZUZvcm1hdEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFt
ZSYsIERvY3VtZW50Jik7CiAKKyAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0
eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9CiAg
ICAgdm9pZCBjaGlsZHJlbkNoYW5nZWQoY29uc3QgQ2hpbGRDaGFuZ2UmKSBmaW5hbDsKICAgICBi
b29sIHJlbmRlcmVySXNOZWVkZWQoY29uc3QgUmVuZGVyU3R5bGUmKSBmaW5hbCB7IHJldHVybiBm
YWxzZTsgfQorCisgICAgUHJvcGVydHlSZWdpc3RyeSBtX3Byb3BlcnR5UmVnaXN0cnkgeyAqdGhp
cyB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0ZvbnRGYWNlTmFtZUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdGb250RmFjZU5hbWVFbGVtZW50LmgKaW5kZXggODY3Y2RjODVmNmUuLjQyYjIwZjZkNjU4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VOYW1lRWxlbWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RmFjZU5hbWVFbGVtZW50LmgKQEAgLTI5LDYg
KzI5LDggQEAgY2xhc3MgQ1NTRm9udEZhY2VTcmNWYWx1ZTsKIAogY2xhc3MgU1ZHRm9udEZhY2VO
YW1lRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdFbGVtZW50IHsKICAgICBXVEZfTUFLRV9JU09f
QUxMT0NBVEVEKFNWR0ZvbnRGYWNlTmFtZUVsZW1lbnQpOworICAgIHVzaW5nIFByb3BlcnR5UmVn
aXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHRm9udEZhY2VOYW1lRWxlbWVudCwg
U1ZHRWxlbWVudD47CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR0ZvbnRGYWNlTmFtZUVs
ZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKICAgICAKQEAg
LTM3LDcgKzM5LDEwIEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgU1ZHRm9udEZhY2VOYW1lRWxl
bWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAorICAgIGNvbnN0IFNWR1By
b3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBt
X3Byb3BlcnR5UmVnaXN0cnk7IH0KICAgICBib29sIHJlbmRlcmVySXNOZWVkZWQoY29uc3QgUmVu
ZGVyU3R5bGUmKSBmaW5hbCB7IHJldHVybiBmYWxzZTsgfQorCisgICAgUHJvcGVydHlSZWdpc3Ry
eSBtX3Byb3BlcnR5UmVnaXN0cnkgeyAqdGhpcyB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlU3JjRWxlbWVu
dC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlU3JjRWxlbWVudC5oCmluZGV4IDQx
Njk2OGM2MWY1Li43YmVmYTg2MmM1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0ZvbnRGYWNlU3JjRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RmFj
ZVNyY0VsZW1lbnQuaApAQCAtMjksNiArMjksOCBAQCBjbGFzcyBDU1NWYWx1ZUxpc3Q7CiAKIGNs
YXNzIFNWR0ZvbnRGYWNlU3JjRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdFbGVtZW50IHsKICAg
ICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR0ZvbnRGYWNlU3JjRWxlbWVudCk7CisgICAgdXNp
bmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdGb250RmFj
ZVNyY0VsZW1lbnQsIFNWR0VsZW1lbnQ+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdG
b250RmFjZVNyY0VsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQm
KTsKIApAQCAtMzcsOCArMzksMTEgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBTVkdGb250RmFj
ZVNyY0VsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAgICAgCisgICAg
Y29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFs
IHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQogICAgIHZvaWQgY2hpbGRyZW5DaGFuZ2Vk
KGNvbnN0IENoaWxkQ2hhbmdlJikgZmluYWw7CiAgICAgYm9vbCByZW5kZXJlcklzTmVlZGVkKGNv
bnN0IFJlbmRlclN0eWxlJikgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0KKworICAgIFByb3BlcnR5
UmVnaXN0cnkgbV9wcm9wZXJ0eVJlZ2lzdHJ5IHsgKnRoaXMgfTsKIH07CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RmFjZVVy
aUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RmFjZVVyaUVsZW1lbnQuaApp
bmRleCBjNzhhMmJjYTk3Zi4uZDdjOTBkYjg0Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdGb250RmFjZVVyaUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
Rm9udEZhY2VVcmlFbGVtZW50LmgKQEAgLTMxLDYgKzMxLDggQEAgY2xhc3MgQ1NTRm9udEZhY2VT
cmNWYWx1ZTsKIAogY2xhc3MgU1ZHRm9udEZhY2VVcmlFbGVtZW50IGZpbmFsIDogcHVibGljIFNW
R0VsZW1lbnQsIHB1YmxpYyBDYWNoZWRGb250Q2xpZW50IHsKICAgICBXVEZfTUFLRV9JU09fQUxM
T0NBVEVEKFNWR0ZvbnRGYWNlVXJpRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3Ry
eSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdGb250RmFjZVVyaUVsZW1lbnQsIFNWR0Vs
ZW1lbnQ+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdGb250RmFjZVVyaUVsZW1lbnQ+
IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIApAQCAtNDAsMTQgKzQy
LDE3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICBTVkdGb250RmFjZVVyaUVsZW1lbnQoY29u
c3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7Ci0gICAgCisKKyAgICBjb25zdCBTVkdQcm9w
ZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9w
cm9wZXJ0eVJlZ2lzdHJ5OyB9CiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZp
ZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJikgZmluYWw7CiAgICAgdm9pZCBjaGlsZHJlbkNo
YW5nZWQoY29uc3QgQ2hpbGRDaGFuZ2UmKSBmaW5hbDsKKwogICAgIEluc2VydGVkSW50b0FuY2Vz
dG9yUmVzdWx0IGluc2VydGVkSW50b0FuY2VzdG9yKEluc2VydGlvblR5cGUsIENvbnRhaW5lck5v
ZGUmKSBmaW5hbDsKICAgICBib29sIHJlbmRlcmVySXNOZWVkZWQoY29uc3QgUmVuZGVyU3R5bGUm
KSBmaW5hbCB7IHJldHVybiBmYWxzZTsgfQogCiAgICAgdm9pZCBsb2FkRm9udCgpOwogCisgICAg
UHJvcGVydHlSZWdpc3RyeSBtX3Byb3BlcnR5UmVnaXN0cnkgeyAqdGhpcyB9OwogICAgIENhY2hl
ZFJlc291cmNlSGFuZGxlPENhY2hlZEZvbnQ+IG1fY2FjaGVkRm9udDsKIH07CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC5oIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LmgKaW5kZXggZmI1NzQ2OGEwNmYu
LjBhYzg1MWRkNjlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9yZWlnbk9i
amVjdEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9yZWlnbk9iamVjdEVs
ZW1lbnQuaApAQCAtMjgsNiArMjgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNW
R0ZvcmVpZ25PYmplY3RFbGVtZW50IGZpbmFsIDogcHVibGljIFNWR0dyYXBoaWNzRWxlbWVudCwg
cHVibGljIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQgewogICAgIFdURl9NQUtFX0lTT19B
TExPQ0FURUQoU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQpOworICAgIHVzaW5nIFByb3BlcnR5UmVn
aXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQs
IFNWR0dyYXBoaWNzRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZD47CisKIHB1
YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR0ZvcmVpZ25PYmplY3RFbGVtZW50PiBjcmVhdGUoY29u
c3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKQEAgLTQ0LDkgKzQ2LDcgQEAgcHVibGlj
OgogcHJpdmF0ZToKICAgICBTVkdGb3JlaWduT2JqZWN0RWxlbWVudChjb25zdCBRdWFsaWZpZWRO
YW1lJiwgRG9jdW1lbnQmKTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9w
ZXJ0eU93bmVyUmVnaXN0cnk8U1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQsIFNWR0dyYXBoaWNzRWxl
bWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZD47CiAgICAgY29uc3QgU1ZHUHJvcGVy
dHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJv
cGVydHlSZWdpc3RyeTsgfQotCiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZp
ZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJikgZmluYWw7CiAgICAgdm9pZCBzdmdBdHRyaWJ1
dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBmaW5hbDsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0dFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR0Vs
ZW1lbnQuaAppbmRleCBjYjIwNmFlMzRhZC4uYWRhZWJiZWQxNTMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdHRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdH
RWxlbWVudC5oCkBAIC0yOCw2ICsyOCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3Mg
U1ZHR0VsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHR3JhcGhpY3NFbGVtZW50LCBwdWJsaWMgU1ZH
RXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChT
VkdHRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3du
ZXJSZWdpc3RyeTxTVkdHRWxlbWVudCwgU1ZHR3JhcGhpY3NFbGVtZW50LCBTVkdFeHRlcm5hbFJl
c291cmNlc1JlcXVpcmVkPjsKKwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8U1ZHR0VsZW1lbnQ+
IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKICAgICBzdGF0aWMgUmVm
PFNWR0dFbGVtZW50PiBjcmVhdGUoRG9jdW1lbnQmKTsKQEAgLTM3LDkgKzM5LDcgQEAgcHJpdmF0
ZToKIAogICAgIFJlbmRlclB0cjxSZW5kZXJFbGVtZW50PiBjcmVhdGVFbGVtZW50UmVuZGVyZXIo
UmVuZGVyU3R5bGUmJiwgY29uc3QgUmVuZGVyVHJlZVBvc2l0aW9uJikgZmluYWw7CiAKLSAgICB1
c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0dFbGVt
ZW50LCBTVkdHcmFwaGljc0VsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ+Owog
ICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBm
aW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KLQogICAgIHZvaWQgcGFyc2VBdHRy
aWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYpIGZpbmFsOwog
ICAgIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJikgZmluYWw7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHZW9tZXRyeUVsZW1lbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHZW9tZXRyeUVsZW1lbnQuaAppbmRleCBkMjRlNjIyZDFl
MC4uM2NmMjQ3ZDdkZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHZW9tZXRy
eUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR2VvbWV0cnlFbGVtZW50LmgK
QEAgLTMzLDE1ICszMywxNiBAQCBjbGFzcyBTVkdQb2ludDsKIAogY2xhc3MgU1ZHR2VvbWV0cnlF
bGVtZW50IDogcHVibGljIFNWR0dyYXBoaWNzRWxlbWVudCB7CiAgICAgV1RGX01BS0VfSVNPX0FM
TE9DQVRFRChTVkdHZW9tZXRyeUVsZW1lbnQpOworICAgIAogcHVibGljOgorICAgIHVzaW5nIFBy
b3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHR2VvbWV0cnlFbGVt
ZW50LCBTVkdHcmFwaGljc0VsZW1lbnQ+OworCiAgICAgdmlydHVhbCBmbG9hdCBnZXRUb3RhbExl
bmd0aCgpIGNvbnN0OwogICAgIHZpcnR1YWwgUmVmPFNWR1BvaW50PiBnZXRQb2ludEF0TGVuZ3Ro
KGZsb2F0IGRpc3RhbmNlKSBjb25zdDsKIAogICAgIGJvb2wgaXNQb2ludEluRmlsbChET01Qb2lu
dEluaXQmJik7CiAgICAgYm9vbCBpc1BvaW50SW5TdHJva2UoRE9NUG9pbnRJbml0JiYpOwogCi0g
ICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdH
ZW9tZXRyeUVsZW1lbnQsIFNWR0dyYXBoaWNzRWxlbWVudD47Ci0KICAgICBmbG9hdCBwYXRoTGVu
Z3RoKCkgY29uc3QgeyByZXR1cm4gbV9wYXRoTGVuZ3RoLT5jdXJyZW50VmFsdWUoKTsgfQogICAg
IFNWR0FuaW1hdGVkTnVtYmVyJiBwYXRoTGVuZ3RoQW5pbWF0ZWQoKSB7IHJldHVybiBtX3BhdGhM
ZW5ndGg7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dseXBoRWxlbWVu
dC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dseXBoRWxlbWVudC5oCmluZGV4IDlmZjk5MWU3
MjBjLi45MGM2OTM4OTVmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dseXBo
RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHbHlwaEVsZW1lbnQuaApAQCAt
MjksNiArMjksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNWR0dseXBoRWxlbWVu
dCBmaW5hbCA6IHB1YmxpYyBTVkdFbGVtZW50IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVE
KFNWR0dseXBoRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3Bl
cnR5T3duZXJSZWdpc3RyeTxTVkdHbHlwaEVsZW1lbnQsIFNWR0VsZW1lbnQ+OworCiBwdWJsaWM6
CiAgICAgc3RhdGljIFJlZjxTVkdHbHlwaEVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWRO
YW1lJiwgRG9jdW1lbnQmKTsKIApAQCAtMzgsNyArNDAsMTAgQEAgcHVibGljOgogcHJpdmF0ZToK
ICAgICBTVkdHbHlwaEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAK
KyAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3Qg
ZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9CiAgICAgYm9vbCByZW5kZXJlcklz
TmVlZGVkKGNvbnN0IFJlbmRlclN0eWxlJikgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0KKworICAg
IFByb3BlcnR5UmVnaXN0cnkgbV9wcm9wZXJ0eVJlZ2lzdHJ5IHsgKnRoaXMgfTsKIH07CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdH
bHlwaFJlZkVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHbHlwaFJlZkVsZW1lbnQu
aAppbmRleCBiZTA0NmVlNzM2Mi4uNTkyYjhjZmFiODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdHbHlwaFJlZkVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
R2x5cGhSZWZFbGVtZW50LmgKQEAgLTI5LDYgKzI5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBjbGFzcyBTVkdHbHlwaFJlZkVsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHRWxlbWVudCwgcHVi
bGljIFNWR1VSSVJlZmVyZW5jZSB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdHbHlw
aFJlZkVsZW1lbnQpOworICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93
bmVyUmVnaXN0cnk8U1ZHR2x5cGhSZWZFbGVtZW50LCBTVkdFbGVtZW50LCBTVkdVUklSZWZlcmVu
Y2U+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdHbHlwaFJlZkVsZW1lbnQ+IGNyZWF0
ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIApAQCAtNDYsOSArNDgsNyBAQCBw
dWJsaWM6CiBwcml2YXRlOgogICAgIFNWR0dseXBoUmVmRWxlbWVudChjb25zdCBRdWFsaWZpZWRO
YW1lJiwgRG9jdW1lbnQmKTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9w
ZXJ0eU93bmVyUmVnaXN0cnk8U1ZHR2x5cGhSZWZFbGVtZW50LCBTVkdFbGVtZW50LCBTVkdVUklS
ZWZlcmVuY2U+OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0
cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KLQogICAgIHZv
aWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmlu
ZyYpIGZpbmFsOwogICAgIGJvb2wgcmVuZGVyZXJJc05lZWRlZChjb25zdCBSZW5kZXJTdHlsZSYp
IGZpbmFsIHsgcmV0dXJuIGZhbHNlOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdHcmFkaWVudEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHcmFkaWVudEVs
ZW1lbnQuaAppbmRleCAyNjEzZTg4NjM3NS4uMGI2YzdkNWYyZGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdHcmFkaWVudEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHR3JhZGllbnRFbGVtZW50LmgKQEAgLTMyLDcgKzMyLDEwIEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgU1ZHR3JhZGllbnRFbGVtZW50IDogcHVibGljIFNWR0VsZW1lbnQsIHB1
YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBwdWJsaWMgU1ZHVVJJUmVmZXJlbmNl
IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR0dyYWRpZW50RWxlbWVudCk7CisKIHB1
YmxpYzoKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lz
dHJ5PFNWR0dyYWRpZW50RWxlbWVudCwgU1ZHRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNS
ZXF1aXJlZCwgU1ZHVVJJUmVmZXJlbmNlPjsKKwogICAgIGVudW0gewogICAgICAgICBTVkdfU1BS
RUFETUVUSE9EX1VOS05PV04gPSBTVkdTcHJlYWRNZXRob2RVbmtub3duLAogICAgICAgICBTVkdf
U1BSRUFETUVUSE9EX1BBRCA9IFNWR1NwcmVhZE1ldGhvZFJlZmxlY3QsCkBAIC00Miw4ICs0NSw2
IEBAIHB1YmxpYzoKIAogICAgIFZlY3RvcjxHcmFkaWVudDo6Q29sb3JTdG9wPiBidWlsZFN0b3Bz
KCk7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lz
dHJ5PFNWR0dyYWRpZW50RWxlbWVudCwgU1ZHRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNS
ZXF1aXJlZCwgU1ZHVVJJUmVmZXJlbmNlPjsKLQogICAgIFNWR1NwcmVhZE1ldGhvZFR5cGUgc3By
ZWFkTWV0aG9kKCkgY29uc3QgeyByZXR1cm4gbV9zcHJlYWRNZXRob2QtPmN1cnJlbnRWYWx1ZTxT
VkdTcHJlYWRNZXRob2RUeXBlPigpOyB9CiAgICAgU1ZHVW5pdFR5cGVzOjpTVkdVbml0VHlwZSBn
cmFkaWVudFVuaXRzKCkgY29uc3QgeyByZXR1cm4gbV9ncmFkaWVudFVuaXRzLT5jdXJyZW50VmFs
dWU8U1ZHVW5pdFR5cGVzOjpTVkdVbml0VHlwZT4oKTsgfQogICAgIGNvbnN0IFNWR1RyYW5zZm9y
bUxpc3QmIGdyYWRpZW50VHJhbnNmb3JtKCkgY29uc3QgeyByZXR1cm4gbV9ncmFkaWVudFRyYW5z
Zm9ybS0+Y3VycmVudFZhbHVlKCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdHcmFwaGljc0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHcmFwaGljc0VsZW1l
bnQuaAppbmRleCBkNTE2ZTU5YjM4NS4uN2VjNDRmMWJjM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdHcmFwaGljc0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHR3JhcGhpY3NFbGVtZW50LmgKQEAgLTM0LDcgKzM0LDEwIEBAIGNsYXNzIFNWR01hdHJpeDsK
IAogY2xhc3MgU1ZHR3JhcGhpY3NFbGVtZW50IDogcHVibGljIFNWR0VsZW1lbnQsIHB1YmxpYyBT
VkdUcmFuc2Zvcm1hYmxlLCBwdWJsaWMgU1ZHVGVzdHMgewogICAgIFdURl9NQUtFX0lTT19BTExP
Q0FURUQoU1ZHR3JhcGhpY3NFbGVtZW50KTsKKwogcHVibGljOgorICAgIHVzaW5nIFByb3BlcnR5
UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHR3JhcGhpY3NFbGVtZW50LCBT
VkdFbGVtZW50LCBTVkdUZXN0cz47CisKICAgICB2aXJ0dWFsIH5TVkdHcmFwaGljc0VsZW1lbnQo
KTsKIAogICAgIFJlZjxTVkdNYXRyaXg+IGdldENUTUZvckJpbmRpbmdzKCk7CkBAIC02Miw4ICs2
NSw2IEBAIHB1YmxpYzoKIAogICAgIHNpemVfdCBhcHByb3hpbWF0ZU1lbW9yeUNvc3QoKSBjb25z
dCBvdmVycmlkZSB7IHJldHVybiBzaXplb2YoKnRoaXMpOyB9CiAKLSAgICB1c2luZyBQcm9wZXJ0
eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0dyYXBoaWNzRWxlbWVudCwg
U1ZHRWxlbWVudCwgU1ZHVGVzdHM+OwotCiAgICAgY29uc3QgU1ZHVHJhbnNmb3JtTGlzdCYgdHJh
bnNmb3JtKCkgY29uc3QgeyByZXR1cm4gbV90cmFuc2Zvcm0tPmN1cnJlbnRWYWx1ZSgpOyB9CiAg
ICAgU1ZHQW5pbWF0ZWRUcmFuc2Zvcm1MaXN0JiB0cmFuc2Zvcm1BbmltYXRlZCgpIHsgcmV0dXJu
IG1fdHJhbnNmb3JtOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdIS2Vy
bkVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdIS2VybkVsZW1lbnQuaAppbmRleCA3
NDdiMDMyN2Q2OS4uZjI5MzVmMDBkMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdIS2VybkVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHSEtlcm5FbGVtZW50
LmgKQEAgLTI5LDYgKzI5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTVkdIS2Vy
bkVsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHRWxlbWVudCB7CiAgICAgV1RGX01BS0VfSVNPX0FM
TE9DQVRFRChTVkdIS2VybkVsZW1lbnQpOworICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBT
VkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHSEtlcm5FbGVtZW50LCBTVkdFbGVtZW50PjsKKwog
cHVibGljOgogICAgIHN0YXRpYyBSZWY8U1ZHSEtlcm5FbGVtZW50PiBjcmVhdGUoY29uc3QgUXVh
bGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKQEAgLTM3LDcgKzM5LDEwIEBAIHB1YmxpYzoKIHBy
aXZhdGU6CiAgICAgU1ZHSEtlcm5FbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVu
dCYpOwogCisgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgp
IGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQogICAgIGJvb2wgcmVu
ZGVyZXJJc05lZWRlZChjb25zdCBSZW5kZXJTdHlsZSYpIGZpbmFsIHsgcmV0dXJuIGZhbHNlOyB9
CisKKyAgICBQcm9wZXJ0eVJlZ2lzdHJ5IG1fcHJvcGVydHlSZWdpc3RyeSB7ICp0aGlzIH07CiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHSW1hZ2VFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHSW1hZ2VFbGVtZW50
LmgKaW5kZXggZGNkN2EwODI2YWQuLmQzMWYwMzJkYjljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHSW1hZ2VFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0lt
YWdlRWxlbWVudC5oCkBAIC0zMCw2ICszMCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xh
c3MgU1ZHSW1hZ2VFbGVtZW50IGZpbmFsIDogcHVibGljIFNWR0dyYXBoaWNzRWxlbWVudCwgcHVi
bGljIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIHB1YmxpYyBTVkdVUklSZWZlcmVuY2Ug
ewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHSW1hZ2VFbGVtZW50KTsKKyAgICB1c2lu
ZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0ltYWdlRWxl
bWVudCwgU1ZHR3JhcGhpY3NFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBT
VkdVUklSZWZlcmVuY2U+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdJbWFnZUVsZW1l
bnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIApAQCAtNTEsOSAr
NTMsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFNWR0ltYWdlRWxlbWVudChjb25zdCBRdWFs
aWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKICAgICAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5
ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0ltYWdlRWxlbWVudCwgU1ZHR3JhcGhpY3NF
bGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBTVkdVUklSZWZlcmVuY2U+Owog
ICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBm
aW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KLQogICAgIHZvaWQgcGFyc2VBdHRy
aWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYpIGZpbmFsOwog
ICAgIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJikgZmluYWw7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMaW5lRWxlbWVudC5oIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0xpbmVFbGVtZW50LmgKaW5kZXggZGQwMjlhM2Q1YmUuLmUxZmJl
YTllMjUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTGluZUVsZW1lbnQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTGluZUVsZW1lbnQuaApAQCAtMjksNiArMjksOCBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNWR0xpbmVFbGVtZW50IGZpbmFsIDogcHVi
bGljIFNWR0dlb21ldHJ5RWxlbWVudCwgcHVibGljIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWly
ZWQgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHTGluZUVsZW1lbnQpOworICAgIHVz
aW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHTGluZUVs
ZW1lbnQsIFNWR0dlb21ldHJ5RWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZD47
CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR0xpbmVFbGVtZW50PiBjcmVhdGUoY29uc3Qg
UXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKQEAgLTQ1LDkgKzQ3LDcgQEAgcHVibGljOgog
cHJpdmF0ZToKICAgICBTVkdMaW5lRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1l
bnQmKTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVn
aXN0cnk8U1ZHTGluZUVsZW1lbnQsIFNWR0dlb21ldHJ5RWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNv
dXJjZXNSZXF1aXJlZD47CiAgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlS
ZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQotCiAg
ICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWlj
U3RyaW5nJikgZmluYWw7CiAgICAgdm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxp
ZmllZE5hbWUmKSBmaW5hbDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xp
bmVhckdyYWRpZW50RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xpbmVhckdyYWRp
ZW50RWxlbWVudC5oCmluZGV4IDA0YTMxZGQ0N2MwLi44YWQxZWE5ZDI0OSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0xpbmVhckdyYWRpZW50RWxlbWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQuaApAQCAtMzAsNiArMzAsOCBA
QCBzdHJ1Y3QgTGluZWFyR3JhZGllbnRBdHRyaWJ1dGVzOwogCiBjbGFzcyBTVkdMaW5lYXJHcmFk
aWVudEVsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHR3JhZGllbnRFbGVtZW50IHsKICAgICBXVEZf
TUFLRV9JU09fQUxMT0NBVEVEKFNWR0xpbmVhckdyYWRpZW50RWxlbWVudCk7CisgICAgdXNpbmcg
UHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdMaW5lYXJHcmFk
aWVudEVsZW1lbnQsIFNWR0dyYWRpZW50RWxlbWVudD47CisKIHB1YmxpYzoKICAgICBzdGF0aWMg
UmVmPFNWR0xpbmVhckdyYWRpZW50RWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUm
LCBEb2N1bWVudCYpOwogCkBAIC00OCw5ICs1MCw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAg
U1ZHTGluZWFyR3JhZGllbnRFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYp
OwogCi0gICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3Ry
eTxTVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQsIFNWR0dyYWRpZW50RWxlbWVudD47CiAgICAgY29u
c3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsg
cmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQotCiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShj
b25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJikgb3ZlcnJpZGU7CiAgICAg
dm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBvdmVycmlkZTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR01QYXRoRWxlbWVudC5oIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR01QYXRoRWxlbWVudC5oCmluZGV4IGQ2NTkwM2NlYjgzLi42NzBl
NjRkOWFiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR01QYXRoRWxlbWVudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNUGF0aEVsZW1lbnQuaApAQCAtMzEsNiArMzEs
OCBAQCBjbGFzcyBTVkdQYXRoRWxlbWVudDsKIAogY2xhc3MgU1ZHTVBhdGhFbGVtZW50IGZpbmFs
IDogcHVibGljIFNWR0VsZW1lbnQsIHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
LCBwdWJsaWMgU1ZHVVJJUmVmZXJlbmNlIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNW
R01QYXRoRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5
T3duZXJSZWdpc3RyeTxTVkdNUGF0aEVsZW1lbnQsIFNWR0VsZW1lbnQsIFNWR0V4dGVybmFsUmVz
b3VyY2VzUmVxdWlyZWQsIFNWR1VSSVJlZmVyZW5jZT47CisKIHB1YmxpYzoKICAgICBzdGF0aWMg
UmVmPFNWR01QYXRoRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVu
dCYpOwogCkBAIC00Myw5ICs0NSw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgU1ZHTVBhdGhF
bGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCi0gICAgdXNpbmcgUHJv
cGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdNUGF0aEVsZW1lbnQs
IFNWR0VsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIFNWR1VSSVJlZmVyZW5j
ZT47CiAgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNv
bnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQotCiAgICAgdm9pZCBwYXJz
ZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJikgZmlu
YWw7CiAgICAgdm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBm
aW5hbDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR01hcmtlckVsZW1lbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNYXJrZXJFbGVtZW50LmgKaW5kZXggZjAzNDU4NDQw
M2IuLmE2M2JjNTM1MGJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWFya2Vy
RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNYXJrZXJFbGVtZW50LmgKQEAg
LTMwLDYgKzMwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTVkdNYXJrZXJFbGVt
ZW50IGZpbmFsIDogcHVibGljIFNWR0VsZW1lbnQsIHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNl
c1JlcXVpcmVkLCBwdWJsaWMgU1ZHRml0VG9WaWV3Qm94IHsKICAgICBXVEZfTUFLRV9JU09fQUxM
T0NBVEVEKFNWR01hcmtlckVsZW1lbnQpOworICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBT
VkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHTWFya2VyRWxlbWVudCwgU1ZHRWxlbWVudCwgU1ZH
RXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgU1ZHRml0VG9WaWV3Qm94PjsKKwogcHVibGljOgog
ICAgIC8vIEZvcndhcmQgZGVjbGFyZSBlbnVtZXJhdGlvbnMgaW4gdGhlIFczQyBuYW1pbmcgc2No
ZW1lLCBmb3IgSURMIGdlbmVyYXRpb24uCiAgICAgZW51bSB7CkBAIC03MSw5ICs3Myw3IEBAIHB1
YmxpYzoKIHByaXZhdGU6CiAgICAgU1ZHTWFya2VyRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1l
JiwgRG9jdW1lbnQmKTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0
eU93bmVyUmVnaXN0cnk8U1ZHTWFya2VyRWxlbWVudCwgU1ZHRWxlbWVudCwgU1ZHRXh0ZXJuYWxS
ZXNvdXJjZXNSZXF1aXJlZCwgU1ZHRml0VG9WaWV3Qm94PjsKICAgICBjb25zdCBTVkdQcm9wZXJ0
eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9w
ZXJ0eVJlZ2lzdHJ5OyB9Ci0KICAgICB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmll
ZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKSBvdmVycmlkZTsKICAgICB2b2lkIHN2Z0F0dHJp
YnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYpIG92ZXJyaWRlOwogICAgIHZvaWQgY2hp
bGRyZW5DaGFuZ2VkKGNvbnN0IENoaWxkQ2hhbmdlJikgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWFza0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdNYXNrRWxlbWVudC5oCmluZGV4IGM1ZTM1OGRmZmJhLi5jMzE2MmYzODU0NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR01hc2tFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR01hc2tFbGVtZW50LmgKQEAgLTMwLDYgKzMwLDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBTVkdNYXNrRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdFbGVtZW50LCBw
dWJsaWMgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgcHVibGljIFNWR1Rlc3RzIHsKICAg
ICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR01hc2tFbGVtZW50KTsKKyAgICB1c2luZyBQcm9w
ZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR01hc2tFbGVtZW50LCBT
VkdFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBTVkdUZXN0cz47CisKIHB1
YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR01hc2tFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlm
aWVkTmFtZSYsIERvY3VtZW50Jik7CiAKQEAgLTUwLDkgKzUyLDcgQEAgcHVibGljOgogcHJpdmF0
ZToKICAgICBTVkdNYXNrRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsK
IAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8
U1ZHTWFza0VsZW1lbnQsIFNWR0VsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQs
IFNWR1Rlc3RzPjsKICAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lz
dHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9Ci0KICAgICB2
b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJp
bmcmKSBmaW5hbDsKICAgICB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVk
TmFtZSYpIGZpbmFsOwogICAgIHZvaWQgY2hpbGRyZW5DaGFuZ2VkKGNvbnN0IENoaWxkQ2hhbmdl
JikgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWV0YWRhdGFFbGVt
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWV0YWRhdGFFbGVtZW50LmgKaW5kZXggNmIw
NDExMmI3ZmEuLmRiOWJlNzgwMWYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
TWV0YWRhdGFFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR01ldGFkYXRhRWxl
bWVudC5oCkBAIC0yNiwxMyArMjYsMTggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBT
VkdNZXRhZGF0YUVsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHRWxlbWVudCB7CiAgICAgV1RGX01B
S0VfSVNPX0FMTE9DQVRFRChTVkdNZXRhZGF0YUVsZW1lbnQpOworICAgIHVzaW5nIFByb3BlcnR5
UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHTWV0YWRhdGFFbGVtZW50LCBT
VkdFbGVtZW50PjsKKwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8U1ZHTWV0YWRhdGFFbGVtZW50
PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKIHByaXZhdGU6CiAg
ICAgU1ZHTWV0YWRhdGFFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwog
CisgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0
IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQogICAgIGJvb2wgcmVuZGVyZXJJ
c05lZWRlZChjb25zdCBSZW5kZXJTdHlsZSYpIGZpbmFsIHsgcmV0dXJuIGZhbHNlOyB9CisgICAg
CisgICAgUHJvcGVydHlSZWdpc3RyeSBtX3Byb3BlcnR5UmVnaXN0cnkgeyAqdGhpcyB9OwogfTsK
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR01pc3NpbmdHbHlwaEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNaXNzaW5n
R2x5cGhFbGVtZW50LmgKaW5kZXggNDRiMzc0NmE4MjcuLjQ0OWQ0MTQ0N2Q0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWlzc2luZ0dseXBoRWxlbWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdNaXNzaW5nR2x5cGhFbGVtZW50LmgKQEAgLTI4LDEzICsyOCwxOCBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNWR01pc3NpbmdHbHlwaEVsZW1lbnQgZmlu
YWwgOiBwdWJsaWMgU1ZHRWxlbWVudCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdN
aXNzaW5nR2x5cGhFbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJv
cGVydHlPd25lclJlZ2lzdHJ5PFNWR01pc3NpbmdHbHlwaEVsZW1lbnQsIFNWR0VsZW1lbnQ+Owor
CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdNaXNzaW5nR2x5cGhFbGVtZW50PiBjcmVhdGUo
Y29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKIHByaXZhdGU6CiAgICAgU1ZHTWlz
c2luZ0dseXBoRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAorICAg
IGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBmaW5h
bCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KICAgICBib29sIHJlbmRlcmVySXNOZWVk
ZWQoY29uc3QgUmVuZGVyU3R5bGUmKSBmaW5hbCB7IHJldHVybiBmYWxzZTsgfQorCisgICAgUHJv
cGVydHlSZWdpc3RyeSBtX3Byb3BlcnR5UmVnaXN0cnkgeyAqdGhpcyB9OwogfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhF
bGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoRWxlbWVudC5jcHAKaW5kZXgg
MDdmYzJhOWEzM2YuLmMyMWYwYjAxMDk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHUGF0aEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoRWxlbWVu
dC5jcHAKQEAgLTEwOSwyMyArMTA5LDE3IEBAIHZvaWQgU1ZHUGF0aEVsZW1lbnQ6OnJlbW92ZWRG
cm9tQW5jZXN0b3IoUmVtb3ZhbFR5cGUgcmVtb3ZhbFR5cGUsIENvbnRhaW5lck5vZGUmCiAKIGZs
b2F0IFNWR1BhdGhFbGVtZW50OjpnZXRUb3RhbExlbmd0aCgpIGNvbnN0CiB7Ci0gICAgZmxvYXQg
dG90YWxMZW5ndGggPSAwOwotICAgIGdldFRvdGFsTGVuZ3RoT2ZTVkdQYXRoQnl0ZVN0cmVhbShw
YXRoQnl0ZVN0cmVhbSgpLCB0b3RhbExlbmd0aCk7Ci0gICAgcmV0dXJuIHRvdGFsTGVuZ3RoOwor
ICAgIHJldHVybiB0b3RhbExlbmd0aE9mU1ZHUGF0aEJ5dGVTdHJlYW0ocGF0aEJ5dGVTdHJlYW0o
KSkudmFsdWVPcigwKTsKIH0KIAogUmVmPFNWR1BvaW50PiBTVkdQYXRoRWxlbWVudDo6Z2V0UG9p
bnRBdExlbmd0aChmbG9hdCBsZW5ndGgpIGNvbnN0CiB7Ci0gICAgRmxvYXRQb2ludCBwb2ludDsK
LSAgICBnZXRQb2ludEF0TGVuZ3RoT2ZTVkdQYXRoQnl0ZVN0cmVhbShwYXRoQnl0ZVN0cmVhbSgp
LCBsZW5ndGgsIHBvaW50KTsKLSAgICByZXR1cm4gU1ZHUG9pbnQ6OmNyZWF0ZShwb2ludCk7Cisg
ICAgcmV0dXJuIFNWR1BvaW50OjpjcmVhdGUocG9pbnRBdExlbmd0aE9mU1ZHUGF0aEJ5dGVTdHJl
YW0ocGF0aEJ5dGVTdHJlYW0oKSwgbGVuZ3RoKS52YWx1ZU9yKEZsb2F0UG9pbnQoKSkpOwogfQog
CiB1bnNpZ25lZCBTVkdQYXRoRWxlbWVudDo6Z2V0UGF0aFNlZ0F0TGVuZ3RoKGZsb2F0IGxlbmd0
aCkgY29uc3QKIHsKLSAgICB1bnNpZ25lZCBwYXRoU2VnID0gMDsKLSAgICBnZXRTVkdQYXRoU2Vn
QXRMZW5ndGhGcm9tU1ZHUGF0aEJ5dGVTdHJlYW0ocGF0aEJ5dGVTdHJlYW0oKSwgbGVuZ3RoLCBw
YXRoU2VnKTsKLSAgICByZXR1cm4gcGF0aFNlZzsKKyAgICByZXR1cm4gcGF0aFNlZ0F0TGVuZ3Ro
RnJvbVNWR1BhdGhCeXRlU3RyZWFtKHBhdGhCeXRlU3RyZWFtKCksIGxlbmd0aCkudmFsdWVPcigw
KTsKIH0KIAogRmxvYXRSZWN0IFNWR1BhdGhFbGVtZW50OjpnZXRCQm94KFN0eWxlVXBkYXRlU3Ry
YXRlZ3kgc3R5bGVVcGRhdGVTdHJhdGVneSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdQYXRoRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhFbGVtZW50LmgK
aW5kZXggNjc3NGQwNjk4YWEuLmYyNTA4Y2FlOTBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHUGF0aEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aEVs
ZW1lbnQuaApAQCAtMzUsNiArMzUsOCBAQCBjbGFzcyBTVkdQb2ludDsKIAogY2xhc3MgU1ZHUGF0
aEVsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHR2VvbWV0cnlFbGVtZW50LCBwdWJsaWMgU1ZHRXh0
ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdQ
YXRoRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3du
ZXJSZWdpc3RyeTxTVkdQYXRoRWxlbWVudCwgU1ZHR2VvbWV0cnlFbGVtZW50LCBTVkdFeHRlcm5h
bFJlc291cmNlc1JlcXVpcmVkPjsKKwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8U1ZHUGF0aEVs
ZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKICAgICAKQEAg
LTEwOCw5ICsxMTAsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFNWR1BhdGhFbGVtZW50KGNv
bnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCi0gICAgdXNpbmcgUHJvcGVydHlSZWdp
c3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdQYXRoRWxlbWVudCwgU1ZHR2VvbWV0
cnlFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkPjsKICAgICBjb25zdCBTVkdQ
cm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4g
bV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9Ci0gICAgCiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25z
dCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJikgZmluYWw7CiAgICAgdm9pZCBz
dmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBmaW5hbDsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhVdGlsaXRpZXMuY3BwIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1BhdGhVdGlsaXRpZXMuY3BwCmluZGV4IGRiOGY5MjlhZDE5Li41ZDQyNmVl
ZGIwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhVdGlsaXRpZXMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoVXRpbGl0aWVzLmNwcApAQCAtMTkzLDQ4
ICsxOTMsNDkgQEAgYm9vbCBhZGRUb1NWR1BhdGhCeXRlU3RyZWFtKFNWR1BhdGhCeXRlU3RyZWFt
JiBzdHJlYW1Ub0FwcGVuZFRvLCBjb25zdCBTVkdQYXRoQnkKICAgICByZXR1cm4gU1ZHUGF0aEJs
ZW5kZXI6OmFkZEFuaW1hdGVkUGF0aChmcm9tU291cmNlLCBieVNvdXJjZSwgYnVpbGRlciwgcmVw
ZWF0Q291bnQpOwogfQogCi1ib29sIGdldFNWR1BhdGhTZWdBdExlbmd0aEZyb21TVkdQYXRoQnl0
ZVN0cmVhbShjb25zdCBTVkdQYXRoQnl0ZVN0cmVhbSYgc3RyZWFtLCBmbG9hdCBsZW5ndGgsIHVu
c2lnbmVkJiBwYXRoU2VnKQorT3B0aW9uYWw8dW5zaWduZWQ+IHBhdGhTZWdBdExlbmd0aEZyb21T
VkdQYXRoQnl0ZVN0cmVhbShjb25zdCBTVkdQYXRoQnl0ZVN0cmVhbSYgc3RyZWFtLCBmbG9hdCBs
ZW5ndGgpCiB7CiAgICAgaWYgKHN0cmVhbS5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIAogICAgIFBhdGhUcmF2ZXJzYWxTdGF0
ZSB0cmF2ZXJzYWxTdGF0ZShQYXRoVHJhdmVyc2FsU3RhdGU6OkFjdGlvbjo6U2VnbWVudEF0TGVu
Z3RoKTsKICAgICBTVkdQYXRoVHJhdmVyc2FsU3RhdGVCdWlsZGVyIGJ1aWxkZXIodHJhdmVyc2Fs
U3RhdGUsIGxlbmd0aCk7CiAKICAgICBTVkdQYXRoQnl0ZVN0cmVhbVNvdXJjZSBzb3VyY2Uoc3Ry
ZWFtKTsKLSAgICBib29sIG9rID0gU1ZHUGF0aFBhcnNlcjo6cGFyc2Uoc291cmNlLCBidWlsZGVy
KTsKLSAgICBwYXRoU2VnID0gYnVpbGRlci5wYXRoU2VnbWVudEluZGV4KCk7Ci0gICAgcmV0dXJu
IG9rOworICAgIGlmICghU1ZHUGF0aFBhcnNlcjo6cGFyc2Uoc291cmNlLCBidWlsZGVyKSkKKyAg
ICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgIHJldHVybiBidWlsZGVyLnBhdGhTZWdt
ZW50SW5kZXgoKTsKIH0KIAotYm9vbCBnZXRUb3RhbExlbmd0aE9mU1ZHUGF0aEJ5dGVTdHJlYW0o
Y29uc3QgU1ZHUGF0aEJ5dGVTdHJlYW0mIHN0cmVhbSwgZmxvYXQmIHRvdGFsTGVuZ3RoKQorT3B0
aW9uYWw8ZmxvYXQ+IHRvdGFsTGVuZ3RoT2ZTVkdQYXRoQnl0ZVN0cmVhbShjb25zdCBTVkdQYXRo
Qnl0ZVN0cmVhbSYgc3RyZWFtKQogewogICAgIGlmIChzdHJlYW0uaXNFbXB0eSgpKQotICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAKICAgICBQYXRo
VHJhdmVyc2FsU3RhdGUgdHJhdmVyc2FsU3RhdGUoUGF0aFRyYXZlcnNhbFN0YXRlOjpBY3Rpb246
OlRvdGFsTGVuZ3RoKTsKLQogICAgIFNWR1BhdGhUcmF2ZXJzYWxTdGF0ZUJ1aWxkZXIgYnVpbGRl
cih0cmF2ZXJzYWxTdGF0ZSk7CiAKICAgICBTVkdQYXRoQnl0ZVN0cmVhbVNvdXJjZSBzb3VyY2Uo
c3RyZWFtKTsKLSAgICBib29sIG9rID0gU1ZHUGF0aFBhcnNlcjo6cGFyc2Uoc291cmNlLCBidWls
ZGVyKTsKLSAgICB0b3RhbExlbmd0aCA9IGJ1aWxkZXIudG90YWxMZW5ndGgoKTsKLSAgICByZXR1
cm4gb2s7CisgICAgaWYgKCFTVkdQYXRoUGFyc2VyOjpwYXJzZShzb3VyY2UsIGJ1aWxkZXIpKQor
ICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgcmV0dXJuIGJ1aWxkZXIudG90YWxM
ZW5ndGgoKTsKIH0KIAotYm9vbCBnZXRQb2ludEF0TGVuZ3RoT2ZTVkdQYXRoQnl0ZVN0cmVhbShj
b25zdCBTVkdQYXRoQnl0ZVN0cmVhbSYgc3RyZWFtLCBmbG9hdCBsZW5ndGgsIEZsb2F0UG9pbnQm
IHBvaW50KQorT3B0aW9uYWw8RmxvYXRQb2ludD4gcG9pbnRBdExlbmd0aE9mU1ZHUGF0aEJ5dGVT
dHJlYW0oY29uc3QgU1ZHUGF0aEJ5dGVTdHJlYW0mIHN0cmVhbSwgZmxvYXQgbGVuZ3RoKQogewog
ICAgIGlmIChzdHJlYW0uaXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAg
IHJldHVybiBXVEY6Om51bGxvcHQ7CiAKICAgICBQYXRoVHJhdmVyc2FsU3RhdGUgdHJhdmVyc2Fs
U3RhdGUoUGF0aFRyYXZlcnNhbFN0YXRlOjpBY3Rpb246OlZlY3RvckF0TGVuZ3RoKTsKLQogICAg
IFNWR1BhdGhUcmF2ZXJzYWxTdGF0ZUJ1aWxkZXIgYnVpbGRlcih0cmF2ZXJzYWxTdGF0ZSwgbGVu
Z3RoKTsKIAogICAgIFNWR1BhdGhCeXRlU3RyZWFtU291cmNlIHNvdXJjZShzdHJlYW0pOwotICAg
IGJvb2wgb2sgPSBTVkdQYXRoUGFyc2VyOjpwYXJzZShzb3VyY2UsIGJ1aWxkZXIpOwotICAgIHBv
aW50ID0gYnVpbGRlci5jdXJyZW50UG9pbnQoKTsKLSAgICByZXR1cm4gb2s7CisgICAgaWYgKCFT
VkdQYXRoUGFyc2VyOjpwYXJzZShzb3VyY2UsIGJ1aWxkZXIpKQorICAgICAgICByZXR1cm4gV1RG
OjpudWxsb3B0OworICAgIAorICAgIHJldHVybiBidWlsZGVyLmN1cnJlbnRQb2ludCgpOwogfQog
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFV0aWxpdGllcy5oIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhVdGlsaXRpZXMuaAppbmRleCA0OTBmZjdjNjYwYy4u
MTFiYjUzZGY1MWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoVXRpbGl0
aWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhVdGlsaXRpZXMuaApAQCAtNTMs
OCArNTMsOCBAQCBib29sIGNhbkJsZW5kU1ZHUGF0aEJ5dGVTdHJlYW1zKGNvbnN0IFNWR1BhdGhC
eXRlU3RyZWFtJiBmcm9tLCBjb25zdCBTVkdQYXRoQnl0ZQogYm9vbCBidWlsZEFuaW1hdGVkU1ZH
UGF0aEJ5dGVTdHJlYW0oY29uc3QgU1ZHUGF0aEJ5dGVTdHJlYW0mIGZyb20sIGNvbnN0IFNWR1Bh
dGhCeXRlU3RyZWFtJiB0bywgU1ZHUGF0aEJ5dGVTdHJlYW0mIHJlc3VsdCwgZmxvYXQgcHJvZ3Jl
c3MpOwogYm9vbCBhZGRUb1NWR1BhdGhCeXRlU3RyZWFtKFNWR1BhdGhCeXRlU3RyZWFtJiBzdHJl
YW1Ub0FwcGVuZFRvLCBjb25zdCBTVkdQYXRoQnl0ZVN0cmVhbSYgZnJvbSwgdW5zaWduZWQgcmVw
ZWF0Q291bnQgPSAxKTsKIAotYm9vbCBnZXRTVkdQYXRoU2VnQXRMZW5ndGhGcm9tU1ZHUGF0aEJ5
dGVTdHJlYW0oY29uc3QgU1ZHUGF0aEJ5dGVTdHJlYW0mLCBmbG9hdCBsZW5ndGgsIHVuc2lnbmVk
JiBwYXRoU2VnKTsKLWJvb2wgZ2V0VG90YWxMZW5ndGhPZlNWR1BhdGhCeXRlU3RyZWFtKGNvbnN0
IFNWR1BhdGhCeXRlU3RyZWFtJiwgZmxvYXQmIHRvdGFsTGVuZ3RoKTsKLWJvb2wgZ2V0UG9pbnRB
dExlbmd0aE9mU1ZHUGF0aEJ5dGVTdHJlYW0oY29uc3QgU1ZHUGF0aEJ5dGVTdHJlYW0mLCBmbG9h
dCBsZW5ndGgsIEZsb2F0UG9pbnQmKTsKK09wdGlvbmFsPHVuc2lnbmVkPiBwYXRoU2VnQXRMZW5n
dGhGcm9tU1ZHUGF0aEJ5dGVTdHJlYW0oY29uc3QgU1ZHUGF0aEJ5dGVTdHJlYW0mLCBmbG9hdCBs
ZW5ndGgpOworT3B0aW9uYWw8ZmxvYXQ+IHRvdGFsTGVuZ3RoT2ZTVkdQYXRoQnl0ZVN0cmVhbShj
b25zdCBTVkdQYXRoQnl0ZVN0cmVhbSYpOworT3B0aW9uYWw8RmxvYXRQb2ludD4gcG9pbnRBdExl
bmd0aE9mU1ZHUGF0aEJ5dGVTdHJlYW0oY29uc3QgU1ZHUGF0aEJ5dGVTdHJlYW0mLCBmbG9hdCBs
ZW5ndGgpOwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHUGF0dGVybkVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXR0
ZXJuRWxlbWVudC5oCmluZGV4IDM2Y2RlZmIwYjc2Li5lOTJkMzE1MWM5NCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdHRlcm5FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR1BhdHRlcm5FbGVtZW50LmgKQEAgLTM1LDYgKzM1LDggQEAgc3RydWN0IFBhdHRl
cm5BdHRyaWJ1dGVzOwogIAogY2xhc3MgU1ZHUGF0dGVybkVsZW1lbnQgZmluYWwgOiBwdWJsaWMg
U1ZHRWxlbWVudCwgcHVibGljIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIHB1YmxpYyBT
VkdGaXRUb1ZpZXdCb3gsIHB1YmxpYyBTVkdUZXN0cywgcHVibGljIFNWR1VSSVJlZmVyZW5jZSB7
CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdQYXR0ZXJuRWxlbWVudCk7CisgICAgdXNp
bmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdQYXR0ZXJu
RWxlbWVudCwgU1ZHRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgU1ZHRml0
VG9WaWV3Qm94LCBTVkdUZXN0cywgU1ZHVVJJUmVmZXJlbmNlPjsKKwogcHVibGljOgogICAgIHN0
YXRpYyBSZWY8U1ZHUGF0dGVybkVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwg
RG9jdW1lbnQmKTsKIApAQCAtNjEsOSArNjMsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFNW
R1BhdHRlcm5FbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCi0gICAg
dXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdQYXR0
ZXJuRWxlbWVudCwgU1ZHRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgU1ZH
Rml0VG9WaWV3Qm94LCBTVkdUZXN0cywgU1ZHVVJJUmVmZXJlbmNlPjsKICAgICBjb25zdCBTVkdQ
cm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4g
bV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9Ci0KICAgICB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1
YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKSBmaW5hbDsKICAgICB2b2lkIHN2Z0F0
dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYpIGZpbmFsOwogICAgIHZvaWQgY2hp
bGRyZW5DaGFuZ2VkKGNvbnN0IENoaWxkQ2hhbmdlJikgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHUG9seUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQ
b2x5RWxlbWVudC5oCmluZGV4IDY3MjI0OTAzZWY2Li5mMjI2ODE5YzA1YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1BvbHlFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1BvbHlFbGVtZW50LmgKQEAgLTI5LDYgKzI5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBjbGFzcyBTVkdQb2x5RWxlbWVudCA6IHB1YmxpYyBTVkdHZW9tZXRyeUVsZW1lbnQsIHB1
YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkIHsKICAgICBXVEZfTUFLRV9JU09fQUxM
T0NBVEVEKFNWR1BvbHlFbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZH
UHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR1BvbHlFbGVtZW50LCBTVkdHZW9tZXRyeUVsZW1lbnQs
IFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ+OworCiBwdWJsaWM6CiAgICAgY29uc3QgU1ZH
UG9pbnRMaXN0JiBwb2ludHMoKSBjb25zdCB7IHJldHVybiBtX3BvaW50cy0+Y3VycmVudFZhbHVl
KCk7IH0KIApAQCAtNDEsOSArNDMsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgU1ZHUG9seUVsZW1lbnQo
Y29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKIHByaXZhdGU6Ci0gICAgdXNpbmcg
UHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdQb2x5RWxlbWVu
dCwgU1ZHR2VvbWV0cnlFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkPjsKICAg
ICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmlu
YWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9Ci0KICAgICB2b2lkIHBhcnNlQXR0cmli
dXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKSBvdmVycmlkZTsg
CiAgICAgdm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBvdmVy
cmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1JhZGlhbEdyYWRpZW50
RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1JhZGlhbEdyYWRpZW50RWxlbWVudC5o
CmluZGV4IGI4OGEzNWE0MzI4Li41MWJiODRjZDZmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR1JhZGlhbEdyYWRpZW50RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQuaApAQCAtMzAsNiArMzAsOCBAQCBzdHJ1Y3QgUmFk
aWFsR3JhZGllbnRBdHRyaWJ1dGVzOwogCiBjbGFzcyBTVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQg
ZmluYWwgOiBwdWJsaWMgU1ZHR3JhZGllbnRFbGVtZW50IHsKICAgICBXVEZfTUFLRV9JU09fQUxM
T0NBVEVEKFNWR1JhZGlhbEdyYWRpZW50RWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdp
c3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQs
IFNWR0dyYWRpZW50RWxlbWVudD47CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR1JhZGlh
bEdyYWRpZW50RWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYp
OwogCkBAIC01Miw5ICs1NCw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgU1ZHUmFkaWFsR3Jh
ZGllbnRFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCi0gICAgdXNp
bmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdSYWRpYWxH
cmFkaWVudEVsZW1lbnQsIFNWR0dyYWRpZW50RWxlbWVudD47CiAgICAgY29uc3QgU1ZHUHJvcGVy
dHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJv
cGVydHlSZWdpc3RyeTsgfQotCiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZp
ZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBzdmdBdHRy
aWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBvdmVycmlkZTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1JlY3RFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHUmVjdEVsZW1lbnQuaAppbmRleCBjMzkyZTFlMmU1Yy4uODA0NjA4Mjk4MTcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdSZWN0RWxlbWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdSZWN0RWxlbWVudC5oCkBAIC0yOSw2ICsyOSw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogY2xhc3MgU1ZHUmVjdEVsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHR2VvbWV0
cnlFbGVtZW50LCBwdWJsaWMgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCB7CiAgICAgV1RG
X01BS0VfSVNPX0FMTE9DQVRFRChTVkdSZWN0RWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlS
ZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdSZWN0RWxlbWVudCwgU1ZHR2Vv
bWV0cnlFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkPjsKKwogcHVibGljOgog
ICAgIHN0YXRpYyBSZWY8U1ZHUmVjdEVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1l
JiwgRG9jdW1lbnQmKTsKIApAQCAtNDksOSArNTEsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAg
IFNWR1JlY3RFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCi0gICAg
dXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdSZWN0
RWxlbWVudCwgU1ZHR2VvbWV0cnlFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
PjsKICAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29u
c3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9Ci0KICAgICB2b2lkIHBhcnNl
QXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKSBmaW5h
bDsKICAgICB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYpIGZp
bmFsOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU1ZHRWxlbWVudC5oIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQuaAppbmRleCA5NjBmODVhZGEwYS4uNjk5
ODJkNGFiYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQuaApAQCAtNDAsNiArNDAsOCBA
QCBjbGFzcyBTVkdWaWV3U3BlYzsKIAogY2xhc3MgU1ZHU1ZHRWxlbWVudCBmaW5hbCA6IHB1Ymxp
YyBTVkdHcmFwaGljc0VsZW1lbnQsIHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
LCBwdWJsaWMgU1ZHRml0VG9WaWV3Qm94LCBwdWJsaWMgU1ZHWm9vbUFuZFBhbiB7CiAgICAgV1RG
X01BS0VfSVNPX0FMTE9DQVRFRChTVkdTVkdFbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJl
Z2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR1NWR0VsZW1lbnQsIFNWR0dyYXBo
aWNzRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgU1ZHRml0VG9WaWV3Qm94
PjsKKwogcHVibGljOiAvLyBET00KICAgICBjb25zdCBBdG9taWNTdHJpbmcmIGNvbnRlbnRTY3Jp
cHRUeXBlKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRDb250ZW50U2NyaXB0VHlwZShjb25zdCBBdG9t
aWNTdHJpbmcmKTsKQEAgLTEzMSwxMSArMTMzLDEwIEBAIHByaXZhdGU6CiAgICAgU1ZHU1ZHRWxl
bWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKICAgICB2aXJ0dWFsIH5TVkdT
VkdFbGVtZW50KCk7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlP
d25lclJlZ2lzdHJ5PFNWR1NWR0VsZW1lbnQsIFNWR0dyYXBoaWNzRWxlbWVudCwgU1ZHRXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZCwgU1ZHRml0VG9WaWV3Qm94PjsKICAgICBjb25zdCBTVkdQcm9w
ZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9w
cm9wZXJ0eVJlZ2lzdHJ5OyB9Ci0gICAgCiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBR
dWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBz
dmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBvdmVycmlkZTsKKwogICAg
IGJvb2wgc2VsZkhhc1JlbGF0aXZlTGVuZ3RocygpIGNvbnN0IG92ZXJyaWRlOwogICAgIGJvb2wg
aXNWYWxpZCgpIGNvbnN0IG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHU2NyaXB0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NjcmlwdEVsZW1l
bnQuaAppbmRleCBmMTVmM2I3Y2Y2Zi4uMGEyNmVhODNjNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdTY3JpcHRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1NjcmlwdEVsZW1lbnQuaApAQCAtMzEsNiArMzEsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IGNsYXNzIFNWR1NjcmlwdEVsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHRWxlbWVudCwgcHVibGlj
IFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIHB1YmxpYyBTVkdVUklSZWZlcmVuY2UsIHB1
YmxpYyBTY3JpcHRFbGVtZW50IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR1Njcmlw
dEVsZW1lbnQpOworICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVy
UmVnaXN0cnk8U1ZHU2NyaXB0RWxlbWVudCwgU1ZHRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJj
ZXNSZXF1aXJlZCwgU1ZHVVJJUmVmZXJlbmNlPjsKKwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8
U1ZHU2NyaXB0RWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYs
IGJvb2wgd2FzSW5zZXJ0ZWRCeVBhcnNlcik7CiAKQEAgLTQwLDkgKzQyLDcgQEAgcHVibGljOgog
cHJpdmF0ZToKICAgICBTVkdTY3JpcHRFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1
bWVudCYsIGJvb2wgd2FzSW5zZXJ0ZWRCeVBhcnNlciwgYm9vbCBhbHJlYWR5U3RhcnRlZCk7CiAK
LSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNW
R1NjcmlwdEVsZW1lbnQsIFNWR0VsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQs
IFNWR1VSSVJlZmVyZW5jZT47CiAgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVy
dHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQot
CiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRv
bWljU3RyaW5nJikgZmluYWw7CiAgICAgdm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1
YWxpZmllZE5hbWUmKSBmaW5hbDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1N0b3BFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU3RvcEVsZW1lbnQuaAppbmRl
eCA4MTA0ZmJiZDdmNi4uYjhjNGMwNmM0MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdTdG9wRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTdG9wRWxlbWVu
dC5oCkBAIC0yNyw2ICsyNyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU1ZHU3Rv
cEVsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHRWxlbWVudCB7CiAgICAgV1RGX01BS0VfSVNPX0FM
TE9DQVRFRChTVkdTdG9wRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNW
R1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdTdG9wRWxlbWVudCwgU1ZHRWxlbWVudD47CisKIHB1
YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR1N0b3BFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlm
aWVkTmFtZSYsIERvY3VtZW50Jik7CiAKQEAgLTM4LDkgKzQwLDcgQEAgcHVibGljOgogcHJpdmF0
ZToKICAgICBTVkdTdG9wRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsK
IAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8
U1ZHU3RvcEVsZW1lbnQsIFNWR0VsZW1lbnQ+OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0
cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVn
aXN0cnk7IH0KLQogICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYs
IGNvbnN0IEF0b21pY1N0cmluZyYpIGZpbmFsOwogICAgIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdl
ZChjb25zdCBRdWFsaWZpZWROYW1lJikgZmluYWw7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdTdHlsZUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTdHlsZUVs
ZW1lbnQuaAppbmRleCA0MWE5MzdlZDE5ZS4uYzE4MGUwYzVlZjggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdTdHlsZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHU3R5bGVFbGVtZW50LmgKQEAgLTI4LDYgKzI4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBjbGFzcyBTVkdTdHlsZUVsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHRWxlbWVudCB7CiAgICAg
V1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdTdHlsZUVsZW1lbnQpOworICAgIHVzaW5nIFByb3Bl
cnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHU3R5bGVFbGVtZW50LCBT
VkdFbGVtZW50PjsKKwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8U1ZHU3R5bGVFbGVtZW50PiBj
cmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50JiwgYm9vbCBjcmVhdGVkQnlQYXJz
ZXIpOwogICAgIHZpcnR1YWwgflNWR1N0eWxlRWxlbWVudCgpOwpAQCAtNDYsNiArNDgsNyBAQCBw
dWJsaWM6CiBwcml2YXRlOgogICAgIFNWR1N0eWxlRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1l
JiwgRG9jdW1lbnQmLCBib29sIGNyZWF0ZWRCeVBhcnNlcik7CiAKKyAgICBjb25zdCBTVkdQcm9w
ZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9w
cm9wZXJ0eVJlZ2lzdHJ5OyB9CiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZp
ZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJikgZmluYWw7CiAgICAgSW5zZXJ0ZWRJbnRvQW5j
ZXN0b3JSZXN1bHQgaW5zZXJ0ZWRJbnRvQW5jZXN0b3IoSW5zZXJ0aW9uVHlwZSwgQ29udGFpbmVy
Tm9kZSYpIGZpbmFsOwogICAgIHZvaWQgcmVtb3ZlZEZyb21BbmNlc3RvcihSZW1vdmFsVHlwZSwg
Q29udGFpbmVyTm9kZSYpIGZpbmFsOwpAQCAtNjIsNiArNjUsNyBAQCBwcml2YXRlOgogCiAgICAg
U3RyaW5nIHRpdGxlKCkgY29uc3QgZmluYWw7CiAKKyAgICBQcm9wZXJ0eVJlZ2lzdHJ5IG1fcHJv
cGVydHlSZWdpc3RyeSB7ICp0aGlzIH07CiAgICAgSW5saW5lU3R5bGVTaGVldE93bmVyIG1fc3R5
bGVTaGVldE93bmVyOwogICAgIFRpbWVyIG1fc3ZnTG9hZEV2ZW50VGltZXI7CiB9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N3aXRjaEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdTd2l0Y2hFbGVtZW50LmgKaW5kZXggM2QxNGE0ZmFmZmEuLjhkZjFkMmQwYzli
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU3dpdGNoRWxlbWVudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTd2l0Y2hFbGVtZW50LmgKQEAgLTI4LDEzICsyOCwxNCBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNWR1N3aXRjaEVsZW1lbnQgZmluYWwgOiBw
dWJsaWMgU1ZHR3JhcGhpY3NFbGVtZW50LCBwdWJsaWMgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1
aXJlZCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdTd2l0Y2hFbGVtZW50KTsKKyAg
ICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR1N3
aXRjaEVsZW1lbnQsIFNWR0dyYXBoaWNzRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1
aXJlZD47CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR1N3aXRjaEVsZW1lbnQ+IGNyZWF0
ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAogcHJpdmF0ZToKICAgICBTVkdT
d2l0Y2hFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCi0gICAgdXNp
bmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdTd2l0Y2hF
bGVtZW50LCBTVkdHcmFwaGljc0VsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ+
OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25z
dCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KIAogICAgIGJvb2wgaXNWYWxp
ZCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIFNWR1Rlc3RzOjppc1ZhbGlkKCk7IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTeW1ib2xFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHU3ltYm9sRWxlbWVudC5oCmluZGV4IDhjNGFmZGVkYzljLi5lMjFkNTA3NTJkMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N5bWJvbEVsZW1lbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHU3ltYm9sRWxlbWVudC5oCkBAIC0yOSwxNyArMjksMTggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTVkdTeW1ib2xFbGVtZW50IGZpbmFsIDogcHVi
bGljIFNWR0VsZW1lbnQsIHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBwdWJs
aWMgU1ZHRml0VG9WaWV3Qm94IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR1N5bWJv
bEVsZW1lbnQpOworICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVy
UmVnaXN0cnk8U1ZHU3ltYm9sRWxlbWVudCwgU1ZHRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJj
ZXNSZXF1aXJlZCwgU1ZHRml0VG9WaWV3Qm94PjsKKwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8
U1ZHU3ltYm9sRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYp
OwogCiBwcml2YXRlOgogICAgIFNWR1N5bWJvbEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYs
IERvY3VtZW50Jik7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlP
d25lclJlZ2lzdHJ5PFNWR1N5bWJvbEVsZW1lbnQsIFNWR0VsZW1lbnQsIFNWR0V4dGVybmFsUmVz
b3VyY2VzUmVxdWlyZWQsIFNWR0ZpdFRvVmlld0JveD47CiAgICAgY29uc3QgU1ZHUHJvcGVydHlS
ZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVy
dHlSZWdpc3RyeTsgfQotCiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWRO
YW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBzdmdBdHRyaWJ1
dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBvdmVycmlkZTsKKwogICAgIFJlbmRlclB0
cjxSZW5kZXJFbGVtZW50PiBjcmVhdGVFbGVtZW50UmVuZGVyZXIoUmVuZGVyU3R5bGUmJiwgY29u
c3QgUmVuZGVyVHJlZVBvc2l0aW9uJikgb3ZlcnJpZGU7CiAKICAgICBib29sIHNlbGZIYXNSZWxh
dGl2ZUxlbmd0aHMoKSBjb25zdCBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdUUmVmRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RSZWZFbGVtZW50
LmgKaW5kZXggOGU4MTZmNTQ2OWIuLjkwZDBiZDIyOWZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHVFJlZkVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVFJl
ZkVsZW1lbnQuaApAQCAtMzAsNiArMzAsOCBAQCBjbGFzcyBTVkdUUmVmVGFyZ2V0RXZlbnRMaXN0
ZW5lcjsKIAogY2xhc3MgU1ZHVFJlZkVsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHVGV4dFBvc2l0
aW9uaW5nRWxlbWVudCwgcHVibGljIFNWR1VSSVJlZmVyZW5jZSB7CiAgICAgV1RGX01BS0VfSVNP
X0FMTE9DQVRFRChTVkdUUmVmRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9
IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdUUmVmRWxlbWVudCwgU1ZHVGV4dFBvc2l0aW9u
aW5nRWxlbWVudCwgU1ZHVVJJUmVmZXJlbmNlPjsKKwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8
U1ZHVFJlZkVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsK
IApAQCAtMzksOSArNDEsNyBAQCBwcml2YXRlOgogICAgIFNWR1RSZWZFbGVtZW50KGNvbnN0IFF1
YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogICAgIHZpcnR1YWwgflNWR1RSZWZFbGVtZW50KCk7
CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5
PFNWR1RSZWZFbGVtZW50LCBTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50LCBTVkdVUklSZWZlcmVu
Y2U+OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBj
b25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KLQogICAgIHZvaWQgcGFy
c2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYpIG92
ZXJyaWRlOwogICAgIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1l
Jikgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUU3BhbkVs
ZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUU3BhbkVsZW1lbnQuaAppbmRleCA1YjIy
ZWEwMmM4YS4uZWEzYzFmMTFjYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdU
U3BhbkVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVFNwYW5FbGVtZW50LmgK
QEAgLTI2LDE1ICsyNiwyMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNWR1RTcGFu
RWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50IHsKICAgICBX
VEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR1RTcGFuRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVy
dHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdUU3BhbkVsZW1lbnQsIFNW
R1RleHRQb3NpdGlvbmluZ0VsZW1lbnQ+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdU
U3BhbkVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAog
cHJpdmF0ZToKICAgICBTVkdUU3BhbkVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3Vt
ZW50Jik7Ci0gICAgICAgICAgICAKKworICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHBy
b3BlcnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7
IH0KICAgICBSZW5kZXJQdHI8UmVuZGVyRWxlbWVudD4gY3JlYXRlRWxlbWVudFJlbmRlcmVyKFJl
bmRlclN0eWxlJiYsIGNvbnN0IFJlbmRlclRyZWVQb3NpdGlvbiYpIG92ZXJyaWRlOwogICAgIGJv
b2wgY2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihjb25zdCBOb2RlJikgY29uc3Qgb3ZlcnJpZGU7
CiAgICAgYm9vbCByZW5kZXJlcklzTmVlZGVkKGNvbnN0IFJlbmRlclN0eWxlJikgb3ZlcnJpZGU7
CisKKyAgICBQcm9wZXJ0eVJlZ2lzdHJ5IG1fcHJvcGVydHlSZWdpc3RyeSB7ICp0aGlzIH07CiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHVGVzdHMuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXN0cy5oCmluZGV4IDQ0OTI3
MGQ5ZjlkLi41NWJhZDc2ZDI2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Rl
c3RzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Rlc3RzLmgKQEAgLTM1LDExICszNSwx
MSBAQCBjbGFzcyBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk7CiBjbGFzcyBTVkdUZXN0cyB7CiAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHVGVzdHMpOwogcHVibGljOgorICAgIHVzaW5nIFBy
b3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHVGVzdHM+OworCiAg
ICAgc3RhdGljIGJvb2wgaGFzRXh0ZW5zaW9uKGNvbnN0IFN0cmluZyYpOwogICAgIGJvb2wgaXNW
YWxpZCgpIGNvbnN0OwogCi0gICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5
T3duZXJSZWdpc3RyeTxTVkdUZXN0cz47Ci0KICAgICB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0
IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKTsKICAgICB2b2lkIHN2Z0F0dHJp
YnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHVGV4dENvbnRlbnRFbGVtZW50LmgKaW5kZXggNDExOTc3OTcwYjMuLjgwNjZjNGJlNGU3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5oCkBAIC0zMSw2ICsz
MSw4IEBAIHN0cnVjdCBET01Qb2ludEluaXQ7CiBjbGFzcyBTVkdUZXh0Q29udGVudEVsZW1lbnQg
OiBwdWJsaWMgU1ZHR3JhcGhpY3NFbGVtZW50LCBwdWJsaWMgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNS
ZXF1aXJlZCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdUZXh0Q29udGVudEVsZW1l
bnQpOwogcHVibGljOgorICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93
bmVyUmVnaXN0cnk8U1ZHVGV4dENvbnRlbnRFbGVtZW50LCBTVkdHcmFwaGljc0VsZW1lbnQsIFNW
R0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ+OworCiAgICAgZW51bSB7CiAgICAgICAgIExFTkdU
SEFESlVTVF9VTktOT1dOID0gU1ZHTGVuZ3RoQWRqdXN0VW5rbm93biwKICAgICAgICAgTEVOR1RI
QURKVVNUX1NQQUNJTkcgPSBTVkdMZW5ndGhBZGp1c3RTcGFjaW5nLApAQCAtNDksOCArNTEsNiBA
QCBwdWJsaWM6CiAKICAgICBzdGF0aWMgU1ZHVGV4dENvbnRlbnRFbGVtZW50KiBlbGVtZW50RnJv
bVJlbmRlcmVyKFJlbmRlck9iamVjdCopOwogCi0gICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9
IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdUZXh0Q29udGVudEVsZW1lbnQsIFNWR0dyYXBo
aWNzRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZD47Ci0KICAgICBjb25zdCBT
VkdMZW5ndGhWYWx1ZSYgc3BlY2lmaWVkVGV4dExlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fc3Bl
Y2lmaWVkVGV4dExlbmd0aDsgfQogICAgIGNvbnN0IFNWR0xlbmd0aFZhbHVlJiB0ZXh0TGVuZ3Ro
KCkgY29uc3QgeyByZXR1cm4gbV90ZXh0TGVuZ3RoLT5jdXJyZW50VmFsdWUoKTsgfQogICAgIFNW
R0xlbmd0aEFkanVzdFR5cGUgbGVuZ3RoQWRqdXN0KCkgY29uc3QgeyByZXR1cm4gbV9sZW5ndGhB
ZGp1c3QtPmN1cnJlbnRWYWx1ZTxTVkdMZW5ndGhBZGp1c3RUeXBlPigpOyB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdUZXh0RWxlbWVudC5oCmluZGV4IGFhOTQ0NWQ5MmI2Li44MzU0Y2E5OTNhMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRFbGVtZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1RleHRFbGVtZW50LmgKQEAgLTI2LDYgKzI2LDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBjbGFzcyBTVkdUZXh0RWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdUZXh0UG9z
aXRpb25pbmdFbGVtZW50IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR1RleHRFbGVt
ZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lz
dHJ5PFNWR1RleHRFbGVtZW50LCBTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50PjsKKwogcHVibGlj
OgogICAgIHN0YXRpYyBSZWY8U1ZHVGV4dEVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWRO
YW1lJiwgRG9jdW1lbnQmKTsKIApAQCAtMzQsOCArMzYsMTEgQEAgcHVibGljOgogcHJpdmF0ZToK
ICAgICBTVkdUZXh0RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAor
ICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBm
aW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KICAgICBSZW5kZXJQdHI8UmVuZGVy
RWxlbWVudD4gY3JlYXRlRWxlbWVudFJlbmRlcmVyKFJlbmRlclN0eWxlJiYsIGNvbnN0IFJlbmRl
clRyZWVQb3NpdGlvbiYpIG92ZXJyaWRlOwogICAgIGJvb2wgY2hpbGRTaG91bGRDcmVhdGVSZW5k
ZXJlcihjb25zdCBOb2RlJikgY29uc3Qgb3ZlcnJpZGU7CisgICAgCisgICAgUHJvcGVydHlSZWdp
c3RyeSBtX3Byb3BlcnR5UmVnaXN0cnkgeyAqdGhpcyB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRQYXRoRWxlbWVu
dC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRQYXRoRWxlbWVudC5oCmluZGV4IDhmMjk1
ZDcwZTU0Li44MDVmNWJjYjAyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Rl
eHRQYXRoRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0UGF0aEVsZW1l
bnQuaApAQCAtMjgsNiArMjgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNWR1Rl
eHRQYXRoRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdUZXh0Q29udGVudEVsZW1lbnQsIHB1Ymxp
YyBTVkdVUklSZWZlcmVuY2UgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHVGV4dFBh
dGhFbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25l
clJlZ2lzdHJ5PFNWR1RleHRQYXRoRWxlbWVudCwgU1ZHVGV4dENvbnRlbnRFbGVtZW50LCBTVkdV
UklSZWZlcmVuY2U+OworCiBwdWJsaWM6CiAgICAgLy8gRm9yd2FyZCBkZWNsYXJlIGVudW1lcmF0
aW9ucyBpbiB0aGUgVzNDIG5hbWluZyBzY2hlbWUsIGZvciBJREwgZ2VuZXJhdGlvbi4KICAgICBl
bnVtIHsKQEAgLTU2LDkgKzU4LDcgQEAgcHJpdmF0ZToKICAgICBTVkdUZXh0UGF0aEVsZW1lbnQo
Y29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAgICAgdmlydHVhbCB+U1ZHVGV4dFBh
dGhFbGVtZW50KCk7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlP
d25lclJlZ2lzdHJ5PFNWR1RleHRQYXRoRWxlbWVudCwgU1ZHVGV4dENvbnRlbnRFbGVtZW50LCBT
VkdVUklSZWZlcmVuY2U+OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5
UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KLQog
ICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21p
Y1N0cmluZyYpIG92ZXJyaWRlOwogICAgIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBR
dWFsaWZpZWROYW1lJikgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4
dFBvc2l0aW9uaW5nRWxlbWVudC5oCmluZGV4IGE0ODYyZWM0NzYyLi42MWM3ZGIxNjIxNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudC5oCkBAIC0y
NywxMSArMjcsMTIgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTVkdUZXh0UG9zaXRp
b25pbmdFbGVtZW50IDogcHVibGljIFNWR1RleHRDb250ZW50RWxlbWVudCB7CiAgICAgV1RGX01B
S0VfSVNPX0FMTE9DQVRFRChTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50KTsKLXB1YmxpYzoKLSAg
ICBzdGF0aWMgU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudCogZWxlbWVudEZyb21SZW5kZXJlcihS
ZW5kZXJCb3hNb2RlbE9iamVjdCYpOwogCitwdWJsaWM6CiAgICAgdXNpbmcgUHJvcGVydHlSZWdp
c3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50
LCBTVkdUZXh0Q29udGVudEVsZW1lbnQ+OwogCisgICAgc3RhdGljIFNWR1RleHRQb3NpdGlvbmlu
Z0VsZW1lbnQqIGVsZW1lbnRGcm9tUmVuZGVyZXIoUmVuZGVyQm94TW9kZWxPYmplY3QmKTsKKwog
ICAgIGNvbnN0IFNWR0xlbmd0aExpc3QmIHgoKSBjb25zdCB7IHJldHVybiBtX3gtPmN1cnJlbnRW
YWx1ZSgpOyB9CiAgICAgY29uc3QgU1ZHTGVuZ3RoTGlzdCYgeSgpIGNvbnN0IHsgcmV0dXJuIG1f
eS0+Y3VycmVudFZhbHVlKCk7IH0KICAgICBjb25zdCBTVkdMZW5ndGhMaXN0JiBkeCgpIGNvbnN0
IHsgcmV0dXJuIG1fZHgtPmN1cnJlbnRWYWx1ZSgpOyB9CkBAIC01NCw5ICs1NSw2IEBAIHByaXZh
dGU6CiAgICAgYm9vbCBpc1ByZXNlbnRhdGlvbkF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1l
JikgY29uc3QgZmluYWw7CiAgICAgdm9pZCBjb2xsZWN0U3R5bGVGb3JQcmVzZW50YXRpb25BdHRy
aWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYsIE11dGFibGVT
dHlsZVByb3BlcnRpZXMmKSBmaW5hbDsKIAotICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkm
IHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX3Byb3BlcnR5UmVn
aXN0cnk7IH0KLQotICAgIFByb3BlcnR5UmVnaXN0cnkgbV9wcm9wZXJ0eVJlZ2lzdHJ5IHsgKnRo
aXMgfTsKICAgICBSZWY8U1ZHQW5pbWF0ZWRMZW5ndGhMaXN0PiBtX3ggeyBTVkdBbmltYXRlZExl
bmd0aExpc3Q6OmNyZWF0ZSh0aGlzLCBMZW5ndGhNb2RlV2lkdGgpIH07CiAgICAgUmVmPFNWR0Fu
aW1hdGVkTGVuZ3RoTGlzdD4gbV95IHsgU1ZHQW5pbWF0ZWRMZW5ndGhMaXN0OjpjcmVhdGUodGhp
cywgTGVuZ3RoTW9kZUhlaWdodCkgfTsKICAgICBSZWY8U1ZHQW5pbWF0ZWRMZW5ndGhMaXN0PiBt
X2R4IHsgU1ZHQW5pbWF0ZWRMZW5ndGhMaXN0OjpjcmVhdGUodGhpcywgTGVuZ3RoTW9kZVdpZHRo
KSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RpdGxlRWxlbWVudC5oIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1RpdGxlRWxlbWVudC5oCmluZGV4IDNmNTMzMzU2NzA3Li45
YWZlNDA2OTRjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RpdGxlRWxlbWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUaXRsZUVsZW1lbnQuaApAQCAtMjcsMTcg
KzI3LDIyIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU1ZHVGl0bGVFbGVtZW50IGZp
bmFsIDogcHVibGljIFNWR0VsZW1lbnQgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZH
VGl0bGVFbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlP
d25lclJlZ2lzdHJ5PFNWR1RpdGxlRWxlbWVudCwgU1ZHRWxlbWVudD47CisKIHB1YmxpYzoKICAg
ICBzdGF0aWMgUmVmPFNWR1RpdGxlRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUm
LCBEb2N1bWVudCYpOwogCiBwcml2YXRlOgogICAgIFNWR1RpdGxlRWxlbWVudChjb25zdCBRdWFs
aWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAorICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkm
IHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0
cnk7IH0KKyAgICBib29sIHJlbmRlcmVySXNOZWVkZWQoY29uc3QgUmVuZGVyU3R5bGUmKSBmaW5h
bCB7IHJldHVybiBmYWxzZTsgfQorCiAgICAgSW5zZXJ0ZWRJbnRvQW5jZXN0b3JSZXN1bHQgaW5z
ZXJ0ZWRJbnRvQW5jZXN0b3IoSW5zZXJ0aW9uVHlwZSwgQ29udGFpbmVyTm9kZSYpIGZpbmFsOwog
ICAgIHZvaWQgcmVtb3ZlZEZyb21BbmNlc3RvcihSZW1vdmFsVHlwZSwgQ29udGFpbmVyTm9kZSYp
IGZpbmFsOwogICAgIHZvaWQgY2hpbGRyZW5DaGFuZ2VkKGNvbnN0IENoaWxkQ2hhbmdlJikgZmlu
YWw7CiAKLSAgICBib29sIHJlbmRlcmVySXNOZWVkZWQoY29uc3QgUmVuZGVyU3R5bGUmKSBmaW5h
bCB7IHJldHVybiBmYWxzZTsgfQorICAgIFByb3BlcnR5UmVnaXN0cnkgbV9wcm9wZXJ0eVJlZ2lz
dHJ5IHsgKnRoaXMgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdVUklSZWZlcmVuY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdVUklSZWZlcmVuY2UuaAppbmRleCAyMDFiNmM3MWJlZC4uMGY5ODg0MGRhMjcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdVUklSZWZlcmVuY2UuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHVVJJUmVmZXJlbmNlLmgKQEAgLTMyLDcgKzMyLDcgQEAgY2xhc3MgU1ZH
RWxlbWVudDsKIGNsYXNzIFNWR1VSSVJlZmVyZW5jZSB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoU1ZHVVJJUmVmZXJlbmNlKTsKIHB1YmxpYzoKLSAgICB2aXJ0dWFsIH5TVkdVUklSZWZlcmVu
Y2UoKSA9IGRlZmF1bHQ7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5
T3duZXJSZWdpc3RyeTxTVkdVUklSZWZlcmVuY2U+OwogCiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0
ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJik7CiAKQEAgLTU2LDEz
ICs1NiwxMiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiAhZXF1YWxJZ25vcmluZ0ZyYWdtZW50
SWRlbnRpZmllcih1cmwsIGRvY3VtZW50LnVybCgpKTsKICAgICB9CiAKLSAgICB1c2luZyBQcm9w
ZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR1VSSVJlZmVyZW5jZT47
Ci0KICAgICBTdHJpbmcgaHJlZigpIGNvbnN0IHsgcmV0dXJuIG1faHJlZi0+Y3VycmVudFZhbHVl
KCk7IH0KICAgICBTVkdBbmltYXRlZFN0cmluZyYgaHJlZkFuaW1hdGVkKCkgeyByZXR1cm4gbV9o
cmVmOyB9CiAKIHByb3RlY3RlZDoKICAgICBTVkdVUklSZWZlcmVuY2UoU1ZHRWxlbWVudCogY29u
dGV4dEVsZW1lbnQpOworICAgIHZpcnR1YWwgflNWR1VSSVJlZmVyZW5jZSgpID0gZGVmYXVsdDsK
IAogICAgIHN0YXRpYyBib29sIGlzS25vd25BdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYg
YXR0cmlidXRlTmFtZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdVbmtu
b3duRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Vua25vd25FbGVtZW50LmgKaW5k
ZXggYTE1YzdhZjk3ODcuLjk2NDQ1MmNjODBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHVW5rbm93bkVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVW5rbm93
bkVsZW1lbnQuaApAQCAtMzcsNiArMzcsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAvLyBmYWxz
ZSB0byBtYWtlIHN1cmUgd2UgZG9uJ3QgYXR0ZW1wdCB0byByZW5kZXIgc3VjaCBlbGVtZW50cy4K
IGNsYXNzIFNWR1Vua25vd25FbGVtZW50IGZpbmFsIDogcHVibGljIFNWR0VsZW1lbnQgewogICAg
IFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHVW5rbm93bkVsZW1lbnQpOworICAgIHVzaW5nIFBy
b3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHVW5rbm93bkVsZW1l
bnQsIFNWR0VsZW1lbnQ+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdVbmtub3duRWxl
bWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50JiBkb2N1
bWVudCkKICAgICB7CkBAIC00OSw3ICs1MSwxMCBAQCBwcml2YXRlOgogICAgIHsKICAgICB9CiAK
KyAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3Qg
ZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9CiAgICAgYm9vbCByZW5kZXJlcklz
TmVlZGVkKGNvbnN0IFJlbmRlclN0eWxlJikgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0KKyAgICAK
KyAgICBQcm9wZXJ0eVJlZ2lzdHJ5IG1fcHJvcGVydHlSZWdpc3RyeSB7ICp0aGlzIH07CiB9Owog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHVXNlRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1VzZUVsZW1lbnQuaAppbmRl
eCAwMzkwODFkMTY2ZS4uOWMzOTYzMzQ2ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdVc2VFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1VzZUVsZW1lbnQu
aApAQCAtMzQsNiArMzQsOCBAQCBjbGFzcyBTVkdHRWxlbWVudDsKIAogY2xhc3MgU1ZHVXNlRWxl
bWVudCBmaW5hbCA6IHB1YmxpYyBTVkdHcmFwaGljc0VsZW1lbnQsIHB1YmxpYyBTVkdFeHRlcm5h
bFJlc291cmNlc1JlcXVpcmVkLCBwdWJsaWMgU1ZHVVJJUmVmZXJlbmNlLCBwcml2YXRlIENhY2hl
ZFNWR0RvY3VtZW50Q2xpZW50IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR1VzZUVs
ZW1lbnQpOworICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVn
aXN0cnk8U1ZHVXNlRWxlbWVudCwgU1ZHR3JhcGhpY3NFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291
cmNlc1JlcXVpcmVkLCBTVkdVUklSZWZlcmVuY2U+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJl
ZjxTVkdVc2VFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7
CiAgICAgdmlydHVhbCB+U1ZHVXNlRWxlbWVudCgpOwpAQCAtNjMsOSArNjUsNyBAQCBwcml2YXRl
OgogICAgIHZvaWQgcmVtb3ZlZEZyb21BbmNlc3RvcihSZW1vdmFsVHlwZSwgQ29udGFpbmVyTm9k
ZSYpIG92ZXJyaWRlOwogICAgIHZvaWQgYnVpbGRQZW5kaW5nUmVzb3VyY2UoKSBvdmVycmlkZTsK
IAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8
U1ZHVXNlRWxlbWVudCwgU1ZHR3JhcGhpY3NFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1Jl
cXVpcmVkLCBTVkdVUklSZWZlcmVuY2U+OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkm
IHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0
cnk7IH0KLQogICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNv
bnN0IEF0b21pY1N0cmluZyYpIG92ZXJyaWRlOwogICAgIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdl
ZChjb25zdCBRdWFsaWZpZWROYW1lJikgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdWS2VybkVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWS2Vy
bkVsZW1lbnQuaAppbmRleCA3OGM4ZDU1MDE4OS4uMWVjMDcyYzBjM2MgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdWS2VybkVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHVktlcm5FbGVtZW50LmgKQEAgLTI4LDYgKzI4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBjbGFzcyBTVkdWS2VybkVsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHRWxlbWVudCB7CiAg
ICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdWS2VybkVsZW1lbnQpOworICAgIHVzaW5nIFBy
b3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHVktlcm5FbGVtZW50
LCBTVkdFbGVtZW50PjsKKwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8U1ZHVktlcm5FbGVtZW50
PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKQEAgLTM2LDcgKzM4
LDEwIEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgU1ZHVktlcm5FbGVtZW50KGNvbnN0IFF1YWxp
ZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCisgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYg
cHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3Ry
eTsgfQogICAgIGJvb2wgcmVuZGVyZXJJc05lZWRlZChjb25zdCBSZW5kZXJTdHlsZSYpIGZpbmFs
IHsgcmV0dXJuIGZhbHNlOyB9CisKKyAgICBQcm9wZXJ0eVJlZ2lzdHJ5IG1fcHJvcGVydHlSZWdp
c3RyeSB7ICp0aGlzIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVmlld0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdWaWV3RWxlbWVudC5oCmluZGV4IGIwZWVmMTlkN2M0Li43NWQxODJmNGQ4NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdFbGVtZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1ZpZXdFbGVtZW50LmgKQEAgLTMxLDYgKzMxLDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBjbGFzcyBTVkdWaWV3RWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdFbGVtZW50
LCBwdWJsaWMgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgcHVibGljIFNWR0ZpdFRvVmll
d0JveCwgcHVibGljIFNWR1pvb21BbmRQYW4gewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQo
U1ZHVmlld0VsZW1lbnQpOworICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0
eU93bmVyUmVnaXN0cnk8U1ZHVmlld0VsZW1lbnQsIFNWR0VsZW1lbnQsIFNWR0V4dGVybmFsUmVz
b3VyY2VzUmVxdWlyZWQsIFNWR0ZpdFRvVmlld0JveD47CisKIHB1YmxpYzoKICAgICBzdGF0aWMg
UmVmPFNWR1ZpZXdFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50
Jik7CiAKQEAgLTQyLDkgKzQ0LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBTVkdWaWV3RWxl
bWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAotICAgIHVzaW5nIFByb3Bl
cnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHVmlld0VsZW1lbnQsIFNW
R0VsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIFNWR0ZpdFRvVmlld0JveD47
CiAgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0
IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQotCiAgICAgLy8gRklYTUUod2Vi
a2l0Lm9yZy9iLzE5NjU1NCk6IHN2Z0F0dHJpYnV0ZUNoYW5nZWQgbWlzc2luZy4KICAgICB2b2lk
IHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcm
KSBmaW5hbDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuaAppbmRleCA1NTc3OTk1NzZkNy4uNmY4
OGMwY2FmOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5oCkBAIC0zMCw2ICszMCw4IEBAIGNs
YXNzIFNWR0VsZW1lbnQ7CiBjbGFzcyBTVkdUcmFuc2Zvcm1MaXN0OwogCiBjbGFzcyBTVkdWaWV3
U3BlYyBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPFNWR1ZpZXdTcGVjPiwgcHVibGljIFNWR0Zp
dFRvVmlld0JveCwgcHVibGljIFNWR1pvb21BbmRQYW4geworICAgIHVzaW5nIFByb3BlcnR5UmVn
aXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHVmlld1NwZWMsIFNWR0ZpdFRvVmll
d0JveD47CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR1ZpZXdTcGVjPiBjcmVhdGUoU1ZH
RWxlbWVudCYgY29udGV4dEVsZW1lbnQpCiAgICAgewpAQCAtNTMsOCArNTUsNiBAQCBwcml2YXRl
OgogCiAgICAgU1ZHUGFyc2luZ0Vycm9yIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5h
bWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkg
PSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHVmlld1NwZWMsIFNWR0ZpdFRvVmlld0JveD47
Ci0KICAgICBXZWFrUHRyPFNWR0VsZW1lbnQ+IG1fY29udGV4dEVsZW1lbnQ7CiAgICAgU3RyaW5n
IG1fdmlld1RhcmdldFN0cmluZzsKICAgICBSZWY8U1ZHVHJhbnNmb3JtTGlzdD4gbV90cmFuc2Zv
cm07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHWm9vbUFuZFBhbi5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHWm9vbUFuZFBhbi5jcHAKaW5kZXggMzkyNGY4M2Q4NzQuLjlh
MGUwMjMxM2U4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHWm9vbUFuZFBhbi5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1pvb21BbmRQYW4uY3BwCkBAIC0yNyw3ICsy
Nyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIE9wdGlvbmFsPFNWR1BhcnNpbmdFcnJvcj4gU1ZH
Wm9vbUFuZFBhbjo6cGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29u
c3QgQXRvbWljU3RyaW5nJiB2YWx1ZSkKIHsKICAgICBpZiAoIW5hbWUubWF0Y2hlcyhTVkdOYW1l
czo6em9vbUFuZFBhbkF0dHIpKQotICAgICAgICByZXR1cm4geyB9OworICAgICAgICByZXR1cm4g
V1RGOjpudWxsb3B0OwogCiAgICAgYXV0byBleHBlY3RlZFpvb21BbmRQYW4gPSBTVkdQcm9wZXJ0
eVRyYWl0czxTVkdab29tQW5kUGFuVHlwZT46OnBhcnNlKHZhbHVlKTsKICAgICBpZiAoIWV4cGVj
dGVkWm9vbUFuZFBhbikK
</data>
<flag name="review"
          id="387511"
          type_id="1"
          status="?"
          setter="sabouhallawa"
    />
          </attachment>
      

    </bug>

</bugzilla>