<?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>107386</bug_id>
          
          <creation_ts>2013-01-19 17:24:23 -0800</creation_ts>
          <short_desc>[SVG2] Merge SVGStyledElement and SVGElement</short_desc>
          <delta_ts>2013-08-22 14:57:12 -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>420+</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>BlinkMergeCandidate, WebExposed</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>106877</dependson>
    
    <dependson>118408</dependson>
    
    <dependson>118474</dependson>
    
    <dependson>120155</dependson>
          <blocked>108665</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Philip Rogers">pdr</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>apinheiro</cc>
    
    <cc>buildbot</cc>
    
    <cc>cdumez</cc>
    
    <cc>cfleizach</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>d-r</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>fmalita</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jdiggs</cc>
    
    <cc>kling</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>krit</cc>
    
    <cc>macpherson</cc>
    
    <cc>mario</cc>
    
    <cc>menard</cc>
    
    <cc>rakuco</cc>
    
    <cc>rniwa</cc>
    
    <cc>schenney</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>811505</commentid>
    <comment_count>0</comment_count>
    <who name="Philip Rogers">pdr</who>
    <bug_when>2013-01-19 17:24:23 -0800</bug_when>
    <thetext>SVG2 updates the class hierarchy so all SVGElements are styled. We should merge SVGStyledElement into SVGElement.

SVG2 updated spec for SVGElement:
https://svgwg.org/svg2-draft/single-page.html#types-InterfaceSVGElement

A comparison of SVG 1.1 and SVG 2:
https://docs.google.com/a/google.com/drawings/d/1DjmqGOk71JATh5ysZtnFe0Nxvox-g6mZ-M02jLA9aOc/edit?pli=1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>913637</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-07-31 23:07:44 -0700</bug_when>
    <thetext>Corresponding Blink revision:
https://src.chromium.org/viewvc/blink?revision=155264&amp;view=revision</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914507</commentid>
    <comment_count>2</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-08-05 00:11:38 -0700</bug_when>
    <thetext>Follow up Blink patches:
https://src.chromium.org/viewvc/blink?revision=155426&amp;view=revision
https://src.chromium.org/viewvc/blink?revision=155469&amp;view=revision</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>919873</commentid>
    <comment_count>3</comment_count>
      <attachid>209365</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-08-22 07:32:24 -0700</bug_when>
    <thetext>Created attachment 209365
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>919881</commentid>
    <comment_count>4</comment_count>
      <attachid>209365</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-08-22 08:03:02 -0700</bug_when>
    <thetext>Comment on attachment 209365
Patch

Attachment 209365 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/1538110</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>919884</commentid>
    <comment_count>5</comment_count>
      <attachid>209369</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-08-22 08:13:56 -0700</bug_when>
    <thetext>Created attachment 209369
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>919892</commentid>
    <comment_count>6</comment_count>
      <attachid>209369</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-08-22 08:50:16 -0700</bug_when>
    <thetext>Comment on attachment 209369
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>919908</commentid>
    <comment_count>7</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-08-22 10:06:41 -0700</bug_when>
    <thetext>I will wait a bit to land in case an SVG specialist wants to take a look as well. However, I do not wish to wait too long as the patch is huge and would be a pain to rebase.

Please let me know.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>919972</commentid>
    <comment_count>8</comment_count>
    <who name="Philip Rogers">pdr</who>
    <bug_when>2013-08-22 14:30:15 -0700</bug_when>
    <thetext>This also looks good to me. R+!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>919976</commentid>
    <comment_count>9</comment_count>
      <attachid>209369</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-08-22 14:57:07 -0700</bug_when>
    <thetext>Comment on attachment 209369
Patch

Clearing flags on attachment: 209369

Committed r154462: &lt;http://trac.webkit.org/changeset/154462&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>919978</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-08-22 14:57:12 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>209365</attachid>
            <date>2013-08-22 07:32:24 -0700</date>
            <delta_ts>2013-08-22 08:13:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-107386-20130822173218.patch</filename>
            <type>text/plain</type>
            <size>230767</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU0NDQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDY2OWUwMGExZWY2NjEy
MTA3YTFlZWM4ODEzZmViZjE0ODlkN2RhYy4uNGQ0NWZkYjcxMWYyYTc1ODJiODI1NDFjNjQ3OTVh
YmI1MWVjYWI4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI2MyBAQAogMjAxMy0wOC0yMiAgQ2hy
aXN0b3BoZSBEdW1leiAgPGNoLmR1bWV6QHNpc2Euc2Ftc3VuZy5jb20+CiAKKyAgICAgICAgW1NW
RzJdIE1lcmdlIFNWR1N0eWxlZEVsZW1lbnQgYW5kIFNWR0VsZW1lbnQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNzM4NgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1lcmdlIFNWR1N0eWxlZEVsZW1lbnQg
aW50byBTVkdFbGVtZW50IHRvIHNpbXBsaWZ5IHRoZSBTVkcgaW5oZXJpdGFuY2UKKyAgICAgICAg
bW9kZWwgYW5kIG1hdGNoIHRoZSBTVkcyIHNwZWNpZmljYXRpb246CisgICAgICAgIGh0dHBzOi8v
c3Znd2cub3JnL3N2ZzItZHJhZnQvc2luZ2xlLXBhZ2UuaHRtbCN0eXBlcy1JbnRlcmZhY2VTVkdF
bGVtZW50CisKKyAgICAgICAgVGVzdDogc3ZnL2RvbS9zdmcyLWluaGVyaXRhbmNlLmh0bWwKKwor
ICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLmNwcDoK
KyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIERlcml2ZWRTb3VyY2Vz
LnByaToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFRhcmdldC5w
cmk6CisgICAgICAgICogV2ViQ29yZS5vcmRlcjoKKyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ov
V2ViQ29yZS52Y3hwcm9qOgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHBy
b2ouZmlsdGVyczoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6YWx0ZXJuYXRpdmVUZXh0
KToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0OjphY2Nlc3NpYmls
aXR5RGVzY3JpcHRpb24pOgorICAgICAgICAqIGNzcy9TVkdDU1NTdHlsZVNlbGVjdG9yLmNwcDoK
KyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGUuY3BwOgorICAgICAgICAq
IHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHQ29udGFpbmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclNWR0NvbnRhaW5lcjo6UmVuZGVyU1ZHQ29udGFpbmVyKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvc3ZnL1JlbmRlclNWR0NvbnRhaW5lci5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcv
UmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNW
R0hpZGRlbkNvbnRhaW5lcjo6UmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyKToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0hpZGRlbkNvbnRhaW5lci5oOgorICAgICAgICAqIHJlbmRl
cmluZy9zdmcvUmVuZGVyU1ZHTW9kZWxPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyU1ZHTW9kZWxPYmplY3Q6OlJlbmRlclNWR01vZGVsT2JqZWN0KToKKyAgICAgICAgKFdlYkNv
cmU6OmdldEVsZW1lbnRDVE0pOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHTW9k
ZWxPYmplY3QuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlQ2xp
cHBlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXI6OmRy
YXdDb250ZW50SW50b01hc2tJbWFnZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNv
dXJjZUNsaXBwZXI6OmNhbGN1bGF0ZUNsaXBDb250ZW50UmVwYWludFJlY3QpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyOjpoaXRUZXN0Q2xpcENvbnRlbnQpOgor
ICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXI6OlJlbmRlclNWR1Jl
c291cmNlQ29udGFpbmVyKToKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291
cmNlQ29udGFpbmVyLmg6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJj
ZUZpbHRlci5jcHA6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUZp
bHRlclByaW1pdGl2ZS5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3Vy
Y2VNYXJrZXIuY3BwOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VN
YXJrZXIuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlTWFza2Vy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNlTWFza2VyOjpkcmF3Q29u
dGVudEludG9NYXNrSW1hZ2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VN
YXNrZXI6OmNhbGN1bGF0ZU1hc2tDb250ZW50UmVwYWludFJlY3QpOgorICAgICAgICAqIHJlbmRl
cmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclNWR1Jlc291cmNlUGF0dGVybjo6Y3JlYXRlVGlsZUltYWdlKToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
U1ZHUm9vdDo6UmVuZGVyU1ZHUm9vdCk6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJT
VkdSb290Lmg6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdWaWV3cG9ydENvbnRh
aW5lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdWaWV3cG9ydENvbnRhaW5lcjo6
UmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXIpOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVu
ZGVyU1ZHVmlld3BvcnRDb250YWluZXIuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1NWR1Jl
bmRlclN1cHBvcnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUmVuZGVyU3VwcG9ydDo6bGF5
b3V0Q2hpbGRyZW4pOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvU1ZHUmVuZGVyVHJlZUFzVGV4
dC5jcHA6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9TVkdSZXNvdXJjZXMuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6cmVnaXN0ZXJQZW5kaW5nUmVzb3VyY2UpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9zdmcvU1ZHUmVzb3VyY2VzQ2FjaGUuY3BwOgorICAgICAgICAqIHN2Zy9TVkdBRWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdBRWxlbWVudDo6dGl0bGUpOgorICAgICAgICAqIHN2
Zy9TVkdBbGxJbk9uZS5jcHA6CisgICAgICAgICogc3ZnL1NWR0FsdEdseXBoRGVmRWxlbWVudC5o
OgorICAgICAgICAqIHN2Zy9TVkdBbHRHbHlwaEl0ZW1FbGVtZW50Lmg6CisgICAgICAgICogc3Zn
L1NWR0FuaW1hdGVFbGVtZW50LmNwcDoKKyAgICAgICAgKiBzdmcvU1ZHQW5pbWF0ZWRUeXBlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkVHlwZTo6dmFsdWVBc1N0cmluZyk6Cisg
ICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZFR5cGU6OnNldFZhbHVlQXNTdHJpbmcpOgorICAg
ICAgICAqIHN2Zy9TVkdBbmltYXRpb25FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNW
R0FuaW1hdGlvbkVsZW1lbnQ6OmlzVGFyZ2V0QXR0cmlidXRlQ1NTUHJvcGVydHkpOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHQW5pbWF0aW9uRWxlbWVudDo6Y29tcHV0ZUNTU1Byb3BlcnR5VmFsdWUp
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0aW9uRWxlbWVudDo6YWRqdXN0Rm9ySW5oZXJp
dGFuY2UpOgorICAgICAgICAoV2ViQ29yZTo6aW5oZXJpdHNGcm9tUHJvcGVydHkpOgorICAgICAg
ICAqIHN2Zy9TVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudC5oOgorICAgICAgICAq
IHN2Zy9TVkdDdXJzb3JFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0Rlc2NFbGVtZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0Rlc2NFbGVtZW50OjpTVkdEZXNjRWxlbWVudCk6Cisg
ICAgICAgICogc3ZnL1NWR0Rlc2NFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0Rlc2NFbGVt
ZW50LmlkbDoKKyAgICAgICAgKiBzdmcvU1ZHRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjptYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KToKKyAgICAgICAgKFdlYkNvcmU6OmNzc1Byb3Bl
cnR5VG9UeXBlTWFwKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VsZW1lbnQ6OlNWR0VsZW1lbnQp
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudDo6flNWR0VsZW1lbnQpOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHRWxlbWVudDo6cmVtb3ZlZEZyb20pOgorICAgICAgICAoV2ViQ29yZTo6U1ZH
RWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudDo6
YW5pbWF0ZWRQcm9wZXJ0eVR5cGVGb3JBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29yZTo6Y29s
bGVjdEluc3RhbmNlc0ZvclNWR0VsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVu
dDo6aXNBbmltYXRhYmxlQXR0cmlidXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VsZW1lbnQ6
OnRpdGxlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VsZW1lbnQ6OnJlbmRlcmVySXNOZWVkZWQp
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudDo6Y3NzUHJvcGVydHlJZEZvclNWR0F0dHJp
YnV0ZU5hbWUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudDo6aXNBbmltYXRhYmxlQ1NT
UHJvcGVydHkpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudDo6aXNQcmVzZW50YXRpb25B
dHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudDo6Y29sbGVjdFN0eWxlRm9y
UHJlc2VudGF0aW9uQXR0cmlidXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VsZW1lbnQ6Omlz
S25vd25BdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudDo6c3ZnQXR0cmli
dXRlQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbGVtZW50OjppbnNlcnRlZEludG8p
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudDo6YnVpbGRQZW5kaW5nUmVzb3VyY2VzSWZO
ZWVkZWQpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkKToK
KyAgICAgICAgKFdlYkNvcmU6OlNWR0VsZW1lbnQ6OmdldFByZXNlbnRhdGlvbkF0dHJpYnV0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpTVkdFbGVtZW50OjppbnN0YW5jZVVwZGF0ZXNCbG9ja2VkKToK
KyAgICAgICAgKFdlYkNvcmU6OlNWR0VsZW1lbnQ6OnNldEluc3RhbmNlVXBkYXRlc0Jsb2NrZWQp
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudDo6bG9jYWxDb29yZGluYXRlU3BhY2VUcmFu
c2Zvcm0pOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudDo6dXBkYXRlUmVsYXRpdmVMZW5n
dGhzSW5mb3JtYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudDo6aXNNb3VzZUZv
Y3VzYWJsZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbGVtZW50Ojppc0tleWJvYXJkRm9jdXNh
YmxlKToKKyAgICAgICAgKiBzdmcvU1ZHRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZH
RWxlbWVudDo6c3VwcG9ydHNNYXJrZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VsZW1lbnQ6
Omhhc1JlbGF0aXZlTGVuZ3Rocyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbGVtZW50OjpuZWVk
c1BlbmRpbmdSZXNvdXJjZUhhbmRsaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VsZW1lbnQ6
OnNlbGZIYXNSZWxhdGl2ZUxlbmd0aHMpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudDo6
dXBkYXRlUmVsYXRpdmVMZW5ndGhzSW5mb3JtYXRpb24pOgorICAgICAgICAqIHN2Zy9TVkdFbGVt
ZW50LmlkbDoKKyAgICAgICAgKiBzdmcvU1ZHRWxlbWVudEluc3RhbmNlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlNWR0VsZW1lbnRJbnN0YW5jZTo6aW52YWxpZGF0ZUFsbEluc3RhbmNlc09mRWxl
bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbGVtZW50SW5zdGFuY2U6Okluc3RhbmNlVXBk
YXRlQmxvY2tlcjo6SW5zdGFuY2VVcGRhdGVCbG9ja2VyKToKKyAgICAgICAgKiBzdmcvU1ZHRWxl
bWVudEluc3RhbmNlLmg6CisgICAgICAgICogc3ZnL1NWR0ZFQmxlbmRFbGVtZW50LmlkbDoKKyAg
ICAgICAgKiBzdmcvU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQuaWRsOgorICAgICAgICAqIHN2Zy9T
VkdGRUNvbXBvbmVudFRyYW5zZmVyRWxlbWVudC5pZGw6CisgICAgICAgICogc3ZnL1NWR0ZFQ29t
cG9zaXRlRWxlbWVudC5pZGw6CisgICAgICAgICogc3ZnL1NWR0ZFQ29udm9sdmVNYXRyaXhFbGVt
ZW50LmlkbDoKKyAgICAgICAgKiBzdmcvU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50LmlkbDoK
KyAgICAgICAgKiBzdmcvU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50LmlkbDoKKyAgICAgICAg
KiBzdmcvU1ZHRkVEcm9wU2hhZG93RWxlbWVudC5pZGw6CisgICAgICAgICogc3ZnL1NWR0ZFRmxv
b2RFbGVtZW50LmlkbDoKKyAgICAgICAgKiBzdmcvU1ZHRkVHYXVzc2lhbkJsdXJFbGVtZW50Lmlk
bDoKKyAgICAgICAgKiBzdmcvU1ZHRkVJbWFnZUVsZW1lbnQuaWRsOgorICAgICAgICAqIHN2Zy9T
VkdGRUxpZ2h0RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdGRU1lcmdlRWxlbWVudC5pZGw6
CisgICAgICAgICogc3ZnL1NWR0ZFTWVyZ2VOb2RlRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9T
VkdGRU1vcnBob2xvZ3lFbGVtZW50LmlkbDoKKyAgICAgICAgKiBzdmcvU1ZHRkVPZmZzZXRFbGVt
ZW50LmlkbDoKKyAgICAgICAgKiBzdmcvU1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudC5pZGw6
CisgICAgICAgICogc3ZnL1NWR0ZFVGlsZUVsZW1lbnQuaWRsOgorICAgICAgICAqIHN2Zy9TVkdG
RVR1cmJ1bGVuY2VFbGVtZW50LmlkbDoKKyAgICAgICAgKiBzdmcvU1ZHRmlsdGVyRWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdGaWx0ZXJFbGVtZW50OjpTVkdGaWx0ZXJFbGVtZW50
KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZpbHRlckVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OlNWR0ZpbHRlckVsZW1lbnQ6OnN2Z0F0dHJpYnV0ZUNoYW5nZWQp
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHRmlsdGVyRWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkKToK
KyAgICAgICAgKiBzdmcvU1ZHRmlsdGVyRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdGaWx0
ZXJFbGVtZW50LmlkbDoKKyAgICAgICAgKiBzdmcvU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRB
dHRyaWJ1dGVzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZpbHRlclByaW1pdGl2ZVN0YW5k
YXJkQXR0cmlidXRlczo6U1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlczo6cGFy
c2VBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRh
cmRBdHRyaWJ1dGVzOjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6OlNW
R0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlczo6Y2hpbGRyZW5DaGFuZ2VkKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlczo6cmVu
ZGVyZXJJc05lZWRlZCk6CisgICAgICAgICogc3ZnL1NWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJk
QXR0cmlidXRlcy5oOgorICAgICAgICAqIHN2Zy9TVkdGb250RWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTVkdGb250RWxlbWVudDo6U1ZHRm9udEVsZW1lbnQpOgorICAgICAgICAqIHN2
Zy9TVkdGb250RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdGb250RmFjZUVsZW1lbnQuY3Bw
OgorICAgICAgICAqIHN2Zy9TVkdGb250RmFjZUVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZH
Rm9udEZhY2VGb3JtYXRFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0ZvbnRGYWNlTmFtZUVs
ZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHRm9udEZhY2VTcmNFbGVtZW50Lmg6CisgICAgICAg
ICogc3ZnL1NWR0ZvbnRGYWNlVXJpRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdHRWxlbWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdHRWxlbWVudDo6cmVuZGVyZXJJc05lZWRlZCk6
CisgICAgICAgICogc3ZnL1NWR0dseXBoRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
VkdHbHlwaEVsZW1lbnQ6OlNWR0dseXBoRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdH
bHlwaEVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0dseXBo
RWxlbWVudDo6aW5zZXJ0ZWRJbnRvKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0dseXBoRWxlbWVu
dDo6cmVtb3ZlZEZyb20pOgorICAgICAgICAqIHN2Zy9TVkdHbHlwaEVsZW1lbnQuaDoKKyAgICAg
ICAgKiBzdmcvU1ZHR2x5cGhSZWZFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ds
eXBoUmVmRWxlbWVudDo6U1ZHR2x5cGhSZWZFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNW
R0dseXBoUmVmRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUpOgorICAgICAgICAqIHN2Zy9TVkdHbHlw
aFJlZkVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHR2x5cGhSZWZFbGVtZW50LmlkbDoKKyAg
ICAgICAgKiBzdmcvU1ZHR3JhZGllbnRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNW
R0dyYWRpZW50RWxlbWVudDo6U1ZHR3JhZGllbnRFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6
OlNWR0dyYWRpZW50RWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHR3JhZGllbnRFbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNv
cmU6OlNWR0dyYWRpZW50RWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkKToKKyAgICAgICAgKiBzdmcv
U1ZHR3JhZGllbnRFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5p
ZGw6CisgICAgICAgICogc3ZnL1NWR0dyYXBoaWNzRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpTVkdHcmFwaGljc0VsZW1lbnQ6OlNWR0dyYXBoaWNzRWxlbWVudCk6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdHcmFwaGljc0VsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKToKKyAgICAgICAgKFdl
YkNvcmU6OlNWR0dyYXBoaWNzRWxlbWVudDo6c3ZnQXR0cmlidXRlQ2hhbmdlZCk6CisgICAgICAg
ICogc3ZnL1NWR0dyYXBoaWNzRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdHcmFwaGljc0Vs
ZW1lbnQuaWRsOgorICAgICAgICAqIHN2Zy9TVkdMb2NhdGFibGUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHTG9jYXRhYmxlOjpjb21wdXRlQ1RNKToKKyAgICAgICAgKiBzdmcvU1ZHTVBhdGhF
bGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR01hcmtlckVsZW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHTWFya2VyRWxlbWVudDo6U1ZHTWFya2VyRWxlbWVudCk6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdNYXJrZXJFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZSk6CisgICAgICAgIChXZWJD
b3JlOjpTVkdNYXJrZXJFbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKToKKyAgICAgICAgKFdl
YkNvcmU6OlNWR01hcmtlckVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZCk6CisgICAgICAgICogc3Zn
L1NWR01hcmtlckVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHTWFya2VyRWxlbWVudC5pZGw6
CisgICAgICAgICogc3ZnL1NWR01hc2tFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNW
R01hc2tFbGVtZW50OjpTVkdNYXNrRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdNYXNr
RWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHTWFza0VsZW1l
bnQ6OnN2Z0F0dHJpYnV0ZUNoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHTWFza0VsZW1l
bnQ6OmNoaWxkcmVuQ2hhbmdlZCk6CisgICAgICAgICogc3ZnL1NWR01hc2tFbGVtZW50Lmg6Cisg
ICAgICAgICogc3ZnL1NWR01hc2tFbGVtZW50LmlkbDoKKyAgICAgICAgKiBzdmcvU1ZHTWV0YWRh
dGFFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR01pc3NpbmdHbHlwaEVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHTWlzc2luZ0dseXBoRWxlbWVudDo6U1ZHTWlzc2luZ0dseXBo
RWxlbWVudCk6CisgICAgICAgICogc3ZnL1NWR01pc3NpbmdHbHlwaEVsZW1lbnQuaDoKKyAgICAg
ICAgKiBzdmcvU1ZHTWlzc2luZ0dseXBoRWxlbWVudC5pZGw6CisgICAgICAgICogc3ZnL1NWR1Bh
dHRlcm5FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1BhdHRlcm5FbGVtZW50OjpT
VkdQYXR0ZXJuRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQYXR0ZXJuRWxlbWVudDo6
cGFyc2VBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0dGVybkVsZW1lbnQ6OnN2
Z0F0dHJpYnV0ZUNoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0dGVybkVsZW1lbnQ6
OmNoaWxkcmVuQ2hhbmdlZCk6CisgICAgICAgICogc3ZnL1NWR1BhdHRlcm5FbGVtZW50Lmg6Cisg
ICAgICAgICogc3ZnL1NWR1BhdHRlcm5FbGVtZW50LmlkbDoKKyAgICAgICAgKiBzdmcvU1ZHU2Ny
aXB0RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdTdG9wRWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTVkdTdG9wRWxlbWVudDo6U1ZHU3RvcEVsZW1lbnQpOgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHU3RvcEVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKToKKyAgICAgICAgKFdlYkNvcmU6
OlNWR1N0b3BFbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKToKKyAgICAgICAgKiBzdmcvU1ZH
U3RvcEVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHU3RvcEVsZW1lbnQuaWRsOgorICAgICAg
ICAqIHN2Zy9TVkdTdHlsZUVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHU3R5bGVkRWxlbWVu
dC5jcHA6IFJlbW92ZWQuCisgICAgICAgICogc3ZnL1NWR1N0eWxlZEVsZW1lbnQuaDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBzdmcvU1ZHU3R5bGVkRWxlbWVudC5pZGw6IFJlbW92ZWQuCisgICAgICAg
ICogc3ZnL1NWR1N5bWJvbEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHU3ltYm9s
RWxlbWVudDo6U1ZHU3ltYm9sRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdTeW1ib2xF
bGVtZW50OjpwYXJzZUF0dHJpYnV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdTeW1ib2xFbGVt
ZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKToKKyAgICAgICAgKiBzdmcvU1ZHU3ltYm9sRWxlbWVu
dC5oOgorICAgICAgICAqIHN2Zy9TVkdTeW1ib2xFbGVtZW50LmlkbDoKKyAgICAgICAgKiBzdmcv
U1ZHVFJlZkVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVFJlZkVsZW1lbnQ6Omlu
c2VydGVkSW50byk6CisgICAgICAgIChXZWJDb3JlOjpTVkdUUmVmRWxlbWVudDo6cmVtb3ZlZEZy
b20pOgorICAgICAgICAqIHN2Zy9TVkdUaXRsZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHVGl0bGVFbGVtZW50OjpTVkdUaXRsZUVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHVGl0bGVFbGVtZW50OjppbnNlcnRlZEludG8pOgorICAgICAgICAqIHN2Zy9TVkdUaXRsZUVs
ZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHVGl0bGVFbGVtZW50LmlkbDoKKyAgICAgICAgKiBz
dmcvU1ZHVHJhbnNmb3JtYWJsZS5jcHA6CisgICAgICAgICogc3ZnL1NWR1VzZUVsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHVXNlRWxlbWVudDo6c2VsZkhhc1JlbGF0aXZlTGVuZ3Ro
cyk6CisgICAgICAgICogc3ZnL1NWR1ZpZXdFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNWR1ZpZXdFbGVtZW50OjpTVkdWaWV3RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdW
aWV3RWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUpOgorICAgICAgICAqIHN2Zy9TVkdWaWV3RWxlbWVu
dC5oOgorICAgICAgICAqIHN2Zy9hbmltYXRpb24vU1ZHU01JTEVsZW1lbnQuaDoKKyAgICAgICAg
KiBzdmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGRUltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkZFSW1hZ2U6OnBsYXRmb3JtQXBwbHlTb2Z0d2FyZSk6CisKKzIwMTMtMDgtMjIgIENocmlzdG9w
aGUgRHVtZXogIDxjaC5kdW1lekBzaXNhLnNhbXN1bmcuY29tPgorCiAgICAgICAgIEludHJvZHVj
ZSBhIFNWR1Vua25vd25FbGVtZW50IGNsYXNzIGZvciB1bmtub3duIFNWRyBlbGVtZW50cwogICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIwMTU1CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKaW5kZXggZjI5NmIxYmY4MzQ5OThiNWU1N2I3YWQzYTk3NjgxZmQ0Zjgw
NTA2NS4uMjY1NjFmMDk2MTRiNTY0M2IxYzFkN2E2ZmM1OWY2ZGI3MTAzMzYxMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01h
a2VMaXN0cy50eHQKQEAgLTczMSw3ICs3MzEsNiBAQCBzZXQoV2ViQ29yZV9TVkdfSURMX0ZJTEVT
CiAgICAgc3ZnL1NWR1N0b3BFbGVtZW50LmlkbAogICAgIHN2Zy9TVkdTdHJpbmdMaXN0LmlkbAog
ICAgIHN2Zy9TVkdTdHlsZUVsZW1lbnQuaWRsCi0gICAgc3ZnL1NWR1N0eWxlZEVsZW1lbnQuaWRs
CiAgICAgc3ZnL1NWR1N3aXRjaEVsZW1lbnQuaWRsCiAgICAgc3ZnL1NWR1N5bWJvbEVsZW1lbnQu
aWRsCiAgICAgc3ZnL1NWR1RSZWZFbGVtZW50LmlkbApAQCAtMjQ1NSw3ICsyNDU0LDYgQEAgc2V0
KFdlYkNvcmVfU09VUkNFUwogICAgIHN2Zy9TVkdTdG9wRWxlbWVudC5jcHAKICAgICBzdmcvU1ZH
U3RyaW5nTGlzdC5jcHAKICAgICBzdmcvU1ZHU3R5bGVFbGVtZW50LmNwcAotICAgIHN2Zy9TVkdT
dHlsZWRFbGVtZW50LmNwcAogICAgIHN2Zy9TVkdTd2l0Y2hFbGVtZW50LmNwcAogICAgIHN2Zy9T
VkdTeW1ib2xFbGVtZW50LmNwcAogICAgIHN2Zy9TVkdUUmVmRWxlbWVudC5jcHAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLmNwcAppbmRleCBkMGY5ZTkzZjFmY2ViZTI1ODkxMDk0OWNhMjY5Y2U5OGQy
ZDQzYmNhLi5kYTQ3MWZlNWUzNjhlNzQ2ZDVhNDRjZTZiZWZlN2VkNzkwZThiMjg3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMuY3BwCkBAIC00NjMsNyArNDYzLDYgQEAKICNpbmNsdWRlICJKU1NW
R1N0b3BFbGVtZW50LmNwcCIKICNpbmNsdWRlICJKU1NWR1N0cmluZ0xpc3QuY3BwIgogI2luY2x1
ZGUgIkpTU1ZHU3R5bGVFbGVtZW50LmNwcCIKLSNpbmNsdWRlICJKU1NWR1N0eWxlZEVsZW1lbnQu
Y3BwIgogI2luY2x1ZGUgIkpTU1ZHU3dpdGNoRWxlbWVudC5jcHAiCiAjaW5jbHVkZSAiSlNTVkdT
eW1ib2xFbGVtZW50LmNwcCIKICNpbmNsdWRlICJKU1NWR1RleHRDb250ZW50RWxlbWVudC5jcHAi
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCBmMTk3N2MzNjA5YzFiMTdjYjRiMjE0
MWQ4YzBlMzc2MmQyNzMwYzZlLi45YjViYmE0N2JmMzQ0Yjc5OGM4MWMyNDhhNWNjNmVlMTVhOGMz
NzdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBi
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTU4Nyw3ICs1ODcsNiBAQCBC
SU5ESU5HX0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9zdmcvU1ZHU3RvcEVsZW1lbnQuaWRsIFwK
ICAgICAkKFdlYkNvcmUpL3N2Zy9TVkdTdHJpbmdMaXN0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9z
dmcvU1ZHU3R5bGVFbGVtZW50LmlkbCBcCi0gICAgJChXZWJDb3JlKS9zdmcvU1ZHU3R5bGVkRWxl
bWVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvc3ZnL1NWR1N3aXRjaEVsZW1lbnQuaWRsIFwKICAg
ICAkKFdlYkNvcmUpL3N2Zy9TVkdTeW1ib2xFbGVtZW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9z
dmcvU1ZHVFJlZkVsZW1lbnQuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLnByaSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQppbmRleCAy
Y2Q0MzU1ZThhYTcxOTgzMzA1MmQ5ZWNmMDI0ZjU4ODliNTE1MDA3Li4zN2RiNGZjZmNhYzMyOThi
M2FkZWQ5NDU4YmJjNTMzMzE0MDQ2ZTI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCkBA
IC02MTIsNyArNjEyLDYgQEAgZW5hYmxlPyhTVkcpIHsKICAgICAkJFBXRC9zdmcvU1ZHU3RvcEVs
ZW1lbnQuaWRsIFwKICAgICAkJFBXRC9zdmcvU1ZHU3RyaW5nTGlzdC5pZGwgXAogICAgICQkUFdE
L3N2Zy9TVkdTdHlsZUVsZW1lbnQuaWRsIFwKLSAgICAkJFBXRC9zdmcvU1ZHU3R5bGVkRWxlbWVu
dC5pZGwgXAogICAgICQkUFdEL3N2Zy9TVkdTVkdFbGVtZW50LmlkbCBcCiAgICAgJCRQV0Qvc3Zn
L1NWR1N3aXRjaEVsZW1lbnQuaWRsIFwKICAgICAkJFBXRC9zdmcvU1ZHU3ltYm9sRWxlbWVudC5p
ZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1Nv
dXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggM2E3NDEyNzEwMzdiY2E2MTc5
YTFkMjg2NTJhODI5NDNiNWNmMWI5Ni4uNGEwMTY0ZWY1YzVlOGY1NWFmNDRmM2FjOGMyMzhhNzVj
YzA0Zjc0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0xMTQwLDggKzExNDAs
NiBAQCB3ZWJjb3JlX3N2Z19idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTU1ZHU3RyaW5nTGlzdC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTU1ZHU3R5
bGVFbGVtZW50LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NWR1N0eWxlRWxlbWVu
dC5oIFwKLQlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTU1ZHU3R5bGVkRWxlbWVudC5jcHAgXAot
CURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTVkdTdHlsZWRFbGVtZW50LmggXAogCURlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNTVkdTVkdFbGVtZW50LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU1NWR1NWR0VsZW1lbnQuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NWR1N3
aXRjaEVsZW1lbnQuY3BwIFwKQEAgLTE3MjksNyArMTcyNyw2IEBAIGRvbV9iaW5kaW5nX2lkbHMg
Kz0gXAogCSQoV2ViQ29yZSkvc3ZnL1NWR1N0b3BFbGVtZW50LmlkbCBcCiAJJChXZWJDb3JlKS9z
dmcvU1ZHU3RyaW5nTGlzdC5pZGwgXAogCSQoV2ViQ29yZSkvc3ZnL1NWR1N0eWxlRWxlbWVudC5p
ZGwgXAotCSQoV2ViQ29yZSkvc3ZnL1NWR1N0eWxlZEVsZW1lbnQuaWRsIFwKIAkkKFdlYkNvcmUp
L3N2Zy9TVkdTd2l0Y2hFbGVtZW50LmlkbCBcCiAJJChXZWJDb3JlKS9zdmcvU1ZHU3ltYm9sRWxl
bWVudC5pZGwgXAogCSQoV2ViQ29yZSkvc3ZnL1NWR1RSZWZFbGVtZW50LmlkbCBcCkBAIC01Mjcy
LDggKzUyNjksNiBAQCB3ZWJjb3JlX3N2Z19zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHU3RyaW5nTGlzdC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU3R5bGVFbGVtZW50
LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N0eWxlRWxlbWVudC5oIFwKLQlTb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHU3R5bGVkRWxlbWVudC5jcHAgXAotCVNvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdTdHlsZWRFbGVtZW50LmggXAogCVNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmNw
cCBcCiAJU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQuaCBcCiAJU291cmNlL1dlYkNv
cmUvc3ZnL1NWR1N3aXRjaEVsZW1lbnQuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCmluZGV4IDM3NjZlMDU3M2Rl
YWNjNjk0MjcxYTlhYjJmYjczNjNjZDk3YmZiODguLjM4ZmNjMzkxYjIxMWZhODc3OTJkZGM5M2Qz
MDg4MzJlYWNmMTdkNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKKysr
IGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAtMjc5NCw3ICsyNzk0LDYgQEAgSEVBREVS
UyArPSBcCiAgICAgc3ZnL1NWR1N0b3BFbGVtZW50LmggXAogICAgIHN2Zy9TVkdTdHJpbmdMaXN0
LmggXAogICAgIHN2Zy9TVkdTdHlsZUVsZW1lbnQuaCBcCi0gICAgc3ZnL1NWR1N0eWxlZEVsZW1l
bnQuaCBcCiAgICAgc3ZnL1NWR1NWR0VsZW1lbnQuaCBcCiAgICAgc3ZnL1NWR1N3aXRjaEVsZW1l
bnQuaCBcCiAgICAgc3ZnL1NWR1N5bWJvbEVsZW1lbnQuaCBcCkBAIC0zODYxLDcgKzM4NjAsNiBA
QCBlbmFibGU/KFNWRykgewogICAgICAgICBzdmcvU1ZHU3RvcEVsZW1lbnQuY3BwIFwKICAgICAg
ICAgc3ZnL1NWR1N0cmluZ0xpc3QuY3BwIFwKICAgICAgICAgc3ZnL1NWR1N0eWxlRWxlbWVudC5j
cHAgXAotICAgICAgICBzdmcvU1ZHU3R5bGVkRWxlbWVudC5jcHAgXAogICAgICAgICBzdmcvU1ZH
U3dpdGNoRWxlbWVudC5jcHAgXAogICAgICAgICBzdmcvU1ZHU3ltYm9sRWxlbWVudC5jcHAgXAog
ICAgICAgICBzdmcvU1ZHVFJlZkVsZW1lbnQuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUub3JkZXIgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLm9yZGVyCmluZGV4IGNl
ZGNmOWQ1NGZlYTllYmYxZmEzZGQzODBkMmZjMWQzOTZhM2RlZDUuLmNhZjhkZGQwYTAzZWY1ZmIz
Y2E2ZDZkM2ViYzA5ZDkzZGIwZWY2M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUub3JkZXIKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5vcmRlcgpAQCAtOTk0Nyw3ICs5
OTQ3LDYgQEAgX19aTjdXZWJDb3JlMTNTVkdTVkdFbGVtZW50NmNyZWF0ZUVSS05TXzEzUXVhbGlm
aWVkTmFtZUVQTlNfOERvY3VtZW50RQogX19aTjdXZWJDb3JlMTNTVkdTVkdFbGVtZW50QzFFUktO
U18xM1F1YWxpZmllZE5hbWVFUE5TXzhEb2N1bWVudEUKIF9fWk43V2ViQ29yZTI5U1ZHU3R5bGVk
VHJhbnNmb3JtYWJsZUVsZW1lbnRDMkVSS05TXzEzUXVhbGlmaWVkTmFtZUVQTlNfOERvY3VtZW50
RU5TXzROb2RlMTZDb25zdHJ1Y3Rpb25UeXBlRQogX19aTjdXZWJDb3JlMjVTVkdTdHlsZWRMb2Nh
dGFibGVFbGVtZW50QzJFUktOU18xM1F1YWxpZmllZE5hbWVFUE5TXzhEb2N1bWVudEVOU180Tm9k
ZTE2Q29uc3RydWN0aW9uVHlwZUUKLV9fWk43V2ViQ29yZTE2U1ZHU3R5bGVkRWxlbWVudEMyRVJL
TlNfMTNRdWFsaWZpZWROYW1lRVBOU184RG9jdW1lbnRFTlNfNE5vZGUxNkNvbnN0cnVjdGlvblR5
cGVFCiBfX1pON1dlYkNvcmUxMFNWR0VsZW1lbnRDMkVSS05TXzEzUXVhbGlmaWVkTmFtZUVQTlNf
OERvY3VtZW50RU5TXzROb2RlMTZDb25zdHJ1Y3Rpb25UeXBlRQogX19aTjdXZWJDb3JlMjVTVkdB
dHRyaWJ1dGVUb1Byb3BlcnR5TWFwMTFhZGRQcm9wZXJ0eUVQS05TXzE1U1ZHUHJvcGVydHlJbmZv
RQogX19aTjNXVEY2VmVjdG9ySVBLTjdXZWJDb3JlMTVTVkdQcm9wZXJ0eUluZm9FTG0wRU5TXzE1
Q3Jhc2hPbk92ZXJmbG93RUUxNGV4cGFuZENhcGFjaXR5RW1QS1M0XwpAQCAtOTk1Niw3ICs5OTU1
LDcgQEAgX19aTjNXVEY5SGFzaFRhYmxlSU43V2ViQ29yZTEzUXVhbGlmaWVkTmFtZUVOU18xMktl
eVZhbHVlUGFpcklTMl9OU182T3duUHRySU5TXzYKIF9fWk4zV1RGOUhhc2hUYWJsZUlON1dlYkNv
cmUxM1F1YWxpZmllZE5hbWVFTlNfMTJLZXlWYWx1ZVBhaXJJUzJfTlNfNk93blB0cklOU182VmVj
dG9ySVBLTlMxXzE1U1ZHUHJvcGVydHlJbmZvRUxtMEVOU18xNUNyYXNoT25PdmVyZmxvd0VFRUVF
RUVOU18yNEtleVZhbHVlUGFpcktleUV4dHJhY3RvcklTQ19FRU5TMV8xN1F1YWxpZmllZE5hbWVI
YXNoRU5TXzE4SGFzaE1hcFZhbHVlVHJhaXRzSU5TXzEwSGFzaFRyYWl0c0lTMl9FRU5TSF9JU0Jf
RUVFRVNJX0UzYWRkSU5TXzE3SGFzaE1hcFRyYW5zbGF0b3JJU0tfU0ZfRUVTMl9OU18xMFBhc3NP
d25QdHJJU0FfRUVFRU5TXzE4SGFzaFRhYmxlQWRkUmVzdWx0SU5TXzE3SGFzaFRhYmxlSXRlcmF0
b3JJUzJfU0NfU0VfU0ZfU0tfU0lfRUVFRVJLVDBfUktUMV8KIF9fWk4zV1RGOUhhc2hUYWJsZUlO
N1dlYkNvcmUxM1F1YWxpZmllZE5hbWVFTlNfMTJLZXlWYWx1ZVBhaXJJUzJfTlNfNk93blB0cklO
U182VmVjdG9ySVBLTlMxXzE1U1ZHUHJvcGVydHlJbmZvRUxtMEVOU18xNUNyYXNoT25PdmVyZmxv
d0VFRUVFRUVOU18yNEtleVZhbHVlUGFpcktleUV4dHJhY3RvcklTQ19FRU5TMV8xN1F1YWxpZmll
ZE5hbWVIYXNoRU5TXzE4SGFzaE1hcFZhbHVlVHJhaXRzSU5TXzEwSGFzaFRyYWl0c0lTMl9FRU5T
SF9JU0JfRUVFRVNJX0U2bG9va3VwSU5TXzIySWRlbnRpdHlIYXNoVHJhbnNsYXRvcklTRl9FRVMy
X0VFUFNDX1JLVDBfCiBfX1pOM1dURjlIYXNoVGFibGVJTjdXZWJDb3JlMTNRdWFsaWZpZWROYW1l
RU5TXzEyS2V5VmFsdWVQYWlySVMyX05TXzZPd25QdHJJTlNfNlZlY3RvcklQS05TMV8xNVNWR1By
b3BlcnR5SW5mb0VMbTBFTlNfMTVDcmFzaE9uT3ZlcmZsb3dFRUVFRUVFTlNfMjRLZXlWYWx1ZVBh
aXJLZXlFeHRyYWN0b3JJU0NfRUVOUzFfMTdRdWFsaWZpZWROYW1lSGFzaEVOU18xOEhhc2hNYXBW
YWx1ZVRyYWl0c0lOU18xMEhhc2hUcmFpdHNJUzJfRUVOU0hfSVNCX0VFRUVTSV9FNnJlaGFzaEVp
Ci1fX1pON1dlYkNvcmUxNlNWR1N0eWxlZEVsZW1lbnQyMmF0dHJpYnV0ZVRvUHJvcGVydHlNYXBF
dgorX19aTjdXZWJDb3JlMTZTVkdFbGVtZW50MjJhdHRyaWJ1dGVUb1Byb3BlcnR5TWFwRXYKIF9f
Wk43V2ViQ29yZTI1U1ZHQXR0cmlidXRlVG9Qcm9wZXJ0eU1hcDEzYWRkUHJvcGVydGllc0VSS1Mw
XwogX19aTjdXZWJDb3JlOFNWR1Rlc3RzQzJFdgogX19aTjdXZWJDb3JlMTFwYXJzZU51bWJlckVS
UEt0UzFfUmZiCkBAIC05OTY2LDggKzk5NjUsOCBAQCBfX1pON1dlYkNvcmUxN1NNSUxUaW1lQ29u
dGFpbmVyQzFFUE5TXzEzU1ZHU1ZHRWxlbWVudEUKIF9fWk43V2ViQ29yZTI5U1ZHU3R5bGVkVHJh
bnNmb3JtYWJsZUVsZW1lbnQyMmF0dHJpYnV0ZVRvUHJvcGVydHlNYXBFdgogX19aTjdXZWJDb3Jl
OFNWR1Rlc3RzMjJhdHRyaWJ1dGVUb1Byb3BlcnR5TWFwRXYKIF9fWk43V2ViQ29yZTEwU1ZHRWxl
bWVudDE2YXR0cmlidXRlQ2hhbmdlZEVSS05TXzEzUXVhbGlmaWVkTmFtZUVSS04zV1RGMTJBdG9t
aWNTdHJpbmdFTlNfN0VsZW1lbnQyN0F0dHJpYnV0ZU1vZGlmaWNhdGlvblJlYXNvbkUKLV9fWk5L
N1dlYkNvcmUxNlNWR1N0eWxlZEVsZW1lbnQyM2lzUHJlc2VudGF0aW9uQXR0cmlidXRlRVJLTlNf
MTNRdWFsaWZpZWROYW1lRQotX19aTjdXZWJDb3JlMTZTVkdTdHlsZWRFbGVtZW50MzJjc3NQcm9w
ZXJ0eUlkRm9yU1ZHQXR0cmlidXRlTmFtZUVSS05TXzEzUXVhbGlmaWVkTmFtZUUKK19fWk5LN1dl
YkNvcmUxNlNWR0VsZW1lbnQyM2lzUHJlc2VudGF0aW9uQXR0cmlidXRlRVJLTlNfMTNRdWFsaWZp
ZWROYW1lRQorX19aTjdXZWJDb3JlMTZTVkdFbGVtZW50MzJjc3NQcm9wZXJ0eUlkRm9yU1ZHQXR0
cmlidXRlTmFtZUVSS05TXzEzUXVhbGlmaWVkTmFtZUUKIF9fWk4zV1RGOUhhc2hUYWJsZUlQTlNf
MTZBdG9taWNTdHJpbmdJbXBsRU5TXzEyS2V5VmFsdWVQYWlySVMyX043V2ViQ29yZTEzQ1NTUHJv
cGVydHlJREVFRU5TXzI0S2V5VmFsdWVQYWlyS2V5RXh0cmFjdG9ySVM2X0VFTlNfN1B0ckhhc2hJ
UzJfRUVOU18xOEhhc2hNYXBWYWx1ZVRyYWl0c0lOU18xMEhhc2hUcmFpdHNJUzJfRUVOU0NfSVM1
X0VFRUVTRF9FMTZsb29rdXBGb3JXcml0aW5nSU5TXzIySWRlbnRpdHlIYXNoVHJhbnNsYXRvcklT
QV9FRVMyX0VFTlN0M19fMTRwYWlySVBTNl9iRUVSS1QwXwogX19aTjNXVEY5SGFzaFRhYmxlSVBO
U18xNkF0b21pY1N0cmluZ0ltcGxFTlNfMTJLZXlWYWx1ZVBhaXJJUzJfTjdXZWJDb3JlMTNDU1NQ
cm9wZXJ0eUlERUVFTlNfMjRLZXlWYWx1ZVBhaXJLZXlFeHRyYWN0b3JJUzZfRUVOU183UHRySGFz
aElTMl9FRU5TXzE4SGFzaE1hcFZhbHVlVHJhaXRzSU5TXzEwSGFzaFRyYWl0c0lTMl9FRU5TQ19J
UzVfRUVFRVNEX0UzYWRkSU5TXzE3SGFzaE1hcFRyYW5zbGF0b3JJU0ZfU0FfRUVTMl9TNV9FRU5T
XzE4SGFzaFRhYmxlQWRkUmVzdWx0SU5TXzE3SGFzaFRhYmxlSXRlcmF0b3JJUzJfUzZfUzhfU0Ff
U0ZfU0RfRUVFRVJLVDBfUktUMV8KIF9fWk4zV1RGOUhhc2hUYWJsZUlQTlNfMTZBdG9taWNTdHJp
bmdJbXBsRU5TXzEyS2V5VmFsdWVQYWlySVMyX043V2ViQ29yZTEzQ1NTUHJvcGVydHlJREVFRU5T
XzI0S2V5VmFsdWVQYWlyS2V5RXh0cmFjdG9ySVM2X0VFTlNfN1B0ckhhc2hJUzJfRUVOU18xOEhh
c2hNYXBWYWx1ZVRyYWl0c0lOU18xMEhhc2hUcmFpdHNJUzJfRUVOU0NfSVM1X0VFRUVTRF9FNmxv
b2t1cElOU18yMklkZW50aXR5SGFzaFRyYW5zbGF0b3JJU0FfRUVTMl9FRVBTNl9SS1QwXwpAQCAt
OTk5MSwyNCArOTk5MCwyNCBAQCBfX1pOSzdXZWJDb3JlMTNTVkdTVkdFbGVtZW50NXdpZHRoRXYK
IF9fWk43V2ViQ29yZTEzU1ZHU1ZHRWxlbWVudDE3d2lkdGhQcm9wZXJ0eUluZm9FdgogX19aTks3
V2ViQ29yZTEzU1ZHU1ZHRWxlbWVudDZoZWlnaHRFdgogX19aTjdXZWJDb3JlMTNTVkdTVkdFbGVt
ZW50MThoZWlnaHRQcm9wZXJ0eUluZm9FdgotX19aTjdXZWJDb3JlMTZTVkdTdHlsZWRFbGVtZW50
MzJ1cGRhdGVSZWxhdGl2ZUxlbmd0aHNJbmZvcm1hdGlvbkViUFMwXworX19aTjdXZWJDb3JlMTZT
VkdFbGVtZW50MzJ1cGRhdGVSZWxhdGl2ZUxlbmd0aHNJbmZvcm1hdGlvbkViUFMwXwogX19aTjdX
ZWJDb3JlMTVTVkdGaXRUb1ZpZXdCb3gxNmlzS25vd25BdHRyaWJ1dGVFUktOU18xM1F1YWxpZmll
ZE5hbWVFCiBfX1pON1dlYkNvcmU4U1ZHVGVzdHMyMWhhbmRsZUF0dHJpYnV0ZUNoYW5nZUVQTlNf
MTBTVkdFbGVtZW50RVJLTlNfMTNRdWFsaWZpZWROYW1lRQogX19aTjdXZWJDb3JlMThTVkdFbGVt
ZW50SW5zdGFuY2UzMWludmFsaWRhdGVBbGxJbnN0YW5jZXNPZkVsZW1lbnRFUE5TXzEwU1ZHRWxl
bWVudEUKIF9fWk43V2ViQ29yZTE2SFRNTEVsZW1lbnRTdGFjazIyaXNIVE1MSW50ZWdyYXRpb25Q
b2ludEVQTlNfMTNIVE1MU3RhY2tJdGVtRQogX19aTjdXZWJDb3JlMTZIVE1MRWxlbWVudFN0YWNr
Mjhpc01hdGhNTFRleHRJbnRlZ3JhdGlvblBvaW50RVBOU18xM0hUTUxTdGFja0l0ZW1FCiBfX1pO
N1dlYkNvcmUxM1NWR1NWR0VsZW1lbnQxMmluc2VydGVkSW50b0VQTlNfMTNDb250YWluZXJOb2Rl
RQotX19aTjdXZWJDb3JlMTZTVkdTdHlsZWRFbGVtZW50MTJpbnNlcnRlZEludG9FUE5TXzEzQ29u
dGFpbmVyTm9kZUUKLV9fWk43V2ViQ29yZTE2U1ZHU3R5bGVkRWxlbWVudDI5YnVpbGRQZW5kaW5n
UmVzb3VyY2VzSWZOZWVkZWRFdgotX19aTks3V2ViQ29yZTE2U1ZHU3R5bGVkRWxlbWVudDI4bmVl
ZHNQZW5kaW5nUmVzb3VyY2VIYW5kbGluZ0V2CitfX1pON1dlYkNvcmUxNlNWR0VsZW1lbnQxMmlu
c2VydGVkSW50b0VQTlNfMTNDb250YWluZXJOb2RlRQorX19aTjdXZWJDb3JlMTZTVkdFbGVtZW50
MjlidWlsZFBlbmRpbmdSZXNvdXJjZXNJZk5lZWRlZEV2CitfX1pOSzdXZWJDb3JlMTZTVkdFbGVt
ZW50MjhuZWVkc1BlbmRpbmdSZXNvdXJjZUhhbmRsaW5nRXYKIF9fWk43V2ViQ29yZTE1SFRNTFRy
ZWVCdWlsZGVyMjhwcm9jZXNzVG9rZW5JbkZvcmVpZ25Db250ZW50RVBOU18xNUF0b21pY0hUTUxU
b2tlbkUKLV9fWk43V2ViQ29yZTE2U1ZHU3R5bGVkRWxlbWVudDE1Y2hpbGRyZW5DaGFuZ2VkRWJQ
TlNfNE5vZGVFUzJfaQorX19aTjdXZWJDb3JlMTZTVkdFbGVtZW50MTVjaGlsZHJlbkNoYW5nZWRF
YlBOU180Tm9kZUVTMl9pCiBfX1pON1dlYkNvcmVMMjBhZGp1c3RTVkdUYWdOYW1lQ2FzZUVQTlNf
MTVBdG9taWNIVE1MVG9rZW5FCiBfX1pON1dlYkNvcmU4U1ZHTmFtZXMxMGdldFNWR1RhZ3NFdgog
X19aTjdXZWJDb3JlTDEyZ0NvbnN0cnVjdG9yRVJLTlNfMTNRdWFsaWZpZWROYW1lRVBOU184RG9j
dW1lbnRFYgogX19aTjdXZWJDb3JlMTFTVkdHRWxlbWVudDZjcmVhdGVFUktOU18xM1F1YWxpZmll
ZE5hbWVFUE5TXzhEb2N1bWVudEUKIF9fWk43V2ViQ29yZUw0MHJlZ2lzdGVyQW5pbWF0ZWRQcm9w
ZXJ0aWVzRm9yU1ZHR0VsZW1lbnRFdgotX19aTks3V2ViQ29yZTE2U1ZHU3R5bGVkRWxlbWVudDIy
c2VsZkhhc1JlbGF0aXZlTGVuZ3Roc0V2CitfX1pOSzdXZWJDb3JlMTZTVkdFbGVtZW50MjJzZWxm
SGFzUmVsYXRpdmVMZW5ndGhzRXYKIF9fWk43V2ViQ29yZUwxN2NpcmNsZUNvbnN0cnVjdG9yRVJL
TlNfMTNRdWFsaWZpZWROYW1lRVBOU184RG9jdW1lbnRFYgogX19aTjdXZWJDb3JlMTZTVkdDaXJj
bGVFbGVtZW50NmNyZWF0ZUVSS05TXzEzUXVhbGlmaWVkTmFtZUVQTlNfOERvY3VtZW50RQogX19a
TjdXZWJDb3JlMTZTVkdDaXJjbGVFbGVtZW50QzFFUktOU18xM1F1YWxpZmllZE5hbWVFUE5TXzhE
b2N1bWVudEUKQEAgLTEwMDMyLDEwICsxMDAzMSwxMCBAQCBfX1pON1dlYkNvcmUxNlNWR0NpcmNs
ZUVsZW1lbnQxNGN5UHJvcGVydHlJbmZvRXYKIF9fWk5LN1dlYkNvcmUxNlNWR0NpcmNsZUVsZW1l
bnQxckV2CiBfX1pON1dlYkNvcmUxNlNWR0NpcmNsZUVsZW1lbnQxM3JQcm9wZXJ0eUluZm9Fdgog
X19aTjdXZWJDb3JlMjlTVkdTdHlsZWRUcmFuc2Zvcm1hYmxlRWxlbWVudDE0cGFyc2VBdHRyaWJ1
dGVFUktOU18xM1F1YWxpZmllZE5hbWVFUktOM1dURjEyQXRvbWljU3RyaW5nRQotX19aTjdXZWJD
b3JlMTZTVkdTdHlsZWRFbGVtZW50MTRwYXJzZUF0dHJpYnV0ZUVSS05TXzEzUXVhbGlmaWVkTmFt
ZUVSS04zV1RGMTJBdG9taWNTdHJpbmdFCitfX1pON1dlYkNvcmUxNlNWR0VsZW1lbnQxNHBhcnNl
QXR0cmlidXRlRVJLTlNfMTNRdWFsaWZpZWROYW1lRVJLTjNXVEYxMkF0b21pY1N0cmluZ0UKIF9f
Wk43V2ViQ29yZTI5U1ZHU3R5bGVkVHJhbnNmb3JtYWJsZUVsZW1lbnQxOXN2Z0F0dHJpYnV0ZUNo
YW5nZWRFUktOU18xM1F1YWxpZmllZE5hbWVFCi1fX1pON1dlYkNvcmUxNlNWR1N0eWxlZEVsZW1l
bnQxOXN2Z0F0dHJpYnV0ZUNoYW5nZWRFUktOU18xM1F1YWxpZmllZE5hbWVFCi1fX1pOSzdXZWJD
b3JlMTZTVkdTdHlsZWRFbGVtZW50OWNsYXNzTmFtZUV2CitfX1pON1dlYkNvcmUxNlNWR0VsZW1l
bnQxOXN2Z0F0dHJpYnV0ZUNoYW5nZWRFUktOU18xM1F1YWxpZmllZE5hbWVFCitfX1pOSzdXZWJD
b3JlMTZTVkdFbGVtZW50OWNsYXNzTmFtZUV2CiBfX1pON1dlYkNvcmUxMFNWR0VsZW1lbnQyMWZp
bmlzaFBhcnNpbmdDaGlsZHJlbkV2CiBfX1pOSzdXZWJDb3JlMTBTVkdFbGVtZW50MjRpc091dGVy
bW9zdFNWR1NWR0VsZW1lbnRFdgogX19aTjdXZWJDb3JlMTBTVkdFbGVtZW50MjZzZW5kU1ZHTG9h
ZEV2ZW50SWZQb3NzaWJsZUViCkBAIC0xMDE1Myw3ICsxMDE1Miw3IEBAIF9fWk43V2ViQ29yZTE2
SFRNTFN0eWxlRWxlbWVudDExcmVtb3ZlZEZyb21FUE5TXzEzQ29udGFpbmVyTm9kZUUKIF9fWk43
V2ViQ29yZTE1SFRNTEZvcm1FbGVtZW50MTFyZW1vdmVkRnJvbUVQTlNfMTNDb250YWluZXJOb2Rl
RQogX19aTjdXZWJDb3JlMjFGb3JtQXNzb2NpYXRlZEVsZW1lbnQxOWZvcm1SZW1vdmVkRnJvbVRy
ZWVFUEtOU180Tm9kZUUKIF9fWk43V2ViQ29yZTEzU1ZHU1ZHRWxlbWVudDExcmVtb3ZlZEZyb21F
UE5TXzEzQ29udGFpbmVyTm9kZUUKLV9fWk43V2ViQ29yZTE2U1ZHU3R5bGVkRWxlbWVudDExcmVt
b3ZlZEZyb21FUE5TXzEzQ29udGFpbmVyTm9kZUUKK19fWk43V2ViQ29yZTE2U1ZHRWxlbWVudDEx
cmVtb3ZlZEZyb21FUE5TXzEzQ29udGFpbmVyTm9kZUUKIF9fWk43V2ViQ29yZTEwU1ZHRWxlbWVu
dDExcmVtb3ZlZEZyb21FUE5TXzEzQ29udGFpbmVyTm9kZUUKIF9fWk43V2ViQ29yZTE0U1ZHUGF0
aEVsZW1lbnQxMXJlbW92ZWRGcm9tRVBOU18xM0NvbnRhaW5lck5vZGVFCiBfX1pON1dlYkNvcmUx
NUhUTUxGb3JtRWxlbWVudDM3Y29weU5vbkF0dHJpYnV0ZVByb3BlcnRpZXNGcm9tRWxlbWVudEVS
S05TXzdFbGVtZW50RQpAQCAtMTAxNjYsOCArMTAxNjUsOCBAQCBfX1pOSzdXZWJDb3JlMTdTTUlM
VGltZUNvbnRhaW5lcjlpc1N0YXJ0ZWRFdgogX19aTjdXZWJDb3JlMTdTTUlMVGltZUNvbnRhaW5l
cjViZWdpbkV2CiBfX1pON1dlYkNvcmUxN1NNSUxUaW1lQ29udGFpbmVyMTZ1cGRhdGVBbmltYXRp
b25zRU5TXzhTTUlMVGltZUViCiBfX1pOSzdXZWJDb3JlMjFTVkdEb2N1bWVudEV4dGVuc2lvbnMx
OGhhc1BlbmRpbmdSZXNvdXJjZUVSS04zV1RGMTJBdG9taWNTdHJpbmdFCi1fX1pOM1dURjlIYXNo
VGFibGVJUE43V2ViQ29yZTE2U1ZHU3R5bGVkRWxlbWVudEVTM19OU18xN0lkZW50aXR5RXh0cmFj
dG9yRU5TXzdQdHJIYXNoSVMzX0VFTlNfMTBIYXNoVHJhaXRzSVMzX0VFUzhfRTNhZGRJTlNfMjJJ
ZGVudGl0eUhhc2hUcmFuc2xhdG9ySVM2X0VFUzNfUzNfRUVOU18xOEhhc2hUYWJsZUFkZFJlc3Vs
dElOU18xN0hhc2hUYWJsZUl0ZXJhdG9ySVMzX1MzX1M0X1M2X1M4X1M4X0VFRUVSS1QwX1JLVDFf
Ci1fX1pOM1dURjlIYXNoVGFibGVJUE43V2ViQ29yZTE2U1ZHU3R5bGVkRWxlbWVudEVTM19OU18x
N0lkZW50aXR5RXh0cmFjdG9yRU5TXzdQdHJIYXNoSVMzX0VFTlNfMTBIYXNoVHJhaXRzSVMzX0VF
UzhfRTZyZWhhc2hFaQorX19aTjNXVEY5SGFzaFRhYmxlSVBON1dlYkNvcmUxNlNWR0VsZW1lbnRF
UzNfTlNfMTdJZGVudGl0eUV4dHJhY3RvckVOU183UHRySGFzaElTM19FRU5TXzEwSGFzaFRyYWl0
c0lTM19FRVM4X0UzYWRkSU5TXzIySWRlbnRpdHlIYXNoVHJhbnNsYXRvcklTNl9FRVMzX1MzX0VF
TlNfMThIYXNoVGFibGVBZGRSZXN1bHRJTlNfMTdIYXNoVGFibGVJdGVyYXRvcklTM19TM19TNF9T
Nl9TOF9TOF9FRUVFUktUMF9SS1QxXworX19aTjNXVEY5SGFzaFRhYmxlSVBON1dlYkNvcmUxNlNW
R0VsZW1lbnRFUzNfTlNfMTdJZGVudGl0eUV4dHJhY3RvckVOU183UHRySGFzaElTM19FRU5TXzEw
SGFzaFRyYWl0c0lTM19FRVM4X0U2cmVoYXNoRWkKIF9fWk43V2ViQ29yZTIxanNIVE1MRWxlbWVu
dENoaWxkcmVuRVBOM0pTQzlFeGVjU3RhdGVFTlMwXzdKU1ZhbHVlRU5TMF8xMlByb3BlcnR5TmFt
ZUUKIF9fWk43V2ViQ29yZTE2SlNIVE1MQ29sbGVjdGlvbjZjcmVhdGVFUE4zSlNDOVN0cnVjdHVy
ZUVQTlNfMTdKU0RPTUdsb2JhbE9iamVjdEVOM1dURjEwUGFzc1JlZlB0cklOU18xNEhUTUxDb2xs
ZWN0aW9uRUVFCiBfX1pON1dlYkNvcmUxNkpTSFRNTENvbGxlY3Rpb25DMUVQTjNKU0M5U3RydWN0
dXJlRVBOU18xN0pTRE9NR2xvYmFsT2JqZWN0RU4zV1RGMTBQYXNzUmVmUHRySU5TXzE0SFRNTENv
bGxlY3Rpb25FRUUKQEAgLTEwNTA1LDcgKzEwNTA0LDcgQEAgX19aTks3V2ViQ29yZTExUmVuZGVy
VmlkZW8yN2NvbXB1dGVSZXBsYWNlZExvZ2ljYWxXaWR0aEVOU18yMlNob3VsZENvbXB1dGVQcmVm
ZXIKIF9fWk5LN1dlYkNvcmUxMVJlbmRlclZpZGVvMjhjb21wdXRlUmVwbGFjZWRMb2dpY2FsSGVp
Z2h0RXYKIF9fWk43V2ViQ29yZTI3YmFja2dyb3VuZFBvc2l0aW9uU2hvcnRoYW5kRXYKIF9fWk43
V2ViQ29yZTEzU1ZHU1ZHRWxlbWVudDE0Y3JlYXRlUmVuZGVyZXJFUE5TXzExUmVuZGVyQXJlbmFF
UE5TXzExUmVuZGVyU3R5bGVFCi1fX1pON1dlYkNvcmUxM1JlbmRlclNWR1Jvb3RDMUVQTlNfMTZT
VkdTdHlsZWRFbGVtZW50RQorX19aTjdXZWJDb3JlMTNSZW5kZXJTVkdSb290QzFFUE5TXzE2U1ZH
RWxlbWVudEUKIF9fWk43V2ViQ29yZTEzUmVuZGVyU1ZHUm9vdDE1c3R5bGVXaWxsQ2hhbmdlRU5T
XzE1U3R5bGVEaWZmZXJlbmNlRVBLTlNfMTFSZW5kZXJTdHlsZUUKIF9fWk43V2ViQ29yZTEzUmVu
ZGVyU1ZHUm9vdDE0c3R5bGVEaWRDaGFuZ2VFTlNfMTVTdHlsZURpZmZlcmVuY2VFUEtOU18xMVJl
bmRlclN0eWxlRQogX19aTks3V2ViQ29yZTEzUmVuZGVyU1ZHUm9vdDlpc1NWR1Jvb3RFdgpAQCAt
MTA1MTUsMTEgKzEwNTE0LDExIEBAIF9fWk5LN1dlYkNvcmUxM1JlbmRlclNWR1Jvb3QxNWNhbkhh
dmVDaGlsZHJlbkV2CiBfX1pOSzdXZWJDb3JlMTBTVkdFbGVtZW50MjVjaGlsZFNob3VsZENyZWF0
ZVJlbmRlcmVyRVJLTlNfMjBOb2RlUmVuZGVyaW5nQ29udGV4dEUKIF9fWk5LN1dlYkNvcmUxNFNW
R1BvbHlFbGVtZW50N2lzVmFsaWRFdgogX19aTks3V2ViQ29yZThTVkdUZXN0czdpc1ZhbGlkRXYK
LV9fWk43V2ViQ29yZTE2U1ZHU3R5bGVkRWxlbWVudDM2Y29sbGVjdFN0eWxlRm9yUHJlc2VudGF0
aW9uQXR0cmlidXRlRVJLTlNfMTNRdWFsaWZpZWROYW1lRVJLTjNXVEYxMkF0b21pY1N0cmluZ0VQ
TlNfMjNNdXRhYmxlU3R5bGVQcm9wZXJ0eVNldEUKK19fWk43V2ViQ29yZTE2U1ZHRWxlbWVudDM2
Y29sbGVjdFN0eWxlRm9yUHJlc2VudGF0aW9uQXR0cmlidXRlRVJLTlNfMTNRdWFsaWZpZWROYW1l
RVJLTjNXVEYxMkF0b21pY1N0cmluZ0VQTlNfMjNNdXRhYmxlU3R5bGVQcm9wZXJ0eVNldEUKIF9f
Wk43V2ViQ29yZTE0U1ZHUmVuZGVyU3R5bGUxMnNldEZpbGxQYWludEVOU184U1ZHUGFpbnQxMlNW
R1BhaW50VHlwZUVSS05TXzVDb2xvckVSS04zV1RGNlN0cmluZ0ViYgogX19aTjdXZWJDb3JlN0Rh
dGFSZWZJTlNfMTNTdHlsZUZpbGxEYXRhRUU2YWNjZXNzRXYKIF9fWk43V2ViQ29yZTEzU3R5bGVG
aWxsRGF0YUMxRVJLUzBfCi1fX1pON1dlYkNvcmUxNlNWR1N0eWxlZEVsZW1lbnQxNnJlbmRlcmVy
SXNOZWVkZWRFUktOU18yME5vZGVSZW5kZXJpbmdDb250ZXh0RQorX19aTjdXZWJDb3JlMTZTVkdF
bGVtZW50MTZyZW5kZXJlcklzTmVlZGVkRVJLTlNfMjBOb2RlUmVuZGVyaW5nQ29udGV4dEUKIF9f
Wk43V2ViQ29yZTI5U1ZHU3R5bGVkVHJhbnNmb3JtYWJsZUVsZW1lbnQxNGNyZWF0ZVJlbmRlcmVy
RVBOU18xMVJlbmRlckFyZW5hRVBOU18xMVJlbmRlclN0eWxlRQogX19aTjdXZWJDb3JlMTNSZW5k
ZXJTVkdQYXRoQzFFUE5TXzI5U1ZHU3R5bGVkVHJhbnNmb3JtYWJsZUVsZW1lbnRFCiBfX1pON1dl
YkNvcmUyMFJlbmRlclNWR01vZGVsT2JqZWN0MTVzdHlsZVdpbGxDaGFuZ2VFTlNfMTVTdHlsZURp
ZmZlcmVuY2VFUEtOU18xMVJlbmRlclN0eWxlRQpAQCAtMTA1NDgsMTMgKzEwNTQ3LDEzIEBAIF9f
Wk5LN1dlYkNvcmUxNFNWR1BhdGhFbGVtZW50N2lzVmFsaWRFdgogX19aTjdXZWJDb3JlMTRTVkdQ
YXRoRWxlbWVudDE0Y3JlYXRlUmVuZGVyZXJFUE5TXzExUmVuZGVyQXJlbmFFUE5TXzExUmVuZGVy
U3R5bGVFCiBfX1pOSzdXZWJDb3JlMTRTVkdEZWZzRWxlbWVudDdpc1ZhbGlkRXYKIF9fWk43V2Vi
Q29yZTE0U1ZHRGVmc0VsZW1lbnQxNGNyZWF0ZVJlbmRlcmVyRVBOU18xMVJlbmRlckFyZW5hRVBO
U18xMVJlbmRlclN0eWxlRQotX19aTjdXZWJDb3JlMjRSZW5kZXJTVkdIaWRkZW5Db250YWluZXJD
MUVQTlNfMTZTVkdTdHlsZWRFbGVtZW50RQorX19aTjdXZWJDb3JlMjRSZW5kZXJTVkdIaWRkZW5D
b250YWluZXJDMUVQTlNfMTZTVkdFbGVtZW50RQogX19aTks3V2ViQ29yZTE4UmVuZGVyU1ZHQ29u
dGFpbmVyMTRpc1NWR0NvbnRhaW5lckV2CiBfX1pOSzdXZWJDb3JlMThSZW5kZXJTVkdDb250YWlu
ZXIxNXZpcnR1YWxDaGlsZHJlbkV2CiBfX1pOSzdXZWJDb3JlMTBTVkdFbGVtZW50N2lzVmFsaWRF
dgogX19aTjdXZWJDb3JlMjRTVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQxNGNyZWF0ZVJlbmRlcmVy
RVBOU18xMVJlbmRlckFyZW5hRVBOU18xMVJlbmRlclN0eWxlRQogX19aTjdXZWJDb3JlMzFSZW5k
ZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50QzFFUE5TXzI0U1ZHTGluZWFyR3JhZGllbnRFbGVt
ZW50RQotX19aTjdXZWJDb3JlMjZSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lckMyRVBOU18xNlNW
R1N0eWxlZEVsZW1lbnRFCitfX1pON1dlYkNvcmUyNlJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVy
QzJFUE5TXzE2U1ZHRWxlbWVudEUKIF9fWk43V2ViQ29yZTI0TGluZWFyR3JhZGllbnRBdHRyaWJ1
dGVzQzJFdgogX19aTjdXZWJDb3JlMjZSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lcjE0c3R5bGVE
aWRDaGFuZ2VFTlNfMTVTdHlsZURpZmZlcmVuY2VFUEtOU18xMVJlbmRlclN0eWxlRQogX19aTjdX
ZWJDb3JlMjZSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lcjE2cmVnaXN0ZXJSZXNvdXJjZUV2CkBA
IC0xMDY3MSw3ICsxMDY3MCw3IEBAIF9fWk43V2ViQ29yZTEzU1ZHU1ZHRWxlbWVudDMxcHJlc2Vy
dmVBc3BlY3RSYXRpb1Byb3BlcnR5SW5mb0V2CiBfX1pON1dlYkNvcmUxNVNWR0ZpdFRvVmlld0Jv
eDIydmlld0JveFRvVmlld1RyYW5zZm9ybUVSS05TXzlGbG9hdFJlY3RFUktOU18yMlNWR1ByZXNl
cnZlQXNwZWN0UmF0aW9FZmYKIF9fWk43V2ViQ29yZTE2U1ZHUmVuZGVyU3VwcG9ydDE0bGF5b3V0
Q2hpbGRyZW5FUE5TXzEyUmVuZGVyT2JqZWN0RWIKIF9fWk43V2ViQ29yZTEzUmVuZGVyU1ZHUm9v
dDIxbmVlZHNCb3VuZGFyaWVzVXBkYXRlRXYKLV9fWk5LN1dlYkNvcmUxNlNWR1N0eWxlZEVsZW1l
bnQxOGlzU1ZHU3R5bGVkRWxlbWVudEV2CitfX1pOSzdXZWJDb3JlMTZTVkdFbGVtZW50MThpc1NW
R0VsZW1lbnRFdgogX19aTjdXZWJDb3JlMTRSZW5kZXJTVkdTaGFwZTZsYXlvdXRFdgogX19aTjdX
ZWJDb3JlMTNSZW5kZXJTVkdQYXRoMjJ1cGRhdGVTaGFwZUZyb21FbGVtZW50RXYKIF9fWk43V2Vi
Q29yZTE0UmVuZGVyU1ZHU2hhcGUyMnVwZGF0ZVNoYXBlRnJvbUVsZW1lbnRFdgpAQCAtMTExODks
OCArMTExODgsOCBAQCBfX1pOSzdXZWJDb3JlMTlDYWNoZWRDU1NTdHlsZVNoZWV0MTNwdXJnZVBy
aW9yaXR5RXYKIF9fWk43V2ViQ29yZTE1UHVyZ2VhYmxlQnVmZmVyMTNtYWtlUHVyZ2VhYmxlRWIK
IF9fWk43V2ViQ29yZTlDbGFzc0xpc3REMEV2CiBfX1pON1dlYkNvcmUxMlN0eWxlRWxlbWVudDE5
cmVtb3ZlZEZyb21Eb2N1bWVudEVQTlNfOERvY3VtZW50RVBOU183RWxlbWVudEUKLV9fWk4zV1RG
OUhhc2hUYWJsZUlQTjdXZWJDb3JlMTZTVkdTdHlsZWRFbGVtZW50RVMzX05TXzE3SWRlbnRpdHlF
eHRyYWN0b3JFTlNfN1B0ckhhc2hJUzNfRUVOU18xMEhhc2hUcmFpdHNJUzNfRUVTOF9FNmxvb2t1
cElOU18yMklkZW50aXR5SGFzaFRyYW5zbGF0b3JJUzZfRUVTM19FRVBTM19SS1QwXwotX19aTjNX
VEY3SGFzaFNldElQTjdXZWJDb3JlMTZTVkdTdHlsZWRFbGVtZW50RU5TXzdQdHJIYXNoSVMzX0VF
TlNfMTBIYXNoVHJhaXRzSVMzX0VFRTZyZW1vdmVFUktTM18KK19fWk4zV1RGOUhhc2hUYWJsZUlQ
TjdXZWJDb3JlMTZTVkdFbGVtZW50RVMzX05TXzE3SWRlbnRpdHlFeHRyYWN0b3JFTlNfN1B0ckhh
c2hJUzNfRUVOU18xMEhhc2hUcmFpdHNJUzNfRUVTOF9FNmxvb2t1cElOU18yMklkZW50aXR5SGFz
aFRyYW5zbGF0b3JJUzZfRUVTM19FRVBTM19SS1QwXworX19aTjNXVEY3SGFzaFNldElQTjdXZWJD
b3JlMTZTVkdFbGVtZW50RU5TXzdQdHJIYXNoSVMzX0VFTlNfMTBIYXNoVHJhaXRzSVMzX0VFRTZy
ZW1vdmVFUktTM18KIF9fWk43V2ViQ29yZTE5Q2FjaGVkQ1NTU3R5bGVTaGVldEQwRXYKIF9fWk43
V2ViQ29yZTE5Q2FjaGVkQ1NTU3R5bGVTaGVldEQyRXYKIF9fWlRobjQ4X043V2ViQ29yZThET01U
aW1lcjE2Y29udGV4dERlc3Ryb3llZEV2CkBAIC0xMTM2MSwyMiArMTEzNjAsMjIgQEAgX19aTjdX
ZWJDb3JlMThjcmVhdGVKU1NWR1dyYXBwZXJFUE4zSlNDOUV4ZWNTdGF0ZUVQTlNfMTdKU0RPTUds
b2JhbE9iamVjdEVOM1dURjEKIF9fWk43V2ViQ29yZUwyNmNyZWF0ZVNWR1NWR0VsZW1lbnRXcmFw
cGVyRVBOM0pTQzlFeGVjU3RhdGVFUE5TXzE3SlNET01HbG9iYWxPYmplY3RFTjNXVEYxMFBhc3NS
ZWZQdHJJTlNfMTBTVkdFbGVtZW50RUVFCiBfX1pON1dlYkNvcmUxNWdldERPTVN0cnVjdHVyZUlO
U18xNUpTU1ZHU1ZHRWxlbWVudEVFRVBOM0pTQzlTdHJ1Y3R1cmVFUE5TMl85RXhlY1N0YXRlRVBO
U18xN0pTRE9NR2xvYmFsT2JqZWN0RQogX19aTjdXZWJDb3JlMTVKU1NWR1NWR0VsZW1lbnQxNWNy
ZWF0ZVByb3RvdHlwZUVQTjNKU0M5RXhlY1N0YXRlRVBOUzFfMTRKU0dsb2JhbE9iamVjdEUKLV9f
Wk43V2ViQ29yZTI3SlNTVkdTdHlsZWRFbGVtZW50UHJvdG90eXBlNHNlbGZFUE4zSlNDOUV4ZWNT
dGF0ZUVQTlMxXzE0SlNHbG9iYWxPYmplY3RFCi1fX1pON1dlYkNvcmUxNWdldERPTVN0cnVjdHVy
ZUlOU18xOEpTU1ZHU3R5bGVkRWxlbWVudEVFRVBOM0pTQzlTdHJ1Y3R1cmVFUE5TMl85RXhlY1N0
YXRlRVBOU18xN0pTRE9NR2xvYmFsT2JqZWN0RQotX19aTjdXZWJDb3JlMThKU1NWR1N0eWxlZEVs
ZW1lbnQxNWNyZWF0ZVByb3RvdHlwZUVQTjNKU0M5RXhlY1N0YXRlRVBOUzFfMTRKU0dsb2JhbE9i
amVjdEUKK19fWk43V2ViQ29yZTI3SlNTVkdFbGVtZW50UHJvdG90eXBlNHNlbGZFUE4zSlNDOUV4
ZWNTdGF0ZUVQTlMxXzE0SlNHbG9iYWxPYmplY3RFCitfX1pON1dlYkNvcmUxNWdldERPTVN0cnVj
dHVyZUlOU18xOEpTU1ZHRWxlbWVudEVFRVBOM0pTQzlTdHJ1Y3R1cmVFUE5TMl85RXhlY1N0YXRl
RVBOU18xN0pTRE9NR2xvYmFsT2JqZWN0RQorX19aTjdXZWJDb3JlMThKU1NWR0VsZW1lbnQxNWNy
ZWF0ZVByb3RvdHlwZUVQTjNKU0M5RXhlY1N0YXRlRVBOUzFfMTRKU0dsb2JhbE9iamVjdEUKIF9f
Wk43V2ViQ29yZTIxSlNTVkdFbGVtZW50UHJvdG90eXBlNHNlbGZFUE4zSlNDOUV4ZWNTdGF0ZUVQ
TlMxXzE0SlNHbG9iYWxPYmplY3RFCiBfX1pON1dlYkNvcmUxNWdldERPTVN0cnVjdHVyZUlOU18x
MkpTU1ZHRWxlbWVudEVFRVBOM0pTQzlTdHJ1Y3R1cmVFUE5TMl85RXhlY1N0YXRlRVBOU18xN0pT
RE9NR2xvYmFsT2JqZWN0RQogX19aTjdXZWJDb3JlMTJKU1NWR0VsZW1lbnQxNWNyZWF0ZVByb3Rv
dHlwZUVQTjNKU0M5RXhlY1N0YXRlRVBOUzFfMTRKU0dsb2JhbE9iamVjdEUKIF9fWk43V2ViQ29y
ZTE1SlNTVkdTVkdFbGVtZW50NmNyZWF0ZUVQTjNKU0M5U3RydWN0dXJlRVBOU18xN0pTRE9NR2xv
YmFsT2JqZWN0RU4zV1RGMTBQYXNzUmVmUHRySU5TXzEzU1ZHU1ZHRWxlbWVudEVFRQogX19aTjdX
ZWJDb3JlMTVKU1NWR1NWR0VsZW1lbnRDMUVQTjNKU0M5U3RydWN0dXJlRVBOU18xN0pTRE9NR2xv
YmFsT2JqZWN0RU4zV1RGMTBQYXNzUmVmUHRySU5TXzEzU1ZHU1ZHRWxlbWVudEVFRQotX19aTjdX
ZWJDb3JlMThKU1NWR1N0eWxlZEVsZW1lbnRDMkVQTjNKU0M5U3RydWN0dXJlRVBOU18xN0pTRE9N
R2xvYmFsT2JqZWN0RU4zV1RGMTBQYXNzUmVmUHRySU5TXzE2U1ZHU3R5bGVkRWxlbWVudEVFRQor
X19aTjdXZWJDb3JlMThKU1NWR0VsZW1lbnRDMkVQTjNKU0M5U3RydWN0dXJlRVBOU18xN0pTRE9N
R2xvYmFsT2JqZWN0RU4zV1RGMTBQYXNzUmVmUHRySU5TXzE2U1ZHRWxlbWVudEVFRQogX19aTjdX
ZWJDb3JlMTJKU1NWR0VsZW1lbnRDMkVQTjNKU0M5U3RydWN0dXJlRVBOU18xN0pTRE9NR2xvYmFs
T2JqZWN0RU4zV1RGMTBQYXNzUmVmUHRySU5TXzEwU1ZHRWxlbWVudEVFRQogX19aTjdXZWJDb3Jl
MTVKU1NWR1NWR0VsZW1lbnQxNGZpbmlzaENyZWF0aW9uRVJOM0pTQzJWTUUKLV9fWk43V2ViQ29y
ZTE4SlNTVkdTdHlsZWRFbGVtZW50MTRmaW5pc2hDcmVhdGlvbkVSTjNKU0MyVk1FCitfX1pON1dl
YkNvcmUxOEpTU1ZHRWxlbWVudDE0ZmluaXNoQ3JlYXRpb25FUk4zSlNDMlZNRQogX19aTjdXZWJD
b3JlMTJKU1NWR0VsZW1lbnQxNGZpbmlzaENyZWF0aW9uRVJOM0pTQzJWTUUKIF9fWk43V2ViQ29y
ZTEyY2FjaGVXcmFwcGVySU5TXzEzU1ZHU1ZHRWxlbWVudEVFRXZQTlNfMTVET01XcmFwcGVyV29y
bGRFUFRfUE5TXzEySlNET01XcmFwcGVyRQogX19aTjdXZWJDb3JlMTVKU1NWR1NWR0VsZW1lbnQx
OGdldE93blByb3BlcnR5U2xvdEVQTjNKU0M2SlNDZWxsRVBOUzFfOUV4ZWNTdGF0ZUVOUzFfMTJQ
cm9wZXJ0eU5hbWVFUk5TMV8xMlByb3BlcnR5U2xvdEUKLV9fWk43V2ViQ29yZTE4SlNTVkdTdHls
ZWRFbGVtZW50MThnZXRPd25Qcm9wZXJ0eVNsb3RFUE4zSlNDNkpTQ2VsbEVQTlMxXzlFeGVjU3Rh
dGVFTlMxXzEyUHJvcGVydHlOYW1lRVJOUzFfMTJQcm9wZXJ0eVNsb3RFCitfX1pON1dlYkNvcmUx
OEpTU1ZHRWxlbWVudDE4Z2V0T3duUHJvcGVydHlTbG90RVBOM0pTQzZKU0NlbGxFUE5TMV85RXhl
Y1N0YXRlRU5TMV8xMlByb3BlcnR5TmFtZUVSTlMxXzEyUHJvcGVydHlTbG90RQogX19aTjdXZWJD
b3JlMTJKU1NWR0VsZW1lbnQxOGdldE93blByb3BlcnR5U2xvdEVQTjNKU0M2SlNDZWxsRVBOUzFf
OUV4ZWNTdGF0ZUVOUzFfMTJQcm9wZXJ0eU5hbWVFUk5TMV8xMlByb3BlcnR5U2xvdEUKIF9fWk4z
SlNDMThnZXRTdGF0aWNWYWx1ZVNsb3RJTjdXZWJDb3JlMTJKU1NWR0VsZW1lbnRFTlMxXzlKU0Vs
ZW1lbnRFRUViUE5TXzlFeGVjU3RhdGVFUEtOU185SGFzaFRhYmxlRVBUX05TXzEyUHJvcGVydHlO
YW1lRVJOU18xMlByb3BlcnR5U2xvdEUKIF9fWk43V2ViQ29yZTI0SlNTVkdTVkdFbGVtZW50UHJv
dG90eXBlMThnZXRPd25Qcm9wZXJ0eVNsb3RFUE4zSlNDNkpTQ2VsbEVQTlMxXzlFeGVjU3RhdGVF
TlMxXzEyUHJvcGVydHlOYW1lRVJOUzFfMTJQcm9wZXJ0eVNsb3RFCkBAIC0xMzYxMSw3ICsxMzYx
MCw3IEBAIF9fWk5LN1dlYkNvcmU5RmlsbExheWVyOXhQb3NpdGlvbkV2CiBfX1pOSzdXZWJDb3Jl
OUZpbGxMYXllcjl5UG9zaXRpb25FdgogX19aTks3V2ViQ29yZTlGaWxsTGF5ZXIxMHNpemVMZW5n
dGhFdgogX19aTkszV1RGMTJTdHJpbmdBcHBlbmRJUEtjTlNfNlN0cmluZ0VFY3ZOU18xMkF0b21p
Y1N0cmluZ0VFdgotX19aTks3V2ViQ29yZTE2U1ZHU3R5bGVkRWxlbWVudDIyaW5zdGFuY2VVcGRh
dGVzQmxvY2tlZEV2CitfX1pOSzdXZWJDb3JlMTZTVkdFbGVtZW50MjJpbnN0YW5jZVVwZGF0ZXNC
bG9ja2VkRXYKIF9fWk5LN1dlYkNvcmUxMFNWR0VsZW1lbnQxOWluc3RhbmNlc0ZvckVsZW1lbnRF
dgogX19aTjdXZWJDb3JlMTFTVkdHRWxlbWVudDE0cGFyc2VBdHRyaWJ1dGVFUktOU18xM1F1YWxp
ZmllZE5hbWVFUktOM1dURjEyQXRvbWljU3RyaW5nRQogX19aTjdXZWJDb3JlMTFTVkdHRWxlbWVu
dDIwaXNTdXBwb3J0ZWRBdHRyaWJ1dGVFUktOU18xM1F1YWxpZmllZE5hbWVFCkBAIC0xNjgyNyw4
ICsxNjgyNiw4IEBAIF9fWk4zV1RGOUhhc2hUYWJsZUlQTjdXZWJDb3JlMTFSZW5kZXJMYXllckVT
M19OU18xN0lkZW50aXR5RXh0cmFjdG9yRU5TXzdQdHJIYXNoCiBfX1pOSzdXZWJDb3JlMTdLZXlm
cmFtZUFuaW1hdGlvbjIzaGFzQW5pbWF0aW9uRm9yUHJvcGVydHlFTlNfMTNDU1NQcm9wZXJ0eUlE
RQogX19aTjdXZWJDb3JlMTVHcmFwaGljc0xheWVyQ0EyMXNldEFuaW1hdGlvbktleWZyYW1lc0VS
S05TXzE3S2V5ZnJhbWVWYWx1ZUxpc3RFUEtOU185QW5pbWF0aW9uRVBOU18xOVBsYXRmb3JtQ0FB
bmltYXRpb25FCiBfX1pON1dlYkNvcmUxOVBsYXRmb3JtQ0FBbmltYXRpb245c2V0VmFsdWVzRVJL
TjNXVEY2VmVjdG9ySWZMbTBFTlMxXzE1Q3Jhc2hPbk92ZXJmbG93RUVFCi1fX1pON1dlYkNvcmUy
M2pzU1ZHU3R5bGVkRWxlbWVudFN0eWxlRVBOM0pTQzlFeGVjU3RhdGVFTlMwXzdKU1ZhbHVlRU5T
MF8xMlByb3BlcnR5TmFtZUUKLV9fWk43V2ViQ29yZTI3SlNTVkdTdHlsZWRFbGVtZW50UHJvdG90
eXBlMThnZXRPd25Qcm9wZXJ0eVNsb3RFUE4zSlNDNkpTQ2VsbEVQTlMxXzlFeGVjU3RhdGVFTlMx
XzEyUHJvcGVydHlOYW1lRVJOUzFfMTJQcm9wZXJ0eVNsb3RFCitfX1pON1dlYkNvcmUyM2pzU1ZH
RWxlbWVudFN0eWxlRVBOM0pTQzlFeGVjU3RhdGVFTlMwXzdKU1ZhbHVlRU5TMF8xMlByb3BlcnR5
TmFtZUUKK19fWk43V2ViQ29yZTI3SlNTVkdFbGVtZW50UHJvdG90eXBlMThnZXRPd25Qcm9wZXJ0
eVNsb3RFUE4zSlNDNkpTQ2VsbEVQTlMxXzlFeGVjU3RhdGVFTlMxXzEyUHJvcGVydHlOYW1lRVJO
UzFfMTJQcm9wZXJ0eVNsb3RFCiBfX1pON1dlYkNvcmVMMTVkZXNjQ29uc3RydWN0b3JFUktOU18x
M1F1YWxpZmllZE5hbWVFUE5TXzhEb2N1bWVudEViCiBfX1pON1dlYkNvcmUxNFNWR0Rlc2NFbGVt
ZW50NmNyZWF0ZUVSS05TXzEzUXVhbGlmaWVkTmFtZUVQTlNfOERvY3VtZW50RQogX19aTjdXZWJD
b3JlTDI3Y3JlYXRlU1ZHRGVzY0VsZW1lbnRXcmFwcGVyRVBOM0pTQzlFeGVjU3RhdGVFUE5TXzE3
SlNET01HbG9iYWxPYmplY3RFTjNXVEYxMFBhc3NSZWZQdHJJTlNfMTBTVkdFbGVtZW50RUVFCkBA
IC0xODc4MSw3ICsxODc4MCw3IEBAIF9fWk43V2ViQ29yZTIzU1ZHRkVDb2xvck1hdHJpeEVsZW1l
bnQzMmRldGFjaEFuaW1hdGVkVmFsdWVzTGlzdFdyYXBwZXJzRWoKIF9fWk4zV1RGNlZlY3Rvcklm
TG0wRU5TXzE1Q3Jhc2hPbk92ZXJmbG93RUVhU0VSS1MyXwogX19aTjdXZWJDb3JlMzZTVkdGaWx0
ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMxNnJlbmRlcmVySXNOZWVkZWRFUktOU18yME5v
ZGVSZW5kZXJpbmdDb250ZXh0RQogX19aTjdXZWJDb3JlMzZTVkdGaWx0ZXJQcmltaXRpdmVTdGFu
ZGFyZEF0dHJpYnV0ZXMxNGNyZWF0ZVJlbmRlcmVyRVBOU18xMVJlbmRlckFyZW5hRVBOU18xMVJl
bmRlclN0eWxlRQotX19aTjdXZWJDb3JlMjRSZW5kZXJTVkdIaWRkZW5Db250YWluZXJDMkVQTlNf
MTZTVkdTdHlsZWRFbGVtZW50RQorX19aTjdXZWJDb3JlMjRSZW5kZXJTVkdIaWRkZW5Db250YWlu
ZXJDMkVQTlNfMTZTVkdFbGVtZW50RQogX19aTjdXZWJDb3JlMzJSZW5kZXJTVkdSZXNvdXJjZUZp
bHRlclByaW1pdGl2ZTE0c3R5bGVEaWRDaGFuZ2VFTlNfMTVTdHlsZURpZmZlcmVuY2VFUEtOU18x
MVJlbmRlclN0eWxlRQogX19aVGhuMTI4X043V2ViQ29yZTIzUmVuZGVyU1ZHUmVzb3VyY2VGaWx0
ZXIyNXJlbW92ZUFsbENsaWVudHNGcm9tQ2FjaGVFYgogX19aTjdXZWJDb3JlTDE1bWFza0NvbnN0
cnVjdG9yRVJLTlNfMTNRdWFsaWZpZWROYW1lRVBOU184RG9jdW1lbnRFYgpAQCAtMjM3NDksNyAr
MjM3NDgsNyBAQCBfX1pUVk43V2ViQ29yZTEzU1ZHU2V0RWxlbWVudEUKIF9fWlRWTjdXZWJDb3Jl
MTRTVkdTTUlMRWxlbWVudEUKIF9fWlRWTjdXZWJDb3JlMjJDb25kaXRpb25FdmVudExpc3RlbmVy
RQogX19aVFZON1dlYkNvcmUxNFNWR1N0b3BFbGVtZW50RQotX19aVFZON1dlYkNvcmUxNlNWR1N0
eWxlZEVsZW1lbnRFCitfX1pUVk43V2ViQ29yZTE2U1ZHRWxlbWVudEUKIF9fWlRWTjdXZWJDb3Jl
MjlTVkdHcmFwaGljc0VsZW1lbnRFCiBfX1pUVE43V2ViQ29yZTI5U1ZHR3JhcGhpY3NFbGVtZW50
RQogX19aVENON1dlYkNvcmUyOVNWR0dyYXBoaWNzRWxlbWVudEUxNDRfTlNfMTZTVkdUcmFuc2Zv
cm1hYmxlRQpAQCAtMjk2MjEsMTEgKzI5NjIwLDExIEBAIF9fWlpON1dlYkNvcmUxNFNWR1N0b3BF
bGVtZW50MjJhdHRyaWJ1dGVUb1Byb3BlcnR5TWFwRXZFMjRzX2F0dHJpYnV0ZVRvUHJvcGVydHlN
CiBfX1pHVlpON1dlYkNvcmUxNFNWR1N0b3BFbGVtZW50MjJhdHRyaWJ1dGVUb1Byb3BlcnR5TWFw
RXZFMjRzX2F0dHJpYnV0ZVRvUHJvcGVydHlNYXAuYgogX19aWk43V2ViQ29yZTE0U1ZHU3RvcEVs
ZW1lbnQyMGlzU3VwcG9ydGVkQXR0cmlidXRlRVJLTlNfMTNRdWFsaWZpZWROYW1lRUUxOXN1cHBv
cnRlZEF0dHJpYnV0ZXMKIF9fWkdWWk43V2ViQ29yZTE0U1ZHU3RvcEVsZW1lbnQyMGlzU3VwcG9y
dGVkQXR0cmlidXRlRVJLTlNfMTNRdWFsaWZpZWROYW1lRUUxOXN1cHBvcnRlZEF0dHJpYnV0ZXMu
YgotX19aWk43V2ViQ29yZTE2U1ZHU3R5bGVkRWxlbWVudDIxY2xhc3NOYW1lUHJvcGVydHlJbmZv
RXZFMTRzX3Byb3BlcnR5SW5mbwotX19aR1ZaTjdXZWJDb3JlMTZTVkdTdHlsZWRFbGVtZW50MjFj
bGFzc05hbWVQcm9wZXJ0eUluZm9FdkUxNHNfcHJvcGVydHlJbmZvLmIKLV9fWlpON1dlYkNvcmUx
NlNWR1N0eWxlZEVsZW1lbnQyMmF0dHJpYnV0ZVRvUHJvcGVydHlNYXBFdkUyNHNfYXR0cmlidXRl
VG9Qcm9wZXJ0eU1hcAotX19aR1ZaTjdXZWJDb3JlMTZTVkdTdHlsZWRFbGVtZW50MjJhdHRyaWJ1
dGVUb1Byb3BlcnR5TWFwRXZFMjRzX2F0dHJpYnV0ZVRvUHJvcGVydHlNYXAuYgotX19aWk43V2Vi
Q29yZTE2U1ZHU3R5bGVkRWxlbWVudDMyY3NzUHJvcGVydHlJZEZvclNWR0F0dHJpYnV0ZU5hbWVF
UktOU18xM1F1YWxpZmllZE5hbWVFRTE5cHJvcGVydHlOYW1lVG9JZE1hcAorX19aWk43V2ViQ29y
ZTE2U1ZHRWxlbWVudDIxY2xhc3NOYW1lUHJvcGVydHlJbmZvRXZFMTRzX3Byb3BlcnR5SW5mbwor
X19aR1ZaTjdXZWJDb3JlMTZTVkdFbGVtZW50MjFjbGFzc05hbWVQcm9wZXJ0eUluZm9FdkUxNHNf
cHJvcGVydHlJbmZvLmIKK19fWlpON1dlYkNvcmUxNlNWR0VsZW1lbnQyMmF0dHJpYnV0ZVRvUHJv
cGVydHlNYXBFdkUyNHNfYXR0cmlidXRlVG9Qcm9wZXJ0eU1hcAorX19aR1ZaTjdXZWJDb3JlMTZT
VkdFbGVtZW50MjJhdHRyaWJ1dGVUb1Byb3BlcnR5TWFwRXZFMjRzX2F0dHJpYnV0ZVRvUHJvcGVy
dHlNYXAuYgorX19aWk43V2ViQ29yZTE2U1ZHRWxlbWVudDMyY3NzUHJvcGVydHlJZEZvclNWR0F0
dHJpYnV0ZU5hbWVFUktOU18xM1F1YWxpZmllZE5hbWVFRTE5cHJvcGVydHlOYW1lVG9JZE1hcAog
X19aWk43V2ViQ29yZTI5U1ZHR3JhcGhpY3NFbGVtZW50MjF0cmFuc2Zvcm1Qcm9wZXJ0eUluZm9F
dkUxNHNfcHJvcGVydHlJbmZvCiBfX1pHVlpON1dlYkNvcmUyOVNWR0dyYXBoaWNzRWxlbWVudDIx
dHJhbnNmb3JtUHJvcGVydHlJbmZvRXZFMTRzX3Byb3BlcnR5SW5mby5iCiBfX1paTjdXZWJDb3Jl
MjlTVkdHcmFwaGljc0VsZW1lbnQyMmF0dHJpYnV0ZVRvUHJvcGVydHlNYXBFdkUyNHNfYXR0cmli
dXRlVG9Qcm9wZXJ0eU1hcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hw
cm9qL1dlYkNvcmUudmN4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJD
b3JlLnZjeHByb2oKaW5kZXggZDAyNWZjZTQ1YzljZWVkNTFhNDMxNTZkZDdmMDBhODZmNTQyZjE5
Yy4uYzcyNmZmNzFhZDMxNjA0MmYxZWE1ZThjN2ExOWJjYmE2NWEwMWZiZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCkBAIC0xNzYwMywyMCAr
MTc2MDMsNiBAQAogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxXaW4zMiciPnRydWU8L0V4Y2x1ZGVk
RnJvbUJ1aWxkPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnx4NjQnIj50cnVlPC9FeGNsdWRlZEZy
b21CdWlsZD4KICAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHN2
Z1xTVkdTdHlsZWRFbGVtZW50LmNwcCI+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0
aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPnRydWU8
L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0i
JyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+dHJ1ZTwvRXhjbHVk
ZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25m
aWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z19XaW5DYWlyb3xXaW4zMiciPnRydWU8L0V4
Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQo
Q29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98eDY0JyI+dHJ1ZTwv
RXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSIn
JChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z1N1ZmZpeHxXaW4zMiciPnRydWU8
L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0i
JyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdTdWZmaXh8eDY0JyI+dHJ1ZTwv
RXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSIn
JChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+dHJ1ZTwvRXhj
bHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChD
b25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPnRydWU8L0V4Y2x1ZGVk
RnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3xXaW4zMiciPnRydWU8L0V4
Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQo
Q29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3x4NjQnIj50cnVl
PC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249
IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVl
PC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249
IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwv
RXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlxzdmdcU1ZHU3R5bGVFbGVtZW50LmNwcCI+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVp
bGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4z
MiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENv
bmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+dHJ1
ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CkBAIC0yMDkxMCw3ICsyMDg5Niw2IEBACiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxzdmdcU1ZHU2V0RWxlbWVudC5oIiAvPgogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5cc3ZnXFNWR1N0b3BFbGVtZW50LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxzdmdcU1ZHU3RyaW5nTGlzdC5oIiAvPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5cc3ZnXFNWR1N0eWxlZEVsZW1lbnQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XHN2Z1xTVkdHcmFwaGljc0VsZW1lbnQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XHN2Z1xTVkdTdHlsZUVsZW1lbnQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHN2
Z1xTVkdTVkdFbGVtZW50LmgiIC8+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKaW5kZXggZTFiNzViODUyZTgwMDI1ZjQ1
NzYxYzA4MWY0ZGFkNmViN2Q3NGRlZC4uODhiNGY1ODg4NWY1OWQwNDk2OGI4ZGIzMGI2MTc1MmY0
M2ZlZTllMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNv
cmUudmN4cHJvai5maWx0ZXJzCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9X
ZWJDb3JlLnZjeHByb2ouZmlsdGVycwpAQCAtNDgwMyw5ICs0ODAzLDYgQEAKICAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXHN2Z1xTVkdNYXNrRWxlbWVudC5jcHAiPgogICAgICAgPEZpbHRlcj5y
ZW5kZXJpbmdcc3ZnPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJ
bmNsdWRlPSIuLlxzdmdcU1ZHU3R5bGVkRWxlbWVudC5jcHAiPgotICAgICAgPEZpbHRlcj5yZW5k
ZXJpbmdcc3ZnPC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlxzdmdcU1ZHU3R5bGVFbGVtZW50LmNwcCI+CiAgICAgICA8RmlsdGVyPnJlbmRlcmlu
Z1xzdmc8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KQEAgLTEyMTU0LDkgKzEyMTUxLDYgQEAK
ICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHN2Z1xTVkdTdHJpbmdMaXN0LmgiPgogICAgICAg
PEZpbHRlcj5yZW5kZXJpbmdcc3ZnPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+Ci0gICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlxzdmdcU1ZHU3R5bGVkRWxlbWVudC5oIj4KLSAgICAgIDxGaWx0
ZXI+cmVuZGVyaW5nXHN2ZzwvRmlsdGVyPgotICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5cc3ZnXFNWR0dyYXBoaWNzRWxlbWVudC5oIj4KICAgICAgIDxGaWx0ZXI+
cmVuZGVyaW5nXHN2ZzwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGNiZTM0NWYwMWJi
ZmVkYjk4NWEwODE2MGU5NGZmYWJhNjM0NWMxZTcuLjQyYzgzZDJmNDYyMDdmZjU2YjI3Y2UxZmVk
Yzg5YTU5OGVlNzA2NzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKQEAgLTQwNzMsOSArNDA3Myw3IEBACiAJCUIyMjI3QUI1MEQwMEJG
MjIwMDcxQjc4MiAvKiBTVkdHcmFwaGljc0VsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjIyMjc5MUYwRDAwQkYyMTAwNzFCNzgyIC8qIFNW
R0dyYXBoaWNzRWxlbWVudC5jcHAgKi87IH07CiAJCUIyMjI3QUI2MEQwMEJGMjIwMDcxQjc4MiAv
KiBTVkdHcmFwaGljc0VsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEIyMjI3OTIwMEQwMEJGMjEwMDcxQjc4MiAvKiBTVkdHcmFwaGljc0VsZW1l
bnQuaCAqLzsgfTsKIAkJQjIyMjdBQjcwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR1N0eWxlRWxlbWVu
dC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMjIy
NzkyMTBEMDBCRjIxMDA3MUI3ODIgLyogU1ZHU3R5bGVFbGVtZW50LmNwcCAqLzsgfTsKLQkJQjIy
MjdBQjcwRDAwQkYyMjAwNzFCNzgzIC8qIFNWR1N0eWxlZEVsZW1lbnQuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjIyMjc5MjEwRDAwQkYyMTAwNzFC
NzgzIC8qIFNWR1N0eWxlZEVsZW1lbnQuY3BwICovOyB9OwogCQlCMjIyN0FCODBEMDBCRjIyMDA3
MUI3ODIgLyogU1ZHU3R5bGVFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCMjIyNzkyMjBEMDBCRjIxMDA3MUI3ODIgLyogU1ZHU3R5bGVFbGVt
ZW50LmggKi87IH07Ci0JCUIyMjI3QUI4MEQwMEJGMjIwMDcxQjc4MyAvKiBTVkdTdHlsZWRFbGVt
ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMjIy
NzkyMjBEMDBCRjIxMDA3MUI3ODMgLyogU1ZHU3R5bGVkRWxlbWVudC5oICovOyB9OwogCQlCMjIy
N0FCQTBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHU1ZHRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMjIyNzkyNDBEMDBCRjIxMDA3MUI3ODIg
LyogU1ZHU1ZHRWxlbWVudC5jcHAgKi87IH07CiAJCUIyMjI3QUJCMEQwMEJGMjIwMDcxQjc4MiAv
KiBTVkdTVkdFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBCMjIyNzkyNTBEMDBCRjIxMDA3MUI3ODIgLyogU1ZHU1ZHRWxlbWVudC5oICovOyB9
OwogCQlCMjIyN0FCRDBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHU3dpdGNoRWxlbWVudC5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMjIyNzkyNzBEMDBC
RjIxMDA3MUI3ODIgLyogU1ZHU3dpdGNoRWxlbWVudC5jcHAgKi87IH07CkBAIC00NDY1LDkgKzQ0
NjMsNyBAQAogCQlCMkZBM0RGODBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdTdHJpbmdMaXN0LmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyRkEzRDEw
MEFCNzVBNkUwMDBFNUFDNCAvKiBKU1NWR1N0cmluZ0xpc3QuY3BwICovOyB9OwogCQlCMkZBM0RG
OTBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdTdHJpbmdMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMkZBM0QxMTBBQjc1QTZFMDAwRTVBQzQgLyog
SlNTVkdTdHJpbmdMaXN0LmggKi87IH07CiAJCUIyRkEzREZBMEFCNzVBNkYwMDBFNUFDNCAvKiBK
U1NWR1N0eWxlRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBCMkZBM0QxMjBBQjc1QTZFMDAwRTVBQzQgLyogSlNTVkdTdHlsZUVsZW1lbnQu
Y3BwICovOyB9OwotCQlCMkZBM0RGQTBBQjc1QTZGMDAwRTVBQzUgLyogSlNTVkdTdHlsZWRFbGVt
ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIy
RkEzRDEyMEFCNzVBNkUwMDBFNUFDNSAvKiBKU1NWR1N0eWxlZEVsZW1lbnQuY3BwICovOyB9Owog
CQlCMkZBM0RGQjBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdTdHlsZUVsZW1lbnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyRkEzRDEzMEFCNzVBNkUw
MDBFNUFDNCAvKiBKU1NWR1N0eWxlRWxlbWVudC5oICovOyB9OwotCQlCMkZBM0RGQjBBQjc1QTZG
MDAwRTVBQzUgLyogSlNTVkdTdHlsZWRFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMkZBM0QxMzBBQjc1QTZFMDAwRTVBQzUgLyogSlNTVkdT
dHlsZWRFbGVtZW50LmggKi87IH07CiAJCUIyRkEzREZDMEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NW
R1NWR0VsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQjJGQTNEMTQwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHU1ZHRWxlbWVudC5jcHAgKi87
IH07CiAJCUIyRkEzREZEMEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR1NWR0VsZW1lbnQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyRkEzRDE1MEFCNzVB
NkYwMDBFNUFDNCAvKiBKU1NWR1NWR0VsZW1lbnQuaCAqLzsgfTsKIAkJQjJGQTNERkUwQUI3NUE2
RjAwMEU1QUM0IC8qIEpTU1ZHU3dpdGNoRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMkZBM0QxNjBBQjc1QTZGMDAwRTVBQzQgLyogSlNT
VkdTd2l0Y2hFbGVtZW50LmNwcCAqLzsgfTsKQEAgLTEwNjg5LDExICsxMDY4NSw4IEBACiAJCUIy
MjI3OTFGMEQwMEJGMjEwMDcxQjc4MiAvKiBTVkdHcmFwaGljc0VsZW1lbnQuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNWR0dyYXBoaWNzRWxlbWVudC5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIyMjI3OTIwMEQwMEJGMjEwMDcxQjc4MiAvKiBT
VkdHcmFwaGljc0VsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNW
R0dyYXBoaWNzRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMjIyNzky
MTBEMDBCRjIxMDA3MUI3ODIgLyogU1ZHU3R5bGVFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTVkdTdHlsZUVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwotCQlCMjIyNzkyMTBEMDBCRjIxMDA3MUI3ODMgLyogU1ZHU3R5bGVkRWxl
bWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU1ZHU3R5bGVk
RWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIyMjI3OTIyMEQwMEJG
MjEwMDcxQjc4MiAvKiBTVkdTdHlsZUVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFNWR1N0eWxlRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owot
CQlCMjIyNzkyMjBEMDBCRjIxMDA3MUI3ODMgLyogU1ZHU3R5bGVkRWxlbWVudC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHU3R5bGVkRWxlbWVudC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlCMjIyNzkyMzBEMDBCRjIxMDA3MUI3ODIgLyogU1ZHU3R5bGVF
bGVtZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAz
MDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gU1ZHU3R5bGVFbGVtZW50LmlkbDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQjIyMjc5MjMwRDAwQkYyMTAwNzFCNzgzIC8q
IFNWR1N0eWxlZEVsZW1lbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBTVkdTdHlsZWRF
bGVtZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjIyMjc5MjQwRDAwQkYy
MTAwNzFCNzgyIC8qIFNWR1NWR0VsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFNWR1NWR0VsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlCMjIyNzkyNTBEMDBCRjIxMDA3MUI3ODIgLyogU1ZHU1ZHRWxlbWVudC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHU1ZHRWxlbWVudC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlCMjIyNzkyNjBEMDBCRjIxMDA3MUI3ODIgLyogU1ZHU1ZHRWxlbWVu
dC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFNWR1NWR0VsZW1lbnQuaWRsOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTExMTMsOSArMTExMDYsNyBAQAogCQlCMkZBM0QxMDBB
Qjc1QTZFMDAwRTVBQzQgLyogSlNTVkdTdHJpbmdMaXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU1NWR1N0cmluZ0xpc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlCMkZBM0QxMTBBQjc1QTZFMDAwRTVBQzQgLyogSlNTVkdTdHJpbmdMaXN0
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1NWR1N0cmluZ0xpc3QuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjJGQTNEMTIwQUI3NUE2RTAwMEU1QUM0IC8q
IEpTU1ZHU3R5bGVFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU1NWR1N0eWxlRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CUIyRkEzRDEyMEFCNzVBNkUwMDBFNUFDNSAvKiBKU1NWR1N0eWxlZEVsZW1lbnQuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTU1ZHU3R5bGVkRWxlbWVudC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIyRkEzRDEzMEFCNzVBNkUwMDBFNUFDNCAv
KiBKU1NWR1N0eWxlRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SlNTVkdTdHlsZUVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQjJGQTNE
MTMwQUI3NUE2RTAwMEU1QUM1IC8qIEpTU1ZHU3R5bGVkRWxlbWVudC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSlNTVkdTdHlsZWRFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUIyRkEzRDE0MEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR1NWR0VsZW1l
bnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTU1ZHU1ZHRWxl
bWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIyRkEzRDE1MEFCNzVBNkYw
MDBFNUFDNCAvKiBKU1NWR1NWR0VsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEpTU1ZHU1ZHRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlC
MkZBM0QxNjBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdTd2l0Y2hFbGVtZW50LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1NWR1N3aXRjaEVsZW1lbnQuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTcwOTYsOCArMTcwODcsNiBAQAogCQkJCUIy
RkEzRDBGMEFCNzVBNkUwMDBFNUFDNCAvKiBKU1NWR1N0b3BFbGVtZW50LmggKi8sCiAJCQkJQjJG
QTNEMTAwQUI3NUE2RTAwMEU1QUM0IC8qIEpTU1ZHU3RyaW5nTGlzdC5jcHAgKi8sCiAJCQkJQjJG
QTNEMTEwQUI3NUE2RTAwMEU1QUM0IC8qIEpTU1ZHU3RyaW5nTGlzdC5oICovLAotCQkJCUIyRkEz
RDEyMEFCNzVBNkUwMDBFNUFDNSAvKiBKU1NWR1N0eWxlZEVsZW1lbnQuY3BwICovLAotCQkJCUIy
RkEzRDEzMEFCNzVBNkUwMDBFNUFDNSAvKiBKU1NWR1N0eWxlZEVsZW1lbnQuaCAqLywKIAkJCQlC
MkZBM0QxMjBBQjc1QTZFMDAwRTVBQzQgLyogSlNTVkdTdHlsZUVsZW1lbnQuY3BwICovLAogCQkJ
CUIyRkEzRDEzMEFCNzVBNkUwMDBFNUFDNCAvKiBKU1NWR1N0eWxlRWxlbWVudC5oICovLAogCQkJ
CUIyRkEzRDE0MEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR1NWR0VsZW1lbnQuY3BwICovLApAQCAt
MTgwNzUsOSArMTgwNjQsNiBAQAogCQkJCUIyMjI3OTE1MEQwMEJGMjEwMDcxQjc4MiAvKiBTVkdT
dHJpbmdMaXN0LmNwcCAqLywKIAkJCQlCMjIyNzkxNjBEMDBCRjIxMDA3MUI3ODIgLyogU1ZHU3Ry
aW5nTGlzdC5oICovLAogCQkJCUIyMjI3OTE3MEQwMEJGMjEwMDcxQjc4MiAvKiBTVkdTdHJpbmdM
aXN0LmlkbCAqLywKLQkJCQlCMjIyNzkyMTBEMDBCRjIxMDA3MUI3ODMgLyogU1ZHU3R5bGVkRWxl
bWVudC5jcHAgKi8sCi0JCQkJQjIyMjc5MjIwRDAwQkYyMTAwNzFCNzgzIC8qIFNWR1N0eWxlZEVs
ZW1lbnQuaCAqLywKLQkJCQlCMjIyNzkyMzBEMDBCRjIxMDA3MUI3ODMgLyogU1ZHU3R5bGVkRWxl
bWVudC5pZGwgKi8sCiAJCQkJQjIyMjc5MjEwRDAwQkYyMTAwNzFCNzgyIC8qIFNWR1N0eWxlRWxl
bWVudC5jcHAgKi8sCiAJCQkJQjIyMjc5MjIwRDAwQkYyMTAwNzFCNzgyIC8qIFNWR1N0eWxlRWxl
bWVudC5oICovLAogCQkJCUIyMjI3OTIzMEQwMEJGMjEwMDcxQjc4MiAvKiBTVkdTdHlsZUVsZW1l
bnQuaWRsICovLApAQCAtMjI2MDIsNyArMjI1ODgsNiBAQAogCQkJCUIyRkEzREY1MEFCNzVBNkYw
MDBFNUFDNCAvKiBKU1NWR1NldEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyRkEzREY3
MEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR1N0b3BFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CQlCMkZBM0RGOTBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdTdHJpbmdMaXN0LmggaW4gSGVhZGVy
cyAqLywKLQkJCQlCMkZBM0RGQjBBQjc1QTZGMDAwRTVBQzUgLyogSlNTVkdTdHlsZWRFbGVtZW50
LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkZBM0RGQjBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdT
dHlsZUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyRkEzREZEMEFCNzVBNkYwMDBFNUFD
NCAvKiBKU1NWR1NWR0VsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyRkEzREZGMEFCNzVB
NkYwMDBFNUFDNCAvKiBKU1NWR1N3aXRjaEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMjM2
MTYsNyArMjM2MDEsNiBAQAogCQkJCTA4Q0EzRDQ0MTI4OTRBMzgwMEZGRjI2MCAvKiBTVkdTdGF0
aWNQcm9wZXJ0eVdpdGhQYXJlbnRUZWFyT2ZmLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjIyN0FB
OTBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHU3RvcEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUIyMjI3QUFDMEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdTdHJpbmdMaXN0LmggaW4gSGVhZGVycyAq
LywKLQkJCQlCMjIyN0FCODBEMDBCRjIyMDA3MUI3ODMgLyogU1ZHU3R5bGVkRWxlbWVudC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQjIyMjdBQjgwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR1N0eWxlRWxl
bWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjIyMjdBQkIwRDAwQkYyMjAwNzFCNzgyIC8qIFNW
R1NWR0VsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyMjI3QUJFMEQwMEJGMjIwMDcxQjc4
MiAvKiBTVkdTd2l0Y2hFbGVtZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTI1Nzk3LDcgKzI1Nzgx
LDYgQEAKIAkJCQlCMkZBM0RGNDBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdTZXRFbGVtZW50LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUIyRkEzREY2MEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR1N0
b3BFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUIyRkEzREY4MEFCNzVBNkYwMDBFNUFD
NCAvKiBKU1NWR1N0cmluZ0xpc3QuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJQjJGQTNERkEwQUI3
NUE2RjAwMEU1QUM1IC8qIEpTU1ZHU3R5bGVkRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlCMkZBM0RGQTBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdTdHlsZUVsZW1lbnQuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJQjJGQTNERkMwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHU1ZHRWxlbWVu
dC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCMkZBM0RGRTBBQjc1QTZGMDAwRTVBQzQgLyogSlNT
VkdTd2l0Y2hFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjY2NTYsNyArMjY2MzksNiBA
QAogCQkJCUU0QUZEMDBGMERBRjMzNTUwMEY1RjU1QyAvKiBTVkdTTUlMRWxlbWVudC5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlCMjIyN0FBODBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHU3RvcEVsZW1l
bnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjIyMjdBQUIwRDAwQkYyMjAwNzFCNzgyIC8qIFNW
R1N0cmluZ0xpc3QuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJQjIyMjdBQjcwRDAwQkYyMjAwNzFC
NzgzIC8qIFNWR1N0eWxlZEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjIyMjdBQjcw
RDAwQkYyMjAwNzFCNzgyIC8qIFNWR1N0eWxlRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlCMjIyN0FCQTBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHU1ZHRWxlbWVudC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlCMjIyN0FCRDBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHU3dpdGNoRWxlbWVudC5j
cHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAKaW5kZXggNWJmNTZkZTU5ZDUzODMyZTMy
ZmFlMWNmOWVmYjgzYzVhODY2ZTEzMy4uMzViNzM4YTdkYzA2ODNkZDM0MTQzMjc0YjYzYjI1OGFk
NjMzOWMxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5Tm9kZU9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAKQEAgLTY4LDcgKzY4LDYgQEAKICNpbmNsdWRlICJQ
cm9ncmVzc1RyYWNrZXIuaCIKICNpbmNsdWRlICJTVkdFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZH
TmFtZXMuaCIKLSNpbmNsdWRlICJTVkdTdHlsZWRFbGVtZW50LmgiCiAjaW5jbHVkZSAiVGV4dC5o
IgogI2luY2x1ZGUgIlRleHRDb250cm9sSW5uZXJFbGVtZW50cy5oIgogI2luY2x1ZGUgIlRleHRJ
dGVyYXRvci5oIgpAQCAtMTIyMiw4ICsxMjIxLDggQEAgdm9pZCBBY2Nlc3NpYmlsaXR5Tm9kZU9i
amVjdDo6YWx0ZXJuYXRpdmVUZXh0KFZlY3RvcjxBY2Nlc3NpYmlsaXR5VGV4dD4mIHRleHRPcmQK
ICAgICAKICNpZiBFTkFCTEUoU1ZHKQogICAgIC8vIFNWRyBlbGVtZW50cyBhbGwgY2FuIGhhdmUg
YSA8c3ZnOnRpdGxlPiBlbGVtZW50IGluc2lkZSB3aGljaCBzaG91bGQgYWN0IGFzIHRoZSBkZXNj
cmlwdGl2ZSB0ZXh0LgotICAgIGlmIChub2RlLT5pc1NWR0VsZW1lbnQoKSAmJiB0b1NWR0VsZW1l
bnQobm9kZSktPmlzU1ZHU3R5bGVkRWxlbWVudCgpKQotICAgICAgICB0ZXh0T3JkZXIuYXBwZW5k
KEFjY2Vzc2liaWxpdHlUZXh0KHRvU1ZHU3R5bGVkRWxlbWVudChub2RlKS0+dGl0bGUoKSwgQWx0
ZXJuYXRpdmVUZXh0KSk7CisgICAgaWYgKG5vZGUtPmlzU1ZHRWxlbWVudCgpKQorICAgICAgICB0
ZXh0T3JkZXIuYXBwZW5kKEFjY2Vzc2liaWxpdHlUZXh0KHRvU1ZHRWxlbWVudChub2RlKS0+dGl0
bGUoKSwgQWx0ZXJuYXRpdmVUZXh0KSk7CiAjZW5kaWYKICAgICAKICNpZiBFTkFCTEUoTUFUSE1M
KQpAQCAtMTQyMSw4ICsxNDIwLDggQEAgU3RyaW5nIEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0Ojph
Y2Nlc3NpYmlsaXR5RGVzY3JpcHRpb24oKSBjb25zdAogCiAjaWYgRU5BQkxFKFNWRykKICAgICAv
LyBTVkcgZWxlbWVudHMgYWxsIGNhbiBoYXZlIGEgPHN2Zzp0aXRsZT4gZWxlbWVudCBpbnNpZGUg
d2hpY2ggc2hvdWxkIGFjdCBhcyB0aGUgZGVzY3JpcHRpdmUgdGV4dC4KLSAgICBpZiAobV9ub2Rl
ICYmIG1fbm9kZS0+aXNTVkdFbGVtZW50KCkgJiYgdG9TVkdFbGVtZW50KG1fbm9kZSktPmlzU1ZH
U3R5bGVkRWxlbWVudCgpKQotICAgICAgICByZXR1cm4gdG9TVkdTdHlsZWRFbGVtZW50KG1fbm9k
ZSktPnRpdGxlKCk7CisgICAgaWYgKG1fbm9kZSAmJiBtX25vZGUtPmlzU1ZHRWxlbWVudCgpKQor
ICAgICAgICByZXR1cm4gdG9TVkdFbGVtZW50KG1fbm9kZSktPnRpdGxlKCk7CiAjZW5kaWYKICAg
ICAKICNpZiBFTkFCTEUoTUFUSE1MKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1NW
R0NTU1N0eWxlU2VsZWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1NWR0NTU1N0eWxlU2Vs
ZWN0b3IuY3BwCmluZGV4IDZmODcyMzFkZjg1MDRiNTU2NTBjNzIyY2E4Y2Y2MGVmYjE4NTFlNjQu
LmMzOTcyM2NhNzVhOWNkNGQyNTdkMDExNWViMTI0MmIxZDBjMjg1YzIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9TVkdDU1NTdHlsZVNlbGVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvU1ZHQ1NTU3R5bGVTZWxlY3Rvci5jcHAKQEAgLTM3LDExICszNywxMSBAQAogI2lu
Y2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiU2hhZG93VmFsdWUuaCIKICNpbmNsdWRlICJT
VkdDb2xvci5oIgorI2luY2x1ZGUgIlNWR0VsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdOYW1lcy5o
IgogI2luY2x1ZGUgIlNWR1BhaW50LmgiCiAjaW5jbHVkZSAiU1ZHUmVuZGVyU3R5bGUuaCIKICNp
bmNsdWRlICJTVkdSZW5kZXJTdHlsZURlZnMuaCIKLSNpbmNsdWRlICJTVkdTdHlsZWRFbGVtZW50
LmgiCiAjaW5jbHVkZSAiU1ZHVVJJUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSA8c3RkbGliLmg+CiAj
aW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9TVkdSZW5kZXJTdHlsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGUuY3BwCmluZGV4IGFjYTI0NWFlZjNhNjhiMzlhNDlhMzRh
NWI4ODk0NzdjZWYzMDVlOGYuLmU1NzFiMWJhY2E4ZTAyMGNlNTQ5ZjlhM2ZhMmFhNTE4NzZlN2Fj
M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TVkdSZW5kZXJT
dHlsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NWR1JlbmRlclN0
eWxlLmNwcApAQCAtMzQsNyArMzQsNyBAQAogI2luY2x1ZGUgIkNTU1ZhbHVlTGlzdC5oIgogI2lu
Y2x1ZGUgIkludFJlY3QuaCIKICNpbmNsdWRlICJOb2RlUmVuZGVyU3R5bGUuaCIKLSNpbmNsdWRl
ICJTVkdTdHlsZWRFbGVtZW50LmgiCisjaW5jbHVkZSAiU1ZHRWxlbWVudC5oIgogCiB1c2luZyBu
YW1lc3BhY2Ugc3RkOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1JlbmRlclNWR0NvbnRhaW5lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1Jl
bmRlclNWR0NvbnRhaW5lci5jcHAKaW5kZXggOTMwNWRjNmIzZmFiY2YxYzVhYzRjNWU0Mjc5MTYy
OTZhOTBiNzIyOS4uOGNjMDU2NWRiN2RkNDQ3OTljNzQ1OWFiOTE0ZGE5NmM0ZjVhMWQ1ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdDb250YWluZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHQ29udGFpbmVy
LmNwcApAQCAtMzEsMTUgKzMxLDE1IEBACiAjaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2UuaCIK
ICNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZUZpbHRlci5oIgogI2luY2x1ZGUgIlJlbmRlclZp
ZXcuaCIKKyNpbmNsdWRlICJTVkdFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHUmVuZGVyaW5nQ29u
dGV4dC5oIgogI2luY2x1ZGUgIlNWR1Jlc291cmNlcy5oIgogI2luY2x1ZGUgIlNWR1Jlc291cmNl
c0NhY2hlLmgiCi0jaW5jbHVkZSAiU1ZHU3R5bGVkRWxlbWVudC5oIgogI2luY2x1ZGUgPHd0Zi9T
dGFja1N0YXRzLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUmVuZGVyU1ZHQ29udGFpbmVy
OjpSZW5kZXJTVkdDb250YWluZXIoU1ZHU3R5bGVkRWxlbWVudCogbm9kZSkKK1JlbmRlclNWR0Nv
bnRhaW5lcjo6UmVuZGVyU1ZHQ29udGFpbmVyKFNWR0VsZW1lbnQqIG5vZGUpCiAgICAgOiBSZW5k
ZXJTVkdNb2RlbE9iamVjdChub2RlKQogICAgICwgbV9vYmplY3RCb3VuZGluZ0JveFZhbGlkKGZh
bHNlKQogICAgICwgbV9uZWVkc0JvdW5kYXJpZXNVcGRhdGUodHJ1ZSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHQ29udGFpbmVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0NvbnRhaW5lci5oCmluZGV4IDQ3NGRkYjUx
NDA4ZDgzZDUyMzY1NmVjNTk3OWE0NzlhMTRhZDhiMGEuLmQzZjdhYjM4ZDJjNWMwMzM4MTQxZmEy
OGNjYzg0NmU2OTBjZTY0YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dmcvUmVuZGVyU1ZHQ29udGFpbmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2
Zy9SZW5kZXJTVkdDb250YWluZXIuaApAQCAtMzMsNyArMzMsNyBAQCBjbGFzcyBTVkdFbGVtZW50
OwogCiBjbGFzcyBSZW5kZXJTVkdDb250YWluZXIgOiBwdWJsaWMgUmVuZGVyU1ZHTW9kZWxPYmpl
Y3QgewogcHVibGljOgotICAgIGV4cGxpY2l0IFJlbmRlclNWR0NvbnRhaW5lcihTVkdTdHlsZWRF
bGVtZW50Kik7CisgICAgZXhwbGljaXQgUmVuZGVyU1ZHQ29udGFpbmVyKFNWR0VsZW1lbnQqKTsK
ICAgICB2aXJ0dWFsIH5SZW5kZXJTVkdDb250YWluZXIoKTsKIAogICAgIFJlbmRlck9iamVjdCog
Zmlyc3RDaGlsZCgpIGNvbnN0IHsgQVNTRVJUKGNoaWxkcmVuKCkgPT0gdmlydHVhbENoaWxkcmVu
KCkpOyByZXR1cm4gY2hpbGRyZW4oKS0+Zmlyc3RDaGlsZCgpOyB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0hpZGRlbkNvbnRhaW5lci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0hpZGRlbkNvbnRhaW5lci5jcHAK
aW5kZXggMmEwMTVhNWMwOWU3NjhiMGY0NmVmY2ExMzU4ZjIxZmFhYmM5ZDQzNS4uNDljODZhNGIy
NWFlZmQzNWQwNmE2NmM4Mzg0ZmYxZDAzZmFhYmE2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdIaWRkZW5Db250YWluZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyLmNwcApAQCAt
MjMsMTIgKzIzLDEyIEBACiAjaW5jbHVkZSAiUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyLmgiCiAK
ICNpbmNsdWRlICJSZW5kZXJTVkdQYXRoLmgiCi0jaW5jbHVkZSAiU1ZHU3R5bGVkRWxlbWVudC5o
IgorI2luY2x1ZGUgIlNWR0VsZW1lbnQuaCIKICNpbmNsdWRlIDx3dGYvU3RhY2tTdGF0cy5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVJlbmRlclNWR0hpZGRlbkNvbnRhaW5lcjo6UmVuZGVy
U1ZHSGlkZGVuQ29udGFpbmVyKFNWR1N0eWxlZEVsZW1lbnQqIGVsZW1lbnQpCitSZW5kZXJTVkdI
aWRkZW5Db250YWluZXI6OlJlbmRlclNWR0hpZGRlbkNvbnRhaW5lcihTVkdFbGVtZW50KiBlbGVt
ZW50KQogICAgIDogUmVuZGVyU1ZHQ29udGFpbmVyKGVsZW1lbnQpCiB7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0hpZGRlbkNvbnRhaW5lci5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdIaWRkZW5Db250YWluZXIu
aAppbmRleCAyOThjZDNjNzk3OGQ5ZDEwNGNhYzk3MzU1OTNlM2E2NDliZTVmYmIyLi40OTk0NDlh
YzFjM2I5ZTdjMmIxMWYwNTU0ZTUzZGU2NDgwYjM1MmI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0hpZGRlbkNvbnRhaW5lci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyLmgKQEAgLTI1
LDEzICsyNSwxMyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgCi1jbGFzcyBTVkdTdHls
ZWRFbGVtZW50OworY2xhc3MgU1ZHRWxlbWVudDsKIAogLy8gVGhpcyBjbGFzcyBpcyBmb3IgY29u
dGFpbmVycyB3aGljaCBhcmUgbmV2ZXIgZHJhd24sIGJ1dCBkbyBuZWVkIHRvIHN1cHBvcnQgc3R5
bGUKIC8vIDxkZWZzPiwgPGxpbmVhckdyYWRpZW50PiwgPHJhZGlhbEdyYWRpZW50PiBhcmUgYWxs
IGdvb2QgZXhhbXBsZXMKIGNsYXNzIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciA6IHB1YmxpYyBS
ZW5kZXJTVkdDb250YWluZXIgewogcHVibGljOgotICAgIGV4cGxpY2l0IFJlbmRlclNWR0hpZGRl
bkNvbnRhaW5lcihTVkdTdHlsZWRFbGVtZW50Kik7CisgICAgZXhwbGljaXQgUmVuZGVyU1ZHSGlk
ZGVuQ29udGFpbmVyKFNWR0VsZW1lbnQqKTsKIAogICAgIHZpcnR1YWwgY29uc3QgY2hhciogcmVu
ZGVyTmFtZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuICJSZW5kZXJTVkdIaWRkZW5Db250YWlu
ZXIiOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVy
U1ZHTW9kZWxPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJT
VkdNb2RlbE9iamVjdC5jcHAKaW5kZXggYTMzOGUxZmUwYzJlNmEyMDYyZDEwMDVmYzRiOWE4YTU3
M2ZjZTdlNS4uNTE5NjA5YmFjYzdhM2QwN2ZlZDc2NzI4NzZhM2I3NzZmNDgwNzJlNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdNb2RlbE9iamVjdC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdNb2RlbE9iamVj
dC5jcHAKQEAgLTM1LDE0ICszNSwxNCBAQAogCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXJNb2RlbE9i
amVjdC5oIgogI2luY2x1ZGUgIlJlbmRlclNWR1Jlc291cmNlLmgiCisjaW5jbHVkZSAiU1ZHRWxl
bWVudC5oIgogI2luY2x1ZGUgIlNWR05hbWVzLmgiCiAjaW5jbHVkZSAiU1ZHUmVzb3VyY2VzQ2Fj
aGUuaCIKLSNpbmNsdWRlICJTVkdTdHlsZWRFbGVtZW50LmgiCiAjaW5jbHVkZSAiU2hhZG93Um9v
dC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVJlbmRlclNWR01vZGVsT2JqZWN0OjpSZW5k
ZXJTVkdNb2RlbE9iamVjdChTVkdTdHlsZWRFbGVtZW50KiBub2RlKQorUmVuZGVyU1ZHTW9kZWxP
YmplY3Q6OlJlbmRlclNWR01vZGVsT2JqZWN0KFNWR0VsZW1lbnQqIG5vZGUpCiAgICAgOiBSZW5k
ZXJPYmplY3Qobm9kZSkKICAgICAsIG1faGFzU1ZHU2hhZG93KGZhbHNlKQogewpAQCAtMTMzLDEw
ICsxMzMsOCBAQCBzdGF0aWMgdm9pZCBnZXRFbGVtZW50Q1RNKFNWR0VsZW1lbnQqIGVsZW1lbnQs
IEFmZmluZVRyYW5zZm9ybSYgdHJhbnNmb3JtKQogCiAgICAgd2hpbGUgKGN1cnJlbnQgJiYgY3Vy
cmVudC0+aXNTVkdFbGVtZW50KCkpIHsKICAgICAgICAgU1ZHRWxlbWVudCogY3VycmVudEVsZW1l
bnQgPSB0b1NWR0VsZW1lbnQoY3VycmVudCk7Ci0gICAgICAgIGlmIChjdXJyZW50RWxlbWVudC0+
aXNTVkdTdHlsZWRFbGVtZW50KCkpIHsKLSAgICAgICAgICAgIGxvY2FsVHJhbnNmb3JtID0gY3Vy
cmVudEVsZW1lbnQtPnJlbmRlcmVyKCktPmxvY2FsVG9QYXJlbnRUcmFuc2Zvcm0oKTsKLSAgICAg
ICAgICAgIHRyYW5zZm9ybSA9IGxvY2FsVHJhbnNmb3JtLm11bHRpcGx5KHRyYW5zZm9ybSk7Ci0g
ICAgICAgIH0KKyAgICAgICAgbG9jYWxUcmFuc2Zvcm0gPSBjdXJyZW50RWxlbWVudC0+cmVuZGVy
ZXIoKS0+bG9jYWxUb1BhcmVudFRyYW5zZm9ybSgpOworICAgICAgICB0cmFuc2Zvcm0gPSBsb2Nh
bFRyYW5zZm9ybS5tdWx0aXBseSh0cmFuc2Zvcm0pOwogICAgICAgICAvLyBGb3IgZ2V0Q1RNKCkg
Y29tcHV0YXRpb24sIHN0b3AgYXQgdGhlIG5lYXJlc3Qgdmlld3BvcnQgZWxlbWVudAogICAgICAg
ICBpZiAoY3VycmVudEVsZW1lbnQgPT0gc3RvcEF0RWxlbWVudCkKICAgICAgICAgICAgIGJyZWFr
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdNb2Rl
bE9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdNb2RlbE9i
amVjdC5oCmluZGV4IGViODc5NDc1N2NkOGUyOTZlOGJjN2Q0OTY4ODg2YmY3ZjRkODM3OTQuLjU5
YWQyMDBiMWRmZjE0N2ZlNzY4MzE4YjljYzFlMDY0NTIwNzc1ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHTW9kZWxPYmplY3QuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR01vZGVsT2JqZWN0LmgKQEAgLTQzLDEx
ICs0MywxMSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAvLyByZXF1aXJlZCBieSBTVkcgcmVuZGVy
cyBuZWVkIHRvIGJlIGRlY2xhcmVkIG9uIFJlbmRlck9iamVjdCwgYnV0IHNoYXJlZAogLy8gbG9n
aWMgY2FuIGdvIGluIHRoaXMgY2xhc3Mgb3IgaW4gU1ZHUmVuZGVyU3VwcG9ydC4KIAotY2xhc3Mg
U1ZHU3R5bGVkRWxlbWVudDsKK2NsYXNzIFNWR0VsZW1lbnQ7CiAKIGNsYXNzIFJlbmRlclNWR01v
ZGVsT2JqZWN0IDogcHVibGljIFJlbmRlck9iamVjdCB7CiBwdWJsaWM6Ci0gICAgZXhwbGljaXQg
UmVuZGVyU1ZHTW9kZWxPYmplY3QoU1ZHU3R5bGVkRWxlbWVudCopOworICAgIGV4cGxpY2l0IFJl
bmRlclNWR01vZGVsT2JqZWN0KFNWR0VsZW1lbnQqKTsKIAogICAgIHZpcnR1YWwgTGF5b3V0UmVj
dCBjbGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWludChjb25zdCBSZW5kZXJMYXllck1vZGVsT2Jq
ZWN0KiByZXBhaW50Q29udGFpbmVyKSBjb25zdCBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQg
Y29tcHV0ZUZsb2F0UmVjdEZvclJlcGFpbnQoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCog
cmVwYWludENvbnRhaW5lciwgRmxvYXRSZWN0JiwgYm9vbCBmaXhlZCA9IGZhbHNlKSBjb25zdCBP
VkVSUklERSBGSU5BTDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
UmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dmcvUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmNwcAppbmRleCA5OTY3ZDcwZWRiYzE0ZDM5MWM4
MTUyMjQ4OWM4YTg0YThkMTA0NmExLi45MGM3OTkzNjM1MmE3Zjc2MGVjZmY4ZDFiNThjODk0YjUw
NzY4ZjE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNW
R1Jlc291cmNlQ2xpcHBlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9S
ZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXIuY3BwCkBAIC00NSw3ICs0NSw2IEBACiAjaW5jbHVkZSAi
U1ZHUmVuZGVyaW5nQ29udGV4dC5oIgogI2luY2x1ZGUgIlNWR1Jlc291cmNlcy5oIgogI2luY2x1
ZGUgIlNWR1Jlc291cmNlc0NhY2hlLmgiCi0jaW5jbHVkZSAiU1ZHU3R5bGVkRWxlbWVudC5oIgog
I2luY2x1ZGUgIlNWR1VuaXRUeXBlcy5oIgogI2luY2x1ZGUgIlNWR1VzZUVsZW1lbnQuaCIKIApA
QCAtMjMzLDcgKzIzMiw3IEBAIGJvb2wgUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyOjpkcmF3Q29u
dGVudEludG9NYXNrSW1hZ2UoQ2xpcHBlckRhdGEqIGNsaXBwZXJEYXRhCiAgICAgLy8gRHJhdyBh
bGwgY2xpcFBhdGggY2hpbGRyZW4gaW50byBhIGdsb2JhbCBtYXNrLgogICAgIGZvciAoTm9kZSog
Y2hpbGROb2RlID0gbm9kZSgpLT5maXJzdENoaWxkKCk7IGNoaWxkTm9kZTsgY2hpbGROb2RlID0g
Y2hpbGROb2RlLT5uZXh0U2libGluZygpKSB7CiAgICAgICAgIFJlbmRlck9iamVjdCogcmVuZGVy
ZXIgPSBjaGlsZE5vZGUtPnJlbmRlcmVyKCk7Ci0gICAgICAgIGlmICghY2hpbGROb2RlLT5pc1NW
R0VsZW1lbnQoKSB8fCAhdG9TVkdFbGVtZW50KGNoaWxkTm9kZSktPmlzU1ZHU3R5bGVkRWxlbWVu
dCgpIHx8ICFyZW5kZXJlcikKKyAgICAgICAgaWYgKCFjaGlsZE5vZGUtPmlzU1ZHRWxlbWVudCgp
IHx8ICFyZW5kZXJlcikKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICBpZiAocmVuZGVy
ZXItPm5lZWRzTGF5b3V0KCkpIHsKICAgICAgICAgICAgIGZyYW1lKCktPnZpZXcoKS0+c2V0UGFp
bnRCZWhhdmlvcihvbGRCZWhhdmlvcik7CkBAIC0yNzUsNyArMjc0LDcgQEAgdm9pZCBSZW5kZXJT
VkdSZXNvdXJjZUNsaXBwZXI6OmNhbGN1bGF0ZUNsaXBDb250ZW50UmVwYWludFJlY3QoKQogICAg
IC8vIFRoaXMgaXMgYSByb3VnaCBoZXVyaXN0aWMgdG8gYXBwcmFpc2UgdGhlIGNsaXAgc2l6ZSBh
bmQgZG9lc24ndCBjb25zaWRlciBjbGlwIG9uIGNsaXAuCiAgICAgZm9yIChOb2RlKiBjaGlsZE5v
ZGUgPSBub2RlKCktPmZpcnN0Q2hpbGQoKTsgY2hpbGROb2RlOyBjaGlsZE5vZGUgPSBjaGlsZE5v
ZGUtPm5leHRTaWJsaW5nKCkpIHsKICAgICAgICAgUmVuZGVyT2JqZWN0KiByZW5kZXJlciA9IGNo
aWxkTm9kZS0+cmVuZGVyZXIoKTsKLSAgICAgICAgaWYgKCFjaGlsZE5vZGUtPmlzU1ZHRWxlbWVu
dCgpIHx8ICF0b1NWR0VsZW1lbnQoY2hpbGROb2RlKS0+aXNTVkdTdHlsZWRFbGVtZW50KCkgfHwg
IXJlbmRlcmVyKQorICAgICAgICBpZiAoIWNoaWxkTm9kZS0+aXNTVkdFbGVtZW50KCkgfHwgIXJl
bmRlcmVyKQogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIGlmICghcmVuZGVyZXItPmlz
U1ZHU2hhcGUoKSAmJiAhcmVuZGVyZXItPmlzU1ZHVGV4dCgpICYmICFjaGlsZE5vZGUtPmhhc1Rh
Z05hbWUoU1ZHTmFtZXM6OnVzZVRhZykpCiAgICAgICAgICAgICBjb250aW51ZTsKQEAgLTMwNSw3
ICszMDQsNyBAQCBib29sIFJlbmRlclNWR1Jlc291cmNlQ2xpcHBlcjo6aGl0VGVzdENsaXBDb250
ZW50KGNvbnN0IEZsb2F0UmVjdCYgb2JqZWN0Qm91bmRpbgogCiAgICAgZm9yIChOb2RlKiBjaGls
ZE5vZGUgPSBub2RlKCktPmZpcnN0Q2hpbGQoKTsgY2hpbGROb2RlOyBjaGlsZE5vZGUgPSBjaGls
ZE5vZGUtPm5leHRTaWJsaW5nKCkpIHsKICAgICAgICAgUmVuZGVyT2JqZWN0KiByZW5kZXJlciA9
IGNoaWxkTm9kZS0+cmVuZGVyZXIoKTsKLSAgICAgICAgaWYgKCFjaGlsZE5vZGUtPmlzU1ZHRWxl
bWVudCgpIHx8ICF0b1NWR0VsZW1lbnQoY2hpbGROb2RlKS0+aXNTVkdTdHlsZWRFbGVtZW50KCkg
fHwgIXJlbmRlcmVyKQorICAgICAgICBpZiAoIWNoaWxkTm9kZS0+aXNTVkdFbGVtZW50KCkgfHwg
IXJlbmRlcmVyKQogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIGlmICghcmVuZGVyZXIt
PmlzU1ZHU2hhcGUoKSAmJiAhcmVuZGVyZXItPmlzU1ZHVGV4dCgpICYmICFjaGlsZE5vZGUtPmhh
c1RhZ05hbWUoU1ZHTmFtZXM6OnVzZVRhZykpCiAgICAgICAgICAgICBjb250aW51ZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VDb250
YWluZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJj
ZUNvbnRhaW5lci5jcHAKaW5kZXggMzhiZDY3YTYzNzM2ZTcxZjdiYWI0YmQzMWI4YzA4MjZjM2M3
MDUwNC4uMDBjNWYwNzUyNWU1MzUyODJjZDZhNWM0OGE3YmZjMTAwZjdjYmM1YSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5l
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJj
ZUNvbnRhaW5lci5jcHAKQEAgLTM5LDcgKzM5LDcgQEAgc3RhdGljIGlubGluZSBTVkdEb2N1bWVu
dEV4dGVuc2lvbnMqIHN2Z0V4dGVuc2lvbnNGcm9tTm9kZShOb2RlKiBub2RlKQogICAgIHJldHVy
biBub2RlLT5kb2N1bWVudCgpLT5hY2Nlc3NTVkdFeHRlbnNpb25zKCk7CiB9CiAKLVJlbmRlclNW
R1Jlc291cmNlQ29udGFpbmVyOjpSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lcihTVkdTdHlsZWRF
bGVtZW50KiBub2RlKQorUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXI6OlJlbmRlclNWR1Jlc291
cmNlQ29udGFpbmVyKFNWR0VsZW1lbnQqIG5vZGUpCiAgICAgOiBSZW5kZXJTVkdIaWRkZW5Db250
YWluZXIobm9kZSkKICAgICAsIG1faWQobm9kZS0+Z2V0SWRBdHRyaWJ1dGUoKSkKICAgICAsIG1f
cmVnaXN0ZXJlZChmYWxzZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dmcvUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIuaAppbmRleCBiMzRiNWUyY2EzNmMyMjk1
ZjI4MmM3MWZhMWI3MzZkODQwOGEyOTU1Li5kYTcyY2M5NjgyMDA5M2RlOWUwZDdkOTU1NmM2Njcy
NmRiMWIwY2MwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRl
clNWR1Jlc291cmNlQ29udGFpbmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2
Zy9SZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lci5oCkBAIC0zMSw3ICszMSw3IEBAIGNsYXNzIFJl
bmRlckxheWVyOwogY2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIgOiBwdWJsaWMgUmVu
ZGVyU1ZHSGlkZGVuQ29udGFpbmVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwdWJsaWMgUmVuZGVyU1ZHUmVzb3VyY2UgewogcHVibGljOgotICAgIFJlbmRlclNWR1Jlc291
cmNlQ29udGFpbmVyKFNWR1N0eWxlZEVsZW1lbnQqKTsKKyAgICBSZW5kZXJTVkdSZXNvdXJjZUNv
bnRhaW5lcihTVkdFbGVtZW50Kik7CiAgICAgdmlydHVhbCB+UmVuZGVyU1ZHUmVzb3VyY2VDb250
YWluZXIoKTsKIAogICAgIHZpcnR1YWwgdm9pZCBsYXlvdXQoKSBPVkVSUklERTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUZpbHRl
ci5jcHAKaW5kZXggYWVjMWU3YzFhMTlmMWE4MjRmMzNjMmQ0YzA4MzA1NzYxNjI1NDY4YS4uYWNl
MDU1M2FjMzU0OTJkYzNjYmEyMjIyZmZkMjhmYmY5ODdmNmUzOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUZpbHRlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUZpbHRlci5jcHAK
QEAgLTQ0LDcgKzQ0LDYgQEAKICNpbmNsdWRlICJTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0
dHJpYnV0ZXMuaCIKICNpbmNsdWRlICJTVkdOYW1lcy5oIgogI2luY2x1ZGUgIlNWR1JlbmRlcmlu
Z0NvbnRleHQuaCIKLSNpbmNsdWRlICJTVkdTdHlsZWRFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZH
VW5pdFR5cGVzLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlICJTb3VyY2VBbHBo
YS5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdS
ZXNvdXJjZUZpbHRlclByaW1pdGl2ZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9S
ZW5kZXJTVkdSZXNvdXJjZUZpbHRlclByaW1pdGl2ZS5oCmluZGV4IDEzOTdjN2ZhNTQ4Njc5Mjcz
MTMzYjhjY2E2ZTc0NmE3OWIzOWJjN2UuLjExMWY5MDRiMWI4MzcwYWQ4ZGNhOWE4ZTE5N2MzMWFk
MjdiMTExNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVy
U1ZHUmVzb3VyY2VGaWx0ZXJQcmltaXRpdmUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlRmlsdGVyUHJpbWl0aXZlLmgKQEAgLTM4LDcgKzM4LDcg
QEAgY2xhc3MgRmlsdGVyRWZmZWN0OwogCiBjbGFzcyBSZW5kZXJTVkdSZXNvdXJjZUZpbHRlclBy
aW1pdGl2ZSBGSU5BTCA6IHB1YmxpYyBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIgewogcHVibGlj
OgotICAgIGV4cGxpY2l0IFJlbmRlclNWR1Jlc291cmNlRmlsdGVyUHJpbWl0aXZlKFNWR1N0eWxl
ZEVsZW1lbnQqIGZpbHRlclByaW1pdGl2ZUVsZW1lbnQpCisgICAgZXhwbGljaXQgUmVuZGVyU1ZH
UmVzb3VyY2VGaWx0ZXJQcmltaXRpdmUoU1ZHRWxlbWVudCogZmlsdGVyUHJpbWl0aXZlRWxlbWVu
dCkKICAgICAgICAgOiBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIoZmlsdGVyUHJpbWl0aXZlRWxl
bWVudCkKICAgICB7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N2Zy9SZW5kZXJTVkdSZXNvdXJjZU1hcmtlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlTWFya2VyLmNwcAppbmRleCBiY2Y1MTdhZWY4NDQyMjFk
OGIzN2JhY2E3NGExOWY2OWJkM2FlN2U3Li4xMjZlNTE1YjgwMjg2Zjg1YTg3Y2M1NWFmZDllNzRi
MWIwYWY5ZjBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRl
clNWR1Jlc291cmNlTWFya2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1JlbmRlclNWR1Jlc291cmNlTWFya2VyLmNwcApAQCAtMzEsNyArMzEsNiBAQAogI2luY2x1ZGUg
IlNWR0dyYXBoaWNzRWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR01hcmtlckVsZW1lbnQuaCIKICNp
bmNsdWRlICJTVkdSZW5kZXJTdXBwb3J0LmgiCi0jaW5jbHVkZSAiU1ZHU3R5bGVkRWxlbWVudC5o
IgogI2luY2x1ZGUgPHd0Zi9TdGFja1N0YXRzLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VN
YXJrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VN
YXJrZXIuaAppbmRleCA3OGNjZThmZGQ5OGYxMDNlNWJjYmE1YTQ3ZWY5ZmE1NDZmMmI5MDBlLi42
Zjg5MTVlMThiOGY4YWNkZDRkM2E0NjgzYTMyM2Y5NjU2MTE3YzkzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlTWFya2VyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZU1hcmtlci5oCkBA
IC0yMyw4ICsyMyw4IEBACiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRlICJGbG9hdFJlY3QuaCIK
ICNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lci5oIgorI2luY2x1ZGUgIlNWR0Vs
ZW1lbnQuaCIKICNpbmNsdWRlICJTVkdNYXJrZXJFbGVtZW50LmgiCi0jaW5jbHVkZSAiU1ZHU3R5
bGVkRWxlbWVudC5oIgogCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZU1hc2tlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlTWFza2VyLmNw
cAppbmRleCBhM2JkZWM3MjZmMDc0YTNlYzEwMmI3MjcxZDFmMTU4ZDVmNzE4ZTRkLi5kMDE2MWUz
YzY2MTM0M2Q1Mzg0ODBiNDA2MzUwOWQ4Y2E4NzViYzA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlTWFza2VyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlTWFza2VyLmNwcApAQCAt
MzQsNyArMzQsNiBAQAogI2luY2x1ZGUgIlNWR0VsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdNYXNr
RWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR1JlbmRlcmluZ0NvbnRleHQuaCIKLSNpbmNsdWRlICJT
VkdTdHlsZWRFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHVW5pdFR5cGVzLmgiCiAjaW5jbHVkZSA8
d3RmL1ZlY3Rvci5oPgogCkBAIC0xMzUsNyArMTM0LDcgQEAgYm9vbCBSZW5kZXJTVkdSZXNvdXJj
ZU1hc2tlcjo6ZHJhd0NvbnRlbnRJbnRvTWFza0ltYWdlKE1hc2tlckRhdGEqIG1hc2tlckRhdGEs
IEMKICAgICAvLyBEcmF3IHRoZSBjb250ZW50IGludG8gdGhlIEltYWdlQnVmZmVyLgogICAgIGZv
ciAoTm9kZSogbm9kZSA9IG1hc2tFbGVtZW50LT5maXJzdENoaWxkKCk7IG5vZGU7IG5vZGUgPSBu
b2RlLT5uZXh0U2libGluZygpKSB7CiAgICAgICAgIFJlbmRlck9iamVjdCogcmVuZGVyZXIgPSBu
b2RlLT5yZW5kZXJlcigpOwotICAgICAgICBpZiAoIW5vZGUtPmlzU1ZHRWxlbWVudCgpIHx8ICF0
b1NWR0VsZW1lbnQobm9kZSktPmlzU1ZHU3R5bGVkRWxlbWVudCgpIHx8ICFyZW5kZXJlcikKKyAg
ICAgICAgaWYgKCFub2RlLT5pc1NWR0VsZW1lbnQoKSB8fCAhcmVuZGVyZXIpCiAgICAgICAgICAg
ICBjb250aW51ZTsKICAgICAgICAgaWYgKHJlbmRlcmVyLT5uZWVkc0xheW91dCgpKQogICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMTY0LDcgKzE2Myw3IEBAIHZvaWQgUmVuZGVyU1ZHUmVz
b3VyY2VNYXNrZXI6OmNhbGN1bGF0ZU1hc2tDb250ZW50UmVwYWludFJlY3QoKQogewogICAgIGZv
ciAoTm9kZSogY2hpbGROb2RlID0gbm9kZSgpLT5maXJzdENoaWxkKCk7IGNoaWxkTm9kZTsgY2hp
bGROb2RlID0gY2hpbGROb2RlLT5uZXh0U2libGluZygpKSB7CiAgICAgICAgIFJlbmRlck9iamVj
dCogcmVuZGVyZXIgPSBjaGlsZE5vZGUtPnJlbmRlcmVyKCk7Ci0gICAgICAgIGlmICghY2hpbGRO
b2RlLT5pc1NWR0VsZW1lbnQoKSB8fCAhdG9TVkdFbGVtZW50KGNoaWxkTm9kZSktPmlzU1ZHU3R5
bGVkRWxlbWVudCgpIHx8ICFyZW5kZXJlcikKKyAgICAgICAgaWYgKCFjaGlsZE5vZGUtPmlzU1ZH
RWxlbWVudCgpIHx8ICFyZW5kZXJlcikKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICBS
ZW5kZXJTdHlsZSogc3R5bGUgPSByZW5kZXJlci0+c3R5bGUoKTsKICAgICAgICAgaWYgKCFzdHls
ZSB8fCBzdHlsZS0+ZGlzcGxheSgpID09IE5PTkUgfHwgc3R5bGUtPnZpc2liaWxpdHkoKSAhPSBW
SVNJQkxFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJT
VkdSZXNvdXJjZVBhdHRlcm4uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5k
ZXJTVkdSZXNvdXJjZVBhdHRlcm4uY3BwCmluZGV4IGI5NmY5MTk0YTU3Y2M0Zjc1NTU5OWNmODYw
MTVkMjc4OTMwYzczMTEuLjYwN2Q1NzkyYmVmOWM2NzRmNzkzMmU5ODk4MDM3YzMxYTg1MTI3ZjYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3Vy
Y2VQYXR0ZXJuLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNW
R1Jlc291cmNlUGF0dGVybi5jcHAKQEAgLTI3Myw3ICsyNzMsNyBAQCBQYXNzT3duUHRyPEltYWdl
QnVmZmVyPiBSZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm46OmNyZWF0ZVRpbGVJbWFnZShjb25zdCBQ
YXR0ZXJuQQogCiAgICAgLy8gRHJhdyB0aGUgY29udGVudCBpbnRvIHRoZSBJbWFnZUJ1ZmZlci4K
ICAgICBmb3IgKE5vZGUqIG5vZGUgPSBhdHRyaWJ1dGVzLnBhdHRlcm5Db250ZW50RWxlbWVudCgp
LT5maXJzdENoaWxkKCk7IG5vZGU7IG5vZGUgPSBub2RlLT5uZXh0U2libGluZygpKSB7Ci0gICAg
ICAgIGlmICghbm9kZS0+aXNTVkdFbGVtZW50KCkgfHwgIXRvU1ZHRWxlbWVudChub2RlKS0+aXNT
VkdTdHlsZWRFbGVtZW50KCkgfHwgIW5vZGUtPnJlbmRlcmVyKCkpCisgICAgICAgIGlmICghbm9k
ZS0+aXNTVkdFbGVtZW50KCkgfHwgIW5vZGUtPnJlbmRlcmVyKCkpCiAgICAgICAgICAgICBjb250
aW51ZTsKICAgICAgICAgaWYgKG5vZGUtPnJlbmRlcmVyKCktPm5lZWRzTGF5b3V0KCkpCiAgICAg
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1JlbmRlclNWR1Jvb3QuY3BwCmluZGV4IGI4OWU4ZGU5ZjQ2MjUyNjc2NzdhNTNhOGM2NTQyY2M0
OGEwMGFlYjIuLjYyNzFkZmE0NjI3YTE2ZDk2MTY0NDg5Y2ZlN2Y5MTVhZDViMzBmNmQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcApAQCAtMzgs
MTMgKzM4LDEzIEBACiAjaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2UuaCIKICNpbmNsdWRlICJS
ZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lci5oIgogI2luY2x1ZGUgIlJlbmRlclZpZXcuaCIKKyNp
bmNsdWRlICJTVkdFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHSW1hZ2UuaCIKICNpbmNsdWRlICJT
VkdMZW5ndGguaCIKICNpbmNsdWRlICJTVkdSZW5kZXJpbmdDb250ZXh0LmgiCiAjaW5jbHVkZSAi
U1ZHUmVzb3VyY2VzLmgiCiAjaW5jbHVkZSAiU1ZHUmVzb3VyY2VzQ2FjaGUuaCIKICNpbmNsdWRl
ICJTVkdTVkdFbGVtZW50LmgiCi0jaW5jbHVkZSAiU1ZHU3R5bGVkRWxlbWVudC5oIgogI2luY2x1
ZGUgIlNWR1ZpZXdTcGVjLmgiCiAjaW5jbHVkZSAiVHJhbnNmb3JtU3RhdGUuaCIKICNpbmNsdWRl
IDx3dGYvU3RhY2tTdGF0cy5oPgpAQCAtNTcsNyArNTcsNyBAQCB1c2luZyBuYW1lc3BhY2Ugc3Rk
OwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVJlbmRlclNWR1Jvb3Q6OlJlbmRlclNWR1Jvb3Qo
U1ZHU3R5bGVkRWxlbWVudCogbm9kZSkKK1JlbmRlclNWR1Jvb3Q6OlJlbmRlclNWR1Jvb3QoU1ZH
RWxlbWVudCogbm9kZSkKICAgICA6IFJlbmRlclJlcGxhY2VkKG5vZGUpCiAgICAgLCBtX29iamVj
dEJvdW5kaW5nQm94VmFsaWQoZmFsc2UpCiAgICAgLCBtX2lzTGF5b3V0U2l6ZUNoYW5nZWQoZmFs
c2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jv
b3QuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5oCmluZGV4
IDM3OWNjYTM4NjVkNjIxOTQxNGE4ZmMxMTdkNzRjY2RmMmRiOTdjYzguLjNlYjA0MWY0NzNlYWVk
NGViZWRlYmExZjMyMDJmMzZhMGVmNWEyMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvUmVuZGVyU1ZHUm9vdC5oCkBAIC0zMiwxMSArMzIsMTEgQEAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgQWZmaW5lVHJhbnNmb3JtOwotY2xhc3MgU1ZHU3R5bGVkRWxlbWVudDsK
K2NsYXNzIFNWR0VsZW1lbnQ7CiAKIGNsYXNzIFJlbmRlclNWR1Jvb3QgRklOQUwgOiBwdWJsaWMg
UmVuZGVyUmVwbGFjZWQgewogcHVibGljOgotICAgIGV4cGxpY2l0IFJlbmRlclNWR1Jvb3QoU1ZH
U3R5bGVkRWxlbWVudCopOworICAgIGV4cGxpY2l0IFJlbmRlclNWR1Jvb3QoU1ZHRWxlbWVudCop
OwogICAgIHZpcnR1YWwgflJlbmRlclNWR1Jvb3QoKTsKIAogICAgIGJvb2wgaXNFbWJlZGRlZFRo
cm91Z2hTVkdJbWFnZSgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N2Zy9SZW5kZXJTVkdWaWV3cG9ydENvbnRhaW5lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyLmNwcAppbmRleCA4MzQ0NTJk
MjA5OWYwMTYxMTYzNmFjMTBkNzJjMTE1MDQzOGZhMmU1Li4yNWI5MGNlZTkyNGJmMGIwZjgxNzli
MDUxMDEwNGQxOTkyZWU0YmM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3ZnL1JlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyLmNwcApAQCAtMzQsNyArMzQs
NyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVJlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVy
OjpSZW5kZXJTVkdWaWV3cG9ydENvbnRhaW5lcihTVkdTdHlsZWRFbGVtZW50KiBub2RlKQorUmVu
ZGVyU1ZHVmlld3BvcnRDb250YWluZXI6OlJlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyKFNWR0Vs
ZW1lbnQqIG5vZGUpCiAgICAgOiBSZW5kZXJTVkdDb250YWluZXIobm9kZSkKICAgICAsIG1fZGlk
VHJhbnNmb3JtVG9Sb290VXBkYXRlKGZhbHNlKQogICAgICwgbV9pc0xheW91dFNpemVDaGFuZ2Vk
KGZhbHNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJT
VkdWaWV3cG9ydENvbnRhaW5lci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5k
ZXJTVkdWaWV3cG9ydENvbnRhaW5lci5oCmluZGV4IGQ3YzQzZTgwZjhmN2JhODE0MTdlNWIzYjMy
ZjM2YjBiNGUwODBmNTkuLjdhZDk0YTU0NmFjZTY1ZGJiODUzNzM1MTIwZjBiMjBhYjg5ZGUwNGYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHVmlld3Bv
cnRDb250YWluZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNW
R1ZpZXdwb3J0Q29udGFpbmVyLmgKQEAgLTMyLDcgKzMyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogLy8gdGh1cyB3ZSBpbmhlcml0IGZyb20gUmVuZGVyU1ZHQ29udGFpbmVyIGluc3RlYWQgb2Yg
UmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lcgogY2xhc3MgUmVuZGVyU1ZHVmlld3BvcnRD
b250YWluZXIgRklOQUwgOiBwdWJsaWMgUmVuZGVyU1ZHQ29udGFpbmVyIHsKIHB1YmxpYzoKLSAg
ICBleHBsaWNpdCBSZW5kZXJTVkdWaWV3cG9ydENvbnRhaW5lcihTVkdTdHlsZWRFbGVtZW50Kik7
CisgICAgZXhwbGljaXQgUmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXIoU1ZHRWxlbWVudCopOwog
ICAgIEZsb2F0UmVjdCB2aWV3cG9ydCgpIGNvbnN0IHsgcmV0dXJuIG1fdmlld3BvcnQ7IH0KIAog
ICAgIGJvb2wgaXNMYXlvdXRTaXplQ2hhbmdlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNMYXlvdXRT
aXplQ2hhbmdlZDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9T
VkdSZW5kZXJTdXBwb3J0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVu
ZGVyU3VwcG9ydC5jcHAKaW5kZXggNGZiYTc3NDA3NzRkZmQwZTIwZDJjNzU5YTgwZTg0Yzc5Y2Ez
ZGViMS4uYzY4NDExYWYwZjNiZjQxNmZiYWU2MzMzNjIxMjNiNTA3MjM2Mzc3NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJTdXBwb3J0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlclN1cHBvcnQuY3BwCkBAIC0z
OCw5ICszOCw5IEBACiAjaW5jbHVkZSAiUmVuZGVyU1ZHUm9vdC5oIgogI2luY2x1ZGUgIlJlbmRl
clNWR1RleHQuaCIKICNpbmNsdWRlICJSZW5kZXJTVkdWaWV3cG9ydENvbnRhaW5lci5oIgorI2lu
Y2x1ZGUgIlNWR0VsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdSZXNvdXJjZXMuaCIKICNpbmNsdWRl
ICJTVkdSZXNvdXJjZXNDYWNoZS5oIgotI2luY2x1ZGUgIlNWR1N0eWxlZEVsZW1lbnQuaCIKICNp
bmNsdWRlICJUcmFuc2Zvcm1TdGF0ZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0yNTQs
NyArMjU0LDcgQEAgdm9pZCBTVkdSZW5kZXJTdXBwb3J0OjpsYXlvdXRDaGlsZHJlbihSZW5kZXJP
YmplY3QqIHN0YXJ0LCBib29sIHNlbGZOZWVkc0xheW91dCkKICAgICAgICAgaWYgKGxheW91dFNp
emVDaGFuZ2VkKSB7CiAgICAgICAgICAgICAvLyBXaGVuIHNlbGZOZWVkc0xheW91dCBpcyBmYWxz
ZSBhbmQgdGhlIGxheW91dCBzaXplIGNoYW5nZWQsIHdlIGhhdmUgdG8gY2hlY2sgd2hldGhlciB0
aGlzIGNoaWxkIHVzZXMgcmVsYXRpdmUgbGVuZ3RocwogICAgICAgICAgICAgaWYgKFNWR0VsZW1l
bnQqIGVsZW1lbnQgPSBjaGlsZC0+bm9kZSgpLT5pc1NWR0VsZW1lbnQoKSA/IHRvU1ZHRWxlbWVu
dChjaGlsZC0+bm9kZSgpKSA6IDApIHsKLSAgICAgICAgICAgICAgICBpZiAoZWxlbWVudC0+aXNT
VkdTdHlsZWRFbGVtZW50KCkgJiYgdG9TVkdTdHlsZWRFbGVtZW50KGVsZW1lbnQpLT5oYXNSZWxh
dGl2ZUxlbmd0aHMoKSkgeworICAgICAgICAgICAgICAgIGlmIChlbGVtZW50LT5oYXNSZWxhdGl2
ZUxlbmd0aHMoKSkgewogICAgICAgICAgICAgICAgICAgICAvLyBXaGVuIHRoZSBsYXlvdXQgc2l6
ZSBjaGFuZ2VkIGFuZCB3aGVuIHVzaW5nIHJlbGF0aXZlIHZhbHVlcyB0ZWxsIHRoZSBSZW5kZXJT
VkdTaGFwZSB0byB1cGRhdGUgaXRzIHNoYXBlIG9iamVjdAogICAgICAgICAgICAgICAgICAgICBp
ZiAoY2hpbGQtPmlzU1ZHU2hhcGUoKSkKICAgICAgICAgICAgICAgICAgICAgICAgIHRvUmVuZGVy
U1ZHU2hhcGUoY2hpbGQpLT5zZXROZWVkc1NoYXBlVXBkYXRlKCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlclRyZWVBc1RleHQuY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJUcmVlQXNUZXh0LmNwcAppbmRleCA0ODgy
M2JjZGFlZDBiNDI4MWQ5MjFkOGEzOTc1ODllZjI4YjE2ZTc3Li4xOTdjMjg2YTYzYmUyNmIwZGEw
NDJiNzk0NTA5ZDllYjZhYmFlYTAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1NWR1JlbmRlclRyZWVBc1RleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvU1ZHUmVuZGVyVHJlZUFzVGV4dC5jcHAKQEAgLTU5LDYgKzU5LDcgQEAKICNpbmNs
dWRlICJSZW5kZXJTVkdUZXh0LmgiCiAjaW5jbHVkZSAiUmVuZGVyVHJlZUFzVGV4dC5oIgogI2lu
Y2x1ZGUgIlNWR0NpcmNsZUVsZW1lbnQuaCIKKyNpbmNsdWRlICJTVkdFbGVtZW50LmgiCiAjaW5j
bHVkZSAiU1ZHRWxsaXBzZUVsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdJbmxpbmVUZXh0Qm94Lmgi
CiAjaW5jbHVkZSAiU1ZHTGluZUVsZW1lbnQuaCIKQEAgLTczLDcgKzc0LDYgQEAKICNpbmNsdWRl
ICJTVkdSZWN0RWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR1Jvb3RJbmxpbmVCb3guaCIKICNpbmNs
dWRlICJTVkdTdG9wRWxlbWVudC5oIgotI2luY2x1ZGUgIlNWR1N0eWxlZEVsZW1lbnQuaCIKIAog
I2luY2x1ZGUgPG1hdGguaD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N2Zy9TVkdSZXNvdXJjZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdS
ZXNvdXJjZXMuY3BwCmluZGV4IDNiNWM1ZTgzYzVmNmZkNGVlNWJlMTgxZGY2ZDdkN2M1ZDIxNTRh
ZTguLjQ3M2E5ZTMxMWQ2ZGNmZDc2MDE2YTgzM2M1ZGQ0YzAyYzhiOGYyNjggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVzb3VyY2VzLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1Jlc291cmNlcy5jcHAKQEAgLTE3OSw4ICsxNzks
NyBAQCBzdGF0aWMgaW5saW5lIFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyKiBwYWludGluZ1Jl
c291cmNlRnJvbVNWR1BhaW50KERvY3VtZW50Kgogc3RhdGljIGlubGluZSB2b2lkIHJlZ2lzdGVy
UGVuZGluZ1Jlc291cmNlKFNWR0RvY3VtZW50RXh0ZW5zaW9ucyogZXh0ZW5zaW9ucywgY29uc3Qg
QXRvbWljU3RyaW5nJiBpZCwgU1ZHRWxlbWVudCogZWxlbWVudCkKIHsKICAgICBBU1NFUlQoZWxl
bWVudCk7Ci0gICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oZWxlbWVudC0+aXNT
VkdTdHlsZWRFbGVtZW50KCkpOwotICAgIGV4dGVuc2lvbnMtPmFkZFBlbmRpbmdSZXNvdXJjZShp
ZCwgdG9TVkdTdHlsZWRFbGVtZW50KGVsZW1lbnQpKTsKKyAgICBleHRlbnNpb25zLT5hZGRQZW5k
aW5nUmVzb3VyY2UoaWQsIGVsZW1lbnQpOwogfQogCiBib29sIFNWR1Jlc291cmNlczo6YnVpbGRD
YWNoZWRSZXNvdXJjZXMoY29uc3QgUmVuZGVyT2JqZWN0KiBvYmplY3QsIGNvbnN0IFNWR1JlbmRl
clN0eWxlKiBzdHlsZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
U1ZHUmVzb3VyY2VzQ2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdS
ZXNvdXJjZXNDYWNoZS5jcHAKaW5kZXggM2Y2ZTdkZWUxNWE3ZTIzNzc3NGYyYzU2NDNlMzllZDlh
ZDZjMjExMy4uMWY2ODc3ZDdhYzQ5YTA5MWE0M2Y2ODI1MzA5MjljMDk2NWY2YTJmZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZXNvdXJjZXNDYWNoZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZXNvdXJjZXNDYWNoZS5jcHAK
QEAgLTI0LDkgKzI0LDkgQEAKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJSZW5k
ZXJTVkdSZXNvdXJjZUNvbnRhaW5lci5oIgogI2luY2x1ZGUgIlNWR0RvY3VtZW50RXh0ZW5zaW9u
cy5oIgorI2luY2x1ZGUgIlNWR0VsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdSZXNvdXJjZXMuaCIK
ICNpbmNsdWRlICJTVkdSZXNvdXJjZXNDeWNsZVNvbHZlci5oIgotI2luY2x1ZGUgIlNWR1N0eWxl
ZEVsZW1lbnQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHQUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FFbGVt
ZW50LmNwcAppbmRleCA3ODRkNTYwM2U1NWRmNDFlYTgwNGI3ODM5Y2FhMDFkMmYzZGZkZGQ2Li5k
NWVjNmY2YzFiMTA2MWJiZTQ1ZmNlOGMxYmFhNTQ2N2Q3NDhhY2RjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHQUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdBRWxlbWVudC5jcHAKQEAgLTgzLDcgKzgzLDcgQEAgU3RyaW5nIFNWR0FFbGVtZW50Ojp0aXRs
ZSgpIGNvbnN0CiAgICAgICAgIHJldHVybiB0aXRsZTsKIAogICAgIC8vIE90aGVyd2lzZSwgdXNl
IHRoZSB0aXRsZSBvZiB0aGlzIGVsZW1lbnQuCi0gICAgcmV0dXJuIFNWR1N0eWxlZEVsZW1lbnQ6
OnRpdGxlKCk7CisgICAgcmV0dXJuIFNWR0VsZW1lbnQ6OnRpdGxlKCk7CiB9CiAKIGJvb2wgU1ZH
QUVsZW1lbnQ6OmlzU3VwcG9ydGVkQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJO
YW1lKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FsbEluT25lLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdBbGxJbk9uZS5jcHAKaW5kZXggYTFjNTBlOGZkNjVjODk3N2Fk
YTA3ZTAyMDVmNDM1NDA0N2JjM2M0OS4uN2I4MTg1ZDRkODE2MjRlOWM0MGQ1MGE4ZDUzZWNiNzM0
YjQ4OTg4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FsbEluT25lLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQWxsSW5PbmUuY3BwCkBAIC0xNTcsNyArMTU3LDYg
QEAKICNpbmNsdWRlICJTVkdTdG9wRWxlbWVudC5jcHAiCiAjaW5jbHVkZSAiU1ZHU3RyaW5nTGlz
dC5jcHAiCiAjaW5jbHVkZSAiU1ZHU3R5bGVFbGVtZW50LmNwcCIKLSNpbmNsdWRlICJTVkdTdHls
ZWRFbGVtZW50LmNwcCIKICNpbmNsdWRlICJTVkdTd2l0Y2hFbGVtZW50LmNwcCIKICNpbmNsdWRl
ICJTVkdTeW1ib2xFbGVtZW50LmNwcCIKICNpbmNsdWRlICJTVkdUUmVmRWxlbWVudC5jcHAiCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQWx0R2x5cGhEZWZFbGVtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHQWx0R2x5cGhEZWZFbGVtZW50LmgKaW5kZXggY2VkM2ExMDhi
Njc5MDQ0MDI4MjQ4N2E4MzdkZjE5N2U5OGM3MWUxZC4uMGY0MDlkZmU3NWVmN2E0NzNkNjg5NzRh
OTg3YzhiYmE4YjFiNGM0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FsdEds
eXBoRGVmRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbHRHbHlwaERlZkVs
ZW1lbnQuaApAQCAtMzQsNiArMzQsOCBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgU1ZHQWx0
R2x5cGhEZWZFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOworCisgICAg
dmlydHVhbCBib29sIHJlbmRlcmVySXNOZWVkZWQoY29uc3QgUmVuZGVyU3R5bGUmKSBPVkVSUklE
RSB7IHJldHVybiBmYWxzZTsgfQogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0FsdEdseXBoSXRlbUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbHRH
bHlwaEl0ZW1FbGVtZW50LmgKaW5kZXggMTBkYmFiNjllN2Y3MzQyOGQxYWQ0N2FhODg1MTc3Zjky
OGU3MmVlZC4uMDNjNWE4NTNjODllZGVlYzRhNzI3ODg1YWM4NjNhYjNkYTJmOTMyZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FsdEdseXBoSXRlbUVsZW1lbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHQWx0R2x5cGhJdGVtRWxlbWVudC5oCkBAIC0zNCw2ICszNCw4
IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICBTVkdBbHRHbHlwaEl0ZW1FbGVtZW50KGNvbnN0
IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOworCisgICAgdmlydHVhbCBib29sIHJlbmRlcmVy
SXNOZWVkZWQoY29uc3QgUmVuZGVyU3R5bGUmKSBPVkVSUklERSB7IHJldHVybiBmYWxzZTsgfQog
fTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVFbGVtZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlRWxlbWVudC5jcHAKaW5kZXggZGFi
NzAyNmY0YTU2YmY3ZTY4NWU4MjJjOGI3ZmE0MWRlNjJhMjY0ZC4uMTY1OTVkMTYwNTJmMzBmZDk1
ZTc2MmI4OWZlYmUwYjE1OThiMTlkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0FuaW1hdGVFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZUVs
ZW1lbnQuY3BwCkBAIC0zMCw4ICszMCw4IEBACiAjaW5jbHVkZSAiUXVhbGlmaWVkTmFtZS5oIgog
I2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgogI2luY2x1ZGUgIlNWR0FuaW1hdG9yRmFjdG9yeS5o
IgorI2luY2x1ZGUgIlNWR0VsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdOYW1lcy5oIgotI2luY2x1
ZGUgIlNWR1N0eWxlZEVsZW1lbnQuaCIKICNpbmNsdWRlICJTdHlsZVByb3BlcnR5U2V0LmgiCiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdB
bmltYXRlZFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkVHlwZS5jcHAK
aW5kZXggMzNhMThhN2ZiNDhhOTEzMWM2MzA2MTQzNzVlYjM5Njg1OTRkNmNjMy4uYjNmZDdhMGVi
N2FjZmRjMTI0MjU0MzBlNTg5YWU2ODE1MzEzZTFiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0FuaW1hdGVkVHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0Fu
aW1hdGVkVHlwZS5jcHAKQEAgLTI1MSw3ICsyNTEsNyBAQCBTdHJpbmcgU1ZHQW5pbWF0ZWRUeXBl
Ojp2YWx1ZUFzU3RyaW5nKCkKICAgICAgICAgQVNTRVJUKG1fZGF0YS5zdHJpbmcpOwogICAgICAg
ICByZXR1cm4gKm1fZGF0YS5zdHJpbmc7CiAKLSAgICAvLyBUaGVzZSB0eXBlcyBkb24ndCBhcHBl
YXIgaW4gdGhlIHRhYmxlIGluIFNWR1N0eWxlZEVsZW1lbnQ6OmNzc1Byb3BlcnR5VG9UeXBlTWFw
KCkgYW5kIHRodXMgZG9uJ3QgbmVlZCB2YWx1ZUFzU3RyaW5nKCkgc3VwcG9ydC4KKyAgICAvLyBU
aGVzZSB0eXBlcyBkb24ndCBhcHBlYXIgaW4gdGhlIHRhYmxlIGluIFNWR0VsZW1lbnQ6OmNzc1By
b3BlcnR5VG9UeXBlTWFwKCkgYW5kIHRodXMgZG9uJ3QgbmVlZCB2YWx1ZUFzU3RyaW5nKCkgc3Vw
cG9ydC4KICAgICBjYXNlIEFuaW1hdGVkQW5nbGU6CiAgICAgY2FzZSBBbmltYXRlZEJvb2xlYW46
CiAgICAgY2FzZSBBbmltYXRlZEVudW1lcmF0aW9uOgpAQCAtMzAyLDcgKzMwMiw3IEBAIGJvb2wg
U1ZHQW5pbWF0ZWRUeXBlOjpzZXRWYWx1ZUFzU3RyaW5nKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0
dHJOYW1lLCBjb25zdCBTdHJpCiAgICAgICAgICptX2RhdGEuc3RyaW5nID0gdmFsdWU7CiAgICAg
ICAgIGJyZWFrOwogCi0gICAgLy8gVGhlc2UgdHlwZXMgZG9uJ3QgYXBwZWFyIGluIHRoZSB0YWJs
ZSBpbiBTVkdTdHlsZWRFbGVtZW50Ojpjc3NQcm9wZXJ0eVRvVHlwZU1hcCgpIGFuZCB0aHVzIGRv
bid0IG5lZWQgc2V0VmFsdWVBc1N0cmluZygpIHN1cHBvcnQuIAorICAgIC8vIFRoZXNlIHR5cGVz
IGRvbid0IGFwcGVhciBpbiB0aGUgdGFibGUgaW4gU1ZHRWxlbWVudDo6Y3NzUHJvcGVydHlUb1R5
cGVNYXAoKSBhbmQgdGh1cyBkb24ndCBuZWVkIHNldFZhbHVlQXNTdHJpbmcoKSBzdXBwb3J0LiAK
ICAgICBjYXNlIEFuaW1hdGVkQW5nbGU6CiAgICAgY2FzZSBBbmltYXRlZEJvb2xlYW46CiAgICAg
Y2FzZSBBbmltYXRlZEVudW1lcmF0aW9uOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0FuaW1hdGlvbkVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGlv
bkVsZW1lbnQuY3BwCmluZGV4IGY1ZGU0N2EzZTQ0YzdiYzk5ZDBjNTRlMjgxNmVkNjZiZWFlZTdh
NDkuLjkwYWIwZTBlMTFhN2VhMWM3NjBjZmIxY2MwNGM2ZTQ0N2U3MjFhNmEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRpb25FbGVtZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHQW5pbWF0aW9uRWxlbWVudC5jcHAKQEAgLTM1LDEwICszNSwxMCBAQAog
I2luY2x1ZGUgIkZsb2F0Q29udmVyc2lvbi5oIgogI2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgog
I2luY2x1ZGUgIlNWR0FuaW1hdGVFbGVtZW50LmgiCisjaW5jbHVkZSAiU1ZHRWxlbWVudC5oIgog
I2luY2x1ZGUgIlNWR0VsZW1lbnRJbnN0YW5jZS5oIgogI2luY2x1ZGUgIlNWR05hbWVzLmgiCiAj
aW5jbHVkZSAiU1ZHUGFyc2VyVXRpbGl0aWVzLmgiCi0jaW5jbHVkZSAiU1ZHU3R5bGVkRWxlbWVu
dC5oIgogI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
QEAgLTM1NCwxMCArMzU0LDggQEAgYm9vbCBTVkdBbmltYXRpb25FbGVtZW50Ojppc0FjY3VtdWxh
dGVkKCkgY29uc3QKIGJvb2wgU1ZHQW5pbWF0aW9uRWxlbWVudDo6aXNUYXJnZXRBdHRyaWJ1dGVD
U1NQcm9wZXJ0eShTVkdFbGVtZW50KiB0YXJnZXRFbGVtZW50LCBjb25zdCBRdWFsaWZpZWROYW1l
JiBhdHRyaWJ1dGVOYW1lKQogewogICAgIEFTU0VSVCh0YXJnZXRFbGVtZW50KTsKLSAgICBpZiAo
IXRhcmdldEVsZW1lbnQtPmlzU1ZHU3R5bGVkRWxlbWVudCgpKQotICAgICAgICByZXR1cm4gZmFs
c2U7CiAKLSAgICByZXR1cm4gU1ZHU3R5bGVkRWxlbWVudDo6aXNBbmltYXRhYmxlQ1NTUHJvcGVy
dHkoYXR0cmlidXRlTmFtZSk7CisgICAgcmV0dXJuIFNWR0VsZW1lbnQ6OmlzQW5pbWF0YWJsZUNT
U1Byb3BlcnR5KGF0dHJpYnV0ZU5hbWUpOwogfQogCiBTVkdBbmltYXRpb25FbGVtZW50OjpTaG91
bGRBcHBseUFuaW1hdGlvbiBTVkdBbmltYXRpb25FbGVtZW50OjpzaG91bGRBcHBseUFuaW1hdGlv
bihTVkdFbGVtZW50KiB0YXJnZXRFbGVtZW50LCBjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyaWJ1
dGVOYW1lKQpAQCAtNjM0LDcgKzYzMiw2IEBAIHZvaWQgU1ZHQW5pbWF0aW9uRWxlbWVudDo6dXBk
YXRlQW5pbWF0aW9uKGZsb2F0IHBlcmNlbnQsIHVuc2lnbmVkIHJlcGVhdENvdW50LCBTCiB2b2lk
IFNWR0FuaW1hdGlvbkVsZW1lbnQ6OmNvbXB1dGVDU1NQcm9wZXJ0eVZhbHVlKFNWR0VsZW1lbnQq
IGVsZW1lbnQsIENTU1Byb3BlcnR5SUQgaWQsIFN0cmluZyYgdmFsdWVTdHJpbmcpCiB7CiAgICAg
QVNTRVJUKGVsZW1lbnQpOwotICAgIEFTU0VSVChlbGVtZW50LT5pc1NWR1N0eWxlZEVsZW1lbnQo
KSk7CiAKICAgICAvLyBEb24ndCBpbmNsdWRlIGFueSBwcm9wZXJ0aWVzIHJlc3VsdGluZyBmcm9t
IENTUyBUcmFuc2l0aW9ucy9BbmltYXRpb25zIG9yIFNNSUwgYW5pbWF0aW9ucywgYXMgd2Ugd2Fu
dCB0byByZXRyaWV2ZSB0aGUgImJhc2UgdmFsdWUiLgogICAgIGVsZW1lbnQtPnNldFVzZU92ZXJy
aWRlQ29tcHV0ZWRTdHlsZSh0cnVlKTsKQEAgLTY1NCw4ICs2NTEsNiBAQCB2b2lkIFNWR0FuaW1h
dGlvbkVsZW1lbnQ6OmFkanVzdEZvckluaGVyaXRhbmNlKFNWR0VsZW1lbnQqIHRhcmdldEVsZW1l
bnQsIGNvbnN0CiAgICAgICAgIHJldHVybjsKIAogICAgIFNWR0VsZW1lbnQqIHN2Z1BhcmVudCA9
IHRvU1ZHRWxlbWVudChwYXJlbnQpOwotICAgIGlmICghc3ZnUGFyZW50LT5pc1NWR1N0eWxlZEVs
ZW1lbnQoKSkKLSAgICAgICAgcmV0dXJuOwogICAgIGNvbXB1dGVDU1NQcm9wZXJ0eVZhbHVlKHN2
Z1BhcmVudCwgY3NzUHJvcGVydHlJRChhdHRyaWJ1dGVOYW1lLmxvY2FsTmFtZSgpKSwgdmFsdWUp
OwogfQogCkBAIC02NjQsOSArNjU5LDkgQEAgc3RhdGljIGJvb2wgaW5oZXJpdHNGcm9tUHJvcGVy
dHkoU1ZHRWxlbWVudCogdGFyZ2V0RWxlbWVudCwgY29uc3QgUXVhbGlmaWVkTmFtZSYKICAgICBB
U1NFUlQodGFyZ2V0RWxlbWVudCk7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBBdG9t
aWNTdHJpbmcsIGluaGVyaXQsICgiaW5oZXJpdCIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJv
bUxpdGVyYWwpKTsKICAgICAKLSAgICBpZiAodmFsdWUuaXNFbXB0eSgpIHx8IHZhbHVlICE9IGlu
aGVyaXQgfHwgIXRhcmdldEVsZW1lbnQtPmlzU1ZHU3R5bGVkRWxlbWVudCgpKQorICAgIGlmICh2
YWx1ZS5pc0VtcHR5KCkgfHwgdmFsdWUgIT0gaW5oZXJpdCkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwotICAgIHJldHVybiBTVkdTdHlsZWRFbGVtZW50Ojppc0FuaW1hdGFibGVDU1NQcm9wZXJ0eShh
dHRyaWJ1dGVOYW1lKTsKKyAgICByZXR1cm4gU1ZHRWxlbWVudDo6aXNBbmltYXRhYmxlQ1NTUHJv
cGVydHkoYXR0cmlidXRlTmFtZSk7CiB9CiAKIHZvaWQgU1ZHQW5pbWF0aW9uRWxlbWVudDo6ZGV0
ZXJtaW5lUHJvcGVydHlWYWx1ZVR5cGVzKGNvbnN0IFN0cmluZyYgZnJvbSwgY29uc3QgU3RyaW5n
JiB0bykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdDb21wb25lbnRUcmFuc2Zl
ckZ1bmN0aW9uRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0NvbXBvbmVudFRyYW5z
ZmVyRnVuY3Rpb25FbGVtZW50LmgKaW5kZXggM2VjYjFmNzE0ZTAzM2RmZjE2YzYyN2JkMzk1Y2Ix
ZWNkNDg1NDgyZi4uZDViZjI1ZjhmNWQ1MGNhMWExZjA0MzA0ZmYxYTMwMGI3OWVjM2Q3YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25F
bGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0NvbXBvbmVudFRyYW5zZmVyRnVu
Y3Rpb25FbGVtZW50LmgKQEAgLTgwLDYgKzgwLDggQEAgcHJvdGVjdGVkOgogICAgIGJvb2wgaXNT
dXBwb3J0ZWRBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYpOwogICAgIHZpcnR1YWwgdm9p
ZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5n
JikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3Qg
UXVhbGlmaWVkTmFtZSYpOworCisgICAgdmlydHVhbCBib29sIHJlbmRlcmVySXNOZWVkZWQoY29u
c3QgUmVuZGVyU3R5bGUmKSBPVkVSUklERSB7IHJldHVybiBmYWxzZTsgfQogICAgIAogcHJpdmF0
ZToKICAgICBCRUdJTl9ERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRJRVMoU1ZHQ29tcG9uZW50VHJh
bnNmZXJGdW5jdGlvbkVsZW1lbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
Q3Vyc29yRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0N1cnNvckVsZW1lbnQuaApp
bmRleCBhMTdlZTM2NWRhMmI0YTA0OGE4Y2NiYzgxODRkNGNhZjhjNzUzYWY4Li44YzViM2IzMTMx
Y2FkMDA3YjNkMDY0Y2Q5NjI5Nzc4OGE4ODAzY2YxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHQ3Vyc29yRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdDdXJz
b3JFbGVtZW50LmgKQEAgLTU0LDYgKzU0LDggQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQg
cGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYp
IE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1
YWxpZmllZE5hbWUmKTsKIAorICAgIHZpcnR1YWwgYm9vbCByZW5kZXJlcklzTmVlZGVkKGNvbnN0
IFJlbmRlclN0eWxlJikgT1ZFUlJJREUgeyByZXR1cm4gZmFsc2U7IH0KKwogICAgIHZpcnR1YWwg
dm9pZCBhZGRTdWJyZXNvdXJjZUF0dHJpYnV0ZVVSTHMoTGlzdEhhc2hTZXQ8S1VSTD4mKSBjb25z
dDsKIAogICAgIEJFR0lOX0RFQ0xBUkVfQU5JTUFURURfUFJPUEVSVElFUyhTVkdDdXJzb3JFbGVt
ZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0Rlc2NFbGVtZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdEZXNjRWxlbWVudC5jcHAKaW5kZXggMjAwZjc0ODI0ZTJk
YjA3YjhmYzY3N2U4MDhhNGIwM2M5ZTY3YTJhZi4uZGNlYmZiNWFmY2E3N2VlMzU3NjZlOWM2YWU3
YmQ1NzgwNjc0MGMzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0Rlc2NFbGVt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRGVzY0VsZW1lbnQuY3BwCkBAIC0y
Niw3ICsyNiw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGlubGluZSBTVkdEZXNjRWxlbWVu
dDo6U1ZHRGVzY0VsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQq
IGRvY3VtZW50KQotICAgIDogU1ZHU3R5bGVkRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKKyAg
ICA6IFNWR0VsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05h
bWUoU1ZHTmFtZXM6OmRlc2NUYWcpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdEZXNjRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0Rlc2NFbGVtZW50LmgK
aW5kZXggMTJmZWU4MjNlOGRiN2M1NmM2ZjM3MzZlYWI1ODkwZDI0ODc3NTdjNy4uOGE1Y2M0MjYw
ZTAyMTM0NWJkOTlhNDZhMjRiOGQ0ODNjZDFmZTE5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0Rlc2NFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0Rlc2NF
bGVtZW50LmgKQEAgLTIyLDExICsyMiwxMSBAQAogI2RlZmluZSBTVkdEZXNjRWxlbWVudF9oCiAK
ICNpZiBFTkFCTEUoU1ZHKQotI2luY2x1ZGUgIlNWR1N0eWxlZEVsZW1lbnQuaCIKKyNpbmNsdWRl
ICJTVkdFbGVtZW50LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgU1ZHRGVzY0Vs
ZW1lbnQgRklOQUwgOiBwdWJsaWMgU1ZHU3R5bGVkRWxlbWVudCB7CitjbGFzcyBTVkdEZXNjRWxl
bWVudCBGSU5BTCA6IHB1YmxpYyBTVkdFbGVtZW50IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFz
c1JlZlB0cjxTVkdEZXNjRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1
bWVudCopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRGVzY0VsZW1lbnQu
aWRsIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0Rlc2NFbGVtZW50LmlkbAppbmRleCAxMzQ2YjQ3
MmJjNzc5OWFjMDFlMDBkMmIwMTUwYmViZTcwNmM2ZWE0Li5kYjdiN2Q4MTYwNzgyYTY5Yjg5ZTBi
ZWE2NGViZDkwZDlhOGFkZjYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRGVz
Y0VsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdEZXNjRWxlbWVudC5pZGwK
QEAgLTI1LDYgKzI1LDYgQEAKIAogWwogICAgIENvbmRpdGlvbmFsPVNWRwotXSBpbnRlcmZhY2Ug
U1ZHRGVzY0VsZW1lbnQgOiBTVkdTdHlsZWRFbGVtZW50IHsKK10gaW50ZXJmYWNlIFNWR0Rlc2NF
bGVtZW50IDogU1ZHRWxlbWVudCB7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5jcHAKaW5k
ZXggNzAzYWY5ZTcxOWQ2OWNhZmE1YTVhZWI0ZWMzYzEzMDMyMzAzMjk5YS4uNTQxZTQ4ZmExMjFk
M2Q2NjM2ZWRmYTNhOGIxNDIyNTAzOTY3ZTcyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNw
cApAQCAtNCw2ICs0LDcgQEAKICAqIENvcHlyaWdodCAoQykgMjAwOCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDggQWxwIFRva2VyIDxhbHBAYXRv
a2VyLmNvbT4KICAqIENvcHlyaWdodCAoQykgMjAwOSBDYW1lcm9uIE1jQ29ybWFjayA8Y2FtQG1j
Yy5pZC5hdT4KKyAqIENvcHlyaWdodCAoQykgMjAxMyBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5
b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVy
bXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0yNiwxMiArMjcsMjAgQEAK
ICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1ZGUgIlNWR0VsZW1lbnQuaCIKIAorI2luY2x1ZGUgIkF0
dHIuaCIKICNpbmNsdWRlICJDU1NDdXJzb3JJbWFnZVZhbHVlLmgiCisjaW5jbHVkZSAiQ1NTUGFy
c2VyLmgiCiAjaW5jbHVkZSAiRE9NSW1wbGVtZW50YXRpb24uaCIKICNpbmNsdWRlICJEb2N1bWVu
dC5oIgorI2luY2x1ZGUgIkVsZW1lbnRUcmF2ZXJzYWwuaCIKICNpbmNsdWRlICJFdmVudC5oIgor
I2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRl
ICJSZW5kZXJPYmplY3QuaCIKKyNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZS5oIgorI2luY2x1
ZGUgIlJlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5oIgorI2luY2x1ZGUgIlJlbmRlclNWR1Jlc291
cmNlRmlsdGVyLmgiCisjaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXIuaCIKICNpbmNs
dWRlICJTVkdDdXJzb3JFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHRG9jdW1lbnRFeHRlbnNpb25z
LmgiCiAjaW5jbHVkZSAiU1ZHRWxlbWVudEluc3RhbmNlLmgiCkBAIC0zOSwxOSArNDgsMTEzIEBA
CiAjaW5jbHVkZSAiU1ZHR3JhcGhpY3NFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHSW1hZ2VFbGVt
ZW50LmgiCiAjaW5jbHVkZSAiU1ZHTmFtZXMuaCIKKyNpbmNsdWRlICJTVkdSZW5kZXJTdHlsZS5o
IgorI2luY2x1ZGUgIlNWR1JlbmRlclN1cHBvcnQuaCIKICNpbmNsdWRlICJTVkdTVkdFbGVtZW50
LmgiCisjaW5jbHVkZSAiU1ZHVXNlRWxlbWVudC5oIgogI2luY2x1ZGUgIlNjcmlwdEV2ZW50TGlz
dGVuZXIuaCIKICNpbmNsdWRlICJTaGFkb3dSb290LmgiCiAjaW5jbHVkZSAiWExpbmtOYW1lcy5o
IgogI2luY2x1ZGUgIlhNTE5hbWVzLmgiCisjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KKyNp
bmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KKyNp
bmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
Ky8vIEFuaW1hdGVkIHByb3BlcnR5IGRlZmluaXRpb25zCitERUZJTkVfQU5JTUFURURfU1RSSU5H
KFNWR0VsZW1lbnQsIEhUTUxOYW1lczo6Y2xhc3NBdHRyLCBDbGFzc05hbWUsIGNsYXNzTmFtZSkK
KworQkVHSU5fUkVHSVNURVJfQU5JTUFURURfUFJPUEVSVElFUyhTVkdFbGVtZW50KQorICAgIFJF
R0lTVEVSX0xPQ0FMX0FOSU1BVEVEX1BST1BFUlRZKGNsYXNzTmFtZSkKK0VORF9SRUdJU1RFUl9B
TklNQVRFRF9QUk9QRVJUSUVTCisKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7Cit1c2luZyBu
YW1lc3BhY2UgU1ZHTmFtZXM7CisKK3ZvaWQgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShIYXNo
TWFwPEF0b21pY1N0cmluZ0ltcGwqLCBDU1NQcm9wZXJ0eUlEPiogcHJvcGVydHlOYW1lVG9JZE1h
cCwgY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUpCit7CisgICAgLy8gRklYTUU6IHdoZW4g
Q1NTIHN1cHBvcnRzICJ0cmFuc2Zvcm0tb3JpZ2luIiB0aGUgc3BlY2lhbCBjYXNlIGZvciB0cmFu
c2Zvcm1fb3JpZ2luQXR0ciBjYW4gYmUgcmVtb3ZlZC4KKyAgICBDU1NQcm9wZXJ0eUlEIHByb3Bl
cnR5SWQgPSBjc3NQcm9wZXJ0eUlEKGF0dHJOYW1lLmxvY2FsTmFtZSgpKTsKKyAgICBpZiAoIXBy
b3BlcnR5SWQgJiYgYXR0ck5hbWUgPT0gdHJhbnNmb3JtX29yaWdpbkF0dHIpCisgICAgICAgIHBy
b3BlcnR5SWQgPSBDU1NQcm9wZXJ0eVdlYmtpdFRyYW5zZm9ybU9yaWdpbjsgLy8gY3NzUHJvcGVy
dHlJRCgiLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luIikKKyAgICBBU1NFUlQocHJvcGVydHlJZCA+
IDApOworICAgIHByb3BlcnR5TmFtZVRvSWRNYXAtPnNldChhdHRyTmFtZS5sb2NhbE5hbWUoKS5p
bXBsKCksIHByb3BlcnR5SWQpOworfQorCit0eXBlZGVmIEhhc2hNYXA8UXVhbGlmaWVkTmFtZSwg
QW5pbWF0ZWRQcm9wZXJ0eVR5cGU+IEF0dHJpYnV0ZVRvUHJvcGVydHlUeXBlTWFwOworc3RhdGlj
IGlubGluZSBBdHRyaWJ1dGVUb1Byb3BlcnR5VHlwZU1hcCYgY3NzUHJvcGVydHlUb1R5cGVNYXAo
KQoreworICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXR0cmlidXRlVG9Qcm9wZXJ0eVR5cGVNYXAs
IHNfY3NzUHJvcGVydHlNYXAsICgpKTsKKworICAgIGlmICghc19jc3NQcm9wZXJ0eU1hcC5pc0Vt
cHR5KCkpCisgICAgICAgIHJldHVybiBzX2Nzc1Byb3BlcnR5TWFwOworCisgICAgLy8gRmlsbCB0
aGUgbWFwIGZvciB0aGUgZmlyc3QgdXNlLgorICAgIHNfY3NzUHJvcGVydHlNYXAuc2V0KGFsaWdu
bWVudF9iYXNlbGluZUF0dHIsIEFuaW1hdGVkU3RyaW5nKTsKKyAgICBzX2Nzc1Byb3BlcnR5TWFw
LnNldChiYXNlbGluZV9zaGlmdEF0dHIsIEFuaW1hdGVkU3RyaW5nKTsKKyAgICBzX2Nzc1Byb3Bl
cnR5TWFwLnNldChidWZmZXJlZF9yZW5kZXJpbmdBdHRyLCBBbmltYXRlZFN0cmluZyk7CisgICAg
c19jc3NQcm9wZXJ0eU1hcC5zZXQoY2xpcEF0dHIsIEFuaW1hdGVkUmVjdCk7CisgICAgc19jc3NQ
cm9wZXJ0eU1hcC5zZXQoY2xpcF9wYXRoQXR0ciwgQW5pbWF0ZWRTdHJpbmcpOworICAgIHNfY3Nz
UHJvcGVydHlNYXAuc2V0KGNsaXBfcnVsZUF0dHIsIEFuaW1hdGVkU3RyaW5nKTsKKyAgICBzX2Nz
c1Byb3BlcnR5TWFwLnNldChTVkdOYW1lczo6Y29sb3JBdHRyLCBBbmltYXRlZENvbG9yKTsKKyAg
ICBzX2Nzc1Byb3BlcnR5TWFwLnNldChjb2xvcl9pbnRlcnBvbGF0aW9uQXR0ciwgQW5pbWF0ZWRT
dHJpbmcpOworICAgIHNfY3NzUHJvcGVydHlNYXAuc2V0KGNvbG9yX2ludGVycG9sYXRpb25fZmls
dGVyc0F0dHIsIEFuaW1hdGVkU3RyaW5nKTsKKyAgICBzX2Nzc1Byb3BlcnR5TWFwLnNldChjb2xv
cl9wcm9maWxlQXR0ciwgQW5pbWF0ZWRTdHJpbmcpOworICAgIHNfY3NzUHJvcGVydHlNYXAuc2V0
KGNvbG9yX3JlbmRlcmluZ0F0dHIsIEFuaW1hdGVkU3RyaW5nKTsKKyAgICBzX2Nzc1Byb3BlcnR5
TWFwLnNldChjdXJzb3JBdHRyLCBBbmltYXRlZFN0cmluZyk7CisgICAgc19jc3NQcm9wZXJ0eU1h
cC5zZXQoZGlzcGxheUF0dHIsIEFuaW1hdGVkU3RyaW5nKTsKKyAgICBzX2Nzc1Byb3BlcnR5TWFw
LnNldChkb21pbmFudF9iYXNlbGluZUF0dHIsIEFuaW1hdGVkU3RyaW5nKTsKKyAgICBzX2Nzc1By
b3BlcnR5TWFwLnNldChmaWxsQXR0ciwgQW5pbWF0ZWRDb2xvcik7CisgICAgc19jc3NQcm9wZXJ0
eU1hcC5zZXQoZmlsbF9vcGFjaXR5QXR0ciwgQW5pbWF0ZWROdW1iZXIpOworICAgIHNfY3NzUHJv
cGVydHlNYXAuc2V0KGZpbGxfcnVsZUF0dHIsIEFuaW1hdGVkU3RyaW5nKTsKKyAgICBzX2Nzc1By
b3BlcnR5TWFwLnNldChmaWx0ZXJBdHRyLCBBbmltYXRlZFN0cmluZyk7CisgICAgc19jc3NQcm9w
ZXJ0eU1hcC5zZXQoZmxvb2RfY29sb3JBdHRyLCBBbmltYXRlZENvbG9yKTsKKyAgICBzX2Nzc1By
b3BlcnR5TWFwLnNldChmbG9vZF9vcGFjaXR5QXR0ciwgQW5pbWF0ZWROdW1iZXIpOworICAgIHNf
Y3NzUHJvcGVydHlNYXAuc2V0KGZvbnRfZmFtaWx5QXR0ciwgQW5pbWF0ZWRTdHJpbmcpOworICAg
IHNfY3NzUHJvcGVydHlNYXAuc2V0KGZvbnRfc2l6ZUF0dHIsIEFuaW1hdGVkTGVuZ3RoKTsKKyAg
ICBzX2Nzc1Byb3BlcnR5TWFwLnNldChmb250X3N0cmV0Y2hBdHRyLCBBbmltYXRlZFN0cmluZyk7
CisgICAgc19jc3NQcm9wZXJ0eU1hcC5zZXQoZm9udF9zdHlsZUF0dHIsIEFuaW1hdGVkU3RyaW5n
KTsKKyAgICBzX2Nzc1Byb3BlcnR5TWFwLnNldChmb250X3ZhcmlhbnRBdHRyLCBBbmltYXRlZFN0
cmluZyk7CisgICAgc19jc3NQcm9wZXJ0eU1hcC5zZXQoZm9udF93ZWlnaHRBdHRyLCBBbmltYXRl
ZFN0cmluZyk7CisgICAgc19jc3NQcm9wZXJ0eU1hcC5zZXQoaW1hZ2VfcmVuZGVyaW5nQXR0ciwg
QW5pbWF0ZWRTdHJpbmcpOworICAgIHNfY3NzUHJvcGVydHlNYXAuc2V0KGtlcm5pbmdBdHRyLCBB
bmltYXRlZExlbmd0aCk7CisgICAgc19jc3NQcm9wZXJ0eU1hcC5zZXQobGV0dGVyX3NwYWNpbmdB
dHRyLCBBbmltYXRlZExlbmd0aCk7CisgICAgc19jc3NQcm9wZXJ0eU1hcC5zZXQobGlnaHRpbmdf
Y29sb3JBdHRyLCBBbmltYXRlZENvbG9yKTsKKyAgICBzX2Nzc1Byb3BlcnR5TWFwLnNldChtYXJr
ZXJfZW5kQXR0ciwgQW5pbWF0ZWRTdHJpbmcpOworICAgIHNfY3NzUHJvcGVydHlNYXAuc2V0KG1h
cmtlcl9taWRBdHRyLCBBbmltYXRlZFN0cmluZyk7CisgICAgc19jc3NQcm9wZXJ0eU1hcC5zZXQo
bWFya2VyX3N0YXJ0QXR0ciwgQW5pbWF0ZWRTdHJpbmcpOworICAgIHNfY3NzUHJvcGVydHlNYXAu
c2V0KG1hc2tBdHRyLCBBbmltYXRlZFN0cmluZyk7CisgICAgc19jc3NQcm9wZXJ0eU1hcC5zZXQo
bWFza190eXBlQXR0ciwgQW5pbWF0ZWRTdHJpbmcpOworICAgIHNfY3NzUHJvcGVydHlNYXAuc2V0
KG9wYWNpdHlBdHRyLCBBbmltYXRlZE51bWJlcik7CisgICAgc19jc3NQcm9wZXJ0eU1hcC5zZXQo
b3ZlcmZsb3dBdHRyLCBBbmltYXRlZFN0cmluZyk7CisgICAgc19jc3NQcm9wZXJ0eU1hcC5zZXQo
cG9pbnRlcl9ldmVudHNBdHRyLCBBbmltYXRlZFN0cmluZyk7CisgICAgc19jc3NQcm9wZXJ0eU1h
cC5zZXQoc2hhcGVfcmVuZGVyaW5nQXR0ciwgQW5pbWF0ZWRTdHJpbmcpOworICAgIHNfY3NzUHJv
cGVydHlNYXAuc2V0KHN0b3BfY29sb3JBdHRyLCBBbmltYXRlZENvbG9yKTsKKyAgICBzX2Nzc1By
b3BlcnR5TWFwLnNldChzdG9wX29wYWNpdHlBdHRyLCBBbmltYXRlZE51bWJlcik7CisgICAgc19j
c3NQcm9wZXJ0eU1hcC5zZXQoc3Ryb2tlQXR0ciwgQW5pbWF0ZWRDb2xvcik7CisgICAgc19jc3NQ
cm9wZXJ0eU1hcC5zZXQoc3Ryb2tlX2Rhc2hhcnJheUF0dHIsIEFuaW1hdGVkTGVuZ3RoTGlzdCk7
CisgICAgc19jc3NQcm9wZXJ0eU1hcC5zZXQoc3Ryb2tlX2Rhc2hvZmZzZXRBdHRyLCBBbmltYXRl
ZExlbmd0aCk7CisgICAgc19jc3NQcm9wZXJ0eU1hcC5zZXQoc3Ryb2tlX2xpbmVjYXBBdHRyLCBB
bmltYXRlZFN0cmluZyk7CisgICAgc19jc3NQcm9wZXJ0eU1hcC5zZXQoc3Ryb2tlX2xpbmVqb2lu
QXR0ciwgQW5pbWF0ZWRTdHJpbmcpOworICAgIHNfY3NzUHJvcGVydHlNYXAuc2V0KHN0cm9rZV9t
aXRlcmxpbWl0QXR0ciwgQW5pbWF0ZWROdW1iZXIpOworICAgIHNfY3NzUHJvcGVydHlNYXAuc2V0
KHN0cm9rZV9vcGFjaXR5QXR0ciwgQW5pbWF0ZWROdW1iZXIpOworICAgIHNfY3NzUHJvcGVydHlN
YXAuc2V0KHN0cm9rZV93aWR0aEF0dHIsIEFuaW1hdGVkTGVuZ3RoKTsKKyAgICBzX2Nzc1Byb3Bl
cnR5TWFwLnNldCh0ZXh0X2FuY2hvckF0dHIsIEFuaW1hdGVkU3RyaW5nKTsKKyAgICBzX2Nzc1By
b3BlcnR5TWFwLnNldCh0ZXh0X2RlY29yYXRpb25BdHRyLCBBbmltYXRlZFN0cmluZyk7CisgICAg
c19jc3NQcm9wZXJ0eU1hcC5zZXQodGV4dF9yZW5kZXJpbmdBdHRyLCBBbmltYXRlZFN0cmluZyk7
CisgICAgc19jc3NQcm9wZXJ0eU1hcC5zZXQodmVjdG9yX2VmZmVjdEF0dHIsIEFuaW1hdGVkU3Ry
aW5nKTsKKyAgICBzX2Nzc1Byb3BlcnR5TWFwLnNldCh2aXNpYmlsaXR5QXR0ciwgQW5pbWF0ZWRT
dHJpbmcpOworICAgIHNfY3NzUHJvcGVydHlNYXAuc2V0KHdvcmRfc3BhY2luZ0F0dHIsIEFuaW1h
dGVkTGVuZ3RoKTsKKyAgICByZXR1cm4gc19jc3NQcm9wZXJ0eU1hcDsKK30KIAogU1ZHRWxlbWVu
dDo6U1ZHRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9j
dW1lbnQpCiAgICAgOiBTdHlsZWRFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50LCBDcmVhdGVTVkdF
bGVtZW50KQogeworICAgIHJlZ2lzdGVyQW5pbWF0ZWRQcm9wZXJ0aWVzRm9yU1ZHRWxlbWVudCgp
OwogfQogCiBTVkdFbGVtZW50Ojp+U1ZHRWxlbWVudCgpCkBAIC03Niw2ICsxNzksMTEgQEAgU1ZH
RWxlbWVudDo6flNWR0VsZW1lbnQoKQogICAgICAgICBpdCA9IHJhcmVEYXRhTWFwLmZpbmQodGhp
cyk7CiAgICAgICAgIEFTU0VSVChpdCAhPSByYXJlRGF0YU1hcC5lbmQoKSk7CiAgICAgICAgIHJh
cmVEYXRhTWFwLnJlbW92ZShpdCk7CisKKyAgICAgICAgLy8gQ2xlYXIgSGFzU1ZHUmFyZURhdGEg
ZmxhZyBub3cgc28gdGhhdCB3ZSBhcmUgaW4gYSBjb25zaXN0ZW50IHN0YXRlIHdoZW4KKyAgICAg
ICAgLy8gY2FsbGluZyByZWJ1aWxkQWxsRWxlbWVudFJlZmVyZW5jZXNGb3JUYXJnZXQoKSBhbmQK
KyAgICAgICAgLy8gcmVtb3ZlQWxsRWxlbWVudFJlZmVyZW5jZXNGb3JUYXJnZXQoKSBiZWxvdy4K
KyAgICAgICAgY2xlYXJIYXNTVkdSYXJlRGF0YSgpOwogICAgIH0KICAgICBBU1NFUlQoZG9jdW1l
bnQoKSk7CiAgICAgZG9jdW1lbnQoKS0+YWNjZXNzU1ZHRXh0ZW5zaW9ucygpLT5yZWJ1aWxkQWxs
RWxlbWVudFJlZmVyZW5jZXNGb3JUYXJnZXQodGhpcyk7CkBAIC0xNzQsNiArMjgyLDggQEAgdm9p
ZCBTVkdFbGVtZW50OjpzZXRYbWxiYXNlKGNvbnN0IFN0cmluZyYgdmFsdWUsIEV4Y2VwdGlvbkNv
ZGUmKQogdm9pZCBTVkdFbGVtZW50OjpyZW1vdmVkRnJvbShDb250YWluZXJOb2RlKiByb290UGFy
ZW50KQogewogICAgIGJvb2wgd2FzSW5Eb2N1bWVudCA9IHJvb3RQYXJlbnQtPmluRG9jdW1lbnQo
KTsKKyAgICBpZiAod2FzSW5Eb2N1bWVudCkKKyAgICAgICAgdXBkYXRlUmVsYXRpdmVMZW5ndGhz
SW5mb3JtYXRpb24oZmFsc2UsIHRoaXMpOwogCiAgICAgU3R5bGVkRWxlbWVudDo6cmVtb3ZlZEZy
b20ocm9vdFBhcmVudCk7CiAKQEAgLTE4MSw2ICsyOTEsNyBAQCB2b2lkIFNWR0VsZW1lbnQ6OnJl
bW92ZWRGcm9tKENvbnRhaW5lck5vZGUqIHJvb3RQYXJlbnQpCiAgICAgICAgIGRvY3VtZW50KCkt
PmFjY2Vzc1NWR0V4dGVuc2lvbnMoKS0+cmVidWlsZEFsbEVsZW1lbnRSZWZlcmVuY2VzRm9yVGFy
Z2V0KHRoaXMpOwogICAgICAgICBkb2N1bWVudCgpLT5hY2Nlc3NTVkdFeHRlbnNpb25zKCktPnJl
bW92ZUFsbEVsZW1lbnRSZWZlcmVuY2VzRm9yVGFyZ2V0KHRoaXMpOwogICAgIH0KKyAgICBTVkdF
bGVtZW50SW5zdGFuY2U6OmludmFsaWRhdGVBbGxJbnN0YW5jZXNPZkVsZW1lbnQodGhpcyk7CiB9
CiAKIFNWR1NWR0VsZW1lbnQqIFNWR0VsZW1lbnQ6Om93bmVyU1ZHRWxlbWVudCgpIGNvbnN0CkBA
IC0zMjksNiArNDQwLDggQEAgdm9pZCBTVkdFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShjb25zdCBR
dWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9taWNTdHJpbmcmIHYKICAgICAgICAgc2V0QXR0
cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkuZm9jdXNvdXRFdmVudCwgY3JlYXRlQXR0
cmlidXRlRXZlbnRMaXN0ZW5lcih0aGlzLCBuYW1lLCB2YWx1ZSkpOwogICAgIGVsc2UgaWYgKG5h
bWUgPT0gU1ZHTmFtZXM6Om9uYWN0aXZhdGVBdHRyKQogICAgICAgICBzZXRBdHRyaWJ1dGVFdmVu
dExpc3RlbmVyKGV2ZW50TmFtZXMoKS5ET01BY3RpdmF0ZUV2ZW50LCBjcmVhdGVBdHRyaWJ1dGVF
dmVudExpc3RlbmVyKHRoaXMsIG5hbWUsIHZhbHVlKSk7CisgICAgZWxzZSBpZiAobmFtZSA9PSBI
VE1MTmFtZXM6OmNsYXNzQXR0cikKKyAgICAgICAgc2V0Q2xhc3NOYW1lQmFzZVZhbHVlKHZhbHVl
KTsKICAgICBlbHNlIGlmIChTVkdMYW5nU3BhY2U6OnBhcnNlQXR0cmlidXRlKG5hbWUsIHZhbHVl
KSkgewogICAgIH0gZWxzZQogICAgICAgICBTdHlsZWRFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShu
YW1lLCB2YWx1ZSk7CkBAIC0zMzcsNiArNDUwLDEzIEBAIHZvaWQgU1ZHRWxlbWVudDo6cGFyc2VB
dHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbWljU3RyaW5nJiB2
CiB2b2lkIFNWR0VsZW1lbnQ6OmFuaW1hdGVkUHJvcGVydHlUeXBlRm9yQXR0cmlidXRlKGNvbnN0
IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUsIFZlY3RvcjxBbmltYXRlZFByb3BlcnR5VHlw
ZT4mIHByb3BlcnR5VHlwZXMpCiB7CiAgICAgbG9jYWxBdHRyaWJ1dGVUb1Byb3BlcnR5TWFwKCku
YW5pbWF0ZWRQcm9wZXJ0eVR5cGVGb3JBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSwgcHJvcGVydHlU
eXBlcyk7CisKKyAgICBpZiAoIXByb3BlcnR5VHlwZXMuaXNFbXB0eSgpKQorICAgICAgICByZXR1
cm47CisKKyAgICBBdHRyaWJ1dGVUb1Byb3BlcnR5VHlwZU1hcCYgY3NzUHJvcGVydHlUeXBlTWFw
ID0gY3NzUHJvcGVydHlUb1R5cGVNYXAoKTsKKyAgICBpZiAoY3NzUHJvcGVydHlUeXBlTWFwLmNv
bnRhaW5zKGF0dHJpYnV0ZU5hbWUpKQorICAgICAgICBwcm9wZXJ0eVR5cGVzLmFwcGVuZChjc3NQ
cm9wZXJ0eVR5cGVNYXAuZ2V0KGF0dHJpYnV0ZU5hbWUpKTsKIH0KIAogYm9vbCBTVkdFbGVtZW50
OjpoYXZlTG9hZGVkUmVxdWlyZWRSZXNvdXJjZXMoKQpAQCAtMzU2LDEzICs0NzYsOSBAQCBzdGF0
aWMgaW5saW5lIHZvaWQgY29sbGVjdEluc3RhbmNlc0ZvclNWR0VsZW1lbnQoU1ZHRWxlbWVudCog
ZWxlbWVudCwgSGFzaFNldDxTVgogICAgIGlmIChlbGVtZW50LT5jb250YWluaW5nU2hhZG93Um9v
dCgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBpZiAoIWVsZW1lbnQtPmlzU1ZHU3R5bGVkRWxl
bWVudCgpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBTVkdTdHlsZWRFbGVtZW50KiBzdHlsZWRF
bGVtZW50ID0gdG9TVkdTdHlsZWRFbGVtZW50KGVsZW1lbnQpOwotICAgIEFTU0VSVCghc3R5bGVk
RWxlbWVudC0+aW5zdGFuY2VVcGRhdGVzQmxvY2tlZCgpKTsKKyAgICBBU1NFUlQoIWVsZW1lbnQt
Pmluc3RhbmNlVXBkYXRlc0Jsb2NrZWQoKSk7CiAKLSAgICBpbnN0YW5jZXMgPSBzdHlsZWRFbGVt
ZW50LT5pbnN0YW5jZXNGb3JFbGVtZW50KCk7CisgICAgaW5zdGFuY2VzID0gZWxlbWVudC0+aW5z
dGFuY2VzRm9yRWxlbWVudCgpOwogfQogCiBib29sIFNWR0VsZW1lbnQ6OmFkZEV2ZW50TGlzdGVu
ZXIoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIFBhc3NSZWZQdHI8RXZlbnRMaXN0ZW5l
cj4gcHJwTGlzdGVuZXIsIGJvb2wgdXNlQ2FwdHVyZSkKQEAgLTU2MywxMiArNjc5LDYgQEAgdm9p
ZCBTVkdFbGVtZW50OjpzeW5jaHJvbml6ZUFuaW1hdGVkU1ZHQXR0cmlidXRlKGNvbnN0IFF1YWxp
ZmllZE5hbWUmIG5hbWUpIGNvbnMKICAgICAgICAgbm9uQ29uc3RUaGlzLT5sb2NhbEF0dHJpYnV0
ZVRvUHJvcGVydHlNYXAoKS5zeW5jaHJvbml6ZVByb3BlcnR5KG5vbkNvbnN0VGhpcywgbmFtZSk7
CiB9CiAKLVNWR0F0dHJpYnV0ZVRvUHJvcGVydHlNYXAmIFNWR0VsZW1lbnQ6OmxvY2FsQXR0cmli
dXRlVG9Qcm9wZXJ0eU1hcCgpCi17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChTVkdBdHRyaWJ1
dGVUb1Byb3BlcnR5TWFwLCBlbXB0eU1hcCwgKCkpOwotICAgIHJldHVybiBlbXB0eU1hcDsKLX0K
LQogdm9pZCBTVkdFbGVtZW50OjpzeW5jaHJvbml6ZVJlcXVpcmVkRmVhdHVyZXMoU1ZHRWxlbWVu
dCogY29udGV4dEVsZW1lbnQpCiB7CiAgICAgQVNTRVJUKGNvbnRleHRFbGVtZW50KTsKQEAgLTcz
NSwxMiArODQ1LDMxMiBAQCBib29sIFNWR0VsZW1lbnQ6OmlzQW5pbWF0YWJsZUF0dHJpYnV0ZShj
b25zdCBRdWFsaWZpZWROYW1lJiBuYW1lKSBjb25zdAogICAgIH0KIAogICAgIGlmIChuYW1lID09
IGNsYXNzQXR0cikKLSAgICAgICAgcmV0dXJuIGlzU1ZHU3R5bGVkRWxlbWVudCgpOworICAgICAg
ICByZXR1cm4gdHJ1ZTsKIAogICAgIHJldHVybiBhbmltYXRhYmxlQXR0cmlidXRlcy5jb250YWlu
cyhuYW1lKTsKIH0KICNlbmRpZgogCitTdHJpbmcgU1ZHRWxlbWVudDo6dGl0bGUoKSBjb25zdAor
eworICAgIC8vIEFjY29yZGluZyB0byBzcGVjLCB3ZSBzaG91bGQgbm90IHJldHVybiB0aXRsZXMg
d2hlbiBob3ZlcmluZyBvdmVyIHJvb3QgPHN2Zz4gZWxlbWVudHMgKHRob3NlCisgICAgLy8gPHRp
dGxlPiBlbGVtZW50cyBhcmUgdGhlIHRpdGxlIG9mIHRoZSBkb2N1bWVudCwgbm90IGEgdG9vbHRp
cCkgc28gd2UgaW5zdGFudGx5IHJldHVybi4KKyAgICBpZiAoaXNPdXRlcm1vc3RTVkdTVkdFbGVt
ZW50KCkpCisgICAgICAgIHJldHVybiBTdHJpbmcoKTsKKworICAgIC8vIFdhbGsgdXAgdGhlIHRy
ZWUsIHRvIGZpbmQgb3V0IHdoZXRoZXIgd2UncmUgaW5zaWRlIGEgPHVzZT4gc2hhZG93IHRyZWUs
IHRvIGZpbmQgdGhlIHJpZ2h0IHRpdGxlLgorICAgIGlmIChpc0luU2hhZG93VHJlZSgpKSB7Cisg
ICAgICAgIEVsZW1lbnQqIHNoYWRvd0hvc3RFbGVtZW50ID0gdG9TaGFkb3dSb290KHRyZWVTY29w
ZSgpLT5yb290Tm9kZSgpKS0+aG9zdEVsZW1lbnQoKTsKKyAgICAgICAgLy8gQXQgdGhpcyB0aW1l
LCBTVkcgbm9kZXMgYXJlIG5vdCBhbGxvd2VkIGluIG5vbi08dXNlPiBzaGFkb3cgdHJlZXMsIHNv
IGFueSBzaGFkb3cgcm9vdCB3ZSBkbworICAgICAgICAvLyBoYXZlIHNob3VsZCBiZSBhIHVzZS4g
VGhlIGFzc2VydCBhbmQgZm9sbG93aW5nIHRlc3QgaXMgaGVyZSB0byBjYXRjaCBmdXR1cmUgc2hh
ZG93IERPTSBjaGFuZ2VzCisgICAgICAgIC8vIHRoYXQgZG8gZW5hYmxlIFNWRyBpbiBhIHNoYWRv
dyB0cmVlLgorICAgICAgICBBU1NFUlQoIXNoYWRvd0hvc3RFbGVtZW50IHx8IHNoYWRvd0hvc3RF
bGVtZW50LT5oYXNUYWdOYW1lKFNWR05hbWVzOjp1c2VUYWcpKTsKKyAgICAgICAgaWYgKHNoYWRv
d0hvc3RFbGVtZW50ICYmIHNoYWRvd0hvc3RFbGVtZW50LT5oYXNUYWdOYW1lKFNWR05hbWVzOjp1
c2VUYWcpKSB7CisgICAgICAgICAgICBTVkdVc2VFbGVtZW50KiB1c2VFbGVtZW50ID0gdG9TVkdV
c2VFbGVtZW50KHNoYWRvd0hvc3RFbGVtZW50KTsKKworICAgICAgICAgICAgLy8gSWYgdGhlIDx1
c2U+IHRpdGxlIGlzIG5vdCBlbXB0eSB3ZSBmb3VuZCB0aGUgdGl0bGUgdG8gdXNlLgorICAgICAg
ICAgICAgU3RyaW5nIHVzZVRpdGxlKHVzZUVsZW1lbnQtPnRpdGxlKCkpOworICAgICAgICAgICAg
aWYgKCF1c2VUaXRsZS5pc0VtcHR5KCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIHVzZVRpdGxl
OworICAgICAgICB9CisgICAgfQorCisgICAgLy8gSWYgd2UgYXJlbid0IGFuIGluc3RhbmNlIGlu
IGEgPHVzZT4gb3IgdGhlIDx1c2U+IHRpdGxlIHdhcyBub3QgZm91bmQsIHRoZW4gZmluZCB0aGUg
Zmlyc3QKKyAgICAvLyA8dGl0bGU+IGNoaWxkIG9mIHRoaXMgZWxlbWVudC4KKyAgICBFbGVtZW50
KiB0aXRsZUVsZW1lbnQgPSBFbGVtZW50VHJhdmVyc2FsOjpmaXJzdFdpdGhpbih0aGlzKTsKKyAg
ICBmb3IgKDsgdGl0bGVFbGVtZW50OyB0aXRsZUVsZW1lbnQgPSBFbGVtZW50VHJhdmVyc2FsOjpu
ZXh0U2libGluZyh0aXRsZUVsZW1lbnQpKSB7CisgICAgICAgIGlmICh0aXRsZUVsZW1lbnQtPmhh
c1RhZ05hbWUoU1ZHTmFtZXM6OnRpdGxlVGFnKSAmJiB0aXRsZUVsZW1lbnQtPmlzU1ZHRWxlbWVu
dCgpKQorICAgICAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgLy8gSWYgYSB0aXRsZSBjaGls
ZCB3YXMgZm91bmQsIHJldHVybiB0aGUgdGV4dCBjb250ZW50cy4KKyAgICBpZiAodGl0bGVFbGVt
ZW50KQorICAgICAgICByZXR1cm4gdGl0bGVFbGVtZW50LT5pbm5lclRleHQoKTsKKworICAgIC8v
IE90aGVyd2lzZSByZXR1cm4gYSBudWxsL2VtcHR5IHN0cmluZy4KKyAgICByZXR1cm4gU3RyaW5n
KCk7Cit9CisKK2Jvb2wgU1ZHRWxlbWVudDo6cmVuZGVyZXJJc05lZWRlZChjb25zdCBSZW5kZXJT
dHlsZSYgc3R5bGUpCit7CisgICAgLy8gaHR0cDovL3d3dy53My5vcmcvVFIvU1ZHL2V4dGVuZC5o
dG1sI1ByaXZhdGVEYXRhCisgICAgLy8gUHJldmVudCBhbnl0aGluZyBvdGhlciB0aGFuIFNWRyBy
ZW5kZXJlcnMgZnJvbSBhcHBlYXJpbmcgaW4gb3VyIHJlbmRlciB0cmVlCisgICAgLy8gU3BlYzog
U1ZHIGFsbG93cyBpbmNsdXNpb24gb2YgZWxlbWVudHMgZnJvbSBmb3JlaWduIG5hbWVzcGFjZXMg
YW55d2hlcmUKKyAgICAvLyB3aXRoIHRoZSBTVkcgY29udGVudC4gSW4gZ2VuZXJhbCwgdGhlIFNW
RyB1c2VyIGFnZW50IHdpbGwgaW5jbHVkZSB0aGUgdW5rbm93bgorICAgIC8vIGVsZW1lbnRzIGlu
IHRoZSBET00gYnV0IHdpbGwgb3RoZXJ3aXNlIGlnbm9yZSB1bmtub3duIGVsZW1lbnRzLgorICAg
IGlmICghcGFyZW50T3JTaGFkb3dIb3N0RWxlbWVudCgpIHx8IHBhcmVudE9yU2hhZG93SG9zdEVs
ZW1lbnQoKS0+aXNTVkdFbGVtZW50KCkpCisgICAgICAgIHJldHVybiBTdHlsZWRFbGVtZW50Ojpy
ZW5kZXJlcklzTmVlZGVkKHN0eWxlKTsKKworICAgIHJldHVybiBmYWxzZTsKK30KKworQ1NTUHJv
cGVydHlJRCBTVkdFbGVtZW50Ojpjc3NQcm9wZXJ0eUlkRm9yU1ZHQXR0cmlidXRlTmFtZShjb25z
dCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSkKK3sKKyAgICBpZiAoIWF0dHJOYW1lLm5hbWVzcGFj
ZVVSSSgpLmlzTnVsbCgpKQorICAgICAgICByZXR1cm4gQ1NTUHJvcGVydHlJbnZhbGlkOworCisg
ICAgc3RhdGljIEhhc2hNYXA8QXRvbWljU3RyaW5nSW1wbCosIENTU1Byb3BlcnR5SUQ+KiBwcm9w
ZXJ0eU5hbWVUb0lkTWFwID0gMDsKKyAgICBpZiAoIXByb3BlcnR5TmFtZVRvSWRNYXApIHsKKyAg
ICAgICAgcHJvcGVydHlOYW1lVG9JZE1hcCA9IG5ldyBIYXNoTWFwPEF0b21pY1N0cmluZ0ltcGwq
LCBDU1NQcm9wZXJ0eUlEPjsKKyAgICAgICAgLy8gVGhpcyBpcyBhIGxpc3Qgb2YgYWxsIGJhc2Ug
Q1NTIGFuZCBTVkcgQ1NTIHByb3BlcnRpZXMgd2hpY2ggYXJlIGV4cG9zZWQgYXMgU1ZHIFhNTCBh
dHRyaWJ1dGVzCisgICAgICAgIG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlOYW1l
VG9JZE1hcCwgYWxpZ25tZW50X2Jhc2VsaW5lQXR0cik7CisgICAgICAgIG1hcEF0dHJpYnV0ZVRv
Q1NTUHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwgYmFzZWxpbmVfc2hpZnRBdHRyKTsKKyAg
ICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBidWZm
ZXJlZF9yZW5kZXJpbmdBdHRyKTsKKyAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShw
cm9wZXJ0eU5hbWVUb0lkTWFwLCBjbGlwQXR0cik7CisgICAgICAgIG1hcEF0dHJpYnV0ZVRvQ1NT
UHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwgY2xpcF9wYXRoQXR0cik7CisgICAgICAgIG1h
cEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwgY2xpcF9ydWxlQXR0
cik7CisgICAgICAgIG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1h
cCwgU1ZHTmFtZXM6OmNvbG9yQXR0cik7CisgICAgICAgIG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVy
dHkocHJvcGVydHlOYW1lVG9JZE1hcCwgY29sb3JfaW50ZXJwb2xhdGlvbkF0dHIpOworICAgICAg
ICBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5TmFtZVRvSWRNYXAsIGNvbG9yX2lu
dGVycG9sYXRpb25fZmlsdGVyc0F0dHIpOworICAgICAgICBtYXBBdHRyaWJ1dGVUb0NTU1Byb3Bl
cnR5KHByb3BlcnR5TmFtZVRvSWRNYXAsIGNvbG9yX3Byb2ZpbGVBdHRyKTsKKyAgICAgICAgbWFw
QXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBjb2xvcl9yZW5kZXJp
bmdBdHRyKTsKKyAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVU
b0lkTWFwLCBjdXJzb3JBdHRyKTsKKyAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShw
cm9wZXJ0eU5hbWVUb0lkTWFwLCBTVkdOYW1lczo6ZGlyZWN0aW9uQXR0cik7CisgICAgICAgIG1h
cEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwgZGlzcGxheUF0dHIp
OworICAgICAgICBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5TmFtZVRvSWRNYXAs
IGRvbWluYW50X2Jhc2VsaW5lQXR0cik7CisgICAgICAgIG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVy
dHkocHJvcGVydHlOYW1lVG9JZE1hcCwgZW5hYmxlX2JhY2tncm91bmRBdHRyKTsKKyAgICAgICAg
bWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBmaWxsQXR0cik7
CisgICAgICAgIG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwg
ZmlsbF9vcGFjaXR5QXR0cik7CisgICAgICAgIG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJv
cGVydHlOYW1lVG9JZE1hcCwgZmlsbF9ydWxlQXR0cik7CisgICAgICAgIG1hcEF0dHJpYnV0ZVRv
Q1NTUHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwgZmlsdGVyQXR0cik7CisgICAgICAgIG1h
cEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwgZmxvb2RfY29sb3JB
dHRyKTsKKyAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lk
TWFwLCBmbG9vZF9vcGFjaXR5QXR0cik7CisgICAgICAgIG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVy
dHkocHJvcGVydHlOYW1lVG9JZE1hcCwgZm9udF9mYW1pbHlBdHRyKTsKKyAgICAgICAgbWFwQXR0
cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBmb250X3NpemVBdHRyKTsK
KyAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBm
b250X3N0cmV0Y2hBdHRyKTsKKyAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9w
ZXJ0eU5hbWVUb0lkTWFwLCBmb250X3N0eWxlQXR0cik7CisgICAgICAgIG1hcEF0dHJpYnV0ZVRv
Q1NTUHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwgZm9udF92YXJpYW50QXR0cik7CisgICAg
ICAgIG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwgZm9udF93
ZWlnaHRBdHRyKTsKKyAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5h
bWVUb0lkTWFwLCBnbHlwaF9vcmllbnRhdGlvbl9ob3Jpem9udGFsQXR0cik7CisgICAgICAgIG1h
cEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwgZ2x5cGhfb3JpZW50
YXRpb25fdmVydGljYWxBdHRyKTsKKyAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShw
cm9wZXJ0eU5hbWVUb0lkTWFwLCBpbWFnZV9yZW5kZXJpbmdBdHRyKTsKKyAgICAgICAgbWFwQXR0
cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBrZXJuaW5nQXR0cik7Cisg
ICAgICAgIG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwgbGV0
dGVyX3NwYWNpbmdBdHRyKTsKKyAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9w
ZXJ0eU5hbWVUb0lkTWFwLCBsaWdodGluZ19jb2xvckF0dHIpOworICAgICAgICBtYXBBdHRyaWJ1
dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5TmFtZVRvSWRNYXAsIG1hcmtlcl9lbmRBdHRyKTsKKyAg
ICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBtYXJr
ZXJfbWlkQXR0cik7CisgICAgICAgIG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlO
YW1lVG9JZE1hcCwgbWFya2VyX3N0YXJ0QXR0cik7CisgICAgICAgIG1hcEF0dHJpYnV0ZVRvQ1NT
UHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwgbWFza0F0dHIpOworICAgICAgICBtYXBBdHRy
aWJ1dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5TmFtZVRvSWRNYXAsIG1hc2tfdHlwZUF0dHIpOwor
ICAgICAgICBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5TmFtZVRvSWRNYXAsIG9w
YWNpdHlBdHRyKTsKKyAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5h
bWVUb0lkTWFwLCBvdmVyZmxvd0F0dHIpOworICAgICAgICBtYXBBdHRyaWJ1dGVUb0NTU1Byb3Bl
cnR5KHByb3BlcnR5TmFtZVRvSWRNYXAsIHBvaW50ZXJfZXZlbnRzQXR0cik7CisgICAgICAgIG1h
cEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwgc2hhcGVfcmVuZGVy
aW5nQXR0cik7CisgICAgICAgIG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlOYW1l
VG9JZE1hcCwgc3RvcF9jb2xvckF0dHIpOworICAgICAgICBtYXBBdHRyaWJ1dGVUb0NTU1Byb3Bl
cnR5KHByb3BlcnR5TmFtZVRvSWRNYXAsIHN0b3Bfb3BhY2l0eUF0dHIpOworICAgICAgICBtYXBB
dHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5TmFtZVRvSWRNYXAsIHN0cm9rZUF0dHIpOwor
ICAgICAgICBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5TmFtZVRvSWRNYXAsIHN0
cm9rZV9kYXNoYXJyYXlBdHRyKTsKKyAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShw
cm9wZXJ0eU5hbWVUb0lkTWFwLCBzdHJva2VfZGFzaG9mZnNldEF0dHIpOworICAgICAgICBtYXBB
dHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5TmFtZVRvSWRNYXAsIHN0cm9rZV9saW5lY2Fw
QXR0cik7CisgICAgICAgIG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlOYW1lVG9J
ZE1hcCwgc3Ryb2tlX2xpbmVqb2luQXR0cik7CisgICAgICAgIG1hcEF0dHJpYnV0ZVRvQ1NTUHJv
cGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwgc3Ryb2tlX21pdGVybGltaXRBdHRyKTsKKyAgICAg
ICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBzdHJva2Vf
b3BhY2l0eUF0dHIpOworICAgICAgICBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5
TmFtZVRvSWRNYXAsIHN0cm9rZV93aWR0aEF0dHIpOworICAgICAgICBtYXBBdHRyaWJ1dGVUb0NT
U1Byb3BlcnR5KHByb3BlcnR5TmFtZVRvSWRNYXAsIHRleHRfYW5jaG9yQXR0cik7CisgICAgICAg
IG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwgdGV4dF9kZWNv
cmF0aW9uQXR0cik7CisgICAgICAgIG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlO
YW1lVG9JZE1hcCwgdGV4dF9yZW5kZXJpbmdBdHRyKTsKKyAgICAgICAgbWFwQXR0cmlidXRlVG9D
U1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCB0cmFuc2Zvcm1fb3JpZ2luQXR0cik7Cisg
ICAgICAgIG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwgdW5p
Y29kZV9iaWRpQXR0cik7CisgICAgICAgIG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVy
dHlOYW1lVG9JZE1hcCwgdmVjdG9yX2VmZmVjdEF0dHIpOworICAgICAgICBtYXBBdHRyaWJ1dGVU
b0NTU1Byb3BlcnR5KHByb3BlcnR5TmFtZVRvSWRNYXAsIHZpc2liaWxpdHlBdHRyKTsKKyAgICAg
ICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCB3b3JkX3Nw
YWNpbmdBdHRyKTsKKyAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5h
bWVUb0lkTWFwLCB3cml0aW5nX21vZGVBdHRyKTsKKyAgICB9CisKKyAgICByZXR1cm4gcHJvcGVy
dHlOYW1lVG9JZE1hcC0+Z2V0KGF0dHJOYW1lLmxvY2FsTmFtZSgpLmltcGwoKSk7Cit9CisKK2Jv
b2wgU1ZHRWxlbWVudDo6aXNBbmltYXRhYmxlQ1NTUHJvcGVydHkoY29uc3QgUXVhbGlmaWVkTmFt
ZSYgYXR0ck5hbWUpCit7CisgICAgcmV0dXJuIGNzc1Byb3BlcnR5VG9UeXBlTWFwKCkuY29udGFp
bnMoYXR0ck5hbWUpOworfQorCitib29sIFNWR0VsZW1lbnQ6OmlzUHJlc2VudGF0aW9uQXR0cmli
dXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUpIGNvbnN0Cit7CisgICAgaWYgKGNzc1Byb3Bl
cnR5SWRGb3JTVkdBdHRyaWJ1dGVOYW1lKG5hbWUpID4gMCkKKyAgICAgICAgcmV0dXJuIHRydWU7
CisgICAgcmV0dXJuIFN0eWxlZEVsZW1lbnQ6OmlzUHJlc2VudGF0aW9uQXR0cmlidXRlKG5hbWUp
OworfQorCit2b2lkIFNWR0VsZW1lbnQ6OmNvbGxlY3RTdHlsZUZvclByZXNlbnRhdGlvbkF0dHJp
YnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9taWNTdHJpbmcmIHZhbHVl
LCBNdXRhYmxlU3R5bGVQcm9wZXJ0eVNldCogc3R5bGUpCit7CisgICAgQ1NTUHJvcGVydHlJRCBw
cm9wZXJ0eUlEID0gY3NzUHJvcGVydHlJZEZvclNWR0F0dHJpYnV0ZU5hbWUobmFtZSk7CisgICAg
aWYgKHByb3BlcnR5SUQgPiAwKQorICAgICAgICBhZGRQcm9wZXJ0eVRvUHJlc2VudGF0aW9uQXR0
cmlidXRlU3R5bGUoc3R5bGUsIHByb3BlcnR5SUQsIHZhbHVlKTsKK30KKworYm9vbCBTVkdFbGVt
ZW50Ojppc0tub3duQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lKQorewor
ICAgIHJldHVybiBpc0lkQXR0cmlidXRlTmFtZShhdHRyTmFtZSk7Cit9CisKK3ZvaWQgU1ZHRWxl
bWVudDo6c3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSkK
K3sKKyAgICBDU1NQcm9wZXJ0eUlEIHByb3BJZCA9IGNzc1Byb3BlcnR5SWRGb3JTVkdBdHRyaWJ1
dGVOYW1lKGF0dHJOYW1lKTsKKyAgICBpZiAocHJvcElkID4gMCkgeworICAgICAgICBTVkdFbGVt
ZW50SW5zdGFuY2U6OmludmFsaWRhdGVBbGxJbnN0YW5jZXNPZkVsZW1lbnQodGhpcyk7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoYXR0ck5hbWUgPT0gSFRNTE5hbWVzOjpjbGFz
c0F0dHIpIHsKKyAgICAgICAgY2xhc3NBdHRyaWJ1dGVDaGFuZ2VkKGNsYXNzTmFtZSgpKTsKKyAg
ICAgICAgU1ZHRWxlbWVudEluc3RhbmNlOjppbnZhbGlkYXRlQWxsSW5zdGFuY2VzT2ZFbGVtZW50
KHRoaXMpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKGlzSWRBdHRyaWJ1dGVO
YW1lKGF0dHJOYW1lKSkgeworICAgICAgICBSZW5kZXJPYmplY3QqIG9iamVjdCA9IHJlbmRlcmVy
KCk7CisgICAgICAgIC8vIE5vdGlmeSByZXNvdXJjZXMgYWJvdXQgaWQgY2hhbmdlcywgdGhpcyBp
cyBpbXBvcnRhbnQgYXMgd2UgY2FjaGUgcmVzb3VyY2VzIGJ5IGlkIGluIFNWR0RvY3VtZW50RXh0
ZW5zaW9ucworICAgICAgICBpZiAob2JqZWN0ICYmIG9iamVjdC0+aXNTVkdSZXNvdXJjZUNvbnRh
aW5lcigpKQorICAgICAgICAgICAgb2JqZWN0LT50b1JlbmRlclNWR1Jlc291cmNlQ29udGFpbmVy
KCktPmlkQ2hhbmdlZCgpOworICAgICAgICBpZiAoaW5Eb2N1bWVudCgpKQorICAgICAgICAgICAg
YnVpbGRQZW5kaW5nUmVzb3VyY2VzSWZOZWVkZWQoKTsKKyAgICAgICAgU1ZHRWxlbWVudEluc3Rh
bmNlOjppbnZhbGlkYXRlQWxsSW5zdGFuY2VzT2ZFbGVtZW50KHRoaXMpOworICAgICAgICByZXR1
cm47CisgICAgfQorfQorCitOb2RlOjpJbnNlcnRpb25Ob3RpZmljYXRpb25SZXF1ZXN0IFNWR0Vs
ZW1lbnQ6Omluc2VydGVkSW50byhDb250YWluZXJOb2RlKiByb290UGFyZW50KQoreworICAgIFN0
eWxlZEVsZW1lbnQ6Omluc2VydGVkSW50byhyb290UGFyZW50KTsKKyAgICB1cGRhdGVSZWxhdGl2
ZUxlbmd0aHNJbmZvcm1hdGlvbigpOworICAgIGJ1aWxkUGVuZGluZ1Jlc291cmNlc0lmTmVlZGVk
KCk7CisgICAgcmV0dXJuIEluc2VydGlvbkRvbmU7Cit9CisKK3ZvaWQgU1ZHRWxlbWVudDo6YnVp
bGRQZW5kaW5nUmVzb3VyY2VzSWZOZWVkZWQoKQoreworICAgIERvY3VtZW50KiBkb2N1bWVudCA9
IHRoaXMtPmRvY3VtZW50KCk7CisgICAgaWYgKCFuZWVkc1BlbmRpbmdSZXNvdXJjZUhhbmRsaW5n
KCkgfHwgIWRvY3VtZW50IHx8ICFpbkRvY3VtZW50KCkgfHwgaXNJblNoYWRvd1RyZWUoKSkKKyAg
ICAgICAgcmV0dXJuOworCisgICAgU1ZHRG9jdW1lbnRFeHRlbnNpb25zKiBleHRlbnNpb25zID0g
ZG9jdW1lbnQtPmFjY2Vzc1NWR0V4dGVuc2lvbnMoKTsKKyAgICBTdHJpbmcgcmVzb3VyY2VJZCA9
IGdldElkQXR0cmlidXRlKCk7CisgICAgaWYgKCFleHRlbnNpb25zLT5oYXNQZW5kaW5nUmVzb3Vy
Y2UocmVzb3VyY2VJZCkpCisgICAgICAgIHJldHVybjsKKworICAgIC8vIE1hcmsgcGVuZGluZyBy
ZXNvdXJjZXMgYXMgcGVuZGluZyBmb3IgcmVtb3ZhbC4KKyAgICBleHRlbnNpb25zLT5tYXJrUGVu
ZGluZ1Jlc291cmNlc0ZvclJlbW92YWwocmVzb3VyY2VJZCk7CisKKyAgICAvLyBSZWJ1aWxkIHBl
bmRpbmcgcmVzb3VyY2VzIGZvciBlYWNoIGNsaWVudCBvZiBhIHBlbmRpbmcgcmVzb3VyY2UgdGhh
dCBpcyBiZWluZyByZW1vdmVkLgorICAgIHdoaWxlIChFbGVtZW50KiBjbGllbnRFbGVtZW50ID0g
ZXh0ZW5zaW9ucy0+cmVtb3ZlRWxlbWVudEZyb21QZW5kaW5nUmVzb3VyY2VzRm9yUmVtb3ZhbChy
ZXNvdXJjZUlkKSkgeworICAgICAgICBBU1NFUlQoY2xpZW50RWxlbWVudC0+aGFzUGVuZGluZ1Jl
c291cmNlcygpKTsKKyAgICAgICAgaWYgKGNsaWVudEVsZW1lbnQtPmhhc1BlbmRpbmdSZXNvdXJj
ZXMoKSkgeworICAgICAgICAgICAgY2xpZW50RWxlbWVudC0+YnVpbGRQZW5kaW5nUmVzb3VyY2Uo
KTsKKyAgICAgICAgICAgIGV4dGVuc2lvbnMtPmNsZWFySGFzUGVuZGluZ1Jlc291cmNlc0lmUG9z
c2libGUoY2xpZW50RWxlbWVudCk7CisgICAgICAgIH0KKyAgICB9Cit9CisKK3ZvaWQgU1ZHRWxl
bWVudDo6Y2hpbGRyZW5DaGFuZ2VkKGJvb2wgY2hhbmdlZEJ5UGFyc2VyLCBOb2RlKiBiZWZvcmVD
aGFuZ2UsIE5vZGUqIGFmdGVyQ2hhbmdlLCBpbnQgY2hpbGRDb3VudERlbHRhKQoreworICAgIFN0
eWxlZEVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZChjaGFuZ2VkQnlQYXJzZXIsIGJlZm9yZUNoYW5n
ZSwgYWZ0ZXJDaGFuZ2UsIGNoaWxkQ291bnREZWx0YSk7CisKKyAgICAvLyBJbnZhbGlkYXRlIGFs
bCBTVkdFbGVtZW50SW5zdGFuY2VzIGFzc29jaWF0ZWQgd2l0aCB1cworICAgIGlmICghY2hhbmdl
ZEJ5UGFyc2VyKQorICAgICAgICBTVkdFbGVtZW50SW5zdGFuY2U6OmludmFsaWRhdGVBbGxJbnN0
YW5jZXNPZkVsZW1lbnQodGhpcyk7Cit9CisKK1Bhc3NSZWZQdHI8Q1NTVmFsdWU+IFNWR0VsZW1l
bnQ6OmdldFByZXNlbnRhdGlvbkF0dHJpYnV0ZShjb25zdCBTdHJpbmcmIG5hbWUpCit7CisgICAg
aWYgKCFoYXNBdHRyaWJ1dGVzV2l0aG91dFVwZGF0ZSgpKQorICAgICAgICByZXR1cm4gMDsKKwor
ICAgIFF1YWxpZmllZE5hbWUgYXR0cmlidXRlTmFtZShudWxsQXRvbSwgbmFtZSwgbnVsbEF0b20p
OworICAgIGNvbnN0IEF0dHJpYnV0ZSogYXR0cmlidXRlID0gZmluZEF0dHJpYnV0ZUJ5TmFtZShh
dHRyaWJ1dGVOYW1lKTsKKyAgICBpZiAoIWF0dHJpYnV0ZSkKKyAgICAgICAgcmV0dXJuIDA7CisK
KyAgICBSZWZQdHI8TXV0YWJsZVN0eWxlUHJvcGVydHlTZXQ+IHN0eWxlID0gTXV0YWJsZVN0eWxl
UHJvcGVydHlTZXQ6OmNyZWF0ZShTVkdBdHRyaWJ1dGVNb2RlKTsKKyAgICBDU1NQcm9wZXJ0eUlE
IHByb3BlcnR5SUQgPSBjc3NQcm9wZXJ0eUlkRm9yU1ZHQXR0cmlidXRlTmFtZShhdHRyaWJ1dGUt
Pm5hbWUoKSk7CisgICAgc3R5bGUtPnNldFByb3BlcnR5KHByb3BlcnR5SUQsIGF0dHJpYnV0ZS0+
dmFsdWUoKSk7CisgICAgUmVmUHRyPENTU1ZhbHVlPiBjc3NWYWx1ZSA9IHN0eWxlLT5nZXRQcm9w
ZXJ0eUNTU1ZhbHVlKHByb3BlcnR5SUQpOworICAgIHJldHVybiBjc3NWYWx1ZSA/IGNzc1ZhbHVl
LT5jbG9uZUZvckNTU09NKCkgOiAwOworfQorCitib29sIFNWR0VsZW1lbnQ6Omluc3RhbmNlVXBk
YXRlc0Jsb2NrZWQoKSBjb25zdAoreworICAgIHJldHVybiBoYXNTVkdSYXJlRGF0YSgpICYmIHN2
Z1JhcmVEYXRhKCktPmluc3RhbmNlVXBkYXRlc0Jsb2NrZWQoKTsKK30KKwordm9pZCBTVkdFbGVt
ZW50OjpzZXRJbnN0YW5jZVVwZGF0ZXNCbG9ja2VkKGJvb2wgdmFsdWUpCit7CisgICAgaWYgKGhh
c1NWR1JhcmVEYXRhKCkpCisgICAgICAgIHN2Z1JhcmVEYXRhKCktPnNldEluc3RhbmNlVXBkYXRl
c0Jsb2NrZWQodmFsdWUpOworfQorCitBZmZpbmVUcmFuc2Zvcm0gU1ZHRWxlbWVudDo6bG9jYWxD
b29yZGluYXRlU3BhY2VUcmFuc2Zvcm0oU1ZHTG9jYXRhYmxlOjpDVE1TY29wZSkgY29uc3QKK3sK
KyAgICAvLyBUbyBiZSBvdmVycmlkZW4gYnkgU1ZHR3JhcGhpY3NFbGVtZW50IChvciBhcyBzcGVj
aWFsIGNhc2UgU1ZHVGV4dEVsZW1lbnQgYW5kIFNWR1BhdHRlcm5FbGVtZW50KQorICAgIHJldHVy
biBBZmZpbmVUcmFuc2Zvcm0oKTsKK30KKwordm9pZCBTVkdFbGVtZW50Ojp1cGRhdGVSZWxhdGl2
ZUxlbmd0aHNJbmZvcm1hdGlvbihib29sIGhhc1JlbGF0aXZlTGVuZ3RocywgU1ZHRWxlbWVudCog
ZWxlbWVudCkKK3sKKyAgICAvLyBJZiB3ZSdyZSBub3QgeWV0IGluIGEgZG9jdW1lbnQsIHRoaXMg
ZnVuY3Rpb24gd2lsbCBiZSBjYWxsZWQgYWdhaW4gZnJvbSBpbnNlcnRlZEludG8oKS4gRG8gbm90
aGluZyBub3cuCisgICAgaWYgKCFpbkRvY3VtZW50KCkpCisgICAgICAgIHJldHVybjsKKworICAg
IC8vIEFuIGVsZW1lbnQgd2FudHMgdG8gbm90aWZ5IHVzIHRoYXQgaXRzIG93biByZWxhdGl2ZSBs
ZW5ndGhzIHN0YXRlIGNoYW5nZWQuCisgICAgLy8gUmVnaXN0ZXIgaXQgaW4gdGhlIHJlbGF0aXZl
IGxlbmd0aCBtYXAsIGFuZCByZWdpc3RlciB1cyBpbiB0aGUgcGFyZW50IHJlbGF0aXZlIGxlbmd0
aCBtYXAuCisgICAgLy8gUmVnaXN0ZXIgdGhlIHBhcmVudCBpbiB0aGUgZ3JhbmRwYXJlbnRzIG1h
cCwgZXRjLiBSZXBlYXQgcHJvY2VkdXJlIHVudGlsIHRoZSByb290IG9mIHRoZSBTVkcgdHJlZS4K
KworICAgIGlmIChoYXNSZWxhdGl2ZUxlbmd0aHMpCisgICAgICAgIG1fZWxlbWVudHNXaXRoUmVs
YXRpdmVMZW5ndGhzLmFkZChlbGVtZW50KTsKKyAgICBlbHNlIHsKKyAgICAgICAgaWYgKCFtX2Vs
ZW1lbnRzV2l0aFJlbGF0aXZlTGVuZ3Rocy5jb250YWlucyhlbGVtZW50KSkgeworICAgICAgICAg
ICAgLy8gV2Ugd2VyZSBuZXZlciByZWdpc3RlcmVkLiBEbyBub3RoaW5nLgorICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgbV9lbGVtZW50c1dpdGhSZWxhdGl2ZUxlbmd0
aHMucmVtb3ZlKGVsZW1lbnQpOworICAgIH0KKworICAgIC8vIEZpbmQgZmlyc3Qgc3R5bGVkIHBh
cmVudCBub2RlLCBhbmQgbm90aWZ5IGl0IHRoYXQgd2UndmUgY2hhbmdlZCBvdXIgcmVsYXRpdmUg
bGVuZ3RoIHN0YXRlLgorICAgIENvbnRhaW5lck5vZGUqIG5vZGUgPSBwYXJlbnROb2RlKCk7Cisg
ICAgd2hpbGUgKG5vZGUpIHsKKyAgICAgICAgaWYgKCFub2RlLT5pc1NWR0VsZW1lbnQoKSkKKyAg
ICAgICAgICAgIGJyZWFrOworCisgICAgICAgIC8vIFJlZ2lzdGVyIHVzIGluIHRoZSBwYXJlbnQg
ZWxlbWVudCBtYXAuCisgICAgICAgIHRvU1ZHRWxlbWVudChub2RlKS0+dXBkYXRlUmVsYXRpdmVM
ZW5ndGhzSW5mb3JtYXRpb24oaGFzUmVsYXRpdmVMZW5ndGhzLCB0aGlzKTsKKyAgICAgICAgYnJl
YWs7CisgICAgfQorfQorCitib29sIFNWR0VsZW1lbnQ6OmlzTW91c2VGb2N1c2FibGUoKSBjb25z
dAoreworICAgIGlmICghaXNGb2N1c2FibGUoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
IEVsZW1lbnQqIGV2ZW50VGFyZ2V0ID0gY29uc3RfY2FzdDxTVkdFbGVtZW50Kj4odGhpcyk7Cisg
ICAgcmV0dXJuIGV2ZW50VGFyZ2V0LT5oYXNFdmVudExpc3RlbmVycyhldmVudE5hbWVzKCkuZm9j
dXNpbkV2ZW50KSB8fCBldmVudFRhcmdldC0+aGFzRXZlbnRMaXN0ZW5lcnMoZXZlbnROYW1lcygp
LmZvY3Vzb3V0RXZlbnQpOworfQorCitib29sIFNWR0VsZW1lbnQ6OmlzS2V5Ym9hcmRGb2N1c2Fi
bGUoS2V5Ym9hcmRFdmVudCopIGNvbnN0Cit7CisgICAgcmV0dXJuIGlzTW91c2VGb2N1c2FibGUo
KTsKK30KKwogfQogCiAjZW5kaWYgLy8gRU5BQkxFKFNWRykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5o
CmluZGV4IDc1ZTA1Zjk4ZDM2M2VkMDFmYzA5YzZlZGEzNGU1NTJhNjAzYjI4ZTEuLmY4MzM1MjE0
NDI2NjU4NjY0M2I2ZDkwMTVmYjMyZTVjNWNmN2U2ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQu
aApAQCAtMSw3ICsxLDggQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYs
IDIwMDggTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+Ci0gKiBDb3B5cmln
aHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYgUm9iIEJ1aXMgPGJ1aXNAa2RlLm9yZz4KKyAqIENvcHly
aWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNyBSb2IgQnVpcyA8YnVpc0BrZGUub3JnPgog
ICogQ29weXJpZ2h0IChDKSAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IENvcHlyaWdodCAoQykgMjAxMyBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz
dHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO
VSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0yMyw2ICsyNCw4IEBACiAjZGVmaW5lIFNWR0Vs
ZW1lbnRfaAogCiAjaWYgRU5BQkxFKFNWRykKKyNpbmNsdWRlICJDU1NQcm9wZXJ0eU5hbWVzLmgi
CisjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRTdHJpbmcuaCIKICNpbmNsdWRlICJTVkdMYW5nU3BhY2Uu
aCIKICNpbmNsdWRlICJTVkdMb2NhdGFibGUuaCIKICNpbmNsdWRlICJTVkdQYXJzaW5nRXJyb3Iu
aCIKQEAgLTMwLDExICszMywxNSBAQAogI2luY2x1ZGUgIlN0eWxlZEVsZW1lbnQuaCIKICNpbmNs
dWRlICJUaW1lci5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CisjaW5jbHVkZSA8d3RmL0hh
c2hTZXQuaD4KKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIGNsYXNzIEFmZmluZVRyYW5zZm9ybTsKIGNsYXNzIENTU0N1cnNvckltYWdlVmFsdWU7
CitjbGFzcyBDU1NTdHlsZURlY2xhcmF0aW9uOworY2xhc3MgQ1NTVmFsdWU7CiBjbGFzcyBEb2N1
bWVudDsKIGNsYXNzIFNWR0F0dHJpYnV0ZVRvUHJvcGVydHlNYXA7CiBjbGFzcyBTVkdDdXJzb3JF
bGVtZW50OwpAQCAtNDMsNiArNTAsOCBAQCBjbGFzcyBTVkdFbGVtZW50SW5zdGFuY2U7CiBjbGFz
cyBTVkdFbGVtZW50UmFyZURhdGE7CiBjbGFzcyBTVkdTVkdFbGVtZW50OwogCit2b2lkIG1hcEF0
dHJpYnV0ZVRvQ1NTUHJvcGVydHkoSGFzaE1hcDxBdG9taWNTdHJpbmdJbXBsKiwgQ1NTUHJvcGVy
dHlJRD4qIHByb3BlcnR5TmFtZVRvSWRNYXAsIGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1l
KTsKKwogY2xhc3MgU1ZHRWxlbWVudCA6IHB1YmxpYyBTdHlsZWRFbGVtZW50LCBwdWJsaWMgU1ZH
TGFuZ1NwYWNlIHsKIHB1YmxpYzoKICAgICBib29sIGlzT3V0ZXJtb3N0U1ZHU1ZHRWxlbWVudCgp
IGNvbnN0OwpAQCAtNTMsOSArNjIsMTkgQEAgcHVibGljOgogICAgIFNWR1NWR0VsZW1lbnQqIG93
bmVyU1ZHRWxlbWVudCgpIGNvbnN0OwogICAgIFNWR0VsZW1lbnQqIHZpZXdwb3J0RWxlbWVudCgp
IGNvbnN0OwogCisgICAgdmlydHVhbCBTdHJpbmcgdGl0bGUoKSBjb25zdCBPVkVSUklERTsKKyAg
ICBzdGF0aWMgYm9vbCBpc0FuaW1hdGFibGVDU1NQcm9wZXJ0eShjb25zdCBRdWFsaWZpZWROYW1l
Jik7CisgICAgYm9vbCBpc0tub3duQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKKyAg
ICBQYXNzUmVmUHRyPENTU1ZhbHVlPiBnZXRQcmVzZW50YXRpb25BdHRyaWJ1dGUoY29uc3QgU3Ry
aW5nJiBuYW1lKTsKKyAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNNYXJrZXJzKCkgY29uc3QgeyBy
ZXR1cm4gZmFsc2U7IH0KKyAgICBib29sIGhhc1JlbGF0aXZlTGVuZ3RocygpIGNvbnN0IHsgcmV0
dXJuICFtX2VsZW1lbnRzV2l0aFJlbGF0aXZlTGVuZ3Rocy5pc0VtcHR5KCk7IH0KKyAgICB2aXJ0
dWFsIGJvb2wgbmVlZHNQZW5kaW5nUmVzb3VyY2VIYW5kbGluZygpIGNvbnN0IHsgcmV0dXJuIHRy
dWU7IH0KKyAgICBib29sIGluc3RhbmNlVXBkYXRlc0Jsb2NrZWQoKSBjb25zdDsKKyAgICB2b2lk
IHNldEluc3RhbmNlVXBkYXRlc0Jsb2NrZWQoYm9vbCk7CisgICAgdmlydHVhbCBBZmZpbmVUcmFu
c2Zvcm0gbG9jYWxDb29yZGluYXRlU3BhY2VUcmFuc2Zvcm0oU1ZHTG9jYXRhYmxlOjpDVE1TY29w
ZSkgY29uc3Q7CisKICAgICBTVkdEb2N1bWVudEV4dGVuc2lvbnMqIGFjY2Vzc0RvY3VtZW50U1ZH
RXh0ZW5zaW9ucygpOwogCi0gICAgdmlydHVhbCBib29sIGlzU1ZHU3R5bGVkRWxlbWVudCgpIGNv
bnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIGlzU1ZHR3JhcGhpY3NFbGVt
ZW50KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNTVkdTVkdF
bGVtZW50KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNGaWx0
ZXJFZmZlY3QoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQpAQCAtNjUsNyArODQsNyBAQCBwdWJs
aWM6CiAgICAgLy8gRm9yIFNWR1Rlc3RzCiAgICAgdmlydHVhbCBib29sIGlzVmFsaWQoKSBjb25z
dCB7IHJldHVybiB0cnVlOyB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdl
ZChjb25zdCBRdWFsaWZpZWROYW1lJikgeyB9CisgICAgdmlydHVhbCB2b2lkIHN2Z0F0dHJpYnV0
ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYpOwogCiAgICAgdmlydHVhbCB2b2lkIGFuaW1h
dGVkUHJvcGVydHlUeXBlRm9yQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBWZWN0b3I8
QW5pbWF0ZWRQcm9wZXJ0eVR5cGU+Jik7CiAKQEAgLTEwMiw4ICsxMjEsNiBAQCBwdWJsaWM6CiAg
ICAgdmlydHVhbCB2b2lkIHN5bmNocm9uaXplUmVxdWlyZWRFeHRlbnNpb25zKCkgeyB9CiAgICAg
dmlydHVhbCB2b2lkIHN5bmNocm9uaXplU3lzdGVtTGFuZ3VhZ2UoKSB7IH0KIAotICAgIHZpcnR1
YWwgU1ZHQXR0cmlidXRlVG9Qcm9wZXJ0eU1hcCYgbG9jYWxBdHRyaWJ1dGVUb1Byb3BlcnR5TWFw
KCk7Ci0KICNpZm5kZWYgTkRFQlVHCiAgICAgYm9vbCBpc0FuaW1hdGFibGVBdHRyaWJ1dGUoY29u
c3QgUXVhbGlmaWVkTmFtZSYpIGNvbnN0OwogI2VuZGlmCkBAIC0xMjUsNiArMTQyLDcgQEAgcHJv
dGVjdGVkOgogICAgIFNWR0VsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7
CiAgICAgdmlydHVhbCB+U1ZHRWxlbWVudCgpOwogCisgICAgdmlydHVhbCBib29sIHJlbmRlcmVy
SXNOZWVkZWQoY29uc3QgUmVuZGVyU3R5bGUmKTsKICAgICB2aXJ0dWFsIHZvaWQgcGFyc2VBdHRy
aWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYpIE9WRVJSSURF
OwogCiAgICAgdmlydHVhbCB2b2lkIGZpbmlzaFBhcnNpbmdDaGlsZHJlbigpOwpAQCAtMTM3LDYg
KzE1NSwxNSBAQCBwcm90ZWN0ZWQ6CiAgICAgU1ZHRWxlbWVudFJhcmVEYXRhJiBlbnN1cmVTVkdS
YXJlRGF0YSgpOwogCiAgICAgdm9pZCByZXBvcnRBdHRyaWJ1dGVQYXJzaW5nRXJyb3IoU1ZHUGFy
c2luZ0Vycm9yLCBjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJik7Cisg
ICAgc3RhdGljIENTU1Byb3BlcnR5SUQgY3NzUHJvcGVydHlJZEZvclNWR0F0dHJpYnV0ZU5hbWUo
Y29uc3QgUXVhbGlmaWVkTmFtZSYpOworCisgICAgdmlydHVhbCBib29sIGlzUHJlc2VudGF0aW9u
QXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0
dWFsIHZvaWQgY29sbGVjdFN0eWxlRm9yUHJlc2VudGF0aW9uQXR0cmlidXRlKGNvbnN0IFF1YWxp
ZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmLCBNdXRhYmxlU3R5bGVQcm9wZXJ0eVNldCop
IE9WRVJSSURFOworICAgIHZpcnR1YWwgSW5zZXJ0aW9uTm90aWZpY2F0aW9uUmVxdWVzdCBpbnNl
cnRlZEludG8oQ29udGFpbmVyTm9kZSopIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBjaGls
ZHJlbkNoYW5nZWQoYm9vbCBjaGFuZ2VkQnlQYXJzZXIgPSBmYWxzZSwgTm9kZSogYmVmb3JlQ2hh
bmdlID0gMCwgTm9kZSogYWZ0ZXJDaGFuZ2UgPSAwLCBpbnQgY2hpbGRDb3VudERlbHRhID0gMCk7
CisgICAgdmlydHVhbCBib29sIHNlbGZIYXNSZWxhdGl2ZUxlbmd0aHMoKSBjb25zdCB7IHJldHVy
biBmYWxzZTsgfQorICAgIHZvaWQgdXBkYXRlUmVsYXRpdmVMZW5ndGhzSW5mb3JtYXRpb24oKSB7
IHVwZGF0ZVJlbGF0aXZlTGVuZ3Roc0luZm9ybWF0aW9uKHNlbGZIYXNSZWxhdGl2ZUxlbmd0aHMo
KSwgdGhpcyk7IH0KKyAgICB2b2lkIHVwZGF0ZVJlbGF0aXZlTGVuZ3Roc0luZm9ybWF0aW9uKGJv
b2wgaGFzUmVsYXRpdmVMZW5ndGhzLCBTVkdFbGVtZW50Kik7CiAKIHByaXZhdGU6CiAgICAgZnJp
ZW5kIGNsYXNzIFNWR0VsZW1lbnRJbnN0YW5jZTsKQEAgLTE0OSwxMyArMTc2LDIxIEBAIHByaXZh
dGU6CiAgICAgdmlydHVhbCBSZW5kZXJTdHlsZSogdmlydHVhbENvbXB1dGVkU3R5bGUoUHNldWRv
SWQgcHNldWRvRWxlbWVudFNwZWNpZmllciA9IE5PUFNFVURPKSB7IHJldHVybiBjb21wdXRlZFN0
eWxlKHBzZXVkb0VsZW1lbnRTcGVjaWZpZXIpOyB9CiAgICAgdmlydHVhbCBib29sIHdpbGxSZWNh
bGNTdHlsZShTdHlsZTo6Q2hhbmdlKTsKIAotICAgIHZpcnR1YWwgYm9vbCByZW5kZXJlcklzTmVl
ZGVkKGNvbnN0IFJlbmRlclN0eWxlJikgeyByZXR1cm4gZmFsc2U7IH0KLQogICAgIHZpcnR1YWwg
Ym9vbCBpc1N1cHBvcnRlZChTdHJpbmdJbXBsKiBmZWF0dXJlLCBTdHJpbmdJbXBsKiB2ZXJzaW9u
KSBjb25zdDsKIAogICAgIHZvaWQgbWFwSW5zdGFuY2VUb0VsZW1lbnQoU1ZHRWxlbWVudEluc3Rh
bmNlKik7CiAgICAgdm9pZCByZW1vdmVJbnN0YW5jZU1hcHBpbmcoU1ZHRWxlbWVudEluc3RhbmNl
Kik7CiAKKyAgICB2b2lkIGJ1aWxkUGVuZGluZ1Jlc291cmNlc0lmTmVlZGVkKCk7CisgICAgdmly
dHVhbCBib29sIGlzS2V5Ym9hcmRGb2N1c2FibGUoS2V5Ym9hcmRFdmVudCopIGNvbnN0IE9WRVJS
SURFOworICAgIHZpcnR1YWwgYm9vbCBpc01vdXNlRm9jdXNhYmxlKCkgY29uc3QgT1ZFUlJJREU7
CisKKyAgICBIYXNoU2V0PFNWR0VsZW1lbnQqPiBtX2VsZW1lbnRzV2l0aFJlbGF0aXZlTGVuZ3Ro
czsKKworICAgIEJFR0lOX0RFQ0xBUkVfQU5JTUFURURfUFJPUEVSVElFUyhTVkdFbGVtZW50KQor
ICAgICAgICBERUNMQVJFX0FOSU1BVEVEX1NUUklORyhDbGFzc05hbWUsIGNsYXNzTmFtZSkKKyAg
ICBFTkRfREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUSUVTCisKIH07CiAKIHN0cnVjdCBTVkdBdHRy
aWJ1dGVIYXNoVHJhbnNsYXRvciB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
RWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5pZGwKaW5kZXggZWNl
ZjI4MTIxNjhjMzM1YWU1ODRiYWM2YWU2YzNhNTBiMzRmNTRiMC4uMjRmMDY3YjkyNjdmMGY0YmU2
ZDQyZTFlMDliNDhkY2E3NmRmZmM3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0VsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmlkbApAQCAt
MzAsNSArMzAsMTAgQEAKIAogICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgeG1sbGFuZzsKICAgICBh
dHRyaWJ1dGUgRE9NU3RyaW5nIHhtbHNwYWNlOworCisgICAgcmVhZG9ubHkgYXR0cmlidXRlIFNW
R0FuaW1hdGVkU3RyaW5nIGNsYXNzTmFtZTsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgQ1NTU3R5
bGVEZWNsYXJhdGlvbiBzdHlsZTsKKworICAgIENTU1ZhbHVlIGdldFByZXNlbnRhdGlvbkF0dHJp
YnV0ZShbRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIERPTVN0cmluZyBuYW1lKTsKIH07CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50SW5zdGFuY2UuY3BwIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5jcHAKaW5kZXggYzNjNjI1YjZk
YjRlZmUzNDNiNzY4MDAxMTRkZmQzZTMxYjQyYjljZS4uODlkYTJiOWFiZGI2NDkzNDUwMTFlYTkz
MzU2MzA4MWI0ZjA1ODIyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1l
bnRJbnN0YW5jZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRJbnN0YW5j
ZS5jcHAKQEAgLTE4NSw3ICsxODUsNyBAQCB2b2lkIFNWR0VsZW1lbnRJbnN0YW5jZTo6aW52YWxp
ZGF0ZUFsbEluc3RhbmNlc09mRWxlbWVudChTVkdFbGVtZW50KiBlbGVtZW50KQogICAgIGlmICgh
ZWxlbWVudCB8fCAhZWxlbWVudC0+aW5Eb2N1bWVudCgpKQogICAgICAgICByZXR1cm47CiAKLSAg
ICBpZiAoZWxlbWVudC0+aXNTVkdTdHlsZWRFbGVtZW50KCkgJiYgdG9TVkdTdHlsZWRFbGVtZW50
KGVsZW1lbnQpLT5pbnN0YW5jZVVwZGF0ZXNCbG9ja2VkKCkpCisgICAgaWYgKGVsZW1lbnQtPmlu
c3RhbmNlVXBkYXRlc0Jsb2NrZWQoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgY29uc3QgSGFz
aFNldDxTVkdFbGVtZW50SW5zdGFuY2UqPiYgc2V0ID0gZWxlbWVudC0+aW5zdGFuY2VzRm9yRWxl
bWVudCgpOwpAQCAtMjU5LDcgKzI1OSw3IEBAIEV2ZW50VGFyZ2V0RGF0YSYgU1ZHRWxlbWVudElu
c3RhbmNlOjplbnN1cmVFdmVudFRhcmdldERhdGEoKQogfQogCiBTVkdFbGVtZW50SW5zdGFuY2U6
Okluc3RhbmNlVXBkYXRlQmxvY2tlcjo6SW5zdGFuY2VVcGRhdGVCbG9ja2VyKFNWR0VsZW1lbnQq
IHRhcmdldEVsZW1lbnQpCi0gICAgOiBtX3RhcmdldEVsZW1lbnQodGFyZ2V0RWxlbWVudC0+aXNT
VkdTdHlsZWRFbGVtZW50KCkgPyB0b1NWR1N0eWxlZEVsZW1lbnQodGFyZ2V0RWxlbWVudCkgOiAw
KQorICAgIDogbV90YXJnZXRFbGVtZW50KHRhcmdldEVsZW1lbnQpCiB7CiAgICAgaWYgKG1fdGFy
Z2V0RWxlbWVudCkKICAgICAgICAgbV90YXJnZXRFbGVtZW50LT5zZXRJbnN0YW5jZVVwZGF0ZXNC
bG9ja2VkKHRydWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRJ
bnN0YW5jZS5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5oCmluZGV4
IGIzMGQzNWQ2M2ExMmEzMDY4MGZlZTA5NzBhNzNiZjI0Yzg2M2I5MTguLjQwYjA4YWM0NWE2MzRj
MDMyZWE4MDg5YjQwMGE5ZGI1YzIwMDUxMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdFbGVtZW50SW5zdGFuY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVu
dEluc3RhbmNlLmgKQEAgLTM1LDcgKzM1LDcgQEAgdm9pZCBhZGRDaGlsZE5vZGVzVG9EZWxldGlv
blF1ZXVlKEdlbmVyaWNOb2RlKiYgaGVhZCwgR2VuZXJpY05vZGUqJiB0YWlsLCBHZW5lcmkKIGNs
YXNzIERvY3VtZW50OwogY2xhc3MgU1ZHRWxlbWVudDsKIGNsYXNzIFNWR0VsZW1lbnRJbnN0YW5j
ZUxpc3Q7Ci1jbGFzcyBTVkdTdHlsZWRFbGVtZW50OworY2xhc3MgU1ZHRWxlbWVudDsKIGNsYXNz
IFNWR1VzZUVsZW1lbnQ7CiAKIC8vIFNWR0VsZW1lbnRJbnN0YW5jZSBtaW1pY3MgTm9kZSwgYnV0
IHdpdGhvdXQgcHJvdmlkaW5nIGFsbCBpdHMgZnVuY3Rpb25hbGl0eQpAQCAtOTEsNyArOTEsNyBA
QCBwdWJsaWM6CiAgICAgICAgIH5JbnN0YW5jZVVwZGF0ZUJsb2NrZXIoKTsKIAogICAgIHByaXZh
dGU6Ci0gICAgICAgIFNWR1N0eWxlZEVsZW1lbnQqIG1fdGFyZ2V0RWxlbWVudDsKKyAgICAgICAg
U1ZHRWxlbWVudCogbV90YXJnZXRFbGVtZW50OwogICAgIH07CiAgICAgCiAgICAgc3RhdGljIHZv
aWQgaW52YWxpZGF0ZUFsbEluc3RhbmNlc09mRWxlbWVudChTVkdFbGVtZW50Kik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVCbGVuZEVsZW1lbnQuaWRsIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0ZFQmxlbmRFbGVtZW50LmlkbAppbmRleCBkNzBmMjk3YzE5NWJlNmNmNTM1
ZjljYmM0OGY2YTcxMmIyNmRjMjEyLi40ODMzNGUxYjRiY2I4Yjg2OWQ5MWRlZDM3MDhmNGQ1ZDAx
NWNiNmVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVCbGVuZEVsZW1lbnQu
aWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUJsZW5kRWxlbWVudC5pZGwKQEAgLTI2
LDcgKzI2LDcgQEAKIFsKICAgICBDb25kaXRpb25hbD1TVkcmRklMVEVSUywKICAgICBEb05vdENo
ZWNrQ29uc3RhbnRzCi1dIGludGVyZmFjZSBTVkdGRUJsZW5kRWxlbWVudCA6IFNWR1N0eWxlZEVs
ZW1lbnQgeworXSBpbnRlcmZhY2UgU1ZHRkVCbGVuZEVsZW1lbnQgOiBTVkdFbGVtZW50IHsKICAg
ICAvLyBCbGVuZCBNb2RlIFR5cGVzCiAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgU1ZHX0ZFQkxF
TkRfTU9ERV9VTktOT1dOICA9IDA7CiAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgU1ZHX0ZFQkxF
TkRfTU9ERV9OT1JNQUwgICA9IDE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
RkVDb2xvck1hdHJpeEVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQ29sb3JN
YXRyaXhFbGVtZW50LmlkbAppbmRleCA2NTZlZTQwMjQ4M2ZkMWQ5M2IzYTMxNDVkMTA0YzcwNTk5
NWFhMTI1Li5mZTJkZTUwNjZmZmRmNGY3ODk2OWFjNmU3ZWE3N2MwZTk3YWRlZTM1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQuaWRsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUNvbG9yTWF0cml4RWxlbWVudC5pZGwKQEAgLTI2LDcg
KzI2LDcgQEAKIFsKICAgICBDb25kaXRpb25hbD1TVkcmRklMVEVSUywKICAgICBEb05vdENoZWNr
Q29uc3RhbnRzCi1dIGludGVyZmFjZSBTVkdGRUNvbG9yTWF0cml4RWxlbWVudCA6IFNWR1N0eWxl
ZEVsZW1lbnQgeworXSBpbnRlcmZhY2UgU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQgOiBTVkdFbGVt
ZW50IHsKICAgICAvLyBDb2xvciBNYXRyaXggVHlwZXMKICAgICBjb25zdCB1bnNpZ25lZCBzaG9y
dCBTVkdfRkVDT0xPUk1BVFJJWF9UWVBFX1VOS05PV04gICAgICAgICAgPSAwOwogICAgIGNvbnN0
IHVuc2lnbmVkIHNob3J0IFNWR19GRUNPTE9STUFUUklYX1RZUEVfTUFUUklYICAgICAgICAgICA9
IDE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVDb21wb25lbnRUcmFuc2Zl
ckVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQ29tcG9uZW50VHJhbnNmZXJF
bGVtZW50LmlkbAppbmRleCA1MDUyNTQ5ZjlmZmQ2NThjOWZlY2VjYmFhMzk5ZTBlZDljODNiYjA3
Li44NGZlOTM4OGVkMDc5NmQ4YTIzNDE2MDRjNWEyYWIzNGRmYTAzNDVjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVDb21wb25lbnRUcmFuc2ZlckVsZW1lbnQuaWRsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUNvbXBvbmVudFRyYW5zZmVyRWxlbWVudC5pZGwKQEAg
LTI1LDcgKzI1LDcgQEAKIAogWwogICAgIENvbmRpdGlvbmFsPVNWRyZGSUxURVJTCi1dIGludGVy
ZmFjZSBTVkdGRUNvbXBvbmVudFRyYW5zZmVyRWxlbWVudCA6IFNWR1N0eWxlZEVsZW1lbnQgewor
XSBpbnRlcmZhY2UgU1ZHRkVDb21wb25lbnRUcmFuc2ZlckVsZW1lbnQgOiBTVkdFbGVtZW50IHsK
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgU1ZHQW5pbWF0ZWRTdHJpbmcgaW4xOwogfTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQ29tcG9zaXRlRWxlbWVudC5pZGwgYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVDb21wb3NpdGVFbGVtZW50LmlkbAppbmRleCBhNjRjYzQ3
YWFjMGVlMGY4NjFjOWYwOGMyYmJmYWE4NmMwMzA1ZjM4Li44MDIyNjk4MDUyOTQ0ZjA3YmUzYzMy
NWQyMTUwNDM0NjYxNjAzYjUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVD
b21wb3NpdGVFbGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVDb21wb3Np
dGVFbGVtZW50LmlkbApAQCAtMjYsNyArMjYsNyBAQAogWwogICAgIENvbmRpdGlvbmFsPVNWRyZG
SUxURVJTLAogICAgIERvTm90Q2hlY2tDb25zdGFudHMKLV0gaW50ZXJmYWNlIFNWR0ZFQ29tcG9z
aXRlRWxlbWVudCA6IFNWR1N0eWxlZEVsZW1lbnQgeworXSBpbnRlcmZhY2UgU1ZHRkVDb21wb3Np
dGVFbGVtZW50IDogU1ZHRWxlbWVudCB7CiAgICAgLy8gQ29tcG9zaXRlIE9wZXJhdG9ycwogICAg
IGNvbnN0IHVuc2lnbmVkIHNob3J0IFNWR19GRUNPTVBPU0lURV9PUEVSQVRPUl9VTktOT1dOICAg
ID0gMDsKICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBTVkdfRkVDT01QT1NJVEVfT1BFUkFUT1Jf
T1ZFUiAgICAgICA9IDE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVDb252
b2x2ZU1hdHJpeEVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQ29udm9sdmVN
YXRyaXhFbGVtZW50LmlkbAppbmRleCBmY2Q4YzU3ZWNjMGI3ZTVmNzAwYWJlOGRmZGJlZTUxN2Zk
YzUzOTkwLi4yNzU1ODJhMmZjNWE0MGQ1YWFkODFjNTMwZmFmNTllNWM1NmFjZGM4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQuaWRsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVudC5pZGwKQEAg
LTI2LDcgKzI2LDcgQEAKIFsKICAgICBDb25kaXRpb25hbD1TVkcmRklMVEVSUywKICAgICBEb05v
dENoZWNrQ29uc3RhbnRzCi1dIGludGVyZmFjZSBTVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVudCA6
IFNWR1N0eWxlZEVsZW1lbnQgeworXSBpbnRlcmZhY2UgU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1l
bnQgOiBTVkdFbGVtZW50IHsKICAgICAvLyBFZGdlIE1vZGUgVmFsdWVzCiAgICAgY29uc3QgdW5z
aWduZWQgc2hvcnQgU1ZHX0VER0VNT0RFX1VOS05PV04gICA9IDA7CiAgICAgY29uc3QgdW5zaWdu
ZWQgc2hvcnQgU1ZHX0VER0VNT0RFX0RVUExJQ0FURSA9IDE7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdGRURpZmZ1c2VMaWdodGluZ0VsZW1lbnQuaWRsCmluZGV4IGM0MzY2Njk0Yzc0
NzQxMzYxYTkyN2RlNjE5OTA2ZmU3OWYwYjI1YWYuLmY1ZDJlY2MwNmRiMzRlYjAwY2NiYzgzMDRj
M2U3ZDhjMDIyNTdhMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRURpZmZ1
c2VMaWdodGluZ0VsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRURpZmZ1
c2VMaWdodGluZ0VsZW1lbnQuaWRsCkBAIC0yNSw3ICsyNSw3IEBACiAKIFsKICAgICBDb25kaXRp
b25hbD1TVkcmRklMVEVSUwotXSBpbnRlcmZhY2UgU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50
IDogU1ZHU3R5bGVkRWxlbWVudCB7CitdIGludGVyZmFjZSBTVkdGRURpZmZ1c2VMaWdodGluZ0Vs
ZW1lbnQgOiBTVkdFbGVtZW50IHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgU1ZHQW5pbWF0ZWRT
dHJpbmcgaW4xOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTVkdBbmltYXRlZE51bWJlciBzdXJm
YWNlU2NhbGU7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFNWR0FuaW1hdGVkTnVtYmVyIGRpZmZ1
c2VDb25zdGFudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRURpc3BsYWNl
bWVudE1hcEVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRGlzcGxhY2VtZW50
TWFwRWxlbWVudC5pZGwKaW5kZXggYjhhMDUyNThiOTE4NzZhMmY5YjE5NTMwYjU5Njk2ZGU2Mzc4
OTVlMi4uZTllZmFiOGEwMjMyN2E0MzkzZDdhZDMwOGUyZDAwNmIzYTdkMmNlYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudC5pZGwKKysr
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudC5pZGwKQEAg
LTI2LDcgKzI2LDcgQEAKIFsKICAgICBDb25kaXRpb25hbD1TVkcmRklMVEVSUywKICAgICBEb05v
dENoZWNrQ29uc3RhbnRzCi1dIGludGVyZmFjZSBTVkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQg
OiBTVkdTdHlsZWRFbGVtZW50IHsKK10gaW50ZXJmYWNlIFNWR0ZFRGlzcGxhY2VtZW50TWFwRWxl
bWVudCA6IFNWR0VsZW1lbnQgewogICAgIC8vIENoYW5uZWwgU2VsZWN0b3JzCiAgICAgY29uc3Qg
dW5zaWduZWQgc2hvcnQgU1ZHX0NIQU5ORUxfVU5LTk9XTiA9IDA7CiAgICAgY29uc3QgdW5zaWdu
ZWQgc2hvcnQgU1ZHX0NIQU5ORUxfUiAgICAgICA9IDE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHRkVEcm9wU2hhZG93RWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHRkVEcm9wU2hhZG93RWxlbWVudC5pZGwKaW5kZXggNmE1YTk2YTUxYzJjMThmZjJhMDIxMjk4
NTZjZjA1MDZjMTI3NGQwNS4uYTUzMWZlNDk4NDNjM2YzZjdiMTI5Zjk2ZmU1YzA2MTJmY2U0YzNh
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRHJvcFNoYWRvd0VsZW1lbnQu
aWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRURyb3BTaGFkb3dFbGVtZW50LmlkbApA
QCAtMTksNyArMTksNyBAQAogCiBbCiAgICAgQ29uZGl0aW9uYWw9U1ZHJkZJTFRFUlMKLV0gaW50
ZXJmYWNlIFNWR0ZFRHJvcFNoYWRvd0VsZW1lbnQgOiBTVkdTdHlsZWRFbGVtZW50IHsKK10gaW50
ZXJmYWNlIFNWR0ZFRHJvcFNoYWRvd0VsZW1lbnQgOiBTVkdFbGVtZW50IHsKICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgU1ZHQW5pbWF0ZWRTdHJpbmcgaW4xOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBTVkdBbmltYXRlZE51bWJlciBkeDsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgU1ZHQW5pbWF0
ZWROdW1iZXIgZHk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVGbG9vZEVs
ZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRmxvb2RFbGVtZW50LmlkbAppbmRl
eCBkNDA4OTI1MGU2ZDVhNzAzMDQyODMyMjA1MDdkMzNhZWE0ODc2Mzg2Li5iZDVhYmM4NmU0NTRj
YTU1NTMxNDAzODgzMWE2OGU5N2RiNzIyYjg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHRkVGbG9vZEVsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUZs
b29kRWxlbWVudC5pZGwKQEAgLTI1LDcgKzI1LDcgQEAKIAogWwogICAgIENvbmRpdGlvbmFsPVNW
RyZGSUxURVJTCi1dIGludGVyZmFjZSBTVkdGRUZsb29kRWxlbWVudCA6IFNWR1N0eWxlZEVsZW1l
bnQgeworXSBpbnRlcmZhY2UgU1ZHRkVGbG9vZEVsZW1lbnQgOiBTVkdFbGVtZW50IHsKIH07CiAK
IFNWR0ZFRmxvb2RFbGVtZW50IGltcGxlbWVudHMgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRB
dHRyaWJ1dGVzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFR2F1c3NpYW5C
bHVyRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVHYXVzc2lhbkJsdXJFbGVt
ZW50LmlkbAppbmRleCA4OGViNWQwM2JhNTM0ZDIxZTkxODE4NDQ2NjNhMDcxOWE2OWJiZjRkLi4y
YTc4ZTE3MjU1NWUzYTQ5MTEzM2Q3MDk1YjJlYWUwZWM3NjdjNmI4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRkVHYXVzc2lhbkJsdXJFbGVtZW50LmlkbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHRkVHYXVzc2lhbkJsdXJFbGVtZW50LmlkbApAQCAtMjUsNyArMjUsNyBA
QAogCiBbCiAgICAgQ29uZGl0aW9uYWw9U1ZHJkZJTFRFUlMKLV0gaW50ZXJmYWNlIFNWR0ZFR2F1
c3NpYW5CbHVyRWxlbWVudCA6IFNWR1N0eWxlZEVsZW1lbnQgeworXSBpbnRlcmZhY2UgU1ZHRkVH
YXVzc2lhbkJsdXJFbGVtZW50IDogU1ZHRWxlbWVudCB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IFNWR0FuaW1hdGVkU3RyaW5nIGluMTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgU1ZHQW5pbWF0
ZWROdW1iZXIgc3RkRGV2aWF0aW9uWDsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgU1ZHQW5pbWF0
ZWROdW1iZXIgc3RkRGV2aWF0aW9uWTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdGRUltYWdlRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVJbWFnZUVsZW1l
bnQuaWRsCmluZGV4IGRjMGQ5OWJjYTAzY2IyYmNmODcwOWE2YTZmZGI3YWIyMGUwMmNjZGUuLjBh
YzYwNTU4NjE2ZjJkY2Y1N2I2Y2JjMzZhMGFhODQ1YWYwYmQxYjcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdGRUltYWdlRWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0ZFSW1hZ2VFbGVtZW50LmlkbApAQCAtMjUsNyArMjUsNyBAQAogCiBbCiAgICAgQ29u
ZGl0aW9uYWw9U1ZHJkZJTFRFUlMKLV0gaW50ZXJmYWNlIFNWR0ZFSW1hZ2VFbGVtZW50IDogU1ZH
U3R5bGVkRWxlbWVudCB7CitdIGludGVyZmFjZSBTVkdGRUltYWdlRWxlbWVudCA6IFNWR0VsZW1l
bnQgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTVkdBbmltYXRlZFByZXNlcnZlQXNwZWN0UmF0
aW8gcHJlc2VydmVBc3BlY3RSYXRpbzsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdGRUxpZ2h0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFTGlnaHRF
bGVtZW50LmgKaW5kZXggNzU1YzY1MmJjN2I2YjQ1NmM2NjE3YWZmYjRmNDQxMjA4NjgyYzdjZC4u
ODMzYzI0MDJmNTJjMGQzZWUxYjY2NDExMjUwNGZlODk4YWIwOTkxNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFTGlnaHRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0ZFTGlnaHRFbGVtZW50LmgKQEAgLTM4LDYgKzM4LDggQEAgcHVibGljOgogcHJvdGVj
dGVkOgogICAgIFNWR0ZFTGlnaHRFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVu
dCopOwogCisgICAgdmlydHVhbCBib29sIHJlbmRlcmVySXNOZWVkZWQoY29uc3QgUmVuZGVyU3R5
bGUmKSBPVkVSUklERSB7IHJldHVybiBmYWxzZTsgfQorCiBwcml2YXRlOgogICAgIGJvb2wgaXNT
dXBwb3J0ZWRBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYpOwogICAgIHZpcnR1YWwgdm9p
ZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5n
JikgT1ZFUlJJREU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVNZXJnZUVs
ZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFTWVyZ2VFbGVtZW50LmlkbAppbmRl
eCBlZDI1ZjdlZmViZDNmNTk3NWM0NTliNGJkNDYxMGYyNGYyZjllYTg0Li42YTk5MDA5YzA5NTAx
N2EzNjZmMDQ2NGQxZDVlMmNjOGY3YTgzMGYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHRkVNZXJnZUVsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRU1l
cmdlRWxlbWVudC5pZGwKQEAgLTI1LDcgKzI1LDcgQEAKIAogWwogICAgIENvbmRpdGlvbmFsPVNW
RyZGSUxURVJTCi1dIGludGVyZmFjZSBTVkdGRU1lcmdlRWxlbWVudCA6IFNWR1N0eWxlZEVsZW1l
bnQgeworXSBpbnRlcmZhY2UgU1ZHRkVNZXJnZUVsZW1lbnQgOiBTVkdFbGVtZW50IHsKIH07CiAK
IFNWR0ZFTWVyZ2VFbGVtZW50IGltcGxlbWVudHMgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRB
dHRyaWJ1dGVzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFTWVyZ2VOb2Rl
RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFTWVyZ2VOb2RlRWxlbWVudC5oCmlu
ZGV4IDUwYjliYTJkZTc4ODg1MzNmMDk5ZmFhOWRjMGYxMGFiMDUzOTI3NzguLmJkMjQ4ZjgyZjJk
M2MyODQxNGZkZTBmYWFiM2JmMjY0ZGRiMjg5Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdGRU1lcmdlTm9kZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
RkVNZXJnZU5vZGVFbGVtZW50LmgKQEAgLTM4LDYgKzM4LDggQEAgcHJpdmF0ZToKICAgICB2aXJ0
dWFsIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21p
Y1N0cmluZyYpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2Vk
KGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKIAorICAgIHZpcnR1YWwgYm9vbCByZW5kZXJlcklzTmVl
ZGVkKGNvbnN0IFJlbmRlclN0eWxlJikgT1ZFUlJJREUgeyByZXR1cm4gZmFsc2U7IH0KKwogICAg
IEJFR0lOX0RFQ0xBUkVfQU5JTUFURURfUFJPUEVSVElFUyhTVkdGRU1lcmdlTm9kZUVsZW1lbnQp
CiAgICAgICAgIERFQ0xBUkVfQU5JTUFURURfU1RSSU5HKEluMSwgaW4xKQogICAgIEVORF9ERUNM
QVJFX0FOSU1BVEVEX1BST1BFUlRJRVMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdGRU1vcnBob2xvZ3lFbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRU1vcnBo
b2xvZ3lFbGVtZW50LmlkbAppbmRleCBiYTY0ODFjNDdmZGI0N2NhODM2OGRlMzE1MzY4OWI5Y2Iz
ZmZmMjEyLi5lYzRjNDIzMzkyOGU3MDExMGEzOTk1NzZmYTlmMzE5MGM2OTQyZDQ3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVNb3JwaG9sb2d5RWxlbWVudC5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFTW9ycGhvbG9neUVsZW1lbnQuaWRsCkBAIC0yNiw3ICsy
Niw3IEBACiBbCiAgICAgQ29uZGl0aW9uYWw9U1ZHJkZJTFRFUlMsCiAgICAgRG9Ob3RDaGVja0Nv
bnN0YW50cwotXSBpbnRlcmZhY2UgU1ZHRkVNb3JwaG9sb2d5RWxlbWVudCA6IFNWR1N0eWxlZEVs
ZW1lbnQgeworXSBpbnRlcmZhY2UgU1ZHRkVNb3JwaG9sb2d5RWxlbWVudCA6IFNWR0VsZW1lbnQg
ewogICAgIC8vIE1vcnBob2xvZ3kgT3BlcmF0b3JzCiAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQg
U1ZHX01PUlBIT0xPR1lfT1BFUkFUT1JfVU5LTk9XTiAgPSAwOwogICAgIGNvbnN0IHVuc2lnbmVk
IHNob3J0IFNWR19NT1JQSE9MT0dZX09QRVJBVE9SX0VST0RFICAgID0gMTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRU9mZnNldEVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0ZFT2Zmc2V0RWxlbWVudC5pZGwKaW5kZXggN2E5ZjE1YTgwYjViNjY5MDRhMGUz
YzZkYTFlMGEzZmZlYTcxMDNlZS4uZWI5NWU3NDY1ZjA2NTFmM2E4ZjFlZmU2ZDI3YjZkNjMwYTQw
MjcyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFT2Zmc2V0RWxlbWVudC5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFT2Zmc2V0RWxlbWVudC5pZGwKQEAgLTI1
LDcgKzI1LDcgQEAKIAogWwogICAgIENvbmRpdGlvbmFsPVNWRyZGSUxURVJTCi1dIGludGVyZmFj
ZSBTVkdGRU9mZnNldEVsZW1lbnQgOiBTVkdTdHlsZWRFbGVtZW50IHsKK10gaW50ZXJmYWNlIFNW
R0ZFT2Zmc2V0RWxlbWVudCA6IFNWR0VsZW1lbnQgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBT
VkdBbmltYXRlZFN0cmluZyBpbjE7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFNWR0FuaW1hdGVk
TnVtYmVyIGR4OwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTVkdBbmltYXRlZE51bWJlciBkeTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVt
ZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50
LmlkbAppbmRleCA5M2FkNzczMDYyOTU2ZjYzZmIyNWU4NDhkZTk3ZWY5OWJmMmFiYjEwLi4wZTRl
OWVlNTJmZDY1ZGEyNGY5ZjIxMzQ3NWM1MGQ5NjdkOGYxMTIzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudC5pZGwKKysrIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQuaWRsCkBAIC0yNSw3ICsy
NSw3IEBACiAKIFsKICAgICBDb25kaXRpb25hbD1TVkcmRklMVEVSUwotXSBpbnRlcmZhY2UgU1ZH
RkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudCA6IFNWR1N0eWxlZEVsZW1lbnQgeworXSBpbnRlcmZh
Y2UgU1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudCA6IFNWR0VsZW1lbnQgewogICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBTVkdBbmltYXRlZFN0cmluZyBpbjE7CiAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIFNWR0FuaW1hdGVkTnVtYmVyIHN1cmZhY2VTY2FsZTsKICAgICByZWFkb25seSBhdHRyaWJ1
dGUgU1ZHQW5pbWF0ZWROdW1iZXIgc3BlY3VsYXJDb25zdGFudDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdGRVRpbGVFbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdGRVRpbGVFbGVtZW50LmlkbAppbmRleCAyNTFhNTQ4NTkxYWEwZDlmMjFkMDM2YThhMmVmZmM3
NTljNGU1YmZlLi41Y2FlMWExNDgwOGIxNjNjNjg0NGJkMDlhZTMzMTliZjA3NDcyZTM3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVUaWxlRWxlbWVudC5pZGwKKysrIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFVGlsZUVsZW1lbnQuaWRsCkBAIC0yNSw3ICsyNSw3IEBACiAK
IFsKICAgICBDb25kaXRpb25hbD1TVkcmRklMVEVSUwotXSBpbnRlcmZhY2UgU1ZHRkVUaWxlRWxl
bWVudCA6IFNWR1N0eWxlZEVsZW1lbnQgeworXSBpbnRlcmZhY2UgU1ZHRkVUaWxlRWxlbWVudCA6
IFNWR0VsZW1lbnQgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTVkdBbmltYXRlZFN0cmluZyBp
bjE7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVUdXJidWxlbmNl
RWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5p
ZGwKaW5kZXggNzZkMTkxMzZhMTA5ZTlmZmM5YWVmNDQ5MDBjZGRhOGYyYWQxNDg0Ni4uMDgwNGZi
NTk2MTJkYzkyNjVmNTMxOThjZmU2YjUzNWIzNzA5OTQ5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0ZFVHVyYnVsZW5jZUVsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdGRVR1cmJ1bGVuY2VFbGVtZW50LmlkbApAQCAtMjYsNyArMjYsNyBAQAogWwogICAg
IENvbmRpdGlvbmFsPVNWRyZGSUxURVJTLAogICAgIERvTm90Q2hlY2tDb25zdGFudHMKLV0gaW50
ZXJmYWNlIFNWR0ZFVHVyYnVsZW5jZUVsZW1lbnQgOiBTVkdTdHlsZWRFbGVtZW50IHsKK10gaW50
ZXJmYWNlIFNWR0ZFVHVyYnVsZW5jZUVsZW1lbnQgOiBTVkdFbGVtZW50IHsKICAgICAvLyBUdXJi
dWxlbmNlIFR5cGVzCiAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgU1ZHX1RVUkJVTEVOQ0VfVFlQ
RV9VTktOT1dOICAgICAgPSAwOwogICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFNWR19UVVJCVUxF
TkNFX1RZUEVfRlJBQ1RBTE5PSVNFID0gMTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdGaWx0ZXJFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGaWx0ZXJFbGVt
ZW50LmNwcAppbmRleCBhZmQ4NWI0MmY0OTFkZWJmMDhlYTQ3NDY4ZDdiZTY2NzExMDFmN2I5Li4z
NmUxOTIzZWQ2ZTM5OTk1MWY1Nzg4ZmFmNDY1NThhMjZhMjI3ZDBkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRmlsdGVyRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0ZpbHRlckVsZW1lbnQuY3BwCkBAIC02Myw3ICs2Myw3IEBAIEJFR0lOX1JFR0lTVEVS
X0FOSU1BVEVEX1BST1BFUlRJRVMoU1ZHRmlsdGVyRWxlbWVudCkKIEVORF9SRUdJU1RFUl9BTklN
QVRFRF9QUk9QRVJUSUVTCiAKIGlubGluZSBTVkdGaWx0ZXJFbGVtZW50OjpTVkdGaWx0ZXJFbGVt
ZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKLSAg
ICA6IFNWR1N0eWxlZEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCisgICAgOiBTVkdFbGVtZW50
KHRhZ05hbWUsIGRvY3VtZW50KQogICAgICwgbV9maWx0ZXJVbml0cyhTVkdVbml0VHlwZXM6OlNW
R19VTklUX1RZUEVfT0JKRUNUQk9VTkRJTkdCT1gpCiAgICAgLCBtX3ByaW1pdGl2ZVVuaXRzKFNW
R1VuaXRUeXBlczo6U1ZHX1VOSVRfVFlQRV9VU0VSU1BBQ0VPTlVTRSkKICAgICAsIG1feChMZW5n
dGhNb2RlV2lkdGgsICItMTAlIikKQEAgLTEyNiw3ICsxMjYsNyBAQCB2b2lkIFNWR0ZpbHRlckVs
ZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0
b21pY1N0cgogICAgIFNWR1BhcnNpbmdFcnJvciBwYXJzZUVycm9yID0gTm9FcnJvcjsKIAogICAg
IGlmICghaXNTdXBwb3J0ZWRBdHRyaWJ1dGUobmFtZSkpCi0gICAgICAgIFNWR1N0eWxlZEVsZW1l
bnQ6OnBhcnNlQXR0cmlidXRlKG5hbWUsIHZhbHVlKTsKKyAgICAgICAgU1ZHRWxlbWVudDo6cGFy
c2VBdHRyaWJ1dGUobmFtZSwgdmFsdWUpOwogICAgIGVsc2UgaWYgKG5hbWUgPT0gU1ZHTmFtZXM6
OmZpbHRlclVuaXRzQXR0cikgewogICAgICAgICBTVkdVbml0VHlwZXM6OlNWR1VuaXRUeXBlIHBy
b3BlcnR5VmFsdWUgPSBTVkdQcm9wZXJ0eVRyYWl0czxTVkdVbml0VHlwZXM6OlNWR1VuaXRUeXBl
Pjo6ZnJvbVN0cmluZyh2YWx1ZSk7CiAgICAgICAgIGlmIChwcm9wZXJ0eVZhbHVlID4gMCkKQEAg
LTE2MSw3ICsxNjEsNyBAQCB2b2lkIFNWR0ZpbHRlckVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGNv
bnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0cgogdm9pZCBTVkdGaWx0ZXJF
bGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1l
KQogewogICAgIGlmICghaXNTdXBwb3J0ZWRBdHRyaWJ1dGUoYXR0ck5hbWUpKSB7Ci0gICAgICAg
IFNWR1N0eWxlZEVsZW1lbnQ6OnN2Z0F0dHJpYnV0ZUNoYW5nZWQoYXR0ck5hbWUpOworICAgICAg
ICBTVkdFbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKGF0dHJOYW1lKTsKICAgICAgICAgcmV0
dXJuOwogICAgIH0KIApAQCAtMTc5LDcgKzE3OSw3IEBAIHZvaWQgU1ZHRmlsdGVyRWxlbWVudDo6
c3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSkKIAogdm9p
ZCBTVkdGaWx0ZXJFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQoYm9vbCBjaGFuZ2VkQnlQYXJzZXIs
IE5vZGUqIGJlZm9yZUNoYW5nZSwgTm9kZSogYWZ0ZXJDaGFuZ2UsIGludCBjaGlsZENvdW50RGVs
dGEpCiB7Ci0gICAgU1ZHU3R5bGVkRWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkKGNoYW5nZWRCeVBh
cnNlciwgYmVmb3JlQ2hhbmdlLCBhZnRlckNoYW5nZSwgY2hpbGRDb3VudERlbHRhKTsKKyAgICBT
VkdFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQoY2hhbmdlZEJ5UGFyc2VyLCBiZWZvcmVDaGFuZ2Us
IGFmdGVyQ2hhbmdlLCBjaGlsZENvdW50RGVsdGEpOwogCiAgICAgaWYgKGNoYW5nZWRCeVBhcnNl
cikKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0Zp
bHRlckVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGaWx0ZXJFbGVtZW50LmgKaW5k
ZXggMzM1MWM2MGQ5NTdkMDBmMTZjNDk3NzBhNjhjNjhkMjI1ZDJiMWYyYy4uYmNlNmVhNmQ3OTFi
NmEwNzllNDIxNmRkZjM3OTczMjJkM2NiY2E1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0ZpbHRlckVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRmlsdGVy
RWxlbWVudC5oCkBAIC0yOCwxNSArMjgsMTUgQEAKICNpbmNsdWRlICJTVkdBbmltYXRlZEVudW1l
cmF0aW9uLmgiCiAjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRJbnRlZ2VyLmgiCiAjaW5jbHVkZSAiU1ZH
QW5pbWF0ZWRMZW5ndGguaCIKKyNpbmNsdWRlICJTVkdFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZH
RXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5oIgogI2luY2x1ZGUgIlNWR05hbWVzLmgiCi0jaW5j
bHVkZSAiU1ZHU3R5bGVkRWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR1VSSVJlZmVyZW5jZS5oIgog
I2luY2x1ZGUgIlNWR1VuaXRUeXBlcy5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNz
IFNWR0ZpbHRlckVsZW1lbnQgRklOQUwgOiBwdWJsaWMgU1ZHU3R5bGVkRWxlbWVudCwKK2NsYXNz
IFNWR0ZpbHRlckVsZW1lbnQgRklOQUwgOiBwdWJsaWMgU1ZHRWxlbWVudCwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHVVJJUmVmZXJlbmNlLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkIHsK
IHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGaWx0ZXJFbGVtZW50
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGaWx0ZXJFbGVtZW50LmlkbAppbmRleCBmM2Uy
NTJkYzdmYjQzOGNlOTdiZmRiNDMyNWI3MWEzNzhiNjExZmRiLi44ZjViZTFkMTY2ZDlhN2JhNjI5
ZDQzZTBlZGZjMzA2YzRmZjg1MGQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
RmlsdGVyRWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZpbHRlckVsZW1l
bnQuaWRsCkBAIC0yNiw3ICsyNiw3IEBACiAKIFsKICAgICBDb25kaXRpb25hbD1TVkcmRklMVEVS
UwotXSBpbnRlcmZhY2UgU1ZHRmlsdGVyRWxlbWVudCA6IFNWR1N0eWxlZEVsZW1lbnQgeworXSBp
bnRlcmZhY2UgU1ZHRmlsdGVyRWxlbWVudCA6IFNWR0VsZW1lbnQgewogICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBTVkdBbmltYXRlZEVudW1lcmF0aW9uIGZpbHRlclVuaXRzOwogICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBTVkdBbmltYXRlZEVudW1lcmF0aW9uIHByaW1pdGl2ZVVuaXRzOwogICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBTVkdBbmltYXRlZExlbmd0aCAgICAgIHg7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0
ZXMuY3BwCmluZGV4IDY1ZDgwNjMxYjhjMjNiYjIwNWNlOTdiMzdkMmQzYmRlNGEwOTdhZDEuLjJi
ZDQzZjhlODkyNmU1OWI1NzQ5ZjNlODIzNTUwMmNjNjlhZWE0OTcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0
ZXMuY3BwCkBAIC0yNywxMSArMjcsMTEgQEAKICNpbmNsdWRlICJBdHRyaWJ1dGUuaCIKICNpbmNs
dWRlICJGaWx0ZXJFZmZlY3QuaCIKICNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZUZpbHRlclBy
aW1pdGl2ZS5oIgorI2luY2x1ZGUgIlNWR0VsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdFbGVtZW50
SW5zdGFuY2UuaCIKICNpbmNsdWRlICJTVkdGaWx0ZXJCdWlsZGVyLmgiCiAjaW5jbHVkZSAiU1ZH
TGVuZ3RoLmgiCiAjaW5jbHVkZSAiU1ZHTmFtZXMuaCIKLSNpbmNsdWRlICJTVkdTdHlsZWRFbGVt
ZW50LmgiCiAjaW5jbHVkZSAiU1ZHVW5pdFR5cGVzLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
QEAgLTQ5LDExICs0OSwxMSBAQCBCRUdJTl9SRUdJU1RFUl9BTklNQVRFRF9QUk9QRVJUSUVTKFNW
R0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcykKICAgICBSRUdJU1RFUl9MT0NBTF9B
TklNQVRFRF9QUk9QRVJUWSh3aWR0aCkKICAgICBSRUdJU1RFUl9MT0NBTF9BTklNQVRFRF9QUk9Q
RVJUWShoZWlnaHQpCiAgICAgUkVHSVNURVJfTE9DQUxfQU5JTUFURURfUFJPUEVSVFkocmVzdWx0
KQotICAgIFJFR0lTVEVSX1BBUkVOVF9BTklNQVRFRF9QUk9QRVJUSUVTKFNWR1N0eWxlZEVsZW1l
bnQpCisgICAgUkVHSVNURVJfUEFSRU5UX0FOSU1BVEVEX1BST1BFUlRJRVMoU1ZHRWxlbWVudCkK
IEVORF9SRUdJU1RFUl9BTklNQVRFRF9QUk9QRVJUSUVTCiAKIFNWR0ZpbHRlclByaW1pdGl2ZVN0
YW5kYXJkQXR0cmlidXRlczo6U1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzKGNv
bnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKLSAgICA6IFNW
R1N0eWxlZEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCisgICAgOiBTVkdFbGVtZW50KHRhZ05h
bWUsIGRvY3VtZW50KQogICAgICwgbV94KExlbmd0aE1vZGVXaWR0aCwgIjAlIikKICAgICAsIG1f
eShMZW5ndGhNb2RlSGVpZ2h0LCAiMCUiKQogICAgICwgbV93aWR0aChMZW5ndGhNb2RlV2lkdGgs
ICIxMDAlIikKQEAgLTgyLDcgKzgyLDcgQEAgdm9pZCBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFy
ZEF0dHJpYnV0ZXM6OnBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG4KICAgICBT
VkdQYXJzaW5nRXJyb3IgcGFyc2VFcnJvciA9IE5vRXJyb3I7CiAKICAgICBpZiAoIWlzU3VwcG9y
dGVkQXR0cmlidXRlKG5hbWUpKQotICAgICAgICBTVkdTdHlsZWRFbGVtZW50OjpwYXJzZUF0dHJp
YnV0ZShuYW1lLCB2YWx1ZSk7CisgICAgICAgIFNWR0VsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKG5h
bWUsIHZhbHVlKTsKICAgICBlbHNlIGlmIChuYW1lID09IFNWR05hbWVzOjp4QXR0cikKICAgICAg
ICAgc2V0WEJhc2VWYWx1ZShTVkdMZW5ndGg6OmNvbnN0cnVjdChMZW5ndGhNb2RlV2lkdGgsIHZh
bHVlLCBwYXJzZUVycm9yKSk7CiAgICAgZWxzZSBpZiAobmFtZSA9PSBTVkdOYW1lczo6eUF0dHIp
CkBAIC0xMDksNyArMTA5LDcgQEAgYm9vbCBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJp
YnV0ZXM6OnNldEZpbHRlckVmZmVjdEF0dHJpYnV0ZShGaWx0ZXJFZmZlY3QKIHZvaWQgU1ZHRmls
dGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzOjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0
IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lKQogewogICAgIGlmICghaXNTdXBwb3J0ZWRBdHRyaWJ1
dGUoYXR0ck5hbWUpKSB7Ci0gICAgICAgIFNWR1N0eWxlZEVsZW1lbnQ6OnN2Z0F0dHJpYnV0ZUNo
YW5nZWQoYXR0ck5hbWUpOworICAgICAgICBTVkdFbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2Vk
KGF0dHJOYW1lKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtMTE5LDcgKzExOSw3IEBA
IHZvaWQgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzOjpzdmdBdHRyaWJ1dGVD
aGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hCiAKIHZvaWQgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRh
cmRBdHRyaWJ1dGVzOjpjaGlsZHJlbkNoYW5nZWQoYm9vbCBjaGFuZ2VkQnlQYXJzZXIsIE5vZGUq
IGJlZm9yZUNoYW5nZSwgTm9kZSogYWZ0ZXJDaGFuZ2UsIGludCBjaGlsZENvdW50RGVsdGEpCiB7
Ci0gICAgU1ZHU3R5bGVkRWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkKGNoYW5nZWRCeVBhcnNlciwg
YmVmb3JlQ2hhbmdlLCBhZnRlckNoYW5nZSwgY2hpbGRDb3VudERlbHRhKTsKKyAgICBTVkdFbGVt
ZW50OjpjaGlsZHJlbkNoYW5nZWQoY2hhbmdlZEJ5UGFyc2VyLCBiZWZvcmVDaGFuZ2UsIGFmdGVy
Q2hhbmdlLCBjaGlsZENvdW50RGVsdGEpOwogCiAgICAgaWYgKCFjaGFuZ2VkQnlQYXJzZXIpCiAg
ICAgICAgIGludmFsaWRhdGUoKTsKQEAgLTE0OSw3ICsxNDksNyBAQCBSZW5kZXJPYmplY3QqIFNW
R0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlczo6Y3JlYXRlUmVuZGVyZXIoUmVuZGVy
QXJlbmEqCiBib29sIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlczo6cmVuZGVy
ZXJJc05lZWRlZChjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUpCiB7CiAgICAgaWYgKHBhcmVudE5v
ZGUoKSAmJiAocGFyZW50Tm9kZSgpLT5oYXNUYWdOYW1lKFNWR05hbWVzOjpmaWx0ZXJUYWcpKSkK
LSAgICAgICAgcmV0dXJuIFNWR1N0eWxlZEVsZW1lbnQ6OnJlbmRlcmVySXNOZWVkZWQoc3R5bGUp
OworICAgICAgICByZXR1cm4gU1ZHRWxlbWVudDo6cmVuZGVyZXJJc05lZWRlZChzdHlsZSk7CiAK
ICAgICByZXR1cm4gZmFsc2U7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
RmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLmgKaW5kZXggZWU2YjcwZmEyMjNj
YmYzYjJhZjkyMDg1MjM5YzAyMmRiODMwODBmMy4uOThmOTFkNGI4NWZiOWRkYTg0ZjA3ZTU1NjY5
MTIwODMwMzg2N2VjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZpbHRlclBy
aW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdG
aWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMuaApAQCAtMjYsNyArMjYsNyBAQAogI2lu
Y2x1ZGUgIlJlbmRlclNWR1Jlc291cmNlRmlsdGVyUHJpbWl0aXZlLmgiCiAjaW5jbHVkZSAiU1ZH
QW5pbWF0ZWRMZW5ndGguaCIKICNpbmNsdWRlICJTVkdBbmltYXRlZFN0cmluZy5oIgotI2luY2x1
ZGUgIlNWR1N0eWxlZEVsZW1lbnQuaCIKKyNpbmNsdWRlICJTVkdFbGVtZW50LmgiCiAKICNpbmNs
dWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAgLTM3LDcg
KzM3LDcgQEAgY2xhc3MgRmlsdGVyOwogY2xhc3MgRmlsdGVyRWZmZWN0OwogY2xhc3MgU1ZHRmls
dGVyQnVpbGRlcjsKIAotY2xhc3MgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVz
IDogcHVibGljIFNWR1N0eWxlZEVsZW1lbnQgeworY2xhc3MgU1ZHRmlsdGVyUHJpbWl0aXZlU3Rh
bmRhcmRBdHRyaWJ1dGVzIDogcHVibGljIFNWR0VsZW1lbnQgewogcHVibGljOgogICAgIHZvaWQg
c2V0U3RhbmRhcmRBdHRyaWJ1dGVzKEZpbHRlckVmZmVjdCopIGNvbnN0OwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0ZvbnRFbGVtZW50LmNwcAppbmRleCBjOGVhM2M4MzBjZGUxY2NlZGY0NGFiMDAxNTIw
OTkxNjRlNDczYzJkLi5hZGE1NTYyMmMxMDc1MGRiZDMwZTYxM2I1OTdjMDc3YjEwZDYwMTFkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEVsZW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RWxlbWVudC5jcHAKQEAgLTQxLDExICs0MSwxMSBAQCBE
RUZJTkVfQU5JTUFURURfQk9PTEVBTihTVkdGb250RWxlbWVudCwgU1ZHTmFtZXM6OmV4dGVybmFs
UmVzb3VyY2VzUmVxdWlyZWRBdHRyLAogCiBCRUdJTl9SRUdJU1RFUl9BTklNQVRFRF9QUk9QRVJU
SUVTKFNWR0ZvbnRFbGVtZW50KQogICAgIFJFR0lTVEVSX0xPQ0FMX0FOSU1BVEVEX1BST1BFUlRZ
KGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCi0gICAgUkVHSVNURVJfUEFSRU5UX0FOSU1BVEVE
X1BST1BFUlRJRVMoU1ZHU3R5bGVkRWxlbWVudCkKKyAgICBSRUdJU1RFUl9QQVJFTlRfQU5JTUFU
RURfUFJPUEVSVElFUyhTVkdFbGVtZW50KQogRU5EX1JFR0lTVEVSX0FOSU1BVEVEX1BST1BFUlRJ
RVMKIAogaW5saW5lIFNWR0ZvbnRFbGVtZW50OjpTVkdGb250RWxlbWVudChjb25zdCBRdWFsaWZp
ZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCi0gICAgOiBTVkdTdHlsZWRFbGVt
ZW50KHRhZ05hbWUsIGRvY3VtZW50KSAKKyAgICA6IFNWR0VsZW1lbnQodGFnTmFtZSwgZG9jdW1l
bnQpIAogICAgICwgbV9taXNzaW5nR2x5cGgoMCkKICAgICAsIG1faXNHbHlwaENhY2hlVmFsaWQo
ZmFsc2UpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEVsZW1lbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RWxlbWVudC5oCmluZGV4IGQ4NzAzZWMxNjMw
MDYxY2FhYWExMzNmOWVhMDliYTI3MjM1MzU0MmUuLjAxZmU2YzJlN2M2ZWE3NzVhOTg3MWU1NzFk
N2Q1NWJkN2E2OWYxNDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RWxl
bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RWxlbWVudC5oCkBAIC0yNCwx
MSArMjQsMTEgQEAKIAogI2lmIEVOQUJMRShTVkdfRk9OVFMpCiAjaW5jbHVkZSAiU1ZHQW5pbWF0
ZWRCb29sZWFuLmgiCisjaW5jbHVkZSAiU1ZHRWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR0V4dGVy
bmFsUmVzb3VyY2VzUmVxdWlyZWQuaCIKICNpbmNsdWRlICJTVkdHbHlwaE1hcC5oIgogI2luY2x1
ZGUgIlNWR05hbWVzLmgiCiAjaW5jbHVkZSAiU1ZHUGFyc2VyVXRpbGl0aWVzLmgiCi0jaW5jbHVk
ZSAiU1ZHU3R5bGVkRWxlbWVudC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTUyLDcg
KzUyLDcgQEAgdHlwZWRlZiBWZWN0b3I8U1ZHS2VybmluZ1BhaXI+IEtlcm5pbmdQYWlyVmVjdG9y
OwogCiBjbGFzcyBTVkdNaXNzaW5nR2x5cGhFbGVtZW50OyAgICAKIAotY2xhc3MgU1ZHRm9udEVs
ZW1lbnQgRklOQUwgOiBwdWJsaWMgU1ZHU3R5bGVkRWxlbWVudAorY2xhc3MgU1ZHRm9udEVsZW1l
bnQgRklOQUwgOiBwdWJsaWMgU1ZHRWxlbWVudAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
LCBwdWJsaWMgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCB7CiBwdWJsaWM6CiAgICAgc3Rh
dGljIFBhc3NSZWZQdHI8U1ZHRm9udEVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1l
JiwgRG9jdW1lbnQqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RmFj
ZUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlRWxlbWVudC5jcHAK
aW5kZXggZmZlZWQzMjYwNWFhZDViYzY3ODc4ZjdjMzJjZmJjNDY0OTA4OTNjZC4uZjM1MDI1NjY1
NzcyZjViOTJiN2M2NGRhODY3NDY3NTRiZTZjNWFkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0ZvbnRGYWNlRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0ZvbnRGYWNlRWxlbWVudC5jcHAKQEAgLTYwLDU0ICs2MCw2IEBAIFBhc3NSZWZQdHI8U1ZHRm9u
dEZhY2VFbGVtZW50PiBTVkdGb250RmFjZUVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWRO
YW1lJiB0CiAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTVkdGb250RmFjZUVsZW1lbnQodGFnTmFt
ZSwgZG9jdW1lbnQpKTsKIH0KIAotc3RhdGljIENTU1Byb3BlcnR5SUQgY3NzUHJvcGVydHlJZEZv
clNWR0F0dHJpYnV0ZU5hbWUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUpCi17Ci0gICAg
aWYgKCFhdHRyTmFtZS5uYW1lc3BhY2VVUkkoKS5pc051bGwoKSkKLSAgICAgICAgcmV0dXJuIENT
U1Byb3BlcnR5SW52YWxpZDsKLSAgICAKLSAgICBzdGF0aWMgSGFzaE1hcDxBdG9taWNTdHJpbmdJ
bXBsKiwgQ1NTUHJvcGVydHlJRD4qIHByb3BlcnR5TmFtZVRvSWRNYXAgPSAwOwotICAgIGlmICgh
cHJvcGVydHlOYW1lVG9JZE1hcCkgewotICAgICAgICBwcm9wZXJ0eU5hbWVUb0lkTWFwID0gbmV3
IEhhc2hNYXA8QXRvbWljU3RyaW5nSW1wbCosIENTU1Byb3BlcnR5SUQ+OwotICAgICAgICAvLyBU
aGlzIGlzIGEgbGlzdCBvZiBhbGwgQGZvbnQtZmFjZSBDU1MgcHJvcGVydGllcyB3aGljaCBhcmUg
ZXhwb3NlZCBhcyBTVkcgWE1MIGF0dHJpYnV0ZXMKLSAgICAgICAgLy8gVGhvc2UgY29tbWVudGVk
IG91dCBhcmUgbm90IHlldCBzdXBwb3J0ZWQgYnkgV2ViQ29yZSdzIHN0eWxlIHN5c3RlbQotICAg
ICAgICAvLyBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5TmFtZVRvSWRNYXAsIGFj
Y2VudF9oZWlnaHRBdHRyKTsKLSAgICAgICAgLy8gbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShw
cm9wZXJ0eU5hbWVUb0lkTWFwLCBhbHBoYWJldGljQXR0cik7Ci0gICAgICAgIC8vIG1hcEF0dHJp
YnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwgYXNjZW50QXR0cik7Ci0gICAg
ICAgIC8vIG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwgYmJv
eEF0dHIpOwotICAgICAgICAvLyBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5TmFt
ZVRvSWRNYXAsIGNhcF9oZWlnaHRBdHRyKTsKLSAgICAgICAgLy8gbWFwQXR0cmlidXRlVG9DU1NQ
cm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBkZXNjZW50QXR0cik7Ci0gICAgICAgIG1hcEF0
dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwgZm9udF9mYW1pbHlBdHRy
KTsKLSAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFw
LCBmb250X3NpemVBdHRyKTsKLSAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9w
ZXJ0eU5hbWVUb0lkTWFwLCBmb250X3N0cmV0Y2hBdHRyKTsKLSAgICAgICAgbWFwQXR0cmlidXRl
VG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBmb250X3N0eWxlQXR0cik7Ci0gICAg
ICAgIG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwgZm9udF92
YXJpYW50QXR0cik7Ci0gICAgICAgIG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlO
YW1lVG9JZE1hcCwgZm9udF93ZWlnaHRBdHRyKTsKLSAgICAgICAgLy8gbWFwQXR0cmlidXRlVG9D
U1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBoYW5naW5nQXR0cik7Ci0gICAgICAgIC8v
IG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwgaWRlb2dyYXBo
aWNBdHRyKTsKLSAgICAgICAgLy8gbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5h
bWVUb0lkTWFwLCBtYXRoZW1hdGljYWxBdHRyKTsKLSAgICAgICAgLy8gbWFwQXR0cmlidXRlVG9D
U1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBvdmVybGluZV9wb3NpdGlvbkF0dHIpOwot
ICAgICAgICAvLyBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5TmFtZVRvSWRNYXAs
IG92ZXJsaW5lX3RoaWNrbmVzc0F0dHIpOwotICAgICAgICAvLyBtYXBBdHRyaWJ1dGVUb0NTU1By
b3BlcnR5KHByb3BlcnR5TmFtZVRvSWRNYXAsIHBhbm9zZV8xQXR0cik7Ci0gICAgICAgIC8vIG1h
cEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwgc2xvcGVBdHRyKTsK
LSAgICAgICAgLy8gbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFw
LCBzdGVtaEF0dHIpOwotICAgICAgICAvLyBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHByb3Bl
cnR5TmFtZVRvSWRNYXAsIHN0ZW12QXR0cik7Ci0gICAgICAgIC8vIG1hcEF0dHJpYnV0ZVRvQ1NT
UHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwgc3RyaWtldGhyb3VnaF9wb3NpdGlvbkF0dHIp
OwotICAgICAgICAvLyBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5TmFtZVRvSWRN
YXAsIHN0cmlrZXRocm91Z2hfdGhpY2tuZXNzQXR0cik7Ci0gICAgICAgIC8vIG1hcEF0dHJpYnV0
ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwgdW5kZXJsaW5lX3Bvc2l0aW9uQXR0
cik7Ci0gICAgICAgIC8vIG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlOYW1lVG9J
ZE1hcCwgdW5kZXJsaW5lX3RoaWNrbmVzc0F0dHIpOwotICAgICAgICAvLyBtYXBBdHRyaWJ1dGVU
b0NTU1Byb3BlcnR5KHByb3BlcnR5TmFtZVRvSWRNYXAsIHVuaWNvZGVfcmFuZ2VBdHRyKTsKLSAg
ICAgICAgLy8gbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCB1
bml0c19wZXJfZW1BdHRyKTsKLSAgICAgICAgLy8gbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShw
cm9wZXJ0eU5hbWVUb0lkTWFwLCB2X2FscGhhYmV0aWNBdHRyKTsKLSAgICAgICAgLy8gbWFwQXR0
cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCB2X2hhbmdpbmdBdHRyKTsK
LSAgICAgICAgLy8gbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFw
LCB2X2lkZW9ncmFwaGljQXR0cik7Ci0gICAgICAgIC8vIG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVy
dHkocHJvcGVydHlOYW1lVG9JZE1hcCwgdl9tYXRoZW1hdGljYWxBdHRyKTsKLSAgICAgICAgLy8g
bWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCB3aWR0aHNBdHRy
KTsKLSAgICAgICAgLy8gbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lk
TWFwLCB4X2hlaWdodEF0dHIpOwotICAgIH0KLSAgICAKLSAgICByZXR1cm4gcHJvcGVydHlOYW1l
VG9JZE1hcC0+Z2V0KGF0dHJOYW1lLmxvY2FsTmFtZSgpLmltcGwoKSk7Ci19Ci0KIHZvaWQgU1ZH
Rm9udEZhY2VFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1l
LCBjb25zdCBBdG9taWNTdHJpbmcmIHZhbHVlKQogeyAgICAKICAgICBDU1NQcm9wZXJ0eUlEIHBy
b3BJZCA9IGNzc1Byb3BlcnR5SWRGb3JTVkdBdHRyaWJ1dGVOYW1lKG5hbWUpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlRWxlbWVudC5oIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0ZvbnRGYWNlRWxlbWVudC5oCmluZGV4IGIzNGU2NWM5NzBhYWNiYzdhMGFhNmI1
MmM5ZTYwMDA0NGQ3YWJiOTUuLjVhNTUxZWMzYmM3NmM1NjU1MmYxODRjMDNhMjBiMTMwMTBjMmU0
ZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RmFjZUVsZW1lbnQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VFbGVtZW50LmgKQEAgLTYxLDYgKzYx
LDggQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIEluc2VydGlvbk5vdGlmaWNhdGlvblJlcXVlc3Qg
aW5zZXJ0ZWRJbnRvKENvbnRhaW5lck5vZGUqKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQg
cmVtb3ZlZEZyb20oQ29udGFpbmVyTm9kZSopIE9WRVJSSURFOwogCisgICAgdmlydHVhbCBib29s
IHJlbmRlcmVySXNOZWVkZWQoY29uc3QgUmVuZGVyU3R5bGUmKSBPVkVSUklERSB7IHJldHVybiBm
YWxzZTsgfQorCiAgICAgUmVmUHRyPFN0eWxlUnVsZUZvbnRGYWNlPiBtX2ZvbnRGYWNlUnVsZTsK
ICAgICBTVkdGb250RWxlbWVudCogbV9mb250RWxlbWVudDsKIH07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VGb3JtYXRFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHRm9udEZhY2VGb3JtYXRFbGVtZW50LmgKaW5kZXggOWU2MWRhYWY2NmE5YmU1YzU0
MWQzN2M1Y2E2MzE0ZDZiYjljY2MwNS4uNmZhNzdiODRlODljZDMwOTA2MjY2OTdmMmIxMDNmNGI1
ZjNhMzY2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlRm9ybWF0
RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RmFjZUZvcm1hdEVsZW1l
bnQuaApAQCAtMzMsNiArMzMsNyBAQCBwcml2YXRlOgogICAgIFNWR0ZvbnRGYWNlRm9ybWF0RWxl
bWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKIAogICAgIHZpcnR1YWwgdm9p
ZCBjaGlsZHJlbkNoYW5nZWQoYm9vbCBjaGFuZ2VkQnlQYXJzZXIgPSBmYWxzZSwgTm9kZSogYmVm
b3JlQ2hhbmdlID0gMCwgTm9kZSogYWZ0ZXJDaGFuZ2UgPSAwLCBpbnQgY2hpbGRDb3VudERlbHRh
ID0gMCk7CisgICAgdmlydHVhbCBib29sIHJlbmRlcmVySXNOZWVkZWQoY29uc3QgUmVuZGVyU3R5
bGUmKSBPVkVSUklERSB7IHJldHVybiBmYWxzZTsgfQogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlTmFtZUVsZW1l
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RmFjZU5hbWVFbGVtZW50LmgKaW5kZXgg
MDY4ZDU3NzYwNjM5MjUyMGQ2NWFiNjQ3Y2JhMWYyY2MwZmE5NGIwMy4uMDMyNTNiOTljOTJjODRm
ZjZlNmNmZDU5Yzg0OGZjMzlkYmJlZjIwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0ZvbnRGYWNlTmFtZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9u
dEZhY2VOYW1lRWxlbWVudC5oCkBAIC0zNSw2ICszNSw4IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToK
ICAgICBTVkdGb250RmFjZU5hbWVFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVu
dCopOworCisgICAgdmlydHVhbCBib29sIHJlbmRlcmVySXNOZWVkZWQoY29uc3QgUmVuZGVyU3R5
bGUmKSBPVkVSUklERSB7IHJldHVybiBmYWxzZTsgfQogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlU3JjRWxlbWVu
dC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlU3JjRWxlbWVudC5oCmluZGV4IGQy
YjE5Nzc5NDlmN2U5ZTlmMjc0ZWJmYWJlYmQ3OWRhMThkYzAyMWMuLjE1MGFjNjlhM2M0YjBiYmY3
MDkyYTlkYjA3ZjRiMWQ4ZjZjYWM2YjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdGb250RmFjZVNyY0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEZh
Y2VTcmNFbGVtZW50LmgKQEAgLTM3LDYgKzM3LDcgQEAgcHJpdmF0ZToKICAgICBTVkdGb250RmFj
ZVNyY0VsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7CiAgICAgCiAgICAg
dmlydHVhbCB2b2lkIGNoaWxkcmVuQ2hhbmdlZChib29sIGNoYW5nZWRCeVBhcnNlciA9IGZhbHNl
LCBOb2RlKiBiZWZvcmVDaGFuZ2UgPSAwLCBOb2RlKiBhZnRlckNoYW5nZSA9IDAsIGludCBjaGls
ZENvdW50RGVsdGEgPSAwKTsKKyAgICB2aXJ0dWFsIGJvb2wgcmVuZGVyZXJJc05lZWRlZChjb25z
dCBSZW5kZXJTdHlsZSYpIE9WRVJSSURFIHsgcmV0dXJuIGZhbHNlOyB9CiB9OwogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEZh
Y2VVcmlFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VVcmlFbGVtZW50
LmgKaW5kZXggMTY0MGM2YTgwMjlkNDdjMTE2N2Y5M2RlZjBmNTBkZTY2YTZiN2MzOC4uZGNjNmU4
N2I0NTQzODkyZjNiMWU3NWJjOTNhYzc0MzdlOWQ5ZWY2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0ZvbnRGYWNlVXJpRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdGb250RmFjZVVyaUVsZW1lbnQuaApAQCAtNDMsNiArNDMsNyBAQCBwcml2YXRlOgogICAg
IHZpcnR1YWwgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3Qg
QXRvbWljU3RyaW5nJikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGNoaWxkcmVuQ2hhbmdl
ZChib29sIGNoYW5nZWRCeVBhcnNlciA9IGZhbHNlLCBOb2RlKiBiZWZvcmVDaGFuZ2UgPSAwLCBO
b2RlKiBhZnRlckNoYW5nZSA9IDAsIGludCBjaGlsZENvdW50RGVsdGEgPSAwKTsKICAgICB2aXJ0
dWFsIEluc2VydGlvbk5vdGlmaWNhdGlvblJlcXVlc3QgaW5zZXJ0ZWRJbnRvKENvbnRhaW5lck5v
ZGUqKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIGJvb2wgcmVuZGVyZXJJc05lZWRlZChjb25zdCBS
ZW5kZXJTdHlsZSYpIE9WRVJSSURFIHsgcmV0dXJuIGZhbHNlOyB9CiAKICAgICB2b2lkIGxvYWRG
b250KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHRWxlbWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR0VsZW1lbnQuY3BwCmluZGV4IDMxYzBhMGNmZDllMmIy
N2NjZDY0NWM3Y2M2ZDg3YWE5NDBlZDBkZTcuLjQ5MmFjOWY4MzYxZDE5OTEyZjUzNjUyOTYwOTRm
YjU1ZTc1NTkxNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHRWxlbWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dFbGVtZW50LmNwcApAQCAtMTAzLDcgKzEw
Myw3IEBAIFJlbmRlck9iamVjdCogU1ZHR0VsZW1lbnQ6OmNyZWF0ZVJlbmRlcmVyKFJlbmRlckFy
ZW5hKiBhcmVuYSwgUmVuZGVyU3R5bGUqIHN0eWxlCiAKIGJvb2wgU1ZHR0VsZW1lbnQ6OnJlbmRl
cmVySXNOZWVkZWQoY29uc3QgUmVuZGVyU3R5bGUmKQogewotICAgIC8vIFVubGlrZSBTVkdTdHls
ZWRFbGVtZW50OjpyZW5kZXJlcklzTmVlZGVkKCksIHdlIHN0aWxsIGNyZWF0ZSByZW5kZXJlcnMs
IGV2ZW4gaWYKKyAgICAvLyBVbmxpa2UgU1ZHRWxlbWVudDo6cmVuZGVyZXJJc05lZWRlZCgpLCB3
ZSBzdGlsbCBjcmVhdGUgcmVuZGVyZXJzLCBldmVuIGlmCiAgICAgLy8gZGlzcGxheSBpcyBzZXQg
dG8gJ25vbmUnIC0gd2hpY2ggaXMgc3BlY2lhbCB0byBTVkcgPGc+IGNvbnRhaW5lciBlbGVtZW50
cy4KICAgICByZXR1cm4gcGFyZW50T3JTaGFkb3dIb3N0RWxlbWVudCgpICYmIHBhcmVudE9yU2hh
ZG93SG9zdEVsZW1lbnQoKS0+aXNTVkdFbGVtZW50KCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHR2x5cGhFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdH
bHlwaEVsZW1lbnQuY3BwCmluZGV4IDgzZDA1M2JjM2M2NGExYmI3NjcwZTE1M2JkMGVjNWIwZmVk
MmM1ZmQuLjFjNDkzYTNiYzMxZTZkODQ2NzhkMjRiZWIwZTkyN2ViOGFjN2RlYmEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHbHlwaEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdHbHlwaEVsZW1lbnQuY3BwCkBAIC0zNCw3ICszNCw3IEBACiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIGlubGluZSBTVkdHbHlwaEVsZW1lbnQ6OlNWR0dseXBoRWxlbWVudChj
b25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCi0gICAgOiBT
VkdTdHlsZWRFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQorICAgIDogU1ZHRWxlbWVudCh0YWdO
YW1lLCBkb2N1bWVudCkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6Z2x5cGhU
YWcpKTsKIH0KQEAgLTU2LDIwICs1NiwyMCBAQCB2b2lkIFNWR0dseXBoRWxlbWVudDo6cGFyc2VB
dHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbWljU3RyaQogICAg
IGlmIChuYW1lID09IFNWR05hbWVzOjpkQXR0cikKICAgICAgICAgaW52YWxpZGF0ZUdseXBoQ2Fj
aGUoKTsKICAgICBlbHNlCi0gICAgICAgIFNWR1N0eWxlZEVsZW1lbnQ6OnBhcnNlQXR0cmlidXRl
KG5hbWUsIHZhbHVlKTsKKyAgICAgICAgU1ZHRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUobmFtZSwg
dmFsdWUpOwogfQogCiBOb2RlOjpJbnNlcnRpb25Ob3RpZmljYXRpb25SZXF1ZXN0IFNWR0dseXBo
RWxlbWVudDo6aW5zZXJ0ZWRJbnRvKENvbnRhaW5lck5vZGUqIHJvb3RQYXJlbnQpCiB7CiAgICAg
aW52YWxpZGF0ZUdseXBoQ2FjaGUoKTsKLSAgICByZXR1cm4gU1ZHU3R5bGVkRWxlbWVudDo6aW5z
ZXJ0ZWRJbnRvKHJvb3RQYXJlbnQpOworICAgIHJldHVybiBTVkdFbGVtZW50OjppbnNlcnRlZElu
dG8ocm9vdFBhcmVudCk7CiB9CiAKIHZvaWQgU1ZHR2x5cGhFbGVtZW50OjpyZW1vdmVkRnJvbShD
b250YWluZXJOb2RlKiByb290UGFyZW50KQogewogICAgIGlmIChyb290UGFyZW50LT5pbkRvY3Vt
ZW50KCkpCiAgICAgICAgIGludmFsaWRhdGVHbHlwaENhY2hlKCk7Ci0gICAgU1ZHU3R5bGVkRWxl
bWVudDo6cmVtb3ZlZEZyb20ocm9vdFBhcmVudCk7CisgICAgU1ZHRWxlbWVudDo6cmVtb3ZlZEZy
b20ocm9vdFBhcmVudCk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgU1ZHR2x5cGg6OkFyYWJpY0Zvcm0g
cGFyc2VBcmFiaWNGb3JtKGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHR2x5cGhFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHR2x5cGhFbGVtZW50LmgKaW5kZXggNjY4YmI4NmI0NDRhZjFhNTg4MjMwY2NiZTYxYzNiZjIx
MTUzZTRjYi4uMjdjYzA5MjMzZmNiOTdjZmU0NzM2MzFlMDMyNTYzMTRlZTE4M2M3YiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dseXBoRWxlbWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdHbHlwaEVsZW1lbnQuaApAQCAtMjMsMTQgKzIzLDE0IEBACiAjZGVmaW5l
IFNWR0dseXBoRWxlbWVudF9oCiAKICNpZiBFTkFCTEUoU1ZHX0ZPTlRTKQorI2luY2x1ZGUgIlNW
R0VsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdHbHlwaC5oIgotI2luY2x1ZGUgIlNWR1N0eWxlZEVs
ZW1lbnQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTVkdGb250RGF0YTsKIAot
Y2xhc3MgU1ZHR2x5cGhFbGVtZW50IEZJTkFMIDogcHVibGljIFNWR1N0eWxlZEVsZW1lbnQgewor
Y2xhc3MgU1ZHR2x5cGhFbGVtZW50IEZJTkFMIDogcHVibGljIFNWR0VsZW1lbnQgewogcHVibGlj
OgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNWR0dseXBoRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1
YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHR2x5cGhSZWZFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHbHlwaFJl
ZkVsZW1lbnQuY3BwCmluZGV4IDcyODM3NDk1ZmNhMzQzMDRhNzc4MDcxNjkwZDFmYmU5YzgyN2I4
MzYuLjExYjhlMWYwOTIzNGIwNjY5N2Q0YTU4ZmE4OWE0ODlhMjYzMThhYjggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHbHlwaFJlZkVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdHbHlwaFJlZkVsZW1lbnQuY3BwCkBAIC0zNSwxMSArMzUsMTEgQEAgREVG
SU5FX0FOSU1BVEVEX1NUUklORyhTVkdHbHlwaFJlZkVsZW1lbnQsIFhMaW5rTmFtZXM6OmhyZWZB
dHRyLCBIcmVmLCBocmVmKQogCiBCRUdJTl9SRUdJU1RFUl9BTklNQVRFRF9QUk9QRVJUSUVTKFNW
R0dseXBoUmVmRWxlbWVudCkKICAgICBSRUdJU1RFUl9MT0NBTF9BTklNQVRFRF9QUk9QRVJUWSho
cmVmKQotICAgIFJFR0lTVEVSX1BBUkVOVF9BTklNQVRFRF9QUk9QRVJUSUVTKFNWR1N0eWxlZEVs
ZW1lbnQpCisgICAgUkVHSVNURVJfUEFSRU5UX0FOSU1BVEVEX1BST1BFUlRJRVMoU1ZHRWxlbWVu
dCkKIEVORF9SRUdJU1RFUl9BTklNQVRFRF9QUk9QRVJUSUVTCiAKIGlubGluZSBTVkdHbHlwaFJl
ZkVsZW1lbnQ6OlNWR0dseXBoUmVmRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1l
LCBEb2N1bWVudCogZG9jdW1lbnQpCi0gICAgOiBTVkdTdHlsZWRFbGVtZW50KHRhZ05hbWUsIGRv
Y3VtZW50KQorICAgIDogU1ZHRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKICAgICAsIG1feCgw
KQogICAgICwgbV95KDApCiAgICAgLCBtX2R4KDApCkBAIC04MSw3ICs4MSw3IEBAIHZvaWQgU1ZH
R2x5cGhSZWZFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1l
LCBjb25zdCBBdG9taWNTCiAgICAgZWxzZSB7CiAgICAgICAgIGlmIChTVkdVUklSZWZlcmVuY2U6
OnBhcnNlQXR0cmlidXRlKG5hbWUsIHZhbHVlKSkKICAgICAgICAgICAgIHJldHVybjsKLSAgICAg
ICAgU1ZHU3R5bGVkRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUobmFtZSwgdmFsdWUpOworICAgICAg
ICBTVkdFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShuYW1lLCB2YWx1ZSk7CiAgICAgfQogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR2x5cGhSZWZFbGVtZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHR2x5cGhSZWZFbGVtZW50LmgKaW5kZXggNjJjNWJlZmZmODE1M2Ex
OTdjN2E1MGU2MmE5NGJjZTllYzU1OGFiMS4uYjRhNDRhZTM5NzYxMmRmNmJlMTFjOTAyNGIzODJh
M2QzNTExYzc3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dseXBoUmVmRWxl
bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHbHlwaFJlZkVsZW1lbnQuaApAQCAt
MjEsMTIgKzIxLDEyIEBACiAjZGVmaW5lIFNWR0dseXBoUmVmRWxlbWVudF9oCiAKICNpZiBFTkFC
TEUoU1ZHKSAmJiBFTkFCTEUoU1ZHX0ZPTlRTKQotI2luY2x1ZGUgIlNWR1N0eWxlZEVsZW1lbnQu
aCIKKyNpbmNsdWRlICJTVkdFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHVVJJUmVmZXJlbmNlLmgi
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgU1ZHR2x5cGhSZWZFbGVtZW50IEZJTkFM
IDogcHVibGljIFNWR1N0eWxlZEVsZW1lbnQsCitjbGFzcyBTVkdHbHlwaFJlZkVsZW1lbnQgRklO
QUwgOiBwdWJsaWMgU1ZHRWxlbWVudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHB1YmxpYyBTVkdVUklSZWZlcmVuY2UgewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRy
PFNWR0dseXBoUmVmRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVu
dCopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dseXBoUmVmRWxlbWVudC5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR2x5cGhSZWZFbGVtZW50LmlkbAppbmRleCA5ZmM5
ZmVlMGMxMzI3YTZlMzllMzUxMDgyNjYzMTI4NDhjMDE0ZDdkLi44NjAyNzEwNjZjZTU4MmIzZGM1
ODE2YzdiNDc0MGFmY2ExNTMyZjMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
R2x5cGhSZWZFbGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR2x5cGhSZWZF
bGVtZW50LmlkbApAQCAtMTksNyArMTksNyBAQAogCiBbCiAgICAgQ29uZGl0aW9uYWw9U1ZHJlNW
R19GT05UUwotXSBpbnRlcmZhY2UgU1ZHR2x5cGhSZWZFbGVtZW50IDogU1ZHU3R5bGVkRWxlbWVu
dCB7CitdIGludGVyZmFjZSBTVkdHbHlwaFJlZkVsZW1lbnQgOiBTVkdFbGVtZW50IHsKICAgICAv
LyBGSVhNRTogVXNlIFtSZWZsZWN0XSBhZnRlciBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NjQ4NDMgaXMgZml4ZWQuCiAgICAgW1NldHRlclJhaXNlc0V4Y2VwdGlvbl0g
YXR0cmlidXRlIERPTVN0cmluZyBnbHlwaFJlZjsKICAgICBbUmVmbGVjdF0gYXR0cmlidXRlIERP
TVN0cmluZyBmb3JtYXQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR3JhZGll
bnRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHcmFkaWVudEVsZW1lbnQuY3Bw
CmluZGV4IDhkMzk4YjY2ZTQwODEyZGRlYmZiZThjMWUyNWE2OTM5MjRiZTJhNTcuLmJlZjQ0ZmEy
Yjk2ODM0YzczOTQ1ZjJjM2ZjMTQ2N2Y1MTQwZjhmYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdHcmFkaWVudEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdHcmFkaWVudEVsZW1lbnQuY3BwCkBAIC01MiwxMSArNTIsMTEgQEAgQkVHSU5fUkVHSVNURVJf
QU5JTUFURURfUFJPUEVSVElFUyhTVkdHcmFkaWVudEVsZW1lbnQpCiAgICAgUkVHSVNURVJfTE9D
QUxfQU5JTUFURURfUFJPUEVSVFkoZ3JhZGllbnRUcmFuc2Zvcm0pCiAgICAgUkVHSVNURVJfTE9D
QUxfQU5JTUFURURfUFJPUEVSVFkoaHJlZikKICAgICBSRUdJU1RFUl9MT0NBTF9BTklNQVRFRF9Q
Uk9QRVJUWShleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQotICAgIFJFR0lTVEVSX1BBUkVOVF9B
TklNQVRFRF9QUk9QRVJUSUVTKFNWR1N0eWxlZEVsZW1lbnQpCisgICAgUkVHSVNURVJfUEFSRU5U
X0FOSU1BVEVEX1BST1BFUlRJRVMoU1ZHRWxlbWVudCkKIEVORF9SRUdJU1RFUl9BTklNQVRFRF9Q
Uk9QRVJUSUVTCiAgCiBTVkdHcmFkaWVudEVsZW1lbnQ6OlNWR0dyYWRpZW50RWxlbWVudChjb25z
dCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCi0gICAgOiBTVkdT
dHlsZWRFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQorICAgIDogU1ZHRWxlbWVudCh0YWdOYW1l
LCBkb2N1bWVudCkKICAgICAsIG1fc3ByZWFkTWV0aG9kKFNWR1NwcmVhZE1ldGhvZFBhZCkKICAg
ICAsIG1fZ3JhZGllbnRVbml0cyhTVkdVbml0VHlwZXM6OlNWR19VTklUX1RZUEVfT0JKRUNUQk9V
TkRJTkdCT1gpCiB7CkBAIC03OSw3ICs3OSw3IEBAIGJvb2wgU1ZHR3JhZGllbnRFbGVtZW50Ojpp
c1N1cHBvcnRlZEF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSkKIHZvaWQg
U1ZHR3JhZGllbnRFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBu
YW1lLCBjb25zdCBBdG9taWNTdHJpbmcmIHZhbHVlKQogewogICAgIGlmICghaXNTdXBwb3J0ZWRB
dHRyaWJ1dGUobmFtZSkpIHsKLSAgICAgICAgU1ZHU3R5bGVkRWxlbWVudDo6cGFyc2VBdHRyaWJ1
dGUobmFtZSwgdmFsdWUpOworICAgICAgICBTVkdFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShuYW1l
LCB2YWx1ZSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTExNiw3ICsxMTYsNyBAQCB2
b2lkIFNWR0dyYWRpZW50RWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFt
ZSYgbmFtZSwgY29uc3QgQXRvbWljUwogdm9pZCBTVkdHcmFkaWVudEVsZW1lbnQ6OnN2Z0F0dHJp
YnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUpCiB7CiAgICAgaWYgKCFp
c1N1cHBvcnRlZEF0dHJpYnV0ZShhdHRyTmFtZSkpIHsKLSAgICAgICAgU1ZHU3R5bGVkRWxlbWVu
dDo6c3ZnQXR0cmlidXRlQ2hhbmdlZChhdHRyTmFtZSk7CisgICAgICAgIFNWR0VsZW1lbnQ6OnN2
Z0F0dHJpYnV0ZUNoYW5nZWQoYXR0ck5hbWUpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBA
IC0xMjgsNyArMTI4LDcgQEAgdm9pZCBTVkdHcmFkaWVudEVsZW1lbnQ6OnN2Z0F0dHJpYnV0ZUNo
YW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUpCiAgICAgCiB2b2lkIFNWR0dyYWRp
ZW50RWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkKGJvb2wgY2hhbmdlZEJ5UGFyc2VyLCBOb2RlKiBi
ZWZvcmVDaGFuZ2UsIE5vZGUqIGFmdGVyQ2hhbmdlLCBpbnQgY2hpbGRDb3VudERlbHRhKQogewot
ICAgIFNWR1N0eWxlZEVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZChjaGFuZ2VkQnlQYXJzZXIsIGJl
Zm9yZUNoYW5nZSwgYWZ0ZXJDaGFuZ2UsIGNoaWxkQ291bnREZWx0YSk7CisgICAgU1ZHRWxlbWVu
dDo6Y2hpbGRyZW5DaGFuZ2VkKGNoYW5nZWRCeVBhcnNlciwgYmVmb3JlQ2hhbmdlLCBhZnRlckNo
YW5nZSwgY2hpbGRDb3VudERlbHRhKTsKIAogICAgIGlmIChjaGFuZ2VkQnlQYXJzZXIpCiAgICAg
ICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHcmFkaWVudEVs
ZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHcmFkaWVudEVsZW1lbnQuaAppbmRleCBh
ZThhNGNmY2M4Y2ZiOWZkNDJmZWUzMmVjYTc2ODY3NTY1MjIxMzM1Li42NjFhYzRlYTRmMTIyNWQz
NDIxNDEzYjU0NmI5OGI3ZTk4ZmNhOWQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHR3JhZGllbnRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dyYWRpZW50
RWxlbWVudC5oCkBAIC0yNiw5ICsyNiw5IEBACiAjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRCb29sZWFu
LmgiCiAjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbi5oIgogI2luY2x1ZGUgIlNWR0Fu
aW1hdGVkVHJhbnNmb3JtTGlzdC5oIgorI2luY2x1ZGUgIlNWR0VsZW1lbnQuaCIKICNpbmNsdWRl
ICJTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmgiCiAjaW5jbHVkZSAiU1ZHTmFtZXMuaCIK
LSNpbmNsdWRlICJTVkdTdHlsZWRFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHVVJJUmVmZXJlbmNl
LmgiCiAjaW5jbHVkZSAiU1ZHVW5pdFR5cGVzLmgiCiAKQEAgLTc0LDcgKzc0LDcgQEAgc3RydWN0
IFNWR1Byb3BlcnR5VHJhaXRzPFNWR1NwcmVhZE1ldGhvZFR5cGU+IHsKICAgICB9CiB9OwogCi1j
bGFzcyBTVkdHcmFkaWVudEVsZW1lbnQgOiBwdWJsaWMgU1ZHU3R5bGVkRWxlbWVudCwKK2NsYXNz
IFNWR0dyYWRpZW50RWxlbWVudCA6IHB1YmxpYyBTVkdFbGVtZW50LAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcHVibGljIFNWR1VSSVJlZmVyZW5jZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkIHsKIHB1YmxpYzoKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHcmFkaWVudEVsZW1lbnQuaWRsIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5pZGwKaW5kZXggNzYyYmJlOWIwZTA0
ZDEzMjk0NjE4MTMwODg2YjRhNWE0YzZiYmJjOS4uOTkzYmUzNDIzNzU2Y2VhNWYwMGNjNjg4MDI0
ZTdjZTRkZWJmZjcxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dyYWRpZW50
RWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5p
ZGwKQEAgLTI2LDcgKzI2LDcgQEAKIFsKICAgICBDb25kaXRpb25hbD1TVkcsCiAgICAgRG9Ob3RD
aGVja0NvbnN0YW50cwotXSBpbnRlcmZhY2UgU1ZHR3JhZGllbnRFbGVtZW50IDogU1ZHU3R5bGVk
RWxlbWVudCB7CitdIGludGVyZmFjZSBTVkdHcmFkaWVudEVsZW1lbnQgOiBTVkdFbGVtZW50IHsK
ICAgICAvLyBTcHJlYWQgTWV0aG9kIFR5cGVzCiAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgU1ZH
X1NQUkVBRE1FVEhPRF9VTktOT1dOID0gMDsKICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBTVkdf
U1BSRUFETUVUSE9EX1BBRCAgICAgPSAxOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0dyYXBoaWNzRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR3JhcGhpY3NF
bGVtZW50LmNwcAppbmRleCAzODE0ZDg2YzM0OTVjZWE0MzdjMWU3ODg3ZDI3OThmNGI3ZmE0OGM2
Li5mNmQwYTRhYTg0ZDUzYThkNjkyNWJlYWQ0MDJmNTM5M2IwZGZhZTI0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHR3JhcGhpY3NFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHR3JhcGhpY3NFbGVtZW50LmNwcApAQCAtMzgsMTIgKzM4LDEyIEBAIERFRklO
RV9BTklNQVRFRF9UUkFOU0ZPUk1fTElTVChTVkdHcmFwaGljc0VsZW1lbnQsIFNWR05hbWVzOjp0
cmFuc2Zvcm1BdHRyLCBUcmFuCiAKIEJFR0lOX1JFR0lTVEVSX0FOSU1BVEVEX1BST1BFUlRJRVMo
U1ZHR3JhcGhpY3NFbGVtZW50KQogICAgIFJFR0lTVEVSX0xPQ0FMX0FOSU1BVEVEX1BST1BFUlRZ
KHRyYW5zZm9ybSkKLSAgICBSRUdJU1RFUl9QQVJFTlRfQU5JTUFURURfUFJPUEVSVElFUyhTVkdT
dHlsZWRFbGVtZW50KQorICAgIFJFR0lTVEVSX1BBUkVOVF9BTklNQVRFRF9QUk9QRVJUSUVTKFNW
R0VsZW1lbnQpCiAgICAgUkVHSVNURVJfUEFSRU5UX0FOSU1BVEVEX1BST1BFUlRJRVMoU1ZHVGVz
dHMpCiBFTkRfUkVHSVNURVJfQU5JTUFURURfUFJPUEVSVElFUwogCiBTVkdHcmFwaGljc0VsZW1l
bnQ6OlNWR0dyYXBoaWNzRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1
bWVudCogZG9jdW1lbnQpCi0gICAgOiBTVkdTdHlsZWRFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50
KQorICAgIDogU1ZHRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKIHsKICAgICByZWdpc3RlckFu
aW1hdGVkUHJvcGVydGllc0ZvclNWR0dyYXBoaWNzRWxlbWVudCgpOwogfQpAQCAtMTA0LDcgKzEw
NCw3IEBAIGJvb2wgU1ZHR3JhcGhpY3NFbGVtZW50Ojppc1N1cHBvcnRlZEF0dHJpYnV0ZShjb25z
dCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSkKIHZvaWQgU1ZHR3JhcGhpY3NFbGVtZW50OjpwYXJz
ZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9taWNTdHJpbmcm
IHZhbHVlKQogewogICAgIGlmICghaXNTdXBwb3J0ZWRBdHRyaWJ1dGUobmFtZSkpIHsKLSAgICAg
ICAgU1ZHU3R5bGVkRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUobmFtZSwgdmFsdWUpOworICAgICAg
ICBTVkdFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShuYW1lLCB2YWx1ZSk7CiAgICAgICAgIHJldHVy
bjsKICAgICB9CiAKQEAgLTEyNSw3ICsxMjUsNyBAQCB2b2lkIFNWR0dyYXBoaWNzRWxlbWVudDo6
cGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbWljUwog
dm9pZCBTVkdHcmFwaGljc0VsZW1lbnQ6OnN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlm
aWVkTmFtZSYgYXR0ck5hbWUpCiB7CiAgICAgaWYgKCFpc1N1cHBvcnRlZEF0dHJpYnV0ZShhdHRy
TmFtZSkpIHsKLSAgICAgICAgU1ZHU3R5bGVkRWxlbWVudDo6c3ZnQXR0cmlidXRlQ2hhbmdlZChh
dHRyTmFtZSk7CisgICAgICAgIFNWR0VsZW1lbnQ6OnN2Z0F0dHJpYnV0ZUNoYW5nZWQoYXR0ck5h
bWUpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHR3JhcGhpY3NFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR3JhcGhp
Y3NFbGVtZW50LmgKaW5kZXggYjhhYTgxOGVlNmExNjUwMWRmYWYzNzJhNzg1ODlhZDQ5NTc3MWEy
OC4uNzY0NjkyYzNkMjFiYmZhM2I4MWJlYzk2ZTJiZjFlOGU4Njk4MGY1NiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0dyYXBoaWNzRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdHcmFwaGljc0VsZW1lbnQuaApAQCAtMjMsNyArMjMsNyBAQAogCiAjaWYgRU5B
QkxFKFNWRykKICNpbmNsdWRlICJTVkdBbmltYXRlZFRyYW5zZm9ybUxpc3QuaCIKLSNpbmNsdWRl
ICJTVkdTdHlsZWRFbGVtZW50LmgiCisjaW5jbHVkZSAiU1ZHRWxlbWVudC5oIgogI2luY2x1ZGUg
IlNWR1Rlc3RzLmgiCiAjaW5jbHVkZSAiU1ZHVHJhbnNmb3JtYWJsZS5oIgogCkBAIC0zMiw3ICsz
Miw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEFmZmluZVRyYW5zZm9ybTsKIGNsYXNz
IFBhdGg7CiAKLWNsYXNzIFNWR0dyYXBoaWNzRWxlbWVudCA6IHB1YmxpYyBTVkdTdHlsZWRFbGVt
ZW50LCBwdWJsaWMgU1ZHVHJhbnNmb3JtYWJsZSwgcHVibGljIFNWR1Rlc3RzIHsKK2NsYXNzIFNW
R0dyYXBoaWNzRWxlbWVudCA6IHB1YmxpYyBTVkdFbGVtZW50LCBwdWJsaWMgU1ZHVHJhbnNmb3Jt
YWJsZSwgcHVibGljIFNWR1Rlc3RzIHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5TVkdHcmFwaGlj
c0VsZW1lbnQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dyYXBoaWNz
RWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR3JhcGhpY3NFbGVtZW50LmlkbApp
bmRleCBmOTZlMjMxOWYzMDUxN2IzMTAyMmY2YzIyOWU2NDQxZWRhNDVlMTBkLi45ZmIwYjYyNDE4
YThkNjY1OTIxOTI2ZTZjMjVjZTBjMmQ2YjA0ODY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHR3JhcGhpY3NFbGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
R3JhcGhpY3NFbGVtZW50LmlkbApAQCAtMjUsNyArMjUsNyBAQAogCiBbCiAgICAgQ29uZGl0aW9u
YWw9U1ZHCi1dIGludGVyZmFjZSBTVkdHcmFwaGljc0VsZW1lbnQgOiBTVkdTdHlsZWRFbGVtZW50
IHsKK10gaW50ZXJmYWNlIFNWR0dyYXBoaWNzRWxlbWVudCA6IFNWR0VsZW1lbnQgewogICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBTVkdBbmltYXRlZFRyYW5zZm9ybUxpc3QgdHJhbnNmb3JtOwogCiAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIFNWR0VsZW1lbnQgbmVhcmVzdFZpZXdwb3J0RWxlbWVudDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMb2NhdGFibGUuY3BwIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0xvY2F0YWJsZS5jcHAKaW5kZXggMDA2ZDQ1ZGI1NmU2ZGM1ZjQ5NTQw
YTBlYjdhZjE4ODZiMmVhOTRmOC4uNWZmZGI1ZWM0YzY4ZTEyOTIxMDZkMzM1NzFmY2ViMDYyNDY0
ZGU0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xvY2F0YWJsZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xvY2F0YWJsZS5jcHAKQEAgLTg5LDggKzg5LDcgQEAg
QWZmaW5lVHJhbnNmb3JtIFNWR0xvY2F0YWJsZTo6Y29tcHV0ZUNUTShTVkdFbGVtZW50KiBlbGVt
ZW50LCBDVE1TY29wZSBtb2RlLCBTdHkKICAgICAgICAgaWYgKCFjdXJyZW50RWxlbWVudC0+aXNT
VkdFbGVtZW50KCkpCiAgICAgICAgICAgICBicmVhazsKIAotICAgICAgICBpZiAodG9TVkdFbGVt
ZW50KGN1cnJlbnRFbGVtZW50KS0+aXNTVkdTdHlsZWRFbGVtZW50KCkpCi0gICAgICAgICAgICBj
dG0gPSB0b1NWR1N0eWxlZEVsZW1lbnQoY3VycmVudEVsZW1lbnQpLT5sb2NhbENvb3JkaW5hdGVT
cGFjZVRyYW5zZm9ybShtb2RlKS5tdWx0aXBseShjdG0pOworICAgICAgICBjdG0gPSB0b1NWR0Vs
ZW1lbnQoY3VycmVudEVsZW1lbnQpLT5sb2NhbENvb3JkaW5hdGVTcGFjZVRyYW5zZm9ybShtb2Rl
KS5tdWx0aXBseShjdG0pOwogCiAgICAgICAgIC8vIEZvciBnZXRDVE0oKSBjb21wdXRhdGlvbiwg
c3RvcCBhdCB0aGUgbmVhcmVzdCB2aWV3cG9ydCBlbGVtZW50CiAgICAgICAgIGlmIChjdXJyZW50
RWxlbWVudCA9PSBzdG9wQXRFbGVtZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR01QYXRoRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR01QYXRoRWxlbWVudC5o
CmluZGV4IDc5ZDRmMTA4ZjliMTVlMzMxOGI2MzVjZTQ5NzRjNGJiZDY3OTA4YzQuLjY1NGNmZGUy
ZjM2NmU2MGJkYTRmZTRhMmY3NWE0NjE5NDg2OWFkOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdNUGF0aEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTVBh
dGhFbGVtZW50LmgKQEAgLTU2LDYgKzU2LDggQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQg
cGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYp
IE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1
YWxpZmllZE5hbWUmKSBPVkVSUklERTsKIAorICAgIHZpcnR1YWwgYm9vbCByZW5kZXJlcklzTmVl
ZGVkKGNvbnN0IFJlbmRlclN0eWxlJikgT1ZFUlJJREUgeyByZXR1cm4gZmFsc2U7IH0KKwogICAg
IHZvaWQgbm90aWZ5UGFyZW50T2ZQYXRoQ2hhbmdlKENvbnRhaW5lck5vZGUqKTsKIAogICAgIEJF
R0lOX0RFQ0xBUkVfQU5JTUFURURfUFJPUEVSVElFUyhTVkdNUGF0aEVsZW1lbnQpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWFya2VyRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHTWFya2VyRWxlbWVudC5jcHAKaW5kZXggMWQ0MWRiODhkMGI3MjQ1ZTRlYTY2
YTMxM2MxYTY3MWI1OTVlODRlMS4uNmVlZjI1NzhlODZhODY4MDc4NWViMjkzY2Q2NTUyM2Q4MmQy
MjFkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR01hcmtlckVsZW1lbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNYXJrZXJFbGVtZW50LmNwcApAQCAtNzAsMTEg
KzcwLDExIEBAIEJFR0lOX1JFR0lTVEVSX0FOSU1BVEVEX1BST1BFUlRJRVMoU1ZHTWFya2VyRWxl
bWVudCkKICAgICBSRUdJU1RFUl9MT0NBTF9BTklNQVRFRF9QUk9QRVJUWShleHRlcm5hbFJlc291
cmNlc1JlcXVpcmVkKQogICAgIFJFR0lTVEVSX0xPQ0FMX0FOSU1BVEVEX1BST1BFUlRZKHZpZXdC
b3gpCiAgICAgUkVHSVNURVJfTE9DQUxfQU5JTUFURURfUFJPUEVSVFkocHJlc2VydmVBc3BlY3RS
YXRpbykKLSAgICBSRUdJU1RFUl9QQVJFTlRfQU5JTUFURURfUFJPUEVSVElFUyhTVkdTdHlsZWRF
bGVtZW50KQorICAgIFJFR0lTVEVSX1BBUkVOVF9BTklNQVRFRF9QUk9QRVJUSUVTKFNWR0VsZW1l
bnQpCiBFTkRfUkVHSVNURVJfQU5JTUFURURfUFJPUEVSVElFUwogCiBpbmxpbmUgU1ZHTWFya2Vy
RWxlbWVudDo6U1ZHTWFya2VyRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBE
b2N1bWVudCogZG9jdW1lbnQpCi0gICAgOiBTVkdTdHlsZWRFbGVtZW50KHRhZ05hbWUsIGRvY3Vt
ZW50KQorICAgIDogU1ZHRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKICAgICAsIG1fcmVmWChM
ZW5ndGhNb2RlV2lkdGgpCiAgICAgLCBtX3JlZlkoTGVuZ3RoTW9kZUhlaWdodCkKICAgICAsIG1f
bWFya2VyV2lkdGgoTGVuZ3RoTW9kZVdpZHRoLCAiMyIpCkBAIC0xMzEsNyArMTMxLDcgQEAgdm9p
ZCBTVkdNYXJrZXJFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBu
YW1lLCBjb25zdCBBdG9taWNTdHIKICAgICBTVkdQYXJzaW5nRXJyb3IgcGFyc2VFcnJvciA9IE5v
RXJyb3I7CiAKICAgICBpZiAoIWlzU3VwcG9ydGVkQXR0cmlidXRlKG5hbWUpKQotICAgICAgICBT
VkdTdHlsZWRFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShuYW1lLCB2YWx1ZSk7CisgICAgICAgIFNW
R0VsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKG5hbWUsIHZhbHVlKTsKICAgICBlbHNlIGlmIChuYW1l
ID09IFNWR05hbWVzOjptYXJrZXJVbml0c0F0dHIpIHsKICAgICAgICAgU1ZHTWFya2VyVW5pdHNU
eXBlIHByb3BlcnR5VmFsdWUgPSBTVkdQcm9wZXJ0eVRyYWl0czxTVkdNYXJrZXJVbml0c1R5cGU+
Ojpmcm9tU3RyaW5nKHZhbHVlKTsKICAgICAgICAgaWYgKHByb3BlcnR5VmFsdWUgPiAwKQpAQCAt
MTYzLDcgKzE2Myw3IEBAIHZvaWQgU1ZHTWFya2VyRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUoY29u
c3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbWljU3RyCiB2b2lkIFNWR01hcmtlckVs
ZW1lbnQ6OnN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUp
CiB7CiAgICAgaWYgKCFpc1N1cHBvcnRlZEF0dHJpYnV0ZShhdHRyTmFtZSkpIHsKLSAgICAgICAg
U1ZHU3R5bGVkRWxlbWVudDo6c3ZnQXR0cmlidXRlQ2hhbmdlZChhdHRyTmFtZSk7CisgICAgICAg
IFNWR0VsZW1lbnQ6OnN2Z0F0dHJpYnV0ZUNoYW5nZWQoYXR0ck5hbWUpOwogICAgICAgICByZXR1
cm47CiAgICAgfQogCkBAIC0xODEsNyArMTgxLDcgQEAgdm9pZCBTVkdNYXJrZXJFbGVtZW50Ojpz
dmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lKQogCiB2b2lk
IFNWR01hcmtlckVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZChib29sIGNoYW5nZWRCeVBhcnNlciwg
Tm9kZSogYmVmb3JlQ2hhbmdlLCBOb2RlKiBhZnRlckNoYW5nZSwgaW50IGNoaWxkQ291bnREZWx0
YSkKIHsKLSAgICBTVkdTdHlsZWRFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQoY2hhbmdlZEJ5UGFy
c2VyLCBiZWZvcmVDaGFuZ2UsIGFmdGVyQ2hhbmdlLCBjaGlsZENvdW50RGVsdGEpOworICAgIFNW
R0VsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZChjaGFuZ2VkQnlQYXJzZXIsIGJlZm9yZUNoYW5nZSwg
YWZ0ZXJDaGFuZ2UsIGNoaWxkQ291bnREZWx0YSk7CiAKICAgICBpZiAoY2hhbmdlZEJ5UGFyc2Vy
KQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWFy
a2VyRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR01hcmtlckVsZW1lbnQuaAppbmRl
eCA2ODQ0MzQ5OTM5MmRkYjRhZWU3ZjU1YjlkNmFiYzVmOWI5MzQyYjFkLi4zMjFiZWY1MzFlNzQ1
MjZmOTBjZDg2YzIxNzZjZGYxMmY5ZTVhNGUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHTWFya2VyRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNYXJrZXJF
bGVtZW50LmgKQEAgLTI4LDkgKzI4LDkgQEAKICNpbmNsdWRlICJTVkdBbmltYXRlZExlbmd0aC5o
IgogI2luY2x1ZGUgIlNWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpby5oIgogI2luY2x1ZGUg
IlNWR0FuaW1hdGVkUmVjdC5oIgorI2luY2x1ZGUgIlNWR0VsZW1lbnQuaCIKICNpbmNsdWRlICJT
VkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmgiCiAjaW5jbHVkZSAiU1ZHRml0VG9WaWV3Qm94
LmgiCi0jaW5jbHVkZSAiU1ZHU3R5bGVkRWxlbWVudC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKQEAgLTk0LDcgKzk0LDcgQEAgc3RydWN0IFNWR1Byb3BlcnR5VHJhaXRzPFNWR01hcmtlck9y
aWVudFR5cGU+IHsKICAgICB9CiB9OwogCi1jbGFzcyBTVkdNYXJrZXJFbGVtZW50IEZJTkFMIDog
cHVibGljIFNWR1N0eWxlZEVsZW1lbnQsCitjbGFzcyBTVkdNYXJrZXJFbGVtZW50IEZJTkFMIDog
cHVibGljIFNWR0VsZW1lbnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVibGlj
IFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcHVibGljIFNWR0ZpdFRvVmlld0JveCB7CiBwdWJsaWM6CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHTWFya2VyRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHTWFya2VyRWxlbWVudC5pZGwKaW5kZXggNzE4NjM4OTk3ZjEwZWIxNDc0MmQwZDFiMmMxYzZi
Njg3OTU2ZDVmYy4uZTQ0YjAyNTU0YWJmNDdkMDk0YTQxNjU5ZGQ4NjJiNGU4YjA1ZjZkNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR01hcmtlckVsZW1lbnQuaWRsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdNYXJrZXJFbGVtZW50LmlkbApAQCAtMjUsNyArMjUsNyBAQAog
CiBbCiAgICAgQ29uZGl0aW9uYWw9U1ZHCi1dIGludGVyZmFjZSBTVkdNYXJrZXJFbGVtZW50IDog
U1ZHU3R5bGVkRWxlbWVudCB7CitdIGludGVyZmFjZSBTVkdNYXJrZXJFbGVtZW50IDogU1ZHRWxl
bWVudCB7CiAgICAgLy8gTWFya2VyIFVuaXQgVHlwZXMKICAgICBjb25zdCB1bnNpZ25lZCBzaG9y
dCBTVkdfTUFSS0VSVU5JVFNfVU5LTk9XTiAgICAgICAgPSAwOwogICAgIGNvbnN0IHVuc2lnbmVk
IHNob3J0IFNWR19NQVJLRVJVTklUU19VU0VSU1BBQ0VPTlVTRSA9IDE7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWFza0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR01hc2tFbGVtZW50LmNwcAppbmRleCAwOTlhYWRmYWJjMTliYzFkNzc1Y2RjNWEwYzc1Yjhk
ODFmMWI5NTMxLi5hYWY2ZWZhNTZmYWJiMTYxYTEzYjBhMjg3MWIxMmE4NGM5NzM3MWYzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWFza0VsZW1lbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdNYXNrRWxlbWVudC5jcHAKQEAgLTUzLDEyICs1MywxMiBAQCBCRUdJ
Tl9SRUdJU1RFUl9BTklNQVRFRF9QUk9QRVJUSUVTKFNWR01hc2tFbGVtZW50KQogICAgIFJFR0lT
VEVSX0xPQ0FMX0FOSU1BVEVEX1BST1BFUlRZKHdpZHRoKQogICAgIFJFR0lTVEVSX0xPQ0FMX0FO
SU1BVEVEX1BST1BFUlRZKGhlaWdodCkKICAgICBSRUdJU1RFUl9MT0NBTF9BTklNQVRFRF9QUk9Q
RVJUWShleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQotICAgIFJFR0lTVEVSX1BBUkVOVF9BTklN
QVRFRF9QUk9QRVJUSUVTKFNWR1N0eWxlZEVsZW1lbnQpCisgICAgUkVHSVNURVJfUEFSRU5UX0FO
SU1BVEVEX1BST1BFUlRJRVMoU1ZHRWxlbWVudCkKICAgICBSRUdJU1RFUl9QQVJFTlRfQU5JTUFU
RURfUFJPUEVSVElFUyhTVkdUZXN0cykKIEVORF9SRUdJU1RFUl9BTklNQVRFRF9QUk9QRVJUSUVT
CiAKIGlubGluZSBTVkdNYXNrRWxlbWVudDo6U1ZHTWFza0VsZW1lbnQoY29uc3QgUXVhbGlmaWVk
TmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQotICAgIDogU1ZHU3R5bGVkRWxlbWVu
dCh0YWdOYW1lLCBkb2N1bWVudCkKKyAgICA6IFNWR0VsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQp
CiAgICAgLCBtX21hc2tVbml0cyhTVkdVbml0VHlwZXM6OlNWR19VTklUX1RZUEVfT0JKRUNUQk9V
TkRJTkdCT1gpCiAgICAgLCBtX21hc2tDb250ZW50VW5pdHMoU1ZHVW5pdFR5cGVzOjpTVkdfVU5J
VF9UWVBFX1VTRVJTUEFDRU9OVVNFKQogICAgICwgbV94KExlbmd0aE1vZGVXaWR0aCwgIi0xMCUi
KQpAQCAtOTksNyArOTksNyBAQCB2b2lkIFNWR01hc2tFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShj
b25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9taWNTdHJpbgogICAgIFNWR1BhcnNp
bmdFcnJvciBwYXJzZUVycm9yID0gTm9FcnJvcjsKIAogICAgIGlmICghaXNTdXBwb3J0ZWRBdHRy
aWJ1dGUobmFtZSkpCi0gICAgICAgIFNWR1N0eWxlZEVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKG5h
bWUsIHZhbHVlKTsKKyAgICAgICAgU1ZHRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUobmFtZSwgdmFs
dWUpOwogICAgIGVsc2UgaWYgKG5hbWUgPT0gU1ZHTmFtZXM6Om1hc2tVbml0c0F0dHIpIHsKICAg
ICAgICAgU1ZHVW5pdFR5cGVzOjpTVkdVbml0VHlwZSBwcm9wZXJ0eVZhbHVlID0gU1ZHUHJvcGVy
dHlUcmFpdHM8U1ZHVW5pdFR5cGVzOjpTVkdVbml0VHlwZT46OmZyb21TdHJpbmcodmFsdWUpOwog
ICAgICAgICBpZiAocHJvcGVydHlWYWx1ZSA+IDApCkBAIC0xMzAsNyArMTMwLDcgQEAgdm9pZCBT
VkdNYXNrRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwg
Y29uc3QgQXRvbWljU3RyaW4KIHZvaWQgU1ZHTWFza0VsZW1lbnQ6OnN2Z0F0dHJpYnV0ZUNoYW5n
ZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUpCiB7CiAgICAgaWYgKCFpc1N1cHBvcnRl
ZEF0dHJpYnV0ZShhdHRyTmFtZSkpIHsKLSAgICAgICAgU1ZHU3R5bGVkRWxlbWVudDo6c3ZnQXR0
cmlidXRlQ2hhbmdlZChhdHRyTmFtZSk7CisgICAgICAgIFNWR0VsZW1lbnQ6OnN2Z0F0dHJpYnV0
ZUNoYW5nZWQoYXR0ck5hbWUpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC0xNDgsNyAr
MTQ4LDcgQEAgdm9pZCBTVkdNYXNrRWxlbWVudDo6c3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBR
dWFsaWZpZWROYW1lJiBhdHRyTmFtZSkKIAogdm9pZCBTVkdNYXNrRWxlbWVudDo6Y2hpbGRyZW5D
aGFuZ2VkKGJvb2wgY2hhbmdlZEJ5UGFyc2VyLCBOb2RlKiBiZWZvcmVDaGFuZ2UsIE5vZGUqIGFm
dGVyQ2hhbmdlLCBpbnQgY2hpbGRDb3VudERlbHRhKQogewotICAgIFNWR1N0eWxlZEVsZW1lbnQ6
OmNoaWxkcmVuQ2hhbmdlZChjaGFuZ2VkQnlQYXJzZXIsIGJlZm9yZUNoYW5nZSwgYWZ0ZXJDaGFu
Z2UsIGNoaWxkQ291bnREZWx0YSk7CisgICAgU1ZHRWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkKGNo
YW5nZWRCeVBhcnNlciwgYmVmb3JlQ2hhbmdlLCBhZnRlckNoYW5nZSwgY2hpbGRDb3VudERlbHRh
KTsKIAogICAgIGlmIChjaGFuZ2VkQnlQYXJzZXIpCiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNYXNrRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR01hc2tFbGVtZW50LmgKaW5kZXggN2M5ZDRhMDIzYzZiMTg4OTBkMDRlNWUzMmY1NGFk
Y2Q4MGQ5OGYwNC4uNTk1ZWMzZTZmNGFiODE3Nzg2ZGNiMWU1ODU4MTk1ZmFlY2M5ZWViMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR01hc2tFbGVtZW50LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR01hc2tFbGVtZW50LmgKQEAgLTI0LDE1ICsyNCwxNSBAQAogI2luY2x1
ZGUgIlNWR0FuaW1hdGVkQm9vbGVhbi5oIgogI2luY2x1ZGUgIlNWR0FuaW1hdGVkRW51bWVyYXRp
b24uaCIKICNpbmNsdWRlICJTVkdBbmltYXRlZExlbmd0aC5oIgorI2luY2x1ZGUgIlNWR0VsZW1l
bnQuaCIKICNpbmNsdWRlICJTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmgiCiAjaW5jbHVk
ZSAiU1ZHTmFtZXMuaCIKLSNpbmNsdWRlICJTVkdTdHlsZWRFbGVtZW50LmgiCiAjaW5jbHVkZSAi
U1ZHVGVzdHMuaCIKICNpbmNsdWRlICJTVkdVbml0VHlwZXMuaCIKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi1jbGFzcyBTVkdNYXNrRWxlbWVudCBGSU5BTCA6IHB1YmxpYyBTVkdTdHlsZWRFbGVt
ZW50LAorY2xhc3MgU1ZHTWFza0VsZW1lbnQgRklOQUwgOiBwdWJsaWMgU1ZHRWxlbWVudCwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIFNWR1Rlc3RzLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCB7CiBw
dWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWFza0VsZW1lbnQuaWRs
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR01hc2tFbGVtZW50LmlkbAppbmRleCAwNDlhOGRiYWU0
N2Q0MDNiNjBmZmFjNTQ1NWI3ZmZkNjgxMzk3YjY2Li42Mjk2OWYyNzI4YzE5ZDY5MTBjNzVkNjc1
NWU1NThlM2ViNWM2NDIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWFza0Vs
ZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNYXNrRWxlbWVudC5pZGwKQEAg
LTI1LDcgKzI1LDcgQEAKIAogWwogICAgIENvbmRpdGlvbmFsPVNWRwotXSBpbnRlcmZhY2UgU1ZH
TWFza0VsZW1lbnQgOiBTVkdTdHlsZWRFbGVtZW50IHsKK10gaW50ZXJmYWNlIFNWR01hc2tFbGVt
ZW50IDogU1ZHRWxlbWVudCB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFNWR0FuaW1hdGVkRW51
bWVyYXRpb24gbWFza1VuaXRzOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTVkdBbmltYXRlZEVu
dW1lcmF0aW9uIG1hc2tDb250ZW50VW5pdHM7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdNZXRhZGF0YUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNZXRhZGF0
YUVsZW1lbnQuaAppbmRleCA3ZWM2ZDU0MDQ2ZWE5YTY1MDFmMzZkNTIzODY0NDAzN2Y1MjIzYTdl
Li5iYTZjNjYwOGFmNzY1YmMxMTU4ZjdiMWYxODVlNzQ4ZWYzNzkxMGFiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWV0YWRhdGFFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR01ldGFkYXRhRWxlbWVudC5oCkBAIC0zMiw2ICszMiw4IEBAIHB1YmxpYzoKIAog
cHJpdmF0ZToKICAgICBTVkdNZXRhZGF0YUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERv
Y3VtZW50Kik7CisKKyAgICB2aXJ0dWFsIGJvb2wgcmVuZGVyZXJJc05lZWRlZChjb25zdCBSZW5k
ZXJTdHlsZSYpIE9WRVJSSURFIHsgcmV0dXJuIGZhbHNlOyB9CiB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWlzc2luZ0dseXBo
RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWlzc2luZ0dseXBoRWxlbWVudC5j
cHAKaW5kZXggNWM5ODAxNWM3NjAzODZhMjc2NTNiNmJhNjc5ZTgwN2ZkYmM0MmExZi4uZGM3MmQz
MzQyNzYzZWE0NGNiZTBkYmJhZmQ1NDI3NDEyNTI4ODRkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR01pc3NpbmdHbHlwaEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdNaXNzaW5nR2x5cGhFbGVtZW50LmNwcApAQCAtMjYsNyArMjYsNyBAQAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBpbmxpbmUgU1ZHTWlzc2luZ0dseXBoRWxlbWVudDo6U1ZHTWlzc2lu
Z0dseXBoRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9j
dW1lbnQpCi0gICAgOiBTVkdTdHlsZWRFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQorICAgIDog
U1ZHRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShT
VkdOYW1lczo6bWlzc2luZ19nbHlwaFRhZykpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR01pc3NpbmdHbHlwaEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdN
aXNzaW5nR2x5cGhFbGVtZW50LmgKaW5kZXggNDgxNDBhZDA0MTE3OTRhMzE3YjgzZjIyZDVkMjFi
MDBlMDNjMDRjOS4uNWU2MTFjNWI5ODdiYzU2NGQ5NWVjYTMzNTIwMTZhNDllNzc0YmZkNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR01pc3NpbmdHbHlwaEVsZW1lbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWlzc2luZ0dseXBoRWxlbWVudC5oCkBAIC0yMSwxMSAr
MjEsMTEgQEAKICNkZWZpbmUgU1ZHTWlzc2luZ0dseXBoRWxlbWVudF9oCiAKICNpZiBFTkFCTEUo
U1ZHX0ZPTlRTKQotI2luY2x1ZGUgIlNWR1N0eWxlZEVsZW1lbnQuaCIKKyNpbmNsdWRlICJTVkdF
bGVtZW50LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgU1ZHTWlzc2luZ0dseXBo
RWxlbWVudCBGSU5BTCA6IHB1YmxpYyBTVkdTdHlsZWRFbGVtZW50IHsKK2NsYXNzIFNWR01pc3Np
bmdHbHlwaEVsZW1lbnQgRklOQUwgOiBwdWJsaWMgU1ZHRWxlbWVudCB7CiBwdWJsaWM6CiAgICAg
c3RhdGljIFBhc3NSZWZQdHI8U1ZHTWlzc2luZ0dseXBoRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1
YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHTWlzc2luZ0dseXBoRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWlz
c2luZ0dseXBoRWxlbWVudC5pZGwKaW5kZXggNjQ3NzQxYTE1NjhiNjIxZWFiYjY1Mzk1YjdlNDMx
ZTJjYjBjZTMwOS4uOWEwZTNlNjI5MzU5YzNlYjM0NGViMjE0M2YyMmEzMjUxMmM5MmI3NSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR01pc3NpbmdHbHlwaEVsZW1lbnQuaWRsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNaXNzaW5nR2x5cGhFbGVtZW50LmlkbApAQCAtMjUs
NiArMjUsNiBAQAogCiBbCiAgICAgQ29uZGl0aW9uYWw9U1ZHJlNWR19GT05UUwotXSBpbnRlcmZh
Y2UgU1ZHTWlzc2luZ0dseXBoRWxlbWVudCA6IFNWR1N0eWxlZEVsZW1lbnQgeworXSBpbnRlcmZh
Y2UgU1ZHTWlzc2luZ0dseXBoRWxlbWVudCA6IFNWR0VsZW1lbnQgewogfTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdHRlcm5FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdQYXR0ZXJuRWxlbWVudC5jcHAKaW5kZXggMGNkM2RmOTAxNTUyOTY2ZWEzYWJk
NGYzN2RhY2Q2ZDE4Yzg3YzM3OC4uMDI0MTUwMDhhYjI4ZjRhNjUwY2E0Yzg3ZjkwY2RjMmUwYzJm
NzYyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdHRlcm5FbGVtZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0dGVybkVsZW1lbnQuY3BwCkBAIC02OSwx
MiArNjksMTIgQEAgQkVHSU5fUkVHSVNURVJfQU5JTUFURURfUFJPUEVSVElFUyhTVkdQYXR0ZXJu
RWxlbWVudCkKICAgICBSRUdJU1RFUl9MT0NBTF9BTklNQVRFRF9QUk9QRVJUWShleHRlcm5hbFJl
c291cmNlc1JlcXVpcmVkKQogICAgIFJFR0lTVEVSX0xPQ0FMX0FOSU1BVEVEX1BST1BFUlRZKHZp
ZXdCb3gpCiAgICAgUkVHSVNURVJfTE9DQUxfQU5JTUFURURfUFJPUEVSVFkocHJlc2VydmVBc3Bl
Y3RSYXRpbykgCi0gICAgUkVHSVNURVJfUEFSRU5UX0FOSU1BVEVEX1BST1BFUlRJRVMoU1ZHU3R5
bGVkRWxlbWVudCkKKyAgICBSRUdJU1RFUl9QQVJFTlRfQU5JTUFURURfUFJPUEVSVElFUyhTVkdF
bGVtZW50KQogICAgIFJFR0lTVEVSX1BBUkVOVF9BTklNQVRFRF9QUk9QRVJUSUVTKFNWR1Rlc3Rz
KQogRU5EX1JFR0lTVEVSX0FOSU1BVEVEX1BST1BFUlRJRVMKIAogaW5saW5lIFNWR1BhdHRlcm5F
bGVtZW50OjpTVkdQYXR0ZXJuRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBE
b2N1bWVudCogZG9jdW1lbnQpCi0gICAgOiBTVkdTdHlsZWRFbGVtZW50KHRhZ05hbWUsIGRvY3Vt
ZW50KQorICAgIDogU1ZHRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKICAgICAsIG1feChMZW5n
dGhNb2RlV2lkdGgpCiAgICAgLCBtX3koTGVuZ3RoTW9kZUhlaWdodCkKICAgICAsIG1fd2lkdGgo
TGVuZ3RoTW9kZVdpZHRoKQpAQCAtMTE2LDcgKzExNiw3IEBAIHZvaWQgU1ZHUGF0dGVybkVsZW1l
bnQ6OnBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21p
Y1N0CiAgICAgU1ZHUGFyc2luZ0Vycm9yIHBhcnNlRXJyb3IgPSBOb0Vycm9yOwogCiAgICAgaWYg
KCFpc1N1cHBvcnRlZEF0dHJpYnV0ZShuYW1lKSkKLSAgICAgICAgU1ZHU3R5bGVkRWxlbWVudDo6
cGFyc2VBdHRyaWJ1dGUobmFtZSwgdmFsdWUpOworICAgICAgICBTVkdFbGVtZW50OjpwYXJzZUF0
dHJpYnV0ZShuYW1lLCB2YWx1ZSk7CiAgICAgZWxzZSBpZiAobmFtZSA9PSBTVkdOYW1lczo6cGF0
dGVyblVuaXRzQXR0cikgewogICAgICAgICBTVkdVbml0VHlwZXM6OlNWR1VuaXRUeXBlIHByb3Bl
cnR5VmFsdWUgPSBTVkdQcm9wZXJ0eVRyYWl0czxTVkdVbml0VHlwZXM6OlNWR1VuaXRUeXBlPjo6
ZnJvbVN0cmluZyh2YWx1ZSk7CiAgICAgICAgIGlmIChwcm9wZXJ0eVZhbHVlID4gMCkKQEAgLTE1
NSw3ICsxNTUsNyBAQCB2b2lkIFNWR1BhdHRlcm5FbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShjb25z
dCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9taWNTdAogdm9pZCBTVkdQYXR0ZXJuRWxl
bWVudDo6c3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSkK
IHsKICAgICBpZiAoIWlzU3VwcG9ydGVkQXR0cmlidXRlKGF0dHJOYW1lKSkgewotICAgICAgICBT
VkdTdHlsZWRFbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKGF0dHJOYW1lKTsKKyAgICAgICAg
U1ZHRWxlbWVudDo6c3ZnQXR0cmlidXRlQ2hhbmdlZChhdHRyTmFtZSk7CiAgICAgICAgIHJldHVy
bjsKICAgICB9CiAKQEAgLTE3Myw3ICsxNzMsNyBAQCB2b2lkIFNWR1BhdHRlcm5FbGVtZW50Ojpz
dmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lKQogCiB2b2lk
IFNWR1BhdHRlcm5FbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQoYm9vbCBjaGFuZ2VkQnlQYXJzZXIs
IE5vZGUqIGJlZm9yZUNoYW5nZSwgTm9kZSogYWZ0ZXJDaGFuZ2UsIGludCBjaGlsZENvdW50RGVs
dGEpCiB7Ci0gICAgU1ZHU3R5bGVkRWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkKGNoYW5nZWRCeVBh
cnNlciwgYmVmb3JlQ2hhbmdlLCBhZnRlckNoYW5nZSwgY2hpbGRDb3VudERlbHRhKTsKKyAgICBT
VkdFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQoY2hhbmdlZEJ5UGFyc2VyLCBiZWZvcmVDaGFuZ2Us
IGFmdGVyQ2hhbmdlLCBjaGlsZENvdW50RGVsdGEpOwogCiAgICAgaWYgKGNoYW5nZWRCeVBhcnNl
cikKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Bh
dHRlcm5FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0dGVybkVsZW1lbnQuaApp
bmRleCAyZGFiYWQ0MWU1MDgyMDViNmM2NDQ4MDBiMDE3MGY0ZTYxZjVmMTMyLi42ZGI2NTk2Mzg4
MWMzZmE2YmVjNjhkZjE5ZTI3YjcxMDA5OWNiNjQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHUGF0dGVybkVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0
dGVybkVsZW1lbnQuaApAQCAtMjgsMTAgKzI4LDEwIEBACiAjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRQ
cmVzZXJ2ZUFzcGVjdFJhdGlvLmgiCiAjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRSZWN0LmgiCiAjaW5j
bHVkZSAiU1ZHQW5pbWF0ZWRUcmFuc2Zvcm1MaXN0LmgiCisjaW5jbHVkZSAiU1ZHRWxlbWVudC5o
IgogI2luY2x1ZGUgIlNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuaCIKICNpbmNsdWRlICJT
VkdGaXRUb1ZpZXdCb3guaCIKICNpbmNsdWRlICJTVkdOYW1lcy5oIgotI2luY2x1ZGUgIlNWR1N0
eWxlZEVsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdUZXN0cy5oIgogI2luY2x1ZGUgIlNWR1VSSVJl
ZmVyZW5jZS5oIgogI2luY2x1ZGUgIlNWR1VuaXRUeXBlcy5oIgpAQCAtNDAsNyArNDAsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0cnVjdCBQYXR0ZXJuQXR0cmlidXRlczsKICAKLWNsYXNz
IFNWR1BhdHRlcm5FbGVtZW50IEZJTkFMIDogcHVibGljIFNWR1N0eWxlZEVsZW1lbnQsCitjbGFz
cyBTVkdQYXR0ZXJuRWxlbWVudCBGSU5BTCA6IHB1YmxpYyBTVkdFbGVtZW50LAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHVVJJUmVmZXJlbmNlLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHVGVzdHMsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdHRlcm5FbGVtZW50LmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdQYXR0ZXJuRWxlbWVudC5pZGwKaW5kZXggMjYyYTAzMzEyZWU0YjFi
NDA2YWMwNzdjZWZlODkzMWYxNDhiYTZmYi4uNTBkMTM4NWYwMzJjZTY2MDIyMDk2OTEwZDMxMTBk
YzA3NWE3ZGU1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdHRlcm5FbGVt
ZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0dGVybkVsZW1lbnQuaWRsCkBA
IC0yNSw3ICsyNSw3IEBACiAKIFsKICAgICBDb25kaXRpb25hbD1TVkcKLV0gaW50ZXJmYWNlIFNW
R1BhdHRlcm5FbGVtZW50IDogU1ZHU3R5bGVkRWxlbWVudCB7CitdIGludGVyZmFjZSBTVkdQYXR0
ZXJuRWxlbWVudCA6IFNWR0VsZW1lbnQgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTVkdBbmlt
YXRlZEVudW1lcmF0aW9uICAgcGF0dGVyblVuaXRzOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBT
VkdBbmltYXRlZEVudW1lcmF0aW9uICAgcGF0dGVybkNvbnRlbnRVbml0czsKICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgU1ZHQW5pbWF0ZWRUcmFuc2Zvcm1MaXN0IHBhdHRlcm5UcmFuc2Zvcm07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU2NyaXB0RWxlbWVudC5oIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1NjcmlwdEVsZW1lbnQuaAppbmRleCA0M2MyNDExNzY2NTIxYjFjMmEz
NzE3NmFiZWM4OGE2OTViZmUxZDczLi45OWI5ZDg3MzJkOTA3ZTFjZjZhNzFmMGNlYWM3YjgwNzJj
ZDhlYWI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU2NyaXB0RWxlbWVudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTY3JpcHRFbGVtZW50LmgKQEAgLTcxLDYgKzcx
LDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hMb2FkRXZlbnQoKSB7IFNW
R0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ6OmRpc3BhdGNoTG9hZEV2ZW50KHRoaXMpOyB9CiAK
ICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8RWxlbWVudD4gY2xvbmVFbGVtZW50V2l0aG91dEF0dHJp
YnV0ZXNBbmRDaGlsZHJlbigpOworICAgIHZpcnR1YWwgYm9vbCByZW5kZXJlcklzTmVlZGVkKGNv
bnN0IFJlbmRlclN0eWxlJikgT1ZFUlJJREUgeyByZXR1cm4gZmFsc2U7IH0KIAogICAgIC8vIFNW
R0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQKICAgICB2aXJ0dWFsIHZvaWQgc2V0SGF2ZUZpcmVk
TG9hZEV2ZW50KGJvb2wgaGF2ZUZpcmVkTG9hZEV2ZW50KSB7IFNjcmlwdEVsZW1lbnQ6OnNldEhh
dmVGaXJlZExvYWRFdmVudChoYXZlRmlyZWRMb2FkRXZlbnQpOyB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHU3RvcEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1N0b3BFbGVtZW50LmNwcAppbmRleCA3MzA5ZWNkNTViMjZjOGE2ZjQ5OTM0Y2EyNTZlMTU4MjBl
NzUyMDkwLi41MjYyNmIzOTE4OTJmN2RhYWZiMDM4YjE3NWMzNTZmZTYwY2ZjZjJlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU3RvcEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdTdG9wRWxlbWVudC5jcHAKQEAgLTM4LDExICszOCwxMSBAQCBERUZJTkVf
QU5JTUFURURfTlVNQkVSKFNWR1N0b3BFbGVtZW50LCBTVkdOYW1lczo6b2Zmc2V0QXR0ciwgT2Zm
c2V0LCBvZmZzZXQpCiAKIEJFR0lOX1JFR0lTVEVSX0FOSU1BVEVEX1BST1BFUlRJRVMoU1ZHU3Rv
cEVsZW1lbnQpCiAgICAgUkVHSVNURVJfTE9DQUxfQU5JTUFURURfUFJPUEVSVFkob2Zmc2V0KQot
ICAgIFJFR0lTVEVSX1BBUkVOVF9BTklNQVRFRF9QUk9QRVJUSUVTKFNWR1N0eWxlZEVsZW1lbnQp
CisgICAgUkVHSVNURVJfUEFSRU5UX0FOSU1BVEVEX1BST1BFUlRJRVMoU1ZHRWxlbWVudCkKIEVO
RF9SRUdJU1RFUl9BTklNQVRFRF9QUk9QRVJUSUVTCiAKIGlubGluZSBTVkdTdG9wRWxlbWVudDo6
U1ZHU3RvcEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRv
Y3VtZW50KQotICAgIDogU1ZHU3R5bGVkRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKKyAgICA6
IFNWR0VsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCiAgICAgLCBtX29mZnNldCgwKQogewogICAg
IEFTU0VSVChoYXNUYWdOYW1lKFNWR05hbWVzOjpzdG9wVGFnKSk7CkBAIC02NSw3ICs2NSw3IEBA
IGJvb2wgU1ZHU3RvcEVsZW1lbnQ6OmlzU3VwcG9ydGVkQXR0cmlidXRlKGNvbnN0IFF1YWxpZmll
ZE5hbWUmIGF0dHJOYW1lKQogdm9pZCBTVkdTdG9wRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUoY29u
c3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbWljU3RyaW5nJiB2YWx1ZSkKIHsKICAg
ICBpZiAoIWlzU3VwcG9ydGVkQXR0cmlidXRlKG5hbWUpKSB7Ci0gICAgICAgIFNWR1N0eWxlZEVs
ZW1lbnQ6OnBhcnNlQXR0cmlidXRlKG5hbWUsIHZhbHVlKTsKKyAgICAgICAgU1ZHRWxlbWVudDo6
cGFyc2VBdHRyaWJ1dGUobmFtZSwgdmFsdWUpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBA
IC04Myw3ICs4Myw3IEBAIHZvaWQgU1ZHU3RvcEVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGNvbnN0
IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0cmluCiB2b2lkIFNWR1N0b3BFbGVt
ZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lKQog
ewogICAgIGlmICghaXNTdXBwb3J0ZWRBdHRyaWJ1dGUoYXR0ck5hbWUpKSB7Ci0gICAgICAgIFNW
R1N0eWxlZEVsZW1lbnQ6OnN2Z0F0dHJpYnV0ZUNoYW5nZWQoYXR0ck5hbWUpOworICAgICAgICBT
VkdFbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKGF0dHJOYW1lKTsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N0b3BFbGVtZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU3RvcEVsZW1lbnQuaAppbmRleCBjOTNhOWZmYjRh
ODEyZWYwZTRjYjg0M2ZlNmY3NDI3MzhmOTdkMTU0Li42Njc5YTcxMjAyMGUyZDYyODA4OTJhYmY3
MjMzZjg1ZWNhOWM3NTcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU3RvcEVs
ZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU3RvcEVsZW1lbnQuaApAQCAtMjMs
MTEgKzIzLDExIEBACiAKICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1ZGUgIlNWR0FuaW1hdGVkTnVt
YmVyLmgiCi0jaW5jbHVkZSAiU1ZHU3R5bGVkRWxlbWVudC5oIgorI2luY2x1ZGUgIlNWR0VsZW1l
bnQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBTVkdTdG9wRWxlbWVudCBGSU5B
TCA6IHB1YmxpYyBTVkdTdHlsZWRFbGVtZW50IHsKK2NsYXNzIFNWR1N0b3BFbGVtZW50IEZJTkFM
IDogcHVibGljIFNWR0VsZW1lbnQgewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNW
R1N0b3BFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTdG9wRWxlbWVudC5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHU3RvcEVsZW1lbnQuaWRsCmluZGV4IDg2NDEzZjcwODU1ZTZiOThm
N2JlNmVhNjQ5YTVjODFhMjQwZTUyOGEuLjg0MTE5NzRmMGQ3MGQyZTA4YjJlNzJlZjI3ZWZmYmMy
Yjg3ZmMxMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTdG9wRWxlbWVudC5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N0b3BFbGVtZW50LmlkbApAQCAtMjUsNyAr
MjUsNyBAQAogCiBbCiAgICAgQ29uZGl0aW9uYWw9U1ZHCi1dIGludGVyZmFjZSBTVkdTdG9wRWxl
bWVudCA6IFNWR1N0eWxlZEVsZW1lbnQgeworXSBpbnRlcmZhY2UgU1ZHU3RvcEVsZW1lbnQgOiBT
VkdFbGVtZW50IHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgU1ZHQW5pbWF0ZWROdW1iZXIgb2Zm
c2V0OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N0eWxlRWxlbWVu
dC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N0eWxlRWxlbWVudC5oCmluZGV4IDAzM2VlNTk3
Mjk5MWNlN2VjM2NmNDFkYWUwMTRkMzg3MTg4OTdlMDYuLjNkMjM4NzE3ZWExOTBlNzY3NjYyNjdl
MTY0NzAxMGFjMzg5ZTVmN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTdHls
ZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU3R5bGVFbGVtZW50LmgKQEAg
LTU2LDYgKzU2LDggQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlZEZyb20oQ29u
dGFpbmVyTm9kZSopIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBjaGlsZHJlbkNoYW5nZWQo
Ym9vbCBjaGFuZ2VkQnlQYXJzZXIgPSBmYWxzZSwgTm9kZSogYmVmb3JlQ2hhbmdlID0gMCwgTm9k
ZSogYWZ0ZXJDaGFuZ2UgPSAwLCBpbnQgY2hpbGRDb3VudERlbHRhID0gMCk7CiAKKyAgICB2aXJ0
dWFsIGJvb2wgcmVuZGVyZXJJc05lZWRlZChjb25zdCBSZW5kZXJTdHlsZSYpIE9WRVJSSURFIHsg
cmV0dXJuIGZhbHNlOyB9CisKICAgICB2aXJ0dWFsIHZvaWQgZmluaXNoUGFyc2luZ0NoaWxkcmVu
KCk7CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNMb2FkaW5nKCkgY29uc3QgeyByZXR1cm4gbV9zdHls
ZVNoZWV0T3duZXIuaXNMb2FkaW5nKCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdTdHlsZWRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTdHlsZWRFbGVt
ZW50LmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjVkYTc3ZGU4ZDcxNWFmMDVh
ZjZkYWU2ZjNjZTk4NDU4Y2IwMzE0Yi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU3R5bGVkRWxlbWVudC5jcHAKKysr
IC9kZXYvbnVsbApAQCAtMSw0ODcgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNCwg
MjAwNSwgMjAwNiwgMjAwNywgMjAwOCBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2Rl
Lm9yZz4KLSAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNywgMjAwOCBSb2IgQnVpcyA8
YnVpc0BrZGUub3JnPgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMg
b2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hl
ZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBv
ZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAq
Ci0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs
IGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo
ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJl
Y2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQot
ICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElm
IG5vdCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUx
IEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEs
IFVTQS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNpZiBFTkFCTEUoU1ZHKQotI2lu
Y2x1ZGUgIlNWR1N0eWxlZEVsZW1lbnQuaCIKLQotI2luY2x1ZGUgIkF0dHIuaCIKLSNpbmNsdWRl
ICJDU1NQYXJzZXIuaCIKLSNpbmNsdWRlICJEb2N1bWVudC5oIgotI2luY2x1ZGUgIkVsZW1lbnRU
cmF2ZXJzYWwuaCIKLSNpbmNsdWRlICJFdmVudE5hbWVzLmgiCi0jaW5jbHVkZSAiSFRNTE5hbWVz
LmgiCi0jaW5jbHVkZSAiUmVuZGVyT2JqZWN0LmgiCi0jaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3Vy
Y2UuaCIKLSNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXIuaCIKLSNpbmNsdWRlICJS
ZW5kZXJTVkdSZXNvdXJjZUZpbHRlci5oIgotI2luY2x1ZGUgIlJlbmRlclNWR1Jlc291cmNlTWFz
a2VyLmgiCi0jaW5jbHVkZSAiU1ZHRWxlbWVudC5oIgotI2luY2x1ZGUgIlNWR0VsZW1lbnRJbnN0
YW5jZS5oIgotI2luY2x1ZGUgIlNWR0VsZW1lbnRSYXJlRGF0YS5oIgotI2luY2x1ZGUgIlNWR05h
bWVzLmgiCi0jaW5jbHVkZSAiU1ZHUmVuZGVyU3R5bGUuaCIKLSNpbmNsdWRlICJTVkdSZW5kZXJT
dXBwb3J0LmgiCi0jaW5jbHVkZSAiU1ZHU1ZHRWxlbWVudC5oIgotI2luY2x1ZGUgIlNWR1VzZUVs
ZW1lbnQuaCIKLSNpbmNsdWRlICJTaGFkb3dSb290LmgiCi0jaW5jbHVkZSA8d3RmL0Fzc2VydGlv
bnMuaD4KLSNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRy
YXMuaD4KLSNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KLQotbmFtZXNwYWNlIFdlYkNv
cmUgewotCi0vLyBBbmltYXRlZCBwcm9wZXJ0eSBkZWZpbml0aW9ucwotREVGSU5FX0FOSU1BVEVE
X1NUUklORyhTVkdTdHlsZWRFbGVtZW50LCBIVE1MTmFtZXM6OmNsYXNzQXR0ciwgQ2xhc3NOYW1l
LCBjbGFzc05hbWUpCi0KLUJFR0lOX1JFR0lTVEVSX0FOSU1BVEVEX1BST1BFUlRJRVMoU1ZHU3R5
bGVkRWxlbWVudCkKLSAgICBSRUdJU1RFUl9MT0NBTF9BTklNQVRFRF9QUk9QRVJUWShjbGFzc05h
bWUpCi1FTkRfUkVHSVNURVJfQU5JTUFURURfUFJPUEVSVElFUwotCi11c2luZyBuYW1lc3BhY2Ug
U1ZHTmFtZXM7Ci0KLXZvaWQgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShIYXNoTWFwPEF0b21p
Y1N0cmluZ0ltcGwqLCBDU1NQcm9wZXJ0eUlEPiogcHJvcGVydHlOYW1lVG9JZE1hcCwgY29uc3Qg
UXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUpCi17Ci0gICAgLy8gRklYTUU6IHdoZW4gQ1NTIHN1cHBv
cnRzICJ0cmFuc2Zvcm0tb3JpZ2luIiB0aGUgc3BlY2lhbCBjYXNlIGZvciB0cmFuc2Zvcm1fb3Jp
Z2luQXR0ciBjYW4gYmUgcmVtb3ZlZC4KLSAgICBDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SWQgPSBj
c3NQcm9wZXJ0eUlEKGF0dHJOYW1lLmxvY2FsTmFtZSgpKTsKLSAgICBpZiAoIXByb3BlcnR5SWQg
JiYgYXR0ck5hbWUgPT0gdHJhbnNmb3JtX29yaWdpbkF0dHIpCi0gICAgICAgIHByb3BlcnR5SWQg
PSBDU1NQcm9wZXJ0eVdlYmtpdFRyYW5zZm9ybU9yaWdpbjsgLy8gY3NzUHJvcGVydHlJRCgiLXdl
YmtpdC10cmFuc2Zvcm0tb3JpZ2luIikKLSAgICBBU1NFUlQocHJvcGVydHlJZCA+IDApOwotICAg
IHByb3BlcnR5TmFtZVRvSWRNYXAtPnNldChhdHRyTmFtZS5sb2NhbE5hbWUoKS5pbXBsKCksIHBy
b3BlcnR5SWQpOwotfQotCi1TVkdTdHlsZWRFbGVtZW50OjpTVkdTdHlsZWRFbGVtZW50KGNvbnN0
IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKLSAgICA6IFNWR0Vs
ZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCi17Ci0gICAgcmVnaXN0ZXJBbmltYXRlZFByb3BlcnRp
ZXNGb3JTVkdTdHlsZWRFbGVtZW50KCk7Ci19Ci0KLVN0cmluZyBTVkdTdHlsZWRFbGVtZW50Ojp0
aXRsZSgpIGNvbnN0Ci17Ci0gICAgLy8gQWNjb3JkaW5nIHRvIHNwZWMsIHdlIHNob3VsZCBub3Qg
cmV0dXJuIHRpdGxlcyB3aGVuIGhvdmVyaW5nIG92ZXIgcm9vdCA8c3ZnPiBlbGVtZW50cyAodGhv
c2UKLSAgICAvLyA8dGl0bGU+IGVsZW1lbnRzIGFyZSB0aGUgdGl0bGUgb2YgdGhlIGRvY3VtZW50
LCBub3QgYSB0b29sdGlwKSBzbyB3ZSBpbnN0YW50bHkgcmV0dXJuLgotICAgIGlmIChpc091dGVy
bW9zdFNWR1NWR0VsZW1lbnQoKSkKLSAgICAgICAgcmV0dXJuIFN0cmluZygpOwotCi0gICAgLy8g
V2FsayB1cCB0aGUgdHJlZSwgdG8gZmluZCBvdXQgd2hldGhlciB3ZSdyZSBpbnNpZGUgYSA8dXNl
PiBzaGFkb3cgdHJlZSwgdG8gZmluZCB0aGUgcmlnaHQgdGl0bGUuCi0gICAgaWYgKGlzSW5TaGFk
b3dUcmVlKCkpIHsKLSAgICAgICAgRWxlbWVudCogc2hhZG93SG9zdEVsZW1lbnQgPSB0b1NoYWRv
d1Jvb3QodHJlZVNjb3BlKCktPnJvb3ROb2RlKCkpLT5ob3N0RWxlbWVudCgpOwotICAgICAgICAv
LyBBdCB0aGlzIHRpbWUsIFNWRyBub2RlcyBhcmUgbm90IGFsbG93ZWQgaW4gbm9uLTx1c2U+IHNo
YWRvdyB0cmVlcywgc28gYW55IHNoYWRvdyByb290IHdlIGRvCi0gICAgICAgIC8vIGhhdmUgc2hv
dWxkIGJlIGEgdXNlLiBUaGUgYXNzZXJ0IGFuZCBmb2xsb3dpbmcgdGVzdCBpcyBoZXJlIHRvIGNh
dGNoIGZ1dHVyZSBzaGFkb3cgRE9NIGNoYW5nZXMKLSAgICAgICAgLy8gdGhhdCBkbyBlbmFibGUg
U1ZHIGluIGEgc2hhZG93IHRyZWUuCi0gICAgICAgIEFTU0VSVCghc2hhZG93SG9zdEVsZW1lbnQg
fHwgc2hhZG93SG9zdEVsZW1lbnQtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OnVzZVRhZykpOwotICAg
ICAgICBpZiAoc2hhZG93SG9zdEVsZW1lbnQgJiYgc2hhZG93SG9zdEVsZW1lbnQtPmhhc1RhZ05h
bWUoU1ZHTmFtZXM6OnVzZVRhZykpIHsKLSAgICAgICAgICAgIFNWR1VzZUVsZW1lbnQqIHVzZUVs
ZW1lbnQgPSB0b1NWR1VzZUVsZW1lbnQoc2hhZG93SG9zdEVsZW1lbnQpOwotIAotICAgICAgICAg
ICAgLy8gSWYgdGhlIDx1c2U+IHRpdGxlIGlzIG5vdCBlbXB0eSB3ZSBmb3VuZCB0aGUgdGl0bGUg
dG8gdXNlLgotICAgICAgICAgICAgU3RyaW5nIHVzZVRpdGxlKHVzZUVsZW1lbnQtPnRpdGxlKCkp
OwotICAgICAgICAgICAgaWYgKCF1c2VUaXRsZS5pc0VtcHR5KCkpCi0gICAgICAgICAgICAgICBy
ZXR1cm4gdXNlVGl0bGU7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICAvLyBJZiB3ZSBhcmVuJ3Qg
YW4gaW5zdGFuY2UgaW4gYSA8dXNlPiBvciB0aGUgPHVzZT4gdGl0bGUgd2FzIG5vdCBmb3VuZCwg
dGhlbiBmaW5kIHRoZSBmaXJzdAotICAgIC8vIDx0aXRsZT4gY2hpbGQgb2YgdGhpcyBlbGVtZW50
LgotICAgIEVsZW1lbnQqIHRpdGxlRWxlbWVudCA9IEVsZW1lbnRUcmF2ZXJzYWw6OmZpcnN0V2l0
aGluKHRoaXMpOwotICAgIGZvciAoOyB0aXRsZUVsZW1lbnQ7IHRpdGxlRWxlbWVudCA9IEVsZW1l
bnRUcmF2ZXJzYWw6Om5leHRTaWJsaW5nKHRpdGxlRWxlbWVudCkpIHsKLSAgICAgICAgaWYgKHRp
dGxlRWxlbWVudC0+aGFzVGFnTmFtZShTVkdOYW1lczo6dGl0bGVUYWcpICYmIHRpdGxlRWxlbWVu
dC0+aXNTVkdFbGVtZW50KCkpCi0gICAgICAgICAgICBicmVhazsKLSAgICB9Ci0KLSAgICAvLyBJ
ZiBhIHRpdGxlIGNoaWxkIHdhcyBmb3VuZCwgcmV0dXJuIHRoZSB0ZXh0IGNvbnRlbnRzLgotICAg
IGlmICh0aXRsZUVsZW1lbnQpCi0gICAgICAgIHJldHVybiB0aXRsZUVsZW1lbnQtPmlubmVyVGV4
dCgpOwotICAgIAotICAgIC8vIE90aGVyd2lzZSByZXR1cm4gYSBudWxsL2VtcHR5IHN0cmluZy4K
LSAgICByZXR1cm4gU3RyaW5nKCk7Ci19Ci0KLWJvb2wgU1ZHU3R5bGVkRWxlbWVudDo6cmVuZGVy
ZXJJc05lZWRlZChjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUpCi17Ci0gICAgLy8gaHR0cDovL3d3
dy53My5vcmcvVFIvU1ZHL2V4dGVuZC5odG1sI1ByaXZhdGVEYXRhCi0gICAgLy8gUHJldmVudCBh
bnl0aGluZyBvdGhlciB0aGFuIFNWRyByZW5kZXJlcnMgZnJvbSBhcHBlYXJpbmcgaW4gb3VyIHJl
bmRlciB0cmVlCi0gICAgLy8gU3BlYzogU1ZHIGFsbG93cyBpbmNsdXNpb24gb2YgZWxlbWVudHMg
ZnJvbSBmb3JlaWduIG5hbWVzcGFjZXMgYW55d2hlcmUKLSAgICAvLyB3aXRoIHRoZSBTVkcgY29u
dGVudC4gSW4gZ2VuZXJhbCwgdGhlIFNWRyB1c2VyIGFnZW50IHdpbGwgaW5jbHVkZSB0aGUgdW5r
bm93bgotICAgIC8vIGVsZW1lbnRzIGluIHRoZSBET00gYnV0IHdpbGwgb3RoZXJ3aXNlIGlnbm9y
ZSB1bmtub3duIGVsZW1lbnRzLiAKLSAgICBpZiAoIXBhcmVudE9yU2hhZG93SG9zdEVsZW1lbnQo
KSB8fCBwYXJlbnRPclNoYWRvd0hvc3RFbGVtZW50KCktPmlzU1ZHRWxlbWVudCgpKQotICAgICAg
ICByZXR1cm4gU3R5bGVkRWxlbWVudDo6cmVuZGVyZXJJc05lZWRlZChzdHlsZSk7Ci0KLSAgICBy
ZXR1cm4gZmFsc2U7Ci19Ci0KLUNTU1Byb3BlcnR5SUQgU1ZHU3R5bGVkRWxlbWVudDo6Y3NzUHJv
cGVydHlJZEZvclNWR0F0dHJpYnV0ZU5hbWUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUp
Ci17Ci0gICAgaWYgKCFhdHRyTmFtZS5uYW1lc3BhY2VVUkkoKS5pc051bGwoKSkKLSAgICAgICAg
cmV0dXJuIENTU1Byb3BlcnR5SW52YWxpZDsKLSAgICAKLSAgICBzdGF0aWMgSGFzaE1hcDxBdG9t
aWNTdHJpbmdJbXBsKiwgQ1NTUHJvcGVydHlJRD4qIHByb3BlcnR5TmFtZVRvSWRNYXAgPSAwOwot
ICAgIGlmICghcHJvcGVydHlOYW1lVG9JZE1hcCkgewotICAgICAgICBwcm9wZXJ0eU5hbWVUb0lk
TWFwID0gbmV3IEhhc2hNYXA8QXRvbWljU3RyaW5nSW1wbCosIENTU1Byb3BlcnR5SUQ+OwotICAg
ICAgICAvLyBUaGlzIGlzIGEgbGlzdCBvZiBhbGwgYmFzZSBDU1MgYW5kIFNWRyBDU1MgcHJvcGVy
dGllcyB3aGljaCBhcmUgZXhwb3NlZCBhcyBTVkcgWE1MIGF0dHJpYnV0ZXMKLSAgICAgICAgbWFw
QXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBhbGlnbm1lbnRfYmFz
ZWxpbmVBdHRyKTsKLSAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5h
bWVUb0lkTWFwLCBiYXNlbGluZV9zaGlmdEF0dHIpOwotICAgICAgICBtYXBBdHRyaWJ1dGVUb0NT
U1Byb3BlcnR5KHByb3BlcnR5TmFtZVRvSWRNYXAsIGJ1ZmZlcmVkX3JlbmRlcmluZ0F0dHIpOwot
ICAgICAgICBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5TmFtZVRvSWRNYXAsIGNs
aXBBdHRyKTsKLSAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVU
b0lkTWFwLCBjbGlwX3BhdGhBdHRyKTsKLSAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0
eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBjbGlwX3J1bGVBdHRyKTsKLSAgICAgICAgbWFwQXR0cmli
dXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBTVkdOYW1lczo6Y29sb3JBdHRy
KTsKLSAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFw
LCBjb2xvcl9pbnRlcnBvbGF0aW9uQXR0cik7Ci0gICAgICAgIG1hcEF0dHJpYnV0ZVRvQ1NTUHJv
cGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwgY29sb3JfaW50ZXJwb2xhdGlvbl9maWx0ZXJzQXR0
cik7Ci0gICAgICAgIG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1h
cCwgY29sb3JfcHJvZmlsZUF0dHIpOwotICAgICAgICBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5
KHByb3BlcnR5TmFtZVRvSWRNYXAsIGNvbG9yX3JlbmRlcmluZ0F0dHIpOyAKLSAgICAgICAgbWFw
QXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBjdXJzb3JBdHRyKTsK
LSAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBT
VkdOYW1lczo6ZGlyZWN0aW9uQXR0cik7Ci0gICAgICAgIG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVy
dHkocHJvcGVydHlOYW1lVG9JZE1hcCwgZGlzcGxheUF0dHIpOwotICAgICAgICBtYXBBdHRyaWJ1
dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5TmFtZVRvSWRNYXAsIGRvbWluYW50X2Jhc2VsaW5lQXR0
cik7Ci0gICAgICAgIG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1h
cCwgZW5hYmxlX2JhY2tncm91bmRBdHRyKTsKLSAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9w
ZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBmaWxsQXR0cik7Ci0gICAgICAgIG1hcEF0dHJpYnV0
ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwgZmlsbF9vcGFjaXR5QXR0cik7Ci0g
ICAgICAgIG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwgZmls
bF9ydWxlQXR0cik7Ci0gICAgICAgIG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlO
YW1lVG9JZE1hcCwgZmlsdGVyQXR0cik7Ci0gICAgICAgIG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVy
dHkocHJvcGVydHlOYW1lVG9JZE1hcCwgZmxvb2RfY29sb3JBdHRyKTsKLSAgICAgICAgbWFwQXR0
cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBmbG9vZF9vcGFjaXR5QXR0
cik7Ci0gICAgICAgIG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1h
cCwgZm9udF9mYW1pbHlBdHRyKTsKLSAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShw
cm9wZXJ0eU5hbWVUb0lkTWFwLCBmb250X3NpemVBdHRyKTsKLSAgICAgICAgbWFwQXR0cmlidXRl
VG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBmb250X3N0cmV0Y2hBdHRyKTsKLSAg
ICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBmb250
X3N0eWxlQXR0cik7Ci0gICAgICAgIG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlO
YW1lVG9JZE1hcCwgZm9udF92YXJpYW50QXR0cik7Ci0gICAgICAgIG1hcEF0dHJpYnV0ZVRvQ1NT
UHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwgZm9udF93ZWlnaHRBdHRyKTsKLSAgICAgICAg
bWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBnbHlwaF9vcmll
bnRhdGlvbl9ob3Jpem9udGFsQXR0cik7Ci0gICAgICAgIG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVy
dHkocHJvcGVydHlOYW1lVG9JZE1hcCwgZ2x5cGhfb3JpZW50YXRpb25fdmVydGljYWxBdHRyKTsK
LSAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBp
bWFnZV9yZW5kZXJpbmdBdHRyKTsKLSAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShw
cm9wZXJ0eU5hbWVUb0lkTWFwLCBrZXJuaW5nQXR0cik7Ci0gICAgICAgIG1hcEF0dHJpYnV0ZVRv
Q1NTUHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwgbGV0dGVyX3NwYWNpbmdBdHRyKTsKLSAg
ICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBsaWdo
dGluZ19jb2xvckF0dHIpOwotICAgICAgICBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHByb3Bl
cnR5TmFtZVRvSWRNYXAsIG1hcmtlcl9lbmRBdHRyKTsKLSAgICAgICAgbWFwQXR0cmlidXRlVG9D
U1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBtYXJrZXJfbWlkQXR0cik7Ci0gICAgICAg
IG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwgbWFya2VyX3N0
YXJ0QXR0cik7Ci0gICAgICAgIG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlOYW1l
VG9JZE1hcCwgbWFza0F0dHIpOwotICAgICAgICBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHBy
b3BlcnR5TmFtZVRvSWRNYXAsIG1hc2tfdHlwZUF0dHIpOwotICAgICAgICBtYXBBdHRyaWJ1dGVU
b0NTU1Byb3BlcnR5KHByb3BlcnR5TmFtZVRvSWRNYXAsIG9wYWNpdHlBdHRyKTsKLSAgICAgICAg
bWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBvdmVyZmxvd0F0
dHIpOwotICAgICAgICBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5TmFtZVRvSWRN
YXAsIHBvaW50ZXJfZXZlbnRzQXR0cik7Ci0gICAgICAgIG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVy
dHkocHJvcGVydHlOYW1lVG9JZE1hcCwgc2hhcGVfcmVuZGVyaW5nQXR0cik7Ci0gICAgICAgIG1h
cEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwgc3RvcF9jb2xvckF0
dHIpOwotICAgICAgICBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5TmFtZVRvSWRN
YXAsIHN0b3Bfb3BhY2l0eUF0dHIpOwotICAgICAgICBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5
KHByb3BlcnR5TmFtZVRvSWRNYXAsIHN0cm9rZUF0dHIpOwotICAgICAgICBtYXBBdHRyaWJ1dGVU
b0NTU1Byb3BlcnR5KHByb3BlcnR5TmFtZVRvSWRNYXAsIHN0cm9rZV9kYXNoYXJyYXlBdHRyKTsK
LSAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBz
dHJva2VfZGFzaG9mZnNldEF0dHIpOwotICAgICAgICBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5
KHByb3BlcnR5TmFtZVRvSWRNYXAsIHN0cm9rZV9saW5lY2FwQXR0cik7Ci0gICAgICAgIG1hcEF0
dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwgc3Ryb2tlX2xpbmVqb2lu
QXR0cik7Ci0gICAgICAgIG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlOYW1lVG9J
ZE1hcCwgc3Ryb2tlX21pdGVybGltaXRBdHRyKTsKLSAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQ
cm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBzdHJva2Vfb3BhY2l0eUF0dHIpOwotICAgICAg
ICBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5TmFtZVRvSWRNYXAsIHN0cm9rZV93
aWR0aEF0dHIpOwotICAgICAgICBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5TmFt
ZVRvSWRNYXAsIHRleHRfYW5jaG9yQXR0cik7Ci0gICAgICAgIG1hcEF0dHJpYnV0ZVRvQ1NTUHJv
cGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwgdGV4dF9kZWNvcmF0aW9uQXR0cik7Ci0gICAgICAg
IG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwgdGV4dF9yZW5k
ZXJpbmdBdHRyKTsKLSAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5h
bWVUb0lkTWFwLCB0cmFuc2Zvcm1fb3JpZ2luQXR0cik7Ci0gICAgICAgIG1hcEF0dHJpYnV0ZVRv
Q1NTUHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwgdW5pY29kZV9iaWRpQXR0cik7Ci0gICAg
ICAgIG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwgdmVjdG9y
X2VmZmVjdEF0dHIpOwotICAgICAgICBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5
TmFtZVRvSWRNYXAsIHZpc2liaWxpdHlBdHRyKTsKLSAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQ
cm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCB3b3JkX3NwYWNpbmdBdHRyKTsKLSAgICAgICAg
bWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCB3cml0aW5nX21v
ZGVBdHRyKTsKLSAgICB9Ci0gICAgCi0gICAgcmV0dXJuIHByb3BlcnR5TmFtZVRvSWRNYXAtPmdl
dChhdHRyTmFtZS5sb2NhbE5hbWUoKS5pbXBsKCkpOwotfQotCi10eXBlZGVmIEhhc2hNYXA8UXVh
bGlmaWVkTmFtZSwgQW5pbWF0ZWRQcm9wZXJ0eVR5cGU+IEF0dHJpYnV0ZVRvUHJvcGVydHlUeXBl
TWFwOwotc3RhdGljIGlubGluZSBBdHRyaWJ1dGVUb1Byb3BlcnR5VHlwZU1hcCYgY3NzUHJvcGVy
dHlUb1R5cGVNYXAoKQotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXR0cmlidXRlVG9Qcm9w
ZXJ0eVR5cGVNYXAsIHNfY3NzUHJvcGVydHlNYXAsICgpKTsKLQotICAgIGlmICghc19jc3NQcm9w
ZXJ0eU1hcC5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybiBzX2Nzc1Byb3BlcnR5TWFwOwotCi0g
ICAgLy8gRmlsbCB0aGUgbWFwIGZvciB0aGUgZmlyc3QgdXNlLgotICAgIHNfY3NzUHJvcGVydHlN
YXAuc2V0KGFsaWdubWVudF9iYXNlbGluZUF0dHIsIEFuaW1hdGVkU3RyaW5nKTsKLSAgICBzX2Nz
c1Byb3BlcnR5TWFwLnNldChiYXNlbGluZV9zaGlmdEF0dHIsIEFuaW1hdGVkU3RyaW5nKTsKLSAg
ICBzX2Nzc1Byb3BlcnR5TWFwLnNldChidWZmZXJlZF9yZW5kZXJpbmdBdHRyLCBBbmltYXRlZFN0
cmluZyk7Ci0gICAgc19jc3NQcm9wZXJ0eU1hcC5zZXQoY2xpcEF0dHIsIEFuaW1hdGVkUmVjdCk7
Ci0gICAgc19jc3NQcm9wZXJ0eU1hcC5zZXQoY2xpcF9wYXRoQXR0ciwgQW5pbWF0ZWRTdHJpbmcp
OwotICAgIHNfY3NzUHJvcGVydHlNYXAuc2V0KGNsaXBfcnVsZUF0dHIsIEFuaW1hdGVkU3RyaW5n
KTsKLSAgICBzX2Nzc1Byb3BlcnR5TWFwLnNldChTVkdOYW1lczo6Y29sb3JBdHRyLCBBbmltYXRl
ZENvbG9yKTsKLSAgICBzX2Nzc1Byb3BlcnR5TWFwLnNldChjb2xvcl9pbnRlcnBvbGF0aW9uQXR0
ciwgQW5pbWF0ZWRTdHJpbmcpOwotICAgIHNfY3NzUHJvcGVydHlNYXAuc2V0KGNvbG9yX2ludGVy
cG9sYXRpb25fZmlsdGVyc0F0dHIsIEFuaW1hdGVkU3RyaW5nKTsKLSAgICBzX2Nzc1Byb3BlcnR5
TWFwLnNldChjb2xvcl9wcm9maWxlQXR0ciwgQW5pbWF0ZWRTdHJpbmcpOwotICAgIHNfY3NzUHJv
cGVydHlNYXAuc2V0KGNvbG9yX3JlbmRlcmluZ0F0dHIsIEFuaW1hdGVkU3RyaW5nKTsgCi0gICAg
c19jc3NQcm9wZXJ0eU1hcC5zZXQoY3Vyc29yQXR0ciwgQW5pbWF0ZWRTdHJpbmcpOwotICAgIHNf
Y3NzUHJvcGVydHlNYXAuc2V0KGRpc3BsYXlBdHRyLCBBbmltYXRlZFN0cmluZyk7Ci0gICAgc19j
c3NQcm9wZXJ0eU1hcC5zZXQoZG9taW5hbnRfYmFzZWxpbmVBdHRyLCBBbmltYXRlZFN0cmluZyk7
Ci0gICAgc19jc3NQcm9wZXJ0eU1hcC5zZXQoZmlsbEF0dHIsIEFuaW1hdGVkQ29sb3IpOwotICAg
IHNfY3NzUHJvcGVydHlNYXAuc2V0KGZpbGxfb3BhY2l0eUF0dHIsIEFuaW1hdGVkTnVtYmVyKTsK
LSAgICBzX2Nzc1Byb3BlcnR5TWFwLnNldChmaWxsX3J1bGVBdHRyLCBBbmltYXRlZFN0cmluZyk7
Ci0gICAgc19jc3NQcm9wZXJ0eU1hcC5zZXQoZmlsdGVyQXR0ciwgQW5pbWF0ZWRTdHJpbmcpOwot
ICAgIHNfY3NzUHJvcGVydHlNYXAuc2V0KGZsb29kX2NvbG9yQXR0ciwgQW5pbWF0ZWRDb2xvcik7
Ci0gICAgc19jc3NQcm9wZXJ0eU1hcC5zZXQoZmxvb2Rfb3BhY2l0eUF0dHIsIEFuaW1hdGVkTnVt
YmVyKTsKLSAgICBzX2Nzc1Byb3BlcnR5TWFwLnNldChmb250X2ZhbWlseUF0dHIsIEFuaW1hdGVk
U3RyaW5nKTsKLSAgICBzX2Nzc1Byb3BlcnR5TWFwLnNldChmb250X3NpemVBdHRyLCBBbmltYXRl
ZExlbmd0aCk7Ci0gICAgc19jc3NQcm9wZXJ0eU1hcC5zZXQoZm9udF9zdHJldGNoQXR0ciwgQW5p
bWF0ZWRTdHJpbmcpOwotICAgIHNfY3NzUHJvcGVydHlNYXAuc2V0KGZvbnRfc3R5bGVBdHRyLCBB
bmltYXRlZFN0cmluZyk7Ci0gICAgc19jc3NQcm9wZXJ0eU1hcC5zZXQoZm9udF92YXJpYW50QXR0
ciwgQW5pbWF0ZWRTdHJpbmcpOwotICAgIHNfY3NzUHJvcGVydHlNYXAuc2V0KGZvbnRfd2VpZ2h0
QXR0ciwgQW5pbWF0ZWRTdHJpbmcpOwotICAgIHNfY3NzUHJvcGVydHlNYXAuc2V0KGltYWdlX3Jl
bmRlcmluZ0F0dHIsIEFuaW1hdGVkU3RyaW5nKTsKLSAgICBzX2Nzc1Byb3BlcnR5TWFwLnNldChr
ZXJuaW5nQXR0ciwgQW5pbWF0ZWRMZW5ndGgpOwotICAgIHNfY3NzUHJvcGVydHlNYXAuc2V0KGxl
dHRlcl9zcGFjaW5nQXR0ciwgQW5pbWF0ZWRMZW5ndGgpOwotICAgIHNfY3NzUHJvcGVydHlNYXAu
c2V0KGxpZ2h0aW5nX2NvbG9yQXR0ciwgQW5pbWF0ZWRDb2xvcik7Ci0gICAgc19jc3NQcm9wZXJ0
eU1hcC5zZXQobWFya2VyX2VuZEF0dHIsIEFuaW1hdGVkU3RyaW5nKTsKLSAgICBzX2Nzc1Byb3Bl
cnR5TWFwLnNldChtYXJrZXJfbWlkQXR0ciwgQW5pbWF0ZWRTdHJpbmcpOwotICAgIHNfY3NzUHJv
cGVydHlNYXAuc2V0KG1hcmtlcl9zdGFydEF0dHIsIEFuaW1hdGVkU3RyaW5nKTsKLSAgICBzX2Nz
c1Byb3BlcnR5TWFwLnNldChtYXNrQXR0ciwgQW5pbWF0ZWRTdHJpbmcpOwotICAgIHNfY3NzUHJv
cGVydHlNYXAuc2V0KG1hc2tfdHlwZUF0dHIsIEFuaW1hdGVkU3RyaW5nKTsKLSAgICBzX2Nzc1By
b3BlcnR5TWFwLnNldChvcGFjaXR5QXR0ciwgQW5pbWF0ZWROdW1iZXIpOwotICAgIHNfY3NzUHJv
cGVydHlNYXAuc2V0KG92ZXJmbG93QXR0ciwgQW5pbWF0ZWRTdHJpbmcpOwotICAgIHNfY3NzUHJv
cGVydHlNYXAuc2V0KHBvaW50ZXJfZXZlbnRzQXR0ciwgQW5pbWF0ZWRTdHJpbmcpOwotICAgIHNf
Y3NzUHJvcGVydHlNYXAuc2V0KHNoYXBlX3JlbmRlcmluZ0F0dHIsIEFuaW1hdGVkU3RyaW5nKTsK
LSAgICBzX2Nzc1Byb3BlcnR5TWFwLnNldChzdG9wX2NvbG9yQXR0ciwgQW5pbWF0ZWRDb2xvcik7
Ci0gICAgc19jc3NQcm9wZXJ0eU1hcC5zZXQoc3RvcF9vcGFjaXR5QXR0ciwgQW5pbWF0ZWROdW1i
ZXIpOwotICAgIHNfY3NzUHJvcGVydHlNYXAuc2V0KHN0cm9rZUF0dHIsIEFuaW1hdGVkQ29sb3Ip
OwotICAgIHNfY3NzUHJvcGVydHlNYXAuc2V0KHN0cm9rZV9kYXNoYXJyYXlBdHRyLCBBbmltYXRl
ZExlbmd0aExpc3QpOwotICAgIHNfY3NzUHJvcGVydHlNYXAuc2V0KHN0cm9rZV9kYXNob2Zmc2V0
QXR0ciwgQW5pbWF0ZWRMZW5ndGgpOwotICAgIHNfY3NzUHJvcGVydHlNYXAuc2V0KHN0cm9rZV9s
aW5lY2FwQXR0ciwgQW5pbWF0ZWRTdHJpbmcpOwotICAgIHNfY3NzUHJvcGVydHlNYXAuc2V0KHN0
cm9rZV9saW5lam9pbkF0dHIsIEFuaW1hdGVkU3RyaW5nKTsKLSAgICBzX2Nzc1Byb3BlcnR5TWFw
LnNldChzdHJva2VfbWl0ZXJsaW1pdEF0dHIsIEFuaW1hdGVkTnVtYmVyKTsKLSAgICBzX2Nzc1By
b3BlcnR5TWFwLnNldChzdHJva2Vfb3BhY2l0eUF0dHIsIEFuaW1hdGVkTnVtYmVyKTsKLSAgICBz
X2Nzc1Byb3BlcnR5TWFwLnNldChzdHJva2Vfd2lkdGhBdHRyLCBBbmltYXRlZExlbmd0aCk7Ci0g
ICAgc19jc3NQcm9wZXJ0eU1hcC5zZXQodGV4dF9hbmNob3JBdHRyLCBBbmltYXRlZFN0cmluZyk7
Ci0gICAgc19jc3NQcm9wZXJ0eU1hcC5zZXQodGV4dF9kZWNvcmF0aW9uQXR0ciwgQW5pbWF0ZWRT
dHJpbmcpOwotICAgIHNfY3NzUHJvcGVydHlNYXAuc2V0KHRleHRfcmVuZGVyaW5nQXR0ciwgQW5p
bWF0ZWRTdHJpbmcpOwotICAgIHNfY3NzUHJvcGVydHlNYXAuc2V0KHZlY3Rvcl9lZmZlY3RBdHRy
LCBBbmltYXRlZFN0cmluZyk7Ci0gICAgc19jc3NQcm9wZXJ0eU1hcC5zZXQodmlzaWJpbGl0eUF0
dHIsIEFuaW1hdGVkU3RyaW5nKTsKLSAgICBzX2Nzc1Byb3BlcnR5TWFwLnNldCh3b3JkX3NwYWNp
bmdBdHRyLCBBbmltYXRlZExlbmd0aCk7Ci0gICAgcmV0dXJuIHNfY3NzUHJvcGVydHlNYXA7Ci19
Ci0KLXZvaWQgU1ZHU3R5bGVkRWxlbWVudDo6YW5pbWF0ZWRQcm9wZXJ0eVR5cGVGb3JBdHRyaWJ1
dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUsIFZlY3RvcjxBbmltYXRlZFByb3BlcnR5
VHlwZT4mIHByb3BlcnR5VHlwZXMpCi17Ci0gICAgU1ZHRWxlbWVudDo6YW5pbWF0ZWRQcm9wZXJ0
eVR5cGVGb3JBdHRyaWJ1dGUoYXR0ck5hbWUsIHByb3BlcnR5VHlwZXMpOwotICAgIGlmICghcHJv
cGVydHlUeXBlcy5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIEF0dHJpYnV0ZVRv
UHJvcGVydHlUeXBlTWFwJiBjc3NQcm9wZXJ0eVR5cGVNYXAgPSBjc3NQcm9wZXJ0eVRvVHlwZU1h
cCgpOwotICAgIGlmIChjc3NQcm9wZXJ0eVR5cGVNYXAuY29udGFpbnMoYXR0ck5hbWUpKQotICAg
ICAgICBwcm9wZXJ0eVR5cGVzLmFwcGVuZChjc3NQcm9wZXJ0eVR5cGVNYXAuZ2V0KGF0dHJOYW1l
KSk7Ci19Ci0KLWJvb2wgU1ZHU3R5bGVkRWxlbWVudDo6aXNBbmltYXRhYmxlQ1NTUHJvcGVydHko
Y29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUpCi17Ci0gICAgcmV0dXJuIGNzc1Byb3BlcnR5
VG9UeXBlTWFwKCkuY29udGFpbnMoYXR0ck5hbWUpOwotfQotCi1ib29sIFNWR1N0eWxlZEVsZW1l
bnQ6OmlzUHJlc2VudGF0aW9uQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUpIGNv
bnN0Ci17Ci0gICAgaWYgKFNWR1N0eWxlZEVsZW1lbnQ6OmNzc1Byb3BlcnR5SWRGb3JTVkdBdHRy
aWJ1dGVOYW1lKG5hbWUpID4gMCkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgcmV0dXJuIFNW
R0VsZW1lbnQ6OmlzUHJlc2VudGF0aW9uQXR0cmlidXRlKG5hbWUpOwotfQotCi12b2lkIFNWR1N0
eWxlZEVsZW1lbnQ6OmNvbGxlY3RTdHlsZUZvclByZXNlbnRhdGlvbkF0dHJpYnV0ZShjb25zdCBR
dWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9taWNTdHJpbmcmIHZhbHVlLCBNdXRhYmxlU3R5
bGVQcm9wZXJ0eVNldCogc3R5bGUpCi17Ci0gICAgQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlEID0g
U1ZHU3R5bGVkRWxlbWVudDo6Y3NzUHJvcGVydHlJZEZvclNWR0F0dHJpYnV0ZU5hbWUobmFtZSk7
Ci0gICAgaWYgKHByb3BlcnR5SUQgPiAwKQotICAgICAgICBhZGRQcm9wZXJ0eVRvUHJlc2VudGF0
aW9uQXR0cmlidXRlU3R5bGUoc3R5bGUsIHByb3BlcnR5SUQsIHZhbHVlKTsKLX0KLQotdm9pZCBT
VkdTdHlsZWRFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1l
LCBjb25zdCBBdG9taWNTdHJpbmcmIHZhbHVlKQotewotICAgIC8vIFNWRyBhbmltYXRpb24gaGFz
IGN1cnJlbnRseSByZXF1aXJlcyBzcGVjaWFsIHN0b3JhZ2Ugb2YgdmFsdWVzIHNvIHdlIHNldAot
ICAgIC8vIHRoZSBjbGFzc05hbWUgaGVyZS4gIHN2Z0F0dHJpYnV0ZUNoYW5nZWQgYWN0dWFsbHkg
Y2F1c2VzIHRoZSByZXN1bHRpbmcKLSAgICAvLyBzdHlsZSB1cGRhdGVzIChpbnN0ZWFkIG9mIFN0
eWxlZEVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKS4gV2UgZG9uJ3QKLSAgICAvLyB0ZWxsIFN0eWxl
ZEVsZW1lbnQgYWJvdXQgdGhlIGNoYW5nZSB0byBhdm9pZCBwYXJzaW5nIHRoZSBjbGFzcyBsaXN0
IHR3aWNlCi0gICAgaWYgKG5hbWUgPT0gSFRNTE5hbWVzOjpjbGFzc0F0dHIpIHsKLSAgICAgICAg
c2V0Q2xhc3NOYW1lQmFzZVZhbHVlKHZhbHVlKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQot
ICAgIC8vIGlkIGlzIGhhbmRsZWQgYnkgU3R5bGVkRWxlbWVudCB3aGljaCBTVkdFbGVtZW50IGlu
aGVyaXRzIGZyb20KLSAgICBTVkdFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShuYW1lLCB2YWx1ZSk7
Ci19Ci0KLWJvb2wgU1ZHU3R5bGVkRWxlbWVudDo6aXNLbm93bkF0dHJpYnV0ZShjb25zdCBRdWFs
aWZpZWROYW1lJiBhdHRyTmFtZSkKLXsKLSAgICByZXR1cm4gaXNJZEF0dHJpYnV0ZU5hbWUoYXR0
ck5hbWUpOwotfQotCi12b2lkIFNWR1N0eWxlZEVsZW1lbnQ6OnN2Z0F0dHJpYnV0ZUNoYW5nZWQo
Y29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUpCi17Ci0gICAgQ1NTUHJvcGVydHlJRCBwcm9w
SWQgPSBTVkdTdHlsZWRFbGVtZW50Ojpjc3NQcm9wZXJ0eUlkRm9yU1ZHQXR0cmlidXRlTmFtZShh
dHRyTmFtZSk7Ci0gICAgaWYgKHByb3BJZCA+IDApIHsKLSAgICAgICAgU1ZHRWxlbWVudEluc3Rh
bmNlOjppbnZhbGlkYXRlQWxsSW5zdGFuY2VzT2ZFbGVtZW50KHRoaXMpOwotICAgICAgICByZXR1
cm47Ci0gICAgfQotCi0gICAgaWYgKGF0dHJOYW1lID09IEhUTUxOYW1lczo6Y2xhc3NBdHRyKSB7
Ci0gICAgICAgIGNsYXNzQXR0cmlidXRlQ2hhbmdlZChjbGFzc05hbWUoKSk7Ci0gICAgICAgIFNW
R0VsZW1lbnRJbnN0YW5jZTo6aW52YWxpZGF0ZUFsbEluc3RhbmNlc09mRWxlbWVudCh0aGlzKTsK
LSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGlmIChpc0lkQXR0cmlidXRlTmFtZShhdHRy
TmFtZSkpIHsKLSAgICAgICAgUmVuZGVyT2JqZWN0KiBvYmplY3QgPSByZW5kZXJlcigpOwotICAg
ICAgICAvLyBOb3RpZnkgcmVzb3VyY2VzIGFib3V0IGlkIGNoYW5nZXMsIHRoaXMgaXMgaW1wb3J0
YW50IGFzIHdlIGNhY2hlIHJlc291cmNlcyBieSBpZCBpbiBTVkdEb2N1bWVudEV4dGVuc2lvbnMK
LSAgICAgICAgaWYgKG9iamVjdCAmJiBvYmplY3QtPmlzU1ZHUmVzb3VyY2VDb250YWluZXIoKSkK
LSAgICAgICAgICAgIG9iamVjdC0+dG9SZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lcigpLT5pZENo
YW5nZWQoKTsKLSAgICAgICAgaWYgKGluRG9jdW1lbnQoKSkKLSAgICAgICAgICAgIGJ1aWxkUGVu
ZGluZ1Jlc291cmNlc0lmTmVlZGVkKCk7Ci0gICAgICAgIFNWR0VsZW1lbnRJbnN0YW5jZTo6aW52
YWxpZGF0ZUFsbEluc3RhbmNlc09mRWxlbWVudCh0aGlzKTsKLSAgICAgICAgcmV0dXJuOwotICAg
IH0KLX0KLQotTm9kZTo6SW5zZXJ0aW9uTm90aWZpY2F0aW9uUmVxdWVzdCBTVkdTdHlsZWRFbGVt
ZW50OjppbnNlcnRlZEludG8oQ29udGFpbmVyTm9kZSogcm9vdFBhcmVudCkKLXsKLSAgICBTVkdF
bGVtZW50OjppbnNlcnRlZEludG8ocm9vdFBhcmVudCk7Ci0gICAgdXBkYXRlUmVsYXRpdmVMZW5n
dGhzSW5mb3JtYXRpb24oKTsKLSAgICBidWlsZFBlbmRpbmdSZXNvdXJjZXNJZk5lZWRlZCgpOwot
ICAgIHJldHVybiBJbnNlcnRpb25Eb25lOwotfQotCi12b2lkIFNWR1N0eWxlZEVsZW1lbnQ6OmJ1
aWxkUGVuZGluZ1Jlc291cmNlc0lmTmVlZGVkKCkKLXsKLSAgICBEb2N1bWVudCogZG9jdW1lbnQg
PSB0aGlzLT5kb2N1bWVudCgpOwotICAgIGlmICghbmVlZHNQZW5kaW5nUmVzb3VyY2VIYW5kbGlu
ZygpIHx8ICFkb2N1bWVudCB8fCAhaW5Eb2N1bWVudCgpIHx8IGlzSW5TaGFkb3dUcmVlKCkpCi0g
ICAgICAgIHJldHVybjsKLQotICAgIFNWR0RvY3VtZW50RXh0ZW5zaW9ucyogZXh0ZW5zaW9ucyA9
IGRvY3VtZW50LT5hY2Nlc3NTVkdFeHRlbnNpb25zKCk7Ci0gICAgU3RyaW5nIHJlc291cmNlSWQg
PSBnZXRJZEF0dHJpYnV0ZSgpOwotICAgIGlmICghZXh0ZW5zaW9ucy0+aGFzUGVuZGluZ1Jlc291
cmNlKHJlc291cmNlSWQpKQotICAgICAgICByZXR1cm47Ci0KLSAgICAvLyBNYXJrIHBlbmRpbmcg
cmVzb3VyY2VzIGFzIHBlbmRpbmcgZm9yIHJlbW92YWwuCi0gICAgZXh0ZW5zaW9ucy0+bWFya1Bl
bmRpbmdSZXNvdXJjZXNGb3JSZW1vdmFsKHJlc291cmNlSWQpOwotCi0gICAgLy8gUmVidWlsZCBw
ZW5kaW5nIHJlc291cmNlcyBmb3IgZWFjaCBjbGllbnQgb2YgYSBwZW5kaW5nIHJlc291cmNlIHRo
YXQgaXMgYmVpbmcgcmVtb3ZlZC4KLSAgICB3aGlsZSAoRWxlbWVudCogY2xpZW50RWxlbWVudCA9
IGV4dGVuc2lvbnMtPnJlbW92ZUVsZW1lbnRGcm9tUGVuZGluZ1Jlc291cmNlc0ZvclJlbW92YWwo
cmVzb3VyY2VJZCkpIHsKLSAgICAgICAgQVNTRVJUKGNsaWVudEVsZW1lbnQtPmhhc1BlbmRpbmdS
ZXNvdXJjZXMoKSk7Ci0gICAgICAgIGlmIChjbGllbnRFbGVtZW50LT5oYXNQZW5kaW5nUmVzb3Vy
Y2VzKCkpIHsKLSAgICAgICAgICAgIGNsaWVudEVsZW1lbnQtPmJ1aWxkUGVuZGluZ1Jlc291cmNl
KCk7Ci0gICAgICAgICAgICBleHRlbnNpb25zLT5jbGVhckhhc1BlbmRpbmdSZXNvdXJjZXNJZlBv
c3NpYmxlKGNsaWVudEVsZW1lbnQpOwotICAgICAgICB9Ci0gICAgfQotfQotCi12b2lkIFNWR1N0
eWxlZEVsZW1lbnQ6OnJlbW92ZWRGcm9tKENvbnRhaW5lck5vZGUqIHJvb3RQYXJlbnQpCi17Ci0g
ICAgaWYgKHJvb3RQYXJlbnQtPmluRG9jdW1lbnQoKSkKLSAgICAgICAgdXBkYXRlUmVsYXRpdmVM
ZW5ndGhzSW5mb3JtYXRpb24oZmFsc2UsIHRoaXMpOwotICAgIFNWR0VsZW1lbnQ6OnJlbW92ZWRG
cm9tKHJvb3RQYXJlbnQpOwotICAgIFNWR0VsZW1lbnRJbnN0YW5jZTo6aW52YWxpZGF0ZUFsbElu
c3RhbmNlc09mRWxlbWVudCh0aGlzKTsKLX0KLQotdm9pZCBTVkdTdHlsZWRFbGVtZW50OjpjaGls
ZHJlbkNoYW5nZWQoYm9vbCBjaGFuZ2VkQnlQYXJzZXIsIE5vZGUqIGJlZm9yZUNoYW5nZSwgTm9k
ZSogYWZ0ZXJDaGFuZ2UsIGludCBjaGlsZENvdW50RGVsdGEpCi17Ci0gICAgU1ZHRWxlbWVudDo6
Y2hpbGRyZW5DaGFuZ2VkKGNoYW5nZWRCeVBhcnNlciwgYmVmb3JlQ2hhbmdlLCBhZnRlckNoYW5n
ZSwgY2hpbGRDb3VudERlbHRhKTsKLQotICAgIC8vIEludmFsaWRhdGUgYWxsIFNWR0VsZW1lbnRJ
bnN0YW5jZXMgYXNzb2NpYXRlZCB3aXRoIHVzCi0gICAgaWYgKCFjaGFuZ2VkQnlQYXJzZXIpCi0g
ICAgICAgIFNWR0VsZW1lbnRJbnN0YW5jZTo6aW52YWxpZGF0ZUFsbEluc3RhbmNlc09mRWxlbWVu
dCh0aGlzKTsKLX0KLQotUGFzc1JlZlB0cjxDU1NWYWx1ZT4gU1ZHU3R5bGVkRWxlbWVudDo6Z2V0
UHJlc2VudGF0aW9uQXR0cmlidXRlKGNvbnN0IFN0cmluZyYgbmFtZSkKLXsKLSAgICBpZiAoIWhh
c0F0dHJpYnV0ZXNXaXRob3V0VXBkYXRlKCkpCi0gICAgICAgIHJldHVybiAwOwotCi0gICAgUXVh
bGlmaWVkTmFtZSBhdHRyaWJ1dGVOYW1lKG51bGxBdG9tLCBuYW1lLCBudWxsQXRvbSk7Ci0gICAg
Y29uc3QgQXR0cmlidXRlKiBhdHRyaWJ1dGUgPSBmaW5kQXR0cmlidXRlQnlOYW1lKGF0dHJpYnV0
ZU5hbWUpOwotICAgIGlmICghYXR0cmlidXRlKQotICAgICAgICByZXR1cm4gMDsKLQotICAgIFJl
ZlB0cjxNdXRhYmxlU3R5bGVQcm9wZXJ0eVNldD4gc3R5bGUgPSBNdXRhYmxlU3R5bGVQcm9wZXJ0
eVNldDo6Y3JlYXRlKFNWR0F0dHJpYnV0ZU1vZGUpOwotICAgIENTU1Byb3BlcnR5SUQgcHJvcGVy
dHlJRCA9IFNWR1N0eWxlZEVsZW1lbnQ6OmNzc1Byb3BlcnR5SWRGb3JTVkdBdHRyaWJ1dGVOYW1l
KGF0dHJpYnV0ZS0+bmFtZSgpKTsKLSAgICBzdHlsZS0+c2V0UHJvcGVydHkocHJvcGVydHlJRCwg
YXR0cmlidXRlLT52YWx1ZSgpKTsKLSAgICBSZWZQdHI8Q1NTVmFsdWU+IGNzc1ZhbHVlID0gc3R5
bGUtPmdldFByb3BlcnR5Q1NTVmFsdWUocHJvcGVydHlJRCk7Ci0gICAgcmV0dXJuIGNzc1ZhbHVl
ID8gY3NzVmFsdWUtPmNsb25lRm9yQ1NTT00oKSA6IDA7Ci19Ci0KLWJvb2wgU1ZHU3R5bGVkRWxl
bWVudDo6aW5zdGFuY2VVcGRhdGVzQmxvY2tlZCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGhhc1NW
R1JhcmVEYXRhKCkgJiYgc3ZnUmFyZURhdGEoKS0+aW5zdGFuY2VVcGRhdGVzQmxvY2tlZCgpOwot
fQotCi12b2lkIFNWR1N0eWxlZEVsZW1lbnQ6OnNldEluc3RhbmNlVXBkYXRlc0Jsb2NrZWQoYm9v
bCB2YWx1ZSkKLXsKLSAgICBpZiAoaGFzU1ZHUmFyZURhdGEoKSkKLSAgICAgICAgc3ZnUmFyZURh
dGEoKS0+c2V0SW5zdGFuY2VVcGRhdGVzQmxvY2tlZCh2YWx1ZSk7Ci19Ci0KLUFmZmluZVRyYW5z
Zm9ybSBTVkdTdHlsZWRFbGVtZW50Ojpsb2NhbENvb3JkaW5hdGVTcGFjZVRyYW5zZm9ybShTVkdM
b2NhdGFibGU6OkNUTVNjb3BlKSBjb25zdAotewotICAgIC8vIFRvIGJlIG92ZXJyaWRlbiBieSBT
VkdHcmFwaGljc0VsZW1lbnQgKG9yIGFzIHNwZWNpYWwgY2FzZSBTVkdUZXh0RWxlbWVudCBhbmQg
U1ZHUGF0dGVybkVsZW1lbnQpCi0gICAgcmV0dXJuIEFmZmluZVRyYW5zZm9ybSgpOwotfQotCi12
b2lkIFNWR1N0eWxlZEVsZW1lbnQ6OnVwZGF0ZVJlbGF0aXZlTGVuZ3Roc0luZm9ybWF0aW9uKGJv
b2wgaGFzUmVsYXRpdmVMZW5ndGhzLCBTVkdTdHlsZWRFbGVtZW50KiBlbGVtZW50KQotewotICAg
IC8vIElmIHdlJ3JlIG5vdCB5ZXQgaW4gYSBkb2N1bWVudCwgdGhpcyBmdW5jdGlvbiB3aWxsIGJl
IGNhbGxlZCBhZ2FpbiBmcm9tIGluc2VydGVkSW50bygpLiBEbyBub3RoaW5nIG5vdy4KLSAgICBp
ZiAoIWluRG9jdW1lbnQoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgLy8gQW4gZWxlbWVudCB3
YW50cyB0byBub3RpZnkgdXMgdGhhdCBpdHMgb3duIHJlbGF0aXZlIGxlbmd0aHMgc3RhdGUgY2hh
bmdlZC4KLSAgICAvLyBSZWdpc3RlciBpdCBpbiB0aGUgcmVsYXRpdmUgbGVuZ3RoIG1hcCwgYW5k
IHJlZ2lzdGVyIHVzIGluIHRoZSBwYXJlbnQgcmVsYXRpdmUgbGVuZ3RoIG1hcC4KLSAgICAvLyBS
ZWdpc3RlciB0aGUgcGFyZW50IGluIHRoZSBncmFuZHBhcmVudHMgbWFwLCBldGMuIFJlcGVhdCBw
cm9jZWR1cmUgdW50aWwgdGhlIHJvb3Qgb2YgdGhlIFNWRyB0cmVlLgotCi0gICAgaWYgKGhhc1Jl
bGF0aXZlTGVuZ3RocykKLSAgICAgICAgbV9lbGVtZW50c1dpdGhSZWxhdGl2ZUxlbmd0aHMuYWRk
KGVsZW1lbnQpOwotICAgIGVsc2UgewotICAgICAgICBpZiAoIW1fZWxlbWVudHNXaXRoUmVsYXRp
dmVMZW5ndGhzLmNvbnRhaW5zKGVsZW1lbnQpKSB7Ci0gICAgICAgICAgICAvLyBXZSB3ZXJlIG5l
dmVyIHJlZ2lzdGVyZWQuIERvIG5vdGhpbmcuCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAg
IH0KLQotICAgICAgICBtX2VsZW1lbnRzV2l0aFJlbGF0aXZlTGVuZ3Rocy5yZW1vdmUoZWxlbWVu
dCk7Ci0gICAgfQotCi0gICAgLy8gRmluZCBmaXJzdCBzdHlsZWQgcGFyZW50IG5vZGUsIGFuZCBu
b3RpZnkgaXQgdGhhdCB3ZSd2ZSBjaGFuZ2VkIG91ciByZWxhdGl2ZSBsZW5ndGggc3RhdGUuCi0g
ICAgQ29udGFpbmVyTm9kZSogbm9kZSA9IHBhcmVudE5vZGUoKTsKLSAgICB3aGlsZSAobm9kZSkg
ewotICAgICAgICBpZiAoIW5vZGUtPmlzU1ZHRWxlbWVudCgpKQotICAgICAgICAgICAgYnJlYWs7
Ci0KLSAgICAgICAgU1ZHRWxlbWVudCogZWxlbWVudCA9IHRvU1ZHRWxlbWVudChub2RlKTsKLSAg
ICAgICAgaWYgKCFlbGVtZW50LT5pc1NWR1N0eWxlZEVsZW1lbnQoKSkgewotICAgICAgICAgICAg
bm9kZSA9IG5vZGUtPnBhcmVudE5vZGUoKTsKLSAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAg
ICB9Ci0KLSAgICAgICAgLy8gUmVnaXN0ZXIgdXMgaW4gdGhlIHBhcmVudCBlbGVtZW50IG1hcC4K
LSAgICAgICAgdG9TVkdTdHlsZWRFbGVtZW50KGVsZW1lbnQpLT51cGRhdGVSZWxhdGl2ZUxlbmd0
aHNJbmZvcm1hdGlvbihoYXNSZWxhdGl2ZUxlbmd0aHMsIHRoaXMpOwotICAgICAgICBicmVhazsK
LSAgICB9Ci19Ci0KLWJvb2wgU1ZHU3R5bGVkRWxlbWVudDo6aXNNb3VzZUZvY3VzYWJsZSgpIGNv
bnN0Ci17Ci0gICAgaWYgKCFpc0ZvY3VzYWJsZSgpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0g
ICAgRWxlbWVudCogZXZlbnRUYXJnZXQgPSBjb25zdF9jYXN0PFNWR1N0eWxlZEVsZW1lbnQgKj4o
dGhpcyk7Ci0gICAgcmV0dXJuIGV2ZW50VGFyZ2V0LT5oYXNFdmVudExpc3RlbmVycyhldmVudE5h
bWVzKCkuZm9jdXNpbkV2ZW50KSB8fCBldmVudFRhcmdldC0+aGFzRXZlbnRMaXN0ZW5lcnMoZXZl
bnROYW1lcygpLmZvY3Vzb3V0RXZlbnQpOwotfQotCi1ib29sIFNWR1N0eWxlZEVsZW1lbnQ6Omlz
S2V5Ym9hcmRGb2N1c2FibGUoS2V5Ym9hcmRFdmVudCopIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGlz
TW91c2VGb2N1c2FibGUoKTsKLX0KLQotfQotCi0jZW5kaWYgLy8gRU5BQkxFKFNWRykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTdHlsZWRFbGVtZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHU3R5bGVkRWxlbWVudC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAzOGM5NDdjN2RmNWEyZTllODBlOTczNmZkODVmNmY3MTQwYzZhZDY5Li4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdT
dHlsZWRFbGVtZW50LmgKKysrIC9kZXYvbnVsbApAQCAtMSwxMDUgKzAsMCBAQAotLyoKLSAqIENv
cHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNywgMjAwOCBOaWtvbGFzIFppbW1lcm1h
bm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KLSAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAw
NyBSb2IgQnVpcyA8YnVpc0BrZGUub3JnPgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNl
IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAq
IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg
dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0
aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3Ig
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNo
b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZ
SU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1B
IDAyMTEwLTEzMDEsIFVTQS4KLSAqLwotCi0jaWZuZGVmIFNWR1N0eWxlZEVsZW1lbnRfaAotI2Rl
ZmluZSBTVkdTdHlsZWRFbGVtZW50X2gKLQotI2lmIEVOQUJMRShTVkcpCi0jaW5jbHVkZSAiQ1NT
UHJvcGVydHlOYW1lcy5oIgotI2luY2x1ZGUgIlNWR0FuaW1hdGVkU3RyaW5nLmgiCi0jaW5jbHVk
ZSAiU1ZHRWxlbWVudC5oIgotI2luY2x1ZGUgIlNWR0xvY2F0YWJsZS5oIgotI2luY2x1ZGUgPHd0
Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KLQotbmFtZXNwYWNlIFdl
YkNvcmUgewotCi12b2lkIG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkoSGFzaE1hcDxBdG9taWNT
dHJpbmdJbXBsKiwgQ1NTUHJvcGVydHlJRD4qIHByb3BlcnR5TmFtZVRvSWRNYXAsIGNvbnN0IFF1
YWxpZmllZE5hbWUmIGF0dHJOYW1lKTsKLQotY2xhc3MgQ1NTVmFsdWU7Ci1jbGFzcyBDU1NTdHls
ZURlY2xhcmF0aW9uOwotCi0vLyBGSVhNRSh3ZWJraXQub3JnL2IvMTA3Mzg2KTogU1ZHU3R5bGVk
RWxlbWVudCBzaG91bGQgYmUgbWVyZ2VkIGludG8gU1ZHRWxlbWVudCBhcyBzcGVjaWZpZWQgYnkg
U1ZHMi4KLWNsYXNzIFNWR1N0eWxlZEVsZW1lbnQgOiBwdWJsaWMgU1ZHRWxlbWVudCB7Ci1wdWJs
aWM6Ci0gICAgdmlydHVhbCBTdHJpbmcgdGl0bGUoKSBjb25zdCBPVkVSUklERTsKLQotICAgIGJv
b2wgaGFzUmVsYXRpdmVMZW5ndGhzKCkgY29uc3QgeyByZXR1cm4gIW1fZWxlbWVudHNXaXRoUmVs
YXRpdmVMZW5ndGhzLmlzRW1wdHkoKTsgfQotCi0gICAgdmlydHVhbCBib29sIHN1cHBvcnRzTWFy
a2VycygpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9Ci0KLSAgICBQYXNzUmVmUHRyPENTU1ZhbHVl
PiBnZXRQcmVzZW50YXRpb25BdHRyaWJ1dGUoY29uc3QgU3RyaW5nJiBuYW1lKTsKLQotICAgIGJv
b2wgaXNLbm93bkF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJik7Ci0KLSAgICBib29sIGlu
c3RhbmNlVXBkYXRlc0Jsb2NrZWQoKSBjb25zdDsKLSAgICB2b2lkIHNldEluc3RhbmNlVXBkYXRl
c0Jsb2NrZWQoYm9vbCk7Ci0KLSAgICB2aXJ0dWFsIHZvaWQgYW5pbWF0ZWRQcm9wZXJ0eVR5cGVG
b3JBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIFZlY3RvcjxBbmltYXRlZFByb3BlcnR5
VHlwZT4mKTsKLSAgICBzdGF0aWMgYm9vbCBpc0FuaW1hdGFibGVDU1NQcm9wZXJ0eShjb25zdCBR
dWFsaWZpZWROYW1lJik7Ci0KLSAgICB2aXJ0dWFsIEFmZmluZVRyYW5zZm9ybSBsb2NhbENvb3Jk
aW5hdGVTcGFjZVRyYW5zZm9ybShTVkdMb2NhdGFibGU6OkNUTVNjb3BlKSBjb25zdDsKLQotICAg
IHZpcnR1YWwgYm9vbCBuZWVkc1BlbmRpbmdSZXNvdXJjZUhhbmRsaW5nKCkgY29uc3QgeyByZXR1
cm4gdHJ1ZTsgfQotCi1wcm90ZWN0ZWQ6IAotICAgIFNWR1N0eWxlZEVsZW1lbnQoY29uc3QgUXVh
bGlmaWVkTmFtZSYsIERvY3VtZW50Kik7Ci0gICAgdmlydHVhbCBib29sIHJlbmRlcmVySXNOZWVk
ZWQoY29uc3QgUmVuZGVyU3R5bGUmKTsKLQotICAgIHZpcnR1YWwgdm9pZCBwYXJzZUF0dHJpYnV0
ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJikgT1ZFUlJJREU7Ci0g
ICAgdmlydHVhbCBib29sIGlzUHJlc2VudGF0aW9uQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5h
bWUmKSBjb25zdCBPVkVSUklERTsKLSAgICB2aXJ0dWFsIHZvaWQgY29sbGVjdFN0eWxlRm9yUHJl
c2VudGF0aW9uQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJp
bmcmLCBNdXRhYmxlU3R5bGVQcm9wZXJ0eVNldCopIE9WRVJSSURFOwotICAgIHZpcnR1YWwgdm9p
ZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBPVkVSUklERTsKLQot
ICAgIHZpcnR1YWwgSW5zZXJ0aW9uTm90aWZpY2F0aW9uUmVxdWVzdCBpbnNlcnRlZEludG8oQ29u
dGFpbmVyTm9kZSopIE9WRVJSSURFOwotICAgIHZpcnR1YWwgdm9pZCByZW1vdmVkRnJvbShDb250
YWluZXJOb2RlKikgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCB2b2lkIGNoaWxkcmVuQ2hhbmdlZChi
b29sIGNoYW5nZWRCeVBhcnNlciA9IGZhbHNlLCBOb2RlKiBiZWZvcmVDaGFuZ2UgPSAwLCBOb2Rl
KiBhZnRlckNoYW5nZSA9IDAsIGludCBjaGlsZENvdW50RGVsdGEgPSAwKTsKLQotICAgIHN0YXRp
YyBDU1NQcm9wZXJ0eUlEIGNzc1Byb3BlcnR5SWRGb3JTVkdBdHRyaWJ1dGVOYW1lKGNvbnN0IFF1
YWxpZmllZE5hbWUmKTsKLSAgICB2b2lkIHVwZGF0ZVJlbGF0aXZlTGVuZ3Roc0luZm9ybWF0aW9u
KCkgeyB1cGRhdGVSZWxhdGl2ZUxlbmd0aHNJbmZvcm1hdGlvbihzZWxmSGFzUmVsYXRpdmVMZW5n
dGhzKCksIHRoaXMpOyB9Ci0gICAgdm9pZCB1cGRhdGVSZWxhdGl2ZUxlbmd0aHNJbmZvcm1hdGlv
bihib29sIGhhc1JlbGF0aXZlTGVuZ3RocywgU1ZHU3R5bGVkRWxlbWVudCopOwotCi0gICAgdmly
dHVhbCBib29sIHNlbGZIYXNSZWxhdGl2ZUxlbmd0aHMoKSBjb25zdCB7IHJldHVybiBmYWxzZTsg
fQotCi1wcml2YXRlOgotICAgIHZpcnR1YWwgYm9vbCBpc1NWR1N0eWxlZEVsZW1lbnQoKSBjb25z
dCBPVkVSUklERSBGSU5BTCB7IHJldHVybiB0cnVlOyB9Ci0KLSAgICB2aXJ0dWFsIGJvb2wgaXNL
ZXlib2FyZEZvY3VzYWJsZShLZXlib2FyZEV2ZW50KikgY29uc3QgT1ZFUlJJREU7Ci0gICAgdmly
dHVhbCBib29sIGlzTW91c2VGb2N1c2FibGUoKSBjb25zdCBPVkVSUklERTsKLQotICAgIHZvaWQg
YnVpbGRQZW5kaW5nUmVzb3VyY2VzSWZOZWVkZWQoKTsKLQotICAgIEhhc2hTZXQ8U1ZHU3R5bGVk
RWxlbWVudCo+IG1fZWxlbWVudHNXaXRoUmVsYXRpdmVMZW5ndGhzOwotCi0gICAgQkVHSU5fREVD
TEFSRV9BTklNQVRFRF9QUk9QRVJUSUVTKFNWR1N0eWxlZEVsZW1lbnQpCi0gICAgICAgIERFQ0xB
UkVfQU5JTUFURURfU1RSSU5HKENsYXNzTmFtZSwgY2xhc3NOYW1lKQotICAgIEVORF9ERUNMQVJF
X0FOSU1BVEVEX1BST1BFUlRJRVMKLX07Ci0KLWlubGluZSBTVkdTdHlsZWRFbGVtZW50KiB0b1NW
R1N0eWxlZEVsZW1lbnQoTm9kZSogbm9kZSkKLXsKLSAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9J
TVBMSUNBVElPTighbm9kZSB8fCAobm9kZS0+aXNTdHlsZWRFbGVtZW50KCkgJiYgbm9kZS0+aXNT
VkdFbGVtZW50KCkpKTsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8U1ZHU3R5bGVkRWxlbWVudCo+
KG5vZGUpOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUo
U1ZHKQotI2VuZGlmIC8vIFNWR1N0eWxlZEVsZW1lbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdTdHlsZWRFbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTdHls
ZWRFbGVtZW50LmlkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjdmOTQ5MDBlZmJh
MmZiZGI4MWI1MmJhOWUzMDVhMDBiNDY5MTdiMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU3R5bGVkRWxlbWVudC5p
ZGwKKysrIC9kZXYvbnVsbApAQCAtMSwzNyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAy
MDA2IFNhbXVlbCBXZWluaWcgPHNhbS53ZWluaWdAZ21haWwuY29tPgotICogQ29weXJpZ2h0IChD
KSAyMDA3IFJvYiBCdWlzIDxyd2xidWlzQGdtYWlsLmNvbT4KLSAqIENvcHlyaWdodCAoQykgMjAw
NiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
Ci0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0g
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKLSAqLwotCi1bCi0gICAgTm9JbnRlcmZhY2VPYmplY3QsCi0gICAgQ29u
ZGl0aW9uYWw9U1ZHCi1dIGludGVyZmFjZSBTVkdTdHlsZWRFbGVtZW50IDogU1ZHRWxlbWVudCB7
Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIFNWR0FuaW1hdGVkU3RyaW5nIGNsYXNzTmFtZTsKLSAg
ICByZWFkb25seSBhdHRyaWJ1dGUgQ1NTU3R5bGVEZWNsYXJhdGlvbiBzdHlsZTsKLQotICAgIENT
U1ZhbHVlIGdldFByZXNlbnRhdGlvbkF0dHJpYnV0ZShbRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlv
bmFsIERPTVN0cmluZyBuYW1lKTsKLX07Ci0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdTeW1ib2xFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTeW1ib2xFbGVt
ZW50LmNwcAppbmRleCBkZGM3Njc1M2M0ODc3YThkNTQ0ODJiNmMxNzlhMzlkZjg2M2JlOTNhLi4y
ZDZkMDVkOWIwNGM5OGY3ZjkzOWViZDc4ODZjYzllOTQ4YWQ4YzM1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHU3ltYm9sRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1N5bWJvbEVsZW1lbnQuY3BwCkBAIC0zOSwxMSArMzksMTEgQEAgQkVHSU5fUkVHSVNU
RVJfQU5JTUFURURfUFJPUEVSVElFUyhTVkdTeW1ib2xFbGVtZW50KQogICAgIFJFR0lTVEVSX0xP
Q0FMX0FOSU1BVEVEX1BST1BFUlRZKGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCiAgICAgUkVH
SVNURVJfTE9DQUxfQU5JTUFURURfUFJPUEVSVFkodmlld0JveCkKICAgICBSRUdJU1RFUl9MT0NB
TF9BTklNQVRFRF9QUk9QRVJUWShwcmVzZXJ2ZUFzcGVjdFJhdGlvKSAKLSAgICBSRUdJU1RFUl9Q
QVJFTlRfQU5JTUFURURfUFJPUEVSVElFUyhTVkdTdHlsZWRFbGVtZW50KQorICAgIFJFR0lTVEVS
X1BBUkVOVF9BTklNQVRFRF9QUk9QRVJUSUVTKFNWR0VsZW1lbnQpCiBFTkRfUkVHSVNURVJfQU5J
TUFURURfUFJPUEVSVElFUwogCiBpbmxpbmUgU1ZHU3ltYm9sRWxlbWVudDo6U1ZHU3ltYm9sRWxl
bWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCi0g
ICAgOiBTVkdTdHlsZWRFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQorICAgIDogU1ZHRWxlbWVu
dCh0YWdOYW1lLCBkb2N1bWVudCkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShTVkdOYW1lczo6
c3ltYm9sVGFnKSk7CiAgICAgcmVnaXN0ZXJBbmltYXRlZFByb3BlcnRpZXNGb3JTVkdTeW1ib2xF
bGVtZW50KCk7CkBAIC02OCw3ICs2OCw3IEBAIGJvb2wgU1ZHU3ltYm9sRWxlbWVudDo6aXNTdXBw
b3J0ZWRBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUpCiB2b2lkIFNWR1N5
bWJvbEVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNv
bnN0IEF0b21pY1N0cmluZyYgdmFsdWUpCiB7CiAgICAgaWYgKCFpc1N1cHBvcnRlZEF0dHJpYnV0
ZShuYW1lKSkgewotICAgICAgICBTVkdTdHlsZWRFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShuYW1l
LCB2YWx1ZSk7CisgICAgICAgIFNWR0VsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKG5hbWUsIHZhbHVl
KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtODUsNyArODUsNyBAQCB2b2lkIFNWR1N5
bWJvbEVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNv
bnN0IEF0b21pY1N0cgogdm9pZCBTVkdTeW1ib2xFbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2Vk
KGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lKQogewogICAgIGlmICghaXNTdXBwb3J0ZWRB
dHRyaWJ1dGUoYXR0ck5hbWUpKSB7Ci0gICAgICAgIFNWR1N0eWxlZEVsZW1lbnQ6OnN2Z0F0dHJp
YnV0ZUNoYW5nZWQoYXR0ck5hbWUpOworICAgICAgICBTVkdFbGVtZW50OjpzdmdBdHRyaWJ1dGVD
aGFuZ2VkKGF0dHJOYW1lKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1N5bWJvbEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdTeW1ib2xFbGVtZW50LmgKaW5kZXggNmJiZGZkNzlhM2RlOGNkMGJjMjIxYzJiNWU2ZDNl
NDY1ZDUyMDYyNy4uZDNlMjRmNTZmOTM2Y2FjZDFmMTAzZDJlYjliN2UxMzUyMjBmNGM4ZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N5bWJvbEVsZW1lbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHU3ltYm9sRWxlbWVudC5oCkBAIC0yNSwxMyArMjUsMTMgQEAKICNp
bmNsdWRlICJTVkdBbmltYXRlZEJvb2xlYW4uaCIKICNpbmNsdWRlICJTVkdBbmltYXRlZFByZXNl
cnZlQXNwZWN0UmF0aW8uaCIKICNpbmNsdWRlICJTVkdBbmltYXRlZFJlY3QuaCIKKyNpbmNsdWRl
ICJTVkdFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5o
IgogI2luY2x1ZGUgIlNWR0ZpdFRvVmlld0JveC5oIgotI2luY2x1ZGUgIlNWR1N0eWxlZEVsZW1l
bnQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBTVkdTeW1ib2xFbGVtZW50IEZJ
TkFMIDogcHVibGljIFNWR1N0eWxlZEVsZW1lbnQsCitjbGFzcyBTVkdTeW1ib2xFbGVtZW50IEZJ
TkFMIDogcHVibGljIFNWR0VsZW1lbnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cHVibGljIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcHVibGljIFNWR0ZpdFRvVmlld0JveCB7CiBwdWJsaWM6CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU3ltYm9sRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHU3ltYm9sRWxlbWVudC5pZGwKaW5kZXggMTc5MTRlZjk2YWIyOWNiOWI0NzUzNTZl
Njk3NGEzN2Q0NmVlYTQyNC4uNzViOTkxMzY5MjU3NDVkMmE4ZTE4ZDBiNjlkYjQxM2MwM2JmYTZi
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N5bWJvbEVsZW1lbnQuaWRsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTeW1ib2xFbGVtZW50LmlkbApAQCAtMjUsNyArMjUs
NyBAQAogCiBbCiAgICAgQ29uZGl0aW9uYWw9U1ZHCi1dIGludGVyZmFjZSBTVkdTeW1ib2xFbGVt
ZW50IDogU1ZHU3R5bGVkRWxlbWVudCB7CitdIGludGVyZmFjZSBTVkdTeW1ib2xFbGVtZW50IDog
U1ZHRWxlbWVudCB7CiB9OwogCiBTVkdTeW1ib2xFbGVtZW50IGltcGxlbWVudHMgU1ZHRXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdU
UmVmRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVFJlZkVsZW1lbnQuY3BwCmlu
ZGV4IDZmZGJmOWE1M2Q2ZTM1NTYzM2JhMjdlYjc4Y2EzNzI1YTg3NjI3MzQuLjdmZTA3YTc2YTQx
MzEyNDlhYWI0NzJiYmZhYjk2NWIzNTNjOWFmYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdUUmVmRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RSZWZF
bGVtZW50LmNwcApAQCAtMjc3LDcgKzI3Nyw3IEBAIHZvaWQgU1ZHVFJlZkVsZW1lbnQ6OmJ1aWxk
UGVuZGluZ1Jlc291cmNlKCkKIAogTm9kZTo6SW5zZXJ0aW9uTm90aWZpY2F0aW9uUmVxdWVzdCBT
VkdUUmVmRWxlbWVudDo6aW5zZXJ0ZWRJbnRvKENvbnRhaW5lck5vZGUqIHJvb3RQYXJlbnQpCiB7
Ci0gICAgU1ZHU3R5bGVkRWxlbWVudDo6aW5zZXJ0ZWRJbnRvKHJvb3RQYXJlbnQpOworICAgIFNW
R0VsZW1lbnQ6Omluc2VydGVkSW50byhyb290UGFyZW50KTsKICAgICBpZiAocm9vdFBhcmVudC0+
aW5Eb2N1bWVudCgpKQogICAgICAgICBidWlsZFBlbmRpbmdSZXNvdXJjZSgpOwogICAgIHJldHVy
biBJbnNlcnRpb25Eb25lOwpAQCAtMjg1LDcgKzI4NSw3IEBAIE5vZGU6Okluc2VydGlvbk5vdGlm
aWNhdGlvblJlcXVlc3QgU1ZHVFJlZkVsZW1lbnQ6Omluc2VydGVkSW50byhDb250YWluZXJOb2Rl
KiByCiAKIHZvaWQgU1ZHVFJlZkVsZW1lbnQ6OnJlbW92ZWRGcm9tKENvbnRhaW5lck5vZGUqIHJv
b3RQYXJlbnQpCiB7Ci0gICAgU1ZHU3R5bGVkRWxlbWVudDo6cmVtb3ZlZEZyb20ocm9vdFBhcmVu
dCk7CisgICAgU1ZHRWxlbWVudDo6cmVtb3ZlZEZyb20ocm9vdFBhcmVudCk7CiAgICAgaWYgKHJv
b3RQYXJlbnQtPmluRG9jdW1lbnQoKSkKICAgICAgICAgbV90YXJnZXRMaXN0ZW5lci0+ZGV0YWNo
KCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGl0bGVFbGVtZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUaXRsZUVsZW1lbnQuY3BwCmluZGV4IDUxNzA2ZjBl
MzM4YmVhMzBlZDgwMzFjMzYyMzM5MDBlODY3MTI3YTIuLmFlOTM5YTkxMDQwNGQ4ODk0ODViMjJm
MDg3OTYwMTJiNDhmN2FjNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUaXRs
ZUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUaXRsZUVsZW1lbnQuY3Bw
CkBAIC0yOCw3ICsyOCw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGlubGluZSBTVkdUaXRs
ZUVsZW1lbnQ6OlNWR1RpdGxlRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBE
b2N1bWVudCogZG9jdW1lbnQpCi0gICAgOiBTVkdTdHlsZWRFbGVtZW50KHRhZ05hbWUsIGRvY3Vt
ZW50KQorICAgIDogU1ZHRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKIHsKICAgICBBU1NFUlQo
aGFzVGFnTmFtZShTVkdOYW1lczo6dGl0bGVUYWcpKTsKIH0KQEAgLTQwLDcgKzQwLDcgQEAgUGFz
c1JlZlB0cjxTVkdUaXRsZUVsZW1lbnQ+IFNWR1RpdGxlRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1
YWxpZmllZE5hbWUmIHRhZ05hbWUKIAogTm9kZTo6SW5zZXJ0aW9uTm90aWZpY2F0aW9uUmVxdWVz
dCBTVkdUaXRsZUVsZW1lbnQ6Omluc2VydGVkSW50byhDb250YWluZXJOb2RlKiByb290UGFyZW50
KQogewotICAgIFNWR1N0eWxlZEVsZW1lbnQ6Omluc2VydGVkSW50byhyb290UGFyZW50KTsKKyAg
ICBTVkdFbGVtZW50OjppbnNlcnRlZEludG8ocm9vdFBhcmVudCk7CiAgICAgaWYgKCFyb290UGFy
ZW50LT5pbkRvY3VtZW50KCkpCiAgICAgICAgIHJldHVybiBJbnNlcnRpb25Eb25lOwogICAgIGlm
IChmaXJzdENoaWxkKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGl0bGVF
bGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGl0bGVFbGVtZW50LmgKaW5kZXggMGUz
Yjk5ZDIxMDM2MGNmZDMyNjc0Zjc1MmM1OGY2ZTVjMTNjZjU5OC4uZTRkZTQ4YzA3MmFmMzRhYzM1
YjVhMDdlZTU5ZDYyNDczMzllYjgxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1RpdGxlRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUaXRsZUVsZW1lbnQu
aApAQCAtMjIsMTEgKzIyLDExIEBACiAjZGVmaW5lIFNWR1RpdGxlRWxlbWVudF9oCiAjaWYgRU5B
QkxFKFNWRykKIAotI2luY2x1ZGUgIlNWR1N0eWxlZEVsZW1lbnQuaCIKKyNpbmNsdWRlICJTVkdF
bGVtZW50LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgU1ZHVGl0bGVFbGVtZW50
IEZJTkFMIDogcHVibGljIFNWR1N0eWxlZEVsZW1lbnQgeworY2xhc3MgU1ZHVGl0bGVFbGVtZW50
IEZJTkFMIDogcHVibGljIFNWR0VsZW1lbnQgewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVm
UHRyPFNWR1RpdGxlRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVu
dCopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGl0bGVFbGVtZW50Lmlk
bCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUaXRsZUVsZW1lbnQuaWRsCmluZGV4IDk4OTVjN2Fj
Njc0Y2E3NDBhOTY0Y2EyNWIxMjM3MTRjYjY1OGQ1ZWUuLjhiNTA2YzllZjJhMzUwY2VlNjJmY2Rj
ZjBiMTljOTg3MDg1ODhjMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUaXRs
ZUVsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUaXRsZUVsZW1lbnQuaWRs
CkBAIC0yNSw2ICsyNSw2IEBACiAKIFsKICAgICBDb25kaXRpb25hbD1TVkcKLV0gaW50ZXJmYWNl
IFNWR1RpdGxlRWxlbWVudCA6IFNWR1N0eWxlZEVsZW1lbnQgeworXSBpbnRlcmZhY2UgU1ZHVGl0
bGVFbGVtZW50IDogU1ZHRWxlbWVudCB7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHVHJhbnNmb3JtYWJsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVHJhbnNm
b3JtYWJsZS5jcHAKaW5kZXggMDk0Y2VkOWEzYTRjN2I3YTA0YTc4MTVkZmZmNzI0NDE2YmE5MGY2
Ni4uOTljNTUzNzVjZTVmZjdhYTI0ZGI0YzE5MzQyNDA0Y2RjZDEyOWE5ZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1RyYW5zZm9ybWFibGUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdUcmFuc2Zvcm1hYmxlLmNwcApAQCAtMjYsOSArMjYsOSBAQAogCiAjaW5jbHVk
ZSAiQWZmaW5lVHJhbnNmb3JtLmgiCiAjaW5jbHVkZSAiRmxvYXRDb252ZXJzaW9uLmgiCisjaW5j
bHVkZSAiU1ZHRWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR05hbWVzLmgiCiAjaW5jbHVkZSAiU1ZH
UGFyc2VyVXRpbGl0aWVzLmgiCi0jaW5jbHVkZSAiU1ZHU3R5bGVkRWxlbWVudC5oIgogI2luY2x1
ZGUgIlNWR1RyYW5zZm9ybUxpc3QuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1VzZUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1VzZUVsZW1lbnQuY3BwCmluZGV4IGQwY2JlNzA3MDNiZDZjOTk4Y2Q0ZGQ5ZDQxYjZh
N2RlYTkzYmQ4ODEuLmQ2YjY3NGIxODhhYmJjZWE0OWMwYzEyOTMwODVjODc3NTZiODFjNzcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdVc2VFbGVtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVudC5jcHAKQEAgLTk0MCwxMCArOTQwLDEwIEBAIGJv
b2wgU1ZHVXNlRWxlbWVudDo6c2VsZkhhc1JlbGF0aXZlTGVuZ3RocygpIGNvbnN0CiAgICAgICAg
IHJldHVybiBmYWxzZTsKIAogICAgIFNWR0VsZW1lbnQqIGVsZW1lbnQgPSBtX3RhcmdldEVsZW1l
bnRJbnN0YW5jZS0+Y29ycmVzcG9uZGluZ0VsZW1lbnQoKTsKLSAgICBpZiAoIWVsZW1lbnQgfHwg
IWVsZW1lbnQtPmlzU1ZHU3R5bGVkRWxlbWVudCgpKQorICAgIGlmICghZWxlbWVudCkKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogCi0gICAgcmV0dXJuIHRvU1ZHU3R5bGVkRWxlbWVudChlbGVtZW50
KS0+aGFzUmVsYXRpdmVMZW5ndGhzKCk7CisgICAgcmV0dXJuIGVsZW1lbnQtPmhhc1JlbGF0aXZl
TGVuZ3RocygpOwogfQogCiB2b2lkIFNWR1VzZUVsZW1lbnQ6Om5vdGlmeUZpbmlzaGVkKENhY2hl
ZFJlc291cmNlKiByZXNvdXJjZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdW
aWV3RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVmlld0VsZW1lbnQuY3BwCmlu
ZGV4IDdkMDEwYTRmMDFhYWQxZjMxYmU3MDBjNmU3Yjc0YjYzMDkwZDM2NGYuLmU4MjNkZWEzOTg2
YjZmNTdhMWIwNDMyMDlmMDM0ZGI4ZjE5NzRlNjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdWaWV3RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdF
bGVtZW50LmNwcApAQCAtNDAsMTEgKzQwLDExIEBAIEJFR0lOX1JFR0lTVEVSX0FOSU1BVEVEX1BS
T1BFUlRJRVMoU1ZHVmlld0VsZW1lbnQpCiAgICAgUkVHSVNURVJfTE9DQUxfQU5JTUFURURfUFJP
UEVSVFkoZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKICAgICBSRUdJU1RFUl9MT0NBTF9BTklN
QVRFRF9QUk9QRVJUWSh2aWV3Qm94KQogICAgIFJFR0lTVEVSX0xPQ0FMX0FOSU1BVEVEX1BST1BF
UlRZKHByZXNlcnZlQXNwZWN0UmF0aW8pCi0gICAgUkVHSVNURVJfUEFSRU5UX0FOSU1BVEVEX1BS
T1BFUlRJRVMoU1ZHU3R5bGVkRWxlbWVudCkKKyAgICBSRUdJU1RFUl9QQVJFTlRfQU5JTUFURURf
UFJPUEVSVElFUyhTVkdFbGVtZW50KQogRU5EX1JFR0lTVEVSX0FOSU1BVEVEX1BST1BFUlRJRVMK
IAogaW5saW5lIFNWR1ZpZXdFbGVtZW50OjpTVkdWaWV3RWxlbWVudChjb25zdCBRdWFsaWZpZWRO
YW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCi0gICAgOiBTVkdTdHlsZWRFbGVtZW50
KHRhZ05hbWUsIGRvY3VtZW50KQorICAgIDogU1ZHRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkK
ICAgICAsIG1fem9vbUFuZFBhbihTVkdab29tQW5kUGFuTWFnbmlmeSkKICAgICAsIG1fdmlld1Rh
cmdldChTVkdOYW1lczo6dmlld1RhcmdldEF0dHIpCiB7CkBAIC03Miw3ICs3Miw3IEBAIGJvb2wg
U1ZHVmlld0VsZW1lbnQ6OmlzU3VwcG9ydGVkQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUm
IGF0dHJOYW1lKQogdm9pZCBTVkdWaWV3RWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVh
bGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbWljU3RyaW5nJiB2YWx1ZSkKIHsKICAgICBpZiAo
IWlzU3VwcG9ydGVkQXR0cmlidXRlKG5hbWUpKSB7Ci0gICAgICAgIFNWR1N0eWxlZEVsZW1lbnQ6
OnBhcnNlQXR0cmlidXRlKG5hbWUsIHZhbHVlKTsKKyAgICAgICAgU1ZHRWxlbWVudDo6cGFyc2VB
dHRyaWJ1dGUobmFtZSwgdmFsdWUpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVmlld0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdWaWV3RWxlbWVudC5oCmluZGV4IDRkMmU2MDMwZGQ4MTg0ZjMzOGZlNmIzNTFhYzkx
YzhiZWFiZTdjNDIuLjk4M2Y5ODQzMWUzZDhkYWUxNTU4M2RhNThjMDI0Y2FmYzBiMGQ3ZjUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3RWxlbWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdWaWV3RWxlbWVudC5oCkBAIC0yNSwyMyArMjUsMjMgQEAKICNpbmNs
dWRlICJTVkdBbmltYXRlZEJvb2xlYW4uaCIKICNpbmNsdWRlICJTVkdBbmltYXRlZFByZXNlcnZl
QXNwZWN0UmF0aW8uaCIKICNpbmNsdWRlICJTVkdBbmltYXRlZFJlY3QuaCIKKyNpbmNsdWRlICJT
VkdFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5oIgog
I2luY2x1ZGUgIlNWR0ZpdFRvVmlld0JveC5oIgogI2luY2x1ZGUgIlNWR1N0cmluZ0xpc3QuaCIK
LSNpbmNsdWRlICJTVkdTdHlsZWRFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHWm9vbUFuZFBhbi5o
IgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFNWR1ZpZXdFbGVtZW50IEZJTkFMIDog
cHVibGljIFNWR1N0eWxlZEVsZW1lbnQsCitjbGFzcyBTVkdWaWV3RWxlbWVudCBGSU5BTCA6IHB1
YmxpYyBTVkdFbGVtZW50LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZH
RXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cHVibGljIFNWR0ZpdFRvVmlld0JveCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVi
bGljIFNWR1pvb21BbmRQYW4gewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNWR1Zp
ZXdFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7CiAKLSAg
ICB1c2luZyBTVkdTdHlsZWRFbGVtZW50OjpyZWY7Ci0gICAgdXNpbmcgU1ZHU3R5bGVkRWxlbWVu
dDo6ZGVyZWY7CisgICAgdXNpbmcgU1ZHRWxlbWVudDo6cmVmOworICAgIHVzaW5nIFNWR0VsZW1l
bnQ6OmRlcmVmOwogCiAgICAgU1ZHU3RyaW5nTGlzdCYgdmlld1RhcmdldCgpIHsgcmV0dXJuIG1f
dmlld1RhcmdldDsgfQogICAgIFNWR1pvb21BbmRQYW5UeXBlIHpvb21BbmRQYW4oKSBjb25zdCB7
IHJldHVybiBtX3pvb21BbmRQYW47IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9h
bmltYXRpb24vU1ZHU01JTEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9hbmltYXRpb24v
U1ZHU01JTEVsZW1lbnQuaAppbmRleCAxNmJhODM4YjQ2NWJjMzNlNDA5YjkzMWViNWJlNWJmNjRm
OTkxOTA3Li5mNzE1MGYzZjQ5NDYxNTRjYjcyMTBjMjgyZWRmZmViOTYyMjliN2Q3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvYW5pbWF0aW9uL1NWR1NNSUxFbGVtZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlvbi9TVkdTTUlMRWxlbWVudC5oCkBAIC0xMTYsNiAr
MTE2LDggQEAgcHJvdGVjdGVkOgogCiAgICAgdm9pZCBzZXRJbmFjdGl2ZSgpIHsgbV9hY3RpdmVT
dGF0ZSA9IEluYWN0aXZlOyB9CiAKKyAgICB2aXJ0dWFsIGJvb2wgcmVuZGVyZXJJc05lZWRlZChj
b25zdCBSZW5kZXJTdHlsZSYpIE9WRVJSSURFIHsgcmV0dXJuIGZhbHNlOyB9CisKICAgICAvLyBT
dWItY2xhc3NlcyBtYXkgbmVlZCB0byB0YWtlIGFjdGlvbiB3aGVuIHRoZSB0YXJnZXQgaXMgY2hh
bmdlZC4KICAgICB2aXJ0dWFsIHZvaWQgc2V0VGFyZ2V0RWxlbWVudChTVkdFbGVtZW50Kik7CiAg
ICAgdmlydHVhbCB2b2lkIHNldEF0dHJpYnV0ZU5hbWUoY29uc3QgUXVhbGlmaWVkTmFtZSYpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL2ZpbHRlcnMvU1ZHRkVJbWFn
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGRUltYWdlLmNw
cAppbmRleCAwOTI3MzZkZTBhYTU1MTNhMDY4MTJhOWI3MWRiN2ZhYjU2YTlkZTkyLi41N2I4NTQ1
MDFmNGU2ZTc0NDAwZWZmMzIxZjVkMTc1NDVjMGFkN2YxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGRUltYWdlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGRUltYWdlLmNwcApAQCAtMzAsMTAgKzMwLDEw
IEBACiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCiAjaW5jbHVkZSAiUmVuZGVyT2JqZWN0
LmgiCiAjaW5jbHVkZSAiUmVuZGVyVHJlZUFzVGV4dC5oIgorI2luY2x1ZGUgIlNWR0VsZW1lbnQu
aCIKICNpbmNsdWRlICJTVkdGaWx0ZXIuaCIKICNpbmNsdWRlICJTVkdQcmVzZXJ2ZUFzcGVjdFJh
dGlvLmgiCiAjaW5jbHVkZSAiU1ZHUmVuZGVyaW5nQ29udGV4dC5oIgotI2luY2x1ZGUgIlNWR1N0
eWxlZEVsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdVUklSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJU
ZXh0U3RyZWFtLmgiCiAKQEAgLTEyNiw3ICsxMjYsNyBAQCB2b2lkIEZFSW1hZ2U6OnBsYXRmb3Jt
QXBwbHlTb2Z0d2FyZSgpCiAgICAgICAgIHJlc3VsdEltYWdlLT5jb250ZXh0KCktPmNvbmNhdENU
TShhYnNvbHV0ZVRyYW5zZm9ybSk7CiAKICAgICAgICAgU1ZHRWxlbWVudCogY29udGV4dE5vZGUg
PSB0b1NWR0VsZW1lbnQocmVuZGVyZXItPm5vZGUoKSk7Ci0gICAgICAgIGlmIChjb250ZXh0Tm9k
ZS0+aXNTVkdTdHlsZWRFbGVtZW50KCkgJiYgdG9TVkdTdHlsZWRFbGVtZW50KGNvbnRleHROb2Rl
KS0+aGFzUmVsYXRpdmVMZW5ndGhzKCkpIHsKKyAgICAgICAgaWYgKGNvbnRleHROb2RlLT5oYXNS
ZWxhdGl2ZUxlbmd0aHMoKSkgewogICAgICAgICAgICAgU1ZHTGVuZ3RoQ29udGV4dCBsZW5ndGhD
b250ZXh0KGNvbnRleHROb2RlKTsKICAgICAgICAgICAgIGZsb2F0IHdpZHRoID0gMDsKICAgICAg
ICAgICAgIGZsb2F0IGhlaWdodCA9IDA7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMzk0OTQ4YzRiNGVmNjU5YTRiYTJkN2Mz
MjYzYmM4MWI1MzcwZTZhOC4uZjE2MmZjZGM1ODM0M2Q3ZjA4N2RhZWI1Zjk2MjIyNzdjZWJkMWQ3
ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEzLTA4LTIyICBDaHJpc3RvcGhlIER1bWV6ICA8
Y2guZHVtZXpAc2lzYS5zYW1zdW5nLmNvbT4KKworICAgICAgICBbU1ZHMl0gTWVyZ2UgU1ZHU3R5
bGVkRWxlbWVudCBhbmQgU1ZHRWxlbWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTA3Mzg2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIGxheW91dCB0ZXN0IHRvIHZhbGlkYXRlIHRoZSBTVkcyIGlu
aGVyaXRhbmNlIG1vZGVsLgorCisgICAgICAgICogc3ZnL2RvbS9zdmcyLWluaGVyaXRhbmNlLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc3ZnL2RvbS9zdmcyLWluaGVyaXRhbmNlLmh0
bWw6IEFkZGVkLgorCiAyMDEzLTA4LTIyICBSb2IgQnVpcyAgPHJ3bGJ1aXNAd2Via2l0Lm9yZz4K
IAogICAgICAgICBSRUdSRVNTSU9OOiBBc3NlcnRpb24gZmFpbHVyZSAhY29sbGVjdGlvbi0+aGFz
RXhhY3RseU9uZUl0ZW0oKSBpbiBXZWJDb3JlOjpuYW1lZEl0ZW1HZXR0ZXIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N2Zy9kb20vc3ZnMi1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9zdmcvZG9tL3N2ZzItaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmUyYjYxMDBmY2ZiMjc5ZDI0ZDIxODdhNWY2OTNmOTQyOWZjYTZhNmEKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9zdmcvZG9tL3N2ZzItaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMwIEBACitWYWxpZGF0ZXMgdGhlIFNWRzIgaW5oZXJpdGFuY2UgbW9kZWwuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIFNWR0FFbGVtZW50IGluaGVyaXRz
IFNWR0dyYXBoaWNzRWxlbWVudAorUEFTUyBTVkdBbHRHbHlwaERlZkVsZW1lbnQgaW5oZXJpdHMg
U1ZHRWxlbWVudAorUEFTUyBTVkdBbHRHbHlwaEVsZW1lbnQgaW5oZXJpdHMgU1ZHVGV4dFBvc2l0
aW9uaW5nRWxlbWVudAorUEFTUyBTVkdBbHRHbHlwaEl0ZW1FbGVtZW50IGluaGVyaXRzIFNWR0Vs
ZW1lbnQKK1BBU1MgU1ZHQW5nbGUgaW5oZXJpdHMgT2JqZWN0CitQQVNTIFNWR0FuaW1hdGVDb2xv
ckVsZW1lbnQgaW5oZXJpdHMgU1ZHQW5pbWF0aW9uRWxlbWVudAorUEFTUyBTVkdBbmltYXRlRWxl
bWVudCBpbmhlcml0cyBTVkdBbmltYXRpb25FbGVtZW50CitQQVNTIFNWR0FuaW1hdGVNb3Rpb25F
bGVtZW50IGluaGVyaXRzIFNWR0FuaW1hdGlvbkVsZW1lbnQKK1BBU1MgU1ZHQW5pbWF0ZVRyYW5z
Zm9ybUVsZW1lbnQgaW5oZXJpdHMgU1ZHQW5pbWF0aW9uRWxlbWVudAorUEFTUyBTVkdBbmltYXRl
ZEFuZ2xlIGluaGVyaXRzIE9iamVjdAorUEFTUyBTVkdBbmltYXRlZEJvb2xlYW4gaW5oZXJpdHMg
T2JqZWN0CitQQVNTIFNWR0FuaW1hdGVkRW51bWVyYXRpb24gaW5oZXJpdHMgT2JqZWN0CitQQVNT
IFNWR0FuaW1hdGVkSW50ZWdlciBpbmhlcml0cyBPYmplY3QKK1BBU1MgU1ZHQW5pbWF0ZWRMZW5n
dGggaW5oZXJpdHMgT2JqZWN0CitQQVNTIFNWR0FuaW1hdGVkTGVuZ3RoTGlzdCBpbmhlcml0cyBP
YmplY3QKK1BBU1MgU1ZHQW5pbWF0ZWROdW1iZXIgaW5oZXJpdHMgT2JqZWN0CitQQVNTIFNWR0Fu
aW1hdGVkTnVtYmVyTGlzdCBpbmhlcml0cyBPYmplY3QKK0ZBSUwgU1ZHQW5pbWF0ZWRQYXRoRGF0
YSBpcyBub3QgZGVmaW5lZAorUEFTUyBTVkdBbmltYXRlZFByZXNlcnZlQXNwZWN0UmF0aW8gaW5o
ZXJpdHMgT2JqZWN0CitQQVNTIFNWR0FuaW1hdGVkUmVjdCBpbmhlcml0cyBPYmplY3QKK1BBU1Mg
U1ZHQW5pbWF0ZWRTdHJpbmcgaW5oZXJpdHMgT2JqZWN0CitQQVNTIFNWR0FuaW1hdGVkVHJhbnNm
b3JtTGlzdCBpbmhlcml0cyBPYmplY3QKK1BBU1MgU1ZHQW5pbWF0aW9uRWxlbWVudCBpbmhlcml0
cyBTVkdFbGVtZW50CitGQUlMIFNWR0NTU1J1bGUgaXMgbm90IGRlZmluZWQKK0ZBSUwgU1ZHQ2ly
Y2xlRWxlbWVudCBzaG91bGQgaW5oZXJpdCBTVkdHZW9tZXRyeUVsZW1lbnQgYnV0IGdvdCBTVkdH
cmFwaGljc0VsZW1lbnQgaW5zdGVhZAorRkFJTCBTVkdDbGlwUGF0aEVsZW1lbnQgc2hvdWxkIGlu
aGVyaXQgU1ZHRGVmaW5pdGlvbkVsZW1lbnQgYnV0IGdvdCBTVkdHcmFwaGljc0VsZW1lbnQgaW5z
dGVhZAorRkFJTCBTVkdDb2xvclByb2ZpbGVFbGVtZW50IGlzIG5vdCBkZWZpbmVkCitGQUlMIFNW
R0NvbG9yUHJvZmlsZVJ1bGUgaXMgbm90IGRlZmluZWQKK1BBU1MgU1ZHQ3Vyc29yRWxlbWVudCBp
bmhlcml0cyBTVkdFbGVtZW50CitQQVNTIFNWR0RlZnNFbGVtZW50IGluaGVyaXRzIFNWR0dyYXBo
aWNzRWxlbWVudAorUEFTUyBTVkdEZXNjRWxlbWVudCBpbmhlcml0cyBTVkdFbGVtZW50CitQQVNT
IFNWR0VsZW1lbnQgaW5oZXJpdHMgRWxlbWVudAorRkFJTCBTVkdFbGVtZW50SW5zdGFuY2Ugc2hv
dWxkIGluaGVyaXQgRXZlbnRUYXJnZXQgYnV0IGdvdCBFdmVudFRhcmdldCBpbnN0ZWFkCitQQVNT
IFNWR0VsZW1lbnRJbnN0YW5jZUxpc3QgaW5oZXJpdHMgT2JqZWN0CitGQUlMIFNWR0VsbGlwc2VF
bGVtZW50IHNob3VsZCBpbmhlcml0IFNWR0dlb21ldHJ5RWxlbWVudCBidXQgZ290IFNWR0dyYXBo
aWNzRWxlbWVudCBpbnN0ZWFkCitQQVNTIFNWR0ZvbnRFbGVtZW50IGluaGVyaXRzIFNWR0VsZW1l
bnQKK1BBU1MgU1ZHRm9udEZhY2VFbGVtZW50IGluaGVyaXRzIFNWR0VsZW1lbnQKK1BBU1MgU1ZH
Rm9udEZhY2VGb3JtYXRFbGVtZW50IGluaGVyaXRzIFNWR0VsZW1lbnQKK1BBU1MgU1ZHRm9udEZh
Y2VOYW1lRWxlbWVudCBpbmhlcml0cyBTVkdFbGVtZW50CitQQVNTIFNWR0ZvbnRGYWNlU3JjRWxl
bWVudCBpbmhlcml0cyBTVkdFbGVtZW50CitQQVNTIFNWR0ZvbnRGYWNlVXJpRWxlbWVudCBpbmhl
cml0cyBTVkdFbGVtZW50CitQQVNTIFNWR0ZvcmVpZ25PYmplY3RFbGVtZW50IGluaGVyaXRzIFNW
R0dyYXBoaWNzRWxlbWVudAorUEFTUyBTVkdHRWxlbWVudCBpbmhlcml0cyBTVkdHcmFwaGljc0Vs
ZW1lbnQKK0ZBSUwgU1ZHR2VvbWV0cnlFbGVtZW50IGlzIG5vdCBkZWZpbmVkCitQQVNTIFNWR0ds
eXBoRWxlbWVudCBpbmhlcml0cyBTVkdFbGVtZW50CitQQVNTIFNWR0dseXBoUmVmRWxlbWVudCBp
bmhlcml0cyBTVkdFbGVtZW50CitQQVNTIFNWR0dyYWRpZW50RWxlbWVudCBpbmhlcml0cyBTVkdF
bGVtZW50CitQQVNTIFNWR0dyYXBoaWNzRWxlbWVudCBpbmhlcml0cyBTVkdFbGVtZW50CitQQVNT
IFNWR0hLZXJuRWxlbWVudCBpbmhlcml0cyBTVkdFbGVtZW50CitQQVNTIFNWR0ltYWdlRWxlbWVu
dCBpbmhlcml0cyBTVkdHcmFwaGljc0VsZW1lbnQKK1BBU1MgU1ZHTGVuZ3RoIGluaGVyaXRzIE9i
amVjdAorUEFTUyBTVkdMZW5ndGhMaXN0IGluaGVyaXRzIE9iamVjdAorRkFJTCBTVkdMaW5lRWxl
bWVudCBzaG91bGQgaW5oZXJpdCBTVkdHZW9tZXRyeUVsZW1lbnQgYnV0IGdvdCBTVkdHcmFwaGlj
c0VsZW1lbnQgaW5zdGVhZAorUEFTUyBTVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQgaW5oZXJpdHMg
U1ZHR3JhZGllbnRFbGVtZW50CitQQVNTIFNWR01QYXRoRWxlbWVudCBpbmhlcml0cyBTVkdFbGVt
ZW50CitQQVNTIFNWR01hcmtlckVsZW1lbnQgaW5oZXJpdHMgU1ZHRWxlbWVudAorRkFJTCBTVkdN
YXJrZXJJbnN0YW5jZSBpcyBub3QgZGVmaW5lZAorRkFJTCBTVkdNYXJrZXJMaXN0IGlzIG5vdCBk
ZWZpbmVkCitGQUlMIFNWR01hc2tFbGVtZW50IHNob3VsZCBpbmhlcml0IFNWR0RlZmluaXRpb25F
bGVtZW50IGJ1dCBnb3QgU1ZHRWxlbWVudCBpbnN0ZWFkCitQQVNTIFNWR01hdHJpeCBpbmhlcml0
cyBPYmplY3QKK0ZBSUwgU1ZHTWVzaEdyYWRpZW50RWxlbWVudCBpcyBub3QgZGVmaW5lZAorRkFJ
TCBTVkdNZXNoUGF0Y2hFbGVtZW50IGlzIG5vdCBkZWZpbmVkCitGQUlMIFNWR01lc2hSb3dFbGVt
ZW50IGlzIG5vdCBkZWZpbmVkCitQQVNTIFNWR01ldGFkYXRhRWxlbWVudCBpbmhlcml0cyBTVkdF
bGVtZW50CitQQVNTIFNWR01pc3NpbmdHbHlwaEVsZW1lbnQgaW5oZXJpdHMgU1ZHRWxlbWVudAor
UEFTUyBTVkdOdW1iZXIgaW5oZXJpdHMgT2JqZWN0CitQQVNTIFNWR051bWJlckxpc3QgaW5oZXJp
dHMgT2JqZWN0CitGQUlMIFNWR1BhdGhFbGVtZW50IHNob3VsZCBpbmhlcml0IFNWR0dlb21ldHJ5
RWxlbWVudCBidXQgZ290IFNWR0dyYXBoaWNzRWxlbWVudCBpbnN0ZWFkCitQQVNTIFNWR1BhdGhT
ZWcgaW5oZXJpdHMgT2JqZWN0CitQQVNTIFNWR1BhdGhTZWdBcmNBYnMgaW5oZXJpdHMgU1ZHUGF0
aFNlZworUEFTUyBTVkdQYXRoU2VnQXJjUmVsIGluaGVyaXRzIFNWR1BhdGhTZWcKK1BBU1MgU1ZH
UGF0aFNlZ0Nsb3NlUGF0aCBpbmhlcml0cyBTVkdQYXRoU2VnCitQQVNTIFNWR1BhdGhTZWdDdXJ2
ZXRvQ3ViaWNBYnMgaW5oZXJpdHMgU1ZHUGF0aFNlZworUEFTUyBTVkdQYXRoU2VnQ3VydmV0b0N1
YmljUmVsIGluaGVyaXRzIFNWR1BhdGhTZWcKK1BBU1MgU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1Nt
b290aEFicyBpbmhlcml0cyBTVkdQYXRoU2VnCitQQVNTIFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNT
bW9vdGhSZWwgaW5oZXJpdHMgU1ZHUGF0aFNlZworUEFTUyBTVkdQYXRoU2VnQ3VydmV0b1F1YWRy
YXRpY0FicyBpbmhlcml0cyBTVkdQYXRoU2VnCitQQVNTIFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJh
dGljUmVsIGluaGVyaXRzIFNWR1BhdGhTZWcKK1BBU1MgU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0
aWNTbW9vdGhBYnMgaW5oZXJpdHMgU1ZHUGF0aFNlZworUEFTUyBTVkdQYXRoU2VnQ3VydmV0b1F1
YWRyYXRpY1Ntb290aFJlbCBpbmhlcml0cyBTVkdQYXRoU2VnCitQQVNTIFNWR1BhdGhTZWdMaW5l
dG9BYnMgaW5oZXJpdHMgU1ZHUGF0aFNlZworUEFTUyBTVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRh
bEFicyBpbmhlcml0cyBTVkdQYXRoU2VnCitQQVNTIFNWR1BhdGhTZWdMaW5ldG9Ib3Jpem9udGFs
UmVsIGluaGVyaXRzIFNWR1BhdGhTZWcKK1BBU1MgU1ZHUGF0aFNlZ0xpbmV0b1JlbCBpbmhlcml0
cyBTVkdQYXRoU2VnCitQQVNTIFNWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbEFicyBpbmhlcml0cyBT
VkdQYXRoU2VnCitQQVNTIFNWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbFJlbCBpbmhlcml0cyBTVkdQ
YXRoU2VnCitQQVNTIFNWR1BhdGhTZWdMaXN0IGluaGVyaXRzIE9iamVjdAorUEFTUyBTVkdQYXRo
U2VnTW92ZXRvQWJzIGluaGVyaXRzIFNWR1BhdGhTZWcKK1BBU1MgU1ZHUGF0aFNlZ01vdmV0b1Jl
bCBpbmhlcml0cyBTVkdQYXRoU2VnCitQQVNTIFNWR1BhdHRlcm5FbGVtZW50IGluaGVyaXRzIFNW
R0VsZW1lbnQKK1BBU1MgU1ZHUG9pbnQgaW5oZXJpdHMgT2JqZWN0CitQQVNTIFNWR1BvaW50TGlz
dCBpbmhlcml0cyBPYmplY3QKK0ZBSUwgU1ZHUG9seWdvbkVsZW1lbnQgc2hvdWxkIGluaGVyaXQg
U1ZHR2VvbWV0cnlFbGVtZW50IGJ1dCBnb3QgU1ZHR3JhcGhpY3NFbGVtZW50IGluc3RlYWQKK0ZB
SUwgU1ZHUG9seWxpbmVFbGVtZW50IHNob3VsZCBpbmhlcml0IFNWR0dlb21ldHJ5RWxlbWVudCBi
dXQgZ290IFNWR0dyYXBoaWNzRWxlbWVudCBpbnN0ZWFkCitQQVNTIFNWR1ByZXNlcnZlQXNwZWN0
UmF0aW8gaW5oZXJpdHMgT2JqZWN0CitQQVNTIFNWR1JhZGlhbEdyYWRpZW50RWxlbWVudCBpbmhl
cml0cyBTVkdHcmFkaWVudEVsZW1lbnQKK1BBU1MgU1ZHUmVjdCBpbmhlcml0cyBPYmplY3QKK0ZB
SUwgU1ZHUmVjdEVsZW1lbnQgc2hvdWxkIGluaGVyaXQgU1ZHR2VvbWV0cnlFbGVtZW50IGJ1dCBn
b3QgU1ZHR3JhcGhpY3NFbGVtZW50IGluc3RlYWQKK1BBU1MgU1ZHU1ZHRWxlbWVudCBpbmhlcml0
cyBTVkdHcmFwaGljc0VsZW1lbnQKK1BBU1MgU1ZHU2NyaXB0RWxlbWVudCBpbmhlcml0cyBTVkdF
bGVtZW50CitQQVNTIFNWR1NldEVsZW1lbnQgaW5oZXJpdHMgU1ZHQW5pbWF0aW9uRWxlbWVudAor
UEFTUyBTVkdTdG9wRWxlbWVudCBpbmhlcml0cyBTVkdFbGVtZW50CitQQVNTIFNWR1N0cmluZ0xp
c3QgaW5oZXJpdHMgT2JqZWN0CitQQVNTIFNWR1N0eWxlRWxlbWVudCBpbmhlcml0cyBTVkdFbGVt
ZW50CitQQVNTIFNWR1N3aXRjaEVsZW1lbnQgaW5oZXJpdHMgU1ZHR3JhcGhpY3NFbGVtZW50CitQ
QVNTIFNWR1N5bWJvbEVsZW1lbnQgaW5oZXJpdHMgU1ZHRWxlbWVudAorUEFTUyBTVkdUUmVmRWxl
bWVudCBpbmhlcml0cyBTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50CitQQVNTIFNWR1RTcGFuRWxl
bWVudCBpbmhlcml0cyBTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50CitQQVNTIFNWR1RleHRDb250
ZW50RWxlbWVudCBpbmhlcml0cyBTVkdHcmFwaGljc0VsZW1lbnQKK1BBU1MgU1ZHVGV4dEVsZW1l
bnQgaW5oZXJpdHMgU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudAorUEFTUyBTVkdUZXh0UGF0aEVs
ZW1lbnQgaW5oZXJpdHMgU1ZHVGV4dENvbnRlbnRFbGVtZW50CitQQVNTIFNWR1RleHRQb3NpdGlv
bmluZ0VsZW1lbnQgaW5oZXJpdHMgU1ZHVGV4dENvbnRlbnRFbGVtZW50CitQQVNTIFNWR1RpdGxl
RWxlbWVudCBpbmhlcml0cyBTVkdFbGVtZW50CitQQVNTIFNWR1RyYW5zZm9ybSBpbmhlcml0cyBP
YmplY3QKK1BBU1MgU1ZHVHJhbnNmb3JtTGlzdCBpbmhlcml0cyBPYmplY3QKK1BBU1MgU1ZHVXNl
RWxlbWVudCBpbmhlcml0cyBTVkdHcmFwaGljc0VsZW1lbnQKK1BBU1MgU1ZHVktlcm5FbGVtZW50
IGluaGVyaXRzIFNWR0VsZW1lbnQKK1BBU1MgU1ZHVmlld0VsZW1lbnQgaW5oZXJpdHMgU1ZHRWxl
bWVudAorUEFTUyBTVkdWaWV3U3BlYyBpbmhlcml0cyBPYmplY3QKK1BBU1MgU1ZHWm9vbUV2ZW50
IGluaGVyaXRzIFVJRXZlbnQKK0ZBSUwgVGltZUV2ZW50IGlzIG5vdCBkZWZpbmVkCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3ZnL2RvbS9zdmcyLWluaGVyaXRhbmNlLmh0bWwgYi9MYXlvdXRUZXN0cy9z
dmcvZG9tL3N2ZzItaW5oZXJpdGFuY2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYjZkNWI0OWMzNGZhYTUx
NDAxYTkyNmNmY2ExYTU1YjdiZTg1Y2UzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
c3ZnL2RvbS9zdmcyLWluaGVyaXRhbmNlLmh0bWwKQEAgLTAsMCArMSwxNTggQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3
dy53My5vcmcvVFIvMjAxMy9XRC1TVkcyLTIwMTMwNjE4LyIgLz4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVmFsaWRhdGVzIHRoZSBTVkcyIGluaGVyaXRh
bmNlIG1vZGVsLiIpOworCitmdW5jdGlvbiBpbnRlcmZhY2VOYW1lKHByb3RvdHlwZSkKK3sKKyAg
ICB2YXIgcGFydHMgPSBwcm90b3R5cGUudG9TdHJpbmcoKS5zcGxpdCgiICIpOworICAgIHZhciBs
YXN0UGFydCA9IHBhcnRzW3BhcnRzLmxlbmd0aCAtIDFdOworICAgIHJldHVybiBsYXN0UGFydC5z
dWJzdHJpbmcoMCwgbGFzdFBhcnQubGVuZ3RoIC0gMTApOworfQorCitmdW5jdGlvbiBjaGVja1Bh
cmVudCh0eXBlLCBleHBlY3RlZFBhcmVudCkKK3sKKyAgICAvLyBVc2luZyBzaG91bGRCZSgpIHdv
dWxkIGxlYWQgdG8gbm90IHZlcnkgcmVhZGFibGUgb3V0cHV0IGhlcmUuCisgICAgaWYgKCF3aW5k
b3dbdHlwZV0pIHsKKyAgICAgICAgdGVzdEZhaWxlZCh0eXBlICsgIiBpcyBub3QgZGVmaW5lZCIp
OworICAgICAgICByZXR1cm47CisgICAgfQorICAgIHZhciBwYXJlbnRQcm90b3R5cGUgPSB3aW5k
b3dbdHlwZV0ucHJvdG90eXBlLl9fcHJvdG9fXzsKKyAgICB2YXIgZXhwZWN0ZWRQcm90b3R5cGUg
PSB3aW5kb3dbZXhwZWN0ZWRQYXJlbnRdID8gd2luZG93W2V4cGVjdGVkUGFyZW50XS5wcm90b3R5
cGUgOiBudWxsOworICAgIAorICAgIGlmIChleHBlY3RlZFByb3RvdHlwZSAmJiBwYXJlbnRQcm90
b3R5cGUgPT09IGV4cGVjdGVkUHJvdG90eXBlKQorICAgICAgICB0ZXN0UGFzc2VkKHR5cGUgKyAi
IGluaGVyaXRzICIgKyBleHBlY3RlZFBhcmVudCk7CisgICAgZWxzZQorICAgICAgICB0ZXN0RmFp
bGVkKHR5cGUgKyAiIHNob3VsZCBpbmhlcml0ICIgKyBleHBlY3RlZFBhcmVudCArICIgYnV0IGdv
dCAiICsgaW50ZXJmYWNlTmFtZShwYXJlbnRQcm90b3R5cGUpICsgIiBpbnN0ZWFkIik7Cit9CisK
K2NoZWNrUGFyZW50KCJTVkdBRWxlbWVudCIsICJTVkdHcmFwaGljc0VsZW1lbnQiKTsKK2NoZWNr
UGFyZW50KCJTVkdBbHRHbHlwaERlZkVsZW1lbnQiLCAiU1ZHRWxlbWVudCIpOworY2hlY2tQYXJl
bnQoIlNWR0FsdEdseXBoRWxlbWVudCIsICJTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50Iik7Citj
aGVja1BhcmVudCgiU1ZHQWx0R2x5cGhJdGVtRWxlbWVudCIsICJTVkdFbGVtZW50Iik7CitjaGVj
a1BhcmVudCgiU1ZHQW5nbGUiLCAiT2JqZWN0Iik7CitjaGVja1BhcmVudCgiU1ZHQW5pbWF0ZUNv
bG9yRWxlbWVudCIsICJTVkdBbmltYXRpb25FbGVtZW50Iik7CitjaGVja1BhcmVudCgiU1ZHQW5p
bWF0ZUVsZW1lbnQiLCAiU1ZHQW5pbWF0aW9uRWxlbWVudCIpOworY2hlY2tQYXJlbnQoIlNWR0Fu
aW1hdGVNb3Rpb25FbGVtZW50IiwgIlNWR0FuaW1hdGlvbkVsZW1lbnQiKTsKK2NoZWNrUGFyZW50
KCJTVkdBbmltYXRlVHJhbnNmb3JtRWxlbWVudCIsICJTVkdBbmltYXRpb25FbGVtZW50Iik7Citj
aGVja1BhcmVudCgiU1ZHQW5pbWF0ZWRBbmdsZSIsICJPYmplY3QiKTsKK2NoZWNrUGFyZW50KCJT
VkdBbmltYXRlZEJvb2xlYW4iLCAiT2JqZWN0Iik7CitjaGVja1BhcmVudCgiU1ZHQW5pbWF0ZWRF
bnVtZXJhdGlvbiIsICJPYmplY3QiKTsKK2NoZWNrUGFyZW50KCJTVkdBbmltYXRlZEludGVnZXIi
LCAiT2JqZWN0Iik7CitjaGVja1BhcmVudCgiU1ZHQW5pbWF0ZWRMZW5ndGgiLCAiT2JqZWN0Iik7
CitjaGVja1BhcmVudCgiU1ZHQW5pbWF0ZWRMZW5ndGhMaXN0IiwgIk9iamVjdCIpOworY2hlY2tQ
YXJlbnQoIlNWR0FuaW1hdGVkTnVtYmVyIiwgIk9iamVjdCIpOworY2hlY2tQYXJlbnQoIlNWR0Fu
aW1hdGVkTnVtYmVyTGlzdCIsICJPYmplY3QiKTsKK2NoZWNrUGFyZW50KCJTVkdBbmltYXRlZFBh
dGhEYXRhIiwgIk9iamVjdCIpOworY2hlY2tQYXJlbnQoIlNWR0FuaW1hdGVkUHJlc2VydmVBc3Bl
Y3RSYXRpbyIsICJPYmplY3QiKTsKK2NoZWNrUGFyZW50KCJTVkdBbmltYXRlZFJlY3QiLCAiT2Jq
ZWN0Iik7CitjaGVja1BhcmVudCgiU1ZHQW5pbWF0ZWRTdHJpbmciLCAiT2JqZWN0Iik7CitjaGVj
a1BhcmVudCgiU1ZHQW5pbWF0ZWRUcmFuc2Zvcm1MaXN0IiwgIk9iamVjdCIpOworY2hlY2tQYXJl
bnQoIlNWR0FuaW1hdGlvbkVsZW1lbnQiLCAiU1ZHRWxlbWVudCIpOworY2hlY2tQYXJlbnQoIlNW
R0NTU1J1bGUiLCAiQ1NTUnVsZSIpOworY2hlY2tQYXJlbnQoIlNWR0NpcmNsZUVsZW1lbnQiLCAi
U1ZHR2VvbWV0cnlFbGVtZW50Iik7CitjaGVja1BhcmVudCgiU1ZHQ2xpcFBhdGhFbGVtZW50Iiwg
IlNWR0RlZmluaXRpb25FbGVtZW50Iik7CitjaGVja1BhcmVudCgiU1ZHQ29sb3JQcm9maWxlRWxl
bWVudCIsICJTVkdFbGVtZW50Iik7CitjaGVja1BhcmVudCgiU1ZHQ29sb3JQcm9maWxlUnVsZSIs
ICJTVkdDU1NSdWxlIik7CitjaGVja1BhcmVudCgiU1ZHQ3Vyc29yRWxlbWVudCIsICJTVkdFbGVt
ZW50Iik7CitjaGVja1BhcmVudCgiU1ZHRGVmc0VsZW1lbnQiLCAiU1ZHR3JhcGhpY3NFbGVtZW50
Iik7CitjaGVja1BhcmVudCgiU1ZHRGVzY0VsZW1lbnQiLCAiU1ZHRWxlbWVudCIpOworY2hlY2tQ
YXJlbnQoIlNWR0VsZW1lbnQiLCAiRWxlbWVudCIpOworY2hlY2tQYXJlbnQoIlNWR0VsZW1lbnRJ
bnN0YW5jZSIsICJFdmVudFRhcmdldCIpOworY2hlY2tQYXJlbnQoIlNWR0VsZW1lbnRJbnN0YW5j
ZUxpc3QiLCAiT2JqZWN0Iik7CitjaGVja1BhcmVudCgiU1ZHRWxsaXBzZUVsZW1lbnQiLCAiU1ZH
R2VvbWV0cnlFbGVtZW50Iik7CitjaGVja1BhcmVudCgiU1ZHRm9udEVsZW1lbnQiLCAiU1ZHRWxl
bWVudCIpOworY2hlY2tQYXJlbnQoIlNWR0ZvbnRGYWNlRWxlbWVudCIsICJTVkdFbGVtZW50Iik7
CitjaGVja1BhcmVudCgiU1ZHRm9udEZhY2VGb3JtYXRFbGVtZW50IiwgIlNWR0VsZW1lbnQiKTsK
K2NoZWNrUGFyZW50KCJTVkdGb250RmFjZU5hbWVFbGVtZW50IiwgIlNWR0VsZW1lbnQiKTsKK2No
ZWNrUGFyZW50KCJTVkdGb250RmFjZVNyY0VsZW1lbnQiLCAiU1ZHRWxlbWVudCIpOworY2hlY2tQ
YXJlbnQoIlNWR0ZvbnRGYWNlVXJpRWxlbWVudCIsICJTVkdFbGVtZW50Iik7CitjaGVja1BhcmVu
dCgiU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQiLCAiU1ZHR3JhcGhpY3NFbGVtZW50Iik7CitjaGVj
a1BhcmVudCgiU1ZHR0VsZW1lbnQiLCAiU1ZHR3JhcGhpY3NFbGVtZW50Iik7CitjaGVja1BhcmVu
dCgiU1ZHR2VvbWV0cnlFbGVtZW50IiwgIlNWR0dyYXBoaWNzRWxlbWVudCIpOworY2hlY2tQYXJl
bnQoIlNWR0dseXBoRWxlbWVudCIsICJTVkdFbGVtZW50Iik7CitjaGVja1BhcmVudCgiU1ZHR2x5
cGhSZWZFbGVtZW50IiwgIlNWR0VsZW1lbnQiKTsKK2NoZWNrUGFyZW50KCJTVkdHcmFkaWVudEVs
ZW1lbnQiLCAiU1ZHRWxlbWVudCIpOworY2hlY2tQYXJlbnQoIlNWR0dyYXBoaWNzRWxlbWVudCIs
ICJTVkdFbGVtZW50Iik7CitjaGVja1BhcmVudCgiU1ZHSEtlcm5FbGVtZW50IiwgIlNWR0VsZW1l
bnQiKTsKK2NoZWNrUGFyZW50KCJTVkdJbWFnZUVsZW1lbnQiLCAiU1ZHR3JhcGhpY3NFbGVtZW50
Iik7CitjaGVja1BhcmVudCgiU1ZHTGVuZ3RoIiwgIk9iamVjdCIpOworY2hlY2tQYXJlbnQoIlNW
R0xlbmd0aExpc3QiLCAiT2JqZWN0Iik7CitjaGVja1BhcmVudCgiU1ZHTGluZUVsZW1lbnQiLCAi
U1ZHR2VvbWV0cnlFbGVtZW50Iik7CitjaGVja1BhcmVudCgiU1ZHTGluZWFyR3JhZGllbnRFbGVt
ZW50IiwgIlNWR0dyYWRpZW50RWxlbWVudCIpOworY2hlY2tQYXJlbnQoIlNWR01QYXRoRWxlbWVu
dCIsICJTVkdFbGVtZW50Iik7CitjaGVja1BhcmVudCgiU1ZHTWFya2VyRWxlbWVudCIsICJTVkdF
bGVtZW50Iik7CitjaGVja1BhcmVudCgiU1ZHTWFya2VySW5zdGFuY2UiLCAiT2JqZWN0Iik7Citj
aGVja1BhcmVudCgiU1ZHTWFya2VyTGlzdCIsICJPYmplY3QiKTsKK2NoZWNrUGFyZW50KCJTVkdN
YXNrRWxlbWVudCIsICJTVkdEZWZpbml0aW9uRWxlbWVudCIpOworY2hlY2tQYXJlbnQoIlNWR01h
dHJpeCIsICJPYmplY3QiKTsKK2NoZWNrUGFyZW50KCJTVkdNZXNoR3JhZGllbnRFbGVtZW50Iiwg
IlNWR0dyYWRpZW50RWxlbWVudCIpOworY2hlY2tQYXJlbnQoIlNWR01lc2hQYXRjaEVsZW1lbnQi
LCAiU1ZHRWxlbWVudCIpOworY2hlY2tQYXJlbnQoIlNWR01lc2hSb3dFbGVtZW50IiwgIlNWR0Vs
ZW1lbnQiKTsKK2NoZWNrUGFyZW50KCJTVkdNZXRhZGF0YUVsZW1lbnQiLCAiU1ZHRWxlbWVudCIp
OworY2hlY2tQYXJlbnQoIlNWR01pc3NpbmdHbHlwaEVsZW1lbnQiLCAiU1ZHRWxlbWVudCIpOwor
Y2hlY2tQYXJlbnQoIlNWR051bWJlciIsICJPYmplY3QiKTsKK2NoZWNrUGFyZW50KCJTVkdOdW1i
ZXJMaXN0IiwgIk9iamVjdCIpOworY2hlY2tQYXJlbnQoIlNWR1BhdGhFbGVtZW50IiwgIlNWR0dl
b21ldHJ5RWxlbWVudCIpOworY2hlY2tQYXJlbnQoIlNWR1BhdGhTZWciLCAiT2JqZWN0Iik7Citj
aGVja1BhcmVudCgiU1ZHUGF0aFNlZ0FyY0FicyIsICJTVkdQYXRoU2VnIik7CitjaGVja1BhcmVu
dCgiU1ZHUGF0aFNlZ0FyY1JlbCIsICJTVkdQYXRoU2VnIik7CitjaGVja1BhcmVudCgiU1ZHUGF0
aFNlZ0Nsb3NlUGF0aCIsICJTVkdQYXRoU2VnIik7CitjaGVja1BhcmVudCgiU1ZHUGF0aFNlZ0N1
cnZldG9DdWJpY0FicyIsICJTVkdQYXRoU2VnIik7CitjaGVja1BhcmVudCgiU1ZHUGF0aFNlZ0N1
cnZldG9DdWJpY1JlbCIsICJTVkdQYXRoU2VnIik7CitjaGVja1BhcmVudCgiU1ZHUGF0aFNlZ0N1
cnZldG9DdWJpY1Ntb290aEFicyIsICJTVkdQYXRoU2VnIik7CitjaGVja1BhcmVudCgiU1ZHUGF0
aFNlZ0N1cnZldG9DdWJpY1Ntb290aFJlbCIsICJTVkdQYXRoU2VnIik7CitjaGVja1BhcmVudCgi
U1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNBYnMiLCAiU1ZHUGF0aFNlZyIpOworY2hlY2tQYXJl
bnQoIlNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljUmVsIiwgIlNWR1BhdGhTZWciKTsKK2NoZWNr
UGFyZW50KCJTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Ntb290aEFicyIsICJTVkdQYXRoU2Vn
Iik7CitjaGVja1BhcmVudCgiU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNTbW9vdGhSZWwiLCAi
U1ZHUGF0aFNlZyIpOworY2hlY2tQYXJlbnQoIlNWR1BhdGhTZWdMaW5ldG9BYnMiLCAiU1ZHUGF0
aFNlZyIpOworY2hlY2tQYXJlbnQoIlNWR1BhdGhTZWdMaW5ldG9Ib3Jpem9udGFsQWJzIiwgIlNW
R1BhdGhTZWciKTsKK2NoZWNrUGFyZW50KCJTVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbFJlbCIs
ICJTVkdQYXRoU2VnIik7CitjaGVja1BhcmVudCgiU1ZHUGF0aFNlZ0xpbmV0b1JlbCIsICJTVkdQ
YXRoU2VnIik7CitjaGVja1BhcmVudCgiU1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2FsQWJzIiwgIlNW
R1BhdGhTZWciKTsKK2NoZWNrUGFyZW50KCJTVkdQYXRoU2VnTGluZXRvVmVydGljYWxSZWwiLCAi
U1ZHUGF0aFNlZyIpOworY2hlY2tQYXJlbnQoIlNWR1BhdGhTZWdMaXN0IiwgIk9iamVjdCIpOwor
Y2hlY2tQYXJlbnQoIlNWR1BhdGhTZWdNb3ZldG9BYnMiLCAiU1ZHUGF0aFNlZyIpOworY2hlY2tQ
YXJlbnQoIlNWR1BhdGhTZWdNb3ZldG9SZWwiLCAiU1ZHUGF0aFNlZyIpOworY2hlY2tQYXJlbnQo
IlNWR1BhdHRlcm5FbGVtZW50IiwgIlNWR0VsZW1lbnQiKTsKK2NoZWNrUGFyZW50KCJTVkdQb2lu
dCIsICJPYmplY3QiKTsKK2NoZWNrUGFyZW50KCJTVkdQb2ludExpc3QiLCAiT2JqZWN0Iik7Citj
aGVja1BhcmVudCgiU1ZHUG9seWdvbkVsZW1lbnQiLCAiU1ZHR2VvbWV0cnlFbGVtZW50Iik7Citj
aGVja1BhcmVudCgiU1ZHUG9seWxpbmVFbGVtZW50IiwgIlNWR0dlb21ldHJ5RWxlbWVudCIpOwor
Y2hlY2tQYXJlbnQoIlNWR1ByZXNlcnZlQXNwZWN0UmF0aW8iLCAiT2JqZWN0Iik7CitjaGVja1Bh
cmVudCgiU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50IiwgIlNWR0dyYWRpZW50RWxlbWVudCIpOwor
Y2hlY2tQYXJlbnQoIlNWR1JlY3QiLCAiT2JqZWN0Iik7CitjaGVja1BhcmVudCgiU1ZHUmVjdEVs
ZW1lbnQiLCAiU1ZHR2VvbWV0cnlFbGVtZW50Iik7CitjaGVja1BhcmVudCgiU1ZHU1ZHRWxlbWVu
dCIsICJTVkdHcmFwaGljc0VsZW1lbnQiKTsKK2NoZWNrUGFyZW50KCJTVkdTY3JpcHRFbGVtZW50
IiwgIlNWR0VsZW1lbnQiKTsKK2NoZWNrUGFyZW50KCJTVkdTZXRFbGVtZW50IiwgIlNWR0FuaW1h
dGlvbkVsZW1lbnQiKTsKK2NoZWNrUGFyZW50KCJTVkdTdG9wRWxlbWVudCIsICJTVkdFbGVtZW50
Iik7CitjaGVja1BhcmVudCgiU1ZHU3RyaW5nTGlzdCIsICJPYmplY3QiKTsKK2NoZWNrUGFyZW50
KCJTVkdTdHlsZUVsZW1lbnQiLCAiU1ZHRWxlbWVudCIpOworY2hlY2tQYXJlbnQoIlNWR1N3aXRj
aEVsZW1lbnQiLCAiU1ZHR3JhcGhpY3NFbGVtZW50Iik7CitjaGVja1BhcmVudCgiU1ZHU3ltYm9s
RWxlbWVudCIsICJTVkdFbGVtZW50Iik7CitjaGVja1BhcmVudCgiU1ZHVFJlZkVsZW1lbnQiLCAi
U1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudCIpOworY2hlY2tQYXJlbnQoIlNWR1RTcGFuRWxlbWVu
dCIsICJTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50Iik7CitjaGVja1BhcmVudCgiU1ZHVGV4dENv
bnRlbnRFbGVtZW50IiwgIlNWR0dyYXBoaWNzRWxlbWVudCIpOworY2hlY2tQYXJlbnQoIlNWR1Rl
eHRFbGVtZW50IiwgIlNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQiKTsKK2NoZWNrUGFyZW50KCJT
VkdUZXh0UGF0aEVsZW1lbnQiLCAiU1ZHVGV4dENvbnRlbnRFbGVtZW50Iik7CitjaGVja1BhcmVu
dCgiU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudCIsICJTVkdUZXh0Q29udGVudEVsZW1lbnQiKTsK
K2NoZWNrUGFyZW50KCJTVkdUaXRsZUVsZW1lbnQiLCAiU1ZHRWxlbWVudCIpOworY2hlY2tQYXJl
bnQoIlNWR1RyYW5zZm9ybSIsICJPYmplY3QiKTsKK2NoZWNrUGFyZW50KCJTVkdUcmFuc2Zvcm1M
aXN0IiwgIk9iamVjdCIpOworY2hlY2tQYXJlbnQoIlNWR1VzZUVsZW1lbnQiLCAiU1ZHR3JhcGhp
Y3NFbGVtZW50Iik7CitjaGVja1BhcmVudCgiU1ZHVktlcm5FbGVtZW50IiwgIlNWR0VsZW1lbnQi
KTsKK2NoZWNrUGFyZW50KCJTVkdWaWV3RWxlbWVudCIsICJTVkdFbGVtZW50Iik7CitjaGVja1Bh
cmVudCgiU1ZHVmlld1NwZWMiLCAiT2JqZWN0Iik7CitjaGVja1BhcmVudCgiU1ZHWm9vbUV2ZW50
IiwgIlVJRXZlbnQiKTsKK2NoZWNrUGFyZW50KCJUaW1lRXZlbnQiLCAiRXZlbnQiKTsKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>209369</attachid>
            <date>2013-08-22 08:13:56 -0700</date>
            <delta_ts>2013-08-22 14:57:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-107386-20130822181350.patch</filename>
            <type>text/plain</type>
            <size>231030</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU0NDQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDY2OWUwMGExZWY2NjEy
MTA3YTFlZWM4ODEzZmViZjE0ODlkN2RhYy4uNGQ0NWZkYjcxMWYyYTc1ODJiODI1NDFjNjQ3OTVh
YmI1MWVjYWI4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI2MyBAQAogMjAxMy0wOC0yMiAgQ2hy
aXN0b3BoZSBEdW1leiAgPGNoLmR1bWV6QHNpc2Euc2Ftc3VuZy5jb20+CiAKKyAgICAgICAgW1NW
RzJdIE1lcmdlIFNWR1N0eWxlZEVsZW1lbnQgYW5kIFNWR0VsZW1lbnQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNzM4NgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1lcmdlIFNWR1N0eWxlZEVsZW1lbnQg
aW50byBTVkdFbGVtZW50IHRvIHNpbXBsaWZ5IHRoZSBTVkcgaW5oZXJpdGFuY2UKKyAgICAgICAg
bW9kZWwgYW5kIG1hdGNoIHRoZSBTVkcyIHNwZWNpZmljYXRpb246CisgICAgICAgIGh0dHBzOi8v
c3Znd2cub3JnL3N2ZzItZHJhZnQvc2luZ2xlLXBhZ2UuaHRtbCN0eXBlcy1JbnRlcmZhY2VTVkdF
bGVtZW50CisKKyAgICAgICAgVGVzdDogc3ZnL2RvbS9zdmcyLWluaGVyaXRhbmNlLmh0bWwKKwor
ICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLmNwcDoK
KyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIERlcml2ZWRTb3VyY2Vz
LnByaToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFRhcmdldC5w
cmk6CisgICAgICAgICogV2ViQ29yZS5vcmRlcjoKKyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ov
V2ViQ29yZS52Y3hwcm9qOgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHBy
b2ouZmlsdGVyczoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6YWx0ZXJuYXRpdmVUZXh0
KToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0OjphY2Nlc3NpYmls
aXR5RGVzY3JpcHRpb24pOgorICAgICAgICAqIGNzcy9TVkdDU1NTdHlsZVNlbGVjdG9yLmNwcDoK
KyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGUuY3BwOgorICAgICAgICAq
IHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHQ29udGFpbmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclNWR0NvbnRhaW5lcjo6UmVuZGVyU1ZHQ29udGFpbmVyKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvc3ZnL1JlbmRlclNWR0NvbnRhaW5lci5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcv
UmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNW
R0hpZGRlbkNvbnRhaW5lcjo6UmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyKToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0hpZGRlbkNvbnRhaW5lci5oOgorICAgICAgICAqIHJlbmRl
cmluZy9zdmcvUmVuZGVyU1ZHTW9kZWxPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyU1ZHTW9kZWxPYmplY3Q6OlJlbmRlclNWR01vZGVsT2JqZWN0KToKKyAgICAgICAgKFdlYkNv
cmU6OmdldEVsZW1lbnRDVE0pOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHTW9k
ZWxPYmplY3QuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlQ2xp
cHBlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXI6OmRy
YXdDb250ZW50SW50b01hc2tJbWFnZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNv
dXJjZUNsaXBwZXI6OmNhbGN1bGF0ZUNsaXBDb250ZW50UmVwYWludFJlY3QpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyOjpoaXRUZXN0Q2xpcENvbnRlbnQpOgor
ICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXI6OlJlbmRlclNWR1Jl
c291cmNlQ29udGFpbmVyKToKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291
cmNlQ29udGFpbmVyLmg6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJj
ZUZpbHRlci5jcHA6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUZp
bHRlclByaW1pdGl2ZS5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3Vy
Y2VNYXJrZXIuY3BwOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VN
YXJrZXIuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlTWFza2Vy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNlTWFza2VyOjpkcmF3Q29u
dGVudEludG9NYXNrSW1hZ2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VN
YXNrZXI6OmNhbGN1bGF0ZU1hc2tDb250ZW50UmVwYWludFJlY3QpOgorICAgICAgICAqIHJlbmRl
cmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclNWR1Jlc291cmNlUGF0dGVybjo6Y3JlYXRlVGlsZUltYWdlKToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
U1ZHUm9vdDo6UmVuZGVyU1ZHUm9vdCk6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJT
VkdSb290Lmg6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdWaWV3cG9ydENvbnRh
aW5lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdWaWV3cG9ydENvbnRhaW5lcjo6
UmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXIpOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVu
ZGVyU1ZHVmlld3BvcnRDb250YWluZXIuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1NWR1Jl
bmRlclN1cHBvcnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUmVuZGVyU3VwcG9ydDo6bGF5
b3V0Q2hpbGRyZW4pOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvU1ZHUmVuZGVyVHJlZUFzVGV4
dC5jcHA6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9TVkdSZXNvdXJjZXMuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6cmVnaXN0ZXJQZW5kaW5nUmVzb3VyY2UpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9zdmcvU1ZHUmVzb3VyY2VzQ2FjaGUuY3BwOgorICAgICAgICAqIHN2Zy9TVkdBRWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdBRWxlbWVudDo6dGl0bGUpOgorICAgICAgICAqIHN2
Zy9TVkdBbGxJbk9uZS5jcHA6CisgICAgICAgICogc3ZnL1NWR0FsdEdseXBoRGVmRWxlbWVudC5o
OgorICAgICAgICAqIHN2Zy9TVkdBbHRHbHlwaEl0ZW1FbGVtZW50Lmg6CisgICAgICAgICogc3Zn
L1NWR0FuaW1hdGVFbGVtZW50LmNwcDoKKyAgICAgICAgKiBzdmcvU1ZHQW5pbWF0ZWRUeXBlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkVHlwZTo6dmFsdWVBc1N0cmluZyk6Cisg
ICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZFR5cGU6OnNldFZhbHVlQXNTdHJpbmcpOgorICAg
ICAgICAqIHN2Zy9TVkdBbmltYXRpb25FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNW
R0FuaW1hdGlvbkVsZW1lbnQ6OmlzVGFyZ2V0QXR0cmlidXRlQ1NTUHJvcGVydHkpOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHQW5pbWF0aW9uRWxlbWVudDo6Y29tcHV0ZUNTU1Byb3BlcnR5VmFsdWUp
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0aW9uRWxlbWVudDo6YWRqdXN0Rm9ySW5oZXJp
dGFuY2UpOgorICAgICAgICAoV2ViQ29yZTo6aW5oZXJpdHNGcm9tUHJvcGVydHkpOgorICAgICAg
ICAqIHN2Zy9TVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudC5oOgorICAgICAgICAq
IHN2Zy9TVkdDdXJzb3JFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0Rlc2NFbGVtZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0Rlc2NFbGVtZW50OjpTVkdEZXNjRWxlbWVudCk6Cisg
ICAgICAgICogc3ZnL1NWR0Rlc2NFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0Rlc2NFbGVt
ZW50LmlkbDoKKyAgICAgICAgKiBzdmcvU1ZHRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjptYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KToKKyAgICAgICAgKFdlYkNvcmU6OmNzc1Byb3Bl
cnR5VG9UeXBlTWFwKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VsZW1lbnQ6OlNWR0VsZW1lbnQp
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudDo6flNWR0VsZW1lbnQpOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHRWxlbWVudDo6cmVtb3ZlZEZyb20pOgorICAgICAgICAoV2ViQ29yZTo6U1ZH
RWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudDo6
YW5pbWF0ZWRQcm9wZXJ0eVR5cGVGb3JBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29yZTo6Y29s
bGVjdEluc3RhbmNlc0ZvclNWR0VsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVu
dDo6aXNBbmltYXRhYmxlQXR0cmlidXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VsZW1lbnQ6
OnRpdGxlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VsZW1lbnQ6OnJlbmRlcmVySXNOZWVkZWQp
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudDo6Y3NzUHJvcGVydHlJZEZvclNWR0F0dHJp
YnV0ZU5hbWUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudDo6aXNBbmltYXRhYmxlQ1NT
UHJvcGVydHkpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudDo6aXNQcmVzZW50YXRpb25B
dHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudDo6Y29sbGVjdFN0eWxlRm9y
UHJlc2VudGF0aW9uQXR0cmlidXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VsZW1lbnQ6Omlz
S25vd25BdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudDo6c3ZnQXR0cmli
dXRlQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbGVtZW50OjppbnNlcnRlZEludG8p
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudDo6YnVpbGRQZW5kaW5nUmVzb3VyY2VzSWZO
ZWVkZWQpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkKToK
KyAgICAgICAgKFdlYkNvcmU6OlNWR0VsZW1lbnQ6OmdldFByZXNlbnRhdGlvbkF0dHJpYnV0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpTVkdFbGVtZW50OjppbnN0YW5jZVVwZGF0ZXNCbG9ja2VkKToK
KyAgICAgICAgKFdlYkNvcmU6OlNWR0VsZW1lbnQ6OnNldEluc3RhbmNlVXBkYXRlc0Jsb2NrZWQp
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudDo6bG9jYWxDb29yZGluYXRlU3BhY2VUcmFu
c2Zvcm0pOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudDo6dXBkYXRlUmVsYXRpdmVMZW5n
dGhzSW5mb3JtYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudDo6aXNNb3VzZUZv
Y3VzYWJsZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbGVtZW50Ojppc0tleWJvYXJkRm9jdXNh
YmxlKToKKyAgICAgICAgKiBzdmcvU1ZHRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZH
RWxlbWVudDo6c3VwcG9ydHNNYXJrZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VsZW1lbnQ6
Omhhc1JlbGF0aXZlTGVuZ3Rocyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbGVtZW50OjpuZWVk
c1BlbmRpbmdSZXNvdXJjZUhhbmRsaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VsZW1lbnQ6
OnNlbGZIYXNSZWxhdGl2ZUxlbmd0aHMpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudDo6
dXBkYXRlUmVsYXRpdmVMZW5ndGhzSW5mb3JtYXRpb24pOgorICAgICAgICAqIHN2Zy9TVkdFbGVt
ZW50LmlkbDoKKyAgICAgICAgKiBzdmcvU1ZHRWxlbWVudEluc3RhbmNlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlNWR0VsZW1lbnRJbnN0YW5jZTo6aW52YWxpZGF0ZUFsbEluc3RhbmNlc09mRWxl
bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbGVtZW50SW5zdGFuY2U6Okluc3RhbmNlVXBk
YXRlQmxvY2tlcjo6SW5zdGFuY2VVcGRhdGVCbG9ja2VyKToKKyAgICAgICAgKiBzdmcvU1ZHRWxl
bWVudEluc3RhbmNlLmg6CisgICAgICAgICogc3ZnL1NWR0ZFQmxlbmRFbGVtZW50LmlkbDoKKyAg
ICAgICAgKiBzdmcvU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQuaWRsOgorICAgICAgICAqIHN2Zy9T
VkdGRUNvbXBvbmVudFRyYW5zZmVyRWxlbWVudC5pZGw6CisgICAgICAgICogc3ZnL1NWR0ZFQ29t
cG9zaXRlRWxlbWVudC5pZGw6CisgICAgICAgICogc3ZnL1NWR0ZFQ29udm9sdmVNYXRyaXhFbGVt
ZW50LmlkbDoKKyAgICAgICAgKiBzdmcvU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50LmlkbDoK
KyAgICAgICAgKiBzdmcvU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50LmlkbDoKKyAgICAgICAg
KiBzdmcvU1ZHRkVEcm9wU2hhZG93RWxlbWVudC5pZGw6CisgICAgICAgICogc3ZnL1NWR0ZFRmxv
b2RFbGVtZW50LmlkbDoKKyAgICAgICAgKiBzdmcvU1ZHRkVHYXVzc2lhbkJsdXJFbGVtZW50Lmlk
bDoKKyAgICAgICAgKiBzdmcvU1ZHRkVJbWFnZUVsZW1lbnQuaWRsOgorICAgICAgICAqIHN2Zy9T
VkdGRUxpZ2h0RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdGRU1lcmdlRWxlbWVudC5pZGw6
CisgICAgICAgICogc3ZnL1NWR0ZFTWVyZ2VOb2RlRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9T
VkdGRU1vcnBob2xvZ3lFbGVtZW50LmlkbDoKKyAgICAgICAgKiBzdmcvU1ZHRkVPZmZzZXRFbGVt
ZW50LmlkbDoKKyAgICAgICAgKiBzdmcvU1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudC5pZGw6
CisgICAgICAgICogc3ZnL1NWR0ZFVGlsZUVsZW1lbnQuaWRsOgorICAgICAgICAqIHN2Zy9TVkdG
RVR1cmJ1bGVuY2VFbGVtZW50LmlkbDoKKyAgICAgICAgKiBzdmcvU1ZHRmlsdGVyRWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdGaWx0ZXJFbGVtZW50OjpTVkdGaWx0ZXJFbGVtZW50
KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZpbHRlckVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OlNWR0ZpbHRlckVsZW1lbnQ6OnN2Z0F0dHJpYnV0ZUNoYW5nZWQp
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHRmlsdGVyRWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkKToK
KyAgICAgICAgKiBzdmcvU1ZHRmlsdGVyRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdGaWx0
ZXJFbGVtZW50LmlkbDoKKyAgICAgICAgKiBzdmcvU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRB
dHRyaWJ1dGVzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZpbHRlclByaW1pdGl2ZVN0YW5k
YXJkQXR0cmlidXRlczo6U1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlczo6cGFy
c2VBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRh
cmRBdHRyaWJ1dGVzOjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6OlNW
R0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlczo6Y2hpbGRyZW5DaGFuZ2VkKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlczo6cmVu
ZGVyZXJJc05lZWRlZCk6CisgICAgICAgICogc3ZnL1NWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJk
QXR0cmlidXRlcy5oOgorICAgICAgICAqIHN2Zy9TVkdGb250RWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTVkdGb250RWxlbWVudDo6U1ZHRm9udEVsZW1lbnQpOgorICAgICAgICAqIHN2
Zy9TVkdGb250RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdGb250RmFjZUVsZW1lbnQuY3Bw
OgorICAgICAgICAqIHN2Zy9TVkdGb250RmFjZUVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZH
Rm9udEZhY2VGb3JtYXRFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0ZvbnRGYWNlTmFtZUVs
ZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHRm9udEZhY2VTcmNFbGVtZW50Lmg6CisgICAgICAg
ICogc3ZnL1NWR0ZvbnRGYWNlVXJpRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdHRWxlbWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdHRWxlbWVudDo6cmVuZGVyZXJJc05lZWRlZCk6
CisgICAgICAgICogc3ZnL1NWR0dseXBoRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
VkdHbHlwaEVsZW1lbnQ6OlNWR0dseXBoRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdH
bHlwaEVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0dseXBo
RWxlbWVudDo6aW5zZXJ0ZWRJbnRvKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0dseXBoRWxlbWVu
dDo6cmVtb3ZlZEZyb20pOgorICAgICAgICAqIHN2Zy9TVkdHbHlwaEVsZW1lbnQuaDoKKyAgICAg
ICAgKiBzdmcvU1ZHR2x5cGhSZWZFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ds
eXBoUmVmRWxlbWVudDo6U1ZHR2x5cGhSZWZFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNW
R0dseXBoUmVmRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUpOgorICAgICAgICAqIHN2Zy9TVkdHbHlw
aFJlZkVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHR2x5cGhSZWZFbGVtZW50LmlkbDoKKyAg
ICAgICAgKiBzdmcvU1ZHR3JhZGllbnRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNW
R0dyYWRpZW50RWxlbWVudDo6U1ZHR3JhZGllbnRFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6
OlNWR0dyYWRpZW50RWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHR3JhZGllbnRFbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNv
cmU6OlNWR0dyYWRpZW50RWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkKToKKyAgICAgICAgKiBzdmcv
U1ZHR3JhZGllbnRFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5p
ZGw6CisgICAgICAgICogc3ZnL1NWR0dyYXBoaWNzRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpTVkdHcmFwaGljc0VsZW1lbnQ6OlNWR0dyYXBoaWNzRWxlbWVudCk6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdHcmFwaGljc0VsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKToKKyAgICAgICAgKFdl
YkNvcmU6OlNWR0dyYXBoaWNzRWxlbWVudDo6c3ZnQXR0cmlidXRlQ2hhbmdlZCk6CisgICAgICAg
ICogc3ZnL1NWR0dyYXBoaWNzRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdHcmFwaGljc0Vs
ZW1lbnQuaWRsOgorICAgICAgICAqIHN2Zy9TVkdMb2NhdGFibGUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHTG9jYXRhYmxlOjpjb21wdXRlQ1RNKToKKyAgICAgICAgKiBzdmcvU1ZHTVBhdGhF
bGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR01hcmtlckVsZW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHTWFya2VyRWxlbWVudDo6U1ZHTWFya2VyRWxlbWVudCk6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdNYXJrZXJFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZSk6CisgICAgICAgIChXZWJD
b3JlOjpTVkdNYXJrZXJFbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKToKKyAgICAgICAgKFdl
YkNvcmU6OlNWR01hcmtlckVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZCk6CisgICAgICAgICogc3Zn
L1NWR01hcmtlckVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHTWFya2VyRWxlbWVudC5pZGw6
CisgICAgICAgICogc3ZnL1NWR01hc2tFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNW
R01hc2tFbGVtZW50OjpTVkdNYXNrRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdNYXNr
RWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHTWFza0VsZW1l
bnQ6OnN2Z0F0dHJpYnV0ZUNoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHTWFza0VsZW1l
bnQ6OmNoaWxkcmVuQ2hhbmdlZCk6CisgICAgICAgICogc3ZnL1NWR01hc2tFbGVtZW50Lmg6Cisg
ICAgICAgICogc3ZnL1NWR01hc2tFbGVtZW50LmlkbDoKKyAgICAgICAgKiBzdmcvU1ZHTWV0YWRh
dGFFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR01pc3NpbmdHbHlwaEVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHTWlzc2luZ0dseXBoRWxlbWVudDo6U1ZHTWlzc2luZ0dseXBo
RWxlbWVudCk6CisgICAgICAgICogc3ZnL1NWR01pc3NpbmdHbHlwaEVsZW1lbnQuaDoKKyAgICAg
ICAgKiBzdmcvU1ZHTWlzc2luZ0dseXBoRWxlbWVudC5pZGw6CisgICAgICAgICogc3ZnL1NWR1Bh
dHRlcm5FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1BhdHRlcm5FbGVtZW50OjpT
VkdQYXR0ZXJuRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQYXR0ZXJuRWxlbWVudDo6
cGFyc2VBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0dGVybkVsZW1lbnQ6OnN2
Z0F0dHJpYnV0ZUNoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0dGVybkVsZW1lbnQ6
OmNoaWxkcmVuQ2hhbmdlZCk6CisgICAgICAgICogc3ZnL1NWR1BhdHRlcm5FbGVtZW50Lmg6Cisg
ICAgICAgICogc3ZnL1NWR1BhdHRlcm5FbGVtZW50LmlkbDoKKyAgICAgICAgKiBzdmcvU1ZHU2Ny
aXB0RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdTdG9wRWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTVkdTdG9wRWxlbWVudDo6U1ZHU3RvcEVsZW1lbnQpOgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHU3RvcEVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKToKKyAgICAgICAgKFdlYkNvcmU6
OlNWR1N0b3BFbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKToKKyAgICAgICAgKiBzdmcvU1ZH
U3RvcEVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHU3RvcEVsZW1lbnQuaWRsOgorICAgICAg
ICAqIHN2Zy9TVkdTdHlsZUVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHU3R5bGVkRWxlbWVu
dC5jcHA6IFJlbW92ZWQuCisgICAgICAgICogc3ZnL1NWR1N0eWxlZEVsZW1lbnQuaDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBzdmcvU1ZHU3R5bGVkRWxlbWVudC5pZGw6IFJlbW92ZWQuCisgICAgICAg
ICogc3ZnL1NWR1N5bWJvbEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHU3ltYm9s
RWxlbWVudDo6U1ZHU3ltYm9sRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdTeW1ib2xF
bGVtZW50OjpwYXJzZUF0dHJpYnV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdTeW1ib2xFbGVt
ZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKToKKyAgICAgICAgKiBzdmcvU1ZHU3ltYm9sRWxlbWVu
dC5oOgorICAgICAgICAqIHN2Zy9TVkdTeW1ib2xFbGVtZW50LmlkbDoKKyAgICAgICAgKiBzdmcv
U1ZHVFJlZkVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVFJlZkVsZW1lbnQ6Omlu
c2VydGVkSW50byk6CisgICAgICAgIChXZWJDb3JlOjpTVkdUUmVmRWxlbWVudDo6cmVtb3ZlZEZy
b20pOgorICAgICAgICAqIHN2Zy9TVkdUaXRsZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHVGl0bGVFbGVtZW50OjpTVkdUaXRsZUVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHVGl0bGVFbGVtZW50OjppbnNlcnRlZEludG8pOgorICAgICAgICAqIHN2Zy9TVkdUaXRsZUVs
ZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHVGl0bGVFbGVtZW50LmlkbDoKKyAgICAgICAgKiBz
dmcvU1ZHVHJhbnNmb3JtYWJsZS5jcHA6CisgICAgICAgICogc3ZnL1NWR1VzZUVsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHVXNlRWxlbWVudDo6c2VsZkhhc1JlbGF0aXZlTGVuZ3Ro
cyk6CisgICAgICAgICogc3ZnL1NWR1ZpZXdFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNWR1ZpZXdFbGVtZW50OjpTVkdWaWV3RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdW
aWV3RWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUpOgorICAgICAgICAqIHN2Zy9TVkdWaWV3RWxlbWVu
dC5oOgorICAgICAgICAqIHN2Zy9hbmltYXRpb24vU1ZHU01JTEVsZW1lbnQuaDoKKyAgICAgICAg
KiBzdmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGRUltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkZFSW1hZ2U6OnBsYXRmb3JtQXBwbHlTb2Z0d2FyZSk6CisKKzIwMTMtMDgtMjIgIENocmlzdG9w
aGUgRHVtZXogIDxjaC5kdW1lekBzaXNhLnNhbXN1bmcuY29tPgorCiAgICAgICAgIEludHJvZHVj
ZSBhIFNWR1Vua25vd25FbGVtZW50IGNsYXNzIGZvciB1bmtub3duIFNWRyBlbGVtZW50cwogICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIwMTU1CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKaW5kZXggZjI5NmIxYmY4MzQ5OThiNWU1N2I3YWQzYTk3NjgxZmQ0Zjgw
NTA2NS4uMjY1NjFmMDk2MTRiNTY0M2IxYzFkN2E2ZmM1OWY2ZGI3MTAzMzYxMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01h
a2VMaXN0cy50eHQKQEAgLTczMSw3ICs3MzEsNiBAQCBzZXQoV2ViQ29yZV9TVkdfSURMX0ZJTEVT
CiAgICAgc3ZnL1NWR1N0b3BFbGVtZW50LmlkbAogICAgIHN2Zy9TVkdTdHJpbmdMaXN0LmlkbAog
ICAgIHN2Zy9TVkdTdHlsZUVsZW1lbnQuaWRsCi0gICAgc3ZnL1NWR1N0eWxlZEVsZW1lbnQuaWRs
CiAgICAgc3ZnL1NWR1N3aXRjaEVsZW1lbnQuaWRsCiAgICAgc3ZnL1NWR1N5bWJvbEVsZW1lbnQu
aWRsCiAgICAgc3ZnL1NWR1RSZWZFbGVtZW50LmlkbApAQCAtMjQ1NSw3ICsyNDU0LDYgQEAgc2V0
KFdlYkNvcmVfU09VUkNFUwogICAgIHN2Zy9TVkdTdG9wRWxlbWVudC5jcHAKICAgICBzdmcvU1ZH
U3RyaW5nTGlzdC5jcHAKICAgICBzdmcvU1ZHU3R5bGVFbGVtZW50LmNwcAotICAgIHN2Zy9TVkdT
dHlsZWRFbGVtZW50LmNwcAogICAgIHN2Zy9TVkdTd2l0Y2hFbGVtZW50LmNwcAogICAgIHN2Zy9T
VkdTeW1ib2xFbGVtZW50LmNwcAogICAgIHN2Zy9TVkdUUmVmRWxlbWVudC5jcHAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLmNwcAppbmRleCBkMGY5ZTkzZjFmY2ViZTI1ODkxMDk0OWNhMjY5Y2U5OGQy
ZDQzYmNhLi5kYTQ3MWZlNWUzNjhlNzQ2ZDVhNDRjZTZiZWZlN2VkNzkwZThiMjg3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMuY3BwCkBAIC00NjMsNyArNDYzLDYgQEAKICNpbmNsdWRlICJKU1NW
R1N0b3BFbGVtZW50LmNwcCIKICNpbmNsdWRlICJKU1NWR1N0cmluZ0xpc3QuY3BwIgogI2luY2x1
ZGUgIkpTU1ZHU3R5bGVFbGVtZW50LmNwcCIKLSNpbmNsdWRlICJKU1NWR1N0eWxlZEVsZW1lbnQu
Y3BwIgogI2luY2x1ZGUgIkpTU1ZHU3dpdGNoRWxlbWVudC5jcHAiCiAjaW5jbHVkZSAiSlNTVkdT
eW1ib2xFbGVtZW50LmNwcCIKICNpbmNsdWRlICJKU1NWR1RleHRDb250ZW50RWxlbWVudC5jcHAi
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCBmMTk3N2MzNjA5YzFiMTdjYjRiMjE0
MWQ4YzBlMzc2MmQyNzMwYzZlLi45YjViYmE0N2JmMzQ0Yjc5OGM4MWMyNDhhNWNjNmVlMTVhOGMz
NzdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBi
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTU4Nyw3ICs1ODcsNiBAQCBC
SU5ESU5HX0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9zdmcvU1ZHU3RvcEVsZW1lbnQuaWRsIFwK
ICAgICAkKFdlYkNvcmUpL3N2Zy9TVkdTdHJpbmdMaXN0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9z
dmcvU1ZHU3R5bGVFbGVtZW50LmlkbCBcCi0gICAgJChXZWJDb3JlKS9zdmcvU1ZHU3R5bGVkRWxl
bWVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvc3ZnL1NWR1N3aXRjaEVsZW1lbnQuaWRsIFwKICAg
ICAkKFdlYkNvcmUpL3N2Zy9TVkdTeW1ib2xFbGVtZW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9z
dmcvU1ZHVFJlZkVsZW1lbnQuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLnByaSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQppbmRleCAy
Y2Q0MzU1ZThhYTcxOTgzMzA1MmQ5ZWNmMDI0ZjU4ODliNTE1MDA3Li4zN2RiNGZjZmNhYzMyOThi
M2FkZWQ5NDU4YmJjNTMzMzE0MDQ2ZTI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCkBA
IC02MTIsNyArNjEyLDYgQEAgZW5hYmxlPyhTVkcpIHsKICAgICAkJFBXRC9zdmcvU1ZHU3RvcEVs
ZW1lbnQuaWRsIFwKICAgICAkJFBXRC9zdmcvU1ZHU3RyaW5nTGlzdC5pZGwgXAogICAgICQkUFdE
L3N2Zy9TVkdTdHlsZUVsZW1lbnQuaWRsIFwKLSAgICAkJFBXRC9zdmcvU1ZHU3R5bGVkRWxlbWVu
dC5pZGwgXAogICAgICQkUFdEL3N2Zy9TVkdTVkdFbGVtZW50LmlkbCBcCiAgICAgJCRQV0Qvc3Zn
L1NWR1N3aXRjaEVsZW1lbnQuaWRsIFwKICAgICAkJFBXRC9zdmcvU1ZHU3ltYm9sRWxlbWVudC5p
ZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1Nv
dXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggM2E3NDEyNzEwMzdiY2E2MTc5
YTFkMjg2NTJhODI5NDNiNWNmMWI5Ni4uNGEwMTY0ZWY1YzVlOGY1NWFmNDRmM2FjOGMyMzhhNzVj
YzA0Zjc0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0xMTQwLDggKzExNDAs
NiBAQCB3ZWJjb3JlX3N2Z19idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTU1ZHU3RyaW5nTGlzdC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTU1ZHU3R5
bGVFbGVtZW50LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NWR1N0eWxlRWxlbWVu
dC5oIFwKLQlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTU1ZHU3R5bGVkRWxlbWVudC5jcHAgXAot
CURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTVkdTdHlsZWRFbGVtZW50LmggXAogCURlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNTVkdTVkdFbGVtZW50LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU1NWR1NWR0VsZW1lbnQuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NWR1N3
aXRjaEVsZW1lbnQuY3BwIFwKQEAgLTE3MjksNyArMTcyNyw2IEBAIGRvbV9iaW5kaW5nX2lkbHMg
Kz0gXAogCSQoV2ViQ29yZSkvc3ZnL1NWR1N0b3BFbGVtZW50LmlkbCBcCiAJJChXZWJDb3JlKS9z
dmcvU1ZHU3RyaW5nTGlzdC5pZGwgXAogCSQoV2ViQ29yZSkvc3ZnL1NWR1N0eWxlRWxlbWVudC5p
ZGwgXAotCSQoV2ViQ29yZSkvc3ZnL1NWR1N0eWxlZEVsZW1lbnQuaWRsIFwKIAkkKFdlYkNvcmUp
L3N2Zy9TVkdTd2l0Y2hFbGVtZW50LmlkbCBcCiAJJChXZWJDb3JlKS9zdmcvU1ZHU3ltYm9sRWxl
bWVudC5pZGwgXAogCSQoV2ViQ29yZSkvc3ZnL1NWR1RSZWZFbGVtZW50LmlkbCBcCkBAIC01Mjcy
LDggKzUyNjksNiBAQCB3ZWJjb3JlX3N2Z19zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHU3RyaW5nTGlzdC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU3R5bGVFbGVtZW50
LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N0eWxlRWxlbWVudC5oIFwKLQlTb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHU3R5bGVkRWxlbWVudC5jcHAgXAotCVNvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdTdHlsZWRFbGVtZW50LmggXAogCVNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmNw
cCBcCiAJU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQuaCBcCiAJU291cmNlL1dlYkNv
cmUvc3ZnL1NWR1N3aXRjaEVsZW1lbnQuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCmluZGV4IDM3NjZlMDU3M2Rl
YWNjNjk0MjcxYTlhYjJmYjczNjNjZDk3YmZiODguLjM4ZmNjMzkxYjIxMWZhODc3OTJkZGM5M2Qz
MDg4MzJlYWNmMTdkNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKKysr
IGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAtMjc5NCw3ICsyNzk0LDYgQEAgSEVBREVS
UyArPSBcCiAgICAgc3ZnL1NWR1N0b3BFbGVtZW50LmggXAogICAgIHN2Zy9TVkdTdHJpbmdMaXN0
LmggXAogICAgIHN2Zy9TVkdTdHlsZUVsZW1lbnQuaCBcCi0gICAgc3ZnL1NWR1N0eWxlZEVsZW1l
bnQuaCBcCiAgICAgc3ZnL1NWR1NWR0VsZW1lbnQuaCBcCiAgICAgc3ZnL1NWR1N3aXRjaEVsZW1l
bnQuaCBcCiAgICAgc3ZnL1NWR1N5bWJvbEVsZW1lbnQuaCBcCkBAIC0zODYxLDcgKzM4NjAsNiBA
QCBlbmFibGU/KFNWRykgewogICAgICAgICBzdmcvU1ZHU3RvcEVsZW1lbnQuY3BwIFwKICAgICAg
ICAgc3ZnL1NWR1N0cmluZ0xpc3QuY3BwIFwKICAgICAgICAgc3ZnL1NWR1N0eWxlRWxlbWVudC5j
cHAgXAotICAgICAgICBzdmcvU1ZHU3R5bGVkRWxlbWVudC5jcHAgXAogICAgICAgICBzdmcvU1ZH
U3dpdGNoRWxlbWVudC5jcHAgXAogICAgICAgICBzdmcvU1ZHU3ltYm9sRWxlbWVudC5jcHAgXAog
ICAgICAgICBzdmcvU1ZHVFJlZkVsZW1lbnQuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUub3JkZXIgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLm9yZGVyCmluZGV4IGNl
ZGNmOWQ1NGZlYTllYmYxZmEzZGQzODBkMmZjMWQzOTZhM2RlZDUuLmNhZjhkZGQwYTAzZWY1ZmIz
Y2E2ZDZkM2ViYzA5ZDkzZGIwZWY2M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUub3JkZXIKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5vcmRlcgpAQCAtOTk0Nyw3ICs5
OTQ3LDYgQEAgX19aTjdXZWJDb3JlMTNTVkdTVkdFbGVtZW50NmNyZWF0ZUVSS05TXzEzUXVhbGlm
aWVkTmFtZUVQTlNfOERvY3VtZW50RQogX19aTjdXZWJDb3JlMTNTVkdTVkdFbGVtZW50QzFFUktO
U18xM1F1YWxpZmllZE5hbWVFUE5TXzhEb2N1bWVudEUKIF9fWk43V2ViQ29yZTI5U1ZHU3R5bGVk
VHJhbnNmb3JtYWJsZUVsZW1lbnRDMkVSS05TXzEzUXVhbGlmaWVkTmFtZUVQTlNfOERvY3VtZW50
RU5TXzROb2RlMTZDb25zdHJ1Y3Rpb25UeXBlRQogX19aTjdXZWJDb3JlMjVTVkdTdHlsZWRMb2Nh
dGFibGVFbGVtZW50QzJFUktOU18xM1F1YWxpZmllZE5hbWVFUE5TXzhEb2N1bWVudEVOU180Tm9k
ZTE2Q29uc3RydWN0aW9uVHlwZUUKLV9fWk43V2ViQ29yZTE2U1ZHU3R5bGVkRWxlbWVudEMyRVJL
TlNfMTNRdWFsaWZpZWROYW1lRVBOU184RG9jdW1lbnRFTlNfNE5vZGUxNkNvbnN0cnVjdGlvblR5
cGVFCiBfX1pON1dlYkNvcmUxMFNWR0VsZW1lbnRDMkVSS05TXzEzUXVhbGlmaWVkTmFtZUVQTlNf
OERvY3VtZW50RU5TXzROb2RlMTZDb25zdHJ1Y3Rpb25UeXBlRQogX19aTjdXZWJDb3JlMjVTVkdB
dHRyaWJ1dGVUb1Byb3BlcnR5TWFwMTFhZGRQcm9wZXJ0eUVQS05TXzE1U1ZHUHJvcGVydHlJbmZv
RQogX19aTjNXVEY2VmVjdG9ySVBLTjdXZWJDb3JlMTVTVkdQcm9wZXJ0eUluZm9FTG0wRU5TXzE1
Q3Jhc2hPbk92ZXJmbG93RUUxNGV4cGFuZENhcGFjaXR5RW1QS1M0XwpAQCAtOTk1Niw3ICs5OTU1
LDcgQEAgX19aTjNXVEY5SGFzaFRhYmxlSU43V2ViQ29yZTEzUXVhbGlmaWVkTmFtZUVOU18xMktl
eVZhbHVlUGFpcklTMl9OU182T3duUHRySU5TXzYKIF9fWk4zV1RGOUhhc2hUYWJsZUlON1dlYkNv
cmUxM1F1YWxpZmllZE5hbWVFTlNfMTJLZXlWYWx1ZVBhaXJJUzJfTlNfNk93blB0cklOU182VmVj
dG9ySVBLTlMxXzE1U1ZHUHJvcGVydHlJbmZvRUxtMEVOU18xNUNyYXNoT25PdmVyZmxvd0VFRUVF
RUVOU18yNEtleVZhbHVlUGFpcktleUV4dHJhY3RvcklTQ19FRU5TMV8xN1F1YWxpZmllZE5hbWVI
YXNoRU5TXzE4SGFzaE1hcFZhbHVlVHJhaXRzSU5TXzEwSGFzaFRyYWl0c0lTMl9FRU5TSF9JU0Jf
RUVFRVNJX0UzYWRkSU5TXzE3SGFzaE1hcFRyYW5zbGF0b3JJU0tfU0ZfRUVTMl9OU18xMFBhc3NP
d25QdHJJU0FfRUVFRU5TXzE4SGFzaFRhYmxlQWRkUmVzdWx0SU5TXzE3SGFzaFRhYmxlSXRlcmF0
b3JJUzJfU0NfU0VfU0ZfU0tfU0lfRUVFRVJLVDBfUktUMV8KIF9fWk4zV1RGOUhhc2hUYWJsZUlO
N1dlYkNvcmUxM1F1YWxpZmllZE5hbWVFTlNfMTJLZXlWYWx1ZVBhaXJJUzJfTlNfNk93blB0cklO
U182VmVjdG9ySVBLTlMxXzE1U1ZHUHJvcGVydHlJbmZvRUxtMEVOU18xNUNyYXNoT25PdmVyZmxv
d0VFRUVFRUVOU18yNEtleVZhbHVlUGFpcktleUV4dHJhY3RvcklTQ19FRU5TMV8xN1F1YWxpZmll
ZE5hbWVIYXNoRU5TXzE4SGFzaE1hcFZhbHVlVHJhaXRzSU5TXzEwSGFzaFRyYWl0c0lTMl9FRU5T
SF9JU0JfRUVFRVNJX0U2bG9va3VwSU5TXzIySWRlbnRpdHlIYXNoVHJhbnNsYXRvcklTRl9FRVMy
X0VFUFNDX1JLVDBfCiBfX1pOM1dURjlIYXNoVGFibGVJTjdXZWJDb3JlMTNRdWFsaWZpZWROYW1l
RU5TXzEyS2V5VmFsdWVQYWlySVMyX05TXzZPd25QdHJJTlNfNlZlY3RvcklQS05TMV8xNVNWR1By
b3BlcnR5SW5mb0VMbTBFTlNfMTVDcmFzaE9uT3ZlcmZsb3dFRUVFRUVFTlNfMjRLZXlWYWx1ZVBh
aXJLZXlFeHRyYWN0b3JJU0NfRUVOUzFfMTdRdWFsaWZpZWROYW1lSGFzaEVOU18xOEhhc2hNYXBW
YWx1ZVRyYWl0c0lOU18xMEhhc2hUcmFpdHNJUzJfRUVOU0hfSVNCX0VFRUVTSV9FNnJlaGFzaEVp
Ci1fX1pON1dlYkNvcmUxNlNWR1N0eWxlZEVsZW1lbnQyMmF0dHJpYnV0ZVRvUHJvcGVydHlNYXBF
dgorX19aTjdXZWJDb3JlMTZTVkdFbGVtZW50MjJhdHRyaWJ1dGVUb1Byb3BlcnR5TWFwRXYKIF9f
Wk43V2ViQ29yZTI1U1ZHQXR0cmlidXRlVG9Qcm9wZXJ0eU1hcDEzYWRkUHJvcGVydGllc0VSS1Mw
XwogX19aTjdXZWJDb3JlOFNWR1Rlc3RzQzJFdgogX19aTjdXZWJDb3JlMTFwYXJzZU51bWJlckVS
UEt0UzFfUmZiCkBAIC05OTY2LDggKzk5NjUsOCBAQCBfX1pON1dlYkNvcmUxN1NNSUxUaW1lQ29u
dGFpbmVyQzFFUE5TXzEzU1ZHU1ZHRWxlbWVudEUKIF9fWk43V2ViQ29yZTI5U1ZHU3R5bGVkVHJh
bnNmb3JtYWJsZUVsZW1lbnQyMmF0dHJpYnV0ZVRvUHJvcGVydHlNYXBFdgogX19aTjdXZWJDb3Jl
OFNWR1Rlc3RzMjJhdHRyaWJ1dGVUb1Byb3BlcnR5TWFwRXYKIF9fWk43V2ViQ29yZTEwU1ZHRWxl
bWVudDE2YXR0cmlidXRlQ2hhbmdlZEVSS05TXzEzUXVhbGlmaWVkTmFtZUVSS04zV1RGMTJBdG9t
aWNTdHJpbmdFTlNfN0VsZW1lbnQyN0F0dHJpYnV0ZU1vZGlmaWNhdGlvblJlYXNvbkUKLV9fWk5L
N1dlYkNvcmUxNlNWR1N0eWxlZEVsZW1lbnQyM2lzUHJlc2VudGF0aW9uQXR0cmlidXRlRVJLTlNf
MTNRdWFsaWZpZWROYW1lRQotX19aTjdXZWJDb3JlMTZTVkdTdHlsZWRFbGVtZW50MzJjc3NQcm9w
ZXJ0eUlkRm9yU1ZHQXR0cmlidXRlTmFtZUVSS05TXzEzUXVhbGlmaWVkTmFtZUUKK19fWk5LN1dl
YkNvcmUxNlNWR0VsZW1lbnQyM2lzUHJlc2VudGF0aW9uQXR0cmlidXRlRVJLTlNfMTNRdWFsaWZp
ZWROYW1lRQorX19aTjdXZWJDb3JlMTZTVkdFbGVtZW50MzJjc3NQcm9wZXJ0eUlkRm9yU1ZHQXR0
cmlidXRlTmFtZUVSS05TXzEzUXVhbGlmaWVkTmFtZUUKIF9fWk4zV1RGOUhhc2hUYWJsZUlQTlNf
MTZBdG9taWNTdHJpbmdJbXBsRU5TXzEyS2V5VmFsdWVQYWlySVMyX043V2ViQ29yZTEzQ1NTUHJv
cGVydHlJREVFRU5TXzI0S2V5VmFsdWVQYWlyS2V5RXh0cmFjdG9ySVM2X0VFTlNfN1B0ckhhc2hJ
UzJfRUVOU18xOEhhc2hNYXBWYWx1ZVRyYWl0c0lOU18xMEhhc2hUcmFpdHNJUzJfRUVOU0NfSVM1
X0VFRUVTRF9FMTZsb29rdXBGb3JXcml0aW5nSU5TXzIySWRlbnRpdHlIYXNoVHJhbnNsYXRvcklT
QV9FRVMyX0VFTlN0M19fMTRwYWlySVBTNl9iRUVSS1QwXwogX19aTjNXVEY5SGFzaFRhYmxlSVBO
U18xNkF0b21pY1N0cmluZ0ltcGxFTlNfMTJLZXlWYWx1ZVBhaXJJUzJfTjdXZWJDb3JlMTNDU1NQ
cm9wZXJ0eUlERUVFTlNfMjRLZXlWYWx1ZVBhaXJLZXlFeHRyYWN0b3JJUzZfRUVOU183UHRySGFz
aElTMl9FRU5TXzE4SGFzaE1hcFZhbHVlVHJhaXRzSU5TXzEwSGFzaFRyYWl0c0lTMl9FRU5TQ19J
UzVfRUVFRVNEX0UzYWRkSU5TXzE3SGFzaE1hcFRyYW5zbGF0b3JJU0ZfU0FfRUVTMl9TNV9FRU5T
XzE4SGFzaFRhYmxlQWRkUmVzdWx0SU5TXzE3SGFzaFRhYmxlSXRlcmF0b3JJUzJfUzZfUzhfU0Ff
U0ZfU0RfRUVFRVJLVDBfUktUMV8KIF9fWk4zV1RGOUhhc2hUYWJsZUlQTlNfMTZBdG9taWNTdHJp
bmdJbXBsRU5TXzEyS2V5VmFsdWVQYWlySVMyX043V2ViQ29yZTEzQ1NTUHJvcGVydHlJREVFRU5T
XzI0S2V5VmFsdWVQYWlyS2V5RXh0cmFjdG9ySVM2X0VFTlNfN1B0ckhhc2hJUzJfRUVOU18xOEhh
c2hNYXBWYWx1ZVRyYWl0c0lOU18xMEhhc2hUcmFpdHNJUzJfRUVOU0NfSVM1X0VFRUVTRF9FNmxv
b2t1cElOU18yMklkZW50aXR5SGFzaFRyYW5zbGF0b3JJU0FfRUVTMl9FRVBTNl9SS1QwXwpAQCAt
OTk5MSwyNCArOTk5MCwyNCBAQCBfX1pOSzdXZWJDb3JlMTNTVkdTVkdFbGVtZW50NXdpZHRoRXYK
IF9fWk43V2ViQ29yZTEzU1ZHU1ZHRWxlbWVudDE3d2lkdGhQcm9wZXJ0eUluZm9FdgogX19aTks3
V2ViQ29yZTEzU1ZHU1ZHRWxlbWVudDZoZWlnaHRFdgogX19aTjdXZWJDb3JlMTNTVkdTVkdFbGVt
ZW50MThoZWlnaHRQcm9wZXJ0eUluZm9FdgotX19aTjdXZWJDb3JlMTZTVkdTdHlsZWRFbGVtZW50
MzJ1cGRhdGVSZWxhdGl2ZUxlbmd0aHNJbmZvcm1hdGlvbkViUFMwXworX19aTjdXZWJDb3JlMTZT
VkdFbGVtZW50MzJ1cGRhdGVSZWxhdGl2ZUxlbmd0aHNJbmZvcm1hdGlvbkViUFMwXwogX19aTjdX
ZWJDb3JlMTVTVkdGaXRUb1ZpZXdCb3gxNmlzS25vd25BdHRyaWJ1dGVFUktOU18xM1F1YWxpZmll
ZE5hbWVFCiBfX1pON1dlYkNvcmU4U1ZHVGVzdHMyMWhhbmRsZUF0dHJpYnV0ZUNoYW5nZUVQTlNf
MTBTVkdFbGVtZW50RVJLTlNfMTNRdWFsaWZpZWROYW1lRQogX19aTjdXZWJDb3JlMThTVkdFbGVt
ZW50SW5zdGFuY2UzMWludmFsaWRhdGVBbGxJbnN0YW5jZXNPZkVsZW1lbnRFUE5TXzEwU1ZHRWxl
bWVudEUKIF9fWk43V2ViQ29yZTE2SFRNTEVsZW1lbnRTdGFjazIyaXNIVE1MSW50ZWdyYXRpb25Q
b2ludEVQTlNfMTNIVE1MU3RhY2tJdGVtRQogX19aTjdXZWJDb3JlMTZIVE1MRWxlbWVudFN0YWNr
Mjhpc01hdGhNTFRleHRJbnRlZ3JhdGlvblBvaW50RVBOU18xM0hUTUxTdGFja0l0ZW1FCiBfX1pO
N1dlYkNvcmUxM1NWR1NWR0VsZW1lbnQxMmluc2VydGVkSW50b0VQTlNfMTNDb250YWluZXJOb2Rl
RQotX19aTjdXZWJDb3JlMTZTVkdTdHlsZWRFbGVtZW50MTJpbnNlcnRlZEludG9FUE5TXzEzQ29u
dGFpbmVyTm9kZUUKLV9fWk43V2ViQ29yZTE2U1ZHU3R5bGVkRWxlbWVudDI5YnVpbGRQZW5kaW5n
UmVzb3VyY2VzSWZOZWVkZWRFdgotX19aTks3V2ViQ29yZTE2U1ZHU3R5bGVkRWxlbWVudDI4bmVl
ZHNQZW5kaW5nUmVzb3VyY2VIYW5kbGluZ0V2CitfX1pON1dlYkNvcmUxNlNWR0VsZW1lbnQxMmlu
c2VydGVkSW50b0VQTlNfMTNDb250YWluZXJOb2RlRQorX19aTjdXZWJDb3JlMTZTVkdFbGVtZW50
MjlidWlsZFBlbmRpbmdSZXNvdXJjZXNJZk5lZWRlZEV2CitfX1pOSzdXZWJDb3JlMTZTVkdFbGVt
ZW50MjhuZWVkc1BlbmRpbmdSZXNvdXJjZUhhbmRsaW5nRXYKIF9fWk43V2ViQ29yZTE1SFRNTFRy
ZWVCdWlsZGVyMjhwcm9jZXNzVG9rZW5JbkZvcmVpZ25Db250ZW50RVBOU18xNUF0b21pY0hUTUxU
b2tlbkUKLV9fWk43V2ViQ29yZTE2U1ZHU3R5bGVkRWxlbWVudDE1Y2hpbGRyZW5DaGFuZ2VkRWJQ
TlNfNE5vZGVFUzJfaQorX19aTjdXZWJDb3JlMTZTVkdFbGVtZW50MTVjaGlsZHJlbkNoYW5nZWRF
YlBOU180Tm9kZUVTMl9pCiBfX1pON1dlYkNvcmVMMjBhZGp1c3RTVkdUYWdOYW1lQ2FzZUVQTlNf
MTVBdG9taWNIVE1MVG9rZW5FCiBfX1pON1dlYkNvcmU4U1ZHTmFtZXMxMGdldFNWR1RhZ3NFdgog
X19aTjdXZWJDb3JlTDEyZ0NvbnN0cnVjdG9yRVJLTlNfMTNRdWFsaWZpZWROYW1lRVBOU184RG9j
dW1lbnRFYgogX19aTjdXZWJDb3JlMTFTVkdHRWxlbWVudDZjcmVhdGVFUktOU18xM1F1YWxpZmll
ZE5hbWVFUE5TXzhEb2N1bWVudEUKIF9fWk43V2ViQ29yZUw0MHJlZ2lzdGVyQW5pbWF0ZWRQcm9w
ZXJ0aWVzRm9yU1ZHR0VsZW1lbnRFdgotX19aTks3V2ViQ29yZTE2U1ZHU3R5bGVkRWxlbWVudDIy
c2VsZkhhc1JlbGF0aXZlTGVuZ3Roc0V2CitfX1pOSzdXZWJDb3JlMTZTVkdFbGVtZW50MjJzZWxm
SGFzUmVsYXRpdmVMZW5ndGhzRXYKIF9fWk43V2ViQ29yZUwxN2NpcmNsZUNvbnN0cnVjdG9yRVJL
TlNfMTNRdWFsaWZpZWROYW1lRVBOU184RG9jdW1lbnRFYgogX19aTjdXZWJDb3JlMTZTVkdDaXJj
bGVFbGVtZW50NmNyZWF0ZUVSS05TXzEzUXVhbGlmaWVkTmFtZUVQTlNfOERvY3VtZW50RQogX19a
TjdXZWJDb3JlMTZTVkdDaXJjbGVFbGVtZW50QzFFUktOU18xM1F1YWxpZmllZE5hbWVFUE5TXzhE
b2N1bWVudEUKQEAgLTEwMDMyLDEwICsxMDAzMSwxMCBAQCBfX1pON1dlYkNvcmUxNlNWR0NpcmNs
ZUVsZW1lbnQxNGN5UHJvcGVydHlJbmZvRXYKIF9fWk5LN1dlYkNvcmUxNlNWR0NpcmNsZUVsZW1l
bnQxckV2CiBfX1pON1dlYkNvcmUxNlNWR0NpcmNsZUVsZW1lbnQxM3JQcm9wZXJ0eUluZm9Fdgog
X19aTjdXZWJDb3JlMjlTVkdTdHlsZWRUcmFuc2Zvcm1hYmxlRWxlbWVudDE0cGFyc2VBdHRyaWJ1
dGVFUktOU18xM1F1YWxpZmllZE5hbWVFUktOM1dURjEyQXRvbWljU3RyaW5nRQotX19aTjdXZWJD
b3JlMTZTVkdTdHlsZWRFbGVtZW50MTRwYXJzZUF0dHJpYnV0ZUVSS05TXzEzUXVhbGlmaWVkTmFt
ZUVSS04zV1RGMTJBdG9taWNTdHJpbmdFCitfX1pON1dlYkNvcmUxNlNWR0VsZW1lbnQxNHBhcnNl
QXR0cmlidXRlRVJLTlNfMTNRdWFsaWZpZWROYW1lRVJLTjNXVEYxMkF0b21pY1N0cmluZ0UKIF9f
Wk43V2ViQ29yZTI5U1ZHU3R5bGVkVHJhbnNmb3JtYWJsZUVsZW1lbnQxOXN2Z0F0dHJpYnV0ZUNo
YW5nZWRFUktOU18xM1F1YWxpZmllZE5hbWVFCi1fX1pON1dlYkNvcmUxNlNWR1N0eWxlZEVsZW1l
bnQxOXN2Z0F0dHJpYnV0ZUNoYW5nZWRFUktOU18xM1F1YWxpZmllZE5hbWVFCi1fX1pOSzdXZWJD
b3JlMTZTVkdTdHlsZWRFbGVtZW50OWNsYXNzTmFtZUV2CitfX1pON1dlYkNvcmUxNlNWR0VsZW1l
bnQxOXN2Z0F0dHJpYnV0ZUNoYW5nZWRFUktOU18xM1F1YWxpZmllZE5hbWVFCitfX1pOSzdXZWJD
b3JlMTZTVkdFbGVtZW50OWNsYXNzTmFtZUV2CiBfX1pON1dlYkNvcmUxMFNWR0VsZW1lbnQyMWZp
bmlzaFBhcnNpbmdDaGlsZHJlbkV2CiBfX1pOSzdXZWJDb3JlMTBTVkdFbGVtZW50MjRpc091dGVy
bW9zdFNWR1NWR0VsZW1lbnRFdgogX19aTjdXZWJDb3JlMTBTVkdFbGVtZW50MjZzZW5kU1ZHTG9h
ZEV2ZW50SWZQb3NzaWJsZUViCkBAIC0xMDE1Myw3ICsxMDE1Miw3IEBAIF9fWk43V2ViQ29yZTE2
SFRNTFN0eWxlRWxlbWVudDExcmVtb3ZlZEZyb21FUE5TXzEzQ29udGFpbmVyTm9kZUUKIF9fWk43
V2ViQ29yZTE1SFRNTEZvcm1FbGVtZW50MTFyZW1vdmVkRnJvbUVQTlNfMTNDb250YWluZXJOb2Rl
RQogX19aTjdXZWJDb3JlMjFGb3JtQXNzb2NpYXRlZEVsZW1lbnQxOWZvcm1SZW1vdmVkRnJvbVRy
ZWVFUEtOU180Tm9kZUUKIF9fWk43V2ViQ29yZTEzU1ZHU1ZHRWxlbWVudDExcmVtb3ZlZEZyb21F
UE5TXzEzQ29udGFpbmVyTm9kZUUKLV9fWk43V2ViQ29yZTE2U1ZHU3R5bGVkRWxlbWVudDExcmVt
b3ZlZEZyb21FUE5TXzEzQ29udGFpbmVyTm9kZUUKK19fWk43V2ViQ29yZTE2U1ZHRWxlbWVudDEx
cmVtb3ZlZEZyb21FUE5TXzEzQ29udGFpbmVyTm9kZUUKIF9fWk43V2ViQ29yZTEwU1ZHRWxlbWVu
dDExcmVtb3ZlZEZyb21FUE5TXzEzQ29udGFpbmVyTm9kZUUKIF9fWk43V2ViQ29yZTE0U1ZHUGF0
aEVsZW1lbnQxMXJlbW92ZWRGcm9tRVBOU18xM0NvbnRhaW5lck5vZGVFCiBfX1pON1dlYkNvcmUx
NUhUTUxGb3JtRWxlbWVudDM3Y29weU5vbkF0dHJpYnV0ZVByb3BlcnRpZXNGcm9tRWxlbWVudEVS
S05TXzdFbGVtZW50RQpAQCAtMTAxNjYsOCArMTAxNjUsOCBAQCBfX1pOSzdXZWJDb3JlMTdTTUlM
VGltZUNvbnRhaW5lcjlpc1N0YXJ0ZWRFdgogX19aTjdXZWJDb3JlMTdTTUlMVGltZUNvbnRhaW5l
cjViZWdpbkV2CiBfX1pON1dlYkNvcmUxN1NNSUxUaW1lQ29udGFpbmVyMTZ1cGRhdGVBbmltYXRp
b25zRU5TXzhTTUlMVGltZUViCiBfX1pOSzdXZWJDb3JlMjFTVkdEb2N1bWVudEV4dGVuc2lvbnMx
OGhhc1BlbmRpbmdSZXNvdXJjZUVSS04zV1RGMTJBdG9taWNTdHJpbmdFCi1fX1pOM1dURjlIYXNo
VGFibGVJUE43V2ViQ29yZTE2U1ZHU3R5bGVkRWxlbWVudEVTM19OU18xN0lkZW50aXR5RXh0cmFj
dG9yRU5TXzdQdHJIYXNoSVMzX0VFTlNfMTBIYXNoVHJhaXRzSVMzX0VFUzhfRTNhZGRJTlNfMjJJ
ZGVudGl0eUhhc2hUcmFuc2xhdG9ySVM2X0VFUzNfUzNfRUVOU18xOEhhc2hUYWJsZUFkZFJlc3Vs
dElOU18xN0hhc2hUYWJsZUl0ZXJhdG9ySVMzX1MzX1M0X1M2X1M4X1M4X0VFRUVSS1QwX1JLVDFf
Ci1fX1pOM1dURjlIYXNoVGFibGVJUE43V2ViQ29yZTE2U1ZHU3R5bGVkRWxlbWVudEVTM19OU18x
N0lkZW50aXR5RXh0cmFjdG9yRU5TXzdQdHJIYXNoSVMzX0VFTlNfMTBIYXNoVHJhaXRzSVMzX0VF
UzhfRTZyZWhhc2hFaQorX19aTjNXVEY5SGFzaFRhYmxlSVBON1dlYkNvcmUxNlNWR0VsZW1lbnRF
UzNfTlNfMTdJZGVudGl0eUV4dHJhY3RvckVOU183UHRySGFzaElTM19FRU5TXzEwSGFzaFRyYWl0
c0lTM19FRVM4X0UzYWRkSU5TXzIySWRlbnRpdHlIYXNoVHJhbnNsYXRvcklTNl9FRVMzX1MzX0VF
TlNfMThIYXNoVGFibGVBZGRSZXN1bHRJTlNfMTdIYXNoVGFibGVJdGVyYXRvcklTM19TM19TNF9T
Nl9TOF9TOF9FRUVFUktUMF9SS1QxXworX19aTjNXVEY5SGFzaFRhYmxlSVBON1dlYkNvcmUxNlNW
R0VsZW1lbnRFUzNfTlNfMTdJZGVudGl0eUV4dHJhY3RvckVOU183UHRySGFzaElTM19FRU5TXzEw
SGFzaFRyYWl0c0lTM19FRVM4X0U2cmVoYXNoRWkKIF9fWk43V2ViQ29yZTIxanNIVE1MRWxlbWVu
dENoaWxkcmVuRVBOM0pTQzlFeGVjU3RhdGVFTlMwXzdKU1ZhbHVlRU5TMF8xMlByb3BlcnR5TmFt
ZUUKIF9fWk43V2ViQ29yZTE2SlNIVE1MQ29sbGVjdGlvbjZjcmVhdGVFUE4zSlNDOVN0cnVjdHVy
ZUVQTlNfMTdKU0RPTUdsb2JhbE9iamVjdEVOM1dURjEwUGFzc1JlZlB0cklOU18xNEhUTUxDb2xs
ZWN0aW9uRUVFCiBfX1pON1dlYkNvcmUxNkpTSFRNTENvbGxlY3Rpb25DMUVQTjNKU0M5U3RydWN0
dXJlRVBOU18xN0pTRE9NR2xvYmFsT2JqZWN0RU4zV1RGMTBQYXNzUmVmUHRySU5TXzE0SFRNTENv
bGxlY3Rpb25FRUUKQEAgLTEwNTA1LDcgKzEwNTA0LDcgQEAgX19aTks3V2ViQ29yZTExUmVuZGVy
VmlkZW8yN2NvbXB1dGVSZXBsYWNlZExvZ2ljYWxXaWR0aEVOU18yMlNob3VsZENvbXB1dGVQcmVm
ZXIKIF9fWk5LN1dlYkNvcmUxMVJlbmRlclZpZGVvMjhjb21wdXRlUmVwbGFjZWRMb2dpY2FsSGVp
Z2h0RXYKIF9fWk43V2ViQ29yZTI3YmFja2dyb3VuZFBvc2l0aW9uU2hvcnRoYW5kRXYKIF9fWk43
V2ViQ29yZTEzU1ZHU1ZHRWxlbWVudDE0Y3JlYXRlUmVuZGVyZXJFUE5TXzExUmVuZGVyQXJlbmFF
UE5TXzExUmVuZGVyU3R5bGVFCi1fX1pON1dlYkNvcmUxM1JlbmRlclNWR1Jvb3RDMUVQTlNfMTZT
VkdTdHlsZWRFbGVtZW50RQorX19aTjdXZWJDb3JlMTNSZW5kZXJTVkdSb290QzFFUE5TXzE2U1ZH
RWxlbWVudEUKIF9fWk43V2ViQ29yZTEzUmVuZGVyU1ZHUm9vdDE1c3R5bGVXaWxsQ2hhbmdlRU5T
XzE1U3R5bGVEaWZmZXJlbmNlRVBLTlNfMTFSZW5kZXJTdHlsZUUKIF9fWk43V2ViQ29yZTEzUmVu
ZGVyU1ZHUm9vdDE0c3R5bGVEaWRDaGFuZ2VFTlNfMTVTdHlsZURpZmZlcmVuY2VFUEtOU18xMVJl
bmRlclN0eWxlRQogX19aTks3V2ViQ29yZTEzUmVuZGVyU1ZHUm9vdDlpc1NWR1Jvb3RFdgpAQCAt
MTA1MTUsMTEgKzEwNTE0LDExIEBAIF9fWk5LN1dlYkNvcmUxM1JlbmRlclNWR1Jvb3QxNWNhbkhh
dmVDaGlsZHJlbkV2CiBfX1pOSzdXZWJDb3JlMTBTVkdFbGVtZW50MjVjaGlsZFNob3VsZENyZWF0
ZVJlbmRlcmVyRVJLTlNfMjBOb2RlUmVuZGVyaW5nQ29udGV4dEUKIF9fWk5LN1dlYkNvcmUxNFNW
R1BvbHlFbGVtZW50N2lzVmFsaWRFdgogX19aTks3V2ViQ29yZThTVkdUZXN0czdpc1ZhbGlkRXYK
LV9fWk43V2ViQ29yZTE2U1ZHU3R5bGVkRWxlbWVudDM2Y29sbGVjdFN0eWxlRm9yUHJlc2VudGF0
aW9uQXR0cmlidXRlRVJLTlNfMTNRdWFsaWZpZWROYW1lRVJLTjNXVEYxMkF0b21pY1N0cmluZ0VQ
TlNfMjNNdXRhYmxlU3R5bGVQcm9wZXJ0eVNldEUKK19fWk43V2ViQ29yZTE2U1ZHRWxlbWVudDM2
Y29sbGVjdFN0eWxlRm9yUHJlc2VudGF0aW9uQXR0cmlidXRlRVJLTlNfMTNRdWFsaWZpZWROYW1l
RVJLTjNXVEYxMkF0b21pY1N0cmluZ0VQTlNfMjNNdXRhYmxlU3R5bGVQcm9wZXJ0eVNldEUKIF9f
Wk43V2ViQ29yZTE0U1ZHUmVuZGVyU3R5bGUxMnNldEZpbGxQYWludEVOU184U1ZHUGFpbnQxMlNW
R1BhaW50VHlwZUVSS05TXzVDb2xvckVSS04zV1RGNlN0cmluZ0ViYgogX19aTjdXZWJDb3JlN0Rh
dGFSZWZJTlNfMTNTdHlsZUZpbGxEYXRhRUU2YWNjZXNzRXYKIF9fWk43V2ViQ29yZTEzU3R5bGVG
aWxsRGF0YUMxRVJLUzBfCi1fX1pON1dlYkNvcmUxNlNWR1N0eWxlZEVsZW1lbnQxNnJlbmRlcmVy
SXNOZWVkZWRFUktOU18yME5vZGVSZW5kZXJpbmdDb250ZXh0RQorX19aTjdXZWJDb3JlMTZTVkdF
bGVtZW50MTZyZW5kZXJlcklzTmVlZGVkRVJLTlNfMjBOb2RlUmVuZGVyaW5nQ29udGV4dEUKIF9f
Wk43V2ViQ29yZTI5U1ZHU3R5bGVkVHJhbnNmb3JtYWJsZUVsZW1lbnQxNGNyZWF0ZVJlbmRlcmVy
RVBOU18xMVJlbmRlckFyZW5hRVBOU18xMVJlbmRlclN0eWxlRQogX19aTjdXZWJDb3JlMTNSZW5k
ZXJTVkdQYXRoQzFFUE5TXzI5U1ZHU3R5bGVkVHJhbnNmb3JtYWJsZUVsZW1lbnRFCiBfX1pON1dl
YkNvcmUyMFJlbmRlclNWR01vZGVsT2JqZWN0MTVzdHlsZVdpbGxDaGFuZ2VFTlNfMTVTdHlsZURp
ZmZlcmVuY2VFUEtOU18xMVJlbmRlclN0eWxlRQpAQCAtMTA1NDgsMTMgKzEwNTQ3LDEzIEBAIF9f
Wk5LN1dlYkNvcmUxNFNWR1BhdGhFbGVtZW50N2lzVmFsaWRFdgogX19aTjdXZWJDb3JlMTRTVkdQ
YXRoRWxlbWVudDE0Y3JlYXRlUmVuZGVyZXJFUE5TXzExUmVuZGVyQXJlbmFFUE5TXzExUmVuZGVy
U3R5bGVFCiBfX1pOSzdXZWJDb3JlMTRTVkdEZWZzRWxlbWVudDdpc1ZhbGlkRXYKIF9fWk43V2Vi
Q29yZTE0U1ZHRGVmc0VsZW1lbnQxNGNyZWF0ZVJlbmRlcmVyRVBOU18xMVJlbmRlckFyZW5hRVBO
U18xMVJlbmRlclN0eWxlRQotX19aTjdXZWJDb3JlMjRSZW5kZXJTVkdIaWRkZW5Db250YWluZXJD
MUVQTlNfMTZTVkdTdHlsZWRFbGVtZW50RQorX19aTjdXZWJDb3JlMjRSZW5kZXJTVkdIaWRkZW5D
b250YWluZXJDMUVQTlNfMTZTVkdFbGVtZW50RQogX19aTks3V2ViQ29yZTE4UmVuZGVyU1ZHQ29u
dGFpbmVyMTRpc1NWR0NvbnRhaW5lckV2CiBfX1pOSzdXZWJDb3JlMThSZW5kZXJTVkdDb250YWlu
ZXIxNXZpcnR1YWxDaGlsZHJlbkV2CiBfX1pOSzdXZWJDb3JlMTBTVkdFbGVtZW50N2lzVmFsaWRF
dgogX19aTjdXZWJDb3JlMjRTVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQxNGNyZWF0ZVJlbmRlcmVy
RVBOU18xMVJlbmRlckFyZW5hRVBOU18xMVJlbmRlclN0eWxlRQogX19aTjdXZWJDb3JlMzFSZW5k
ZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50QzFFUE5TXzI0U1ZHTGluZWFyR3JhZGllbnRFbGVt
ZW50RQotX19aTjdXZWJDb3JlMjZSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lckMyRVBOU18xNlNW
R1N0eWxlZEVsZW1lbnRFCitfX1pON1dlYkNvcmUyNlJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVy
QzJFUE5TXzE2U1ZHRWxlbWVudEUKIF9fWk43V2ViQ29yZTI0TGluZWFyR3JhZGllbnRBdHRyaWJ1
dGVzQzJFdgogX19aTjdXZWJDb3JlMjZSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lcjE0c3R5bGVE
aWRDaGFuZ2VFTlNfMTVTdHlsZURpZmZlcmVuY2VFUEtOU18xMVJlbmRlclN0eWxlRQogX19aTjdX
ZWJDb3JlMjZSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lcjE2cmVnaXN0ZXJSZXNvdXJjZUV2CkBA
IC0xMDY3MSw3ICsxMDY3MCw3IEBAIF9fWk43V2ViQ29yZTEzU1ZHU1ZHRWxlbWVudDMxcHJlc2Vy
dmVBc3BlY3RSYXRpb1Byb3BlcnR5SW5mb0V2CiBfX1pON1dlYkNvcmUxNVNWR0ZpdFRvVmlld0Jv
eDIydmlld0JveFRvVmlld1RyYW5zZm9ybUVSS05TXzlGbG9hdFJlY3RFUktOU18yMlNWR1ByZXNl
cnZlQXNwZWN0UmF0aW9FZmYKIF9fWk43V2ViQ29yZTE2U1ZHUmVuZGVyU3VwcG9ydDE0bGF5b3V0
Q2hpbGRyZW5FUE5TXzEyUmVuZGVyT2JqZWN0RWIKIF9fWk43V2ViQ29yZTEzUmVuZGVyU1ZHUm9v
dDIxbmVlZHNCb3VuZGFyaWVzVXBkYXRlRXYKLV9fWk5LN1dlYkNvcmUxNlNWR1N0eWxlZEVsZW1l
bnQxOGlzU1ZHU3R5bGVkRWxlbWVudEV2CitfX1pOSzdXZWJDb3JlMTZTVkdFbGVtZW50MThpc1NW
R0VsZW1lbnRFdgogX19aTjdXZWJDb3JlMTRSZW5kZXJTVkdTaGFwZTZsYXlvdXRFdgogX19aTjdX
ZWJDb3JlMTNSZW5kZXJTVkdQYXRoMjJ1cGRhdGVTaGFwZUZyb21FbGVtZW50RXYKIF9fWk43V2Vi
Q29yZTE0UmVuZGVyU1ZHU2hhcGUyMnVwZGF0ZVNoYXBlRnJvbUVsZW1lbnRFdgpAQCAtMTExODks
OCArMTExODgsOCBAQCBfX1pOSzdXZWJDb3JlMTlDYWNoZWRDU1NTdHlsZVNoZWV0MTNwdXJnZVBy
aW9yaXR5RXYKIF9fWk43V2ViQ29yZTE1UHVyZ2VhYmxlQnVmZmVyMTNtYWtlUHVyZ2VhYmxlRWIK
IF9fWk43V2ViQ29yZTlDbGFzc0xpc3REMEV2CiBfX1pON1dlYkNvcmUxMlN0eWxlRWxlbWVudDE5
cmVtb3ZlZEZyb21Eb2N1bWVudEVQTlNfOERvY3VtZW50RVBOU183RWxlbWVudEUKLV9fWk4zV1RG
OUhhc2hUYWJsZUlQTjdXZWJDb3JlMTZTVkdTdHlsZWRFbGVtZW50RVMzX05TXzE3SWRlbnRpdHlF
eHRyYWN0b3JFTlNfN1B0ckhhc2hJUzNfRUVOU18xMEhhc2hUcmFpdHNJUzNfRUVTOF9FNmxvb2t1
cElOU18yMklkZW50aXR5SGFzaFRyYW5zbGF0b3JJUzZfRUVTM19FRVBTM19SS1QwXwotX19aTjNX
VEY3SGFzaFNldElQTjdXZWJDb3JlMTZTVkdTdHlsZWRFbGVtZW50RU5TXzdQdHJIYXNoSVMzX0VF
TlNfMTBIYXNoVHJhaXRzSVMzX0VFRTZyZW1vdmVFUktTM18KK19fWk4zV1RGOUhhc2hUYWJsZUlQ
TjdXZWJDb3JlMTZTVkdFbGVtZW50RVMzX05TXzE3SWRlbnRpdHlFeHRyYWN0b3JFTlNfN1B0ckhh
c2hJUzNfRUVOU18xMEhhc2hUcmFpdHNJUzNfRUVTOF9FNmxvb2t1cElOU18yMklkZW50aXR5SGFz
aFRyYW5zbGF0b3JJUzZfRUVTM19FRVBTM19SS1QwXworX19aTjNXVEY3SGFzaFNldElQTjdXZWJD
b3JlMTZTVkdFbGVtZW50RU5TXzdQdHJIYXNoSVMzX0VFTlNfMTBIYXNoVHJhaXRzSVMzX0VFRTZy
ZW1vdmVFUktTM18KIF9fWk43V2ViQ29yZTE5Q2FjaGVkQ1NTU3R5bGVTaGVldEQwRXYKIF9fWk43
V2ViQ29yZTE5Q2FjaGVkQ1NTU3R5bGVTaGVldEQyRXYKIF9fWlRobjQ4X043V2ViQ29yZThET01U
aW1lcjE2Y29udGV4dERlc3Ryb3llZEV2CkBAIC0xMTM2MSwyMiArMTEzNjAsMjIgQEAgX19aTjdX
ZWJDb3JlMThjcmVhdGVKU1NWR1dyYXBwZXJFUE4zSlNDOUV4ZWNTdGF0ZUVQTlNfMTdKU0RPTUds
b2JhbE9iamVjdEVOM1dURjEKIF9fWk43V2ViQ29yZUwyNmNyZWF0ZVNWR1NWR0VsZW1lbnRXcmFw
cGVyRVBOM0pTQzlFeGVjU3RhdGVFUE5TXzE3SlNET01HbG9iYWxPYmplY3RFTjNXVEYxMFBhc3NS
ZWZQdHJJTlNfMTBTVkdFbGVtZW50RUVFCiBfX1pON1dlYkNvcmUxNWdldERPTVN0cnVjdHVyZUlO
U18xNUpTU1ZHU1ZHRWxlbWVudEVFRVBOM0pTQzlTdHJ1Y3R1cmVFUE5TMl85RXhlY1N0YXRlRVBO
U18xN0pTRE9NR2xvYmFsT2JqZWN0RQogX19aTjdXZWJDb3JlMTVKU1NWR1NWR0VsZW1lbnQxNWNy
ZWF0ZVByb3RvdHlwZUVQTjNKU0M5RXhlY1N0YXRlRVBOUzFfMTRKU0dsb2JhbE9iamVjdEUKLV9f
Wk43V2ViQ29yZTI3SlNTVkdTdHlsZWRFbGVtZW50UHJvdG90eXBlNHNlbGZFUE4zSlNDOUV4ZWNT
dGF0ZUVQTlMxXzE0SlNHbG9iYWxPYmplY3RFCi1fX1pON1dlYkNvcmUxNWdldERPTVN0cnVjdHVy
ZUlOU18xOEpTU1ZHU3R5bGVkRWxlbWVudEVFRVBOM0pTQzlTdHJ1Y3R1cmVFUE5TMl85RXhlY1N0
YXRlRVBOU18xN0pTRE9NR2xvYmFsT2JqZWN0RQotX19aTjdXZWJDb3JlMThKU1NWR1N0eWxlZEVs
ZW1lbnQxNWNyZWF0ZVByb3RvdHlwZUVQTjNKU0M5RXhlY1N0YXRlRVBOUzFfMTRKU0dsb2JhbE9i
amVjdEUKK19fWk43V2ViQ29yZTI3SlNTVkdFbGVtZW50UHJvdG90eXBlNHNlbGZFUE4zSlNDOUV4
ZWNTdGF0ZUVQTlMxXzE0SlNHbG9iYWxPYmplY3RFCitfX1pON1dlYkNvcmUxNWdldERPTVN0cnVj
dHVyZUlOU18xOEpTU1ZHRWxlbWVudEVFRVBOM0pTQzlTdHJ1Y3R1cmVFUE5TMl85RXhlY1N0YXRl
RVBOU18xN0pTRE9NR2xvYmFsT2JqZWN0RQorX19aTjdXZWJDb3JlMThKU1NWR0VsZW1lbnQxNWNy
ZWF0ZVByb3RvdHlwZUVQTjNKU0M5RXhlY1N0YXRlRVBOUzFfMTRKU0dsb2JhbE9iamVjdEUKIF9f
Wk43V2ViQ29yZTIxSlNTVkdFbGVtZW50UHJvdG90eXBlNHNlbGZFUE4zSlNDOUV4ZWNTdGF0ZUVQ
TlMxXzE0SlNHbG9iYWxPYmplY3RFCiBfX1pON1dlYkNvcmUxNWdldERPTVN0cnVjdHVyZUlOU18x
MkpTU1ZHRWxlbWVudEVFRVBOM0pTQzlTdHJ1Y3R1cmVFUE5TMl85RXhlY1N0YXRlRVBOU18xN0pT
RE9NR2xvYmFsT2JqZWN0RQogX19aTjdXZWJDb3JlMTJKU1NWR0VsZW1lbnQxNWNyZWF0ZVByb3Rv
dHlwZUVQTjNKU0M5RXhlY1N0YXRlRVBOUzFfMTRKU0dsb2JhbE9iamVjdEUKIF9fWk43V2ViQ29y
ZTE1SlNTVkdTVkdFbGVtZW50NmNyZWF0ZUVQTjNKU0M5U3RydWN0dXJlRVBOU18xN0pTRE9NR2xv
YmFsT2JqZWN0RU4zV1RGMTBQYXNzUmVmUHRySU5TXzEzU1ZHU1ZHRWxlbWVudEVFRQogX19aTjdX
ZWJDb3JlMTVKU1NWR1NWR0VsZW1lbnRDMUVQTjNKU0M5U3RydWN0dXJlRVBOU18xN0pTRE9NR2xv
YmFsT2JqZWN0RU4zV1RGMTBQYXNzUmVmUHRySU5TXzEzU1ZHU1ZHRWxlbWVudEVFRQotX19aTjdX
ZWJDb3JlMThKU1NWR1N0eWxlZEVsZW1lbnRDMkVQTjNKU0M5U3RydWN0dXJlRVBOU18xN0pTRE9N
R2xvYmFsT2JqZWN0RU4zV1RGMTBQYXNzUmVmUHRySU5TXzE2U1ZHU3R5bGVkRWxlbWVudEVFRQor
X19aTjdXZWJDb3JlMThKU1NWR0VsZW1lbnRDMkVQTjNKU0M5U3RydWN0dXJlRVBOU18xN0pTRE9N
R2xvYmFsT2JqZWN0RU4zV1RGMTBQYXNzUmVmUHRySU5TXzE2U1ZHRWxlbWVudEVFRQogX19aTjdX
ZWJDb3JlMTJKU1NWR0VsZW1lbnRDMkVQTjNKU0M5U3RydWN0dXJlRVBOU18xN0pTRE9NR2xvYmFs
T2JqZWN0RU4zV1RGMTBQYXNzUmVmUHRySU5TXzEwU1ZHRWxlbWVudEVFRQogX19aTjdXZWJDb3Jl
MTVKU1NWR1NWR0VsZW1lbnQxNGZpbmlzaENyZWF0aW9uRVJOM0pTQzJWTUUKLV9fWk43V2ViQ29y
ZTE4SlNTVkdTdHlsZWRFbGVtZW50MTRmaW5pc2hDcmVhdGlvbkVSTjNKU0MyVk1FCitfX1pON1dl
YkNvcmUxOEpTU1ZHRWxlbWVudDE0ZmluaXNoQ3JlYXRpb25FUk4zSlNDMlZNRQogX19aTjdXZWJD
b3JlMTJKU1NWR0VsZW1lbnQxNGZpbmlzaENyZWF0aW9uRVJOM0pTQzJWTUUKIF9fWk43V2ViQ29y
ZTEyY2FjaGVXcmFwcGVySU5TXzEzU1ZHU1ZHRWxlbWVudEVFRXZQTlNfMTVET01XcmFwcGVyV29y
bGRFUFRfUE5TXzEySlNET01XcmFwcGVyRQogX19aTjdXZWJDb3JlMTVKU1NWR1NWR0VsZW1lbnQx
OGdldE93blByb3BlcnR5U2xvdEVQTjNKU0M2SlNDZWxsRVBOUzFfOUV4ZWNTdGF0ZUVOUzFfMTJQ
cm9wZXJ0eU5hbWVFUk5TMV8xMlByb3BlcnR5U2xvdEUKLV9fWk43V2ViQ29yZTE4SlNTVkdTdHls
ZWRFbGVtZW50MThnZXRPd25Qcm9wZXJ0eVNsb3RFUE4zSlNDNkpTQ2VsbEVQTlMxXzlFeGVjU3Rh
dGVFTlMxXzEyUHJvcGVydHlOYW1lRVJOUzFfMTJQcm9wZXJ0eVNsb3RFCitfX1pON1dlYkNvcmUx
OEpTU1ZHRWxlbWVudDE4Z2V0T3duUHJvcGVydHlTbG90RVBOM0pTQzZKU0NlbGxFUE5TMV85RXhl
Y1N0YXRlRU5TMV8xMlByb3BlcnR5TmFtZUVSTlMxXzEyUHJvcGVydHlTbG90RQogX19aTjdXZWJD
b3JlMTJKU1NWR0VsZW1lbnQxOGdldE93blByb3BlcnR5U2xvdEVQTjNKU0M2SlNDZWxsRVBOUzFf
OUV4ZWNTdGF0ZUVOUzFfMTJQcm9wZXJ0eU5hbWVFUk5TMV8xMlByb3BlcnR5U2xvdEUKIF9fWk4z
SlNDMThnZXRTdGF0aWNWYWx1ZVNsb3RJTjdXZWJDb3JlMTJKU1NWR0VsZW1lbnRFTlMxXzlKU0Vs
ZW1lbnRFRUViUE5TXzlFeGVjU3RhdGVFUEtOU185SGFzaFRhYmxlRVBUX05TXzEyUHJvcGVydHlO
YW1lRVJOU18xMlByb3BlcnR5U2xvdEUKIF9fWk43V2ViQ29yZTI0SlNTVkdTVkdFbGVtZW50UHJv
dG90eXBlMThnZXRPd25Qcm9wZXJ0eVNsb3RFUE4zSlNDNkpTQ2VsbEVQTlMxXzlFeGVjU3RhdGVF
TlMxXzEyUHJvcGVydHlOYW1lRVJOUzFfMTJQcm9wZXJ0eVNsb3RFCkBAIC0xMzYxMSw3ICsxMzYx
MCw3IEBAIF9fWk5LN1dlYkNvcmU5RmlsbExheWVyOXhQb3NpdGlvbkV2CiBfX1pOSzdXZWJDb3Jl
OUZpbGxMYXllcjl5UG9zaXRpb25FdgogX19aTks3V2ViQ29yZTlGaWxsTGF5ZXIxMHNpemVMZW5n
dGhFdgogX19aTkszV1RGMTJTdHJpbmdBcHBlbmRJUEtjTlNfNlN0cmluZ0VFY3ZOU18xMkF0b21p
Y1N0cmluZ0VFdgotX19aTks3V2ViQ29yZTE2U1ZHU3R5bGVkRWxlbWVudDIyaW5zdGFuY2VVcGRh
dGVzQmxvY2tlZEV2CitfX1pOSzdXZWJDb3JlMTZTVkdFbGVtZW50MjJpbnN0YW5jZVVwZGF0ZXNC
bG9ja2VkRXYKIF9fWk5LN1dlYkNvcmUxMFNWR0VsZW1lbnQxOWluc3RhbmNlc0ZvckVsZW1lbnRF
dgogX19aTjdXZWJDb3JlMTFTVkdHRWxlbWVudDE0cGFyc2VBdHRyaWJ1dGVFUktOU18xM1F1YWxp
ZmllZE5hbWVFUktOM1dURjEyQXRvbWljU3RyaW5nRQogX19aTjdXZWJDb3JlMTFTVkdHRWxlbWVu
dDIwaXNTdXBwb3J0ZWRBdHRyaWJ1dGVFUktOU18xM1F1YWxpZmllZE5hbWVFCkBAIC0xNjgyNyw4
ICsxNjgyNiw4IEBAIF9fWk4zV1RGOUhhc2hUYWJsZUlQTjdXZWJDb3JlMTFSZW5kZXJMYXllckVT
M19OU18xN0lkZW50aXR5RXh0cmFjdG9yRU5TXzdQdHJIYXNoCiBfX1pOSzdXZWJDb3JlMTdLZXlm
cmFtZUFuaW1hdGlvbjIzaGFzQW5pbWF0aW9uRm9yUHJvcGVydHlFTlNfMTNDU1NQcm9wZXJ0eUlE
RQogX19aTjdXZWJDb3JlMTVHcmFwaGljc0xheWVyQ0EyMXNldEFuaW1hdGlvbktleWZyYW1lc0VS
S05TXzE3S2V5ZnJhbWVWYWx1ZUxpc3RFUEtOU185QW5pbWF0aW9uRVBOU18xOVBsYXRmb3JtQ0FB
bmltYXRpb25FCiBfX1pON1dlYkNvcmUxOVBsYXRmb3JtQ0FBbmltYXRpb245c2V0VmFsdWVzRVJL
TjNXVEY2VmVjdG9ySWZMbTBFTlMxXzE1Q3Jhc2hPbk92ZXJmbG93RUVFCi1fX1pON1dlYkNvcmUy
M2pzU1ZHU3R5bGVkRWxlbWVudFN0eWxlRVBOM0pTQzlFeGVjU3RhdGVFTlMwXzdKU1ZhbHVlRU5T
MF8xMlByb3BlcnR5TmFtZUUKLV9fWk43V2ViQ29yZTI3SlNTVkdTdHlsZWRFbGVtZW50UHJvdG90
eXBlMThnZXRPd25Qcm9wZXJ0eVNsb3RFUE4zSlNDNkpTQ2VsbEVQTlMxXzlFeGVjU3RhdGVFTlMx
XzEyUHJvcGVydHlOYW1lRVJOUzFfMTJQcm9wZXJ0eVNsb3RFCitfX1pON1dlYkNvcmUyM2pzU1ZH
RWxlbWVudFN0eWxlRVBOM0pTQzlFeGVjU3RhdGVFTlMwXzdKU1ZhbHVlRU5TMF8xMlByb3BlcnR5
TmFtZUUKK19fWk43V2ViQ29yZTI3SlNTVkdFbGVtZW50UHJvdG90eXBlMThnZXRPd25Qcm9wZXJ0
eVNsb3RFUE4zSlNDNkpTQ2VsbEVQTlMxXzlFeGVjU3RhdGVFTlMxXzEyUHJvcGVydHlOYW1lRVJO
UzFfMTJQcm9wZXJ0eVNsb3RFCiBfX1pON1dlYkNvcmVMMTVkZXNjQ29uc3RydWN0b3JFUktOU18x
M1F1YWxpZmllZE5hbWVFUE5TXzhEb2N1bWVudEViCiBfX1pON1dlYkNvcmUxNFNWR0Rlc2NFbGVt
ZW50NmNyZWF0ZUVSS05TXzEzUXVhbGlmaWVkTmFtZUVQTlNfOERvY3VtZW50RQogX19aTjdXZWJD
b3JlTDI3Y3JlYXRlU1ZHRGVzY0VsZW1lbnRXcmFwcGVyRVBOM0pTQzlFeGVjU3RhdGVFUE5TXzE3
SlNET01HbG9iYWxPYmplY3RFTjNXVEYxMFBhc3NSZWZQdHJJTlNfMTBTVkdFbGVtZW50RUVFCkBA
IC0xODc4MSw3ICsxODc4MCw3IEBAIF9fWk43V2ViQ29yZTIzU1ZHRkVDb2xvck1hdHJpeEVsZW1l
bnQzMmRldGFjaEFuaW1hdGVkVmFsdWVzTGlzdFdyYXBwZXJzRWoKIF9fWk4zV1RGNlZlY3Rvcklm
TG0wRU5TXzE1Q3Jhc2hPbk92ZXJmbG93RUVhU0VSS1MyXwogX19aTjdXZWJDb3JlMzZTVkdGaWx0
ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMxNnJlbmRlcmVySXNOZWVkZWRFUktOU18yME5v
ZGVSZW5kZXJpbmdDb250ZXh0RQogX19aTjdXZWJDb3JlMzZTVkdGaWx0ZXJQcmltaXRpdmVTdGFu
ZGFyZEF0dHJpYnV0ZXMxNGNyZWF0ZVJlbmRlcmVyRVBOU18xMVJlbmRlckFyZW5hRVBOU18xMVJl
bmRlclN0eWxlRQotX19aTjdXZWJDb3JlMjRSZW5kZXJTVkdIaWRkZW5Db250YWluZXJDMkVQTlNf
MTZTVkdTdHlsZWRFbGVtZW50RQorX19aTjdXZWJDb3JlMjRSZW5kZXJTVkdIaWRkZW5Db250YWlu
ZXJDMkVQTlNfMTZTVkdFbGVtZW50RQogX19aTjdXZWJDb3JlMzJSZW5kZXJTVkdSZXNvdXJjZUZp
bHRlclByaW1pdGl2ZTE0c3R5bGVEaWRDaGFuZ2VFTlNfMTVTdHlsZURpZmZlcmVuY2VFUEtOU18x
MVJlbmRlclN0eWxlRQogX19aVGhuMTI4X043V2ViQ29yZTIzUmVuZGVyU1ZHUmVzb3VyY2VGaWx0
ZXIyNXJlbW92ZUFsbENsaWVudHNGcm9tQ2FjaGVFYgogX19aTjdXZWJDb3JlTDE1bWFza0NvbnN0
cnVjdG9yRVJLTlNfMTNRdWFsaWZpZWROYW1lRVBOU184RG9jdW1lbnRFYgpAQCAtMjM3NDksNyAr
MjM3NDgsNyBAQCBfX1pUVk43V2ViQ29yZTEzU1ZHU2V0RWxlbWVudEUKIF9fWlRWTjdXZWJDb3Jl
MTRTVkdTTUlMRWxlbWVudEUKIF9fWlRWTjdXZWJDb3JlMjJDb25kaXRpb25FdmVudExpc3RlbmVy
RQogX19aVFZON1dlYkNvcmUxNFNWR1N0b3BFbGVtZW50RQotX19aVFZON1dlYkNvcmUxNlNWR1N0
eWxlZEVsZW1lbnRFCitfX1pUVk43V2ViQ29yZTE2U1ZHRWxlbWVudEUKIF9fWlRWTjdXZWJDb3Jl
MjlTVkdHcmFwaGljc0VsZW1lbnRFCiBfX1pUVE43V2ViQ29yZTI5U1ZHR3JhcGhpY3NFbGVtZW50
RQogX19aVENON1dlYkNvcmUyOVNWR0dyYXBoaWNzRWxlbWVudEUxNDRfTlNfMTZTVkdUcmFuc2Zv
cm1hYmxlRQpAQCAtMjk2MjEsMTEgKzI5NjIwLDExIEBAIF9fWlpON1dlYkNvcmUxNFNWR1N0b3BF
bGVtZW50MjJhdHRyaWJ1dGVUb1Byb3BlcnR5TWFwRXZFMjRzX2F0dHJpYnV0ZVRvUHJvcGVydHlN
CiBfX1pHVlpON1dlYkNvcmUxNFNWR1N0b3BFbGVtZW50MjJhdHRyaWJ1dGVUb1Byb3BlcnR5TWFw
RXZFMjRzX2F0dHJpYnV0ZVRvUHJvcGVydHlNYXAuYgogX19aWk43V2ViQ29yZTE0U1ZHU3RvcEVs
ZW1lbnQyMGlzU3VwcG9ydGVkQXR0cmlidXRlRVJLTlNfMTNRdWFsaWZpZWROYW1lRUUxOXN1cHBv
cnRlZEF0dHJpYnV0ZXMKIF9fWkdWWk43V2ViQ29yZTE0U1ZHU3RvcEVsZW1lbnQyMGlzU3VwcG9y
dGVkQXR0cmlidXRlRVJLTlNfMTNRdWFsaWZpZWROYW1lRUUxOXN1cHBvcnRlZEF0dHJpYnV0ZXMu
YgotX19aWk43V2ViQ29yZTE2U1ZHU3R5bGVkRWxlbWVudDIxY2xhc3NOYW1lUHJvcGVydHlJbmZv
RXZFMTRzX3Byb3BlcnR5SW5mbwotX19aR1ZaTjdXZWJDb3JlMTZTVkdTdHlsZWRFbGVtZW50MjFj
bGFzc05hbWVQcm9wZXJ0eUluZm9FdkUxNHNfcHJvcGVydHlJbmZvLmIKLV9fWlpON1dlYkNvcmUx
NlNWR1N0eWxlZEVsZW1lbnQyMmF0dHJpYnV0ZVRvUHJvcGVydHlNYXBFdkUyNHNfYXR0cmlidXRl
VG9Qcm9wZXJ0eU1hcAotX19aR1ZaTjdXZWJDb3JlMTZTVkdTdHlsZWRFbGVtZW50MjJhdHRyaWJ1
dGVUb1Byb3BlcnR5TWFwRXZFMjRzX2F0dHJpYnV0ZVRvUHJvcGVydHlNYXAuYgotX19aWk43V2Vi
Q29yZTE2U1ZHU3R5bGVkRWxlbWVudDMyY3NzUHJvcGVydHlJZEZvclNWR0F0dHJpYnV0ZU5hbWVF
UktOU18xM1F1YWxpZmllZE5hbWVFRTE5cHJvcGVydHlOYW1lVG9JZE1hcAorX19aWk43V2ViQ29y
ZTE2U1ZHRWxlbWVudDIxY2xhc3NOYW1lUHJvcGVydHlJbmZvRXZFMTRzX3Byb3BlcnR5SW5mbwor
X19aR1ZaTjdXZWJDb3JlMTZTVkdFbGVtZW50MjFjbGFzc05hbWVQcm9wZXJ0eUluZm9FdkUxNHNf
cHJvcGVydHlJbmZvLmIKK19fWlpON1dlYkNvcmUxNlNWR0VsZW1lbnQyMmF0dHJpYnV0ZVRvUHJv
cGVydHlNYXBFdkUyNHNfYXR0cmlidXRlVG9Qcm9wZXJ0eU1hcAorX19aR1ZaTjdXZWJDb3JlMTZT
VkdFbGVtZW50MjJhdHRyaWJ1dGVUb1Byb3BlcnR5TWFwRXZFMjRzX2F0dHJpYnV0ZVRvUHJvcGVy
dHlNYXAuYgorX19aWk43V2ViQ29yZTE2U1ZHRWxlbWVudDMyY3NzUHJvcGVydHlJZEZvclNWR0F0
dHJpYnV0ZU5hbWVFUktOU18xM1F1YWxpZmllZE5hbWVFRTE5cHJvcGVydHlOYW1lVG9JZE1hcAog
X19aWk43V2ViQ29yZTI5U1ZHR3JhcGhpY3NFbGVtZW50MjF0cmFuc2Zvcm1Qcm9wZXJ0eUluZm9F
dkUxNHNfcHJvcGVydHlJbmZvCiBfX1pHVlpON1dlYkNvcmUyOVNWR0dyYXBoaWNzRWxlbWVudDIx
dHJhbnNmb3JtUHJvcGVydHlJbmZvRXZFMTRzX3Byb3BlcnR5SW5mby5iCiBfX1paTjdXZWJDb3Jl
MjlTVkdHcmFwaGljc0VsZW1lbnQyMmF0dHJpYnV0ZVRvUHJvcGVydHlNYXBFdkUyNHNfYXR0cmli
dXRlVG9Qcm9wZXJ0eU1hcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hw
cm9qL1dlYkNvcmUudmN4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJD
b3JlLnZjeHByb2oKaW5kZXggZDAyNWZjZTQ1YzljZWVkNTFhNDMxNTZkZDdmMDBhODZmNTQyZjE5
Yy4uYzcyNmZmNzFhZDMxNjA0MmYxZWE1ZThjN2ExOWJjYmE2NWEwMWZiZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCkBAIC0xNzYwMywyMCAr
MTc2MDMsNiBAQAogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxXaW4zMiciPnRydWU8L0V4Y2x1ZGVk
RnJvbUJ1aWxkPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnx4NjQnIj50cnVlPC9FeGNsdWRlZEZy
b21CdWlsZD4KICAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHN2
Z1xTVkdTdHlsZWRFbGVtZW50LmNwcCI+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0
aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPnRydWU8
L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0i
JyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+dHJ1ZTwvRXhjbHVk
ZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25m
aWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z19XaW5DYWlyb3xXaW4zMiciPnRydWU8L0V4
Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQo
Q29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98eDY0JyI+dHJ1ZTwv
RXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSIn
JChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z1N1ZmZpeHxXaW4zMiciPnRydWU8
L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0i
JyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdTdWZmaXh8eDY0JyI+dHJ1ZTwv
RXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSIn
JChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+dHJ1ZTwvRXhj
bHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChD
b25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPnRydWU8L0V4Y2x1ZGVk
RnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3xXaW4zMiciPnRydWU8L0V4
Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQo
Q29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3x4NjQnIj50cnVl
PC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249
IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVl
PC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249
IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwv
RXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlxzdmdcU1ZHU3R5bGVFbGVtZW50LmNwcCI+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVp
bGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4z
MiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENv
bmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+dHJ1
ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CkBAIC0yMDkxMCw3ICsyMDg5Niw2IEBACiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxzdmdcU1ZHU2V0RWxlbWVudC5oIiAvPgogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5cc3ZnXFNWR1N0b3BFbGVtZW50LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxzdmdcU1ZHU3RyaW5nTGlzdC5oIiAvPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5cc3ZnXFNWR1N0eWxlZEVsZW1lbnQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XHN2Z1xTVkdHcmFwaGljc0VsZW1lbnQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XHN2Z1xTVkdTdHlsZUVsZW1lbnQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHN2
Z1xTVkdTVkdFbGVtZW50LmgiIC8+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKaW5kZXggZTFiNzViODUyZTgwMDI1ZjQ1
NzYxYzA4MWY0ZGFkNmViN2Q3NGRlZC4uODhiNGY1ODg4NWY1OWQwNDk2OGI4ZGIzMGI2MTc1MmY0
M2ZlZTllMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNv
cmUudmN4cHJvai5maWx0ZXJzCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9X
ZWJDb3JlLnZjeHByb2ouZmlsdGVycwpAQCAtNDgwMyw5ICs0ODAzLDYgQEAKICAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXHN2Z1xTVkdNYXNrRWxlbWVudC5jcHAiPgogICAgICAgPEZpbHRlcj5y
ZW5kZXJpbmdcc3ZnPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJ
bmNsdWRlPSIuLlxzdmdcU1ZHU3R5bGVkRWxlbWVudC5jcHAiPgotICAgICAgPEZpbHRlcj5yZW5k
ZXJpbmdcc3ZnPC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlxzdmdcU1ZHU3R5bGVFbGVtZW50LmNwcCI+CiAgICAgICA8RmlsdGVyPnJlbmRlcmlu
Z1xzdmc8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KQEAgLTEyMTU0LDkgKzEyMTUxLDYgQEAK
ICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHN2Z1xTVkdTdHJpbmdMaXN0LmgiPgogICAgICAg
PEZpbHRlcj5yZW5kZXJpbmdcc3ZnPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+Ci0gICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlxzdmdcU1ZHU3R5bGVkRWxlbWVudC5oIj4KLSAgICAgIDxGaWx0
ZXI+cmVuZGVyaW5nXHN2ZzwvRmlsdGVyPgotICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5cc3ZnXFNWR0dyYXBoaWNzRWxlbWVudC5oIj4KICAgICAgIDxGaWx0ZXI+
cmVuZGVyaW5nXHN2ZzwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGNiZTM0NWYwMWJi
ZmVkYjk4NWEwODE2MGU5NGZmYWJhNjM0NWMxZTcuLjQyYzgzZDJmNDYyMDdmZjU2YjI3Y2UxZmVk
Yzg5YTU5OGVlNzA2NzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKQEAgLTQwNzMsOSArNDA3Myw3IEBACiAJCUIyMjI3QUI1MEQwMEJG
MjIwMDcxQjc4MiAvKiBTVkdHcmFwaGljc0VsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjIyMjc5MUYwRDAwQkYyMTAwNzFCNzgyIC8qIFNW
R0dyYXBoaWNzRWxlbWVudC5jcHAgKi87IH07CiAJCUIyMjI3QUI2MEQwMEJGMjIwMDcxQjc4MiAv
KiBTVkdHcmFwaGljc0VsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEIyMjI3OTIwMEQwMEJGMjEwMDcxQjc4MiAvKiBTVkdHcmFwaGljc0VsZW1l
bnQuaCAqLzsgfTsKIAkJQjIyMjdBQjcwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR1N0eWxlRWxlbWVu
dC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMjIy
NzkyMTBEMDBCRjIxMDA3MUI3ODIgLyogU1ZHU3R5bGVFbGVtZW50LmNwcCAqLzsgfTsKLQkJQjIy
MjdBQjcwRDAwQkYyMjAwNzFCNzgzIC8qIFNWR1N0eWxlZEVsZW1lbnQuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjIyMjc5MjEwRDAwQkYyMTAwNzFC
NzgzIC8qIFNWR1N0eWxlZEVsZW1lbnQuY3BwICovOyB9OwogCQlCMjIyN0FCODBEMDBCRjIyMDA3
MUI3ODIgLyogU1ZHU3R5bGVFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCMjIyNzkyMjBEMDBCRjIxMDA3MUI3ODIgLyogU1ZHU3R5bGVFbGVt
ZW50LmggKi87IH07Ci0JCUIyMjI3QUI4MEQwMEJGMjIwMDcxQjc4MyAvKiBTVkdTdHlsZWRFbGVt
ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMjIy
NzkyMjBEMDBCRjIxMDA3MUI3ODMgLyogU1ZHU3R5bGVkRWxlbWVudC5oICovOyB9OwogCQlCMjIy
N0FCQTBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHU1ZHRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMjIyNzkyNDBEMDBCRjIxMDA3MUI3ODIg
LyogU1ZHU1ZHRWxlbWVudC5jcHAgKi87IH07CiAJCUIyMjI3QUJCMEQwMEJGMjIwMDcxQjc4MiAv
KiBTVkdTVkdFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBCMjIyNzkyNTBEMDBCRjIxMDA3MUI3ODIgLyogU1ZHU1ZHRWxlbWVudC5oICovOyB9
OwogCQlCMjIyN0FCRDBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHU3dpdGNoRWxlbWVudC5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMjIyNzkyNzBEMDBC
RjIxMDA3MUI3ODIgLyogU1ZHU3dpdGNoRWxlbWVudC5jcHAgKi87IH07CkBAIC00NDY1LDkgKzQ0
NjMsNyBAQAogCQlCMkZBM0RGODBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdTdHJpbmdMaXN0LmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyRkEzRDEw
MEFCNzVBNkUwMDBFNUFDNCAvKiBKU1NWR1N0cmluZ0xpc3QuY3BwICovOyB9OwogCQlCMkZBM0RG
OTBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdTdHJpbmdMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMkZBM0QxMTBBQjc1QTZFMDAwRTVBQzQgLyog
SlNTVkdTdHJpbmdMaXN0LmggKi87IH07CiAJCUIyRkEzREZBMEFCNzVBNkYwMDBFNUFDNCAvKiBK
U1NWR1N0eWxlRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBCMkZBM0QxMjBBQjc1QTZFMDAwRTVBQzQgLyogSlNTVkdTdHlsZUVsZW1lbnQu
Y3BwICovOyB9OwotCQlCMkZBM0RGQTBBQjc1QTZGMDAwRTVBQzUgLyogSlNTVkdTdHlsZWRFbGVt
ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIy
RkEzRDEyMEFCNzVBNkUwMDBFNUFDNSAvKiBKU1NWR1N0eWxlZEVsZW1lbnQuY3BwICovOyB9Owog
CQlCMkZBM0RGQjBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdTdHlsZUVsZW1lbnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyRkEzRDEzMEFCNzVBNkUw
MDBFNUFDNCAvKiBKU1NWR1N0eWxlRWxlbWVudC5oICovOyB9OwotCQlCMkZBM0RGQjBBQjc1QTZG
MDAwRTVBQzUgLyogSlNTVkdTdHlsZWRFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMkZBM0QxMzBBQjc1QTZFMDAwRTVBQzUgLyogSlNTVkdT
dHlsZWRFbGVtZW50LmggKi87IH07CiAJCUIyRkEzREZDMEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NW
R1NWR0VsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQjJGQTNEMTQwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHU1ZHRWxlbWVudC5jcHAgKi87
IH07CiAJCUIyRkEzREZEMEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR1NWR0VsZW1lbnQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyRkEzRDE1MEFCNzVB
NkYwMDBFNUFDNCAvKiBKU1NWR1NWR0VsZW1lbnQuaCAqLzsgfTsKIAkJQjJGQTNERkUwQUI3NUE2
RjAwMEU1QUM0IC8qIEpTU1ZHU3dpdGNoRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMkZBM0QxNjBBQjc1QTZGMDAwRTVBQzQgLyogSlNT
VkdTd2l0Y2hFbGVtZW50LmNwcCAqLzsgfTsKQEAgLTEwNjg5LDExICsxMDY4NSw4IEBACiAJCUIy
MjI3OTFGMEQwMEJGMjEwMDcxQjc4MiAvKiBTVkdHcmFwaGljc0VsZW1lbnQuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNWR0dyYXBoaWNzRWxlbWVudC5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIyMjI3OTIwMEQwMEJGMjEwMDcxQjc4MiAvKiBT
VkdHcmFwaGljc0VsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNW
R0dyYXBoaWNzRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMjIyNzky
MTBEMDBCRjIxMDA3MUI3ODIgLyogU1ZHU3R5bGVFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTVkdTdHlsZUVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwotCQlCMjIyNzkyMTBEMDBCRjIxMDA3MUI3ODMgLyogU1ZHU3R5bGVkRWxl
bWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU1ZHU3R5bGVk
RWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIyMjI3OTIyMEQwMEJG
MjEwMDcxQjc4MiAvKiBTVkdTdHlsZUVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFNWR1N0eWxlRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owot
CQlCMjIyNzkyMjBEMDBCRjIxMDA3MUI3ODMgLyogU1ZHU3R5bGVkRWxlbWVudC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHU3R5bGVkRWxlbWVudC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlCMjIyNzkyMzBEMDBCRjIxMDA3MUI3ODIgLyogU1ZHU3R5bGVF
bGVtZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAz
MDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gU1ZHU3R5bGVFbGVtZW50LmlkbDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQjIyMjc5MjMwRDAwQkYyMTAwNzFCNzgzIC8q
IFNWR1N0eWxlZEVsZW1lbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBTVkdTdHlsZWRF
bGVtZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjIyMjc5MjQwRDAwQkYy
MTAwNzFCNzgyIC8qIFNWR1NWR0VsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFNWR1NWR0VsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlCMjIyNzkyNTBEMDBCRjIxMDA3MUI3ODIgLyogU1ZHU1ZHRWxlbWVudC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHU1ZHRWxlbWVudC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlCMjIyNzkyNjBEMDBCRjIxMDA3MUI3ODIgLyogU1ZHU1ZHRWxlbWVu
dC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFNWR1NWR0VsZW1lbnQuaWRsOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTExMTMsOSArMTExMDYsNyBAQAogCQlCMkZBM0QxMDBB
Qjc1QTZFMDAwRTVBQzQgLyogSlNTVkdTdHJpbmdMaXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU1NWR1N0cmluZ0xpc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlCMkZBM0QxMTBBQjc1QTZFMDAwRTVBQzQgLyogSlNTVkdTdHJpbmdMaXN0
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1NWR1N0cmluZ0xpc3QuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjJGQTNEMTIwQUI3NUE2RTAwMEU1QUM0IC8q
IEpTU1ZHU3R5bGVFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU1NWR1N0eWxlRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CUIyRkEzRDEyMEFCNzVBNkUwMDBFNUFDNSAvKiBKU1NWR1N0eWxlZEVsZW1lbnQuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTU1ZHU3R5bGVkRWxlbWVudC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIyRkEzRDEzMEFCNzVBNkUwMDBFNUFDNCAv
KiBKU1NWR1N0eWxlRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SlNTVkdTdHlsZUVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQjJGQTNE
MTMwQUI3NUE2RTAwMEU1QUM1IC8qIEpTU1ZHU3R5bGVkRWxlbWVudC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSlNTVkdTdHlsZWRFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUIyRkEzRDE0MEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR1NWR0VsZW1l
bnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTU1ZHU1ZHRWxl
bWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIyRkEzRDE1MEFCNzVBNkYw
MDBFNUFDNCAvKiBKU1NWR1NWR0VsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEpTU1ZHU1ZHRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlC
MkZBM0QxNjBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdTd2l0Y2hFbGVtZW50LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1NWR1N3aXRjaEVsZW1lbnQuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTcwOTYsOCArMTcwODcsNiBAQAogCQkJCUIy
RkEzRDBGMEFCNzVBNkUwMDBFNUFDNCAvKiBKU1NWR1N0b3BFbGVtZW50LmggKi8sCiAJCQkJQjJG
QTNEMTAwQUI3NUE2RTAwMEU1QUM0IC8qIEpTU1ZHU3RyaW5nTGlzdC5jcHAgKi8sCiAJCQkJQjJG
QTNEMTEwQUI3NUE2RTAwMEU1QUM0IC8qIEpTU1ZHU3RyaW5nTGlzdC5oICovLAotCQkJCUIyRkEz
RDEyMEFCNzVBNkUwMDBFNUFDNSAvKiBKU1NWR1N0eWxlZEVsZW1lbnQuY3BwICovLAotCQkJCUIy
RkEzRDEzMEFCNzVBNkUwMDBFNUFDNSAvKiBKU1NWR1N0eWxlZEVsZW1lbnQuaCAqLywKIAkJCQlC
MkZBM0QxMjBBQjc1QTZFMDAwRTVBQzQgLyogSlNTVkdTdHlsZUVsZW1lbnQuY3BwICovLAogCQkJ
CUIyRkEzRDEzMEFCNzVBNkUwMDBFNUFDNCAvKiBKU1NWR1N0eWxlRWxlbWVudC5oICovLAogCQkJ
CUIyRkEzRDE0MEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR1NWR0VsZW1lbnQuY3BwICovLApAQCAt
MTgwNzUsOSArMTgwNjQsNiBAQAogCQkJCUIyMjI3OTE1MEQwMEJGMjEwMDcxQjc4MiAvKiBTVkdT
dHJpbmdMaXN0LmNwcCAqLywKIAkJCQlCMjIyNzkxNjBEMDBCRjIxMDA3MUI3ODIgLyogU1ZHU3Ry
aW5nTGlzdC5oICovLAogCQkJCUIyMjI3OTE3MEQwMEJGMjEwMDcxQjc4MiAvKiBTVkdTdHJpbmdM
aXN0LmlkbCAqLywKLQkJCQlCMjIyNzkyMTBEMDBCRjIxMDA3MUI3ODMgLyogU1ZHU3R5bGVkRWxl
bWVudC5jcHAgKi8sCi0JCQkJQjIyMjc5MjIwRDAwQkYyMTAwNzFCNzgzIC8qIFNWR1N0eWxlZEVs
ZW1lbnQuaCAqLywKLQkJCQlCMjIyNzkyMzBEMDBCRjIxMDA3MUI3ODMgLyogU1ZHU3R5bGVkRWxl
bWVudC5pZGwgKi8sCiAJCQkJQjIyMjc5MjEwRDAwQkYyMTAwNzFCNzgyIC8qIFNWR1N0eWxlRWxl
bWVudC5jcHAgKi8sCiAJCQkJQjIyMjc5MjIwRDAwQkYyMTAwNzFCNzgyIC8qIFNWR1N0eWxlRWxl
bWVudC5oICovLAogCQkJCUIyMjI3OTIzMEQwMEJGMjEwMDcxQjc4MiAvKiBTVkdTdHlsZUVsZW1l
bnQuaWRsICovLApAQCAtMjI2MDIsNyArMjI1ODgsNiBAQAogCQkJCUIyRkEzREY1MEFCNzVBNkYw
MDBFNUFDNCAvKiBKU1NWR1NldEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyRkEzREY3
MEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR1N0b3BFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CQlCMkZBM0RGOTBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdTdHJpbmdMaXN0LmggaW4gSGVhZGVy
cyAqLywKLQkJCQlCMkZBM0RGQjBBQjc1QTZGMDAwRTVBQzUgLyogSlNTVkdTdHlsZWRFbGVtZW50
LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkZBM0RGQjBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdT
dHlsZUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyRkEzREZEMEFCNzVBNkYwMDBFNUFD
NCAvKiBKU1NWR1NWR0VsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyRkEzREZGMEFCNzVB
NkYwMDBFNUFDNCAvKiBKU1NWR1N3aXRjaEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMjM2
MTYsNyArMjM2MDEsNiBAQAogCQkJCTA4Q0EzRDQ0MTI4OTRBMzgwMEZGRjI2MCAvKiBTVkdTdGF0
aWNQcm9wZXJ0eVdpdGhQYXJlbnRUZWFyT2ZmLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjIyN0FB
OTBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHU3RvcEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUIyMjI3QUFDMEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdTdHJpbmdMaXN0LmggaW4gSGVhZGVycyAq
LywKLQkJCQlCMjIyN0FCODBEMDBCRjIyMDA3MUI3ODMgLyogU1ZHU3R5bGVkRWxlbWVudC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQjIyMjdBQjgwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR1N0eWxlRWxl
bWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjIyMjdBQkIwRDAwQkYyMjAwNzFCNzgyIC8qIFNW
R1NWR0VsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyMjI3QUJFMEQwMEJGMjIwMDcxQjc4
MiAvKiBTVkdTd2l0Y2hFbGVtZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTI1Nzk3LDcgKzI1Nzgx
LDYgQEAKIAkJCQlCMkZBM0RGNDBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdTZXRFbGVtZW50LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUIyRkEzREY2MEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR1N0
b3BFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUIyRkEzREY4MEFCNzVBNkYwMDBFNUFD
NCAvKiBKU1NWR1N0cmluZ0xpc3QuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJQjJGQTNERkEwQUI3
NUE2RjAwMEU1QUM1IC8qIEpTU1ZHU3R5bGVkRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlCMkZBM0RGQTBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdTdHlsZUVsZW1lbnQuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJQjJGQTNERkMwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHU1ZHRWxlbWVu
dC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCMkZBM0RGRTBBQjc1QTZGMDAwRTVBQzQgLyogSlNT
VkdTd2l0Y2hFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjY2NTYsNyArMjY2MzksNiBA
QAogCQkJCUU0QUZEMDBGMERBRjMzNTUwMEY1RjU1QyAvKiBTVkdTTUlMRWxlbWVudC5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlCMjIyN0FBODBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHU3RvcEVsZW1l
bnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjIyMjdBQUIwRDAwQkYyMjAwNzFCNzgyIC8qIFNW
R1N0cmluZ0xpc3QuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJQjIyMjdBQjcwRDAwQkYyMjAwNzFC
NzgzIC8qIFNWR1N0eWxlZEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjIyMjdBQjcw
RDAwQkYyMjAwNzFCNzgyIC8qIFNWR1N0eWxlRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlCMjIyN0FCQTBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHU1ZHRWxlbWVudC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlCMjIyN0FCRDBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHU3dpdGNoRWxlbWVudC5j
cHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAKaW5kZXggNWJmNTZkZTU5ZDUzODMyZTMy
ZmFlMWNmOWVmYjgzYzVhODY2ZTEzMy4uMzViNzM4YTdkYzA2ODNkZDM0MTQzMjc0YjYzYjI1OGFk
NjMzOWMxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5Tm9kZU9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAKQEAgLTY4LDcgKzY4LDYgQEAKICNpbmNsdWRlICJQ
cm9ncmVzc1RyYWNrZXIuaCIKICNpbmNsdWRlICJTVkdFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZH
TmFtZXMuaCIKLSNpbmNsdWRlICJTVkdTdHlsZWRFbGVtZW50LmgiCiAjaW5jbHVkZSAiVGV4dC5o
IgogI2luY2x1ZGUgIlRleHRDb250cm9sSW5uZXJFbGVtZW50cy5oIgogI2luY2x1ZGUgIlRleHRJ
dGVyYXRvci5oIgpAQCAtMTIyMiw4ICsxMjIxLDggQEAgdm9pZCBBY2Nlc3NpYmlsaXR5Tm9kZU9i
amVjdDo6YWx0ZXJuYXRpdmVUZXh0KFZlY3RvcjxBY2Nlc3NpYmlsaXR5VGV4dD4mIHRleHRPcmQK
ICAgICAKICNpZiBFTkFCTEUoU1ZHKQogICAgIC8vIFNWRyBlbGVtZW50cyBhbGwgY2FuIGhhdmUg
YSA8c3ZnOnRpdGxlPiBlbGVtZW50IGluc2lkZSB3aGljaCBzaG91bGQgYWN0IGFzIHRoZSBkZXNj
cmlwdGl2ZSB0ZXh0LgotICAgIGlmIChub2RlLT5pc1NWR0VsZW1lbnQoKSAmJiB0b1NWR0VsZW1l
bnQobm9kZSktPmlzU1ZHU3R5bGVkRWxlbWVudCgpKQotICAgICAgICB0ZXh0T3JkZXIuYXBwZW5k
KEFjY2Vzc2liaWxpdHlUZXh0KHRvU1ZHU3R5bGVkRWxlbWVudChub2RlKS0+dGl0bGUoKSwgQWx0
ZXJuYXRpdmVUZXh0KSk7CisgICAgaWYgKG5vZGUtPmlzU1ZHRWxlbWVudCgpKQorICAgICAgICB0
ZXh0T3JkZXIuYXBwZW5kKEFjY2Vzc2liaWxpdHlUZXh0KHRvU1ZHRWxlbWVudChub2RlKS0+dGl0
bGUoKSwgQWx0ZXJuYXRpdmVUZXh0KSk7CiAjZW5kaWYKICAgICAKICNpZiBFTkFCTEUoTUFUSE1M
KQpAQCAtMTQyMSw4ICsxNDIwLDggQEAgU3RyaW5nIEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0Ojph
Y2Nlc3NpYmlsaXR5RGVzY3JpcHRpb24oKSBjb25zdAogCiAjaWYgRU5BQkxFKFNWRykKICAgICAv
LyBTVkcgZWxlbWVudHMgYWxsIGNhbiBoYXZlIGEgPHN2Zzp0aXRsZT4gZWxlbWVudCBpbnNpZGUg
d2hpY2ggc2hvdWxkIGFjdCBhcyB0aGUgZGVzY3JpcHRpdmUgdGV4dC4KLSAgICBpZiAobV9ub2Rl
ICYmIG1fbm9kZS0+aXNTVkdFbGVtZW50KCkgJiYgdG9TVkdFbGVtZW50KG1fbm9kZSktPmlzU1ZH
U3R5bGVkRWxlbWVudCgpKQotICAgICAgICByZXR1cm4gdG9TVkdTdHlsZWRFbGVtZW50KG1fbm9k
ZSktPnRpdGxlKCk7CisgICAgaWYgKG1fbm9kZSAmJiBtX25vZGUtPmlzU1ZHRWxlbWVudCgpKQor
ICAgICAgICByZXR1cm4gdG9TVkdFbGVtZW50KG1fbm9kZSktPnRpdGxlKCk7CiAjZW5kaWYKICAg
ICAKICNpZiBFTkFCTEUoTUFUSE1MKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1NW
R0NTU1N0eWxlU2VsZWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1NWR0NTU1N0eWxlU2Vs
ZWN0b3IuY3BwCmluZGV4IDZmODcyMzFkZjg1MDRiNTU2NTBjNzIyY2E4Y2Y2MGVmYjE4NTFlNjQu
LmMzOTcyM2NhNzVhOWNkNGQyNTdkMDExNWViMTI0MmIxZDBjMjg1YzIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9TVkdDU1NTdHlsZVNlbGVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvU1ZHQ1NTU3R5bGVTZWxlY3Rvci5jcHAKQEAgLTM3LDExICszNywxMSBAQAogI2lu
Y2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiU2hhZG93VmFsdWUuaCIKICNpbmNsdWRlICJT
VkdDb2xvci5oIgorI2luY2x1ZGUgIlNWR0VsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdOYW1lcy5o
IgogI2luY2x1ZGUgIlNWR1BhaW50LmgiCiAjaW5jbHVkZSAiU1ZHUmVuZGVyU3R5bGUuaCIKICNp
bmNsdWRlICJTVkdSZW5kZXJTdHlsZURlZnMuaCIKLSNpbmNsdWRlICJTVkdTdHlsZWRFbGVtZW50
LmgiCiAjaW5jbHVkZSAiU1ZHVVJJUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSA8c3RkbGliLmg+CiAj
aW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9TVkdSZW5kZXJTdHlsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGUuY3BwCmluZGV4IGFjYTI0NWFlZjNhNjhiMzlhNDlhMzRh
NWI4ODk0NzdjZWYzMDVlOGYuLmU1NzFiMWJhY2E4ZTAyMGNlNTQ5ZjlhM2ZhMmFhNTE4NzZlN2Fj
M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TVkdSZW5kZXJT
dHlsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NWR1JlbmRlclN0
eWxlLmNwcApAQCAtMzQsNyArMzQsNyBAQAogI2luY2x1ZGUgIkNTU1ZhbHVlTGlzdC5oIgogI2lu
Y2x1ZGUgIkludFJlY3QuaCIKICNpbmNsdWRlICJOb2RlUmVuZGVyU3R5bGUuaCIKLSNpbmNsdWRl
ICJTVkdTdHlsZWRFbGVtZW50LmgiCisjaW5jbHVkZSAiU1ZHRWxlbWVudC5oIgogCiB1c2luZyBu
YW1lc3BhY2Ugc3RkOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1JlbmRlclNWR0NvbnRhaW5lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1Jl
bmRlclNWR0NvbnRhaW5lci5jcHAKaW5kZXggOTMwNWRjNmIzZmFiY2YxYzVhYzRjNWU0Mjc5MTYy
OTZhOTBiNzIyOS4uOGNjMDU2NWRiN2RkNDQ3OTljNzQ1OWFiOTE0ZGE5NmM0ZjVhMWQ1ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdDb250YWluZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHQ29udGFpbmVy
LmNwcApAQCAtMzEsMTUgKzMxLDE1IEBACiAjaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2UuaCIK
ICNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZUZpbHRlci5oIgogI2luY2x1ZGUgIlJlbmRlclZp
ZXcuaCIKKyNpbmNsdWRlICJTVkdFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHUmVuZGVyaW5nQ29u
dGV4dC5oIgogI2luY2x1ZGUgIlNWR1Jlc291cmNlcy5oIgogI2luY2x1ZGUgIlNWR1Jlc291cmNl
c0NhY2hlLmgiCi0jaW5jbHVkZSAiU1ZHU3R5bGVkRWxlbWVudC5oIgogI2luY2x1ZGUgPHd0Zi9T
dGFja1N0YXRzLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUmVuZGVyU1ZHQ29udGFpbmVy
OjpSZW5kZXJTVkdDb250YWluZXIoU1ZHU3R5bGVkRWxlbWVudCogbm9kZSkKK1JlbmRlclNWR0Nv
bnRhaW5lcjo6UmVuZGVyU1ZHQ29udGFpbmVyKFNWR0VsZW1lbnQqIG5vZGUpCiAgICAgOiBSZW5k
ZXJTVkdNb2RlbE9iamVjdChub2RlKQogICAgICwgbV9vYmplY3RCb3VuZGluZ0JveFZhbGlkKGZh
bHNlKQogICAgICwgbV9uZWVkc0JvdW5kYXJpZXNVcGRhdGUodHJ1ZSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHQ29udGFpbmVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0NvbnRhaW5lci5oCmluZGV4IDQ3NGRkYjUx
NDA4ZDgzZDUyMzY1NmVjNTk3OWE0NzlhMTRhZDhiMGEuLmQzZjdhYjM4ZDJjNWMwMzM4MTQxZmEy
OGNjYzg0NmU2OTBjZTY0YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dmcvUmVuZGVyU1ZHQ29udGFpbmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2
Zy9SZW5kZXJTVkdDb250YWluZXIuaApAQCAtMzMsNyArMzMsNyBAQCBjbGFzcyBTVkdFbGVtZW50
OwogCiBjbGFzcyBSZW5kZXJTVkdDb250YWluZXIgOiBwdWJsaWMgUmVuZGVyU1ZHTW9kZWxPYmpl
Y3QgewogcHVibGljOgotICAgIGV4cGxpY2l0IFJlbmRlclNWR0NvbnRhaW5lcihTVkdTdHlsZWRF
bGVtZW50Kik7CisgICAgZXhwbGljaXQgUmVuZGVyU1ZHQ29udGFpbmVyKFNWR0VsZW1lbnQqKTsK
ICAgICB2aXJ0dWFsIH5SZW5kZXJTVkdDb250YWluZXIoKTsKIAogICAgIFJlbmRlck9iamVjdCog
Zmlyc3RDaGlsZCgpIGNvbnN0IHsgQVNTRVJUKGNoaWxkcmVuKCkgPT0gdmlydHVhbENoaWxkcmVu
KCkpOyByZXR1cm4gY2hpbGRyZW4oKS0+Zmlyc3RDaGlsZCgpOyB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0hpZGRlbkNvbnRhaW5lci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0hpZGRlbkNvbnRhaW5lci5jcHAK
aW5kZXggMmEwMTVhNWMwOWU3NjhiMGY0NmVmY2ExMzU4ZjIxZmFhYmM5ZDQzNS4uNDljODZhNGIy
NWFlZmQzNWQwNmE2NmM4Mzg0ZmYxZDAzZmFhYmE2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdIaWRkZW5Db250YWluZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyLmNwcApAQCAt
MjMsMTIgKzIzLDEyIEBACiAjaW5jbHVkZSAiUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyLmgiCiAK
ICNpbmNsdWRlICJSZW5kZXJTVkdQYXRoLmgiCi0jaW5jbHVkZSAiU1ZHU3R5bGVkRWxlbWVudC5o
IgorI2luY2x1ZGUgIlNWR0VsZW1lbnQuaCIKICNpbmNsdWRlIDx3dGYvU3RhY2tTdGF0cy5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVJlbmRlclNWR0hpZGRlbkNvbnRhaW5lcjo6UmVuZGVy
U1ZHSGlkZGVuQ29udGFpbmVyKFNWR1N0eWxlZEVsZW1lbnQqIGVsZW1lbnQpCitSZW5kZXJTVkdI
aWRkZW5Db250YWluZXI6OlJlbmRlclNWR0hpZGRlbkNvbnRhaW5lcihTVkdFbGVtZW50KiBlbGVt
ZW50KQogICAgIDogUmVuZGVyU1ZHQ29udGFpbmVyKGVsZW1lbnQpCiB7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0hpZGRlbkNvbnRhaW5lci5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdIaWRkZW5Db250YWluZXIu
aAppbmRleCAyOThjZDNjNzk3OGQ5ZDEwNGNhYzk3MzU1OTNlM2E2NDliZTVmYmIyLi40OTk0NDlh
YzFjM2I5ZTdjMmIxMWYwNTU0ZTUzZGU2NDgwYjM1MmI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0hpZGRlbkNvbnRhaW5lci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyLmgKQEAgLTI1
LDEzICsyNSwxMyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgCi1jbGFzcyBTVkdTdHls
ZWRFbGVtZW50OworY2xhc3MgU1ZHRWxlbWVudDsKIAogLy8gVGhpcyBjbGFzcyBpcyBmb3IgY29u
dGFpbmVycyB3aGljaCBhcmUgbmV2ZXIgZHJhd24sIGJ1dCBkbyBuZWVkIHRvIHN1cHBvcnQgc3R5
bGUKIC8vIDxkZWZzPiwgPGxpbmVhckdyYWRpZW50PiwgPHJhZGlhbEdyYWRpZW50PiBhcmUgYWxs
IGdvb2QgZXhhbXBsZXMKIGNsYXNzIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciA6IHB1YmxpYyBS
ZW5kZXJTVkdDb250YWluZXIgewogcHVibGljOgotICAgIGV4cGxpY2l0IFJlbmRlclNWR0hpZGRl
bkNvbnRhaW5lcihTVkdTdHlsZWRFbGVtZW50Kik7CisgICAgZXhwbGljaXQgUmVuZGVyU1ZHSGlk
ZGVuQ29udGFpbmVyKFNWR0VsZW1lbnQqKTsKIAogICAgIHZpcnR1YWwgY29uc3QgY2hhciogcmVu
ZGVyTmFtZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuICJSZW5kZXJTVkdIaWRkZW5Db250YWlu
ZXIiOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVy
U1ZHTW9kZWxPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJT
VkdNb2RlbE9iamVjdC5jcHAKaW5kZXggYTMzOGUxZmUwYzJlNmEyMDYyZDEwMDVmYzRiOWE4YTU3
M2ZjZTdlNS4uNTE5NjA5YmFjYzdhM2QwN2ZlZDc2NzI4NzZhM2I3NzZmNDgwNzJlNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdNb2RlbE9iamVjdC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdNb2RlbE9iamVj
dC5jcHAKQEAgLTM1LDE0ICszNSwxNCBAQAogCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXJNb2RlbE9i
amVjdC5oIgogI2luY2x1ZGUgIlJlbmRlclNWR1Jlc291cmNlLmgiCisjaW5jbHVkZSAiU1ZHRWxl
bWVudC5oIgogI2luY2x1ZGUgIlNWR05hbWVzLmgiCiAjaW5jbHVkZSAiU1ZHUmVzb3VyY2VzQ2Fj
aGUuaCIKLSNpbmNsdWRlICJTVkdTdHlsZWRFbGVtZW50LmgiCiAjaW5jbHVkZSAiU2hhZG93Um9v
dC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVJlbmRlclNWR01vZGVsT2JqZWN0OjpSZW5k
ZXJTVkdNb2RlbE9iamVjdChTVkdTdHlsZWRFbGVtZW50KiBub2RlKQorUmVuZGVyU1ZHTW9kZWxP
YmplY3Q6OlJlbmRlclNWR01vZGVsT2JqZWN0KFNWR0VsZW1lbnQqIG5vZGUpCiAgICAgOiBSZW5k
ZXJPYmplY3Qobm9kZSkKICAgICAsIG1faGFzU1ZHU2hhZG93KGZhbHNlKQogewpAQCAtMTMzLDEw
ICsxMzMsOCBAQCBzdGF0aWMgdm9pZCBnZXRFbGVtZW50Q1RNKFNWR0VsZW1lbnQqIGVsZW1lbnQs
IEFmZmluZVRyYW5zZm9ybSYgdHJhbnNmb3JtKQogCiAgICAgd2hpbGUgKGN1cnJlbnQgJiYgY3Vy
cmVudC0+aXNTVkdFbGVtZW50KCkpIHsKICAgICAgICAgU1ZHRWxlbWVudCogY3VycmVudEVsZW1l
bnQgPSB0b1NWR0VsZW1lbnQoY3VycmVudCk7Ci0gICAgICAgIGlmIChjdXJyZW50RWxlbWVudC0+
aXNTVkdTdHlsZWRFbGVtZW50KCkpIHsKLSAgICAgICAgICAgIGxvY2FsVHJhbnNmb3JtID0gY3Vy
cmVudEVsZW1lbnQtPnJlbmRlcmVyKCktPmxvY2FsVG9QYXJlbnRUcmFuc2Zvcm0oKTsKLSAgICAg
ICAgICAgIHRyYW5zZm9ybSA9IGxvY2FsVHJhbnNmb3JtLm11bHRpcGx5KHRyYW5zZm9ybSk7Ci0g
ICAgICAgIH0KKyAgICAgICAgbG9jYWxUcmFuc2Zvcm0gPSBjdXJyZW50RWxlbWVudC0+cmVuZGVy
ZXIoKS0+bG9jYWxUb1BhcmVudFRyYW5zZm9ybSgpOworICAgICAgICB0cmFuc2Zvcm0gPSBsb2Nh
bFRyYW5zZm9ybS5tdWx0aXBseSh0cmFuc2Zvcm0pOwogICAgICAgICAvLyBGb3IgZ2V0Q1RNKCkg
Y29tcHV0YXRpb24sIHN0b3AgYXQgdGhlIG5lYXJlc3Qgdmlld3BvcnQgZWxlbWVudAogICAgICAg
ICBpZiAoY3VycmVudEVsZW1lbnQgPT0gc3RvcEF0RWxlbWVudCkKICAgICAgICAgICAgIGJyZWFr
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdNb2Rl
bE9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdNb2RlbE9i
amVjdC5oCmluZGV4IGViODc5NDc1N2NkOGUyOTZlOGJjN2Q0OTY4ODg2YmY3ZjRkODM3OTQuLjU5
YWQyMDBiMWRmZjE0N2ZlNzY4MzE4YjljYzFlMDY0NTIwNzc1ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHTW9kZWxPYmplY3QuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR01vZGVsT2JqZWN0LmgKQEAgLTQzLDEx
ICs0MywxMSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAvLyByZXF1aXJlZCBieSBTVkcgcmVuZGVy
cyBuZWVkIHRvIGJlIGRlY2xhcmVkIG9uIFJlbmRlck9iamVjdCwgYnV0IHNoYXJlZAogLy8gbG9n
aWMgY2FuIGdvIGluIHRoaXMgY2xhc3Mgb3IgaW4gU1ZHUmVuZGVyU3VwcG9ydC4KIAotY2xhc3Mg
U1ZHU3R5bGVkRWxlbWVudDsKK2NsYXNzIFNWR0VsZW1lbnQ7CiAKIGNsYXNzIFJlbmRlclNWR01v
ZGVsT2JqZWN0IDogcHVibGljIFJlbmRlck9iamVjdCB7CiBwdWJsaWM6Ci0gICAgZXhwbGljaXQg
UmVuZGVyU1ZHTW9kZWxPYmplY3QoU1ZHU3R5bGVkRWxlbWVudCopOworICAgIGV4cGxpY2l0IFJl
bmRlclNWR01vZGVsT2JqZWN0KFNWR0VsZW1lbnQqKTsKIAogICAgIHZpcnR1YWwgTGF5b3V0UmVj
dCBjbGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWludChjb25zdCBSZW5kZXJMYXllck1vZGVsT2Jq
ZWN0KiByZXBhaW50Q29udGFpbmVyKSBjb25zdCBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQg
Y29tcHV0ZUZsb2F0UmVjdEZvclJlcGFpbnQoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCog
cmVwYWludENvbnRhaW5lciwgRmxvYXRSZWN0JiwgYm9vbCBmaXhlZCA9IGZhbHNlKSBjb25zdCBP
VkVSUklERSBGSU5BTDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
UmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dmcvUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmNwcAppbmRleCA5OTY3ZDcwZWRiYzE0ZDM5MWM4
MTUyMjQ4OWM4YTg0YThkMTA0NmExLi45MGM3OTkzNjM1MmE3Zjc2MGVjZmY4ZDFiNThjODk0YjUw
NzY4ZjE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNW
R1Jlc291cmNlQ2xpcHBlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9S
ZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXIuY3BwCkBAIC00NSw3ICs0NSw2IEBACiAjaW5jbHVkZSAi
U1ZHUmVuZGVyaW5nQ29udGV4dC5oIgogI2luY2x1ZGUgIlNWR1Jlc291cmNlcy5oIgogI2luY2x1
ZGUgIlNWR1Jlc291cmNlc0NhY2hlLmgiCi0jaW5jbHVkZSAiU1ZHU3R5bGVkRWxlbWVudC5oIgog
I2luY2x1ZGUgIlNWR1VuaXRUeXBlcy5oIgogI2luY2x1ZGUgIlNWR1VzZUVsZW1lbnQuaCIKIApA
QCAtMjMzLDcgKzIzMiw3IEBAIGJvb2wgUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyOjpkcmF3Q29u
dGVudEludG9NYXNrSW1hZ2UoQ2xpcHBlckRhdGEqIGNsaXBwZXJEYXRhCiAgICAgLy8gRHJhdyBh
bGwgY2xpcFBhdGggY2hpbGRyZW4gaW50byBhIGdsb2JhbCBtYXNrLgogICAgIGZvciAoTm9kZSog
Y2hpbGROb2RlID0gbm9kZSgpLT5maXJzdENoaWxkKCk7IGNoaWxkTm9kZTsgY2hpbGROb2RlID0g
Y2hpbGROb2RlLT5uZXh0U2libGluZygpKSB7CiAgICAgICAgIFJlbmRlck9iamVjdCogcmVuZGVy
ZXIgPSBjaGlsZE5vZGUtPnJlbmRlcmVyKCk7Ci0gICAgICAgIGlmICghY2hpbGROb2RlLT5pc1NW
R0VsZW1lbnQoKSB8fCAhdG9TVkdFbGVtZW50KGNoaWxkTm9kZSktPmlzU1ZHU3R5bGVkRWxlbWVu
dCgpIHx8ICFyZW5kZXJlcikKKyAgICAgICAgaWYgKCFjaGlsZE5vZGUtPmlzU1ZHRWxlbWVudCgp
IHx8ICFyZW5kZXJlcikKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICBpZiAocmVuZGVy
ZXItPm5lZWRzTGF5b3V0KCkpIHsKICAgICAgICAgICAgIGZyYW1lKCktPnZpZXcoKS0+c2V0UGFp
bnRCZWhhdmlvcihvbGRCZWhhdmlvcik7CkBAIC0yNzUsNyArMjc0LDcgQEAgdm9pZCBSZW5kZXJT
VkdSZXNvdXJjZUNsaXBwZXI6OmNhbGN1bGF0ZUNsaXBDb250ZW50UmVwYWludFJlY3QoKQogICAg
IC8vIFRoaXMgaXMgYSByb3VnaCBoZXVyaXN0aWMgdG8gYXBwcmFpc2UgdGhlIGNsaXAgc2l6ZSBh
bmQgZG9lc24ndCBjb25zaWRlciBjbGlwIG9uIGNsaXAuCiAgICAgZm9yIChOb2RlKiBjaGlsZE5v
ZGUgPSBub2RlKCktPmZpcnN0Q2hpbGQoKTsgY2hpbGROb2RlOyBjaGlsZE5vZGUgPSBjaGlsZE5v
ZGUtPm5leHRTaWJsaW5nKCkpIHsKICAgICAgICAgUmVuZGVyT2JqZWN0KiByZW5kZXJlciA9IGNo
aWxkTm9kZS0+cmVuZGVyZXIoKTsKLSAgICAgICAgaWYgKCFjaGlsZE5vZGUtPmlzU1ZHRWxlbWVu
dCgpIHx8ICF0b1NWR0VsZW1lbnQoY2hpbGROb2RlKS0+aXNTVkdTdHlsZWRFbGVtZW50KCkgfHwg
IXJlbmRlcmVyKQorICAgICAgICBpZiAoIWNoaWxkTm9kZS0+aXNTVkdFbGVtZW50KCkgfHwgIXJl
bmRlcmVyKQogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIGlmICghcmVuZGVyZXItPmlz
U1ZHU2hhcGUoKSAmJiAhcmVuZGVyZXItPmlzU1ZHVGV4dCgpICYmICFjaGlsZE5vZGUtPmhhc1Rh
Z05hbWUoU1ZHTmFtZXM6OnVzZVRhZykpCiAgICAgICAgICAgICBjb250aW51ZTsKQEAgLTMwNSw3
ICszMDQsNyBAQCBib29sIFJlbmRlclNWR1Jlc291cmNlQ2xpcHBlcjo6aGl0VGVzdENsaXBDb250
ZW50KGNvbnN0IEZsb2F0UmVjdCYgb2JqZWN0Qm91bmRpbgogCiAgICAgZm9yIChOb2RlKiBjaGls
ZE5vZGUgPSBub2RlKCktPmZpcnN0Q2hpbGQoKTsgY2hpbGROb2RlOyBjaGlsZE5vZGUgPSBjaGls
ZE5vZGUtPm5leHRTaWJsaW5nKCkpIHsKICAgICAgICAgUmVuZGVyT2JqZWN0KiByZW5kZXJlciA9
IGNoaWxkTm9kZS0+cmVuZGVyZXIoKTsKLSAgICAgICAgaWYgKCFjaGlsZE5vZGUtPmlzU1ZHRWxl
bWVudCgpIHx8ICF0b1NWR0VsZW1lbnQoY2hpbGROb2RlKS0+aXNTVkdTdHlsZWRFbGVtZW50KCkg
fHwgIXJlbmRlcmVyKQorICAgICAgICBpZiAoIWNoaWxkTm9kZS0+aXNTVkdFbGVtZW50KCkgfHwg
IXJlbmRlcmVyKQogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIGlmICghcmVuZGVyZXIt
PmlzU1ZHU2hhcGUoKSAmJiAhcmVuZGVyZXItPmlzU1ZHVGV4dCgpICYmICFjaGlsZE5vZGUtPmhh
c1RhZ05hbWUoU1ZHTmFtZXM6OnVzZVRhZykpCiAgICAgICAgICAgICBjb250aW51ZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VDb250
YWluZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJj
ZUNvbnRhaW5lci5jcHAKaW5kZXggMzhiZDY3YTYzNzM2ZTcxZjdiYWI0YmQzMWI4YzA4MjZjM2M3
MDUwNC4uMDBjNWYwNzUyNWU1MzUyODJjZDZhNWM0OGE3YmZjMTAwZjdjYmM1YSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5l
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJj
ZUNvbnRhaW5lci5jcHAKQEAgLTM5LDcgKzM5LDcgQEAgc3RhdGljIGlubGluZSBTVkdEb2N1bWVu
dEV4dGVuc2lvbnMqIHN2Z0V4dGVuc2lvbnNGcm9tTm9kZShOb2RlKiBub2RlKQogICAgIHJldHVy
biBub2RlLT5kb2N1bWVudCgpLT5hY2Nlc3NTVkdFeHRlbnNpb25zKCk7CiB9CiAKLVJlbmRlclNW
R1Jlc291cmNlQ29udGFpbmVyOjpSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lcihTVkdTdHlsZWRF
bGVtZW50KiBub2RlKQorUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXI6OlJlbmRlclNWR1Jlc291
cmNlQ29udGFpbmVyKFNWR0VsZW1lbnQqIG5vZGUpCiAgICAgOiBSZW5kZXJTVkdIaWRkZW5Db250
YWluZXIobm9kZSkKICAgICAsIG1faWQobm9kZS0+Z2V0SWRBdHRyaWJ1dGUoKSkKICAgICAsIG1f
cmVnaXN0ZXJlZChmYWxzZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dmcvUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIuaAppbmRleCBiMzRiNWUyY2EzNmMyMjk1
ZjI4MmM3MWZhMWI3MzZkODQwOGEyOTU1Li5kYTcyY2M5NjgyMDA5M2RlOWUwZDdkOTU1NmM2Njcy
NmRiMWIwY2MwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRl
clNWR1Jlc291cmNlQ29udGFpbmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2
Zy9SZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lci5oCkBAIC0zMSw3ICszMSw3IEBAIGNsYXNzIFJl
bmRlckxheWVyOwogY2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIgOiBwdWJsaWMgUmVu
ZGVyU1ZHSGlkZGVuQ29udGFpbmVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwdWJsaWMgUmVuZGVyU1ZHUmVzb3VyY2UgewogcHVibGljOgotICAgIFJlbmRlclNWR1Jlc291
cmNlQ29udGFpbmVyKFNWR1N0eWxlZEVsZW1lbnQqKTsKKyAgICBSZW5kZXJTVkdSZXNvdXJjZUNv
bnRhaW5lcihTVkdFbGVtZW50Kik7CiAgICAgdmlydHVhbCB+UmVuZGVyU1ZHUmVzb3VyY2VDb250
YWluZXIoKTsKIAogICAgIHZpcnR1YWwgdm9pZCBsYXlvdXQoKSBPVkVSUklERTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUZpbHRl
ci5jcHAKaW5kZXggYWVjMWU3YzFhMTlmMWE4MjRmMzNjMmQ0YzA4MzA1NzYxNjI1NDY4YS4uYWNl
MDU1M2FjMzU0OTJkYzNjYmEyMjIyZmZkMjhmYmY5ODdmNmUzOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUZpbHRlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUZpbHRlci5jcHAK
QEAgLTQ0LDcgKzQ0LDYgQEAKICNpbmNsdWRlICJTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0
dHJpYnV0ZXMuaCIKICNpbmNsdWRlICJTVkdOYW1lcy5oIgogI2luY2x1ZGUgIlNWR1JlbmRlcmlu
Z0NvbnRleHQuaCIKLSNpbmNsdWRlICJTVkdTdHlsZWRFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZH
VW5pdFR5cGVzLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlICJTb3VyY2VBbHBo
YS5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdS
ZXNvdXJjZUZpbHRlclByaW1pdGl2ZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9S
ZW5kZXJTVkdSZXNvdXJjZUZpbHRlclByaW1pdGl2ZS5oCmluZGV4IDEzOTdjN2ZhNTQ4Njc5Mjcz
MTMzYjhjY2E2ZTc0NmE3OWIzOWJjN2UuLjExMWY5MDRiMWI4MzcwYWQ4ZGNhOWE4ZTE5N2MzMWFk
MjdiMTExNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVy
U1ZHUmVzb3VyY2VGaWx0ZXJQcmltaXRpdmUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlRmlsdGVyUHJpbWl0aXZlLmgKQEAgLTM4LDcgKzM4LDcg
QEAgY2xhc3MgRmlsdGVyRWZmZWN0OwogCiBjbGFzcyBSZW5kZXJTVkdSZXNvdXJjZUZpbHRlclBy
aW1pdGl2ZSBGSU5BTCA6IHB1YmxpYyBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIgewogcHVibGlj
OgotICAgIGV4cGxpY2l0IFJlbmRlclNWR1Jlc291cmNlRmlsdGVyUHJpbWl0aXZlKFNWR1N0eWxl
ZEVsZW1lbnQqIGZpbHRlclByaW1pdGl2ZUVsZW1lbnQpCisgICAgZXhwbGljaXQgUmVuZGVyU1ZH
UmVzb3VyY2VGaWx0ZXJQcmltaXRpdmUoU1ZHRWxlbWVudCogZmlsdGVyUHJpbWl0aXZlRWxlbWVu
dCkKICAgICAgICAgOiBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIoZmlsdGVyUHJpbWl0aXZlRWxl
bWVudCkKICAgICB7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N2Zy9SZW5kZXJTVkdSZXNvdXJjZU1hcmtlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlTWFya2VyLmNwcAppbmRleCBiY2Y1MTdhZWY4NDQyMjFk
OGIzN2JhY2E3NGExOWY2OWJkM2FlN2U3Li4xMjZlNTE1YjgwMjg2Zjg1YTg3Y2M1NWFmZDllNzRi
MWIwYWY5ZjBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRl
clNWR1Jlc291cmNlTWFya2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1JlbmRlclNWR1Jlc291cmNlTWFya2VyLmNwcApAQCAtMzEsNyArMzEsNiBAQAogI2luY2x1ZGUg
IlNWR0dyYXBoaWNzRWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR01hcmtlckVsZW1lbnQuaCIKICNp
bmNsdWRlICJTVkdSZW5kZXJTdXBwb3J0LmgiCi0jaW5jbHVkZSAiU1ZHU3R5bGVkRWxlbWVudC5o
IgogI2luY2x1ZGUgPHd0Zi9TdGFja1N0YXRzLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VN
YXJrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VN
YXJrZXIuaAppbmRleCA3OGNjZThmZGQ5OGYxMDNlNWJjYmE1YTQ3ZWY5ZmE1NDZmMmI5MDBlLi42
Zjg5MTVlMThiOGY4YWNkZDRkM2E0NjgzYTMyM2Y5NjU2MTE3YzkzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlTWFya2VyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZU1hcmtlci5oCkBA
IC0yMyw4ICsyMyw4IEBACiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRlICJGbG9hdFJlY3QuaCIK
ICNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lci5oIgorI2luY2x1ZGUgIlNWR0Vs
ZW1lbnQuaCIKICNpbmNsdWRlICJTVkdNYXJrZXJFbGVtZW50LmgiCi0jaW5jbHVkZSAiU1ZHU3R5
bGVkRWxlbWVudC5oIgogCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZU1hc2tlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlTWFza2VyLmNw
cAppbmRleCBhM2JkZWM3MjZmMDc0YTNlYzEwMmI3MjcxZDFmMTU4ZDVmNzE4ZTRkLi5kMDE2MWUz
YzY2MTM0M2Q1Mzg0ODBiNDA2MzUwOWQ4Y2E4NzViYzA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlTWFza2VyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlTWFza2VyLmNwcApAQCAt
MzQsNyArMzQsNiBAQAogI2luY2x1ZGUgIlNWR0VsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdNYXNr
RWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR1JlbmRlcmluZ0NvbnRleHQuaCIKLSNpbmNsdWRlICJT
VkdTdHlsZWRFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHVW5pdFR5cGVzLmgiCiAjaW5jbHVkZSA8
d3RmL1ZlY3Rvci5oPgogCkBAIC0xMzUsNyArMTM0LDcgQEAgYm9vbCBSZW5kZXJTVkdSZXNvdXJj
ZU1hc2tlcjo6ZHJhd0NvbnRlbnRJbnRvTWFza0ltYWdlKE1hc2tlckRhdGEqIG1hc2tlckRhdGEs
IEMKICAgICAvLyBEcmF3IHRoZSBjb250ZW50IGludG8gdGhlIEltYWdlQnVmZmVyLgogICAgIGZv
ciAoTm9kZSogbm9kZSA9IG1hc2tFbGVtZW50LT5maXJzdENoaWxkKCk7IG5vZGU7IG5vZGUgPSBu
b2RlLT5uZXh0U2libGluZygpKSB7CiAgICAgICAgIFJlbmRlck9iamVjdCogcmVuZGVyZXIgPSBu
b2RlLT5yZW5kZXJlcigpOwotICAgICAgICBpZiAoIW5vZGUtPmlzU1ZHRWxlbWVudCgpIHx8ICF0
b1NWR0VsZW1lbnQobm9kZSktPmlzU1ZHU3R5bGVkRWxlbWVudCgpIHx8ICFyZW5kZXJlcikKKyAg
ICAgICAgaWYgKCFub2RlLT5pc1NWR0VsZW1lbnQoKSB8fCAhcmVuZGVyZXIpCiAgICAgICAgICAg
ICBjb250aW51ZTsKICAgICAgICAgaWYgKHJlbmRlcmVyLT5uZWVkc0xheW91dCgpKQogICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMTY0LDcgKzE2Myw3IEBAIHZvaWQgUmVuZGVyU1ZHUmVz
b3VyY2VNYXNrZXI6OmNhbGN1bGF0ZU1hc2tDb250ZW50UmVwYWludFJlY3QoKQogewogICAgIGZv
ciAoTm9kZSogY2hpbGROb2RlID0gbm9kZSgpLT5maXJzdENoaWxkKCk7IGNoaWxkTm9kZTsgY2hp
bGROb2RlID0gY2hpbGROb2RlLT5uZXh0U2libGluZygpKSB7CiAgICAgICAgIFJlbmRlck9iamVj
dCogcmVuZGVyZXIgPSBjaGlsZE5vZGUtPnJlbmRlcmVyKCk7Ci0gICAgICAgIGlmICghY2hpbGRO
b2RlLT5pc1NWR0VsZW1lbnQoKSB8fCAhdG9TVkdFbGVtZW50KGNoaWxkTm9kZSktPmlzU1ZHU3R5
bGVkRWxlbWVudCgpIHx8ICFyZW5kZXJlcikKKyAgICAgICAgaWYgKCFjaGlsZE5vZGUtPmlzU1ZH
RWxlbWVudCgpIHx8ICFyZW5kZXJlcikKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICBS
ZW5kZXJTdHlsZSogc3R5bGUgPSByZW5kZXJlci0+c3R5bGUoKTsKICAgICAgICAgaWYgKCFzdHls
ZSB8fCBzdHlsZS0+ZGlzcGxheSgpID09IE5PTkUgfHwgc3R5bGUtPnZpc2liaWxpdHkoKSAhPSBW
SVNJQkxFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJT
VkdSZXNvdXJjZVBhdHRlcm4uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5k
ZXJTVkdSZXNvdXJjZVBhdHRlcm4uY3BwCmluZGV4IGI5NmY5MTk0YTU3Y2M0Zjc1NTU5OWNmODYw
MTVkMjc4OTMwYzczMTEuLjYwN2Q1NzkyYmVmOWM2NzRmNzkzMmU5ODk4MDM3YzMxYTg1MTI3ZjYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3Vy
Y2VQYXR0ZXJuLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNW
R1Jlc291cmNlUGF0dGVybi5jcHAKQEAgLTI3Myw3ICsyNzMsNyBAQCBQYXNzT3duUHRyPEltYWdl
QnVmZmVyPiBSZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm46OmNyZWF0ZVRpbGVJbWFnZShjb25zdCBQ
YXR0ZXJuQQogCiAgICAgLy8gRHJhdyB0aGUgY29udGVudCBpbnRvIHRoZSBJbWFnZUJ1ZmZlci4K
ICAgICBmb3IgKE5vZGUqIG5vZGUgPSBhdHRyaWJ1dGVzLnBhdHRlcm5Db250ZW50RWxlbWVudCgp
LT5maXJzdENoaWxkKCk7IG5vZGU7IG5vZGUgPSBub2RlLT5uZXh0U2libGluZygpKSB7Ci0gICAg
ICAgIGlmICghbm9kZS0+aXNTVkdFbGVtZW50KCkgfHwgIXRvU1ZHRWxlbWVudChub2RlKS0+aXNT
VkdTdHlsZWRFbGVtZW50KCkgfHwgIW5vZGUtPnJlbmRlcmVyKCkpCisgICAgICAgIGlmICghbm9k
ZS0+aXNTVkdFbGVtZW50KCkgfHwgIW5vZGUtPnJlbmRlcmVyKCkpCiAgICAgICAgICAgICBjb250
aW51ZTsKICAgICAgICAgaWYgKG5vZGUtPnJlbmRlcmVyKCktPm5lZWRzTGF5b3V0KCkpCiAgICAg
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1JlbmRlclNWR1Jvb3QuY3BwCmluZGV4IGI4OWU4ZGU5ZjQ2MjUyNjc2NzdhNTNhOGM2NTQyY2M0
OGEwMGFlYjIuLjYyNzFkZmE0NjI3YTE2ZDk2MTY0NDg5Y2ZlN2Y5MTVhZDViMzBmNmQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcApAQCAtMzgs
MTMgKzM4LDEzIEBACiAjaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2UuaCIKICNpbmNsdWRlICJS
ZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lci5oIgogI2luY2x1ZGUgIlJlbmRlclZpZXcuaCIKKyNp
bmNsdWRlICJTVkdFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHSW1hZ2UuaCIKICNpbmNsdWRlICJT
VkdMZW5ndGguaCIKICNpbmNsdWRlICJTVkdSZW5kZXJpbmdDb250ZXh0LmgiCiAjaW5jbHVkZSAi
U1ZHUmVzb3VyY2VzLmgiCiAjaW5jbHVkZSAiU1ZHUmVzb3VyY2VzQ2FjaGUuaCIKICNpbmNsdWRl
ICJTVkdTVkdFbGVtZW50LmgiCi0jaW5jbHVkZSAiU1ZHU3R5bGVkRWxlbWVudC5oIgogI2luY2x1
ZGUgIlNWR1ZpZXdTcGVjLmgiCiAjaW5jbHVkZSAiVHJhbnNmb3JtU3RhdGUuaCIKICNpbmNsdWRl
IDx3dGYvU3RhY2tTdGF0cy5oPgpAQCAtNTcsNyArNTcsNyBAQCB1c2luZyBuYW1lc3BhY2Ugc3Rk
OwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVJlbmRlclNWR1Jvb3Q6OlJlbmRlclNWR1Jvb3Qo
U1ZHU3R5bGVkRWxlbWVudCogbm9kZSkKK1JlbmRlclNWR1Jvb3Q6OlJlbmRlclNWR1Jvb3QoU1ZH
RWxlbWVudCogbm9kZSkKICAgICA6IFJlbmRlclJlcGxhY2VkKG5vZGUpCiAgICAgLCBtX29iamVj
dEJvdW5kaW5nQm94VmFsaWQoZmFsc2UpCiAgICAgLCBtX2lzTGF5b3V0U2l6ZUNoYW5nZWQoZmFs
c2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jv
b3QuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5oCmluZGV4
IDM3OWNjYTM4NjVkNjIxOTQxNGE4ZmMxMTdkNzRjY2RmMmRiOTdjYzguLjNlYjA0MWY0NzNlYWVk
NGViZWRlYmExZjMyMDJmMzZhMGVmNWEyMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvUmVuZGVyU1ZHUm9vdC5oCkBAIC0zMiwxMSArMzIsMTEgQEAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgQWZmaW5lVHJhbnNmb3JtOwotY2xhc3MgU1ZHU3R5bGVkRWxlbWVudDsK
K2NsYXNzIFNWR0VsZW1lbnQ7CiAKIGNsYXNzIFJlbmRlclNWR1Jvb3QgRklOQUwgOiBwdWJsaWMg
UmVuZGVyUmVwbGFjZWQgewogcHVibGljOgotICAgIGV4cGxpY2l0IFJlbmRlclNWR1Jvb3QoU1ZH
U3R5bGVkRWxlbWVudCopOworICAgIGV4cGxpY2l0IFJlbmRlclNWR1Jvb3QoU1ZHRWxlbWVudCop
OwogICAgIHZpcnR1YWwgflJlbmRlclNWR1Jvb3QoKTsKIAogICAgIGJvb2wgaXNFbWJlZGRlZFRo
cm91Z2hTVkdJbWFnZSgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N2Zy9SZW5kZXJTVkdWaWV3cG9ydENvbnRhaW5lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyLmNwcAppbmRleCA4MzQ0NTJk
MjA5OWYwMTYxMTYzNmFjMTBkNzJjMTE1MDQzOGZhMmU1Li4yNWI5MGNlZTkyNGJmMGIwZjgxNzli
MDUxMDEwNGQxOTkyZWU0YmM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3ZnL1JlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyLmNwcApAQCAtMzQsNyArMzQs
NyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVJlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVy
OjpSZW5kZXJTVkdWaWV3cG9ydENvbnRhaW5lcihTVkdTdHlsZWRFbGVtZW50KiBub2RlKQorUmVu
ZGVyU1ZHVmlld3BvcnRDb250YWluZXI6OlJlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyKFNWR0Vs
ZW1lbnQqIG5vZGUpCiAgICAgOiBSZW5kZXJTVkdDb250YWluZXIobm9kZSkKICAgICAsIG1fZGlk
VHJhbnNmb3JtVG9Sb290VXBkYXRlKGZhbHNlKQogICAgICwgbV9pc0xheW91dFNpemVDaGFuZ2Vk
KGZhbHNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJT
VkdWaWV3cG9ydENvbnRhaW5lci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5k
ZXJTVkdWaWV3cG9ydENvbnRhaW5lci5oCmluZGV4IGQ3YzQzZTgwZjhmN2JhODE0MTdlNWIzYjMy
ZjM2YjBiNGUwODBmNTkuLjdhZDk0YTU0NmFjZTY1ZGJiODUzNzM1MTIwZjBiMjBhYjg5ZGUwNGYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHVmlld3Bv
cnRDb250YWluZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNW
R1ZpZXdwb3J0Q29udGFpbmVyLmgKQEAgLTMyLDcgKzMyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogLy8gdGh1cyB3ZSBpbmhlcml0IGZyb20gUmVuZGVyU1ZHQ29udGFpbmVyIGluc3RlYWQgb2Yg
UmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lcgogY2xhc3MgUmVuZGVyU1ZHVmlld3BvcnRD
b250YWluZXIgRklOQUwgOiBwdWJsaWMgUmVuZGVyU1ZHQ29udGFpbmVyIHsKIHB1YmxpYzoKLSAg
ICBleHBsaWNpdCBSZW5kZXJTVkdWaWV3cG9ydENvbnRhaW5lcihTVkdTdHlsZWRFbGVtZW50Kik7
CisgICAgZXhwbGljaXQgUmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXIoU1ZHRWxlbWVudCopOwog
ICAgIEZsb2F0UmVjdCB2aWV3cG9ydCgpIGNvbnN0IHsgcmV0dXJuIG1fdmlld3BvcnQ7IH0KIAog
ICAgIGJvb2wgaXNMYXlvdXRTaXplQ2hhbmdlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNMYXlvdXRT
aXplQ2hhbmdlZDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9T
VkdSZW5kZXJTdXBwb3J0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVu
ZGVyU3VwcG9ydC5jcHAKaW5kZXggNGZiYTc3NDA3NzRkZmQwZTIwZDJjNzU5YTgwZTg0Yzc5Y2Ez
ZGViMS4uYzY4NDExYWYwZjNiZjQxNmZiYWU2MzMzNjIxMjNiNTA3MjM2Mzc3NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJTdXBwb3J0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlclN1cHBvcnQuY3BwCkBAIC0z
OCw5ICszOCw5IEBACiAjaW5jbHVkZSAiUmVuZGVyU1ZHUm9vdC5oIgogI2luY2x1ZGUgIlJlbmRl
clNWR1RleHQuaCIKICNpbmNsdWRlICJSZW5kZXJTVkdWaWV3cG9ydENvbnRhaW5lci5oIgorI2lu
Y2x1ZGUgIlNWR0VsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdSZXNvdXJjZXMuaCIKICNpbmNsdWRl
ICJTVkdSZXNvdXJjZXNDYWNoZS5oIgotI2luY2x1ZGUgIlNWR1N0eWxlZEVsZW1lbnQuaCIKICNp
bmNsdWRlICJUcmFuc2Zvcm1TdGF0ZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0yNTQs
NyArMjU0LDcgQEAgdm9pZCBTVkdSZW5kZXJTdXBwb3J0OjpsYXlvdXRDaGlsZHJlbihSZW5kZXJP
YmplY3QqIHN0YXJ0LCBib29sIHNlbGZOZWVkc0xheW91dCkKICAgICAgICAgaWYgKGxheW91dFNp
emVDaGFuZ2VkKSB7CiAgICAgICAgICAgICAvLyBXaGVuIHNlbGZOZWVkc0xheW91dCBpcyBmYWxz
ZSBhbmQgdGhlIGxheW91dCBzaXplIGNoYW5nZWQsIHdlIGhhdmUgdG8gY2hlY2sgd2hldGhlciB0
aGlzIGNoaWxkIHVzZXMgcmVsYXRpdmUgbGVuZ3RocwogICAgICAgICAgICAgaWYgKFNWR0VsZW1l
bnQqIGVsZW1lbnQgPSBjaGlsZC0+bm9kZSgpLT5pc1NWR0VsZW1lbnQoKSA/IHRvU1ZHRWxlbWVu
dChjaGlsZC0+bm9kZSgpKSA6IDApIHsKLSAgICAgICAgICAgICAgICBpZiAoZWxlbWVudC0+aXNT
VkdTdHlsZWRFbGVtZW50KCkgJiYgdG9TVkdTdHlsZWRFbGVtZW50KGVsZW1lbnQpLT5oYXNSZWxh
dGl2ZUxlbmd0aHMoKSkgeworICAgICAgICAgICAgICAgIGlmIChlbGVtZW50LT5oYXNSZWxhdGl2
ZUxlbmd0aHMoKSkgewogICAgICAgICAgICAgICAgICAgICAvLyBXaGVuIHRoZSBsYXlvdXQgc2l6
ZSBjaGFuZ2VkIGFuZCB3aGVuIHVzaW5nIHJlbGF0aXZlIHZhbHVlcyB0ZWxsIHRoZSBSZW5kZXJT
VkdTaGFwZSB0byB1cGRhdGUgaXRzIHNoYXBlIG9iamVjdAogICAgICAgICAgICAgICAgICAgICBp
ZiAoY2hpbGQtPmlzU1ZHU2hhcGUoKSkKICAgICAgICAgICAgICAgICAgICAgICAgIHRvUmVuZGVy
U1ZHU2hhcGUoY2hpbGQpLT5zZXROZWVkc1NoYXBlVXBkYXRlKCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlclRyZWVBc1RleHQuY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJUcmVlQXNUZXh0LmNwcAppbmRleCA0ODgy
M2JjZGFlZDBiNDI4MWQ5MjFkOGEzOTc1ODllZjI4YjE2ZTc3Li4xOTdjMjg2YTYzYmUyNmIwZGEw
NDJiNzk0NTA5ZDllYjZhYmFlYTAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1NWR1JlbmRlclRyZWVBc1RleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvU1ZHUmVuZGVyVHJlZUFzVGV4dC5jcHAKQEAgLTU5LDYgKzU5LDcgQEAKICNpbmNs
dWRlICJSZW5kZXJTVkdUZXh0LmgiCiAjaW5jbHVkZSAiUmVuZGVyVHJlZUFzVGV4dC5oIgogI2lu
Y2x1ZGUgIlNWR0NpcmNsZUVsZW1lbnQuaCIKKyNpbmNsdWRlICJTVkdFbGVtZW50LmgiCiAjaW5j
bHVkZSAiU1ZHRWxsaXBzZUVsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdJbmxpbmVUZXh0Qm94Lmgi
CiAjaW5jbHVkZSAiU1ZHTGluZUVsZW1lbnQuaCIKQEAgLTczLDcgKzc0LDYgQEAKICNpbmNsdWRl
ICJTVkdSZWN0RWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR1Jvb3RJbmxpbmVCb3guaCIKICNpbmNs
dWRlICJTVkdTdG9wRWxlbWVudC5oIgotI2luY2x1ZGUgIlNWR1N0eWxlZEVsZW1lbnQuaCIKIAog
I2luY2x1ZGUgPG1hdGguaD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N2Zy9TVkdSZXNvdXJjZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdS
ZXNvdXJjZXMuY3BwCmluZGV4IDNiNWM1ZTgzYzVmNmZkNGVlNWJlMTgxZGY2ZDdkN2M1ZDIxNTRh
ZTguLjQ3M2E5ZTMxMWQ2ZGNmZDc2MDE2YTgzM2M1ZGQ0YzAyYzhiOGYyNjggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVzb3VyY2VzLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1Jlc291cmNlcy5jcHAKQEAgLTE3OSw4ICsxNzks
NyBAQCBzdGF0aWMgaW5saW5lIFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyKiBwYWludGluZ1Jl
c291cmNlRnJvbVNWR1BhaW50KERvY3VtZW50Kgogc3RhdGljIGlubGluZSB2b2lkIHJlZ2lzdGVy
UGVuZGluZ1Jlc291cmNlKFNWR0RvY3VtZW50RXh0ZW5zaW9ucyogZXh0ZW5zaW9ucywgY29uc3Qg
QXRvbWljU3RyaW5nJiBpZCwgU1ZHRWxlbWVudCogZWxlbWVudCkKIHsKICAgICBBU1NFUlQoZWxl
bWVudCk7Ci0gICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oZWxlbWVudC0+aXNT
VkdTdHlsZWRFbGVtZW50KCkpOwotICAgIGV4dGVuc2lvbnMtPmFkZFBlbmRpbmdSZXNvdXJjZShp
ZCwgdG9TVkdTdHlsZWRFbGVtZW50KGVsZW1lbnQpKTsKKyAgICBleHRlbnNpb25zLT5hZGRQZW5k
aW5nUmVzb3VyY2UoaWQsIGVsZW1lbnQpOwogfQogCiBib29sIFNWR1Jlc291cmNlczo6YnVpbGRD
YWNoZWRSZXNvdXJjZXMoY29uc3QgUmVuZGVyT2JqZWN0KiBvYmplY3QsIGNvbnN0IFNWR1JlbmRl
clN0eWxlKiBzdHlsZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
U1ZHUmVzb3VyY2VzQ2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdS
ZXNvdXJjZXNDYWNoZS5jcHAKaW5kZXggM2Y2ZTdkZWUxNWE3ZTIzNzc3NGYyYzU2NDNlMzllZDlh
ZDZjMjExMy4uMWY2ODc3ZDdhYzQ5YTA5MWE0M2Y2ODI1MzA5MjljMDk2NWY2YTJmZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZXNvdXJjZXNDYWNoZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZXNvdXJjZXNDYWNoZS5jcHAK
QEAgLTI0LDkgKzI0LDkgQEAKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJSZW5k
ZXJTVkdSZXNvdXJjZUNvbnRhaW5lci5oIgogI2luY2x1ZGUgIlNWR0RvY3VtZW50RXh0ZW5zaW9u
cy5oIgorI2luY2x1ZGUgIlNWR0VsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdSZXNvdXJjZXMuaCIK
ICNpbmNsdWRlICJTVkdSZXNvdXJjZXNDeWNsZVNvbHZlci5oIgotI2luY2x1ZGUgIlNWR1N0eWxl
ZEVsZW1lbnQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHQUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FFbGVt
ZW50LmNwcAppbmRleCA3ODRkNTYwM2U1NWRmNDFlYTgwNGI3ODM5Y2FhMDFkMmYzZGZkZGQ2Li5k
NWVjNmY2YzFiMTA2MWJiZTQ1ZmNlOGMxYmFhNTQ2N2Q3NDhhY2RjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHQUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdBRWxlbWVudC5jcHAKQEAgLTgzLDcgKzgzLDcgQEAgU3RyaW5nIFNWR0FFbGVtZW50Ojp0aXRs
ZSgpIGNvbnN0CiAgICAgICAgIHJldHVybiB0aXRsZTsKIAogICAgIC8vIE90aGVyd2lzZSwgdXNl
IHRoZSB0aXRsZSBvZiB0aGlzIGVsZW1lbnQuCi0gICAgcmV0dXJuIFNWR1N0eWxlZEVsZW1lbnQ6
OnRpdGxlKCk7CisgICAgcmV0dXJuIFNWR0VsZW1lbnQ6OnRpdGxlKCk7CiB9CiAKIGJvb2wgU1ZH
QUVsZW1lbnQ6OmlzU3VwcG9ydGVkQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJO
YW1lKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FsbEluT25lLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdBbGxJbk9uZS5jcHAKaW5kZXggYTFjNTBlOGZkNjVjODk3N2Fk
YTA3ZTAyMDVmNDM1NDA0N2JjM2M0OS4uN2I4MTg1ZDRkODE2MjRlOWM0MGQ1MGE4ZDUzZWNiNzM0
YjQ4OTg4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FsbEluT25lLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQWxsSW5PbmUuY3BwCkBAIC0xNTcsNyArMTU3LDYg
QEAKICNpbmNsdWRlICJTVkdTdG9wRWxlbWVudC5jcHAiCiAjaW5jbHVkZSAiU1ZHU3RyaW5nTGlz
dC5jcHAiCiAjaW5jbHVkZSAiU1ZHU3R5bGVFbGVtZW50LmNwcCIKLSNpbmNsdWRlICJTVkdTdHls
ZWRFbGVtZW50LmNwcCIKICNpbmNsdWRlICJTVkdTd2l0Y2hFbGVtZW50LmNwcCIKICNpbmNsdWRl
ICJTVkdTeW1ib2xFbGVtZW50LmNwcCIKICNpbmNsdWRlICJTVkdUUmVmRWxlbWVudC5jcHAiCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQWx0R2x5cGhEZWZFbGVtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHQWx0R2x5cGhEZWZFbGVtZW50LmgKaW5kZXggY2VkM2ExMDhi
Njc5MDQ0MDI4MjQ4N2E4MzdkZjE5N2U5OGM3MWUxZC4uMGY0MDlkZmU3NWVmN2E0NzNkNjg5NzRh
OTg3YzhiYmE4YjFiNGM0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FsdEds
eXBoRGVmRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbHRHbHlwaERlZkVs
ZW1lbnQuaApAQCAtMzQsNiArMzQsOCBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgU1ZHQWx0
R2x5cGhEZWZFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOworCisgICAg
dmlydHVhbCBib29sIHJlbmRlcmVySXNOZWVkZWQoY29uc3QgUmVuZGVyU3R5bGUmKSBPVkVSUklE
RSB7IHJldHVybiBmYWxzZTsgfQogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0FsdEdseXBoSXRlbUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbHRH
bHlwaEl0ZW1FbGVtZW50LmgKaW5kZXggMTBkYmFiNjllN2Y3MzQyOGQxYWQ0N2FhODg1MTc3Zjky
OGU3MmVlZC4uMDNjNWE4NTNjODllZGVlYzRhNzI3ODg1YWM4NjNhYjNkYTJmOTMyZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FsdEdseXBoSXRlbUVsZW1lbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHQWx0R2x5cGhJdGVtRWxlbWVudC5oCkBAIC0zNCw2ICszNCw4
IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICBTVkdBbHRHbHlwaEl0ZW1FbGVtZW50KGNvbnN0
IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOworCisgICAgdmlydHVhbCBib29sIHJlbmRlcmVy
SXNOZWVkZWQoY29uc3QgUmVuZGVyU3R5bGUmKSBPVkVSUklERSB7IHJldHVybiBmYWxzZTsgfQog
fTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVFbGVtZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlRWxlbWVudC5jcHAKaW5kZXggZGFi
NzAyNmY0YTU2YmY3ZTY4NWU4MjJjOGI3ZmE0MWRlNjJhMjY0ZC4uMTY1OTVkMTYwNTJmMzBmZDk1
ZTc2MmI4OWZlYmUwYjE1OThiMTlkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0FuaW1hdGVFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZUVs
ZW1lbnQuY3BwCkBAIC0zMCw4ICszMCw4IEBACiAjaW5jbHVkZSAiUXVhbGlmaWVkTmFtZS5oIgog
I2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgogI2luY2x1ZGUgIlNWR0FuaW1hdG9yRmFjdG9yeS5o
IgorI2luY2x1ZGUgIlNWR0VsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdOYW1lcy5oIgotI2luY2x1
ZGUgIlNWR1N0eWxlZEVsZW1lbnQuaCIKICNpbmNsdWRlICJTdHlsZVByb3BlcnR5U2V0LmgiCiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdB
bmltYXRlZFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkVHlwZS5jcHAK
aW5kZXggMzNhMThhN2ZiNDhhOTEzMWM2MzA2MTQzNzVlYjM5Njg1OTRkNmNjMy4uYjNmZDdhMGVi
N2FjZmRjMTI0MjU0MzBlNTg5YWU2ODE1MzEzZTFiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0FuaW1hdGVkVHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0Fu
aW1hdGVkVHlwZS5jcHAKQEAgLTI1MSw3ICsyNTEsNyBAQCBTdHJpbmcgU1ZHQW5pbWF0ZWRUeXBl
Ojp2YWx1ZUFzU3RyaW5nKCkKICAgICAgICAgQVNTRVJUKG1fZGF0YS5zdHJpbmcpOwogICAgICAg
ICByZXR1cm4gKm1fZGF0YS5zdHJpbmc7CiAKLSAgICAvLyBUaGVzZSB0eXBlcyBkb24ndCBhcHBl
YXIgaW4gdGhlIHRhYmxlIGluIFNWR1N0eWxlZEVsZW1lbnQ6OmNzc1Byb3BlcnR5VG9UeXBlTWFw
KCkgYW5kIHRodXMgZG9uJ3QgbmVlZCB2YWx1ZUFzU3RyaW5nKCkgc3VwcG9ydC4KKyAgICAvLyBU
aGVzZSB0eXBlcyBkb24ndCBhcHBlYXIgaW4gdGhlIHRhYmxlIGluIFNWR0VsZW1lbnQ6OmNzc1By
b3BlcnR5VG9UeXBlTWFwKCkgYW5kIHRodXMgZG9uJ3QgbmVlZCB2YWx1ZUFzU3RyaW5nKCkgc3Vw
cG9ydC4KICAgICBjYXNlIEFuaW1hdGVkQW5nbGU6CiAgICAgY2FzZSBBbmltYXRlZEJvb2xlYW46
CiAgICAgY2FzZSBBbmltYXRlZEVudW1lcmF0aW9uOgpAQCAtMzAyLDcgKzMwMiw3IEBAIGJvb2wg
U1ZHQW5pbWF0ZWRUeXBlOjpzZXRWYWx1ZUFzU3RyaW5nKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0
dHJOYW1lLCBjb25zdCBTdHJpCiAgICAgICAgICptX2RhdGEuc3RyaW5nID0gdmFsdWU7CiAgICAg
ICAgIGJyZWFrOwogCi0gICAgLy8gVGhlc2UgdHlwZXMgZG9uJ3QgYXBwZWFyIGluIHRoZSB0YWJs
ZSBpbiBTVkdTdHlsZWRFbGVtZW50Ojpjc3NQcm9wZXJ0eVRvVHlwZU1hcCgpIGFuZCB0aHVzIGRv
bid0IG5lZWQgc2V0VmFsdWVBc1N0cmluZygpIHN1cHBvcnQuIAorICAgIC8vIFRoZXNlIHR5cGVz
IGRvbid0IGFwcGVhciBpbiB0aGUgdGFibGUgaW4gU1ZHRWxlbWVudDo6Y3NzUHJvcGVydHlUb1R5
cGVNYXAoKSBhbmQgdGh1cyBkb24ndCBuZWVkIHNldFZhbHVlQXNTdHJpbmcoKSBzdXBwb3J0LiAK
ICAgICBjYXNlIEFuaW1hdGVkQW5nbGU6CiAgICAgY2FzZSBBbmltYXRlZEJvb2xlYW46CiAgICAg
Y2FzZSBBbmltYXRlZEVudW1lcmF0aW9uOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0FuaW1hdGlvbkVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGlv
bkVsZW1lbnQuY3BwCmluZGV4IGY1ZGU0N2EzZTQ0YzdiYzk5ZDBjNTRlMjgxNmVkNjZiZWFlZTdh
NDkuLjJkMmQ3ZWJmMDFlOThkYjM2YjU2MzBiMTFlOTlmMjI1ZGZkNWZlMTAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRpb25FbGVtZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHQW5pbWF0aW9uRWxlbWVudC5jcHAKQEAgLTM1LDEwICszNSwxMCBAQAog
I2luY2x1ZGUgIkZsb2F0Q29udmVyc2lvbi5oIgogI2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgog
I2luY2x1ZGUgIlNWR0FuaW1hdGVFbGVtZW50LmgiCisjaW5jbHVkZSAiU1ZHRWxlbWVudC5oIgog
I2luY2x1ZGUgIlNWR0VsZW1lbnRJbnN0YW5jZS5oIgogI2luY2x1ZGUgIlNWR05hbWVzLmgiCiAj
aW5jbHVkZSAiU1ZHUGFyc2VyVXRpbGl0aWVzLmgiCi0jaW5jbHVkZSAiU1ZHU3R5bGVkRWxlbWVu
dC5oIgogI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
QEAgLTM1MSwxMyArMzUxLDkgQEAgYm9vbCBTVkdBbmltYXRpb25FbGVtZW50Ojppc0FjY3VtdWxh
dGVkKCkgY29uc3QKICAgICByZXR1cm4gdmFsdWUgPT0gc3VtICYmIGFuaW1hdGlvbk1vZGUoKSAh
PSBUb0FuaW1hdGlvbjsKIH0KIAotYm9vbCBTVkdBbmltYXRpb25FbGVtZW50Ojppc1RhcmdldEF0
dHJpYnV0ZUNTU1Byb3BlcnR5KFNWR0VsZW1lbnQqIHRhcmdldEVsZW1lbnQsIGNvbnN0IFF1YWxp
ZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUpCitib29sIFNWR0FuaW1hdGlvbkVsZW1lbnQ6OmlzVGFy
Z2V0QXR0cmlidXRlQ1NTUHJvcGVydHkoU1ZHRWxlbWVudCosIGNvbnN0IFF1YWxpZmllZE5hbWUm
IGF0dHJpYnV0ZU5hbWUpCiB7Ci0gICAgQVNTRVJUKHRhcmdldEVsZW1lbnQpOwotICAgIGlmICgh
dGFyZ2V0RWxlbWVudC0+aXNTVkdTdHlsZWRFbGVtZW50KCkpCi0gICAgICAgIHJldHVybiBmYWxz
ZTsKLQotICAgIHJldHVybiBTVkdTdHlsZWRFbGVtZW50Ojppc0FuaW1hdGFibGVDU1NQcm9wZXJ0
eShhdHRyaWJ1dGVOYW1lKTsKKyAgICByZXR1cm4gU1ZHRWxlbWVudDo6aXNBbmltYXRhYmxlQ1NT
UHJvcGVydHkoYXR0cmlidXRlTmFtZSk7CiB9CiAKIFNWR0FuaW1hdGlvbkVsZW1lbnQ6OlNob3Vs
ZEFwcGx5QW5pbWF0aW9uIFNWR0FuaW1hdGlvbkVsZW1lbnQ6OnNob3VsZEFwcGx5QW5pbWF0aW9u
KFNWR0VsZW1lbnQqIHRhcmdldEVsZW1lbnQsIGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0
ZU5hbWUpCkBAIC02MzQsNyArNjMwLDYgQEAgdm9pZCBTVkdBbmltYXRpb25FbGVtZW50Ojp1cGRh
dGVBbmltYXRpb24oZmxvYXQgcGVyY2VudCwgdW5zaWduZWQgcmVwZWF0Q291bnQsIFMKIHZvaWQg
U1ZHQW5pbWF0aW9uRWxlbWVudDo6Y29tcHV0ZUNTU1Byb3BlcnR5VmFsdWUoU1ZHRWxlbWVudCog
ZWxlbWVudCwgQ1NTUHJvcGVydHlJRCBpZCwgU3RyaW5nJiB2YWx1ZVN0cmluZykKIHsKICAgICBB
U1NFUlQoZWxlbWVudCk7Ci0gICAgQVNTRVJUKGVsZW1lbnQtPmlzU1ZHU3R5bGVkRWxlbWVudCgp
KTsKIAogICAgIC8vIERvbid0IGluY2x1ZGUgYW55IHByb3BlcnRpZXMgcmVzdWx0aW5nIGZyb20g
Q1NTIFRyYW5zaXRpb25zL0FuaW1hdGlvbnMgb3IgU01JTCBhbmltYXRpb25zLCBhcyB3ZSB3YW50
IHRvIHJldHJpZXZlIHRoZSAiYmFzZSB2YWx1ZSIuCiAgICAgZWxlbWVudC0+c2V0VXNlT3ZlcnJp
ZGVDb21wdXRlZFN0eWxlKHRydWUpOwpAQCAtNjU0LDE5ICs2NDksMTYgQEAgdm9pZCBTVkdBbmlt
YXRpb25FbGVtZW50OjphZGp1c3RGb3JJbmhlcml0YW5jZShTVkdFbGVtZW50KiB0YXJnZXRFbGVt
ZW50LCBjb25zdAogICAgICAgICByZXR1cm47CiAKICAgICBTVkdFbGVtZW50KiBzdmdQYXJlbnQg
PSB0b1NWR0VsZW1lbnQocGFyZW50KTsKLSAgICBpZiAoIXN2Z1BhcmVudC0+aXNTVkdTdHlsZWRF
bGVtZW50KCkpCi0gICAgICAgIHJldHVybjsKICAgICBjb21wdXRlQ1NTUHJvcGVydHlWYWx1ZShz
dmdQYXJlbnQsIGNzc1Byb3BlcnR5SUQoYXR0cmlidXRlTmFtZS5sb2NhbE5hbWUoKSksIHZhbHVl
KTsKIH0KIAotc3RhdGljIGJvb2wgaW5oZXJpdHNGcm9tUHJvcGVydHkoU1ZHRWxlbWVudCogdGFy
Z2V0RWxlbWVudCwgY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRlTmFtZSwgY29uc3QgU3Ry
aW5nJiB2YWx1ZSkKK3N0YXRpYyBib29sIGluaGVyaXRzRnJvbVByb3BlcnR5KFNWR0VsZW1lbnQq
LCBjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyaWJ1dGVOYW1lLCBjb25zdCBTdHJpbmcmIHZhbHVl
KQogewotICAgIEFTU0VSVCh0YXJnZXRFbGVtZW50KTsKICAgICBERUZJTkVfU1RBVElDX0xPQ0FM
KGNvbnN0IEF0b21pY1N0cmluZywgaW5oZXJpdCwgKCJpbmhlcml0IiwgQXRvbWljU3RyaW5nOjpD
b25zdHJ1Y3RGcm9tTGl0ZXJhbCkpOwogICAgIAotICAgIGlmICh2YWx1ZS5pc0VtcHR5KCkgfHwg
dmFsdWUgIT0gaW5oZXJpdCB8fCAhdGFyZ2V0RWxlbWVudC0+aXNTVkdTdHlsZWRFbGVtZW50KCkp
CisgICAgaWYgKHZhbHVlLmlzRW1wdHkoKSB8fCB2YWx1ZSAhPSBpbmhlcml0KQogICAgICAgICBy
ZXR1cm4gZmFsc2U7Ci0gICAgcmV0dXJuIFNWR1N0eWxlZEVsZW1lbnQ6OmlzQW5pbWF0YWJsZUNT
U1Byb3BlcnR5KGF0dHJpYnV0ZU5hbWUpOworICAgIHJldHVybiBTVkdFbGVtZW50Ojppc0FuaW1h
dGFibGVDU1NQcm9wZXJ0eShhdHRyaWJ1dGVOYW1lKTsKIH0KIAogdm9pZCBTVkdBbmltYXRpb25F
bGVtZW50OjpkZXRlcm1pbmVQcm9wZXJ0eVZhbHVlVHlwZXMoY29uc3QgU3RyaW5nJiBmcm9tLCBj
b25zdCBTdHJpbmcmIHRvKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0NvbXBv
bmVudFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQ29t
cG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQuaAppbmRleCAzZWNiMWY3MTRlMDMzZGZmMTZj
NjI3YmQzOTVjYjFlY2Q0ODU0ODJmLi5kNWJmMjVmOGY1ZDUwY2ExYTFmMDQzMDRmZjFhMzAwYjc5
ZWMzZDdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQ29tcG9uZW50VHJhbnNm
ZXJGdW5jdGlvbkVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQ29tcG9uZW50
VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQuaApAQCAtODAsNiArODAsOCBAQCBwcm90ZWN0ZWQ6CiAg
ICAgYm9vbCBpc1N1cHBvcnRlZEF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJik7CiAgICAg
dmlydHVhbCB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBB
dG9taWNTdHJpbmcmKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgc3ZnQXR0cmlidXRlQ2hh
bmdlZChjb25zdCBRdWFsaWZpZWROYW1lJik7CisKKyAgICB2aXJ0dWFsIGJvb2wgcmVuZGVyZXJJ
c05lZWRlZChjb25zdCBSZW5kZXJTdHlsZSYpIE9WRVJSSURFIHsgcmV0dXJuIGZhbHNlOyB9CiAg
ICAgCiBwcml2YXRlOgogICAgIEJFR0lOX0RFQ0xBUkVfQU5JTUFURURfUFJPUEVSVElFUyhTVkdD
b21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdDdXJzb3JFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQ3Vyc29y
RWxlbWVudC5oCmluZGV4IGExN2VlMzY1ZGEyYjRhMDQ4YThjY2JjODE4NGQ0Y2FmOGM3NTNhZjgu
LjhjNWIzYjMxMzFjYWQwMDdiM2QwNjRjZDk2Mjk3Nzg4YTg4MDNjZjEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdDdXJzb3JFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0N1cnNvckVsZW1lbnQuaApAQCAtNTQsNiArNTQsOCBAQCBwcml2YXRlOgogICAgIHZp
cnR1YWwgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRv
bWljU3RyaW5nJikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5n
ZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYpOwogCisgICAgdmlydHVhbCBib29sIHJlbmRlcmVySXNO
ZWVkZWQoY29uc3QgUmVuZGVyU3R5bGUmKSBPVkVSUklERSB7IHJldHVybiBmYWxzZTsgfQorCiAg
ICAgdmlydHVhbCB2b2lkIGFkZFN1YnJlc291cmNlQXR0cmlidXRlVVJMcyhMaXN0SGFzaFNldDxL
VVJMPiYpIGNvbnN0OwogCiAgICAgQkVHSU5fREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUSUVTKFNW
R0N1cnNvckVsZW1lbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRGVzY0Vs
ZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0Rlc2NFbGVtZW50LmNwcAppbmRleCAy
MDBmNzQ4MjRlMmRiMDdiOGZjNjc3ZTgwOGE0YjAzYzllNjdhMmFmLi5kY2ViZmI1YWZjYTc3ZWUz
NTc2NmU5YzZhZTdiZDU3ODA2NzQwYzMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHRGVzY0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdEZXNjRWxlbWVu
dC5jcHAKQEAgLTI2LDcgKzI2LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogaW5saW5lIFNW
R0Rlc2NFbGVtZW50OjpTVkdEZXNjRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1l
LCBEb2N1bWVudCogZG9jdW1lbnQpCi0gICAgOiBTVkdTdHlsZWRFbGVtZW50KHRhZ05hbWUsIGRv
Y3VtZW50KQorICAgIDogU1ZHRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKIHsKICAgICBBU1NF
UlQoaGFzVGFnTmFtZShTVkdOYW1lczo6ZGVzY1RhZykpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0Rlc2NFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRGVz
Y0VsZW1lbnQuaAppbmRleCAxMmZlZTgyM2U4ZGI3YzU2YzZmMzczNmVhYjU4OTBkMjQ4Nzc1N2M3
Li44YTVjYzQyNjBlMDIxMzQ1YmQ5OWE0NmEyNGI4ZDQ4M2NkMWZlMTllIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHRGVzY0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHRGVzY0VsZW1lbnQuaApAQCAtMjIsMTEgKzIyLDExIEBACiAjZGVmaW5lIFNWR0Rlc2NF
bGVtZW50X2gKIAogI2lmIEVOQUJMRShTVkcpCi0jaW5jbHVkZSAiU1ZHU3R5bGVkRWxlbWVudC5o
IgorI2luY2x1ZGUgIlNWR0VsZW1lbnQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFz
cyBTVkdEZXNjRWxlbWVudCBGSU5BTCA6IHB1YmxpYyBTVkdTdHlsZWRFbGVtZW50IHsKK2NsYXNz
IFNWR0Rlc2NFbGVtZW50IEZJTkFMIDogcHVibGljIFNWR0VsZW1lbnQgewogcHVibGljOgogICAg
IHN0YXRpYyBQYXNzUmVmUHRyPFNWR0Rlc2NFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVk
TmFtZSYsIERvY3VtZW50Kik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdE
ZXNjRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRGVzY0VsZW1lbnQuaWRsCmlu
ZGV4IDEzNDZiNDcyYmM3Nzk5YWMwMWUwMGQyYjAxNTBiZWJlNzA2YzZlYTQuLmRiN2I3ZDgxNjA3
ODJhNjliODllMGJlYTY0ZWJkOTBkOWE4YWRmNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdEZXNjRWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0Rlc2NF
bGVtZW50LmlkbApAQCAtMjUsNiArMjUsNiBAQAogCiBbCiAgICAgQ29uZGl0aW9uYWw9U1ZHCi1d
IGludGVyZmFjZSBTVkdEZXNjRWxlbWVudCA6IFNWR1N0eWxlZEVsZW1lbnQgeworXSBpbnRlcmZh
Y2UgU1ZHRGVzY0VsZW1lbnQgOiBTVkdFbGVtZW50IHsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVt
ZW50LmNwcAppbmRleCA3MDNhZjllNzE5ZDY5Y2FmYTVhNWFlYjRlYzNjMTMwMzIzMDMyOTlhLi41
NDFlNDhmYTEyMWQzZDY2MzZlZGZhM2E4YjE0MjI1MDM5NjdlNzI1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0VsZW1lbnQuY3BwCkBAIC00LDYgKzQsNyBAQAogICogQ29weXJpZ2h0IChDKSAyMDA4IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAwOCBBbHAgVG9r
ZXIgPGFscEBhdG9rZXIuY29tPgogICogQ29weXJpZ2h0IChDKSAyMDA5IENhbWVyb24gTWNDb3Jt
YWNrIDxjYW1AbWNjLmlkLmF1PgorICogQ29weXJpZ2h0IChDKSAyMDEzIFNhbXN1bmcgRWxlY3Ry
b25pY3MuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUg
c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVu
ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTI2LDEy
ICsyNywyMCBAQAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiU1ZHRWxlbWVudC5oIgogCisj
aW5jbHVkZSAiQXR0ci5oIgogI2luY2x1ZGUgIkNTU0N1cnNvckltYWdlVmFsdWUuaCIKKyNpbmNs
dWRlICJDU1NQYXJzZXIuaCIKICNpbmNsdWRlICJET01JbXBsZW1lbnRhdGlvbi5oIgogI2luY2x1
ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiRWxlbWVudFRyYXZlcnNhbC5oIgogI2luY2x1ZGUg
IkV2ZW50LmgiCisjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5o
IgogI2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgorI2luY2x1ZGUgIlJlbmRlclNWR1Jlc291cmNl
LmgiCisjaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmgiCisjaW5jbHVkZSAiUmVu
ZGVyU1ZHUmVzb3VyY2VGaWx0ZXIuaCIKKyNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZU1hc2tl
ci5oIgogI2luY2x1ZGUgIlNWR0N1cnNvckVsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdEb2N1bWVu
dEV4dGVuc2lvbnMuaCIKICNpbmNsdWRlICJTVkdFbGVtZW50SW5zdGFuY2UuaCIKQEAgLTM5LDE5
ICs0OCwxMTMgQEAKICNpbmNsdWRlICJTVkdHcmFwaGljc0VsZW1lbnQuaCIKICNpbmNsdWRlICJT
VkdJbWFnZUVsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdOYW1lcy5oIgorI2luY2x1ZGUgIlNWR1Jl
bmRlclN0eWxlLmgiCisjaW5jbHVkZSAiU1ZHUmVuZGVyU3VwcG9ydC5oIgogI2luY2x1ZGUgIlNW
R1NWR0VsZW1lbnQuaCIKKyNpbmNsdWRlICJTVkdVc2VFbGVtZW50LmgiCiAjaW5jbHVkZSAiU2Ny
aXB0RXZlbnRMaXN0ZW5lci5oIgogI2luY2x1ZGUgIlNoYWRvd1Jvb3QuaCIKICNpbmNsdWRlICJY
TGlua05hbWVzLmgiCiAjaW5jbHVkZSAiWE1MTmFtZXMuaCIKKyNpbmNsdWRlIDx3dGYvQXNzZXJ0
aW9ucy5oPgorI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CisjaW5jbHVkZSA8d3RmL1N0ZExpYkV4
dHJhcy5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAorLy8gQW5pbWF0ZWQgcHJvcGVydHkgZGVmaW5pdGlvbnMKK0RFRklORV9BTklN
QVRFRF9TVFJJTkcoU1ZHRWxlbWVudCwgSFRNTE5hbWVzOjpjbGFzc0F0dHIsIENsYXNzTmFtZSwg
Y2xhc3NOYW1lKQorCitCRUdJTl9SRUdJU1RFUl9BTklNQVRFRF9QUk9QRVJUSUVTKFNWR0VsZW1l
bnQpCisgICAgUkVHSVNURVJfTE9DQUxfQU5JTUFURURfUFJPUEVSVFkoY2xhc3NOYW1lKQorRU5E
X1JFR0lTVEVSX0FOSU1BVEVEX1BST1BFUlRJRVMKKwogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1l
czsKK3VzaW5nIG5hbWVzcGFjZSBTVkdOYW1lczsKKwordm9pZCBtYXBBdHRyaWJ1dGVUb0NTU1By
b3BlcnR5KEhhc2hNYXA8QXRvbWljU3RyaW5nSW1wbCosIENTU1Byb3BlcnR5SUQ+KiBwcm9wZXJ0
eU5hbWVUb0lkTWFwLCBjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSkKK3sKKyAgICAvLyBG
SVhNRTogd2hlbiBDU1Mgc3VwcG9ydHMgInRyYW5zZm9ybS1vcmlnaW4iIHRoZSBzcGVjaWFsIGNh
c2UgZm9yIHRyYW5zZm9ybV9vcmlnaW5BdHRyIGNhbiBiZSByZW1vdmVkLgorICAgIENTU1Byb3Bl
cnR5SUQgcHJvcGVydHlJZCA9IGNzc1Byb3BlcnR5SUQoYXR0ck5hbWUubG9jYWxOYW1lKCkpOwor
ICAgIGlmICghcHJvcGVydHlJZCAmJiBhdHRyTmFtZSA9PSB0cmFuc2Zvcm1fb3JpZ2luQXR0cikK
KyAgICAgICAgcHJvcGVydHlJZCA9IENTU1Byb3BlcnR5V2Via2l0VHJhbnNmb3JtT3JpZ2luOyAv
LyBjc3NQcm9wZXJ0eUlEKCItd2Via2l0LXRyYW5zZm9ybS1vcmlnaW4iKQorICAgIEFTU0VSVChw
cm9wZXJ0eUlkID4gMCk7CisgICAgcHJvcGVydHlOYW1lVG9JZE1hcC0+c2V0KGF0dHJOYW1lLmxv
Y2FsTmFtZSgpLmltcGwoKSwgcHJvcGVydHlJZCk7Cit9CisKK3R5cGVkZWYgSGFzaE1hcDxRdWFs
aWZpZWROYW1lLCBBbmltYXRlZFByb3BlcnR5VHlwZT4gQXR0cmlidXRlVG9Qcm9wZXJ0eVR5cGVN
YXA7CitzdGF0aWMgaW5saW5lIEF0dHJpYnV0ZVRvUHJvcGVydHlUeXBlTWFwJiBjc3NQcm9wZXJ0
eVRvVHlwZU1hcCgpCit7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdHRyaWJ1dGVUb1Byb3Bl
cnR5VHlwZU1hcCwgc19jc3NQcm9wZXJ0eU1hcCwgKCkpOworCisgICAgaWYgKCFzX2Nzc1Byb3Bl
cnR5TWFwLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIHNfY3NzUHJvcGVydHlNYXA7CisKKyAg
ICAvLyBGaWxsIHRoZSBtYXAgZm9yIHRoZSBmaXJzdCB1c2UuCisgICAgc19jc3NQcm9wZXJ0eU1h
cC5zZXQoYWxpZ25tZW50X2Jhc2VsaW5lQXR0ciwgQW5pbWF0ZWRTdHJpbmcpOworICAgIHNfY3Nz
UHJvcGVydHlNYXAuc2V0KGJhc2VsaW5lX3NoaWZ0QXR0ciwgQW5pbWF0ZWRTdHJpbmcpOworICAg
IHNfY3NzUHJvcGVydHlNYXAuc2V0KGJ1ZmZlcmVkX3JlbmRlcmluZ0F0dHIsIEFuaW1hdGVkU3Ry
aW5nKTsKKyAgICBzX2Nzc1Byb3BlcnR5TWFwLnNldChjbGlwQXR0ciwgQW5pbWF0ZWRSZWN0KTsK
KyAgICBzX2Nzc1Byb3BlcnR5TWFwLnNldChjbGlwX3BhdGhBdHRyLCBBbmltYXRlZFN0cmluZyk7
CisgICAgc19jc3NQcm9wZXJ0eU1hcC5zZXQoY2xpcF9ydWxlQXR0ciwgQW5pbWF0ZWRTdHJpbmcp
OworICAgIHNfY3NzUHJvcGVydHlNYXAuc2V0KFNWR05hbWVzOjpjb2xvckF0dHIsIEFuaW1hdGVk
Q29sb3IpOworICAgIHNfY3NzUHJvcGVydHlNYXAuc2V0KGNvbG9yX2ludGVycG9sYXRpb25BdHRy
LCBBbmltYXRlZFN0cmluZyk7CisgICAgc19jc3NQcm9wZXJ0eU1hcC5zZXQoY29sb3JfaW50ZXJw
b2xhdGlvbl9maWx0ZXJzQXR0ciwgQW5pbWF0ZWRTdHJpbmcpOworICAgIHNfY3NzUHJvcGVydHlN
YXAuc2V0KGNvbG9yX3Byb2ZpbGVBdHRyLCBBbmltYXRlZFN0cmluZyk7CisgICAgc19jc3NQcm9w
ZXJ0eU1hcC5zZXQoY29sb3JfcmVuZGVyaW5nQXR0ciwgQW5pbWF0ZWRTdHJpbmcpOworICAgIHNf
Y3NzUHJvcGVydHlNYXAuc2V0KGN1cnNvckF0dHIsIEFuaW1hdGVkU3RyaW5nKTsKKyAgICBzX2Nz
c1Byb3BlcnR5TWFwLnNldChkaXNwbGF5QXR0ciwgQW5pbWF0ZWRTdHJpbmcpOworICAgIHNfY3Nz
UHJvcGVydHlNYXAuc2V0KGRvbWluYW50X2Jhc2VsaW5lQXR0ciwgQW5pbWF0ZWRTdHJpbmcpOwor
ICAgIHNfY3NzUHJvcGVydHlNYXAuc2V0KGZpbGxBdHRyLCBBbmltYXRlZENvbG9yKTsKKyAgICBz
X2Nzc1Byb3BlcnR5TWFwLnNldChmaWxsX29wYWNpdHlBdHRyLCBBbmltYXRlZE51bWJlcik7Cisg
ICAgc19jc3NQcm9wZXJ0eU1hcC5zZXQoZmlsbF9ydWxlQXR0ciwgQW5pbWF0ZWRTdHJpbmcpOwor
ICAgIHNfY3NzUHJvcGVydHlNYXAuc2V0KGZpbHRlckF0dHIsIEFuaW1hdGVkU3RyaW5nKTsKKyAg
ICBzX2Nzc1Byb3BlcnR5TWFwLnNldChmbG9vZF9jb2xvckF0dHIsIEFuaW1hdGVkQ29sb3IpOwor
ICAgIHNfY3NzUHJvcGVydHlNYXAuc2V0KGZsb29kX29wYWNpdHlBdHRyLCBBbmltYXRlZE51bWJl
cik7CisgICAgc19jc3NQcm9wZXJ0eU1hcC5zZXQoZm9udF9mYW1pbHlBdHRyLCBBbmltYXRlZFN0
cmluZyk7CisgICAgc19jc3NQcm9wZXJ0eU1hcC5zZXQoZm9udF9zaXplQXR0ciwgQW5pbWF0ZWRM
ZW5ndGgpOworICAgIHNfY3NzUHJvcGVydHlNYXAuc2V0KGZvbnRfc3RyZXRjaEF0dHIsIEFuaW1h
dGVkU3RyaW5nKTsKKyAgICBzX2Nzc1Byb3BlcnR5TWFwLnNldChmb250X3N0eWxlQXR0ciwgQW5p
bWF0ZWRTdHJpbmcpOworICAgIHNfY3NzUHJvcGVydHlNYXAuc2V0KGZvbnRfdmFyaWFudEF0dHIs
IEFuaW1hdGVkU3RyaW5nKTsKKyAgICBzX2Nzc1Byb3BlcnR5TWFwLnNldChmb250X3dlaWdodEF0
dHIsIEFuaW1hdGVkU3RyaW5nKTsKKyAgICBzX2Nzc1Byb3BlcnR5TWFwLnNldChpbWFnZV9yZW5k
ZXJpbmdBdHRyLCBBbmltYXRlZFN0cmluZyk7CisgICAgc19jc3NQcm9wZXJ0eU1hcC5zZXQoa2Vy
bmluZ0F0dHIsIEFuaW1hdGVkTGVuZ3RoKTsKKyAgICBzX2Nzc1Byb3BlcnR5TWFwLnNldChsZXR0
ZXJfc3BhY2luZ0F0dHIsIEFuaW1hdGVkTGVuZ3RoKTsKKyAgICBzX2Nzc1Byb3BlcnR5TWFwLnNl
dChsaWdodGluZ19jb2xvckF0dHIsIEFuaW1hdGVkQ29sb3IpOworICAgIHNfY3NzUHJvcGVydHlN
YXAuc2V0KG1hcmtlcl9lbmRBdHRyLCBBbmltYXRlZFN0cmluZyk7CisgICAgc19jc3NQcm9wZXJ0
eU1hcC5zZXQobWFya2VyX21pZEF0dHIsIEFuaW1hdGVkU3RyaW5nKTsKKyAgICBzX2Nzc1Byb3Bl
cnR5TWFwLnNldChtYXJrZXJfc3RhcnRBdHRyLCBBbmltYXRlZFN0cmluZyk7CisgICAgc19jc3NQ
cm9wZXJ0eU1hcC5zZXQobWFza0F0dHIsIEFuaW1hdGVkU3RyaW5nKTsKKyAgICBzX2Nzc1Byb3Bl
cnR5TWFwLnNldChtYXNrX3R5cGVBdHRyLCBBbmltYXRlZFN0cmluZyk7CisgICAgc19jc3NQcm9w
ZXJ0eU1hcC5zZXQob3BhY2l0eUF0dHIsIEFuaW1hdGVkTnVtYmVyKTsKKyAgICBzX2Nzc1Byb3Bl
cnR5TWFwLnNldChvdmVyZmxvd0F0dHIsIEFuaW1hdGVkU3RyaW5nKTsKKyAgICBzX2Nzc1Byb3Bl
cnR5TWFwLnNldChwb2ludGVyX2V2ZW50c0F0dHIsIEFuaW1hdGVkU3RyaW5nKTsKKyAgICBzX2Nz
c1Byb3BlcnR5TWFwLnNldChzaGFwZV9yZW5kZXJpbmdBdHRyLCBBbmltYXRlZFN0cmluZyk7Cisg
ICAgc19jc3NQcm9wZXJ0eU1hcC5zZXQoc3RvcF9jb2xvckF0dHIsIEFuaW1hdGVkQ29sb3IpOwor
ICAgIHNfY3NzUHJvcGVydHlNYXAuc2V0KHN0b3Bfb3BhY2l0eUF0dHIsIEFuaW1hdGVkTnVtYmVy
KTsKKyAgICBzX2Nzc1Byb3BlcnR5TWFwLnNldChzdHJva2VBdHRyLCBBbmltYXRlZENvbG9yKTsK
KyAgICBzX2Nzc1Byb3BlcnR5TWFwLnNldChzdHJva2VfZGFzaGFycmF5QXR0ciwgQW5pbWF0ZWRM
ZW5ndGhMaXN0KTsKKyAgICBzX2Nzc1Byb3BlcnR5TWFwLnNldChzdHJva2VfZGFzaG9mZnNldEF0
dHIsIEFuaW1hdGVkTGVuZ3RoKTsKKyAgICBzX2Nzc1Byb3BlcnR5TWFwLnNldChzdHJva2VfbGlu
ZWNhcEF0dHIsIEFuaW1hdGVkU3RyaW5nKTsKKyAgICBzX2Nzc1Byb3BlcnR5TWFwLnNldChzdHJv
a2VfbGluZWpvaW5BdHRyLCBBbmltYXRlZFN0cmluZyk7CisgICAgc19jc3NQcm9wZXJ0eU1hcC5z
ZXQoc3Ryb2tlX21pdGVybGltaXRBdHRyLCBBbmltYXRlZE51bWJlcik7CisgICAgc19jc3NQcm9w
ZXJ0eU1hcC5zZXQoc3Ryb2tlX29wYWNpdHlBdHRyLCBBbmltYXRlZE51bWJlcik7CisgICAgc19j
c3NQcm9wZXJ0eU1hcC5zZXQoc3Ryb2tlX3dpZHRoQXR0ciwgQW5pbWF0ZWRMZW5ndGgpOworICAg
IHNfY3NzUHJvcGVydHlNYXAuc2V0KHRleHRfYW5jaG9yQXR0ciwgQW5pbWF0ZWRTdHJpbmcpOwor
ICAgIHNfY3NzUHJvcGVydHlNYXAuc2V0KHRleHRfZGVjb3JhdGlvbkF0dHIsIEFuaW1hdGVkU3Ry
aW5nKTsKKyAgICBzX2Nzc1Byb3BlcnR5TWFwLnNldCh0ZXh0X3JlbmRlcmluZ0F0dHIsIEFuaW1h
dGVkU3RyaW5nKTsKKyAgICBzX2Nzc1Byb3BlcnR5TWFwLnNldCh2ZWN0b3JfZWZmZWN0QXR0ciwg
QW5pbWF0ZWRTdHJpbmcpOworICAgIHNfY3NzUHJvcGVydHlNYXAuc2V0KHZpc2liaWxpdHlBdHRy
LCBBbmltYXRlZFN0cmluZyk7CisgICAgc19jc3NQcm9wZXJ0eU1hcC5zZXQod29yZF9zcGFjaW5n
QXR0ciwgQW5pbWF0ZWRMZW5ndGgpOworICAgIHJldHVybiBzX2Nzc1Byb3BlcnR5TWFwOworfQog
CiBTVkdFbGVtZW50OjpTVkdFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERv
Y3VtZW50KiBkb2N1bWVudCkKICAgICA6IFN0eWxlZEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQs
IENyZWF0ZVNWR0VsZW1lbnQpCiB7CisgICAgcmVnaXN0ZXJBbmltYXRlZFByb3BlcnRpZXNGb3JT
VkdFbGVtZW50KCk7CiB9CiAKIFNWR0VsZW1lbnQ6On5TVkdFbGVtZW50KCkKQEAgLTc2LDYgKzE3
OSwxMSBAQCBTVkdFbGVtZW50Ojp+U1ZHRWxlbWVudCgpCiAgICAgICAgIGl0ID0gcmFyZURhdGFN
YXAuZmluZCh0aGlzKTsKICAgICAgICAgQVNTRVJUKGl0ICE9IHJhcmVEYXRhTWFwLmVuZCgpKTsK
ICAgICAgICAgcmFyZURhdGFNYXAucmVtb3ZlKGl0KTsKKworICAgICAgICAvLyBDbGVhciBIYXNT
VkdSYXJlRGF0YSBmbGFnIG5vdyBzbyB0aGF0IHdlIGFyZSBpbiBhIGNvbnNpc3RlbnQgc3RhdGUg
d2hlbgorICAgICAgICAvLyBjYWxsaW5nIHJlYnVpbGRBbGxFbGVtZW50UmVmZXJlbmNlc0ZvclRh
cmdldCgpIGFuZAorICAgICAgICAvLyByZW1vdmVBbGxFbGVtZW50UmVmZXJlbmNlc0ZvclRhcmdl
dCgpIGJlbG93LgorICAgICAgICBjbGVhckhhc1NWR1JhcmVEYXRhKCk7CiAgICAgfQogICAgIEFT
U0VSVChkb2N1bWVudCgpKTsKICAgICBkb2N1bWVudCgpLT5hY2Nlc3NTVkdFeHRlbnNpb25zKCkt
PnJlYnVpbGRBbGxFbGVtZW50UmVmZXJlbmNlc0ZvclRhcmdldCh0aGlzKTsKQEAgLTE3NCw2ICsy
ODIsOCBAQCB2b2lkIFNWR0VsZW1lbnQ6OnNldFhtbGJhc2UoY29uc3QgU3RyaW5nJiB2YWx1ZSwg
RXhjZXB0aW9uQ29kZSYpCiB2b2lkIFNWR0VsZW1lbnQ6OnJlbW92ZWRGcm9tKENvbnRhaW5lck5v
ZGUqIHJvb3RQYXJlbnQpCiB7CiAgICAgYm9vbCB3YXNJbkRvY3VtZW50ID0gcm9vdFBhcmVudC0+
aW5Eb2N1bWVudCgpOworICAgIGlmICh3YXNJbkRvY3VtZW50KQorICAgICAgICB1cGRhdGVSZWxh
dGl2ZUxlbmd0aHNJbmZvcm1hdGlvbihmYWxzZSwgdGhpcyk7CiAKICAgICBTdHlsZWRFbGVtZW50
OjpyZW1vdmVkRnJvbShyb290UGFyZW50KTsKIApAQCAtMTgxLDYgKzI5MSw3IEBAIHZvaWQgU1ZH
RWxlbWVudDo6cmVtb3ZlZEZyb20oQ29udGFpbmVyTm9kZSogcm9vdFBhcmVudCkKICAgICAgICAg
ZG9jdW1lbnQoKS0+YWNjZXNzU1ZHRXh0ZW5zaW9ucygpLT5yZWJ1aWxkQWxsRWxlbWVudFJlZmVy
ZW5jZXNGb3JUYXJnZXQodGhpcyk7CiAgICAgICAgIGRvY3VtZW50KCktPmFjY2Vzc1NWR0V4dGVu
c2lvbnMoKS0+cmVtb3ZlQWxsRWxlbWVudFJlZmVyZW5jZXNGb3JUYXJnZXQodGhpcyk7CiAgICAg
fQorICAgIFNWR0VsZW1lbnRJbnN0YW5jZTo6aW52YWxpZGF0ZUFsbEluc3RhbmNlc09mRWxlbWVu
dCh0aGlzKTsKIH0KIAogU1ZHU1ZHRWxlbWVudCogU1ZHRWxlbWVudDo6b3duZXJTVkdFbGVtZW50
KCkgY29uc3QKQEAgLTMyOSw2ICs0NDAsOCBAQCB2b2lkIFNWR0VsZW1lbnQ6OnBhcnNlQXR0cmli
dXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0cmluZyYgdgogICAg
ICAgICBzZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS5mb2N1c291dEV2ZW50
LCBjcmVhdGVBdHRyaWJ1dGVFdmVudExpc3RlbmVyKHRoaXMsIG5hbWUsIHZhbHVlKSk7CiAgICAg
ZWxzZSBpZiAobmFtZSA9PSBTVkdOYW1lczo6b25hY3RpdmF0ZUF0dHIpCiAgICAgICAgIHNldEF0
dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLkRPTUFjdGl2YXRlRXZlbnQsIGNyZWF0
ZUF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIodGhpcywgbmFtZSwgdmFsdWUpKTsKKyAgICBlbHNlIGlm
IChuYW1lID09IEhUTUxOYW1lczo6Y2xhc3NBdHRyKQorICAgICAgICBzZXRDbGFzc05hbWVCYXNl
VmFsdWUodmFsdWUpOwogICAgIGVsc2UgaWYgKFNWR0xhbmdTcGFjZTo6cGFyc2VBdHRyaWJ1dGUo
bmFtZSwgdmFsdWUpKSB7CiAgICAgfSBlbHNlCiAgICAgICAgIFN0eWxlZEVsZW1lbnQ6OnBhcnNl
QXR0cmlidXRlKG5hbWUsIHZhbHVlKTsKQEAgLTMzNyw2ICs0NTAsMTMgQEAgdm9pZCBTVkdFbGVt
ZW50OjpwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9t
aWNTdHJpbmcmIHYKIHZvaWQgU1ZHRWxlbWVudDo6YW5pbWF0ZWRQcm9wZXJ0eVR5cGVGb3JBdHRy
aWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRlTmFtZSwgVmVjdG9yPEFuaW1hdGVk
UHJvcGVydHlUeXBlPiYgcHJvcGVydHlUeXBlcykKIHsKICAgICBsb2NhbEF0dHJpYnV0ZVRvUHJv
cGVydHlNYXAoKS5hbmltYXRlZFByb3BlcnR5VHlwZUZvckF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1l
LCBwcm9wZXJ0eVR5cGVzKTsKKworICAgIGlmICghcHJvcGVydHlUeXBlcy5pc0VtcHR5KCkpCisg
ICAgICAgIHJldHVybjsKKworICAgIEF0dHJpYnV0ZVRvUHJvcGVydHlUeXBlTWFwJiBjc3NQcm9w
ZXJ0eVR5cGVNYXAgPSBjc3NQcm9wZXJ0eVRvVHlwZU1hcCgpOworICAgIGlmIChjc3NQcm9wZXJ0
eVR5cGVNYXAuY29udGFpbnMoYXR0cmlidXRlTmFtZSkpCisgICAgICAgIHByb3BlcnR5VHlwZXMu
YXBwZW5kKGNzc1Byb3BlcnR5VHlwZU1hcC5nZXQoYXR0cmlidXRlTmFtZSkpOwogfQogCiBib29s
IFNWR0VsZW1lbnQ6OmhhdmVMb2FkZWRSZXF1aXJlZFJlc291cmNlcygpCkBAIC0zNTYsMTMgKzQ3
Niw5IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBjb2xsZWN0SW5zdGFuY2VzRm9yU1ZHRWxlbWVudChT
VkdFbGVtZW50KiBlbGVtZW50LCBIYXNoU2V0PFNWCiAgICAgaWYgKGVsZW1lbnQtPmNvbnRhaW5p
bmdTaGFkb3dSb290KCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmICghZWxlbWVudC0+aXNT
VkdTdHlsZWRFbGVtZW50KCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIFNWR1N0eWxlZEVsZW1l
bnQqIHN0eWxlZEVsZW1lbnQgPSB0b1NWR1N0eWxlZEVsZW1lbnQoZWxlbWVudCk7Ci0gICAgQVNT
RVJUKCFzdHlsZWRFbGVtZW50LT5pbnN0YW5jZVVwZGF0ZXNCbG9ja2VkKCkpOworICAgIEFTU0VS
VCghZWxlbWVudC0+aW5zdGFuY2VVcGRhdGVzQmxvY2tlZCgpKTsKIAotICAgIGluc3RhbmNlcyA9
IHN0eWxlZEVsZW1lbnQtPmluc3RhbmNlc0ZvckVsZW1lbnQoKTsKKyAgICBpbnN0YW5jZXMgPSBl
bGVtZW50LT5pbnN0YW5jZXNGb3JFbGVtZW50KCk7CiB9CiAKIGJvb2wgU1ZHRWxlbWVudDo6YWRk
RXZlbnRMaXN0ZW5lcihjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgUGFzc1JlZlB0cjxF
dmVudExpc3RlbmVyPiBwcnBMaXN0ZW5lciwgYm9vbCB1c2VDYXB0dXJlKQpAQCAtNTYzLDEyICs2
NzksNiBAQCB2b2lkIFNWR0VsZW1lbnQ6OnN5bmNocm9uaXplQW5pbWF0ZWRTVkdBdHRyaWJ1dGUo
Y29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSkgY29ucwogICAgICAgICBub25Db25zdFRoaXMtPmxv
Y2FsQXR0cmlidXRlVG9Qcm9wZXJ0eU1hcCgpLnN5bmNocm9uaXplUHJvcGVydHkobm9uQ29uc3RU
aGlzLCBuYW1lKTsKIH0KIAotU1ZHQXR0cmlidXRlVG9Qcm9wZXJ0eU1hcCYgU1ZHRWxlbWVudDo6
bG9jYWxBdHRyaWJ1dGVUb1Byb3BlcnR5TWFwKCkKLXsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FM
KFNWR0F0dHJpYnV0ZVRvUHJvcGVydHlNYXAsIGVtcHR5TWFwLCAoKSk7Ci0gICAgcmV0dXJuIGVt
cHR5TWFwOwotfQotCiB2b2lkIFNWR0VsZW1lbnQ6OnN5bmNocm9uaXplUmVxdWlyZWRGZWF0dXJl
cyhTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCkKIHsKICAgICBBU1NFUlQoY29udGV4dEVsZW1l
bnQpOwpAQCAtNzM1LDEyICs4NDUsMzEyIEBAIGJvb2wgU1ZHRWxlbWVudDo6aXNBbmltYXRhYmxl
QXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUpIGNvbnN0CiAgICAgfQogCiAgICAg
aWYgKG5hbWUgPT0gY2xhc3NBdHRyKQotICAgICAgICByZXR1cm4gaXNTVkdTdHlsZWRFbGVtZW50
KCk7CisgICAgICAgIHJldHVybiB0cnVlOwogCiAgICAgcmV0dXJuIGFuaW1hdGFibGVBdHRyaWJ1
dGVzLmNvbnRhaW5zKG5hbWUpOwogfQogI2VuZGlmCiAKK1N0cmluZyBTVkdFbGVtZW50Ojp0aXRs
ZSgpIGNvbnN0Cit7CisgICAgLy8gQWNjb3JkaW5nIHRvIHNwZWMsIHdlIHNob3VsZCBub3QgcmV0
dXJuIHRpdGxlcyB3aGVuIGhvdmVyaW5nIG92ZXIgcm9vdCA8c3ZnPiBlbGVtZW50cyAodGhvc2UK
KyAgICAvLyA8dGl0bGU+IGVsZW1lbnRzIGFyZSB0aGUgdGl0bGUgb2YgdGhlIGRvY3VtZW50LCBu
b3QgYSB0b29sdGlwKSBzbyB3ZSBpbnN0YW50bHkgcmV0dXJuLgorICAgIGlmIChpc091dGVybW9z
dFNWR1NWR0VsZW1lbnQoKSkKKyAgICAgICAgcmV0dXJuIFN0cmluZygpOworCisgICAgLy8gV2Fs
ayB1cCB0aGUgdHJlZSwgdG8gZmluZCBvdXQgd2hldGhlciB3ZSdyZSBpbnNpZGUgYSA8dXNlPiBz
aGFkb3cgdHJlZSwgdG8gZmluZCB0aGUgcmlnaHQgdGl0bGUuCisgICAgaWYgKGlzSW5TaGFkb3dU
cmVlKCkpIHsKKyAgICAgICAgRWxlbWVudCogc2hhZG93SG9zdEVsZW1lbnQgPSB0b1NoYWRvd1Jv
b3QodHJlZVNjb3BlKCktPnJvb3ROb2RlKCkpLT5ob3N0RWxlbWVudCgpOworICAgICAgICAvLyBB
dCB0aGlzIHRpbWUsIFNWRyBub2RlcyBhcmUgbm90IGFsbG93ZWQgaW4gbm9uLTx1c2U+IHNoYWRv
dyB0cmVlcywgc28gYW55IHNoYWRvdyByb290IHdlIGRvCisgICAgICAgIC8vIGhhdmUgc2hvdWxk
IGJlIGEgdXNlLiBUaGUgYXNzZXJ0IGFuZCBmb2xsb3dpbmcgdGVzdCBpcyBoZXJlIHRvIGNhdGNo
IGZ1dHVyZSBzaGFkb3cgRE9NIGNoYW5nZXMKKyAgICAgICAgLy8gdGhhdCBkbyBlbmFibGUgU1ZH
IGluIGEgc2hhZG93IHRyZWUuCisgICAgICAgIEFTU0VSVCghc2hhZG93SG9zdEVsZW1lbnQgfHwg
c2hhZG93SG9zdEVsZW1lbnQtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OnVzZVRhZykpOworICAgICAg
ICBpZiAoc2hhZG93SG9zdEVsZW1lbnQgJiYgc2hhZG93SG9zdEVsZW1lbnQtPmhhc1RhZ05hbWUo
U1ZHTmFtZXM6OnVzZVRhZykpIHsKKyAgICAgICAgICAgIFNWR1VzZUVsZW1lbnQqIHVzZUVsZW1l
bnQgPSB0b1NWR1VzZUVsZW1lbnQoc2hhZG93SG9zdEVsZW1lbnQpOworCisgICAgICAgICAgICAv
LyBJZiB0aGUgPHVzZT4gdGl0bGUgaXMgbm90IGVtcHR5IHdlIGZvdW5kIHRoZSB0aXRsZSB0byB1
c2UuCisgICAgICAgICAgICBTdHJpbmcgdXNlVGl0bGUodXNlRWxlbWVudC0+dGl0bGUoKSk7Cisg
ICAgICAgICAgICBpZiAoIXVzZVRpdGxlLmlzRW1wdHkoKSkKKyAgICAgICAgICAgICAgICByZXR1
cm4gdXNlVGl0bGU7CisgICAgICAgIH0KKyAgICB9CisKKyAgICAvLyBJZiB3ZSBhcmVuJ3QgYW4g
aW5zdGFuY2UgaW4gYSA8dXNlPiBvciB0aGUgPHVzZT4gdGl0bGUgd2FzIG5vdCBmb3VuZCwgdGhl
biBmaW5kIHRoZSBmaXJzdAorICAgIC8vIDx0aXRsZT4gY2hpbGQgb2YgdGhpcyBlbGVtZW50Lgor
ICAgIEVsZW1lbnQqIHRpdGxlRWxlbWVudCA9IEVsZW1lbnRUcmF2ZXJzYWw6OmZpcnN0V2l0aGlu
KHRoaXMpOworICAgIGZvciAoOyB0aXRsZUVsZW1lbnQ7IHRpdGxlRWxlbWVudCA9IEVsZW1lbnRU
cmF2ZXJzYWw6Om5leHRTaWJsaW5nKHRpdGxlRWxlbWVudCkpIHsKKyAgICAgICAgaWYgKHRpdGxl
RWxlbWVudC0+aGFzVGFnTmFtZShTVkdOYW1lczo6dGl0bGVUYWcpICYmIHRpdGxlRWxlbWVudC0+
aXNTVkdFbGVtZW50KCkpCisgICAgICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICAvLyBJZiBh
IHRpdGxlIGNoaWxkIHdhcyBmb3VuZCwgcmV0dXJuIHRoZSB0ZXh0IGNvbnRlbnRzLgorICAgIGlm
ICh0aXRsZUVsZW1lbnQpCisgICAgICAgIHJldHVybiB0aXRsZUVsZW1lbnQtPmlubmVyVGV4dCgp
OworCisgICAgLy8gT3RoZXJ3aXNlIHJldHVybiBhIG51bGwvZW1wdHkgc3RyaW5nLgorICAgIHJl
dHVybiBTdHJpbmcoKTsKK30KKworYm9vbCBTVkdFbGVtZW50OjpyZW5kZXJlcklzTmVlZGVkKGNv
bnN0IFJlbmRlclN0eWxlJiBzdHlsZSkKK3sKKyAgICAvLyBodHRwOi8vd3d3LnczLm9yZy9UUi9T
VkcvZXh0ZW5kLmh0bWwjUHJpdmF0ZURhdGEKKyAgICAvLyBQcmV2ZW50IGFueXRoaW5nIG90aGVy
IHRoYW4gU1ZHIHJlbmRlcmVycyBmcm9tIGFwcGVhcmluZyBpbiBvdXIgcmVuZGVyIHRyZWUKKyAg
ICAvLyBTcGVjOiBTVkcgYWxsb3dzIGluY2x1c2lvbiBvZiBlbGVtZW50cyBmcm9tIGZvcmVpZ24g
bmFtZXNwYWNlcyBhbnl3aGVyZQorICAgIC8vIHdpdGggdGhlIFNWRyBjb250ZW50LiBJbiBnZW5l
cmFsLCB0aGUgU1ZHIHVzZXIgYWdlbnQgd2lsbCBpbmNsdWRlIHRoZSB1bmtub3duCisgICAgLy8g
ZWxlbWVudHMgaW4gdGhlIERPTSBidXQgd2lsbCBvdGhlcndpc2UgaWdub3JlIHVua25vd24gZWxl
bWVudHMuCisgICAgaWYgKCFwYXJlbnRPclNoYWRvd0hvc3RFbGVtZW50KCkgfHwgcGFyZW50T3JT
aGFkb3dIb3N0RWxlbWVudCgpLT5pc1NWR0VsZW1lbnQoKSkKKyAgICAgICAgcmV0dXJuIFN0eWxl
ZEVsZW1lbnQ6OnJlbmRlcmVySXNOZWVkZWQoc3R5bGUpOworCisgICAgcmV0dXJuIGZhbHNlOwor
fQorCitDU1NQcm9wZXJ0eUlEIFNWR0VsZW1lbnQ6OmNzc1Byb3BlcnR5SWRGb3JTVkdBdHRyaWJ1
dGVOYW1lKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lKQoreworICAgIGlmICghYXR0ck5h
bWUubmFtZXNwYWNlVVJJKCkuaXNOdWxsKCkpCisgICAgICAgIHJldHVybiBDU1NQcm9wZXJ0eUlu
dmFsaWQ7CisKKyAgICBzdGF0aWMgSGFzaE1hcDxBdG9taWNTdHJpbmdJbXBsKiwgQ1NTUHJvcGVy
dHlJRD4qIHByb3BlcnR5TmFtZVRvSWRNYXAgPSAwOworICAgIGlmICghcHJvcGVydHlOYW1lVG9J
ZE1hcCkgeworICAgICAgICBwcm9wZXJ0eU5hbWVUb0lkTWFwID0gbmV3IEhhc2hNYXA8QXRvbWlj
U3RyaW5nSW1wbCosIENTU1Byb3BlcnR5SUQ+OworICAgICAgICAvLyBUaGlzIGlzIGEgbGlzdCBv
ZiBhbGwgYmFzZSBDU1MgYW5kIFNWRyBDU1MgcHJvcGVydGllcyB3aGljaCBhcmUgZXhwb3NlZCBh
cyBTVkcgWE1MIGF0dHJpYnV0ZXMKKyAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShw
cm9wZXJ0eU5hbWVUb0lkTWFwLCBhbGlnbm1lbnRfYmFzZWxpbmVBdHRyKTsKKyAgICAgICAgbWFw
QXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBiYXNlbGluZV9zaGlm
dEF0dHIpOworICAgICAgICBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5TmFtZVRv
SWRNYXAsIGJ1ZmZlcmVkX3JlbmRlcmluZ0F0dHIpOworICAgICAgICBtYXBBdHRyaWJ1dGVUb0NT
U1Byb3BlcnR5KHByb3BlcnR5TmFtZVRvSWRNYXAsIGNsaXBBdHRyKTsKKyAgICAgICAgbWFwQXR0
cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBjbGlwX3BhdGhBdHRyKTsK
KyAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBj
bGlwX3J1bGVBdHRyKTsKKyAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0
eU5hbWVUb0lkTWFwLCBTVkdOYW1lczo6Y29sb3JBdHRyKTsKKyAgICAgICAgbWFwQXR0cmlidXRl
VG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBjb2xvcl9pbnRlcnBvbGF0aW9uQXR0
cik7CisgICAgICAgIG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1h
cCwgY29sb3JfaW50ZXJwb2xhdGlvbl9maWx0ZXJzQXR0cik7CisgICAgICAgIG1hcEF0dHJpYnV0
ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwgY29sb3JfcHJvZmlsZUF0dHIpOwor
ICAgICAgICBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5TmFtZVRvSWRNYXAsIGNv
bG9yX3JlbmRlcmluZ0F0dHIpOworICAgICAgICBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHBy
b3BlcnR5TmFtZVRvSWRNYXAsIGN1cnNvckF0dHIpOworICAgICAgICBtYXBBdHRyaWJ1dGVUb0NT
U1Byb3BlcnR5KHByb3BlcnR5TmFtZVRvSWRNYXAsIFNWR05hbWVzOjpkaXJlY3Rpb25BdHRyKTsK
KyAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBk
aXNwbGF5QXR0cik7CisgICAgICAgIG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlO
YW1lVG9JZE1hcCwgZG9taW5hbnRfYmFzZWxpbmVBdHRyKTsKKyAgICAgICAgbWFwQXR0cmlidXRl
VG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBlbmFibGVfYmFja2dyb3VuZEF0dHIp
OworICAgICAgICBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5TmFtZVRvSWRNYXAs
IGZpbGxBdHRyKTsKKyAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5h
bWVUb0lkTWFwLCBmaWxsX29wYWNpdHlBdHRyKTsKKyAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQ
cm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBmaWxsX3J1bGVBdHRyKTsKKyAgICAgICAgbWFw
QXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBmaWx0ZXJBdHRyKTsK
KyAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBm
bG9vZF9jb2xvckF0dHIpOworICAgICAgICBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHByb3Bl
cnR5TmFtZVRvSWRNYXAsIGZsb29kX29wYWNpdHlBdHRyKTsKKyAgICAgICAgbWFwQXR0cmlidXRl
VG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBmb250X2ZhbWlseUF0dHIpOworICAg
ICAgICBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5TmFtZVRvSWRNYXAsIGZvbnRf
c2l6ZUF0dHIpOworICAgICAgICBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5TmFt
ZVRvSWRNYXAsIGZvbnRfc3RyZXRjaEF0dHIpOworICAgICAgICBtYXBBdHRyaWJ1dGVUb0NTU1By
b3BlcnR5KHByb3BlcnR5TmFtZVRvSWRNYXAsIGZvbnRfc3R5bGVBdHRyKTsKKyAgICAgICAgbWFw
QXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBmb250X3ZhcmlhbnRB
dHRyKTsKKyAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lk
TWFwLCBmb250X3dlaWdodEF0dHIpOworICAgICAgICBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5
KHByb3BlcnR5TmFtZVRvSWRNYXAsIGdseXBoX29yaWVudGF0aW9uX2hvcml6b250YWxBdHRyKTsK
KyAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBn
bHlwaF9vcmllbnRhdGlvbl92ZXJ0aWNhbEF0dHIpOworICAgICAgICBtYXBBdHRyaWJ1dGVUb0NT
U1Byb3BlcnR5KHByb3BlcnR5TmFtZVRvSWRNYXAsIGltYWdlX3JlbmRlcmluZ0F0dHIpOworICAg
ICAgICBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5TmFtZVRvSWRNYXAsIGtlcm5p
bmdBdHRyKTsKKyAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVU
b0lkTWFwLCBsZXR0ZXJfc3BhY2luZ0F0dHIpOworICAgICAgICBtYXBBdHRyaWJ1dGVUb0NTU1By
b3BlcnR5KHByb3BlcnR5TmFtZVRvSWRNYXAsIGxpZ2h0aW5nX2NvbG9yQXR0cik7CisgICAgICAg
IG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwgbWFya2VyX2Vu
ZEF0dHIpOworICAgICAgICBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5TmFtZVRv
SWRNYXAsIG1hcmtlcl9taWRBdHRyKTsKKyAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0
eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBtYXJrZXJfc3RhcnRBdHRyKTsKKyAgICAgICAgbWFwQXR0
cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBtYXNrQXR0cik7CisgICAg
ICAgIG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwgbWFza190
eXBlQXR0cik7CisgICAgICAgIG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlOYW1l
VG9JZE1hcCwgb3BhY2l0eUF0dHIpOworICAgICAgICBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5
KHByb3BlcnR5TmFtZVRvSWRNYXAsIG92ZXJmbG93QXR0cik7CisgICAgICAgIG1hcEF0dHJpYnV0
ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwgcG9pbnRlcl9ldmVudHNBdHRyKTsK
KyAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBz
aGFwZV9yZW5kZXJpbmdBdHRyKTsKKyAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShw
cm9wZXJ0eU5hbWVUb0lkTWFwLCBzdG9wX2NvbG9yQXR0cik7CisgICAgICAgIG1hcEF0dHJpYnV0
ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwgc3RvcF9vcGFjaXR5QXR0cik7Cisg
ICAgICAgIG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwgc3Ry
b2tlQXR0cik7CisgICAgICAgIG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlOYW1l
VG9JZE1hcCwgc3Ryb2tlX2Rhc2hhcnJheUF0dHIpOworICAgICAgICBtYXBBdHRyaWJ1dGVUb0NT
U1Byb3BlcnR5KHByb3BlcnR5TmFtZVRvSWRNYXAsIHN0cm9rZV9kYXNob2Zmc2V0QXR0cik7Cisg
ICAgICAgIG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwgc3Ry
b2tlX2xpbmVjYXBBdHRyKTsKKyAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9w
ZXJ0eU5hbWVUb0lkTWFwLCBzdHJva2VfbGluZWpvaW5BdHRyKTsKKyAgICAgICAgbWFwQXR0cmli
dXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBzdHJva2VfbWl0ZXJsaW1pdEF0
dHIpOworICAgICAgICBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5TmFtZVRvSWRN
YXAsIHN0cm9rZV9vcGFjaXR5QXR0cik7CisgICAgICAgIG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVy
dHkocHJvcGVydHlOYW1lVG9JZE1hcCwgc3Ryb2tlX3dpZHRoQXR0cik7CisgICAgICAgIG1hcEF0
dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwgdGV4dF9hbmNob3JBdHRy
KTsKKyAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFw
LCB0ZXh0X2RlY29yYXRpb25BdHRyKTsKKyAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0
eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCB0ZXh0X3JlbmRlcmluZ0F0dHIpOworICAgICAgICBtYXBB
dHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5TmFtZVRvSWRNYXAsIHRyYW5zZm9ybV9vcmln
aW5BdHRyKTsKKyAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVU
b0lkTWFwLCB1bmljb2RlX2JpZGlBdHRyKTsKKyAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9w
ZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCB2ZWN0b3JfZWZmZWN0QXR0cik7CisgICAgICAgIG1h
cEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwgdmlzaWJpbGl0eUF0
dHIpOworICAgICAgICBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5TmFtZVRvSWRN
YXAsIHdvcmRfc3BhY2luZ0F0dHIpOworICAgICAgICBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5
KHByb3BlcnR5TmFtZVRvSWRNYXAsIHdyaXRpbmdfbW9kZUF0dHIpOworICAgIH0KKworICAgIHJl
dHVybiBwcm9wZXJ0eU5hbWVUb0lkTWFwLT5nZXQoYXR0ck5hbWUubG9jYWxOYW1lKCkuaW1wbCgp
KTsKK30KKworYm9vbCBTVkdFbGVtZW50Ojppc0FuaW1hdGFibGVDU1NQcm9wZXJ0eShjb25zdCBR
dWFsaWZpZWROYW1lJiBhdHRyTmFtZSkKK3sKKyAgICByZXR1cm4gY3NzUHJvcGVydHlUb1R5cGVN
YXAoKS5jb250YWlucyhhdHRyTmFtZSk7Cit9CisKK2Jvb2wgU1ZHRWxlbWVudDo6aXNQcmVzZW50
YXRpb25BdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSkgY29uc3QKK3sKKyAgICBp
ZiAoY3NzUHJvcGVydHlJZEZvclNWR0F0dHJpYnV0ZU5hbWUobmFtZSkgPiAwKQorICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKyAgICByZXR1cm4gU3R5bGVkRWxlbWVudDo6aXNQcmVzZW50YXRpb25BdHRy
aWJ1dGUobmFtZSk7Cit9CisKK3ZvaWQgU1ZHRWxlbWVudDo6Y29sbGVjdFN0eWxlRm9yUHJlc2Vu
dGF0aW9uQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0
cmluZyYgdmFsdWUsIE11dGFibGVTdHlsZVByb3BlcnR5U2V0KiBzdHlsZSkKK3sKKyAgICBDU1NQ
cm9wZXJ0eUlEIHByb3BlcnR5SUQgPSBjc3NQcm9wZXJ0eUlkRm9yU1ZHQXR0cmlidXRlTmFtZShu
YW1lKTsKKyAgICBpZiAocHJvcGVydHlJRCA+IDApCisgICAgICAgIGFkZFByb3BlcnR5VG9QcmVz
ZW50YXRpb25BdHRyaWJ1dGVTdHlsZShzdHlsZSwgcHJvcGVydHlJRCwgdmFsdWUpOworfQorCiti
b29sIFNWR0VsZW1lbnQ6OmlzS25vd25BdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0
ck5hbWUpCit7CisgICAgcmV0dXJuIGlzSWRBdHRyaWJ1dGVOYW1lKGF0dHJOYW1lKTsKK30KKwor
dm9pZCBTVkdFbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUm
IGF0dHJOYW1lKQoreworICAgIENTU1Byb3BlcnR5SUQgcHJvcElkID0gY3NzUHJvcGVydHlJZEZv
clNWR0F0dHJpYnV0ZU5hbWUoYXR0ck5hbWUpOworICAgIGlmIChwcm9wSWQgPiAwKSB7CisgICAg
ICAgIFNWR0VsZW1lbnRJbnN0YW5jZTo6aW52YWxpZGF0ZUFsbEluc3RhbmNlc09mRWxlbWVudCh0
aGlzKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmIChhdHRyTmFtZSA9PSBIVE1M
TmFtZXM6OmNsYXNzQXR0cikgeworICAgICAgICBjbGFzc0F0dHJpYnV0ZUNoYW5nZWQoY2xhc3NO
YW1lKCkpOworICAgICAgICBTVkdFbGVtZW50SW5zdGFuY2U6OmludmFsaWRhdGVBbGxJbnN0YW5j
ZXNPZkVsZW1lbnQodGhpcyk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoaXNJ
ZEF0dHJpYnV0ZU5hbWUoYXR0ck5hbWUpKSB7CisgICAgICAgIFJlbmRlck9iamVjdCogb2JqZWN0
ID0gcmVuZGVyZXIoKTsKKyAgICAgICAgLy8gTm90aWZ5IHJlc291cmNlcyBhYm91dCBpZCBjaGFu
Z2VzLCB0aGlzIGlzIGltcG9ydGFudCBhcyB3ZSBjYWNoZSByZXNvdXJjZXMgYnkgaWQgaW4gU1ZH
RG9jdW1lbnRFeHRlbnNpb25zCisgICAgICAgIGlmIChvYmplY3QgJiYgb2JqZWN0LT5pc1NWR1Jl
c291cmNlQ29udGFpbmVyKCkpCisgICAgICAgICAgICBvYmplY3QtPnRvUmVuZGVyU1ZHUmVzb3Vy
Y2VDb250YWluZXIoKS0+aWRDaGFuZ2VkKCk7CisgICAgICAgIGlmIChpbkRvY3VtZW50KCkpCisg
ICAgICAgICAgICBidWlsZFBlbmRpbmdSZXNvdXJjZXNJZk5lZWRlZCgpOworICAgICAgICBTVkdF
bGVtZW50SW5zdGFuY2U6OmludmFsaWRhdGVBbGxJbnN0YW5jZXNPZkVsZW1lbnQodGhpcyk7Cisg
ICAgICAgIHJldHVybjsKKyAgICB9Cit9CisKK05vZGU6Okluc2VydGlvbk5vdGlmaWNhdGlvblJl
cXVlc3QgU1ZHRWxlbWVudDo6aW5zZXJ0ZWRJbnRvKENvbnRhaW5lck5vZGUqIHJvb3RQYXJlbnQp
Cit7CisgICAgU3R5bGVkRWxlbWVudDo6aW5zZXJ0ZWRJbnRvKHJvb3RQYXJlbnQpOworICAgIHVw
ZGF0ZVJlbGF0aXZlTGVuZ3Roc0luZm9ybWF0aW9uKCk7CisgICAgYnVpbGRQZW5kaW5nUmVzb3Vy
Y2VzSWZOZWVkZWQoKTsKKyAgICByZXR1cm4gSW5zZXJ0aW9uRG9uZTsKK30KKwordm9pZCBTVkdF
bGVtZW50OjpidWlsZFBlbmRpbmdSZXNvdXJjZXNJZk5lZWRlZCgpCit7CisgICAgRG9jdW1lbnQq
IGRvY3VtZW50ID0gdGhpcy0+ZG9jdW1lbnQoKTsKKyAgICBpZiAoIW5lZWRzUGVuZGluZ1Jlc291
cmNlSGFuZGxpbmcoKSB8fCAhZG9jdW1lbnQgfHwgIWluRG9jdW1lbnQoKSB8fCBpc0luU2hhZG93
VHJlZSgpKQorICAgICAgICByZXR1cm47CisKKyAgICBTVkdEb2N1bWVudEV4dGVuc2lvbnMqIGV4
dGVuc2lvbnMgPSBkb2N1bWVudC0+YWNjZXNzU1ZHRXh0ZW5zaW9ucygpOworICAgIFN0cmluZyBy
ZXNvdXJjZUlkID0gZ2V0SWRBdHRyaWJ1dGUoKTsKKyAgICBpZiAoIWV4dGVuc2lvbnMtPmhhc1Bl
bmRpbmdSZXNvdXJjZShyZXNvdXJjZUlkKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgLy8gTWFy
ayBwZW5kaW5nIHJlc291cmNlcyBhcyBwZW5kaW5nIGZvciByZW1vdmFsLgorICAgIGV4dGVuc2lv
bnMtPm1hcmtQZW5kaW5nUmVzb3VyY2VzRm9yUmVtb3ZhbChyZXNvdXJjZUlkKTsKKworICAgIC8v
IFJlYnVpbGQgcGVuZGluZyByZXNvdXJjZXMgZm9yIGVhY2ggY2xpZW50IG9mIGEgcGVuZGluZyBy
ZXNvdXJjZSB0aGF0IGlzIGJlaW5nIHJlbW92ZWQuCisgICAgd2hpbGUgKEVsZW1lbnQqIGNsaWVu
dEVsZW1lbnQgPSBleHRlbnNpb25zLT5yZW1vdmVFbGVtZW50RnJvbVBlbmRpbmdSZXNvdXJjZXNG
b3JSZW1vdmFsKHJlc291cmNlSWQpKSB7CisgICAgICAgIEFTU0VSVChjbGllbnRFbGVtZW50LT5o
YXNQZW5kaW5nUmVzb3VyY2VzKCkpOworICAgICAgICBpZiAoY2xpZW50RWxlbWVudC0+aGFzUGVu
ZGluZ1Jlc291cmNlcygpKSB7CisgICAgICAgICAgICBjbGllbnRFbGVtZW50LT5idWlsZFBlbmRp
bmdSZXNvdXJjZSgpOworICAgICAgICAgICAgZXh0ZW5zaW9ucy0+Y2xlYXJIYXNQZW5kaW5nUmVz
b3VyY2VzSWZQb3NzaWJsZShjbGllbnRFbGVtZW50KTsKKyAgICAgICAgfQorICAgIH0KK30KKwor
dm9pZCBTVkdFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQoYm9vbCBjaGFuZ2VkQnlQYXJzZXIsIE5v
ZGUqIGJlZm9yZUNoYW5nZSwgTm9kZSogYWZ0ZXJDaGFuZ2UsIGludCBjaGlsZENvdW50RGVsdGEp
Cit7CisgICAgU3R5bGVkRWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkKGNoYW5nZWRCeVBhcnNlciwg
YmVmb3JlQ2hhbmdlLCBhZnRlckNoYW5nZSwgY2hpbGRDb3VudERlbHRhKTsKKworICAgIC8vIElu
dmFsaWRhdGUgYWxsIFNWR0VsZW1lbnRJbnN0YW5jZXMgYXNzb2NpYXRlZCB3aXRoIHVzCisgICAg
aWYgKCFjaGFuZ2VkQnlQYXJzZXIpCisgICAgICAgIFNWR0VsZW1lbnRJbnN0YW5jZTo6aW52YWxp
ZGF0ZUFsbEluc3RhbmNlc09mRWxlbWVudCh0aGlzKTsKK30KKworUGFzc1JlZlB0cjxDU1NWYWx1
ZT4gU1ZHRWxlbWVudDo6Z2V0UHJlc2VudGF0aW9uQXR0cmlidXRlKGNvbnN0IFN0cmluZyYgbmFt
ZSkKK3sKKyAgICBpZiAoIWhhc0F0dHJpYnV0ZXNXaXRob3V0VXBkYXRlKCkpCisgICAgICAgIHJl
dHVybiAwOworCisgICAgUXVhbGlmaWVkTmFtZSBhdHRyaWJ1dGVOYW1lKG51bGxBdG9tLCBuYW1l
LCBudWxsQXRvbSk7CisgICAgY29uc3QgQXR0cmlidXRlKiBhdHRyaWJ1dGUgPSBmaW5kQXR0cmli
dXRlQnlOYW1lKGF0dHJpYnV0ZU5hbWUpOworICAgIGlmICghYXR0cmlidXRlKQorICAgICAgICBy
ZXR1cm4gMDsKKworICAgIFJlZlB0cjxNdXRhYmxlU3R5bGVQcm9wZXJ0eVNldD4gc3R5bGUgPSBN
dXRhYmxlU3R5bGVQcm9wZXJ0eVNldDo6Y3JlYXRlKFNWR0F0dHJpYnV0ZU1vZGUpOworICAgIENT
U1Byb3BlcnR5SUQgcHJvcGVydHlJRCA9IGNzc1Byb3BlcnR5SWRGb3JTVkdBdHRyaWJ1dGVOYW1l
KGF0dHJpYnV0ZS0+bmFtZSgpKTsKKyAgICBzdHlsZS0+c2V0UHJvcGVydHkocHJvcGVydHlJRCwg
YXR0cmlidXRlLT52YWx1ZSgpKTsKKyAgICBSZWZQdHI8Q1NTVmFsdWU+IGNzc1ZhbHVlID0gc3R5
bGUtPmdldFByb3BlcnR5Q1NTVmFsdWUocHJvcGVydHlJRCk7CisgICAgcmV0dXJuIGNzc1ZhbHVl
ID8gY3NzVmFsdWUtPmNsb25lRm9yQ1NTT00oKSA6IDA7Cit9CisKK2Jvb2wgU1ZHRWxlbWVudDo6
aW5zdGFuY2VVcGRhdGVzQmxvY2tlZCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGhhc1NWR1JhcmVE
YXRhKCkgJiYgc3ZnUmFyZURhdGEoKS0+aW5zdGFuY2VVcGRhdGVzQmxvY2tlZCgpOworfQorCit2
b2lkIFNWR0VsZW1lbnQ6OnNldEluc3RhbmNlVXBkYXRlc0Jsb2NrZWQoYm9vbCB2YWx1ZSkKK3sK
KyAgICBpZiAoaGFzU1ZHUmFyZURhdGEoKSkKKyAgICAgICAgc3ZnUmFyZURhdGEoKS0+c2V0SW5z
dGFuY2VVcGRhdGVzQmxvY2tlZCh2YWx1ZSk7Cit9CisKK0FmZmluZVRyYW5zZm9ybSBTVkdFbGVt
ZW50Ojpsb2NhbENvb3JkaW5hdGVTcGFjZVRyYW5zZm9ybShTVkdMb2NhdGFibGU6OkNUTVNjb3Bl
KSBjb25zdAoreworICAgIC8vIFRvIGJlIG92ZXJyaWRlbiBieSBTVkdHcmFwaGljc0VsZW1lbnQg
KG9yIGFzIHNwZWNpYWwgY2FzZSBTVkdUZXh0RWxlbWVudCBhbmQgU1ZHUGF0dGVybkVsZW1lbnQp
CisgICAgcmV0dXJuIEFmZmluZVRyYW5zZm9ybSgpOworfQorCit2b2lkIFNWR0VsZW1lbnQ6OnVw
ZGF0ZVJlbGF0aXZlTGVuZ3Roc0luZm9ybWF0aW9uKGJvb2wgaGFzUmVsYXRpdmVMZW5ndGhzLCBT
VkdFbGVtZW50KiBlbGVtZW50KQoreworICAgIC8vIElmIHdlJ3JlIG5vdCB5ZXQgaW4gYSBkb2N1
bWVudCwgdGhpcyBmdW5jdGlvbiB3aWxsIGJlIGNhbGxlZCBhZ2FpbiBmcm9tIGluc2VydGVkSW50
bygpLiBEbyBub3RoaW5nIG5vdy4KKyAgICBpZiAoIWluRG9jdW1lbnQoKSkKKyAgICAgICAgcmV0
dXJuOworCisgICAgLy8gQW4gZWxlbWVudCB3YW50cyB0byBub3RpZnkgdXMgdGhhdCBpdHMgb3du
IHJlbGF0aXZlIGxlbmd0aHMgc3RhdGUgY2hhbmdlZC4KKyAgICAvLyBSZWdpc3RlciBpdCBpbiB0
aGUgcmVsYXRpdmUgbGVuZ3RoIG1hcCwgYW5kIHJlZ2lzdGVyIHVzIGluIHRoZSBwYXJlbnQgcmVs
YXRpdmUgbGVuZ3RoIG1hcC4KKyAgICAvLyBSZWdpc3RlciB0aGUgcGFyZW50IGluIHRoZSBncmFu
ZHBhcmVudHMgbWFwLCBldGMuIFJlcGVhdCBwcm9jZWR1cmUgdW50aWwgdGhlIHJvb3Qgb2YgdGhl
IFNWRyB0cmVlLgorCisgICAgaWYgKGhhc1JlbGF0aXZlTGVuZ3RocykKKyAgICAgICAgbV9lbGVt
ZW50c1dpdGhSZWxhdGl2ZUxlbmd0aHMuYWRkKGVsZW1lbnQpOworICAgIGVsc2UgeworICAgICAg
ICBpZiAoIW1fZWxlbWVudHNXaXRoUmVsYXRpdmVMZW5ndGhzLmNvbnRhaW5zKGVsZW1lbnQpKSB7
CisgICAgICAgICAgICAvLyBXZSB3ZXJlIG5ldmVyIHJlZ2lzdGVyZWQuIERvIG5vdGhpbmcuCisg
ICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICBtX2VsZW1lbnRzV2l0aFJl
bGF0aXZlTGVuZ3Rocy5yZW1vdmUoZWxlbWVudCk7CisgICAgfQorCisgICAgLy8gRmluZCBmaXJz
dCBzdHlsZWQgcGFyZW50IG5vZGUsIGFuZCBub3RpZnkgaXQgdGhhdCB3ZSd2ZSBjaGFuZ2VkIG91
ciByZWxhdGl2ZSBsZW5ndGggc3RhdGUuCisgICAgQ29udGFpbmVyTm9kZSogbm9kZSA9IHBhcmVu
dE5vZGUoKTsKKyAgICB3aGlsZSAobm9kZSkgeworICAgICAgICBpZiAoIW5vZGUtPmlzU1ZHRWxl
bWVudCgpKQorICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgLy8gUmVnaXN0ZXIgdXMgaW4g
dGhlIHBhcmVudCBlbGVtZW50IG1hcC4KKyAgICAgICAgdG9TVkdFbGVtZW50KG5vZGUpLT51cGRh
dGVSZWxhdGl2ZUxlbmd0aHNJbmZvcm1hdGlvbihoYXNSZWxhdGl2ZUxlbmd0aHMsIHRoaXMpOwor
ICAgICAgICBicmVhazsKKyAgICB9Cit9CisKK2Jvb2wgU1ZHRWxlbWVudDo6aXNNb3VzZUZvY3Vz
YWJsZSgpIGNvbnN0Cit7CisgICAgaWYgKCFpc0ZvY3VzYWJsZSgpKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgRWxlbWVudCogZXZlbnRUYXJnZXQgPSBjb25zdF9jYXN0PFNWR0VsZW1lbnQq
Pih0aGlzKTsKKyAgICByZXR1cm4gZXZlbnRUYXJnZXQtPmhhc0V2ZW50TGlzdGVuZXJzKGV2ZW50
TmFtZXMoKS5mb2N1c2luRXZlbnQpIHx8IGV2ZW50VGFyZ2V0LT5oYXNFdmVudExpc3RlbmVycyhl
dmVudE5hbWVzKCkuZm9jdXNvdXRFdmVudCk7Cit9CisKK2Jvb2wgU1ZHRWxlbWVudDo6aXNLZXli
b2FyZEZvY3VzYWJsZShLZXlib2FyZEV2ZW50KikgY29uc3QKK3sKKyAgICByZXR1cm4gaXNNb3Vz
ZUZvY3VzYWJsZSgpOworfQorCiB9CiAKICNlbmRpZiAvLyBFTkFCTEUoU1ZHKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdFbGVtZW50LmgKaW5kZXggNzVlMDVmOThkMzYzZWQwMWZjMDljNmVkYTM0ZTU1MmE2MDNiMjhl
MS4uZjgzMzUyMTQ0MjY2NTg2NjQzYjZkOTAxNWZiMzJlNWM1Y2Y3ZTY4NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHRWxlbWVudC5oCkBAIC0xLDcgKzEsOCBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwNCwg
MjAwNSwgMjAwNiwgMjAwOCBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4K
LSAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiBSb2IgQnVpcyA8YnVpc0BrZGUub3Jn
PgorICogQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3IFJvYiBCdWlzIDxidWlz
QGtkZS5vcmc+CiAgKiBDb3B5cmlnaHQgKEMpIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzIFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlv
dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJt
cyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTIzLDYgKzI0LDggQEAKICNk
ZWZpbmUgU1ZHRWxlbWVudF9oCiAKICNpZiBFTkFCTEUoU1ZHKQorI2luY2x1ZGUgIkNTU1Byb3Bl
cnR5TmFtZXMuaCIKKyNpbmNsdWRlICJTVkdBbmltYXRlZFN0cmluZy5oIgogI2luY2x1ZGUgIlNW
R0xhbmdTcGFjZS5oIgogI2luY2x1ZGUgIlNWR0xvY2F0YWJsZS5oIgogI2luY2x1ZGUgIlNWR1Bh
cnNpbmdFcnJvci5oIgpAQCAtMzAsMTEgKzMzLDE1IEBACiAjaW5jbHVkZSAiU3R5bGVkRWxlbWVu
dC5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KKyNpbmNs
dWRlIDx3dGYvSGFzaFNldC5oPgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQWZmaW5lVHJhbnNmb3JtOwogY2xhc3MgQ1NTQ3Vyc29y
SW1hZ2VWYWx1ZTsKK2NsYXNzIENTU1N0eWxlRGVjbGFyYXRpb247CitjbGFzcyBDU1NWYWx1ZTsK
IGNsYXNzIERvY3VtZW50OwogY2xhc3MgU1ZHQXR0cmlidXRlVG9Qcm9wZXJ0eU1hcDsKIGNsYXNz
IFNWR0N1cnNvckVsZW1lbnQ7CkBAIC00Myw2ICs1MCw4IEBAIGNsYXNzIFNWR0VsZW1lbnRJbnN0
YW5jZTsKIGNsYXNzIFNWR0VsZW1lbnRSYXJlRGF0YTsKIGNsYXNzIFNWR1NWR0VsZW1lbnQ7CiAK
K3ZvaWQgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShIYXNoTWFwPEF0b21pY1N0cmluZ0ltcGwq
LCBDU1NQcm9wZXJ0eUlEPiogcHJvcGVydHlOYW1lVG9JZE1hcCwgY29uc3QgUXVhbGlmaWVkTmFt
ZSYgYXR0ck5hbWUpOworCiBjbGFzcyBTVkdFbGVtZW50IDogcHVibGljIFN0eWxlZEVsZW1lbnQs
IHB1YmxpYyBTVkdMYW5nU3BhY2UgewogcHVibGljOgogICAgIGJvb2wgaXNPdXRlcm1vc3RTVkdT
VkdFbGVtZW50KCkgY29uc3Q7CkBAIC01Myw5ICs2MiwxOSBAQCBwdWJsaWM6CiAgICAgU1ZHU1ZH
RWxlbWVudCogb3duZXJTVkdFbGVtZW50KCkgY29uc3Q7CiAgICAgU1ZHRWxlbWVudCogdmlld3Bv
cnRFbGVtZW50KCkgY29uc3Q7CiAKKyAgICB2aXJ0dWFsIFN0cmluZyB0aXRsZSgpIGNvbnN0IE9W
RVJSSURFOworICAgIHN0YXRpYyBib29sIGlzQW5pbWF0YWJsZUNTU1Byb3BlcnR5KGNvbnN0IFF1
YWxpZmllZE5hbWUmKTsKKyAgICBib29sIGlzS25vd25BdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVk
TmFtZSYpOworICAgIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IGdldFByZXNlbnRhdGlvbkF0dHJpYnV0
ZShjb25zdCBTdHJpbmcmIG5hbWUpOworICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c01hcmtlcnMo
KSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorICAgIGJvb2wgaGFzUmVsYXRpdmVMZW5ndGhzKCkg
Y29uc3QgeyByZXR1cm4gIW1fZWxlbWVudHNXaXRoUmVsYXRpdmVMZW5ndGhzLmlzRW1wdHkoKTsg
fQorICAgIHZpcnR1YWwgYm9vbCBuZWVkc1BlbmRpbmdSZXNvdXJjZUhhbmRsaW5nKCkgY29uc3Qg
eyByZXR1cm4gdHJ1ZTsgfQorICAgIGJvb2wgaW5zdGFuY2VVcGRhdGVzQmxvY2tlZCgpIGNvbnN0
OworICAgIHZvaWQgc2V0SW5zdGFuY2VVcGRhdGVzQmxvY2tlZChib29sKTsKKyAgICB2aXJ0dWFs
IEFmZmluZVRyYW5zZm9ybSBsb2NhbENvb3JkaW5hdGVTcGFjZVRyYW5zZm9ybShTVkdMb2NhdGFi
bGU6OkNUTVNjb3BlKSBjb25zdDsKKwogICAgIFNWR0RvY3VtZW50RXh0ZW5zaW9ucyogYWNjZXNz
RG9jdW1lbnRTVkdFeHRlbnNpb25zKCk7CiAKLSAgICB2aXJ0dWFsIGJvb2wgaXNTVkdTdHlsZWRF
bGVtZW50KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNTVkdH
cmFwaGljc0VsZW1lbnQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9v
bCBpc1NWR1NWR0VsZW1lbnQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwg
Ym9vbCBpc0ZpbHRlckVmZmVjdCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CkBAIC02NSw3ICs4
NCw3IEBAIHB1YmxpYzoKICAgICAvLyBGb3IgU1ZHVGVzdHMKICAgICB2aXJ0dWFsIGJvb2wgaXNW
YWxpZCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KIAotICAgIHZpcnR1YWwgdm9pZCBzdmdBdHRy
aWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQg
c3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJik7CiAKICAgICB2aXJ0dWFs
IHZvaWQgYW5pbWF0ZWRQcm9wZXJ0eVR5cGVGb3JBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFt
ZSYsIFZlY3RvcjxBbmltYXRlZFByb3BlcnR5VHlwZT4mKTsKIApAQCAtMTAyLDggKzEyMSw2IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc3luY2hyb25pemVSZXF1aXJlZEV4dGVuc2lvbnMo
KSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgc3luY2hyb25pemVTeXN0ZW1MYW5ndWFnZSgpIHsgfQog
Ci0gICAgdmlydHVhbCBTVkdBdHRyaWJ1dGVUb1Byb3BlcnR5TWFwJiBsb2NhbEF0dHJpYnV0ZVRv
UHJvcGVydHlNYXAoKTsKLQogI2lmbmRlZiBOREVCVUcKICAgICBib29sIGlzQW5pbWF0YWJsZUF0
dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJikgY29uc3Q7CiAjZW5kaWYKQEAgLTEyNSw2ICsx
NDIsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgU1ZHRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwg
RG9jdW1lbnQqKTsKICAgICB2aXJ0dWFsIH5TVkdFbGVtZW50KCk7CiAKKyAgICB2aXJ0dWFsIGJv
b2wgcmVuZGVyZXJJc05lZWRlZChjb25zdCBSZW5kZXJTdHlsZSYpOwogICAgIHZpcnR1YWwgdm9p
ZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5n
JikgT1ZFUlJJREU7CiAKICAgICB2aXJ0dWFsIHZvaWQgZmluaXNoUGFyc2luZ0NoaWxkcmVuKCk7
CkBAIC0xMzcsNiArMTU1LDE1IEBAIHByb3RlY3RlZDoKICAgICBTVkdFbGVtZW50UmFyZURhdGEm
IGVuc3VyZVNWR1JhcmVEYXRhKCk7CiAKICAgICB2b2lkIHJlcG9ydEF0dHJpYnV0ZVBhcnNpbmdF
cnJvcihTVkdQYXJzaW5nRXJyb3IsIGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNT
dHJpbmcmKTsKKyAgICBzdGF0aWMgQ1NTUHJvcGVydHlJRCBjc3NQcm9wZXJ0eUlkRm9yU1ZHQXR0
cmlidXRlTmFtZShjb25zdCBRdWFsaWZpZWROYW1lJik7CisKKyAgICB2aXJ0dWFsIGJvb2wgaXNQ
cmVzZW50YXRpb25BdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYpIGNvbnN0IE9WRVJSSURF
OworICAgIHZpcnR1YWwgdm9pZCBjb2xsZWN0U3R5bGVGb3JQcmVzZW50YXRpb25BdHRyaWJ1dGUo
Y29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYsIE11dGFibGVTdHlsZVBy
b3BlcnR5U2V0KikgT1ZFUlJJREU7CisgICAgdmlydHVhbCBJbnNlcnRpb25Ob3RpZmljYXRpb25S
ZXF1ZXN0IGluc2VydGVkSW50byhDb250YWluZXJOb2RlKikgT1ZFUlJJREU7CisgICAgdmlydHVh
bCB2b2lkIGNoaWxkcmVuQ2hhbmdlZChib29sIGNoYW5nZWRCeVBhcnNlciA9IGZhbHNlLCBOb2Rl
KiBiZWZvcmVDaGFuZ2UgPSAwLCBOb2RlKiBhZnRlckNoYW5nZSA9IDAsIGludCBjaGlsZENvdW50
RGVsdGEgPSAwKTsKKyAgICB2aXJ0dWFsIGJvb2wgc2VsZkhhc1JlbGF0aXZlTGVuZ3RocygpIGNv
bnN0IHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdm9pZCB1cGRhdGVSZWxhdGl2ZUxlbmd0aHNJbmZv
cm1hdGlvbigpIHsgdXBkYXRlUmVsYXRpdmVMZW5ndGhzSW5mb3JtYXRpb24oc2VsZkhhc1JlbGF0
aXZlTGVuZ3RocygpLCB0aGlzKTsgfQorICAgIHZvaWQgdXBkYXRlUmVsYXRpdmVMZW5ndGhzSW5m
b3JtYXRpb24oYm9vbCBoYXNSZWxhdGl2ZUxlbmd0aHMsIFNWR0VsZW1lbnQqKTsKIAogcHJpdmF0
ZToKICAgICBmcmllbmQgY2xhc3MgU1ZHRWxlbWVudEluc3RhbmNlOwpAQCAtMTQ5LDEzICsxNzYs
MjEgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIFJlbmRlclN0eWxlKiB2aXJ0dWFsQ29tcHV0ZWRT
dHlsZShQc2V1ZG9JZCBwc2V1ZG9FbGVtZW50U3BlY2lmaWVyID0gTk9QU0VVRE8pIHsgcmV0dXJu
IGNvbXB1dGVkU3R5bGUocHNldWRvRWxlbWVudFNwZWNpZmllcik7IH0KICAgICB2aXJ0dWFsIGJv
b2wgd2lsbFJlY2FsY1N0eWxlKFN0eWxlOjpDaGFuZ2UpOwogCi0gICAgdmlydHVhbCBib29sIHJl
bmRlcmVySXNOZWVkZWQoY29uc3QgUmVuZGVyU3R5bGUmKSB7IHJldHVybiBmYWxzZTsgfQotCiAg
ICAgdmlydHVhbCBib29sIGlzU3VwcG9ydGVkKFN0cmluZ0ltcGwqIGZlYXR1cmUsIFN0cmluZ0lt
cGwqIHZlcnNpb24pIGNvbnN0OwogCiAgICAgdm9pZCBtYXBJbnN0YW5jZVRvRWxlbWVudChTVkdF
bGVtZW50SW5zdGFuY2UqKTsKICAgICB2b2lkIHJlbW92ZUluc3RhbmNlTWFwcGluZyhTVkdFbGVt
ZW50SW5zdGFuY2UqKTsKIAorICAgIHZvaWQgYnVpbGRQZW5kaW5nUmVzb3VyY2VzSWZOZWVkZWQo
KTsKKyAgICB2aXJ0dWFsIGJvb2wgaXNLZXlib2FyZEZvY3VzYWJsZShLZXlib2FyZEV2ZW50Kikg
Y29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBib29sIGlzTW91c2VGb2N1c2FibGUoKSBjb25z
dCBPVkVSUklERTsKKworICAgIEhhc2hTZXQ8U1ZHRWxlbWVudCo+IG1fZWxlbWVudHNXaXRoUmVs
YXRpdmVMZW5ndGhzOworCisgICAgQkVHSU5fREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUSUVTKFNW
R0VsZW1lbnQpCisgICAgICAgIERFQ0xBUkVfQU5JTUFURURfU1RSSU5HKENsYXNzTmFtZSwgY2xh
c3NOYW1lKQorICAgIEVORF9ERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRJRVMKKwogfTsKIAogc3Ry
dWN0IFNWR0F0dHJpYnV0ZUhhc2hUcmFuc2xhdG9yIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdFbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50Lmlk
bAppbmRleCBlY2VmMjgxMjE2OGMzMzVhZTU4NGJhYzZhZTZjM2E1MGIzNGY1NGIwLi4yNGYwNjdi
OTI2N2YwZjRiZTZkNDJlMWUwOWI0OGRjYTc2ZGZmYzc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHRWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1l
bnQuaWRsCkBAIC0zMCw1ICszMCwxMCBAQAogCiAgICAgYXR0cmlidXRlIERPTVN0cmluZyB4bWxs
YW5nOwogICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgeG1sc3BhY2U7CisKKyAgICByZWFkb25seSBh
dHRyaWJ1dGUgU1ZHQW5pbWF0ZWRTdHJpbmcgY2xhc3NOYW1lOworICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBDU1NTdHlsZURlY2xhcmF0aW9uIHN0eWxlOworCisgICAgQ1NTVmFsdWUgZ2V0UHJlc2Vu
dGF0aW9uQXR0cmlidXRlKFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIG5h
bWUpOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRJbnN0
YW5jZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudEluc3RhbmNlLmNwcAppbmRl
eCBjM2M2MjViNmRiNGVmZTM0M2I3NjgwMDExNGRmZDNlMzFiNDJiOWNlLi44OWRhMmI5YWJkYjY0
OTM0NTAxMWVhOTMzNTYzMDgxYjRmMDU4MjIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHRWxlbWVudEluc3RhbmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxl
bWVudEluc3RhbmNlLmNwcApAQCAtMTg1LDcgKzE4NSw3IEBAIHZvaWQgU1ZHRWxlbWVudEluc3Rh
bmNlOjppbnZhbGlkYXRlQWxsSW5zdGFuY2VzT2ZFbGVtZW50KFNWR0VsZW1lbnQqIGVsZW1lbnQp
CiAgICAgaWYgKCFlbGVtZW50IHx8ICFlbGVtZW50LT5pbkRvY3VtZW50KCkpCiAgICAgICAgIHJl
dHVybjsKIAotICAgIGlmIChlbGVtZW50LT5pc1NWR1N0eWxlZEVsZW1lbnQoKSAmJiB0b1NWR1N0
eWxlZEVsZW1lbnQoZWxlbWVudCktPmluc3RhbmNlVXBkYXRlc0Jsb2NrZWQoKSkKKyAgICBpZiAo
ZWxlbWVudC0+aW5zdGFuY2VVcGRhdGVzQmxvY2tlZCgpKQogICAgICAgICByZXR1cm47CiAKICAg
ICBjb25zdCBIYXNoU2V0PFNWR0VsZW1lbnRJbnN0YW5jZSo+JiBzZXQgPSBlbGVtZW50LT5pbnN0
YW5jZXNGb3JFbGVtZW50KCk7CkBAIC0yNTksNyArMjU5LDcgQEAgRXZlbnRUYXJnZXREYXRhJiBT
VkdFbGVtZW50SW5zdGFuY2U6OmVuc3VyZUV2ZW50VGFyZ2V0RGF0YSgpCiB9CiAKIFNWR0VsZW1l
bnRJbnN0YW5jZTo6SW5zdGFuY2VVcGRhdGVCbG9ja2VyOjpJbnN0YW5jZVVwZGF0ZUJsb2NrZXIo
U1ZHRWxlbWVudCogdGFyZ2V0RWxlbWVudCkKLSAgICA6IG1fdGFyZ2V0RWxlbWVudCh0YXJnZXRF
bGVtZW50LT5pc1NWR1N0eWxlZEVsZW1lbnQoKSA/IHRvU1ZHU3R5bGVkRWxlbWVudCh0YXJnZXRF
bGVtZW50KSA6IDApCisgICAgOiBtX3RhcmdldEVsZW1lbnQodGFyZ2V0RWxlbWVudCkKIHsKICAg
ICBpZiAobV90YXJnZXRFbGVtZW50KQogICAgICAgICBtX3RhcmdldEVsZW1lbnQtPnNldEluc3Rh
bmNlVXBkYXRlc0Jsb2NrZWQodHJ1ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHRWxlbWVudEluc3RhbmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudEluc3Rh
bmNlLmgKaW5kZXggYjMwZDM1ZDYzYTEyYTMwNjgwZmVlMDk3MGE3M2JmMjRjODYzYjkxOC4uNDBi
MDhhYzQ1YTYzNGMwMzJlYTgwODliNDAwYTlkYjVjMjAwNTEwZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdFbGVtZW50SW5zdGFuY2UuaApAQCAtMzUsNyArMzUsNyBAQCB2b2lkIGFkZENoaWxkTm9k
ZXNUb0RlbGV0aW9uUXVldWUoR2VuZXJpY05vZGUqJiBoZWFkLCBHZW5lcmljTm9kZSomIHRhaWws
IEdlbmVyaQogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBTVkdFbGVtZW50OwogY2xhc3MgU1ZHRWxl
bWVudEluc3RhbmNlTGlzdDsKLWNsYXNzIFNWR1N0eWxlZEVsZW1lbnQ7CitjbGFzcyBTVkdFbGVt
ZW50OwogY2xhc3MgU1ZHVXNlRWxlbWVudDsKIAogLy8gU1ZHRWxlbWVudEluc3RhbmNlIG1pbWlj
cyBOb2RlLCBidXQgd2l0aG91dCBwcm92aWRpbmcgYWxsIGl0cyBmdW5jdGlvbmFsaXR5CkBAIC05
MSw3ICs5MSw3IEBAIHB1YmxpYzoKICAgICAgICAgfkluc3RhbmNlVXBkYXRlQmxvY2tlcigpOwog
CiAgICAgcHJpdmF0ZToKLSAgICAgICAgU1ZHU3R5bGVkRWxlbWVudCogbV90YXJnZXRFbGVtZW50
OworICAgICAgICBTVkdFbGVtZW50KiBtX3RhcmdldEVsZW1lbnQ7CiAgICAgfTsKICAgICAKICAg
ICBzdGF0aWMgdm9pZCBpbnZhbGlkYXRlQWxsSW5zdGFuY2VzT2ZFbGVtZW50KFNWR0VsZW1lbnQq
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUJsZW5kRWxlbWVudC5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVCbGVuZEVsZW1lbnQuaWRsCmluZGV4IGQ3MGYyOTdj
MTk1YmU2Y2Y1MzVmOWNiYzQ4ZjZhNzEyYjI2ZGMyMTIuLjQ4MzM0ZTFiNGJjYjhiODY5ZDkxZGVk
MzcwOGY0ZDVkMDE1Y2I2ZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUJs
ZW5kRWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQmxlbmRFbGVtZW50
LmlkbApAQCAtMjYsNyArMjYsNyBAQAogWwogICAgIENvbmRpdGlvbmFsPVNWRyZGSUxURVJTLAog
ICAgIERvTm90Q2hlY2tDb25zdGFudHMKLV0gaW50ZXJmYWNlIFNWR0ZFQmxlbmRFbGVtZW50IDog
U1ZHU3R5bGVkRWxlbWVudCB7CitdIGludGVyZmFjZSBTVkdGRUJsZW5kRWxlbWVudCA6IFNWR0Vs
ZW1lbnQgewogICAgIC8vIEJsZW5kIE1vZGUgVHlwZXMKICAgICBjb25zdCB1bnNpZ25lZCBzaG9y
dCBTVkdfRkVCTEVORF9NT0RFX1VOS05PV04gID0gMDsKICAgICBjb25zdCB1bnNpZ25lZCBzaG9y
dCBTVkdfRkVCTEVORF9NT0RFX05PUk1BTCAgID0gMTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdGRUNvbG9yTWF0cml4RWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQuaWRsCmluZGV4IDY1NmVlNDAyNDgzZmQxZDkzYjNhMzE0
NWQxMDRjNzA1OTk1YWExMjUuLmZlMmRlNTA2NmZmZGY0Zjc4OTY5YWM2ZTdlYTc3YzBlOTdhZGVl
MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUNvbG9yTWF0cml4RWxlbWVu
dC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQ29sb3JNYXRyaXhFbGVtZW50Lmlk
bApAQCAtMjYsNyArMjYsNyBAQAogWwogICAgIENvbmRpdGlvbmFsPVNWRyZGSUxURVJTLAogICAg
IERvTm90Q2hlY2tDb25zdGFudHMKLV0gaW50ZXJmYWNlIFNWR0ZFQ29sb3JNYXRyaXhFbGVtZW50
IDogU1ZHU3R5bGVkRWxlbWVudCB7CitdIGludGVyZmFjZSBTVkdGRUNvbG9yTWF0cml4RWxlbWVu
dCA6IFNWR0VsZW1lbnQgewogICAgIC8vIENvbG9yIE1hdHJpeCBUeXBlcwogICAgIGNvbnN0IHVu
c2lnbmVkIHNob3J0IFNWR19GRUNPTE9STUFUUklYX1RZUEVfVU5LTk9XTiAgICAgICAgICA9IDA7
CiAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgU1ZHX0ZFQ09MT1JNQVRSSVhfVFlQRV9NQVRSSVgg
ICAgICAgICAgID0gMTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUNvbXBv
bmVudFRyYW5zZmVyRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVDb21wb25l
bnRUcmFuc2ZlckVsZW1lbnQuaWRsCmluZGV4IDUwNTI1NDlmOWZmZDY1OGM5ZmVjZWNiYWEzOTll
MGVkOWM4M2JiMDcuLjg0ZmU5Mzg4ZWQwNzk2ZDhhMjM0MTYwNGM1YTJhYjM0ZGZhMDM0NWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUNvbXBvbmVudFRyYW5zZmVyRWxlbWVu
dC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQ29tcG9uZW50VHJhbnNmZXJFbGVt
ZW50LmlkbApAQCAtMjUsNyArMjUsNyBAQAogCiBbCiAgICAgQ29uZGl0aW9uYWw9U1ZHJkZJTFRF
UlMKLV0gaW50ZXJmYWNlIFNWR0ZFQ29tcG9uZW50VHJhbnNmZXJFbGVtZW50IDogU1ZHU3R5bGVk
RWxlbWVudCB7CitdIGludGVyZmFjZSBTVkdGRUNvbXBvbmVudFRyYW5zZmVyRWxlbWVudCA6IFNW
R0VsZW1lbnQgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTVkdBbmltYXRlZFN0cmluZyBpbjE7
CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVDb21wb3NpdGVFbGVt
ZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUNvbXBvc2l0ZUVsZW1lbnQuaWRsCmlu
ZGV4IGE2NGNjNDdhYWMwZWUwZjg2MWM5ZjA4YzJiYmZhYTg2YzAzMDVmMzguLjgwMjI2OTgwNTI5
NDRmMDdiZTNjMzI1ZDIxNTA0MzQ2NjE2MDNiNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdGRUNvbXBvc2l0ZUVsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdGRUNvbXBvc2l0ZUVsZW1lbnQuaWRsCkBAIC0yNiw3ICsyNiw3IEBACiBbCiAgICAgQ29uZGl0
aW9uYWw9U1ZHJkZJTFRFUlMsCiAgICAgRG9Ob3RDaGVja0NvbnN0YW50cwotXSBpbnRlcmZhY2Ug
U1ZHRkVDb21wb3NpdGVFbGVtZW50IDogU1ZHU3R5bGVkRWxlbWVudCB7CitdIGludGVyZmFjZSBT
VkdGRUNvbXBvc2l0ZUVsZW1lbnQgOiBTVkdFbGVtZW50IHsKICAgICAvLyBDb21wb3NpdGUgT3Bl
cmF0b3JzCiAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgU1ZHX0ZFQ09NUE9TSVRFX09QRVJBVE9S
X1VOS05PV04gICAgPSAwOwogICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFNWR19GRUNPTVBPU0lU
RV9PUEVSQVRPUl9PVkVSICAgICAgID0gMTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
RkVDb252b2x2ZU1hdHJpeEVsZW1lbnQuaWRsCmluZGV4IGZjZDhjNTdlY2MwYjdlNWY3MDBhYmU4
ZGZkYmVlNTE3ZmRjNTM5OTAuLjI3NTU4MmEyZmM1YTQwZDVhYWQ4MWM1MzBmYWY1OWU1YzU2YWNk
YzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUNvbnZvbHZlTWF0cml4RWxl
bWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQ29udm9sdmVNYXRyaXhFbGVt
ZW50LmlkbApAQCAtMjYsNyArMjYsNyBAQAogWwogICAgIENvbmRpdGlvbmFsPVNWRyZGSUxURVJT
LAogICAgIERvTm90Q2hlY2tDb25zdGFudHMKLV0gaW50ZXJmYWNlIFNWR0ZFQ29udm9sdmVNYXRy
aXhFbGVtZW50IDogU1ZHU3R5bGVkRWxlbWVudCB7CitdIGludGVyZmFjZSBTVkdGRUNvbnZvbHZl
TWF0cml4RWxlbWVudCA6IFNWR0VsZW1lbnQgewogICAgIC8vIEVkZ2UgTW9kZSBWYWx1ZXMKICAg
ICBjb25zdCB1bnNpZ25lZCBzaG9ydCBTVkdfRURHRU1PREVfVU5LTk9XTiAgID0gMDsKICAgICBj
b25zdCB1bnNpZ25lZCBzaG9ydCBTVkdfRURHRU1PREVfRFVQTElDQVRFID0gMTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRURpZmZ1c2VMaWdodGluZ0VsZW1lbnQuaWRsIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudC5pZGwKaW5kZXgg
YzQzNjY2OTRjNzQ3NDEzNjFhOTI3ZGU2MTk5MDZmZTc5ZjBiMjVhZi4uZjVkMmVjYzA2ZGIzNGVi
MDBjY2JjODMwNGMzZTdkOGMwMjI1N2EzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudC5pZGwKQEAgLTI1LDcgKzI1LDcgQEAKIAogWwog
ICAgIENvbmRpdGlvbmFsPVNWRyZGSUxURVJTCi1dIGludGVyZmFjZSBTVkdGRURpZmZ1c2VMaWdo
dGluZ0VsZW1lbnQgOiBTVkdTdHlsZWRFbGVtZW50IHsKK10gaW50ZXJmYWNlIFNWR0ZFRGlmZnVz
ZUxpZ2h0aW5nRWxlbWVudCA6IFNWR0VsZW1lbnQgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBT
VkdBbmltYXRlZFN0cmluZyBpbjE7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFNWR0FuaW1hdGVk
TnVtYmVyIHN1cmZhY2VTY2FsZTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgU1ZHQW5pbWF0ZWRO
dW1iZXIgZGlmZnVzZUNvbnN0YW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVE
aXNwbGFjZW1lbnRNYXBFbGVtZW50LmlkbAppbmRleCBiOGEwNTI1OGI5MTg3NmEyZjliMTk1MzBi
NTk2OTZkZTYzNzg5NWUyLi5lOWVmYWI4YTAyMzI3YTQzOTNkN2FkMzA4ZTJkMDA2YjNhN2QyY2Vi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVt
ZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVt
ZW50LmlkbApAQCAtMjYsNyArMjYsNyBAQAogWwogICAgIENvbmRpdGlvbmFsPVNWRyZGSUxURVJT
LAogICAgIERvTm90Q2hlY2tDb25zdGFudHMKLV0gaW50ZXJmYWNlIFNWR0ZFRGlzcGxhY2VtZW50
TWFwRWxlbWVudCA6IFNWR1N0eWxlZEVsZW1lbnQgeworXSBpbnRlcmZhY2UgU1ZHRkVEaXNwbGFj
ZW1lbnRNYXBFbGVtZW50IDogU1ZHRWxlbWVudCB7CiAgICAgLy8gQ2hhbm5lbCBTZWxlY3RvcnMK
ICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBTVkdfQ0hBTk5FTF9VTktOT1dOID0gMDsKICAgICBj
b25zdCB1bnNpZ25lZCBzaG9ydCBTVkdfQ0hBTk5FTF9SICAgICAgID0gMTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRURyb3BTaGFkb3dFbGVtZW50LmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdGRURyb3BTaGFkb3dFbGVtZW50LmlkbAppbmRleCA2YTVhOTZhNTFjMmMx
OGZmMmEwMjEyOTg1NmNmMDUwNmMxMjc0ZDA1Li5hNTMxZmU0OTg0M2MzZjNmN2IxMjlmOTZmZTVj
MDYxMmZjZTRjM2E1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVEcm9wU2hh
ZG93RWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRHJvcFNoYWRvd0Vs
ZW1lbnQuaWRsCkBAIC0xOSw3ICsxOSw3IEBACiAKIFsKICAgICBDb25kaXRpb25hbD1TVkcmRklM
VEVSUwotXSBpbnRlcmZhY2UgU1ZHRkVEcm9wU2hhZG93RWxlbWVudCA6IFNWR1N0eWxlZEVsZW1l
bnQgeworXSBpbnRlcmZhY2UgU1ZHRkVEcm9wU2hhZG93RWxlbWVudCA6IFNWR0VsZW1lbnQgewog
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTVkdBbmltYXRlZFN0cmluZyBpbjE7CiAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIFNWR0FuaW1hdGVkTnVtYmVyIGR4OwogICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBTVkdBbmltYXRlZE51bWJlciBkeTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdGRUZsb29kRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVGbG9vZEVsZW1l
bnQuaWRsCmluZGV4IGQ0MDg5MjUwZTZkNWE3MDMwNDI4MzIyMDUwN2QzM2FlYTQ4NzYzODYuLmJk
NWFiYzg2ZTQ1NGNhNTU1MzE0MDM4ODMxYTY4ZTk3ZGI3MjJiODggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdGRUZsb29kRWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0ZFRmxvb2RFbGVtZW50LmlkbApAQCAtMjUsNyArMjUsNyBAQAogCiBbCiAgICAgQ29u
ZGl0aW9uYWw9U1ZHJkZJTFRFUlMKLV0gaW50ZXJmYWNlIFNWR0ZFRmxvb2RFbGVtZW50IDogU1ZH
U3R5bGVkRWxlbWVudCB7CitdIGludGVyZmFjZSBTVkdGRUZsb29kRWxlbWVudCA6IFNWR0VsZW1l
bnQgewogfTsKIAogU1ZHRkVGbG9vZEVsZW1lbnQgaW1wbGVtZW50cyBTVkdGaWx0ZXJQcmltaXRp
dmVTdGFuZGFyZEF0dHJpYnV0ZXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
RkVHYXVzc2lhbkJsdXJFbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUdhdXNz
aWFuQmx1ckVsZW1lbnQuaWRsCmluZGV4IDg4ZWI1ZDAzYmE1MzRkMjFlOTE4MTg0NDY2M2EwNzE5
YTY5YmJmNGQuLjJhNzhlMTcyNTU1ZTNhNDkxMTMzZDcwOTViMmVhZTBlYzc2N2M2YjggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUdhdXNzaWFuQmx1ckVsZW1lbnQuaWRsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUdhdXNzaWFuQmx1ckVsZW1lbnQuaWRsCkBAIC0y
NSw3ICsyNSw3IEBACiAKIFsKICAgICBDb25kaXRpb25hbD1TVkcmRklMVEVSUwotXSBpbnRlcmZh
Y2UgU1ZHRkVHYXVzc2lhbkJsdXJFbGVtZW50IDogU1ZHU3R5bGVkRWxlbWVudCB7CitdIGludGVy
ZmFjZSBTVkdGRUdhdXNzaWFuQmx1ckVsZW1lbnQgOiBTVkdFbGVtZW50IHsKICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgU1ZHQW5pbWF0ZWRTdHJpbmcgaW4xOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBTVkdBbmltYXRlZE51bWJlciBzdGREZXZpYXRpb25YOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBTVkdBbmltYXRlZE51bWJlciBzdGREZXZpYXRpb25ZOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0ZFSW1hZ2VFbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdG
RUltYWdlRWxlbWVudC5pZGwKaW5kZXggZGMwZDk5YmNhMDNjYjJiY2Y4NzA5YTZhNmZkYjdhYjIw
ZTAyY2NkZS4uMGFjNjA1NTg2MTZmMmRjZjU3YjZjYmMzNmEwYWE4NDVhZjBiZDFiNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFSW1hZ2VFbGVtZW50LmlkbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRkVJbWFnZUVsZW1lbnQuaWRsCkBAIC0yNSw3ICsyNSw3IEBACiAK
IFsKICAgICBDb25kaXRpb25hbD1TVkcmRklMVEVSUwotXSBpbnRlcmZhY2UgU1ZHRkVJbWFnZUVs
ZW1lbnQgOiBTVkdTdHlsZWRFbGVtZW50IHsKK10gaW50ZXJmYWNlIFNWR0ZFSW1hZ2VFbGVtZW50
IDogU1ZHRWxlbWVudCB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFNWR0FuaW1hdGVkUHJlc2Vy
dmVBc3BlY3RSYXRpbyBwcmVzZXJ2ZUFzcGVjdFJhdGlvOwogfTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFTGlnaHRFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHRkVMaWdodEVsZW1lbnQuaAppbmRleCA3NTVjNjUyYmM3YjZiNDU2YzY2MTdhZmZiNGY0NDEy
MDg2ODJjN2NkLi44MzNjMjQwMmY1MmMwZDNlZTFiNjY0MTEyNTA0ZmU4OThhYjA5OTE1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVMaWdodEVsZW1lbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRkVMaWdodEVsZW1lbnQuaApAQCAtMzgsNiArMzgsOCBAQCBwdWJs
aWM6CiBwcm90ZWN0ZWQ6CiAgICAgU1ZHRkVMaWdodEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFt
ZSYsIERvY3VtZW50Kik7CiAKKyAgICB2aXJ0dWFsIGJvb2wgcmVuZGVyZXJJc05lZWRlZChjb25z
dCBSZW5kZXJTdHlsZSYpIE9WRVJSSURFIHsgcmV0dXJuIGZhbHNlOyB9CisKIHByaXZhdGU6CiAg
ICAgYm9vbCBpc1N1cHBvcnRlZEF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJik7CiAgICAg
dmlydHVhbCB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBB
dG9taWNTdHJpbmcmKSBPVkVSUklERTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdGRU1lcmdlRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVNZXJnZUVsZW1l
bnQuaWRsCmluZGV4IGVkMjVmN2VmZWJkM2Y1OTc1YzQ1OWI0YmQ0NjEwZjI0ZjJmOWVhODQuLjZh
OTkwMDljMDk1MDE3YTM2NmYwNDY0ZDFkNWUyY2M4ZjdhODMwZjAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdGRU1lcmdlRWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0ZFTWVyZ2VFbGVtZW50LmlkbApAQCAtMjUsNyArMjUsNyBAQAogCiBbCiAgICAgQ29u
ZGl0aW9uYWw9U1ZHJkZJTFRFUlMKLV0gaW50ZXJmYWNlIFNWR0ZFTWVyZ2VFbGVtZW50IDogU1ZH
U3R5bGVkRWxlbWVudCB7CitdIGludGVyZmFjZSBTVkdGRU1lcmdlRWxlbWVudCA6IFNWR0VsZW1l
bnQgewogfTsKIAogU1ZHRkVNZXJnZUVsZW1lbnQgaW1wbGVtZW50cyBTVkdGaWx0ZXJQcmltaXRp
dmVTdGFuZGFyZEF0dHJpYnV0ZXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
RkVNZXJnZU5vZGVFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVNZXJnZU5vZGVF
bGVtZW50LmgKaW5kZXggNTBiOWJhMmRlNzg4ODUzM2YwOTlmYWE5ZGMwZjEwYWIwNTM5Mjc3OC4u
YmQyNDhmODJmMmQzYzI4NDE0ZmRlMGZhYWIzYmYyNjRkZGIyODljYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFTWVyZ2VOb2RlRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdGRU1lcmdlTm9kZUVsZW1lbnQuaApAQCAtMzgsNiArMzgsOCBAQCBwcml2YXRl
OgogICAgIHZpcnR1YWwgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwg
Y29uc3QgQXRvbWljU3RyaW5nJikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHN2Z0F0dHJp
YnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYpOwogCisgICAgdmlydHVhbCBib29sIHJl
bmRlcmVySXNOZWVkZWQoY29uc3QgUmVuZGVyU3R5bGUmKSBPVkVSUklERSB7IHJldHVybiBmYWxz
ZTsgfQorCiAgICAgQkVHSU5fREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUSUVTKFNWR0ZFTWVyZ2VO
b2RlRWxlbWVudCkKICAgICAgICAgREVDTEFSRV9BTklNQVRFRF9TVFJJTkcoSW4xLCBpbjEpCiAg
ICAgRU5EX0RFQ0xBUkVfQU5JTUFURURfUFJPUEVSVElFUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0ZFTW9ycGhvbG9neUVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0ZFTW9ycGhvbG9neUVsZW1lbnQuaWRsCmluZGV4IGJhNjQ4MWM0N2ZkYjQ3Y2E4MzY4ZGUz
MTUzNjg5YjljYjNmZmYyMTIuLmVjNGM0MjMzOTI4ZTcwMTEwYTM5OTU3NmZhOWYzMTkwYzY5NDJk
NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRU1vcnBob2xvZ3lFbGVtZW50
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVNb3JwaG9sb2d5RWxlbWVudC5pZGwK
QEAgLTI2LDcgKzI2LDcgQEAKIFsKICAgICBDb25kaXRpb25hbD1TVkcmRklMVEVSUywKICAgICBE
b05vdENoZWNrQ29uc3RhbnRzCi1dIGludGVyZmFjZSBTVkdGRU1vcnBob2xvZ3lFbGVtZW50IDog
U1ZHU3R5bGVkRWxlbWVudCB7CitdIGludGVyZmFjZSBTVkdGRU1vcnBob2xvZ3lFbGVtZW50IDog
U1ZHRWxlbWVudCB7CiAgICAgLy8gTW9ycGhvbG9neSBPcGVyYXRvcnMKICAgICBjb25zdCB1bnNp
Z25lZCBzaG9ydCBTVkdfTU9SUEhPTE9HWV9PUEVSQVRPUl9VTktOT1dOICA9IDA7CiAgICAgY29u
c3QgdW5zaWduZWQgc2hvcnQgU1ZHX01PUlBIT0xPR1lfT1BFUkFUT1JfRVJPREUgICAgPSAxOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFT2Zmc2V0RWxlbWVudC5pZGwgYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVPZmZzZXRFbGVtZW50LmlkbAppbmRleCA3YTlmMTVhODBi
NWI2NjkwNGEwZTNjNmRhMWUwYTNmZmVhNzEwM2VlLi5lYjk1ZTc0NjVmMDY1MWYzYThmMWVmZTZk
MjdiNmQ2MzBhNDAyNzI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVPZmZz
ZXRFbGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVPZmZzZXRFbGVtZW50
LmlkbApAQCAtMjUsNyArMjUsNyBAQAogCiBbCiAgICAgQ29uZGl0aW9uYWw9U1ZHJkZJTFRFUlMK
LV0gaW50ZXJmYWNlIFNWR0ZFT2Zmc2V0RWxlbWVudCA6IFNWR1N0eWxlZEVsZW1lbnQgeworXSBp
bnRlcmZhY2UgU1ZHRkVPZmZzZXRFbGVtZW50IDogU1ZHRWxlbWVudCB7CiAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIFNWR0FuaW1hdGVkU3RyaW5nIGluMTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUg
U1ZHQW5pbWF0ZWROdW1iZXIgZHg7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFNWR0FuaW1hdGVk
TnVtYmVyIGR5OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFU3BlY3VsYXJM
aWdodGluZ0VsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFU3BlY3VsYXJMaWdo
dGluZ0VsZW1lbnQuaWRsCmluZGV4IDkzYWQ3NzMwNjI5NTZmNjNmYjI1ZTg0OGRlOTdlZjk5YmYy
YWJiMTAuLjBlNGU5ZWU1MmZkNjVkYTI0ZjlmMjEzNDc1YzUwZDk2N2Q4ZjExMjMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50LmlkbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudC5pZGwK
QEAgLTI1LDcgKzI1LDcgQEAKIAogWwogICAgIENvbmRpdGlvbmFsPVNWRyZGSUxURVJTCi1dIGlu
dGVyZmFjZSBTVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50IDogU1ZHU3R5bGVkRWxlbWVudCB7
CitdIGludGVyZmFjZSBTVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50IDogU1ZHRWxlbWVudCB7
CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFNWR0FuaW1hdGVkU3RyaW5nIGluMTsKICAgICByZWFk
b25seSBhdHRyaWJ1dGUgU1ZHQW5pbWF0ZWROdW1iZXIgc3VyZmFjZVNjYWxlOwogICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBTVkdBbmltYXRlZE51bWJlciBzcGVjdWxhckNvbnN0YW50OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFVGlsZUVsZW1lbnQuaWRsIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0ZFVGlsZUVsZW1lbnQuaWRsCmluZGV4IDI1MWE1NDg1OTFhYTBkOWYyMWQw
MzZhOGEyZWZmYzc1OWM0ZTViZmUuLjVjYWUxYTE0ODA4YjE2M2M2ODQ0YmQwOWFlMzMxOWJmMDc0
NzJlMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRVRpbGVFbGVtZW50Lmlk
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVUaWxlRWxlbWVudC5pZGwKQEAgLTI1LDcg
KzI1LDcgQEAKIAogWwogICAgIENvbmRpdGlvbmFsPVNWRyZGSUxURVJTCi1dIGludGVyZmFjZSBT
VkdGRVRpbGVFbGVtZW50IDogU1ZHU3R5bGVkRWxlbWVudCB7CitdIGludGVyZmFjZSBTVkdGRVRp
bGVFbGVtZW50IDogU1ZHRWxlbWVudCB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFNWR0FuaW1h
dGVkU3RyaW5nIGluMTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdG
RVR1cmJ1bGVuY2VFbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRVR1cmJ1bGVu
Y2VFbGVtZW50LmlkbAppbmRleCA3NmQxOTEzNmExMDllOWZmYzlhZWY0NDkwMGNkZGE4ZjJhZDE0
ODQ2Li4wODA0ZmI1OTYxMmRjOTI2NWY1MzE5OGNmZTZiNTM1YjM3MDk5NDk2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5pZGwKKysrIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFVHVyYnVsZW5jZUVsZW1lbnQuaWRsCkBAIC0yNiw3ICsyNiw3
IEBACiBbCiAgICAgQ29uZGl0aW9uYWw9U1ZHJkZJTFRFUlMsCiAgICAgRG9Ob3RDaGVja0NvbnN0
YW50cwotXSBpbnRlcmZhY2UgU1ZHRkVUdXJidWxlbmNlRWxlbWVudCA6IFNWR1N0eWxlZEVsZW1l
bnQgeworXSBpbnRlcmZhY2UgU1ZHRkVUdXJidWxlbmNlRWxlbWVudCA6IFNWR0VsZW1lbnQgewog
ICAgIC8vIFR1cmJ1bGVuY2UgVHlwZXMKICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBTVkdfVFVS
QlVMRU5DRV9UWVBFX1VOS05PV04gICAgICA9IDA7CiAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQg
U1ZHX1RVUkJVTEVOQ0VfVFlQRV9GUkFDVEFMTk9JU0UgPSAxOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0ZpbHRlckVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0ZpbHRlckVsZW1lbnQuY3BwCmluZGV4IGFmZDg1YjQyZjQ5MWRlYmYwOGVhNDc0NjhkN2JlNjY3
MTEwMWY3YjkuLjM2ZTE5MjNlZDZlMzk5OTUxZjU3ODhmYWY0NjU1OGEyNmEyMjdkMGQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGaWx0ZXJFbGVtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRmlsdGVyRWxlbWVudC5jcHAKQEAgLTYzLDcgKzYzLDcgQEAgQkVH
SU5fUkVHSVNURVJfQU5JTUFURURfUFJPUEVSVElFUyhTVkdGaWx0ZXJFbGVtZW50KQogRU5EX1JF
R0lTVEVSX0FOSU1BVEVEX1BST1BFUlRJRVMKIAogaW5saW5lIFNWR0ZpbHRlckVsZW1lbnQ6OlNW
R0ZpbHRlckVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRv
Y3VtZW50KQotICAgIDogU1ZHU3R5bGVkRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKKyAgICA6
IFNWR0VsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCiAgICAgLCBtX2ZpbHRlclVuaXRzKFNWR1Vu
aXRUeXBlczo6U1ZHX1VOSVRfVFlQRV9PQkpFQ1RCT1VORElOR0JPWCkKICAgICAsIG1fcHJpbWl0
aXZlVW5pdHMoU1ZHVW5pdFR5cGVzOjpTVkdfVU5JVF9UWVBFX1VTRVJTUEFDRU9OVVNFKQogICAg
ICwgbV94KExlbmd0aE1vZGVXaWR0aCwgIi0xMCUiKQpAQCAtMTI2LDcgKzEyNiw3IEBAIHZvaWQg
U1ZHRmlsdGVyRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFt
ZSwgY29uc3QgQXRvbWljU3RyCiAgICAgU1ZHUGFyc2luZ0Vycm9yIHBhcnNlRXJyb3IgPSBOb0Vy
cm9yOwogCiAgICAgaWYgKCFpc1N1cHBvcnRlZEF0dHJpYnV0ZShuYW1lKSkKLSAgICAgICAgU1ZH
U3R5bGVkRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUobmFtZSwgdmFsdWUpOworICAgICAgICBTVkdF
bGVtZW50OjpwYXJzZUF0dHJpYnV0ZShuYW1lLCB2YWx1ZSk7CiAgICAgZWxzZSBpZiAobmFtZSA9
PSBTVkdOYW1lczo6ZmlsdGVyVW5pdHNBdHRyKSB7CiAgICAgICAgIFNWR1VuaXRUeXBlczo6U1ZH
VW5pdFR5cGUgcHJvcGVydHlWYWx1ZSA9IFNWR1Byb3BlcnR5VHJhaXRzPFNWR1VuaXRUeXBlczo6
U1ZHVW5pdFR5cGU+Ojpmcm9tU3RyaW5nKHZhbHVlKTsKICAgICAgICAgaWYgKHByb3BlcnR5VmFs
dWUgPiAwKQpAQCAtMTYxLDcgKzE2MSw3IEBAIHZvaWQgU1ZHRmlsdGVyRWxlbWVudDo6cGFyc2VB
dHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbWljU3RyCiB2b2lk
IFNWR0ZpbHRlckVsZW1lbnQ6OnN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFt
ZSYgYXR0ck5hbWUpCiB7CiAgICAgaWYgKCFpc1N1cHBvcnRlZEF0dHJpYnV0ZShhdHRyTmFtZSkp
IHsKLSAgICAgICAgU1ZHU3R5bGVkRWxlbWVudDo6c3ZnQXR0cmlidXRlQ2hhbmdlZChhdHRyTmFt
ZSk7CisgICAgICAgIFNWR0VsZW1lbnQ6OnN2Z0F0dHJpYnV0ZUNoYW5nZWQoYXR0ck5hbWUpOwog
ICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC0xNzksNyArMTc5LDcgQEAgdm9pZCBTVkdGaWx0
ZXJFbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJO
YW1lKQogCiB2b2lkIFNWR0ZpbHRlckVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZChib29sIGNoYW5n
ZWRCeVBhcnNlciwgTm9kZSogYmVmb3JlQ2hhbmdlLCBOb2RlKiBhZnRlckNoYW5nZSwgaW50IGNo
aWxkQ291bnREZWx0YSkKIHsKLSAgICBTVkdTdHlsZWRFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQo
Y2hhbmdlZEJ5UGFyc2VyLCBiZWZvcmVDaGFuZ2UsIGFmdGVyQ2hhbmdlLCBjaGlsZENvdW50RGVs
dGEpOworICAgIFNWR0VsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZChjaGFuZ2VkQnlQYXJzZXIsIGJl
Zm9yZUNoYW5nZSwgYWZ0ZXJDaGFuZ2UsIGNoaWxkQ291bnREZWx0YSk7CiAKICAgICBpZiAoY2hh
bmdlZEJ5UGFyc2VyKQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHRmlsdGVyRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZpbHRlckVs
ZW1lbnQuaAppbmRleCAzMzUxYzYwZDk1N2QwMGYxNmM0OTc3MGE2OGM2OGQyMjVkMmIxZjJjLi5i
Y2U2ZWE2ZDc5MWI2YTA3OWU0MjE2ZGRmMzc5NzMyMmQzY2JjYTU2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRmlsdGVyRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdGaWx0ZXJFbGVtZW50LmgKQEAgLTI4LDE1ICsyOCwxNSBAQAogI2luY2x1ZGUgIlNWR0Fu
aW1hdGVkRW51bWVyYXRpb24uaCIKICNpbmNsdWRlICJTVkdBbmltYXRlZEludGVnZXIuaCIKICNp
bmNsdWRlICJTVkdBbmltYXRlZExlbmd0aC5oIgorI2luY2x1ZGUgIlNWR0VsZW1lbnQuaCIKICNp
bmNsdWRlICJTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmgiCiAjaW5jbHVkZSAiU1ZHTmFt
ZXMuaCIKLSNpbmNsdWRlICJTVkdTdHlsZWRFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHVVJJUmVm
ZXJlbmNlLmgiCiAjaW5jbHVkZSAiU1ZHVW5pdFR5cGVzLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotY2xhc3MgU1ZHRmlsdGVyRWxlbWVudCBGSU5BTCA6IHB1YmxpYyBTVkdTdHlsZWRFbGVt
ZW50LAorY2xhc3MgU1ZHRmlsdGVyRWxlbWVudCBGSU5BTCA6IHB1YmxpYyBTVkdFbGVtZW50LAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyBTVkdVUklSZWZlcmVuY2UsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIFNWR0V4dGVybmFsUmVzb3VyY2Vz
UmVxdWlyZWQgewogcHVibGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0Zp
bHRlckVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZpbHRlckVsZW1lbnQuaWRs
CmluZGV4IGYzZTI1MmRjN2ZiNDM4Y2U5N2JmZGI0MzI1YjcxYTM3OGI2MTFmZGIuLjhmNWJlMWQx
NjZkOWE3YmE2MjlkNDNlMGVkZmMzMDZjNGZmODUwZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdGaWx0ZXJFbGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
RmlsdGVyRWxlbWVudC5pZGwKQEAgLTI2LDcgKzI2LDcgQEAKIAogWwogICAgIENvbmRpdGlvbmFs
PVNWRyZGSUxURVJTCi1dIGludGVyZmFjZSBTVkdGaWx0ZXJFbGVtZW50IDogU1ZHU3R5bGVkRWxl
bWVudCB7CitdIGludGVyZmFjZSBTVkdGaWx0ZXJFbGVtZW50IDogU1ZHRWxlbWVudCB7CiAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIFNWR0FuaW1hdGVkRW51bWVyYXRpb24gZmlsdGVyVW5pdHM7CiAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIFNWR0FuaW1hdGVkRW51bWVyYXRpb24gcHJpbWl0aXZlVW5p
dHM7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFNWR0FuaW1hdGVkTGVuZ3RoICAgICAgeDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0
dHJpYnV0ZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZpbHRlclByaW1pdGl2ZVN0YW5k
YXJkQXR0cmlidXRlcy5jcHAKaW5kZXggNjVkODA2MzFiOGMyM2JiMjA1Y2U5N2IzN2QyZDNiZGU0
YTA5N2FkMS4uMmJkNDNmOGU4OTI2ZTU5YjU3NDlmM2U4MjM1NTAyY2M2OWFlYTQ5NyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmli
dXRlcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZpbHRlclByaW1pdGl2ZVN0YW5k
YXJkQXR0cmlidXRlcy5jcHAKQEAgLTI3LDExICsyNywxMSBAQAogI2luY2x1ZGUgIkF0dHJpYnV0
ZS5oIgogI2luY2x1ZGUgIkZpbHRlckVmZmVjdC5oIgogI2luY2x1ZGUgIlJlbmRlclNWR1Jlc291
cmNlRmlsdGVyUHJpbWl0aXZlLmgiCisjaW5jbHVkZSAiU1ZHRWxlbWVudC5oIgogI2luY2x1ZGUg
IlNWR0VsZW1lbnRJbnN0YW5jZS5oIgogI2luY2x1ZGUgIlNWR0ZpbHRlckJ1aWxkZXIuaCIKICNp
bmNsdWRlICJTVkdMZW5ndGguaCIKICNpbmNsdWRlICJTVkdOYW1lcy5oIgotI2luY2x1ZGUgIlNW
R1N0eWxlZEVsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdVbml0VHlwZXMuaCIKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewpAQCAtNDksMTEgKzQ5LDExIEBAIEJFR0lOX1JFR0lTVEVSX0FOSU1BVEVEX1BS
T1BFUlRJRVMoU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzKQogICAgIFJFR0lT
VEVSX0xPQ0FMX0FOSU1BVEVEX1BST1BFUlRZKHdpZHRoKQogICAgIFJFR0lTVEVSX0xPQ0FMX0FO
SU1BVEVEX1BST1BFUlRZKGhlaWdodCkKICAgICBSRUdJU1RFUl9MT0NBTF9BTklNQVRFRF9QUk9Q
RVJUWShyZXN1bHQpCi0gICAgUkVHSVNURVJfUEFSRU5UX0FOSU1BVEVEX1BST1BFUlRJRVMoU1ZH
U3R5bGVkRWxlbWVudCkKKyAgICBSRUdJU1RFUl9QQVJFTlRfQU5JTUFURURfUFJPUEVSVElFUyhT
VkdFbGVtZW50KQogRU5EX1JFR0lTVEVSX0FOSU1BVEVEX1BST1BFUlRJRVMKIAogU1ZHRmlsdGVy
UHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzOjpTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0
dHJpYnV0ZXMoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50
KQotICAgIDogU1ZHU3R5bGVkRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKKyAgICA6IFNWR0Vs
ZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCiAgICAgLCBtX3goTGVuZ3RoTW9kZVdpZHRoLCAiMCUi
KQogICAgICwgbV95KExlbmd0aE1vZGVIZWlnaHQsICIwJSIpCiAgICAgLCBtX3dpZHRoKExlbmd0
aE1vZGVXaWR0aCwgIjEwMCUiKQpAQCAtODIsNyArODIsNyBAQCB2b2lkIFNWR0ZpbHRlclByaW1p
dGl2ZVN0YW5kYXJkQXR0cmlidXRlczo6cGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFt
ZSYgbgogICAgIFNWR1BhcnNpbmdFcnJvciBwYXJzZUVycm9yID0gTm9FcnJvcjsKIAogICAgIGlm
ICghaXNTdXBwb3J0ZWRBdHRyaWJ1dGUobmFtZSkpCi0gICAgICAgIFNWR1N0eWxlZEVsZW1lbnQ6
OnBhcnNlQXR0cmlidXRlKG5hbWUsIHZhbHVlKTsKKyAgICAgICAgU1ZHRWxlbWVudDo6cGFyc2VB
dHRyaWJ1dGUobmFtZSwgdmFsdWUpOwogICAgIGVsc2UgaWYgKG5hbWUgPT0gU1ZHTmFtZXM6OnhB
dHRyKQogICAgICAgICBzZXRYQmFzZVZhbHVlKFNWR0xlbmd0aDo6Y29uc3RydWN0KExlbmd0aE1v
ZGVXaWR0aCwgdmFsdWUsIHBhcnNlRXJyb3IpKTsKICAgICBlbHNlIGlmIChuYW1lID09IFNWR05h
bWVzOjp5QXR0cikKQEAgLTEwOSw3ICsxMDksNyBAQCBib29sIFNWR0ZpbHRlclByaW1pdGl2ZVN0
YW5kYXJkQXR0cmlidXRlczo6c2V0RmlsdGVyRWZmZWN0QXR0cmlidXRlKEZpbHRlckVmZmVjdAog
dm9pZCBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXM6OnN2Z0F0dHJpYnV0ZUNo
YW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUpCiB7CiAgICAgaWYgKCFpc1N1cHBv
cnRlZEF0dHJpYnV0ZShhdHRyTmFtZSkpIHsKLSAgICAgICAgU1ZHU3R5bGVkRWxlbWVudDo6c3Zn
QXR0cmlidXRlQ2hhbmdlZChhdHRyTmFtZSk7CisgICAgICAgIFNWR0VsZW1lbnQ6OnN2Z0F0dHJp
YnV0ZUNoYW5nZWQoYXR0ck5hbWUpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC0xMTks
NyArMTE5LDcgQEAgdm9pZCBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXM6OnN2
Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmEKIAogdm9pZCBTVkdGaWx0ZXJQcmlt
aXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXM6OmNoaWxkcmVuQ2hhbmdlZChib29sIGNoYW5nZWRCeVBh
cnNlciwgTm9kZSogYmVmb3JlQ2hhbmdlLCBOb2RlKiBhZnRlckNoYW5nZSwgaW50IGNoaWxkQ291
bnREZWx0YSkKIHsKLSAgICBTVkdTdHlsZWRFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQoY2hhbmdl
ZEJ5UGFyc2VyLCBiZWZvcmVDaGFuZ2UsIGFmdGVyQ2hhbmdlLCBjaGlsZENvdW50RGVsdGEpOwor
ICAgIFNWR0VsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZChjaGFuZ2VkQnlQYXJzZXIsIGJlZm9yZUNo
YW5nZSwgYWZ0ZXJDaGFuZ2UsIGNoaWxkQ291bnREZWx0YSk7CiAKICAgICBpZiAoIWNoYW5nZWRC
eVBhcnNlcikKICAgICAgICAgaW52YWxpZGF0ZSgpOwpAQCAtMTQ5LDcgKzE0OSw3IEBAIFJlbmRl
ck9iamVjdCogU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzOjpjcmVhdGVSZW5k
ZXJlcihSZW5kZXJBcmVuYSoKIGJvb2wgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1
dGVzOjpyZW5kZXJlcklzTmVlZGVkKGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSkKIHsKICAgICBp
ZiAocGFyZW50Tm9kZSgpICYmIChwYXJlbnROb2RlKCktPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OmZp
bHRlclRhZykpKQotICAgICAgICByZXR1cm4gU1ZHU3R5bGVkRWxlbWVudDo6cmVuZGVyZXJJc05l
ZWRlZChzdHlsZSk7CisgICAgICAgIHJldHVybiBTVkdFbGVtZW50OjpyZW5kZXJlcklzTmVlZGVk
KHN0eWxlKTsKIAogICAgIHJldHVybiBmYWxzZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMuaCBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMuaAppbmRleCBl
ZTZiNzBmYTIyM2NiZjNiMmFmOTIwODUyMzljMDIyZGI4MzA4MGYzLi45OGY5MWQ0Yjg1ZmI5ZGRh
ODRmMDdlNTU2NjkxMjA4MzAzODY3ZWNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcy5oCkBAIC0yNiw3ICsy
Niw3IEBACiAjaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXJQcmltaXRpdmUuaCIKICNp
bmNsdWRlICJTVkdBbmltYXRlZExlbmd0aC5oIgogI2luY2x1ZGUgIlNWR0FuaW1hdGVkU3RyaW5n
LmgiCi0jaW5jbHVkZSAiU1ZHU3R5bGVkRWxlbWVudC5oIgorI2luY2x1ZGUgIlNWR0VsZW1lbnQu
aCIKIAogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5o
PgpAQCAtMzcsNyArMzcsNyBAQCBjbGFzcyBGaWx0ZXI7CiBjbGFzcyBGaWx0ZXJFZmZlY3Q7CiBj
bGFzcyBTVkdGaWx0ZXJCdWlsZGVyOwogCi1jbGFzcyBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFy
ZEF0dHJpYnV0ZXMgOiBwdWJsaWMgU1ZHU3R5bGVkRWxlbWVudCB7CitjbGFzcyBTVkdGaWx0ZXJQ
cmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMgOiBwdWJsaWMgU1ZHRWxlbWVudCB7CiBwdWJsaWM6
CiAgICAgdm9pZCBzZXRTdGFuZGFyZEF0dHJpYnV0ZXMoRmlsdGVyRWZmZWN0KikgY29uc3Q7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RWxlbWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRm9udEVsZW1lbnQuY3BwCmluZGV4IGM4ZWEzYzgzMGNkZTFjY2Vk
ZjQ0YWIwMDE1MjA5OTE2NGU0NzNjMmQuLmFkYTU1NjIyYzEwNzUwZGJkMzBlNjEzYjU5N2MwNzdi
MTBkNjAxMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RWxlbWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRFbGVtZW50LmNwcApAQCAtNDEsMTEg
KzQxLDExIEBAIERFRklORV9BTklNQVRFRF9CT09MRUFOKFNWR0ZvbnRFbGVtZW50LCBTVkdOYW1l
czo6ZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZEF0dHIsCiAKIEJFR0lOX1JFR0lTVEVSX0FOSU1B
VEVEX1BST1BFUlRJRVMoU1ZHRm9udEVsZW1lbnQpCiAgICAgUkVHSVNURVJfTE9DQUxfQU5JTUFU
RURfUFJPUEVSVFkoZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKLSAgICBSRUdJU1RFUl9QQVJF
TlRfQU5JTUFURURfUFJPUEVSVElFUyhTVkdTdHlsZWRFbGVtZW50KQorICAgIFJFR0lTVEVSX1BB
UkVOVF9BTklNQVRFRF9QUk9QRVJUSUVTKFNWR0VsZW1lbnQpCiBFTkRfUkVHSVNURVJfQU5JTUFU
RURfUFJPUEVSVElFUwogCiBpbmxpbmUgU1ZHRm9udEVsZW1lbnQ6OlNWR0ZvbnRFbGVtZW50KGNv
bnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKLSAgICA6IFNW
R1N0eWxlZEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpIAorICAgIDogU1ZHRWxlbWVudCh0YWdO
YW1lLCBkb2N1bWVudCkgCiAgICAgLCBtX21pc3NpbmdHbHlwaCgwKQogICAgICwgbV9pc0dseXBo
Q2FjaGVWYWxpZChmYWxzZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdG
b250RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRFbGVtZW50LmgKaW5kZXgg
ZDg3MDNlYzE2MzAwNjFjYWFhYTEzM2Y5ZWEwOWJhMjcyMzUzNTQyZS4uMDFmZTZjMmU3YzZlYTc3
NWE5ODcxZTU3MWQ3ZDU1YmQ3YTY5ZjE0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0ZvbnRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRFbGVtZW50
LmgKQEAgLTI0LDExICsyNCwxMSBAQAogCiAjaWYgRU5BQkxFKFNWR19GT05UUykKICNpbmNsdWRl
ICJTVkdBbmltYXRlZEJvb2xlYW4uaCIKKyNpbmNsdWRlICJTVkdFbGVtZW50LmgiCiAjaW5jbHVk
ZSAiU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5oIgogI2luY2x1ZGUgIlNWR0dseXBoTWFw
LmgiCiAjaW5jbHVkZSAiU1ZHTmFtZXMuaCIKICNpbmNsdWRlICJTVkdQYXJzZXJVdGlsaXRpZXMu
aCIKLSNpbmNsdWRlICJTVkdTdHlsZWRFbGVtZW50LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IApAQCAtNTIsNyArNTIsNyBAQCB0eXBlZGVmIFZlY3RvcjxTVkdLZXJuaW5nUGFpcj4gS2Vybmlu
Z1BhaXJWZWN0b3I7CiAKIGNsYXNzIFNWR01pc3NpbmdHbHlwaEVsZW1lbnQ7ICAgIAogCi1jbGFz
cyBTVkdGb250RWxlbWVudCBGSU5BTCA6IHB1YmxpYyBTVkdTdHlsZWRFbGVtZW50CitjbGFzcyBT
VkdGb250RWxlbWVudCBGSU5BTCA6IHB1YmxpYyBTVkdFbGVtZW50CiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAsIHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkIHsKIHB1Ymxp
YzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTVkdGb250RWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1
YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0ZvbnRGYWNlRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VF
bGVtZW50LmNwcAppbmRleCBmZmVlZDMyNjA1YWFkNWJjNjc4NzhmN2MzMmNmYmM0NjQ5MDg5M2Nk
Li5mMzUwMjU2NjU3NzJmNWI5MmI3YzY0ZGE4Njc0Njc1NGJlNmM1YWQ3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHRm9udEZhY2VFbGVtZW50LmNwcApAQCAtNjAsNTQgKzYwLDYgQEAgUGFzc1Jl
ZlB0cjxTVkdGb250RmFjZUVsZW1lbnQ+IFNWR0ZvbnRGYWNlRWxlbWVudDo6Y3JlYXRlKGNvbnN0
IFF1YWxpZmllZE5hbWUmIHQKICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNWR0ZvbnRGYWNlRWxl
bWVudCh0YWdOYW1lLCBkb2N1bWVudCkpOwogfQogCi1zdGF0aWMgQ1NTUHJvcGVydHlJRCBjc3NQ
cm9wZXJ0eUlkRm9yU1ZHQXR0cmlidXRlTmFtZShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFt
ZSkKLXsKLSAgICBpZiAoIWF0dHJOYW1lLm5hbWVzcGFjZVVSSSgpLmlzTnVsbCgpKQotICAgICAg
ICByZXR1cm4gQ1NTUHJvcGVydHlJbnZhbGlkOwotICAgIAotICAgIHN0YXRpYyBIYXNoTWFwPEF0
b21pY1N0cmluZ0ltcGwqLCBDU1NQcm9wZXJ0eUlEPiogcHJvcGVydHlOYW1lVG9JZE1hcCA9IDA7
Ci0gICAgaWYgKCFwcm9wZXJ0eU5hbWVUb0lkTWFwKSB7Ci0gICAgICAgIHByb3BlcnR5TmFtZVRv
SWRNYXAgPSBuZXcgSGFzaE1hcDxBdG9taWNTdHJpbmdJbXBsKiwgQ1NTUHJvcGVydHlJRD47Ci0g
ICAgICAgIC8vIFRoaXMgaXMgYSBsaXN0IG9mIGFsbCBAZm9udC1mYWNlIENTUyBwcm9wZXJ0aWVz
IHdoaWNoIGFyZSBleHBvc2VkIGFzIFNWRyBYTUwgYXR0cmlidXRlcwotICAgICAgICAvLyBUaG9z
ZSBjb21tZW50ZWQgb3V0IGFyZSBub3QgeWV0IHN1cHBvcnRlZCBieSBXZWJDb3JlJ3Mgc3R5bGUg
c3lzdGVtCi0gICAgICAgIC8vIG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlOYW1l
VG9JZE1hcCwgYWNjZW50X2hlaWdodEF0dHIpOwotICAgICAgICAvLyBtYXBBdHRyaWJ1dGVUb0NT
U1Byb3BlcnR5KHByb3BlcnR5TmFtZVRvSWRNYXAsIGFscGhhYmV0aWNBdHRyKTsKLSAgICAgICAg
Ly8gbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBhc2NlbnRB
dHRyKTsKLSAgICAgICAgLy8gbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVU
b0lkTWFwLCBiYm94QXR0cik7Ci0gICAgICAgIC8vIG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHko
cHJvcGVydHlOYW1lVG9JZE1hcCwgY2FwX2hlaWdodEF0dHIpOwotICAgICAgICAvLyBtYXBBdHRy
aWJ1dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5TmFtZVRvSWRNYXAsIGRlc2NlbnRBdHRyKTsKLSAg
ICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBmb250
X2ZhbWlseUF0dHIpOwotICAgICAgICBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5
TmFtZVRvSWRNYXAsIGZvbnRfc2l6ZUF0dHIpOwotICAgICAgICBtYXBBdHRyaWJ1dGVUb0NTU1By
b3BlcnR5KHByb3BlcnR5TmFtZVRvSWRNYXAsIGZvbnRfc3RyZXRjaEF0dHIpOwotICAgICAgICBt
YXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5TmFtZVRvSWRNYXAsIGZvbnRfc3R5bGVB
dHRyKTsKLSAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lk
TWFwLCBmb250X3ZhcmlhbnRBdHRyKTsKLSAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0
eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBmb250X3dlaWdodEF0dHIpOwotICAgICAgICAvLyBtYXBB
dHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5TmFtZVRvSWRNYXAsIGhhbmdpbmdBdHRyKTsK
LSAgICAgICAgLy8gbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFw
LCBpZGVvZ3JhcGhpY0F0dHIpOwotICAgICAgICAvLyBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5
KHByb3BlcnR5TmFtZVRvSWRNYXAsIG1hdGhlbWF0aWNhbEF0dHIpOwotICAgICAgICAvLyBtYXBB
dHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5TmFtZVRvSWRNYXAsIG92ZXJsaW5lX3Bvc2l0
aW9uQXR0cik7Ci0gICAgICAgIC8vIG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlO
YW1lVG9JZE1hcCwgb3ZlcmxpbmVfdGhpY2tuZXNzQXR0cik7Ci0gICAgICAgIC8vIG1hcEF0dHJp
YnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwgcGFub3NlXzFBdHRyKTsKLSAg
ICAgICAgLy8gbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBz
bG9wZUF0dHIpOwotICAgICAgICAvLyBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5
TmFtZVRvSWRNYXAsIHN0ZW1oQXR0cik7Ci0gICAgICAgIC8vIG1hcEF0dHJpYnV0ZVRvQ1NTUHJv
cGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwgc3RlbXZBdHRyKTsKLSAgICAgICAgLy8gbWFwQXR0
cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBzdHJpa2V0aHJvdWdoX3Bv
c2l0aW9uQXR0cik7Ci0gICAgICAgIC8vIG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVy
dHlOYW1lVG9JZE1hcCwgc3RyaWtldGhyb3VnaF90aGlja25lc3NBdHRyKTsKLSAgICAgICAgLy8g
bWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCB1bmRlcmxpbmVf
cG9zaXRpb25BdHRyKTsKLSAgICAgICAgLy8gbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9w
ZXJ0eU5hbWVUb0lkTWFwLCB1bmRlcmxpbmVfdGhpY2tuZXNzQXR0cik7Ci0gICAgICAgIC8vIG1h
cEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwgdW5pY29kZV9yYW5n
ZUF0dHIpOwotICAgICAgICAvLyBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5TmFt
ZVRvSWRNYXAsIHVuaXRzX3Blcl9lbUF0dHIpOwotICAgICAgICAvLyBtYXBBdHRyaWJ1dGVUb0NT
U1Byb3BlcnR5KHByb3BlcnR5TmFtZVRvSWRNYXAsIHZfYWxwaGFiZXRpY0F0dHIpOwotICAgICAg
ICAvLyBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5TmFtZVRvSWRNYXAsIHZfaGFu
Z2luZ0F0dHIpOwotICAgICAgICAvLyBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5
TmFtZVRvSWRNYXAsIHZfaWRlb2dyYXBoaWNBdHRyKTsKLSAgICAgICAgLy8gbWFwQXR0cmlidXRl
VG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCB2X21hdGhlbWF0aWNhbEF0dHIpOwot
ICAgICAgICAvLyBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5TmFtZVRvSWRNYXAs
IHdpZHRoc0F0dHIpOwotICAgICAgICAvLyBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHByb3Bl
cnR5TmFtZVRvSWRNYXAsIHhfaGVpZ2h0QXR0cik7Ci0gICAgfQotICAgIAotICAgIHJldHVybiBw
cm9wZXJ0eU5hbWVUb0lkTWFwLT5nZXQoYXR0ck5hbWUubG9jYWxOYW1lKCkuaW1wbCgpKTsKLX0K
LQogdm9pZCBTVkdGb250RmFjZUVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmll
ZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUpCiB7ICAgIAogICAgIENTU1By
b3BlcnR5SUQgcHJvcElkID0gY3NzUHJvcGVydHlJZEZvclNWR0F0dHJpYnV0ZU5hbWUobmFtZSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VFbGVtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VFbGVtZW50LmgKaW5kZXggYjM0ZTY1Yzk3MGFh
Y2JjN2EwYWE2YjUyYzllNjAwMDQ0ZDdhYmI5NS4uNWE1NTFlYzNiYzc2YzU2NTUyZjE4NGMwM2Ey
MGIxMzAxMGMyZTRkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNl
RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RmFjZUVsZW1lbnQuaApA
QCAtNjEsNiArNjEsOCBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgSW5zZXJ0aW9uTm90aWZpY2F0
aW9uUmVxdWVzdCBpbnNlcnRlZEludG8oQ29udGFpbmVyTm9kZSopIE9WRVJSSURFOwogICAgIHZp
cnR1YWwgdm9pZCByZW1vdmVkRnJvbShDb250YWluZXJOb2RlKikgT1ZFUlJJREU7CiAKKyAgICB2
aXJ0dWFsIGJvb2wgcmVuZGVyZXJJc05lZWRlZChjb25zdCBSZW5kZXJTdHlsZSYpIE9WRVJSSURF
IHsgcmV0dXJuIGZhbHNlOyB9CisKICAgICBSZWZQdHI8U3R5bGVSdWxlRm9udEZhY2U+IG1fZm9u
dEZhY2VSdWxlOwogICAgIFNWR0ZvbnRFbGVtZW50KiBtX2ZvbnRFbGVtZW50OwogfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RmFjZUZvcm1hdEVsZW1lbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RmFjZUZvcm1hdEVsZW1lbnQuaAppbmRleCA5ZTYxZGFh
ZjY2YTliZTVjNTQxZDM3YzVjYTYzMTRkNmJiOWNjYzA1Li42ZmE3N2I4NGU4OWNkMzA5MDYyNjY5
N2YyYjEwM2Y0YjVmM2EzNjY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9u
dEZhY2VGb3JtYXRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNl
Rm9ybWF0RWxlbWVudC5oCkBAIC0zMyw2ICszMyw3IEBAIHByaXZhdGU6CiAgICAgU1ZHRm9udEZh
Y2VGb3JtYXRFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOwogCiAgICAg
dmlydHVhbCB2b2lkIGNoaWxkcmVuQ2hhbmdlZChib29sIGNoYW5nZWRCeVBhcnNlciA9IGZhbHNl
LCBOb2RlKiBiZWZvcmVDaGFuZ2UgPSAwLCBOb2RlKiBhZnRlckNoYW5nZSA9IDAsIGludCBjaGls
ZENvdW50RGVsdGEgPSAwKTsKKyAgICB2aXJ0dWFsIGJvb2wgcmVuZGVyZXJJc05lZWRlZChjb25z
dCBSZW5kZXJTdHlsZSYpIE9WRVJSSURFIHsgcmV0dXJuIGZhbHNlOyB9CiB9OwogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEZh
Y2VOYW1lRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlTmFtZUVsZW1l
bnQuaAppbmRleCAwNjhkNTc3NjA2MzkyNTIwZDY1YWI2NDdjYmExZjJjYzBmYTk0YjAzLi4wMzI1
M2I5OWM5MmM4NGZmNmU2Y2ZkNTljODQ4ZmMzOWRiYmVmMjA4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VOYW1lRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdGb250RmFjZU5hbWVFbGVtZW50LmgKQEAgLTM1LDYgKzM1LDggQEAgcHVibGljOgog
CiBwcml2YXRlOgogICAgIFNWR0ZvbnRGYWNlTmFtZUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFt
ZSYsIERvY3VtZW50Kik7CisKKyAgICB2aXJ0dWFsIGJvb2wgcmVuZGVyZXJJc05lZWRlZChjb25z
dCBSZW5kZXJTdHlsZSYpIE9WRVJSSURFIHsgcmV0dXJuIGZhbHNlOyB9CiB9OwogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEZh
Y2VTcmNFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VTcmNFbGVtZW50
LmgKaW5kZXggZDJiMTk3Nzk0OWY3ZTllOWYyNzRlYmZhYmViZDc5ZGExOGRjMDIxYy4uMTUwYWM2
OWEzYzRiMGJiZjcwOTJhOWRiMDdmNGIxZDhmNmNhYzZiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0ZvbnRGYWNlU3JjRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdGb250RmFjZVNyY0VsZW1lbnQuaApAQCAtMzcsNiArMzcsNyBAQCBwcml2YXRlOgogICAg
IFNWR0ZvbnRGYWNlU3JjRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsK
ICAgICAKICAgICB2aXJ0dWFsIHZvaWQgY2hpbGRyZW5DaGFuZ2VkKGJvb2wgY2hhbmdlZEJ5UGFy
c2VyID0gZmFsc2UsIE5vZGUqIGJlZm9yZUNoYW5nZSA9IDAsIE5vZGUqIGFmdGVyQ2hhbmdlID0g
MCwgaW50IGNoaWxkQ291bnREZWx0YSA9IDApOworICAgIHZpcnR1YWwgYm9vbCByZW5kZXJlcklz
TmVlZGVkKGNvbnN0IFJlbmRlclN0eWxlJikgT1ZFUlJJREUgeyByZXR1cm4gZmFsc2U7IH0KIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdGb250RmFjZVVyaUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RmFj
ZVVyaUVsZW1lbnQuaAppbmRleCAxNjQwYzZhODAyOWQ0N2MxMTY3ZjkzZGVmMGY1MGRlNjZhNmI3
YzM4Li5kY2M2ZTg3YjQ1NDM4OTJmM2IxZTc1YmM5M2FjNzQzN2U5ZDllZjY5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VVcmlFbGVtZW50LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlVXJpRWxlbWVudC5oCkBAIC00Myw2ICs0Myw3IEBAIHBy
aXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5h
bWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgY2hp
bGRyZW5DaGFuZ2VkKGJvb2wgY2hhbmdlZEJ5UGFyc2VyID0gZmFsc2UsIE5vZGUqIGJlZm9yZUNo
YW5nZSA9IDAsIE5vZGUqIGFmdGVyQ2hhbmdlID0gMCwgaW50IGNoaWxkQ291bnREZWx0YSA9IDAp
OwogICAgIHZpcnR1YWwgSW5zZXJ0aW9uTm90aWZpY2F0aW9uUmVxdWVzdCBpbnNlcnRlZEludG8o
Q29udGFpbmVyTm9kZSopIE9WRVJSSURFOworICAgIHZpcnR1YWwgYm9vbCByZW5kZXJlcklzTmVl
ZGVkKGNvbnN0IFJlbmRlclN0eWxlJikgT1ZFUlJJREUgeyByZXR1cm4gZmFsc2U7IH0KIAogICAg
IHZvaWQgbG9hZEZvbnQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dF
bGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHRWxlbWVudC5jcHAKaW5kZXggMzFj
MGEwY2ZkOWUyYjI3Y2NkNjQ1YzdjYzZkODdhYTk0MGVkMGRlNy4uNDkyYWM5ZjgzNjFkMTk5MTJm
NTM2NTI5NjA5NGZiNTVlNzU1OTE1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0dFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR0VsZW1lbnQuY3BwCkBA
IC0xMDMsNyArMTAzLDcgQEAgUmVuZGVyT2JqZWN0KiBTVkdHRWxlbWVudDo6Y3JlYXRlUmVuZGVy
ZXIoUmVuZGVyQXJlbmEqIGFyZW5hLCBSZW5kZXJTdHlsZSogc3R5bGUKIAogYm9vbCBTVkdHRWxl
bWVudDo6cmVuZGVyZXJJc05lZWRlZChjb25zdCBSZW5kZXJTdHlsZSYpCiB7Ci0gICAgLy8gVW5s
aWtlIFNWR1N0eWxlZEVsZW1lbnQ6OnJlbmRlcmVySXNOZWVkZWQoKSwgd2Ugc3RpbGwgY3JlYXRl
IHJlbmRlcmVycywgZXZlbiBpZgorICAgIC8vIFVubGlrZSBTVkdFbGVtZW50OjpyZW5kZXJlcklz
TmVlZGVkKCksIHdlIHN0aWxsIGNyZWF0ZSByZW5kZXJlcnMsIGV2ZW4gaWYKICAgICAvLyBkaXNw
bGF5IGlzIHNldCB0byAnbm9uZScgLSB3aGljaCBpcyBzcGVjaWFsIHRvIFNWRyA8Zz4gY29udGFp
bmVyIGVsZW1lbnRzLgogICAgIHJldHVybiBwYXJlbnRPclNoYWRvd0hvc3RFbGVtZW50KCkgJiYg
cGFyZW50T3JTaGFkb3dIb3N0RWxlbWVudCgpLT5pc1NWR0VsZW1lbnQoKTsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHbHlwaEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0dseXBoRWxlbWVudC5jcHAKaW5kZXggODNkMDUzYmMzYzY0YTFiYjc2NzBlMTUz
YmQwZWM1YjBmZWQyYzVmZC4uMWM0OTNhM2JjMzFlNmQ4NDY3OGQyNGJlYjBlOTI3ZWI4YWM3ZGVi
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dseXBoRWxlbWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dseXBoRWxlbWVudC5jcHAKQEAgLTM0LDcgKzM0LDcg
QEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogaW5saW5lIFNWR0dseXBoRWxlbWVudDo6U1ZHR2x5
cGhFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVu
dCkKLSAgICA6IFNWR1N0eWxlZEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCisgICAgOiBTVkdF
bGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKFNWR05h
bWVzOjpnbHlwaFRhZykpOwogfQpAQCAtNTYsMjAgKzU2LDIwIEBAIHZvaWQgU1ZHR2x5cGhFbGVt
ZW50OjpwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9t
aWNTdHJpCiAgICAgaWYgKG5hbWUgPT0gU1ZHTmFtZXM6OmRBdHRyKQogICAgICAgICBpbnZhbGlk
YXRlR2x5cGhDYWNoZSgpOwogICAgIGVsc2UKLSAgICAgICAgU1ZHU3R5bGVkRWxlbWVudDo6cGFy
c2VBdHRyaWJ1dGUobmFtZSwgdmFsdWUpOworICAgICAgICBTVkdFbGVtZW50OjpwYXJzZUF0dHJp
YnV0ZShuYW1lLCB2YWx1ZSk7CiB9CiAKIE5vZGU6Okluc2VydGlvbk5vdGlmaWNhdGlvblJlcXVl
c3QgU1ZHR2x5cGhFbGVtZW50OjppbnNlcnRlZEludG8oQ29udGFpbmVyTm9kZSogcm9vdFBhcmVu
dCkKIHsKICAgICBpbnZhbGlkYXRlR2x5cGhDYWNoZSgpOwotICAgIHJldHVybiBTVkdTdHlsZWRF
bGVtZW50OjppbnNlcnRlZEludG8ocm9vdFBhcmVudCk7CisgICAgcmV0dXJuIFNWR0VsZW1lbnQ6
Omluc2VydGVkSW50byhyb290UGFyZW50KTsKIH0KIAogdm9pZCBTVkdHbHlwaEVsZW1lbnQ6OnJl
bW92ZWRGcm9tKENvbnRhaW5lck5vZGUqIHJvb3RQYXJlbnQpCiB7CiAgICAgaWYgKHJvb3RQYXJl
bnQtPmluRG9jdW1lbnQoKSkKICAgICAgICAgaW52YWxpZGF0ZUdseXBoQ2FjaGUoKTsKLSAgICBT
VkdTdHlsZWRFbGVtZW50OjpyZW1vdmVkRnJvbShyb290UGFyZW50KTsKKyAgICBTVkdFbGVtZW50
OjpyZW1vdmVkRnJvbShyb290UGFyZW50KTsKIH0KIAogc3RhdGljIGlubGluZSBTVkdHbHlwaDo6
QXJhYmljRm9ybSBwYXJzZUFyYWJpY0Zvcm0oY29uc3QgQXRvbWljU3RyaW5nJiB2YWx1ZSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHbHlwaEVsZW1lbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdHbHlwaEVsZW1lbnQuaAppbmRleCA2NjhiYjg2YjQ0NGFmMWE1ODgyMzBj
Y2JlNjFjM2JmMjExNTNlNGNiLi4yN2NjMDkyMzNmY2I5N2NmZTQ3MzYzMWUwMzI1NjMxNGVlMTgz
YzdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR2x5cGhFbGVtZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dseXBoRWxlbWVudC5oCkBAIC0yMywxNCArMjMsMTQg
QEAKICNkZWZpbmUgU1ZHR2x5cGhFbGVtZW50X2gKIAogI2lmIEVOQUJMRShTVkdfRk9OVFMpCisj
aW5jbHVkZSAiU1ZHRWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR0dseXBoLmgiCi0jaW5jbHVkZSAi
U1ZHU3R5bGVkRWxlbWVudC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNWR0Zv
bnREYXRhOwogCi1jbGFzcyBTVkdHbHlwaEVsZW1lbnQgRklOQUwgOiBwdWJsaWMgU1ZHU3R5bGVk
RWxlbWVudCB7CitjbGFzcyBTVkdHbHlwaEVsZW1lbnQgRklOQUwgOiBwdWJsaWMgU1ZHRWxlbWVu
dCB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8U1ZHR2x5cGhFbGVtZW50PiBjcmVh
dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdHbHlwaFJlZkVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0dseXBoUmVmRWxlbWVudC5jcHAKaW5kZXggNzI4Mzc0OTVmY2EzNDMwNGE3NzgwNzE2OTBk
MWZiZTljODI3YjgzNi4uMTFiOGUxZjA5MjM0YjA2Njk3ZDRhNThmYTg5YTQ4OWEyNjMxOGFiOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dseXBoUmVmRWxlbWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dseXBoUmVmRWxlbWVudC5jcHAKQEAgLTM1LDExICsz
NSwxMSBAQCBERUZJTkVfQU5JTUFURURfU1RSSU5HKFNWR0dseXBoUmVmRWxlbWVudCwgWExpbmtO
YW1lczo6aHJlZkF0dHIsIEhyZWYsIGhyZWYpCiAKIEJFR0lOX1JFR0lTVEVSX0FOSU1BVEVEX1BS
T1BFUlRJRVMoU1ZHR2x5cGhSZWZFbGVtZW50KQogICAgIFJFR0lTVEVSX0xPQ0FMX0FOSU1BVEVE
X1BST1BFUlRZKGhyZWYpCi0gICAgUkVHSVNURVJfUEFSRU5UX0FOSU1BVEVEX1BST1BFUlRJRVMo
U1ZHU3R5bGVkRWxlbWVudCkKKyAgICBSRUdJU1RFUl9QQVJFTlRfQU5JTUFURURfUFJPUEVSVElF
UyhTVkdFbGVtZW50KQogRU5EX1JFR0lTVEVSX0FOSU1BVEVEX1BST1BFUlRJRVMKIAogaW5saW5l
IFNWR0dseXBoUmVmRWxlbWVudDo6U1ZHR2x5cGhSZWZFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5h
bWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKLSAgICA6IFNWR1N0eWxlZEVsZW1lbnQo
dGFnTmFtZSwgZG9jdW1lbnQpCisgICAgOiBTVkdFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQog
ICAgICwgbV94KDApCiAgICAgLCBtX3koMCkKICAgICAsIG1fZHgoMCkKQEAgLTgxLDcgKzgxLDcg
QEAgdm9pZCBTVkdHbHlwaFJlZkVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmll
ZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1MKICAgICBlbHNlIHsKICAgICAgICAgaWYgKFNWR1VS
SVJlZmVyZW5jZTo6cGFyc2VBdHRyaWJ1dGUobmFtZSwgdmFsdWUpKQogICAgICAgICAgICAgcmV0
dXJuOwotICAgICAgICBTVkdTdHlsZWRFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShuYW1lLCB2YWx1
ZSk7CisgICAgICAgIFNWR0VsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKG5hbWUsIHZhbHVlKTsKICAg
ICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHbHlwaFJlZkVsZW1l
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHbHlwaFJlZkVsZW1lbnQuaAppbmRleCA2MmM1
YmVmZmY4MTUzYTE5N2M3YTUwZTYyYTk0YmNlOWVjNTU4YWIxLi5iNGE0NGFlMzk3NjEyZGY2YmUx
MWM5MDI0YjM4MmEzZDM1MTFjNzcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
R2x5cGhSZWZFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dseXBoUmVmRWxl
bWVudC5oCkBAIC0yMSwxMiArMjEsMTIgQEAKICNkZWZpbmUgU1ZHR2x5cGhSZWZFbGVtZW50X2gK
IAogI2lmIEVOQUJMRShTVkcpICYmIEVOQUJMRShTVkdfRk9OVFMpCi0jaW5jbHVkZSAiU1ZHU3R5
bGVkRWxlbWVudC5oIgorI2luY2x1ZGUgIlNWR0VsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdVUklS
ZWZlcmVuY2UuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBTVkdHbHlwaFJlZkVs
ZW1lbnQgRklOQUwgOiBwdWJsaWMgU1ZHU3R5bGVkRWxlbWVudCwKK2NsYXNzIFNWR0dseXBoUmVm
RWxlbWVudCBGSU5BTCA6IHB1YmxpYyBTVkdFbGVtZW50LAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcHVibGljIFNWR1VSSVJlZmVyZW5jZSB7CiBwdWJsaWM6CiAgICAgc3RhdGlj
IFBhc3NSZWZQdHI8U1ZHR2x5cGhSZWZFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFt
ZSYsIERvY3VtZW50Kik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR2x5cGhS
ZWZFbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHbHlwaFJlZkVsZW1lbnQuaWRs
CmluZGV4IDlmYzlmZWUwYzEzMjdhNmUzOWUzNTEwODI2NjMxMjg0OGMwMTRkN2QuLjg2MDI3MTA2
NmNlNTgyYjNkYzU4MTZjN2I0NzQwYWZjYTE1MzJmMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdHbHlwaFJlZkVsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdHbHlwaFJlZkVsZW1lbnQuaWRsCkBAIC0xOSw3ICsxOSw3IEBACiAKIFsKICAgICBDb25kaXRp
b25hbD1TVkcmU1ZHX0ZPTlRTCi1dIGludGVyZmFjZSBTVkdHbHlwaFJlZkVsZW1lbnQgOiBTVkdT
dHlsZWRFbGVtZW50IHsKK10gaW50ZXJmYWNlIFNWR0dseXBoUmVmRWxlbWVudCA6IFNWR0VsZW1l
bnQgewogICAgIC8vIEZJWE1FOiBVc2UgW1JlZmxlY3RdIGFmdGVyIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NDg0MyBpcyBmaXhlZC4KICAgICBbU2V0dGVyUmFpc2Vz
RXhjZXB0aW9uXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGdseXBoUmVmOwogICAgIFtSZWZsZWN0XSBh
dHRyaWJ1dGUgRE9NU3RyaW5nIGZvcm1hdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdHcmFkaWVudEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dyYWRpZW50
RWxlbWVudC5jcHAKaW5kZXggOGQzOThiNjZlNDA4MTJkZGViZmJlOGMxZTI1YTY5MzkyNGJlMmE1
Ny4uYmVmNDRmYTJiOTY4MzRjNzM5NDVmMmMzZmMxNDY3ZjUxNDBmOGZiOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5jcHAKQEAgLTUyLDExICs1MiwxMSBAQCBCRUdJ
Tl9SRUdJU1RFUl9BTklNQVRFRF9QUk9QRVJUSUVTKFNWR0dyYWRpZW50RWxlbWVudCkKICAgICBS
RUdJU1RFUl9MT0NBTF9BTklNQVRFRF9QUk9QRVJUWShncmFkaWVudFRyYW5zZm9ybSkKICAgICBS
RUdJU1RFUl9MT0NBTF9BTklNQVRFRF9QUk9QRVJUWShocmVmKQogICAgIFJFR0lTVEVSX0xPQ0FM
X0FOSU1BVEVEX1BST1BFUlRZKGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCi0gICAgUkVHSVNU
RVJfUEFSRU5UX0FOSU1BVEVEX1BST1BFUlRJRVMoU1ZHU3R5bGVkRWxlbWVudCkKKyAgICBSRUdJ
U1RFUl9QQVJFTlRfQU5JTUFURURfUFJPUEVSVElFUyhTVkdFbGVtZW50KQogRU5EX1JFR0lTVEVS
X0FOSU1BVEVEX1BST1BFUlRJRVMKICAKIFNWR0dyYWRpZW50RWxlbWVudDo6U1ZHR3JhZGllbnRF
bGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkK
LSAgICA6IFNWR1N0eWxlZEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCisgICAgOiBTVkdFbGVt
ZW50KHRhZ05hbWUsIGRvY3VtZW50KQogICAgICwgbV9zcHJlYWRNZXRob2QoU1ZHU3ByZWFkTWV0
aG9kUGFkKQogICAgICwgbV9ncmFkaWVudFVuaXRzKFNWR1VuaXRUeXBlczo6U1ZHX1VOSVRfVFlQ
RV9PQkpFQ1RCT1VORElOR0JPWCkKIHsKQEAgLTc5LDcgKzc5LDcgQEAgYm9vbCBTVkdHcmFkaWVu
dEVsZW1lbnQ6OmlzU3VwcG9ydGVkQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJO
YW1lKQogdm9pZCBTVkdHcmFkaWVudEVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxp
ZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUpCiB7CiAgICAgaWYgKCFp
c1N1cHBvcnRlZEF0dHJpYnV0ZShuYW1lKSkgewotICAgICAgICBTVkdTdHlsZWRFbGVtZW50Ojpw
YXJzZUF0dHJpYnV0ZShuYW1lLCB2YWx1ZSk7CisgICAgICAgIFNWR0VsZW1lbnQ6OnBhcnNlQXR0
cmlidXRlKG5hbWUsIHZhbHVlKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtMTE2LDcg
KzExNiw3IEBAIHZvaWQgU1ZHR3JhZGllbnRFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShjb25zdCBR
dWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9taWNTCiB2b2lkIFNWR0dyYWRpZW50RWxlbWVu
dDo6c3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSkKIHsK
ICAgICBpZiAoIWlzU3VwcG9ydGVkQXR0cmlidXRlKGF0dHJOYW1lKSkgewotICAgICAgICBTVkdT
dHlsZWRFbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKGF0dHJOYW1lKTsKKyAgICAgICAgU1ZH
RWxlbWVudDo6c3ZnQXR0cmlidXRlQ2hhbmdlZChhdHRyTmFtZSk7CiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAKQEAgLTEyOCw3ICsxMjgsNyBAQCB2b2lkIFNWR0dyYWRpZW50RWxlbWVudDo6c3Zn
QXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSkKICAgICAKIHZv
aWQgU1ZHR3JhZGllbnRFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQoYm9vbCBjaGFuZ2VkQnlQYXJz
ZXIsIE5vZGUqIGJlZm9yZUNoYW5nZSwgTm9kZSogYWZ0ZXJDaGFuZ2UsIGludCBjaGlsZENvdW50
RGVsdGEpCiB7Ci0gICAgU1ZHU3R5bGVkRWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkKGNoYW5nZWRC
eVBhcnNlciwgYmVmb3JlQ2hhbmdlLCBhZnRlckNoYW5nZSwgY2hpbGRDb3VudERlbHRhKTsKKyAg
ICBTVkdFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQoY2hhbmdlZEJ5UGFyc2VyLCBiZWZvcmVDaGFu
Z2UsIGFmdGVyQ2hhbmdlLCBjaGlsZENvdW50RGVsdGEpOwogCiAgICAgaWYgKGNoYW5nZWRCeVBh
cnNlcikKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0dyYWRpZW50RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dyYWRpZW50RWxlbWVu
dC5oCmluZGV4IGFlOGE0Y2ZjYzhjZmI5ZmQ0MmZlZTMyZWNhNzY4Njc1NjUyMjEzMzUuLjY2MWFj
NGVhNGYxMjI1ZDM0MjE0MTNiNTQ2Yjk4YjdlOThmY2E5ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdHcmFkaWVudEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHR3JhZGllbnRFbGVtZW50LmgKQEAgLTI2LDkgKzI2LDkgQEAKICNpbmNsdWRlICJTVkdBbmlt
YXRlZEJvb2xlYW4uaCIKICNpbmNsdWRlICJTVkdBbmltYXRlZEVudW1lcmF0aW9uLmgiCiAjaW5j
bHVkZSAiU1ZHQW5pbWF0ZWRUcmFuc2Zvcm1MaXN0LmgiCisjaW5jbHVkZSAiU1ZHRWxlbWVudC5o
IgogI2luY2x1ZGUgIlNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuaCIKICNpbmNsdWRlICJT
VkdOYW1lcy5oIgotI2luY2x1ZGUgIlNWR1N0eWxlZEVsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdV
UklSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJTVkdVbml0VHlwZXMuaCIKIApAQCAtNzQsNyArNzQs
NyBAQCBzdHJ1Y3QgU1ZHUHJvcGVydHlUcmFpdHM8U1ZHU3ByZWFkTWV0aG9kVHlwZT4gewogICAg
IH0KIH07CiAKLWNsYXNzIFNWR0dyYWRpZW50RWxlbWVudCA6IHB1YmxpYyBTVkdTdHlsZWRFbGVt
ZW50LAorY2xhc3MgU1ZHR3JhZGllbnRFbGVtZW50IDogcHVibGljIFNWR0VsZW1lbnQsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHVVJJUmVmZXJlbmNlLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcHVibGljIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQgewog
cHVibGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dyYWRpZW50RWxlbWVu
dC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR3JhZGllbnRFbGVtZW50LmlkbAppbmRleCA3
NjJiYmU5YjBlMDRkMTMyOTQ2MTgxMzA4ODZiNGE1YTRjNmJiYmM5Li45OTNiZTM0MjM3NTZjZWE1
ZjAwY2M2ODgwMjRlN2NlNGRlYmZmNzEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHR3JhZGllbnRFbGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR3JhZGll
bnRFbGVtZW50LmlkbApAQCAtMjYsNyArMjYsNyBAQAogWwogICAgIENvbmRpdGlvbmFsPVNWRywK
ICAgICBEb05vdENoZWNrQ29uc3RhbnRzCi1dIGludGVyZmFjZSBTVkdHcmFkaWVudEVsZW1lbnQg
OiBTVkdTdHlsZWRFbGVtZW50IHsKK10gaW50ZXJmYWNlIFNWR0dyYWRpZW50RWxlbWVudCA6IFNW
R0VsZW1lbnQgewogICAgIC8vIFNwcmVhZCBNZXRob2QgVHlwZXMKICAgICBjb25zdCB1bnNpZ25l
ZCBzaG9ydCBTVkdfU1BSRUFETUVUSE9EX1VOS05PV04gPSAwOwogICAgIGNvbnN0IHVuc2lnbmVk
IHNob3J0IFNWR19TUFJFQURNRVRIT0RfUEFEICAgICA9IDE7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHR3JhcGhpY3NFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdHcmFwaGljc0VsZW1lbnQuY3BwCmluZGV4IDM4MTRkODZjMzQ5NWNlYTQzN2MxZTc4ODdkMjc5
OGY0YjdmYTQ4YzYuLmY2ZDBhNGFhODRkNTNhOGQ2OTI1YmVhZDQwMmY1MzkzYjBkZmFlMjQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHcmFwaGljc0VsZW1lbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHcmFwaGljc0VsZW1lbnQuY3BwCkBAIC0zOCwxMiArMzgs
MTIgQEAgREVGSU5FX0FOSU1BVEVEX1RSQU5TRk9STV9MSVNUKFNWR0dyYXBoaWNzRWxlbWVudCwg
U1ZHTmFtZXM6OnRyYW5zZm9ybUF0dHIsIFRyYW4KIAogQkVHSU5fUkVHSVNURVJfQU5JTUFURURf
UFJPUEVSVElFUyhTVkdHcmFwaGljc0VsZW1lbnQpCiAgICAgUkVHSVNURVJfTE9DQUxfQU5JTUFU
RURfUFJPUEVSVFkodHJhbnNmb3JtKQotICAgIFJFR0lTVEVSX1BBUkVOVF9BTklNQVRFRF9QUk9Q
RVJUSUVTKFNWR1N0eWxlZEVsZW1lbnQpCisgICAgUkVHSVNURVJfUEFSRU5UX0FOSU1BVEVEX1BS
T1BFUlRJRVMoU1ZHRWxlbWVudCkKICAgICBSRUdJU1RFUl9QQVJFTlRfQU5JTUFURURfUFJPUEVS
VElFUyhTVkdUZXN0cykKIEVORF9SRUdJU1RFUl9BTklNQVRFRF9QUk9QRVJUSUVTCiAKIFNWR0dy
YXBoaWNzRWxlbWVudDo6U1ZHR3JhcGhpY3NFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRh
Z05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKLSAgICA6IFNWR1N0eWxlZEVsZW1lbnQodGFnTmFt
ZSwgZG9jdW1lbnQpCisgICAgOiBTVkdFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogewogICAg
IHJlZ2lzdGVyQW5pbWF0ZWRQcm9wZXJ0aWVzRm9yU1ZHR3JhcGhpY3NFbGVtZW50KCk7CiB9CkBA
IC0xMDQsNyArMTA0LDcgQEAgYm9vbCBTVkdHcmFwaGljc0VsZW1lbnQ6OmlzU3VwcG9ydGVkQXR0
cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lKQogdm9pZCBTVkdHcmFwaGljc0Vs
ZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0
b21pY1N0cmluZyYgdmFsdWUpCiB7CiAgICAgaWYgKCFpc1N1cHBvcnRlZEF0dHJpYnV0ZShuYW1l
KSkgewotICAgICAgICBTVkdTdHlsZWRFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShuYW1lLCB2YWx1
ZSk7CisgICAgICAgIFNWR0VsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKG5hbWUsIHZhbHVlKTsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtMTI1LDcgKzEyNSw3IEBAIHZvaWQgU1ZHR3JhcGhp
Y3NFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25z
dCBBdG9taWNTCiB2b2lkIFNWR0dyYXBoaWNzRWxlbWVudDo6c3ZnQXR0cmlidXRlQ2hhbmdlZChj
b25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSkKIHsKICAgICBpZiAoIWlzU3VwcG9ydGVkQXR0
cmlidXRlKGF0dHJOYW1lKSkgewotICAgICAgICBTVkdTdHlsZWRFbGVtZW50OjpzdmdBdHRyaWJ1
dGVDaGFuZ2VkKGF0dHJOYW1lKTsKKyAgICAgICAgU1ZHRWxlbWVudDo6c3ZnQXR0cmlidXRlQ2hh
bmdlZChhdHRyTmFtZSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdHcmFwaGljc0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdHcmFwaGljc0VsZW1lbnQuaAppbmRleCBiOGFhODE4ZWU2YTE2NTAxZGZhZjM3MmE3ODU4
OWFkNDk1NzcxYTI4Li43NjQ2OTJjM2QyMWJiZmEzYjgxYmVjOTZlMmJmMWU4ZTg2OTgwZjU2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR3JhcGhpY3NFbGVtZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0dyYXBoaWNzRWxlbWVudC5oCkBAIC0yMyw3ICsyMyw3IEBA
CiAKICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1ZGUgIlNWR0FuaW1hdGVkVHJhbnNmb3JtTGlzdC5o
IgotI2luY2x1ZGUgIlNWR1N0eWxlZEVsZW1lbnQuaCIKKyNpbmNsdWRlICJTVkdFbGVtZW50Lmgi
CiAjaW5jbHVkZSAiU1ZHVGVzdHMuaCIKICNpbmNsdWRlICJTVkdUcmFuc2Zvcm1hYmxlLmgiCiAK
QEAgLTMyLDcgKzMyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgQWZmaW5lVHJhbnNm
b3JtOwogY2xhc3MgUGF0aDsKIAotY2xhc3MgU1ZHR3JhcGhpY3NFbGVtZW50IDogcHVibGljIFNW
R1N0eWxlZEVsZW1lbnQsIHB1YmxpYyBTVkdUcmFuc2Zvcm1hYmxlLCBwdWJsaWMgU1ZHVGVzdHMg
eworY2xhc3MgU1ZHR3JhcGhpY3NFbGVtZW50IDogcHVibGljIFNWR0VsZW1lbnQsIHB1YmxpYyBT
VkdUcmFuc2Zvcm1hYmxlLCBwdWJsaWMgU1ZHVGVzdHMgewogcHVibGljOgogICAgIHZpcnR1YWwg
flNWR0dyYXBoaWNzRWxlbWVudCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHR3JhcGhpY3NFbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHcmFwaGljc0Vs
ZW1lbnQuaWRsCmluZGV4IGY5NmUyMzE5ZjMwNTE3YjMxMDIyZjZjMjI5ZTY0NDFlZGE0NWUxMGQu
LjlmYjBiNjI0MThhOGQ2NjU5MjE5MjZlNmMyNWNlMGMyZDZiMDQ4NjcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdHcmFwaGljc0VsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdHcmFwaGljc0VsZW1lbnQuaWRsCkBAIC0yNSw3ICsyNSw3IEBACiAKIFsKICAg
ICBDb25kaXRpb25hbD1TVkcKLV0gaW50ZXJmYWNlIFNWR0dyYXBoaWNzRWxlbWVudCA6IFNWR1N0
eWxlZEVsZW1lbnQgeworXSBpbnRlcmZhY2UgU1ZHR3JhcGhpY3NFbGVtZW50IDogU1ZHRWxlbWVu
dCB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFNWR0FuaW1hdGVkVHJhbnNmb3JtTGlzdCB0cmFu
c2Zvcm07CiAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgU1ZHRWxlbWVudCBuZWFyZXN0Vmlld3Bv
cnRFbGVtZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xvY2F0YWJsZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTG9jYXRhYmxlLmNwcAppbmRleCAwMDZkNDVkYjU2
ZTZkYzVmNDk1NDBhMGViN2FmMTg4NmIyZWE5NGY4Li41ZmZkYjVlYzRjNjhlMTI5MjEwNmQzMzU3
MWZjZWIwNjI0NjRkZTRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTG9jYXRh
YmxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTG9jYXRhYmxlLmNwcApAQCAtODks
OCArODksNyBAQCBBZmZpbmVUcmFuc2Zvcm0gU1ZHTG9jYXRhYmxlOjpjb21wdXRlQ1RNKFNWR0Vs
ZW1lbnQqIGVsZW1lbnQsIENUTVNjb3BlIG1vZGUsIFN0eQogICAgICAgICBpZiAoIWN1cnJlbnRF
bGVtZW50LT5pc1NWR0VsZW1lbnQoKSkKICAgICAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIGlm
ICh0b1NWR0VsZW1lbnQoY3VycmVudEVsZW1lbnQpLT5pc1NWR1N0eWxlZEVsZW1lbnQoKSkKLSAg
ICAgICAgICAgIGN0bSA9IHRvU1ZHU3R5bGVkRWxlbWVudChjdXJyZW50RWxlbWVudCktPmxvY2Fs
Q29vcmRpbmF0ZVNwYWNlVHJhbnNmb3JtKG1vZGUpLm11bHRpcGx5KGN0bSk7CisgICAgICAgIGN0
bSA9IHRvU1ZHRWxlbWVudChjdXJyZW50RWxlbWVudCktPmxvY2FsQ29vcmRpbmF0ZVNwYWNlVHJh
bnNmb3JtKG1vZGUpLm11bHRpcGx5KGN0bSk7CiAKICAgICAgICAgLy8gRm9yIGdldENUTSgpIGNv
bXB1dGF0aW9uLCBzdG9wIGF0IHRoZSBuZWFyZXN0IHZpZXdwb3J0IGVsZW1lbnQKICAgICAgICAg
aWYgKGN1cnJlbnRFbGVtZW50ID09IHN0b3BBdEVsZW1lbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHTVBhdGhFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTVBh
dGhFbGVtZW50LmgKaW5kZXggNzlkNGYxMDhmOWIxNWUzMzE4YjYzNWNlNDk3NGM0YmJkNjc5MDhj
NC4uNjU0Y2ZkZTJmMzY2ZTYwYmRhNGZlNGEyZjc1YTQ2MTk0ODY5YWQ5ZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR01QYXRoRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdNUGF0aEVsZW1lbnQuaApAQCAtNTYsNiArNTYsOCBAQCBwcml2YXRlOgogICAgIHZp
cnR1YWwgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRv
bWljU3RyaW5nJikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5n
ZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYpIE9WRVJSSURFOwogCisgICAgdmlydHVhbCBib29sIHJl
bmRlcmVySXNOZWVkZWQoY29uc3QgUmVuZGVyU3R5bGUmKSBPVkVSUklERSB7IHJldHVybiBmYWxz
ZTsgfQorCiAgICAgdm9pZCBub3RpZnlQYXJlbnRPZlBhdGhDaGFuZ2UoQ29udGFpbmVyTm9kZSop
OwogCiAgICAgQkVHSU5fREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUSUVTKFNWR01QYXRoRWxlbWVu
dCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNYXJrZXJFbGVtZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNYXJrZXJFbGVtZW50LmNwcAppbmRleCAxZDQxZGI4OGQw
YjcyNDVlNGVhNjZhMzEzYzFhNjcxYjU5NWU4NGUxLi42ZWVmMjU3OGU4NmE4NjgwNzg1ZWIyOTNj
ZDY1NTIzZDgyZDIyMWRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWFya2Vy
RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR01hcmtlckVsZW1lbnQuY3Bw
CkBAIC03MCwxMSArNzAsMTEgQEAgQkVHSU5fUkVHSVNURVJfQU5JTUFURURfUFJPUEVSVElFUyhT
VkdNYXJrZXJFbGVtZW50KQogICAgIFJFR0lTVEVSX0xPQ0FMX0FOSU1BVEVEX1BST1BFUlRZKGV4
dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCiAgICAgUkVHSVNURVJfTE9DQUxfQU5JTUFURURfUFJP
UEVSVFkodmlld0JveCkKICAgICBSRUdJU1RFUl9MT0NBTF9BTklNQVRFRF9QUk9QRVJUWShwcmVz
ZXJ2ZUFzcGVjdFJhdGlvKQotICAgIFJFR0lTVEVSX1BBUkVOVF9BTklNQVRFRF9QUk9QRVJUSUVT
KFNWR1N0eWxlZEVsZW1lbnQpCisgICAgUkVHSVNURVJfUEFSRU5UX0FOSU1BVEVEX1BST1BFUlRJ
RVMoU1ZHRWxlbWVudCkKIEVORF9SRUdJU1RFUl9BTklNQVRFRF9QUk9QRVJUSUVTCiAKIGlubGlu
ZSBTVkdNYXJrZXJFbGVtZW50OjpTVkdNYXJrZXJFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUm
IHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKLSAgICA6IFNWR1N0eWxlZEVsZW1lbnQodGFn
TmFtZSwgZG9jdW1lbnQpCisgICAgOiBTVkdFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogICAg
ICwgbV9yZWZYKExlbmd0aE1vZGVXaWR0aCkKICAgICAsIG1fcmVmWShMZW5ndGhNb2RlSGVpZ2h0
KQogICAgICwgbV9tYXJrZXJXaWR0aChMZW5ndGhNb2RlV2lkdGgsICIzIikKQEAgLTEzMSw3ICsx
MzEsNyBAQCB2b2lkIFNWR01hcmtlckVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxp
ZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0cgogICAgIFNWR1BhcnNpbmdFcnJvciBwYXJz
ZUVycm9yID0gTm9FcnJvcjsKIAogICAgIGlmICghaXNTdXBwb3J0ZWRBdHRyaWJ1dGUobmFtZSkp
Ci0gICAgICAgIFNWR1N0eWxlZEVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKG5hbWUsIHZhbHVlKTsK
KyAgICAgICAgU1ZHRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUobmFtZSwgdmFsdWUpOwogICAgIGVs
c2UgaWYgKG5hbWUgPT0gU1ZHTmFtZXM6Om1hcmtlclVuaXRzQXR0cikgewogICAgICAgICBTVkdN
YXJrZXJVbml0c1R5cGUgcHJvcGVydHlWYWx1ZSA9IFNWR1Byb3BlcnR5VHJhaXRzPFNWR01hcmtl
clVuaXRzVHlwZT46OmZyb21TdHJpbmcodmFsdWUpOwogICAgICAgICBpZiAocHJvcGVydHlWYWx1
ZSA+IDApCkBAIC0xNjMsNyArMTYzLDcgQEAgdm9pZCBTVkdNYXJrZXJFbGVtZW50OjpwYXJzZUF0
dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9taWNTdHIKIHZvaWQg
U1ZHTWFya2VyRWxlbWVudDo6c3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1l
JiBhdHRyTmFtZSkKIHsKICAgICBpZiAoIWlzU3VwcG9ydGVkQXR0cmlidXRlKGF0dHJOYW1lKSkg
ewotICAgICAgICBTVkdTdHlsZWRFbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKGF0dHJOYW1l
KTsKKyAgICAgICAgU1ZHRWxlbWVudDo6c3ZnQXR0cmlidXRlQ2hhbmdlZChhdHRyTmFtZSk7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTE4MSw3ICsxODEsNyBAQCB2b2lkIFNWR01hcmtl
ckVsZW1lbnQ6OnN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5h
bWUpCiAKIHZvaWQgU1ZHTWFya2VyRWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkKGJvb2wgY2hhbmdl
ZEJ5UGFyc2VyLCBOb2RlKiBiZWZvcmVDaGFuZ2UsIE5vZGUqIGFmdGVyQ2hhbmdlLCBpbnQgY2hp
bGRDb3VudERlbHRhKQogewotICAgIFNWR1N0eWxlZEVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZChj
aGFuZ2VkQnlQYXJzZXIsIGJlZm9yZUNoYW5nZSwgYWZ0ZXJDaGFuZ2UsIGNoaWxkQ291bnREZWx0
YSk7CisgICAgU1ZHRWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkKGNoYW5nZWRCeVBhcnNlciwgYmVm
b3JlQ2hhbmdlLCBhZnRlckNoYW5nZSwgY2hpbGRDb3VudERlbHRhKTsKIAogICAgIGlmIChjaGFu
Z2VkQnlQYXJzZXIpCiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdNYXJrZXJFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWFya2VyRWxl
bWVudC5oCmluZGV4IDY4NDQzNDk5MzkyZGRiNGFlZTdmNTViOWQ2YWJjNWY5YjkzNDJiMWQuLjMy
MWJlZjUzMWU3NDUyNmY5MGNkODZjMjE3NmNkZjEyZjllNWE0ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdNYXJrZXJFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR01hcmtlckVsZW1lbnQuaApAQCAtMjgsOSArMjgsOSBAQAogI2luY2x1ZGUgIlNWR0FuaW1h
dGVkTGVuZ3RoLmgiCiAjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlvLmgi
CiAjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRSZWN0LmgiCisjaW5jbHVkZSAiU1ZHRWxlbWVudC5oIgog
I2luY2x1ZGUgIlNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuaCIKICNpbmNsdWRlICJTVkdG
aXRUb1ZpZXdCb3guaCIKLSNpbmNsdWRlICJTVkdTdHlsZWRFbGVtZW50LmgiCiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIApAQCAtOTQsNyArOTQsNyBAQCBzdHJ1Y3QgU1ZHUHJvcGVydHlUcmFpdHM8
U1ZHTWFya2VyT3JpZW50VHlwZT4gewogICAgIH0KIH07CiAKLWNsYXNzIFNWR01hcmtlckVsZW1l
bnQgRklOQUwgOiBwdWJsaWMgU1ZHU3R5bGVkRWxlbWVudCwKK2NsYXNzIFNWR01hcmtlckVsZW1l
bnQgRklOQUwgOiBwdWJsaWMgU1ZHRWxlbWVudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBwdWJsaWMgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHRml0VG9WaWV3Qm94IHsKIHB1YmxpYzoKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNYXJrZXJFbGVtZW50LmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdNYXJrZXJFbGVtZW50LmlkbAppbmRleCA3MTg2Mzg5OTdmMTBlYjE0NzQy
ZDBkMWIyYzFjNmI2ODc5NTZkNWZjLi5lNDRiMDI1NTRhYmY0N2QwOTRhNDE2NTlkZDg2MmI0ZThi
MDVmNmQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWFya2VyRWxlbWVudC5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR01hcmtlckVsZW1lbnQuaWRsCkBAIC0yNSw3
ICsyNSw3IEBACiAKIFsKICAgICBDb25kaXRpb25hbD1TVkcKLV0gaW50ZXJmYWNlIFNWR01hcmtl
ckVsZW1lbnQgOiBTVkdTdHlsZWRFbGVtZW50IHsKK10gaW50ZXJmYWNlIFNWR01hcmtlckVsZW1l
bnQgOiBTVkdFbGVtZW50IHsKICAgICAvLyBNYXJrZXIgVW5pdCBUeXBlcwogICAgIGNvbnN0IHVu
c2lnbmVkIHNob3J0IFNWR19NQVJLRVJVTklUU19VTktOT1dOICAgICAgICA9IDA7CiAgICAgY29u
c3QgdW5zaWduZWQgc2hvcnQgU1ZHX01BUktFUlVOSVRTX1VTRVJTUEFDRU9OVVNFID0gMTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNYXNrRWxlbWVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHTWFza0VsZW1lbnQuY3BwCmluZGV4IDA5OWFhZGZhYmMxOWJjMWQ3NzVj
ZGM1YTBjNzViOGQ4MWYxYjk1MzEuLmFhZjZlZmE1NmZhYmIxNjFhMTNiMGEyODcxYjEyYTg0Yzk3
MzcxZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNYXNrRWxlbWVudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR01hc2tFbGVtZW50LmNwcApAQCAtNTMsMTIgKzUz
LDEyIEBAIEJFR0lOX1JFR0lTVEVSX0FOSU1BVEVEX1BST1BFUlRJRVMoU1ZHTWFza0VsZW1lbnQp
CiAgICAgUkVHSVNURVJfTE9DQUxfQU5JTUFURURfUFJPUEVSVFkod2lkdGgpCiAgICAgUkVHSVNU
RVJfTE9DQUxfQU5JTUFURURfUFJPUEVSVFkoaGVpZ2h0KQogICAgIFJFR0lTVEVSX0xPQ0FMX0FO
SU1BVEVEX1BST1BFUlRZKGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCi0gICAgUkVHSVNURVJf
UEFSRU5UX0FOSU1BVEVEX1BST1BFUlRJRVMoU1ZHU3R5bGVkRWxlbWVudCkKKyAgICBSRUdJU1RF
Ul9QQVJFTlRfQU5JTUFURURfUFJPUEVSVElFUyhTVkdFbGVtZW50KQogICAgIFJFR0lTVEVSX1BB
UkVOVF9BTklNQVRFRF9QUk9QRVJUSUVTKFNWR1Rlc3RzKQogRU5EX1JFR0lTVEVSX0FOSU1BVEVE
X1BST1BFUlRJRVMKIAogaW5saW5lIFNWR01hc2tFbGVtZW50OjpTVkdNYXNrRWxlbWVudChjb25z
dCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCi0gICAgOiBTVkdT
dHlsZWRFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQorICAgIDogU1ZHRWxlbWVudCh0YWdOYW1l
LCBkb2N1bWVudCkKICAgICAsIG1fbWFza1VuaXRzKFNWR1VuaXRUeXBlczo6U1ZHX1VOSVRfVFlQ
RV9PQkpFQ1RCT1VORElOR0JPWCkKICAgICAsIG1fbWFza0NvbnRlbnRVbml0cyhTVkdVbml0VHlw
ZXM6OlNWR19VTklUX1RZUEVfVVNFUlNQQUNFT05VU0UpCiAgICAgLCBtX3goTGVuZ3RoTW9kZVdp
ZHRoLCAiLTEwJSIpCkBAIC05OSw3ICs5OSw3IEBAIHZvaWQgU1ZHTWFza0VsZW1lbnQ6OnBhcnNl
QXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0cmluCiAg
ICAgU1ZHUGFyc2luZ0Vycm9yIHBhcnNlRXJyb3IgPSBOb0Vycm9yOwogCiAgICAgaWYgKCFpc1N1
cHBvcnRlZEF0dHJpYnV0ZShuYW1lKSkKLSAgICAgICAgU1ZHU3R5bGVkRWxlbWVudDo6cGFyc2VB
dHRyaWJ1dGUobmFtZSwgdmFsdWUpOworICAgICAgICBTVkdFbGVtZW50OjpwYXJzZUF0dHJpYnV0
ZShuYW1lLCB2YWx1ZSk7CiAgICAgZWxzZSBpZiAobmFtZSA9PSBTVkdOYW1lczo6bWFza1VuaXRz
QXR0cikgewogICAgICAgICBTVkdVbml0VHlwZXM6OlNWR1VuaXRUeXBlIHByb3BlcnR5VmFsdWUg
PSBTVkdQcm9wZXJ0eVRyYWl0czxTVkdVbml0VHlwZXM6OlNWR1VuaXRUeXBlPjo6ZnJvbVN0cmlu
Zyh2YWx1ZSk7CiAgICAgICAgIGlmIChwcm9wZXJ0eVZhbHVlID4gMCkKQEAgLTEzMCw3ICsxMzAs
NyBAQCB2b2lkIFNWR01hc2tFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWRO
YW1lJiBuYW1lLCBjb25zdCBBdG9taWNTdHJpbgogdm9pZCBTVkdNYXNrRWxlbWVudDo6c3ZnQXR0
cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSkKIHsKICAgICBpZiAo
IWlzU3VwcG9ydGVkQXR0cmlidXRlKGF0dHJOYW1lKSkgewotICAgICAgICBTVkdTdHlsZWRFbGVt
ZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKGF0dHJOYW1lKTsKKyAgICAgICAgU1ZHRWxlbWVudDo6
c3ZnQXR0cmlidXRlQ2hhbmdlZChhdHRyTmFtZSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAK
QEAgLTE0OCw3ICsxNDgsNyBAQCB2b2lkIFNWR01hc2tFbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFu
Z2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lKQogCiB2b2lkIFNWR01hc2tFbGVtZW50
OjpjaGlsZHJlbkNoYW5nZWQoYm9vbCBjaGFuZ2VkQnlQYXJzZXIsIE5vZGUqIGJlZm9yZUNoYW5n
ZSwgTm9kZSogYWZ0ZXJDaGFuZ2UsIGludCBjaGlsZENvdW50RGVsdGEpCiB7Ci0gICAgU1ZHU3R5
bGVkRWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkKGNoYW5nZWRCeVBhcnNlciwgYmVmb3JlQ2hhbmdl
LCBhZnRlckNoYW5nZSwgY2hpbGRDb3VudERlbHRhKTsKKyAgICBTVkdFbGVtZW50OjpjaGlsZHJl
bkNoYW5nZWQoY2hhbmdlZEJ5UGFyc2VyLCBiZWZvcmVDaGFuZ2UsIGFmdGVyQ2hhbmdlLCBjaGls
ZENvdW50RGVsdGEpOwogCiAgICAgaWYgKGNoYW5nZWRCeVBhcnNlcikKICAgICAgICAgcmV0dXJu
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR01hc2tFbGVtZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHTWFza0VsZW1lbnQuaAppbmRleCA3YzlkNGEwMjNjNmIxODg5MGQw
NGU1ZTMyZjU0YWRjZDgwZDk4ZjA0Li41OTVlYzNlNmY0YWI4MTc3ODZkY2IxZTU4NTgxOTVmYWVj
YzllZWIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWFza0VsZW1lbnQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWFza0VsZW1lbnQuaApAQCAtMjQsMTUgKzI0LDE1
IEBACiAjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRCb29sZWFuLmgiCiAjaW5jbHVkZSAiU1ZHQW5pbWF0
ZWRFbnVtZXJhdGlvbi5oIgogI2luY2x1ZGUgIlNWR0FuaW1hdGVkTGVuZ3RoLmgiCisjaW5jbHVk
ZSAiU1ZHRWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQu
aCIKICNpbmNsdWRlICJTVkdOYW1lcy5oIgotI2luY2x1ZGUgIlNWR1N0eWxlZEVsZW1lbnQuaCIK
ICNpbmNsdWRlICJTVkdUZXN0cy5oIgogI2luY2x1ZGUgIlNWR1VuaXRUeXBlcy5oIgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFNWR01hc2tFbGVtZW50IEZJTkFMIDogcHVibGljIFNW
R1N0eWxlZEVsZW1lbnQsCitjbGFzcyBTVkdNYXNrRWxlbWVudCBGSU5BTCA6IHB1YmxpYyBTVkdF
bGVtZW50LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHVGVzdHMsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1Jl
cXVpcmVkIHsKIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNYXNr
RWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWFza0VsZW1lbnQuaWRsCmluZGV4
IDA0OWE4ZGJhZTQ3ZDQwM2I2MGZmYWM1NDU1YjdmZmQ2ODEzOTdiNjYuLjYyOTY5ZjI3MjhjMTlk
NjkxMGM3NWQ2NzU1ZTU1OGUzZWI1YzY0MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdNYXNrRWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR01hc2tFbGVt
ZW50LmlkbApAQCAtMjUsNyArMjUsNyBAQAogCiBbCiAgICAgQ29uZGl0aW9uYWw9U1ZHCi1dIGlu
dGVyZmFjZSBTVkdNYXNrRWxlbWVudCA6IFNWR1N0eWxlZEVsZW1lbnQgeworXSBpbnRlcmZhY2Ug
U1ZHTWFza0VsZW1lbnQgOiBTVkdFbGVtZW50IHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgU1ZH
QW5pbWF0ZWRFbnVtZXJhdGlvbiBtYXNrVW5pdHM7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFNW
R0FuaW1hdGVkRW51bWVyYXRpb24gbWFza0NvbnRlbnRVbml0czsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR01ldGFkYXRhRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR01ldGFkYXRhRWxlbWVudC5oCmluZGV4IDdlYzZkNTQwNDZlYTlhNjUwMWYzNmQ1MjM4NjQ0
MDM3ZjUyMjNhN2UuLmJhNmM2NjA4YWY3NjViYzExNThmN2IxZjE4NWU3NDhlZjM3OTEwYWIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNZXRhZGF0YUVsZW1lbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWV0YWRhdGFFbGVtZW50LmgKQEAgLTMyLDYgKzMyLDggQEAg
cHVibGljOgogCiBwcml2YXRlOgogICAgIFNWR01ldGFkYXRhRWxlbWVudChjb25zdCBRdWFsaWZp
ZWROYW1lJiwgRG9jdW1lbnQqKTsKKworICAgIHZpcnR1YWwgYm9vbCByZW5kZXJlcklzTmVlZGVk
KGNvbnN0IFJlbmRlclN0eWxlJikgT1ZFUlJJREUgeyByZXR1cm4gZmFsc2U7IH0KIH07CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdN
aXNzaW5nR2x5cGhFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNaXNzaW5nR2x5
cGhFbGVtZW50LmNwcAppbmRleCA1Yzk4MDE1Yzc2MDM4NmEyNzY1M2I2YmE2NzllODA3ZmRiYzQy
YTFmLi5kYzcyZDMzNDI3NjNlYTQ0Y2JlMGRiYmFmZDU0Mjc0MTI1Mjg4NGQzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWlzc2luZ0dseXBoRWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR01pc3NpbmdHbHlwaEVsZW1lbnQuY3BwCkBAIC0yNiw3ICsyNiw3
IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGlubGluZSBTVkdNaXNzaW5nR2x5cGhFbGVtZW50
OjpTVkdNaXNzaW5nR2x5cGhFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERv
Y3VtZW50KiBkb2N1bWVudCkKLSAgICA6IFNWR1N0eWxlZEVsZW1lbnQodGFnTmFtZSwgZG9jdW1l
bnQpCisgICAgOiBTVkdFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogewogICAgIEFTU0VSVCho
YXNUYWdOYW1lKFNWR05hbWVzOjptaXNzaW5nX2dseXBoVGFnKSk7CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWlzc2luZ0dseXBoRWxlbWVudC5oIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR01pc3NpbmdHbHlwaEVsZW1lbnQuaAppbmRleCA0ODE0MGFkMDQxMTc5NGEzMTdi
ODNmMjJkNWQyMWIwMGUwM2MwNGM5Li41ZTYxMWM1Yjk4N2JjNTY0ZDk1ZWNhMzM1MjAxNmE0OWU3
NzRiZmQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWlzc2luZ0dseXBoRWxl
bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNaXNzaW5nR2x5cGhFbGVtZW50LmgK
QEAgLTIxLDExICsyMSwxMSBAQAogI2RlZmluZSBTVkdNaXNzaW5nR2x5cGhFbGVtZW50X2gKIAog
I2lmIEVOQUJMRShTVkdfRk9OVFMpCi0jaW5jbHVkZSAiU1ZHU3R5bGVkRWxlbWVudC5oIgorI2lu
Y2x1ZGUgIlNWR0VsZW1lbnQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBTVkdN
aXNzaW5nR2x5cGhFbGVtZW50IEZJTkFMIDogcHVibGljIFNWR1N0eWxlZEVsZW1lbnQgeworY2xh
c3MgU1ZHTWlzc2luZ0dseXBoRWxlbWVudCBGSU5BTCA6IHB1YmxpYyBTVkdFbGVtZW50IHsKIHB1
YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTVkdNaXNzaW5nR2x5cGhFbGVtZW50PiBjcmVh
dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdNaXNzaW5nR2x5cGhFbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdNaXNzaW5nR2x5cGhFbGVtZW50LmlkbAppbmRleCA2NDc3NDFhMTU2OGI2MjFlYWJi
NjUzOTViN2U0MzFlMmNiMGNlMzA5Li45YTBlM2U2MjkzNTljM2ViMzQ0ZWIyMTQzZjIyYTMyNTEy
YzkyYjc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWlzc2luZ0dseXBoRWxl
bWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR01pc3NpbmdHbHlwaEVsZW1lbnQu
aWRsCkBAIC0yNSw2ICsyNSw2IEBACiAKIFsKICAgICBDb25kaXRpb25hbD1TVkcmU1ZHX0ZPTlRT
Ci1dIGludGVyZmFjZSBTVkdNaXNzaW5nR2x5cGhFbGVtZW50IDogU1ZHU3R5bGVkRWxlbWVudCB7
CitdIGludGVyZmFjZSBTVkdNaXNzaW5nR2x5cGhFbGVtZW50IDogU1ZHRWxlbWVudCB7CiB9Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0dGVybkVsZW1lbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdHRlcm5FbGVtZW50LmNwcAppbmRleCAwY2QzZGY5MDE1
NTI5NjZlYTNhYmQ0ZjM3ZGFjZDZkMThjODdjMzc4Li4wMjQxNTAwOGFiMjhmNGE2NTBjYTRjODdm
OTBjZGMyZTBjMmY3NjJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0dGVy
bkVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXR0ZXJuRWxlbWVudC5j
cHAKQEAgLTY5LDEyICs2OSwxMiBAQCBCRUdJTl9SRUdJU1RFUl9BTklNQVRFRF9QUk9QRVJUSUVT
KFNWR1BhdHRlcm5FbGVtZW50KQogICAgIFJFR0lTVEVSX0xPQ0FMX0FOSU1BVEVEX1BST1BFUlRZ
KGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCiAgICAgUkVHSVNURVJfTE9DQUxfQU5JTUFURURf
UFJPUEVSVFkodmlld0JveCkKICAgICBSRUdJU1RFUl9MT0NBTF9BTklNQVRFRF9QUk9QRVJUWShw
cmVzZXJ2ZUFzcGVjdFJhdGlvKSAKLSAgICBSRUdJU1RFUl9QQVJFTlRfQU5JTUFURURfUFJPUEVS
VElFUyhTVkdTdHlsZWRFbGVtZW50KQorICAgIFJFR0lTVEVSX1BBUkVOVF9BTklNQVRFRF9QUk9Q
RVJUSUVTKFNWR0VsZW1lbnQpCiAgICAgUkVHSVNURVJfUEFSRU5UX0FOSU1BVEVEX1BST1BFUlRJ
RVMoU1ZHVGVzdHMpCiBFTkRfUkVHSVNURVJfQU5JTUFURURfUFJPUEVSVElFUwogCiBpbmxpbmUg
U1ZHUGF0dGVybkVsZW1lbnQ6OlNWR1BhdHRlcm5FbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUm
IHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKLSAgICA6IFNWR1N0eWxlZEVsZW1lbnQodGFn
TmFtZSwgZG9jdW1lbnQpCisgICAgOiBTVkdFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogICAg
ICwgbV94KExlbmd0aE1vZGVXaWR0aCkKICAgICAsIG1feShMZW5ndGhNb2RlSGVpZ2h0KQogICAg
ICwgbV93aWR0aChMZW5ndGhNb2RlV2lkdGgpCkBAIC0xMTYsNyArMTE2LDcgQEAgdm9pZCBTVkdQ
YXR0ZXJuRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwg
Y29uc3QgQXRvbWljU3QKICAgICBTVkdQYXJzaW5nRXJyb3IgcGFyc2VFcnJvciA9IE5vRXJyb3I7
CiAKICAgICBpZiAoIWlzU3VwcG9ydGVkQXR0cmlidXRlKG5hbWUpKQotICAgICAgICBTVkdTdHls
ZWRFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShuYW1lLCB2YWx1ZSk7CisgICAgICAgIFNWR0VsZW1l
bnQ6OnBhcnNlQXR0cmlidXRlKG5hbWUsIHZhbHVlKTsKICAgICBlbHNlIGlmIChuYW1lID09IFNW
R05hbWVzOjpwYXR0ZXJuVW5pdHNBdHRyKSB7CiAgICAgICAgIFNWR1VuaXRUeXBlczo6U1ZHVW5p
dFR5cGUgcHJvcGVydHlWYWx1ZSA9IFNWR1Byb3BlcnR5VHJhaXRzPFNWR1VuaXRUeXBlczo6U1ZH
VW5pdFR5cGU+Ojpmcm9tU3RyaW5nKHZhbHVlKTsKICAgICAgICAgaWYgKHByb3BlcnR5VmFsdWUg
PiAwKQpAQCAtMTU1LDcgKzE1NSw3IEBAIHZvaWQgU1ZHUGF0dGVybkVsZW1lbnQ6OnBhcnNlQXR0
cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0CiB2b2lkIFNW
R1BhdHRlcm5FbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUm
IGF0dHJOYW1lKQogewogICAgIGlmICghaXNTdXBwb3J0ZWRBdHRyaWJ1dGUoYXR0ck5hbWUpKSB7
Ci0gICAgICAgIFNWR1N0eWxlZEVsZW1lbnQ6OnN2Z0F0dHJpYnV0ZUNoYW5nZWQoYXR0ck5hbWUp
OworICAgICAgICBTVkdFbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKGF0dHJOYW1lKTsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtMTczLDcgKzE3Myw3IEBAIHZvaWQgU1ZHUGF0dGVy
bkVsZW1lbnQ6OnN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5h
bWUpCiAKIHZvaWQgU1ZHUGF0dGVybkVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZChib29sIGNoYW5n
ZWRCeVBhcnNlciwgTm9kZSogYmVmb3JlQ2hhbmdlLCBOb2RlKiBhZnRlckNoYW5nZSwgaW50IGNo
aWxkQ291bnREZWx0YSkKIHsKLSAgICBTVkdTdHlsZWRFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQo
Y2hhbmdlZEJ5UGFyc2VyLCBiZWZvcmVDaGFuZ2UsIGFmdGVyQ2hhbmdlLCBjaGlsZENvdW50RGVs
dGEpOworICAgIFNWR0VsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZChjaGFuZ2VkQnlQYXJzZXIsIGJl
Zm9yZUNoYW5nZSwgYWZ0ZXJDaGFuZ2UsIGNoaWxkQ291bnREZWx0YSk7CiAKICAgICBpZiAoY2hh
bmdlZEJ5UGFyc2VyKQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHUGF0dGVybkVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXR0ZXJu
RWxlbWVudC5oCmluZGV4IDJkYWJhZDQxZTUwODIwNWI2YzY0NDgwMGIwMTcwZjRlNjFmNWYxMzIu
LjZkYjY1OTYzODgxYzNmYTZiZWM2OGRmMTllMjdiNzEwMDk5Y2I2NDAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXR0ZXJuRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdQYXR0ZXJuRWxlbWVudC5oCkBAIC0yOCwxMCArMjgsMTAgQEAKICNpbmNsdWRlICJT
VkdBbmltYXRlZFByZXNlcnZlQXNwZWN0UmF0aW8uaCIKICNpbmNsdWRlICJTVkdBbmltYXRlZFJl
Y3QuaCIKICNpbmNsdWRlICJTVkdBbmltYXRlZFRyYW5zZm9ybUxpc3QuaCIKKyNpbmNsdWRlICJT
VkdFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5oIgog
I2luY2x1ZGUgIlNWR0ZpdFRvVmlld0JveC5oIgogI2luY2x1ZGUgIlNWR05hbWVzLmgiCi0jaW5j
bHVkZSAiU1ZHU3R5bGVkRWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR1Rlc3RzLmgiCiAjaW5jbHVk
ZSAiU1ZHVVJJUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiU1ZHVW5pdFR5cGVzLmgiCkBAIC00MCw3
ICs0MCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RydWN0IFBhdHRlcm5BdHRyaWJ1dGVz
OwogIAotY2xhc3MgU1ZHUGF0dGVybkVsZW1lbnQgRklOQUwgOiBwdWJsaWMgU1ZHU3R5bGVkRWxl
bWVudCwKK2NsYXNzIFNWR1BhdHRlcm5FbGVtZW50IEZJTkFMIDogcHVibGljIFNWR0VsZW1lbnQs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyBTVkdVUklSZWZlcmVuY2Us
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyBTVkdUZXN0cywKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVx
dWlyZWQsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0dGVybkVsZW1lbnQu
aWRsIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdHRlcm5FbGVtZW50LmlkbAppbmRleCAyNjJh
MDMzMTJlZTRiMWI0MDZhYzA3N2NlZmU4OTMxZjE0OGJhNmZiLi41MGQxMzg1ZjAzMmNlNjYwMjIw
OTY5MTBkMzExMGRjMDc1YTdkZTVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
UGF0dGVybkVsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXR0ZXJuRWxl
bWVudC5pZGwKQEAgLTI1LDcgKzI1LDcgQEAKIAogWwogICAgIENvbmRpdGlvbmFsPVNWRwotXSBp
bnRlcmZhY2UgU1ZHUGF0dGVybkVsZW1lbnQgOiBTVkdTdHlsZWRFbGVtZW50IHsKK10gaW50ZXJm
YWNlIFNWR1BhdHRlcm5FbGVtZW50IDogU1ZHRWxlbWVudCB7CiAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIFNWR0FuaW1hdGVkRW51bWVyYXRpb24gICBwYXR0ZXJuVW5pdHM7CiAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIFNWR0FuaW1hdGVkRW51bWVyYXRpb24gICBwYXR0ZXJuQ29udGVudFVuaXRzOwog
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTVkdBbmltYXRlZFRyYW5zZm9ybUxpc3QgcGF0dGVyblRy
YW5zZm9ybTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTY3JpcHRFbGVtZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU2NyaXB0RWxlbWVudC5oCmluZGV4IDQzYzI0MTE3
NjY1MjFiMWMyYTM3MTc2YWJlYzg4YTY5NWJmZTFkNzMuLjk5YjlkODczMmQ5MDdlMWNmNmE3MWYw
Y2VhYzdiODA3MmNkOGVhYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTY3Jp
cHRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NjcmlwdEVsZW1lbnQuaApA
QCAtNzEsNiArNzEsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaExvYWRF
dmVudCgpIHsgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZDo6ZGlzcGF0Y2hMb2FkRXZlbnQo
dGhpcyk7IH0KIAogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxFbGVtZW50PiBjbG9uZUVsZW1lbnRX
aXRob3V0QXR0cmlidXRlc0FuZENoaWxkcmVuKCk7CisgICAgdmlydHVhbCBib29sIHJlbmRlcmVy
SXNOZWVkZWQoY29uc3QgUmVuZGVyU3R5bGUmKSBPVkVSUklERSB7IHJldHVybiBmYWxzZTsgfQog
CiAgICAgLy8gU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZAogICAgIHZpcnR1YWwgdm9pZCBz
ZXRIYXZlRmlyZWRMb2FkRXZlbnQoYm9vbCBoYXZlRmlyZWRMb2FkRXZlbnQpIHsgU2NyaXB0RWxl
bWVudDo6c2V0SGF2ZUZpcmVkTG9hZEV2ZW50KGhhdmVGaXJlZExvYWRFdmVudCk7IH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTdG9wRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHU3RvcEVsZW1lbnQuY3BwCmluZGV4IDczMDllY2Q1NWIyNmM4YTZmNDk5MzRj
YTI1NmUxNTgyMGU3NTIwOTAuLjUyNjI2YjM5MTg5MmY3ZGFhZmIwMzhiMTc1YzM1NmZlNjBjZmNm
MmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTdG9wRWxlbWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N0b3BFbGVtZW50LmNwcApAQCAtMzgsMTEgKzM4LDEx
IEBAIERFRklORV9BTklNQVRFRF9OVU1CRVIoU1ZHU3RvcEVsZW1lbnQsIFNWR05hbWVzOjpvZmZz
ZXRBdHRyLCBPZmZzZXQsIG9mZnNldCkKIAogQkVHSU5fUkVHSVNURVJfQU5JTUFURURfUFJPUEVS
VElFUyhTVkdTdG9wRWxlbWVudCkKICAgICBSRUdJU1RFUl9MT0NBTF9BTklNQVRFRF9QUk9QRVJU
WShvZmZzZXQpCi0gICAgUkVHSVNURVJfUEFSRU5UX0FOSU1BVEVEX1BST1BFUlRJRVMoU1ZHU3R5
bGVkRWxlbWVudCkKKyAgICBSRUdJU1RFUl9QQVJFTlRfQU5JTUFURURfUFJPUEVSVElFUyhTVkdF
bGVtZW50KQogRU5EX1JFR0lTVEVSX0FOSU1BVEVEX1BST1BFUlRJRVMKIAogaW5saW5lIFNWR1N0
b3BFbGVtZW50OjpTVkdTdG9wRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBE
b2N1bWVudCogZG9jdW1lbnQpCi0gICAgOiBTVkdTdHlsZWRFbGVtZW50KHRhZ05hbWUsIGRvY3Vt
ZW50KQorICAgIDogU1ZHRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKICAgICAsIG1fb2Zmc2V0
KDApCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoU1ZHTmFtZXM6OnN0b3BUYWcpKTsKQEAgLTY1
LDcgKzY1LDcgQEAgYm9vbCBTVkdTdG9wRWxlbWVudDo6aXNTdXBwb3J0ZWRBdHRyaWJ1dGUoY29u
c3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUpCiB2b2lkIFNWR1N0b3BFbGVtZW50OjpwYXJzZUF0
dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9taWNTdHJpbmcmIHZh
bHVlKQogewogICAgIGlmICghaXNTdXBwb3J0ZWRBdHRyaWJ1dGUobmFtZSkpIHsKLSAgICAgICAg
U1ZHU3R5bGVkRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUobmFtZSwgdmFsdWUpOworICAgICAgICBT
VkdFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShuYW1lLCB2YWx1ZSk7CiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAKQEAgLTgzLDcgKzgzLDcgQEAgdm9pZCBTVkdTdG9wRWxlbWVudDo6cGFyc2VBdHRy
aWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbWljU3RyaW4KIHZvaWQg
U1ZHU3RvcEVsZW1lbnQ6OnN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYg
YXR0ck5hbWUpCiB7CiAgICAgaWYgKCFpc1N1cHBvcnRlZEF0dHJpYnV0ZShhdHRyTmFtZSkpIHsK
LSAgICAgICAgU1ZHU3R5bGVkRWxlbWVudDo6c3ZnQXR0cmlidXRlQ2hhbmdlZChhdHRyTmFtZSk7
CisgICAgICAgIFNWR0VsZW1lbnQ6OnN2Z0F0dHJpYnV0ZUNoYW5nZWQoYXR0ck5hbWUpOwogICAg
ICAgICByZXR1cm47CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
U3RvcEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTdG9wRWxlbWVudC5oCmluZGV4
IGM5M2E5ZmZiNGE4MTJlZjBlNGNiODQzZmU2Zjc0MjczOGY5N2QxNTQuLjY2NzlhNzEyMDIwZTJk
NjI4MDg5MmFiZjcyMzNmODVlY2E5Yzc1NzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdTdG9wRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTdG9wRWxlbWVu
dC5oCkBAIC0yMywxMSArMjMsMTEgQEAKIAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiU1ZH
QW5pbWF0ZWROdW1iZXIuaCIKLSNpbmNsdWRlICJTVkdTdHlsZWRFbGVtZW50LmgiCisjaW5jbHVk
ZSAiU1ZHRWxlbWVudC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFNWR1N0b3BF
bGVtZW50IEZJTkFMIDogcHVibGljIFNWR1N0eWxlZEVsZW1lbnQgeworY2xhc3MgU1ZHU3RvcEVs
ZW1lbnQgRklOQUwgOiBwdWJsaWMgU1ZHRWxlbWVudCB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBh
c3NSZWZQdHI8U1ZHU3RvcEVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9j
dW1lbnQqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N0b3BFbGVtZW50
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTdG9wRWxlbWVudC5pZGwKaW5kZXggODY0MTNm
NzA4NTVlNmI5OGY3YmU2ZWE2NDlhNWM4MWEyNDBlNTI4YS4uODQxMTk3NGYwZDcwZDJlMDhiMmU3
MmVmMjdlZmZiYzJiODdmYzEwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N0
b3BFbGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU3RvcEVsZW1lbnQuaWRs
CkBAIC0yNSw3ICsyNSw3IEBACiAKIFsKICAgICBDb25kaXRpb25hbD1TVkcKLV0gaW50ZXJmYWNl
IFNWR1N0b3BFbGVtZW50IDogU1ZHU3R5bGVkRWxlbWVudCB7CitdIGludGVyZmFjZSBTVkdTdG9w
RWxlbWVudCA6IFNWR0VsZW1lbnQgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTVkdBbmltYXRl
ZE51bWJlciBvZmZzZXQ7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
U3R5bGVFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU3R5bGVFbGVtZW50LmgKaW5k
ZXggMDMzZWU1OTcyOTkxY2U3ZWMzY2Y0MWRhZTAxNGQzODcxODg5N2UwNi4uM2QyMzg3MTdlYTE5
MGU3Njc2NjI2N2UxNjQ3MDEwYWMzODllNWY3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1N0eWxlRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTdHlsZUVs
ZW1lbnQuaApAQCAtNTYsNiArNTYsOCBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCByZW1v
dmVkRnJvbShDb250YWluZXJOb2RlKikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGNoaWxk
cmVuQ2hhbmdlZChib29sIGNoYW5nZWRCeVBhcnNlciA9IGZhbHNlLCBOb2RlKiBiZWZvcmVDaGFu
Z2UgPSAwLCBOb2RlKiBhZnRlckNoYW5nZSA9IDAsIGludCBjaGlsZENvdW50RGVsdGEgPSAwKTsK
IAorICAgIHZpcnR1YWwgYm9vbCByZW5kZXJlcklzTmVlZGVkKGNvbnN0IFJlbmRlclN0eWxlJikg
T1ZFUlJJREUgeyByZXR1cm4gZmFsc2U7IH0KKwogICAgIHZpcnR1YWwgdm9pZCBmaW5pc2hQYXJz
aW5nQ2hpbGRyZW4oKTsKIAogICAgIHZpcnR1YWwgYm9vbCBpc0xvYWRpbmcoKSBjb25zdCB7IHJl
dHVybiBtX3N0eWxlU2hlZXRPd25lci5pc0xvYWRpbmcoKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1N0eWxlZEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1N0eWxlZEVsZW1lbnQuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNWRhNzdk
ZThkNzE1YWYwNWFmNmRhZTZmM2NlOTg0NThjYjAzMTRiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTdHlsZWRFbGVt
ZW50LmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDQ4NyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0
IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3LCAyMDA4IE5pa29sYXMgWmltbWVybWFubiA8emlt
bWVybWFubkBrZGUub3JnPgotICogQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA3LCAyMDA4
IFJvYiBCdWlzIDxidWlzQGtkZS5vcmc+Ci0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29m
dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVy
IHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2Ug
YXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICog
dmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2
ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0
aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo
b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hv
dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJ
TkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
biwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAqIEJvc3RvbiwgTUEg
MDIxMTAtMTMwMSwgVVNBLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLQotI2lmIEVOQUJM
RShTVkcpCi0jaW5jbHVkZSAiU1ZHU3R5bGVkRWxlbWVudC5oIgotCi0jaW5jbHVkZSAiQXR0ci5o
IgotI2luY2x1ZGUgIkNTU1BhcnNlci5oIgotI2luY2x1ZGUgIkRvY3VtZW50LmgiCi0jaW5jbHVk
ZSAiRWxlbWVudFRyYXZlcnNhbC5oIgotI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKLSNpbmNsdWRl
ICJIVE1MTmFtZXMuaCIKLSNpbmNsdWRlICJSZW5kZXJPYmplY3QuaCIKLSNpbmNsdWRlICJSZW5k
ZXJTVkdSZXNvdXJjZS5oIgotI2luY2x1ZGUgIlJlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5oIgot
I2luY2x1ZGUgIlJlbmRlclNWR1Jlc291cmNlRmlsdGVyLmgiCi0jaW5jbHVkZSAiUmVuZGVyU1ZH
UmVzb3VyY2VNYXNrZXIuaCIKLSNpbmNsdWRlICJTVkdFbGVtZW50LmgiCi0jaW5jbHVkZSAiU1ZH
RWxlbWVudEluc3RhbmNlLmgiCi0jaW5jbHVkZSAiU1ZHRWxlbWVudFJhcmVEYXRhLmgiCi0jaW5j
bHVkZSAiU1ZHTmFtZXMuaCIKLSNpbmNsdWRlICJTVkdSZW5kZXJTdHlsZS5oIgotI2luY2x1ZGUg
IlNWR1JlbmRlclN1cHBvcnQuaCIKLSNpbmNsdWRlICJTVkdTVkdFbGVtZW50LmgiCi0jaW5jbHVk
ZSAiU1ZHVXNlRWxlbWVudC5oIgotI2luY2x1ZGUgIlNoYWRvd1Jvb3QuaCIKLSNpbmNsdWRlIDx3
dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3Rm
L1N0ZExpYkV4dHJhcy5oPgotI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgotCi1uYW1l
c3BhY2UgV2ViQ29yZSB7Ci0KLS8vIEFuaW1hdGVkIHByb3BlcnR5IGRlZmluaXRpb25zCi1ERUZJ
TkVfQU5JTUFURURfU1RSSU5HKFNWR1N0eWxlZEVsZW1lbnQsIEhUTUxOYW1lczo6Y2xhc3NBdHRy
LCBDbGFzc05hbWUsIGNsYXNzTmFtZSkKLQotQkVHSU5fUkVHSVNURVJfQU5JTUFURURfUFJPUEVS
VElFUyhTVkdTdHlsZWRFbGVtZW50KQotICAgIFJFR0lTVEVSX0xPQ0FMX0FOSU1BVEVEX1BST1BF
UlRZKGNsYXNzTmFtZSkKLUVORF9SRUdJU1RFUl9BTklNQVRFRF9QUk9QRVJUSUVTCi0KLXVzaW5n
IG5hbWVzcGFjZSBTVkdOYW1lczsKLQotdm9pZCBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KEhh
c2hNYXA8QXRvbWljU3RyaW5nSW1wbCosIENTU1Byb3BlcnR5SUQ+KiBwcm9wZXJ0eU5hbWVUb0lk
TWFwLCBjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSkKLXsKLSAgICAvLyBGSVhNRTogd2hl
biBDU1Mgc3VwcG9ydHMgInRyYW5zZm9ybS1vcmlnaW4iIHRoZSBzcGVjaWFsIGNhc2UgZm9yIHRy
YW5zZm9ybV9vcmlnaW5BdHRyIGNhbiBiZSByZW1vdmVkLgotICAgIENTU1Byb3BlcnR5SUQgcHJv
cGVydHlJZCA9IGNzc1Byb3BlcnR5SUQoYXR0ck5hbWUubG9jYWxOYW1lKCkpOwotICAgIGlmICgh
cHJvcGVydHlJZCAmJiBhdHRyTmFtZSA9PSB0cmFuc2Zvcm1fb3JpZ2luQXR0cikKLSAgICAgICAg
cHJvcGVydHlJZCA9IENTU1Byb3BlcnR5V2Via2l0VHJhbnNmb3JtT3JpZ2luOyAvLyBjc3NQcm9w
ZXJ0eUlEKCItd2Via2l0LXRyYW5zZm9ybS1vcmlnaW4iKQotICAgIEFTU0VSVChwcm9wZXJ0eUlk
ID4gMCk7Ci0gICAgcHJvcGVydHlOYW1lVG9JZE1hcC0+c2V0KGF0dHJOYW1lLmxvY2FsTmFtZSgp
LmltcGwoKSwgcHJvcGVydHlJZCk7Ci19Ci0KLVNWR1N0eWxlZEVsZW1lbnQ6OlNWR1N0eWxlZEVs
ZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQot
ICAgIDogU1ZHRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKLXsKLSAgICByZWdpc3RlckFuaW1h
dGVkUHJvcGVydGllc0ZvclNWR1N0eWxlZEVsZW1lbnQoKTsKLX0KLQotU3RyaW5nIFNWR1N0eWxl
ZEVsZW1lbnQ6OnRpdGxlKCkgY29uc3QKLXsKLSAgICAvLyBBY2NvcmRpbmcgdG8gc3BlYywgd2Ug
c2hvdWxkIG5vdCByZXR1cm4gdGl0bGVzIHdoZW4gaG92ZXJpbmcgb3ZlciByb290IDxzdmc+IGVs
ZW1lbnRzICh0aG9zZQotICAgIC8vIDx0aXRsZT4gZWxlbWVudHMgYXJlIHRoZSB0aXRsZSBvZiB0
aGUgZG9jdW1lbnQsIG5vdCBhIHRvb2x0aXApIHNvIHdlIGluc3RhbnRseSByZXR1cm4uCi0gICAg
aWYgKGlzT3V0ZXJtb3N0U1ZHU1ZHRWxlbWVudCgpKQotICAgICAgICByZXR1cm4gU3RyaW5nKCk7
Ci0KLSAgICAvLyBXYWxrIHVwIHRoZSB0cmVlLCB0byBmaW5kIG91dCB3aGV0aGVyIHdlJ3JlIGlu
c2lkZSBhIDx1c2U+IHNoYWRvdyB0cmVlLCB0byBmaW5kIHRoZSByaWdodCB0aXRsZS4KLSAgICBp
ZiAoaXNJblNoYWRvd1RyZWUoKSkgewotICAgICAgICBFbGVtZW50KiBzaGFkb3dIb3N0RWxlbWVu
dCA9IHRvU2hhZG93Um9vdCh0cmVlU2NvcGUoKS0+cm9vdE5vZGUoKSktPmhvc3RFbGVtZW50KCk7
Ci0gICAgICAgIC8vIEF0IHRoaXMgdGltZSwgU1ZHIG5vZGVzIGFyZSBub3QgYWxsb3dlZCBpbiBu
b24tPHVzZT4gc2hhZG93IHRyZWVzLCBzbyBhbnkgc2hhZG93IHJvb3Qgd2UgZG8KLSAgICAgICAg
Ly8gaGF2ZSBzaG91bGQgYmUgYSB1c2UuIFRoZSBhc3NlcnQgYW5kIGZvbGxvd2luZyB0ZXN0IGlz
IGhlcmUgdG8gY2F0Y2ggZnV0dXJlIHNoYWRvdyBET00gY2hhbmdlcwotICAgICAgICAvLyB0aGF0
IGRvIGVuYWJsZSBTVkcgaW4gYSBzaGFkb3cgdHJlZS4KLSAgICAgICAgQVNTRVJUKCFzaGFkb3dI
b3N0RWxlbWVudCB8fCBzaGFkb3dIb3N0RWxlbWVudC0+aGFzVGFnTmFtZShTVkdOYW1lczo6dXNl
VGFnKSk7Ci0gICAgICAgIGlmIChzaGFkb3dIb3N0RWxlbWVudCAmJiBzaGFkb3dIb3N0RWxlbWVu
dC0+aGFzVGFnTmFtZShTVkdOYW1lczo6dXNlVGFnKSkgewotICAgICAgICAgICAgU1ZHVXNlRWxl
bWVudCogdXNlRWxlbWVudCA9IHRvU1ZHVXNlRWxlbWVudChzaGFkb3dIb3N0RWxlbWVudCk7Ci0g
Ci0gICAgICAgICAgICAvLyBJZiB0aGUgPHVzZT4gdGl0bGUgaXMgbm90IGVtcHR5IHdlIGZvdW5k
IHRoZSB0aXRsZSB0byB1c2UuCi0gICAgICAgICAgICBTdHJpbmcgdXNlVGl0bGUodXNlRWxlbWVu
dC0+dGl0bGUoKSk7Ci0gICAgICAgICAgICBpZiAoIXVzZVRpdGxlLmlzRW1wdHkoKSkKLSAgICAg
ICAgICAgICAgIHJldHVybiB1c2VUaXRsZTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIC8vIElm
IHdlIGFyZW4ndCBhbiBpbnN0YW5jZSBpbiBhIDx1c2U+IG9yIHRoZSA8dXNlPiB0aXRsZSB3YXMg
bm90IGZvdW5kLCB0aGVuIGZpbmQgdGhlIGZpcnN0Ci0gICAgLy8gPHRpdGxlPiBjaGlsZCBvZiB0
aGlzIGVsZW1lbnQuCi0gICAgRWxlbWVudCogdGl0bGVFbGVtZW50ID0gRWxlbWVudFRyYXZlcnNh
bDo6Zmlyc3RXaXRoaW4odGhpcyk7Ci0gICAgZm9yICg7IHRpdGxlRWxlbWVudDsgdGl0bGVFbGVt
ZW50ID0gRWxlbWVudFRyYXZlcnNhbDo6bmV4dFNpYmxpbmcodGl0bGVFbGVtZW50KSkgewotICAg
ICAgICBpZiAodGl0bGVFbGVtZW50LT5oYXNUYWdOYW1lKFNWR05hbWVzOjp0aXRsZVRhZykgJiYg
dGl0bGVFbGVtZW50LT5pc1NWR0VsZW1lbnQoKSkKLSAgICAgICAgICAgIGJyZWFrOwotICAgIH0K
LQotICAgIC8vIElmIGEgdGl0bGUgY2hpbGQgd2FzIGZvdW5kLCByZXR1cm4gdGhlIHRleHQgY29u
dGVudHMuCi0gICAgaWYgKHRpdGxlRWxlbWVudCkKLSAgICAgICAgcmV0dXJuIHRpdGxlRWxlbWVu
dC0+aW5uZXJUZXh0KCk7Ci0gICAgCi0gICAgLy8gT3RoZXJ3aXNlIHJldHVybiBhIG51bGwvZW1w
dHkgc3RyaW5nLgotICAgIHJldHVybiBTdHJpbmcoKTsKLX0KLQotYm9vbCBTVkdTdHlsZWRFbGVt
ZW50OjpyZW5kZXJlcklzTmVlZGVkKGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSkKLXsKLSAgICAv
LyBodHRwOi8vd3d3LnczLm9yZy9UUi9TVkcvZXh0ZW5kLmh0bWwjUHJpdmF0ZURhdGEKLSAgICAv
LyBQcmV2ZW50IGFueXRoaW5nIG90aGVyIHRoYW4gU1ZHIHJlbmRlcmVycyBmcm9tIGFwcGVhcmlu
ZyBpbiBvdXIgcmVuZGVyIHRyZWUKLSAgICAvLyBTcGVjOiBTVkcgYWxsb3dzIGluY2x1c2lvbiBv
ZiBlbGVtZW50cyBmcm9tIGZvcmVpZ24gbmFtZXNwYWNlcyBhbnl3aGVyZQotICAgIC8vIHdpdGgg
dGhlIFNWRyBjb250ZW50LiBJbiBnZW5lcmFsLCB0aGUgU1ZHIHVzZXIgYWdlbnQgd2lsbCBpbmNs
dWRlIHRoZSB1bmtub3duCi0gICAgLy8gZWxlbWVudHMgaW4gdGhlIERPTSBidXQgd2lsbCBvdGhl
cndpc2UgaWdub3JlIHVua25vd24gZWxlbWVudHMuIAotICAgIGlmICghcGFyZW50T3JTaGFkb3dI
b3N0RWxlbWVudCgpIHx8IHBhcmVudE9yU2hhZG93SG9zdEVsZW1lbnQoKS0+aXNTVkdFbGVtZW50
KCkpCi0gICAgICAgIHJldHVybiBTdHlsZWRFbGVtZW50OjpyZW5kZXJlcklzTmVlZGVkKHN0eWxl
KTsKLQotICAgIHJldHVybiBmYWxzZTsKLX0KLQotQ1NTUHJvcGVydHlJRCBTVkdTdHlsZWRFbGVt
ZW50Ojpjc3NQcm9wZXJ0eUlkRm9yU1ZHQXR0cmlidXRlTmFtZShjb25zdCBRdWFsaWZpZWROYW1l
JiBhdHRyTmFtZSkKLXsKLSAgICBpZiAoIWF0dHJOYW1lLm5hbWVzcGFjZVVSSSgpLmlzTnVsbCgp
KQotICAgICAgICByZXR1cm4gQ1NTUHJvcGVydHlJbnZhbGlkOwotICAgIAotICAgIHN0YXRpYyBI
YXNoTWFwPEF0b21pY1N0cmluZ0ltcGwqLCBDU1NQcm9wZXJ0eUlEPiogcHJvcGVydHlOYW1lVG9J
ZE1hcCA9IDA7Ci0gICAgaWYgKCFwcm9wZXJ0eU5hbWVUb0lkTWFwKSB7Ci0gICAgICAgIHByb3Bl
cnR5TmFtZVRvSWRNYXAgPSBuZXcgSGFzaE1hcDxBdG9taWNTdHJpbmdJbXBsKiwgQ1NTUHJvcGVy
dHlJRD47Ci0gICAgICAgIC8vIFRoaXMgaXMgYSBsaXN0IG9mIGFsbCBiYXNlIENTUyBhbmQgU1ZH
IENTUyBwcm9wZXJ0aWVzIHdoaWNoIGFyZSBleHBvc2VkIGFzIFNWRyBYTUwgYXR0cmlidXRlcwot
ICAgICAgICBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5TmFtZVRvSWRNYXAsIGFs
aWdubWVudF9iYXNlbGluZUF0dHIpOwotICAgICAgICBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5
KHByb3BlcnR5TmFtZVRvSWRNYXAsIGJhc2VsaW5lX3NoaWZ0QXR0cik7Ci0gICAgICAgIG1hcEF0
dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwgYnVmZmVyZWRfcmVuZGVy
aW5nQXR0cik7Ci0gICAgICAgIG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlOYW1l
VG9JZE1hcCwgY2xpcEF0dHIpOwotICAgICAgICBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHBy
b3BlcnR5TmFtZVRvSWRNYXAsIGNsaXBfcGF0aEF0dHIpOwotICAgICAgICBtYXBBdHRyaWJ1dGVU
b0NTU1Byb3BlcnR5KHByb3BlcnR5TmFtZVRvSWRNYXAsIGNsaXBfcnVsZUF0dHIpOwotICAgICAg
ICBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5TmFtZVRvSWRNYXAsIFNWR05hbWVz
Ojpjb2xvckF0dHIpOwotICAgICAgICBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5
TmFtZVRvSWRNYXAsIGNvbG9yX2ludGVycG9sYXRpb25BdHRyKTsKLSAgICAgICAgbWFwQXR0cmli
dXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBjb2xvcl9pbnRlcnBvbGF0aW9u
X2ZpbHRlcnNBdHRyKTsKLSAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0
eU5hbWVUb0lkTWFwLCBjb2xvcl9wcm9maWxlQXR0cik7Ci0gICAgICAgIG1hcEF0dHJpYnV0ZVRv
Q1NTUHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwgY29sb3JfcmVuZGVyaW5nQXR0cik7IAot
ICAgICAgICBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5TmFtZVRvSWRNYXAsIGN1
cnNvckF0dHIpOwotICAgICAgICBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5TmFt
ZVRvSWRNYXAsIFNWR05hbWVzOjpkaXJlY3Rpb25BdHRyKTsKLSAgICAgICAgbWFwQXR0cmlidXRl
VG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBkaXNwbGF5QXR0cik7Ci0gICAgICAg
IG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwgZG9taW5hbnRf
YmFzZWxpbmVBdHRyKTsKLSAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0
eU5hbWVUb0lkTWFwLCBlbmFibGVfYmFja2dyb3VuZEF0dHIpOwotICAgICAgICBtYXBBdHRyaWJ1
dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5TmFtZVRvSWRNYXAsIGZpbGxBdHRyKTsKLSAgICAgICAg
bWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBmaWxsX29wYWNp
dHlBdHRyKTsKLSAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVU
b0lkTWFwLCBmaWxsX3J1bGVBdHRyKTsKLSAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0
eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBmaWx0ZXJBdHRyKTsKLSAgICAgICAgbWFwQXR0cmlidXRl
VG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBmbG9vZF9jb2xvckF0dHIpOwotICAg
ICAgICBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5TmFtZVRvSWRNYXAsIGZsb29k
X29wYWNpdHlBdHRyKTsKLSAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0
eU5hbWVUb0lkTWFwLCBmb250X2ZhbWlseUF0dHIpOwotICAgICAgICBtYXBBdHRyaWJ1dGVUb0NT
U1Byb3BlcnR5KHByb3BlcnR5TmFtZVRvSWRNYXAsIGZvbnRfc2l6ZUF0dHIpOwotICAgICAgICBt
YXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5TmFtZVRvSWRNYXAsIGZvbnRfc3RyZXRj
aEF0dHIpOwotICAgICAgICBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5TmFtZVRv
SWRNYXAsIGZvbnRfc3R5bGVBdHRyKTsKLSAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0
eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBmb250X3ZhcmlhbnRBdHRyKTsKLSAgICAgICAgbWFwQXR0
cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBmb250X3dlaWdodEF0dHIp
OwotICAgICAgICBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5TmFtZVRvSWRNYXAs
IGdseXBoX29yaWVudGF0aW9uX2hvcml6b250YWxBdHRyKTsKLSAgICAgICAgbWFwQXR0cmlidXRl
VG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBnbHlwaF9vcmllbnRhdGlvbl92ZXJ0
aWNhbEF0dHIpOwotICAgICAgICBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5TmFt
ZVRvSWRNYXAsIGltYWdlX3JlbmRlcmluZ0F0dHIpOwotICAgICAgICBtYXBBdHRyaWJ1dGVUb0NT
U1Byb3BlcnR5KHByb3BlcnR5TmFtZVRvSWRNYXAsIGtlcm5pbmdBdHRyKTsKLSAgICAgICAgbWFw
QXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBsZXR0ZXJfc3BhY2lu
Z0F0dHIpOwotICAgICAgICBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5TmFtZVRv
SWRNYXAsIGxpZ2h0aW5nX2NvbG9yQXR0cik7Ci0gICAgICAgIG1hcEF0dHJpYnV0ZVRvQ1NTUHJv
cGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwgbWFya2VyX2VuZEF0dHIpOwotICAgICAgICBtYXBB
dHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5TmFtZVRvSWRNYXAsIG1hcmtlcl9taWRBdHRy
KTsKLSAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFw
LCBtYXJrZXJfc3RhcnRBdHRyKTsKLSAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShw
cm9wZXJ0eU5hbWVUb0lkTWFwLCBtYXNrQXR0cik7Ci0gICAgICAgIG1hcEF0dHJpYnV0ZVRvQ1NT
UHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwgbWFza190eXBlQXR0cik7Ci0gICAgICAgIG1h
cEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwgb3BhY2l0eUF0dHIp
OwotICAgICAgICBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5TmFtZVRvSWRNYXAs
IG92ZXJmbG93QXR0cik7Ci0gICAgICAgIG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVy
dHlOYW1lVG9JZE1hcCwgcG9pbnRlcl9ldmVudHNBdHRyKTsKLSAgICAgICAgbWFwQXR0cmlidXRl
VG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBzaGFwZV9yZW5kZXJpbmdBdHRyKTsK
LSAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBz
dG9wX2NvbG9yQXR0cik7Ci0gICAgICAgIG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVy
dHlOYW1lVG9JZE1hcCwgc3RvcF9vcGFjaXR5QXR0cik7Ci0gICAgICAgIG1hcEF0dHJpYnV0ZVRv
Q1NTUHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwgc3Ryb2tlQXR0cik7Ci0gICAgICAgIG1h
cEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwgc3Ryb2tlX2Rhc2hh
cnJheUF0dHIpOwotICAgICAgICBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5TmFt
ZVRvSWRNYXAsIHN0cm9rZV9kYXNob2Zmc2V0QXR0cik7Ci0gICAgICAgIG1hcEF0dHJpYnV0ZVRv
Q1NTUHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1hcCwgc3Ryb2tlX2xpbmVjYXBBdHRyKTsKLSAg
ICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCBzdHJv
a2VfbGluZWpvaW5BdHRyKTsKLSAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9w
ZXJ0eU5hbWVUb0lkTWFwLCBzdHJva2VfbWl0ZXJsaW1pdEF0dHIpOwotICAgICAgICBtYXBBdHRy
aWJ1dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5TmFtZVRvSWRNYXAsIHN0cm9rZV9vcGFjaXR5QXR0
cik7Ci0gICAgICAgIG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkocHJvcGVydHlOYW1lVG9JZE1h
cCwgc3Ryb2tlX3dpZHRoQXR0cik7Ci0gICAgICAgIG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHko
cHJvcGVydHlOYW1lVG9JZE1hcCwgdGV4dF9hbmNob3JBdHRyKTsKLSAgICAgICAgbWFwQXR0cmli
dXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCB0ZXh0X2RlY29yYXRpb25BdHRy
KTsKLSAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFw
LCB0ZXh0X3JlbmRlcmluZ0F0dHIpOwotICAgICAgICBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5
KHByb3BlcnR5TmFtZVRvSWRNYXAsIHRyYW5zZm9ybV9vcmlnaW5BdHRyKTsKLSAgICAgICAgbWFw
QXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lkTWFwLCB1bmljb2RlX2JpZGlB
dHRyKTsKLSAgICAgICAgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShwcm9wZXJ0eU5hbWVUb0lk
TWFwLCB2ZWN0b3JfZWZmZWN0QXR0cik7Ci0gICAgICAgIG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVy
dHkocHJvcGVydHlOYW1lVG9JZE1hcCwgdmlzaWJpbGl0eUF0dHIpOwotICAgICAgICBtYXBBdHRy
aWJ1dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5TmFtZVRvSWRNYXAsIHdvcmRfc3BhY2luZ0F0dHIp
OwotICAgICAgICBtYXBBdHRyaWJ1dGVUb0NTU1Byb3BlcnR5KHByb3BlcnR5TmFtZVRvSWRNYXAs
IHdyaXRpbmdfbW9kZUF0dHIpOwotICAgIH0KLSAgICAKLSAgICByZXR1cm4gcHJvcGVydHlOYW1l
VG9JZE1hcC0+Z2V0KGF0dHJOYW1lLmxvY2FsTmFtZSgpLmltcGwoKSk7Ci19Ci0KLXR5cGVkZWYg
SGFzaE1hcDxRdWFsaWZpZWROYW1lLCBBbmltYXRlZFByb3BlcnR5VHlwZT4gQXR0cmlidXRlVG9Q
cm9wZXJ0eVR5cGVNYXA7Ci1zdGF0aWMgaW5saW5lIEF0dHJpYnV0ZVRvUHJvcGVydHlUeXBlTWFw
JiBjc3NQcm9wZXJ0eVRvVHlwZU1hcCgpCi17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdHRy
aWJ1dGVUb1Byb3BlcnR5VHlwZU1hcCwgc19jc3NQcm9wZXJ0eU1hcCwgKCkpOwotCi0gICAgaWYg
KCFzX2Nzc1Byb3BlcnR5TWFwLmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuIHNfY3NzUHJvcGVy
dHlNYXA7Ci0KLSAgICAvLyBGaWxsIHRoZSBtYXAgZm9yIHRoZSBmaXJzdCB1c2UuCi0gICAgc19j
c3NQcm9wZXJ0eU1hcC5zZXQoYWxpZ25tZW50X2Jhc2VsaW5lQXR0ciwgQW5pbWF0ZWRTdHJpbmcp
OwotICAgIHNfY3NzUHJvcGVydHlNYXAuc2V0KGJhc2VsaW5lX3NoaWZ0QXR0ciwgQW5pbWF0ZWRT
dHJpbmcpOwotICAgIHNfY3NzUHJvcGVydHlNYXAuc2V0KGJ1ZmZlcmVkX3JlbmRlcmluZ0F0dHIs
IEFuaW1hdGVkU3RyaW5nKTsKLSAgICBzX2Nzc1Byb3BlcnR5TWFwLnNldChjbGlwQXR0ciwgQW5p
bWF0ZWRSZWN0KTsKLSAgICBzX2Nzc1Byb3BlcnR5TWFwLnNldChjbGlwX3BhdGhBdHRyLCBBbmlt
YXRlZFN0cmluZyk7Ci0gICAgc19jc3NQcm9wZXJ0eU1hcC5zZXQoY2xpcF9ydWxlQXR0ciwgQW5p
bWF0ZWRTdHJpbmcpOwotICAgIHNfY3NzUHJvcGVydHlNYXAuc2V0KFNWR05hbWVzOjpjb2xvckF0
dHIsIEFuaW1hdGVkQ29sb3IpOwotICAgIHNfY3NzUHJvcGVydHlNYXAuc2V0KGNvbG9yX2ludGVy
cG9sYXRpb25BdHRyLCBBbmltYXRlZFN0cmluZyk7Ci0gICAgc19jc3NQcm9wZXJ0eU1hcC5zZXQo
Y29sb3JfaW50ZXJwb2xhdGlvbl9maWx0ZXJzQXR0ciwgQW5pbWF0ZWRTdHJpbmcpOwotICAgIHNf
Y3NzUHJvcGVydHlNYXAuc2V0KGNvbG9yX3Byb2ZpbGVBdHRyLCBBbmltYXRlZFN0cmluZyk7Ci0g
ICAgc19jc3NQcm9wZXJ0eU1hcC5zZXQoY29sb3JfcmVuZGVyaW5nQXR0ciwgQW5pbWF0ZWRTdHJp
bmcpOyAKLSAgICBzX2Nzc1Byb3BlcnR5TWFwLnNldChjdXJzb3JBdHRyLCBBbmltYXRlZFN0cmlu
Zyk7Ci0gICAgc19jc3NQcm9wZXJ0eU1hcC5zZXQoZGlzcGxheUF0dHIsIEFuaW1hdGVkU3RyaW5n
KTsKLSAgICBzX2Nzc1Byb3BlcnR5TWFwLnNldChkb21pbmFudF9iYXNlbGluZUF0dHIsIEFuaW1h
dGVkU3RyaW5nKTsKLSAgICBzX2Nzc1Byb3BlcnR5TWFwLnNldChmaWxsQXR0ciwgQW5pbWF0ZWRD
b2xvcik7Ci0gICAgc19jc3NQcm9wZXJ0eU1hcC5zZXQoZmlsbF9vcGFjaXR5QXR0ciwgQW5pbWF0
ZWROdW1iZXIpOwotICAgIHNfY3NzUHJvcGVydHlNYXAuc2V0KGZpbGxfcnVsZUF0dHIsIEFuaW1h
dGVkU3RyaW5nKTsKLSAgICBzX2Nzc1Byb3BlcnR5TWFwLnNldChmaWx0ZXJBdHRyLCBBbmltYXRl
ZFN0cmluZyk7Ci0gICAgc19jc3NQcm9wZXJ0eU1hcC5zZXQoZmxvb2RfY29sb3JBdHRyLCBBbmlt
YXRlZENvbG9yKTsKLSAgICBzX2Nzc1Byb3BlcnR5TWFwLnNldChmbG9vZF9vcGFjaXR5QXR0ciwg
QW5pbWF0ZWROdW1iZXIpOwotICAgIHNfY3NzUHJvcGVydHlNYXAuc2V0KGZvbnRfZmFtaWx5QXR0
ciwgQW5pbWF0ZWRTdHJpbmcpOwotICAgIHNfY3NzUHJvcGVydHlNYXAuc2V0KGZvbnRfc2l6ZUF0
dHIsIEFuaW1hdGVkTGVuZ3RoKTsKLSAgICBzX2Nzc1Byb3BlcnR5TWFwLnNldChmb250X3N0cmV0
Y2hBdHRyLCBBbmltYXRlZFN0cmluZyk7Ci0gICAgc19jc3NQcm9wZXJ0eU1hcC5zZXQoZm9udF9z
dHlsZUF0dHIsIEFuaW1hdGVkU3RyaW5nKTsKLSAgICBzX2Nzc1Byb3BlcnR5TWFwLnNldChmb250
X3ZhcmlhbnRBdHRyLCBBbmltYXRlZFN0cmluZyk7Ci0gICAgc19jc3NQcm9wZXJ0eU1hcC5zZXQo
Zm9udF93ZWlnaHRBdHRyLCBBbmltYXRlZFN0cmluZyk7Ci0gICAgc19jc3NQcm9wZXJ0eU1hcC5z
ZXQoaW1hZ2VfcmVuZGVyaW5nQXR0ciwgQW5pbWF0ZWRTdHJpbmcpOwotICAgIHNfY3NzUHJvcGVy
dHlNYXAuc2V0KGtlcm5pbmdBdHRyLCBBbmltYXRlZExlbmd0aCk7Ci0gICAgc19jc3NQcm9wZXJ0
eU1hcC5zZXQobGV0dGVyX3NwYWNpbmdBdHRyLCBBbmltYXRlZExlbmd0aCk7Ci0gICAgc19jc3NQ
cm9wZXJ0eU1hcC5zZXQobGlnaHRpbmdfY29sb3JBdHRyLCBBbmltYXRlZENvbG9yKTsKLSAgICBz
X2Nzc1Byb3BlcnR5TWFwLnNldChtYXJrZXJfZW5kQXR0ciwgQW5pbWF0ZWRTdHJpbmcpOwotICAg
IHNfY3NzUHJvcGVydHlNYXAuc2V0KG1hcmtlcl9taWRBdHRyLCBBbmltYXRlZFN0cmluZyk7Ci0g
ICAgc19jc3NQcm9wZXJ0eU1hcC5zZXQobWFya2VyX3N0YXJ0QXR0ciwgQW5pbWF0ZWRTdHJpbmcp
OwotICAgIHNfY3NzUHJvcGVydHlNYXAuc2V0KG1hc2tBdHRyLCBBbmltYXRlZFN0cmluZyk7Ci0g
ICAgc19jc3NQcm9wZXJ0eU1hcC5zZXQobWFza190eXBlQXR0ciwgQW5pbWF0ZWRTdHJpbmcpOwot
ICAgIHNfY3NzUHJvcGVydHlNYXAuc2V0KG9wYWNpdHlBdHRyLCBBbmltYXRlZE51bWJlcik7Ci0g
ICAgc19jc3NQcm9wZXJ0eU1hcC5zZXQob3ZlcmZsb3dBdHRyLCBBbmltYXRlZFN0cmluZyk7Ci0g
ICAgc19jc3NQcm9wZXJ0eU1hcC5zZXQocG9pbnRlcl9ldmVudHNBdHRyLCBBbmltYXRlZFN0cmlu
Zyk7Ci0gICAgc19jc3NQcm9wZXJ0eU1hcC5zZXQoc2hhcGVfcmVuZGVyaW5nQXR0ciwgQW5pbWF0
ZWRTdHJpbmcpOwotICAgIHNfY3NzUHJvcGVydHlNYXAuc2V0KHN0b3BfY29sb3JBdHRyLCBBbmlt
YXRlZENvbG9yKTsKLSAgICBzX2Nzc1Byb3BlcnR5TWFwLnNldChzdG9wX29wYWNpdHlBdHRyLCBB
bmltYXRlZE51bWJlcik7Ci0gICAgc19jc3NQcm9wZXJ0eU1hcC5zZXQoc3Ryb2tlQXR0ciwgQW5p
bWF0ZWRDb2xvcik7Ci0gICAgc19jc3NQcm9wZXJ0eU1hcC5zZXQoc3Ryb2tlX2Rhc2hhcnJheUF0
dHIsIEFuaW1hdGVkTGVuZ3RoTGlzdCk7Ci0gICAgc19jc3NQcm9wZXJ0eU1hcC5zZXQoc3Ryb2tl
X2Rhc2hvZmZzZXRBdHRyLCBBbmltYXRlZExlbmd0aCk7Ci0gICAgc19jc3NQcm9wZXJ0eU1hcC5z
ZXQoc3Ryb2tlX2xpbmVjYXBBdHRyLCBBbmltYXRlZFN0cmluZyk7Ci0gICAgc19jc3NQcm9wZXJ0
eU1hcC5zZXQoc3Ryb2tlX2xpbmVqb2luQXR0ciwgQW5pbWF0ZWRTdHJpbmcpOwotICAgIHNfY3Nz
UHJvcGVydHlNYXAuc2V0KHN0cm9rZV9taXRlcmxpbWl0QXR0ciwgQW5pbWF0ZWROdW1iZXIpOwot
ICAgIHNfY3NzUHJvcGVydHlNYXAuc2V0KHN0cm9rZV9vcGFjaXR5QXR0ciwgQW5pbWF0ZWROdW1i
ZXIpOwotICAgIHNfY3NzUHJvcGVydHlNYXAuc2V0KHN0cm9rZV93aWR0aEF0dHIsIEFuaW1hdGVk
TGVuZ3RoKTsKLSAgICBzX2Nzc1Byb3BlcnR5TWFwLnNldCh0ZXh0X2FuY2hvckF0dHIsIEFuaW1h
dGVkU3RyaW5nKTsKLSAgICBzX2Nzc1Byb3BlcnR5TWFwLnNldCh0ZXh0X2RlY29yYXRpb25BdHRy
LCBBbmltYXRlZFN0cmluZyk7Ci0gICAgc19jc3NQcm9wZXJ0eU1hcC5zZXQodGV4dF9yZW5kZXJp
bmdBdHRyLCBBbmltYXRlZFN0cmluZyk7Ci0gICAgc19jc3NQcm9wZXJ0eU1hcC5zZXQodmVjdG9y
X2VmZmVjdEF0dHIsIEFuaW1hdGVkU3RyaW5nKTsKLSAgICBzX2Nzc1Byb3BlcnR5TWFwLnNldCh2
aXNpYmlsaXR5QXR0ciwgQW5pbWF0ZWRTdHJpbmcpOwotICAgIHNfY3NzUHJvcGVydHlNYXAuc2V0
KHdvcmRfc3BhY2luZ0F0dHIsIEFuaW1hdGVkTGVuZ3RoKTsKLSAgICByZXR1cm4gc19jc3NQcm9w
ZXJ0eU1hcDsKLX0KLQotdm9pZCBTVkdTdHlsZWRFbGVtZW50OjphbmltYXRlZFByb3BlcnR5VHlw
ZUZvckF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSwgVmVjdG9yPEFuaW1h
dGVkUHJvcGVydHlUeXBlPiYgcHJvcGVydHlUeXBlcykKLXsKLSAgICBTVkdFbGVtZW50Ojphbmlt
YXRlZFByb3BlcnR5VHlwZUZvckF0dHJpYnV0ZShhdHRyTmFtZSwgcHJvcGVydHlUeXBlcyk7Ci0g
ICAgaWYgKCFwcm9wZXJ0eVR5cGVzLmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAg
QXR0cmlidXRlVG9Qcm9wZXJ0eVR5cGVNYXAmIGNzc1Byb3BlcnR5VHlwZU1hcCA9IGNzc1Byb3Bl
cnR5VG9UeXBlTWFwKCk7Ci0gICAgaWYgKGNzc1Byb3BlcnR5VHlwZU1hcC5jb250YWlucyhhdHRy
TmFtZSkpCi0gICAgICAgIHByb3BlcnR5VHlwZXMuYXBwZW5kKGNzc1Byb3BlcnR5VHlwZU1hcC5n
ZXQoYXR0ck5hbWUpKTsKLX0KLQotYm9vbCBTVkdTdHlsZWRFbGVtZW50Ojppc0FuaW1hdGFibGVD
U1NQcm9wZXJ0eShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSkKLXsKLSAgICByZXR1cm4g
Y3NzUHJvcGVydHlUb1R5cGVNYXAoKS5jb250YWlucyhhdHRyTmFtZSk7Ci19Ci0KLWJvb2wgU1ZH
U3R5bGVkRWxlbWVudDo6aXNQcmVzZW50YXRpb25BdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFt
ZSYgbmFtZSkgY29uc3QKLXsKLSAgICBpZiAoU1ZHU3R5bGVkRWxlbWVudDo6Y3NzUHJvcGVydHlJ
ZEZvclNWR0F0dHJpYnV0ZU5hbWUobmFtZSkgPiAwKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAg
ICByZXR1cm4gU1ZHRWxlbWVudDo6aXNQcmVzZW50YXRpb25BdHRyaWJ1dGUobmFtZSk7Ci19Ci0K
LXZvaWQgU1ZHU3R5bGVkRWxlbWVudDo6Y29sbGVjdFN0eWxlRm9yUHJlc2VudGF0aW9uQXR0cmli
dXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUs
IE11dGFibGVTdHlsZVByb3BlcnR5U2V0KiBzdHlsZSkKLXsKLSAgICBDU1NQcm9wZXJ0eUlEIHBy
b3BlcnR5SUQgPSBTVkdTdHlsZWRFbGVtZW50Ojpjc3NQcm9wZXJ0eUlkRm9yU1ZHQXR0cmlidXRl
TmFtZShuYW1lKTsKLSAgICBpZiAocHJvcGVydHlJRCA+IDApCi0gICAgICAgIGFkZFByb3BlcnR5
VG9QcmVzZW50YXRpb25BdHRyaWJ1dGVTdHlsZShzdHlsZSwgcHJvcGVydHlJRCwgdmFsdWUpOwot
fQotCi12b2lkIFNWR1N0eWxlZEVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmll
ZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUpCi17Ci0gICAgLy8gU1ZHIGFu
aW1hdGlvbiBoYXMgY3VycmVudGx5IHJlcXVpcmVzIHNwZWNpYWwgc3RvcmFnZSBvZiB2YWx1ZXMg
c28gd2Ugc2V0Ci0gICAgLy8gdGhlIGNsYXNzTmFtZSBoZXJlLiAgc3ZnQXR0cmlidXRlQ2hhbmdl
ZCBhY3R1YWxseSBjYXVzZXMgdGhlIHJlc3VsdGluZwotICAgIC8vIHN0eWxlIHVwZGF0ZXMgKGlu
c3RlYWQgb2YgU3R5bGVkRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUpLiBXZSBkb24ndAotICAgIC8v
IHRlbGwgU3R5bGVkRWxlbWVudCBhYm91dCB0aGUgY2hhbmdlIHRvIGF2b2lkIHBhcnNpbmcgdGhl
IGNsYXNzIGxpc3QgdHdpY2UKLSAgICBpZiAobmFtZSA9PSBIVE1MTmFtZXM6OmNsYXNzQXR0cikg
ewotICAgICAgICBzZXRDbGFzc05hbWVCYXNlVmFsdWUodmFsdWUpOwotICAgICAgICByZXR1cm47
Ci0gICAgfQotCi0gICAgLy8gaWQgaXMgaGFuZGxlZCBieSBTdHlsZWRFbGVtZW50IHdoaWNoIFNW
R0VsZW1lbnQgaW5oZXJpdHMgZnJvbQotICAgIFNWR0VsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKG5h
bWUsIHZhbHVlKTsKLX0KLQotYm9vbCBTVkdTdHlsZWRFbGVtZW50Ojppc0tub3duQXR0cmlidXRl
KGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lKQotewotICAgIHJldHVybiBpc0lkQXR0cmli
dXRlTmFtZShhdHRyTmFtZSk7Ci19Ci0KLXZvaWQgU1ZHU3R5bGVkRWxlbWVudDo6c3ZnQXR0cmli
dXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSkKLXsKLSAgICBDU1NQcm9w
ZXJ0eUlEIHByb3BJZCA9IFNWR1N0eWxlZEVsZW1lbnQ6OmNzc1Byb3BlcnR5SWRGb3JTVkdBdHRy
aWJ1dGVOYW1lKGF0dHJOYW1lKTsKLSAgICBpZiAocHJvcElkID4gMCkgewotICAgICAgICBTVkdF
bGVtZW50SW5zdGFuY2U6OmludmFsaWRhdGVBbGxJbnN0YW5jZXNPZkVsZW1lbnQodGhpcyk7Ci0g
ICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAoYXR0ck5hbWUgPT0gSFRNTE5hbWVzOjpj
bGFzc0F0dHIpIHsKLSAgICAgICAgY2xhc3NBdHRyaWJ1dGVDaGFuZ2VkKGNsYXNzTmFtZSgpKTsK
LSAgICAgICAgU1ZHRWxlbWVudEluc3RhbmNlOjppbnZhbGlkYXRlQWxsSW5zdGFuY2VzT2ZFbGVt
ZW50KHRoaXMpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKGlzSWRBdHRyaWJ1
dGVOYW1lKGF0dHJOYW1lKSkgewotICAgICAgICBSZW5kZXJPYmplY3QqIG9iamVjdCA9IHJlbmRl
cmVyKCk7Ci0gICAgICAgIC8vIE5vdGlmeSByZXNvdXJjZXMgYWJvdXQgaWQgY2hhbmdlcywgdGhp
cyBpcyBpbXBvcnRhbnQgYXMgd2UgY2FjaGUgcmVzb3VyY2VzIGJ5IGlkIGluIFNWR0RvY3VtZW50
RXh0ZW5zaW9ucwotICAgICAgICBpZiAob2JqZWN0ICYmIG9iamVjdC0+aXNTVkdSZXNvdXJjZUNv
bnRhaW5lcigpKQotICAgICAgICAgICAgb2JqZWN0LT50b1JlbmRlclNWR1Jlc291cmNlQ29udGFp
bmVyKCktPmlkQ2hhbmdlZCgpOwotICAgICAgICBpZiAoaW5Eb2N1bWVudCgpKQotICAgICAgICAg
ICAgYnVpbGRQZW5kaW5nUmVzb3VyY2VzSWZOZWVkZWQoKTsKLSAgICAgICAgU1ZHRWxlbWVudElu
c3RhbmNlOjppbnZhbGlkYXRlQWxsSW5zdGFuY2VzT2ZFbGVtZW50KHRoaXMpOwotICAgICAgICBy
ZXR1cm47Ci0gICAgfQotfQotCi1Ob2RlOjpJbnNlcnRpb25Ob3RpZmljYXRpb25SZXF1ZXN0IFNW
R1N0eWxlZEVsZW1lbnQ6Omluc2VydGVkSW50byhDb250YWluZXJOb2RlKiByb290UGFyZW50KQot
ewotICAgIFNWR0VsZW1lbnQ6Omluc2VydGVkSW50byhyb290UGFyZW50KTsKLSAgICB1cGRhdGVS
ZWxhdGl2ZUxlbmd0aHNJbmZvcm1hdGlvbigpOwotICAgIGJ1aWxkUGVuZGluZ1Jlc291cmNlc0lm
TmVlZGVkKCk7Ci0gICAgcmV0dXJuIEluc2VydGlvbkRvbmU7Ci19Ci0KLXZvaWQgU1ZHU3R5bGVk
RWxlbWVudDo6YnVpbGRQZW5kaW5nUmVzb3VyY2VzSWZOZWVkZWQoKQotewotICAgIERvY3VtZW50
KiBkb2N1bWVudCA9IHRoaXMtPmRvY3VtZW50KCk7Ci0gICAgaWYgKCFuZWVkc1BlbmRpbmdSZXNv
dXJjZUhhbmRsaW5nKCkgfHwgIWRvY3VtZW50IHx8ICFpbkRvY3VtZW50KCkgfHwgaXNJblNoYWRv
d1RyZWUoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgU1ZHRG9jdW1lbnRFeHRlbnNpb25zKiBl
eHRlbnNpb25zID0gZG9jdW1lbnQtPmFjY2Vzc1NWR0V4dGVuc2lvbnMoKTsKLSAgICBTdHJpbmcg
cmVzb3VyY2VJZCA9IGdldElkQXR0cmlidXRlKCk7Ci0gICAgaWYgKCFleHRlbnNpb25zLT5oYXNQ
ZW5kaW5nUmVzb3VyY2UocmVzb3VyY2VJZCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIC8vIE1h
cmsgcGVuZGluZyByZXNvdXJjZXMgYXMgcGVuZGluZyBmb3IgcmVtb3ZhbC4KLSAgICBleHRlbnNp
b25zLT5tYXJrUGVuZGluZ1Jlc291cmNlc0ZvclJlbW92YWwocmVzb3VyY2VJZCk7Ci0KLSAgICAv
LyBSZWJ1aWxkIHBlbmRpbmcgcmVzb3VyY2VzIGZvciBlYWNoIGNsaWVudCBvZiBhIHBlbmRpbmcg
cmVzb3VyY2UgdGhhdCBpcyBiZWluZyByZW1vdmVkLgotICAgIHdoaWxlIChFbGVtZW50KiBjbGll
bnRFbGVtZW50ID0gZXh0ZW5zaW9ucy0+cmVtb3ZlRWxlbWVudEZyb21QZW5kaW5nUmVzb3VyY2Vz
Rm9yUmVtb3ZhbChyZXNvdXJjZUlkKSkgewotICAgICAgICBBU1NFUlQoY2xpZW50RWxlbWVudC0+
aGFzUGVuZGluZ1Jlc291cmNlcygpKTsKLSAgICAgICAgaWYgKGNsaWVudEVsZW1lbnQtPmhhc1Bl
bmRpbmdSZXNvdXJjZXMoKSkgewotICAgICAgICAgICAgY2xpZW50RWxlbWVudC0+YnVpbGRQZW5k
aW5nUmVzb3VyY2UoKTsKLSAgICAgICAgICAgIGV4dGVuc2lvbnMtPmNsZWFySGFzUGVuZGluZ1Jl
c291cmNlc0lmUG9zc2libGUoY2xpZW50RWxlbWVudCk7Ci0gICAgICAgIH0KLSAgICB9Ci19Ci0K
LXZvaWQgU1ZHU3R5bGVkRWxlbWVudDo6cmVtb3ZlZEZyb20oQ29udGFpbmVyTm9kZSogcm9vdFBh
cmVudCkKLXsKLSAgICBpZiAocm9vdFBhcmVudC0+aW5Eb2N1bWVudCgpKQotICAgICAgICB1cGRh
dGVSZWxhdGl2ZUxlbmd0aHNJbmZvcm1hdGlvbihmYWxzZSwgdGhpcyk7Ci0gICAgU1ZHRWxlbWVu
dDo6cmVtb3ZlZEZyb20ocm9vdFBhcmVudCk7Ci0gICAgU1ZHRWxlbWVudEluc3RhbmNlOjppbnZh
bGlkYXRlQWxsSW5zdGFuY2VzT2ZFbGVtZW50KHRoaXMpOwotfQotCi12b2lkIFNWR1N0eWxlZEVs
ZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZChib29sIGNoYW5nZWRCeVBhcnNlciwgTm9kZSogYmVmb3Jl
Q2hhbmdlLCBOb2RlKiBhZnRlckNoYW5nZSwgaW50IGNoaWxkQ291bnREZWx0YSkKLXsKLSAgICBT
VkdFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQoY2hhbmdlZEJ5UGFyc2VyLCBiZWZvcmVDaGFuZ2Us
IGFmdGVyQ2hhbmdlLCBjaGlsZENvdW50RGVsdGEpOwotCi0gICAgLy8gSW52YWxpZGF0ZSBhbGwg
U1ZHRWxlbWVudEluc3RhbmNlcyBhc3NvY2lhdGVkIHdpdGggdXMKLSAgICBpZiAoIWNoYW5nZWRC
eVBhcnNlcikKLSAgICAgICAgU1ZHRWxlbWVudEluc3RhbmNlOjppbnZhbGlkYXRlQWxsSW5zdGFu
Y2VzT2ZFbGVtZW50KHRoaXMpOwotfQotCi1QYXNzUmVmUHRyPENTU1ZhbHVlPiBTVkdTdHlsZWRF
bGVtZW50OjpnZXRQcmVzZW50YXRpb25BdHRyaWJ1dGUoY29uc3QgU3RyaW5nJiBuYW1lKQotewot
ICAgIGlmICghaGFzQXR0cmlidXRlc1dpdGhvdXRVcGRhdGUoKSkKLSAgICAgICAgcmV0dXJuIDA7
Ci0KLSAgICBRdWFsaWZpZWROYW1lIGF0dHJpYnV0ZU5hbWUobnVsbEF0b20sIG5hbWUsIG51bGxB
dG9tKTsKLSAgICBjb25zdCBBdHRyaWJ1dGUqIGF0dHJpYnV0ZSA9IGZpbmRBdHRyaWJ1dGVCeU5h
bWUoYXR0cmlidXRlTmFtZSk7Ci0gICAgaWYgKCFhdHRyaWJ1dGUpCi0gICAgICAgIHJldHVybiAw
OwotCi0gICAgUmVmUHRyPE11dGFibGVTdHlsZVByb3BlcnR5U2V0PiBzdHlsZSA9IE11dGFibGVT
dHlsZVByb3BlcnR5U2V0OjpjcmVhdGUoU1ZHQXR0cmlidXRlTW9kZSk7Ci0gICAgQ1NTUHJvcGVy
dHlJRCBwcm9wZXJ0eUlEID0gU1ZHU3R5bGVkRWxlbWVudDo6Y3NzUHJvcGVydHlJZEZvclNWR0F0
dHJpYnV0ZU5hbWUoYXR0cmlidXRlLT5uYW1lKCkpOwotICAgIHN0eWxlLT5zZXRQcm9wZXJ0eShw
cm9wZXJ0eUlELCBhdHRyaWJ1dGUtPnZhbHVlKCkpOwotICAgIFJlZlB0cjxDU1NWYWx1ZT4gY3Nz
VmFsdWUgPSBzdHlsZS0+Z2V0UHJvcGVydHlDU1NWYWx1ZShwcm9wZXJ0eUlEKTsKLSAgICByZXR1
cm4gY3NzVmFsdWUgPyBjc3NWYWx1ZS0+Y2xvbmVGb3JDU1NPTSgpIDogMDsKLX0KLQotYm9vbCBT
VkdTdHlsZWRFbGVtZW50OjppbnN0YW5jZVVwZGF0ZXNCbG9ja2VkKCkgY29uc3QKLXsKLSAgICBy
ZXR1cm4gaGFzU1ZHUmFyZURhdGEoKSAmJiBzdmdSYXJlRGF0YSgpLT5pbnN0YW5jZVVwZGF0ZXNC
bG9ja2VkKCk7Ci19Ci0KLXZvaWQgU1ZHU3R5bGVkRWxlbWVudDo6c2V0SW5zdGFuY2VVcGRhdGVz
QmxvY2tlZChib29sIHZhbHVlKQotewotICAgIGlmIChoYXNTVkdSYXJlRGF0YSgpKQotICAgICAg
ICBzdmdSYXJlRGF0YSgpLT5zZXRJbnN0YW5jZVVwZGF0ZXNCbG9ja2VkKHZhbHVlKTsKLX0KLQot
QWZmaW5lVHJhbnNmb3JtIFNWR1N0eWxlZEVsZW1lbnQ6OmxvY2FsQ29vcmRpbmF0ZVNwYWNlVHJh
bnNmb3JtKFNWR0xvY2F0YWJsZTo6Q1RNU2NvcGUpIGNvbnN0Ci17Ci0gICAgLy8gVG8gYmUgb3Zl
cnJpZGVuIGJ5IFNWR0dyYXBoaWNzRWxlbWVudCAob3IgYXMgc3BlY2lhbCBjYXNlIFNWR1RleHRF
bGVtZW50IGFuZCBTVkdQYXR0ZXJuRWxlbWVudCkKLSAgICByZXR1cm4gQWZmaW5lVHJhbnNmb3Jt
KCk7Ci19Ci0KLXZvaWQgU1ZHU3R5bGVkRWxlbWVudDo6dXBkYXRlUmVsYXRpdmVMZW5ndGhzSW5m
b3JtYXRpb24oYm9vbCBoYXNSZWxhdGl2ZUxlbmd0aHMsIFNWR1N0eWxlZEVsZW1lbnQqIGVsZW1l
bnQpCi17Ci0gICAgLy8gSWYgd2UncmUgbm90IHlldCBpbiBhIGRvY3VtZW50LCB0aGlzIGZ1bmN0
aW9uIHdpbGwgYmUgY2FsbGVkIGFnYWluIGZyb20gaW5zZXJ0ZWRJbnRvKCkuIERvIG5vdGhpbmcg
bm93LgotICAgIGlmICghaW5Eb2N1bWVudCgpKQotICAgICAgICByZXR1cm47Ci0KLSAgICAvLyBB
biBlbGVtZW50IHdhbnRzIHRvIG5vdGlmeSB1cyB0aGF0IGl0cyBvd24gcmVsYXRpdmUgbGVuZ3Ro
cyBzdGF0ZSBjaGFuZ2VkLgotICAgIC8vIFJlZ2lzdGVyIGl0IGluIHRoZSByZWxhdGl2ZSBsZW5n
dGggbWFwLCBhbmQgcmVnaXN0ZXIgdXMgaW4gdGhlIHBhcmVudCByZWxhdGl2ZSBsZW5ndGggbWFw
LgotICAgIC8vIFJlZ2lzdGVyIHRoZSBwYXJlbnQgaW4gdGhlIGdyYW5kcGFyZW50cyBtYXAsIGV0
Yy4gUmVwZWF0IHByb2NlZHVyZSB1bnRpbCB0aGUgcm9vdCBvZiB0aGUgU1ZHIHRyZWUuCi0KLSAg
ICBpZiAoaGFzUmVsYXRpdmVMZW5ndGhzKQotICAgICAgICBtX2VsZW1lbnRzV2l0aFJlbGF0aXZl
TGVuZ3Rocy5hZGQoZWxlbWVudCk7Ci0gICAgZWxzZSB7Ci0gICAgICAgIGlmICghbV9lbGVtZW50
c1dpdGhSZWxhdGl2ZUxlbmd0aHMuY29udGFpbnMoZWxlbWVudCkpIHsKLSAgICAgICAgICAgIC8v
IFdlIHdlcmUgbmV2ZXIgcmVnaXN0ZXJlZC4gRG8gbm90aGluZy4KLSAgICAgICAgICAgIHJldHVy
bjsKLSAgICAgICAgfQotCi0gICAgICAgIG1fZWxlbWVudHNXaXRoUmVsYXRpdmVMZW5ndGhzLnJl
bW92ZShlbGVtZW50KTsKLSAgICB9Ci0KLSAgICAvLyBGaW5kIGZpcnN0IHN0eWxlZCBwYXJlbnQg
bm9kZSwgYW5kIG5vdGlmeSBpdCB0aGF0IHdlJ3ZlIGNoYW5nZWQgb3VyIHJlbGF0aXZlIGxlbmd0
aCBzdGF0ZS4KLSAgICBDb250YWluZXJOb2RlKiBub2RlID0gcGFyZW50Tm9kZSgpOwotICAgIHdo
aWxlIChub2RlKSB7Ci0gICAgICAgIGlmICghbm9kZS0+aXNTVkdFbGVtZW50KCkpCi0gICAgICAg
ICAgICBicmVhazsKLQotICAgICAgICBTVkdFbGVtZW50KiBlbGVtZW50ID0gdG9TVkdFbGVtZW50
KG5vZGUpOwotICAgICAgICBpZiAoIWVsZW1lbnQtPmlzU1ZHU3R5bGVkRWxlbWVudCgpKSB7Ci0g
ICAgICAgICAgICBub2RlID0gbm9kZS0+cGFyZW50Tm9kZSgpOwotICAgICAgICAgICAgY29udGlu
dWU7Ci0gICAgICAgIH0KLQotICAgICAgICAvLyBSZWdpc3RlciB1cyBpbiB0aGUgcGFyZW50IGVs
ZW1lbnQgbWFwLgotICAgICAgICB0b1NWR1N0eWxlZEVsZW1lbnQoZWxlbWVudCktPnVwZGF0ZVJl
bGF0aXZlTGVuZ3Roc0luZm9ybWF0aW9uKGhhc1JlbGF0aXZlTGVuZ3RocywgdGhpcyk7Ci0gICAg
ICAgIGJyZWFrOwotICAgIH0KLX0KLQotYm9vbCBTVkdTdHlsZWRFbGVtZW50Ojppc01vdXNlRm9j
dXNhYmxlKCkgY29uc3QKLXsKLSAgICBpZiAoIWlzRm9jdXNhYmxlKCkpCi0gICAgICAgIHJldHVy
biBmYWxzZTsKLSAgICBFbGVtZW50KiBldmVudFRhcmdldCA9IGNvbnN0X2Nhc3Q8U1ZHU3R5bGVk
RWxlbWVudCAqPih0aGlzKTsKLSAgICByZXR1cm4gZXZlbnRUYXJnZXQtPmhhc0V2ZW50TGlzdGVu
ZXJzKGV2ZW50TmFtZXMoKS5mb2N1c2luRXZlbnQpIHx8IGV2ZW50VGFyZ2V0LT5oYXNFdmVudExp
c3RlbmVycyhldmVudE5hbWVzKCkuZm9jdXNvdXRFdmVudCk7Ci19Ci0KLWJvb2wgU1ZHU3R5bGVk
RWxlbWVudDo6aXNLZXlib2FyZEZvY3VzYWJsZShLZXlib2FyZEV2ZW50KikgY29uc3QKLXsKLSAg
ICByZXR1cm4gaXNNb3VzZUZvY3VzYWJsZSgpOwotfQotCi19Ci0KLSNlbmRpZiAvLyBFTkFCTEUo
U1ZHKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N0eWxlZEVsZW1lbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTdHlsZWRFbGVtZW50LmgKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDM4Yzk0N2M3ZGY1YTJlOWU4MGU5NzM2ZmQ4NWY2ZjcxNDBjNmFkNjkuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR1N0eWxlZEVsZW1lbnQuaAorKysgL2Rldi9udWxsCkBAIC0xLDEwNSArMCwwIEBA
Ci0vKgotICogQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3LCAyMDA4IE5pa29s
YXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgotICogQ29weXJpZ2h0IChDKSAyMDA0
LCAyMDA1LCAyMDA3IFJvYiBCdWlzIDxidWlzQGtkZS5vcmc+Ci0gKgotICogVGhpcyBsaWJyYXJ5
IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9k
aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMK
LSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247
IGVpdGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24p
IGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBp
biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdB
UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5U
QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05V
Ci0gKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAq
Ci0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRo
ZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAq
IEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICovCi0KLSNpZm5kZWYgU1ZHU3R5bGVkRWxl
bWVudF9oCi0jZGVmaW5lIFNWR1N0eWxlZEVsZW1lbnRfaAotCi0jaWYgRU5BQkxFKFNWRykKLSNp
bmNsdWRlICJDU1NQcm9wZXJ0eU5hbWVzLmgiCi0jaW5jbHVkZSAiU1ZHQW5pbWF0ZWRTdHJpbmcu
aCIKLSNpbmNsdWRlICJTVkdFbGVtZW50LmgiCi0jaW5jbHVkZSAiU1ZHTG9jYXRhYmxlLmgiCi0j
aW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgotCi1u
YW1lc3BhY2UgV2ViQ29yZSB7Ci0KLXZvaWQgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShIYXNo
TWFwPEF0b21pY1N0cmluZ0ltcGwqLCBDU1NQcm9wZXJ0eUlEPiogcHJvcGVydHlOYW1lVG9JZE1h
cCwgY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUpOwotCi1jbGFzcyBDU1NWYWx1ZTsKLWNs
YXNzIENTU1N0eWxlRGVjbGFyYXRpb247Ci0KLS8vIEZJWE1FKHdlYmtpdC5vcmcvYi8xMDczODYp
OiBTVkdTdHlsZWRFbGVtZW50IHNob3VsZCBiZSBtZXJnZWQgaW50byBTVkdFbGVtZW50IGFzIHNw
ZWNpZmllZCBieSBTVkcyLgotY2xhc3MgU1ZHU3R5bGVkRWxlbWVudCA6IHB1YmxpYyBTVkdFbGVt
ZW50IHsKLXB1YmxpYzoKLSAgICB2aXJ0dWFsIFN0cmluZyB0aXRsZSgpIGNvbnN0IE9WRVJSSURF
OwotCi0gICAgYm9vbCBoYXNSZWxhdGl2ZUxlbmd0aHMoKSBjb25zdCB7IHJldHVybiAhbV9lbGVt
ZW50c1dpdGhSZWxhdGl2ZUxlbmd0aHMuaXNFbXB0eSgpOyB9Ci0KLSAgICB2aXJ0dWFsIGJvb2wg
c3VwcG9ydHNNYXJrZXJzKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KLQotICAgIFBhc3NSZWZQ
dHI8Q1NTVmFsdWU+IGdldFByZXNlbnRhdGlvbkF0dHJpYnV0ZShjb25zdCBTdHJpbmcmIG5hbWUp
OwotCi0gICAgYm9vbCBpc0tub3duQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKLQot
ICAgIGJvb2wgaW5zdGFuY2VVcGRhdGVzQmxvY2tlZCgpIGNvbnN0OwotICAgIHZvaWQgc2V0SW5z
dGFuY2VVcGRhdGVzQmxvY2tlZChib29sKTsKLQotICAgIHZpcnR1YWwgdm9pZCBhbmltYXRlZFBy
b3BlcnR5VHlwZUZvckF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgVmVjdG9yPEFuaW1h
dGVkUHJvcGVydHlUeXBlPiYpOwotICAgIHN0YXRpYyBib29sIGlzQW5pbWF0YWJsZUNTU1Byb3Bl
cnR5KGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKLQotICAgIHZpcnR1YWwgQWZmaW5lVHJhbnNmb3Jt
IGxvY2FsQ29vcmRpbmF0ZVNwYWNlVHJhbnNmb3JtKFNWR0xvY2F0YWJsZTo6Q1RNU2NvcGUpIGNv
bnN0OwotCi0gICAgdmlydHVhbCBib29sIG5lZWRzUGVuZGluZ1Jlc291cmNlSGFuZGxpbmcoKSBj
b25zdCB7IHJldHVybiB0cnVlOyB9Ci0KLXByb3RlY3RlZDogCi0gICAgU1ZHU3R5bGVkRWxlbWVu
dChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKLSAgICB2aXJ0dWFsIGJvb2wgcmVu
ZGVyZXJJc05lZWRlZChjb25zdCBSZW5kZXJTdHlsZSYpOwotCi0gICAgdmlydHVhbCB2b2lkIHBh
cnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKSBP
VkVSUklERTsKLSAgICB2aXJ0dWFsIGJvb2wgaXNQcmVzZW50YXRpb25BdHRyaWJ1dGUoY29uc3Qg
UXVhbGlmaWVkTmFtZSYpIGNvbnN0IE9WRVJSSURFOwotICAgIHZpcnR1YWwgdm9pZCBjb2xsZWN0
U3R5bGVGb3JQcmVzZW50YXRpb25BdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0
IEF0b21pY1N0cmluZyYsIE11dGFibGVTdHlsZVByb3BlcnR5U2V0KikgT1ZFUlJJREU7Ci0gICAg
dmlydHVhbCB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYpIE9W
RVJSSURFOwotCi0gICAgdmlydHVhbCBJbnNlcnRpb25Ob3RpZmljYXRpb25SZXF1ZXN0IGluc2Vy
dGVkSW50byhDb250YWluZXJOb2RlKikgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCB2b2lkIHJlbW92
ZWRGcm9tKENvbnRhaW5lck5vZGUqKSBPVkVSUklERTsKLSAgICB2aXJ0dWFsIHZvaWQgY2hpbGRy
ZW5DaGFuZ2VkKGJvb2wgY2hhbmdlZEJ5UGFyc2VyID0gZmFsc2UsIE5vZGUqIGJlZm9yZUNoYW5n
ZSA9IDAsIE5vZGUqIGFmdGVyQ2hhbmdlID0gMCwgaW50IGNoaWxkQ291bnREZWx0YSA9IDApOwot
Ci0gICAgc3RhdGljIENTU1Byb3BlcnR5SUQgY3NzUHJvcGVydHlJZEZvclNWR0F0dHJpYnV0ZU5h
bWUoY29uc3QgUXVhbGlmaWVkTmFtZSYpOwotICAgIHZvaWQgdXBkYXRlUmVsYXRpdmVMZW5ndGhz
SW5mb3JtYXRpb24oKSB7IHVwZGF0ZVJlbGF0aXZlTGVuZ3Roc0luZm9ybWF0aW9uKHNlbGZIYXNS
ZWxhdGl2ZUxlbmd0aHMoKSwgdGhpcyk7IH0KLSAgICB2b2lkIHVwZGF0ZVJlbGF0aXZlTGVuZ3Ro
c0luZm9ybWF0aW9uKGJvb2wgaGFzUmVsYXRpdmVMZW5ndGhzLCBTVkdTdHlsZWRFbGVtZW50Kik7
Ci0KLSAgICB2aXJ0dWFsIGJvb2wgc2VsZkhhc1JlbGF0aXZlTGVuZ3RocygpIGNvbnN0IHsgcmV0
dXJuIGZhbHNlOyB9Ci0KLXByaXZhdGU6Ci0gICAgdmlydHVhbCBib29sIGlzU1ZHU3R5bGVkRWxl
bWVudCgpIGNvbnN0IE9WRVJSSURFIEZJTkFMIHsgcmV0dXJuIHRydWU7IH0KLQotICAgIHZpcnR1
YWwgYm9vbCBpc0tleWJvYXJkRm9jdXNhYmxlKEtleWJvYXJkRXZlbnQqKSBjb25zdCBPVkVSUklE
RTsKLSAgICB2aXJ0dWFsIGJvb2wgaXNNb3VzZUZvY3VzYWJsZSgpIGNvbnN0IE9WRVJSSURFOwot
Ci0gICAgdm9pZCBidWlsZFBlbmRpbmdSZXNvdXJjZXNJZk5lZWRlZCgpOwotCi0gICAgSGFzaFNl
dDxTVkdTdHlsZWRFbGVtZW50Kj4gbV9lbGVtZW50c1dpdGhSZWxhdGl2ZUxlbmd0aHM7Ci0KLSAg
ICBCRUdJTl9ERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRJRVMoU1ZHU3R5bGVkRWxlbWVudCkKLSAg
ICAgICAgREVDTEFSRV9BTklNQVRFRF9TVFJJTkcoQ2xhc3NOYW1lLCBjbGFzc05hbWUpCi0gICAg
RU5EX0RFQ0xBUkVfQU5JTUFURURfUFJPUEVSVElFUwotfTsKLQotaW5saW5lIFNWR1N0eWxlZEVs
ZW1lbnQqIHRvU1ZHU3R5bGVkRWxlbWVudChOb2RlKiBub2RlKQotewotICAgIEFTU0VSVF9XSVRI
X1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFub2RlIHx8IChub2RlLT5pc1N0eWxlZEVsZW1lbnQoKSAm
JiBub2RlLT5pc1NWR0VsZW1lbnQoKSkpOwotICAgIHJldHVybiBzdGF0aWNfY2FzdDxTVkdTdHls
ZWRFbGVtZW50Kj4obm9kZSk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlm
IC8vIEVOQUJMRShTVkcpCi0jZW5kaWYgLy8gU1ZHU3R5bGVkRWxlbWVudApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1N0eWxlZEVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1N0eWxlZEVsZW1lbnQuaWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBm
N2Y5NDkwMGVmYmEyZmJkYjgxYjUyYmE5ZTMwNWEwMGI0NjkxN2IzLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTdHls
ZWRFbGVtZW50LmlkbAorKysgL2Rldi9udWxsCkBAIC0xLDM3ICswLDAgQEAKLS8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFpbC5jb20+Ci0gKiBD
b3B5cmlnaHQgKEMpIDIwMDcgUm9iIEJ1aXMgPHJ3bGJ1aXNAZ21haWwuY29tPgotICogQ29weXJp
Z2h0IChDKSAyMDA2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
Ci0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAq
Ci0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFO
RCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAotICovCi0KLVsKLSAgICBOb0ludGVyZmFjZU9iamVj
dCwKLSAgICBDb25kaXRpb25hbD1TVkcKLV0gaW50ZXJmYWNlIFNWR1N0eWxlZEVsZW1lbnQgOiBT
VkdFbGVtZW50IHsKLSAgICByZWFkb25seSBhdHRyaWJ1dGUgU1ZHQW5pbWF0ZWRTdHJpbmcgY2xh
c3NOYW1lOwotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBDU1NTdHlsZURlY2xhcmF0aW9uIHN0eWxl
OwotCi0gICAgQ1NTVmFsdWUgZ2V0UHJlc2VudGF0aW9uQXR0cmlidXRlKFtEZWZhdWx0PVVuZGVm
aW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIG5hbWUpOwotfTsKLQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1N5bWJvbEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1N5bWJvbEVsZW1lbnQuY3BwCmluZGV4IGRkYzc2NzUzYzQ4NzdhOGQ1NDQ4MmI2YzE3OWEzOWRm
ODYzYmU5M2EuLjJkNmQwNWQ5YjA0Yzk4ZjdmOTM5ZWJkNzg4NmNjOWU5NDhhZDhjMzUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTeW1ib2xFbGVtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHU3ltYm9sRWxlbWVudC5jcHAKQEAgLTM5LDExICszOSwxMSBAQCBC
RUdJTl9SRUdJU1RFUl9BTklNQVRFRF9QUk9QRVJUSUVTKFNWR1N5bWJvbEVsZW1lbnQpCiAgICAg
UkVHSVNURVJfTE9DQUxfQU5JTUFURURfUFJPUEVSVFkoZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJl
ZCkKICAgICBSRUdJU1RFUl9MT0NBTF9BTklNQVRFRF9QUk9QRVJUWSh2aWV3Qm94KQogICAgIFJF
R0lTVEVSX0xPQ0FMX0FOSU1BVEVEX1BST1BFUlRZKHByZXNlcnZlQXNwZWN0UmF0aW8pIAotICAg
IFJFR0lTVEVSX1BBUkVOVF9BTklNQVRFRF9QUk9QRVJUSUVTKFNWR1N0eWxlZEVsZW1lbnQpCisg
ICAgUkVHSVNURVJfUEFSRU5UX0FOSU1BVEVEX1BST1BFUlRJRVMoU1ZHRWxlbWVudCkKIEVORF9S
RUdJU1RFUl9BTklNQVRFRF9QUk9QRVJUSUVTCiAKIGlubGluZSBTVkdTeW1ib2xFbGVtZW50OjpT
VkdTeW1ib2xFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBk
b2N1bWVudCkKLSAgICA6IFNWR1N0eWxlZEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCisgICAg
OiBTVkdFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogewogICAgIEFTU0VSVChoYXNUYWdOYW1l
KFNWR05hbWVzOjpzeW1ib2xUYWcpKTsKICAgICByZWdpc3RlckFuaW1hdGVkUHJvcGVydGllc0Zv
clNWR1N5bWJvbEVsZW1lbnQoKTsKQEAgLTY4LDcgKzY4LDcgQEAgYm9vbCBTVkdTeW1ib2xFbGVt
ZW50Ojppc1N1cHBvcnRlZEF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSkK
IHZvaWQgU1ZHU3ltYm9sRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFt
ZSYgbmFtZSwgY29uc3QgQXRvbWljU3RyaW5nJiB2YWx1ZSkKIHsKICAgICBpZiAoIWlzU3VwcG9y
dGVkQXR0cmlidXRlKG5hbWUpKSB7Ci0gICAgICAgIFNWR1N0eWxlZEVsZW1lbnQ6OnBhcnNlQXR0
cmlidXRlKG5hbWUsIHZhbHVlKTsKKyAgICAgICAgU1ZHRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUo
bmFtZSwgdmFsdWUpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC04NSw3ICs4NSw3IEBA
IHZvaWQgU1ZHU3ltYm9sRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFt
ZSYgbmFtZSwgY29uc3QgQXRvbWljU3RyCiB2b2lkIFNWR1N5bWJvbEVsZW1lbnQ6OnN2Z0F0dHJp
YnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUpCiB7CiAgICAgaWYgKCFp
c1N1cHBvcnRlZEF0dHJpYnV0ZShhdHRyTmFtZSkpIHsKLSAgICAgICAgU1ZHU3R5bGVkRWxlbWVu
dDo6c3ZnQXR0cmlidXRlQ2hhbmdlZChhdHRyTmFtZSk7CisgICAgICAgIFNWR0VsZW1lbnQ6OnN2
Z0F0dHJpYnV0ZUNoYW5nZWQoYXR0ck5hbWUpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU3ltYm9sRWxlbWVudC5oIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1N5bWJvbEVsZW1lbnQuaAppbmRleCA2YmJkZmQ3OWEzZGU4Y2QwYmMy
MjFjMmI1ZTZkM2U0NjVkNTIwNjI3Li5kM2UyNGY1NmY5MzZjYWNkMWYxMDNkMmViOWI3ZTEzNTIy
MGY0YzhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU3ltYm9sRWxlbWVudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTeW1ib2xFbGVtZW50LmgKQEAgLTI1LDEzICsy
NSwxMyBAQAogI2luY2x1ZGUgIlNWR0FuaW1hdGVkQm9vbGVhbi5oIgogI2luY2x1ZGUgIlNWR0Fu
aW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpby5oIgogI2luY2x1ZGUgIlNWR0FuaW1hdGVkUmVjdC5o
IgorI2luY2x1ZGUgIlNWR0VsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdFeHRlcm5hbFJlc291cmNl
c1JlcXVpcmVkLmgiCiAjaW5jbHVkZSAiU1ZHRml0VG9WaWV3Qm94LmgiCi0jaW5jbHVkZSAiU1ZH
U3R5bGVkRWxlbWVudC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFNWR1N5bWJv
bEVsZW1lbnQgRklOQUwgOiBwdWJsaWMgU1ZHU3R5bGVkRWxlbWVudCwKK2NsYXNzIFNWR1N5bWJv
bEVsZW1lbnQgRklOQUwgOiBwdWJsaWMgU1ZHRWxlbWVudCwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBwdWJsaWMgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHRml0VG9WaWV3Qm94IHsKIHB1YmxpYzoK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTeW1ib2xFbGVtZW50LmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdTeW1ib2xFbGVtZW50LmlkbAppbmRleCAxNzkxNGVmOTZhYjI5
Y2I5YjQ3NTM1NmU2OTc0YTM3ZDQ2ZWVhNDI0Li43NWI5OTEzNjkyNTc0NWQyYThlMThkMGI2OWRi
NDEzYzAzYmZhNmJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU3ltYm9sRWxl
bWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N5bWJvbEVsZW1lbnQuaWRsCkBA
IC0yNSw3ICsyNSw3IEBACiAKIFsKICAgICBDb25kaXRpb25hbD1TVkcKLV0gaW50ZXJmYWNlIFNW
R1N5bWJvbEVsZW1lbnQgOiBTVkdTdHlsZWRFbGVtZW50IHsKK10gaW50ZXJmYWNlIFNWR1N5bWJv
bEVsZW1lbnQgOiBTVkdFbGVtZW50IHsKIH07CiAKIFNWR1N5bWJvbEVsZW1lbnQgaW1wbGVtZW50
cyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR1RSZWZFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUUmVmRWxl
bWVudC5jcHAKaW5kZXggNmZkYmY5YTUzZDZlMzU1NjMzYmEyN2ViNzhjYTM3MjVhODc2MjczNC4u
N2ZlMDdhNzZhNDEzMTI0OWFhYjQ3MmJiZmFiOTY1YjM1M2M5YWZhOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1RSZWZFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHVFJlZkVsZW1lbnQuY3BwCkBAIC0yNzcsNyArMjc3LDcgQEAgdm9pZCBTVkdUUmVmRWxl
bWVudDo6YnVpbGRQZW5kaW5nUmVzb3VyY2UoKQogCiBOb2RlOjpJbnNlcnRpb25Ob3RpZmljYXRp
b25SZXF1ZXN0IFNWR1RSZWZFbGVtZW50OjppbnNlcnRlZEludG8oQ29udGFpbmVyTm9kZSogcm9v
dFBhcmVudCkKIHsKLSAgICBTVkdTdHlsZWRFbGVtZW50OjppbnNlcnRlZEludG8ocm9vdFBhcmVu
dCk7CisgICAgU1ZHRWxlbWVudDo6aW5zZXJ0ZWRJbnRvKHJvb3RQYXJlbnQpOwogICAgIGlmIChy
b290UGFyZW50LT5pbkRvY3VtZW50KCkpCiAgICAgICAgIGJ1aWxkUGVuZGluZ1Jlc291cmNlKCk7
CiAgICAgcmV0dXJuIEluc2VydGlvbkRvbmU7CkBAIC0yODUsNyArMjg1LDcgQEAgTm9kZTo6SW5z
ZXJ0aW9uTm90aWZpY2F0aW9uUmVxdWVzdCBTVkdUUmVmRWxlbWVudDo6aW5zZXJ0ZWRJbnRvKENv
bnRhaW5lck5vZGUqIHIKIAogdm9pZCBTVkdUUmVmRWxlbWVudDo6cmVtb3ZlZEZyb20oQ29udGFp
bmVyTm9kZSogcm9vdFBhcmVudCkKIHsKLSAgICBTVkdTdHlsZWRFbGVtZW50OjpyZW1vdmVkRnJv
bShyb290UGFyZW50KTsKKyAgICBTVkdFbGVtZW50OjpyZW1vdmVkRnJvbShyb290UGFyZW50KTsK
ICAgICBpZiAocm9vdFBhcmVudC0+aW5Eb2N1bWVudCgpKQogICAgICAgICBtX3RhcmdldExpc3Rl
bmVyLT5kZXRhY2goKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUaXRs
ZUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RpdGxlRWxlbWVudC5jcHAKaW5k
ZXggNTE3MDZmMGUzMzhiZWEzMGVkODAzMWMzNjIzMzkwMGU4NjcxMjdhMi4uYWU5MzlhOTEwNDA0
ZDg4OTQ4NWIyMmYwODc5NjAxMmI0OGY3YWM2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1RpdGxlRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RpdGxl
RWxlbWVudC5jcHAKQEAgLTI4LDcgKzI4LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogaW5s
aW5lIFNWR1RpdGxlRWxlbWVudDo6U1ZHVGl0bGVFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUm
IHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKLSAgICA6IFNWR1N0eWxlZEVsZW1lbnQodGFn
TmFtZSwgZG9jdW1lbnQpCisgICAgOiBTVkdFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogewog
ICAgIEFTU0VSVChoYXNUYWdOYW1lKFNWR05hbWVzOjp0aXRsZVRhZykpOwogfQpAQCAtNDAsNyAr
NDAsNyBAQCBQYXNzUmVmUHRyPFNWR1RpdGxlRWxlbWVudD4gU1ZHVGl0bGVFbGVtZW50OjpjcmVh
dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZQogCiBOb2RlOjpJbnNlcnRpb25Ob3RpZmlj
YXRpb25SZXF1ZXN0IFNWR1RpdGxlRWxlbWVudDo6aW5zZXJ0ZWRJbnRvKENvbnRhaW5lck5vZGUq
IHJvb3RQYXJlbnQpCiB7Ci0gICAgU1ZHU3R5bGVkRWxlbWVudDo6aW5zZXJ0ZWRJbnRvKHJvb3RQ
YXJlbnQpOworICAgIFNWR0VsZW1lbnQ6Omluc2VydGVkSW50byhyb290UGFyZW50KTsKICAgICBp
ZiAoIXJvb3RQYXJlbnQtPmluRG9jdW1lbnQoKSkKICAgICAgICAgcmV0dXJuIEluc2VydGlvbkRv
bmU7CiAgICAgaWYgKGZpcnN0Q2hpbGQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdUaXRsZUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUaXRsZUVsZW1lbnQu
aAppbmRleCAwZTNiOTlkMjEwMzYwY2ZkMzI2NzRmNzUyYzU4ZjZlNWMxM2NmNTk4Li5lNGRlNDhj
MDcyYWYzNGFjMzViNWEwN2VlNTlkNjI0NzMzOWViODFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHVGl0bGVFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Rp
dGxlRWxlbWVudC5oCkBAIC0yMiwxMSArMjIsMTEgQEAKICNkZWZpbmUgU1ZHVGl0bGVFbGVtZW50
X2gKICNpZiBFTkFCTEUoU1ZHKQogCi0jaW5jbHVkZSAiU1ZHU3R5bGVkRWxlbWVudC5oIgorI2lu
Y2x1ZGUgIlNWR0VsZW1lbnQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBTVkdU
aXRsZUVsZW1lbnQgRklOQUwgOiBwdWJsaWMgU1ZHU3R5bGVkRWxlbWVudCB7CitjbGFzcyBTVkdU
aXRsZUVsZW1lbnQgRklOQUwgOiBwdWJsaWMgU1ZHRWxlbWVudCB7CiBwdWJsaWM6CiAgICAgc3Rh
dGljIFBhc3NSZWZQdHI8U1ZHVGl0bGVFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFt
ZSYsIERvY3VtZW50Kik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUaXRs
ZUVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RpdGxlRWxlbWVudC5pZGwKaW5k
ZXggOTg5NWM3YWM2NzRjYTc0MGE5NjRjYTI1YjEyMzcxNGNiNjU4ZDVlZS4uOGI1MDZjOWVmMmEz
NTBjZWU2MmZjZGNmMGIxOWM5ODcwODU4OGMwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1RpdGxlRWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RpdGxl
RWxlbWVudC5pZGwKQEAgLTI1LDYgKzI1LDYgQEAKIAogWwogICAgIENvbmRpdGlvbmFsPVNWRwot
XSBpbnRlcmZhY2UgU1ZHVGl0bGVFbGVtZW50IDogU1ZHU3R5bGVkRWxlbWVudCB7CitdIGludGVy
ZmFjZSBTVkdUaXRsZUVsZW1lbnQgOiBTVkdFbGVtZW50IHsKIH07CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdUcmFuc2Zvcm1hYmxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdUcmFuc2Zvcm1hYmxlLmNwcAppbmRleCAwOTRjZWQ5YTNhNGM3YjdhMDRhNzgxNWRmZmY3
MjQ0MTZiYTkwZjY2Li45OWM1NTM3NWNlNWZmN2FhMjRkYjRjMTkzNDI0MDRjZGNkMTI5YTlkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVHJhbnNmb3JtYWJsZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1RyYW5zZm9ybWFibGUuY3BwCkBAIC0yNiw5ICsyNiw5IEBA
CiAKICNpbmNsdWRlICJBZmZpbmVUcmFuc2Zvcm0uaCIKICNpbmNsdWRlICJGbG9hdENvbnZlcnNp
b24uaCIKKyNpbmNsdWRlICJTVkdFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHTmFtZXMuaCIKICNp
bmNsdWRlICJTVkdQYXJzZXJVdGlsaXRpZXMuaCIKLSNpbmNsdWRlICJTVkdTdHlsZWRFbGVtZW50
LmgiCiAjaW5jbHVkZSAiU1ZHVHJhbnNmb3JtTGlzdC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVudC5jcHAKaW5kZXggZDBjYmU3MDcwM2JkNmM5OThj
ZDRkZDlkNDFiNmE3ZGVhOTNiZDg4MS4uZDZiNjc0YjE4OGFiYmNlYTQ5YzBjMTI5MzA4NWM4Nzc1
NmI4MWM3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1VzZUVsZW1lbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdVc2VFbGVtZW50LmNwcApAQCAtOTQwLDEwICs5
NDAsMTAgQEAgYm9vbCBTVkdVc2VFbGVtZW50OjpzZWxmSGFzUmVsYXRpdmVMZW5ndGhzKCkgY29u
c3QKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgU1ZHRWxlbWVudCogZWxlbWVudCA9IG1f
dGFyZ2V0RWxlbWVudEluc3RhbmNlLT5jb3JyZXNwb25kaW5nRWxlbWVudCgpOwotICAgIGlmICgh
ZWxlbWVudCB8fCAhZWxlbWVudC0+aXNTVkdTdHlsZWRFbGVtZW50KCkpCisgICAgaWYgKCFlbGVt
ZW50KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICByZXR1cm4gdG9TVkdTdHlsZWRFbGVt
ZW50KGVsZW1lbnQpLT5oYXNSZWxhdGl2ZUxlbmd0aHMoKTsKKyAgICByZXR1cm4gZWxlbWVudC0+
aGFzUmVsYXRpdmVMZW5ndGhzKCk7CiB9CiAKIHZvaWQgU1ZHVXNlRWxlbWVudDo6bm90aWZ5Rmlu
aXNoZWQoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR1ZpZXdFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3RWxl
bWVudC5jcHAKaW5kZXggN2QwMTBhNGYwMWFhZDFmMzFiZTcwMGM2ZTdiNzRiNjMwOTBkMzY0Zi4u
ZTgyM2RlYTM5ODZiNmY1N2ExYjA0MzIwOWYwMzRkYjhmMTk3NGU2MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHVmlld0VsZW1lbnQuY3BwCkBAIC00MCwxMSArNDAsMTEgQEAgQkVHSU5fUkVHSVNURVJf
QU5JTUFURURfUFJPUEVSVElFUyhTVkdWaWV3RWxlbWVudCkKICAgICBSRUdJU1RFUl9MT0NBTF9B
TklNQVRFRF9QUk9QRVJUWShleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQogICAgIFJFR0lTVEVS
X0xPQ0FMX0FOSU1BVEVEX1BST1BFUlRZKHZpZXdCb3gpCiAgICAgUkVHSVNURVJfTE9DQUxfQU5J
TUFURURfUFJPUEVSVFkocHJlc2VydmVBc3BlY3RSYXRpbykKLSAgICBSRUdJU1RFUl9QQVJFTlRf
QU5JTUFURURfUFJPUEVSVElFUyhTVkdTdHlsZWRFbGVtZW50KQorICAgIFJFR0lTVEVSX1BBUkVO
VF9BTklNQVRFRF9QUk9QRVJUSUVTKFNWR0VsZW1lbnQpCiBFTkRfUkVHSVNURVJfQU5JTUFURURf
UFJPUEVSVElFUwogCiBpbmxpbmUgU1ZHVmlld0VsZW1lbnQ6OlNWR1ZpZXdFbGVtZW50KGNvbnN0
IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKLSAgICA6IFNWR1N0
eWxlZEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCisgICAgOiBTVkdFbGVtZW50KHRhZ05hbWUs
IGRvY3VtZW50KQogICAgICwgbV96b29tQW5kUGFuKFNWR1pvb21BbmRQYW5NYWduaWZ5KQogICAg
ICwgbV92aWV3VGFyZ2V0KFNWR05hbWVzOjp2aWV3VGFyZ2V0QXR0cikKIHsKQEAgLTcyLDcgKzcy
LDcgQEAgYm9vbCBTVkdWaWV3RWxlbWVudDo6aXNTdXBwb3J0ZWRBdHRyaWJ1dGUoY29uc3QgUXVh
bGlmaWVkTmFtZSYgYXR0ck5hbWUpCiB2b2lkIFNWR1ZpZXdFbGVtZW50OjpwYXJzZUF0dHJpYnV0
ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9taWNTdHJpbmcmIHZhbHVlKQog
ewogICAgIGlmICghaXNTdXBwb3J0ZWRBdHRyaWJ1dGUobmFtZSkpIHsKLSAgICAgICAgU1ZHU3R5
bGVkRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUobmFtZSwgdmFsdWUpOworICAgICAgICBTVkdFbGVt
ZW50OjpwYXJzZUF0dHJpYnV0ZShuYW1lLCB2YWx1ZSk7CiAgICAgICAgIHJldHVybjsKICAgICB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3RWxlbWVudC5oIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdFbGVtZW50LmgKaW5kZXggNGQyZTYwMzBkZDgxODRmMzM4
ZmU2YjM1MWFjOTFjOGJlYWJlN2M0Mi4uOTgzZjk4NDMxZTNkOGRhZTE1NTgzZGE1OGMwMjRjYWZj
MGIwZDdmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdFbGVtZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdFbGVtZW50LmgKQEAgLTI1LDIzICsyNSwy
MyBAQAogI2luY2x1ZGUgIlNWR0FuaW1hdGVkQm9vbGVhbi5oIgogI2luY2x1ZGUgIlNWR0FuaW1h
dGVkUHJlc2VydmVBc3BlY3RSYXRpby5oIgogI2luY2x1ZGUgIlNWR0FuaW1hdGVkUmVjdC5oIgor
I2luY2x1ZGUgIlNWR0VsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdFeHRlcm5hbFJlc291cmNlc1Jl
cXVpcmVkLmgiCiAjaW5jbHVkZSAiU1ZHRml0VG9WaWV3Qm94LmgiCiAjaW5jbHVkZSAiU1ZHU3Ry
aW5nTGlzdC5oIgotI2luY2x1ZGUgIlNWR1N0eWxlZEVsZW1lbnQuaCIKICNpbmNsdWRlICJTVkda
b29tQW5kUGFuLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgU1ZHVmlld0VsZW1l
bnQgRklOQUwgOiBwdWJsaWMgU1ZHU3R5bGVkRWxlbWVudCwKK2NsYXNzIFNWR1ZpZXdFbGVtZW50
IEZJTkFMIDogcHVibGljIFNWR0VsZW1lbnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBwdWJsaWMgU1ZHRml0VG9WaWV3Qm94LAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBwdWJsaWMgU1ZHWm9vbUFuZFBhbiB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NS
ZWZQdHI8U1ZHVmlld0VsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1l
bnQqKTsKIAotICAgIHVzaW5nIFNWR1N0eWxlZEVsZW1lbnQ6OnJlZjsKLSAgICB1c2luZyBTVkdT
dHlsZWRFbGVtZW50OjpkZXJlZjsKKyAgICB1c2luZyBTVkdFbGVtZW50OjpyZWY7CisgICAgdXNp
bmcgU1ZHRWxlbWVudDo6ZGVyZWY7CiAKICAgICBTVkdTdHJpbmdMaXN0JiB2aWV3VGFyZ2V0KCkg
eyByZXR1cm4gbV92aWV3VGFyZ2V0OyB9CiAgICAgU1ZHWm9vbUFuZFBhblR5cGUgem9vbUFuZFBh
bigpIGNvbnN0IHsgcmV0dXJuIG1fem9vbUFuZFBhbjsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvc3ZnL2FuaW1hdGlvbi9TVkdTTUlMRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3Zn
L2FuaW1hdGlvbi9TVkdTTUlMRWxlbWVudC5oCmluZGV4IDE2YmE4MzhiNDY1YmMzM2U0MDliOTMx
ZWI1YmU1YmY2NGY5OTE5MDcuLmY3MTUwZjNmNDk0NjE1NGNiNzIxMGMyODJlZGZmZWI5NjIyOWI3
ZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9hbmltYXRpb24vU1ZHU01JTEVsZW1l
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvYW5pbWF0aW9uL1NWR1NNSUxFbGVtZW50LmgK
QEAgLTExNiw2ICsxMTYsOCBAQCBwcm90ZWN0ZWQ6CiAKICAgICB2b2lkIHNldEluYWN0aXZlKCkg
eyBtX2FjdGl2ZVN0YXRlID0gSW5hY3RpdmU7IH0KIAorICAgIHZpcnR1YWwgYm9vbCByZW5kZXJl
cklzTmVlZGVkKGNvbnN0IFJlbmRlclN0eWxlJikgT1ZFUlJJREUgeyByZXR1cm4gZmFsc2U7IH0K
KwogICAgIC8vIFN1Yi1jbGFzc2VzIG1heSBuZWVkIHRvIHRha2UgYWN0aW9uIHdoZW4gdGhlIHRh
cmdldCBpcyBjaGFuZ2VkLgogICAgIHZpcnR1YWwgdm9pZCBzZXRUYXJnZXRFbGVtZW50KFNWR0Vs
ZW1lbnQqKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0QXR0cmlidXRlTmFtZShjb25zdCBRdWFsaWZp
ZWROYW1lJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvZmlsdGVy
cy9TVkdGRUltYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9maWx0ZXJzL1NW
R0ZFSW1hZ2UuY3BwCmluZGV4IDA5MjczNmRlMGFhNTUxM2EwNjgxMmE5YjcxZGI3ZmFiNTZhOWRl
OTIuLjU3Yjg1NDUwMWY0ZTZlNzQ0MDBlZmYzMjFmNWQxNzU0NWMwYWQ3ZjEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9maWx0ZXJzL1NWR0ZFSW1hZ2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9maWx0ZXJzL1NWR0ZFSW1hZ2UuY3BwCkBAIC0z
MCwxMCArMzAsMTAgQEAKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKICNpbmNsdWRlICJS
ZW5kZXJPYmplY3QuaCIKICNpbmNsdWRlICJSZW5kZXJUcmVlQXNUZXh0LmgiCisjaW5jbHVkZSAi
U1ZHRWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR0ZpbHRlci5oIgogI2luY2x1ZGUgIlNWR1ByZXNl
cnZlQXNwZWN0UmF0aW8uaCIKICNpbmNsdWRlICJTVkdSZW5kZXJpbmdDb250ZXh0LmgiCi0jaW5j
bHVkZSAiU1ZHU3R5bGVkRWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR1VSSVJlZmVyZW5jZS5oIgog
I2luY2x1ZGUgIlRleHRTdHJlYW0uaCIKIApAQCAtMTI2LDcgKzEyNiw3IEBAIHZvaWQgRkVJbWFn
ZTo6cGxhdGZvcm1BcHBseVNvZnR3YXJlKCkKICAgICAgICAgcmVzdWx0SW1hZ2UtPmNvbnRleHQo
KS0+Y29uY2F0Q1RNKGFic29sdXRlVHJhbnNmb3JtKTsKIAogICAgICAgICBTVkdFbGVtZW50KiBj
b250ZXh0Tm9kZSA9IHRvU1ZHRWxlbWVudChyZW5kZXJlci0+bm9kZSgpKTsKLSAgICAgICAgaWYg
KGNvbnRleHROb2RlLT5pc1NWR1N0eWxlZEVsZW1lbnQoKSAmJiB0b1NWR1N0eWxlZEVsZW1lbnQo
Y29udGV4dE5vZGUpLT5oYXNSZWxhdGl2ZUxlbmd0aHMoKSkgeworICAgICAgICBpZiAoY29udGV4
dE5vZGUtPmhhc1JlbGF0aXZlTGVuZ3RocygpKSB7CiAgICAgICAgICAgICBTVkdMZW5ndGhDb250
ZXh0IGxlbmd0aENvbnRleHQoY29udGV4dE5vZGUpOwogICAgICAgICAgICAgZmxvYXQgd2lkdGgg
PSAwOwogICAgICAgICAgICAgZmxvYXQgaGVpZ2h0ID0gMDsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3ODYxNDBiODYxNTZh
OTFmMGRiYjkyZDI3YjliNWM0NzE0MDdmZmRiLi45YjVlOTkwYjAwMzFlOWJkNGRiYTk2MDUwM2Rl
MDA4ZTgzOWMzMGM1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTMtMDgtMjIgIENocmlzdG9w
aGUgRHVtZXogIDxjaC5kdW1lekBzaXNhLnNhbXN1bmcuY29tPgorCisgICAgICAgIFtTVkcyXSBN
ZXJnZSBTVkdTdHlsZWRFbGVtZW50IGFuZCBTVkdFbGVtZW50CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDczODYKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgbGF5b3V0IHRlc3QgdG8gdmFsaWRhdGUg
dGhlIFNWRzIgaW5oZXJpdGFuY2UgbW9kZWwuCisKKyAgICAgICAgKiBzdmcvZG9tL3N2ZzItaW5o
ZXJpdGFuY2UtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvZG9tL3N2ZzItaW5o
ZXJpdGFuY2UuaHRtbDogQWRkZWQuCisKIDIwMTMtMDgtMjIgIFJ5b3N1a2UgTml3YSAgPHJuaXdh
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWN0dWFsbHksIHRoaXMgdGVzdCBpcyBmYWlsaW5nIG9u
IERlYnVnIGJ1aWxkcyBhcyB3ZWxsLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2RvbS9z
dmcyLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N2Zy9kb20vc3ZnMi1p
bmhlcml0YW5jZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTJiNjEwMGZjZmIyNzlkMjRkMjE4
N2E1ZjY5M2Y5NDI5ZmNhNmE2YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N2Zy9k
b20vc3ZnMi1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMzAgQEAKK1ZhbGlk
YXRlcyB0aGUgU1ZHMiBpbmhlcml0YW5jZSBtb2RlbC4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCisKK1BBU1MgU1ZHQUVsZW1lbnQgaW5oZXJpdHMgU1ZHR3JhcGhpY3NFbGVtZW50CitQ
QVNTIFNWR0FsdEdseXBoRGVmRWxlbWVudCBpbmhlcml0cyBTVkdFbGVtZW50CitQQVNTIFNWR0Fs
dEdseXBoRWxlbWVudCBpbmhlcml0cyBTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50CitQQVNTIFNW
R0FsdEdseXBoSXRlbUVsZW1lbnQgaW5oZXJpdHMgU1ZHRWxlbWVudAorUEFTUyBTVkdBbmdsZSBp
bmhlcml0cyBPYmplY3QKK1BBU1MgU1ZHQW5pbWF0ZUNvbG9yRWxlbWVudCBpbmhlcml0cyBTVkdB
bmltYXRpb25FbGVtZW50CitQQVNTIFNWR0FuaW1hdGVFbGVtZW50IGluaGVyaXRzIFNWR0FuaW1h
dGlvbkVsZW1lbnQKK1BBU1MgU1ZHQW5pbWF0ZU1vdGlvbkVsZW1lbnQgaW5oZXJpdHMgU1ZHQW5p
bWF0aW9uRWxlbWVudAorUEFTUyBTVkdBbmltYXRlVHJhbnNmb3JtRWxlbWVudCBpbmhlcml0cyBT
VkdBbmltYXRpb25FbGVtZW50CitQQVNTIFNWR0FuaW1hdGVkQW5nbGUgaW5oZXJpdHMgT2JqZWN0
CitQQVNTIFNWR0FuaW1hdGVkQm9vbGVhbiBpbmhlcml0cyBPYmplY3QKK1BBU1MgU1ZHQW5pbWF0
ZWRFbnVtZXJhdGlvbiBpbmhlcml0cyBPYmplY3QKK1BBU1MgU1ZHQW5pbWF0ZWRJbnRlZ2VyIGlu
aGVyaXRzIE9iamVjdAorUEFTUyBTVkdBbmltYXRlZExlbmd0aCBpbmhlcml0cyBPYmplY3QKK1BB
U1MgU1ZHQW5pbWF0ZWRMZW5ndGhMaXN0IGluaGVyaXRzIE9iamVjdAorUEFTUyBTVkdBbmltYXRl
ZE51bWJlciBpbmhlcml0cyBPYmplY3QKK1BBU1MgU1ZHQW5pbWF0ZWROdW1iZXJMaXN0IGluaGVy
aXRzIE9iamVjdAorRkFJTCBTVkdBbmltYXRlZFBhdGhEYXRhIGlzIG5vdCBkZWZpbmVkCitQQVNT
IFNWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpbyBpbmhlcml0cyBPYmplY3QKK1BBU1MgU1ZH
QW5pbWF0ZWRSZWN0IGluaGVyaXRzIE9iamVjdAorUEFTUyBTVkdBbmltYXRlZFN0cmluZyBpbmhl
cml0cyBPYmplY3QKK1BBU1MgU1ZHQW5pbWF0ZWRUcmFuc2Zvcm1MaXN0IGluaGVyaXRzIE9iamVj
dAorUEFTUyBTVkdBbmltYXRpb25FbGVtZW50IGluaGVyaXRzIFNWR0VsZW1lbnQKK0ZBSUwgU1ZH
Q1NTUnVsZSBpcyBub3QgZGVmaW5lZAorRkFJTCBTVkdDaXJjbGVFbGVtZW50IHNob3VsZCBpbmhl
cml0IFNWR0dlb21ldHJ5RWxlbWVudCBidXQgZ290IFNWR0dyYXBoaWNzRWxlbWVudCBpbnN0ZWFk
CitGQUlMIFNWR0NsaXBQYXRoRWxlbWVudCBzaG91bGQgaW5oZXJpdCBTVkdEZWZpbml0aW9uRWxl
bWVudCBidXQgZ290IFNWR0dyYXBoaWNzRWxlbWVudCBpbnN0ZWFkCitGQUlMIFNWR0NvbG9yUHJv
ZmlsZUVsZW1lbnQgaXMgbm90IGRlZmluZWQKK0ZBSUwgU1ZHQ29sb3JQcm9maWxlUnVsZSBpcyBu
b3QgZGVmaW5lZAorUEFTUyBTVkdDdXJzb3JFbGVtZW50IGluaGVyaXRzIFNWR0VsZW1lbnQKK1BB
U1MgU1ZHRGVmc0VsZW1lbnQgaW5oZXJpdHMgU1ZHR3JhcGhpY3NFbGVtZW50CitQQVNTIFNWR0Rl
c2NFbGVtZW50IGluaGVyaXRzIFNWR0VsZW1lbnQKK1BBU1MgU1ZHRWxlbWVudCBpbmhlcml0cyBF
bGVtZW50CitGQUlMIFNWR0VsZW1lbnRJbnN0YW5jZSBzaG91bGQgaW5oZXJpdCBFdmVudFRhcmdl
dCBidXQgZ290IEV2ZW50VGFyZ2V0IGluc3RlYWQKK1BBU1MgU1ZHRWxlbWVudEluc3RhbmNlTGlz
dCBpbmhlcml0cyBPYmplY3QKK0ZBSUwgU1ZHRWxsaXBzZUVsZW1lbnQgc2hvdWxkIGluaGVyaXQg
U1ZHR2VvbWV0cnlFbGVtZW50IGJ1dCBnb3QgU1ZHR3JhcGhpY3NFbGVtZW50IGluc3RlYWQKK1BB
U1MgU1ZHRm9udEVsZW1lbnQgaW5oZXJpdHMgU1ZHRWxlbWVudAorUEFTUyBTVkdGb250RmFjZUVs
ZW1lbnQgaW5oZXJpdHMgU1ZHRWxlbWVudAorUEFTUyBTVkdGb250RmFjZUZvcm1hdEVsZW1lbnQg
aW5oZXJpdHMgU1ZHRWxlbWVudAorUEFTUyBTVkdGb250RmFjZU5hbWVFbGVtZW50IGluaGVyaXRz
IFNWR0VsZW1lbnQKK1BBU1MgU1ZHRm9udEZhY2VTcmNFbGVtZW50IGluaGVyaXRzIFNWR0VsZW1l
bnQKK1BBU1MgU1ZHRm9udEZhY2VVcmlFbGVtZW50IGluaGVyaXRzIFNWR0VsZW1lbnQKK1BBU1Mg
U1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQgaW5oZXJpdHMgU1ZHR3JhcGhpY3NFbGVtZW50CitQQVNT
IFNWR0dFbGVtZW50IGluaGVyaXRzIFNWR0dyYXBoaWNzRWxlbWVudAorRkFJTCBTVkdHZW9tZXRy
eUVsZW1lbnQgaXMgbm90IGRlZmluZWQKK1BBU1MgU1ZHR2x5cGhFbGVtZW50IGluaGVyaXRzIFNW
R0VsZW1lbnQKK1BBU1MgU1ZHR2x5cGhSZWZFbGVtZW50IGluaGVyaXRzIFNWR0VsZW1lbnQKK1BB
U1MgU1ZHR3JhZGllbnRFbGVtZW50IGluaGVyaXRzIFNWR0VsZW1lbnQKK1BBU1MgU1ZHR3JhcGhp
Y3NFbGVtZW50IGluaGVyaXRzIFNWR0VsZW1lbnQKK1BBU1MgU1ZHSEtlcm5FbGVtZW50IGluaGVy
aXRzIFNWR0VsZW1lbnQKK1BBU1MgU1ZHSW1hZ2VFbGVtZW50IGluaGVyaXRzIFNWR0dyYXBoaWNz
RWxlbWVudAorUEFTUyBTVkdMZW5ndGggaW5oZXJpdHMgT2JqZWN0CitQQVNTIFNWR0xlbmd0aExp
c3QgaW5oZXJpdHMgT2JqZWN0CitGQUlMIFNWR0xpbmVFbGVtZW50IHNob3VsZCBpbmhlcml0IFNW
R0dlb21ldHJ5RWxlbWVudCBidXQgZ290IFNWR0dyYXBoaWNzRWxlbWVudCBpbnN0ZWFkCitQQVNT
IFNWR0xpbmVhckdyYWRpZW50RWxlbWVudCBpbmhlcml0cyBTVkdHcmFkaWVudEVsZW1lbnQKK1BB
U1MgU1ZHTVBhdGhFbGVtZW50IGluaGVyaXRzIFNWR0VsZW1lbnQKK1BBU1MgU1ZHTWFya2VyRWxl
bWVudCBpbmhlcml0cyBTVkdFbGVtZW50CitGQUlMIFNWR01hcmtlckluc3RhbmNlIGlzIG5vdCBk
ZWZpbmVkCitGQUlMIFNWR01hcmtlckxpc3QgaXMgbm90IGRlZmluZWQKK0ZBSUwgU1ZHTWFza0Vs
ZW1lbnQgc2hvdWxkIGluaGVyaXQgU1ZHRGVmaW5pdGlvbkVsZW1lbnQgYnV0IGdvdCBTVkdFbGVt
ZW50IGluc3RlYWQKK1BBU1MgU1ZHTWF0cml4IGluaGVyaXRzIE9iamVjdAorRkFJTCBTVkdNZXNo
R3JhZGllbnRFbGVtZW50IGlzIG5vdCBkZWZpbmVkCitGQUlMIFNWR01lc2hQYXRjaEVsZW1lbnQg
aXMgbm90IGRlZmluZWQKK0ZBSUwgU1ZHTWVzaFJvd0VsZW1lbnQgaXMgbm90IGRlZmluZWQKK1BB
U1MgU1ZHTWV0YWRhdGFFbGVtZW50IGluaGVyaXRzIFNWR0VsZW1lbnQKK1BBU1MgU1ZHTWlzc2lu
Z0dseXBoRWxlbWVudCBpbmhlcml0cyBTVkdFbGVtZW50CitQQVNTIFNWR051bWJlciBpbmhlcml0
cyBPYmplY3QKK1BBU1MgU1ZHTnVtYmVyTGlzdCBpbmhlcml0cyBPYmplY3QKK0ZBSUwgU1ZHUGF0
aEVsZW1lbnQgc2hvdWxkIGluaGVyaXQgU1ZHR2VvbWV0cnlFbGVtZW50IGJ1dCBnb3QgU1ZHR3Jh
cGhpY3NFbGVtZW50IGluc3RlYWQKK1BBU1MgU1ZHUGF0aFNlZyBpbmhlcml0cyBPYmplY3QKK1BB
U1MgU1ZHUGF0aFNlZ0FyY0FicyBpbmhlcml0cyBTVkdQYXRoU2VnCitQQVNTIFNWR1BhdGhTZWdB
cmNSZWwgaW5oZXJpdHMgU1ZHUGF0aFNlZworUEFTUyBTVkdQYXRoU2VnQ2xvc2VQYXRoIGluaGVy
aXRzIFNWR1BhdGhTZWcKK1BBU1MgU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY0FicyBpbmhlcml0cyBT
VkdQYXRoU2VnCitQQVNTIFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNSZWwgaW5oZXJpdHMgU1ZHUGF0
aFNlZworUEFTUyBTVkdQYXRoU2VnQ3VydmV0b0N1YmljU21vb3RoQWJzIGluaGVyaXRzIFNWR1Bh
dGhTZWcKK1BBU1MgU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1Ntb290aFJlbCBpbmhlcml0cyBTVkdQ
YXRoU2VnCitQQVNTIFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljQWJzIGluaGVyaXRzIFNWR1Bh
dGhTZWcKK1BBU1MgU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNSZWwgaW5oZXJpdHMgU1ZHUGF0
aFNlZworUEFTUyBTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Ntb290aEFicyBpbmhlcml0cyBT
VkdQYXRoU2VnCitQQVNTIFNWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoUmVsIGluaGVy
aXRzIFNWR1BhdGhTZWcKK1BBU1MgU1ZHUGF0aFNlZ0xpbmV0b0FicyBpbmhlcml0cyBTVkdQYXRo
U2VnCitQQVNTIFNWR1BhdGhTZWdMaW5ldG9Ib3Jpem9udGFsQWJzIGluaGVyaXRzIFNWR1BhdGhT
ZWcKK1BBU1MgU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWxSZWwgaW5oZXJpdHMgU1ZHUGF0aFNl
ZworUEFTUyBTVkdQYXRoU2VnTGluZXRvUmVsIGluaGVyaXRzIFNWR1BhdGhTZWcKK1BBU1MgU1ZH
UGF0aFNlZ0xpbmV0b1ZlcnRpY2FsQWJzIGluaGVyaXRzIFNWR1BhdGhTZWcKK1BBU1MgU1ZHUGF0
aFNlZ0xpbmV0b1ZlcnRpY2FsUmVsIGluaGVyaXRzIFNWR1BhdGhTZWcKK1BBU1MgU1ZHUGF0aFNl
Z0xpc3QgaW5oZXJpdHMgT2JqZWN0CitQQVNTIFNWR1BhdGhTZWdNb3ZldG9BYnMgaW5oZXJpdHMg
U1ZHUGF0aFNlZworUEFTUyBTVkdQYXRoU2VnTW92ZXRvUmVsIGluaGVyaXRzIFNWR1BhdGhTZWcK
K1BBU1MgU1ZHUGF0dGVybkVsZW1lbnQgaW5oZXJpdHMgU1ZHRWxlbWVudAorUEFTUyBTVkdQb2lu
dCBpbmhlcml0cyBPYmplY3QKK1BBU1MgU1ZHUG9pbnRMaXN0IGluaGVyaXRzIE9iamVjdAorRkFJ
TCBTVkdQb2x5Z29uRWxlbWVudCBzaG91bGQgaW5oZXJpdCBTVkdHZW9tZXRyeUVsZW1lbnQgYnV0
IGdvdCBTVkdHcmFwaGljc0VsZW1lbnQgaW5zdGVhZAorRkFJTCBTVkdQb2x5bGluZUVsZW1lbnQg
c2hvdWxkIGluaGVyaXQgU1ZHR2VvbWV0cnlFbGVtZW50IGJ1dCBnb3QgU1ZHR3JhcGhpY3NFbGVt
ZW50IGluc3RlYWQKK1BBU1MgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbyBpbmhlcml0cyBPYmplY3QK
K1BBU1MgU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50IGluaGVyaXRzIFNWR0dyYWRpZW50RWxlbWVu
dAorUEFTUyBTVkdSZWN0IGluaGVyaXRzIE9iamVjdAorRkFJTCBTVkdSZWN0RWxlbWVudCBzaG91
bGQgaW5oZXJpdCBTVkdHZW9tZXRyeUVsZW1lbnQgYnV0IGdvdCBTVkdHcmFwaGljc0VsZW1lbnQg
aW5zdGVhZAorUEFTUyBTVkdTVkdFbGVtZW50IGluaGVyaXRzIFNWR0dyYXBoaWNzRWxlbWVudAor
UEFTUyBTVkdTY3JpcHRFbGVtZW50IGluaGVyaXRzIFNWR0VsZW1lbnQKK1BBU1MgU1ZHU2V0RWxl
bWVudCBpbmhlcml0cyBTVkdBbmltYXRpb25FbGVtZW50CitQQVNTIFNWR1N0b3BFbGVtZW50IGlu
aGVyaXRzIFNWR0VsZW1lbnQKK1BBU1MgU1ZHU3RyaW5nTGlzdCBpbmhlcml0cyBPYmplY3QKK1BB
U1MgU1ZHU3R5bGVFbGVtZW50IGluaGVyaXRzIFNWR0VsZW1lbnQKK1BBU1MgU1ZHU3dpdGNoRWxl
bWVudCBpbmhlcml0cyBTVkdHcmFwaGljc0VsZW1lbnQKK1BBU1MgU1ZHU3ltYm9sRWxlbWVudCBp
bmhlcml0cyBTVkdFbGVtZW50CitQQVNTIFNWR1RSZWZFbGVtZW50IGluaGVyaXRzIFNWR1RleHRQ
b3NpdGlvbmluZ0VsZW1lbnQKK1BBU1MgU1ZHVFNwYW5FbGVtZW50IGluaGVyaXRzIFNWR1RleHRQ
b3NpdGlvbmluZ0VsZW1lbnQKK1BBU1MgU1ZHVGV4dENvbnRlbnRFbGVtZW50IGluaGVyaXRzIFNW
R0dyYXBoaWNzRWxlbWVudAorUEFTUyBTVkdUZXh0RWxlbWVudCBpbmhlcml0cyBTVkdUZXh0UG9z
aXRpb25pbmdFbGVtZW50CitQQVNTIFNWR1RleHRQYXRoRWxlbWVudCBpbmhlcml0cyBTVkdUZXh0
Q29udGVudEVsZW1lbnQKK1BBU1MgU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudCBpbmhlcml0cyBT
VkdUZXh0Q29udGVudEVsZW1lbnQKK1BBU1MgU1ZHVGl0bGVFbGVtZW50IGluaGVyaXRzIFNWR0Vs
ZW1lbnQKK1BBU1MgU1ZHVHJhbnNmb3JtIGluaGVyaXRzIE9iamVjdAorUEFTUyBTVkdUcmFuc2Zv
cm1MaXN0IGluaGVyaXRzIE9iamVjdAorUEFTUyBTVkdVc2VFbGVtZW50IGluaGVyaXRzIFNWR0dy
YXBoaWNzRWxlbWVudAorUEFTUyBTVkdWS2VybkVsZW1lbnQgaW5oZXJpdHMgU1ZHRWxlbWVudAor
UEFTUyBTVkdWaWV3RWxlbWVudCBpbmhlcml0cyBTVkdFbGVtZW50CitQQVNTIFNWR1ZpZXdTcGVj
IGluaGVyaXRzIE9iamVjdAorUEFTUyBTVkdab29tRXZlbnQgaW5oZXJpdHMgVUlFdmVudAorRkFJ
TCBUaW1lRXZlbnQgaXMgbm90IGRlZmluZWQKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvZG9tL3N2
ZzItaW5oZXJpdGFuY2UuaHRtbCBiL0xheW91dFRlc3RzL3N2Zy9kb20vc3ZnMi1pbmhlcml0YW5j
ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmNiNmQ1YjQ5YzM0ZmFhNTE0MDFhOTI2Y2ZjYTFhNTViN2JlODVj
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvZG9tL3N2ZzItaW5oZXJpdGFu
Y2UuaHRtbApAQCAtMCwwICsxLDE1OCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi8yMDEzL1dELVNW
RzItMjAxMzA2MTgvIiAvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2Rlc2Ny
aXB0aW9uKCJWYWxpZGF0ZXMgdGhlIFNWRzIgaW5oZXJpdGFuY2UgbW9kZWwuIik7CisKK2Z1bmN0
aW9uIGludGVyZmFjZU5hbWUocHJvdG90eXBlKQoreworICAgIHZhciBwYXJ0cyA9IHByb3RvdHlw
ZS50b1N0cmluZygpLnNwbGl0KCIgIik7CisgICAgdmFyIGxhc3RQYXJ0ID0gcGFydHNbcGFydHMu
bGVuZ3RoIC0gMV07CisgICAgcmV0dXJuIGxhc3RQYXJ0LnN1YnN0cmluZygwLCBsYXN0UGFydC5s
ZW5ndGggLSAxMCk7Cit9CisKK2Z1bmN0aW9uIGNoZWNrUGFyZW50KHR5cGUsIGV4cGVjdGVkUGFy
ZW50KQoreworICAgIC8vIFVzaW5nIHNob3VsZEJlKCkgd291bGQgbGVhZCB0byBub3QgdmVyeSBy
ZWFkYWJsZSBvdXRwdXQgaGVyZS4KKyAgICBpZiAoIXdpbmRvd1t0eXBlXSkgeworICAgICAgICB0
ZXN0RmFpbGVkKHR5cGUgKyAiIGlzIG5vdCBkZWZpbmVkIik7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisgICAgdmFyIHBhcmVudFByb3RvdHlwZSA9IHdpbmRvd1t0eXBlXS5wcm90b3R5cGUuX19w
cm90b19fOworICAgIHZhciBleHBlY3RlZFByb3RvdHlwZSA9IHdpbmRvd1tleHBlY3RlZFBhcmVu
dF0gPyB3aW5kb3dbZXhwZWN0ZWRQYXJlbnRdLnByb3RvdHlwZSA6IG51bGw7CisgICAgCisgICAg
aWYgKGV4cGVjdGVkUHJvdG90eXBlICYmIHBhcmVudFByb3RvdHlwZSA9PT0gZXhwZWN0ZWRQcm90
b3R5cGUpCisgICAgICAgIHRlc3RQYXNzZWQodHlwZSArICIgaW5oZXJpdHMgIiArIGV4cGVjdGVk
UGFyZW50KTsKKyAgICBlbHNlCisgICAgICAgIHRlc3RGYWlsZWQodHlwZSArICIgc2hvdWxkIGlu
aGVyaXQgIiArIGV4cGVjdGVkUGFyZW50ICsgIiBidXQgZ290ICIgKyBpbnRlcmZhY2VOYW1lKHBh
cmVudFByb3RvdHlwZSkgKyAiIGluc3RlYWQiKTsKK30KKworY2hlY2tQYXJlbnQoIlNWR0FFbGVt
ZW50IiwgIlNWR0dyYXBoaWNzRWxlbWVudCIpOworY2hlY2tQYXJlbnQoIlNWR0FsdEdseXBoRGVm
RWxlbWVudCIsICJTVkdFbGVtZW50Iik7CitjaGVja1BhcmVudCgiU1ZHQWx0R2x5cGhFbGVtZW50
IiwgIlNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQiKTsKK2NoZWNrUGFyZW50KCJTVkdBbHRHbHlw
aEl0ZW1FbGVtZW50IiwgIlNWR0VsZW1lbnQiKTsKK2NoZWNrUGFyZW50KCJTVkdBbmdsZSIsICJP
YmplY3QiKTsKK2NoZWNrUGFyZW50KCJTVkdBbmltYXRlQ29sb3JFbGVtZW50IiwgIlNWR0FuaW1h
dGlvbkVsZW1lbnQiKTsKK2NoZWNrUGFyZW50KCJTVkdBbmltYXRlRWxlbWVudCIsICJTVkdBbmlt
YXRpb25FbGVtZW50Iik7CitjaGVja1BhcmVudCgiU1ZHQW5pbWF0ZU1vdGlvbkVsZW1lbnQiLCAi
U1ZHQW5pbWF0aW9uRWxlbWVudCIpOworY2hlY2tQYXJlbnQoIlNWR0FuaW1hdGVUcmFuc2Zvcm1F
bGVtZW50IiwgIlNWR0FuaW1hdGlvbkVsZW1lbnQiKTsKK2NoZWNrUGFyZW50KCJTVkdBbmltYXRl
ZEFuZ2xlIiwgIk9iamVjdCIpOworY2hlY2tQYXJlbnQoIlNWR0FuaW1hdGVkQm9vbGVhbiIsICJP
YmplY3QiKTsKK2NoZWNrUGFyZW50KCJTVkdBbmltYXRlZEVudW1lcmF0aW9uIiwgIk9iamVjdCIp
OworY2hlY2tQYXJlbnQoIlNWR0FuaW1hdGVkSW50ZWdlciIsICJPYmplY3QiKTsKK2NoZWNrUGFy
ZW50KCJTVkdBbmltYXRlZExlbmd0aCIsICJPYmplY3QiKTsKK2NoZWNrUGFyZW50KCJTVkdBbmlt
YXRlZExlbmd0aExpc3QiLCAiT2JqZWN0Iik7CitjaGVja1BhcmVudCgiU1ZHQW5pbWF0ZWROdW1i
ZXIiLCAiT2JqZWN0Iik7CitjaGVja1BhcmVudCgiU1ZHQW5pbWF0ZWROdW1iZXJMaXN0IiwgIk9i
amVjdCIpOworY2hlY2tQYXJlbnQoIlNWR0FuaW1hdGVkUGF0aERhdGEiLCAiT2JqZWN0Iik7Citj
aGVja1BhcmVudCgiU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlvIiwgIk9iamVjdCIpOwor
Y2hlY2tQYXJlbnQoIlNWR0FuaW1hdGVkUmVjdCIsICJPYmplY3QiKTsKK2NoZWNrUGFyZW50KCJT
VkdBbmltYXRlZFN0cmluZyIsICJPYmplY3QiKTsKK2NoZWNrUGFyZW50KCJTVkdBbmltYXRlZFRy
YW5zZm9ybUxpc3QiLCAiT2JqZWN0Iik7CitjaGVja1BhcmVudCgiU1ZHQW5pbWF0aW9uRWxlbWVu
dCIsICJTVkdFbGVtZW50Iik7CitjaGVja1BhcmVudCgiU1ZHQ1NTUnVsZSIsICJDU1NSdWxlIik7
CitjaGVja1BhcmVudCgiU1ZHQ2lyY2xlRWxlbWVudCIsICJTVkdHZW9tZXRyeUVsZW1lbnQiKTsK
K2NoZWNrUGFyZW50KCJTVkdDbGlwUGF0aEVsZW1lbnQiLCAiU1ZHRGVmaW5pdGlvbkVsZW1lbnQi
KTsKK2NoZWNrUGFyZW50KCJTVkdDb2xvclByb2ZpbGVFbGVtZW50IiwgIlNWR0VsZW1lbnQiKTsK
K2NoZWNrUGFyZW50KCJTVkdDb2xvclByb2ZpbGVSdWxlIiwgIlNWR0NTU1J1bGUiKTsKK2NoZWNr
UGFyZW50KCJTVkdDdXJzb3JFbGVtZW50IiwgIlNWR0VsZW1lbnQiKTsKK2NoZWNrUGFyZW50KCJT
VkdEZWZzRWxlbWVudCIsICJTVkdHcmFwaGljc0VsZW1lbnQiKTsKK2NoZWNrUGFyZW50KCJTVkdE
ZXNjRWxlbWVudCIsICJTVkdFbGVtZW50Iik7CitjaGVja1BhcmVudCgiU1ZHRWxlbWVudCIsICJF
bGVtZW50Iik7CitjaGVja1BhcmVudCgiU1ZHRWxlbWVudEluc3RhbmNlIiwgIkV2ZW50VGFyZ2V0
Iik7CitjaGVja1BhcmVudCgiU1ZHRWxlbWVudEluc3RhbmNlTGlzdCIsICJPYmplY3QiKTsKK2No
ZWNrUGFyZW50KCJTVkdFbGxpcHNlRWxlbWVudCIsICJTVkdHZW9tZXRyeUVsZW1lbnQiKTsKK2No
ZWNrUGFyZW50KCJTVkdGb250RWxlbWVudCIsICJTVkdFbGVtZW50Iik7CitjaGVja1BhcmVudCgi
U1ZHRm9udEZhY2VFbGVtZW50IiwgIlNWR0VsZW1lbnQiKTsKK2NoZWNrUGFyZW50KCJTVkdGb250
RmFjZUZvcm1hdEVsZW1lbnQiLCAiU1ZHRWxlbWVudCIpOworY2hlY2tQYXJlbnQoIlNWR0ZvbnRG
YWNlTmFtZUVsZW1lbnQiLCAiU1ZHRWxlbWVudCIpOworY2hlY2tQYXJlbnQoIlNWR0ZvbnRGYWNl
U3JjRWxlbWVudCIsICJTVkdFbGVtZW50Iik7CitjaGVja1BhcmVudCgiU1ZHRm9udEZhY2VVcmlF
bGVtZW50IiwgIlNWR0VsZW1lbnQiKTsKK2NoZWNrUGFyZW50KCJTVkdGb3JlaWduT2JqZWN0RWxl
bWVudCIsICJTVkdHcmFwaGljc0VsZW1lbnQiKTsKK2NoZWNrUGFyZW50KCJTVkdHRWxlbWVudCIs
ICJTVkdHcmFwaGljc0VsZW1lbnQiKTsKK2NoZWNrUGFyZW50KCJTVkdHZW9tZXRyeUVsZW1lbnQi
LCAiU1ZHR3JhcGhpY3NFbGVtZW50Iik7CitjaGVja1BhcmVudCgiU1ZHR2x5cGhFbGVtZW50Iiwg
IlNWR0VsZW1lbnQiKTsKK2NoZWNrUGFyZW50KCJTVkdHbHlwaFJlZkVsZW1lbnQiLCAiU1ZHRWxl
bWVudCIpOworY2hlY2tQYXJlbnQoIlNWR0dyYWRpZW50RWxlbWVudCIsICJTVkdFbGVtZW50Iik7
CitjaGVja1BhcmVudCgiU1ZHR3JhcGhpY3NFbGVtZW50IiwgIlNWR0VsZW1lbnQiKTsKK2NoZWNr
UGFyZW50KCJTVkdIS2VybkVsZW1lbnQiLCAiU1ZHRWxlbWVudCIpOworY2hlY2tQYXJlbnQoIlNW
R0ltYWdlRWxlbWVudCIsICJTVkdHcmFwaGljc0VsZW1lbnQiKTsKK2NoZWNrUGFyZW50KCJTVkdM
ZW5ndGgiLCAiT2JqZWN0Iik7CitjaGVja1BhcmVudCgiU1ZHTGVuZ3RoTGlzdCIsICJPYmplY3Qi
KTsKK2NoZWNrUGFyZW50KCJTVkdMaW5lRWxlbWVudCIsICJTVkdHZW9tZXRyeUVsZW1lbnQiKTsK
K2NoZWNrUGFyZW50KCJTVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQiLCAiU1ZHR3JhZGllbnRFbGVt
ZW50Iik7CitjaGVja1BhcmVudCgiU1ZHTVBhdGhFbGVtZW50IiwgIlNWR0VsZW1lbnQiKTsKK2No
ZWNrUGFyZW50KCJTVkdNYXJrZXJFbGVtZW50IiwgIlNWR0VsZW1lbnQiKTsKK2NoZWNrUGFyZW50
KCJTVkdNYXJrZXJJbnN0YW5jZSIsICJPYmplY3QiKTsKK2NoZWNrUGFyZW50KCJTVkdNYXJrZXJM
aXN0IiwgIk9iamVjdCIpOworY2hlY2tQYXJlbnQoIlNWR01hc2tFbGVtZW50IiwgIlNWR0RlZmlu
aXRpb25FbGVtZW50Iik7CitjaGVja1BhcmVudCgiU1ZHTWF0cml4IiwgIk9iamVjdCIpOworY2hl
Y2tQYXJlbnQoIlNWR01lc2hHcmFkaWVudEVsZW1lbnQiLCAiU1ZHR3JhZGllbnRFbGVtZW50Iik7
CitjaGVja1BhcmVudCgiU1ZHTWVzaFBhdGNoRWxlbWVudCIsICJTVkdFbGVtZW50Iik7CitjaGVj
a1BhcmVudCgiU1ZHTWVzaFJvd0VsZW1lbnQiLCAiU1ZHRWxlbWVudCIpOworY2hlY2tQYXJlbnQo
IlNWR01ldGFkYXRhRWxlbWVudCIsICJTVkdFbGVtZW50Iik7CitjaGVja1BhcmVudCgiU1ZHTWlz
c2luZ0dseXBoRWxlbWVudCIsICJTVkdFbGVtZW50Iik7CitjaGVja1BhcmVudCgiU1ZHTnVtYmVy
IiwgIk9iamVjdCIpOworY2hlY2tQYXJlbnQoIlNWR051bWJlckxpc3QiLCAiT2JqZWN0Iik7Citj
aGVja1BhcmVudCgiU1ZHUGF0aEVsZW1lbnQiLCAiU1ZHR2VvbWV0cnlFbGVtZW50Iik7CitjaGVj
a1BhcmVudCgiU1ZHUGF0aFNlZyIsICJPYmplY3QiKTsKK2NoZWNrUGFyZW50KCJTVkdQYXRoU2Vn
QXJjQWJzIiwgIlNWR1BhdGhTZWciKTsKK2NoZWNrUGFyZW50KCJTVkdQYXRoU2VnQXJjUmVsIiwg
IlNWR1BhdGhTZWciKTsKK2NoZWNrUGFyZW50KCJTVkdQYXRoU2VnQ2xvc2VQYXRoIiwgIlNWR1Bh
dGhTZWciKTsKK2NoZWNrUGFyZW50KCJTVkdQYXRoU2VnQ3VydmV0b0N1YmljQWJzIiwgIlNWR1Bh
dGhTZWciKTsKK2NoZWNrUGFyZW50KCJTVkdQYXRoU2VnQ3VydmV0b0N1YmljUmVsIiwgIlNWR1Bh
dGhTZWciKTsKK2NoZWNrUGFyZW50KCJTVkdQYXRoU2VnQ3VydmV0b0N1YmljU21vb3RoQWJzIiwg
IlNWR1BhdGhTZWciKTsKK2NoZWNrUGFyZW50KCJTVkdQYXRoU2VnQ3VydmV0b0N1YmljU21vb3Ro
UmVsIiwgIlNWR1BhdGhTZWciKTsKK2NoZWNrUGFyZW50KCJTVkdQYXRoU2VnQ3VydmV0b1F1YWRy
YXRpY0FicyIsICJTVkdQYXRoU2VnIik7CitjaGVja1BhcmVudCgiU1ZHUGF0aFNlZ0N1cnZldG9R
dWFkcmF0aWNSZWwiLCAiU1ZHUGF0aFNlZyIpOworY2hlY2tQYXJlbnQoIlNWR1BhdGhTZWdDdXJ2
ZXRvUXVhZHJhdGljU21vb3RoQWJzIiwgIlNWR1BhdGhTZWciKTsKK2NoZWNrUGFyZW50KCJTVkdQ
YXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Ntb290aFJlbCIsICJTVkdQYXRoU2VnIik7CitjaGVja1Bh
cmVudCgiU1ZHUGF0aFNlZ0xpbmV0b0FicyIsICJTVkdQYXRoU2VnIik7CitjaGVja1BhcmVudCgi
U1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWxBYnMiLCAiU1ZHUGF0aFNlZyIpOworY2hlY2tQYXJl
bnQoIlNWR1BhdGhTZWdMaW5ldG9Ib3Jpem9udGFsUmVsIiwgIlNWR1BhdGhTZWciKTsKK2NoZWNr
UGFyZW50KCJTVkdQYXRoU2VnTGluZXRvUmVsIiwgIlNWR1BhdGhTZWciKTsKK2NoZWNrUGFyZW50
KCJTVkdQYXRoU2VnTGluZXRvVmVydGljYWxBYnMiLCAiU1ZHUGF0aFNlZyIpOworY2hlY2tQYXJl
bnQoIlNWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbFJlbCIsICJTVkdQYXRoU2VnIik7CitjaGVja1Bh
cmVudCgiU1ZHUGF0aFNlZ0xpc3QiLCAiT2JqZWN0Iik7CitjaGVja1BhcmVudCgiU1ZHUGF0aFNl
Z01vdmV0b0FicyIsICJTVkdQYXRoU2VnIik7CitjaGVja1BhcmVudCgiU1ZHUGF0aFNlZ01vdmV0
b1JlbCIsICJTVkdQYXRoU2VnIik7CitjaGVja1BhcmVudCgiU1ZHUGF0dGVybkVsZW1lbnQiLCAi
U1ZHRWxlbWVudCIpOworY2hlY2tQYXJlbnQoIlNWR1BvaW50IiwgIk9iamVjdCIpOworY2hlY2tQ
YXJlbnQoIlNWR1BvaW50TGlzdCIsICJPYmplY3QiKTsKK2NoZWNrUGFyZW50KCJTVkdQb2x5Z29u
RWxlbWVudCIsICJTVkdHZW9tZXRyeUVsZW1lbnQiKTsKK2NoZWNrUGFyZW50KCJTVkdQb2x5bGlu
ZUVsZW1lbnQiLCAiU1ZHR2VvbWV0cnlFbGVtZW50Iik7CitjaGVja1BhcmVudCgiU1ZHUHJlc2Vy
dmVBc3BlY3RSYXRpbyIsICJPYmplY3QiKTsKK2NoZWNrUGFyZW50KCJTVkdSYWRpYWxHcmFkaWVu
dEVsZW1lbnQiLCAiU1ZHR3JhZGllbnRFbGVtZW50Iik7CitjaGVja1BhcmVudCgiU1ZHUmVjdCIs
ICJPYmplY3QiKTsKK2NoZWNrUGFyZW50KCJTVkdSZWN0RWxlbWVudCIsICJTVkdHZW9tZXRyeUVs
ZW1lbnQiKTsKK2NoZWNrUGFyZW50KCJTVkdTVkdFbGVtZW50IiwgIlNWR0dyYXBoaWNzRWxlbWVu
dCIpOworY2hlY2tQYXJlbnQoIlNWR1NjcmlwdEVsZW1lbnQiLCAiU1ZHRWxlbWVudCIpOworY2hl
Y2tQYXJlbnQoIlNWR1NldEVsZW1lbnQiLCAiU1ZHQW5pbWF0aW9uRWxlbWVudCIpOworY2hlY2tQ
YXJlbnQoIlNWR1N0b3BFbGVtZW50IiwgIlNWR0VsZW1lbnQiKTsKK2NoZWNrUGFyZW50KCJTVkdT
dHJpbmdMaXN0IiwgIk9iamVjdCIpOworY2hlY2tQYXJlbnQoIlNWR1N0eWxlRWxlbWVudCIsICJT
VkdFbGVtZW50Iik7CitjaGVja1BhcmVudCgiU1ZHU3dpdGNoRWxlbWVudCIsICJTVkdHcmFwaGlj
c0VsZW1lbnQiKTsKK2NoZWNrUGFyZW50KCJTVkdTeW1ib2xFbGVtZW50IiwgIlNWR0VsZW1lbnQi
KTsKK2NoZWNrUGFyZW50KCJTVkdUUmVmRWxlbWVudCIsICJTVkdUZXh0UG9zaXRpb25pbmdFbGVt
ZW50Iik7CitjaGVja1BhcmVudCgiU1ZHVFNwYW5FbGVtZW50IiwgIlNWR1RleHRQb3NpdGlvbmlu
Z0VsZW1lbnQiKTsKK2NoZWNrUGFyZW50KCJTVkdUZXh0Q29udGVudEVsZW1lbnQiLCAiU1ZHR3Jh
cGhpY3NFbGVtZW50Iik7CitjaGVja1BhcmVudCgiU1ZHVGV4dEVsZW1lbnQiLCAiU1ZHVGV4dFBv
c2l0aW9uaW5nRWxlbWVudCIpOworY2hlY2tQYXJlbnQoIlNWR1RleHRQYXRoRWxlbWVudCIsICJT
VkdUZXh0Q29udGVudEVsZW1lbnQiKTsKK2NoZWNrUGFyZW50KCJTVkdUZXh0UG9zaXRpb25pbmdF
bGVtZW50IiwgIlNWR1RleHRDb250ZW50RWxlbWVudCIpOworY2hlY2tQYXJlbnQoIlNWR1RpdGxl
RWxlbWVudCIsICJTVkdFbGVtZW50Iik7CitjaGVja1BhcmVudCgiU1ZHVHJhbnNmb3JtIiwgIk9i
amVjdCIpOworY2hlY2tQYXJlbnQoIlNWR1RyYW5zZm9ybUxpc3QiLCAiT2JqZWN0Iik7CitjaGVj
a1BhcmVudCgiU1ZHVXNlRWxlbWVudCIsICJTVkdHcmFwaGljc0VsZW1lbnQiKTsKK2NoZWNrUGFy
ZW50KCJTVkdWS2VybkVsZW1lbnQiLCAiU1ZHRWxlbWVudCIpOworY2hlY2tQYXJlbnQoIlNWR1Zp
ZXdFbGVtZW50IiwgIlNWR0VsZW1lbnQiKTsKK2NoZWNrUGFyZW50KCJTVkdWaWV3U3BlYyIsICJP
YmplY3QiKTsKK2NoZWNrUGFyZW50KCJTVkdab29tRXZlbnQiLCAiVUlFdmVudCIpOworY2hlY2tQ
YXJlbnQoIlRpbWVFdmVudCIsICJFdmVudCIpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>