<?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>114096</bug_id>
          
          <creation_ts>2013-04-06 12:31:48 -0700</creation_ts>
          <short_desc>[WIN] Remove WebKit2 source code</short_desc>
          <delta_ts>2013-04-08 16:52:41 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows 7</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Patrick R. Gansterer">paroga</reporter>
          <assigned_to name="Patrick R. Gansterer">paroga</assigned_to>
          <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>roger_fong</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>870332</commentid>
    <comment_count>0</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2013-04-06 12:31:48 -0700</bug_when>
    <thetext>[WIN] Remove WebKit2 source code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>870333</commentid>
    <comment_count>1</comment_count>
      <attachid>196750</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2013-04-06 12:34:42 -0700</bug_when>
    <thetext>Created attachment 196750
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>870852</commentid>
    <comment_count>2</comment_count>
      <attachid>196750</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-04-08 10:35:43 -0700</bug_when>
    <thetext>Comment on attachment 196750
Patch

Yes!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>870861</commentid>
    <comment_count>3</comment_count>
      <attachid>196750</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-04-08 10:40:42 -0700</bug_when>
    <thetext>Comment on attachment 196750
Patch

Rejecting attachment 196750 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-commit-queue.appspot.com&apos;, &apos;--bot-id=webkit-cq-02&apos;, &apos;apply-attachment&apos;, &apos;--no-update&apos;, &apos;--non-interactive&apos;, 196750, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
owser.rc&apos;
patching file Tools/MiniBrowser/win/main.cpp
rm &apos;Tools/MiniBrowser/win/main.cpp&apos;
patching file Tools/MiniBrowser/win/resource.h
rm &apos;Tools/MiniBrowser/win/resource.h&apos;
patching file Tools/MiniBrowser/win/stdafx.cpp
rm &apos;Tools/MiniBrowser/win/stdafx.cpp&apos;
patching file Tools/MiniBrowser/win/stdafx.h
rm &apos;Tools/MiniBrowser/win/stdafx.h&apos;

Failed to run &quot;[u&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;, &apos;--reviewer&apos;, &apos;Anders Carlsson&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Full output: http://webkit-commit-queue.appspot.com/results/17498069</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>871268</commentid>
    <comment_count>4</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2013-04-08 16:52:41 -0700</bug_when>
    <thetext>Committed r147963: &lt;http://trac.webkit.org/changeset/147963&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>196750</attachid>
            <date>2013-04-06 12:34:42 -0700</date>
            <delta_ts>2013-04-08 10:40:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-114096.patch</filename>
            <type>text/plain</type>
            <size>59248</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBhNDc1MTM0Li42ZGVjNTc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUg
QEAKKzIwMTMtMDQtMDYgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgW1dJTl0gUmVtb3ZlIFdlYktpdDIgc291cmNlIGNvZGUKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNDA5NgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSBjb25kaXRpb25hbCBpbmNs
dWRlcyBmb3IgdGhlIHdpbmRvd3MgcGxhdGZvcm0uCisKKyAgICAgICAgKiBTaGFyZWQvQVBJL2Mv
V0tCYXNlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2FzdC5oOgorCiAyMDEz
LTA0LTA1ICBFZCBCYXJ0b3NoICA8YmFydG9zaEBnbWFpbC5jb20+CiAKICAgICAgICAgW1dLMl0g
LS1uby10aWxlZC1iYWNraW5nLXN0b3JlIGJ1aWxkIGZhaWxzIGJlY2F1c2UgRmxvYXRQb2ludCBp
cyBub3QgZGVjbGFyZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9X
S0Jhc2UuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0Jhc2UuaAppbmRleCA4YzI0
M2RiLi5kN2IxNWQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tC
YXNlLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLQmFzZS5oCkBAIC0yOSwx
MCArMjksNiBAQAogCiAjaW5jbHVkZSA8c3RkaW50Lmg+CiAKLSNpZiAoZGVmaW5lZChXSU4zMikg
fHwgZGVmaW5lZChfV0lOMzIpKSAmJiAhZGVmaW5lZChCVUlMRElOR19RVF9fKQotI2luY2x1ZGUg
PFdlYktpdDIvV0tCYXNlV2luLmg+Ci0jZW5kaWYKLQogI2lmIGRlZmluZWQoQlVJTERJTkdfR1RL
X18pCiAjaW5jbHVkZSA8V2ViS2l0Mi9XS0Jhc2VHdGsuaD4KICNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2FzdC5oIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2FzdC5oCmluZGV4IDA4MWQyMzIuLmFjMTQ5ZTYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0FQSUNhc3QuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tBUElDYXN0LmgKQEAgLTQ0MCwxMCAr
NDQwLDYgQEAgaW5saW5lIFByb3h5aW5nUmVmUHRyPFdlYkdyYW1tYXJEZXRhaWw+IHRvQVBJKGNv
bnN0IFdlYkNvcmU6OkdyYW1tYXJEZXRhaWwmIGdyYW0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CiAKLSNpZiAoZGVmaW5lZChXSU4zMikgfHwgZGVmaW5lZChfV0lOMzIpKSAmJiAhZGVmaW5lZChC
VUlMRElOR19RVF9fKQotI2luY2x1ZGUgIldLQVBJQ2FzdFdpbi5oIgotI2VuZGlmCi0KICNpZiBk
ZWZpbmVkKEJVSUxESU5HX0dUS19fKQogI2luY2x1ZGUgIldLQVBJQ2FzdEd0ay5oIgogI2VuZGlm
CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZDUz
ZWFkNi4uOWQwZmVlNiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEzLTA0LTA2ICBQYXRyaWNrIEdhbnN0ZXJlciAg
PHBhcm9nYUB3ZWJraXQub3JnPgorCisgICAgICAgIFtXSU5dIFJlbW92ZSBXZWJLaXQyIHNvdXJj
ZSBjb2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MTQwOTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBS
ZW1vdmUgdGhlIHdpbmRvd3Mgc3BlY2lmaWMgcGFydHMgb2YgdGhlIE1pbmlCcm93c2VyLgorCisg
ICAgICAgICogTWluaUJyb3dzZXIvTWluaUJyb3dzZXIudmNwcm9qOiBSZW1vdmVkLgorICAgICAg
ICAqIE1pbmlCcm93c2VyL01pbmlCcm93c2VyTGF1bmNoZXIudmNwcm9qOiBSZW1vdmVkLgorICAg
ICAgICAqIE1pbmlCcm93c2VyL01pbmlCcm93c2VyUG9zdEJ1aWxkLmNtZDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBNaW5pQnJvd3Nlci9NaW5pQnJvd3NlclByZUJ1aWxkLmNtZDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBNaW5pQnJvd3Nlci93aW4vQnJvd3NlclZpZXcuY3BwOiBSZW1vdmVkLgorICAgICAg
ICAqIE1pbmlCcm93c2VyL3dpbi9Ccm93c2VyVmlldy5oOiBSZW1vdmVkLgorICAgICAgICAqIE1p
bmlCcm93c2VyL3dpbi9Ccm93c2VyV2luZG93LmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBNaW5p
QnJvd3Nlci93aW4vQnJvd3NlcldpbmRvdy5oOiBSZW1vdmVkLgorICAgICAgICAqIE1pbmlCcm93
c2VyL3dpbi9NaW5pQnJvd3Nlci5jcHA6IFJlbW92ZWQuCisgICAgICAgICogTWluaUJyb3dzZXIv
d2luL01pbmlCcm93c2VyLmg6IFJlbW92ZWQuCisgICAgICAgICogTWluaUJyb3dzZXIvd2luL01p
bmlCcm93c2VyLnJjOiBSZW1vdmVkLgorICAgICAgICAqIE1pbmlCcm93c2VyL3dpbi9tYWluLmNw
cDogUmVtb3ZlZC4KKyAgICAgICAgKiBNaW5pQnJvd3Nlci93aW4vcmVzb3VyY2UuaDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBNaW5pQnJvd3Nlci93aW4vc3RkYWZ4LmNwcDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBNaW5pQnJvd3Nlci93aW4vc3RkYWZ4Lmg6IFJlbW92ZWQuCisKIDIwMTMtMDQtMDYgIEdl
b2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBSb2xsZWQgb3V0IDE0
NzgyMCBhbmQgMTQ3ODE4IGJlY2F1c2UgdGhleSBjYXVzZWQgcGx1Z2lucyB0ZXN0cyB0byBBU1NF
UlQKZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL01pbmlCcm93c2VyLnZjcHJvaiBiL1Rv
b2xzL01pbmlCcm93c2VyL01pbmlCcm93c2VyLnZjcHJvagpkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggYTUyZTIyMmEuLjAwMDAwMDAKLS0tIGEvVG9vbHMvTWluaUJyb3dzZXIvTWluaUJy
b3dzZXIudmNwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsNTA4ICswLDAgQEAKLTw/eG1sIHZlcnNp
b249IjEuMCIgZW5jb2Rpbmc9IldpbmRvd3MtMTI1MiI/PgotPFZpc3VhbFN0dWRpb1Byb2plY3QK
LQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyIKLQlWZXJzaW9uPSI4LjAwIgotCU5hbWU9Ik1pbmlC
cm93c2VyIgotCVByb2plY3RHVUlEPSJ7MTQ4MENGNUYtNDE2MC00N0I1LUEwRTYtOTZBRUM4MjU4
RkI1fSIKLQlSb290TmFtZXNwYWNlPSJNaW5pQnJvd3NlciIKLQlLZXl3b3JkPSJXaW4zMlByb2oi
Ci0JPgotCTxQbGF0Zm9ybXM+Ci0JCTxQbGF0Zm9ybQotCQkJTmFtZT0iV2luMzIiCi0JCS8+Ci0J
PC9QbGF0Zm9ybXM+Ci0JPFRvb2xGaWxlcz4KLQk8L1Rvb2xGaWxlcz4KLQk8Q29uZmlndXJhdGlv
bnM+Ci0JCTxDb25maWd1cmF0aW9uCi0JCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKLQkJCUNvbmZpZ3Vy
YXRpb25UeXBlPSIyIgotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5cQ29uZmlndXJhdGlv
bnNcTWluaUJyb3dzZXJEZWJ1Zy52c3Byb3BzIgotCQkJVXNlT2ZBVEw9IjEiCi0JCQlDaGFyYWN0
ZXJTZXQ9IjEiCi0JCQk+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wi
Ci0JCQkvPgotCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCIKLQkJCS8+Ci0J
CQk8VG9vbAotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiCi0JCQkvPgotCQkJPFRv
b2wKLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiCi0JCQkvPgotCQkJ
PFRvb2wKLQkJCQlOYW1lPSJWQ01JRExUb29sIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0i
VkNDTENvbXBpbGVyVG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDTWFuYWdlZFJl
c291cmNlQ29tcGlsZXJUb29sIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNSZXNvdXJj
ZUNvbXBpbGVyVG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50
VG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCIKLQkJCS8+Ci0J
CQk8VG9vbAotCQkJCU5hbWU9IlZDQUxpbmtUb29sIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFt
ZT0iVkNNYW5pZmVzdFRvb2wiCi0JCQkvPgotCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ1hEQ01ha2VU
b29sIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCIKLQkJCS8+Ci0J
CQk8VG9vbAotCQkJCU5hbWU9IlZDRnhDb3BUb29sIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFt
ZT0iVkNBcHBWZXJpZmllclRvb2wiCi0JCQkvPgotCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ1dlYkRl
cGxveW1lbnRUb29sIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVu
dFRvb2wiCi0JCQkvPgotCQk8L0NvbmZpZ3VyYXRpb24+Ci0JCTxDb25maWd1cmF0aW9uCi0JCQlO
YW1lPSJSZWxlYXNlfFdpbjMyIgotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiCi0JCQlJbmhlcml0
ZWRQcm9wZXJ0eVNoZWV0cz0iLlxDb25maWd1cmF0aW9uc1xNaW5pQnJvd3NlclJlbGVhc2UudnNw
cm9wcyIKLQkJCVVzZU9mQVRMPSIxIgotCQkJQ2hhcmFjdGVyU2V0PSIxIgotCQkJPgotCQkJPFRv
b2wKLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJ
TmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiCi0JCQkvPgotCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ1hN
TERhdGFHZW5lcmF0b3JUb29sIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNXZWJTZXJ2
aWNlUHJveHlHZW5lcmF0b3JUb29sIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNNSURM
VG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkv
PgotCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCIKLQkJ
CS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiCi0JCQkvPgot
CQkJPFRvb2wKLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiCi0JCQkvPgotCQkJPFRvb2wK
LQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiCi0JCQkvPgotCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ0FM
aW5rVG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIgotCQkJ
Lz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAot
CQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiCi0JCQkvPgotCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ0Z4
Q29wVG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIgot
CQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNXZWJEZXBsb3ltZW50VG9vbCIKLQkJCS8+Ci0J
CQk8VG9vbAotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIgotCQkJLz4KLQkJPC9Db25m
aWd1cmF0aW9uPgotCQk8Q29uZmlndXJhdGlvbgotCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgot
CQkJQ29uZmlndXJhdGlvblR5cGU9IjIiCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxD
b25maWd1cmF0aW9uc1xNaW5pQnJvd3NlckRlYnVnQWxsLnZzcHJvcHMiCi0JCQlVc2VPZkFUTD0i
MSIKLQkJCUNoYXJhY3RlclNldD0iMSIKLQkJCT4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNQcmVC
dWlsZEV2ZW50VG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRU
b29sIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCIK
LQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9v
bCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDTUlETFRvb2wiCi0JCQkvPgotCQkJPFRv
b2wKLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFt
ZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiCi0JCQkvPgotCQkJPFRvb2wKLQkJCQlO
YW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0i
VkNQcmVMaW5rRXZlbnRUb29sIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNMaW5rZXJU
b29sIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiCi0JCQkvPgotCQkJ
PFRvb2wKLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5h
bWU9IlZDWERDTWFrZVRvb2wiCi0JCQkvPgotCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ0JzY01ha2VU
b29sIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiCi0JCQkvPgotCQkJ
PFRvb2wKLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJ
CU5hbWU9IlZDV2ViRGVwbG95bWVudFRvb2wiCi0JCQkvPgotCQkJPFRvb2wKLQkJCQlOYW1lPSJW
Q1Bvc3RCdWlsZEV2ZW50VG9vbCIKLQkJCS8+Ci0JCTwvQ29uZmlndXJhdGlvbj4KLQkJPENvbmZp
Z3VyYXRpb24KLQkJCU5hbWU9IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIKLQkJCUNvbmZpZ3Vy
YXRpb25UeXBlPSIyIgotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5cQ29uZmlndXJhdGlv
bnNcTWluaUJyb3dzZXJEZWJ1Z0NhaXJvQ0ZMaXRlLnZzcHJvcHMiCi0JCQlVc2VPZkFUTD0iMSIK
LQkJCUNoYXJhY3RlclNldD0iMSIKLQkJCT4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNQcmVCdWls
ZEV2ZW50VG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29s
IgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCIKLQkJ
CS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCIK
LQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDTUlETFRvb2wiCi0JCQkvPgotCQkJPFRvb2wK
LQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0i
VkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiCi0JCQkvPgotCQkJPFRvb2wKLQkJCQlOYW1l
PSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNQ
cmVMaW5rRXZlbnRUb29sIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29s
IgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiCi0JCQkvPgotCQkJPFRv
b2wKLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9
IlZDWERDTWFrZVRvb2wiCi0JCQkvPgotCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29s
IgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiCi0JCQkvPgotCQkJPFRv
b2wKLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5h
bWU9IlZDV2ViRGVwbG95bWVudFRvb2wiCi0JCQkvPgotCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ1Bv
c3RCdWlsZEV2ZW50VG9vbCIKLQkJCS8+Ci0JCTwvQ29uZmlndXJhdGlvbj4KLQkJPENvbmZpZ3Vy
YXRpb24KLQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgotCQkJQ29uZmlndXJh
dGlvblR5cGU9IjIiCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxDb25maWd1cmF0aW9u
c1xNaW5pQnJvd3NlclJlbGVhc2VDYWlyb0NGTGl0ZS52c3Byb3BzIgotCQkJVXNlT2ZBVEw9IjEi
Ci0JCQlDaGFyYWN0ZXJTZXQ9IjEiCi0JCQk+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDUHJlQnVp
bGRFdmVudFRvb2wiCi0JCQkvPgotCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9v
bCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiCi0J
CQkvPgotCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wi
Ci0JCQkvPgotCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ01JRExUb29sIgotCQkJLz4KLQkJCTxUb29s
Ci0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9
IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFt
ZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZD
UHJlTGlua0V2ZW50VG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDTGlua2VyVG9v
bCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDQUxpbmtUb29sIgotCQkJLz4KLQkJCTxU
b29sCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiCi0JCQkvPgotCQkJPFRvb2wKLQkJCQlOYW1l
PSJWQ1hEQ01ha2VUb29sIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9v
bCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDRnhDb3BUb29sIgotCQkJLz4KLQkJCTxU
b29sCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiCi0JCQkvPgotCQkJPFRvb2wKLQkJCQlO
YW1lPSJWQ1dlYkRlcGxveW1lbnRUb29sIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNQ
b3N0QnVpbGRFdmVudFRvb2wiCi0JCQkvPgotCQk8L0NvbmZpZ3VyYXRpb24+Ci0JCTxDb25maWd1
cmF0aW9uCi0JCQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMyIgotCQkJQ29uZmlndXJhdGlvblR5cGU9
IjIiCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxDb25maWd1cmF0aW9uc1xNaW5pQnJv
d3NlclByb2R1Y3Rpb24udnNwcm9wcyIKLQkJCVVzZU9mQVRMPSIxIgotCQkJQ2hhcmFjdGVyU2V0
PSIxIgotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIgotCQkJPgotCQkJPFRvb2wKLQkJ
CQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0i
VkNDdXN0b21CdWlsZFRvb2wiCi0JCQkvPgotCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ1hNTERhdGFH
ZW5lcmF0b3JUb29sIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJv
eHlHZW5lcmF0b3JUb29sIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNNSURMVG9vbCIK
LQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkvPgotCQkJ
PFRvb2wKLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCIKLQkJCS8+Ci0J
CQk8VG9vbAotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiCi0JCQkvPgotCQkJPFRv
b2wKLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiCi0JCQkvPgotCQkJPFRvb2wKLQkJCQlO
YW1lPSJWQ0xpbmtlclRvb2wiCi0JCQkvPgotCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ0FMaW5rVG9v
bCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIgotCQkJLz4KLQkJ
CTxUb29sCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5h
bWU9IlZDQnNjTWFrZVRvb2wiCi0JCQkvPgotCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ0Z4Q29wVG9v
bCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIgotCQkJLz4K
LQkJCTxUb29sCi0JCQkJTmFtZT0iVkNXZWJEZXBsb3ltZW50VG9vbCIKLQkJCS8+Ci0JCQk8VG9v
bAotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIgotCQkJLz4KLQkJPC9Db25maWd1cmF0
aW9uPgotCTwvQ29uZmlndXJhdGlvbnM+Ci0JPFJlZmVyZW5jZXM+Ci0JPC9SZWZlcmVuY2VzPgot
CTxGaWxlcz4KLQkJPEZpbHRlcgotCQkJTmFtZT0iU291cmNlIEZpbGVzIgotCQkJRmlsdGVyPSJj
cHA7YztjYztjeHg7ZGVmO29kbDtpZGw7aHBqO2JhdDthc207YXNteCIKLQkJCVVuaXF1ZUlkZW50
aWZpZXI9Ins0RkM3MzdGMS1DN0E1LTQzNzYtQTA2Ni0yQTMyRDc1MkEyRkZ9IgotCQkJPgotCQkJ
PEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii5cd2luXEJyb3dzZXJWaWV3LmNwcCIKLQkJCQk+Ci0J
CQk8L0ZpbGU+Ci0JCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLlx3aW5cQnJvd3NlcldpbmRv
dy5jcHAiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii5c
d2luXG1haW4uY3BwIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQ
YXRoPSIuXHdpblxNaW5pQnJvd3Nlci5jcHAiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJPEZpbGUK
LQkJCQlSZWxhdGl2ZVBhdGg9Ii5cd2luXHN0ZGFmeC5jcHAiCi0JCQkJPgotCQkJCTxGaWxlQ29u
ZmlndXJhdGlvbgotCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKLQkJCQkJPgotCQkJCQk8VG9vbAot
CQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJCVVzZVByZWNvbXBpbGVkSGVhZGVy
PSIxIgotCQkJCQkvPgotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+Ci0JCQkJPEZpbGVDb25maWd1
cmF0aW9uCi0JCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCi0JCQkJCT4KLQkJCQkJPFRvb2wKLQkJ
CQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCQlVc2VQcmVjb21waWxlZEhlYWRlcj0i
MSIKLQkJCQkJLz4KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJCTxGaWxlQ29uZmlndXJh
dGlvbgotCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCi0JCQkJCT4KLQkJCQkJPFRvb2wKLQkJ
CQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCQlVc2VQcmVjb21waWxlZEhlYWRlcj0i
MSIKLQkJCQkJLz4KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJCTxGaWxlQ29uZmlndXJh
dGlvbgotCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCi0JCQkJCT4KLQkJCQkJ
PFRvb2wKLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCQlVc2VQcmVjb21waWxl
ZEhlYWRlcj0iMSIKLQkJCQkJLz4KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJCTxGaWxl
Q29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKLQkJ
CQkJPgotCQkJCQk8VG9vbAotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJCVVz
ZVByZWNvbXBpbGVkSGVhZGVyPSIxIgotCQkJCQkvPgotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+
Ci0JCQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIiCi0J
CQkJCT4KLQkJCQkJPFRvb2wKLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCQlV
c2VQcmVjb21waWxlZEhlYWRlcj0iMSIKLQkJCQkJLz4KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9u
PgotCQkJPC9GaWxlPgotCQk8L0ZpbHRlcj4KLQkJPEZpbHRlcgotCQkJTmFtZT0iSGVhZGVyIEZp
bGVzIgotCQkJRmlsdGVyPSJoO2hwcDtoeHg7aG07aW5sO2luYzt4c2QiCi0JCQlVbmlxdWVJZGVu
dGlmaWVyPSJ7OTM5OTUzODAtODlCRC00YjA0LTg4RUItNjI1RkJFNTJFQkZCfSIKLQkJCT4KLQkJ
CTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuXHdpblxCcm93c2VyVmlldy5oIgotCQkJCT4KLQkJ
CTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuXHdpblxCcm93c2VyV2luZG93
LmgiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii5cd2lu
XE1pbmlCcm93c2VyLmgiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2
ZVBhdGg9Ii5cd2luXFJlc291cmNlLmgiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJ
CQlSZWxhdGl2ZVBhdGg9Ii5cd2luXHN0ZGFmeC5oIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJPC9G
aWx0ZXI+Ci0JCTxGaWx0ZXIKLQkJCU5hbWU9IlJlc291cmNlIEZpbGVzIgotCQkJRmlsdGVyPSJy
YztpY287Y3VyO2JtcDtkbGc7cmMyO3JjdDtiaW47cmdzO2dpZjtqcGc7anBlZztqcGU7cmVzeDt0
aWZmO3RpZjtwbmc7d2F2IgotCQkJVW5pcXVlSWRlbnRpZmllcj0iezY3REE2QUI2LUY4MDAtNGMw
OC04QjdBLTgzQkIxMjFBQUQwMX0iCi0JCQk+Ci0JCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0i
Llx3aW5cTWluaUJyb3dzZXIucmMiCi0JCQkJPgotCQkJPC9GaWxlPgotCQk8L0ZpbHRlcj4KLQk8
L0ZpbGVzPgotCTxHbG9iYWxzPgotCTwvR2xvYmFscz4KLTwvVmlzdWFsU3R1ZGlvUHJvamVjdD4K
ZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL01pbmlCcm93c2VyTGF1bmNoZXIudmNwcm9q
IGIvVG9vbHMvTWluaUJyb3dzZXIvTWluaUJyb3dzZXJMYXVuY2hlci52Y3Byb2oKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMzMGZmYWQuLjAwMDAwMDAKLS0tIGEvVG9vbHMvTWluaUJy
b3dzZXIvTWluaUJyb3dzZXJMYXVuY2hlci52Y3Byb2oKKysrIC9kZXYvbnVsbApAQCAtMSwzOTYg
KzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+Ci08
VmlzdWFsU3R1ZGlvUHJvamVjdAotCVByb2plY3RUeXBlPSJWaXN1YWwgQysrIgotCVZlcnNpb249
IjguMDAiCi0JTmFtZT0iTWluaUJyb3dzZXJMYXVuY2hlciIKLQlQcm9qZWN0R1VJRD0iezdBRjRF
QkZCLUNDQkMtNDQ4Ri1BMzZBLTgyMTBFMDhENkE3RH0iCi0JUm9vdE5hbWVzcGFjZT0iTWluaUJy
b3dzZXJMYXVuY2hlciIKLQlLZXl3b3JkPSJXaW4zMlByb2oiCi0JPgotCTxQbGF0Zm9ybXM+Ci0J
CTxQbGF0Zm9ybQotCQkJTmFtZT0iV2luMzIiCi0JCS8+Ci0JPC9QbGF0Zm9ybXM+Ci0JPFRvb2xG
aWxlcz4KLQk8L1Rvb2xGaWxlcz4KLQk8Q29uZmlndXJhdGlvbnM+Ci0JCTxDb25maWd1cmF0aW9u
Ci0JCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIxIgotCQkJSW5o
ZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5cQ29uZmlndXJhdGlvbnNcTWluaUJyb3dzZXJMYXVuY2hl
ckRlYnVnLnZzcHJvcHMiCi0JCQlDaGFyYWN0ZXJTZXQ9IjEiCi0JCQk+Ci0JCQk8VG9vbAotCQkJ
CU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiCi0JCQkvPgotCQkJPFRvb2wKLQkJCQlOYW1lPSJW
Q0N1c3RvbUJ1aWxkVG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDWE1MRGF0YUdl
bmVyYXRvclRvb2wiCi0JCQkvPgotCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94
eUdlbmVyYXRvclRvb2wiCi0JCQkvPgotCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ01JRExUb29sIgot
CQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCS8+Ci0JCQk8
VG9vbAotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIgotCQkJLz4KLQkJ
CTxUb29sCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCIKLQkJCS8+Ci0JCQk8VG9v
bAotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5h
bWU9IlZDTGlua2VyVG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDQUxpbmtUb29s
IgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiCi0JCQkvPgotCQkJ
PFRvb2wKLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFt
ZT0iVkNCc2NNYWtlVG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDRnhDb3BUb29s
IgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiCi0JCQkvPgot
CQkJPFRvb2wKLQkJCQlOYW1lPSJWQ1dlYkRlcGxveW1lbnRUb29sIgotCQkJLz4KLQkJCTxUb29s
Ci0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiCi0JCQkvPgotCQk8L0NvbmZpZ3VyYXRp
b24+Ci0JCTxDb25maWd1cmF0aW9uCi0JCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgotCQkJQ29uZmln
dXJhdGlvblR5cGU9IjEiCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxDb25maWd1cmF0
aW9uc1xNaW5pQnJvd3NlckxhdW5jaGVyUmVsZWFzZS52c3Byb3BzIgotCQkJQ2hhcmFjdGVyU2V0
PSIxIgotCQkJPgotCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIgotCQkJ
Lz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiCi0JCQkvPgotCQkJPFRv
b2wKLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIgotCQkJLz4KLQkJCTxUb29sCi0J
CQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIgotCQkJLz4KLQkJCTxUb29s
Ci0JCQkJTmFtZT0iVkNNSURMVG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDQ0xD
b21waWxlclRvb2wiCi0JCQkvPgotCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJj
ZUNvbXBpbGVyVG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21w
aWxlclRvb2wiCi0JCQkvPgotCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wi
Ci0JCQkvPgotCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiCi0JCQkvPgotCQkJPFRv
b2wKLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZD
TWFuaWZlc3RUb29sIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCIK
LQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiCi0JCQkvPgotCQkJPFRv
b2wKLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZD
QXBwVmVyaWZpZXJUb29sIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNXZWJEZXBsb3lt
ZW50VG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29s
IgotCQkJLz4KLQkJPC9Db25maWd1cmF0aW9uPgotCQk8Q29uZmlndXJhdGlvbgotCQkJTmFtZT0i
RGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgotCQkJQ29uZmlndXJhdGlvblR5cGU9IjEiCi0JCQlJ
bmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxDb25maWd1cmF0aW9uc1xNaW5pQnJvd3NlckxhdW5j
aGVyRGVidWdDYWlyb0NGTGl0ZS52c3Byb3BzIgotCQkJQ2hhcmFjdGVyU2V0PSIxIgotCQkJPgot
CQkJPFRvb2wKLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIgotCQkJLz4KLQkJCTxUb29s
Ci0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiCi0JCQkvPgotCQkJPFRvb2wKLQkJCQlOYW1l
PSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNX
ZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0i
VkNNSURMVG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wi
Ci0JCQkvPgotCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9v
bCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiCi0J
CQkvPgotCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiCi0JCQkvPgotCQkJ
PFRvb2wKLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiCi0JCQkvPgotCQkJPFRvb2wKLQkJCQlOYW1l
PSJWQ0FMaW5rVG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29s
IgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCIKLQkJCS8+Ci0JCQk8
VG9vbAotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiCi0JCQkvPgotCQkJPFRvb2wKLQkJCQlOYW1l
PSJWQ0Z4Q29wVG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJU
b29sIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNXZWJEZXBsb3ltZW50VG9vbCIKLQkJ
CS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIgotCQkJLz4KLQkJ
PC9Db25maWd1cmF0aW9uPgotCQk8Q29uZmlndXJhdGlvbgotCQkJTmFtZT0iRGVidWdfQWxsfFdp
bjMyIgotCQkJQ29uZmlndXJhdGlvblR5cGU9IjEiCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0
cz0iLlxDb25maWd1cmF0aW9uc1xNaW5pQnJvd3NlckxhdW5jaGVyRGVidWdBbGwudnNwcm9wcyIK
LQkJCUNoYXJhY3RlclNldD0iMSIKLQkJCT4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNQcmVCdWls
ZEV2ZW50VG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29s
IgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCIKLQkJ
CS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCIK
LQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDTUlETFRvb2wiCi0JCQkvPgotCQkJPFRvb2wK
LQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0i
VkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiCi0JCQkvPgotCQkJPFRvb2wKLQkJCQlOYW1l
PSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNQ
cmVMaW5rRXZlbnRUb29sIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29s
IgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiCi0JCQkvPgotCQkJPFRv
b2wKLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9
IlZDWERDTWFrZVRvb2wiCi0JCQkvPgotCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29s
IgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiCi0JCQkvPgotCQkJPFRv
b2wKLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5h
bWU9IlZDV2ViRGVwbG95bWVudFRvb2wiCi0JCQkvPgotCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ1Bv
c3RCdWlsZEV2ZW50VG9vbCIKLQkJCS8+Ci0JCTwvQ29uZmlndXJhdGlvbj4KLQkJPENvbmZpZ3Vy
YXRpb24KLQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIiCi0JCQlDb25maWd1cmF0aW9uVHlwZT0i
MSIKLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXENvbmZpZ3VyYXRpb25zXE1pbmlCcm93
c2VyTGF1bmNoZXJQcm9kdWN0aW9uLnZzcHJvcHMiCi0JCQlDaGFyYWN0ZXJTZXQ9IjEiCi0JCQlX
aG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiCi0JCQk+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZD
UHJlQnVpbGRFdmVudFRvb2wiCi0JCQkvPgotCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1
aWxkVG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRv
b2wiCi0JCQkvPgotCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRv
clRvb2wiCi0JCQkvPgotCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ01JRExUb29sIgotCQkJLz4KLQkJ
CTxUb29sCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJ
CU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIgotCQkJLz4KLQkJCTxUb29sCi0J
CQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5h
bWU9IlZDUHJlTGlua0V2ZW50VG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDTGlu
a2VyVG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDQUxpbmtUb29sIgotCQkJLz4K
LQkJCTxUb29sCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiCi0JCQkvPgotCQkJPFRvb2wKLQkJ
CQlOYW1lPSJWQ1hEQ01ha2VUb29sIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNCc2NN
YWtlVG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDRnhDb3BUb29sIgotCQkJLz4K
LQkJCTxUb29sCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiCi0JCQkvPgotCQkJPFRvb2wK
LQkJCQlOYW1lPSJWQ1dlYkRlcGxveW1lbnRUb29sIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFt
ZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiCi0JCQkvPgotCQk8L0NvbmZpZ3VyYXRpb24+Ci0JCTxD
b25maWd1cmF0aW9uCi0JCQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKLQkJCUNv
bmZpZ3VyYXRpb25UeXBlPSIxIgotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5cQ29uZmln
dXJhdGlvbnNcTWluaUJyb3dzZXJMYXVuY2hlclJlbGVhc2VDYWlyb0NGTGl0ZS52c3Byb3BzIgot
CQkJQ2hhcmFjdGVyU2V0PSIxIgotCQkJPgotCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ1ByZUJ1aWxk
RXZlbnRUb29sIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wi
Ci0JCQkvPgotCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIgotCQkJ
Lz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIgot
CQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0iVkNNSURMVG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAot
CQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkvPgotCQkJPFRvb2wKLQkJCQlOYW1lPSJW
Q01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9
IlZDUmVzb3VyY2VDb21waWxlclRvb2wiCi0JCQkvPgotCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ1By
ZUxpbmtFdmVudFRvb2wiCi0JCQkvPgotCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wi
Ci0JCQkvPgotCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCIKLQkJCS8+Ci0JCQk8VG9v
bAotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFtZT0i
VkNYRENNYWtlVG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wi
Ci0JCQkvPgotCQkJPFRvb2wKLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCIKLQkJCS8+Ci0JCQk8VG9v
bAotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIgotCQkJLz4KLQkJCTxUb29sCi0JCQkJTmFt
ZT0iVkNXZWJEZXBsb3ltZW50VG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAotCQkJCU5hbWU9IlZDUG9z
dEJ1aWxkRXZlbnRUb29sIgotCQkJLz4KLQkJPC9Db25maWd1cmF0aW9uPgotCTwvQ29uZmlndXJh
dGlvbnM+Ci0JPFJlZmVyZW5jZXM+Ci0JPC9SZWZlcmVuY2VzPgotCTxGaWxlcz4KLQkJPEZpbGUK
LQkJCVJlbGF0aXZlUGF0aD0iLi5cd2luXERMTExhdW5jaGVyXERMTExhdW5jaGVyTWFpbi5jcHAi
Ci0JCQk+Ci0JCTwvRmlsZT4KLQk8L0ZpbGVzPgotCTxHbG9iYWxzPgotCTwvR2xvYmFscz4KLTwv
VmlzdWFsU3R1ZGlvUHJvamVjdD4KZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL01pbmlC
cm93c2VyUG9zdEJ1aWxkLmNtZCBiL1Rvb2xzL01pbmlCcm93c2VyL01pbmlCcm93c2VyUG9zdEJ1
aWxkLmNtZApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWRlYTAyNi4uMDAwMDAwMAot
LS0gYS9Ub29scy9NaW5pQnJvd3Nlci9NaW5pQnJvd3NlclBvc3RCdWlsZC5jbWQKKysrIC9kZXYv
bnVsbApAQCAtMSwyOSArMCwwIEBACi1ta2RpciAyPk5VTCAiJUNPTkZJR1VSQVRJT05CVUlMRERJ
UiVcYmluIgotCi1pZiBleGlzdCAiJVdFQktJVExJQlJBUklFU0RJUiVcYmluXENvcmVGb3VuZGF0
aW9uJUxJQlJBUllDT05GSUdTVUZGSVglLmRsbCIgeGNvcHkgL3kgL2QgIiVXRUJLSVRMSUJSQVJJ
RVNESVIlXGJpblxDb3JlRm91bmRhdGlvbiVMSUJSQVJZQ09ORklHU1VGRklYJS5kbGwiICIlQ09O
RklHVVJBVElPTkJVSUxERElSJVxiaW4iCi1pZiBleGlzdCAiJVdFQktJVExJQlJBUklFU0RJUiVc
YmluXENvcmVGb3VuZGF0aW9uJUxJQlJBUllDT05GSUdTVUZGSVglLnBkYiIgeGNvcHkgL3kgL2Qg
IiVXRUJLSVRMSUJSQVJJRVNESVIlXGJpblxDb3JlRm91bmRhdGlvbiVMSUJSQVJZQ09ORklHU1VG
RklYJS5wZGIiICIlQ09ORklHVVJBVElPTkJVSUxERElSJVxiaW4iCi1pZiBleGlzdCAiJVdFQktJ
VExJQlJBUklFU0RJUiVcYmluXENGTmV0d29yayVMSUJSQVJZQ09ORklHU1VGRklYJS5kbGwiIHhj
b3B5IC95IC9kICIlV0VCS0lUTElCUkFSSUVTRElSJVxiaW5cQ0ZOZXR3b3JrJUxJQlJBUllDT05G
SUdTVUZGSVglLmRsbCIgIiVDT05GSUdVUkFUSU9OQlVJTERESVIlXGJpbiIKLWlmIGV4aXN0ICIl
V0VCS0lUTElCUkFSSUVTRElSJVxiaW5cQ0ZOZXR3b3JrJUxJQlJBUllDT05GSUdTVUZGSVglLnBk
YiIgeGNvcHkgL3kgL2QgIiVXRUJLSVRMSUJSQVJJRVNESVIlXGJpblxDRk5ldHdvcmslTElCUkFS
WUNPTkZJR1NVRkZJWCUucGRiIiAiJUNPTkZJR1VSQVRJT05CVUlMRERJUiVcYmluIgotaWYgZXhp
c3QgIiVXRUJLSVRMSUJSQVJJRVNESVIlXGJpblxDRk5ldHdvcmsucmVzb3VyY2VzIiB4Y29weSAv
eSAvZCAvZSAvaSAiJVdFQktJVExJQlJBUklFU0RJUiVcYmluXENGTmV0d29yay5yZXNvdXJjZXMi
ICIlQ09ORklHVVJBVElPTkJVSUxERElSJVxiaW5cQ0ZOZXR3b3JrLnJlc291cmNlcyIKLWlmIGV4
aXN0ICIlV0VCS0lUTElCUkFSSUVTRElSJVxiaW5cQ29yZUZvdW5kYXRpb24ucmVzb3VyY2VzIiB4
Y29weSAveSAvZCAvZSAvaSAiJVdFQktJVExJQlJBUklFU0RJUiVcYmluXENvcmVGb3VuZGF0aW9u
LnJlc291cmNlcyIgIiVDT05GSUdVUkFUSU9OQlVJTERESVIlXGJpblxDb3JlRm91bmRhdGlvbi5y
ZXNvdXJjZXMiCi1pZiBleGlzdCAiJVdFQktJVExJQlJBUklFU0RJUiVcYmluXENvcmVHcmFwaGlj
cyVMSUJSQVJZQ09ORklHU1VGRklYJS5kbGwiIHhjb3B5IC95IC9kICIlV0VCS0lUTElCUkFSSUVT
RElSJVxiaW5cQ29yZUdyYXBoaWNzJUxJQlJBUllDT05GSUdTVUZGSVglLmRsbCIgIiVDT05GSUdV
UkFUSU9OQlVJTERESVIlXGJpbiIKLWlmIGV4aXN0ICIlV0VCS0lUTElCUkFSSUVTRElSJVxiaW5c
Q29yZUdyYXBoaWNzJUxJQlJBUllDT05GSUdTVUZGSVglLnBkYiIgeGNvcHkgL3kgL2QgIiVXRUJL
SVRMSUJSQVJJRVNESVIlXGJpblxDb3JlR3JhcGhpY3MlTElCUkFSWUNPTkZJR1NVRkZJWCUucGRi
IiAiJUNPTkZJR1VSQVRJT05CVUlMRERJUiVcYmluIgotaWYgZXhpc3QgIiVXRUJLSVRMSUJSQVJJ
RVNESVIlXGJpblxpY3VpbjQwJUxJQlJBUllDT05GSUdTVUZGSVglLmRsbCIgeGNvcHkgL3kgL2Qg
IiVXRUJLSVRMSUJSQVJJRVNESVIlXGJpblxpY3VpbjQwJUxJQlJBUllDT05GSUdTVUZGSVglLmRs
bCIgIiVDT05GSUdVUkFUSU9OQlVJTERESVIlXGJpbiIKLWlmIGV4aXN0ICIlV0VCS0lUTElCUkFS
SUVTRElSJVxiaW5caWN1aW40MCVMSUJSQVJZQ09ORklHU1VGRklYJS5wZGIiIHhjb3B5IC95IC9k
ICIlV0VCS0lUTElCUkFSSUVTRElSJVxiaW5caWN1aW40MCVMSUJSQVJZQ09ORklHU1VGRklYJS5w
ZGIiICIlQ09ORklHVVJBVElPTkJVSUxERElSJVxiaW4iCi1pZiBleGlzdCAiJVdFQktJVExJQlJB
UklFU0RJUiVcYmluXGljdXVjNDAlTElCUkFSWUNPTkZJR1NVRkZJWCUuZGxsIiB4Y29weSAveSAv
ZCAiJVdFQktJVExJQlJBUklFU0RJUiVcYmluXGljdXVjNDAlTElCUkFSWUNPTkZJR1NVRkZJWCUu
ZGxsIiAiJUNPTkZJR1VSQVRJT05CVUlMRERJUiVcYmluIgotaWYgZXhpc3QgIiVXRUJLSVRMSUJS
QVJJRVNESVIlXGJpblxpY3V1YzQwJUxJQlJBUllDT05GSUdTVUZGSVglLnBkYiIgeGNvcHkgL3kg
L2QgIiVXRUJLSVRMSUJSQVJJRVNESVIlXGJpblxpY3V1YzQwJUxJQlJBUllDT05GSUdTVUZGSVgl
LnBkYiIgIiVDT05GSUdVUkFUSU9OQlVJTERESVIlXGJpbiIKLWlmIGV4aXN0ICIlV0VCS0lUTElC
UkFSSUVTRElSJVxiaW5cbGlieG1sMiVMSUJSQVJZQ09ORklHU1VGRklYJS5kbGwiIHhjb3B5IC95
IC9kICIlV0VCS0lUTElCUkFSSUVTRElSJVxiaW5cbGlieG1sMiVMSUJSQVJZQ09ORklHU1VGRklY
JS5kbGwiICIlQ09ORklHVVJBVElPTkJVSUxERElSJVxiaW4iCi1pZiBleGlzdCAiJVdFQktJVExJ
QlJBUklFU0RJUiVcYmluXGxpYnhzbHQlTElCUkFSWUNPTkZJR1NVRkZJWCUuZGxsIiB4Y29weSAv
eSAvZCAiJVdFQktJVExJQlJBUklFU0RJUiVcYmluXGxpYnhzbHQlTElCUkFSWUNPTkZJR1NVRkZJ
WCUuZGxsIiAiJUNPTkZJR1VSQVRJT05CVUlMRERJUiVcYmluIgotaWYgZXhpc3QgIiVXRUJLSVRM
SUJSQVJJRVNESVIlXGJpblxwdGhyZWFkVkMyJUxJQlJBUllDT05GSUdTVUZGSVglLmRsbCIgeGNv
cHkgL3kgL2QgIiVXRUJLSVRMSUJSQVJJRVNESVIlXGJpblxwdGhyZWFkVkMyJUxJQlJBUllDT05G
SUdTVUZGSVglLmRsbCIgIiVDT05GSUdVUkFUSU9OQlVJTERESVIlXGJpbiIKLWlmIGV4aXN0ICIl
V0VCS0lUTElCUkFSSUVTRElSJVxiaW5ccHRocmVhZFZDMiVMSUJSQVJZQ09ORklHU1VGRklYJS5w
ZGIiIHhjb3B5IC95IC9kICIlV0VCS0lUTElCUkFSSUVTRElSJVxiaW5ccHRocmVhZFZDMiVMSUJS
QVJZQ09ORklHU1VGRklYJS5wZGIiICIlQ09ORklHVVJBVElPTkJVSUxERElSJVxiaW4iCi1pZiBl
eGlzdCAiJVdFQktJVExJQlJBUklFU0RJUiVcYmluXFNRTGl0ZTMlTElCUkFSWUNPTkZJR1NVRkZJ
WCUuZGxsIiB4Y29weSAveSAvZCAiJVdFQktJVExJQlJBUklFU0RJUiVcYmluXFNRTGl0ZTMlTElC
UkFSWUNPTkZJR1NVRkZJWCUuZGxsIiAiJUNPTkZJR1VSQVRJT05CVUlMRERJUiVcYmluIgotaWYg
ZXhpc3QgIiVXRUJLSVRMSUJSQVJJRVNESVIlXGJpblxTUUxpdGUzJUxJQlJBUllDT05GSUdTVUZG
SVglLnBkYiIgeGNvcHkgL3kgL2QgIiVXRUJLSVRMSUJSQVJJRVNESVIlXGJpblxTUUxpdGUzJUxJ
QlJBUllDT05GSUdTVUZGSVglLnBkYiIgIiVDT05GSUdVUkFUSU9OQlVJTERESVIlXGJpbiIKLWlm
IGV4aXN0ICIlV0VCS0lUTElCUkFSSUVTRElSJVxiaW5cemxpYjElTElCUkFSWUNPTkZJR1NVRkZJ
WCUuZGxsIiB4Y29weSAveSAvZCAiJVdFQktJVExJQlJBUklFU0RJUiVcYmluXHpsaWIxJUxJQlJB
UllDT05GSUdTVUZGSVglLmRsbCIgIiVDT05GSUdVUkFUSU9OQlVJTERESVIlXGJpbiIKLWlmIGV4
aXN0ICIlV0VCS0lUTElCUkFSSUVTRElSJVxiaW5cemxpYjElTElCUkFSWUNPTkZJR1NVRkZJWCUu
cGRiIiB4Y29weSAveSAvZCAiJVdFQktJVExJQlJBUklFU0RJUiVcYmluXHpsaWIxJUxJQlJBUllD
T05GSUdTVUZGSVglLnBkYiIgIiVDT05GSUdVUkFUSU9OQlVJTERESVIlXGJpbiIKLWlmIGV4aXN0
ICIlV0VCS0lUTElCUkFSSUVTRElSJVxiaW5cb2JqYyVMSUJSQVJZQ09ORklHU1VGRklYJS5kbGwi
IHhjb3B5IC95IC9kICIlV0VCS0lUTElCUkFSSUVTRElSJVxiaW5cb2JqYyVMSUJSQVJZQ09ORklH
U1VGRklYJS5kbGwiICIlQ09ORklHVVJBVElPTkJVSUxERElSJVxiaW4iCi1pZiBleGlzdCAiJVdF
QktJVExJQlJBUklFU0RJUiVcYmluXG9iamMlTElCUkFSWUNPTkZJR1NVRkZJWCUucGRiIiB4Y29w
eSAveSAvZCAiJVdFQktJVExJQlJBUklFU0RJUiVcYmluXG9iamMlTElCUkFSWUNPTkZJR1NVRkZJ
WCUucGRiIiAiJUNPTkZJR1VSQVRJT05CVUlMRERJUiVcYmluIgotCi1pZiBleGlzdCAiJVdFQktJ
VExJQlJBUklFU0RJUiVcYmluXFF1YXJ0ekNvcmUlTElCUkFSWUNPTkZJR1NVRkZJWCUuZGxsIiB4
Y29weSAveSAvZCAiJVdFQktJVExJQlJBUklFU0RJUiVcYmluXFF1YXJ0ekNvcmUlTElCUkFSWUNP
TkZJR1NVRkZJWCUuZGxsIiAiJUNPTkZJR1VSQVRJT05CVUlMRERJUiVcYmluIgotaWYgZXhpc3Qg
IiVXRUJLSVRMSUJSQVJJRVNESVIlXGJpblxRdWFydHpDb3JlJUxJQlJBUllDT05GSUdTVUZGSVgl
LnBkYiIgeGNvcHkgL3kgL2QgIiVXRUJLSVRMSUJSQVJJRVNESVIlXGJpblxRdWFydHpDb3JlJUxJ
QlJBUllDT05GSUdTVUZGSVglLnBkYiIgIiVDT05GSUdVUkFUSU9OQlVJTERESVIlXGJpbiIKLQot
aWYgZXhpc3QgIiVDT05GSUdVUkFUSU9OQlVJTERESVIlXGJ1aWxkZmFpbGVkIiBkZWwgIiVDT05G
SUdVUkFUSU9OQlVJTERESVIlXGJ1aWxkZmFpbGVkIgpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJy
b3dzZXIvTWluaUJyb3dzZXJQcmVCdWlsZC5jbWQgYi9Ub29scy9NaW5pQnJvd3Nlci9NaW5pQnJv
d3NlclByZUJ1aWxkLmNtZApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODMzYWU1Yi4u
MDAwMDAwMAotLS0gYS9Ub29scy9NaW5pQnJvd3Nlci9NaW5pQnJvd3NlclByZUJ1aWxkLmNtZAor
KysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotc2V0IFBBVEg9JVN5c3RlbURyaXZlJVxjeWd3
aW5cYmluOyVQQVRIJQotCi1pZiBleGlzdCAiJUNPTkZJR1VSQVRJT05CVUlMRERJUiVcYnVpbGRm
YWlsZWQiIGdyZXAgWFglUFJPSkVDVE5BTUUlWFggIiVDT05GSUdVUkFUSU9OQlVJTERESVIlXGJ1
aWxkZmFpbGVkIgotaWYgZXJyb3JsZXZlbCAxIGV4aXQgMQotZWNobyBYWCVQUk9KRUNUTkFNRSVY
WCA+ICIlQ09ORklHVVJBVElPTkJVSUxERElSJVxidWlsZGZhaWxlZCIKZGlmZiAtLWdpdCBhL1Rv
b2xzL01pbmlCcm93c2VyL3dpbi9Ccm93c2VyVmlldy5jcHAgYi9Ub29scy9NaW5pQnJvd3Nlci93
aW4vQnJvd3NlclZpZXcuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwYTY4NThl
Li4wMDAwMDAwCi0tLSBhL1Rvb2xzL01pbmlCcm93c2VyL3dpbi9Ccm93c2VyVmlldy5jcHAKKysr
IC9kZXYvbnVsbApAQCAtMSwxNjQgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
LSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgot
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJTdGRB
ZnguaCIKLSNpbmNsdWRlICJCcm93c2VyVmlldy5oIgotCi0jaW5jbHVkZSAiQnJvd3NlcldpbmRv
dy5oIgotI2luY2x1ZGUgPFdlYktpdDIvV0tDb250ZXh0UHJpdmF0ZS5oPgotI2luY2x1ZGUgPFdl
YktpdDIvV0tVUkxDRi5oPgotCi1zdGF0aWMgY29uc3QgdW5zaWduZWQgc2hvcnQgSElHSF9CSVRf
TUFTS19TSE9SVCA9IDB4ODAwMDsKLQotQnJvd3NlclZpZXc6OkJyb3dzZXJWaWV3KCkKLSAgICA6
IG1fd2ViVmlldygwKQotewotfQotCi0vLyBVSSBDbGllbnQgQ2FsbGJhY2tzCi0KLXN0YXRpYyBX
S1BhZ2VSZWYgY3JlYXRlTmV3UGFnZShXS1BhZ2VSZWYgcGFnZSwgV0tVUkxSZXF1ZXN0UmVmIHJl
cXVlc3QsIFdLRGljdGlvbmFyeVJlZiBmZWF0dXJlcywgV0tFdmVudE1vZGlmaWVycyBtb2RpZmll
cnMsIFdLRXZlbnRNb3VzZUJ1dHRvbiBtb3VzZUJ1dHRvbiwgY29uc3Qgdm9pZCogY2xpZW50SW5m
bykKLXsKLSAgICBCcm93c2VyV2luZG93KiBicm93c2VyV2luZG93ID0gQnJvd3NlcldpbmRvdzo6
Y3JlYXRlKCk7Ci0gICAgYnJvd3NlcldpbmRvdy0+Y3JlYXRlV2luZG93KDAsIDAsIDgwMCwgNjAw
KTsKLQotICAgIHJldHVybiBXS1ZpZXdHZXRQYWdlKGJyb3dzZXJXaW5kb3ctPnZpZXcoKS53ZWJW
aWV3KCkpOwotfQotCi1zdGF0aWMgdm9pZCBzaG93UGFnZShXS1BhZ2VSZWYgcGFnZSwgY29uc3Qg
dm9pZCAqY2xpZW50SW5mbykKLXsKLSAgICBzdGF0aWNfY2FzdDxCcm93c2VyV2luZG93Kj4oY29u
c3RfY2FzdDx2b2lkKj4oY2xpZW50SW5mbykpLT5zaG93V2luZG93KCk7Ci19Ci0KLXN0YXRpYyB2
b2lkIGNsb3NlUGFnZShXS1BhZ2VSZWYgcGFnZSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbykKLXsK
LX0KLQotc3RhdGljIHZvaWQgcnVuSmF2YVNjcmlwdEFsZXJ0KFdLUGFnZVJlZiBwYWdlLCBXS1N0
cmluZ1JlZiBhbGVydFRleHQsIFdLRnJhbWVSZWYgZnJhbWUsIGNvbnN0IHZvaWQqIGNsaWVudElu
Zm8pCi17Ci19Ci0KLXN0YXRpYyBib29sIHJ1bkphdmFTY3JpcHRDb25maXJtKFdLUGFnZVJlZiBw
YWdlLCBXS1N0cmluZ1JlZiBtZXNzYWdlLCBXS0ZyYW1lUmVmIGZyYW1lLCBjb25zdCB2b2lkKiBj
bGllbnRJbmZvKQotewotICAgIHJldHVybiBmYWxzZTsKLX0KLQotc3RhdGljIFdLU3RyaW5nUmVm
IHJ1bkphdmFTY3JpcHRQcm9tcHQoV0tQYWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVmIG1lc3NhZ2Us
IFdLU3RyaW5nUmVmIGRlZmF1bHRWYWx1ZSwgV0tGcmFtZVJlZiBmcmFtZSwgY29uc3Qgdm9pZCog
Y2xpZW50SW5mbykKLXsKLSAgICByZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgc2V0U3RhdHVz
VGV4dChXS1BhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgdGV4dCwgY29uc3Qgdm9pZCogY2xpZW50
SW5mbykKLXsKLX0KLQotc3RhdGljIHZvaWQgbW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQoV0tQYWdl
UmVmIHBhZ2UsIFdLSGl0VGVzdFJlc3VsdFJlZiBoaXRUZXN0UmVzdWx0LCBXS0V2ZW50TW9kaWZp
ZXJzIG1vZGlmaWVycywgV0tUeXBlUmVmIHVzZXJEYXRhLCBjb25zdCB2b2lkICpjbGllbnRJbmZv
KQotewotfQotCi12b2lkIEJyb3dzZXJWaWV3OjpjcmVhdGUoUkVDVCB3ZWJWaWV3UmVjdCwgQnJv
d3NlcldpbmRvdyogcGFyZW50V2luZG93KQotewotICAgIGFzc2VydCghbV93ZWJWaWV3KTsKLQot
ICAgIHN0YXRpYyBXS0NvbnRleHRSZWYgY29udGV4dCA9IFdLQ29udGV4dENyZWF0ZSgpOwotCi0g
ICAgbV93ZWJWaWV3ID0gV0tWaWV3Q3JlYXRlKHdlYlZpZXdSZWN0LCBjb250ZXh0LCAwLCBwYXJl
bnRXaW5kb3ctPndpbmRvdygpKTsKLQotICAgIFdLUGFnZVVJQ2xpZW50IHVpQ2xpZW50ID0gewot
ICAgICAgICBrV0tQYWdlVUlDbGllbnRDdXJyZW50VmVyc2lvbiwKLSAgICAgICAgcGFyZW50V2lu
ZG93LCAgIC8qIGNsaWVudEluZm8gKi8KLSAgICAgICAgMCwgICAgICAgICAgLyogY3JlYXRlTmV3
UGFnZV9kZXByZWNhdGVkRm9yVXNlV2l0aFYwICovCi0gICAgICAgIHNob3dQYWdlLAotICAgICAg
ICBjbG9zZVBhZ2UsCi0gICAgICAgIDAsICAgICAgICAgIC8qIHRha2VGb2N1cyAqLwotICAgICAg
ICAwLCAgICAgICAgICAvKiBmb2N1cyAqLwotICAgICAgICAwLCAgICAgICAgICAvKiB1bmZvY3Vz
ICovCi0gICAgICAgIHJ1bkphdmFTY3JpcHRBbGVydCwKLSAgICAgICAgcnVuSmF2YVNjcmlwdENv
bmZpcm0sCi0gICAgICAgIHJ1bkphdmFTY3JpcHRQcm9tcHQsCi0gICAgICAgIHNldFN0YXR1c1Rl
eHQsCi0gICAgICAgIDAsICAgICAgICAgIC8qIG1vdXNlRGlkTW92ZU92ZXJFbGVtZW50X2RlcHJl
Y2F0ZWRGb3JVc2VXaXRoVjAgKi8KLSAgICAgICAgMCwgICAgICAgICAgLyogbWlzc2luZ1BsdWdp
bkJ1dHRvbkNsaWNrZWQgKi8KLSAgICAgICAgMCwgICAgICAgICAgLyogZGlkTm90SGFuZGxlS2V5
RXZlbnQgKi8KLSAgICAgICAgMCwgICAgICAgICAgLyogZGlkTm90SGFuZGxlV2hlZWxFdmVudCAq
LwotICAgICAgICAwLCAgICAgICAgICAvKiB0b29sYmFyc0FyZVZpc2libGUgKi8KLSAgICAgICAg
MCwgICAgICAgICAgLyogc2V0VG9vbGJhcnNBcmVWaXNpYmxlICovCi0gICAgICAgIDAsICAgICAg
ICAgIC8qIG1lbnVCYXJJc1Zpc2libGUgKi8KLSAgICAgICAgMCwgICAgICAgICAgLyogc2V0TWVu
dUJhcklzVmlzaWJsZSAqLwotICAgICAgICAwLCAgICAgICAgICAvKiBzdGF0dXNCYXJJc1Zpc2li
bGUgKi8KLSAgICAgICAgMCwgICAgICAgICAgLyogc2V0U3RhdHVzQmFySXNWaXNpYmxlICovCi0g
ICAgICAgIDAsICAgICAgICAgIC8qIGlzUmVzaXphYmxlICovCi0gICAgICAgIDAsICAgICAgICAg
IC8qIHNldElzUmVzaXphYmxlICovCi0gICAgICAgIDAsICAgICAgICAgIC8qIGdldFdpbmRvd0Zy
YW1lICovCi0gICAgICAgIDAsICAgICAgICAgIC8qIHNldFdpbmRvd0ZyYW1lICovCi0gICAgICAg
IDAsICAgICAgICAgIC8qIHJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbCAqLwotICAgICAgICAw
LCAgICAgICAgICAvKiBkaWREcmF3ICovCi0gICAgICAgIDAsICAgICAgICAgIC8qIHBhZ2VEaWRT
Y3JvbGwgKi8KLSAgICAgICAgMCwgICAgICAgICAgLyogZXhjZWVkZWREYXRhYmFzZVF1b3RhICov
Ci0gICAgICAgIDAsICAgICAgICAgIC8qIHJ1bk9wZW5QYW5lbCAqLwotICAgICAgICAwLCAgICAg
ICAgICAvKiBkZWNpZGVQb2xpY3lGb3JHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0ICovCi0g
ICAgICAgIDAsICAgICAgICAgIC8qIGhlYWRlckhlaWdodCAqLwotICAgICAgICAwLCAgICAgICAg
ICAvKiBmb290ZXJIZWlnaHQgKi8KLSAgICAgICAgMCwgICAgICAgICAgLyogZHJhd0hlYWRlciAq
LwotICAgICAgICAwLCAgICAgICAgICAvKiBkcmF3Rm9vdGVyICovCi0gICAgICAgIDAsICAgICAg
ICAgIC8qIHByaW50RnJhbWUgKi8KLSAgICAgICAgMCwgICAgICAgICAgLyogcnVuTW9kYWwgKi8K
LSAgICAgICAgMCwgICAgICAgICAgLyogZGlkQ29tcGxldGVSdWJiZXJCYW5kRm9yTWFpbkZyYW1l
ICovCi0gICAgICAgIDAsICAgICAgICAgIC8qIHNhdmVEYXRhVG9GaWxlSW5Eb3dubG9hZHNGb2xk
ZXIgKi8KLSAgICAgICAgMCwgICAgICAgICAgLyogc2hvdWxkSW50ZXJydXB0SmF2YVNjcmlwdCAq
LwotICAgICAgICBjcmVhdGVOZXdQYWdlLAotICAgICAgICBtb3VzZURpZE1vdmVPdmVyRWxlbWVu
dCwKLSAgICAgICAgMCwgICAgICAgICAgLyogZGVjaWRlUG9saWN5Rm9yTm90aWZpY2F0aW9uUGVy
bWlzc2lvblJlcXVlc3QgKi8KLSAgICAgICAgMCwgICAgICAgICAgLyogdW5hdmFpbGFibGVQbHVn
aW5CdXR0b25DbGlja2VkICovCi0gICAgICAgIDAsICAgICAgICAgIC8qIHNob3dDb2xvclBpY2tl
ciAqLwotICAgICAgICAwLCAgICAgICAgICAvKiBoaWRlQ29sb3JQaWNrZXIgKi8KLSAgICB9Owot
Ci0gICAgV0tQYWdlU2V0UGFnZVVJQ2xpZW50KFdLVmlld0dldFBhZ2UobV93ZWJWaWV3KSwgJnVp
Q2xpZW50KTsKLQotICAgIFdLVmlld1NldElzSW5XaW5kb3cobV93ZWJWaWV3LCB0cnVlKTsKLX0K
LQotdm9pZCBCcm93c2VyVmlldzo6c2V0RnJhbWUoUkVDVCByZWN0KQotewotICAgIEhXTkQgd2Vi
Vmlld1dpbmRvdyA9IFdLVmlld0dldFdpbmRvdyhtX3dlYlZpZXcpOwotICAgIDo6U2V0V2luZG93
UG9zKHdlYlZpZXdXaW5kb3csIDAsIHJlY3QubGVmdCwgcmVjdC50b3AsIHJlY3QucmlnaHQgLSBy
ZWN0LmxlZnQsIHJlY3QuYm90dG9tIC0gcmVjdC50b3AsIFNXUF9OT1pPUkRFUiB8IFNXUF9OT0FD
VElWQVRFIHwgU1dQX05PQ09QWUJJVFMpOwotfQotCi12b2lkIEJyb3dzZXJWaWV3Ojpnb1RvVVJM
KGNvbnN0IHN0ZDo6d3N0cmluZyYgdXJsU3RyaW5nKQotewotICAgIENGU3RyaW5nUmVmIHN0cmlu
ZyA9IENGU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgKGNvbnN0IFVuaUNoYXIqKXVybFN0
cmluZy5kYXRhKCksIHVybFN0cmluZy5zaXplKCkpOwotICAgIENGU3RyaW5nUmVmIGVzY2FwZWRT
dHJpbmcgPSBDRlVSTENyZWF0ZVN0cmluZ0J5QWRkaW5nUGVyY2VudEVzY2FwZXMoMCwgc3RyaW5n
LCAwLCAwLCBrQ0ZTdHJpbmdFbmNvZGluZ1VURjgpOwotICAgIENGUmVsZWFzZShzdHJpbmcpOwot
ICAgIENGVVJMUmVmIGNmVVJMID0gQ0ZVUkxDcmVhdGVXaXRoU3RyaW5nKDAsIGVzY2FwZWRTdHJp
bmcsIDApOwotICAgIENGUmVsZWFzZShlc2NhcGVkU3RyaW5nKTsKLQotICAgIFdLVVJMUmVmIHVy
bCA9IFdLVVJMQ3JlYXRlV2l0aENGVVJMKGNmVVJMKTsKLSAgICBDRlJlbGVhc2UoY2ZVUkwpOyAK
LQotICAgIFdLUGFnZVJlZiBwYWdlID0gV0tWaWV3R2V0UGFnZShtX3dlYlZpZXcpOwotICAgIFdL
UGFnZUxvYWRVUkwocGFnZSwgdXJsKTsKLSAgICBXS1JlbGVhc2UodXJsKTsKLX0KZGlmZiAtLWdp
dCBhL1Rvb2xzL01pbmlCcm93c2VyL3dpbi9Ccm93c2VyVmlldy5oIGIvVG9vbHMvTWluaUJyb3dz
ZXIvd2luL0Jyb3dzZXJWaWV3LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUxNzBh
N2QuLjAwMDAwMDAKLS0tIGEvVG9vbHMvTWluaUJyb3dzZXIvd2luL0Jyb3dzZXJWaWV3LmgKKysr
IC9kZXYvbnVsbApAQCAtMSw0OSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwot
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0g
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBCcm93c2Vy
Vmlld19oCi0jZGVmaW5lIEJyb3dzZXJWaWV3X2gKLQotI2luY2x1ZGUgPFdlYktpdDIvV2ViS2l0
Ml9DLmg+Ci0jaW5jbHVkZSA8c3RyaW5nPgotCi1jbGFzcyBCcm93c2VyV2luZG93OwotCi1jbGFz
cyBCcm93c2VyVmlldyAgewotcHVibGljOgotICAgIEJyb3dzZXJWaWV3KCk7Ci0KLSAgICB2b2lk
IGdvVG9VUkwoY29uc3Qgc3RkOjp3c3RyaW5nJiB1cmwpOwotCi0gICAgdm9pZCBjcmVhdGUoUkVD
VCwgQnJvd3NlcldpbmRvdyogcGFyZW50V2luZG93KTsKLSAgICB2b2lkIHNldEZyYW1lKFJFQ1Qp
OwotCi0gICAgV0tWaWV3UmVmIHdlYlZpZXcoKSBjb25zdCB7IHJldHVybiBtX3dlYlZpZXc7IH0K
LQotcHJpdmF0ZToKLSAgICBXS1ZpZXdSZWYgbV93ZWJWaWV3OwotfTsKLQotI2VuZGlmIC8vIEJy
b3dzZXJWaWV3X2gKZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL3dpbi9Ccm93c2VyV2lu
ZG93LmNwcCBiL1Rvb2xzL01pbmlCcm93c2VyL3dpbi9Ccm93c2VyV2luZG93LmNwcApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjc5MWQ1Yi4uMDAwMDAwMAotLS0gYS9Ub29scy9NaW5p
QnJvd3Nlci93aW4vQnJvd3NlcldpbmRvdy5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwyNjEgKzAs
MCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0g
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJTdGRBZnguaCIKLSNpbmNsdWRlICJCcm93c2Vy
V2luZG93LmgiCi0jaW5jbHVkZSAiTWluaUJyb3dzZXIuaCIKLSNpbmNsdWRlICJSZXNvdXJjZS5o
IgotCi0jaW5jbHVkZSA8YXNzZXJ0Lmg+Ci0jaW5jbHVkZSA8Y29tbWN0cmwuaD4KLSNpbmNsdWRl
IDxzaGx3YXBpLmg+Ci0jaW5jbHVkZSA8dmVjdG9yPgotI2luY2x1ZGUgPHdpbmluZXQuaD4KLQot
dXNpbmcgbmFtZXNwYWNlIHN0ZDsKLQotQnJvd3NlcldpbmRvdzo6QnJvd3NlcldpbmRvdygpCi0g
ICAgOiBtX3dpbmRvdygwKQotICAgICwgbV9yZWJhcldpbmRvdygwKQotICAgICwgbV9jb21ib0Jv
eFdpbmRvdygwKQotewotfQotCi1MUkVTVUxUIENBTExCQUNLIEJyb3dzZXJXaW5kb3c6OkJyb3dz
ZXJXaW5kb3dXbmRQcm9jKEhXTkQgd2luZG93LCBVSU5UIG1lc3NhZ2UsIFdQQVJBTSB3UGFyYW0s
IExQQVJBTSBsUGFyYW0pCi17Ci0gICAgTE9OR19QVFIgbG9uZ1B0ciA9IDo6R2V0V2luZG93TG9u
Z1B0cih3aW5kb3csIDApOwotICAgIAotICAgIGlmIChCcm93c2VyV2luZG93KiBicm93c2VyVmll
dyA9IHJlaW50ZXJwcmV0X2Nhc3Q8QnJvd3NlcldpbmRvdyo+KGxvbmdQdHIpKQotICAgICAgICBy
ZXR1cm4gYnJvd3NlclZpZXctPnduZFByb2Mod2luZG93LCBtZXNzYWdlLCB3UGFyYW0sIGxQYXJh
bSk7Ci0KLSAgICBpZiAobWVzc2FnZSA9PSBXTV9DUkVBVEUpIHsKLSAgICAgICAgTFBDUkVBVEVT
VFJVQ1QgY3JlYXRlU3RydWN0ID0gcmVpbnRlcnByZXRfY2FzdDxMUENSRUFURVNUUlVDVD4obFBh
cmFtKTsKLSAgICAgICAgQnJvd3NlcldpbmRvdyogYnJvd3NlcldpbmRvdyA9IHN0YXRpY19jYXN0
PEJyb3dzZXJXaW5kb3cqPihjcmVhdGVTdHJ1Y3QtPmxwQ3JlYXRlUGFyYW1zKTsKLSAgICAgICAg
YnJvd3NlcldpbmRvdy0+bV93aW5kb3cgPSB3aW5kb3c7Ci0KLSAgICAgICAgOjpTZXRXaW5kb3dM
b25nUHRyKHdpbmRvdywgMCwgKExPTkdfUFRSKWJyb3dzZXJXaW5kb3cpOwotCi0gICAgICAgIGJy
b3dzZXJXaW5kb3ctPm9uQ3JlYXRlKGNyZWF0ZVN0cnVjdCk7Ci0gICAgICAgIHJldHVybiAwOwot
ICAgIH0KLQotICAgIHJldHVybiA6OkRlZldpbmRvd1Byb2Mod2luZG93LCBtZXNzYWdlLCB3UGFy
YW0sIGxQYXJhbSk7Ci19Ci0KLUxSRVNVTFQgQnJvd3NlcldpbmRvdzo6d25kUHJvYyhIV05EIHdp
bmRvdywgVUlOVCBtZXNzYWdlLCBXUEFSQU0gd1BhcmFtLCBMUEFSQU0gbFBhcmFtKQotewotICAg
IExSRVNVTFQgbFJlc3VsdCA9IDA7Ci0gICAgYm9vbCBoYW5kbGVkID0gdHJ1ZTsKLQotICAgIHN3
aXRjaCAobWVzc2FnZSkgewotICAgIGNhc2UgV01fRVJBU0VCS0dORDoKLSAgICAgICAgbFJlc3Vs
dCA9IDE7Ci0gICAgICAgIGJyZWFrOwotCi0gICAgY2FzZSBXTV9DT01NQU5EOgotICAgICAgICBs
UmVzdWx0ID0gb25Db21tYW5kKExPV09SRCh3UGFyYW0pLCBoYW5kbGVkKTsKLSAgICAgICAgYnJl
YWs7Ci0KLSAgICBjYXNlIFdNX1NJWkU6Ci0gICAgICAgIG9uU2l6ZShMT1dPUkQobFBhcmFtKSwg
SElXT1JEKGxQYXJhbSkpOwotICAgICAgICBicmVhazsKLQotICAgIGNhc2UgV01fREVTVFJPWToK
LSAgICAgICAgb25EZXN0cm95KCk7Ci0gICAgICAgIGJyZWFrOwotCi0gICAgY2FzZSBXTV9OQ0RF
U1RST1k6Ci0gICAgICAgIG9uTkNEZXN0cm95KCk7Ci0gICAgICAgIGJyZWFrOwotCi0gICAgZGVm
YXVsdDoKLSAgICAgICAgaGFuZGxlZCA9IGZhbHNlOwotICAgIH0KLQotICAgIGlmICghaGFuZGxl
ZCkKLSAgICAgICAgbFJlc3VsdCA9IDo6RGVmV2luZG93UHJvYyh3aW5kb3csIG1lc3NhZ2UsIHdQ
YXJhbSwgbFBhcmFtKTsKLQotICAgIHJldHVybiBsUmVzdWx0OwotfQotCi12b2lkIEJyb3dzZXJX
aW5kb3c6OmNyZWF0ZVdpbmRvdyhpbnQgeCwgaW50IHksIGludCB3aWR0aCwgaW50IGhlaWdodCkK
LXsKLSAgICBhc3NlcnQoIW1fd2luZG93KTsKLQotICAgIC8vIFJlZ2lzdGVyIHRoZSBjbGFzcy4K
LSAgICBXTkRDTEFTU0VYIHdpbmRvd0NsYXNzID0geyAwIH07Ci0gICAgd2luZG93Q2xhc3MuY2JT
aXplID0gc2l6ZW9mKHdpbmRvd0NsYXNzKTsKLSAgICB3aW5kb3dDbGFzcy5zdHlsZSA9IDA7Ci0g
ICAgd2luZG93Q2xhc3MubHBmblduZFByb2MgPSBCcm93c2VyV2luZG93V25kUHJvYzsKLSAgICB3
aW5kb3dDbGFzcy5jYkNsc0V4dHJhID0gMDsKLSAgICB3aW5kb3dDbGFzcy5jYlduZEV4dHJhID0g
c2l6ZW9mKHRoaXMpOwotICAgIHdpbmRvd0NsYXNzLmhJbnN0YW5jZSA9IE1pbmlCcm93c2VyOjpz
aGFyZWQoKS5pbnN0YW5jZSgpOwotICAgIHdpbmRvd0NsYXNzLmhJY29uID0gMDsKLSAgICB3aW5k
b3dDbGFzcy5oQ3Vyc29yID0gOjpMb2FkQ3Vyc29yKDAsIElEQ19BUlJPVyk7Ci0gICAgd2luZG93
Q2xhc3MuaGJyQmFja2dyb3VuZCA9IChIQlJVU0gpOjpHZXRTdG9ja09iamVjdChXSElURV9CUlVT
SCk7Ci0gICAgd2luZG93Q2xhc3MubHBzek1lbnVOYW1lID0gTUFLRUlOVFJFU09VUkNFKElEUl9N
QUlORlJBTUUpOwotICAgIHdpbmRvd0NsYXNzLmxwc3pDbGFzc05hbWUgPSBMIk1pbmlCcm93c2Vy
IjsKLSAgICB3aW5kb3dDbGFzcy5oSWNvblNtID0gMDsKLQotICAgIDo6UmVnaXN0ZXJDbGFzc0V4
KCZ3aW5kb3dDbGFzcyk7Ci0KLSAgICA6OkNyZWF0ZVdpbmRvd1coTCJNaW5pQnJvd3NlciIsIEwi
TWluaUJyb3dzZXIiLCBXU19PVkVSTEFQUEVEV0lORE9XLCB4LCB5LCB3aWR0aCwgaGVpZ2h0LCAw
LCAwLCBNaW5pQnJvd3Nlcjo6c2hhcmVkKCkuaW5zdGFuY2UoKSwgdGhpcyk7Ci19Ci0KLXZvaWQg
QnJvd3NlcldpbmRvdzo6c2hvd1dpbmRvdygpCi17Ci0gICAgYXNzZXJ0KG1fd2luZG93KTsKLQot
ICAgIDo6U2hvd1dpbmRvdyhtX3dpbmRvdywgU1dfU0hPV05PUk1BTCk7Ci19Ci0KLXZvaWQgQnJv
d3NlcldpbmRvdzo6Z29Ub1VSTChjb25zdCBzdGQ6OndzdHJpbmcmIHVybCkKLXsKLSAgICBtX2Jy
b3dzZXJWaWV3LmdvVG9VUkwodXJsKTsKLX0KLQotdm9pZCBCcm93c2VyV2luZG93OjpvbkNyZWF0
ZShMUENSRUFURVNUUlVDVCBjcmVhdGVTdHJ1Y3QpCi17Ci0gICAgLy8gUmVnaXN0ZXIgb3VyIHdp
bmRvdy4KLSAgICBNaW5pQnJvd3Nlcjo6c2hhcmVkKCkucmVnaXN0ZXJXaW5kb3codGhpcyk7Ci0K
LSAgICAvLyBDcmVhdGUgdGhlIHJlYmFyIGNvbnRyb2wuCi0gICAgbV9yZWJhcldpbmRvdyA9IDo6
Q3JlYXRlV2luZG93RXgoMCwgUkVCQVJDTEFTU05BTUUsIDAsIFdTX1ZJU0lCTEUgfCBXU19CT1JE
RVIgfCBXU19DSElMRCB8IFdTX0NMSVBDSElMRFJFTiB8IFdTX0NMSVBTSUJMSU5HUyB8IENDU19O
T0RJVklERVIgfCBDQ1NfTk9QQVJFTlRBTElHTiB8IFJCU19WQVJIRUlHSFQgfCBSQlNfQkFOREJP
UkRFUlMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgMCwgMCwgMCwg
bV93aW5kb3csIDAsIGNyZWF0ZVN0cnVjdC0+aEluc3RhbmNlLCAwKTsKLSAgICBSRUJBUklORk8g
cmViYXJJbmZvID0geyAwIH07Ci0gICAgcmViYXJJbmZvLmNiU2l6ZSA9IHNpemVvZihyZWJhcklu
Zm8pOwotICAgIHJlYmFySW5mby5mTWFzayA9IDA7Ci0gICAgOjpTZW5kTWVzc2FnZShtX3JlYmFy
V2luZG93LCBSQl9TRVRCQVJJTkZPLCAwLCAoTFBBUkFNKSZyZWJhckluZm8pOwotCi0gICAgLy8g
Q3JlYXRlIHRoZSBjb21ibyBib3ggY29udHJvbC4KLSAgICBtX2NvbWJvQm94V2luZG93ID0gOjpD
cmVhdGVXaW5kb3dFeCgwLCBMImNvbWJvYm94IiwgMCwgV1NfVklTSUJMRSB8IFdTX0NISUxEIHwg
V1NfVEFCU1RPUCB8IFdTX1ZTQ1JPTEwgfCBXU19DTElQQ0hJTERSRU4gfCBXU19DTElQU0lCTElO
R1MgfCBDQlNfQVVUT0hTQ1JPTEwgfCBDQlNfRFJPUERPV04sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgMCwgMCwgMCwgMCwgbV9yZWJhcldpbmRvdywgMCwgY3JlYXRl
U3RydWN0LT5oSW5zdGFuY2UsIDApOwotICAgIFNlbmRNZXNzYWdlKG1fY29tYm9Cb3hXaW5kb3cs
IFdNX1NFVEZPTlQsIChXUEFSQU0pR2V0U3RvY2tPYmplY3QoREVGQVVMVF9HVUlfRk9OVCksIE1B
S0VMUEFSQU0oVFJVRSwgMCkpOwotCi0gICAgUkVCQVJCQU5ESU5GTyBiYW5kSW5mbzsKLSAgICBi
YW5kSW5mby5jYlNpemUgPSBzaXplb2YoYmFuZEluZm8pOwotICAgIGJhbmRJbmZvLmZNYXNrID0g
UkJCSU1fU1RZTEUgfCBSQkJJTV9URVhUIHwgUkJCSU1fQ0hJTEQgfCBSQkJJTV9DSElMRFNJWkUg
fCBSQkJJTV9TSVpFOwotICAgIGJhbmRJbmZvLmZTdHlsZSA9IFJCQlNfQ0hJTERFREdFIHwgUkJC
U19HUklQUEVSQUxXQVlTOwotICAgIGJhbmRJbmZvLmxwVGV4dCA9IEwiQWRkcmVzcyI7Ci0gICAg
YmFuZEluZm8uaHduZENoaWxkID0gbV9jb21ib0JveFdpbmRvdzsKLQotICAgIFJFQ1QgY29tYm9C
b3hSZWN0OwotICAgIDo6R2V0V2luZG93UmVjdChtX2NvbWJvQm94V2luZG93LCAmY29tYm9Cb3hS
ZWN0KTsKLSAgICBiYW5kSW5mby5jeCA9IDEwMDsKLSAgICBiYW5kSW5mby5jeE1pbkNoaWxkID0g
Y29tYm9Cb3hSZWN0LnJpZ2h0IC0gY29tYm9Cb3hSZWN0LmxlZnQ7Ci0gICAgYmFuZEluZm8uY3lN
aW5DaGlsZCA9IGNvbWJvQm94UmVjdC5ib3R0b20gLSBjb21ib0JveFJlY3QudG9wOwotCi0gICAg
Ly8gQWRkIHRoZSBiYW5kIHRvIHRoZSByZWJhci4KLSAgICBpbnQgcmVzdWx0ID0gOjpTZW5kTWVz
c2FnZShtX3JlYmFyV2luZG93LCBSQl9JTlNFUlRCQU5ELCAoV1BBUkFNKS0xLCAoTFBBUkFNKSZi
YW5kSW5mbyk7Ci0gICAgCi0gICAgLy8gQ3JlYXRlIHRoZSBicm93c2VyIHZpZXcuCi0gICAgUkVD
VCB3ZWJWaWV3UmVjdCA9IHsgMCwgMCwgMCwgMH07Ci0gICAgbV9icm93c2VyVmlldy5jcmVhdGUo
d2ViVmlld1JlY3QsIHRoaXMpOwotfQotCi12b2lkIEJyb3dzZXJXaW5kb3c6Om9uRGVzdHJveSgp
Ci17Ci0gICAgTWluaUJyb3dzZXI6OnNoYXJlZCgpLnVucmVnaXN0ZXJXaW5kb3codGhpcyk7Ci0K
LSAgICAvLyBGSVhNRTogU2hvdWxkIHdlIGNsb3NlIHRoZSBicm93c2VyIHZpZXcgaGVyZT8KLX0K
LQotdm9pZCBCcm93c2VyV2luZG93Ojpvbk5DRGVzdHJveSgpCi17Ci0gICAgZGVsZXRlIHRoaXM7
Ci19Ci0KLXZvaWQgQnJvd3NlcldpbmRvdzo6b25TaXplKGludCB3aWR0aCwgaW50IGhlaWdodCkK
LXsKLSAgICBSRUNUIHJlYmFyUmVjdDsKLSAgICA6OkdldENsaWVudFJlY3QobV9yZWJhcldpbmRv
dywgJnJlYmFyUmVjdCk7Ci0KLSAgICAvLyBSZXNpemUgdGhlIHJlYmFyLgotICAgIDo6TW92ZVdp
bmRvdyhtX3JlYmFyV2luZG93LCAwLCAwLCB3aWR0aCwgcmViYXJSZWN0LmJvdHRvbSAtIHJlYmFy
UmVjdC50b3AsIHRydWUpOwotCi0gICAgUkVDVCB3ZWJWaWV3UmVjdDsKLSAgICB3ZWJWaWV3UmVj
dC50b3AgPSByZWJhclJlY3QuYm90dG9tOwotICAgIHdlYlZpZXdSZWN0LmxlZnQgPSAwOwotICAg
IHdlYlZpZXdSZWN0LnJpZ2h0ID0gd2lkdGg7Ci0gICAgd2ViVmlld1JlY3QuYm90dG9tID0gaGVp
Z2h0OwotICAgIG1fYnJvd3NlclZpZXcuc2V0RnJhbWUod2ViVmlld1JlY3QpOwotfQotCi1MUkVT
VUxUIEJyb3dzZXJXaW5kb3c6Om9uQ29tbWFuZChpbnQgY29tbWFuZElELCBib29sJiBoYW5kbGVk
KQotewotICAgIHN3aXRjaCAoY29tbWFuZElEKSB7Ci0gICAgY2FzZSBJRF9GSUxFX05FV19XSU5E
T1c6Ci0gICAgICAgIE1pbmlCcm93c2VyOjpzaGFyZWQoKS5jcmVhdGVOZXdXaW5kb3coKTsKLSAg
ICAgICAgYnJlYWs7Ci0gICAgY2FzZSBJRF9GSUxFX0NMT1NFOgotICAgICAgICA6OlBvc3RNZXNz
YWdlKG1fd2luZG93LCBXTV9DTE9TRSwgMCwgMCk7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2Ug
SURfREVCVUdfU0hPV19XRUJfVklFVzogewotICAgICAgICBITUVOVSBtZW51ID0gOjpHZXRNZW51
KG1fd2luZG93KTsKLSAgICAgICAgYm9vbCBzaG91bGRIaWRlID0gOjpHZXRNZW51U3RhdGUobWVu
dSwgSURfREVCVUdfU0hPV19XRUJfVklFVywgTUZfQllDT01NQU5EKSAmIE1GX0NIRUNLRUQ7Ci0K
LSAgICAgICAgOjpDaGVja01lbnVJdGVtKG1lbnUsIElEX0RFQlVHX1NIT1dfV0VCX1ZJRVcsIE1G
X0JZQ09NTUFORCB8IChzaG91bGRIaWRlID8gTUZfVU5DSEVDS0VEIDogTUZfQ0hFQ0tFRCkpOwot
Ci0gICAgICAgIC8vIFNob3cgb3IgaGlkZSB0aGUgd2ViIHZpZXcuCi0gICAgICAgIEhXTkQgd2Vi
Vmlld1dpbmRvdyA9IFdLVmlld0dldFdpbmRvdyhtX2Jyb3dzZXJWaWV3LndlYlZpZXcoKSk7Ci0g
ICAgICAgIDo6U2hvd1dpbmRvdyh3ZWJWaWV3V2luZG93LCBzaG91bGRIaWRlID8gU1dfSElERSA6
IFNXX1NIT1cpOwotICAgICAgICBicmVhazsKLSAgICB9Ci0gICAgZGVmYXVsdDoKLSAgICAgICAg
aGFuZGxlZCA9IGZhbHNlOwotICAgIH0KLQotICAgIHJldHVybiAwOwotfQotCi1ib29sIEJyb3dz
ZXJXaW5kb3c6OmhhbmRsZU1lc3NhZ2UoY29uc3QgTVNHKiBtZXNzYWdlKQotewotICAgIGlmICht
ZXNzYWdlLT5od25kICE9IG1fY29tYm9Cb3hXaW5kb3cgJiYgITo6SXNDaGlsZChtX2NvbWJvQm94
V2luZG93LCBtZXNzYWdlLT5od25kKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgLy8g
TG9vayBmb3IgYSBXTV9LRVlET1dOIG1lc3NhZ2UuCi0gICAgaWYgKG1lc3NhZ2UtPm1lc3NhZ2Ug
IT0gV01fS0VZRE9XTikKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgLy8gTG9vayBmb3Ig
dGhlIFZLX1JFVFVSTiBrZXkuCi0gICAgaWYgKG1lc3NhZ2UtPndQYXJhbSAhPSBWS19SRVRVUk4p
Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIHN0ZDo6dmVjdG9yPFdDSEFSPiBidWZmZXI7
Ci0gICAgaW50IHRleHRMZW5ndGggPSA6OkdldFdpbmRvd1RleHRMZW5ndGgobV9jb21ib0JveFdp
bmRvdyk7Ci0KLSAgICBidWZmZXIucmVzaXplKHRleHRMZW5ndGggKyAxKTsKLSAgICA6OkdldFdp
bmRvd1RleHQobV9jb21ib0JveFdpbmRvdywgJmJ1ZmZlclswXSwgYnVmZmVyLnNpemUoKSk7Ci0K
LSAgICBzdGQ6OndzdHJpbmcgdXJsKCZidWZmZXJbMF0sIGJ1ZmZlci5zaXplKCkgLSAxKTsKLQot
ICAgIGlmICh1cmwuZmluZChMIjoiKSA9PSBzdGQ6OndzdHJpbmc6Om5wb3MpCi0gICAgICAgIHVy
bCA9IEwiaHR0cDovLyIgKyB1cmw7Ci0KLSAgICBtX2Jyb3dzZXJWaWV3LmdvVG9VUkwodXJsKTsK
LQotICAgIC8vIFdlIGhhbmRsZWQgdGhpcyBtZXNzYWdlLgotICAgIHJldHVybiB0cnVlOwotfQpk
aWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIvd2luL0Jyb3dzZXJXaW5kb3cuaCBiL1Rvb2xz
L01pbmlCcm93c2VyL3dpbi9Ccm93c2VyV2luZG93LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDFjZjczNTAuLjAwMDAwMDAKLS0tIGEvVG9vbHMvTWluaUJyb3dzZXIvd2luL0Jyb3dz
ZXJXaW5kb3cuaAorKysgL2Rldi9udWxsCkBAIC0xLDcwICswLDAgQEAKLS8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
LSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoK
LSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0j
aWZuZGVmIEJyb3dzZXJXaW5kb3dfaAotI2RlZmluZSBCcm93c2VyV2luZG93X2gKLQotI2luY2x1
ZGUgIkJyb3dzZXJWaWV3LmgiCi0jaW5jbHVkZSA8c3RyaW5nPgotCi1jbGFzcyBCcm93c2VyV2lu
ZG93IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgQnJvd3NlcldpbmRvdyogY3JlYXRlKCkKLSAgICB7
Ci0gICAgICAgIHJldHVybiBuZXcgQnJvd3NlcldpbmRvdzsKLSAgICB9Ci0KLSAgICB2b2lkIGNy
ZWF0ZVdpbmRvdyhpbnQgeCwgaW50IHksIGludCB3aWR0aCwgaW50IGhlaWdodCk7Ci0gICAgdm9p
ZCBzaG93V2luZG93KCk7Ci0KLSAgICB2b2lkIGdvVG9VUkwoY29uc3Qgc3RkOjp3c3RyaW5nJiB1
cmwpOwotCi0gICAgYm9vbCBoYW5kbGVNZXNzYWdlKGNvbnN0IE1TRyopOwotCi0gICAgY29uc3Qg
QnJvd3NlclZpZXcmIHZpZXcoKSBjb25zdCB7IHJldHVybiBtX2Jyb3dzZXJWaWV3OyB9Ci0gICAg
SFdORCB3aW5kb3coKSBjb25zdCB7IHJldHVybiBtX3dpbmRvdzsgfQotCi1wcml2YXRlOgotICAg
IEJyb3dzZXJXaW5kb3coKTsKLQotICAgIHN0YXRpYyBMUkVTVUxUIENBTExCQUNLIEJyb3dzZXJX
aW5kb3dXbmRQcm9jKEhXTkQsIFVJTlQsIFdQQVJBTSwgTFBBUkFNKTsKLQotICAgIC8vIE1lc3Nh
Z2UgaGFuZGxlcnMuCi0gICAgTFJFU1VMVCB3bmRQcm9jKEhXTkQsIFVJTlQsIFdQQVJBTSwgTFBB
UkFNKTsKLSAgICB2b2lkIG9uQ3JlYXRlKExQQ1JFQVRFU1RSVUNUKTsKLSAgICB2b2lkIG9uRGVz
dHJveSgpOwotICAgIHZvaWQgb25OQ0Rlc3Ryb3koKTsKLQotICAgIHZvaWQgb25TaXplKGludCB3
aWR0aCwgaW50IGhlaWdodCk7Ci0gICAgTFJFU1VMVCBvbkNvbW1hbmQoaW50IGNvbW1hbmRJRCwg
Ym9vbCYgaGFuZGxlZCk7Ci0KLSAgICBIV05EIG1fd2luZG93OwotCi0gICAgSFdORCBtX3JlYmFy
V2luZG93OwotICAgIEhXTkQgbV9jb21ib0JveFdpbmRvdzsKLSAgICBCcm93c2VyVmlldyBtX2Jy
b3dzZXJWaWV3OwotfTsKLQotI2VuZGlmIC8vIEJyb3dzZXJXaW5kb3dfaApkaWZmIC0tZ2l0IGEv
VG9vbHMvTWluaUJyb3dzZXIvd2luL01pbmlCcm93c2VyLmNwcCBiL1Rvb2xzL01pbmlCcm93c2Vy
L3dpbi9NaW5pQnJvd3Nlci5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdlM2Q0
ODguLjAwMDAwMDAKLS0tIGEvVG9vbHMvTWluaUJyb3dzZXIvd2luL01pbmlCcm93c2VyLmNwcAor
KysgL2Rldi9udWxsCkBAIC0xLDg0ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
Ci0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
LSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAic3Rk
YWZ4LmgiCi0KLSNpbmNsdWRlICJCcm93c2VyV2luZG93LmgiCi0jaW5jbHVkZSAiTWluaUJyb3dz
ZXIuaCIKLSNpbmNsdWRlIDxhc3NlcnQuaD4KLQotTWluaUJyb3dzZXI6Ok1pbmlCcm93c2VyKCkK
LSAgICA6IG1faW5zdGFuY2UoMCkKLXsKLX0KLQotTWluaUJyb3dzZXImIE1pbmlCcm93c2VyOjpz
aGFyZWQoKQotewotICAgIHN0YXRpYyBNaW5pQnJvd3NlciBtaW5pQnJvd3NlcjsKLQotICAgIHJl
dHVybiBtaW5pQnJvd3NlcjsKLX0KLQotdm9pZCBNaW5pQnJvd3Nlcjo6aW5pdGlhbGl6ZShISU5T
VEFOQ0UgaW5zdGFuY2UpCi17Ci0gICAgYXNzZXJ0KCFtX2luc3RhbmNlKTsKLQotICAgIG1faW5z
dGFuY2UgPSBpbnN0YW5jZTsKLX0KLQotdm9pZCBNaW5pQnJvd3Nlcjo6Y3JlYXRlTmV3V2luZG93
KCkKLXsKLSAgICBzdGF0aWMgY29uc3Qgd2NoYXJfdCoga0RlZmF1bHRVUkxTdHJpbmcgPSBMImh0
dHA6Ly93ZWJraXQub3JnLyI7Ci0KLSAgICBCcm93c2VyV2luZG93KiBicm93c2VyV2luZG93ID0g
QnJvd3NlcldpbmRvdzo6Y3JlYXRlKCk7Ci0gICAgYnJvd3NlcldpbmRvdy0+Y3JlYXRlV2luZG93
KDAsIDAsIDgwMCwgNjAwKTsKLSAgICBicm93c2VyV2luZG93LT5zaG93V2luZG93KCk7Ci0gICAg
YnJvd3NlcldpbmRvdy0+Z29Ub1VSTChrRGVmYXVsdFVSTFN0cmluZyk7Ci19Ci0KLXZvaWQgTWlu
aUJyb3dzZXI6OnJlZ2lzdGVyV2luZG93KEJyb3dzZXJXaW5kb3cqIHdpbmRvdykKLXsKLSAgICBt
X2Jyb3dzZXJXaW5kb3dzLmluc2VydCh3aW5kb3cpOwotfQotCi12b2lkIE1pbmlCcm93c2VyOjp1
bnJlZ2lzdGVyV2luZG93KEJyb3dzZXJXaW5kb3cqIHdpbmRvdykKLXsKLSAgICBtX2Jyb3dzZXJX
aW5kb3dzLmVyYXNlKHdpbmRvdyk7Ci0KLSAgICBpZiAobV9icm93c2VyV2luZG93cy5lbXB0eSgp
KQotICAgICAgICA6OlBvc3RRdWl0TWVzc2FnZSgwKTsKLX0KLQotYm9vbCBNaW5pQnJvd3Nlcjo6
aGFuZGxlTWVzc2FnZShjb25zdCBNU0cqIG1lc3NhZ2UpCi17Ci0gICAgZm9yIChzdGQ6OnNldDxC
cm93c2VyV2luZG93Kj46OmNvbnN0X2l0ZXJhdG9yIGl0ID0gbV9icm93c2VyV2luZG93cy5iZWdp
bigpLCBlbmQgPSBtX2Jyb3dzZXJXaW5kb3dzLmVuZCgpOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAg
ICAgICAgQnJvd3NlcldpbmRvdyogYnJvd3NlcldpbmRvdyA9ICppdDsKLQotICAgICAgICBpZiAo
YnJvd3NlcldpbmRvdy0+aGFuZGxlTWVzc2FnZShtZXNzYWdlKSkKLSAgICAgICAgICAgIHJldHVy
biB0cnVlOwotICAgIH0KLQotICAgIHJldHVybiBmYWxzZTsKLX0KZGlmZiAtLWdpdCBhL1Rvb2xz
L01pbmlCcm93c2VyL3dpbi9NaW5pQnJvd3Nlci5oIGIvVG9vbHMvTWluaUJyb3dzZXIvd2luL01p
bmlCcm93c2VyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM3YjUxNzcuLjAwMDAw
MDAKLS0tIGEvVG9vbHMvTWluaUJyb3dzZXIvd2luL01pbmlCcm93c2VyLmgKKysrIC9kZXYvbnVs
bApAQCAtMSw1NSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICog
YXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBNaW5pQnJvd3Nlcl9oCi0j
ZGVmaW5lIE1pbmlCcm93c2VyX2gKLQotI2luY2x1ZGUgPHNldD4KLQotY2xhc3MgQnJvd3Nlcldp
bmRvdzsKLQotY2xhc3MgTWluaUJyb3dzZXIgewotcHVibGljOgotICAgIHN0YXRpYyBNaW5pQnJv
d3NlciYgc2hhcmVkKCk7Ci0KLSAgICB2b2lkIGluaXRpYWxpemUoSElOU1RBTkNFKTsKLQotICAg
IHZvaWQgY3JlYXRlTmV3V2luZG93KCk7Ci0KLSAgICB2b2lkIHJlZ2lzdGVyV2luZG93KEJyb3dz
ZXJXaW5kb3cqKTsKLSAgICB2b2lkIHVucmVnaXN0ZXJXaW5kb3coQnJvd3NlcldpbmRvdyopOwot
Ci0gICAgYm9vbCBoYW5kbGVNZXNzYWdlKGNvbnN0IE1TRyopOwotCi0gICAgSElOU1RBTkNFIGlu
c3RhbmNlKCkgY29uc3QgeyByZXR1cm4gbV9pbnN0YW5jZTsgfQotCi1wcml2YXRlOgotICAgIE1p
bmlCcm93c2VyKCk7Ci0KLSAgICBISU5TVEFOQ0UgbV9pbnN0YW5jZTsKLSAgICBzdGQ6OnNldDxC
cm93c2VyV2luZG93Kj4gbV9icm93c2VyV2luZG93czsKLX07Ci0KLSNlbmRpZiAvLyBNaW5pQnJv
d3Nlcl9oCmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci93aW4vTWluaUJyb3dzZXIucmMg
Yi9Ub29scy9NaW5pQnJvd3Nlci93aW4vTWluaUJyb3dzZXIucmMKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDBmZjg4YjAuLjAwMDAwMDAKLS0tIGEvVG9vbHMvTWluaUJyb3dzZXIvd2lu
L01pbmlCcm93c2VyLnJjCisrKyAvZGV2L251bGwKQEAgLTEsNzkgKzAsMCBAQAotLy8gTWljcm9z
b2Z0IFZpc3VhbCBDKysgZ2VuZXJhdGVkIHJlc291cmNlIHNjcmlwdC4NCi0vLw0KLSNpbmNsdWRl
ICJyZXNvdXJjZS5oIg0KLSNpbmNsdWRlICJ3aW5yZXNyYy5oIgotDQotLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8NCi0vLyBFbmdsaXNoIChVLlMuKSByZXNvdXJjZXMNCi0NCi0jaWYgIWRlZmluZWQoQUZY
X1JFU09VUkNFX0RMTCkgfHwgZGVmaW5lZChBRlhfVEFSR19FTlUpDQotI2lmZGVmIF9XSU4zMg0K
LUxBTkdVQUdFIExBTkdfRU5HTElTSCwgU1VCTEFOR19FTkdMSVNIX1VTDQotI3ByYWdtYSBjb2Rl
X3BhZ2UoMTI1MikNCi0jZW5kaWYgLy9fV0lOMzINCi0NCi0vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0K
LS8vDQotLy8gTWVudQ0KLS8vDQotDQotSURSX01BSU5GUkFNRSBNRU5VIA0KLUJFR0lODQotICAg
IFBPUFVQICImRmlsZSINCi0gICAgQkVHSU4NCi0gICAgICAgIE1FTlVJVEVNICImTmV3IFdpbmRv
d1x0Q3RybCtOIiwgICAgICAgICBJRF9GSUxFX05FV19XSU5ET1cNCi0gICAgICAgIE1FTlVJVEVN
IFNFUEFSQVRPUg0KLSAgICAgICAgTUVOVUlURU0gIiZDbG9zZSIsICAgICAgICAgICAgICAgICAg
ICAgIElEX0ZJTEVfQ0xPU0UNCi0gICAgRU5EDQotICAgIFBPUFVQICImRGVidWciDQotICAgIEJF
R0lODQotICAgICAgICBNRU5VSVRFTSAiJlNob3cgV2ViVmlldyIsICAgICAgICAgICAgICAgSURf
REVCVUdfU0hPV19XRUJfVklFVywgQ0hFQ0tFRA0KLSAgICBFTkQNCi1FTkQNCi0NCi0NCi0vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLw0KLS8vDQotLy8gQWNjZWxlcmF0b3INCi0vLw0KLQ0KLUlEUl9NQUlO
RlJBTUVfQUNDRUwgQUNDRUxFUkFUT1JTIA0KLUJFR0lODQotICAgICJOIiwgICAgICAgICAgICBJ
RF9GSUxFX05FV19XSU5ET1csICAgICBWSVJUS0VZLCBDT05UUk9MLCBOT0lOVkVSVA0KLUVORA0K
LQ0KLQ0KLSNpZmRlZiBBUFNUVURJT19JTlZPS0VEDQotLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCi0v
Lw0KLS8vIFRFWFRJTkNMVURFDQotLy8NCi0NCi0xIFRFWFRJTkNMVURFIA0KLUJFR0lODQotICAg
ICJyZXNvdXJjZS5cMCINCi1FTkQNCi0NCi0NCi0zIFRFWFRJTkNMVURFIA0KLUJFR0lODQotICAg
ICJcclwwIg0KLUVORA0KLQ0KLSNlbmRpZiAgICAvLyBBUFNUVURJT19JTlZPS0VEDQotDQotI2Vu
ZGlmICAgIC8vIEVuZ2xpc2ggKFUuUy4pIHJlc291cmNlcw0KLS8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
DQotDQotDQotDQotI2lmbmRlZiBBUFNUVURJT19JTlZPS0VEDQotLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8NCi0vLw0KLS8vIEdlbmVyYXRlZCBmcm9tIHRoZSBURVhUSU5DTFVERSAzIHJlc291cmNlLg0K
LS8vDQotDQotDQotLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCi0jZW5kaWYgICAgLy8gbm90IEFQU1RV
RElPX0lOVk9LRUQNCi0NCmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci93aW4vbWFpbi5j
cHAgYi9Ub29scy9NaW5pQnJvd3Nlci93aW4vbWFpbi5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGJhMDljOTQuLjAwMDAwMDAKLS0tIGEvVG9vbHMvTWluaUJyb3dzZXIvd2luL21h
aW4uY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNzQgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAo
QykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNs
dWRlICJzdGRhZnguaCIKLQotI2luY2x1ZGUgIkJyb3dzZXJXaW5kb3cuaCIKLSNpbmNsdWRlICJN
aW5pQnJvd3Nlci5oIgotI2luY2x1ZGUgPHN0cmluZz4KLQotc3RhdGljIGJvb2wgc2hvdWxkVHJh
bnNsYXRlTWVzc2FnZShjb25zdCBNU0cmIG1zZykKLXsKLSAgICAvLyBPbmx5IHRoZXNlIGZvdXIg
bWVzc2FnZXMgYXJlIGFjdHVhbGx5IHRyYW5zbGF0ZWQgYnkgOjpUcmFuc2xhdGVNZXNzYWdlIG9y
IDo6VHJhbnNsYXRlQWNjZWxlcmF0b3IuCi0gICAgLy8gSXQncyB1c2VsZXNzICh0aG91Z2ggaGFy
bWxlc3MpIHRvIGNhbGwgdGhvc2UgZnVuY3Rpb25zIGZvciBvdGhlciBtZXNzYWdlcywgc28gd2Ug
YWx3YXlzIGFsbG93IG90aGVyIG1lc3NhZ2VzIHRvIGJlIHRyYW5zbGF0ZWQuCi0gICAgaWYgKG1z
Zy5tZXNzYWdlICE9IFdNX0tFWURPV04gJiYgbXNnLm1lc3NhZ2UgIT0gV01fU1lTS0VZRE9XTiAm
JiBtc2cubWVzc2FnZSAhPSBXTV9LRVlVUCAmJiBtc2cubWVzc2FnZSAhPSBXTV9TWVNLRVlVUCkK
LSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgCi0gICAgd2NoYXJfdCBjbGFzc05hbWVbMjU2XTsK
LSAgICBpZiAoITo6R2V0Q2xhc3NOYW1lVyhtc2cuaHduZCwgY2xhc3NOYW1lLCBBUlJBWVNJWkUo
Y2xhc3NOYW1lKSkpCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgLy8gRG9uJ3QgY2FsbCBU
cmFuc2xhdGVNZXNzYWdlKCkgb24ga2V5IGV2ZW50cyBkZXN0aW5lZCBmb3IgYSBXZWJLaXQyIHZp
ZXcsIFdlYktpdCB3aWxsIGRvIHRoaXMgaWYgaXQgZG9lc24ndCBoYW5kbGUgdGhlIG1lc3NhZ2Uu
Ci0gICAgLy8gSXQgd291bGQgYmUgbmljZSB0byB1c2Ugc29tZSBBUEkgaGVyZSBpbnN0ZWFkIG9m
IGhhcmQtY29kaW5nIHRoZSB3aW5kb3cgY2xhc3MgbmFtZS4KLSAgICByZXR1cm4gd2NzY21wKGNs
YXNzTmFtZSwgTCJXZWJLaXQyV2ViVmlld1dpbmRvd0NsYXNzIik7Ci19Ci0KLUJPT0wgV0lOQVBJ
IERsbE1haW4oSElOU1RBTkNFIGRsbEluc3RhbmNlLCBEV09SRCByZWFzb24sIExQVk9JRCkKLXsK
LSAgICBpZiAocmVhc29uID09IERMTF9QUk9DRVNTX0FUVEFDSCkKLSAgICAgICAgTWluaUJyb3dz
ZXI6OnNoYXJlZCgpLmluaXRpYWxpemUoZGxsSW5zdGFuY2UpOwotCi0gICAgcmV0dXJuIFRSVUU7
Ci19Ci0KLWV4dGVybiAiQyIgX19kZWNsc3BlYyhkbGxleHBvcnQpIGludCBXSU5BUEkgZGxsTGF1
bmNoZXJFbnRyeVBvaW50KEhJTlNUQU5DRSBoSW5zdGFuY2UsIEhJTlNUQU5DRSBoUHJldkluc3Rh
bmNlLCBMUFRTVFIgbHBzdHJDbWRMaW5lLCBpbnQgbkNtZFNob3cpCi17Ci0gICAgLy8gQ3JlYXRl
IGFuZCBzaG93IG91ciBpbml0aWFsIHdpbmRvdy4KLSAgICBNaW5pQnJvd3Nlcjo6c2hhcmVkKCku
Y3JlYXRlTmV3V2luZG93KCk7Ci0KLSAgICBNU0cgbWVzc2FnZTsKLSAgICB3aGlsZSAoQk9PTCBy
ZXN1bHQgPSA6OkdldE1lc3NhZ2UoJm1lc3NhZ2UsIDAsIDAsIDApKSB7Ci0gICAgICAgIGlmIChy
ZXN1bHQgPT0gLTEpCi0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgCi0gICAgICAgIGlmIChz
aG91bGRUcmFuc2xhdGVNZXNzYWdlKG1lc3NhZ2UpKQotICAgICAgICAgICAgOjpUcmFuc2xhdGVN
ZXNzYWdlKCZtZXNzYWdlKTsKLQotICAgICAgICBpZiAoIU1pbmlCcm93c2VyOjpzaGFyZWQoKS5o
YW5kbGVNZXNzYWdlKCZtZXNzYWdlKSkKLSAgICAgICAgICAgIDo6RGlzcGF0Y2hNZXNzYWdlKCZt
ZXNzYWdlKTsKLSAgICB9Ci0KLSAgICByZXR1cm4gMDsKLX0KZGlmZiAtLWdpdCBhL1Rvb2xzL01p
bmlCcm93c2VyL3dpbi9yZXNvdXJjZS5oIGIvVG9vbHMvTWluaUJyb3dzZXIvd2luL3Jlc291cmNl
LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIxMmI5MDYuLjAwMDAwMDAKLS0tIGEv
VG9vbHMvTWluaUJyb3dzZXIvd2luL3Jlc291cmNlLmgKKysrIC9kZXYvbnVsbApAQCAtMSwyMyAr
MCwwIEBACi0vL3t7Tk9fREVQRU5ERU5DSUVTfX0KLS8vIE1pY3Jvc29mdCBWaXN1YWwgQysrIGdl
bmVyYXRlZCBpbmNsdWRlIGZpbGUuCi0vLyBVc2VkIGJ5IE1pbmlCcm93c2VyLnJjCi0vLwotCi0j
ZGVmaW5lIElEX0ZJTEVfTkVXX1dJTkRPVyAgICAgICAgICAgICAgMzI3NzAKLSNkZWZpbmUgSURf
RklMRV9PUEVOICAgICAgICAgICAgICAgICAgICAzMjc3MQotI2RlZmluZSBJRF9GSUxFX0NMT1NF
ICAgICAgICAgICAgICAgICAgIDMyNzcyCi0jZGVmaW5lIElEX0RFQlVHX1NIT1dfV0VCX1ZJRVcg
ICAgICAgICAgMzI3NzMKLQotI2RlZmluZSBJRFJfTUFJTkZSQU1FICAgICAgICAgICAgICAgICAg
IDEyOAotCi0vLyBOZXh0IGRlZmF1bHQgdmFsdWVzIGZvciBuZXcgb2JqZWN0cwotLy8gCi0jaWZk
ZWYgQVBTVFVESU9fSU5WT0tFRAotI2lmbmRlZiBBUFNUVURJT19SRUFET05MWV9TWU1CT0xTCi0j
ZGVmaW5lIF9BUFNfTk9fTUZDICAgICAgICAgICAgICAgICAgICAgMQotI2RlZmluZSBfQVBTX05F
WFRfUkVTT1VSQ0VfVkFMVUUgICAgICAgIDEzMgotI2RlZmluZSBfQVBTX05FWFRfQ09NTUFORF9W
QUxVRSAgICAgICAgIDMyNzc1Ci0jZGVmaW5lIF9BUFNfTkVYVF9DT05UUk9MX1ZBTFVFICAgICAg
ICAgMTAwMAotI2RlZmluZSBfQVBTX05FWFRfU1lNRURfVkFMVUUgICAgICAgICAgIDExMAotI2Vu
ZGlmCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL3dpbi9zdGRhZnguY3Bw
IGIvVG9vbHMvTWluaUJyb3dzZXIvd2luL3N0ZGFmeC5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGM2NjRlMzIuLjAwMDAwMDAKLS0tIGEvVG9vbHMvTWluaUJyb3dzZXIvd2luL3N0
ZGFmeC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwzMyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0
IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0g
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0g
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotLy8g
c3RkYWZ4LmNwcCA6IHNvdXJjZSBmaWxlIHRoYXQgaW5jbHVkZXMganVzdCB0aGUgc3RhbmRhcmQg
aW5jbHVkZXMKLS8vIE1pbmlCcm93c2VyLnBjaCB3aWxsIGJlIHRoZSBwcmUtY29tcGlsZWQgaGVh
ZGVyCi0vLyBzdGRhZngub2JqIHdpbGwgY29udGFpbiB0aGUgcHJlLWNvbXBpbGVkIHR5cGUgaW5m
b3JtYXRpb24KLQotI2luY2x1ZGUgInN0ZGFmeC5oIgotCi0vLyBUT0RPOiByZWZlcmVuY2UgYW55
IGFkZGl0aW9uYWwgaGVhZGVycyB5b3UgbmVlZCBpbiBTVERBRlguSAotLy8gYW5kIG5vdCBpbiB0
aGlzIGZpbGUKZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL3dpbi9zdGRhZnguaCBiL1Rv
b2xzL01pbmlCcm93c2VyL3dpbi9zdGRhZnguaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMmY1MzFiYi4uMDAwMDAwMAotLS0gYS9Ub29scy9NaW5pQnJvd3Nlci93aW4vc3RkYWZ4LmgK
KysrIC9kZXYvbnVsbApAQCAtMSwzMyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEw
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
Ci0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2RlZmluZSBTVFJJ
Q1QKLSNkZWZpbmUgV0lOMzJfTEVBTl9BTkRfTUVBTgotCi0jaW5jbHVkZSA8dGNoYXIuaD4KLSNp
bmNsdWRlIDx3aW5kb3dzLmg+Ci0KLQotCg==
</data>
<flag name="review"
          id="218888"
          type_id="1"
          status="+"
          setter="andersca"
    />
    <flag name="commit-queue"
          id="218889"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
      

    </bug>

</bugzilla>