<?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>218790</bug_id>
          
          <creation_ts>2020-11-11 00:36:01 -0800</creation_ts>
          <short_desc>WebProcess should process WebRTC codecs IPC messages from the GPU Process in a background thread</short_desc>
          <delta_ts>2020-11-12 11:47:18 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebRTC</component>
          <version>WebKit Local 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>218750</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>annulen</cc>
    
    <cc>benjamin</cc>
    
    <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hta</cc>
    
    <cc>jer.noble</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>philipj</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>tommyw</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1706376</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-11-11 00:36:01 -0800</bug_when>
    <thetext>WebProcess should process WebRTC codecs IPC messages from the GPU Process in a background thread</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1706384</commentid>
    <comment_count>1</comment_count>
      <attachid>413796</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-11-11 01:17:23 -0800</bug_when>
    <thetext>Created attachment 413796
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1706919</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-11-12 10:26:46 -0800</bug_when>
    <thetext>Committed r269739: &lt;https://trac.webkit.org/changeset/269739&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 413796.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1706920</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-11-12 10:28:19 -0800</bug_when>
    <thetext>&lt;rdar://problem/71332439&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1706928</commentid>
    <comment_count>4</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-11-12 11:01:01 -0800</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1706929</commentid>
    <comment_count>5</comment_count>
      <attachid>413950</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-11-12 11:01:15 -0800</bug_when>
    <thetext>Created attachment 413950
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1706930</commentid>
    <comment_count>6</comment_count>
      <attachid>413951</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-11-12 11:03:09 -0800</bug_when>
    <thetext>Created attachment 413951
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1706939</commentid>
    <comment_count>7</comment_count>
      <attachid>413953</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-11-12 11:14:46 -0800</bug_when>
    <thetext>Created attachment 413953
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1706940</commentid>
    <comment_count>8</comment_count>
      <attachid>413954</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-11-12 11:16:17 -0800</bug_when>
    <thetext>Created attachment 413954
Patch</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413796</attachid>
            <date>2020-11-11 01:17:23 -0800</date>
            <delta_ts>2020-11-12 11:00:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218790-20201111101722.patch</filename>
            <type>text/plain</type>
            <size>15610</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5NjQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGFhYTRiYmNhNzZiMDYxOWQ2
ODg5NWNkM2YxMjYzMTE0YzQ4NmE5NzIuLjY1MzlkYjhhNWUxMDdiMjBiNjA0NDUxOGFmOGMwYmVh
ZTI2YTZiZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIwMjAtMTEtMTEgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFdlYlByb2Nlc3Mgc2hvdWxkIHBy
b2Nlc3MgV2ViUlRDIGNvZGVjcyBJUEMgbWVzc2FnZXMgZnJvbSB0aGUgR1BVIFByb2Nlc3MgaW4g
YSBiYWNrZ3JvdW5kIHRocmVhZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjE4NzkwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVXNlIGEgV29ya1F1ZXVlIHRvIHByb2Nlc3MgR1BVIFdlYlJUQyBjb2RlYyBJ
UEMgbWVzc2FnZXMuCisgICAgICAgIEZvciB0aGF0IHJlYXNvbiwgaGFuZGxlIGVuY29kZXIgYW5k
IGRlY29kZXIgbWFwIHdpdGhpbiB0aGF0IHF1ZXVlLgorCisgICAgICAgIENvdmVyZWQgYnkgZXhp
c3RpbmcgdGVzdHMuCisKKyAgICAgICAgKiBHUFVQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2Rl
Y3NQcm94eS5tbToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDQ29kZWNzUHJveHk6OnNldEVu
Y29kZVJhdGVzKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlv
bi5jcHA6CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3NDb25uZWN0aW9uOjpkaXNwYXRjaE1l
c3NhZ2UpOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3Mu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENDb2RlY3M6OkxpYldlYlJUQ0NvZGVjcyk6
CisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQ0NvZGVjczo6fkxpYldlYlJUQ0NvZGVjcyk6Cisg
ICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQ0NvZGVjczo6c2V0Q29ubmVjdGlvbik6CisgICAgICAg
IChXZWJLaXQ6OkxpYldlYlJUQ0NvZGVjczo6Y3JlYXRlRGVjb2Rlcik6CisgICAgICAgIChXZWJL
aXQ6OkxpYldlYlJUQ0NvZGVjczo6cmVsZWFzZURlY29kZXIpOgorICAgICAgICAoV2ViS2l0OjpM
aWJXZWJSVENDb2RlY3M6OmZhaWxlZERlY29kaW5nKToKKyAgICAgICAgKFdlYktpdDo6TGliV2Vi
UlRDQ29kZWNzOjpjb21wbGV0ZWREZWNvZGluZyk6CisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJU
Q0NvZGVjczo6Y3JlYXRlRW5jb2Rlcik6CisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQ0NvZGVj
czo6cmVsZWFzZUVuY29kZXIpOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENDb2RlY3M6Omlu
aXRpYWxpemVFbmNvZGVyKToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDQ29kZWNzOjpzZXRF
bmNvZGVSYXRlcyk6CisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQ0NvZGVjczo6Y29tcGxldGVk
RW5jb2RpbmcpOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENDb2RlY3M6OmRpc3BhdGNoVG9U
aHJlYWQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3Mu
aDoKKwogMjAyMC0xMS0xMCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAg
ICAgICAgVXBkYXRlIFdlYlJUQyBsaXdlYnJ0YyB0byBNODcKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDQ29kZWNzUHJveHkubW0gYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ0NvZGVjc1Byb3h5Lm1tCmluZGV4IDlk
M2I0YjAxMTc5YmEwYmI1YWMwZTZjNTVkZTdiNjVjOTU3ZGY1YjcuLmY4YWJjMWY0MDVmYzE0Njk0
NzViNGQ5MGJhZDNkNTNjYTBmODAxNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy93ZWJydGMvTGliV2ViUlRDQ29kZWNzUHJveHkubW0KKysrIGIvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3NQcm94eS5tbQpAQCAtMTkyLDcgKzE5Miw2
IEBAIHZvaWQgTGliV2ViUlRDQ29kZWNzUHJveHk6OmVuY29kZUZyYW1lKFJUQ0VuY29kZXJJZGVu
dGlmaWVyIGlkZW50aWZpZXIsIFdlYkNvcmU6CiAKIHZvaWQgTGliV2ViUlRDQ29kZWNzUHJveHk6
OnNldEVuY29kZVJhdGVzKFJUQ0VuY29kZXJJZGVudGlmaWVyIGlkZW50aWZpZXIsIHVpbnQzMl90
IGJpdFJhdGUsIHVpbnQzMl90IGZyYW1lUmF0ZSkKIHsKLSAgICBBU1NFUlQobV9lbmNvZGVycy5j
b250YWlucyhpZGVudGlmaWVyKSk7CiAgICAgYXV0byBlbmNvZGVyID0gbV9lbmNvZGVycy5nZXQo
aWRlbnRpZmllcik7CiAgICAgaWYgKCFlbmNvZGVyKQogICAgICAgICByZXR1cm47CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmNw
cCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uY3Bw
CmluZGV4IGRkOGYxYmVmYTU4NzZjYWQ1OTcwOTc5YmYxNWU4YTE1N2M5NGM3M2MuLmMzNjE4NmFj
Y2ZkMDMxNWJmMTczOTMwMTBiZTNhY2Y1YzE1MzI0NTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCkBAIC0xNDQsMTIg
KzE0NCw2IEBAIGJvb2wgR1BVUHJvY2Vzc0Nvbm5lY3Rpb246OmRpc3BhdGNoTWVzc2FnZShJUEM6
OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIElQQzo6RGVjCiAgICAgICAgIHJldHVybiB0cnVlOwog
ICAgIH0KICNlbmRpZiAvLyBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkK
LSNpZiBVU0UoTElCV0VCUlRDKSAmJiBQTEFURk9STShDT0NPQSkKLSAgICBpZiAoZGVjb2Rlci5t
ZXNzYWdlUmVjZWl2ZXJOYW1lKCkgPT0gTWVzc2FnZXM6OkxpYldlYlJUQ0NvZGVjczo6bWVzc2Fn
ZVJlY2VpdmVyTmFtZSgpKSB7Ci0gICAgICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmxpYldl
YlJUQ0NvZGVjcygpLmRpZFJlY2VpdmVNZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29kZXIpOwotICAg
ICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0jZW5kaWYKICNpZiBVU0UoQVVESU9fU0VTU0lPTikK
ICAgICBpZiAoZGVjb2Rlci5tZXNzYWdlUmVjZWl2ZXJOYW1lKCkgPT0gTWVzc2FnZXM6OlJlbW90
ZUF1ZGlvU2Vzc2lvbjo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpKSB7CiAgICAgICAgIC8vIEZJWE1F
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJS
VENDb2RlY3MuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2Vi
UlRDQ29kZWNzLmNwcAppbmRleCBhZjQzMjY5YzYwZmMxYTUxNzcyOTFlOTJjMmI4NGFmYmE1OTY1
OGUzLi40OGI4Nzc0MWUyMjRiMmE1MjRlNDBmNDYzNDNkZGI5OTAzYjUwYjI3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3MuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ0NvZGVj
cy5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKIAogI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNp
bmNsdWRlICJHUFVQcm9jZXNzQ29ubmVjdGlvbi5oIgorI2luY2x1ZGUgIkxpYldlYlJUQ0NvZGVj
c01lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiTGliV2ViUlRDQ29kZWNzUHJveHlNZXNzYWdlcy5oIgog
I2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3Mu
aCIKQEAgLTEzMyw2ICsxMzQsMTcgQEAgc3RhdGljIHZvaWQgc2V0RW5jb2RlUmF0ZXNDYWxsYmFj
ayh3ZWJydGM6OldlYktpdFZpZGVvRW5jb2RlciBlbmNvZGVyLCBjb25zdCB3ZWIKICAgICBXZWJQ
cm9jZXNzOjpzaW5nbGV0b24oKS5saWJXZWJSVENDb2RlY3MoKS5zZXRFbmNvZGVSYXRlcygqc3Rh
dGljX2Nhc3Q8TGliV2ViUlRDQ29kZWNzOjpFbmNvZGVyKj4oZW5jb2RlciksIGJpdFJhdGUsIGZy
YW1lUmF0ZSk7CiB9CiAKK0xpYldlYlJUQ0NvZGVjczo6TGliV2ViUlRDQ29kZWNzKCkKKyAgICA6
IG1fcXVldWUoV29ya1F1ZXVlOjpjcmVhdGUoIkxpYldlYlJUQ0NvZGVjcyIsIFdvcmtRdWV1ZTo6
VHlwZTo6U2VyaWFsLCBXb3JrUXVldWU6OlFPUzo6VXNlckludGVyYWN0aXZlKSkKK3sKK30KKwor
TGliV2ViUlRDQ29kZWNzOjp+TGliV2ViUlRDQ29kZWNzKCkKK3sKKyAgICBpZiAobV9jb25uZWN0
aW9uKQorICAgICAgICBtX2Nvbm5lY3Rpb24tPnJlbW92ZVRocmVhZE1lc3NhZ2VSZWNlaXZlcihN
ZXNzYWdlczo6TGliV2ViUlRDQ29kZWNzUHJveHk6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSk7Cit9
CisKIHZvaWQgTGliV2ViUlRDQ29kZWNzOjpzZXRDYWxsYmFja3MoYm9vbCB1c2VHUFVQcm9jZXNz
KQogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CkBAIC0xNTYsNiArMTY4LDE4IEBAIHZv
aWQgTGliV2ViUlRDQ29kZWNzOjpzZXRDYWxsYmFja3MoYm9vbCB1c2VHUFVQcm9jZXNzKQogICAg
IHdlYnJ0Yzo6c2V0VmlkZW9FbmNvZGVyQ2FsbGJhY2tzKGNyZWF0ZVZpZGVvRW5jb2RlciwgcmVs
ZWFzZVZpZGVvRW5jb2RlciwgaW5pdGlhbGl6ZVZpZGVvRW5jb2RlciwgZW5jb2RlVmlkZW9GcmFt
ZSwgcmVnaXN0ZXJFbmNvZGVDb21wbGV0ZUNhbGxiYWNrLCBzZXRFbmNvZGVSYXRlc0NhbGxiYWNr
KTsKIH0KIAordm9pZCBMaWJXZWJSVENDb2RlY3M6OnNldENvbm5lY3Rpb24oSVBDOjpDb25uZWN0
aW9uJiBjb25uZWN0aW9uKQoreworICAgIGlmIChtX2Nvbm5lY3Rpb24uZ2V0KCkgPT0gJmNvbm5l
Y3Rpb24pCisgICAgICAgIHJldHVybjsKKworICAgIGlmIChtX2Nvbm5lY3Rpb24pCisgICAgICAg
IG1fY29ubmVjdGlvbi0+cmVtb3ZlVGhyZWFkTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpMaWJX
ZWJSVENDb2RlY3M6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSk7CisKKyAgICBtX2Nvbm5lY3Rpb24g
PSAmY29ubmVjdGlvbjsKKyAgICBtX2Nvbm5lY3Rpb24tPmFkZFRocmVhZE1lc3NhZ2VSZWNlaXZl
cihNZXNzYWdlczo6TGliV2ViUlRDQ29kZWNzOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIHRoaXMp
OworfQorCiBMaWJXZWJSVENDb2RlY3M6OkRlY29kZXIqIExpYldlYlJUQ0NvZGVjczo6Y3JlYXRl
RGVjb2RlcihUeXBlIHR5cGUpCiB7CiAgICAgYXV0byBkZWNvZGVyID0gbWFrZVVuaXF1ZTxEZWNv
ZGVyPigpOwpAQCAtMTY0LDIzICsxODgsMjggQEAgTGliV2ViUlRDQ29kZWNzOjpEZWNvZGVyKiBM
aWJXZWJSVENDb2RlY3M6OmNyZWF0ZURlY29kZXIoVHlwZSB0eXBlKQogICAgIGRlY29kZXItPnR5
cGUgPSB0eXBlOwogCiAgICAgY2FsbE9uTWFpblJ1bkxvb3AoW3RoaXMsIGRlY29kZXIgPSBXVEZN
b3ZlKGRlY29kZXIpLCB0eXBlXSgpIG11dGFibGUgewotICAgICAgICBkZWNvZGVyLT5jb25uZWN0
aW9uID0gJldlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmVuc3VyZUdQVVByb2Nlc3NDb25uZWN0aW9u
KCkuY29ubmVjdGlvbigpOworICAgICAgICBhdXRvJiBjb25uZWN0aW9uID0gV2ViUHJvY2Vzczo6
c2luZ2xldG9uKCkuZW5zdXJlR1BVUHJvY2Vzc0Nvbm5lY3Rpb24oKS5jb25uZWN0aW9uKCk7Cisg
ICAgICAgIHNldENvbm5lY3Rpb24oY29ubmVjdGlvbik7CisKKyAgICAgICAgZGVjb2Rlci0+Y29u
bmVjdGlvbiA9ICZjb25uZWN0aW9uOwogCi0gICAgICAgIGF1dG8gZGVjb2RlcklkZW50aWZpZXIg
PSBkZWNvZGVyLT5pZGVudGlmaWVyOwogICAgICAgICBzd2l0Y2ggKHR5cGUpIHsKICAgICAgICAg
Y2FzZSBUeXBlOjpIMjY0OgotICAgICAgICAgICAgZGVjb2Rlci0+Y29ubmVjdGlvbi0+c2VuZChN
ZXNzYWdlczo6TGliV2ViUlRDQ29kZWNzUHJveHk6OkNyZWF0ZUgyNjREZWNvZGVyIHsgZGVjb2Rl
cklkZW50aWZpZXIgfSwgMCk7CisgICAgICAgICAgICBkZWNvZGVyLT5jb25uZWN0aW9uLT5zZW5k
KE1lc3NhZ2VzOjpMaWJXZWJSVENDb2RlY3NQcm94eTo6Q3JlYXRlSDI2NERlY29kZXIgeyBkZWNv
ZGVyLT5pZGVudGlmaWVyIH0sIDApOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2Ug
VHlwZTo6SDI2NToKLSAgICAgICAgICAgIGRlY29kZXItPmNvbm5lY3Rpb24tPnNlbmQoTWVzc2Fn
ZXM6OkxpYldlYlJUQ0NvZGVjc1Byb3h5OjpDcmVhdGVIMjY1RGVjb2RlciB7IGRlY29kZXJJZGVu
dGlmaWVyIH0sIDApOworICAgICAgICAgICAgZGVjb2Rlci0+Y29ubmVjdGlvbi0+c2VuZChNZXNz
YWdlczo6TGliV2ViUlRDQ29kZWNzUHJveHk6OkNyZWF0ZUgyNjVEZWNvZGVyIHsgZGVjb2Rlci0+
aWRlbnRpZmllciB9LCAwKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFR5cGU6
OlZQOToKLSAgICAgICAgICAgIGRlY29kZXItPmNvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6Okxp
YldlYlJUQ0NvZGVjc1Byb3h5OjpDcmVhdGVWUDlEZWNvZGVyIHsgZGVjb2RlcklkZW50aWZpZXIg
fSwgMCk7CisgICAgICAgICAgICBkZWNvZGVyLT5jb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpM
aWJXZWJSVENDb2RlY3NQcm94eTo6Q3JlYXRlVlA5RGVjb2RlciB7IGRlY29kZXItPmlkZW50aWZp
ZXIgfSwgMCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogCi0gICAgICAgIEFTU0VS
VCghbV9kZWNvZGVycy5jb250YWlucyhkZWNvZGVySWRlbnRpZmllcikpOwotICAgICAgICBtX2Rl
Y29kZXJzLmFkZChkZWNvZGVySWRlbnRpZmllciwgV1RGTW92ZShkZWNvZGVyKSk7CisgICAgICAg
IGRpc3BhdGNoVG9UaHJlYWQoW3RoaXMsIGRlY29kZXIgPSBXVEZNb3ZlKGRlY29kZXIpXSgpIG11
dGFibGUgeworICAgICAgICAgICAgYXV0byBkZWNvZGVySWRlbnRpZmllciA9IGRlY29kZXItPmlk
ZW50aWZpZXI7CisgICAgICAgICAgICBBU1NFUlQoIW1fZGVjb2RlcnMuY29udGFpbnMoZGVjb2Rl
cklkZW50aWZpZXIpKTsKKyAgICAgICAgICAgIG1fZGVjb2RlcnMuYWRkKGRlY29kZXJJZGVudGlm
aWVyLCBXVEZNb3ZlKGRlY29kZXIpKTsKKyAgICAgICAgfSk7CiAgICAgfSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KQEAgLTE5MSw5ICsyMjAsMTEgQEAgaW50MzJfdCBMaWJXZWJSVENDb2RlY3M6
OnJlbGVhc2VEZWNvZGVyKERlY29kZXImIGRlY29kZXIpCiAgICAgZGVjb2Rlci5kZWNvZGVkSW1h
Z2VDYWxsYmFjayA9IG51bGxwdHI7CiAKICAgICBjYWxsT25NYWluUnVuTG9vcChbdGhpcywgZGVj
b2RlcklkZW50aWZpZXIgPSBkZWNvZGVyLmlkZW50aWZpZXJdIHsKLSAgICAgICAgQVNTRVJUKG1f
ZGVjb2RlcnMuY29udGFpbnMoZGVjb2RlcklkZW50aWZpZXIpKTsKKyAgICAgICAgZGlzcGF0Y2hU
b1RocmVhZChbdGhpcywgZGVjb2RlcklkZW50aWZpZXJdIHsKKyAgICAgICAgICAgIEFTU0VSVCht
X2RlY29kZXJzLmNvbnRhaW5zKGRlY29kZXJJZGVudGlmaWVyKSk7CisgICAgICAgICAgICBtX2Rl
Y29kZXJzLnJlbW92ZShkZWNvZGVySWRlbnRpZmllcik7CisgICAgICAgIH0pOwogCi0gICAgICAg
IG1fZGVjb2RlcnMucmVtb3ZlKGRlY29kZXJJZGVudGlmaWVyKTsKICAgICAgICAgV2ViUHJvY2Vz
czo6c2luZ2xldG9uKCkuZW5zdXJlR1BVUHJvY2Vzc0Nvbm5lY3Rpb24oKS5jb25uZWN0aW9uKCku
c2VuZChNZXNzYWdlczo6TGliV2ViUlRDQ29kZWNzUHJveHk6OlJlbGVhc2VEZWNvZGVyIHsgZGVj
b2RlcklkZW50aWZpZXIgfSwgMCk7CiAgICAgfSk7CiAgICAgcmV0dXJuIDA7CkBAIC0yMjEsNyAr
MjUyLDcgQEAgdm9pZCBMaWJXZWJSVENDb2RlY3M6OnJlZ2lzdGVyRGVjb2RlRnJhbWVDYWxsYmFj
ayhEZWNvZGVyJiBkZWNvZGVyLCB2b2lkKiBkZWNvZGUKIAogdm9pZCBMaWJXZWJSVENDb2RlY3M6
OmZhaWxlZERlY29kaW5nKFJUQ0RlY29kZXJJZGVudGlmaWVyIGRlY29kZXJJZGVudGlmaWVyKQog
ewotICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CisgICAgQVNTRVJUKCFpc01haW5UaHJlYWQo
KSk7CiAKICAgICBpZiAoYXV0byogZGVjb2RlciA9IG1fZGVjb2RlcnMuZ2V0KGRlY29kZXJJZGVu
dGlmaWVyKSkKICAgICAgICAgZGVjb2Rlci0+aGFzRXJyb3IgPSB0cnVlOwpAQCAtMjI5LDcgKzI2
MCw3IEBAIHZvaWQgTGliV2ViUlRDQ29kZWNzOjpmYWlsZWREZWNvZGluZyhSVENEZWNvZGVySWRl
bnRpZmllciBkZWNvZGVySWRlbnRpZmllcikKIAogdm9pZCBMaWJXZWJSVENDb2RlY3M6OmNvbXBs
ZXRlZERlY29kaW5nKFJUQ0RlY29kZXJJZGVudGlmaWVyIGRlY29kZXJJZGVudGlmaWVyLCB1aW50
MzJfdCB0aW1lU3RhbXAsIFdlYkNvcmU6OlJlbW90ZVZpZGVvU2FtcGxlJiYgcmVtb3RlU2FtcGxl
KQogewotICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CisgICAgQVNTRVJUKCFpc01haW5UaHJl
YWQoKSk7CiAKICAgICAvLyBGSVhNRTogRG8gZXJyb3IgbG9nZ2luZy4KICAgICBhdXRvKiBkZWNv
ZGVyID0gbV9kZWNvZGVycy5nZXQoZGVjb2RlcklkZW50aWZpZXIpOwpAQCAtMjk2LDExICszMjcs
MTMgQEAgTGliV2ViUlRDQ29kZWNzOjpFbmNvZGVyKiBMaWJXZWJSVENDb2RlY3M6OmNyZWF0ZUVu
Y29kZXIoVHlwZSB0eXBlLCBjb25zdCBzdGQ6Om0KICAgICAgICAgcGFyYW1ldGVycy5hcHBlbmQo
c3RkOjptYWtlX3BhaXIoU3RyaW5nOjpmcm9tVVRGOChrZXlWYWx1ZS5maXJzdC5kYXRhKCksIGtl
eVZhbHVlLmZpcnN0Lmxlbmd0aCgpKSwgU3RyaW5nOjpmcm9tVVRGOChrZXlWYWx1ZS5zZWNvbmQu
ZGF0YSgpLCBrZXlWYWx1ZS5zZWNvbmQubGVuZ3RoKCkpKSk7CiAKICAgICBjYWxsT25NYWluUnVu
TG9vcChbdGhpcywgZW5jb2RlciA9IFdURk1vdmUoZW5jb2RlciksIHR5cGUsIHBhcmFtZXRlcnMg
PSBXVEZNb3ZlKHBhcmFtZXRlcnMpXSgpIG11dGFibGUgewotICAgICAgICBhdXRvIGVuY29kZXJJ
ZGVudGlmaWVyID0gZW5jb2Rlci0+aWRlbnRpZmllcjsKLSAgICAgICAgQVNTRVJUKCFtX2VuY29k
ZXJzLmNvbnRhaW5zKGVuY29kZXJJZGVudGlmaWVyKSk7CisgICAgICAgIFdlYlByb2Nlc3M6OnNp
bmdsZXRvbigpLmVuc3VyZUdQVVByb2Nlc3NDb25uZWN0aW9uKCkuY29ubmVjdGlvbigpLnNlbmQo
TWVzc2FnZXM6OkxpYldlYlJUQ0NvZGVjc1Byb3h5OjpDcmVhdGVFbmNvZGVyIHsgZW5jb2Rlci0+
aWRlbnRpZmllciwgZm9ybWF0TmFtZUZyb21Db2RlY1R5cGUodHlwZSksIHBhcmFtZXRlcnMsIFJ1
bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkud2ViUlRDSDI2NExvd0xhdGVu
Y3lFbmNvZGVyRW5hYmxlZCgpIH0sIDApOwogCi0gICAgICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRv
bigpLmVuc3VyZUdQVVByb2Nlc3NDb25uZWN0aW9uKCkuY29ubmVjdGlvbigpLnNlbmQoTWVzc2Fn
ZXM6OkxpYldlYlJUQ0NvZGVjc1Byb3h5OjpDcmVhdGVFbmNvZGVyIHsgZW5jb2RlcklkZW50aWZp
ZXIsIGZvcm1hdE5hbWVGcm9tQ29kZWNUeXBlKHR5cGUpLCBwYXJhbWV0ZXJzLCBSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLndlYlJUQ0gyNjRMb3dMYXRlbmN5RW5jb2Rl
ckVuYWJsZWQoKSB9LCAwKTsKLSAgICAgICAgbV9lbmNvZGVycy5hZGQoZW5jb2RlcklkZW50aWZp
ZXIsIFdURk1vdmUoZW5jb2RlcikpOworICAgICAgICBkaXNwYXRjaFRvVGhyZWFkKFt0aGlzLCBl
bmNvZGVyID0gV1RGTW92ZShlbmNvZGVyKV0oKSBtdXRhYmxlIHsKKyAgICAgICAgICAgIGF1dG8g
ZW5jb2RlcklkZW50aWZpZXIgPSBlbmNvZGVyLT5pZGVudGlmaWVyOworICAgICAgICAgICAgQVNT
RVJUKCFtX2VuY29kZXJzLmNvbnRhaW5zKGVuY29kZXJJZGVudGlmaWVyKSk7CisgICAgICAgICAg
ICBtX2VuY29kZXJzLmFkZChlbmNvZGVySWRlbnRpZmllciwgV1RGTW92ZShlbmNvZGVyKSk7Cisg
ICAgICAgIH0pOwogICAgIH0pOwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0zMTEsOSArMzQ0
LDEwIEBAIGludDMyX3QgTGliV2ViUlRDQ29kZWNzOjpyZWxlYXNlRW5jb2RlcihFbmNvZGVyJiBl
bmNvZGVyKQogICAgIGVuY29kZXIuZW5jb2RlZEltYWdlQ2FsbGJhY2sgPSBudWxscHRyOwogCiAg
ICAgY2FsbE9uTWFpblJ1bkxvb3AoW3RoaXMsIGVuY29kZXJJZGVudGlmaWVyID0gZW5jb2Rlci5p
ZGVudGlmaWVyXSB7Ci0gICAgICAgIEFTU0VSVChtX2VuY29kZXJzLmNvbnRhaW5zKGVuY29kZXJJ
ZGVudGlmaWVyKSk7Ci0KLSAgICAgICAgbV9lbmNvZGVycy5yZW1vdmUoZW5jb2RlcklkZW50aWZp
ZXIpOworICAgICAgICBkaXNwYXRjaFRvVGhyZWFkKFt0aGlzLCBlbmNvZGVySWRlbnRpZmllcl0g
eworICAgICAgICAgICAgQVNTRVJUKG1fZW5jb2RlcnMuY29udGFpbnMoZW5jb2RlcklkZW50aWZp
ZXIpKTsKKyAgICAgICAgICAgIG1fZW5jb2RlcnMucmVtb3ZlKGVuY29kZXJJZGVudGlmaWVyKTsK
KyAgICAgICAgfSk7CiAgICAgICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmVuc3VyZUdQVVBy
b2Nlc3NDb25uZWN0aW9uKCkuY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OkxpYldlYlJUQ0Nv
ZGVjc1Byb3h5OjpSZWxlYXNlRW5jb2RlciB7IGVuY29kZXJJZGVudGlmaWVyIH0sIDApOwogICAg
IH0pOwogICAgIHJldHVybiAwOwpAQCAtMzIyLDEyICszNTYsMTcgQEAgaW50MzJfdCBMaWJXZWJS
VENDb2RlY3M6OnJlbGVhc2VFbmNvZGVyKEVuY29kZXImIGVuY29kZXIpCiBpbnQzMl90IExpYldl
YlJUQ0NvZGVjczo6aW5pdGlhbGl6ZUVuY29kZXIoRW5jb2RlciYgZW5jb2RlciwgdWludDE2X3Qg
d2lkdGgsIHVpbnQxNl90IGhlaWdodCwgdW5zaWduZWQgc3RhcnRCaXRSYXRlLCB1bnNpZ25lZCBt
YXhCaXRSYXRlLCB1bnNpZ25lZCBtaW5CaXRSYXRlLCB1aW50MzJfdCBtYXhGcmFtZVJhdGUpCiB7
CiAgICAgY2FsbE9uTWFpblJ1bkxvb3AoW3RoaXMsIGVuY29kZXJJZGVudGlmaWVyID0gZW5jb2Rl
ci5pZGVudGlmaWVyLCB3aWR0aCwgaGVpZ2h0LCBzdGFydEJpdFJhdGUsIG1heEJpdFJhdGUsIG1p
bkJpdFJhdGUsIG1heEZyYW1lUmF0ZV0gewotICAgICAgICBpZiAoYXV0byogZW5jb2RlciA9IG1f
ZW5jb2RlcnMuZ2V0KGVuY29kZXJJZGVudGlmaWVyKSkgewotICAgICAgICAgICAgYXV0byYgY29u
bmVjdGlvbiA9IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmVuc3VyZUdQVVByb2Nlc3NDb25uZWN0
aW9uKCkuY29ubmVjdGlvbigpOwotICAgICAgICAgICAgY29ubmVjdGlvbi5zZW5kKE1lc3NhZ2Vz
OjpMaWJXZWJSVENDb2RlY3NQcm94eTo6SW5pdGlhbGl6ZUVuY29kZXIgeyBlbmNvZGVySWRlbnRp
Zmllciwgd2lkdGgsIGhlaWdodCwgc3RhcnRCaXRSYXRlLCBtYXhCaXRSYXRlLCBtaW5CaXRSYXRl
LCBtYXhGcmFtZVJhdGUgfSwgMCk7Ci0gICAgICAgICAgICAvLyBXZSBzZXQgZW5jb2Rlci0+Y29u
bmVjdGlvbiBoZXJlIHNvIHRoYXQgSW5pdGlhbGl6ZUVuY29kZXIgaXMgc2VudCBiZWZvcmUgYW55
IEVuY29kZUZyYW1lIG1lc3NhZ2UuCi0gICAgICAgICAgICBlbmNvZGVyLT5jb25uZWN0aW9uID0g
JmNvbm5lY3Rpb247Ci0gICAgICAgIH0KKyAgICAgICAgYXV0byYgY29ubmVjdGlvbiA9IFdlYlBy
b2Nlc3M6OnNpbmdsZXRvbigpLmVuc3VyZUdQVVByb2Nlc3NDb25uZWN0aW9uKCkuY29ubmVjdGlv
bigpOworICAgICAgICBzZXRDb25uZWN0aW9uKGNvbm5lY3Rpb24pOworCisgICAgICAgIGNvbm5l
Y3Rpb24uc2VuZChNZXNzYWdlczo6TGliV2ViUlRDQ29kZWNzUHJveHk6OkluaXRpYWxpemVFbmNv
ZGVyIHsgZW5jb2RlcklkZW50aWZpZXIsIHdpZHRoLCBoZWlnaHQsIHN0YXJ0Qml0UmF0ZSwgbWF4
Qml0UmF0ZSwgbWluQml0UmF0ZSwgbWF4RnJhbWVSYXRlIH0sIDApOworCisgICAgICAgIGRpc3Bh
dGNoVG9UaHJlYWQoW3RoaXMsIGVuY29kZXJJZGVudGlmaWVyLCBjb25uZWN0aW9uID0gbWFrZVJl
Zihjb25uZWN0aW9uKV0oKSBtdXRhYmxlIHsKKyAgICAgICAgICAgIGlmIChhdXRvKiBlbmNvZGVy
ID0gbV9lbmNvZGVycy5nZXQoZW5jb2RlcklkZW50aWZpZXIpKSB7CisgICAgICAgICAgICAgICAg
Ly8gV2Ugc2V0IGVuY29kZXItPmNvbm5lY3Rpb24gaGVyZSBzbyB0aGF0IEluaXRpYWxpemVFbmNv
ZGVyIGlzIHNlbnQgYmVmb3JlIGFueSBFbmNvZGVGcmFtZSBtZXNzYWdlLgorICAgICAgICAgICAg
ICAgIGVuY29kZXItPmNvbm5lY3Rpb24gPSBXVEZNb3ZlKGNvbm5lY3Rpb24pOworICAgICAgICAg
ICAgfQorICAgICAgICB9KTsKICAgICB9KTsKICAgICByZXR1cm4gMDsKIH0KQEAgLTM3OCwxMCAr
NDE3LDcgQEAgdm9pZCBMaWJXZWJSVENDb2RlY3M6OnJlZ2lzdGVyRW5jb2RlRnJhbWVDYWxsYmFj
ayhFbmNvZGVyJiBlbmNvZGVyLCB2b2lkKiBlbmNvZGUKIHZvaWQgTGliV2ViUlRDQ29kZWNzOjpz
ZXRFbmNvZGVSYXRlcyhFbmNvZGVyJiBlbmNvZGVyLCB1aW50MzJfdCBiaXRSYXRlLCB1aW50MzJf
dCBmcmFtZVJhdGUpCiB7CiAgICAgaWYgKCFlbmNvZGVyLmNvbm5lY3Rpb24pIHsKLSAgICAgICAg
Y2FsbE9uTWFpblJ1bkxvb3AoW3RoaXMsIGVuY29kZXJJZGVudGlmaWVyID0gZW5jb2Rlci5pZGVu
dGlmaWVyLCBiaXRSYXRlLCBmcmFtZVJhdGVdIHsKLSAgICAgICAgICAgIFVOVVNFRF9QQVJBTSh0
aGlzKTsKLSAgICAgICAgICAgIEFTU0VSVChtX2VuY29kZXJzLmNvbnRhaW5zKGVuY29kZXJJZGVu
dGlmaWVyKSk7Ci0gICAgICAgICAgICBBU1NFUlQobV9lbmNvZGVycy5nZXQoZW5jb2RlcklkZW50
aWZpZXIpLT5jb25uZWN0aW9uKTsKKyAgICAgICAgY2FsbE9uTWFpblJ1bkxvb3AoW2VuY29kZXJJ
ZGVudGlmaWVyID0gZW5jb2Rlci5pZGVudGlmaWVyLCBiaXRSYXRlLCBmcmFtZVJhdGVdIHsKICAg
ICAgICAgICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmVuc3VyZUdQVVByb2Nlc3NDb25uZWN0
aW9uKCkuY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OkxpYldlYlJUQ0NvZGVjc1Byb3h5OjpT
ZXRFbmNvZGVSYXRlcyB7IGVuY29kZXJJZGVudGlmaWVyLCBiaXRSYXRlLCBmcmFtZVJhdGUgfSwg
MCk7CiAgICAgICAgIH0pOwogICAgICAgICByZXR1cm47CkBAIC0zOTEsNyArNDI3LDcgQEAgdm9p
ZCBMaWJXZWJSVENDb2RlY3M6OnNldEVuY29kZVJhdGVzKEVuY29kZXImIGVuY29kZXIsIHVpbnQz
Ml90IGJpdFJhdGUsIHVpbnQzMl8KIAogdm9pZCBMaWJXZWJSVENDb2RlY3M6OmNvbXBsZXRlZEVu
Y29kaW5nKFJUQ0VuY29kZXJJZGVudGlmaWVyIGlkZW50aWZpZXIsIElQQzo6RGF0YVJlZmVyZW5j
ZSYmIGRhdGEsIGNvbnN0IHdlYnJ0Yzo6V2ViS2l0RW5jb2RlZEZyYW1lSW5mbyYgaW5mbykKIHsK
LSAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOworICAgIEFTU0VSVCghaXNNYWluVGhyZWFkKCkp
OwogCiAgICAgLy8gRklYTUU6IERvIGVycm9yIGxvZ2dpbmcuCiAgICAgYXV0byogZW5jb2RlciA9
IG1fZW5jb2RlcnMuZ2V0KGlkZW50aWZpZXIpOwpAQCAtNDE4LDYgKzQ1NCwxMSBAQCBDVlBpeGVs
QnVmZmVyUG9vbFJlZiBMaWJXZWJSVENDb2RlY3M6OnBpeGVsQnVmZmVyUG9vbChzaXplX3Qgd2lk
dGgsIHNpemVfdCBoZWlnaAogICAgIHJldHVybiBtX3BpeGVsQnVmZmVyUG9vbC5nZXQoKTsKIH0K
IAordm9pZCBMaWJXZWJSVENDb2RlY3M6OmRpc3BhdGNoVG9UaHJlYWQoRnVuY3Rpb248dm9pZCgp
PiYmIGNhbGxiYWNrKQoreworICAgIG1fcXVldWUtPmRpc3BhdGNoKFdURk1vdmUoY2FsbGJhY2sp
KTsKK30KKwogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9HUFUvd2VicnRjL0xpYldlYlJUQ0NvZGVjcy5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNzLmgKaW5kZXggZDFiMTU3NWY0OGFjMTE2NjcwZGRl
YjM4ZjdiNTQ0MjAxNTMwYzhiYS4uNzM5YTQ5NmVmNDk0Y2I0YTYxODU2NmZmYzY0ZDRhMjY0YTc0
ZTlkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTGli
V2ViUlRDQ29kZWNzLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMv
TGliV2ViUlRDQ29kZWNzLmgKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2lmIFVTRShMSUJXRUJSVEMp
ICYmIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoR1BVX1BST0NFU1MpCiAKKyNpbmNsdWRlICJD
b25uZWN0aW9uLmgiCiAjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyLmgiCiAjaW5jbHVkZSAiUlRD
RGVjb2RlcklkZW50aWZpZXIuaCIKICNpbmNsdWRlICJSVENFbmNvZGVySWRlbnRpZmllci5oIgpA
QCAtNTcsMTAgKzU4LDExIEBAIHN0cnVjdCBXZWJLaXRFbmNvZGVkRnJhbWVJbmZvOwogCiBuYW1l
c3BhY2UgV2ViS2l0IHsKIAotY2xhc3MgTGliV2ViUlRDQ29kZWNzIDogcHJpdmF0ZSBJUEM6Ok1l
c3NhZ2VSZWNlaXZlciB7CitjbGFzcyBMaWJXZWJSVENDb2RlY3MgOiBwdWJsaWMgSVBDOjpDb25u
ZWN0aW9uOjpUaHJlYWRNZXNzYWdlUmVjZWl2ZXJSZWZDb3VudGVkIHsKICAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBMaWJXZWJSVENDb2RlY3MoKSA9IGRlZmF1bHQ7
CisgICAgTGliV2ViUlRDQ29kZWNzKCk7CisgICAgfkxpYldlYlJUQ0NvZGVjcygpOwogCiAgICAg
c3RhdGljIHZvaWQgc2V0Q2FsbGJhY2tzKGJvb2wgdXNlR1BVUHJvY2Vzcyk7CiAKQEAgLTExMSwx
MiArMTEzLDE5IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjb21wbGV0ZWRFbmNvZGluZyhSVENFbmNv
ZGVySWRlbnRpZmllciwgSVBDOjpEYXRhUmVmZXJlbmNlJiYsIGNvbnN0IHdlYnJ0Yzo6V2ViS2l0
RW5jb2RlZEZyYW1lSW5mbyYpOwogICAgIFJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiBjb252
ZXJ0VG9CR1JBKENWUGl4ZWxCdWZmZXJSZWYpOwogCisgICAgdm9pZCBzZXRDb25uZWN0aW9uKElQ
Qzo6Q29ubmVjdGlvbiYpOworCisgICAgLy8gSVBDOjpDb25uZWN0aW9uOjpUaHJlYWRNZXNzYWdl
UmVjZWl2ZXIKKyAgICB2b2lkIGRpc3BhdGNoVG9UaHJlYWQoRnVuY3Rpb248dm9pZCgpPiYmKSBm
aW5hbDsKKwogcHJpdmF0ZToKICAgICBIYXNoTWFwPFJUQ0RlY29kZXJJZGVudGlmaWVyLCBzdGQ6
OnVuaXF1ZV9wdHI8RGVjb2Rlcj4+IG1fZGVjb2RlcnM7CiAgICAgSGFzaFNldDxSVENEZWNvZGVy
SWRlbnRpZmllcj4gbV9kZWNvZGluZ0Vycm9yczsKIAogICAgIEhhc2hNYXA8UlRDRW5jb2Rlcklk
ZW50aWZpZXIsIHN0ZDo6dW5pcXVlX3B0cjxFbmNvZGVyPj4gbV9lbmNvZGVyczsKIAorICAgIFJl
ZlB0cjxJUEM6OkNvbm5lY3Rpb24+IG1fY29ubmVjdGlvbjsKKyAgICBSZWY8V29ya1F1ZXVlPiBt
X3F1ZXVlOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpJbWFnZVRyYW5zZmVyU2Vzc2lv
blZUPiBtX2ltYWdlVHJhbnNmZXJTZXNzaW9uOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3Jl
OjpQaXhlbEJ1ZmZlckNvbmZvcm1lckNWPiBtX3BpeGVsQnVmZmVyQ29uZm9ybWVyOwogICAgIFJl
dGFpblB0cjxDVlBpeGVsQnVmZmVyUG9vbFJlZj4gbV9waXhlbEJ1ZmZlclBvb2w7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413950</attachid>
            <date>2020-11-12 11:01:15 -0800</date>
            <delta_ts>2020-11-12 11:06:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218790-20201112200110.patch</filename>
            <type>text/plain</type>
            <size>122982</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5NjQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvQ2hhbmdlTG9nIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NoYW5n
ZUxvZwppbmRleCBhZjg2M2M5ZWM1ZDA1YzIwODE0YmQwNWJmNmE5YzE0MWFhNWQ1MDliLi4wYzUw
ZDE5YTQyNmQ5OTQyNjAwYjQ0OTk1NTNmNmI4YTFkYTUwOWJlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAyMC0xMS0xMiAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViUHJvY2VzcyBzaG91bGQgcHJv
Y2VzcyBXZWJSVEMgY29kZWNzIElQQyBtZXNzYWdlcyBmcm9tIHRoZSBHUFUgUHJvY2VzcyBpbiBh
IGJhY2tncm91bmQgdGhyZWFkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMTg3OTAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzcxMzMyNDM5PgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2Ugc3VyZSBi
dWZmZXIgaXMgb3duZWQgYnkgdGhlIGVuY29kZWQgaW1hZ2Ugb2JqZWN0LgorCisgICAgICAgICog
Q29uZmlndXJhdGlvbnMvbGlid2VicnRjLm1hYy5leHA6CisgICAgICAgICogU291cmNlL3dlYnJ0
Yy9zZGsvV2ViS2l0L1dlYktpdEVuY29kZXIuaDoKKyAgICAgICAgKiBTb3VyY2Uvd2VicnRjL3Nk
ay9XZWJLaXQvV2ViS2l0RW5jb2Rlci5tbToKKyAgICAgICAgKHdlYnJ0Yzo6ZW5jb2RlclZpZGVv
VGFza0NvbXBsZXRlKToKKwogMjAyMC0xMS0xMCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBs
ZS5jb20+IGFuZCBWaWN0b3IgTSBKYXF1ZXogPHZqYXF1ZXpAaWdhbGlhLmNvbT4KIAogICAgICAg
ICBVcGRhdGUgV2ViUlRDIGxpd2VicnRjIHRvIE04NwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRleCBmMzg5NzVjNWIzNjUxZmFlNWNl
OGEwOGMyY2VkYzMyYzZlNmNmMWMyLi4wYzk0MzZmOGM4N2Y4M2UxM2ZlZjY3ZjdiNmZmYTM2MmEy
M2ZiZDU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RG
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIwLTExLTExICBZb3Vlbm4gRmFibGV0ICA8
eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgaW5mcmFzdHJ1Y3R1cmUgZm9yIFdlYlJU
QyB0cmFuc2Zvcm1zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMTg3NTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBZGQgYW4gZXhwZXJpbWVudGFsIHByZWZlcmVuY2UgZm9yIFdlYlJUQyB0cmFuc2Zvcm1z
LgorCisgICAgICAgICogU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1l
bnRhbC55YW1sOgorCiAyMDIwLTExLTEwICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgUGFyc2UgYXNwZWN0LXJhdGlvIENTUyBwcm9wZXJ0eQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDYz
OTNiMTg3Njg4M2I4ZTc4ZDZiNzdhNDQ0MTMyOWJmYTA1YjkzN2EuLjg4ZTUzNDc5MmNhZTE1OGRl
NjhjY2NkOTJlYmNhZmI0ZWU2YjI1NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMTAgQEAKKzIw
MjAtMTEtMTEgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEFk
ZCBpbmZyYXN0cnVjdHVyZSBmb3IgV2ViUlRDIHRyYW5zZm9ybXMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODc1MAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEludHJvZHVjZSBSVENSdHBUcmFuc2Zvcm0g
YmVoaW5kIGEgcHJlZmVyZW5jZS4KKyAgICAgICAgQWRkIGJpbmRpbmcgY29kZSB3aXRoIGxpYndl
YnJ0YyB0byBiZSBhYmxlIHRvIHByb2Nlc3MgZW5jb2RlZCBjb250ZW50IGluIHNlbmRlciBhbmQg
cmVjZWl2ZXIgc2lkZXMuCisgICAgICAgIEFkZCBhIG1vY2sgdHJhbnNmb3JtIHRvIHZhbGlkYXRl
IHRoZSBpbmZyYXN0cnVjdHVyZSBpcyB3b3JraW5nLgorCisgICAgICAgIFRlc3Q6IHdlYnJ0Yy93
ZWJydGMtdHJhbnNmb3JtLmh0bWwKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAg
ICAqIERlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNv
dXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToK
KyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVyK1RyYW5zZm9ybS5p
ZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UlRDUnRwUmVjZWl2ZXI6On5SVENSdHBSZWNlaXZlcik6
CisgICAgICAgIChXZWJDb3JlOjpSVENSdHBSZWNlaXZlcjo6c3RvcCk6CisgICAgICAgIChXZWJD
b3JlOjpSVENSdHBSZWNlaXZlcjo6c2V0VHJhbnNmb3JtKToKKyAgICAgICAgKiBNb2R1bGVzL21l
ZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVyLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENSdHBSZWNlaXZlckJhY2tlbmQuaDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ1J0cFJlY2VpdmVyV2l0aFRyYW5zZm9ybS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OlJUQ1J0cFJlY2VpdmVyV2l0aFRyYW5zZm9ybTo6dHJhbnNmb3JtKToKKyAgICAgICAgKFdlYkNv
cmU6OlJUQ1J0cFJlY2VpdmVyV2l0aFRyYW5zZm9ybTo6c2V0VHJhbnNmb3JtKToKKyAgICAgICAg
KiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlcitUcmFuc2Zvcm0uaWRsOiBBZGRlZC4K
KyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSVENSdHBTZW5kZXI6On5SVENSdHBTZW5kZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6UlRDUnRwU2VuZGVyOjpzdG9wKToKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1J0cFNlbmRlcjo6
c2V0VHJhbnNmb3JtKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRl
ci5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyQmFja2VuZC5o
OgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyV2l0aFRyYW5zZm9y
bS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJUQ1J0cFNlbmRlcldpdGhUcmFuc2Zvcm06
OnRyYW5zZm9ybSk6CisgICAgICAgIChXZWJDb3JlOjpSVENSdHBTZW5kZXJXaXRoVHJhbnNmb3Jt
OjpzZXRUcmFuc2Zvcm0pOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJh
bnNmb3JtLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpSVENSdHBUcmFuc2Zvcm06On5S
VENSdHBUcmFuc2Zvcm0pOgorICAgICAgICAoV2ViQ29yZTo6UlRDUnRwVHJhbnNmb3JtOjphdHRh
Y2hUb1JlY2VpdmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1J0cFRyYW5zZm9ybTo6YXR0YWNo
VG9TZW5kZXIpOgorICAgICAgICAoV2ViQ29yZTo6UlRDUnRwVHJhbnNmb3JtOjpkZXRhY2hGcm9t
UmVjZWl2ZXIpOgorICAgICAgICAoV2ViQ29yZTo6UlRDUnRwVHJhbnNmb3JtOjpkZXRhY2hGcm9t
U2VuZGVyKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zZm9ybS5o
OiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zZm9ybS5p
ZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNmb3Jt
QmFja2VuZC5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRy
YW5zZm9ybWFibGVGcmFtZS5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFt
L2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBSZWNlaXZlckJhY2tlbmQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6TGliV2ViUlRDUnRwUmVjZWl2ZXJCYWNrZW5kOjpjcmVhdGVSVENSdHBUcmFuc2Zvcm1C
YWNrZW5kKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJS
VENSdHBSZWNlaXZlckJhY2tlbmQuaDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL2xp
YndlYnJ0Yy9MaWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQuY3BwOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmU6Om1lZGlhVHlwZUZyb21SZWNlaXZlcik6CisgICAgICAgIChXZWJD
b3JlOjpMaWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQ6OkxpYldlYlJUQ1J0cFJl
Y2VpdmVyVHJhbnNmb3JtQmFja2VuZCk6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENSdHBS
ZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQ6On5MaWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJh
Y2tlbmQpOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1C
YWNrZW5kOjpzZXRUcmFuc2Zvcm1hYmxlRnJhbWVDYWxsYmFjayk6CisgICAgICAgICogTW9kdWxl
cy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNr
ZW5kLmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xp
YldlYlJUQ1J0cFNlbmRlckJhY2tlbmQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRD
UnRwU2VuZGVyQmFja2VuZDo6Y3JlYXRlUlRDUnRwVHJhbnNmb3JtQmFja2VuZCk6CisgICAgICAg
ICogTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwU2VuZGVyQmFja2Vu
ZC5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0
cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Om1l
ZGlhVHlwZUZyb21TZW5kZXIpOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDUnRwU2VuZGVy
VHJhbnNmb3JtQmFja2VuZDo6TGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZCk6Cisg
ICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kOjp+TGli
V2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZCk6CisgICAgICAgIChXZWJDb3JlOjpMaWJX
ZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kOjpzZXRUcmFuc2Zvcm1hYmxlRnJhbWVDYWxs
YmFjayk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRD
UnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZC5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL21l
ZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmNwcDogQWRk
ZWQuCisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpzZXRJ
bnB1dENhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ1J0cFRyYW5zZm9ybUJh
Y2tlbmQ6OmNsZWFyVHJhbnNmb3JtYWJsZUZyYW1lQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29y
ZTo6TGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZDo6c2V0T3V0cHV0Q2FsbGJhY2spOgorICAg
ICAgICAoV2ViQ29yZTo6TGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZDo6cHJvY2Vzc1RyYW5z
Zm9ybWVkRnJhbWUpOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDUnRwVHJhbnNmb3JtQmFj
a2VuZDo6VHJhbnNmb3JtKToKKyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ1J0cFRyYW5zZm9y
bUJhY2tlbmQ6OlJlZ2lzdGVyVHJhbnNmb3JtZWRGcmFtZUNhbGxiYWNrKToKKyAgICAgICAgKFdl
YkNvcmU6OkxpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6OlJlZ2lzdGVyVHJhbnNmb3JtZWRG
cmFtZVNpbmtDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENSdHBUcmFuc2Zv
cm1CYWNrZW5kOjpVbnJlZ2lzdGVyVHJhbnNmb3JtZWRGcmFtZUNhbGxiYWNrKToKKyAgICAgICAg
KFdlYkNvcmU6OkxpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6OlVucmVnaXN0ZXJUcmFuc2Zv
cm1lZEZyYW1lU2lua0NhbGxiYWNrKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL2xp
YndlYnJ0Yy9MaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmg6IEFkZGVkLgorICAgICAgICAo
V2ViQ29yZTo6TGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZDo6TGliV2ViUlRDUnRwVHJhbnNm
b3JtQmFja2VuZCk6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNr
ZW5kOjpSZWxlYXNlIGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL2xpYndl
YnJ0Yy9MaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuaDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlOjpMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWU6OkxpYldlYlJUQ1J0cFRyYW5z
Zm9ybWFibGVGcmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENSdHBUcmFuc2Zvcm1h
YmxlRnJhbWU6OnRvUlRDRnJhbWUpOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDUnRwVHJh
bnNmb3JtYWJsZUZyYW1lOjpkYXRhIGNvbnN0KToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAg
ICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmlu
ZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oOgorICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvQ29kZUdlbmVyYXRvckpTLnBtOgorICAgICAgICAoR2VuZXJhdGVIZWFkZXIpOgorICAgICAg
ICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuaDoKKyAgICAgICAg
KiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OmNy
ZWF0ZU1vY2tSVENSdHBUcmFuc2Zvcm0pOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6
CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaWRsOgorICAgICAgICAqIHRlc3RpbmcvTW9j
a1JUQ1J0cFRyYW5zZm9ybS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TW9ja1JUQ1J0
cFRyYW5zZm9ybWVyOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TW9ja1JUQ1J0cFRyYW5z
Zm9ybWVyOjpjbGVhcik6CisgICAgICAgIChXZWJDb3JlOjpNb2NrUlRDUnRwVHJhbnNmb3JtZXI6
OnRyYW5zZm9ybSk6CisgICAgICAgIChXZWJDb3JlOjpNb2NrUlRDUnRwVHJhbnNmb3JtZXI6Omlz
UHJvY2Vzc2luZyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpNb2NrUlRDUnRwVHJhbnNmb3Jt
ZXI6Ok1vY2tSVENSdHBUcmFuc2Zvcm1lcik6CisgICAgICAgIChXZWJDb3JlOjpNb2NrUlRDUnRw
VHJhbnNmb3JtOjpNb2NrUlRDUnRwVHJhbnNmb3JtKToKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tS
VENSdHBUcmFuc2Zvcm06On5Nb2NrUlRDUnRwVHJhbnNmb3JtKToKKyAgICAgICAgKFdlYkNvcmU6
Ok1vY2tSVENSdHBUcmFuc2Zvcm06OmlzUHJvY2Vzc2luZyBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpNb2NrUlRDUnRwVHJhbnNmb3JtOjppbml0aWFsaXplQmFja2VuZEZvclJlY2VpdmVyKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1vY2tSVENSdHBUcmFuc2Zvcm06OmluaXRpYWxpemVCYWNrZW5k
Rm9yU2VuZGVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tSVENSdHBUcmFuc2Zvcm06OndpbGxD
bGVhckJhY2tlbmQpOgorICAgICAgICAqIHRlc3RpbmcvTW9ja1JUQ1J0cFRyYW5zZm9ybS5oOiBB
ZGRlZC4KKyAgICAgICAgKiB0ZXN0aW5nL01vY2tSVENSdHBUcmFuc2Zvcm0uaWRsOiBBZGRlZC4K
KwogMjAyMC0xMS0xMCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+IGFuZCBWaWN0
b3IgTSBKYXF1ZXogPHZqYXF1ZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBVcGRhdGUgV2ViUlRD
IGxpd2VicnRjIHRvIE04NwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA2NTM5ZGI4YTVlMTA3YjIwYjYwNDQ1MThhZjhj
MGJlYWUyNmE2YmRkLi5lNjlmODFhYjE2MjIwMTE2MDVhY2YwZWQ4NzUyM2RlOWI1Njg4NWUzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTExLTEyICBZb3Vlbm4gRmFibGV0ICA8eW91
ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBXZWJQcm9jZXNzIHNob3VsZCBwcm9jZXNzIFdlYlJU
QyBjb2RlY3MgSVBDIG1lc3NhZ2VzIGZyb20gdGhlIEdQVSBQcm9jZXNzIGluIGEgYmFja2dyb3Vu
ZCB0aHJlYWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIxODc5MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzEzMzI0Mzk+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIG5vIGxvbmdlciBuZWVk
ZWQgY29uc3QgY2FzdGluZy4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL1dlYktpdC54Y2Nv
bmZpZzoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNzLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDQ29kZWNzOjpjb21wbGV0ZWRFbmNvZGluZyk6
CisKIDIwMjAtMTEtMTEgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAg
ICAgIFdlYlByb2Nlc3Mgc2hvdWxkIHByb2Nlc3MgV2ViUlRDIGNvZGVjcyBJUEMgbWVzc2FnZXMg
ZnJvbSB0aGUgR1BVIFByb2Nlc3MgaW4gYSBiYWNrZ3JvdW5kIHRocmVhZApkaWZmIC0tZ2l0IGEv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5pT1Mu
ZXhwIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0
Yy5pT1MuZXhwCmluZGV4IDQ4ZTQ0NTkyOTMxZGNjODRhZDM3Mzc1YmE5ZjYwOTBiMTAxMmM2N2Qu
LmEyY2FmYjM5MjI5OWU5NWI3YTdiZGZlNmUzNmQ3ZmYwNWY3MTkwZmIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMuaU9TLmV4
cAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvbGlid2Vi
cnRjLmlPUy5leHAKQEAgLTIyOSw3ICsyMjksNyBAQCBfX1pONndlYnJ0YzI0dmlkZW9EZWNvZGVy
VGFza0NvbXBsZXRlRVB2alAxMF9fQ1ZCdWZmZXJqCiBfX1pONndlYnJ0YzI0c2V0VmlkZW9EZWNv
ZGVyQ2FsbGJhY2tzRVBGUHZSS05TXzE0U2RwVmlkZW9Gb3JtYXRFRVBGaVMwX0VQRmlTMF9qUEto
bXR0RVBGaVMwX1MwX0UKIF9fWk42d2VicnRjMTlzZXREZWNvZGVyRnJhbWVTaXplRVB2dHQKIF9f
Wk42d2VicnRjMThSdHBDb2RlY0NhcGFiaWxpdHlDMUV2Ci1fX1pONndlYnJ0YzI0ZW5jb2RlclZp
ZGVvVGFza0NvbXBsZXRlRVB2TlNfMTRWaWRlb0NvZGVjVHlwZUVQaG1SS05TXzIyV2ViS2l0RW5j
b2RlZEZyYW1lSW5mb0UKK19fWk42d2VicnRjMjRlbmNvZGVyVmlkZW9UYXNrQ29tcGxldGVFUHZO
U18xNFZpZGVvQ29kZWNUeXBlRVBLaG1SS05TXzIyV2ViS2l0RW5jb2RlZEZyYW1lSW5mb0UKIF9f
Wk42d2VicnRjMjRzZXRWaWRlb0VuY29kZXJDYWxsYmFja3NFUEZQdlJLTlNfMTRTZHBWaWRlb0Zv
cm1hdEVFUEZpUzBfRVBGaVMwX1JLTlNfMTBWaWRlb0NvZGVjRUVQRmlTMF9SS05TXzEwVmlkZW9G
cmFtZUViRVBGaVMwX1MwX0VQRnZTMF9SS05TXzEyVmlkZW9FbmNvZGVyMjFSYXRlQ29udHJvbFBh
cmFtZXRlcnNFRQogX19aTjZ3ZWJydGMyMHNldExvY2FsRW5jb2RlclJhdGVzRVB2amoKIF9fWk42
d2VicnRjMjVzZXRMb2NhbEVuY29kZXJMb3dMYXRlbmN5RVB2YgpkaWZmIC0tZ2l0IGEvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5pT1NzaW0uZXhw
IGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5p
T1NzaW0uZXhwCmluZGV4IDQ4ZTQ0NTkyOTMxZGNjODRhZDM3Mzc1YmE5ZjYwOTBiMTAxMmM2N2Qu
LmEyY2FmYjM5MjI5OWU5NWI3YTdiZGZlNmUzNmQ3ZmYwNWY3MTkwZmIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMuaU9Tc2lt
LmV4cAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvbGli
d2VicnRjLmlPU3NpbS5leHAKQEAgLTIyOSw3ICsyMjksNyBAQCBfX1pONndlYnJ0YzI0dmlkZW9E
ZWNvZGVyVGFza0NvbXBsZXRlRVB2alAxMF9fQ1ZCdWZmZXJqCiBfX1pONndlYnJ0YzI0c2V0Vmlk
ZW9EZWNvZGVyQ2FsbGJhY2tzRVBGUHZSS05TXzE0U2RwVmlkZW9Gb3JtYXRFRVBGaVMwX0VQRmlT
MF9qUEtobXR0RVBGaVMwX1MwX0UKIF9fWk42d2VicnRjMTlzZXREZWNvZGVyRnJhbWVTaXplRVB2
dHQKIF9fWk42d2VicnRjMThSdHBDb2RlY0NhcGFiaWxpdHlDMUV2Ci1fX1pONndlYnJ0YzI0ZW5j
b2RlclZpZGVvVGFza0NvbXBsZXRlRVB2TlNfMTRWaWRlb0NvZGVjVHlwZUVQaG1SS05TXzIyV2Vi
S2l0RW5jb2RlZEZyYW1lSW5mb0UKK19fWk42d2VicnRjMjRlbmNvZGVyVmlkZW9UYXNrQ29tcGxl
dGVFUHZOU18xNFZpZGVvQ29kZWNUeXBlRVBLaG1SS05TXzIyV2ViS2l0RW5jb2RlZEZyYW1lSW5m
b0UKIF9fWk42d2VicnRjMjRzZXRWaWRlb0VuY29kZXJDYWxsYmFja3NFUEZQdlJLTlNfMTRTZHBW
aWRlb0Zvcm1hdEVFUEZpUzBfRVBGaVMwX1JLTlNfMTBWaWRlb0NvZGVjRUVQRmlTMF9SS05TXzEw
VmlkZW9GcmFtZUViRVBGaVMwX1MwX0VQRnZTMF9SS05TXzEyVmlkZW9FbmNvZGVyMjFSYXRlQ29u
dHJvbFBhcmFtZXRlcnNFRQogX19aTjZ3ZWJydGMyMHNldExvY2FsRW5jb2RlclJhdGVzRVB2amoK
IF9fWk42d2VicnRjMjVzZXRMb2NhbEVuY29kZXJMb3dMYXRlbmN5RVB2YgpkaWZmIC0tZ2l0IGEv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5tYWMu
ZXhwIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0
Yy5tYWMuZXhwCmluZGV4IDQ4ZTQ0NTkyOTMxZGNjODRhZDM3Mzc1YmE5ZjYwOTBiMTAxMmM2N2Qu
LmEyY2FmYjM5MjI5OWU5NWI3YTdiZGZlNmUzNmQ3ZmYwNWY3MTkwZmIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMubWFjLmV4
cAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvbGlid2Vi
cnRjLm1hYy5leHAKQEAgLTIyOSw3ICsyMjksNyBAQCBfX1pONndlYnJ0YzI0dmlkZW9EZWNvZGVy
VGFza0NvbXBsZXRlRVB2alAxMF9fQ1ZCdWZmZXJqCiBfX1pONndlYnJ0YzI0c2V0VmlkZW9EZWNv
ZGVyQ2FsbGJhY2tzRVBGUHZSS05TXzE0U2RwVmlkZW9Gb3JtYXRFRVBGaVMwX0VQRmlTMF9qUEto
bXR0RVBGaVMwX1MwX0UKIF9fWk42d2VicnRjMTlzZXREZWNvZGVyRnJhbWVTaXplRVB2dHQKIF9f
Wk42d2VicnRjMThSdHBDb2RlY0NhcGFiaWxpdHlDMUV2Ci1fX1pONndlYnJ0YzI0ZW5jb2RlclZp
ZGVvVGFza0NvbXBsZXRlRVB2TlNfMTRWaWRlb0NvZGVjVHlwZUVQaG1SS05TXzIyV2ViS2l0RW5j
b2RlZEZyYW1lSW5mb0UKK19fWk42d2VicnRjMjRlbmNvZGVyVmlkZW9UYXNrQ29tcGxldGVFUHZO
U18xNFZpZGVvQ29kZWNUeXBlRVBLaG1SS05TXzIyV2ViS2l0RW5jb2RlZEZyYW1lSW5mb0UKIF9f
Wk42d2VicnRjMjRzZXRWaWRlb0VuY29kZXJDYWxsYmFja3NFUEZQdlJLTlNfMTRTZHBWaWRlb0Zv
cm1hdEVFUEZpUzBfRVBGaVMwX1JLTlNfMTBWaWRlb0NvZGVjRUVQRmlTMF9SS05TXzEwVmlkZW9G
cmFtZUViRVBGaVMwX1MwX0VQRnZTMF9SS05TXzEyVmlkZW9FbmNvZGVyMjFSYXRlQ29udHJvbFBh
cmFtZXRlcnNFRQogX19aTjZ3ZWJydGMyMHNldExvY2FsRW5jb2RlclJhdGVzRVB2amoKIF9fWk42
d2VicnRjMjVzZXRMb2NhbEVuY29kZXJMb3dMYXRlbmN5RVB2YgpkaWZmIC0tZ2l0IGEvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL1dlYktpdC9XZWJLaXRFbmNv
ZGVyLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvV2Vi
S2l0L1dlYktpdEVuY29kZXIuaAppbmRleCAyM2Q5N2VjYzRlYmY4MTM5MGZmOGE0OWFjOTAyZWIy
NDkwYjJiNTI0Li5lMzc3OGE2YTYxYjU2N2JmODkwNzg0NTMxY2Y2YmNmNTgyNWJjZjIyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvV2Vi
S2l0L1dlYktpdEVuY29kZXIuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0L1dlYktpdEVuY29kZXIuaApAQCAtODAsNyArODAsNyBAQCB2
b2lkIGluaXRpYWxpemVMb2NhbEVuY29kZXIoTG9jYWxFbmNvZGVyLCB1aW50MTZfdCB3aWR0aCwg
dWludDE2X3QgaGVpZ2h0LCB1bnNpZwogdm9pZCBlbmNvZGVMb2NhbEVuY29kZXJGcmFtZShMb2Nh
bEVuY29kZXIsIENWUGl4ZWxCdWZmZXJSZWYsIGludDY0X3QgdGltZVN0YW1wTnMsIHVpbnQzMl90
IHRpbWVTdGFtcCwgd2VicnRjOjpWaWRlb1JvdGF0aW9uLCBib29sIGlzS2V5ZnJhbWVSZXF1aXJl
ZCk7CiB2b2lkIHNldExvY2FsRW5jb2RlclJhdGVzKExvY2FsRW5jb2RlciwgdWludDMyX3QgYml0
UmF0ZSwgdWludDMyX3QgZnJhbWVSYXRlKTsKIHZvaWQgc2V0TG9jYWxFbmNvZGVyTG93TGF0ZW5j
eShMb2NhbEVuY29kZXIsIGJvb2wgaXNMb3dMYXRlbmN5RW5hYmxlZCk7Ci12b2lkIGVuY29kZXJW
aWRlb1Rhc2tDb21wbGV0ZSh2b2lkKiwgd2VicnRjOjpWaWRlb0NvZGVjVHlwZSwgdWludDhfdCog
YnVmZmVyLCBzaXplX3QgbGVuZ3RoLCBjb25zdCBXZWJLaXRFbmNvZGVkRnJhbWVJbmZvJik7Cit2
b2lkIGVuY29kZXJWaWRlb1Rhc2tDb21wbGV0ZSh2b2lkKiwgd2VicnRjOjpWaWRlb0NvZGVjVHlw
ZSwgY29uc3QgdWludDhfdCogYnVmZmVyLCBzaXplX3QgbGVuZ3RoLCBjb25zdCBXZWJLaXRFbmNv
ZGVkRnJhbWVJbmZvJik7CiAKIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+CiBib29sIFdlYktpdEVu
Y29kZWRGcmFtZUluZm86OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBXZWJLaXRFbmNvZGVkRnJh
bWVJbmZvJiBpbmZvKQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS93ZWJydGMvc2RrL1dlYktpdC9XZWJLaXRFbmNvZGVyLm1tIGIvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL1dlYktpdC9XZWJLaXRFbmNvZGVyLm1tCmlu
ZGV4IGQ3OTUxYzYxMjFkNjE4NTJkYjZjYTg3ZDU5YTdiMjIxZjk1ZjUyYmMuLjg3YjVjODFiOGFi
NTBmNDRlM2E2YzI3ZDRjODI3N2EyZTFiYmUxYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9XZWJLaXQvV2ViS2l0RW5jb2Rlci5tbQor
KysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0
L1dlYktpdEVuY29kZXIubW0KQEAgLTI5MCw5ICsyOTAsMTEgQEAgaW50MzJfdCBSZW1vdGVWaWRl
b0VuY29kZXI6OlJlZ2lzdGVyRW5jb2RlQ29tcGxldGVDYWxsYmFjayhFbmNvZGVkSW1hZ2VDYWxs
YmFjayoKICAgICByZXR1cm4gdmlkZW9FbmNvZGVyQ2FsbGJhY2tzKCkucmVnaXN0ZXJFbmNvZGVD
b21wbGV0ZUNhbGxiYWNrKG1faW50ZXJuYWxFbmNvZGVyLCBjYWxsYmFjayk7CiB9CiAKLXZvaWQg
ZW5jb2RlclZpZGVvVGFza0NvbXBsZXRlKHZvaWQqIGNhbGxiYWNrLCB3ZWJydGM6OlZpZGVvQ29k
ZWNUeXBlIGNvZGVjVHlwZSwgdWludDhfdCogYnVmZmVyLCBzaXplX3QgbGVuZ3RoLCBjb25zdCBX
ZWJLaXRFbmNvZGVkRnJhbWVJbmZvJiBpbmZvKQordm9pZCBlbmNvZGVyVmlkZW9UYXNrQ29tcGxl
dGUodm9pZCogY2FsbGJhY2ssIHdlYnJ0Yzo6VmlkZW9Db2RlY1R5cGUgY29kZWNUeXBlLCBjb25z
dCB1aW50OF90KiBidWZmZXIsIHNpemVfdCBsZW5ndGgsIGNvbnN0IFdlYktpdEVuY29kZWRGcmFt
ZUluZm8mIGluZm8pCiB7Ci0gICAgd2VicnRjOjpFbmNvZGVkSW1hZ2UgZW5jb2RlZEltYWdlKGJ1
ZmZlciwgbGVuZ3RoLCBsZW5ndGgpOworICAgIHdlYnJ0Yzo6RW5jb2RlZEltYWdlIGVuY29kZWRJ
bWFnZTsKKyAgICBlbmNvZGVkSW1hZ2UuU2V0RW5jb2RlZERhdGEoRW5jb2RlZEltYWdlQnVmZmVy
OjpDcmVhdGUoYnVmZmVyLCBsZW5ndGgpKTsKKwogICAgIGVuY29kZWRJbWFnZS5fZW5jb2RlZFdp
ZHRoID0gaW5mby53aWR0aDsKICAgICBlbmNvZGVkSW1hZ2UuX2VuY29kZWRIZWlnaHQgPSBpbmZv
LmhlaWdodDsKICAgICBlbmNvZGVkSW1hZ2UuU2V0VGltZXN0YW1wKGluZm8udGltZVN0YW1wKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNl
c0V4cGVyaW1lbnRhbC55YW1sIGIvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlBy
ZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKaW5kZXggYjAxNmFjOWY3MzJiMTI2ODhmOWE4NTIz
ZTAwZjRhZjEzYmJhNWM2Yi4uZTdiOTI2ZGFiZTA4ZTRhOGY0MTYwNDMwZjkyNGNiODI2ZTZkN2Zk
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVu
Y2VzRXhwZXJpbWVudGFsLnlhbWwKKysrIGIvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2Vz
L1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKQEAgLTk4NCw2ICs5ODQsMTkgQEAgV2Vi
UlRDSDI2NUNvZGVjRW5hYmxlZDoKICAgICBXZWJLaXQ6CiAgICAgICBkZWZhdWx0OiBmYWxzZQog
CitXZWJSVENJbnNlcnRhYmxlU3RyZWFtc0VuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgY29uZGl0
aW9uOiBFTkFCTEUoV0VCX1JUQykKKyAgaHVtYW5SZWFkYWJsZU5hbWU6ICJXZWJSVEMgSW5zZXJ0
YWJsZSBTdHJlYW1zIEFQSSIKKyAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIFdl
YlJUQyBJbnNlcnRhYmxlIFN0cmVhbXMgQVBJIgorICBkZWZhdWx0VmFsdWU6CisgICAgV2ViS2l0
TGVnYWN5OgorICAgICAgZGVmYXVsdDogZmFsc2UKKyAgICBXZWJLaXQ6CisgICAgICBkZWZhdWx0
OiBmYWxzZQorICAgIFdlYkNvcmU6CisgICAgICBkZWZhdWx0OiBmYWxzZQorCiAjIEZJWE1FOiBU
aGlzIGlzIG5vdCByZWxldmVudCBmb3IgV2ViS2l0TGVnYWN5LCBzbyBzaG91bGQgYmUgZXhjbHVk
ZWQgZnJvbSBXZWJLaXRMZWdhY3kgZW50aXJlbHkuCiBXZWJSVENQbGF0Zm9ybUNvZGVjc0luR1BV
UHJvY2Vzc0VuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNWQ0
YTRlOWQ0ODE2NGVkNWExYzM0ZTU4NTM4M2MxZmMzMGE0MGI4OC4uMjUzMGY4NTViMjMwMTEyYmMw
NWNjNTkxZWZhZGUyNWIyZDE1MGQ4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTQwMCwxMiAr
NDAwLDE1IEBAIHNldChXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENSdHBIZWFkZXJFeHRlbnNpb25QYXJhbWV0ZXJzLmlkbAogICAgIE1vZHVsZXMv
bWVkaWFzdHJlYW0vUlRDUnRwUGFyYW1ldGVycy5pZGwKICAgICBNb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ1J0cFJlY2VpdmVyLmlkbAorICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVpY2V2
ZXIrVHJhbnNmb3JtLmlkbAogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUnR4UGFyYW1l
dGVycy5pZGwKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRQYXJhbWV0ZXJzLmlk
bAorICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyK1RyYW5zZm9ybS5pZGwKICAg
ICBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlci5pZGwKICAgICBNb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ1J0cFN5bmNocm9uaXphdGlvblNvdXJjZS5pZGwKICAgICBNb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ1J0cFRyYW5zY2VpdmVyLmlkbAogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
UnRwVHJhbnNjZWl2ZXJEaXJlY3Rpb24uaWRsCisgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENS
dHBUcmFuc2Zvcm0uaWRsCiAgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTZHBUeXBlLmlkbAog
ICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uLmlkbAogICAgIE1v
ZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uSW5pdC5pZGwKQEAgLTE3NDks
NiArMTc1Miw3IEBAIHNldChXZWJDb3JlVGVzdFN1cHBvcnRfSURMX0ZJTEVTCiAgICAgdGVzdGlu
Zy9Nb2NrQ0RNRmFjdG9yeS5pZGwKICAgICB0ZXN0aW5nL01vY2tDb250ZW50RmlsdGVyU2V0dGlu
Z3MuaWRsCiAgICAgdGVzdGluZy9Nb2NrUGFnZU92ZXJsYXkuaWRsCisgICAgdGVzdGluZy9Nb2Nr
UlRDUnRwVHJhbnNmb3JtLmlkbAogICAgIHRlc3RpbmcvU2VydmljZVdvcmtlckludGVybmFscy5p
ZGwKICAgICB0ZXN0aW5nL1R5cGVDb252ZXJzaW9ucy5pZGwKICkKQEAgLTE3NzIsNiArMTc3Niw3
IEBAIGxpc3QoQVBQRU5EIFdlYkNvcmVUZXN0U3VwcG9ydF9TT1VSQ0VTCiAgICAgdGVzdGluZy9N
b2NrTGliV2ViUlRDUGVlckNvbm5lY3Rpb24uY3BwCiAgICAgdGVzdGluZy9Nb2NrUGFnZU92ZXJs
YXkuY3BwCiAgICAgdGVzdGluZy9Nb2NrUGFnZU92ZXJsYXlDbGllbnQuY3BwCisgICAgdGVzdGlu
Zy9Nb2NrUlRDUnRwVHJhbnNmb3JtLmNwcAogICAgIHRlc3RpbmcvU2VydmljZVdvcmtlckludGVy
bmFscy5jcHAKICAgICB0ZXN0aW5nL2pzL1dlYkNvcmVUZXN0U3VwcG9ydC5jcHAKICkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IGFhMThh
OGNmNzJjZGJmZmEwNjFlOTIxYmM5MTM2MmQ0N2Q4YzM1YjMuLjY2OWI2ODYxYjZhZmExZDBhYzA5
N2IxYmQzMTA2NDQ4M2VlYzc1MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMtaW5wdXQueGNmaWxlbGlzdApAQCAtMTI5LDggKzEyOSw4IEBAICQoUFJPSkVDVF9ESVIpL01v
ZHVsZXMvZ2VvbG9jYXRpb24vUG9zaXRpb25DYWxsYmFjay5pZGwKICQoUFJPSkVDVF9ESVIpL01v
ZHVsZXMvZ2VvbG9jYXRpb24vUG9zaXRpb25FcnJvci5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVs
ZXMvZ2VvbG9jYXRpb24vUG9zaXRpb25FcnJvckNhbGxiYWNrLmlkbAogJChQUk9KRUNUX0RJUikv
TW9kdWxlcy9nZW9sb2NhdGlvbi9Qb3NpdGlvbk9wdGlvbnMuaWRsCi0kKFBST0pFQ1RfRElSKS9N
b2R1bGVzL2hpZ2hsaWdodC9IaWdobGlnaHRSZWdpc3Rlci5pZGwKICQoUFJPSkVDVF9ESVIpL01v
ZHVsZXMvaGlnaGxpZ2h0L0hpZ2hsaWdodC5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvaGln
aGxpZ2h0L0hpZ2hsaWdodFJlZ2lzdGVyLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9pbmRl
eGVkZGIvRE9NV2luZG93K0luZGV4ZWREYXRhYmFzZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVs
ZXMvaW5kZXhlZGRiL0lEQkN1cnNvci5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvaW5kZXhl
ZGRiL0lEQkN1cnNvckRpcmVjdGlvbi5pZGwKQEAgLTIzMywxMyArMjMzLDE2IEBAICQoUFJPSkVD
VF9ESVIpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwRW5jb2RpbmdQYXJhbWV0ZXJzLmlkbAog
JChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBGZWNQYXJhbWV0ZXJzLmlk
bAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBIZWFkZXJFeHRlbnNp
b25QYXJhbWV0ZXJzLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENS
dHBQYXJhbWV0ZXJzLmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENS
dHBSZWNlaXZlcitUcmFuc2Zvcm0uaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL1JUQ1J0cFJlY2VpdmVyLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENSdHBSdHhQYXJhbWV0ZXJzLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENSdHBTZW5kUGFyYW1ldGVycy5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbWVk
aWFzdHJlYW0vUlRDUnRwU2VuZGVyK1RyYW5zZm9ybS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENSdHBTeW5jaHJvbml6YXRpb25Tb3VyY2UuaWRsCiAkKFBST0pFQ1RfRElS
KS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zY2VpdmVyLmlkbAogJChQUk9KRUNUX0RJ
UikvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBUcmFuc2NlaXZlckRpcmVjdGlvbi5pZGwKKyQo
UFJPSkVDVF9ESVIpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNmb3JtLmlkbAogJChQ
Uk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTZHBUeXBlLmlkbAogJChQUk9KRUNU
X0RJUikvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb24uaWRsCiAkKFBS
T0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlvbkluaXQu
aWRsCkBAIC0yODksNiArMjkyLDcgQEAgJChQUk9KRUNUX0RJUikvTW9kdWxlcy9xdW90YS9Xb3Jr
ZXJOYXZpZ2F0b3IrU3RvcmFnZVF1b3RhLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9yZW1v
dGVwbGF5YmFjay9IVE1MTWVkaWFFbGVtZW50K1JlbW90ZVBsYXliYWNrLmlkbAogJChQUk9KRUNU
X0RJUikvTW9kdWxlcy9yZW1vdGVwbGF5YmFjay9SZW1vdGVQbGF5YmFjay5pZGwKICQoUFJPSkVD
VF9ESVIpL01vZHVsZXMvcmVtb3RlcGxheWJhY2svUmVtb3RlUGxheWJhY2tBdmFpbGFiaWxpdHlD
YWxsYmFjay5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvc3BlZWNoL0RPTVdpbmRvdytTcGVl
Y2hTeW50aGVzaXMuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hSZWNv
Z25pdGlvbi5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvc3BlZWNoL1NwZWVjaFJlY29nbml0
aW9uQWx0ZXJuYXRpdmUuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hS
ZWNvZ25pdGlvbkVycm9yQ29kZS5pZGwKQEAgLTI5Niw3ICszMDAsNiBAQCAkKFBST0pFQ1RfRElS
KS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvbkVycm9yRXZlbnQuaWRsCiAkKFBST0pF
Q1RfRElSKS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvbkV2ZW50LmlkbAogJChQUk9K
RUNUX0RJUikvTW9kdWxlcy9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb25SZXN1bHQuaWRsCiAkKFBS
T0pFQ1RfRElSKS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvblJlc3VsdExpc3QuaWRs
Ci0kKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3NwZWVjaC9ET01XaW5kb3crU3BlZWNoU3ludGhlc2lz
LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9zcGVlY2gvU3BlZWNoU3ludGhlc2lzLmlkbAog
JChQUk9KRUNUX0RJUikvTW9kdWxlcy9zcGVlY2gvU3BlZWNoU3ludGhlc2lzRXZlbnQuaWRsCiAk
KFBST0pFQ1RfRElSKS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXNVdHRlcmFuY2UuaWRs
CkBAIC0xMzAxLDYgKzEzMDQsNyBAQCAkKFBST0pFQ1RfRElSKS90ZXN0aW5nL01vY2tQYXltZW50
QWRkcmVzcy5pZGwKICQoUFJPSkVDVF9ESVIpL3Rlc3RpbmcvTW9ja1BheW1lbnRDb250YWN0Rmll
bGRzLmlkbAogJChQUk9KRUNUX0RJUikvdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmlk
bAogJChQUk9KRUNUX0RJUikvdGVzdGluZy9Nb2NrUGF5bWVudEVycm9yLmlkbAorJChQUk9KRUNU
X0RJUikvdGVzdGluZy9Nb2NrUlRDUnRwVHJhbnNmb3JtLmlkbAogJChQUk9KRUNUX0RJUikvdGVz
dGluZy9Nb2NrV2ViQXV0aGVudGljYXRpb25Db25maWd1cmF0aW9uLmlkbAogJChQUk9KRUNUX0RJ
UikvdGVzdGluZy9TZXJ2aWNlV29ya2VySW50ZXJuYWxzLmlkbAogJChQUk9KRUNUX0RJUikvdGVz
dGluZy9UeXBlQ29udmVyc2lvbnMuaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLW91dHB1dC54Y2ZpbGVsaXN0CmluZGV4IDM4MWZiZDQ4OTVlMGVhOTdlOWRiMjFlNWQ0ZDQ3
N2Y2ZmEyMGFhYmEuLmRiNjcxMDA4OGVmMjQ1NDQ4MzAyNWUwMWU0YWE3Y2U1ZGZlYzMwNGMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CkBA
IC0xMTA1LDEwICsxMTA1LDEwIEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTSGFzaENoYW5nZUV2ZW50LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIYXNoQ2hhbmdlRXZlbnQuaAogJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIZHJNZXRhZGF0YVR5cGUuY3BwCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hkck1ldGFkYXRhVHlw
ZS5oCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hpZ2hs
aWdodFJlZ2lzdGVyLmNwcAotJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNIaWdobGlnaHRSZWdpc3Rlci5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0hpZ2hsaWdodC5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSGlnaGxpZ2h0LmgKKyQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSGlnaGxpZ2h0UmVnaXN0ZXIuY3BwCiskKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hpZ2hsaWdodFJlZ2lzdGVy
LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSGlzdG9y
eS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSGlz
dG9yeS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hr
ZGZQYXJhbXMuY3BwCkBAIC0xMzQxLDYgKzEzNDEsOCBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01vY2tQYXltZW50Q29vcmRpbmF0b3IuY3BwCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01vY2tQYXltZW50Q29v
cmRpbmF0b3IuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNNb2NrUGF5bWVudEVycm9yLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNNb2NrUGF5bWVudEVycm9yLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTW9ja1JUQ1J0cFRyYW5zZm9ybS5jcHAKKyQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTW9ja1JUQ1J0cFRyYW5zZm9y
bS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01vY2tX
ZWJBdXRoZW50aWNhdGlvbkNvbmZpZ3VyYXRpb24uY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01vY2tXZWJBdXRoZW50aWNhdGlvbkNvbmZpZ3VyYXRp
b24uaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNb3Vz
ZUV2ZW50LmNwcApAQCAtMTY5NywxMiArMTY5OSwxNiBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JUQ1J0cEhlYWRlckV4dGVuc2lvblBhcmFtZXRlcnMu
YwogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSVENSdHBI
ZWFkZXJFeHRlbnNpb25QYXJhbWV0ZXJzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTUlRDUnRwUGFyYW1ldGVycy5jcHAKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUlRDUnRwUGFyYW1ldGVycy5oCiskKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JUQ1J0cFJlY2VpdmVyK1Ry
YW5zZm9ybS5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTUlRDUnRwUmVjZWl2ZXIrVHJhbnNmb3JtLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTUlRDUnRwUmVjZWl2ZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JUQ1J0cFJlY2VpdmVyLmgKICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUlRDUnRwUnR4UGFyYW1ldGVy
cy5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUlRD
UnRwUnR4UGFyYW1ldGVycy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU1JUQ1J0cFNlbmRQYXJhbWV0ZXJzLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSVENSdHBTZW5kUGFyYW1ldGVycy5oCiskKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JUQ1J0cFNlbmRlcitUcmFu
c2Zvcm0uY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U1JUQ1J0cFNlbmRlcitUcmFuc2Zvcm0uaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNSVENSdHBTZW5kZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JUQ1J0cFNlbmRlci5oCiAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JUQ1J0cFN5bmNocm9uaXphdGlvblNvdXJj
ZS5jcHAKQEAgLTE3MTEsNiArMTcxNyw4IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTUlRDUnRwVHJhbnNjZWl2ZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JUQ1J0cFRyYW5zY2VpdmVyLmgKICQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUlRDUnRwVHJhbnNjZWl2
ZXJEaXJlY3Rpb24uY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU1JUQ1J0cFRyYW5zY2VpdmVyRGlyZWN0aW9uLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUlRDUnRwVHJhbnNmb3JtLmNwcAorJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSVENSdHBUcmFuc2Zvcm0uaAog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSVENTZHBUeXBl
LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSVENT
ZHBUeXBlLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
UlRDU2Vzc2lvbkRlc2NyaXB0aW9uLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5k
ZXggNGQwODUzMGFhNWJkOGU4NmUyMjI0NmM1M2UyYzhlZTAxNzhlMzAzZC4uOWFlNDBjMTg3OTY4
OTM4MTdiODQxNjUyN2MyNDBhZjcyM2U4ZjExNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5t
YWtlCkBAIC0yNTgsMTIgKzI1OCwxNSBAQCBKU19CSU5ESU5HX0lETFMgOj0gXAogICAgICQoV2Vi
Q29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBIZWFkZXJFeHRlbnNpb25QYXJhbWV0ZXJz
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFBhcmFtZXRl
cnMuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2
ZXIuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2
ZXIrVHJhbnNmb3JtLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q1J0cFJ0eFBhcmFtZXRlcnMuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDUnRwU2VuZFBhcmFtZXRlcnMuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVk
aWFzdHJlYW0vUlRDUnRwU2VuZGVyLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ1J0cFNlbmRlcitUcmFuc2Zvcm0uaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDUnRwU3luY2hyb25pemF0aW9uU291cmNlLmlkbCBcCiAgICAgJChX
ZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zY2VpdmVyLmlkbCBcCiAgICAg
JChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zY2VpdmVyRGlyZWN0aW9u
LmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zZm9y
bS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTZHBUeXBlLmlk
bCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlw
dGlvbi5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTZXNzaW9u
RGVzY3JpcHRpb25Jbml0LmlkbCBcCkBAIC0xMjI2LDYgKzEyMjksNyBAQCBKU19CSU5ESU5HX0lE
TFMgOj0gXAogICAgICQoV2ViQ29yZSkvdGVzdGluZy9Nb2NrUGF5bWVudENvbnRhY3RGaWVsZHMu
aWRsIFwKICAgICAkKFdlYkNvcmUpL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5pZGwg
XAogICAgICQoV2ViQ29yZSkvdGVzdGluZy9Nb2NrUGF5bWVudEVycm9yLmlkbCBcCisgICAgJChX
ZWJDb3JlKS90ZXN0aW5nL01vY2tSVENSdHBUcmFuc2Zvcm0uaWRsIFwKICAgICAkKFdlYkNvcmUp
L3Rlc3RpbmcvTW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29uZmlndXJhdGlvbi5pZGwgXAogICAgICQo
V2ViQ29yZSkvdGVzdGluZy9TZXJ2aWNlV29ya2VySW50ZXJuYWxzLmlkbCBcCiAgICAgJChXZWJD
b3JlKS90ZXN0aW5nL1R5cGVDb252ZXJzaW9ucy5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlcitUcmFuc2Zvcm0uaWRsIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlcitUcmFuc2Zv
cm0uaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYwYjJlMTFkNDdmZmJiM2E4NDNiZjQxMzk3ZTBjMDhjOTFlMjYy
NzgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ1J0cFJlY2VpdmVyK1RyYW5zZm9ybS5pZGwKQEAgLTAsMCArMSwzMyBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKK1sKKyAgICBDb25kaXRpb25hbD1XRUJfUlRDLAorICAgIEVuYWJsZWRCeVNldHRpbmc9V2Vi
UlRDSW5zZXJ0YWJsZVN0cmVhbXMsCisgICAgRXhwb3NlZD1XaW5kb3csCisgICAgSW1wbGVtZW50
ZWRCeT1SVENSdHBSZWNlaXZlcldpdGhUcmFuc2Zvcm0sCitdIHBhcnRpYWwgaW50ZXJmYWNlIFJU
Q1J0cFJlY2VpdmVyIHsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIGF0dHJpYnV0ZSBSVENSdHBU
cmFuc2Zvcm0/IHRyYW5zZm9ybTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIuY3BwCmluZGV4IDQyYzRjMDc4NDA5ZTMyZGFk
MWU0MjRlYWEwYjJiN2I1ZjM1NGYyYjQuLjBiZmNjOTY2M2MyZjA2ZDRlOTBjMDk0ODhkZjI1MmUx
ZmQyYjNjMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
UlRDUnRwUmVjZWl2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDUnRwUmVjZWl2ZXIuY3BwCkBAIC00OSwxMSArNDksMjAgQEAgUlRDUnRwUmVjZWl2ZXI6
OlJUQ1J0cFJlY2VpdmVyKFBlZXJDb25uZWN0aW9uQmFja2VuZCYgY29ubmVjdGlvbiwgUmVmPE1l
ZGlhU3RyZWEKIHsKIH0KIAorUlRDUnRwUmVjZWl2ZXI6On5SVENSdHBSZWNlaXZlcigpCit7Cisg
ICAgaWYgKG1fdHJhbnNmb3JtKQorICAgICAgICBtX3RyYW5zZm9ybS0+ZGV0YWNoRnJvbVJlY2Vp
dmVyKCp0aGlzKTsKK30KKwogdm9pZCBSVENSdHBSZWNlaXZlcjo6c3RvcCgpCiB7CiAgICAgaWYg
KCFtX2JhY2tlbmQpCiAgICAgICAgIHJldHVybjsKIAorICAgIGlmIChtX3RyYW5zZm9ybSkKKyAg
ICAgICAgbV90cmFuc2Zvcm0tPmRldGFjaEZyb21SZWNlaXZlcigqdGhpcyk7CisKICAgICBtX2Jh
Y2tlbmQgPSBudWxscHRyOwogICAgIG1fdHJhY2stPnN0b3BUcmFjayhNZWRpYVN0cmVhbVRyYWNr
OjpTdG9wTW9kZTo6UG9zdEV2ZW50KTsKIH0KQEAgLTcyLDYgKzgxLDIwIEBAIE9wdGlvbmFsPFJU
Q1J0cENhcGFiaWxpdGllcz4gUlRDUnRwUmVjZWl2ZXI6OmdldENhcGFiaWxpdGllcyhTY3JpcHRF
eGVjdXRpb25Db250CiAgICAgcmV0dXJuIFBlZXJDb25uZWN0aW9uQmFja2VuZDo6cmVjZWl2ZXJD
YXBhYmlsaXRpZXMoY29udGV4dCwga2luZCk7CiB9CiAKK0V4Y2VwdGlvbk9yPHZvaWQ+IFJUQ1J0
cFJlY2VpdmVyOjpzZXRUcmFuc2Zvcm0oUmVmUHRyPFJUQ1J0cFRyYW5zZm9ybT4mJiB0cmFuc2Zv
cm0pCit7CisgICAgaWYgKHRyYW5zZm9ybSAmJiB0cmFuc2Zvcm0tPmlzQXR0YWNoZWQoKSkKKyAg
ICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVycm9yLCAidHJhbnNmb3JtIGlz
IGFscmVhZHkgaW4gdXNlIl9zIH07CisKKyAgICBpZiAobV90cmFuc2Zvcm0pCisgICAgICAgIG1f
dHJhbnNmb3JtLT5kZXRhY2hGcm9tUmVjZWl2ZXIoKnRoaXMpOworICAgIG1fdHJhbnNmb3JtID0g
V1RGTW92ZSh0cmFuc2Zvcm0pOworICAgIGlmIChtX3RyYW5zZm9ybSkKKyAgICAgICAgbV90cmFu
c2Zvcm0tPmF0dGFjaFRvUmVjZWl2ZXIoKnRoaXMpOworCisgICAgcmV0dXJuIHsgfTsKK30KKwog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKFdFQl9SVEMpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVyLmgK
aW5kZXggM2NjYThiMmI5NjcxOGFlNDc2ZDgzOTQzMjYxMjBjOTc5OTA3OTM1MS4uOGNiMWE0M2Qy
YmQwNDQ2MjRjMjg3Y2E2YWY3MWM3ZGY4NzhkMjJiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIuaApAQCAtMzUsNiArMzUsNyBA
QAogI2luY2x1ZGUgIk1lZGlhU3RyZWFtVHJhY2suaCIKICNpbmNsdWRlICJSVENSdHBSZWNlaXZl
ckJhY2tlbmQuaCIKICNpbmNsdWRlICJSVENSdHBTeW5jaHJvbml6YXRpb25Tb3VyY2UuaCIKKyNp
bmNsdWRlICJSVENSdHBUcmFuc2Zvcm0uaCIKICNpbmNsdWRlICJTY3JpcHRXcmFwcGFibGUuaCIK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNTAsNiArNTEsNyBAQCBwdWJsaWM6CiAgICAgewog
ICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBSVENSdHBSZWNlaXZlcihjb25uZWN0aW9uLCBX
VEZNb3ZlKHRyYWNrKSwgV1RGTW92ZShiYWNrZW5kKSkpOwogICAgIH0KKyAgICB+UlRDUnRwUmVj
ZWl2ZXIoKTsKIAogICAgIHN0YXRpYyBPcHRpb25hbDxSVENSdHBDYXBhYmlsaXRpZXM+IGdldENh
cGFiaWxpdGllcyhTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgY29uc3QgU3RyaW5nJiBraW5kKTsK
IApAQCAtNjUsMTIgKzY3LDE2IEBAIHB1YmxpYzoKICAgICBSVENSdHBSZWNlaXZlckJhY2tlbmQq
IGJhY2tlbmQoKSB7IHJldHVybiBtX2JhY2tlbmQuZ2V0KCk7IH0KICAgICB2b2lkIGdldFN0YXRz
KFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOwogCisgICAgUlRDUnRwVHJhbnNmb3JtKiB0cmFuc2Zv
cm0oKSB7IHJldHVybiBtX3RyYW5zZm9ybS5nZXQoKTsgfQorICAgIEV4Y2VwdGlvbk9yPHZvaWQ+
IHNldFRyYW5zZm9ybShSZWZQdHI8UlRDUnRwVHJhbnNmb3JtPiYmKTsKKwogcHJpdmF0ZToKICAg
ICBSVENSdHBSZWNlaXZlcihQZWVyQ29ubmVjdGlvbkJhY2tlbmQmLCBSZWY8TWVkaWFTdHJlYW1U
cmFjaz4mJiwgc3RkOjp1bmlxdWVfcHRyPFJUQ1J0cFJlY2VpdmVyQmFja2VuZD4mJik7CiAKICAg
ICBSZWY8TWVkaWFTdHJlYW1UcmFjaz4gbV90cmFjazsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UlRD
UnRwUmVjZWl2ZXJCYWNrZW5kPiBtX2JhY2tlbmQ7CiAgICAgV2Vha1B0cjxQZWVyQ29ubmVjdGlv
bkJhY2tlbmQ+IG1fY29ubmVjdGlvbjsKKyAgICBSZWZQdHI8UlRDUnRwVHJhbnNmb3JtPiBtX3Ry
YW5zZm9ybTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXJCYWNrZW5kLmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVyQmFja2VuZC5o
CmluZGV4IDc4MmRkNjdkNTUxNmM4ZDZlN2I0MTk1NGJjYmI5MGJiYTc0NzI2OTMuLjYxOTZhNmE1
MDY4OTU4YTkyOTFiMzY0MjNlZjBiY2VhNjI0NDBkM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXJCYWNrZW5kLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlckJhY2tlbmQuaApA
QCAtMzEsMTIgKzMxLDE1IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgUlRDUnRw
VHJhbnNmb3JtQmFja2VuZDsKKwogY2xhc3MgUlRDUnRwUmVjZWl2ZXJCYWNrZW5kIHsKIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIH5SVENSdHBSZWNlaXZlckJhY2tlbmQoKSA9IGRlZmF1bHQ7CiAgICAg
dmlydHVhbCBSVENSdHBQYXJhbWV0ZXJzIGdldFBhcmFtZXRlcnMoKSB7IHJldHVybiB7IH07IH0K
ICAgICB2aXJ0dWFsIFZlY3RvcjxSVENSdHBDb250cmlidXRpbmdTb3VyY2U+IGdldENvbnRyaWJ1
dGluZ1NvdXJjZXMoKSBjb25zdCB7IHJldHVybiB7IH07IH0KICAgICB2aXJ0dWFsIFZlY3RvcjxS
VENSdHBTeW5jaHJvbml6YXRpb25Tb3VyY2U+IGdldFN5bmNocm9uaXphdGlvblNvdXJjZXMoKSBj
b25zdCB7IHJldHVybiB7IH07IH0KKyAgICB2aXJ0dWFsIFJlZjxSVENSdHBUcmFuc2Zvcm1CYWNr
ZW5kPiBjcmVhdGVSVENSdHBUcmFuc2Zvcm1CYWNrZW5kKCkgPSAwOwogfTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENSdHBSZWNlaXZlcldpdGhUcmFuc2Zvcm0uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXJXaXRoVHJhbnNmb3JtLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjBmOGJmMTQ1NDY3YmVkYjExYTZmOGY5YTU5OTEwZTQyZGI4NzlhZgotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXJXaXRo
VHJhbnNmb3JtLmgKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFdFQl9SVEMpCisK
KyNpbmNsdWRlICJSVENSdHBSZWNlaXZlci5oIgorI2luY2x1ZGUgIlJUQ1J0cFRyYW5zZm9ybS5o
IgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFJUQ1J0cFRyYW5zZm9ybTsKKworY2xh
c3MgUlRDUnRwUmVjZWl2ZXJXaXRoVHJhbnNmb3JtIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUlRD
UnRwVHJhbnNmb3JtKiB0cmFuc2Zvcm0oUlRDUnRwUmVjZWl2ZXImIHJlY2VpdmVyKSB7IHJldHVy
biByZWNlaXZlci50cmFuc2Zvcm0oKTsgfQorICAgIHN0YXRpYyBFeGNlcHRpb25Pcjx2b2lkPiBz
ZXRUcmFuc2Zvcm0oUlRDUnRwUmVjZWl2ZXImIHJlY2VpdmVyLCBSZWZQdHI8UlRDUnRwVHJhbnNm
b3JtPiYmIHRyYW5zZm9ybSkgeyByZXR1cm4gcmVjZWl2ZXIuc2V0VHJhbnNmb3JtKFdURk1vdmUo
dHJhbnNmb3JtKSk7IH0KK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8v
IEVOQUJMRShXRUJfUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENSdHBTZW5kZXIrVHJhbnNmb3JtLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyK1RyYW5zZm9ybS5pZGwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzM4
YTdlMzA3ZDYyNGMxMzRmNzgwY2NiNzEwYzhjNjgyNGRjMGRkYQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyK1RyYW5zZm9y
bS5pZGwKQEAgLTAsMCArMSwzMyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBDb25kaXRpb25hbD1X
RUJfUlRDLAorICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViUlRDSW5zZXJ0YWJsZVN0cmVhbXMsCisg
ICAgRXhwb3NlZD1XaW5kb3csCisgICAgSW1wbGVtZW50ZWRCeT1SVENSdHBTZW5kZXJXaXRoVHJh
bnNmb3JtLAorXSBwYXJ0aWFsIGludGVyZmFjZSBSVENSdHBTZW5kZXIgeworICAgIFtNYXlUaHJv
d0V4Y2VwdGlvbl0gYXR0cmlidXRlIFJUQ1J0cFRyYW5zZm9ybT8gdHJhbnNmb3JtOworfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyLmNw
cAppbmRleCBmZjE3MDNiOTJiMGQ5MGFhOTc4NzY3MjI2N2Y0OGUyN2E0Yjc2NGQ0Li5jN2FjM2M0
OWJkOWQ3OTZiMjQ4NzVmOWQ5MjMwNmQzZTkzYTc1NDNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIuY3BwCkBAIC02Niw3ICs2Niwx
MSBAQCBSVENSdHBTZW5kZXI6OlJUQ1J0cFNlbmRlcihSVENQZWVyQ29ubmVjdGlvbiYgY29ubmVj
dGlvbiwgU3RyaW5nJiYgdHJhY2tLaW5kLCBWZQogICAgIEFTU0VSVChtX2JhY2tlbmQpOwogfQog
Ci1SVENSdHBTZW5kZXI6On5SVENSdHBTZW5kZXIoKSA9IGRlZmF1bHQ7CitSVENSdHBTZW5kZXI6
On5SVENSdHBTZW5kZXIoKQoreworICAgIGlmIChtX3RyYW5zZm9ybSkKKyAgICAgICAgbV90cmFu
c2Zvcm0tPmRldGFjaEZyb21TZW5kZXIoKnRoaXMpOworfQogCiB2b2lkIFJUQ1J0cFNlbmRlcjo6
c2V0VHJhY2tUb051bGwoKQogewpAQCAtNzcsNiArODEsOSBAQCB2b2lkIFJUQ1J0cFNlbmRlcjo6
c2V0VHJhY2tUb051bGwoKQogCiB2b2lkIFJUQ1J0cFNlbmRlcjo6c3RvcCgpCiB7CisgICAgaWYg
KG1fdHJhbnNmb3JtKQorICAgICAgICBtX3RyYW5zZm9ybS0+ZGV0YWNoRnJvbVNlbmRlcigqdGhp
cyk7CisKICAgICBtX3RyYWNrSWQgPSB7IH07CiAgICAgbV90cmFjayA9IG51bGxwdHI7CiAgICAg
bV9iYWNrZW5kID0gbnVsbHB0cjsKQEAgLTE4Niw2ICsxOTMsMjAgQEAgT3B0aW9uYWw8UlRDUnRw
VHJhbnNjZWl2ZXJEaXJlY3Rpb24+IFJUQ1J0cFNlbmRlcjo6Y3VycmVudFRyYW5zY2VpdmVyRGly
ZWN0aW9uKCkKICAgICByZXR1cm4gc2VuZGVyVHJhbnNjZWl2ZXItPmN1cnJlbnREaXJlY3Rpb24o
KTsKIH0KIAorRXhjZXB0aW9uT3I8dm9pZD4gUlRDUnRwU2VuZGVyOjpzZXRUcmFuc2Zvcm0oUmVm
UHRyPFJUQ1J0cFRyYW5zZm9ybT4mJiB0cmFuc2Zvcm0pCit7CisgICAgaWYgKHRyYW5zZm9ybSAm
JiB0cmFuc2Zvcm0tPmlzQXR0YWNoZWQoKSkKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IElu
dmFsaWRTdGF0ZUVycm9yLCAidHJhbnNmb3JtIGlzIGFscmVhZHkgaW4gdXNlIl9zIH07CisKKyAg
ICBpZiAobV90cmFuc2Zvcm0pCisgICAgICAgIG1fdHJhbnNmb3JtLT5kZXRhY2hGcm9tU2VuZGVy
KCp0aGlzKTsKKyAgICBtX3RyYW5zZm9ybSA9IFdURk1vdmUodHJhbnNmb3JtKTsKKyAgICBpZiAo
bV90cmFuc2Zvcm0pCisgICAgICAgIG1fdHJhbnNmb3JtLT5hdHRhY2hUb1NlbmRlcigqdGhpcyk7
CisKKyAgICByZXR1cm4geyB9OworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRp
ZiAvLyBFTkFCTEUoV0VCX1JUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ1J0cFNlbmRlci5oCmluZGV4IDI4ZGYwZmViYWUxMzlkNGY4ZDRhN2M5YmJmY2Ix
MWIxMzk5NjA0YmQuLjcwYWQ5NTkyNzBiYjJhMjlhZTM0OTNiMWQxZWI4MDk0YTliNTA1YjUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIu
aApAQCAtMzYsNiArMzYsNyBAQAogI2luY2x1ZGUgIk1lZGlhU3RyZWFtVHJhY2suaCIKICNpbmNs
dWRlICJSVENSdHBTZW5kZXJCYWNrZW5kLmgiCiAjaW5jbHVkZSAiUlRDUnRwVHJhbnNjZWl2ZXJE
aXJlY3Rpb24uaCIKKyNpbmNsdWRlICJSVENSdHBUcmFuc2Zvcm0uaCIKICNpbmNsdWRlICJTY3Jp
cHRXcmFwcGFibGUuaCIKICNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgogCkBAIC04MSw2ICs4Miw5
IEBAIHB1YmxpYzoKICAgICBSVENEVE1GU2VuZGVyKiBkdG1mKCk7CiAgICAgT3B0aW9uYWw8UlRD
UnRwVHJhbnNjZWl2ZXJEaXJlY3Rpb24+IGN1cnJlbnRUcmFuc2NlaXZlckRpcmVjdGlvbigpIGNv
bnN0OwogCisgICAgUlRDUnRwVHJhbnNmb3JtKiB0cmFuc2Zvcm0oKSB7IHJldHVybiBtX3RyYW5z
Zm9ybS5nZXQoKTsgfQorICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFRyYW5zZm9ybShSZWZQdHI8
UlRDUnRwVHJhbnNmb3JtPiYmKTsKKwogcHJpdmF0ZToKICAgICBSVENSdHBTZW5kZXIoUlRDUGVl
ckNvbm5lY3Rpb24mLCBTdHJpbmcmJiB0cmFja0tpbmQsIFZlY3RvcjxTdHJpbmc+JiYgbWVkaWFT
dHJlYW1JZHMsIHN0ZDo6dW5pcXVlX3B0cjxSVENSdHBTZW5kZXJCYWNrZW5kPiYmKTsKIApAQCAt
OTEsNiArOTUsNyBAQCBwcml2YXRlOgogICAgIHN0ZDo6dW5pcXVlX3B0cjxSVENSdHBTZW5kZXJC
YWNrZW5kPiBtX2JhY2tlbmQ7CiAgICAgV2Vha1B0cjxSVENQZWVyQ29ubmVjdGlvbj4gbV9jb25u
ZWN0aW9uOwogICAgIFJlZlB0cjxSVENEVE1GU2VuZGVyPiBtX2R0bWZTZW5kZXI7CisgICAgUmVm
UHRyPFJUQ1J0cFRyYW5zZm9ybT4gbV90cmFuc2Zvcm07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q1J0cFNlbmRlckJhY2tlbmQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
UlRDUnRwU2VuZGVyQmFja2VuZC5oCmluZGV4IDFjMThlNTAxMjhiMjRlYzFiYjBmNDZjYzZiYjBm
ZWEwMDY4NDdkZGEuLjMwODk3YzI0ZWE3ZjcxZGQ0MDYyYjIwZWMyYjUzOGZjYmExYzgwYjYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVy
QmFja2VuZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRw
U2VuZGVyQmFja2VuZC5oCkBAIC0zMSw2ICszMSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNs
YXNzIE1lZGlhU3RyZWFtVHJhY2s7CiBjbGFzcyBSVENEVE1GU2VuZGVyQmFja2VuZDsKIGNsYXNz
IFJUQ1J0cFNlbmRlcjsKK2NsYXNzIFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ7CiBjbGFzcyBTY3Jp
cHRFeGVjdXRpb25Db250ZXh0OwogCiBzdHJ1Y3QgUlRDUnRwU2VuZFBhcmFtZXRlcnM7CkBAIC0z
OSwxMSArNDAsMTMgQEAgdGVtcGxhdGU8dHlwZW5hbWUgSURMVHlwZT4gY2xhc3MgRE9NUHJvbWlz
ZURlZmVycmVkOwogCiBjbGFzcyBSVENSdHBTZW5kZXJCYWNrZW5kIHsKIHB1YmxpYzoKKyAgICB2
aXJ0dWFsIH5SVENSdHBTZW5kZXJCYWNrZW5kKCkgPSBkZWZhdWx0OworCiAgICAgdmlydHVhbCBi
b29sIHJlcGxhY2VUcmFjayhSVENSdHBTZW5kZXImLCBNZWRpYVN0cmVhbVRyYWNrKikgPSAwOwog
ICAgIHZpcnR1YWwgUlRDUnRwU2VuZFBhcmFtZXRlcnMgZ2V0UGFyYW1ldGVycygpIGNvbnN0ID0g
MDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0UGFyYW1ldGVycyhjb25zdCBSVENSdHBTZW5kUGFyYW1l
dGVycyYsIERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYmKSA9IDA7CiAgICAgdmlydHVhbCBzdGQ6
OnVuaXF1ZV9wdHI8UlRDRFRNRlNlbmRlckJhY2tlbmQ+IGNyZWF0ZURUTUZCYWNrZW5kKCkgPSAw
OwotICAgIHZpcnR1YWwgflJUQ1J0cFNlbmRlckJhY2tlbmQoKSA9IGRlZmF1bHQ7CisgICAgdmly
dHVhbCBSZWY8UlRDUnRwVHJhbnNmb3JtQmFja2VuZD4gY3JlYXRlUlRDUnRwVHJhbnNmb3JtQmFj
a2VuZCgpID0gMDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyV2l0aFRyYW5zZm9y
bS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXJXaXRo
VHJhbnNmb3JtLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjhkMGU5ODJiZjEyZTdjMzljMDMyNDE3N2U5M2U2ZWEw
ODA2ZmMxMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vUlRDUnRwU2VuZGVyV2l0aFRyYW5zZm9ybS5oCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI3ByYWdtYSBvbmNlCisK
KyNpZiBFTkFCTEUoV0VCX1JUQykKKworI2luY2x1ZGUgIlJUQ1J0cFNlbmRlci5oIgorI2luY2x1
ZGUgIlJUQ1J0cFRyYW5zZm9ybS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFJU
Q1J0cFRyYW5zZm9ybTsKKworY2xhc3MgUlRDUnRwU2VuZGVyV2l0aFRyYW5zZm9ybSB7CitwdWJs
aWM6CisgICAgc3RhdGljIFJUQ1J0cFRyYW5zZm9ybSogdHJhbnNmb3JtKFJUQ1J0cFNlbmRlciYg
c2VuZGVyKSB7IHJldHVybiBzZW5kZXIudHJhbnNmb3JtKCk7IH0KKyAgICBzdGF0aWMgRXhjZXB0
aW9uT3I8dm9pZD4gc2V0VHJhbnNmb3JtKFJUQ1J0cFNlbmRlciYgc2VuZGVyLCBSZWZQdHI8UlRD
UnRwVHJhbnNmb3JtPiYmIHRyYW5zZm9ybSkgeyByZXR1cm4gc2VuZGVyLnNldFRyYW5zZm9ybShX
VEZNb3ZlKHRyYW5zZm9ybSkpOyB9Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNl
bmRpZiAvLyBFTkFCTEUoV0VCX1JUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNmb3JtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNmb3JtLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42YWI1Y2Y3YjRk
YWIwNTE0MGUyMGY3NGI0MGRjZmJiODAxY2I3MzhiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBUcmFuc2Zvcm0uY3BwCkBAIC0wLDAg
KzEsMTExIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisv
KgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJz
aWRpYXJ5KC1pZXMpLgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgor
ICogICAgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZQorICogICAgZGlzdHJpYnV0aW9uLgorICogMy4gTmVpdGhlciB0aGUgbmFtZSBv
ZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKyAqICAgIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhp
cworICogICAgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICog
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
CisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUlRDUnRwVHJh
bnNmb3JtLmgiCisKKyNpZiBFTkFCTEUoV0VCX1JUQykKKworI2luY2x1ZGUgIlJUQ1J0cFJlY2Vp
dmVyLmgiCisjaW5jbHVkZSAiUlRDUnRwU2VuZGVyLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworUlRDUnRwVHJhbnNmb3JtOjp+UlRDUnRwVHJhbnNmb3JtKCkKK3sKKyAgICBpZiAobV9iYWNr
ZW5kKQorICAgICAgICB3aWxsQ2xlYXJCYWNrZW5kKCptX2JhY2tlbmQpOworfQorCit2b2lkIFJU
Q1J0cFRyYW5zZm9ybTo6YXR0YWNoVG9SZWNlaXZlcihSVENSdHBSZWNlaXZlciYgcmVjZWl2ZXIp
Cit7CisgICAgQVNTRVJUKCFpc0F0dGFjaGVkKCkpOworICAgIGlmIChhdXRvKiBiYWNrZW5kID0g
cmVjZWl2ZXIuYmFja2VuZCgpKQorICAgICAgICBtX2JhY2tlbmQgPSBiYWNrZW5kLT5jcmVhdGVS
VENSdHBUcmFuc2Zvcm1CYWNrZW5kKCk7CisgICAgaWYgKG1fYmFja2VuZCkKKyAgICAgICAgaW5p
dGlhbGl6ZUJhY2tlbmRGb3JSZWNlaXZlcigqbV9iYWNrZW5kKTsKK30KKwordm9pZCBSVENSdHBU
cmFuc2Zvcm06OmF0dGFjaFRvU2VuZGVyKFJUQ1J0cFNlbmRlciYgc2VuZGVyKQoreworICAgIEFT
U0VSVCghaXNBdHRhY2hlZCgpKTsKKyAgICBpZiAoYXV0byogYmFja2VuZCA9IHNlbmRlci5iYWNr
ZW5kKCkpCisgICAgICAgIG1fYmFja2VuZCA9IGJhY2tlbmQtPmNyZWF0ZVJUQ1J0cFRyYW5zZm9y
bUJhY2tlbmQoKTsKKyAgICBpZiAobV9iYWNrZW5kKQorICAgICAgICBpbml0aWFsaXplQmFja2Vu
ZEZvclNlbmRlcigqbV9iYWNrZW5kKTsKK30KKwordm9pZCBSVENSdHBUcmFuc2Zvcm06OmRldGFj
aEZyb21SZWNlaXZlcihSVENSdHBSZWNlaXZlciYpCit7CisgICAgaWYgKCFtX2JhY2tlbmQpCisg
ICAgICAgIHJldHVybjsKKworICAgIHdpbGxDbGVhckJhY2tlbmQoKm1fYmFja2VuZCk7CisgICAg
bV9iYWNrZW5kID0gbnVsbHB0cjsKK30KKwordm9pZCBSVENSdHBUcmFuc2Zvcm06OmRldGFjaEZy
b21TZW5kZXIoUlRDUnRwU2VuZGVyJikKK3sKKyAgICBpZiAoIW1fYmFja2VuZCkKKyAgICAgICAg
cmV0dXJuOworCisgICAgd2lsbENsZWFyQmFja2VuZCgqbV9iYWNrZW5kKTsKKyAgICBtX2JhY2tl
bmQgPSBudWxscHRyOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBF
TkFCTEUoV0VCX1JUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vUlRDUnRwVHJhbnNmb3JtLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL1JUQ1J0cFRyYW5zZm9ybS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNkMzdiNjhlOGVkYjNmYTdiY2M5ZGUz
MDU0OTk3ZDE0ZmVkZDNiNGIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zZm9ybS5oCkBAIC0wLDAgKzEsNzYgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI3ByYWdtYSBvbmNlCisK
KyNpZiBFTkFCTEUoV0VCX1JUQykKKworI2luY2x1ZGUgIlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQu
aCIKKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K2NsYXNzIFJUQ1J0cFJlY2VpdmVyOworY2xhc3MgUlRDUnRwU2VuZGVyOworCitjbGFzcyBXRUJD
T1JFX0VYUE9SVCBSVENSdHBUcmFuc2Zvcm0gOiBwdWJsaWMgUmVmQ291bnRlZDxSVENSdHBUcmFu
c2Zvcm0+IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5SVENSdHBUcmFuc2Zvcm0oKTsKKworICAg
IGJvb2wgaXNBdHRhY2hlZCgpIGNvbnN0OworICAgIHZvaWQgYXR0YWNoVG9SZWNlaXZlcihSVENS
dHBSZWNlaXZlciYpOworICAgIHZvaWQgYXR0YWNoVG9TZW5kZXIoUlRDUnRwU2VuZGVyJik7Cisg
ICAgdm9pZCBkZXRhY2hGcm9tUmVjZWl2ZXIoUlRDUnRwUmVjZWl2ZXImKTsKKyAgICB2b2lkIGRl
dGFjaEZyb21TZW5kZXIoUlRDUnRwU2VuZGVyJik7CisKK3ByaXZhdGU6CisgICAgdmlydHVhbCB2
b2lkIGluaXRpYWxpemVCYWNrZW5kRm9yU2VuZGVyKFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQmKTsK
KyAgICB2aXJ0dWFsIHZvaWQgaW5pdGlhbGl6ZUJhY2tlbmRGb3JSZWNlaXZlcihSVENSdHBUcmFu
c2Zvcm1CYWNrZW5kJik7CisgICAgdmlydHVhbCB2b2lkIHdpbGxDbGVhckJhY2tlbmQoUlRDUnRw
VHJhbnNmb3JtQmFja2VuZCYpOworCitwcm90ZWN0ZWQ6CisgICAgUmVmUHRyPFJUQ1J0cFRyYW5z
Zm9ybUJhY2tlbmQ+IG1fYmFja2VuZDsKK307CisKK2lubGluZSBib29sIFJUQ1J0cFRyYW5zZm9y
bTo6aXNBdHRhY2hlZCgpIGNvbnN0Cit7CisgICAgcmV0dXJuICEhbV9iYWNrZW5kOworfQorCitp
bmxpbmUgdm9pZCBSVENSdHBUcmFuc2Zvcm06OmluaXRpYWxpemVCYWNrZW5kRm9yU2VuZGVyKFJU
Q1J0cFRyYW5zZm9ybUJhY2tlbmQmKQoreworfQorCitpbmxpbmUgdm9pZCBSVENSdHBUcmFuc2Zv
cm06OmluaXRpYWxpemVCYWNrZW5kRm9yUmVjZWl2ZXIoUlRDUnRwVHJhbnNmb3JtQmFja2VuZCYp
Cit7Cit9CisKK2lubGluZSB2b2lkIFJUQ1J0cFRyYW5zZm9ybTo6d2lsbENsZWFyQmFja2VuZChS
VENSdHBUcmFuc2Zvcm1CYWNrZW5kJikKK3sKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
CisjZW5kaWYgLy8gRU5BQkxFKFdFQl9SVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zZm9ybS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zZm9ybS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2U2ZTMy
ODEyYmM0M2ZmMWUzZjVmYWIxMDUxNjY2ZTRlYzQzMzVhNgotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNmb3JtLmlkbApAQCAt
MCwwICsxLDM1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICog
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworWworICAgIENvbmRpdGlvbmFsPVdFQl9SVEMsCisgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJS
VENJbnNlcnRhYmxlU3RyZWFtcywKKyAgICBFeHBvcnRNYWNybz1XRUJDT1JFX0VYUE9SVCwKKyAg
ICBFeHBvc2VkPVdpbmRvdworXSBpbnRlcmZhY2UgUlRDUnRwVHJhbnNmb3JtIHsKKyAgICAvLyBG
SVhNRTogQWRkIHJlYWRhYmxlL3dyaXRhYmxlIGdldHRlcnMKKyAgICAvLyByZWFkb25seSBhdHRy
aWJ1dGUgUmVhZGFibGVTdHJlYW0gcmVhZGFibGU7CisgICAgLy8gcmVhZG9ubHkgYXR0cmlidXRl
IFdyaXRhYmxlU3RyZWFtIHdyaXRhYmxlOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNmb3JtQmFja2VuZC5oIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNDEyMTQ5MjIwMWFlNjQ2MzViODgyOTM1NDU1ZTViOGYzNzNiYmNhOQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNm
b3JtQmFja2VuZC5oCkBAIC0wLDAgKzEsNTMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAg
QXBwbGUgSW5jLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCX1JU
QykKKworI2luY2x1ZGUgPHd0Zi9UaHJlYWRTYWZlUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK2NsYXNzIFJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZTsKKworY2xhc3MgUlRD
UnRwVHJhbnNmb3JtQmFja2VuZCA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxSVENSdHBU
cmFuc2Zvcm1CYWNrZW5kLCBXVEY6OkRlc3RydWN0aW9uVGhyZWFkOjpNYWluPiB7CitwdWJsaWM6
CisgICAgdmlydHVhbCB+UlRDUnRwVHJhbnNmb3JtQmFja2VuZCgpID0gZGVmYXVsdDsKKworICAg
IHVzaW5nIENhbGxiYWNrID0gRnVuY3Rpb248dm9pZChSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUm
Jik+OworICAgIHZpcnR1YWwgdm9pZCBzZXRUcmFuc2Zvcm1hYmxlRnJhbWVDYWxsYmFjayhDYWxs
YmFjayYmKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGNsZWFyVHJhbnNmb3JtYWJsZUZyYW1lQ2Fs
bGJhY2soKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHByb2Nlc3NUcmFuc2Zvcm1lZEZyYW1lKFJU
Q1J0cFRyYW5zZm9ybWFibGVGcmFtZSYmKSA9IDA7CisKKyAgICBlbnVtIGNsYXNzIE1lZGlhVHlw
ZSB7IEF1ZGlvLCBWaWRlbyB9OworICAgIHZpcnR1YWwgTWVkaWFUeXBlIG1lZGlhVHlwZSgpIGNv
bnN0ID0gMDsKKworICAgIGVudW0gY2xhc3MgU2lkZSB7IFNlbmRlciwgUmVjZWl2ZXIgfTsKKyAg
ICB2aXJ0dWFsIFNpZGUgc2lkZSgpIGNvbnN0ID0gMDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJfUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1l
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNTcyNjM2MDA3ZWZjMjc2YzM5NThjMmU3MmMzOWEyMTNjOWFmOTk5MAot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
UnRwVHJhbnNmb3JtYWJsZUZyYW1lLmgKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAyMCBBcHBsZSBJbmMuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
IEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVO
QUJMRShXRUJfUlRDKQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFJUQ1J0cFRyYW5z
Zm9ybWFibGVGcmFtZSB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+UlRDUnRwVHJhbnNmb3JtYWJs
ZUZyYW1lKCkgPSBkZWZhdWx0OworCisgICAgc3RydWN0IERhdGEgeworICAgICAgICBjb25zdCB1
aW50OF90KiBkYXRhOworICAgICAgICBzaXplX3Qgc2l6ZTsKKyAgICB9OworICAgIHZpcnR1YWwg
RGF0YSBkYXRhKCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwgdm9pZCBzZXREYXRhKERhdGEpID0g
MDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJf
UlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3
ZWJydGMvTGliV2ViUlRDUnRwUmVjZWl2ZXJCYWNrZW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFJlY2VpdmVyQmFja2VuZC5j
cHAKaW5kZXggMWQzMTZhYWZiN2ZjYWQzM2U0MWM1MTZlNTNiMDY5ODU5ODU2Y2FlMC4uOWE4OGQx
Y2RjMGViYjBkYzc5YjA0Y2I1MWIwNGVmNmVhMGYzZTU5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwUmVjZWl2ZXJC
YWNrZW5kLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndl
YnJ0Yy9MaWJXZWJSVENSdHBSZWNlaXZlckJhY2tlbmQuY3BwCkBAIC0yNSw3ICsyNSw5IEBACiAj
aW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiTGliV2ViUlRDUnRwUmVjZWl2ZXJCYWNrZW5k
LmgiCiAKKyNpbmNsdWRlICJMaWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQuaCIK
ICNpbmNsdWRlICJMaWJXZWJSVENVdGlscy5oIgorI2luY2x1ZGUgIlJUQ1J0cFRyYW5zZm9ybUJh
Y2tlbmQuaCIKICNpbmNsdWRlICJSZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2UuaCIKICNpbmNs
dWRlICJSZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2UuaCIKIApAQCAtMTE0LDYgKzExNiwxMCBA
QCBSZWY8UmVhbHRpbWVNZWRpYVNvdXJjZT4gTGliV2ViUlRDUnRwUmVjZWl2ZXJCYWNrZW5kOjpj
cmVhdGVTb3VyY2UoKQogICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CiAKK1Jl
ZjxSVENSdHBUcmFuc2Zvcm1CYWNrZW5kPiBMaWJXZWJSVENSdHBSZWNlaXZlckJhY2tlbmQ6OmNy
ZWF0ZVJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQoKQoreworICAgIHJldHVybiBMaWJXZWJSVENSdHBS
ZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQ6OmNyZWF0ZShtX3J0Y1JlY2VpdmVyKTsKK30KIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBSZWNlaXZlckJhY2tlbmQuaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFJl
Y2VpdmVyQmFja2VuZC5oCmluZGV4IGQwMjg3OThiMGU2OWMxNzE0NmJjZTE4YjdkOWIwODRmZTI2
OWVlMTguLmI0NmNkMmE2OTg0ZGVkOWQxMTk0NzU1NWQyMDUxODc3YzEwNTg3NDAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJU
Q1J0cFJlY2VpdmVyQmFja2VuZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFJlY2VpdmVyQmFja2VuZC5oCkBAIC01Miw2ICs1
Miw3IEBAIHByaXZhdGU6CiAgICAgUlRDUnRwUGFyYW1ldGVycyBnZXRQYXJhbWV0ZXJzKCkgZmlu
YWw7CiAgICAgVmVjdG9yPFJUQ1J0cENvbnRyaWJ1dGluZ1NvdXJjZT4gZ2V0Q29udHJpYnV0aW5n
U291cmNlcygpIGNvbnN0IGZpbmFsOwogICAgIFZlY3RvcjxSVENSdHBTeW5jaHJvbml6YXRpb25T
b3VyY2U+IGdldFN5bmNocm9uaXphdGlvblNvdXJjZXMoKSBjb25zdCBmaW5hbDsKKyAgICBSZWY8
UlRDUnRwVHJhbnNmb3JtQmFja2VuZD4gY3JlYXRlUlRDUnRwVHJhbnNmb3JtQmFja2VuZCgpIGZp
bmFsOwogCiAgICAgcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6UnRwUmVjZWl2ZXJJbnRlcmZh
Y2U+IG1fcnRjUmVjZWl2ZXI7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNr
ZW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xp
YldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTFlNTk0
MTlhYjcxZjA5ZWQwNzY1YWUxNDVhY2IyYmExNWQzZGM1MQotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFJl
Y2VpdmVyVHJhbnNmb3JtQmFja2VuZC5jcHAKQEAgLTAsMCArMSw1NyBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAyMCBBcHBsZSBJbmMuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiTGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kLmgiCisKKyNp
ZiBFTkFCTEUoV0VCX1JUQykgJiYgVVNFKExJQldFQlJUQykKKworI2luY2x1ZGUgIkxpYldlYlJU
Q1J0cFRyYW5zZm9ybWFibGVGcmFtZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0YXRp
YyBpbmxpbmUgTGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kOjpNZWRpYVR5cGUg
bWVkaWFUeXBlRnJvbVJlY2VpdmVyKGNvbnN0IHdlYnJ0Yzo6UnRwUmVjZWl2ZXJJbnRlcmZhY2Um
IHJlY2VpdmVyKQoreworICAgIHJldHVybiByZWNlaXZlci5tZWRpYV90eXBlKCkgPT0gY3JpY2tl
dDo6TUVESUFfVFlQRV9BVURJTyA/IFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6Ok1lZGlhVHlwZTo6
QXVkaW8gOiBSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpNZWRpYVR5cGU6OlZpZGVvOworfQorCitM
aWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQ6OkxpYldlYlJUQ1J0cFJlY2VpdmVy
VHJhbnNmb3JtQmFja2VuZChydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpSdHBSZWNlaXZlcklu
dGVyZmFjZT4gcnRjUmVjZWl2ZXIpCisgICAgOiBMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5k
KG1lZGlhVHlwZUZyb21SZWNlaXZlcigqcnRjUmVjZWl2ZXIpLCBTaWRlOjpSZWNlaXZlcikKKyAg
ICAsIG1fcnRjUmVjZWl2ZXIoV1RGTW92ZShydGNSZWNlaXZlcikpCit7Cit9CisKK0xpYldlYlJU
Q1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZDo6fkxpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNm
b3JtQmFja2VuZCgpCit7Cit9CisKK3ZvaWQgTGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1C
YWNrZW5kOjpzZXRUcmFuc2Zvcm1hYmxlRnJhbWVDYWxsYmFjayhDYWxsYmFjayYmIGNhbGxiYWNr
KQoreworICAgIHNldElucHV0Q2FsbGJhY2soV1RGTW92ZShjYWxsYmFjaykpOworICAgIG1fcnRj
UmVjZWl2ZXItPlNldERlcGFja2V0aXplclRvRGVjb2RlckZyYW1lVHJhbnNmb3JtZXIodGhpcyk7
Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJfUlRD
KSAmJiBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5k
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJS
VENSdHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41YWU5N2ZkMDEwZDU0
ZDliYzdiYjFiMDAwZTNmMTc5OGM1NjAzZjNiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwUmVjZWl2ZXJU
cmFuc2Zvcm1CYWNrZW5kLmgKQEAgLTAsMCArMSw2MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAyMCBBcHBsZSBJbmMuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBB
TlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsK
KyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShX
RUJfUlRDKSAmJiBVU0UoTElCV0VCUlRDKQorCisjaW5jbHVkZSAiTGliV2ViUlRDUnRwVHJhbnNm
b3JtQmFja2VuZC5oIgorCitBTExPV19VTlVTRURfUEFSQU1FVEVSU19CRUdJTgorQUxMT1dfREVQ
UkVDQVRFRF9ERUNMQVJBVElPTlNfQkVHSU4KKworI2luY2x1ZGUgPHdlYnJ0Yy9hcGkvcnRwX3Jl
Y2VpdmVyX2ludGVyZmFjZS5oPgorCitBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19FTkQK
K0FMTE9XX1VOVVNFRF9QQVJBTUVURVJTX0VORAorCituYW1lc3BhY2Ugd2VicnRjIHsKK2NsYXNz
IFJ0cFJlY2VpdmVySW50ZXJmYWNlOworfQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNz
IExpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZCBmaW5hbCA6IHB1YmxpYyBMaWJX
ZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPExpYldl
YlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZD4gY3JlYXRlKHJ0Yzo6c2NvcGVkX3JlZnB0
cjx3ZWJydGM6OlJ0cFJlY2VpdmVySW50ZXJmYWNlPiByZWNlaXZlcikgeyByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBMaWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQoV1RGTW92ZShyZWNl
aXZlcikpKTsgfQorICAgIH5MaWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQoKTsK
KworcHJpdmF0ZToKKyAgICBleHBsaWNpdCBMaWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJh
Y2tlbmQocnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6UnRwUmVjZWl2ZXJJbnRlcmZhY2U+KTsK
KworICAgIC8vIFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQKKyAgICB2b2lkIHNldFRyYW5zZm9ybWFi
bGVGcmFtZUNhbGxiYWNrKENhbGxiYWNrJiYpIGZpbmFsOworCisgICAgcnRjOjpzY29wZWRfcmVm
cHRyPHdlYnJ0Yzo6UnRwUmVjZWl2ZXJJbnRlcmZhY2U+IG1fcnRjUmVjZWl2ZXI7Cit9OworCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX1JUQykgJiYgVVNF
KExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFNlbmRlckJhY2tlbmQuY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwU2VuZGVyQmFja2Vu
ZC5jcHAKaW5kZXggNTkzZGE5ODRlOTc4YjlmZTcwNTE4YTNlMzkyNGVjNTI1MWVmYTJhYy4uOGU5
NjFjOTcyZmIwZGU0OGQ3NWEwYzRhZTlmM2NiZDFhOTIyYzljNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwU2VuZGVy
QmFja2VuZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3
ZWJydGMvTGliV2ViUlRDUnRwU2VuZGVyQmFja2VuZC5jcHAKQEAgLTMwLDkgKzMwLDExIEBACiAj
aW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJMaWJXZWJSVENEVE1G
U2VuZGVyQmFja2VuZC5oIgogI2luY2x1ZGUgIkxpYldlYlJUQ1BlZXJDb25uZWN0aW9uQmFja2Vu
ZC5oIgorI2luY2x1ZGUgIkxpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQuaCIKICNp
bmNsdWRlICJMaWJXZWJSVENVdGlscy5oIgogI2luY2x1ZGUgIlJUQ1BlZXJDb25uZWN0aW9uLmgi
CiAjaW5jbHVkZSAiUlRDUnRwU2VuZGVyLmgiCisjaW5jbHVkZSAiUlRDUnRwVHJhbnNmb3JtQmFj
a2VuZC5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewpAQCAtMTM2LDYgKzEzOCwxMSBAQCBzdGQ6OnVuaXF1ZV9wdHI8UlRDRFRNRlNl
bmRlckJhY2tlbmQ+IExpYldlYlJUQ1J0cFNlbmRlckJhY2tlbmQ6OmNyZWF0ZURUTUZCYWNrZQog
ICAgIHJldHVybiBtYWtlVW5pcXVlPExpYldlYlJUQ0RUTUZTZW5kZXJCYWNrZW5kPihtX3J0Y1Nl
bmRlci0+R2V0RHRtZlNlbmRlcigpKTsKIH0KIAorUmVmPFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ+
IExpYldlYlJUQ1J0cFNlbmRlckJhY2tlbmQ6OmNyZWF0ZVJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQo
KQoreworICAgIHJldHVybiBMaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kOjpjcmVh
dGUobV9ydGNTZW5kZXIpOworfQorCiBSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2UqIExpYldl
YlJUQ1J0cFNlbmRlckJhY2tlbmQ6OnZpZGVvU291cmNlKCkKIHsKICAgICByZXR1cm4gc3dpdGNo
T24obV9zb3VyY2UsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBTZW5kZXJCYWNrZW5kLmggYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBTZW5kZXJCYWNrZW5k
LmgKaW5kZXggYTEwNDE2ZDE0MDlmYWU4MDI2ZGZmNGViNTkyNTVkODU5NWY3MjI4Mi4uZDU2YTA1
NmUzNjJiNGQ2MzQ5MTE2M2MxMmJiYzhkYmNjZjI5NDcwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwU2VuZGVyQmFj
a2VuZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRj
L0xpYldlYlJUQ1J0cFNlbmRlckJhY2tlbmQuaApAQCAtNzAsNiArNzAsNyBAQCBwcml2YXRlOgog
ICAgIFJUQ1J0cFNlbmRQYXJhbWV0ZXJzIGdldFBhcmFtZXRlcnMoKSBjb25zdCBmaW5hbDsKICAg
ICB2b2lkIHNldFBhcmFtZXRlcnMoY29uc3QgUlRDUnRwU2VuZFBhcmFtZXRlcnMmLCBET01Qcm9t
aXNlRGVmZXJyZWQ8dm9pZD4mJikgZmluYWw7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFJUQ0RUTUZT
ZW5kZXJCYWNrZW5kPiBjcmVhdGVEVE1GQmFja2VuZCgpIGZpbmFsOworICAgIFJlZjxSVENSdHBU
cmFuc2Zvcm1CYWNrZW5kPiBjcmVhdGVSVENSdHBUcmFuc2Zvcm1CYWNrZW5kKCkgZmluYWw7CiAK
ICAgICB2b2lkIHN0YXJ0U291cmNlKCk7CiAgICAgdm9pZCBzdG9wU291cmNlKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJS
VENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQu
Y3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjlhZjQzOWRjZmU4YzA3MjdhNjAyMjQ4YjBjOWU0Zjk5MzVjYjU4YTEK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xp
YndlYnJ0Yy9MaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kLmNwcApAQCAtMCwwICsx
LDU4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICog
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisg
KiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJMaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zv
cm1CYWNrZW5kLmgiCisKKyNpZiBFTkFCTEUoV0VCX1JUQykgJiYgVVNFKExJQldFQlJUQykKKwor
I2luY2x1ZGUgIkxpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZS5oIgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK3N0YXRpYyBpbmxpbmUgTGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFj
a2VuZDo6TWVkaWFUeXBlIG1lZGlhVHlwZUZyb21TZW5kZXIoY29uc3Qgd2VicnRjOjpSdHBTZW5k
ZXJJbnRlcmZhY2UmIHNlbmRlcikKK3sKKyAgICByZXR1cm4gc2VuZGVyLm1lZGlhX3R5cGUoKSA9
PSBjcmlja2V0OjpNRURJQV9UWVBFX0FVRElPID8gUlRDUnRwVHJhbnNmb3JtQmFja2VuZDo6TWVk
aWFUeXBlOjpBdWRpbyA6IFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6Ok1lZGlhVHlwZTo6VmlkZW87
Cit9CisKK0xpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQ6OkxpYldlYlJUQ1J0cFNl
bmRlclRyYW5zZm9ybUJhY2tlbmQocnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6UnRwU2VuZGVy
SW50ZXJmYWNlPiBydGNTZW5kZXIpCisgICAgOiBMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5k
KG1lZGlhVHlwZUZyb21TZW5kZXIoKnJ0Y1NlbmRlciksIFNpZGU6OlNlbmRlcikKKyAgICAsIG1f
cnRjU2VuZGVyKFdURk1vdmUocnRjU2VuZGVyKSkKK3sKK30KKworTGliV2ViUlRDUnRwU2VuZGVy
VHJhbnNmb3JtQmFja2VuZDo6fkxpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQoKQor
eworfQorCit2b2lkIExpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQ6OnNldFRyYW5z
Zm9ybWFibGVGcmFtZUNhbGxiYWNrKENhbGxiYWNrJiYgY2FsbGJhY2spCit7CisgICAgc2V0SW5w
dXRDYWxsYmFjayhXVEZNb3ZlKGNhbGxiYWNrKSk7CisgICAgbV9ydGNTZW5kZXItPlNldEVuY29k
ZXJUb1BhY2tldGl6ZXJGcmFtZVRyYW5zZm9ybWVyKHRoaXMpOworfQorCisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJfUlRDKSAmJiBVU0UoTElCV0VCUlRD
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJy
dGMvTGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZC5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3Jt
QmFja2VuZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI2NjA5YjdkMWRmOWE5NzBhN2FhNTg4NGMwZTE1MzY0MmM4
NDZjMmEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kLmgKQEAgLTAs
MCArMSw2NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQK
KyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJfUlRDKSAmJiBVU0UoTElCV0VCUlRD
KQorCisjaW5jbHVkZSAiTGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZC5oIgorCitBTExPV19V
TlVTRURfUEFSQU1FVEVSU19CRUdJTgorQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfQkVH
SU4KKworI2luY2x1ZGUgPHdlYnJ0Yy9hcGkvcnRwX3NlbmRlcl9pbnRlcmZhY2UuaD4KKworQUxM
T1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfRU5ECitBTExPV19VTlVTRURfUEFSQU1FVEVSU19F
TkQKKworbmFtZXNwYWNlIHdlYnJ0YyB7CitjbGFzcyBSdHBTZW5kZXJJbnRlcmZhY2U7Cit9CisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTGliV2ViUlRDU2VuZGVyVHJhbnNmb3JtZXI7
CisKK2NsYXNzIExpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQgZmluYWwgOiBwdWJs
aWMgTGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxMaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zv
cm1CYWNrZW5kPiBjcmVhdGUocnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6UnRwU2VuZGVySW50
ZXJmYWNlPiBzZW5kZXIpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTGliV2ViUlRDUnRwU2VuZGVy
VHJhbnNmb3JtQmFja2VuZChXVEZNb3ZlKHNlbmRlcikpKTsgfQorICAgIH5MaWJXZWJSVENSdHBT
ZW5kZXJUcmFuc2Zvcm1CYWNrZW5kKCk7CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgTGliV2Vi
UlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZChydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpS
dHBTZW5kZXJJbnRlcmZhY2U+KTsKKworICAgIC8vIFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQKKyAg
ICB2b2lkIHNldFRyYW5zZm9ybWFibGVGcmFtZUNhbGxiYWNrKENhbGxiYWNrJiYpIGZpbmFsOwor
CisgICAgcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6UnRwU2VuZGVySW50ZXJmYWNlPiBtX3J0
Y1NlbmRlcjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJM
RShXRUJfUlRDKSAmJiBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2Vu
ZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJX
ZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMTYyZDMwZDFmZGQzMDJh
M2I1YzNlZGIzOGRjY2I5ZWVlMTMzMTA0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwVHJhbnNmb3JtQmFj
a2VuZC5jcHAKQEAgLTAsMCArMSw5NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBs
ZSBJbmMuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTGliV2Vi
UlRDUnRwVHJhbnNmb3JtQmFja2VuZC5oIgorCisjaWYgRU5BQkxFKFdFQl9SVEMpICYmIFVTRShM
SUJXRUJSVEMpCisKKyNpbmNsdWRlICJMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuaCIK
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCit2b2lkIExpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tl
bmQ6OnNldElucHV0Q2FsbGJhY2soQ2FsbGJhY2smJiBjYWxsYmFjaykKK3sKKyAgICBBU1NFUlQo
aXNNYWluVGhyZWFkKCkpOworICAgIGF1dG8gbG9ja2VyID0gaG9sZExvY2sobV9pbnB1dENhbGxi
YWNrTG9jayk7CisgICAgbV9pbnB1dENhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayk7Cit9CisK
K3ZvaWQgTGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZDo6Y2xlYXJUcmFuc2Zvcm1hYmxlRnJh
bWVDYWxsYmFjaygpCit7CisgICAgc2V0SW5wdXRDYWxsYmFjayh7IH0pOworfQorCit2b2lkIExp
YldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6OnNldE91dHB1dENhbGxiYWNrKHJ0Yzo6c2NvcGVk
X3JlZnB0cjx3ZWJydGM6OlRyYW5zZm9ybWVkRnJhbWVDYWxsYmFjaz4mJiBjYWxsYmFjaykKK3sK
KyAgICBhdXRvIGxvY2tlciA9IGhvbGRMb2NrKG1fb3V0cHV0Q2FsbGJhY2tMb2NrKTsKKyAgICBt
X291dHB1dENhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayk7Cit9CisKK3ZvaWQgTGliV2ViUlRD
UnRwVHJhbnNmb3JtQmFja2VuZDo6cHJvY2Vzc1RyYW5zZm9ybWVkRnJhbWUoUlRDUnRwVHJhbnNm
b3JtYWJsZUZyYW1lJiYgZnJhbWUpCit7CisgICAgYXV0byBsb2NrZXIgPSBob2xkTG9jayhtX291
dHB1dENhbGxiYWNrTG9jayk7CisgICAgaWYgKG1fb3V0cHV0Q2FsbGJhY2spCisgICAgICAgIG1f
b3V0cHV0Q2FsbGJhY2stPk9uVHJhbnNmb3JtZWRGcmFtZShMaWJXZWJSVENSdHBUcmFuc2Zvcm1h
YmxlRnJhbWU6OnRvUlRDRnJhbWUoV1RGTW92ZShzdGF0aWNfY2FzdDxMaWJXZWJSVENSdHBUcmFu
c2Zvcm1hYmxlRnJhbWUmPihmcmFtZSkpKSk7Cit9CisKK3ZvaWQgTGliV2ViUlRDUnRwVHJhbnNm
b3JtQmFja2VuZDo6VHJhbnNmb3JtKHN0ZDo6dW5pcXVlX3B0cjx3ZWJydGM6OlRyYW5zZm9ybWFi
bGVGcmFtZUludGVyZmFjZT4gcnRjRnJhbWUpCit7CisgICAgeworICAgICAgICBhdXRvIGxvY2tl
ciA9IGhvbGRMb2NrKG1faW5wdXRDYWxsYmFja0xvY2spOworICAgICAgICBpZiAobV9pbnB1dENh
bGxiYWNrKSB7CisgICAgICAgICAgICBtX2lucHV0Q2FsbGJhY2soTGliV2ViUlRDUnRwVHJhbnNm
b3JtYWJsZUZyYW1lKFdURk1vdmUocnRjRnJhbWUpKSk7CisgICAgICAgICAgICByZXR1cm47Cisg
ICAgICAgIH0KKyAgICB9CisgICAgLy8gSW4gY2FzZSBvZiBubyBpbnB1dCBjYWxsYmFjaywgbWFr
ZSB0aGUgdHJhbnNmb3JtIGEgbm8tb3AuCisgICAgYXV0byBsb2NrZXIgPSBob2xkTG9jayhtX291
dHB1dENhbGxiYWNrTG9jayk7CisgICAgaWYgKG1fb3V0cHV0Q2FsbGJhY2spCisgICAgICAgIG1f
b3V0cHV0Q2FsbGJhY2stPk9uVHJhbnNmb3JtZWRGcmFtZShXVEZNb3ZlKHJ0Y0ZyYW1lKSk7Cit9
CisKK3ZvaWQgTGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZDo6UmVnaXN0ZXJUcmFuc2Zvcm1l
ZEZyYW1lQ2FsbGJhY2socnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6VHJhbnNmb3JtZWRGcmFt
ZUNhbGxiYWNrPiBjYWxsYmFjaykKK3sKKyAgICBzZXRPdXRwdXRDYWxsYmFjayhXVEZNb3ZlKGNh
bGxiYWNrKSk7Cit9CisKK3ZvaWQgTGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZDo6UmVnaXN0
ZXJUcmFuc2Zvcm1lZEZyYW1lU2lua0NhbGxiYWNrKHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6
OlRyYW5zZm9ybWVkRnJhbWVDYWxsYmFjaz4gY2FsbGJhY2ssIHVpbnQzMl90IC8qIHNzcmMgKi8p
Cit7CisgICAgUmVnaXN0ZXJUcmFuc2Zvcm1lZEZyYW1lQ2FsbGJhY2soV1RGTW92ZShjYWxsYmFj
aykpOworfQorCit2b2lkIExpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6OlVucmVnaXN0ZXJU
cmFuc2Zvcm1lZEZyYW1lQ2FsbGJhY2soKQoreworICAgIHNldE91dHB1dENhbGxiYWNrKG51bGxw
dHIpOworfQorCit2b2lkIExpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6OlVucmVnaXN0ZXJU
cmFuc2Zvcm1lZEZyYW1lU2lua0NhbGxiYWNrKHVpbnQzMl90IC8qIHNzcmMgKi8pCit7CisgICAg
VW5yZWdpc3RlclRyYW5zZm9ybWVkRnJhbWVDYWxsYmFjaygpOworfQorCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX1JUQykgJiYgVVNFKExJQldFQlJUQykK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRj
L0xpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTU4YzY0YmI2MTE0MGM0ZTJjZWI0N2ExNzAzNDA5NWY2YjRlOTkwCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMv
TGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZC5oCkBAIC0wLDAgKzEsOTEgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisg
KiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisK
KyNpZiBFTkFCTEUoV0VCX1JUQykgJiYgVVNFKExJQldFQlJUQykKKworI2luY2x1ZGUgIkxpYldl
YlJUQ01hY3Jvcy5oIgorI2luY2x1ZGUgIlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuaCIKKyNpbmNs
dWRlIDx3ZWJydGMvYXBpL3Njb3BlZF9yZWZwdHIuaD4KKyNpbmNsdWRlIDx3dGYvTG9jay5oPgor
CitBTExPV19VTlVTRURfUEFSQU1FVEVSU19CRUdJTgorQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJB
VElPTlNfQkVHSU4KKworI2luY2x1ZGUgPHdlYnJ0Yy9hcGkvZnJhbWVfdHJhbnNmb3JtZXJfaW50
ZXJmYWNlLmg+CisKK0FMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0VORAorQUxMT1dfVU5V
U0VEX1BBUkFNRVRFUlNfRU5ECisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTGliV2Vi
UlRDUnRwVHJhbnNmb3JtQmFja2VuZCA6IHB1YmxpYyBSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLCBw
dWJsaWMgd2VicnRjOjpGcmFtZVRyYW5zZm9ybWVySW50ZXJmYWNlIHsKK3Byb3RlY3RlZDoKKyAg
ICBMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kKE1lZGlhVHlwZSwgU2lkZSk7CisgICAgdm9p
ZCBzZXRJbnB1dENhbGxiYWNrKENhbGxiYWNrJiYpOworCitwcml2YXRlOgorICAgIHZvaWQgc2V0
T3V0cHV0Q2FsbGJhY2socnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6VHJhbnNmb3JtZWRGcmFt
ZUNhbGxiYWNrPiYmKTsKKworICAgIC8vIFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQKKyAgICB2b2lk
IHByb2Nlc3NUcmFuc2Zvcm1lZEZyYW1lKFJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZSYmKSBmaW5h
bDsKKyAgICB2b2lkIGNsZWFyVHJhbnNmb3JtYWJsZUZyYW1lQ2FsbGJhY2soKSBmaW5hbDsKKyAg
ICBNZWRpYVR5cGUgbWVkaWFUeXBlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9tZWRpYVR5cGU7
IH0KKyAgICBTaWRlIHNpZGUoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3NpZGU7IH0KKworICAg
IC8vIHdlYnJ0Yzo6RnJhbWVUcmFuc2Zvcm1lckludGVyZmFjZQorICAgIHZvaWQgVHJhbnNmb3Jt
KHN0ZDo6dW5pcXVlX3B0cjx3ZWJydGM6OlRyYW5zZm9ybWFibGVGcmFtZUludGVyZmFjZT4pIGZp
bmFsOworICAgIHZvaWQgUmVnaXN0ZXJUcmFuc2Zvcm1lZEZyYW1lQ2FsbGJhY2socnRjOjpzY29w
ZWRfcmVmcHRyPHdlYnJ0Yzo6VHJhbnNmb3JtZWRGcmFtZUNhbGxiYWNrPikgZmluYWw7CisgICAg
dm9pZCBSZWdpc3RlclRyYW5zZm9ybWVkRnJhbWVTaW5rQ2FsbGJhY2socnRjOjpzY29wZWRfcmVm
cHRyPHdlYnJ0Yzo6VHJhbnNmb3JtZWRGcmFtZUNhbGxiYWNrPiwgdWludDMyX3Qgc3NyYykgZmlu
YWw7CisgICAgdm9pZCBVbnJlZ2lzdGVyVHJhbnNmb3JtZWRGcmFtZUNhbGxiYWNrKCkgZmluYWw7
CisgICAgdm9pZCBVbnJlZ2lzdGVyVHJhbnNmb3JtZWRGcmFtZVNpbmtDYWxsYmFjayh1aW50MzJf
dCBzc3JjKSBmaW5hbDsKKyAgICB2b2lkIEFkZFJlZigpIGNvbnN0IGZpbmFsIHsgcmVmKCk7IH0K
KyAgICBydGM6OlJlZkNvdW50UmVsZWFzZVN0YXR1cyBSZWxlYXNlKCkgY29uc3QgZmluYWw7CisK
KyAgICBNZWRpYVR5cGUgbV9tZWRpYVR5cGU7CisgICAgU2lkZSBtX3NpZGU7CisKKyAgICBMb2Nr
IG1faW5wdXRDYWxsYmFja0xvY2s7CisgICAgQ2FsbGJhY2sgbV9pbnB1dENhbGxiYWNrOworCisg
ICAgTG9jayBtX291dHB1dENhbGxiYWNrTG9jazsKKyAgICBydGM6OnNjb3BlZF9yZWZwdHI8d2Vi
cnRjOjpUcmFuc2Zvcm1lZEZyYW1lQ2FsbGJhY2s+IG1fb3V0cHV0Q2FsbGJhY2s7Cit9OworCitp
bmxpbmUgTGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZDo6TGliV2ViUlRDUnRwVHJhbnNmb3Jt
QmFja2VuZChNZWRpYVR5cGUgbWVkaWFUeXBlLCBTaWRlIHNpZGUpCisgICAgOiBtX21lZGlhVHlw
ZShtZWRpYVR5cGUpCisgICAgLCBtX3NpZGUoc2lkZSkKK3sKK30KKworaW5saW5lIHJ0Yzo6UmVm
Q291bnRSZWxlYXNlU3RhdHVzIExpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6OlJlbGVhc2Uo
KSBjb25zdAoreworICAgIGRlcmVmKCk7CisgICAgcmV0dXJuIHJ0Yzo6UmVmQ291bnRSZWxlYXNl
U3RhdHVzOjprT3RoZXJSZWZzUmVtYWluZWQ7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
KworI2VuZGlmIC8vIEVOQUJMRShXRUJfUlRDKSAmJiBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRD
UnRwVHJhbnNmb3JtYWJsZUZyYW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42Mjg2MzJjNmUxN2IxMWZmNzhjZTIzNTExOTdmZmEwZTNhNDdmMTRmCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2Vi
UlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmgKQEAgLTAsMCArMSw2NiBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAyMCBBcHBsZSBJbmMuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lm
IEVOQUJMRShXRUJfUlRDKQorCisjaW5jbHVkZSAiUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmgi
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTGliV2ViUlRDUnRwVHJhbnNmb3JtYWJs
ZUZyYW1lIGZpbmFsIDogcHVibGljIFJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZSB7CisgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAgZXhwbGljaXQgTGliV2ViUlRDUnRw
VHJhbnNmb3JtYWJsZUZyYW1lKHN0ZDo6dW5pcXVlX3B0cjx3ZWJydGM6OlRyYW5zZm9ybWFibGVG
cmFtZUludGVyZmFjZT4mJik7CisgICAgdmlydHVhbCB+TGliV2ViUlRDUnRwVHJhbnNmb3JtYWJs
ZUZyYW1lKCkgPSBkZWZhdWx0OworCisgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjx3ZWJydGM6
OlRyYW5zZm9ybWFibGVGcmFtZUludGVyZmFjZT4gdG9SVENGcmFtZShMaWJXZWJSVENSdHBUcmFu
c2Zvcm1hYmxlRnJhbWUmJik7CisKK3ByaXZhdGU6CisgICAgRGF0YSBkYXRhKCkgY29uc3QgZmlu
YWw7CisgICAgdm9pZCBzZXREYXRhKERhdGEgZGF0YSkgZmluYWwgeyBtX3J0Y0ZyYW1lLT5TZXRE
YXRhKHsgZGF0YS5kYXRhLCBkYXRhLnNpemUgfSk7IH0KKworICAgIHN0ZDo6dW5pcXVlX3B0cjx3
ZWJydGM6OlRyYW5zZm9ybWFibGVGcmFtZUludGVyZmFjZT4gbV9ydGNGcmFtZTsKK307CisKK2lu
bGluZSBMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWU6OkxpYldlYlJUQ1J0cFRyYW5zZm9y
bWFibGVGcmFtZShzdGQ6OnVuaXF1ZV9wdHI8d2VicnRjOjpUcmFuc2Zvcm1hYmxlRnJhbWVJbnRl
cmZhY2U+JiYgZnJhbWUpCisgICAgOiBtX3J0Y0ZyYW1lKFdURk1vdmUoZnJhbWUpKQoreworfQor
CitpbmxpbmUgc3RkOjp1bmlxdWVfcHRyPHdlYnJ0Yzo6VHJhbnNmb3JtYWJsZUZyYW1lSW50ZXJm
YWNlPiBMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWU6OnRvUlRDRnJhbWUoTGliV2ViUlRD
UnRwVHJhbnNmb3JtYWJsZUZyYW1lJiYgZnJhbWUpCit7CisgICAgcmV0dXJuIFdURk1vdmUoZnJh
bWUubV9ydGNGcmFtZSk7Cit9CisKK2lubGluZSBSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWU6OkRh
dGEgTGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lOjpkYXRhKCkgY29uc3QKK3sKKyAgICBh
dXRvIGRhdGEgPSBtX3J0Y0ZyYW1lLT5HZXREYXRhKCk7CisgICAgcmV0dXJuIHsgZGF0YS5iZWdp
bigpLCBkYXRhLnNpemUoKSB9OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRp
ZiAvLyBFTkFCTEUoV0VCX1JUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMu
dHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggZjk1YWZmNjdjOTQ1NjM0MjYy
YWMzOWExYjM5YzgwNDE3OTRjNDZkYi4uNjRhNWQ1ZDRkNDcwNjQ2OTNjMDVmZjg3MjFlYzVlMzdi
MDUzOTU2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291
cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTE2NCwxMiArMTY0LDE2IEBAIE1vZHVsZXMvbWVk
aWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uY3BwCiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1Bl
ZXJDb25uZWN0aW9uSWNlRXZlbnQuY3BwCiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2Vp
dmVyLmNwcAogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIuY3BwCitNb2R1bGVzL21l
ZGlhc3RyZWFtL1JUQ1J0cFRyYW5zZm9ybS5jcHAKIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRw
VHJhbnNjZWl2ZXIuY3BwCiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlv
bi5jcHAKIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDVHJhY2tFdmVudC5jcHAKIE1vZHVsZXMvbWVk
aWFzdHJlYW0vVXNlck1lZGlhQ29udHJvbGxlci5jcHAKIE1vZHVsZXMvbWVkaWFzdHJlYW0vVXNl
ck1lZGlhUmVxdWVzdC5jcHAKIE1vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJU
Q0NlcnRpZmljYXRlR2VuZXJhdG9yLmNwcAorTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMv
TGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kLmNwcAorTW9kdWxlcy9tZWRpYXN0
cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZC5jcHAKK01v
ZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQu
Y3BwCiBNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcAogTW9kdWxlcy9ub3Rp
ZmljYXRpb25zL05vdGlmaWNhdGlvbkNvbnRyb2xsZXIuY3BwCiBNb2R1bGVzL3BheW1lbnRyZXF1
ZXN0L01lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmNwcApAQCAtMzMyMCw2ICszMzI0LDcgQEAgSlNS
VENSdHBTZW5kZXIuY3BwCiBKU1JUQ1J0cFN5bmNocm9uaXphdGlvblNvdXJjZS5jcHAKIEpTUlRD
UnRwVHJhbnNjZWl2ZXIuY3BwCiBKU1JUQ1J0cFRyYW5zY2VpdmVyRGlyZWN0aW9uLmNwcAorSlNS
VENSdHBUcmFuc2Zvcm0uY3BwCiBKU1JUQ1NkcFR5cGUuY3BwCiBKU1JUQ1Nlc3Npb25EZXNjcmlw
dGlvbi5jcHAKIEpTUlRDU2Vzc2lvbkRlc2NyaXB0aW9uSW5pdC5jcHAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBiYjgyNDg2ZmI5
NGU2NWM3OTVhNjc3NzY2YWRmMTM0MThmOWZlNzNmLi5jOThkMTZhOTFiOGMxY2QwNGY3MGFkY2Vl
NmZkZGZlYTRkOTE0ZDAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMDQ3LDYgKzEwNDcsOSBAQAogCQk0MTM4Rjg1ODFEMjUz
RjBFMDAxQ0I2MUUgLyogSlNET01JdGVyYXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzOEY4NTYxRDI1M0VFRTAwMUNCNjFFIC8qIEpTRE9NSXRl
cmF0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQk0MTNBMUFBMjIzNzFBOEI0MDA3RUYzQTUgLyogSlNET01TZXRMaWtlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTNBMUE5RjIzNzFBOEE4MDA3RUYz
QTUgLyogSlNET01TZXRMaWtlLmggKi87IH07CiAJCTQxM0MyQzM0MUJDMjlBOEYwMDc1MjA0QyAv
KiBKU0RPTUNvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0MTNDMkMzMzFCQzI5QTdCMDA3NTIwNEMgLyogSlNET01Db25zdHJ1Y3Rvci5o
ICovOyB9OworCQk0MTNDOEIzMzI1NTJGMjdEMDBFNjUwNTUgLyogUlRDUnRwU2VuZGVyV2l0aFRy
YW5zZm9ybS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDEzQzhCMkUyNTUyRjI3QjAwRTY1MDU1IC8qIFJUQ1J0cFNlbmRlcldpdGhUcmFuc2Zvcm0uaCAq
LzsgfTsKKwkJNDEzQzhCMzQyNTUyRjI3RDAwRTY1MDU1IC8qIFJUQ1J0cFRyYW5zZm9ybS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzQzhCMkYyNTUy
RjI3QjAwRTY1MDU1IC8qIFJUQ1J0cFRyYW5zZm9ybS5oICovOyB9OworCQk0MTNDOEIzNTI1NTJG
MjdEMDBFNjUwNTUgLyogUlRDUnRwUmVjZWl2ZXJXaXRoVHJhbnNmb3JtLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTNDOEIzMDI1NTJGMjdDMDBFNjUw
NTUgLyogUlRDUnRwUmVjZWl2ZXJXaXRoVHJhbnNmb3JtLmggKi87IH07CiAJCTQxM0NDRDRBMjBE
RTAzNEYwMDY1QTIxQSAvKiBNb2NrTWVkaWFEZXZpY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxM0NDRDQ4MjBERTAxM0MwMDY1QTIxQSAvKiBNb2Nr
TWVkaWFEZXZpY2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQk0MTNFMDA3OTFEQjBFNEYyMDAyMzQxRDIgLyogTWVtb3J5UmVsZWFzZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzRTAwNzgxREIwRTRE
RTAwMjM0MUQyIC8qIE1lbW9yeVJlbGVhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQk0MTQ0NjBBMjI0MTI5OTQ1MDA4MTRCRTcgLyogTWVkaWFT
ZXNzaW9uSWRlbnRpZmllci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNDE0NDYwQTAyNDEyOTk0MTAwODE0QkU3IC8qIE1lZGlhU2Vzc2lvbklkZW50aWZp
ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAt
MTA5OSw2ICsxMTAyLDEzIEBACiAJCTQxN0Y3QUVGMjEzOUJGNkYwMEZCQTdFQyAvKiBNZWRpYVNl
c3Npb25NYW5hZ2VyQ29jb2EuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDQxN0Y3QUVEMjEzOUJGNjUwMEZCQTdFQyAvKiBNZWRpYVNlc3Npb25NYW5hZ2Vy
Q29jb2EuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQk0MTgxNUMxRTEzODMxOTgzMDA1N0FBQTQgLyogV2ViQ29yZVRlc3RTdXBwb3J0LmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxODE1QzFDMTM4MzE5
ODMwMDU3QUFBNCAvKiBXZWJDb3JlVGVzdFN1cHBvcnQuY3BwICovOyB9OwogCQk0MTgxNUMxRjEz
ODMxOTgzMDA1N0FBQTQgLyogV2ViQ29yZVRlc3RTdXBwb3J0LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTgxNUMxRDEzODMxOTgzMDA1N0FBQTQgLyog
V2ViQ29yZVRlc3RTdXBwb3J0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKKwkJNDE4MUM1QzkyNTU1NzNERjAwQUVCMEZGIC8qIFJUQ1J0cFRyYW5zZm9y
bUJhY2tlbmQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQxODFDNUM4MjU1NTczREYwMEFFQjBGRiAvKiBSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmggKi87
IH07CisJCTQxODFDNUNCMjU1NTgyRTQwMEFFQjBGRiAvKiBSVENSdHBUcmFuc2Zvcm1hYmxlRnJh
bWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxODFD
NUNBMjU1NTgyRTMwMEFFQjBGRiAvKiBSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuaCAqLzsgfTsK
KwkJNDE4MUM1Q0QyNTU1ODM2OTAwQUVCMEZGIC8qIExpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVG
cmFtZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE4
MUM1Q0MyNTU1ODM2ODAwQUVCMEZGIC8qIExpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZS5o
ICovOyB9OworCQk0MTgxQzVEMTI1NTU4OTU2MDBBRUIwRkYgLyogTGliV2ViUlRDUnRwVHJhbnNm
b3JtQmFja2VuZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDE4MUM1Q0YyNTU1ODk1NjAwQUVCMEZGIC8qIExpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tl
bmQuaCAqLzsgfTsKKwkJNDE4MUM1RDYyNTU1QzFCOTAwQUVCMEZGIC8qIE1vY2tSVENSdHBUcmFu
c2Zvcm0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQx
ODFDNUQ1MjU1NUMxQjkwMEFFQjBGRiAvKiBNb2NrUlRDUnRwVHJhbnNmb3JtLmggKi87IH07CisJ
CTQxODFDNUQ3MjU1NUM0OUEwMEFFQjBGRiAvKiBNb2NrUlRDUnRwVHJhbnNmb3JtLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxODFDNUQzMjU1NUMx
QjEwMEFFQjBGRiAvKiBNb2NrUlRDUnRwVHJhbnNmb3JtLmNwcCAqLzsgfTsKKwkJNDE4MUM2Mzky
NTVBRTkwRjAwQUVCMEZGIC8qIEpTTW9ja1JUQ1J0cFRyYW5zZm9ybS5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDZGM0U5MjFDMUY4NTU1MDA2MURC
RTQgLyogSlNNb2NrUlRDUnRwVHJhbnNmb3JtLmNwcCAqLzsgfTsKIAkJNDE4MjA1NDcxRTUzRTk4
QzAwRDYyMjA3IC8qIFJUQ0NvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQxODIwNTQ1MUU1M0M4Q0QwMEQ2MjIwNyAvKiBSVENDb250cm9s
bGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
NDE4MjZCRjIyM0ZCNTk3NzAwQjkyMkIxIC8qIERvY3VtZW50SWRlbnRpZmllci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE4MjZCRjEyM0ZCNTk3MDAw
QjkyMkIxIC8qIERvY3VtZW50SWRlbnRpZmllci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxODRGNTE2MUVBRjA1QTgwMEYxOEJGMCAvKiBPcmll
bnRhdGlvbk5vdGlmaWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0MTg0RjUxNTFFQUYwNTk4MDBGMThCRjAgLyogT3JpZW50YXRpb25Ob3RpZmllci5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC03MDMz
LDYgKzcwNDMsNyBAQAogCQkyRDZGM0U5MjFDMUY4NTU1MDA2MURCRDQgLyogSlNNb2NrUGFnZU92
ZXJsYXkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNNb2NrUGFn
ZU92ZXJsYXkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRDZGM0U5MjFDMUY4
NTU1MDA2MURCRDUgLyogSlNJbnRlcm5hbHNTZXRMaWtlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEpTSW50ZXJuYWxzU2V0TGlrZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTJENkYzRTkyMUMxRjg1NTUwMDYxREJENiAvKiBKU0ludGVybmFsc01h
cExpa2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNJbnRlcm5h
bHNNYXBMaWtlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ2RjNFOTIxQzFG
ODU1NTAwNjFEQkU0IC8qIEpTTW9ja1JUQ1J0cFRyYW5zZm9ybS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01vY2tSVENSdHBUcmFuc2Zvcm0uY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkyRDZGM0U5MzFDMUY4NTU1MDA2MURCRDQgLyogSlNNb2Nr
UGFnZU92ZXJsYXkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNb2NrUGFn
ZU92ZXJsYXkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQ3MEJBMTIxODA3NERE
RjAwMDE5MDhBIC8qIFBsYXRmb3JtQ0FMYXllckNvY29hLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFBsYXRmb3JtQ0FMYXllckNvY29hLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTJENzBCQTE0MTgwNzRGODUwMDAxOTA4QSAvKiBQbGF0Zm9ybUNBTGF5ZXIuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGxhdGZvcm1DQUxheWVyLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTc1NjIsNiArNzU3MywxMiBAQAogCQk0
MTNBMUE5RjIzNzFBOEE4MDA3RUYzQTUgLyogSlNET01TZXRMaWtlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEpTRE9NU2V0TGlrZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTNBMUFBMTIz
NzFBOEE5MDA3RUYzQTUgLyogSlNET01TZXRMaWtlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpT
RE9NU2V0TGlrZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxM0MyQzMzMUJD
MjlBN0IwMDc1MjA0QyAvKiBKU0RPTUNvbnN0cnVjdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEpTRE9NQ29uc3RydWN0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNDEzQzhCMjQyNTUyRUVBOTAwRTY1MDU1IC8qIFJUQ1J0cFJlY2VpdmVyK1RyYW5zZm9y
bS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gIlJUQ1J0cFJlY2VpdmVyK1RyYW5zZm9ybS5p
ZGwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTNDOEIyNjI1NTJFRUE5MDBFNjUw
NTUgLyogUlRDUnRwU2VuZGVyK1RyYW5zZm9ybS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
IlJUQ1J0cFNlbmRlcitUcmFuc2Zvcm0uaWRsIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJNDEzQzhCMjkyNTUyRjAxMzAwRTY1MDU1IC8qIFJUQ1J0cFRyYW5zZm9ybS5pZGwgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBwYXRoID0gUlRDUnRwVHJhbnNmb3JtLmlkbDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJNDEzQzhCMkUyNTUyRjI3QjAwRTY1MDU1IC8qIFJUQ1J0cFNlbmRlcldpdGhU
cmFuc2Zvcm0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUlRDUnRwU2VuZGVy
V2l0aFRyYW5zZm9ybS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTNDOEIyRjI1
NTJGMjdCMDBFNjUwNTUgLyogUlRDUnRwVHJhbnNmb3JtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFJUQ1J0cFRyYW5zZm9ybS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk0MTNDOEIzMDI1NTJGMjdDMDBFNjUwNTUgLyogUlRDUnRwUmVjZWl2ZXJXaXRoVHJhbnNm
b3JtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJUQ1J0cFJlY2VpdmVyV2l0
aFRyYW5zZm9ybS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTNDQ0Q0ODIwREUw
MTNDMDA2NUEyMUEgLyogTW9ja01lZGlhRGV2aWNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IE1vY2tNZWRpYURldmljZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk0MTNFMDA3NzFEQjBFNERFMDAyMzQxRDIgLyogTWVtb3J5UmVsZWFzZS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZW1vcnlSZWxlYXNlLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEzRTAwNzgxREIwRTRERTAwMjM0MUQyIC8qIE1lbW9yeVJl
bGVhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVtb3J5UmVsZWFzZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzY3Miw2ICs3Njg5LDE5IEBACiAJCTQx
ODE1QzFDMTM4MzE5ODMwMDU3QUFBNCAvKiBXZWJDb3JlVGVzdFN1cHBvcnQuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViQ29yZVRlc3RTdXBwb3J0LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE4MTVDMUQxMzgzMTk4MzAwNTdBQUE0IC8qIFdl
YkNvcmVUZXN0U3VwcG9ydC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJD
b3JlVGVzdFN1cHBvcnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE4MTcwN0Qx
Mzg2RURGMjAwNTdBQUE0IC8qIFdlYkNvcmVUZXN0U3VwcG9ydC54Y2NvbmZpZyAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQueGNjb25maWc7IHBhdGggPSBXZWJDb3JlVGVzdFN1cHBvcnQueGNjb25maWc7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxODFDNUJFMjU1M0VCNkUwMEFFQjBGRiAvKiBMaWJX
ZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IExpYldlYlJU
Q1J0cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQuaDsgcGF0aCA9IGxpYndlYnJ0Yy9MaWJXZWJSVENS
dHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTQxODFDNUMwMjU1M0VCNkUwMEFFQjBGRiAvKiBMaWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9y
bUJhY2tlbmQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFu
c2Zvcm1CYWNrZW5kLmNwcDsgcGF0aCA9IGxpYndlYnJ0Yy9MaWJXZWJSVENSdHBSZWNlaXZlclRy
YW5zZm9ybUJhY2tlbmQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTgxQzVD
MTI1NTNFQjZFMDBBRUIwRkYgLyogTGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZC5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBMaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5k
LmNwcDsgcGF0aCA9IGxpYndlYnJ0Yy9MaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5k
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE4MUM1QzIyNTUzRUI2RjAwQUVC
MEZGIC8qIExpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5h
bWUgPSBMaWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQuaDsgcGF0aCA9IGxpYndl
YnJ0Yy9MaWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJNDE4MUM1QzYyNTU1NzM1MTAwQUVCMEZGIC8qIFJUQ1J0cFRyYW5z
Zm9ybS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSVENSdHBUcmFu
c2Zvcm0uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTgxQzVDODI1NTU3M0RG
MDBBRUIwRkYgLyogUlRDUnRwVHJhbnNmb3JtQmFja2VuZC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTQxODFDNUNBMjU1NTgyRTMwMEFFQjBGRiAvKiBSVENSdHBUcmFuc2Zvcm1h
YmxlRnJhbWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUlRDUnRwVHJhbnNm
b3JtYWJsZUZyYW1lLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxODFDNUNDMjU1
NTgzNjgwMEFFQjBGRiAvKiBMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1l
Lmg7IHBhdGggPSBsaWJ3ZWJydGMvTGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxODFDNUNFMjU1NTg5NTUwMEFFQjBGRiAvKiBM
aWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgbmFtZSA9IExpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuY3BwOyBwYXRoID0gbGli
d2VicnRjL0xpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk0MTgxQzVDRjI1NTU4OTU2MDBBRUIwRkYgLyogTGliV2ViUlRDUnRwVHJh
bnNmb3JtQmFja2VuZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBMaWJXZWJS
VENSdHBUcmFuc2Zvcm1CYWNrZW5kLmg7IHBhdGggPSBsaWJ3ZWJydGMvTGliV2ViUlRDUnRwVHJh
bnNmb3JtQmFja2VuZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTgxQzVEMzI1
NTVDMUIxMDBBRUIwRkYgLyogTW9ja1JUQ1J0cFRyYW5zZm9ybS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNb2NrUlRDUnRwVHJhbnNmb3JtLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE4MUM1RDUyNTU1QzFCOTAwQUVCMEZGIC8qIE1vY2tSVENS
dHBUcmFuc2Zvcm0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTW9ja1JUQ1J0
cFRyYW5zZm9ybS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTgxQzYzNjI1NUFF
MjYxMDBBRUIwRkYgLyogTW9ja1JUQ1J0cFRyYW5zZm9ybS5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTW9ja1JUQ1J0cFRy
YW5zZm9ybS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxODIwNTQ1MUU1M0M4
Q0QwMEQ2MjIwNyAvKiBSVENDb250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFJUQ0NvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE4
MjA1NDgxRTUzRUFBRDAwRDYyMjA3IC8qIFJUQ0NvbnRyb2xsZXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUlRDQ29udHJvbGxlci5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTQxODI2QkYxMjNGQjU5NzAwMEI5MjJCMSAvKiBEb2N1bWVudElkZW50
aWZpZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRG9jdW1lbnRJZGVudGlm
aWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNzA0MywxNiArMTcwNzMsMjAg
QEAKIAkJCQk0MUU1OTQwMDIxNDg2NUFBMDBEM0NCNjEgLyogUlRDUnRwSGVhZGVyRXh0ZW5zaW9u
UGFyYW1ldGVycy5pZGwgKi8sCiAJCQkJNDFBNDhBQTgxRTg0QUYxRDAwRDJBQzJEIC8qIFJUQ1J0
cFBhcmFtZXRlcnMuaCAqLywKIAkJCQk0MUE0OEFBNzFFODRBRUVDMDBEMkFDMkQgLyogUlRDUnRw
UGFyYW1ldGVycy5pZGwgKi8sCisJCQkJNDEzQzhCMjQyNTUyRUVBOTAwRTY1MDU1IC8qIFJUQ1J0
cFJlY2VpdmVyK1RyYW5zZm9ybS5pZGwgKi8sCiAJCQkJNUUyQzQzNTYxQkNFRTMwRDAwMDFFMkJD
IC8qIFJUQ1J0cFJlY2VpdmVyLmNwcCAqLywKIAkJCQk1RTJDNDM1NzFCQ0VFMzBEMDAwMUUyQkMg
LyogUlRDUnRwUmVjZWl2ZXIuaCAqLywKIAkJCQk1RTJDNDM1ODFCQ0VFMzBEMDAwMUUyQkMgLyog
UlRDUnRwUmVjZWl2ZXIuaWRsICovLAogCQkJCTQxRDFBMDQ4MjEzRURERUIwMDYzRkI2QiAvKiBS
VENSdHBSZWNlaXZlckJhY2tlbmQuaCAqLywKKwkJCQk0MTNDOEIzMDI1NTJGMjdDMDBFNjUwNTUg
LyogUlRDUnRwUmVjZWl2ZXJXaXRoVHJhbnNmb3JtLmggKi8sCiAJCQkJNDFGQ0I3NjAyMTQ4Njcw
MDAwMzhBREM2IC8qIFJUQ1J0cFJ0eFBhcmFtZXRlcnMuaCAqLywKIAkJCQk0MUZDQjc1ODIxNDg2
NUQyMDAzOEFEQzYgLyogUlRDUnRwUnR4UGFyYW1ldGVycy5pZGwgKi8sCisJCQkJNDEzQzhCMjYy
NTUyRUVBOTAwRTY1MDU1IC8qIFJUQ1J0cFNlbmRlcitUcmFuc2Zvcm0uaWRsICovLAogCQkJCTVF
MkM0MzU5MUJDRUUzMEQwMDAxRTJCQyAvKiBSVENSdHBTZW5kZXIuY3BwICovLAogCQkJCTVFMkM0
MzVBMUJDRUUzMEQwMDAxRTJCQyAvKiBSVENSdHBTZW5kZXIuaCAqLywKIAkJCQk1RTJDNDM1QjFC
Q0VFMzBEMDAwMUUyQkMgLyogUlRDUnRwU2VuZGVyLmlkbCAqLywKIAkJCQk0MUQxQTA0NjIxM0VE
REVCMDA2M0ZCNkIgLyogUlRDUnRwU2VuZGVyQmFja2VuZC5oICovLAorCQkJCTQxM0M4QjJFMjU1
MkYyN0IwMEU2NTA1NSAvKiBSVENSdHBTZW5kZXJXaXRoVHJhbnNmb3JtLmggKi8sCiAJCQkJNDE0
QUQzRkMyMTQ5ODQyMDAwNTIxNjc2IC8qIFJUQ1J0cFNlbmRQYXJhbWV0ZXJzLmggKi8sCiAJCQkJ
NDE0QUQzRkUyMTQ5ODQyMDAwNTIxNjc2IC8qIFJUQ1J0cFNlbmRQYXJhbWV0ZXJzLmlkbCAqLywK
IAkJCQk0MTVFMUJCNjIxNTAxNTJBMDAyMkRBOTYgLyogUlRDUnRwU3luY2hyb25pemF0aW9uU291
cmNlLmggKi8sCkBAIC0xNzA2Miw2ICsxNzA5NiwxMSBAQAogCQkJCTVFNUUyQjEyMUNGQzNFNEIw
MDBDMEQ4NSAvKiBSVENSdHBUcmFuc2NlaXZlci5pZGwgKi8sCiAJCQkJNDE4NkJENDYyMTQwNzJC
NjAwMDE4MjZGIC8qIFJUQ1J0cFRyYW5zY2VpdmVyQmFja2VuZC5oICovLAogCQkJCTMxNkRDQjE3
MUU3OEMzMzAwMDFCNUY4NyAvKiBSVENSdHBUcmFuc2NlaXZlckRpcmVjdGlvbi5pZGwgKi8sCisJ
CQkJNDE4MUM1QzYyNTU1NzM1MTAwQUVCMEZGIC8qIFJUQ1J0cFRyYW5zZm9ybS5jcHAgKi8sCisJ
CQkJNDEzQzhCMkYyNTUyRjI3QjAwRTY1MDU1IC8qIFJUQ1J0cFRyYW5zZm9ybS5oICovLAorCQkJ
CTQxM0M4QjI5MjU1MkYwMTMwMEU2NTA1NSAvKiBSVENSdHBUcmFuc2Zvcm0uaWRsICovLAorCQkJ
CTQxODFDNUNBMjU1NTgyRTMwMEFFQjBGRiAvKiBSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuaCAq
LywKKwkJCQk0MTgxQzVDODI1NTU3M0RGMDBBRUIwRkYgLyogUlRDUnRwVHJhbnNmb3JtQmFja2Vu
ZC5oICovLAogCQkJCTQxMEY1NjU4MjRGQ0Y4NTQwMEEyRTUwQyAvKiBSVENTZHBUeXBlLmlkbCAq
LywKIAkJCQkwNzIyMUI3QTE3Q0VDMzI3MDA4NDhFNTEgLyogUlRDU2Vzc2lvbkRlc2NyaXB0aW9u
LmNwcCAqLywKIAkJCQkwNzIyMUI3QjE3Q0VDMzI3MDA4NDhFNTEgLyogUlRDU2Vzc2lvbkRlc2Ny
aXB0aW9uLmggKi8sCkBAIC0xOTEyNCwxMCArMTkxNjMsMTcgQEAKIAkJCQk0MTc2MTJBRTFFM0E5
OTNCMDBDM0Q4MUQgLyogTGliV2ViUlRDUGVlckNvbm5lY3Rpb25CYWNrZW5kLmggKi8sCiAJCQkJ
NDFEMUEwNEEyMTNFRERGRTAwNjNGQjZCIC8qIExpYldlYlJUQ1J0cFJlY2VpdmVyQmFja2VuZC5j
cHAgKi8sCiAJCQkJNDE4NkJEM0IyMTNFREUzODAwMDE4MjZGIC8qIExpYldlYlJUQ1J0cFJlY2Vp
dmVyQmFja2VuZC5oICovLAorCQkJCTQxODFDNUMwMjU1M0VCNkUwMEFFQjBGRiAvKiBMaWJXZWJS
VENSdHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQuY3BwICovLAorCQkJCTQxODFDNUMyMjU1M0VC
NkYwMEFFQjBGRiAvKiBMaWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQuaCAqLywK
IAkJCQk0MUQxQTA0QjIxM0VEREZFMDA2M0ZCNkIgLyogTGliV2ViUlRDUnRwU2VuZGVyQmFja2Vu
ZC5jcHAgKi8sCiAJCQkJNDE4NkJEM0QyMTNFREUzOTAwMDE4MjZGIC8qIExpYldlYlJUQ1J0cFNl
bmRlckJhY2tlbmQuaCAqLywKKwkJCQk0MTgxQzVDMTI1NTNFQjZFMDBBRUIwRkYgLyogTGliV2Vi
UlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZC5jcHAgKi8sCisJCQkJNDE4MUM1QkUyNTUzRUI2
RTAwQUVCMEZGIC8qIExpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQuaCAqLywKIAkJ
CQk0MTg2QkQ0RDIxNDBCOUU4MDAwMTgyNkYgLyogTGliV2ViUlRDUnRwVHJhbnNjZWl2ZXJCYWNr
ZW5kLmNwcCAqLywKIAkJCQk0MTg2QkQ0QjIxNDBBODA1MDAwMTgyNkYgLyogTGliV2ViUlRDUnRw
VHJhbnNjZWl2ZXJCYWNrZW5kLmggKi8sCisJCQkJNDE4MUM1Q0MyNTU1ODM2ODAwQUVCMEZGIC8q
IExpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZS5oICovLAorCQkJCTQxODFDNUNFMjU1NTg5
NTUwMEFFQjBGRiAvKiBMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmNwcCAqLywKKwkJCQk0
MTgxQzVDRjI1NTU4OTU2MDBBRUIwRkYgLyogTGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZC5o
ICovLAogCQkJCTQxRDI4RDBCMjEzOUUwMUQwMEY0MjA2RiAvKiBMaWJXZWJSVENTdGF0c0NvbGxl
Y3Rvci5jcHAgKi8sCiAJCQkJNDFEMjhEMEMyMTM5RTAxRTAwRjQyMDZGIC8qIExpYldlYlJUQ1N0
YXRzQ29sbGVjdG9yLmggKi8sCiAJCQkJNDFEMUEwNDkyMTNFRERGRDAwNjNGQjZCIC8qIExpYldl
YlJUQ1V0aWxzLmNwcCAqLywKQEAgLTE5MjA4LDYgKzE5MjU0LDkgQEAKIAkJCQlBMUNCRUY2MzFG
OUYxMTI5MDAyOERFN0MgLyogTW9ja1BheW1lbnRNZXRob2QuaCAqLywKIAkJCQlBMTQwNjE4OTFF
MkVDQTBBMDAzMkIzNEUgLyogTW9ja1ByZXZpZXdMb2FkZXJDbGllbnQuY3BwICovLAogCQkJCUEx
NDA2MThBMUUyRUNBMEEwMDMyQjM0RSAvKiBNb2NrUHJldmlld0xvYWRlckNsaWVudC5oICovLAor
CQkJCTQxODFDNUQzMjU1NUMxQjEwMEFFQjBGRiAvKiBNb2NrUlRDUnRwVHJhbnNmb3JtLmNwcCAq
LywKKwkJCQk0MTgxQzVENTI1NTVDMUI5MDBBRUIwRkYgLyogTW9ja1JUQ1J0cFRyYW5zZm9ybS5o
ICovLAorCQkJCTQxODFDNjM2MjU1QUUyNjEwMEFFQjBGRiAvKiBNb2NrUlRDUnRwVHJhbnNmb3Jt
LmlkbCAqLywKIAkJCQk1NzE1NjEwODIzNEMxQjMxMDA4RkM3QUIgLyogTW9ja1dlYkF1dGhlbnRp
Y2F0aW9uQ29uZmlndXJhdGlvbi5oICovLAogCQkJCTU3MTU2MTBEMjM0Qzc0ODEwMDhGQzdBQiAv
KiBNb2NrV2ViQXV0aGVudGljYXRpb25Db25maWd1cmF0aW9uLmlkbCAqLywKIAkJCQk0MTdGMEQ4
MDFGRkVFMTRGMDA4RUYzMDMgLyogU2VydmljZVdvcmtlckludGVybmFscy5jcHAgKi8sCkBAIC0x
OTI2Myw2ICsxOTMxMiw3IEBACiAJCQkJQTE0NkQzMTgxRjk5QkNCQTAwRDI5MTk2IC8qIEpTTW9j
a1BheW1lbnRDb29yZGluYXRvci5oICovLAogCQkJCUExQkI4NUI0MjE1OUIzODkwMDY3RTA3RCAv
KiBKU01vY2tQYXltZW50RXJyb3IuY3BwICovLAogCQkJCUExQkI4NUI1MjE1OUIzOEEwMDY3RTA3
RCAvKiBKU01vY2tQYXltZW50RXJyb3IuaCAqLywKKwkJCQkyRDZGM0U5MjFDMUY4NTU1MDA2MURC
RTQgLyogSlNNb2NrUlRDUnRwVHJhbnNmb3JtLmNwcCAqLywKIAkJCQk1NzE1NjExMTIzNEM3RkJD
MDA4RkM3QUIgLyogSlNNb2NrV2ViQXV0aGVudGljYXRpb25Db25maWd1cmF0aW9uLmNwcCAqLywK
IAkJCQk1NzE1NjExMDIzNEM3RkJDMDA4RkM3QUIgLyogSlNNb2NrV2ViQXV0aGVudGljYXRpb25D
b25maWd1cmF0aW9uLmggKi8sCiAJCQkJNDI3REE3MUIxMzczNURGQTAwN0M1N0ZCIC8qIEpTU2Vy
dmljZVdvcmtlckludGVybmFscy5jcHAgKi8sCkBAIC0zMzIxNyw2ICszMzI2Nyw4IEBACiAJCQkJ
NDE3NjEyQjIxRTNBOTk0MDAwQzNEODFEIC8qIExpYldlYlJUQ1BlZXJDb25uZWN0aW9uQmFja2Vu
ZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDE1NzQ3NDgxRTM4NjlBNzAwRTkxNEQ4IC8qIExpYldl
YlJUQ1Byb3ZpZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MUIyOEIzRDFGODYwRUYzMDBGQjUy
QUMgLyogTGliV2ViUlRDUHJvdmlkZXJDb2NvYS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDE4MUM1
Q0QyNTU1ODM2OTAwQUVCMEZGIC8qIExpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZS5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJNDE4MUM1RDEyNTU1ODk1NjAwQUVCMEZGIC8qIExpYldlYlJUQ1J0
cFRyYW5zZm9ybUJhY2tlbmQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxMEU0NDYxMjM0MzczRTkw
MDAxNzNENCAvKiBMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk4NDczMEQ5MTEyNDhGMEIzMDBEM0E5QzkgLyogTGlnaHRTb3VyY2UuaCBpbiBIZWFkZXJzICov
LAogCQkJCUIyMjI3OTY1MEQwMEJGMjIwMDcxQjc4MiAvKiBMaW5lYXJHcmFkaWVudEF0dHJpYnV0
ZXMuaCBpbiBIZWFkZXJzICovLApAQCAtMzM0MTEsNiArMzM0NjMsNyBAQAogCQkJCTRBMEZGQTlF
MUFBRjVFN0UwMDYyODAzQiAvKiBNb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMDdFRTc2RUMxQkU5NkRCMDAwRjg5MTMzIC8qIE1vY2tSZWFsdGltZVZp
ZGVvU291cmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwN0VFNzZFRjFCRUE2MTk4MDBGODkxMzMg
LyogTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2VNYWMuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxODFD
NUQ2MjU1NUMxQjkwMEFFQjBGRiAvKiBNb2NrUlRDUnRwVHJhbnNmb3JtLmggaW4gSGVhZGVycyAq
LywKIAkJCQlDREYyQjAxNzE4MjA1NDA3MDBGMkI0MjQgLyogTW9ja1NvdXJjZUJ1ZmZlclByaXZh
dGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUNERjJCMDE5MTgyMDU0MDcwMEYyQjQyNCAvKiBNb2Nr
VHJhY2tzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1NzE1NjEwQzIzNEMxQ0ExMDA4RkM3QUIgLyog
TW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29uZmlndXJhdGlvbi5oIGluIEhlYWRlcnMgKi8sCkBAIC0z
NDAzNyw5ICszNDA5MCwxNCBAQAogCQkJCTA3OEUwOTI0MTdEMTREMUMwMDQyMEFBMSAvKiBSVENQ
ZWVyQ29ubmVjdGlvbkljZUV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk0MTJERTRCODIxOTI4
NUMwMDA3NUYzQTcgLyogUlRDUnRwQ2FwYWJpbGl0aWVzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1
RTJDNDM2MzFCQ0VFMzJCMDAwMUUyQkMgLyogUlRDUnRwUmVjZWl2ZXIuaCBpbiBIZWFkZXJzICov
LAorCQkJCTQxM0M4QjM1MjU1MkYyN0QwMEU2NTA1NSAvKiBSVENSdHBSZWNlaXZlcldpdGhUcmFu
c2Zvcm0uaCBpbiBIZWFkZXJzICovLAogCQkJCTVFMkM0MzYxMUJDRUUzMjMwMDAxRTJCQyAvKiBS
VENSdHBTZW5kZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxM0M4QjMzMjU1MkYyN0QwMEU2NTA1
NSAvKiBSVENSdHBTZW5kZXJXaXRoVHJhbnNmb3JtLmggaW4gSGVhZGVycyAqLywKIAkJCQk1RTVF
MkIxNDFDRkMzRTc1MDAwQzBEODUgLyogUlRDUnRwVHJhbnNjZWl2ZXIuaCBpbiBIZWFkZXJzICov
LAogCQkJCTMxRUI1NERGMUU3REM3NDQwMEMxNjIzQiAvKiBSVENSdHBUcmFuc2NlaXZlckRpcmVj
dGlvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDEzQzhCMzQyNTUyRjI3RDAwRTY1MDU1IC8qIFJU
Q1J0cFRyYW5zZm9ybS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDE4MUM1Q0IyNTU1ODJFNDAwQUVC
MEZGIC8qIFJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDE4
MUM1QzkyNTU1NzNERjAwQUVCMEZGIC8qIFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTMxMzU5MTBBMUU3RERDNzMwMEYzMDYzMCAvKiBSVENTZHBUeXBlLmggaW4g
SGVhZGVycyAqLywKIAkJCQkwNzhFMDkyNjE3RDE0RDFDMDA0MjBBQTEgLyogUlRDU2Vzc2lvbkRl
c2NyaXB0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkwNzhFMDk0MzE3RDE2RTFDMDA0MjBBQTEg
LyogUlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvci5oIGluIEhlYWRlcnMgKi8sCkBAIC0z
NTQ5NSw2ICszNTU1Myw3IEBACiAJCQkJQTEwNEVDNUQyMjBBM0U0QjAwQ0JGNjdBIC8qIEpTTW9j
a1BheW1lbnRDb250YWN0RmllbGRzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUExNDZEMzFBMUY5
OUJDRjgwMEQyOTE5NiAvKiBKU01vY2tQYXltZW50Q29vcmRpbmF0b3IuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQTFCQjg1QjgyMTU5QjNBNDAwNjdFMDdEIC8qIEpTTW9ja1BheW1lbnRFcnJvci5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQk0MTgxQzYzOTI1NUFFOTBGMDBBRUIwRkYgLyogSlNNb2Nr
UlRDUnRwVHJhbnNmb3JtLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTU3MTU2MTE0MjM0QzdGRDYw
MDhGQzdBQiAvKiBKU01vY2tXZWJBdXRoZW50aWNhdGlvbkNvbmZpZ3VyYXRpb24uY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJNDI3REE3MUQxMzczNURGQTAwN0M1N0ZCIC8qIEpTU2VydmljZVdvcmtl
ckludGVybmFscy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFQkY1MTIxQzE2OTY0OTZDMDA1NkJE
MjUgLyogSlNUeXBlQ29udmVyc2lvbnMuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0zNTUxMCw2ICsz
NTU2OSw3IEBACiAJCQkJMkQ5N0YwNDcxOURENDEzQzAwMUVFOUMzIC8qIE1vY2tQYWdlT3Zlcmxh
eUNsaWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBMUFGRURFNzFGOEJGRjZEMDA4NzAxM0Yg
LyogTW9ja1BheW1lbnRDb29yZGluYXRvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBMTQwNjE4
QjFFMkVDQTBBMDAzMkIzNEUgLyogTW9ja1ByZXZpZXdMb2FkZXJDbGllbnQuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJNDE4MUM1RDcyNTU1QzQ5QTAwQUVCMEZGIC8qIE1vY2tSVENSdHBUcmFuc2Zv
cm0uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQUE1RjNCOEYxNkNDNEIzOTAwNDU1RUIwIC8qIFBs
YXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQxN0Yw
RDgyMUZGRUU5NzkwMDhFRjMwMyAvKiBTZXJ2aWNlV29ya2VySW50ZXJuYWxzLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTQxRDQxQzY3MjI1Njg3NEYwMDY5Nzk0MiAvKiBTZXJ2aWNlV29ya2VySW50
ZXJuYWxzLm1tIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKaW5kZXggZWUyNGE0OWEyNWEyZDM3ZDYxZTFkYzBmZTQ3
NzdiMDAzZjkyZDIzNy4uNWFlNzM0ZDkwOTBjMGQwZjc1NDRkMTRmNmNiYmQzMTMxMzRmMTJiOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1l
cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMu
aApAQCAtMTc0LDYgKzE3NCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyhNZWRp
YVN0cmVhbSkgXAogICAgIG1hY3JvKE1lZGlhU3RyZWFtVHJhY2spIFwKICAgICBtYWNybyhNZXJj
aGFudFZhbGlkYXRpb25FdmVudCkgXAorICAgIG1hY3JvKE1vY2tSVENSdHBUcmFuc2Zvcm0pIFwK
ICAgICBtYWNybyhNb2Rlcm5NZWRpYUNvbnRyb2xzKSBcCiAgICAgbWFjcm8oTmF2aWdhdG9yQ3Jl
ZGVudGlhbHMpIFwKICAgICBtYWNybyhOYXZpZ2F0b3JNZWRpYURldmljZXMpIFwKQEAgLTIyMCw2
ICsyMjEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8oUlRDUnRwUmVjZWl2ZXIp
IFwKICAgICBtYWNybyhSVENSdHBTZW5kZXIpIFwKICAgICBtYWNybyhSVENSdHBUcmFuc2NlaXZl
cikgXAorICAgIG1hY3JvKFJUQ1J0cFRyYW5zZm9ybSkgXAogICAgIG1hY3JvKFJUQ1Nlc3Npb25E
ZXNjcmlwdGlvbikgXAogICAgIG1hY3JvKFJUQ1N0YXRzUmVwb3J0KSBcCiAgICAgbWFjcm8oUlRD
VHJhY2tFdmVudCkgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy9Db2RlR2VuZXJhdG9ySlMucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0Nv
ZGVHZW5lcmF0b3JKUy5wbQppbmRleCAzNGFmYTc3NmJkNTIzNzMwMDk4ZWMyMWMyM2U3NDEwMGE4
MGM0MjVkLi4yN2M3OTdkMzQwZGI0NmI3ZTMxYmE2ZGJlYjI5MWNjNDM5MjU4MDFkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQpA
QCAtMzIyMiw5ICszMjIyLDkgQEAgc3ViIEdlbmVyYXRlSGVhZGVyCiAgICAgaWYgKFNob3VsZEdl
bmVyYXRlV3JhcHBlck93bmVyQ29kZSgkaGFzUGFyZW50LCAkaW50ZXJmYWNlKSkgewogICAgICAg
ICBpZiAoJGludGVyZmFjZU5hbWUgbmUgIk5vZGUiICYmICRjb2RlR2VuZXJhdG9yLT5Jbmhlcml0
c0ludGVyZmFjZSgkaW50ZXJmYWNlLCAiTm9kZSIpKSB7CiAgICAgICAgICAgICAkaGVhZGVySW5j
bHVkZXN7IkpTTm9kZS5oIn0gPSAxOwotICAgICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwg
ImNsYXNzIEpTJHtpbnRlcmZhY2VOYW1lfU93bmVyIDogcHVibGljIEpTTm9kZU93bmVyIHtcbiIp
OworICAgICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgImNsYXNzICR7ZXhwb3J0TWFjcm99
SlMke2ludGVyZmFjZU5hbWV9T3duZXIgOiBwdWJsaWMgSlNOb2RlT3duZXIge1xuIik7CiAgICAg
ICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiY2xhc3MgSlMk
e2ludGVyZmFjZU5hbWV9T3duZXIgOiBwdWJsaWMgSlNDOjpXZWFrSGFuZGxlT3duZXIge1xuIik7
CisgICAgICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiY2xhc3MgJHtleHBvcnRNYWNyb31K
UyR7aW50ZXJmYWNlTmFtZX1Pd25lciA6IHB1YmxpYyBKU0M6OldlYWtIYW5kbGVPd25lciB7XG4i
KTsKICAgICAgICAgfQogICAgICAgICAkaGVhZGVySW5jbHVkZXN7Ijx3dGYvTmV2ZXJEZXN0cm95
ZWQuaD4ifSA9IDE7CiAgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICJwdWJsaWM6XG4iKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RJbnRlcmZhY2UuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RJbnRlcmZhY2UuaAppbmRleCBmYmY2ZjM4ZDZiNjFlOGQ1ZWEzYjdlMWFmOTY5MmRlMWNk
MDBlN2Q3Li42YmE0MzM0ZDNiMTI1YmIwNDA2ZjkxMmI0OTEyYTA4MzgwMDZlNzMzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJm
YWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dEludGVyZmFjZS5oCkBAIC04OSw3ICs4OSw3IEBAIHByb3RlY3RlZDoKICAgICB2b2lkIGZpbmlz
aENyZWF0aW9uKEpTQzo6Vk0mKTsKIH07CiAKLWNsYXNzIEpTVGVzdEludGVyZmFjZU93bmVyIDog
cHVibGljIEpTQzo6V2Vha0hhbmRsZU93bmVyIHsKK2NsYXNzIFdFQkNPUkVfRVhQT1JUIEpTVGVz
dEludGVyZmFjZU93bmVyIDogcHVibGljIEpTQzo6V2Vha0hhbmRsZU93bmVyIHsKIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIGJvb2wgaXNSZWFjaGFibGVGcm9tT3BhcXVlUm9vdHMoSlNDOjpIYW5kbGU8
SlNDOjpVbmtub3duPiwgdm9pZCogY29udGV4dCwgSlNDOjpTbG90VmlzaXRvciYsIGNvbnN0IGNo
YXIqKik7CiAgICAgdmlydHVhbCB2b2lkIGZpbmFsaXplKEpTQzo6SGFuZGxlPEpTQzo6VW5rbm93
bj4sIHZvaWQqIGNvbnRleHQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4
IDg1M2I2OTdmN2EzMGNiMDE4ODE2OGQwZjUxYzcwYjU4NWRjNmQ0NTcuLjE2MWEyOGY0MTNmMGVl
MTJjYTBmYzIzYjUwN2JkNDQxNjkyOWIxM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5jcHAKQEAgLTEzOCw2ICsxMzgsNyBAQAogI2luY2x1ZGUgIk1vY2tMaWJXZWJSVENQZWVyQ29u
bmVjdGlvbi5oIgogI2luY2x1ZGUgIk1vY2tQYWdlT3ZlcmxheS5oIgogI2luY2x1ZGUgIk1vY2tQ
YWdlT3ZlcmxheUNsaWVudC5oIgorI2luY2x1ZGUgIk1vY2tSVENSdHBUcmFuc2Zvcm0uaCIKICNp
bmNsdWRlICJOYXZpZ2F0b3JCZWFjb24uaCIKICNpbmNsdWRlICJOYXZpZ2F0b3JNZWRpYURldmlj
ZXMuaCIKICNpbmNsdWRlICJOZXR3b3JrTG9hZEluZm9ybWF0aW9uLmgiCkBAIC0xNTc5LDYgKzE1
ODAsMTEgQEAgdm9pZCBJbnRlcm5hbHM6OnNldFdlYlJUQ1ZQOVZUQlN1cHBvcnQoYm9vbCB2YWx1
ZSkKICNlbmRpZgogfQogCitSZWY8TW9ja1JUQ1J0cFRyYW5zZm9ybT4gSW50ZXJuYWxzOjpjcmVh
dGVNb2NrUlRDUnRwVHJhbnNmb3JtKCkKK3sKKyAgICByZXR1cm4gTW9ja1JUQ1J0cFRyYW5zZm9y
bTo6Y3JlYXRlKCk7Cit9CisKIHZvaWQgSW50ZXJuYWxzOjpzZXRFbmFibGVXZWJSVENFbmNyeXB0
aW9uKGJvb2wgdmFsdWUpCiB7CiAjaWYgVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5oCmluZGV4IGJiN2Q1NWUyMGZkZWI1YTFkNThiMDk5Y2Y5N2FiZWU1OTU4NDRhMTgu
LjI0ODVlMTNkNmQ0OTU2Mzc5ZTY4NjY1MDhiMDE2ZWIxNDI0ZmU2NmUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuaApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgIkV4Y2VwdGlvbk9y
LmgiCiAjaW5jbHVkZSAiSEVWQ1V0aWxpdGllcy5oIgogI2luY2x1ZGUgIklETFR5cGVzLmgiCisj
aW5jbHVkZSAiTW9ja1JUQ1J0cFRyYW5zZm9ybS5oIgogI2luY2x1ZGUgIk9yaWVudGF0aW9uTm90
aWZpZXIuaCIKICNpbmNsdWRlICJQYWdlQ29uc29sZUNsaWVudC5oIgogI2luY2x1ZGUgIlJlYWx0
aW1lTWVkaWFTb3VyY2UuaCIKQEAgLTYwNiw2ICs2MDcsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBz
ZXRXZWJSVENIMjY1U3VwcG9ydChib29sKTsKICAgICB2b2lkIHNldFdlYlJUQ1ZQOVN1cHBvcnQo
Ym9vbCk7CiAgICAgdm9pZCBzZXRXZWJSVENWUDlWVEJTdXBwb3J0KGJvb2wpOworICAgIFJlZjxN
b2NrUlRDUnRwVHJhbnNmb3JtPiBjcmVhdGVNb2NrUlRDUnRwVHJhbnNmb3JtKCk7CiAgICAgdm9p
ZCBzZXRFbmFibGVXZWJSVENFbmNyeXB0aW9uKGJvb2wpOwogICAgIHZvaWQgc2V0VXNlRFRMUzEw
KGJvb2wpOwogICAgIHZvaWQgc2V0VXNlR1BVUHJvY2Vzc0ZvcldlYlJUQyhib29sKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAppbmRleCBiZGI5ZWUyY2I2Y2EyMTVhOGU4ZGNjMmQw
MGEyZmU1ZDA4NWJkNjcwLi5iMDE1NGIyOTg1ODBiZmFkMzMzYTExNGFmMzg0ZDFkYTkwOWUxNjgy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCkBAIC04MDIsNiArODAyLDcgQEAg
ZW51bSBUcmVlVHlwZSB7CiAgICAgW0NvbmRpdGlvbmFsPVdFQl9SVENdIHVuZGVmaW5lZCBzZXRX
ZWJSVENIMjY1U3VwcG9ydChib29sZWFuIGFsbG93ZWQpOwogICAgIFtDb25kaXRpb25hbD1XRUJf
UlRDXSB1bmRlZmluZWQgc2V0V2ViUlRDVlA5U3VwcG9ydChib29sZWFuIGFsbG93ZWQpOwogICAg
IFtDb25kaXRpb25hbD1XRUJfUlRDXSB1bmRlZmluZWQgc2V0V2ViUlRDVlA5VlRCU3VwcG9ydChi
b29sZWFuIGFsbG93ZWQpOworICAgIFtDb25kaXRpb25hbD1XRUJfUlRDXSBNb2NrUlRDUnRwVHJh
bnNmb3JtIGNyZWF0ZU1vY2tSVENSdHBUcmFuc2Zvcm0oKTsKIAogICAgIFtDb25kaXRpb25hbD1N
RURJQV9TVFJFQU1dIHVuZGVmaW5lZCBzZXRNb2NrQXVkaW9UcmFja0NoYW5uZWxOdW1iZXIoTWVk
aWFTdHJlYW1UcmFjayB0cmFjaywgdW5zaWduZWQgc2hvcnQgY291bnQpOwogICAgIFtDb25kaXRp
b25hbD1NRURJQV9TVFJFQU1dIHVuZGVmaW5lZCBzZXRTaG91bGRJbnRlcnJ1cHRBdWRpb09uUGFn
ZVZpc2liaWxpdHlDaGFuZ2UoYm9vbGVhbiBzaG91bGRJbnRlcnJ1cHQpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUlRDUnRwVHJhbnNmb3JtLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvTW9ja1JUQ1J0cFRyYW5zZm9ybS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDVkMDgy
NzU4ZDkxYjg4ZDg4MmUzNDEzYjUyMjI0NTJmY2M0ZGRmMgotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1JUQ1J0cFRyYW5zZm9ybS5jcHAKQEAgLTAsMCArMSwx
MTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IK
KyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTW9ja1JUQ1J0cFRyYW5zZm9ybS5oIgorCisjaWYg
RU5BQkxFKFdFQl9SVEMpCisKKyNpbmNsdWRlICJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuaCIK
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBNb2NrUlRDUnRwVHJhbnNmb3JtZXIgOiBw
dWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8TW9ja1JUQ1J0cFRyYW5zZm9ybWVyLCBXVEY6OkRl
c3RydWN0aW9uVGhyZWFkOjpNYWluPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxNb2NrUlRD
UnRwVHJhbnNmb3JtZXI+IGNyZWF0ZShSZWY8UlRDUnRwVHJhbnNmb3JtQmFja2VuZD4mJiBiYWNr
ZW5kKQorICAgIHsKKyAgICAgICAgYXV0byB0cmFuc2Zvcm1lciA9IGFkb3B0UmVmKCpuZXcgTW9j
a1JUQ1J0cFRyYW5zZm9ybWVyKFdURk1vdmUoYmFja2VuZCkpKTsKKyAgICAgICAgdHJhbnNmb3Jt
ZXItPm1fYmFja2VuZC0+c2V0VHJhbnNmb3JtYWJsZUZyYW1lQ2FsbGJhY2soW3RyYW5zZm9ybWVy
XShhdXRvJiYgZnJhbWUpIHsKKyAgICAgICAgICAgIHRyYW5zZm9ybWVyLT50cmFuc2Zvcm0oV1RG
TW92ZShmcmFtZSkpOworICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJuIHRyYW5zZm9ybWVyOwor
ICAgIH0KKworICAgIHZvaWQgY2xlYXIoKQorICAgIHsKKyAgICAgICAgbV9iYWNrZW5kLT5jbGVh
clRyYW5zZm9ybWFibGVGcmFtZUNhbGxiYWNrKCk7CisgICAgICAgIG1fYmFja2VuZCA9IG51bGxw
dHI7CisgICAgfQorCisgICAgdm9pZCB0cmFuc2Zvcm0oUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1l
JiYgZnJhbWUpCisgICAgeworICAgICAgICBtX2lzUHJvY2Vzc2luZyA9IHRydWU7CisKKyAgICAg
ICAgYXV0byBkYXRhID0gZnJhbWUuZGF0YSgpOworICAgICAgICBWZWN0b3I8dWludDhfdD4gdHJh
bnNmb3JtZWREYXRhOworICAgICAgICBzaXplX3Qgc3RhcnQgPSBtX2lzQXVkaW8gPyAwIDogMTAw
OworICAgICAgICBmb3IgKHNpemVfdCBjcHRyID0gMDsgY3B0ciA8IHN0YXJ0OyArK2NwdHIpCisg
ICAgICAgICAgICB0cmFuc2Zvcm1lZERhdGEuYXBwZW5kKGRhdGEuZGF0YVtjcHRyXSk7CisgICAg
ICAgIGZvciAoc2l6ZV90IGNwdHIgPSBzdGFydDsgY3B0ciA8IGRhdGEuc2l6ZTsgKytjcHRyKQor
ICAgICAgICAgICAgdHJhbnNmb3JtZWREYXRhLmFwcGVuZCgyNTYgLSBkYXRhLmRhdGFbY3B0cl0p
OworICAgICAgICBmcmFtZS5zZXREYXRhKHsgdHJhbnNmb3JtZWREYXRhLmRhdGEoKSwgZGF0YS5z
aXplIH0pOworCisgICAgICAgIG1fYmFja2VuZC0+cHJvY2Vzc1RyYW5zZm9ybWVkRnJhbWUoV1RG
TW92ZShmcmFtZSkpOworICAgIH0KKworICAgIGJvb2wgaXNQcm9jZXNzaW5nKCkgY29uc3QgeyBy
ZXR1cm4gbV9pc1Byb2Nlc3Npbmc7IH0KKworcHJpdmF0ZToKKyAgICBleHBsaWNpdCBNb2NrUlRD
UnRwVHJhbnNmb3JtZXIoUmVmPFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ+JiYgYmFja2VuZCkKKyAg
ICAgICAgOiBtX2JhY2tlbmQoV1RGTW92ZShiYWNrZW5kKSkKKyAgICAgICAgLCBtX2lzU2VuZGVy
KG1fYmFja2VuZC0+c2lkZSgpID09IFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6OlNpZGU6OlNlbmRl
cikKKyAgICAgICAgLCBtX2lzQXVkaW8obV9iYWNrZW5kLT5tZWRpYVR5cGUoKSA9PSBSVENSdHBU
cmFuc2Zvcm1CYWNrZW5kOjpNZWRpYVR5cGU6OkF1ZGlvKQorICAgIHsKKyAgICB9CisKKyAgICBS
ZWZQdHI8UlRDUnRwVHJhbnNmb3JtQmFja2VuZD4gbV9iYWNrZW5kOworICAgIGJvb2wgbV9pc1Nl
bmRlcjsKKyAgICBib29sIG1faXNBdWRpbzsKKyAgICBib29sIG1faXNQcm9jZXNzaW5nIHsgZmFs
c2UgfTsKK307CisKK01vY2tSVENSdHBUcmFuc2Zvcm06Ok1vY2tSVENSdHBUcmFuc2Zvcm0oKQor
eworfQorCitNb2NrUlRDUnRwVHJhbnNmb3JtOjp+TW9ja1JUQ1J0cFRyYW5zZm9ybSgpCit7Cit9
CisKK2Jvb2wgTW9ja1JUQ1J0cFRyYW5zZm9ybTo6aXNQcm9jZXNzaW5nKCkgY29uc3QKK3sKKyAg
ICByZXR1cm4gbV90cmFuc2Zvcm1lciA/IG1fdHJhbnNmb3JtZXItPmlzUHJvY2Vzc2luZygpIDog
ZmFsc2U7Cit9CisKK3ZvaWQgTW9ja1JUQ1J0cFRyYW5zZm9ybTo6aW5pdGlhbGl6ZUJhY2tlbmRG
b3JSZWNlaXZlcihSVENSdHBUcmFuc2Zvcm1CYWNrZW5kJiBiYWNrZW5kKQoreworICAgIG1fdHJh
bnNmb3JtZXIgPSBNb2NrUlRDUnRwVHJhbnNmb3JtZXI6OmNyZWF0ZShiYWNrZW5kKTsKK30KKwor
dm9pZCBNb2NrUlRDUnRwVHJhbnNmb3JtOjppbml0aWFsaXplQmFja2VuZEZvclNlbmRlcihSVENS
dHBUcmFuc2Zvcm1CYWNrZW5kJiBiYWNrZW5kKQoreworICAgIG1fdHJhbnNmb3JtZXIgPSBNb2Nr
UlRDUnRwVHJhbnNmb3JtZXI6OmNyZWF0ZShiYWNrZW5kKTsKK30KKwordm9pZCBNb2NrUlRDUnRw
VHJhbnNmb3JtOjp3aWxsQ2xlYXJCYWNrZW5kKFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQmKQorewor
ICAgIG1fdHJhbnNmb3JtZXItPmNsZWFyKCk7CisgICAgbV90cmFuc2Zvcm1lciA9IG51bGxwdHI7
Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJfUlRD
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUlRDUnRwVHJhbnNmb3Jt
LmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tSVENSdHBUcmFuc2Zvcm0uaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi40ZDk5NGRmZjcxNzQzMjM1MzUxZjhmMGEzMzk2ZmM1OWExY2FkMjkwCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUlRDUnRwVHJhbnNmb3JtLmgKQEAg
LTAsMCArMSw1NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFdFQl9SVEMpCisKKyNpbmNsdWRlICJSVENS
dHBUcmFuc2Zvcm0uaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBNb2NrUlRDUnRw
VHJhbnNmb3JtZXI7CisKK2NsYXNzIE1vY2tSVENSdHBUcmFuc2Zvcm0gZmluYWwgOiBwdWJsaWMg
UlRDUnRwVHJhbnNmb3JtIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPE1vY2tSVENSdHBUcmFu
c2Zvcm0+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTW9ja1JUQ1J0cFRyYW5zZm9y
bSgpKTsgfQorICAgIH5Nb2NrUlRDUnRwVHJhbnNmb3JtKCk7CisKKyAgICBib29sIGlzUHJvY2Vz
c2luZygpIGNvbnN0OworCitwcml2YXRlOgorICAgIE1vY2tSVENSdHBUcmFuc2Zvcm0oKTsKKwor
ICAgIHZvaWQgaW5pdGlhbGl6ZUJhY2tlbmRGb3JSZWNlaXZlcihSVENSdHBUcmFuc2Zvcm1CYWNr
ZW5kJikgZmluYWw7CisgICAgdm9pZCBpbml0aWFsaXplQmFja2VuZEZvclNlbmRlcihSVENSdHBU
cmFuc2Zvcm1CYWNrZW5kJikgZmluYWw7CisgICAgdm9pZCB3aWxsQ2xlYXJCYWNrZW5kKFJUQ1J0
cFRyYW5zZm9ybUJhY2tlbmQmKSBmaW5hbDsKKworICAgIFJlZlB0cjxNb2NrUlRDUnRwVHJhbnNm
b3JtZXI+IG1fdHJhbnNmb3JtZXI7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNl
bmRpZiAvLyBFTkFCTEUoV0VCX1JUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvTW9ja1JUQ1J0cFRyYW5zZm9ybS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tS
VENSdHBUcmFuc2Zvcm0uaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA5ZWIwYzNjYTE1YzVmMTk3ZjM2Y2ZiNDc0
OWMxMTgwNmU4YWM3NzcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L01vY2tSVENSdHBUcmFuc2Zvcm0uaWRsCkBAIC0wLDAgKzEsMzIgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5E
IEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICog
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgQ29uZGl0aW9uYWw9V0VCX1JU
QywKKyAgICBKU0dlbmVyYXRlVG9KU09iamVjdCwKKyAgICBMZWdhY3lOb0ludGVyZmFjZU9iamVj
dCwKK10gaW50ZXJmYWNlIE1vY2tSVENSdHBUcmFuc2Zvcm0gOiBSVENSdHBUcmFuc2Zvcm0gewor
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGlzUHJvY2Vzc2luZzsKK307CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3Mu
Y3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNz
LmNwcAppbmRleCA0OGI4Nzc0MWUyMjRiMmE1MjRlNDBmNDYzNDNkZGI5OTAzYjUwYjI3Li4wYzZm
NzNkMDcxNDRiNTYyNjc2OTM2N2M5ZjJhM2E0MDE3ZWFkZTgwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3MuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ0NvZGVjcy5jcHAKQEAg
LTQ0MSw3ICs0NDEsNyBAQCB2b2lkIExpYldlYlJUQ0NvZGVjczo6Y29tcGxldGVkRW5jb2Rpbmco
UlRDRW5jb2RlcklkZW50aWZpZXIgaWRlbnRpZmllciwgSVBDOjpEYQogICAgIGlmICghZW5jb2Rl
ci0+ZW5jb2RlZEltYWdlQ2FsbGJhY2spCiAgICAgICAgIHJldHVybjsKIAotICAgIHdlYnJ0Yzo6
ZW5jb2RlclZpZGVvVGFza0NvbXBsZXRlKGVuY29kZXItPmVuY29kZWRJbWFnZUNhbGxiYWNrLCBl
bmNvZGVyLT5jb2RlY1R5cGUsIGNvbnN0X2Nhc3Q8dWludDhfdCo+KGRhdGEuZGF0YSgpKSwgZGF0
YS5zaXplKCksIGluZm8pOworICAgIHdlYnJ0Yzo6ZW5jb2RlclZpZGVvVGFza0NvbXBsZXRlKGVu
Y29kZXItPmVuY29kZWRJbWFnZUNhbGxiYWNrLCBlbmNvZGVyLT5jb2RlY1R5cGUsIGRhdGEuZGF0
YSgpLCBkYXRhLnNpemUoKSwgaW5mbyk7CiB9CiAKIENWUGl4ZWxCdWZmZXJQb29sUmVmIExpYldl
YlJUQ0NvZGVjczo6cGl4ZWxCdWZmZXJQb29sKHNpemVfdCB3aWR0aCwgc2l6ZV90IGhlaWdodCwg
T1NUeXBlIHR5cGUpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggYWYwNTU1ZmNlZDZmZGE0OTQ5MmE3YjJmMTM1YmM1NmQ5ZWJh
NjFlYi4uNDk0NjM0NDhhYjlkMGQ5YjRjZDA1MTEwYTFkNGMzNWU2NGRjNDM3NCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDI2IEBACisyMDIwLTExLTEyICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNv
bT4KKworICAgICAgICBXZWJQcm9jZXNzIHNob3VsZCBwcm9jZXNzIFdlYlJUQyBjb2RlY3MgSVBD
IG1lc3NhZ2VzIGZyb20gdGhlIEdQVSBQcm9jZXNzIGluIGEgYmFja2dyb3VuZCB0aHJlYWQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODc5MAorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vNzEzMzI0Mzk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgd2VicnRjLXRyYW5zZm9ybQorCisgICAgICAgICogd2Vi
cnRjL3dlYnJ0Yy10cmFuc2Zvcm0tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJy
dGMvd2VicnRjLXRyYW5zZm9ybS5odG1sOiBBZGRlZC4KKworMjAyMC0xMS0xMSAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGluZnJhc3RydWN0dXJlIGZv
ciBXZWJSVEMgdHJhbnNmb3JtcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjE4NzUwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiB3ZWJydGMvd2VicnRjLXRyYW5zZm9ybS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHdlYnJ0Yy93ZWJydGMtdHJhbnNmb3JtLmh0bWw6IEFkZGVkLgorCiAyMDIw
LTExLTEwICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBVcGRh
dGUgV2ViUlRDIGxpd2VicnRjIHRvIE04NwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2VicnRj
L3dlYnJ0Yy10cmFuc2Zvcm0tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2VicnRjL3dlYnJ0
Yy10cmFuc2Zvcm0tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZhOGY1MWIzYzgwMGM1ZDdhYzQ5
M2Q3MDMzMDBhY2Q2ODI3OGY5ZjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJy
dGMvd2VicnRjLXRyYW5zZm9ybS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACisKKworUEFT
UyBhdWRpbyBleGNoYW5nZSB3aXRoIHRyYW5zZm9ybQorUEFTUyB2aWRlbyBleGNoYW5nZSB3aXRo
IHRyYW5zZm9ybQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJydGMvd2VicnRjLXRyYW5z
Zm9ybS5odG1sIGIvTGF5b3V0VGVzdHMvd2VicnRjL3dlYnJ0Yy10cmFuc2Zvcm0uaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5hOWM1YTZkZmE1NzdiYTNiYTkwZWVhZTUyMGM2MzI1MTU0ZTFhZjUwCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2VicnRjL3dlYnJ0Yy10cmFuc2Zvcm0uaHRtbApAQCAt
MCwwICsxLDg2IEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CisgICAgICAgIDx0aXRsZT5UZXN0aW5nIG1lZGlhIGV4
Y2hhbmdlIHdpdGggdHJhbnNmb3JtPC90aXRsZT4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorICAgIDwvaGVhZD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPHZpZGVvIGlkPSJ2aWRlbzEiIGF1dG9wbGF5PjwvdmlkZW8+
CisgICAgICAgIDx2aWRlbyBpZD0idmlkZW8yIiBhdXRvcGxheT48L3ZpZGVvPgorICAgICAgICA8
c2NyaXB0IHNyYyA9InJvdXRpbmVzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdD4KK3By
b21pc2VfdGVzdChhc3luYyAodGVzdCkgPT4geworICAgIGlmICghd2luZG93LmludGVybmFscykK
KyAgICAgICAgcmV0dXJuOworCisgICAgbGV0IHNlbmRlciwgcmVjZWl2ZXI7CisgICAgbGV0IHNl
bmRlclRyYW5zZm9ybSA9IGludGVybmFscy5jcmVhdGVNb2NrUlRDUnRwVHJhbnNmb3JtKCk7Cisg
ICAgbGV0IHJlY2VpdmVyVHJhbnNmb3JtID0gaW50ZXJuYWxzLmNyZWF0ZU1vY2tSVENSdHBUcmFu
c2Zvcm0oKTsKKworICAgIGNvbnN0IGxvY2FsU3RyZWFtID0gYXdhaXQgbmF2aWdhdG9yLm1lZGlh
RGV2aWNlcy5nZXRVc2VyTWVkaWEoe2F1ZGlvOiB0cnVlfSk7CisgICAgY29uc3Qgc3RyZWFtID0g
YXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4geworICAgICAgICBjcmVhdGVD
b25uZWN0aW9ucygoZmlyc3RDb25uZWN0aW9uKSA9PiB7CisgICAgICAgICAgICBwYzEgPSBmaXJz
dENvbm5lY3Rpb247CisgICAgICAgICAgICBzZW5kZXIgPSBmaXJzdENvbm5lY3Rpb24uYWRkVHJh
Y2sobG9jYWxTdHJlYW0uZ2V0QXVkaW9UcmFja3MoKVswXSwgbG9jYWxTdHJlYW0pOworICAgICAg
ICAgICAgc2VuZGVyLnRyYW5zZm9ybSA9IHNlbmRlclRyYW5zZm9ybTsKKyAgICAgICAgfSwgKHNl
Y29uZENvbm5lY3Rpb24pID0+IHsKKyAgICAgICAgICAgIHBjMiA9IHNlY29uZENvbm5lY3Rpb247
CisgICAgICAgICAgICBzZWNvbmRDb25uZWN0aW9uLm9udHJhY2sgPSAodHJhY2tFdmVudCkgPT4g
eworICAgICAgICAgICAgICAgIHJlY2VpdmVyID0gdHJhY2tFdmVudC5yZWNlaXZlcjsKKyAgICAg
ICAgICAgICAgICByZWNlaXZlci50cmFuc2Zvcm0gPSByZWNlaXZlclRyYW5zZm9ybTsKKyAgICAg
ICAgICAgICAgICByZXNvbHZlKHRyYWNrRXZlbnQuc3RyZWFtc1swXSk7CisgICAgICAgICAgICB9
OworICAgICAgICB9KTsKKyAgICAgICAgc2V0VGltZW91dCgoKSA9PiByZWplY3QoIlRlc3QgdGlt
ZWQgb3V0IiksIDUwMDApOworICAgIH0pOworCisgICAgdmlkZW8xLnNyY09iamVjdCA9IHN0cmVh
bTsKKyAgICBhd2FpdCB2aWRlbzEucGxheSgpOworCisgICAgbGV0IGNvdW50ZXIgPSAwOworICAg
IHdoaWxlICghcmVjZWl2ZXJUcmFuc2Zvcm0uaXNQcm9jZXNzaW5nICYmIGNvdW50ZXIrKyA8IDEw
MCkKKyAgICAgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiBzZXRUaW1lb3V0KHJlc29s
dmUsIDUwKSk7CisKKyAgICBhc3NlcnRfdHJ1ZShzZW5kZXJUcmFuc2Zvcm0uaXNQcm9jZXNzaW5n
LCAic2VuZGVyIik7Cit9LCAiYXVkaW8gZXhjaGFuZ2Ugd2l0aCB0cmFuc2Zvcm0iKTsKKworcHJv
bWlzZV90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7CisgICAgaWYgKCF3aW5kb3cuaW50ZXJuYWxzKQor
ICAgICAgICByZXR1cm47CisKKyAgICBsZXQgc2VuZGVyLCByZWNlaXZlcjsKKyAgICBsZXQgc2Vu
ZGVyVHJhbnNmb3JtID0gaW50ZXJuYWxzLmNyZWF0ZU1vY2tSVENSdHBUcmFuc2Zvcm0oKTsKKyAg
ICBsZXQgcmVjZWl2ZXJUcmFuc2Zvcm0gPSBpbnRlcm5hbHMuY3JlYXRlTW9ja1JUQ1J0cFRyYW5z
Zm9ybSgpOworCisgICAgY29uc3QgbG9jYWxTdHJlYW0gPSBhd2FpdCBuYXZpZ2F0b3IubWVkaWFE
ZXZpY2VzLmdldFVzZXJNZWRpYSh7dmlkZW86IHRydWV9KTsKKworICAgIGNvbnN0IHN0cmVhbSA9
IGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKKyAgICAgICAgY3JlYXRl
Q29ubmVjdGlvbnMoKGZpcnN0Q29ubmVjdGlvbikgPT4geworICAgICAgICAgICAgcGMxID0gZmly
c3RDb25uZWN0aW9uOworICAgICAgICAgICAgc2VuZGVyID0gZmlyc3RDb25uZWN0aW9uLmFkZFRy
YWNrKGxvY2FsU3RyZWFtLmdldFZpZGVvVHJhY2tzKClbMF0sIGxvY2FsU3RyZWFtKTsKKyAgICAg
ICAgICAgIHNlbmRlci50cmFuc2Zvcm0gPSBzZW5kZXJUcmFuc2Zvcm07CisgICAgICAgIH0sIChz
ZWNvbmRDb25uZWN0aW9uKSA9PiB7CisgICAgICAgICAgICBwYzIgPSBzZWNvbmRDb25uZWN0aW9u
OworICAgICAgICAgICAgc2Vjb25kQ29ubmVjdGlvbi5vbnRyYWNrID0gKHRyYWNrRXZlbnQpID0+
IHsKKyAgICAgICAgICAgICAgICByZWNlaXZlciA9IHRyYWNrRXZlbnQucmVjZWl2ZXI7CisgICAg
ICAgICAgICAgICAgcmVjZWl2ZXIudHJhbnNmb3JtID0gcmVjZWl2ZXJUcmFuc2Zvcm07CisgICAg
ICAgICAgICAgICAgcmVzb2x2ZSh0cmFja0V2ZW50LnN0cmVhbXNbMF0pOworICAgICAgICAgICAg
fTsKKyAgICAgICAgfSk7CisgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gcmVqZWN0KCJUZXN0IHRp
bWVkIG91dCIpLCA1MDAwKTsKKyAgICB9KTsKKworICAgIHZpZGVvMi5zcmNPYmplY3QgPSBzdHJl
YW07CisgICAgYXdhaXQgdmlkZW8yLnBsYXkoKTsKKworICAgbGV0IGNvdW50ZXIgPSAwOworICAg
d2hpbGUgKCFyZWNlaXZlclRyYW5zZm9ybS5pc1Byb2Nlc3NpbmcgJiYgY291bnRlcisrIDwgMTAw
KQorICAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gc2V0VGltZW91dChyZXNvbHZl
LCA1MCkpOworCisgICAgYXNzZXJ0X3RydWUoc2VuZGVyVHJhbnNmb3JtLmlzUHJvY2Vzc2luZywg
InNlbmRlciIpOworfSwgInZpZGVvIGV4Y2hhbmdlIHdpdGggdHJhbnNmb3JtIik7CisgICAgICAg
IDwvc2NyaXB0PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
</data>
<flag name="commit-queue"
          id="430664"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413951</attachid>
            <date>2020-11-12 11:03:09 -0800</date>
            <delta_ts>2020-11-12 11:47:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218790-20201112200305.patch</filename>
            <type>text/plain</type>
            <size>121255</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5NjQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvQ2hhbmdlTG9nIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NoYW5n
ZUxvZwppbmRleCBhZjg2M2M5ZWM1ZDA1YzIwODE0YmQwNWJmNmE5YzE0MWFhNWQ1MDliLi4wYzUw
ZDE5YTQyNmQ5OTQyNjAwYjQ0OTk1NTNmNmI4YTFkYTUwOWJlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAyMC0xMS0xMiAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViUHJvY2VzcyBzaG91bGQgcHJv
Y2VzcyBXZWJSVEMgY29kZWNzIElQQyBtZXNzYWdlcyBmcm9tIHRoZSBHUFUgUHJvY2VzcyBpbiBh
IGJhY2tncm91bmQgdGhyZWFkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMTg3OTAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzcxMzMyNDM5PgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2Ugc3VyZSBi
dWZmZXIgaXMgb3duZWQgYnkgdGhlIGVuY29kZWQgaW1hZ2Ugb2JqZWN0LgorCisgICAgICAgICog
Q29uZmlndXJhdGlvbnMvbGlid2VicnRjLm1hYy5leHA6CisgICAgICAgICogU291cmNlL3dlYnJ0
Yy9zZGsvV2ViS2l0L1dlYktpdEVuY29kZXIuaDoKKyAgICAgICAgKiBTb3VyY2Uvd2VicnRjL3Nk
ay9XZWJLaXQvV2ViS2l0RW5jb2Rlci5tbToKKyAgICAgICAgKHdlYnJ0Yzo6ZW5jb2RlclZpZGVv
VGFza0NvbXBsZXRlKToKKwogMjAyMC0xMS0xMCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBs
ZS5jb20+IGFuZCBWaWN0b3IgTSBKYXF1ZXogPHZqYXF1ZXpAaWdhbGlhLmNvbT4KIAogICAgICAg
ICBVcGRhdGUgV2ViUlRDIGxpd2VicnRjIHRvIE04NwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRleCBmMzg5NzVjNWIzNjUxZmFlNWNl
OGEwOGMyY2VkYzMyYzZlNmNmMWMyLi4wYzk0MzZmOGM4N2Y4M2UxM2ZlZjY3ZjdiNmZmYTM2MmEy
M2ZiZDU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RG
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIwLTExLTExICBZb3Vlbm4gRmFibGV0ICA8
eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgaW5mcmFzdHJ1Y3R1cmUgZm9yIFdlYlJU
QyB0cmFuc2Zvcm1zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMTg3NTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBZGQgYW4gZXhwZXJpbWVudGFsIHByZWZlcmVuY2UgZm9yIFdlYlJUQyB0cmFuc2Zvcm1z
LgorCisgICAgICAgICogU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1l
bnRhbC55YW1sOgorCiAyMDIwLTExLTEwICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgUGFyc2UgYXNwZWN0LXJhdGlvIENTUyBwcm9wZXJ0eQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDYz
OTNiMTg3Njg4M2I4ZTc4ZDZiNzdhNDQ0MTMyOWJmYTA1YjkzN2EuLjg4ZTUzNDc5MmNhZTE1OGRl
NjhjY2NkOTJlYmNhZmI0ZWU2YjI1NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMTAgQEAKKzIw
MjAtMTEtMTEgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEFk
ZCBpbmZyYXN0cnVjdHVyZSBmb3IgV2ViUlRDIHRyYW5zZm9ybXMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODc1MAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEludHJvZHVjZSBSVENSdHBUcmFuc2Zvcm0g
YmVoaW5kIGEgcHJlZmVyZW5jZS4KKyAgICAgICAgQWRkIGJpbmRpbmcgY29kZSB3aXRoIGxpYndl
YnJ0YyB0byBiZSBhYmxlIHRvIHByb2Nlc3MgZW5jb2RlZCBjb250ZW50IGluIHNlbmRlciBhbmQg
cmVjZWl2ZXIgc2lkZXMuCisgICAgICAgIEFkZCBhIG1vY2sgdHJhbnNmb3JtIHRvIHZhbGlkYXRl
IHRoZSBpbmZyYXN0cnVjdHVyZSBpcyB3b3JraW5nLgorCisgICAgICAgIFRlc3Q6IHdlYnJ0Yy93
ZWJydGMtdHJhbnNmb3JtLmh0bWwKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAg
ICAqIERlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNv
dXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToK
KyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVyK1RyYW5zZm9ybS5p
ZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UlRDUnRwUmVjZWl2ZXI6On5SVENSdHBSZWNlaXZlcik6
CisgICAgICAgIChXZWJDb3JlOjpSVENSdHBSZWNlaXZlcjo6c3RvcCk6CisgICAgICAgIChXZWJD
b3JlOjpSVENSdHBSZWNlaXZlcjo6c2V0VHJhbnNmb3JtKToKKyAgICAgICAgKiBNb2R1bGVzL21l
ZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVyLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENSdHBSZWNlaXZlckJhY2tlbmQuaDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ1J0cFJlY2VpdmVyV2l0aFRyYW5zZm9ybS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OlJUQ1J0cFJlY2VpdmVyV2l0aFRyYW5zZm9ybTo6dHJhbnNmb3JtKToKKyAgICAgICAgKFdlYkNv
cmU6OlJUQ1J0cFJlY2VpdmVyV2l0aFRyYW5zZm9ybTo6c2V0VHJhbnNmb3JtKToKKyAgICAgICAg
KiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlcitUcmFuc2Zvcm0uaWRsOiBBZGRlZC4K
KyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSVENSdHBTZW5kZXI6On5SVENSdHBTZW5kZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6UlRDUnRwU2VuZGVyOjpzdG9wKToKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1J0cFNlbmRlcjo6
c2V0VHJhbnNmb3JtKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRl
ci5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyQmFja2VuZC5o
OgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyV2l0aFRyYW5zZm9y
bS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJUQ1J0cFNlbmRlcldpdGhUcmFuc2Zvcm06
OnRyYW5zZm9ybSk6CisgICAgICAgIChXZWJDb3JlOjpSVENSdHBTZW5kZXJXaXRoVHJhbnNmb3Jt
OjpzZXRUcmFuc2Zvcm0pOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJh
bnNmb3JtLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpSVENSdHBUcmFuc2Zvcm06On5S
VENSdHBUcmFuc2Zvcm0pOgorICAgICAgICAoV2ViQ29yZTo6UlRDUnRwVHJhbnNmb3JtOjphdHRh
Y2hUb1JlY2VpdmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1J0cFRyYW5zZm9ybTo6YXR0YWNo
VG9TZW5kZXIpOgorICAgICAgICAoV2ViQ29yZTo6UlRDUnRwVHJhbnNmb3JtOjpkZXRhY2hGcm9t
UmVjZWl2ZXIpOgorICAgICAgICAoV2ViQ29yZTo6UlRDUnRwVHJhbnNmb3JtOjpkZXRhY2hGcm9t
U2VuZGVyKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zZm9ybS5o
OiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zZm9ybS5p
ZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNmb3Jt
QmFja2VuZC5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRy
YW5zZm9ybWFibGVGcmFtZS5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFt
L2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBSZWNlaXZlckJhY2tlbmQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6TGliV2ViUlRDUnRwUmVjZWl2ZXJCYWNrZW5kOjpjcmVhdGVSVENSdHBUcmFuc2Zvcm1C
YWNrZW5kKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJS
VENSdHBSZWNlaXZlckJhY2tlbmQuaDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL2xp
YndlYnJ0Yy9MaWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQuY3BwOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmU6Om1lZGlhVHlwZUZyb21SZWNlaXZlcik6CisgICAgICAgIChXZWJD
b3JlOjpMaWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQ6OkxpYldlYlJUQ1J0cFJl
Y2VpdmVyVHJhbnNmb3JtQmFja2VuZCk6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENSdHBS
ZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQ6On5MaWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJh
Y2tlbmQpOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1C
YWNrZW5kOjpzZXRUcmFuc2Zvcm1hYmxlRnJhbWVDYWxsYmFjayk6CisgICAgICAgICogTW9kdWxl
cy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNr
ZW5kLmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xp
YldlYlJUQ1J0cFNlbmRlckJhY2tlbmQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRD
UnRwU2VuZGVyQmFja2VuZDo6Y3JlYXRlUlRDUnRwVHJhbnNmb3JtQmFja2VuZCk6CisgICAgICAg
ICogTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwU2VuZGVyQmFja2Vu
ZC5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0
cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Om1l
ZGlhVHlwZUZyb21TZW5kZXIpOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDUnRwU2VuZGVy
VHJhbnNmb3JtQmFja2VuZDo6TGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZCk6Cisg
ICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kOjp+TGli
V2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZCk6CisgICAgICAgIChXZWJDb3JlOjpMaWJX
ZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kOjpzZXRUcmFuc2Zvcm1hYmxlRnJhbWVDYWxs
YmFjayk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRD
UnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZC5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL21l
ZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmNwcDogQWRk
ZWQuCisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpzZXRJ
bnB1dENhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ1J0cFRyYW5zZm9ybUJh
Y2tlbmQ6OmNsZWFyVHJhbnNmb3JtYWJsZUZyYW1lQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29y
ZTo6TGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZDo6c2V0T3V0cHV0Q2FsbGJhY2spOgorICAg
ICAgICAoV2ViQ29yZTo6TGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZDo6cHJvY2Vzc1RyYW5z
Zm9ybWVkRnJhbWUpOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDUnRwVHJhbnNmb3JtQmFj
a2VuZDo6VHJhbnNmb3JtKToKKyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ1J0cFRyYW5zZm9y
bUJhY2tlbmQ6OlJlZ2lzdGVyVHJhbnNmb3JtZWRGcmFtZUNhbGxiYWNrKToKKyAgICAgICAgKFdl
YkNvcmU6OkxpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6OlJlZ2lzdGVyVHJhbnNmb3JtZWRG
cmFtZVNpbmtDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENSdHBUcmFuc2Zv
cm1CYWNrZW5kOjpVbnJlZ2lzdGVyVHJhbnNmb3JtZWRGcmFtZUNhbGxiYWNrKToKKyAgICAgICAg
KFdlYkNvcmU6OkxpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6OlVucmVnaXN0ZXJUcmFuc2Zv
cm1lZEZyYW1lU2lua0NhbGxiYWNrKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL2xp
YndlYnJ0Yy9MaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmg6IEFkZGVkLgorICAgICAgICAo
V2ViQ29yZTo6TGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZDo6TGliV2ViUlRDUnRwVHJhbnNm
b3JtQmFja2VuZCk6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNr
ZW5kOjpSZWxlYXNlIGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL2xpYndl
YnJ0Yy9MaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuaDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlOjpMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWU6OkxpYldlYlJUQ1J0cFRyYW5z
Zm9ybWFibGVGcmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENSdHBUcmFuc2Zvcm1h
YmxlRnJhbWU6OnRvUlRDRnJhbWUpOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDUnRwVHJh
bnNmb3JtYWJsZUZyYW1lOjpkYXRhIGNvbnN0KToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAg
ICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmlu
ZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oOgorICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvQ29kZUdlbmVyYXRvckpTLnBtOgorICAgICAgICAoR2VuZXJhdGVIZWFkZXIpOgorICAgICAg
ICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuaDoKKyAgICAgICAg
KiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OmNy
ZWF0ZU1vY2tSVENSdHBUcmFuc2Zvcm0pOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6
CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaWRsOgorICAgICAgICAqIHRlc3RpbmcvTW9j
a1JUQ1J0cFRyYW5zZm9ybS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TW9ja1JUQ1J0
cFRyYW5zZm9ybWVyOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TW9ja1JUQ1J0cFRyYW5z
Zm9ybWVyOjpjbGVhcik6CisgICAgICAgIChXZWJDb3JlOjpNb2NrUlRDUnRwVHJhbnNmb3JtZXI6
OnRyYW5zZm9ybSk6CisgICAgICAgIChXZWJDb3JlOjpNb2NrUlRDUnRwVHJhbnNmb3JtZXI6Omlz
UHJvY2Vzc2luZyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpNb2NrUlRDUnRwVHJhbnNmb3Jt
ZXI6Ok1vY2tSVENSdHBUcmFuc2Zvcm1lcik6CisgICAgICAgIChXZWJDb3JlOjpNb2NrUlRDUnRw
VHJhbnNmb3JtOjpNb2NrUlRDUnRwVHJhbnNmb3JtKToKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tS
VENSdHBUcmFuc2Zvcm06On5Nb2NrUlRDUnRwVHJhbnNmb3JtKToKKyAgICAgICAgKFdlYkNvcmU6
Ok1vY2tSVENSdHBUcmFuc2Zvcm06OmlzUHJvY2Vzc2luZyBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpNb2NrUlRDUnRwVHJhbnNmb3JtOjppbml0aWFsaXplQmFja2VuZEZvclJlY2VpdmVyKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1vY2tSVENSdHBUcmFuc2Zvcm06OmluaXRpYWxpemVCYWNrZW5k
Rm9yU2VuZGVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tSVENSdHBUcmFuc2Zvcm06OndpbGxD
bGVhckJhY2tlbmQpOgorICAgICAgICAqIHRlc3RpbmcvTW9ja1JUQ1J0cFRyYW5zZm9ybS5oOiBB
ZGRlZC4KKyAgICAgICAgKiB0ZXN0aW5nL01vY2tSVENSdHBUcmFuc2Zvcm0uaWRsOiBBZGRlZC4K
KwogMjAyMC0xMS0xMCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+IGFuZCBWaWN0
b3IgTSBKYXF1ZXogPHZqYXF1ZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBVcGRhdGUgV2ViUlRD
IGxpd2VicnRjIHRvIE04NwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA2NTM5ZGI4YTVlMTA3YjIwYjYwNDQ1MThhZjhj
MGJlYWUyNmE2YmRkLi5lNjlmODFhYjE2MjIwMTE2MDVhY2YwZWQ4NzUyM2RlOWI1Njg4NWUzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTExLTEyICBZb3Vlbm4gRmFibGV0ICA8eW91
ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBXZWJQcm9jZXNzIHNob3VsZCBwcm9jZXNzIFdlYlJU
QyBjb2RlY3MgSVBDIG1lc3NhZ2VzIGZyb20gdGhlIEdQVSBQcm9jZXNzIGluIGEgYmFja2dyb3Vu
ZCB0aHJlYWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIxODc5MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzEzMzI0Mzk+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIG5vIGxvbmdlciBuZWVk
ZWQgY29uc3QgY2FzdGluZy4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL1dlYktpdC54Y2Nv
bmZpZzoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNzLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDQ29kZWNzOjpjb21wbGV0ZWRFbmNvZGluZyk6
CisKIDIwMjAtMTEtMTEgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAg
ICAgIFdlYlByb2Nlc3Mgc2hvdWxkIHByb2Nlc3MgV2ViUlRDIGNvZGVjcyBJUEMgbWVzc2FnZXMg
ZnJvbSB0aGUgR1BVIFByb2Nlc3MgaW4gYSBiYWNrZ3JvdW5kIHRocmVhZApkaWZmIC0tZ2l0IGEv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5pT1Mu
ZXhwIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0
Yy5pT1MuZXhwCmluZGV4IDQ4ZTQ0NTkyOTMxZGNjODRhZDM3Mzc1YmE5ZjYwOTBiMTAxMmM2N2Qu
LmEyY2FmYjM5MjI5OWU5NWI3YTdiZGZlNmUzNmQ3ZmYwNWY3MTkwZmIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMuaU9TLmV4
cAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvbGlid2Vi
cnRjLmlPUy5leHAKQEAgLTIyOSw3ICsyMjksNyBAQCBfX1pONndlYnJ0YzI0dmlkZW9EZWNvZGVy
VGFza0NvbXBsZXRlRVB2alAxMF9fQ1ZCdWZmZXJqCiBfX1pONndlYnJ0YzI0c2V0VmlkZW9EZWNv
ZGVyQ2FsbGJhY2tzRVBGUHZSS05TXzE0U2RwVmlkZW9Gb3JtYXRFRVBGaVMwX0VQRmlTMF9qUEto
bXR0RVBGaVMwX1MwX0UKIF9fWk42d2VicnRjMTlzZXREZWNvZGVyRnJhbWVTaXplRVB2dHQKIF9f
Wk42d2VicnRjMThSdHBDb2RlY0NhcGFiaWxpdHlDMUV2Ci1fX1pONndlYnJ0YzI0ZW5jb2RlclZp
ZGVvVGFza0NvbXBsZXRlRVB2TlNfMTRWaWRlb0NvZGVjVHlwZUVQaG1SS05TXzIyV2ViS2l0RW5j
b2RlZEZyYW1lSW5mb0UKK19fWk42d2VicnRjMjRlbmNvZGVyVmlkZW9UYXNrQ29tcGxldGVFUHZO
U18xNFZpZGVvQ29kZWNUeXBlRVBLaG1SS05TXzIyV2ViS2l0RW5jb2RlZEZyYW1lSW5mb0UKIF9f
Wk42d2VicnRjMjRzZXRWaWRlb0VuY29kZXJDYWxsYmFja3NFUEZQdlJLTlNfMTRTZHBWaWRlb0Zv
cm1hdEVFUEZpUzBfRVBGaVMwX1JLTlNfMTBWaWRlb0NvZGVjRUVQRmlTMF9SS05TXzEwVmlkZW9G
cmFtZUViRVBGaVMwX1MwX0VQRnZTMF9SS05TXzEyVmlkZW9FbmNvZGVyMjFSYXRlQ29udHJvbFBh
cmFtZXRlcnNFRQogX19aTjZ3ZWJydGMyMHNldExvY2FsRW5jb2RlclJhdGVzRVB2amoKIF9fWk42
d2VicnRjMjVzZXRMb2NhbEVuY29kZXJMb3dMYXRlbmN5RVB2YgpkaWZmIC0tZ2l0IGEvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5pT1NzaW0uZXhw
IGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5p
T1NzaW0uZXhwCmluZGV4IDQ4ZTQ0NTkyOTMxZGNjODRhZDM3Mzc1YmE5ZjYwOTBiMTAxMmM2N2Qu
LmEyY2FmYjM5MjI5OWU5NWI3YTdiZGZlNmUzNmQ3ZmYwNWY3MTkwZmIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMuaU9Tc2lt
LmV4cAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvbGli
d2VicnRjLmlPU3NpbS5leHAKQEAgLTIyOSw3ICsyMjksNyBAQCBfX1pONndlYnJ0YzI0dmlkZW9E
ZWNvZGVyVGFza0NvbXBsZXRlRVB2alAxMF9fQ1ZCdWZmZXJqCiBfX1pONndlYnJ0YzI0c2V0Vmlk
ZW9EZWNvZGVyQ2FsbGJhY2tzRVBGUHZSS05TXzE0U2RwVmlkZW9Gb3JtYXRFRVBGaVMwX0VQRmlT
MF9qUEtobXR0RVBGaVMwX1MwX0UKIF9fWk42d2VicnRjMTlzZXREZWNvZGVyRnJhbWVTaXplRVB2
dHQKIF9fWk42d2VicnRjMThSdHBDb2RlY0NhcGFiaWxpdHlDMUV2Ci1fX1pONndlYnJ0YzI0ZW5j
b2RlclZpZGVvVGFza0NvbXBsZXRlRVB2TlNfMTRWaWRlb0NvZGVjVHlwZUVQaG1SS05TXzIyV2Vi
S2l0RW5jb2RlZEZyYW1lSW5mb0UKK19fWk42d2VicnRjMjRlbmNvZGVyVmlkZW9UYXNrQ29tcGxl
dGVFUHZOU18xNFZpZGVvQ29kZWNUeXBlRVBLaG1SS05TXzIyV2ViS2l0RW5jb2RlZEZyYW1lSW5m
b0UKIF9fWk42d2VicnRjMjRzZXRWaWRlb0VuY29kZXJDYWxsYmFja3NFUEZQdlJLTlNfMTRTZHBW
aWRlb0Zvcm1hdEVFUEZpUzBfRVBGaVMwX1JLTlNfMTBWaWRlb0NvZGVjRUVQRmlTMF9SS05TXzEw
VmlkZW9GcmFtZUViRVBGaVMwX1MwX0VQRnZTMF9SS05TXzEyVmlkZW9FbmNvZGVyMjFSYXRlQ29u
dHJvbFBhcmFtZXRlcnNFRQogX19aTjZ3ZWJydGMyMHNldExvY2FsRW5jb2RlclJhdGVzRVB2amoK
IF9fWk42d2VicnRjMjVzZXRMb2NhbEVuY29kZXJMb3dMYXRlbmN5RVB2YgpkaWZmIC0tZ2l0IGEv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5tYWMu
ZXhwIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0
Yy5tYWMuZXhwCmluZGV4IDQ4ZTQ0NTkyOTMxZGNjODRhZDM3Mzc1YmE5ZjYwOTBiMTAxMmM2N2Qu
LmEyY2FmYjM5MjI5OWU5NWI3YTdiZGZlNmUzNmQ3ZmYwNWY3MTkwZmIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMubWFjLmV4
cAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvbGlid2Vi
cnRjLm1hYy5leHAKQEAgLTIyOSw3ICsyMjksNyBAQCBfX1pONndlYnJ0YzI0dmlkZW9EZWNvZGVy
VGFza0NvbXBsZXRlRVB2alAxMF9fQ1ZCdWZmZXJqCiBfX1pONndlYnJ0YzI0c2V0VmlkZW9EZWNv
ZGVyQ2FsbGJhY2tzRVBGUHZSS05TXzE0U2RwVmlkZW9Gb3JtYXRFRVBGaVMwX0VQRmlTMF9qUEto
bXR0RVBGaVMwX1MwX0UKIF9fWk42d2VicnRjMTlzZXREZWNvZGVyRnJhbWVTaXplRVB2dHQKIF9f
Wk42d2VicnRjMThSdHBDb2RlY0NhcGFiaWxpdHlDMUV2Ci1fX1pONndlYnJ0YzI0ZW5jb2RlclZp
ZGVvVGFza0NvbXBsZXRlRVB2TlNfMTRWaWRlb0NvZGVjVHlwZUVQaG1SS05TXzIyV2ViS2l0RW5j
b2RlZEZyYW1lSW5mb0UKK19fWk42d2VicnRjMjRlbmNvZGVyVmlkZW9UYXNrQ29tcGxldGVFUHZO
U18xNFZpZGVvQ29kZWNUeXBlRVBLaG1SS05TXzIyV2ViS2l0RW5jb2RlZEZyYW1lSW5mb0UKIF9f
Wk42d2VicnRjMjRzZXRWaWRlb0VuY29kZXJDYWxsYmFja3NFUEZQdlJLTlNfMTRTZHBWaWRlb0Zv
cm1hdEVFUEZpUzBfRVBGaVMwX1JLTlNfMTBWaWRlb0NvZGVjRUVQRmlTMF9SS05TXzEwVmlkZW9G
cmFtZUViRVBGaVMwX1MwX0VQRnZTMF9SS05TXzEyVmlkZW9FbmNvZGVyMjFSYXRlQ29udHJvbFBh
cmFtZXRlcnNFRQogX19aTjZ3ZWJydGMyMHNldExvY2FsRW5jb2RlclJhdGVzRVB2amoKIF9fWk42
d2VicnRjMjVzZXRMb2NhbEVuY29kZXJMb3dMYXRlbmN5RVB2YgpkaWZmIC0tZ2l0IGEvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL1dlYktpdC9XZWJLaXRFbmNv
ZGVyLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvV2Vi
S2l0L1dlYktpdEVuY29kZXIuaAppbmRleCAyM2Q5N2VjYzRlYmY4MTM5MGZmOGE0OWFjOTAyZWIy
NDkwYjJiNTI0Li5lMzc3OGE2YTYxYjU2N2JmODkwNzg0NTMxY2Y2YmNmNTgyNWJjZjIyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvV2Vi
S2l0L1dlYktpdEVuY29kZXIuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0L1dlYktpdEVuY29kZXIuaApAQCAtODAsNyArODAsNyBAQCB2
b2lkIGluaXRpYWxpemVMb2NhbEVuY29kZXIoTG9jYWxFbmNvZGVyLCB1aW50MTZfdCB3aWR0aCwg
dWludDE2X3QgaGVpZ2h0LCB1bnNpZwogdm9pZCBlbmNvZGVMb2NhbEVuY29kZXJGcmFtZShMb2Nh
bEVuY29kZXIsIENWUGl4ZWxCdWZmZXJSZWYsIGludDY0X3QgdGltZVN0YW1wTnMsIHVpbnQzMl90
IHRpbWVTdGFtcCwgd2VicnRjOjpWaWRlb1JvdGF0aW9uLCBib29sIGlzS2V5ZnJhbWVSZXF1aXJl
ZCk7CiB2b2lkIHNldExvY2FsRW5jb2RlclJhdGVzKExvY2FsRW5jb2RlciwgdWludDMyX3QgYml0
UmF0ZSwgdWludDMyX3QgZnJhbWVSYXRlKTsKIHZvaWQgc2V0TG9jYWxFbmNvZGVyTG93TGF0ZW5j
eShMb2NhbEVuY29kZXIsIGJvb2wgaXNMb3dMYXRlbmN5RW5hYmxlZCk7Ci12b2lkIGVuY29kZXJW
aWRlb1Rhc2tDb21wbGV0ZSh2b2lkKiwgd2VicnRjOjpWaWRlb0NvZGVjVHlwZSwgdWludDhfdCog
YnVmZmVyLCBzaXplX3QgbGVuZ3RoLCBjb25zdCBXZWJLaXRFbmNvZGVkRnJhbWVJbmZvJik7Cit2
b2lkIGVuY29kZXJWaWRlb1Rhc2tDb21wbGV0ZSh2b2lkKiwgd2VicnRjOjpWaWRlb0NvZGVjVHlw
ZSwgY29uc3QgdWludDhfdCogYnVmZmVyLCBzaXplX3QgbGVuZ3RoLCBjb25zdCBXZWJLaXRFbmNv
ZGVkRnJhbWVJbmZvJik7CiAKIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+CiBib29sIFdlYktpdEVu
Y29kZWRGcmFtZUluZm86OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBXZWJLaXRFbmNvZGVkRnJh
bWVJbmZvJiBpbmZvKQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS93ZWJydGMvc2RrL1dlYktpdC9XZWJLaXRFbmNvZGVyLm1tIGIvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL1dlYktpdC9XZWJLaXRFbmNvZGVyLm1tCmlu
ZGV4IGQ3OTUxYzYxMjFkNjE4NTJkYjZjYTg3ZDU5YTdiMjIxZjk1ZjUyYmMuLjg3YjVjODFiOGFi
NTBmNDRlM2E2YzI3ZDRjODI3N2EyZTFiYmUxYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9XZWJLaXQvV2ViS2l0RW5jb2Rlci5tbQor
KysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0
L1dlYktpdEVuY29kZXIubW0KQEAgLTI5MCw5ICsyOTAsMTEgQEAgaW50MzJfdCBSZW1vdGVWaWRl
b0VuY29kZXI6OlJlZ2lzdGVyRW5jb2RlQ29tcGxldGVDYWxsYmFjayhFbmNvZGVkSW1hZ2VDYWxs
YmFjayoKICAgICByZXR1cm4gdmlkZW9FbmNvZGVyQ2FsbGJhY2tzKCkucmVnaXN0ZXJFbmNvZGVD
b21wbGV0ZUNhbGxiYWNrKG1faW50ZXJuYWxFbmNvZGVyLCBjYWxsYmFjayk7CiB9CiAKLXZvaWQg
ZW5jb2RlclZpZGVvVGFza0NvbXBsZXRlKHZvaWQqIGNhbGxiYWNrLCB3ZWJydGM6OlZpZGVvQ29k
ZWNUeXBlIGNvZGVjVHlwZSwgdWludDhfdCogYnVmZmVyLCBzaXplX3QgbGVuZ3RoLCBjb25zdCBX
ZWJLaXRFbmNvZGVkRnJhbWVJbmZvJiBpbmZvKQordm9pZCBlbmNvZGVyVmlkZW9UYXNrQ29tcGxl
dGUodm9pZCogY2FsbGJhY2ssIHdlYnJ0Yzo6VmlkZW9Db2RlY1R5cGUgY29kZWNUeXBlLCBjb25z
dCB1aW50OF90KiBidWZmZXIsIHNpemVfdCBsZW5ndGgsIGNvbnN0IFdlYktpdEVuY29kZWRGcmFt
ZUluZm8mIGluZm8pCiB7Ci0gICAgd2VicnRjOjpFbmNvZGVkSW1hZ2UgZW5jb2RlZEltYWdlKGJ1
ZmZlciwgbGVuZ3RoLCBsZW5ndGgpOworICAgIHdlYnJ0Yzo6RW5jb2RlZEltYWdlIGVuY29kZWRJ
bWFnZTsKKyAgICBlbmNvZGVkSW1hZ2UuU2V0RW5jb2RlZERhdGEoRW5jb2RlZEltYWdlQnVmZmVy
OjpDcmVhdGUoYnVmZmVyLCBsZW5ndGgpKTsKKwogICAgIGVuY29kZWRJbWFnZS5fZW5jb2RlZFdp
ZHRoID0gaW5mby53aWR0aDsKICAgICBlbmNvZGVkSW1hZ2UuX2VuY29kZWRIZWlnaHQgPSBpbmZv
LmhlaWdodDsKICAgICBlbmNvZGVkSW1hZ2UuU2V0VGltZXN0YW1wKGluZm8udGltZVN0YW1wKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNl
c0V4cGVyaW1lbnRhbC55YW1sIGIvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlBy
ZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKaW5kZXggYjAxNmFjOWY3MzJiMTI2ODhmOWE4NTIz
ZTAwZjRhZjEzYmJhNWM2Yi4uZTdiOTI2ZGFiZTA4ZTRhOGY0MTYwNDMwZjkyNGNiODI2ZTZkN2Zk
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVu
Y2VzRXhwZXJpbWVudGFsLnlhbWwKKysrIGIvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2Vz
L1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKQEAgLTk4NCw2ICs5ODQsMTkgQEAgV2Vi
UlRDSDI2NUNvZGVjRW5hYmxlZDoKICAgICBXZWJLaXQ6CiAgICAgICBkZWZhdWx0OiBmYWxzZQog
CitXZWJSVENJbnNlcnRhYmxlU3RyZWFtc0VuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgY29uZGl0
aW9uOiBFTkFCTEUoV0VCX1JUQykKKyAgaHVtYW5SZWFkYWJsZU5hbWU6ICJXZWJSVEMgSW5zZXJ0
YWJsZSBTdHJlYW1zIEFQSSIKKyAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIFdl
YlJUQyBJbnNlcnRhYmxlIFN0cmVhbXMgQVBJIgorICBkZWZhdWx0VmFsdWU6CisgICAgV2ViS2l0
TGVnYWN5OgorICAgICAgZGVmYXVsdDogZmFsc2UKKyAgICBXZWJLaXQ6CisgICAgICBkZWZhdWx0
OiBmYWxzZQorICAgIFdlYkNvcmU6CisgICAgICBkZWZhdWx0OiBmYWxzZQorCiAjIEZJWE1FOiBU
aGlzIGlzIG5vdCByZWxldmVudCBmb3IgV2ViS2l0TGVnYWN5LCBzbyBzaG91bGQgYmUgZXhjbHVk
ZWQgZnJvbSBXZWJLaXRMZWdhY3kgZW50aXJlbHkuCiBXZWJSVENQbGF0Zm9ybUNvZGVjc0luR1BV
UHJvY2Vzc0VuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNWQ0
YTRlOWQ0ODE2NGVkNWExYzM0ZTU4NTM4M2MxZmMzMGE0MGI4OC4uMjUzMGY4NTViMjMwMTEyYmMw
NWNjNTkxZWZhZGUyNWIyZDE1MGQ4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTQwMCwxMiAr
NDAwLDE1IEBAIHNldChXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENSdHBIZWFkZXJFeHRlbnNpb25QYXJhbWV0ZXJzLmlkbAogICAgIE1vZHVsZXMv
bWVkaWFzdHJlYW0vUlRDUnRwUGFyYW1ldGVycy5pZGwKICAgICBNb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ1J0cFJlY2VpdmVyLmlkbAorICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVpY2V2
ZXIrVHJhbnNmb3JtLmlkbAogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUnR4UGFyYW1l
dGVycy5pZGwKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRQYXJhbWV0ZXJzLmlk
bAorICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyK1RyYW5zZm9ybS5pZGwKICAg
ICBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlci5pZGwKICAgICBNb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ1J0cFN5bmNocm9uaXphdGlvblNvdXJjZS5pZGwKICAgICBNb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ1J0cFRyYW5zY2VpdmVyLmlkbAogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
UnRwVHJhbnNjZWl2ZXJEaXJlY3Rpb24uaWRsCisgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENS
dHBUcmFuc2Zvcm0uaWRsCiAgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTZHBUeXBlLmlkbAog
ICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uLmlkbAogICAgIE1v
ZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uSW5pdC5pZGwKQEAgLTE3NDks
NiArMTc1Miw3IEBAIHNldChXZWJDb3JlVGVzdFN1cHBvcnRfSURMX0ZJTEVTCiAgICAgdGVzdGlu
Zy9Nb2NrQ0RNRmFjdG9yeS5pZGwKICAgICB0ZXN0aW5nL01vY2tDb250ZW50RmlsdGVyU2V0dGlu
Z3MuaWRsCiAgICAgdGVzdGluZy9Nb2NrUGFnZU92ZXJsYXkuaWRsCisgICAgdGVzdGluZy9Nb2Nr
UlRDUnRwVHJhbnNmb3JtLmlkbAogICAgIHRlc3RpbmcvU2VydmljZVdvcmtlckludGVybmFscy5p
ZGwKICAgICB0ZXN0aW5nL1R5cGVDb252ZXJzaW9ucy5pZGwKICkKQEAgLTE3NzIsNiArMTc3Niw3
IEBAIGxpc3QoQVBQRU5EIFdlYkNvcmVUZXN0U3VwcG9ydF9TT1VSQ0VTCiAgICAgdGVzdGluZy9N
b2NrTGliV2ViUlRDUGVlckNvbm5lY3Rpb24uY3BwCiAgICAgdGVzdGluZy9Nb2NrUGFnZU92ZXJs
YXkuY3BwCiAgICAgdGVzdGluZy9Nb2NrUGFnZU92ZXJsYXlDbGllbnQuY3BwCisgICAgdGVzdGlu
Zy9Nb2NrUlRDUnRwVHJhbnNmb3JtLmNwcAogICAgIHRlc3RpbmcvU2VydmljZVdvcmtlckludGVy
bmFscy5jcHAKICAgICB0ZXN0aW5nL2pzL1dlYkNvcmVUZXN0U3VwcG9ydC5jcHAKICkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IGFhMThh
OGNmNzJjZGJmZmEwNjFlOTIxYmM5MTM2MmQ0N2Q4YzM1YjMuLjY2OWI2ODYxYjZhZmExZDBhYzA5
N2IxYmQzMTA2NDQ4M2VlYzc1MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMtaW5wdXQueGNmaWxlbGlzdApAQCAtMTI5LDggKzEyOSw4IEBAICQoUFJPSkVDVF9ESVIpL01v
ZHVsZXMvZ2VvbG9jYXRpb24vUG9zaXRpb25DYWxsYmFjay5pZGwKICQoUFJPSkVDVF9ESVIpL01v
ZHVsZXMvZ2VvbG9jYXRpb24vUG9zaXRpb25FcnJvci5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVs
ZXMvZ2VvbG9jYXRpb24vUG9zaXRpb25FcnJvckNhbGxiYWNrLmlkbAogJChQUk9KRUNUX0RJUikv
TW9kdWxlcy9nZW9sb2NhdGlvbi9Qb3NpdGlvbk9wdGlvbnMuaWRsCi0kKFBST0pFQ1RfRElSKS9N
b2R1bGVzL2hpZ2hsaWdodC9IaWdobGlnaHRSZWdpc3Rlci5pZGwKICQoUFJPSkVDVF9ESVIpL01v
ZHVsZXMvaGlnaGxpZ2h0L0hpZ2hsaWdodC5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvaGln
aGxpZ2h0L0hpZ2hsaWdodFJlZ2lzdGVyLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9pbmRl
eGVkZGIvRE9NV2luZG93K0luZGV4ZWREYXRhYmFzZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVs
ZXMvaW5kZXhlZGRiL0lEQkN1cnNvci5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvaW5kZXhl
ZGRiL0lEQkN1cnNvckRpcmVjdGlvbi5pZGwKQEAgLTIzMywxMyArMjMzLDE2IEBAICQoUFJPSkVD
VF9ESVIpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwRW5jb2RpbmdQYXJhbWV0ZXJzLmlkbAog
JChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBGZWNQYXJhbWV0ZXJzLmlk
bAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBIZWFkZXJFeHRlbnNp
b25QYXJhbWV0ZXJzLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENS
dHBQYXJhbWV0ZXJzLmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENS
dHBSZWNlaXZlcitUcmFuc2Zvcm0uaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL1JUQ1J0cFJlY2VpdmVyLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENSdHBSdHhQYXJhbWV0ZXJzLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENSdHBTZW5kUGFyYW1ldGVycy5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbWVk
aWFzdHJlYW0vUlRDUnRwU2VuZGVyK1RyYW5zZm9ybS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENSdHBTeW5jaHJvbml6YXRpb25Tb3VyY2UuaWRsCiAkKFBST0pFQ1RfRElS
KS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zY2VpdmVyLmlkbAogJChQUk9KRUNUX0RJ
UikvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBUcmFuc2NlaXZlckRpcmVjdGlvbi5pZGwKKyQo
UFJPSkVDVF9ESVIpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNmb3JtLmlkbAogJChQ
Uk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTZHBUeXBlLmlkbAogJChQUk9KRUNU
X0RJUikvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb24uaWRsCiAkKFBS
T0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlvbkluaXQu
aWRsCkBAIC0yODksNiArMjkyLDcgQEAgJChQUk9KRUNUX0RJUikvTW9kdWxlcy9xdW90YS9Xb3Jr
ZXJOYXZpZ2F0b3IrU3RvcmFnZVF1b3RhLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9yZW1v
dGVwbGF5YmFjay9IVE1MTWVkaWFFbGVtZW50K1JlbW90ZVBsYXliYWNrLmlkbAogJChQUk9KRUNU
X0RJUikvTW9kdWxlcy9yZW1vdGVwbGF5YmFjay9SZW1vdGVQbGF5YmFjay5pZGwKICQoUFJPSkVD
VF9ESVIpL01vZHVsZXMvcmVtb3RlcGxheWJhY2svUmVtb3RlUGxheWJhY2tBdmFpbGFiaWxpdHlD
YWxsYmFjay5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvc3BlZWNoL0RPTVdpbmRvdytTcGVl
Y2hTeW50aGVzaXMuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hSZWNv
Z25pdGlvbi5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvc3BlZWNoL1NwZWVjaFJlY29nbml0
aW9uQWx0ZXJuYXRpdmUuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hS
ZWNvZ25pdGlvbkVycm9yQ29kZS5pZGwKQEAgLTI5Niw3ICszMDAsNiBAQCAkKFBST0pFQ1RfRElS
KS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvbkVycm9yRXZlbnQuaWRsCiAkKFBST0pF
Q1RfRElSKS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvbkV2ZW50LmlkbAogJChQUk9K
RUNUX0RJUikvTW9kdWxlcy9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb25SZXN1bHQuaWRsCiAkKFBS
T0pFQ1RfRElSKS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvblJlc3VsdExpc3QuaWRs
Ci0kKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3NwZWVjaC9ET01XaW5kb3crU3BlZWNoU3ludGhlc2lz
LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9zcGVlY2gvU3BlZWNoU3ludGhlc2lzLmlkbAog
JChQUk9KRUNUX0RJUikvTW9kdWxlcy9zcGVlY2gvU3BlZWNoU3ludGhlc2lzRXZlbnQuaWRsCiAk
KFBST0pFQ1RfRElSKS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXNVdHRlcmFuY2UuaWRs
CkBAIC0xMzAxLDYgKzEzMDQsNyBAQCAkKFBST0pFQ1RfRElSKS90ZXN0aW5nL01vY2tQYXltZW50
QWRkcmVzcy5pZGwKICQoUFJPSkVDVF9ESVIpL3Rlc3RpbmcvTW9ja1BheW1lbnRDb250YWN0Rmll
bGRzLmlkbAogJChQUk9KRUNUX0RJUikvdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmlk
bAogJChQUk9KRUNUX0RJUikvdGVzdGluZy9Nb2NrUGF5bWVudEVycm9yLmlkbAorJChQUk9KRUNU
X0RJUikvdGVzdGluZy9Nb2NrUlRDUnRwVHJhbnNmb3JtLmlkbAogJChQUk9KRUNUX0RJUikvdGVz
dGluZy9Nb2NrV2ViQXV0aGVudGljYXRpb25Db25maWd1cmF0aW9uLmlkbAogJChQUk9KRUNUX0RJ
UikvdGVzdGluZy9TZXJ2aWNlV29ya2VySW50ZXJuYWxzLmlkbAogJChQUk9KRUNUX0RJUikvdGVz
dGluZy9UeXBlQ29udmVyc2lvbnMuaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLW91dHB1dC54Y2ZpbGVsaXN0CmluZGV4IDM4MWZiZDQ4OTVlMGVhOTdlOWRiMjFlNWQ0ZDQ3
N2Y2ZmEyMGFhYmEuLmRiNjcxMDA4OGVmMjQ1NDQ4MzAyNWUwMWU0YWE3Y2U1ZGZlYzMwNGMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CkBA
IC0xMTA1LDEwICsxMTA1LDEwIEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTSGFzaENoYW5nZUV2ZW50LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIYXNoQ2hhbmdlRXZlbnQuaAogJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIZHJNZXRhZGF0YVR5cGUuY3BwCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hkck1ldGFkYXRhVHlw
ZS5oCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hpZ2hs
aWdodFJlZ2lzdGVyLmNwcAotJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNIaWdobGlnaHRSZWdpc3Rlci5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0hpZ2hsaWdodC5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSGlnaGxpZ2h0LmgKKyQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSGlnaGxpZ2h0UmVnaXN0ZXIuY3BwCiskKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hpZ2hsaWdodFJlZ2lzdGVy
LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSGlzdG9y
eS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSGlz
dG9yeS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hr
ZGZQYXJhbXMuY3BwCkBAIC0xMzQxLDYgKzEzNDEsOCBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01vY2tQYXltZW50Q29vcmRpbmF0b3IuY3BwCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01vY2tQYXltZW50Q29v
cmRpbmF0b3IuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNNb2NrUGF5bWVudEVycm9yLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNNb2NrUGF5bWVudEVycm9yLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTW9ja1JUQ1J0cFRyYW5zZm9ybS5jcHAKKyQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTW9ja1JUQ1J0cFRyYW5zZm9y
bS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01vY2tX
ZWJBdXRoZW50aWNhdGlvbkNvbmZpZ3VyYXRpb24uY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01vY2tXZWJBdXRoZW50aWNhdGlvbkNvbmZpZ3VyYXRp
b24uaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNb3Vz
ZUV2ZW50LmNwcApAQCAtMTY5NywxMiArMTY5OSwxNiBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JUQ1J0cEhlYWRlckV4dGVuc2lvblBhcmFtZXRlcnMu
YwogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSVENSdHBI
ZWFkZXJFeHRlbnNpb25QYXJhbWV0ZXJzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTUlRDUnRwUGFyYW1ldGVycy5jcHAKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUlRDUnRwUGFyYW1ldGVycy5oCiskKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JUQ1J0cFJlY2VpdmVyK1Ry
YW5zZm9ybS5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTUlRDUnRwUmVjZWl2ZXIrVHJhbnNmb3JtLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTUlRDUnRwUmVjZWl2ZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JUQ1J0cFJlY2VpdmVyLmgKICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUlRDUnRwUnR4UGFyYW1ldGVy
cy5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUlRD
UnRwUnR4UGFyYW1ldGVycy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU1JUQ1J0cFNlbmRQYXJhbWV0ZXJzLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSVENSdHBTZW5kUGFyYW1ldGVycy5oCiskKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JUQ1J0cFNlbmRlcitUcmFu
c2Zvcm0uY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U1JUQ1J0cFNlbmRlcitUcmFuc2Zvcm0uaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNSVENSdHBTZW5kZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JUQ1J0cFNlbmRlci5oCiAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JUQ1J0cFN5bmNocm9uaXphdGlvblNvdXJj
ZS5jcHAKQEAgLTE3MTEsNiArMTcxNyw4IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTUlRDUnRwVHJhbnNjZWl2ZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JUQ1J0cFRyYW5zY2VpdmVyLmgKICQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUlRDUnRwVHJhbnNjZWl2
ZXJEaXJlY3Rpb24uY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU1JUQ1J0cFRyYW5zY2VpdmVyRGlyZWN0aW9uLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUlRDUnRwVHJhbnNmb3JtLmNwcAorJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSVENSdHBUcmFuc2Zvcm0uaAog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSVENTZHBUeXBl
LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSVENT
ZHBUeXBlLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
UlRDU2Vzc2lvbkRlc2NyaXB0aW9uLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5k
ZXggNGQwODUzMGFhNWJkOGU4NmUyMjI0NmM1M2UyYzhlZTAxNzhlMzAzZC4uOWFlNDBjMTg3OTY4
OTM4MTdiODQxNjUyN2MyNDBhZjcyM2U4ZjExNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5t
YWtlCkBAIC0yNTgsMTIgKzI1OCwxNSBAQCBKU19CSU5ESU5HX0lETFMgOj0gXAogICAgICQoV2Vi
Q29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBIZWFkZXJFeHRlbnNpb25QYXJhbWV0ZXJz
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFBhcmFtZXRl
cnMuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2
ZXIuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2
ZXIrVHJhbnNmb3JtLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q1J0cFJ0eFBhcmFtZXRlcnMuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDUnRwU2VuZFBhcmFtZXRlcnMuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVk
aWFzdHJlYW0vUlRDUnRwU2VuZGVyLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ1J0cFNlbmRlcitUcmFuc2Zvcm0uaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDUnRwU3luY2hyb25pemF0aW9uU291cmNlLmlkbCBcCiAgICAgJChX
ZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zY2VpdmVyLmlkbCBcCiAgICAg
JChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zY2VpdmVyRGlyZWN0aW9u
LmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zZm9y
bS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTZHBUeXBlLmlk
bCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlw
dGlvbi5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTZXNzaW9u
RGVzY3JpcHRpb25Jbml0LmlkbCBcCkBAIC0xMjI2LDYgKzEyMjksNyBAQCBKU19CSU5ESU5HX0lE
TFMgOj0gXAogICAgICQoV2ViQ29yZSkvdGVzdGluZy9Nb2NrUGF5bWVudENvbnRhY3RGaWVsZHMu
aWRsIFwKICAgICAkKFdlYkNvcmUpL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5pZGwg
XAogICAgICQoV2ViQ29yZSkvdGVzdGluZy9Nb2NrUGF5bWVudEVycm9yLmlkbCBcCisgICAgJChX
ZWJDb3JlKS90ZXN0aW5nL01vY2tSVENSdHBUcmFuc2Zvcm0uaWRsIFwKICAgICAkKFdlYkNvcmUp
L3Rlc3RpbmcvTW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29uZmlndXJhdGlvbi5pZGwgXAogICAgICQo
V2ViQ29yZSkvdGVzdGluZy9TZXJ2aWNlV29ya2VySW50ZXJuYWxzLmlkbCBcCiAgICAgJChXZWJD
b3JlKS90ZXN0aW5nL1R5cGVDb252ZXJzaW9ucy5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlcitUcmFuc2Zvcm0uaWRsIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlcitUcmFuc2Zv
cm0uaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYwYjJlMTFkNDdmZmJiM2E4NDNiZjQxMzk3ZTBjMDhjOTFlMjYy
NzgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ1J0cFJlY2VpdmVyK1RyYW5zZm9ybS5pZGwKQEAgLTAsMCArMSwzMyBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKK1sKKyAgICBDb25kaXRpb25hbD1XRUJfUlRDLAorICAgIEVuYWJsZWRCeVNldHRpbmc9V2Vi
UlRDSW5zZXJ0YWJsZVN0cmVhbXMsCisgICAgRXhwb3NlZD1XaW5kb3csCisgICAgSW1wbGVtZW50
ZWRCeT1SVENSdHBSZWNlaXZlcldpdGhUcmFuc2Zvcm0sCitdIHBhcnRpYWwgaW50ZXJmYWNlIFJU
Q1J0cFJlY2VpdmVyIHsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIGF0dHJpYnV0ZSBSVENSdHBU
cmFuc2Zvcm0/IHRyYW5zZm9ybTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIuY3BwCmluZGV4IDQyYzRjMDc4NDA5ZTMyZGFk
MWU0MjRlYWEwYjJiN2I1ZjM1NGYyYjQuLjBiZmNjOTY2M2MyZjA2ZDRlOTBjMDk0ODhkZjI1MmUx
ZmQyYjNjMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
UlRDUnRwUmVjZWl2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDUnRwUmVjZWl2ZXIuY3BwCkBAIC00OSwxMSArNDksMjAgQEAgUlRDUnRwUmVjZWl2ZXI6
OlJUQ1J0cFJlY2VpdmVyKFBlZXJDb25uZWN0aW9uQmFja2VuZCYgY29ubmVjdGlvbiwgUmVmPE1l
ZGlhU3RyZWEKIHsKIH0KIAorUlRDUnRwUmVjZWl2ZXI6On5SVENSdHBSZWNlaXZlcigpCit7Cisg
ICAgaWYgKG1fdHJhbnNmb3JtKQorICAgICAgICBtX3RyYW5zZm9ybS0+ZGV0YWNoRnJvbVJlY2Vp
dmVyKCp0aGlzKTsKK30KKwogdm9pZCBSVENSdHBSZWNlaXZlcjo6c3RvcCgpCiB7CiAgICAgaWYg
KCFtX2JhY2tlbmQpCiAgICAgICAgIHJldHVybjsKIAorICAgIGlmIChtX3RyYW5zZm9ybSkKKyAg
ICAgICAgbV90cmFuc2Zvcm0tPmRldGFjaEZyb21SZWNlaXZlcigqdGhpcyk7CisKICAgICBtX2Jh
Y2tlbmQgPSBudWxscHRyOwogICAgIG1fdHJhY2stPnN0b3BUcmFjayhNZWRpYVN0cmVhbVRyYWNr
OjpTdG9wTW9kZTo6UG9zdEV2ZW50KTsKIH0KQEAgLTcyLDYgKzgxLDIwIEBAIE9wdGlvbmFsPFJU
Q1J0cENhcGFiaWxpdGllcz4gUlRDUnRwUmVjZWl2ZXI6OmdldENhcGFiaWxpdGllcyhTY3JpcHRF
eGVjdXRpb25Db250CiAgICAgcmV0dXJuIFBlZXJDb25uZWN0aW9uQmFja2VuZDo6cmVjZWl2ZXJD
YXBhYmlsaXRpZXMoY29udGV4dCwga2luZCk7CiB9CiAKK0V4Y2VwdGlvbk9yPHZvaWQ+IFJUQ1J0
cFJlY2VpdmVyOjpzZXRUcmFuc2Zvcm0oUmVmUHRyPFJUQ1J0cFRyYW5zZm9ybT4mJiB0cmFuc2Zv
cm0pCit7CisgICAgaWYgKHRyYW5zZm9ybSAmJiB0cmFuc2Zvcm0tPmlzQXR0YWNoZWQoKSkKKyAg
ICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVycm9yLCAidHJhbnNmb3JtIGlz
IGFscmVhZHkgaW4gdXNlIl9zIH07CisKKyAgICBpZiAobV90cmFuc2Zvcm0pCisgICAgICAgIG1f
dHJhbnNmb3JtLT5kZXRhY2hGcm9tUmVjZWl2ZXIoKnRoaXMpOworICAgIG1fdHJhbnNmb3JtID0g
V1RGTW92ZSh0cmFuc2Zvcm0pOworICAgIGlmIChtX3RyYW5zZm9ybSkKKyAgICAgICAgbV90cmFu
c2Zvcm0tPmF0dGFjaFRvUmVjZWl2ZXIoKnRoaXMpOworCisgICAgcmV0dXJuIHsgfTsKK30KKwog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKFdFQl9SVEMpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVyLmgK
aW5kZXggM2NjYThiMmI5NjcxOGFlNDc2ZDgzOTQzMjYxMjBjOTc5OTA3OTM1MS4uOGNiMWE0M2Qy
YmQwNDQ2MjRjMjg3Y2E2YWY3MWM3ZGY4NzhkMjJiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIuaApAQCAtMzUsNiArMzUsNyBA
QAogI2luY2x1ZGUgIk1lZGlhU3RyZWFtVHJhY2suaCIKICNpbmNsdWRlICJSVENSdHBSZWNlaXZl
ckJhY2tlbmQuaCIKICNpbmNsdWRlICJSVENSdHBTeW5jaHJvbml6YXRpb25Tb3VyY2UuaCIKKyNp
bmNsdWRlICJSVENSdHBUcmFuc2Zvcm0uaCIKICNpbmNsdWRlICJTY3JpcHRXcmFwcGFibGUuaCIK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNTAsNiArNTEsNyBAQCBwdWJsaWM6CiAgICAgewog
ICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBSVENSdHBSZWNlaXZlcihjb25uZWN0aW9uLCBX
VEZNb3ZlKHRyYWNrKSwgV1RGTW92ZShiYWNrZW5kKSkpOwogICAgIH0KKyAgICB+UlRDUnRwUmVj
ZWl2ZXIoKTsKIAogICAgIHN0YXRpYyBPcHRpb25hbDxSVENSdHBDYXBhYmlsaXRpZXM+IGdldENh
cGFiaWxpdGllcyhTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgY29uc3QgU3RyaW5nJiBraW5kKTsK
IApAQCAtNjUsMTIgKzY3LDE2IEBAIHB1YmxpYzoKICAgICBSVENSdHBSZWNlaXZlckJhY2tlbmQq
IGJhY2tlbmQoKSB7IHJldHVybiBtX2JhY2tlbmQuZ2V0KCk7IH0KICAgICB2b2lkIGdldFN0YXRz
KFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOwogCisgICAgUlRDUnRwVHJhbnNmb3JtKiB0cmFuc2Zv
cm0oKSB7IHJldHVybiBtX3RyYW5zZm9ybS5nZXQoKTsgfQorICAgIEV4Y2VwdGlvbk9yPHZvaWQ+
IHNldFRyYW5zZm9ybShSZWZQdHI8UlRDUnRwVHJhbnNmb3JtPiYmKTsKKwogcHJpdmF0ZToKICAg
ICBSVENSdHBSZWNlaXZlcihQZWVyQ29ubmVjdGlvbkJhY2tlbmQmLCBSZWY8TWVkaWFTdHJlYW1U
cmFjaz4mJiwgc3RkOjp1bmlxdWVfcHRyPFJUQ1J0cFJlY2VpdmVyQmFja2VuZD4mJik7CiAKICAg
ICBSZWY8TWVkaWFTdHJlYW1UcmFjaz4gbV90cmFjazsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UlRD
UnRwUmVjZWl2ZXJCYWNrZW5kPiBtX2JhY2tlbmQ7CiAgICAgV2Vha1B0cjxQZWVyQ29ubmVjdGlv
bkJhY2tlbmQ+IG1fY29ubmVjdGlvbjsKKyAgICBSZWZQdHI8UlRDUnRwVHJhbnNmb3JtPiBtX3Ry
YW5zZm9ybTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXJCYWNrZW5kLmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVyQmFja2VuZC5o
CmluZGV4IDc4MmRkNjdkNTUxNmM4ZDZlN2I0MTk1NGJjYmI5MGJiYTc0NzI2OTMuLjYxOTZhNmE1
MDY4OTU4YTkyOTFiMzY0MjNlZjBiY2VhNjI0NDBkM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXJCYWNrZW5kLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlckJhY2tlbmQuaApA
QCAtMzEsMTIgKzMxLDE1IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgUlRDUnRw
VHJhbnNmb3JtQmFja2VuZDsKKwogY2xhc3MgUlRDUnRwUmVjZWl2ZXJCYWNrZW5kIHsKIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIH5SVENSdHBSZWNlaXZlckJhY2tlbmQoKSA9IGRlZmF1bHQ7CiAgICAg
dmlydHVhbCBSVENSdHBQYXJhbWV0ZXJzIGdldFBhcmFtZXRlcnMoKSB7IHJldHVybiB7IH07IH0K
ICAgICB2aXJ0dWFsIFZlY3RvcjxSVENSdHBDb250cmlidXRpbmdTb3VyY2U+IGdldENvbnRyaWJ1
dGluZ1NvdXJjZXMoKSBjb25zdCB7IHJldHVybiB7IH07IH0KICAgICB2aXJ0dWFsIFZlY3RvcjxS
VENSdHBTeW5jaHJvbml6YXRpb25Tb3VyY2U+IGdldFN5bmNocm9uaXphdGlvblNvdXJjZXMoKSBj
b25zdCB7IHJldHVybiB7IH07IH0KKyAgICB2aXJ0dWFsIFJlZjxSVENSdHBUcmFuc2Zvcm1CYWNr
ZW5kPiBjcmVhdGVSVENSdHBUcmFuc2Zvcm1CYWNrZW5kKCkgPSAwOwogfTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENSdHBSZWNlaXZlcldpdGhUcmFuc2Zvcm0uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXJXaXRoVHJhbnNmb3JtLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NGViOWI4NDc5MTEzZGEyMTc5NWM4NzA3ZWJkZGU0Y2E2ZWEyYjRjZgotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXJXaXRo
VHJhbnNmb3JtLmgKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFdFQl9SVEMpCisK
KyNpbmNsdWRlICJSVENSdHBSZWNlaXZlci5oIgorI2luY2x1ZGUgIlJUQ1J0cFRyYW5zZm9ybS5o
IgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFJUQ1J0cFRyYW5zZm9ybTsKKworY2xh
c3MgUlRDUnRwUmVjZWl2ZXJXaXRoVHJhbnNmb3JtIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUlRD
UnRwVHJhbnNmb3JtKiB0cmFuc2Zvcm0oUlRDUnRwUmVjZWl2ZXImIHJlY2VpdmVyKSB7IHJldHVy
biByZWNlaXZlci50cmFuc2Zvcm0oKTsgfQorICAgIHN0YXRpYyBFeGNlcHRpb25Pcjx2b2lkPiBz
ZXRUcmFuc2Zvcm0oUlRDUnRwUmVjZWl2ZXImIHJlY2VpdmVyLCBSZWZQdHI8UlRDUnRwVHJhbnNm
b3JtPiYmIHRyYW5zZm9ybSkgeyByZXR1cm4gcmVjZWl2ZXIuc2V0VHJhbnNmb3JtKFdURk1vdmUo
dHJhbnNmb3JtKSk7IH0KK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8v
IEVOQUJMRShXRUJfUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENSdHBTZW5kZXIrVHJhbnNmb3JtLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyK1RyYW5zZm9ybS5pZGwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzM4
YTdlMzA3ZDYyNGMxMzRmNzgwY2NiNzEwYzhjNjgyNGRjMGRkYQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyK1RyYW5zZm9y
bS5pZGwKQEAgLTAsMCArMSwzMyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBDb25kaXRpb25hbD1X
RUJfUlRDLAorICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViUlRDSW5zZXJ0YWJsZVN0cmVhbXMsCisg
ICAgRXhwb3NlZD1XaW5kb3csCisgICAgSW1wbGVtZW50ZWRCeT1SVENSdHBTZW5kZXJXaXRoVHJh
bnNmb3JtLAorXSBwYXJ0aWFsIGludGVyZmFjZSBSVENSdHBTZW5kZXIgeworICAgIFtNYXlUaHJv
d0V4Y2VwdGlvbl0gYXR0cmlidXRlIFJUQ1J0cFRyYW5zZm9ybT8gdHJhbnNmb3JtOworfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyLmNw
cAppbmRleCBmZjE3MDNiOTJiMGQ5MGFhOTc4NzY3MjI2N2Y0OGUyN2E0Yjc2NGQ0Li5jN2FjM2M0
OWJkOWQ3OTZiMjQ4NzVmOWQ5MjMwNmQzZTkzYTc1NDNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIuY3BwCkBAIC02Niw3ICs2Niwx
MSBAQCBSVENSdHBTZW5kZXI6OlJUQ1J0cFNlbmRlcihSVENQZWVyQ29ubmVjdGlvbiYgY29ubmVj
dGlvbiwgU3RyaW5nJiYgdHJhY2tLaW5kLCBWZQogICAgIEFTU0VSVChtX2JhY2tlbmQpOwogfQog
Ci1SVENSdHBTZW5kZXI6On5SVENSdHBTZW5kZXIoKSA9IGRlZmF1bHQ7CitSVENSdHBTZW5kZXI6
On5SVENSdHBTZW5kZXIoKQoreworICAgIGlmIChtX3RyYW5zZm9ybSkKKyAgICAgICAgbV90cmFu
c2Zvcm0tPmRldGFjaEZyb21TZW5kZXIoKnRoaXMpOworfQogCiB2b2lkIFJUQ1J0cFNlbmRlcjo6
c2V0VHJhY2tUb051bGwoKQogewpAQCAtNzcsNiArODEsOSBAQCB2b2lkIFJUQ1J0cFNlbmRlcjo6
c2V0VHJhY2tUb051bGwoKQogCiB2b2lkIFJUQ1J0cFNlbmRlcjo6c3RvcCgpCiB7CisgICAgaWYg
KG1fdHJhbnNmb3JtKQorICAgICAgICBtX3RyYW5zZm9ybS0+ZGV0YWNoRnJvbVNlbmRlcigqdGhp
cyk7CisKICAgICBtX3RyYWNrSWQgPSB7IH07CiAgICAgbV90cmFjayA9IG51bGxwdHI7CiAgICAg
bV9iYWNrZW5kID0gbnVsbHB0cjsKQEAgLTE4Niw2ICsxOTMsMjAgQEAgT3B0aW9uYWw8UlRDUnRw
VHJhbnNjZWl2ZXJEaXJlY3Rpb24+IFJUQ1J0cFNlbmRlcjo6Y3VycmVudFRyYW5zY2VpdmVyRGly
ZWN0aW9uKCkKICAgICByZXR1cm4gc2VuZGVyVHJhbnNjZWl2ZXItPmN1cnJlbnREaXJlY3Rpb24o
KTsKIH0KIAorRXhjZXB0aW9uT3I8dm9pZD4gUlRDUnRwU2VuZGVyOjpzZXRUcmFuc2Zvcm0oUmVm
UHRyPFJUQ1J0cFRyYW5zZm9ybT4mJiB0cmFuc2Zvcm0pCit7CisgICAgaWYgKHRyYW5zZm9ybSAm
JiB0cmFuc2Zvcm0tPmlzQXR0YWNoZWQoKSkKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IElu
dmFsaWRTdGF0ZUVycm9yLCAidHJhbnNmb3JtIGlzIGFscmVhZHkgaW4gdXNlIl9zIH07CisKKyAg
ICBpZiAobV90cmFuc2Zvcm0pCisgICAgICAgIG1fdHJhbnNmb3JtLT5kZXRhY2hGcm9tU2VuZGVy
KCp0aGlzKTsKKyAgICBtX3RyYW5zZm9ybSA9IFdURk1vdmUodHJhbnNmb3JtKTsKKyAgICBpZiAo
bV90cmFuc2Zvcm0pCisgICAgICAgIG1fdHJhbnNmb3JtLT5hdHRhY2hUb1NlbmRlcigqdGhpcyk7
CisKKyAgICByZXR1cm4geyB9OworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRp
ZiAvLyBFTkFCTEUoV0VCX1JUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ1J0cFNlbmRlci5oCmluZGV4IDI4ZGYwZmViYWUxMzlkNGY4ZDRhN2M5YmJmY2Ix
MWIxMzk5NjA0YmQuLjcwYWQ5NTkyNzBiYjJhMjlhZTM0OTNiMWQxZWI4MDk0YTliNTA1YjUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIu
aApAQCAtMzYsNiArMzYsNyBAQAogI2luY2x1ZGUgIk1lZGlhU3RyZWFtVHJhY2suaCIKICNpbmNs
dWRlICJSVENSdHBTZW5kZXJCYWNrZW5kLmgiCiAjaW5jbHVkZSAiUlRDUnRwVHJhbnNjZWl2ZXJE
aXJlY3Rpb24uaCIKKyNpbmNsdWRlICJSVENSdHBUcmFuc2Zvcm0uaCIKICNpbmNsdWRlICJTY3Jp
cHRXcmFwcGFibGUuaCIKICNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgogCkBAIC04MSw2ICs4Miw5
IEBAIHB1YmxpYzoKICAgICBSVENEVE1GU2VuZGVyKiBkdG1mKCk7CiAgICAgT3B0aW9uYWw8UlRD
UnRwVHJhbnNjZWl2ZXJEaXJlY3Rpb24+IGN1cnJlbnRUcmFuc2NlaXZlckRpcmVjdGlvbigpIGNv
bnN0OwogCisgICAgUlRDUnRwVHJhbnNmb3JtKiB0cmFuc2Zvcm0oKSB7IHJldHVybiBtX3RyYW5z
Zm9ybS5nZXQoKTsgfQorICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFRyYW5zZm9ybShSZWZQdHI8
UlRDUnRwVHJhbnNmb3JtPiYmKTsKKwogcHJpdmF0ZToKICAgICBSVENSdHBTZW5kZXIoUlRDUGVl
ckNvbm5lY3Rpb24mLCBTdHJpbmcmJiB0cmFja0tpbmQsIFZlY3RvcjxTdHJpbmc+JiYgbWVkaWFT
dHJlYW1JZHMsIHN0ZDo6dW5pcXVlX3B0cjxSVENSdHBTZW5kZXJCYWNrZW5kPiYmKTsKIApAQCAt
OTEsNiArOTUsNyBAQCBwcml2YXRlOgogICAgIHN0ZDo6dW5pcXVlX3B0cjxSVENSdHBTZW5kZXJC
YWNrZW5kPiBtX2JhY2tlbmQ7CiAgICAgV2Vha1B0cjxSVENQZWVyQ29ubmVjdGlvbj4gbV9jb25u
ZWN0aW9uOwogICAgIFJlZlB0cjxSVENEVE1GU2VuZGVyPiBtX2R0bWZTZW5kZXI7CisgICAgUmVm
UHRyPFJUQ1J0cFRyYW5zZm9ybT4gbV90cmFuc2Zvcm07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q1J0cFNlbmRlckJhY2tlbmQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
UlRDUnRwU2VuZGVyQmFja2VuZC5oCmluZGV4IDFjMThlNTAxMjhiMjRlYzFiYjBmNDZjYzZiYjBm
ZWEwMDY4NDdkZGEuLjMwODk3YzI0ZWE3ZjcxZGQ0MDYyYjIwZWMyYjUzOGZjYmExYzgwYjYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVy
QmFja2VuZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRw
U2VuZGVyQmFja2VuZC5oCkBAIC0zMSw2ICszMSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNs
YXNzIE1lZGlhU3RyZWFtVHJhY2s7CiBjbGFzcyBSVENEVE1GU2VuZGVyQmFja2VuZDsKIGNsYXNz
IFJUQ1J0cFNlbmRlcjsKK2NsYXNzIFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ7CiBjbGFzcyBTY3Jp
cHRFeGVjdXRpb25Db250ZXh0OwogCiBzdHJ1Y3QgUlRDUnRwU2VuZFBhcmFtZXRlcnM7CkBAIC0z
OSwxMSArNDAsMTMgQEAgdGVtcGxhdGU8dHlwZW5hbWUgSURMVHlwZT4gY2xhc3MgRE9NUHJvbWlz
ZURlZmVycmVkOwogCiBjbGFzcyBSVENSdHBTZW5kZXJCYWNrZW5kIHsKIHB1YmxpYzoKKyAgICB2
aXJ0dWFsIH5SVENSdHBTZW5kZXJCYWNrZW5kKCkgPSBkZWZhdWx0OworCiAgICAgdmlydHVhbCBi
b29sIHJlcGxhY2VUcmFjayhSVENSdHBTZW5kZXImLCBNZWRpYVN0cmVhbVRyYWNrKikgPSAwOwog
ICAgIHZpcnR1YWwgUlRDUnRwU2VuZFBhcmFtZXRlcnMgZ2V0UGFyYW1ldGVycygpIGNvbnN0ID0g
MDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0UGFyYW1ldGVycyhjb25zdCBSVENSdHBTZW5kUGFyYW1l
dGVycyYsIERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYmKSA9IDA7CiAgICAgdmlydHVhbCBzdGQ6
OnVuaXF1ZV9wdHI8UlRDRFRNRlNlbmRlckJhY2tlbmQ+IGNyZWF0ZURUTUZCYWNrZW5kKCkgPSAw
OwotICAgIHZpcnR1YWwgflJUQ1J0cFNlbmRlckJhY2tlbmQoKSA9IGRlZmF1bHQ7CisgICAgdmly
dHVhbCBSZWY8UlRDUnRwVHJhbnNmb3JtQmFja2VuZD4gY3JlYXRlUlRDUnRwVHJhbnNmb3JtQmFj
a2VuZCgpID0gMDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyV2l0aFRyYW5zZm9y
bS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXJXaXRo
VHJhbnNmb3JtLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODcxNDM4ZWU2NjViMjZmODBlMTUxYzE5NWVjODc2Y2Nl
YWFhOTMwZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vUlRDUnRwU2VuZGVyV2l0aFRyYW5zZm9ybS5oCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI3ByYWdtYSBvbmNlCisK
KyNpZiBFTkFCTEUoV0VCX1JUQykKKworI2luY2x1ZGUgIlJUQ1J0cFNlbmRlci5oIgorI2luY2x1
ZGUgIlJUQ1J0cFRyYW5zZm9ybS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFJU
Q1J0cFRyYW5zZm9ybTsKKworY2xhc3MgUlRDUnRwU2VuZGVyV2l0aFRyYW5zZm9ybSB7CitwdWJs
aWM6CisgICAgc3RhdGljIFJUQ1J0cFRyYW5zZm9ybSogdHJhbnNmb3JtKFJUQ1J0cFNlbmRlciYg
c2VuZGVyKSB7IHJldHVybiBzZW5kZXIudHJhbnNmb3JtKCk7IH0KKyAgICBzdGF0aWMgRXhjZXB0
aW9uT3I8dm9pZD4gc2V0VHJhbnNmb3JtKFJUQ1J0cFNlbmRlciYgc2VuZGVyLCBSZWZQdHI8UlRD
UnRwVHJhbnNmb3JtPiYmIHRyYW5zZm9ybSkgeyByZXR1cm4gc2VuZGVyLnNldFRyYW5zZm9ybShX
VEZNb3ZlKHRyYW5zZm9ybSkpOyB9Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNl
bmRpZiAvLyBFTkFCTEUoV0VCX1JUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNmb3JtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNmb3JtLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zYmY1ZTVlNWMy
ZGY3MGY5NjMwM2RmOTQ5NGZjNWIzMTVjNjkzYjFkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBUcmFuc2Zvcm0uY3BwCkBAIC0wLDAg
KzEsODAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlJUQ1J0cFRyYW5zZm9ybS5oIgorCisjaWYg
RU5BQkxFKFdFQl9SVEMpCisKKyNpbmNsdWRlICJSVENSdHBSZWNlaXZlci5oIgorI2luY2x1ZGUg
IlJUQ1J0cFNlbmRlci5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1JUQ1J0cFRyYW5zZm9y
bTo6flJUQ1J0cFRyYW5zZm9ybSgpCit7CisgICAgaWYgKG1fYmFja2VuZCkKKyAgICAgICAgd2ls
bENsZWFyQmFja2VuZCgqbV9iYWNrZW5kKTsKK30KKwordm9pZCBSVENSdHBUcmFuc2Zvcm06OmF0
dGFjaFRvUmVjZWl2ZXIoUlRDUnRwUmVjZWl2ZXImIHJlY2VpdmVyKQoreworICAgIEFTU0VSVCgh
aXNBdHRhY2hlZCgpKTsKKyAgICBpZiAoYXV0byogYmFja2VuZCA9IHJlY2VpdmVyLmJhY2tlbmQo
KSkKKyAgICAgICAgbV9iYWNrZW5kID0gYmFja2VuZC0+Y3JlYXRlUlRDUnRwVHJhbnNmb3JtQmFj
a2VuZCgpOworICAgIGlmIChtX2JhY2tlbmQpCisgICAgICAgIGluaXRpYWxpemVCYWNrZW5kRm9y
UmVjZWl2ZXIoKm1fYmFja2VuZCk7Cit9CisKK3ZvaWQgUlRDUnRwVHJhbnNmb3JtOjphdHRhY2hU
b1NlbmRlcihSVENSdHBTZW5kZXImIHNlbmRlcikKK3sKKyAgICBBU1NFUlQoIWlzQXR0YWNoZWQo
KSk7CisgICAgaWYgKGF1dG8qIGJhY2tlbmQgPSBzZW5kZXIuYmFja2VuZCgpKQorICAgICAgICBt
X2JhY2tlbmQgPSBiYWNrZW5kLT5jcmVhdGVSVENSdHBUcmFuc2Zvcm1CYWNrZW5kKCk7CisgICAg
aWYgKG1fYmFja2VuZCkKKyAgICAgICAgaW5pdGlhbGl6ZUJhY2tlbmRGb3JTZW5kZXIoKm1fYmFj
a2VuZCk7Cit9CisKK3ZvaWQgUlRDUnRwVHJhbnNmb3JtOjpkZXRhY2hGcm9tUmVjZWl2ZXIoUlRD
UnRwUmVjZWl2ZXImKQoreworICAgIGlmICghbV9iYWNrZW5kKQorICAgICAgICByZXR1cm47CisK
KyAgICB3aWxsQ2xlYXJCYWNrZW5kKCptX2JhY2tlbmQpOworICAgIG1fYmFja2VuZCA9IG51bGxw
dHI7Cit9CisKK3ZvaWQgUlRDUnRwVHJhbnNmb3JtOjpkZXRhY2hGcm9tU2VuZGVyKFJUQ1J0cFNl
bmRlciYpCit7CisgICAgaWYgKCFtX2JhY2tlbmQpCisgICAgICAgIHJldHVybjsKKworICAgIHdp
bGxDbGVhckJhY2tlbmQoKm1fYmFja2VuZCk7CisgICAgbV9iYWNrZW5kID0gbnVsbHB0cjsKK30K
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFdFQl9SVEMpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5z
Zm9ybS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBUcmFuc2Zv
cm0uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4zZDM3YjY4ZThlZGIzZmE3YmNjOWRlMzA1NDk5N2QxNGZlZGQzYjRi
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENSdHBUcmFuc2Zvcm0uaApAQCAtMCwwICsxLDc2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFdFQl9S
VEMpCisKKyNpbmNsdWRlICJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmgiCisjaW5jbHVkZSA8d3Rm
L1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBSVENSdHBSZWNl
aXZlcjsKK2NsYXNzIFJUQ1J0cFNlbmRlcjsKKworY2xhc3MgV0VCQ09SRV9FWFBPUlQgUlRDUnRw
VHJhbnNmb3JtIDogcHVibGljIFJlZkNvdW50ZWQ8UlRDUnRwVHJhbnNmb3JtPiB7CitwdWJsaWM6
CisgICAgdmlydHVhbCB+UlRDUnRwVHJhbnNmb3JtKCk7CisKKyAgICBib29sIGlzQXR0YWNoZWQo
KSBjb25zdDsKKyAgICB2b2lkIGF0dGFjaFRvUmVjZWl2ZXIoUlRDUnRwUmVjZWl2ZXImKTsKKyAg
ICB2b2lkIGF0dGFjaFRvU2VuZGVyKFJUQ1J0cFNlbmRlciYpOworICAgIHZvaWQgZGV0YWNoRnJv
bVJlY2VpdmVyKFJUQ1J0cFJlY2VpdmVyJik7CisgICAgdm9pZCBkZXRhY2hGcm9tU2VuZGVyKFJU
Q1J0cFNlbmRlciYpOworCitwcml2YXRlOgorICAgIHZpcnR1YWwgdm9pZCBpbml0aWFsaXplQmFj
a2VuZEZvclNlbmRlcihSVENSdHBUcmFuc2Zvcm1CYWNrZW5kJik7CisgICAgdmlydHVhbCB2b2lk
IGluaXRpYWxpemVCYWNrZW5kRm9yUmVjZWl2ZXIoUlRDUnRwVHJhbnNmb3JtQmFja2VuZCYpOwor
ICAgIHZpcnR1YWwgdm9pZCB3aWxsQ2xlYXJCYWNrZW5kKFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQm
KTsKKworcHJvdGVjdGVkOgorICAgIFJlZlB0cjxSVENSdHBUcmFuc2Zvcm1CYWNrZW5kPiBtX2Jh
Y2tlbmQ7Cit9OworCitpbmxpbmUgYm9vbCBSVENSdHBUcmFuc2Zvcm06OmlzQXR0YWNoZWQoKSBj
b25zdAoreworICAgIHJldHVybiAhIW1fYmFja2VuZDsKK30KKworaW5saW5lIHZvaWQgUlRDUnRw
VHJhbnNmb3JtOjppbml0aWFsaXplQmFja2VuZEZvclNlbmRlcihSVENSdHBUcmFuc2Zvcm1CYWNr
ZW5kJikKK3sKK30KKworaW5saW5lIHZvaWQgUlRDUnRwVHJhbnNmb3JtOjppbml0aWFsaXplQmFj
a2VuZEZvclJlY2VpdmVyKFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQmKQoreworfQorCitpbmxpbmUg
dm9pZCBSVENSdHBUcmFuc2Zvcm06OndpbGxDbGVhckJhY2tlbmQoUlRDUnRwVHJhbnNmb3JtQmFj
a2VuZCYpCit7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJM
RShXRUJfUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENSdHBUcmFuc2Zvcm0uaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENSdHBUcmFuc2Zvcm0uaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNlNmUzMjgxMmJjNDNmZjFlM2Y1ZmFi
MTA1MTY2NmU0ZWM0MzM1YTYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zZm9ybS5pZGwKQEAgLTAsMCArMSwzNSBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBg
QVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBDb25kaXRp
b25hbD1XRUJfUlRDLAorICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViUlRDSW5zZXJ0YWJsZVN0cmVh
bXMsCisgICAgRXhwb3J0TWFjcm89V0VCQ09SRV9FWFBPUlQsCisgICAgRXhwb3NlZD1XaW5kb3cK
K10gaW50ZXJmYWNlIFJUQ1J0cFRyYW5zZm9ybSB7CisgICAgLy8gRklYTUU6IEFkZCByZWFkYWJs
ZS93cml0YWJsZSBnZXR0ZXJzCisgICAgLy8gcmVhZG9ubHkgYXR0cmlidXRlIFJlYWRhYmxlU3Ry
ZWFtIHJlYWRhYmxlOworICAgIC8vIHJlYWRvbmx5IGF0dHJpYnV0ZSBXcml0YWJsZVN0cmVhbSB3
cml0YWJsZTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL1JUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vUlRDUnRwVHJhbnNmb3JtQmFja2VuZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQxMjE0OTIyMDFh
ZTY0NjM1Yjg4MjkzNTQ1NWU1YjhmMzczYmJjYTkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuaApAQCAt
MCwwICsxLDUzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFdFQl9SVEMpCisKKyNpbmNsdWRlIDx3
dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFz
cyBSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWU7CisKK2NsYXNzIFJUQ1J0cFRyYW5zZm9ybUJhY2tl
bmQgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8UlRDUnRwVHJhbnNmb3JtQmFja2VuZCwg
V1RGOjpEZXN0cnVjdGlvblRocmVhZDo6TWFpbj4geworcHVibGljOgorICAgIHZpcnR1YWwgflJU
Q1J0cFRyYW5zZm9ybUJhY2tlbmQoKSA9IGRlZmF1bHQ7CisKKyAgICB1c2luZyBDYWxsYmFjayA9
IEZ1bmN0aW9uPHZvaWQoUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lJiYpPjsKKyAgICB2aXJ0dWFs
IHZvaWQgc2V0VHJhbnNmb3JtYWJsZUZyYW1lQ2FsbGJhY2soQ2FsbGJhY2smJikgPSAwOworICAg
IHZpcnR1YWwgdm9pZCBjbGVhclRyYW5zZm9ybWFibGVGcmFtZUNhbGxiYWNrKCkgPSAwOworICAg
IHZpcnR1YWwgdm9pZCBwcm9jZXNzVHJhbnNmb3JtZWRGcmFtZShSVENSdHBUcmFuc2Zvcm1hYmxl
RnJhbWUmJikgPSAwOworCisgICAgZW51bSBjbGFzcyBNZWRpYVR5cGUgeyBBdWRpbywgVmlkZW8g
fTsKKyAgICB2aXJ0dWFsIE1lZGlhVHlwZSBtZWRpYVR5cGUoKSBjb25zdCA9IDA7CisKKyAgICBl
bnVtIGNsYXNzIFNpZGUgeyBTZW5kZXIsIFJlY2VpdmVyIH07CisgICAgdmlydHVhbCBTaWRlIHNp
ZGUoKSBjb25zdCA9IDA7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAv
LyBFTkFCTEUoV0VCX1JUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZS5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU3
MjYzNjAwN2VmYzI3NmMzOTU4YzJlNzJjMzlhMjEzYzlhZjk5OTAKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zZm9ybWFibGVG
cmFtZS5oCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUg
SW5jLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkK
KyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCX1JUQykKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUgewor
cHVibGljOgorICAgIHZpcnR1YWwgflJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZSgpID0gZGVmYXVs
dDsKKworICAgIHN0cnVjdCBEYXRhIHsKKyAgICAgICAgY29uc3QgdWludDhfdCogZGF0YTsKKyAg
ICAgICAgc2l6ZV90IHNpemU7CisgICAgfTsKKyAgICB2aXJ0dWFsIERhdGEgZGF0YSgpIGNvbnN0
ID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0RGF0YShEYXRhKSA9IDA7Cit9OworCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX1JUQykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0
cFJlY2VpdmVyQmFja2VuZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBSZWNlaXZlckJhY2tlbmQuY3BwCmluZGV4IDFkMzE2YWFm
YjdmY2FkMzNlNDFjNTE2ZTUzYjA2OTg1OTg1NmNhZTAuLjlhODhkMWNkYzBlYmIwZGM3OWIwNGNi
NTFiMDRlZjZlYTBmM2U1OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFJlY2VpdmVyQmFja2VuZC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRw
UmVjZWl2ZXJCYWNrZW5kLmNwcApAQCAtMjUsNyArMjUsOSBAQAogI2luY2x1ZGUgImNvbmZpZy5o
IgogI2luY2x1ZGUgIkxpYldlYlJUQ1J0cFJlY2VpdmVyQmFja2VuZC5oIgogCisjaW5jbHVkZSAi
TGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kLmgiCiAjaW5jbHVkZSAiTGliV2Vi
UlRDVXRpbHMuaCIKKyNpbmNsdWRlICJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmgiCiAjaW5jbHVk
ZSAiUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlLmgiCiAjaW5jbHVkZSAiUmVhbHRpbWVJbmNv
bWluZ1ZpZGVvU291cmNlLmgiCiAKQEAgLTExNCw2ICsxMTYsMTAgQEAgUmVmPFJlYWx0aW1lTWVk
aWFTb3VyY2U+IExpYldlYlJUQ1J0cFJlY2VpdmVyQmFja2VuZDo6Y3JlYXRlU291cmNlKCkKICAg
ICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogfQogCitSZWY8UlRDUnRwVHJhbnNmb3Jt
QmFja2VuZD4gTGliV2ViUlRDUnRwUmVjZWl2ZXJCYWNrZW5kOjpjcmVhdGVSVENSdHBUcmFuc2Zv
cm1CYWNrZW5kKCkKK3sKKyAgICByZXR1cm4gTGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1C
YWNrZW5kOjpjcmVhdGUobV9ydGNSZWNlaXZlcik7Cit9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3
ZWJydGMvTGliV2ViUlRDUnRwUmVjZWl2ZXJCYWNrZW5kLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBSZWNlaXZlckJhY2tlbmQuaApp
bmRleCBkMDI4Nzk4YjBlNjljMTcxNDZiY2UxOGI3ZDliMDg0ZmUyNjllZTE4Li5iNDZjZDJhNjk4
NGRlZDlkMTE5NDc1NTVkMjA1MTg3N2MxMDU4NzQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBSZWNlaXZlckJhY2tl
bmQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9M
aWJXZWJSVENSdHBSZWNlaXZlckJhY2tlbmQuaApAQCAtNTIsNiArNTIsNyBAQCBwcml2YXRlOgog
ICAgIFJUQ1J0cFBhcmFtZXRlcnMgZ2V0UGFyYW1ldGVycygpIGZpbmFsOwogICAgIFZlY3RvcjxS
VENSdHBDb250cmlidXRpbmdTb3VyY2U+IGdldENvbnRyaWJ1dGluZ1NvdXJjZXMoKSBjb25zdCBm
aW5hbDsKICAgICBWZWN0b3I8UlRDUnRwU3luY2hyb25pemF0aW9uU291cmNlPiBnZXRTeW5jaHJv
bml6YXRpb25Tb3VyY2VzKCkgY29uc3QgZmluYWw7CisgICAgUmVmPFJUQ1J0cFRyYW5zZm9ybUJh
Y2tlbmQ+IGNyZWF0ZVJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQoKSBmaW5hbDsKIAogICAgIHJ0Yzo6
c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlJ0cFJlY2VpdmVySW50ZXJmYWNlPiBtX3J0Y1JlY2VpdmVy
OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGli
d2VicnRjL0xpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBSZWNlaXZl
clRyYW5zZm9ybUJhY2tlbmQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkxZTU5NDE5YWI3MWYwOWVkMDc2NWFl
MTQ1YWNiMmJhMTVkM2RjNTEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJh
Y2tlbmQuY3BwCkBAIC0wLDAgKzEsNTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBw
bGUgSW5jLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkxpYldl
YlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZC5oIgorCisjaWYgRU5BQkxFKFdFQl9SVEMp
ICYmIFVTRShMSUJXRUJSVEMpCisKKyNpbmNsdWRlICJMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxl
RnJhbWUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdGF0aWMgaW5saW5lIExpYldlYlJU
Q1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZDo6TWVkaWFUeXBlIG1lZGlhVHlwZUZyb21SZWNl
aXZlcihjb25zdCB3ZWJydGM6OlJ0cFJlY2VpdmVySW50ZXJmYWNlJiByZWNlaXZlcikKK3sKKyAg
ICByZXR1cm4gcmVjZWl2ZXIubWVkaWFfdHlwZSgpID09IGNyaWNrZXQ6Ok1FRElBX1RZUEVfQVVE
SU8gPyBSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpNZWRpYVR5cGU6OkF1ZGlvIDogUlRDUnRwVHJh
bnNmb3JtQmFja2VuZDo6TWVkaWFUeXBlOjpWaWRlbzsKK30KKworTGliV2ViUlRDUnRwUmVjZWl2
ZXJUcmFuc2Zvcm1CYWNrZW5kOjpMaWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQo
cnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6UnRwUmVjZWl2ZXJJbnRlcmZhY2U+IHJ0Y1JlY2Vp
dmVyKQorICAgIDogTGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZChtZWRpYVR5cGVGcm9tUmVj
ZWl2ZXIoKnJ0Y1JlY2VpdmVyKSwgU2lkZTo6UmVjZWl2ZXIpCisgICAgLCBtX3J0Y1JlY2VpdmVy
KFdURk1vdmUocnRjUmVjZWl2ZXIpKQoreworfQorCitMaWJXZWJSVENSdHBSZWNlaXZlclRyYW5z
Zm9ybUJhY2tlbmQ6On5MaWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQoKQorewor
fQorCit2b2lkIExpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZDo6c2V0VHJhbnNm
b3JtYWJsZUZyYW1lQ2FsbGJhY2soQ2FsbGJhY2smJiBjYWxsYmFjaykKK3sKKyAgICBzZXRJbnB1
dENhbGxiYWNrKFdURk1vdmUoY2FsbGJhY2spKTsKKyAgICBtX3J0Y1JlY2VpdmVyLT5TZXREZXBh
Y2tldGl6ZXJUb0RlY29kZXJGcmFtZVRyYW5zZm9ybWVyKHRoaXMpOworfQorCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX1JUQykgJiYgVVNFKExJQldFQlJU
QykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2Vi
cnRjL0xpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZC5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFu
c2Zvcm1CYWNrZW5kLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWFlOTdmZDAxMGQ1NGQ5YmM3YmIxYjAwMGUzZjE3
OThjNTYwM2YzYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZC5o
CkBAIC0wLDAgKzEsNjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICog
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCX1JUQykgJiYgVVNFKExJ
QldFQlJUQykKKworI2luY2x1ZGUgIkxpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuaCIKKwor
QUxMT1dfVU5VU0VEX1BBUkFNRVRFUlNfQkVHSU4KK0FMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJ
T05TX0JFR0lOCisKKyNpbmNsdWRlIDx3ZWJydGMvYXBpL3J0cF9yZWNlaXZlcl9pbnRlcmZhY2Uu
aD4KKworQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfRU5ECitBTExPV19VTlVTRURfUEFS
QU1FVEVSU19FTkQKKworbmFtZXNwYWNlIHdlYnJ0YyB7CitjbGFzcyBSdHBSZWNlaXZlckludGVy
ZmFjZTsKK30KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBMaWJXZWJSVENSdHBSZWNl
aXZlclRyYW5zZm9ybUJhY2tlbmQgZmluYWwgOiBwdWJsaWMgTGliV2ViUlRDUnRwVHJhbnNmb3Jt
QmFja2VuZCB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxMaWJXZWJSVENSdHBSZWNlaXZlclRy
YW5zZm9ybUJhY2tlbmQ+IGNyZWF0ZShydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpSdHBSZWNl
aXZlckludGVyZmFjZT4gcmVjZWl2ZXIpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTGliV2ViUlRD
UnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kKFdURk1vdmUocmVjZWl2ZXIpKSk7IH0KKyAgICB+
TGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kKCk7CisKK3ByaXZhdGU6CisgICAg
ZXhwbGljaXQgTGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kKHJ0Yzo6c2NvcGVk
X3JlZnB0cjx3ZWJydGM6OlJ0cFJlY2VpdmVySW50ZXJmYWNlPik7CisKKyAgICAvLyBSVENSdHBU
cmFuc2Zvcm1CYWNrZW5kCisgICAgdm9pZCBzZXRUcmFuc2Zvcm1hYmxlRnJhbWVDYWxsYmFjayhD
YWxsYmFjayYmKSBmaW5hbDsKKworICAgIHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlJ0cFJl
Y2VpdmVySW50ZXJmYWNlPiBtX3J0Y1JlY2VpdmVyOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFdFQl9SVEMpICYmIFVTRShMSUJXRUJSVEMpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJX
ZWJSVENSdHBTZW5kZXJCYWNrZW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFNlbmRlckJhY2tlbmQuY3BwCmluZGV4IDU5M2Rh
OTg0ZTk3OGI5ZmU3MDUxOGEzZTM5MjRlYzUyNTFlZmEyYWMuLjhlOTYxYzk3MmZiMGRlNDhkNzVh
MGM0YWU5ZjNjYmQxYTkyMmM5YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFNlbmRlckJhY2tlbmQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0
cFNlbmRlckJhY2tlbmQuY3BwCkBAIC0zMCw5ICszMCwxMSBAQAogI2luY2x1ZGUgIkpTRE9NUHJv
bWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiTGliV2ViUlRDRFRNRlNlbmRlckJhY2tlbmQuaCIK
ICNpbmNsdWRlICJMaWJXZWJSVENQZWVyQ29ubmVjdGlvbkJhY2tlbmQuaCIKKyNpbmNsdWRlICJM
aWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kLmgiCiAjaW5jbHVkZSAiTGliV2ViUlRD
VXRpbHMuaCIKICNpbmNsdWRlICJSVENQZWVyQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUgIlJUQ1J0
cFNlbmRlci5oIgorI2luY2x1ZGUgIlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuaCIKICNpbmNsdWRl
ICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTEz
Niw2ICsxMzgsMTEgQEAgc3RkOjp1bmlxdWVfcHRyPFJUQ0RUTUZTZW5kZXJCYWNrZW5kPiBMaWJX
ZWJSVENSdHBTZW5kZXJCYWNrZW5kOjpjcmVhdGVEVE1GQmFja2UKICAgICByZXR1cm4gbWFrZVVu
aXF1ZTxMaWJXZWJSVENEVE1GU2VuZGVyQmFja2VuZD4obV9ydGNTZW5kZXItPkdldER0bWZTZW5k
ZXIoKSk7CiB9CiAKK1JlZjxSVENSdHBUcmFuc2Zvcm1CYWNrZW5kPiBMaWJXZWJSVENSdHBTZW5k
ZXJCYWNrZW5kOjpjcmVhdGVSVENSdHBUcmFuc2Zvcm1CYWNrZW5kKCkKK3sKKyAgICByZXR1cm4g
TGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZDo6Y3JlYXRlKG1fcnRjU2VuZGVyKTsK
K30KKwogUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlKiBMaWJXZWJSVENSdHBTZW5kZXJCYWNr
ZW5kOjp2aWRlb1NvdXJjZSgpCiB7CiAgICAgcmV0dXJuIHN3aXRjaE9uKG1fc291cmNlLApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGli
V2ViUlRDUnRwU2VuZGVyQmFja2VuZC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwU2VuZGVyQmFja2VuZC5oCmluZGV4IGExMDQxNmQx
NDA5ZmFlODAyNmRmZjRlYjU5MjU1ZDg1OTVmNzIyODIuLmQ1NmEwNTZlMzYyYjRkNjM0OTExNjNj
MTJiYmM4ZGJjY2YyOTQ3MDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFNlbmRlckJhY2tlbmQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBTZW5k
ZXJCYWNrZW5kLmgKQEAgLTcwLDYgKzcwLDcgQEAgcHJpdmF0ZToKICAgICBSVENSdHBTZW5kUGFy
YW1ldGVycyBnZXRQYXJhbWV0ZXJzKCkgY29uc3QgZmluYWw7CiAgICAgdm9pZCBzZXRQYXJhbWV0
ZXJzKGNvbnN0IFJUQ1J0cFNlbmRQYXJhbWV0ZXJzJiwgRE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+
JiYpIGZpbmFsOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxSVENEVE1GU2VuZGVyQmFja2VuZD4gY3Jl
YXRlRFRNRkJhY2tlbmQoKSBmaW5hbDsKKyAgICBSZWY8UlRDUnRwVHJhbnNmb3JtQmFja2VuZD4g
Y3JlYXRlUlRDUnRwVHJhbnNmb3JtQmFja2VuZCgpIGZpbmFsOwogCiAgICAgdm9pZCBzdGFydFNv
dXJjZSgpOwogICAgIHZvaWQgc3RvcFNvdXJjZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwU2VuZGVyVHJhbnNm
b3JtQmFja2VuZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndl
YnJ0Yy9MaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kLmNwcApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45
YWY0MzlkY2ZlOGMwNzI3YTYwMjI0OGIwYzllNGY5OTM1Y2I1OGExCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRD
UnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZC5jcHAKQEAgLTAsMCArMSw1OCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAq
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmln
LmgiCisjaW5jbHVkZSAiTGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZC5oIgorCisj
aWYgRU5BQkxFKFdFQl9SVEMpICYmIFVTRShMSUJXRUJSVEMpCisKKyNpbmNsdWRlICJMaWJXZWJS
VENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdGF0
aWMgaW5saW5lIExpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQ6Ok1lZGlhVHlwZSBt
ZWRpYVR5cGVGcm9tU2VuZGVyKGNvbnN0IHdlYnJ0Yzo6UnRwU2VuZGVySW50ZXJmYWNlJiBzZW5k
ZXIpCit7CisgICAgcmV0dXJuIHNlbmRlci5tZWRpYV90eXBlKCkgPT0gY3JpY2tldDo6TUVESUFf
VFlQRV9BVURJTyA/IFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6Ok1lZGlhVHlwZTo6QXVkaW8gOiBS
VENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpNZWRpYVR5cGU6OlZpZGVvOworfQorCitMaWJXZWJSVENS
dHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kOjpMaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNr
ZW5kKHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlJ0cFNlbmRlckludGVyZmFjZT4gcnRjU2Vu
ZGVyKQorICAgIDogTGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZChtZWRpYVR5cGVGcm9tU2Vu
ZGVyKCpydGNTZW5kZXIpLCBTaWRlOjpTZW5kZXIpCisgICAgLCBtX3J0Y1NlbmRlcihXVEZNb3Zl
KHJ0Y1NlbmRlcikpCit7Cit9CisKK0xpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQ6
On5MaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kKCkKK3sKK30KKwordm9pZCBMaWJX
ZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kOjpzZXRUcmFuc2Zvcm1hYmxlRnJhbWVDYWxs
YmFjayhDYWxsYmFjayYmIGNhbGxiYWNrKQoreworICAgIHNldElucHV0Q2FsbGJhY2soV1RGTW92
ZShjYWxsYmFjaykpOworICAgIG1fcnRjU2VuZGVyLT5TZXRFbmNvZGVyVG9QYWNrZXRpemVyRnJh
bWVUcmFuc2Zvcm1lcih0aGlzKTsKK30KKworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNl
bmRpZiAvLyBFTkFCTEUoV0VCX1JUQykgJiYgVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFNl
bmRlclRyYW5zZm9ybUJhY2tlbmQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5iNjYwOWI3ZDFkZjlhOTcwYTdhYTU4ODRjMGUxNTM2NDJjODQ2YzJhCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGli
V2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZC5oCkBAIC0wLDAgKzEsNjQgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
CisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNl
CisKKyNpZiBFTkFCTEUoV0VCX1JUQykgJiYgVVNFKExJQldFQlJUQykKKworI2luY2x1ZGUgIkxp
YldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuaCIKKworQUxMT1dfVU5VU0VEX1BBUkFNRVRFUlNf
QkVHSU4KK0FMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0JFR0lOCisKKyNpbmNsdWRlIDx3
ZWJydGMvYXBpL3J0cF9zZW5kZXJfaW50ZXJmYWNlLmg+CisKK0FMTE9XX0RFUFJFQ0FURURfREVD
TEFSQVRJT05TX0VORAorQUxMT1dfVU5VU0VEX1BBUkFNRVRFUlNfRU5ECisKK25hbWVzcGFjZSB3
ZWJydGMgeworY2xhc3MgUnRwU2VuZGVySW50ZXJmYWNlOworfQorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK2NsYXNzIExpYldlYlJUQ1NlbmRlclRyYW5zZm9ybWVyOworCitjbGFzcyBMaWJXZWJS
VENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kIGZpbmFsIDogcHVibGljIExpYldlYlJUQ1J0cFRy
YW5zZm9ybUJhY2tlbmQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgor
ICAgIHN0YXRpYyBSZWY8TGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZD4gY3JlYXRl
KHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlJ0cFNlbmRlckludGVyZmFjZT4gc2VuZGVyKSB7
IHJldHVybiBhZG9wdFJlZigqbmV3IExpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQo
V1RGTW92ZShzZW5kZXIpKSk7IH0KKyAgICB+TGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFj
a2VuZCgpOworCitwcml2YXRlOgorICAgIGV4cGxpY2l0IExpYldlYlJUQ1J0cFNlbmRlclRyYW5z
Zm9ybUJhY2tlbmQocnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6UnRwU2VuZGVySW50ZXJmYWNl
Pik7CisKKyAgICAvLyBSVENSdHBUcmFuc2Zvcm1CYWNrZW5kCisgICAgdm9pZCBzZXRUcmFuc2Zv
cm1hYmxlRnJhbWVDYWxsYmFjayhDYWxsYmFjayYmKSBmaW5hbDsKKworICAgIHJ0Yzo6c2NvcGVk
X3JlZnB0cjx3ZWJydGM6OlJ0cFNlbmRlckludGVyZmFjZT4gbV9ydGNTZW5kZXI7Cit9OworCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX1JUQykgJiYgVVNF
KExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuY3BwIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwVHJhbnNmb3Jt
QmFja2VuZC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDE2MmQzMGQxZmRkMzAyYTNiNWMzZWRiMzhkY2NiOWVl
ZTEzMzEwNAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuY3BwCkBAIC0wLDAg
KzEsOTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisg
KiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04K
KyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkxpYldlYlJUQ1J0cFRyYW5zZm9ybUJh
Y2tlbmQuaCIKKworI2lmIEVOQUJMRShXRUJfUlRDKSAmJiBVU0UoTElCV0VCUlRDKQorCisjaW5j
bHVkZSAiTGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmgiCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKwordm9pZCBMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpzZXRJbnB1dENhbGxi
YWNrKENhbGxiYWNrJiYgY2FsbGJhY2spCit7CisgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsK
KyAgICBhdXRvIGxvY2tlciA9IGhvbGRMb2NrKG1faW5wdXRDYWxsYmFja0xvY2spOworICAgIG1f
aW5wdXRDYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spOworfQorCit2b2lkIExpYldlYlJUQ1J0
cFRyYW5zZm9ybUJhY2tlbmQ6OmNsZWFyVHJhbnNmb3JtYWJsZUZyYW1lQ2FsbGJhY2soKQorewor
ICAgIHNldElucHV0Q2FsbGJhY2soeyB9KTsKK30KKwordm9pZCBMaWJXZWJSVENSdHBUcmFuc2Zv
cm1CYWNrZW5kOjpzZXRPdXRwdXRDYWxsYmFjayhydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpU
cmFuc2Zvcm1lZEZyYW1lQ2FsbGJhY2s+JiYgY2FsbGJhY2spCit7CisgICAgYXV0byBsb2NrZXIg
PSBob2xkTG9jayhtX291dHB1dENhbGxiYWNrTG9jayk7CisgICAgbV9vdXRwdXRDYWxsYmFjayA9
IFdURk1vdmUoY2FsbGJhY2spOworfQorCit2b2lkIExpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tl
bmQ6OnByb2Nlc3NUcmFuc2Zvcm1lZEZyYW1lKFJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZSYmIGZy
YW1lKQoreworICAgIGF1dG8gbG9ja2VyID0gaG9sZExvY2sobV9vdXRwdXRDYWxsYmFja0xvY2sp
OworICAgIGlmIChtX291dHB1dENhbGxiYWNrKQorICAgICAgICBtX291dHB1dENhbGxiYWNrLT5P
blRyYW5zZm9ybWVkRnJhbWUoTGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lOjp0b1JUQ0Zy
YW1lKFdURk1vdmUoc3RhdGljX2Nhc3Q8TGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lJj4o
ZnJhbWUpKSkpOworfQorCit2b2lkIExpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6OlRyYW5z
Zm9ybShzdGQ6OnVuaXF1ZV9wdHI8d2VicnRjOjpUcmFuc2Zvcm1hYmxlRnJhbWVJbnRlcmZhY2U+
IHJ0Y0ZyYW1lKQoreworICAgIHsKKyAgICAgICAgYXV0byBsb2NrZXIgPSBob2xkTG9jayhtX2lu
cHV0Q2FsbGJhY2tMb2NrKTsKKyAgICAgICAgaWYgKG1faW5wdXRDYWxsYmFjaykgeworICAgICAg
ICAgICAgbV9pbnB1dENhbGxiYWNrKExpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZShXVEZN
b3ZlKHJ0Y0ZyYW1lKSkpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgfQor
ICAgIC8vIEluIGNhc2Ugb2Ygbm8gaW5wdXQgY2FsbGJhY2ssIG1ha2UgdGhlIHRyYW5zZm9ybSBh
IG5vLW9wLgorICAgIGF1dG8gbG9ja2VyID0gaG9sZExvY2sobV9vdXRwdXRDYWxsYmFja0xvY2sp
OworICAgIGlmIChtX291dHB1dENhbGxiYWNrKQorICAgICAgICBtX291dHB1dENhbGxiYWNrLT5P
blRyYW5zZm9ybWVkRnJhbWUoV1RGTW92ZShydGNGcmFtZSkpOworfQorCit2b2lkIExpYldlYlJU
Q1J0cFRyYW5zZm9ybUJhY2tlbmQ6OlJlZ2lzdGVyVHJhbnNmb3JtZWRGcmFtZUNhbGxiYWNrKHJ0
Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlRyYW5zZm9ybWVkRnJhbWVDYWxsYmFjaz4gY2FsbGJh
Y2spCit7CisgICAgc2V0T3V0cHV0Q2FsbGJhY2soV1RGTW92ZShjYWxsYmFjaykpOworfQorCit2
b2lkIExpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6OlJlZ2lzdGVyVHJhbnNmb3JtZWRGcmFt
ZVNpbmtDYWxsYmFjayhydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpUcmFuc2Zvcm1lZEZyYW1l
Q2FsbGJhY2s+IGNhbGxiYWNrLCB1aW50MzJfdCAvKiBzc3JjICovKQoreworICAgIFJlZ2lzdGVy
VHJhbnNmb3JtZWRGcmFtZUNhbGxiYWNrKFdURk1vdmUoY2FsbGJhY2spKTsKK30KKwordm9pZCBM
aWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpVbnJlZ2lzdGVyVHJhbnNmb3JtZWRGcmFtZUNh
bGxiYWNrKCkKK3sKKyAgICBzZXRPdXRwdXRDYWxsYmFjayhudWxscHRyKTsKK30KKwordm9pZCBM
aWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpVbnJlZ2lzdGVyVHJhbnNmb3JtZWRGcmFtZVNp
bmtDYWxsYmFjayh1aW50MzJfdCAvKiBzc3JjICovKQoreworICAgIFVucmVnaXN0ZXJUcmFuc2Zv
cm1lZEZyYW1lQ2FsbGJhY2soKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5k
aWYgLy8gRU5BQkxFKFdFQl9SVEMpICYmIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBUcmFu
c2Zvcm1CYWNrZW5kLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndl
YnJ0Yy9MaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE1OGM2NGJi
NjExNDBjNGUyY2ViNDdhMTcwMzQwOTVmNmI0ZTk5MAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFRyYW5z
Zm9ybUJhY2tlbmQuaApAQCAtMCwwICsxLDkxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIw
IEFwcGxlIEluYy4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQor
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICog
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFdFQl9S
VEMpICYmIFVTRShMSUJXRUJSVEMpCisKKyNpbmNsdWRlICJMaWJXZWJSVENNYWNyb3MuaCIKKyNp
bmNsdWRlICJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmgiCisjaW5jbHVkZSA8d2VicnRjL2FwaS9z
Y29wZWRfcmVmcHRyLmg+CisjaW5jbHVkZSA8d3RmL0xvY2suaD4KKworQUxMT1dfVU5VU0VEX1BB
UkFNRVRFUlNfQkVHSU4KK0FMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0JFR0lOCisKKyNp
bmNsdWRlIDx3ZWJydGMvYXBpL2ZyYW1lX3RyYW5zZm9ybWVyX2ludGVyZmFjZS5oPgorCitBTExP
V19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19FTkQKK0FMTE9XX1VOVVNFRF9QQVJBTUVURVJTX0VO
RAorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIExpYldlYlJUQ1J0cFRyYW5zZm9ybUJh
Y2tlbmQgOiBwdWJsaWMgUlRDUnRwVHJhbnNmb3JtQmFja2VuZCwgcHVibGljIHdlYnJ0Yzo6RnJh
bWVUcmFuc2Zvcm1lckludGVyZmFjZSB7Citwcm90ZWN0ZWQ6CisgICAgTGliV2ViUlRDUnRwVHJh
bnNmb3JtQmFja2VuZChNZWRpYVR5cGUsIFNpZGUpOworICAgIHZvaWQgc2V0SW5wdXRDYWxsYmFj
ayhDYWxsYmFjayYmKTsKKworcHJpdmF0ZToKKyAgICB2b2lkIHNldE91dHB1dENhbGxiYWNrKHJ0
Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlRyYW5zZm9ybWVkRnJhbWVDYWxsYmFjaz4mJik7CisK
KyAgICAvLyBSVENSdHBUcmFuc2Zvcm1CYWNrZW5kCisgICAgdm9pZCBwcm9jZXNzVHJhbnNmb3Jt
ZWRGcmFtZShSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUmJikgZmluYWw7CisgICAgdm9pZCBjbGVh
clRyYW5zZm9ybWFibGVGcmFtZUNhbGxiYWNrKCkgZmluYWw7CisgICAgTWVkaWFUeXBlIG1lZGlh
VHlwZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fbWVkaWFUeXBlOyB9CisgICAgU2lkZSBzaWRl
KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9zaWRlOyB9CisKKyAgICAvLyB3ZWJydGM6OkZyYW1l
VHJhbnNmb3JtZXJJbnRlcmZhY2UKKyAgICB2b2lkIFRyYW5zZm9ybShzdGQ6OnVuaXF1ZV9wdHI8
d2VicnRjOjpUcmFuc2Zvcm1hYmxlRnJhbWVJbnRlcmZhY2U+KSBmaW5hbDsKKyAgICB2b2lkIFJl
Z2lzdGVyVHJhbnNmb3JtZWRGcmFtZUNhbGxiYWNrKHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6
OlRyYW5zZm9ybWVkRnJhbWVDYWxsYmFjaz4pIGZpbmFsOworICAgIHZvaWQgUmVnaXN0ZXJUcmFu
c2Zvcm1lZEZyYW1lU2lua0NhbGxiYWNrKHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlRyYW5z
Zm9ybWVkRnJhbWVDYWxsYmFjaz4sIHVpbnQzMl90IHNzcmMpIGZpbmFsOworICAgIHZvaWQgVW5y
ZWdpc3RlclRyYW5zZm9ybWVkRnJhbWVDYWxsYmFjaygpIGZpbmFsOworICAgIHZvaWQgVW5yZWdp
c3RlclRyYW5zZm9ybWVkRnJhbWVTaW5rQ2FsbGJhY2sodWludDMyX3Qgc3NyYykgZmluYWw7Cisg
ICAgdm9pZCBBZGRSZWYoKSBjb25zdCBmaW5hbCB7IHJlZigpOyB9CisgICAgcnRjOjpSZWZDb3Vu
dFJlbGVhc2VTdGF0dXMgUmVsZWFzZSgpIGNvbnN0IGZpbmFsOworCisgICAgTWVkaWFUeXBlIG1f
bWVkaWFUeXBlOworICAgIFNpZGUgbV9zaWRlOworCisgICAgTG9jayBtX2lucHV0Q2FsbGJhY2tM
b2NrOworICAgIENhbGxiYWNrIG1faW5wdXRDYWxsYmFjazsKKworICAgIExvY2sgbV9vdXRwdXRD
YWxsYmFja0xvY2s7CisgICAgcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6VHJhbnNmb3JtZWRG
cmFtZUNhbGxiYWNrPiBtX291dHB1dENhbGxiYWNrOworfTsKKworaW5saW5lIExpYldlYlJUQ1J0
cFRyYW5zZm9ybUJhY2tlbmQ6OkxpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQoTWVkaWFUeXBl
IG1lZGlhVHlwZSwgU2lkZSBzaWRlKQorICAgIDogbV9tZWRpYVR5cGUobWVkaWFUeXBlKQorICAg
ICwgbV9zaWRlKHNpZGUpCit7Cit9CisKK2lubGluZSBydGM6OlJlZkNvdW50UmVsZWFzZVN0YXR1
cyBMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpSZWxlYXNlKCkgY29uc3QKK3sKKyAgICBk
ZXJlZigpOworICAgIHJldHVybiBydGM6OlJlZkNvdW50UmVsZWFzZVN0YXR1czo6a090aGVyUmVm
c1JlbWFpbmVkOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFC
TEUoV0VCX1JUQykgJiYgVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVG
cmFtZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGli
V2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjI4NjMyYzZlMTdiMTFm
Zjc4Y2UyMzUxMTk3ZmZhMGUzYTQ3ZjE0ZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFRyYW5zZm9ybWFi
bGVGcmFtZS5oCkBAIC0wLDAgKzEsNjYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBw
bGUgSW5jLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCX1JUQykK
KworI2luY2x1ZGUgIlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZS5oIgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK2NsYXNzIExpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZSBmaW5hbCA6IHB1
YmxpYyBSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOworcHVibGljOgorICAgIGV4cGxpY2l0IExpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFt
ZShzdGQ6OnVuaXF1ZV9wdHI8d2VicnRjOjpUcmFuc2Zvcm1hYmxlRnJhbWVJbnRlcmZhY2U+JiYp
OworICAgIHZpcnR1YWwgfkxpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZSgpID0gZGVmYXVs
dDsKKworICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8d2VicnRjOjpUcmFuc2Zvcm1hYmxlRnJh
bWVJbnRlcmZhY2U+IHRvUlRDRnJhbWUoTGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lJiYp
OworCitwcml2YXRlOgorICAgIERhdGEgZGF0YSgpIGNvbnN0IGZpbmFsOworICAgIHZvaWQgc2V0
RGF0YShEYXRhIGRhdGEpIGZpbmFsIHsgbV9ydGNGcmFtZS0+U2V0RGF0YSh7IGRhdGEuZGF0YSwg
ZGF0YS5zaXplIH0pOyB9CisKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8d2VicnRjOjpUcmFuc2Zvcm1h
YmxlRnJhbWVJbnRlcmZhY2U+IG1fcnRjRnJhbWU7Cit9OworCitpbmxpbmUgTGliV2ViUlRDUnRw
VHJhbnNmb3JtYWJsZUZyYW1lOjpMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUoc3RkOjp1
bmlxdWVfcHRyPHdlYnJ0Yzo6VHJhbnNmb3JtYWJsZUZyYW1lSW50ZXJmYWNlPiYmIGZyYW1lKQor
ICAgIDogbV9ydGNGcmFtZShXVEZNb3ZlKGZyYW1lKSkKK3sKK30KKworaW5saW5lIHN0ZDo6dW5p
cXVlX3B0cjx3ZWJydGM6OlRyYW5zZm9ybWFibGVGcmFtZUludGVyZmFjZT4gTGliV2ViUlRDUnRw
VHJhbnNmb3JtYWJsZUZyYW1lOjp0b1JUQ0ZyYW1lKExpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVG
cmFtZSYmIGZyYW1lKQoreworICAgIHJldHVybiBXVEZNb3ZlKGZyYW1lLm1fcnRjRnJhbWUpOwor
fQorCitpbmxpbmUgUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lOjpEYXRhIExpYldlYlJUQ1J0cFRy
YW5zZm9ybWFibGVGcmFtZTo6ZGF0YSgpIGNvbnN0Cit7CisgICAgYXV0byBkYXRhID0gbV9ydGNG
cmFtZS0+R2V0RGF0YSgpOworICAgIHJldHVybiB7IGRhdGEuYmVnaW4oKSwgZGF0YS5zaXplKCkg
fTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFdFQl9S
VEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJD
b3JlL1NvdXJjZXMudHh0CmluZGV4IGY5NWFmZjY3Yzk0NTYzNDI2MmFjMzlhMWIzOWM4MDQxNzk0
YzQ2ZGIuLjY0YTVkNWQ0ZDQ3MDY0NjkzYzA1ZmY4NzIxZWM1ZTM3YjA1Mzk1NjUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJj
ZXMudHh0CkBAIC0xNjQsMTIgKzE2NCwxNiBAQCBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJD
b25uZWN0aW9uLmNwcAogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbkljZUV2
ZW50LmNwcAogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlci5jcHAKIE1vZHVsZXMv
bWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyLmNwcAorTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBU
cmFuc2Zvcm0uY3BwCiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zY2VpdmVyLmNwcAog
TW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb24uY3BwCiBNb2R1bGVzL21l
ZGlhc3RyZWFtL1JUQ1RyYWNrRXZlbnQuY3BwCiBNb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRp
YUNvbnRyb2xsZXIuY3BwCiBNb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuY3Bw
CiBNb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENDZXJ0aWZpY2F0ZUdlbmVy
YXRvci5jcHAKK01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFJlY2Vp
dmVyVHJhbnNmb3JtQmFja2VuZC5jcHAKK01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xp
YldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQuY3BwCitNb2R1bGVzL21lZGlhc3RyZWFt
L2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmNwcAogTW9kdWxlcy9ub3Rp
ZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAKIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmlj
YXRpb25Db250cm9sbGVyLmNwcAogTW9kdWxlcy9wYXltZW50cmVxdWVzdC9NZXJjaGFudFZhbGlk
YXRpb25FdmVudC5jcHAKQEAgLTMzMjAsNiArMzMyNCw3IEBAIEpTUlRDUnRwU2VuZGVyLmNwcAog
SlNSVENSdHBTeW5jaHJvbml6YXRpb25Tb3VyY2UuY3BwCiBKU1JUQ1J0cFRyYW5zY2VpdmVyLmNw
cAogSlNSVENSdHBUcmFuc2NlaXZlckRpcmVjdGlvbi5jcHAKK0pTUlRDUnRwVHJhbnNmb3JtLmNw
cAogSlNSVENTZHBUeXBlLmNwcAogSlNSVENTZXNzaW9uRGVzY3JpcHRpb24uY3BwCiBKU1JUQ1Nl
c3Npb25EZXNjcmlwdGlvbkluaXQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYmI4MjQ4NmZiOTRlNjVjNzk1YTY3Nzc2NmFk
ZjEzNDE4ZjlmZTczZi4uYzk4ZDE2YTkxYjhjMWNkMDRmNzBhZGNlZTZmZGRmZWE0ZDkxNGQwMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agpAQCAtMTA0Nyw2ICsxMDQ3LDkgQEAKIAkJNDEzOEY4NTgxRDI1M0YwRTAwMUNCNjFFIC8qIEpT
RE9NSXRlcmF0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQxMzhGODU2MUQyNTNFRUUwMDFDQjYxRSAvKiBKU0RPTUl0ZXJhdG9yLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDEzQTFBQTIyMzcxQThC
NDAwN0VGM0E1IC8qIEpTRE9NU2V0TGlrZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDEzQTFBOUYyMzcxQThBODAwN0VGM0E1IC8qIEpTRE9NU2V0TGlr
ZS5oICovOyB9OwogCQk0MTNDMkMzNDFCQzI5QThGMDA3NTIwNEMgLyogSlNET01Db25zdHJ1Y3Rv
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzQzJD
MzMxQkMyOUE3QjAwNzUyMDRDIC8qIEpTRE9NQ29uc3RydWN0b3IuaCAqLzsgfTsKKwkJNDEzQzhC
MzMyNTUyRjI3RDAwRTY1MDU1IC8qIFJUQ1J0cFNlbmRlcldpdGhUcmFuc2Zvcm0uaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxM0M4QjJFMjU1MkYyN0Iw
MEU2NTA1NSAvKiBSVENSdHBTZW5kZXJXaXRoVHJhbnNmb3JtLmggKi87IH07CisJCTQxM0M4QjM0
MjU1MkYyN0QwMEU2NTA1NSAvKiBSVENSdHBUcmFuc2Zvcm0uaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxM0M4QjJGMjU1MkYyN0IwMEU2NTA1NSAvKiBS
VENSdHBUcmFuc2Zvcm0uaCAqLzsgfTsKKwkJNDEzQzhCMzUyNTUyRjI3RDAwRTY1MDU1IC8qIFJU
Q1J0cFJlY2VpdmVyV2l0aFRyYW5zZm9ybS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDEzQzhCMzAyNTUyRjI3QzAwRTY1MDU1IC8qIFJUQ1J0cFJlY2Vp
dmVyV2l0aFRyYW5zZm9ybS5oICovOyB9OwogCQk0MTNDQ0Q0QTIwREUwMzRGMDA2NUEyMUEgLyog
TW9ja01lZGlhRGV2aWNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0MTNDQ0Q0ODIwREUwMTNDMDA2NUEyMUEgLyogTW9ja01lZGlhRGV2aWNlLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDEzRTAwNzkx
REIwRTRGMjAwMjM0MUQyIC8qIE1lbW9yeVJlbGVhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxM0UwMDc4MURCMEU0REUwMDIzNDFEMiAvKiBNZW1v
cnlSZWxlYXNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJNDE0NDYwQTIyNDEyOTk0NTAwODE0QkU3IC8qIE1lZGlhU2Vzc2lvbklkZW50aWZpZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxNDQ2MEEw
MjQxMjk5NDEwMDgxNEJFNyAvKiBNZWRpYVNlc3Npb25JZGVudGlmaWVyLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTEwOTksNiArMTEwMiwxMyBA
QAogCQk0MTdGN0FFRjIxMzlCRjZGMDBGQkE3RUMgLyogTWVkaWFTZXNzaW9uTWFuYWdlckNvY29h
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTdGN0FF
RDIxMzlCRjY1MDBGQkE3RUMgLyogTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDE4MTVDMUUxMzgzMTk4
MzAwNTdBQUE0IC8qIFdlYkNvcmVUZXN0U3VwcG9ydC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTgxNUMxQzEzODMxOTgzMDA1N0FBQTQgLyogV2Vi
Q29yZVRlc3RTdXBwb3J0LmNwcCAqLzsgfTsKIAkJNDE4MTVDMUYxMzgzMTk4MzAwNTdBQUE0IC8q
IFdlYkNvcmVUZXN0U3VwcG9ydC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDE4MTVDMUQxMzgzMTk4MzAwNTdBQUE0IC8qIFdlYkNvcmVUZXN0U3VwcG9y
dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTQx
ODFDNUM5MjU1NTczREYwMEFFQjBGRiAvKiBSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTgxQzVDODI1NTU3M0RG
MDBBRUIwRkYgLyogUlRDUnRwVHJhbnNmb3JtQmFja2VuZC5oICovOyB9OworCQk0MTgxQzVDQjI1
NTU4MkU0MDBBRUIwRkYgLyogUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTgxQzVDQTI1NTU4MkUzMDBBRUIw
RkYgLyogUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmggKi87IH07CisJCTQxODFDNUNEMjU1NTgz
NjkwMEFFQjBGRiAvKiBMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxODFDNUNDMjU1NTgzNjgwMEFF
QjBGRiAvKiBMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuaCAqLzsgfTsKKwkJNDE4MUM1
RDEyNTU1ODk1NjAwQUVCMEZGIC8qIExpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxODFDNUNGMjU1NTg5
NTYwMEFFQjBGRiAvKiBMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmggKi87IH07CisJCTQx
ODFDNUQ2MjU1NUMxQjkwMEFFQjBGRiAvKiBNb2NrUlRDUnRwVHJhbnNmb3JtLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTgxQzVENTI1NTVDMUI5MDBB
RUIwRkYgLyogTW9ja1JUQ1J0cFRyYW5zZm9ybS5oICovOyB9OworCQk0MTgxQzVENzI1NTVDNDlB
MDBBRUIwRkYgLyogTW9ja1JUQ1J0cFRyYW5zZm9ybS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTgxQzVEMzI1NTVDMUIxMDBBRUIwRkYgLyogTW9j
a1JUQ1J0cFRyYW5zZm9ybS5jcHAgKi87IH07CisJCTQxODFDNjM5MjU1QUU5MEYwMEFFQjBGRiAv
KiBKU01vY2tSVENSdHBUcmFuc2Zvcm0uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMkQ2RjNFOTIxQzFGODU1NTAwNjFEQkU0IC8qIEpTTW9ja1JUQ1J0
cFRyYW5zZm9ybS5jcHAgKi87IH07CiAJCTQxODIwNTQ3MUU1M0U5OEMwMEQ2MjIwNyAvKiBSVEND
b250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0MTgyMDU0NTFFNTNDOENEMDBENjIyMDcgLyogUlRDQ29udHJvbGxlci5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxODI2QkYyMjNGQjU5Nzcw
MEI5MjJCMSAvKiBEb2N1bWVudElkZW50aWZpZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxODI2QkYxMjNGQjU5NzAwMEI5MjJCMSAvKiBEb2N1bWVu
dElkZW50aWZpZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQk0MTg0RjUxNjFFQUYwNUE4MDBGMThCRjAgLyogT3JpZW50YXRpb25Ob3RpZmllci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE4NEY1MTUx
RUFGMDU5ODAwRjE4QkYwIC8qIE9yaWVudGF0aW9uTm90aWZpZXIuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtNzAzMyw2ICs3MDQzLDcgQEAKIAkJ
MkQ2RjNFOTIxQzFGODU1NTAwNjFEQkQ0IC8qIEpTTW9ja1BhZ2VPdmVybGF5LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTW9ja1BhZ2VPdmVybGF5LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQ2RjNFOTIxQzFGODU1NTAwNjFEQkQ1IC8qIEpT
SW50ZXJuYWxzU2V0TGlrZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBKU0ludGVybmFsc1NldExpa2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQky
RDZGM0U5MjFDMUY4NTU1MDA2MURCRDYgLyogSlNJbnRlcm5hbHNNYXBMaWtlLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTSW50ZXJuYWxzTWFwTGlrZS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJENkYzRTkyMUMxRjg1NTUwMDYxREJFNCAvKiBK
U01vY2tSVENSdHBUcmFuc2Zvcm0uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNNb2NrUlRDUnRwVHJhbnNmb3JtLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMkQ2RjNFOTMxQzFGODU1NTAwNjFEQkQ0IC8qIEpTTW9ja1BhZ2VPdmVybGF5LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTTW9ja1BhZ2VPdmVybGF5Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJENzBCQTEyMTgwNzREREYwMDAxOTA4QSAvKiBQbGF0
Zm9ybUNBTGF5ZXJDb2NvYS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQbGF0
Zm9ybUNBTGF5ZXJDb2NvYS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRDcwQkEx
NDE4MDc0Rjg1MDAwMTkwOEEgLyogUGxhdGZvcm1DQUxheWVyLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBsYXRmb3JtQ0FMYXllci5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC03NTYyLDYgKzc1NzMsMTIgQEAKIAkJNDEzQTFBOUYyMzcxQThBODAw
N0VGM0E1IC8qIEpTRE9NU2V0TGlrZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0RPTVNldExpa2UuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEzQTFBQTEyMzcxQThBOTAwN0VGM0E1IC8q
IEpTRE9NU2V0TGlrZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0RPTVNldExpa2UuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTNDMkMzMzFCQzI5QTdCMDA3NTIwNEMgLyog
SlNET01Db25zdHJ1Y3Rvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0RP
TUNvbnN0cnVjdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxM0M4QjI0MjU1
MkVFQTkwMEU2NTA1NSAvKiBSVENSdHBSZWNlaXZlcitUcmFuc2Zvcm0uaWRsICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9ICJSVENSdHBSZWNlaXZlcitUcmFuc2Zvcm0uaWRsIjsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJNDEzQzhCMjYyNTUyRUVBOTAwRTY1MDU1IC8qIFJUQ1J0cFNlbmRl
citUcmFuc2Zvcm0uaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9ICJSVENSdHBTZW5kZXIrVHJh
bnNmb3JtLmlkbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxM0M4QjI5MjU1MkYw
MTMwMEU2NTA1NSAvKiBSVENSdHBUcmFuc2Zvcm0uaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9
IFJUQ1J0cFRyYW5zZm9ybS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxM0M4
QjJFMjU1MkYyN0IwMEU2NTA1NSAvKiBSVENSdHBTZW5kZXJXaXRoVHJhbnNmb3JtLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJUQ1J0cFNlbmRlcldpdGhUcmFuc2Zvcm0uaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDEzQzhCMkYyNTUyRjI3QjAwRTY1MDU1IC8q
IFJUQ1J0cFRyYW5zZm9ybS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSVENS
dHBUcmFuc2Zvcm0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDEzQzhCMzAyNTUy
RjI3QzAwRTY1MDU1IC8qIFJUQ1J0cFJlY2VpdmVyV2l0aFRyYW5zZm9ybS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBSVENSdHBSZWNlaXZlcldpdGhUcmFuc2Zvcm0uaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEzQ0NENDgyMERFMDEzQzAwNjVBMjFBIC8qIE1v
Y2tNZWRpYURldmljZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNb2NrTWVk
aWFEZXZpY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEzRTAwNzcxREIwRTRE
RTAwMjM0MUQyIC8qIE1lbW9yeVJlbGVhc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gTWVtb3J5UmVsZWFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTQxM0UwMDc4MURCMEU0REUwMDIzNDFEMiAvKiBNZW1vcnlSZWxlYXNlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lbW9yeVJlbGVhc2UuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKQEAgLTc2NzIsNiArNzY4OSwxOSBAQAogCQk0MTgxNUMxQzEzODMxOTgzMDA1
N0FBQTQgLyogV2ViQ29yZVRlc3RTdXBwb3J0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFdlYkNvcmVUZXN0U3VwcG9ydC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTQxODE1QzFEMTM4MzE5ODMwMDU3QUFBNCAvKiBXZWJDb3JlVGVzdFN1cHBvcnQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQ29yZVRlc3RTdXBwb3J0Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxODE3MDdEMTM4NkVERjIwMDU3QUFBNCAv
KiBXZWJDb3JlVGVzdFN1cHBvcnQueGNjb25maWcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBw
YXRoID0gV2ViQ29yZVRlc3RTdXBwb3J0LnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk0MTgxQzVCRTI1NTNFQjZFMDBBRUIwRkYgLyogTGliV2ViUlRDUnRwU2VuZGVyVHJh
bnNmb3JtQmFja2VuZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBMaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zv
cm1CYWNrZW5kLmg7IHBhdGggPSBsaWJ3ZWJydGMvTGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3Jt
QmFja2VuZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTgxQzVDMDI1NTNFQjZF
MDBBRUIwRkYgLyogTGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgbmFtZSA9IExpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZC5jcHA7
IHBhdGggPSBsaWJ3ZWJydGMvTGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE4MUM1QzEyNTUzRUI2RTAwQUVCMEZG
IC8qIExpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBu
YW1lID0gTGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZC5jcHA7IHBhdGggPSBsaWJ3
ZWJydGMvTGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZC5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTQxODFDNUMyMjU1M0VCNkYwMEFFQjBGRiAvKiBMaWJXZWJSVENS
dHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTGliV2ViUlRDUnRw
UmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kLmg7IHBhdGggPSBsaWJ3ZWJydGMvTGliV2ViUlRDUnRw
UmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTQxODFDNUM2MjU1NTczNTEwMEFFQjBGRiAvKiBSVENSdHBUcmFuc2Zvcm0uY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUlRDUnRwVHJhbnNmb3JtLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE4MUM1QzgyNTU1NzNERjAwQUVCMEZGIC8qIFJUQ1J0
cFRyYW5zZm9ybUJhY2tlbmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUlRD
UnRwVHJhbnNmb3JtQmFja2VuZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTgx
QzVDQTI1NTU4MkUzMDBBRUIwRkYgLyogUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTgxQzVDQzI1NTU4MzY4MDBBRUIwRkYgLyog
TGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgbmFtZSA9IExpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZS5oOyBwYXRoID0gbGlid2Vi
cnRjL0xpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk0MTgxQzVDRTI1NTU4OTU1MDBBRUIwRkYgLyogTGliV2ViUlRDUnRwVHJhbnNm
b3JtQmFja2VuZC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBMaWJX
ZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmNwcDsgcGF0aCA9IGxpYndlYnJ0Yy9MaWJXZWJSVENS
dHBUcmFuc2Zvcm1CYWNrZW5kLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE4
MUM1Q0YyNTU1ODk1NjAwQUVCMEZGIC8qIExpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTGliV2ViUlRDUnRwVHJhbnNmb3JtQmFj
a2VuZC5oOyBwYXRoID0gbGlid2VicnRjL0xpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE4MUM1RDMyNTU1QzFCMTAwQUVCMEZGIC8q
IE1vY2tSVENSdHBUcmFuc2Zvcm0uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gTW9ja1JUQ1J0cFRyYW5zZm9ybS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTQxODFDNUQ1MjU1NUMxQjkwMEFFQjBGRiAvKiBNb2NrUlRDUnRwVHJhbnNmb3JtLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1vY2tSVENSdHBUcmFuc2Zvcm0uaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE4MUM2MzYyNTVBRTI2MTAwQUVCMEZGIC8qIE1v
Y2tSVENSdHBUcmFuc2Zvcm0uaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE1vY2tSVENSdHBUcmFuc2Zvcm0uaWRsOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTgyMDU0NTFFNTNDOENEMDBENjIyMDcgLyogUlRD
Q29udHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSVENDb250cm9s
bGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxODIwNTQ4MUU1M0VBQUQwMEQ2
MjIwNyAvKiBSVENDb250cm9sbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFJUQ0NvbnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0
MTgyNkJGMTIzRkI1OTcwMDBCOTIyQjEgLyogRG9jdW1lbnRJZGVudGlmaWVyLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERvY3VtZW50SWRlbnRpZmllci5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtMTcwNDMsMTYgKzE3MDczLDIwIEBACiAJCQkJNDFFNTk0MDAy
MTQ4NjVBQTAwRDNDQjYxIC8qIFJUQ1J0cEhlYWRlckV4dGVuc2lvblBhcmFtZXRlcnMuaWRsICov
LAogCQkJCTQxQTQ4QUE4MUU4NEFGMUQwMEQyQUMyRCAvKiBSVENSdHBQYXJhbWV0ZXJzLmggKi8s
CiAJCQkJNDFBNDhBQTcxRTg0QUVFQzAwRDJBQzJEIC8qIFJUQ1J0cFBhcmFtZXRlcnMuaWRsICov
LAorCQkJCTQxM0M4QjI0MjU1MkVFQTkwMEU2NTA1NSAvKiBSVENSdHBSZWNlaXZlcitUcmFuc2Zv
cm0uaWRsICovLAogCQkJCTVFMkM0MzU2MUJDRUUzMEQwMDAxRTJCQyAvKiBSVENSdHBSZWNlaXZl
ci5jcHAgKi8sCiAJCQkJNUUyQzQzNTcxQkNFRTMwRDAwMDFFMkJDIC8qIFJUQ1J0cFJlY2VpdmVy
LmggKi8sCiAJCQkJNUUyQzQzNTgxQkNFRTMwRDAwMDFFMkJDIC8qIFJUQ1J0cFJlY2VpdmVyLmlk
bCAqLywKIAkJCQk0MUQxQTA0ODIxM0VEREVCMDA2M0ZCNkIgLyogUlRDUnRwUmVjZWl2ZXJCYWNr
ZW5kLmggKi8sCisJCQkJNDEzQzhCMzAyNTUyRjI3QzAwRTY1MDU1IC8qIFJUQ1J0cFJlY2VpdmVy
V2l0aFRyYW5zZm9ybS5oICovLAogCQkJCTQxRkNCNzYwMjE0ODY3MDAwMDM4QURDNiAvKiBSVENS
dHBSdHhQYXJhbWV0ZXJzLmggKi8sCiAJCQkJNDFGQ0I3NTgyMTQ4NjVEMjAwMzhBREM2IC8qIFJU
Q1J0cFJ0eFBhcmFtZXRlcnMuaWRsICovLAorCQkJCTQxM0M4QjI2MjU1MkVFQTkwMEU2NTA1NSAv
KiBSVENSdHBTZW5kZXIrVHJhbnNmb3JtLmlkbCAqLywKIAkJCQk1RTJDNDM1OTFCQ0VFMzBEMDAw
MUUyQkMgLyogUlRDUnRwU2VuZGVyLmNwcCAqLywKIAkJCQk1RTJDNDM1QTFCQ0VFMzBEMDAwMUUy
QkMgLyogUlRDUnRwU2VuZGVyLmggKi8sCiAJCQkJNUUyQzQzNUIxQkNFRTMwRDAwMDFFMkJDIC8q
IFJUQ1J0cFNlbmRlci5pZGwgKi8sCiAJCQkJNDFEMUEwNDYyMTNFRERFQjAwNjNGQjZCIC8qIFJU
Q1J0cFNlbmRlckJhY2tlbmQuaCAqLywKKwkJCQk0MTNDOEIyRTI1NTJGMjdCMDBFNjUwNTUgLyog
UlRDUnRwU2VuZGVyV2l0aFRyYW5zZm9ybS5oICovLAogCQkJCTQxNEFEM0ZDMjE0OTg0MjAwMDUy
MTY3NiAvKiBSVENSdHBTZW5kUGFyYW1ldGVycy5oICovLAogCQkJCTQxNEFEM0ZFMjE0OTg0MjAw
MDUyMTY3NiAvKiBSVENSdHBTZW5kUGFyYW1ldGVycy5pZGwgKi8sCiAJCQkJNDE1RTFCQjYyMTUw
MTUyQTAwMjJEQTk2IC8qIFJUQ1J0cFN5bmNocm9uaXphdGlvblNvdXJjZS5oICovLApAQCAtMTcw
NjIsNiArMTcwOTYsMTEgQEAKIAkJCQk1RTVFMkIxMjFDRkMzRTRCMDAwQzBEODUgLyogUlRDUnRw
VHJhbnNjZWl2ZXIuaWRsICovLAogCQkJCTQxODZCRDQ2MjE0MDcyQjYwMDAxODI2RiAvKiBSVENS
dHBUcmFuc2NlaXZlckJhY2tlbmQuaCAqLywKIAkJCQkzMTZEQ0IxNzFFNzhDMzMwMDAxQjVGODcg
LyogUlRDUnRwVHJhbnNjZWl2ZXJEaXJlY3Rpb24uaWRsICovLAorCQkJCTQxODFDNUM2MjU1NTcz
NTEwMEFFQjBGRiAvKiBSVENSdHBUcmFuc2Zvcm0uY3BwICovLAorCQkJCTQxM0M4QjJGMjU1MkYy
N0IwMEU2NTA1NSAvKiBSVENSdHBUcmFuc2Zvcm0uaCAqLywKKwkJCQk0MTNDOEIyOTI1NTJGMDEz
MDBFNjUwNTUgLyogUlRDUnRwVHJhbnNmb3JtLmlkbCAqLywKKwkJCQk0MTgxQzVDQTI1NTU4MkUz
MDBBRUIwRkYgLyogUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmggKi8sCisJCQkJNDE4MUM1Qzgy
NTU1NzNERjAwQUVCMEZGIC8qIFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuaCAqLywKIAkJCQk0MTBG
NTY1ODI0RkNGODU0MDBBMkU1MEMgLyogUlRDU2RwVHlwZS5pZGwgKi8sCiAJCQkJMDcyMjFCN0Ex
N0NFQzMyNzAwODQ4RTUxIC8qIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbi5jcHAgKi8sCiAJCQkJMDcy
MjFCN0IxN0NFQzMyNzAwODQ4RTUxIC8qIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbi5oICovLApAQCAt
MTkxMjQsMTAgKzE5MTYzLDE3IEBACiAJCQkJNDE3NjEyQUUxRTNBOTkzQjAwQzNEODFEIC8qIExp
YldlYlJUQ1BlZXJDb25uZWN0aW9uQmFja2VuZC5oICovLAogCQkJCTQxRDFBMDRBMjEzRURERkUw
MDYzRkI2QiAvKiBMaWJXZWJSVENSdHBSZWNlaXZlckJhY2tlbmQuY3BwICovLAogCQkJCTQxODZC
RDNCMjEzRURFMzgwMDAxODI2RiAvKiBMaWJXZWJSVENSdHBSZWNlaXZlckJhY2tlbmQuaCAqLywK
KwkJCQk0MTgxQzVDMDI1NTNFQjZFMDBBRUIwRkYgLyogTGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFu
c2Zvcm1CYWNrZW5kLmNwcCAqLywKKwkJCQk0MTgxQzVDMjI1NTNFQjZGMDBBRUIwRkYgLyogTGli
V2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kLmggKi8sCiAJCQkJNDFEMUEwNEIyMTNF
RERGRTAwNjNGQjZCIC8qIExpYldlYlJUQ1J0cFNlbmRlckJhY2tlbmQuY3BwICovLAogCQkJCTQx
ODZCRDNEMjEzRURFMzkwMDAxODI2RiAvKiBMaWJXZWJSVENSdHBTZW5kZXJCYWNrZW5kLmggKi8s
CisJCQkJNDE4MUM1QzEyNTUzRUI2RTAwQUVCMEZGIC8qIExpYldlYlJUQ1J0cFNlbmRlclRyYW5z
Zm9ybUJhY2tlbmQuY3BwICovLAorCQkJCTQxODFDNUJFMjU1M0VCNkUwMEFFQjBGRiAvKiBMaWJX
ZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kLmggKi8sCiAJCQkJNDE4NkJENEQyMTQwQjlF
ODAwMDE4MjZGIC8qIExpYldlYlJUQ1J0cFRyYW5zY2VpdmVyQmFja2VuZC5jcHAgKi8sCiAJCQkJ
NDE4NkJENEIyMTQwQTgwNTAwMDE4MjZGIC8qIExpYldlYlJUQ1J0cFRyYW5zY2VpdmVyQmFja2Vu
ZC5oICovLAorCQkJCTQxODFDNUNDMjU1NTgzNjgwMEFFQjBGRiAvKiBMaWJXZWJSVENSdHBUcmFu
c2Zvcm1hYmxlRnJhbWUuaCAqLywKKwkJCQk0MTgxQzVDRTI1NTU4OTU1MDBBRUIwRkYgLyogTGli
V2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZC5jcHAgKi8sCisJCQkJNDE4MUM1Q0YyNTU1ODk1NjAw
QUVCMEZGIC8qIExpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuaCAqLywKIAkJCQk0MUQyOEQw
QjIxMzlFMDFEMDBGNDIwNkYgLyogTGliV2ViUlRDU3RhdHNDb2xsZWN0b3IuY3BwICovLAogCQkJ
CTQxRDI4RDBDMjEzOUUwMUUwMEY0MjA2RiAvKiBMaWJXZWJSVENTdGF0c0NvbGxlY3Rvci5oICov
LAogCQkJCTQxRDFBMDQ5MjEzRURERkQwMDYzRkI2QiAvKiBMaWJXZWJSVENVdGlscy5jcHAgKi8s
CkBAIC0xOTIwOCw2ICsxOTI1NCw5IEBACiAJCQkJQTFDQkVGNjMxRjlGMTEyOTAwMjhERTdDIC8q
IE1vY2tQYXltZW50TWV0aG9kLmggKi8sCiAJCQkJQTE0MDYxODkxRTJFQ0EwQTAwMzJCMzRFIC8q
IE1vY2tQcmV2aWV3TG9hZGVyQ2xpZW50LmNwcCAqLywKIAkJCQlBMTQwNjE4QTFFMkVDQTBBMDAz
MkIzNEUgLyogTW9ja1ByZXZpZXdMb2FkZXJDbGllbnQuaCAqLywKKwkJCQk0MTgxQzVEMzI1NTVD
MUIxMDBBRUIwRkYgLyogTW9ja1JUQ1J0cFRyYW5zZm9ybS5jcHAgKi8sCisJCQkJNDE4MUM1RDUy
NTU1QzFCOTAwQUVCMEZGIC8qIE1vY2tSVENSdHBUcmFuc2Zvcm0uaCAqLywKKwkJCQk0MTgxQzYz
NjI1NUFFMjYxMDBBRUIwRkYgLyogTW9ja1JUQ1J0cFRyYW5zZm9ybS5pZGwgKi8sCiAJCQkJNTcx
NTYxMDgyMzRDMUIzMTAwOEZDN0FCIC8qIE1vY2tXZWJBdXRoZW50aWNhdGlvbkNvbmZpZ3VyYXRp
b24uaCAqLywKIAkJCQk1NzE1NjEwRDIzNEM3NDgxMDA4RkM3QUIgLyogTW9ja1dlYkF1dGhlbnRp
Y2F0aW9uQ29uZmlndXJhdGlvbi5pZGwgKi8sCiAJCQkJNDE3RjBEODAxRkZFRTE0RjAwOEVGMzAz
IC8qIFNlcnZpY2VXb3JrZXJJbnRlcm5hbHMuY3BwICovLApAQCAtMTkyNjMsNiArMTkzMTIsNyBA
QAogCQkJCUExNDZEMzE4MUY5OUJDQkEwMEQyOTE5NiAvKiBKU01vY2tQYXltZW50Q29vcmRpbmF0
b3IuaCAqLywKIAkJCQlBMUJCODVCNDIxNTlCMzg5MDA2N0UwN0QgLyogSlNNb2NrUGF5bWVudEVy
cm9yLmNwcCAqLywKIAkJCQlBMUJCODVCNTIxNTlCMzhBMDA2N0UwN0QgLyogSlNNb2NrUGF5bWVu
dEVycm9yLmggKi8sCisJCQkJMkQ2RjNFOTIxQzFGODU1NTAwNjFEQkU0IC8qIEpTTW9ja1JUQ1J0
cFRyYW5zZm9ybS5jcHAgKi8sCiAJCQkJNTcxNTYxMTEyMzRDN0ZCQzAwOEZDN0FCIC8qIEpTTW9j
a1dlYkF1dGhlbnRpY2F0aW9uQ29uZmlndXJhdGlvbi5jcHAgKi8sCiAJCQkJNTcxNTYxMTAyMzRD
N0ZCQzAwOEZDN0FCIC8qIEpTTW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29uZmlndXJhdGlvbi5oICov
LAogCQkJCTQyN0RBNzFCMTM3MzVERkEwMDdDNTdGQiAvKiBKU1NlcnZpY2VXb3JrZXJJbnRlcm5h
bHMuY3BwICovLApAQCAtMzMyMTcsNiArMzMyNjcsOCBAQAogCQkJCTQxNzYxMkIyMUUzQTk5NDAw
MEMzRDgxRCAvKiBMaWJXZWJSVENQZWVyQ29ubmVjdGlvbkJhY2tlbmQuaCBpbiBIZWFkZXJzICov
LAogCQkJCTQxNTc0NzQ4MUUzODY5QTcwMEU5MTREOCAvKiBMaWJXZWJSVENQcm92aWRlci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNDFCMjhCM0QxRjg2MEVGMzAwRkI1MkFDIC8qIExpYldlYlJUQ1By
b3ZpZGVyQ29jb2EuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxODFDNUNEMjU1NTgzNjkwMEFFQjBG
RiAvKiBMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuaCBpbiBIZWFkZXJzICovLAorCQkJ
CTQxODFDNUQxMjU1NTg5NTYwMEFFQjBGRiAvKiBMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5k
LmggaW4gSGVhZGVycyAqLywKIAkJCQk0MTBFNDQ2MTIzNDM3M0U5MDAwMTczRDQgLyogTGliV2Vi
UlRDU29ja2V0SWRlbnRpZmllci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODQ3MzBEOTExMjQ4RjBC
MzAwRDNBOUM5IC8qIExpZ2h0U291cmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjIyNzk2NTBE
MDBCRjIyMDA3MUI3ODIgLyogTGluZWFyR3JhZGllbnRBdHRyaWJ1dGVzLmggaW4gSGVhZGVycyAq
LywKQEAgLTMzNDExLDYgKzMzNDYzLDcgQEAKIAkJCQk0QTBGRkE5RTFBQUY1RTdFMDA2MjgwM0Ig
LyogTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3
RUU3NkVDMUJFOTZEQjAwMEY4OTEzMyAvKiBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMDdFRTc2RUYxQkVBNjE5ODAwRjg5MTMzIC8qIE1vY2tSZWFsdGltZVZp
ZGVvU291cmNlTWFjLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTgxQzVENjI1NTVDMUI5MDBBRUIw
RkYgLyogTW9ja1JUQ1J0cFRyYW5zZm9ybS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0RGMkIwMTcx
ODIwNTQwNzAwRjJCNDI0IC8qIE1vY2tTb3VyY2VCdWZmZXJQcml2YXRlLmggaW4gSGVhZGVycyAq
LywKIAkJCQlDREYyQjAxOTE4MjA1NDA3MDBGMkI0MjQgLyogTW9ja1RyYWNrcy5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNTcxNTYxMEMyMzRDMUNBMTAwOEZDN0FCIC8qIE1vY2tXZWJBdXRoZW50aWNh
dGlvbkNvbmZpZ3VyYXRpb24uaCBpbiBIZWFkZXJzICovLApAQCAtMzQwMzcsOSArMzQwOTAsMTQg
QEAKIAkJCQkwNzhFMDkyNDE3RDE0RDFDMDA0MjBBQTEgLyogUlRDUGVlckNvbm5lY3Rpb25JY2VF
dmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDEyREU0QjgyMTkyODVDMDAwNzVGM0E3IC8qIFJU
Q1J0cENhcGFiaWxpdGllcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUUyQzQzNjMxQkNFRTMyQjAw
MDFFMkJDIC8qIFJUQ1J0cFJlY2VpdmVyLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTNDOEIzNTI1
NTJGMjdEMDBFNjUwNTUgLyogUlRDUnRwUmVjZWl2ZXJXaXRoVHJhbnNmb3JtLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk1RTJDNDM2MTFCQ0VFMzIzMDAwMUUyQkMgLyogUlRDUnRwU2VuZGVyLmggaW4g
SGVhZGVycyAqLywKKwkJCQk0MTNDOEIzMzI1NTJGMjdEMDBFNjUwNTUgLyogUlRDUnRwU2VuZGVy
V2l0aFRyYW5zZm9ybS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUU1RTJCMTQxQ0ZDM0U3NTAwMEMw
RDg1IC8qIFJUQ1J0cFRyYW5zY2VpdmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMUVCNTRERjFF
N0RDNzQ0MDBDMTYyM0IgLyogUlRDUnRwVHJhbnNjZWl2ZXJEaXJlY3Rpb24uaCBpbiBIZWFkZXJz
ICovLAorCQkJCTQxM0M4QjM0MjU1MkYyN0QwMEU2NTA1NSAvKiBSVENSdHBUcmFuc2Zvcm0uaCBp
biBIZWFkZXJzICovLAorCQkJCTQxODFDNUNCMjU1NTgyRTQwMEFFQjBGRiAvKiBSVENSdHBUcmFu
c2Zvcm1hYmxlRnJhbWUuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxODFDNUM5MjU1NTczREYwMEFF
QjBGRiAvKiBSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMTM1
OTEwQTFFN0REQzczMDBGMzA2MzAgLyogUlRDU2RwVHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MDc4RTA5MjYxN0QxNEQxQzAwNDIwQUExIC8qIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbi5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMDc4RTA5NDMxN0QxNkUxQzAwNDIwQUExIC8qIFJUQ1Nlc3Npb25EZXNj
cmlwdGlvbkRlc2NyaXB0b3IuaCBpbiBIZWFkZXJzICovLApAQCAtMzU0OTUsNiArMzU1NTMsNyBA
QAogCQkJCUExMDRFQzVEMjIwQTNFNEIwMENCRjY3QSAvKiBKU01vY2tQYXltZW50Q29udGFjdEZp
ZWxkcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBMTQ2RDMxQTFGOTlCQ0Y4MDBEMjkxOTYgLyog
SlNNb2NrUGF5bWVudENvb3JkaW5hdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUExQkI4NUI4
MjE1OUIzQTQwMDY3RTA3RCAvKiBKU01vY2tQYXltZW50RXJyb3IuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJNDE4MUM2MzkyNTVBRTkwRjAwQUVCMEZGIC8qIEpTTW9ja1JUQ1J0cFRyYW5zZm9ybS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk1NzE1NjExNDIzNEM3RkQ2MDA4RkM3QUIgLyogSlNNb2Nr
V2ViQXV0aGVudGljYXRpb25Db25maWd1cmF0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQy
N0RBNzFEMTM3MzVERkEwMDdDNTdGQiAvKiBKU1NlcnZpY2VXb3JrZXJJbnRlcm5hbHMuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJRUJGNTEyMUMxNjk2NDk2QzAwNTZCRDI1IC8qIEpTVHlwZUNvbnZl
cnNpb25zLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMzU1MTAsNiArMzU1NjksNyBAQAogCQkJCTJE
OTdGMDQ3MTlERDQxM0MwMDFFRTlDMyAvKiBNb2NrUGFnZU92ZXJsYXlDbGllbnQuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJQTFBRkVERTcxRjhCRkY2RDAwODcwMTNGIC8qIE1vY2tQYXltZW50Q29v
cmRpbmF0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTE0MDYxOEIxRTJFQ0EwQTAwMzJCMzRF
IC8qIE1vY2tQcmV2aWV3TG9hZGVyQ2xpZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTQxODFD
NUQ3MjU1NUM0OUEwMEFFQjBGRiAvKiBNb2NrUlRDUnRwVHJhbnNmb3JtLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUFBNUYzQjhGMTZDQzRCMzkwMDQ1NUVCMCAvKiBQbGF0Zm9ybVNwZWVjaFN5bnRo
ZXNpemVyTW9jay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0MTdGMEQ4MjFGRkVFOTc5MDA4RUYz
MDMgLyogU2VydmljZVdvcmtlckludGVybmFscy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0MUQ0
MUM2NzIyNTY4NzRGMDA2OTc5NDIgLyogU2VydmljZVdvcmtlckludGVybmFscy5tbSBpbiBTb3Vy
Y2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1
aWx0aW5OYW1lcy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5O
YW1lcy5oCmluZGV4IGVlMjRhNDlhMjVhMmQzN2Q2MWUxZGMwZmU0Nzc3YjAwM2Y5MmQyMzcuLjVh
ZTczNGQ5MDkwYzBkMGY3NTQ0ZDE0ZjZjYmJkMzEzMTM0ZjEyYjggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKQEAgLTE3NCw2ICsxNzQs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8oTWVkaWFTdHJlYW0pIFwKICAgICBt
YWNybyhNZWRpYVN0cmVhbVRyYWNrKSBcCiAgICAgbWFjcm8oTWVyY2hhbnRWYWxpZGF0aW9uRXZl
bnQpIFwKKyAgICBtYWNybyhNb2NrUlRDUnRwVHJhbnNmb3JtKSBcCiAgICAgbWFjcm8oTW9kZXJu
TWVkaWFDb250cm9scykgXAogICAgIG1hY3JvKE5hdmlnYXRvckNyZWRlbnRpYWxzKSBcCiAgICAg
bWFjcm8oTmF2aWdhdG9yTWVkaWFEZXZpY2VzKSBcCkBAIC0yMjAsNiArMjIxLDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIG1hY3JvKFJUQ1J0cFJlY2VpdmVyKSBcCiAgICAgbWFjcm8oUlRD
UnRwU2VuZGVyKSBcCiAgICAgbWFjcm8oUlRDUnRwVHJhbnNjZWl2ZXIpIFwKKyAgICBtYWNybyhS
VENSdHBUcmFuc2Zvcm0pIFwKICAgICBtYWNybyhSVENTZXNzaW9uRGVzY3JpcHRpb24pIFwKICAg
ICBtYWNybyhSVENTdGF0c1JlcG9ydCkgXAogICAgIG1hY3JvKFJUQ1RyYWNrRXZlbnQpIFwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpT
LnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0K
aW5kZXggMzRhZmE3NzZiZDUyMzczMDA5OGVjMjFjMjNlNzQxMDBhODBjNDI1ZC4uMjdjNzk3ZDM0
MGRiNDZiN2UzMWJhNmRiZWIyOTFjYzQzOTI1ODAxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KQEAgLTMyMjIsOSArMzIyMiw5
IEBAIHN1YiBHZW5lcmF0ZUhlYWRlcgogICAgIGlmIChTaG91bGRHZW5lcmF0ZVdyYXBwZXJPd25l
ckNvZGUoJGhhc1BhcmVudCwgJGludGVyZmFjZSkpIHsKICAgICAgICAgaWYgKCRpbnRlcmZhY2VO
YW1lIG5lICJOb2RlIiAmJiAkY29kZUdlbmVyYXRvci0+SW5oZXJpdHNJbnRlcmZhY2UoJGludGVy
ZmFjZSwgIk5vZGUiKSkgewogICAgICAgICAgICAgJGhlYWRlckluY2x1ZGVzeyJKU05vZGUuaCJ9
ID0gMTsKLSAgICAgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICJjbGFzcyBKUyR7aW50ZXJm
YWNlTmFtZX1Pd25lciA6IHB1YmxpYyBKU05vZGVPd25lciB7XG4iKTsKKyAgICAgICAgICAgIHB1
c2goQGhlYWRlckNvbnRlbnQsICJjbGFzcyAke2V4cG9ydE1hY3JvfUpTJHtpbnRlcmZhY2VOYW1l
fU93bmVyIDogcHVibGljIEpTTm9kZU93bmVyIHtcbiIpOwogICAgICAgICB9IGVsc2UgewotICAg
ICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgImNsYXNzIEpTJHtpbnRlcmZhY2VOYW1lfU93
bmVyIDogcHVibGljIEpTQzo6V2Vha0hhbmRsZU93bmVyIHtcbiIpOworICAgICAgICAgICAgcHVz
aChAaGVhZGVyQ29udGVudCwgImNsYXNzICR7ZXhwb3J0TWFjcm99SlMke2ludGVyZmFjZU5hbWV9
T3duZXIgOiBwdWJsaWMgSlNDOjpXZWFrSGFuZGxlT3duZXIge1xuIik7CiAgICAgICAgIH0KICAg
ICAgICAgJGhlYWRlckluY2x1ZGVzeyI8d3RmL05ldmVyRGVzdHJveWVkLmg+In0gPSAxOwogICAg
ICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAicHVibGljOlxuIik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmggYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmgK
aW5kZXggZmJmNmYzOGQ2YjYxZThkNWVhM2I3ZTFhZjk2OTJkZTFjZDAwZTdkNy4uNmJhNDMzNGQz
YjEyNWJiMDQwNmY5MTJiNDkxMmEwODM4MDA2ZTczMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuaApAQCAt
ODksNyArODksNyBAQCBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6OlZN
Jik7CiB9OwogCi1jbGFzcyBKU1Rlc3RJbnRlcmZhY2VPd25lciA6IHB1YmxpYyBKU0M6OldlYWtI
YW5kbGVPd25lciB7CitjbGFzcyBXRUJDT1JFX0VYUE9SVCBKU1Rlc3RJbnRlcmZhY2VPd25lciA6
IHB1YmxpYyBKU0M6OldlYWtIYW5kbGVPd25lciB7CiBwdWJsaWM6CiAgICAgdmlydHVhbCBib29s
IGlzUmVhY2hhYmxlRnJvbU9wYXF1ZVJvb3RzKEpTQzo6SGFuZGxlPEpTQzo6VW5rbm93bj4sIHZv
aWQqIGNvbnRleHQsIEpTQzo6U2xvdFZpc2l0b3ImLCBjb25zdCBjaGFyKiopOwogICAgIHZpcnR1
YWwgdm9pZCBmaW5hbGl6ZShKU0M6OkhhbmRsZTxKU0M6OlVua25vd24+LCB2b2lkKiBjb250ZXh0
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCA4NTNiNjk3ZjdhMzBjYjAx
ODgxNjhkMGY1MWM3MGI1ODVkYzZkNDU3Li4xNjFhMjhmNDEzZjBlZTEyY2EwZmMyM2I1MDdiZDQ0
MTY5MjliMTNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC0xMzgsNiAr
MTM4LDcgQEAKICNpbmNsdWRlICJNb2NrTGliV2ViUlRDUGVlckNvbm5lY3Rpb24uaCIKICNpbmNs
dWRlICJNb2NrUGFnZU92ZXJsYXkuaCIKICNpbmNsdWRlICJNb2NrUGFnZU92ZXJsYXlDbGllbnQu
aCIKKyNpbmNsdWRlICJNb2NrUlRDUnRwVHJhbnNmb3JtLmgiCiAjaW5jbHVkZSAiTmF2aWdhdG9y
QmVhY29uLmgiCiAjaW5jbHVkZSAiTmF2aWdhdG9yTWVkaWFEZXZpY2VzLmgiCiAjaW5jbHVkZSAi
TmV0d29ya0xvYWRJbmZvcm1hdGlvbi5oIgpAQCAtMTU3OSw2ICsxNTgwLDExIEBAIHZvaWQgSW50
ZXJuYWxzOjpzZXRXZWJSVENWUDlWVEJTdXBwb3J0KGJvb2wgdmFsdWUpCiAjZW5kaWYKIH0KIAor
UmVmPE1vY2tSVENSdHBUcmFuc2Zvcm0+IEludGVybmFsczo6Y3JlYXRlTW9ja1JUQ1J0cFRyYW5z
Zm9ybSgpCit7CisgICAgcmV0dXJuIE1vY2tSVENSdHBUcmFuc2Zvcm06OmNyZWF0ZSgpOworfQor
CiB2b2lkIEludGVybmFsczo6c2V0RW5hYmxlV2ViUlRDRW5jcnlwdGlvbihib29sIHZhbHVlKQog
ewogI2lmIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCBi
YjdkNTVlMjBmZGViNWExZDU4YjA5OWNmOTdhYmVlNTk1ODQ0YTE4Li4yNDg1ZTEzZDZkNDk1NjM3
OWU2ODY2NTA4YjAxNmViMTQyNGZlNjZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgK
QEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJFeGNlcHRpb25Pci5oIgogI2luY2x1ZGUgIkhF
VkNVdGlsaXRpZXMuaCIKICNpbmNsdWRlICJJRExUeXBlcy5oIgorI2luY2x1ZGUgIk1vY2tSVENS
dHBUcmFuc2Zvcm0uaCIKICNpbmNsdWRlICJPcmllbnRhdGlvbk5vdGlmaWVyLmgiCiAjaW5jbHVk
ZSAiUGFnZUNvbnNvbGVDbGllbnQuaCIKICNpbmNsdWRlICJSZWFsdGltZU1lZGlhU291cmNlLmgi
CkBAIC02MDYsNiArNjA3LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0V2ViUlRDSDI2NVN1cHBv
cnQoYm9vbCk7CiAgICAgdm9pZCBzZXRXZWJSVENWUDlTdXBwb3J0KGJvb2wpOwogICAgIHZvaWQg
c2V0V2ViUlRDVlA5VlRCU3VwcG9ydChib29sKTsKKyAgICBSZWY8TW9ja1JUQ1J0cFRyYW5zZm9y
bT4gY3JlYXRlTW9ja1JUQ1J0cFRyYW5zZm9ybSgpOwogICAgIHZvaWQgc2V0RW5hYmxlV2ViUlRD
RW5jcnlwdGlvbihib29sKTsKICAgICB2b2lkIHNldFVzZURUTFMxMChib29sKTsKICAgICB2b2lk
IHNldFVzZUdQVVByb2Nlc3NGb3JXZWJSVEMoYm9vbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5pZGwKaW5kZXggYmRiOWVlMmNiNmNhMjE1YThlOGRjYzJkMDBhMmZlNWQwODViZDY3MC4u
YjAxNTRiMjk4NTgwYmZhZDMzM2ExMTRhZjM4NGQxZGE5MDllMTY4MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtODAyLDYgKzgwMiw3IEBAIGVudW0gVHJlZVR5cGUgewog
ICAgIFtDb25kaXRpb25hbD1XRUJfUlRDXSB1bmRlZmluZWQgc2V0V2ViUlRDSDI2NVN1cHBvcnQo
Ym9vbGVhbiBhbGxvd2VkKTsKICAgICBbQ29uZGl0aW9uYWw9V0VCX1JUQ10gdW5kZWZpbmVkIHNl
dFdlYlJUQ1ZQOVN1cHBvcnQoYm9vbGVhbiBhbGxvd2VkKTsKICAgICBbQ29uZGl0aW9uYWw9V0VC
X1JUQ10gdW5kZWZpbmVkIHNldFdlYlJUQ1ZQOVZUQlN1cHBvcnQoYm9vbGVhbiBhbGxvd2VkKTsK
KyAgICBbQ29uZGl0aW9uYWw9V0VCX1JUQ10gTW9ja1JUQ1J0cFRyYW5zZm9ybSBjcmVhdGVNb2Nr
UlRDUnRwVHJhbnNmb3JtKCk7CiAKICAgICBbQ29uZGl0aW9uYWw9TUVESUFfU1RSRUFNXSB1bmRl
ZmluZWQgc2V0TW9ja0F1ZGlvVHJhY2tDaGFubmVsTnVtYmVyKE1lZGlhU3RyZWFtVHJhY2sgdHJh
Y2ssIHVuc2lnbmVkIHNob3J0IGNvdW50KTsKICAgICBbQ29uZGl0aW9uYWw9TUVESUFfU1RSRUFN
XSB1bmRlZmluZWQgc2V0U2hvdWxkSW50ZXJydXB0QXVkaW9PblBhZ2VWaXNpYmlsaXR5Q2hhbmdl
KGJvb2xlYW4gc2hvdWxkSW50ZXJydXB0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvTW9ja1JUQ1J0cFRyYW5zZm9ybS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01v
Y2tSVENSdHBUcmFuc2Zvcm0uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ1ZDA4Mjc1OGQ5MWI4OGQ4ODJlMzQx
M2I1MjIyNDUyZmNjNGRkZjIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL01vY2tSVENSdHBUcmFuc2Zvcm0uY3BwCkBAIC0wLDAgKzEsMTE1IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycn
IEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwK
KyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
I2luY2x1ZGUgIk1vY2tSVENSdHBUcmFuc2Zvcm0uaCIKKworI2lmIEVOQUJMRShXRUJfUlRDKQor
CisjaW5jbHVkZSAiUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmgiCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworY2xhc3MgTW9ja1JUQ1J0cFRyYW5zZm9ybWVyIDogcHVibGljIFRocmVhZFNhZmVS
ZWZDb3VudGVkPE1vY2tSVENSdHBUcmFuc2Zvcm1lciwgV1RGOjpEZXN0cnVjdGlvblRocmVhZDo6
TWFpbj4geworcHVibGljOgorICAgIHN0YXRpYyBSZWY8TW9ja1JUQ1J0cFRyYW5zZm9ybWVyPiBj
cmVhdGUoUmVmPFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ+JiYgYmFja2VuZCkKKyAgICB7CisgICAg
ICAgIGF1dG8gdHJhbnNmb3JtZXIgPSBhZG9wdFJlZigqbmV3IE1vY2tSVENSdHBUcmFuc2Zvcm1l
cihXVEZNb3ZlKGJhY2tlbmQpKSk7CisgICAgICAgIHRyYW5zZm9ybWVyLT5tX2JhY2tlbmQtPnNl
dFRyYW5zZm9ybWFibGVGcmFtZUNhbGxiYWNrKFt0cmFuc2Zvcm1lcl0oYXV0byYmIGZyYW1lKSB7
CisgICAgICAgICAgICB0cmFuc2Zvcm1lci0+dHJhbnNmb3JtKFdURk1vdmUoZnJhbWUpKTsKKyAg
ICAgICAgfSk7CisgICAgICAgIHJldHVybiB0cmFuc2Zvcm1lcjsKKyAgICB9CisKKyAgICB2b2lk
IGNsZWFyKCkKKyAgICB7CisgICAgICAgIG1fYmFja2VuZC0+Y2xlYXJUcmFuc2Zvcm1hYmxlRnJh
bWVDYWxsYmFjaygpOworICAgICAgICBtX2JhY2tlbmQgPSBudWxscHRyOworICAgIH0KKworICAg
IHZvaWQgdHJhbnNmb3JtKFJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZSYmIGZyYW1lKQorICAgIHsK
KyAgICAgICAgbV9pc1Byb2Nlc3NpbmcgPSB0cnVlOworCisgICAgICAgIGF1dG8gZGF0YSA9IGZy
YW1lLmRhdGEoKTsKKyAgICAgICAgVmVjdG9yPHVpbnQ4X3Q+IHRyYW5zZm9ybWVkRGF0YTsKKyAg
ICAgICAgc2l6ZV90IHN0YXJ0ID0gbV9pc0F1ZGlvID8gMCA6IDEwMDsKKyAgICAgICAgZm9yIChz
aXplX3QgY3B0ciA9IDA7IGNwdHIgPCBzdGFydDsgKytjcHRyKQorICAgICAgICAgICAgdHJhbnNm
b3JtZWREYXRhLmFwcGVuZChkYXRhLmRhdGFbY3B0cl0pOworICAgICAgICBmb3IgKHNpemVfdCBj
cHRyID0gc3RhcnQ7IGNwdHIgPCBkYXRhLnNpemU7ICsrY3B0cikKKyAgICAgICAgICAgIHRyYW5z
Zm9ybWVkRGF0YS5hcHBlbmQoMjU2IC0gZGF0YS5kYXRhW2NwdHJdKTsKKyAgICAgICAgZnJhbWUu
c2V0RGF0YSh7IHRyYW5zZm9ybWVkRGF0YS5kYXRhKCksIGRhdGEuc2l6ZSB9KTsKKworICAgICAg
ICBtX2JhY2tlbmQtPnByb2Nlc3NUcmFuc2Zvcm1lZEZyYW1lKFdURk1vdmUoZnJhbWUpKTsKKyAg
ICB9CisKKyAgICBib29sIGlzUHJvY2Vzc2luZygpIGNvbnN0IHsgcmV0dXJuIG1faXNQcm9jZXNz
aW5nOyB9CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgTW9ja1JUQ1J0cFRyYW5zZm9ybWVyKFJl
ZjxSVENSdHBUcmFuc2Zvcm1CYWNrZW5kPiYmIGJhY2tlbmQpCisgICAgICAgIDogbV9iYWNrZW5k
KFdURk1vdmUoYmFja2VuZCkpCisgICAgICAgICwgbV9pc1NlbmRlcihtX2JhY2tlbmQtPnNpZGUo
KSA9PSBSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpTaWRlOjpTZW5kZXIpCisgICAgICAgICwgbV9p
c0F1ZGlvKG1fYmFja2VuZC0+bWVkaWFUeXBlKCkgPT0gUlRDUnRwVHJhbnNmb3JtQmFja2VuZDo6
TWVkaWFUeXBlOjpBdWRpbykKKyAgICB7CisgICAgfQorCisgICAgUmVmUHRyPFJUQ1J0cFRyYW5z
Zm9ybUJhY2tlbmQ+IG1fYmFja2VuZDsKKyAgICBib29sIG1faXNTZW5kZXI7CisgICAgYm9vbCBt
X2lzQXVkaW87CisgICAgYm9vbCBtX2lzUHJvY2Vzc2luZyB7IGZhbHNlIH07Cit9OworCitNb2Nr
UlRDUnRwVHJhbnNmb3JtOjpNb2NrUlRDUnRwVHJhbnNmb3JtKCkKK3sKK30KKworTW9ja1JUQ1J0
cFRyYW5zZm9ybTo6fk1vY2tSVENSdHBUcmFuc2Zvcm0oKQoreworfQorCitib29sIE1vY2tSVENS
dHBUcmFuc2Zvcm06OmlzUHJvY2Vzc2luZygpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fdHJhbnNm
b3JtZXIgPyBtX3RyYW5zZm9ybWVyLT5pc1Byb2Nlc3NpbmcoKSA6IGZhbHNlOworfQorCit2b2lk
IE1vY2tSVENSdHBUcmFuc2Zvcm06OmluaXRpYWxpemVCYWNrZW5kRm9yUmVjZWl2ZXIoUlRDUnRw
VHJhbnNmb3JtQmFja2VuZCYgYmFja2VuZCkKK3sKKyAgICBtX3RyYW5zZm9ybWVyID0gTW9ja1JU
Q1J0cFRyYW5zZm9ybWVyOjpjcmVhdGUoYmFja2VuZCk7Cit9CisKK3ZvaWQgTW9ja1JUQ1J0cFRy
YW5zZm9ybTo6aW5pdGlhbGl6ZUJhY2tlbmRGb3JTZW5kZXIoUlRDUnRwVHJhbnNmb3JtQmFja2Vu
ZCYgYmFja2VuZCkKK3sKKyAgICBtX3RyYW5zZm9ybWVyID0gTW9ja1JUQ1J0cFRyYW5zZm9ybWVy
OjpjcmVhdGUoYmFja2VuZCk7Cit9CisKK3ZvaWQgTW9ja1JUQ1J0cFRyYW5zZm9ybTo6d2lsbENs
ZWFyQmFja2VuZChSVENSdHBUcmFuc2Zvcm1CYWNrZW5kJikKK3sKKyAgICBtX3RyYW5zZm9ybWVy
LT5jbGVhcigpOworICAgIG1fdHJhbnNmb3JtZXIgPSBudWxscHRyOworfQorCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX1JUQykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1JUQ1J0cFRyYW5zZm9ybS5oIGIvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9Nb2NrUlRDUnRwVHJhbnNmb3JtLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGQ5OTRkZmY3MTc0
MzIzNTM1MWY4ZjBhMzM5NmZjNTlhMWNhZDI5MAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvTW9ja1JUQ1J0cFRyYW5zZm9ybS5oCkBAIC0wLDAgKzEsNTUgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBg
YEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UK
KworI2lmIEVOQUJMRShXRUJfUlRDKQorCisjaW5jbHVkZSAiUlRDUnRwVHJhbnNmb3JtLmgiCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTW9ja1JUQ1J0cFRyYW5zZm9ybWVyOworCitj
bGFzcyBNb2NrUlRDUnRwVHJhbnNmb3JtIGZpbmFsIDogcHVibGljIFJUQ1J0cFRyYW5zZm9ybSB7
CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxNb2NrUlRDUnRwVHJhbnNmb3JtPiBjcmVhdGUoKSB7
IHJldHVybiBhZG9wdFJlZigqbmV3IE1vY2tSVENSdHBUcmFuc2Zvcm0oKSk7IH0KKyAgICB+TW9j
a1JUQ1J0cFRyYW5zZm9ybSgpOworCisgICAgYm9vbCBpc1Byb2Nlc3NpbmcoKSBjb25zdDsKKwor
cHJpdmF0ZToKKyAgICBNb2NrUlRDUnRwVHJhbnNmb3JtKCk7CisKKyAgICB2b2lkIGluaXRpYWxp
emVCYWNrZW5kRm9yUmVjZWl2ZXIoUlRDUnRwVHJhbnNmb3JtQmFja2VuZCYpIGZpbmFsOworICAg
IHZvaWQgaW5pdGlhbGl6ZUJhY2tlbmRGb3JTZW5kZXIoUlRDUnRwVHJhbnNmb3JtQmFja2VuZCYp
IGZpbmFsOworICAgIHZvaWQgd2lsbENsZWFyQmFja2VuZChSVENSdHBUcmFuc2Zvcm1CYWNrZW5k
JikgZmluYWw7CisKKyAgICBSZWZQdHI8TW9ja1JUQ1J0cFRyYW5zZm9ybWVyPiBtX3RyYW5zZm9y
bWVyOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFdF
Ql9SVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tSVENSdHBUcmFu
c2Zvcm0uaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUlRDUnRwVHJhbnNmb3JtLmlk
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4wOWViMGMzY2ExNWM1ZjE5N2YzNmNmYjQ3NDljMTE4MDZlOGFjNzc3Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUlRDUnRwVHJhbnNm
b3JtLmlkbApAQCAtMCwwICsxLDMyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
CisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworWworICAgIENvbmRpdGlvbmFsPVdFQl9SVEMsCisgICAgSlNHZW5lcmF0
ZVRvSlNPYmplY3QsCisgICAgTGVnYWN5Tm9JbnRlcmZhY2VPYmplY3QsCitdIGludGVyZmFjZSBN
b2NrUlRDUnRwVHJhbnNmb3JtIDogUlRDUnRwVHJhbnNmb3JtIHsKKyAgICByZWFkb25seSBhdHRy
aWJ1dGUgYm9vbGVhbiBpc1Byb2Nlc3Npbmc7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNzLmNwcCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ0NvZGVjcy5jcHAKaW5kZXggNDhiODc3
NDFlMjI0YjJhNTI0ZTQwZjQ2MzQzZGRiOTkwM2I1MGIyNy4uMGM2ZjczZDA3MTQ0YjU2MjY3Njkz
NjdjOWYyYTNhNDAxN2VhZGU4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3MuY3BwCkBAIC00NDEsNyArNDQxLDcgQEAg
dm9pZCBMaWJXZWJSVENDb2RlY3M6OmNvbXBsZXRlZEVuY29kaW5nKFJUQ0VuY29kZXJJZGVudGlm
aWVyIGlkZW50aWZpZXIsIElQQzo6RGEKICAgICBpZiAoIWVuY29kZXItPmVuY29kZWRJbWFnZUNh
bGxiYWNrKQogICAgICAgICByZXR1cm47CiAKLSAgICB3ZWJydGM6OmVuY29kZXJWaWRlb1Rhc2tD
b21wbGV0ZShlbmNvZGVyLT5lbmNvZGVkSW1hZ2VDYWxsYmFjaywgZW5jb2Rlci0+Y29kZWNUeXBl
LCBjb25zdF9jYXN0PHVpbnQ4X3QqPihkYXRhLmRhdGEoKSksIGRhdGEuc2l6ZSgpLCBpbmZvKTsK
KyAgICB3ZWJydGM6OmVuY29kZXJWaWRlb1Rhc2tDb21wbGV0ZShlbmNvZGVyLT5lbmNvZGVkSW1h
Z2VDYWxsYmFjaywgZW5jb2Rlci0+Y29kZWNUeXBlLCBkYXRhLmRhdGEoKSwgZGF0YS5zaXplKCks
IGluZm8pOwogfQogCiBDVlBpeGVsQnVmZmVyUG9vbFJlZiBMaWJXZWJSVENDb2RlY3M6OnBpeGVs
QnVmZmVyUG9vbChzaXplX3Qgd2lkdGgsIHNpemVfdCBoZWlnaHQsIE9TVHlwZSB0eXBlKQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IGFmMDU1NWZjZWQ2ZmRhNDk0OTJhN2IyZjEzNWJjNTZkOWViYTYxZWIuLjQ5NDYzNDQ4YWI5
ZDBkOWI0Y2QwNTExMGExZDRjMzVlNjRkYzQzNzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAy
MC0xMS0xMiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgV2Vi
UHJvY2VzcyBzaG91bGQgcHJvY2VzcyBXZWJSVEMgY29kZWNzIElQQyBtZXNzYWdlcyBmcm9tIHRo
ZSBHUFUgUHJvY2VzcyBpbiBhIGJhY2tncm91bmQgdGhyZWFkCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTg3OTAKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzcxMzMyNDM5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIHdlYnJ0Yy10cmFuc2Zvcm0KKworICAgICAgICAqIHdlYnJ0Yy93ZWJydGMtdHJhbnNm
b3JtLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2VicnRjL3dlYnJ0Yy10cmFuc2Zv
cm0uaHRtbDogQWRkZWQuCisKKzIwMjAtMTEtMTEgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBw
bGUuY29tPgorCisgICAgICAgIEFkZCBpbmZyYXN0cnVjdHVyZSBmb3IgV2ViUlRDIHRyYW5zZm9y
bXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODc1
MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2Vi
cnRjL3dlYnJ0Yy10cmFuc2Zvcm0tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJy
dGMvd2VicnRjLXRyYW5zZm9ybS5odG1sOiBBZGRlZC4KKwogMjAyMC0xMS0xMCAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgVXBkYXRlIFdlYlJUQyBsaXdlYnJ0
YyB0byBNODcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYnJ0Yy93ZWJydGMtdHJhbnNmb3Jt
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYnJ0Yy93ZWJydGMtdHJhbnNmb3JtLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mYThmNTFiM2M4MDBjNWQ3YWM0OTNkNzAzMzAwYWNkNjgyNzhm
OWY4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2VicnRjL3dlYnJ0Yy10cmFuc2Zv
cm0tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorCisKK1BBU1MgYXVkaW8gZXhjaGFuZ2Ug
d2l0aCB0cmFuc2Zvcm0KK1BBU1MgdmlkZW8gZXhjaGFuZ2Ugd2l0aCB0cmFuc2Zvcm0KKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2VicnRjL3dlYnJ0Yy10cmFuc2Zvcm0uaHRtbCBiL0xheW91
dFRlc3RzL3dlYnJ0Yy93ZWJydGMtdHJhbnNmb3JtLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTljNWE2ZGZh
NTc3YmEzYmE5MGVlYWU1MjBjNjMyNTE1NGUxYWY1MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3dlYnJ0Yy93ZWJydGMtdHJhbnNmb3JtLmh0bWwKQEAgLTAsMCArMSw4NiBAQAorPCFk
b2N0eXBlIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgY2hhcnNldD0i
dXRmLTgiPgorICAgICAgICA8dGl0bGU+VGVzdGluZyBtZWRpYSBleGNoYW5nZSB3aXRoIHRyYW5z
Zm9ybTwvdGl0bGU+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDx2aWRlbyBpZD0idmlkZW8xIiBhdXRvcGxheT48L3ZpZGVvPgorICAgICAgICA8dmlkZW8g
aWQ9InZpZGVvMiIgYXV0b3BsYXk+PC92aWRlbz4KKyAgICAgICAgPHNjcmlwdCBzcmMgPSJyb3V0
aW5lcy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQ+Citwcm9taXNlX3Rlc3QoYXN5bmMg
KHRlc3QpID0+IHsKKyAgICBpZiAoIXdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgIHJldHVybjsK
KworICAgIGxldCBzZW5kZXIsIHJlY2VpdmVyOworICAgIGxldCBzZW5kZXJUcmFuc2Zvcm0gPSBp
bnRlcm5hbHMuY3JlYXRlTW9ja1JUQ1J0cFRyYW5zZm9ybSgpOworICAgIGxldCByZWNlaXZlclRy
YW5zZm9ybSA9IGludGVybmFscy5jcmVhdGVNb2NrUlRDUnRwVHJhbnNmb3JtKCk7CisKKyAgICBj
b25zdCBsb2NhbFN0cmVhbSA9IGF3YWl0IG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1l
ZGlhKHthdWRpbzogdHJ1ZX0pOworICAgIGNvbnN0IHN0cmVhbSA9IGF3YWl0IG5ldyBQcm9taXNl
KChyZXNvbHZlLCByZWplY3QpID0+IHsKKyAgICAgICAgY3JlYXRlQ29ubmVjdGlvbnMoKGZpcnN0
Q29ubmVjdGlvbikgPT4geworICAgICAgICAgICAgcGMxID0gZmlyc3RDb25uZWN0aW9uOworICAg
ICAgICAgICAgc2VuZGVyID0gZmlyc3RDb25uZWN0aW9uLmFkZFRyYWNrKGxvY2FsU3RyZWFtLmdl
dEF1ZGlvVHJhY2tzKClbMF0sIGxvY2FsU3RyZWFtKTsKKyAgICAgICAgICAgIHNlbmRlci50cmFu
c2Zvcm0gPSBzZW5kZXJUcmFuc2Zvcm07CisgICAgICAgIH0sIChzZWNvbmRDb25uZWN0aW9uKSA9
PiB7CisgICAgICAgICAgICBwYzIgPSBzZWNvbmRDb25uZWN0aW9uOworICAgICAgICAgICAgc2Vj
b25kQ29ubmVjdGlvbi5vbnRyYWNrID0gKHRyYWNrRXZlbnQpID0+IHsKKyAgICAgICAgICAgICAg
ICByZWNlaXZlciA9IHRyYWNrRXZlbnQucmVjZWl2ZXI7CisgICAgICAgICAgICAgICAgcmVjZWl2
ZXIudHJhbnNmb3JtID0gcmVjZWl2ZXJUcmFuc2Zvcm07CisgICAgICAgICAgICAgICAgcmVzb2x2
ZSh0cmFja0V2ZW50LnN0cmVhbXNbMF0pOworICAgICAgICAgICAgfTsKKyAgICAgICAgfSk7Cisg
ICAgICAgIHNldFRpbWVvdXQoKCkgPT4gcmVqZWN0KCJUZXN0IHRpbWVkIG91dCIpLCA1MDAwKTsK
KyAgICB9KTsKKworICAgIHZpZGVvMS5zcmNPYmplY3QgPSBzdHJlYW07CisgICAgYXdhaXQgdmlk
ZW8xLnBsYXkoKTsKKworICAgIGxldCBjb3VudGVyID0gMDsKKyAgICB3aGlsZSAoIXJlY2VpdmVy
VHJhbnNmb3JtLmlzUHJvY2Vzc2luZyAmJiBjb3VudGVyKysgPCAxMDApCisgICAgICAgIGF3YWl0
IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gc2V0VGltZW91dChyZXNvbHZlLCA1MCkpOworCisgICAg
YXNzZXJ0X3RydWUoc2VuZGVyVHJhbnNmb3JtLmlzUHJvY2Vzc2luZywgInNlbmRlciIpOworfSwg
ImF1ZGlvIGV4Y2hhbmdlIHdpdGggdHJhbnNmb3JtIik7CisKK3Byb21pc2VfdGVzdChhc3luYyAo
dGVzdCkgPT4geworICAgIGlmICghd2luZG93LmludGVybmFscykKKyAgICAgICAgcmV0dXJuOwor
CisgICAgbGV0IHNlbmRlciwgcmVjZWl2ZXI7CisgICAgbGV0IHNlbmRlclRyYW5zZm9ybSA9IGlu
dGVybmFscy5jcmVhdGVNb2NrUlRDUnRwVHJhbnNmb3JtKCk7CisgICAgbGV0IHJlY2VpdmVyVHJh
bnNmb3JtID0gaW50ZXJuYWxzLmNyZWF0ZU1vY2tSVENSdHBUcmFuc2Zvcm0oKTsKKworICAgIGNv
bnN0IGxvY2FsU3RyZWFtID0gYXdhaXQgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVk
aWEoe3ZpZGVvOiB0cnVlfSk7CisKKyAgICBjb25zdCBzdHJlYW0gPSBhd2FpdCBuZXcgUHJvbWlz
ZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CisgICAgICAgIGNyZWF0ZUNvbm5lY3Rpb25zKChmaXJz
dENvbm5lY3Rpb24pID0+IHsKKyAgICAgICAgICAgIHBjMSA9IGZpcnN0Q29ubmVjdGlvbjsKKyAg
ICAgICAgICAgIHNlbmRlciA9IGZpcnN0Q29ubmVjdGlvbi5hZGRUcmFjayhsb2NhbFN0cmVhbS5n
ZXRWaWRlb1RyYWNrcygpWzBdLCBsb2NhbFN0cmVhbSk7CisgICAgICAgICAgICBzZW5kZXIudHJh
bnNmb3JtID0gc2VuZGVyVHJhbnNmb3JtOworICAgICAgICB9LCAoc2Vjb25kQ29ubmVjdGlvbikg
PT4geworICAgICAgICAgICAgcGMyID0gc2Vjb25kQ29ubmVjdGlvbjsKKyAgICAgICAgICAgIHNl
Y29uZENvbm5lY3Rpb24ub250cmFjayA9ICh0cmFja0V2ZW50KSA9PiB7CisgICAgICAgICAgICAg
ICAgcmVjZWl2ZXIgPSB0cmFja0V2ZW50LnJlY2VpdmVyOworICAgICAgICAgICAgICAgIHJlY2Vp
dmVyLnRyYW5zZm9ybSA9IHJlY2VpdmVyVHJhbnNmb3JtOworICAgICAgICAgICAgICAgIHJlc29s
dmUodHJhY2tFdmVudC5zdHJlYW1zWzBdKTsKKyAgICAgICAgICAgIH07CisgICAgICAgIH0pOwor
ICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHJlamVjdCgiVGVzdCB0aW1lZCBvdXQiKSwgNTAwMCk7
CisgICAgfSk7CisKKyAgICB2aWRlbzIuc3JjT2JqZWN0ID0gc3RyZWFtOworICAgIGF3YWl0IHZp
ZGVvMi5wbGF5KCk7CisKKyAgIGxldCBjb3VudGVyID0gMDsKKyAgIHdoaWxlICghcmVjZWl2ZXJU
cmFuc2Zvcm0uaXNQcm9jZXNzaW5nICYmIGNvdW50ZXIrKyA8IDEwMCkKKyAgICAgICBhd2FpdCBu
ZXcgUHJvbWlzZShyZXNvbHZlID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgNTApKTsKKworICAgIGFz
c2VydF90cnVlKHNlbmRlclRyYW5zZm9ybS5pc1Byb2Nlc3NpbmcsICJzZW5kZXIiKTsKK30sICJ2
aWRlbyBleGNoYW5nZSB3aXRoIHRyYW5zZm9ybSIpOworICAgICAgICA8L3NjcmlwdD4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+Cg==
</data>
<flag name="commit-queue"
          id="430674"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413953</attachid>
            <date>2020-11-12 11:14:46 -0800</date>
            <delta_ts>2020-11-12 11:15:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218790-20201112201443.patch</filename>
            <type>text/plain</type>
            <size>121304</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5NjQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvQ2hhbmdlTG9nIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NoYW5n
ZUxvZwppbmRleCBhZjg2M2M5ZWM1ZDA1YzIwODE0YmQwNWJmNmE5YzE0MWFhNWQ1MDliLi4wYzUw
ZDE5YTQyNmQ5OTQyNjAwYjQ0OTk1NTNmNmI4YTFkYTUwOWJlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAyMC0xMS0xMiAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViUHJvY2VzcyBzaG91bGQgcHJv
Y2VzcyBXZWJSVEMgY29kZWNzIElQQyBtZXNzYWdlcyBmcm9tIHRoZSBHUFUgUHJvY2VzcyBpbiBh
IGJhY2tncm91bmQgdGhyZWFkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMTg3OTAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzcxMzMyNDM5PgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2Ugc3VyZSBi
dWZmZXIgaXMgb3duZWQgYnkgdGhlIGVuY29kZWQgaW1hZ2Ugb2JqZWN0LgorCisgICAgICAgICog
Q29uZmlndXJhdGlvbnMvbGlid2VicnRjLm1hYy5leHA6CisgICAgICAgICogU291cmNlL3dlYnJ0
Yy9zZGsvV2ViS2l0L1dlYktpdEVuY29kZXIuaDoKKyAgICAgICAgKiBTb3VyY2Uvd2VicnRjL3Nk
ay9XZWJLaXQvV2ViS2l0RW5jb2Rlci5tbToKKyAgICAgICAgKHdlYnJ0Yzo6ZW5jb2RlclZpZGVv
VGFza0NvbXBsZXRlKToKKwogMjAyMC0xMS0xMCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBs
ZS5jb20+IGFuZCBWaWN0b3IgTSBKYXF1ZXogPHZqYXF1ZXpAaWdhbGlhLmNvbT4KIAogICAgICAg
ICBVcGRhdGUgV2ViUlRDIGxpd2VicnRjIHRvIE04NwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRleCBmMzg5NzVjNWIzNjUxZmFlNWNl
OGEwOGMyY2VkYzMyYzZlNmNmMWMyLi4wYzk0MzZmOGM4N2Y4M2UxM2ZlZjY3ZjdiNmZmYTM2MmEy
M2ZiZDU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RG
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIwLTExLTExICBZb3Vlbm4gRmFibGV0ICA8
eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgaW5mcmFzdHJ1Y3R1cmUgZm9yIFdlYlJU
QyB0cmFuc2Zvcm1zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMTg3NTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBZGQgYW4gZXhwZXJpbWVudGFsIHByZWZlcmVuY2UgZm9yIFdlYlJUQyB0cmFuc2Zvcm1z
LgorCisgICAgICAgICogU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1l
bnRhbC55YW1sOgorCiAyMDIwLTExLTEwICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgUGFyc2UgYXNwZWN0LXJhdGlvIENTUyBwcm9wZXJ0eQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDYz
OTNiMTg3Njg4M2I4ZTc4ZDZiNzdhNDQ0MTMyOWJmYTA1YjkzN2EuLjg4ZTUzNDc5MmNhZTE1OGRl
NjhjY2NkOTJlYmNhZmI0ZWU2YjI1NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMTAgQEAKKzIw
MjAtMTEtMTEgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEFk
ZCBpbmZyYXN0cnVjdHVyZSBmb3IgV2ViUlRDIHRyYW5zZm9ybXMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODc1MAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEludHJvZHVjZSBSVENSdHBUcmFuc2Zvcm0g
YmVoaW5kIGEgcHJlZmVyZW5jZS4KKyAgICAgICAgQWRkIGJpbmRpbmcgY29kZSB3aXRoIGxpYndl
YnJ0YyB0byBiZSBhYmxlIHRvIHByb2Nlc3MgZW5jb2RlZCBjb250ZW50IGluIHNlbmRlciBhbmQg
cmVjZWl2ZXIgc2lkZXMuCisgICAgICAgIEFkZCBhIG1vY2sgdHJhbnNmb3JtIHRvIHZhbGlkYXRl
IHRoZSBpbmZyYXN0cnVjdHVyZSBpcyB3b3JraW5nLgorCisgICAgICAgIFRlc3Q6IHdlYnJ0Yy93
ZWJydGMtdHJhbnNmb3JtLmh0bWwKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAg
ICAqIERlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNv
dXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToK
KyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVyK1RyYW5zZm9ybS5p
ZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UlRDUnRwUmVjZWl2ZXI6On5SVENSdHBSZWNlaXZlcik6
CisgICAgICAgIChXZWJDb3JlOjpSVENSdHBSZWNlaXZlcjo6c3RvcCk6CisgICAgICAgIChXZWJD
b3JlOjpSVENSdHBSZWNlaXZlcjo6c2V0VHJhbnNmb3JtKToKKyAgICAgICAgKiBNb2R1bGVzL21l
ZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVyLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENSdHBSZWNlaXZlckJhY2tlbmQuaDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ1J0cFJlY2VpdmVyV2l0aFRyYW5zZm9ybS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OlJUQ1J0cFJlY2VpdmVyV2l0aFRyYW5zZm9ybTo6dHJhbnNmb3JtKToKKyAgICAgICAgKFdlYkNv
cmU6OlJUQ1J0cFJlY2VpdmVyV2l0aFRyYW5zZm9ybTo6c2V0VHJhbnNmb3JtKToKKyAgICAgICAg
KiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlcitUcmFuc2Zvcm0uaWRsOiBBZGRlZC4K
KyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSVENSdHBTZW5kZXI6On5SVENSdHBTZW5kZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6UlRDUnRwU2VuZGVyOjpzdG9wKToKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1J0cFNlbmRlcjo6
c2V0VHJhbnNmb3JtKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRl
ci5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyQmFja2VuZC5o
OgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyV2l0aFRyYW5zZm9y
bS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJUQ1J0cFNlbmRlcldpdGhUcmFuc2Zvcm06
OnRyYW5zZm9ybSk6CisgICAgICAgIChXZWJDb3JlOjpSVENSdHBTZW5kZXJXaXRoVHJhbnNmb3Jt
OjpzZXRUcmFuc2Zvcm0pOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJh
bnNmb3JtLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpSVENSdHBUcmFuc2Zvcm06On5S
VENSdHBUcmFuc2Zvcm0pOgorICAgICAgICAoV2ViQ29yZTo6UlRDUnRwVHJhbnNmb3JtOjphdHRh
Y2hUb1JlY2VpdmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1J0cFRyYW5zZm9ybTo6YXR0YWNo
VG9TZW5kZXIpOgorICAgICAgICAoV2ViQ29yZTo6UlRDUnRwVHJhbnNmb3JtOjpkZXRhY2hGcm9t
UmVjZWl2ZXIpOgorICAgICAgICAoV2ViQ29yZTo6UlRDUnRwVHJhbnNmb3JtOjpkZXRhY2hGcm9t
U2VuZGVyKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zZm9ybS5o
OiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zZm9ybS5p
ZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNmb3Jt
QmFja2VuZC5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRy
YW5zZm9ybWFibGVGcmFtZS5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFt
L2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBSZWNlaXZlckJhY2tlbmQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6TGliV2ViUlRDUnRwUmVjZWl2ZXJCYWNrZW5kOjpjcmVhdGVSVENSdHBUcmFuc2Zvcm1C
YWNrZW5kKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJS
VENSdHBSZWNlaXZlckJhY2tlbmQuaDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL2xp
YndlYnJ0Yy9MaWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQuY3BwOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmU6Om1lZGlhVHlwZUZyb21SZWNlaXZlcik6CisgICAgICAgIChXZWJD
b3JlOjpMaWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQ6OkxpYldlYlJUQ1J0cFJl
Y2VpdmVyVHJhbnNmb3JtQmFja2VuZCk6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENSdHBS
ZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQ6On5MaWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJh
Y2tlbmQpOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1C
YWNrZW5kOjpzZXRUcmFuc2Zvcm1hYmxlRnJhbWVDYWxsYmFjayk6CisgICAgICAgICogTW9kdWxl
cy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNr
ZW5kLmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xp
YldlYlJUQ1J0cFNlbmRlckJhY2tlbmQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRD
UnRwU2VuZGVyQmFja2VuZDo6Y3JlYXRlUlRDUnRwVHJhbnNmb3JtQmFja2VuZCk6CisgICAgICAg
ICogTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwU2VuZGVyQmFja2Vu
ZC5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0
cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Om1l
ZGlhVHlwZUZyb21TZW5kZXIpOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDUnRwU2VuZGVy
VHJhbnNmb3JtQmFja2VuZDo6TGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZCk6Cisg
ICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kOjp+TGli
V2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZCk6CisgICAgICAgIChXZWJDb3JlOjpMaWJX
ZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kOjpzZXRUcmFuc2Zvcm1hYmxlRnJhbWVDYWxs
YmFjayk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRD
UnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZC5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL21l
ZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmNwcDogQWRk
ZWQuCisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpzZXRJ
bnB1dENhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ1J0cFRyYW5zZm9ybUJh
Y2tlbmQ6OmNsZWFyVHJhbnNmb3JtYWJsZUZyYW1lQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29y
ZTo6TGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZDo6c2V0T3V0cHV0Q2FsbGJhY2spOgorICAg
ICAgICAoV2ViQ29yZTo6TGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZDo6cHJvY2Vzc1RyYW5z
Zm9ybWVkRnJhbWUpOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDUnRwVHJhbnNmb3JtQmFj
a2VuZDo6VHJhbnNmb3JtKToKKyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ1J0cFRyYW5zZm9y
bUJhY2tlbmQ6OlJlZ2lzdGVyVHJhbnNmb3JtZWRGcmFtZUNhbGxiYWNrKToKKyAgICAgICAgKFdl
YkNvcmU6OkxpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6OlJlZ2lzdGVyVHJhbnNmb3JtZWRG
cmFtZVNpbmtDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENSdHBUcmFuc2Zv
cm1CYWNrZW5kOjpVbnJlZ2lzdGVyVHJhbnNmb3JtZWRGcmFtZUNhbGxiYWNrKToKKyAgICAgICAg
KFdlYkNvcmU6OkxpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6OlVucmVnaXN0ZXJUcmFuc2Zv
cm1lZEZyYW1lU2lua0NhbGxiYWNrKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL2xp
YndlYnJ0Yy9MaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmg6IEFkZGVkLgorICAgICAgICAo
V2ViQ29yZTo6TGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZDo6TGliV2ViUlRDUnRwVHJhbnNm
b3JtQmFja2VuZCk6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNr
ZW5kOjpSZWxlYXNlIGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL2xpYndl
YnJ0Yy9MaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuaDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlOjpMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWU6OkxpYldlYlJUQ1J0cFRyYW5z
Zm9ybWFibGVGcmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENSdHBUcmFuc2Zvcm1h
YmxlRnJhbWU6OnRvUlRDRnJhbWUpOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDUnRwVHJh
bnNmb3JtYWJsZUZyYW1lOjpkYXRhIGNvbnN0KToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAg
ICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmlu
ZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oOgorICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvQ29kZUdlbmVyYXRvckpTLnBtOgorICAgICAgICAoR2VuZXJhdGVIZWFkZXIpOgorICAgICAg
ICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuaDoKKyAgICAgICAg
KiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OmNy
ZWF0ZU1vY2tSVENSdHBUcmFuc2Zvcm0pOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6
CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaWRsOgorICAgICAgICAqIHRlc3RpbmcvTW9j
a1JUQ1J0cFRyYW5zZm9ybS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TW9ja1JUQ1J0
cFRyYW5zZm9ybWVyOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TW9ja1JUQ1J0cFRyYW5z
Zm9ybWVyOjpjbGVhcik6CisgICAgICAgIChXZWJDb3JlOjpNb2NrUlRDUnRwVHJhbnNmb3JtZXI6
OnRyYW5zZm9ybSk6CisgICAgICAgIChXZWJDb3JlOjpNb2NrUlRDUnRwVHJhbnNmb3JtZXI6Omlz
UHJvY2Vzc2luZyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpNb2NrUlRDUnRwVHJhbnNmb3Jt
ZXI6Ok1vY2tSVENSdHBUcmFuc2Zvcm1lcik6CisgICAgICAgIChXZWJDb3JlOjpNb2NrUlRDUnRw
VHJhbnNmb3JtOjpNb2NrUlRDUnRwVHJhbnNmb3JtKToKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tS
VENSdHBUcmFuc2Zvcm06On5Nb2NrUlRDUnRwVHJhbnNmb3JtKToKKyAgICAgICAgKFdlYkNvcmU6
Ok1vY2tSVENSdHBUcmFuc2Zvcm06OmlzUHJvY2Vzc2luZyBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpNb2NrUlRDUnRwVHJhbnNmb3JtOjppbml0aWFsaXplQmFja2VuZEZvclJlY2VpdmVyKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1vY2tSVENSdHBUcmFuc2Zvcm06OmluaXRpYWxpemVCYWNrZW5k
Rm9yU2VuZGVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tSVENSdHBUcmFuc2Zvcm06OndpbGxD
bGVhckJhY2tlbmQpOgorICAgICAgICAqIHRlc3RpbmcvTW9ja1JUQ1J0cFRyYW5zZm9ybS5oOiBB
ZGRlZC4KKyAgICAgICAgKiB0ZXN0aW5nL01vY2tSVENSdHBUcmFuc2Zvcm0uaWRsOiBBZGRlZC4K
KwogMjAyMC0xMS0xMCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+IGFuZCBWaWN0
b3IgTSBKYXF1ZXogPHZqYXF1ZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBVcGRhdGUgV2ViUlRD
IGxpd2VicnRjIHRvIE04NwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA2NTM5ZGI4YTVlMTA3YjIwYjYwNDQ1MThhZjhj
MGJlYWUyNmE2YmRkLi5lNjlmODFhYjE2MjIwMTE2MDVhY2YwZWQ4NzUyM2RlOWI1Njg4NWUzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTExLTEyICBZb3Vlbm4gRmFibGV0ICA8eW91
ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBXZWJQcm9jZXNzIHNob3VsZCBwcm9jZXNzIFdlYlJU
QyBjb2RlY3MgSVBDIG1lc3NhZ2VzIGZyb20gdGhlIEdQVSBQcm9jZXNzIGluIGEgYmFja2dyb3Vu
ZCB0aHJlYWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIxODc5MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzEzMzI0Mzk+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIG5vIGxvbmdlciBuZWVk
ZWQgY29uc3QgY2FzdGluZy4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL1dlYktpdC54Y2Nv
bmZpZzoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNzLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDQ29kZWNzOjpjb21wbGV0ZWRFbmNvZGluZyk6
CisKIDIwMjAtMTEtMTEgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAg
ICAgIFdlYlByb2Nlc3Mgc2hvdWxkIHByb2Nlc3MgV2ViUlRDIGNvZGVjcyBJUEMgbWVzc2FnZXMg
ZnJvbSB0aGUgR1BVIFByb2Nlc3MgaW4gYSBiYWNrZ3JvdW5kIHRocmVhZApkaWZmIC0tZ2l0IGEv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5pT1Mu
ZXhwIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0
Yy5pT1MuZXhwCmluZGV4IDQ4ZTQ0NTkyOTMxZGNjODRhZDM3Mzc1YmE5ZjYwOTBiMTAxMmM2N2Qu
LmEyY2FmYjM5MjI5OWU5NWI3YTdiZGZlNmUzNmQ3ZmYwNWY3MTkwZmIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMuaU9TLmV4
cAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvbGlid2Vi
cnRjLmlPUy5leHAKQEAgLTIyOSw3ICsyMjksNyBAQCBfX1pONndlYnJ0YzI0dmlkZW9EZWNvZGVy
VGFza0NvbXBsZXRlRVB2alAxMF9fQ1ZCdWZmZXJqCiBfX1pONndlYnJ0YzI0c2V0VmlkZW9EZWNv
ZGVyQ2FsbGJhY2tzRVBGUHZSS05TXzE0U2RwVmlkZW9Gb3JtYXRFRVBGaVMwX0VQRmlTMF9qUEto
bXR0RVBGaVMwX1MwX0UKIF9fWk42d2VicnRjMTlzZXREZWNvZGVyRnJhbWVTaXplRVB2dHQKIF9f
Wk42d2VicnRjMThSdHBDb2RlY0NhcGFiaWxpdHlDMUV2Ci1fX1pONndlYnJ0YzI0ZW5jb2RlclZp
ZGVvVGFza0NvbXBsZXRlRVB2TlNfMTRWaWRlb0NvZGVjVHlwZUVQaG1SS05TXzIyV2ViS2l0RW5j
b2RlZEZyYW1lSW5mb0UKK19fWk42d2VicnRjMjRlbmNvZGVyVmlkZW9UYXNrQ29tcGxldGVFUHZO
U18xNFZpZGVvQ29kZWNUeXBlRVBLaG1SS05TXzIyV2ViS2l0RW5jb2RlZEZyYW1lSW5mb0UKIF9f
Wk42d2VicnRjMjRzZXRWaWRlb0VuY29kZXJDYWxsYmFja3NFUEZQdlJLTlNfMTRTZHBWaWRlb0Zv
cm1hdEVFUEZpUzBfRVBGaVMwX1JLTlNfMTBWaWRlb0NvZGVjRUVQRmlTMF9SS05TXzEwVmlkZW9G
cmFtZUViRVBGaVMwX1MwX0VQRnZTMF9SS05TXzEyVmlkZW9FbmNvZGVyMjFSYXRlQ29udHJvbFBh
cmFtZXRlcnNFRQogX19aTjZ3ZWJydGMyMHNldExvY2FsRW5jb2RlclJhdGVzRVB2amoKIF9fWk42
d2VicnRjMjVzZXRMb2NhbEVuY29kZXJMb3dMYXRlbmN5RVB2YgpkaWZmIC0tZ2l0IGEvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5pT1NzaW0uZXhw
IGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5p
T1NzaW0uZXhwCmluZGV4IDQ4ZTQ0NTkyOTMxZGNjODRhZDM3Mzc1YmE5ZjYwOTBiMTAxMmM2N2Qu
LmEyY2FmYjM5MjI5OWU5NWI3YTdiZGZlNmUzNmQ3ZmYwNWY3MTkwZmIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMuaU9Tc2lt
LmV4cAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvbGli
d2VicnRjLmlPU3NpbS5leHAKQEAgLTIyOSw3ICsyMjksNyBAQCBfX1pONndlYnJ0YzI0dmlkZW9E
ZWNvZGVyVGFza0NvbXBsZXRlRVB2alAxMF9fQ1ZCdWZmZXJqCiBfX1pONndlYnJ0YzI0c2V0Vmlk
ZW9EZWNvZGVyQ2FsbGJhY2tzRVBGUHZSS05TXzE0U2RwVmlkZW9Gb3JtYXRFRVBGaVMwX0VQRmlT
MF9qUEtobXR0RVBGaVMwX1MwX0UKIF9fWk42d2VicnRjMTlzZXREZWNvZGVyRnJhbWVTaXplRVB2
dHQKIF9fWk42d2VicnRjMThSdHBDb2RlY0NhcGFiaWxpdHlDMUV2Ci1fX1pONndlYnJ0YzI0ZW5j
b2RlclZpZGVvVGFza0NvbXBsZXRlRVB2TlNfMTRWaWRlb0NvZGVjVHlwZUVQaG1SS05TXzIyV2Vi
S2l0RW5jb2RlZEZyYW1lSW5mb0UKK19fWk42d2VicnRjMjRlbmNvZGVyVmlkZW9UYXNrQ29tcGxl
dGVFUHZOU18xNFZpZGVvQ29kZWNUeXBlRVBLaG1SS05TXzIyV2ViS2l0RW5jb2RlZEZyYW1lSW5m
b0UKIF9fWk42d2VicnRjMjRzZXRWaWRlb0VuY29kZXJDYWxsYmFja3NFUEZQdlJLTlNfMTRTZHBW
aWRlb0Zvcm1hdEVFUEZpUzBfRVBGaVMwX1JLTlNfMTBWaWRlb0NvZGVjRUVQRmlTMF9SS05TXzEw
VmlkZW9GcmFtZUViRVBGaVMwX1MwX0VQRnZTMF9SS05TXzEyVmlkZW9FbmNvZGVyMjFSYXRlQ29u
dHJvbFBhcmFtZXRlcnNFRQogX19aTjZ3ZWJydGMyMHNldExvY2FsRW5jb2RlclJhdGVzRVB2amoK
IF9fWk42d2VicnRjMjVzZXRMb2NhbEVuY29kZXJMb3dMYXRlbmN5RVB2YgpkaWZmIC0tZ2l0IGEv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5tYWMu
ZXhwIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0
Yy5tYWMuZXhwCmluZGV4IDQ4ZTQ0NTkyOTMxZGNjODRhZDM3Mzc1YmE5ZjYwOTBiMTAxMmM2N2Qu
LmEyY2FmYjM5MjI5OWU5NWI3YTdiZGZlNmUzNmQ3ZmYwNWY3MTkwZmIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMubWFjLmV4
cAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvbGlid2Vi
cnRjLm1hYy5leHAKQEAgLTIyOSw3ICsyMjksNyBAQCBfX1pONndlYnJ0YzI0dmlkZW9EZWNvZGVy
VGFza0NvbXBsZXRlRVB2alAxMF9fQ1ZCdWZmZXJqCiBfX1pONndlYnJ0YzI0c2V0VmlkZW9EZWNv
ZGVyQ2FsbGJhY2tzRVBGUHZSS05TXzE0U2RwVmlkZW9Gb3JtYXRFRVBGaVMwX0VQRmlTMF9qUEto
bXR0RVBGaVMwX1MwX0UKIF9fWk42d2VicnRjMTlzZXREZWNvZGVyRnJhbWVTaXplRVB2dHQKIF9f
Wk42d2VicnRjMThSdHBDb2RlY0NhcGFiaWxpdHlDMUV2Ci1fX1pONndlYnJ0YzI0ZW5jb2RlclZp
ZGVvVGFza0NvbXBsZXRlRVB2TlNfMTRWaWRlb0NvZGVjVHlwZUVQaG1SS05TXzIyV2ViS2l0RW5j
b2RlZEZyYW1lSW5mb0UKK19fWk42d2VicnRjMjRlbmNvZGVyVmlkZW9UYXNrQ29tcGxldGVFUHZO
U18xNFZpZGVvQ29kZWNUeXBlRVBLaG1SS05TXzIyV2ViS2l0RW5jb2RlZEZyYW1lSW5mb0UKIF9f
Wk42d2VicnRjMjRzZXRWaWRlb0VuY29kZXJDYWxsYmFja3NFUEZQdlJLTlNfMTRTZHBWaWRlb0Zv
cm1hdEVFUEZpUzBfRVBGaVMwX1JLTlNfMTBWaWRlb0NvZGVjRUVQRmlTMF9SS05TXzEwVmlkZW9G
cmFtZUViRVBGaVMwX1MwX0VQRnZTMF9SS05TXzEyVmlkZW9FbmNvZGVyMjFSYXRlQ29udHJvbFBh
cmFtZXRlcnNFRQogX19aTjZ3ZWJydGMyMHNldExvY2FsRW5jb2RlclJhdGVzRVB2amoKIF9fWk42
d2VicnRjMjVzZXRMb2NhbEVuY29kZXJMb3dMYXRlbmN5RVB2YgpkaWZmIC0tZ2l0IGEvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL1dlYktpdC9XZWJLaXRFbmNv
ZGVyLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvV2Vi
S2l0L1dlYktpdEVuY29kZXIuaAppbmRleCAyM2Q5N2VjYzRlYmY4MTM5MGZmOGE0OWFjOTAyZWIy
NDkwYjJiNTI0Li5lMzc3OGE2YTYxYjU2N2JmODkwNzg0NTMxY2Y2YmNmNTgyNWJjZjIyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvV2Vi
S2l0L1dlYktpdEVuY29kZXIuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0L1dlYktpdEVuY29kZXIuaApAQCAtODAsNyArODAsNyBAQCB2
b2lkIGluaXRpYWxpemVMb2NhbEVuY29kZXIoTG9jYWxFbmNvZGVyLCB1aW50MTZfdCB3aWR0aCwg
dWludDE2X3QgaGVpZ2h0LCB1bnNpZwogdm9pZCBlbmNvZGVMb2NhbEVuY29kZXJGcmFtZShMb2Nh
bEVuY29kZXIsIENWUGl4ZWxCdWZmZXJSZWYsIGludDY0X3QgdGltZVN0YW1wTnMsIHVpbnQzMl90
IHRpbWVTdGFtcCwgd2VicnRjOjpWaWRlb1JvdGF0aW9uLCBib29sIGlzS2V5ZnJhbWVSZXF1aXJl
ZCk7CiB2b2lkIHNldExvY2FsRW5jb2RlclJhdGVzKExvY2FsRW5jb2RlciwgdWludDMyX3QgYml0
UmF0ZSwgdWludDMyX3QgZnJhbWVSYXRlKTsKIHZvaWQgc2V0TG9jYWxFbmNvZGVyTG93TGF0ZW5j
eShMb2NhbEVuY29kZXIsIGJvb2wgaXNMb3dMYXRlbmN5RW5hYmxlZCk7Ci12b2lkIGVuY29kZXJW
aWRlb1Rhc2tDb21wbGV0ZSh2b2lkKiwgd2VicnRjOjpWaWRlb0NvZGVjVHlwZSwgdWludDhfdCog
YnVmZmVyLCBzaXplX3QgbGVuZ3RoLCBjb25zdCBXZWJLaXRFbmNvZGVkRnJhbWVJbmZvJik7Cit2
b2lkIGVuY29kZXJWaWRlb1Rhc2tDb21wbGV0ZSh2b2lkKiwgd2VicnRjOjpWaWRlb0NvZGVjVHlw
ZSwgY29uc3QgdWludDhfdCogYnVmZmVyLCBzaXplX3QgbGVuZ3RoLCBjb25zdCBXZWJLaXRFbmNv
ZGVkRnJhbWVJbmZvJik7CiAKIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+CiBib29sIFdlYktpdEVu
Y29kZWRGcmFtZUluZm86OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBXZWJLaXRFbmNvZGVkRnJh
bWVJbmZvJiBpbmZvKQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS93ZWJydGMvc2RrL1dlYktpdC9XZWJLaXRFbmNvZGVyLm1tIGIvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL1dlYktpdC9XZWJLaXRFbmNvZGVyLm1tCmlu
ZGV4IGQ3OTUxYzYxMjFkNjE4NTJkYjZjYTg3ZDU5YTdiMjIxZjk1ZjUyYmMuLjg3YjVjODFiOGFi
NTBmNDRlM2E2YzI3ZDRjODI3N2EyZTFiYmUxYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9XZWJLaXQvV2ViS2l0RW5jb2Rlci5tbQor
KysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0
L1dlYktpdEVuY29kZXIubW0KQEAgLTI5MCw5ICsyOTAsMTEgQEAgaW50MzJfdCBSZW1vdGVWaWRl
b0VuY29kZXI6OlJlZ2lzdGVyRW5jb2RlQ29tcGxldGVDYWxsYmFjayhFbmNvZGVkSW1hZ2VDYWxs
YmFjayoKICAgICByZXR1cm4gdmlkZW9FbmNvZGVyQ2FsbGJhY2tzKCkucmVnaXN0ZXJFbmNvZGVD
b21wbGV0ZUNhbGxiYWNrKG1faW50ZXJuYWxFbmNvZGVyLCBjYWxsYmFjayk7CiB9CiAKLXZvaWQg
ZW5jb2RlclZpZGVvVGFza0NvbXBsZXRlKHZvaWQqIGNhbGxiYWNrLCB3ZWJydGM6OlZpZGVvQ29k
ZWNUeXBlIGNvZGVjVHlwZSwgdWludDhfdCogYnVmZmVyLCBzaXplX3QgbGVuZ3RoLCBjb25zdCBX
ZWJLaXRFbmNvZGVkRnJhbWVJbmZvJiBpbmZvKQordm9pZCBlbmNvZGVyVmlkZW9UYXNrQ29tcGxl
dGUodm9pZCogY2FsbGJhY2ssIHdlYnJ0Yzo6VmlkZW9Db2RlY1R5cGUgY29kZWNUeXBlLCBjb25z
dCB1aW50OF90KiBidWZmZXIsIHNpemVfdCBsZW5ndGgsIGNvbnN0IFdlYktpdEVuY29kZWRGcmFt
ZUluZm8mIGluZm8pCiB7Ci0gICAgd2VicnRjOjpFbmNvZGVkSW1hZ2UgZW5jb2RlZEltYWdlKGJ1
ZmZlciwgbGVuZ3RoLCBsZW5ndGgpOworICAgIHdlYnJ0Yzo6RW5jb2RlZEltYWdlIGVuY29kZWRJ
bWFnZTsKKyAgICBlbmNvZGVkSW1hZ2UuU2V0RW5jb2RlZERhdGEoRW5jb2RlZEltYWdlQnVmZmVy
OjpDcmVhdGUoYnVmZmVyLCBsZW5ndGgpKTsKKwogICAgIGVuY29kZWRJbWFnZS5fZW5jb2RlZFdp
ZHRoID0gaW5mby53aWR0aDsKICAgICBlbmNvZGVkSW1hZ2UuX2VuY29kZWRIZWlnaHQgPSBpbmZv
LmhlaWdodDsKICAgICBlbmNvZGVkSW1hZ2UuU2V0VGltZXN0YW1wKGluZm8udGltZVN0YW1wKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNl
c0V4cGVyaW1lbnRhbC55YW1sIGIvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlBy
ZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKaW5kZXggYjAxNmFjOWY3MzJiMTI2ODhmOWE4NTIz
ZTAwZjRhZjEzYmJhNWM2Yi4uZTdiOTI2ZGFiZTA4ZTRhOGY0MTYwNDMwZjkyNGNiODI2ZTZkN2Zk
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVu
Y2VzRXhwZXJpbWVudGFsLnlhbWwKKysrIGIvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2Vz
L1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKQEAgLTk4NCw2ICs5ODQsMTkgQEAgV2Vi
UlRDSDI2NUNvZGVjRW5hYmxlZDoKICAgICBXZWJLaXQ6CiAgICAgICBkZWZhdWx0OiBmYWxzZQog
CitXZWJSVENJbnNlcnRhYmxlU3RyZWFtc0VuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgY29uZGl0
aW9uOiBFTkFCTEUoV0VCX1JUQykKKyAgaHVtYW5SZWFkYWJsZU5hbWU6ICJXZWJSVEMgSW5zZXJ0
YWJsZSBTdHJlYW1zIEFQSSIKKyAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIFdl
YlJUQyBJbnNlcnRhYmxlIFN0cmVhbXMgQVBJIgorICBkZWZhdWx0VmFsdWU6CisgICAgV2ViS2l0
TGVnYWN5OgorICAgICAgZGVmYXVsdDogZmFsc2UKKyAgICBXZWJLaXQ6CisgICAgICBkZWZhdWx0
OiBmYWxzZQorICAgIFdlYkNvcmU6CisgICAgICBkZWZhdWx0OiBmYWxzZQorCiAjIEZJWE1FOiBU
aGlzIGlzIG5vdCByZWxldmVudCBmb3IgV2ViS2l0TGVnYWN5LCBzbyBzaG91bGQgYmUgZXhjbHVk
ZWQgZnJvbSBXZWJLaXRMZWdhY3kgZW50aXJlbHkuCiBXZWJSVENQbGF0Zm9ybUNvZGVjc0luR1BV
UHJvY2Vzc0VuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNWQ0
YTRlOWQ0ODE2NGVkNWExYzM0ZTU4NTM4M2MxZmMzMGE0MGI4OC4uYzI5OWQ4MzBjYjYxZTk0NDY5
ZDhlNjJiNzJiZDg1N2UzMTQ4Y2JiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTM5OSwxMyAr
Mzk5LDE2IEBAIHNldChXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENSdHBGZWNQYXJhbWV0ZXJzLmlkbAogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0v
UlRDUnRwSGVhZGVyRXh0ZW5zaW9uUGFyYW1ldGVycy5pZGwKICAgICBNb2R1bGVzL21lZGlhc3Ry
ZWFtL1JUQ1J0cFBhcmFtZXRlcnMuaWRsCisgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBS
ZWNlaXZlcitUcmFuc2Zvcm0uaWRsCiAgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNl
aXZlci5pZGwKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJ0eFBhcmFtZXRlcnMuaWRs
CiAgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kUGFyYW1ldGVycy5pZGwKKyAgICBN
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlcitUcmFuc2Zvcm0uaWRsCiAgICAgTW9kdWxl
cy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIuaWRsCiAgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENSdHBTeW5jaHJvbml6YXRpb25Tb3VyY2UuaWRsCiAgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENSdHBUcmFuc2NlaXZlci5pZGwKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5z
Y2VpdmVyRGlyZWN0aW9uLmlkbAorICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNm
b3JtLmlkbAogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2RwVHlwZS5pZGwKICAgICBNb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlvbi5pZGwKICAgICBNb2R1bGVzL21l
ZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlvbkluaXQuaWRsCkBAIC0xNzQ5LDYgKzE3NTIs
NyBAQCBzZXQoV2ViQ29yZVRlc3RTdXBwb3J0X0lETF9GSUxFUwogICAgIHRlc3RpbmcvTW9ja0NE
TUZhY3RvcnkuaWRsCiAgICAgdGVzdGluZy9Nb2NrQ29udGVudEZpbHRlclNldHRpbmdzLmlkbAog
ICAgIHRlc3RpbmcvTW9ja1BhZ2VPdmVybGF5LmlkbAorICAgIHRlc3RpbmcvTW9ja1JUQ1J0cFRy
YW5zZm9ybS5pZGwKICAgICB0ZXN0aW5nL1NlcnZpY2VXb3JrZXJJbnRlcm5hbHMuaWRsCiAgICAg
dGVzdGluZy9UeXBlQ29udmVyc2lvbnMuaWRsCiApCkBAIC0xNzcyLDYgKzE3NzYsNyBAQCBsaXN0
KEFQUEVORCBXZWJDb3JlVGVzdFN1cHBvcnRfU09VUkNFUwogICAgIHRlc3RpbmcvTW9ja0xpYldl
YlJUQ1BlZXJDb25uZWN0aW9uLmNwcAogICAgIHRlc3RpbmcvTW9ja1BhZ2VPdmVybGF5LmNwcAog
ICAgIHRlc3RpbmcvTW9ja1BhZ2VPdmVybGF5Q2xpZW50LmNwcAorICAgIHRlc3RpbmcvTW9ja1JU
Q1J0cFRyYW5zZm9ybS5jcHAKICAgICB0ZXN0aW5nL1NlcnZpY2VXb3JrZXJJbnRlcm5hbHMuY3Bw
CiAgICAgdGVzdGluZy9qcy9XZWJDb3JlVGVzdFN1cHBvcnQuY3BwCiApCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAppbmRleCBhYTE4YThjZjcyY2Ri
ZmZhMDYxZTkyMWJjOTEzNjJkNDdkOGMzNWIzLi42NjliNjg2MWI2YWZhMWQwYWMwOTdiMWJkMzEw
NjQ0ODNlZWM3NTE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1p
bnB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0
LnhjZmlsZWxpc3QKQEAgLTEyOSw4ICsxMjksOCBAQCAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2dl
b2xvY2F0aW9uL1Bvc2l0aW9uQ2FsbGJhY2suaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2dl
b2xvY2F0aW9uL1Bvc2l0aW9uRXJyb3IuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2dlb2xv
Y2F0aW9uL1Bvc2l0aW9uRXJyb3JDYWxsYmFjay5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMv
Z2VvbG9jYXRpb24vUG9zaXRpb25PcHRpb25zLmlkbAotJChQUk9KRUNUX0RJUikvTW9kdWxlcy9o
aWdobGlnaHQvSGlnaGxpZ2h0UmVnaXN0ZXIuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2hp
Z2hsaWdodC9IaWdobGlnaHQuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2hpZ2hsaWdodC9I
aWdobGlnaHRSZWdpc3Rlci5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvaW5kZXhlZGRiL0RP
TVdpbmRvdytJbmRleGVkRGF0YWJhc2UuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2luZGV4
ZWRkYi9JREJDdXJzb3IuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJD
dXJzb3JEaXJlY3Rpb24uaWRsCkBAIC0yMzMsMTMgKzIzMywxNiBAQCAkKFBST0pFQ1RfRElSKS9N
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cEVuY29kaW5nUGFyYW1ldGVycy5pZGwKICQoUFJPSkVD
VF9ESVIpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwRmVjUGFyYW1ldGVycy5pZGwKICQoUFJP
SkVDVF9ESVIpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwSGVhZGVyRXh0ZW5zaW9uUGFyYW1l
dGVycy5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUGFyYW1l
dGVycy5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2
ZXIrVHJhbnNmb3JtLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENS
dHBSZWNlaXZlci5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRw
UnR4UGFyYW1ldGVycy5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
UnRwU2VuZFBhcmFtZXRlcnMuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ1J0cFNlbmRlcitUcmFuc2Zvcm0uaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ1J0cFNlbmRlci5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDUnRwU3luY2hyb25pemF0aW9uU291cmNlLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxl
cy9tZWRpYXN0cmVhbS9SVENSdHBUcmFuc2NlaXZlci5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNjZWl2ZXJEaXJlY3Rpb24uaWRsCiskKFBST0pFQ1Rf
RElSKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zZm9ybS5pZGwKICQoUFJPSkVDVF9E
SVIpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2RwVHlwZS5pZGwKICQoUFJPSkVDVF9ESVIpL01v
ZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uLmlkbAogJChQUk9KRUNUX0RJ
UikvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb25Jbml0LmlkbApAQCAt
Mjg5LDYgKzI5Miw3IEBAICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcXVvdGEvV29ya2VyTmF2aWdh
dG9yK1N0b3JhZ2VRdW90YS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcmVtb3RlcGxheWJh
Y2svSFRNTE1lZGlhRWxlbWVudCtSZW1vdGVQbGF5YmFjay5pZGwKICQoUFJPSkVDVF9ESVIpL01v
ZHVsZXMvcmVtb3RlcGxheWJhY2svUmVtb3RlUGxheWJhY2suaWRsCiAkKFBST0pFQ1RfRElSKS9N
b2R1bGVzL3JlbW90ZXBsYXliYWNrL1JlbW90ZVBsYXliYWNrQXZhaWxhYmlsaXR5Q2FsbGJhY2su
aWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3NwZWVjaC9ET01XaW5kb3crU3BlZWNoU3ludGhl
c2lzLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb24u
aWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvbkFsdGVy
bmF0aXZlLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9zcGVlY2gvU3BlZWNoUmVjb2duaXRp
b25FcnJvckNvZGUuaWRsCkBAIC0yOTYsNyArMzAwLDYgQEAgJChQUk9KRUNUX0RJUikvTW9kdWxl
cy9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb25FcnJvckV2ZW50LmlkbAogJChQUk9KRUNUX0RJUikv
TW9kdWxlcy9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb25FdmVudC5pZGwKICQoUFJPSkVDVF9ESVIp
L01vZHVsZXMvc3BlZWNoL1NwZWVjaFJlY29nbml0aW9uUmVzdWx0LmlkbAogJChQUk9KRUNUX0RJ
UikvTW9kdWxlcy9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb25SZXN1bHRMaXN0LmlkbAotJChQUk9K
RUNUX0RJUikvTW9kdWxlcy9zcGVlY2gvRE9NV2luZG93K1NwZWVjaFN5bnRoZXNpcy5pZGwKICQo
UFJPSkVDVF9ESVIpL01vZHVsZXMvc3BlZWNoL1NwZWVjaFN5bnRoZXNpcy5pZGwKICQoUFJPSkVD
VF9ESVIpL01vZHVsZXMvc3BlZWNoL1NwZWVjaFN5bnRoZXNpc0V2ZW50LmlkbAogJChQUk9KRUNU
X0RJUikvTW9kdWxlcy9zcGVlY2gvU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlLmlkbApAQCAtMTMw
MSw2ICsxMzA0LDcgQEAgJChQUk9KRUNUX0RJUikvdGVzdGluZy9Nb2NrUGF5bWVudEFkZHJlc3Mu
aWRsCiAkKFBST0pFQ1RfRElSKS90ZXN0aW5nL01vY2tQYXltZW50Q29udGFjdEZpZWxkcy5pZGwK
ICQoUFJPSkVDVF9ESVIpL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5pZGwKICQoUFJP
SkVDVF9ESVIpL3Rlc3RpbmcvTW9ja1BheW1lbnRFcnJvci5pZGwKKyQoUFJPSkVDVF9ESVIpL3Rl
c3RpbmcvTW9ja1JUQ1J0cFRyYW5zZm9ybS5pZGwKICQoUFJPSkVDVF9ESVIpL3Rlc3RpbmcvTW9j
a1dlYkF1dGhlbnRpY2F0aW9uQ29uZmlndXJhdGlvbi5pZGwKICQoUFJPSkVDVF9ESVIpL3Rlc3Rp
bmcvU2VydmljZVdvcmtlckludGVybmFscy5pZGwKICQoUFJPSkVDVF9ESVIpL3Rlc3RpbmcvVHlw
ZUNvbnZlcnNpb25zLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMtb3V0cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRw
dXQueGNmaWxlbGlzdAppbmRleCAzODFmYmQ0ODk1ZTBlYTk3ZTlkYjIxZTVkNGQ0NzdmNmZhMjBh
YWJhLi5kYjY3MTAwODhlZjI0NTQ0ODMwMjVlMDFlNGFhN2NlNWRmZWMzMDRjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAtMTEwNSwx
MCArMTEwNSwxMCBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0hhc2hDaGFuZ2VFdmVudC5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTSGFzaENoYW5nZUV2ZW50LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSGRyTWV0YWRhdGFUeXBlLmNwcAogJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIZHJNZXRhZGF0YVR5cGUuaAotJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIaWdobGlnaHRSZWdp
c3Rlci5jcHAKLSQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
SGlnaGxpZ2h0UmVnaXN0ZXIuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNIaWdobGlnaHQuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU0hpZ2hsaWdodC5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0hpZ2hsaWdodFJlZ2lzdGVyLmNwcAorJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIaWdobGlnaHRSZWdpc3Rlci5oCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hpc3RvcnkuY3BwCiAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hpc3RvcnkuaAog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIa2RmUGFyYW1z
LmNwcApAQCAtMTM0MSw2ICsxMzQxLDggQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNNb2NrUGF5bWVudENvb3JkaW5hdG9yLmNwcAogJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNb2NrUGF5bWVudENvb3JkaW5hdG9y
LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTW9ja1Bh
eW1lbnRFcnJvci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTTW9ja1BheW1lbnRFcnJvci5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU01vY2tSVENSdHBUcmFuc2Zvcm0uY3BwCiskKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01vY2tSVENSdHBUcmFuc2Zvcm0uaAogJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNb2NrV2ViQXV0aGVu
dGljYXRpb25Db25maWd1cmF0aW9uLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNNb2NrV2ViQXV0aGVudGljYXRpb25Db25maWd1cmF0aW9uLmgKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTW91c2VFdmVudC5j
cHAKQEAgLTE2OTcsMTIgKzE2OTksMTYgQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNSVENSdHBIZWFkZXJFeHRlbnNpb25QYXJhbWV0ZXJzLmMKICQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUlRDUnRwSGVhZGVyRXh0
ZW5zaW9uUGFyYW1ldGVycy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU1JUQ1J0cFBhcmFtZXRlcnMuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JUQ1J0cFBhcmFtZXRlcnMuaAorJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSVENSdHBSZWNlaXZlcitUcmFuc2Zvcm0u
Y3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JUQ1J0
cFJlY2VpdmVyK1RyYW5zZm9ybS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU1JUQ1J0cFJlY2VpdmVyLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSVENSdHBSZWNlaXZlci5oCiAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JUQ1J0cFJ0eFBhcmFtZXRlcnMuY3BwCiAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JUQ1J0cFJ0eFBh
cmFtZXRlcnMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNSVENSdHBTZW5kUGFyYW1ldGVycy5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTUlRDUnRwU2VuZFBhcmFtZXRlcnMuaAorJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSVENSdHBTZW5kZXIrVHJhbnNmb3JtLmNw
cAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSVENSdHBT
ZW5kZXIrVHJhbnNmb3JtLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTUlRDUnRwU2VuZGVyLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNSVENSdHBTZW5kZXIuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSVENSdHBTeW5jaHJvbml6YXRpb25Tb3VyY2UuY3BwCkBA
IC0xNzExLDYgKzE3MTcsOCBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU1JUQ1J0cFRyYW5zY2VpdmVyLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSVENSdHBUcmFuc2NlaXZlci5oCiAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JUQ1J0cFRyYW5zY2VpdmVyRGlyZWN0
aW9uLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNS
VENSdHBUcmFuc2NlaXZlckRpcmVjdGlvbi5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU1JUQ1J0cFRyYW5zZm9ybS5jcHAKKyQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUlRDUnRwVHJhbnNmb3JtLmgKICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUlRDU2RwVHlwZS5jcHAKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUlRDU2RwVHlwZS5o
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JUQ1Nlc3Np
b25EZXNjcmlwdGlvbi5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDRkMDg1
MzBhYTViZDhlODZlMjIyNDZjNTNlMmM4ZWUwMTc4ZTMwM2QuLjlhZTQwYzE4Nzk2ODkzODE3Yjg0
MTY1MjdjMjQwYWY3MjNlOGYxMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAt
MjU4LDEyICsyNTgsMTUgQEAgSlNfQklORElOR19JRExTIDo9IFwKICAgICAkKFdlYkNvcmUpL01v
ZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwSGVhZGVyRXh0ZW5zaW9uUGFyYW1ldGVycy5pZGwgXAog
ICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBQYXJhbWV0ZXJzLmlkbCBc
CiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVyLmlkbCBc
CisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVyK1RyYW5z
Zm9ybS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSdHhQ
YXJhbWV0ZXJzLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0
cFNlbmRQYXJhbWV0ZXJzLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ1J0cFNlbmRlci5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENSdHBTZW5kZXIrVHJhbnNmb3JtLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ1J0cFN5bmNocm9uaXphdGlvblNvdXJjZS5pZGwgXAogICAgICQoV2ViQ29yZSkv
TW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBUcmFuc2NlaXZlci5pZGwgXAogICAgICQoV2ViQ29y
ZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBUcmFuc2NlaXZlckRpcmVjdGlvbi5pZGwgXAor
ICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBUcmFuc2Zvcm0uaWRsIFwK
ICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2RwVHlwZS5pZGwgXAogICAg
ICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb24uaWRs
IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0
aW9uSW5pdC5pZGwgXApAQCAtMTIyNiw2ICsxMjI5LDcgQEAgSlNfQklORElOR19JRExTIDo9IFwK
ICAgICAkKFdlYkNvcmUpL3Rlc3RpbmcvTW9ja1BheW1lbnRDb250YWN0RmllbGRzLmlkbCBcCiAg
ICAgJChXZWJDb3JlKS90ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3IuaWRsIFwKICAgICAk
KFdlYkNvcmUpL3Rlc3RpbmcvTW9ja1BheW1lbnRFcnJvci5pZGwgXAorICAgICQoV2ViQ29yZSkv
dGVzdGluZy9Nb2NrUlRDUnRwVHJhbnNmb3JtLmlkbCBcCiAgICAgJChXZWJDb3JlKS90ZXN0aW5n
L01vY2tXZWJBdXRoZW50aWNhdGlvbkNvbmZpZ3VyYXRpb24uaWRsIFwKICAgICAkKFdlYkNvcmUp
L3Rlc3RpbmcvU2VydmljZVdvcmtlckludGVybmFscy5pZGwgXAogICAgICQoV2ViQ29yZSkvdGVz
dGluZy9UeXBlQ29udmVyc2lvbnMuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIrVHJhbnNmb3JtLmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIrVHJhbnNmb3JtLmlkbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMGIyZTExZDQ3ZmZiYjNhODQzYmY0MTM5N2UwYzA4YzkxZTI2Mjc4Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBS
ZWNlaXZlcitUcmFuc2Zvcm0uaWRsCkBAIC0wLDAgKzEsMzMgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisg
ICAgQ29uZGl0aW9uYWw9V0VCX1JUQywKKyAgICBFbmFibGVkQnlTZXR0aW5nPVdlYlJUQ0luc2Vy
dGFibGVTdHJlYW1zLAorICAgIEV4cG9zZWQ9V2luZG93LAorICAgIEltcGxlbWVudGVkQnk9UlRD
UnRwUmVjZWl2ZXJXaXRoVHJhbnNmb3JtLAorXSBwYXJ0aWFsIGludGVyZmFjZSBSVENSdHBSZWNl
aXZlciB7CisgICAgW01heVRocm93RXhjZXB0aW9uXSBhdHRyaWJ1dGUgUlRDUnRwVHJhbnNmb3Jt
PyB0cmFuc2Zvcm07Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENSdHBSZWNlaXZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ1J0cFJlY2VpdmVyLmNwcAppbmRleCA0MmM0YzA3ODQwOWUzMmRhZDFlNDI0ZWFh
MGIyYjdiNWYzNTRmMmI0Li4wYmZjYzk2NjNjMmYwNmQ0ZTkwYzA5NDg4ZGYyNTJlMWZkMmIzYzAw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJl
Y2VpdmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0
cFJlY2VpdmVyLmNwcApAQCAtNDksMTEgKzQ5LDIwIEBAIFJUQ1J0cFJlY2VpdmVyOjpSVENSdHBS
ZWNlaXZlcihQZWVyQ29ubmVjdGlvbkJhY2tlbmQmIGNvbm5lY3Rpb24sIFJlZjxNZWRpYVN0cmVh
CiB7CiB9CiAKK1JUQ1J0cFJlY2VpdmVyOjp+UlRDUnRwUmVjZWl2ZXIoKQoreworICAgIGlmICht
X3RyYW5zZm9ybSkKKyAgICAgICAgbV90cmFuc2Zvcm0tPmRldGFjaEZyb21SZWNlaXZlcigqdGhp
cyk7Cit9CisKIHZvaWQgUlRDUnRwUmVjZWl2ZXI6OnN0b3AoKQogewogICAgIGlmICghbV9iYWNr
ZW5kKQogICAgICAgICByZXR1cm47CiAKKyAgICBpZiAobV90cmFuc2Zvcm0pCisgICAgICAgIG1f
dHJhbnNmb3JtLT5kZXRhY2hGcm9tUmVjZWl2ZXIoKnRoaXMpOworCiAgICAgbV9iYWNrZW5kID0g
bnVsbHB0cjsKICAgICBtX3RyYWNrLT5zdG9wVHJhY2soTWVkaWFTdHJlYW1UcmFjazo6U3RvcE1v
ZGU6OlBvc3RFdmVudCk7CiB9CkBAIC03Miw2ICs4MSwyMCBAQCBPcHRpb25hbDxSVENSdHBDYXBh
YmlsaXRpZXM+IFJUQ1J0cFJlY2VpdmVyOjpnZXRDYXBhYmlsaXRpZXMoU2NyaXB0RXhlY3V0aW9u
Q29udAogICAgIHJldHVybiBQZWVyQ29ubmVjdGlvbkJhY2tlbmQ6OnJlY2VpdmVyQ2FwYWJpbGl0
aWVzKGNvbnRleHQsIGtpbmQpOwogfQogCitFeGNlcHRpb25Pcjx2b2lkPiBSVENSdHBSZWNlaXZl
cjo6c2V0VHJhbnNmb3JtKFJlZlB0cjxSVENSdHBUcmFuc2Zvcm0+JiYgdHJhbnNmb3JtKQorewor
ICAgIGlmICh0cmFuc2Zvcm0gJiYgdHJhbnNmb3JtLT5pc0F0dGFjaGVkKCkpCisgICAgICAgIHJl
dHVybiBFeGNlcHRpb24geyBJbnZhbGlkU3RhdGVFcnJvciwgInRyYW5zZm9ybSBpcyBhbHJlYWR5
IGluIHVzZSJfcyB9OworCisgICAgaWYgKG1fdHJhbnNmb3JtKQorICAgICAgICBtX3RyYW5zZm9y
bS0+ZGV0YWNoRnJvbVJlY2VpdmVyKCp0aGlzKTsKKyAgICBtX3RyYW5zZm9ybSA9IFdURk1vdmUo
dHJhbnNmb3JtKTsKKyAgICBpZiAobV90cmFuc2Zvcm0pCisgICAgICAgIG1fdHJhbnNmb3JtLT5h
dHRhY2hUb1JlY2VpdmVyKCp0aGlzKTsKKworICAgIHJldHVybiB7IH07Cit9CisKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShXRUJfUlRDKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlci5oIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlci5oCmluZGV4IDNj
Y2E4YjJiOTY3MThhZTQ3NmQ4Mzk0MzI2MTIwYzk3OTkwNzkzNTEuLjhjYjFhNDNkMmJkMDQ0NjI0
YzI4N2NhNmFmNzFjN2RmODc4ZDIyYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVyLmgKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNs
dWRlICJNZWRpYVN0cmVhbVRyYWNrLmgiCiAjaW5jbHVkZSAiUlRDUnRwUmVjZWl2ZXJCYWNrZW5k
LmgiCiAjaW5jbHVkZSAiUlRDUnRwU3luY2hyb25pemF0aW9uU291cmNlLmgiCisjaW5jbHVkZSAi
UlRDUnRwVHJhbnNmb3JtLmgiCiAjaW5jbHVkZSAiU2NyaXB0V3JhcHBhYmxlLmgiCiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKQEAgLTUwLDYgKzUxLDcgQEAgcHVibGljOgogICAgIHsKICAgICAgICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgUlRDUnRwUmVjZWl2ZXIoY29ubmVjdGlvbiwgV1RGTW92ZSh0
cmFjayksIFdURk1vdmUoYmFja2VuZCkpKTsKICAgICB9CisgICAgflJUQ1J0cFJlY2VpdmVyKCk7
CiAKICAgICBzdGF0aWMgT3B0aW9uYWw8UlRDUnRwQ2FwYWJpbGl0aWVzPiBnZXRDYXBhYmlsaXRp
ZXMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIGNvbnN0IFN0cmluZyYga2luZCk7CiAKQEAgLTY1
LDEyICs2NywxNiBAQCBwdWJsaWM6CiAgICAgUlRDUnRwUmVjZWl2ZXJCYWNrZW5kKiBiYWNrZW5k
KCkgeyByZXR1cm4gbV9iYWNrZW5kLmdldCgpOyB9CiAgICAgdm9pZCBnZXRTdGF0cyhSZWY8RGVm
ZXJyZWRQcm9taXNlPiYmKTsKIAorICAgIFJUQ1J0cFRyYW5zZm9ybSogdHJhbnNmb3JtKCkgeyBy
ZXR1cm4gbV90cmFuc2Zvcm0uZ2V0KCk7IH0KKyAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRUcmFu
c2Zvcm0oUmVmUHRyPFJUQ1J0cFRyYW5zZm9ybT4mJik7CisKIHByaXZhdGU6CiAgICAgUlRDUnRw
UmVjZWl2ZXIoUGVlckNvbm5lY3Rpb25CYWNrZW5kJiwgUmVmPE1lZGlhU3RyZWFtVHJhY2s+JiYs
IHN0ZDo6dW5pcXVlX3B0cjxSVENSdHBSZWNlaXZlckJhY2tlbmQ+JiYpOwogCiAgICAgUmVmPE1l
ZGlhU3RyZWFtVHJhY2s+IG1fdHJhY2s7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFJUQ1J0cFJlY2Vp
dmVyQmFja2VuZD4gbV9iYWNrZW5kOwogICAgIFdlYWtQdHI8UGVlckNvbm5lY3Rpb25CYWNrZW5k
PiBtX2Nvbm5lY3Rpb247CisgICAgUmVmUHRyPFJUQ1J0cFRyYW5zZm9ybT4gbV90cmFuc2Zvcm07
CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVyQmFja2VuZC5oIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlckJhY2tlbmQuaAppbmRleCA3
ODJkZDY3ZDU1MTZjOGQ2ZTdiNDE5NTRiY2JiOTBiYmE3NDcyNjkzLi42MTk2YTZhNTA2ODk1OGE5
MjkxYjM2NDIzZWYwYmNlYTYyNDQwZDNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVyQmFja2VuZC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXJCYWNrZW5kLmgKQEAgLTMxLDEy
ICszMSwxNSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIFJUQ1J0cFRyYW5zZm9y
bUJhY2tlbmQ7CisKIGNsYXNzIFJUQ1J0cFJlY2VpdmVyQmFja2VuZCB7CiBwdWJsaWM6CiAgICAg
dmlydHVhbCB+UlRDUnRwUmVjZWl2ZXJCYWNrZW5kKCkgPSBkZWZhdWx0OwogICAgIHZpcnR1YWwg
UlRDUnRwUGFyYW1ldGVycyBnZXRQYXJhbWV0ZXJzKCkgeyByZXR1cm4geyB9OyB9CiAgICAgdmly
dHVhbCBWZWN0b3I8UlRDUnRwQ29udHJpYnV0aW5nU291cmNlPiBnZXRDb250cmlidXRpbmdTb3Vy
Y2VzKCkgY29uc3QgeyByZXR1cm4geyB9OyB9CiAgICAgdmlydHVhbCBWZWN0b3I8UlRDUnRwU3lu
Y2hyb25pemF0aW9uU291cmNlPiBnZXRTeW5jaHJvbml6YXRpb25Tb3VyY2VzKCkgY29uc3QgeyBy
ZXR1cm4geyB9OyB9CisgICAgdmlydHVhbCBSZWY8UlRDUnRwVHJhbnNmb3JtQmFja2VuZD4gY3Jl
YXRlUlRDUnRwVHJhbnNmb3JtQmFja2VuZCgpID0gMDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
UnRwUmVjZWl2ZXJXaXRoVHJhbnNmb3JtLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ1J0cFJlY2VpdmVyV2l0aFRyYW5zZm9ybS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRlYjliODQ3
OTExM2RhMjE3OTVjODcwN2ViZGRlNGNhNmVhMmI0Y2YKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVyV2l0aFRyYW5zZm9y
bS5oCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJfUlRDKQorCisjaW5jbHVk
ZSAiUlRDUnRwUmVjZWl2ZXIuaCIKKyNpbmNsdWRlICJSVENSdHBUcmFuc2Zvcm0uaCIKKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBSVENSdHBUcmFuc2Zvcm07CisKK2NsYXNzIFJUQ1J0
cFJlY2VpdmVyV2l0aFRyYW5zZm9ybSB7CitwdWJsaWM6CisgICAgc3RhdGljIFJUQ1J0cFRyYW5z
Zm9ybSogdHJhbnNmb3JtKFJUQ1J0cFJlY2VpdmVyJiByZWNlaXZlcikgeyByZXR1cm4gcmVjZWl2
ZXIudHJhbnNmb3JtKCk7IH0KKyAgICBzdGF0aWMgRXhjZXB0aW9uT3I8dm9pZD4gc2V0VHJhbnNm
b3JtKFJUQ1J0cFJlY2VpdmVyJiByZWNlaXZlciwgUmVmUHRyPFJUQ1J0cFRyYW5zZm9ybT4mJiB0
cmFuc2Zvcm0pIHsgcmV0dXJuIHJlY2VpdmVyLnNldFRyYW5zZm9ybShXVEZNb3ZlKHRyYW5zZm9y
bSkpOyB9Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUo
V0VCX1JUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
UlRDUnRwU2VuZGVyK1RyYW5zZm9ybS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ1J0cFNlbmRlcitUcmFuc2Zvcm0uaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMzOGE3ZTMwN2Q2
MjRjMTM0Zjc4MGNjYjcxMGM4YzY4MjRkYzBkZGEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlcitUcmFuc2Zvcm0uaWRsCkBA
IC0wLDAgKzEsMzMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgQ29uZGl0aW9uYWw9V0VCX1JUQywK
KyAgICBFbmFibGVkQnlTZXR0aW5nPVdlYlJUQ0luc2VydGFibGVTdHJlYW1zLAorICAgIEV4cG9z
ZWQ9V2luZG93LAorICAgIEltcGxlbWVudGVkQnk9UlRDUnRwU2VuZGVyV2l0aFRyYW5zZm9ybSwK
K10gcGFydGlhbCBpbnRlcmZhY2UgUlRDUnRwU2VuZGVyIHsKKyAgICBbTWF5VGhyb3dFeGNlcHRp
b25dIGF0dHJpYnV0ZSBSVENSdHBUcmFuc2Zvcm0/IHRyYW5zZm9ybTsKK307CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlci5jcHAKaW5kZXgg
ZmYxNzAzYjkyYjBkOTBhYTk3ODc2NzIyNjdmNDhlMjdhNGI3NjRkNC4uYzdhYzNjNDliZDlkNzk2
YjI0ODc1ZjlkOTIzMDZkM2U5M2E3NTQzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyLmNwcApAQCAtNjYsNyArNjYsMTEgQEAgUlRD
UnRwU2VuZGVyOjpSVENSdHBTZW5kZXIoUlRDUGVlckNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIFN0
cmluZyYmIHRyYWNrS2luZCwgVmUKICAgICBBU1NFUlQobV9iYWNrZW5kKTsKIH0KIAotUlRDUnRw
U2VuZGVyOjp+UlRDUnRwU2VuZGVyKCkgPSBkZWZhdWx0OworUlRDUnRwU2VuZGVyOjp+UlRDUnRw
U2VuZGVyKCkKK3sKKyAgICBpZiAobV90cmFuc2Zvcm0pCisgICAgICAgIG1fdHJhbnNmb3JtLT5k
ZXRhY2hGcm9tU2VuZGVyKCp0aGlzKTsKK30KIAogdm9pZCBSVENSdHBTZW5kZXI6OnNldFRyYWNr
VG9OdWxsKCkKIHsKQEAgLTc3LDYgKzgxLDkgQEAgdm9pZCBSVENSdHBTZW5kZXI6OnNldFRyYWNr
VG9OdWxsKCkKIAogdm9pZCBSVENSdHBTZW5kZXI6OnN0b3AoKQogeworICAgIGlmIChtX3RyYW5z
Zm9ybSkKKyAgICAgICAgbV90cmFuc2Zvcm0tPmRldGFjaEZyb21TZW5kZXIoKnRoaXMpOworCiAg
ICAgbV90cmFja0lkID0geyB9OwogICAgIG1fdHJhY2sgPSBudWxscHRyOwogICAgIG1fYmFja2Vu
ZCA9IG51bGxwdHI7CkBAIC0xODYsNiArMTkzLDIwIEBAIE9wdGlvbmFsPFJUQ1J0cFRyYW5zY2Vp
dmVyRGlyZWN0aW9uPiBSVENSdHBTZW5kZXI6OmN1cnJlbnRUcmFuc2NlaXZlckRpcmVjdGlvbigp
CiAgICAgcmV0dXJuIHNlbmRlclRyYW5zY2VpdmVyLT5jdXJyZW50RGlyZWN0aW9uKCk7CiB9CiAK
K0V4Y2VwdGlvbk9yPHZvaWQ+IFJUQ1J0cFNlbmRlcjo6c2V0VHJhbnNmb3JtKFJlZlB0cjxSVENS
dHBUcmFuc2Zvcm0+JiYgdHJhbnNmb3JtKQoreworICAgIGlmICh0cmFuc2Zvcm0gJiYgdHJhbnNm
b3JtLT5pc0F0dGFjaGVkKCkpCisgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkU3Rh
dGVFcnJvciwgInRyYW5zZm9ybSBpcyBhbHJlYWR5IGluIHVzZSJfcyB9OworCisgICAgaWYgKG1f
dHJhbnNmb3JtKQorICAgICAgICBtX3RyYW5zZm9ybS0+ZGV0YWNoRnJvbVNlbmRlcigqdGhpcyk7
CisgICAgbV90cmFuc2Zvcm0gPSBXVEZNb3ZlKHRyYW5zZm9ybSk7CisgICAgaWYgKG1fdHJhbnNm
b3JtKQorICAgICAgICBtX3RyYW5zZm9ybS0+YXR0YWNoVG9TZW5kZXIoKnRoaXMpOworCisgICAg
cmV0dXJuIHsgfTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5B
QkxFKFdFQl9SVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL1JUQ1J0cFNlbmRlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENSdHBTZW5kZXIuaAppbmRleCAyOGRmMGZlYmFlMTM5ZDRmOGQ0YTdjOWJiZmNiMTFiMTM5OTYw
NGJkLi43MGFkOTU5MjcwYmIyYTI5YWUzNDkzYjFkMWViODA5NGE5YjUwNWI1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyLmgKQEAgLTM2
LDYgKzM2LDcgQEAKICNpbmNsdWRlICJNZWRpYVN0cmVhbVRyYWNrLmgiCiAjaW5jbHVkZSAiUlRD
UnRwU2VuZGVyQmFja2VuZC5oIgogI2luY2x1ZGUgIlJUQ1J0cFRyYW5zY2VpdmVyRGlyZWN0aW9u
LmgiCisjaW5jbHVkZSAiUlRDUnRwVHJhbnNmb3JtLmgiCiAjaW5jbHVkZSAiU2NyaXB0V3JhcHBh
YmxlLmgiCiAjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KIApAQCAtODEsNiArODIsOSBAQCBwdWJs
aWM6CiAgICAgUlRDRFRNRlNlbmRlciogZHRtZigpOwogICAgIE9wdGlvbmFsPFJUQ1J0cFRyYW5z
Y2VpdmVyRGlyZWN0aW9uPiBjdXJyZW50VHJhbnNjZWl2ZXJEaXJlY3Rpb24oKSBjb25zdDsKIAor
ICAgIFJUQ1J0cFRyYW5zZm9ybSogdHJhbnNmb3JtKCkgeyByZXR1cm4gbV90cmFuc2Zvcm0uZ2V0
KCk7IH0KKyAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRUcmFuc2Zvcm0oUmVmUHRyPFJUQ1J0cFRy
YW5zZm9ybT4mJik7CisKIHByaXZhdGU6CiAgICAgUlRDUnRwU2VuZGVyKFJUQ1BlZXJDb25uZWN0
aW9uJiwgU3RyaW5nJiYgdHJhY2tLaW5kLCBWZWN0b3I8U3RyaW5nPiYmIG1lZGlhU3RyZWFtSWRz
LCBzdGQ6OnVuaXF1ZV9wdHI8UlRDUnRwU2VuZGVyQmFja2VuZD4mJik7CiAKQEAgLTkxLDYgKzk1
LDcgQEAgcHJpdmF0ZToKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UlRDUnRwU2VuZGVyQmFja2VuZD4g
bV9iYWNrZW5kOwogICAgIFdlYWtQdHI8UlRDUGVlckNvbm5lY3Rpb24+IG1fY29ubmVjdGlvbjsK
ICAgICBSZWZQdHI8UlRDRFRNRlNlbmRlcj4gbV9kdG1mU2VuZGVyOworICAgIFJlZlB0cjxSVENS
dHBUcmFuc2Zvcm0+IG1fdHJhbnNmb3JtOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5k
ZXJCYWNrZW5kLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNl
bmRlckJhY2tlbmQuaAppbmRleCAxYzE4ZTUwMTI4YjI0ZWMxYmIwZjQ2Y2M2YmIwZmVhMDA2ODQ3
ZGRhLi4zMDg5N2MyNGVhN2Y3MWRkNDA2MmIyMGVjMmI1MzhmY2JhMWM4MGI2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlckJhY2tlbmQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlckJh
Y2tlbmQuaApAQCAtMzEsNiArMzEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBNZWRp
YVN0cmVhbVRyYWNrOwogY2xhc3MgUlRDRFRNRlNlbmRlckJhY2tlbmQ7CiBjbGFzcyBSVENSdHBT
ZW5kZXI7CitjbGFzcyBSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOwogY2xhc3MgU2NyaXB0RXhlY3V0
aW9uQ29udGV4dDsKIAogc3RydWN0IFJUQ1J0cFNlbmRQYXJhbWV0ZXJzOwpAQCAtMzksMTEgKzQw
LDEzIEBAIHRlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNzIERPTVByb21pc2VEZWZlcnJl
ZDsKIAogY2xhc3MgUlRDUnRwU2VuZGVyQmFja2VuZCB7CiBwdWJsaWM6CisgICAgdmlydHVhbCB+
UlRDUnRwU2VuZGVyQmFja2VuZCgpID0gZGVmYXVsdDsKKwogICAgIHZpcnR1YWwgYm9vbCByZXBs
YWNlVHJhY2soUlRDUnRwU2VuZGVyJiwgTWVkaWFTdHJlYW1UcmFjayopID0gMDsKICAgICB2aXJ0
dWFsIFJUQ1J0cFNlbmRQYXJhbWV0ZXJzIGdldFBhcmFtZXRlcnMoKSBjb25zdCA9IDA7CiAgICAg
dmlydHVhbCB2b2lkIHNldFBhcmFtZXRlcnMoY29uc3QgUlRDUnRwU2VuZFBhcmFtZXRlcnMmLCBE
T01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4mJikgPSAwOwogICAgIHZpcnR1YWwgc3RkOjp1bmlxdWVf
cHRyPFJUQ0RUTUZTZW5kZXJCYWNrZW5kPiBjcmVhdGVEVE1GQmFja2VuZCgpID0gMDsKLSAgICB2
aXJ0dWFsIH5SVENSdHBTZW5kZXJCYWNrZW5kKCkgPSBkZWZhdWx0OworICAgIHZpcnR1YWwgUmVm
PFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ+IGNyZWF0ZVJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQoKSA9
IDA7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlcldpdGhUcmFuc2Zvcm0uaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyV2l0aFRyYW5zZm9y
bS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjg3MTQzOGVlNjY1YjI2ZjgwZTE1MWMxOTVlYzg3NmNjZWFhYTkzMGUK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q1J0cFNlbmRlcldpdGhUcmFuc2Zvcm0uaApAQCAtMCwwICsxLDQ1IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5B
QkxFKFdFQl9SVEMpCisKKyNpbmNsdWRlICJSVENSdHBTZW5kZXIuaCIKKyNpbmNsdWRlICJSVENS
dHBUcmFuc2Zvcm0uaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBSVENSdHBUcmFu
c2Zvcm07CisKK2NsYXNzIFJUQ1J0cFNlbmRlcldpdGhUcmFuc2Zvcm0geworcHVibGljOgorICAg
IHN0YXRpYyBSVENSdHBUcmFuc2Zvcm0qIHRyYW5zZm9ybShSVENSdHBTZW5kZXImIHNlbmRlcikg
eyByZXR1cm4gc2VuZGVyLnRyYW5zZm9ybSgpOyB9CisgICAgc3RhdGljIEV4Y2VwdGlvbk9yPHZv
aWQ+IHNldFRyYW5zZm9ybShSVENSdHBTZW5kZXImIHNlbmRlciwgUmVmUHRyPFJUQ1J0cFRyYW5z
Zm9ybT4mJiB0cmFuc2Zvcm0pIHsgcmV0dXJuIHNlbmRlci5zZXRUcmFuc2Zvcm0oV1RGTW92ZSh0
cmFuc2Zvcm0pKTsgfQorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8g
RU5BQkxFKFdFQl9SVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ1J0cFRyYW5zZm9ybS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ1J0cFRyYW5zZm9ybS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2JmNWU1ZTVjMmRmNzBmOTYz
MDNkZjk0OTRmYzViMzE1YzY5M2IxZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNmb3JtLmNwcApAQCAtMCwwICsxLDgwIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJSVENSdHBUcmFuc2Zvcm0uaCIKKworI2lmIEVOQUJMRShX
RUJfUlRDKQorCisjaW5jbHVkZSAiUlRDUnRwUmVjZWl2ZXIuaCIKKyNpbmNsdWRlICJSVENSdHBT
ZW5kZXIuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitSVENSdHBUcmFuc2Zvcm06On5SVENS
dHBUcmFuc2Zvcm0oKQoreworICAgIGlmIChtX2JhY2tlbmQpCisgICAgICAgIHdpbGxDbGVhckJh
Y2tlbmQoKm1fYmFja2VuZCk7Cit9CisKK3ZvaWQgUlRDUnRwVHJhbnNmb3JtOjphdHRhY2hUb1Jl
Y2VpdmVyKFJUQ1J0cFJlY2VpdmVyJiByZWNlaXZlcikKK3sKKyAgICBBU1NFUlQoIWlzQXR0YWNo
ZWQoKSk7CisgICAgaWYgKGF1dG8qIGJhY2tlbmQgPSByZWNlaXZlci5iYWNrZW5kKCkpCisgICAg
ICAgIG1fYmFja2VuZCA9IGJhY2tlbmQtPmNyZWF0ZVJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQoKTsK
KyAgICBpZiAobV9iYWNrZW5kKQorICAgICAgICBpbml0aWFsaXplQmFja2VuZEZvclJlY2VpdmVy
KCptX2JhY2tlbmQpOworfQorCit2b2lkIFJUQ1J0cFRyYW5zZm9ybTo6YXR0YWNoVG9TZW5kZXIo
UlRDUnRwU2VuZGVyJiBzZW5kZXIpCit7CisgICAgQVNTRVJUKCFpc0F0dGFjaGVkKCkpOworICAg
IGlmIChhdXRvKiBiYWNrZW5kID0gc2VuZGVyLmJhY2tlbmQoKSkKKyAgICAgICAgbV9iYWNrZW5k
ID0gYmFja2VuZC0+Y3JlYXRlUlRDUnRwVHJhbnNmb3JtQmFja2VuZCgpOworICAgIGlmIChtX2Jh
Y2tlbmQpCisgICAgICAgIGluaXRpYWxpemVCYWNrZW5kRm9yU2VuZGVyKCptX2JhY2tlbmQpOwor
fQorCit2b2lkIFJUQ1J0cFRyYW5zZm9ybTo6ZGV0YWNoRnJvbVJlY2VpdmVyKFJUQ1J0cFJlY2Vp
dmVyJikKK3sKKyAgICBpZiAoIW1fYmFja2VuZCkKKyAgICAgICAgcmV0dXJuOworCisgICAgd2ls
bENsZWFyQmFja2VuZCgqbV9iYWNrZW5kKTsKKyAgICBtX2JhY2tlbmQgPSBudWxscHRyOworfQor
Cit2b2lkIFJUQ1J0cFRyYW5zZm9ybTo6ZGV0YWNoRnJvbVNlbmRlcihSVENSdHBTZW5kZXImKQor
eworICAgIGlmICghbV9iYWNrZW5kKQorICAgICAgICByZXR1cm47CisKKyAgICB3aWxsQ2xlYXJC
YWNrZW5kKCptX2JhY2tlbmQpOworICAgIG1fYmFja2VuZCA9IG51bGxwdHI7Cit9CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJfUlRDKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBUcmFuc2Zvcm0uaCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNmb3JtLmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uM2QzN2I2OGU4ZWRiM2ZhN2JjYzlkZTMwNTQ5OTdkMTRmZWRkM2I0YgotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJh
bnNmb3JtLmgKQEAgLTAsMCArMSw3NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiAKKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJfUlRDKQorCisj
aW5jbHVkZSAiUlRDUnRwVHJhbnNmb3JtQmFja2VuZC5oIgorI2luY2x1ZGUgPHd0Zi9SZWZDb3Vu
dGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUlRDUnRwUmVjZWl2ZXI7Citj
bGFzcyBSVENSdHBTZW5kZXI7CisKK2NsYXNzIFdFQkNPUkVfRVhQT1JUIFJUQ1J0cFRyYW5zZm9y
bSA6IHB1YmxpYyBSZWZDb3VudGVkPFJUQ1J0cFRyYW5zZm9ybT4geworcHVibGljOgorICAgIHZp
cnR1YWwgflJUQ1J0cFRyYW5zZm9ybSgpOworCisgICAgYm9vbCBpc0F0dGFjaGVkKCkgY29uc3Q7
CisgICAgdm9pZCBhdHRhY2hUb1JlY2VpdmVyKFJUQ1J0cFJlY2VpdmVyJik7CisgICAgdm9pZCBh
dHRhY2hUb1NlbmRlcihSVENSdHBTZW5kZXImKTsKKyAgICB2b2lkIGRldGFjaEZyb21SZWNlaXZl
cihSVENSdHBSZWNlaXZlciYpOworICAgIHZvaWQgZGV0YWNoRnJvbVNlbmRlcihSVENSdHBTZW5k
ZXImKTsKKworcHJpdmF0ZToKKyAgICB2aXJ0dWFsIHZvaWQgaW5pdGlhbGl6ZUJhY2tlbmRGb3JT
ZW5kZXIoUlRDUnRwVHJhbnNmb3JtQmFja2VuZCYpOworICAgIHZpcnR1YWwgdm9pZCBpbml0aWFs
aXplQmFja2VuZEZvclJlY2VpdmVyKFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQmKTsKKyAgICB2aXJ0
dWFsIHZvaWQgd2lsbENsZWFyQmFja2VuZChSVENSdHBUcmFuc2Zvcm1CYWNrZW5kJik7CisKK3By
b3RlY3RlZDoKKyAgICBSZWZQdHI8UlRDUnRwVHJhbnNmb3JtQmFja2VuZD4gbV9iYWNrZW5kOwor
fTsKKworaW5saW5lIGJvb2wgUlRDUnRwVHJhbnNmb3JtOjppc0F0dGFjaGVkKCkgY29uc3QKK3sK
KyAgICByZXR1cm4gISFtX2JhY2tlbmQ7Cit9CisKK2lubGluZSB2b2lkIFJUQ1J0cFRyYW5zZm9y
bTo6aW5pdGlhbGl6ZUJhY2tlbmRGb3JTZW5kZXIoUlRDUnRwVHJhbnNmb3JtQmFja2VuZCYpCit7
Cit9CisKK2lubGluZSB2b2lkIFJUQ1J0cFRyYW5zZm9ybTo6aW5pdGlhbGl6ZUJhY2tlbmRGb3JS
ZWNlaXZlcihSVENSdHBUcmFuc2Zvcm1CYWNrZW5kJikKK3sKK30KKworaW5saW5lIHZvaWQgUlRD
UnRwVHJhbnNmb3JtOjp3aWxsQ2xlYXJCYWNrZW5kKFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQmKQor
eworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX1JU
QykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRw
VHJhbnNmb3JtLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRw
VHJhbnNmb3JtLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZTZlMzI4MTJiYzQzZmYxZTNmNWZhYjEwNTE2NjZl
NGVjNDMzNWE2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENSdHBUcmFuc2Zvcm0uaWRsCkBAIC0wLDAgKzEsMzUgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycg
QU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAor
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgQ29uZGl0aW9uYWw9V0VC
X1JUQywKKyAgICBFbmFibGVkQnlTZXR0aW5nPVdlYlJUQ0luc2VydGFibGVTdHJlYW1zLAorICAg
IEV4cG9ydE1hY3JvPVdFQkNPUkVfRVhQT1JULAorICAgIEV4cG9zZWQ9V2luZG93CitdIGludGVy
ZmFjZSBSVENSdHBUcmFuc2Zvcm0geworICAgIC8vIEZJWE1FOiBBZGQgcmVhZGFibGUvd3JpdGFi
bGUgZ2V0dGVycworICAgIC8vIHJlYWRvbmx5IGF0dHJpYnV0ZSBSZWFkYWJsZVN0cmVhbSByZWFk
YWJsZTsKKyAgICAvLyByZWFkb25seSBhdHRyaWJ1dGUgV3JpdGFibGVTdHJlYW0gd3JpdGFibGU7
Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENS
dHBUcmFuc2Zvcm1CYWNrZW5kLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MTIxNDkyMjAxYWU2NDYzNWI4
ODI5MzU0NTVlNWI4ZjM3M2JiY2E5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmgKQEAgLTAsMCArMSw1
MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICog
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
cHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJfUlRDKQorCisjaW5jbHVkZSA8d3RmL1RocmVh
ZFNhZmVSZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUlRDUnRw
VHJhbnNmb3JtYWJsZUZyYW1lOworCitjbGFzcyBSVENSdHBUcmFuc2Zvcm1CYWNrZW5kIDogcHVi
bGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQsIFdURjo6RGVz
dHJ1Y3Rpb25UaHJlYWQ6Ok1haW4+IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5SVENSdHBUcmFu
c2Zvcm1CYWNrZW5kKCkgPSBkZWZhdWx0OworCisgICAgdXNpbmcgQ2FsbGJhY2sgPSBGdW5jdGlv
bjx2b2lkKFJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZSYmKT47CisgICAgdmlydHVhbCB2b2lkIHNl
dFRyYW5zZm9ybWFibGVGcmFtZUNhbGxiYWNrKENhbGxiYWNrJiYpID0gMDsKKyAgICB2aXJ0dWFs
IHZvaWQgY2xlYXJUcmFuc2Zvcm1hYmxlRnJhbWVDYWxsYmFjaygpID0gMDsKKyAgICB2aXJ0dWFs
IHZvaWQgcHJvY2Vzc1RyYW5zZm9ybWVkRnJhbWUoUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lJiYp
ID0gMDsKKworICAgIGVudW0gY2xhc3MgTWVkaWFUeXBlIHsgQXVkaW8sIFZpZGVvIH07CisgICAg
dmlydHVhbCBNZWRpYVR5cGUgbWVkaWFUeXBlKCkgY29uc3QgPSAwOworCisgICAgZW51bSBjbGFz
cyBTaWRlIHsgU2VuZGVyLCBSZWNlaXZlciB9OworICAgIHZpcnR1YWwgU2lkZSBzaWRlKCkgY29u
c3QgPSAwOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxF
KFdFQl9SVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NzI2MzYwMDdl
ZmMyNzZjMzk1OGMyZTcyYzM5YTIxM2M5YWY5OTkwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuaApA
QCAtMCwwICsxLDQ1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFdFQl9SVEMpCisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworY2xhc3MgUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lIHsKK3B1YmxpYzoK
KyAgICB2aXJ0dWFsIH5SVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUoKSA9IGRlZmF1bHQ7CisKKyAg
ICBzdHJ1Y3QgRGF0YSB7CisgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGRhdGE7CisgICAgICAgIHNp
emVfdCBzaXplOworICAgIH07CisgICAgdmlydHVhbCBEYXRhIGRhdGEoKSBjb25zdCA9IDA7Cisg
ICAgdmlydHVhbCB2b2lkIHNldERhdGEoRGF0YSkgPSAwOworfTsKKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFdFQl9SVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBSZWNlaXZl
ckJhY2tlbmQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJy
dGMvTGliV2ViUlRDUnRwUmVjZWl2ZXJCYWNrZW5kLmNwcAppbmRleCAxZDMxNmFhZmI3ZmNhZDMz
ZTQxYzUxNmU1M2IwNjk4NTk4NTZjYWUwLi45YTg4ZDFjZGMwZWJiMGRjNzliMDRjYjUxYjA0ZWY2
ZWEwZjNlNTkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBSZWNlaXZlckJhY2tlbmQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFJlY2VpdmVy
QmFja2VuZC5jcHAKQEAgLTI1LDcgKzI1LDkgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNs
dWRlICJMaWJXZWJSVENSdHBSZWNlaXZlckJhY2tlbmQuaCIKIAorI2luY2x1ZGUgIkxpYldlYlJU
Q1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZC5oIgogI2luY2x1ZGUgIkxpYldlYlJUQ1V0aWxz
LmgiCisjaW5jbHVkZSAiUlRDUnRwVHJhbnNmb3JtQmFja2VuZC5oIgogI2luY2x1ZGUgIlJlYWx0
aW1lSW5jb21pbmdBdWRpb1NvdXJjZS5oIgogI2luY2x1ZGUgIlJlYWx0aW1lSW5jb21pbmdWaWRl
b1NvdXJjZS5oIgogCkBAIC0xMTQsNiArMTE2LDEwIEBAIFJlZjxSZWFsdGltZU1lZGlhU291cmNl
PiBMaWJXZWJSVENSdHBSZWNlaXZlckJhY2tlbmQ6OmNyZWF0ZVNvdXJjZSgpCiAgICAgUkVMRUFT
RV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAorUmVmPFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ+
IExpYldlYlJUQ1J0cFJlY2VpdmVyQmFja2VuZDo6Y3JlYXRlUlRDUnRwVHJhbnNmb3JtQmFja2Vu
ZCgpCit7CisgICAgcmV0dXJuIExpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZDo6
Y3JlYXRlKG1fcnRjUmVjZWl2ZXIpOworfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xp
YldlYlJUQ1J0cFJlY2VpdmVyQmFja2VuZC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwUmVjZWl2ZXJCYWNrZW5kLmgKaW5kZXggZDAy
ODc5OGIwZTY5YzE3MTQ2YmNlMThiN2Q5YjA4NGZlMjY5ZWUxOC4uYjQ2Y2QyYTY5ODRkZWQ5ZDEx
OTQ3NTU1ZDIwNTE4NzdjMTA1ODc0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwUmVjZWl2ZXJCYWNrZW5kLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRD
UnRwUmVjZWl2ZXJCYWNrZW5kLmgKQEAgLTUyLDYgKzUyLDcgQEAgcHJpdmF0ZToKICAgICBSVENS
dHBQYXJhbWV0ZXJzIGdldFBhcmFtZXRlcnMoKSBmaW5hbDsKICAgICBWZWN0b3I8UlRDUnRwQ29u
dHJpYnV0aW5nU291cmNlPiBnZXRDb250cmlidXRpbmdTb3VyY2VzKCkgY29uc3QgZmluYWw7CiAg
ICAgVmVjdG9yPFJUQ1J0cFN5bmNocm9uaXphdGlvblNvdXJjZT4gZ2V0U3luY2hyb25pemF0aW9u
U291cmNlcygpIGNvbnN0IGZpbmFsOworICAgIFJlZjxSVENSdHBUcmFuc2Zvcm1CYWNrZW5kPiBj
cmVhdGVSVENSdHBUcmFuc2Zvcm1CYWNrZW5kKCkgZmluYWw7CiAKICAgICBydGM6OnNjb3BlZF9y
ZWZwdHI8d2VicnRjOjpSdHBSZWNlaXZlckludGVyZmFjZT4gbV9ydGNSZWNlaXZlcjsKIH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9M
aWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQuY3BwIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zv
cm1CYWNrZW5kLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MWU1OTQxOWFiNzFmMDllZDA3NjVhZTE0NWFjYjJi
YTE1ZDNkYzUxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kLmNw
cApAQCAtMCwwICsxLDU3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAq
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJMaWJXZWJSVENSdHBS
ZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQuaCIKKworI2lmIEVOQUJMRShXRUJfUlRDKSAmJiBVU0Uo
TElCV0VCUlRDKQorCisjaW5jbHVkZSAiTGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmgi
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RhdGljIGlubGluZSBMaWJXZWJSVENSdHBSZWNl
aXZlclRyYW5zZm9ybUJhY2tlbmQ6Ok1lZGlhVHlwZSBtZWRpYVR5cGVGcm9tUmVjZWl2ZXIoY29u
c3Qgd2VicnRjOjpSdHBSZWNlaXZlckludGVyZmFjZSYgcmVjZWl2ZXIpCit7CisgICAgcmV0dXJu
IHJlY2VpdmVyLm1lZGlhX3R5cGUoKSA9PSBjcmlja2V0OjpNRURJQV9UWVBFX0FVRElPID8gUlRD
UnRwVHJhbnNmb3JtQmFja2VuZDo6TWVkaWFUeXBlOjpBdWRpbyA6IFJUQ1J0cFRyYW5zZm9ybUJh
Y2tlbmQ6Ok1lZGlhVHlwZTo6VmlkZW87Cit9CisKK0xpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNm
b3JtQmFja2VuZDo6TGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kKHJ0Yzo6c2Nv
cGVkX3JlZnB0cjx3ZWJydGM6OlJ0cFJlY2VpdmVySW50ZXJmYWNlPiBydGNSZWNlaXZlcikKKyAg
ICA6IExpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQobWVkaWFUeXBlRnJvbVJlY2VpdmVyKCpy
dGNSZWNlaXZlciksIFNpZGU6OlJlY2VpdmVyKQorICAgICwgbV9ydGNSZWNlaXZlcihXVEZNb3Zl
KHJ0Y1JlY2VpdmVyKSkKK3sKK30KKworTGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNr
ZW5kOjp+TGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kKCkKK3sKK30KKwordm9p
ZCBMaWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQ6OnNldFRyYW5zZm9ybWFibGVG
cmFtZUNhbGxiYWNrKENhbGxiYWNrJiYgY2FsbGJhY2spCit7CisgICAgc2V0SW5wdXRDYWxsYmFj
ayhXVEZNb3ZlKGNhbGxiYWNrKSk7CisgICAgbV9ydGNSZWNlaXZlci0+U2V0RGVwYWNrZXRpemVy
VG9EZWNvZGVyRnJhbWVUcmFuc2Zvcm1lcih0aGlzKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFdFQl9SVEMpICYmIFVTRShMSUJXRUJSVEMpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJX
ZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFj
a2VuZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjVhZTk3ZmQwMTBkNTRkOWJjN2JiMWIwMDBlM2YxNzk4YzU2MDNm
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQuaApAQCAtMCww
ICsxLDYxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAor
ICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
CisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFdFQl9SVEMpICYmIFVTRShMSUJXRUJSVEMp
CisKKyNpbmNsdWRlICJMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmgiCisKK0FMTE9XX1VO
VVNFRF9QQVJBTUVURVJTX0JFR0lOCitBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19CRUdJ
TgorCisjaW5jbHVkZSA8d2VicnRjL2FwaS9ydHBfcmVjZWl2ZXJfaW50ZXJmYWNlLmg+CisKK0FM
TE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0VORAorQUxMT1dfVU5VU0VEX1BBUkFNRVRFUlNf
RU5ECisKK25hbWVzcGFjZSB3ZWJydGMgeworY2xhc3MgUnRwUmVjZWl2ZXJJbnRlcmZhY2U7Cit9
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFu
c2Zvcm1CYWNrZW5kIGZpbmFsIDogcHVibGljIExpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQg
eworcHVibGljOgorICAgIHN0YXRpYyBSZWY8TGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1C
YWNrZW5kPiBjcmVhdGUocnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6UnRwUmVjZWl2ZXJJbnRl
cmZhY2U+IHJlY2VpdmVyKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IExpYldlYlJUQ1J0cFJlY2Vp
dmVyVHJhbnNmb3JtQmFja2VuZChXVEZNb3ZlKHJlY2VpdmVyKSkpOyB9CisgICAgfkxpYldlYlJU
Q1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZCgpOworCitwcml2YXRlOgorICAgIGV4cGxpY2l0
IExpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZChydGM6OnNjb3BlZF9yZWZwdHI8
d2VicnRjOjpSdHBSZWNlaXZlckludGVyZmFjZT4pOworCisgICAgLy8gUlRDUnRwVHJhbnNmb3Jt
QmFja2VuZAorICAgIHZvaWQgc2V0VHJhbnNmb3JtYWJsZUZyYW1lQ2FsbGJhY2soQ2FsbGJhY2sm
JikgZmluYWw7CisKKyAgICBydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpSdHBSZWNlaXZlcklu
dGVyZmFjZT4gbV9ydGNSZWNlaXZlcjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwor
I2VuZGlmIC8vIEVOQUJMRShXRUJfUlRDKSAmJiBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRw
U2VuZGVyQmFja2VuZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xp
YndlYnJ0Yy9MaWJXZWJSVENSdHBTZW5kZXJCYWNrZW5kLmNwcAppbmRleCA1OTNkYTk4NGU5Nzhi
OWZlNzA1MThhM2UzOTI0ZWM1MjUxZWZhMmFjLi44ZTk2MWM5NzJmYjBkZTQ4ZDc1YTBjNGFlOWYz
Y2JkMWE5MjJjOWM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBTZW5kZXJCYWNrZW5kLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBTZW5kZXJC
YWNrZW5kLmNwcApAQCAtMzAsOSArMzAsMTEgQEAKICNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZl
cnJlZC5oIgogI2luY2x1ZGUgIkxpYldlYlJUQ0RUTUZTZW5kZXJCYWNrZW5kLmgiCiAjaW5jbHVk
ZSAiTGliV2ViUlRDUGVlckNvbm5lY3Rpb25CYWNrZW5kLmgiCisjaW5jbHVkZSAiTGliV2ViUlRD
UnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZC5oIgogI2luY2x1ZGUgIkxpYldlYlJUQ1V0aWxzLmgi
CiAjaW5jbHVkZSAiUlRDUGVlckNvbm5lY3Rpb24uaCIKICNpbmNsdWRlICJSVENSdHBTZW5kZXIu
aCIKKyNpbmNsdWRlICJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmgiCiAjaW5jbHVkZSAiU2NyaXB0
RXhlY3V0aW9uQ29udGV4dC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0xMzYsNiArMTM4
LDExIEBAIHN0ZDo6dW5pcXVlX3B0cjxSVENEVE1GU2VuZGVyQmFja2VuZD4gTGliV2ViUlRDUnRw
U2VuZGVyQmFja2VuZDo6Y3JlYXRlRFRNRkJhY2tlCiAgICAgcmV0dXJuIG1ha2VVbmlxdWU8TGli
V2ViUlRDRFRNRlNlbmRlckJhY2tlbmQ+KG1fcnRjU2VuZGVyLT5HZXREdG1mU2VuZGVyKCkpOwog
fQogCitSZWY8UlRDUnRwVHJhbnNmb3JtQmFja2VuZD4gTGliV2ViUlRDUnRwU2VuZGVyQmFja2Vu
ZDo6Y3JlYXRlUlRDUnRwVHJhbnNmb3JtQmFja2VuZCgpCit7CisgICAgcmV0dXJuIExpYldlYlJU
Q1J0cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQ6OmNyZWF0ZShtX3J0Y1NlbmRlcik7Cit9CisKIFJl
YWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZSogTGliV2ViUlRDUnRwU2VuZGVyQmFja2VuZDo6dmlk
ZW9Tb3VyY2UoKQogewogICAgIHJldHVybiBzd2l0Y2hPbihtX3NvdXJjZSwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0
cFNlbmRlckJhY2tlbmQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGli
d2VicnRjL0xpYldlYlJUQ1J0cFNlbmRlckJhY2tlbmQuaAppbmRleCBhMTA0MTZkMTQwOWZhZTgw
MjZkZmY0ZWI1OTI1NWQ4NTk1ZjcyMjgyLi5kNTZhMDU2ZTM2MmI0ZDYzNDkxMTYzYzEyYmJjOGRi
Y2NmMjk0NzA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBTZW5kZXJCYWNrZW5kLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwU2VuZGVyQmFja2Vu
ZC5oCkBAIC03MCw2ICs3MCw3IEBAIHByaXZhdGU6CiAgICAgUlRDUnRwU2VuZFBhcmFtZXRlcnMg
Z2V0UGFyYW1ldGVycygpIGNvbnN0IGZpbmFsOwogICAgIHZvaWQgc2V0UGFyYW1ldGVycyhjb25z
dCBSVENSdHBTZW5kUGFyYW1ldGVycyYsIERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYmKSBmaW5h
bDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UlRDRFRNRlNlbmRlckJhY2tlbmQ+IGNyZWF0ZURUTUZC
YWNrZW5kKCkgZmluYWw7CisgICAgUmVmPFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ+IGNyZWF0ZVJU
Q1J0cFRyYW5zZm9ybUJhY2tlbmQoKSBmaW5hbDsKIAogICAgIHZvaWQgc3RhcnRTb3VyY2UoKTsK
ICAgICB2b2lkIHN0b3BTb3VyY2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJhY2tl
bmQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGli
V2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWFmNDM5ZGNm
ZThjMDcyN2E2MDIyNDhiMGM5ZTRmOTkzNWNiNThhMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFNlbmRl
clRyYW5zZm9ybUJhY2tlbmQuY3BwCkBAIC0wLDAgKzEsNTggQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMjAgQXBwbGUgSW5jLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lu
Y2x1ZGUgIkxpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQuaCIKKworI2lmIEVOQUJM
RShXRUJfUlRDKSAmJiBVU0UoTElCV0VCUlRDKQorCisjaW5jbHVkZSAiTGliV2ViUlRDUnRwVHJh
bnNmb3JtYWJsZUZyYW1lLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RhdGljIGlubGlu
ZSBMaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kOjpNZWRpYVR5cGUgbWVkaWFUeXBl
RnJvbVNlbmRlcihjb25zdCB3ZWJydGM6OlJ0cFNlbmRlckludGVyZmFjZSYgc2VuZGVyKQorewor
ICAgIHJldHVybiBzZW5kZXIubWVkaWFfdHlwZSgpID09IGNyaWNrZXQ6Ok1FRElBX1RZUEVfQVVE
SU8gPyBSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpNZWRpYVR5cGU6OkF1ZGlvIDogUlRDUnRwVHJh
bnNmb3JtQmFja2VuZDo6TWVkaWFUeXBlOjpWaWRlbzsKK30KKworTGliV2ViUlRDUnRwU2VuZGVy
VHJhbnNmb3JtQmFja2VuZDo6TGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZChydGM6
OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpSdHBTZW5kZXJJbnRlcmZhY2U+IHJ0Y1NlbmRlcikKKyAg
ICA6IExpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQobWVkaWFUeXBlRnJvbVNlbmRlcigqcnRj
U2VuZGVyKSwgU2lkZTo6U2VuZGVyKQorICAgICwgbV9ydGNTZW5kZXIoV1RGTW92ZShydGNTZW5k
ZXIpKQoreworfQorCitMaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kOjp+TGliV2Vi
UlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZCgpCit7Cit9CisKK3ZvaWQgTGliV2ViUlRDUnRw
U2VuZGVyVHJhbnNmb3JtQmFja2VuZDo6c2V0VHJhbnNmb3JtYWJsZUZyYW1lQ2FsbGJhY2soQ2Fs
bGJhY2smJiBjYWxsYmFjaykKK3sKKyAgICBzZXRJbnB1dENhbGxiYWNrKFdURk1vdmUoY2FsbGJh
Y2spKTsKKyAgICBtX3J0Y1NlbmRlci0+U2V0RW5jb2RlclRvUGFja2V0aXplckZyYW1lVHJhbnNm
b3JtZXIodGhpcyk7Cit9CisKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8g
RU5BQkxFKFdFQl9SVEMpICYmIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBTZW5kZXJUcmFu
c2Zvcm1CYWNrZW5kLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndl
YnJ0Yy9MaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjY2
MDliN2QxZGY5YTk3MGE3YWE1ODg0YzBlMTUzNjQyYzg0NmMyYQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0
cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQuaApAQCAtMCwwICsxLDY0IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDIwIEFwcGxlIEluYy4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYg
RU5BQkxFKFdFQl9SVEMpICYmIFVTRShMSUJXRUJSVEMpCisKKyNpbmNsdWRlICJMaWJXZWJSVENS
dHBUcmFuc2Zvcm1CYWNrZW5kLmgiCisKK0FMTE9XX1VOVVNFRF9QQVJBTUVURVJTX0JFR0lOCitB
TExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19CRUdJTgorCisjaW5jbHVkZSA8d2VicnRjL2Fw
aS9ydHBfc2VuZGVyX2ludGVyZmFjZS5oPgorCitBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9O
U19FTkQKK0FMTE9XX1VOVVNFRF9QQVJBTUVURVJTX0VORAorCituYW1lc3BhY2Ugd2VicnRjIHsK
K2NsYXNzIFJ0cFNlbmRlckludGVyZmFjZTsKK30KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitj
bGFzcyBMaWJXZWJSVENTZW5kZXJUcmFuc2Zvcm1lcjsKKworY2xhc3MgTGliV2ViUlRDUnRwU2Vu
ZGVyVHJhbnNmb3JtQmFja2VuZCBmaW5hbCA6IHB1YmxpYyBMaWJXZWJSVENSdHBUcmFuc2Zvcm1C
YWNrZW5kIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBzdGF0
aWMgUmVmPExpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQ+IGNyZWF0ZShydGM6OnNj
b3BlZF9yZWZwdHI8d2VicnRjOjpSdHBTZW5kZXJJbnRlcmZhY2U+IHNlbmRlcikgeyByZXR1cm4g
YWRvcHRSZWYoKm5ldyBMaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kKFdURk1vdmUo
c2VuZGVyKSkpOyB9CisgICAgfkxpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQoKTsK
KworcHJpdmF0ZToKKyAgICBleHBsaWNpdCBMaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNr
ZW5kKHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlJ0cFNlbmRlckludGVyZmFjZT4pOworCisg
ICAgLy8gUlRDUnRwVHJhbnNmb3JtQmFja2VuZAorICAgIHZvaWQgc2V0VHJhbnNmb3JtYWJsZUZy
YW1lQ2FsbGJhY2soQ2FsbGJhY2smJikgZmluYWw7CisKKyAgICBydGM6OnNjb3BlZF9yZWZwdHI8
d2VicnRjOjpSdHBTZW5kZXJJbnRlcmZhY2U+IG1fcnRjU2VuZGVyOworfTsKKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFdFQl9SVEMpICYmIFVTRShMSUJXRUJS
VEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndl
YnJ0Yy9MaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQu
Y3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjAxNjJkMzBkMWZkZDMwMmEzYjVjM2VkYjM4ZGNjYjllZWUxMzMxMDQK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xp
YndlYnJ0Yy9MaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmNwcApAQCAtMCwwICsxLDk2IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUwor
ICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmgi
CisKKyNpZiBFTkFCTEUoV0VCX1JUQykgJiYgVVNFKExJQldFQlJUQykKKworI2luY2x1ZGUgIkxp
YldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K3ZvaWQgTGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZDo6c2V0SW5wdXRDYWxsYmFjayhDYWxs
YmFjayYmIGNhbGxiYWNrKQoreworICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CisgICAgYXV0
byBsb2NrZXIgPSBob2xkTG9jayhtX2lucHV0Q2FsbGJhY2tMb2NrKTsKKyAgICBtX2lucHV0Q2Fs
bGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKTsKK30KKwordm9pZCBMaWJXZWJSVENSdHBUcmFuc2Zv
cm1CYWNrZW5kOjpjbGVhclRyYW5zZm9ybWFibGVGcmFtZUNhbGxiYWNrKCkKK3sKKyAgICBzZXRJ
bnB1dENhbGxiYWNrKHsgfSk7Cit9CisKK3ZvaWQgTGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2Vu
ZDo6c2V0T3V0cHV0Q2FsbGJhY2socnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6VHJhbnNmb3Jt
ZWRGcmFtZUNhbGxiYWNrPiYmIGNhbGxiYWNrKQoreworICAgIGF1dG8gbG9ja2VyID0gaG9sZExv
Y2sobV9vdXRwdXRDYWxsYmFja0xvY2spOworICAgIG1fb3V0cHV0Q2FsbGJhY2sgPSBXVEZNb3Zl
KGNhbGxiYWNrKTsKK30KKwordm9pZCBMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpwcm9j
ZXNzVHJhbnNmb3JtZWRGcmFtZShSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUmJiBmcmFtZSkKK3sK
KyAgICBhdXRvIGxvY2tlciA9IGhvbGRMb2NrKG1fb3V0cHV0Q2FsbGJhY2tMb2NrKTsKKyAgICBp
ZiAobV9vdXRwdXRDYWxsYmFjaykKKyAgICAgICAgbV9vdXRwdXRDYWxsYmFjay0+T25UcmFuc2Zv
cm1lZEZyYW1lKExpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZTo6dG9SVENGcmFtZShXVEZN
b3ZlKHN0YXRpY19jYXN0PExpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZSY+KGZyYW1lKSkp
KTsKK30KKwordm9pZCBMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpUcmFuc2Zvcm0oc3Rk
Ojp1bmlxdWVfcHRyPHdlYnJ0Yzo6VHJhbnNmb3JtYWJsZUZyYW1lSW50ZXJmYWNlPiBydGNGcmFt
ZSkKK3sKKyAgICB7CisgICAgICAgIGF1dG8gbG9ja2VyID0gaG9sZExvY2sobV9pbnB1dENhbGxi
YWNrTG9jayk7CisgICAgICAgIGlmIChtX2lucHV0Q2FsbGJhY2spIHsKKyAgICAgICAgICAgIG1f
aW5wdXRDYWxsYmFjayhMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUoV1RGTW92ZShydGNG
cmFtZSkpKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgIH0KKyAgICAvLyBJ
biBjYXNlIG9mIG5vIGlucHV0IGNhbGxiYWNrLCBtYWtlIHRoZSB0cmFuc2Zvcm0gYSBuby1vcC4K
KyAgICBhdXRvIGxvY2tlciA9IGhvbGRMb2NrKG1fb3V0cHV0Q2FsbGJhY2tMb2NrKTsKKyAgICBp
ZiAobV9vdXRwdXRDYWxsYmFjaykKKyAgICAgICAgbV9vdXRwdXRDYWxsYmFjay0+T25UcmFuc2Zv
cm1lZEZyYW1lKFdURk1vdmUocnRjRnJhbWUpKTsKK30KKwordm9pZCBMaWJXZWJSVENSdHBUcmFu
c2Zvcm1CYWNrZW5kOjpSZWdpc3RlclRyYW5zZm9ybWVkRnJhbWVDYWxsYmFjayhydGM6OnNjb3Bl
ZF9yZWZwdHI8d2VicnRjOjpUcmFuc2Zvcm1lZEZyYW1lQ2FsbGJhY2s+IGNhbGxiYWNrKQorewor
ICAgIHNldE91dHB1dENhbGxiYWNrKFdURk1vdmUoY2FsbGJhY2spKTsKK30KKwordm9pZCBMaWJX
ZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpSZWdpc3RlclRyYW5zZm9ybWVkRnJhbWVTaW5rQ2Fs
bGJhY2socnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6VHJhbnNmb3JtZWRGcmFtZUNhbGxiYWNr
PiBjYWxsYmFjaywgdWludDMyX3QgLyogc3NyYyAqLykKK3sKKyAgICBSZWdpc3RlclRyYW5zZm9y
bWVkRnJhbWVDYWxsYmFjayhXVEZNb3ZlKGNhbGxiYWNrKSk7Cit9CisKK3ZvaWQgTGliV2ViUlRD
UnRwVHJhbnNmb3JtQmFja2VuZDo6VW5yZWdpc3RlclRyYW5zZm9ybWVkRnJhbWVDYWxsYmFjaygp
Cit7CisgICAgc2V0T3V0cHV0Q2FsbGJhY2sobnVsbHB0cik7Cit9CisKK3ZvaWQgTGliV2ViUlRD
UnRwVHJhbnNmb3JtQmFja2VuZDo6VW5yZWdpc3RlclRyYW5zZm9ybWVkRnJhbWVTaW5rQ2FsbGJh
Y2sodWludDMyX3QgLyogc3NyYyAqLykKK3sKKyAgICBVbnJlZ2lzdGVyVHJhbnNmb3JtZWRGcmFt
ZUNhbGxiYWNrKCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVO
QUJMRShXRUJfUlRDKSAmJiBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwVHJhbnNmb3JtQmFj
a2VuZC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGli
V2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNThjNjRiYjYxMTQwYzRl
MmNlYjQ3YTE3MDM0MDk1ZjZiNGU5OTAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNr
ZW5kLmgKQEAgLTAsMCArMSw5MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJ
bmMuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAg
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQor
ICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
CisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJfUlRDKSAmJiBV
U0UoTElCV0VCUlRDKQorCisjaW5jbHVkZSAiTGliV2ViUlRDTWFjcm9zLmgiCisjaW5jbHVkZSAi
UlRDUnRwVHJhbnNmb3JtQmFja2VuZC5oIgorI2luY2x1ZGUgPHdlYnJ0Yy9hcGkvc2NvcGVkX3Jl
ZnB0ci5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CisKK0FMTE9XX1VOVVNFRF9QQVJBTUVURVJT
X0JFR0lOCitBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19CRUdJTgorCisjaW5jbHVkZSA8
d2VicnRjL2FwaS9mcmFtZV90cmFuc2Zvcm1lcl9pbnRlcmZhY2UuaD4KKworQUxMT1dfREVQUkVD
QVRFRF9ERUNMQVJBVElPTlNfRU5ECitBTExPV19VTlVTRURfUEFSQU1FVEVSU19FTkQKKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kIDog
cHVibGljIFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQsIHB1YmxpYyB3ZWJydGM6OkZyYW1lVHJhbnNm
b3JtZXJJbnRlcmZhY2UgeworcHJvdGVjdGVkOgorICAgIExpYldlYlJUQ1J0cFRyYW5zZm9ybUJh
Y2tlbmQoTWVkaWFUeXBlLCBTaWRlKTsKKyAgICB2b2lkIHNldElucHV0Q2FsbGJhY2soQ2FsbGJh
Y2smJik7CisKK3ByaXZhdGU6CisgICAgdm9pZCBzZXRPdXRwdXRDYWxsYmFjayhydGM6OnNjb3Bl
ZF9yZWZwdHI8d2VicnRjOjpUcmFuc2Zvcm1lZEZyYW1lQ2FsbGJhY2s+JiYpOworCisgICAgLy8g
UlRDUnRwVHJhbnNmb3JtQmFja2VuZAorICAgIHZvaWQgcHJvY2Vzc1RyYW5zZm9ybWVkRnJhbWUo
UlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lJiYpIGZpbmFsOworICAgIHZvaWQgY2xlYXJUcmFuc2Zv
cm1hYmxlRnJhbWVDYWxsYmFjaygpIGZpbmFsOworICAgIE1lZGlhVHlwZSBtZWRpYVR5cGUoKSBj
b25zdCBmaW5hbCB7IHJldHVybiBtX21lZGlhVHlwZTsgfQorICAgIFNpZGUgc2lkZSgpIGNvbnN0
IGZpbmFsIHsgcmV0dXJuIG1fc2lkZTsgfQorCisgICAgLy8gd2VicnRjOjpGcmFtZVRyYW5zZm9y
bWVySW50ZXJmYWNlCisgICAgdm9pZCBUcmFuc2Zvcm0oc3RkOjp1bmlxdWVfcHRyPHdlYnJ0Yzo6
VHJhbnNmb3JtYWJsZUZyYW1lSW50ZXJmYWNlPikgZmluYWw7CisgICAgdm9pZCBSZWdpc3RlclRy
YW5zZm9ybWVkRnJhbWVDYWxsYmFjayhydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpUcmFuc2Zv
cm1lZEZyYW1lQ2FsbGJhY2s+KSBmaW5hbDsKKyAgICB2b2lkIFJlZ2lzdGVyVHJhbnNmb3JtZWRG
cmFtZVNpbmtDYWxsYmFjayhydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpUcmFuc2Zvcm1lZEZy
YW1lQ2FsbGJhY2s+LCB1aW50MzJfdCBzc3JjKSBmaW5hbDsKKyAgICB2b2lkIFVucmVnaXN0ZXJU
cmFuc2Zvcm1lZEZyYW1lQ2FsbGJhY2soKSBmaW5hbDsKKyAgICB2b2lkIFVucmVnaXN0ZXJUcmFu
c2Zvcm1lZEZyYW1lU2lua0NhbGxiYWNrKHVpbnQzMl90IHNzcmMpIGZpbmFsOworICAgIHZvaWQg
QWRkUmVmKCkgY29uc3QgZmluYWwgeyByZWYoKTsgfQorICAgIHJ0Yzo6UmVmQ291bnRSZWxlYXNl
U3RhdHVzIFJlbGVhc2UoKSBjb25zdCBmaW5hbDsKKworICAgIE1lZGlhVHlwZSBtX21lZGlhVHlw
ZTsKKyAgICBTaWRlIG1fc2lkZTsKKworICAgIExvY2sgbV9pbnB1dENhbGxiYWNrTG9jazsKKyAg
ICBDYWxsYmFjayBtX2lucHV0Q2FsbGJhY2s7CisKKyAgICBMb2NrIG1fb3V0cHV0Q2FsbGJhY2tM
b2NrOworICAgIHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlRyYW5zZm9ybWVkRnJhbWVDYWxs
YmFjaz4gbV9vdXRwdXRDYWxsYmFjazsKK307CisKK2lubGluZSBMaWJXZWJSVENSdHBUcmFuc2Zv
cm1CYWNrZW5kOjpMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kKE1lZGlhVHlwZSBtZWRpYVR5
cGUsIFNpZGUgc2lkZSkKKyAgICA6IG1fbWVkaWFUeXBlKG1lZGlhVHlwZSkKKyAgICAsIG1fc2lk
ZShzaWRlKQoreworfQorCitpbmxpbmUgcnRjOjpSZWZDb3VudFJlbGVhc2VTdGF0dXMgTGliV2Vi
UlRDUnRwVHJhbnNmb3JtQmFja2VuZDo6UmVsZWFzZSgpIGNvbnN0Cit7CisgICAgZGVyZWYoKTsK
KyAgICByZXR1cm4gcnRjOjpSZWZDb3VudFJlbGVhc2VTdGF0dXM6OmtPdGhlclJlZnNSZW1haW5l
ZDsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFdFQl9S
VEMpICYmIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuaCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0
cFRyYW5zZm9ybWFibGVGcmFtZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYyODYzMmM2ZTE3YjExZmY3OGNlMjM1
MTE5N2ZmYTBlM2E0N2YxNGYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUu
aApAQCAtMCwwICsxLDY2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAq
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFdFQl9SVEMpCisKKyNpbmNs
dWRlICJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitjbGFzcyBMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUgZmluYWwgOiBwdWJsaWMgUlRD
UnRwVHJhbnNmb3JtYWJsZUZyYW1lIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1
YmxpYzoKKyAgICBleHBsaWNpdCBMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUoc3RkOjp1
bmlxdWVfcHRyPHdlYnJ0Yzo6VHJhbnNmb3JtYWJsZUZyYW1lSW50ZXJmYWNlPiYmKTsKKyAgICB2
aXJ0dWFsIH5MaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUoKSA9IGRlZmF1bHQ7CisKKyAg
ICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPHdlYnJ0Yzo6VHJhbnNmb3JtYWJsZUZyYW1lSW50ZXJm
YWNlPiB0b1JUQ0ZyYW1lKExpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZSYmKTsKKworcHJp
dmF0ZToKKyAgICBEYXRhIGRhdGEoKSBjb25zdCBmaW5hbDsKKyAgICB2b2lkIHNldERhdGEoRGF0
YSBkYXRhKSBmaW5hbCB7IG1fcnRjRnJhbWUtPlNldERhdGEoeyBkYXRhLmRhdGEsIGRhdGEuc2l6
ZSB9KTsgfQorCisgICAgc3RkOjp1bmlxdWVfcHRyPHdlYnJ0Yzo6VHJhbnNmb3JtYWJsZUZyYW1l
SW50ZXJmYWNlPiBtX3J0Y0ZyYW1lOworfTsKKworaW5saW5lIExpYldlYlJUQ1J0cFRyYW5zZm9y
bWFibGVGcmFtZTo6TGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lKHN0ZDo6dW5pcXVlX3B0
cjx3ZWJydGM6OlRyYW5zZm9ybWFibGVGcmFtZUludGVyZmFjZT4mJiBmcmFtZSkKKyAgICA6IG1f
cnRjRnJhbWUoV1RGTW92ZShmcmFtZSkpCit7Cit9CisKK2lubGluZSBzdGQ6OnVuaXF1ZV9wdHI8
d2VicnRjOjpUcmFuc2Zvcm1hYmxlRnJhbWVJbnRlcmZhY2U+IExpYldlYlJUQ1J0cFRyYW5zZm9y
bWFibGVGcmFtZTo6dG9SVENGcmFtZShMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUmJiBm
cmFtZSkKK3sKKyAgICByZXR1cm4gV1RGTW92ZShmcmFtZS5tX3J0Y0ZyYW1lKTsKK30KKworaW5s
aW5lIFJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZTo6RGF0YSBMaWJXZWJSVENSdHBUcmFuc2Zvcm1h
YmxlRnJhbWU6OmRhdGEoKSBjb25zdAoreworICAgIGF1dG8gZGF0YSA9IG1fcnRjRnJhbWUtPkdl
dERhdGEoKTsKKyAgICByZXR1cm4geyBkYXRhLmJlZ2luKCksIGRhdGEuc2l6ZSgpIH07Cit9CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJfUlRDKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3Vy
Y2VzLnR4dAppbmRleCBmOTVhZmY2N2M5NDU2MzQyNjJhYzM5YTFiMzljODA0MTc5NGM0NmRiLi42
NGE1ZDVkNGQ0NzA2NDY5M2MwNWZmODcyMWVjNWUzN2IwNTM5NTY1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApA
QCAtMTY0LDEyICsxNjQsMTYgQEAgTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlv
bi5jcHAKIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb25JY2VFdmVudC5jcHAK
IE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIuY3BwCiBNb2R1bGVzL21lZGlhc3Ry
ZWFtL1JUQ1J0cFNlbmRlci5jcHAKK01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNmb3Jt
LmNwcAogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBUcmFuc2NlaXZlci5jcHAKIE1vZHVsZXMv
bWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uLmNwcAogTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENUcmFja0V2ZW50LmNwcAogTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFDb250cm9s
bGVyLmNwcAogTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmNwcAogTW9kdWxl
cy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDQ2VydGlmaWNhdGVHZW5lcmF0b3IuY3Bw
CitNb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBSZWNlaXZlclRyYW5z
Zm9ybUJhY2tlbmQuY3BwCitNb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENS
dHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kLmNwcAorTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJy
dGMvTGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZC5jcHAKIE1vZHVsZXMvbm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb24uY3BwCiBNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ29u
dHJvbGxlci5jcHAKIE1vZHVsZXMvcGF5bWVudHJlcXVlc3QvTWVyY2hhbnRWYWxpZGF0aW9uRXZl
bnQuY3BwCkBAIC0zMzIwLDYgKzMzMjQsNyBAQCBKU1JUQ1J0cFNlbmRlci5jcHAKIEpTUlRDUnRw
U3luY2hyb25pemF0aW9uU291cmNlLmNwcAogSlNSVENSdHBUcmFuc2NlaXZlci5jcHAKIEpTUlRD
UnRwVHJhbnNjZWl2ZXJEaXJlY3Rpb24uY3BwCitKU1JUQ1J0cFRyYW5zZm9ybS5jcHAKIEpTUlRD
U2RwVHlwZS5jcHAKIEpTUlRDU2Vzc2lvbkRlc2NyaXB0aW9uLmNwcAogSlNSVENTZXNzaW9uRGVz
Y3JpcHRpb25Jbml0LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCmluZGV4IGJiODI0ODZmYjk0ZTY1Yzc5NWE2Nzc3NjZhZGYxMzQxOGY5
ZmU3M2YuLmM5OGQxNmE5MWI4YzFjZDA0ZjcwYWRjZWU2ZmRkZmVhNGQ5MTRkMDMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEw
NDcsNiArMTA0Nyw5IEBACiAJCTQxMzhGODU4MUQyNTNGMEUwMDFDQjYxRSAvKiBKU0RPTUl0ZXJh
dG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTM4
Rjg1NjFEMjUzRUVFMDAxQ0I2MUUgLyogSlNET01JdGVyYXRvci5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxM0ExQUEyMjM3MUE4QjQwMDdFRjNB
NSAvKiBKU0RPTVNldExpa2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDQxM0ExQTlGMjM3MUE4QTgwMDdFRjNBNSAvKiBKU0RPTVNldExpa2UuaCAqLzsg
fTsKIAkJNDEzQzJDMzQxQkMyOUE4RjAwNzUyMDRDIC8qIEpTRE9NQ29uc3RydWN0b3IuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxM0MyQzMzMUJDMjlB
N0IwMDc1MjA0QyAvKiBKU0RPTUNvbnN0cnVjdG9yLmggKi87IH07CisJCTQxM0M4QjMzMjU1MkYy
N0QwMEU2NTA1NSAvKiBSVENSdHBTZW5kZXJXaXRoVHJhbnNmb3JtLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTNDOEIyRTI1NTJGMjdCMDBFNjUwNTUg
LyogUlRDUnRwU2VuZGVyV2l0aFRyYW5zZm9ybS5oICovOyB9OworCQk0MTNDOEIzNDI1NTJGMjdE
MDBFNjUwNTUgLyogUlRDUnRwVHJhbnNmb3JtLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0MTNDOEIyRjI1NTJGMjdCMDBFNjUwNTUgLyogUlRDUnRwVHJh
bnNmb3JtLmggKi87IH07CisJCTQxM0M4QjM1MjU1MkYyN0QwMEU2NTA1NSAvKiBSVENSdHBSZWNl
aXZlcldpdGhUcmFuc2Zvcm0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDQxM0M4QjMwMjU1MkYyN0MwMEU2NTA1NSAvKiBSVENSdHBSZWNlaXZlcldpdGhU
cmFuc2Zvcm0uaCAqLzsgfTsKIAkJNDEzQ0NENEEyMERFMDM0RjAwNjVBMjFBIC8qIE1vY2tNZWRp
YURldmljZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDEzQ0NENDgyMERFMDEzQzAwNjVBMjFBIC8qIE1vY2tNZWRpYURldmljZS5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxM0UwMDc5MURCMEU0RjIw
MDIzNDFEMiAvKiBNZW1vcnlSZWxlYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0MTNFMDA3ODFEQjBFNERFMDAyMzQxRDIgLyogTWVtb3J5UmVsZWFz
ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQx
NDQ2MEEyMjQxMjk5NDUwMDgxNEJFNyAvKiBNZWRpYVNlc3Npb25JZGVudGlmaWVyLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTQ0NjBBMDI0MTI5OTQx
MDA4MTRCRTcgLyogTWVkaWFTZXNzaW9uSWRlbnRpZmllci5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xMDk5LDYgKzExMDIsMTMgQEAKIAkJNDE3
RjdBRUYyMTM5QkY2RjAwRkJBN0VDIC8qIE1lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE3RjdBRUQyMTM5QkY2
NTAwRkJBN0VDIC8qIE1lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxODE1QzFFMTM4MzE5ODMwMDU3QUFB
NCAvKiBXZWJDb3JlVGVzdFN1cHBvcnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDE4MTVDMUMxMzgzMTk4MzAwNTdBQUE0IC8qIFdlYkNvcmVUZXN0
U3VwcG9ydC5jcHAgKi87IH07CiAJCTQxODE1QzFGMTM4MzE5ODMwMDU3QUFBNCAvKiBXZWJDb3Jl
VGVzdFN1cHBvcnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQxODE1QzFEMTM4MzE5ODMwMDU3QUFBNCAvKiBXZWJDb3JlVGVzdFN1cHBvcnQuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk0MTgxQzVDOTI1
NTU3M0RGMDBBRUIwRkYgLyogUlRDUnRwVHJhbnNmb3JtQmFja2VuZC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE4MUM1QzgyNTU1NzNERjAwQUVCMEZG
IC8qIFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuaCAqLzsgfTsKKwkJNDE4MUM1Q0IyNTU1ODJFNDAw
QUVCMEZGIC8qIFJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE4MUM1Q0EyNTU1ODJFMzAwQUVCMEZGIC8qIFJU
Q1J0cFRyYW5zZm9ybWFibGVGcmFtZS5oICovOyB9OworCQk0MTgxQzVDRDI1NTU4MzY5MDBBRUIw
RkYgLyogTGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTgxQzVDQzI1NTU4MzY4MDBBRUIwRkYgLyog
TGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmggKi87IH07CisJCTQxODFDNUQxMjU1NTg5
NTYwMEFFQjBGRiAvKiBMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTgxQzVDRjI1NTU4OTU2MDBBRUIw
RkYgLyogTGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZC5oICovOyB9OworCQk0MTgxQzVENjI1
NTVDMUI5MDBBRUIwRkYgLyogTW9ja1JUQ1J0cFRyYW5zZm9ybS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE4MUM1RDUyNTU1QzFCOTAwQUVCMEZGIC8q
IE1vY2tSVENSdHBUcmFuc2Zvcm0uaCAqLzsgfTsKKwkJNDE4MUM1RDcyNTU1QzQ5QTAwQUVCMEZG
IC8qIE1vY2tSVENSdHBUcmFuc2Zvcm0uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDE4MUM1RDMyNTU1QzFCMTAwQUVCMEZGIC8qIE1vY2tSVENSdHBU
cmFuc2Zvcm0uY3BwICovOyB9OworCQk0MTgxQzYzOTI1NUFFOTBGMDBBRUIwRkYgLyogSlNNb2Nr
UlRDUnRwVHJhbnNmb3JtLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDJENkYzRTkyMUMxRjg1NTUwMDYxREJFNCAvKiBKU01vY2tSVENSdHBUcmFuc2Zv
cm0uY3BwICovOyB9OwogCQk0MTgyMDU0NzFFNTNFOThDMDBENjIyMDcgLyogUlRDQ29udHJvbGxl
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE4MjA1
NDUxRTUzQzhDRDAwRDYyMjA3IC8qIFJUQ0NvbnRyb2xsZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MTgyNkJGMjIzRkI1OTc3MDBCOTIyQjEg
LyogRG9jdW1lbnRJZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0MTgyNkJGMTIzRkI1OTcwMDBCOTIyQjEgLyogRG9jdW1lbnRJZGVudGlm
aWVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
NDE4NEY1MTYxRUFGMDVBODAwRjE4QkYwIC8qIE9yaWVudGF0aW9uTm90aWZpZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxODRGNTE1MUVBRjA1OTgw
MEYxOEJGMCAvKiBPcmllbnRhdGlvbk5vdGlmaWVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTcwMzMsNiArNzA0Myw3IEBACiAJCTJENkYzRTky
MUMxRjg1NTUwMDYxREJENCAvKiBKU01vY2tQYWdlT3ZlcmxheS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01vY2tQYWdlT3ZlcmxheS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTJENkYzRTkyMUMxRjg1NTUwMDYxREJENSAvKiBKU0ludGVybmFs
c1NldExpa2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNJbnRl
cm5hbHNTZXRMaWtlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQ2RjNFOTIx
QzFGODU1NTAwNjFEQkQ2IC8qIEpTSW50ZXJuYWxzTWFwTGlrZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0ludGVybmFsc01hcExpa2UuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkyRDZGM0U5MjFDMUY4NTU1MDA2MURCRTQgLyogSlNNb2NrUlRD
UnRwVHJhbnNmb3JtLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpT
TW9ja1JUQ1J0cFRyYW5zZm9ybS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJE
NkYzRTkzMUMxRjg1NTUwMDYxREJENCAvKiBKU01vY2tQYWdlT3ZlcmxheS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBKU01vY2tQYWdlT3ZlcmxheS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkyRDcwQkExMjE4MDc0RERGMDAwMTkwOEEgLyogUGxhdGZvcm1DQUxh
eWVyQ29jb2EuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGxhdGZvcm1DQUxh
eWVyQ29jb2EuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQ3MEJBMTQxODA3NEY4
NTAwMDE5MDhBIC8qIFBsYXRmb3JtQ0FMYXllci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBQbGF0Zm9ybUNBTGF5ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtNzU2Miw2ICs3NTczLDEyIEBACiAJCTQxM0ExQTlGMjM3MUE4QTgwMDdFRjNBNSAv
KiBKU0RPTVNldExpa2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNET01TZXRMaWtlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxM0ExQUExMjM3MUE4QTkwMDdFRjNBNSAvKiBKU0RPTVNl
dExpa2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNET01TZXRMaWtlLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEzQzJDMzMxQkMyOUE3QjAwNzUyMDRDIC8qIEpTRE9NQ29u
c3RydWN0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNET01Db25zdHJ1
Y3Rvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTNDOEIyNDI1NTJFRUE5MDBF
NjUwNTUgLyogUlRDUnRwUmVjZWl2ZXIrVHJhbnNmb3JtLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBh
dGggPSAiUlRDUnRwUmVjZWl2ZXIrVHJhbnNmb3JtLmlkbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTQxM0M4QjI2MjU1MkVFQTkwMEU2NTA1NSAvKiBSVENSdHBTZW5kZXIrVHJhbnNm
b3JtLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSAiUlRDUnRwU2VuZGVyK1RyYW5zZm9ybS5p
ZGwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTNDOEIyOTI1NTJGMDEzMDBFNjUw
NTUgLyogUlRDUnRwVHJhbnNmb3JtLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBSVENSdHBU
cmFuc2Zvcm0uaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTNDOEIyRTI1NTJG
MjdCMDBFNjUwNTUgLyogUlRDUnRwU2VuZGVyV2l0aFRyYW5zZm9ybS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBSVENSdHBTZW5kZXJXaXRoVHJhbnNmb3JtLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxM0M4QjJGMjU1MkYyN0IwMEU2NTA1NSAvKiBSVENSdHBU
cmFuc2Zvcm0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUlRDUnRwVHJhbnNm
b3JtLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxM0M4QjMwMjU1MkYyN0MwMEU2
NTA1NSAvKiBSVENSdHBSZWNlaXZlcldpdGhUcmFuc2Zvcm0uaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gUlRDUnRwUmVjZWl2ZXJXaXRoVHJhbnNmb3JtLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTQxM0NDRDQ4MjBERTAxM0MwMDY1QTIxQSAvKiBNb2NrTWVkaWFE
ZXZpY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTW9ja01lZGlhRGV2aWNl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxM0UwMDc3MURCMEU0REUwMDIzNDFE
MiAvKiBNZW1vcnlSZWxlYXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IE1lbW9yeVJlbGVhc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTNF
MDA3ODFEQjBFNERFMDAyMzQxRDIgLyogTWVtb3J5UmVsZWFzZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBNZW1vcnlSZWxlYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC03NjcyLDYgKzc2ODksMTkgQEAKIAkJNDE4MTVDMUMxMzgzMTk4MzAwNTdBQUE0IC8q
IFdlYkNvcmVUZXN0U3VwcG9ydC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBXZWJDb3JlVGVzdFN1cHBvcnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk0MTgxNUMxRDEzODMxOTgzMDA1N0FBQTQgLyogV2ViQ29yZVRlc3RTdXBwb3J0LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkNvcmVUZXN0U3VwcG9ydC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk0MTgxNzA3RDEzODZFREYyMDA1N0FBQTQgLyogV2ViQ29y
ZVRlc3RTdXBwb3J0LnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgcGF0aCA9IFdl
YkNvcmVUZXN0U3VwcG9ydC54Y2NvbmZpZzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
NDE4MUM1QkUyNTUzRUI2RTAwQUVCMEZGIC8qIExpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJh
Y2tlbmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2Vu
ZC5oOyBwYXRoID0gbGlid2VicnRjL0xpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE4MUM1QzAyNTUzRUI2RTAwQUVCMEZG
IC8qIExpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZC5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IG5hbWUgPSBMaWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQuY3BwOyBwYXRoID0g
bGlid2VicnRjL0xpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZC5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxODFDNUMxMjU1M0VCNkUwMEFFQjBGRiAvKiBMaWJX
ZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IExp
YldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQuY3BwOyBwYXRoID0gbGlid2VicnRjL0xp
YldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk0MTgxQzVDMjI1NTNFQjZGMDBBRUIwRkYgLyogTGliV2ViUlRDUnRwUmVjZWl2
ZXJUcmFuc2Zvcm1CYWNrZW5kLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IExpYldlYlJUQ1J0cFJlY2VpdmVy
VHJhbnNmb3JtQmFja2VuZC5oOyBwYXRoID0gbGlid2VicnRjL0xpYldlYlJUQ1J0cFJlY2VpdmVy
VHJhbnNmb3JtQmFja2VuZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTgxQzVD
NjI1NTU3MzUxMDBBRUIwRkYgLyogUlRDUnRwVHJhbnNmb3JtLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJUQ1J0cFRyYW5zZm9ybS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTQxODFDNUM4MjU1NTczREYwMEFFQjBGRiAvKiBSVENSdHBUcmFuc2Zv
cm1CYWNrZW5kLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJUQ1J0cFRyYW5z
Zm9ybUJhY2tlbmQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE4MUM1Q0EyNTU1
ODJFMzAwQUVCMEZGIC8qIFJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE4MUM1Q0MyNTU1ODM2ODAwQUVCMEZGIC8qIExpYldlYlJU
Q1J0cFRyYW5zZm9ybWFibGVGcmFtZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUg
PSBMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuaDsgcGF0aCA9IGxpYndlYnJ0Yy9MaWJX
ZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJNDE4MUM1Q0UyNTU1ODk1NTAwQUVCMEZGIC8qIExpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tl
bmQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTGliV2ViUlRDUnRw
VHJhbnNmb3JtQmFja2VuZC5jcHA7IHBhdGggPSBsaWJ3ZWJydGMvTGliV2ViUlRDUnRwVHJhbnNm
b3JtQmFja2VuZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxODFDNUNGMjU1
NTg5NTYwMEFFQjBGRiAvKiBMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IExpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuaDsg
cGF0aCA9IGxpYndlYnJ0Yy9MaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxODFDNUQzMjU1NUMxQjEwMEFFQjBGRiAvKiBNb2NrUlRD
UnRwVHJhbnNmb3JtLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1v
Y2tSVENSdHBUcmFuc2Zvcm0uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTgx
QzVENTI1NTVDMUI5MDBBRUIwRkYgLyogTW9ja1JUQ1J0cFRyYW5zZm9ybS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBNb2NrUlRDUnRwVHJhbnNmb3JtLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTQxODFDNjM2MjU1QUUyNjEwMEFFQjBGRiAvKiBNb2NrUlRDUnRw
VHJhbnNmb3JtLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQ7IHBhdGggPSBNb2NrUlRDUnRwVHJhbnNmb3JtLmlkbDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNDE4MjA1NDUxRTUzQzhDRDAwRDYyMjA3IC8qIFJUQ0NvbnRyb2xs
ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUlRDQ29udHJvbGxlci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTgyMDU0ODFFNTNFQUFEMDBENjIyMDcgLyog
UlRDQ29udHJvbGxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBS
VENDb250cm9sbGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE4MjZCRjEy
M0ZCNTk3MDAwQjkyMkIxIC8qIERvY3VtZW50SWRlbnRpZmllci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBEb2N1bWVudElkZW50aWZpZXIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTE3MDQzLDE2ICsxNzA3MywyMCBAQAogCQkJCTQxRTU5NDAwMjE0ODY1QUEw
MEQzQ0I2MSAvKiBSVENSdHBIZWFkZXJFeHRlbnNpb25QYXJhbWV0ZXJzLmlkbCAqLywKIAkJCQk0
MUE0OEFBODFFODRBRjFEMDBEMkFDMkQgLyogUlRDUnRwUGFyYW1ldGVycy5oICovLAogCQkJCTQx
QTQ4QUE3MUU4NEFFRUMwMEQyQUMyRCAvKiBSVENSdHBQYXJhbWV0ZXJzLmlkbCAqLywKKwkJCQk0
MTNDOEIyNDI1NTJFRUE5MDBFNjUwNTUgLyogUlRDUnRwUmVjZWl2ZXIrVHJhbnNmb3JtLmlkbCAq
LywKIAkJCQk1RTJDNDM1NjFCQ0VFMzBEMDAwMUUyQkMgLyogUlRDUnRwUmVjZWl2ZXIuY3BwICov
LAogCQkJCTVFMkM0MzU3MUJDRUUzMEQwMDAxRTJCQyAvKiBSVENSdHBSZWNlaXZlci5oICovLAog
CQkJCTVFMkM0MzU4MUJDRUUzMEQwMDAxRTJCQyAvKiBSVENSdHBSZWNlaXZlci5pZGwgKi8sCiAJ
CQkJNDFEMUEwNDgyMTNFRERFQjAwNjNGQjZCIC8qIFJUQ1J0cFJlY2VpdmVyQmFja2VuZC5oICov
LAorCQkJCTQxM0M4QjMwMjU1MkYyN0MwMEU2NTA1NSAvKiBSVENSdHBSZWNlaXZlcldpdGhUcmFu
c2Zvcm0uaCAqLywKIAkJCQk0MUZDQjc2MDIxNDg2NzAwMDAzOEFEQzYgLyogUlRDUnRwUnR4UGFy
YW1ldGVycy5oICovLAogCQkJCTQxRkNCNzU4MjE0ODY1RDIwMDM4QURDNiAvKiBSVENSdHBSdHhQ
YXJhbWV0ZXJzLmlkbCAqLywKKwkJCQk0MTNDOEIyNjI1NTJFRUE5MDBFNjUwNTUgLyogUlRDUnRw
U2VuZGVyK1RyYW5zZm9ybS5pZGwgKi8sCiAJCQkJNUUyQzQzNTkxQkNFRTMwRDAwMDFFMkJDIC8q
IFJUQ1J0cFNlbmRlci5jcHAgKi8sCiAJCQkJNUUyQzQzNUExQkNFRTMwRDAwMDFFMkJDIC8qIFJU
Q1J0cFNlbmRlci5oICovLAogCQkJCTVFMkM0MzVCMUJDRUUzMEQwMDAxRTJCQyAvKiBSVENSdHBT
ZW5kZXIuaWRsICovLAogCQkJCTQxRDFBMDQ2MjEzRURERUIwMDYzRkI2QiAvKiBSVENSdHBTZW5k
ZXJCYWNrZW5kLmggKi8sCisJCQkJNDEzQzhCMkUyNTUyRjI3QjAwRTY1MDU1IC8qIFJUQ1J0cFNl
bmRlcldpdGhUcmFuc2Zvcm0uaCAqLywKIAkJCQk0MTRBRDNGQzIxNDk4NDIwMDA1MjE2NzYgLyog
UlRDUnRwU2VuZFBhcmFtZXRlcnMuaCAqLywKIAkJCQk0MTRBRDNGRTIxNDk4NDIwMDA1MjE2NzYg
LyogUlRDUnRwU2VuZFBhcmFtZXRlcnMuaWRsICovLAogCQkJCTQxNUUxQkI2MjE1MDE1MkEwMDIy
REE5NiAvKiBSVENSdHBTeW5jaHJvbml6YXRpb25Tb3VyY2UuaCAqLywKQEAgLTE3MDYyLDYgKzE3
MDk2LDExIEBACiAJCQkJNUU1RTJCMTIxQ0ZDM0U0QjAwMEMwRDg1IC8qIFJUQ1J0cFRyYW5zY2Vp
dmVyLmlkbCAqLywKIAkJCQk0MTg2QkQ0NjIxNDA3MkI2MDAwMTgyNkYgLyogUlRDUnRwVHJhbnNj
ZWl2ZXJCYWNrZW5kLmggKi8sCiAJCQkJMzE2RENCMTcxRTc4QzMzMDAwMUI1Rjg3IC8qIFJUQ1J0
cFRyYW5zY2VpdmVyRGlyZWN0aW9uLmlkbCAqLywKKwkJCQk0MTgxQzVDNjI1NTU3MzUxMDBBRUIw
RkYgLyogUlRDUnRwVHJhbnNmb3JtLmNwcCAqLywKKwkJCQk0MTNDOEIyRjI1NTJGMjdCMDBFNjUw
NTUgLyogUlRDUnRwVHJhbnNmb3JtLmggKi8sCisJCQkJNDEzQzhCMjkyNTUyRjAxMzAwRTY1MDU1
IC8qIFJUQ1J0cFRyYW5zZm9ybS5pZGwgKi8sCisJCQkJNDE4MUM1Q0EyNTU1ODJFMzAwQUVCMEZG
IC8qIFJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZS5oICovLAorCQkJCTQxODFDNUM4MjU1NTczREYw
MEFFQjBGRiAvKiBSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmggKi8sCiAJCQkJNDEwRjU2NTgyNEZD
Rjg1NDAwQTJFNTBDIC8qIFJUQ1NkcFR5cGUuaWRsICovLAogCQkJCTA3MjIxQjdBMTdDRUMzMjcw
MDg0OEU1MSAvKiBSVENTZXNzaW9uRGVzY3JpcHRpb24uY3BwICovLAogCQkJCTA3MjIxQjdCMTdD
RUMzMjcwMDg0OEU1MSAvKiBSVENTZXNzaW9uRGVzY3JpcHRpb24uaCAqLywKQEAgLTE5MTI0LDEw
ICsxOTE2MywxNyBAQAogCQkJCTQxNzYxMkFFMUUzQTk5M0IwMEMzRDgxRCAvKiBMaWJXZWJSVENQ
ZWVyQ29ubmVjdGlvbkJhY2tlbmQuaCAqLywKIAkJCQk0MUQxQTA0QTIxM0VEREZFMDA2M0ZCNkIg
LyogTGliV2ViUlRDUnRwUmVjZWl2ZXJCYWNrZW5kLmNwcCAqLywKIAkJCQk0MTg2QkQzQjIxM0VE
RTM4MDAwMTgyNkYgLyogTGliV2ViUlRDUnRwUmVjZWl2ZXJCYWNrZW5kLmggKi8sCisJCQkJNDE4
MUM1QzAyNTUzRUI2RTAwQUVCMEZGIC8qIExpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFj
a2VuZC5jcHAgKi8sCisJCQkJNDE4MUM1QzIyNTUzRUI2RjAwQUVCMEZGIC8qIExpYldlYlJUQ1J0
cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZC5oICovLAogCQkJCTQxRDFBMDRCMjEzRURERkUwMDYz
RkI2QiAvKiBMaWJXZWJSVENSdHBTZW5kZXJCYWNrZW5kLmNwcCAqLywKIAkJCQk0MTg2QkQzRDIx
M0VERTM5MDAwMTgyNkYgLyogTGliV2ViUlRDUnRwU2VuZGVyQmFja2VuZC5oICovLAorCQkJCTQx
ODFDNUMxMjU1M0VCNkUwMEFFQjBGRiAvKiBMaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNr
ZW5kLmNwcCAqLywKKwkJCQk0MTgxQzVCRTI1NTNFQjZFMDBBRUIwRkYgLyogTGliV2ViUlRDUnRw
U2VuZGVyVHJhbnNmb3JtQmFja2VuZC5oICovLAogCQkJCTQxODZCRDREMjE0MEI5RTgwMDAxODI2
RiAvKiBMaWJXZWJSVENSdHBUcmFuc2NlaXZlckJhY2tlbmQuY3BwICovLAogCQkJCTQxODZCRDRC
MjE0MEE4MDUwMDAxODI2RiAvKiBMaWJXZWJSVENSdHBUcmFuc2NlaXZlckJhY2tlbmQuaCAqLywK
KwkJCQk0MTgxQzVDQzI1NTU4MzY4MDBBRUIwRkYgLyogTGliV2ViUlRDUnRwVHJhbnNmb3JtYWJs
ZUZyYW1lLmggKi8sCisJCQkJNDE4MUM1Q0UyNTU1ODk1NTAwQUVCMEZGIC8qIExpYldlYlJUQ1J0
cFRyYW5zZm9ybUJhY2tlbmQuY3BwICovLAorCQkJCTQxODFDNUNGMjU1NTg5NTYwMEFFQjBGRiAv
KiBMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmggKi8sCiAJCQkJNDFEMjhEMEIyMTM5RTAx
RDAwRjQyMDZGIC8qIExpYldlYlJUQ1N0YXRzQ29sbGVjdG9yLmNwcCAqLywKIAkJCQk0MUQyOEQw
QzIxMzlFMDFFMDBGNDIwNkYgLyogTGliV2ViUlRDU3RhdHNDb2xsZWN0b3IuaCAqLywKIAkJCQk0
MUQxQTA0OTIxM0VEREZEMDA2M0ZCNkIgLyogTGliV2ViUlRDVXRpbHMuY3BwICovLApAQCAtMTky
MDgsNiArMTkyNTQsOSBAQAogCQkJCUExQ0JFRjYzMUY5RjExMjkwMDI4REU3QyAvKiBNb2NrUGF5
bWVudE1ldGhvZC5oICovLAogCQkJCUExNDA2MTg5MUUyRUNBMEEwMDMyQjM0RSAvKiBNb2NrUHJl
dmlld0xvYWRlckNsaWVudC5jcHAgKi8sCiAJCQkJQTE0MDYxOEExRTJFQ0EwQTAwMzJCMzRFIC8q
IE1vY2tQcmV2aWV3TG9hZGVyQ2xpZW50LmggKi8sCisJCQkJNDE4MUM1RDMyNTU1QzFCMTAwQUVC
MEZGIC8qIE1vY2tSVENSdHBUcmFuc2Zvcm0uY3BwICovLAorCQkJCTQxODFDNUQ1MjU1NUMxQjkw
MEFFQjBGRiAvKiBNb2NrUlRDUnRwVHJhbnNmb3JtLmggKi8sCisJCQkJNDE4MUM2MzYyNTVBRTI2
MTAwQUVCMEZGIC8qIE1vY2tSVENSdHBUcmFuc2Zvcm0uaWRsICovLAogCQkJCTU3MTU2MTA4MjM0
QzFCMzEwMDhGQzdBQiAvKiBNb2NrV2ViQXV0aGVudGljYXRpb25Db25maWd1cmF0aW9uLmggKi8s
CiAJCQkJNTcxNTYxMEQyMzRDNzQ4MTAwOEZDN0FCIC8qIE1vY2tXZWJBdXRoZW50aWNhdGlvbkNv
bmZpZ3VyYXRpb24uaWRsICovLAogCQkJCTQxN0YwRDgwMUZGRUUxNEYwMDhFRjMwMyAvKiBTZXJ2
aWNlV29ya2VySW50ZXJuYWxzLmNwcCAqLywKQEAgLTE5MjYzLDYgKzE5MzEyLDcgQEAKIAkJCQlB
MTQ2RDMxODFGOTlCQ0JBMDBEMjkxOTYgLyogSlNNb2NrUGF5bWVudENvb3JkaW5hdG9yLmggKi8s
CiAJCQkJQTFCQjg1QjQyMTU5QjM4OTAwNjdFMDdEIC8qIEpTTW9ja1BheW1lbnRFcnJvci5jcHAg
Ki8sCiAJCQkJQTFCQjg1QjUyMTU5QjM4QTAwNjdFMDdEIC8qIEpTTW9ja1BheW1lbnRFcnJvci5o
ICovLAorCQkJCTJENkYzRTkyMUMxRjg1NTUwMDYxREJFNCAvKiBKU01vY2tSVENSdHBUcmFuc2Zv
cm0uY3BwICovLAogCQkJCTU3MTU2MTExMjM0QzdGQkMwMDhGQzdBQiAvKiBKU01vY2tXZWJBdXRo
ZW50aWNhdGlvbkNvbmZpZ3VyYXRpb24uY3BwICovLAogCQkJCTU3MTU2MTEwMjM0QzdGQkMwMDhG
QzdBQiAvKiBKU01vY2tXZWJBdXRoZW50aWNhdGlvbkNvbmZpZ3VyYXRpb24uaCAqLywKIAkJCQk0
MjdEQTcxQjEzNzM1REZBMDA3QzU3RkIgLyogSlNTZXJ2aWNlV29ya2VySW50ZXJuYWxzLmNwcCAq
LywKQEAgLTMzMjE3LDYgKzMzMjY3LDggQEAKIAkJCQk0MTc2MTJCMjFFM0E5OTQwMDBDM0Q4MUQg
LyogTGliV2ViUlRDUGVlckNvbm5lY3Rpb25CYWNrZW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQk0
MTU3NDc0ODFFMzg2OUE3MDBFOTE0RDggLyogTGliV2ViUlRDUHJvdmlkZXIuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTQxQjI4QjNEMUY4NjBFRjMwMEZCNTJBQyAvKiBMaWJXZWJSVENQcm92aWRlckNv
Y29hLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTgxQzVDRDI1NTU4MzY5MDBBRUIwRkYgLyogTGli
V2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTgxQzVE
MTI1NTU4OTU2MDBBRUIwRkYgLyogTGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNDEwRTQ0NjEyMzQzNzNFOTAwMDE3M0Q0IC8qIExpYldlYlJUQ1NvY2tl
dElkZW50aWZpZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTg0NzMwRDkxMTI0OEYwQjMwMEQzQTlD
OSAvKiBMaWdodFNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjIyMjc5NjUwRDAwQkYyMjAw
NzFCNzgyIC8qIExpbmVhckdyYWRpZW50QXR0cmlidXRlcy5oIGluIEhlYWRlcnMgKi8sCkBAIC0z
MzQxMSw2ICszMzQ2Myw3IEBACiAJCQkJNEEwRkZBOUUxQUFGNUU3RTAwNjI4MDNCIC8qIE1vY2tS
ZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkwN0VFNzZFQzFC
RTk2REIwMDBGODkxMzMgLyogTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2UuaCBpbiBIZWFkZXJzICov
LAogCQkJCTA3RUU3NkVGMUJFQTYxOTgwMEY4OTEzMyAvKiBNb2NrUmVhbHRpbWVWaWRlb1NvdXJj
ZU1hYy5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDE4MUM1RDYyNTU1QzFCOTAwQUVCMEZGIC8qIE1v
Y2tSVENSdHBUcmFuc2Zvcm0uaCBpbiBIZWFkZXJzICovLAogCQkJCUNERjJCMDE3MTgyMDU0MDcw
MEYyQjQyNCAvKiBNb2NrU291cmNlQnVmZmVyUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
Q0RGMkIwMTkxODIwNTQwNzAwRjJCNDI0IC8qIE1vY2tUcmFja3MuaCBpbiBIZWFkZXJzICovLAog
CQkJCTU3MTU2MTBDMjM0QzFDQTEwMDhGQzdBQiAvKiBNb2NrV2ViQXV0aGVudGljYXRpb25Db25m
aWd1cmF0aW9uLmggaW4gSGVhZGVycyAqLywKQEAgLTM0MDM3LDkgKzM0MDkwLDE0IEBACiAJCQkJ
MDc4RTA5MjQxN0QxNEQxQzAwNDIwQUExIC8qIFJUQ1BlZXJDb25uZWN0aW9uSWNlRXZlbnQuaCBp
biBIZWFkZXJzICovLAogCQkJCTQxMkRFNEI4MjE5Mjg1QzAwMDc1RjNBNyAvKiBSVENSdHBDYXBh
YmlsaXRpZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTVFMkM0MzYzMUJDRUUzMkIwMDAxRTJCQyAv
KiBSVENSdHBSZWNlaXZlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDEzQzhCMzUyNTUyRjI3RDAw
RTY1MDU1IC8qIFJUQ1J0cFJlY2VpdmVyV2l0aFRyYW5zZm9ybS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNUUyQzQzNjExQkNFRTMyMzAwMDFFMkJDIC8qIFJUQ1J0cFNlbmRlci5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJNDEzQzhCMzMyNTUyRjI3RDAwRTY1MDU1IC8qIFJUQ1J0cFNlbmRlcldpdGhUcmFu
c2Zvcm0uaCBpbiBIZWFkZXJzICovLAogCQkJCTVFNUUyQjE0MUNGQzNFNzUwMDBDMEQ4NSAvKiBS
VENSdHBUcmFuc2NlaXZlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzFFQjU0REYxRTdEQzc0NDAw
QzE2MjNCIC8qIFJUQ1J0cFRyYW5zY2VpdmVyRGlyZWN0aW9uLmggaW4gSGVhZGVycyAqLywKKwkJ
CQk0MTNDOEIzNDI1NTJGMjdEMDBFNjUwNTUgLyogUlRDUnRwVHJhbnNmb3JtLmggaW4gSGVhZGVy
cyAqLywKKwkJCQk0MTgxQzVDQjI1NTU4MkU0MDBBRUIwRkYgLyogUlRDUnRwVHJhbnNmb3JtYWJs
ZUZyYW1lLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTgxQzVDOTI1NTU3M0RGMDBBRUIwRkYgLyog
UlRDUnRwVHJhbnNmb3JtQmFja2VuZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzEzNTkxMEExRTdE
REM3MzAwRjMwNjMwIC8qIFJUQ1NkcFR5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3OEUwOTI2
MTdEMTREMUMwMDQyMEFBMSAvKiBSVENTZXNzaW9uRGVzY3JpcHRpb24uaCBpbiBIZWFkZXJzICov
LAogCQkJCTA3OEUwOTQzMTdEMTZFMUMwMDQyMEFBMSAvKiBSVENTZXNzaW9uRGVzY3JpcHRpb25E
ZXNjcmlwdG9yLmggaW4gSGVhZGVycyAqLywKQEAgLTM1NDk1LDYgKzM1NTUzLDcgQEAKIAkJCQlB
MTA0RUM1RDIyMEEzRTRCMDBDQkY2N0EgLyogSlNNb2NrUGF5bWVudENvbnRhY3RGaWVsZHMuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJQTE0NkQzMUExRjk5QkNGODAwRDI5MTk2IC8qIEpTTW9ja1Bh
eW1lbnRDb29yZGluYXRvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBMUJCODVCODIxNTlCM0E0
MDA2N0UwN0QgLyogSlNNb2NrUGF5bWVudEVycm9yLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTQx
ODFDNjM5MjU1QUU5MEYwMEFFQjBGRiAvKiBKU01vY2tSVENSdHBUcmFuc2Zvcm0uY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJNTcxNTYxMTQyMzRDN0ZENjAwOEZDN0FCIC8qIEpTTW9ja1dlYkF1dGhl
bnRpY2F0aW9uQ29uZmlndXJhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0MjdEQTcxRDEz
NzM1REZBMDA3QzU3RkIgLyogSlNTZXJ2aWNlV29ya2VySW50ZXJuYWxzLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUVCRjUxMjFDMTY5NjQ5NkMwMDU2QkQyNSAvKiBKU1R5cGVDb252ZXJzaW9ucy5j
cHAgaW4gU291cmNlcyAqLywKQEAgLTM1NTEwLDYgKzM1NTY5LDcgQEAKIAkJCQkyRDk3RjA0NzE5
REQ0MTNDMDAxRUU5QzMgLyogTW9ja1BhZ2VPdmVybGF5Q2xpZW50LmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUExQUZFREU3MUY4QkZGNkQwMDg3MDEzRiAvKiBNb2NrUGF5bWVudENvb3JkaW5hdG9y
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUExNDA2MThCMUUyRUNBMEEwMDMyQjM0RSAvKiBNb2Nr
UHJldmlld0xvYWRlckNsaWVudC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk0MTgxQzVENzI1NTVD
NDlBMDBBRUIwRkYgLyogTW9ja1JUQ1J0cFRyYW5zZm9ybS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlBQTVGM0I4RjE2Q0M0QjM5MDA0NTVFQjAgLyogUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1v
Y2suY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDE3RjBEODIxRkZFRTk3OTAwOEVGMzAzIC8qIFNl
cnZpY2VXb3JrZXJJbnRlcm5hbHMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDFENDFDNjcyMjU2
ODc0RjAwNjk3OTQyIC8qIFNlcnZpY2VXb3JrZXJJbnRlcm5hbHMubW0gaW4gU291cmNlcyAqLywK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFt
ZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaApp
bmRleCBlZTI0YTQ5YTI1YTJkMzdkNjFlMWRjMGZlNDc3N2IwMDNmOTJkMjM3Li41YWU3MzRkOTA5
MGMwZDBmNzU0NGQxNGY2Y2JiZDMxMzEzNGYxMmI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCkBAIC0xNzQsNiArMTc0LDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKE1lZGlhU3RyZWFtKSBcCiAgICAgbWFjcm8oTWVk
aWFTdHJlYW1UcmFjaykgXAogICAgIG1hY3JvKE1lcmNoYW50VmFsaWRhdGlvbkV2ZW50KSBcCisg
ICAgbWFjcm8oTW9ja1JUQ1J0cFRyYW5zZm9ybSkgXAogICAgIG1hY3JvKE1vZGVybk1lZGlhQ29u
dHJvbHMpIFwKICAgICBtYWNybyhOYXZpZ2F0b3JDcmVkZW50aWFscykgXAogICAgIG1hY3JvKE5h
dmlnYXRvck1lZGlhRGV2aWNlcykgXApAQCAtMjIwLDYgKzIyMSw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICBtYWNybyhSVENSdHBSZWNlaXZlcikgXAogICAgIG1hY3JvKFJUQ1J0cFNlbmRl
cikgXAogICAgIG1hY3JvKFJUQ1J0cFRyYW5zY2VpdmVyKSBcCisgICAgbWFjcm8oUlRDUnRwVHJh
bnNmb3JtKSBcCiAgICAgbWFjcm8oUlRDU2Vzc2lvbkRlc2NyaXB0aW9uKSBcCiAgICAgbWFjcm8o
UlRDU3RhdHNSZXBvcnQpIFwKICAgICBtYWNybyhSVENUcmFja0V2ZW50KSBcCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbSBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCmluZGV4IDM0
YWZhNzc2YmQ1MjM3MzAwOThlYzIxYzIzZTc0MTAwYTgwYzQyNWQuLjI3Yzc5N2QzNDBkYjQ2Yjdl
MzFiYTZkYmViMjkxY2M0MzkyNTgwMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCkBAIC0zMjIyLDkgKzMyMjIsOSBAQCBzdWIg
R2VuZXJhdGVIZWFkZXIKICAgICBpZiAoU2hvdWxkR2VuZXJhdGVXcmFwcGVyT3duZXJDb2RlKCRo
YXNQYXJlbnQsICRpbnRlcmZhY2UpKSB7CiAgICAgICAgIGlmICgkaW50ZXJmYWNlTmFtZSBuZSAi
Tm9kZSIgJiYgJGNvZGVHZW5lcmF0b3ItPkluaGVyaXRzSW50ZXJmYWNlKCRpbnRlcmZhY2UsICJO
b2RlIikpIHsKICAgICAgICAgICAgICRoZWFkZXJJbmNsdWRlc3siSlNOb2RlLmgifSA9IDE7Ci0g
ICAgICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiY2xhc3MgSlMke2ludGVyZmFjZU5hbWV9
T3duZXIgOiBwdWJsaWMgSlNOb2RlT3duZXIge1xuIik7CisgICAgICAgICAgICBwdXNoKEBoZWFk
ZXJDb250ZW50LCAiY2xhc3MgJHtleHBvcnRNYWNyb31KUyR7aW50ZXJmYWNlTmFtZX1Pd25lciA6
IHB1YmxpYyBKU05vZGVPd25lciB7XG4iKTsKICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAg
IHB1c2goQGhlYWRlckNvbnRlbnQsICJjbGFzcyBKUyR7aW50ZXJmYWNlTmFtZX1Pd25lciA6IHB1
YmxpYyBKU0M6OldlYWtIYW5kbGVPd25lciB7XG4iKTsKKyAgICAgICAgICAgIHB1c2goQGhlYWRl
ckNvbnRlbnQsICJjbGFzcyAke2V4cG9ydE1hY3JvfUpTJHtpbnRlcmZhY2VOYW1lfU93bmVyIDog
cHVibGljIEpTQzo6V2Vha0hhbmRsZU93bmVyIHtcbiIpOwogICAgICAgICB9CiAgICAgICAgICRo
ZWFkZXJJbmNsdWRlc3siPHd0Zi9OZXZlckRlc3Ryb3llZC5oPiJ9ID0gMTsKICAgICAgICAgcHVz
aChAaGVhZGVyQ29udGVudCwgInB1YmxpYzpcbiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5oIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5oCmluZGV4IGZi
ZjZmMzhkNmI2MWU4ZDVlYTNiN2UxYWY5NjkyZGUxY2QwMGU3ZDcuLjZiYTQzMzRkM2IxMjViYjA0
MDZmOTEyYjQ5MTJhMDgzODAwNmU3MzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmgKQEAgLTg5LDcgKzg5
LDcgQEAgcHJvdGVjdGVkOgogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNDOjpWTSYpOwogfTsK
IAotY2xhc3MgSlNUZXN0SW50ZXJmYWNlT3duZXIgOiBwdWJsaWMgSlNDOjpXZWFrSGFuZGxlT3du
ZXIgeworY2xhc3MgV0VCQ09SRV9FWFBPUlQgSlNUZXN0SW50ZXJmYWNlT3duZXIgOiBwdWJsaWMg
SlNDOjpXZWFrSGFuZGxlT3duZXIgewogcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBpc1JlYWNo
YWJsZUZyb21PcGFxdWVSb290cyhKU0M6OkhhbmRsZTxKU0M6OlVua25vd24+LCB2b2lkKiBjb250
ZXh0LCBKU0M6OlNsb3RWaXNpdG9yJiwgY29uc3QgY2hhcioqKTsKICAgICB2aXJ0dWFsIHZvaWQg
ZmluYWxpemUoSlNDOjpIYW5kbGU8SlNDOjpVbmtub3duPiwgdm9pZCogY29udGV4dCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggODUzYjY5N2Y3YTMwY2IwMTg4MTY4ZDBm
NTFjNzBiNTg1ZGM2ZDQ1Ny4uMTYxYTI4ZjQxM2YwZWUxMmNhMGZjMjNiNTA3YmQ0NDE2OTI5YjEz
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtMTM4LDYgKzEzOCw3IEBA
CiAjaW5jbHVkZSAiTW9ja0xpYldlYlJUQ1BlZXJDb25uZWN0aW9uLmgiCiAjaW5jbHVkZSAiTW9j
a1BhZ2VPdmVybGF5LmgiCiAjaW5jbHVkZSAiTW9ja1BhZ2VPdmVybGF5Q2xpZW50LmgiCisjaW5j
bHVkZSAiTW9ja1JUQ1J0cFRyYW5zZm9ybS5oIgogI2luY2x1ZGUgIk5hdmlnYXRvckJlYWNvbi5o
IgogI2luY2x1ZGUgIk5hdmlnYXRvck1lZGlhRGV2aWNlcy5oIgogI2luY2x1ZGUgIk5ldHdvcmtM
b2FkSW5mb3JtYXRpb24uaCIKQEAgLTE1NzksNiArMTU4MCwxMSBAQCB2b2lkIEludGVybmFsczo6
c2V0V2ViUlRDVlA5VlRCU3VwcG9ydChib29sIHZhbHVlKQogI2VuZGlmCiB9CiAKK1JlZjxNb2Nr
UlRDUnRwVHJhbnNmb3JtPiBJbnRlcm5hbHM6OmNyZWF0ZU1vY2tSVENSdHBUcmFuc2Zvcm0oKQor
eworICAgIHJldHVybiBNb2NrUlRDUnRwVHJhbnNmb3JtOjpjcmVhdGUoKTsKK30KKwogdm9pZCBJ
bnRlcm5hbHM6OnNldEVuYWJsZVdlYlJUQ0VuY3J5cHRpb24oYm9vbCB2YWx1ZSkKIHsKICNpZiBV
U0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKaW5kZXggYmI3ZDU1ZTIw
ZmRlYjVhMWQ1OGIwOTljZjk3YWJlZTU5NTg0NGExOC4uMjQ4NWUxM2Q2ZDQ5NTYzNzllNjg2NjUw
OGIwMTZlYjE0MjRmZTY2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCkBAIC0zMiw2
ICszMiw3IEBACiAjaW5jbHVkZSAiRXhjZXB0aW9uT3IuaCIKICNpbmNsdWRlICJIRVZDVXRpbGl0
aWVzLmgiCiAjaW5jbHVkZSAiSURMVHlwZXMuaCIKKyNpbmNsdWRlICJNb2NrUlRDUnRwVHJhbnNm
b3JtLmgiCiAjaW5jbHVkZSAiT3JpZW50YXRpb25Ob3RpZmllci5oIgogI2luY2x1ZGUgIlBhZ2VD
b25zb2xlQ2xpZW50LmgiCiAjaW5jbHVkZSAiUmVhbHRpbWVNZWRpYVNvdXJjZS5oIgpAQCAtNjA2
LDYgKzYwNyw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFdlYlJUQ0gyNjVTdXBwb3J0KGJvb2wp
OwogICAgIHZvaWQgc2V0V2ViUlRDVlA5U3VwcG9ydChib29sKTsKICAgICB2b2lkIHNldFdlYlJU
Q1ZQOVZUQlN1cHBvcnQoYm9vbCk7CisgICAgUmVmPE1vY2tSVENSdHBUcmFuc2Zvcm0+IGNyZWF0
ZU1vY2tSVENSdHBUcmFuc2Zvcm0oKTsKICAgICB2b2lkIHNldEVuYWJsZVdlYlJUQ0VuY3J5cHRp
b24oYm9vbCk7CiAgICAgdm9pZCBzZXRVc2VEVExTMTAoYm9vbCk7CiAgICAgdm9pZCBzZXRVc2VH
UFVQcm9jZXNzRm9yV2ViUlRDKGJvb2wpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRs
CmluZGV4IGJkYjllZTJjYjZjYTIxNWE4ZThkY2MyZDAwYTJmZTVkMDg1YmQ2NzAuLmIwMTU0YjI5
ODU4MGJmYWQzMzNhMTE0YWYzODRkMWRhOTA5ZTE2ODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5pZGwKQEAgLTgwMiw2ICs4MDIsNyBAQCBlbnVtIFRyZWVUeXBlIHsKICAgICBbQ29u
ZGl0aW9uYWw9V0VCX1JUQ10gdW5kZWZpbmVkIHNldFdlYlJUQ0gyNjVTdXBwb3J0KGJvb2xlYW4g
YWxsb3dlZCk7CiAgICAgW0NvbmRpdGlvbmFsPVdFQl9SVENdIHVuZGVmaW5lZCBzZXRXZWJSVENW
UDlTdXBwb3J0KGJvb2xlYW4gYWxsb3dlZCk7CiAgICAgW0NvbmRpdGlvbmFsPVdFQl9SVENdIHVu
ZGVmaW5lZCBzZXRXZWJSVENWUDlWVEJTdXBwb3J0KGJvb2xlYW4gYWxsb3dlZCk7CisgICAgW0Nv
bmRpdGlvbmFsPVdFQl9SVENdIE1vY2tSVENSdHBUcmFuc2Zvcm0gY3JlYXRlTW9ja1JUQ1J0cFRy
YW5zZm9ybSgpOwogCiAgICAgW0NvbmRpdGlvbmFsPU1FRElBX1NUUkVBTV0gdW5kZWZpbmVkIHNl
dE1vY2tBdWRpb1RyYWNrQ2hhbm5lbE51bWJlcihNZWRpYVN0cmVhbVRyYWNrIHRyYWNrLCB1bnNp
Z25lZCBzaG9ydCBjb3VudCk7CiAgICAgW0NvbmRpdGlvbmFsPU1FRElBX1NUUkVBTV0gdW5kZWZp
bmVkIHNldFNob3VsZEludGVycnVwdEF1ZGlvT25QYWdlVmlzaWJpbGl0eUNoYW5nZShib29sZWFu
IHNob3VsZEludGVycnVwdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01v
Y2tSVENSdHBUcmFuc2Zvcm0uY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUlRDUnRw
VHJhbnNmb3JtLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNWQwODI3NThkOTFiODhkODgyZTM0MTNiNTIyMjQ1
MmZjYzRkZGYyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2Nr
UlRDUnRwVHJhbnNmb3JtLmNwcApAQCAtMCwwICsxLDExNSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAg
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRl
ICJNb2NrUlRDUnRwVHJhbnNmb3JtLmgiCisKKyNpZiBFTkFCTEUoV0VCX1JUQykKKworI2luY2x1
ZGUgIlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K2NsYXNzIE1vY2tSVENSdHBUcmFuc2Zvcm1lciA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRl
ZDxNb2NrUlRDUnRwVHJhbnNmb3JtZXIsIFdURjo6RGVzdHJ1Y3Rpb25UaHJlYWQ6Ok1haW4+IHsK
K3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPE1vY2tSVENSdHBUcmFuc2Zvcm1lcj4gY3JlYXRlKFJl
ZjxSVENSdHBUcmFuc2Zvcm1CYWNrZW5kPiYmIGJhY2tlbmQpCisgICAgeworICAgICAgICBhdXRv
IHRyYW5zZm9ybWVyID0gYWRvcHRSZWYoKm5ldyBNb2NrUlRDUnRwVHJhbnNmb3JtZXIoV1RGTW92
ZShiYWNrZW5kKSkpOworICAgICAgICB0cmFuc2Zvcm1lci0+bV9iYWNrZW5kLT5zZXRUcmFuc2Zv
cm1hYmxlRnJhbWVDYWxsYmFjayhbdHJhbnNmb3JtZXJdKGF1dG8mJiBmcmFtZSkgeworICAgICAg
ICAgICAgdHJhbnNmb3JtZXItPnRyYW5zZm9ybShXVEZNb3ZlKGZyYW1lKSk7CisgICAgICAgIH0p
OworICAgICAgICByZXR1cm4gdHJhbnNmb3JtZXI7CisgICAgfQorCisgICAgdm9pZCBjbGVhcigp
CisgICAgeworICAgICAgICBtX2JhY2tlbmQtPmNsZWFyVHJhbnNmb3JtYWJsZUZyYW1lQ2FsbGJh
Y2soKTsKKyAgICAgICAgbV9iYWNrZW5kID0gbnVsbHB0cjsKKyAgICB9CisKKyAgICB2b2lkIHRy
YW5zZm9ybShSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUmJiBmcmFtZSkKKyAgICB7CisgICAgICAg
IG1faXNQcm9jZXNzaW5nID0gdHJ1ZTsKKworICAgICAgICBhdXRvIGRhdGEgPSBmcmFtZS5kYXRh
KCk7CisgICAgICAgIFZlY3Rvcjx1aW50OF90PiB0cmFuc2Zvcm1lZERhdGE7CisgICAgICAgIHNp
emVfdCBzdGFydCA9IG1faXNBdWRpbyA/IDAgOiAxMDA7CisgICAgICAgIGZvciAoc2l6ZV90IGNw
dHIgPSAwOyBjcHRyIDwgc3RhcnQ7ICsrY3B0cikKKyAgICAgICAgICAgIHRyYW5zZm9ybWVkRGF0
YS5hcHBlbmQoZGF0YS5kYXRhW2NwdHJdKTsKKyAgICAgICAgZm9yIChzaXplX3QgY3B0ciA9IHN0
YXJ0OyBjcHRyIDwgZGF0YS5zaXplOyArK2NwdHIpCisgICAgICAgICAgICB0cmFuc2Zvcm1lZERh
dGEuYXBwZW5kKDI1NiAtIGRhdGEuZGF0YVtjcHRyXSk7CisgICAgICAgIGZyYW1lLnNldERhdGEo
eyB0cmFuc2Zvcm1lZERhdGEuZGF0YSgpLCBkYXRhLnNpemUgfSk7CisKKyAgICAgICAgbV9iYWNr
ZW5kLT5wcm9jZXNzVHJhbnNmb3JtZWRGcmFtZShXVEZNb3ZlKGZyYW1lKSk7CisgICAgfQorCisg
ICAgYm9vbCBpc1Byb2Nlc3NpbmcoKSBjb25zdCB7IHJldHVybiBtX2lzUHJvY2Vzc2luZzsgfQor
Citwcml2YXRlOgorICAgIGV4cGxpY2l0IE1vY2tSVENSdHBUcmFuc2Zvcm1lcihSZWY8UlRDUnRw
VHJhbnNmb3JtQmFja2VuZD4mJiBiYWNrZW5kKQorICAgICAgICA6IG1fYmFja2VuZChXVEZNb3Zl
KGJhY2tlbmQpKQorICAgICAgICAsIG1faXNTZW5kZXIobV9iYWNrZW5kLT5zaWRlKCkgPT0gUlRD
UnRwVHJhbnNmb3JtQmFja2VuZDo6U2lkZTo6U2VuZGVyKQorICAgICAgICAsIG1faXNBdWRpbyht
X2JhY2tlbmQtPm1lZGlhVHlwZSgpID09IFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6Ok1lZGlhVHlw
ZTo6QXVkaW8pCisgICAgeworICAgIH0KKworICAgIFJlZlB0cjxSVENSdHBUcmFuc2Zvcm1CYWNr
ZW5kPiBtX2JhY2tlbmQ7CisgICAgYm9vbCBtX2lzU2VuZGVyOworICAgIGJvb2wgbV9pc0F1ZGlv
OworICAgIGJvb2wgbV9pc1Byb2Nlc3NpbmcgeyBmYWxzZSB9OworfTsKKworTW9ja1JUQ1J0cFRy
YW5zZm9ybTo6TW9ja1JUQ1J0cFRyYW5zZm9ybSgpCit7Cit9CisKK01vY2tSVENSdHBUcmFuc2Zv
cm06On5Nb2NrUlRDUnRwVHJhbnNmb3JtKCkKK3sKK30KKworYm9vbCBNb2NrUlRDUnRwVHJhbnNm
b3JtOjppc1Byb2Nlc3NpbmcoKSBjb25zdAoreworICAgIHJldHVybiBtX3RyYW5zZm9ybWVyID8g
bV90cmFuc2Zvcm1lci0+aXNQcm9jZXNzaW5nKCkgOiBmYWxzZTsKK30KKwordm9pZCBNb2NrUlRD
UnRwVHJhbnNmb3JtOjppbml0aWFsaXplQmFja2VuZEZvclJlY2VpdmVyKFJUQ1J0cFRyYW5zZm9y
bUJhY2tlbmQmIGJhY2tlbmQpCit7CisgICAgbV90cmFuc2Zvcm1lciA9IE1vY2tSVENSdHBUcmFu
c2Zvcm1lcjo6Y3JlYXRlKGJhY2tlbmQpOworfQorCit2b2lkIE1vY2tSVENSdHBUcmFuc2Zvcm06
OmluaXRpYWxpemVCYWNrZW5kRm9yU2VuZGVyKFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQmIGJhY2tl
bmQpCit7CisgICAgbV90cmFuc2Zvcm1lciA9IE1vY2tSVENSdHBUcmFuc2Zvcm1lcjo6Y3JlYXRl
KGJhY2tlbmQpOworfQorCit2b2lkIE1vY2tSVENSdHBUcmFuc2Zvcm06OndpbGxDbGVhckJhY2tl
bmQoUlRDUnRwVHJhbnNmb3JtQmFja2VuZCYpCit7CisgICAgbV90cmFuc2Zvcm1lci0+Y2xlYXIo
KTsKKyAgICBtX3RyYW5zZm9ybWVyID0gbnVsbHB0cjsKK30KKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFdFQl9SVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL01vY2tSVENSdHBUcmFuc2Zvcm0uaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvTW9ja1JUQ1J0cFRyYW5zZm9ybS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRkOTk0ZGZmNzE3NDMyMzUzNTFm
OGYwYTMzOTZmYzU5YTFjYWQyOTAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL01vY2tSVENSdHBUcmFuc2Zvcm0uaApAQCAtMCwwICsxLDU1IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycn
IEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwK
KyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBF
TkFCTEUoV0VCX1JUQykKKworI2luY2x1ZGUgIlJUQ1J0cFRyYW5zZm9ybS5oIgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK2NsYXNzIE1vY2tSVENSdHBUcmFuc2Zvcm1lcjsKKworY2xhc3MgTW9j
a1JUQ1J0cFRyYW5zZm9ybSBmaW5hbCA6IHB1YmxpYyBSVENSdHBUcmFuc2Zvcm0geworcHVibGlj
OgorICAgIHN0YXRpYyBSZWY8TW9ja1JUQ1J0cFRyYW5zZm9ybT4gY3JlYXRlKCkgeyByZXR1cm4g
YWRvcHRSZWYoKm5ldyBNb2NrUlRDUnRwVHJhbnNmb3JtKCkpOyB9CisgICAgfk1vY2tSVENSdHBU
cmFuc2Zvcm0oKTsKKworICAgIGJvb2wgaXNQcm9jZXNzaW5nKCkgY29uc3Q7CisKK3ByaXZhdGU6
CisgICAgTW9ja1JUQ1J0cFRyYW5zZm9ybSgpOworCisgICAgdm9pZCBpbml0aWFsaXplQmFja2Vu
ZEZvclJlY2VpdmVyKFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQmKSBmaW5hbDsKKyAgICB2b2lkIGlu
aXRpYWxpemVCYWNrZW5kRm9yU2VuZGVyKFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQmKSBmaW5hbDsK
KyAgICB2b2lkIHdpbGxDbGVhckJhY2tlbmQoUlRDUnRwVHJhbnNmb3JtQmFja2VuZCYpIGZpbmFs
OworCisgICAgUmVmUHRyPE1vY2tSVENSdHBUcmFuc2Zvcm1lcj4gbV90cmFuc2Zvcm1lcjsKK307
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJfUlRDKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUlRDUnRwVHJhbnNmb3JtLmlk
bCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1JUQ1J0cFRyYW5zZm9ybS5pZGwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMDllYjBjM2NhMTVjNWYxOTdmMzZjZmI0NzQ5YzExODA2ZThhYzc3NwotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1JUQ1J0cFRyYW5zZm9ybS5pZGwK
QEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
KyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKK1sKKyAgICBDb25kaXRpb25hbD1XRUJfUlRDLAorICAgIEpTR2VuZXJhdGVUb0pTT2Jq
ZWN0LAorICAgIExlZ2FjeU5vSW50ZXJmYWNlT2JqZWN0LAorXSBpbnRlcmZhY2UgTW9ja1JUQ1J0
cFRyYW5zZm9ybSA6IFJUQ1J0cFRyYW5zZm9ybSB7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJv
b2xlYW4gaXNQcm9jZXNzaW5nOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ0NvZGVjcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3MuY3BwCmluZGV4IDQ4Yjg3NzQxZTIyNGIy
YTUyNGU0MGY0NjM0M2RkYjk5MDNiNTBiMjcuLjBjNmY3M2QwNzE0NGI1NjI2NzY5MzY3YzlmMmEz
YTQwMTdlYWRlODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2Vi
cnRjL0xpYldlYlJUQ0NvZGVjcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS93ZWJydGMvTGliV2ViUlRDQ29kZWNzLmNwcApAQCAtNDQxLDcgKzQ0MSw3IEBAIHZvaWQgTGli
V2ViUlRDQ29kZWNzOjpjb21wbGV0ZWRFbmNvZGluZyhSVENFbmNvZGVySWRlbnRpZmllciBpZGVu
dGlmaWVyLCBJUEM6OkRhCiAgICAgaWYgKCFlbmNvZGVyLT5lbmNvZGVkSW1hZ2VDYWxsYmFjaykK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgd2VicnRjOjplbmNvZGVyVmlkZW9UYXNrQ29tcGxldGUo
ZW5jb2Rlci0+ZW5jb2RlZEltYWdlQ2FsbGJhY2ssIGVuY29kZXItPmNvZGVjVHlwZSwgY29uc3Rf
Y2FzdDx1aW50OF90Kj4oZGF0YS5kYXRhKCkpLCBkYXRhLnNpemUoKSwgaW5mbyk7CisgICAgd2Vi
cnRjOjplbmNvZGVyVmlkZW9UYXNrQ29tcGxldGUoZW5jb2Rlci0+ZW5jb2RlZEltYWdlQ2FsbGJh
Y2ssIGVuY29kZXItPmNvZGVjVHlwZSwgZGF0YS5kYXRhKCksIGRhdGEuc2l6ZSgpLCBpbmZvKTsK
IH0KIAogQ1ZQaXhlbEJ1ZmZlclBvb2xSZWYgTGliV2ViUlRDQ29kZWNzOjpwaXhlbEJ1ZmZlclBv
b2woc2l6ZV90IHdpZHRoLCBzaXplX3QgaGVpZ2h0LCBPU1R5cGUgdHlwZSkKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhZjA1
NTVmY2VkNmZkYTQ5NDkyYTdiMmYxMzViYzU2ZDllYmE2MWViLi40OTQ2MzQ0OGFiOWQwZDliNGNk
MDUxMTBhMWQ0YzM1ZTY0ZGM0Mzc0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMjAtMTEtMTIg
IFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFdlYlByb2Nlc3Mg
c2hvdWxkIHByb2Nlc3MgV2ViUlRDIGNvZGVjcyBJUEMgbWVzc2FnZXMgZnJvbSB0aGUgR1BVIFBy
b2Nlc3MgaW4gYSBiYWNrZ3JvdW5kIHRocmVhZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4NzkwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MTMz
MjQzOT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICB3
ZWJydGMtdHJhbnNmb3JtCisKKyAgICAgICAgKiB3ZWJydGMvd2VicnRjLXRyYW5zZm9ybS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYnJ0Yy93ZWJydGMtdHJhbnNmb3JtLmh0bWw6
IEFkZGVkLgorCisyMDIwLTExLTExICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4K
KworICAgICAgICBBZGQgaW5mcmFzdHJ1Y3R1cmUgZm9yIFdlYlJUQyB0cmFuc2Zvcm1zCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTg3NTAKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYnJ0Yy93ZWJy
dGMtdHJhbnNmb3JtLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2VicnRjL3dlYnJ0
Yy10cmFuc2Zvcm0uaHRtbDogQWRkZWQuCisKIDIwMjAtMTEtMTAgIFlvdWVubiBGYWJsZXQgIDx5
b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFVwZGF0ZSBXZWJSVEMgbGl3ZWJydGMgdG8gTTg3
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJydGMvd2VicnRjLXRyYW5zZm9ybS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJydGMvd2VicnRjLXRyYW5zZm9ybS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZmE4ZjUxYjNjODAwYzVkN2FjNDkzZDcwMzMwMGFjZDY4Mjc4ZjlmOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYnJ0Yy93ZWJydGMtdHJhbnNmb3JtLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDUgQEAKKworCitQQVNTIGF1ZGlvIGV4Y2hhbmdlIHdpdGggdHJh
bnNmb3JtCitQQVNTIHZpZGVvIGV4Y2hhbmdlIHdpdGggdHJhbnNmb3JtCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3dlYnJ0Yy93ZWJydGMtdHJhbnNmb3JtLmh0bWwgYi9MYXlvdXRUZXN0cy93
ZWJydGMvd2VicnRjLXRyYW5zZm9ybS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE5YzVhNmRmYTU3N2JhM2Jh
OTBlZWFlNTIwYzYzMjUxNTRlMWFmNTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93
ZWJydGMvd2VicnRjLXRyYW5zZm9ybS5odG1sCkBAIC0wLDAgKzEsODYgQEAKKzwhZG9jdHlwZSBo
dG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4K
KyAgICAgICAgPHRpdGxlPlRlc3RpbmcgbWVkaWEgZXhjaGFuZ2Ugd2l0aCB0cmFuc2Zvcm08L3Rp
dGxlPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8dmlk
ZW8gaWQ9InZpZGVvMSIgYXV0b3BsYXk+PC92aWRlbz4KKyAgICAgICAgPHZpZGVvIGlkPSJ2aWRl
bzIiIGF1dG9wbGF5PjwvdmlkZW8+CisgICAgICAgIDxzY3JpcHQgc3JjID0icm91dGluZXMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0PgorcHJvbWlzZV90ZXN0KGFzeW5jICh0ZXN0KSA9
PiB7CisgICAgaWYgKCF3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICByZXR1cm47CisKKyAgICBs
ZXQgc2VuZGVyLCByZWNlaXZlcjsKKyAgICBsZXQgc2VuZGVyVHJhbnNmb3JtID0gaW50ZXJuYWxz
LmNyZWF0ZU1vY2tSVENSdHBUcmFuc2Zvcm0oKTsKKyAgICBsZXQgcmVjZWl2ZXJUcmFuc2Zvcm0g
PSBpbnRlcm5hbHMuY3JlYXRlTW9ja1JUQ1J0cFRyYW5zZm9ybSgpOworCisgICAgY29uc3QgbG9j
YWxTdHJlYW0gPSBhd2FpdCBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSh7YXVk
aW86IHRydWV9KTsKKyAgICBjb25zdCBzdHJlYW0gPSBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2
ZSwgcmVqZWN0KSA9PiB7CisgICAgICAgIGNyZWF0ZUNvbm5lY3Rpb25zKChmaXJzdENvbm5lY3Rp
b24pID0+IHsKKyAgICAgICAgICAgIHBjMSA9IGZpcnN0Q29ubmVjdGlvbjsKKyAgICAgICAgICAg
IHNlbmRlciA9IGZpcnN0Q29ubmVjdGlvbi5hZGRUcmFjayhsb2NhbFN0cmVhbS5nZXRBdWRpb1Ry
YWNrcygpWzBdLCBsb2NhbFN0cmVhbSk7CisgICAgICAgICAgICBzZW5kZXIudHJhbnNmb3JtID0g
c2VuZGVyVHJhbnNmb3JtOworICAgICAgICB9LCAoc2Vjb25kQ29ubmVjdGlvbikgPT4geworICAg
ICAgICAgICAgcGMyID0gc2Vjb25kQ29ubmVjdGlvbjsKKyAgICAgICAgICAgIHNlY29uZENvbm5l
Y3Rpb24ub250cmFjayA9ICh0cmFja0V2ZW50KSA9PiB7CisgICAgICAgICAgICAgICAgcmVjZWl2
ZXIgPSB0cmFja0V2ZW50LnJlY2VpdmVyOworICAgICAgICAgICAgICAgIHJlY2VpdmVyLnRyYW5z
Zm9ybSA9IHJlY2VpdmVyVHJhbnNmb3JtOworICAgICAgICAgICAgICAgIHJlc29sdmUodHJhY2tF
dmVudC5zdHJlYW1zWzBdKTsKKyAgICAgICAgICAgIH07CisgICAgICAgIH0pOworICAgICAgICBz
ZXRUaW1lb3V0KCgpID0+IHJlamVjdCgiVGVzdCB0aW1lZCBvdXQiKSwgNTAwMCk7CisgICAgfSk7
CisKKyAgICB2aWRlbzEuc3JjT2JqZWN0ID0gc3RyZWFtOworICAgIGF3YWl0IHZpZGVvMS5wbGF5
KCk7CisKKyAgICBsZXQgY291bnRlciA9IDA7CisgICAgd2hpbGUgKCFyZWNlaXZlclRyYW5zZm9y
bS5pc1Byb2Nlc3NpbmcgJiYgY291bnRlcisrIDwgMTAwKQorICAgICAgICBhd2FpdCBuZXcgUHJv
bWlzZShyZXNvbHZlID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgNTApKTsKKworICAgIGFzc2VydF90
cnVlKHNlbmRlclRyYW5zZm9ybS5pc1Byb2Nlc3NpbmcsICJzZW5kZXIiKTsKK30sICJhdWRpbyBl
eGNoYW5nZSB3aXRoIHRyYW5zZm9ybSIpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgKHRlc3QpID0+
IHsKKyAgICBpZiAoIXdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgIHJldHVybjsKKworICAgIGxl
dCBzZW5kZXIsIHJlY2VpdmVyOworICAgIGxldCBzZW5kZXJUcmFuc2Zvcm0gPSBpbnRlcm5hbHMu
Y3JlYXRlTW9ja1JUQ1J0cFRyYW5zZm9ybSgpOworICAgIGxldCByZWNlaXZlclRyYW5zZm9ybSA9
IGludGVybmFscy5jcmVhdGVNb2NrUlRDUnRwVHJhbnNmb3JtKCk7CisKKyAgICBjb25zdCBsb2Nh
bFN0cmVhbSA9IGF3YWl0IG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhKHt2aWRl
bzogdHJ1ZX0pOworCisgICAgY29uc3Qgc3RyZWFtID0gYXdhaXQgbmV3IFByb21pc2UoKHJlc29s
dmUsIHJlamVjdCkgPT4geworICAgICAgICBjcmVhdGVDb25uZWN0aW9ucygoZmlyc3RDb25uZWN0
aW9uKSA9PiB7CisgICAgICAgICAgICBwYzEgPSBmaXJzdENvbm5lY3Rpb247CisgICAgICAgICAg
ICBzZW5kZXIgPSBmaXJzdENvbm5lY3Rpb24uYWRkVHJhY2sobG9jYWxTdHJlYW0uZ2V0VmlkZW9U
cmFja3MoKVswXSwgbG9jYWxTdHJlYW0pOworICAgICAgICAgICAgc2VuZGVyLnRyYW5zZm9ybSA9
IHNlbmRlclRyYW5zZm9ybTsKKyAgICAgICAgfSwgKHNlY29uZENvbm5lY3Rpb24pID0+IHsKKyAg
ICAgICAgICAgIHBjMiA9IHNlY29uZENvbm5lY3Rpb247CisgICAgICAgICAgICBzZWNvbmRDb25u
ZWN0aW9uLm9udHJhY2sgPSAodHJhY2tFdmVudCkgPT4geworICAgICAgICAgICAgICAgIHJlY2Vp
dmVyID0gdHJhY2tFdmVudC5yZWNlaXZlcjsKKyAgICAgICAgICAgICAgICByZWNlaXZlci50cmFu
c2Zvcm0gPSByZWNlaXZlclRyYW5zZm9ybTsKKyAgICAgICAgICAgICAgICByZXNvbHZlKHRyYWNr
RXZlbnQuc3RyZWFtc1swXSk7CisgICAgICAgICAgICB9OworICAgICAgICB9KTsKKyAgICAgICAg
c2V0VGltZW91dCgoKSA9PiByZWplY3QoIlRlc3QgdGltZWQgb3V0IiksIDUwMDApOworICAgIH0p
OworCisgICAgdmlkZW8yLnNyY09iamVjdCA9IHN0cmVhbTsKKyAgICBhd2FpdCB2aWRlbzIucGxh
eSgpOworCisgICBsZXQgY291bnRlciA9IDA7CisgICB3aGlsZSAoIXJlY2VpdmVyVHJhbnNmb3Jt
LmlzUHJvY2Vzc2luZyAmJiBjb3VudGVyKysgPCAxMDApCisgICAgICAgYXdhaXQgbmV3IFByb21p
c2UocmVzb2x2ZSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIDUwKSk7CisKKyAgICBhc3NlcnRfdHJ1
ZShzZW5kZXJUcmFuc2Zvcm0uaXNQcm9jZXNzaW5nLCAic2VuZGVyIik7Cit9LCAidmlkZW8gZXhj
aGFuZ2Ugd2l0aCB0cmFuc2Zvcm0iKTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9ib2R5Pgor
PC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413954</attachid>
            <date>2020-11-12 11:16:17 -0800</date>
            <delta_ts>2020-11-12 11:18:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218790-20201112201614.patch</filename>
            <type>text/plain</type>
            <size>121213</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5NjQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvQ2hhbmdlTG9nIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NoYW5n
ZUxvZwppbmRleCBhZjg2M2M5ZWM1ZDA1YzIwODE0YmQwNWJmNmE5YzE0MWFhNWQ1MDliLi4wYzUw
ZDE5YTQyNmQ5OTQyNjAwYjQ0OTk1NTNmNmI4YTFkYTUwOWJlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAyMC0xMS0xMiAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViUHJvY2VzcyBzaG91bGQgcHJv
Y2VzcyBXZWJSVEMgY29kZWNzIElQQyBtZXNzYWdlcyBmcm9tIHRoZSBHUFUgUHJvY2VzcyBpbiBh
IGJhY2tncm91bmQgdGhyZWFkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMTg3OTAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzcxMzMyNDM5PgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2Ugc3VyZSBi
dWZmZXIgaXMgb3duZWQgYnkgdGhlIGVuY29kZWQgaW1hZ2Ugb2JqZWN0LgorCisgICAgICAgICog
Q29uZmlndXJhdGlvbnMvbGlid2VicnRjLm1hYy5leHA6CisgICAgICAgICogU291cmNlL3dlYnJ0
Yy9zZGsvV2ViS2l0L1dlYktpdEVuY29kZXIuaDoKKyAgICAgICAgKiBTb3VyY2Uvd2VicnRjL3Nk
ay9XZWJLaXQvV2ViS2l0RW5jb2Rlci5tbToKKyAgICAgICAgKHdlYnJ0Yzo6ZW5jb2RlclZpZGVv
VGFza0NvbXBsZXRlKToKKwogMjAyMC0xMS0xMCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBs
ZS5jb20+IGFuZCBWaWN0b3IgTSBKYXF1ZXogPHZqYXF1ZXpAaWdhbGlhLmNvbT4KIAogICAgICAg
ICBVcGRhdGUgV2ViUlRDIGxpd2VicnRjIHRvIE04NwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRleCBmMzg5NzVjNWIzNjUxZmFlNWNl
OGEwOGMyY2VkYzMyYzZlNmNmMWMyLi4wYzk0MzZmOGM4N2Y4M2UxM2ZlZjY3ZjdiNmZmYTM2MmEy
M2ZiZDU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RG
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIwLTExLTExICBZb3Vlbm4gRmFibGV0ICA8
eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgaW5mcmFzdHJ1Y3R1cmUgZm9yIFdlYlJU
QyB0cmFuc2Zvcm1zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMTg3NTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBZGQgYW4gZXhwZXJpbWVudGFsIHByZWZlcmVuY2UgZm9yIFdlYlJUQyB0cmFuc2Zvcm1z
LgorCisgICAgICAgICogU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1l
bnRhbC55YW1sOgorCiAyMDIwLTExLTEwICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgUGFyc2UgYXNwZWN0LXJhdGlvIENTUyBwcm9wZXJ0eQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDYz
OTNiMTg3Njg4M2I4ZTc4ZDZiNzdhNDQ0MTMyOWJmYTA1YjkzN2EuLjg4ZTUzNDc5MmNhZTE1OGRl
NjhjY2NkOTJlYmNhZmI0ZWU2YjI1NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMTAgQEAKKzIw
MjAtMTEtMTEgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEFk
ZCBpbmZyYXN0cnVjdHVyZSBmb3IgV2ViUlRDIHRyYW5zZm9ybXMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODc1MAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEludHJvZHVjZSBSVENSdHBUcmFuc2Zvcm0g
YmVoaW5kIGEgcHJlZmVyZW5jZS4KKyAgICAgICAgQWRkIGJpbmRpbmcgY29kZSB3aXRoIGxpYndl
YnJ0YyB0byBiZSBhYmxlIHRvIHByb2Nlc3MgZW5jb2RlZCBjb250ZW50IGluIHNlbmRlciBhbmQg
cmVjZWl2ZXIgc2lkZXMuCisgICAgICAgIEFkZCBhIG1vY2sgdHJhbnNmb3JtIHRvIHZhbGlkYXRl
IHRoZSBpbmZyYXN0cnVjdHVyZSBpcyB3b3JraW5nLgorCisgICAgICAgIFRlc3Q6IHdlYnJ0Yy93
ZWJydGMtdHJhbnNmb3JtLmh0bWwKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAg
ICAqIERlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNv
dXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToK
KyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVyK1RyYW5zZm9ybS5p
ZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UlRDUnRwUmVjZWl2ZXI6On5SVENSdHBSZWNlaXZlcik6
CisgICAgICAgIChXZWJDb3JlOjpSVENSdHBSZWNlaXZlcjo6c3RvcCk6CisgICAgICAgIChXZWJD
b3JlOjpSVENSdHBSZWNlaXZlcjo6c2V0VHJhbnNmb3JtKToKKyAgICAgICAgKiBNb2R1bGVzL21l
ZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVyLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENSdHBSZWNlaXZlckJhY2tlbmQuaDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ1J0cFJlY2VpdmVyV2l0aFRyYW5zZm9ybS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OlJUQ1J0cFJlY2VpdmVyV2l0aFRyYW5zZm9ybTo6dHJhbnNmb3JtKToKKyAgICAgICAgKFdlYkNv
cmU6OlJUQ1J0cFJlY2VpdmVyV2l0aFRyYW5zZm9ybTo6c2V0VHJhbnNmb3JtKToKKyAgICAgICAg
KiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlcitUcmFuc2Zvcm0uaWRsOiBBZGRlZC4K
KyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSVENSdHBTZW5kZXI6On5SVENSdHBTZW5kZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6UlRDUnRwU2VuZGVyOjpzdG9wKToKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1J0cFNlbmRlcjo6
c2V0VHJhbnNmb3JtKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRl
ci5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyQmFja2VuZC5o
OgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyV2l0aFRyYW5zZm9y
bS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJUQ1J0cFNlbmRlcldpdGhUcmFuc2Zvcm06
OnRyYW5zZm9ybSk6CisgICAgICAgIChXZWJDb3JlOjpSVENSdHBTZW5kZXJXaXRoVHJhbnNmb3Jt
OjpzZXRUcmFuc2Zvcm0pOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJh
bnNmb3JtLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpSVENSdHBUcmFuc2Zvcm06On5S
VENSdHBUcmFuc2Zvcm0pOgorICAgICAgICAoV2ViQ29yZTo6UlRDUnRwVHJhbnNmb3JtOjphdHRh
Y2hUb1JlY2VpdmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1J0cFRyYW5zZm9ybTo6YXR0YWNo
VG9TZW5kZXIpOgorICAgICAgICAoV2ViQ29yZTo6UlRDUnRwVHJhbnNmb3JtOjpkZXRhY2hGcm9t
UmVjZWl2ZXIpOgorICAgICAgICAoV2ViQ29yZTo6UlRDUnRwVHJhbnNmb3JtOjpkZXRhY2hGcm9t
U2VuZGVyKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zZm9ybS5o
OiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zZm9ybS5p
ZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNmb3Jt
QmFja2VuZC5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRy
YW5zZm9ybWFibGVGcmFtZS5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFt
L2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBSZWNlaXZlckJhY2tlbmQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6TGliV2ViUlRDUnRwUmVjZWl2ZXJCYWNrZW5kOjpjcmVhdGVSVENSdHBUcmFuc2Zvcm1C
YWNrZW5kKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJS
VENSdHBSZWNlaXZlckJhY2tlbmQuaDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL2xp
YndlYnJ0Yy9MaWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQuY3BwOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmU6Om1lZGlhVHlwZUZyb21SZWNlaXZlcik6CisgICAgICAgIChXZWJD
b3JlOjpMaWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQ6OkxpYldlYlJUQ1J0cFJl
Y2VpdmVyVHJhbnNmb3JtQmFja2VuZCk6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENSdHBS
ZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQ6On5MaWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJh
Y2tlbmQpOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1C
YWNrZW5kOjpzZXRUcmFuc2Zvcm1hYmxlRnJhbWVDYWxsYmFjayk6CisgICAgICAgICogTW9kdWxl
cy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNr
ZW5kLmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xp
YldlYlJUQ1J0cFNlbmRlckJhY2tlbmQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRD
UnRwU2VuZGVyQmFja2VuZDo6Y3JlYXRlUlRDUnRwVHJhbnNmb3JtQmFja2VuZCk6CisgICAgICAg
ICogTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwU2VuZGVyQmFja2Vu
ZC5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0
cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Om1l
ZGlhVHlwZUZyb21TZW5kZXIpOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDUnRwU2VuZGVy
VHJhbnNmb3JtQmFja2VuZDo6TGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZCk6Cisg
ICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kOjp+TGli
V2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZCk6CisgICAgICAgIChXZWJDb3JlOjpMaWJX
ZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kOjpzZXRUcmFuc2Zvcm1hYmxlRnJhbWVDYWxs
YmFjayk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRD
UnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZC5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL21l
ZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmNwcDogQWRk
ZWQuCisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpzZXRJ
bnB1dENhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ1J0cFRyYW5zZm9ybUJh
Y2tlbmQ6OmNsZWFyVHJhbnNmb3JtYWJsZUZyYW1lQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29y
ZTo6TGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZDo6c2V0T3V0cHV0Q2FsbGJhY2spOgorICAg
ICAgICAoV2ViQ29yZTo6TGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZDo6cHJvY2Vzc1RyYW5z
Zm9ybWVkRnJhbWUpOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDUnRwVHJhbnNmb3JtQmFj
a2VuZDo6VHJhbnNmb3JtKToKKyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ1J0cFRyYW5zZm9y
bUJhY2tlbmQ6OlJlZ2lzdGVyVHJhbnNmb3JtZWRGcmFtZUNhbGxiYWNrKToKKyAgICAgICAgKFdl
YkNvcmU6OkxpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6OlJlZ2lzdGVyVHJhbnNmb3JtZWRG
cmFtZVNpbmtDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENSdHBUcmFuc2Zv
cm1CYWNrZW5kOjpVbnJlZ2lzdGVyVHJhbnNmb3JtZWRGcmFtZUNhbGxiYWNrKToKKyAgICAgICAg
KFdlYkNvcmU6OkxpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6OlVucmVnaXN0ZXJUcmFuc2Zv
cm1lZEZyYW1lU2lua0NhbGxiYWNrKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL2xp
YndlYnJ0Yy9MaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmg6IEFkZGVkLgorICAgICAgICAo
V2ViQ29yZTo6TGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZDo6TGliV2ViUlRDUnRwVHJhbnNm
b3JtQmFja2VuZCk6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNr
ZW5kOjpSZWxlYXNlIGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL2xpYndl
YnJ0Yy9MaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuaDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlOjpMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWU6OkxpYldlYlJUQ1J0cFRyYW5z
Zm9ybWFibGVGcmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENSdHBUcmFuc2Zvcm1h
YmxlRnJhbWU6OnRvUlRDRnJhbWUpOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDUnRwVHJh
bnNmb3JtYWJsZUZyYW1lOjpkYXRhIGNvbnN0KToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAg
ICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmlu
ZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oOgorICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvQ29kZUdlbmVyYXRvckpTLnBtOgorICAgICAgICAoR2VuZXJhdGVIZWFkZXIpOgorICAgICAg
ICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuaDoKKyAgICAgICAg
KiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OmNy
ZWF0ZU1vY2tSVENSdHBUcmFuc2Zvcm0pOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6
CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaWRsOgorICAgICAgICAqIHRlc3RpbmcvTW9j
a1JUQ1J0cFRyYW5zZm9ybS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TW9ja1JUQ1J0
cFRyYW5zZm9ybWVyOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TW9ja1JUQ1J0cFRyYW5z
Zm9ybWVyOjpjbGVhcik6CisgICAgICAgIChXZWJDb3JlOjpNb2NrUlRDUnRwVHJhbnNmb3JtZXI6
OnRyYW5zZm9ybSk6CisgICAgICAgIChXZWJDb3JlOjpNb2NrUlRDUnRwVHJhbnNmb3JtZXI6Omlz
UHJvY2Vzc2luZyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpNb2NrUlRDUnRwVHJhbnNmb3Jt
ZXI6Ok1vY2tSVENSdHBUcmFuc2Zvcm1lcik6CisgICAgICAgIChXZWJDb3JlOjpNb2NrUlRDUnRw
VHJhbnNmb3JtOjpNb2NrUlRDUnRwVHJhbnNmb3JtKToKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tS
VENSdHBUcmFuc2Zvcm06On5Nb2NrUlRDUnRwVHJhbnNmb3JtKToKKyAgICAgICAgKFdlYkNvcmU6
Ok1vY2tSVENSdHBUcmFuc2Zvcm06OmlzUHJvY2Vzc2luZyBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpNb2NrUlRDUnRwVHJhbnNmb3JtOjppbml0aWFsaXplQmFja2VuZEZvclJlY2VpdmVyKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1vY2tSVENSdHBUcmFuc2Zvcm06OmluaXRpYWxpemVCYWNrZW5k
Rm9yU2VuZGVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tSVENSdHBUcmFuc2Zvcm06OndpbGxD
bGVhckJhY2tlbmQpOgorICAgICAgICAqIHRlc3RpbmcvTW9ja1JUQ1J0cFRyYW5zZm9ybS5oOiBB
ZGRlZC4KKyAgICAgICAgKiB0ZXN0aW5nL01vY2tSVENSdHBUcmFuc2Zvcm0uaWRsOiBBZGRlZC4K
KwogMjAyMC0xMS0xMCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+IGFuZCBWaWN0
b3IgTSBKYXF1ZXogPHZqYXF1ZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBVcGRhdGUgV2ViUlRD
IGxpd2VicnRjIHRvIE04NwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA2NTM5ZGI4YTVlMTA3YjIwYjYwNDQ1MThhZjhj
MGJlYWUyNmE2YmRkLi5jYjBhY2UwMzMwZTI2Y2UxNGIxNGUwNjk4OTQzYjI0Y2E0MjkzNzA4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIwLTExLTEyICBZb3Vlbm4gRmFibGV0ICA8eW91
ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgaW5mcmFzdHJ1Y3R1cmUgZm9yIFdlYlJUQyB0
cmFuc2Zvcm1zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMTg3NTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBSZW1vdmUgbm8gbG9uZ2VyIG5lZWRlZCBjb25zdCBjYXN0aW5nLgorCisgICAgICAgICogQ29u
ZmlndXJhdGlvbnMvV2ViS2l0LnhjY29uZmlnOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL3dl
YnJ0Yy9MaWJXZWJSVENDb2RlY3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENDb2Rl
Y3M6OmNvbXBsZXRlZEVuY29kaW5nKToKKwogMjAyMC0xMS0xMSAgWW91ZW5uIEZhYmxldCAgPHlv
dWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViUHJvY2VzcyBzaG91bGQgcHJvY2VzcyBXZWJS
VEMgY29kZWNzIElQQyBtZXNzYWdlcyBmcm9tIHRoZSBHUFUgUHJvY2VzcyBpbiBhIGJhY2tncm91
bmQgdGhyZWFkCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmln
dXJhdGlvbnMvbGlid2VicnRjLmlPUy5leHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
Q29uZmlndXJhdGlvbnMvbGlid2VicnRjLmlPUy5leHAKaW5kZXggNDhlNDQ1OTI5MzFkY2M4NGFk
MzczNzViYTlmNjA5MGIxMDEyYzY3ZC4uYTJjYWZiMzkyMjk5ZTk1YjdhN2JkZmU2ZTM2ZDdmZjA1
ZjcxOTBmYiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3Vy
YXRpb25zL2xpYndlYnJ0Yy5pT1MuZXhwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMuaU9TLmV4cApAQCAtMjI5LDcgKzIyOSw3IEBAIF9f
Wk42d2VicnRjMjR2aWRlb0RlY29kZXJUYXNrQ29tcGxldGVFUHZqUDEwX19DVkJ1ZmZlcmoKIF9f
Wk42d2VicnRjMjRzZXRWaWRlb0RlY29kZXJDYWxsYmFja3NFUEZQdlJLTlNfMTRTZHBWaWRlb0Zv
cm1hdEVFUEZpUzBfRVBGaVMwX2pQS2htdHRFUEZpUzBfUzBfRQogX19aTjZ3ZWJydGMxOXNldERl
Y29kZXJGcmFtZVNpemVFUHZ0dAogX19aTjZ3ZWJydGMxOFJ0cENvZGVjQ2FwYWJpbGl0eUMxRXYK
LV9fWk42d2VicnRjMjRlbmNvZGVyVmlkZW9UYXNrQ29tcGxldGVFUHZOU18xNFZpZGVvQ29kZWNU
eXBlRVBobVJLTlNfMjJXZWJLaXRFbmNvZGVkRnJhbWVJbmZvRQorX19aTjZ3ZWJydGMyNGVuY29k
ZXJWaWRlb1Rhc2tDb21wbGV0ZUVQdk5TXzE0VmlkZW9Db2RlY1R5cGVFUEtobVJLTlNfMjJXZWJL
aXRFbmNvZGVkRnJhbWVJbmZvRQogX19aTjZ3ZWJydGMyNHNldFZpZGVvRW5jb2RlckNhbGxiYWNr
c0VQRlB2UktOU18xNFNkcFZpZGVvRm9ybWF0RUVQRmlTMF9FUEZpUzBfUktOU18xMFZpZGVvQ29k
ZWNFRVBGaVMwX1JLTlNfMTBWaWRlb0ZyYW1lRWJFUEZpUzBfUzBfRVBGdlMwX1JLTlNfMTJWaWRl
b0VuY29kZXIyMVJhdGVDb250cm9sUGFyYW1ldGVyc0VFCiBfX1pONndlYnJ0YzIwc2V0TG9jYWxF
bmNvZGVyUmF0ZXNFUHZqagogX19aTjZ3ZWJydGMyNXNldExvY2FsRW5jb2Rlckxvd0xhdGVuY3lF
UHZiCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlv
bnMvbGlid2VicnRjLmlPU3NpbS5leHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29u
ZmlndXJhdGlvbnMvbGlid2VicnRjLmlPU3NpbS5leHAKaW5kZXggNDhlNDQ1OTI5MzFkY2M4NGFk
MzczNzViYTlmNjA5MGIxMDEyYzY3ZC4uYTJjYWZiMzkyMjk5ZTk1YjdhN2JkZmU2ZTM2ZDdmZjA1
ZjcxOTBmYiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3Vy
YXRpb25zL2xpYndlYnJ0Yy5pT1NzaW0uZXhwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMuaU9Tc2ltLmV4cApAQCAtMjI5LDcgKzIyOSw3
IEBAIF9fWk42d2VicnRjMjR2aWRlb0RlY29kZXJUYXNrQ29tcGxldGVFUHZqUDEwX19DVkJ1ZmZl
cmoKIF9fWk42d2VicnRjMjRzZXRWaWRlb0RlY29kZXJDYWxsYmFja3NFUEZQdlJLTlNfMTRTZHBW
aWRlb0Zvcm1hdEVFUEZpUzBfRVBGaVMwX2pQS2htdHRFUEZpUzBfUzBfRQogX19aTjZ3ZWJydGMx
OXNldERlY29kZXJGcmFtZVNpemVFUHZ0dAogX19aTjZ3ZWJydGMxOFJ0cENvZGVjQ2FwYWJpbGl0
eUMxRXYKLV9fWk42d2VicnRjMjRlbmNvZGVyVmlkZW9UYXNrQ29tcGxldGVFUHZOU18xNFZpZGVv
Q29kZWNUeXBlRVBobVJLTlNfMjJXZWJLaXRFbmNvZGVkRnJhbWVJbmZvRQorX19aTjZ3ZWJydGMy
NGVuY29kZXJWaWRlb1Rhc2tDb21wbGV0ZUVQdk5TXzE0VmlkZW9Db2RlY1R5cGVFUEtobVJLTlNf
MjJXZWJLaXRFbmNvZGVkRnJhbWVJbmZvRQogX19aTjZ3ZWJydGMyNHNldFZpZGVvRW5jb2RlckNh
bGxiYWNrc0VQRlB2UktOU18xNFNkcFZpZGVvRm9ybWF0RUVQRmlTMF9FUEZpUzBfUktOU18xMFZp
ZGVvQ29kZWNFRVBGaVMwX1JLTlNfMTBWaWRlb0ZyYW1lRWJFUEZpUzBfUzBfRVBGdlMwX1JLTlNf
MTJWaWRlb0VuY29kZXIyMVJhdGVDb250cm9sUGFyYW1ldGVyc0VFCiBfX1pONndlYnJ0YzIwc2V0
TG9jYWxFbmNvZGVyUmF0ZXNFUHZqagogX19aTjZ3ZWJydGMyNXNldExvY2FsRW5jb2Rlckxvd0xh
dGVuY3lFUHZiCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmln
dXJhdGlvbnMvbGlid2VicnRjLm1hYy5leHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
Q29uZmlndXJhdGlvbnMvbGlid2VicnRjLm1hYy5leHAKaW5kZXggNDhlNDQ1OTI5MzFkY2M4NGFk
MzczNzViYTlmNjA5MGIxMDEyYzY3ZC4uYTJjYWZiMzkyMjk5ZTk1YjdhN2JkZmU2ZTM2ZDdmZjA1
ZjcxOTBmYiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3Vy
YXRpb25zL2xpYndlYnJ0Yy5tYWMuZXhwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMubWFjLmV4cApAQCAtMjI5LDcgKzIyOSw3IEBAIF9f
Wk42d2VicnRjMjR2aWRlb0RlY29kZXJUYXNrQ29tcGxldGVFUHZqUDEwX19DVkJ1ZmZlcmoKIF9f
Wk42d2VicnRjMjRzZXRWaWRlb0RlY29kZXJDYWxsYmFja3NFUEZQdlJLTlNfMTRTZHBWaWRlb0Zv
cm1hdEVFUEZpUzBfRVBGaVMwX2pQS2htdHRFUEZpUzBfUzBfRQogX19aTjZ3ZWJydGMxOXNldERl
Y29kZXJGcmFtZVNpemVFUHZ0dAogX19aTjZ3ZWJydGMxOFJ0cENvZGVjQ2FwYWJpbGl0eUMxRXYK
LV9fWk42d2VicnRjMjRlbmNvZGVyVmlkZW9UYXNrQ29tcGxldGVFUHZOU18xNFZpZGVvQ29kZWNU
eXBlRVBobVJLTlNfMjJXZWJLaXRFbmNvZGVkRnJhbWVJbmZvRQorX19aTjZ3ZWJydGMyNGVuY29k
ZXJWaWRlb1Rhc2tDb21wbGV0ZUVQdk5TXzE0VmlkZW9Db2RlY1R5cGVFUEtobVJLTlNfMjJXZWJL
aXRFbmNvZGVkRnJhbWVJbmZvRQogX19aTjZ3ZWJydGMyNHNldFZpZGVvRW5jb2RlckNhbGxiYWNr
c0VQRlB2UktOU18xNFNkcFZpZGVvRm9ybWF0RUVQRmlTMF9FUEZpUzBfUktOU18xMFZpZGVvQ29k
ZWNFRVBGaVMwX1JLTlNfMTBWaWRlb0ZyYW1lRWJFUEZpUzBfUzBfRVBGdlMwX1JLTlNfMTJWaWRl
b0VuY29kZXIyMVJhdGVDb250cm9sUGFyYW1ldGVyc0VFCiBfX1pONndlYnJ0YzIwc2V0TG9jYWxF
bmNvZGVyUmF0ZXNFUHZqagogX19aTjZ3ZWJydGMyNXNldExvY2FsRW5jb2Rlckxvd0xhdGVuY3lF
UHZiCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0
Yy9zZGsvV2ViS2l0L1dlYktpdEVuY29kZXIuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2Uvd2VicnRjL3Nkay9XZWJLaXQvV2ViS2l0RW5jb2Rlci5oCmluZGV4IDIzZDk3ZWNj
NGViZjgxMzkwZmY4YTQ5YWM5MDJlYjI0OTBiMmI1MjQuLmUzNzc4YTZhNjFiNTY3YmY4OTA3ODQ1
MzFjZjZiY2Y1ODI1YmNmMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2Uvd2VicnRjL3Nkay9XZWJLaXQvV2ViS2l0RW5jb2Rlci5oCisrKyBiL1NvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9XZWJLaXQvV2ViS2l0RW5jb2Rl
ci5oCkBAIC04MCw3ICs4MCw3IEBAIHZvaWQgaW5pdGlhbGl6ZUxvY2FsRW5jb2RlcihMb2NhbEVu
Y29kZXIsIHVpbnQxNl90IHdpZHRoLCB1aW50MTZfdCBoZWlnaHQsIHVuc2lnCiB2b2lkIGVuY29k
ZUxvY2FsRW5jb2RlckZyYW1lKExvY2FsRW5jb2RlciwgQ1ZQaXhlbEJ1ZmZlclJlZiwgaW50NjRf
dCB0aW1lU3RhbXBOcywgdWludDMyX3QgdGltZVN0YW1wLCB3ZWJydGM6OlZpZGVvUm90YXRpb24s
IGJvb2wgaXNLZXlmcmFtZVJlcXVpcmVkKTsKIHZvaWQgc2V0TG9jYWxFbmNvZGVyUmF0ZXMoTG9j
YWxFbmNvZGVyLCB1aW50MzJfdCBiaXRSYXRlLCB1aW50MzJfdCBmcmFtZVJhdGUpOwogdm9pZCBz
ZXRMb2NhbEVuY29kZXJMb3dMYXRlbmN5KExvY2FsRW5jb2RlciwgYm9vbCBpc0xvd0xhdGVuY3lF
bmFibGVkKTsKLXZvaWQgZW5jb2RlclZpZGVvVGFza0NvbXBsZXRlKHZvaWQqLCB3ZWJydGM6OlZp
ZGVvQ29kZWNUeXBlLCB1aW50OF90KiBidWZmZXIsIHNpemVfdCBsZW5ndGgsIGNvbnN0IFdlYktp
dEVuY29kZWRGcmFtZUluZm8mKTsKK3ZvaWQgZW5jb2RlclZpZGVvVGFza0NvbXBsZXRlKHZvaWQq
LCB3ZWJydGM6OlZpZGVvQ29kZWNUeXBlLCBjb25zdCB1aW50OF90KiBidWZmZXIsIHNpemVfdCBs
ZW5ndGgsIGNvbnN0IFdlYktpdEVuY29kZWRGcmFtZUluZm8mKTsKIAogdGVtcGxhdGU8Y2xhc3Mg
RGVjb2Rlcj4KIGJvb2wgV2ViS2l0RW5jb2RlZEZyYW1lSW5mbzo6ZGVjb2RlKERlY29kZXImIGRl
Y29kZXIsIFdlYktpdEVuY29kZWRGcmFtZUluZm8mIGluZm8pCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0L1dlYktpdEVuY29k
ZXIubW0gYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvV2Vi
S2l0L1dlYktpdEVuY29kZXIubW0KaW5kZXggZDc5NTFjNjEyMWQ2MTg1MmRiNmNhODdkNTlhN2Iy
MjFmOTVmNTJiYy4uODdiNWM4MWI4YWI1MGY0NGUzYTZjMjdkNGM4Mjc3YTJlMWJiZTFjNyAxMDA2
NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL1dl
YktpdC9XZWJLaXRFbmNvZGVyLm1tCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2Uvd2VicnRjL3Nkay9XZWJLaXQvV2ViS2l0RW5jb2Rlci5tbQpAQCAtMjkwLDkgKzI5MCwx
MSBAQCBpbnQzMl90IFJlbW90ZVZpZGVvRW5jb2Rlcjo6UmVnaXN0ZXJFbmNvZGVDb21wbGV0ZUNh
bGxiYWNrKEVuY29kZWRJbWFnZUNhbGxiYWNrKgogICAgIHJldHVybiB2aWRlb0VuY29kZXJDYWxs
YmFja3MoKS5yZWdpc3RlckVuY29kZUNvbXBsZXRlQ2FsbGJhY2sobV9pbnRlcm5hbEVuY29kZXIs
IGNhbGxiYWNrKTsKIH0KIAotdm9pZCBlbmNvZGVyVmlkZW9UYXNrQ29tcGxldGUodm9pZCogY2Fs
bGJhY2ssIHdlYnJ0Yzo6VmlkZW9Db2RlY1R5cGUgY29kZWNUeXBlLCB1aW50OF90KiBidWZmZXIs
IHNpemVfdCBsZW5ndGgsIGNvbnN0IFdlYktpdEVuY29kZWRGcmFtZUluZm8mIGluZm8pCit2b2lk
IGVuY29kZXJWaWRlb1Rhc2tDb21wbGV0ZSh2b2lkKiBjYWxsYmFjaywgd2VicnRjOjpWaWRlb0Nv
ZGVjVHlwZSBjb2RlY1R5cGUsIGNvbnN0IHVpbnQ4X3QqIGJ1ZmZlciwgc2l6ZV90IGxlbmd0aCwg
Y29uc3QgV2ViS2l0RW5jb2RlZEZyYW1lSW5mbyYgaW5mbykKIHsKLSAgICB3ZWJydGM6OkVuY29k
ZWRJbWFnZSBlbmNvZGVkSW1hZ2UoYnVmZmVyLCBsZW5ndGgsIGxlbmd0aCk7CisgICAgd2VicnRj
OjpFbmNvZGVkSW1hZ2UgZW5jb2RlZEltYWdlOworICAgIGVuY29kZWRJbWFnZS5TZXRFbmNvZGVk
RGF0YShFbmNvZGVkSW1hZ2VCdWZmZXI6OkNyZWF0ZShidWZmZXIsIGxlbmd0aCkpOworCiAgICAg
ZW5jb2RlZEltYWdlLl9lbmNvZGVkV2lkdGggPSBpbmZvLndpZHRoOwogICAgIGVuY29kZWRJbWFn
ZS5fZW5jb2RlZEhlaWdodCA9IGluZm8uaGVpZ2h0OwogICAgIGVuY29kZWRJbWFnZS5TZXRUaW1l
c3RhbXAoaW5mby50aW1lU3RhbXApOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9TY3JpcHRzL1By
ZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwgYi9Tb3VyY2UvV1RGL1Nj
cmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbAppbmRleCBi
MDE2YWM5ZjczMmIxMjY4OGY5YTg1MjNlMDBmNGFmMTNiYmE1YzZiLi5lN2I5MjZkYWJlMDhlNGE4
ZjQxNjA0MzBmOTI0Y2I4MjZlNmQ3ZmRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1NjcmlwdHMv
UHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbAorKysgYi9Tb3VyY2Uv
V1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbApA
QCAtOTg0LDYgKzk4NCwxOSBAQCBXZWJSVENIMjY1Q29kZWNFbmFibGVkOgogICAgIFdlYktpdDoK
ICAgICAgIGRlZmF1bHQ6IGZhbHNlCiAKK1dlYlJUQ0luc2VydGFibGVTdHJlYW1zRW5hYmxlZDoK
KyAgdHlwZTogYm9vbAorICBjb25kaXRpb246IEVOQUJMRShXRUJfUlRDKQorICBodW1hblJlYWRh
YmxlTmFtZTogIldlYlJUQyBJbnNlcnRhYmxlIFN0cmVhbXMgQVBJIgorICBodW1hblJlYWRhYmxl
RGVzY3JpcHRpb246ICJFbmFibGUgV2ViUlRDIEluc2VydGFibGUgU3RyZWFtcyBBUEkiCisgIGRl
ZmF1bHRWYWx1ZToKKyAgICBXZWJLaXRMZWdhY3k6CisgICAgICBkZWZhdWx0OiBmYWxzZQorICAg
IFdlYktpdDoKKyAgICAgIGRlZmF1bHQ6IGZhbHNlCisgICAgV2ViQ29yZToKKyAgICAgIGRlZmF1
bHQ6IGZhbHNlCisKICMgRklYTUU6IFRoaXMgaXMgbm90IHJlbGV2ZW50IGZvciBXZWJLaXRMZWdh
Y3ksIHNvIHNob3VsZCBiZSBleGNsdWRlZCBmcm9tIFdlYktpdExlZ2FjeSBlbnRpcmVseS4KIFdl
YlJUQ1BsYXRmb3JtQ29kZWNzSW5HUFVQcm9jZXNzRW5hYmxlZDoKICAgdHlwZTogYm9vbApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dAppbmRleCA1ZDRhNGU5ZDQ4MTY0ZWQ1YTFjMzRlNTg1MzgzYzFmYzMwYTQw
Yjg4Li5jMjk5ZDgzMGNiNjFlOTQ0NjlkOGU2MmI3MmJkODU3ZTMxNDhjYmIzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFr
ZUxpc3RzLnR4dApAQCAtMzk5LDEzICszOTksMTYgQEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExf
RklMRVMKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cEZlY1BhcmFtZXRlcnMuaWRsCiAg
ICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBIZWFkZXJFeHRlbnNpb25QYXJhbWV0ZXJzLmlk
bAogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUGFyYW1ldGVycy5pZGwKKyAgICBNb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVyK1RyYW5zZm9ybS5pZGwKICAgICBNb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVyLmlkbAogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0v
UlRDUnRwUnR4UGFyYW1ldGVycy5pZGwKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNl
bmRQYXJhbWV0ZXJzLmlkbAorICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyK1Ry
YW5zZm9ybS5pZGwKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlci5pZGwKICAg
ICBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFN5bmNocm9uaXphdGlvblNvdXJjZS5pZGwKICAg
ICBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zY2VpdmVyLmlkbAogICAgIE1vZHVsZXMv
bWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNjZWl2ZXJEaXJlY3Rpb24uaWRsCisgICAgTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENSdHBUcmFuc2Zvcm0uaWRsCiAgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENTZHBUeXBlLmlkbAogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0
aW9uLmlkbAogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uSW5p
dC5pZGwKQEAgLTE3NDksNiArMTc1Miw3IEBAIHNldChXZWJDb3JlVGVzdFN1cHBvcnRfSURMX0ZJ
TEVTCiAgICAgdGVzdGluZy9Nb2NrQ0RNRmFjdG9yeS5pZGwKICAgICB0ZXN0aW5nL01vY2tDb250
ZW50RmlsdGVyU2V0dGluZ3MuaWRsCiAgICAgdGVzdGluZy9Nb2NrUGFnZU92ZXJsYXkuaWRsCisg
ICAgdGVzdGluZy9Nb2NrUlRDUnRwVHJhbnNmb3JtLmlkbAogICAgIHRlc3RpbmcvU2VydmljZVdv
cmtlckludGVybmFscy5pZGwKICAgICB0ZXN0aW5nL1R5cGVDb252ZXJzaW9ucy5pZGwKICkKQEAg
LTE3NzIsNiArMTc3Niw3IEBAIGxpc3QoQVBQRU5EIFdlYkNvcmVUZXN0U3VwcG9ydF9TT1VSQ0VT
CiAgICAgdGVzdGluZy9Nb2NrTGliV2ViUlRDUGVlckNvbm5lY3Rpb24uY3BwCiAgICAgdGVzdGlu
Zy9Nb2NrUGFnZU92ZXJsYXkuY3BwCiAgICAgdGVzdGluZy9Nb2NrUGFnZU92ZXJsYXlDbGllbnQu
Y3BwCisgICAgdGVzdGluZy9Nb2NrUlRDUnRwVHJhbnNmb3JtLmNwcAogICAgIHRlc3RpbmcvU2Vy
dmljZVdvcmtlckludGVybmFscy5jcHAKICAgICB0ZXN0aW5nL2pzL1dlYkNvcmVUZXN0U3VwcG9y
dC5jcHAKICkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0
LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVs
aXN0CmluZGV4IGFhMThhOGNmNzJjZGJmZmEwNjFlOTIxYmM5MTM2MmQ0N2Q4YzM1YjMuLjY2OWI2
ODYxYjZhZmExZDBhYzA5N2IxYmQzMTA2NDQ4M2VlYzc1MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdApAQCAtMTI5LDggKzEyOSw4IEBAICQo
UFJPSkVDVF9ESVIpL01vZHVsZXMvZ2VvbG9jYXRpb24vUG9zaXRpb25DYWxsYmFjay5pZGwKICQo
UFJPSkVDVF9ESVIpL01vZHVsZXMvZ2VvbG9jYXRpb24vUG9zaXRpb25FcnJvci5pZGwKICQoUFJP
SkVDVF9ESVIpL01vZHVsZXMvZ2VvbG9jYXRpb24vUG9zaXRpb25FcnJvckNhbGxiYWNrLmlkbAog
JChQUk9KRUNUX0RJUikvTW9kdWxlcy9nZW9sb2NhdGlvbi9Qb3NpdGlvbk9wdGlvbnMuaWRsCi0k
KFBST0pFQ1RfRElSKS9Nb2R1bGVzL2hpZ2hsaWdodC9IaWdobGlnaHRSZWdpc3Rlci5pZGwKICQo
UFJPSkVDVF9ESVIpL01vZHVsZXMvaGlnaGxpZ2h0L0hpZ2hsaWdodC5pZGwKKyQoUFJPSkVDVF9E
SVIpL01vZHVsZXMvaGlnaGxpZ2h0L0hpZ2hsaWdodFJlZ2lzdGVyLmlkbAogJChQUk9KRUNUX0RJ
UikvTW9kdWxlcy9pbmRleGVkZGIvRE9NV2luZG93K0luZGV4ZWREYXRhYmFzZS5pZGwKICQoUFJP
SkVDVF9ESVIpL01vZHVsZXMvaW5kZXhlZGRiL0lEQkN1cnNvci5pZGwKICQoUFJPSkVDVF9ESVIp
L01vZHVsZXMvaW5kZXhlZGRiL0lEQkN1cnNvckRpcmVjdGlvbi5pZGwKQEAgLTIzMywxMyArMjMz
LDE2IEBAICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwRW5jb2RpbmdQ
YXJhbWV0ZXJzLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBG
ZWNQYXJhbWV0ZXJzLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENS
dHBIZWFkZXJFeHRlbnNpb25QYXJhbWV0ZXJzLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENSdHBQYXJhbWV0ZXJzLmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlcitUcmFuc2Zvcm0uaWRsCiAkKFBST0pFQ1RfRElSKS9N
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVyLmlkbAogJChQUk9KRUNUX0RJUikvTW9k
dWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSdHhQYXJhbWV0ZXJzLmlkbAogJChQUk9KRUNUX0RJUikv
TW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kUGFyYW1ldGVycy5pZGwKKyQoUFJPSkVDVF9E
SVIpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyK1RyYW5zZm9ybS5pZGwKICQoUFJP
SkVDVF9ESVIpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyLmlkbAogJChQUk9KRUNU
X0RJUikvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTeW5jaHJvbml6YXRpb25Tb3VyY2UuaWRs
CiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zY2VpdmVyLmlk
bAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBUcmFuc2NlaXZlckRp
cmVjdGlvbi5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJh
bnNmb3JtLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTZHBUeXBl
LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3Jp
cHRpb24uaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25E
ZXNjcmlwdGlvbkluaXQuaWRsCkBAIC0yODksNiArMjkyLDcgQEAgJChQUk9KRUNUX0RJUikvTW9k
dWxlcy9xdW90YS9Xb3JrZXJOYXZpZ2F0b3IrU3RvcmFnZVF1b3RhLmlkbAogJChQUk9KRUNUX0RJ
UikvTW9kdWxlcy9yZW1vdGVwbGF5YmFjay9IVE1MTWVkaWFFbGVtZW50K1JlbW90ZVBsYXliYWNr
LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9yZW1vdGVwbGF5YmFjay9SZW1vdGVQbGF5YmFj
ay5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcmVtb3RlcGxheWJhY2svUmVtb3RlUGxheWJh
Y2tBdmFpbGFiaWxpdHlDYWxsYmFjay5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvc3BlZWNo
L0RPTVdpbmRvdytTcGVlY2hTeW50aGVzaXMuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3Nw
ZWVjaC9TcGVlY2hSZWNvZ25pdGlvbi5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvc3BlZWNo
L1NwZWVjaFJlY29nbml0aW9uQWx0ZXJuYXRpdmUuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVz
L3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvbkVycm9yQ29kZS5pZGwKQEAgLTI5Niw3ICszMDAsNiBA
QCAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvbkVycm9yRXZl
bnQuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvbkV2
ZW50LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb25S
ZXN1bHQuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlv
blJlc3VsdExpc3QuaWRsCi0kKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3NwZWVjaC9ET01XaW5kb3cr
U3BlZWNoU3ludGhlc2lzLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9zcGVlY2gvU3BlZWNo
U3ludGhlc2lzLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9zcGVlY2gvU3BlZWNoU3ludGhl
c2lzRXZlbnQuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVz
aXNVdHRlcmFuY2UuaWRsCkBAIC0xMzAxLDYgKzEzMDQsNyBAQCAkKFBST0pFQ1RfRElSKS90ZXN0
aW5nL01vY2tQYXltZW50QWRkcmVzcy5pZGwKICQoUFJPSkVDVF9ESVIpL3Rlc3RpbmcvTW9ja1Bh
eW1lbnRDb250YWN0RmllbGRzLmlkbAogJChQUk9KRUNUX0RJUikvdGVzdGluZy9Nb2NrUGF5bWVu
dENvb3JkaW5hdG9yLmlkbAogJChQUk9KRUNUX0RJUikvdGVzdGluZy9Nb2NrUGF5bWVudEVycm9y
LmlkbAorJChQUk9KRUNUX0RJUikvdGVzdGluZy9Nb2NrUlRDUnRwVHJhbnNmb3JtLmlkbAogJChQ
Uk9KRUNUX0RJUikvdGVzdGluZy9Nb2NrV2ViQXV0aGVudGljYXRpb25Db25maWd1cmF0aW9uLmlk
bAogJChQUk9KRUNUX0RJUikvdGVzdGluZy9TZXJ2aWNlV29ya2VySW50ZXJuYWxzLmlkbAogJChQ
Uk9KRUNUX0RJUikvdGVzdGluZy9UeXBlQ29udmVyc2lvbnMuaWRsCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CmluZGV4IDM4MWZiZDQ4OTVlMGVh
OTdlOWRiMjFlNWQ0ZDQ3N2Y2ZmEyMGFhYmEuLmRiNjcxMDA4OGVmMjQ1NDQ4MzAyNWUwMWU0YWE3
Y2U1ZGZlYzMwNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91
dHB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1
dC54Y2ZpbGVsaXN0CkBAIC0xMTA1LDEwICsxMTA1LDEwIEBAICQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSGFzaENoYW5nZUV2ZW50LmNwcAogJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIYXNoQ2hhbmdlRXZlbnQuaAog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIZHJNZXRhZGF0
YVR5cGUuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0hkck1ldGFkYXRhVHlwZS5oCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0hpZ2hsaWdodFJlZ2lzdGVyLmNwcAotJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIaWdobGlnaHRSZWdpc3Rlci5oCiAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hpZ2hsaWdodC5jcHAKICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSGlnaGxpZ2h0LmgKKyQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSGlnaGxpZ2h0UmVnaXN0
ZXIuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hp
Z2hsaWdodFJlZ2lzdGVyLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTSGlzdG9yeS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTSGlzdG9yeS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0hrZGZQYXJhbXMuY3BwCkBAIC0xMzQxLDYgKzEzNDEsOCBAQCAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01vY2tQYXltZW50Q29vcmRp
bmF0b3IuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U01vY2tQYXltZW50Q29vcmRpbmF0b3IuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNNb2NrUGF5bWVudEVycm9yLmNwcAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNb2NrUGF5bWVudEVycm9yLmgKKyQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTW9ja1JUQ1J0cFRyYW5zZm9y
bS5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTW9j
a1JUQ1J0cFRyYW5zZm9ybS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU01vY2tXZWJBdXRoZW50aWNhdGlvbkNvbmZpZ3VyYXRpb24uY3BwCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01vY2tXZWJBdXRoZW50aWNh
dGlvbkNvbmZpZ3VyYXRpb24uaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNNb3VzZUV2ZW50LmNwcApAQCAtMTY5NywxMiArMTY5OSwxNiBAQCAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JUQ1J0cEhlYWRlckV4dGVu
c2lvblBhcmFtZXRlcnMuYwogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNSVENSdHBIZWFkZXJFeHRlbnNpb25QYXJhbWV0ZXJzLmgKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUlRDUnRwUGFyYW1ldGVycy5jcHAKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUlRDUnRwUGFyYW1l
dGVycy5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JU
Q1J0cFJlY2VpdmVyK1RyYW5zZm9ybS5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTUlRDUnRwUmVjZWl2ZXIrVHJhbnNmb3JtLmgKICQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUlRDUnRwUmVjZWl2ZXIuY3BwCiAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JUQ1J0cFJlY2Vp
dmVyLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUlRD
UnRwUnR4UGFyYW1ldGVycy5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTUlRDUnRwUnR4UGFyYW1ldGVycy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JUQ1J0cFNlbmRQYXJhbWV0ZXJzLmNwcAogJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSVENSdHBTZW5kUGFyYW1l
dGVycy5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JU
Q1J0cFNlbmRlcitUcmFuc2Zvcm0uY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU1JUQ1J0cFNlbmRlcitUcmFuc2Zvcm0uaAogJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSVENSdHBTZW5kZXIuY3BwCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JUQ1J0cFNlbmRlci5oCiAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JUQ1J0cFN5bmNo
cm9uaXphdGlvblNvdXJjZS5jcHAKQEAgLTE3MTEsNiArMTcxNyw4IEBAICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUlRDUnRwVHJhbnNjZWl2ZXIuY3BwCiAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JUQ1J0cFRyYW5z
Y2VpdmVyLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
UlRDUnRwVHJhbnNjZWl2ZXJEaXJlY3Rpb24uY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JUQ1J0cFRyYW5zY2VpdmVyRGlyZWN0aW9uLmgKKyQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUlRDUnRwVHJhbnNmb3Jt
LmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSVENS
dHBUcmFuc2Zvcm0uaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNSVENTZHBUeXBlLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNSVENTZHBUeXBlLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTUlRDU2Vzc2lvbkRlc2NyaXB0aW9uLmNwcApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLm1ha2UKaW5kZXggNGQwODUzMGFhNWJkOGU4NmUyMjI0NmM1M2UyYzhlZTAxNzhlMzAz
ZC4uOWFlNDBjMTg3OTY4OTM4MTdiODQxNjUyN2MyNDBhZjcyM2U4ZjExNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5tYWtlCkBAIC0yNTgsMTIgKzI1OCwxNSBAQCBKU19CSU5ESU5HX0lETFMg
Oj0gXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBIZWFkZXJFeHRl
bnNpb25QYXJhbWV0ZXJzLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ1J0cFBhcmFtZXRlcnMuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDUnRwUmVjZWl2ZXIuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDUnRwUmVjZWl2ZXIrVHJhbnNmb3JtLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ1J0cFJ0eFBhcmFtZXRlcnMuaWRsIFwKICAgICAkKFdlYkNvcmUpL01v
ZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZFBhcmFtZXRlcnMuaWRsIFwKICAgICAkKFdlYkNv
cmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyLmlkbCBcCisgICAgJChXZWJDb3Jl
KS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlcitUcmFuc2Zvcm0uaWRsIFwKICAgICAk
KFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU3luY2hyb25pemF0aW9uU291cmNl
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zY2Vp
dmVyLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5z
Y2VpdmVyRGlyZWN0aW9uLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ1J0cFRyYW5zZm9ybS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENTZHBUeXBlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q1Nlc3Npb25EZXNjcmlwdGlvbi5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb25Jbml0LmlkbCBcCkBAIC0xMjI2LDYgKzEyMjksNyBA
QCBKU19CSU5ESU5HX0lETFMgOj0gXAogICAgICQoV2ViQ29yZSkvdGVzdGluZy9Nb2NrUGF5bWVu
dENvbnRhY3RGaWVsZHMuaWRsIFwKICAgICAkKFdlYkNvcmUpL3Rlc3RpbmcvTW9ja1BheW1lbnRD
b29yZGluYXRvci5pZGwgXAogICAgICQoV2ViQ29yZSkvdGVzdGluZy9Nb2NrUGF5bWVudEVycm9y
LmlkbCBcCisgICAgJChXZWJDb3JlKS90ZXN0aW5nL01vY2tSVENSdHBUcmFuc2Zvcm0uaWRsIFwK
ICAgICAkKFdlYkNvcmUpL3Rlc3RpbmcvTW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29uZmlndXJhdGlv
bi5pZGwgXAogICAgICQoV2ViQ29yZSkvdGVzdGluZy9TZXJ2aWNlV29ya2VySW50ZXJuYWxzLmlk
bCBcCiAgICAgJChXZWJDb3JlKS90ZXN0aW5nL1R5cGVDb252ZXJzaW9ucy5pZGwgXApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlcitU
cmFuc2Zvcm0uaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBS
ZWNlaXZlcitUcmFuc2Zvcm0uaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYwYjJlMTFkNDdmZmJiM2E4NDNiZjQx
Mzk3ZTBjMDhjOTFlMjYyNzgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVyK1RyYW5zZm9ybS5pZGwKQEAgLTAsMCArMSwz
MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKK1sKKyAgICBDb25kaXRpb25hbD1XRUJfUlRDLAorICAgIEVuYWJs
ZWRCeVNldHRpbmc9V2ViUlRDSW5zZXJ0YWJsZVN0cmVhbXMsCisgICAgRXhwb3NlZD1XaW5kb3cs
CisgICAgSW1wbGVtZW50ZWRCeT1SVENSdHBSZWNlaXZlcldpdGhUcmFuc2Zvcm0sCitdIHBhcnRp
YWwgaW50ZXJmYWNlIFJUQ1J0cFJlY2VpdmVyIHsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIGF0
dHJpYnV0ZSBSVENSdHBUcmFuc2Zvcm0/IHRyYW5zZm9ybTsKK307CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIuY3BwCmluZGV4IDQy
YzRjMDc4NDA5ZTMyZGFkMWU0MjRlYWEwYjJiN2I1ZjM1NGYyYjQuLjBiZmNjOTY2M2MyZjA2ZDRl
OTBjMDk0ODhkZjI1MmUxZmQyYjNjMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIuY3BwCkBAIC00OSwxMSArNDksMjAgQEAg
UlRDUnRwUmVjZWl2ZXI6OlJUQ1J0cFJlY2VpdmVyKFBlZXJDb25uZWN0aW9uQmFja2VuZCYgY29u
bmVjdGlvbiwgUmVmPE1lZGlhU3RyZWEKIHsKIH0KIAorUlRDUnRwUmVjZWl2ZXI6On5SVENSdHBS
ZWNlaXZlcigpCit7CisgICAgaWYgKG1fdHJhbnNmb3JtKQorICAgICAgICBtX3RyYW5zZm9ybS0+
ZGV0YWNoRnJvbVJlY2VpdmVyKCp0aGlzKTsKK30KKwogdm9pZCBSVENSdHBSZWNlaXZlcjo6c3Rv
cCgpCiB7CiAgICAgaWYgKCFtX2JhY2tlbmQpCiAgICAgICAgIHJldHVybjsKIAorICAgIGlmICht
X3RyYW5zZm9ybSkKKyAgICAgICAgbV90cmFuc2Zvcm0tPmRldGFjaEZyb21SZWNlaXZlcigqdGhp
cyk7CisKICAgICBtX2JhY2tlbmQgPSBudWxscHRyOwogICAgIG1fdHJhY2stPnN0b3BUcmFjayhN
ZWRpYVN0cmVhbVRyYWNrOjpTdG9wTW9kZTo6UG9zdEV2ZW50KTsKIH0KQEAgLTcyLDYgKzgxLDIw
IEBAIE9wdGlvbmFsPFJUQ1J0cENhcGFiaWxpdGllcz4gUlRDUnRwUmVjZWl2ZXI6OmdldENhcGFi
aWxpdGllcyhTY3JpcHRFeGVjdXRpb25Db250CiAgICAgcmV0dXJuIFBlZXJDb25uZWN0aW9uQmFj
a2VuZDo6cmVjZWl2ZXJDYXBhYmlsaXRpZXMoY29udGV4dCwga2luZCk7CiB9CiAKK0V4Y2VwdGlv
bk9yPHZvaWQ+IFJUQ1J0cFJlY2VpdmVyOjpzZXRUcmFuc2Zvcm0oUmVmUHRyPFJUQ1J0cFRyYW5z
Zm9ybT4mJiB0cmFuc2Zvcm0pCit7CisgICAgaWYgKHRyYW5zZm9ybSAmJiB0cmFuc2Zvcm0tPmlz
QXR0YWNoZWQoKSkKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVycm9y
LCAidHJhbnNmb3JtIGlzIGFscmVhZHkgaW4gdXNlIl9zIH07CisKKyAgICBpZiAobV90cmFuc2Zv
cm0pCisgICAgICAgIG1fdHJhbnNmb3JtLT5kZXRhY2hGcm9tUmVjZWl2ZXIoKnRoaXMpOworICAg
IG1fdHJhbnNmb3JtID0gV1RGTW92ZSh0cmFuc2Zvcm0pOworICAgIGlmIChtX3RyYW5zZm9ybSkK
KyAgICAgICAgbV90cmFuc2Zvcm0tPmF0dGFjaFRvUmVjZWl2ZXIoKnRoaXMpOworCisgICAgcmV0
dXJuIHsgfTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxF
KFdFQl9SVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ1J0cFJlY2VpdmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q1J0cFJlY2VpdmVyLmgKaW5kZXggM2NjYThiMmI5NjcxOGFlNDc2ZDgzOTQzMjYxMjBjOTc5OTA3
OTM1MS4uOGNiMWE0M2QyYmQwNDQ2MjRjMjg3Y2E2YWY3MWM3ZGY4NzhkMjJiNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIuaApA
QCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIk1lZGlhU3RyZWFtVHJhY2suaCIKICNpbmNsdWRl
ICJSVENSdHBSZWNlaXZlckJhY2tlbmQuaCIKICNpbmNsdWRlICJSVENSdHBTeW5jaHJvbml6YXRp
b25Tb3VyY2UuaCIKKyNpbmNsdWRlICJSVENSdHBUcmFuc2Zvcm0uaCIKICNpbmNsdWRlICJTY3Jp
cHRXcmFwcGFibGUuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNTAsNiArNTEsNyBAQCBw
dWJsaWM6CiAgICAgewogICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBSVENSdHBSZWNlaXZl
cihjb25uZWN0aW9uLCBXVEZNb3ZlKHRyYWNrKSwgV1RGTW92ZShiYWNrZW5kKSkpOwogICAgIH0K
KyAgICB+UlRDUnRwUmVjZWl2ZXIoKTsKIAogICAgIHN0YXRpYyBPcHRpb25hbDxSVENSdHBDYXBh
YmlsaXRpZXM+IGdldENhcGFiaWxpdGllcyhTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgY29uc3Qg
U3RyaW5nJiBraW5kKTsKIApAQCAtNjUsMTIgKzY3LDE2IEBAIHB1YmxpYzoKICAgICBSVENSdHBS
ZWNlaXZlckJhY2tlbmQqIGJhY2tlbmQoKSB7IHJldHVybiBtX2JhY2tlbmQuZ2V0KCk7IH0KICAg
ICB2b2lkIGdldFN0YXRzKFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOwogCisgICAgUlRDUnRwVHJh
bnNmb3JtKiB0cmFuc2Zvcm0oKSB7IHJldHVybiBtX3RyYW5zZm9ybS5nZXQoKTsgfQorICAgIEV4
Y2VwdGlvbk9yPHZvaWQ+IHNldFRyYW5zZm9ybShSZWZQdHI8UlRDUnRwVHJhbnNmb3JtPiYmKTsK
KwogcHJpdmF0ZToKICAgICBSVENSdHBSZWNlaXZlcihQZWVyQ29ubmVjdGlvbkJhY2tlbmQmLCBS
ZWY8TWVkaWFTdHJlYW1UcmFjaz4mJiwgc3RkOjp1bmlxdWVfcHRyPFJUQ1J0cFJlY2VpdmVyQmFj
a2VuZD4mJik7CiAKICAgICBSZWY8TWVkaWFTdHJlYW1UcmFjaz4gbV90cmFjazsKICAgICBzdGQ6
OnVuaXF1ZV9wdHI8UlRDUnRwUmVjZWl2ZXJCYWNrZW5kPiBtX2JhY2tlbmQ7CiAgICAgV2Vha1B0
cjxQZWVyQ29ubmVjdGlvbkJhY2tlbmQ+IG1fY29ubmVjdGlvbjsKKyAgICBSZWZQdHI8UlRDUnRw
VHJhbnNmb3JtPiBtX3RyYW5zZm9ybTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2
ZXJCYWNrZW5kLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJl
Y2VpdmVyQmFja2VuZC5oCmluZGV4IDc4MmRkNjdkNTUxNmM4ZDZlN2I0MTk1NGJjYmI5MGJiYTc0
NzI2OTMuLjYxOTZhNmE1MDY4OTU4YTkyOTFiMzY0MjNlZjBiY2VhNjI0NDBkM2YgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXJCYWNr
ZW5kLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNl
aXZlckJhY2tlbmQuaApAQCAtMzEsMTIgKzMxLDE1IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAorY2xhc3MgUlRDUnRwVHJhbnNmb3JtQmFja2VuZDsKKwogY2xhc3MgUlRDUnRwUmVjZWl2ZXJC
YWNrZW5kIHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5SVENSdHBSZWNlaXZlckJhY2tlbmQoKSA9
IGRlZmF1bHQ7CiAgICAgdmlydHVhbCBSVENSdHBQYXJhbWV0ZXJzIGdldFBhcmFtZXRlcnMoKSB7
IHJldHVybiB7IH07IH0KICAgICB2aXJ0dWFsIFZlY3RvcjxSVENSdHBDb250cmlidXRpbmdTb3Vy
Y2U+IGdldENvbnRyaWJ1dGluZ1NvdXJjZXMoKSBjb25zdCB7IHJldHVybiB7IH07IH0KICAgICB2
aXJ0dWFsIFZlY3RvcjxSVENSdHBTeW5jaHJvbml6YXRpb25Tb3VyY2U+IGdldFN5bmNocm9uaXph
dGlvblNvdXJjZXMoKSBjb25zdCB7IHJldHVybiB7IH07IH0KKyAgICB2aXJ0dWFsIFJlZjxSVENS
dHBUcmFuc2Zvcm1CYWNrZW5kPiBjcmVhdGVSVENSdHBUcmFuc2Zvcm1CYWNrZW5kKCkgPSAwOwog
fTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlcldpdGhUcmFuc2Zvcm0uaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXJXaXRoVHJhbnNmb3Jt
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNGViOWI4NDc5MTEzZGEyMTc5NWM4NzA3ZWJkZGU0Y2E2ZWEyYjRjZgot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
UnRwUmVjZWl2ZXJXaXRoVHJhbnNmb3JtLmgKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisg
KiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5B
QkxFKFdFQl9SVEMpCisKKyNpbmNsdWRlICJSVENSdHBSZWNlaXZlci5oIgorI2luY2x1ZGUgIlJU
Q1J0cFRyYW5zZm9ybS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFJUQ1J0cFRy
YW5zZm9ybTsKKworY2xhc3MgUlRDUnRwUmVjZWl2ZXJXaXRoVHJhbnNmb3JtIHsKK3B1YmxpYzoK
KyAgICBzdGF0aWMgUlRDUnRwVHJhbnNmb3JtKiB0cmFuc2Zvcm0oUlRDUnRwUmVjZWl2ZXImIHJl
Y2VpdmVyKSB7IHJldHVybiByZWNlaXZlci50cmFuc2Zvcm0oKTsgfQorICAgIHN0YXRpYyBFeGNl
cHRpb25Pcjx2b2lkPiBzZXRUcmFuc2Zvcm0oUlRDUnRwUmVjZWl2ZXImIHJlY2VpdmVyLCBSZWZQ
dHI8UlRDUnRwVHJhbnNmb3JtPiYmIHRyYW5zZm9ybSkgeyByZXR1cm4gcmVjZWl2ZXIuc2V0VHJh
bnNmb3JtKFdURk1vdmUodHJhbnNmb3JtKSk7IH0KK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJfUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIrVHJhbnNmb3JtLmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyK1RyYW5zZm9ybS5pZGwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMzM4YTdlMzA3ZDYyNGMxMzRmNzgwY2NiNzEwYzhjNjgyNGRjMGRkYQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRw
U2VuZGVyK1RyYW5zZm9ybS5pZGwKQEAgLTAsMCArMSwzMyBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAg
ICBDb25kaXRpb25hbD1XRUJfUlRDLAorICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViUlRDSW5zZXJ0
YWJsZVN0cmVhbXMsCisgICAgRXhwb3NlZD1XaW5kb3csCisgICAgSW1wbGVtZW50ZWRCeT1SVENS
dHBTZW5kZXJXaXRoVHJhbnNmb3JtLAorXSBwYXJ0aWFsIGludGVyZmFjZSBSVENSdHBTZW5kZXIg
eworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gYXR0cmlidXRlIFJUQ1J0cFRyYW5zZm9ybT8gdHJh
bnNmb3JtOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDUnRwU2VuZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
UlRDUnRwU2VuZGVyLmNwcAppbmRleCBmZjE3MDNiOTJiMGQ5MGFhOTc4NzY3MjI2N2Y0OGUyN2E0
Yjc2NGQ0Li5jN2FjM2M0OWJkOWQ3OTZiMjQ4NzVmOWQ5MjMwNmQzZTkzYTc1NDNiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIuY3Bw
CkBAIC02Niw3ICs2NiwxMSBAQCBSVENSdHBTZW5kZXI6OlJUQ1J0cFNlbmRlcihSVENQZWVyQ29u
bmVjdGlvbiYgY29ubmVjdGlvbiwgU3RyaW5nJiYgdHJhY2tLaW5kLCBWZQogICAgIEFTU0VSVCht
X2JhY2tlbmQpOwogfQogCi1SVENSdHBTZW5kZXI6On5SVENSdHBTZW5kZXIoKSA9IGRlZmF1bHQ7
CitSVENSdHBTZW5kZXI6On5SVENSdHBTZW5kZXIoKQoreworICAgIGlmIChtX3RyYW5zZm9ybSkK
KyAgICAgICAgbV90cmFuc2Zvcm0tPmRldGFjaEZyb21TZW5kZXIoKnRoaXMpOworfQogCiB2b2lk
IFJUQ1J0cFNlbmRlcjo6c2V0VHJhY2tUb051bGwoKQogewpAQCAtNzcsNiArODEsOSBAQCB2b2lk
IFJUQ1J0cFNlbmRlcjo6c2V0VHJhY2tUb051bGwoKQogCiB2b2lkIFJUQ1J0cFNlbmRlcjo6c3Rv
cCgpCiB7CisgICAgaWYgKG1fdHJhbnNmb3JtKQorICAgICAgICBtX3RyYW5zZm9ybS0+ZGV0YWNo
RnJvbVNlbmRlcigqdGhpcyk7CisKICAgICBtX3RyYWNrSWQgPSB7IH07CiAgICAgbV90cmFjayA9
IG51bGxwdHI7CiAgICAgbV9iYWNrZW5kID0gbnVsbHB0cjsKQEAgLTE4Niw2ICsxOTMsMjAgQEAg
T3B0aW9uYWw8UlRDUnRwVHJhbnNjZWl2ZXJEaXJlY3Rpb24+IFJUQ1J0cFNlbmRlcjo6Y3VycmVu
dFRyYW5zY2VpdmVyRGlyZWN0aW9uKCkKICAgICByZXR1cm4gc2VuZGVyVHJhbnNjZWl2ZXItPmN1
cnJlbnREaXJlY3Rpb24oKTsKIH0KIAorRXhjZXB0aW9uT3I8dm9pZD4gUlRDUnRwU2VuZGVyOjpz
ZXRUcmFuc2Zvcm0oUmVmUHRyPFJUQ1J0cFRyYW5zZm9ybT4mJiB0cmFuc2Zvcm0pCit7CisgICAg
aWYgKHRyYW5zZm9ybSAmJiB0cmFuc2Zvcm0tPmlzQXR0YWNoZWQoKSkKKyAgICAgICAgcmV0dXJu
IEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVycm9yLCAidHJhbnNmb3JtIGlzIGFscmVhZHkgaW4g
dXNlIl9zIH07CisKKyAgICBpZiAobV90cmFuc2Zvcm0pCisgICAgICAgIG1fdHJhbnNmb3JtLT5k
ZXRhY2hGcm9tU2VuZGVyKCp0aGlzKTsKKyAgICBtX3RyYW5zZm9ybSA9IFdURk1vdmUodHJhbnNm
b3JtKTsKKyAgICBpZiAobV90cmFuc2Zvcm0pCisgICAgICAgIG1fdHJhbnNmb3JtLT5hdHRhY2hU
b1NlbmRlcigqdGhpcyk7CisKKyAgICByZXR1cm4geyB9OworfQorCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoV0VCX1JUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlci5oCmluZGV4IDI4ZGYwZmViYWUxMzlk
NGY4ZDRhN2M5YmJmY2IxMWIxMzk5NjA0YmQuLjcwYWQ5NTkyNzBiYjJhMjlhZTM0OTNiMWQxZWI4
MDk0YTliNTA1YjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDUnRwU2VuZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENSdHBTZW5kZXIuaApAQCAtMzYsNiArMzYsNyBAQAogI2luY2x1ZGUgIk1lZGlhU3RyZWFt
VHJhY2suaCIKICNpbmNsdWRlICJSVENSdHBTZW5kZXJCYWNrZW5kLmgiCiAjaW5jbHVkZSAiUlRD
UnRwVHJhbnNjZWl2ZXJEaXJlY3Rpb24uaCIKKyNpbmNsdWRlICJSVENSdHBUcmFuc2Zvcm0uaCIK
ICNpbmNsdWRlICJTY3JpcHRXcmFwcGFibGUuaCIKICNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgog
CkBAIC04MSw2ICs4Miw5IEBAIHB1YmxpYzoKICAgICBSVENEVE1GU2VuZGVyKiBkdG1mKCk7CiAg
ICAgT3B0aW9uYWw8UlRDUnRwVHJhbnNjZWl2ZXJEaXJlY3Rpb24+IGN1cnJlbnRUcmFuc2NlaXZl
ckRpcmVjdGlvbigpIGNvbnN0OwogCisgICAgUlRDUnRwVHJhbnNmb3JtKiB0cmFuc2Zvcm0oKSB7
IHJldHVybiBtX3RyYW5zZm9ybS5nZXQoKTsgfQorICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFRy
YW5zZm9ybShSZWZQdHI8UlRDUnRwVHJhbnNmb3JtPiYmKTsKKwogcHJpdmF0ZToKICAgICBSVENS
dHBTZW5kZXIoUlRDUGVlckNvbm5lY3Rpb24mLCBTdHJpbmcmJiB0cmFja0tpbmQsIFZlY3RvcjxT
dHJpbmc+JiYgbWVkaWFTdHJlYW1JZHMsIHN0ZDo6dW5pcXVlX3B0cjxSVENSdHBTZW5kZXJCYWNr
ZW5kPiYmKTsKIApAQCAtOTEsNiArOTUsNyBAQCBwcml2YXRlOgogICAgIHN0ZDo6dW5pcXVlX3B0
cjxSVENSdHBTZW5kZXJCYWNrZW5kPiBtX2JhY2tlbmQ7CiAgICAgV2Vha1B0cjxSVENQZWVyQ29u
bmVjdGlvbj4gbV9jb25uZWN0aW9uOwogICAgIFJlZlB0cjxSVENEVE1GU2VuZGVyPiBtX2R0bWZT
ZW5kZXI7CisgICAgUmVmUHRyPFJUQ1J0cFRyYW5zZm9ybT4gbV90cmFuc2Zvcm07CiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlckJhY2tlbmQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyQmFja2VuZC5oCmluZGV4IDFjMThlNTAxMjhiMjRl
YzFiYjBmNDZjYzZiYjBmZWEwMDY4NDdkZGEuLjMwODk3YzI0ZWE3ZjcxZGQ0MDYyYjIwZWMyYjUz
OGZjYmExYzgwYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDUnRwU2VuZGVyQmFja2VuZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vUlRDUnRwU2VuZGVyQmFja2VuZC5oCkBAIC0zMSw2ICszMSw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIGNsYXNzIE1lZGlhU3RyZWFtVHJhY2s7CiBjbGFzcyBSVENEVE1GU2VuZGVy
QmFja2VuZDsKIGNsYXNzIFJUQ1J0cFNlbmRlcjsKK2NsYXNzIFJUQ1J0cFRyYW5zZm9ybUJhY2tl
bmQ7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogCiBzdHJ1Y3QgUlRDUnRwU2VuZFBh
cmFtZXRlcnM7CkBAIC0zOSwxMSArNDAsMTMgQEAgdGVtcGxhdGU8dHlwZW5hbWUgSURMVHlwZT4g
Y2xhc3MgRE9NUHJvbWlzZURlZmVycmVkOwogCiBjbGFzcyBSVENSdHBTZW5kZXJCYWNrZW5kIHsK
IHB1YmxpYzoKKyAgICB2aXJ0dWFsIH5SVENSdHBTZW5kZXJCYWNrZW5kKCkgPSBkZWZhdWx0Owor
CiAgICAgdmlydHVhbCBib29sIHJlcGxhY2VUcmFjayhSVENSdHBTZW5kZXImLCBNZWRpYVN0cmVh
bVRyYWNrKikgPSAwOwogICAgIHZpcnR1YWwgUlRDUnRwU2VuZFBhcmFtZXRlcnMgZ2V0UGFyYW1l
dGVycygpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0UGFyYW1ldGVycyhjb25zdCBS
VENSdHBTZW5kUGFyYW1ldGVycyYsIERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYmKSA9IDA7CiAg
ICAgdmlydHVhbCBzdGQ6OnVuaXF1ZV9wdHI8UlRDRFRNRlNlbmRlckJhY2tlbmQ+IGNyZWF0ZURU
TUZCYWNrZW5kKCkgPSAwOwotICAgIHZpcnR1YWwgflJUQ1J0cFNlbmRlckJhY2tlbmQoKSA9IGRl
ZmF1bHQ7CisgICAgdmlydHVhbCBSZWY8UlRDUnRwVHJhbnNmb3JtQmFja2VuZD4gY3JlYXRlUlRD
UnRwVHJhbnNmb3JtQmFja2VuZCgpID0gMDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2Vu
ZGVyV2l0aFRyYW5zZm9ybS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENSdHBTZW5kZXJXaXRoVHJhbnNmb3JtLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODcxNDM4ZWU2NjViMjZmODBl
MTUxYzE5NWVjODc2Y2NlYWFhOTMwZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyV2l0aFRyYW5zZm9ybS5oCkBAIC0wLDAg
KzEsNDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKwor
I3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCX1JUQykKKworI2luY2x1ZGUgIlJUQ1J0cFNl
bmRlci5oIgorI2luY2x1ZGUgIlJUQ1J0cFRyYW5zZm9ybS5oIgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK2NsYXNzIFJUQ1J0cFRyYW5zZm9ybTsKKworY2xhc3MgUlRDUnRwU2VuZGVyV2l0aFRy
YW5zZm9ybSB7CitwdWJsaWM6CisgICAgc3RhdGljIFJUQ1J0cFRyYW5zZm9ybSogdHJhbnNmb3Jt
KFJUQ1J0cFNlbmRlciYgc2VuZGVyKSB7IHJldHVybiBzZW5kZXIudHJhbnNmb3JtKCk7IH0KKyAg
ICBzdGF0aWMgRXhjZXB0aW9uT3I8dm9pZD4gc2V0VHJhbnNmb3JtKFJUQ1J0cFNlbmRlciYgc2Vu
ZGVyLCBSZWZQdHI8UlRDUnRwVHJhbnNmb3JtPiYmIHRyYW5zZm9ybSkgeyByZXR1cm4gc2VuZGVy
LnNldFRyYW5zZm9ybShXVEZNb3ZlKHRyYW5zZm9ybSkpOyB9Cit9OworCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX1JUQykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNmb3JtLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNmb3JtLmNwcApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4zYmY1ZTVlNWMyZGY3MGY5NjMwM2RmOTQ5NGZjNWIzMTVjNjkzYjFkCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBUcmFuc2Zv
cm0uY3BwCkBAIC0wLDAgKzEsODAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
KyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlJUQ1J0cFRyYW5z
Zm9ybS5oIgorCisjaWYgRU5BQkxFKFdFQl9SVEMpCisKKyNpbmNsdWRlICJSVENSdHBSZWNlaXZl
ci5oIgorI2luY2x1ZGUgIlJUQ1J0cFNlbmRlci5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K1JUQ1J0cFRyYW5zZm9ybTo6flJUQ1J0cFRyYW5zZm9ybSgpCit7CisgICAgaWYgKG1fYmFja2Vu
ZCkKKyAgICAgICAgd2lsbENsZWFyQmFja2VuZCgqbV9iYWNrZW5kKTsKK30KKwordm9pZCBSVENS
dHBUcmFuc2Zvcm06OmF0dGFjaFRvUmVjZWl2ZXIoUlRDUnRwUmVjZWl2ZXImIHJlY2VpdmVyKQor
eworICAgIEFTU0VSVCghaXNBdHRhY2hlZCgpKTsKKyAgICBpZiAoYXV0byogYmFja2VuZCA9IHJl
Y2VpdmVyLmJhY2tlbmQoKSkKKyAgICAgICAgbV9iYWNrZW5kID0gYmFja2VuZC0+Y3JlYXRlUlRD
UnRwVHJhbnNmb3JtQmFja2VuZCgpOworICAgIGlmIChtX2JhY2tlbmQpCisgICAgICAgIGluaXRp
YWxpemVCYWNrZW5kRm9yUmVjZWl2ZXIoKm1fYmFja2VuZCk7Cit9CisKK3ZvaWQgUlRDUnRwVHJh
bnNmb3JtOjphdHRhY2hUb1NlbmRlcihSVENSdHBTZW5kZXImIHNlbmRlcikKK3sKKyAgICBBU1NF
UlQoIWlzQXR0YWNoZWQoKSk7CisgICAgaWYgKGF1dG8qIGJhY2tlbmQgPSBzZW5kZXIuYmFja2Vu
ZCgpKQorICAgICAgICBtX2JhY2tlbmQgPSBiYWNrZW5kLT5jcmVhdGVSVENSdHBUcmFuc2Zvcm1C
YWNrZW5kKCk7CisgICAgaWYgKG1fYmFja2VuZCkKKyAgICAgICAgaW5pdGlhbGl6ZUJhY2tlbmRG
b3JTZW5kZXIoKm1fYmFja2VuZCk7Cit9CisKK3ZvaWQgUlRDUnRwVHJhbnNmb3JtOjpkZXRhY2hG
cm9tUmVjZWl2ZXIoUlRDUnRwUmVjZWl2ZXImKQoreworICAgIGlmICghbV9iYWNrZW5kKQorICAg
ICAgICByZXR1cm47CisKKyAgICB3aWxsQ2xlYXJCYWNrZW5kKCptX2JhY2tlbmQpOworICAgIG1f
YmFja2VuZCA9IG51bGxwdHI7Cit9CisKK3ZvaWQgUlRDUnRwVHJhbnNmb3JtOjpkZXRhY2hGcm9t
U2VuZGVyKFJUQ1J0cFNlbmRlciYpCit7CisgICAgaWYgKCFtX2JhY2tlbmQpCisgICAgICAgIHJl
dHVybjsKKworICAgIHdpbGxDbGVhckJhY2tlbmQoKm1fYmFja2VuZCk7CisgICAgbV9iYWNrZW5k
ID0gbnVsbHB0cjsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5B
QkxFKFdFQl9SVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL1JUQ1J0cFRyYW5zZm9ybS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENSdHBUcmFuc2Zvcm0uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZDM3YjY4ZThlZGIzZmE3YmNjOWRlMzA1
NDk5N2QxNGZlZGQzYjRiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9SVENSdHBUcmFuc2Zvcm0uaApAQCAtMCwwICsxLDc2IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNwcmFnbWEgb25jZQorCisj
aWYgRU5BQkxFKFdFQl9SVEMpCisKKyNpbmNsdWRlICJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmgi
CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitj
bGFzcyBSVENSdHBSZWNlaXZlcjsKK2NsYXNzIFJUQ1J0cFNlbmRlcjsKKworY2xhc3MgV0VCQ09S
RV9FWFBPUlQgUlRDUnRwVHJhbnNmb3JtIDogcHVibGljIFJlZkNvdW50ZWQ8UlRDUnRwVHJhbnNm
b3JtPiB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+UlRDUnRwVHJhbnNmb3JtKCk7CisKKyAgICBi
b29sIGlzQXR0YWNoZWQoKSBjb25zdDsKKyAgICB2b2lkIGF0dGFjaFRvUmVjZWl2ZXIoUlRDUnRw
UmVjZWl2ZXImKTsKKyAgICB2b2lkIGF0dGFjaFRvU2VuZGVyKFJUQ1J0cFNlbmRlciYpOworICAg
IHZvaWQgZGV0YWNoRnJvbVJlY2VpdmVyKFJUQ1J0cFJlY2VpdmVyJik7CisgICAgdm9pZCBkZXRh
Y2hGcm9tU2VuZGVyKFJUQ1J0cFNlbmRlciYpOworCitwcml2YXRlOgorICAgIHZpcnR1YWwgdm9p
ZCBpbml0aWFsaXplQmFja2VuZEZvclNlbmRlcihSVENSdHBUcmFuc2Zvcm1CYWNrZW5kJik7Cisg
ICAgdmlydHVhbCB2b2lkIGluaXRpYWxpemVCYWNrZW5kRm9yUmVjZWl2ZXIoUlRDUnRwVHJhbnNm
b3JtQmFja2VuZCYpOworICAgIHZpcnR1YWwgdm9pZCB3aWxsQ2xlYXJCYWNrZW5kKFJUQ1J0cFRy
YW5zZm9ybUJhY2tlbmQmKTsKKworcHJvdGVjdGVkOgorICAgIFJlZlB0cjxSVENSdHBUcmFuc2Zv
cm1CYWNrZW5kPiBtX2JhY2tlbmQ7Cit9OworCitpbmxpbmUgYm9vbCBSVENSdHBUcmFuc2Zvcm06
OmlzQXR0YWNoZWQoKSBjb25zdAoreworICAgIHJldHVybiAhIW1fYmFja2VuZDsKK30KKworaW5s
aW5lIHZvaWQgUlRDUnRwVHJhbnNmb3JtOjppbml0aWFsaXplQmFja2VuZEZvclNlbmRlcihSVENS
dHBUcmFuc2Zvcm1CYWNrZW5kJikKK3sKK30KKworaW5saW5lIHZvaWQgUlRDUnRwVHJhbnNmb3Jt
Ojppbml0aWFsaXplQmFja2VuZEZvclJlY2VpdmVyKFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQmKQor
eworfQorCitpbmxpbmUgdm9pZCBSVENSdHBUcmFuc2Zvcm06OndpbGxDbGVhckJhY2tlbmQoUlRD
UnRwVHJhbnNmb3JtQmFja2VuZCYpCit7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwor
I2VuZGlmIC8vIEVOQUJMRShXRUJfUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9SVENSdHBUcmFuc2Zvcm0uaWRsIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9SVENSdHBUcmFuc2Zvcm0uaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNlNmUzMjgx
MmJjNDNmZjFlM2Y1ZmFiMTA1MTY2NmU0ZWM0MzM1YTYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zZm9ybS5pZGwKQEAgLTAs
MCArMSwzNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
K1sKKyAgICBDb25kaXRpb25hbD1XRUJfUlRDLAorICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViUlRD
SW5zZXJ0YWJsZVN0cmVhbXMsCisgICAgRXhwb3J0TWFjcm89V0VCQ09SRV9FWFBPUlQsCisgICAg
RXhwb3NlZD1XaW5kb3cKK10gaW50ZXJmYWNlIFJUQ1J0cFRyYW5zZm9ybSB7CisgICAgLy8gRklY
TUU6IEFkZCByZWFkYWJsZS93cml0YWJsZSBnZXR0ZXJzCisgICAgLy8gcmVhZG9ubHkgYXR0cmli
dXRlIFJlYWRhYmxlU3RyZWFtIHJlYWRhYmxlOworICAgIC8vIHJlYWRvbmx5IGF0dHJpYnV0ZSBX
cml0YWJsZVN0cmVhbSB3cml0YWJsZTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuaCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNmb3JtQmFja2VuZC5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjQxMjE0OTIyMDFhZTY0NjM1Yjg4MjkzNTQ1NWU1YjhmMzczYmJjYTkKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zZm9y
bUJhY2tlbmQuaApAQCAtMCwwICsxLDUzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFw
cGxlIEluYy4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFdFQl9SVEMp
CisKKyNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitjbGFzcyBSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWU7CisKK2NsYXNzIFJUQ1J0
cFRyYW5zZm9ybUJhY2tlbmQgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8UlRDUnRwVHJh
bnNmb3JtQmFja2VuZCwgV1RGOjpEZXN0cnVjdGlvblRocmVhZDo6TWFpbj4geworcHVibGljOgor
ICAgIHZpcnR1YWwgflJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQoKSA9IGRlZmF1bHQ7CisKKyAgICB1
c2luZyBDYWxsYmFjayA9IEZ1bmN0aW9uPHZvaWQoUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lJiYp
PjsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0VHJhbnNmb3JtYWJsZUZyYW1lQ2FsbGJhY2soQ2FsbGJh
Y2smJikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBjbGVhclRyYW5zZm9ybWFibGVGcmFtZUNhbGxi
YWNrKCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBwcm9jZXNzVHJhbnNmb3JtZWRGcmFtZShSVENS
dHBUcmFuc2Zvcm1hYmxlRnJhbWUmJikgPSAwOworCisgICAgZW51bSBjbGFzcyBNZWRpYVR5cGUg
eyBBdWRpbywgVmlkZW8gfTsKKyAgICB2aXJ0dWFsIE1lZGlhVHlwZSBtZWRpYVR5cGUoKSBjb25z
dCA9IDA7CisKKyAgICBlbnVtIGNsYXNzIFNpZGUgeyBTZW5kZXIsIFJlY2VpdmVyIH07CisgICAg
dmlydHVhbCBTaWRlIHNpZGUoKSBjb25zdCA9IDA7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX1JUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZS5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjU3MjYzNjAwN2VmYzI3NmMzOTU4YzJlNzJjMzlhMjEzYzlhZjk5OTAKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0
cFRyYW5zZm9ybWFibGVGcmFtZS5oCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMjAgQXBwbGUgSW5jLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFC
TEUoV0VCX1JUQykKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBSVENSdHBUcmFuc2Zv
cm1hYmxlRnJhbWUgeworcHVibGljOgorICAgIHZpcnR1YWwgflJUQ1J0cFRyYW5zZm9ybWFibGVG
cmFtZSgpID0gZGVmYXVsdDsKKworICAgIHN0cnVjdCBEYXRhIHsKKyAgICAgICAgY29uc3QgdWlu
dDhfdCogZGF0YTsKKyAgICAgICAgc2l6ZV90IHNpemU7CisgICAgfTsKKyAgICB2aXJ0dWFsIERh
dGEgZGF0YSgpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0RGF0YShEYXRhKSA9IDA7
Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX1JU
QykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2Vi
cnRjL0xpYldlYlJUQ1J0cFJlY2VpdmVyQmFja2VuZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBSZWNlaXZlckJhY2tlbmQuY3Bw
CmluZGV4IDFkMzE2YWFmYjdmY2FkMzNlNDFjNTE2ZTUzYjA2OTg1OTg1NmNhZTAuLjlhODhkMWNk
YzBlYmIwZGM3OWIwNGNiNTFiMDRlZjZlYTBmM2U1OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFJlY2VpdmVyQmFj
a2VuZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJy
dGMvTGliV2ViUlRDUnRwUmVjZWl2ZXJCYWNrZW5kLmNwcApAQCAtMjUsNyArMjUsOSBAQAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkxpYldlYlJUQ1J0cFJlY2VpdmVyQmFja2VuZC5o
IgogCisjaW5jbHVkZSAiTGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kLmgiCiAj
aW5jbHVkZSAiTGliV2ViUlRDVXRpbHMuaCIKKyNpbmNsdWRlICJSVENSdHBUcmFuc2Zvcm1CYWNr
ZW5kLmgiCiAjaW5jbHVkZSAiUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlLmgiCiAjaW5jbHVk
ZSAiUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlLmgiCiAKQEAgLTExNCw2ICsxMTYsMTAgQEAg
UmVmPFJlYWx0aW1lTWVkaWFTb3VyY2U+IExpYldlYlJUQ1J0cFJlY2VpdmVyQmFja2VuZDo6Y3Jl
YXRlU291cmNlKCkKICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogfQogCitSZWY8
UlRDUnRwVHJhbnNmb3JtQmFja2VuZD4gTGliV2ViUlRDUnRwUmVjZWl2ZXJCYWNrZW5kOjpjcmVh
dGVSVENSdHBUcmFuc2Zvcm1CYWNrZW5kKCkKK3sKKyAgICByZXR1cm4gTGliV2ViUlRDUnRwUmVj
ZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kOjpjcmVhdGUobV9ydGNSZWNlaXZlcik7Cit9CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwUmVjZWl2ZXJCYWNrZW5kLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBSZWNl
aXZlckJhY2tlbmQuaAppbmRleCBkMDI4Nzk4YjBlNjljMTcxNDZiY2UxOGI3ZDliMDg0ZmUyNjll
ZTE4Li5iNDZjZDJhNjk4NGRlZDlkMTE5NDc1NTVkMjA1MTg3N2MxMDU4NzQwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENS
dHBSZWNlaXZlckJhY2tlbmQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBSZWNlaXZlckJhY2tlbmQuaApAQCAtNTIsNiArNTIs
NyBAQCBwcml2YXRlOgogICAgIFJUQ1J0cFBhcmFtZXRlcnMgZ2V0UGFyYW1ldGVycygpIGZpbmFs
OwogICAgIFZlY3RvcjxSVENSdHBDb250cmlidXRpbmdTb3VyY2U+IGdldENvbnRyaWJ1dGluZ1Nv
dXJjZXMoKSBjb25zdCBmaW5hbDsKICAgICBWZWN0b3I8UlRDUnRwU3luY2hyb25pemF0aW9uU291
cmNlPiBnZXRTeW5jaHJvbml6YXRpb25Tb3VyY2VzKCkgY29uc3QgZmluYWw7CisgICAgUmVmPFJU
Q1J0cFRyYW5zZm9ybUJhY2tlbmQ+IGNyZWF0ZVJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQoKSBmaW5h
bDsKIAogICAgIHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlJ0cFJlY2VpdmVySW50ZXJmYWNl
PiBtX3J0Y1JlY2VpdmVyOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2Vu
ZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJX
ZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkxZTU5NDE5
YWI3MWYwOWVkMDc2NWFlMTQ1YWNiMmJhMTVkM2RjNTEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBSZWNl
aXZlclRyYW5zZm9ybUJhY2tlbmQuY3BwCkBAIC0wLDAgKzEsNTcgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMjAgQXBwbGUgSW5jLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
I2luY2x1ZGUgIkxpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZC5oIgorCisjaWYg
RU5BQkxFKFdFQl9SVEMpICYmIFVTRShMSUJXRUJSVEMpCisKKyNpbmNsdWRlICJMaWJXZWJSVENS
dHBUcmFuc2Zvcm1hYmxlRnJhbWUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdGF0aWMg
aW5saW5lIExpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZDo6TWVkaWFUeXBlIG1l
ZGlhVHlwZUZyb21SZWNlaXZlcihjb25zdCB3ZWJydGM6OlJ0cFJlY2VpdmVySW50ZXJmYWNlJiBy
ZWNlaXZlcikKK3sKKyAgICByZXR1cm4gcmVjZWl2ZXIubWVkaWFfdHlwZSgpID09IGNyaWNrZXQ6
Ok1FRElBX1RZUEVfQVVESU8gPyBSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpNZWRpYVR5cGU6OkF1
ZGlvIDogUlRDUnRwVHJhbnNmb3JtQmFja2VuZDo6TWVkaWFUeXBlOjpWaWRlbzsKK30KKworTGli
V2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kOjpMaWJXZWJSVENSdHBSZWNlaXZlclRy
YW5zZm9ybUJhY2tlbmQocnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6UnRwUmVjZWl2ZXJJbnRl
cmZhY2U+IHJ0Y1JlY2VpdmVyKQorICAgIDogTGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZCht
ZWRpYVR5cGVGcm9tUmVjZWl2ZXIoKnJ0Y1JlY2VpdmVyKSwgU2lkZTo6UmVjZWl2ZXIpCisgICAg
LCBtX3J0Y1JlY2VpdmVyKFdURk1vdmUocnRjUmVjZWl2ZXIpKQoreworfQorCitMaWJXZWJSVENS
dHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQ6On5MaWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9y
bUJhY2tlbmQoKQoreworfQorCit2b2lkIExpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFj
a2VuZDo6c2V0VHJhbnNmb3JtYWJsZUZyYW1lQ2FsbGJhY2soQ2FsbGJhY2smJiBjYWxsYmFjaykK
K3sKKyAgICBzZXRJbnB1dENhbGxiYWNrKFdURk1vdmUoY2FsbGJhY2spKTsKKyAgICBtX3J0Y1Jl
Y2VpdmVyLT5TZXREZXBhY2tldGl6ZXJUb0RlY29kZXJGcmFtZVRyYW5zZm9ybWVyKHRoaXMpOwor
fQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX1JUQykg
JiYgVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZC5o
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRD
UnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWFlOTdmZDAxMGQ1NGQ5
YmM3YmIxYjAwMGUzZjE3OThjNTYwM2YzYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFJlY2VpdmVyVHJh
bnNmb3JtQmFja2VuZC5oCkBAIC0wLDAgKzEsNjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MjAgQXBwbGUgSW5jLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Cisg
KiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VC
X1JUQykgJiYgVVNFKExJQldFQlJUQykKKworI2luY2x1ZGUgIkxpYldlYlJUQ1J0cFRyYW5zZm9y
bUJhY2tlbmQuaCIKKworQUxMT1dfVU5VU0VEX1BBUkFNRVRFUlNfQkVHSU4KK0FMTE9XX0RFUFJF
Q0FURURfREVDTEFSQVRJT05TX0JFR0lOCisKKyNpbmNsdWRlIDx3ZWJydGMvYXBpL3J0cF9yZWNl
aXZlcl9pbnRlcmZhY2UuaD4KKworQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfRU5ECitB
TExPV19VTlVTRURfUEFSQU1FVEVSU19FTkQKKworbmFtZXNwYWNlIHdlYnJ0YyB7CitjbGFzcyBS
dHBSZWNlaXZlckludGVyZmFjZTsKK30KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBM
aWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQgZmluYWwgOiBwdWJsaWMgTGliV2Vi
UlRDUnRwVHJhbnNmb3JtQmFja2VuZCB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxMaWJXZWJS
VENSdHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQ+IGNyZWF0ZShydGM6OnNjb3BlZF9yZWZwdHI8
d2VicnRjOjpSdHBSZWNlaXZlckludGVyZmFjZT4gcmVjZWl2ZXIpIHsgcmV0dXJuIGFkb3B0UmVm
KCpuZXcgTGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kKFdURk1vdmUocmVjZWl2
ZXIpKSk7IH0KKyAgICB+TGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kKCk7CisK
K3ByaXZhdGU6CisgICAgZXhwbGljaXQgTGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNr
ZW5kKHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlJ0cFJlY2VpdmVySW50ZXJmYWNlPik7CisK
KyAgICAvLyBSVENSdHBUcmFuc2Zvcm1CYWNrZW5kCisgICAgdm9pZCBzZXRUcmFuc2Zvcm1hYmxl
RnJhbWVDYWxsYmFjayhDYWxsYmFjayYmKSBmaW5hbDsKKworICAgIHJ0Yzo6c2NvcGVkX3JlZnB0
cjx3ZWJydGM6OlJ0cFJlY2VpdmVySW50ZXJmYWNlPiBtX3J0Y1JlY2VpdmVyOworfTsKKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFdFQl9SVEMpICYmIFVTRShM
SUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBTZW5kZXJCYWNrZW5kLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFNlbmRlckJhY2tlbmQu
Y3BwCmluZGV4IDU5M2RhOTg0ZTk3OGI5ZmU3MDUxOGEzZTM5MjRlYzUyNTFlZmEyYWMuLjhlOTYx
Yzk3MmZiMGRlNDhkNzVhMGM0YWU5ZjNjYmQxYTkyMmM5YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFNlbmRlckJh
Y2tlbmQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2Vi
cnRjL0xpYldlYlJUQ1J0cFNlbmRlckJhY2tlbmQuY3BwCkBAIC0zMCw5ICszMCwxMSBAQAogI2lu
Y2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiTGliV2ViUlRDRFRNRlNl
bmRlckJhY2tlbmQuaCIKICNpbmNsdWRlICJMaWJXZWJSVENQZWVyQ29ubmVjdGlvbkJhY2tlbmQu
aCIKKyNpbmNsdWRlICJMaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kLmgiCiAjaW5j
bHVkZSAiTGliV2ViUlRDVXRpbHMuaCIKICNpbmNsdWRlICJSVENQZWVyQ29ubmVjdGlvbi5oIgog
I2luY2x1ZGUgIlJUQ1J0cFNlbmRlci5oIgorI2luY2x1ZGUgIlJUQ1J0cFRyYW5zZm9ybUJhY2tl
bmQuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKQEAgLTEzNiw2ICsxMzgsMTEgQEAgc3RkOjp1bmlxdWVfcHRyPFJUQ0RUTUZTZW5k
ZXJCYWNrZW5kPiBMaWJXZWJSVENSdHBTZW5kZXJCYWNrZW5kOjpjcmVhdGVEVE1GQmFja2UKICAg
ICByZXR1cm4gbWFrZVVuaXF1ZTxMaWJXZWJSVENEVE1GU2VuZGVyQmFja2VuZD4obV9ydGNTZW5k
ZXItPkdldER0bWZTZW5kZXIoKSk7CiB9CiAKK1JlZjxSVENSdHBUcmFuc2Zvcm1CYWNrZW5kPiBM
aWJXZWJSVENSdHBTZW5kZXJCYWNrZW5kOjpjcmVhdGVSVENSdHBUcmFuc2Zvcm1CYWNrZW5kKCkK
K3sKKyAgICByZXR1cm4gTGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZDo6Y3JlYXRl
KG1fcnRjU2VuZGVyKTsKK30KKwogUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlKiBMaWJXZWJS
VENSdHBTZW5kZXJCYWNrZW5kOjp2aWRlb1NvdXJjZSgpCiB7CiAgICAgcmV0dXJuIHN3aXRjaE9u
KG1fc291cmNlLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwU2VuZGVyQmFja2VuZC5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwU2VuZGVyQmFja2VuZC5o
CmluZGV4IGExMDQxNmQxNDA5ZmFlODAyNmRmZjRlYjU5MjU1ZDg1OTVmNzIyODIuLmQ1NmEwNTZl
MzYyYjRkNjM0OTExNjNjMTJiYmM4ZGJjY2YyOTQ3MDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFNlbmRlckJhY2tl
bmQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9M
aWJXZWJSVENSdHBTZW5kZXJCYWNrZW5kLmgKQEAgLTcwLDYgKzcwLDcgQEAgcHJpdmF0ZToKICAg
ICBSVENSdHBTZW5kUGFyYW1ldGVycyBnZXRQYXJhbWV0ZXJzKCkgY29uc3QgZmluYWw7CiAgICAg
dm9pZCBzZXRQYXJhbWV0ZXJzKGNvbnN0IFJUQ1J0cFNlbmRQYXJhbWV0ZXJzJiwgRE9NUHJvbWlz
ZURlZmVycmVkPHZvaWQ+JiYpIGZpbmFsOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxSVENEVE1GU2Vu
ZGVyQmFja2VuZD4gY3JlYXRlRFRNRkJhY2tlbmQoKSBmaW5hbDsKKyAgICBSZWY8UlRDUnRwVHJh
bnNmb3JtQmFja2VuZD4gY3JlYXRlUlRDUnRwVHJhbnNmb3JtQmFja2VuZCgpIGZpbmFsOwogCiAg
ICAgdm9pZCBzdGFydFNvdXJjZSgpOwogICAgIHZvaWQgc3RvcFNvdXJjZSgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRD
UnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kLmNw
cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi45YWY0MzlkY2ZlOGMwNzI3YTYwMjI0OGIwYzllNGY5OTM1Y2I1OGExCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3
ZWJydGMvTGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZC5jcHAKQEAgLTAsMCArMSw1
OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICog
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3Jt
QmFja2VuZC5oIgorCisjaWYgRU5BQkxFKFdFQl9SVEMpICYmIFVTRShMSUJXRUJSVEMpCisKKyNp
bmNsdWRlICJMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuaCIKKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitzdGF0aWMgaW5saW5lIExpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJhY2tl
bmQ6Ok1lZGlhVHlwZSBtZWRpYVR5cGVGcm9tU2VuZGVyKGNvbnN0IHdlYnJ0Yzo6UnRwU2VuZGVy
SW50ZXJmYWNlJiBzZW5kZXIpCit7CisgICAgcmV0dXJuIHNlbmRlci5tZWRpYV90eXBlKCkgPT0g
Y3JpY2tldDo6TUVESUFfVFlQRV9BVURJTyA/IFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6Ok1lZGlh
VHlwZTo6QXVkaW8gOiBSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpNZWRpYVR5cGU6OlZpZGVvOwor
fQorCitMaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kOjpMaWJXZWJSVENSdHBTZW5k
ZXJUcmFuc2Zvcm1CYWNrZW5kKHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlJ0cFNlbmRlcklu
dGVyZmFjZT4gcnRjU2VuZGVyKQorICAgIDogTGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZCht
ZWRpYVR5cGVGcm9tU2VuZGVyKCpydGNTZW5kZXIpLCBTaWRlOjpTZW5kZXIpCisgICAgLCBtX3J0
Y1NlbmRlcihXVEZNb3ZlKHJ0Y1NlbmRlcikpCit7Cit9CisKK0xpYldlYlJUQ1J0cFNlbmRlclRy
YW5zZm9ybUJhY2tlbmQ6On5MaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kKCkKK3sK
K30KKwordm9pZCBMaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kOjpzZXRUcmFuc2Zv
cm1hYmxlRnJhbWVDYWxsYmFjayhDYWxsYmFjayYmIGNhbGxiYWNrKQoreworICAgIHNldElucHV0
Q2FsbGJhY2soV1RGTW92ZShjYWxsYmFjaykpOworICAgIG1fcnRjU2VuZGVyLT5TZXRFbmNvZGVy
VG9QYWNrZXRpemVyRnJhbWVUcmFuc2Zvcm1lcih0aGlzKTsKK30KKworCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX1JUQykgJiYgVVNFKExJQldFQlJUQykK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRj
L0xpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQuaCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJh
Y2tlbmQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5iNjYwOWI3ZDFkZjlhOTcwYTdhYTU4ODRjMGUxNTM2NDJjODQ2
YzJhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZC5oCkBAIC0wLDAg
KzEsNjQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisg
KiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04K
KyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCX1JUQykgJiYgVVNFKExJQldFQlJUQykK
KworI2luY2x1ZGUgIkxpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuaCIKKworQUxMT1dfVU5V
U0VEX1BBUkFNRVRFUlNfQkVHSU4KK0FMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0JFR0lO
CisKKyNpbmNsdWRlIDx3ZWJydGMvYXBpL3J0cF9zZW5kZXJfaW50ZXJmYWNlLmg+CisKK0FMTE9X
X0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0VORAorQUxMT1dfVU5VU0VEX1BBUkFNRVRFUlNfRU5E
CisKK25hbWVzcGFjZSB3ZWJydGMgeworY2xhc3MgUnRwU2VuZGVySW50ZXJmYWNlOworfQorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIExpYldlYlJUQ1NlbmRlclRyYW5zZm9ybWVyOwor
CitjbGFzcyBMaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kIGZpbmFsIDogcHVibGlj
IExpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOworcHVibGljOgorICAgIHN0YXRpYyBSZWY8TGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3Jt
QmFja2VuZD4gY3JlYXRlKHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlJ0cFNlbmRlckludGVy
ZmFjZT4gc2VuZGVyKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IExpYldlYlJUQ1J0cFNlbmRlclRy
YW5zZm9ybUJhY2tlbmQoV1RGTW92ZShzZW5kZXIpKSk7IH0KKyAgICB+TGliV2ViUlRDUnRwU2Vu
ZGVyVHJhbnNmb3JtQmFja2VuZCgpOworCitwcml2YXRlOgorICAgIGV4cGxpY2l0IExpYldlYlJU
Q1J0cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQocnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6UnRw
U2VuZGVySW50ZXJmYWNlPik7CisKKyAgICAvLyBSVENSdHBUcmFuc2Zvcm1CYWNrZW5kCisgICAg
dm9pZCBzZXRUcmFuc2Zvcm1hYmxlRnJhbWVDYWxsYmFjayhDYWxsYmFjayYmKSBmaW5hbDsKKwor
ICAgIHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlJ0cFNlbmRlckludGVyZmFjZT4gbV9ydGNT
ZW5kZXI7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUo
V0VCX1JUQykgJiYgVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2Vi
UlRDUnRwVHJhbnNmb3JtQmFja2VuZC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDE2MmQzMGQxZmRkMzAyYTNi
NWMzZWRiMzhkY2NiOWVlZTEzMzEwNAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tl
bmQuY3BwCkBAIC0wLDAgKzEsOTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUg
SW5jLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkK
KyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkxpYldlYlJU
Q1J0cFRyYW5zZm9ybUJhY2tlbmQuaCIKKworI2lmIEVOQUJMRShXRUJfUlRDKSAmJiBVU0UoTElC
V0VCUlRDKQorCisjaW5jbHVkZSAiTGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmgiCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKwordm9pZCBMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5k
OjpzZXRJbnB1dENhbGxiYWNrKENhbGxiYWNrJiYgY2FsbGJhY2spCit7CisgICAgQVNTRVJUKGlz
TWFpblRocmVhZCgpKTsKKyAgICBhdXRvIGxvY2tlciA9IGhvbGRMb2NrKG1faW5wdXRDYWxsYmFj
a0xvY2spOworICAgIG1faW5wdXRDYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spOworfQorCit2
b2lkIExpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6OmNsZWFyVHJhbnNmb3JtYWJsZUZyYW1l
Q2FsbGJhY2soKQoreworICAgIHNldElucHV0Q2FsbGJhY2soeyB9KTsKK30KKwordm9pZCBMaWJX
ZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpzZXRPdXRwdXRDYWxsYmFjayhydGM6OnNjb3BlZF9y
ZWZwdHI8d2VicnRjOjpUcmFuc2Zvcm1lZEZyYW1lQ2FsbGJhY2s+JiYgY2FsbGJhY2spCit7Cisg
ICAgYXV0byBsb2NrZXIgPSBob2xkTG9jayhtX291dHB1dENhbGxiYWNrTG9jayk7CisgICAgbV9v
dXRwdXRDYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spOworfQorCit2b2lkIExpYldlYlJUQ1J0
cFRyYW5zZm9ybUJhY2tlbmQ6OnByb2Nlc3NUcmFuc2Zvcm1lZEZyYW1lKFJUQ1J0cFRyYW5zZm9y
bWFibGVGcmFtZSYmIGZyYW1lKQoreworICAgIGF1dG8gbG9ja2VyID0gaG9sZExvY2sobV9vdXRw
dXRDYWxsYmFja0xvY2spOworICAgIGlmIChtX291dHB1dENhbGxiYWNrKQorICAgICAgICBtX291
dHB1dENhbGxiYWNrLT5PblRyYW5zZm9ybWVkRnJhbWUoTGliV2ViUlRDUnRwVHJhbnNmb3JtYWJs
ZUZyYW1lOjp0b1JUQ0ZyYW1lKFdURk1vdmUoc3RhdGljX2Nhc3Q8TGliV2ViUlRDUnRwVHJhbnNm
b3JtYWJsZUZyYW1lJj4oZnJhbWUpKSkpOworfQorCit2b2lkIExpYldlYlJUQ1J0cFRyYW5zZm9y
bUJhY2tlbmQ6OlRyYW5zZm9ybShzdGQ6OnVuaXF1ZV9wdHI8d2VicnRjOjpUcmFuc2Zvcm1hYmxl
RnJhbWVJbnRlcmZhY2U+IHJ0Y0ZyYW1lKQoreworICAgIHsKKyAgICAgICAgYXV0byBsb2NrZXIg
PSBob2xkTG9jayhtX2lucHV0Q2FsbGJhY2tMb2NrKTsKKyAgICAgICAgaWYgKG1faW5wdXRDYWxs
YmFjaykgeworICAgICAgICAgICAgbV9pbnB1dENhbGxiYWNrKExpYldlYlJUQ1J0cFRyYW5zZm9y
bWFibGVGcmFtZShXVEZNb3ZlKHJ0Y0ZyYW1lKSkpOworICAgICAgICAgICAgcmV0dXJuOworICAg
ICAgICB9CisgICAgfQorICAgIC8vIEluIGNhc2Ugb2Ygbm8gaW5wdXQgY2FsbGJhY2ssIG1ha2Ug
dGhlIHRyYW5zZm9ybSBhIG5vLW9wLgorICAgIGF1dG8gbG9ja2VyID0gaG9sZExvY2sobV9vdXRw
dXRDYWxsYmFja0xvY2spOworICAgIGlmIChtX291dHB1dENhbGxiYWNrKQorICAgICAgICBtX291
dHB1dENhbGxiYWNrLT5PblRyYW5zZm9ybWVkRnJhbWUoV1RGTW92ZShydGNGcmFtZSkpOworfQor
Cit2b2lkIExpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6OlJlZ2lzdGVyVHJhbnNmb3JtZWRG
cmFtZUNhbGxiYWNrKHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlRyYW5zZm9ybWVkRnJhbWVD
YWxsYmFjaz4gY2FsbGJhY2spCit7CisgICAgc2V0T3V0cHV0Q2FsbGJhY2soV1RGTW92ZShjYWxs
YmFjaykpOworfQorCit2b2lkIExpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6OlJlZ2lzdGVy
VHJhbnNmb3JtZWRGcmFtZVNpbmtDYWxsYmFjayhydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpU
cmFuc2Zvcm1lZEZyYW1lQ2FsbGJhY2s+IGNhbGxiYWNrLCB1aW50MzJfdCAvKiBzc3JjICovKQor
eworICAgIFJlZ2lzdGVyVHJhbnNmb3JtZWRGcmFtZUNhbGxiYWNrKFdURk1vdmUoY2FsbGJhY2sp
KTsKK30KKwordm9pZCBMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpVbnJlZ2lzdGVyVHJh
bnNmb3JtZWRGcmFtZUNhbGxiYWNrKCkKK3sKKyAgICBzZXRPdXRwdXRDYWxsYmFjayhudWxscHRy
KTsKK30KKwordm9pZCBMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpVbnJlZ2lzdGVyVHJh
bnNmb3JtZWRGcmFtZVNpbmtDYWxsYmFjayh1aW50MzJfdCAvKiBzc3JjICovKQoreworICAgIFVu
cmVnaXN0ZXJUcmFuc2Zvcm1lZEZyYW1lQ2FsbGJhY2soKTsKK30KKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFdFQl9SVEMpICYmIFVTRShMSUJXRUJSVEMpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9M
aWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjE1OGM2NGJiNjExNDBjNGUyY2ViNDdhMTcwMzQwOTVmNmI0ZTk5MAotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xp
YldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuaApAQCAtMCwwICsxLDkxIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICog
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisj
aWYgRU5BQkxFKFdFQl9SVEMpICYmIFVTRShMSUJXRUJSVEMpCisKKyNpbmNsdWRlICJMaWJXZWJS
VENNYWNyb3MuaCIKKyNpbmNsdWRlICJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmgiCisjaW5jbHVk
ZSA8d2VicnRjL2FwaS9zY29wZWRfcmVmcHRyLmg+CisjaW5jbHVkZSA8d3RmL0xvY2suaD4KKwor
QUxMT1dfVU5VU0VEX1BBUkFNRVRFUlNfQkVHSU4KK0FMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJ
T05TX0JFR0lOCisKKyNpbmNsdWRlIDx3ZWJydGMvYXBpL2ZyYW1lX3RyYW5zZm9ybWVyX2ludGVy
ZmFjZS5oPgorCitBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19FTkQKK0FMTE9XX1VOVVNF
RF9QQVJBTUVURVJTX0VORAorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIExpYldlYlJU
Q1J0cFRyYW5zZm9ybUJhY2tlbmQgOiBwdWJsaWMgUlRDUnRwVHJhbnNmb3JtQmFja2VuZCwgcHVi
bGljIHdlYnJ0Yzo6RnJhbWVUcmFuc2Zvcm1lckludGVyZmFjZSB7Citwcm90ZWN0ZWQ6CisgICAg
TGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZChNZWRpYVR5cGUsIFNpZGUpOworICAgIHZvaWQg
c2V0SW5wdXRDYWxsYmFjayhDYWxsYmFjayYmKTsKKworcHJpdmF0ZToKKyAgICB2b2lkIHNldE91
dHB1dENhbGxiYWNrKHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlRyYW5zZm9ybWVkRnJhbWVD
YWxsYmFjaz4mJik7CisKKyAgICAvLyBSVENSdHBUcmFuc2Zvcm1CYWNrZW5kCisgICAgdm9pZCBw
cm9jZXNzVHJhbnNmb3JtZWRGcmFtZShSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUmJikgZmluYWw7
CisgICAgdm9pZCBjbGVhclRyYW5zZm9ybWFibGVGcmFtZUNhbGxiYWNrKCkgZmluYWw7CisgICAg
TWVkaWFUeXBlIG1lZGlhVHlwZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fbWVkaWFUeXBlOyB9
CisgICAgU2lkZSBzaWRlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9zaWRlOyB9CisKKyAgICAv
LyB3ZWJydGM6OkZyYW1lVHJhbnNmb3JtZXJJbnRlcmZhY2UKKyAgICB2b2lkIFRyYW5zZm9ybShz
dGQ6OnVuaXF1ZV9wdHI8d2VicnRjOjpUcmFuc2Zvcm1hYmxlRnJhbWVJbnRlcmZhY2U+KSBmaW5h
bDsKKyAgICB2b2lkIFJlZ2lzdGVyVHJhbnNmb3JtZWRGcmFtZUNhbGxiYWNrKHJ0Yzo6c2NvcGVk
X3JlZnB0cjx3ZWJydGM6OlRyYW5zZm9ybWVkRnJhbWVDYWxsYmFjaz4pIGZpbmFsOworICAgIHZv
aWQgUmVnaXN0ZXJUcmFuc2Zvcm1lZEZyYW1lU2lua0NhbGxiYWNrKHJ0Yzo6c2NvcGVkX3JlZnB0
cjx3ZWJydGM6OlRyYW5zZm9ybWVkRnJhbWVDYWxsYmFjaz4sIHVpbnQzMl90IHNzcmMpIGZpbmFs
OworICAgIHZvaWQgVW5yZWdpc3RlclRyYW5zZm9ybWVkRnJhbWVDYWxsYmFjaygpIGZpbmFsOwor
ICAgIHZvaWQgVW5yZWdpc3RlclRyYW5zZm9ybWVkRnJhbWVTaW5rQ2FsbGJhY2sodWludDMyX3Qg
c3NyYykgZmluYWw7CisgICAgdm9pZCBBZGRSZWYoKSBjb25zdCBmaW5hbCB7IHJlZigpOyB9Cisg
ICAgcnRjOjpSZWZDb3VudFJlbGVhc2VTdGF0dXMgUmVsZWFzZSgpIGNvbnN0IGZpbmFsOworCisg
ICAgTWVkaWFUeXBlIG1fbWVkaWFUeXBlOworICAgIFNpZGUgbV9zaWRlOworCisgICAgTG9jayBt
X2lucHV0Q2FsbGJhY2tMb2NrOworICAgIENhbGxiYWNrIG1faW5wdXRDYWxsYmFjazsKKworICAg
IExvY2sgbV9vdXRwdXRDYWxsYmFja0xvY2s7CisgICAgcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0
Yzo6VHJhbnNmb3JtZWRGcmFtZUNhbGxiYWNrPiBtX291dHB1dENhbGxiYWNrOworfTsKKworaW5s
aW5lIExpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6OkxpYldlYlJUQ1J0cFRyYW5zZm9ybUJh
Y2tlbmQoTWVkaWFUeXBlIG1lZGlhVHlwZSwgU2lkZSBzaWRlKQorICAgIDogbV9tZWRpYVR5cGUo
bWVkaWFUeXBlKQorICAgICwgbV9zaWRlKHNpZGUpCit7Cit9CisKK2lubGluZSBydGM6OlJlZkNv
dW50UmVsZWFzZVN0YXR1cyBMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpSZWxlYXNlKCkg
Y29uc3QKK3sKKyAgICBkZXJlZigpOworICAgIHJldHVybiBydGM6OlJlZkNvdW50UmVsZWFzZVN0
YXR1czo6a090aGVyUmVmc1JlbWFpbmVkOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZiAvLyBFTkFCTEUoV0VCX1JUQykgJiYgVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0
cFRyYW5zZm9ybWFibGVGcmFtZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NjI4NjMyYzZlMTdiMTFmZjc4Y2UyMzUxMTk3ZmZhMGUzYTQ3ZjE0ZgotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJU
Q1J0cFRyYW5zZm9ybWFibGVGcmFtZS5oCkBAIC0wLDAgKzEsNjYgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMjAgQXBwbGUgSW5jLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBF
TkFCTEUoV0VCX1JUQykKKworI2luY2x1ZGUgIlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZS5oIgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIExpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVG
cmFtZSBmaW5hbCA6IHB1YmxpYyBSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUgeworICAgIFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgorICAgIGV4cGxpY2l0IExpYldlYlJUQ1J0cFRy
YW5zZm9ybWFibGVGcmFtZShzdGQ6OnVuaXF1ZV9wdHI8d2VicnRjOjpUcmFuc2Zvcm1hYmxlRnJh
bWVJbnRlcmZhY2U+JiYpOworICAgIHZpcnR1YWwgfkxpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVG
cmFtZSgpID0gZGVmYXVsdDsKKworICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8d2VicnRjOjpU
cmFuc2Zvcm1hYmxlRnJhbWVJbnRlcmZhY2U+IHRvUlRDRnJhbWUoTGliV2ViUlRDUnRwVHJhbnNm
b3JtYWJsZUZyYW1lJiYpOworCitwcml2YXRlOgorICAgIERhdGEgZGF0YSgpIGNvbnN0IGZpbmFs
OworICAgIHZvaWQgc2V0RGF0YShEYXRhIGRhdGEpIGZpbmFsIHsgbV9ydGNGcmFtZS0+U2V0RGF0
YSh7IGRhdGEuZGF0YSwgZGF0YS5zaXplIH0pOyB9CisKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8d2Vi
cnRjOjpUcmFuc2Zvcm1hYmxlRnJhbWVJbnRlcmZhY2U+IG1fcnRjRnJhbWU7Cit9OworCitpbmxp
bmUgTGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lOjpMaWJXZWJSVENSdHBUcmFuc2Zvcm1h
YmxlRnJhbWUoc3RkOjp1bmlxdWVfcHRyPHdlYnJ0Yzo6VHJhbnNmb3JtYWJsZUZyYW1lSW50ZXJm
YWNlPiYmIGZyYW1lKQorICAgIDogbV9ydGNGcmFtZShXVEZNb3ZlKGZyYW1lKSkKK3sKK30KKwor
aW5saW5lIHN0ZDo6dW5pcXVlX3B0cjx3ZWJydGM6OlRyYW5zZm9ybWFibGVGcmFtZUludGVyZmFj
ZT4gTGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lOjp0b1JUQ0ZyYW1lKExpYldlYlJUQ1J0
cFRyYW5zZm9ybWFibGVGcmFtZSYmIGZyYW1lKQoreworICAgIHJldHVybiBXVEZNb3ZlKGZyYW1l
Lm1fcnRjRnJhbWUpOworfQorCitpbmxpbmUgUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lOjpEYXRh
IExpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZTo6ZGF0YSgpIGNvbnN0Cit7CisgICAgYXV0
byBkYXRhID0gbV9ydGNGcmFtZS0+R2V0RGF0YSgpOworICAgIHJldHVybiB7IGRhdGEuYmVnaW4o
KSwgZGF0YS5zaXplKCkgfTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYg
Ly8gRU5BQkxFKFdFQl9SVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4
dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IGY5NWFmZjY3Yzk0NTYzNDI2MmFj
MzlhMWIzOWM4MDQxNzk0YzQ2ZGIuLjY0YTVkNWQ0ZDQ3MDY0NjkzYzA1ZmY4NzIxZWM1ZTM3YjA1
Mzk1NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0xNjQsMTIgKzE2NCwxNiBAQCBNb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmNwcAogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVy
Q29ubmVjdGlvbkljZUV2ZW50LmNwcAogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZl
ci5jcHAKIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyLmNwcAorTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENSdHBUcmFuc2Zvcm0uY3BwCiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRy
YW5zY2VpdmVyLmNwcAogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb24u
Y3BwCiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1RyYWNrRXZlbnQuY3BwCiBNb2R1bGVzL21lZGlh
c3RyZWFtL1VzZXJNZWRpYUNvbnRyb2xsZXIuY3BwCiBNb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJN
ZWRpYVJlcXVlc3QuY3BwCiBNb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVEND
ZXJ0aWZpY2F0ZUdlbmVyYXRvci5jcHAKK01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xp
YldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZC5jcHAKK01vZHVsZXMvbWVkaWFzdHJl
YW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQuY3BwCitNb2R1
bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmNw
cAogTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAKIE1vZHVsZXMvbm90aWZp
Y2F0aW9ucy9Ob3RpZmljYXRpb25Db250cm9sbGVyLmNwcAogTW9kdWxlcy9wYXltZW50cmVxdWVz
dC9NZXJjaGFudFZhbGlkYXRpb25FdmVudC5jcHAKQEAgLTMzMjAsNiArMzMyNCw3IEBAIEpTUlRD
UnRwU2VuZGVyLmNwcAogSlNSVENSdHBTeW5jaHJvbml6YXRpb25Tb3VyY2UuY3BwCiBKU1JUQ1J0
cFRyYW5zY2VpdmVyLmNwcAogSlNSVENSdHBUcmFuc2NlaXZlckRpcmVjdGlvbi5jcHAKK0pTUlRD
UnRwVHJhbnNmb3JtLmNwcAogSlNSVENTZHBUeXBlLmNwcAogSlNSVENTZXNzaW9uRGVzY3JpcHRp
b24uY3BwCiBKU1JUQ1Nlc3Npb25EZXNjcmlwdGlvbkluaXQuY3BwCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYmI4MjQ4NmZiOTRl
NjVjNzk1YTY3Nzc2NmFkZjEzNDE4ZjlmZTczZi4uYzk4ZDE2YTkxYjhjMWNkMDRmNzBhZGNlZTZm
ZGRmZWE0ZDkxNGQwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagpAQCAtMTA0Nyw2ICsxMDQ3LDkgQEAKIAkJNDEzOEY4NTgxRDI1M0Yw
RTAwMUNCNjFFIC8qIEpTRE9NSXRlcmF0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQxMzhGODU2MUQyNTNFRUUwMDFDQjYxRSAvKiBKU0RPTUl0ZXJh
dG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
NDEzQTFBQTIyMzcxQThCNDAwN0VGM0E1IC8qIEpTRE9NU2V0TGlrZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzQTFBOUYyMzcxQThBODAwN0VGM0E1
IC8qIEpTRE9NU2V0TGlrZS5oICovOyB9OwogCQk0MTNDMkMzNDFCQzI5QThGMDA3NTIwNEMgLyog
SlNET01Db25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNDEzQzJDMzMxQkMyOUE3QjAwNzUyMDRDIC8qIEpTRE9NQ29uc3RydWN0b3IuaCAq
LzsgfTsKKwkJNDEzQzhCMzMyNTUyRjI3RDAwRTY1MDU1IC8qIFJUQ1J0cFNlbmRlcldpdGhUcmFu
c2Zvcm0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQx
M0M4QjJFMjU1MkYyN0IwMEU2NTA1NSAvKiBSVENSdHBTZW5kZXJXaXRoVHJhbnNmb3JtLmggKi87
IH07CisJCTQxM0M4QjM0MjU1MkYyN0QwMEU2NTA1NSAvKiBSVENSdHBUcmFuc2Zvcm0uaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxM0M4QjJGMjU1MkYy
N0IwMEU2NTA1NSAvKiBSVENSdHBUcmFuc2Zvcm0uaCAqLzsgfTsKKwkJNDEzQzhCMzUyNTUyRjI3
RDAwRTY1MDU1IC8qIFJUQ1J0cFJlY2VpdmVyV2l0aFRyYW5zZm9ybS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzQzhCMzAyNTUyRjI3QzAwRTY1MDU1
IC8qIFJUQ1J0cFJlY2VpdmVyV2l0aFRyYW5zZm9ybS5oICovOyB9OwogCQk0MTNDQ0Q0QTIwREUw
MzRGMDA2NUEyMUEgLyogTW9ja01lZGlhRGV2aWNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTNDQ0Q0ODIwREUwMTNDMDA2NUEyMUEgLyogTW9ja01l
ZGlhRGV2aWNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJNDEzRTAwNzkxREIwRTRGMjAwMjM0MUQyIC8qIE1lbW9yeVJlbGVhc2UuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxM0UwMDc4MURCMEU0REUw
MDIzNDFEMiAvKiBNZW1vcnlSZWxlYXNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDE0NDYwQTIyNDEyOTk0NTAwODE0QkU3IC8qIE1lZGlhU2Vz
c2lvbklkZW50aWZpZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQxNDQ2MEEwMjQxMjk5NDEwMDgxNEJFNyAvKiBNZWRpYVNlc3Npb25JZGVudGlmaWVy
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTEw
OTksNiArMTEwMiwxMyBAQAogCQk0MTdGN0FFRjIxMzlCRjZGMDBGQkE3RUMgLyogTWVkaWFTZXNz
aW9uTWFuYWdlckNvY29hLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0MTdGN0FFRDIxMzlCRjY1MDBGQkE3RUMgLyogTWVkaWFTZXNzaW9uTWFuYWdlckNv
Y29hLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
NDE4MTVDMUUxMzgzMTk4MzAwNTdBQUE0IC8qIFdlYkNvcmVUZXN0U3VwcG9ydC5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTgxNUMxQzEzODMxOTgz
MDA1N0FBQTQgLyogV2ViQ29yZVRlc3RTdXBwb3J0LmNwcCAqLzsgfTsKIAkJNDE4MTVDMUYxMzgz
MTk4MzAwNTdBQUE0IC8qIFdlYkNvcmVUZXN0U3VwcG9ydC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE4MTVDMUQxMzgzMTk4MzAwNTdBQUE0IC8qIFdl
YkNvcmVUZXN0U3VwcG9ydC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CisJCTQxODFDNUM5MjU1NTczREYwMEFFQjBGRiAvKiBSVENSdHBUcmFuc2Zvcm1C
YWNrZW5kLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
MTgxQzVDODI1NTU3M0RGMDBBRUIwRkYgLyogUlRDUnRwVHJhbnNmb3JtQmFja2VuZC5oICovOyB9
OworCQk0MTgxQzVDQjI1NTU4MkU0MDBBRUIwRkYgLyogUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1l
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTgxQzVD
QTI1NTU4MkUzMDBBRUIwRkYgLyogUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmggKi87IH07CisJ
CTQxODFDNUNEMjU1NTgzNjkwMEFFQjBGRiAvKiBMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJh
bWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxODFD
NUNDMjU1NTgzNjgwMEFFQjBGRiAvKiBMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuaCAq
LzsgfTsKKwkJNDE4MUM1RDEyNTU1ODk1NjAwQUVCMEZGIC8qIExpYldlYlJUQ1J0cFRyYW5zZm9y
bUJhY2tlbmQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQxODFDNUNGMjU1NTg5NTYwMEFFQjBGRiAvKiBMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5k
LmggKi87IH07CisJCTQxODFDNUQ2MjU1NUMxQjkwMEFFQjBGRiAvKiBNb2NrUlRDUnRwVHJhbnNm
b3JtLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTgx
QzVENTI1NTVDMUI5MDBBRUIwRkYgLyogTW9ja1JUQ1J0cFRyYW5zZm9ybS5oICovOyB9OworCQk0
MTgxQzVENzI1NTVDNDlBMDBBRUIwRkYgLyogTW9ja1JUQ1J0cFRyYW5zZm9ybS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTgxQzVEMzI1NTVDMUIx
MDBBRUIwRkYgLyogTW9ja1JUQ1J0cFRyYW5zZm9ybS5jcHAgKi87IH07CisJCTQxODFDNjM5MjU1
QUU5MEYwMEFFQjBGRiAvKiBKU01vY2tSVENSdHBUcmFuc2Zvcm0uY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ2RjNFOTIxQzFGODU1NTAwNjFEQkU0
IC8qIEpTTW9ja1JUQ1J0cFRyYW5zZm9ybS5jcHAgKi87IH07CiAJCTQxODIwNTQ3MUU1M0U5OEMw
MEQ2MjIwNyAvKiBSVENDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0MTgyMDU0NTFFNTNDOENEMDBENjIyMDcgLyogUlRDQ29udHJvbGxl
ci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQx
ODI2QkYyMjNGQjU5NzcwMEI5MjJCMSAvKiBEb2N1bWVudElkZW50aWZpZXIuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxODI2QkYxMjNGQjU5NzAwMEI5
MjJCMSAvKiBEb2N1bWVudElkZW50aWZpZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQk0MTg0RjUxNjFFQUYwNUE4MDBGMThCRjAgLyogT3JpZW50
YXRpb25Ob3RpZmllci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDE4NEY1MTUxRUFGMDU5ODAwRjE4QkYwIC8qIE9yaWVudGF0aW9uTm90aWZpZXIuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtNzAzMyw2
ICs3MDQzLDcgQEAKIAkJMkQ2RjNFOTIxQzFGODU1NTAwNjFEQkQ0IC8qIEpTTW9ja1BhZ2VPdmVy
bGF5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTW9ja1BhZ2VP
dmVybGF5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQ2RjNFOTIxQzFGODU1
NTAwNjFEQkQ1IC8qIEpTSW50ZXJuYWxzU2V0TGlrZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBKU0ludGVybmFsc1NldExpa2UuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkyRDZGM0U5MjFDMUY4NTU1MDA2MURCRDYgLyogSlNJbnRlcm5hbHNNYXBM
aWtlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTSW50ZXJuYWxz
TWFwTGlrZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJENkYzRTkyMUMxRjg1
NTUwMDYxREJFNCAvKiBKU01vY2tSVENSdHBUcmFuc2Zvcm0uY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSlNNb2NrUlRDUnRwVHJhbnNmb3JtLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQ2RjNFOTMxQzFGODU1NTAwNjFEQkQ0IC8qIEpTTW9ja1Bh
Z2VPdmVybGF5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTTW9ja1BhZ2VP
dmVybGF5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJENzBCQTEyMTgwNzREREYw
MDAxOTA4QSAvKiBQbGF0Zm9ybUNBTGF5ZXJDb2NvYS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBQbGF0Zm9ybUNBTGF5ZXJDb2NvYS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkyRDcwQkExNDE4MDc0Rjg1MDAwMTkwOEEgLyogUGxhdGZvcm1DQUxheWVyLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBsYXRmb3JtQ0FMYXllci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03NTYyLDYgKzc1NzMsMTIgQEAKIAkJNDEz
QTFBOUYyMzcxQThBODAwN0VGM0E1IC8qIEpTRE9NU2V0TGlrZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBK
U0RPTVNldExpa2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEzQTFBQTEyMzcx
QThBOTAwN0VGM0E1IC8qIEpTRE9NU2V0TGlrZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0RP
TVNldExpa2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTNDMkMzMzFCQzI5
QTdCMDA3NTIwNEMgLyogSlNET01Db25zdHJ1Y3Rvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBKU0RPTUNvbnN0cnVjdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTQxM0M4QjI0MjU1MkVFQTkwMEU2NTA1NSAvKiBSVENSdHBSZWNlaXZlcitUcmFuc2Zvcm0u
aWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9ICJSVENSdHBSZWNlaXZlcitUcmFuc2Zvcm0uaWRs
Ijsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDEzQzhCMjYyNTUyRUVBOTAwRTY1MDU1
IC8qIFJUQ1J0cFNlbmRlcitUcmFuc2Zvcm0uaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9ICJS
VENSdHBTZW5kZXIrVHJhbnNmb3JtLmlkbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTQxM0M4QjI5MjU1MkYwMTMwMEU2NTA1NSAvKiBSVENSdHBUcmFuc2Zvcm0uaWRsICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dDsgcGF0aCA9IFJUQ1J0cFRyYW5zZm9ybS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTQxM0M4QjJFMjU1MkYyN0IwMEU2NTA1NSAvKiBSVENSdHBTZW5kZXJXaXRoVHJh
bnNmb3JtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJUQ1J0cFNlbmRlcldp
dGhUcmFuc2Zvcm0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDEzQzhCMkYyNTUy
RjI3QjAwRTY1MDU1IC8qIFJUQ1J0cFRyYW5zZm9ybS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBSVENSdHBUcmFuc2Zvcm0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJNDEzQzhCMzAyNTUyRjI3QzAwRTY1MDU1IC8qIFJUQ1J0cFJlY2VpdmVyV2l0aFRyYW5zZm9y
bS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSVENSdHBSZWNlaXZlcldpdGhU
cmFuc2Zvcm0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEzQ0NENDgyMERFMDEz
QzAwNjVBMjFBIC8qIE1vY2tNZWRpYURldmljZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBNb2NrTWVkaWFEZXZpY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NDEzRTAwNzcxREIwRTRERTAwMjM0MUQyIC8qIE1lbW9yeVJlbGVhc2UuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWVtb3J5UmVsZWFzZS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTQxM0UwMDc4MURCMEU0REUwMDIzNDFEMiAvKiBNZW1vcnlSZWxl
YXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lbW9yeVJlbGVhc2UuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTc2NzIsNiArNzY4OSwxOSBAQAogCQk0MTgx
NUMxQzEzODMxOTgzMDA1N0FBQTQgLyogV2ViQ29yZVRlc3RTdXBwb3J0LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkNvcmVUZXN0U3VwcG9ydC5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxODE1QzFEMTM4MzE5ODMwMDU3QUFBNCAvKiBXZWJD
b3JlVGVzdFN1cHBvcnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQ29y
ZVRlc3RTdXBwb3J0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxODE3MDdEMTM4
NkVERjIwMDU3QUFBNCAvKiBXZWJDb3JlVGVzdFN1cHBvcnQueGNjb25maWcgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0LnhjY29uZmlnOyBwYXRoID0gV2ViQ29yZVRlc3RTdXBwb3J0LnhjY29uZmlnOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk0MTgxQzVCRTI1NTNFQjZFMDBBRUIwRkYgLyogTGliV2Vi
UlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBMaWJXZWJSVENS
dHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kLmg7IHBhdGggPSBsaWJ3ZWJydGMvTGliV2ViUlRDUnRw
U2VuZGVyVHJhbnNmb3JtQmFja2VuZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0
MTgxQzVDMDI1NTNFQjZFMDBBRUIwRkYgLyogTGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1C
YWNrZW5kLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IExpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNm
b3JtQmFja2VuZC5jcHA7IHBhdGggPSBsaWJ3ZWJydGMvTGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFu
c2Zvcm1CYWNrZW5kLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE4MUM1QzEy
NTUzRUI2RTAwQUVCMEZGIC8qIExpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBuYW1lID0gTGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZC5j
cHA7IHBhdGggPSBsaWJ3ZWJydGMvTGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZC5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxODFDNUMyMjU1M0VCNkYwMEFFQjBG
RiAvKiBMaWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1l
ID0gTGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kLmg7IHBhdGggPSBsaWJ3ZWJy
dGMvTGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTQxODFDNUM2MjU1NTczNTEwMEFFQjBGRiAvKiBSVENSdHBUcmFuc2Zv
cm0uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUlRDUnRwVHJhbnNm
b3JtLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE4MUM1QzgyNTU1NzNERjAw
QUVCMEZGIC8qIFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gUlRDUnRwVHJhbnNmb3JtQmFja2VuZC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk0MTgxQzVDQTI1NTU4MkUzMDBBRUIwRkYgLyogUlRDUnRwVHJhbnNmb3JtYWJs
ZUZyYW1lLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJUQ1J0cFRyYW5zZm9y
bWFibGVGcmFtZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTgxQzVDQzI1NTU4
MzY4MDBBRUIwRkYgLyogTGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IExpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZS5o
OyBwYXRoID0gbGlid2VicnRjL0xpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTgxQzVDRTI1NTU4OTU1MDBBRUIwRkYgLyogTGli
V2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IG5hbWUgPSBMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmNwcDsgcGF0aCA9IGxpYndl
YnJ0Yy9MaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJNDE4MUM1Q0YyNTU1ODk1NjAwQUVCMEZGIC8qIExpYldlYlJUQ1J0cFRyYW5z
Zm9ybUJhY2tlbmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTGliV2ViUlRD
UnRwVHJhbnNmb3JtQmFja2VuZC5oOyBwYXRoID0gbGlid2VicnRjL0xpYldlYlJUQ1J0cFRyYW5z
Zm9ybUJhY2tlbmQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE4MUM1RDMyNTU1
QzFCMTAwQUVCMEZGIC8qIE1vY2tSVENSdHBUcmFuc2Zvcm0uY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gTW9ja1JUQ1J0cFRyYW5zZm9ybS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTQxODFDNUQ1MjU1NUMxQjkwMEFFQjBGRiAvKiBNb2NrUlRDUnRw
VHJhbnNmb3JtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1vY2tSVENSdHBU
cmFuc2Zvcm0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE4MUM2MzYyNTVBRTI2
MTAwQUVCMEZGIC8qIE1vY2tSVENSdHBUcmFuc2Zvcm0uaWRsICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE1vY2tSVENSdHBUcmFu
c2Zvcm0uaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTgyMDU0NTFFNTNDOENE
MDBENjIyMDcgLyogUlRDQ29udHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBSVENDb250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxODIw
NTQ4MUU1M0VBQUQwMEQ2MjIwNyAvKiBSVENDb250cm9sbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJUQ0NvbnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk0MTgyNkJGMTIzRkI1OTcwMDBCOTIyQjEgLyogRG9jdW1lbnRJZGVudGlm
aWVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERvY3VtZW50SWRlbnRpZmll
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTcwNDMsMTYgKzE3MDczLDIwIEBA
CiAJCQkJNDFFNTk0MDAyMTQ4NjVBQTAwRDNDQjYxIC8qIFJUQ1J0cEhlYWRlckV4dGVuc2lvblBh
cmFtZXRlcnMuaWRsICovLAogCQkJCTQxQTQ4QUE4MUU4NEFGMUQwMEQyQUMyRCAvKiBSVENSdHBQ
YXJhbWV0ZXJzLmggKi8sCiAJCQkJNDFBNDhBQTcxRTg0QUVFQzAwRDJBQzJEIC8qIFJUQ1J0cFBh
cmFtZXRlcnMuaWRsICovLAorCQkJCTQxM0M4QjI0MjU1MkVFQTkwMEU2NTA1NSAvKiBSVENSdHBS
ZWNlaXZlcitUcmFuc2Zvcm0uaWRsICovLAogCQkJCTVFMkM0MzU2MUJDRUUzMEQwMDAxRTJCQyAv
KiBSVENSdHBSZWNlaXZlci5jcHAgKi8sCiAJCQkJNUUyQzQzNTcxQkNFRTMwRDAwMDFFMkJDIC8q
IFJUQ1J0cFJlY2VpdmVyLmggKi8sCiAJCQkJNUUyQzQzNTgxQkNFRTMwRDAwMDFFMkJDIC8qIFJU
Q1J0cFJlY2VpdmVyLmlkbCAqLywKIAkJCQk0MUQxQTA0ODIxM0VEREVCMDA2M0ZCNkIgLyogUlRD
UnRwUmVjZWl2ZXJCYWNrZW5kLmggKi8sCisJCQkJNDEzQzhCMzAyNTUyRjI3QzAwRTY1MDU1IC8q
IFJUQ1J0cFJlY2VpdmVyV2l0aFRyYW5zZm9ybS5oICovLAogCQkJCTQxRkNCNzYwMjE0ODY3MDAw
MDM4QURDNiAvKiBSVENSdHBSdHhQYXJhbWV0ZXJzLmggKi8sCiAJCQkJNDFGQ0I3NTgyMTQ4NjVE
MjAwMzhBREM2IC8qIFJUQ1J0cFJ0eFBhcmFtZXRlcnMuaWRsICovLAorCQkJCTQxM0M4QjI2MjU1
MkVFQTkwMEU2NTA1NSAvKiBSVENSdHBTZW5kZXIrVHJhbnNmb3JtLmlkbCAqLywKIAkJCQk1RTJD
NDM1OTFCQ0VFMzBEMDAwMUUyQkMgLyogUlRDUnRwU2VuZGVyLmNwcCAqLywKIAkJCQk1RTJDNDM1
QTFCQ0VFMzBEMDAwMUUyQkMgLyogUlRDUnRwU2VuZGVyLmggKi8sCiAJCQkJNUUyQzQzNUIxQkNF
RTMwRDAwMDFFMkJDIC8qIFJUQ1J0cFNlbmRlci5pZGwgKi8sCiAJCQkJNDFEMUEwNDYyMTNFRERF
QjAwNjNGQjZCIC8qIFJUQ1J0cFNlbmRlckJhY2tlbmQuaCAqLywKKwkJCQk0MTNDOEIyRTI1NTJG
MjdCMDBFNjUwNTUgLyogUlRDUnRwU2VuZGVyV2l0aFRyYW5zZm9ybS5oICovLAogCQkJCTQxNEFE
M0ZDMjE0OTg0MjAwMDUyMTY3NiAvKiBSVENSdHBTZW5kUGFyYW1ldGVycy5oICovLAogCQkJCTQx
NEFEM0ZFMjE0OTg0MjAwMDUyMTY3NiAvKiBSVENSdHBTZW5kUGFyYW1ldGVycy5pZGwgKi8sCiAJ
CQkJNDE1RTFCQjYyMTUwMTUyQTAwMjJEQTk2IC8qIFJUQ1J0cFN5bmNocm9uaXphdGlvblNvdXJj
ZS5oICovLApAQCAtMTcwNjIsNiArMTcwOTYsMTEgQEAKIAkJCQk1RTVFMkIxMjFDRkMzRTRCMDAw
QzBEODUgLyogUlRDUnRwVHJhbnNjZWl2ZXIuaWRsICovLAogCQkJCTQxODZCRDQ2MjE0MDcyQjYw
MDAxODI2RiAvKiBSVENSdHBUcmFuc2NlaXZlckJhY2tlbmQuaCAqLywKIAkJCQkzMTZEQ0IxNzFF
NzhDMzMwMDAxQjVGODcgLyogUlRDUnRwVHJhbnNjZWl2ZXJEaXJlY3Rpb24uaWRsICovLAorCQkJ
CTQxODFDNUM2MjU1NTczNTEwMEFFQjBGRiAvKiBSVENSdHBUcmFuc2Zvcm0uY3BwICovLAorCQkJ
CTQxM0M4QjJGMjU1MkYyN0IwMEU2NTA1NSAvKiBSVENSdHBUcmFuc2Zvcm0uaCAqLywKKwkJCQk0
MTNDOEIyOTI1NTJGMDEzMDBFNjUwNTUgLyogUlRDUnRwVHJhbnNmb3JtLmlkbCAqLywKKwkJCQk0
MTgxQzVDQTI1NTU4MkUzMDBBRUIwRkYgLyogUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmggKi8s
CisJCQkJNDE4MUM1QzgyNTU1NzNERjAwQUVCMEZGIC8qIFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQu
aCAqLywKIAkJCQk0MTBGNTY1ODI0RkNGODU0MDBBMkU1MEMgLyogUlRDU2RwVHlwZS5pZGwgKi8s
CiAJCQkJMDcyMjFCN0ExN0NFQzMyNzAwODQ4RTUxIC8qIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbi5j
cHAgKi8sCiAJCQkJMDcyMjFCN0IxN0NFQzMyNzAwODQ4RTUxIC8qIFJUQ1Nlc3Npb25EZXNjcmlw
dGlvbi5oICovLApAQCAtMTkxMjQsMTAgKzE5MTYzLDE3IEBACiAJCQkJNDE3NjEyQUUxRTNBOTkz
QjAwQzNEODFEIC8qIExpYldlYlJUQ1BlZXJDb25uZWN0aW9uQmFja2VuZC5oICovLAogCQkJCTQx
RDFBMDRBMjEzRURERkUwMDYzRkI2QiAvKiBMaWJXZWJSVENSdHBSZWNlaXZlckJhY2tlbmQuY3Bw
ICovLAogCQkJCTQxODZCRDNCMjEzRURFMzgwMDAxODI2RiAvKiBMaWJXZWJSVENSdHBSZWNlaXZl
ckJhY2tlbmQuaCAqLywKKwkJCQk0MTgxQzVDMDI1NTNFQjZFMDBBRUIwRkYgLyogTGliV2ViUlRD
UnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kLmNwcCAqLywKKwkJCQk0MTgxQzVDMjI1NTNFQjZG
MDBBRUIwRkYgLyogTGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kLmggKi8sCiAJ
CQkJNDFEMUEwNEIyMTNFRERGRTAwNjNGQjZCIC8qIExpYldlYlJUQ1J0cFNlbmRlckJhY2tlbmQu
Y3BwICovLAogCQkJCTQxODZCRDNEMjEzRURFMzkwMDAxODI2RiAvKiBMaWJXZWJSVENSdHBTZW5k
ZXJCYWNrZW5kLmggKi8sCisJCQkJNDE4MUM1QzEyNTUzRUI2RTAwQUVCMEZGIC8qIExpYldlYlJU
Q1J0cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQuY3BwICovLAorCQkJCTQxODFDNUJFMjU1M0VCNkUw
MEFFQjBGRiAvKiBMaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kLmggKi8sCiAJCQkJ
NDE4NkJENEQyMTQwQjlFODAwMDE4MjZGIC8qIExpYldlYlJUQ1J0cFRyYW5zY2VpdmVyQmFja2Vu
ZC5jcHAgKi8sCiAJCQkJNDE4NkJENEIyMTQwQTgwNTAwMDE4MjZGIC8qIExpYldlYlJUQ1J0cFRy
YW5zY2VpdmVyQmFja2VuZC5oICovLAorCQkJCTQxODFDNUNDMjU1NTgzNjgwMEFFQjBGRiAvKiBM
aWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuaCAqLywKKwkJCQk0MTgxQzVDRTI1NTU4OTU1
MDBBRUIwRkYgLyogTGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZC5jcHAgKi8sCisJCQkJNDE4
MUM1Q0YyNTU1ODk1NjAwQUVCMEZGIC8qIExpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuaCAq
LywKIAkJCQk0MUQyOEQwQjIxMzlFMDFEMDBGNDIwNkYgLyogTGliV2ViUlRDU3RhdHNDb2xsZWN0
b3IuY3BwICovLAogCQkJCTQxRDI4RDBDMjEzOUUwMUUwMEY0MjA2RiAvKiBMaWJXZWJSVENTdGF0
c0NvbGxlY3Rvci5oICovLAogCQkJCTQxRDFBMDQ5MjEzRURERkQwMDYzRkI2QiAvKiBMaWJXZWJS
VENVdGlscy5jcHAgKi8sCkBAIC0xOTIwOCw2ICsxOTI1NCw5IEBACiAJCQkJQTFDQkVGNjMxRjlG
MTEyOTAwMjhERTdDIC8qIE1vY2tQYXltZW50TWV0aG9kLmggKi8sCiAJCQkJQTE0MDYxODkxRTJF
Q0EwQTAwMzJCMzRFIC8qIE1vY2tQcmV2aWV3TG9hZGVyQ2xpZW50LmNwcCAqLywKIAkJCQlBMTQw
NjE4QTFFMkVDQTBBMDAzMkIzNEUgLyogTW9ja1ByZXZpZXdMb2FkZXJDbGllbnQuaCAqLywKKwkJ
CQk0MTgxQzVEMzI1NTVDMUIxMDBBRUIwRkYgLyogTW9ja1JUQ1J0cFRyYW5zZm9ybS5jcHAgKi8s
CisJCQkJNDE4MUM1RDUyNTU1QzFCOTAwQUVCMEZGIC8qIE1vY2tSVENSdHBUcmFuc2Zvcm0uaCAq
LywKKwkJCQk0MTgxQzYzNjI1NUFFMjYxMDBBRUIwRkYgLyogTW9ja1JUQ1J0cFRyYW5zZm9ybS5p
ZGwgKi8sCiAJCQkJNTcxNTYxMDgyMzRDMUIzMTAwOEZDN0FCIC8qIE1vY2tXZWJBdXRoZW50aWNh
dGlvbkNvbmZpZ3VyYXRpb24uaCAqLywKIAkJCQk1NzE1NjEwRDIzNEM3NDgxMDA4RkM3QUIgLyog
TW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29uZmlndXJhdGlvbi5pZGwgKi8sCiAJCQkJNDE3RjBEODAx
RkZFRTE0RjAwOEVGMzAzIC8qIFNlcnZpY2VXb3JrZXJJbnRlcm5hbHMuY3BwICovLApAQCAtMTky
NjMsNiArMTkzMTIsNyBAQAogCQkJCUExNDZEMzE4MUY5OUJDQkEwMEQyOTE5NiAvKiBKU01vY2tQ
YXltZW50Q29vcmRpbmF0b3IuaCAqLywKIAkJCQlBMUJCODVCNDIxNTlCMzg5MDA2N0UwN0QgLyog
SlNNb2NrUGF5bWVudEVycm9yLmNwcCAqLywKIAkJCQlBMUJCODVCNTIxNTlCMzhBMDA2N0UwN0Qg
LyogSlNNb2NrUGF5bWVudEVycm9yLmggKi8sCisJCQkJMkQ2RjNFOTIxQzFGODU1NTAwNjFEQkU0
IC8qIEpTTW9ja1JUQ1J0cFRyYW5zZm9ybS5jcHAgKi8sCiAJCQkJNTcxNTYxMTEyMzRDN0ZCQzAw
OEZDN0FCIC8qIEpTTW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29uZmlndXJhdGlvbi5jcHAgKi8sCiAJ
CQkJNTcxNTYxMTAyMzRDN0ZCQzAwOEZDN0FCIC8qIEpTTW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29u
ZmlndXJhdGlvbi5oICovLAogCQkJCTQyN0RBNzFCMTM3MzVERkEwMDdDNTdGQiAvKiBKU1NlcnZp
Y2VXb3JrZXJJbnRlcm5hbHMuY3BwICovLApAQCAtMzMyMTcsNiArMzMyNjcsOCBAQAogCQkJCTQx
NzYxMkIyMUUzQTk5NDAwMEMzRDgxRCAvKiBMaWJXZWJSVENQZWVyQ29ubmVjdGlvbkJhY2tlbmQu
aCBpbiBIZWFkZXJzICovLAogCQkJCTQxNTc0NzQ4MUUzODY5QTcwMEU5MTREOCAvKiBMaWJXZWJS
VENQcm92aWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDFCMjhCM0QxRjg2MEVGMzAwRkI1MkFD
IC8qIExpYldlYlJUQ1Byb3ZpZGVyQ29jb2EuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxODFDNUNE
MjU1NTgzNjkwMEFFQjBGRiAvKiBMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTQxODFDNUQxMjU1NTg5NTYwMEFFQjBGRiAvKiBMaWJXZWJSVENSdHBU
cmFuc2Zvcm1CYWNrZW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MTBFNDQ2MTIzNDM3M0U5MDAw
MTczRDQgLyogTGliV2ViUlRDU29ja2V0SWRlbnRpZmllci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
ODQ3MzBEOTExMjQ4RjBCMzAwRDNBOUM5IC8qIExpZ2h0U291cmNlLmggaW4gSGVhZGVycyAqLywK
IAkJCQlCMjIyNzk2NTBEMDBCRjIyMDA3MUI3ODIgLyogTGluZWFyR3JhZGllbnRBdHRyaWJ1dGVz
LmggaW4gSGVhZGVycyAqLywKQEAgLTMzNDExLDYgKzMzNDYzLDcgQEAKIAkJCQk0QTBGRkE5RTFB
QUY1RTdFMDA2MjgwM0IgLyogTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTA3RUU3NkVDMUJFOTZEQjAwMEY4OTEzMyAvKiBNb2NrUmVhbHRpbWVWaWRl
b1NvdXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDdFRTc2RUYxQkVBNjE5ODAwRjg5MTMzIC8q
IE1vY2tSZWFsdGltZVZpZGVvU291cmNlTWFjLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTgxQzVE
NjI1NTVDMUI5MDBBRUIwRkYgLyogTW9ja1JUQ1J0cFRyYW5zZm9ybS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQ0RGMkIwMTcxODIwNTQwNzAwRjJCNDI0IC8qIE1vY2tTb3VyY2VCdWZmZXJQcml2YXRl
LmggaW4gSGVhZGVycyAqLywKIAkJCQlDREYyQjAxOTE4MjA1NDA3MDBGMkI0MjQgLyogTW9ja1Ry
YWNrcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTcxNTYxMEMyMzRDMUNBMTAwOEZDN0FCIC8qIE1v
Y2tXZWJBdXRoZW50aWNhdGlvbkNvbmZpZ3VyYXRpb24uaCBpbiBIZWFkZXJzICovLApAQCAtMzQw
MzcsOSArMzQwOTAsMTQgQEAKIAkJCQkwNzhFMDkyNDE3RDE0RDFDMDA0MjBBQTEgLyogUlRDUGVl
ckNvbm5lY3Rpb25JY2VFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDEyREU0QjgyMTkyODVD
MDAwNzVGM0E3IC8qIFJUQ1J0cENhcGFiaWxpdGllcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUUy
QzQzNjMxQkNFRTMyQjAwMDFFMkJDIC8qIFJUQ1J0cFJlY2VpdmVyLmggaW4gSGVhZGVycyAqLywK
KwkJCQk0MTNDOEIzNTI1NTJGMjdEMDBFNjUwNTUgLyogUlRDUnRwUmVjZWl2ZXJXaXRoVHJhbnNm
b3JtLmggaW4gSGVhZGVycyAqLywKIAkJCQk1RTJDNDM2MTFCQ0VFMzIzMDAwMUUyQkMgLyogUlRD
UnRwU2VuZGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTNDOEIzMzI1NTJGMjdEMDBFNjUwNTUg
LyogUlRDUnRwU2VuZGVyV2l0aFRyYW5zZm9ybS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUU1RTJC
MTQxQ0ZDM0U3NTAwMEMwRDg1IC8qIFJUQ1J0cFRyYW5zY2VpdmVyLmggaW4gSGVhZGVycyAqLywK
IAkJCQkzMUVCNTRERjFFN0RDNzQ0MDBDMTYyM0IgLyogUlRDUnRwVHJhbnNjZWl2ZXJEaXJlY3Rp
b24uaCBpbiBIZWFkZXJzICovLAorCQkJCTQxM0M4QjM0MjU1MkYyN0QwMEU2NTA1NSAvKiBSVENS
dHBUcmFuc2Zvcm0uaCBpbiBIZWFkZXJzICovLAorCQkJCTQxODFDNUNCMjU1NTgyRTQwMEFFQjBG
RiAvKiBSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxODFD
NUM5MjU1NTczREYwMEFFQjBGRiAvKiBSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkzMTM1OTEwQTFFN0REQzczMDBGMzA2MzAgLyogUlRDU2RwVHlwZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMDc4RTA5MjYxN0QxNEQxQzAwNDIwQUExIC8qIFJUQ1Nlc3Npb25EZXNj
cmlwdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDc4RTA5NDMxN0QxNkUxQzAwNDIwQUExIC8q
IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3IuaCBpbiBIZWFkZXJzICovLApAQCAtMzU0
OTUsNiArMzU1NTMsNyBAQAogCQkJCUExMDRFQzVEMjIwQTNFNEIwMENCRjY3QSAvKiBKU01vY2tQ
YXltZW50Q29udGFjdEZpZWxkcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBMTQ2RDMxQTFGOTlC
Q0Y4MDBEMjkxOTYgLyogSlNNb2NrUGF5bWVudENvb3JkaW5hdG9yLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUExQkI4NUI4MjE1OUIzQTQwMDY3RTA3RCAvKiBKU01vY2tQYXltZW50RXJyb3IuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJNDE4MUM2MzkyNTVBRTkwRjAwQUVCMEZGIC8qIEpTTW9ja1JU
Q1J0cFRyYW5zZm9ybS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1NzE1NjExNDIzNEM3RkQ2MDA4
RkM3QUIgLyogSlNNb2NrV2ViQXV0aGVudGljYXRpb25Db25maWd1cmF0aW9uLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTQyN0RBNzFEMTM3MzVERkEwMDdDNTdGQiAvKiBKU1NlcnZpY2VXb3JrZXJJ
bnRlcm5hbHMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRUJGNTEyMUMxNjk2NDk2QzAwNTZCRDI1
IC8qIEpTVHlwZUNvbnZlcnNpb25zLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMzU1MTAsNiArMzU1
NjksNyBAQAogCQkJCTJEOTdGMDQ3MTlERDQxM0MwMDFFRTlDMyAvKiBNb2NrUGFnZU92ZXJsYXlD
bGllbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTFBRkVERTcxRjhCRkY2RDAwODcwMTNGIC8q
IE1vY2tQYXltZW50Q29vcmRpbmF0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTE0MDYxOEIx
RTJFQ0EwQTAwMzJCMzRFIC8qIE1vY2tQcmV2aWV3TG9hZGVyQ2xpZW50LmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTQxODFDNUQ3MjU1NUM0OUEwMEFFQjBGRiAvKiBNb2NrUlRDUnRwVHJhbnNmb3Jt
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUFBNUYzQjhGMTZDQzRCMzkwMDQ1NUVCMCAvKiBQbGF0
Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0MTdGMEQ4
MjFGRkVFOTc5MDA4RUYzMDMgLyogU2VydmljZVdvcmtlckludGVybmFscy5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk0MUQ0MUM2NzIyNTY4NzRGMDA2OTc5NDIgLyogU2VydmljZVdvcmtlckludGVy
bmFscy5tbSBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
V2ViQ29yZUJ1aWx0aW5OYW1lcy5oCmluZGV4IGVlMjRhNDlhMjVhMmQzN2Q2MWUxZGMwZmU0Nzc3
YjAwM2Y5MmQyMzcuLjVhZTczNGQ5MDkwYzBkMGY3NTQ0ZDE0ZjZjYmJkMzEzMTM0ZjEyYjggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgK
QEAgLTE3NCw2ICsxNzQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8oTWVkaWFT
dHJlYW0pIFwKICAgICBtYWNybyhNZWRpYVN0cmVhbVRyYWNrKSBcCiAgICAgbWFjcm8oTWVyY2hh
bnRWYWxpZGF0aW9uRXZlbnQpIFwKKyAgICBtYWNybyhNb2NrUlRDUnRwVHJhbnNmb3JtKSBcCiAg
ICAgbWFjcm8oTW9kZXJuTWVkaWFDb250cm9scykgXAogICAgIG1hY3JvKE5hdmlnYXRvckNyZWRl
bnRpYWxzKSBcCiAgICAgbWFjcm8oTmF2aWdhdG9yTWVkaWFEZXZpY2VzKSBcCkBAIC0yMjAsNiAr
MjIxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKFJUQ1J0cFJlY2VpdmVyKSBc
CiAgICAgbWFjcm8oUlRDUnRwU2VuZGVyKSBcCiAgICAgbWFjcm8oUlRDUnRwVHJhbnNjZWl2ZXIp
IFwKKyAgICBtYWNybyhSVENSdHBUcmFuc2Zvcm0pIFwKICAgICBtYWNybyhSVENTZXNzaW9uRGVz
Y3JpcHRpb24pIFwKICAgICBtYWNybyhSVENTdGF0c1JlcG9ydCkgXAogICAgIG1hY3JvKFJUQ1Ry
YWNrRXZlbnQpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
Q29kZUdlbmVyYXRvckpTLnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2Rl
R2VuZXJhdG9ySlMucG0KaW5kZXggMzRhZmE3NzZiZDUyMzczMDA5OGVjMjFjMjNlNzQxMDBhODBj
NDI1ZC4uMjdjNzk3ZDM0MGRiNDZiN2UzMWJhNmRiZWIyOTFjYzQzOTI1ODAxZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KQEAg
LTMyMjIsOSArMzIyMiw5IEBAIHN1YiBHZW5lcmF0ZUhlYWRlcgogICAgIGlmIChTaG91bGRHZW5l
cmF0ZVdyYXBwZXJPd25lckNvZGUoJGhhc1BhcmVudCwgJGludGVyZmFjZSkpIHsKICAgICAgICAg
aWYgKCRpbnRlcmZhY2VOYW1lIG5lICJOb2RlIiAmJiAkY29kZUdlbmVyYXRvci0+SW5oZXJpdHNJ
bnRlcmZhY2UoJGludGVyZmFjZSwgIk5vZGUiKSkgewogICAgICAgICAgICAgJGhlYWRlckluY2x1
ZGVzeyJKU05vZGUuaCJ9ID0gMTsKLSAgICAgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICJj
bGFzcyBKUyR7aW50ZXJmYWNlTmFtZX1Pd25lciA6IHB1YmxpYyBKU05vZGVPd25lciB7XG4iKTsK
KyAgICAgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICJjbGFzcyAke2V4cG9ydE1hY3JvfUpT
JHtpbnRlcmZhY2VOYW1lfU93bmVyIDogcHVibGljIEpTTm9kZU93bmVyIHtcbiIpOwogICAgICAg
ICB9IGVsc2UgewotICAgICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgImNsYXNzIEpTJHtp
bnRlcmZhY2VOYW1lfU93bmVyIDogcHVibGljIEpTQzo6V2Vha0hhbmRsZU93bmVyIHtcbiIpOwor
ICAgICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgImNsYXNzICR7ZXhwb3J0TWFjcm99SlMk
e2ludGVyZmFjZU5hbWV9T3duZXIgOiBwdWJsaWMgSlNDOjpXZWFrSGFuZGxlT3duZXIge1xuIik7
CiAgICAgICAgIH0KICAgICAgICAgJGhlYWRlckluY2x1ZGVzeyI8d3RmL05ldmVyRGVzdHJveWVk
Lmg+In0gPSAxOwogICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAicHVibGljOlxuIik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
SW50ZXJmYWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0SW50ZXJmYWNlLmgKaW5kZXggZmJmNmYzOGQ2YjYxZThkNWVhM2I3ZTFhZjk2OTJkZTFjZDAw
ZTdkNy4uNmJhNDMzNGQzYjEyNWJiMDQwNmY5MTJiNDkxMmEwODM4MDA2ZTczMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFj
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJ
bnRlcmZhY2UuaApAQCAtODksNyArODksNyBAQCBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBmaW5pc2hD
cmVhdGlvbihKU0M6OlZNJik7CiB9OwogCi1jbGFzcyBKU1Rlc3RJbnRlcmZhY2VPd25lciA6IHB1
YmxpYyBKU0M6OldlYWtIYW5kbGVPd25lciB7CitjbGFzcyBXRUJDT1JFX0VYUE9SVCBKU1Rlc3RJ
bnRlcmZhY2VPd25lciA6IHB1YmxpYyBKU0M6OldlYWtIYW5kbGVPd25lciB7CiBwdWJsaWM6CiAg
ICAgdmlydHVhbCBib29sIGlzUmVhY2hhYmxlRnJvbU9wYXF1ZVJvb3RzKEpTQzo6SGFuZGxlPEpT
Qzo6VW5rbm93bj4sIHZvaWQqIGNvbnRleHQsIEpTQzo6U2xvdFZpc2l0b3ImLCBjb25zdCBjaGFy
KiopOwogICAgIHZpcnR1YWwgdm9pZCBmaW5hbGl6ZShKU0M6OkhhbmRsZTxKU0M6OlVua25vd24+
LCB2b2lkKiBjb250ZXh0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCA4
NTNiNjk3ZjdhMzBjYjAxODgxNjhkMGY1MWM3MGI1ODVkYzZkNDU3Li4xNjFhMjhmNDEzZjBlZTEy
Y2EwZmMyM2I1MDdiZDQ0MTY5MjliMTNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
Y3BwCkBAIC0xMzgsNiArMTM4LDcgQEAKICNpbmNsdWRlICJNb2NrTGliV2ViUlRDUGVlckNvbm5l
Y3Rpb24uaCIKICNpbmNsdWRlICJNb2NrUGFnZU92ZXJsYXkuaCIKICNpbmNsdWRlICJNb2NrUGFn
ZU92ZXJsYXlDbGllbnQuaCIKKyNpbmNsdWRlICJNb2NrUlRDUnRwVHJhbnNmb3JtLmgiCiAjaW5j
bHVkZSAiTmF2aWdhdG9yQmVhY29uLmgiCiAjaW5jbHVkZSAiTmF2aWdhdG9yTWVkaWFEZXZpY2Vz
LmgiCiAjaW5jbHVkZSAiTmV0d29ya0xvYWRJbmZvcm1hdGlvbi5oIgpAQCAtMTU3OSw2ICsxNTgw
LDExIEBAIHZvaWQgSW50ZXJuYWxzOjpzZXRXZWJSVENWUDlWVEJTdXBwb3J0KGJvb2wgdmFsdWUp
CiAjZW5kaWYKIH0KIAorUmVmPE1vY2tSVENSdHBUcmFuc2Zvcm0+IEludGVybmFsczo6Y3JlYXRl
TW9ja1JUQ1J0cFRyYW5zZm9ybSgpCit7CisgICAgcmV0dXJuIE1vY2tSVENSdHBUcmFuc2Zvcm06
OmNyZWF0ZSgpOworfQorCiB2b2lkIEludGVybmFsczo6c2V0RW5hYmxlV2ViUlRDRW5jcnlwdGlv
bihib29sIHZhbHVlKQogewogI2lmIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuaAppbmRleCBiYjdkNTVlMjBmZGViNWExZDU4YjA5OWNmOTdhYmVlNTk1ODQ0YTE4Li4y
NDg1ZTEzZDZkNDk1NjM3OWU2ODY2NTA4YjAxNmViMTQyNGZlNjZlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmgKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJFeGNlcHRpb25Pci5o
IgogI2luY2x1ZGUgIkhFVkNVdGlsaXRpZXMuaCIKICNpbmNsdWRlICJJRExUeXBlcy5oIgorI2lu
Y2x1ZGUgIk1vY2tSVENSdHBUcmFuc2Zvcm0uaCIKICNpbmNsdWRlICJPcmllbnRhdGlvbk5vdGlm
aWVyLmgiCiAjaW5jbHVkZSAiUGFnZUNvbnNvbGVDbGllbnQuaCIKICNpbmNsdWRlICJSZWFsdGlt
ZU1lZGlhU291cmNlLmgiCkBAIC02MDYsNiArNjA3LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0
V2ViUlRDSDI2NVN1cHBvcnQoYm9vbCk7CiAgICAgdm9pZCBzZXRXZWJSVENWUDlTdXBwb3J0KGJv
b2wpOwogICAgIHZvaWQgc2V0V2ViUlRDVlA5VlRCU3VwcG9ydChib29sKTsKKyAgICBSZWY8TW9j
a1JUQ1J0cFRyYW5zZm9ybT4gY3JlYXRlTW9ja1JUQ1J0cFRyYW5zZm9ybSgpOwogICAgIHZvaWQg
c2V0RW5hYmxlV2ViUlRDRW5jcnlwdGlvbihib29sKTsKICAgICB2b2lkIHNldFVzZURUTFMxMChi
b29sKTsKICAgICB2b2lkIHNldFVzZUdQVVByb2Nlc3NGb3JXZWJSVEMoYm9vbCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5pZGwKaW5kZXggYmRiOWVlMmNiNmNhMjE1YThlOGRjYzJkMDBh
MmZlNWQwODViZDY3MC4uYjAxNTRiMjk4NTgwYmZhZDMzM2ExMTRhZjM4NGQxZGE5MDllMTY4MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtODAyLDYgKzgwMiw3IEBAIGVu
dW0gVHJlZVR5cGUgewogICAgIFtDb25kaXRpb25hbD1XRUJfUlRDXSB1bmRlZmluZWQgc2V0V2Vi
UlRDSDI2NVN1cHBvcnQoYm9vbGVhbiBhbGxvd2VkKTsKICAgICBbQ29uZGl0aW9uYWw9V0VCX1JU
Q10gdW5kZWZpbmVkIHNldFdlYlJUQ1ZQOVN1cHBvcnQoYm9vbGVhbiBhbGxvd2VkKTsKICAgICBb
Q29uZGl0aW9uYWw9V0VCX1JUQ10gdW5kZWZpbmVkIHNldFdlYlJUQ1ZQOVZUQlN1cHBvcnQoYm9v
bGVhbiBhbGxvd2VkKTsKKyAgICBbQ29uZGl0aW9uYWw9V0VCX1JUQ10gTW9ja1JUQ1J0cFRyYW5z
Zm9ybSBjcmVhdGVNb2NrUlRDUnRwVHJhbnNmb3JtKCk7CiAKICAgICBbQ29uZGl0aW9uYWw9TUVE
SUFfU1RSRUFNXSB1bmRlZmluZWQgc2V0TW9ja0F1ZGlvVHJhY2tDaGFubmVsTnVtYmVyKE1lZGlh
U3RyZWFtVHJhY2sgdHJhY2ssIHVuc2lnbmVkIHNob3J0IGNvdW50KTsKICAgICBbQ29uZGl0aW9u
YWw9TUVESUFfU1RSRUFNXSB1bmRlZmluZWQgc2V0U2hvdWxkSW50ZXJydXB0QXVkaW9PblBhZ2VW
aXNpYmlsaXR5Q2hhbmdlKGJvb2xlYW4gc2hvdWxkSW50ZXJydXB0KTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1JUQ1J0cFRyYW5zZm9ybS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL01vY2tSVENSdHBUcmFuc2Zvcm0uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ1ZDA4Mjc1
OGQ5MWI4OGQ4ODJlMzQxM2I1MjIyNDUyZmNjNGRkZjIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL01vY2tSVENSdHBUcmFuc2Zvcm0uY3BwCkBAIC0wLDAgKzEsMTE1
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisg
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1
ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk1vY2tSVENSdHBUcmFuc2Zvcm0uaCIKKworI2lmIEVO
QUJMRShXRUJfUlRDKQorCisjaW5jbHVkZSAiUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmgiCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTW9ja1JUQ1J0cFRyYW5zZm9ybWVyIDogcHVi
bGljIFRocmVhZFNhZmVSZWZDb3VudGVkPE1vY2tSVENSdHBUcmFuc2Zvcm1lciwgV1RGOjpEZXN0
cnVjdGlvblRocmVhZDo6TWFpbj4geworcHVibGljOgorICAgIHN0YXRpYyBSZWY8TW9ja1JUQ1J0
cFRyYW5zZm9ybWVyPiBjcmVhdGUoUmVmPFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ+JiYgYmFja2Vu
ZCkKKyAgICB7CisgICAgICAgIGF1dG8gdHJhbnNmb3JtZXIgPSBhZG9wdFJlZigqbmV3IE1vY2tS
VENSdHBUcmFuc2Zvcm1lcihXVEZNb3ZlKGJhY2tlbmQpKSk7CisgICAgICAgIHRyYW5zZm9ybWVy
LT5tX2JhY2tlbmQtPnNldFRyYW5zZm9ybWFibGVGcmFtZUNhbGxiYWNrKFt0cmFuc2Zvcm1lcl0o
YXV0byYmIGZyYW1lKSB7CisgICAgICAgICAgICB0cmFuc2Zvcm1lci0+dHJhbnNmb3JtKFdURk1v
dmUoZnJhbWUpKTsKKyAgICAgICAgfSk7CisgICAgICAgIHJldHVybiB0cmFuc2Zvcm1lcjsKKyAg
ICB9CisKKyAgICB2b2lkIGNsZWFyKCkKKyAgICB7CisgICAgICAgIG1fYmFja2VuZC0+Y2xlYXJU
cmFuc2Zvcm1hYmxlRnJhbWVDYWxsYmFjaygpOworICAgICAgICBtX2JhY2tlbmQgPSBudWxscHRy
OworICAgIH0KKworICAgIHZvaWQgdHJhbnNmb3JtKFJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZSYm
IGZyYW1lKQorICAgIHsKKyAgICAgICAgbV9pc1Byb2Nlc3NpbmcgPSB0cnVlOworCisgICAgICAg
IGF1dG8gZGF0YSA9IGZyYW1lLmRhdGEoKTsKKyAgICAgICAgVmVjdG9yPHVpbnQ4X3Q+IHRyYW5z
Zm9ybWVkRGF0YTsKKyAgICAgICAgc2l6ZV90IHN0YXJ0ID0gbV9pc0F1ZGlvID8gMCA6IDEwMDsK
KyAgICAgICAgZm9yIChzaXplX3QgY3B0ciA9IDA7IGNwdHIgPCBzdGFydDsgKytjcHRyKQorICAg
ICAgICAgICAgdHJhbnNmb3JtZWREYXRhLmFwcGVuZChkYXRhLmRhdGFbY3B0cl0pOworICAgICAg
ICBmb3IgKHNpemVfdCBjcHRyID0gc3RhcnQ7IGNwdHIgPCBkYXRhLnNpemU7ICsrY3B0cikKKyAg
ICAgICAgICAgIHRyYW5zZm9ybWVkRGF0YS5hcHBlbmQoMjU2IC0gZGF0YS5kYXRhW2NwdHJdKTsK
KyAgICAgICAgZnJhbWUuc2V0RGF0YSh7IHRyYW5zZm9ybWVkRGF0YS5kYXRhKCksIGRhdGEuc2l6
ZSB9KTsKKworICAgICAgICBtX2JhY2tlbmQtPnByb2Nlc3NUcmFuc2Zvcm1lZEZyYW1lKFdURk1v
dmUoZnJhbWUpKTsKKyAgICB9CisKKyAgICBib29sIGlzUHJvY2Vzc2luZygpIGNvbnN0IHsgcmV0
dXJuIG1faXNQcm9jZXNzaW5nOyB9CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgTW9ja1JUQ1J0
cFRyYW5zZm9ybWVyKFJlZjxSVENSdHBUcmFuc2Zvcm1CYWNrZW5kPiYmIGJhY2tlbmQpCisgICAg
ICAgIDogbV9iYWNrZW5kKFdURk1vdmUoYmFja2VuZCkpCisgICAgICAgICwgbV9pc1NlbmRlciht
X2JhY2tlbmQtPnNpZGUoKSA9PSBSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpTaWRlOjpTZW5kZXIp
CisgICAgICAgICwgbV9pc0F1ZGlvKG1fYmFja2VuZC0+bWVkaWFUeXBlKCkgPT0gUlRDUnRwVHJh
bnNmb3JtQmFja2VuZDo6TWVkaWFUeXBlOjpBdWRpbykKKyAgICB7CisgICAgfQorCisgICAgUmVm
UHRyPFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ+IG1fYmFja2VuZDsKKyAgICBib29sIG1faXNTZW5k
ZXI7CisgICAgYm9vbCBtX2lzQXVkaW87CisgICAgYm9vbCBtX2lzUHJvY2Vzc2luZyB7IGZhbHNl
IH07Cit9OworCitNb2NrUlRDUnRwVHJhbnNmb3JtOjpNb2NrUlRDUnRwVHJhbnNmb3JtKCkKK3sK
K30KKworTW9ja1JUQ1J0cFRyYW5zZm9ybTo6fk1vY2tSVENSdHBUcmFuc2Zvcm0oKQoreworfQor
Citib29sIE1vY2tSVENSdHBUcmFuc2Zvcm06OmlzUHJvY2Vzc2luZygpIGNvbnN0Cit7CisgICAg
cmV0dXJuIG1fdHJhbnNmb3JtZXIgPyBtX3RyYW5zZm9ybWVyLT5pc1Byb2Nlc3NpbmcoKSA6IGZh
bHNlOworfQorCit2b2lkIE1vY2tSVENSdHBUcmFuc2Zvcm06OmluaXRpYWxpemVCYWNrZW5kRm9y
UmVjZWl2ZXIoUlRDUnRwVHJhbnNmb3JtQmFja2VuZCYgYmFja2VuZCkKK3sKKyAgICBtX3RyYW5z
Zm9ybWVyID0gTW9ja1JUQ1J0cFRyYW5zZm9ybWVyOjpjcmVhdGUoYmFja2VuZCk7Cit9CisKK3Zv
aWQgTW9ja1JUQ1J0cFRyYW5zZm9ybTo6aW5pdGlhbGl6ZUJhY2tlbmRGb3JTZW5kZXIoUlRDUnRw
VHJhbnNmb3JtQmFja2VuZCYgYmFja2VuZCkKK3sKKyAgICBtX3RyYW5zZm9ybWVyID0gTW9ja1JU
Q1J0cFRyYW5zZm9ybWVyOjpjcmVhdGUoYmFja2VuZCk7Cit9CisKK3ZvaWQgTW9ja1JUQ1J0cFRy
YW5zZm9ybTo6d2lsbENsZWFyQmFja2VuZChSVENSdHBUcmFuc2Zvcm1CYWNrZW5kJikKK3sKKyAg
ICBtX3RyYW5zZm9ybWVyLT5jbGVhcigpOworICAgIG1fdHJhbnNmb3JtZXIgPSBudWxscHRyOwor
fQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX1JUQykK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1JUQ1J0cFRyYW5zZm9ybS5o
IGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUlRDUnRwVHJhbnNmb3JtLmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNGQ5OTRkZmY3MTc0MzIzNTM1MWY4ZjBhMzM5NmZjNTlhMWNhZDI5MAotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1JUQ1J0cFRyYW5zZm9ybS5oCkBAIC0w
LDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJfUlRDKQorCisjaW5jbHVkZSAiUlRDUnRw
VHJhbnNmb3JtLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTW9ja1JUQ1J0cFRy
YW5zZm9ybWVyOworCitjbGFzcyBNb2NrUlRDUnRwVHJhbnNmb3JtIGZpbmFsIDogcHVibGljIFJU
Q1J0cFRyYW5zZm9ybSB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxNb2NrUlRDUnRwVHJhbnNm
b3JtPiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IE1vY2tSVENSdHBUcmFuc2Zvcm0o
KSk7IH0KKyAgICB+TW9ja1JUQ1J0cFRyYW5zZm9ybSgpOworCisgICAgYm9vbCBpc1Byb2Nlc3Np
bmcoKSBjb25zdDsKKworcHJpdmF0ZToKKyAgICBNb2NrUlRDUnRwVHJhbnNmb3JtKCk7CisKKyAg
ICB2b2lkIGluaXRpYWxpemVCYWNrZW5kRm9yUmVjZWl2ZXIoUlRDUnRwVHJhbnNmb3JtQmFja2Vu
ZCYpIGZpbmFsOworICAgIHZvaWQgaW5pdGlhbGl6ZUJhY2tlbmRGb3JTZW5kZXIoUlRDUnRwVHJh
bnNmb3JtQmFja2VuZCYpIGZpbmFsOworICAgIHZvaWQgd2lsbENsZWFyQmFja2VuZChSVENSdHBU
cmFuc2Zvcm1CYWNrZW5kJikgZmluYWw7CisKKyAgICBSZWZQdHI8TW9ja1JUQ1J0cFRyYW5zZm9y
bWVyPiBtX3RyYW5zZm9ybWVyOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5k
aWYgLy8gRU5BQkxFKFdFQl9SVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L01vY2tSVENSdHBUcmFuc2Zvcm0uaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUlRD
UnRwVHJhbnNmb3JtLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wOWViMGMzY2ExNWM1ZjE5N2YzNmNmYjQ3NDlj
MTE4MDZlOGFjNzc3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9N
b2NrUlRDUnRwVHJhbnNmb3JtLmlkbApAQCAtMCwwICsxLDMyIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBB
TlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
ICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIENvbmRpdGlvbmFsPVdFQl9SVEMs
CisgICAgSlNHZW5lcmF0ZVRvSlNPYmplY3QsCisgICAgTGVnYWN5Tm9JbnRlcmZhY2VPYmplY3Qs
CitdIGludGVyZmFjZSBNb2NrUlRDUnRwVHJhbnNmb3JtIDogUlRDUnRwVHJhbnNmb3JtIHsKKyAg
ICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBpc1Byb2Nlc3Npbmc7Cit9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNzLmNw
cCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ0NvZGVjcy5j
cHAKaW5kZXggNDhiODc3NDFlMjI0YjJhNTI0ZTQwZjQ2MzQzZGRiOTkwM2I1MGIyNy4uMGM2Zjcz
ZDA3MTQ0YjU2MjY3NjkzNjdjOWYyYTNhNDAxN2VhZGU4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNzLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3MuY3BwCkBAIC00
NDEsNyArNDQxLDcgQEAgdm9pZCBMaWJXZWJSVENDb2RlY3M6OmNvbXBsZXRlZEVuY29kaW5nKFJU
Q0VuY29kZXJJZGVudGlmaWVyIGlkZW50aWZpZXIsIElQQzo6RGEKICAgICBpZiAoIWVuY29kZXIt
PmVuY29kZWRJbWFnZUNhbGxiYWNrKQogICAgICAgICByZXR1cm47CiAKLSAgICB3ZWJydGM6OmVu
Y29kZXJWaWRlb1Rhc2tDb21wbGV0ZShlbmNvZGVyLT5lbmNvZGVkSW1hZ2VDYWxsYmFjaywgZW5j
b2Rlci0+Y29kZWNUeXBlLCBjb25zdF9jYXN0PHVpbnQ4X3QqPihkYXRhLmRhdGEoKSksIGRhdGEu
c2l6ZSgpLCBpbmZvKTsKKyAgICB3ZWJydGM6OmVuY29kZXJWaWRlb1Rhc2tDb21wbGV0ZShlbmNv
ZGVyLT5lbmNvZGVkSW1hZ2VDYWxsYmFjaywgZW5jb2Rlci0+Y29kZWNUeXBlLCBkYXRhLmRhdGEo
KSwgZGF0YS5zaXplKCksIGluZm8pOwogfQogCiBDVlBpeGVsQnVmZmVyUG9vbFJlZiBMaWJXZWJS
VENDb2RlY3M6OnBpeGVsQnVmZmVyUG9vbChzaXplX3Qgd2lkdGgsIHNpemVfdCBoZWlnaHQsIE9T
VHlwZSB0eXBlKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IGFmMDU1NWZjZWQ2ZmRhNDk0OTJhN2IyZjEzNWJjNTZkOWViYTYx
ZWIuLjQ5NDYzNDQ4YWI5ZDBkOWI0Y2QwNTExMGExZDRjMzVlNjRkYzQzNzQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNiBAQAorMjAyMC0xMS0xMiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+
CisKKyAgICAgICAgV2ViUHJvY2VzcyBzaG91bGQgcHJvY2VzcyBXZWJSVEMgY29kZWNzIElQQyBt
ZXNzYWdlcyBmcm9tIHRoZSBHUFUgUHJvY2VzcyBpbiBhIGJhY2tncm91bmQgdGhyZWFkCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTg3OTAKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzcxMzMyNDM5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIHdlYnJ0Yy10cmFuc2Zvcm0KKworICAgICAgICAqIHdlYnJ0
Yy93ZWJydGMtdHJhbnNmb3JtLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2VicnRj
L3dlYnJ0Yy10cmFuc2Zvcm0uaHRtbDogQWRkZWQuCisKKzIwMjAtMTEtMTEgIFlvdWVubiBGYWJs
ZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBpbmZyYXN0cnVjdHVyZSBmb3Ig
V2ViUlRDIHRyYW5zZm9ybXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIxODc1MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogd2VicnRjL3dlYnJ0Yy10cmFuc2Zvcm0tZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiB3ZWJydGMvd2VicnRjLXRyYW5zZm9ybS5odG1sOiBBZGRlZC4KKwogMjAyMC0x
MS0xMCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgVXBkYXRl
IFdlYlJUQyBsaXdlYnJ0YyB0byBNODcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYnJ0Yy93
ZWJydGMtdHJhbnNmb3JtLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYnJ0Yy93ZWJydGMt
dHJhbnNmb3JtLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mYThmNTFiM2M4MDBjNWQ3YWM0OTNk
NzAzMzAwYWNkNjgyNzhmOWY4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2VicnRj
L3dlYnJ0Yy10cmFuc2Zvcm0tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorCisKK1BBU1Mg
YXVkaW8gZXhjaGFuZ2Ugd2l0aCB0cmFuc2Zvcm0KK1BBU1MgdmlkZW8gZXhjaGFuZ2Ugd2l0aCB0
cmFuc2Zvcm0KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2VicnRjL3dlYnJ0Yy10cmFuc2Zv
cm0uaHRtbCBiL0xheW91dFRlc3RzL3dlYnJ0Yy93ZWJydGMtdHJhbnNmb3JtLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYTljNWE2ZGZhNTc3YmEzYmE5MGVlYWU1MjBjNjMyNTE1NGUxYWY1MAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3dlYnJ0Yy93ZWJydGMtdHJhbnNmb3JtLmh0bWwKQEAgLTAs
MCArMSw4NiBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgY2hhcnNldD0idXRmLTgiPgorICAgICAgICA8dGl0bGU+VGVzdGluZyBtZWRpYSBleGNo
YW5nZSB3aXRoIHRyYW5zZm9ybTwvdGl0bGU+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKyAgICA8L2hlYWQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDx2aWRlbyBpZD0idmlkZW8xIiBhdXRvcGxheT48L3ZpZGVvPgor
ICAgICAgICA8dmlkZW8gaWQ9InZpZGVvMiIgYXV0b3BsYXk+PC92aWRlbz4KKyAgICAgICAgPHNj
cmlwdCBzcmMgPSJyb3V0aW5lcy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQ+Citwcm9t
aXNlX3Rlc3QoYXN5bmMgKHRlc3QpID0+IHsKKyAgICBpZiAoIXdpbmRvdy5pbnRlcm5hbHMpCisg
ICAgICAgIHJldHVybjsKKworICAgIGxldCBzZW5kZXIsIHJlY2VpdmVyOworICAgIGxldCBzZW5k
ZXJUcmFuc2Zvcm0gPSBpbnRlcm5hbHMuY3JlYXRlTW9ja1JUQ1J0cFRyYW5zZm9ybSgpOworICAg
IGxldCByZWNlaXZlclRyYW5zZm9ybSA9IGludGVybmFscy5jcmVhdGVNb2NrUlRDUnRwVHJhbnNm
b3JtKCk7CisKKyAgICBjb25zdCBsb2NhbFN0cmVhbSA9IGF3YWl0IG5hdmlnYXRvci5tZWRpYURl
dmljZXMuZ2V0VXNlck1lZGlhKHthdWRpbzogdHJ1ZX0pOworICAgIGNvbnN0IHN0cmVhbSA9IGF3
YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKKyAgICAgICAgY3JlYXRlQ29u
bmVjdGlvbnMoKGZpcnN0Q29ubmVjdGlvbikgPT4geworICAgICAgICAgICAgcGMxID0gZmlyc3RD
b25uZWN0aW9uOworICAgICAgICAgICAgc2VuZGVyID0gZmlyc3RDb25uZWN0aW9uLmFkZFRyYWNr
KGxvY2FsU3RyZWFtLmdldEF1ZGlvVHJhY2tzKClbMF0sIGxvY2FsU3RyZWFtKTsKKyAgICAgICAg
ICAgIHNlbmRlci50cmFuc2Zvcm0gPSBzZW5kZXJUcmFuc2Zvcm07CisgICAgICAgIH0sIChzZWNv
bmRDb25uZWN0aW9uKSA9PiB7CisgICAgICAgICAgICBwYzIgPSBzZWNvbmRDb25uZWN0aW9uOwor
ICAgICAgICAgICAgc2Vjb25kQ29ubmVjdGlvbi5vbnRyYWNrID0gKHRyYWNrRXZlbnQpID0+IHsK
KyAgICAgICAgICAgICAgICByZWNlaXZlciA9IHRyYWNrRXZlbnQucmVjZWl2ZXI7CisgICAgICAg
ICAgICAgICAgcmVjZWl2ZXIudHJhbnNmb3JtID0gcmVjZWl2ZXJUcmFuc2Zvcm07CisgICAgICAg
ICAgICAgICAgcmVzb2x2ZSh0cmFja0V2ZW50LnN0cmVhbXNbMF0pOworICAgICAgICAgICAgfTsK
KyAgICAgICAgfSk7CisgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gcmVqZWN0KCJUZXN0IHRpbWVk
IG91dCIpLCA1MDAwKTsKKyAgICB9KTsKKworICAgIHZpZGVvMS5zcmNPYmplY3QgPSBzdHJlYW07
CisgICAgYXdhaXQgdmlkZW8xLnBsYXkoKTsKKworICAgIGxldCBjb3VudGVyID0gMDsKKyAgICB3
aGlsZSAoIXJlY2VpdmVyVHJhbnNmb3JtLmlzUHJvY2Vzc2luZyAmJiBjb3VudGVyKysgPCAxMDAp
CisgICAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gc2V0VGltZW91dChyZXNvbHZl
LCA1MCkpOworCisgICAgYXNzZXJ0X3RydWUoc2VuZGVyVHJhbnNmb3JtLmlzUHJvY2Vzc2luZywg
InNlbmRlciIpOworfSwgImF1ZGlvIGV4Y2hhbmdlIHdpdGggdHJhbnNmb3JtIik7CisKK3Byb21p
c2VfdGVzdChhc3luYyAodGVzdCkgPT4geworICAgIGlmICghd2luZG93LmludGVybmFscykKKyAg
ICAgICAgcmV0dXJuOworCisgICAgbGV0IHNlbmRlciwgcmVjZWl2ZXI7CisgICAgbGV0IHNlbmRl
clRyYW5zZm9ybSA9IGludGVybmFscy5jcmVhdGVNb2NrUlRDUnRwVHJhbnNmb3JtKCk7CisgICAg
bGV0IHJlY2VpdmVyVHJhbnNmb3JtID0gaW50ZXJuYWxzLmNyZWF0ZU1vY2tSVENSdHBUcmFuc2Zv
cm0oKTsKKworICAgIGNvbnN0IGxvY2FsU3RyZWFtID0gYXdhaXQgbmF2aWdhdG9yLm1lZGlhRGV2
aWNlcy5nZXRVc2VyTWVkaWEoe3ZpZGVvOiB0cnVlfSk7CisKKyAgICBjb25zdCBzdHJlYW0gPSBh
d2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CisgICAgICAgIGNyZWF0ZUNv
bm5lY3Rpb25zKChmaXJzdENvbm5lY3Rpb24pID0+IHsKKyAgICAgICAgICAgIHBjMSA9IGZpcnN0
Q29ubmVjdGlvbjsKKyAgICAgICAgICAgIHNlbmRlciA9IGZpcnN0Q29ubmVjdGlvbi5hZGRUcmFj
ayhsb2NhbFN0cmVhbS5nZXRWaWRlb1RyYWNrcygpWzBdLCBsb2NhbFN0cmVhbSk7CisgICAgICAg
ICAgICBzZW5kZXIudHJhbnNmb3JtID0gc2VuZGVyVHJhbnNmb3JtOworICAgICAgICB9LCAoc2Vj
b25kQ29ubmVjdGlvbikgPT4geworICAgICAgICAgICAgcGMyID0gc2Vjb25kQ29ubmVjdGlvbjsK
KyAgICAgICAgICAgIHNlY29uZENvbm5lY3Rpb24ub250cmFjayA9ICh0cmFja0V2ZW50KSA9PiB7
CisgICAgICAgICAgICAgICAgcmVjZWl2ZXIgPSB0cmFja0V2ZW50LnJlY2VpdmVyOworICAgICAg
ICAgICAgICAgIHJlY2VpdmVyLnRyYW5zZm9ybSA9IHJlY2VpdmVyVHJhbnNmb3JtOworICAgICAg
ICAgICAgICAgIHJlc29sdmUodHJhY2tFdmVudC5zdHJlYW1zWzBdKTsKKyAgICAgICAgICAgIH07
CisgICAgICAgIH0pOworICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHJlamVjdCgiVGVzdCB0aW1l
ZCBvdXQiKSwgNTAwMCk7CisgICAgfSk7CisKKyAgICB2aWRlbzIuc3JjT2JqZWN0ID0gc3RyZWFt
OworICAgIGF3YWl0IHZpZGVvMi5wbGF5KCk7CisKKyAgIGxldCBjb3VudGVyID0gMDsKKyAgIHdo
aWxlICghcmVjZWl2ZXJUcmFuc2Zvcm0uaXNQcm9jZXNzaW5nICYmIGNvdW50ZXIrKyA8IDEwMCkK
KyAgICAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHNldFRpbWVvdXQocmVzb2x2ZSwg
NTApKTsKKworICAgIGFzc2VydF90cnVlKHNlbmRlclRyYW5zZm9ybS5pc1Byb2Nlc3NpbmcsICJz
ZW5kZXIiKTsKK30sICJ2aWRlbyBleGNoYW5nZSB3aXRoIHRyYW5zZm9ybSIpOworICAgICAgICA8
L3NjcmlwdD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>