<?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>50950</bug_id>
          
          <creation_ts>2010-12-13 11:42:08 -0800</creation_ts>
          <short_desc>REGRESSION(r73914): &quot;Chromium page_cycler_morejs fails&quot; (Requested by yurys on #webkit).</short_desc>
          <delta_ts>2010-12-13 13:51:29 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>8519</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Review Bot">webkit.review.bot</reporter>
          <assigned_to name="WebKit Review Bot">webkit.review.bot</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric</cc>
    
    <cc>jianli</cc>
    
    <cc>pfeldman</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>321293</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-13 11:42:08 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/73920 broke the build:
&quot;Chromium page_cycler_morejs fails&quot; (Requested by yurys on #webkit).

This is an automatic bug report generated by the sheriff-bot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests case pain.

&quot;Only you can prevent forest fires.&quot; -- Smokey the Bear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321294</commentid>
    <comment_count>1</comment_count>
      <attachid>76416</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-13 11:42:25 -0800</bug_when>
    <thetext>Created attachment 76416
ROLLOUT of r73920

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID --ignore-builders

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321296</commentid>
    <comment_count>2</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-12-13 11:44:31 -0800</bug_when>
    <thetext>The actual culprit is http://trac.webkit.org/changeset/73914 and I&apos;m going to revert it along with 73915 , 73917, 73920 and 73921 (follow-up fixes).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321298</commentid>
    <comment_count>3</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-12-13 11:45:23 -0800</bug_when>
    <thetext>Link to the page cycler bot:
http://build.chromium.org/p/chromium.webkit/builders/Linux%20Perf/builds/929</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321299</commentid>
    <comment_count>4</comment_count>
      <attachid>76417</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-12-13 11:49:18 -0800</bug_when>
    <thetext>Created attachment 76417
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321303</commentid>
    <comment_count>5</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-12-13 11:55:43 -0800</bug_when>
    <thetext>Committed http://trac.webkit.org/changeset/73939</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321376</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-13 13:51:29 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/73939 might have broken SnowLeopard Intel Release (Tests) and GTK Linux 64-bit Debug
The following tests are not passing:
editing/selection/extend-to-line-boundary.html</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>76416</attachid>
            <date>2010-12-13 11:42:25 -0800</date>
            <delta_ts>2010-12-13 11:49:18 -0800</delta_ts>
            <desc>ROLLOUT of r73920</desc>
            <filename>bug-50950-20101213194204.patch</filename>
            <type>text/plain</type>
            <size>2355</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YjA1Yzg3M2YxMDliYmEyMjM3YWMwZGM3ZGE4YWMxMzBkOTg5ZWUwOS4uYTAyNzExZmMzNWQxZDZi
Yzc1ZTkwMDdhM2NiZWViYTljZTE5Mjg5MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMC0xMi0xMyAgU2hl
cmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CisKKyAgICAgICAgVW5yZXZp
ZXdlZCwgcm9sbGluZyBvdXQgcjczOTIwLgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3Jn
L2NoYW5nZXNldC83MzkyMAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NTA5NTAKKworICAgICAgICAiQ2hyb21pdW0gcGFnZV9jeWNsZXJfbW9yZWpzIGZh
aWxzIiAoUmVxdWVzdGVkIGJ5IHl1cnlzIG9uCisgICAgICAgICN3ZWJraXQpLgorCisgICAgICAg
ICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Ny
aXB0RXhlY3V0aW9uQ29udGV4dDo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCk6CisgICAgICAgICog
ZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaDoKKwogMjAxMC0xMi0xMyAgSnVzdGluIFNjaHVo
ICA8anNjaHVoQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEaW1pdHJpIEds
YXprb3YuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNw
cCBiL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwCmluZGV4IGY0OThiZTAw
NTAzNGQxMmNiYmQ1YjhhNzBmNDllMTVlYjA0M2U0OGMuLmUwYmFjMWUwZjU4NDU4NjQzM2VlMTE2
ZDRhZWIwZjhkNTRjZTNlYjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlv
bkNvbnRleHQuY3BwCisrKyBiL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3Bw
CkBAIC04MiwxMCArODIsMTAgQEAgcHVibGljOgogfTsKIAogU2NyaXB0RXhlY3V0aW9uQ29udGV4
dDo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpCi0gICAgOiBtX2luRGlzcGF0Y2hFcnJvckV2ZW50
KGZhbHNlKQogI2lmIEVOQUJMRShEQVRBQkFTRSkKLSAgICAsIG1faGFzT3BlbkRhdGFiYXNlcyhm
YWxzZSkKKyAgICA6IG1faGFzT3BlbkRhdGFiYXNlcyhmYWxzZSkKICNlbmRpZgorICAgICwgbV9p
bkRpc3BhdGNoRXJyb3JFdmVudChmYWxzZSkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9k
b20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIGIvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9u
Q29udGV4dC5oCmluZGV4IDZmYjAxYmIyZjk3YjFlNjAxNDNlNTcxNDVlZWU0ZTBiMGE3ODhmZDUu
LmRlOTcwNDJkZGViYWM0MjE2MTc5MGExN2U2YTJmN2VmOTIyNTRkOGIgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaAorKysgYi9XZWJDb3JlL2RvbS9TY3Jp
cHRFeGVjdXRpb25Db250ZXh0LmgKQEAgLTE3OSwxMCArMTc5LDYgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgICAgICB2aXJ0dWFsIHZvaWQgcmVmU2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpID0g
MDsKICAgICAgICAgdmlydHVhbCB2b2lkIGRlcmVmU2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpID0g
MDsKIAotICAgICAgICBib29sIG1faW5EaXNwYXRjaEVycm9yRXZlbnQ7Ci0gICAgICAgIGNsYXNz
IFBlbmRpbmdFeGNlcHRpb247Ci0gICAgICAgIE93blB0cjxWZWN0b3I8T3duUHRyPFBlbmRpbmdF
eGNlcHRpb24+ID4gPiBtX3BlbmRpbmdFeGNlcHRpb25zOwotCiAjaWYgRU5BQkxFKERBVEFCQVNF
KQogICAgICAgICBSZWZQdHI8RGF0YWJhc2VUaHJlYWQ+IG1fZGF0YWJhc2VUaHJlYWQ7CiAgICAg
ICAgIGJvb2wgbV9oYXNPcGVuRGF0YWJhc2VzOyAvLyBUaGlzIG5ldmVyIGNoYW5nZXMgYmFjayB0
byBmYWxzZSwgZXZlbiBhZnRlciB0aGUgZGF0YWJhc2UgdGhyZWFkIGlzIGNsb3NlZC4KQEAgLTE5
MSw2ICsxODcsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAjaWYgRU5BQkxFKEJMT0IpIHx8IEVO
QUJMRShGSUxFX1NZU1RFTSkKICAgICAgICAgUmVmUHRyPEZpbGVUaHJlYWQ+IG1fZmlsZVRocmVh
ZDsKICNlbmRpZgorICAgICAgICBib29sIG1faW5EaXNwYXRjaEVycm9yRXZlbnQ7CisgICAgICAg
IGNsYXNzIFBlbmRpbmdFeGNlcHRpb247CisgICAgICAgIE93blB0cjxWZWN0b3I8T3duUHRyPFBl
bmRpbmdFeGNlcHRpb24+ID4gPiBtX3BlbmRpbmdFeGNlcHRpb25zOwogICAgIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>76417</attachid>
            <date>2010-12-13 11:49:18 -0800</date>
            <delta_ts>2010-12-13 11:49:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>rollout.patch</filename>
            <type>text/plain</type>
            <size>133755</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBlMDQ1ZjQwLi4yOTliZTRiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTggQEAKKzIwMTAtMTIt
MTMgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgVW5y
ZXZpZXdlZC4gUm9sbG91dCA3MzkxNCwgNzM5MTUsIDczOTE3LCA3MzkyMCBhbmQgNzM5MjEuCisK
KyAgICAgICAgUkVHUkVTU0lPTihyNzM5MTQpOiAiQ2hyb21pdW0gcGFnZV9jeWNsZXJfbW9yZWpz
IGZhaWxzIiAoUmVxdWVzdGVkIGJ5IHl1cnlzIG9uICN3ZWJraXQpLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTA5NTAKKworICAgICAgICAqIGZhc3Qv
ZXZlbnRzL3Jlc291cmNlcy93aW5kb3ctb25lcnJvci5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBm
YXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjEtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAg
ICAqIGZhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yMS5odG1sOiBSZW1vdmVkLgorICAgICAgICAq
IGZhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yMTAtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAg
ICAgICAqIGZhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yMTAuaHRtbDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBmYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjExLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4K
KyAgICAgICAgKiBmYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjExLmh0bWw6IFJlbW92ZWQuCisg
ICAgICAgICogZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3IyLWV4cGVjdGVkLnR4dDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjIuaHRtbDogUmVtb3ZlZC4K
KyAgICAgICAgKiBmYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjMtZXhwZWN0ZWQudHh0OiBSZW1v
dmVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yMy5odG1sOiBSZW1vdmVk
LgorICAgICAgICAqIGZhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yNC1leHBlY3RlZC50eHQ6IFJl
bW92ZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3I0Lmh0bWw6IFJlbW92
ZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3I1LWV4cGVjdGVkLnR4dDog
UmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjUuaHRtbDogUmVt
b3ZlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjYtZXhwZWN0ZWQudHh0
OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yNi5odG1sOiBS
ZW1vdmVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yNy1leHBlY3RlZC50
eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3I3Lmh0bWw6
IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3I4LWV4cGVjdGVk
LnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjguaHRt
bDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjktZXhwZWN0
ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yOS5o
dG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvd29ya2Vycy93b3JrZXItc2NyaXB0LWVycm9y
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L3Jlc291cmNlcy9v
bmVycm9yLWlmcmFtZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJp
dHkvd2luZG93LW9uZXJyb3ItZXhjZXB0aW9uLWluLWlmcmFtZS1leHBlY3RlZC50eHQ6IFJlbW92
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS93aW5kb3ctb25lcnJvci1leGNlcHRp
b24taW4taWZyYW1lLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0t
d2luL2Zhc3Qvd29ya2Vycy93b3JrZXItc2NyaXB0LWVycm9yLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjEtZXhwZWN0
ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZXZlbnRz
L3dpbmRvdy1vbmVycm9yMTAtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRm
b3JtL2Nocm9taXVtL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yMTEtZXhwZWN0ZWQudHh0OiBS
ZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZXZlbnRzL3dpbmRvdy1v
bmVycm9yMi1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21p
dW0vZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3IzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjQtZXhw
ZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZXZl
bnRzL3dpbmRvdy1vbmVycm9yNS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxh
dGZvcm0vY2hyb21pdW0vZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3I2LWV4cGVjdGVkLnR4dDog
UmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2V2ZW50cy93aW5kb3ct
b25lcnJvcjctZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9t
aXVtL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yOC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisg
ICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3I5LWV4
cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rl
c3RzL3NlY3VyaXR5L3dpbmRvdy1vbmVycm9yLWV4Y2VwdGlvbi1pbi1pZnJhbWUtZXhwZWN0ZWQu
dHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL3VzZXJzY3JpcHRzL3dp
bmRvdy1vbmVycm9yLWZvci1pc29sYXRlZC13b3JsZC0xLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS91c2Vyc2NyaXB0cy93aW5kb3ctb25lcnJvci1m
b3ItaXNvbGF0ZWQtd29ybGQtMi1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxh
dGZvcm0vZ3RrL1NraXBwZWQ6CisgICAgICAgICogdXNlcnNjcmlwdHMvd2luZG93LW9uZXJyb3It
Zm9yLWlzb2xhdGVkLXdvcmxkLTEtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHVz
ZXJzY3JpcHRzL3dpbmRvdy1vbmVycm9yLWZvci1pc29sYXRlZC13b3JsZC0xLmh0bWw6IFJlbW92
ZWQuCisgICAgICAgICogdXNlcnNjcmlwdHMvd2luZG93LW9uZXJyb3ItZm9yLWlzb2xhdGVkLXdv
cmxkLTItZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHVzZXJzY3JpcHRzL3dpbmRv
dy1vbmVycm9yLWZvci1pc29sYXRlZC13b3JsZC0yLmh0bWw6IFJlbW92ZWQuCisKIDIwMTAtMTIt
MTMgIEp1c3RpbiBTY2h1aCAgPGpzY2h1aEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgRGltaXRyaSBHbGF6a292LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvcmVzb3VyY2VzL3dpbmRvdy1vbmVycm9yLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMv
cmVzb3VyY2VzL3dpbmRvdy1vbmVycm9yLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAzNDQ1NzRiLi4wMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Jlc291cmNl
cy93aW5kb3ctb25lcnJvci5qcworKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotZnVuY3Rp
b24gdGhyb3dFeGNlcHRpb24oKSB7Ci0gICAgdGhyb3cgbmV3IEVycm9yKCJBbiBleGNlcHRpb24i
KTsKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9y
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjEt
ZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmZTUxYjcyLi4wMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yMS1leHBlY3Rl
ZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLVRoaXMgcGFnZSB0ZXN0cyBzZXR0
aW5nIG9uZXJyb3IgaGFuZGxlcnMgdGhyb3VnaCB0aGUgRE9NLiBJZiBpdCBwYXNzZXMsIHlvdSB3
aWxsIHNlZSAiUEFTUyIgbWVzc2FnZXMgYmVsb3cuQnVnIDg1MTkuCi0KLVBBU1M6IGNhdWdodCBn
bG9iYWwgZXJyb3I6IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBoYWhhaGFf
Z29vZF9sdWNrX2ZpbmRpbmdfbWUgYXQgd2luZG93LW9uZXJyb3IxLmh0bWw6MjUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yMS5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3IxLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDU5ZDI0OTUuLjAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvd2luZG93LW9uZXJyb3IxLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi08
aHRtbD4KLTxoZWFkPgotPHNjcmlwdD4KLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotCi1mdW5jdGlvbiBwcmlu
dChtZXNzYWdlLCBjb2xvcikKLXsKLSAgICB2YXIgcGFyYWdyYXBoID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgiZGl2Iik7Ci0gICAgcGFyYWdyYXBoLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0
ZVRleHROb2RlKG1lc3NhZ2UpKTsKLSAgICBwYXJhZ3JhcGguc3R5bGUuZm9udEZhbWlseSA9ICJt
b25vc3BhY2UiOwotICAgIGlmIChjb2xvcikKLSAgICAgICAgcGFyYWdyYXBoLnN0eWxlLmNvbG9y
ID0gY29sb3I7Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5hcHBlbmRD
aGlsZChwYXJhZ3JhcGgpOwotfQotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICAvLyBtdXN0IGJl
IGxhc3QgYmVjYXVzZSB0aGUgZXhjZXB0aW9uIGVuZHMgSmF2YVNjcmlwdCBleGVjdXRpb24KLSAg
ICB3aW5kb3cub25lcnJvciA9IGZ1bmN0aW9uIChlcnJvciwgdXJsLCBsaW5lKSB7Ci0gICAgICAg
IHVybCA9IHVybCA/IHVybC5tYXRjaCggL1teXC9dK1wvPyQvIClbMF0gOiB1cmw7Ci0gICAgICAg
IHByaW50KCJQQVNTOiBjYXVnaHQgZ2xvYmFsIGVycm9yOiAiICsgZXJyb3IgKyAiIGF0ICIgKyB1
cmwgKyAiOiIgKyBsaW5lLCAiZ3JlZW4iKTsKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH07
Ci0gICAgaGFoYWhhX2dvb2RfbHVja19maW5kaW5nX21lKCk7IC8vIGNhdWdodCBieSB3aW5kb3cu
b25lcnJvcgotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InRlc3QoKTsiPgot
PHA+VGhpcyBwYWdlIHRlc3RzIHNldHRpbmcgb25lcnJvciBoYW5kbGVycyB0aHJvdWdoIHRoZSBE
T00uIElmIGl0IHBhc3NlcywgeW91IHdpbGwKLSAgIHNlZSAiUEFTUyIgbWVzc2FnZXMgYmVsb3cu
PGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg1MTkiPkJ1
ZyA4NTE5PC9hPi48L3A+Ci08aHI+Ci08ZGl2IGlkPSdjb25zb2xlJz48L2Rpdj4KLTwvYm9keT4K
LTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVy
cm9yMTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJy
b3IxMC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJmZjU2MzYu
LjAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3IxMC1l
eHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi1UZXN0IHRoYXQgImVy
cm9yIiBldmVudCBsaXN0ZW5lciBhZGRlZCB3aXRoIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyIGlz
IGludm9rZWQgZm9yIHVuY2F1Y2h0IGV4Y2VwdGlvbnMuIEJ1ZyA4NTE5LgotCi1ldmVudCBwYXNz
ZWQgdG8gdGhlIGxpc3RlbmVyIGlzIHRoZSBzYW1lIGFzIHdpbmRvdy5ldmVudDogdHJ1ZQotRXZl
bnQgZGV0YWlsczoKLXR5cGU6IGVycm9yCi1waGFzZTogMgotY3VycmVudFRhcmdldCBpcyB0aGUg
Z2xvYmFsIG9iamVjdDogdHJ1ZQotbWVzc2FnZTogRXJyb3I6IE15IGZhdWx0LgotZmlsZW5hbWU6
IHdpbmRvdy1vbmVycm9yMTAuaHRtbAotbGluZW5vOiAyOQotCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjEwLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2V2ZW50cy93aW5kb3ctb25lcnJvcjEwLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDI2ZWQwMTguLjAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93
LW9uZXJyb3IxMC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzMgKzAsMCBAQAotPGh0bWw+Ci08
Ym9keT4KLTxwPlRlc3QgdGhhdCAiZXJyb3IiIGV2ZW50IGxpc3RlbmVyIGFkZGVkIHdpdGggd2lu
ZG93LmFkZEV2ZW50TGlzdGVuZXIgaXMgaW52b2tlZCBmb3IgdW5jYXVjaHQgZXhjZXB0aW9ucy4g
PGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg1MTkiPkJ1
ZyA4NTE5PC9hPi48L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQ+Ci1pZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1
bXBBc1RleHQoKTsKLQotZnVuY3Rpb24gbG9nKG1zZykgewotICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb25zb2xlIikuaW5uZXJIVE1MICs9IG1zZyArICI8YnI+IjsKLX0KLQotZnVuY3Rp
b24gbGFzdFBhdGhDb21wb25lbnQodXJsKSB7Ci0gICAgcmV0dXJuIHVybCA/IHVybC5tYXRjaCgg
L1teXC9dK1wvPyQvIClbMF0gOiB1cmw7Ci19Ci0KLXdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJl
cnJvciIsIGZ1bmN0aW9uKGUpIHsKLSAgICBsb2coImV2ZW50IHBhc3NlZCB0byB0aGUgbGlzdGVu
ZXIgaXMgdGhlIHNhbWUgYXMgd2luZG93LmV2ZW50OiAiICsgKHdpbmRvdy5ldmVudCA9PT0gZSkp
OwotICAgIGxvZygiRXZlbnQgZGV0YWlsczoiKTsKLSAgICBsb2coInR5cGU6ICIgKyBlLnR5cGUp
OwotICAgIGxvZygicGhhc2U6ICIgKyBlLmV2ZW50UGhhc2UpCi0gICAgbG9nKCJjdXJyZW50VGFy
Z2V0IGlzIHRoZSBnbG9iYWwgb2JqZWN0OiAiICsgKGUuY3VycmVudFRhcmdldCA9PT0gd2luZG93
KSk7Ci0gICAgbG9nKCJtZXNzYWdlOiAiICsgZS5tZXNzYWdlKTsKLSAgICBsb2coImZpbGVuYW1l
OiAiICsgbGFzdFBhdGhDb21wb25lbnQoZS5maWxlbmFtZSkpOwotICAgIGxvZygibGluZW5vOiAi
ICsgZS5saW5lbm8pOwotICAgIGUucHJldmVudERlZmF1bHQoKTsKLX0sIGZhbHNlKTsKLQotdGhy
b3cgbmV3IEVycm9yKCJNeSBmYXVsdC4iKTsKLQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjExLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yMTEtZXhw
ZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NmUyMGNjLi4wMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yMTEtZXhwZWN0ZWQu
dHh0CisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi1UZXN0IHRoYXQgd2luZG93Lm9uZXJy
b3IgaXMgY2FsbGVkIG9uIHdpbmRvdyBvYmplY3QuIEJ1ZyA4NTE5LgotCi1NYWluIGZyYW1lIHdp
bmRvdy5vbmVycm9yOiBFcnJvcjogQW4gZXhjZXB0aW9uIGF0IHdpbmRvdy1vbmVycm9yLmpzOjIK
LQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3IxMS5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3IxMS5odG1sCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3NjU1ZmE3Li4wMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yMTEuaHRtbAorKysgL2Rldi9udWxsCkBAIC0x
LDI4ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dpbmRv
dy1vbmVycm9yLmpzIj4KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08cD5UZXN0IHRoYXQg
d2luZG93Lm9uZXJyb3IgaXMgY2FsbGVkIG9uIHdpbmRvdyBvYmplY3QuIDxhIGhyZWY9Imh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTE5Ij5CdWcgODUxOTwvYT4uPC9w
PgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0PgotaWYgKHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0K
LWZ1bmN0aW9uIGxvZyhtc2cpIHsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29s
ZSIpLmlubmVySFRNTCArPSBtc2cgKyAiPGJyPiI7Ci19Ci0KLXdpbmRvdy5vbmVycm9yID0gZnVu
Y3Rpb24obXNnLCB1cmwsIGxpbmUpCi17Ci0gICAgdXJsID0gdXJsID8gdXJsLm1hdGNoKCAvW15c
L10rXC8/JC8gKVswXSA6IHVybDsKLSAgICBsb2coIk1haW4gZnJhbWUgd2luZG93Lm9uZXJyb3I6
ICIgKyBtc2cgKyAiIGF0ICIgKyB1cmwgKyAiOiIgKyBsaW5lKTsKLSAgICByZXR1cm4gZmFsc2U7
Ci19Ci0KLXRocm93RXhjZXB0aW9uKCk7Ci0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3IyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yMi1leHBlY3Rl
ZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkzYTJkM2YuLjAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3IyLWV4cGVjdGVkLnR4dAor
KysgL2Rldi9udWxsCkBAIC0xLDYgKzAsMCBAQAotVGVzdCB0aGF0IHVuY2F1Z2h0IGV4Y2VwdGlv
bnMgd2lsbCBiZSByZXBvcnRlZCB0byB0aGUgd2luZG93Lm9uZXJyb3IgaGFuZGxlci4gQnVnIDg1
MTkuCi0KLU1haW4gZnJhbWUgd2luZG93Lm9uZXJyb3I6IEVycm9yOiBJbmxpbmUgc2NyaXB0IGV4
Y2VwdGlvbiBhdCB3aW5kb3ctb25lcnJvcjIuaHRtbDozNQotTWFpbiBmcmFtZSB3aW5kb3cub25l
cnJvcjogRXhjZXB0aW9uIGluIG9ubG9hZCBhdCB1bmRlZmluZWQ6MAotTWFpbiBmcmFtZSB3aW5k
b3cub25lcnJvcjogRXJyb3I6IEV4Y2VwdGlvbiBpbiBzZXRUaW1lb3V0IGF0IHdpbmRvdy1vbmVy
cm9yMi5odG1sOjI5Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRv
dy1vbmVycm9yMi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3Iy
Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRiOWZiNzUuLjAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3IyLmh0bWwKKysrIC9kZXYv
bnVsbApAQCAtMSw0MSArMCwwIEBACi08aHRtbD4KLTxib2R5IG9ubG9hZD0idGhyb3cgJ0V4Y2Vw
dGlvbiBpbiBvbmxvYWQnOyI+Ci08cD5UZXN0IHRoYXQgdW5jYXVnaHQgZXhjZXB0aW9ucyB3aWxs
IGJlIHJlcG9ydGVkIHRvIHRoZSB3aW5kb3cub25lcnJvciBoYW5kbGVyLiA8YSBocmVmPSJodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODUxOSI+QnVnIDg1MTk8L2E+Ljwv
cD4KLTxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Ci08c2NyaXB0PgotaWYgKHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikgewotICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsK
LSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Ci19Ci0KLWZ1bmN0aW9u
IGxvZyhtc2cpIHsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJI
VE1MICs9IG1zZyArICI8YnI+IjsKLX0KLQotdmFyIHVuaGFuZGxlZEVycm9yQ291bnQgPSAwOwot
d2luZG93Lm9uZXJyb3IgPSBmdW5jdGlvbihtc2csIHVybCwgbGluZSkKLXsKLSAgICB1cmwgPSB1
cmwgPyB1cmwubWF0Y2goIC9bXlwvXStcLz8kLyApWzBdIDogdXJsOwotICAgIGxvZygiTWFpbiBm
cmFtZSB3aW5kb3cub25lcnJvcjogIiArIG1zZyArICIgYXQgIiArIHVybCArICI6IiArIGxpbmUp
OwotICAgIAotICAgIGlmICgrK3VuaGFuZGxlZEVycm9yQ291bnQgPT09IDMgJiYgd2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlE
b25lKCk7Ci0KLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KLWZ1bmN0aW9uIGRlbGF5ZWRUaHJvd0V4
Y2VwdGlvbigpCi17Ci0gICAgdGhyb3cgbmV3IEVycm9yKCJFeGNlcHRpb24gaW4gc2V0VGltZW91
dCIpOwotfQotc2V0VGltZW91dChkZWxheWVkVGhyb3dFeGNlcHRpb24sIDApOwotCi1mdW5jdGlv
biB0aHJvd0V4Y2VwdGlvbigpCi17Ci0gICAgdGhyb3cgbmV3IEVycm9yKCJJbmxpbmUgc2NyaXB0
IGV4Y2VwdGlvbiIpOwotfQotdGhyb3dFeGNlcHRpb24oKTsKLQotPC9zY3JpcHQ+Ci08L2JvZHk+
Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25l
cnJvcjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJy
b3IzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzAyNWRiYi4u
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjMtZXhw
ZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi1Zb3Ugc2hvdWxkIHNlZSBh
IG1lc3NhZ2UgaWYgd2luZG93Lm9uZXJyb3IgaXMgd29ya2luZyBwcm9wZXJseSBmb3IgdGhpcyB0
ZXN0LkJ1ZyA4NTE5LgotCi1FcnJvciBjYXVnaHQgc3VjY2Vzc2Z1bGx5OiBSZWZlcmVuY2VFcnJv
cjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogdW5rbm93bk9iamVjdCBGaWxlOiB3aW5kb3ctb25lcnJv
cjMuaHRtbCBMaW5lOiAxNgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93
aW5kb3ctb25lcnJvcjMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVy
cm9yMy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlZTI4OTNmLi4wMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yMy5odG1sCisrKyAv
ZGV2L251bGwKQEAgLTEsMjMgKzAsMCBAQAotPHNjcmlwdD4KLWlmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpCi0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotCi1m
dW5jdGlvbiBsb2cobXNnKSB7Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUi
KS5pbm5lckhUTUwgKz0gbXNnICsgIjxicj4iOwotfQotCi1mdW5jdGlvbiB0ZXN0MSgpCi17Ci0g
ICAgd2luZG93Lm9uZXJyb3IgPSBmdW5jdGlvbiAoZXJyb3IsIHVybCwgbGluZSkgewotICAgICAg
ICB1cmwgPSB1cmwgPyB1cmwubWF0Y2goIC9bXlwvXStcLz8kLyApWzBdIDogdXJsOwotICAgICAg
ICBsb2coIkVycm9yIGNhdWdodCBzdWNjZXNzZnVsbHk6ICIgKyBlcnJvciArICJcbkZpbGU6ICIg
KyB1cmwgKyAiXG5MaW5lOiAiICsgbGluZSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH07
Ci0gICAgdW5rbm93bk9iamVjdC51bmtub3duUHJvcGVydHkrKzsKLX0KLTwvc2NyaXB0PgotPGJv
ZHkgb25sb2FkPSJ0ZXN0MSgpOyI+Ci08cD5Zb3Ugc2hvdWxkIHNlZSBhIG1lc3NhZ2UgaWYgd2lu
ZG93Lm9uZXJyb3IgaXMgd29ya2luZyBwcm9wZXJseSBmb3IgdGhpcyB0ZXN0LjxhIGhyZWY9Imh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTE5Ij5CdWcgODUxOTwvYT4u
PC9wPgotPGhyPgotPGRpdiBpZD0nY29uc29sZSc+PC9kaXY+Ci08L2JvZHk+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjQtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3I0LWV4cGVjdGVkLnR4dApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjZhZjhhMS4uMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251
bGwKQEAgLTEsNCArMCwwIEBACi1Zb3Ugc2hvdWxkIHNlZSBhIGxvZyByZWNvcmQgaWYgd2luZG93
Lm9uZXJyb3IgaXMgd29ya2luZyBwcm9wZXJseSBmb3IgdGhpcyB0ZXN0LkJ1ZyA4NTE5LgotCi1F
cnJvciBjYXVnaHQgc3VjY2Vzc2Z1bGx5OiBSZWZlcmVuY2VFcnJvcjogTGVmdCBzaWRlIG9mIGFz
c2lnbm1lbnQgaXMgbm90IGEgcmVmZXJlbmNlLiBGaWxlOiB1bmRlZmluZWQgTGluZTogMQotCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjQuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yNC5odG1sCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBjNTE4ODdkLi4wMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yNC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjMgKzAs
MCBAQAotPHNjcmlwdD4KLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotCi1mdW5jdGlvbiBsb2cobXNnKSB7Ci0g
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5pbm5lckhUTUwgKz0gbXNnICsg
Ijxicj4iOwotfQotCi1mdW5jdGlvbiB0ZXN0MSgpCi17Ci0gICAgd2luZG93Lm9uZXJyb3IgPSBm
dW5jdGlvbiAoZXJyb3IsIHVybCwgbGluZSkgewotICAgICAgICB1cmwgPSB1cmwgPyB1cmwubWF0
Y2goIC9bXlwvXStcLz8kLyApWzBdIDogdXJsOwotICAgICAgICBsb2coIkVycm9yIGNhdWdodCBz
dWNjZXNzZnVsbHk6ICIgKyBlcnJvciArICJcbkZpbGU6ICIgKyB1cmwgKyAiXG5MaW5lOiAiICsg
bGluZSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH07Ci0gICAgZXZhbCgiMT0yIik7Ci19
Ci08L3NjcmlwdD4KLTxib2R5IG9ubG9hZD0idGVzdDEoKTsiPgotPHA+WW91IHNob3VsZCBzZWUg
YSBsb2cgcmVjb3JkIGlmIHdpbmRvdy5vbmVycm9yIGlzIHdvcmtpbmcgcHJvcGVybHkgZm9yIHRo
aXMgdGVzdC48YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
ODUxOSI+QnVnIDg1MTk8L2E+LjwvcD4KLTxocj4KLTxkaXYgaWQ9J2NvbnNvbGUnPjwvZGl2Pgot
PC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJy
b3I1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9y
NS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNlYzdmNWUuLjAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3I1LWV4cGVj
dGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotVGVzdCB0aGF0IHdpbmRvdy5v
bmVycm9yIGlzIGludm9rZWQgZm9yIHN5bnRheCBlcnJvciBpbiBldmFsLiBZb3Ugc2hvdWxkIHNl
ZSBhIGxvZyByZWNvcmQgaWYgd2luZG93Lm9uZXJyb3IgaXMgd29ya2luZyBwcm9wZXJseSBmb3Ig
dGhpcyB0ZXN0LkJ1ZyA4NTE5LgotCi1FcnJvciBjYXVnaHQgc3VjY2Vzc2Z1bGx5OiBTeW50YXhF
cnJvcjogUGFyc2UgZXJyb3IgRmlsZTogdW5kZWZpbmVkIExpbmU6IDEKLQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3I1Lmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggOTMyZDQzOC4uMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93
aW5kb3ctb25lcnJvcjUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDIzICswLDAgQEAKLTxzY3Jp
cHQ+Ci1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgIGxheW91dFRlc3RDb250
cm9sbGVyLmR1bXBBc1RleHQoKTsKLQotZnVuY3Rpb24gbG9nKG1zZykgewotICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIikuaW5uZXJIVE1MICs9IG1zZyArICI8YnI+IjsKLX0K
LQotZnVuY3Rpb24gdGVzdDEoKQotewotICAgIHdpbmRvdy5vbmVycm9yID0gZnVuY3Rpb24gKGVy
cm9yLCB1cmwsIGxpbmUpIHsKLSAgICAgICAgdXJsID0gdXJsID8gdXJsLm1hdGNoKCAvW15cL10r
XC8/JC8gKVswXSA6IHVybDsKLSAgICAgICAgbG9nKCJFcnJvciBjYXVnaHQgc3VjY2Vzc2Z1bGx5
OiAiICsgZXJyb3IgKyAiXG5GaWxlOiAiICsgdXJsICsgIlxuTGluZTogIiArIGxpbmUpCi0gICAg
ICAgIHJldHVybiBmYWxzZTsKLSAgICB9OwotICAgIGV2YWwoImEoIik7Ci19Ci08L3NjcmlwdD4K
LTxib2R5IG9ubG9hZD0idGVzdDEoKTsiPgotPHA+VGVzdCB0aGF0IHdpbmRvdy5vbmVycm9yIGlz
IGludm9rZWQgZm9yIHN5bnRheCBlcnJvciBpbiBldmFsLiBZb3Ugc2hvdWxkIHNlZSBhIGxvZyBy
ZWNvcmQgaWYgd2luZG93Lm9uZXJyb3IgaXMgd29ya2luZyBwcm9wZXJseSBmb3IgdGhpcyB0ZXN0
LjxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTE5Ij5C
dWcgODUxOTwvYT4uPC9wPgotPGhyPgotPGRpdiBpZD0nY29uc29sZSc+PC9kaXY+Ci08L2JvZHk+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjYtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3I2LWV4cGVj
dGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTdjMjdiYi4uMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjYtZXhwZWN0ZWQudHh0
CisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi1UZXN0IHRoYXQgc3ludGF4IGVycm9yIHdp
bGwgYmUgcmVwb3J0ZWQgdG8gdGhlIHdpbmRvdy5vbmVycm9yIGhhbmRsZXIuIEJ1ZyA4NTE5Lgot
Ci1NYWluIGZyYW1lIHdpbmRvdy5vbmVycm9yOiBTeW50YXhFcnJvcjogUGFyc2UgZXJyb3IgYXQg
d2luZG93LW9uZXJyb3I2Lmh0bWw6MjIKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9l
dmVudHMvd2luZG93LW9uZXJyb3I2Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5k
b3ctb25lcnJvcjYuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTk3ODQzNi4u
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjYuaHRt
bAorKysgL2Rldi9udWxsCkBAIC0xLDI2ICswLDAgQEAKLTxodG1sPgotPGJvZHk+Ci08cD5UZXN0
IHRoYXQgc3ludGF4IGVycm9yIHdpbGwgYmUgcmVwb3J0ZWQgdG8gdGhlIHdpbmRvdy5vbmVycm9y
IGhhbmRsZXIuIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD04NTE5Ij5CdWcgODUxOTwvYT4uPC9wPgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2Ny
aXB0PgotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0KLWZ1bmN0aW9uIGxvZyhtc2cpIHsKLSAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVySFRNTCArPSBtc2cgKyAiPGJyPiI7Ci19
Ci0KLXdpbmRvdy5vbmVycm9yID0gZnVuY3Rpb24obXNnLCB1cmwsIGxpbmUpCi17Ci0gICAgdXJs
ID0gdXJsID8gdXJsLm1hdGNoKCAvW15cL10rXC8/JC8gKVswXSA6IHVybDsKLSAgICBsb2coIk1h
aW4gZnJhbWUgd2luZG93Lm9uZXJyb3I6ICIgKyBtc2cgKyAiIGF0ICIgKyB1cmwgKyAiOiIgKyBs
aW5lKTsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci08L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWEpIC8v
IHN5bnRheCBlcnJvcgotCi08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yNy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjctZXhwZWN0ZWQudHh0CmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZDIyZTdlLi4wMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yNy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVs
bApAQCAtMSw2ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAyMDogRXJyb3I6IE9yaWdp
bmFsIGVycm9yCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTc6IEVycm9yOiBOZXN0ZWQgZXJyb3IK
LVRlc3QgdGhhdCBleGNlcHRpb24gaW4gd2luZG93Lm9uZXJyb3Igd29uJ3QgbGVhZCB0byByZWN1
cnNpdmUgd2luZG93Lm9uZXJyb3IgY2FsbC4gQnVnIDg1MTkuCi0KLU1haW4gZnJhbWUgd2luZG93
Lm9uZXJyb3I6IEVycm9yOiBPcmlnaW5hbCBlcnJvciBhdCB3aW5kb3ctb25lcnJvcjcuaHRtbDoy
MAotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjcu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yNy5odG1sCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmNjY1Njg2Li4wMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yNy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
MjQgKzAsMCBAQAotPGh0bWw+Ci08Ym9keT4KLTxwPlRlc3QgdGhhdCBleGNlcHRpb24gaW4gd2lu
ZG93Lm9uZXJyb3Igd29uJ3QgbGVhZCB0byByZWN1cnNpdmUgd2luZG93Lm9uZXJyb3IgY2FsbC4g
PGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg1MTkiPkJ1
ZyA4NTE5PC9hPi48L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQ+Ci1pZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1
bXBBc1RleHQoKTsKLQotZnVuY3Rpb24gbG9nKG1zZykgewotICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb25zb2xlIikuaW5uZXJIVE1MICs9IG1zZyArICI8YnI+IjsKLX0KLQotd2luZG93
Lm9uZXJyb3IgPSBmdW5jdGlvbihtc2csIHVybCwgbGluZSkKLXsKLSAgICB1cmwgPSB1cmwgPyB1
cmwubWF0Y2goIC9bXlwvXStcLz8kLyApWzBdIDogdXJsOwotICAgIGxvZygiTWFpbiBmcmFtZSB3
aW5kb3cub25lcnJvcjogIiArIG1zZyArICIgYXQgIiArIHVybCArICI6IiArIGxpbmUpOwotICAg
IHRocm93IG5ldyBFcnJvcigiTmVzdGVkIGVycm9yIik7Ci19Ci0KLXRocm93IG5ldyBFcnJvcigi
T3JpZ2luYWwgZXJyb3IiKTsKLQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjgtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3I4LWV4cGVjdGVkLnR4dApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWZjNjMwOC4uMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjgtZXhwZWN0ZWQudHh0CisrKyAvZGV2
L251bGwKQEAgLTEsNSArMCwwIEBACi1UZXN0IHRoYXQgd2luZG93Lm9uZXJyb3IgaXMgY2FsbGVk
IG9uIHdpbmRvdyBvYmplY3QuIEJ1ZyA4NTE5LgotCi1NYWluIGZyYW1lIHdpbmRvdy5vbmVycm9y
OiAyMDEwIGF0IHVuZGVmaW5lZDowCi1QQVNTRUQ6IHRoaXMgPT09IHdpbmRvdwotCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjguaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yOC5odG1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBiYWRlNTM4Li4wMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZXZl
bnRzL3dpbmRvdy1vbmVycm9yOC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjggKzAsMCBAQAot
PGh0bWw+Ci08Ym9keT4KLTxwPlRlc3QgdGhhdCB3aW5kb3cub25lcnJvciBpcyBjYWxsZWQgb24g
d2luZG93IG9iamVjdC4gPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTg1MTkiPkJ1ZyA4NTE5PC9hPi48L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
LTxzY3JpcHQ+Ci1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgIGxheW91dFRl
c3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLQotZnVuY3Rpb24gbG9nKG1zZykgewotICAgIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIikuaW5uZXJIVE1MICs9IG1zZyArICI8YnI+
IjsKLX0KLQotd2luZG93Lm9uZXJyb3IgPSBmdW5jdGlvbihtc2csIHVybCwgbGluZSkKLXsKLSAg
ICB1cmwgPSB1cmwgPyB1cmwubWF0Y2goIC9bXlwvXStcLz8kLyApWzBdIDogdXJsOwotICAgIGxv
ZygiTWFpbiBmcmFtZSB3aW5kb3cub25lcnJvcjogIiArIG1zZyArICIgYXQgIiArIHVybCArICI6
IiArIGxpbmUpOwotICAgIGlmICh0aGlzID09PSB3aW5kb3cpIAotICAgICAgICBsb2coIlBBU1NF
RDogdGhpcyA9PT0gd2luZG93Iik7Ci0gICAgZWxzZQotICAgICAgICBsb2coIkZBSUxFRDogdGhp
cyA9PT0gd2luZG93Iik7Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotCi10aHJvdyAyMDEwOwotCi08
L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZXZlbnRzL3dpbmRvdy1vbmVycm9yOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2
ZW50cy93aW5kb3ctb25lcnJvcjktZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA5NDMxNmQzLi4wMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dp
bmRvdy1vbmVycm9yOS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAK
LVRlc3QgdGhhdCB3aGVuIHdpbmRvdy5vbmVycm9yIGhhbmRsZXIgaXMgY2FsbGVkLCB3aW5kb3cu
ZXZlbnQgaXMgdGhlIGNvcnJlc3BvbmRpbmcgRXJyb3JFdmVudCBvYmplY3QuIEJ1ZyA4NTE5Lgot
Ci1NYWluIGZyYW1lIHdpbmRvdy5vbmVycm9yOiBFcnJvcjogMjAxMCBhdCB3aW5kb3ctb25lcnJv
cjkuaHRtbDozMQotd2luZG93LmV2ZW50LnR5cGUgPSBlcnJvcgotd2luZG93LmV2ZW50Lm1lc3Nh
Z2UgPSBFcnJvcjogMjAxMAotd2luZG93LmV2ZW50LmZpbGVuYW1lID0gd2luZG93LW9uZXJyb3I5
Lmh0bWwKLXdpbmRvdy5ldmVudC5saW5lbm8gPSAzMQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjkuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZl
bnRzL3dpbmRvdy1vbmVycm9yOS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAx
MDg2YWNlLi4wMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVy
cm9yOS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotPGh0bWw+Ci08Ym9keT4K
LTxwPlRlc3QgdGhhdCB3aGVuIHdpbmRvdy5vbmVycm9yIGhhbmRsZXIgaXMgY2FsbGVkLCB3aW5k
b3cuZXZlbnQgaXMgdGhlIGNvcnJlc3BvbmRpbmcgRXJyb3JFdmVudCBvYmplY3QuIDxhIGhyZWY9
Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTE5Ij5CdWcgODUxOTwv
YT4uPC9wPgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0PgotaWYgKHdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlcikgewotICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1Rl
eHQoKTsKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Ci19Ci0KLWZ1
bmN0aW9uIGxvZyhtc2cpIHsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIp
LmlubmVySFRNTCArPSBtc2cgKyAiPGJyPiI7Ci19Ci0KLWZ1bmN0aW9uIGxhc3RQYXRoQ29tcG9u
ZW50KHVybCkgewotICAgIHJldHVybiB1cmwgPyB1cmwubWF0Y2goIC9bXlwvXStcLz8kLyApWzBd
IDogdXJsOwotfQotCi13aW5kb3cub25lcnJvciA9IGZ1bmN0aW9uKG1zZywgdXJsLCBsaW5lKQot
ewotICAgIGxvZygiTWFpbiBmcmFtZSB3aW5kb3cub25lcnJvcjogIiArIG1zZyArICIgYXQgIiAr
IGxhc3RQYXRoQ29tcG9uZW50KHVybCkgKyAiOiIgKyBsaW5lKTsKLSAgICBsb2coIndpbmRvdy5l
dmVudC50eXBlID0gIiArIHdpbmRvdy5ldmVudC50eXBlKTsKLSAgICBsb2coIndpbmRvdy5ldmVu
dC5tZXNzYWdlID0gIiArIHdpbmRvdy5ldmVudC5tZXNzYWdlKTsKLSAgICBsb2coIndpbmRvdy5l
dmVudC5maWxlbmFtZSA9ICIgKyBsYXN0UGF0aENvbXBvbmVudCh3aW5kb3cuZXZlbnQuZmlsZW5h
bWUpKTsKLSAgICBsb2coIndpbmRvdy5ldmVudC5saW5lbm8gPSAiICsgd2luZG93LmV2ZW50Lmxp
bmVubyk7Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotICAgIHJldHVybiBmYWxzZTsKLX0KLQot
dGhyb3cgbmV3IEVycm9yKDIwMTApOwotCi08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vycy93b3JrZXItc2NyaXB0LWVycm9yLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vycy93b3JrZXItc2NyaXB0LWVycm9y
LWV4cGVjdGVkLnR4dAppbmRleCA0MDQxNjQwLi4xMGFiMDQ5IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L3dvcmtlcnMvd29ya2VyLXNjcmlwdC1lcnJvci1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC93b3JrZXJzL3dvcmtlci1zY3JpcHQtZXJyb3ItZXhwZWN0ZWQudHh0
CkBAIC00LDEwICs0LDEwIEBAIFRlc3QgV29ya2VyIHNjcmlwdCBlcnJvciBoYW5kbGluZyBmdW5j
dGlvbmFsaXR5LiBTaG91bGQgcHJpbnQgYSBzZXJpZXMgb2YgUEFTUyBtCiBQQVNTOiBvbmVycm9y
IGludm9rZWQgZm9yIGEgc2NyaXB0IHRoYXQgaGFzIGludmFsaWQgc3ludGF4LgogUEFTUzogb25l
cnJvciBpbnZva2VkIGZvciBhIHNjcmlwdCB0aGF0IGhhcyBzY3JpcHQgZXJyb3IgJ1JlZmVyZW5j
ZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBmb28nIGF0IGxpbmUgMS4KIFBBU1M6IGV2ZW50
IGxpc3RlbmVyIGludm9rZWQgZm9yIGEgc2NyaXB0IHRoYXQgaGFzIHNjcmlwdCBlcnJvciAnUmVm
ZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IGZvbycgYXQgbGluZSAxLgotUEFTUzog
b25lcnJvciBpbnZva2VkIGZvciBhIHNjcmlwdCB0aGF0IGhhcyBzY3JpcHQgZXJyb3IgJ1JlZmVy
ZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBmb28nIGF0IGxpbmUgNy4KIFBBU1M6IG9u
ZXJyb3IgaW52b2tlZCBmb3IgYSBzY3JpcHQgdGhhdCBoYXMgc2NyaXB0IGVycm9yICdSZWZlcmVu
Y2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogYmFyJyBhdCBsaW5lIDMuCiBQQVNTOiBvbmVy
cm9yIGludm9rZWQgZm9yIGEgc2NyaXB0IHRoYXQgaGFzIHNjcmlwdCBlcnJvciAnUmVmZXJlbmNl
RXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IGZvbycgYXQgbGluZSA3LgogUEFTUzogb25lcnJv
ciBpbnZva2VkIGZvciBhIHNjcmlwdCB0aGF0IGhhcyBzY3JpcHQgZXJyb3IgJ1JlZmVyZW5jZUVy
cm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBmb28nIGF0IGxpbmUgNy4KK1BBU1M6IG9uZXJyb3Ig
aW52b2tlZCBmb3IgYSBzY3JpcHQgdGhhdCBoYXMgc2NyaXB0IGVycm9yICdSZWZlcmVuY2VFcnJv
cjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogZm9vJyBhdCBsaW5lIDcuCiBQQVNTOiBtZXNzYWdlIHJl
Y2VpdmVkIGZyb20gV29ya2VyR2xvYmFsU2NvcGUub25lcnJvcjogb25lcnJvciBpbnZva2VkIGZv
ciBhIHNjcmlwdCB0aGF0IGhhcyBzY3JpcHQgZXJyb3IgJ1JlZmVyZW5jZUVycm9yOiBDYW4ndCBm
aW5kIHZhcmlhYmxlOiBmb28nIGF0IGxpbmUgNy4KIFBBU1M6IG9uZXJyb3IgaW52b2tlZCBmb3Ig
YW4gZXhjZXB0aW9uIGluIHNldFRpbWVvdXQgY2FsbGJhY2suCiBET05FCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3Jlc291cmNlcy9vbmVycm9yLWlmcmFtZS5o
dG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9yZXNvdXJjZXMvb25lcnJvci1p
ZnJhbWUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzEyZmQxMi4uMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3Jlc291cmNlcy9vbmVycm9y
LWlmcmFtZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotPHNjcmlwdD4KLWZ1
bmN0aW9uIGhhbmRsZUxvYWQoKQotewotICAgIHdpbmRvdy5wYXJlbnQucG9zdE1lc3NhZ2UoIklG
cmFtZUxvYWRlZCIsICIqIik7Ci19Ci0KLXRocm93ICJJZnJhbWVFeGNlcHRpb24iOwotCi08L3Nj
cmlwdD4KLTxib2R5IG9ubG9hZD0iaGFuZGxlTG9hZCgpIj4KLTwvYm9keT4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvd2luZG93LW9uZXJyb3ItZXhjZXB0aW9u
LWluLWlmcmFtZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L3dpbmRvdy1vbmVycm9yLWV4Y2VwdGlvbi1pbi1pZnJhbWUtZXhwZWN0ZWQudHh0CmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4YjE3ZDkyLi4wMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkvd2luZG93LW9uZXJyb3ItZXhjZXB0aW9uLWluLWlmcmFtZS1l
eHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw2ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FH
RTogbGluZSAwOiBJZnJhbWVFeGNlcHRpb24KLVRlc3QgdGhhdCBleGNlcHRpb25zIGluIGlmcmFt
ZSBhcmUgbm90IHJlcG9ydGVkIHRvIHRoZSBtYWluIGZyYW1lIHdpbmRvdy5vbmVycm9yIGhhbmRs
ZXIuIHdpbmRvdy5vbmVycm9yIHNob3VsZCBwcmludCBleGFjdGx5IG9uZSBsaW5lLgotCi1NYWlu
IGZyYW1lIHdpbmRvdy5vbmVycm9yOiBNYWluRnJhbWVFeGNlcHRpb24gYXQgdW5kZWZpbmVkOjAK
LURPTkUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS93aW5k
b3ctb25lcnJvci1leGNlcHRpb24taW4taWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3NlY3VyaXR5L3dpbmRvdy1vbmVycm9yLWV4Y2VwdGlvbi1pbi1pZnJhbWUuaHRtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDkwNGUzOS4uMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3dpbmRvdy1vbmVycm9yLWV4Y2VwdGlvbi1pbi1pZnJh
bWUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDM5ICswLDAgQEAKLTxodG1sPgotPGJvZHk+Ci08
cD5UZXN0IHRoYXQgZXhjZXB0aW9ucyBpbiBpZnJhbWUgYXJlIG5vdCByZXBvcnRlZCB0byB0aGUg
bWFpbiBmcmFtZSB3aW5kb3cub25lcnJvciBoYW5kbGVyLgotd2luZG93Lm9uZXJyb3Igc2hvdWxk
IHByaW50IGV4YWN0bHkgb25lIGxpbmUuPC9wPgotPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KLTxz
Y3JpcHQ+Ci1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRV
bnRpbERvbmUoKTsKLX0KLQotZnVuY3Rpb24gbG9nKG1zZykgewotICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJyZXN1bHQiKS5pbm5lckhUTUwgKz0gbXNnICsgIjxicj4iOwotfQotCi13aW5k
b3cub25lcnJvciA9IGZ1bmN0aW9uKG1zZywgdXJsLCBsaW5lKQotewotICAgIHVybCA9IHVybCA/
IHVybC5tYXRjaCggL1teXC9dK1wvPyQvIClbMF0gOiB1cmw7Ci0gICAgbG9nKCJNYWluIGZyYW1l
IHdpbmRvdy5vbmVycm9yOiAiICsgbXNnICsgIiBhdCAiICsgdXJsICsgIjoiICsgbGluZSk7Ci0g
ICAgcmV0dXJuIGZhbHNlOwotfQotCi1mdW5jdGlvbiByZWNlaXZlTWVzc2FnZShldmVudCkgewot
ICAgIGlmIChldmVudC5kYXRhID09PSAiSUZyYW1lTG9hZGVkIikgewotICAgICAgICBsb2coIkRP
TkUiKTsKLSAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAg
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLSAgICB9IGVsc2UKLSAgICAg
ICAgbG9nKCJGQUlMICIgKyBldmVudC5kYXRhKTsKLX0KLQotd2luZG93LmFkZEV2ZW50TGlzdGVu
ZXIoIm1lc3NhZ2UiLCByZWNlaXZlTWVzc2FnZSwgZmFsc2UpOwotCi10aHJvdyAiTWFpbkZyYW1l
RXhjZXB0aW9uIjsKLQotPC9zY3JpcHQ+Ci08aWZyYW1lIHNyYz0iaHR0cDovL2xvY2FsaG9zdDo4
MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9vbmVycm9yLWlmcmFtZS5odG1sIi8+Ci08L2JvZHk+Ci08
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vZmFz
dC93b3JrZXJzL3dvcmtlci1zY3JpcHQtZXJyb3ItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0td2luL2Zhc3Qvd29ya2Vycy93b3JrZXItc2NyaXB0LWVycm9yLWV4
cGVjdGVkLnR4dAppbmRleCBlZjBhMzkxLi5mZGY2NjBiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vZmFzdC93b3JrZXJzL3dvcmtlci1zY3JpcHQtZXJyb3It
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9mYXN0
L3dvcmtlcnMvd29ya2VyLXNjcmlwdC1lcnJvci1leHBlY3RlZC50eHQKQEAgLTMsMTAgKzMsMTAg
QEAgVGVzdCBXb3JrZXIgc2NyaXB0IGVycm9yIGhhbmRsaW5nIGZ1bmN0aW9uYWxpdHkuIFNob3Vs
ZCBwcmludCBhIHNlcmllcyBvZiBQQVNTIG0KIFBBU1M6IG9uZXJyb3IgaW52b2tlZCBmb3IgYSBz
Y3JpcHQgdGhhdCBoYXMgaW52YWxpZCBzeW50YXguCiBQQVNTOiBvbmVycm9yIGludm9rZWQgZm9y
IGEgc2NyaXB0IHRoYXQgaGFzIHNjcmlwdCBlcnJvciAnVW5jYXVnaHQgUmVmZXJlbmNlRXJyb3I6
IGZvbyBpcyBub3QgZGVmaW5lZCcgYXQgbGluZSAxLgogUEFTUzogZXZlbnQgbGlzdGVuZXIgaW52
b2tlZCBmb3IgYSBzY3JpcHQgdGhhdCBoYXMgc2NyaXB0IGVycm9yICdVbmNhdWdodCBSZWZlcmVu
Y2VFcnJvcjogZm9vIGlzIG5vdCBkZWZpbmVkJyBhdCBsaW5lIDEuCi1QQVNTOiBvbmVycm9yIGlu
dm9rZWQgZm9yIGEgc2NyaXB0IHRoYXQgaGFzIHNjcmlwdCBlcnJvciAnVW5jYXVnaHQgUmVmZXJl
bmNlRXJyb3I6IGZvbyBpcyBub3QgZGVmaW5lZCcgYXQgbGluZSA3LgogUEFTUzogb25lcnJvciBp
bnZva2VkIGZvciBhIHNjcmlwdCB0aGF0IGhhcyBzY3JpcHQgZXJyb3IgJ1VuY2F1Z2h0IFJlZmVy
ZW5jZUVycm9yOiBiYXIgaXMgbm90IGRlZmluZWQnIGF0IGxpbmUgMy4KIFBBU1M6IG9uZXJyb3Ig
aW52b2tlZCBmb3IgYSBzY3JpcHQgdGhhdCBoYXMgc2NyaXB0IGVycm9yICdVbmNhdWdodCBSZWZl
cmVuY2VFcnJvcjogZm9vIGlzIG5vdCBkZWZpbmVkJyBhdCBsaW5lIDcuCiBQQVNTOiBvbmVycm9y
IGludm9rZWQgZm9yIGEgc2NyaXB0IHRoYXQgaGFzIHNjcmlwdCBlcnJvciAnVW5jYXVnaHQgUmVm
ZXJlbmNlRXJyb3I6IGZvbyBpcyBub3QgZGVmaW5lZCcgYXQgbGluZSA3LgorUEFTUzogb25lcnJv
ciBpbnZva2VkIGZvciBhIHNjcmlwdCB0aGF0IGhhcyBzY3JpcHQgZXJyb3IgJ1VuY2F1Z2h0IFJl
ZmVyZW5jZUVycm9yOiBmb28gaXMgbm90IGRlZmluZWQnIGF0IGxpbmUgNy4KIFBBU1M6IG1lc3Nh
Z2UgcmVjZWl2ZWQgZnJvbSBXb3JrZXJHbG9iYWxTY29wZS5vbmVycm9yOiBvbmVycm9yIGludm9r
ZWQgZm9yIGEgc2NyaXB0IHRoYXQgaGFzIHNjcmlwdCBlcnJvciAnVW5jYXVnaHQgUmVmZXJlbmNl
RXJyb3I6IGZvbyBpcyBub3QgZGVmaW5lZCcgYXQgbGluZSA3LgogUEFTUzogb25lcnJvciBpbnZv
a2VkIGZvciBhbiBleGNlcHRpb24gaW4gc2V0VGltZW91dCBjYWxsYmFjay4KIERPTkUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZXZlbnRzL3dpbmRvdy1v
bmVycm9yMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0
L2V2ZW50cy93aW5kb3ctb25lcnJvcjEtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA2NWI2MjRiLi4wMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yMS1leHBlY3RlZC50eHQKKysrIC9kZXYv
bnVsbApAQCAtMSwzICswLDAgQEAKLVRoaXMgcGFnZSB0ZXN0cyBzZXR0aW5nIG9uZXJyb3IgaGFu
ZGxlcnMgdGhyb3VnaCB0aGUgRE9NLiBJZiBpdCBwYXNzZXMsIHlvdSB3aWxsIHNlZSAiUEFTUyIg
bWVzc2FnZXMgYmVsb3cuQnVnIDg1MTkuDQotDQotUEFTUzogY2F1Z2h0IGdsb2JhbCBlcnJvcjog
VW5jYXVnaHQgUmVmZXJlbmNlRXJyb3I6IGhhaGFoYV9nb29kX2x1Y2tfZmluZGluZ19tZSBpcyBu
b3QgZGVmaW5lZCBhdCB3aW5kb3ctb25lcnJvcjEuaHRtbDoyNQ0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yMTAtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9ldmVudHMvd2lu
ZG93LW9uZXJyb3IxMC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGIzZDJkMzkuLjAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFz
dC9ldmVudHMvd2luZG93LW9uZXJyb3IxMC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAt
MSwxMSArMCwwIEBACi1UZXN0IHRoYXQgImVycm9yIiBldmVudCBsaXN0ZW5lciBhZGRlZCB3aXRo
IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyIGlzIGludm9rZWQgZm9yIHVuY2F1Y2h0IGV4Y2VwdGlv
bnMuIEJ1ZyA4NTE5Lg0KLQ0KLWV2ZW50IHBhc3NlZCB0byB0aGUgbGlzdGVuZXIgaXMgdGhlIHNh
bWUgYXMgd2luZG93LmV2ZW50OiB0cnVlDQotRXZlbnQgZGV0YWlsczoNCi10eXBlOiBlcnJvcg0K
LXBoYXNlOiAyDQotY3VycmVudFRhcmdldCBpcyB0aGUgZ2xvYmFsIG9iamVjdDogdHJ1ZQ0KLW1l
c3NhZ2U6IFVuY2F1Z2h0IEVycm9yOiBNeSBmYXVsdC4NCi1maWxlbmFtZTogd2luZG93LW9uZXJy
b3IxMC5odG1sDQotbGluZW5vOiAyOQ0KLQ0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yMTEtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3Ix
MS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkyZTNjZjUuLjAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9ldmVudHMvd2lu
ZG93LW9uZXJyb3IxMS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAK
LVRlc3QgdGhhdCB3aW5kb3cub25lcnJvciBpcyBjYWxsZWQgb24gd2luZG93IG9iamVjdC4gQnVn
IDg1MTkuDQotDQotTWFpbiBmcmFtZSB3aW5kb3cub25lcnJvcjogVW5jYXVnaHQgRXJyb3I6IEFu
IGV4Y2VwdGlvbiBhdCB3aW5kb3ctb25lcnJvci5qczoyDQotDQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3IyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZXZlbnRzL3dpbmRv
dy1vbmVycm9yMi1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY3
YjE2MjEuLjAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9l
dmVudHMvd2luZG93LW9uZXJyb3IyLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDYg
KzAsMCBAQAotVGVzdCB0aGF0IHVuY2F1Z2h0IGV4Y2VwdGlvbnMgd2lsbCBiZSByZXBvcnRlZCB0
byB0aGUgd2luZG93Lm9uZXJyb3IgaGFuZGxlci4gQnVnIDg1MTkuDQotDQotTWFpbiBmcmFtZSB3
aW5kb3cub25lcnJvcjogVW5jYXVnaHQgRXJyb3I6IElubGluZSBzY3JpcHQgZXhjZXB0aW9uIGF0
IHdpbmRvdy1vbmVycm9yMi5odG1sOjM1DQotTWFpbiBmcmFtZSB3aW5kb3cub25lcnJvcjogVW5j
YXVnaHQgRXhjZXB0aW9uIGluIG9ubG9hZCBhdCB3aW5kb3ctb25lcnJvcjIuaHRtbDoyDQotTWFp
biBmcmFtZSB3aW5kb3cub25lcnJvcjogVW5jYXVnaHQgRXJyb3I6IEV4Y2VwdGlvbiBpbiBzZXRU
aW1lb3V0IGF0IHdpbmRvdy1vbmVycm9yMi5odG1sOjI5DQotDQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3IzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZXZlbnRzL3dpbmRv
dy1vbmVycm9yMy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGEx
YjhiZDUuLjAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9l
dmVudHMvd2luZG93LW9uZXJyb3IzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDQg
KzAsMCBAQAotWW91IHNob3VsZCBzZWUgYSBtZXNzYWdlIGlmIHdpbmRvdy5vbmVycm9yIGlzIHdv
cmtpbmcgcHJvcGVybHkgZm9yIHRoaXMgdGVzdC5CdWcgODUxOS4NCi0NCi1FcnJvciBjYXVnaHQg
c3VjY2Vzc2Z1bGx5OiBVbmNhdWdodCBSZWZlcmVuY2VFcnJvcjogdW5rbm93bk9iamVjdCBpcyBu
b3QgZGVmaW5lZCBGaWxlOiB3aW5kb3ctb25lcnJvcjMuaHRtbCBMaW5lOiAxNg0KLQ0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZXZlbnRzL3dpbmRvdy1v
bmVycm9yNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0
L2V2ZW50cy93aW5kb3ctb25lcnJvcjQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA1MGYwOWUwLi4wMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yNC1leHBlY3RlZC50eHQKKysrIC9kZXYv
bnVsbApAQCAtMSw0ICswLDAgQEAKLVlvdSBzaG91bGQgc2VlIGEgbG9nIHJlY29yZCBpZiB3aW5k
b3cub25lcnJvciBpcyB3b3JraW5nIHByb3Blcmx5IGZvciB0aGlzIHRlc3QuQnVnIDg1MTkuDQot
DQotRXJyb3IgY2F1Z2h0IHN1Y2Nlc3NmdWxseTogVW5jYXVnaHQgUmVmZXJlbmNlRXJyb3I6IElu
dmFsaWQgbGVmdC1oYW5kIHNpZGUgaW4gYXNzaWdubWVudCBGaWxlOiB3aW5kb3ctb25lcnJvcjQu
aHRtbCBMaW5lOiAxDQotDQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3I1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yNS1leHBlY3RlZC50
eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU0NTM2OWUuLjAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3I1
LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotVGVzdCB0aGF0IHdp
bmRvdy5vbmVycm9yIGlzIGludm9rZWQgZm9yIHN5bnRheCBlcnJvciBpbiBldmFsLiBZb3Ugc2hv
dWxkIHNlZSBhIGxvZyByZWNvcmQgaWYgd2luZG93Lm9uZXJyb3IgaXMgd29ya2luZyBwcm9wZXJs
eSBmb3IgdGhpcyB0ZXN0LkJ1ZyA4NTE5Lg0KLQ0KLUVycm9yIGNhdWdodCBzdWNjZXNzZnVsbHk6
IFVuY2F1Z2h0IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIGVuZCBvZiBpbnB1dCBGaWxlOiB3aW5k
b3ctb25lcnJvcjUuaHRtbCBMaW5lOiAxDQotDQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3I2LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9y
Ni1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE4ZWQ4MWEuLjAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9ldmVudHMvd2lu
ZG93LW9uZXJyb3I2LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAot
VGVzdCB0aGF0IHN5bnRheCBlcnJvciB3aWxsIGJlIHJlcG9ydGVkIHRvIHRoZSB3aW5kb3cub25l
cnJvciBoYW5kbGVyLiBCdWcgODUxOS4NCi0NCi1NYWluIGZyYW1lIHdpbmRvdy5vbmVycm9yOiBV
bmNhdWdodCBTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiApIGF0IHdpbmRvdy1vbmVycm9y
Ni5odG1sOjIyDQotDQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
ZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3I3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yNy1leHBlY3RlZC50eHQK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIzZDA0MDcuLjAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3I3LWV4
cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDYgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDIwOiBVbmNhdWdodCBFcnJvcjogT3JpZ2luYWwgZXJyb3INCi1DT05TT0xFIE1FU1NB
R0U6IGxpbmUgMTc6IFVuY2F1Z2h0IEVycm9yOiBOZXN0ZWQgZXJyb3INCi1UZXN0IHRoYXQgZXhj
ZXB0aW9uIGluIHdpbmRvdy5vbmVycm9yIHdvbid0IGxlYWQgdG8gcmVjdXJzaXZlIHdpbmRvdy5v
bmVycm9yIGNhbGwuIEJ1ZyA4NTE5Lg0KLQ0KLU1haW4gZnJhbWUgd2luZG93Lm9uZXJyb3I6IFVu
Y2F1Z2h0IEVycm9yOiBPcmlnaW5hbCBlcnJvciBhdCB3aW5kb3ctb25lcnJvcjcuaHRtbDoyMA0K
LQ0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZXZlbnRz
L3dpbmRvdy1vbmVycm9yOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjgtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAxM2YyYjMyLi4wMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yOC1leHBlY3RlZC50eHQK
KysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLVRlc3QgdGhhdCB3aW5kb3cub25lcnJvciBp
cyBjYWxsZWQgb24gd2luZG93IG9iamVjdC4gQnVnIDg1MTkuDQotDQotTWFpbiBmcmFtZSB3aW5k
b3cub25lcnJvcjogVW5jYXVnaHQgMjAxMCBhdCB3aW5kb3ctb25lcnJvcjguaHRtbDoyNA0KLVBB
U1NFRDogdGhpcyA9PT0gd2luZG93DQotDQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3I5LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yOS1l
eHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE2NzdlNTAuLjAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9ldmVudHMvd2luZG93
LW9uZXJyb3I5LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotVGVz
dCB0aGF0IHdoZW4gd2luZG93Lm9uZXJyb3IgaGFuZGxlciBpcyBjYWxsZWQsIHdpbmRvdy5ldmVu
dCBpcyB0aGUgY29ycmVzcG9uZGluZyBFcnJvckV2ZW50IG9iamVjdC4gQnVnIDg1MTkuDQotDQot
TWFpbiBmcmFtZSB3aW5kb3cub25lcnJvcjogVW5jYXVnaHQgRXJyb3I6IDIwMTAgYXQgd2luZG93
LW9uZXJyb3I5Lmh0bWw6MzENCi13aW5kb3cuZXZlbnQudHlwZSA9IGVycm9yDQotd2luZG93LmV2
ZW50Lm1lc3NhZ2UgPSBVbmNhdWdodCBFcnJvcjogMjAxMA0KLXdpbmRvdy5ldmVudC5maWxlbmFt
ZSA9IHdpbmRvdy1vbmVycm9yOS5odG1sDQotd2luZG93LmV2ZW50LmxpbmVubyA9IDMxDQotDQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vaHR0cC90ZXN0cy9zZWN1
cml0eS93aW5kb3ctb25lcnJvci1leGNlcHRpb24taW4taWZyYW1lLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2h0dHAvdGVzdHMvc2VjdXJpdHkvd2luZG93LW9u
ZXJyb3ItZXhjZXB0aW9uLWluLWlmcmFtZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDllOWMyZWEuLjAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vaHR0cC90ZXN0cy9zZWN1cml0eS93aW5kb3ctb25lcnJvci1leGNlcHRpb24taW4t
aWZyYW1lLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDYgKzAsMCBAQAotQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDc6IFVuY2F1Z2h0IElmcmFtZUV4Y2VwdGlvbg0KLVRlc3QgdGhhdCBl
eGNlcHRpb25zIGluIGlmcmFtZSBhcmUgbm90IHJlcG9ydGVkIHRvIHRoZSBtYWluIGZyYW1lIHdp
bmRvdy5vbmVycm9yIGhhbmRsZXIuIHdpbmRvdy5vbmVycm9yIHNob3VsZCBwcmludCBleGFjdGx5
IG9uZSBsaW5lLg0KLQ0KLU1haW4gZnJhbWUgd2luZG93Lm9uZXJyb3I6IFVuY2F1Z2h0IE1haW5G
cmFtZUV4Y2VwdGlvbiBhdCB3aW5kb3ctb25lcnJvci1leGNlcHRpb24taW4taWZyYW1lLmh0bWw6
MzQNCi1ET05FDQotDQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
dXNlcnNjcmlwdHMvd2luZG93LW9uZXJyb3ItZm9yLWlzb2xhdGVkLXdvcmxkLTEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdXNlcnNjcmlwdHMvd2luZG93LW9u
ZXJyb3ItZm9yLWlzb2xhdGVkLXdvcmxkLTEtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAyYTNkMDY4Li4wMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL3VzZXJzY3JpcHRzL3dpbmRvdy1vbmVycm9yLWZvci1pc29sYXRlZC13b3JsZC0x
LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLVRlc3QgdGhhdCB3
aW5kb3cub25lcnJvciBhbmQgImVycm9yIiBldmVudCBsaXN0ZW5lcnMgZnJvbSBtYWluIHdvcmxk
IGFyZSBpbnZva2VkIGZvciB1bmNhdWdodCBleGNlcHRpb25zIGluIHVzZXIgc2NyaXB0cyBydW5u
aW5nIGluIGlzb2xhdGUgd29ybGRzIGFzIHdlbGwgYXMgZm9yIGV4Y2VwdGlvbnMgaW4gdGhlIG1h
aW4gd29ybGQuQnVnIDg1MTkuDQotDQotTWFpbiB3b3JsZCB3aW5kb3cub25lcnJvcjogVW5jYXVn
aHQgRXJyb3I6IEVycm9yIGluIG1haW4gd29ybGQgaW5saW5lIHNjcmlwdC4gYXQgd2luZG93LW9u
ZXJyb3ItZm9yLWlzb2xhdGVkLXdvcmxkLTEuaHRtbDo1NA0KLU1haW4gd29ybGQgZXJyb3IgZXZl
bnQgbGlzdGVuZXI6IFVuY2F1Z2h0IEVycm9yOiBFcnJvciBpbiBtYWluIHdvcmxkIGlubGluZSBz
Y3JpcHQuIGF0IHdpbmRvdy1vbmVycm9yLWZvci1pc29sYXRlZC13b3JsZC0xLmh0bWw6NTQNCi1N
YWluIHdvcmxkIHdpbmRvdy5vbmVycm9yOiBVbmNhdWdodCBFcnJvcjogRXJyb3IgaW4gdXNlciBz
Y3JpcHQgaW5saW5lIHNjcmlwdC4gYXQgOjEyDQotTWFpbiB3b3JsZCBlcnJvciBldmVudCBsaXN0
ZW5lcjogVW5jYXVnaHQgRXJyb3I6IEVycm9yIGluIHVzZXIgc2NyaXB0IGlubGluZSBzY3JpcHQu
IGF0IDoxMg0KLU1haW4gd29ybGQgd2luZG93Lm9uZXJyb3I6IFVuY2F1Z2h0IEVycm9yOiBFcnJv
ciBpbiBtYWluIHdvcmxkIGxvYWQgaGFuZGxlci4gYXQgd2luZG93LW9uZXJyb3ItZm9yLWlzb2xh
dGVkLXdvcmxkLTEuaHRtbDo0Ng0KLU1haW4gd29ybGQgZXJyb3IgZXZlbnQgbGlzdGVuZXI6IFVu
Y2F1Z2h0IEVycm9yOiBFcnJvciBpbiBtYWluIHdvcmxkIGxvYWQgaGFuZGxlci4gYXQgd2luZG93
LW9uZXJyb3ItZm9yLWlzb2xhdGVkLXdvcmxkLTEuaHRtbDo0Ng0KLU1haW4gd29ybGQgd2luZG93
Lm9uZXJyb3I6IFVuY2F1Z2h0IEVycm9yOiBFcnJvciBpbiB1c2VyIHNjcmlwdCBsb2FkIGhhbmRs
ZXIuIGF0IDo0DQotTWFpbiB3b3JsZCBlcnJvciBldmVudCBsaXN0ZW5lcjogVW5jYXVnaHQgRXJy
b3I6IEVycm9yIGluIHVzZXIgc2NyaXB0IGxvYWQgaGFuZGxlci4gYXQgOjQNCi1NYWluIHdvcmxk
IHdpbmRvdy5vbmVycm9yOiBVbmNhdWdodCBFcnJvcjogRXJyb3IgaW4gbWFpbiB3b3JsZCBzZXRU
aW1lb3V0IGNhbGxiYWNrLiBhdCB3aW5kb3ctb25lcnJvci1mb3ItaXNvbGF0ZWQtd29ybGQtMS5o
dG1sOjUxDQotTWFpbiB3b3JsZCBlcnJvciBldmVudCBsaXN0ZW5lcjogVW5jYXVnaHQgRXJyb3I6
IEVycm9yIGluIG1haW4gd29ybGQgc2V0VGltZW91dCBjYWxsYmFjay4gYXQgd2luZG93LW9uZXJy
b3ItZm9yLWlzb2xhdGVkLXdvcmxkLTEuaHRtbDo1MQ0KLU1haW4gd29ybGQgd2luZG93Lm9uZXJy
b3I6IFVuY2F1Z2h0IEVycm9yOiBFcnJvciBpbiB1c2VyIHNjcmlwdCBzZXRUaW1lb3V0IGNhbGxi
YWNrLiBhdCA6OQ0KLU1haW4gd29ybGQgZXJyb3IgZXZlbnQgbGlzdGVuZXI6IFVuY2F1Z2h0IEVy
cm9yOiBFcnJvciBpbiB1c2VyIHNjcmlwdCBzZXRUaW1lb3V0IGNhbGxiYWNrLiBhdCA6OQ0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3VzZXJzY3JpcHRzL3dpbmRv
dy1vbmVycm9yLWZvci1pc29sYXRlZC13b3JsZC0yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL3VzZXJzY3JpcHRzL3dpbmRvdy1vbmVycm9yLWZvci1pc29sYXRl
ZC13b3JsZC0yLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTM5
OTRkYi4uMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS91c2Vyc2Ny
aXB0cy93aW5kb3ctb25lcnJvci1mb3ItaXNvbGF0ZWQtd29ybGQtMi1leHBlY3RlZC50eHQKKysr
IC9kZXYvbnVsbApAQCAtMSwxMyArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMzA6IFVu
Y2F1Z2h0IEVycm9yOiBFcnJvciBpbiBtYWluIHdvcmxkIGlubGluZSBzY3JpcHQuDQotVGVzdCB0
aGF0IHdpbmRvdy5vbmVycm9yIGFuZCAiZXJyb3IiIGV2ZW50IGxpc3RlbmVycyBmcm9tIGlzb2xh
dGVkIHdvcmxkIGFyZSBpbnZva2VkIGZvciB1bmNhdWdodCBleGNlcHRpb25zIGluIHVzZXIgc2Ny
aXB0cyBydW5uaW5nIGluIGlzb2xhdGUgd29ybGRzIGFzIHdlbGwgYXMgZm9yIGV4Y2VwdGlvbnMg
aW4gdGhlIG1haW4gd29ybGQuQnVnIDg1MTkuDQotDQotdXNlciBzY3JpcHQgd2luZG93Lm9uZXJy
b3I6IFVuY2F1Z2h0IEVycm9yOiBFcnJvciBpbiB1c2VyIHNjcmlwdCBpbmxpbmUgc2NyaXB0LiBh
dCA6MzMNCi11c2VyIHNjcmlwdCBlcnJvciBldmVudCBsaXN0ZW5lcjogVW5jYXVnaHQgRXJyb3I6
IEVycm9yIGluIHVzZXIgc2NyaXB0IGlubGluZSBzY3JpcHQuIGF0IDozMw0KLXVzZXIgc2NyaXB0
IHdpbmRvdy5vbmVycm9yOiBVbmNhdWdodCBFcnJvcjogRXJyb3IgaW4gbWFpbiB3b3JsZCBsb2Fk
IGhhbmRsZXIuIGF0IHdpbmRvdy1vbmVycm9yLWZvci1pc29sYXRlZC13b3JsZC0yLmh0bWw6MjMN
Ci11c2VyIHNjcmlwdCBlcnJvciBldmVudCBsaXN0ZW5lcjogVW5jYXVnaHQgRXJyb3I6IEVycm9y
IGluIG1haW4gd29ybGQgbG9hZCBoYW5kbGVyLiBhdCB3aW5kb3ctb25lcnJvci1mb3ItaXNvbGF0
ZWQtd29ybGQtMi5odG1sOjIzDQotdXNlciBzY3JpcHQgd2luZG93Lm9uZXJyb3I6IFVuY2F1Z2h0
IEVycm9yOiBFcnJvciBpbiB1c2VyIHNjcmlwdCBsb2FkIGhhbmRsZXIuIGF0IDoyNg0KLXVzZXIg
c2NyaXB0IGVycm9yIGV2ZW50IGxpc3RlbmVyOiBVbmNhdWdodCBFcnJvcjogRXJyb3IgaW4gdXNl
ciBzY3JpcHQgbG9hZCBoYW5kbGVyLiBhdCA6MjYNCi11c2VyIHNjcmlwdCB3aW5kb3cub25lcnJv
cjogVW5jYXVnaHQgRXJyb3I6IEVycm9yIGluIG1haW4gd29ybGQgc2V0VGltZW91dCBjYWxsYmFj
ay4gYXQgd2luZG93LW9uZXJyb3ItZm9yLWlzb2xhdGVkLXdvcmxkLTIuaHRtbDoyNw0KLXVzZXIg
c2NyaXB0IGVycm9yIGV2ZW50IGxpc3RlbmVyOiBVbmNhdWdodCBFcnJvcjogRXJyb3IgaW4gbWFp
biB3b3JsZCBzZXRUaW1lb3V0IGNhbGxiYWNrLiBhdCB3aW5kb3ctb25lcnJvci1mb3ItaXNvbGF0
ZWQtd29ybGQtMi5odG1sOjI3DQotdXNlciBzY3JpcHQgd2luZG93Lm9uZXJyb3I6IFVuY2F1Z2h0
IEVycm9yOiBFcnJvciBpbiB1c2VyIHNjcmlwdCBzZXRUaW1lb3V0IGNhbGxiYWNrLiBhdCA6MzAN
Ci11c2VyIHNjcmlwdCBlcnJvciBldmVudCBsaXN0ZW5lcjogVW5jYXVnaHQgRXJyb3I6IEVycm9y
IGluIHVzZXIgc2NyaXB0IHNldFRpbWVvdXQgY2FsbGJhY2suIGF0IDozMA0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Z3RrL1NraXBwZWQKaW5kZXggMGY5MTA2Yi4uMmI0NTI0MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Nr
aXBwZWQKQEAgLTQ3MDksOCArNDcwOSw2IEBAIHVzZXJzY3JpcHRzL3VzZXItc2NyaXB0LXBsdWdp
bi1kb2N1bWVudC5odG1sCiB1c2Vyc2NyaXB0cy91c2VyLXNjcmlwdC10b3AtZnJhbWUtb25seS5o
dG1sCiB1c2Vyc2NyaXB0cy91c2VyLXNjcmlwdC12aWRlby1kb2N1bWVudC5odG1sCiB1c2Vyc2Ny
aXB0cy91c2VyLXN0eWxlLXRvcC1mcmFtZS1vbmx5Lmh0bWwKLXVzZXJzY3JpcHRzL3dpbmRvdy1v
bmVycm9yLWZvci1pc29sYXRlZC13b3JsZC0xLmh0bWwKLXVzZXJzY3JpcHRzL3dpbmRvdy1vbmVy
cm9yLWZvci1pc29sYXRlZC13b3JsZC0yLmh0bWwKIAogIyBYSFIgc2VuZHMgc29tZXRpbWVzIHlp
ZWxkIG51bGwgYnl0ZXMgc2VudCBpbnN0ZWFkIG9mIDAuCiBodHRwL3Rlc3RzL3htbGh0dHByZXF1
ZXN0L3dvcmtlcnMvc2hhcmVkLXdvcmtlci1tZXRob2RzLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3VzZXJzY3JpcHRzL3dpbmRvdy1vbmVycm9yLWZvci1pc29sYXRlZC13b3JsZC0xLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3VzZXJzY3JpcHRzL3dpbmRvdy1vbmVycm9yLWZvci1p
c29sYXRlZC13b3JsZC0xLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggNjg5NWM0MS4uMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy91c2Vyc2NyaXB0cy93aW5kb3ct
b25lcnJvci1mb3ItaXNvbGF0ZWQtd29ybGQtMS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApA
QCAtMSwxNCArMCwwIEBACi1UZXN0IHRoYXQgd2luZG93Lm9uZXJyb3IgYW5kICJlcnJvciIgZXZl
bnQgbGlzdGVuZXJzIGZyb20gbWFpbiB3b3JsZCBhcmUgaW52b2tlZCBmb3IgdW5jYXVnaHQgZXhj
ZXB0aW9ucyBpbiB1c2VyIHNjcmlwdHMgcnVubmluZyBpbiBpc29sYXRlIHdvcmxkcyBhcyB3ZWxs
IGFzIGZvciBleGNlcHRpb25zIGluIHRoZSBtYWluIHdvcmxkLkJ1ZyA4NTE5LgotCi1NYWluIHdv
cmxkIHdpbmRvdy5vbmVycm9yOiBFcnJvcjogRXJyb3IgaW4gbWFpbiB3b3JsZCBpbmxpbmUgc2Ny
aXB0LiBhdCB3aW5kb3ctb25lcnJvci1mb3ItaXNvbGF0ZWQtd29ybGQtMS5odG1sOjU0Ci1NYWlu
IHdvcmxkIGVycm9yIGV2ZW50IGxpc3RlbmVyOiBFcnJvcjogRXJyb3IgaW4gbWFpbiB3b3JsZCBp
bmxpbmUgc2NyaXB0LiBhdCB3aW5kb3ctb25lcnJvci1mb3ItaXNvbGF0ZWQtd29ybGQtMS5odG1s
OjU0Ci1NYWluIHdvcmxkIHdpbmRvdy5vbmVycm9yOiBFcnJvcjogRXJyb3IgaW4gdXNlciBzY3Jp
cHQgaW5saW5lIHNjcmlwdC4gYXQgdW5kZWZpbmVkOjExCi1NYWluIHdvcmxkIGVycm9yIGV2ZW50
IGxpc3RlbmVyOiBFcnJvcjogRXJyb3IgaW4gdXNlciBzY3JpcHQgaW5saW5lIHNjcmlwdC4gYXQg
dW5kZWZpbmVkOjExCi1NYWluIHdvcmxkIHdpbmRvdy5vbmVycm9yOiBFcnJvcjogRXJyb3IgaW4g
bWFpbiB3b3JsZCBsb2FkIGhhbmRsZXIuIGF0IHdpbmRvdy1vbmVycm9yLWZvci1pc29sYXRlZC13
b3JsZC0xLmh0bWw6NDYKLU1haW4gd29ybGQgZXJyb3IgZXZlbnQgbGlzdGVuZXI6IEVycm9yOiBF
cnJvciBpbiBtYWluIHdvcmxkIGxvYWQgaGFuZGxlci4gYXQgd2luZG93LW9uZXJyb3ItZm9yLWlz
b2xhdGVkLXdvcmxkLTEuaHRtbDo0NgotTWFpbiB3b3JsZCB3aW5kb3cub25lcnJvcjogRXJyb3I6
IEVycm9yIGluIHVzZXIgc2NyaXB0IGxvYWQgaGFuZGxlci4gYXQgdW5kZWZpbmVkOjMKLU1haW4g
d29ybGQgZXJyb3IgZXZlbnQgbGlzdGVuZXI6IEVycm9yOiBFcnJvciBpbiB1c2VyIHNjcmlwdCBs
b2FkIGhhbmRsZXIuIGF0IHVuZGVmaW5lZDozCi1NYWluIHdvcmxkIHdpbmRvdy5vbmVycm9yOiBF
cnJvcjogRXJyb3IgaW4gbWFpbiB3b3JsZCBzZXRUaW1lb3V0IGNhbGxiYWNrLiBhdCB3aW5kb3ct
b25lcnJvci1mb3ItaXNvbGF0ZWQtd29ybGQtMS5odG1sOjUxCi1NYWluIHdvcmxkIGVycm9yIGV2
ZW50IGxpc3RlbmVyOiBFcnJvcjogRXJyb3IgaW4gbWFpbiB3b3JsZCBzZXRUaW1lb3V0IGNhbGxi
YWNrLiBhdCB3aW5kb3ctb25lcnJvci1mb3ItaXNvbGF0ZWQtd29ybGQtMS5odG1sOjUxCi1NYWlu
IHdvcmxkIHdpbmRvdy5vbmVycm9yOiBFcnJvcjogRXJyb3IgaW4gdXNlciBzY3JpcHQgc2V0VGlt
ZW91dCBjYWxsYmFjay4gYXQgdW5kZWZpbmVkOjgKLU1haW4gd29ybGQgZXJyb3IgZXZlbnQgbGlz
dGVuZXI6IEVycm9yOiBFcnJvciBpbiB1c2VyIHNjcmlwdCBzZXRUaW1lb3V0IGNhbGxiYWNrLiBh
dCB1bmRlZmluZWQ6OApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvdXNlcnNjcmlwdHMvd2luZG93
LW9uZXJyb3ItZm9yLWlzb2xhdGVkLXdvcmxkLTEuaHRtbCBiL0xheW91dFRlc3RzL3VzZXJzY3Jp
cHRzL3dpbmRvdy1vbmVycm9yLWZvci1pc29sYXRlZC13b3JsZC0xLmh0bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDNjNmJhYzIuLjAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvdXNl
cnNjcmlwdHMvd2luZG93LW9uZXJyb3ItZm9yLWlzb2xhdGVkLXdvcmxkLTEuaHRtbAorKysgL2Rl
di9udWxsCkBAIC0xLDY3ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4K
LTwvaGVhZD4KLTxib2R5PgotPHA+VGVzdCB0aGF0IHdpbmRvdy5vbmVycm9yIGFuZCAiZXJyb3Ii
IGV2ZW50IGxpc3RlbmVycyBmcm9tIG1haW4gd29ybGQgYXJlCi1pbnZva2VkIGZvciB1bmNhdWdo
dCBleGNlcHRpb25zIGluIHVzZXIgc2NyaXB0cyBydW5uaW5nIGluIGlzb2xhdGUgd29ybGRzIGFz
Ci13ZWxsIGFzIGZvciBleGNlcHRpb25zIGluIHRoZSBtYWluIHdvcmxkLjxhIGhyZWY9Imh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTE5Ij5CdWcgODUxOS48L2E+Ci08
L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQ+Ci0KLXZhciBleHBlY3RlZFJl
Y29yZENvdW50ID0gMTI7Ci12YXIgcmVjb3JkQ291bnQgPSAwOwotZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnNvbGUiKS5hZGRFdmVudExpc3RlbmVyKCJET01Ob2RlSW5zZXJ0ZWQiLCBmdW5j
dGlvbihlKSB7Ci0gICAgcmVjb3JkQ291bnQrKzsKLSAgICBpZiAocmVjb3JkQ291bnQgPT09IGV4
cGVjdGVkUmVjb3JkQ291bnQgJiYgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Ci19LCBmYWxzZSk7Ci0KLWZ1bmN0
aW9uIGxvZyhtc2cpIHsKLSAgICB2YXIgcmVjb3JkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
ZGl2Iik7Ci0gICAgcmVjb3JkLmlubmVySFRNTCA9IG1zZzsKLSAgICBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29uc29sZSIpLmFwcGVuZENoaWxkKHJlY29yZCk7Ci19Ci0KLWZ1bmN0aW9uIGxh
c3RVcmxDb21wb25lbnQodXJsKSB7Ci0gICAgcmV0dXJuIHVybCA/IHVybC5tYXRjaCggL1teXC9d
K1wvPyQvIClbMF0gOiB1cmw7Ci19Ci0KLXdpbmRvdy5vbmVycm9yID0gZnVuY3Rpb24obXNnLCB1
cmwsIGxpbmUpCi17Ci0gICAgbG9nKCJNYWluIHdvcmxkIHdpbmRvdy5vbmVycm9yOiAiICsgbXNn
ICsgIiBhdCAiICsgbGFzdFVybENvbXBvbmVudCh1cmwpICsgIjoiICsgbGluZSk7Ci0gICAgcmV0
dXJuIGZhbHNlOwotfQotCi13aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLCBmdW5jdGlv
bihlKQotewotICAgIHZhciB1cmwgPSBsYXN0VXJsQ29tcG9uZW50KGUuZmlsZW5hbWUpOwotICAg
IGxvZygiTWFpbiB3b3JsZCBlcnJvciBldmVudCBsaXN0ZW5lcjogIiArIGUubWVzc2FnZSArICIg
YXQgIiArIHVybCArICI6IiArIGUubGluZW5vKTsKLX0sIGZhbHNlKTsKLQotdmFyIGV4Y2VwdGlv
bnMgPSBmdW5jdGlvbihpc29sYXRlZFdvcmxkKQotewotICAgIHdpbmRvdy5hZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgZnVuY3Rpb24oZSkgewotICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkVycm9y
IGluICIgKyBpc29sYXRlZFdvcmxkICsgIiBsb2FkIGhhbmRsZXIuIik7Ci0gICAgfSwgZmFsc2Up
OwotCi0KLSAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewotICAgICAgICB0aHJvdyBuZXcgRXJy
b3IoIkVycm9yIGluICIgKyBpc29sYXRlZFdvcmxkICsgIiBzZXRUaW1lb3V0IGNhbGxiYWNrLiIp
OwotICAgIH0sIDApOwotCi0gICAgdGhyb3cgbmV3IEVycm9yKCJFcnJvciBpbiAiKyBpc29sYXRl
ZFdvcmxkICsgIiBpbmxpbmUgc2NyaXB0LiIpOwotfQotCi1pZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKSB7Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotICAg
IGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKLSAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5hZGRVc2VyU2NyaXB0KCIoIiArIGV4Y2VwdGlvbnMgKyAiKSgndXNlciBzY3JpcHQn
KSIsIGZhbHNlLCB0cnVlKTsKLX0KLQotZXhjZXB0aW9ucygibWFpbiB3b3JsZCIpOwotCi08L3Nj
cmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3VzZXJzY3Jp
cHRzL3dpbmRvdy1vbmVycm9yLWZvci1pc29sYXRlZC13b3JsZC0yLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3VzZXJzY3JpcHRzL3dpbmRvdy1vbmVycm9yLWZvci1pc29sYXRlZC13b3JsZC0y
LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjkwOWE5OS4uMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy91c2Vyc2NyaXB0cy93aW5kb3ctb25lcnJvci1mb3ItaXNv
bGF0ZWQtd29ybGQtMi1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMyArMCwwIEBA
Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMzA6IEVycm9yOiBFcnJvciBpbiBtYWluIHdvcmxkIGlu
bGluZSBzY3JpcHQuCi1UZXN0IHRoYXQgd2luZG93Lm9uZXJyb3IgYW5kICJlcnJvciIgZXZlbnQg
bGlzdGVuZXJzIGZyb20gaXNvbGF0ZWQgd29ybGQgYXJlIGludm9rZWQgZm9yIHVuY2F1Z2h0IGV4
Y2VwdGlvbnMgaW4gdXNlciBzY3JpcHRzIHJ1bm5pbmcgaW4gaXNvbGF0ZSB3b3JsZHMgYXMgd2Vs
bCBhcyBmb3IgZXhjZXB0aW9ucyBpbiB0aGUgbWFpbiB3b3JsZC5CdWcgODUxOS4KLQotdXNlciBz
Y3JpcHQgd2luZG93Lm9uZXJyb3I6IEVycm9yOiBFcnJvciBpbiB1c2VyIHNjcmlwdCBpbmxpbmUg
c2NyaXB0LiBhdCB1bmRlZmluZWQ6MzEKLXVzZXIgc2NyaXB0IGVycm9yIGV2ZW50IGxpc3RlbmVy
OiBFcnJvcjogRXJyb3IgaW4gdXNlciBzY3JpcHQgaW5saW5lIHNjcmlwdC4gYXQgdW5kZWZpbmVk
OjMxCi11c2VyIHNjcmlwdCB3aW5kb3cub25lcnJvcjogRXJyb3I6IEVycm9yIGluIG1haW4gd29y
bGQgbG9hZCBoYW5kbGVyLiBhdCB3aW5kb3ctb25lcnJvci1mb3ItaXNvbGF0ZWQtd29ybGQtMi5o
dG1sOjIzCi11c2VyIHNjcmlwdCBlcnJvciBldmVudCBsaXN0ZW5lcjogRXJyb3I6IEVycm9yIGlu
IG1haW4gd29ybGQgbG9hZCBoYW5kbGVyLiBhdCB3aW5kb3ctb25lcnJvci1mb3ItaXNvbGF0ZWQt
d29ybGQtMi5odG1sOjIzCi11c2VyIHNjcmlwdCB3aW5kb3cub25lcnJvcjogRXJyb3I6IEVycm9y
IGluIHVzZXIgc2NyaXB0IGxvYWQgaGFuZGxlci4gYXQgdW5kZWZpbmVkOjI0Ci11c2VyIHNjcmlw
dCBlcnJvciBldmVudCBsaXN0ZW5lcjogRXJyb3I6IEVycm9yIGluIHVzZXIgc2NyaXB0IGxvYWQg
aGFuZGxlci4gYXQgdW5kZWZpbmVkOjI0Ci11c2VyIHNjcmlwdCB3aW5kb3cub25lcnJvcjogRXJy
b3I6IEVycm9yIGluIG1haW4gd29ybGQgc2V0VGltZW91dCBjYWxsYmFjay4gYXQgd2luZG93LW9u
ZXJyb3ItZm9yLWlzb2xhdGVkLXdvcmxkLTIuaHRtbDoyNwotdXNlciBzY3JpcHQgZXJyb3IgZXZl
bnQgbGlzdGVuZXI6IEVycm9yOiBFcnJvciBpbiBtYWluIHdvcmxkIHNldFRpbWVvdXQgY2FsbGJh
Y2suIGF0IHdpbmRvdy1vbmVycm9yLWZvci1pc29sYXRlZC13b3JsZC0yLmh0bWw6MjcKLXVzZXIg
c2NyaXB0IHdpbmRvdy5vbmVycm9yOiBFcnJvcjogRXJyb3IgaW4gdXNlciBzY3JpcHQgc2V0VGlt
ZW91dCBjYWxsYmFjay4gYXQgdW5kZWZpbmVkOjI4Ci11c2VyIHNjcmlwdCBlcnJvciBldmVudCBs
aXN0ZW5lcjogRXJyb3I6IEVycm9yIGluIHVzZXIgc2NyaXB0IHNldFRpbWVvdXQgY2FsbGJhY2su
IGF0IHVuZGVmaW5lZDoyOApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvdXNlcnNjcmlwdHMvd2lu
ZG93LW9uZXJyb3ItZm9yLWlzb2xhdGVkLXdvcmxkLTIuaHRtbCBiL0xheW91dFRlc3RzL3VzZXJz
Y3JpcHRzL3dpbmRvdy1vbmVycm9yLWZvci1pc29sYXRlZC13b3JsZC0yLmh0bWwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE2ZWM2OTkuLjAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
dXNlcnNjcmlwdHMvd2luZG93LW9uZXJyb3ItZm9yLWlzb2xhdGVkLXdvcmxkLTIuaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDY3ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVh
ZD4KLTwvaGVhZD4KLTxib2R5PgotPHA+VGVzdCB0aGF0IHdpbmRvdy5vbmVycm9yIGFuZCAiZXJy
b3IiIGV2ZW50IGxpc3RlbmVycyBmcm9tIGlzb2xhdGVkIHdvcmxkIGFyZQotaW52b2tlZCBmb3Ig
dW5jYXVnaHQgZXhjZXB0aW9ucyBpbiB1c2VyIHNjcmlwdHMgcnVubmluZyBpbiBpc29sYXRlIHdv
cmxkcyBhcwotd2VsbCBhcyBmb3IgZXhjZXB0aW9ucyBpbiB0aGUgbWFpbiB3b3JsZC48YSBocmVm
PSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODUxOSI+QnVnIDg1MTku
PC9hPgotPC9wPgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0PgotCi12YXIgZXhw
ZWN0ZWRSZWNvcmRDb3VudCA9IDEwOwotdmFyIHJlY29yZENvdW50ID0gMDsKLWRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb25zb2xlIikuYWRkRXZlbnRMaXN0ZW5lcigiRE9NTm9kZUluc2VydGVk
IiwgZnVuY3Rpb24oZSkgewotICAgIGlmICgrK3JlY29yZENvdW50ID09PSBleHBlY3RlZFJlY29y
ZENvdW50ICYmIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotfSwgZmFsc2UpOwotCi12YXIgdGhyb3dFeGNlcHRp
b25zID0gZnVuY3Rpb24oaXNvbGF0ZWRXb3JsZCkKLXsKLSAgICB3aW5kb3cuYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIGZ1bmN0aW9uKGUpIHsKLSAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJFcnJv
ciBpbiAiICsgaXNvbGF0ZWRXb3JsZCArICIgbG9hZCBoYW5kbGVyLiIpOwotICAgIH0sIGZhbHNl
KTsKLQotICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHRocm93IG5ldyBFcnJv
cigiRXJyb3IgaW4gIiArIGlzb2xhdGVkV29ybGQgKyAiIHNldFRpbWVvdXQgY2FsbGJhY2suIik7
Ci0gICAgfSwgMCk7Ci0gICAgCi0gICAgdGhyb3cgbmV3IEVycm9yKCJFcnJvciBpbiAiKyBpc29s
YXRlZFdvcmxkICsgIiBpbmxpbmUgc2NyaXB0LiIpOwotfTsKLQotdmFyIGVycm9ySGFuZGxlcnMg
PSBmdW5jdGlvbihpc29sYXRlZFdvcmxkKQotewotICAgIGZ1bmN0aW9uIGxhc3RVcmxDb21wb25l
bnQodXJsKSB7Ci0gICAgICAgIHJldHVybiB1cmwgPyB1cmwubWF0Y2goIC9bXlwvXStcLz8kLyAp
WzBdIDogdXJsOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGxvZyhtc2cpIHsKLSAgICAgICAgdmFy
IHJlY29yZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwotICAgICAgICByZWNvcmQu
aW5uZXJIVE1MID0gbXNnOwotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29s
ZSIpLmFwcGVuZENoaWxkKHJlY29yZCk7Ci0gICAgfQotCi0gICAgd2luZG93Lm9uZXJyb3IgPSBm
dW5jdGlvbihtc2csIHVybCwgbGluZSkgewotICAgICAgICBsb2coaXNvbGF0ZWRXb3JsZCArICIg
d2luZG93Lm9uZXJyb3I6ICIgKyBtc2cgKyAiIGF0ICIgKyBsYXN0VXJsQ29tcG9uZW50KHVybCkg
KyAiOiIgKyBsaW5lLCAiKiIpOwotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotCi0gICAg
d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIiwgZnVuY3Rpb24oZSkgewotICAgICAgICB2
YXIgdXJsID0gbGFzdFVybENvbXBvbmVudChlLmZpbGVuYW1lKTsKLSAgICAgICAgbG9nKGlzb2xh
dGVkV29ybGQgKyAiIGVycm9yIGV2ZW50IGxpc3RlbmVyOiAiICsgZS5tZXNzYWdlICsgIiBhdCAi
ICsgdXJsICsgIjoiICsgZS5saW5lbm8sICIqIik7Ci0gICAgICAgIGUucHJldmVudERlZmF1bHQo
KTsKLSAgICB9LCBmYWxzZSk7Ci19OwotCi1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KSB7Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotICAgIGxheW91dFRl
c3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5h
ZGRVc2VyU2NyaXB0KCIoIiArIGVycm9ySGFuZGxlcnMgKyAiKSgndXNlciBzY3JpcHQnKTsgKCIg
KyB0aHJvd0V4Y2VwdGlvbnMgKyAiKSgndXNlciBzY3JpcHQnKSIsIGZhbHNlLCB0cnVlKTsKLX0K
LQotdGhyb3dFeGNlcHRpb25zKCJtYWluIHdvcmxkIik7Ci0KLTwvc2NyaXB0PgotPC9ib2R5Pgot
PC9odG1sPgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9BbmRyb2lkLmpzY2JpbmRpbmdzLm1rIGIvV2Vi
Q29yZS9BbmRyb2lkLmpzY2JpbmRpbmdzLm1rCmluZGV4IGU3ZmQyZmMuLjY1M2RmZWMgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvQW5kcm9pZC5qc2NiaW5kaW5ncy5taworKysgYi9XZWJDb3JlL0FuZHJv
aWQuanNjYmluZGluZ3MubWsKQEAgLTEwMiw3ICsxMDIsNiBAQCBMT0NBTF9TUkNfRklMRVMgKz0g
XAogCWJpbmRpbmdzL2pzL0pTRGV2aWNlT3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHAgXAogCWJp
bmRpbmdzL2pzL0pTRG9jdW1lbnRDdXN0b20uY3BwIFwKIAliaW5kaW5ncy9qcy9KU0VsZW1lbnRD
dXN0b20uY3BwIFwKLQliaW5kaW5ncy9qcy9KU0Vycm9ySGFuZGxlci5jcHAgXAogCWJpbmRpbmdz
L2pzL0pTRXZlbnRDdXN0b20uY3BwIFwKIAliaW5kaW5ncy9qcy9KU0V2ZW50TGlzdGVuZXIuY3Bw
IFwKIAliaW5kaW5ncy9qcy9KU0V2ZW50VGFyZ2V0LmNwcCBcCkBAIC0xNzEsNiArMTcwLDcgQEAg
TE9DQUxfU1JDX0ZJTEVTICs9IFwKIAliaW5kaW5ncy9qcy9KU1dlYktpdFBvaW50Q3VzdG9tLmNw
cCBcCiAJYmluZGluZ3MvanMvSlNXb3JrZXJDb250ZXh0QmFzZS5jcHAgXAogCWJpbmRpbmdzL2pz
L0pTV29ya2VyQ29udGV4dEN1c3RvbS5jcHAgXAorCWJpbmRpbmdzL2pzL0pTV29ya2VyQ29udGV4
dEVycm9ySGFuZGxlci5jcHAgXAogCWJpbmRpbmdzL2pzL0pTV29ya2VyQ3VzdG9tLmNwcCBcCiAJ
YmluZGluZ3MvanMvSlNYTUxIdHRwUmVxdWVzdEN1c3RvbS5jcHAgXAogCWJpbmRpbmdzL2pzL0pT
WE1MSHR0cFJlcXVlc3RVcGxvYWRDdXN0b20uY3BwIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ01h
a2VMaXN0cy50eHQgYi9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGUzZmZjMzguLjJiMGVl
MzAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvV2ViQ29yZS9DTWFr
ZUxpc3RzLnR4dApAQCAtNjM0LDcgKzYzNCw2IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBi
aW5kaW5ncy9qcy9KU0RldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3BwCiAgICAgYmluZGlu
Z3MvanMvSlNEb2N1bWVudEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU0VsZW1lbnRDdXN0
b20uY3BwCi0gICAgYmluZGluZ3MvanMvSlNFcnJvckhhbmRsZXIuY3BwCiAgICAgYmluZGluZ3Mv
anMvSlNFdmVudEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU0V2ZW50TGlzdGVuZXIuY3Bw
CiAgICAgYmluZGluZ3MvanMvSlNFdmVudFNvdXJjZUN1c3RvbS5jcHAKQEAgLTcwNCw2ICs3MDMs
NyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgYmluZGluZ3MvanMvSlNXZWJTb2NrZXRDdXN0
b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNXb3JrZXJDb250ZXh0QmFzZS5jcHAKICAgICBiaW5k
aW5ncy9qcy9KU1dvcmtlckNvbnRleHRDdXN0b20uY3BwCisgICAgYmluZGluZ3MvanMvSlNXb3Jr
ZXJDb250ZXh0RXJyb3JIYW5kbGVyLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTV29ya2VyQ3VzdG9t
LmNwcAogICAgIGJpbmRpbmdzL2pzL0pTWE1MSHR0cFJlcXVlc3RDdXN0b20uY3BwCiAgICAgYmlu
ZGluZ3MvanMvSlNYTUxIdHRwUmVxdWVzdFVwbG9hZEN1c3RvbS5jcHAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDI4MjVkYy4uNWViNzQx
OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cK
QEAgLTEsMyArMSw3NSBAQAorMjAxMC0xMi0xMyAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNo
cm9taXVtLm9yZz4KKworICAgICAgICBVbnJldmlld2VkLiBSb2xsb3V0IDczOTE0LCA3MzkxNSwg
NzM5MTcsIDczOTIwIGFuZCA3MzkyMS4KKworICAgICAgICBSRUdSRVNTSU9OKHI3MzkxNCk6ICJD
aHJvbWl1bSBwYWdlX2N5Y2xlcl9tb3JlanMgZmFpbHMiIChSZXF1ZXN0ZWQgYnkgeXVyeXMgb24g
I3dlYmtpdCkuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD01MDk1MAorCisgICAgICAgICogQW5kcm9pZC5qc2NiaW5kaW5ncy5tazoKKyAgICAgICAgKiBD
TWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBXZWJD
b3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS5vcmRlcjoKKyAgICAgICAgKiBXZWJDb3JlLnBy
bzoKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBX
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMv
SlNCaW5kaW5nc0FsbEluT25lLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTUJpbmRp
bmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cmVwb3J0RXhjZXB0aW9uKToKKyAgICAgICAgKiBi
aW5kaW5ncy9qcy9KU1dvcmtlckNvbnRleHRFcnJvckhhbmRsZXIuY3BwOiBSZW5hbWVkIGZyb20g
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0Vycm9ySGFuZGxlci5jcHAuCisgICAgICAgIChXZWJDb3Jl
OjpKU1dvcmtlckNvbnRleHRFcnJvckhhbmRsZXI6OkpTV29ya2VyQ29udGV4dEVycm9ySGFuZGxl
cik6CisgICAgICAgIChXZWJDb3JlOjpKU1dvcmtlckNvbnRleHRFcnJvckhhbmRsZXI6On5KU1dv
cmtlckNvbnRleHRFcnJvckhhbmRsZXIpOgorICAgICAgICAoV2ViQ29yZTo6SlNXb3JrZXJDb250
ZXh0RXJyb3JIYW5kbGVyOjpoYW5kbGVFdmVudCk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNX
b3JrZXJDb250ZXh0RXJyb3JIYW5kbGVyLmg6IFJlbmFtZWQgZnJvbSBXZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRXJyb3JIYW5kbGVyLmguCisgICAgICAgIChXZWJDb3JlOjpKU1dvcmtlckNvbnRleHRF
cnJvckhhbmRsZXI6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVKU1dvcmtlckNv
bnRleHRFcnJvckhhbmRsZXIpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvckpTLnBtOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBt
OgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4Q29uc29sZU1lc3NhZ2UuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6VjhDb25zb2xlTWVzc2FnZTo6ZGlzcGF0Y2hOb3cpOgorICAgICAgICAoV2ViQ29y
ZTo6VjhDb25zb2xlTWVzc2FnZTo6aGFuZGxlcik6CisgICAgICAgICogYmluZGluZ3MvdjgvVjhD
b25zb2xlTWVzc2FnZS5oOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4V2luZG93RXJyb3JIYW5k
bGVyLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOFdpbmRvd0Vycm9ySGFu
ZGxlci5oOiBSZW1vdmVkLgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1dvcmtlckNvbnRleHRFeGVj
dXRpb25Qcm94eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp2OE1lc3NhZ2VIYW5kbGVyKToKKyAg
ICAgICAgKiBiaW5kaW5ncy92OC9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OldvcmtlclNjcmlwdENvbnRyb2xsZXI6OmV2YWx1YXRlKToKKyAgICAgICAgKiBk
b20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnJlcG9ydEV4Y2Vw
dGlvbik6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6YWRkTWVzc2FnZSk6CisgICAgICAg
ICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgICogZG9tL0Vycm9yRXZlbnQuY3BwOgorICAgICAg
ICAqIGRvbS9FcnJvckV2ZW50Lmg6CisgICAgICAgICogZG9tL0V2ZW50LmNwcDoKKyAgICAgICAg
KiBkb20vRXZlbnQuaDoKKyAgICAgICAgKiBkb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpTY3JpcHRFeGVjdXRp
b25Db250ZXh0KToKKyAgICAgICAgKiBkb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oOgorICAg
ICAgICAqIHdlYnNvY2tldHMvV2ViU29ja2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYlNv
Y2tldDo6Y29ubmVjdCk6CisgICAgICAgICogd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tldENoYW5uZWw6OmRpZE9wZW4pOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViU29ja2V0Q2hhbm5lbDo6YXBwZW5kVG9CdWZmZXIpOgorICAgICAgICAq
IHdlYnNvY2tldHMvV2ViU29ja2V0SGFuZHNoYWtlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldl
YlNvY2tldEhhbmRzaGFrZTo6cmVhZFNlcnZlckhhbmRzaGFrZSk6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJTb2NrZXRIYW5kc2hha2U6OnJlYWRTdGF0dXNMaW5lKToKKyAgICAgICAgKFdlYkNvcmU6
OldlYlNvY2tldEhhbmRzaGFrZTo6cmVhZEhUVFBIZWFkZXJzKToKKyAgICAgICAgKFdlYkNvcmU6
OldlYlNvY2tldEhhbmRzaGFrZTo6Y2hlY2tSZXNwb25zZUhlYWRlcnMpOgorICAgICAgICAqIHdv
cmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6cG9zdEV4Y2VwdGlvblRhc2spOgorICAgICAgICAoV2ViQ29yZTo6cG9zdENvbnNvbGVNZXNz
YWdlVGFzayk6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJDb250ZXh0LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OldvcmtlckNvbnRleHQ6OldvcmtlckNvbnRleHQpOgorICAgICAgICAoV2ViQ29y
ZTo6V29ya2VyQ29udGV4dDo6cmVwb3J0RXhjZXB0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Oldv
cmtlckNvbnRleHQ6OmFkZE1lc3NhZ2UpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyQ29udGV4
dC5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6V29ya2VyRXhjZXB0aW9uVGFzazo6cGVyZm9ybVRhc2spOgorICAgICAgICAo
V2ViQ29yZTo6cG9zdENvbnNvbGVNZXNzYWdlVGFzayk6CisgICAgICAgICogeG1sL1hNTEh0dHBS
ZXF1ZXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnJlcG9ydFVuc2FmZVVzYWdlKToKKwogMjAx
MC0xMi0xMyAgTWF0dGhldyBEZWxhbmV5ICA8bWRlbGFuZXlAYXBwbGUuY29tPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IG5vYm9keSwgYnVpbGQgZml4LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9HTlVt
YWtlZmlsZS5hbSBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXggZGNiZTM5MS4uNGQ5NWRm
NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQorKysgYi9XZWJDb3JlL0dOVW1h
a2VmaWxlLmFtCkBAIC03NzMsOCArNzczLDYgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRWxlbWVudEN1c3RvbS5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3Mv
anMvSlNFbnRyeUN1c3RvbS5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNFbnRyeVN5bmND
dXN0b20uY3BwIFwKLQlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXJyb3JIYW5kbGVyLmNwcCBcCi0J
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0Vycm9ySGFuZGxlci5oIFwKIAlXZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRXZlbnRDdXN0b20uY3BwIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRMaXN0
ZW5lci5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudExpc3RlbmVyLmggXApAQCAt
ODcyLDYgKzg3MCw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU1dvcmtlckNvbnRleHRCYXNlLmNwcCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtl
ckNvbnRleHRCYXNlLmggXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrZXJDb250ZXh0Q3Vz
dG9tLmNwcCBcCisJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtlckNvbnRleHRFcnJvckhhbmRs
ZXIuY3BwIFwKKwlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2VyQ29udGV4dEVycm9ySGFuZGxl
ci5oIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2VyQ3VzdG9tLmNwcCBcCiAJV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU1hNTEh0dHBSZXF1ZXN0Q3VzdG9tLmNwcCBcCiAJV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU1hNTEh0dHBSZXF1ZXN0VXBsb2FkQ3VzdG9tLmNwcCBcCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDQyNWYwODQu
LmJhOWQ2MjcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1dlYkNvcmUv
V2ViQ29yZS5neXBpCkBAIC02MjUsOCArNjI1LDYgQEAKICAgICAgICAgICAgICdiaW5kaW5ncy9q
cy9KU0VsZW1lbnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0VudHJ5
Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNFbnRyeVN5bmNDdXN0b20u
Y3BwJywKLSAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0Vycm9ySGFuZGxlci5jcHAnLAotICAg
ICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTRXJyb3JIYW5kbGVyLmgnLAogICAgICAgICAgICAgJ2Jp
bmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9K
U0V2ZW50TGlzdGVuZXIuY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0V2ZW50TGlz
dGVuZXIuaCcsCkBAIC03MjQsNiArNzIyLDggQEAKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9K
U1dvcmtlckNvbnRleHRCYXNlLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNXb3Jr
ZXJDb250ZXh0QmFzZS5oJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU1dvcmtlckNvbnRl
eHRDdXN0b20uY3BwJywKKyAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU1dvcmtlckNvbnRleHRF
cnJvckhhbmRsZXIuY3BwJywKKyAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU1dvcmtlckNvbnRl
eHRFcnJvckhhbmRsZXIuaCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNXb3JrZXJDdXN0
b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU1hNTEh0dHBSZXF1ZXN0Q3VzdG9t
LmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNYTUxIdHRwUmVxdWVzdFVwbG9hZEN1
c3RvbS5jcHAnLApAQCAtOTg2LDggKzk4Niw2IEBACiAgICAgICAgICAgICAnYmluZGluZ3Mvdjgv
VjhQcm94eS5oJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9WOFV0aWxpdGllcy5jcHAnLAog
ICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L1Y4VXRpbGl0aWVzLmgnLAotICAgICAgICAgICAgJ2Jp
bmRpbmdzL3Y4L1Y4V2luZG93RXJyb3JIYW5kbGVyLmNwcCcsCi0gICAgICAgICAgICAnYmluZGlu
Z3MvdjgvVjhXaW5kb3dFcnJvckhhbmRsZXIuaCcsCiAgICAgICAgICAgICAnYmluZGluZ3Mvdjgv
VjhXb3JrZXJDb250ZXh0RXJyb3JIYW5kbGVyLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3Mv
djgvVjhXb3JrZXJDb250ZXh0RXJyb3JIYW5kbGVyLmgnLAogICAgICAgICAgICAgJ2JpbmRpbmdz
L3Y4L1Y4V29ya2VyQ29udGV4dEV2ZW50TGlzdGVuZXIuY3BwJywKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvV2ViQ29yZS5vcmRlciBiL1dlYkNvcmUvV2ViQ29yZS5vcmRlcgppbmRleCAyMDQ5ZmUxLi4w
ZmRhYmIxIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUub3JkZXIKKysrIGIvV2ViQ29yZS9X
ZWJDb3JlLm9yZGVyCkBAIC0yNTIwOSw5ICsyNTIwOSwxMyBAQCBfX1pON1dlYkNvcmUxNUpTV29y
a2VyQ29udGV4dDEwc2V0VGltZW91dEVQTjNKU0M5RXhlY1N0YXRlRVJLTlMxXzdBcmdMaXN0RQog
X19aTjdXZWJDb3JlMTNXb3JrZXJDb250ZXh0MTBzZXRUaW1lb3V0RVBOU18xNVNjaGVkdWxlZEFj
dGlvbkVpCiBfX1pON1dlYkNvcmUxN1dvcmtlclNoYXJlZFRpbWVyMTFzZXRGaXJlVGltZUVkCiBf
X1pON1dlYkNvcmUxNVNjaGVkdWxlZEFjdGlvbjdleGVjdXRlRVBOU18xM1dvcmtlckNvbnRleHRF
CitfX1pON1dlYkNvcmUyN0pTV29ya2VyQ29udGV4dEVycm9ySGFuZGxlckMxRVBOM0pTQzhKU09i
amVjdEVTM19iUE5TXzE1RE9NV3JhcHBlcldvcmxkRQorX19aTjdXZWJDb3JlMjdKU1dvcmtlckNv
bnRleHRFcnJvckhhbmRsZXJDMkVQTjNKU0M4SlNPYmplY3RFUzNfYlBOU18xNURPTVdyYXBwZXJX
b3JsZEUKIF9fWk43V2ViQ29yZTEwRXJyb3JFdmVudEMxRVJLTlNfNlN0cmluZ0VTM19qCiBfX1pO
N1dlYkNvcmUxMEVycm9yRXZlbnRDMkVSS05TXzZTdHJpbmdFUzNfagorX19aTjdXZWJDb3JlMjdK
U1dvcmtlckNvbnRleHRFcnJvckhhbmRsZXIxMWhhbmRsZUV2ZW50RVBOU18yMlNjcmlwdEV4ZWN1
dGlvbkNvbnRleHRFUE5TXzVFdmVudEUKIF9fWk43V2ViQ29yZTEwRXJyb3JFdmVudEQwRXYKK19f
Wk43V2ViQ29yZTI3SlNXb3JrZXJDb250ZXh0RXJyb3JIYW5kbGVyRDBFdgogX19aTjdXZWJDb3Jl
MTdqc1dvcmtlck9ubWVzc2FnZUVQTjNKU0M5RXhlY1N0YXRlRU5TMF83SlNWYWx1ZUVSS05TMF8x
MElkZW50aWZpZXJFCiBfX1pON1dlYkNvcmUzNGpzV29ya2VyUHJvdG90eXBlRnVuY3Rpb25UZXJt
aW5hdGVFUE4zSlNDOUV4ZWNTdGF0ZUVQTlMwXzhKU09iamVjdEVOUzBfN0pTVmFsdWVFUktOUzBf
N0FyZ0xpc3RFCiBfX1pUaG44X043V2ViQ29yZTIwV29ya2VyTWVzc2FnaW5nUHJveHkxOXdvcmtl
ckNvbnRleHRDbG9zZWRFdgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1dlYkNv
cmUvV2ViQ29yZS5wcm8KaW5kZXggYWExNWI3Yi4uYmQ1NzA1NSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9XZWJDb3JlLnBybworKysgYi9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC0zODUsNyArMzg1LDYg
QEAgdjggewogICAgICAgICBiaW5kaW5ncy92OC9WOE5vZGVGaWx0ZXJDb25kaXRpb24uY3BwIFwK
ICAgICAgICAgYmluZGluZ3MvdjgvVjhQcm94eS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9W
OFV0aWxpdGllcy5jcHAgXAotICAgICAgICBiaW5kaW5ncy92OC9WOFdpbmRvd0Vycm9ySGFuZGxl
ci5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9WOFdvcmtlckNvbnRleHRFdmVudExpc3RlbmVy
LmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL3Y4L1dvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eS5j
cHAgXAogICAgICAgICBiaW5kaW5ncy92OC9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmNwcCBcCkBA
IC01MzAsNyArNTI5LDYgQEAgdjggewogICAgICAgICBiaW5kaW5ncy9qcy9KU0RldmljZU9yaWVu
dGF0aW9uRXZlbnRDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvanMvSlNEb2N1bWVudEN1
c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9KU0VsZW1lbnRDdXN0b20uY3BwIFwKLSAg
ICAgICAgYmluZGluZ3MvanMvSlNFcnJvckhhbmRsZXIuY3BwIFwKICAgICAgICAgYmluZGluZ3Mv
anMvSlNFdmVudEN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9KU0V2ZW50TGlzdGVu
ZXIuY3BwIFwKICAgICAgICAgYmluZGluZ3MvanMvSlNFdmVudFNvdXJjZUN1c3RvbS5jcHAgXApA
QCAtNTkwLDYgKzU4OCw3IEBAIHY4IHsKICAgICAgICAgYmluZGluZ3MvanMvSlNXZWJLaXRDU1NL
ZXlmcmFtZXNSdWxlQ3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL2pzL0pTV2ViS2l0Q1NT
TWF0cml4Q3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL2pzL0pTV2ViS2l0UG9pbnRDdXN0
b20uY3BwIFwKKyAgICAgICAgYmluZGluZ3MvanMvSlNXb3JrZXJDb250ZXh0RXJyb3JIYW5kbGVy
LmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL2pzL0pTWE1MSHR0cFJlcXVlc3RDdXN0b20uY3BwIFwK
ICAgICAgICAgYmluZGluZ3MvanMvSlNYTUxIdHRwUmVxdWVzdFVwbG9hZEN1c3RvbS5jcHAgXAog
ICAgICAgICBiaW5kaW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24uY3BwIFwKQEAgLTE0NjEsNyArMTQ2
MCw2IEBAIHY4IHsKICAgICAgICAgYmluZGluZ3MvdjgvVjhOUFV0aWxzLmggXAogICAgICAgICBi
aW5kaW5ncy92OC9WOFByb3h5LmggXAogICAgICAgICBiaW5kaW5ncy92OC9WOFV0aWxpdGllcy5o
IFwKLSAgICAgICAgYmluZGluZ3MvdjgvVjhXaW5kb3dFcnJvckhhbmRsZXIuaCBcCiAgICAgICAg
IGJpbmRpbmdzL3Y4L1Y4V29ya2VyQ29udGV4dEV2ZW50TGlzdGVuZXIuaCBcCiAgICAgICAgIGJp
bmRpbmdzL3Y4L1dvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eS5oIFwKICAgICAgICAgYmluZGlu
Z3MvdjgvV29ya2VyU2NyaXB0Q29udHJvbGxlci5oIFwKQEAgLTE0ODgsNyArMTQ4Niw2IEBAIHY4
IHsKICAgICAgICAgYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uaCBcCiAgICAgICAgIGJp
bmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuaCBcCiAgICAgICAgIGJpbmRpbmdzL2pzL0pTRE9N
V3JhcHBlci5oIFwKLSAgICAgICAgYmluZGluZ3MvanMvSlNFcnJvckhhbmRsZXIuaCBcCiAgICAg
ICAgIGJpbmRpbmdzL2pzL0pTRXZlbnRMaXN0ZW5lci5oIFwKICAgICAgICAgYmluZGluZ3MvanMv
SlNFdmVudFRhcmdldC5oIFwKICAgICAgICAgYmluZGluZ3MvanMvSlNIaXN0b3J5Q3VzdG9tLmgg
XApAQCAtMTUwNiw2ICsxNTAzLDcgQEAgdjggewogICAgICAgICBiaW5kaW5ncy9qcy9KU1BsdWdp
bkVsZW1lbnRGdW5jdGlvbnMuaCBcCiAgICAgICAgIGJpbmRpbmdzL2pzL0pTU3RvcmFnZUN1c3Rv
bS5oIFwKICAgICAgICAgYmluZGluZ3MvanMvSlNXb3JrZXJDb250ZXh0QmFzZS5oIFwKKyAgICAg
ICAgYmluZGluZ3MvanMvSlNXb3JrZXJDb250ZXh0RXJyb3JIYW5kbGVyLmggXAogICAgICAgICBi
aW5kaW5ncy9qcy9KYXZhU2NyaXB0Q2FsbEZyYW1lLmggXAogICAgICAgICBiaW5kaW5ncy9qcy9T
Y2hlZHVsZWRBY3Rpb24uaCBcCiAgICAgICAgIGJpbmRpbmdzL2pzL1NjcmlwdENhY2hlZEZyYW1l
RGF0YS5oIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3By
b2ogYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IGM3NDQxMGUu
LjhkNzRiY2IgMTAwNzU1Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3By
b2oKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtNTc5NDAs
MTE0ICs1Nzk0MCw2IEBACiAJCQkJCQkvPgogCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgogCQkJ
CQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJCU5hbWU9IkRlYnVnX0ludGVybmFsfFdpbjMyIgot
CQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCi0JCQkJCQk+Ci0JCQkJCQk8VG9vbAotCQkJ
CQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCQkvPgotCQkJCQk8L0ZpbGVDb25maWd1
cmF0aW9uPgotCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJCU5hbWU9IkRlYnVnX0NhaXJv
fFdpbjMyIgotCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCi0JCQkJCQk+Ci0JCQkJCQk8
VG9vbAotCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCQkvPgotCQkJCQk8L0Zp
bGVDb25maWd1cmF0aW9uPgotCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJCU5hbWU9IlJl
bGVhc2VfQ2Fpcm98V2luMzIiCi0JCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJ
CT4KLQkJCQkJCTxUb29sCi0JCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJCS8+
Ci0JCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+Ci0JCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJ
CQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgotCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUi
Ci0JCQkJCQk+Ci0JCQkJCQk8VG9vbAotCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0J
CQkJCQkvPgotCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJCTwvRmlsZT4KLQkJCQk8Rmls
ZQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGJpbmRpbmdzXGpzXEpTRXJyb3JIYW5kbGVyLmNwcCIK
LQkJCQkJPgotCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJCU5hbWU9IkRlYnVnfFdpbjMy
IgotCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCi0JCQkJCQk+Ci0JCQkJCQk8VG9vbAot
CQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCQkvPgotCQkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPgotCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJCU5hbWU9IlJlbGVhc2V8
V2luMzIiCi0JCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJCT4KLQkJCQkJCTxU
b29sCi0JCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJCS8+Ci0JCQkJCTwvRmls
ZUNvbmZpZ3VyYXRpb24+Ci0JCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQkJTmFtZT0iRGVi
dWdfSW50ZXJuYWx8V2luMzIiCi0JCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJ
CT4KLQkJCQkJCTxUb29sCi0JCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJCS8+
Ci0JCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+Ci0JCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJ
CQkJTmFtZT0iRGVidWdfQ2Fpcm98V2luMzIiCi0JCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSIKLQkJCQkJCT4KLQkJCQkJCTxUb29sCi0JCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIK
LQkJCQkJCS8+Ci0JCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+Ci0JCQkJCTxGaWxlQ29uZmlndXJh
dGlvbgotCQkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb3xXaW4zMiIKLQkJCQkJCUV4Y2x1ZGVkRnJv
bUJ1aWxkPSJ0cnVlIgotCQkJCQkJPgotCQkJCQkJPFRvb2wKLQkJCQkJCQlOYW1lPSJWQ0NMQ29t
cGlsZXJUb29sIgotCQkJCQkJLz4KLQkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KLQkJCQkJPEZp
bGVDb25maWd1cmF0aW9uCi0JCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCi0JCQkJCQlFeGNs
dWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJCT4KLQkJCQkJCTxUb29sCi0JCQkJCQkJTmFtZT0i
VkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJCS8+Ci0JCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+Ci0J
CQkJPC9GaWxlPgotCQkJCTxGaWxlCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cYmluZGluZ3NcanNc
SlNFcnJvckhhbmRsZXIuaCIKLQkJCQkJPgotCQkJCTwvRmlsZT4KLQkJCQk8RmlsZQotCQkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXGJpbmRpbmdzXGpzXEpTRXZlbnRDdXN0b20uY3BwIgotCQkJCQk+Ci0J
CQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQkJTmFtZT0iRGVidWd8V2luMzIiCi0JCQkJCQlF
eGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJCT4KLQkJCQkJCTxUb29sCi0JCQkJCQkJTmFt
ZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJCS8+Ci0JCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+
Ci0JCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKLQkJ
CQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgotCQkJCQkJPgotCQkJCQkJPFRvb2wKLQkJCQkJ
CQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkJLz4KLQkJCQkJPC9GaWxlQ29uZmlndXJh
dGlvbj4KLQkJCQkJPEZpbGVDb25maWd1cmF0aW9uCiAJCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19D
RkxpdGV8V2luMzIiCiAJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKIAkJCQkJCT4KQEAg
LTYxNzY5LDYgKzYxNjYxLDYyIEBACiAJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQkJPC9G
aWxlPgogCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cYmluZGluZ3NcanNcSlNXb3Jr
ZXJDb250ZXh0RXJyb3JIYW5kbGVyLmNwcCIKKwkJCQkJPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24KKwkJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRy
dWUiCisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wi
CisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24KKwkJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWls
ZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVy
VG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29u
ZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQkJ
RXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5h
bWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9u
PgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZM
aXRlfFdpbjMyIgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCQk+CisJCQkJ
CQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkvPgorCQkJCQk8
L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9
IkRlYnVnX0FsbHxXaW4zMiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQkJ
PgorCQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJLz4K
KwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJ
CQlOYW1lPSJSZWxlYXNlX0xUQ0d8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIK
KwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPC9GaWxlPgorCQkJCTxG
aWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cYmluZGluZ3NcanNcSlNXb3JrZXJDb250ZXh0RXJy
b3JIYW5kbGVyLmgiCisJCQkJCT4KKwkJCQk8L0ZpbGU+CisJCQkJPEZpbGUKIAkJCQkJUmVsYXRp
dmVQYXRoPSIuLlxiaW5kaW5nc1xqc1xKU1dvcmtlckN1c3RvbS5jcHAiCiAJCQkJCT4KIAkJCQkJ
PEZpbGVDb25maWd1cmF0aW9uCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvaiBiL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCmluZGV4IDlkOTk5MmMuLmU2ZDBjZDAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCkBAIC01NTU4LDggKzU1NTgsOCBAQAogCQlGMzkyMjQ5RDEyNkYxMUFF
MDBBOTI2RDkgLyogU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjM5MjI0OUIxMjZGMTFBRTAwQTkyNkQ5IC8qIFNj
cmlwdENhbGxTdGFja0ZhY3RvcnkuaCAqLzsgfTsKIAkJRjM5QkU5NUIxMjY3M0JGNDAwRTBBNjc0
IC8qIFNjcmlwdEFyZ3VtZW50cy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBGMzlCRTk1OTEyNjczQkY0MDBFMEE2NzQgLyogU2NyaXB0QXJndW1lbnRz
LmNwcCAqLzsgfTsKIAkJRjM5QkU5NUMxMjY3M0JGNDAwRTBBNjc0IC8qIFNjcmlwdEFyZ3VtZW50
cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjM5QkU5
NUExMjY3M0JGNDAwRTBBNjc0IC8qIFNjcmlwdEFyZ3VtZW50cy5oICovOyB9OwotCQlGM0Q0NjE0
ODExNjFENTMyMDBDQTBEMDkgLyogSlNFcnJvckhhbmRsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjNENDYxNDYxMTYxRDUzMjAwQ0EwRDA5IC8q
IEpTRXJyb3JIYW5kbGVyLmNwcCAqLzsgfTsKLQkJRjNENDYxNDkxMTYxRDUzMjAwQ0EwRDA5IC8q
IEpTRXJyb3JIYW5kbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBGM0Q0NjE0NzExNjFENTMyMDBDQTBEMDkgLyogSlNFcnJvckhhbmRsZXIuaCAqLzsg
fTsKKwkJRjNENDYxNDgxMTYxRDUzMjAwQ0EwRDA5IC8qIEpTV29ya2VyQ29udGV4dEVycm9ySGFu
ZGxlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBG
M0Q0NjE0NjExNjFENTMyMDBDQTBEMDkgLyogSlNXb3JrZXJDb250ZXh0RXJyb3JIYW5kbGVyLmNw
cCAqLzsgfTsKKwkJRjNENDYxNDkxMTYxRDUzMjAwQ0EwRDA5IC8qIEpTV29ya2VyQ29udGV4dEVy
cm9ySGFuZGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRjNENDYxNDcxMTYxRDUzMjAwQ0EwRDA5IC8qIEpTV29ya2VyQ29udGV4dEVycm9ySGFuZGxl
ci5oICovOyB9OwogCQlGNEVBRjRBRTEwQzc0MkIxMDA5MTAwRDMgLyogT3BlblR5cGVTYW5pdGl6
ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjRF
QUY0QUMxMEM3NDJCMTAwOTEwMEQzIC8qIE9wZW5UeXBlU2FuaXRpemVyLmNwcCAqLzsgfTsKIAkJ
RjRFQUY0QUYxMEM3NDJCMTAwOTEwMEQzIC8qIE9wZW5UeXBlU2FuaXRpemVyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNEVBRjRBRDEwQzc0MkIxMDA5
MTAwRDMgLyogT3BlblR5cGVTYW5pdGl6ZXIuaCAqLzsgfTsKIAkJRjU1QjNEQUQxMjUxRjEyRDAw
M0VGMjY5IC8qIEJhc2VUZXh0SW5wdXRUeXBlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY1NUIzRDc5MTI1MUYxMkQwMDNFRjI2OSAvKiBCYXNlVGV4
dElucHV0VHlwZS5jcHAgKi87IH07CkBAIC0xMTg1OSw4ICsxMTg1OSw4IEBACiAJCUYzOTIyNDlC
MTI2RjExQUUwMEE5MjZEOSAvKiBTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcmlwdENhbGxTdGFja0ZhY3RvcnkuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjM5QkU5NTkxMjY3M0JGNDAwRTBBNjc0IC8qIFNjcmlwdEFy
Z3VtZW50cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3JpcHRB
cmd1bWVudHMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGMzlCRTk1QTEyNjcz
QkY0MDBFMEE2NzQgLyogU2NyaXB0QXJndW1lbnRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFNjcmlwdEFyZ3VtZW50cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owot
CQlGM0Q0NjE0NjExNjFENTMyMDBDQTBEMDkgLyogSlNFcnJvckhhbmRsZXIuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNFcnJvckhhbmRsZXIuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwotCQlGM0Q0NjE0NzExNjFENTMyMDBDQTBEMDkgLyogSlNFcnJv
ckhhbmRsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNFcnJvckhhbmRs
ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjNENDYxNDYxMTYxRDUzMjAwQ0Ew
RDA5IC8qIEpTV29ya2VyQ29udGV4dEVycm9ySGFuZGxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU1dvcmtlckNvbnRleHRFcnJvckhhbmRsZXIuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGM0Q0NjE0NzExNjFENTMyMDBDQTBEMDkgLyogSlNX
b3JrZXJDb250ZXh0RXJyb3JIYW5kbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEpTV29ya2VyQ29udGV4dEVycm9ySGFuZGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlGNEVBRjRBQzEwQzc0MkIxMDA5MTAwRDMgLyogT3BlblR5cGVTYW5pdGl6ZXIuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gT3BlblR5cGVTYW5pdGl6ZXIu
Y3BwOyBwYXRoID0gb3BlbnR5cGUvT3BlblR5cGVTYW5pdGl6ZXIuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlGNEVBRjRBRDEwQzc0MkIxMDA5MTAwRDMgLyogT3BlblR5cGVTYW5p
dGl6ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gT3BlblR5cGVTYW5pdGl6
ZXIuaDsgcGF0aCA9IG9wZW50eXBlL09wZW5UeXBlU2FuaXRpemVyLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUY1MjNEMjNCMDJERTQzOTYwMTg2MzVDQSAvKiBIVE1MRG9jdW1lbnQu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRl
bnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSFRNTERvY3VtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4
OyB1c2VzVGFicyA9IDA7IH07CkBAIC0xNzQ1Niw4ICsxNzQ1Niw2IEBACiAJCQkJQkNCRkI1M0Iw
RENEMjlDRjAwMTlCM0U1IC8qIEpTRE9NV2luZG93U2hlbGwuaCAqLywKIAkJCQlCQzUzREFDNjEx
NDMzMDY0MDAwRDgxN0UgLyogSlNET01XcmFwcGVyLmNwcCAqLywKIAkJCQk2NUUwRTk0MzExMzND
ODlGMDBCNENCMTAgLyogSlNET01XcmFwcGVyLmggKi8sCi0JCQkJRjNENDYxNDYxMTYxRDUzMjAw
Q0EwRDA5IC8qIEpTRXJyb3JIYW5kbGVyLmNwcCAqLywKLQkJCQlGM0Q0NjE0NzExNjFENTMyMDBD
QTBEMDkgLyogSlNFcnJvckhhbmRsZXIuaCAqLywKIAkJCQlCQzYwOTAxRTBFOTFCOEVDMDAwQzY4
QjUgLyogSlNFdmVudFRhcmdldC5jcHAgKi8sCiAJCQkJQkM2MDkwMUQwRTkxQjhFQzAwMEM2OEI1
IC8qIEpTRXZlbnRUYXJnZXQuaCAqLywKIAkJCQkzMzE0QUNFOTEwODkyMDg2MDAwRjBFNTYgLyog
SlNFeGNlcHRpb25CYXNlLmNwcCAqLywKQEAgLTE3NDY5LDYgKzE3NDY3LDggQEAKIAkJCQkxNENE
OEQ4MTEwNkI1MjkwMDBBNDZEMjMgLyogSlNTaGFyZWRXb3JrZXJDdXN0b20uY3BwICovLAogCQkJ
CUUxQzM2RDMyMEVCMEEwOTQwMDc0MTBCQyAvKiBKU1dvcmtlckNvbnRleHRCYXNlLmNwcCAqLywK
IAkJCQlFMUMzNkQzMzBFQjBBMDk0MDA3NDEwQkMgLyogSlNXb3JrZXJDb250ZXh0QmFzZS5oICov
LAorCQkJCUYzRDQ2MTQ2MTE2MUQ1MzIwMENBMEQwOSAvKiBKU1dvcmtlckNvbnRleHRFcnJvckhh
bmRsZXIuY3BwICovLAorCQkJCUYzRDQ2MTQ3MTE2MUQ1MzIwMENBMEQwOSAvKiBKU1dvcmtlckNv
bnRleHRFcnJvckhhbmRsZXIuaCAqLywKIAkJCQlCQ0EzNzhCQTBEMTVGNjQyMDBCNzkzRDYgLyog
U2NoZWR1bGVkQWN0aW9uLmNwcCAqLywKIAkJCQlCQ0EzNzhCQjBEMTVGNjQyMDBCNzkzRDYgLyog
U2NoZWR1bGVkQWN0aW9uLmggKi8sCiAJCQkJNDFGMUQyMUUwRUYzNUMyQTAwREE4NzUzIC8qIFNj
cmlwdENhY2hlZEZyYW1lRGF0YS5jcHAgKi8sCkBAIC0yMTEzMyw3ICsyMTEzMyw3IEBACiAJCQkJ
RTFDQUE1QzYwRThCRDIzNjAwQTczRUNBIC8qIEpTV29ya2VyLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlFMTgyNTY5MDBFRjJCMDJEMDA5MzMyNDIgLyogSlNXb3JrZXJDb250ZXh0LmggaW4gSGVhZGVy
cyAqLywKIAkJCQlFMUMzNkQzNTBFQjBBMDk0MDA3NDEwQkMgLyogSlNXb3JrZXJDb250ZXh0QmFz
ZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJRjNENDYxNDkxMTYxRDUzMjAwQ0EwRDA5IC8qIEpTRXJy
b3JIYW5kbGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQlGM0Q0NjE0OTExNjFENTMyMDBDQTBEMDkg
LyogSlNXb3JrZXJDb250ZXh0RXJyb3JIYW5kbGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUMz
NjJFRjBFQUYyQUE5MDA3NDEwQkMgLyogSlNXb3JrZXJMb2NhdGlvbi5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJRTEyNzFBNTgwRUVFQ0RFNDAwRjYxMjEzIC8qIEpTV29ya2VyTmF2aWdhdG9yLmggaW4g
SGVhZGVycyAqLywKIAkJCQlCQzM0OEJENDBEQjdGODA0MDA0QUJBQjkgLyogSlNYTUxIdHRwUmVx
dWVzdC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yMzk1Myw3ICsyMzk1Myw3IEBACiAJCQkJRTE4MjU2
OEYwRUYyQjAyRDAwOTMzMjQyIC8qIEpTV29ya2VyQ29udGV4dC5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQlFMUMzNkQzNDBFQjBBMDk0MDA3NDEwQkMgLyogSlNXb3JrZXJDb250ZXh0QmFzZS5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlFMTgyNThBQzBFRjNDRDcwMDA5MzMyNDIgLyogSlNXb3JrZXJD
b250ZXh0Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCUYzRDQ2MTQ4MTE2MUQ1MzIwMENB
MEQwOSAvKiBKU0Vycm9ySGFuZGxlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlGM0Q0NjE0ODEx
NjFENTMyMDBDQTBEMDkgLyogSlNXb3JrZXJDb250ZXh0RXJyb3JIYW5kbGVyLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUUxQ0E1Q0JDMEU4Q0RDQUYwMEU4RUY5MCAvKiBKU1dvcmtlckN1c3RvbS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlFMUMzNjJGMDBFQUYyQUE5MDA3NDEwQkMgLyogSlNXb3Jr
ZXJMb2NhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMTI3MUE1OTBFRUVDREU0MDBGNjEy
MTMgLyogSlNXb3JrZXJOYXZpZ2F0b3IuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTQmluZGluZ3NBbGxJbk9uZS5jcHAgYi9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTQmluZGluZ3NBbGxJbk9uZS5jcHAKaW5kZXggZDJjMjdhOS4uN2ZjNTc0MCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0JpbmRpbmdzQWxsSW5PbmUuY3BwCisrKyBi
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNCaW5kaW5nc0FsbEluT25lLmNwcApAQCAtNzIsNyArNzIs
NiBAQAogI2luY2x1ZGUgIkpTRGV2aWNlT3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHAiCiAjaW5j
bHVkZSAiSlNEb2N1bWVudEN1c3RvbS5jcHAiCiAjaW5jbHVkZSAiSlNFbGVtZW50Q3VzdG9tLmNw
cCIKLSNpbmNsdWRlICJKU0Vycm9ySGFuZGxlci5jcHAiCiAjaW5jbHVkZSAiSlNFdmVudEN1c3Rv
bS5jcHAiCiAjaW5jbHVkZSAiSlNFdmVudExpc3RlbmVyLmNwcCIKICNpbmNsdWRlICJKU0V2ZW50
U291cmNlQ3VzdG9tLmNwcCIKQEAgLTE0Miw2ICsxNDEsNyBAQAogI2luY2x1ZGUgIkpTV2ViU29j
a2V0Q3VzdG9tLmNwcCIKICNpbmNsdWRlICJKU1dvcmtlckNvbnRleHRCYXNlLmNwcCIKICNpbmNs
dWRlICJKU1dvcmtlckNvbnRleHRDdXN0b20uY3BwIgorI2luY2x1ZGUgIkpTV29ya2VyQ29udGV4
dEVycm9ySGFuZGxlci5jcHAiCiAjaW5jbHVkZSAiSlNXb3JrZXJDdXN0b20uY3BwIgogI2luY2x1
ZGUgIkpTWE1MSHR0cFJlcXVlc3RDdXN0b20uY3BwIgogI2luY2x1ZGUgIkpTWE1MSHR0cFJlcXVl
c3RVcGxvYWRDdXN0b20uY3BwIgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RP
TUJpbmRpbmcuY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuY3BwCmluZGV4
IDZkM2UzYzUuLjI2N2QxOGEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01C
aW5kaW5nLmNwcAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5jcHAKQEAg
LTU1LDcgKzU1LDYgQEAKICNpbmNsdWRlICJQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uaCIKICNpbmNs
dWRlICJSYW5nZUV4Y2VwdGlvbi5oIgogI2luY2x1ZGUgIlNjcmlwdENhY2hlZEZyYW1lRGF0YS5o
IgotI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlNjcmlwdENvbnRyb2xs
ZXIuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgIldlYkNvcmVKU0NsaWVudERh
dGEuaCIKQEAgLTU5OSw3ICs1OTgsNyBAQCB2b2lkIHJlcG9ydEV4Y2VwdGlvbihFeGVjU3RhdGUq
IGV4ZWMsIEpTVmFsdWUgZXhjZXB0aW9uKQogICAgIGlmICghc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+cmVwb3J0
RXhjZXB0aW9uKHVzdHJpbmdUb1N0cmluZyhlcnJvck1lc3NhZ2UpLCBsaW5lTnVtYmVyLCB1c3Ry
aW5nVG9TdHJpbmcoZXhjZXB0aW9uU291cmNlVVJMKSwgMCk7CisgICAgc2NyaXB0RXhlY3V0aW9u
Q29udGV4dC0+cmVwb3J0RXhjZXB0aW9uKHVzdHJpbmdUb1N0cmluZyhlcnJvck1lc3NhZ2UpLCBs
aW5lTnVtYmVyLCB1c3RyaW5nVG9TdHJpbmcoZXhjZXB0aW9uU291cmNlVVJMKSk7CiB9CiAKIHZv
aWQgcmVwb3J0Q3VycmVudEV4Y2VwdGlvbihFeGVjU3RhdGUqIGV4ZWMpCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXJyb3JIYW5kbGVyLmNwcCBiL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNFcnJvckhhbmRsZXIuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNmYz
OWMxLi4wMDAwMDAwCi0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFcnJvckhhbmRsZXIuY3Bw
CisrKyAvZGV2L251bGwKQEAgLTEsMTA5ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUKLSAqIG1ldDoKLSAqCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICog
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZQotICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotICogZGlzdHJpYnV0aW9uLgotICogICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwot
ICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20KLSAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUgotICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAot
ICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsCi0gKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNp
bmNsdWRlICJKU0Vycm9ySGFuZGxlci5oIgotCi0jaW5jbHVkZSAiRXJyb3JFdmVudC5oIgotI2lu
Y2x1ZGUgIkV2ZW50LmgiCi0jaW5jbHVkZSAiSlNFdmVudC5oIgotI2luY2x1ZGUgPHJ1bnRpbWUv
SlNMb2NrLmg+Ci0KLXVzaW5nIG5hbWVzcGFjZSBKU0M7Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsK
LQotSlNFcnJvckhhbmRsZXI6OkpTRXJyb3JIYW5kbGVyKEpTT2JqZWN0KiBmdW5jdGlvbiwgSlNP
YmplY3QqIHdyYXBwZXIsIGJvb2wgaXNBdHRyaWJ1dGUsIERPTVdyYXBwZXJXb3JsZCogaXNvbGF0
ZWRXb3JsZCkKLSAgICA6IEpTRXZlbnRMaXN0ZW5lcihmdW5jdGlvbiwgd3JhcHBlciwgaXNBdHRy
aWJ1dGUsIGlzb2xhdGVkV29ybGQpCi17Ci19Ci0KLUpTRXJyb3JIYW5kbGVyOjp+SlNFcnJvckhh
bmRsZXIoKQotewotfQotCi12b2lkIEpTRXJyb3JIYW5kbGVyOjpoYW5kbGVFdmVudChTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0LCBFdmVudCogZXZlbnQpCi17
Ci0gICAgQVNTRVJUKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpOwotICAgIGlmICghc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgQVNTRVJUKGV2ZW50LT5pc0Vy
cm9yRXZlbnQoKSk7Ci0gICAgRXJyb3JFdmVudCogZXJyb3JFdmVudCA9IHN0YXRpY19jYXN0PEVy
cm9yRXZlbnQqPihldmVudCk7Ci0KLSAgICBKU0xvY2sgbG9jayhTaWxlbmNlQXNzZXJ0aW9uc09u
bHkpOwotCi0gICAgSlNPYmplY3QqIGpzRnVuY3Rpb24gPSB0aGlzLT5qc0Z1bmN0aW9uKHNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQpOwotICAgIGlmICghanNGdW5jdGlvbikKLSAgICAgICAgcmV0dXJu
OwotCi0gICAgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IHRvSlNET01HbG9iYWxP
YmplY3Qoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgaXNvbGF0ZWRXb3JsZCgpKTsKLSAgICBpZiAo
IWdsb2JhbE9iamVjdCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgRXhlY1N0YXRlKiBleGVjID0g
Z2xvYmFsT2JqZWN0LT5nbG9iYWxFeGVjKCk7Ci0KLSAgICBDYWxsRGF0YSBjYWxsRGF0YTsKLSAg
ICBDYWxsVHlwZSBjYWxsVHlwZSA9IGpzRnVuY3Rpb24tPmdldENhbGxEYXRhKGNhbGxEYXRhKTsK
LQotICAgIGlmIChjYWxsVHlwZSAhPSBDYWxsVHlwZU5vbmUpIHsKLSAgICAgICAgUmVmUHRyPEpT
RXJyb3JIYW5kbGVyPiBwcm90ZWN0ZWRjdG9yKHRoaXMpOwotCi0gICAgICAgIEV2ZW50KiBzYXZl
ZEV2ZW50ID0gZ2xvYmFsT2JqZWN0LT5jdXJyZW50RXZlbnQoKTsKLSAgICAgICAgZ2xvYmFsT2Jq
ZWN0LT5zZXRDdXJyZW50RXZlbnQoZXZlbnQpOwotCi0gICAgICAgIE1hcmtlZEFyZ3VtZW50QnVm
ZmVyIGFyZ3M7Ci0gICAgICAgIGFyZ3MuYXBwZW5kKGpzU3RyaW5nKGV4ZWMsIGVycm9yRXZlbnQt
Pm1lc3NhZ2UoKSkpOwotICAgICAgICBhcmdzLmFwcGVuZChqc1N0cmluZyhleGVjLCBlcnJvckV2
ZW50LT5maWxlbmFtZSgpKSk7Ci0gICAgICAgIGFyZ3MuYXBwZW5kKGpzTnVtYmVyKGVycm9yRXZl
bnQtPmxpbmVubygpKSk7Ci0KLSAgICAgICAgSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhID0gZ2xv
YmFsT2JqZWN0LT5nbG9iYWxEYXRhKCk7Ci0gICAgICAgIER5bmFtaWNHbG9iYWxPYmplY3RTY29w
ZSBnbG9iYWxPYmplY3RTY29wZShleGVjLCBnbG9iYWxEYXRhLmR5bmFtaWNHbG9iYWxPYmplY3Qg
PyBnbG9iYWxEYXRhLmR5bmFtaWNHbG9iYWxPYmplY3QgOiBnbG9iYWxPYmplY3QpOwotCi0gICAg
ICAgIEpTVmFsdWUgdGhpc1ZhbHVlID0gZ2xvYmFsT2JqZWN0LT50b1RoaXNPYmplY3QoZXhlYyk7
Ci0KLSAgICAgICAgZ2xvYmFsRGF0YS50aW1lb3V0Q2hlY2tlci5zdGFydCgpOwotICAgICAgICBK
U1ZhbHVlIHJldHVyblZhbHVlID0gSlNDOjpjYWxsKGV4ZWMsIGpzRnVuY3Rpb24sIGNhbGxUeXBl
LCBjYWxsRGF0YSwgdGhpc1ZhbHVlLCBhcmdzKTsKLSAgICAgICAgZ2xvYmFsRGF0YS50aW1lb3V0
Q2hlY2tlci5zdG9wKCk7Ci0KLSAgICAgICAgZ2xvYmFsT2JqZWN0LT5zZXRDdXJyZW50RXZlbnQo
c2F2ZWRFdmVudCk7Ci0KLSAgICAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQotICAgICAg
ICAgICAgcmVwb3J0Q3VycmVudEV4Y2VwdGlvbihleGVjKTsKLSAgICAgICAgZWxzZSB7Ci0gICAg
ICAgICAgICBib29sIHJldHZhbGJvb2w7Ci0gICAgICAgICAgICBpZiAocmV0dXJuVmFsdWUuZ2V0
Qm9vbGVhbihyZXR2YWxib29sKSAmJiAhcmV0dmFsYm9vbCkKLSAgICAgICAgICAgICAgICBldmVu
dC0+cHJldmVudERlZmF1bHQoKTsKLSAgICAgICAgfQotICAgIH0KLX0KLQotfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0Vycm9ySGFuZGxl
ci5oIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0Vycm9ySGFuZGxlci5oCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA5NTdmZDgxLi4wMDAwMDAwCi0tLSBhL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNFcnJvckhhbmRsZXIuaAorKysgL2Rldi9udWxsCkBAIC0xLDY0ICswLDAgQEAKLS8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAq
Ci0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSAqIG1ldDoKLSAqCi0gKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgotICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotICogaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotICogZGlz
dHJpYnV0aW9uLgotICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3Ig
dGhlIG5hbWVzIG9mIGl0cwotICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSAqIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwot
ICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKLSAqIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLSAqIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVm
IEpTRXJyb3JIYW5kbGVyX2gKLSNkZWZpbmUgSlNFcnJvckhhbmRsZXJfaAotCi0jaW5jbHVkZSAi
SlNFdmVudExpc3RlbmVyLmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgSlNFcnJv
ckhhbmRsZXIgOiBwdWJsaWMgSlNFdmVudExpc3RlbmVyIHsKLXB1YmxpYzoKLSAgICBzdGF0aWMg
UGFzc1JlZlB0cjxKU0Vycm9ySGFuZGxlcj4gY3JlYXRlKEpTQzo6SlNPYmplY3QqIGxpc3RlbmVy
LCBKU0M6OkpTT2JqZWN0KiB3cmFwcGVyLCBib29sIGlzQXR0cmlidXRlLCBET01XcmFwcGVyV29y
bGQqIGlzb2xhdGVkV29ybGQpCi0gICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEpT
RXJyb3JIYW5kbGVyKGxpc3RlbmVyLCB3cmFwcGVyLCBpc0F0dHJpYnV0ZSwgaXNvbGF0ZWRXb3Js
ZCkpOwotICAgIH0KLQotICAgIHZpcnR1YWwgfkpTRXJyb3JIYW5kbGVyKCk7Ci0KLXByaXZhdGU6
Ci0gICAgSlNFcnJvckhhbmRsZXIoSlNDOjpKU09iamVjdCogZnVuY3Rpb24sIEpTQzo6SlNPYmpl
Y3QqIHdyYXBwZXIsIGJvb2wgaXNBdHRyaWJ1dGUsIERPTVdyYXBwZXJXb3JsZCogaXNvbGF0ZWRX
b3JsZCk7Ci0gICAgdmlydHVhbCB2b2lkIGhhbmRsZUV2ZW50KFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqLCBFdmVudCopOwotfTsKLQotLy8gQ3JlYXRlcyBhIEpTIEV2ZW50TGlzdGVuZXIgZm9yICJv
bmVycm9yIiBldmVudCBoYW5kbGVyIGluIHdvcmtlciBjb250ZXh0LiBJdCBoYXMgY3VzdG9tIGlt
cGxlbWVudGF0aW9uIGJlY2F1c2UKLS8vIHVubGlrZSBvdGhlciBldmVudCBsaXN0ZW5lcnMgaXQg
YWNjZXB0cyB0aHJlZSBwYXJhbWV0ZXJzLgotaW5saW5lIFBhc3NSZWZQdHI8SlNFcnJvckhhbmRs
ZXI+IGNyZWF0ZUpTRXJyb3JIYW5kbGVyKEpTQzo6RXhlY1N0YXRlKiBleGVjLCBKU0M6OkpTVmFs
dWUgbGlzdGVuZXIsIEpTQzo6SlNPYmplY3QqIHdyYXBwZXIpCi17Ci0gICAgaWYgKCFsaXN0ZW5l
ci5pc09iamVjdCgpKQotICAgICAgICByZXR1cm4gMDsKLQotICAgIHJldHVybiBKU0Vycm9ySGFu
ZGxlcjo6Y3JlYXRlKGFzT2JqZWN0KGxpc3RlbmVyKSwgd3JhcHBlciwgdHJ1ZSwgY3VycmVudFdv
cmxkKGV4ZWMpKTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gSlNF
cnJvckhhbmRsZXJfaApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtlckNv
bnRleHRFcnJvckhhbmRsZXIuY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtlckNvbnRl
eHRFcnJvckhhbmRsZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY3
ZDJiMDIKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2VyQ29u
dGV4dEVycm9ySGFuZGxlci5jcHAKQEAgLTAsMCArMSwxMTYgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgor
ICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9m
IGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisKKyNpZiBFTkFCTEUoV09SS0VSUykKKworI2luY2x1ZGUgIkpTV29ya2VyQ29udGV4dEVycm9y
SGFuZGxlci5oIgorCisjaW5jbHVkZSAiRXJyb3JFdmVudC5oIgorI2luY2x1ZGUgIkV2ZW50Lmgi
CisjaW5jbHVkZSAiSlNFdmVudC5oIgorI2luY2x1ZGUgPHJ1bnRpbWUvSlNMb2NrLmg+CisKK3Vz
aW5nIG5hbWVzcGFjZSBKU0M7CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworSlNXb3JrZXJDb250
ZXh0RXJyb3JIYW5kbGVyOjpKU1dvcmtlckNvbnRleHRFcnJvckhhbmRsZXIoSlNPYmplY3QqIGZ1
bmN0aW9uLCBKU09iamVjdCogd3JhcHBlciwgYm9vbCBpc0F0dHJpYnV0ZSwgRE9NV3JhcHBlcldv
cmxkKiBpc29sYXRlZFdvcmxkKQorICAgIDogSlNFdmVudExpc3RlbmVyKGZ1bmN0aW9uLCB3cmFw
cGVyLCBpc0F0dHJpYnV0ZSwgaXNvbGF0ZWRXb3JsZCkKK3sKK30KKworSlNXb3JrZXJDb250ZXh0
RXJyb3JIYW5kbGVyOjp+SlNXb3JrZXJDb250ZXh0RXJyb3JIYW5kbGVyKCkKK3sKK30KKwordm9p
ZCBKU1dvcmtlckNvbnRleHRFcnJvckhhbmRsZXI6OmhhbmRsZUV2ZW50KFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIEV2ZW50KiBldmVudCkKK3sKKyAgICBB
U1NFUlQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCk7CisgICAgaWYgKCFzY3JpcHRFeGVjdXRpb25D
b250ZXh0KQorICAgICAgICByZXR1cm47CisKKyAgICBKU0xvY2sgbG9jayhTaWxlbmNlQXNzZXJ0
aW9uc09ubHkpOworCisgICAgSlNPYmplY3QqIGpzRnVuY3Rpb24gPSB0aGlzLT5qc0Z1bmN0aW9u
KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpOworICAgIGlmICghanNGdW5jdGlvbikKKyAgICAgICAg
cmV0dXJuOworCisgICAgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IHRvSlNET01H
bG9iYWxPYmplY3Qoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgaXNvbGF0ZWRXb3JsZCgpKTsKKyAg
ICBpZiAoIWdsb2JhbE9iamVjdCkKKyAgICAgICAgcmV0dXJuOworCisgICAgRXhlY1N0YXRlKiBl
eGVjID0gZ2xvYmFsT2JqZWN0LT5nbG9iYWxFeGVjKCk7CisKKyAgICBDYWxsRGF0YSBjYWxsRGF0
YTsKKyAgICBDYWxsVHlwZSBjYWxsVHlwZSA9IGpzRnVuY3Rpb24tPmdldENhbGxEYXRhKGNhbGxE
YXRhKTsKKworICAgIGlmIChjYWxsVHlwZSAhPSBDYWxsVHlwZU5vbmUpIHsKKworICAgICAgICBy
ZWYoKTsKKworICAgICAgICBFdmVudCogc2F2ZWRFdmVudCA9IGdsb2JhbE9iamVjdC0+Y3VycmVu
dEV2ZW50KCk7CisgICAgICAgIGdsb2JhbE9iamVjdC0+c2V0Q3VycmVudEV2ZW50KGV2ZW50KTsK
KworICAgICAgICBBU1NFUlQoZXZlbnQtPmlzRXJyb3JFdmVudCgpKTsKKyAgICAgICAgRXJyb3JF
dmVudCogZXJyb3JFdmVudCA9IHN0YXRpY19jYXN0PEVycm9yRXZlbnQqPihldmVudCk7CisKKyAg
ICAgICAgTWFya2VkQXJndW1lbnRCdWZmZXIgYXJnczsKKyAgICAgICAgYXJncy5hcHBlbmQoanNT
dHJpbmcoZXhlYywgZXJyb3JFdmVudC0+bWVzc2FnZSgpKSk7CisgICAgICAgIGFyZ3MuYXBwZW5k
KGpzU3RyaW5nKGV4ZWMsIGVycm9yRXZlbnQtPmZpbGVuYW1lKCkpKTsKKyAgICAgICAgYXJncy5h
cHBlbmQoanNOdW1iZXIoZXJyb3JFdmVudC0+bGluZW5vKCkpKTsKKworICAgICAgICBKU0dsb2Jh
bERhdGEmIGdsb2JhbERhdGEgPSBnbG9iYWxPYmplY3QtPmdsb2JhbERhdGEoKTsKKyAgICAgICAg
RHluYW1pY0dsb2JhbE9iamVjdFNjb3BlIGdsb2JhbE9iamVjdFNjb3BlKGV4ZWMsIGdsb2JhbERh
dGEuZHluYW1pY0dsb2JhbE9iamVjdCA/IGdsb2JhbERhdGEuZHluYW1pY0dsb2JhbE9iamVjdCA6
IGdsb2JhbE9iamVjdCk7CisKKyAgICAgICAgSlNWYWx1ZSB0aGlzVmFsdWUgPSBnbG9iYWxPYmpl
Y3QtPnRvVGhpc09iamVjdChleGVjKTsKKworICAgICAgICBnbG9iYWxEYXRhLnRpbWVvdXRDaGVj
a2VyLnN0YXJ0KCk7CisgICAgICAgIEpTVmFsdWUgcmV0dXJuVmFsdWUgPSBKU0M6OmNhbGwoZXhl
YywganNGdW5jdGlvbiwgY2FsbFR5cGUsIGNhbGxEYXRhLCB0aGlzVmFsdWUsIGFyZ3MpOworICAg
ICAgICBnbG9iYWxEYXRhLnRpbWVvdXRDaGVja2VyLnN0b3AoKTsKKworICAgICAgICBnbG9iYWxP
YmplY3QtPnNldEN1cnJlbnRFdmVudChzYXZlZEV2ZW50KTsKKworICAgICAgICBpZiAoZXhlYy0+
aGFkRXhjZXB0aW9uKCkpCisgICAgICAgICAgICByZXBvcnRDdXJyZW50RXhjZXB0aW9uKGV4ZWMp
OworICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIGJvb2wgcmV0dmFsYm9vbDsKKyAgICAgICAg
ICAgIGlmIChyZXR1cm5WYWx1ZS5nZXRCb29sZWFuKHJldHZhbGJvb2wpICYmICFyZXR2YWxib29s
KQorICAgICAgICAgICAgICAgIGV2ZW50LT5wcmV2ZW50RGVmYXVsdCgpOworICAgICAgICB9CisK
KyAgICAgICAgZGVyZWYoKTsKKyAgICB9Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwor
I2VuZGlmIC8vIEVOQUJMRShXT1JLRVJTKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU1dvcmtlckNvbnRleHRFcnJvckhhbmRsZXIuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNX
b3JrZXJDb250ZXh0RXJyb3JIYW5kbGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uYTE4ODI5OQotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNX
b3JrZXJDb250ZXh0RXJyb3JIYW5kbGVyLmgKQEAgLTAsMCArMSw2NCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRp
b24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFt
ZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisg
KiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgSlNXb3Jr
ZXJDb250ZXh0RXJyb3JIYW5kbGVyX2gKKyNkZWZpbmUgSlNXb3JrZXJDb250ZXh0RXJyb3JIYW5k
bGVyX2gKKworI2luY2x1ZGUgIkpTRXZlbnRMaXN0ZW5lci5oIgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK2NsYXNzIEpTV29ya2VyQ29udGV4dEVycm9ySGFuZGxlciA6IHB1YmxpYyBKU0V2ZW50
TGlzdGVuZXIgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPEpTV29ya2VyQ29udGV4
dEVycm9ySGFuZGxlcj4gY3JlYXRlKEpTQzo6SlNPYmplY3QqIGxpc3RlbmVyLCBKU0M6OkpTT2Jq
ZWN0KiB3cmFwcGVyLCBib29sIGlzQXR0cmlidXRlLCBET01XcmFwcGVyV29ybGQqIGlzb2xhdGVk
V29ybGQpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEpTV29ya2VyQ29udGV4
dEVycm9ySGFuZGxlcihsaXN0ZW5lciwgd3JhcHBlciwgaXNBdHRyaWJ1dGUsIGlzb2xhdGVkV29y
bGQpKTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIH5KU1dvcmtlckNvbnRleHRFcnJvckhhbmRsZXIo
KTsKKworcHJpdmF0ZToKKyAgICBKU1dvcmtlckNvbnRleHRFcnJvckhhbmRsZXIoSlNDOjpKU09i
amVjdCogZnVuY3Rpb24sIEpTQzo6SlNPYmplY3QqIHdyYXBwZXIsIGJvb2wgaXNBdHRyaWJ1dGUs
IERPTVdyYXBwZXJXb3JsZCogaXNvbGF0ZWRXb3JsZCk7CisgICAgdmlydHVhbCB2b2lkIGhhbmRs
ZUV2ZW50KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBFdmVudCopOworfTsKKworLy8gQ3JlYXRl
cyBhIEpTIEV2ZW50TGlzdGVuZXIgZm9yICJvbmVycm9yIiBldmVudCBoYW5kbGVyIGluIHdvcmtl
ciBjb250ZXh0LiBJdCBoYXMgY3VzdG9tIGltcGxlbWVudGF0aW9uIGJlY2F1c2UKKy8vIHVubGlr
ZSBvdGhlciBldmVudCBsaXN0ZW5lcnMgaXQgYWNjZXB0cyB0aHJlZSBwYXJhbWV0ZXJzLgoraW5s
aW5lIFBhc3NSZWZQdHI8SlNXb3JrZXJDb250ZXh0RXJyb3JIYW5kbGVyPiBjcmVhdGVKU1dvcmtl
ckNvbnRleHRFcnJvckhhbmRsZXIoSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpTQzo6SlNWYWx1ZSBs
aXN0ZW5lciwgSlNDOjpKU09iamVjdCogd3JhcHBlcikKK3sKKyAgICBpZiAoIWxpc3RlbmVyLmlz
T2JqZWN0KCkpCisgICAgICAgIHJldHVybiAwOworCisgICAgcmV0dXJuIEpTV29ya2VyQ29udGV4
dEVycm9ySGFuZGxlcjo6Y3JlYXRlKGFzT2JqZWN0KGxpc3RlbmVyKSwgd3JhcHBlciwgdHJ1ZSwg
Y3VycmVudFdvcmxkKGV4ZWMpKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5k
aWYgLy8gSlNXb3JrZXJDb250ZXh0RXJyb3JIYW5kbGVyX2gKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0gYi9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCmluZGV4IDUyYTYyOTEuLjEzMjUxOGYgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KKysrIGIvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQpAQCAtMTcwOSw5ICsxNzA5
LDkgQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgSlNET01HbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCA9IGNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpO1xuIik7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxD
b250ZW50LCAiICAgICRpbXBsQ2xhc3NOYW1lKiBpbXAgPSBzdGF0aWNfY2FzdDwkaW1wbENsYXNz
TmFtZSo+KHN0YXRpY19jYXN0PCRjbGFzc05hbWUqPih0aGlzT2JqZWN0KS0+aW1wbCgpKTtcbiIp
OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgoKCRpbnRlcmZhY2VOYW1lIGVxICJE
T01XaW5kb3ciKSBvciAoJGludGVyZmFjZU5hbWUgZXEgIldvcmtlckNvbnRleHQiKSkgYW5kICRu
YW1lIGVxICJvbmVycm9yIikgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW1w
bEluY2x1ZGVzeyJKU0Vycm9ySGFuZGxlci5oIn0gPSAxOwotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBpbXAtPnNldCRpbXBsU2V0dGVyRnVu
Y3Rpb25OYW1lKGNyZWF0ZUpTRXJyb3JIYW5kbGVyKGV4ZWMsIHZhbHVlLCB0aGlzT2JqZWN0KSk7
XG4iKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJGludGVyZmFjZU5hbWUgZXEg
IldvcmtlckNvbnRleHQiIGFuZCAkbmFtZSBlcSAib25lcnJvciIpIHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJGltcGxJbmNsdWRlc3siSlNXb3JrZXJDb250ZXh0RXJyb3JIYW5k
bGVyLmgifSA9IDE7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxD
b250ZW50LCAiICAgIGltcC0+c2V0JGltcGxTZXR0ZXJGdW5jdGlvbk5hbWUoY3JlYXRlSlNXb3Jr
ZXJDb250ZXh0RXJyb3JIYW5kbGVyKGV4ZWMsIHZhbHVlLCB0aGlzT2JqZWN0KSk7XG4iKTsKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgR2VuZXJhdGVBdHRyaWJ1dGVFdmVudExpc3Rl
bmVyQ2FsbCgkY2xhc3NOYW1lLCAkaW1wbFNldHRlckZ1bmN0aW9uTmFtZSwgJHdpbmRvd0V2ZW50
TGlzdGVuZXIpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtIGIvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQppbmRleCA5MDkzNzU3Li5kMzM5ZDZhIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCisr
KyBiL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KQEAgLTEwMDEs
MTAgKzEwMDEsNiBAQCBFTkQKICAgICAgICAgICAgICAgICAkaW1wbEluY2x1ZGVzeyJWOEV2ZW50
TGlzdGVuZXJMaXN0LmgifSA9IDE7CiAgICAgICAgICAgICAgICAgJGltcGxJbmNsdWRlc3siVjhX
b3JrZXJDb250ZXh0RXJyb3JIYW5kbGVyLmgifSA9IDE7CiAgICAgICAgICAgICAgICAgcHVzaChA
aW1wbENvbnRlbnREZWNscywgIiAgICBpbXAtPnNldCRpbXBsU2V0dGVyRnVuY3Rpb25OYW1lKFY4
RXZlbnRMaXN0ZW5lckxpc3Q6OmZpbmRPckNyZWF0ZVdyYXBwZXI8VjhXb3JrZXJDb250ZXh0RXJy
b3JIYW5kbGVyPih2YWx1ZSwgdHJ1ZSkiKTsKLSAgICAgICAgICAgIH0gZWxzaWYgKCRpbnRlcmZh
Y2VOYW1lIGVxICJET01XaW5kb3ciIGFuZCAkYXR0cmlidXRlLT5zaWduYXR1cmUtPm5hbWUgZXEg
Im9uZXJyb3IiKSB7Ci0gICAgICAgICAgICAgICAgJGltcGxJbmNsdWRlc3siVjhFdmVudExpc3Rl
bmVyTGlzdC5oIn0gPSAxOwotICAgICAgICAgICAgICAgICRpbXBsSW5jbHVkZXN7IlY4V2luZG93
RXJyb3JIYW5kbGVyLmgifSA9IDE7Ci0gICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnRE
ZWNscywgIiAgICBpbXAtPnNldCRpbXBsU2V0dGVyRnVuY3Rpb25OYW1lKFY4RXZlbnRMaXN0ZW5l
ckxpc3Q6OmZpbmRPckNyZWF0ZVdyYXBwZXI8VjhXaW5kb3dFcnJvckhhbmRsZXI+KHZhbHVlLCB0
cnVlKSIpOwogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBwdXNoKEBpbXBs
Q29udGVudERlY2xzLCAiICAgIGltcC0+c2V0JGltcGxTZXR0ZXJGdW5jdGlvbk5hbWUoVjhET01X
cmFwcGVyOjpnZXRFdmVudExpc3RlbmVyKHZhbHVlLCB0cnVlLCBMaXN0ZW5lckZpbmRPckNyZWF0
ZSkiKTsKICAgICAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhD
b25zb2xlTWVzc2FnZS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4Q29uc29sZU1lc3NhZ2Uu
Y3BwCmluZGV4IGQ5MjgyMmMuLmU2ODcxZmQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3Mv
djgvVjhDb25zb2xlTWVzc2FnZS5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9WOENvbnNv
bGVNZXNzYWdlLmNwcApAQCAtNTQsMTQgKzU0LDcgQEAgVjhDb25zb2xlTWVzc2FnZTo6VjhDb25z
b2xlTWVzc2FnZShjb25zdCBTdHJpbmcmIHN0cmluZywgY29uc3QgU3RyaW5nJiBzb3VyY2VJRCwK
IAogdm9pZCBWOENvbnNvbGVNZXNzYWdlOjpkaXNwYXRjaE5vdyhQYWdlKiBwYWdlKQogewotICAg
IEFTU0VSVChwYWdlKTsKLQotICAgIC8vIFByb2Nlc3MgYW55IGRlbGF5ZWQgbWVzc2FnZXMgdG8g
bWFrZSBzdXJlIHRoYXQgbWVzc2FnZXMKLSAgICAvLyBhcHBlYXIgaW4gdGhlIHJpZ2h0IG9yZGVy
IGluIHRoZSBjb25zb2xlLgotICAgIHByb2Nlc3NEZWxheWVkKCk7Ci0KLSAgICBDb25zb2xlKiBj
b25zb2xlID0gcGFnZS0+bWFpbkZyYW1lKCktPmRvbVdpbmRvdygpLT5jb25zb2xlKCk7Ci0gICAg
Y29uc29sZS0+YWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJv
ck1lc3NhZ2VMZXZlbCwgbV9zdHJpbmcsIG1fbGluZU51bWJlciwgbV9zb3VyY2VJRCk7CisgICAg
ZGlzcGF0Y2hOb3cocGFnZSwgMCk7CiB9CiAKIHZvaWQgVjhDb25zb2xlTWVzc2FnZTo6ZGlzcGF0
Y2hMYXRlcigpCkBAIC0xMTIsOCArMTA1LDggQEAgdm9pZCBWOENvbnNvbGVNZXNzYWdlOjpoYW5k
bGVyKHY4OjpIYW5kbGU8djg6Ok1lc3NhZ2U+IG1lc3NhZ2UsIHY4OjpIYW5kbGU8djg6OlYKICAg
ICBGcmFtZSogZnJhbWUgPSBWOFByb3h5OjpyZXRyaWV2ZUZyYW1lRm9yRW50ZXJlZENvbnRleHQo
KTsKICAgICBpZiAoIWZyYW1lKQogICAgICAgICByZXR1cm47Ci0gICAgRG9jdW1lbnQqIGRvY3Vt
ZW50ID0gZnJhbWUtPmRvY3VtZW50KCk7Ci0gICAgaWYgKCFkb2N1bWVudCkKKyAgICBQYWdlKiBw
YWdlID0gZnJhbWUtPnBhZ2UoKTsKKyAgICBpZiAoIXBhZ2UpCiAgICAgICAgIHJldHVybjsKIAog
ICAgIHY4OjpIYW5kbGU8djg6OlN0cmluZz4gZXJyb3JNZXNzYWdlU3RyaW5nID0gbWVzc2FnZS0+
R2V0KCk7CkBAIC0xMjksNyArMTIyLDIxIEBAIHZvaWQgVjhDb25zb2xlTWVzc2FnZTo6aGFuZGxl
cih2ODo6SGFuZGxlPHY4OjpNZXNzYWdlPiBtZXNzYWdlLCB2ODo6SGFuZGxlPHY4OjpWCiAgICAg
djg6OkhhbmRsZTx2ODo6VmFsdWU+IHJlc291cmNlTmFtZSA9IG1lc3NhZ2UtPkdldFNjcmlwdFJl
c291cmNlTmFtZSgpOwogICAgIGJvb2wgdXNlVVJMID0gcmVzb3VyY2VOYW1lLklzRW1wdHkoKSB8
fCAhcmVzb3VyY2VOYW1lLT5Jc1N0cmluZygpOwogICAgIFN0cmluZyByZXNvdXJjZU5hbWVTdHJp
bmcgPSB1c2VVUkwgPyBmcmFtZS0+ZG9jdW1lbnQoKS0+dXJsKCkgOiB0b1dlYkNvcmVTdHJpbmco
cmVzb3VyY2VOYW1lKTsKLSAgICBkb2N1bWVudC0+cmVwb3J0RXhjZXB0aW9uKGVycm9yTWVzc2Fn
ZSwgbWVzc2FnZS0+R2V0TGluZU51bWJlcigpLCByZXNvdXJjZU5hbWVTdHJpbmcsIGNhbGxTdGFj
ayk7CisgICAgVjhDb25zb2xlTWVzc2FnZSBjb25zb2xlTWVzc2FnZShlcnJvck1lc3NhZ2UsIHJl
c291cmNlTmFtZVN0cmluZywgbWVzc2FnZS0+R2V0TGluZU51bWJlcigpKTsKKyAgICBjb25zb2xl
TWVzc2FnZS5kaXNwYXRjaE5vdyhwYWdlLCBjYWxsU3RhY2spOworfQorCit2b2lkIFY4Q29uc29s
ZU1lc3NhZ2U6OmRpc3BhdGNoTm93KFBhZ2UqIHBhZ2UsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0
YWNrPiBjYWxsU3RhY2spCit7CisgICAgQVNTRVJUKHBhZ2UpOworCisgICAgLy8gUHJvY2VzcyBh
bnkgZGVsYXllZCBtZXNzYWdlcyB0byBtYWtlIHN1cmUgdGhhdCBtZXNzYWdlcworICAgIC8vIGFw
cGVhciBpbiB0aGUgcmlnaHQgb3JkZXIgaW4gdGhlIGNvbnNvbGUuCisgICAgcHJvY2Vzc0RlbGF5
ZWQoKTsKKworICAgIENvbnNvbGUqIGNvbnNvbGUgPSBwYWdlLT5tYWluRnJhbWUoKS0+ZG9tV2lu
ZG93KCktPmNvbnNvbGUoKTsKKyAgICBNZXNzYWdlVHlwZSBtZXNzYWdlVHlwZSA9IGNhbGxTdGFj
ayA/IFVuY2F1Z2h0RXhjZXB0aW9uTWVzc2FnZVR5cGUgOiBMb2dNZXNzYWdlVHlwZTsKKyAgICBj
b25zb2xlLT5hZGRNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgbWVzc2FnZVR5cGUsIEVycm9yTWVz
c2FnZUxldmVsLCBtX3N0cmluZywgbV9saW5lTnVtYmVyLCBtX3NvdXJjZUlELCBjYWxsU3RhY2sp
OwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L1Y4Q29uc29sZU1lc3NhZ2UuaCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhDb25zb2xl
TWVzc2FnZS5oCmluZGV4IDYxODNmYzYuLjk3ZGUyNGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvVjhDb25zb2xlTWVzc2FnZS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhD
b25zb2xlTWVzc2FnZS5oCkBAIC04Miw2ICs4Miw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICAgICAgY29uc3QgU3RyaW5nIG1fc291cmNlSUQ7CiAgICAgICAgIGNvbnN0IHVuc2lnbmVkIG1f
bGluZU51bWJlcjsKIAorICAgICAgICB2b2lkIGRpc3BhdGNoTm93KFBhZ2UqLCBQYXNzUmVmUHRy
PFNjcmlwdENhbGxTdGFjaz4pOworCiAgICAgICAgIC8vIEFsbCBkZWxheWVkIG1lc3NhZ2VzIGFy
ZSBzdG9yZWQgaW4gdGhpcyB2ZWN0b3IuIElmIHRoZSB2ZWN0b3IKICAgICAgICAgLy8gaXMgMCwg
dGhlcmUgYXJlIG5vIGRlbGF5ZWQgbWVzc2FnZXMuCiAgICAgICAgIHN0YXRpYyBWZWN0b3I8VjhD
b25zb2xlTWVzc2FnZT4qIG1fZGVsYXllZE1lc3NhZ2VzOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9i
aW5kaW5ncy92OC9WOFdpbmRvd0Vycm9ySGFuZGxlci5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4
L1Y4V2luZG93RXJyb3JIYW5kbGVyLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXgg
YTc0YmFkNC4uMDAwMDAwMAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4V2luZG93RXJyb3JI
YW5kbGVyLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDYyICswLDAgQEAKLS8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSAqIG1ldDoKLSAqCi0gKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICog
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgotICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZQotICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotICogaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotICogZGlzdHJpYnV0aW9u
LgotICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVz
IG9mIGl0cwotICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAotICog
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
LSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmln
LmgiCi0KLSNpbmNsdWRlICJWOFdpbmRvd0Vycm9ySGFuZGxlci5oIgotCi0jaW5jbHVkZSAiRXJy
b3JFdmVudC5oIgotI2luY2x1ZGUgIlY4QmluZGluZy5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7
Ci0KLVY4V2luZG93RXJyb3JIYW5kbGVyOjpWOFdpbmRvd0Vycm9ySGFuZGxlcih2ODo6TG9jYWw8
djg6Ok9iamVjdD4gbGlzdGVuZXIsIGJvb2wgaXNJbmxpbmUsIGNvbnN0IFdvcmxkQ29udGV4dEhh
bmRsZSYgd29ybGRDb250ZXh0KQotICAgIDogVjhFdmVudExpc3RlbmVyKGxpc3RlbmVyLCBpc0lu
bGluZSwgd29ybGRDb250ZXh0KQotewotfQotCi12ODo6TG9jYWw8djg6OlZhbHVlPiBWOFdpbmRv
d0Vycm9ySGFuZGxlcjo6Y2FsbExpc3RlbmVyRnVuY3Rpb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCogY29udGV4dCwgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGpzRXZlbnQsIEV2ZW50KiBldmVudCkK
LXsKLSAgICBBU1NFUlQoZXZlbnQtPmlzRXJyb3JFdmVudCgpKTsKLSAgICBFcnJvckV2ZW50KiBl
cnJvckV2ZW50ID0gc3RhdGljX2Nhc3Q8RXJyb3JFdmVudCo+KGV2ZW50KTsKLSAgICB2ODo6TG9j
YWw8djg6Ok9iamVjdD4gbGlzdGVuZXIgPSBnZXRMaXN0ZW5lck9iamVjdChjb250ZXh0KTsKLSAg
ICB2ODo6TG9jYWw8djg6OlZhbHVlPiByZXR1cm5WYWx1ZTsKLSAgICBpZiAoIWxpc3RlbmVyLklz
RW1wdHkoKSAmJiBsaXN0ZW5lci0+SXNGdW5jdGlvbigpKSB7Ci0gICAgICAgIHY4OjpMb2NhbDx2
ODo6RnVuY3Rpb24+IGNhbGxGdW5jdGlvbiA9IHY4OjpMb2NhbDx2ODo6RnVuY3Rpb24+OjpDYXN0
KGxpc3RlbmVyKTsKLSAgICAgICAgdjg6OkxvY2FsPHY4OjpPYmplY3Q+IHRoaXNWYWx1ZSA9IHY4
OjpDb250ZXh0OjpHZXRDdXJyZW50KCktPkdsb2JhbCgpOwotICAgICAgICB2ODo6SGFuZGxlPHY4
OjpWYWx1ZT4gcGFyYW1ldGVyc1szXSA9IHsgdjhTdHJpbmcoZXJyb3JFdmVudC0+bWVzc2FnZSgp
KSwgdjhTdHJpbmcoZXJyb3JFdmVudC0+ZmlsZW5hbWUoKSksIHY4OjpJbnRlZ2VyOjpOZXcoZXJy
b3JFdmVudC0+bGluZW5vKCkpIH07Ci0gICAgICAgIHJldHVyblZhbHVlID0gY2FsbEZ1bmN0aW9u
LT5DYWxsKHRoaXNWYWx1ZSwgMywgcGFyYW1ldGVycyk7Ci0gICAgICAgIGlmICghcmV0dXJuVmFs
dWUuSXNFbXB0eSgpICYmIHJldHVyblZhbHVlLT5Jc0Jvb2xlYW4oKSAmJiAhcmV0dXJuVmFsdWUt
PkJvb2xlYW5WYWx1ZSgpKQotICAgICAgICAgICAgZXZlbnQtPnByZXZlbnREZWZhdWx0KCk7Ci0g
ICAgfQotICAgIHJldHVybiByZXR1cm5WYWx1ZTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFdpbmRvd0Vycm9ySGFuZGxlci5o
IGIvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFdpbmRvd0Vycm9ySGFuZGxlci5oCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDc1NQppbmRleCAxNjdjYTBkLi4wMDAwMDAwCi0tLSBhL1dlYkNvcmUvYmluZGlu
Z3MvdjgvVjhXaW5kb3dFcnJvckhhbmRsZXIuaAorKysgL2Rldi9udWxsCkBAIC0xLDU1ICswLDAg
QEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSAqIG1ldDoKLSAqCi0g
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICogY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotICogaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZQotICogZGlzdHJpYnV0aW9uLgotICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUg
SW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSAqIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKLSAq
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwot
Ci0jaWZuZGVmIFY4V2luZG93RXJyb3JIYW5kbGVyX2gKLSNkZWZpbmUgVjhXaW5kb3dFcnJvckhh
bmRsZXJfaAotCi0jaW5jbHVkZSAiVjhDdXN0b21FdmVudExpc3RlbmVyLmgiCi0jaW5jbHVkZSA8
djguaD4KLSNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7
Ci0KLWNsYXNzIFY4V2luZG93RXJyb3JIYW5kbGVyIDogcHVibGljIFY4RXZlbnRMaXN0ZW5lciB7
Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8VjhXaW5kb3dFcnJvckhhbmRsZXI+IGNy
ZWF0ZSh2ODo6TG9jYWw8djg6Ok9iamVjdD4gbGlzdGVuZXIsIGJvb2wgaXNJbmxpbmUsIGNvbnN0
IFdvcmxkQ29udGV4dEhhbmRsZSYgd29ybGRDb250ZXh0KQotICAgIHsKLSAgICAgICAgcmV0dXJu
IGFkb3B0UmVmKG5ldyBWOFdpbmRvd0Vycm9ySGFuZGxlcihsaXN0ZW5lciwgaXNJbmxpbmUsIHdv
cmxkQ29udGV4dCkpOwotICAgIH0KLQotcHJpdmF0ZToKLSAgICBWOFdpbmRvd0Vycm9ySGFuZGxl
cih2ODo6TG9jYWw8djg6Ok9iamVjdD4gbGlzdGVuZXIsIGJvb2wgaXNJbmxpbmUsIGNvbnN0IFdv
cmxkQ29udGV4dEhhbmRsZSYgd29ybGRDb250ZXh0KTsKLQotICAgIHZpcnR1YWwgdjg6OkxvY2Fs
PHY4OjpWYWx1ZT4gY2FsbExpc3RlbmVyRnVuY3Rpb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCos
IHY4OjpIYW5kbGU8djg6OlZhbHVlPiBqc0V2ZW50LCBFdmVudCopOwotfTsKLQotfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gVjhXaW5kb3dFcnJvckhhbmRsZXJfaApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9Xb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHkuY3Bw
IGIvV2ViQ29yZS9iaW5kaW5ncy92OC9Xb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHkuY3BwCmlu
ZGV4IGViMjU4MTQuLmNlZmIyZmEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvV29y
a2VyQ29udGV4dEV4ZWN1dGlvblByb3h5LmNwcAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1dv
cmtlckNvbnRleHRFeGVjdXRpb25Qcm94eS5jcHAKQEAgLTM3LDcgKzM3LDYgQEAKIAogI2luY2x1
ZGUgIkRlZGljYXRlZFdvcmtlckNvbnRleHQuaCIKICNpbmNsdWRlICJFdmVudC5oIgotI2luY2x1
ZGUgIlNjcmlwdENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlNoYXJlZFdvcmtlci5oIgogI2luY2x1
ZGUgIlNoYXJlZFdvcmtlckNvbnRleHQuaCIKICNpbmNsdWRlICJWOEJpbmRpbmcuaCIKQEAgLTcz
LDcgKzcyLDcgQEAgc3RhdGljIHZvaWQgdjhNZXNzYWdlSGFuZGxlcih2ODo6SGFuZGxlPHY4OjpN
ZXNzYWdlPiBtZXNzYWdlLCB2ODo6SGFuZGxlPHY4OjpWYWwKICAgICAgICAgU3RyaW5nIGVycm9y
TWVzc2FnZSA9IHRvV2ViQ29yZVN0cmluZyhtZXNzYWdlLT5HZXQoKSk7CiAgICAgICAgIGludCBs
aW5lTnVtYmVyID0gbWVzc2FnZS0+R2V0TGluZU51bWJlcigpOwogICAgICAgICBTdHJpbmcgc291
cmNlVVJMID0gdG9XZWJDb3JlU3RyaW5nKG1lc3NhZ2UtPkdldFNjcmlwdFJlc291cmNlTmFtZSgp
KTsKLSAgICAgICAgY29udGV4dC0+cmVwb3J0RXhjZXB0aW9uKGVycm9yTWVzc2FnZSwgbGluZU51
bWJlciwgc291cmNlVVJMLCAwKTsKKyAgICAgICAgY29udGV4dC0+cmVwb3J0RXhjZXB0aW9uKGVy
cm9yTWVzc2FnZSwgbGluZU51bWJlciwgc291cmNlVVJMKTsKICAgICB9CiAKICAgICBpc1JlcG9y
dGluZ0V4Y2VwdGlvbiA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9X
b3JrZXJTY3JpcHRDb250cm9sbGVyLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvV29ya2VyU2Ny
aXB0Q29udHJvbGxlci5jcHAKaW5kZXggNDJlMDJlNi4uYjU2ZDM4MyAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9iaW5kaW5ncy92OC9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmNwcAorKysgYi9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1dvcmtlclNjcmlwdENvbnRyb2xsZXIuY3BwCkBAIC0zNCwxMCArMzQsMTEg
QEAKIAogI2luY2x1ZGUgIldvcmtlclNjcmlwdENvbnRyb2xsZXIuaCIKIAotI2luY2x1ZGUgIkRP
TVRpbWVyLmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCisjaW5jbHVkZSA8djguaD4K
KwogI2luY2x1ZGUgIlNjcmlwdFNvdXJjZUNvZGUuaCIKICNpbmNsdWRlICJTY3JpcHRWYWx1ZS5o
IgorI2luY2x1ZGUgIkRPTVRpbWVyLmgiCiAjaW5jbHVkZSAiVjhET01NYXAuaCIKICNpbmNsdWRl
ICJWOFByb3h5LmgiCiAjaW5jbHVkZSAiVjhXb3JrZXJDb250ZXh0LmgiCkBAIC00NSw3ICs0Niw2
IEBACiAjaW5jbHVkZSAiV29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5LmgiCiAjaW5jbHVkZSAi
V29ya2VyT2JqZWN0UHJveHkuaCIKICNpbmNsdWRlICJXb3JrZXJUaHJlYWQuaCIKLSNpbmNsdWRl
IDx2OC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTgwLDcgKzgwLDcgQEAgU2NyaXB0
VmFsdWUgV29ya2VyU2NyaXB0Q29udHJvbGxlcjo6ZXZhbHVhdGUoY29uc3QgU2NyaXB0U291cmNl
Q29kZSYgc291cmNlQ29kZSwKICAgICAgICAgaWYgKGV4Y2VwdGlvbikKICAgICAgICAgICAgICpl
eGNlcHRpb24gPSBzdGF0ZS5leGNlcHRpb247CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIG1f
d29ya2VyQ29udGV4dC0+cmVwb3J0RXhjZXB0aW9uKHN0YXRlLmVycm9yTWVzc2FnZSwgc3RhdGUu
bGluZU51bWJlciwgc3RhdGUuc291cmNlVVJMLCAwKTsKKyAgICAgICAgICAgIG1fd29ya2VyQ29u
dGV4dC0+cmVwb3J0RXhjZXB0aW9uKHN0YXRlLmVycm9yTWVzc2FnZSwgc3RhdGUubGluZU51bWJl
ciwgc3RhdGUuc291cmNlVVJMKTsKICAgICB9CiAKICAgICByZXR1cm4gcmVzdWx0OwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
CmluZGV4IDc0M2UyODcuLjc3NWEyYWQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcAorKysgYi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTExOCw3ICsxMTgsNiBAQAog
I2luY2x1ZGUgIlJlbmRlclRleHRDb250cm9sLmgiCiAjaW5jbHVkZSAiUmVuZGVyVmlldy5oIgog
I2luY2x1ZGUgIlJlbmRlcldpZGdldC5oIgotI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgog
I2luY2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJTY3JpcHRFbGVtZW50Lmgi
CiAjaW5jbHVkZSAiU2NyaXB0RXZlbnRMaXN0ZW5lci5oIgpAQCAtMjI3MiwxNyArMjI3MSw2IEBA
IEtVUkwgRG9jdW1lbnQ6OnZpcnR1YWxDb21wbGV0ZVVSTChjb25zdCBTdHJpbmcmIHVybCkgY29u
c3QKICAgICByZXR1cm4gY29tcGxldGVVUkwodXJsKTsKIH0KIAotRXZlbnRUYXJnZXQqIERvY3Vt
ZW50OjplcnJvckV2ZW50VGFyZ2V0KCkKLXsKLSAgICByZXR1cm4gZG9tV2luZG93KCk7Ci19Ci0K
LXZvaWQgRG9jdW1lbnQ6OmxvZ0V4Y2VwdGlvblRvQ29uc29sZShjb25zdCBTdHJpbmcmIGVycm9y
TWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCBQYXNzUmVm
UHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrKQotewotICAgIE1lc3NhZ2VUeXBlIG1lc3Nh
Z2VUeXBlID0gY2FsbFN0YWNrID8gVW5jYXVnaHRFeGNlcHRpb25NZXNzYWdlVHlwZSA6IExvZ01l
c3NhZ2VUeXBlOwotICAgIGFkZE1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBtZXNzYWdlVHlwZSwg
RXJyb3JNZXNzYWdlTGV2ZWwsIGVycm9yTWVzc2FnZSwgbGluZU51bWJlciwgc291cmNlVVJMLCBj
YWxsU3RhY2spOwotfQotCiB2b2lkIERvY3VtZW50OjpzZXRVUkwoY29uc3QgS1VSTCYgdXJsKQog
ewogICAgIGNvbnN0IEtVUkwmIG5ld1VSTCA9IHVybC5pc0VtcHR5KCkgPyBibGFua1VSTCgpIDog
dXJsOwpAQCAtNDY3MiwxMCArNDY2MCwxNSBAQCB2b2lkIERvY3VtZW50OjpwYXJzZUROU1ByZWZl
dGNoQ29udHJvbEhlYWRlcihjb25zdCBTdHJpbmcmIGRuc1ByZWZldGNoQ29udHJvbCkKICAgICBt
X2hhdmVFeHBsaWNpdGx5RGlzYWJsZWRETlNQcmVmZXRjaCA9IHRydWU7CiB9CiAKLXZvaWQgRG9j
dW1lbnQ6OmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUs
IE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5l
TnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3Rh
Y2s+IGNhbGxTdGFjaykKK3ZvaWQgRG9jdW1lbnQ6OnJlcG9ydEV4Y2VwdGlvbihjb25zdCBTdHJp
bmcmIGVycm9yTWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJM
KQoreworICAgIGFkZE1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJy
b3JNZXNzYWdlTGV2ZWwsIGVycm9yTWVzc2FnZSwgbGluZU51bWJlciwgc291cmNlVVJMKTsKK30K
Kwordm9pZCBEb2N1bWVudDo6YWRkTWVzc2FnZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2Fn
ZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVu
c2lnbmVkIGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKQogewogICAgIGlmIChE
T01XaW5kb3cqIHdpbmRvdyA9IGRvbVdpbmRvdygpKQotICAgICAgICB3aW5kb3ctPmNvbnNvbGUo
KS0+YWRkTWVzc2FnZShzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlLCBsaW5lTnVtYmVyLCBz
b3VyY2VVUkwsIGNhbGxTdGFjayk7CisgICAgICAgIHdpbmRvdy0+Y29uc29sZSgpLT5hZGRNZXNz
YWdlKHNvdXJjZSwgdHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIGxpbmVOdW1iZXIsIHNvdXJjZVVSTCk7
CiB9CiAKIHN0cnVjdCBQZXJmb3JtVGFza0NvbnRleHQgOiBOb25jb3B5YWJsZSB7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRl
eCAzYjg2Yjk3Li5mMWZlNDRjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisr
KyBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTkzMCw3ICs5MzAsOCBAQCBwdWJsaWM6CiAg
ICAgYm9vbCBpc0ROU1ByZWZldGNoRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNETlNQcmVm
ZXRjaEVuYWJsZWQ7IH0KICAgICB2b2lkIHBhcnNlRE5TUHJlZmV0Y2hDb250cm9sSGVhZGVyKGNv
bnN0IFN0cmluZyYpOwogCi0gICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJj
ZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNp
Z25lZCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgUGFzc1JlZlB0cjxTY3Jp
cHRDYWxsU3RhY2s+KTsKKyAgICB2aXJ0dWFsIHZvaWQgcmVwb3J0RXhjZXB0aW9uKGNvbnN0IFN0
cmluZyYgZXJyb3JNZXNzYWdlLCBpbnQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VV
UkwpOworICAgIHZpcnR1YWwgdm9pZCBhZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VU
eXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbGluZU51
bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpOwogICAgIHZpcnR1YWwgdm9pZCBwb3N0VGFz
ayhQYXNzT3duUHRyPFRhc2s+KTsgLy8gRXhlY3V0ZXMgdGhlIHRhc2sgb24gY29udGV4dCdzIHRo
cmVhZCBhc3luY2hyb25vdXNseS4KIAogI2lmIFVTRShKU0MpCkBAIC0xMTE1LDkgKzExMTYsNiBA
QCBwcml2YXRlOgogICAgIHZpcnR1YWwgY29uc3QgS1VSTCYgdmlydHVhbFVSTCgpIGNvbnN0OyAv
LyBTYW1lIGFzIHVybCgpLCBidXQgbmVlZGVkIGZvciBTY3JpcHRFeGVjdXRpb25Db250ZXh0IHRv
IGltcGxlbWVudCBpdCB3aXRob3V0IGEgcGVyZm9ybWFuY2UgbG9zcyBmb3IgZGlyZWN0IGNhbGxz
LgogICAgIHZpcnR1YWwgS1VSTCB2aXJ0dWFsQ29tcGxldGVVUkwoY29uc3QgU3RyaW5nJikgY29u
c3Q7IC8vIFNhbWUgYXMgY29tcGxldGVVUkwoKSBmb3IgdGhlIHNhbWUgcmVhc29uIGFzIGFib3Zl
LgogCi0gICAgdmlydHVhbCBFdmVudFRhcmdldCogZXJyb3JFdmVudFRhcmdldCgpOwotICAgIHZp
cnR1YWwgdm9pZCBsb2dFeGNlcHRpb25Ub0NvbnNvbGUoY29uc3QgU3RyaW5nJiBlcnJvck1lc3Nh
Z2UsIGludCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgUGFzc1JlZlB0cjxT
Y3JpcHRDYWxsU3RhY2s+KTsKLQogICAgIHZvaWQgaW5pdEROU1ByZWZldGNoKCk7CiAKICAgICBT
dHJpbmcgZW5jb2RpbmcoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0Vycm9yRXZl
bnQuY3BwIGIvV2ViQ29yZS9kb20vRXJyb3JFdmVudC5jcHAKaW5kZXggYzU5ODgzNi4uMjYyN2Qw
MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRXJyb3JFdmVudC5jcHAKKysrIGIvV2ViQ29yZS9k
b20vRXJyb3JFdmVudC5jcHAKQEAgLTMwLDYgKzMwLDggQEAKIAogI2luY2x1ZGUgImNvbmZpZy5o
IgogCisjaWYgRU5BQkxFKFdPUktFUlMpCisKICNpbmNsdWRlICJFcnJvckV2ZW50LmgiCiAKICNp
bmNsdWRlICJFdmVudE5hbWVzLmgiCkBAIC03MCwzICs3Miw1IEBAIGJvb2wgRXJyb3JFdmVudDo6
aXNFcnJvckV2ZW50KCkgY29uc3QKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5k
aWYgLy8gRU5BQkxFKFdPUktFUlMpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9FcnJvckV2ZW50
LmggYi9XZWJDb3JlL2RvbS9FcnJvckV2ZW50LmgKaW5kZXggNzE5Y2EyZC4uZjgxNTMwYSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9kb20vRXJyb3JFdmVudC5oCisrKyBiL1dlYkNvcmUvZG9tL0Vycm9y
RXZlbnQuaApAQCAtMzEsNiArMzEsOCBAQAogI2lmbmRlZiBFcnJvckV2ZW50X2gKICNkZWZpbmUg
RXJyb3JFdmVudF9oCiAKKyNpZiBFTkFCTEUoV09SS0VSUykKKwogI2luY2x1ZGUgIkV2ZW50Lmgi
CiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKIApAQCAtNjcsNCArNjksNiBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAorI2VuZGlmIC8vIEVOQUJM
RShXT1JLRVJTKQorCiAjZW5kaWYgLy8gRXJyb3JFdmVudF9oCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2RvbS9FdmVudC5jcHAgYi9XZWJDb3JlL2RvbS9FdmVudC5jcHAKaW5kZXggZmM2ZDI4Mi4uYTk0
OWZkNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRXZlbnQuY3BwCisrKyBiL1dlYkNvcmUvZG9t
L0V2ZW50LmNwcApAQCAtMjAzLDEwICsyMDMsMTIgQEAgYm9vbCBFdmVudDo6aXNJREJTdWNjZXNz
RXZlbnQoKSBjb25zdAogfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoV09SS0VSUykKIGJvb2wgRXZl
bnQ6OmlzRXJyb3JFdmVudCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGZhbHNlOwogfQorI2VuZGlm
CiAKICNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQogYm9vbCBFdmVudDo6aXNUb3VjaEV2ZW50KCkg
Y29uc3QKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0V2ZW50LmggYi9XZWJDb3JlL2RvbS9FdmVu
dC5oCmluZGV4IDlhZWYyMzMuLmYwNWQzNmMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0V2ZW50
LmgKKysrIGIvV2ViQ29yZS9kb20vRXZlbnQuaApAQCAtMTMyLDcgKzEzMiw5IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICNpZiBFTkFCTEUoV0VCX0FVRElPKQogICAgICAgICB2aXJ0dWFsIGJvb2wg
aXNBdWRpb1Byb2Nlc3NpbmdFdmVudCgpIGNvbnN0OwogI2VuZGlmCisjaWYgRU5BQkxFKFdPUktF
UlMpCiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc0Vycm9yRXZlbnQoKSBjb25zdDsKKyNlbmRpZgog
I2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc1RvdWNoRXZl
bnQoKSBjb25zdDsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0
aW9uQ29udGV4dC5jcHAgYi9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcApp
bmRleCBmNDk4YmUwLi5iZmRhMTdiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVj
dXRpb25Db250ZXh0LmNwcAorKysgYi9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0
LmNwcApAQCAtMzMsMTkgKzMzLDE0IEBACiAjaW5jbHVkZSAiRGF0YWJhc2UuaCIKICNpbmNsdWRl
ICJEYXRhYmFzZVRhc2suaCIKICNpbmNsdWRlICJEYXRhYmFzZVRocmVhZC5oIgotI2luY2x1ZGUg
IkVycm9yRXZlbnQuaCIKLSNpbmNsdWRlICJFdmVudExpc3RlbmVyLmgiCi0jaW5jbHVkZSAiRXZl
bnRUYXJnZXQuaCIKICNpbmNsdWRlICJGaWxlVGhyZWFkLmgiCiAjaW5jbHVkZSAiTWVzc2FnZVBv
cnQuaCIKLSNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJTZWN1cml0eU9y
aWdpbi5oIgogI2luY2x1ZGUgIlRocmVhZGFibGVCbG9iUmVnaXN0cnkuaCIKICNpbmNsdWRlICJX
b3JrZXJDb250ZXh0LmgiCiAjaW5jbHVkZSAiV29ya2VyVGhyZWFkLmgiCiAjaW5jbHVkZSA8d3Rm
L01haW5UaHJlYWQuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgotI2luY2x1ZGUgPHd0
Zi9WZWN0b3IuaD4KIAogI2lmIFVTRShKU0MpCiAjaW5jbHVkZSAiSlNET01XaW5kb3cuaCIKQEAg
LTY2LDI1ICs2MSw5IEBAIHB1YmxpYzoKICAgICB9CiB9OwogCi1jbGFzcyBTY3JpcHRFeGVjdXRp
b25Db250ZXh0OjpQZW5kaW5nRXhjZXB0aW9uIDogcHVibGljIE5vbmNvcHlhYmxlIHsKLXB1Ymxp
YzoKLSAgICBQZW5kaW5nRXhjZXB0aW9uKGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBpbnQg
bGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIFBhc3NSZWZQdHI8U2NyaXB0Q2Fs
bFN0YWNrPiBjYWxsU3RhY2spCi0gICAgICAgIDogbV9lcnJvck1lc3NhZ2UoZXJyb3JNZXNzYWdl
KQotICAgICAgICAsIG1fbGluZU51bWJlcihsaW5lTnVtYmVyKQotICAgICAgICAsIG1fc291cmNl
VVJMKHNvdXJjZVVSTCkKLSAgICAgICAgLCBtX2NhbGxTdGFjayhjYWxsU3RhY2spCi0gICAgewot
ICAgIH0KLSAgICBTdHJpbmcgbV9lcnJvck1lc3NhZ2U7Ci0gICAgaW50IG1fbGluZU51bWJlcjsK
LSAgICBTdHJpbmcgbV9zb3VyY2VVUkw7Ci0gICAgUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gbV9j
YWxsU3RhY2s7Ci19OwotCiBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpTY3JpcHRFeGVjdXRpb25D
b250ZXh0KCkKLSAgICA6IG1faW5EaXNwYXRjaEVycm9yRXZlbnQoZmFsc2UpCiAjaWYgRU5BQkxF
KERBVEFCQVNFKQotICAgICwgbV9oYXNPcGVuRGF0YWJhc2VzKGZhbHNlKQorICAgIDogbV9oYXNP
cGVuRGF0YWJhc2VzKGZhbHNlKQogI2VuZGlmCiB7CiB9CkBAIC0yNjQsNDMgKzI0Myw2IEBAIHZv
aWQgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6c2V0U2VjdXJpdHlPcmlnaW4oUGFzc1JlZlB0cjxT
ZWN1cml0eU9yaWdpbj4gc2VjdXJpCiAgICAgbV9zZWN1cml0eU9yaWdpbiA9IHNlY3VyaXR5T3Jp
Z2luOwogfQogCi12b2lkIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OnJlcG9ydEV4Y2VwdGlvbihj
b25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYg
c291cmNlVVJMLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrKQotewotICAg
IGlmIChtX2luRGlzcGF0Y2hFcnJvckV2ZW50KSB7Ci0gICAgICAgIGlmICghbV9wZW5kaW5nRXhj
ZXB0aW9ucykKLSAgICAgICAgICAgIG1fcGVuZGluZ0V4Y2VwdGlvbnMgPSBhZG9wdFB0cihuZXcg
VmVjdG9yPE93blB0cjxQZW5kaW5nRXhjZXB0aW9uPiA+KCkpOwotICAgICAgICBtX3BlbmRpbmdF
eGNlcHRpb25zLT5hcHBlbmQoYWRvcHRQdHIobmV3IFBlbmRpbmdFeGNlcHRpb24oZXJyb3JNZXNz
YWdlLCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwsIGNhbGxTdGFjaykpKTsKLSAgICAgICAgcmV0dXJu
OwotICAgIH0KLQotICAgIC8vIEZpcnN0IHJlcG9ydCB0aGUgb3JpZ2luYWwgZXhjZXB0aW9uIGFu
ZCBvbmx5IHRoZW4gYWxsIHRoZSBuZXN0ZWQgb25lcy4KLSAgICBpZiAoIWRpc3BhdGNoRXJyb3JF
dmVudChlcnJvck1lc3NhZ2UsIGxpbmVOdW1iZXIsIHNvdXJjZVVSTCkpCi0gICAgICAgIGxvZ0V4
Y2VwdGlvblRvQ29uc29sZShlcnJvck1lc3NhZ2UsIGxpbmVOdW1iZXIsIHNvdXJjZVVSTCwgY2Fs
bFN0YWNrKTsKLQotICAgIGlmICghbV9wZW5kaW5nRXhjZXB0aW9ucykKLSAgICAgICAgcmV0dXJu
OwotCi0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtX3BlbmRpbmdFeGNlcHRpb25zLT5zaXpl
KCk7IGkrKykgewotICAgICAgICBQZW5kaW5nRXhjZXB0aW9uKiBlID0gbV9wZW5kaW5nRXhjZXB0
aW9ucy0+YXQoaSkuZ2V0KCk7Ci0gICAgICAgIGxvZ0V4Y2VwdGlvblRvQ29uc29sZShlLT5tX2Vy
cm9yTWVzc2FnZSwgZS0+bV9saW5lTnVtYmVyLCBlLT5tX3NvdXJjZVVSTCwgZS0+bV9jYWxsU3Rh
Y2spOwotICAgIH0KLSAgICBtX3BlbmRpbmdFeGNlcHRpb25zLmNsZWFyKCk7Ci19Ci0KLWJvb2wg
U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6ZGlzcGF0Y2hFcnJvckV2ZW50KGNvbnN0IFN0cmluZyYg
ZXJyb3JNZXNzYWdlLCBpbnQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpCi17
Ci0gICAgRXZlbnRUYXJnZXQqIHRhcmdldCA9IGVycm9yRXZlbnRUYXJnZXQoKTsKLSAgICBpZiAo
IXRhcmdldCkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgQVNTRVJUKCFtX2luRGlzcGF0
Y2hFcnJvckV2ZW50KTsKLSAgICBtX2luRGlzcGF0Y2hFcnJvckV2ZW50ID0gdHJ1ZTsKLSAgICBS
ZWZQdHI8RXJyb3JFdmVudD4gZXJyb3JFdmVudCA9IEVycm9yRXZlbnQ6OmNyZWF0ZShlcnJvck1l
c3NhZ2UsIHNvdXJjZVVSTCwgbGluZU51bWJlcik7Ci0gICAgdGFyZ2V0LT5kaXNwYXRjaEV2ZW50
KGVycm9yRXZlbnQpOwotICAgIG1faW5EaXNwYXRjaEVycm9yRXZlbnQgPSBmYWxzZTsKLSAgICBy
ZXR1cm4gZXJyb3JFdmVudC0+ZGVmYXVsdFByZXZlbnRlZCgpOwotfQotCiB2b2lkIFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQ6OmFkZFRpbWVvdXQoaW50IHRpbWVvdXRJZCwgRE9NVGltZXIqIHRpbWVy
KQogewogICAgIEFTU0VSVCghbV90aW1lb3V0cy5jb250YWlucyh0aW1lb3V0SWQpKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCBiL1dlYkNvcmUvZG9t
L1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaAppbmRleCA2ZmIwMWJiLi5iNDZhMGY0IDEwMDY0NAot
LS0gYS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKKysrIGIvV2ViQ29yZS9k
b20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCkBAIC0zMyw3ICszMyw2IEBACiAjaW5jbHVkZSA8
d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9I
YXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3du
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRy
Lmg+CkBAIC01MywxNCArNTIsMTEgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIERh
dGFiYXNlVGhyZWFkOwogI2VuZGlmCiAgICAgY2xhc3MgRE9NVGltZXI7Ci0gICAgY2xhc3MgRXZl
bnRMaXN0ZW5lcjsKLSAgICBjbGFzcyBFdmVudFRhcmdldDsKICNpZiBFTkFCTEUoQkxPQikgfHwg
RU5BQkxFKEZJTEVfU1lTVEVNKQogICAgIGNsYXNzIEZpbGVUaHJlYWQ7CiAjZW5kaWYKICAgICBj
bGFzcyBNZXNzYWdlUG9ydDsKICAgICBjbGFzcyBTZWN1cml0eU9yaWdpbjsKLSAgICBjbGFzcyBT
Y3JpcHRDYWxsU3RhY2s7CiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBjbGFzcyBJbnNwZWN0
b3JDb250cm9sbGVyOwogI2VuZGlmCkBAIC05NSw4ICs5MSw4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAgICAgdmlydHVhbCBJbnNwZWN0b3JDb250cm9sbGVyKiBpbnNwZWN0b3JDb250cm9s
bGVyKCkgY29uc3QgeyByZXR1cm4gMDsgfQogI2VuZGlmCiAKLSAgICAgICAgdm9pZCByZXBvcnRF
eGNlcHRpb24oY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UsIGludCBsaW5lTnVtYmVyLCBjb25z
dCBTdHJpbmcmIHNvdXJjZVVSTCwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+KTsKLSAgICAg
ICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1l
c3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBj
b25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+KSA9IDA7
CisgICAgICAgIHZpcnR1YWwgdm9pZCByZXBvcnRFeGNlcHRpb24oY29uc3QgU3RyaW5nJiBlcnJv
ck1lc3NhZ2UsIGludCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCkgPSAwOwor
ICAgICAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlw
ZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmVOdW1i
ZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKSA9IDA7CiAKICAgICAgICAgLy8gQWN0aXZlIG9i
amVjdHMgYXJlIG5vdCBnYXJiYWdlIGNvbGxlY3RlZCBldmVuIGlmIGluYWNjZXNzaWJsZSwgZS5n
LiBiZWNhdXNlIHRoZWlyIGFjdGl2aXR5IG1heSByZXN1bHQgaW4gY2FsbGJhY2tzIGJlaW5nIGlu
dm9rZWQuCiAgICAgICAgIGJvb2wgY2FuU3VzcGVuZEFjdGl2ZURPTU9iamVjdHMoKTsKQEAgLTE1
OCwxMCArMTU0LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIGNvbnN0
IEtVUkwmIHZpcnR1YWxVUkwoKSBjb25zdCA9IDA7CiAgICAgICAgIHZpcnR1YWwgS1VSTCB2aXJ0
dWFsQ29tcGxldGVVUkwoY29uc3QgU3RyaW5nJikgY29uc3QgPSAwOwogCi0gICAgICAgIHZpcnR1
YWwgRXZlbnRUYXJnZXQqIGVycm9yRXZlbnRUYXJnZXQoKSA9IDA7Ci0gICAgICAgIHZpcnR1YWwg
dm9pZCBsb2dFeGNlcHRpb25Ub0NvbnNvbGUoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UsIGlu
dCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgUGFzc1JlZlB0cjxTY3JpcHRD
YWxsU3RhY2s+KSA9IDA7Ci0gICAgICAgIGJvb2wgZGlzcGF0Y2hFcnJvckV2ZW50KGNvbnN0IFN0
cmluZyYgZXJyb3JNZXNzYWdlLCBpbnQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VV
UkwpOwotCiAgICAgICAgIHZvaWQgY2xvc2VNZXNzYWdlUG9ydHMoKTsKIAogICAgICAgICBSZWZQ
dHI8U2VjdXJpdHlPcmlnaW4+IG1fc2VjdXJpdHlPcmlnaW47CkBAIC0xNzksMTAgKzE3MSw2IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCB2b2lkIHJlZlNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKSA9IDA7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkZXJlZlNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKSA9IDA7CiAKLSAgICAgICAgYm9vbCBtX2luRGlzcGF0Y2hFcnJvckV2ZW50
OwotICAgICAgICBjbGFzcyBQZW5kaW5nRXhjZXB0aW9uOwotICAgICAgICBPd25QdHI8VmVjdG9y
PE93blB0cjxQZW5kaW5nRXhjZXB0aW9uPiA+ID4gbV9wZW5kaW5nRXhjZXB0aW9uczsKLQogI2lm
IEVOQUJMRShEQVRBQkFTRSkKICAgICAgICAgUmVmUHRyPERhdGFiYXNlVGhyZWFkPiBtX2RhdGFi
YXNlVGhyZWFkOwogICAgICAgICBib29sIG1faGFzT3BlbkRhdGFiYXNlczsgLy8gVGhpcyBuZXZl
ciBjaGFuZ2VzIGJhY2sgdG8gZmFsc2UsIGV2ZW4gYWZ0ZXIgdGhlIGRhdGFiYXNlIHRocmVhZCBp
cyBjbG9zZWQuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcCBi
L1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXQuY3BwCmluZGV4IGUxNWQwNzkuLjM1OGE3NDIg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXQuY3BwCisrKyBiL1dlYkNv
cmUvd2Vic29ja2V0cy9XZWJTb2NrZXQuY3BwCkBAIC00MSw3ICs0MSw2IEBACiAjaW5jbHVkZSAi
RXZlbnROYW1lcy5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJNZXNzYWdlRXZl
bnQuaCIKLSNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJTY3JpcHRFeGVj
dXRpb25Db250ZXh0LmgiCiAjaW5jbHVkZSAiVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaCIK
ICNpbmNsdWRlICJXZWJTb2NrZXRDaGFubmVsLmgiCkBAIC0xMTcsMzIgKzExNiwzMiBAQCB2b2lk
IFdlYlNvY2tldDo6Y29ubmVjdChjb25zdCBLVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgcHJvdG9j
b2wsIEV4Y2VwdGlvbkNvZGUmCiAgICAgbV9wcm90b2NvbCA9IHByb3RvY29sOwogCiAgICAgaWYg
KCFtX3VybC5pc1ZhbGlkKCkpIHsKLSAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5h
ZGRNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxl
dmVsLCAiSW52YWxpZCB1cmwgZm9yIFdlYlNvY2tldCAiICsgdXJsLnN0cmluZygpLCAwLCBzY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCktPnNlY3VyaXR5T3JpZ2luKCktPnRvU3RyaW5nKCksIDApOwor
ICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZE1lc3NhZ2UoSlNNZXNzYWdlU291
cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJJbnZhbGlkIHVybCBmb3Ig
V2ViU29ja2V0ICIgKyB1cmwuc3RyaW5nKCksIDAsIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+
c2VjdXJpdHlPcmlnaW4oKS0+dG9TdHJpbmcoKSk7CiAgICAgICAgIG1fc3RhdGUgPSBDTE9TRUQ7
CiAgICAgICAgIGVjID0gU1lOVEFYX0VSUjsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAg
IGlmICghbV91cmwucHJvdG9jb2xJcygid3MiKSAmJiAhbV91cmwucHJvdG9jb2xJcygid3NzIikp
IHsKLSAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRNZXNzYWdlKEpTTWVzc2Fn
ZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiV3JvbmcgdXJsIHNj
aGVtZSBmb3IgV2ViU29ja2V0ICIgKyB1cmwuc3RyaW5nKCksIDAsIHNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+dG9TdHJpbmcoKSwgMCk7CisgICAgICAgIHNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3Nh
Z2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIldyb25nIHVybCBzY2hlbWUgZm9yIFdlYlNvY2tl
dCAiICsgdXJsLnN0cmluZygpLCAwLCBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPnNlY3VyaXR5
T3JpZ2luKCktPnRvU3RyaW5nKCkpOwogICAgICAgICBtX3N0YXRlID0gQ0xPU0VEOwogICAgICAg
ICBlYyA9IFNZTlRBWF9FUlI7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgaWYgKG1fdXJs
Lmhhc0ZyYWdtZW50SWRlbnRpZmllcigpKSB7Ci0gICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQoKS0+YWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1l
c3NhZ2VMZXZlbCwgIlVSTCBoYXMgZnJhZ21lbnQgY29tcG9uZW50ICIgKyB1cmwuc3RyaW5nKCks
IDAsIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+dG9TdHJpbmco
KSwgMCk7CisgICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkTWVzc2FnZShKU01l
c3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIlVSTCBoYXMg
ZnJhZ21lbnQgY29tcG9uZW50ICIgKyB1cmwuc3RyaW5nKCksIDAsIHNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+dG9TdHJpbmcoKSk7CiAgICAgICAgIG1fc3RhdGUg
PSBDTE9TRUQ7CiAgICAgICAgIGVjID0gU1lOVEFYX0VSUjsKICAgICAgICAgcmV0dXJuOwogICAg
IH0KICAgICBpZiAoIWlzVmFsaWRQcm90b2NvbFN0cmluZyhtX3Byb3RvY29sKSkgewotICAgICAg
ICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZE1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBM
b2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJXcm9uZyBwcm90b2NvbCBmb3IgV2Vi
U29ja2V0ICciICsgZW5jb2RlUHJvdG9jb2xTdHJpbmcobV9wcm90b2NvbCkgKyAiJyIsIDAsIHNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+dG9TdHJpbmcoKSwgMCk7
CisgICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkTWVzc2FnZShKU01lc3NhZ2VT
b3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIldyb25nIHByb3RvY29s
IGZvciBXZWJTb2NrZXQgJyIgKyBlbmNvZGVQcm90b2NvbFN0cmluZyhtX3Byb3RvY29sKSArICIn
IiwgMCwgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5zZWN1cml0eU9yaWdpbigpLT50b1N0cmlu
ZygpKTsKICAgICAgICAgbV9zdGF0ZSA9IENMT1NFRDsKICAgICAgICAgZWMgPSBTWU5UQVhfRVJS
OwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIGlmICghcG9ydEFsbG93ZWQodXJsKSkgewot
ICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZE1lc3NhZ2UoSlNNZXNzYWdlU291
cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1ha2VTdHJpbmcoIldlYlNv
Y2tldCBwb3J0ICIsIFN0cmluZzo6bnVtYmVyKHVybC5wb3J0KCkpLCAiIGJsb2NrZWQiKSwgMCwg
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5zZWN1cml0eU9yaWdpbigpLT50b1N0cmluZygpLCAw
KTsKKyAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRNZXNzYWdlKEpTTWVzc2Fn
ZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCBtYWtlU3RyaW5nKCJX
ZWJTb2NrZXQgcG9ydCAiLCBTdHJpbmc6Om51bWJlcih1cmwucG9ydCgpKSwgIiBibG9ja2VkIiks
IDAsIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+dG9TdHJpbmco
KSk7CiAgICAgICAgIG1fc3RhdGUgPSBDTE9TRUQ7CiAgICAgICAgIGVjID0gU0VDVVJJVFlfRVJS
OwogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29j
a2V0Q2hhbm5lbC5jcHAgYi9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAK
aW5kZXggNzg1ZjEyNC4uMDFjMmJlZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS93ZWJzb2NrZXRzL1dl
YlNvY2tldENoYW5uZWwuY3BwCisrKyBiL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFu
bmVsLmNwcApAQCAtNDEsNyArNDEsNiBAQAogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQ
bGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgIlByb2dyZXNzVHJhY2tlci5oIgotI2luY2x1ZGUg
IlNjcmlwdENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIK
ICNpbmNsdWRlICJTb2NrZXRTdHJlYW1FcnJvci5oIgogI2luY2x1ZGUgIlNvY2tldFN0cmVhbUhh
bmRsZS5oIgpAQCAtMTU2LDcgKzE1NSw3IEBAIHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6ZGlkT3Bl
bihTb2NrZXRTdHJlYW1IYW5kbGUqIGhhbmRsZSkKICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjp3aWxsU2VuZFdlYlNvY2tldEhhbmRzaGFrZVJlcXVlc3QobV9jb250ZXh0LCBtX2lk
ZW50aWZpZXIsIG1faGFuZHNoYWtlLmNsaWVudEhhbmRzaGFrZVJlcXVlc3QoKSk7CiAgICAgQ1N0
cmluZyBoYW5kc2hha2VNZXNzYWdlID0gbV9oYW5kc2hha2UuY2xpZW50SGFuZHNoYWtlTWVzc2Fn
ZSgpOwogICAgIGlmICghaGFuZGxlLT5zZW5kKGhhbmRzaGFrZU1lc3NhZ2UuZGF0YSgpLCBoYW5k
c2hha2VNZXNzYWdlLmxlbmd0aCgpKSkgewotICAgICAgICBtX2NvbnRleHQtPmFkZE1lc3NhZ2Uo
SlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJFcnJv
ciBzZW5kaW5nIGhhbmRzaGFrZSBtZXNzYWdlLiIsIDAsIG1faGFuZHNoYWtlLmNsaWVudE9yaWdp
bigpLCAwKTsKKyAgICAgICAgbV9jb250ZXh0LT5hZGRNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwg
TG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiRXJyb3Igc2VuZGluZyBoYW5kc2hh
a2UgbWVzc2FnZS4iLCAwLCBtX2hhbmRzaGFrZS5jbGllbnRPcmlnaW4oKSk7CiAgICAgICAgIGhh
bmRsZS0+Y2xvc2UoKTsKICAgICB9CiB9CkBAIC0yNDAsNyArMjM5LDcgQEAgYm9vbCBXZWJTb2Nr
ZXRDaGFubmVsOjphcHBlbmRUb0J1ZmZlcihjb25zdCBjaGFyKiBkYXRhLCBzaXplX3QgbGVuKQog
ICAgICAgICBtX2J1ZmZlclNpemUgPSBuZXdCdWZmZXJTaXplOwogICAgICAgICByZXR1cm4gdHJ1
ZTsKICAgICB9Ci0gICAgbV9jb250ZXh0LT5hZGRNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9n
TWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCBtYWtlU3RyaW5nKCJXZWJTb2NrZXQgZnJh
bWUgKGF0ICIsIFN0cmluZzo6bnVtYmVyKHN0YXRpY19jYXN0PHVuc2lnbmVkIGxvbmc+KG5ld0J1
ZmZlclNpemUpKSwgIiBieXRlcykgaXMgdG9vIGxvbmcuIiksIDAsIG1faGFuZHNoYWtlLmNsaWVu
dE9yaWdpbigpLCAwKTsKKyAgICBtX2NvbnRleHQtPmFkZE1lc3NhZ2UoSlNNZXNzYWdlU291cmNl
LCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1ha2VTdHJpbmcoIldlYlNvY2tl
dCBmcmFtZSAoYXQgIiwgU3RyaW5nOjpudW1iZXIoc3RhdGljX2Nhc3Q8dW5zaWduZWQgbG9uZz4o
bmV3QnVmZmVyU2l6ZSkpLCAiIGJ5dGVzKSBpcyB0b28gbG9uZy4iKSwgMCwgbV9oYW5kc2hha2Uu
Y2xpZW50T3JpZ2luKCkpOwogICAgIHJldHVybiBmYWxzZTsKIH0KIApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5jcHAgYi9XZWJDb3JlL3dlYnNvY2tl
dHMvV2ViU29ja2V0SGFuZHNoYWtlLmNwcAppbmRleCBlZDk4ODM0Li41MDQ5MDk4IDEwMDY0NAot
LS0gYS9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0SGFuZHNoYWtlLmNwcAorKysgYi9XZWJD
b3JlL3dlYnNvY2tldHMvV2ViU29ja2V0SGFuZHNoYWtlLmNwcApAQCAtNDEsNyArNDEsNiBAQAog
I2luY2x1ZGUgIkhUVFBIZWFkZXJNYXAuaCIKICNpbmNsdWRlICJLVVJMLmgiCiAjaW5jbHVkZSAi
TG9nZ2luZy5oIgotI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgogCkBAIC0z
MjAsNyArMzE5LDcgQEAgaW50IFdlYlNvY2tldEhhbmRzaGFrZTo6cmVhZFNlcnZlckhhbmRzaGFr
ZShjb25zdCBjaGFyKiBoZWFkZXIsIHNpemVfdCBsZW4pCiAgICAgbV9yZXNwb25zZS5zZXRTdGF0
dXNUZXh0KHN0YXR1c1RleHQpOwogICAgIGlmIChzdGF0dXNDb2RlICE9IDEwMSkgewogICAgICAg
ICBtX21vZGUgPSBGYWlsZWQ7Ci0gICAgICAgIG1fY29udGV4dC0+YWRkTWVzc2FnZShKU01lc3Nh
Z2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWFrZVN0cmluZygi
VW5leHBlY3RlZCByZXNwb25zZSBjb2RlOiAiLCBTdHJpbmc6Om51bWJlcihzdGF0dXNDb2RlKSks
IDAsIGNsaWVudE9yaWdpbigpLCAwKTsKKyAgICAgICAgbV9jb250ZXh0LT5hZGRNZXNzYWdlKEpT
TWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCBtYWtlU3Ry
aW5nKCJVbmV4cGVjdGVkIHJlc3BvbnNlIGNvZGU6ICIsIFN0cmluZzo6bnVtYmVyKHN0YXR1c0Nv
ZGUpKSwgMCwgY2xpZW50T3JpZ2luKCkpOwogICAgICAgICByZXR1cm4gbGVuOwogICAgIH0KICAg
ICBtX21vZGUgPSBOb3JtYWw7CkBAIC00NTAsMTkgKzQ0OSwxOSBAQCBpbnQgV2ViU29ja2V0SGFu
ZHNoYWtlOjpyZWFkU3RhdHVzTGluZShjb25zdCBjaGFyKiBoZWFkZXIsIHNpemVfdCBoZWFkZXJM
ZW5ndGgsCiAKICAgICBjb25zdCBjaGFyKiBlbmQgPSBwICsgMTsKICAgICBpZiAoZW5kIC0gaGVh
ZGVyID4gSU5UX01BWCkgewotICAgICAgICBtX2NvbnRleHQtPmFkZE1lc3NhZ2UoSlNNZXNzYWdl
U291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJTdGF0dXMgbGluZSBp
cyB0b28gbG9uZzogIiArIHRyaW1Db25zb2xlTWVzc2FnZShoZWFkZXIsIG1heENvbnNvbGVNZXNz
YWdlU2l6ZSArIDEpLCAwLCBjbGllbnRPcmlnaW4oKSwgMCk7CisgICAgICAgIG1fY29udGV4dC0+
YWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VM
ZXZlbCwgIlN0YXR1cyBsaW5lIGlzIHRvbyBsb25nOiAiICsgdHJpbUNvbnNvbGVNZXNzYWdlKGhl
YWRlciwgbWF4Q29uc29sZU1lc3NhZ2VTaXplICsgMSksIDAsIGNsaWVudE9yaWdpbigpKTsKICAg
ICAgICAgcmV0dXJuIElOVF9NQVg7CiAgICAgfQogICAgIGludCBsaW5lTGVuZ3RoID0gZW5kIC0g
aGVhZGVyOwogCiAgICAgaWYgKCFzcGFjZTEgfHwgIXNwYWNlMikgewotICAgICAgICBtX2NvbnRl
eHQtPmFkZE1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNz
YWdlTGV2ZWwsICJObyByZXNwb25zZSBjb2RlIGZvdW5kOiAiICsgdHJpbUNvbnNvbGVNZXNzYWdl
KGhlYWRlciwgbGluZUxlbmd0aCAtIDEpLCAwLCBjbGllbnRPcmlnaW4oKSwgMCk7CisgICAgICAg
IG1fY29udGV4dC0+YWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBF
cnJvck1lc3NhZ2VMZXZlbCwgIk5vIHJlc3BvbnNlIGNvZGUgZm91bmQ6ICIgKyB0cmltQ29uc29s
ZU1lc3NhZ2UoaGVhZGVyLCBsaW5lTGVuZ3RoIC0gMSksIDAsIGNsaWVudE9yaWdpbigpKTsKICAg
ICAgICAgcmV0dXJuIGxpbmVMZW5ndGg7CiAgICAgfQogCiAgICAgLy8gVGhlIGxpbmUgbXVzdCBl
bmQgd2l0aCAiXHJcbiIuCiAgICAgaWYgKCooZW5kIC0gMikgIT0gJ1xyJykgewotICAgICAgICBt
X2NvbnRleHQtPmFkZE1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJy
b3JNZXNzYWdlTGV2ZWwsICJTdGF0dXMgbGluZSBkb2VzIG5vdCBlbmQgd2l0aCBDUkxGIiwgMCwg
Y2xpZW50T3JpZ2luKCksIDApOworICAgICAgICBtX2NvbnRleHQtPmFkZE1lc3NhZ2UoSlNNZXNz
YWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJTdGF0dXMgbGlu
ZSBkb2VzIG5vdCBlbmQgd2l0aCBDUkxGIiwgMCwgY2xpZW50T3JpZ2luKCkpOwogICAgICAgICBy
ZXR1cm4gbGluZUxlbmd0aDsKICAgICB9CiAKQEAgLTQ3MSw3ICs0NzAsNyBAQCBpbnQgV2ViU29j
a2V0SGFuZHNoYWtlOjpyZWFkU3RhdHVzTGluZShjb25zdCBjaGFyKiBoZWFkZXIsIHNpemVfdCBo
ZWFkZXJMZW5ndGgsCiAgICAgICAgIHJldHVybiBsaW5lTGVuZ3RoOwogICAgIGZvciAoaW50IGkg
PSAwOyBpIDwgMzsgKytpKQogICAgICAgICBpZiAoc3RhdHVzQ29kZVN0cmluZ1tpXSA8ICcwJyB8
fCBzdGF0dXNDb2RlU3RyaW5nW2ldID4gJzknKSB7Ci0gICAgICAgICAgICBtX2NvbnRleHQtPmFk
ZE1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2
ZWwsICJJbnZhbGlkIHN0YXR1cyBjb2RlOiAiICsgc3RhdHVzQ29kZVN0cmluZywgMCwgY2xpZW50
T3JpZ2luKCksIDApOworICAgICAgICAgICAgbV9jb250ZXh0LT5hZGRNZXNzYWdlKEpTTWVzc2Fn
ZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiSW52YWxpZCBzdGF0
dXMgY29kZTogIiArIHN0YXR1c0NvZGVTdHJpbmcsIDAsIGNsaWVudE9yaWdpbigpKTsKICAgICAg
ICAgICAgIHJldHVybiBsaW5lTGVuZ3RoOwogICAgICAgICB9CiAKQEAgLTQ5OSwxMyArNDk4LDEz
IEBAIGNvbnN0IGNoYXIqIFdlYlNvY2tldEhhbmRzaGFrZTo6cmVhZEhUVFBIZWFkZXJzKGNvbnN0
IGNoYXIqIHN0YXJ0LCBjb25zdCBjaGFyKiBlCiAgICAgICAgICAgICAgICAgaWYgKG5hbWUuaXNF
bXB0eSgpKSB7CiAgICAgICAgICAgICAgICAgICAgIGlmIChwICsgMSA8IGVuZCAmJiAqKHAgKyAx
KSA9PSAnXG4nKQogICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHAgKyAyOwotICAgICAg
ICAgICAgICAgICAgICBtX2NvbnRleHQtPmFkZE1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dN
ZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJDUiBkb2Vzbid0IGZvbGxvdyBMRiBhdCAi
ICsgdHJpbUNvbnNvbGVNZXNzYWdlKHAsIGVuZCAtIHApLCAwLCBjbGllbnRPcmlnaW4oKSwgMCk7
CisgICAgICAgICAgICAgICAgICAgIG1fY29udGV4dC0+YWRkTWVzc2FnZShKU01lc3NhZ2VTb3Vy
Y2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkNSIGRvZXNuJ3QgZm9sbG93
IExGIGF0ICIgKyB0cmltQ29uc29sZU1lc3NhZ2UocCwgZW5kIC0gcCksIDAsIGNsaWVudE9yaWdp
bigpKTsKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgICAgICAgfQot
ICAgICAgICAgICAgICAgIG1fY29udGV4dC0+YWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExv
Z01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIlVuZXhwZWN0ZWQgQ1IgaW4gbmFtZSBh
dCAiICsgdHJpbUNvbnNvbGVNZXNzYWdlKG5hbWUuZGF0YSgpLCBuYW1lLnNpemUoKSksIDAsIGNs
aWVudE9yaWdpbigpLCAwKTsKKyAgICAgICAgICAgICAgICBtX2NvbnRleHQtPmFkZE1lc3NhZ2Uo
SlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJVbmV4
cGVjdGVkIENSIGluIG5hbWUgYXQgIiArIHRyaW1Db25zb2xlTWVzc2FnZShuYW1lLmRhdGEoKSwg
bmFtZS5zaXplKCkpLCAwLCBjbGllbnRPcmlnaW4oKSk7CiAgICAgICAgICAgICAgICAgcmV0dXJu
IDA7CiAgICAgICAgICAgICBjYXNlICdcbic6Ci0gICAgICAgICAgICAgICAgbV9jb250ZXh0LT5h
ZGRNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxl
dmVsLCAiVW5leHBlY3RlZCBMRiBpbiBuYW1lIGF0ICIgKyB0cmltQ29uc29sZU1lc3NhZ2UobmFt
ZS5kYXRhKCksIG5hbWUuc2l6ZSgpKSwgMCwgY2xpZW50T3JpZ2luKCksIDApOworICAgICAgICAg
ICAgICAgIG1fY29udGV4dC0+YWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VU
eXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIlVuZXhwZWN0ZWQgTEYgaW4gbmFtZSBhdCAiICsgdHJp
bUNvbnNvbGVNZXNzYWdlKG5hbWUuZGF0YSgpLCBuYW1lLnNpemUoKSksIDAsIGNsaWVudE9yaWdp
bigpKTsKICAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAgIGNhc2UgJzonOgog
ICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtNTI2LDcgKzUyNSw3IEBAIGNvbnN0IGNoYXIqIFdl
YlNvY2tldEhhbmRzaGFrZTo6cmVhZEhUVFBIZWFkZXJzKGNvbnN0IGNoYXIqIHN0YXJ0LCBjb25z
dCBjaGFyKiBlCiAgICAgICAgICAgICBjYXNlICdccic6CiAgICAgICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgICAgICBjYXNlICdcbic6Ci0gICAgICAgICAgICAgICAgbV9jb250ZXh0LT5hZGRN
ZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVs
LCAiVW5leHBlY3RlZCBMRiBpbiB2YWx1ZSBhdCAiICsgdHJpbUNvbnNvbGVNZXNzYWdlKHZhbHVl
LmRhdGEoKSwgdmFsdWUuc2l6ZSgpKSwgMCwgY2xpZW50T3JpZ2luKCksIDApOworICAgICAgICAg
ICAgICAgIG1fY29udGV4dC0+YWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VU
eXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIlVuZXhwZWN0ZWQgTEYgaW4gdmFsdWUgYXQgIiArIHRy
aW1Db25zb2xlTWVzc2FnZSh2YWx1ZS5kYXRhKCksIHZhbHVlLnNpemUoKSksIDAsIGNsaWVudE9y
aWdpbigpKTsKICAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAgIGRlZmF1bHQ6
CiAgICAgICAgICAgICAgICAgdmFsdWUuYXBwZW5kKCpwKTsKQEAgLTUzNywxNyArNTM2LDE3IEBA
IGNvbnN0IGNoYXIqIFdlYlNvY2tldEhhbmRzaGFrZTo6cmVhZEhUVFBIZWFkZXJzKGNvbnN0IGNo
YXIqIHN0YXJ0LCBjb25zdCBjaGFyKiBlCiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAg
ICAgaWYgKHAgPj0gZW5kIHx8ICpwICE9ICdcbicpIHsKLSAgICAgICAgICAgIG1fY29udGV4dC0+
YWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VM
ZXZlbCwgIkNSIGRvZXNuJ3QgZm9sbG93IExGIGFmdGVyIHZhbHVlIGF0ICIgKyB0cmltQ29uc29s
ZU1lc3NhZ2UocCwgZW5kIC0gcCksIDAsIGNsaWVudE9yaWdpbigpLCAwKTsKKyAgICAgICAgICAg
IG1fY29udGV4dC0+YWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBF
cnJvck1lc3NhZ2VMZXZlbCwgIkNSIGRvZXNuJ3QgZm9sbG93IExGIGFmdGVyIHZhbHVlIGF0ICIg
KyB0cmltQ29uc29sZU1lc3NhZ2UocCwgZW5kIC0gcCksIDAsIGNsaWVudE9yaWdpbigpKTsKICAg
ICAgICAgICAgIHJldHVybiAwOwogICAgICAgICB9CiAgICAgICAgIEF0b21pY1N0cmluZyBuYW1l
U3RyKFN0cmluZzo6ZnJvbVVURjgobmFtZS5kYXRhKCksIG5hbWUuc2l6ZSgpKSk7CiAgICAgICAg
IFN0cmluZyB2YWx1ZVN0ciA9IFN0cmluZzo6ZnJvbVVURjgodmFsdWUuZGF0YSgpLCB2YWx1ZS5z
aXplKCkpOwogICAgICAgICBpZiAobmFtZVN0ci5pc051bGwoKSkgewotICAgICAgICAgICAgbV9j
b250ZXh0LT5hZGRNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9y
TWVzc2FnZUxldmVsLCAiaW52YWxpZCBVVEYtOCBzZXF1ZW5jZSBpbiBoZWFkZXIgbmFtZSIsIDAs
IGNsaWVudE9yaWdpbigpLCAwKTsKKyAgICAgICAgICAgIG1fY29udGV4dC0+YWRkTWVzc2FnZShK
U01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgImludmFs
aWQgVVRGLTggc2VxdWVuY2UgaW4gaGVhZGVyIG5hbWUiLCAwLCBjbGllbnRPcmlnaW4oKSk7CiAg
ICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgfQogICAgICAgICBpZiAodmFsdWVTdHIuaXNO
dWxsKCkpIHsKLSAgICAgICAgICAgIG1fY29udGV4dC0+YWRkTWVzc2FnZShKU01lc3NhZ2VTb3Vy
Y2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgImludmFsaWQgVVRGLTggc2Vx
dWVuY2UgaW4gaGVhZGVyIHZhbHVlIiwgMCwgY2xpZW50T3JpZ2luKCksIDApOworICAgICAgICAg
ICAgbV9jb250ZXh0LT5hZGRNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUs
IEVycm9yTWVzc2FnZUxldmVsLCAiaW52YWxpZCBVVEYtOCBzZXF1ZW5jZSBpbiBoZWFkZXIgdmFs
dWUiLCAwLCBjbGllbnRPcmlnaW4oKSk7CiAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAg
fQogICAgICAgICBMT0coTmV0d29yaywgIm5hbWU9JXMgdmFsdWU9JXMiLCBuYW1lU3RyLnN0cmlu
ZygpLnV0ZjgoKS5kYXRhKCksIHZhbHVlU3RyLnV0ZjgoKS5kYXRhKCkpOwpAQCAtNTcxLDI0ICs1
NzAsMjQgQEAgdm9pZCBXZWJTb2NrZXRIYW5kc2hha2U6OnByb2Nlc3NIZWFkZXJzKCkKIGJvb2wg
V2ViU29ja2V0SGFuZHNoYWtlOjpjaGVja1Jlc3BvbnNlSGVhZGVycygpCiB7CiAgICAgaWYgKG1f
d3NPcmlnaW4uaXNOdWxsKCkpIHsKLSAgICAgICAgbV9jb250ZXh0LT5hZGRNZXNzYWdlKEpTTWVz
c2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiRXJyb3IgZHVy
aW5nIFdlYlNvY2tldCBoYW5kc2hha2U6ICdzZWMtd2Vic29ja2V0LW9yaWdpbicgaGVhZGVyIGlz
IG1pc3NpbmciLCAwLCBjbGllbnRPcmlnaW4oKSwgMCk7CisgICAgICAgIG1fY29udGV4dC0+YWRk
TWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZl
bCwgIkVycm9yIGR1cmluZyBXZWJTb2NrZXQgaGFuZHNoYWtlOiAnc2VjLXdlYnNvY2tldC1vcmln
aW4nIGhlYWRlciBpcyBtaXNzaW5nIiwgMCwgY2xpZW50T3JpZ2luKCkpOwogICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAgfQogICAgIGlmIChtX3dzTG9jYXRpb24uaXNOdWxsKCkpIHsKLSAgICAg
ICAgbV9jb250ZXh0LT5hZGRNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUs
IEVycm9yTWVzc2FnZUxldmVsLCAiRXJyb3IgZHVyaW5nIFdlYlNvY2tldCBoYW5kc2hha2U6ICdz
ZWMtd2Vic29ja2V0LWxvY2F0aW9uJyBoZWFkZXIgaXMgbWlzc2luZyIsIDAsIGNsaWVudE9yaWdp
bigpLCAwKTsKKyAgICAgICAgbV9jb250ZXh0LT5hZGRNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwg
TG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiRXJyb3IgZHVyaW5nIFdlYlNvY2tl
dCBoYW5kc2hha2U6ICdzZWMtd2Vic29ja2V0LWxvY2F0aW9uJyBoZWFkZXIgaXMgbWlzc2luZyIs
IDAsIGNsaWVudE9yaWdpbigpKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIAogICAg
IGlmIChjbGllbnRPcmlnaW4oKSAhPSBtX3dzT3JpZ2luKSB7Ci0gICAgICAgIG1fY29udGV4dC0+
YWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VM
ZXZlbCwgIkVycm9yIGR1cmluZyBXZWJTb2NrZXQgaGFuZHNoYWtlOiBvcmlnaW4gbWlzbWF0Y2g6
ICIgKyBjbGllbnRPcmlnaW4oKSArICIgIT0gIiArIG1fd3NPcmlnaW4sIDAsIGNsaWVudE9yaWdp
bigpLCAwKTsKKyAgICAgICAgbV9jb250ZXh0LT5hZGRNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwg
TG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiRXJyb3IgZHVyaW5nIFdlYlNvY2tl
dCBoYW5kc2hha2U6IG9yaWdpbiBtaXNtYXRjaDogIiArIGNsaWVudE9yaWdpbigpICsgIiAhPSAi
ICsgbV93c09yaWdpbiwgMCwgY2xpZW50T3JpZ2luKCkpOwogICAgICAgICByZXR1cm4gZmFsc2U7
CiAgICAgfQogICAgIGlmIChjbGllbnRMb2NhdGlvbigpICE9IG1fd3NMb2NhdGlvbikgewotICAg
ICAgICBtX2NvbnRleHQtPmFkZE1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlw
ZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJFcnJvciBkdXJpbmcgV2ViU29ja2V0IGhhbmRzaGFrZTog
bG9jYXRpb24gbWlzbWF0Y2g6ICIgKyBjbGllbnRMb2NhdGlvbigpICsgIiAhPSAiICsgbV93c0xv
Y2F0aW9uLCAwLCBjbGllbnRPcmlnaW4oKSwgMCk7CisgICAgICAgIG1fY29udGV4dC0+YWRkTWVz
c2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwg
IkVycm9yIGR1cmluZyBXZWJTb2NrZXQgaGFuZHNoYWtlOiBsb2NhdGlvbiBtaXNtYXRjaDogIiAr
IGNsaWVudExvY2F0aW9uKCkgKyAiICE9ICIgKyBtX3dzTG9jYXRpb24sIDAsIGNsaWVudE9yaWdp
bigpKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KICAgICBpZiAoIW1fY2xpZW50UHJv
dG9jb2wuaXNFbXB0eSgpICYmIG1fY2xpZW50UHJvdG9jb2wgIT0gbV93c1Byb3RvY29sKSB7Ci0g
ICAgICAgIG1fY29udGV4dC0+YWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VU
eXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkVycm9yIGR1cmluZyBXZWJTb2NrZXQgaGFuZHNoYWtl
OiBwcm90b2NvbCBtaXNtYXRjaDogIiArIG1fY2xpZW50UHJvdG9jb2wgKyAiICE9ICIgKyBtX3dz
UHJvdG9jb2wsIDAsIGNsaWVudE9yaWdpbigpLCAwKTsKKyAgICAgICAgbV9jb250ZXh0LT5hZGRN
ZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVs
LCAiRXJyb3IgZHVyaW5nIFdlYlNvY2tldCBoYW5kc2hha2U6IHByb3RvY29sIG1pc21hdGNoOiAi
ICsgbV9jbGllbnRQcm90b2NvbCArICIgIT0gIiArIG1fd3NQcm90b2NvbCwgMCwgY2xpZW50T3Jp
Z2luKCkpOwogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogICAgIHJldHVybiB0cnVlOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS93b3JrZXJzL0RlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5
LmNwcCBiL1dlYkNvcmUvd29ya2Vycy9EZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5jcHAK
aW5kZXggOGUxYzEwNi4uNGE4ZTk0NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS93b3JrZXJzL0RlZmF1
bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmNwcAorKysgYi9XZWJDb3JlL3dvcmtlcnMvRGVmYXVs
dFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwCkBAIC00Miw3ICs0Miw2IEBACiAjaW5jbHVkZSAi
TWVzc2FnZVBvcnQuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIlBs
YXRmb3JtU3RyaW5nLmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCiAjaW5jbHVkZSAi
U2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbkhhc2guaCIKICNpbmNs
dWRlICJTaGFyZWRXb3JrZXIuaCIKQEAgLTE1Niw3ICsxNTUsNyBAQCB2b2lkIFNoYXJlZFdvcmtl
clByb3h5Ojpwb3N0VGFza0Zvck1vZGVUb1dvcmtlckNvbnRleHQoUGFzc093blB0cjxTY3JpcHRF
eGVjdXRpbwogCiBzdGF0aWMgdm9pZCBwb3N0RXhjZXB0aW9uVGFzayhTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiBjb250ZXh0LCBjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgaW50IGxpbmVOdW1i
ZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKQogewotICAgIGNvbnRleHQtPnJlcG9ydEV4Y2Vw
dGlvbihlcnJvck1lc3NhZ2UsIGxpbmVOdW1iZXIsIHNvdXJjZVVSTCwgMCk7CisgICAgY29udGV4
dC0+cmVwb3J0RXhjZXB0aW9uKGVycm9yTWVzc2FnZSwgbGluZU51bWJlciwgc291cmNlVVJMKTsK
IH0KIAogdm9pZCBTaGFyZWRXb3JrZXJQcm94eTo6cG9zdEV4Y2VwdGlvblRvV29ya2VyT2JqZWN0
KGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBpbnQgbGluZU51bWJlciwgY29uc3QgU3RyaW5n
JiBzb3VyY2VVUkwpCkBAIC0xNjgsNyArMTY3LDcgQEAgdm9pZCBTaGFyZWRXb3JrZXJQcm94eTo6
cG9zdEV4Y2VwdGlvblRvV29ya2VyT2JqZWN0KGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLAog
CiBzdGF0aWMgdm9pZCBwb3N0Q29uc29sZU1lc3NhZ2VUYXNrKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqIGRvY3VtZW50LCBNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVz
c2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmVOdW1i
ZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKQogewotICAgIGRvY3VtZW50LT5hZGRNZXNzYWdl
KHNvdXJjZSwgdHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIGxpbmVOdW1iZXIsIHNvdXJjZVVSTCwgMCk7
CisgICAgZG9jdW1lbnQtPmFkZE1lc3NhZ2Uoc291cmNlLCB0eXBlLCBsZXZlbCwgbWVzc2FnZSwg
bGluZU51bWJlciwgc291cmNlVVJMKTsKIH0KIAogdm9pZCBTaGFyZWRXb3JrZXJQcm94eTo6cG9z
dENvbnNvbGVNZXNzYWdlVG9Xb3JrZXJPYmplY3QoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3Nh
Z2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBp
bnQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpCmRpZmYgLS1naXQgYS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5jcHAgYi9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29u
dGV4dC5jcHAKaW5kZXggMDNkZWZjNy4uMzQ1ZTViNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlckNvbnRleHQuY3BwCisrKyBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0
LmNwcApAQCAtNDYsNyArNDYsNiBAQAogI2luY2x1ZGUgIktVUkwuaCIKICNpbmNsdWRlICJNZXNz
YWdlUG9ydC5oIgogI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCi0jaW5jbHVkZSAiU2NyaXB0
Q2FsbFN0YWNrLmgiCiAjaW5jbHVkZSAiU2NyaXB0U291cmNlQ29kZS5oIgogI2luY2x1ZGUgIlNj
cmlwdFZhbHVlLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKQEAgLTEwMyw2ICsxMDIs
NyBAQCBXb3JrZXJDb250ZXh0OjpXb3JrZXJDb250ZXh0KGNvbnN0IEtVUkwmIHVybCwgY29uc3Qg
U3RyaW5nJiB1c2VyQWdlbnQsIFdvcmtlclRocgogICAgICwgbV9zY3JpcHQobmV3IFdvcmtlclNj
cmlwdENvbnRyb2xsZXIodGhpcykpCiAgICAgLCBtX3RocmVhZCh0aHJlYWQpCiAgICAgLCBtX2Ns
b3NpbmcoZmFsc2UpCisgICAgLCBtX3JlcG9ydGluZ0V4Y2VwdGlvbihmYWxzZSkKIHsKICAgICBz
ZXRTZWN1cml0eU9yaWdpbihTZWN1cml0eU9yaWdpbjo6Y3JlYXRlKHVybCkpOwogfQpAQCAtMjU5
LDE3ICsyNTksMjMgQEAgdm9pZCBXb3JrZXJDb250ZXh0OjppbXBvcnRTY3JpcHRzKGNvbnN0IFZl
Y3RvcjxTdHJpbmc+JiB1cmxzLCBFeGNlcHRpb25Db2RlJiBlYykKICAgICB9CiB9CiAKLUV2ZW50
VGFyZ2V0KiBXb3JrZXJDb250ZXh0OjplcnJvckV2ZW50VGFyZ2V0KCkKK3ZvaWQgV29ya2VyQ29u
dGV4dDo6cmVwb3J0RXhjZXB0aW9uKGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBpbnQgbGlu
ZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpCiB7Ci0gICAgcmV0dXJuIHRoaXM7Ci19
Ci0KLXZvaWQgV29ya2VyQ29udGV4dDo6bG9nRXhjZXB0aW9uVG9Db25zb2xlKGNvbnN0IFN0cmlu
ZyYgZXJyb3JNZXNzYWdlLCBpbnQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkws
IFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPikKLXsKLSAgICB0aHJlYWQoKS0+d29ya2VyUmVw
b3J0aW5nUHJveHkoKS5wb3N0RXhjZXB0aW9uVG9Xb3JrZXJPYmplY3QoZXJyb3JNZXNzYWdlLCBs
aW5lTnVtYmVyLCBzb3VyY2VVUkwpOworICAgIGJvb2wgZXJyb3JIYW5kbGVkID0gZmFsc2U7Cisg
ICAgaWYgKCFtX3JlcG9ydGluZ0V4Y2VwdGlvbikgeworICAgICAgICBpZiAob25lcnJvcigpKSB7
CisgICAgICAgICAgICBtX3JlcG9ydGluZ0V4Y2VwdGlvbiA9IHRydWU7CisgICAgICAgICAgICBS
ZWZQdHI8RXJyb3JFdmVudD4gZXJyb3JFdmVudChFcnJvckV2ZW50OjpjcmVhdGUoZXJyb3JNZXNz
YWdlLCBzb3VyY2VVUkwsIGxpbmVOdW1iZXIpKTsKKyAgICAgICAgICAgIG9uZXJyb3IoKS0+aGFu
ZGxlRXZlbnQodGhpcywgZXJyb3JFdmVudC5nZXQoKSk7CisgICAgICAgICAgICBlcnJvckhhbmRs
ZWQgPSBlcnJvckV2ZW50LT5kZWZhdWx0UHJldmVudGVkKCk7CisgICAgICAgICAgICBtX3JlcG9y
dGluZ0V4Y2VwdGlvbiA9IGZhbHNlOworICAgICAgICB9CisgICAgfQorICAgIGlmICghZXJyb3JI
YW5kbGVkKQorICAgICAgICB0aHJlYWQoKS0+d29ya2VyUmVwb3J0aW5nUHJveHkoKS5wb3N0RXhj
ZXB0aW9uVG9Xb3JrZXJPYmplY3QoZXJyb3JNZXNzYWdlLCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwp
OwogfQogCi12b2lkIFdvcmtlckNvbnRleHQ6OmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSBzb3Vy
Y2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBt
ZXNzYWdlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgUGFz
c1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+KQordm9pZCBXb3JrZXJDb250ZXh0OjphZGRNZXNzYWdl
KE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2
ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbGluZU51bWJlciwgY29uc3QgU3Ry
aW5nJiBzb3VyY2VVUkwpCiB7CiAgICAgdGhyZWFkKCktPndvcmtlclJlcG9ydGluZ1Byb3h5KCku
cG9zdENvbnNvbGVNZXNzYWdlVG9Xb3JrZXJPYmplY3Qoc291cmNlLCB0eXBlLCBsZXZlbCwgbWVz
c2FnZSwgbGluZU51bWJlciwgc291cmNlVVJMKTsKIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJDb250ZXh0LmggYi9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5oCmlu
ZGV4IGU0MmI4MmEuLjVkMTVkOTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJD
b250ZXh0LmgKKysrIGIvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaApAQCAtMTAwLDcg
KzEwMCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCBjbGVhckludGVydmFs
KGludCB0aW1lb3V0SWQpOwogCiAgICAgICAgIC8vIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQKLSAg
ICAgICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUs
IE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5lTnVtYmVy
LCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+KTsK
KyAgICAgICAgdmlydHVhbCB2b2lkIHJlcG9ydEV4Y2VwdGlvbihjb25zdCBTdHJpbmcmIGVycm9y
TWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKTsKKyAgICAg
ICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1l
c3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBj
b25zdCBTdHJpbmcmIHNvdXJjZVVSTCk7CiAKICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAg
ICAgICAgTm90aWZpY2F0aW9uQ2VudGVyKiB3ZWJraXROb3RpZmljYXRpb25zKCkgY29uc3Q7CkBA
IC0xNzMsOSArMTc0LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIGNv
bnN0IEtVUkwmIHZpcnR1YWxVUkwoKSBjb25zdDsKICAgICAgICAgdmlydHVhbCBLVVJMIHZpcnR1
YWxDb21wbGV0ZVVSTChjb25zdCBTdHJpbmcmKSBjb25zdDsKIAotICAgICAgICB2aXJ0dWFsIEV2
ZW50VGFyZ2V0KiBlcnJvckV2ZW50VGFyZ2V0KCk7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBsb2dF
eGNlcHRpb25Ub0NvbnNvbGUoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UsIGludCBsaW5lTnVt
YmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+
KTsKLQogICAgICAgICBLVVJMIG1fdXJsOwogICAgICAgICBTdHJpbmcgbV91c2VyQWdlbnQ7CiAK
QEAgLTE4OSw2ICsxODcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIG11dGFibGUg
UmVmUHRyPE5vdGlmaWNhdGlvbkNlbnRlcj4gbV9ub3RpZmljYXRpb25zOwogI2VuZGlmCiAgICAg
ICAgIGJvb2wgbV9jbG9zaW5nOworICAgICAgICBib29sIG1fcmVwb3J0aW5nRXhjZXB0aW9uOwog
ICAgICAgICBFdmVudFRhcmdldERhdGEgbV9ldmVudFRhcmdldERhdGE7CiAKICAgICAgICAgSGFz
aFNldDxPYnNlcnZlcio+IG1fd29ya2VyT2JzZXJ2ZXJzOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93
b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcCBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJN
ZXNzYWdpbmdQcm94eS5jcHAKaW5kZXggNzM1ZDE0My4uMTA3MDBjNiAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcAorKysgYi9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwCkBAIC00MCw3ICs0MCw2IEBACiAjaW5jbHVkZSAi
RXhjZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgIkluc3BlY3RvckNvbnRyb2xsZXIuaCIKICNpbmNs
dWRlICJNZXNzYWdlRXZlbnQuaCIKLSNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKICNpbmNs
dWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAjaW5jbHVkZSAiV29ya2VyLmgiCiAKQEAg
LTEzMiw3ICsxMzEsNyBAQCBwcml2YXRlOgogCiAgICAgICAgIGJvb2wgZXJyb3JIYW5kbGVkID0g
IXdvcmtlck9iamVjdC0+ZGlzcGF0Y2hFdmVudChFcnJvckV2ZW50OjpjcmVhdGUobV9lcnJvck1l
c3NhZ2UsIG1fc291cmNlVVJMLCBtX2xpbmVOdW1iZXIpKTsKICAgICAgICAgaWYgKCFlcnJvckhh
bmRsZWQpCi0gICAgICAgICAgICBjb250ZXh0LT5yZXBvcnRFeGNlcHRpb24obV9lcnJvck1lc3Nh
Z2UsIG1fbGluZU51bWJlciwgbV9zb3VyY2VVUkwsIDApOworICAgICAgICAgICAgY29udGV4dC0+
cmVwb3J0RXhjZXB0aW9uKG1fZXJyb3JNZXNzYWdlLCBtX2xpbmVOdW1iZXIsIG1fc291cmNlVVJM
KTsKICAgICB9CiAKICAgICBTdHJpbmcgbV9lcnJvck1lc3NhZ2U7CkBAIC0yODQsNyArMjgzLDcg
QEAgc3RhdGljIHZvaWQgcG9zdENvbnNvbGVNZXNzYWdlVGFzayhTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiBjb250ZXh0LCBXb3JrZXJNZXNzYWcKIHsKICAgICBpZiAobWVzc2FnaW5nUHJveHktPmFz
a2VkVG9UZXJtaW5hdGUoKSkKICAgICAgICAgcmV0dXJuOwotICAgIGNvbnRleHQtPmFkZE1lc3Nh
Z2Uoc291cmNlLCB0eXBlLCBsZXZlbCwgbWVzc2FnZSwgbGluZU51bWJlciwgc291cmNlVVJMLCAw
KTsKKyAgICBjb250ZXh0LT5hZGRNZXNzYWdlKHNvdXJjZSwgdHlwZSwgbGV2ZWwsIG1lc3NhZ2Us
IGxpbmVOdW1iZXIsIHNvdXJjZVVSTCk7CiB9CiAKIHZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6
OnBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBN
ZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZSwgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwIGIvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVl
c3QuY3BwCmluZGV4IGY1YjJkOGQuLmZjN2ViOWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUveG1sL1hN
TEh0dHBSZXF1ZXN0LmNwcAorKysgYi9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKQEAg
LTM5LDcgKzM5LDYgQEAKICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKICNp
bmNsdWRlICJSZXNvdXJjZUVycm9yLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXF1ZXN0LmgiCi0j
aW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIK
ICNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgIlNoYXJlZEJ1ZmZlci5oIgpAQCAtODEy
LDcgKzgxMSw3IEBAIHN0YXRpYyB2b2lkIHJlcG9ydFVuc2FmZVVzYWdlKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQqIGNvbnRleHQsIGNvbnN0IFN0cmluZyYgbWVzCiAgICAgICAgIHJldHVybjsKICAg
ICAvLyBGSVhNRTogSXQncyBub3QgZ29vZCB0byByZXBvcnQgdGhlIGJhZCB1c2FnZSB3aXRob3V0
IGluZGljYXRpbmcgd2hhdCBzb3VyY2UgbGluZSBpdCBjYW1lIGZyb20uCiAgICAgLy8gV2Ugc2hv
dWxkIHBhc3MgYWRkaXRpb25hbCBwYXJhbWV0ZXJzIHNvIHdlIGNhbiB0ZWxsIHRoZSBjb25zb2xl
IHdoZXJlIHRoZSBtaXN0YWtlIG9jY3VycmVkLgotICAgIGNvbnRleHQtPmFkZE1lc3NhZ2UoSlNN
ZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2Us
IDEsIFN0cmluZygpLCAwKTsKKyAgICBjb250ZXh0LT5hZGRNZXNzYWdlKEpTTWVzc2FnZVNvdXJj
ZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlLCAxLCBTdHJpbmco
KSk7CiB9CiAKIHZvaWQgWE1MSHR0cFJlcXVlc3Q6OnNldFJlcXVlc3RIZWFkZXIoY29uc3QgQXRv
bWljU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHZhbHVlLCBFeGNlcHRpb25Db2RlJiBlYykK
ZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nCmluZGV4IDllZWM2NGEuLjQzMWFjYjUgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE2IEBACisyMDEwLTEyLTEzICBZdXJ5IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFVucmV2aWV3ZWQuIFJvbGxvdXQgNzM5MTQsIDczOTE1LCA3MzkxNywgNzM5
MjAgYW5kIDczOTIxLgorCisgICAgICAgIFJFR1JFU1NJT04ocjczOTE0KTogIkNocm9taXVtIHBh
Z2VfY3ljbGVyX21vcmVqcyBmYWlscyIgKFJlcXVlc3RlZCBieSB5dXJ5cyBvbiAjd2Via2l0KS4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUwOTUwCisK
KyAgICAgICAgKiBzcmMvV2ViV29ya2VyQ2xpZW50SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYldvcmtlckNsaWVudEltcGw6OnBvc3RFeGNlcHRpb25Ub1dvcmtlck9iamVjdCk6CisgICAg
ICAgIChXZWJLaXQ6OldlYldvcmtlckNsaWVudEltcGw6OnBvc3RDb25zb2xlTWVzc2FnZVRvV29y
a2VyT2JqZWN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViV29ya2VyQ2xpZW50SW1wbDo6cG9zdEV4
Y2VwdGlvblRvV29ya2VyT2JqZWN0VGFzayk6CisgICAgICAgIChXZWJLaXQ6OldlYldvcmtlckNs
aWVudEltcGw6OnBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0VGFzayk6CisKIDIwMTAt
MTItMTMgIElseWEgVGlraG9ub3Zza3kgIDxsb2lzbG9AY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IFl1cnkgU2VtaWtoYXRza3kuCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYldvcmtlckNsaWVudEltcGwuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJX
b3JrZXJDbGllbnRJbXBsLmNwcAppbmRleCBmOTBlN2U4Li4xODI4MmUzIDEwMDY0NAotLS0gYS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYldvcmtlckNsaWVudEltcGwuY3BwCisrKyBiL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViV29ya2VyQ2xpZW50SW1wbC5jcHAKQEAgLTQxLDcgKzQxLDYgQEAKICNp
bmNsdWRlICJNZXNzYWdlRXZlbnQuaCIKICNpbmNsdWRlICJNZXNzYWdlUG9ydC5oIgogI2luY2x1
ZGUgIk1lc3NhZ2VQb3J0Q2hhbm5lbC5oIgotI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgog
I2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRlICJXb3JrZXIuaCIK
ICNpbmNsdWRlICJXb3JrZXJDb250ZXh0LmgiCkBAIC0yNDgsNyArMjQ3LDcgQEAgdm9pZCBXZWJX
b3JrZXJDbGllbnRJbXBsOjpwb3N0RXhjZXB0aW9uVG9Xb3JrZXJPYmplY3QoY29uc3QgV2ViU3Ry
aW5nJiBlcnJvck1lc3MKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2VVUkwsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZU51bWJlcikpOwog
ICAgIGlmICh1bmhhbmRsZWQpCi0gICAgICAgIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+cmVw
b3J0RXhjZXB0aW9uKGVycm9yTWVzc2FnZSwgbGluZU51bWJlciwgc291cmNlVVJMLCAwKTsKKyAg
ICAgICAgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5yZXBvcnRFeGNlcHRpb24oZXJyb3JNZXNz
YWdlLCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwpOwogfQogCiB2b2lkIFdlYldvcmtlckNsaWVudElt
cGw6OnBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KGludCBkZXN0aW5hdGlvbiwKQEAg
LTI3NSw3ICsyNzQsNyBAQCB2b2lkIFdlYldvcmtlckNsaWVudEltcGw6OnBvc3RDb25zb2xlTWVz
c2FnZVRvV29ya2VyT2JqZWN0KGludCBkZXN0aW5hdGlvbiwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8TWVzc2FnZVR5cGU+KG1lc3NhZ2VUeXBl
KSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8
TWVzc2FnZUxldmVsPihtZXNzYWdlTGV2ZWwpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBTdHJpbmcobWVzc2FnZSksIGxpbmVOdW1iZXIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0cmluZyhzb3VyY2VVUkwpLCAwKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RyaW5nKHNvdXJjZVVSTCkpOwog
fQogCiB2b2lkIFdlYldvcmtlckNsaWVudEltcGw6OnBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2Vy
T2JqZWN0KGludCBzb3VyY2VJZCwKQEAgLTM4Miw3ICszODEsOSBAQCB2b2lkIFdlYldvcmtlckNs
aWVudEltcGw6OnBvc3RFeGNlcHRpb25Ub1dvcmtlck9iamVjdFRhc2soCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
c291cmNlVVJMLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVOdW1iZXIpKTsKICAgICBpZiAoIWhhbmRsZWQp
Ci0gICAgICAgIHRoaXNQdHItPm1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+cmVwb3J0RXhjZXB0
aW9uKGVycm9yTWVzc2FnZSwgbGluZU51bWJlciwgc291cmNlVVJMLCAwKTsKKyAgICAgICAgdGhp
c1B0ci0+bV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5yZXBvcnRFeGNlcHRpb24oZXJyb3JNZXNz
YWdlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBsaW5lTnVtYmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2VVUkwpOwogfQogCiB2b2lkIFdlYldvcmtlckNs
aWVudEltcGw6OnBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0VGFzayhTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiBjb250ZXh0LApAQCAtMzk3LDcgKzM5OCw4IEBAIHZvaWQgV2ViV29ya2Vy
Q2xpZW50SW1wbDo6cG9zdENvbnNvbGVNZXNzYWdlVG9Xb3JrZXJPYmplY3RUYXNrKFNjcmlwdEV4
ZWN1dGlvbkNvCiAgICAgdGhpc1B0ci0+bV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5hZGRNZXNz
YWdlKHN0YXRpY19jYXN0PE1lc3NhZ2VTb3VyY2U+KHNvdXJjZUlkKSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8TWVzc2FnZVR5
cGU+KG1lc3NhZ2VUeXBlKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc3RhdGljX2Nhc3Q8TWVzc2FnZUxldmVsPihtZXNzYWdlTGV2ZWwpLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlLCBs
aW5lTnVtYmVyLCBzb3VyY2VVUkwsIDApOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBtZXNzYWdlLCBsaW5lTnVtYmVyLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2VVUkwpOwogfQogCiB2b2lk
IFdlYldvcmtlckNsaWVudEltcGw6OmNvbmZpcm1NZXNzYWdlRnJvbVdvcmtlck9iamVjdFRhc2so
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwK
</data>

          </attachment>
      

    </bug>

</bugzilla>