<?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>145304</bug_id>
          
          <creation_ts>2015-05-22 02:46:44 -0700</creation_ts>
          <short_desc>Purge PassRefPtr in WebCore/Modules - 2</short_desc>
          <delta_ts>2015-05-27 21:22:59 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>144092</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Gyuyoung Kim">gyuyoung.kim</reporter>
          <assigned_to name="Gyuyoung Kim">gyuyoung.kim</assigned_to>
          <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1096826</commentid>
    <comment_count>0</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-05-22 02:46:44 -0700</bug_when>
    <thetext>SSIA</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1096829</commentid>
    <comment_count>1</comment_count>
      <attachid>253587</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-05-22 02:57:21 -0700</bug_when>
    <thetext>Created attachment 253587
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097148</commentid>
    <comment_count>2</comment_count>
      <attachid>253656</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-05-24 07:01:54 -0700</bug_when>
    <thetext>Created attachment 253656
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097323</commentid>
    <comment_count>3</comment_count>
      <attachid>253656</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-05-26 09:36:53 -0700</bug_when>
    <thetext>Comment on attachment 253656
Patch

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

&gt; Source/WebCore/Modules/webaudio/PeriodicWave.cpp:56
&gt; +        return WTF::move(waveTable);

I’m surprised this WTF::move was needed. Normally the compiler can optimize these without the explicit call to move.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097808</commentid>
    <comment_count>4</comment_count>
      <attachid>253825</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-05-27 19:13:15 -0700</bug_when>
    <thetext>Created attachment 253825
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097809</commentid>
    <comment_count>5</comment_count>
      <attachid>253656</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-05-27 19:14:30 -0700</bug_when>
    <thetext>Comment on attachment 253656
Patch

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

&gt;&gt; Source/WebCore/Modules/webaudio/PeriodicWave.cpp:56
&gt;&gt; +        return WTF::move(waveTable);
&gt; 
&gt; I’m surprised this WTF::move was needed. Normally the compiler can optimize these without the explicit call to move.

Oh, thanks. It is not necessary in this case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097812</commentid>
    <comment_count>6</comment_count>
      <attachid>253826</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-05-27 19:30:16 -0700</bug_when>
    <thetext>Created attachment 253826
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097823</commentid>
    <comment_count>7</comment_count>
      <attachid>253826</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-27 21:22:55 -0700</bug_when>
    <thetext>Comment on attachment 253826
Patch for landing

Clearing flags on attachment: 253826

Committed r184940: &lt;http://trac.webkit.org/changeset/184940&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097824</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-27 21:22:59 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>253587</attachid>
            <date>2015-05-22 02:57:21 -0700</date>
            <delta_ts>2015-05-24 07:01:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-145304-20150522185714.patch</filename>
            <type>text/plain</type>
            <size>66992</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg0NzQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWJlZjYyZGYxY2M4ZTI2
YTU4ODk3ZjkxZTI1YjJkZTNlMzIyYjE3Mi4uNGY4NzExYWY4YzgxYmFjMDdmMjc0MDIyMTk1YzJl
ZDRkNjNjYjdkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExNiBAQAorMjAxNS0wNS0yMiAgR3l1
eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUHVyZ2UgUGFz
c1JlZlB0ciBpbiBXZWJDb3JlL01vZHVsZXMgLSAyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDUzMDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBBcyBhIHN0ZXAgdG8gcmVtb3ZlIFBhc3NSZWZQdHIsIHRo
aXMgcGF0Y2ggcmVwbGFjZXMgUGFzc1JlZlB0ciB3aXRoIFJlZiBvciBSZWZQdHIuCisKKyAgICAg
ICAgTm8gbmV3IHRlc3RzLCBubyBiZWhhdmlvciBjaGFuZ2VzCisKKyAgICAgICAgKiBNb2R1bGVz
L21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuaDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlh
c3RyZWFtL0FsbEF1ZGlvQ2FwYWJpbGl0aWVzLmg6CisgICAgICAgIChXZWJDb3JlOjpBbGxBdWRp
b0NhcGFiaWxpdGllczo6Y3JlYXRlKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL0Fs
bFZpZGVvQ2FwYWJpbGl0aWVzLmg6CisgICAgICAgIChXZWJDb3JlOjpBbGxWaWRlb0NhcGFiaWxp
dGllczo6Y3JlYXRlKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL0NhcGFiaWxpdHlS
YW5nZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYXBhYmlsaXR5UmFuZ2U6OmNyZWF0ZSk6Cisg
ICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9DYXBhYmlsaXR5UmFuZ2UuaDoKKyAgICAgICAg
KiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU291cmNlU3RhdGVzLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhU291cmNlU3RhdGVzOjpjcmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvbWVk
aWFzdHJlYW0vTWVkaWFTdHJlYW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW06
OmNyZWF0ZSk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNr
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtVHJhY2s6OmNyZWF0ZSk6CisgICAg
ICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrU291cmNlc1JlcXVlc3Qu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1UcmFja1NvdXJjZXNSZXF1ZXN0Ojpj
cmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFUcmFja0NvbnN0cmFp
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFUcmFja0NvbnN0cmFpbnQ6OmNyZWF0ZSk6
CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVRyYWNrQ29uc3RyYWludC5oOgor
ICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDQ29uZmlndXJhdGlvbi5oOgorICAgICAg
ICAoV2ViQ29yZTo6UlRDQ29uZmlndXJhdGlvbjo6Y3JlYXRlKToKKyAgICAgICAgKiBNb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ0ljZVNlcnZlci5oOgorICAgICAgICAoV2ViQ29yZTo6UlRDSWNlU2Vy
dmVyOjpjcmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRl
c2NyaXB0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1Nlc3Npb25EZXNjcmlwdGlvbjo6
Y3JlYXRlKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlw
dGlvbi5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0
aW9uUmVxdWVzdEltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UlRDU2Vzc2lvbkRlc2NyaXB0
aW9uUmVxdWVzdEltcGw6OmNyZWF0ZSk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENTdGF0c1JlcG9ydC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSVENTdGF0c1JlcG9ydDo6Y3Jl
YXRlKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1N0YXRzUmVwb3J0Lmg6Cisg
ICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTdGF0c1JlcXVlc3RJbXBsLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJUQ1N0YXRzUmVxdWVzdEltcGw6OmNyZWF0ZSk6CisgICAgICAgICog
TW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTdGF0c1JlcXVlc3RJbXBsLmg6CisgICAgICAgICogTW9k
dWxlcy9tZWRpYXN0cmVhbS9SVENTdGF0c1Jlc3BvbnNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJUQ1N0YXRzUmVzcG9uc2U6OmNyZWF0ZSk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENTdGF0c1Jlc3BvbnNlLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENW
b2lkUmVxdWVzdEltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UlRDVm9pZFJlcXVlc3RJbXBs
OjpjcmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDVm9pZFJlcXVlc3RJ
bXBsLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9Tb3VyY2VJbmZvLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNvdXJjZUluZm86OmNyZWF0ZSk6CisgICAgICAgICogTW9kdWxlcy9t
ZWRpYXN0cmVhbS9Tb3VyY2VJbmZvLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9V
c2VyTWVkaWFSZXF1ZXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlVzZXJNZWRpYVJlcXVlc3Q6
OmNyZWF0ZSk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0
Lmg6CisgICAgICAgICogTW9kdWxlcy9wbHVnaW5zL1F1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50
Lm1tOgorICAgICAgICAoV2ViQ29yZTo6UXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnQ6OmNyZWF0
ZSk6CisgICAgICAgICogTW9kdWxlcy9wbHVnaW5zL1lvdVR1YmVQbHVnaW5SZXBsYWNlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpZb3VUdWJlUGx1Z2luUmVwbGFjZW1lbnQ6OmNyZWF0ZSk6
CisgICAgICAgICogTW9kdWxlcy9xdW90YS9TdG9yYWdlSW5mby5oOgorICAgICAgICAoV2ViQ29y
ZTo6U3RvcmFnZUluZm86OmNyZWF0ZSk6CisgICAgICAgICogTW9kdWxlcy9xdW90YS9TdG9yYWdl
UXVvdGEuaDoKKyAgICAgICAgKFdlYkNvcmU6OlN0b3JhZ2VRdW90YTo6Y3JlYXRlKToKKyAgICAg
ICAgKiBNb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXMuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U3BlZWNoU3ludGhlc2lzOjpjcmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvc3BlZWNoL1Nw
ZWVjaFN5bnRoZXNpcy5oOgorICAgICAgICAqIE1vZHVsZXMvc3BlZWNoL1NwZWVjaFN5bnRoZXNp
c1V0dGVyYW5jZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTcGVlY2hTeW50aGVzaXNVdHRlcmFu
Y2U6OmNyZWF0ZSk6CisgICAgICAgICogTW9kdWxlcy9zcGVlY2gvU3BlZWNoU3ludGhlc2lzVXR0
ZXJhbmNlLmg6CisgICAgICAgICogTW9kdWxlcy9zcGVlY2gvU3BlZWNoU3ludGhlc2lzVm9pY2Uu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U3BlZWNoU3ludGhlc2lzVm9pY2U6OmNyZWF0ZSk6Cisg
ICAgICAgICogTW9kdWxlcy9zcGVlY2gvU3BlZWNoU3ludGhlc2lzVm9pY2UuaDoKKyAgICAgICAg
KiBNb2R1bGVzL3dlYmF1ZGlvL0NoYW5uZWxNZXJnZXJOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkNoYW5uZWxNZXJnZXJOb2RlOjpjcmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVk
aW8vQ2hhbm5lbE1lcmdlck5vZGUuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0NoYW5u
ZWxTcGxpdHRlck5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2hhbm5lbFNwbGl0dGVyTm9k
ZTo6Y3JlYXRlKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0NoYW5uZWxTcGxpdHRlck5v
ZGUuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0RlZmF1bHRBdWRpb0Rlc3RpbmF0aW9u
Tm9kZS5oOgorICAgICAgICAoV2ViQ29yZTo6RGVmYXVsdEF1ZGlvRGVzdGluYXRpb25Ob2RlOjpj
cmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vR2Fpbk5vZGUuaDoKKyAgICAgICAg
KFdlYkNvcmU6OkdhaW5Ob2RlOjpjcmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8v
TWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
RWxlbWVudEF1ZGlvU291cmNlTm9kZTo6Y3JlYXRlKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1
ZGlvL01lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZS5oOgorICAgICAgICAqIE1vZHVsZXMvd2Vi
YXVkaW8vTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2RlOjpjcmVhdGUpOgorICAgICAgICAq
IE1vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZS5oOgorICAg
ICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb1NvdXJjZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbUF1ZGlvU291cmNlOjpjcmVhdGUpOgorICAgICAgICAq
IE1vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb1NvdXJjZS5oOgorICAgICAgICAqIE1v
ZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGU6OmNyZWF0ZSk6CisgICAgICAgICog
TW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZS5oOgorICAgICAgICAq
IE1vZHVsZXMvd2ViYXVkaW8vT3NjaWxsYXRvck5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
T3NjaWxsYXRvck5vZGU6OnNldFR5cGUpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vUGFu
bmVyTm9kZS5oOgorICAgICAgICAoV2ViQ29yZTo6UGFubmVyTm9kZTo6Y3JlYXRlKToKKyAgICAg
ICAgKiBNb2R1bGVzL3dlYmF1ZGlvL1BlcmlvZGljV2F2ZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpQZXJpb2RpY1dhdmU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJpb2RpY1dhdmU6
OmNyZWF0ZVNpbmUpOgorICAgICAgICAoV2ViQ29yZTo6UGVyaW9kaWNXYXZlOjpjcmVhdGVTcXVh
cmUpOgorICAgICAgICAoV2ViQ29yZTo6UGVyaW9kaWNXYXZlOjpjcmVhdGVTYXd0b290aCk6Cisg
ICAgICAgIChXZWJDb3JlOjpQZXJpb2RpY1dhdmU6OmNyZWF0ZVRyaWFuZ2xlKToKKyAgICAgICAg
KiBNb2R1bGVzL3dlYmF1ZGlvL1BlcmlvZGljV2F2ZS5oOgorICAgICAgICAqIE1vZHVsZXMvd2Vi
YXVkaW8vU2NyaXB0UHJvY2Vzc29yTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRQ
cm9jZXNzb3JOb2RlOjpjcmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vU2NyaXB0
UHJvY2Vzc29yTm9kZS5oOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vV2F2ZVNoYXBlck5v
ZGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OldhdmVTaGFwZXJOb2RlOjpjcmVhdGUpOgorCiAyMDE1
LTA1LTIxICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBVcGRh
dGUgQXV0b2ZpbGwgYnV0dG9uIGljb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmgKaW5kZXggNmJjYjkzNTcyZTA0M2NkNDM4
NTZjNjY4Mjc0ODJkOTIzNDc2ZWFlNi4uNGJmMzYxN2ZjNTVhNGQ4ZTcyOWYxM2U5OWU4NmJhMDE1
NjU4OGVhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9T
b3VyY2VCdWZmZXJMaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJj
ZS9Tb3VyY2VCdWZmZXJMaXN0LmgKQEAgLTQ1LDkgKzQ1LDkgQEAgY2xhc3MgU291cmNlQnVmZmVy
OwogCiBjbGFzcyBTb3VyY2VCdWZmZXJMaXN0IGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8U291
cmNlQnVmZmVyTGlzdD4sIHB1YmxpYyBTY3JpcHRXcmFwcGFibGUsIHB1YmxpYyBFdmVudFRhcmdl
dFdpdGhJbmxpbmVEYXRhIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxTb3VyY2VC
dWZmZXJMaXN0PiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKKyAgICBz
dGF0aWMgUmVmPFNvdXJjZUJ1ZmZlckxpc3Q+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiBjb250ZXh0KQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTb3VyY2VCdWZm
ZXJMaXN0KGNvbnRleHQpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU291cmNlQnVm
ZmVyTGlzdChjb250ZXh0KSk7CiAgICAgfQogICAgIHZpcnR1YWwgflNvdXJjZUJ1ZmZlckxpc3Qo
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9BbGxB
dWRpb0NhcGFiaWxpdGllcy5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9B
bGxBdWRpb0NhcGFiaWxpdGllcy5oCmluZGV4IDYwNjIzZTY1ZmVkMmRmZTc5ZWViMzBmZDYxOTQ0
ZjZhYjU0NWU1M2EuLjlmYzgzOTczMjdhZGE4NGNmYWUwYWEwYzgwMGJkNTgzOTA3YzQwNjggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vQWxsQXVkaW9DYXBh
YmlsaXRpZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0FsbEF1
ZGlvQ2FwYWJpbGl0aWVzLmgKQEAgLTM5LDkgKzM5LDkgQEAgY2xhc3MgUmVhbHRpbWVNZWRpYVNv
dXJjZUNhcGFiaWxpdGllczsKIAogY2xhc3MgQWxsQXVkaW9DYXBhYmlsaXRpZXMgOiBwdWJsaWMg
TWVkaWFTdHJlYW1DYXBhYmlsaXRpZXMgewogcHVibGljOgotICAgIHN0YXRpYyBSZWZQdHI8QWxs
QXVkaW9DYXBhYmlsaXRpZXM+IGNyZWF0ZShQYXNzUmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2VD
YXBhYmlsaXRpZXM+IGNhcGFiaWxpdGllcykKKyAgICBzdGF0aWMgUmVmPEFsbEF1ZGlvQ2FwYWJp
bGl0aWVzPiBjcmVhdGUoUGFzc1JlZlB0cjxSZWFsdGltZU1lZGlhU291cmNlQ2FwYWJpbGl0aWVz
PiBjYXBhYmlsaXRpZXMpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEFsbEF1
ZGlvQ2FwYWJpbGl0aWVzKGNhcGFiaWxpdGllcykpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYo
Km5ldyBBbGxBdWRpb0NhcGFiaWxpdGllcyhjYXBhYmlsaXRpZXMpKTsKICAgICB9CiAgICAgdmly
dHVhbCB+QWxsQXVkaW9DYXBhYmlsaXRpZXMoKSB7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9BbGxWaWRlb0NhcGFiaWxpdGllcy5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9BbGxWaWRlb0NhcGFiaWxpdGllcy5oCmluZGV4
IDAyZTQ1OGFjMGU2MjUyOTUyMDM3ODViZWY2YzE0OTMwZThjMWE2ZWQuLjAxODdjMzA0YTk1MTVk
MTBiY2YxYWUxOGEzNGE2YjhmNDUwMmJjZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vQWxsVmlkZW9DYXBhYmlsaXRpZXMuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0FsbFZpZGVvQ2FwYWJpbGl0aWVzLmgKQEAgLTM3LDkg
KzM3LDkgQEAgY2xhc3MgUmVhbHRpbWVNZWRpYVNvdXJjZUNhcGFiaWxpdGllczsKIAogY2xhc3Mg
QWxsVmlkZW9DYXBhYmlsaXRpZXMgOiBwdWJsaWMgTWVkaWFTdHJlYW1DYXBhYmlsaXRpZXMgewog
cHVibGljOgotICAgIHN0YXRpYyBSZWZQdHI8QWxsVmlkZW9DYXBhYmlsaXRpZXM+IGNyZWF0ZShQ
YXNzUmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2VDYXBhYmlsaXRpZXM+IGNhcGFiaWxpdGllcykK
KyAgICBzdGF0aWMgUmVmPEFsbFZpZGVvQ2FwYWJpbGl0aWVzPiBjcmVhdGUoUGFzc1JlZlB0cjxS
ZWFsdGltZU1lZGlhU291cmNlQ2FwYWJpbGl0aWVzPiBjYXBhYmlsaXRpZXMpCiAgICAgewotICAg
ICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEFsbFZpZGVvQ2FwYWJpbGl0aWVzKGNhcGFiaWxpdGll
cykpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBBbGxWaWRlb0NhcGFiaWxpdGllcyhj
YXBhYmlsaXRpZXMpKTsKICAgICB9CiAgICAgdmlydHVhbCB+QWxsVmlkZW9DYXBhYmlsaXRpZXMo
KSB7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9D
YXBhYmlsaXR5UmFuZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9D
YXBhYmlsaXR5UmFuZ2UuY3BwCmluZGV4IGY5YTI3OWIxOTFiZGI2NGQyM2Q5MTk1OWM0YzAwZmUz
Y2ZhZDVlYzYuLjYxNGU0YzZmZDI1ODljZTRjYWJkZjI2ZjliZDEwMmU1ODlhMTdmMmYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vQ2FwYWJpbGl0eVJhbmdl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0NhcGFiaWxpdHlS
YW5nZS5jcHAKQEAgLTQwLDkgKzQwLDkgQEAgdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi1SZWZQdHI8Q2FwYWJpbGl0eVJhbmdlPiBDYXBhYmlsaXR5UmFuZ2U6
OmNyZWF0ZShjb25zdCBSZWFsdGltZU1lZGlhU291cmNlQ2FwYWJpbGl0eVJhbmdlJiByYW5nZUlu
Zm8pCitSZWY8Q2FwYWJpbGl0eVJhbmdlPiBDYXBhYmlsaXR5UmFuZ2U6OmNyZWF0ZShjb25zdCBS
ZWFsdGltZU1lZGlhU291cmNlQ2FwYWJpbGl0eVJhbmdlJiByYW5nZUluZm8pCiB7Ci0gICAgcmV0
dXJuIGFkb3B0UmVmKG5ldyBDYXBhYmlsaXR5UmFuZ2UocmFuZ2VJbmZvKSk7CisgICAgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgQ2FwYWJpbGl0eVJhbmdlKHJhbmdlSW5mbykpOwogfQogCiBDYXBhYmls
aXR5UmFuZ2U6OkNhcGFiaWxpdHlSYW5nZShjb25zdCBSZWFsdGltZU1lZGlhU291cmNlQ2FwYWJp
bGl0eVJhbmdlJiByYW5nZUluZm8pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL0NhcGFiaWxpdHlSYW5nZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9DYXBhYmlsaXR5UmFuZ2UuaAppbmRleCBmZTIzMjgzYjUyNDU1NTczOWRmZWVh
NjYzZTIzYTEzZWM3MjdhMDE4Li43ZDhiYmEzYmUwYzIxNDQ1MjdmOTE4MTNiOTk0YTEwYzBkNDU4
ZTYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0NhcGFi
aWxpdHlSYW5nZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vQ2Fw
YWJpbGl0eVJhbmdlLmgKQEAgLTQxLDcgKzQxLDcgQEAgY2xhc3MgQ2FwYWJpbGl0eVJhbmdlIDog
cHVibGljIFJlZkNvdW50ZWQ8Q2FwYWJpbGl0eVJhbmdlPiwgcHVibGljIFNjcmlwdFdyYXBwYWIK
IHB1YmxpYzoKICAgICB2aXJ0dWFsIH5DYXBhYmlsaXR5UmFuZ2UoKSB7IH0KIAotICAgIHN0YXRp
YyBSZWZQdHI8Q2FwYWJpbGl0eVJhbmdlPiBjcmVhdGUoY29uc3QgUmVhbHRpbWVNZWRpYVNvdXJj
ZUNhcGFiaWxpdHlSYW5nZSYpOworICAgIHN0YXRpYyBSZWY8Q2FwYWJpbGl0eVJhbmdlPiBjcmVh
dGUoY29uc3QgUmVhbHRpbWVNZWRpYVNvdXJjZUNhcGFiaWxpdHlSYW5nZSYpOwogCiAgICAgRGVw
cmVjYXRlZDo6U2NyaXB0VmFsdWUgbWluKEpTQzo6RXhlY1N0YXRlKikgY29uc3Q7CiAgICAgRGVw
cmVjYXRlZDo6U2NyaXB0VmFsdWUgbWF4KEpTQzo6RXhlY1N0YXRlKikgY29uc3Q7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU291cmNlU3RhdGVz
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTb3VyY2VTdGF0
ZXMuY3BwCmluZGV4IDE5YzEwM2FlMjBlOTI1ZTkwOGQ3YjgwMmJjMTg4M2MzOGMzOGRlNjcuLjc2
MzdhYmZhMjZiMGRiY2RjMjVmZjg5YTMwYTY1MGJkMTM2MDFlZWMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTb3VyY2VTdGF0ZXMuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTb3VyY2VTdGF0ZXMuY3Bw
CkBAIC0zMyw5ICszMyw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUmVmUHRyPE1lZGlh
U291cmNlU3RhdGVzPiBNZWRpYVNvdXJjZVN0YXRlczo6Y3JlYXRlKGNvbnN0IFJlYWx0aW1lTWVk
aWFTb3VyY2VTdGF0ZXMmIHN0YXRlcykKK1JlZjxNZWRpYVNvdXJjZVN0YXRlcz4gTWVkaWFTb3Vy
Y2VTdGF0ZXM6OmNyZWF0ZShjb25zdCBSZWFsdGltZU1lZGlhU291cmNlU3RhdGVzJiBzdGF0ZXMp
CiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBNZWRpYVNvdXJjZVN0YXRlcyhzdGF0ZXMpKTsK
KyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBNZWRpYVNvdXJjZVN0YXRlcyhzdGF0ZXMpKTsKIH0K
IAogTWVkaWFTb3VyY2VTdGF0ZXM6Ok1lZGlhU291cmNlU3RhdGVzKGNvbnN0IFJlYWx0aW1lTWVk
aWFTb3VyY2VTdGF0ZXMmIHN0YXRlcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vTWVkaWFTb3VyY2VTdGF0ZXMuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vTWVkaWFTb3VyY2VTdGF0ZXMuaAppbmRleCBjMzRmYTBhNDRiMzMxNjQ0
NDgwYzI0M2E3ZWM3YWZkMGRhY2M1OWIxLi5jNDYzNzNkOTQwNmZlZTM0YWI4YmM0MDIzYTI4NWI3
ZjRkODdkMjdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L01lZGlhU291cmNlU3RhdGVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9NZWRpYVNvdXJjZVN0YXRlcy5oCkBAIC0zNyw3ICszNyw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgTWVkaWFTb3VyY2VTdGF0ZXMgOiBwdWJsaWMgUmVmQ291bnRlZDxNZWRp
YVNvdXJjZVN0YXRlcz4sIHB1YmxpYyBTY3JpcHRXcmFwcGFibGUgewogcHVibGljOgotICAgIHN0
YXRpYyBSZWZQdHI8TWVkaWFTb3VyY2VTdGF0ZXM+IGNyZWF0ZShjb25zdCBSZWFsdGltZU1lZGlh
U291cmNlU3RhdGVzJik7CisgICAgc3RhdGljIFJlZjxNZWRpYVNvdXJjZVN0YXRlcz4gY3JlYXRl
KGNvbnN0IFJlYWx0aW1lTWVkaWFTb3VyY2VTdGF0ZXMmKTsKIAogICAgIGNvbnN0IEF0b21pY1N0
cmluZyYgc291cmNlVHlwZSgpIGNvbnN0OwogICAgIGNvbnN0IEF0b21pY1N0cmluZyYgc291cmNl
SWQoKSBjb25zdCB7IHJldHVybiBtX3NvdXJjZVN0YXRlcy5zb3VyY2VJZCgpOyB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2su
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNr
LmNwcAppbmRleCA2YWRiNGZlNzA5ZWQxYWE1ZGViZGVmOWY3N2VkOWJiYzIzNTFhZDllLi4zZmFi
YWIxZDY4Yzg5NmExNTIxMzQzYTQ4YWRkYmRiNzNhYWJmNDYzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHAKQEAg
LTQ5LDE0ICs0OSwxNCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVJlZlB0cjxNZWRpYVN0
cmVhbVRyYWNrPiBNZWRpYVN0cmVhbVRyYWNrOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCYgY29udGV4dCwgTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUmIHByaXZhdGVUcmFjaykKK1JlZjxN
ZWRpYVN0cmVhbVRyYWNrPiBNZWRpYVN0cmVhbVRyYWNrOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCYgY29udGV4dCwgTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUmIHByaXZhdGVUcmFjaykK
IHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IE1lZGlhU3RyZWFtVHJhY2soY29udGV4dCwgcHJp
dmF0ZVRyYWNrKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTWVkaWFTdHJlYW1UcmFjayhj
b250ZXh0LCBwcml2YXRlVHJhY2spKTsKIH0KIAotUmVmUHRyPE1lZGlhU3RyZWFtVHJhY2s+IE1l
ZGlhU3RyZWFtVHJhY2s6OmNyZWF0ZShNZWRpYVN0cmVhbVRyYWNrJiB0cmFjaykKK1JlZjxNZWRp
YVN0cmVhbVRyYWNrPiBNZWRpYVN0cmVhbVRyYWNrOjpjcmVhdGUoTWVkaWFTdHJlYW1UcmFjayYg
dHJhY2spCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBNZWRpYVN0cmVhbVRyYWNrKHRyYWNr
KSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTWVkaWFTdHJlYW1UcmFjayh0cmFjaykpOwog
fQogCiBNZWRpYVN0cmVhbVRyYWNrOjpNZWRpYVN0cmVhbVRyYWNrKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmIGNvbnRleHQsIE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlJiBwcml2YXRlVHJhY2spCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFt
VHJhY2suaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1U
cmFjay5oCmluZGV4IGFlZWQxMDM2M2ZjNDM2NWI1ODAyOTdlY2JhMjYzZjY1YmFhNzAyY2UuLjFk
MDljYzQ2YWMwODA5NGQyOTBlZDRlOWI3NDBiZmI5NGU3OTI5NDcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5oCkBAIC01
Nyw4ICs1Nyw4IEBAIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB2b2lkIHRyYWNrRGlkRW5kKCkg
PSAwOwogICAgIH07CiAKLSAgICBzdGF0aWMgUmVmUHRyPE1lZGlhU3RyZWFtVHJhY2s+IGNyZWF0
ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUmKTsKLSAg
ICBzdGF0aWMgUmVmUHRyPE1lZGlhU3RyZWFtVHJhY2s+IGNyZWF0ZShNZWRpYVN0cmVhbVRyYWNr
Jik7CisgICAgc3RhdGljIFJlZjxNZWRpYVN0cmVhbVRyYWNrPiBjcmVhdGUoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYsIE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlJik7CisgICAgc3RhdGljIFJlZjxN
ZWRpYVN0cmVhbVRyYWNrPiBjcmVhdGUoTWVkaWFTdHJlYW1UcmFjayYpOwogICAgIHZpcnR1YWwg
fk1lZGlhU3RyZWFtVHJhY2soKTsKIAogICAgIGNvbnN0IEF0b21pY1N0cmluZyYga2luZCgpIGNv
bnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRp
YVN0cmVhbVRyYWNrU291cmNlc1JlcXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrU291cmNlc1JlcXVlc3QuY3BwCmluZGV4IDk2MmZm
MDY2MTVkMTY3MDAyZjFmZTRhNTJlM2NiMjMwMzZjMzFlNWYuLmZiMmM1MTI3YTU4MDBiMjQ0MTBk
YTM5YTc4MGQyMzNiZDFlMGQzM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFja1NvdXJjZXNSZXF1ZXN0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2tTb3VyY2VzUmVx
dWVzdC5jcHAKQEAgLTM3LDkgKzM3LDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1QYXNz
UmVmUHRyPE1lZGlhU3RyZWFtVHJhY2tTb3VyY2VzUmVxdWVzdD4gTWVkaWFTdHJlYW1UcmFja1Nv
dXJjZXNSZXF1ZXN0OjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgUGFz
c1JlZlB0cjxNZWRpYVN0cmVhbVRyYWNrU291cmNlc0NhbGxiYWNrPiBjYWxsYmFjaykKK1JlZjxN
ZWRpYVN0cmVhbVRyYWNrU291cmNlc1JlcXVlc3Q+IE1lZGlhU3RyZWFtVHJhY2tTb3VyY2VzUmVx
dWVzdDo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFBhc3NSZWZQdHI8
TWVkaWFTdHJlYW1UcmFja1NvdXJjZXNDYWxsYmFjaz4gY2FsbGJhY2spCiB7Ci0gICAgcmV0dXJu
IGFkb3B0UmVmKG5ldyBNZWRpYVN0cmVhbVRyYWNrU291cmNlc1JlcXVlc3QoY29udGV4dCwgY2Fs
bGJhY2spKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBNZWRpYVN0cmVhbVRyYWNrU291cmNl
c1JlcXVlc3QoY29udGV4dCwgY2FsbGJhY2spKTsKIH0KIAogTWVkaWFTdHJlYW1UcmFja1NvdXJj
ZXNSZXF1ZXN0OjpNZWRpYVN0cmVhbVRyYWNrU291cmNlc1JlcXVlc3QoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCogY29udGV4dCwgUGFzc1JlZlB0cjxNZWRpYVN0cmVhbVRyYWNrU291cmNlc0NhbGxi
YWNrPiBjYWxsYmFjaykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vTWVkaWFTdHJlYW1UcmFja1NvdXJjZXNSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2tTb3VyY2VzUmVxdWVzdC5oCmluZGV4
IDEzMzliMWJiYjRlY2VjNzAwYzUwMTlkNWQyOTVmNmQyOTg5YjE3YzYuLjM5NjZjZWZlMWZiYTgz
YjBhOTk2NjVjNjcwNjI2YWE0MjhiYWIzMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFja1NvdXJjZXNSZXF1ZXN0LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrU291cmNl
c1JlcXVlc3QuaApAQCAtNDEsNyArNDEsNyBAQCBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0
OwogCiBjbGFzcyBNZWRpYVN0cmVhbVRyYWNrU291cmNlc1JlcXVlc3QgOiBwdWJsaWMgTWVkaWFT
dHJlYW1UcmFja1NvdXJjZXNSZXF1ZXN0Q2xpZW50IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFz
c1JlZlB0cjxNZWRpYVN0cmVhbVRyYWNrU291cmNlc1JlcXVlc3Q+IGNyZWF0ZShTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxNZWRpYVN0cmVhbVRyYWNrU291cmNlc0NhbGxiYWNr
Pik7CisgICAgc3RhdGljIFJlZjxNZWRpYVN0cmVhbVRyYWNrU291cmNlc1JlcXVlc3Q+IGNyZWF0
ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxNZWRpYVN0cmVhbVRyYWNrU291
cmNlc0NhbGxiYWNrPik7CiAgICAgdmlydHVhbCB+TWVkaWFTdHJlYW1UcmFja1NvdXJjZXNSZXF1
ZXN0KCkgeyB9CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL01lZGlhVHJhY2tDb25zdHJhaW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFUcmFja0NvbnN0cmFpbnQuY3BwCmluZGV4IGIxMGZjYTIx
ZDY5M2NiNWVjZGFkODdjMDk2M2Q1M2JiZjBjMWJmMDIuLjNjNzdjMDIzMDUzYTExN2U1MjE1NDU5
MjU2YWU3NjBmNTQ4MjdjYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vTWVkaWFUcmFja0NvbnN0cmFpbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFUcmFja0NvbnN0cmFpbnQuY3BwCkBAIC0zNCw5ICszNCw5
IEBAIHVzaW5nIG5hbWVzcGFjZSBKU0M7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUmVmUHRy
PE1lZGlhVHJhY2tDb25zdHJhaW50PiBNZWRpYVRyYWNrQ29uc3RyYWludDo6Y3JlYXRlKGNvbnN0
IERpY3Rpb25hcnkmIGNvbnN0cmFpbnQpCitSZWY8TWVkaWFUcmFja0NvbnN0cmFpbnQ+IE1lZGlh
VHJhY2tDb25zdHJhaW50OjpjcmVhdGUoY29uc3QgRGljdGlvbmFyeSYgY29uc3RyYWludCkKIHsK
LSAgICByZXR1cm4gYWRvcHRSZWYobmV3IE1lZGlhVHJhY2tDb25zdHJhaW50KGNvbnN0cmFpbnQp
KTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBNZWRpYVRyYWNrQ29uc3RyYWludChjb25zdHJh
aW50KSk7CiB9CiAKIE1lZGlhVHJhY2tDb25zdHJhaW50OjpNZWRpYVRyYWNrQ29uc3RyYWludChj
b25zdCBEaWN0aW9uYXJ5JiBjb25zdHJhaW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVRyYWNrQ29uc3RyYWludC5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVRyYWNrQ29uc3RyYWludC5oCmluZGV4IDViOWQ3
MDUyM2NiZjc4YWNjMWVlZjY3ZTI2YzVkOGE3YmEzNzQ5MmUuLmMyYTg4MmZmZDk0NjA5ODI1MjE1
ODkxYmM3NjgxMjdmYjQ0MTZmYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vTWVkaWFUcmFja0NvbnN0cmFpbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL01lZGlhVHJhY2tDb25zdHJhaW50LmgKQEAgLTQxLDcgKzQxLDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBNZWRpYVRyYWNrQ29uc3RyYWludCA6IHB1
YmxpYyBSZWZDb3VudGVkPE1lZGlhVHJhY2tDb25zdHJhaW50PiwgcHVibGljIFNjcmlwdFdyYXBw
YWJsZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZlB0cjxNZWRpYVRyYWNrQ29uc3RyYWludD4g
Y3JlYXRlKGNvbnN0IERpY3Rpb25hcnkmKTsKKyAgICBzdGF0aWMgUmVmPE1lZGlhVHJhY2tDb25z
dHJhaW50PiBjcmVhdGUoY29uc3QgRGljdGlvbmFyeSYpOwogCiAgICAgdmlydHVhbCB+TWVkaWFU
cmFja0NvbnN0cmFpbnQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENDb25maWd1cmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL1JUQ0NvbmZpZ3VyYXRpb24uaAppbmRleCA0MTA1MWE5MzQ5NmQ2YmQwYmU1YzY0
MDk0NmI2MzM5MGUzYjcyYjM4Li40ZmZhOTZlMDJlMzI4MWRjYzI2ODE0YzM4MjZlYWQ1YjUwZTM4
NmU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0Nv
bmZpZ3VyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q0NvbmZpZ3VyYXRpb24uaApAQCAtNDQsNyArNDQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IGNsYXNzIFJUQ0NvbmZpZ3VyYXRpb24gOiBwdWJsaWMgUmVmQ291bnRlZDxSVENDb25maWd1cmF0
aW9uPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8UlRDQ29uZmlndXJhdGlvbj4g
Y3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFJUQ0NvbmZpZ3VyYXRpb24oKSk7IH0KKyAg
ICBzdGF0aWMgUmVmPFJUQ0NvbmZpZ3VyYXRpb24+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVm
KCpuZXcgUlRDQ29uZmlndXJhdGlvbigpKTsgfQogICAgIHZpcnR1YWwgflJUQ0NvbmZpZ3VyYXRp
b24oKSB7IH0KIAogICAgIHZvaWQgYXBwZW5kU2VydmVyKFBhc3NSZWZQdHI8UlRDSWNlU2VydmVy
PiBzZXJ2ZXIpIHsgbV9wcml2YXRlLT5hcHBlbmRTZXJ2ZXIoc2VydmVyLT5wcml2YXRlU2VydmVy
KCkpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q0ljZVNlcnZlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENJY2VT
ZXJ2ZXIuaAppbmRleCBlY2EyNThmYjQ2MjcyMjJkYWYzNzM4OWE4M2VhMTc5NGY0YTI2OWY4Li40
MjE4ZDJiMTdiNzExMGNiNGI4NDJlMTlkNmZiZmU0MTZlOWQwNTIzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0ljZVNlcnZlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDSWNlU2VydmVyLmgKQEAgLTM4LDE0ICsz
OCwxNCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFJUQ0ljZVNlcnZlciA6IHB1Ymxp
YyBSZWZDb3VudGVkPFJUQ0ljZVNlcnZlcj4gewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVm
UHRyPFJUQ0ljZVNlcnZlcj4gY3JlYXRlKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiB1cmxzLCBjb25z
dCBTdHJpbmcmIGNyZWRlbnRpYWwsIGNvbnN0IFN0cmluZyYgdXNlcm5hbWUpCisgICAgc3RhdGlj
IFJlZjxSVENJY2VTZXJ2ZXI+IGNyZWF0ZShjb25zdCBWZWN0b3I8U3RyaW5nPiYgdXJscywgY29u
c3QgU3RyaW5nJiBjcmVkZW50aWFsLCBjb25zdCBTdHJpbmcmIHVzZXJuYW1lKQogICAgIHsKLSAg
ICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBSVENJY2VTZXJ2ZXIodXJscywgY3JlZGVudGlhbCwg
dXNlcm5hbWUpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUlRDSWNlU2VydmVyKHVy
bHMsIGNyZWRlbnRpYWwsIHVzZXJuYW1lKSk7CiAgICAgfQogCi0gICAgc3RhdGljIFBhc3NSZWZQ
dHI8UlRDSWNlU2VydmVyPiBjcmVhdGUoUGFzc1JlZlB0cjxSVENJY2VTZXJ2ZXJQcml2YXRlPiBz
ZXJ2ZXIpCisgICAgc3RhdGljIFJlZjxSVENJY2VTZXJ2ZXI+IGNyZWF0ZShQYXNzUmVmUHRyPFJU
Q0ljZVNlcnZlclByaXZhdGU+IHNlcnZlcikKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJl
ZihuZXcgUlRDSWNlU2VydmVyKHNlcnZlcikpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5l
dyBSVENJY2VTZXJ2ZXIoc2VydmVyKSk7CiAgICAgfQogCiAgICAgdmlydHVhbCB+UlRDSWNlU2Vy
dmVyKCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ1Nlc3Npb25EZXNjcmlwdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlvbi5jcHAKaW5kZXggODViZmI1YzMxZTc2NGI2ZTgx
ODUyOTMzNThjYjE5NmIwNzE1ODBkMy4uZGQ5MTMxMTFlODQxNmU2OGViMDY2N2QzM2EyMmJjNWI4
MjBjZjk2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENTZXNzaW9uRGVzY3JpcHRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uLmNwcApAQCAtNDYsNyArNDYsNyBAQCBzdGF0
aWMgYm9vbCB2ZXJpZnlUeXBlKGNvbnN0IFN0cmluZyYgdHlwZSkKICAgICByZXR1cm4gdHlwZSA9
PSAib2ZmZXIiIHx8IHR5cGUgPT0gInByYW5zd2VyIiB8fCB0eXBlID09ICJhbnN3ZXIiOwogfQog
Ci1QYXNzUmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlvbj4gUlRDU2Vzc2lvbkRlc2NyaXB0aW9u
OjpjcmVhdGUoY29uc3QgRGljdGlvbmFyeSYgZGljdGlvbmFyeSwgRXhjZXB0aW9uQ29kZSYgZWMp
CitSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uPiBSVENTZXNzaW9uRGVzY3JpcHRpb246OmNy
ZWF0ZShjb25zdCBEaWN0aW9uYXJ5JiBkaWN0aW9uYXJ5LCBFeGNlcHRpb25Db2RlJiBlYykKIHsK
ICAgICBTdHJpbmcgdHlwZTsKICAgICBib29sIG9rID0gZGljdGlvbmFyeS5nZXQoInR5cGUiLCB0
eXBlKTsKQEAgLTYyLDEzICs2MiwxMyBAQCBQYXNzUmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlv
bj4gUlRDU2Vzc2lvbkRlc2NyaXB0aW9uOjpjcmVhdGUoY29uc3QgRGljdGlvbmFyeQogICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IFJUQ1Nl
c3Npb25EZXNjcmlwdGlvbihSVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yOjpjcmVhdGUo
dHlwZSwgc2RwKSkpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFJUQ1Nlc3Npb25EZXNjcmlw
dGlvbihSVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yOjpjcmVhdGUodHlwZSwgc2RwKSkp
OwogfQogCi1QYXNzUmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlvbj4gUlRDU2Vzc2lvbkRlc2Ny
aXB0aW9uOjpjcmVhdGUoUGFzc1JlZlB0cjxSVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9y
PiBkZXNjcmlwdG9yKQorUmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlvbj4gUlRDU2Vzc2lvbkRl
c2NyaXB0aW9uOjpjcmVhdGUoUGFzc1JlZlB0cjxSVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlw
dG9yPiBkZXNjcmlwdG9yKQogewogICAgIEFTU0VSVChkZXNjcmlwdG9yKTsKLSAgICByZXR1cm4g
YWRvcHRSZWYobmV3IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbihkZXNjcmlwdG9yKSk7CisgICAgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uKGRlc2NyaXB0b3IpKTsKIH0K
IAogUlRDU2Vzc2lvbkRlc2NyaXB0aW9uOjpSVENTZXNzaW9uRGVzY3JpcHRpb24oUGFzc1JlZlB0
cjxSVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yPiBkZXNjcmlwdG9yKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRp
b24uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2Ny
aXB0aW9uLmgKaW5kZXggZmFmZTJiNjVhNmI4N2FmOTNiMDVhOTY5MGI2Yzg0NWRiOTFmOTllMS4u
YmNiMzM1NDE2YmZhNTMwYmJkOGYyZGU1N2M4ZDA5YTNiOTZlN2ZlYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb24uaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlw
dGlvbi5oCkBAIC00Niw4ICs0Niw4IEBAIGNsYXNzIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbkRlc2Ny
aXB0b3I7CiAKIGNsYXNzIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbiA6IHB1YmxpYyBSZWZDb3VudGVk
PFJUQ1Nlc3Npb25EZXNjcmlwdGlvbj4sIHB1YmxpYyBTY3JpcHRXcmFwcGFibGUgewogcHVibGlj
OgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlvbj4gY3JlYXRlKGNv
bnN0IERpY3Rpb25hcnkmLCBFeGNlcHRpb25Db2RlJik7Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8
UlRDU2Vzc2lvbkRlc2NyaXB0aW9uPiBjcmVhdGUoUGFzc1JlZlB0cjxSVENTZXNzaW9uRGVzY3Jp
cHRpb25EZXNjcmlwdG9yPik7CisgICAgc3RhdGljIFJlZlB0cjxSVENTZXNzaW9uRGVzY3JpcHRp
b24+IGNyZWF0ZShjb25zdCBEaWN0aW9uYXJ5JiwgRXhjZXB0aW9uQ29kZSYpOworICAgIHN0YXRp
YyBSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uPiBjcmVhdGUoUGFzc1JlZlB0cjxSVENTZXNz
aW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yPik7CiAgICAgdmlydHVhbCB+UlRDU2Vzc2lvbkRlc2Ny
aXB0aW9uKCk7CiAKICAgICBjb25zdCBTdHJpbmcmIHR5cGUoKSBjb25zdDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9u
UmVxdWVzdEltcGwuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENT
ZXNzaW9uRGVzY3JpcHRpb25SZXF1ZXN0SW1wbC5jcHAKaW5kZXggNGIyYWQ3ZWUzODM5ZTdmZDFk
YTkzMWFkNDc2MzEzNjU2ZDAwMmE0NC4uZDcxMGRjMThmNWUyM2NiNmUxMzA4ZGYyOGY2NTZhNjg5
YmNiMDZkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENTZXNzaW9uRGVzY3JpcHRpb25SZXF1ZXN0SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb25SZXF1ZXN0SW1wbC5jcHAK
QEAgLTQzLDExICs0MywxMSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVBhc3NSZWZQdHI8
UlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVxdWVzdEltcGw+IFJUQ1Nlc3Npb25EZXNjcmlwdGlvblJl
cXVlc3RJbXBsOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgUGFzc1Jl
ZlB0cjxSVENTZXNzaW9uRGVzY3JpcHRpb25DYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrLCBQYXNz
UmVmUHRyPFJUQ1BlZXJDb25uZWN0aW9uRXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjaykKK1Jl
ZjxSVENTZXNzaW9uRGVzY3JpcHRpb25SZXF1ZXN0SW1wbD4gUlRDU2Vzc2lvbkRlc2NyaXB0aW9u
UmVxdWVzdEltcGw6OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBQYXNz
UmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlvbkNhbGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2ssIFBh
c3NSZWZQdHI8UlRDUGVlckNvbm5lY3Rpb25FcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrKQog
ewotICAgIFJlZlB0cjxSVENTZXNzaW9uRGVzY3JpcHRpb25SZXF1ZXN0SW1wbD4gcmVxdWVzdCA9
IGFkb3B0UmVmKG5ldyBSVENTZXNzaW9uRGVzY3JpcHRpb25SZXF1ZXN0SW1wbChjb250ZXh0LCBz
dWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2spKTsKKyAgICBSZWY8UlRDU2Vzc2lvbkRlc2Ny
aXB0aW9uUmVxdWVzdEltcGw+IHJlcXVlc3QgPSBhZG9wdFJlZigqbmV3IFJUQ1Nlc3Npb25EZXNj
cmlwdGlvblJlcXVlc3RJbXBsKGNvbnRleHQsIHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFj
aykpOwogICAgIHJlcXVlc3QtPnN1c3BlbmRJZk5lZWRlZCgpOwotICAgIHJldHVybiByZXF1ZXN0
LnJlbGVhc2UoKTsKKyAgICByZXR1cm4gcmVxdWVzdDsKIH0KIAogUlRDU2Vzc2lvbkRlc2NyaXB0
aW9uUmVxdWVzdEltcGw6OlJUQ1Nlc3Npb25EZXNjcmlwdGlvblJlcXVlc3RJbXBsKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFBhc3NSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9u
Q2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjaywgUGFzc1JlZlB0cjxSVENQZWVyQ29ubmVjdGlvbkVy
cm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2spCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlvblJlcXVlc3RJbXBsLmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlvblJl
cXVlc3RJbXBsLmgKaW5kZXggMmQ3OGI1MDk4ZWQxNWJlZjNjZTQ4OWI5MDMyZjIxNjhkOTNjZjQy
ZC4uZWQ2NzNiOGFkNjhlYWQ4NzUxOGI5ZmNmYTc4YmQxNWQ4NmQ1Yjg3NiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb25S
ZXF1ZXN0SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
U2Vzc2lvbkRlc2NyaXB0aW9uUmVxdWVzdEltcGwuaApAQCAtNDUsNyArNDUsNyBAQCBjbGFzcyBS
VENTZXNzaW9uRGVzY3JpcHRpb25DYWxsYmFjazsKIAogY2xhc3MgUlRDU2Vzc2lvbkRlc2NyaXB0
aW9uUmVxdWVzdEltcGwgOiBwdWJsaWMgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVxdWVzdCwgcHVi
bGljIEFjdGl2ZURPTU9iamVjdCB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8UlRD
U2Vzc2lvbkRlc2NyaXB0aW9uUmVxdWVzdEltcGw+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiwgUGFzc1JlZlB0cjxSVENTZXNzaW9uRGVzY3JpcHRpb25DYWxsYmFjaz4sIFBhc3NSZWZQ
dHI8UlRDUGVlckNvbm5lY3Rpb25FcnJvckNhbGxiYWNrPik7CisgICAgc3RhdGljIFJlZjxSVENT
ZXNzaW9uRGVzY3JpcHRpb25SZXF1ZXN0SW1wbD4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqLCBQYXNzUmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlvbkNhbGxiYWNrPiwgUGFzc1JlZlB0
cjxSVENQZWVyQ29ubmVjdGlvbkVycm9yQ2FsbGJhY2s+KTsKICAgICB2aXJ0dWFsIH5SVENTZXNz
aW9uRGVzY3JpcHRpb25SZXF1ZXN0SW1wbCgpOwogCiAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RT
dWNjZWVkZWQoUGFzc1JlZlB0cjxSVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yPikgb3Zl
cnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q1N0YXRzUmVwb3J0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
U3RhdHNSZXBvcnQuY3BwCmluZGV4IDI3OTM3ZWJhM2YxOTQ1ZTQ0YjhhMjZlNDFlOTE5OGZlYjU5
N2JjNmIuLjk4OWE3NmZmYzA4NjcxM2ExZjYwNmZhYzVkZDRkMTZjYTM5MzliMzUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU3RhdHNSZXBvcnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU3RhdHNSZXBvcnQu
Y3BwCkBAIC0zMyw5ICszMyw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUGFzc1JlZlB0
cjxSVENTdGF0c1JlcG9ydD4gUlRDU3RhdHNSZXBvcnQ6OmNyZWF0ZShjb25zdCBTdHJpbmcmIGlk
LCBjb25zdCBTdHJpbmcmIHR5cGUsIGRvdWJsZSB0aW1lc3RhbXApCitSZWY8UlRDU3RhdHNSZXBv
cnQ+IFJUQ1N0YXRzUmVwb3J0OjpjcmVhdGUoY29uc3QgU3RyaW5nJiBpZCwgY29uc3QgU3RyaW5n
JiB0eXBlLCBkb3VibGUgdGltZXN0YW1wKQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgUlRD
U3RhdHNSZXBvcnQoaWQsIHR5cGUsIHRpbWVzdGFtcCkpOworICAgIHJldHVybiBhZG9wdFJlZigq
bmV3IFJUQ1N0YXRzUmVwb3J0KGlkLCB0eXBlLCB0aW1lc3RhbXApKTsKIH0KIAogUlRDU3RhdHNS
ZXBvcnQ6OlJUQ1N0YXRzUmVwb3J0KGNvbnN0IFN0cmluZyYgaWQsIGNvbnN0IFN0cmluZyYgdHlw
ZSwgZG91YmxlIHRpbWVzdGFtcCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vUlRDU3RhdHNSZXBvcnQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vUlRDU3RhdHNSZXBvcnQuaAppbmRleCBmN2I4YWZlMjkzZDYyOWU5N2E0YjcyOWQw
NTM2OWNjNDJlMDA2ZDJkLi5mOTNhM2RkMTIwOGNjZWEyYzcxMGExODE4ZDlmNmEzYmNjNTNkNGM0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1N0YXRz
UmVwb3J0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTdGF0
c1JlcG9ydC5oCkBAIC0zNiw3ICszNiw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3Mg
UlRDU3RhdHNSZXBvcnQgOiBwdWJsaWMgUmVmQ291bnRlZDxSVENTdGF0c1JlcG9ydD4sIHB1Ymxp
YyBTY3JpcHRXcmFwcGFibGUgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFJUQ1N0
YXRzUmVwb3J0PiBjcmVhdGUoY29uc3QgU3RyaW5nJiBpZCwgY29uc3QgU3RyaW5nJiB0eXBlLCBk
b3VibGUgdGltZXN0YW1wKTsKKyAgICBzdGF0aWMgUmVmPFJUQ1N0YXRzUmVwb3J0PiBjcmVhdGUo
Y29uc3QgU3RyaW5nJiBpZCwgY29uc3QgU3RyaW5nJiB0eXBlLCBkb3VibGUgdGltZXN0YW1wKTsK
IAogICAgIGRvdWJsZSB0aW1lc3RhbXAoKSBjb25zdCB7IHJldHVybiBtX3RpbWVzdGFtcDsgfQog
ICAgIFN0cmluZyBpZCgpIHsgcmV0dXJuIG1faWQ7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU3RhdHNSZXF1ZXN0SW1wbC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1N0YXRzUmVxdWVzdEltcGwuY3BwCmluZGV4
IDkxMWEyZjljNzAwZjUxZGJhMjU0MTYzZmUzYTZiZjJjNGNhN2EzODUuLmRlYjE5YTlhZjkwZGNm
YzQ1NjM3Mzg2OGUxNWY4ODM1ZGZiZTRjOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vUlRDU3RhdHNSZXF1ZXN0SW1wbC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTdGF0c1JlcXVlc3RJbXBsLmNwcApAQCAtMzYs
MTEgKzM2LDExIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUGFzc1JlZlB0cjxSVENTdGF0
c1JlcXVlc3RJbXBsPiBSVENTdGF0c1JlcXVlc3RJbXBsOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCogY29udGV4dCwgUGFzc1JlZlB0cjxSVENTdGF0c0NhbGxiYWNrPiBzdWNjZXNzQ2Fs
bGJhY2ssIFBhc3NSZWZQdHI8UlRDUGVlckNvbm5lY3Rpb25FcnJvckNhbGxiYWNrPiBlcnJvckNh
bGxiYWNrLCBQYXNzUmVmUHRyPE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlPiBzZWxlY3RvcikKK1Jl
ZjxSVENTdGF0c1JlcXVlc3RJbXBsPiBSVENTdGF0c1JlcXVlc3RJbXBsOjpjcmVhdGUoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgUGFzc1JlZlB0cjxSVENTdGF0c0NhbGxiYWNrPiBz
dWNjZXNzQ2FsbGJhY2ssIFBhc3NSZWZQdHI8UlRDUGVlckNvbm5lY3Rpb25FcnJvckNhbGxiYWNr
PiBlcnJvckNhbGxiYWNrLCBQYXNzUmVmUHRyPE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlPiBzZWxl
Y3RvcikKIHsKLSAgICBSZWZQdHI8UlRDU3RhdHNSZXF1ZXN0SW1wbD4gcmVxdWVzdCA9IGFkb3B0
UmVmKG5ldyBSVENTdGF0c1JlcXVlc3RJbXBsKGNvbnRleHQsIHN1Y2Nlc3NDYWxsYmFjaywgZXJy
b3JDYWxsYmFjaywgc2VsZWN0b3IpKTsKKyAgICBSZWY8UlRDU3RhdHNSZXF1ZXN0SW1wbD4gcmVx
dWVzdCA9IGFkb3B0UmVmKCpuZXcgUlRDU3RhdHNSZXF1ZXN0SW1wbChjb250ZXh0LCBzdWNjZXNz
Q2FsbGJhY2ssIGVycm9yQ2FsbGJhY2ssIHNlbGVjdG9yKSk7CiAgICAgcmVxdWVzdC0+c3VzcGVu
ZElmTmVlZGVkKCk7Ci0gICAgcmV0dXJuIHJlcXVlc3QucmVsZWFzZSgpOworICAgIHJldHVybiBy
ZXF1ZXN0OwogfQogCiBSVENTdGF0c1JlcXVlc3RJbXBsOjpSVENTdGF0c1JlcXVlc3RJbXBsKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFBhc3NSZWZQdHI8UlRDU3RhdHNDYWxsYmFj
az4gc3VjY2Vzc0NhbGxiYWNrLCBQYXNzUmVmUHRyPFJUQ1BlZXJDb25uZWN0aW9uRXJyb3JDYWxs
YmFjaz4gZXJyb3JDYWxsYmFjaywgUGFzc1JlZlB0cjxNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZT4g
c2VsZWN0b3IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ1N0YXRzUmVxdWVzdEltcGwuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDU3RhdHNSZXF1ZXN0SW1wbC5oCmluZGV4IDRlOGVkNzE5NmQ5YzhmOTBhMmEzYjM2NTAw
ZjlmYzc4MDZmMWRjMzEuLjdiNjIyNzY2ZmE4NjliNjExNGZkNDVlM2M5OTgxNGVmZThjNzdkOWEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU3RhdHNS
ZXF1ZXN0SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
U3RhdHNSZXF1ZXN0SW1wbC5oCkBAIC00MSw3ICs0MSw3IEBAIGNsYXNzIFJUQ1BlZXJDb25uZWN0
aW9uRXJyb3JDYWxsYmFjazsKIAogY2xhc3MgUlRDU3RhdHNSZXF1ZXN0SW1wbCA6IHB1YmxpYyBS
VENTdGF0c1JlcXVlc3QsIHB1YmxpYyBBY3RpdmVET01PYmplY3QgewogcHVibGljOgotICAgIHN0
YXRpYyBQYXNzUmVmUHRyPFJUQ1N0YXRzUmVxdWVzdEltcGw+IGNyZWF0ZShTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiwgUGFzc1JlZlB0cjxSVENTdGF0c0NhbGxiYWNrPiwgUGFzc1JlZlB0cjxSVENQ
ZWVyQ29ubmVjdGlvbkVycm9yQ2FsbGJhY2s+LCBQYXNzUmVmUHRyPE1lZGlhU3RyZWFtVHJhY2tQ
cml2YXRlPik7CisgICAgc3RhdGljIFJlZjxSVENTdGF0c1JlcXVlc3RJbXBsPiBjcmVhdGUoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8UlRDU3RhdHNDYWxsYmFjaz4sIFBhc3NS
ZWZQdHI8UlRDUGVlckNvbm5lY3Rpb25FcnJvckNhbGxiYWNrPiwgUGFzc1JlZlB0cjxNZWRpYVN0
cmVhbVRyYWNrUHJpdmF0ZT4pOwogICAgIHZpcnR1YWwgflJUQ1N0YXRzUmVxdWVzdEltcGwoKTsK
IAogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxSVENTdGF0c1Jlc3BvbnNlQmFzZT4gY3JlYXRlUmVz
cG9uc2UoKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vUlRDU3RhdHNSZXNwb25zZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL1JUQ1N0YXRzUmVzcG9uc2UuY3BwCmluZGV4IGMzYjQxZmUxOTJjYjBlNDhiOTY5
NTAyZjZkNTExMzRhY2YxYzg3Y2UuLmJiM2VlMzI3M2RmNGQwNWFmNjEzZjc5ZjNkYjQwMjg5ZDU1
MmE3Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
U3RhdHNSZXNwb25zZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENTdGF0c1Jlc3BvbnNlLmNwcApAQCAtMzAsOSArMzAsOSBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLVBhc3NSZWZQdHI8UlRDU3RhdHNSZXNwb25zZT4gUlRDU3RhdHNSZXNwb25zZTo6
Y3JlYXRlKCkKK1JlZjxSVENTdGF0c1Jlc3BvbnNlPiBSVENTdGF0c1Jlc3BvbnNlOjpjcmVhdGUo
KQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgUlRDU3RhdHNSZXNwb25zZSgpKTsKKyAgICBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBSVENTdGF0c1Jlc3BvbnNlKCkpOwogfQogCiBSVENTdGF0c1Jl
c3BvbnNlOjpSVENTdGF0c1Jlc3BvbnNlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vUlRDU3RhdHNSZXNwb25zZS5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9SVENTdGF0c1Jlc3BvbnNlLmgKaW5kZXggM2E0NThmZjk5MmM5ZWE1
NzUxMTM2OGFjYjYxNjMyNThjZDBiZjRiNS4uZDQxYjliOGQ1OTNiZjFhZDkzNmZkNjQ0YzlkNjQ2
NGNhYjg5MDgwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENTdGF0c1Jlc3BvbnNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENTdGF0c1Jlc3BvbnNlLmgKQEAgLTQxLDcgKzQxLDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBSVENTdGF0c1Jlc3BvbnNlIDogcHVibGljIFJUQ1N0YXRzUmVzcG9uc2VC
YXNlLCBwdWJsaWMgU2NyaXB0V3JhcHBhYmxlIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxSVENTdGF0c1Jlc3BvbnNlPiBjcmVhdGUoKTsKKyAgICBzdGF0aWMgUmVmPFJUQ1N0YXRz
UmVzcG9uc2U+IGNyZWF0ZSgpOwogCiAgICAgY29uc3QgVmVjdG9yPFJlZlB0cjxSVENTdGF0c1Jl
cG9ydD4+JiByZXN1bHQoKSBjb25zdCB7IHJldHVybiBtX3Jlc3VsdDsgfTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENWb2lkUmVxdWVzdEltcGwu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENWb2lkUmVxdWVzdElt
cGwuY3BwCmluZGV4IGI3ZGIyMWIzZjgzMDU4ZDU1OWYzZmY2OGEwMmFjZDRkYzAyYTBmYmQuLjgy
ZjhhMTIyZGQzMDllM2FkMGU0Mzk0ZWM5Y2MzNWVlMDA5ZGFkMzcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDVm9pZFJlcXVlc3RJbXBsLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1ZvaWRSZXF1ZXN0SW1wbC5j
cHAKQEAgLTQyLDExICs0MiwxMSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVBhc3NSZWZQ
dHI8UlRDVm9pZFJlcXVlc3RJbXBsPiBSVENWb2lkUmVxdWVzdEltcGw6OmNyZWF0ZShTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4gc3VjY2Vz
c0NhbGxiYWNrLCBQYXNzUmVmUHRyPFJUQ1BlZXJDb25uZWN0aW9uRXJyb3JDYWxsYmFjaz4gZXJy
b3JDYWxsYmFjaykKK1JlZjxSVENWb2lkUmVxdWVzdEltcGw+IFJUQ1ZvaWRSZXF1ZXN0SW1wbDo6
Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFBhc3NSZWZQdHI8Vm9pZENh
bGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2ssIFBhc3NSZWZQdHI8UlRDUGVlckNvbm5lY3Rpb25FcnJv
ckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrKQogewotICAgIFJlZlB0cjxSVENWb2lkUmVxdWVzdElt
cGw+IHJlcXVlc3QgPSBhZG9wdFJlZihuZXcgUlRDVm9pZFJlcXVlc3RJbXBsKGNvbnRleHQsIHN1
Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjaykpOworICAgIFJlZjxSVENWb2lkUmVxdWVzdElt
cGw+IHJlcXVlc3QgPSBhZG9wdFJlZigqbmV3IFJUQ1ZvaWRSZXF1ZXN0SW1wbChjb250ZXh0LCBz
dWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2spKTsKICAgICByZXF1ZXN0LT5zdXNwZW5kSWZO
ZWVkZWQoKTsKLSAgICByZXR1cm4gcmVxdWVzdC5yZWxlYXNlKCk7CisgICAgcmV0dXJuIHJlcXVl
c3Q7CiB9CiAKIFJUQ1ZvaWRSZXF1ZXN0SW1wbDo6UlRDVm9pZFJlcXVlc3RJbXBsKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNrPiBzdWNjZXNz
Q2FsbGJhY2ssIFBhc3NSZWZQdHI8UlRDUGVlckNvbm5lY3Rpb25FcnJvckNhbGxiYWNrPiBlcnJv
ckNhbGxiYWNrKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENWb2lkUmVxdWVzdEltcGwuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDVm9pZFJlcXVlc3RJbXBsLmgKaW5kZXggYTQwM2ViMjRjZjJkZjM2YWYwNDg5MTI1ZTBj
OGYyNDJhOTEzNGFhMi4uOTRiOGI4OTk4OWFkY2YwYWVhMDQ1MmI2ODA2YTQ0Y2UzYTM5YTI3NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENWb2lkUmVx
dWVzdEltcGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1Zv
aWRSZXF1ZXN0SW1wbC5oCkBAIC00NCw3ICs0NCw3IEBAIGNsYXNzIFZvaWRDYWxsYmFjazsKIAog
Y2xhc3MgUlRDVm9pZFJlcXVlc3RJbXBsIDogcHVibGljIFJUQ1ZvaWRSZXF1ZXN0LCBwdWJsaWMg
QWN0aXZlRE9NT2JqZWN0IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxSVENWb2lk
UmVxdWVzdEltcGw+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxW
b2lkQ2FsbGJhY2s+LCBQYXNzUmVmUHRyPFJUQ1BlZXJDb25uZWN0aW9uRXJyb3JDYWxsYmFjaz4p
OworICAgIHN0YXRpYyBSZWY8UlRDVm9pZFJlcXVlc3RJbXBsPiBjcmVhdGUoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNrPiwgUGFzc1JlZlB0cjxSVENQZWVy
Q29ubmVjdGlvbkVycm9yQ2FsbGJhY2s+KTsKICAgICB2aXJ0dWFsIH5SVENWb2lkUmVxdWVzdElt
cGwoKTsKIAogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0U3VjY2VlZGVkKCkgb3ZlcnJpZGU7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1NvdXJjZUluZm8u
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Tb3VyY2VJbmZvLmNwcApp
bmRleCBiMTE2ZjJmZDE1MTg0NWY3ZTY2OWZlMDQ4ODljYzljNGFkNGMxMDIwLi40YmI0ZWY4NjBm
NDY3ZTQ2Yjg1NWYzYWMzYTI1M2NkNjIyNDY3ODNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1NvdXJjZUluZm8uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vU291cmNlSW5mby5jcHAKQEAgLTMzLDkgKzMzLDkgQEAKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi1QYXNzUmVmUHRyPFNvdXJjZUluZm8+IFNvdXJjZUluZm86
OmNyZWF0ZShQYXNzUmVmUHRyPFRyYWNrU291cmNlSW5mbz4gdHJhY2tTb3VyY2VJbmZvKQorUmVm
PFNvdXJjZUluZm8+IFNvdXJjZUluZm86OmNyZWF0ZShQYXNzUmVmUHRyPFRyYWNrU291cmNlSW5m
bz4gdHJhY2tTb3VyY2VJbmZvKQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgU291cmNlSW5m
byh0cmFja1NvdXJjZUluZm8pKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTb3VyY2VJbmZv
KHRyYWNrU291cmNlSW5mbykpOwogfQogCiBTb3VyY2VJbmZvOjpTb3VyY2VJbmZvKFBhc3NSZWZQ
dHI8VHJhY2tTb3VyY2VJbmZvPiB0cmFja1NvdXJjZUluZm8pCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1NvdXJjZUluZm8uaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vU291cmNlSW5mby5oCmluZGV4IDIzZjE2MmUzNzhmMWU1ZmM5
M2U5ZTFjZDhiY2JkZjdkMjE0NGU1M2YuLmU1YWJlMGNmNGE2MDFmY2E5YzhlNjliZmRhMDUyZGEw
M2Y4NzlmZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
U291cmNlSW5mby5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vU291
cmNlSW5mby5oCkBAIC00MCw3ICs0MCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3Mg
U291cmNlSW5mbyA6IHB1YmxpYyBSZWZDb3VudGVkPFNvdXJjZUluZm8+LCBwdWJsaWMgU2NyaXB0
V3JhcHBhYmxlIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxTb3VyY2VJbmZvPiBj
cmVhdGUoUGFzc1JlZlB0cjxUcmFja1NvdXJjZUluZm8+KTsKKyAgICBzdGF0aWMgUmVmPFNvdXJj
ZUluZm8+IGNyZWF0ZShQYXNzUmVmUHRyPFRyYWNrU291cmNlSW5mbz4pOwogCiAgICAgY29uc3Qg
QXRvbWljU3RyaW5nJiBzb3VyY2VJZCgpIGNvbnN0IHsgcmV0dXJuIG1fdHJhY2tTb3VyY2VJbmZv
LT5pZCgpOyB9CiAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBsYWJlbCgpIGNvbnN0IHsgcmV0dXJu
IG1fdHJhY2tTb3VyY2VJbmZvLT5sYWJlbCgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmNwcAppbmRleCA0YTlhZTYz
ZTUxYjcxZWRlNzBkYWIzNDQyNmEzMGUyMGY1NTM2ODI4Li5mMGZjNjNhN2VmODA4ZGIyNzk1YTYy
NTc1YTY0NTEwYWNmZjUzMDQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlhUmVxdWVzdC5jcHAKQEAgLTcxLDcgKzcxLDcgQEAgc3Rh
dGljIFBhc3NSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4gcGFyc2VPcHRpb25zKGNvbnN0IERpY3Rp
b25hcnkmIG9wdGlvbnMsIGNvbnMKICAgICByZXR1cm4gY29uc3RyYWludHMucmVsZWFzZSgpOwog
fQogCi1QYXNzUmVmUHRyPFVzZXJNZWRpYVJlcXVlc3Q+IFVzZXJNZWRpYVJlcXVlc3Q6OmNyZWF0
ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBVc2VyTWVkaWFDb250cm9sbGVyKiBj
b250cm9sbGVyLCBjb25zdCBEaWN0aW9uYXJ5JiBvcHRpb25zLCBQYXNzUmVmUHRyPE5hdmlnYXRv
clVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrLCBQYXNzUmVmUHRyPE5h
dmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2ssIEV4Y2VwdGlvbkNv
ZGUmIGVjKQorUmVmUHRyPFVzZXJNZWRpYVJlcXVlc3Q+IFVzZXJNZWRpYVJlcXVlc3Q6OmNyZWF0
ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBVc2VyTWVkaWFDb250cm9sbGVyKiBj
b250cm9sbGVyLCBjb25zdCBEaWN0aW9uYXJ5JiBvcHRpb25zLCBQYXNzUmVmUHRyPE5hdmlnYXRv
clVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrLCBQYXNzUmVmUHRyPE5h
dmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2ssIEV4Y2VwdGlvbkNv
ZGUmIGVjKQogewogICAgIEFTU0VSVChzdWNjZXNzQ2FsbGJhY2spOwogCkBAIC04Niw3ICs4Niw3
IEBAIFBhc3NSZWZQdHI8VXNlck1lZGlhUmVxdWVzdD4gVXNlck1lZGlhUmVxdWVzdDo6Y3JlYXRl
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvCiAgICAgcmV0dXJuIFVzZXJNZWRpYVJlcXVlc3Q6
OmNyZWF0ZShjb250ZXh0LCBjb250cm9sbGVyLCBvcHRpb25zLCBXVEY6Om1vdmUocmVzb2x2ZUNh
bGxiYWNrKSwgV1RGOjptb3ZlKHJlamVjdENhbGxiYWNrKSwgZWMpOwogfQogCi1QYXNzUmVmUHRy
PFVzZXJNZWRpYVJlcXVlc3Q+IFVzZXJNZWRpYVJlcXVlc3Q6OmNyZWF0ZShTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiBjb250ZXh0LCBVc2VyTWVkaWFDb250cm9sbGVyKiBjb250cm9sbGVyLCBjb25z
dCBEaWN0aW9uYXJ5JiBvcHRpb25zLCBNZWRpYURldmljZXM6OlJlc29sdmVDYWxsYmFjayByZXNv
bHZlQ2FsbGJhY2ssIE1lZGlhRGV2aWNlczo6UmVqZWN0Q2FsbGJhY2sgcmVqZWN0Q2FsbGJhY2ss
IEV4Y2VwdGlvbkNvZGUmIGVjKQorUmVmUHRyPFVzZXJNZWRpYVJlcXVlc3Q+IFVzZXJNZWRpYVJl
cXVlc3Q6OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBVc2VyTWVkaWFD
b250cm9sbGVyKiBjb250cm9sbGVyLCBjb25zdCBEaWN0aW9uYXJ5JiBvcHRpb25zLCBNZWRpYURl
dmljZXM6OlJlc29sdmVDYWxsYmFjayByZXNvbHZlQ2FsbGJhY2ssIE1lZGlhRGV2aWNlczo6UmVq
ZWN0Q2FsbGJhY2sgcmVqZWN0Q2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIEFT
U0VSVChyZXNvbHZlQ2FsbGJhY2sgJiYgcmVqZWN0Q2FsbGJhY2spOwogCkBAIC0xMDEsNyArMTAx
LDcgQEAgUGFzc1JlZlB0cjxVc2VyTWVkaWFSZXF1ZXN0PiBVc2VyTWVkaWFSZXF1ZXN0OjpjcmVh
dGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY28KICAgICBpZiAoIWF1ZGlvQ29uc3RyYWludHMg
JiYgIXZpZGVvQ29uc3RyYWludHMpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCi0gICAgcmV0
dXJuIGFkb3B0UmVmKG5ldyBVc2VyTWVkaWFSZXF1ZXN0KGNvbnRleHQsIGNvbnRyb2xsZXIsIGF1
ZGlvQ29uc3RyYWludHMucmVsZWFzZSgpLCB2aWRlb0NvbnN0cmFpbnRzLnJlbGVhc2UoKSwgV1RG
Ojptb3ZlKHJlc29sdmVDYWxsYmFjayksIFdURjo6bW92ZShyZWplY3RDYWxsYmFjaykpKTsKKyAg
ICByZXR1cm4gYWRvcHRSZWYoKm5ldyBVc2VyTWVkaWFSZXF1ZXN0KGNvbnRleHQsIGNvbnRyb2xs
ZXIsIGF1ZGlvQ29uc3RyYWludHMucmVsZWFzZSgpLCB2aWRlb0NvbnN0cmFpbnRzLnJlbGVhc2Uo
KSwgV1RGOjptb3ZlKHJlc29sdmVDYWxsYmFjayksIFdURjo6bW92ZShyZWplY3RDYWxsYmFjaykp
KTsKIH0KIAogVXNlck1lZGlhUmVxdWVzdDo6VXNlck1lZGlhUmVxdWVzdChTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiBjb250ZXh0LCBVc2VyTWVkaWFDb250cm9sbGVyKiBjb250cm9sbGVyLCBQYXNz
UmVmUHRyPE1lZGlhQ29uc3RyYWludHM+IGF1ZGlvQ29uc3RyYWludHMsIFBhc3NSZWZQdHI8TWVk
aWFDb25zdHJhaW50cz4gdmlkZW9Db25zdHJhaW50cywgTWVkaWFEZXZpY2VzOjpSZXNvbHZlQ2Fs
bGJhY2sgcmVzb2x2ZUNhbGxiYWNrLCBNZWRpYURldmljZXM6OlJlamVjdENhbGxiYWNrIHJlamVj
dENhbGxiYWNrKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9Vc2VyTWVkaWFSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1VzZXJNZWRpYVJlcXVlc3QuaAppbmRleCAwYzY4NGFkZDJiZjMxMTBlZDJkMmE1M2E1MjZkNmI1
ZTM0NDZmNzQ0Li5lMzU5YTkxMzQzYTZmMTMzMGE4MTBlMzI5NTllZTM1NGY5OTc3NjY1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVl
c3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJl
cXVlc3QuaApAQCAtNTgsOCArNTgsOCBAQCB0eXBlZGVmIGludCBFeGNlcHRpb25Db2RlOwogCiBj
bGFzcyBVc2VyTWVkaWFSZXF1ZXN0IDogcHVibGljIE1lZGlhU3RyZWFtQ3JlYXRpb25DbGllbnQs
IHB1YmxpYyBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlciB7CiBwdWJsaWM6Ci0gICAgc3RhdGlj
IFBhc3NSZWZQdHI8VXNlck1lZGlhUmVxdWVzdD4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqLCBVc2VyTWVkaWFDb250cm9sbGVyKiwgY29uc3QgRGljdGlvbmFyeSYgb3B0aW9ucywgUGFz
c1JlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2s+LCBQYXNzUmVmUHRyPE5h
dmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2s+LCBFeGNlcHRpb25Db2RlJik7Ci0gICAgc3Rh
dGljIFBhc3NSZWZQdHI8VXNlck1lZGlhUmVxdWVzdD4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqLCBVc2VyTWVkaWFDb250cm9sbGVyKiwgY29uc3QgRGljdGlvbmFyeSYgb3B0aW9ucywg
TWVkaWFEZXZpY2VzOjpSZXNvbHZlQ2FsbGJhY2ssIE1lZGlhRGV2aWNlczo6UmVqZWN0Q2FsbGJh
Y2ssIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICBzdGF0aWMgUmVmUHRyPFVzZXJNZWRpYVJlcXVlc3Q+
IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgVXNlck1lZGlhQ29udHJvbGxlciosIGNv
bnN0IERpY3Rpb25hcnkmIG9wdGlvbnMsIFBhc3NSZWZQdHI8TmF2aWdhdG9yVXNlck1lZGlhU3Vj
Y2Vzc0NhbGxiYWNrPiwgUGFzc1JlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNr
PiwgRXhjZXB0aW9uQ29kZSYpOworICAgIHN0YXRpYyBSZWZQdHI8VXNlck1lZGlhUmVxdWVzdD4g
Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBVc2VyTWVkaWFDb250cm9sbGVyKiwgY29u
c3QgRGljdGlvbmFyeSYgb3B0aW9ucywgTWVkaWFEZXZpY2VzOjpSZXNvbHZlQ2FsbGJhY2ssIE1l
ZGlhRGV2aWNlczo6UmVqZWN0Q2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB+VXNlck1l
ZGlhUmVxdWVzdCgpOwogCiAgICAgV0VCQ09SRV9FWFBPUlQgU2VjdXJpdHlPcmlnaW4qIHNlY3Vy
aXR5T3JpZ2luKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Bs
dWdpbnMvUXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnQubW0gYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3BsdWdpbnMvUXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnQubW0KaW5kZXggZjJhYWVlNjNj
ZmJiOWM1NThmMDU3ZThmNDYzYWJjNTUyZjhmMWVmNy4uMmMzMWNjYjI5YWJlMmY0MDZkNzU1NzAz
N2JkZWNiMWFjNmZjNWVhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wbHVn
aW5zL1F1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvcGx1Z2lucy9RdWlja1RpbWVQbHVnaW5SZXBsYWNlbWVudC5tbQpAQCAtNzUsOSArNzUs
OSBAQCB2b2lkIFF1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50OjpyZWdpc3RlclBsdWdpblJlcGxh
Y2VtZW50KFBsdWdpblJlcGxhY2VtZW50UmVnaQogICAgIHJlZ2lzdHJhcihSZXBsYWNlbWVudFBs
dWdpbihjcmVhdGUsIHN1cHBvcnRzTWltZVR5cGUsIHN1cHBvcnRzRmlsZUV4dGVuc2lvbiwgc3Vw
cG9ydHNVUkwpKTsKIH0KIAotUGFzc1JlZlB0cjxQbHVnaW5SZXBsYWNlbWVudD4gUXVpY2tUaW1l
UGx1Z2luUmVwbGFjZW1lbnQ6OmNyZWF0ZShIVE1MUGx1Z0luRWxlbWVudCYgcGx1Z2luLCBjb25z
dCBWZWN0b3I8U3RyaW5nPiYgcGFyYW1OYW1lcywgY29uc3QgVmVjdG9yPFN0cmluZz4mIHBhcmFt
VmFsdWVzKQorUmVmPFBsdWdpblJlcGxhY2VtZW50PiBRdWlja1RpbWVQbHVnaW5SZXBsYWNlbWVu
dDo6Y3JlYXRlKEhUTUxQbHVnSW5FbGVtZW50JiBwbHVnaW4sIGNvbnN0IFZlY3RvcjxTdHJpbmc+
JiBwYXJhbU5hbWVzLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgcGFyYW1WYWx1ZXMpCiB7Ci0gICAg
cmV0dXJuIGFkb3B0UmVmKG5ldyBRdWlja1RpbWVQbHVnaW5SZXBsYWNlbWVudChwbHVnaW4sIHBh
cmFtTmFtZXMsIHBhcmFtVmFsdWVzKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUXVpY2tU
aW1lUGx1Z2luUmVwbGFjZW1lbnQocGx1Z2luLCBwYXJhbU5hbWVzLCBwYXJhbVZhbHVlcykpOwog
fQogCiBib29sIFF1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50OjpzdXBwb3J0c01pbWVUeXBlKGNv
bnN0IFN0cmluZyYgbWltZVR5cGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3BsdWdpbnMvWW91VHViZVBsdWdpblJlcGxhY2VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvcGx1Z2lucy9Zb3VUdWJlUGx1Z2luUmVwbGFjZW1lbnQuY3BwCmluZGV4IDhmOTZjOWYw
MjhjNzI4ZmRhMDNiYjUwYTdlZTk2YmFmYzNkYTkwNWIuLjgxNjY0OTM5ZWRlMTVmMmU4MGU0NzUy
Mzg2YTc4MWVlN2Q0MDhkMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGx1
Z2lucy9Zb3VUdWJlUGx1Z2luUmVwbGFjZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvcGx1Z2lucy9Zb3VUdWJlUGx1Z2luUmVwbGFjZW1lbnQuY3BwCkBAIC00Myw5ICs0Myw5
IEBAIHZvaWQgWW91VHViZVBsdWdpblJlcGxhY2VtZW50OjpyZWdpc3RlclBsdWdpblJlcGxhY2Vt
ZW50KFBsdWdpblJlcGxhY2VtZW50UmVnaXN0CiAgICAgcmVnaXN0cmFyKFJlcGxhY2VtZW50UGx1
Z2luKGNyZWF0ZSwgc3VwcG9ydHNNaW1lVHlwZSwgc3VwcG9ydHNGaWxlRXh0ZW5zaW9uLCBzdXBw
b3J0c1VSTCkpOwogfQogCi1QYXNzUmVmUHRyPFBsdWdpblJlcGxhY2VtZW50PiBZb3VUdWJlUGx1
Z2luUmVwbGFjZW1lbnQ6OmNyZWF0ZShIVE1MUGx1Z0luRWxlbWVudCYgcGx1Z2luLCBjb25zdCBW
ZWN0b3I8U3RyaW5nPiYgcGFyYW1OYW1lcywgY29uc3QgVmVjdG9yPFN0cmluZz4mIHBhcmFtVmFs
dWVzKQorUmVmPFBsdWdpblJlcGxhY2VtZW50PiBZb3VUdWJlUGx1Z2luUmVwbGFjZW1lbnQ6OmNy
ZWF0ZShIVE1MUGx1Z0luRWxlbWVudCYgcGx1Z2luLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgcGFy
YW1OYW1lcywgY29uc3QgVmVjdG9yPFN0cmluZz4mIHBhcmFtVmFsdWVzKQogewotICAgIHJldHVy
biBhZG9wdFJlZihuZXcgWW91VHViZVBsdWdpblJlcGxhY2VtZW50KHBsdWdpbiwgcGFyYW1OYW1l
cywgcGFyYW1WYWx1ZXMpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBZb3VUdWJlUGx1Z2lu
UmVwbGFjZW1lbnQocGx1Z2luLCBwYXJhbU5hbWVzLCBwYXJhbVZhbHVlcykpOwogfQogCiBib29s
IFlvdVR1YmVQbHVnaW5SZXBsYWNlbWVudDo6c3VwcG9ydHNNaW1lVHlwZShjb25zdCBTdHJpbmcm
IG1pbWVUeXBlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9xdW90YS9TdG9y
YWdlSW5mby5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9xdW90YS9TdG9yYWdlSW5mby5oCmlu
ZGV4IGRkNTA1NzliZjA4YjAwZjUyNzE0NGE4ZGU0N2I3MTExMDg3OTM2ZTYuLjdjNTI2M2MzMDFk
YjFkY2VhY2NiM2JjZDMxY2ZkMzZmNGVhNTQ4MDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvcXVvdGEvU3RvcmFnZUluZm8uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3F1b3RhL1N0b3JhZ2VJbmZvLmgKQEAgLTUyLDkgKzUyLDkgQEAgcHVibGljOgogICAgICAgICBQ
RVJTSVNURU5ULAogICAgIH07CiAKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxTdG9yYWdlSW5mbz4g
Y3JlYXRlKCkKKyAgICBzdGF0aWMgUmVmPFN0b3JhZ2VJbmZvPiBjcmVhdGUoKQogICAgIHsKLSAg
ICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTdG9yYWdlSW5mbygpKTsKKyAgICAgICAgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgU3RvcmFnZUluZm8oKSk7CiAgICAgfQogCiAgICAgdm9pZCBxdWVyeVVz
YWdlQW5kUXVvdGEoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIGludCBzdG9yYWdlVHlwZSwgUGFz
c1JlZlB0cjxTdG9yYWdlVXNhZ2VDYWxsYmFjaz4sIFBhc3NSZWZQdHI8U3RvcmFnZUVycm9yQ2Fs
bGJhY2s+KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcXVvdGEvU3RvcmFn
ZVF1b3RhLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3F1b3RhL1N0b3JhZ2VRdW90YS5oCmlu
ZGV4IDI2NTA0Zjk3NmZlOGI4ZDNiN2RmNGJmYjgwODIyMzU1MWQxMjlmZmMuLjViOWQzOWEyZWUz
OGU1YmUwMWJjNWNhZWNiYmM1NzM1MzA4MWU4MDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvcXVvdGEvU3RvcmFnZVF1b3RhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9xdW90YS9TdG9yYWdlUXVvdGEuaApAQCAtNTAsOSArNTAsOSBAQCBwdWJsaWM6CiAgICAgICAg
IFBlcnNpc3RlbnQsCiAgICAgfTsKIAotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFN0b3JhZ2VRdW90
YT4gY3JlYXRlKFR5cGUgdHlwZSkKKyAgICBzdGF0aWMgUmVmPFN0b3JhZ2VRdW90YT4gY3JlYXRl
KFR5cGUgdHlwZSkKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgU3RvcmFnZVF1
b3RhKHR5cGUpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3RvcmFnZVF1b3RhKHR5
cGUpKTsKICAgICB9CiAKICAgICB2b2lkIHF1ZXJ5VXNhZ2VBbmRRdW90YShTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiwgUGFzc1JlZlB0cjxTdG9yYWdlVXNhZ2VDYWxsYmFjaz4sIFBhc3NSZWZQdHI8
U3RvcmFnZUVycm9yQ2FsbGJhY2s+KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvc3BlZWNoL1NwZWVjaFN5bnRoZXNpcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Nw
ZWVjaC9TcGVlY2hTeW50aGVzaXMuY3BwCmluZGV4IDVkZDQ3Y2NlZmUyZDRjMjU4MmZlYjY3ZThl
OGY4YjgyZWJkNDhiYmQuLjc4NTAzNDBhMTBhN2UzOTQ3NzQ5YzIwMDQwZTY4MGM1YTFiMzRkZTkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFN5bnRoZXNp
cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoU3ludGhlc2lz
LmNwcApAQCAtMzcsOSArMzcsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgCi1QYXNz
UmVmUHRyPFNwZWVjaFN5bnRoZXNpcz4gU3BlZWNoU3ludGhlc2lzOjpjcmVhdGUoKQorUmVmPFNw
ZWVjaFN5bnRoZXNpcz4gU3BlZWNoU3ludGhlc2lzOjpjcmVhdGUoKQogewotICAgIHJldHVybiBh
ZG9wdFJlZihuZXcgU3BlZWNoU3ludGhlc2lzKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBT
cGVlY2hTeW50aGVzaXMpOwogfQogICAgIAogU3BlZWNoU3ludGhlc2lzOjpTcGVlY2hTeW50aGVz
aXMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoU3lu
dGhlc2lzLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXMu
aAppbmRleCBkYTYxZjkwOTU2MzM4MjI3MWZmYzUyMTZhMDgwMmFlYjkzZWQ1YTljLi4zMjIwMzMw
MDYyYmNmNmM0NWJkZmZmZTZkZDQ5NzdlYzljYWQxN2U0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXMuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXMuaApAQCAtNDQsNyArNDQsNyBAQCBjbGFz
cyBTcGVlY2hTeW50aGVzaXNWb2ljZTsKICAgICAKIGNsYXNzIFNwZWVjaFN5bnRoZXNpcyA6IHB1
YmxpYyBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyQ2xpZW50LCBwdWJsaWMgUmVmQ291bnRlZDxT
cGVlY2hTeW50aGVzaXM+IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxTcGVlY2hT
eW50aGVzaXM+IGNyZWF0ZSgpOworICAgIHN0YXRpYyBSZWY8U3BlZWNoU3ludGhlc2lzPiBjcmVh
dGUoKTsKICAgICAKICAgICBib29sIHBlbmRpbmcoKSBjb25zdDsKICAgICBib29sIHNwZWFraW5n
KCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVl
Y2hTeW50aGVzaXNVdHRlcmFuY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gv
U3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlLmNwcAppbmRleCAwYjZjNzRlNjlhNDFjMTc5ZmIxY2Iw
Zjc0N2FlNjRhZGU2NzVhMWU0Li44ZTc5ZTlkNGY5YzFjNjczMTY2OGEzMzViNGQ2YWU0OTUxZGI4
ZmUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50
aGVzaXNVdHRlcmFuY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3BlZWNoL1Nw
ZWVjaFN5bnRoZXNpc1V0dGVyYW5jZS5jcHAKQEAgLTMwLDkgKzMwLDkgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgIAotUGFzc1JlZlB0cjxTcGVlY2hTeW50aGVzaXNVdHRlcmFuY2U+IFNw
ZWVjaFN5bnRoZXNpc1V0dGVyYW5jZTo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNv
bnRleHQsIGNvbnN0IFN0cmluZyYgdGV4dCkKK1JlZjxTcGVlY2hTeW50aGVzaXNVdHRlcmFuY2U+
IFNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZTo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
IGNvbnRleHQsIGNvbnN0IFN0cmluZyYgdGV4dCkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3
IFNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZShjb250ZXh0LCB0ZXh0KSk7CisgICAgcmV0dXJuIGFk
b3B0UmVmKCpuZXcgU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlKGNvbnRleHQsIHRleHQpKTsKIH0K
IAogU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlOjpTcGVlY2hTeW50aGVzaXNVdHRlcmFuY2UoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgY29uc3QgU3RyaW5nJiB0ZXh0KQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoU3ludGhlc2lzVXR0ZXJh
bmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXNVdHRl
cmFuY2UuaAppbmRleCAxY2Q4ZTVhNTJiYzhhNTY1NDNmOTkyNzk0NTk3OGFlZTRjYjBhMDIwLi4x
OTAxNmRmZDUxMzMyY2UwNjBjZDBkYWM1MjFmODM5YTg3NjgxNGZhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXNVdHRlcmFuY2UuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXNVdHRlcmFuY2Uu
aApAQCAtMzksNyArMzksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNwZWVjaFN5
bnRoZXNpc1V0dGVyYW5jZSBmaW5hbCA6IHB1YmxpYyBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpc1V0
dGVyYW5jZUNsaWVudCwgcHVibGljIFJlZkNvdW50ZWQ8U3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNl
PiwgcHVibGljIENvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyLCBwdWJsaWMgRXZlbnRUYXJnZXRX
aXRoSW5saW5lRGF0YSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8U3BlZWNoU3lu
dGhlc2lzVXR0ZXJhbmNlPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIGNvbnN0IFN0
cmluZyYpOworICAgIHN0YXRpYyBSZWY8U3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlPiBjcmVhdGUo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIGNvbnN0IFN0cmluZyYpOwogICAgIAogICAgIH5TcGVl
Y2hTeW50aGVzaXNVdHRlcmFuY2UoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9zcGVlY2gvU3BlZWNoU3ludGhlc2lzVm9pY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9zcGVlY2gvU3BlZWNoU3ludGhlc2lzVm9pY2UuY3BwCmluZGV4IDJmOWFkNmU1M2NmNDNj
NjU4MWJmYzIxMGRhYTQwMmQ5NDM5ZWViMWMuLmRkMWNmMDljMjkzNzcxZWY5YmUxYTdiNmE5MTU5
ZGU3MmIyMWFiODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3BlZWNoL1Nw
ZWVjaFN5bnRoZXNpc1ZvaWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVj
aC9TcGVlY2hTeW50aGVzaXNWb2ljZS5jcHAKQEAgLTMwLDkgKzMwLDkgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgIAotUGFzc1JlZlB0cjxTcGVlY2hTeW50aGVzaXNWb2ljZT4gU3BlZWNo
U3ludGhlc2lzVm9pY2U6OmNyZWF0ZShQYXNzUmVmUHRyPFBsYXRmb3JtU3BlZWNoU3ludGhlc2lz
Vm9pY2U+IHZvaWNlKQorUmVmPFNwZWVjaFN5bnRoZXNpc1ZvaWNlPiBTcGVlY2hTeW50aGVzaXNW
b2ljZTo6Y3JlYXRlKFBhc3NSZWZQdHI8UGxhdGZvcm1TcGVlY2hTeW50aGVzaXNWb2ljZT4gdm9p
Y2UpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTcGVlY2hTeW50aGVzaXNWb2ljZSh2b2lj
ZSkpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNwZWVjaFN5bnRoZXNpc1ZvaWNlKHZvaWNl
KSk7CiB9CiAKIFNwZWVjaFN5bnRoZXNpc1ZvaWNlOjpTcGVlY2hTeW50aGVzaXNWb2ljZShQYXNz
UmVmUHRyPFBsYXRmb3JtU3BlZWNoU3ludGhlc2lzVm9pY2U+IHZvaWNlKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoU3ludGhlc2lzVm9pY2UuaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFN5bnRoZXNpc1ZvaWNlLmgKaW5kZXgg
YWI1NTQwODc0ZWZiMjRjMjA0NDYwNDc5YzdkZjk5YzRlNTkwM2UwNy4uZDViODg0OGJiMDBiYWIw
MGE5MzNiYzNiZTUxMTNlYTJiZGEzMDRjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9zcGVlY2gvU3BlZWNoU3ludGhlc2lzVm9pY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXNWb2ljZS5oCkBAIC0zOCw3ICszOCw3IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFNwZWVjaFN5bnRoZXNpc1ZvaWNlIDogcHVibGljIFJl
ZkNvdW50ZWQ8U3BlZWNoU3ludGhlc2lzVm9pY2U+IHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5T
cGVlY2hTeW50aGVzaXNWb2ljZSgpIHsgfQotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNwZWVjaFN5
bnRoZXNpc1ZvaWNlPiBjcmVhdGUoUGFzc1JlZlB0cjxQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpc1Zv
aWNlPik7CisgICAgc3RhdGljIFJlZjxTcGVlY2hTeW50aGVzaXNWb2ljZT4gY3JlYXRlKFBhc3NS
ZWZQdHI8UGxhdGZvcm1TcGVlY2hTeW50aGVzaXNWb2ljZT4pOwogICAgIAogICAgIGNvbnN0IFN0
cmluZyYgdm9pY2VVUkkoKSBjb25zdCB7IHJldHVybiBtX3BsYXRmb3JtVm9pY2UtPnZvaWNlVVJJ
KCk7IH0KICAgICBjb25zdCBTdHJpbmcmIG5hbWUoKSBjb25zdCB7IHJldHVybiBtX3BsYXRmb3Jt
Vm9pY2UtPm5hbWUoKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9DaGFubmVsTWVyZ2VyTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL0NoYW5uZWxNZXJnZXJOb2RlLmNwcAppbmRleCBjYTIyMmVjZTUyOTkzZmIzNDIxOTQ0M2Nh
ODE1YzljOTUzOTc0ZmEzLi41MmQyM2IzMzM3MjFjMDNiZWIwNjRlYmFhMjIwOWQ0MjQxNjUxMWFm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0NoYW5uZWxNZXJn
ZXJOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0NoYW5uZWxN
ZXJnZXJOb2RlLmNwcApAQCAtNDAsMTIgKzQwLDEyIEBAIGNvbnN0IHVuc2lnbmVkIERlZmF1bHRO
dW1iZXJPZk91dHB1dENoYW5uZWxzID0gMTsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1QYXNz
UmVmUHRyPENoYW5uZWxNZXJnZXJOb2RlPiBDaGFubmVsTWVyZ2VyTm9kZTo6Y3JlYXRlKEF1ZGlv
Q29udGV4dCogY29udGV4dCwgZmxvYXQgc2FtcGxlUmF0ZSwgdW5zaWduZWQgbnVtYmVyT2ZJbnB1
dHMpCitSZWZQdHI8Q2hhbm5lbE1lcmdlck5vZGU+IENoYW5uZWxNZXJnZXJOb2RlOjpjcmVhdGUo
QXVkaW9Db250ZXh0KiBjb250ZXh0LCBmbG9hdCBzYW1wbGVSYXRlLCB1bnNpZ25lZCBudW1iZXJP
ZklucHV0cykKIHsKICAgICBpZiAoIW51bWJlck9mSW5wdXRzIHx8IG51bWJlck9mSW5wdXRzID4g
QXVkaW9Db250ZXh0OjptYXhOdW1iZXJPZkNoYW5uZWxzKCkpCiAgICAgICAgIHJldHVybiBudWxs
cHRyOwogICAgIAotICAgIHJldHVybiBhZG9wdFJlZihuZXcgQ2hhbm5lbE1lcmdlck5vZGUoY29u
dGV4dCwgc2FtcGxlUmF0ZSwgbnVtYmVyT2ZJbnB1dHMpKTsgICAgICAKKyAgICByZXR1cm4gYWRv
cHRSZWYoKm5ldyBDaGFubmVsTWVyZ2VyTm9kZShjb250ZXh0LCBzYW1wbGVSYXRlLCBudW1iZXJP
ZklucHV0cykpOyAgICAgIAogfQogCiBDaGFubmVsTWVyZ2VyTm9kZTo6Q2hhbm5lbE1lcmdlck5v
ZGUoQXVkaW9Db250ZXh0KiBjb250ZXh0LCBmbG9hdCBzYW1wbGVSYXRlLCB1bnNpZ25lZCBudW1i
ZXJPZklucHV0cykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8v
Q2hhbm5lbE1lcmdlck5vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQ2hh
bm5lbE1lcmdlck5vZGUuaAppbmRleCBkMDY1ZWRiN2UyYTE1NGYxMzc4NmRkOGQzN2M0ZGZkYzk1
NzE1MTY1Li5jNTVjMmViZDhhM2EzZDM5MmMyZDg2MWJhYjg1MmM4Njg3YzAzYWQzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0NoYW5uZWxNZXJnZXJOb2RlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9DaGFubmVsTWVyZ2VyTm9kZS5o
CkBAIC0zOCw3ICszOCw3IEBAIGNsYXNzIEF1ZGlvQ29udGV4dDsKICAgICAKIGNsYXNzIENoYW5u
ZWxNZXJnZXJOb2RlIDogcHVibGljIEF1ZGlvTm9kZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBh
c3NSZWZQdHI8Q2hhbm5lbE1lcmdlck5vZGU+IGNyZWF0ZShBdWRpb0NvbnRleHQqLCBmbG9hdCBz
YW1wbGVSYXRlLCB1bnNpZ25lZCBudW1iZXJPZklucHV0cyk7CisgICAgc3RhdGljIFJlZlB0cjxD
aGFubmVsTWVyZ2VyTm9kZT4gY3JlYXRlKEF1ZGlvQ29udGV4dCosIGZsb2F0IHNhbXBsZVJhdGUs
IHVuc2lnbmVkIG51bWJlck9mSW5wdXRzKTsKIAogICAgIC8vIEF1ZGlvTm9kZQogICAgIHZpcnR1
YWwgdm9pZCBwcm9jZXNzKHNpemVfdCBmcmFtZXNUb1Byb2Nlc3MpIG92ZXJyaWRlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9DaGFubmVsU3BsaXR0ZXJOb2Rl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQ2hhbm5lbFNwbGl0dGVyTm9k
ZS5jcHAKaW5kZXggODhlZDI5ZDZjY2VhMGI2N2ZiNTRkMTRmNjU3OWJhOWIzNjg0MzI2Zi4uN2Jm
ZTRkMGQ1NmQ2MmQzODYzZjViNmEzOTRhOTQ0NzVjODM4YWQwMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9DaGFubmVsU3BsaXR0ZXJOb2RlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0NoYW5uZWxTcGxpdHRlck5vZGUuY3BwCkBA
IC0zNCwxMiArMzQsMTIgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIAotUGFzc1JlZlB0
cjxDaGFubmVsU3BsaXR0ZXJOb2RlPiBDaGFubmVsU3BsaXR0ZXJOb2RlOjpjcmVhdGUoQXVkaW9D
b250ZXh0KiBjb250ZXh0LCBmbG9hdCBzYW1wbGVSYXRlLCB1bnNpZ25lZCBudW1iZXJPZk91dHB1
dHMpCitSZWZQdHI8Q2hhbm5lbFNwbGl0dGVyTm9kZT4gQ2hhbm5lbFNwbGl0dGVyTm9kZTo6Y3Jl
YXRlKEF1ZGlvQ29udGV4dCogY29udGV4dCwgZmxvYXQgc2FtcGxlUmF0ZSwgdW5zaWduZWQgbnVt
YmVyT2ZPdXRwdXRzKQogewogICAgIGlmICghbnVtYmVyT2ZPdXRwdXRzIHx8IG51bWJlck9mT3V0
cHV0cyA+IEF1ZGlvQ29udGV4dDo6bWF4TnVtYmVyT2ZDaGFubmVscygpKQogICAgICAgICByZXR1
cm4gbnVsbHB0cjsKIAotICAgIHJldHVybiBhZG9wdFJlZihuZXcgQ2hhbm5lbFNwbGl0dGVyTm9k
ZShjb250ZXh0LCBzYW1wbGVSYXRlLCBudW1iZXJPZk91dHB1dHMpKTsgICAgICAKKyAgICByZXR1
cm4gYWRvcHRSZWYoKm5ldyBDaGFubmVsU3BsaXR0ZXJOb2RlKGNvbnRleHQsIHNhbXBsZVJhdGUs
IG51bWJlck9mT3V0cHV0cykpOyAgICAgIAogfQogCiBDaGFubmVsU3BsaXR0ZXJOb2RlOjpDaGFu
bmVsU3BsaXR0ZXJOb2RlKEF1ZGlvQ29udGV4dCogY29udGV4dCwgZmxvYXQgc2FtcGxlUmF0ZSwg
dW5zaWduZWQgbnVtYmVyT2ZPdXRwdXRzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJhdWRpby9DaGFubmVsU3BsaXR0ZXJOb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL0NoYW5uZWxTcGxpdHRlck5vZGUuaAppbmRleCA5ZDA3Mjc5ZTI0NzhhODlh
NDVmOTc4OGYwMTNlNzZhZTI5ZGVhMmNkLi5jM2M3MWRjM2Y3ZDQ3M2ZmNWMxZGVkNjQ2ZTQ4NjI1
YTgwZmQ1MTM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0No
YW5uZWxTcGxpdHRlck5vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlv
L0NoYW5uZWxTcGxpdHRlck5vZGUuaApAQCAtMzQsNyArMzQsNyBAQCBjbGFzcyBBdWRpb0NvbnRl
eHQ7CiAgICAgCiBjbGFzcyBDaGFubmVsU3BsaXR0ZXJOb2RlIDogcHVibGljIEF1ZGlvTm9kZSB7
CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8Q2hhbm5lbFNwbGl0dGVyTm9kZT4gY3Jl
YXRlKEF1ZGlvQ29udGV4dCosIGZsb2F0IHNhbXBsZVJhdGUsIHVuc2lnbmVkIG51bWJlck9mT3V0
cHV0cyk7CisgICAgc3RhdGljIFJlZlB0cjxDaGFubmVsU3BsaXR0ZXJOb2RlPiBjcmVhdGUoQXVk
aW9Db250ZXh0KiwgZmxvYXQgc2FtcGxlUmF0ZSwgdW5zaWduZWQgbnVtYmVyT2ZPdXRwdXRzKTsK
IAogICAgIC8vIEF1ZGlvTm9kZQogICAgIHZpcnR1YWwgdm9pZCBwcm9jZXNzKHNpemVfdCBmcmFt
ZXNUb1Byb2Nlc3MpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJhdWRpby9EZWZhdWx0QXVkaW9EZXN0aW5hdGlvbk5vZGUuaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vRGVmYXVsdEF1ZGlvRGVzdGluYXRpb25Ob2RlLmgKaW5kZXggYjFk
NjI4ZGQyZTljZDBkNzQ5NDMzMzg2ODI5NTUwYjQxZjI1YTZkZC4uMWU4NWNjODA5NmMyZGY0MzVh
YzUwNWFjOTNkODBiMDA5NWE0NWEyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJhdWRpby9EZWZhdWx0QXVkaW9EZXN0aW5hdGlvbk5vZGUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0RlZmF1bHRBdWRpb0Rlc3RpbmF0aW9uTm9kZS5oCkBAIC0z
NSw5ICszNSw5IEBAIGNsYXNzIEF1ZGlvQ29udGV4dDsKICAgICAKIGNsYXNzIERlZmF1bHRBdWRp
b0Rlc3RpbmF0aW9uTm9kZSA6IHB1YmxpYyBBdWRpb0Rlc3RpbmF0aW9uTm9kZSB7CiBwdWJsaWM6
Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8RGVmYXVsdEF1ZGlvRGVzdGluYXRpb25Ob2RlPiBjcmVh
dGUoQXVkaW9Db250ZXh0KiBjb250ZXh0KQorICAgIHN0YXRpYyBSZWY8RGVmYXVsdEF1ZGlvRGVz
dGluYXRpb25Ob2RlPiBjcmVhdGUoQXVkaW9Db250ZXh0KiBjb250ZXh0KQogICAgIHsKLSAgICAg
ICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBEZWZhdWx0QXVkaW9EZXN0aW5hdGlvbk5vZGUoY29udGV4
dCkpOyAgICAgCisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IERlZmF1bHRBdWRpb0Rlc3Rp
bmF0aW9uTm9kZShjb250ZXh0KSk7ICAgICAKICAgICB9CiAKICAgICB2aXJ0dWFsIH5EZWZhdWx0
QXVkaW9EZXN0aW5hdGlvbk5vZGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViYXVkaW8vR2Fpbk5vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8v
R2Fpbk5vZGUuaAppbmRleCAzYThjNWRmZDg1Mjg5ZDc3MmMzNjc0NTQzMTYxMTBlY2QzYWU3N2Y2
Li42ZmM2ZmE1NTBhMDE3YWJmMzdmYTU0M2NjMmRlZTZjNGI5OGZlZjUyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0dhaW5Ob2RlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9HYWluTm9kZS5oCkBAIC0zOSw5ICszOSw5IEBAIGNsYXNz
IEF1ZGlvQ29udGV4dDsKIAogY2xhc3MgR2Fpbk5vZGUgOiBwdWJsaWMgQXVkaW9Ob2RlIHsKIHB1
YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxHYWluTm9kZT4gY3JlYXRlKEF1ZGlvQ29udGV4
dCogY29udGV4dCwgZmxvYXQgc2FtcGxlUmF0ZSkKKyAgICBzdGF0aWMgUmVmPEdhaW5Ob2RlPiBj
cmVhdGUoQXVkaW9Db250ZXh0KiBjb250ZXh0LCBmbG9hdCBzYW1wbGVSYXRlKQogICAgIHsKLSAg
ICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBHYWluTm9kZShjb250ZXh0LCBzYW1wbGVSYXRlKSk7
CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEdhaW5Ob2RlKGNvbnRleHQsIHNhbXBsZVJh
dGUpKTsKICAgICB9CiAKICAgICAvLyBBdWRpb05vZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2Rl
LmNwcAppbmRleCAwZTUwMjU4YWNiNmI1ZjFiOTY5MGM5ODdlMTk0ODU1MWMwMjkyYzMwLi5iMzJm
ZDVkZDkzMDg1NzA5NmM3MWJmYzNmZWVjMWZmYjhkODJmNjg2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYUVsZW1lbnRBdWRpb1Nv
dXJjZU5vZGUuY3BwCkBAIC00MCw5ICs0MCw5IEBAIGNvbnN0IHVuc2lnbmVkIG1heFNhbXBsZVJh
dGUgPSAxOTIwMDA7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUGFzc1JlZlB0cjxNZWRpYUVs
ZW1lbnRBdWRpb1NvdXJjZU5vZGU+IE1lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZTo6Y3JlYXRl
KEF1ZGlvQ29udGV4dCogY29udGV4dCwgSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50KQor
UmVmPE1lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZT4gTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VO
b2RlOjpjcmVhdGUoQXVkaW9Db250ZXh0KiBjb250ZXh0LCBIVE1MTWVkaWFFbGVtZW50KiBtZWRp
YUVsZW1lbnQpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBNZWRpYUVsZW1lbnRBdWRpb1Nv
dXJjZU5vZGUoY29udGV4dCwgbWVkaWFFbGVtZW50KSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlKGNvbnRleHQsIG1lZGlhRWxlbWVudCkpOwog
fQogCiBNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGU6Ok1lZGlhRWxlbWVudEF1ZGlvU291cmNl
Tm9kZShBdWRpb0NvbnRleHQqIGNvbnRleHQsIEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVu
dCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFFbGVt
ZW50QXVkaW9Tb3VyY2VOb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01l
ZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZS5oCmluZGV4IDdmNThhZTdiMmNkOWYzNmU3MmM2OWU0
MzU4NGRlOTc3YzI5ZDVhNDMuLmY5NGE2NDdkNDI0Mjg5MjE0M2RhNWIyYjJjODE2OTMzMGRjOWQ3
OTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFFbGVt
ZW50QXVkaW9Tb3VyY2VOb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9NZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUuaApAQCAtNDEsNyArNDEsNyBAQCBjbGFzcyBB
dWRpb0NvbnRleHQ7CiAgICAgCiBjbGFzcyBNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUgOiBw
dWJsaWMgQXVkaW9Ob2RlLCBwdWJsaWMgQXVkaW9Tb3VyY2VQcm92aWRlckNsaWVudCB7CiBwdWJs
aWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8TWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlPiBj
cmVhdGUoQXVkaW9Db250ZXh0KiwgSFRNTE1lZGlhRWxlbWVudCopOworICAgIHN0YXRpYyBSZWY8
TWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlPiBjcmVhdGUoQXVkaW9Db250ZXh0KiwgSFRNTE1l
ZGlhRWxlbWVudCopOwogCiAgICAgdmlydHVhbCB+TWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2Rl
KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFT
dHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwCmluZGV4IDBmZWI3Yzg4
ODVlMjZlYmE4ZWM0NmU0ZTZlMDY3ZDEwNzBiYjJmZGMuLjEyMTAxYTQzYzhlNjBkMjE5ZWI4ZTEy
ZTY5ZmQwM2EzYzcwZmQ5MTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
YXVkaW8vTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2RlLmNw
cApAQCAtMzcsOSArMzcsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVBhc3NSZWZQdHI8
TWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZT4gTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0
aW9uTm9kZTo6Y3JlYXRlKEF1ZGlvQ29udGV4dCogY29udGV4dCwgc2l6ZV90IG51bWJlck9mQ2hh
bm5lbHMpCitSZWY8TWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZT4gTWVkaWFTdHJlYW1B
dWRpb0Rlc3RpbmF0aW9uTm9kZTo6Y3JlYXRlKEF1ZGlvQ29udGV4dCogY29udGV4dCwgc2l6ZV90
IG51bWJlck9mQ2hhbm5lbHMpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBNZWRpYVN0cmVh
bUF1ZGlvRGVzdGluYXRpb25Ob2RlKGNvbnRleHQsIG51bWJlck9mQ2hhbm5lbHMpKTsKKyAgICBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBNZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2RlKGNvbnRl
eHQsIG51bWJlck9mQ2hhbm5lbHMpKTsKIH0KIAogTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9u
Tm9kZTo6TWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZShBdWRpb0NvbnRleHQqIGNvbnRl
eHQsIHNpemVfdCBudW1iZXJPZkNoYW5uZWxzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2RlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5v
ZGUuaAppbmRleCAwNThkNWEzYTk3MWMzYTkzOTVlZmUxOTJmMTRlYmZhMWIyODVhZWZmLi4yZjQ5
MTYxYjcxODQ0OGMwNjFmZTViOWEyZWUzZWYzOWE3NWZkZTlmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGUu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9E
ZXN0aW5hdGlvbk5vZGUuaApAQCAtMzksNyArMzksNyBAQCBjbGFzcyBNZWRpYVN0cmVhbUF1ZGlv
U291cmNlOwogCiBjbGFzcyBNZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2RlIDogcHVibGlj
IEF1ZGlvQmFzaWNJbnNwZWN0b3JOb2RlIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0
cjxNZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2RlPiBjcmVhdGUoQXVkaW9Db250ZXh0Kiwg
c2l6ZV90IG51bWJlck9mQ2hhbm5lbHMpOworICAgIHN0YXRpYyBSZWY8TWVkaWFTdHJlYW1BdWRp
b0Rlc3RpbmF0aW9uTm9kZT4gY3JlYXRlKEF1ZGlvQ29udGV4dCosIHNpemVfdCBudW1iZXJPZkNo
YW5uZWxzKTsKIAogICAgIHZpcnR1YWwgfk1lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGUo
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0
cmVhbUF1ZGlvU291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVk
aWFTdHJlYW1BdWRpb1NvdXJjZS5jcHAKaW5kZXggOTU0NWI3YmJjZmE4ZjM2YzZhMjAzYzE1MDI1
OTczNjdmMmMxZmNiZi4uZWQ3OGE3YzBkMmM1NDcyOTUwOWU2Yzk5MDY2YjMzNzg3MWRmMWRkNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0cmVhbUF1
ZGlvU291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlh
U3RyZWFtQXVkaW9Tb3VyY2UuY3BwCkBAIC0zNCw5ICszNCw5IEBACiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotUmVmUHRyPE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2U+IE1lZGlhU3RyZWFtQXVkaW9T
b3VyY2U6OmNyZWF0ZSgpCitSZWY8TWVkaWFTdHJlYW1BdWRpb1NvdXJjZT4gTWVkaWFTdHJlYW1B
dWRpb1NvdXJjZTo6Y3JlYXRlKCkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IE1lZGlhU3Ry
ZWFtQXVkaW9Tb3VyY2UoKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTWVkaWFTdHJlYW1B
dWRpb1NvdXJjZSgpKTsKIH0KIAogTWVkaWFTdHJlYW1BdWRpb1NvdXJjZTo6TWVkaWFTdHJlYW1B
dWRpb1NvdXJjZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlv
L01lZGlhU3RyZWFtQXVkaW9Tb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVk
aW8vTWVkaWFTdHJlYW1BdWRpb1NvdXJjZS5oCmluZGV4IDk0NzIyN2Y4ZjkwZjVkNWM5NDQ4NDBm
MjZmMjIwNjRiMjRhZmI1MGEuLjQxOGIzMmU4ZjgxMmNlMjRhOTJjNzU4YjliZjkzZmYyNDkyY2Fi
YzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJl
YW1BdWRpb1NvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVk
aWFTdHJlYW1BdWRpb1NvdXJjZS5oCkBAIC00Miw3ICs0Miw3IEBAIGNsYXNzIFJlYWx0aW1lTWVk
aWFTb3VyY2VDYXBhYmlsaXRpZXM7CiAKIGNsYXNzIE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2UgOiBw
dWJsaWMgUmVhbHRpbWVNZWRpYVNvdXJjZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZlB0cjxN
ZWRpYVN0cmVhbUF1ZGlvU291cmNlPiBjcmVhdGUoKTsKKyAgICBzdGF0aWMgUmVmPE1lZGlhU3Ry
ZWFtQXVkaW9Tb3VyY2U+IGNyZWF0ZSgpOwogCiAgICAgfk1lZGlhU3RyZWFtQXVkaW9Tb3VyY2Uo
KSB7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRp
YVN0cmVhbUF1ZGlvU291cmNlTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL01lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlLmNwcAppbmRleCA4NjcyMTJlNTFmYjBmZjZk
MmFiZDI2ZmYwNGViNDIxYjQ3MDUwZTE3Li5kMWFiYmM2M2M3NTYzYzYwODU4NTUwOWUzMTVjOWFm
MjkxZDMwOGRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01l
ZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlLmNwcApAQCAtMzUsOSArMzUsOSBA
QAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVBhc3NSZWZQdHI8TWVkaWFTdHJlYW1BdWRpb1Nv
dXJjZU5vZGU+IE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlOjpjcmVhdGUoQXVkaW9Db250ZXh0
KiBjb250ZXh0LCBNZWRpYVN0cmVhbSogbWVkaWFTdHJlYW0sIE1lZGlhU3RyZWFtVHJhY2sqIGF1
ZGlvVHJhY2ssIEF1ZGlvU291cmNlUHJvdmlkZXIqIGF1ZGlvU291cmNlUHJvdmlkZXIpCitSZWY8
TWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGU+IE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlOjpj
cmVhdGUoQXVkaW9Db250ZXh0KiBjb250ZXh0LCBNZWRpYVN0cmVhbSogbWVkaWFTdHJlYW0sIE1l
ZGlhU3RyZWFtVHJhY2sqIGF1ZGlvVHJhY2ssIEF1ZGlvU291cmNlUHJvdmlkZXIqIGF1ZGlvU291
cmNlUHJvdmlkZXIpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBNZWRpYVN0cmVhbUF1ZGlv
U291cmNlTm9kZShjb250ZXh0LCBtZWRpYVN0cmVhbSwgYXVkaW9UcmFjaywgYXVkaW9Tb3VyY2VQ
cm92aWRlcikpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IE1lZGlhU3RyZWFtQXVkaW9Tb3Vy
Y2VOb2RlKGNvbnRleHQsIG1lZGlhU3RyZWFtLCBhdWRpb1RyYWNrLCBhdWRpb1NvdXJjZVByb3Zp
ZGVyKSk7CiB9CiAKIE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlOjpNZWRpYVN0cmVhbUF1ZGlv
U291cmNlTm9kZShBdWRpb0NvbnRleHQqIGNvbnRleHQsIE1lZGlhU3RyZWFtKiBtZWRpYVN0cmVh
bSwgTWVkaWFTdHJlYW1UcmFjayogYXVkaW9UcmFjaywgQXVkaW9Tb3VyY2VQcm92aWRlciogYXVk
aW9Tb3VyY2VQcm92aWRlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
YXVkaW8vTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGUuaAppbmRleCBkMjljOTAzNjE2
NTlkMTgxODk1NTQwNTM0MDU2YmJmODI4OWY3NmUzLi4xYzZjZGQ5NThhYTg4MjY4NGY4ZDBlZjZk
OTA3NTE5YzNmNDM3NzU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL01lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZS5oCkBAIC00MCw3ICs0MCw3
IEBAIGNsYXNzIEF1ZGlvQ29udGV4dDsKIAogY2xhc3MgTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5v
ZGUgOiBwdWJsaWMgQXVkaW9Ob2RlLCBwdWJsaWMgQXVkaW9Tb3VyY2VQcm92aWRlckNsaWVudCB7
CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5v
ZGU+IGNyZWF0ZShBdWRpb0NvbnRleHQqLCBNZWRpYVN0cmVhbSosIE1lZGlhU3RyZWFtVHJhY2sq
LCBBdWRpb1NvdXJjZVByb3ZpZGVyKik7CisgICAgc3RhdGljIFJlZjxNZWRpYVN0cmVhbUF1ZGlv
U291cmNlTm9kZT4gY3JlYXRlKEF1ZGlvQ29udGV4dCosIE1lZGlhU3RyZWFtKiwgTWVkaWFTdHJl
YW1UcmFjayosIEF1ZGlvU291cmNlUHJvdmlkZXIqKTsKIAogICAgIHZpcnR1YWwgfk1lZGlhU3Ry
ZWFtQXVkaW9Tb3VyY2VOb2RlKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViYXVkaW8vT3NjaWxsYXRvck5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJhdWRpby9Pc2NpbGxhdG9yTm9kZS5jcHAKaW5kZXggYTRlZjljYTk3ZDkzOTIwMjVmZTU2OWU2
NjEwMmJlMGMwYmM1ZjA4ZC4uOTljOTNhZDg3NmYwYmQ4NzIxZGJkYjkzZTllMjUzYjI3N2E4MTAy
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9Pc2NpbGxhdG9y
Tm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9Pc2NpbGxhdG9y
Tm9kZS5jcHAKQEAgLTEyMSwyMiArMTIxLDIyIEBAIGJvb2wgT3NjaWxsYXRvck5vZGU6OnNldFR5
cGUodW5zaWduZWQgdHlwZSkKICAgICBzd2l0Y2ggKHR5cGUpIHsKICAgICBjYXNlIFNJTkU6CiAg
ICAgICAgIGlmICghc19wZXJpb2RpY1dhdmVTaW5lKQotICAgICAgICAgICAgc19wZXJpb2RpY1dh
dmVTaW5lID0gUGVyaW9kaWNXYXZlOjpjcmVhdGVTaW5lKHNhbXBsZVJhdGUpLmxlYWtSZWYoKTsK
KyAgICAgICAgICAgIHNfcGVyaW9kaWNXYXZlU2luZSA9ICZQZXJpb2RpY1dhdmU6OmNyZWF0ZVNp
bmUoc2FtcGxlUmF0ZSkubGVha1JlZigpOwogICAgICAgICBwZXJpb2RpY1dhdmUgPSBzX3Blcmlv
ZGljV2F2ZVNpbmU7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgU1FVQVJFOgogICAgICAgICBp
ZiAoIXNfcGVyaW9kaWNXYXZlU3F1YXJlKQotICAgICAgICAgICAgc19wZXJpb2RpY1dhdmVTcXVh
cmUgPSBQZXJpb2RpY1dhdmU6OmNyZWF0ZVNxdWFyZShzYW1wbGVSYXRlKS5sZWFrUmVmKCk7Cisg
ICAgICAgICAgICBzX3BlcmlvZGljV2F2ZVNxdWFyZSA9ICZQZXJpb2RpY1dhdmU6OmNyZWF0ZVNx
dWFyZShzYW1wbGVSYXRlKS5sZWFrUmVmKCk7CiAgICAgICAgIHBlcmlvZGljV2F2ZSA9IHNfcGVy
aW9kaWNXYXZlU3F1YXJlOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFNBV1RPT1RIOgogICAg
ICAgICBpZiAoIXNfcGVyaW9kaWNXYXZlU2F3dG9vdGgpCi0gICAgICAgICAgICBzX3BlcmlvZGlj
V2F2ZVNhd3Rvb3RoID0gUGVyaW9kaWNXYXZlOjpjcmVhdGVTYXd0b290aChzYW1wbGVSYXRlKS5s
ZWFrUmVmKCk7CisgICAgICAgICAgICBzX3BlcmlvZGljV2F2ZVNhd3Rvb3RoID0gJlBlcmlvZGlj
V2F2ZTo6Y3JlYXRlU2F3dG9vdGgoc2FtcGxlUmF0ZSkubGVha1JlZigpOwogICAgICAgICBwZXJp
b2RpY1dhdmUgPSBzX3BlcmlvZGljV2F2ZVNhd3Rvb3RoOwogICAgICAgICBicmVhazsKICAgICBj
YXNlIFRSSUFOR0xFOgogICAgICAgICBpZiAoIXNfcGVyaW9kaWNXYXZlVHJpYW5nbGUpCi0gICAg
ICAgICAgICBzX3BlcmlvZGljV2F2ZVRyaWFuZ2xlID0gUGVyaW9kaWNXYXZlOjpjcmVhdGVUcmlh
bmdsZShzYW1wbGVSYXRlKS5sZWFrUmVmKCk7CisgICAgICAgICAgICBzX3BlcmlvZGljV2F2ZVRy
aWFuZ2xlID0gJlBlcmlvZGljV2F2ZTo6Y3JlYXRlVHJpYW5nbGUoc2FtcGxlUmF0ZSkubGVha1Jl
ZigpOwogICAgICAgICBwZXJpb2RpY1dhdmUgPSBzX3BlcmlvZGljV2F2ZVRyaWFuZ2xlOwogICAg
ICAgICBicmVhazsKICAgICBjYXNlIENVU1RPTToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vUGFubmVyTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJhdWRpby9QYW5uZXJOb2RlLmgKaW5kZXggYjJmYTcwMTI5N2ZmMDZlYmJjNDYxMmIzZTVmMzlm
MTE3NGI5NTUwYi4uMGNiZDcyZTU2ZWJjYTIyYTAyYWY3OGJmYWU0ZjM2YzI2ZGQyNDg2ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9QYW5uZXJOb2RlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9QYW5uZXJOb2RlLmgKQEAgLTYzLDkg
KzYzLDkgQEAgcHVibGljOgogICAgICAgICBFWFBPTkVOVElBTF9ESVNUQU5DRSA9IDIsCiAgICAg
fTsKIAotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFBhbm5lck5vZGU+IGNyZWF0ZShBdWRpb0NvbnRl
eHQqIGNvbnRleHQsIGZsb2F0IHNhbXBsZVJhdGUpCisgICAgc3RhdGljIFJlZjxQYW5uZXJOb2Rl
PiBjcmVhdGUoQXVkaW9Db250ZXh0KiBjb250ZXh0LCBmbG9hdCBzYW1wbGVSYXRlKQogICAgIHsK
LSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBQYW5uZXJOb2RlKGNvbnRleHQsIHNhbXBsZVJh
dGUpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUGFubmVyTm9kZShjb250ZXh0LCBz
YW1wbGVSYXRlKSk7CiAgICAgfQogCiAgICAgdmlydHVhbCB+UGFubmVyTm9kZSgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9QZXJpb2RpY1dhdmUuY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9QZXJpb2RpY1dhdmUuY3BwCmluZGV4IGEz
N2QzODg5YmRiYWEyNGM3NmQyNTcxZTZhYzhhY2ExZDFjNDc4ZjAuLmFkZDEzMTljYWJjZDMwODky
ZGJjOGQwYjZiZTZkMzViMTFlZWFiZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViYXVkaW8vUGVyaW9kaWNXYXZlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL1BlcmlvZGljV2F2ZS5jcHAKQEAgLTQ1LDcgKzQ1LDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgIAogdXNpbmcgbmFtZXNwYWNlIFZlY3Rvck1hdGg7CiAKLVBhc3NSZWZQdHI8
UGVyaW9kaWNXYXZlPiBQZXJpb2RpY1dhdmU6OmNyZWF0ZShmbG9hdCBzYW1wbGVSYXRlLCBGbG9h
dDMyQXJyYXkqIHJlYWwsIEZsb2F0MzJBcnJheSogaW1hZykKK1JlZlB0cjxQZXJpb2RpY1dhdmU+
IFBlcmlvZGljV2F2ZTo6Y3JlYXRlKGZsb2F0IHNhbXBsZVJhdGUsIEZsb2F0MzJBcnJheSogcmVh
bCwgRmxvYXQzMkFycmF5KiBpbWFnKQogewogICAgIGJvb2wgaXNHb29kID0gcmVhbCAmJiBpbWFn
ICYmIHJlYWwtPmxlbmd0aCgpID09IGltYWctPmxlbmd0aCgpOwogICAgIEFTU0VSVChpc0dvb2Qp
OwpAQCAtNTMsMzUgKzUzLDM1IEBAIFBhc3NSZWZQdHI8UGVyaW9kaWNXYXZlPiBQZXJpb2RpY1dh
dmU6OmNyZWF0ZShmbG9hdCBzYW1wbGVSYXRlLCBGbG9hdDMyQXJyYXkqIHJlCiAgICAgICAgIFJl
ZlB0cjxQZXJpb2RpY1dhdmU+IHdhdmVUYWJsZSA9IGFkb3B0UmVmKG5ldyBQZXJpb2RpY1dhdmUo
c2FtcGxlUmF0ZSkpOwogICAgICAgICBzaXplX3QgbnVtYmVyT2ZDb21wb25lbnRzID0gcmVhbC0+
bGVuZ3RoKCk7CiAgICAgICAgIHdhdmVUYWJsZS0+Y3JlYXRlQmFuZExpbWl0ZWRUYWJsZXMocmVh
bC0+ZGF0YSgpLCBpbWFnLT5kYXRhKCksIG51bWJlck9mQ29tcG9uZW50cyk7Ci0gICAgICAgIHJl
dHVybiB3YXZlVGFibGU7CisgICAgICAgIHJldHVybiBXVEY6Om1vdmUod2F2ZVRhYmxlKTsKICAg
ICB9CiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKLVBhc3NSZWZQdHI8UGVyaW9kaWNXYXZlPiBQ
ZXJpb2RpY1dhdmU6OmNyZWF0ZVNpbmUoZmxvYXQgc2FtcGxlUmF0ZSkKK1JlZjxQZXJpb2RpY1dh
dmU+IFBlcmlvZGljV2F2ZTo6Y3JlYXRlU2luZShmbG9hdCBzYW1wbGVSYXRlKQogewotICAgIFJl
ZlB0cjxQZXJpb2RpY1dhdmU+IHdhdmVUYWJsZSA9IGFkb3B0UmVmKG5ldyBQZXJpb2RpY1dhdmUo
c2FtcGxlUmF0ZSkpOworICAgIFJlZjxQZXJpb2RpY1dhdmU+IHdhdmVUYWJsZSA9IGFkb3B0UmVm
KCpuZXcgUGVyaW9kaWNXYXZlKHNhbXBsZVJhdGUpKTsKICAgICB3YXZlVGFibGUtPmdlbmVyYXRl
QmFzaWNXYXZlZm9ybShPc2NpbGxhdG9yTm9kZTo6U0lORSk7CiAgICAgcmV0dXJuIHdhdmVUYWJs
ZTsKIH0KIAotUGFzc1JlZlB0cjxQZXJpb2RpY1dhdmU+IFBlcmlvZGljV2F2ZTo6Y3JlYXRlU3F1
YXJlKGZsb2F0IHNhbXBsZVJhdGUpCitSZWY8UGVyaW9kaWNXYXZlPiBQZXJpb2RpY1dhdmU6OmNy
ZWF0ZVNxdWFyZShmbG9hdCBzYW1wbGVSYXRlKQogewotICAgIFJlZlB0cjxQZXJpb2RpY1dhdmU+
IHdhdmVUYWJsZSA9IGFkb3B0UmVmKG5ldyBQZXJpb2RpY1dhdmUoc2FtcGxlUmF0ZSkpOworICAg
IFJlZjxQZXJpb2RpY1dhdmU+IHdhdmVUYWJsZSA9IGFkb3B0UmVmKCpuZXcgUGVyaW9kaWNXYXZl
KHNhbXBsZVJhdGUpKTsKICAgICB3YXZlVGFibGUtPmdlbmVyYXRlQmFzaWNXYXZlZm9ybShPc2Np
bGxhdG9yTm9kZTo6U1FVQVJFKTsKICAgICByZXR1cm4gd2F2ZVRhYmxlOwogfQogCi1QYXNzUmVm
UHRyPFBlcmlvZGljV2F2ZT4gUGVyaW9kaWNXYXZlOjpjcmVhdGVTYXd0b290aChmbG9hdCBzYW1w
bGVSYXRlKQorUmVmPFBlcmlvZGljV2F2ZT4gUGVyaW9kaWNXYXZlOjpjcmVhdGVTYXd0b290aChm
bG9hdCBzYW1wbGVSYXRlKQogewotICAgIFJlZlB0cjxQZXJpb2RpY1dhdmU+IHdhdmVUYWJsZSA9
IGFkb3B0UmVmKG5ldyBQZXJpb2RpY1dhdmUoc2FtcGxlUmF0ZSkpOworICAgIFJlZjxQZXJpb2Rp
Y1dhdmU+IHdhdmVUYWJsZSA9IGFkb3B0UmVmKCpuZXcgUGVyaW9kaWNXYXZlKHNhbXBsZVJhdGUp
KTsKICAgICB3YXZlVGFibGUtPmdlbmVyYXRlQmFzaWNXYXZlZm9ybShPc2NpbGxhdG9yTm9kZTo6
U0FXVE9PVEgpOwogICAgIHJldHVybiB3YXZlVGFibGU7CiB9CiAKLVBhc3NSZWZQdHI8UGVyaW9k
aWNXYXZlPiBQZXJpb2RpY1dhdmU6OmNyZWF0ZVRyaWFuZ2xlKGZsb2F0IHNhbXBsZVJhdGUpCitS
ZWY8UGVyaW9kaWNXYXZlPiBQZXJpb2RpY1dhdmU6OmNyZWF0ZVRyaWFuZ2xlKGZsb2F0IHNhbXBs
ZVJhdGUpCiB7Ci0gICAgUmVmUHRyPFBlcmlvZGljV2F2ZT4gd2F2ZVRhYmxlID0gYWRvcHRSZWYo
bmV3IFBlcmlvZGljV2F2ZShzYW1wbGVSYXRlKSk7CisgICAgUmVmPFBlcmlvZGljV2F2ZT4gd2F2
ZVRhYmxlID0gYWRvcHRSZWYoKm5ldyBQZXJpb2RpY1dhdmUoc2FtcGxlUmF0ZSkpOwogICAgIHdh
dmVUYWJsZS0+Z2VuZXJhdGVCYXNpY1dhdmVmb3JtKE9zY2lsbGF0b3JOb2RlOjpUUklBTkdMRSk7
CiAgICAgcmV0dXJuIHdhdmVUYWJsZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vUGVyaW9kaWNXYXZlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1ZGlvL1BlcmlvZGljV2F2ZS5oCmluZGV4IDg1YjZlMWNlZGUxNzU1ZmEwNmU1ZmRiODIwNTUz
OGRjZDRiMzRlOTIuLjBiNzc0YThjMjdiZDliMjRkYWQxNzliNjk2ZWRjYTFmNTk5YTMzNzggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vUGVyaW9kaWNXYXZlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9QZXJpb2RpY1dhdmUuaApAQCAt
NDEsMTMgKzQxLDEzIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUGVyaW9kaWNXYXZl
IDogcHVibGljIFJlZkNvdW50ZWQ8UGVyaW9kaWNXYXZlPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGlj
IFBhc3NSZWZQdHI8UGVyaW9kaWNXYXZlPiBjcmVhdGVTaW5lKGZsb2F0IHNhbXBsZVJhdGUpOwot
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPFBlcmlvZGljV2F2ZT4gY3JlYXRlU3F1YXJlKGZsb2F0IHNh
bXBsZVJhdGUpOwotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFBlcmlvZGljV2F2ZT4gY3JlYXRlU2F3
dG9vdGgoZmxvYXQgc2FtcGxlUmF0ZSk7Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8UGVyaW9kaWNX
YXZlPiBjcmVhdGVUcmlhbmdsZShmbG9hdCBzYW1wbGVSYXRlKTsKKyAgICBzdGF0aWMgUmVmPFBl
cmlvZGljV2F2ZT4gY3JlYXRlU2luZShmbG9hdCBzYW1wbGVSYXRlKTsKKyAgICBzdGF0aWMgUmVm
PFBlcmlvZGljV2F2ZT4gY3JlYXRlU3F1YXJlKGZsb2F0IHNhbXBsZVJhdGUpOworICAgIHN0YXRp
YyBSZWY8UGVyaW9kaWNXYXZlPiBjcmVhdGVTYXd0b290aChmbG9hdCBzYW1wbGVSYXRlKTsKKyAg
ICBzdGF0aWMgUmVmPFBlcmlvZGljV2F2ZT4gY3JlYXRlVHJpYW5nbGUoZmxvYXQgc2FtcGxlUmF0
ZSk7CiAKICAgICAvLyBDcmVhdGVzIGFuIGFyYml0cmFyeSB3YXZlIGdpdmVuIHRoZSBmcmVxdWVu
Y3kgY29tcG9uZW50cyAoRm91cmllciBjb2VmZmljaWVudHMpLgotICAgIHN0YXRpYyBQYXNzUmVm
UHRyPFBlcmlvZGljV2F2ZT4gY3JlYXRlKGZsb2F0IHNhbXBsZVJhdGUsIEZsb2F0MzJBcnJheSog
cmVhbCwgRmxvYXQzMkFycmF5KiBpbWFnKTsKKyAgICBzdGF0aWMgUmVmUHRyPFBlcmlvZGljV2F2
ZT4gY3JlYXRlKGZsb2F0IHNhbXBsZVJhdGUsIEZsb2F0MzJBcnJheSogcmVhbCwgRmxvYXQzMkFy
cmF5KiBpbWFnKTsKIAogICAgIC8vIFJldHVybnMgcG9pbnRlcnMgdG8gdGhlIGxvd2VyIGFuZCBo
aWdoZXIgd2F2ZSBkYXRhIGZvciB0aGUgcGl0Y2ggcmFuZ2UgY29udGFpbmluZwogICAgIC8vIHRo
ZSBnaXZlbiBmdW5kYW1lbnRhbCBmcmVxdWVuY3kuIFRoZXNlIHR3byB0YWJsZXMgYXJlIGluIGFk
amFjZW50ICJwaXRjaCIgcmFuZ2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL1NjcmlwdFByb2Nlc3Nvck5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJhdWRpby9TY3JpcHRQcm9jZXNzb3JOb2RlLmNwcAppbmRleCA5MGE2ZDE3YmRiZTdkZjM5
M2QxYTQyOGJhYWNlOGE0NDZhMGNhYjc3Li4yNWZiZTM0ZDBiZWU2YTNhM2EyMmNmNzhmZmJmNTli
ODVmZTM0ZTdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1Nj
cmlwdFByb2Nlc3Nvck5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVk
aW8vU2NyaXB0UHJvY2Vzc29yTm9kZS5jcHAKQEAgLTQwLDcgKzQwLDcgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1QYXNzUmVmUHRyPFNjcmlwdFByb2Nlc3Nvck5vZGU+IFNjcmlwdFByb2Nl
c3Nvck5vZGU6OmNyZWF0ZShBdWRpb0NvbnRleHQqIGNvbnRleHQsIGZsb2F0IHNhbXBsZVJhdGUs
IHNpemVfdCBidWZmZXJTaXplLCB1bnNpZ25lZCBudW1iZXJPZklucHV0Q2hhbm5lbHMsIHVuc2ln
bmVkIG51bWJlck9mT3V0cHV0Q2hhbm5lbHMpCitSZWZQdHI8U2NyaXB0UHJvY2Vzc29yTm9kZT4g
U2NyaXB0UHJvY2Vzc29yTm9kZTo6Y3JlYXRlKEF1ZGlvQ29udGV4dCogY29udGV4dCwgZmxvYXQg
c2FtcGxlUmF0ZSwgc2l6ZV90IGJ1ZmZlclNpemUsIHVuc2lnbmVkIG51bWJlck9mSW5wdXRDaGFu
bmVscywgdW5zaWduZWQgbnVtYmVyT2ZPdXRwdXRDaGFubmVscykKIHsKICAgICAvLyBDaGVjayBm
b3IgdmFsaWQgYnVmZmVyIHNpemUuCiAgICAgc3dpdGNoIChidWZmZXJTaXplKSB7CkBAIC02NSw3
ICs2NSw3IEBAIFBhc3NSZWZQdHI8U2NyaXB0UHJvY2Vzc29yTm9kZT4gU2NyaXB0UHJvY2Vzc29y
Tm9kZTo6Y3JlYXRlKEF1ZGlvQ29udGV4dCogY29udGV4CiAgICAgaWYgKG51bWJlck9mT3V0cHV0
Q2hhbm5lbHMgPiBBdWRpb0NvbnRleHQ6Om1heE51bWJlck9mQ2hhbm5lbHMoKSkKICAgICAgICAg
cmV0dXJuIG51bGxwdHI7CiAKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNjcmlwdFByb2Nlc3Nv
ck5vZGUoY29udGV4dCwgc2FtcGxlUmF0ZSwgYnVmZmVyU2l6ZSwgbnVtYmVyT2ZJbnB1dENoYW5u
ZWxzLCBudW1iZXJPZk91dHB1dENoYW5uZWxzKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
U2NyaXB0UHJvY2Vzc29yTm9kZShjb250ZXh0LCBzYW1wbGVSYXRlLCBidWZmZXJTaXplLCBudW1i
ZXJPZklucHV0Q2hhbm5lbHMsIG51bWJlck9mT3V0cHV0Q2hhbm5lbHMpKTsKIH0KIAogU2NyaXB0
UHJvY2Vzc29yTm9kZTo6U2NyaXB0UHJvY2Vzc29yTm9kZShBdWRpb0NvbnRleHQqIGNvbnRleHQs
IGZsb2F0IHNhbXBsZVJhdGUsIHNpemVfdCBidWZmZXJTaXplLCB1bnNpZ25lZCBudW1iZXJPZklu
cHV0Q2hhbm5lbHMsIHVuc2lnbmVkIG51bWJlck9mT3V0cHV0Q2hhbm5lbHMpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1NjcmlwdFByb2Nlc3Nvck5vZGUuaCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29yTm9kZS5oCmlu
ZGV4IDJiYWJmMzVhMzdhMjBiYTZhMjUzYWVmYTY4MTA3YmZlY2Q2MWIxNjQuLjZhNTMwZDliZjNk
YzdlNDJmNGZhYmUzYzIyZjllZTJlZDRmOWM2YjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29yTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29yTm9kZS5oCkBAIC01Myw3ICs1Myw3
IEBAIHB1YmxpYzoKICAgICAvLyBUaGlzIHZhbHVlIGNvbnRyb2xzIGhvdyBmcmVxdWVudGx5IHRo
ZSBvbmF1ZGlvcHJvY2VzcyBldmVudCBoYW5kbGVyIGlzIGNhbGxlZCBhbmQgaG93IG1hbnkgc2Ft
cGxlLWZyYW1lcyBuZWVkIHRvIGJlIHByb2Nlc3NlZCBlYWNoIGNhbGwuCiAgICAgLy8gTG93ZXIg
bnVtYmVycyBmb3IgYnVmZmVyU2l6ZSB3aWxsIHJlc3VsdCBpbiBhIGxvd2VyIChiZXR0ZXIpIGxh
dGVuY3kuIEhpZ2hlciBudW1iZXJzIHdpbGwgYmUgbmVjZXNzYXJ5IHRvIGF2b2lkIGF1ZGlvIGJy
ZWFrdXAgYW5kIGdsaXRjaGVzLgogICAgIC8vIFRoZSB2YWx1ZSBjaG9zZW4gbXVzdCBjYXJlZnVs
bHkgYmFsYW5jZSBiZXR3ZWVuIGxhdGVuY3kgYW5kIGF1ZGlvIHF1YWxpdHkuCi0gICAgc3RhdGlj
IFBhc3NSZWZQdHI8U2NyaXB0UHJvY2Vzc29yTm9kZT4gY3JlYXRlKEF1ZGlvQ29udGV4dCosIGZs
b2F0IHNhbXBsZVJhdGUsIHNpemVfdCBidWZmZXJTaXplLCB1bnNpZ25lZCBudW1iZXJPZklucHV0
Q2hhbm5lbHMsIHVuc2lnbmVkIG51bWJlck9mT3V0cHV0Q2hhbm5lbHMpOworICAgIHN0YXRpYyBS
ZWZQdHI8U2NyaXB0UHJvY2Vzc29yTm9kZT4gY3JlYXRlKEF1ZGlvQ29udGV4dCosIGZsb2F0IHNh
bXBsZVJhdGUsIHNpemVfdCBidWZmZXJTaXplLCB1bnNpZ25lZCBudW1iZXJPZklucHV0Q2hhbm5l
bHMsIHVuc2lnbmVkIG51bWJlck9mT3V0cHV0Q2hhbm5lbHMpOwogCiAgICAgdmlydHVhbCB+U2Ny
aXB0UHJvY2Vzc29yTm9kZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL1dhdmVTaGFwZXJOb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL1dhdmVTaGFwZXJOb2RlLmgKaW5kZXggY2I2NTM3MmExNzE2ODU0NzIxMzI3YWJjYjg1YTMx
ZjRjMDlhNjVlNy4uODIyNzk3NTNkZGY3OGY1MjlkYWJhZjU5ZDg5YmE3NzE3ZWUwOGVjNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9XYXZlU2hhcGVyTm9kZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vV2F2ZVNoYXBlck5vZGUuaApA
QCAtMzQsOSArMzQsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgCiBjbGFzcyBXYXZlU2hh
cGVyTm9kZSA6IHB1YmxpYyBBdWRpb0Jhc2ljUHJvY2Vzc29yTm9kZSB7CiBwdWJsaWM6Ci0gICAg
c3RhdGljIFBhc3NSZWZQdHI8V2F2ZVNoYXBlck5vZGU+IGNyZWF0ZShBdWRpb0NvbnRleHQqIGNv
bnRleHQpCisgICAgc3RhdGljIFJlZjxXYXZlU2hhcGVyTm9kZT4gY3JlYXRlKEF1ZGlvQ29udGV4
dCogY29udGV4dCkKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgV2F2ZVNoYXBl
ck5vZGUoY29udGV4dCkpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXYXZlU2hhcGVy
Tm9kZShjb250ZXh0KSk7CiAgICAgfQogCiAgICAgLy8gc2V0Q3VydmUoKSBpcyBjYWxsZWQgb24g
dGhlIG1haW4gdGhyZWFkLgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>253656</attachid>
            <date>2015-05-24 07:01:54 -0700</date>
            <delta_ts>2015-05-27 19:13:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-145304-20150524230143.patch</filename>
            <type>text/plain</type>
            <size>68689</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg0Nzk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTVkOTk0MzU5MGYwNDhm
ZTg2ODFjMjM0ODU4MmJkYzBhZTBhYjAxMS4uNDAwZTI2NjliOTgxNjgzODg1ODIwZTk1ZmZkYTQ3
Nzc5NzIwMjY4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExMiBAQAorMjAxNS0wNS0yMiAgR3l1
eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUHVyZ2UgUGFz
c1JlZlB0ciBpbiBXZWJDb3JlL01vZHVsZXMgLSAyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDUzMDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBBcyBhIHN0ZXAgdG8gcmVtb3ZlIFBhc3NSZWZQdHIsIHRo
aXMgcGF0Y2ggcmVwbGFjZXMgUGFzc1JlZlB0ciB3aXRoIFJlZiBvciBSZWZQdHIuCisKKyAgICAg
ICAgTm8gbmV3IHRlc3RzLCBubyBiZWhhdmlvciBjaGFuZ2VzCisKKyAgICAgICAgKiBNb2R1bGVz
L21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuaDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlh
c3RyZWFtL0FsbEF1ZGlvQ2FwYWJpbGl0aWVzLmg6CisgICAgICAgIChXZWJDb3JlOjpBbGxBdWRp
b0NhcGFiaWxpdGllczo6Y3JlYXRlKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL0Fs
bFZpZGVvQ2FwYWJpbGl0aWVzLmg6CisgICAgICAgIChXZWJDb3JlOjpBbGxWaWRlb0NhcGFiaWxp
dGllczo6Y3JlYXRlKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL0NhcGFiaWxpdHlS
YW5nZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYXBhYmlsaXR5UmFuZ2U6OmNyZWF0ZSk6Cisg
ICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9DYXBhYmlsaXR5UmFuZ2UuaDoKKyAgICAgICAg
KiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU291cmNlU3RhdGVzLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhU291cmNlU3RhdGVzOjpjcmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvbWVk
aWFzdHJlYW0vTWVkaWFTdHJlYW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW06
OmNyZWF0ZSk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNr
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtVHJhY2s6OmNyZWF0ZSk6CisgICAg
ICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrU291cmNlc1JlcXVlc3Qu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1UcmFja1NvdXJjZXNSZXF1ZXN0Ojpj
cmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFUcmFja0NvbnN0cmFp
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFUcmFja0NvbnN0cmFpbnQ6OmNyZWF0ZSk6
CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVRyYWNrQ29uc3RyYWludC5oOgor
ICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDQ29uZmlndXJhdGlvbi5oOgorICAgICAg
ICAoV2ViQ29yZTo6UlRDQ29uZmlndXJhdGlvbjo6Y3JlYXRlKToKKyAgICAgICAgKiBNb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ0ljZVNlcnZlci5oOgorICAgICAgICAoV2ViQ29yZTo6UlRDSWNlU2Vy
dmVyOjpjcmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRl
c2NyaXB0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1Nlc3Npb25EZXNjcmlwdGlvbjo6
Y3JlYXRlKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlw
dGlvbi5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0
aW9uUmVxdWVzdEltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UlRDU2Vzc2lvbkRlc2NyaXB0
aW9uUmVxdWVzdEltcGw6OmNyZWF0ZSk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENTdGF0c1JlcG9ydC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSVENTdGF0c1JlcG9ydDo6Y3Jl
YXRlKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1N0YXRzUmVwb3J0Lmg6Cisg
ICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTdGF0c1JlcXVlc3RJbXBsLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJUQ1N0YXRzUmVxdWVzdEltcGw6OmNyZWF0ZSk6CisgICAgICAgICog
TW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTdGF0c1JlcXVlc3RJbXBsLmg6CisgICAgICAgICogTW9k
dWxlcy9tZWRpYXN0cmVhbS9SVENTdGF0c1Jlc3BvbnNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJUQ1N0YXRzUmVzcG9uc2U6OmNyZWF0ZSk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENTdGF0c1Jlc3BvbnNlLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENW
b2lkUmVxdWVzdEltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UlRDVm9pZFJlcXVlc3RJbXBs
OjpjcmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDVm9pZFJlcXVlc3RJ
bXBsLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9Tb3VyY2VJbmZvLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNvdXJjZUluZm86OmNyZWF0ZSk6CisgICAgICAgICogTW9kdWxlcy9t
ZWRpYXN0cmVhbS9Tb3VyY2VJbmZvLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9V
c2VyTWVkaWFSZXF1ZXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlVzZXJNZWRpYVJlcXVlc3Q6
OmNyZWF0ZSk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0
Lmg6CisgICAgICAgICogTW9kdWxlcy9xdW90YS9TdG9yYWdlSW5mby5oOgorICAgICAgICAoV2Vi
Q29yZTo6U3RvcmFnZUluZm86OmNyZWF0ZSk6CisgICAgICAgICogTW9kdWxlcy9xdW90YS9TdG9y
YWdlUXVvdGEuaDoKKyAgICAgICAgKFdlYkNvcmU6OlN0b3JhZ2VRdW90YTo6Y3JlYXRlKToKKyAg
ICAgICAgKiBNb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXMuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U3BlZWNoU3ludGhlc2lzOjpjcmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvc3BlZWNo
L1NwZWVjaFN5bnRoZXNpcy5oOgorICAgICAgICAqIE1vZHVsZXMvc3BlZWNoL1NwZWVjaFN5bnRo
ZXNpc1V0dGVyYW5jZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTcGVlY2hTeW50aGVzaXNVdHRl
cmFuY2U6OmNyZWF0ZSk6CisgICAgICAgICogTW9kdWxlcy9zcGVlY2gvU3BlZWNoU3ludGhlc2lz
VXR0ZXJhbmNlLmg6CisgICAgICAgICogTW9kdWxlcy9zcGVlY2gvU3BlZWNoU3ludGhlc2lzVm9p
Y2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3BlZWNoU3ludGhlc2lzVm9pY2U6OmNyZWF0ZSk6
CisgICAgICAgICogTW9kdWxlcy9zcGVlY2gvU3BlZWNoU3ludGhlc2lzVm9pY2UuaDoKKyAgICAg
ICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0NoYW5uZWxNZXJnZXJOb2RlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkNoYW5uZWxNZXJnZXJOb2RlOjpjcmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvd2Vi
YXVkaW8vQ2hhbm5lbE1lcmdlck5vZGUuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0No
YW5uZWxTcGxpdHRlck5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2hhbm5lbFNwbGl0dGVy
Tm9kZTo6Y3JlYXRlKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0NoYW5uZWxTcGxpdHRl
ck5vZGUuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0RlZmF1bHRBdWRpb0Rlc3RpbmF0
aW9uTm9kZS5oOgorICAgICAgICAoV2ViQ29yZTo6RGVmYXVsdEF1ZGlvRGVzdGluYXRpb25Ob2Rl
OjpjcmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vR2Fpbk5vZGUuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OkdhaW5Ob2RlOjpjcmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVk
aW8vTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZTo6Y3JlYXRlKToKKyAgICAgICAgKiBNb2R1bGVzL3dl
YmF1ZGlvL01lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZS5oOgorICAgICAgICAqIE1vZHVsZXMv
d2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2RlOjpjcmVhdGUpOgorICAgICAg
ICAqIE1vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZS5oOgor
ICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb1NvdXJjZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbUF1ZGlvU291cmNlOjpjcmVhdGUpOgorICAgICAg
ICAqIE1vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb1NvdXJjZS5oOgorICAgICAgICAq
IE1vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGUuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGU6OmNyZWF0ZSk6CisgICAgICAg
ICogTW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZS5oOgorICAgICAg
ICAqIE1vZHVsZXMvd2ViYXVkaW8vT3NjaWxsYXRvck5vZGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6T3NjaWxsYXRvck5vZGU6OnNldFR5cGUpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8v
UGFubmVyTm9kZS5oOgorICAgICAgICAoV2ViQ29yZTo6UGFubmVyTm9kZTo6Y3JlYXRlKToKKyAg
ICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL1BlcmlvZGljV2F2ZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpQZXJpb2RpY1dhdmU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJpb2RpY1dh
dmU6OmNyZWF0ZVNpbmUpOgorICAgICAgICAoV2ViQ29yZTo6UGVyaW9kaWNXYXZlOjpjcmVhdGVT
cXVhcmUpOgorICAgICAgICAoV2ViQ29yZTo6UGVyaW9kaWNXYXZlOjpjcmVhdGVTYXd0b290aCk6
CisgICAgICAgIChXZWJDb3JlOjpQZXJpb2RpY1dhdmU6OmNyZWF0ZVRyaWFuZ2xlKToKKyAgICAg
ICAgKiBNb2R1bGVzL3dlYmF1ZGlvL1BlcmlvZGljV2F2ZS5oOgorICAgICAgICAqIE1vZHVsZXMv
d2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29yTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3Jp
cHRQcm9jZXNzb3JOb2RlOjpjcmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vU2Ny
aXB0UHJvY2Vzc29yTm9kZS5oOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vV2F2ZVNoYXBl
ck5vZGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OldhdmVTaGFwZXJOb2RlOjpjcmVhdGUpOgorCiAy
MDE1LTA1LTIyICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAg
ICAgICAgW0NvY29hXSBVc2UgQ1RGb250RHJhd0dseXBocygpIGluc3RlYWQgb2YgQ0dDb250ZXh0
U2hvd0dseXBoc1dpdGhBZHZhbmNlcygpL0NHQ29udGV4dFNob3dHbHlwaHNBdFBvc2l0aW9ucygp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1
ZmZlckxpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVm
ZmVyTGlzdC5oCmluZGV4IDZiY2I5MzU3MmUwNDNjZDQzODU2YzY2ODI3NDgyZDkyMzQ3NmVhZTYu
LjRiZjM2MTdmYzU1YTRkOGU3MjlmMTNlOTllODZiYTAxNTY1ODhlYWEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5oCkBA
IC00NSw5ICs0NSw5IEBAIGNsYXNzIFNvdXJjZUJ1ZmZlcjsKIAogY2xhc3MgU291cmNlQnVmZmVy
TGlzdCBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPFNvdXJjZUJ1ZmZlckxpc3Q+LCBwdWJsaWMg
U2NyaXB0V3JhcHBhYmxlLCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSB7CiBwdWJs
aWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8U291cmNlQnVmZmVyTGlzdD4gY3JlYXRlKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCisgICAgc3RhdGljIFJlZjxTb3VyY2VCdWZmZXJM
aXN0PiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKICAgICB7Ci0gICAg
ICAgIHJldHVybiBhZG9wdFJlZihuZXcgU291cmNlQnVmZmVyTGlzdChjb250ZXh0KSk7CisgICAg
ICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNvdXJjZUJ1ZmZlckxpc3QoY29udGV4dCkpOwogICAg
IH0KICAgICB2aXJ0dWFsIH5Tb3VyY2VCdWZmZXJMaXN0KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vQWxsQXVkaW9DYXBhYmlsaXRpZXMuaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vQWxsQXVkaW9DYXBhYmlsaXRpZXMuaApp
bmRleCA2MDYyM2U2NWZlZDJkZmU3OWVlYjMwZmQ2MTk0NGY2YWI1NDVlNTNhLi45ZmM4Mzk3MzI3
YWRhODRjZmFlMGFhMGM4MDBiZDU4MzkwN2M0MDY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0FsbEF1ZGlvQ2FwYWJpbGl0aWVzLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9BbGxBdWRpb0NhcGFiaWxpdGllcy5oCkBAIC0z
OSw5ICszOSw5IEBAIGNsYXNzIFJlYWx0aW1lTWVkaWFTb3VyY2VDYXBhYmlsaXRpZXM7CiAKIGNs
YXNzIEFsbEF1ZGlvQ2FwYWJpbGl0aWVzIDogcHVibGljIE1lZGlhU3RyZWFtQ2FwYWJpbGl0aWVz
IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmUHRyPEFsbEF1ZGlvQ2FwYWJpbGl0aWVzPiBjcmVh
dGUoUGFzc1JlZlB0cjxSZWFsdGltZU1lZGlhU291cmNlQ2FwYWJpbGl0aWVzPiBjYXBhYmlsaXRp
ZXMpCisgICAgc3RhdGljIFJlZjxBbGxBdWRpb0NhcGFiaWxpdGllcz4gY3JlYXRlKFBhc3NSZWZQ
dHI8UmVhbHRpbWVNZWRpYVNvdXJjZUNhcGFiaWxpdGllcz4gY2FwYWJpbGl0aWVzKQogICAgIHsK
LSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBBbGxBdWRpb0NhcGFiaWxpdGllcyhjYXBhYmls
aXRpZXMpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQWxsQXVkaW9DYXBhYmlsaXRp
ZXMoY2FwYWJpbGl0aWVzKSk7CiAgICAgfQogICAgIHZpcnR1YWwgfkFsbEF1ZGlvQ2FwYWJpbGl0
aWVzKCkgeyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vQWxsVmlkZW9DYXBhYmlsaXRpZXMuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vQWxsVmlkZW9DYXBhYmlsaXRpZXMuaAppbmRleCAwMmU0NThhYzBlNjI1Mjk1MjAzNzg1
YmVmNmMxNDkzMGU4YzFhNmVkLi4wMTg3YzMwNGE5NTE1ZDEwYmNmMWFlMThhMzRhNmI4ZjQ1MDJi
Y2YzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0FsbFZp
ZGVvQ2FwYWJpbGl0aWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9BbGxWaWRlb0NhcGFiaWxpdGllcy5oCkBAIC0zNyw5ICszNyw5IEBAIGNsYXNzIFJlYWx0aW1l
TWVkaWFTb3VyY2VDYXBhYmlsaXRpZXM7CiAKIGNsYXNzIEFsbFZpZGVvQ2FwYWJpbGl0aWVzIDog
cHVibGljIE1lZGlhU3RyZWFtQ2FwYWJpbGl0aWVzIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVm
UHRyPEFsbFZpZGVvQ2FwYWJpbGl0aWVzPiBjcmVhdGUoUGFzc1JlZlB0cjxSZWFsdGltZU1lZGlh
U291cmNlQ2FwYWJpbGl0aWVzPiBjYXBhYmlsaXRpZXMpCisgICAgc3RhdGljIFJlZjxBbGxWaWRl
b0NhcGFiaWxpdGllcz4gY3JlYXRlKFBhc3NSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZUNhcGFi
aWxpdGllcz4gY2FwYWJpbGl0aWVzKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5l
dyBBbGxWaWRlb0NhcGFiaWxpdGllcyhjYXBhYmlsaXRpZXMpKTsKKyAgICAgICAgcmV0dXJuIGFk
b3B0UmVmKCpuZXcgQWxsVmlkZW9DYXBhYmlsaXRpZXMoY2FwYWJpbGl0aWVzKSk7CiAgICAgfQog
ICAgIHZpcnR1YWwgfkFsbFZpZGVvQ2FwYWJpbGl0aWVzKCkgeyB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vQ2FwYWJpbGl0eVJhbmdlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vQ2FwYWJpbGl0eVJhbmdlLmNwcAppbmRl
eCBmOWEyNzliMTkxYmRiNjRkMjNkOTE5NTljNGMwMGZlM2NmYWQ1ZWM2Li42MTRlNGM2ZmQyNTg5
Y2U0Y2FiZGYyNmY5YmQxMDJlNTg5YTE3ZjJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL0NhcGFiaWxpdHlSYW5nZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9DYXBhYmlsaXR5UmFuZ2UuY3BwCkBAIC00MCw5ICs0MCw5
IEBAIHVzaW5nIG5hbWVzcGFjZSBKU0M7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUmVmUHRy
PENhcGFiaWxpdHlSYW5nZT4gQ2FwYWJpbGl0eVJhbmdlOjpjcmVhdGUoY29uc3QgUmVhbHRpbWVN
ZWRpYVNvdXJjZUNhcGFiaWxpdHlSYW5nZSYgcmFuZ2VJbmZvKQorUmVmPENhcGFiaWxpdHlSYW5n
ZT4gQ2FwYWJpbGl0eVJhbmdlOjpjcmVhdGUoY29uc3QgUmVhbHRpbWVNZWRpYVNvdXJjZUNhcGFi
aWxpdHlSYW5nZSYgcmFuZ2VJbmZvKQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgQ2FwYWJp
bGl0eVJhbmdlKHJhbmdlSW5mbykpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IENhcGFiaWxp
dHlSYW5nZShyYW5nZUluZm8pKTsKIH0KIAogQ2FwYWJpbGl0eVJhbmdlOjpDYXBhYmlsaXR5UmFu
Z2UoY29uc3QgUmVhbHRpbWVNZWRpYVNvdXJjZUNhcGFiaWxpdHlSYW5nZSYgcmFuZ2VJbmZvKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9DYXBhYmlsaXR5
UmFuZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vQ2FwYWJpbGl0eVJh
bmdlLmgKaW5kZXggZmUyMzI4M2I1MjQ1NTU3MzlkZmVlYTY2M2UyM2ExM2VjNzI3YTAxOC4uN2Q4
YmJhM2JlMGMyMTQ0NTI3ZjkxODEzYjk5NGExMGMwZDQ1OGU2MiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9DYXBhYmlsaXR5UmFuZ2UuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0NhcGFiaWxpdHlSYW5nZS5oCkBAIC00MSw3
ICs0MSw3IEBAIGNsYXNzIENhcGFiaWxpdHlSYW5nZSA6IHB1YmxpYyBSZWZDb3VudGVkPENhcGFi
aWxpdHlSYW5nZT4sIHB1YmxpYyBTY3JpcHRXcmFwcGFiCiBwdWJsaWM6CiAgICAgdmlydHVhbCB+
Q2FwYWJpbGl0eVJhbmdlKCkgeyB9CiAKLSAgICBzdGF0aWMgUmVmUHRyPENhcGFiaWxpdHlSYW5n
ZT4gY3JlYXRlKGNvbnN0IFJlYWx0aW1lTWVkaWFTb3VyY2VDYXBhYmlsaXR5UmFuZ2UmKTsKKyAg
ICBzdGF0aWMgUmVmPENhcGFiaWxpdHlSYW5nZT4gY3JlYXRlKGNvbnN0IFJlYWx0aW1lTWVkaWFT
b3VyY2VDYXBhYmlsaXR5UmFuZ2UmKTsKIAogICAgIERlcHJlY2F0ZWQ6OlNjcmlwdFZhbHVlIG1p
bihKU0M6OkV4ZWNTdGF0ZSopIGNvbnN0OwogICAgIERlcHJlY2F0ZWQ6OlNjcmlwdFZhbHVlIG1h
eChKU0M6OkV4ZWNTdGF0ZSopIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9NZWRpYVNvdXJjZVN0YXRlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU291cmNlU3RhdGVzLmNwcAppbmRleCAxOWMxMDNhZTIw
ZTkyNWU5MDhkN2I4MDJiYzE4ODNjMzhjMzhkZTY3Li43NjM3YWJmYTI2YjBkYmNkYzI1ZmY4OWEz
MGE2NTBiZDEzNjAxZWVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL01lZGlhU291cmNlU3RhdGVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL01lZGlhU291cmNlU3RhdGVzLmNwcApAQCAtMzMsOSArMzMsOSBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLVJlZlB0cjxNZWRpYVNvdXJjZVN0YXRlcz4gTWVkaWFTb3Vy
Y2VTdGF0ZXM6OmNyZWF0ZShjb25zdCBSZWFsdGltZU1lZGlhU291cmNlU3RhdGVzJiBzdGF0ZXMp
CitSZWY8TWVkaWFTb3VyY2VTdGF0ZXM+IE1lZGlhU291cmNlU3RhdGVzOjpjcmVhdGUoY29uc3Qg
UmVhbHRpbWVNZWRpYVNvdXJjZVN0YXRlcyYgc3RhdGVzKQogewotICAgIHJldHVybiBhZG9wdFJl
ZihuZXcgTWVkaWFTb3VyY2VTdGF0ZXMoc3RhdGVzKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgTWVkaWFTb3VyY2VTdGF0ZXMoc3RhdGVzKSk7CiB9CiAKIE1lZGlhU291cmNlU3RhdGVzOjpN
ZWRpYVNvdXJjZVN0YXRlcyhjb25zdCBSZWFsdGltZU1lZGlhU291cmNlU3RhdGVzJiBzdGF0ZXMp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU291
cmNlU3RhdGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU291
cmNlU3RhdGVzLmgKaW5kZXggYzM0ZmEwYTQ0YjMzMTY0NDQ4MGMyNDNhN2VjN2FmZDBkYWNjNTli
MS4uYzQ2MzczZDk0MDZmZWUzNGFiOGJjNDAyM2EyODViN2Y0ZDg3ZDI3ZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVNvdXJjZVN0YXRlcy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTb3VyY2VTdGF0ZXMu
aApAQCAtMzcsNyArMzcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIE1lZGlhU291
cmNlU3RhdGVzIDogcHVibGljIFJlZkNvdW50ZWQ8TWVkaWFTb3VyY2VTdGF0ZXM+LCBwdWJsaWMg
U2NyaXB0V3JhcHBhYmxlIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmUHRyPE1lZGlhU291cmNl
U3RhdGVzPiBjcmVhdGUoY29uc3QgUmVhbHRpbWVNZWRpYVNvdXJjZVN0YXRlcyYpOworICAgIHN0
YXRpYyBSZWY8TWVkaWFTb3VyY2VTdGF0ZXM+IGNyZWF0ZShjb25zdCBSZWFsdGltZU1lZGlhU291
cmNlU3RhdGVzJik7CiAKICAgICBjb25zdCBBdG9taWNTdHJpbmcmIHNvdXJjZVR5cGUoKSBjb25z
dDsKICAgICBjb25zdCBBdG9taWNTdHJpbmcmIHNvdXJjZUlkKCkgY29uc3QgeyByZXR1cm4gbV9z
b3VyY2VTdGF0ZXMuc291cmNlSWQoKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHAKaW5kZXggNmFkYjRmZTcwOWVk
MWFhNWRlYmRlZjlmNzdlZDliYmMyMzUxYWQ5ZS4uM2ZhYmFiMWQ2OGM4OTZhMTUyMTM0M2E0OGFk
ZGJkYjczYWFiZjQ2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwCkBAIC00OSwxNCArNDksMTQgQEAKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi1SZWZQdHI8TWVkaWFTdHJlYW1UcmFjaz4gTWVkaWFTdHJlYW1U
cmFjazo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIE1lZGlhU3RyZWFt
VHJhY2tQcml2YXRlJiBwcml2YXRlVHJhY2spCitSZWY8TWVkaWFTdHJlYW1UcmFjaz4gTWVkaWFT
dHJlYW1UcmFjazo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIE1lZGlh
U3RyZWFtVHJhY2tQcml2YXRlJiBwcml2YXRlVHJhY2spCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVm
KG5ldyBNZWRpYVN0cmVhbVRyYWNrKGNvbnRleHQsIHByaXZhdGVUcmFjaykpOworICAgIHJldHVy
biBhZG9wdFJlZigqbmV3IE1lZGlhU3RyZWFtVHJhY2soY29udGV4dCwgcHJpdmF0ZVRyYWNrKSk7
CiB9CiAKLVJlZlB0cjxNZWRpYVN0cmVhbVRyYWNrPiBNZWRpYVN0cmVhbVRyYWNrOjpjcmVhdGUo
TWVkaWFTdHJlYW1UcmFjayYgdHJhY2spCitSZWY8TWVkaWFTdHJlYW1UcmFjaz4gTWVkaWFTdHJl
YW1UcmFjazo6Y3JlYXRlKE1lZGlhU3RyZWFtVHJhY2smIHRyYWNrKQogewotICAgIHJldHVybiBh
ZG9wdFJlZihuZXcgTWVkaWFTdHJlYW1UcmFjayh0cmFjaykpOworICAgIHJldHVybiBhZG9wdFJl
ZigqbmV3IE1lZGlhU3RyZWFtVHJhY2sodHJhY2spKTsKIH0KIAogTWVkaWFTdHJlYW1UcmFjazo6
TWVkaWFTdHJlYW1UcmFjayhTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBNZWRpYVN0
cmVhbVRyYWNrUHJpdmF0ZSYgcHJpdmF0ZVRyYWNrKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmggYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suaAppbmRleCBhZWVkMTAzNjNm
YzQzNjViNTgwMjk3ZWNiYTI2M2Y2NWJhYTcwMmNlLi4xZDA5Y2M0NmFjMDgwOTRkMjkwZWQ0ZTli
NzQwYmZiOTRlNzkyOTQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL01lZGlhU3RyZWFtVHJhY2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suaApAQCAtNTcsOCArNTcsOCBAQCBwdWJsaWM6CiAg
ICAgICAgIHZpcnR1YWwgdm9pZCB0cmFja0RpZEVuZCgpID0gMDsKICAgICB9OwogCi0gICAgc3Rh
dGljIFJlZlB0cjxNZWRpYVN0cmVhbVRyYWNrPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCYsIE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlJik7Ci0gICAgc3RhdGljIFJlZlB0cjxNZWRpYVN0
cmVhbVRyYWNrPiBjcmVhdGUoTWVkaWFTdHJlYW1UcmFjayYpOworICAgIHN0YXRpYyBSZWY8TWVk
aWFTdHJlYW1UcmFjaz4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBNZWRpYVN0cmVh
bVRyYWNrUHJpdmF0ZSYpOworICAgIHN0YXRpYyBSZWY8TWVkaWFTdHJlYW1UcmFjaz4gY3JlYXRl
KE1lZGlhU3RyZWFtVHJhY2smKTsKICAgICB2aXJ0dWFsIH5NZWRpYVN0cmVhbVRyYWNrKCk7CiAK
ICAgICBjb25zdCBBdG9taWNTdHJpbmcmIGtpbmQoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFja1NvdXJjZXNSZXF1
ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1U
cmFja1NvdXJjZXNSZXF1ZXN0LmNwcAppbmRleCA5NjJmZjA2NjE1ZDE2NzAwMmYxZmU0YTUyZTNj
YjIzMDM2YzMxZTVmLi5mYjJjNTEyN2E1ODAwYjI0NDEwZGEzOWE3ODBkMjMzYmQxZTBkMzNhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFt
VHJhY2tTb3VyY2VzUmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrU291cmNlc1JlcXVlc3QuY3BwCkBAIC0zNyw5ICszNyw5
IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUGFzc1JlZlB0cjxNZWRpYVN0cmVhbVRyYWNr
U291cmNlc1JlcXVlc3Q+IE1lZGlhU3RyZWFtVHJhY2tTb3VyY2VzUmVxdWVzdDo6Y3JlYXRlKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1UcmFj
a1NvdXJjZXNDYWxsYmFjaz4gY2FsbGJhY2spCitSZWY8TWVkaWFTdHJlYW1UcmFja1NvdXJjZXNS
ZXF1ZXN0PiBNZWRpYVN0cmVhbVRyYWNrU291cmNlc1JlcXVlc3Q6OmNyZWF0ZShTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiBjb250ZXh0LCBQYXNzUmVmUHRyPE1lZGlhU3RyZWFtVHJhY2tTb3VyY2Vz
Q2FsbGJhY2s+IGNhbGxiYWNrKQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgTWVkaWFTdHJl
YW1UcmFja1NvdXJjZXNSZXF1ZXN0KGNvbnRleHQsIGNhbGxiYWNrKSk7CisgICAgcmV0dXJuIGFk
b3B0UmVmKCpuZXcgTWVkaWFTdHJlYW1UcmFja1NvdXJjZXNSZXF1ZXN0KGNvbnRleHQsIGNhbGxi
YWNrKSk7CiB9CiAKIE1lZGlhU3RyZWFtVHJhY2tTb3VyY2VzUmVxdWVzdDo6TWVkaWFTdHJlYW1U
cmFja1NvdXJjZXNSZXF1ZXN0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFBhc3NS
ZWZQdHI8TWVkaWFTdHJlYW1UcmFja1NvdXJjZXNDYWxsYmFjaz4gY2FsbGJhY2spCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2tT
b3VyY2VzUmVxdWVzdC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRp
YVN0cmVhbVRyYWNrU291cmNlc1JlcXVlc3QuaAppbmRleCAxMzM5YjFiYmI0ZWNlYzcwMGM1MDE5
ZDVkMjk1ZjZkMjk4OWIxN2M2Li4zOTY2Y2VmZTFmYmE4M2IwYTk5NjY1YzY3MDYyNmFhNDI4YmFi
MzI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlh
U3RyZWFtVHJhY2tTb3VyY2VzUmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFja1NvdXJjZXNSZXF1ZXN0LmgKQEAgLTQxLDcgKzQx
LDcgQEAgY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIAogY2xhc3MgTWVkaWFTdHJlYW1U
cmFja1NvdXJjZXNSZXF1ZXN0IDogcHVibGljIE1lZGlhU3RyZWFtVHJhY2tTb3VyY2VzUmVxdWVz
dENsaWVudCB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1UcmFj
a1NvdXJjZXNSZXF1ZXN0PiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQ
dHI8TWVkaWFTdHJlYW1UcmFja1NvdXJjZXNDYWxsYmFjaz4pOworICAgIHN0YXRpYyBSZWY8TWVk
aWFTdHJlYW1UcmFja1NvdXJjZXNSZXF1ZXN0PiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCosIFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1UcmFja1NvdXJjZXNDYWxsYmFjaz4pOwogICAgIHZp
cnR1YWwgfk1lZGlhU3RyZWFtVHJhY2tTb3VyY2VzUmVxdWVzdCgpIHsgfQogCiBwcml2YXRlOgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVRyYWNr
Q29uc3RyYWludC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlh
VHJhY2tDb25zdHJhaW50LmNwcAppbmRleCBiMTBmY2EyMWQ2OTNjYjVlY2RhZDg3YzA5NjNkNTNi
YmYwYzFiZjAyLi4zYzc3YzAyMzA1M2ExMTdlNTIxNTQ1OTI1NmFlNzYwZjU0ODI3Y2M4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhVHJhY2tDb25z
dHJhaW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlh
VHJhY2tDb25zdHJhaW50LmNwcApAQCAtMzQsOSArMzQsOSBAQCB1c2luZyBuYW1lc3BhY2UgSlND
OwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVJlZlB0cjxNZWRpYVRyYWNrQ29uc3RyYWludD4g
TWVkaWFUcmFja0NvbnN0cmFpbnQ6OmNyZWF0ZShjb25zdCBEaWN0aW9uYXJ5JiBjb25zdHJhaW50
KQorUmVmPE1lZGlhVHJhY2tDb25zdHJhaW50PiBNZWRpYVRyYWNrQ29uc3RyYWludDo6Y3JlYXRl
KGNvbnN0IERpY3Rpb25hcnkmIGNvbnN0cmFpbnQpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5l
dyBNZWRpYVRyYWNrQ29uc3RyYWludChjb25zdHJhaW50KSk7CisgICAgcmV0dXJuIGFkb3B0UmVm
KCpuZXcgTWVkaWFUcmFja0NvbnN0cmFpbnQoY29uc3RyYWludCkpOwogfQogCiBNZWRpYVRyYWNr
Q29uc3RyYWludDo6TWVkaWFUcmFja0NvbnN0cmFpbnQoY29uc3QgRGljdGlvbmFyeSYgY29uc3Ry
YWludCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVk
aWFUcmFja0NvbnN0cmFpbnQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
TWVkaWFUcmFja0NvbnN0cmFpbnQuaAppbmRleCA1YjlkNzA1MjNjYmY3OGFjYzFlZWY2N2UyNmM1
ZDhhN2JhMzc0OTJlLi5jMmE4ODJmZmQ5NDYwOTgyNTIxNTg5MWJjNzY4MTI3ZmI0NDE2ZmMwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhVHJhY2tD
b25zdHJhaW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRp
YVRyYWNrQ29uc3RyYWludC5oCkBAIC00MSw3ICs0MSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogY2xhc3MgTWVkaWFUcmFja0NvbnN0cmFpbnQgOiBwdWJsaWMgUmVmQ291bnRlZDxNZWRpYVRy
YWNrQ29uc3RyYWludD4sIHB1YmxpYyBTY3JpcHRXcmFwcGFibGUgewogcHVibGljOgotICAgIHN0
YXRpYyBSZWZQdHI8TWVkaWFUcmFja0NvbnN0cmFpbnQ+IGNyZWF0ZShjb25zdCBEaWN0aW9uYXJ5
Jik7CisgICAgc3RhdGljIFJlZjxNZWRpYVRyYWNrQ29uc3RyYWludD4gY3JlYXRlKGNvbnN0IERp
Y3Rpb25hcnkmKTsKIAogICAgIHZpcnR1YWwgfk1lZGlhVHJhY2tDb25zdHJhaW50KCk7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFUcmFja0Nv
bnN0cmFpbnRTZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRp
YVRyYWNrQ29uc3RyYWludFNldC5jcHAKaW5kZXggOGNkMDI0NjVmODdhY2E0YWYzODdkMDRiNTE1
NzRhY2I4NDNkMTEyNS4uMGIwMTk1MTM5OWYyYmU2MmVhZmUxYzE1MzJlOTYyMGQyYThkOWI1YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVRyYWNr
Q29uc3RyYWludFNldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9NZWRpYVRyYWNrQ29uc3RyYWludFNldC5jcHAKQEAgLTM0LDkgKzM0LDkgQEAgdXNpbmcgbmFt
ZXNwYWNlIEpTQzsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1SZWZQdHI8TWVkaWFUcmFja0Nv
bnN0cmFpbnRTZXQ+IE1lZGlhVHJhY2tDb25zdHJhaW50U2V0OjpjcmVhdGUoY29uc3QgRGljdGlv
bmFyeSYgY29uc3RyYWludHMpCitSZWY8TWVkaWFUcmFja0NvbnN0cmFpbnRTZXQ+IE1lZGlhVHJh
Y2tDb25zdHJhaW50U2V0OjpjcmVhdGUoY29uc3QgRGljdGlvbmFyeSYgY29uc3RyYWludHMpCiB7
Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBNZWRpYVRyYWNrQ29uc3RyYWludFNldChjb25zdHJh
aW50cykpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IE1lZGlhVHJhY2tDb25zdHJhaW50U2V0
KGNvbnN0cmFpbnRzKSk7CiB9CiAKIE1lZGlhVHJhY2tDb25zdHJhaW50U2V0OjpNZWRpYVRyYWNr
Q29uc3RyYWludFNldChjb25zdCBEaWN0aW9uYXJ5JiBjb25zdHJhaW50cykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFUcmFja0NvbnN0cmFpbnRT
ZXQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFUcmFja0NvbnN0
cmFpbnRTZXQuaAppbmRleCBlY2EyZTlhNzg3OTQ5ZDMzNWQyY2E2MjNiODk4OTM1OTRkZWUyMmQ1
Li4wOWM1M2MyOGJjZWU1OTZlODJjNzgyM2QwYmJkYmZhYWEyZmE4NDVkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhVHJhY2tDb25zdHJhaW50U2V0
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVRyYWNrQ29u
c3RyYWludFNldC5oCkBAIC0zNyw3ICszNyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xh
c3MgTWVkaWFUcmFja0NvbnN0cmFpbnRTZXQgOiBwdWJsaWMgUmVmQ291bnRlZDxNZWRpYVRyYWNr
Q29uc3RyYWludFNldD4sIHB1YmxpYyBTY3JpcHRXcmFwcGFibGUgewogcHVibGljOgotICAgIHN0
YXRpYyBSZWZQdHI8TWVkaWFUcmFja0NvbnN0cmFpbnRTZXQ+IGNyZWF0ZShjb25zdCBEaWN0aW9u
YXJ5Jik7CisgICAgc3RhdGljIFJlZjxNZWRpYVRyYWNrQ29uc3RyYWludFNldD4gY3JlYXRlKGNv
bnN0IERpY3Rpb25hcnkmKTsKIAogICAgIHZpcnR1YWwgfk1lZGlhVHJhY2tDb25zdHJhaW50U2V0
KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVk
aWFUcmFja0NvbnN0cmFpbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vTWVkaWFUcmFja0NvbnN0cmFpbnRzLmNwcAppbmRleCBjYmYyMWU1ZTk0YzJhOTdhYTllMmI4
OWI0MmVhZjYxYjc3OWE5ZDZiLi5iZTdkYjg2OWI4ZGQwYjdmNzA4YTZmZGM3Nzk0ODE5NjlmYTc0
YzAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlh
VHJhY2tDb25zdHJhaW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9NZWRpYVRyYWNrQ29uc3RyYWludHMuY3BwCkBAIC0zOCw5ICszOCw5IEBAIHVzaW5nIG5h
bWVzcGFjZSBKU0M7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUmVmUHRyPE1lZGlhVHJhY2tD
b25zdHJhaW50cz4gTWVkaWFUcmFja0NvbnN0cmFpbnRzOjpjcmVhdGUoUGFzc1JlZlB0cjxNZWRp
YUNvbnN0cmFpbnRzSW1wbD4gY29uc3RyYWludHMpCitSZWY8TWVkaWFUcmFja0NvbnN0cmFpbnRz
PiBNZWRpYVRyYWNrQ29uc3RyYWludHM6OmNyZWF0ZShQYXNzUmVmUHRyPE1lZGlhQ29uc3RyYWlu
dHNJbXBsPiBjb25zdHJhaW50cykKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IE1lZGlhVHJh
Y2tDb25zdHJhaW50cyhjb25zdHJhaW50cykpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IE1l
ZGlhVHJhY2tDb25zdHJhaW50cyhjb25zdHJhaW50cykpOwogfQogCiBNZWRpYVRyYWNrQ29uc3Ry
YWludHM6Ok1lZGlhVHJhY2tDb25zdHJhaW50cyhQYXNzUmVmUHRyPE1lZGlhQ29uc3RyYWludHNJ
bXBsPiBjb25zdHJhaW50cykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vTWVkaWFUcmFja0NvbnN0cmFpbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL01lZGlhVHJhY2tDb25zdHJhaW50cy5oCmluZGV4IDZmOTVmNTUyMTE3MzA2
YmM0ZmExZjliMzczZDI4Yzk2MjQ4NjFiMjcuLjAwOTYyNDFiY2ViZmYzMWY2N2U4Njg3MWI4OTgz
NTdmYTEyZDQyMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vTWVkaWFUcmFja0NvbnN0cmFpbnRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9NZWRpYVRyYWNrQ29uc3RyYWludHMuaApAQCAtNDIsNyArNDIsNyBAQCBjbGFz
cyBNZWRpYVRyYWNrQ29uc3RyYWludHMgOiBwdWJsaWMgUmVmQ291bnRlZDxNZWRpYVRyYWNrQ29u
c3RyYWludHM+LCBwdWJsaWMgUwogcHVibGljOgogICAgIHZpcnR1YWwgfk1lZGlhVHJhY2tDb25z
dHJhaW50cygpIHsgfQogCi0gICAgc3RhdGljIFJlZlB0cjxNZWRpYVRyYWNrQ29uc3RyYWludHM+
IGNyZWF0ZShQYXNzUmVmUHRyPE1lZGlhQ29uc3RyYWludHNJbXBsPik7CisgICAgc3RhdGljIFJl
ZjxNZWRpYVRyYWNrQ29uc3RyYWludHM+IGNyZWF0ZShQYXNzUmVmUHRyPE1lZGlhQ29uc3RyYWlu
dHNJbXBsPik7CiAKICAgICBWZWN0b3I8UGFzc1JlZlB0cjxNZWRpYVRyYWNrQ29uc3RyYWludD4+
IG9wdGlvbmFsKGJvb2wpIGNvbnN0OwogICAgIFJlZlB0cjxNZWRpYVRyYWNrQ29uc3RyYWludFNl
dD4gbWFuZGF0b3J5KGJvb2wpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oCmluZGV4IGVh
Mzc4NzFkYWViMzM0ODEwYTg2ZjVhODA4ZGYwNzQ3MWNhZDEyM2QuLmMxN2VmNDA4NDZkMmUzZWI4
MzJiNGNjYWNlYTZiNDUwYjMzN2ZkZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmgKQEAgLTM2
LDkgKzM2LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBOYXZpZ2F0b3JVc2VyTWVk
aWFFcnJvciA6IHB1YmxpYyBET01FcnJvciB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQ
dHI8TmF2aWdhdG9yVXNlck1lZGlhRXJyb3I+IGNyZWF0ZShjb25zdCBTdHJpbmcmIG5hbWUsIGNv
bnN0IFN0cmluZyYgY29uc3RyYWludE5hbWUpCisgICAgc3RhdGljIFJlZjxOYXZpZ2F0b3JVc2Vy
TWVkaWFFcnJvcj4gY3JlYXRlKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBjb25z
dHJhaW50TmFtZSkKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgTmF2aWdhdG9y
VXNlck1lZGlhRXJyb3IobmFtZSwgY29uc3RyYWludE5hbWUpKTsKKyAgICAgICAgcmV0dXJuIGFk
b3B0UmVmKCpuZXcgTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IobmFtZSwgY29uc3RyYWludE5hbWUp
KTsKICAgICB9CiAKICAgICB2aXJ0dWFsIH5OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvcigpIHsgfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENDb25maWd1
cmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0NvbmZpZ3Vy
YXRpb24uaAppbmRleCA0MTA1MWE5MzQ5NmQ2YmQwYmU1YzY0MDk0NmI2MzM5MGUzYjcyYjM4Li40
ZmZhOTZlMDJlMzI4MWRjYzI2ODE0YzM4MjZlYWQ1YjUwZTM4NmU0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0NvbmZpZ3VyYXRpb24uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0NvbmZpZ3VyYXRpb24uaApAQCAt
NDQsNyArNDQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFJUQ0NvbmZpZ3VyYXRp
b24gOiBwdWJsaWMgUmVmQ291bnRlZDxSVENDb25maWd1cmF0aW9uPiB7CiBwdWJsaWM6Ci0gICAg
c3RhdGljIFBhc3NSZWZQdHI8UlRDQ29uZmlndXJhdGlvbj4gY3JlYXRlKCkgeyByZXR1cm4gYWRv
cHRSZWYobmV3IFJUQ0NvbmZpZ3VyYXRpb24oKSk7IH0KKyAgICBzdGF0aWMgUmVmPFJUQ0NvbmZp
Z3VyYXRpb24+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUlRDQ29uZmlndXJhdGlv
bigpKTsgfQogICAgIHZpcnR1YWwgflJUQ0NvbmZpZ3VyYXRpb24oKSB7IH0KIAogICAgIHZvaWQg
YXBwZW5kU2VydmVyKFBhc3NSZWZQdHI8UlRDSWNlU2VydmVyPiBzZXJ2ZXIpIHsgbV9wcml2YXRl
LT5hcHBlbmRTZXJ2ZXIoc2VydmVyLT5wcml2YXRlU2VydmVyKCkpOyB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0ljZVNlcnZlci5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENJY2VTZXJ2ZXIuaAppbmRleCBlY2EyNThm
YjQ2MjcyMjJkYWYzNzM4OWE4M2VhMTc5NGY0YTI2OWY4Li40MjE4ZDJiMTdiNzExMGNiNGI4NDJl
MTlkNmZiZmU0MTZlOWQwNTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL1JUQ0ljZVNlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vUlRDSWNlU2VydmVyLmgKQEAgLTM4LDE0ICszOCwxNCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIGNsYXNzIFJUQ0ljZVNlcnZlciA6IHB1YmxpYyBSZWZDb3VudGVkPFJUQ0ljZVNl
cnZlcj4gewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFJUQ0ljZVNlcnZlcj4gY3Jl
YXRlKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiB1cmxzLCBjb25zdCBTdHJpbmcmIGNyZWRlbnRpYWws
IGNvbnN0IFN0cmluZyYgdXNlcm5hbWUpCisgICAgc3RhdGljIFJlZjxSVENJY2VTZXJ2ZXI+IGNy
ZWF0ZShjb25zdCBWZWN0b3I8U3RyaW5nPiYgdXJscywgY29uc3QgU3RyaW5nJiBjcmVkZW50aWFs
LCBjb25zdCBTdHJpbmcmIHVzZXJuYW1lKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVm
KG5ldyBSVENJY2VTZXJ2ZXIodXJscywgY3JlZGVudGlhbCwgdXNlcm5hbWUpKTsKKyAgICAgICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgUlRDSWNlU2VydmVyKHVybHMsIGNyZWRlbnRpYWwsIHVzZXJu
YW1lKSk7CiAgICAgfQogCi0gICAgc3RhdGljIFBhc3NSZWZQdHI8UlRDSWNlU2VydmVyPiBjcmVh
dGUoUGFzc1JlZlB0cjxSVENJY2VTZXJ2ZXJQcml2YXRlPiBzZXJ2ZXIpCisgICAgc3RhdGljIFJl
ZjxSVENJY2VTZXJ2ZXI+IGNyZWF0ZShQYXNzUmVmUHRyPFJUQ0ljZVNlcnZlclByaXZhdGU+IHNl
cnZlcikKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgUlRDSWNlU2VydmVyKHNl
cnZlcikpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBSVENJY2VTZXJ2ZXIoc2VydmVy
KSk7CiAgICAgfQogCiAgICAgdmlydHVhbCB+UlRDSWNlU2VydmVyKCkgeyB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlv
bi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNj
cmlwdGlvbi5jcHAKaW5kZXggODViZmI1YzMxZTc2NGI2ZTgxODUyOTMzNThjYjE5NmIwNzE1ODBk
My4uZGQ5MTMxMTFlODQxNmU2OGViMDY2N2QzM2EyMmJjNWI4MjBjZjk2ZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb24u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRl
c2NyaXB0aW9uLmNwcApAQCAtNDYsNyArNDYsNyBAQCBzdGF0aWMgYm9vbCB2ZXJpZnlUeXBlKGNv
bnN0IFN0cmluZyYgdHlwZSkKICAgICByZXR1cm4gdHlwZSA9PSAib2ZmZXIiIHx8IHR5cGUgPT0g
InByYW5zd2VyIiB8fCB0eXBlID09ICJhbnN3ZXIiOwogfQogCi1QYXNzUmVmUHRyPFJUQ1Nlc3Np
b25EZXNjcmlwdGlvbj4gUlRDU2Vzc2lvbkRlc2NyaXB0aW9uOjpjcmVhdGUoY29uc3QgRGljdGlv
bmFyeSYgZGljdGlvbmFyeSwgRXhjZXB0aW9uQ29kZSYgZWMpCitSZWZQdHI8UlRDU2Vzc2lvbkRl
c2NyaXB0aW9uPiBSVENTZXNzaW9uRGVzY3JpcHRpb246OmNyZWF0ZShjb25zdCBEaWN0aW9uYXJ5
JiBkaWN0aW9uYXJ5LCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBTdHJpbmcgdHlwZTsKICAg
ICBib29sIG9rID0gZGljdGlvbmFyeS5nZXQoInR5cGUiLCB0eXBlKTsKQEAgLTYyLDEzICs2Miwx
MyBAQCBQYXNzUmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlvbj4gUlRDU2Vzc2lvbkRlc2NyaXB0
aW9uOjpjcmVhdGUoY29uc3QgRGljdGlvbmFyeQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAg
ICB9CiAKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbihSVENT
ZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yOjpjcmVhdGUodHlwZSwgc2RwKSkpOworICAgIHJl
dHVybiBhZG9wdFJlZigqbmV3IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbihSVENTZXNzaW9uRGVzY3Jp
cHRpb25EZXNjcmlwdG9yOjpjcmVhdGUodHlwZSwgc2RwKSkpOwogfQogCi1QYXNzUmVmUHRyPFJU
Q1Nlc3Npb25EZXNjcmlwdGlvbj4gUlRDU2Vzc2lvbkRlc2NyaXB0aW9uOjpjcmVhdGUoUGFzc1Jl
ZlB0cjxSVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yPiBkZXNjcmlwdG9yKQorUmVmUHRy
PFJUQ1Nlc3Npb25EZXNjcmlwdGlvbj4gUlRDU2Vzc2lvbkRlc2NyaXB0aW9uOjpjcmVhdGUoUGFz
c1JlZlB0cjxSVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yPiBkZXNjcmlwdG9yKQogewog
ICAgIEFTU0VSVChkZXNjcmlwdG9yKTsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IFJUQ1Nlc3Np
b25EZXNjcmlwdGlvbihkZXNjcmlwdG9yKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUlRD
U2Vzc2lvbkRlc2NyaXB0aW9uKGRlc2NyaXB0b3IpKTsKIH0KIAogUlRDU2Vzc2lvbkRlc2NyaXB0
aW9uOjpSVENTZXNzaW9uRGVzY3JpcHRpb24oUGFzc1JlZlB0cjxSVENTZXNzaW9uRGVzY3JpcHRp
b25EZXNjcmlwdG9yPiBkZXNjcmlwdG9yKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb24uaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uLmgKaW5kZXggZmFmZTJi
NjVhNmI4N2FmOTNiMDVhOTY5MGI2Yzg0NWRiOTFmOTllMS4uYmNiMzM1NDE2YmZhNTMwYmJkOGYy
ZGU1N2M4ZDA5YTNiOTZlN2ZlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlvbi5oCkBAIC00Niw4ICs0Niw4
IEBAIGNsYXNzIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3I7CiAKIGNsYXNzIFJUQ1Nl
c3Npb25EZXNjcmlwdGlvbiA6IHB1YmxpYyBSZWZDb3VudGVkPFJUQ1Nlc3Npb25EZXNjcmlwdGlv
bj4sIHB1YmxpYyBTY3JpcHRXcmFwcGFibGUgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVm
UHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlvbj4gY3JlYXRlKGNvbnN0IERpY3Rpb25hcnkmLCBFeGNl
cHRpb25Db2RlJik7Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9u
PiBjcmVhdGUoUGFzc1JlZlB0cjxSVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yPik7Cisg
ICAgc3RhdGljIFJlZlB0cjxSVENTZXNzaW9uRGVzY3JpcHRpb24+IGNyZWF0ZShjb25zdCBEaWN0
aW9uYXJ5JiwgRXhjZXB0aW9uQ29kZSYpOworICAgIHN0YXRpYyBSZWZQdHI8UlRDU2Vzc2lvbkRl
c2NyaXB0aW9uPiBjcmVhdGUoUGFzc1JlZlB0cjxSVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlw
dG9yPik7CiAgICAgdmlydHVhbCB+UlRDU2Vzc2lvbkRlc2NyaXB0aW9uKCk7CiAKICAgICBjb25z
dCBTdHJpbmcmIHR5cGUoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVxdWVzdEltcGwuY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb25SZXF1
ZXN0SW1wbC5jcHAKaW5kZXggNGIyYWQ3ZWUzODM5ZTdmZDFkYTkzMWFkNDc2MzEzNjU2ZDAwMmE0
NC4uZDcxMGRjMThmNWUyM2NiNmUxMzA4ZGYyOGY2NTZhNjg5YmNiMDZkNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb25S
ZXF1ZXN0SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENTZXNzaW9uRGVzY3JpcHRpb25SZXF1ZXN0SW1wbC5jcHAKQEAgLTQzLDExICs0MywxMSBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVBhc3NSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9u
UmVxdWVzdEltcGw+IFJUQ1Nlc3Npb25EZXNjcmlwdGlvblJlcXVlc3RJbXBsOjpjcmVhdGUoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgUGFzc1JlZlB0cjxSVENTZXNzaW9uRGVzY3Jp
cHRpb25DYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrLCBQYXNzUmVmUHRyPFJUQ1BlZXJDb25uZWN0
aW9uRXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjaykKK1JlZjxSVENTZXNzaW9uRGVzY3JpcHRp
b25SZXF1ZXN0SW1wbD4gUlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVxdWVzdEltcGw6OmNyZWF0ZShT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBQYXNzUmVmUHRyPFJUQ1Nlc3Npb25EZXNj
cmlwdGlvbkNhbGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2ssIFBhc3NSZWZQdHI8UlRDUGVlckNvbm5l
Y3Rpb25FcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrKQogewotICAgIFJlZlB0cjxSVENTZXNz
aW9uRGVzY3JpcHRpb25SZXF1ZXN0SW1wbD4gcmVxdWVzdCA9IGFkb3B0UmVmKG5ldyBSVENTZXNz
aW9uRGVzY3JpcHRpb25SZXF1ZXN0SW1wbChjb250ZXh0LCBzdWNjZXNzQ2FsbGJhY2ssIGVycm9y
Q2FsbGJhY2spKTsKKyAgICBSZWY8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVxdWVzdEltcGw+IHJl
cXVlc3QgPSBhZG9wdFJlZigqbmV3IFJUQ1Nlc3Npb25EZXNjcmlwdGlvblJlcXVlc3RJbXBsKGNv
bnRleHQsIHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjaykpOwogICAgIHJlcXVlc3QtPnN1
c3BlbmRJZk5lZWRlZCgpOwotICAgIHJldHVybiByZXF1ZXN0LnJlbGVhc2UoKTsKKyAgICByZXR1
cm4gcmVxdWVzdDsKIH0KIAogUlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVxdWVzdEltcGw6OlJUQ1Nl
c3Npb25EZXNjcmlwdGlvblJlcXVlc3RJbXBsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRl
eHQsIFBhc3NSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uQ2FsbGJhY2s+IHN1Y2Nlc3NDYWxs
YmFjaywgUGFzc1JlZlB0cjxSVENQZWVyQ29ubmVjdGlvbkVycm9yQ2FsbGJhY2s+IGVycm9yQ2Fs
bGJhY2spCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q1Nlc3Npb25EZXNjcmlwdGlvblJlcXVlc3RJbXBsLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlvblJlcXVlc3RJbXBsLmgKaW5kZXggMmQ3
OGI1MDk4ZWQxNWJlZjNjZTQ4OWI5MDMyZjIxNjhkOTNjZjQyZC4uZWQ2NzNiOGFkNjhlYWQ4NzUx
OGI5ZmNmYTc4YmQxNWQ4NmQ1Yjg3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb25SZXF1ZXN0SW1wbC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVx
dWVzdEltcGwuaApAQCAtNDUsNyArNDUsNyBAQCBjbGFzcyBSVENTZXNzaW9uRGVzY3JpcHRpb25D
YWxsYmFjazsKIAogY2xhc3MgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVxdWVzdEltcGwgOiBwdWJs
aWMgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVxdWVzdCwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7
CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVx
dWVzdEltcGw+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxSVENT
ZXNzaW9uRGVzY3JpcHRpb25DYWxsYmFjaz4sIFBhc3NSZWZQdHI8UlRDUGVlckNvbm5lY3Rpb25F
cnJvckNhbGxiYWNrPik7CisgICAgc3RhdGljIFJlZjxSVENTZXNzaW9uRGVzY3JpcHRpb25SZXF1
ZXN0SW1wbD4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPFJUQ1Nl
c3Npb25EZXNjcmlwdGlvbkNhbGxiYWNrPiwgUGFzc1JlZlB0cjxSVENQZWVyQ29ubmVjdGlvbkVy
cm9yQ2FsbGJhY2s+KTsKICAgICB2aXJ0dWFsIH5SVENTZXNzaW9uRGVzY3JpcHRpb25SZXF1ZXN0
SW1wbCgpOwogCiAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RTdWNjZWVkZWQoUGFzc1JlZlB0cjxS
VENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yPikgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1N0YXRzUmVwb3J0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU3RhdHNSZXBvcnQuY3BwCmluZGV4
IDI3OTM3ZWJhM2YxOTQ1ZTQ0YjhhMjZlNDFlOTE5OGZlYjU5N2JjNmIuLjk4OWE3NmZmYzA4Njcx
M2ExZjYwNmZhYzVkZDRkMTZjYTM5MzliMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vUlRDU3RhdHNSZXBvcnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU3RhdHNSZXBvcnQuY3BwCkBAIC0zMyw5ICszMyw5IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUGFzc1JlZlB0cjxSVENTdGF0c1JlcG9ydD4gUlRD
U3RhdHNSZXBvcnQ6OmNyZWF0ZShjb25zdCBTdHJpbmcmIGlkLCBjb25zdCBTdHJpbmcmIHR5cGUs
IGRvdWJsZSB0aW1lc3RhbXApCitSZWY8UlRDU3RhdHNSZXBvcnQ+IFJUQ1N0YXRzUmVwb3J0Ojpj
cmVhdGUoY29uc3QgU3RyaW5nJiBpZCwgY29uc3QgU3RyaW5nJiB0eXBlLCBkb3VibGUgdGltZXN0
YW1wKQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgUlRDU3RhdHNSZXBvcnQoaWQsIHR5cGUs
IHRpbWVzdGFtcCkpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFJUQ1N0YXRzUmVwb3J0KGlk
LCB0eXBlLCB0aW1lc3RhbXApKTsKIH0KIAogUlRDU3RhdHNSZXBvcnQ6OlJUQ1N0YXRzUmVwb3J0
KGNvbnN0IFN0cmluZyYgaWQsIGNvbnN0IFN0cmluZyYgdHlwZSwgZG91YmxlIHRpbWVzdGFtcCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU3RhdHNS
ZXBvcnQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU3RhdHNSZXBv
cnQuaAppbmRleCBmN2I4YWZlMjkzZDYyOWU5N2E0YjcyOWQwNTM2OWNjNDJlMDA2ZDJkLi5mOTNh
M2RkMTIwOGNjZWEyYzcxMGExODE4ZDlmNmEzYmNjNTNkNGM0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1N0YXRzUmVwb3J0LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTdGF0c1JlcG9ydC5oCkBAIC0zNiw3ICsz
Niw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUlRDU3RhdHNSZXBvcnQgOiBwdWJs
aWMgUmVmQ291bnRlZDxSVENTdGF0c1JlcG9ydD4sIHB1YmxpYyBTY3JpcHRXcmFwcGFibGUgewog
cHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFJUQ1N0YXRzUmVwb3J0PiBjcmVhdGUoY29u
c3QgU3RyaW5nJiBpZCwgY29uc3QgU3RyaW5nJiB0eXBlLCBkb3VibGUgdGltZXN0YW1wKTsKKyAg
ICBzdGF0aWMgUmVmPFJUQ1N0YXRzUmVwb3J0PiBjcmVhdGUoY29uc3QgU3RyaW5nJiBpZCwgY29u
c3QgU3RyaW5nJiB0eXBlLCBkb3VibGUgdGltZXN0YW1wKTsKIAogICAgIGRvdWJsZSB0aW1lc3Rh
bXAoKSBjb25zdCB7IHJldHVybiBtX3RpbWVzdGFtcDsgfQogICAgIFN0cmluZyBpZCgpIHsgcmV0
dXJuIG1faWQ7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDU3RhdHNSZXF1ZXN0SW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ1N0YXRzUmVxdWVzdEltcGwuY3BwCmluZGV4IDkxMWEyZjljNzAwZjUxZGJhMjU0
MTYzZmUzYTZiZjJjNGNhN2EzODUuLmRlYjE5YTlhZjkwZGNmYzQ1NjM3Mzg2OGUxNWY4ODM1ZGZi
ZTRjOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
U3RhdHNSZXF1ZXN0SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENTdGF0c1JlcXVlc3RJbXBsLmNwcApAQCAtMzYsMTEgKzM2LDExIEBACiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotUGFzc1JlZlB0cjxSVENTdGF0c1JlcXVlc3RJbXBsPiBSVENTdGF0
c1JlcXVlc3RJbXBsOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgUGFz
c1JlZlB0cjxSVENTdGF0c0NhbGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2ssIFBhc3NSZWZQdHI8UlRD
UGVlckNvbm5lY3Rpb25FcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrLCBQYXNzUmVmUHRyPE1l
ZGlhU3RyZWFtVHJhY2tQcml2YXRlPiBzZWxlY3RvcikKK1JlZjxSVENTdGF0c1JlcXVlc3RJbXBs
PiBSVENTdGF0c1JlcXVlc3RJbXBsOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29u
dGV4dCwgUGFzc1JlZlB0cjxSVENTdGF0c0NhbGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2ssIFBhc3NS
ZWZQdHI8UlRDUGVlckNvbm5lY3Rpb25FcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrLCBQYXNz
UmVmUHRyPE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlPiBzZWxlY3RvcikKIHsKLSAgICBSZWZQdHI8
UlRDU3RhdHNSZXF1ZXN0SW1wbD4gcmVxdWVzdCA9IGFkb3B0UmVmKG5ldyBSVENTdGF0c1JlcXVl
c3RJbXBsKGNvbnRleHQsIHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjaywgc2VsZWN0b3Ip
KTsKKyAgICBSZWY8UlRDU3RhdHNSZXF1ZXN0SW1wbD4gcmVxdWVzdCA9IGFkb3B0UmVmKCpuZXcg
UlRDU3RhdHNSZXF1ZXN0SW1wbChjb250ZXh0LCBzdWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJh
Y2ssIHNlbGVjdG9yKSk7CiAgICAgcmVxdWVzdC0+c3VzcGVuZElmTmVlZGVkKCk7Ci0gICAgcmV0
dXJuIHJlcXVlc3QucmVsZWFzZSgpOworICAgIHJldHVybiByZXF1ZXN0OwogfQogCiBSVENTdGF0
c1JlcXVlc3RJbXBsOjpSVENTdGF0c1JlcXVlc3RJbXBsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
IGNvbnRleHQsIFBhc3NSZWZQdHI8UlRDU3RhdHNDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrLCBQ
YXNzUmVmUHRyPFJUQ1BlZXJDb25uZWN0aW9uRXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjaywg
UGFzc1JlZlB0cjxNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZT4gc2VsZWN0b3IpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1N0YXRzUmVxdWVzdEltcGwu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU3RhdHNSZXF1ZXN0SW1w
bC5oCmluZGV4IDRlOGVkNzE5NmQ5YzhmOTBhMmEzYjM2NTAwZjlmYzc4MDZmMWRjMzEuLjdiNjIy
NzY2ZmE4NjliNjExNGZkNDVlM2M5OTgxNGVmZThjNzdkOWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU3RhdHNSZXF1ZXN0SW1wbC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU3RhdHNSZXF1ZXN0SW1wbC5oCkBA
IC00MSw3ICs0MSw3IEBAIGNsYXNzIFJUQ1BlZXJDb25uZWN0aW9uRXJyb3JDYWxsYmFjazsKIAog
Y2xhc3MgUlRDU3RhdHNSZXF1ZXN0SW1wbCA6IHB1YmxpYyBSVENTdGF0c1JlcXVlc3QsIHB1Ymxp
YyBBY3RpdmVET01PYmplY3QgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFJUQ1N0
YXRzUmVxdWVzdEltcGw+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0
cjxSVENTdGF0c0NhbGxiYWNrPiwgUGFzc1JlZlB0cjxSVENQZWVyQ29ubmVjdGlvbkVycm9yQ2Fs
bGJhY2s+LCBQYXNzUmVmUHRyPE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlPik7CisgICAgc3RhdGlj
IFJlZjxSVENTdGF0c1JlcXVlc3RJbXBsPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCos
IFBhc3NSZWZQdHI8UlRDU3RhdHNDYWxsYmFjaz4sIFBhc3NSZWZQdHI8UlRDUGVlckNvbm5lY3Rp
b25FcnJvckNhbGxiYWNrPiwgUGFzc1JlZlB0cjxNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZT4pOwog
ICAgIHZpcnR1YWwgflJUQ1N0YXRzUmVxdWVzdEltcGwoKTsKIAogICAgIHZpcnR1YWwgUGFzc1Jl
ZlB0cjxSVENTdGF0c1Jlc3BvbnNlQmFzZT4gY3JlYXRlUmVzcG9uc2UoKSBvdmVycmlkZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU3RhdHNSZXNw
b25zZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1N0YXRzUmVz
cG9uc2UuY3BwCmluZGV4IGMzYjQxZmUxOTJjYjBlNDhiOTY5NTAyZjZkNTExMzRhY2YxYzg3Y2Uu
LmJiM2VlMzI3M2RmNGQwNWFmNjEzZjc5ZjNkYjQwMjg5ZDU1MmE3Y2EgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU3RhdHNSZXNwb25zZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTdGF0c1Jlc3BvbnNlLmNw
cApAQCAtMzAsOSArMzAsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVBhc3NSZWZQdHI8
UlRDU3RhdHNSZXNwb25zZT4gUlRDU3RhdHNSZXNwb25zZTo6Y3JlYXRlKCkKK1JlZjxSVENTdGF0
c1Jlc3BvbnNlPiBSVENTdGF0c1Jlc3BvbnNlOjpjcmVhdGUoKQogewotICAgIHJldHVybiBhZG9w
dFJlZihuZXcgUlRDU3RhdHNSZXNwb25zZSgpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBS
VENTdGF0c1Jlc3BvbnNlKCkpOwogfQogCiBSVENTdGF0c1Jlc3BvbnNlOjpSVENTdGF0c1Jlc3Bv
bnNlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
U3RhdHNSZXNwb25zZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENT
dGF0c1Jlc3BvbnNlLmgKaW5kZXggM2E0NThmZjk5MmM5ZWE1NzUxMTM2OGFjYjYxNjMyNThjZDBi
ZjRiNS4uZDQxYjliOGQ1OTNiZjFhZDkzNmZkNjQ0YzlkNjQ2NGNhYjg5MDgwMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTdGF0c1Jlc3BvbnNlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTdGF0c1Jlc3BvbnNl
LmgKQEAgLTQxLDcgKzQxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBSVENTdGF0
c1Jlc3BvbnNlIDogcHVibGljIFJUQ1N0YXRzUmVzcG9uc2VCYXNlLCBwdWJsaWMgU2NyaXB0V3Jh
cHBhYmxlIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxSVENTdGF0c1Jlc3BvbnNl
PiBjcmVhdGUoKTsKKyAgICBzdGF0aWMgUmVmPFJUQ1N0YXRzUmVzcG9uc2U+IGNyZWF0ZSgpOwog
CiAgICAgY29uc3QgVmVjdG9yPFJlZlB0cjxSVENTdGF0c1JlcG9ydD4+JiByZXN1bHQoKSBjb25z
dCB7IHJldHVybiBtX3Jlc3VsdDsgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9SVENWb2lkUmVxdWVzdEltcGwuY3BwIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9SVENWb2lkUmVxdWVzdEltcGwuY3BwCmluZGV4IGI3ZGIyMWIz
ZjgzMDU4ZDU1OWYzZmY2OGEwMmFjZDRkYzAyYTBmYmQuLjgyZjhhMTIyZGQzMDllM2FkMGU0Mzk0
ZWM5Y2MzNWVlMDA5ZGFkMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vUlRDVm9pZFJlcXVlc3RJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ1ZvaWRSZXF1ZXN0SW1wbC5jcHAKQEAgLTQyLDExICs0MiwxMSBA
QAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVBhc3NSZWZQdHI8UlRDVm9pZFJlcXVlc3RJbXBs
PiBSVENWb2lkUmVxdWVzdEltcGw6OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250
ZXh0LCBQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrLCBQYXNzUmVmUHRy
PFJUQ1BlZXJDb25uZWN0aW9uRXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjaykKK1JlZjxSVENW
b2lkUmVxdWVzdEltcGw+IFJUQ1ZvaWRSZXF1ZXN0SW1wbDo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQqIGNvbnRleHQsIFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNrPiBzdWNjZXNzQ2FsbGJh
Y2ssIFBhc3NSZWZQdHI8UlRDUGVlckNvbm5lY3Rpb25FcnJvckNhbGxiYWNrPiBlcnJvckNhbGxi
YWNrKQogewotICAgIFJlZlB0cjxSVENWb2lkUmVxdWVzdEltcGw+IHJlcXVlc3QgPSBhZG9wdFJl
ZihuZXcgUlRDVm9pZFJlcXVlc3RJbXBsKGNvbnRleHQsIHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JD
YWxsYmFjaykpOworICAgIFJlZjxSVENWb2lkUmVxdWVzdEltcGw+IHJlcXVlc3QgPSBhZG9wdFJl
ZigqbmV3IFJUQ1ZvaWRSZXF1ZXN0SW1wbChjb250ZXh0LCBzdWNjZXNzQ2FsbGJhY2ssIGVycm9y
Q2FsbGJhY2spKTsKICAgICByZXF1ZXN0LT5zdXNwZW5kSWZOZWVkZWQoKTsKLSAgICByZXR1cm4g
cmVxdWVzdC5yZWxlYXNlKCk7CisgICAgcmV0dXJuIHJlcXVlc3Q7CiB9CiAKIFJUQ1ZvaWRSZXF1
ZXN0SW1wbDo6UlRDVm9pZFJlcXVlc3RJbXBsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRl
eHQsIFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2ssIFBhc3NSZWZQdHI8
UlRDUGVlckNvbm5lY3Rpb25FcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENWb2lkUmVxdWVzdEltcGwu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDVm9pZFJlcXVlc3RJbXBs
LmgKaW5kZXggYTQwM2ViMjRjZjJkZjM2YWYwNDg5MTI1ZTBjOGYyNDJhOTEzNGFhMi4uOTRiOGI4
OTk4OWFkY2YwYWVhMDQ1MmI2ODA2YTQ0Y2UzYTM5YTI3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENWb2lkUmVxdWVzdEltcGwuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1ZvaWRSZXF1ZXN0SW1wbC5oCkBAIC00
NCw3ICs0NCw3IEBAIGNsYXNzIFZvaWRDYWxsYmFjazsKIAogY2xhc3MgUlRDVm9pZFJlcXVlc3RJ
bXBsIDogcHVibGljIFJUQ1ZvaWRSZXF1ZXN0LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0IHsKIHB1
YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxSVENWb2lkUmVxdWVzdEltcGw+IGNyZWF0ZShT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+LCBQYXNzUmVm
UHRyPFJUQ1BlZXJDb25uZWN0aW9uRXJyb3JDYWxsYmFjaz4pOworICAgIHN0YXRpYyBSZWY8UlRD
Vm9pZFJlcXVlc3RJbXBsPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQ
dHI8Vm9pZENhbGxiYWNrPiwgUGFzc1JlZlB0cjxSVENQZWVyQ29ubmVjdGlvbkVycm9yQ2FsbGJh
Y2s+KTsKICAgICB2aXJ0dWFsIH5SVENWb2lkUmVxdWVzdEltcGwoKTsKIAogICAgIHZpcnR1YWwg
dm9pZCByZXF1ZXN0U3VjY2VlZGVkKCkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1NvdXJjZUluZm8uY3BwIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9Tb3VyY2VJbmZvLmNwcAppbmRleCBiMTE2ZjJmZDE1MTg0NWY3
ZTY2OWZlMDQ4ODljYzljNGFkNGMxMDIwLi40YmI0ZWY4NjBmNDY3ZTQ2Yjg1NWYzYWMzYTI1M2Nk
NjIyNDY3ODNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1NvdXJjZUluZm8uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
U291cmNlSW5mby5jcHAKQEAgLTMzLDkgKzMzLDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1QYXNzUmVmUHRyPFNvdXJjZUluZm8+IFNvdXJjZUluZm86OmNyZWF0ZShQYXNzUmVmUHRyPFRy
YWNrU291cmNlSW5mbz4gdHJhY2tTb3VyY2VJbmZvKQorUmVmPFNvdXJjZUluZm8+IFNvdXJjZUlu
Zm86OmNyZWF0ZShQYXNzUmVmUHRyPFRyYWNrU291cmNlSW5mbz4gdHJhY2tTb3VyY2VJbmZvKQog
ewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgU291cmNlSW5mbyh0cmFja1NvdXJjZUluZm8pKTsK
KyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTb3VyY2VJbmZvKHRyYWNrU291cmNlSW5mbykpOwog
fQogCiBTb3VyY2VJbmZvOjpTb3VyY2VJbmZvKFBhc3NSZWZQdHI8VHJhY2tTb3VyY2VJbmZvPiB0
cmFja1NvdXJjZUluZm8pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1NvdXJjZUluZm8uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
U291cmNlSW5mby5oCmluZGV4IDIzZjE2MmUzNzhmMWU1ZmM5M2U5ZTFjZDhiY2JkZjdkMjE0NGU1
M2YuLmU1YWJlMGNmNGE2MDFmY2E5YzhlNjliZmRhMDUyZGEwM2Y4NzlmZmIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vU291cmNlSW5mby5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vU291cmNlSW5mby5oCkBAIC00MCw3ICs0
MCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU291cmNlSW5mbyA6IHB1YmxpYyBS
ZWZDb3VudGVkPFNvdXJjZUluZm8+LCBwdWJsaWMgU2NyaXB0V3JhcHBhYmxlIHsKIHB1YmxpYzoK
LSAgICBzdGF0aWMgUGFzc1JlZlB0cjxTb3VyY2VJbmZvPiBjcmVhdGUoUGFzc1JlZlB0cjxUcmFj
a1NvdXJjZUluZm8+KTsKKyAgICBzdGF0aWMgUmVmPFNvdXJjZUluZm8+IGNyZWF0ZShQYXNzUmVm
UHRyPFRyYWNrU291cmNlSW5mbz4pOwogCiAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBzb3VyY2VJ
ZCgpIGNvbnN0IHsgcmV0dXJuIG1fdHJhY2tTb3VyY2VJbmZvLT5pZCgpOyB9CiAgICAgY29uc3Qg
QXRvbWljU3RyaW5nJiBsYWJlbCgpIGNvbnN0IHsgcmV0dXJuIG1fdHJhY2tTb3VyY2VJbmZvLT5s
YWJlbCgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1VzZXJNZWRpYVJlcXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9Vc2VyTWVkaWFSZXF1ZXN0LmNwcAppbmRleCA0YTlhZTYzZTUxYjcxZWRlNzBkYWIzNDQyNmEz
MGUyMGY1NTM2ODI4Li5mMGZjNjNhN2VmODA4ZGIyNzk1YTYyNTc1YTY0NTEwYWNmZjUzMDQ4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJl
cXVlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1l
ZGlhUmVxdWVzdC5jcHAKQEAgLTcxLDcgKzcxLDcgQEAgc3RhdGljIFBhc3NSZWZQdHI8TWVkaWFD
b25zdHJhaW50cz4gcGFyc2VPcHRpb25zKGNvbnN0IERpY3Rpb25hcnkmIG9wdGlvbnMsIGNvbnMK
ICAgICByZXR1cm4gY29uc3RyYWludHMucmVsZWFzZSgpOwogfQogCi1QYXNzUmVmUHRyPFVzZXJN
ZWRpYVJlcXVlc3Q+IFVzZXJNZWRpYVJlcXVlc3Q6OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiBjb250ZXh0LCBVc2VyTWVkaWFDb250cm9sbGVyKiBjb250cm9sbGVyLCBjb25zdCBEaWN0
aW9uYXJ5JiBvcHRpb25zLCBQYXNzUmVmUHRyPE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxs
YmFjaz4gc3VjY2Vzc0NhbGxiYWNrLCBQYXNzUmVmUHRyPE5hdmlnYXRvclVzZXJNZWRpYUVycm9y
Q2FsbGJhY2s+IGVycm9yQ2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUmIGVjKQorUmVmUHRyPFVzZXJN
ZWRpYVJlcXVlc3Q+IFVzZXJNZWRpYVJlcXVlc3Q6OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiBjb250ZXh0LCBVc2VyTWVkaWFDb250cm9sbGVyKiBjb250cm9sbGVyLCBjb25zdCBEaWN0
aW9uYXJ5JiBvcHRpb25zLCBQYXNzUmVmUHRyPE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxs
YmFjaz4gc3VjY2Vzc0NhbGxiYWNrLCBQYXNzUmVmUHRyPE5hdmlnYXRvclVzZXJNZWRpYUVycm9y
Q2FsbGJhY2s+IGVycm9yQ2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIEFTU0VS
VChzdWNjZXNzQ2FsbGJhY2spOwogCkBAIC04Niw3ICs4Niw3IEBAIFBhc3NSZWZQdHI8VXNlck1l
ZGlhUmVxdWVzdD4gVXNlck1lZGlhUmVxdWVzdDo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqIGNvCiAgICAgcmV0dXJuIFVzZXJNZWRpYVJlcXVlc3Q6OmNyZWF0ZShjb250ZXh0LCBjb250
cm9sbGVyLCBvcHRpb25zLCBXVEY6Om1vdmUocmVzb2x2ZUNhbGxiYWNrKSwgV1RGOjptb3ZlKHJl
amVjdENhbGxiYWNrKSwgZWMpOwogfQogCi1QYXNzUmVmUHRyPFVzZXJNZWRpYVJlcXVlc3Q+IFVz
ZXJNZWRpYVJlcXVlc3Q6OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBV
c2VyTWVkaWFDb250cm9sbGVyKiBjb250cm9sbGVyLCBjb25zdCBEaWN0aW9uYXJ5JiBvcHRpb25z
LCBNZWRpYURldmljZXM6OlJlc29sdmVDYWxsYmFjayByZXNvbHZlQ2FsbGJhY2ssIE1lZGlhRGV2
aWNlczo6UmVqZWN0Q2FsbGJhY2sgcmVqZWN0Q2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUmIGVjKQor
UmVmUHRyPFVzZXJNZWRpYVJlcXVlc3Q+IFVzZXJNZWRpYVJlcXVlc3Q6OmNyZWF0ZShTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBVc2VyTWVkaWFDb250cm9sbGVyKiBjb250cm9sbGVy
LCBjb25zdCBEaWN0aW9uYXJ5JiBvcHRpb25zLCBNZWRpYURldmljZXM6OlJlc29sdmVDYWxsYmFj
ayByZXNvbHZlQ2FsbGJhY2ssIE1lZGlhRGV2aWNlczo6UmVqZWN0Q2FsbGJhY2sgcmVqZWN0Q2Fs
bGJhY2ssIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIEFTU0VSVChyZXNvbHZlQ2FsbGJhY2sg
JiYgcmVqZWN0Q2FsbGJhY2spOwogCkBAIC0xMDEsNyArMTAxLDcgQEAgUGFzc1JlZlB0cjxVc2Vy
TWVkaWFSZXF1ZXN0PiBVc2VyTWVkaWFSZXF1ZXN0OjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCogY28KICAgICBpZiAoIWF1ZGlvQ29uc3RyYWludHMgJiYgIXZpZGVvQ29uc3RyYWludHMp
CiAgICAgICAgIHJldHVybiBudWxscHRyOwogCi0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBVc2Vy
TWVkaWFSZXF1ZXN0KGNvbnRleHQsIGNvbnRyb2xsZXIsIGF1ZGlvQ29uc3RyYWludHMucmVsZWFz
ZSgpLCB2aWRlb0NvbnN0cmFpbnRzLnJlbGVhc2UoKSwgV1RGOjptb3ZlKHJlc29sdmVDYWxsYmFj
ayksIFdURjo6bW92ZShyZWplY3RDYWxsYmFjaykpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5l
dyBVc2VyTWVkaWFSZXF1ZXN0KGNvbnRleHQsIGNvbnRyb2xsZXIsIGF1ZGlvQ29uc3RyYWludHMu
cmVsZWFzZSgpLCB2aWRlb0NvbnN0cmFpbnRzLnJlbGVhc2UoKSwgV1RGOjptb3ZlKHJlc29sdmVD
YWxsYmFjayksIFdURjo6bW92ZShyZWplY3RDYWxsYmFjaykpKTsKIH0KIAogVXNlck1lZGlhUmVx
dWVzdDo6VXNlck1lZGlhUmVxdWVzdChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBV
c2VyTWVkaWFDb250cm9sbGVyKiBjb250cm9sbGVyLCBQYXNzUmVmUHRyPE1lZGlhQ29uc3RyYWlu
dHM+IGF1ZGlvQ29uc3RyYWludHMsIFBhc3NSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4gdmlkZW9D
b25zdHJhaW50cywgTWVkaWFEZXZpY2VzOjpSZXNvbHZlQ2FsbGJhY2sgcmVzb2x2ZUNhbGxiYWNr
LCBNZWRpYURldmljZXM6OlJlamVjdENhbGxiYWNrIHJlamVjdENhbGxiYWNrKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuaApp
bmRleCAwYzY4NGFkZDJiZjMxMTBlZDJkMmE1M2E1MjZkNmI1ZTM0NDZmNzQ0Li5lMzU5YTkxMzQz
YTZmMTMzMGE4MTBlMzI5NTllZTM1NGY5OTc3NjY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuaApAQCAtNTgsOCArNTgs
OCBAQCB0eXBlZGVmIGludCBFeGNlcHRpb25Db2RlOwogCiBjbGFzcyBVc2VyTWVkaWFSZXF1ZXN0
IDogcHVibGljIE1lZGlhU3RyZWFtQ3JlYXRpb25DbGllbnQsIHB1YmxpYyBDb250ZXh0RGVzdHJ1
Y3Rpb25PYnNlcnZlciB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8VXNlck1lZGlh
UmVxdWVzdD4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBVc2VyTWVkaWFDb250cm9s
bGVyKiwgY29uc3QgRGljdGlvbmFyeSYgb3B0aW9ucywgUGFzc1JlZlB0cjxOYXZpZ2F0b3JVc2Vy
TWVkaWFTdWNjZXNzQ2FsbGJhY2s+LCBQYXNzUmVmUHRyPE5hdmlnYXRvclVzZXJNZWRpYUVycm9y
Q2FsbGJhY2s+LCBFeGNlcHRpb25Db2RlJik7Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8VXNlck1l
ZGlhUmVxdWVzdD4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBVc2VyTWVkaWFDb250
cm9sbGVyKiwgY29uc3QgRGljdGlvbmFyeSYgb3B0aW9ucywgTWVkaWFEZXZpY2VzOjpSZXNvbHZl
Q2FsbGJhY2ssIE1lZGlhRGV2aWNlczo6UmVqZWN0Q2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUmKTsK
KyAgICBzdGF0aWMgUmVmUHRyPFVzZXJNZWRpYVJlcXVlc3Q+IGNyZWF0ZShTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiwgVXNlck1lZGlhQ29udHJvbGxlciosIGNvbnN0IERpY3Rpb25hcnkmIG9wdGlv
bnMsIFBhc3NSZWZQdHI8TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrPiwgUGFzc1Jl
ZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrPiwgRXhjZXB0aW9uQ29kZSYpOwor
ICAgIHN0YXRpYyBSZWZQdHI8VXNlck1lZGlhUmVxdWVzdD4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQqLCBVc2VyTWVkaWFDb250cm9sbGVyKiwgY29uc3QgRGljdGlvbmFyeSYgb3B0aW9u
cywgTWVkaWFEZXZpY2VzOjpSZXNvbHZlQ2FsbGJhY2ssIE1lZGlhRGV2aWNlczo6UmVqZWN0Q2Fs
bGJhY2ssIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB+VXNlck1lZGlhUmVxdWVzdCgpOwogCiAgICAg
V0VCQ09SRV9FWFBPUlQgU2VjdXJpdHlPcmlnaW4qIHNlY3VyaXR5T3JpZ2luKCkgY29uc3Q7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3F1b3RhL1N0b3JhZ2VJbmZvLmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3F1b3RhL1N0b3JhZ2VJbmZvLmgKaW5kZXggZGQ1MDU3OWJm
MDhiMDBmNTI3MTQ0YThkZTQ3YjcxMTEwODc5MzZlNi4uN2M1MjYzYzMwMWRiMWRjZWFjY2IzYmNk
MzFjZmQzNmY0ZWE1NDgwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9xdW90
YS9TdG9yYWdlSW5mby5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcXVvdGEvU3RvcmFn
ZUluZm8uaApAQCAtNTIsOSArNTIsOSBAQCBwdWJsaWM6CiAgICAgICAgIFBFUlNJU1RFTlQsCiAg
ICAgfTsKIAotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFN0b3JhZ2VJbmZvPiBjcmVhdGUoKQorICAg
IHN0YXRpYyBSZWY8U3RvcmFnZUluZm8+IGNyZWF0ZSgpCiAgICAgewotICAgICAgICByZXR1cm4g
YWRvcHRSZWYobmV3IFN0b3JhZ2VJbmZvKCkpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5l
dyBTdG9yYWdlSW5mbygpKTsKICAgICB9CiAKICAgICB2b2lkIHF1ZXJ5VXNhZ2VBbmRRdW90YShT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiwgaW50IHN0b3JhZ2VUeXBlLCBQYXNzUmVmUHRyPFN0b3Jh
Z2VVc2FnZUNhbGxiYWNrPiwgUGFzc1JlZlB0cjxTdG9yYWdlRXJyb3JDYWxsYmFjaz4pOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9xdW90YS9TdG9yYWdlUXVvdGEuaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvcXVvdGEvU3RvcmFnZVF1b3RhLmgKaW5kZXggMjY1MDRmOTc2
ZmU4YjhkM2I3ZGY0YmZiODA4MjIzNTUxZDEyOWZmYy4uNWI5ZDM5YTJlZTM4ZTViZTAxYmM1Y2Fl
Y2JiYzU3MzUzMDgxZTgwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9xdW90
YS9TdG9yYWdlUXVvdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3F1b3RhL1N0b3Jh
Z2VRdW90YS5oCkBAIC01MCw5ICs1MCw5IEBAIHB1YmxpYzoKICAgICAgICAgUGVyc2lzdGVudCwK
ICAgICB9OwogCi0gICAgc3RhdGljIFBhc3NSZWZQdHI8U3RvcmFnZVF1b3RhPiBjcmVhdGUoVHlw
ZSB0eXBlKQorICAgIHN0YXRpYyBSZWY8U3RvcmFnZVF1b3RhPiBjcmVhdGUoVHlwZSB0eXBlKQog
ICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTdG9yYWdlUXVvdGEodHlwZSkpOwor
ICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTdG9yYWdlUXVvdGEodHlwZSkpOwogICAgIH0K
IAogICAgIHZvaWQgcXVlcnlVc2FnZUFuZFF1b3RhKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQ
YXNzUmVmUHRyPFN0b3JhZ2VVc2FnZUNhbGxiYWNrPiwgUGFzc1JlZlB0cjxTdG9yYWdlRXJyb3JD
YWxsYmFjaz4pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3Bl
ZWNoU3ludGhlc2lzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFN5
bnRoZXNpcy5jcHAKaW5kZXggNWRkNDdjY2VmZTJkNGMyNTgyZmViNjdlOGU4ZjhiODJlYmQ0OGJi
ZC4uNzg1MDM0MGExMGE3ZTM5NDc3NDljMjAwNDBlNjgwYzVhMWIzNGRlOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoU3ludGhlc2lzLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXMuY3BwCkBAIC0zNyw5
ICszNyw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAKLVBhc3NSZWZQdHI8U3BlZWNo
U3ludGhlc2lzPiBTcGVlY2hTeW50aGVzaXM6OmNyZWF0ZSgpCitSZWY8U3BlZWNoU3ludGhlc2lz
PiBTcGVlY2hTeW50aGVzaXM6OmNyZWF0ZSgpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBT
cGVlY2hTeW50aGVzaXMpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNwZWVjaFN5bnRoZXNp
cyk7CiB9CiAgICAgCiBTcGVlY2hTeW50aGVzaXM6OlNwZWVjaFN5bnRoZXNpcygpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXMuaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFN5bnRoZXNpcy5oCmluZGV4IGRhNjFm
OTA5NTYzMzgyMjcxZmZjNTIxNmEwODAyYWViOTNlZDVhOWMuLjMyMjAzMzAwNjJiY2Y2YzQ1YmRm
ZmZlNmRkNDk3N2VjOWNhZDE3ZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
c3BlZWNoL1NwZWVjaFN5bnRoZXNpcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3Bl
ZWNoL1NwZWVjaFN5bnRoZXNpcy5oCkBAIC00NCw3ICs0NCw3IEBAIGNsYXNzIFNwZWVjaFN5bnRo
ZXNpc1ZvaWNlOwogICAgIAogY2xhc3MgU3BlZWNoU3ludGhlc2lzIDogcHVibGljIFBsYXRmb3Jt
U3BlZWNoU3ludGhlc2l6ZXJDbGllbnQsIHB1YmxpYyBSZWZDb3VudGVkPFNwZWVjaFN5bnRoZXNp
cz4gewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNwZWVjaFN5bnRoZXNpcz4gY3Jl
YXRlKCk7CisgICAgc3RhdGljIFJlZjxTcGVlY2hTeW50aGVzaXM+IGNyZWF0ZSgpOwogICAgIAog
ICAgIGJvb2wgcGVuZGluZygpIGNvbnN0OwogICAgIGJvb2wgc3BlYWtpbmcoKSBjb25zdDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFN5bnRoZXNpc1V0
dGVyYW5jZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVz
aXNVdHRlcmFuY2UuY3BwCmluZGV4IDBiNmM3NGU2OWE0MWMxNzlmYjFjYjBmNzQ3YWU2NGFkZTY3
NWExZTQuLjhlNzllOWQ0ZjljMWM2NzMxNjY4YTMzNWI0ZDZhZTQ5NTFkYjhmZTAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFN5bnRoZXNpc1V0dGVyYW5j
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoU3ludGhlc2lz
VXR0ZXJhbmNlLmNwcApAQCAtMzAsOSArMzAsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgCi1QYXNzUmVmUHRyPFNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZT4gU3BlZWNoU3ludGhlc2lz
VXR0ZXJhbmNlOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgY29uc3Qg
U3RyaW5nJiB0ZXh0KQorUmVmPFNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZT4gU3BlZWNoU3ludGhl
c2lzVXR0ZXJhbmNlOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgY29u
c3QgU3RyaW5nJiB0ZXh0KQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgU3BlZWNoU3ludGhl
c2lzVXR0ZXJhbmNlKGNvbnRleHQsIHRleHQpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBT
cGVlY2hTeW50aGVzaXNVdHRlcmFuY2UoY29udGV4dCwgdGV4dCkpOwogfQogCiBTcGVlY2hTeW50
aGVzaXNVdHRlcmFuY2U6OlNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZShTY3JpcHRFeGVjdXRpb25D
b250ZXh0JiBjb250ZXh0LCBjb25zdCBTdHJpbmcmIHRleHQpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXNVdHRlcmFuY2UuaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZS5oCmluZGV4
IDFjZDhlNWE1MmJjOGE1NjU0M2Y5OTI3OTQ1OTc4YWVlNGNiMGEwMjAuLjE5MDE2ZGZkNTEzMzJj
ZTA2MGNkMGRhYzUyMWY4MzlhODc2ODE0ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvc3BlZWNoL1NwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZS5oCkBAIC0zOSw3ICsz
OSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU3BlZWNoU3ludGhlc2lzVXR0ZXJh
bmNlIGZpbmFsIDogcHVibGljIFBsYXRmb3JtU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlQ2xpZW50
LCBwdWJsaWMgUmVmQ291bnRlZDxTcGVlY2hTeW50aGVzaXNVdHRlcmFuY2U+LCBwdWJsaWMgQ29u
dGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIsIHB1YmxpYyBFdmVudFRhcmdldFdpdGhJbmxpbmVEYXRh
IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxTcGVlY2hTeW50aGVzaXNVdHRlcmFu
Y2U+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgY29uc3QgU3RyaW5nJik7CisgICAg
c3RhdGljIFJlZjxTcGVlY2hTeW50aGVzaXNVdHRlcmFuY2U+IGNyZWF0ZShTY3JpcHRFeGVjdXRp
b25Db250ZXh0JiwgY29uc3QgU3RyaW5nJik7CiAgICAgCiAgICAgflNwZWVjaFN5bnRoZXNpc1V0
dGVyYW5jZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9T
cGVlY2hTeW50aGVzaXNWb2ljZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9T
cGVlY2hTeW50aGVzaXNWb2ljZS5jcHAKaW5kZXggMmY5YWQ2ZTUzY2Y0M2M2NTgxYmZjMjEwZGFh
NDAyZDk0MzllZWIxYy4uZGQxY2YwOWMyOTM3NzFlZjliZTFhN2I2YTkxNTlkZTcyYjIxYWI4MyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoU3ludGhlc2lz
Vm9pY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFN5bnRo
ZXNpc1ZvaWNlLmNwcApAQCAtMzAsOSArMzAsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgCi1QYXNzUmVmUHRyPFNwZWVjaFN5bnRoZXNpc1ZvaWNlPiBTcGVlY2hTeW50aGVzaXNWb2lj
ZTo6Y3JlYXRlKFBhc3NSZWZQdHI8UGxhdGZvcm1TcGVlY2hTeW50aGVzaXNWb2ljZT4gdm9pY2Up
CitSZWY8U3BlZWNoU3ludGhlc2lzVm9pY2U+IFNwZWVjaFN5bnRoZXNpc1ZvaWNlOjpjcmVhdGUo
UGFzc1JlZlB0cjxQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpc1ZvaWNlPiB2b2ljZSkKIHsKLSAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IFNwZWVjaFN5bnRoZXNpc1ZvaWNlKHZvaWNlKSk7CisgICAgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgU3BlZWNoU3ludGhlc2lzVm9pY2Uodm9pY2UpKTsKIH0KIAogU3Bl
ZWNoU3ludGhlc2lzVm9pY2U6OlNwZWVjaFN5bnRoZXNpc1ZvaWNlKFBhc3NSZWZQdHI8UGxhdGZv
cm1TcGVlY2hTeW50aGVzaXNWb2ljZT4gdm9pY2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXNWb2ljZS5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9zcGVlY2gvU3BlZWNoU3ludGhlc2lzVm9pY2UuaAppbmRleCBhYjU1NDA4NzRlZmIy
NGMyMDQ0NjA0NzljN2RmOTljNGU1OTAzZTA3Li5kNWI4ODQ4YmIwMGJhYjAwYTkzM2JjM2JlNTEx
M2VhMmJkYTMwNGM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9T
cGVlY2hTeW50aGVzaXNWb2ljZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3BlZWNo
L1NwZWVjaFN5bnRoZXNpc1ZvaWNlLmgKQEAgLTM4LDcgKzM4LDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogY2xhc3MgU3BlZWNoU3ludGhlc2lzVm9pY2UgOiBwdWJsaWMgUmVmQ291bnRlZDxTcGVl
Y2hTeW50aGVzaXNWb2ljZT4gewogcHVibGljOgogICAgIHZpcnR1YWwgflNwZWVjaFN5bnRoZXNp
c1ZvaWNlKCkgeyB9Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8U3BlZWNoU3ludGhlc2lzVm9pY2U+
IGNyZWF0ZShQYXNzUmVmUHRyPFBsYXRmb3JtU3BlZWNoU3ludGhlc2lzVm9pY2U+KTsKKyAgICBz
dGF0aWMgUmVmPFNwZWVjaFN5bnRoZXNpc1ZvaWNlPiBjcmVhdGUoUGFzc1JlZlB0cjxQbGF0Zm9y
bVNwZWVjaFN5bnRoZXNpc1ZvaWNlPik7CiAgICAgCiAgICAgY29uc3QgU3RyaW5nJiB2b2ljZVVS
SSgpIGNvbnN0IHsgcmV0dXJuIG1fcGxhdGZvcm1Wb2ljZS0+dm9pY2VVUkkoKTsgfQogICAgIGNv
bnN0IFN0cmluZyYgbmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fcGxhdGZvcm1Wb2ljZS0+bmFtZSgp
OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0NoYW5uZWxN
ZXJnZXJOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQ2hhbm5lbE1l
cmdlck5vZGUuY3BwCmluZGV4IGNhMjIyZWNlNTI5OTNmYjM0MjE5NDQzY2E4MTVjOWM5NTM5NzRm
YTMuLjUyZDIzYjMzMzcyMWMwM2JlYjA2NGViYWEyMjA5ZDQyNDE2NTExYWYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQ2hhbm5lbE1lcmdlck5vZGUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQ2hhbm5lbE1lcmdlck5vZGUuY3Bw
CkBAIC00MCwxMiArNDAsMTIgQEAgY29uc3QgdW5zaWduZWQgRGVmYXVsdE51bWJlck9mT3V0cHV0
Q2hhbm5lbHMgPSAxOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVBhc3NSZWZQdHI8Q2hhbm5l
bE1lcmdlck5vZGU+IENoYW5uZWxNZXJnZXJOb2RlOjpjcmVhdGUoQXVkaW9Db250ZXh0KiBjb250
ZXh0LCBmbG9hdCBzYW1wbGVSYXRlLCB1bnNpZ25lZCBudW1iZXJPZklucHV0cykKK1JlZlB0cjxD
aGFubmVsTWVyZ2VyTm9kZT4gQ2hhbm5lbE1lcmdlck5vZGU6OmNyZWF0ZShBdWRpb0NvbnRleHQq
IGNvbnRleHQsIGZsb2F0IHNhbXBsZVJhdGUsIHVuc2lnbmVkIG51bWJlck9mSW5wdXRzKQogewog
ICAgIGlmICghbnVtYmVyT2ZJbnB1dHMgfHwgbnVtYmVyT2ZJbnB1dHMgPiBBdWRpb0NvbnRleHQ6
Om1heE51bWJlck9mQ2hhbm5lbHMoKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgCi0g
ICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBDaGFubmVsTWVyZ2VyTm9kZShjb250ZXh0LCBzYW1wbGVS
YXRlLCBudW1iZXJPZklucHV0cykpOyAgICAgIAorICAgIHJldHVybiBhZG9wdFJlZigqbmV3IENo
YW5uZWxNZXJnZXJOb2RlKGNvbnRleHQsIHNhbXBsZVJhdGUsIG51bWJlck9mSW5wdXRzKSk7ICAg
ICAgCiB9CiAKIENoYW5uZWxNZXJnZXJOb2RlOjpDaGFubmVsTWVyZ2VyTm9kZShBdWRpb0NvbnRl
eHQqIGNvbnRleHQsIGZsb2F0IHNhbXBsZVJhdGUsIHVuc2lnbmVkIG51bWJlck9mSW5wdXRzKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9DaGFubmVsTWVyZ2Vy
Tm9kZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9DaGFubmVsTWVyZ2VyTm9k
ZS5oCmluZGV4IGQwNjVlZGI3ZTJhMTU0ZjEzNzg2ZGQ4ZDM3YzRkZmRjOTU3MTUxNjUuLmM1NWMy
ZWJkOGEzYTNkMzkyYzJkODYxYmFiODUyYzg2ODdjMDNhZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQ2hhbm5lbE1lcmdlck5vZGUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0NoYW5uZWxNZXJnZXJOb2RlLmgKQEAgLTM4LDcgKzM4
LDcgQEAgY2xhc3MgQXVkaW9Db250ZXh0OwogICAgIAogY2xhc3MgQ2hhbm5lbE1lcmdlck5vZGUg
OiBwdWJsaWMgQXVkaW9Ob2RlIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxDaGFu
bmVsTWVyZ2VyTm9kZT4gY3JlYXRlKEF1ZGlvQ29udGV4dCosIGZsb2F0IHNhbXBsZVJhdGUsIHVu
c2lnbmVkIG51bWJlck9mSW5wdXRzKTsKKyAgICBzdGF0aWMgUmVmUHRyPENoYW5uZWxNZXJnZXJO
b2RlPiBjcmVhdGUoQXVkaW9Db250ZXh0KiwgZmxvYXQgc2FtcGxlUmF0ZSwgdW5zaWduZWQgbnVt
YmVyT2ZJbnB1dHMpOwogCiAgICAgLy8gQXVkaW9Ob2RlCiAgICAgdmlydHVhbCB2b2lkIHByb2Nl
c3Moc2l6ZV90IGZyYW1lc1RvUHJvY2Vzcykgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0NoYW5uZWxTcGxpdHRlck5vZGUuY3BwIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9DaGFubmVsU3BsaXR0ZXJOb2RlLmNwcAppbmRleCA4
OGVkMjlkNmNjZWEwYjY3ZmI1NGQxNGY2NTc5YmE5YjM2ODQzMjZmLi43YmZlNGQwZDU2ZDYyZDM4
NjNmNWI2YTM5NGE5NDQ3NWM4MzhhZDAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL0NoYW5uZWxTcGxpdHRlck5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vQ2hhbm5lbFNwbGl0dGVyTm9kZS5jcHAKQEAgLTM0LDEyICszNCwx
MiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgCi1QYXNzUmVmUHRyPENoYW5uZWxTcGxp
dHRlck5vZGU+IENoYW5uZWxTcGxpdHRlck5vZGU6OmNyZWF0ZShBdWRpb0NvbnRleHQqIGNvbnRl
eHQsIGZsb2F0IHNhbXBsZVJhdGUsIHVuc2lnbmVkIG51bWJlck9mT3V0cHV0cykKK1JlZlB0cjxD
aGFubmVsU3BsaXR0ZXJOb2RlPiBDaGFubmVsU3BsaXR0ZXJOb2RlOjpjcmVhdGUoQXVkaW9Db250
ZXh0KiBjb250ZXh0LCBmbG9hdCBzYW1wbGVSYXRlLCB1bnNpZ25lZCBudW1iZXJPZk91dHB1dHMp
CiB7CiAgICAgaWYgKCFudW1iZXJPZk91dHB1dHMgfHwgbnVtYmVyT2ZPdXRwdXRzID4gQXVkaW9D
b250ZXh0OjptYXhOdW1iZXJPZkNoYW5uZWxzKCkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwog
Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBDaGFubmVsU3BsaXR0ZXJOb2RlKGNvbnRleHQsIHNh
bXBsZVJhdGUsIG51bWJlck9mT3V0cHV0cykpOyAgICAgIAorICAgIHJldHVybiBhZG9wdFJlZigq
bmV3IENoYW5uZWxTcGxpdHRlck5vZGUoY29udGV4dCwgc2FtcGxlUmF0ZSwgbnVtYmVyT2ZPdXRw
dXRzKSk7ICAgICAgCiB9CiAKIENoYW5uZWxTcGxpdHRlck5vZGU6OkNoYW5uZWxTcGxpdHRlck5v
ZGUoQXVkaW9Db250ZXh0KiBjb250ZXh0LCBmbG9hdCBzYW1wbGVSYXRlLCB1bnNpZ25lZCBudW1i
ZXJPZk91dHB1dHMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlv
L0NoYW5uZWxTcGxpdHRlck5vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8v
Q2hhbm5lbFNwbGl0dGVyTm9kZS5oCmluZGV4IDlkMDcyNzllMjQ3OGE4OWE0NWY5Nzg4ZjAxM2U3
NmFlMjlkZWEyY2QuLmMzYzcxZGMzZjdkNDczZmY1YzFkZWQ2NDZlNDg2MjVhODBmZDUxMzggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQ2hhbm5lbFNwbGl0dGVy
Tm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQ2hhbm5lbFNwbGl0
dGVyTm9kZS5oCkBAIC0zNCw3ICszNCw3IEBAIGNsYXNzIEF1ZGlvQ29udGV4dDsKICAgICAKIGNs
YXNzIENoYW5uZWxTcGxpdHRlck5vZGUgOiBwdWJsaWMgQXVkaW9Ob2RlIHsKIHB1YmxpYzoKLSAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxDaGFubmVsU3BsaXR0ZXJOb2RlPiBjcmVhdGUoQXVkaW9Db250
ZXh0KiwgZmxvYXQgc2FtcGxlUmF0ZSwgdW5zaWduZWQgbnVtYmVyT2ZPdXRwdXRzKTsKKyAgICBz
dGF0aWMgUmVmUHRyPENoYW5uZWxTcGxpdHRlck5vZGU+IGNyZWF0ZShBdWRpb0NvbnRleHQqLCBm
bG9hdCBzYW1wbGVSYXRlLCB1bnNpZ25lZCBudW1iZXJPZk91dHB1dHMpOwogCiAgICAgLy8gQXVk
aW9Ob2RlCiAgICAgdmlydHVhbCB2b2lkIHByb2Nlc3Moc2l6ZV90IGZyYW1lc1RvUHJvY2Vzcykg
b3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0Rl
ZmF1bHRBdWRpb0Rlc3RpbmF0aW9uTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9EZWZhdWx0QXVkaW9EZXN0aW5hdGlvbk5vZGUuaAppbmRleCBiMWQ2MjhkZDJlOWNkMGQ3
NDk0MzMzODY4Mjk1NTBiNDFmMjVhNmRkLi4xZTg1Y2M4MDk2YzJkZjQzNWFjNTA1YWM5M2Q4MGIw
MDk1YTQ1YTIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0Rl
ZmF1bHRBdWRpb0Rlc3RpbmF0aW9uTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViYXVkaW8vRGVmYXVsdEF1ZGlvRGVzdGluYXRpb25Ob2RlLmgKQEAgLTM1LDkgKzM1LDkgQEAg
Y2xhc3MgQXVkaW9Db250ZXh0OwogICAgIAogY2xhc3MgRGVmYXVsdEF1ZGlvRGVzdGluYXRpb25O
b2RlIDogcHVibGljIEF1ZGlvRGVzdGluYXRpb25Ob2RlIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMg
UGFzc1JlZlB0cjxEZWZhdWx0QXVkaW9EZXN0aW5hdGlvbk5vZGU+IGNyZWF0ZShBdWRpb0NvbnRl
eHQqIGNvbnRleHQpCisgICAgc3RhdGljIFJlZjxEZWZhdWx0QXVkaW9EZXN0aW5hdGlvbk5vZGU+
IGNyZWF0ZShBdWRpb0NvbnRleHQqIGNvbnRleHQpCiAgICAgewotICAgICAgICByZXR1cm4gYWRv
cHRSZWYobmV3IERlZmF1bHRBdWRpb0Rlc3RpbmF0aW9uTm9kZShjb250ZXh0KSk7ICAgICAKKyAg
ICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgRGVmYXVsdEF1ZGlvRGVzdGluYXRpb25Ob2RlKGNv
bnRleHQpKTsgICAgIAogICAgIH0KIAogICAgIHZpcnR1YWwgfkRlZmF1bHRBdWRpb0Rlc3RpbmF0
aW9uTm9kZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9H
YWluTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9HYWluTm9kZS5oCmlu
ZGV4IDNhOGM1ZGZkODUyODlkNzcyYzM2NzQ1NDMxNjExMGVjZDNhZTc3ZjYuLjZmYzZmYTU1MGEw
MTdhYmYzN2ZhNTQzY2MyZGVlNmM0Yjk4ZmVmNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vR2Fpbk5vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL0dhaW5Ob2RlLmgKQEAgLTM5LDkgKzM5LDkgQEAgY2xhc3MgQXVkaW9Db250ZXh0
OwogCiBjbGFzcyBHYWluTm9kZSA6IHB1YmxpYyBBdWRpb05vZGUgewogcHVibGljOgotICAgIHN0
YXRpYyBQYXNzUmVmUHRyPEdhaW5Ob2RlPiBjcmVhdGUoQXVkaW9Db250ZXh0KiBjb250ZXh0LCBm
bG9hdCBzYW1wbGVSYXRlKQorICAgIHN0YXRpYyBSZWY8R2Fpbk5vZGU+IGNyZWF0ZShBdWRpb0Nv
bnRleHQqIGNvbnRleHQsIGZsb2F0IHNhbXBsZVJhdGUpCiAgICAgewotICAgICAgICByZXR1cm4g
YWRvcHRSZWYobmV3IEdhaW5Ob2RlKGNvbnRleHQsIHNhbXBsZVJhdGUpKTsKKyAgICAgICAgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgR2Fpbk5vZGUoY29udGV4dCwgc2FtcGxlUmF0ZSkpOwogICAgIH0K
IAogICAgIC8vIEF1ZGlvTm9kZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJhdWRpby9NZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9NZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUuY3BwCmluZGV4IDBl
NTAyNThhY2I2YjVmMWI5NjkwYzk4N2UxOTQ4NTUxYzAyOTJjMzAuLmIzMmZkNWRkOTMwODU3MDk2
YzcxYmZjM2ZlZWMxZmZiOGQ4MmY2ODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViYXVkaW8vTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZS5jcHAK
QEAgLTQwLDkgKzQwLDkgQEAgY29uc3QgdW5zaWduZWQgbWF4U2FtcGxlUmF0ZSA9IDE5MjAwMDsK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1QYXNzUmVmUHRyPE1lZGlhRWxlbWVudEF1ZGlvU291
cmNlTm9kZT4gTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlOjpjcmVhdGUoQXVkaW9Db250ZXh0
KiBjb250ZXh0LCBIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQpCitSZWY8TWVkaWFFbGVt
ZW50QXVkaW9Tb3VyY2VOb2RlPiBNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGU6OmNyZWF0ZShB
dWRpb0NvbnRleHQqIGNvbnRleHQsIEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCkKIHsK
LSAgICByZXR1cm4gYWRvcHRSZWYobmV3IE1lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZShjb250
ZXh0LCBtZWRpYUVsZW1lbnQpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBNZWRpYUVsZW1l
bnRBdWRpb1NvdXJjZU5vZGUoY29udGV4dCwgbWVkaWFFbGVtZW50KSk7CiB9CiAKIE1lZGlhRWxl
bWVudEF1ZGlvU291cmNlTm9kZTo6TWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlKEF1ZGlvQ29u
dGV4dCogY29udGV4dCwgSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50KQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYUVsZW1lbnRBdWRpb1NvdXJj
ZU5vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFFbGVtZW50QXVk
aW9Tb3VyY2VOb2RlLmgKaW5kZXggN2Y1OGFlN2IyY2Q5ZjM2ZTcyYzY5ZTQzNTg0ZGU5NzdjMjlk
NWE0My4uZjk0YTY0N2Q0MjQyODkyMTQzZGE1YjJiMmM4MTY5MzMwZGM5ZDc5NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYUVsZW1lbnRBdWRpb1NvdXJj
ZU5vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhRWxlbWVu
dEF1ZGlvU291cmNlTm9kZS5oCkBAIC00MSw3ICs0MSw3IEBAIGNsYXNzIEF1ZGlvQ29udGV4dDsK
ICAgICAKIGNsYXNzIE1lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZSA6IHB1YmxpYyBBdWRpb05v
ZGUsIHB1YmxpYyBBdWRpb1NvdXJjZVByb3ZpZGVyQ2xpZW50IHsKIHB1YmxpYzoKLSAgICBzdGF0
aWMgUGFzc1JlZlB0cjxNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGU+IGNyZWF0ZShBdWRpb0Nv
bnRleHQqLCBIVE1MTWVkaWFFbGVtZW50Kik7CisgICAgc3RhdGljIFJlZjxNZWRpYUVsZW1lbnRB
dWRpb1NvdXJjZU5vZGU+IGNyZWF0ZShBdWRpb0NvbnRleHQqLCBIVE1MTWVkaWFFbGVtZW50Kik7
CiAKICAgICB2aXJ0dWFsIH5NZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUoKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlvRGVz
dGluYXRpb25Ob2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFT
dHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAKaW5kZXggMGZlYjdjODg4NWUyNmViYThlYzQ2
ZTRlNmUwNjdkMTA3MGJiMmZkYy4uMTIxMDFhNDNjOGU2MGQyMTllYjhlMTJlNjlmZDAzYTNjNzBm
ZDkxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0
cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwCkBAIC0zNyw5ICsz
Nyw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUGFzc1JlZlB0cjxNZWRpYVN0cmVhbUF1
ZGlvRGVzdGluYXRpb25Ob2RlPiBNZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2RlOjpjcmVh
dGUoQXVkaW9Db250ZXh0KiBjb250ZXh0LCBzaXplX3QgbnVtYmVyT2ZDaGFubmVscykKK1JlZjxN
ZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2RlPiBNZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRp
b25Ob2RlOjpjcmVhdGUoQXVkaW9Db250ZXh0KiBjb250ZXh0LCBzaXplX3QgbnVtYmVyT2ZDaGFu
bmVscykKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IE1lZGlhU3RyZWFtQXVkaW9EZXN0aW5h
dGlvbk5vZGUoY29udGV4dCwgbnVtYmVyT2ZDaGFubmVscykpOworICAgIHJldHVybiBhZG9wdFJl
ZigqbmV3IE1lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGUoY29udGV4dCwgbnVtYmVyT2ZD
aGFubmVscykpOwogfQogCiBNZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2RlOjpNZWRpYVN0
cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2RlKEF1ZGlvQ29udGV4dCogY29udGV4dCwgc2l6ZV90IG51
bWJlck9mQ2hhbm5lbHMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL01lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZS5oCmluZGV4IDA1
OGQ1YTNhOTcxYzNhOTM5NWVmZTE5MmYxNGViZmExYjI4NWFlZmYuLjJmNDkxNjFiNzE4NDQ4YzA2
MWZlNWI5YTJlZTNlZjM5YTc1ZmRlOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9k
ZS5oCkBAIC0zOSw3ICszOSw3IEBAIGNsYXNzIE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2U7CiAKIGNs
YXNzIE1lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGUgOiBwdWJsaWMgQXVkaW9CYXNpY0lu
c3BlY3Rvck5vZGUgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1lZGlhU3RyZWFt
QXVkaW9EZXN0aW5hdGlvbk5vZGU+IGNyZWF0ZShBdWRpb0NvbnRleHQqLCBzaXplX3QgbnVtYmVy
T2ZDaGFubmVscyk7CisgICAgc3RhdGljIFJlZjxNZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25O
b2RlPiBjcmVhdGUoQXVkaW9Db250ZXh0Kiwgc2l6ZV90IG51bWJlck9mQ2hhbm5lbHMpOwogCiAg
ICAgdmlydHVhbCB+TWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZSgpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9Tb3Vy
Y2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlv
U291cmNlLmNwcAppbmRleCA5NTQ1YjdiYmNmYThmMzZjNmEyMDNjMTUwMjU5NzM2N2YyYzFmY2Jm
Li5lZDc4YTdjMGQyYzU0NzI5NTA5ZTZjOTkwNjZiMzM3ODcxZGYxZGQ3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9Tb3VyY2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb1Nv
dXJjZS5jcHAKQEAgLTM0LDkgKzM0LDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1SZWZQ
dHI8TWVkaWFTdHJlYW1BdWRpb1NvdXJjZT4gTWVkaWFTdHJlYW1BdWRpb1NvdXJjZTo6Y3JlYXRl
KCkKK1JlZjxNZWRpYVN0cmVhbUF1ZGlvU291cmNlPiBNZWRpYVN0cmVhbUF1ZGlvU291cmNlOjpj
cmVhdGUoKQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgTWVkaWFTdHJlYW1BdWRpb1NvdXJj
ZSgpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBNZWRpYVN0cmVhbUF1ZGlvU291cmNlKCkp
OwogfQogCiBNZWRpYVN0cmVhbUF1ZGlvU291cmNlOjpNZWRpYVN0cmVhbUF1ZGlvU291cmNlKCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1B
dWRpb1NvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0cmVh
bUF1ZGlvU291cmNlLmgKaW5kZXggOTQ3MjI3ZjhmOTBmNWQ1Yzk0NDg0MGYyNmYyMjA2NGIyNGFm
YjUwYS4uNDE4YjMyZThmODEyY2UyNGE5MmM3NThiOWJmOTNmZjI0OTJjYWJjMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlvU291cmNl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlv
U291cmNlLmgKQEAgLTQyLDcgKzQyLDcgQEAgY2xhc3MgUmVhbHRpbWVNZWRpYVNvdXJjZUNhcGFi
aWxpdGllczsKIAogY2xhc3MgTWVkaWFTdHJlYW1BdWRpb1NvdXJjZSA6IHB1YmxpYyBSZWFsdGlt
ZU1lZGlhU291cmNlIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmUHRyPE1lZGlhU3RyZWFtQXVk
aW9Tb3VyY2U+IGNyZWF0ZSgpOworICAgIHN0YXRpYyBSZWY8TWVkaWFTdHJlYW1BdWRpb1NvdXJj
ZT4gY3JlYXRlKCk7CiAKICAgICB+TWVkaWFTdHJlYW1BdWRpb1NvdXJjZSgpIHsgfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9T
b3VyY2VOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJl
YW1BdWRpb1NvdXJjZU5vZGUuY3BwCmluZGV4IDg2NzIxMmU1MWZiMGZmNmQyYWJkMjZmZjA0ZWI0
MjFiNDcwNTBlMTcuLmQxYWJiYzYzYzc1NjNjNjA4NTg1NTA5ZTMxNWM5YWYyOTFkMzA4ZGUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRp
b1NvdXJjZU5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVk
aWFTdHJlYW1BdWRpb1NvdXJjZU5vZGUuY3BwCkBAIC0zNSw5ICszNSw5IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotUGFzc1JlZlB0cjxNZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZT4gTWVk
aWFTdHJlYW1BdWRpb1NvdXJjZU5vZGU6OmNyZWF0ZShBdWRpb0NvbnRleHQqIGNvbnRleHQsIE1l
ZGlhU3RyZWFtKiBtZWRpYVN0cmVhbSwgTWVkaWFTdHJlYW1UcmFjayogYXVkaW9UcmFjaywgQXVk
aW9Tb3VyY2VQcm92aWRlciogYXVkaW9Tb3VyY2VQcm92aWRlcikKK1JlZjxNZWRpYVN0cmVhbUF1
ZGlvU291cmNlTm9kZT4gTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGU6OmNyZWF0ZShBdWRpb0Nv
bnRleHQqIGNvbnRleHQsIE1lZGlhU3RyZWFtKiBtZWRpYVN0cmVhbSwgTWVkaWFTdHJlYW1UcmFj
ayogYXVkaW9UcmFjaywgQXVkaW9Tb3VyY2VQcm92aWRlciogYXVkaW9Tb3VyY2VQcm92aWRlcikK
IHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlKGNv
bnRleHQsIG1lZGlhU3RyZWFtLCBhdWRpb1RyYWNrLCBhdWRpb1NvdXJjZVByb3ZpZGVyKSk7Cisg
ICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGUoY29udGV4
dCwgbWVkaWFTdHJlYW0sIGF1ZGlvVHJhY2ssIGF1ZGlvU291cmNlUHJvdmlkZXIpKTsKIH0KIAog
TWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGU6Ok1lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlKEF1
ZGlvQ29udGV4dCogY29udGV4dCwgTWVkaWFTdHJlYW0qIG1lZGlhU3RyZWFtLCBNZWRpYVN0cmVh
bVRyYWNrKiBhdWRpb1RyYWNrLCBBdWRpb1NvdXJjZVByb3ZpZGVyKiBhdWRpb1NvdXJjZVByb3Zp
ZGVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0
cmVhbUF1ZGlvU291cmNlTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9N
ZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZS5oCmluZGV4IGQyOWM5MDM2MTY1OWQxODE4OTU1NDA1
MzQwNTZiYmY4Mjg5Zjc2ZTMuLjFjNmNkZDk1OGFhODgyNjg0ZjhkMGVmNmQ5MDc1MTljM2Y0Mzc3
NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJl
YW1BdWRpb1NvdXJjZU5vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlv
L01lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlLmgKQEAgLTQwLDcgKzQwLDcgQEAgY2xhc3MgQXVk
aW9Db250ZXh0OwogCiBjbGFzcyBNZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZSA6IHB1YmxpYyBB
dWRpb05vZGUsIHB1YmxpYyBBdWRpb1NvdXJjZVByb3ZpZGVyQ2xpZW50IHsKIHB1YmxpYzoKLSAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxNZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZT4gY3JlYXRlKEF1
ZGlvQ29udGV4dCosIE1lZGlhU3RyZWFtKiwgTWVkaWFTdHJlYW1UcmFjayosIEF1ZGlvU291cmNl
UHJvdmlkZXIqKTsKKyAgICBzdGF0aWMgUmVmPE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlPiBj
cmVhdGUoQXVkaW9Db250ZXh0KiwgTWVkaWFTdHJlYW0qLCBNZWRpYVN0cmVhbVRyYWNrKiwgQXVk
aW9Tb3VyY2VQcm92aWRlciopOwogCiAgICAgdmlydHVhbCB+TWVkaWFTdHJlYW1BdWRpb1NvdXJj
ZU5vZGUoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9P
c2NpbGxhdG9yTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL09zY2ls
bGF0b3JOb2RlLmNwcAppbmRleCBhNGVmOWNhOTdkOTM5MjAyNWZlNTY5ZTY2MTAyYmUwYzBiYzVm
MDhkLi45OWM5M2FkODc2ZjBiZDg3MjFkYmRiOTNlOWUyNTNiMjc3YTgxMDJmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL09zY2lsbGF0b3JOb2RlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL09zY2lsbGF0b3JOb2RlLmNwcApAQCAt
MTIxLDIyICsxMjEsMjIgQEAgYm9vbCBPc2NpbGxhdG9yTm9kZTo6c2V0VHlwZSh1bnNpZ25lZCB0
eXBlKQogICAgIHN3aXRjaCAodHlwZSkgewogICAgIGNhc2UgU0lORToKICAgICAgICAgaWYgKCFz
X3BlcmlvZGljV2F2ZVNpbmUpCi0gICAgICAgICAgICBzX3BlcmlvZGljV2F2ZVNpbmUgPSBQZXJp
b2RpY1dhdmU6OmNyZWF0ZVNpbmUoc2FtcGxlUmF0ZSkubGVha1JlZigpOworICAgICAgICAgICAg
c19wZXJpb2RpY1dhdmVTaW5lID0gJlBlcmlvZGljV2F2ZTo6Y3JlYXRlU2luZShzYW1wbGVSYXRl
KS5sZWFrUmVmKCk7CiAgICAgICAgIHBlcmlvZGljV2F2ZSA9IHNfcGVyaW9kaWNXYXZlU2luZTsK
ICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBTUVVBUkU6CiAgICAgICAgIGlmICghc19wZXJpb2Rp
Y1dhdmVTcXVhcmUpCi0gICAgICAgICAgICBzX3BlcmlvZGljV2F2ZVNxdWFyZSA9IFBlcmlvZGlj
V2F2ZTo6Y3JlYXRlU3F1YXJlKHNhbXBsZVJhdGUpLmxlYWtSZWYoKTsKKyAgICAgICAgICAgIHNf
cGVyaW9kaWNXYXZlU3F1YXJlID0gJlBlcmlvZGljV2F2ZTo6Y3JlYXRlU3F1YXJlKHNhbXBsZVJh
dGUpLmxlYWtSZWYoKTsKICAgICAgICAgcGVyaW9kaWNXYXZlID0gc19wZXJpb2RpY1dhdmVTcXVh
cmU7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgU0FXVE9PVEg6CiAgICAgICAgIGlmICghc19w
ZXJpb2RpY1dhdmVTYXd0b290aCkKLSAgICAgICAgICAgIHNfcGVyaW9kaWNXYXZlU2F3dG9vdGgg
PSBQZXJpb2RpY1dhdmU6OmNyZWF0ZVNhd3Rvb3RoKHNhbXBsZVJhdGUpLmxlYWtSZWYoKTsKKyAg
ICAgICAgICAgIHNfcGVyaW9kaWNXYXZlU2F3dG9vdGggPSAmUGVyaW9kaWNXYXZlOjpjcmVhdGVT
YXd0b290aChzYW1wbGVSYXRlKS5sZWFrUmVmKCk7CiAgICAgICAgIHBlcmlvZGljV2F2ZSA9IHNf
cGVyaW9kaWNXYXZlU2F3dG9vdGg7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgVFJJQU5HTEU6
CiAgICAgICAgIGlmICghc19wZXJpb2RpY1dhdmVUcmlhbmdsZSkKLSAgICAgICAgICAgIHNfcGVy
aW9kaWNXYXZlVHJpYW5nbGUgPSBQZXJpb2RpY1dhdmU6OmNyZWF0ZVRyaWFuZ2xlKHNhbXBsZVJh
dGUpLmxlYWtSZWYoKTsKKyAgICAgICAgICAgIHNfcGVyaW9kaWNXYXZlVHJpYW5nbGUgPSAmUGVy
aW9kaWNXYXZlOjpjcmVhdGVUcmlhbmdsZShzYW1wbGVSYXRlKS5sZWFrUmVmKCk7CiAgICAgICAg
IHBlcmlvZGljV2F2ZSA9IHNfcGVyaW9kaWNXYXZlVHJpYW5nbGU7CiAgICAgICAgIGJyZWFrOwog
ICAgIGNhc2UgQ1VTVE9NOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9QYW5uZXJOb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1Bhbm5l
ck5vZGUuaAppbmRleCBiMmZhNzAxMjk3ZmYwNmViYmM0NjEyYjNlNWYzOWYxMTc0Yjk1NTBiLi4w
Y2JkNzJlNTZlYmNhMjJhMDJhZjc4YmZhZTRmMzZjMjZkZDI0ODZlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1Bhbm5lck5vZGUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1Bhbm5lck5vZGUuaApAQCAtNjMsOSArNjMsOSBAQCBwdWJs
aWM6CiAgICAgICAgIEVYUE9ORU5USUFMX0RJU1RBTkNFID0gMiwKICAgICB9OwogCi0gICAgc3Rh
dGljIFBhc3NSZWZQdHI8UGFubmVyTm9kZT4gY3JlYXRlKEF1ZGlvQ29udGV4dCogY29udGV4dCwg
ZmxvYXQgc2FtcGxlUmF0ZSkKKyAgICBzdGF0aWMgUmVmPFBhbm5lck5vZGU+IGNyZWF0ZShBdWRp
b0NvbnRleHQqIGNvbnRleHQsIGZsb2F0IHNhbXBsZVJhdGUpCiAgICAgewotICAgICAgICByZXR1
cm4gYWRvcHRSZWYobmV3IFBhbm5lck5vZGUoY29udGV4dCwgc2FtcGxlUmF0ZSkpOworICAgICAg
ICByZXR1cm4gYWRvcHRSZWYoKm5ldyBQYW5uZXJOb2RlKGNvbnRleHQsIHNhbXBsZVJhdGUpKTsK
ICAgICB9CiAKICAgICB2aXJ0dWFsIH5QYW5uZXJOb2RlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1BlcmlvZGljV2F2ZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmF1ZGlvL1BlcmlvZGljV2F2ZS5jcHAKaW5kZXggYTM3ZDM4ODliZGJhYTI0
Yzc2ZDI1NzFlNmFjOGFjYTFkMWM0NzhmMC4uYWRkMTMxOWNhYmNkMzA4OTJkYmM4ZDBiNmJlNmQz
NWIxMWVlYWJlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9Q
ZXJpb2RpY1dhdmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vUGVy
aW9kaWNXYXZlLmNwcApAQCAtNDUsNyArNDUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
CiB1c2luZyBuYW1lc3BhY2UgVmVjdG9yTWF0aDsKIAotUGFzc1JlZlB0cjxQZXJpb2RpY1dhdmU+
IFBlcmlvZGljV2F2ZTo6Y3JlYXRlKGZsb2F0IHNhbXBsZVJhdGUsIEZsb2F0MzJBcnJheSogcmVh
bCwgRmxvYXQzMkFycmF5KiBpbWFnKQorUmVmUHRyPFBlcmlvZGljV2F2ZT4gUGVyaW9kaWNXYXZl
OjpjcmVhdGUoZmxvYXQgc2FtcGxlUmF0ZSwgRmxvYXQzMkFycmF5KiByZWFsLCBGbG9hdDMyQXJy
YXkqIGltYWcpCiB7CiAgICAgYm9vbCBpc0dvb2QgPSByZWFsICYmIGltYWcgJiYgcmVhbC0+bGVu
Z3RoKCkgPT0gaW1hZy0+bGVuZ3RoKCk7CiAgICAgQVNTRVJUKGlzR29vZCk7CkBAIC01MywzNSAr
NTMsMzUgQEAgUGFzc1JlZlB0cjxQZXJpb2RpY1dhdmU+IFBlcmlvZGljV2F2ZTo6Y3JlYXRlKGZs
b2F0IHNhbXBsZVJhdGUsIEZsb2F0MzJBcnJheSogcmUKICAgICAgICAgUmVmUHRyPFBlcmlvZGlj
V2F2ZT4gd2F2ZVRhYmxlID0gYWRvcHRSZWYobmV3IFBlcmlvZGljV2F2ZShzYW1wbGVSYXRlKSk7
CiAgICAgICAgIHNpemVfdCBudW1iZXJPZkNvbXBvbmVudHMgPSByZWFsLT5sZW5ndGgoKTsKICAg
ICAgICAgd2F2ZVRhYmxlLT5jcmVhdGVCYW5kTGltaXRlZFRhYmxlcyhyZWFsLT5kYXRhKCksIGlt
YWctPmRhdGEoKSwgbnVtYmVyT2ZDb21wb25lbnRzKTsKLSAgICAgICAgcmV0dXJuIHdhdmVUYWJs
ZTsKKyAgICAgICAgcmV0dXJuIFdURjo6bW92ZSh3YXZlVGFibGUpOwogICAgIH0KICAgICByZXR1
cm4gbnVsbHB0cjsKIH0KIAotUGFzc1JlZlB0cjxQZXJpb2RpY1dhdmU+IFBlcmlvZGljV2F2ZTo6
Y3JlYXRlU2luZShmbG9hdCBzYW1wbGVSYXRlKQorUmVmPFBlcmlvZGljV2F2ZT4gUGVyaW9kaWNX
YXZlOjpjcmVhdGVTaW5lKGZsb2F0IHNhbXBsZVJhdGUpCiB7Ci0gICAgUmVmUHRyPFBlcmlvZGlj
V2F2ZT4gd2F2ZVRhYmxlID0gYWRvcHRSZWYobmV3IFBlcmlvZGljV2F2ZShzYW1wbGVSYXRlKSk7
CisgICAgUmVmPFBlcmlvZGljV2F2ZT4gd2F2ZVRhYmxlID0gYWRvcHRSZWYoKm5ldyBQZXJpb2Rp
Y1dhdmUoc2FtcGxlUmF0ZSkpOwogICAgIHdhdmVUYWJsZS0+Z2VuZXJhdGVCYXNpY1dhdmVmb3Jt
KE9zY2lsbGF0b3JOb2RlOjpTSU5FKTsKICAgICByZXR1cm4gd2F2ZVRhYmxlOwogfQogCi1QYXNz
UmVmUHRyPFBlcmlvZGljV2F2ZT4gUGVyaW9kaWNXYXZlOjpjcmVhdGVTcXVhcmUoZmxvYXQgc2Ft
cGxlUmF0ZSkKK1JlZjxQZXJpb2RpY1dhdmU+IFBlcmlvZGljV2F2ZTo6Y3JlYXRlU3F1YXJlKGZs
b2F0IHNhbXBsZVJhdGUpCiB7Ci0gICAgUmVmUHRyPFBlcmlvZGljV2F2ZT4gd2F2ZVRhYmxlID0g
YWRvcHRSZWYobmV3IFBlcmlvZGljV2F2ZShzYW1wbGVSYXRlKSk7CisgICAgUmVmPFBlcmlvZGlj
V2F2ZT4gd2F2ZVRhYmxlID0gYWRvcHRSZWYoKm5ldyBQZXJpb2RpY1dhdmUoc2FtcGxlUmF0ZSkp
OwogICAgIHdhdmVUYWJsZS0+Z2VuZXJhdGVCYXNpY1dhdmVmb3JtKE9zY2lsbGF0b3JOb2RlOjpT
UVVBUkUpOwogICAgIHJldHVybiB3YXZlVGFibGU7CiB9CiAKLVBhc3NSZWZQdHI8UGVyaW9kaWNX
YXZlPiBQZXJpb2RpY1dhdmU6OmNyZWF0ZVNhd3Rvb3RoKGZsb2F0IHNhbXBsZVJhdGUpCitSZWY8
UGVyaW9kaWNXYXZlPiBQZXJpb2RpY1dhdmU6OmNyZWF0ZVNhd3Rvb3RoKGZsb2F0IHNhbXBsZVJh
dGUpCiB7Ci0gICAgUmVmUHRyPFBlcmlvZGljV2F2ZT4gd2F2ZVRhYmxlID0gYWRvcHRSZWYobmV3
IFBlcmlvZGljV2F2ZShzYW1wbGVSYXRlKSk7CisgICAgUmVmPFBlcmlvZGljV2F2ZT4gd2F2ZVRh
YmxlID0gYWRvcHRSZWYoKm5ldyBQZXJpb2RpY1dhdmUoc2FtcGxlUmF0ZSkpOwogICAgIHdhdmVU
YWJsZS0+Z2VuZXJhdGVCYXNpY1dhdmVmb3JtKE9zY2lsbGF0b3JOb2RlOjpTQVdUT09USCk7CiAg
ICAgcmV0dXJuIHdhdmVUYWJsZTsKIH0KIAotUGFzc1JlZlB0cjxQZXJpb2RpY1dhdmU+IFBlcmlv
ZGljV2F2ZTo6Y3JlYXRlVHJpYW5nbGUoZmxvYXQgc2FtcGxlUmF0ZSkKK1JlZjxQZXJpb2RpY1dh
dmU+IFBlcmlvZGljV2F2ZTo6Y3JlYXRlVHJpYW5nbGUoZmxvYXQgc2FtcGxlUmF0ZSkKIHsKLSAg
ICBSZWZQdHI8UGVyaW9kaWNXYXZlPiB3YXZlVGFibGUgPSBhZG9wdFJlZihuZXcgUGVyaW9kaWNX
YXZlKHNhbXBsZVJhdGUpKTsKKyAgICBSZWY8UGVyaW9kaWNXYXZlPiB3YXZlVGFibGUgPSBhZG9w
dFJlZigqbmV3IFBlcmlvZGljV2F2ZShzYW1wbGVSYXRlKSk7CiAgICAgd2F2ZVRhYmxlLT5nZW5l
cmF0ZUJhc2ljV2F2ZWZvcm0oT3NjaWxsYXRvck5vZGU6OlRSSUFOR0xFKTsKICAgICByZXR1cm4g
d2F2ZVRhYmxlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9QZXJpb2RpY1dhdmUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vUGVyaW9k
aWNXYXZlLmgKaW5kZXggODViNmUxY2VkZTE3NTVmYTA2ZTVmZGI4MjA1NTM4ZGNkNGIzNGU5Mi4u
MGI3NzRhOGMyN2JkOWIyNGRhZDE3OWI2OTZlZGNhMWY1OTlhMzM3OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9QZXJpb2RpY1dhdmUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1BlcmlvZGljV2F2ZS5oCkBAIC00MSwxMyArNDEsMTMg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBQZXJpb2RpY1dhdmUgOiBwdWJsaWMgUmVm
Q291bnRlZDxQZXJpb2RpY1dhdmU+IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxQ
ZXJpb2RpY1dhdmU+IGNyZWF0ZVNpbmUoZmxvYXQgc2FtcGxlUmF0ZSk7Ci0gICAgc3RhdGljIFBh
c3NSZWZQdHI8UGVyaW9kaWNXYXZlPiBjcmVhdGVTcXVhcmUoZmxvYXQgc2FtcGxlUmF0ZSk7Ci0g
ICAgc3RhdGljIFBhc3NSZWZQdHI8UGVyaW9kaWNXYXZlPiBjcmVhdGVTYXd0b290aChmbG9hdCBz
YW1wbGVSYXRlKTsKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxQZXJpb2RpY1dhdmU+IGNyZWF0ZVRy
aWFuZ2xlKGZsb2F0IHNhbXBsZVJhdGUpOworICAgIHN0YXRpYyBSZWY8UGVyaW9kaWNXYXZlPiBj
cmVhdGVTaW5lKGZsb2F0IHNhbXBsZVJhdGUpOworICAgIHN0YXRpYyBSZWY8UGVyaW9kaWNXYXZl
PiBjcmVhdGVTcXVhcmUoZmxvYXQgc2FtcGxlUmF0ZSk7CisgICAgc3RhdGljIFJlZjxQZXJpb2Rp
Y1dhdmU+IGNyZWF0ZVNhd3Rvb3RoKGZsb2F0IHNhbXBsZVJhdGUpOworICAgIHN0YXRpYyBSZWY8
UGVyaW9kaWNXYXZlPiBjcmVhdGVUcmlhbmdsZShmbG9hdCBzYW1wbGVSYXRlKTsKIAogICAgIC8v
IENyZWF0ZXMgYW4gYXJiaXRyYXJ5IHdhdmUgZ2l2ZW4gdGhlIGZyZXF1ZW5jeSBjb21wb25lbnRz
IChGb3VyaWVyIGNvZWZmaWNpZW50cykuCi0gICAgc3RhdGljIFBhc3NSZWZQdHI8UGVyaW9kaWNX
YXZlPiBjcmVhdGUoZmxvYXQgc2FtcGxlUmF0ZSwgRmxvYXQzMkFycmF5KiByZWFsLCBGbG9hdDMy
QXJyYXkqIGltYWcpOworICAgIHN0YXRpYyBSZWZQdHI8UGVyaW9kaWNXYXZlPiBjcmVhdGUoZmxv
YXQgc2FtcGxlUmF0ZSwgRmxvYXQzMkFycmF5KiByZWFsLCBGbG9hdDMyQXJyYXkqIGltYWcpOwog
CiAgICAgLy8gUmV0dXJucyBwb2ludGVycyB0byB0aGUgbG93ZXIgYW5kIGhpZ2hlciB3YXZlIGRh
dGEgZm9yIHRoZSBwaXRjaCByYW5nZSBjb250YWluaW5nCiAgICAgLy8gdGhlIGdpdmVuIGZ1bmRh
bWVudGFsIGZyZXF1ZW5jeS4gVGhlc2UgdHdvIHRhYmxlcyBhcmUgaW4gYWRqYWNlbnQgInBpdGNo
IiByYW5nZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vU2Ny
aXB0UHJvY2Vzc29yTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1Nj
cmlwdFByb2Nlc3Nvck5vZGUuY3BwCmluZGV4IDkwYTZkMTdiZGJlN2RmMzkzZDFhNDI4YmFhY2U4
YTQ0NmEwY2FiNzcuLjI1ZmJlMzRkMGJlZTZhM2EzYTIyY2Y3OGZmYmY1OWI4NWZlMzRlN2YgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29y
Tm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9TY3JpcHRQcm9j
ZXNzb3JOb2RlLmNwcApAQCAtNDAsNyArNDAsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LVBhc3NSZWZQdHI8U2NyaXB0UHJvY2Vzc29yTm9kZT4gU2NyaXB0UHJvY2Vzc29yTm9kZTo6Y3Jl
YXRlKEF1ZGlvQ29udGV4dCogY29udGV4dCwgZmxvYXQgc2FtcGxlUmF0ZSwgc2l6ZV90IGJ1ZmZl
clNpemUsIHVuc2lnbmVkIG51bWJlck9mSW5wdXRDaGFubmVscywgdW5zaWduZWQgbnVtYmVyT2ZP
dXRwdXRDaGFubmVscykKK1JlZlB0cjxTY3JpcHRQcm9jZXNzb3JOb2RlPiBTY3JpcHRQcm9jZXNz
b3JOb2RlOjpjcmVhdGUoQXVkaW9Db250ZXh0KiBjb250ZXh0LCBmbG9hdCBzYW1wbGVSYXRlLCBz
aXplX3QgYnVmZmVyU2l6ZSwgdW5zaWduZWQgbnVtYmVyT2ZJbnB1dENoYW5uZWxzLCB1bnNpZ25l
ZCBudW1iZXJPZk91dHB1dENoYW5uZWxzKQogewogICAgIC8vIENoZWNrIGZvciB2YWxpZCBidWZm
ZXIgc2l6ZS4KICAgICBzd2l0Y2ggKGJ1ZmZlclNpemUpIHsKQEAgLTY1LDcgKzY1LDcgQEAgUGFz
c1JlZlB0cjxTY3JpcHRQcm9jZXNzb3JOb2RlPiBTY3JpcHRQcm9jZXNzb3JOb2RlOjpjcmVhdGUo
QXVkaW9Db250ZXh0KiBjb250ZXgKICAgICBpZiAobnVtYmVyT2ZPdXRwdXRDaGFubmVscyA+IEF1
ZGlvQ29udGV4dDo6bWF4TnVtYmVyT2ZDaGFubmVscygpKQogICAgICAgICByZXR1cm4gbnVsbHB0
cjsKIAotICAgIHJldHVybiBhZG9wdFJlZihuZXcgU2NyaXB0UHJvY2Vzc29yTm9kZShjb250ZXh0
LCBzYW1wbGVSYXRlLCBidWZmZXJTaXplLCBudW1iZXJPZklucHV0Q2hhbm5lbHMsIG51bWJlck9m
T3V0cHV0Q2hhbm5lbHMpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTY3JpcHRQcm9jZXNz
b3JOb2RlKGNvbnRleHQsIHNhbXBsZVJhdGUsIGJ1ZmZlclNpemUsIG51bWJlck9mSW5wdXRDaGFu
bmVscywgbnVtYmVyT2ZPdXRwdXRDaGFubmVscykpOwogfQogCiBTY3JpcHRQcm9jZXNzb3JOb2Rl
OjpTY3JpcHRQcm9jZXNzb3JOb2RlKEF1ZGlvQ29udGV4dCogY29udGV4dCwgZmxvYXQgc2FtcGxl
UmF0ZSwgc2l6ZV90IGJ1ZmZlclNpemUsIHVuc2lnbmVkIG51bWJlck9mSW5wdXRDaGFubmVscywg
dW5zaWduZWQgbnVtYmVyT2ZPdXRwdXRDaGFubmVscykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29yTm9kZS5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9TY3JpcHRQcm9jZXNzb3JOb2RlLmgKaW5kZXggMmJhYmYzNWEz
N2EyMGJhNmEyNTNhZWZhNjgxMDdiZmVjZDYxYjE2NC4uNmE1MzBkOWJmM2RjN2U0MmY0ZmFiZTNj
MjJmOWVlMmVkNGY5YzZiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9TY3JpcHRQcm9jZXNzb3JOb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJhdWRpby9TY3JpcHRQcm9jZXNzb3JOb2RlLmgKQEAgLTUzLDcgKzUzLDcgQEAgcHVibGljOgog
ICAgIC8vIFRoaXMgdmFsdWUgY29udHJvbHMgaG93IGZyZXF1ZW50bHkgdGhlIG9uYXVkaW9wcm9j
ZXNzIGV2ZW50IGhhbmRsZXIgaXMgY2FsbGVkIGFuZCBob3cgbWFueSBzYW1wbGUtZnJhbWVzIG5l
ZWQgdG8gYmUgcHJvY2Vzc2VkIGVhY2ggY2FsbC4KICAgICAvLyBMb3dlciBudW1iZXJzIGZvciBi
dWZmZXJTaXplIHdpbGwgcmVzdWx0IGluIGEgbG93ZXIgKGJldHRlcikgbGF0ZW5jeS4gSGlnaGVy
IG51bWJlcnMgd2lsbCBiZSBuZWNlc3NhcnkgdG8gYXZvaWQgYXVkaW8gYnJlYWt1cCBhbmQgZ2xp
dGNoZXMuCiAgICAgLy8gVGhlIHZhbHVlIGNob3NlbiBtdXN0IGNhcmVmdWxseSBiYWxhbmNlIGJl
dHdlZW4gbGF0ZW5jeSBhbmQgYXVkaW8gcXVhbGl0eS4KLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxT
Y3JpcHRQcm9jZXNzb3JOb2RlPiBjcmVhdGUoQXVkaW9Db250ZXh0KiwgZmxvYXQgc2FtcGxlUmF0
ZSwgc2l6ZV90IGJ1ZmZlclNpemUsIHVuc2lnbmVkIG51bWJlck9mSW5wdXRDaGFubmVscywgdW5z
aWduZWQgbnVtYmVyT2ZPdXRwdXRDaGFubmVscyk7CisgICAgc3RhdGljIFJlZlB0cjxTY3JpcHRQ
cm9jZXNzb3JOb2RlPiBjcmVhdGUoQXVkaW9Db250ZXh0KiwgZmxvYXQgc2FtcGxlUmF0ZSwgc2l6
ZV90IGJ1ZmZlclNpemUsIHVuc2lnbmVkIG51bWJlck9mSW5wdXRDaGFubmVscywgdW5zaWduZWQg
bnVtYmVyT2ZPdXRwdXRDaGFubmVscyk7CiAKICAgICB2aXJ0dWFsIH5TY3JpcHRQcm9jZXNzb3JO
b2RlKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vV2F2
ZVNoYXBlck5vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vV2F2ZVNoYXBl
ck5vZGUuaAppbmRleCBjYjY1MzcyYTE3MTY4NTQ3MjEzMjdhYmNiODVhMzFmNGMwOWE2NWU3Li44
MjI3OTc1M2RkZjc4ZjUyOWRhYmFmNTlkODliYTc3MTdlZTA4ZWM3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dhdmVTaGFwZXJOb2RlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9XYXZlU2hhcGVyTm9kZS5oCkBAIC0zNCw5ICszNCw5
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAKIGNsYXNzIFdhdmVTaGFwZXJOb2RlIDogcHVi
bGljIEF1ZGlvQmFzaWNQcm9jZXNzb3JOb2RlIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxXYXZlU2hhcGVyTm9kZT4gY3JlYXRlKEF1ZGlvQ29udGV4dCogY29udGV4dCkKKyAgICBz
dGF0aWMgUmVmPFdhdmVTaGFwZXJOb2RlPiBjcmVhdGUoQXVkaW9Db250ZXh0KiBjb250ZXh0KQog
ICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXYXZlU2hhcGVyTm9kZShjb250ZXh0
KSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdhdmVTaGFwZXJOb2RlKGNvbnRleHQp
KTsKICAgICB9CiAKICAgICAvLyBzZXRDdXJ2ZSgpIGlzIGNhbGxlZCBvbiB0aGUgbWFpbiB0aHJl
YWQuCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>253825</attachid>
            <date>2015-05-27 19:13:15 -0700</date>
            <delta_ts>2015-05-27 19:30:10 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-145304-20150528111300.patch</filename>
            <type>text/plain</type>
            <size>68381</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg0OTMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDViYmEyZTk3N2QyNDQ4
ODRjZTk3NmRmNzU2YzMwMzFkMWU4MzI5ZS4uNzZhOTcwYzc4MjNmZmQzNzcyNDNkNThmOGZkZDNh
NjJkOGZhZjdhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExMiBAQAorMjAxNS0wNS0yNyAgR3l1
eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUHVyZ2UgUGFz
c1JlZlB0ciBpbiBXZWJDb3JlL01vZHVsZXMgLSAyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDUzMDQKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJp
biBBZGxlci4KKworICAgICAgICBBcyBhIHN0ZXAgdG8gcmVtb3ZlIFBhc3NSZWZQdHIsIHRoaXMg
cGF0Y2ggcmVwbGFjZXMgUGFzc1JlZlB0ciB3aXRoIFJlZiBvciBSZWZQdHIuCisKKyAgICAgICAg
Tm8gbmV3IHRlc3RzLCBubyBiZWhhdmlvciBjaGFuZ2VzCisKKyAgICAgICAgKiBNb2R1bGVzL21l
ZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuaDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3Ry
ZWFtL0FsbEF1ZGlvQ2FwYWJpbGl0aWVzLmg6CisgICAgICAgIChXZWJDb3JlOjpBbGxBdWRpb0Nh
cGFiaWxpdGllczo6Y3JlYXRlKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL0FsbFZp
ZGVvQ2FwYWJpbGl0aWVzLmg6CisgICAgICAgIChXZWJDb3JlOjpBbGxWaWRlb0NhcGFiaWxpdGll
czo6Y3JlYXRlKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL0NhcGFiaWxpdHlSYW5n
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYXBhYmlsaXR5UmFuZ2U6OmNyZWF0ZSk6CisgICAg
ICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9DYXBhYmlsaXR5UmFuZ2UuaDoKKyAgICAgICAgKiBN
b2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU291cmNlU3RhdGVzLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhU291cmNlU3RhdGVzOjpjcmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFz
dHJlYW0vTWVkaWFTdHJlYW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW06OmNy
ZWF0ZSk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtVHJhY2s6OmNyZWF0ZSk6CisgICAgICAg
ICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrU291cmNlc1JlcXVlc3QuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1UcmFja1NvdXJjZXNSZXF1ZXN0OjpjcmVh
dGUpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFUcmFja0NvbnN0cmFpbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFUcmFja0NvbnN0cmFpbnQ6OmNyZWF0ZSk6Cisg
ICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVRyYWNrQ29uc3RyYWludC5oOgorICAg
ICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDQ29uZmlndXJhdGlvbi5oOgorICAgICAgICAo
V2ViQ29yZTo6UlRDQ29uZmlndXJhdGlvbjo6Y3JlYXRlKToKKyAgICAgICAgKiBNb2R1bGVzL21l
ZGlhc3RyZWFtL1JUQ0ljZVNlcnZlci5oOgorICAgICAgICAoV2ViQ29yZTo6UlRDSWNlU2VydmVy
OjpjcmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2Ny
aXB0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1Nlc3Npb25EZXNjcmlwdGlvbjo6Y3Jl
YXRlKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlv
bi5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9u
UmVxdWVzdEltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UlRDU2Vzc2lvbkRlc2NyaXB0aW9u
UmVxdWVzdEltcGw6OmNyZWF0ZSk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENT
dGF0c1JlcG9ydC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSVENTdGF0c1JlcG9ydDo6Y3JlYXRl
KToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1N0YXRzUmVwb3J0Lmg6CisgICAg
ICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTdGF0c1JlcXVlc3RJbXBsLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJUQ1N0YXRzUmVxdWVzdEltcGw6OmNyZWF0ZSk6CisgICAgICAgICogTW9k
dWxlcy9tZWRpYXN0cmVhbS9SVENTdGF0c1JlcXVlc3RJbXBsLmg6CisgICAgICAgICogTW9kdWxl
cy9tZWRpYXN0cmVhbS9SVENTdGF0c1Jlc3BvbnNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJU
Q1N0YXRzUmVzcG9uc2U6OmNyZWF0ZSk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENTdGF0c1Jlc3BvbnNlLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENWb2lk
UmVxdWVzdEltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UlRDVm9pZFJlcXVlc3RJbXBsOjpj
cmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDVm9pZFJlcXVlc3RJbXBs
Lmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9Tb3VyY2VJbmZvLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNvdXJjZUluZm86OmNyZWF0ZSk6CisgICAgICAgICogTW9kdWxlcy9tZWRp
YXN0cmVhbS9Tb3VyY2VJbmZvLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2Vy
TWVkaWFSZXF1ZXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlVzZXJNZWRpYVJlcXVlc3Q6OmNy
ZWF0ZSk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0Lmg6
CisgICAgICAgICogTW9kdWxlcy9xdW90YS9TdG9yYWdlSW5mby5oOgorICAgICAgICAoV2ViQ29y
ZTo6U3RvcmFnZUluZm86OmNyZWF0ZSk6CisgICAgICAgICogTW9kdWxlcy9xdW90YS9TdG9yYWdl
UXVvdGEuaDoKKyAgICAgICAgKFdlYkNvcmU6OlN0b3JhZ2VRdW90YTo6Y3JlYXRlKToKKyAgICAg
ICAgKiBNb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXMuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U3BlZWNoU3ludGhlc2lzOjpjcmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvc3BlZWNoL1Nw
ZWVjaFN5bnRoZXNpcy5oOgorICAgICAgICAqIE1vZHVsZXMvc3BlZWNoL1NwZWVjaFN5bnRoZXNp
c1V0dGVyYW5jZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTcGVlY2hTeW50aGVzaXNVdHRlcmFu
Y2U6OmNyZWF0ZSk6CisgICAgICAgICogTW9kdWxlcy9zcGVlY2gvU3BlZWNoU3ludGhlc2lzVXR0
ZXJhbmNlLmg6CisgICAgICAgICogTW9kdWxlcy9zcGVlY2gvU3BlZWNoU3ludGhlc2lzVm9pY2Uu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U3BlZWNoU3ludGhlc2lzVm9pY2U6OmNyZWF0ZSk6Cisg
ICAgICAgICogTW9kdWxlcy9zcGVlY2gvU3BlZWNoU3ludGhlc2lzVm9pY2UuaDoKKyAgICAgICAg
KiBNb2R1bGVzL3dlYmF1ZGlvL0NoYW5uZWxNZXJnZXJOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkNoYW5uZWxNZXJnZXJOb2RlOjpjcmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVk
aW8vQ2hhbm5lbE1lcmdlck5vZGUuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0NoYW5u
ZWxTcGxpdHRlck5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2hhbm5lbFNwbGl0dGVyTm9k
ZTo6Y3JlYXRlKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0NoYW5uZWxTcGxpdHRlck5v
ZGUuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0RlZmF1bHRBdWRpb0Rlc3RpbmF0aW9u
Tm9kZS5oOgorICAgICAgICAoV2ViQ29yZTo6RGVmYXVsdEF1ZGlvRGVzdGluYXRpb25Ob2RlOjpj
cmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vR2Fpbk5vZGUuaDoKKyAgICAgICAg
KFdlYkNvcmU6OkdhaW5Ob2RlOjpjcmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8v
TWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
RWxlbWVudEF1ZGlvU291cmNlTm9kZTo6Y3JlYXRlKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1
ZGlvL01lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZS5oOgorICAgICAgICAqIE1vZHVsZXMvd2Vi
YXVkaW8vTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2RlOjpjcmVhdGUpOgorICAgICAgICAq
IE1vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZS5oOgorICAg
ICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb1NvdXJjZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbUF1ZGlvU291cmNlOjpjcmVhdGUpOgorICAgICAgICAq
IE1vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb1NvdXJjZS5oOgorICAgICAgICAqIE1v
ZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGU6OmNyZWF0ZSk6CisgICAgICAgICog
TW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZS5oOgorICAgICAgICAq
IE1vZHVsZXMvd2ViYXVkaW8vT3NjaWxsYXRvck5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
T3NjaWxsYXRvck5vZGU6OnNldFR5cGUpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vUGFu
bmVyTm9kZS5oOgorICAgICAgICAoV2ViQ29yZTo6UGFubmVyTm9kZTo6Y3JlYXRlKToKKyAgICAg
ICAgKiBNb2R1bGVzL3dlYmF1ZGlvL1BlcmlvZGljV2F2ZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpQZXJpb2RpY1dhdmU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJpb2RpY1dhdmU6
OmNyZWF0ZVNpbmUpOgorICAgICAgICAoV2ViQ29yZTo6UGVyaW9kaWNXYXZlOjpjcmVhdGVTcXVh
cmUpOgorICAgICAgICAoV2ViQ29yZTo6UGVyaW9kaWNXYXZlOjpjcmVhdGVTYXd0b290aCk6Cisg
ICAgICAgIChXZWJDb3JlOjpQZXJpb2RpY1dhdmU6OmNyZWF0ZVRyaWFuZ2xlKToKKyAgICAgICAg
KiBNb2R1bGVzL3dlYmF1ZGlvL1BlcmlvZGljV2F2ZS5oOgorICAgICAgICAqIE1vZHVsZXMvd2Vi
YXVkaW8vU2NyaXB0UHJvY2Vzc29yTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRQ
cm9jZXNzb3JOb2RlOjpjcmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vU2NyaXB0
UHJvY2Vzc29yTm9kZS5oOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vV2F2ZVNoYXBlck5v
ZGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OldhdmVTaGFwZXJOb2RlOjpjcmVhdGUpOgorCiAyMDE1
LTA1LTI3ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAg
IFJFR1JFU1NJT04gKHIxODM4MjApOiB3ZWJraXQub3JnL2Jsb2cvIGJhY2tncm91bmQgcGFpbnRp
bmcgaXNzdWUgb24gcmVsb2FkLCB3aGVuIHRoZSBwYWdlIGNvbnRhaW5zIHZpZGVvcwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3Qu
aAppbmRleCA2YmNiOTM1NzJlMDQzY2Q0Mzg1NmM2NjgyNzQ4MmQ5MjM0NzZlYWU2Li40YmYzNjE3
ZmM1NWE0ZDhlNzI5ZjEzZTk5ZTg2YmEwMTU2NTg4ZWFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuaApAQCAtNDUsOSAr
NDUsOSBAQCBjbGFzcyBTb3VyY2VCdWZmZXI7CiAKIGNsYXNzIFNvdXJjZUJ1ZmZlckxpc3QgZmlu
YWwgOiBwdWJsaWMgUmVmQ291bnRlZDxTb3VyY2VCdWZmZXJMaXN0PiwgcHVibGljIFNjcmlwdFdy
YXBwYWJsZSwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEgewogcHVibGljOgotICAg
IHN0YXRpYyBQYXNzUmVmUHRyPFNvdXJjZUJ1ZmZlckxpc3Q+IGNyZWF0ZShTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiBjb250ZXh0KQorICAgIHN0YXRpYyBSZWY8U291cmNlQnVmZmVyTGlzdD4gY3Jl
YXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCiAgICAgewotICAgICAgICByZXR1
cm4gYWRvcHRSZWYobmV3IFNvdXJjZUJ1ZmZlckxpc3QoY29udGV4dCkpOworICAgICAgICByZXR1
cm4gYWRvcHRSZWYoKm5ldyBTb3VyY2VCdWZmZXJMaXN0KGNvbnRleHQpKTsKICAgICB9CiAgICAg
dmlydHVhbCB+U291cmNlQnVmZmVyTGlzdCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0FsbEF1ZGlvQ2FwYWJpbGl0aWVzLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0FsbEF1ZGlvQ2FwYWJpbGl0aWVzLmgKaW5kZXggNjA2
MjNlNjVmZWQyZGZlNzllZWIzMGZkNjE5NDRmNmFiNTQ1ZTUzYS4uOWZjODM5NzMyN2FkYTg0Y2Zh
ZTBhYTBjODAwYmQ1ODM5MDdjNDA2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9BbGxBdWRpb0NhcGFiaWxpdGllcy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vQWxsQXVkaW9DYXBhYmlsaXRpZXMuaApAQCAtMzksOSArMzks
OSBAQCBjbGFzcyBSZWFsdGltZU1lZGlhU291cmNlQ2FwYWJpbGl0aWVzOwogCiBjbGFzcyBBbGxB
dWRpb0NhcGFiaWxpdGllcyA6IHB1YmxpYyBNZWRpYVN0cmVhbUNhcGFiaWxpdGllcyB7CiBwdWJs
aWM6Ci0gICAgc3RhdGljIFJlZlB0cjxBbGxBdWRpb0NhcGFiaWxpdGllcz4gY3JlYXRlKFBhc3NS
ZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZUNhcGFiaWxpdGllcz4gY2FwYWJpbGl0aWVzKQorICAg
IHN0YXRpYyBSZWY8QWxsQXVkaW9DYXBhYmlsaXRpZXM+IGNyZWF0ZShQYXNzUmVmUHRyPFJlYWx0
aW1lTWVkaWFTb3VyY2VDYXBhYmlsaXRpZXM+IGNhcGFiaWxpdGllcykKICAgICB7Ci0gICAgICAg
IHJldHVybiBhZG9wdFJlZihuZXcgQWxsQXVkaW9DYXBhYmlsaXRpZXMoY2FwYWJpbGl0aWVzKSk7
CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEFsbEF1ZGlvQ2FwYWJpbGl0aWVzKGNhcGFi
aWxpdGllcykpOwogICAgIH0KICAgICB2aXJ0dWFsIH5BbGxBdWRpb0NhcGFiaWxpdGllcygpIHsg
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0FsbFZp
ZGVvQ2FwYWJpbGl0aWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0Fs
bFZpZGVvQ2FwYWJpbGl0aWVzLmgKaW5kZXggMDJlNDU4YWMwZTYyNTI5NTIwMzc4NWJlZjZjMTQ5
MzBlOGMxYTZlZC4uMDE4N2MzMDRhOTUxNWQxMGJjZjFhZTE4YTM0YTZiOGY0NTAyYmNmMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9BbGxWaWRlb0NhcGFi
aWxpdGllcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vQWxsVmlk
ZW9DYXBhYmlsaXRpZXMuaApAQCAtMzcsOSArMzcsOSBAQCBjbGFzcyBSZWFsdGltZU1lZGlhU291
cmNlQ2FwYWJpbGl0aWVzOwogCiBjbGFzcyBBbGxWaWRlb0NhcGFiaWxpdGllcyA6IHB1YmxpYyBN
ZWRpYVN0cmVhbUNhcGFiaWxpdGllcyB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZlB0cjxBbGxW
aWRlb0NhcGFiaWxpdGllcz4gY3JlYXRlKFBhc3NSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZUNh
cGFiaWxpdGllcz4gY2FwYWJpbGl0aWVzKQorICAgIHN0YXRpYyBSZWY8QWxsVmlkZW9DYXBhYmls
aXRpZXM+IGNyZWF0ZShQYXNzUmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2VDYXBhYmlsaXRpZXM+
IGNhcGFiaWxpdGllcykKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgQWxsVmlk
ZW9DYXBhYmlsaXRpZXMoY2FwYWJpbGl0aWVzKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigq
bmV3IEFsbFZpZGVvQ2FwYWJpbGl0aWVzKGNhcGFiaWxpdGllcykpOwogICAgIH0KICAgICB2aXJ0
dWFsIH5BbGxWaWRlb0NhcGFiaWxpdGllcygpIHsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0NhcGFiaWxpdHlSYW5nZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0NhcGFiaWxpdHlSYW5nZS5jcHAKaW5kZXggZjlhMjc5
YjE5MWJkYjY0ZDIzZDkxOTU5YzRjMDBmZTNjZmFkNWVjNi4uNjE0ZTRjNmZkMjU4OWNlNGNhYmRm
MjZmOWJkMTAyZTU4OWExN2YyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9DYXBhYmlsaXR5UmFuZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vQ2FwYWJpbGl0eVJhbmdlLmNwcApAQCAtNDAsOSArNDAsOSBAQCB1c2lu
ZyBuYW1lc3BhY2UgSlNDOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVJlZlB0cjxDYXBhYmls
aXR5UmFuZ2U+IENhcGFiaWxpdHlSYW5nZTo6Y3JlYXRlKGNvbnN0IFJlYWx0aW1lTWVkaWFTb3Vy
Y2VDYXBhYmlsaXR5UmFuZ2UmIHJhbmdlSW5mbykKK1JlZjxDYXBhYmlsaXR5UmFuZ2U+IENhcGFi
aWxpdHlSYW5nZTo6Y3JlYXRlKGNvbnN0IFJlYWx0aW1lTWVkaWFTb3VyY2VDYXBhYmlsaXR5UmFu
Z2UmIHJhbmdlSW5mbykKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IENhcGFiaWxpdHlSYW5n
ZShyYW5nZUluZm8pKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDYXBhYmlsaXR5UmFuZ2Uo
cmFuZ2VJbmZvKSk7CiB9CiAKIENhcGFiaWxpdHlSYW5nZTo6Q2FwYWJpbGl0eVJhbmdlKGNvbnN0
IFJlYWx0aW1lTWVkaWFTb3VyY2VDYXBhYmlsaXR5UmFuZ2UmIHJhbmdlSW5mbykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vQ2FwYWJpbGl0eVJhbmdlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0NhcGFiaWxpdHlSYW5nZS5oCmlu
ZGV4IGZlMjMyODNiNTI0NTU1NzM5ZGZlZWE2NjNlMjNhMTNlYzcyN2EwMTguLjdkOGJiYTNiZTBj
MjE0NDUyN2Y5MTgxM2I5OTRhMTBjMGQ0NThlNjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vQ2FwYWJpbGl0eVJhbmdlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9DYXBhYmlsaXR5UmFuZ2UuaApAQCAtNDEsNyArNDEsNyBA
QCBjbGFzcyBDYXBhYmlsaXR5UmFuZ2UgOiBwdWJsaWMgUmVmQ291bnRlZDxDYXBhYmlsaXR5UmFu
Z2U+LCBwdWJsaWMgU2NyaXB0V3JhcHBhYgogcHVibGljOgogICAgIHZpcnR1YWwgfkNhcGFiaWxp
dHlSYW5nZSgpIHsgfQogCi0gICAgc3RhdGljIFJlZlB0cjxDYXBhYmlsaXR5UmFuZ2U+IGNyZWF0
ZShjb25zdCBSZWFsdGltZU1lZGlhU291cmNlQ2FwYWJpbGl0eVJhbmdlJik7CisgICAgc3RhdGlj
IFJlZjxDYXBhYmlsaXR5UmFuZ2U+IGNyZWF0ZShjb25zdCBSZWFsdGltZU1lZGlhU291cmNlQ2Fw
YWJpbGl0eVJhbmdlJik7CiAKICAgICBEZXByZWNhdGVkOjpTY3JpcHRWYWx1ZSBtaW4oSlNDOjpF
eGVjU3RhdGUqKSBjb25zdDsKICAgICBEZXByZWNhdGVkOjpTY3JpcHRWYWx1ZSBtYXgoSlNDOjpF
eGVjU3RhdGUqKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vTWVkaWFTb3VyY2VTdGF0ZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9NZWRpYVNvdXJjZVN0YXRlcy5jcHAKaW5kZXggMTljMTAzYWUyMGU5MjVlOTA4
ZDdiODAyYmMxODgzYzM4YzM4ZGU2Ny4uNzYzN2FiZmEyNmIwZGJjZGMyNWZmODlhMzBhNjUwYmQx
MzYwMWVlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9N
ZWRpYVNvdXJjZVN0YXRlcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9NZWRpYVNvdXJjZVN0YXRlcy5jcHAKQEAgLTMzLDkgKzMzLDkgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1SZWZQdHI8TWVkaWFTb3VyY2VTdGF0ZXM+IE1lZGlhU291cmNlU3RhdGVz
OjpjcmVhdGUoY29uc3QgUmVhbHRpbWVNZWRpYVNvdXJjZVN0YXRlcyYgc3RhdGVzKQorUmVmPE1l
ZGlhU291cmNlU3RhdGVzPiBNZWRpYVNvdXJjZVN0YXRlczo6Y3JlYXRlKGNvbnN0IFJlYWx0aW1l
TWVkaWFTb3VyY2VTdGF0ZXMmIHN0YXRlcykKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IE1l
ZGlhU291cmNlU3RhdGVzKHN0YXRlcykpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IE1lZGlh
U291cmNlU3RhdGVzKHN0YXRlcykpOwogfQogCiBNZWRpYVNvdXJjZVN0YXRlczo6TWVkaWFTb3Vy
Y2VTdGF0ZXMoY29uc3QgUmVhbHRpbWVNZWRpYVNvdXJjZVN0YXRlcyYgc3RhdGVzKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVNvdXJjZVN0YXRl
cy5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVNvdXJjZVN0YXRl
cy5oCmluZGV4IGMzNGZhMGE0NGIzMzE2NDQ0ODBjMjQzYTdlYzdhZmQwZGFjYzU5YjEuLmM0NjM3
M2Q5NDA2ZmVlMzRhYjhiYzQwMjNhMjg1YjdmNGQ4N2QyN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTb3VyY2VTdGF0ZXMuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU291cmNlU3RhdGVzLmgKQEAgLTM3
LDcgKzM3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBNZWRpYVNvdXJjZVN0YXRl
cyA6IHB1YmxpYyBSZWZDb3VudGVkPE1lZGlhU291cmNlU3RhdGVzPiwgcHVibGljIFNjcmlwdFdy
YXBwYWJsZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZlB0cjxNZWRpYVNvdXJjZVN0YXRlcz4g
Y3JlYXRlKGNvbnN0IFJlYWx0aW1lTWVkaWFTb3VyY2VTdGF0ZXMmKTsKKyAgICBzdGF0aWMgUmVm
PE1lZGlhU291cmNlU3RhdGVzPiBjcmVhdGUoY29uc3QgUmVhbHRpbWVNZWRpYVNvdXJjZVN0YXRl
cyYpOwogCiAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBzb3VyY2VUeXBlKCkgY29uc3Q7CiAgICAg
Y29uc3QgQXRvbWljU3RyaW5nJiBzb3VyY2VJZCgpIGNvbnN0IHsgcmV0dXJuIG1fc291cmNlU3Rh
dGVzLnNvdXJjZUlkKCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwCmluZGV4IDZhZGI0ZmU3MDllZDFhYTVkZWJk
ZWY5Zjc3ZWQ5YmJjMjM1MWFkOWUuLjNmYWJhYjFkNjhjODk2YTE1MjEzNDNhNDhhZGRiZGI3M2Fh
YmY0NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVk
aWFTdHJlYW1UcmFjay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9NZWRpYVN0cmVhbVRyYWNrLmNwcApAQCAtNDksMTQgKzQ5LDE0IEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotUmVmUHRyPE1lZGlhU3RyZWFtVHJhY2s+IE1lZGlhU3RyZWFtVHJhY2s6OmNy
ZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBNZWRpYVN0cmVhbVRyYWNrUHJp
dmF0ZSYgcHJpdmF0ZVRyYWNrKQorUmVmPE1lZGlhU3RyZWFtVHJhY2s+IE1lZGlhU3RyZWFtVHJh
Y2s6OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBNZWRpYVN0cmVhbVRy
YWNrUHJpdmF0ZSYgcHJpdmF0ZVRyYWNrKQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgTWVk
aWFTdHJlYW1UcmFjayhjb250ZXh0LCBwcml2YXRlVHJhY2spKTsKKyAgICByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBNZWRpYVN0cmVhbVRyYWNrKGNvbnRleHQsIHByaXZhdGVUcmFjaykpOwogfQogCi1S
ZWZQdHI8TWVkaWFTdHJlYW1UcmFjaz4gTWVkaWFTdHJlYW1UcmFjazo6Y3JlYXRlKE1lZGlhU3Ry
ZWFtVHJhY2smIHRyYWNrKQorUmVmPE1lZGlhU3RyZWFtVHJhY2s+IE1lZGlhU3RyZWFtVHJhY2s6
OmNyZWF0ZShNZWRpYVN0cmVhbVRyYWNrJiB0cmFjaykKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYo
bmV3IE1lZGlhU3RyZWFtVHJhY2sodHJhY2spKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBN
ZWRpYVN0cmVhbVRyYWNrKHRyYWNrKSk7CiB9CiAKIE1lZGlhU3RyZWFtVHJhY2s6Ok1lZGlhU3Ry
ZWFtVHJhY2soU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgTWVkaWFTdHJlYW1UcmFj
a1ByaXZhdGUmIHByaXZhdGVUcmFjaykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmgKaW5kZXggYWVlZDEwMzYzZmM0MzY1YjU4
MDI5N2VjYmEyNjNmNjViYWE3MDJjZS4uMWQwOWNjNDZhYzA4MDk0ZDI5MGVkNGU5Yjc0MGJmYjk0
ZTc5Mjk0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9N
ZWRpYVN0cmVhbVRyYWNrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9NZWRpYVN0cmVhbVRyYWNrLmgKQEAgLTU3LDggKzU3LDggQEAgcHVibGljOgogICAgICAgICB2
aXJ0dWFsIHZvaWQgdHJhY2tEaWRFbmQoKSA9IDA7CiAgICAgfTsKIAotICAgIHN0YXRpYyBSZWZQ
dHI8TWVkaWFTdHJlYW1UcmFjaz4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBNZWRp
YVN0cmVhbVRyYWNrUHJpdmF0ZSYpOwotICAgIHN0YXRpYyBSZWZQdHI8TWVkaWFTdHJlYW1UcmFj
az4gY3JlYXRlKE1lZGlhU3RyZWFtVHJhY2smKTsKKyAgICBzdGF0aWMgUmVmPE1lZGlhU3RyZWFt
VHJhY2s+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgTWVkaWFTdHJlYW1UcmFja1By
aXZhdGUmKTsKKyAgICBzdGF0aWMgUmVmPE1lZGlhU3RyZWFtVHJhY2s+IGNyZWF0ZShNZWRpYVN0
cmVhbVRyYWNrJik7CiAgICAgdmlydHVhbCB+TWVkaWFTdHJlYW1UcmFjaygpOwogCiAgICAgY29u
c3QgQXRvbWljU3RyaW5nJiBraW5kKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2tTb3VyY2VzUmVxdWVzdC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2tTb3Vy
Y2VzUmVxdWVzdC5jcHAKaW5kZXggOTYyZmYwNjYxNWQxNjcwMDJmMWZlNGE1MmUzY2IyMzAzNmMz
MWU1Zi4uZmIyYzUxMjdhNTgwMGIyNDQxMGRhMzlhNzgwZDIzM2JkMWUwZDMzYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrU291
cmNlc1JlcXVlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
TWVkaWFTdHJlYW1UcmFja1NvdXJjZXNSZXF1ZXN0LmNwcApAQCAtMzcsOSArMzcsOSBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLVBhc3NSZWZQdHI8TWVkaWFTdHJlYW1UcmFja1NvdXJjZXNS
ZXF1ZXN0PiBNZWRpYVN0cmVhbVRyYWNrU291cmNlc1JlcXVlc3Q6OmNyZWF0ZShTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiBjb250ZXh0LCBQYXNzUmVmUHRyPE1lZGlhU3RyZWFtVHJhY2tTb3VyY2Vz
Q2FsbGJhY2s+IGNhbGxiYWNrKQorUmVmPE1lZGlhU3RyZWFtVHJhY2tTb3VyY2VzUmVxdWVzdD4g
TWVkaWFTdHJlYW1UcmFja1NvdXJjZXNSZXF1ZXN0OjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCogY29udGV4dCwgUGFzc1JlZlB0cjxNZWRpYVN0cmVhbVRyYWNrU291cmNlc0NhbGxiYWNr
PiBjYWxsYmFjaykKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IE1lZGlhU3RyZWFtVHJhY2tT
b3VyY2VzUmVxdWVzdChjb250ZXh0LCBjYWxsYmFjaykpOworICAgIHJldHVybiBhZG9wdFJlZigq
bmV3IE1lZGlhU3RyZWFtVHJhY2tTb3VyY2VzUmVxdWVzdChjb250ZXh0LCBjYWxsYmFjaykpOwog
fQogCiBNZWRpYVN0cmVhbVRyYWNrU291cmNlc1JlcXVlc3Q6Ok1lZGlhU3RyZWFtVHJhY2tTb3Vy
Y2VzUmVxdWVzdChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBQYXNzUmVmUHRyPE1l
ZGlhU3RyZWFtVHJhY2tTb3VyY2VzQ2FsbGJhY2s+IGNhbGxiYWNrKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrU291cmNlc1Jl
cXVlc3QuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1U
cmFja1NvdXJjZXNSZXF1ZXN0LmgKaW5kZXggMTMzOWIxYmJiNGVjZWM3MDBjNTAxOWQ1ZDI5NWY2
ZDI5ODliMTdjNi4uMzk2NmNlZmUxZmJhODNiMGE5OTY2NWM2NzA2MjZhYTQyOGJhYjMyNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRy
YWNrU291cmNlc1JlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL01lZGlhU3RyZWFtVHJhY2tTb3VyY2VzUmVxdWVzdC5oCkBAIC00MSw3ICs0MSw3IEBAIGNs
YXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKIGNsYXNzIE1lZGlhU3RyZWFtVHJhY2tTb3Vy
Y2VzUmVxdWVzdCA6IHB1YmxpYyBNZWRpYVN0cmVhbVRyYWNrU291cmNlc1JlcXVlc3RDbGllbnQg
ewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1lZGlhU3RyZWFtVHJhY2tTb3VyY2Vz
UmVxdWVzdD4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPE1lZGlh
U3RyZWFtVHJhY2tTb3VyY2VzQ2FsbGJhY2s+KTsKKyAgICBzdGF0aWMgUmVmPE1lZGlhU3RyZWFt
VHJhY2tTb3VyY2VzUmVxdWVzdD4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNz
UmVmUHRyPE1lZGlhU3RyZWFtVHJhY2tTb3VyY2VzQ2FsbGJhY2s+KTsKICAgICB2aXJ0dWFsIH5N
ZWRpYVN0cmVhbVRyYWNrU291cmNlc1JlcXVlc3QoKSB7IH0KIAogcHJpdmF0ZToKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFUcmFja0NvbnN0cmFp
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVRyYWNrQ29u
c3RyYWludC5jcHAKaW5kZXggYjEwZmNhMjFkNjkzY2I1ZWNkYWQ4N2MwOTYzZDUzYmJmMGMxYmYw
Mi4uM2M3N2MwMjMwNTNhMTE3ZTUyMTU0NTkyNTZhZTc2MGY1NDgyN2NjOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVRyYWNrQ29uc3RyYWludC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVRyYWNrQ29u
c3RyYWludC5jcHAKQEAgLTM0LDkgKzM0LDkgQEAgdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi1SZWZQdHI8TWVkaWFUcmFja0NvbnN0cmFpbnQ+IE1lZGlhVHJh
Y2tDb25zdHJhaW50OjpjcmVhdGUoY29uc3QgRGljdGlvbmFyeSYgY29uc3RyYWludCkKK1JlZjxN
ZWRpYVRyYWNrQ29uc3RyYWludD4gTWVkaWFUcmFja0NvbnN0cmFpbnQ6OmNyZWF0ZShjb25zdCBE
aWN0aW9uYXJ5JiBjb25zdHJhaW50KQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgTWVkaWFU
cmFja0NvbnN0cmFpbnQoY29uc3RyYWludCkpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IE1l
ZGlhVHJhY2tDb25zdHJhaW50KGNvbnN0cmFpbnQpKTsKIH0KIAogTWVkaWFUcmFja0NvbnN0cmFp
bnQ6Ok1lZGlhVHJhY2tDb25zdHJhaW50KGNvbnN0IERpY3Rpb25hcnkmIGNvbnN0cmFpbnQpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhVHJhY2tD
b25zdHJhaW50LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhVHJh
Y2tDb25zdHJhaW50LmgKaW5kZXggNWI5ZDcwNTIzY2JmNzhhY2MxZWVmNjdlMjZjNWQ4YTdiYTM3
NDkyZS4uYzJhODgyZmZkOTQ2MDk4MjUyMTU4OTFiYzc2ODEyN2ZiNDQxNmZjMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVRyYWNrQ29uc3RyYWlu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFUcmFja0Nv
bnN0cmFpbnQuaApAQCAtNDEsNyArNDEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNz
IE1lZGlhVHJhY2tDb25zdHJhaW50IDogcHVibGljIFJlZkNvdW50ZWQ8TWVkaWFUcmFja0NvbnN0
cmFpbnQ+LCBwdWJsaWMgU2NyaXB0V3JhcHBhYmxlIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVm
UHRyPE1lZGlhVHJhY2tDb25zdHJhaW50PiBjcmVhdGUoY29uc3QgRGljdGlvbmFyeSYpOworICAg
IHN0YXRpYyBSZWY8TWVkaWFUcmFja0NvbnN0cmFpbnQ+IGNyZWF0ZShjb25zdCBEaWN0aW9uYXJ5
Jik7CiAKICAgICB2aXJ0dWFsIH5NZWRpYVRyYWNrQ29uc3RyYWludCgpOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhVHJhY2tDb25zdHJhaW50
U2V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFUcmFja0Nv
bnN0cmFpbnRTZXQuY3BwCmluZGV4IDhjZDAyNDY1Zjg3YWNhNGFmMzg3ZDA0YjUxNTc0YWNiODQz
ZDExMjUuLjBiMDE5NTEzOTlmMmJlNjJlYWZlMWMxNTMyZTk2MjBkMmE4ZDliNWIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFUcmFja0NvbnN0cmFp
bnRTZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFU
cmFja0NvbnN0cmFpbnRTZXQuY3BwCkBAIC0zNCw5ICszNCw5IEBAIHVzaW5nIG5hbWVzcGFjZSBK
U0M7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUmVmUHRyPE1lZGlhVHJhY2tDb25zdHJhaW50
U2V0PiBNZWRpYVRyYWNrQ29uc3RyYWludFNldDo6Y3JlYXRlKGNvbnN0IERpY3Rpb25hcnkmIGNv
bnN0cmFpbnRzKQorUmVmPE1lZGlhVHJhY2tDb25zdHJhaW50U2V0PiBNZWRpYVRyYWNrQ29uc3Ry
YWludFNldDo6Y3JlYXRlKGNvbnN0IERpY3Rpb25hcnkmIGNvbnN0cmFpbnRzKQogewotICAgIHJl
dHVybiBhZG9wdFJlZihuZXcgTWVkaWFUcmFja0NvbnN0cmFpbnRTZXQoY29uc3RyYWludHMpKTsK
KyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBNZWRpYVRyYWNrQ29uc3RyYWludFNldChjb25zdHJh
aW50cykpOwogfQogCiBNZWRpYVRyYWNrQ29uc3RyYWludFNldDo6TWVkaWFUcmFja0NvbnN0cmFp
bnRTZXQoY29uc3QgRGljdGlvbmFyeSYgY29uc3RyYWludHMpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhVHJhY2tDb25zdHJhaW50U2V0LmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhVHJhY2tDb25zdHJhaW50U2V0
LmgKaW5kZXggZWNhMmU5YTc4Nzk0OWQzMzVkMmNhNjIzYjg5ODkzNTk0ZGVlMjJkNS4uMDljNTNj
MjhiY2VlNTk2ZTgyYzc4MjNkMGJiZGJmYWFhMmZhODQ1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVRyYWNrQ29uc3RyYWludFNldC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFUcmFja0NvbnN0cmFpbnRT
ZXQuaApAQCAtMzcsNyArMzcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIE1lZGlh
VHJhY2tDb25zdHJhaW50U2V0IDogcHVibGljIFJlZkNvdW50ZWQ8TWVkaWFUcmFja0NvbnN0cmFp
bnRTZXQ+LCBwdWJsaWMgU2NyaXB0V3JhcHBhYmxlIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVm
UHRyPE1lZGlhVHJhY2tDb25zdHJhaW50U2V0PiBjcmVhdGUoY29uc3QgRGljdGlvbmFyeSYpOwor
ICAgIHN0YXRpYyBSZWY8TWVkaWFUcmFja0NvbnN0cmFpbnRTZXQ+IGNyZWF0ZShjb25zdCBEaWN0
aW9uYXJ5Jik7CiAKICAgICB2aXJ0dWFsIH5NZWRpYVRyYWNrQ29uc3RyYWludFNldCgpOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhVHJhY2tD
b25zdHJhaW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlh
VHJhY2tDb25zdHJhaW50cy5jcHAKaW5kZXggY2JmMjFlNWU5NGMyYTk3YWE5ZTJiODliNDJlYWY2
MWI3NzlhOWQ2Yi4uYmU3ZGI4NjliOGRkMGI3ZjcwOGE2ZmRjNzc5NDgxOTY5ZmE3NGMwMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVRyYWNrQ29u
c3RyYWludHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVk
aWFUcmFja0NvbnN0cmFpbnRzLmNwcApAQCAtMzgsOSArMzgsOSBAQCB1c2luZyBuYW1lc3BhY2Ug
SlNDOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVJlZlB0cjxNZWRpYVRyYWNrQ29uc3RyYWlu
dHM+IE1lZGlhVHJhY2tDb25zdHJhaW50czo6Y3JlYXRlKFBhc3NSZWZQdHI8TWVkaWFDb25zdHJh
aW50c0ltcGw+IGNvbnN0cmFpbnRzKQorUmVmPE1lZGlhVHJhY2tDb25zdHJhaW50cz4gTWVkaWFU
cmFja0NvbnN0cmFpbnRzOjpjcmVhdGUoUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRzSW1wbD4g
Y29uc3RyYWludHMpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBNZWRpYVRyYWNrQ29uc3Ry
YWludHMoY29uc3RyYWludHMpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBNZWRpYVRyYWNr
Q29uc3RyYWludHMoY29uc3RyYWludHMpKTsKIH0KIAogTWVkaWFUcmFja0NvbnN0cmFpbnRzOjpN
ZWRpYVRyYWNrQ29uc3RyYWludHMoUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRzSW1wbD4gY29u
c3RyYWludHMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L01lZGlhVHJhY2tDb25zdHJhaW50cy5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9NZWRpYVRyYWNrQ29uc3RyYWludHMuaAppbmRleCA2Zjk1ZjU1MjExNzMwNmJjNGZhMWY5
YjM3M2QyOGM5NjI0ODYxYjI3Li4wMDk2MjQxYmNlYmZmMzFmNjdlODY4NzFiODk4MzU3ZmExMmQ0
MjFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlh
VHJhY2tDb25zdHJhaW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vTWVkaWFUcmFja0NvbnN0cmFpbnRzLmgKQEAgLTQyLDcgKzQyLDcgQEAgY2xhc3MgTWVkaWFU
cmFja0NvbnN0cmFpbnRzIDogcHVibGljIFJlZkNvdW50ZWQ8TWVkaWFUcmFja0NvbnN0cmFpbnRz
PiwgcHVibGljIFMKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5NZWRpYVRyYWNrQ29uc3RyYWludHMo
KSB7IH0KIAotICAgIHN0YXRpYyBSZWZQdHI8TWVkaWFUcmFja0NvbnN0cmFpbnRzPiBjcmVhdGUo
UGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRzSW1wbD4pOworICAgIHN0YXRpYyBSZWY8TWVkaWFU
cmFja0NvbnN0cmFpbnRzPiBjcmVhdGUoUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRzSW1wbD4p
OwogCiAgICAgVmVjdG9yPFBhc3NSZWZQdHI8TWVkaWFUcmFja0NvbnN0cmFpbnQ+PiBvcHRpb25h
bChib29sKSBjb25zdDsKICAgICBSZWZQdHI8TWVkaWFUcmFja0NvbnN0cmFpbnRTZXQ+IG1hbmRh
dG9yeShib29sKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaAppbmRleCBlYTM3ODcxZGFl
YjMzNDgxMGE4NmY1YTgwOGRmMDc0NzFjYWQxMjNkLi5jMTdlZjQwODQ2ZDJlM2ViODMyYjRjY2Fj
ZWE2YjQ1MGIzMzdmZGVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oCkBAIC0zNiw5ICszNiw5
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgTmF2aWdhdG9yVXNlck1lZGlhRXJyb3Ig
OiBwdWJsaWMgRE9NRXJyb3IgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPE5hdmln
YXRvclVzZXJNZWRpYUVycm9yPiBjcmVhdGUoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJp
bmcmIGNvbnN0cmFpbnROYW1lKQorICAgIHN0YXRpYyBSZWY8TmF2aWdhdG9yVXNlck1lZGlhRXJy
b3I+IGNyZWF0ZShjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgY29uc3RyYWludE5h
bWUpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IE5hdmlnYXRvclVzZXJNZWRp
YUVycm9yKG5hbWUsIGNvbnN0cmFpbnROYW1lKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigq
bmV3IE5hdmlnYXRvclVzZXJNZWRpYUVycm9yKG5hbWUsIGNvbnN0cmFpbnROYW1lKSk7CiAgICAg
fQogCiAgICAgdmlydHVhbCB+TmF2aWdhdG9yVXNlck1lZGlhRXJyb3IoKSB7IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDQ29uZmlndXJhdGlvbi5o
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENDb25maWd1cmF0aW9uLmgK
aW5kZXggNDEwNTFhOTM0OTZkNmJkMGJlNWM2NDA5NDZiNjMzOTBlM2I3MmIzOC4uNGZmYTk2ZTAy
ZTMyODFkY2MyNjgxNGMzODI2ZWFkNWI1MGUzODZlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENDb25maWd1cmF0aW9uLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENDb25maWd1cmF0aW9uLmgKQEAgLTQ0LDcgKzQ0
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBSVENDb25maWd1cmF0aW9uIDogcHVi
bGljIFJlZkNvdW50ZWQ8UlRDQ29uZmlndXJhdGlvbj4gewogcHVibGljOgotICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPFJUQ0NvbmZpZ3VyYXRpb24+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKG5l
dyBSVENDb25maWd1cmF0aW9uKCkpOyB9CisgICAgc3RhdGljIFJlZjxSVENDb25maWd1cmF0aW9u
PiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IFJUQ0NvbmZpZ3VyYXRpb24oKSk7IH0K
ICAgICB2aXJ0dWFsIH5SVENDb25maWd1cmF0aW9uKCkgeyB9CiAKICAgICB2b2lkIGFwcGVuZFNl
cnZlcihQYXNzUmVmUHRyPFJUQ0ljZVNlcnZlcj4gc2VydmVyKSB7IG1fcHJpdmF0ZS0+YXBwZW5k
U2VydmVyKHNlcnZlci0+cHJpdmF0ZVNlcnZlcigpKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENJY2VTZXJ2ZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDSWNlU2VydmVyLmgKaW5kZXggZWNhMjU4ZmI0NjI3MjIy
ZGFmMzczODlhODNlYTE3OTRmNGEyNjlmOC4uNDIxOGQyYjE3YjcxMTBjYjRiODQyZTE5ZDZmYmZl
NDE2ZTlkMDUyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENJY2VTZXJ2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ0ljZVNlcnZlci5oCkBAIC0zOCwxNCArMzgsMTQgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBjbGFzcyBSVENJY2VTZXJ2ZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxSVENJY2VTZXJ2ZXI+IHsK
IHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxSVENJY2VTZXJ2ZXI+IGNyZWF0ZShjb25z
dCBWZWN0b3I8U3RyaW5nPiYgdXJscywgY29uc3QgU3RyaW5nJiBjcmVkZW50aWFsLCBjb25zdCBT
dHJpbmcmIHVzZXJuYW1lKQorICAgIHN0YXRpYyBSZWY8UlRDSWNlU2VydmVyPiBjcmVhdGUoY29u
c3QgVmVjdG9yPFN0cmluZz4mIHVybHMsIGNvbnN0IFN0cmluZyYgY3JlZGVudGlhbCwgY29uc3Qg
U3RyaW5nJiB1c2VybmFtZSkKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgUlRD
SWNlU2VydmVyKHVybHMsIGNyZWRlbnRpYWwsIHVzZXJuYW1lKSk7CisgICAgICAgIHJldHVybiBh
ZG9wdFJlZigqbmV3IFJUQ0ljZVNlcnZlcih1cmxzLCBjcmVkZW50aWFsLCB1c2VybmFtZSkpOwog
ICAgIH0KIAotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFJUQ0ljZVNlcnZlcj4gY3JlYXRlKFBhc3NS
ZWZQdHI8UlRDSWNlU2VydmVyUHJpdmF0ZT4gc2VydmVyKQorICAgIHN0YXRpYyBSZWY8UlRDSWNl
U2VydmVyPiBjcmVhdGUoUGFzc1JlZlB0cjxSVENJY2VTZXJ2ZXJQcml2YXRlPiBzZXJ2ZXIpCiAg
ICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFJUQ0ljZVNlcnZlcihzZXJ2ZXIpKTsK
KyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUlRDSWNlU2VydmVyKHNlcnZlcikpOwogICAg
IH0KIAogICAgIHZpcnR1YWwgflJUQ0ljZVNlcnZlcigpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb24uY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb24u
Y3BwCmluZGV4IDg1YmZiNWMzMWU3NjRiNmU4MTg1MjkzMzU4Y2IxOTZiMDcxNTgwZDMuLmRkOTEz
MTExZTg0MTZlNjhlYjA2NjdkMzNhMjJiYzViODIwY2Y5NmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlv
bi5jcHAKQEAgLTQ2LDcgKzQ2LDcgQEAgc3RhdGljIGJvb2wgdmVyaWZ5VHlwZShjb25zdCBTdHJp
bmcmIHR5cGUpCiAgICAgcmV0dXJuIHR5cGUgPT0gIm9mZmVyIiB8fCB0eXBlID09ICJwcmFuc3dl
ciIgfHwgdHlwZSA9PSAiYW5zd2VyIjsKIH0KIAotUGFzc1JlZlB0cjxSVENTZXNzaW9uRGVzY3Jp
cHRpb24+IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbjo6Y3JlYXRlKGNvbnN0IERpY3Rpb25hcnkmIGRp
Y3Rpb25hcnksIEV4Y2VwdGlvbkNvZGUmIGVjKQorUmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlv
bj4gUlRDU2Vzc2lvbkRlc2NyaXB0aW9uOjpjcmVhdGUoY29uc3QgRGljdGlvbmFyeSYgZGljdGlv
bmFyeSwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAgU3RyaW5nIHR5cGU7CiAgICAgYm9vbCBv
ayA9IGRpY3Rpb25hcnkuZ2V0KCJ0eXBlIiwgdHlwZSk7CkBAIC02MiwxMyArNjIsMTMgQEAgUGFz
c1JlZlB0cjxSVENTZXNzaW9uRGVzY3JpcHRpb24+IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbjo6Y3Jl
YXRlKGNvbnN0IERpY3Rpb25hcnkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogCi0g
ICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBSVENTZXNzaW9uRGVzY3JpcHRpb24oUlRDU2Vzc2lvbkRl
c2NyaXB0aW9uRGVzY3JpcHRvcjo6Y3JlYXRlKHR5cGUsIHNkcCkpKTsKKyAgICByZXR1cm4gYWRv
cHRSZWYoKm5ldyBSVENTZXNzaW9uRGVzY3JpcHRpb24oUlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVz
Y3JpcHRvcjo6Y3JlYXRlKHR5cGUsIHNkcCkpKTsKIH0KIAotUGFzc1JlZlB0cjxSVENTZXNzaW9u
RGVzY3JpcHRpb24+IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbjo6Y3JlYXRlKFBhc3NSZWZQdHI8UlRD
U2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvcj4gZGVzY3JpcHRvcikKK1JlZlB0cjxSVENTZXNz
aW9uRGVzY3JpcHRpb24+IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbjo6Y3JlYXRlKFBhc3NSZWZQdHI8
UlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvcj4gZGVzY3JpcHRvcikKIHsKICAgICBBU1NF
UlQoZGVzY3JpcHRvcik7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBSVENTZXNzaW9uRGVzY3Jp
cHRpb24oZGVzY3JpcHRvcikpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFJUQ1Nlc3Npb25E
ZXNjcmlwdGlvbihkZXNjcmlwdG9yKSk7CiB9CiAKIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbjo6UlRD
U2Vzc2lvbkRlc2NyaXB0aW9uKFBhc3NSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3Jp
cHRvcj4gZGVzY3JpcHRvcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlvbi5oCmluZGV4IGZhZmUyYjY1YTZiODdh
ZjkzYjA1YTk2OTBiNmM4NDVkYjkxZjk5ZTEuLmJjYjMzNTQxNmJmYTUzMGJiZDhmMmRlNTdjOGQw
OWEzYjk2ZTdmZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb24uaApAQCAtNDYsOCArNDYsOCBAQCBjbGFz
cyBSVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yOwogCiBjbGFzcyBSVENTZXNzaW9uRGVz
Y3JpcHRpb24gOiBwdWJsaWMgUmVmQ291bnRlZDxSVENTZXNzaW9uRGVzY3JpcHRpb24+LCBwdWJs
aWMgU2NyaXB0V3JhcHBhYmxlIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxSVENT
ZXNzaW9uRGVzY3JpcHRpb24+IGNyZWF0ZShjb25zdCBEaWN0aW9uYXJ5JiwgRXhjZXB0aW9uQ29k
ZSYpOwotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlvbj4gY3JlYXRl
KFBhc3NSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvcj4pOworICAgIHN0YXRp
YyBSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uPiBjcmVhdGUoY29uc3QgRGljdGlvbmFyeSYs
IEV4Y2VwdGlvbkNvZGUmKTsKKyAgICBzdGF0aWMgUmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlv
bj4gY3JlYXRlKFBhc3NSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvcj4pOwog
ICAgIHZpcnR1YWwgflJUQ1Nlc3Npb25EZXNjcmlwdGlvbigpOwogCiAgICAgY29uc3QgU3RyaW5n
JiB0eXBlKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlvblJlcXVlc3RJbXBsLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVxdWVzdEltcGwu
Y3BwCmluZGV4IDRiMmFkN2VlMzgzOWU3ZmQxZGE5MzFhZDQ3NjMxMzY1NmQwMDJhNDQuLmQ3MTBk
YzE4ZjVlMjNjYjZlMTMwOGRmMjhmNjU2YTY4OWJjYjA2ZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVxdWVzdElt
cGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lv
bkRlc2NyaXB0aW9uUmVxdWVzdEltcGwuY3BwCkBAIC00MywxMSArNDMsMTEgQEAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi1QYXNzUmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlvblJlcXVlc3RJ
bXBsPiBSVENTZXNzaW9uRGVzY3JpcHRpb25SZXF1ZXN0SW1wbDo6Y3JlYXRlKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqIGNvbnRleHQsIFBhc3NSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uQ2Fs
bGJhY2s+IHN1Y2Nlc3NDYWxsYmFjaywgUGFzc1JlZlB0cjxSVENQZWVyQ29ubmVjdGlvbkVycm9y
Q2FsbGJhY2s+IGVycm9yQ2FsbGJhY2spCitSZWY8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVxdWVz
dEltcGw+IFJUQ1Nlc3Npb25EZXNjcmlwdGlvblJlcXVlc3RJbXBsOjpjcmVhdGUoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCogY29udGV4dCwgUGFzc1JlZlB0cjxSVENTZXNzaW9uRGVzY3JpcHRpb25D
YWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrLCBQYXNzUmVmUHRyPFJUQ1BlZXJDb25uZWN0aW9uRXJy
b3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjaykKIHsKLSAgICBSZWZQdHI8UlRDU2Vzc2lvbkRlc2Ny
aXB0aW9uUmVxdWVzdEltcGw+IHJlcXVlc3QgPSBhZG9wdFJlZihuZXcgUlRDU2Vzc2lvbkRlc2Ny
aXB0aW9uUmVxdWVzdEltcGwoY29udGV4dCwgc3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNhbGxiYWNr
KSk7CisgICAgUmVmPFJUQ1Nlc3Npb25EZXNjcmlwdGlvblJlcXVlc3RJbXBsPiByZXF1ZXN0ID0g
YWRvcHRSZWYoKm5ldyBSVENTZXNzaW9uRGVzY3JpcHRpb25SZXF1ZXN0SW1wbChjb250ZXh0LCBz
dWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2spKTsKICAgICByZXF1ZXN0LT5zdXNwZW5kSWZO
ZWVkZWQoKTsKLSAgICByZXR1cm4gcmVxdWVzdC5yZWxlYXNlKCk7CisgICAgcmV0dXJuIHJlcXVl
c3Q7CiB9CiAKIFJUQ1Nlc3Npb25EZXNjcmlwdGlvblJlcXVlc3RJbXBsOjpSVENTZXNzaW9uRGVz
Y3JpcHRpb25SZXF1ZXN0SW1wbChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBQYXNz
UmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlvbkNhbGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2ssIFBh
c3NSZWZQdHI8UlRDUGVlckNvbm5lY3Rpb25FcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTZXNzaW9u
RGVzY3JpcHRpb25SZXF1ZXN0SW1wbC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb25SZXF1ZXN0SW1wbC5oCmluZGV4IDJkNzhiNTA5OGVk
MTViZWYzY2U0ODliOTAzMmYyMTY4ZDkzY2Y0MmQuLmVkNjczYjhhZDY4ZWFkODc1MThiOWZjZmE3
OGJkMTVkODZkNWI4NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVxdWVzdEltcGwuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlvblJlcXVlc3RJbXBs
LmgKQEAgLTQ1LDcgKzQ1LDcgQEAgY2xhc3MgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uQ2FsbGJhY2s7
CiAKIGNsYXNzIFJUQ1Nlc3Npb25EZXNjcmlwdGlvblJlcXVlc3RJbXBsIDogcHVibGljIFJUQ1Nl
c3Npb25EZXNjcmlwdGlvblJlcXVlc3QsIHB1YmxpYyBBY3RpdmVET01PYmplY3QgewogcHVibGlj
OgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlvblJlcXVlc3RJbXBs
PiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8UlRDU2Vzc2lvbkRl
c2NyaXB0aW9uQ2FsbGJhY2s+LCBQYXNzUmVmUHRyPFJUQ1BlZXJDb25uZWN0aW9uRXJyb3JDYWxs
YmFjaz4pOworICAgIHN0YXRpYyBSZWY8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVxdWVzdEltcGw+
IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxSVENTZXNzaW9uRGVz
Y3JpcHRpb25DYWxsYmFjaz4sIFBhc3NSZWZQdHI8UlRDUGVlckNvbm5lY3Rpb25FcnJvckNhbGxi
YWNrPik7CiAgICAgdmlydHVhbCB+UlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVxdWVzdEltcGwoKTsK
IAogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0U3VjY2VlZGVkKFBhc3NSZWZQdHI8UlRDU2Vzc2lv
bkRlc2NyaXB0aW9uRGVzY3JpcHRvcj4pIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTdGF0c1JlcG9ydC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1N0YXRzUmVwb3J0LmNwcAppbmRleCAyNzkzN2Vi
YTNmMTk0NWU0NGI4YTI2ZTQxZTkxOThmZWI1OTdiYzZiLi45ODlhNzZmZmMwODY3MTNhMWY2MDZm
YWM1ZGQ0ZDE2Y2EzOTM5YjM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL1JUQ1N0YXRzUmVwb3J0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ1N0YXRzUmVwb3J0LmNwcApAQCAtMzMsOSArMzMsOSBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLVBhc3NSZWZQdHI8UlRDU3RhdHNSZXBvcnQ+IFJUQ1N0YXRzUmVw
b3J0OjpjcmVhdGUoY29uc3QgU3RyaW5nJiBpZCwgY29uc3QgU3RyaW5nJiB0eXBlLCBkb3VibGUg
dGltZXN0YW1wKQorUmVmPFJUQ1N0YXRzUmVwb3J0PiBSVENTdGF0c1JlcG9ydDo6Y3JlYXRlKGNv
bnN0IFN0cmluZyYgaWQsIGNvbnN0IFN0cmluZyYgdHlwZSwgZG91YmxlIHRpbWVzdGFtcCkKIHsK
LSAgICByZXR1cm4gYWRvcHRSZWYobmV3IFJUQ1N0YXRzUmVwb3J0KGlkLCB0eXBlLCB0aW1lc3Rh
bXApKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBSVENTdGF0c1JlcG9ydChpZCwgdHlwZSwg
dGltZXN0YW1wKSk7CiB9CiAKIFJUQ1N0YXRzUmVwb3J0OjpSVENTdGF0c1JlcG9ydChjb25zdCBT
dHJpbmcmIGlkLCBjb25zdCBTdHJpbmcmIHR5cGUsIGRvdWJsZSB0aW1lc3RhbXApCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1N0YXRzUmVwb3J0Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1N0YXRzUmVwb3J0LmgKaW5k
ZXggZjdiOGFmZTI5M2Q2MjllOTdhNGI3MjlkMDUzNjljYzQyZTAwNmQyZC4uZjkzYTNkZDEyMDhj
Y2VhMmM3MTBhMTgxOGQ5ZjZhM2JjYzUzZDRjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTdGF0c1JlcG9ydC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU3RhdHNSZXBvcnQuaApAQCAtMzYsNyArMzYsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFJUQ1N0YXRzUmVwb3J0IDogcHVibGljIFJlZkNv
dW50ZWQ8UlRDU3RhdHNSZXBvcnQ+LCBwdWJsaWMgU2NyaXB0V3JhcHBhYmxlIHsKIHB1YmxpYzoK
LSAgICBzdGF0aWMgUGFzc1JlZlB0cjxSVENTdGF0c1JlcG9ydD4gY3JlYXRlKGNvbnN0IFN0cmlu
ZyYgaWQsIGNvbnN0IFN0cmluZyYgdHlwZSwgZG91YmxlIHRpbWVzdGFtcCk7CisgICAgc3RhdGlj
IFJlZjxSVENTdGF0c1JlcG9ydD4gY3JlYXRlKGNvbnN0IFN0cmluZyYgaWQsIGNvbnN0IFN0cmlu
ZyYgdHlwZSwgZG91YmxlIHRpbWVzdGFtcCk7CiAKICAgICBkb3VibGUgdGltZXN0YW1wKCkgY29u
c3QgeyByZXR1cm4gbV90aW1lc3RhbXA7IH0KICAgICBTdHJpbmcgaWQoKSB7IHJldHVybiBtX2lk
OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1N0
YXRzUmVxdWVzdEltcGwuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENTdGF0c1JlcXVlc3RJbXBsLmNwcAppbmRleCA5MTFhMmY5YzcwMGY1MWRiYTI1NDE2M2ZlM2E2
YmYyYzRjYTdhMzg1Li5kZWIxOWE5YWY5MGRjZmM0NTYzNzM4NjhlMTVmODgzNWRmYmU0YzhmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1N0YXRzUmVx
dWVzdEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
U3RhdHNSZXF1ZXN0SW1wbC5jcHAKQEAgLTM2LDExICszNiwxMSBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLVBhc3NSZWZQdHI8UlRDU3RhdHNSZXF1ZXN0SW1wbD4gUlRDU3RhdHNSZXF1ZXN0
SW1wbDo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFBhc3NSZWZQdHI8
UlRDU3RhdHNDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrLCBQYXNzUmVmUHRyPFJUQ1BlZXJDb25u
ZWN0aW9uRXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjaywgUGFzc1JlZlB0cjxNZWRpYVN0cmVh
bVRyYWNrUHJpdmF0ZT4gc2VsZWN0b3IpCitSZWY8UlRDU3RhdHNSZXF1ZXN0SW1wbD4gUlRDU3Rh
dHNSZXF1ZXN0SW1wbDo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFBh
c3NSZWZQdHI8UlRDU3RhdHNDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrLCBQYXNzUmVmUHRyPFJU
Q1BlZXJDb25uZWN0aW9uRXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjaywgUGFzc1JlZlB0cjxN
ZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZT4gc2VsZWN0b3IpCiB7Ci0gICAgUmVmUHRyPFJUQ1N0YXRz
UmVxdWVzdEltcGw+IHJlcXVlc3QgPSBhZG9wdFJlZihuZXcgUlRDU3RhdHNSZXF1ZXN0SW1wbChj
b250ZXh0LCBzdWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2ssIHNlbGVjdG9yKSk7CisgICAg
UmVmPFJUQ1N0YXRzUmVxdWVzdEltcGw+IHJlcXVlc3QgPSBhZG9wdFJlZigqbmV3IFJUQ1N0YXRz
UmVxdWVzdEltcGwoY29udGV4dCwgc3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNhbGxiYWNrLCBzZWxl
Y3RvcikpOwogICAgIHJlcXVlc3QtPnN1c3BlbmRJZk5lZWRlZCgpOwotICAgIHJldHVybiByZXF1
ZXN0LnJlbGVhc2UoKTsKKyAgICByZXR1cm4gcmVxdWVzdDsKIH0KIAogUlRDU3RhdHNSZXF1ZXN0
SW1wbDo6UlRDU3RhdHNSZXF1ZXN0SW1wbChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0
LCBQYXNzUmVmUHRyPFJUQ1N0YXRzQ2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjaywgUGFzc1JlZlB0
cjxSVENQZWVyQ29ubmVjdGlvbkVycm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2ssIFBhc3NSZWZQ
dHI8TWVkaWFTdHJlYW1UcmFja1ByaXZhdGU+IHNlbGVjdG9yKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTdGF0c1JlcXVlc3RJbXBsLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1N0YXRzUmVxdWVzdEltcGwuaAppbmRl
eCA0ZThlZDcxOTZkOWM4ZjkwYTJhM2IzNjUwMGY5ZmM3ODA2ZjFkYzMxLi43YjYyMjc2NmZhODY5
YjYxMTRmZDQ1ZTNjOTk4MTRlZmU4Yzc3ZDlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ1N0YXRzUmVxdWVzdEltcGwuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1N0YXRzUmVxdWVzdEltcGwuaApAQCAtNDEsNyAr
NDEsNyBAQCBjbGFzcyBSVENQZWVyQ29ubmVjdGlvbkVycm9yQ2FsbGJhY2s7CiAKIGNsYXNzIFJU
Q1N0YXRzUmVxdWVzdEltcGwgOiBwdWJsaWMgUlRDU3RhdHNSZXF1ZXN0LCBwdWJsaWMgQWN0aXZl
RE9NT2JqZWN0IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxSVENTdGF0c1JlcXVl
c3RJbXBsPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8UlRDU3Rh
dHNDYWxsYmFjaz4sIFBhc3NSZWZQdHI8UlRDUGVlckNvbm5lY3Rpb25FcnJvckNhbGxiYWNrPiwg
UGFzc1JlZlB0cjxNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZT4pOworICAgIHN0YXRpYyBSZWY8UlRD
U3RhdHNSZXF1ZXN0SW1wbD4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVm
UHRyPFJUQ1N0YXRzQ2FsbGJhY2s+LCBQYXNzUmVmUHRyPFJUQ1BlZXJDb25uZWN0aW9uRXJyb3JD
YWxsYmFjaz4sIFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1UcmFja1ByaXZhdGU+KTsKICAgICB2aXJ0
dWFsIH5SVENTdGF0c1JlcXVlc3RJbXBsKCk7CiAKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8UlRD
U3RhdHNSZXNwb25zZUJhc2U+IGNyZWF0ZVJlc3BvbnNlKCkgb3ZlcnJpZGU7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1N0YXRzUmVzcG9uc2UuY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTdGF0c1Jlc3BvbnNlLmNw
cAppbmRleCBjM2I0MWZlMTkyY2IwZTQ4Yjk2OTUwMmY2ZDUxMTM0YWNmMWM4N2NlLi5iYjNlZTMy
NzNkZjRkMDVhZjYxM2Y3OWYzZGI0MDI4OWQ1NTJhN2NhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1N0YXRzUmVzcG9uc2UuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU3RhdHNSZXNwb25zZS5jcHAKQEAgLTMw
LDkgKzMwLDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1QYXNzUmVmUHRyPFJUQ1N0YXRz
UmVzcG9uc2U+IFJUQ1N0YXRzUmVzcG9uc2U6OmNyZWF0ZSgpCitSZWY8UlRDU3RhdHNSZXNwb25z
ZT4gUlRDU3RhdHNSZXNwb25zZTo6Y3JlYXRlKCkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3
IFJUQ1N0YXRzUmVzcG9uc2UoKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUlRDU3RhdHNS
ZXNwb25zZSgpKTsKIH0KIAogUlRDU3RhdHNSZXNwb25zZTo6UlRDU3RhdHNSZXNwb25zZSgpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1N0YXRzUmVz
cG9uc2UuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU3RhdHNSZXNw
b25zZS5oCmluZGV4IDNhNDU4ZmY5OTJjOWVhNTc1MTEzNjhhY2I2MTYzMjU4Y2QwYmY0YjUuLmQ0
MWI5YjhkNTkzYmYxYWQ5MzZmZDY0NGM5ZDY0NjRjYWI4OTA4MDMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU3RhdHNSZXNwb25zZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU3RhdHNSZXNwb25zZS5oCkBAIC00
MSw3ICs0MSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUlRDU3RhdHNSZXNwb25z
ZSA6IHB1YmxpYyBSVENTdGF0c1Jlc3BvbnNlQmFzZSwgcHVibGljIFNjcmlwdFdyYXBwYWJsZSB7
CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8UlRDU3RhdHNSZXNwb25zZT4gY3JlYXRl
KCk7CisgICAgc3RhdGljIFJlZjxSVENTdGF0c1Jlc3BvbnNlPiBjcmVhdGUoKTsKIAogICAgIGNv
bnN0IFZlY3RvcjxSZWZQdHI8UlRDU3RhdHNSZXBvcnQ+PiYgcmVzdWx0KCkgY29uc3QgeyByZXR1
cm4gbV9yZXN1bHQ7IH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vUlRDVm9pZFJlcXVlc3RJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vUlRDVm9pZFJlcXVlc3RJbXBsLmNwcAppbmRleCBiN2RiMjFiM2Y4MzA1OGQ1
NTlmM2ZmNjhhMDJhY2Q0ZGMwMmEwZmJkLi44MmY4YTEyMmRkMzA5ZTNhZDBlNDM5NGVjOWNjMzVl
ZTAwOWRhZDM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ1ZvaWRSZXF1ZXN0SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENWb2lkUmVxdWVzdEltcGwuY3BwCkBAIC00MiwxMSArNDIsMTEgQEAKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi1QYXNzUmVmUHRyPFJUQ1ZvaWRSZXF1ZXN0SW1wbD4gUlRDVm9p
ZFJlcXVlc3RJbXBsOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgUGFz
c1JlZlB0cjxWb2lkQ2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjaywgUGFzc1JlZlB0cjxSVENQZWVy
Q29ubmVjdGlvbkVycm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2spCitSZWY8UlRDVm9pZFJlcXVl
c3RJbXBsPiBSVENWb2lkUmVxdWVzdEltcGw6OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiBjb250ZXh0LCBQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrLCBQYXNz
UmVmUHRyPFJUQ1BlZXJDb25uZWN0aW9uRXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjaykKIHsK
LSAgICBSZWZQdHI8UlRDVm9pZFJlcXVlc3RJbXBsPiByZXF1ZXN0ID0gYWRvcHRSZWYobmV3IFJU
Q1ZvaWRSZXF1ZXN0SW1wbChjb250ZXh0LCBzdWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2sp
KTsKKyAgICBSZWY8UlRDVm9pZFJlcXVlc3RJbXBsPiByZXF1ZXN0ID0gYWRvcHRSZWYoKm5ldyBS
VENWb2lkUmVxdWVzdEltcGwoY29udGV4dCwgc3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNhbGxiYWNr
KSk7CiAgICAgcmVxdWVzdC0+c3VzcGVuZElmTmVlZGVkKCk7Ci0gICAgcmV0dXJuIHJlcXVlc3Qu
cmVsZWFzZSgpOworICAgIHJldHVybiByZXF1ZXN0OwogfQogCiBSVENWb2lkUmVxdWVzdEltcGw6
OlJUQ1ZvaWRSZXF1ZXN0SW1wbChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBQYXNz
UmVmUHRyPFZvaWRDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrLCBQYXNzUmVmUHRyPFJUQ1BlZXJD
b25uZWN0aW9uRXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjaykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDVm9pZFJlcXVlc3RJbXBsLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1ZvaWRSZXF1ZXN0SW1wbC5oCmluZGV4
IGE0MDNlYjI0Y2YyZGYzNmFmMDQ4OTEyNWUwYzhmMjQyYTkxMzRhYTIuLjk0YjhiODk5ODlhZGNm
MGFlYTA0NTJiNjgwNmE0NGNlM2EzOWEyNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vUlRDVm9pZFJlcXVlc3RJbXBsLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENWb2lkUmVxdWVzdEltcGwuaApAQCAtNDQsNyArNDQs
NyBAQCBjbGFzcyBWb2lkQ2FsbGJhY2s7CiAKIGNsYXNzIFJUQ1ZvaWRSZXF1ZXN0SW1wbCA6IHB1
YmxpYyBSVENWb2lkUmVxdWVzdCwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7CiBwdWJsaWM6Ci0g
ICAgc3RhdGljIFBhc3NSZWZQdHI8UlRDVm9pZFJlcXVlc3RJbXBsPiBjcmVhdGUoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNrPiwgUGFzc1JlZlB0cjxSVENQ
ZWVyQ29ubmVjdGlvbkVycm9yQ2FsbGJhY2s+KTsKKyAgICBzdGF0aWMgUmVmPFJUQ1ZvaWRSZXF1
ZXN0SW1wbD4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPFZvaWRD
YWxsYmFjaz4sIFBhc3NSZWZQdHI8UlRDUGVlckNvbm5lY3Rpb25FcnJvckNhbGxiYWNrPik7CiAg
ICAgdmlydHVhbCB+UlRDVm9pZFJlcXVlc3RJbXBsKCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgcmVx
dWVzdFN1Y2NlZWRlZCgpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9Tb3VyY2VJbmZvLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vU291cmNlSW5mby5jcHAKaW5kZXggYjExNmYyZmQxNTE4NDVmN2U2NjlmZTA0
ODg5Y2M5YzRhZDRjMTAyMC4uNGJiNGVmODYwZjQ2N2U0NmI4NTVmM2FjM2EyNTNjZDYyMjQ2Nzgz
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Tb3VyY2VJ
bmZvLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1NvdXJjZUlu
Zm8uY3BwCkBAIC0zMyw5ICszMyw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUGFzc1Jl
ZlB0cjxTb3VyY2VJbmZvPiBTb3VyY2VJbmZvOjpjcmVhdGUoUGFzc1JlZlB0cjxUcmFja1NvdXJj
ZUluZm8+IHRyYWNrU291cmNlSW5mbykKK1JlZjxTb3VyY2VJbmZvPiBTb3VyY2VJbmZvOjpjcmVh
dGUoUGFzc1JlZlB0cjxUcmFja1NvdXJjZUluZm8+IHRyYWNrU291cmNlSW5mbykKIHsKLSAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IFNvdXJjZUluZm8odHJhY2tTb3VyY2VJbmZvKSk7CisgICAgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgU291cmNlSW5mbyh0cmFja1NvdXJjZUluZm8pKTsKIH0KIAogU291
cmNlSW5mbzo6U291cmNlSW5mbyhQYXNzUmVmUHRyPFRyYWNrU291cmNlSW5mbz4gdHJhY2tTb3Vy
Y2VJbmZvKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9T
b3VyY2VJbmZvLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1NvdXJjZUlu
Zm8uaAppbmRleCAyM2YxNjJlMzc4ZjFlNWZjOTNlOWUxY2Q4YmNiZGY3ZDIxNDRlNTNmLi5lNWFi
ZTBjZjRhNjAxZmNhOWM4ZTY5YmZkYTA1MmRhMDNmODc5ZmZiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1NvdXJjZUluZm8uaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1NvdXJjZUluZm8uaApAQCAtNDAsNyArNDAsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNvdXJjZUluZm8gOiBwdWJsaWMgUmVmQ291bnRl
ZDxTb3VyY2VJbmZvPiwgcHVibGljIFNjcmlwdFdyYXBwYWJsZSB7CiBwdWJsaWM6Ci0gICAgc3Rh
dGljIFBhc3NSZWZQdHI8U291cmNlSW5mbz4gY3JlYXRlKFBhc3NSZWZQdHI8VHJhY2tTb3VyY2VJ
bmZvPik7CisgICAgc3RhdGljIFJlZjxTb3VyY2VJbmZvPiBjcmVhdGUoUGFzc1JlZlB0cjxUcmFj
a1NvdXJjZUluZm8+KTsKIAogICAgIGNvbnN0IEF0b21pY1N0cmluZyYgc291cmNlSWQoKSBjb25z
dCB7IHJldHVybiBtX3RyYWNrU291cmNlSW5mby0+aWQoKTsgfQogICAgIGNvbnN0IEF0b21pY1N0
cmluZyYgbGFiZWwoKSBjb25zdCB7IHJldHVybiBtX3RyYWNrU291cmNlSW5mby0+bGFiZWwoKTsg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVk
aWFSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1l
ZGlhUmVxdWVzdC5jcHAKaW5kZXggNGE5YWU2M2U1MWI3MWVkZTcwZGFiMzQ0MjZhMzBlMjBmNTUz
NjgyOC4uZjBmYzYzYTdlZjgwOGRiMjc5NWE2MjU3NWE2NDUxMGFjZmY1MzA0OCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVl
c3QuY3BwCkBAIC03MSw3ICs3MSw3IEBAIHN0YXRpYyBQYXNzUmVmUHRyPE1lZGlhQ29uc3RyYWlu
dHM+IHBhcnNlT3B0aW9ucyhjb25zdCBEaWN0aW9uYXJ5JiBvcHRpb25zLCBjb25zCiAgICAgcmV0
dXJuIGNvbnN0cmFpbnRzLnJlbGVhc2UoKTsKIH0KIAotUGFzc1JlZlB0cjxVc2VyTWVkaWFSZXF1
ZXN0PiBVc2VyTWVkaWFSZXF1ZXN0OjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29u
dGV4dCwgVXNlck1lZGlhQ29udHJvbGxlciogY29udHJvbGxlciwgY29uc3QgRGljdGlvbmFyeSYg
b3B0aW9ucywgUGFzc1JlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2s+IHN1
Y2Nlc3NDYWxsYmFjaywgUGFzc1JlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNr
PiBlcnJvckNhbGxiYWNrLCBFeGNlcHRpb25Db2RlJiBlYykKK1JlZlB0cjxVc2VyTWVkaWFSZXF1
ZXN0PiBVc2VyTWVkaWFSZXF1ZXN0OjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29u
dGV4dCwgVXNlck1lZGlhQ29udHJvbGxlciogY29udHJvbGxlciwgY29uc3QgRGljdGlvbmFyeSYg
b3B0aW9ucywgUGFzc1JlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2s+IHN1
Y2Nlc3NDYWxsYmFjaywgUGFzc1JlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNr
PiBlcnJvckNhbGxiYWNrLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBBU1NFUlQoc3VjY2Vz
c0NhbGxiYWNrKTsKIApAQCAtODYsNyArODYsNyBAQCBQYXNzUmVmUHRyPFVzZXJNZWRpYVJlcXVl
c3Q+IFVzZXJNZWRpYVJlcXVlc3Q6OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjbwog
ICAgIHJldHVybiBVc2VyTWVkaWFSZXF1ZXN0OjpjcmVhdGUoY29udGV4dCwgY29udHJvbGxlciwg
b3B0aW9ucywgV1RGOjptb3ZlKHJlc29sdmVDYWxsYmFjayksIFdURjo6bW92ZShyZWplY3RDYWxs
YmFjayksIGVjKTsKIH0KIAotUGFzc1JlZlB0cjxVc2VyTWVkaWFSZXF1ZXN0PiBVc2VyTWVkaWFS
ZXF1ZXN0OjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgVXNlck1lZGlh
Q29udHJvbGxlciogY29udHJvbGxlciwgY29uc3QgRGljdGlvbmFyeSYgb3B0aW9ucywgTWVkaWFE
ZXZpY2VzOjpSZXNvbHZlQ2FsbGJhY2sgcmVzb2x2ZUNhbGxiYWNrLCBNZWRpYURldmljZXM6OlJl
amVjdENhbGxiYWNrIHJlamVjdENhbGxiYWNrLCBFeGNlcHRpb25Db2RlJiBlYykKK1JlZlB0cjxV
c2VyTWVkaWFSZXF1ZXN0PiBVc2VyTWVkaWFSZXF1ZXN0OjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCogY29udGV4dCwgVXNlck1lZGlhQ29udHJvbGxlciogY29udHJvbGxlciwgY29uc3Qg
RGljdGlvbmFyeSYgb3B0aW9ucywgTWVkaWFEZXZpY2VzOjpSZXNvbHZlQ2FsbGJhY2sgcmVzb2x2
ZUNhbGxiYWNrLCBNZWRpYURldmljZXM6OlJlamVjdENhbGxiYWNrIHJlamVjdENhbGxiYWNrLCBF
eGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBBU1NFUlQocmVzb2x2ZUNhbGxiYWNrICYmIHJlamVj
dENhbGxiYWNrKTsKIApAQCAtMTAxLDcgKzEwMSw3IEBAIFBhc3NSZWZQdHI8VXNlck1lZGlhUmVx
dWVzdD4gVXNlck1lZGlhUmVxdWVzdDo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNv
CiAgICAgaWYgKCFhdWRpb0NvbnN0cmFpbnRzICYmICF2aWRlb0NvbnN0cmFpbnRzKQogICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKIAotICAgIHJldHVybiBhZG9wdFJlZihuZXcgVXNlck1lZGlhUmVx
dWVzdChjb250ZXh0LCBjb250cm9sbGVyLCBhdWRpb0NvbnN0cmFpbnRzLnJlbGVhc2UoKSwgdmlk
ZW9Db25zdHJhaW50cy5yZWxlYXNlKCksIFdURjo6bW92ZShyZXNvbHZlQ2FsbGJhY2spLCBXVEY6
Om1vdmUocmVqZWN0Q2FsbGJhY2spKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgVXNlck1l
ZGlhUmVxdWVzdChjb250ZXh0LCBjb250cm9sbGVyLCBhdWRpb0NvbnN0cmFpbnRzLnJlbGVhc2Uo
KSwgdmlkZW9Db25zdHJhaW50cy5yZWxlYXNlKCksIFdURjo6bW92ZShyZXNvbHZlQ2FsbGJhY2sp
LCBXVEY6Om1vdmUocmVqZWN0Q2FsbGJhY2spKSk7CiB9CiAKIFVzZXJNZWRpYVJlcXVlc3Q6OlVz
ZXJNZWRpYVJlcXVlc3QoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgVXNlck1lZGlh
Q29udHJvbGxlciogY29udHJvbGxlciwgUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRzPiBhdWRp
b0NvbnN0cmFpbnRzLCBQYXNzUmVmUHRyPE1lZGlhQ29uc3RyYWludHM+IHZpZGVvQ29uc3RyYWlu
dHMsIE1lZGlhRGV2aWNlczo6UmVzb2x2ZUNhbGxiYWNrIHJlc29sdmVDYWxsYmFjaywgTWVkaWFE
ZXZpY2VzOjpSZWplY3RDYWxsYmFjayByZWplY3RDYWxsYmFjaykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlhUmVxdWVzdC5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmgKaW5kZXggMGM2
ODRhZGQyYmYzMTEwZWQyZDJhNTNhNTI2ZDZiNWUzNDQ2Zjc0NC4uZTM1OWE5MTM0M2E2ZjEzMzBh
ODEwZTMyOTU5ZWUzNTRmOTk3NzY2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmgKQEAgLTU4LDggKzU4LDggQEAgdHlw
ZWRlZiBpbnQgRXhjZXB0aW9uQ29kZTsKIAogY2xhc3MgVXNlck1lZGlhUmVxdWVzdCA6IHB1Ymxp
YyBNZWRpYVN0cmVhbUNyZWF0aW9uQ2xpZW50LCBwdWJsaWMgQ29udGV4dERlc3RydWN0aW9uT2Jz
ZXJ2ZXIgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFVzZXJNZWRpYVJlcXVlc3Q+
IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgVXNlck1lZGlhQ29udHJvbGxlciosIGNv
bnN0IERpY3Rpb25hcnkmIG9wdGlvbnMsIFBhc3NSZWZQdHI8TmF2aWdhdG9yVXNlck1lZGlhU3Vj
Y2Vzc0NhbGxiYWNrPiwgUGFzc1JlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNr
PiwgRXhjZXB0aW9uQ29kZSYpOwotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFVzZXJNZWRpYVJlcXVl
c3Q+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgVXNlck1lZGlhQ29udHJvbGxlcios
IGNvbnN0IERpY3Rpb25hcnkmIG9wdGlvbnMsIE1lZGlhRGV2aWNlczo6UmVzb2x2ZUNhbGxiYWNr
LCBNZWRpYURldmljZXM6OlJlamVjdENhbGxiYWNrLCBFeGNlcHRpb25Db2RlJik7CisgICAgc3Rh
dGljIFJlZlB0cjxVc2VyTWVkaWFSZXF1ZXN0PiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCosIFVzZXJNZWRpYUNvbnRyb2xsZXIqLCBjb25zdCBEaWN0aW9uYXJ5JiBvcHRpb25zLCBQYXNz
UmVmUHRyPE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjaz4sIFBhc3NSZWZQdHI8TmF2
aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjaz4sIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICBzdGF0
aWMgUmVmUHRyPFVzZXJNZWRpYVJlcXVlc3Q+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiwgVXNlck1lZGlhQ29udHJvbGxlciosIGNvbnN0IERpY3Rpb25hcnkmIG9wdGlvbnMsIE1lZGlh
RGV2aWNlczo6UmVzb2x2ZUNhbGxiYWNrLCBNZWRpYURldmljZXM6OlJlamVjdENhbGxiYWNrLCBF
eGNlcHRpb25Db2RlJik7CiAgICAgflVzZXJNZWRpYVJlcXVlc3QoKTsKIAogICAgIFdFQkNPUkVf
RVhQT1JUIFNlY3VyaXR5T3JpZ2luKiBzZWN1cml0eU9yaWdpbigpIGNvbnN0OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9xdW90YS9TdG9yYWdlSW5mby5oIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9xdW90YS9TdG9yYWdlSW5mby5oCmluZGV4IGRkNTA1NzliZjA4YjAwZjUy
NzE0NGE4ZGU0N2I3MTExMDg3OTM2ZTYuLjdjNTI2M2MzMDFkYjFkY2VhY2NiM2JjZDMxY2ZkMzZm
NGVhNTQ4MDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcXVvdGEvU3RvcmFn
ZUluZm8uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3F1b3RhL1N0b3JhZ2VJbmZvLmgK
QEAgLTUyLDkgKzUyLDkgQEAgcHVibGljOgogICAgICAgICBQRVJTSVNURU5ULAogICAgIH07CiAK
LSAgICBzdGF0aWMgUGFzc1JlZlB0cjxTdG9yYWdlSW5mbz4gY3JlYXRlKCkKKyAgICBzdGF0aWMg
UmVmPFN0b3JhZ2VJbmZvPiBjcmVhdGUoKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVm
KG5ldyBTdG9yYWdlSW5mbygpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3RvcmFn
ZUluZm8oKSk7CiAgICAgfQogCiAgICAgdm9pZCBxdWVyeVVzYWdlQW5kUXVvdGEoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCosIGludCBzdG9yYWdlVHlwZSwgUGFzc1JlZlB0cjxTdG9yYWdlVXNhZ2VD
YWxsYmFjaz4sIFBhc3NSZWZQdHI8U3RvcmFnZUVycm9yQ2FsbGJhY2s+KTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcXVvdGEvU3RvcmFnZVF1b3RhLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3F1b3RhL1N0b3JhZ2VRdW90YS5oCmluZGV4IDI2NTA0Zjk3NmZlOGI4ZDNi
N2RmNGJmYjgwODIyMzU1MWQxMjlmZmMuLjViOWQzOWEyZWUzOGU1YmUwMWJjNWNhZWNiYmM1NzM1
MzA4MWU4MDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcXVvdGEvU3RvcmFn
ZVF1b3RhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9xdW90YS9TdG9yYWdlUXVvdGEu
aApAQCAtNTAsOSArNTAsOSBAQCBwdWJsaWM6CiAgICAgICAgIFBlcnNpc3RlbnQsCiAgICAgfTsK
IAotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFN0b3JhZ2VRdW90YT4gY3JlYXRlKFR5cGUgdHlwZSkK
KyAgICBzdGF0aWMgUmVmPFN0b3JhZ2VRdW90YT4gY3JlYXRlKFR5cGUgdHlwZSkKICAgICB7Ci0g
ICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgU3RvcmFnZVF1b3RhKHR5cGUpKTsKKyAgICAgICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgU3RvcmFnZVF1b3RhKHR5cGUpKTsKICAgICB9CiAKICAgICB2
b2lkIHF1ZXJ5VXNhZ2VBbmRRdW90YShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0
cjxTdG9yYWdlVXNhZ2VDYWxsYmFjaz4sIFBhc3NSZWZQdHI8U3RvcmFnZUVycm9yQ2FsbGJhY2s+
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFN5bnRo
ZXNpcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXMu
Y3BwCmluZGV4IDVkZDQ3Y2NlZmUyZDRjMjU4MmZlYjY3ZThlOGY4YjgyZWJkNDhiYmQuLjc4NTAz
NDBhMTBhN2UzOTQ3NzQ5YzIwMDQwZTY4MGM1YTFiMzRkZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFN5bnRoZXNpcy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoU3ludGhlc2lzLmNwcApAQCAtMzcsOSArMzcsOSBA
QAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgCi1QYXNzUmVmUHRyPFNwZWVjaFN5bnRoZXNp
cz4gU3BlZWNoU3ludGhlc2lzOjpjcmVhdGUoKQorUmVmPFNwZWVjaFN5bnRoZXNpcz4gU3BlZWNo
U3ludGhlc2lzOjpjcmVhdGUoKQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgU3BlZWNoU3lu
dGhlc2lzKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTcGVlY2hTeW50aGVzaXMpOwogfQog
ICAgIAogU3BlZWNoU3ludGhlc2lzOjpTcGVlY2hTeW50aGVzaXMoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoU3ludGhlc2lzLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXMuaAppbmRleCBkYTYxZjkwOTU2MzM4
MjI3MWZmYzUyMTZhMDgwMmFlYjkzZWQ1YTljLi4zMjIwMzMwMDYyYmNmNmM0NWJkZmZmZTZkZDQ5
NzdlYzljYWQxN2U0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9T
cGVlY2hTeW50aGVzaXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVl
Y2hTeW50aGVzaXMuaApAQCAtNDQsNyArNDQsNyBAQCBjbGFzcyBTcGVlY2hTeW50aGVzaXNWb2lj
ZTsKICAgICAKIGNsYXNzIFNwZWVjaFN5bnRoZXNpcyA6IHB1YmxpYyBQbGF0Zm9ybVNwZWVjaFN5
bnRoZXNpemVyQ2xpZW50LCBwdWJsaWMgUmVmQ291bnRlZDxTcGVlY2hTeW50aGVzaXM+IHsKIHB1
YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxTcGVlY2hTeW50aGVzaXM+IGNyZWF0ZSgpOwor
ICAgIHN0YXRpYyBSZWY8U3BlZWNoU3ludGhlc2lzPiBjcmVhdGUoKTsKICAgICAKICAgICBib29s
IHBlbmRpbmcoKSBjb25zdDsKICAgICBib29sIHNwZWFraW5nKCkgY29uc3Q7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXNVdHRlcmFuY2Uu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoU3ludGhlc2lzVXR0ZXJh
bmNlLmNwcAppbmRleCAwYjZjNzRlNjlhNDFjMTc5ZmIxY2IwZjc0N2FlNjRhZGU2NzVhMWU0Li44
ZTc5ZTlkNGY5YzFjNjczMTY2OGEzMzViNGQ2YWU0OTUxZGI4ZmUwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXNVdHRlcmFuY2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFN5bnRoZXNpc1V0dGVyYW5j
ZS5jcHAKQEAgLTMwLDkgKzMwLDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIAotUGFz
c1JlZlB0cjxTcGVlY2hTeW50aGVzaXNVdHRlcmFuY2U+IFNwZWVjaFN5bnRoZXNpc1V0dGVyYW5j
ZTo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIGNvbnN0IFN0cmluZyYg
dGV4dCkKK1JlZjxTcGVlY2hTeW50aGVzaXNVdHRlcmFuY2U+IFNwZWVjaFN5bnRoZXNpc1V0dGVy
YW5jZTo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIGNvbnN0IFN0cmlu
ZyYgdGV4dCkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNwZWVjaFN5bnRoZXNpc1V0dGVy
YW5jZShjb250ZXh0LCB0ZXh0KSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3BlZWNoU3lu
dGhlc2lzVXR0ZXJhbmNlKGNvbnRleHQsIHRleHQpKTsKIH0KIAogU3BlZWNoU3ludGhlc2lzVXR0
ZXJhbmNlOjpTcGVlY2hTeW50aGVzaXNVdHRlcmFuY2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYg
Y29udGV4dCwgY29uc3QgU3RyaW5nJiB0ZXh0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9zcGVlY2gvU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXNVdHRlcmFuY2UuaAppbmRleCAxY2Q4ZTVh
NTJiYzhhNTY1NDNmOTkyNzk0NTk3OGFlZTRjYjBhMDIwLi4xOTAxNmRmZDUxMzMyY2UwNjBjZDBk
YWM1MjFmODM5YTg3NjgxNGZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Nw
ZWVjaC9TcGVlY2hTeW50aGVzaXNVdHRlcmFuY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXNVdHRlcmFuY2UuaApAQCAtMzksNyArMzksNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZSBmaW5h
bCA6IHB1YmxpYyBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZUNsaWVudCwgcHVibGlj
IFJlZkNvdW50ZWQ8U3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlPiwgcHVibGljIENvbnRleHREZXN0
cnVjdGlvbk9ic2VydmVyLCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSB7CiBwdWJs
aWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8U3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlPiBjcmVh
dGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIGNvbnN0IFN0cmluZyYpOworICAgIHN0YXRpYyBS
ZWY8U3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCYsIGNvbnN0IFN0cmluZyYpOwogICAgIAogICAgIH5TcGVlY2hTeW50aGVzaXNVdHRlcmFuY2Uo
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoU3lu
dGhlc2lzVm9pY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoU3lu
dGhlc2lzVm9pY2UuY3BwCmluZGV4IDJmOWFkNmU1M2NmNDNjNjU4MWJmYzIxMGRhYTQwMmQ5NDM5
ZWViMWMuLmRkMWNmMDljMjkzNzcxZWY5YmUxYTdiNmE5MTU5ZGU3MmIyMWFiODMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFN5bnRoZXNpc1ZvaWNlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXNWb2lj
ZS5jcHAKQEAgLTMwLDkgKzMwLDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIAotUGFz
c1JlZlB0cjxTcGVlY2hTeW50aGVzaXNWb2ljZT4gU3BlZWNoU3ludGhlc2lzVm9pY2U6OmNyZWF0
ZShQYXNzUmVmUHRyPFBsYXRmb3JtU3BlZWNoU3ludGhlc2lzVm9pY2U+IHZvaWNlKQorUmVmPFNw
ZWVjaFN5bnRoZXNpc1ZvaWNlPiBTcGVlY2hTeW50aGVzaXNWb2ljZTo6Y3JlYXRlKFBhc3NSZWZQ
dHI8UGxhdGZvcm1TcGVlY2hTeW50aGVzaXNWb2ljZT4gdm9pY2UpCiB7Ci0gICAgcmV0dXJuIGFk
b3B0UmVmKG5ldyBTcGVlY2hTeW50aGVzaXNWb2ljZSh2b2ljZSkpOworICAgIHJldHVybiBhZG9w
dFJlZigqbmV3IFNwZWVjaFN5bnRoZXNpc1ZvaWNlKHZvaWNlKSk7CiB9CiAKIFNwZWVjaFN5bnRo
ZXNpc1ZvaWNlOjpTcGVlY2hTeW50aGVzaXNWb2ljZShQYXNzUmVmUHRyPFBsYXRmb3JtU3BlZWNo
U3ludGhlc2lzVm9pY2U+IHZvaWNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9zcGVlY2gvU3BlZWNoU3ludGhlc2lzVm9pY2UuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
c3BlZWNoL1NwZWVjaFN5bnRoZXNpc1ZvaWNlLmgKaW5kZXggYWI1NTQwODc0ZWZiMjRjMjA0NDYw
NDc5YzdkZjk5YzRlNTkwM2UwNy4uZDViODg0OGJiMDBiYWIwMGE5MzNiYzNiZTUxMTNlYTJiZGEz
MDRjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoU3lu
dGhlc2lzVm9pY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hT
eW50aGVzaXNWb2ljZS5oCkBAIC0zOCw3ICszOCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNs
YXNzIFNwZWVjaFN5bnRoZXNpc1ZvaWNlIDogcHVibGljIFJlZkNvdW50ZWQ8U3BlZWNoU3ludGhl
c2lzVm9pY2U+IHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5TcGVlY2hTeW50aGVzaXNWb2ljZSgp
IHsgfQotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNwZWVjaFN5bnRoZXNpc1ZvaWNlPiBjcmVhdGUo
UGFzc1JlZlB0cjxQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpc1ZvaWNlPik7CisgICAgc3RhdGljIFJl
ZjxTcGVlY2hTeW50aGVzaXNWb2ljZT4gY3JlYXRlKFBhc3NSZWZQdHI8UGxhdGZvcm1TcGVlY2hT
eW50aGVzaXNWb2ljZT4pOwogICAgIAogICAgIGNvbnN0IFN0cmluZyYgdm9pY2VVUkkoKSBjb25z
dCB7IHJldHVybiBtX3BsYXRmb3JtVm9pY2UtPnZvaWNlVVJJKCk7IH0KICAgICBjb25zdCBTdHJp
bmcmIG5hbWUoKSBjb25zdCB7IHJldHVybiBtX3BsYXRmb3JtVm9pY2UtPm5hbWUoKTsgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9DaGFubmVsTWVyZ2VyTm9k
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0NoYW5uZWxNZXJnZXJOb2Rl
LmNwcAppbmRleCBjYTIyMmVjZTUyOTkzZmIzNDIxOTQ0M2NhODE1YzljOTUzOTc0ZmEzLi41MmQy
M2IzMzM3MjFjMDNiZWIwNjRlYmFhMjIwOWQ0MjQxNjUxMWFmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0NoYW5uZWxNZXJnZXJOb2RlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0NoYW5uZWxNZXJnZXJOb2RlLmNwcApAQCAtNDAs
MTIgKzQwLDEyIEBAIGNvbnN0IHVuc2lnbmVkIERlZmF1bHROdW1iZXJPZk91dHB1dENoYW5uZWxz
ID0gMTsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1QYXNzUmVmUHRyPENoYW5uZWxNZXJnZXJO
b2RlPiBDaGFubmVsTWVyZ2VyTm9kZTo6Y3JlYXRlKEF1ZGlvQ29udGV4dCogY29udGV4dCwgZmxv
YXQgc2FtcGxlUmF0ZSwgdW5zaWduZWQgbnVtYmVyT2ZJbnB1dHMpCitSZWZQdHI8Q2hhbm5lbE1l
cmdlck5vZGU+IENoYW5uZWxNZXJnZXJOb2RlOjpjcmVhdGUoQXVkaW9Db250ZXh0KiBjb250ZXh0
LCBmbG9hdCBzYW1wbGVSYXRlLCB1bnNpZ25lZCBudW1iZXJPZklucHV0cykKIHsKICAgICBpZiAo
IW51bWJlck9mSW5wdXRzIHx8IG51bWJlck9mSW5wdXRzID4gQXVkaW9Db250ZXh0OjptYXhOdW1i
ZXJPZkNoYW5uZWxzKCkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIAotICAgIHJldHVy
biBhZG9wdFJlZihuZXcgQ2hhbm5lbE1lcmdlck5vZGUoY29udGV4dCwgc2FtcGxlUmF0ZSwgbnVt
YmVyT2ZJbnB1dHMpKTsgICAgICAKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDaGFubmVsTWVy
Z2VyTm9kZShjb250ZXh0LCBzYW1wbGVSYXRlLCBudW1iZXJPZklucHV0cykpOyAgICAgIAogfQog
CiBDaGFubmVsTWVyZ2VyTm9kZTo6Q2hhbm5lbE1lcmdlck5vZGUoQXVkaW9Db250ZXh0KiBjb250
ZXh0LCBmbG9hdCBzYW1wbGVSYXRlLCB1bnNpZ25lZCBudW1iZXJPZklucHV0cykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQ2hhbm5lbE1lcmdlck5vZGUuaCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQ2hhbm5lbE1lcmdlck5vZGUuaAppbmRl
eCBkMDY1ZWRiN2UyYTE1NGYxMzc4NmRkOGQzN2M0ZGZkYzk1NzE1MTY1Li5jNTVjMmViZDhhM2Ez
ZDM5MmMyZDg2MWJhYjg1MmM4Njg3YzAzYWQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1ZGlvL0NoYW5uZWxNZXJnZXJOb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9DaGFubmVsTWVyZ2VyTm9kZS5oCkBAIC0zOCw3ICszOCw3IEBAIGNs
YXNzIEF1ZGlvQ29udGV4dDsKICAgICAKIGNsYXNzIENoYW5uZWxNZXJnZXJOb2RlIDogcHVibGlj
IEF1ZGlvTm9kZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8Q2hhbm5lbE1lcmdl
ck5vZGU+IGNyZWF0ZShBdWRpb0NvbnRleHQqLCBmbG9hdCBzYW1wbGVSYXRlLCB1bnNpZ25lZCBu
dW1iZXJPZklucHV0cyk7CisgICAgc3RhdGljIFJlZlB0cjxDaGFubmVsTWVyZ2VyTm9kZT4gY3Jl
YXRlKEF1ZGlvQ29udGV4dCosIGZsb2F0IHNhbXBsZVJhdGUsIHVuc2lnbmVkIG51bWJlck9mSW5w
dXRzKTsKIAogICAgIC8vIEF1ZGlvTm9kZQogICAgIHZpcnR1YWwgdm9pZCBwcm9jZXNzKHNpemVf
dCBmcmFtZXNUb1Byb2Nlc3MpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9DaGFubmVsU3BsaXR0ZXJOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vQ2hhbm5lbFNwbGl0dGVyTm9kZS5jcHAKaW5kZXggODhlZDI5ZDZj
Y2VhMGI2N2ZiNTRkMTRmNjU3OWJhOWIzNjg0MzI2Zi4uN2JmZTRkMGQ1NmQ2MmQzODYzZjViNmEz
OTRhOTQ0NzVjODM4YWQwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9DaGFubmVsU3BsaXR0ZXJOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL0NoYW5uZWxTcGxpdHRlck5vZGUuY3BwCkBAIC0zNCwxMiArMzQsMTIgQEAKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgIAotUGFzc1JlZlB0cjxDaGFubmVsU3BsaXR0ZXJOb2Rl
PiBDaGFubmVsU3BsaXR0ZXJOb2RlOjpjcmVhdGUoQXVkaW9Db250ZXh0KiBjb250ZXh0LCBmbG9h
dCBzYW1wbGVSYXRlLCB1bnNpZ25lZCBudW1iZXJPZk91dHB1dHMpCitSZWZQdHI8Q2hhbm5lbFNw
bGl0dGVyTm9kZT4gQ2hhbm5lbFNwbGl0dGVyTm9kZTo6Y3JlYXRlKEF1ZGlvQ29udGV4dCogY29u
dGV4dCwgZmxvYXQgc2FtcGxlUmF0ZSwgdW5zaWduZWQgbnVtYmVyT2ZPdXRwdXRzKQogewogICAg
IGlmICghbnVtYmVyT2ZPdXRwdXRzIHx8IG51bWJlck9mT3V0cHV0cyA+IEF1ZGlvQ29udGV4dDo6
bWF4TnVtYmVyT2ZDaGFubmVscygpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAotICAgIHJl
dHVybiBhZG9wdFJlZihuZXcgQ2hhbm5lbFNwbGl0dGVyTm9kZShjb250ZXh0LCBzYW1wbGVSYXRl
LCBudW1iZXJPZk91dHB1dHMpKTsgICAgICAKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDaGFu
bmVsU3BsaXR0ZXJOb2RlKGNvbnRleHQsIHNhbXBsZVJhdGUsIG51bWJlck9mT3V0cHV0cykpOyAg
ICAgIAogfQogCiBDaGFubmVsU3BsaXR0ZXJOb2RlOjpDaGFubmVsU3BsaXR0ZXJOb2RlKEF1ZGlv
Q29udGV4dCogY29udGV4dCwgZmxvYXQgc2FtcGxlUmF0ZSwgdW5zaWduZWQgbnVtYmVyT2ZPdXRw
dXRzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9DaGFubmVs
U3BsaXR0ZXJOb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0NoYW5uZWxT
cGxpdHRlck5vZGUuaAppbmRleCA5ZDA3Mjc5ZTI0NzhhODlhNDVmOTc4OGYwMTNlNzZhZTI5ZGVh
MmNkLi5jM2M3MWRjM2Y3ZDQ3M2ZmNWMxZGVkNjQ2ZTQ4NjI1YTgwZmQ1MTM4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0NoYW5uZWxTcGxpdHRlck5vZGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0NoYW5uZWxTcGxpdHRlck5vZGUu
aApAQCAtMzQsNyArMzQsNyBAQCBjbGFzcyBBdWRpb0NvbnRleHQ7CiAgICAgCiBjbGFzcyBDaGFu
bmVsU3BsaXR0ZXJOb2RlIDogcHVibGljIEF1ZGlvTm9kZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGlj
IFBhc3NSZWZQdHI8Q2hhbm5lbFNwbGl0dGVyTm9kZT4gY3JlYXRlKEF1ZGlvQ29udGV4dCosIGZs
b2F0IHNhbXBsZVJhdGUsIHVuc2lnbmVkIG51bWJlck9mT3V0cHV0cyk7CisgICAgc3RhdGljIFJl
ZlB0cjxDaGFubmVsU3BsaXR0ZXJOb2RlPiBjcmVhdGUoQXVkaW9Db250ZXh0KiwgZmxvYXQgc2Ft
cGxlUmF0ZSwgdW5zaWduZWQgbnVtYmVyT2ZPdXRwdXRzKTsKIAogICAgIC8vIEF1ZGlvTm9kZQog
ICAgIHZpcnR1YWwgdm9pZCBwcm9jZXNzKHNpemVfdCBmcmFtZXNUb1Byb2Nlc3MpIG92ZXJyaWRl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9EZWZhdWx0QXVk
aW9EZXN0aW5hdGlvbk5vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vRGVm
YXVsdEF1ZGlvRGVzdGluYXRpb25Ob2RlLmgKaW5kZXggYjFkNjI4ZGQyZTljZDBkNzQ5NDMzMzg2
ODI5NTUwYjQxZjI1YTZkZC4uMWU4NWNjODA5NmMyZGY0MzVhYzUwNWFjOTNkODBiMDA5NWE0NWEy
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9EZWZhdWx0QXVk
aW9EZXN0aW5hdGlvbk5vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlv
L0RlZmF1bHRBdWRpb0Rlc3RpbmF0aW9uTm9kZS5oCkBAIC0zNSw5ICszNSw5IEBAIGNsYXNzIEF1
ZGlvQ29udGV4dDsKICAgICAKIGNsYXNzIERlZmF1bHRBdWRpb0Rlc3RpbmF0aW9uTm9kZSA6IHB1
YmxpYyBBdWRpb0Rlc3RpbmF0aW9uTm9kZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQ
dHI8RGVmYXVsdEF1ZGlvRGVzdGluYXRpb25Ob2RlPiBjcmVhdGUoQXVkaW9Db250ZXh0KiBjb250
ZXh0KQorICAgIHN0YXRpYyBSZWY8RGVmYXVsdEF1ZGlvRGVzdGluYXRpb25Ob2RlPiBjcmVhdGUo
QXVkaW9Db250ZXh0KiBjb250ZXh0KQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5l
dyBEZWZhdWx0QXVkaW9EZXN0aW5hdGlvbk5vZGUoY29udGV4dCkpOyAgICAgCisgICAgICAgIHJl
dHVybiBhZG9wdFJlZigqbmV3IERlZmF1bHRBdWRpb0Rlc3RpbmF0aW9uTm9kZShjb250ZXh0KSk7
ICAgICAKICAgICB9CiAKICAgICB2aXJ0dWFsIH5EZWZhdWx0QXVkaW9EZXN0aW5hdGlvbk5vZGUo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vR2Fpbk5vZGUu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vR2Fpbk5vZGUuaAppbmRleCAzYThj
NWRmZDg1Mjg5ZDc3MmMzNjc0NTQzMTYxMTBlY2QzYWU3N2Y2Li42ZmM2ZmE1NTBhMDE3YWJmMzdm
YTU0M2NjMmRlZTZjNGI5OGZlZjUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL0dhaW5Ob2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9HYWluTm9kZS5oCkBAIC0zOSw5ICszOSw5IEBAIGNsYXNzIEF1ZGlvQ29udGV4dDsKIAogY2xh
c3MgR2Fpbk5vZGUgOiBwdWJsaWMgQXVkaW9Ob2RlIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFz
c1JlZlB0cjxHYWluTm9kZT4gY3JlYXRlKEF1ZGlvQ29udGV4dCogY29udGV4dCwgZmxvYXQgc2Ft
cGxlUmF0ZSkKKyAgICBzdGF0aWMgUmVmPEdhaW5Ob2RlPiBjcmVhdGUoQXVkaW9Db250ZXh0KiBj
b250ZXh0LCBmbG9hdCBzYW1wbGVSYXRlKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVm
KG5ldyBHYWluTm9kZShjb250ZXh0LCBzYW1wbGVSYXRlKSk7CisgICAgICAgIHJldHVybiBhZG9w
dFJlZigqbmV3IEdhaW5Ob2RlKGNvbnRleHQsIHNhbXBsZVJhdGUpKTsKICAgICB9CiAKICAgICAv
LyBBdWRpb05vZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8v
TWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViYXVkaW8vTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlLmNwcAppbmRleCAwZTUwMjU4YWNi
NmI1ZjFiOTY5MGM5ODdlMTk0ODU1MWMwMjkyYzMwLi5iMzJmZDVkZDkzMDg1NzA5NmM3MWJmYzNm
ZWVjMWZmYjhkODJmNjg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL01lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9NZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUuY3BwCkBAIC00MCw5
ICs0MCw5IEBAIGNvbnN0IHVuc2lnbmVkIG1heFNhbXBsZVJhdGUgPSAxOTIwMDA7CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotUGFzc1JlZlB0cjxNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGU+
IE1lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZTo6Y3JlYXRlKEF1ZGlvQ29udGV4dCogY29udGV4
dCwgSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50KQorUmVmPE1lZGlhRWxlbWVudEF1ZGlv
U291cmNlTm9kZT4gTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlOjpjcmVhdGUoQXVkaW9Db250
ZXh0KiBjb250ZXh0LCBIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQpCiB7Ci0gICAgcmV0
dXJuIGFkb3B0UmVmKG5ldyBNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUoY29udGV4dCwgbWVk
aWFFbGVtZW50KSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTWVkaWFFbGVtZW50QXVkaW9T
b3VyY2VOb2RlKGNvbnRleHQsIG1lZGlhRWxlbWVudCkpOwogfQogCiBNZWRpYUVsZW1lbnRBdWRp
b1NvdXJjZU5vZGU6Ok1lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZShBdWRpb0NvbnRleHQqIGNv
bnRleHQsIEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhRWxlbWVudEF1ZGlvU291cmNl
Tm9kZS5oCmluZGV4IDdmNThhZTdiMmNkOWYzNmU3MmM2OWU0MzU4NGRlOTc3YzI5ZDVhNDMuLmY5
NGE2NDdkNDI0Mjg5MjE0M2RhNWIyYjJjODE2OTMzMGRjOWQ3OTcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYUVsZW1lbnRBdWRpb1Nv
dXJjZU5vZGUuaApAQCAtNDEsNyArNDEsNyBAQCBjbGFzcyBBdWRpb0NvbnRleHQ7CiAgICAgCiBj
bGFzcyBNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUgOiBwdWJsaWMgQXVkaW9Ob2RlLCBwdWJs
aWMgQXVkaW9Tb3VyY2VQcm92aWRlckNsaWVudCB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NS
ZWZQdHI8TWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlPiBjcmVhdGUoQXVkaW9Db250ZXh0Kiwg
SFRNTE1lZGlhRWxlbWVudCopOworICAgIHN0YXRpYyBSZWY8TWVkaWFFbGVtZW50QXVkaW9Tb3Vy
Y2VOb2RlPiBjcmVhdGUoQXVkaW9Db250ZXh0KiwgSFRNTE1lZGlhRWxlbWVudCopOwogCiAgICAg
dmlydHVhbCB+TWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlKCk7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9u
Tm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVk
aW9EZXN0aW5hdGlvbk5vZGUuY3BwCmluZGV4IDBmZWI3Yzg4ODVlMjZlYmE4ZWM0NmU0ZTZlMDY3
ZDEwNzBiYjJmZGMuLjEyMTAxYTQzYzhlNjBkMjE5ZWI4ZTEyZTY5ZmQwM2EzYzcwZmQ5MTAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRp
b0Rlc3RpbmF0aW9uTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9NZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2RlLmNwcApAQCAtMzcsOSArMzcsOSBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVBhc3NSZWZQdHI8TWVkaWFTdHJlYW1BdWRpb0Rlc3Rp
bmF0aW9uTm9kZT4gTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZTo6Y3JlYXRlKEF1ZGlv
Q29udGV4dCogY29udGV4dCwgc2l6ZV90IG51bWJlck9mQ2hhbm5lbHMpCitSZWY8TWVkaWFTdHJl
YW1BdWRpb0Rlc3RpbmF0aW9uTm9kZT4gTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZTo6
Y3JlYXRlKEF1ZGlvQ29udGV4dCogY29udGV4dCwgc2l6ZV90IG51bWJlck9mQ2hhbm5lbHMpCiB7
Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBNZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2Rl
KGNvbnRleHQsIG51bWJlck9mQ2hhbm5lbHMpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBN
ZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2RlKGNvbnRleHQsIG51bWJlck9mQ2hhbm5lbHMp
KTsKIH0KIAogTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZTo6TWVkaWFTdHJlYW1BdWRp
b0Rlc3RpbmF0aW9uTm9kZShBdWRpb0NvbnRleHQqIGNvbnRleHQsIHNpemVfdCBudW1iZXJPZkNo
YW5uZWxzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRp
YVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGUuaAppbmRleCAwNThkNWEzYTk3
MWMzYTkzOTVlZmUxOTJmMTRlYmZhMWIyODVhZWZmLi4yZjQ5MTYxYjcxODQ0OGMwNjFmZTViOWEy
ZWUzZWYzOWE3NWZkZTlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL01lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGUuaApAQCAt
MzksNyArMzksNyBAQCBjbGFzcyBNZWRpYVN0cmVhbUF1ZGlvU291cmNlOwogCiBjbGFzcyBNZWRp
YVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2RlIDogcHVibGljIEF1ZGlvQmFzaWNJbnNwZWN0b3JO
b2RlIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxNZWRpYVN0cmVhbUF1ZGlvRGVz
dGluYXRpb25Ob2RlPiBjcmVhdGUoQXVkaW9Db250ZXh0Kiwgc2l6ZV90IG51bWJlck9mQ2hhbm5l
bHMpOworICAgIHN0YXRpYyBSZWY8TWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZT4gY3Jl
YXRlKEF1ZGlvQ29udGV4dCosIHNpemVfdCBudW1iZXJPZkNoYW5uZWxzKTsKIAogICAgIHZpcnR1
YWwgfk1lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGUoKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlvU291cmNlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb1NvdXJjZS5j
cHAKaW5kZXggOTU0NWI3YmJjZmE4ZjM2YzZhMjAzYzE1MDI1OTczNjdmMmMxZmNiZi4uZWQ3OGE3
YzBkMmM1NDcyOTUwOWU2Yzk5MDY2YjMzNzg3MWRmMWRkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlvU291cmNlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9Tb3VyY2UuY3Bw
CkBAIC0zNCw5ICszNCw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUmVmUHRyPE1lZGlh
U3RyZWFtQXVkaW9Tb3VyY2U+IE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2U6OmNyZWF0ZSgpCitSZWY8
TWVkaWFTdHJlYW1BdWRpb1NvdXJjZT4gTWVkaWFTdHJlYW1BdWRpb1NvdXJjZTo6Y3JlYXRlKCkK
IHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2UoKSk7Cisg
ICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTWVkaWFTdHJlYW1BdWRpb1NvdXJjZSgpKTsKIH0KIAog
TWVkaWFTdHJlYW1BdWRpb1NvdXJjZTo6TWVkaWFTdHJlYW1BdWRpb1NvdXJjZSgpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9Tb3Vy
Y2UuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb1Nv
dXJjZS5oCmluZGV4IDk0NzIyN2Y4ZjkwZjVkNWM5NDQ4NDBmMjZmMjIwNjRiMjRhZmI1MGEuLjQx
OGIzMmU4ZjgxMmNlMjRhOTJjNzU4YjliZjkzZmYyNDkyY2FiYzEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb1NvdXJjZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb1NvdXJjZS5o
CkBAIC00Miw3ICs0Miw3IEBAIGNsYXNzIFJlYWx0aW1lTWVkaWFTb3VyY2VDYXBhYmlsaXRpZXM7
CiAKIGNsYXNzIE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2UgOiBwdWJsaWMgUmVhbHRpbWVNZWRpYVNv
dXJjZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZlB0cjxNZWRpYVN0cmVhbUF1ZGlvU291cmNl
PiBjcmVhdGUoKTsKKyAgICBzdGF0aWMgUmVmPE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2U+IGNyZWF0
ZSgpOwogCiAgICAgfk1lZGlhU3RyZWFtQXVkaW9Tb3VyY2UoKSB7IH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9k
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9T
b3VyY2VOb2RlLmNwcAppbmRleCA4NjcyMTJlNTFmYjBmZjZkMmFiZDI2ZmYwNGViNDIxYjQ3MDUw
ZTE3Li5kMWFiYmM2M2M3NTYzYzYwODU4NTUwOWUzMTVjOWFmMjkxZDMwOGRlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9Tb3VyY2VO
b2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFt
QXVkaW9Tb3VyY2VOb2RlLmNwcApAQCAtMzUsOSArMzUsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLVBhc3NSZWZQdHI8TWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGU+IE1lZGlhU3RyZWFt
QXVkaW9Tb3VyY2VOb2RlOjpjcmVhdGUoQXVkaW9Db250ZXh0KiBjb250ZXh0LCBNZWRpYVN0cmVh
bSogbWVkaWFTdHJlYW0sIE1lZGlhU3RyZWFtVHJhY2sqIGF1ZGlvVHJhY2ssIEF1ZGlvU291cmNl
UHJvdmlkZXIqIGF1ZGlvU291cmNlUHJvdmlkZXIpCitSZWY8TWVkaWFTdHJlYW1BdWRpb1NvdXJj
ZU5vZGU+IE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlOjpjcmVhdGUoQXVkaW9Db250ZXh0KiBj
b250ZXh0LCBNZWRpYVN0cmVhbSogbWVkaWFTdHJlYW0sIE1lZGlhU3RyZWFtVHJhY2sqIGF1ZGlv
VHJhY2ssIEF1ZGlvU291cmNlUHJvdmlkZXIqIGF1ZGlvU291cmNlUHJvdmlkZXIpCiB7Ci0gICAg
cmV0dXJuIGFkb3B0UmVmKG5ldyBNZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZShjb250ZXh0LCBt
ZWRpYVN0cmVhbSwgYXVkaW9UcmFjaywgYXVkaW9Tb3VyY2VQcm92aWRlcikpOworICAgIHJldHVy
biBhZG9wdFJlZigqbmV3IE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlKGNvbnRleHQsIG1lZGlh
U3RyZWFtLCBhdWRpb1RyYWNrLCBhdWRpb1NvdXJjZVByb3ZpZGVyKSk7CiB9CiAKIE1lZGlhU3Ry
ZWFtQXVkaW9Tb3VyY2VOb2RlOjpNZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZShBdWRpb0NvbnRl
eHQqIGNvbnRleHQsIE1lZGlhU3RyZWFtKiBtZWRpYVN0cmVhbSwgTWVkaWFTdHJlYW1UcmFjayog
YXVkaW9UcmFjaywgQXVkaW9Tb3VyY2VQcm92aWRlciogYXVkaW9Tb3VyY2VQcm92aWRlcikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRp
b1NvdXJjZU5vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJl
YW1BdWRpb1NvdXJjZU5vZGUuaAppbmRleCBkMjljOTAzNjE2NTlkMTgxODk1NTQwNTM0MDU2YmJm
ODI4OWY3NmUzLi4xYzZjZGQ5NThhYTg4MjY4NGY4ZDBlZjZkOTA3NTE5YzNmNDM3NzU1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9T
b3VyY2VOb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0
cmVhbUF1ZGlvU291cmNlTm9kZS5oCkBAIC00MCw3ICs0MCw3IEBAIGNsYXNzIEF1ZGlvQ29udGV4
dDsKIAogY2xhc3MgTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGUgOiBwdWJsaWMgQXVkaW9Ob2Rl
LCBwdWJsaWMgQXVkaW9Tb3VyY2VQcm92aWRlckNsaWVudCB7CiBwdWJsaWM6Ci0gICAgc3RhdGlj
IFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGU+IGNyZWF0ZShBdWRpb0NvbnRl
eHQqLCBNZWRpYVN0cmVhbSosIE1lZGlhU3RyZWFtVHJhY2sqLCBBdWRpb1NvdXJjZVByb3ZpZGVy
Kik7CisgICAgc3RhdGljIFJlZjxNZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZT4gY3JlYXRlKEF1
ZGlvQ29udGV4dCosIE1lZGlhU3RyZWFtKiwgTWVkaWFTdHJlYW1UcmFjayosIEF1ZGlvU291cmNl
UHJvdmlkZXIqKTsKIAogICAgIHZpcnR1YWwgfk1lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlKCk7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vT3NjaWxsYXRv
ck5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9Pc2NpbGxhdG9yTm9k
ZS5jcHAKaW5kZXggYTRlZjljYTk3ZDkzOTIwMjVmZTU2OWU2NjEwMmJlMGMwYmM1ZjA4ZC4uOTlj
OTNhZDg3NmYwYmQ4NzIxZGJkYjkzZTllMjUzYjI3N2E4MTAyZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9Pc2NpbGxhdG9yTm9kZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9Pc2NpbGxhdG9yTm9kZS5jcHAKQEAgLTEyMSwyMiAr
MTIxLDIyIEBAIGJvb2wgT3NjaWxsYXRvck5vZGU6OnNldFR5cGUodW5zaWduZWQgdHlwZSkKICAg
ICBzd2l0Y2ggKHR5cGUpIHsKICAgICBjYXNlIFNJTkU6CiAgICAgICAgIGlmICghc19wZXJpb2Rp
Y1dhdmVTaW5lKQotICAgICAgICAgICAgc19wZXJpb2RpY1dhdmVTaW5lID0gUGVyaW9kaWNXYXZl
OjpjcmVhdGVTaW5lKHNhbXBsZVJhdGUpLmxlYWtSZWYoKTsKKyAgICAgICAgICAgIHNfcGVyaW9k
aWNXYXZlU2luZSA9ICZQZXJpb2RpY1dhdmU6OmNyZWF0ZVNpbmUoc2FtcGxlUmF0ZSkubGVha1Jl
ZigpOwogICAgICAgICBwZXJpb2RpY1dhdmUgPSBzX3BlcmlvZGljV2F2ZVNpbmU7CiAgICAgICAg
IGJyZWFrOwogICAgIGNhc2UgU1FVQVJFOgogICAgICAgICBpZiAoIXNfcGVyaW9kaWNXYXZlU3F1
YXJlKQotICAgICAgICAgICAgc19wZXJpb2RpY1dhdmVTcXVhcmUgPSBQZXJpb2RpY1dhdmU6OmNy
ZWF0ZVNxdWFyZShzYW1wbGVSYXRlKS5sZWFrUmVmKCk7CisgICAgICAgICAgICBzX3BlcmlvZGlj
V2F2ZVNxdWFyZSA9ICZQZXJpb2RpY1dhdmU6OmNyZWF0ZVNxdWFyZShzYW1wbGVSYXRlKS5sZWFr
UmVmKCk7CiAgICAgICAgIHBlcmlvZGljV2F2ZSA9IHNfcGVyaW9kaWNXYXZlU3F1YXJlOwogICAg
ICAgICBicmVhazsKICAgICBjYXNlIFNBV1RPT1RIOgogICAgICAgICBpZiAoIXNfcGVyaW9kaWNX
YXZlU2F3dG9vdGgpCi0gICAgICAgICAgICBzX3BlcmlvZGljV2F2ZVNhd3Rvb3RoID0gUGVyaW9k
aWNXYXZlOjpjcmVhdGVTYXd0b290aChzYW1wbGVSYXRlKS5sZWFrUmVmKCk7CisgICAgICAgICAg
ICBzX3BlcmlvZGljV2F2ZVNhd3Rvb3RoID0gJlBlcmlvZGljV2F2ZTo6Y3JlYXRlU2F3dG9vdGgo
c2FtcGxlUmF0ZSkubGVha1JlZigpOwogICAgICAgICBwZXJpb2RpY1dhdmUgPSBzX3BlcmlvZGlj
V2F2ZVNhd3Rvb3RoOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFRSSUFOR0xFOgogICAgICAg
ICBpZiAoIXNfcGVyaW9kaWNXYXZlVHJpYW5nbGUpCi0gICAgICAgICAgICBzX3BlcmlvZGljV2F2
ZVRyaWFuZ2xlID0gUGVyaW9kaWNXYXZlOjpjcmVhdGVUcmlhbmdsZShzYW1wbGVSYXRlKS5sZWFr
UmVmKCk7CisgICAgICAgICAgICBzX3BlcmlvZGljV2F2ZVRyaWFuZ2xlID0gJlBlcmlvZGljV2F2
ZTo6Y3JlYXRlVHJpYW5nbGUoc2FtcGxlUmF0ZSkubGVha1JlZigpOwogICAgICAgICBwZXJpb2Rp
Y1dhdmUgPSBzX3BlcmlvZGljV2F2ZVRyaWFuZ2xlOwogICAgICAgICBicmVhazsKICAgICBjYXNl
IENVU1RPTToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vUGFu
bmVyTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9QYW5uZXJOb2RlLmgK
aW5kZXggYjJmYTcwMTI5N2ZmMDZlYmJjNDYxMmIzZTVmMzlmMTE3NGI5NTUwYi4uMGNiZDcyZTU2
ZWJjYTIyYTAyYWY3OGJmYWU0ZjM2YzI2ZGQyNDg2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9QYW5uZXJOb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJhdWRpby9QYW5uZXJOb2RlLmgKQEAgLTYzLDkgKzYzLDkgQEAgcHVibGljOgogICAg
ICAgICBFWFBPTkVOVElBTF9ESVNUQU5DRSA9IDIsCiAgICAgfTsKIAotICAgIHN0YXRpYyBQYXNz
UmVmUHRyPFBhbm5lck5vZGU+IGNyZWF0ZShBdWRpb0NvbnRleHQqIGNvbnRleHQsIGZsb2F0IHNh
bXBsZVJhdGUpCisgICAgc3RhdGljIFJlZjxQYW5uZXJOb2RlPiBjcmVhdGUoQXVkaW9Db250ZXh0
KiBjb250ZXh0LCBmbG9hdCBzYW1wbGVSYXRlKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0
UmVmKG5ldyBQYW5uZXJOb2RlKGNvbnRleHQsIHNhbXBsZVJhdGUpKTsKKyAgICAgICAgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgUGFubmVyTm9kZShjb250ZXh0LCBzYW1wbGVSYXRlKSk7CiAgICAgfQog
CiAgICAgdmlydHVhbCB+UGFubmVyTm9kZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9QZXJpb2RpY1dhdmUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJhdWRpby9QZXJpb2RpY1dhdmUuY3BwCmluZGV4IGEzN2QzODg5YmRiYWEyNGM3NmQyNTcx
ZTZhYzhhY2ExZDFjNDc4ZjAuLjM4M2FmNjBkYmU2OTc0MmFjMjBhMTY0YjBmYmNmMDc4M2ZlODdm
OTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vUGVyaW9kaWNX
YXZlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1BlcmlvZGljV2F2
ZS5jcHAKQEAgLTQ1LDcgKzQ1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIAogdXNpbmcg
bmFtZXNwYWNlIFZlY3Rvck1hdGg7CiAKLVBhc3NSZWZQdHI8UGVyaW9kaWNXYXZlPiBQZXJpb2Rp
Y1dhdmU6OmNyZWF0ZShmbG9hdCBzYW1wbGVSYXRlLCBGbG9hdDMyQXJyYXkqIHJlYWwsIEZsb2F0
MzJBcnJheSogaW1hZykKK1JlZlB0cjxQZXJpb2RpY1dhdmU+IFBlcmlvZGljV2F2ZTo6Y3JlYXRl
KGZsb2F0IHNhbXBsZVJhdGUsIEZsb2F0MzJBcnJheSogcmVhbCwgRmxvYXQzMkFycmF5KiBpbWFn
KQogewogICAgIGJvb2wgaXNHb29kID0gcmVhbCAmJiBpbWFnICYmIHJlYWwtPmxlbmd0aCgpID09
IGltYWctPmxlbmd0aCgpOwogICAgIEFTU0VSVChpc0dvb2QpOwpAQCAtNTgsMzAgKzU4LDMwIEBA
IFBhc3NSZWZQdHI8UGVyaW9kaWNXYXZlPiBQZXJpb2RpY1dhdmU6OmNyZWF0ZShmbG9hdCBzYW1w
bGVSYXRlLCBGbG9hdDMyQXJyYXkqIHJlCiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKLVBhc3NS
ZWZQdHI8UGVyaW9kaWNXYXZlPiBQZXJpb2RpY1dhdmU6OmNyZWF0ZVNpbmUoZmxvYXQgc2FtcGxl
UmF0ZSkKK1JlZjxQZXJpb2RpY1dhdmU+IFBlcmlvZGljV2F2ZTo6Y3JlYXRlU2luZShmbG9hdCBz
YW1wbGVSYXRlKQogewotICAgIFJlZlB0cjxQZXJpb2RpY1dhdmU+IHdhdmVUYWJsZSA9IGFkb3B0
UmVmKG5ldyBQZXJpb2RpY1dhdmUoc2FtcGxlUmF0ZSkpOworICAgIFJlZjxQZXJpb2RpY1dhdmU+
IHdhdmVUYWJsZSA9IGFkb3B0UmVmKCpuZXcgUGVyaW9kaWNXYXZlKHNhbXBsZVJhdGUpKTsKICAg
ICB3YXZlVGFibGUtPmdlbmVyYXRlQmFzaWNXYXZlZm9ybShPc2NpbGxhdG9yTm9kZTo6U0lORSk7
CiAgICAgcmV0dXJuIHdhdmVUYWJsZTsKIH0KIAotUGFzc1JlZlB0cjxQZXJpb2RpY1dhdmU+IFBl
cmlvZGljV2F2ZTo6Y3JlYXRlU3F1YXJlKGZsb2F0IHNhbXBsZVJhdGUpCitSZWY8UGVyaW9kaWNX
YXZlPiBQZXJpb2RpY1dhdmU6OmNyZWF0ZVNxdWFyZShmbG9hdCBzYW1wbGVSYXRlKQogewotICAg
IFJlZlB0cjxQZXJpb2RpY1dhdmU+IHdhdmVUYWJsZSA9IGFkb3B0UmVmKG5ldyBQZXJpb2RpY1dh
dmUoc2FtcGxlUmF0ZSkpOworICAgIFJlZjxQZXJpb2RpY1dhdmU+IHdhdmVUYWJsZSA9IGFkb3B0
UmVmKCpuZXcgUGVyaW9kaWNXYXZlKHNhbXBsZVJhdGUpKTsKICAgICB3YXZlVGFibGUtPmdlbmVy
YXRlQmFzaWNXYXZlZm9ybShPc2NpbGxhdG9yTm9kZTo6U1FVQVJFKTsKICAgICByZXR1cm4gd2F2
ZVRhYmxlOwogfQogCi1QYXNzUmVmUHRyPFBlcmlvZGljV2F2ZT4gUGVyaW9kaWNXYXZlOjpjcmVh
dGVTYXd0b290aChmbG9hdCBzYW1wbGVSYXRlKQorUmVmPFBlcmlvZGljV2F2ZT4gUGVyaW9kaWNX
YXZlOjpjcmVhdGVTYXd0b290aChmbG9hdCBzYW1wbGVSYXRlKQogewotICAgIFJlZlB0cjxQZXJp
b2RpY1dhdmU+IHdhdmVUYWJsZSA9IGFkb3B0UmVmKG5ldyBQZXJpb2RpY1dhdmUoc2FtcGxlUmF0
ZSkpOworICAgIFJlZjxQZXJpb2RpY1dhdmU+IHdhdmVUYWJsZSA9IGFkb3B0UmVmKCpuZXcgUGVy
aW9kaWNXYXZlKHNhbXBsZVJhdGUpKTsKICAgICB3YXZlVGFibGUtPmdlbmVyYXRlQmFzaWNXYXZl
Zm9ybShPc2NpbGxhdG9yTm9kZTo6U0FXVE9PVEgpOwogICAgIHJldHVybiB3YXZlVGFibGU7CiB9
CiAKLVBhc3NSZWZQdHI8UGVyaW9kaWNXYXZlPiBQZXJpb2RpY1dhdmU6OmNyZWF0ZVRyaWFuZ2xl
KGZsb2F0IHNhbXBsZVJhdGUpCitSZWY8UGVyaW9kaWNXYXZlPiBQZXJpb2RpY1dhdmU6OmNyZWF0
ZVRyaWFuZ2xlKGZsb2F0IHNhbXBsZVJhdGUpCiB7Ci0gICAgUmVmUHRyPFBlcmlvZGljV2F2ZT4g
d2F2ZVRhYmxlID0gYWRvcHRSZWYobmV3IFBlcmlvZGljV2F2ZShzYW1wbGVSYXRlKSk7CisgICAg
UmVmPFBlcmlvZGljV2F2ZT4gd2F2ZVRhYmxlID0gYWRvcHRSZWYoKm5ldyBQZXJpb2RpY1dhdmUo
c2FtcGxlUmF0ZSkpOwogICAgIHdhdmVUYWJsZS0+Z2VuZXJhdGVCYXNpY1dhdmVmb3JtKE9zY2ls
bGF0b3JOb2RlOjpUUklBTkdMRSk7CiAgICAgcmV0dXJuIHdhdmVUYWJsZTsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vUGVyaW9kaWNXYXZlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1BlcmlvZGljV2F2ZS5oCmluZGV4IDg1YjZlMWNl
ZGUxNzU1ZmEwNmU1ZmRiODIwNTUzOGRjZDRiMzRlOTIuLjBiNzc0YThjMjdiZDliMjRkYWQxNzli
Njk2ZWRjYTFmNTk5YTMzNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
YXVkaW8vUGVyaW9kaWNXYXZlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9QZXJpb2RpY1dhdmUuaApAQCAtNDEsMTMgKzQxLDEzIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogY2xhc3MgUGVyaW9kaWNXYXZlIDogcHVibGljIFJlZkNvdW50ZWQ8UGVyaW9kaWNXYXZlPiB7
CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8UGVyaW9kaWNXYXZlPiBjcmVhdGVTaW5l
KGZsb2F0IHNhbXBsZVJhdGUpOwotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFBlcmlvZGljV2F2ZT4g
Y3JlYXRlU3F1YXJlKGZsb2F0IHNhbXBsZVJhdGUpOwotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFBl
cmlvZGljV2F2ZT4gY3JlYXRlU2F3dG9vdGgoZmxvYXQgc2FtcGxlUmF0ZSk7Ci0gICAgc3RhdGlj
IFBhc3NSZWZQdHI8UGVyaW9kaWNXYXZlPiBjcmVhdGVUcmlhbmdsZShmbG9hdCBzYW1wbGVSYXRl
KTsKKyAgICBzdGF0aWMgUmVmPFBlcmlvZGljV2F2ZT4gY3JlYXRlU2luZShmbG9hdCBzYW1wbGVS
YXRlKTsKKyAgICBzdGF0aWMgUmVmPFBlcmlvZGljV2F2ZT4gY3JlYXRlU3F1YXJlKGZsb2F0IHNh
bXBsZVJhdGUpOworICAgIHN0YXRpYyBSZWY8UGVyaW9kaWNXYXZlPiBjcmVhdGVTYXd0b290aChm
bG9hdCBzYW1wbGVSYXRlKTsKKyAgICBzdGF0aWMgUmVmPFBlcmlvZGljV2F2ZT4gY3JlYXRlVHJp
YW5nbGUoZmxvYXQgc2FtcGxlUmF0ZSk7CiAKICAgICAvLyBDcmVhdGVzIGFuIGFyYml0cmFyeSB3
YXZlIGdpdmVuIHRoZSBmcmVxdWVuY3kgY29tcG9uZW50cyAoRm91cmllciBjb2VmZmljaWVudHMp
LgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFBlcmlvZGljV2F2ZT4gY3JlYXRlKGZsb2F0IHNhbXBs
ZVJhdGUsIEZsb2F0MzJBcnJheSogcmVhbCwgRmxvYXQzMkFycmF5KiBpbWFnKTsKKyAgICBzdGF0
aWMgUmVmUHRyPFBlcmlvZGljV2F2ZT4gY3JlYXRlKGZsb2F0IHNhbXBsZVJhdGUsIEZsb2F0MzJB
cnJheSogcmVhbCwgRmxvYXQzMkFycmF5KiBpbWFnKTsKIAogICAgIC8vIFJldHVybnMgcG9pbnRl
cnMgdG8gdGhlIGxvd2VyIGFuZCBoaWdoZXIgd2F2ZSBkYXRhIGZvciB0aGUgcGl0Y2ggcmFuZ2Ug
Y29udGFpbmluZwogICAgIC8vIHRoZSBnaXZlbiBmdW5kYW1lbnRhbCBmcmVxdWVuY3kuIFRoZXNl
IHR3byB0YWJsZXMgYXJlIGluIGFkamFjZW50ICJwaXRjaCIgcmFuZ2VzCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1NjcmlwdFByb2Nlc3Nvck5vZGUuY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9TY3JpcHRQcm9jZXNzb3JOb2RlLmNwcApp
bmRleCA5MGE2ZDE3YmRiZTdkZjM5M2QxYTQyOGJhYWNlOGE0NDZhMGNhYjc3Li4yNWZiZTM0ZDBi
ZWU2YTNhM2EyMmNmNzhmZmJmNTliODVmZTM0ZTdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmF1ZGlvL1NjcmlwdFByb2Nlc3Nvck5vZGUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29yTm9kZS5jcHAKQEAgLTQwLDcg
KzQwLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1QYXNzUmVmUHRyPFNjcmlwdFByb2Nl
c3Nvck5vZGU+IFNjcmlwdFByb2Nlc3Nvck5vZGU6OmNyZWF0ZShBdWRpb0NvbnRleHQqIGNvbnRl
eHQsIGZsb2F0IHNhbXBsZVJhdGUsIHNpemVfdCBidWZmZXJTaXplLCB1bnNpZ25lZCBudW1iZXJP
ZklucHV0Q2hhbm5lbHMsIHVuc2lnbmVkIG51bWJlck9mT3V0cHV0Q2hhbm5lbHMpCitSZWZQdHI8
U2NyaXB0UHJvY2Vzc29yTm9kZT4gU2NyaXB0UHJvY2Vzc29yTm9kZTo6Y3JlYXRlKEF1ZGlvQ29u
dGV4dCogY29udGV4dCwgZmxvYXQgc2FtcGxlUmF0ZSwgc2l6ZV90IGJ1ZmZlclNpemUsIHVuc2ln
bmVkIG51bWJlck9mSW5wdXRDaGFubmVscywgdW5zaWduZWQgbnVtYmVyT2ZPdXRwdXRDaGFubmVs
cykKIHsKICAgICAvLyBDaGVjayBmb3IgdmFsaWQgYnVmZmVyIHNpemUuCiAgICAgc3dpdGNoIChi
dWZmZXJTaXplKSB7CkBAIC02NSw3ICs2NSw3IEBAIFBhc3NSZWZQdHI8U2NyaXB0UHJvY2Vzc29y
Tm9kZT4gU2NyaXB0UHJvY2Vzc29yTm9kZTo6Y3JlYXRlKEF1ZGlvQ29udGV4dCogY29udGV4CiAg
ICAgaWYgKG51bWJlck9mT3V0cHV0Q2hhbm5lbHMgPiBBdWRpb0NvbnRleHQ6Om1heE51bWJlck9m
Q2hhbm5lbHMoKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKLSAgICByZXR1cm4gYWRvcHRS
ZWYobmV3IFNjcmlwdFByb2Nlc3Nvck5vZGUoY29udGV4dCwgc2FtcGxlUmF0ZSwgYnVmZmVyU2l6
ZSwgbnVtYmVyT2ZJbnB1dENoYW5uZWxzLCBudW1iZXJPZk91dHB1dENoYW5uZWxzKSk7CisgICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgU2NyaXB0UHJvY2Vzc29yTm9kZShjb250ZXh0LCBzYW1wbGVS
YXRlLCBidWZmZXJTaXplLCBudW1iZXJPZklucHV0Q2hhbm5lbHMsIG51bWJlck9mT3V0cHV0Q2hh
bm5lbHMpKTsKIH0KIAogU2NyaXB0UHJvY2Vzc29yTm9kZTo6U2NyaXB0UHJvY2Vzc29yTm9kZShB
dWRpb0NvbnRleHQqIGNvbnRleHQsIGZsb2F0IHNhbXBsZVJhdGUsIHNpemVfdCBidWZmZXJTaXpl
LCB1bnNpZ25lZCBudW1iZXJPZklucHV0Q2hhbm5lbHMsIHVuc2lnbmVkIG51bWJlck9mT3V0cHV0
Q2hhbm5lbHMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1Nj
cmlwdFByb2Nlc3Nvck5vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vU2Ny
aXB0UHJvY2Vzc29yTm9kZS5oCmluZGV4IDJiYWJmMzVhMzdhMjBiYTZhMjUzYWVmYTY4MTA3YmZl
Y2Q2MWIxNjQuLjZhNTMwZDliZjNkYzdlNDJmNGZhYmUzYzIyZjllZTJlZDRmOWM2YjMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29yTm9k
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29y
Tm9kZS5oCkBAIC01Myw3ICs1Myw3IEBAIHB1YmxpYzoKICAgICAvLyBUaGlzIHZhbHVlIGNvbnRy
b2xzIGhvdyBmcmVxdWVudGx5IHRoZSBvbmF1ZGlvcHJvY2VzcyBldmVudCBoYW5kbGVyIGlzIGNh
bGxlZCBhbmQgaG93IG1hbnkgc2FtcGxlLWZyYW1lcyBuZWVkIHRvIGJlIHByb2Nlc3NlZCBlYWNo
IGNhbGwuCiAgICAgLy8gTG93ZXIgbnVtYmVycyBmb3IgYnVmZmVyU2l6ZSB3aWxsIHJlc3VsdCBp
biBhIGxvd2VyIChiZXR0ZXIpIGxhdGVuY3kuIEhpZ2hlciBudW1iZXJzIHdpbGwgYmUgbmVjZXNz
YXJ5IHRvIGF2b2lkIGF1ZGlvIGJyZWFrdXAgYW5kIGdsaXRjaGVzLgogICAgIC8vIFRoZSB2YWx1
ZSBjaG9zZW4gbXVzdCBjYXJlZnVsbHkgYmFsYW5jZSBiZXR3ZWVuIGxhdGVuY3kgYW5kIGF1ZGlv
IHF1YWxpdHkuCi0gICAgc3RhdGljIFBhc3NSZWZQdHI8U2NyaXB0UHJvY2Vzc29yTm9kZT4gY3Jl
YXRlKEF1ZGlvQ29udGV4dCosIGZsb2F0IHNhbXBsZVJhdGUsIHNpemVfdCBidWZmZXJTaXplLCB1
bnNpZ25lZCBudW1iZXJPZklucHV0Q2hhbm5lbHMsIHVuc2lnbmVkIG51bWJlck9mT3V0cHV0Q2hh
bm5lbHMpOworICAgIHN0YXRpYyBSZWZQdHI8U2NyaXB0UHJvY2Vzc29yTm9kZT4gY3JlYXRlKEF1
ZGlvQ29udGV4dCosIGZsb2F0IHNhbXBsZVJhdGUsIHNpemVfdCBidWZmZXJTaXplLCB1bnNpZ25l
ZCBudW1iZXJPZklucHV0Q2hhbm5lbHMsIHVuc2lnbmVkIG51bWJlck9mT3V0cHV0Q2hhbm5lbHMp
OwogCiAgICAgdmlydHVhbCB+U2NyaXB0UHJvY2Vzc29yTm9kZSgpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dhdmVTaGFwZXJOb2RlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dhdmVTaGFwZXJOb2RlLmgKaW5kZXggY2I2NTM3MmEx
NzE2ODU0NzIxMzI3YWJjYjg1YTMxZjRjMDlhNjVlNy4uODIyNzk3NTNkZGY3OGY1MjlkYWJhZjU5
ZDg5YmE3NzE3ZWUwOGVjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9XYXZlU2hhcGVyTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVk
aW8vV2F2ZVNoYXBlck5vZGUuaApAQCAtMzQsOSArMzQsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgCiBjbGFzcyBXYXZlU2hhcGVyTm9kZSA6IHB1YmxpYyBBdWRpb0Jhc2ljUHJvY2Vzc29y
Tm9kZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8V2F2ZVNoYXBlck5vZGU+IGNy
ZWF0ZShBdWRpb0NvbnRleHQqIGNvbnRleHQpCisgICAgc3RhdGljIFJlZjxXYXZlU2hhcGVyTm9k
ZT4gY3JlYXRlKEF1ZGlvQ29udGV4dCogY29udGV4dCkKICAgICB7Ci0gICAgICAgIHJldHVybiBh
ZG9wdFJlZihuZXcgV2F2ZVNoYXBlck5vZGUoY29udGV4dCkpOworICAgICAgICByZXR1cm4gYWRv
cHRSZWYoKm5ldyBXYXZlU2hhcGVyTm9kZShjb250ZXh0KSk7CiAgICAgfQogCiAgICAgLy8gc2V0
Q3VydmUoKSBpcyBjYWxsZWQgb24gdGhlIG1haW4gdGhyZWFkLgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>253826</attachid>
            <date>2015-05-27 19:30:16 -0700</date>
            <delta_ts>2015-05-27 21:22:55 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-145304-20150528113002.patch</filename>
            <type>text/plain</type>
            <size>68381</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg0OTM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDViYmEyZTk3N2QyNDQ4
ODRjZTk3NmRmNzU2YzMwMzFkMWU4MzI5ZS4uNzZhOTcwYzc4MjNmZmQzNzcyNDNkNThmOGZkZDNh
NjJkOGZhZjdhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExMiBAQAorMjAxNS0wNS0yNyAgR3l1
eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUHVyZ2UgUGFz
c1JlZlB0ciBpbiBXZWJDb3JlL01vZHVsZXMgLSAyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDUzMDQKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJp
biBBZGxlci4KKworICAgICAgICBBcyBhIHN0ZXAgdG8gcmVtb3ZlIFBhc3NSZWZQdHIsIHRoaXMg
cGF0Y2ggcmVwbGFjZXMgUGFzc1JlZlB0ciB3aXRoIFJlZiBvciBSZWZQdHIuCisKKyAgICAgICAg
Tm8gbmV3IHRlc3RzLCBubyBiZWhhdmlvciBjaGFuZ2VzCisKKyAgICAgICAgKiBNb2R1bGVzL21l
ZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuaDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3Ry
ZWFtL0FsbEF1ZGlvQ2FwYWJpbGl0aWVzLmg6CisgICAgICAgIChXZWJDb3JlOjpBbGxBdWRpb0Nh
cGFiaWxpdGllczo6Y3JlYXRlKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL0FsbFZp
ZGVvQ2FwYWJpbGl0aWVzLmg6CisgICAgICAgIChXZWJDb3JlOjpBbGxWaWRlb0NhcGFiaWxpdGll
czo6Y3JlYXRlKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL0NhcGFiaWxpdHlSYW5n
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYXBhYmlsaXR5UmFuZ2U6OmNyZWF0ZSk6CisgICAg
ICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9DYXBhYmlsaXR5UmFuZ2UuaDoKKyAgICAgICAgKiBN
b2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU291cmNlU3RhdGVzLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhU291cmNlU3RhdGVzOjpjcmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFz
dHJlYW0vTWVkaWFTdHJlYW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW06OmNy
ZWF0ZSk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtVHJhY2s6OmNyZWF0ZSk6CisgICAgICAg
ICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrU291cmNlc1JlcXVlc3QuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1UcmFja1NvdXJjZXNSZXF1ZXN0OjpjcmVh
dGUpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFUcmFja0NvbnN0cmFpbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFUcmFja0NvbnN0cmFpbnQ6OmNyZWF0ZSk6Cisg
ICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVRyYWNrQ29uc3RyYWludC5oOgorICAg
ICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDQ29uZmlndXJhdGlvbi5oOgorICAgICAgICAo
V2ViQ29yZTo6UlRDQ29uZmlndXJhdGlvbjo6Y3JlYXRlKToKKyAgICAgICAgKiBNb2R1bGVzL21l
ZGlhc3RyZWFtL1JUQ0ljZVNlcnZlci5oOgorICAgICAgICAoV2ViQ29yZTo6UlRDSWNlU2VydmVy
OjpjcmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2Ny
aXB0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1Nlc3Npb25EZXNjcmlwdGlvbjo6Y3Jl
YXRlKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlv
bi5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9u
UmVxdWVzdEltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UlRDU2Vzc2lvbkRlc2NyaXB0aW9u
UmVxdWVzdEltcGw6OmNyZWF0ZSk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENT
dGF0c1JlcG9ydC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSVENTdGF0c1JlcG9ydDo6Y3JlYXRl
KToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1N0YXRzUmVwb3J0Lmg6CisgICAg
ICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTdGF0c1JlcXVlc3RJbXBsLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJUQ1N0YXRzUmVxdWVzdEltcGw6OmNyZWF0ZSk6CisgICAgICAgICogTW9k
dWxlcy9tZWRpYXN0cmVhbS9SVENTdGF0c1JlcXVlc3RJbXBsLmg6CisgICAgICAgICogTW9kdWxl
cy9tZWRpYXN0cmVhbS9SVENTdGF0c1Jlc3BvbnNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJU
Q1N0YXRzUmVzcG9uc2U6OmNyZWF0ZSk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENTdGF0c1Jlc3BvbnNlLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENWb2lk
UmVxdWVzdEltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UlRDVm9pZFJlcXVlc3RJbXBsOjpj
cmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDVm9pZFJlcXVlc3RJbXBs
Lmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9Tb3VyY2VJbmZvLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNvdXJjZUluZm86OmNyZWF0ZSk6CisgICAgICAgICogTW9kdWxlcy9tZWRp
YXN0cmVhbS9Tb3VyY2VJbmZvLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2Vy
TWVkaWFSZXF1ZXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlVzZXJNZWRpYVJlcXVlc3Q6OmNy
ZWF0ZSk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0Lmg6
CisgICAgICAgICogTW9kdWxlcy9xdW90YS9TdG9yYWdlSW5mby5oOgorICAgICAgICAoV2ViQ29y
ZTo6U3RvcmFnZUluZm86OmNyZWF0ZSk6CisgICAgICAgICogTW9kdWxlcy9xdW90YS9TdG9yYWdl
UXVvdGEuaDoKKyAgICAgICAgKFdlYkNvcmU6OlN0b3JhZ2VRdW90YTo6Y3JlYXRlKToKKyAgICAg
ICAgKiBNb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXMuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U3BlZWNoU3ludGhlc2lzOjpjcmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvc3BlZWNoL1Nw
ZWVjaFN5bnRoZXNpcy5oOgorICAgICAgICAqIE1vZHVsZXMvc3BlZWNoL1NwZWVjaFN5bnRoZXNp
c1V0dGVyYW5jZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTcGVlY2hTeW50aGVzaXNVdHRlcmFu
Y2U6OmNyZWF0ZSk6CisgICAgICAgICogTW9kdWxlcy9zcGVlY2gvU3BlZWNoU3ludGhlc2lzVXR0
ZXJhbmNlLmg6CisgICAgICAgICogTW9kdWxlcy9zcGVlY2gvU3BlZWNoU3ludGhlc2lzVm9pY2Uu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U3BlZWNoU3ludGhlc2lzVm9pY2U6OmNyZWF0ZSk6Cisg
ICAgICAgICogTW9kdWxlcy9zcGVlY2gvU3BlZWNoU3ludGhlc2lzVm9pY2UuaDoKKyAgICAgICAg
KiBNb2R1bGVzL3dlYmF1ZGlvL0NoYW5uZWxNZXJnZXJOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkNoYW5uZWxNZXJnZXJOb2RlOjpjcmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVk
aW8vQ2hhbm5lbE1lcmdlck5vZGUuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0NoYW5u
ZWxTcGxpdHRlck5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2hhbm5lbFNwbGl0dGVyTm9k
ZTo6Y3JlYXRlKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0NoYW5uZWxTcGxpdHRlck5v
ZGUuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0RlZmF1bHRBdWRpb0Rlc3RpbmF0aW9u
Tm9kZS5oOgorICAgICAgICAoV2ViQ29yZTo6RGVmYXVsdEF1ZGlvRGVzdGluYXRpb25Ob2RlOjpj
cmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vR2Fpbk5vZGUuaDoKKyAgICAgICAg
KFdlYkNvcmU6OkdhaW5Ob2RlOjpjcmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8v
TWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
RWxlbWVudEF1ZGlvU291cmNlTm9kZTo6Y3JlYXRlKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1
ZGlvL01lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZS5oOgorICAgICAgICAqIE1vZHVsZXMvd2Vi
YXVkaW8vTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2RlOjpjcmVhdGUpOgorICAgICAgICAq
IE1vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZS5oOgorICAg
ICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb1NvdXJjZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbUF1ZGlvU291cmNlOjpjcmVhdGUpOgorICAgICAgICAq
IE1vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb1NvdXJjZS5oOgorICAgICAgICAqIE1v
ZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGU6OmNyZWF0ZSk6CisgICAgICAgICog
TW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZS5oOgorICAgICAgICAq
IE1vZHVsZXMvd2ViYXVkaW8vT3NjaWxsYXRvck5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
T3NjaWxsYXRvck5vZGU6OnNldFR5cGUpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vUGFu
bmVyTm9kZS5oOgorICAgICAgICAoV2ViQ29yZTo6UGFubmVyTm9kZTo6Y3JlYXRlKToKKyAgICAg
ICAgKiBNb2R1bGVzL3dlYmF1ZGlvL1BlcmlvZGljV2F2ZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpQZXJpb2RpY1dhdmU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJpb2RpY1dhdmU6
OmNyZWF0ZVNpbmUpOgorICAgICAgICAoV2ViQ29yZTo6UGVyaW9kaWNXYXZlOjpjcmVhdGVTcXVh
cmUpOgorICAgICAgICAoV2ViQ29yZTo6UGVyaW9kaWNXYXZlOjpjcmVhdGVTYXd0b290aCk6Cisg
ICAgICAgIChXZWJDb3JlOjpQZXJpb2RpY1dhdmU6OmNyZWF0ZVRyaWFuZ2xlKToKKyAgICAgICAg
KiBNb2R1bGVzL3dlYmF1ZGlvL1BlcmlvZGljV2F2ZS5oOgorICAgICAgICAqIE1vZHVsZXMvd2Vi
YXVkaW8vU2NyaXB0UHJvY2Vzc29yTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRQ
cm9jZXNzb3JOb2RlOjpjcmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vU2NyaXB0
UHJvY2Vzc29yTm9kZS5oOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vV2F2ZVNoYXBlck5v
ZGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OldhdmVTaGFwZXJOb2RlOjpjcmVhdGUpOgorCiAyMDE1
LTA1LTI3ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAg
IFJFR1JFU1NJT04gKHIxODM4MjApOiB3ZWJraXQub3JnL2Jsb2cvIGJhY2tncm91bmQgcGFpbnRp
bmcgaXNzdWUgb24gcmVsb2FkLCB3aGVuIHRoZSBwYWdlIGNvbnRhaW5zIHZpZGVvcwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3Qu
aAppbmRleCA2YmNiOTM1NzJlMDQzY2Q0Mzg1NmM2NjgyNzQ4MmQ5MjM0NzZlYWU2Li40YmYzNjE3
ZmM1NWE0ZDhlNzI5ZjEzZTk5ZTg2YmEwMTU2NTg4ZWFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuaApAQCAtNDUsOSAr
NDUsOSBAQCBjbGFzcyBTb3VyY2VCdWZmZXI7CiAKIGNsYXNzIFNvdXJjZUJ1ZmZlckxpc3QgZmlu
YWwgOiBwdWJsaWMgUmVmQ291bnRlZDxTb3VyY2VCdWZmZXJMaXN0PiwgcHVibGljIFNjcmlwdFdy
YXBwYWJsZSwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEgewogcHVibGljOgotICAg
IHN0YXRpYyBQYXNzUmVmUHRyPFNvdXJjZUJ1ZmZlckxpc3Q+IGNyZWF0ZShTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiBjb250ZXh0KQorICAgIHN0YXRpYyBSZWY8U291cmNlQnVmZmVyTGlzdD4gY3Jl
YXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCiAgICAgewotICAgICAgICByZXR1
cm4gYWRvcHRSZWYobmV3IFNvdXJjZUJ1ZmZlckxpc3QoY29udGV4dCkpOworICAgICAgICByZXR1
cm4gYWRvcHRSZWYoKm5ldyBTb3VyY2VCdWZmZXJMaXN0KGNvbnRleHQpKTsKICAgICB9CiAgICAg
dmlydHVhbCB+U291cmNlQnVmZmVyTGlzdCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0FsbEF1ZGlvQ2FwYWJpbGl0aWVzLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0FsbEF1ZGlvQ2FwYWJpbGl0aWVzLmgKaW5kZXggNjA2
MjNlNjVmZWQyZGZlNzllZWIzMGZkNjE5NDRmNmFiNTQ1ZTUzYS4uOWZjODM5NzMyN2FkYTg0Y2Zh
ZTBhYTBjODAwYmQ1ODM5MDdjNDA2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9BbGxBdWRpb0NhcGFiaWxpdGllcy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vQWxsQXVkaW9DYXBhYmlsaXRpZXMuaApAQCAtMzksOSArMzks
OSBAQCBjbGFzcyBSZWFsdGltZU1lZGlhU291cmNlQ2FwYWJpbGl0aWVzOwogCiBjbGFzcyBBbGxB
dWRpb0NhcGFiaWxpdGllcyA6IHB1YmxpYyBNZWRpYVN0cmVhbUNhcGFiaWxpdGllcyB7CiBwdWJs
aWM6Ci0gICAgc3RhdGljIFJlZlB0cjxBbGxBdWRpb0NhcGFiaWxpdGllcz4gY3JlYXRlKFBhc3NS
ZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZUNhcGFiaWxpdGllcz4gY2FwYWJpbGl0aWVzKQorICAg
IHN0YXRpYyBSZWY8QWxsQXVkaW9DYXBhYmlsaXRpZXM+IGNyZWF0ZShQYXNzUmVmUHRyPFJlYWx0
aW1lTWVkaWFTb3VyY2VDYXBhYmlsaXRpZXM+IGNhcGFiaWxpdGllcykKICAgICB7Ci0gICAgICAg
IHJldHVybiBhZG9wdFJlZihuZXcgQWxsQXVkaW9DYXBhYmlsaXRpZXMoY2FwYWJpbGl0aWVzKSk7
CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEFsbEF1ZGlvQ2FwYWJpbGl0aWVzKGNhcGFi
aWxpdGllcykpOwogICAgIH0KICAgICB2aXJ0dWFsIH5BbGxBdWRpb0NhcGFiaWxpdGllcygpIHsg
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0FsbFZp
ZGVvQ2FwYWJpbGl0aWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0Fs
bFZpZGVvQ2FwYWJpbGl0aWVzLmgKaW5kZXggMDJlNDU4YWMwZTYyNTI5NTIwMzc4NWJlZjZjMTQ5
MzBlOGMxYTZlZC4uMDE4N2MzMDRhOTUxNWQxMGJjZjFhZTE4YTM0YTZiOGY0NTAyYmNmMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9BbGxWaWRlb0NhcGFi
aWxpdGllcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vQWxsVmlk
ZW9DYXBhYmlsaXRpZXMuaApAQCAtMzcsOSArMzcsOSBAQCBjbGFzcyBSZWFsdGltZU1lZGlhU291
cmNlQ2FwYWJpbGl0aWVzOwogCiBjbGFzcyBBbGxWaWRlb0NhcGFiaWxpdGllcyA6IHB1YmxpYyBN
ZWRpYVN0cmVhbUNhcGFiaWxpdGllcyB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZlB0cjxBbGxW
aWRlb0NhcGFiaWxpdGllcz4gY3JlYXRlKFBhc3NSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZUNh
cGFiaWxpdGllcz4gY2FwYWJpbGl0aWVzKQorICAgIHN0YXRpYyBSZWY8QWxsVmlkZW9DYXBhYmls
aXRpZXM+IGNyZWF0ZShQYXNzUmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2VDYXBhYmlsaXRpZXM+
IGNhcGFiaWxpdGllcykKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgQWxsVmlk
ZW9DYXBhYmlsaXRpZXMoY2FwYWJpbGl0aWVzKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigq
bmV3IEFsbFZpZGVvQ2FwYWJpbGl0aWVzKGNhcGFiaWxpdGllcykpOwogICAgIH0KICAgICB2aXJ0
dWFsIH5BbGxWaWRlb0NhcGFiaWxpdGllcygpIHsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0NhcGFiaWxpdHlSYW5nZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0NhcGFiaWxpdHlSYW5nZS5jcHAKaW5kZXggZjlhMjc5
YjE5MWJkYjY0ZDIzZDkxOTU5YzRjMDBmZTNjZmFkNWVjNi4uNjE0ZTRjNmZkMjU4OWNlNGNhYmRm
MjZmOWJkMTAyZTU4OWExN2YyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9DYXBhYmlsaXR5UmFuZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vQ2FwYWJpbGl0eVJhbmdlLmNwcApAQCAtNDAsOSArNDAsOSBAQCB1c2lu
ZyBuYW1lc3BhY2UgSlNDOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVJlZlB0cjxDYXBhYmls
aXR5UmFuZ2U+IENhcGFiaWxpdHlSYW5nZTo6Y3JlYXRlKGNvbnN0IFJlYWx0aW1lTWVkaWFTb3Vy
Y2VDYXBhYmlsaXR5UmFuZ2UmIHJhbmdlSW5mbykKK1JlZjxDYXBhYmlsaXR5UmFuZ2U+IENhcGFi
aWxpdHlSYW5nZTo6Y3JlYXRlKGNvbnN0IFJlYWx0aW1lTWVkaWFTb3VyY2VDYXBhYmlsaXR5UmFu
Z2UmIHJhbmdlSW5mbykKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IENhcGFiaWxpdHlSYW5n
ZShyYW5nZUluZm8pKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDYXBhYmlsaXR5UmFuZ2Uo
cmFuZ2VJbmZvKSk7CiB9CiAKIENhcGFiaWxpdHlSYW5nZTo6Q2FwYWJpbGl0eVJhbmdlKGNvbnN0
IFJlYWx0aW1lTWVkaWFTb3VyY2VDYXBhYmlsaXR5UmFuZ2UmIHJhbmdlSW5mbykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vQ2FwYWJpbGl0eVJhbmdlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0NhcGFiaWxpdHlSYW5nZS5oCmlu
ZGV4IGZlMjMyODNiNTI0NTU1NzM5ZGZlZWE2NjNlMjNhMTNlYzcyN2EwMTguLjdkOGJiYTNiZTBj
MjE0NDUyN2Y5MTgxM2I5OTRhMTBjMGQ0NThlNjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vQ2FwYWJpbGl0eVJhbmdlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9DYXBhYmlsaXR5UmFuZ2UuaApAQCAtNDEsNyArNDEsNyBA
QCBjbGFzcyBDYXBhYmlsaXR5UmFuZ2UgOiBwdWJsaWMgUmVmQ291bnRlZDxDYXBhYmlsaXR5UmFu
Z2U+LCBwdWJsaWMgU2NyaXB0V3JhcHBhYgogcHVibGljOgogICAgIHZpcnR1YWwgfkNhcGFiaWxp
dHlSYW5nZSgpIHsgfQogCi0gICAgc3RhdGljIFJlZlB0cjxDYXBhYmlsaXR5UmFuZ2U+IGNyZWF0
ZShjb25zdCBSZWFsdGltZU1lZGlhU291cmNlQ2FwYWJpbGl0eVJhbmdlJik7CisgICAgc3RhdGlj
IFJlZjxDYXBhYmlsaXR5UmFuZ2U+IGNyZWF0ZShjb25zdCBSZWFsdGltZU1lZGlhU291cmNlQ2Fw
YWJpbGl0eVJhbmdlJik7CiAKICAgICBEZXByZWNhdGVkOjpTY3JpcHRWYWx1ZSBtaW4oSlNDOjpF
eGVjU3RhdGUqKSBjb25zdDsKICAgICBEZXByZWNhdGVkOjpTY3JpcHRWYWx1ZSBtYXgoSlNDOjpF
eGVjU3RhdGUqKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vTWVkaWFTb3VyY2VTdGF0ZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9NZWRpYVNvdXJjZVN0YXRlcy5jcHAKaW5kZXggMTljMTAzYWUyMGU5MjVlOTA4
ZDdiODAyYmMxODgzYzM4YzM4ZGU2Ny4uNzYzN2FiZmEyNmIwZGJjZGMyNWZmODlhMzBhNjUwYmQx
MzYwMWVlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9N
ZWRpYVNvdXJjZVN0YXRlcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9NZWRpYVNvdXJjZVN0YXRlcy5jcHAKQEAgLTMzLDkgKzMzLDkgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1SZWZQdHI8TWVkaWFTb3VyY2VTdGF0ZXM+IE1lZGlhU291cmNlU3RhdGVz
OjpjcmVhdGUoY29uc3QgUmVhbHRpbWVNZWRpYVNvdXJjZVN0YXRlcyYgc3RhdGVzKQorUmVmPE1l
ZGlhU291cmNlU3RhdGVzPiBNZWRpYVNvdXJjZVN0YXRlczo6Y3JlYXRlKGNvbnN0IFJlYWx0aW1l
TWVkaWFTb3VyY2VTdGF0ZXMmIHN0YXRlcykKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IE1l
ZGlhU291cmNlU3RhdGVzKHN0YXRlcykpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IE1lZGlh
U291cmNlU3RhdGVzKHN0YXRlcykpOwogfQogCiBNZWRpYVNvdXJjZVN0YXRlczo6TWVkaWFTb3Vy
Y2VTdGF0ZXMoY29uc3QgUmVhbHRpbWVNZWRpYVNvdXJjZVN0YXRlcyYgc3RhdGVzKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVNvdXJjZVN0YXRl
cy5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVNvdXJjZVN0YXRl
cy5oCmluZGV4IGMzNGZhMGE0NGIzMzE2NDQ0ODBjMjQzYTdlYzdhZmQwZGFjYzU5YjEuLmM0NjM3
M2Q5NDA2ZmVlMzRhYjhiYzQwMjNhMjg1YjdmNGQ4N2QyN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTb3VyY2VTdGF0ZXMuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU291cmNlU3RhdGVzLmgKQEAgLTM3
LDcgKzM3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBNZWRpYVNvdXJjZVN0YXRl
cyA6IHB1YmxpYyBSZWZDb3VudGVkPE1lZGlhU291cmNlU3RhdGVzPiwgcHVibGljIFNjcmlwdFdy
YXBwYWJsZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZlB0cjxNZWRpYVNvdXJjZVN0YXRlcz4g
Y3JlYXRlKGNvbnN0IFJlYWx0aW1lTWVkaWFTb3VyY2VTdGF0ZXMmKTsKKyAgICBzdGF0aWMgUmVm
PE1lZGlhU291cmNlU3RhdGVzPiBjcmVhdGUoY29uc3QgUmVhbHRpbWVNZWRpYVNvdXJjZVN0YXRl
cyYpOwogCiAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBzb3VyY2VUeXBlKCkgY29uc3Q7CiAgICAg
Y29uc3QgQXRvbWljU3RyaW5nJiBzb3VyY2VJZCgpIGNvbnN0IHsgcmV0dXJuIG1fc291cmNlU3Rh
dGVzLnNvdXJjZUlkKCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwCmluZGV4IDZhZGI0ZmU3MDllZDFhYTVkZWJk
ZWY5Zjc3ZWQ5YmJjMjM1MWFkOWUuLjNmYWJhYjFkNjhjODk2YTE1MjEzNDNhNDhhZGRiZGI3M2Fh
YmY0NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVk
aWFTdHJlYW1UcmFjay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9NZWRpYVN0cmVhbVRyYWNrLmNwcApAQCAtNDksMTQgKzQ5LDE0IEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotUmVmUHRyPE1lZGlhU3RyZWFtVHJhY2s+IE1lZGlhU3RyZWFtVHJhY2s6OmNy
ZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBNZWRpYVN0cmVhbVRyYWNrUHJp
dmF0ZSYgcHJpdmF0ZVRyYWNrKQorUmVmPE1lZGlhU3RyZWFtVHJhY2s+IE1lZGlhU3RyZWFtVHJh
Y2s6OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBNZWRpYVN0cmVhbVRy
YWNrUHJpdmF0ZSYgcHJpdmF0ZVRyYWNrKQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgTWVk
aWFTdHJlYW1UcmFjayhjb250ZXh0LCBwcml2YXRlVHJhY2spKTsKKyAgICByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBNZWRpYVN0cmVhbVRyYWNrKGNvbnRleHQsIHByaXZhdGVUcmFjaykpOwogfQogCi1S
ZWZQdHI8TWVkaWFTdHJlYW1UcmFjaz4gTWVkaWFTdHJlYW1UcmFjazo6Y3JlYXRlKE1lZGlhU3Ry
ZWFtVHJhY2smIHRyYWNrKQorUmVmPE1lZGlhU3RyZWFtVHJhY2s+IE1lZGlhU3RyZWFtVHJhY2s6
OmNyZWF0ZShNZWRpYVN0cmVhbVRyYWNrJiB0cmFjaykKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYo
bmV3IE1lZGlhU3RyZWFtVHJhY2sodHJhY2spKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBN
ZWRpYVN0cmVhbVRyYWNrKHRyYWNrKSk7CiB9CiAKIE1lZGlhU3RyZWFtVHJhY2s6Ok1lZGlhU3Ry
ZWFtVHJhY2soU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgTWVkaWFTdHJlYW1UcmFj
a1ByaXZhdGUmIHByaXZhdGVUcmFjaykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmgKaW5kZXggYWVlZDEwMzYzZmM0MzY1YjU4
MDI5N2VjYmEyNjNmNjViYWE3MDJjZS4uMWQwOWNjNDZhYzA4MDk0ZDI5MGVkNGU5Yjc0MGJmYjk0
ZTc5Mjk0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9N
ZWRpYVN0cmVhbVRyYWNrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9NZWRpYVN0cmVhbVRyYWNrLmgKQEAgLTU3LDggKzU3LDggQEAgcHVibGljOgogICAgICAgICB2
aXJ0dWFsIHZvaWQgdHJhY2tEaWRFbmQoKSA9IDA7CiAgICAgfTsKIAotICAgIHN0YXRpYyBSZWZQ
dHI8TWVkaWFTdHJlYW1UcmFjaz4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBNZWRp
YVN0cmVhbVRyYWNrUHJpdmF0ZSYpOwotICAgIHN0YXRpYyBSZWZQdHI8TWVkaWFTdHJlYW1UcmFj
az4gY3JlYXRlKE1lZGlhU3RyZWFtVHJhY2smKTsKKyAgICBzdGF0aWMgUmVmPE1lZGlhU3RyZWFt
VHJhY2s+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgTWVkaWFTdHJlYW1UcmFja1By
aXZhdGUmKTsKKyAgICBzdGF0aWMgUmVmPE1lZGlhU3RyZWFtVHJhY2s+IGNyZWF0ZShNZWRpYVN0
cmVhbVRyYWNrJik7CiAgICAgdmlydHVhbCB+TWVkaWFTdHJlYW1UcmFjaygpOwogCiAgICAgY29u
c3QgQXRvbWljU3RyaW5nJiBraW5kKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2tTb3VyY2VzUmVxdWVzdC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2tTb3Vy
Y2VzUmVxdWVzdC5jcHAKaW5kZXggOTYyZmYwNjYxNWQxNjcwMDJmMWZlNGE1MmUzY2IyMzAzNmMz
MWU1Zi4uZmIyYzUxMjdhNTgwMGIyNDQxMGRhMzlhNzgwZDIzM2JkMWUwZDMzYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrU291
cmNlc1JlcXVlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
TWVkaWFTdHJlYW1UcmFja1NvdXJjZXNSZXF1ZXN0LmNwcApAQCAtMzcsOSArMzcsOSBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLVBhc3NSZWZQdHI8TWVkaWFTdHJlYW1UcmFja1NvdXJjZXNS
ZXF1ZXN0PiBNZWRpYVN0cmVhbVRyYWNrU291cmNlc1JlcXVlc3Q6OmNyZWF0ZShTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiBjb250ZXh0LCBQYXNzUmVmUHRyPE1lZGlhU3RyZWFtVHJhY2tTb3VyY2Vz
Q2FsbGJhY2s+IGNhbGxiYWNrKQorUmVmPE1lZGlhU3RyZWFtVHJhY2tTb3VyY2VzUmVxdWVzdD4g
TWVkaWFTdHJlYW1UcmFja1NvdXJjZXNSZXF1ZXN0OjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCogY29udGV4dCwgUGFzc1JlZlB0cjxNZWRpYVN0cmVhbVRyYWNrU291cmNlc0NhbGxiYWNr
PiBjYWxsYmFjaykKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IE1lZGlhU3RyZWFtVHJhY2tT
b3VyY2VzUmVxdWVzdChjb250ZXh0LCBjYWxsYmFjaykpOworICAgIHJldHVybiBhZG9wdFJlZigq
bmV3IE1lZGlhU3RyZWFtVHJhY2tTb3VyY2VzUmVxdWVzdChjb250ZXh0LCBjYWxsYmFjaykpOwog
fQogCiBNZWRpYVN0cmVhbVRyYWNrU291cmNlc1JlcXVlc3Q6Ok1lZGlhU3RyZWFtVHJhY2tTb3Vy
Y2VzUmVxdWVzdChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBQYXNzUmVmUHRyPE1l
ZGlhU3RyZWFtVHJhY2tTb3VyY2VzQ2FsbGJhY2s+IGNhbGxiYWNrKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrU291cmNlc1Jl
cXVlc3QuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1U
cmFja1NvdXJjZXNSZXF1ZXN0LmgKaW5kZXggMTMzOWIxYmJiNGVjZWM3MDBjNTAxOWQ1ZDI5NWY2
ZDI5ODliMTdjNi4uMzk2NmNlZmUxZmJhODNiMGE5OTY2NWM2NzA2MjZhYTQyOGJhYjMyNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRy
YWNrU291cmNlc1JlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL01lZGlhU3RyZWFtVHJhY2tTb3VyY2VzUmVxdWVzdC5oCkBAIC00MSw3ICs0MSw3IEBAIGNs
YXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKIGNsYXNzIE1lZGlhU3RyZWFtVHJhY2tTb3Vy
Y2VzUmVxdWVzdCA6IHB1YmxpYyBNZWRpYVN0cmVhbVRyYWNrU291cmNlc1JlcXVlc3RDbGllbnQg
ewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1lZGlhU3RyZWFtVHJhY2tTb3VyY2Vz
UmVxdWVzdD4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPE1lZGlh
U3RyZWFtVHJhY2tTb3VyY2VzQ2FsbGJhY2s+KTsKKyAgICBzdGF0aWMgUmVmPE1lZGlhU3RyZWFt
VHJhY2tTb3VyY2VzUmVxdWVzdD4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNz
UmVmUHRyPE1lZGlhU3RyZWFtVHJhY2tTb3VyY2VzQ2FsbGJhY2s+KTsKICAgICB2aXJ0dWFsIH5N
ZWRpYVN0cmVhbVRyYWNrU291cmNlc1JlcXVlc3QoKSB7IH0KIAogcHJpdmF0ZToKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFUcmFja0NvbnN0cmFp
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVRyYWNrQ29u
c3RyYWludC5jcHAKaW5kZXggYjEwZmNhMjFkNjkzY2I1ZWNkYWQ4N2MwOTYzZDUzYmJmMGMxYmYw
Mi4uM2M3N2MwMjMwNTNhMTE3ZTUyMTU0NTkyNTZhZTc2MGY1NDgyN2NjOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVRyYWNrQ29uc3RyYWludC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVRyYWNrQ29u
c3RyYWludC5jcHAKQEAgLTM0LDkgKzM0LDkgQEAgdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi1SZWZQdHI8TWVkaWFUcmFja0NvbnN0cmFpbnQ+IE1lZGlhVHJh
Y2tDb25zdHJhaW50OjpjcmVhdGUoY29uc3QgRGljdGlvbmFyeSYgY29uc3RyYWludCkKK1JlZjxN
ZWRpYVRyYWNrQ29uc3RyYWludD4gTWVkaWFUcmFja0NvbnN0cmFpbnQ6OmNyZWF0ZShjb25zdCBE
aWN0aW9uYXJ5JiBjb25zdHJhaW50KQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgTWVkaWFU
cmFja0NvbnN0cmFpbnQoY29uc3RyYWludCkpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IE1l
ZGlhVHJhY2tDb25zdHJhaW50KGNvbnN0cmFpbnQpKTsKIH0KIAogTWVkaWFUcmFja0NvbnN0cmFp
bnQ6Ok1lZGlhVHJhY2tDb25zdHJhaW50KGNvbnN0IERpY3Rpb25hcnkmIGNvbnN0cmFpbnQpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhVHJhY2tD
b25zdHJhaW50LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhVHJh
Y2tDb25zdHJhaW50LmgKaW5kZXggNWI5ZDcwNTIzY2JmNzhhY2MxZWVmNjdlMjZjNWQ4YTdiYTM3
NDkyZS4uYzJhODgyZmZkOTQ2MDk4MjUyMTU4OTFiYzc2ODEyN2ZiNDQxNmZjMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVRyYWNrQ29uc3RyYWlu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFUcmFja0Nv
bnN0cmFpbnQuaApAQCAtNDEsNyArNDEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNz
IE1lZGlhVHJhY2tDb25zdHJhaW50IDogcHVibGljIFJlZkNvdW50ZWQ8TWVkaWFUcmFja0NvbnN0
cmFpbnQ+LCBwdWJsaWMgU2NyaXB0V3JhcHBhYmxlIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVm
UHRyPE1lZGlhVHJhY2tDb25zdHJhaW50PiBjcmVhdGUoY29uc3QgRGljdGlvbmFyeSYpOworICAg
IHN0YXRpYyBSZWY8TWVkaWFUcmFja0NvbnN0cmFpbnQ+IGNyZWF0ZShjb25zdCBEaWN0aW9uYXJ5
Jik7CiAKICAgICB2aXJ0dWFsIH5NZWRpYVRyYWNrQ29uc3RyYWludCgpOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhVHJhY2tDb25zdHJhaW50
U2V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFUcmFja0Nv
bnN0cmFpbnRTZXQuY3BwCmluZGV4IDhjZDAyNDY1Zjg3YWNhNGFmMzg3ZDA0YjUxNTc0YWNiODQz
ZDExMjUuLjBiMDE5NTEzOTlmMmJlNjJlYWZlMWMxNTMyZTk2MjBkMmE4ZDliNWIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFUcmFja0NvbnN0cmFp
bnRTZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFU
cmFja0NvbnN0cmFpbnRTZXQuY3BwCkBAIC0zNCw5ICszNCw5IEBAIHVzaW5nIG5hbWVzcGFjZSBK
U0M7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUmVmUHRyPE1lZGlhVHJhY2tDb25zdHJhaW50
U2V0PiBNZWRpYVRyYWNrQ29uc3RyYWludFNldDo6Y3JlYXRlKGNvbnN0IERpY3Rpb25hcnkmIGNv
bnN0cmFpbnRzKQorUmVmPE1lZGlhVHJhY2tDb25zdHJhaW50U2V0PiBNZWRpYVRyYWNrQ29uc3Ry
YWludFNldDo6Y3JlYXRlKGNvbnN0IERpY3Rpb25hcnkmIGNvbnN0cmFpbnRzKQogewotICAgIHJl
dHVybiBhZG9wdFJlZihuZXcgTWVkaWFUcmFja0NvbnN0cmFpbnRTZXQoY29uc3RyYWludHMpKTsK
KyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBNZWRpYVRyYWNrQ29uc3RyYWludFNldChjb25zdHJh
aW50cykpOwogfQogCiBNZWRpYVRyYWNrQ29uc3RyYWludFNldDo6TWVkaWFUcmFja0NvbnN0cmFp
bnRTZXQoY29uc3QgRGljdGlvbmFyeSYgY29uc3RyYWludHMpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhVHJhY2tDb25zdHJhaW50U2V0LmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhVHJhY2tDb25zdHJhaW50U2V0
LmgKaW5kZXggZWNhMmU5YTc4Nzk0OWQzMzVkMmNhNjIzYjg5ODkzNTk0ZGVlMjJkNS4uMDljNTNj
MjhiY2VlNTk2ZTgyYzc4MjNkMGJiZGJmYWFhMmZhODQ1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVRyYWNrQ29uc3RyYWludFNldC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFUcmFja0NvbnN0cmFpbnRT
ZXQuaApAQCAtMzcsNyArMzcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIE1lZGlh
VHJhY2tDb25zdHJhaW50U2V0IDogcHVibGljIFJlZkNvdW50ZWQ8TWVkaWFUcmFja0NvbnN0cmFp
bnRTZXQ+LCBwdWJsaWMgU2NyaXB0V3JhcHBhYmxlIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVm
UHRyPE1lZGlhVHJhY2tDb25zdHJhaW50U2V0PiBjcmVhdGUoY29uc3QgRGljdGlvbmFyeSYpOwor
ICAgIHN0YXRpYyBSZWY8TWVkaWFUcmFja0NvbnN0cmFpbnRTZXQ+IGNyZWF0ZShjb25zdCBEaWN0
aW9uYXJ5Jik7CiAKICAgICB2aXJ0dWFsIH5NZWRpYVRyYWNrQ29uc3RyYWludFNldCgpOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhVHJhY2tD
b25zdHJhaW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlh
VHJhY2tDb25zdHJhaW50cy5jcHAKaW5kZXggY2JmMjFlNWU5NGMyYTk3YWE5ZTJiODliNDJlYWY2
MWI3NzlhOWQ2Yi4uYmU3ZGI4NjliOGRkMGI3ZjcwOGE2ZmRjNzc5NDgxOTY5ZmE3NGMwMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVRyYWNrQ29u
c3RyYWludHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVk
aWFUcmFja0NvbnN0cmFpbnRzLmNwcApAQCAtMzgsOSArMzgsOSBAQCB1c2luZyBuYW1lc3BhY2Ug
SlNDOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVJlZlB0cjxNZWRpYVRyYWNrQ29uc3RyYWlu
dHM+IE1lZGlhVHJhY2tDb25zdHJhaW50czo6Y3JlYXRlKFBhc3NSZWZQdHI8TWVkaWFDb25zdHJh
aW50c0ltcGw+IGNvbnN0cmFpbnRzKQorUmVmPE1lZGlhVHJhY2tDb25zdHJhaW50cz4gTWVkaWFU
cmFja0NvbnN0cmFpbnRzOjpjcmVhdGUoUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRzSW1wbD4g
Y29uc3RyYWludHMpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBNZWRpYVRyYWNrQ29uc3Ry
YWludHMoY29uc3RyYWludHMpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBNZWRpYVRyYWNr
Q29uc3RyYWludHMoY29uc3RyYWludHMpKTsKIH0KIAogTWVkaWFUcmFja0NvbnN0cmFpbnRzOjpN
ZWRpYVRyYWNrQ29uc3RyYWludHMoUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRzSW1wbD4gY29u
c3RyYWludHMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L01lZGlhVHJhY2tDb25zdHJhaW50cy5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9NZWRpYVRyYWNrQ29uc3RyYWludHMuaAppbmRleCA2Zjk1ZjU1MjExNzMwNmJjNGZhMWY5
YjM3M2QyOGM5NjI0ODYxYjI3Li4wMDk2MjQxYmNlYmZmMzFmNjdlODY4NzFiODk4MzU3ZmExMmQ0
MjFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlh
VHJhY2tDb25zdHJhaW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vTWVkaWFUcmFja0NvbnN0cmFpbnRzLmgKQEAgLTQyLDcgKzQyLDcgQEAgY2xhc3MgTWVkaWFU
cmFja0NvbnN0cmFpbnRzIDogcHVibGljIFJlZkNvdW50ZWQ8TWVkaWFUcmFja0NvbnN0cmFpbnRz
PiwgcHVibGljIFMKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5NZWRpYVRyYWNrQ29uc3RyYWludHMo
KSB7IH0KIAotICAgIHN0YXRpYyBSZWZQdHI8TWVkaWFUcmFja0NvbnN0cmFpbnRzPiBjcmVhdGUo
UGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRzSW1wbD4pOworICAgIHN0YXRpYyBSZWY8TWVkaWFU
cmFja0NvbnN0cmFpbnRzPiBjcmVhdGUoUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRzSW1wbD4p
OwogCiAgICAgVmVjdG9yPFBhc3NSZWZQdHI8TWVkaWFUcmFja0NvbnN0cmFpbnQ+PiBvcHRpb25h
bChib29sKSBjb25zdDsKICAgICBSZWZQdHI8TWVkaWFUcmFja0NvbnN0cmFpbnRTZXQ+IG1hbmRh
dG9yeShib29sKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaAppbmRleCBlYTM3ODcxZGFl
YjMzNDgxMGE4NmY1YTgwOGRmMDc0NzFjYWQxMjNkLi5jMTdlZjQwODQ2ZDJlM2ViODMyYjRjY2Fj
ZWE2YjQ1MGIzMzdmZGVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oCkBAIC0zNiw5ICszNiw5
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgTmF2aWdhdG9yVXNlck1lZGlhRXJyb3Ig
OiBwdWJsaWMgRE9NRXJyb3IgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPE5hdmln
YXRvclVzZXJNZWRpYUVycm9yPiBjcmVhdGUoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJp
bmcmIGNvbnN0cmFpbnROYW1lKQorICAgIHN0YXRpYyBSZWY8TmF2aWdhdG9yVXNlck1lZGlhRXJy
b3I+IGNyZWF0ZShjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgY29uc3RyYWludE5h
bWUpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IE5hdmlnYXRvclVzZXJNZWRp
YUVycm9yKG5hbWUsIGNvbnN0cmFpbnROYW1lKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigq
bmV3IE5hdmlnYXRvclVzZXJNZWRpYUVycm9yKG5hbWUsIGNvbnN0cmFpbnROYW1lKSk7CiAgICAg
fQogCiAgICAgdmlydHVhbCB+TmF2aWdhdG9yVXNlck1lZGlhRXJyb3IoKSB7IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDQ29uZmlndXJhdGlvbi5o
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENDb25maWd1cmF0aW9uLmgK
aW5kZXggNDEwNTFhOTM0OTZkNmJkMGJlNWM2NDA5NDZiNjMzOTBlM2I3MmIzOC4uNGZmYTk2ZTAy
ZTMyODFkY2MyNjgxNGMzODI2ZWFkNWI1MGUzODZlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENDb25maWd1cmF0aW9uLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENDb25maWd1cmF0aW9uLmgKQEAgLTQ0LDcgKzQ0
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBSVENDb25maWd1cmF0aW9uIDogcHVi
bGljIFJlZkNvdW50ZWQ8UlRDQ29uZmlndXJhdGlvbj4gewogcHVibGljOgotICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPFJUQ0NvbmZpZ3VyYXRpb24+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKG5l
dyBSVENDb25maWd1cmF0aW9uKCkpOyB9CisgICAgc3RhdGljIFJlZjxSVENDb25maWd1cmF0aW9u
PiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IFJUQ0NvbmZpZ3VyYXRpb24oKSk7IH0K
ICAgICB2aXJ0dWFsIH5SVENDb25maWd1cmF0aW9uKCkgeyB9CiAKICAgICB2b2lkIGFwcGVuZFNl
cnZlcihQYXNzUmVmUHRyPFJUQ0ljZVNlcnZlcj4gc2VydmVyKSB7IG1fcHJpdmF0ZS0+YXBwZW5k
U2VydmVyKHNlcnZlci0+cHJpdmF0ZVNlcnZlcigpKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENJY2VTZXJ2ZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDSWNlU2VydmVyLmgKaW5kZXggZWNhMjU4ZmI0NjI3MjIy
ZGFmMzczODlhODNlYTE3OTRmNGEyNjlmOC4uNDIxOGQyYjE3YjcxMTBjYjRiODQyZTE5ZDZmYmZl
NDE2ZTlkMDUyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENJY2VTZXJ2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ0ljZVNlcnZlci5oCkBAIC0zOCwxNCArMzgsMTQgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBjbGFzcyBSVENJY2VTZXJ2ZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxSVENJY2VTZXJ2ZXI+IHsK
IHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxSVENJY2VTZXJ2ZXI+IGNyZWF0ZShjb25z
dCBWZWN0b3I8U3RyaW5nPiYgdXJscywgY29uc3QgU3RyaW5nJiBjcmVkZW50aWFsLCBjb25zdCBT
dHJpbmcmIHVzZXJuYW1lKQorICAgIHN0YXRpYyBSZWY8UlRDSWNlU2VydmVyPiBjcmVhdGUoY29u
c3QgVmVjdG9yPFN0cmluZz4mIHVybHMsIGNvbnN0IFN0cmluZyYgY3JlZGVudGlhbCwgY29uc3Qg
U3RyaW5nJiB1c2VybmFtZSkKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgUlRD
SWNlU2VydmVyKHVybHMsIGNyZWRlbnRpYWwsIHVzZXJuYW1lKSk7CisgICAgICAgIHJldHVybiBh
ZG9wdFJlZigqbmV3IFJUQ0ljZVNlcnZlcih1cmxzLCBjcmVkZW50aWFsLCB1c2VybmFtZSkpOwog
ICAgIH0KIAotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFJUQ0ljZVNlcnZlcj4gY3JlYXRlKFBhc3NS
ZWZQdHI8UlRDSWNlU2VydmVyUHJpdmF0ZT4gc2VydmVyKQorICAgIHN0YXRpYyBSZWY8UlRDSWNl
U2VydmVyPiBjcmVhdGUoUGFzc1JlZlB0cjxSVENJY2VTZXJ2ZXJQcml2YXRlPiBzZXJ2ZXIpCiAg
ICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFJUQ0ljZVNlcnZlcihzZXJ2ZXIpKTsK
KyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUlRDSWNlU2VydmVyKHNlcnZlcikpOwogICAg
IH0KIAogICAgIHZpcnR1YWwgflJUQ0ljZVNlcnZlcigpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb24uY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb24u
Y3BwCmluZGV4IDg1YmZiNWMzMWU3NjRiNmU4MTg1MjkzMzU4Y2IxOTZiMDcxNTgwZDMuLmRkOTEz
MTExZTg0MTZlNjhlYjA2NjdkMzNhMjJiYzViODIwY2Y5NmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlv
bi5jcHAKQEAgLTQ2LDcgKzQ2LDcgQEAgc3RhdGljIGJvb2wgdmVyaWZ5VHlwZShjb25zdCBTdHJp
bmcmIHR5cGUpCiAgICAgcmV0dXJuIHR5cGUgPT0gIm9mZmVyIiB8fCB0eXBlID09ICJwcmFuc3dl
ciIgfHwgdHlwZSA9PSAiYW5zd2VyIjsKIH0KIAotUGFzc1JlZlB0cjxSVENTZXNzaW9uRGVzY3Jp
cHRpb24+IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbjo6Y3JlYXRlKGNvbnN0IERpY3Rpb25hcnkmIGRp
Y3Rpb25hcnksIEV4Y2VwdGlvbkNvZGUmIGVjKQorUmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlv
bj4gUlRDU2Vzc2lvbkRlc2NyaXB0aW9uOjpjcmVhdGUoY29uc3QgRGljdGlvbmFyeSYgZGljdGlv
bmFyeSwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAgU3RyaW5nIHR5cGU7CiAgICAgYm9vbCBv
ayA9IGRpY3Rpb25hcnkuZ2V0KCJ0eXBlIiwgdHlwZSk7CkBAIC02MiwxMyArNjIsMTMgQEAgUGFz
c1JlZlB0cjxSVENTZXNzaW9uRGVzY3JpcHRpb24+IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbjo6Y3Jl
YXRlKGNvbnN0IERpY3Rpb25hcnkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogCi0g
ICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBSVENTZXNzaW9uRGVzY3JpcHRpb24oUlRDU2Vzc2lvbkRl
c2NyaXB0aW9uRGVzY3JpcHRvcjo6Y3JlYXRlKHR5cGUsIHNkcCkpKTsKKyAgICByZXR1cm4gYWRv
cHRSZWYoKm5ldyBSVENTZXNzaW9uRGVzY3JpcHRpb24oUlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVz
Y3JpcHRvcjo6Y3JlYXRlKHR5cGUsIHNkcCkpKTsKIH0KIAotUGFzc1JlZlB0cjxSVENTZXNzaW9u
RGVzY3JpcHRpb24+IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbjo6Y3JlYXRlKFBhc3NSZWZQdHI8UlRD
U2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvcj4gZGVzY3JpcHRvcikKK1JlZlB0cjxSVENTZXNz
aW9uRGVzY3JpcHRpb24+IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbjo6Y3JlYXRlKFBhc3NSZWZQdHI8
UlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvcj4gZGVzY3JpcHRvcikKIHsKICAgICBBU1NF
UlQoZGVzY3JpcHRvcik7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBSVENTZXNzaW9uRGVzY3Jp
cHRpb24oZGVzY3JpcHRvcikpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFJUQ1Nlc3Npb25E
ZXNjcmlwdGlvbihkZXNjcmlwdG9yKSk7CiB9CiAKIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbjo6UlRD
U2Vzc2lvbkRlc2NyaXB0aW9uKFBhc3NSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3Jp
cHRvcj4gZGVzY3JpcHRvcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlvbi5oCmluZGV4IGZhZmUyYjY1YTZiODdh
ZjkzYjA1YTk2OTBiNmM4NDVkYjkxZjk5ZTEuLmJjYjMzNTQxNmJmYTUzMGJiZDhmMmRlNTdjOGQw
OWEzYjk2ZTdmZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb24uaApAQCAtNDYsOCArNDYsOCBAQCBjbGFz
cyBSVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yOwogCiBjbGFzcyBSVENTZXNzaW9uRGVz
Y3JpcHRpb24gOiBwdWJsaWMgUmVmQ291bnRlZDxSVENTZXNzaW9uRGVzY3JpcHRpb24+LCBwdWJs
aWMgU2NyaXB0V3JhcHBhYmxlIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxSVENT
ZXNzaW9uRGVzY3JpcHRpb24+IGNyZWF0ZShjb25zdCBEaWN0aW9uYXJ5JiwgRXhjZXB0aW9uQ29k
ZSYpOwotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlvbj4gY3JlYXRl
KFBhc3NSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvcj4pOworICAgIHN0YXRp
YyBSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uPiBjcmVhdGUoY29uc3QgRGljdGlvbmFyeSYs
IEV4Y2VwdGlvbkNvZGUmKTsKKyAgICBzdGF0aWMgUmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlv
bj4gY3JlYXRlKFBhc3NSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvcj4pOwog
ICAgIHZpcnR1YWwgflJUQ1Nlc3Npb25EZXNjcmlwdGlvbigpOwogCiAgICAgY29uc3QgU3RyaW5n
JiB0eXBlKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlvblJlcXVlc3RJbXBsLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVxdWVzdEltcGwu
Y3BwCmluZGV4IDRiMmFkN2VlMzgzOWU3ZmQxZGE5MzFhZDQ3NjMxMzY1NmQwMDJhNDQuLmQ3MTBk
YzE4ZjVlMjNjYjZlMTMwOGRmMjhmNjU2YTY4OWJjYjA2ZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVxdWVzdElt
cGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lv
bkRlc2NyaXB0aW9uUmVxdWVzdEltcGwuY3BwCkBAIC00MywxMSArNDMsMTEgQEAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi1QYXNzUmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlvblJlcXVlc3RJ
bXBsPiBSVENTZXNzaW9uRGVzY3JpcHRpb25SZXF1ZXN0SW1wbDo6Y3JlYXRlKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqIGNvbnRleHQsIFBhc3NSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uQ2Fs
bGJhY2s+IHN1Y2Nlc3NDYWxsYmFjaywgUGFzc1JlZlB0cjxSVENQZWVyQ29ubmVjdGlvbkVycm9y
Q2FsbGJhY2s+IGVycm9yQ2FsbGJhY2spCitSZWY8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVxdWVz
dEltcGw+IFJUQ1Nlc3Npb25EZXNjcmlwdGlvblJlcXVlc3RJbXBsOjpjcmVhdGUoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCogY29udGV4dCwgUGFzc1JlZlB0cjxSVENTZXNzaW9uRGVzY3JpcHRpb25D
YWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrLCBQYXNzUmVmUHRyPFJUQ1BlZXJDb25uZWN0aW9uRXJy
b3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjaykKIHsKLSAgICBSZWZQdHI8UlRDU2Vzc2lvbkRlc2Ny
aXB0aW9uUmVxdWVzdEltcGw+IHJlcXVlc3QgPSBhZG9wdFJlZihuZXcgUlRDU2Vzc2lvbkRlc2Ny
aXB0aW9uUmVxdWVzdEltcGwoY29udGV4dCwgc3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNhbGxiYWNr
KSk7CisgICAgUmVmPFJUQ1Nlc3Npb25EZXNjcmlwdGlvblJlcXVlc3RJbXBsPiByZXF1ZXN0ID0g
YWRvcHRSZWYoKm5ldyBSVENTZXNzaW9uRGVzY3JpcHRpb25SZXF1ZXN0SW1wbChjb250ZXh0LCBz
dWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2spKTsKICAgICByZXF1ZXN0LT5zdXNwZW5kSWZO
ZWVkZWQoKTsKLSAgICByZXR1cm4gcmVxdWVzdC5yZWxlYXNlKCk7CisgICAgcmV0dXJuIHJlcXVl
c3Q7CiB9CiAKIFJUQ1Nlc3Npb25EZXNjcmlwdGlvblJlcXVlc3RJbXBsOjpSVENTZXNzaW9uRGVz
Y3JpcHRpb25SZXF1ZXN0SW1wbChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBQYXNz
UmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlvbkNhbGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2ssIFBh
c3NSZWZQdHI8UlRDUGVlckNvbm5lY3Rpb25FcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTZXNzaW9u
RGVzY3JpcHRpb25SZXF1ZXN0SW1wbC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb25SZXF1ZXN0SW1wbC5oCmluZGV4IDJkNzhiNTA5OGVk
MTViZWYzY2U0ODliOTAzMmYyMTY4ZDkzY2Y0MmQuLmVkNjczYjhhZDY4ZWFkODc1MThiOWZjZmE3
OGJkMTVkODZkNWI4NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVxdWVzdEltcGwuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlvblJlcXVlc3RJbXBs
LmgKQEAgLTQ1LDcgKzQ1LDcgQEAgY2xhc3MgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uQ2FsbGJhY2s7
CiAKIGNsYXNzIFJUQ1Nlc3Npb25EZXNjcmlwdGlvblJlcXVlc3RJbXBsIDogcHVibGljIFJUQ1Nl
c3Npb25EZXNjcmlwdGlvblJlcXVlc3QsIHB1YmxpYyBBY3RpdmVET01PYmplY3QgewogcHVibGlj
OgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlvblJlcXVlc3RJbXBs
PiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8UlRDU2Vzc2lvbkRl
c2NyaXB0aW9uQ2FsbGJhY2s+LCBQYXNzUmVmUHRyPFJUQ1BlZXJDb25uZWN0aW9uRXJyb3JDYWxs
YmFjaz4pOworICAgIHN0YXRpYyBSZWY8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVxdWVzdEltcGw+
IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxSVENTZXNzaW9uRGVz
Y3JpcHRpb25DYWxsYmFjaz4sIFBhc3NSZWZQdHI8UlRDUGVlckNvbm5lY3Rpb25FcnJvckNhbGxi
YWNrPik7CiAgICAgdmlydHVhbCB+UlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVxdWVzdEltcGwoKTsK
IAogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0U3VjY2VlZGVkKFBhc3NSZWZQdHI8UlRDU2Vzc2lv
bkRlc2NyaXB0aW9uRGVzY3JpcHRvcj4pIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTdGF0c1JlcG9ydC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1N0YXRzUmVwb3J0LmNwcAppbmRleCAyNzkzN2Vi
YTNmMTk0NWU0NGI4YTI2ZTQxZTkxOThmZWI1OTdiYzZiLi45ODlhNzZmZmMwODY3MTNhMWY2MDZm
YWM1ZGQ0ZDE2Y2EzOTM5YjM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL1JUQ1N0YXRzUmVwb3J0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ1N0YXRzUmVwb3J0LmNwcApAQCAtMzMsOSArMzMsOSBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLVBhc3NSZWZQdHI8UlRDU3RhdHNSZXBvcnQ+IFJUQ1N0YXRzUmVw
b3J0OjpjcmVhdGUoY29uc3QgU3RyaW5nJiBpZCwgY29uc3QgU3RyaW5nJiB0eXBlLCBkb3VibGUg
dGltZXN0YW1wKQorUmVmPFJUQ1N0YXRzUmVwb3J0PiBSVENTdGF0c1JlcG9ydDo6Y3JlYXRlKGNv
bnN0IFN0cmluZyYgaWQsIGNvbnN0IFN0cmluZyYgdHlwZSwgZG91YmxlIHRpbWVzdGFtcCkKIHsK
LSAgICByZXR1cm4gYWRvcHRSZWYobmV3IFJUQ1N0YXRzUmVwb3J0KGlkLCB0eXBlLCB0aW1lc3Rh
bXApKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBSVENTdGF0c1JlcG9ydChpZCwgdHlwZSwg
dGltZXN0YW1wKSk7CiB9CiAKIFJUQ1N0YXRzUmVwb3J0OjpSVENTdGF0c1JlcG9ydChjb25zdCBT
dHJpbmcmIGlkLCBjb25zdCBTdHJpbmcmIHR5cGUsIGRvdWJsZSB0aW1lc3RhbXApCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1N0YXRzUmVwb3J0Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1N0YXRzUmVwb3J0LmgKaW5k
ZXggZjdiOGFmZTI5M2Q2MjllOTdhNGI3MjlkMDUzNjljYzQyZTAwNmQyZC4uZjkzYTNkZDEyMDhj
Y2VhMmM3MTBhMTgxOGQ5ZjZhM2JjYzUzZDRjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTdGF0c1JlcG9ydC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU3RhdHNSZXBvcnQuaApAQCAtMzYsNyArMzYsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFJUQ1N0YXRzUmVwb3J0IDogcHVibGljIFJlZkNv
dW50ZWQ8UlRDU3RhdHNSZXBvcnQ+LCBwdWJsaWMgU2NyaXB0V3JhcHBhYmxlIHsKIHB1YmxpYzoK
LSAgICBzdGF0aWMgUGFzc1JlZlB0cjxSVENTdGF0c1JlcG9ydD4gY3JlYXRlKGNvbnN0IFN0cmlu
ZyYgaWQsIGNvbnN0IFN0cmluZyYgdHlwZSwgZG91YmxlIHRpbWVzdGFtcCk7CisgICAgc3RhdGlj
IFJlZjxSVENTdGF0c1JlcG9ydD4gY3JlYXRlKGNvbnN0IFN0cmluZyYgaWQsIGNvbnN0IFN0cmlu
ZyYgdHlwZSwgZG91YmxlIHRpbWVzdGFtcCk7CiAKICAgICBkb3VibGUgdGltZXN0YW1wKCkgY29u
c3QgeyByZXR1cm4gbV90aW1lc3RhbXA7IH0KICAgICBTdHJpbmcgaWQoKSB7IHJldHVybiBtX2lk
OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1N0
YXRzUmVxdWVzdEltcGwuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENTdGF0c1JlcXVlc3RJbXBsLmNwcAppbmRleCA5MTFhMmY5YzcwMGY1MWRiYTI1NDE2M2ZlM2E2
YmYyYzRjYTdhMzg1Li5kZWIxOWE5YWY5MGRjZmM0NTYzNzM4NjhlMTVmODgzNWRmYmU0YzhmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1N0YXRzUmVx
dWVzdEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
U3RhdHNSZXF1ZXN0SW1wbC5jcHAKQEAgLTM2LDExICszNiwxMSBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLVBhc3NSZWZQdHI8UlRDU3RhdHNSZXF1ZXN0SW1wbD4gUlRDU3RhdHNSZXF1ZXN0
SW1wbDo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFBhc3NSZWZQdHI8
UlRDU3RhdHNDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrLCBQYXNzUmVmUHRyPFJUQ1BlZXJDb25u
ZWN0aW9uRXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjaywgUGFzc1JlZlB0cjxNZWRpYVN0cmVh
bVRyYWNrUHJpdmF0ZT4gc2VsZWN0b3IpCitSZWY8UlRDU3RhdHNSZXF1ZXN0SW1wbD4gUlRDU3Rh
dHNSZXF1ZXN0SW1wbDo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFBh
c3NSZWZQdHI8UlRDU3RhdHNDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrLCBQYXNzUmVmUHRyPFJU
Q1BlZXJDb25uZWN0aW9uRXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjaywgUGFzc1JlZlB0cjxN
ZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZT4gc2VsZWN0b3IpCiB7Ci0gICAgUmVmUHRyPFJUQ1N0YXRz
UmVxdWVzdEltcGw+IHJlcXVlc3QgPSBhZG9wdFJlZihuZXcgUlRDU3RhdHNSZXF1ZXN0SW1wbChj
b250ZXh0LCBzdWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2ssIHNlbGVjdG9yKSk7CisgICAg
UmVmPFJUQ1N0YXRzUmVxdWVzdEltcGw+IHJlcXVlc3QgPSBhZG9wdFJlZigqbmV3IFJUQ1N0YXRz
UmVxdWVzdEltcGwoY29udGV4dCwgc3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNhbGxiYWNrLCBzZWxl
Y3RvcikpOwogICAgIHJlcXVlc3QtPnN1c3BlbmRJZk5lZWRlZCgpOwotICAgIHJldHVybiByZXF1
ZXN0LnJlbGVhc2UoKTsKKyAgICByZXR1cm4gcmVxdWVzdDsKIH0KIAogUlRDU3RhdHNSZXF1ZXN0
SW1wbDo6UlRDU3RhdHNSZXF1ZXN0SW1wbChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0
LCBQYXNzUmVmUHRyPFJUQ1N0YXRzQ2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjaywgUGFzc1JlZlB0
cjxSVENQZWVyQ29ubmVjdGlvbkVycm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2ssIFBhc3NSZWZQ
dHI8TWVkaWFTdHJlYW1UcmFja1ByaXZhdGU+IHNlbGVjdG9yKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTdGF0c1JlcXVlc3RJbXBsLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1N0YXRzUmVxdWVzdEltcGwuaAppbmRl
eCA0ZThlZDcxOTZkOWM4ZjkwYTJhM2IzNjUwMGY5ZmM3ODA2ZjFkYzMxLi43YjYyMjc2NmZhODY5
YjYxMTRmZDQ1ZTNjOTk4MTRlZmU4Yzc3ZDlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ1N0YXRzUmVxdWVzdEltcGwuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1N0YXRzUmVxdWVzdEltcGwuaApAQCAtNDEsNyAr
NDEsNyBAQCBjbGFzcyBSVENQZWVyQ29ubmVjdGlvbkVycm9yQ2FsbGJhY2s7CiAKIGNsYXNzIFJU
Q1N0YXRzUmVxdWVzdEltcGwgOiBwdWJsaWMgUlRDU3RhdHNSZXF1ZXN0LCBwdWJsaWMgQWN0aXZl
RE9NT2JqZWN0IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxSVENTdGF0c1JlcXVl
c3RJbXBsPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8UlRDU3Rh
dHNDYWxsYmFjaz4sIFBhc3NSZWZQdHI8UlRDUGVlckNvbm5lY3Rpb25FcnJvckNhbGxiYWNrPiwg
UGFzc1JlZlB0cjxNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZT4pOworICAgIHN0YXRpYyBSZWY8UlRD
U3RhdHNSZXF1ZXN0SW1wbD4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVm
UHRyPFJUQ1N0YXRzQ2FsbGJhY2s+LCBQYXNzUmVmUHRyPFJUQ1BlZXJDb25uZWN0aW9uRXJyb3JD
YWxsYmFjaz4sIFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1UcmFja1ByaXZhdGU+KTsKICAgICB2aXJ0
dWFsIH5SVENTdGF0c1JlcXVlc3RJbXBsKCk7CiAKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8UlRD
U3RhdHNSZXNwb25zZUJhc2U+IGNyZWF0ZVJlc3BvbnNlKCkgb3ZlcnJpZGU7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1N0YXRzUmVzcG9uc2UuY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTdGF0c1Jlc3BvbnNlLmNw
cAppbmRleCBjM2I0MWZlMTkyY2IwZTQ4Yjk2OTUwMmY2ZDUxMTM0YWNmMWM4N2NlLi5iYjNlZTMy
NzNkZjRkMDVhZjYxM2Y3OWYzZGI0MDI4OWQ1NTJhN2NhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1N0YXRzUmVzcG9uc2UuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU3RhdHNSZXNwb25zZS5jcHAKQEAgLTMw
LDkgKzMwLDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1QYXNzUmVmUHRyPFJUQ1N0YXRz
UmVzcG9uc2U+IFJUQ1N0YXRzUmVzcG9uc2U6OmNyZWF0ZSgpCitSZWY8UlRDU3RhdHNSZXNwb25z
ZT4gUlRDU3RhdHNSZXNwb25zZTo6Y3JlYXRlKCkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3
IFJUQ1N0YXRzUmVzcG9uc2UoKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUlRDU3RhdHNS
ZXNwb25zZSgpKTsKIH0KIAogUlRDU3RhdHNSZXNwb25zZTo6UlRDU3RhdHNSZXNwb25zZSgpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1N0YXRzUmVz
cG9uc2UuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU3RhdHNSZXNw
b25zZS5oCmluZGV4IDNhNDU4ZmY5OTJjOWVhNTc1MTEzNjhhY2I2MTYzMjU4Y2QwYmY0YjUuLmQ0
MWI5YjhkNTkzYmYxYWQ5MzZmZDY0NGM5ZDY0NjRjYWI4OTA4MDMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU3RhdHNSZXNwb25zZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU3RhdHNSZXNwb25zZS5oCkBAIC00
MSw3ICs0MSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUlRDU3RhdHNSZXNwb25z
ZSA6IHB1YmxpYyBSVENTdGF0c1Jlc3BvbnNlQmFzZSwgcHVibGljIFNjcmlwdFdyYXBwYWJsZSB7
CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8UlRDU3RhdHNSZXNwb25zZT4gY3JlYXRl
KCk7CisgICAgc3RhdGljIFJlZjxSVENTdGF0c1Jlc3BvbnNlPiBjcmVhdGUoKTsKIAogICAgIGNv
bnN0IFZlY3RvcjxSZWZQdHI8UlRDU3RhdHNSZXBvcnQ+PiYgcmVzdWx0KCkgY29uc3QgeyByZXR1
cm4gbV9yZXN1bHQ7IH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vUlRDVm9pZFJlcXVlc3RJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vUlRDVm9pZFJlcXVlc3RJbXBsLmNwcAppbmRleCBiN2RiMjFiM2Y4MzA1OGQ1
NTlmM2ZmNjhhMDJhY2Q0ZGMwMmEwZmJkLi44MmY4YTEyMmRkMzA5ZTNhZDBlNDM5NGVjOWNjMzVl
ZTAwOWRhZDM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ1ZvaWRSZXF1ZXN0SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENWb2lkUmVxdWVzdEltcGwuY3BwCkBAIC00MiwxMSArNDIsMTEgQEAKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi1QYXNzUmVmUHRyPFJUQ1ZvaWRSZXF1ZXN0SW1wbD4gUlRDVm9p
ZFJlcXVlc3RJbXBsOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgUGFz
c1JlZlB0cjxWb2lkQ2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjaywgUGFzc1JlZlB0cjxSVENQZWVy
Q29ubmVjdGlvbkVycm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2spCitSZWY8UlRDVm9pZFJlcXVl
c3RJbXBsPiBSVENWb2lkUmVxdWVzdEltcGw6OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiBjb250ZXh0LCBQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrLCBQYXNz
UmVmUHRyPFJUQ1BlZXJDb25uZWN0aW9uRXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjaykKIHsK
LSAgICBSZWZQdHI8UlRDVm9pZFJlcXVlc3RJbXBsPiByZXF1ZXN0ID0gYWRvcHRSZWYobmV3IFJU
Q1ZvaWRSZXF1ZXN0SW1wbChjb250ZXh0LCBzdWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2sp
KTsKKyAgICBSZWY8UlRDVm9pZFJlcXVlc3RJbXBsPiByZXF1ZXN0ID0gYWRvcHRSZWYoKm5ldyBS
VENWb2lkUmVxdWVzdEltcGwoY29udGV4dCwgc3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNhbGxiYWNr
KSk7CiAgICAgcmVxdWVzdC0+c3VzcGVuZElmTmVlZGVkKCk7Ci0gICAgcmV0dXJuIHJlcXVlc3Qu
cmVsZWFzZSgpOworICAgIHJldHVybiByZXF1ZXN0OwogfQogCiBSVENWb2lkUmVxdWVzdEltcGw6
OlJUQ1ZvaWRSZXF1ZXN0SW1wbChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBQYXNz
UmVmUHRyPFZvaWRDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrLCBQYXNzUmVmUHRyPFJUQ1BlZXJD
b25uZWN0aW9uRXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjaykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDVm9pZFJlcXVlc3RJbXBsLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1ZvaWRSZXF1ZXN0SW1wbC5oCmluZGV4
IGE0MDNlYjI0Y2YyZGYzNmFmMDQ4OTEyNWUwYzhmMjQyYTkxMzRhYTIuLjk0YjhiODk5ODlhZGNm
MGFlYTA0NTJiNjgwNmE0NGNlM2EzOWEyNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vUlRDVm9pZFJlcXVlc3RJbXBsLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENWb2lkUmVxdWVzdEltcGwuaApAQCAtNDQsNyArNDQs
NyBAQCBjbGFzcyBWb2lkQ2FsbGJhY2s7CiAKIGNsYXNzIFJUQ1ZvaWRSZXF1ZXN0SW1wbCA6IHB1
YmxpYyBSVENWb2lkUmVxdWVzdCwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7CiBwdWJsaWM6Ci0g
ICAgc3RhdGljIFBhc3NSZWZQdHI8UlRDVm9pZFJlcXVlc3RJbXBsPiBjcmVhdGUoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNrPiwgUGFzc1JlZlB0cjxSVENQ
ZWVyQ29ubmVjdGlvbkVycm9yQ2FsbGJhY2s+KTsKKyAgICBzdGF0aWMgUmVmPFJUQ1ZvaWRSZXF1
ZXN0SW1wbD4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPFZvaWRD
YWxsYmFjaz4sIFBhc3NSZWZQdHI8UlRDUGVlckNvbm5lY3Rpb25FcnJvckNhbGxiYWNrPik7CiAg
ICAgdmlydHVhbCB+UlRDVm9pZFJlcXVlc3RJbXBsKCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgcmVx
dWVzdFN1Y2NlZWRlZCgpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9Tb3VyY2VJbmZvLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vU291cmNlSW5mby5jcHAKaW5kZXggYjExNmYyZmQxNTE4NDVmN2U2NjlmZTA0
ODg5Y2M5YzRhZDRjMTAyMC4uNGJiNGVmODYwZjQ2N2U0NmI4NTVmM2FjM2EyNTNjZDYyMjQ2Nzgz
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Tb3VyY2VJ
bmZvLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1NvdXJjZUlu
Zm8uY3BwCkBAIC0zMyw5ICszMyw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUGFzc1Jl
ZlB0cjxTb3VyY2VJbmZvPiBTb3VyY2VJbmZvOjpjcmVhdGUoUGFzc1JlZlB0cjxUcmFja1NvdXJj
ZUluZm8+IHRyYWNrU291cmNlSW5mbykKK1JlZjxTb3VyY2VJbmZvPiBTb3VyY2VJbmZvOjpjcmVh
dGUoUGFzc1JlZlB0cjxUcmFja1NvdXJjZUluZm8+IHRyYWNrU291cmNlSW5mbykKIHsKLSAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IFNvdXJjZUluZm8odHJhY2tTb3VyY2VJbmZvKSk7CisgICAgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgU291cmNlSW5mbyh0cmFja1NvdXJjZUluZm8pKTsKIH0KIAogU291
cmNlSW5mbzo6U291cmNlSW5mbyhQYXNzUmVmUHRyPFRyYWNrU291cmNlSW5mbz4gdHJhY2tTb3Vy
Y2VJbmZvKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9T
b3VyY2VJbmZvLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1NvdXJjZUlu
Zm8uaAppbmRleCAyM2YxNjJlMzc4ZjFlNWZjOTNlOWUxY2Q4YmNiZGY3ZDIxNDRlNTNmLi5lNWFi
ZTBjZjRhNjAxZmNhOWM4ZTY5YmZkYTA1MmRhMDNmODc5ZmZiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1NvdXJjZUluZm8uaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1NvdXJjZUluZm8uaApAQCAtNDAsNyArNDAsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNvdXJjZUluZm8gOiBwdWJsaWMgUmVmQ291bnRl
ZDxTb3VyY2VJbmZvPiwgcHVibGljIFNjcmlwdFdyYXBwYWJsZSB7CiBwdWJsaWM6Ci0gICAgc3Rh
dGljIFBhc3NSZWZQdHI8U291cmNlSW5mbz4gY3JlYXRlKFBhc3NSZWZQdHI8VHJhY2tTb3VyY2VJ
bmZvPik7CisgICAgc3RhdGljIFJlZjxTb3VyY2VJbmZvPiBjcmVhdGUoUGFzc1JlZlB0cjxUcmFj
a1NvdXJjZUluZm8+KTsKIAogICAgIGNvbnN0IEF0b21pY1N0cmluZyYgc291cmNlSWQoKSBjb25z
dCB7IHJldHVybiBtX3RyYWNrU291cmNlSW5mby0+aWQoKTsgfQogICAgIGNvbnN0IEF0b21pY1N0
cmluZyYgbGFiZWwoKSBjb25zdCB7IHJldHVybiBtX3RyYWNrU291cmNlSW5mby0+bGFiZWwoKTsg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVk
aWFSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1l
ZGlhUmVxdWVzdC5jcHAKaW5kZXggNGE5YWU2M2U1MWI3MWVkZTcwZGFiMzQ0MjZhMzBlMjBmNTUz
NjgyOC4uZjBmYzYzYTdlZjgwOGRiMjc5NWE2MjU3NWE2NDUxMGFjZmY1MzA0OCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVl
c3QuY3BwCkBAIC03MSw3ICs3MSw3IEBAIHN0YXRpYyBQYXNzUmVmUHRyPE1lZGlhQ29uc3RyYWlu
dHM+IHBhcnNlT3B0aW9ucyhjb25zdCBEaWN0aW9uYXJ5JiBvcHRpb25zLCBjb25zCiAgICAgcmV0
dXJuIGNvbnN0cmFpbnRzLnJlbGVhc2UoKTsKIH0KIAotUGFzc1JlZlB0cjxVc2VyTWVkaWFSZXF1
ZXN0PiBVc2VyTWVkaWFSZXF1ZXN0OjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29u
dGV4dCwgVXNlck1lZGlhQ29udHJvbGxlciogY29udHJvbGxlciwgY29uc3QgRGljdGlvbmFyeSYg
b3B0aW9ucywgUGFzc1JlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2s+IHN1
Y2Nlc3NDYWxsYmFjaywgUGFzc1JlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNr
PiBlcnJvckNhbGxiYWNrLCBFeGNlcHRpb25Db2RlJiBlYykKK1JlZlB0cjxVc2VyTWVkaWFSZXF1
ZXN0PiBVc2VyTWVkaWFSZXF1ZXN0OjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29u
dGV4dCwgVXNlck1lZGlhQ29udHJvbGxlciogY29udHJvbGxlciwgY29uc3QgRGljdGlvbmFyeSYg
b3B0aW9ucywgUGFzc1JlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2s+IHN1
Y2Nlc3NDYWxsYmFjaywgUGFzc1JlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNr
PiBlcnJvckNhbGxiYWNrLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBBU1NFUlQoc3VjY2Vz
c0NhbGxiYWNrKTsKIApAQCAtODYsNyArODYsNyBAQCBQYXNzUmVmUHRyPFVzZXJNZWRpYVJlcXVl
c3Q+IFVzZXJNZWRpYVJlcXVlc3Q6OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjbwog
ICAgIHJldHVybiBVc2VyTWVkaWFSZXF1ZXN0OjpjcmVhdGUoY29udGV4dCwgY29udHJvbGxlciwg
b3B0aW9ucywgV1RGOjptb3ZlKHJlc29sdmVDYWxsYmFjayksIFdURjo6bW92ZShyZWplY3RDYWxs
YmFjayksIGVjKTsKIH0KIAotUGFzc1JlZlB0cjxVc2VyTWVkaWFSZXF1ZXN0PiBVc2VyTWVkaWFS
ZXF1ZXN0OjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgVXNlck1lZGlh
Q29udHJvbGxlciogY29udHJvbGxlciwgY29uc3QgRGljdGlvbmFyeSYgb3B0aW9ucywgTWVkaWFE
ZXZpY2VzOjpSZXNvbHZlQ2FsbGJhY2sgcmVzb2x2ZUNhbGxiYWNrLCBNZWRpYURldmljZXM6OlJl
amVjdENhbGxiYWNrIHJlamVjdENhbGxiYWNrLCBFeGNlcHRpb25Db2RlJiBlYykKK1JlZlB0cjxV
c2VyTWVkaWFSZXF1ZXN0PiBVc2VyTWVkaWFSZXF1ZXN0OjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCogY29udGV4dCwgVXNlck1lZGlhQ29udHJvbGxlciogY29udHJvbGxlciwgY29uc3Qg
RGljdGlvbmFyeSYgb3B0aW9ucywgTWVkaWFEZXZpY2VzOjpSZXNvbHZlQ2FsbGJhY2sgcmVzb2x2
ZUNhbGxiYWNrLCBNZWRpYURldmljZXM6OlJlamVjdENhbGxiYWNrIHJlamVjdENhbGxiYWNrLCBF
eGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBBU1NFUlQocmVzb2x2ZUNhbGxiYWNrICYmIHJlamVj
dENhbGxiYWNrKTsKIApAQCAtMTAxLDcgKzEwMSw3IEBAIFBhc3NSZWZQdHI8VXNlck1lZGlhUmVx
dWVzdD4gVXNlck1lZGlhUmVxdWVzdDo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNv
CiAgICAgaWYgKCFhdWRpb0NvbnN0cmFpbnRzICYmICF2aWRlb0NvbnN0cmFpbnRzKQogICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKIAotICAgIHJldHVybiBhZG9wdFJlZihuZXcgVXNlck1lZGlhUmVx
dWVzdChjb250ZXh0LCBjb250cm9sbGVyLCBhdWRpb0NvbnN0cmFpbnRzLnJlbGVhc2UoKSwgdmlk
ZW9Db25zdHJhaW50cy5yZWxlYXNlKCksIFdURjo6bW92ZShyZXNvbHZlQ2FsbGJhY2spLCBXVEY6
Om1vdmUocmVqZWN0Q2FsbGJhY2spKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgVXNlck1l
ZGlhUmVxdWVzdChjb250ZXh0LCBjb250cm9sbGVyLCBhdWRpb0NvbnN0cmFpbnRzLnJlbGVhc2Uo
KSwgdmlkZW9Db25zdHJhaW50cy5yZWxlYXNlKCksIFdURjo6bW92ZShyZXNvbHZlQ2FsbGJhY2sp
LCBXVEY6Om1vdmUocmVqZWN0Q2FsbGJhY2spKSk7CiB9CiAKIFVzZXJNZWRpYVJlcXVlc3Q6OlVz
ZXJNZWRpYVJlcXVlc3QoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgVXNlck1lZGlh
Q29udHJvbGxlciogY29udHJvbGxlciwgUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRzPiBhdWRp
b0NvbnN0cmFpbnRzLCBQYXNzUmVmUHRyPE1lZGlhQ29uc3RyYWludHM+IHZpZGVvQ29uc3RyYWlu
dHMsIE1lZGlhRGV2aWNlczo6UmVzb2x2ZUNhbGxiYWNrIHJlc29sdmVDYWxsYmFjaywgTWVkaWFE
ZXZpY2VzOjpSZWplY3RDYWxsYmFjayByZWplY3RDYWxsYmFjaykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlhUmVxdWVzdC5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmgKaW5kZXggMGM2
ODRhZGQyYmYzMTEwZWQyZDJhNTNhNTI2ZDZiNWUzNDQ2Zjc0NC4uZTM1OWE5MTM0M2E2ZjEzMzBh
ODEwZTMyOTU5ZWUzNTRmOTk3NzY2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmgKQEAgLTU4LDggKzU4LDggQEAgdHlw
ZWRlZiBpbnQgRXhjZXB0aW9uQ29kZTsKIAogY2xhc3MgVXNlck1lZGlhUmVxdWVzdCA6IHB1Ymxp
YyBNZWRpYVN0cmVhbUNyZWF0aW9uQ2xpZW50LCBwdWJsaWMgQ29udGV4dERlc3RydWN0aW9uT2Jz
ZXJ2ZXIgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFVzZXJNZWRpYVJlcXVlc3Q+
IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgVXNlck1lZGlhQ29udHJvbGxlciosIGNv
bnN0IERpY3Rpb25hcnkmIG9wdGlvbnMsIFBhc3NSZWZQdHI8TmF2aWdhdG9yVXNlck1lZGlhU3Vj
Y2Vzc0NhbGxiYWNrPiwgUGFzc1JlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNr
PiwgRXhjZXB0aW9uQ29kZSYpOwotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFVzZXJNZWRpYVJlcXVl
c3Q+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgVXNlck1lZGlhQ29udHJvbGxlcios
IGNvbnN0IERpY3Rpb25hcnkmIG9wdGlvbnMsIE1lZGlhRGV2aWNlczo6UmVzb2x2ZUNhbGxiYWNr
LCBNZWRpYURldmljZXM6OlJlamVjdENhbGxiYWNrLCBFeGNlcHRpb25Db2RlJik7CisgICAgc3Rh
dGljIFJlZlB0cjxVc2VyTWVkaWFSZXF1ZXN0PiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCosIFVzZXJNZWRpYUNvbnRyb2xsZXIqLCBjb25zdCBEaWN0aW9uYXJ5JiBvcHRpb25zLCBQYXNz
UmVmUHRyPE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjaz4sIFBhc3NSZWZQdHI8TmF2
aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjaz4sIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICBzdGF0
aWMgUmVmUHRyPFVzZXJNZWRpYVJlcXVlc3Q+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiwgVXNlck1lZGlhQ29udHJvbGxlciosIGNvbnN0IERpY3Rpb25hcnkmIG9wdGlvbnMsIE1lZGlh
RGV2aWNlczo6UmVzb2x2ZUNhbGxiYWNrLCBNZWRpYURldmljZXM6OlJlamVjdENhbGxiYWNrLCBF
eGNlcHRpb25Db2RlJik7CiAgICAgflVzZXJNZWRpYVJlcXVlc3QoKTsKIAogICAgIFdFQkNPUkVf
RVhQT1JUIFNlY3VyaXR5T3JpZ2luKiBzZWN1cml0eU9yaWdpbigpIGNvbnN0OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9xdW90YS9TdG9yYWdlSW5mby5oIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9xdW90YS9TdG9yYWdlSW5mby5oCmluZGV4IGRkNTA1NzliZjA4YjAwZjUy
NzE0NGE4ZGU0N2I3MTExMDg3OTM2ZTYuLjdjNTI2M2MzMDFkYjFkY2VhY2NiM2JjZDMxY2ZkMzZm
NGVhNTQ4MDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcXVvdGEvU3RvcmFn
ZUluZm8uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3F1b3RhL1N0b3JhZ2VJbmZvLmgK
QEAgLTUyLDkgKzUyLDkgQEAgcHVibGljOgogICAgICAgICBQRVJTSVNURU5ULAogICAgIH07CiAK
LSAgICBzdGF0aWMgUGFzc1JlZlB0cjxTdG9yYWdlSW5mbz4gY3JlYXRlKCkKKyAgICBzdGF0aWMg
UmVmPFN0b3JhZ2VJbmZvPiBjcmVhdGUoKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVm
KG5ldyBTdG9yYWdlSW5mbygpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3RvcmFn
ZUluZm8oKSk7CiAgICAgfQogCiAgICAgdm9pZCBxdWVyeVVzYWdlQW5kUXVvdGEoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCosIGludCBzdG9yYWdlVHlwZSwgUGFzc1JlZlB0cjxTdG9yYWdlVXNhZ2VD
YWxsYmFjaz4sIFBhc3NSZWZQdHI8U3RvcmFnZUVycm9yQ2FsbGJhY2s+KTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcXVvdGEvU3RvcmFnZVF1b3RhLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3F1b3RhL1N0b3JhZ2VRdW90YS5oCmluZGV4IDI2NTA0Zjk3NmZlOGI4ZDNi
N2RmNGJmYjgwODIyMzU1MWQxMjlmZmMuLjViOWQzOWEyZWUzOGU1YmUwMWJjNWNhZWNiYmM1NzM1
MzA4MWU4MDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcXVvdGEvU3RvcmFn
ZVF1b3RhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9xdW90YS9TdG9yYWdlUXVvdGEu
aApAQCAtNTAsOSArNTAsOSBAQCBwdWJsaWM6CiAgICAgICAgIFBlcnNpc3RlbnQsCiAgICAgfTsK
IAotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFN0b3JhZ2VRdW90YT4gY3JlYXRlKFR5cGUgdHlwZSkK
KyAgICBzdGF0aWMgUmVmPFN0b3JhZ2VRdW90YT4gY3JlYXRlKFR5cGUgdHlwZSkKICAgICB7Ci0g
ICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgU3RvcmFnZVF1b3RhKHR5cGUpKTsKKyAgICAgICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgU3RvcmFnZVF1b3RhKHR5cGUpKTsKICAgICB9CiAKICAgICB2
b2lkIHF1ZXJ5VXNhZ2VBbmRRdW90YShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0
cjxTdG9yYWdlVXNhZ2VDYWxsYmFjaz4sIFBhc3NSZWZQdHI8U3RvcmFnZUVycm9yQ2FsbGJhY2s+
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFN5bnRo
ZXNpcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXMu
Y3BwCmluZGV4IDVkZDQ3Y2NlZmUyZDRjMjU4MmZlYjY3ZThlOGY4YjgyZWJkNDhiYmQuLjc4NTAz
NDBhMTBhN2UzOTQ3NzQ5YzIwMDQwZTY4MGM1YTFiMzRkZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFN5bnRoZXNpcy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoU3ludGhlc2lzLmNwcApAQCAtMzcsOSArMzcsOSBA
QAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgCi1QYXNzUmVmUHRyPFNwZWVjaFN5bnRoZXNp
cz4gU3BlZWNoU3ludGhlc2lzOjpjcmVhdGUoKQorUmVmPFNwZWVjaFN5bnRoZXNpcz4gU3BlZWNo
U3ludGhlc2lzOjpjcmVhdGUoKQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgU3BlZWNoU3lu
dGhlc2lzKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTcGVlY2hTeW50aGVzaXMpOwogfQog
ICAgIAogU3BlZWNoU3ludGhlc2lzOjpTcGVlY2hTeW50aGVzaXMoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoU3ludGhlc2lzLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXMuaAppbmRleCBkYTYxZjkwOTU2MzM4
MjI3MWZmYzUyMTZhMDgwMmFlYjkzZWQ1YTljLi4zMjIwMzMwMDYyYmNmNmM0NWJkZmZmZTZkZDQ5
NzdlYzljYWQxN2U0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9T
cGVlY2hTeW50aGVzaXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVl
Y2hTeW50aGVzaXMuaApAQCAtNDQsNyArNDQsNyBAQCBjbGFzcyBTcGVlY2hTeW50aGVzaXNWb2lj
ZTsKICAgICAKIGNsYXNzIFNwZWVjaFN5bnRoZXNpcyA6IHB1YmxpYyBQbGF0Zm9ybVNwZWVjaFN5
bnRoZXNpemVyQ2xpZW50LCBwdWJsaWMgUmVmQ291bnRlZDxTcGVlY2hTeW50aGVzaXM+IHsKIHB1
YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxTcGVlY2hTeW50aGVzaXM+IGNyZWF0ZSgpOwor
ICAgIHN0YXRpYyBSZWY8U3BlZWNoU3ludGhlc2lzPiBjcmVhdGUoKTsKICAgICAKICAgICBib29s
IHBlbmRpbmcoKSBjb25zdDsKICAgICBib29sIHNwZWFraW5nKCkgY29uc3Q7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXNVdHRlcmFuY2Uu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoU3ludGhlc2lzVXR0ZXJh
bmNlLmNwcAppbmRleCAwYjZjNzRlNjlhNDFjMTc5ZmIxY2IwZjc0N2FlNjRhZGU2NzVhMWU0Li44
ZTc5ZTlkNGY5YzFjNjczMTY2OGEzMzViNGQ2YWU0OTUxZGI4ZmUwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXNVdHRlcmFuY2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFN5bnRoZXNpc1V0dGVyYW5j
ZS5jcHAKQEAgLTMwLDkgKzMwLDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIAotUGFz
c1JlZlB0cjxTcGVlY2hTeW50aGVzaXNVdHRlcmFuY2U+IFNwZWVjaFN5bnRoZXNpc1V0dGVyYW5j
ZTo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIGNvbnN0IFN0cmluZyYg
dGV4dCkKK1JlZjxTcGVlY2hTeW50aGVzaXNVdHRlcmFuY2U+IFNwZWVjaFN5bnRoZXNpc1V0dGVy
YW5jZTo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIGNvbnN0IFN0cmlu
ZyYgdGV4dCkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNwZWVjaFN5bnRoZXNpc1V0dGVy
YW5jZShjb250ZXh0LCB0ZXh0KSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3BlZWNoU3lu
dGhlc2lzVXR0ZXJhbmNlKGNvbnRleHQsIHRleHQpKTsKIH0KIAogU3BlZWNoU3ludGhlc2lzVXR0
ZXJhbmNlOjpTcGVlY2hTeW50aGVzaXNVdHRlcmFuY2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYg
Y29udGV4dCwgY29uc3QgU3RyaW5nJiB0ZXh0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9zcGVlY2gvU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXNVdHRlcmFuY2UuaAppbmRleCAxY2Q4ZTVh
NTJiYzhhNTY1NDNmOTkyNzk0NTk3OGFlZTRjYjBhMDIwLi4xOTAxNmRmZDUxMzMyY2UwNjBjZDBk
YWM1MjFmODM5YTg3NjgxNGZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Nw
ZWVjaC9TcGVlY2hTeW50aGVzaXNVdHRlcmFuY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXNVdHRlcmFuY2UuaApAQCAtMzksNyArMzksNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZSBmaW5h
bCA6IHB1YmxpYyBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZUNsaWVudCwgcHVibGlj
IFJlZkNvdW50ZWQ8U3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlPiwgcHVibGljIENvbnRleHREZXN0
cnVjdGlvbk9ic2VydmVyLCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSB7CiBwdWJs
aWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8U3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlPiBjcmVh
dGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIGNvbnN0IFN0cmluZyYpOworICAgIHN0YXRpYyBS
ZWY8U3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCYsIGNvbnN0IFN0cmluZyYpOwogICAgIAogICAgIH5TcGVlY2hTeW50aGVzaXNVdHRlcmFuY2Uo
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoU3lu
dGhlc2lzVm9pY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoU3lu
dGhlc2lzVm9pY2UuY3BwCmluZGV4IDJmOWFkNmU1M2NmNDNjNjU4MWJmYzIxMGRhYTQwMmQ5NDM5
ZWViMWMuLmRkMWNmMDljMjkzNzcxZWY5YmUxYTdiNmE5MTU5ZGU3MmIyMWFiODMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFN5bnRoZXNpc1ZvaWNlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXNWb2lj
ZS5jcHAKQEAgLTMwLDkgKzMwLDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIAotUGFz
c1JlZlB0cjxTcGVlY2hTeW50aGVzaXNWb2ljZT4gU3BlZWNoU3ludGhlc2lzVm9pY2U6OmNyZWF0
ZShQYXNzUmVmUHRyPFBsYXRmb3JtU3BlZWNoU3ludGhlc2lzVm9pY2U+IHZvaWNlKQorUmVmPFNw
ZWVjaFN5bnRoZXNpc1ZvaWNlPiBTcGVlY2hTeW50aGVzaXNWb2ljZTo6Y3JlYXRlKFBhc3NSZWZQ
dHI8UGxhdGZvcm1TcGVlY2hTeW50aGVzaXNWb2ljZT4gdm9pY2UpCiB7Ci0gICAgcmV0dXJuIGFk
b3B0UmVmKG5ldyBTcGVlY2hTeW50aGVzaXNWb2ljZSh2b2ljZSkpOworICAgIHJldHVybiBhZG9w
dFJlZigqbmV3IFNwZWVjaFN5bnRoZXNpc1ZvaWNlKHZvaWNlKSk7CiB9CiAKIFNwZWVjaFN5bnRo
ZXNpc1ZvaWNlOjpTcGVlY2hTeW50aGVzaXNWb2ljZShQYXNzUmVmUHRyPFBsYXRmb3JtU3BlZWNo
U3ludGhlc2lzVm9pY2U+IHZvaWNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9zcGVlY2gvU3BlZWNoU3ludGhlc2lzVm9pY2UuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
c3BlZWNoL1NwZWVjaFN5bnRoZXNpc1ZvaWNlLmgKaW5kZXggYWI1NTQwODc0ZWZiMjRjMjA0NDYw
NDc5YzdkZjk5YzRlNTkwM2UwNy4uZDViODg0OGJiMDBiYWIwMGE5MzNiYzNiZTUxMTNlYTJiZGEz
MDRjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoU3lu
dGhlc2lzVm9pY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hT
eW50aGVzaXNWb2ljZS5oCkBAIC0zOCw3ICszOCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNs
YXNzIFNwZWVjaFN5bnRoZXNpc1ZvaWNlIDogcHVibGljIFJlZkNvdW50ZWQ8U3BlZWNoU3ludGhl
c2lzVm9pY2U+IHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5TcGVlY2hTeW50aGVzaXNWb2ljZSgp
IHsgfQotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNwZWVjaFN5bnRoZXNpc1ZvaWNlPiBjcmVhdGUo
UGFzc1JlZlB0cjxQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpc1ZvaWNlPik7CisgICAgc3RhdGljIFJl
ZjxTcGVlY2hTeW50aGVzaXNWb2ljZT4gY3JlYXRlKFBhc3NSZWZQdHI8UGxhdGZvcm1TcGVlY2hT
eW50aGVzaXNWb2ljZT4pOwogICAgIAogICAgIGNvbnN0IFN0cmluZyYgdm9pY2VVUkkoKSBjb25z
dCB7IHJldHVybiBtX3BsYXRmb3JtVm9pY2UtPnZvaWNlVVJJKCk7IH0KICAgICBjb25zdCBTdHJp
bmcmIG5hbWUoKSBjb25zdCB7IHJldHVybiBtX3BsYXRmb3JtVm9pY2UtPm5hbWUoKTsgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9DaGFubmVsTWVyZ2VyTm9k
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0NoYW5uZWxNZXJnZXJOb2Rl
LmNwcAppbmRleCBjYTIyMmVjZTUyOTkzZmIzNDIxOTQ0M2NhODE1YzljOTUzOTc0ZmEzLi41MmQy
M2IzMzM3MjFjMDNiZWIwNjRlYmFhMjIwOWQ0MjQxNjUxMWFmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0NoYW5uZWxNZXJnZXJOb2RlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0NoYW5uZWxNZXJnZXJOb2RlLmNwcApAQCAtNDAs
MTIgKzQwLDEyIEBAIGNvbnN0IHVuc2lnbmVkIERlZmF1bHROdW1iZXJPZk91dHB1dENoYW5uZWxz
ID0gMTsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1QYXNzUmVmUHRyPENoYW5uZWxNZXJnZXJO
b2RlPiBDaGFubmVsTWVyZ2VyTm9kZTo6Y3JlYXRlKEF1ZGlvQ29udGV4dCogY29udGV4dCwgZmxv
YXQgc2FtcGxlUmF0ZSwgdW5zaWduZWQgbnVtYmVyT2ZJbnB1dHMpCitSZWZQdHI8Q2hhbm5lbE1l
cmdlck5vZGU+IENoYW5uZWxNZXJnZXJOb2RlOjpjcmVhdGUoQXVkaW9Db250ZXh0KiBjb250ZXh0
LCBmbG9hdCBzYW1wbGVSYXRlLCB1bnNpZ25lZCBudW1iZXJPZklucHV0cykKIHsKICAgICBpZiAo
IW51bWJlck9mSW5wdXRzIHx8IG51bWJlck9mSW5wdXRzID4gQXVkaW9Db250ZXh0OjptYXhOdW1i
ZXJPZkNoYW5uZWxzKCkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIAotICAgIHJldHVy
biBhZG9wdFJlZihuZXcgQ2hhbm5lbE1lcmdlck5vZGUoY29udGV4dCwgc2FtcGxlUmF0ZSwgbnVt
YmVyT2ZJbnB1dHMpKTsgICAgICAKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDaGFubmVsTWVy
Z2VyTm9kZShjb250ZXh0LCBzYW1wbGVSYXRlLCBudW1iZXJPZklucHV0cykpOyAgICAgIAogfQog
CiBDaGFubmVsTWVyZ2VyTm9kZTo6Q2hhbm5lbE1lcmdlck5vZGUoQXVkaW9Db250ZXh0KiBjb250
ZXh0LCBmbG9hdCBzYW1wbGVSYXRlLCB1bnNpZ25lZCBudW1iZXJPZklucHV0cykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQ2hhbm5lbE1lcmdlck5vZGUuaCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQ2hhbm5lbE1lcmdlck5vZGUuaAppbmRl
eCBkMDY1ZWRiN2UyYTE1NGYxMzc4NmRkOGQzN2M0ZGZkYzk1NzE1MTY1Li5jNTVjMmViZDhhM2Ez
ZDM5MmMyZDg2MWJhYjg1MmM4Njg3YzAzYWQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1ZGlvL0NoYW5uZWxNZXJnZXJOb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9DaGFubmVsTWVyZ2VyTm9kZS5oCkBAIC0zOCw3ICszOCw3IEBAIGNs
YXNzIEF1ZGlvQ29udGV4dDsKICAgICAKIGNsYXNzIENoYW5uZWxNZXJnZXJOb2RlIDogcHVibGlj
IEF1ZGlvTm9kZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8Q2hhbm5lbE1lcmdl
ck5vZGU+IGNyZWF0ZShBdWRpb0NvbnRleHQqLCBmbG9hdCBzYW1wbGVSYXRlLCB1bnNpZ25lZCBu
dW1iZXJPZklucHV0cyk7CisgICAgc3RhdGljIFJlZlB0cjxDaGFubmVsTWVyZ2VyTm9kZT4gY3Jl
YXRlKEF1ZGlvQ29udGV4dCosIGZsb2F0IHNhbXBsZVJhdGUsIHVuc2lnbmVkIG51bWJlck9mSW5w
dXRzKTsKIAogICAgIC8vIEF1ZGlvTm9kZQogICAgIHZpcnR1YWwgdm9pZCBwcm9jZXNzKHNpemVf
dCBmcmFtZXNUb1Byb2Nlc3MpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9DaGFubmVsU3BsaXR0ZXJOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vQ2hhbm5lbFNwbGl0dGVyTm9kZS5jcHAKaW5kZXggODhlZDI5ZDZj
Y2VhMGI2N2ZiNTRkMTRmNjU3OWJhOWIzNjg0MzI2Zi4uN2JmZTRkMGQ1NmQ2MmQzODYzZjViNmEz
OTRhOTQ0NzVjODM4YWQwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9DaGFubmVsU3BsaXR0ZXJOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL0NoYW5uZWxTcGxpdHRlck5vZGUuY3BwCkBAIC0zNCwxMiArMzQsMTIgQEAKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgIAotUGFzc1JlZlB0cjxDaGFubmVsU3BsaXR0ZXJOb2Rl
PiBDaGFubmVsU3BsaXR0ZXJOb2RlOjpjcmVhdGUoQXVkaW9Db250ZXh0KiBjb250ZXh0LCBmbG9h
dCBzYW1wbGVSYXRlLCB1bnNpZ25lZCBudW1iZXJPZk91dHB1dHMpCitSZWZQdHI8Q2hhbm5lbFNw
bGl0dGVyTm9kZT4gQ2hhbm5lbFNwbGl0dGVyTm9kZTo6Y3JlYXRlKEF1ZGlvQ29udGV4dCogY29u
dGV4dCwgZmxvYXQgc2FtcGxlUmF0ZSwgdW5zaWduZWQgbnVtYmVyT2ZPdXRwdXRzKQogewogICAg
IGlmICghbnVtYmVyT2ZPdXRwdXRzIHx8IG51bWJlck9mT3V0cHV0cyA+IEF1ZGlvQ29udGV4dDo6
bWF4TnVtYmVyT2ZDaGFubmVscygpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAotICAgIHJl
dHVybiBhZG9wdFJlZihuZXcgQ2hhbm5lbFNwbGl0dGVyTm9kZShjb250ZXh0LCBzYW1wbGVSYXRl
LCBudW1iZXJPZk91dHB1dHMpKTsgICAgICAKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDaGFu
bmVsU3BsaXR0ZXJOb2RlKGNvbnRleHQsIHNhbXBsZVJhdGUsIG51bWJlck9mT3V0cHV0cykpOyAg
ICAgIAogfQogCiBDaGFubmVsU3BsaXR0ZXJOb2RlOjpDaGFubmVsU3BsaXR0ZXJOb2RlKEF1ZGlv
Q29udGV4dCogY29udGV4dCwgZmxvYXQgc2FtcGxlUmF0ZSwgdW5zaWduZWQgbnVtYmVyT2ZPdXRw
dXRzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9DaGFubmVs
U3BsaXR0ZXJOb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0NoYW5uZWxT
cGxpdHRlck5vZGUuaAppbmRleCA5ZDA3Mjc5ZTI0NzhhODlhNDVmOTc4OGYwMTNlNzZhZTI5ZGVh
MmNkLi5jM2M3MWRjM2Y3ZDQ3M2ZmNWMxZGVkNjQ2ZTQ4NjI1YTgwZmQ1MTM4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0NoYW5uZWxTcGxpdHRlck5vZGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0NoYW5uZWxTcGxpdHRlck5vZGUu
aApAQCAtMzQsNyArMzQsNyBAQCBjbGFzcyBBdWRpb0NvbnRleHQ7CiAgICAgCiBjbGFzcyBDaGFu
bmVsU3BsaXR0ZXJOb2RlIDogcHVibGljIEF1ZGlvTm9kZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGlj
IFBhc3NSZWZQdHI8Q2hhbm5lbFNwbGl0dGVyTm9kZT4gY3JlYXRlKEF1ZGlvQ29udGV4dCosIGZs
b2F0IHNhbXBsZVJhdGUsIHVuc2lnbmVkIG51bWJlck9mT3V0cHV0cyk7CisgICAgc3RhdGljIFJl
ZlB0cjxDaGFubmVsU3BsaXR0ZXJOb2RlPiBjcmVhdGUoQXVkaW9Db250ZXh0KiwgZmxvYXQgc2Ft
cGxlUmF0ZSwgdW5zaWduZWQgbnVtYmVyT2ZPdXRwdXRzKTsKIAogICAgIC8vIEF1ZGlvTm9kZQog
ICAgIHZpcnR1YWwgdm9pZCBwcm9jZXNzKHNpemVfdCBmcmFtZXNUb1Byb2Nlc3MpIG92ZXJyaWRl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9EZWZhdWx0QXVk
aW9EZXN0aW5hdGlvbk5vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vRGVm
YXVsdEF1ZGlvRGVzdGluYXRpb25Ob2RlLmgKaW5kZXggYjFkNjI4ZGQyZTljZDBkNzQ5NDMzMzg2
ODI5NTUwYjQxZjI1YTZkZC4uMWU4NWNjODA5NmMyZGY0MzVhYzUwNWFjOTNkODBiMDA5NWE0NWEy
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9EZWZhdWx0QXVk
aW9EZXN0aW5hdGlvbk5vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlv
L0RlZmF1bHRBdWRpb0Rlc3RpbmF0aW9uTm9kZS5oCkBAIC0zNSw5ICszNSw5IEBAIGNsYXNzIEF1
ZGlvQ29udGV4dDsKICAgICAKIGNsYXNzIERlZmF1bHRBdWRpb0Rlc3RpbmF0aW9uTm9kZSA6IHB1
YmxpYyBBdWRpb0Rlc3RpbmF0aW9uTm9kZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQ
dHI8RGVmYXVsdEF1ZGlvRGVzdGluYXRpb25Ob2RlPiBjcmVhdGUoQXVkaW9Db250ZXh0KiBjb250
ZXh0KQorICAgIHN0YXRpYyBSZWY8RGVmYXVsdEF1ZGlvRGVzdGluYXRpb25Ob2RlPiBjcmVhdGUo
QXVkaW9Db250ZXh0KiBjb250ZXh0KQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5l
dyBEZWZhdWx0QXVkaW9EZXN0aW5hdGlvbk5vZGUoY29udGV4dCkpOyAgICAgCisgICAgICAgIHJl
dHVybiBhZG9wdFJlZigqbmV3IERlZmF1bHRBdWRpb0Rlc3RpbmF0aW9uTm9kZShjb250ZXh0KSk7
ICAgICAKICAgICB9CiAKICAgICB2aXJ0dWFsIH5EZWZhdWx0QXVkaW9EZXN0aW5hdGlvbk5vZGUo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vR2Fpbk5vZGUu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vR2Fpbk5vZGUuaAppbmRleCAzYThj
NWRmZDg1Mjg5ZDc3MmMzNjc0NTQzMTYxMTBlY2QzYWU3N2Y2Li42ZmM2ZmE1NTBhMDE3YWJmMzdm
YTU0M2NjMmRlZTZjNGI5OGZlZjUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL0dhaW5Ob2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9HYWluTm9kZS5oCkBAIC0zOSw5ICszOSw5IEBAIGNsYXNzIEF1ZGlvQ29udGV4dDsKIAogY2xh
c3MgR2Fpbk5vZGUgOiBwdWJsaWMgQXVkaW9Ob2RlIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFz
c1JlZlB0cjxHYWluTm9kZT4gY3JlYXRlKEF1ZGlvQ29udGV4dCogY29udGV4dCwgZmxvYXQgc2Ft
cGxlUmF0ZSkKKyAgICBzdGF0aWMgUmVmPEdhaW5Ob2RlPiBjcmVhdGUoQXVkaW9Db250ZXh0KiBj
b250ZXh0LCBmbG9hdCBzYW1wbGVSYXRlKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVm
KG5ldyBHYWluTm9kZShjb250ZXh0LCBzYW1wbGVSYXRlKSk7CisgICAgICAgIHJldHVybiBhZG9w
dFJlZigqbmV3IEdhaW5Ob2RlKGNvbnRleHQsIHNhbXBsZVJhdGUpKTsKICAgICB9CiAKICAgICAv
LyBBdWRpb05vZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8v
TWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViYXVkaW8vTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlLmNwcAppbmRleCAwZTUwMjU4YWNi
NmI1ZjFiOTY5MGM5ODdlMTk0ODU1MWMwMjkyYzMwLi5iMzJmZDVkZDkzMDg1NzA5NmM3MWJmYzNm
ZWVjMWZmYjhkODJmNjg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL01lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9NZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUuY3BwCkBAIC00MCw5
ICs0MCw5IEBAIGNvbnN0IHVuc2lnbmVkIG1heFNhbXBsZVJhdGUgPSAxOTIwMDA7CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotUGFzc1JlZlB0cjxNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGU+
IE1lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZTo6Y3JlYXRlKEF1ZGlvQ29udGV4dCogY29udGV4
dCwgSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50KQorUmVmPE1lZGlhRWxlbWVudEF1ZGlv
U291cmNlTm9kZT4gTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlOjpjcmVhdGUoQXVkaW9Db250
ZXh0KiBjb250ZXh0LCBIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQpCiB7Ci0gICAgcmV0
dXJuIGFkb3B0UmVmKG5ldyBNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUoY29udGV4dCwgbWVk
aWFFbGVtZW50KSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTWVkaWFFbGVtZW50QXVkaW9T
b3VyY2VOb2RlKGNvbnRleHQsIG1lZGlhRWxlbWVudCkpOwogfQogCiBNZWRpYUVsZW1lbnRBdWRp
b1NvdXJjZU5vZGU6Ok1lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZShBdWRpb0NvbnRleHQqIGNv
bnRleHQsIEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhRWxlbWVudEF1ZGlvU291cmNl
Tm9kZS5oCmluZGV4IDdmNThhZTdiMmNkOWYzNmU3MmM2OWU0MzU4NGRlOTc3YzI5ZDVhNDMuLmY5
NGE2NDdkNDI0Mjg5MjE0M2RhNWIyYjJjODE2OTMzMGRjOWQ3OTcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYUVsZW1lbnRBdWRpb1Nv
dXJjZU5vZGUuaApAQCAtNDEsNyArNDEsNyBAQCBjbGFzcyBBdWRpb0NvbnRleHQ7CiAgICAgCiBj
bGFzcyBNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUgOiBwdWJsaWMgQXVkaW9Ob2RlLCBwdWJs
aWMgQXVkaW9Tb3VyY2VQcm92aWRlckNsaWVudCB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NS
ZWZQdHI8TWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlPiBjcmVhdGUoQXVkaW9Db250ZXh0Kiwg
SFRNTE1lZGlhRWxlbWVudCopOworICAgIHN0YXRpYyBSZWY8TWVkaWFFbGVtZW50QXVkaW9Tb3Vy
Y2VOb2RlPiBjcmVhdGUoQXVkaW9Db250ZXh0KiwgSFRNTE1lZGlhRWxlbWVudCopOwogCiAgICAg
dmlydHVhbCB+TWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlKCk7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9u
Tm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVk
aW9EZXN0aW5hdGlvbk5vZGUuY3BwCmluZGV4IDBmZWI3Yzg4ODVlMjZlYmE4ZWM0NmU0ZTZlMDY3
ZDEwNzBiYjJmZGMuLjEyMTAxYTQzYzhlNjBkMjE5ZWI4ZTEyZTY5ZmQwM2EzYzcwZmQ5MTAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRp
b0Rlc3RpbmF0aW9uTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9NZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2RlLmNwcApAQCAtMzcsOSArMzcsOSBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVBhc3NSZWZQdHI8TWVkaWFTdHJlYW1BdWRpb0Rlc3Rp
bmF0aW9uTm9kZT4gTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZTo6Y3JlYXRlKEF1ZGlv
Q29udGV4dCogY29udGV4dCwgc2l6ZV90IG51bWJlck9mQ2hhbm5lbHMpCitSZWY8TWVkaWFTdHJl
YW1BdWRpb0Rlc3RpbmF0aW9uTm9kZT4gTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZTo6
Y3JlYXRlKEF1ZGlvQ29udGV4dCogY29udGV4dCwgc2l6ZV90IG51bWJlck9mQ2hhbm5lbHMpCiB7
Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBNZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2Rl
KGNvbnRleHQsIG51bWJlck9mQ2hhbm5lbHMpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBN
ZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2RlKGNvbnRleHQsIG51bWJlck9mQ2hhbm5lbHMp
KTsKIH0KIAogTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZTo6TWVkaWFTdHJlYW1BdWRp
b0Rlc3RpbmF0aW9uTm9kZShBdWRpb0NvbnRleHQqIGNvbnRleHQsIHNpemVfdCBudW1iZXJPZkNo
YW5uZWxzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRp
YVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGUuaAppbmRleCAwNThkNWEzYTk3
MWMzYTkzOTVlZmUxOTJmMTRlYmZhMWIyODVhZWZmLi4yZjQ5MTYxYjcxODQ0OGMwNjFmZTViOWEy
ZWUzZWYzOWE3NWZkZTlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL01lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGUuaApAQCAt
MzksNyArMzksNyBAQCBjbGFzcyBNZWRpYVN0cmVhbUF1ZGlvU291cmNlOwogCiBjbGFzcyBNZWRp
YVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2RlIDogcHVibGljIEF1ZGlvQmFzaWNJbnNwZWN0b3JO
b2RlIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxNZWRpYVN0cmVhbUF1ZGlvRGVz
dGluYXRpb25Ob2RlPiBjcmVhdGUoQXVkaW9Db250ZXh0Kiwgc2l6ZV90IG51bWJlck9mQ2hhbm5l
bHMpOworICAgIHN0YXRpYyBSZWY8TWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZT4gY3Jl
YXRlKEF1ZGlvQ29udGV4dCosIHNpemVfdCBudW1iZXJPZkNoYW5uZWxzKTsKIAogICAgIHZpcnR1
YWwgfk1lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGUoKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlvU291cmNlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb1NvdXJjZS5j
cHAKaW5kZXggOTU0NWI3YmJjZmE4ZjM2YzZhMjAzYzE1MDI1OTczNjdmMmMxZmNiZi4uZWQ3OGE3
YzBkMmM1NDcyOTUwOWU2Yzk5MDY2YjMzNzg3MWRmMWRkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlvU291cmNlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9Tb3VyY2UuY3Bw
CkBAIC0zNCw5ICszNCw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUmVmUHRyPE1lZGlh
U3RyZWFtQXVkaW9Tb3VyY2U+IE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2U6OmNyZWF0ZSgpCitSZWY8
TWVkaWFTdHJlYW1BdWRpb1NvdXJjZT4gTWVkaWFTdHJlYW1BdWRpb1NvdXJjZTo6Y3JlYXRlKCkK
IHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2UoKSk7Cisg
ICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTWVkaWFTdHJlYW1BdWRpb1NvdXJjZSgpKTsKIH0KIAog
TWVkaWFTdHJlYW1BdWRpb1NvdXJjZTo6TWVkaWFTdHJlYW1BdWRpb1NvdXJjZSgpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9Tb3Vy
Y2UuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb1Nv
dXJjZS5oCmluZGV4IDk0NzIyN2Y4ZjkwZjVkNWM5NDQ4NDBmMjZmMjIwNjRiMjRhZmI1MGEuLjQx
OGIzMmU4ZjgxMmNlMjRhOTJjNzU4YjliZjkzZmYyNDkyY2FiYzEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb1NvdXJjZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb1NvdXJjZS5o
CkBAIC00Miw3ICs0Miw3IEBAIGNsYXNzIFJlYWx0aW1lTWVkaWFTb3VyY2VDYXBhYmlsaXRpZXM7
CiAKIGNsYXNzIE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2UgOiBwdWJsaWMgUmVhbHRpbWVNZWRpYVNv
dXJjZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZlB0cjxNZWRpYVN0cmVhbUF1ZGlvU291cmNl
PiBjcmVhdGUoKTsKKyAgICBzdGF0aWMgUmVmPE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2U+IGNyZWF0
ZSgpOwogCiAgICAgfk1lZGlhU3RyZWFtQXVkaW9Tb3VyY2UoKSB7IH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9k
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9T
b3VyY2VOb2RlLmNwcAppbmRleCA4NjcyMTJlNTFmYjBmZjZkMmFiZDI2ZmYwNGViNDIxYjQ3MDUw
ZTE3Li5kMWFiYmM2M2M3NTYzYzYwODU4NTUwOWUzMTVjOWFmMjkxZDMwOGRlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9Tb3VyY2VO
b2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFt
QXVkaW9Tb3VyY2VOb2RlLmNwcApAQCAtMzUsOSArMzUsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLVBhc3NSZWZQdHI8TWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGU+IE1lZGlhU3RyZWFt
QXVkaW9Tb3VyY2VOb2RlOjpjcmVhdGUoQXVkaW9Db250ZXh0KiBjb250ZXh0LCBNZWRpYVN0cmVh
bSogbWVkaWFTdHJlYW0sIE1lZGlhU3RyZWFtVHJhY2sqIGF1ZGlvVHJhY2ssIEF1ZGlvU291cmNl
UHJvdmlkZXIqIGF1ZGlvU291cmNlUHJvdmlkZXIpCitSZWY8TWVkaWFTdHJlYW1BdWRpb1NvdXJj
ZU5vZGU+IE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlOjpjcmVhdGUoQXVkaW9Db250ZXh0KiBj
b250ZXh0LCBNZWRpYVN0cmVhbSogbWVkaWFTdHJlYW0sIE1lZGlhU3RyZWFtVHJhY2sqIGF1ZGlv
VHJhY2ssIEF1ZGlvU291cmNlUHJvdmlkZXIqIGF1ZGlvU291cmNlUHJvdmlkZXIpCiB7Ci0gICAg
cmV0dXJuIGFkb3B0UmVmKG5ldyBNZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZShjb250ZXh0LCBt
ZWRpYVN0cmVhbSwgYXVkaW9UcmFjaywgYXVkaW9Tb3VyY2VQcm92aWRlcikpOworICAgIHJldHVy
biBhZG9wdFJlZigqbmV3IE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlKGNvbnRleHQsIG1lZGlh
U3RyZWFtLCBhdWRpb1RyYWNrLCBhdWRpb1NvdXJjZVByb3ZpZGVyKSk7CiB9CiAKIE1lZGlhU3Ry
ZWFtQXVkaW9Tb3VyY2VOb2RlOjpNZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZShBdWRpb0NvbnRl
eHQqIGNvbnRleHQsIE1lZGlhU3RyZWFtKiBtZWRpYVN0cmVhbSwgTWVkaWFTdHJlYW1UcmFjayog
YXVkaW9UcmFjaywgQXVkaW9Tb3VyY2VQcm92aWRlciogYXVkaW9Tb3VyY2VQcm92aWRlcikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRp
b1NvdXJjZU5vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJl
YW1BdWRpb1NvdXJjZU5vZGUuaAppbmRleCBkMjljOTAzNjE2NTlkMTgxODk1NTQwNTM0MDU2YmJm
ODI4OWY3NmUzLi4xYzZjZGQ5NThhYTg4MjY4NGY4ZDBlZjZkOTA3NTE5YzNmNDM3NzU1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9T
b3VyY2VOb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0
cmVhbUF1ZGlvU291cmNlTm9kZS5oCkBAIC00MCw3ICs0MCw3IEBAIGNsYXNzIEF1ZGlvQ29udGV4
dDsKIAogY2xhc3MgTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGUgOiBwdWJsaWMgQXVkaW9Ob2Rl
LCBwdWJsaWMgQXVkaW9Tb3VyY2VQcm92aWRlckNsaWVudCB7CiBwdWJsaWM6Ci0gICAgc3RhdGlj
IFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGU+IGNyZWF0ZShBdWRpb0NvbnRl
eHQqLCBNZWRpYVN0cmVhbSosIE1lZGlhU3RyZWFtVHJhY2sqLCBBdWRpb1NvdXJjZVByb3ZpZGVy
Kik7CisgICAgc3RhdGljIFJlZjxNZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZT4gY3JlYXRlKEF1
ZGlvQ29udGV4dCosIE1lZGlhU3RyZWFtKiwgTWVkaWFTdHJlYW1UcmFjayosIEF1ZGlvU291cmNl
UHJvdmlkZXIqKTsKIAogICAgIHZpcnR1YWwgfk1lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlKCk7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vT3NjaWxsYXRv
ck5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9Pc2NpbGxhdG9yTm9k
ZS5jcHAKaW5kZXggYTRlZjljYTk3ZDkzOTIwMjVmZTU2OWU2NjEwMmJlMGMwYmM1ZjA4ZC4uOTlj
OTNhZDg3NmYwYmQ4NzIxZGJkYjkzZTllMjUzYjI3N2E4MTAyZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9Pc2NpbGxhdG9yTm9kZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9Pc2NpbGxhdG9yTm9kZS5jcHAKQEAgLTEyMSwyMiAr
MTIxLDIyIEBAIGJvb2wgT3NjaWxsYXRvck5vZGU6OnNldFR5cGUodW5zaWduZWQgdHlwZSkKICAg
ICBzd2l0Y2ggKHR5cGUpIHsKICAgICBjYXNlIFNJTkU6CiAgICAgICAgIGlmICghc19wZXJpb2Rp
Y1dhdmVTaW5lKQotICAgICAgICAgICAgc19wZXJpb2RpY1dhdmVTaW5lID0gUGVyaW9kaWNXYXZl
OjpjcmVhdGVTaW5lKHNhbXBsZVJhdGUpLmxlYWtSZWYoKTsKKyAgICAgICAgICAgIHNfcGVyaW9k
aWNXYXZlU2luZSA9ICZQZXJpb2RpY1dhdmU6OmNyZWF0ZVNpbmUoc2FtcGxlUmF0ZSkubGVha1Jl
ZigpOwogICAgICAgICBwZXJpb2RpY1dhdmUgPSBzX3BlcmlvZGljV2F2ZVNpbmU7CiAgICAgICAg
IGJyZWFrOwogICAgIGNhc2UgU1FVQVJFOgogICAgICAgICBpZiAoIXNfcGVyaW9kaWNXYXZlU3F1
YXJlKQotICAgICAgICAgICAgc19wZXJpb2RpY1dhdmVTcXVhcmUgPSBQZXJpb2RpY1dhdmU6OmNy
ZWF0ZVNxdWFyZShzYW1wbGVSYXRlKS5sZWFrUmVmKCk7CisgICAgICAgICAgICBzX3BlcmlvZGlj
V2F2ZVNxdWFyZSA9ICZQZXJpb2RpY1dhdmU6OmNyZWF0ZVNxdWFyZShzYW1wbGVSYXRlKS5sZWFr
UmVmKCk7CiAgICAgICAgIHBlcmlvZGljV2F2ZSA9IHNfcGVyaW9kaWNXYXZlU3F1YXJlOwogICAg
ICAgICBicmVhazsKICAgICBjYXNlIFNBV1RPT1RIOgogICAgICAgICBpZiAoIXNfcGVyaW9kaWNX
YXZlU2F3dG9vdGgpCi0gICAgICAgICAgICBzX3BlcmlvZGljV2F2ZVNhd3Rvb3RoID0gUGVyaW9k
aWNXYXZlOjpjcmVhdGVTYXd0b290aChzYW1wbGVSYXRlKS5sZWFrUmVmKCk7CisgICAgICAgICAg
ICBzX3BlcmlvZGljV2F2ZVNhd3Rvb3RoID0gJlBlcmlvZGljV2F2ZTo6Y3JlYXRlU2F3dG9vdGgo
c2FtcGxlUmF0ZSkubGVha1JlZigpOwogICAgICAgICBwZXJpb2RpY1dhdmUgPSBzX3BlcmlvZGlj
V2F2ZVNhd3Rvb3RoOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFRSSUFOR0xFOgogICAgICAg
ICBpZiAoIXNfcGVyaW9kaWNXYXZlVHJpYW5nbGUpCi0gICAgICAgICAgICBzX3BlcmlvZGljV2F2
ZVRyaWFuZ2xlID0gUGVyaW9kaWNXYXZlOjpjcmVhdGVUcmlhbmdsZShzYW1wbGVSYXRlKS5sZWFr
UmVmKCk7CisgICAgICAgICAgICBzX3BlcmlvZGljV2F2ZVRyaWFuZ2xlID0gJlBlcmlvZGljV2F2
ZTo6Y3JlYXRlVHJpYW5nbGUoc2FtcGxlUmF0ZSkubGVha1JlZigpOwogICAgICAgICBwZXJpb2Rp
Y1dhdmUgPSBzX3BlcmlvZGljV2F2ZVRyaWFuZ2xlOwogICAgICAgICBicmVhazsKICAgICBjYXNl
IENVU1RPTToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vUGFu
bmVyTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9QYW5uZXJOb2RlLmgK
aW5kZXggYjJmYTcwMTI5N2ZmMDZlYmJjNDYxMmIzZTVmMzlmMTE3NGI5NTUwYi4uMGNiZDcyZTU2
ZWJjYTIyYTAyYWY3OGJmYWU0ZjM2YzI2ZGQyNDg2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9QYW5uZXJOb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJhdWRpby9QYW5uZXJOb2RlLmgKQEAgLTYzLDkgKzYzLDkgQEAgcHVibGljOgogICAg
ICAgICBFWFBPTkVOVElBTF9ESVNUQU5DRSA9IDIsCiAgICAgfTsKIAotICAgIHN0YXRpYyBQYXNz
UmVmUHRyPFBhbm5lck5vZGU+IGNyZWF0ZShBdWRpb0NvbnRleHQqIGNvbnRleHQsIGZsb2F0IHNh
bXBsZVJhdGUpCisgICAgc3RhdGljIFJlZjxQYW5uZXJOb2RlPiBjcmVhdGUoQXVkaW9Db250ZXh0
KiBjb250ZXh0LCBmbG9hdCBzYW1wbGVSYXRlKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0
UmVmKG5ldyBQYW5uZXJOb2RlKGNvbnRleHQsIHNhbXBsZVJhdGUpKTsKKyAgICAgICAgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgUGFubmVyTm9kZShjb250ZXh0LCBzYW1wbGVSYXRlKSk7CiAgICAgfQog
CiAgICAgdmlydHVhbCB+UGFubmVyTm9kZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9QZXJpb2RpY1dhdmUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJhdWRpby9QZXJpb2RpY1dhdmUuY3BwCmluZGV4IGEzN2QzODg5YmRiYWEyNGM3NmQyNTcx
ZTZhYzhhY2ExZDFjNDc4ZjAuLjM4M2FmNjBkYmU2OTc0MmFjMjBhMTY0YjBmYmNmMDc4M2ZlODdm
OTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vUGVyaW9kaWNX
YXZlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1BlcmlvZGljV2F2
ZS5jcHAKQEAgLTQ1LDcgKzQ1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIAogdXNpbmcg
bmFtZXNwYWNlIFZlY3Rvck1hdGg7CiAKLVBhc3NSZWZQdHI8UGVyaW9kaWNXYXZlPiBQZXJpb2Rp
Y1dhdmU6OmNyZWF0ZShmbG9hdCBzYW1wbGVSYXRlLCBGbG9hdDMyQXJyYXkqIHJlYWwsIEZsb2F0
MzJBcnJheSogaW1hZykKK1JlZlB0cjxQZXJpb2RpY1dhdmU+IFBlcmlvZGljV2F2ZTo6Y3JlYXRl
KGZsb2F0IHNhbXBsZVJhdGUsIEZsb2F0MzJBcnJheSogcmVhbCwgRmxvYXQzMkFycmF5KiBpbWFn
KQogewogICAgIGJvb2wgaXNHb29kID0gcmVhbCAmJiBpbWFnICYmIHJlYWwtPmxlbmd0aCgpID09
IGltYWctPmxlbmd0aCgpOwogICAgIEFTU0VSVChpc0dvb2QpOwpAQCAtNTgsMzAgKzU4LDMwIEBA
IFBhc3NSZWZQdHI8UGVyaW9kaWNXYXZlPiBQZXJpb2RpY1dhdmU6OmNyZWF0ZShmbG9hdCBzYW1w
bGVSYXRlLCBGbG9hdDMyQXJyYXkqIHJlCiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKLVBhc3NS
ZWZQdHI8UGVyaW9kaWNXYXZlPiBQZXJpb2RpY1dhdmU6OmNyZWF0ZVNpbmUoZmxvYXQgc2FtcGxl
UmF0ZSkKK1JlZjxQZXJpb2RpY1dhdmU+IFBlcmlvZGljV2F2ZTo6Y3JlYXRlU2luZShmbG9hdCBz
YW1wbGVSYXRlKQogewotICAgIFJlZlB0cjxQZXJpb2RpY1dhdmU+IHdhdmVUYWJsZSA9IGFkb3B0
UmVmKG5ldyBQZXJpb2RpY1dhdmUoc2FtcGxlUmF0ZSkpOworICAgIFJlZjxQZXJpb2RpY1dhdmU+
IHdhdmVUYWJsZSA9IGFkb3B0UmVmKCpuZXcgUGVyaW9kaWNXYXZlKHNhbXBsZVJhdGUpKTsKICAg
ICB3YXZlVGFibGUtPmdlbmVyYXRlQmFzaWNXYXZlZm9ybShPc2NpbGxhdG9yTm9kZTo6U0lORSk7
CiAgICAgcmV0dXJuIHdhdmVUYWJsZTsKIH0KIAotUGFzc1JlZlB0cjxQZXJpb2RpY1dhdmU+IFBl
cmlvZGljV2F2ZTo6Y3JlYXRlU3F1YXJlKGZsb2F0IHNhbXBsZVJhdGUpCitSZWY8UGVyaW9kaWNX
YXZlPiBQZXJpb2RpY1dhdmU6OmNyZWF0ZVNxdWFyZShmbG9hdCBzYW1wbGVSYXRlKQogewotICAg
IFJlZlB0cjxQZXJpb2RpY1dhdmU+IHdhdmVUYWJsZSA9IGFkb3B0UmVmKG5ldyBQZXJpb2RpY1dh
dmUoc2FtcGxlUmF0ZSkpOworICAgIFJlZjxQZXJpb2RpY1dhdmU+IHdhdmVUYWJsZSA9IGFkb3B0
UmVmKCpuZXcgUGVyaW9kaWNXYXZlKHNhbXBsZVJhdGUpKTsKICAgICB3YXZlVGFibGUtPmdlbmVy
YXRlQmFzaWNXYXZlZm9ybShPc2NpbGxhdG9yTm9kZTo6U1FVQVJFKTsKICAgICByZXR1cm4gd2F2
ZVRhYmxlOwogfQogCi1QYXNzUmVmUHRyPFBlcmlvZGljV2F2ZT4gUGVyaW9kaWNXYXZlOjpjcmVh
dGVTYXd0b290aChmbG9hdCBzYW1wbGVSYXRlKQorUmVmPFBlcmlvZGljV2F2ZT4gUGVyaW9kaWNX
YXZlOjpjcmVhdGVTYXd0b290aChmbG9hdCBzYW1wbGVSYXRlKQogewotICAgIFJlZlB0cjxQZXJp
b2RpY1dhdmU+IHdhdmVUYWJsZSA9IGFkb3B0UmVmKG5ldyBQZXJpb2RpY1dhdmUoc2FtcGxlUmF0
ZSkpOworICAgIFJlZjxQZXJpb2RpY1dhdmU+IHdhdmVUYWJsZSA9IGFkb3B0UmVmKCpuZXcgUGVy
aW9kaWNXYXZlKHNhbXBsZVJhdGUpKTsKICAgICB3YXZlVGFibGUtPmdlbmVyYXRlQmFzaWNXYXZl
Zm9ybShPc2NpbGxhdG9yTm9kZTo6U0FXVE9PVEgpOwogICAgIHJldHVybiB3YXZlVGFibGU7CiB9
CiAKLVBhc3NSZWZQdHI8UGVyaW9kaWNXYXZlPiBQZXJpb2RpY1dhdmU6OmNyZWF0ZVRyaWFuZ2xl
KGZsb2F0IHNhbXBsZVJhdGUpCitSZWY8UGVyaW9kaWNXYXZlPiBQZXJpb2RpY1dhdmU6OmNyZWF0
ZVRyaWFuZ2xlKGZsb2F0IHNhbXBsZVJhdGUpCiB7Ci0gICAgUmVmUHRyPFBlcmlvZGljV2F2ZT4g
d2F2ZVRhYmxlID0gYWRvcHRSZWYobmV3IFBlcmlvZGljV2F2ZShzYW1wbGVSYXRlKSk7CisgICAg
UmVmPFBlcmlvZGljV2F2ZT4gd2F2ZVRhYmxlID0gYWRvcHRSZWYoKm5ldyBQZXJpb2RpY1dhdmUo
c2FtcGxlUmF0ZSkpOwogICAgIHdhdmVUYWJsZS0+Z2VuZXJhdGVCYXNpY1dhdmVmb3JtKE9zY2ls
bGF0b3JOb2RlOjpUUklBTkdMRSk7CiAgICAgcmV0dXJuIHdhdmVUYWJsZTsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vUGVyaW9kaWNXYXZlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1BlcmlvZGljV2F2ZS5oCmluZGV4IDg1YjZlMWNl
ZGUxNzU1ZmEwNmU1ZmRiODIwNTUzOGRjZDRiMzRlOTIuLjBiNzc0YThjMjdiZDliMjRkYWQxNzli
Njk2ZWRjYTFmNTk5YTMzNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
YXVkaW8vUGVyaW9kaWNXYXZlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9QZXJpb2RpY1dhdmUuaApAQCAtNDEsMTMgKzQxLDEzIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogY2xhc3MgUGVyaW9kaWNXYXZlIDogcHVibGljIFJlZkNvdW50ZWQ8UGVyaW9kaWNXYXZlPiB7
CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8UGVyaW9kaWNXYXZlPiBjcmVhdGVTaW5l
KGZsb2F0IHNhbXBsZVJhdGUpOwotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFBlcmlvZGljV2F2ZT4g
Y3JlYXRlU3F1YXJlKGZsb2F0IHNhbXBsZVJhdGUpOwotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFBl
cmlvZGljV2F2ZT4gY3JlYXRlU2F3dG9vdGgoZmxvYXQgc2FtcGxlUmF0ZSk7Ci0gICAgc3RhdGlj
IFBhc3NSZWZQdHI8UGVyaW9kaWNXYXZlPiBjcmVhdGVUcmlhbmdsZShmbG9hdCBzYW1wbGVSYXRl
KTsKKyAgICBzdGF0aWMgUmVmPFBlcmlvZGljV2F2ZT4gY3JlYXRlU2luZShmbG9hdCBzYW1wbGVS
YXRlKTsKKyAgICBzdGF0aWMgUmVmPFBlcmlvZGljV2F2ZT4gY3JlYXRlU3F1YXJlKGZsb2F0IHNh
bXBsZVJhdGUpOworICAgIHN0YXRpYyBSZWY8UGVyaW9kaWNXYXZlPiBjcmVhdGVTYXd0b290aChm
bG9hdCBzYW1wbGVSYXRlKTsKKyAgICBzdGF0aWMgUmVmPFBlcmlvZGljV2F2ZT4gY3JlYXRlVHJp
YW5nbGUoZmxvYXQgc2FtcGxlUmF0ZSk7CiAKICAgICAvLyBDcmVhdGVzIGFuIGFyYml0cmFyeSB3
YXZlIGdpdmVuIHRoZSBmcmVxdWVuY3kgY29tcG9uZW50cyAoRm91cmllciBjb2VmZmljaWVudHMp
LgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFBlcmlvZGljV2F2ZT4gY3JlYXRlKGZsb2F0IHNhbXBs
ZVJhdGUsIEZsb2F0MzJBcnJheSogcmVhbCwgRmxvYXQzMkFycmF5KiBpbWFnKTsKKyAgICBzdGF0
aWMgUmVmUHRyPFBlcmlvZGljV2F2ZT4gY3JlYXRlKGZsb2F0IHNhbXBsZVJhdGUsIEZsb2F0MzJB
cnJheSogcmVhbCwgRmxvYXQzMkFycmF5KiBpbWFnKTsKIAogICAgIC8vIFJldHVybnMgcG9pbnRl
cnMgdG8gdGhlIGxvd2VyIGFuZCBoaWdoZXIgd2F2ZSBkYXRhIGZvciB0aGUgcGl0Y2ggcmFuZ2Ug
Y29udGFpbmluZwogICAgIC8vIHRoZSBnaXZlbiBmdW5kYW1lbnRhbCBmcmVxdWVuY3kuIFRoZXNl
IHR3byB0YWJsZXMgYXJlIGluIGFkamFjZW50ICJwaXRjaCIgcmFuZ2VzCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1NjcmlwdFByb2Nlc3Nvck5vZGUuY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9TY3JpcHRQcm9jZXNzb3JOb2RlLmNwcApp
bmRleCA5MGE2ZDE3YmRiZTdkZjM5M2QxYTQyOGJhYWNlOGE0NDZhMGNhYjc3Li4yNWZiZTM0ZDBi
ZWU2YTNhM2EyMmNmNzhmZmJmNTliODVmZTM0ZTdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmF1ZGlvL1NjcmlwdFByb2Nlc3Nvck5vZGUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29yTm9kZS5jcHAKQEAgLTQwLDcg
KzQwLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1QYXNzUmVmUHRyPFNjcmlwdFByb2Nl
c3Nvck5vZGU+IFNjcmlwdFByb2Nlc3Nvck5vZGU6OmNyZWF0ZShBdWRpb0NvbnRleHQqIGNvbnRl
eHQsIGZsb2F0IHNhbXBsZVJhdGUsIHNpemVfdCBidWZmZXJTaXplLCB1bnNpZ25lZCBudW1iZXJP
ZklucHV0Q2hhbm5lbHMsIHVuc2lnbmVkIG51bWJlck9mT3V0cHV0Q2hhbm5lbHMpCitSZWZQdHI8
U2NyaXB0UHJvY2Vzc29yTm9kZT4gU2NyaXB0UHJvY2Vzc29yTm9kZTo6Y3JlYXRlKEF1ZGlvQ29u
dGV4dCogY29udGV4dCwgZmxvYXQgc2FtcGxlUmF0ZSwgc2l6ZV90IGJ1ZmZlclNpemUsIHVuc2ln
bmVkIG51bWJlck9mSW5wdXRDaGFubmVscywgdW5zaWduZWQgbnVtYmVyT2ZPdXRwdXRDaGFubmVs
cykKIHsKICAgICAvLyBDaGVjayBmb3IgdmFsaWQgYnVmZmVyIHNpemUuCiAgICAgc3dpdGNoIChi
dWZmZXJTaXplKSB7CkBAIC02NSw3ICs2NSw3IEBAIFBhc3NSZWZQdHI8U2NyaXB0UHJvY2Vzc29y
Tm9kZT4gU2NyaXB0UHJvY2Vzc29yTm9kZTo6Y3JlYXRlKEF1ZGlvQ29udGV4dCogY29udGV4CiAg
ICAgaWYgKG51bWJlck9mT3V0cHV0Q2hhbm5lbHMgPiBBdWRpb0NvbnRleHQ6Om1heE51bWJlck9m
Q2hhbm5lbHMoKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKLSAgICByZXR1cm4gYWRvcHRS
ZWYobmV3IFNjcmlwdFByb2Nlc3Nvck5vZGUoY29udGV4dCwgc2FtcGxlUmF0ZSwgYnVmZmVyU2l6
ZSwgbnVtYmVyT2ZJbnB1dENoYW5uZWxzLCBudW1iZXJPZk91dHB1dENoYW5uZWxzKSk7CisgICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgU2NyaXB0UHJvY2Vzc29yTm9kZShjb250ZXh0LCBzYW1wbGVS
YXRlLCBidWZmZXJTaXplLCBudW1iZXJPZklucHV0Q2hhbm5lbHMsIG51bWJlck9mT3V0cHV0Q2hh
bm5lbHMpKTsKIH0KIAogU2NyaXB0UHJvY2Vzc29yTm9kZTo6U2NyaXB0UHJvY2Vzc29yTm9kZShB
dWRpb0NvbnRleHQqIGNvbnRleHQsIGZsb2F0IHNhbXBsZVJhdGUsIHNpemVfdCBidWZmZXJTaXpl
LCB1bnNpZ25lZCBudW1iZXJPZklucHV0Q2hhbm5lbHMsIHVuc2lnbmVkIG51bWJlck9mT3V0cHV0
Q2hhbm5lbHMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1Nj
cmlwdFByb2Nlc3Nvck5vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vU2Ny
aXB0UHJvY2Vzc29yTm9kZS5oCmluZGV4IDJiYWJmMzVhMzdhMjBiYTZhMjUzYWVmYTY4MTA3YmZl
Y2Q2MWIxNjQuLjZhNTMwZDliZjNkYzdlNDJmNGZhYmUzYzIyZjllZTJlZDRmOWM2YjMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29yTm9k
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29y
Tm9kZS5oCkBAIC01Myw3ICs1Myw3IEBAIHB1YmxpYzoKICAgICAvLyBUaGlzIHZhbHVlIGNvbnRy
b2xzIGhvdyBmcmVxdWVudGx5IHRoZSBvbmF1ZGlvcHJvY2VzcyBldmVudCBoYW5kbGVyIGlzIGNh
bGxlZCBhbmQgaG93IG1hbnkgc2FtcGxlLWZyYW1lcyBuZWVkIHRvIGJlIHByb2Nlc3NlZCBlYWNo
IGNhbGwuCiAgICAgLy8gTG93ZXIgbnVtYmVycyBmb3IgYnVmZmVyU2l6ZSB3aWxsIHJlc3VsdCBp
biBhIGxvd2VyIChiZXR0ZXIpIGxhdGVuY3kuIEhpZ2hlciBudW1iZXJzIHdpbGwgYmUgbmVjZXNz
YXJ5IHRvIGF2b2lkIGF1ZGlvIGJyZWFrdXAgYW5kIGdsaXRjaGVzLgogICAgIC8vIFRoZSB2YWx1
ZSBjaG9zZW4gbXVzdCBjYXJlZnVsbHkgYmFsYW5jZSBiZXR3ZWVuIGxhdGVuY3kgYW5kIGF1ZGlv
IHF1YWxpdHkuCi0gICAgc3RhdGljIFBhc3NSZWZQdHI8U2NyaXB0UHJvY2Vzc29yTm9kZT4gY3Jl
YXRlKEF1ZGlvQ29udGV4dCosIGZsb2F0IHNhbXBsZVJhdGUsIHNpemVfdCBidWZmZXJTaXplLCB1
bnNpZ25lZCBudW1iZXJPZklucHV0Q2hhbm5lbHMsIHVuc2lnbmVkIG51bWJlck9mT3V0cHV0Q2hh
bm5lbHMpOworICAgIHN0YXRpYyBSZWZQdHI8U2NyaXB0UHJvY2Vzc29yTm9kZT4gY3JlYXRlKEF1
ZGlvQ29udGV4dCosIGZsb2F0IHNhbXBsZVJhdGUsIHNpemVfdCBidWZmZXJTaXplLCB1bnNpZ25l
ZCBudW1iZXJPZklucHV0Q2hhbm5lbHMsIHVuc2lnbmVkIG51bWJlck9mT3V0cHV0Q2hhbm5lbHMp
OwogCiAgICAgdmlydHVhbCB+U2NyaXB0UHJvY2Vzc29yTm9kZSgpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dhdmVTaGFwZXJOb2RlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dhdmVTaGFwZXJOb2RlLmgKaW5kZXggY2I2NTM3MmEx
NzE2ODU0NzIxMzI3YWJjYjg1YTMxZjRjMDlhNjVlNy4uODIyNzk3NTNkZGY3OGY1MjlkYWJhZjU5
ZDg5YmE3NzE3ZWUwOGVjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9XYXZlU2hhcGVyTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVk
aW8vV2F2ZVNoYXBlck5vZGUuaApAQCAtMzQsOSArMzQsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgCiBjbGFzcyBXYXZlU2hhcGVyTm9kZSA6IHB1YmxpYyBBdWRpb0Jhc2ljUHJvY2Vzc29y
Tm9kZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8V2F2ZVNoYXBlck5vZGU+IGNy
ZWF0ZShBdWRpb0NvbnRleHQqIGNvbnRleHQpCisgICAgc3RhdGljIFJlZjxXYXZlU2hhcGVyTm9k
ZT4gY3JlYXRlKEF1ZGlvQ29udGV4dCogY29udGV4dCkKICAgICB7Ci0gICAgICAgIHJldHVybiBh
ZG9wdFJlZihuZXcgV2F2ZVNoYXBlck5vZGUoY29udGV4dCkpOworICAgICAgICByZXR1cm4gYWRv
cHRSZWYoKm5ldyBXYXZlU2hhcGVyTm9kZShjb250ZXh0KSk7CiAgICAgfQogCiAgICAgLy8gc2V0
Q3VydmUoKSBpcyBjYWxsZWQgb24gdGhlIG1haW4gdGhyZWFkLgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>