<?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>141201</bug_id>
          
          <creation_ts>2015-02-03 10:19:46 -0800</creation_ts>
          <short_desc>REGRESSION(r179548): Hits debug assertions in 50+ SVG tests (Requested by brrian on #webkit).</short_desc>
          <delta_ts>2015-02-03 10:28:35 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>141148</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>darin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1066478</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-02-03 10:19:46 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/179548 broke the build:
Hits debug assertions in 50+ SVG tests (Requested by brrian on #webkit).

This is an automatic bug report generated by webkitbot. 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 fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1066480</commentid>
    <comment_count>1</comment_count>
      <attachid>245947</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-02-03 10:20:13 -0800</bug_when>
    <thetext>Created attachment 245947
ROLLOUT of r179548

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

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1066487</commentid>
    <comment_count>2</comment_count>
      <attachid>245947</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-02-03 10:28:32 -0800</bug_when>
    <thetext>Comment on attachment 245947
ROLLOUT of r179548

Clearing flags on attachment: 245947

Committed r179555: &lt;http://trac.webkit.org/changeset/179555&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1066488</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-02-03 10:28:35 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>245947</attachid>
            <date>2015-02-03 10:20:13 -0800</date>
            <delta_ts>2015-02-03 10:28:32 -0800</delta_ts>
            <desc>ROLLOUT of r179548</desc>
            <filename>bug-141201-20150203102013.patch</filename>
            <type>text/plain</type>
            <size>45461</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc5NTUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTNkYzUwNjNmMjI1OWUw
YjNlOWEwMzNlNmFiMDExZjgzN2QzODBiMS4uMThlMTQwNWVmMjYyMzViMmIyYjA0N2UzNmVmNjVi
MjNhOTUyMTY3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE1LTAyLTAzICBDb21t
aXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KKworICAgICAgICBVbnJldmlld2Vk
LCByb2xsaW5nIG91dCByMTc5NTQ4LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTQxMjAxCisKKyAgICAgICAgSGl0cyBkZWJ1ZyBhc3NlcnRpb25zIGlu
IDUwKyBTVkcgdGVzdHMgKFJlcXVlc3RlZCBieSBicnJpYW4gb24KKyAgICAgICAgI3dlYmtpdCku
CisKKyAgICAgICAgUmV2ZXJ0ZWQgY2hhbmdlc2V0OgorCisgICAgICAgICJNb3ZlIEluc3RhbmNl
SW52YWxpZGF0aW9uR3VhcmQvVXBkYXRlQmxvY2tlciB0byBTVkdFbGVtZW50CisgICAgICAgIGZy
b20gU1ZHRWxlbWVudEluc3RhbmNlIgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTQxMTQ4CisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hh
bmdlc2V0LzE3OTU0OAorCiAyMDE1LTAyLTAzICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUu
Y29tPgogCiAgICAgICAgIFtNYWNdIEhMUyBhdWRpbyBpcyBub3QgY29ycmVjdGx5IHNlbGVjdGVk
IGFjY29yZGluZyB0byBzeXN0ZW0gbGFuZ3VhZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdBRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQUVsZW1lbnQuY3Bw
CmluZGV4IGFiMTc3ZWJhZmI0YTNhNWZkM2U2Mzk2MTY1MDE5M2U1N2Y1YTU4ZTUuLjcwOGJjNjI3
NTBmZTdjMWMxNDFkZTJmMTBmNWE0YWMxYTU2ZjZjOTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdBRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FFbGVt
ZW50LmNwcApAQCAtMTI2LDcgKzEyNiw3IEBAIHZvaWQgU1ZHQUVsZW1lbnQ6OnN2Z0F0dHJpYnV0
ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUpCiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAKLSAgICBJbnN0YW5jZUludmFsaWRhdGlvbkd1YXJkIGd1YXJkKCp0aGlzKTsKKyAg
ICBTVkdFbGVtZW50SW5zdGFuY2U6OkludmFsaWRhdGlvbkd1YXJkIGludmFsaWRhdGlvbkd1YXJk
KHRoaXMpOwogCiAgICAgLy8gVW5saWtlIG90aGVyIFNWRypFbGVtZW50IGNsYXNzZXMsIFNWR0FF
bGVtZW50IG9ubHkgbGlzdGVucyB0byBTVkdVUklSZWZlcmVuY2UgY2hhbmdlcwogICAgIC8vIGFz
IG5vbmUgb2YgdGhlIG90aGVyIHByb3BlcnRpZXMgY2hhbmdlcyB0aGUgbGlua2luZyBiZWhhdmlv
dXIgZm9yIG91ciA8YT4gZWxlbWVudC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdBbmltYXRlRWxlbWVudEJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVF
bGVtZW50QmFzZS5jcHAKaW5kZXggYzFjY2RjMjNjYWY0YzUyZmMyMDZlMjUzYWY0YTg1OWFhYTM4
MTgzYS4uYmRlMmI3MTllNWIzYjBhYTI5MDNlNTY2ZTdmNDdiNTI4YWZkZmIzYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVFbGVtZW50QmFzZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVFbGVtZW50QmFzZS5jcHAKQEAgLTI1OCw3ICsyNTgs
NyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgYXBwbHlDU1NQcm9wZXJ0eVRvVGFyZ2V0QW5kSW5zdGFu
Y2VzKFNWR0VsZW1lbnQmIHRhcmdldEVsZW1lbgogCiAgICAgQ1NTUHJvcGVydHlJRCBpZCA9IGNz
c1Byb3BlcnR5SUQoYXR0cmlidXRlTmFtZS5sb2NhbE5hbWUoKSk7CiAKLSAgICBTVkdFbGVtZW50
OjpJbnN0YW5jZVVwZGF0ZUJsb2NrZXIgYmxvY2tlcih0YXJnZXRFbGVtZW50KTsKKyAgICBTVkdF
bGVtZW50SW5zdGFuY2U6Okluc3RhbmNlVXBkYXRlQmxvY2tlciBibG9ja2VyKCZ0YXJnZXRFbGVt
ZW50KTsKICAgICBhcHBseUNTU1Byb3BlcnR5VG9UYXJnZXQodGFyZ2V0RWxlbWVudCwgaWQsIHZh
bHVlQXNTdHJpbmcpOwogCiAgICAgLy8gSWYgdGhlIHRhcmdldCBlbGVtZW50IGhhcyBpbnN0YW5j
ZXMsIHVwZGF0ZSB0aGVtIGFzIHdlbGwsIHcvbyByZXF1aXJpbmcgdGhlIDx1c2U+IHRyZWUgdG8g
YmUgcmVidWlsdC4KQEAgLTI3NCw3ICsyNzQsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgcmVtb3Zl
Q1NTUHJvcGVydHlGcm9tVGFyZ2V0QW5kSW5zdGFuY2VzKFNWR0VsZW1lbnQmIHRhcmdldEVsZQog
CiAgICAgQ1NTUHJvcGVydHlJRCBpZCA9IGNzc1Byb3BlcnR5SUQoYXR0cmlidXRlTmFtZS5sb2Nh
bE5hbWUoKSk7CiAKLSAgICBTVkdFbGVtZW50OjpJbnN0YW5jZVVwZGF0ZUJsb2NrZXIgYmxvY2tl
cih0YXJnZXRFbGVtZW50KTsKKyAgICBTVkdFbGVtZW50SW5zdGFuY2U6Okluc3RhbmNlVXBkYXRl
QmxvY2tlciBibG9ja2VyKCZ0YXJnZXRFbGVtZW50KTsKICAgICByZW1vdmVDU1NQcm9wZXJ0eUZy
b21UYXJnZXQodGFyZ2V0RWxlbWVudCwgaWQpOwogCiAgICAgLy8gSWYgdGhlIHRhcmdldCBlbGVt
ZW50IGhhcyBpbnN0YW5jZXMsIHVwZGF0ZSB0aGVtIGFzIHdlbGwsIHcvbyByZXF1aXJpbmcgdGhl
IDx1c2U+IHRyZWUgdG8gYmUgcmVidWlsdC4KQEAgLTI5Myw3ICsyOTMsNyBAQCBzdGF0aWMgaW5s
aW5lIHZvaWQgbm90aWZ5VGFyZ2V0QW5kSW5zdGFuY2VzQWJvdXRBbmltVmFsQ2hhbmdlKFNWR0Vs
ZW1lbnQmIHRhcmdldAogICAgIGlmIChhdHRyaWJ1dGVOYW1lID09IGFueVFOYW1lKCkgfHwgIXRh
cmdldEVsZW1lbnQuaW5Eb2N1bWVudCgpIHx8ICF0YXJnZXRFbGVtZW50LnBhcmVudE5vZGUoKSkK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgU1ZHRWxlbWVudDo6SW5zdGFuY2VVcGRhdGVCbG9ja2Vy
IGJsb2NrZXIodGFyZ2V0RWxlbWVudCk7CisgICAgU1ZHRWxlbWVudEluc3RhbmNlOjpJbnN0YW5j
ZVVwZGF0ZUJsb2NrZXIgYmxvY2tlcigmdGFyZ2V0RWxlbWVudCk7CiAgICAgbm90aWZ5VGFyZ2V0
QWJvdXRBbmltVmFsQ2hhbmdlKHRhcmdldEVsZW1lbnQsIGF0dHJpYnV0ZU5hbWUpOwogCiAgICAg
Ly8gSWYgdGhlIHRhcmdldCBlbGVtZW50IGhhcyBpbnN0YW5jZXMsIHVwZGF0ZSB0aGVtIGFzIHdl
bGwsIHcvbyByZXF1aXJpbmcgdGhlIDx1c2U+IHRyZWUgdG8gYmUgcmVidWlsdC4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFBhdGguY3BwIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0FuaW1hdGVkUGF0aC5jcHAKaW5kZXggZmJhOGE2MWQyZjg4NTQ2NTYwMDM0MTdj
M2VjNTE0MDAyZTYwYTAxMy4uZTBhNzMxMDNlOTk3MDI5YmU2NDdmM2NlMTAzOGZhMjc2NWQ2MmY2
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkUGF0aC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkUGF0aC5jcHAKQEAgLTU0LDcgKzU0LDcg
QEAgc3RkOjp1bmlxdWVfcHRyPFNWR0FuaW1hdGVkVHlwZT4gU1ZHQW5pbWF0ZWRQYXRoQW5pbWF0
b3I6OnN0YXJ0QW5pbVZhbEFuaW1hdGlvbigKICAgICBmb3IgKFNWR0VsZW1lbnRBbmltYXRlZFBy
b3BlcnR5TGlzdDo6Y29uc3RfaXRlcmF0b3IgaXQgPSBhbmltYXRlZFR5cGVzLmJlZ2luKCk7IGl0
ICE9IGVuZDsgKytpdCkKICAgICAgICAgcmVzdWx0LmFwcGVuZChjYXN0QW5pbWF0ZWRQcm9wZXJ0
eVRvQWN0dWFsVHlwZTxTVkdBbmltYXRlZFBhdGhTZWdMaXN0UHJvcGVydHlUZWFyT2ZmPihpdC0+
cHJvcGVydGllc1swXS5nZXQoKSkpOwogCi0gICAgU1ZHRWxlbWVudDo6SW5zdGFuY2VVcGRhdGVC
bG9ja2VyIGJsb2NrZXIoKnByb3BlcnR5LT5jb250ZXh0RWxlbWVudCgpKTsKKyAgICBTVkdFbGVt
ZW50SW5zdGFuY2U6Okluc3RhbmNlVXBkYXRlQmxvY2tlciBibG9ja2VyKHByb3BlcnR5LT5jb250
ZXh0RWxlbWVudCgpKTsKIAogICAgIHNpemVfdCByZXN1bHRTaXplID0gcmVzdWx0LnNpemUoKTsK
ICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHJlc3VsdFNpemU7ICsraSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFR5cGVBbmltYXRvci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRUeXBlQW5pbWF0b3IuY3BwCmluZGV4IDg1YTJjMWZiNmQy
OGM5NjhjNzUwN2VhMDQ0NzQ3ZmM4MTJlNjU2ZWIuLjZjNGViYjQ4MDE5NzQxZTNkYmI1MDg4MDQ5
MmMzODNhOTNhYmQ5YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRl
ZFR5cGVBbmltYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkVHlw
ZUFuaW1hdG9yLmNwcApAQCAtODMsOSArODMsNCBAQCBTVkdFbGVtZW50QW5pbWF0ZWRQcm9wZXJ0
eUxpc3QgU1ZHQW5pbWF0ZWRUeXBlQW5pbWF0b3I6OmZpbmRBbmltYXRlZFByb3BlcnRpZXNGbwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLXZvaWQgU1ZHQW5pbWF0ZWRUeXBlQW5pbWF0b3I6OnNl
dEluc3RhbmNlVXBkYXRlc0Jsb2NrZWQoU1ZHRWxlbWVudCYgZWxlbWVudCwgYm9vbCBibG9ja2Vk
KQotewotICAgIGVsZW1lbnQuc2V0SW5zdGFuY2VVcGRhdGVzQmxvY2tlZChibG9ja2VkKTsKLX0K
LQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0FuaW1hdGVkVHlwZUFuaW1hdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0
ZWRUeXBlQW5pbWF0b3IuaAppbmRleCBjNjhmNzU2MTE0M2JmNDdhM2VkYTQwM2QyODdkYTk4YWYy
OGJiYWM5Li5jOTMzNmY4NDU1ZjcyYWQyZWM4YmFlNzYyYWMxYWEyMDQyNTE5ZWYwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRUeXBlQW5pbWF0b3IuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRUeXBlQW5pbWF0b3IuaApAQCAtMTg5LDggKzE4
OSw3IEBAIHByaXZhdGU6CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgQW5pbVZhbFR5cGU+CiAgICAg
dm9pZCBleGVjdXRlQWN0aW9uKEFuaW1hdGlvbkFjdGlvbiBhY3Rpb24sIGNvbnN0IFNWR0VsZW1l
bnRBbmltYXRlZFByb3BlcnR5TGlzdCYgYW5pbWF0ZWRUeXBlcywgdW5zaWduZWQgd2hpY2hQcm9w
ZXJ0eSwgdHlwZW5hbWUgQW5pbVZhbFR5cGU6OkNvbnRlbnRUeXBlKiB0eXBlID0gMCkKICAgICB7
Ci0gICAgICAgIC8vIEZJWE1FOiBDYW4ndCB1c2UgU1ZHRWxlbWVudDo6SW5zdGFuY2VVcGRhdGVC
bG9ja2VyIGJlY2F1c2Ugb2YgY2lyY3VsYXIgaGVhZGVyIGRlcGVuZGVuY3kuIFdvdWxkIGJlIG5p
Y2UgdG8gdW50YW5nbGUgdGhpcy4KLSAgICAgICAgc2V0SW5zdGFuY2VVcGRhdGVzQmxvY2tlZCgq
YW5pbWF0ZWRUeXBlc1swXS5lbGVtZW50LCB0cnVlKTsKKyAgICAgICAgU1ZHRWxlbWVudEluc3Rh
bmNlOjpJbnN0YW5jZVVwZGF0ZUJsb2NrZXIgYmxvY2tlcihhbmltYXRlZFR5cGVzWzBdLmVsZW1l
bnQpOwogCiAgICAgICAgIFNWR0VsZW1lbnRBbmltYXRlZFByb3BlcnR5TGlzdDo6Y29uc3RfaXRl
cmF0b3IgZW5kID0gYW5pbWF0ZWRUeXBlcy5lbmQoKTsKICAgICAgICAgZm9yIChTVkdFbGVtZW50
QW5pbWF0ZWRQcm9wZXJ0eUxpc3Q6OmNvbnN0X2l0ZXJhdG9yIGl0ID0gYW5pbWF0ZWRUeXBlcy5i
ZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpIHsKQEAgLTIxNywxMSArMjE2LDcgQEAgcHJpdmF0ZToK
ICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KICAgICAgICAgfQotCi0gICAg
ICAgIHNldEluc3RhbmNlVXBkYXRlc0Jsb2NrZWQoKmFuaW1hdGVkVHlwZXNbMF0uZWxlbWVudCwg
ZmFsc2UpOwogICAgIH0KLQotICAgIHN0YXRpYyB2b2lkIHNldEluc3RhbmNlVXBkYXRlc0Jsb2Nr
ZWQoU1ZHRWxlbWVudCYsIGJvb2wpOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0NpcmNsZUVsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0NpcmNsZUVsZW1lbnQuY3BwCmluZGV4IDE5NmNjMjcwM2NjOWRhZmZh
ZmEzMTAxODdmZDViY2VmNDZlMzE0NmUuLmExOWJhYmFjNmY4YzRhY2I5OTRkOWEzZjYxNzIwMzBh
NmYyODYxNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdDaXJjbGVFbGVtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQ2lyY2xlRWxlbWVudC5jcHAKQEAgLTEw
NCw3ICsxMDQsNyBAQCB2b2lkIFNWR0NpcmNsZUVsZW1lbnQ6OnN2Z0F0dHJpYnV0ZUNoYW5nZWQo
Y29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAK
LSAgICBJbnN0YW5jZUludmFsaWRhdGlvbkd1YXJkIGd1YXJkKCp0aGlzKTsKKyAgICBTVkdFbGVt
ZW50SW5zdGFuY2U6OkludmFsaWRhdGlvbkd1YXJkIGludmFsaWRhdGlvbkd1YXJkKHRoaXMpOwog
CiAgICAgaWYgKGF0dHJOYW1lID09IFNWR05hbWVzOjpjeEF0dHIKICAgICAgICAgfHwgYXR0ck5h
bWUgPT0gU1ZHTmFtZXM6OmN5QXR0cgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0NsaXBQYXRoRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQ2xpcFBhdGhFbGVt
ZW50LmNwcAppbmRleCA2NzlkMzRjMTQ0NzZlNWFmNjEzMzg3OGJjYmVmNTQ5NWViMjg2OTNiLi44
Y2ViNjNkMzA2ZDM3ZjMwZTg0YjUxZGI3ZWFmNDdhNTk1Zjc3ZDFjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHQ2xpcFBhdGhFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHQ2xpcFBhdGhFbGVtZW50LmNwcApAQCAtOTYsNyArOTYsNyBAQCB2b2lkIFNWR0Ns
aXBQYXRoRWxlbWVudDo6c3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJiBh
dHRyTmFtZSkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIEluc3RhbmNlSW52YWxpZGF0
aW9uR3VhcmQgZ3VhcmQoKnRoaXMpOworICAgIFNWR0VsZW1lbnRJbnN0YW5jZTo6SW52YWxpZGF0
aW9uR3VhcmQgaW52YWxpZGF0aW9uR3VhcmQodGhpcyk7CiAKICAgICBpZiAoUmVuZGVyT2JqZWN0
KiBvYmplY3QgPSByZW5kZXJlcigpKQogICAgICAgICBvYmplY3QtPnNldE5lZWRzTGF5b3V0KCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5j
dGlvbkVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0NvbXBvbmVudFRyYW5zZmVy
RnVuY3Rpb25FbGVtZW50LmNwcAppbmRleCAxYWY4MTQxY2E1OTBhN2YxOWE3NjJhOWVjNDY0OTcw
OTA3NTdiMDA3Li5lNDM4MDM5OTBkN2YwYTUyY2VjZGUxZGExMDliYmRjYmIzOGUxZmVjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVs
ZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdDb21wb25lbnRUcmFuc2ZlckZ1
bmN0aW9uRWxlbWVudC5jcHAKQEAgLTEzMSw3ICsxMzEsNyBAQCB2b2lkIFNWR0NvbXBvbmVudFRy
YW5zZmVyRnVuY3Rpb25FbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmll
ZE5hbQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgSW5zdGFuY2VJbnZhbGlkYXRpb25H
dWFyZCBndWFyZCgqdGhpcyk7CisgICAgU1ZHRWxlbWVudEluc3RhbmNlOjpJbnZhbGlkYXRpb25H
dWFyZCBpbnZhbGlkYXRpb25HdWFyZCh0aGlzKTsKIAogICAgIGludmFsaWRhdGVGaWx0ZXJQcmlt
aXRpdmVQYXJlbnQodGhpcyk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
Q3Vyc29yRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQ3Vyc29yRWxlbWVudC5j
cHAKaW5kZXggMTY2OTAxZDE0OTU3OWVmZDUzODQ3M2Y3ZmUwYTExOGY4OWRiNWZlNy4uMGEyNTEy
MmNiMDIxNTYwNGQyYmE3MTJhNmZjYTFiOTNmOTQ0MjQxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0N1cnNvckVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdDdXJzb3JFbGVtZW50LmNwcApAQCAtMTIxLDcgKzEyMSw3IEBAIHZvaWQgU1ZHQ3Vyc29yRWxl
bWVudDo6c3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSkK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIEluc3RhbmNlSW52YWxpZGF0aW9uR3VhcmQg
Z3VhcmQoKnRoaXMpOworICAgIFNWR0VsZW1lbnRJbnN0YW5jZTo6SW52YWxpZGF0aW9uR3VhcmQg
aW52YWxpZGF0aW9uR3VhcmQodGhpcyk7CiAKICAgICAvLyBBbnkgY2hhbmdlIG9mIGEgY3Vyc29y
IHNwZWNpZmljIGF0dHJpYnV0ZSB0cmlnZ2VycyB0aGlzIHJlY2FsYy4KICAgICBIYXNoU2V0PFNW
R0VsZW1lbnQqPjo6Y29uc3RfaXRlcmF0b3IgaXQgPSBtX2NsaWVudHMuYmVnaW4oKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdFbGVtZW50LmNwcAppbmRleCA4Y2U4M2ViM2JiZWI4MGJkZTI3MjZiNzI2MGNkYjg4
Y2I1YmE2MTJmLi5hMzI1NmNmNWJkYWVhOGYwYjUzMGY0YWY3NWMwMWY0YmQ4MDFkN2ZmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwCkBAIC0zOTIsNyArMzkyLDcgQEAgdm9pZCBTVkdFbGVt
ZW50OjpyZW1vdmVkRnJvbShDb250YWluZXJOb2RlJiByb290UGFyZW50KQogICAgICAgICBkb2N1
bWVudCgpLmFjY2Vzc1NWR0V4dGVuc2lvbnMoKS5jbGVhclRhcmdldERlcGVuZGVuY2llcygqdGhp
cyk7CiAgICAgICAgIGRvY3VtZW50KCkuYWNjZXNzU1ZHRXh0ZW5zaW9ucygpLnJlbW92ZUFsbEVs
ZW1lbnRSZWZlcmVuY2VzRm9yVGFyZ2V0KHRoaXMpOwogICAgIH0KLSAgICBpbnZhbGlkYXRlSW5z
dGFuY2VzKCk7CisgICAgU1ZHRWxlbWVudEluc3RhbmNlOjppbnZhbGlkYXRlQWxsSW5zdGFuY2Vz
T2ZFbGVtZW50KHRoaXMpOwogfQogCiBTVkdTVkdFbGVtZW50KiBTVkdFbGVtZW50Ojpvd25lclNW
R0VsZW1lbnQoKSBjb25zdApAQCAtNzEzLDcgKzcxMyw3IEBAIHZvaWQgU1ZHRWxlbWVudDo6Zmlu
aXNoUGFyc2luZ0NoaWxkcmVuKCkKIAogICAgIC8vIE5vdGlmeSBhbGwgdGhlIGVsZW1lbnRzIHdo
aWNoIGhhdmUgcmVmZXJlbmNlcyB0byB0aGlzIGVsZW1lbnQgdG8gcmVidWlsZCB0aGVpciBzaGFk
b3cgYW5kIHJlbmRlcgogICAgIC8vIHRyZWVzLCBlLmcuIGEgPHVzZT4gZWxlbWVudCByZWZlcmVu
Y2VzIGEgdGFyZ2V0IGVsZW1lbnQgYmVmb3JlIHRoaXMgdGFyZ2V0IGVsZW1lbnQgaXMgZGVmaW5l
ZC4KLSAgICBpbnZhbGlkYXRlSW5zdGFuY2VzKCk7CisgICAgU1ZHRWxlbWVudEluc3RhbmNlOjpp
bnZhbGlkYXRlQWxsSW5zdGFuY2VzT2ZFbGVtZW50KHRoaXMpOwogfQogCiBib29sIFNWR0VsZW1l
bnQ6OmNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIoY29uc3QgTm9kZSYgY2hpbGQpIGNvbnN0CkBA
IC0xMDQ0LDEzICsxMDQ0LDEzIEBAIHZvaWQgU1ZHRWxlbWVudDo6c3ZnQXR0cmlidXRlQ2hhbmdl
ZChjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSkKIHsKICAgICBDU1NQcm9wZXJ0eUlEIHBy
b3BJZCA9IGNzc1Byb3BlcnR5SWRGb3JTVkdBdHRyaWJ1dGVOYW1lKGF0dHJOYW1lKTsKICAgICBp
ZiAocHJvcElkID4gMCkgewotICAgICAgICBpbnZhbGlkYXRlSW5zdGFuY2VzKCk7CisgICAgICAg
IFNWR0VsZW1lbnRJbnN0YW5jZTo6aW52YWxpZGF0ZUFsbEluc3RhbmNlc09mRWxlbWVudCh0aGlz
KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlmIChhdHRyTmFtZSA9PSBIVE1MTmFt
ZXM6OmNsYXNzQXR0cikgewogICAgICAgICBjbGFzc0F0dHJpYnV0ZUNoYW5nZWQoY2xhc3NOYW1l
KCkpOwotICAgICAgICBpbnZhbGlkYXRlSW5zdGFuY2VzKCk7CisgICAgICAgIFNWR0VsZW1lbnRJ
bnN0YW5jZTo6aW52YWxpZGF0ZUFsbEluc3RhbmNlc09mRWxlbWVudCh0aGlzKTsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KIApAQCAtMTA2MSw3ICsxMDYxLDcgQEAgdm9pZCBTVkdFbGVtZW50Ojpz
dmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lKQogICAgICAg
ICAgICAgZG93bmNhc3Q8UmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXI+KCpyZW5kZXJlcikuaWRD
aGFuZ2VkKCk7CiAgICAgICAgIGlmIChpbkRvY3VtZW50KCkpCiAgICAgICAgICAgICBidWlsZFBl
bmRpbmdSZXNvdXJjZXNJZk5lZWRlZCgpOwotICAgICAgICBpbnZhbGlkYXRlSW5zdGFuY2VzKCk7
CisgICAgICAgIFNWR0VsZW1lbnRJbnN0YW5jZTo6aW52YWxpZGF0ZUFsbEluc3RhbmNlc09mRWxl
bWVudCh0aGlzKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIH0KQEAgLTExMDMsNyArMTEwMyw3
IEBAIHZvaWQgU1ZHRWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkKGNvbnN0IENoaWxkQ2hhbmdlJiBj
aGFuZ2UpCiAKICAgICBpZiAoY2hhbmdlLnNvdXJjZSA9PSBDaGlsZENoYW5nZVNvdXJjZVBhcnNl
cikKICAgICAgICAgcmV0dXJuOwotICAgIGludmFsaWRhdGVJbnN0YW5jZXMoKTsKKyAgICBTVkdF
bGVtZW50SW5zdGFuY2U6OmludmFsaWRhdGVBbGxJbnN0YW5jZXNPZkVsZW1lbnQodGhpcyk7CiB9
CiAKIFJlZlB0cjxDU1NWYWx1ZT4gU1ZHRWxlbWVudDo6Z2V0UHJlc2VudGF0aW9uQXR0cmlidXRl
KGNvbnN0IFN0cmluZyYgbmFtZSkKQEAgLTExMzAsMTAgKzExMzAsNiBAQCBib29sIFNWR0VsZW1l
bnQ6Omluc3RhbmNlVXBkYXRlc0Jsb2NrZWQoKSBjb25zdAogCiB2b2lkIFNWR0VsZW1lbnQ6OnNl
dEluc3RhbmNlVXBkYXRlc0Jsb2NrZWQoYm9vbCB2YWx1ZSkKIHsKLSAgICAvLyBDYXRjaCBhbnkg
Y2FsbGVycyB0aGF0IGNhbGxzIHNldEluc3RhbmNlVXBkYXRlc0Jsb2NrZWQodHJ1ZSkgdHdpY2Ug
aW4gYSByb3cuCi0gICAgLy8gVGhhdCBwcm9iYWJseSBpbmRpY2F0ZXMgbmVzdGVkIHVzZSBvZiBJ
bnN0YW5jZVVwZGF0ZUJsb2NrZXIgYW5kIGEgYnVnLgotICAgIEFTU0VSVCghdmFsdWUgfHwgIWlu
c3RhbmNlVXBkYXRlc0Jsb2NrZWQoKSk7Ci0KICAgICBpZiAobV9zdmdSYXJlRGF0YSkKICAgICAg
ICAgbV9zdmdSYXJlRGF0YS0+c2V0SW5zdGFuY2VVcGRhdGVzQmxvY2tlZCh2YWx1ZSk7CiB9CkBA
IC0xMjA1LDMwICsxMjAxLDQgQEAgdm9pZCBTVkdFbGVtZW50OjphY2Nlc3NLZXlBY3Rpb24oYm9v
bCBzZW5kTW91c2VFdmVudHMpCiAgICAgZGlzcGF0Y2hTaW11bGF0ZWRDbGljaygwLCBzZW5kTW91
c2VFdmVudHMgPyBTZW5kTW91c2VVcERvd25FdmVudHMgOiBTZW5kTm9FdmVudHMpOwogfQogCi12
b2lkIFNWR0VsZW1lbnQ6OmludmFsaWRhdGVJbnN0YW5jZXMoKQotewotICAgIGlmICghaW5Eb2N1
bWVudCgpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBpZiAoaW5zdGFuY2VVcGRhdGVzQmxvY2tl
ZCgpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBhdXRvJiBpbnN0YW5jZXMgPSB0aGlzLT5pbnN0
YW5jZXMoKTsKLSAgICBpZiAoaW5zdGFuY2VzLmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuOwot
Ci0gICAgLy8gTWFyayBhbGwgdXNlIGVsZW1lbnRzIHJlZmVyZW5jaW5nICdlbGVtZW50JyBmb3Ig
cmVidWlsZGluZwotICAgIGRvIHsKLSAgICAgICAgU1ZHRWxlbWVudCogaW5zdGFuY2UgPSAqaW5z
dGFuY2VzLmJlZ2luKCk7Ci0gICAgICAgIGlmIChTVkdVc2VFbGVtZW50KiBlbGVtZW50ID0gaW5z
dGFuY2UtPmNvcnJlc3BvbmRpbmdVc2VFbGVtZW50KCkpIHsKLSAgICAgICAgICAgIEFTU0VSVChl
bGVtZW50LT5pbkRvY3VtZW50KCkpOwotICAgICAgICAgICAgZWxlbWVudC0+aW52YWxpZGF0ZVNo
YWRvd1RyZWUoKTsKLSAgICAgICAgfQotICAgICAgICBpbnN0YW5jZS0+c2V0Q29ycmVzcG9uZGlu
Z0VsZW1lbnQobnVsbHB0cik7Ci0gICAgfSB3aGlsZSAoIWluc3RhbmNlcy5pc0VtcHR5KCkpOwot
Ci0gICAgLy8gRklYTUU6IFdoeSBpcyB0aGlzIG5lZWRlZD8KLSAgICBkb2N1bWVudCgpLnVwZGF0
ZVN0eWxlSWZOZWVkZWQoKTsKLX0KLQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmgKaW5kZXggYThj
OGVkZjIzMTg3NTc5MjdlYzBlYzg2YmFiZDYzYTA4YTU1MzNlYy4uNWM4NWNhN2JkMGU1OGU5YTYx
NzViY2IzZjMxMWJmNmEyMGNkOTkxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5oCkBAIC0xNTUs
OCArMTU1LDYgQEAgcHVibGljOgogCiAgICAgdm9pZCBjYWxsQ2xlYXJUYXJnZXQoKSB7IGNsZWFy
VGFyZ2V0KCk7IH0KIAotICAgIGNsYXNzIEluc3RhbmNlVXBkYXRlQmxvY2tlcjsKLQogcHJvdGVj
dGVkOgogICAgIFNWR0VsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAg
ICAgdmlydHVhbCB+U1ZHRWxlbWVudCgpOwpAQCAtMTg1LDggKzE4Myw2IEBAIHByb3RlY3RlZDoK
ICAgICB2b2lkIHVwZGF0ZVJlbGF0aXZlTGVuZ3Roc0luZm9ybWF0aW9uKCkgeyB1cGRhdGVSZWxh
dGl2ZUxlbmd0aHNJbmZvcm1hdGlvbihzZWxmSGFzUmVsYXRpdmVMZW5ndGhzKCksIHRoaXMpOyB9
CiAgICAgdm9pZCB1cGRhdGVSZWxhdGl2ZUxlbmd0aHNJbmZvcm1hdGlvbihib29sIGhhc1JlbGF0
aXZlTGVuZ3RocywgU1ZHRWxlbWVudCopOwogCi0gICAgY2xhc3MgSW5zdGFuY2VJbnZhbGlkYXRp
b25HdWFyZDsKLQogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgU1ZHRWxlbWVudEluc3RhbmNl
OwogCkBAIC0yMDQsOCArMjAwLDYgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIGJvb2wgZmlsdGVy
T3V0QW5pbWF0YWJsZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJikgY29uc3Q7CiAjZW5k
aWYKIAotICAgIHZvaWQgaW52YWxpZGF0ZUluc3RhbmNlcygpOwotCiAgICAgc3RkOjp1bmlxdWVf
cHRyPFNWR0VsZW1lbnRSYXJlRGF0YT4gbV9zdmdSYXJlRGF0YTsKIAogICAgIEhhc2hTZXQ8U1ZH
RWxlbWVudCo+IG1fZWxlbWVudHNXaXRoUmVsYXRpdmVMZW5ndGhzOwpAQCAtMjE2LDIyICsyMTAs
NiBAQCBwcml2YXRlOgogCiB9OwogCi1jbGFzcyBTVkdFbGVtZW50OjpJbnN0YW5jZUludmFsaWRh
dGlvbkd1YXJkIHsKLXB1YmxpYzoKLSAgICBJbnN0YW5jZUludmFsaWRhdGlvbkd1YXJkKFNWR0Vs
ZW1lbnQmKTsKLSAgICB+SW5zdGFuY2VJbnZhbGlkYXRpb25HdWFyZCgpOwotcHJpdmF0ZToKLSAg
ICBTVkdFbGVtZW50JiBtX2VsZW1lbnQ7Ci19OwotCi1jbGFzcyBTVkdFbGVtZW50OjpJbnN0YW5j
ZVVwZGF0ZUJsb2NrZXIgewotcHVibGljOgotICAgIEluc3RhbmNlVXBkYXRlQmxvY2tlcihTVkdF
bGVtZW50Jik7Ci0gICAgfkluc3RhbmNlVXBkYXRlQmxvY2tlcigpOwotcHJpdmF0ZToKLSAgICBT
VkdFbGVtZW50JiBtX2VsZW1lbnQ7Ci19OwotCiBzdHJ1Y3QgU1ZHQXR0cmlidXRlSGFzaFRyYW5z
bGF0b3IgewogICAgIHN0YXRpYyB1bnNpZ25lZCBoYXNoKGNvbnN0IFF1YWxpZmllZE5hbWUmIGtl
eSkKICAgICB7CkBAIC0yNDQsMjggKzIyMiw2IEBAIHN0cnVjdCBTVkdBdHRyaWJ1dGVIYXNoVHJh
bnNsYXRvciB7CiAgICAgc3RhdGljIGJvb2wgZXF1YWwoY29uc3QgUXVhbGlmaWVkTmFtZSYgYSwg
Y29uc3QgUXVhbGlmaWVkTmFtZSYgYikgeyByZXR1cm4gYS5tYXRjaGVzKGIpOyB9CiB9OwogCi1p
bmxpbmUgU1ZHRWxlbWVudDo6SW5zdGFuY2VJbnZhbGlkYXRpb25HdWFyZDo6SW5zdGFuY2VJbnZh
bGlkYXRpb25HdWFyZChTVkdFbGVtZW50JiBlbGVtZW50KQotICAgIDogbV9lbGVtZW50KGVsZW1l
bnQpCi17Ci19Ci0KLWlubGluZSBTVkdFbGVtZW50OjpJbnN0YW5jZUludmFsaWRhdGlvbkd1YXJk
Ojp+SW5zdGFuY2VJbnZhbGlkYXRpb25HdWFyZCgpCi17Ci0gICAgbV9lbGVtZW50LmludmFsaWRh
dGVJbnN0YW5jZXMoKTsKLX0KLQotaW5saW5lIFNWR0VsZW1lbnQ6Okluc3RhbmNlVXBkYXRlQmxv
Y2tlcjo6SW5zdGFuY2VVcGRhdGVCbG9ja2VyKFNWR0VsZW1lbnQmIGVsZW1lbnQpCi0gICAgOiBt
X2VsZW1lbnQoZWxlbWVudCkKLXsKLSAgICBtX2VsZW1lbnQuc2V0SW5zdGFuY2VVcGRhdGVzQmxv
Y2tlZCh0cnVlKTsKLX0KLQotaW5saW5lIFNWR0VsZW1lbnQ6Okluc3RhbmNlVXBkYXRlQmxvY2tl
cjo6fkluc3RhbmNlVXBkYXRlQmxvY2tlcigpCi17Ci0gICAgQVNTRVJUKG1fZWxlbWVudC5pbnN0
YW5jZVVwZGF0ZXNCbG9ja2VkKCkpOwotICAgIG1fZWxlbWVudC5zZXRJbnN0YW5jZVVwZGF0ZXNC
bG9ja2VkKGZhbHNlKTsKLX0KLQogaW5saW5lIGJvb2wgTm9kZTo6aGFzVGFnTmFtZShjb25zdCBT
VkdRdWFsaWZpZWROYW1lJiBuYW1lKSBjb25zdAogewogICAgIHJldHVybiBpc1NWR0VsZW1lbnQo
KSAmJiBkb3duY2FzdDxTVkdFbGVtZW50PigqdGhpcykuaGFzVGFnTmFtZShuYW1lKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50SW5zdGFuY2UuY3BwIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5jcHAKaW5kZXggMGVmY2YyYjA4NWUzNmM0
NGQ5NjViMDAxNjZjOTk1NzA5MTk2ODg3Zi4uYWJkZjU4ZmFmOGI0YWVlMDRiYjU3MWVkY2IzZWM0
MzU0ODljNDlmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRJbnN0
YW5jZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5jcHAK
QEAgLTE2Nyw2ICsxNjcsMzEgQEAgdm9pZCBTVkdFbGVtZW50SW5zdGFuY2U6OmFwcGVuZENoaWxk
KFBhc3NSZWZQdHI8U1ZHRWxlbWVudEluc3RhbmNlPiBjaGlsZCkKICAgICBhcHBlbmRDaGlsZFRv
Q29udGFpbmVyPFNWR0VsZW1lbnRJbnN0YW5jZSwgU1ZHRWxlbWVudEluc3RhbmNlPihjaGlsZC5n
ZXQoKSwgKnRoaXMpOwogfQogCit2b2lkIFNWR0VsZW1lbnRJbnN0YW5jZTo6aW52YWxpZGF0ZUFs
bEluc3RhbmNlc09mRWxlbWVudChTVkdFbGVtZW50KiBlbGVtZW50KQoreworICAgIGlmICghZWxl
bWVudCB8fCAhZWxlbWVudC0+aW5Eb2N1bWVudCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBp
ZiAoZWxlbWVudC0+aW5zdGFuY2VVcGRhdGVzQmxvY2tlZCgpKQorICAgICAgICByZXR1cm47CisK
KyAgICBhdXRvJiBpbnN0YW5jZXMgPSBlbGVtZW50LT5pbnN0YW5jZXMoKTsKKyAgICBpZiAoaW5z
dGFuY2VzLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgLy8gTWFyayBhbGwgdXNl
IGVsZW1lbnRzIHJlZmVyZW5jaW5nICdlbGVtZW50JyBmb3IgcmVidWlsZGluZworICAgIGRvIHsK
KyAgICAgICAgU1ZHRWxlbWVudCogaW5zdGFuY2UgPSAqaW5zdGFuY2VzLmJlZ2luKCk7CisgICAg
ICAgIGlmIChTVkdVc2VFbGVtZW50KiBlbGVtZW50ID0gaW5zdGFuY2UtPmNvcnJlc3BvbmRpbmdV
c2VFbGVtZW50KCkpIHsKKyAgICAgICAgICAgIEFTU0VSVChlbGVtZW50LT5pbkRvY3VtZW50KCkp
OworICAgICAgICAgICAgZWxlbWVudC0+aW52YWxpZGF0ZVNoYWRvd1RyZWUoKTsKKyAgICAgICAg
fQorICAgICAgICBpbnN0YW5jZS0+c2V0Q29ycmVzcG9uZGluZ0VsZW1lbnQobnVsbHB0cik7Cisg
ICAgfSB3aGlsZSAoIWluc3RhbmNlcy5pc0VtcHR5KCkpOworCisgICAgZWxlbWVudC0+ZG9jdW1l
bnQoKS51cGRhdGVTdHlsZUlmTmVlZGVkKCk7Cit9CisKIEV2ZW50VGFyZ2V0SW50ZXJmYWNlIFNW
R0VsZW1lbnRJbnN0YW5jZTo6ZXZlbnRUYXJnZXRJbnRlcmZhY2UoKSBjb25zdAogewogICAgIHJl
dHVybiBTVkdFbGVtZW50SW5zdGFuY2VFdmVudFRhcmdldEludGVyZmFjZVR5cGU7CkBAIC0yMTUs
NCArMjQwLDE3IEBAIEV2ZW50VGFyZ2V0RGF0YSYgU1ZHRWxlbWVudEluc3RhbmNlOjplbnN1cmVF
dmVudFRhcmdldERhdGEoKQogICAgIHJldHVybiAqZXZlbnRUYXJnZXREYXRhKCk7CiB9CiAKK1NW
R0VsZW1lbnRJbnN0YW5jZTo6SW5zdGFuY2VVcGRhdGVCbG9ja2VyOjpJbnN0YW5jZVVwZGF0ZUJs
b2NrZXIoU1ZHRWxlbWVudCogdGFyZ2V0RWxlbWVudCkKKyAgICA6IG1fdGFyZ2V0RWxlbWVudCh0
YXJnZXRFbGVtZW50KQoreworICAgIGlmIChtX3RhcmdldEVsZW1lbnQpCisgICAgICAgIG1fdGFy
Z2V0RWxlbWVudC0+c2V0SW5zdGFuY2VVcGRhdGVzQmxvY2tlZCh0cnVlKTsKK30KKworU1ZHRWxl
bWVudEluc3RhbmNlOjpJbnN0YW5jZVVwZGF0ZUJsb2NrZXI6On5JbnN0YW5jZVVwZGF0ZUJsb2Nr
ZXIoKQoreworICAgIGlmIChtX3RhcmdldEVsZW1lbnQpCisgICAgICAgIG1fdGFyZ2V0RWxlbWVu
dC0+c2V0SW5zdGFuY2VVcGRhdGVzQmxvY2tlZChmYWxzZSk7Cit9CisgICAKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50SW5zdGFuY2UuaCBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdFbGVtZW50SW5zdGFuY2UuaAppbmRleCA4MDEzMDIyZmUzZTEzZGMwMzVkZWU0
NjcxOGYzMWY1NDgwNGZmYTBiLi41NDEyOTc5NGZhYWUzYWVjNzJkNWY2YTQxNWIyNjk5NDY0YWJl
ODFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudEluc3RhbmNlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5oCkBAIC03MSw2ICs3
MSwyNyBAQCBwdWJsaWM6CiAKICAgICBEb2N1bWVudCogb3duZXJEb2N1bWVudCgpIGNvbnN0Owog
CisgICAgY2xhc3MgSW52YWxpZGF0aW9uR3VhcmQgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShJbnZhbGlkYXRpb25HdWFyZCk7CisgICAgcHVibGljOiAgICAKKyAgICAgICAgSW52YWxp
ZGF0aW9uR3VhcmQoU1ZHRWxlbWVudCogZWxlbWVudCkgOiBtX2VsZW1lbnQoZWxlbWVudCkgeyB9
CisgICAgICAgIH5JbnZhbGlkYXRpb25HdWFyZCgpIHsgU1ZHRWxlbWVudEluc3RhbmNlOjppbnZh
bGlkYXRlQWxsSW5zdGFuY2VzT2ZFbGVtZW50KG1fZWxlbWVudCk7IH0KKyAgICBwcml2YXRlOgor
ICAgICAgICBTVkdFbGVtZW50KiBtX2VsZW1lbnQ7CisgICAgfTsKKworICAgIGNsYXNzIEluc3Rh
bmNlVXBkYXRlQmxvY2tlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3RhbmNl
VXBkYXRlQmxvY2tlcik7CisgICAgcHVibGljOgorICAgICAgICBJbnN0YW5jZVVwZGF0ZUJsb2Nr
ZXIoU1ZHRWxlbWVudCogdGFyZ2V0RWxlbWVudCk7CisgICAgICAgIH5JbnN0YW5jZVVwZGF0ZUJs
b2NrZXIoKTsKKworICAgIHByaXZhdGU6CisgICAgICAgIFNWR0VsZW1lbnQqIG1fdGFyZ2V0RWxl
bWVudDsKKyAgICB9OworICAgIAorICAgIHN0YXRpYyB2b2lkIGludmFsaWRhdGVBbGxJbnN0YW5j
ZXNPZkVsZW1lbnQoU1ZHRWxlbWVudCopOworCiAgICAgdXNpbmcgVHJlZVNoYXJlZDxTVkdFbGVt
ZW50SW5zdGFuY2U+OjpyZWY7CiAgICAgdXNpbmcgVHJlZVNoYXJlZDxTVkdFbGVtZW50SW5zdGFu
Y2U+OjpkZXJlZjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsbGlwc2VF
bGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGxpcHNlRWxlbWVudC5jcHAKaW5k
ZXggMmU4NTk0N2ZlNjliYmQ3Y2UyNzcyMTYxNGY4Njg2YmNlOTNlMGU4Yi4uNDM3ZWUwNjAzMTQ0
MTFjYjQ5MTljNjlmMWE1ZjM2NjVlODlmMzAwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0VsbGlwc2VFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxs
aXBzZUVsZW1lbnQuY3BwCkBAIC0xMDgsNyArMTA4LDcgQEAgdm9pZCBTVkdFbGxpcHNlRWxlbWVu
dDo6c3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSkKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIEluc3RhbmNlSW52YWxpZGF0aW9uR3VhcmQgZ3Vh
cmQoKnRoaXMpOworICAgIFNWR0VsZW1lbnRJbnN0YW5jZTo6SW52YWxpZGF0aW9uR3VhcmQgaW52
YWxpZGF0aW9uR3VhcmQodGhpcyk7CiAKICAgICBpZiAoYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OmN4
QXR0cgogICAgICAgICB8fCBhdHRyTmFtZSA9PSBTVkdOYW1lczo6Y3lBdHRyCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVCbGVuZEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0ZFQmxlbmRFbGVtZW50LmNwcAppbmRleCA0ODJmMmViMWZkY2Q0ZjA4NGI0Zjg0
MTFjMWRhNGRhZjc1ODZjOGEwLi41YjIwNTcwZDdlMTAzN2RkODMxMTE1OGM4NzI5ZTU2MmM0MzAx
MmM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVCbGVuZEVsZW1lbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUJsZW5kRWxlbWVudC5jcHAKQEAgLTExMSw3
ICsxMTEsNyBAQCB2b2lkIFNWR0ZFQmxlbmRFbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNv
bnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lKQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0g
ICAgSW5zdGFuY2VJbnZhbGlkYXRpb25HdWFyZCBndWFyZCgqdGhpcyk7CisgICAgU1ZHRWxlbWVu
dEluc3RhbmNlOjpJbnZhbGlkYXRpb25HdWFyZCBpbnZhbGlkYXRpb25HdWFyZCh0aGlzKTsKIAog
ICAgIGlmIChhdHRyTmFtZSA9PSBTVkdOYW1lczo6bW9kZUF0dHIpIHsKICAgICAgICAgcHJpbWl0
aXZlQXR0cmlidXRlQ2hhbmdlZChhdHRyTmFtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0ZFQ29sb3JNYXRyaXhFbGVtZW50LmNwcAppbmRleCAzYmEzNmNmY2Y3NWY0ZGI5OTQ0NTI3MGRm
MmRmNWJiOTliZmI4ZDE5Li5jOWRjNDQ4NjFjMTk0MDcyZDhhOTFhYTRhNjhlZGEyYTdlMDQ0ZDAz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUNvbG9yTWF0cml4RWxlbWVudC5jcHAK
QEAgLTExNSw3ICsxMTUsNyBAQCB2b2lkIFNWR0ZFQ29sb3JNYXRyaXhFbGVtZW50OjpzdmdBdHRy
aWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lKQogICAgICAgICByZXR1
cm47CiAgICAgfQogCi0gICAgSW5zdGFuY2VJbnZhbGlkYXRpb25HdWFyZCBndWFyZCgqdGhpcyk7
CisgICAgU1ZHRWxlbWVudEluc3RhbmNlOjpJbnZhbGlkYXRpb25HdWFyZCBpbnZhbGlkYXRpb25H
dWFyZCh0aGlzKTsKIAogICAgIGlmIChhdHRyTmFtZSA9PSBTVkdOYW1lczo6dHlwZUF0dHIgfHwg
YXR0ck5hbWUgPT0gU1ZHTmFtZXM6OnZhbHVlc0F0dHIpIHsKICAgICAgICAgcHJpbWl0aXZlQXR0
cmlidXRlQ2hhbmdlZChhdHRyTmFtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHRkVDb21wb3NpdGVFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUNvbXBv
c2l0ZUVsZW1lbnQuY3BwCmluZGV4IGFiNjBkNmQyODk5ZjcwYzkyNDM4MDgwYTU2NWJlYTk3YzM4
NjU5ODcuLjE5NmEyNGQ4YWJhZTllM2U0NmNjN2ZlMmM3Y2ZlYjFhYzVmYzU0NDcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUNvbXBvc2l0ZUVsZW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUNvbXBvc2l0ZUVsZW1lbnQuY3BwCkBAIC0xNTEsNyArMTUx
LDcgQEAgdm9pZCBTVkdGRUNvbXBvc2l0ZUVsZW1lbnQ6OnN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29u
c3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAg
ICBJbnN0YW5jZUludmFsaWRhdGlvbkd1YXJkIGd1YXJkKCp0aGlzKTsKKyAgICBTVkdFbGVtZW50
SW5zdGFuY2U6OkludmFsaWRhdGlvbkd1YXJkIGludmFsaWRhdGlvbkd1YXJkKHRoaXMpOwogCiAg
ICAgaWYgKGF0dHJOYW1lID09IFNWR05hbWVzOjpvcGVyYXRvckF0dHIKICAgICAgICAgfHwgYXR0
ck5hbWUgPT0gU1ZHTmFtZXM6OmsxQXR0cgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0ZFQ29udm9sdmVNYXRyaXhFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdG
RUNvbnZvbHZlTWF0cml4RWxlbWVudC5jcHAKaW5kZXggOTgxZTllOTI0NjY3MzgyYmNkNjRhNGI3
ZmYwYjYyMDg0ZjNhNTA4OC4uM2ZmZGEyYTQyNTc0YTY2NzZlMjYxZDcxYzQyNjc1MTU1ZmNmY2I4
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQ29udm9sdmVNYXRyaXhFbGVt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1l
bnQuY3BwCkBAIC0yNTcsNyArMjU3LDcgQEAgdm9pZCBTVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVu
dDo6c3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmEKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KIAotICAgIEluc3RhbmNlSW52YWxpZGF0aW9uR3VhcmQgZ3VhcmQo
KnRoaXMpOworICAgIFNWR0VsZW1lbnRJbnN0YW5jZTo6SW52YWxpZGF0aW9uR3VhcmQgaW52YWxp
ZGF0aW9uR3VhcmQodGhpcyk7CiAKICAgICBpZiAoYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OmVkZ2VN
b2RlQXR0cgogICAgICAgICB8fCBhdHRyTmFtZSA9PSBTVkdOYW1lczo6ZGl2aXNvckF0dHIKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRURpZmZ1c2VMaWdodGluZ0VsZW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudC5jcHAK
aW5kZXggNDNiZjkwZmU0MWJkYWQ0OTA0YjVlOTcxODcyMmZlNmJiNDFiYmQ4Ny4uMGQ5OTA4NGZj
Yjg0YzdlZWUzMjU4OGY1OTQ0MjcxZDM3YjFlMjU1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudC5jcHAKQEAgLTE3NCw3ICsxNzQsNyBA
QCB2b2lkIFNWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudDo6c3ZnQXR0cmlidXRlQ2hhbmdlZChj
b25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTgogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAg
SW5zdGFuY2VJbnZhbGlkYXRpb25HdWFyZCBndWFyZCgqdGhpcyk7CisgICAgU1ZHRWxlbWVudElu
c3RhbmNlOjpJbnZhbGlkYXRpb25HdWFyZCBpbnZhbGlkYXRpb25HdWFyZCh0aGlzKTsKICAgICAK
ICAgICBpZiAoYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OnN1cmZhY2VTY2FsZUF0dHIKICAgICAgICAg
fHwgYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OmRpZmZ1c2VDb25zdGFudEF0dHIKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudC5jcHAKaW5kZXggNTEz
YzY3NTU0MzRlYzM3NGUzZDIwNjhhYmZlNzQ5ZWZjMWY5M2Y3My4uMjNjZDQ2Mjc4NTEyYTc5NTk0
M2JlOGMxNDYzYzgzZDE1ZDQ0MzViNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudC5jcHAKQEAgLTEzMiw3ICsxMzIsNyBAQCB2b2lkIFNW
R0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudDo6c3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFs
aWZpZWROYW1lJiBhdHRyTgogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgSW5zdGFuY2VJ
bnZhbGlkYXRpb25HdWFyZCBndWFyZCgqdGhpcyk7CisgICAgU1ZHRWxlbWVudEluc3RhbmNlOjpJ
bnZhbGlkYXRpb25HdWFyZCBpbnZhbGlkYXRpb25HdWFyZCh0aGlzKTsKICAgICAKICAgICBpZiAo
YXR0ck5hbWUgPT0gU1ZHTmFtZXM6OnhDaGFubmVsU2VsZWN0b3JBdHRyIHx8IGF0dHJOYW1lID09
IFNWR05hbWVzOjp5Q2hhbm5lbFNlbGVjdG9yQXR0ciB8fCBhdHRyTmFtZSA9PSBTVkdOYW1lczo6
c2NhbGVBdHRyKSB7CiAgICAgICAgIHByaW1pdGl2ZUF0dHJpYnV0ZUNoYW5nZWQoYXR0ck5hbWUp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRHJvcFNoYWRvd0VsZW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRHJvcFNoYWRvd0VsZW1lbnQuY3BwCmluZGV4
IDdjMzJhNWU0NjRmMGFhNzNhNTgzNmE1MmY5ZmI3MDA4YTIzOTFjYzIuLjQxMTlhOTIyZjExMzIz
NGNkOTJlODU0ZGI0YjUyMWJhNTJhMGMyN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdGRURyb3BTaGFkb3dFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
RkVEcm9wU2hhZG93RWxlbWVudC5jcHAKQEAgLTEzNSw3ICsxMzUsNyBAQCB2b2lkIFNWR0ZFRHJv
cFNoYWRvd0VsZW1lbnQ6OnN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYg
YXR0ck5hbWUpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBJbnN0YW5jZUludmFsaWRh
dGlvbkd1YXJkIGd1YXJkKCp0aGlzKTsKKyAgICBTVkdFbGVtZW50SW5zdGFuY2U6OkludmFsaWRh
dGlvbkd1YXJkIGludmFsaWRhdGlvbkd1YXJkKHRoaXMpOwogICAgIAogICAgIGlmIChhdHRyTmFt
ZSA9PSBTVkdOYW1lczo6aW5BdHRyCiAgICAgICAgIHx8IGF0dHJOYW1lID09IFNWR05hbWVzOjpz
dGREZXZpYXRpb25BdHRyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVHYXVz
c2lhbkJsdXJFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUdhdXNzaWFuQmx1
ckVsZW1lbnQuY3BwCmluZGV4IDNlZTUyMTEyZDJiZjRiNGIyYmQzZDMwMTQyMjNkNjg3N2QxNzY4
YmYuLmQzZDIxYTU4ZDk5YTQ1YjczODE4MjdmNTdiOGJjMDI4Y2Y5NzNmZTUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUdhdXNzaWFuQmx1ckVsZW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUdhdXNzaWFuQmx1ckVsZW1lbnQuY3BwCkBAIC0xMzAsNyAr
MTMwLDcgQEAgdm9pZCBTVkdGRUdhdXNzaWFuQmx1ckVsZW1lbnQ6OnN2Z0F0dHJpYnV0ZUNoYW5n
ZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUKICAgICAgICAgcmV0dXJuOwogICAgIH0K
IAotICAgIEluc3RhbmNlSW52YWxpZGF0aW9uR3VhcmQgZ3VhcmQoKnRoaXMpOworICAgIFNWR0Vs
ZW1lbnRJbnN0YW5jZTo6SW52YWxpZGF0aW9uR3VhcmQgaW52YWxpZGF0aW9uR3VhcmQodGhpcyk7
CiAgICAgCiAgICAgaWYgKGF0dHJOYW1lID09IFNWR05hbWVzOjppbkF0dHIKICAgICAgICAgfHwg
YXR0ck5hbWUgPT0gU1ZHTmFtZXM6OnN0ZERldmlhdGlvbkF0dHIKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdGRUltYWdlRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHRkVJbWFnZUVsZW1lbnQuY3BwCmluZGV4IDc0ZTNiZjEwYmI2MjY1OTBjYTk3YWY3NzljNzQ1
NWIzNWFiMGJjY2MuLjA2YzVlZjc3YTcxMTdkN2MyYmNjYzY5NDY3Zjc1MDQ5YWIyMjE2N2YgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUltYWdlRWxlbWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFSW1hZ2VFbGVtZW50LmNwcApAQCAtMTU1LDcgKzE1NSw3
IEBAIHZvaWQgU1ZHRkVJbWFnZUVsZW1lbnQ6OnN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVh
bGlmaWVkTmFtZSYgYXR0ck5hbWUpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBJbnN0
YW5jZUludmFsaWRhdGlvbkd1YXJkIGd1YXJkKCp0aGlzKTsKKyAgICBTVkdFbGVtZW50SW5zdGFu
Y2U6OkludmFsaWRhdGlvbkd1YXJkIGludmFsaWRhdGlvbkd1YXJkKHRoaXMpOwogICAgIAogICAg
IGlmIChhdHRyTmFtZSA9PSBTVkdOYW1lczo6cHJlc2VydmVBc3BlY3RSYXRpb0F0dHIpIHsKICAg
ICAgICAgaW52YWxpZGF0ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZF
TGlnaHRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUxpZ2h0RWxlbWVudC5j
cHAKaW5kZXggMjVmNjU3NzdlMDZhODU4YzVkNDIyNDEzOTI0NDYyMmViN2YwMDk0Zi4uN2ZmMTNh
MDViZDcwODNjMGYyMmVkZTBhZmZiNmUxNTExY2ZhMjc5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0ZFTGlnaHRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHRkVMaWdodEVsZW1lbnQuY3BwCkBAIC0xNzAsNyArMTcwLDcgQEAgdm9pZCBTVkdGRUxpZ2h0
RWxlbWVudDo6c3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFt
ZSkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIEluc3RhbmNlSW52YWxpZGF0aW9uR3Vh
cmQgZ3VhcmQoKnRoaXMpOworICAgIFNWR0VsZW1lbnRJbnN0YW5jZTo6SW52YWxpZGF0aW9uR3Vh
cmQgaW52YWxpZGF0aW9uR3VhcmQodGhpcyk7CiAgICAgCiAgICAgaWYgKGF0dHJOYW1lID09IFNW
R05hbWVzOjphemltdXRoQXR0cgogICAgICAgICB8fCBhdHRyTmFtZSA9PSBTVkdOYW1lczo6ZWxl
dmF0aW9uQXR0cgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFTWVyZ2VOb2Rl
RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVNZXJnZU5vZGVFbGVtZW50LmNw
cAppbmRleCAzMjYzYjIyYTAxYzg2MTdkMDBlZjc0OWQwNzdmZWE4ZWZjNzhjZTY2Li5hOTEyMjg3
YjE4NTdiOWVjZDZhOTU1YzljZGM1OTY1YjM3YWUxMmYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHRkVNZXJnZU5vZGVFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHRkVNZXJnZU5vZGVFbGVtZW50LmNwcApAQCAtODEsNyArODEsNyBAQCB2b2lkIFNWR0ZF
TWVyZ2VOb2RlRWxlbWVudDo6c3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1l
JiBhdHRyTmFtZSkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIEluc3RhbmNlSW52YWxp
ZGF0aW9uR3VhcmQgZ3VhcmQoKnRoaXMpOworICAgIFNWR0VsZW1lbnRJbnN0YW5jZTo6SW52YWxp
ZGF0aW9uR3VhcmQgaW52YWxpZGF0aW9uR3VhcmQodGhpcyk7CiAKICAgICBpZiAoYXR0ck5hbWUg
PT0gU1ZHTmFtZXM6OmluQXR0cikgewogICAgICAgICBpbnZhbGlkYXRlRmlsdGVyUHJpbWl0aXZl
UGFyZW50KHRoaXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFTW9ycGhv
bG9neUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFTW9ycGhvbG9neUVsZW1l
bnQuY3BwCmluZGV4IGFmZGExM2RkNDFjMzhkMjAwMDQ4YmZlZGM4NWY2OTM1ZGRjZjkwNDAuLjk0
ZjI0ZWYzOWU1Nzk3MmU0MmY4NTJmODRjOTI3MTE3MjMwNmVhZjIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdGRU1vcnBob2xvZ3lFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHRkVNb3JwaG9sb2d5RWxlbWVudC5jcHAKQEAgLTE0MSw3ICsxNDEsNyBAQCB2
b2lkIFNWR0ZFTW9ycGhvbG9neUVsZW1lbnQ6OnN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVh
bGlmaWVkTmFtZSYgYXR0ck5hbWUpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBJbnN0
YW5jZUludmFsaWRhdGlvbkd1YXJkIGd1YXJkKCp0aGlzKTsKKyAgICBTVkdFbGVtZW50SW5zdGFu
Y2U6OkludmFsaWRhdGlvbkd1YXJkIGludmFsaWRhdGlvbkd1YXJkKHRoaXMpOwogICAgIAogICAg
IGlmIChhdHRyTmFtZSA9PSBTVkdOYW1lczo6b3BlcmF0b3JBdHRyIHx8IGF0dHJOYW1lID09IFNW
R05hbWVzOjpyYWRpdXNBdHRyKSB7CiAgICAgICAgIHByaW1pdGl2ZUF0dHJpYnV0ZUNoYW5nZWQo
YXR0ck5hbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFT2Zmc2V0RWxl
bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVPZmZzZXRFbGVtZW50LmNwcAppbmRl
eCBhNGUzYTRjOTljMDNmYjBmOWEwMzZlZjg0N2I1OTZkMGE5NDk3MDVjLi40ODExYjJlZjJlY2Q3
MGY1N2M1ZjQ1MDdmYmQwNTBmNzFjZjI3NjM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHRkVPZmZzZXRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVP
ZmZzZXRFbGVtZW50LmNwcApAQCAtOTcsNyArOTcsNyBAQCB2b2lkIFNWR0ZFT2Zmc2V0RWxlbWVu
dDo6c3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSkKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIEluc3RhbmNlSW52YWxpZGF0aW9uR3VhcmQgZ3Vh
cmQoKnRoaXMpOworICAgIFNWR0VsZW1lbnRJbnN0YW5jZTo6SW52YWxpZGF0aW9uR3VhcmQgaW52
YWxpZGF0aW9uR3VhcmQodGhpcyk7CiAgICAgCiAgICAgaWYgKGF0dHJOYW1lID09IFNWR05hbWVz
OjppbkF0dHIgfHwgYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OmR4QXR0ciB8fCBhdHRyTmFtZSA9PSBT
VkdOYW1lczo6ZHlBdHRyKSB7CiAgICAgICAgIGludmFsaWRhdGUoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50LmNwcAppbmRleCA4MjI0
YzI5NzJmZWY3ZjlhODg5NWM2ZGI0MTgxZTFjYzljMTM1MTdmLi5iNzJiZTIwZDkzNTUzN2U4MTYz
NjQ2ZjVkNTg3ZDQwMDMwODc3OGM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
RkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQuY3BwCkBAIC0xODUsNyArMTg1LDcgQEAgdm9pZCBT
VkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1
YWxpZmllZE5hbWUmIGF0dHIKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIEluc3RhbmNl
SW52YWxpZGF0aW9uR3VhcmQgZ3VhcmQoKnRoaXMpOworICAgIFNWR0VsZW1lbnRJbnN0YW5jZTo6
SW52YWxpZGF0aW9uR3VhcmQgaW52YWxpZGF0aW9uR3VhcmQodGhpcyk7CiAgICAgCiAgICAgaWYg
KGF0dHJOYW1lID09IFNWR05hbWVzOjpzdXJmYWNlU2NhbGVBdHRyCiAgICAgICAgIHx8IGF0dHJO
YW1lID09IFNWR05hbWVzOjpzcGVjdWxhckNvbnN0YW50QXR0cgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0ZFVGlsZUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0ZFVGlsZUVsZW1lbnQuY3BwCmluZGV4IDEzNDIxN2RkNzI0OTYxYmJmNzM3YmI4NmUyN2YyMTMw
ODRlYzUyZjMuLmNjMDE3NDI4ODQxNTY4ZGEzZTczMzllZmNmMmY1ZWI0NWI0YjZlYjQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRVRpbGVFbGVtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRkVUaWxlRWxlbWVudC5jcHAKQEAgLTgxLDcgKzgxLDcgQEAgdm9p
ZCBTVkdGRVRpbGVFbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5h
bWUmIGF0dHJOYW1lKQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgSW5zdGFuY2VJbnZh
bGlkYXRpb25HdWFyZCBndWFyZCgqdGhpcyk7CisgICAgU1ZHRWxlbWVudEluc3RhbmNlOjpJbnZh
bGlkYXRpb25HdWFyZCBpbnZhbGlkYXRpb25HdWFyZCh0aGlzKTsKIAogICAgIGlmIChhdHRyTmFt
ZSA9PSBTVkdOYW1lczo6aW5BdHRyKSB7CiAgICAgICAgIGludmFsaWRhdGUoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRVR1cmJ1bGVuY2VFbGVtZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdGRVR1cmJ1bGVuY2VFbGVtZW50LmNwcAppbmRleCBiMGRlMjZkNzUy
OGRhNTc1YWYwMjUwNDkxZmI1NzkxNjU2Nzk2ODU5Li44YTM0NDA0MTU5OGQwYWNhY2VkNWEzYzJj
ZWFiY2I3ZjY1N2YyNGM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVUdXJi
dWxlbmNlRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFVHVyYnVsZW5j
ZUVsZW1lbnQuY3BwCkBAIC0xNTUsNyArMTU1LDcgQEAgdm9pZCBTVkdGRVR1cmJ1bGVuY2VFbGVt
ZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lKQog
ICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgSW5zdGFuY2VJbnZhbGlkYXRpb25HdWFyZCBn
dWFyZCgqdGhpcyk7CisgICAgU1ZHRWxlbWVudEluc3RhbmNlOjpJbnZhbGlkYXRpb25HdWFyZCBp
bnZhbGlkYXRpb25HdWFyZCh0aGlzKTsKICAgICAKICAgICBpZiAoYXR0ck5hbWUgPT0gU1ZHTmFt
ZXM6OmJhc2VGcmVxdWVuY3lBdHRyCiAgICAgICAgIHx8IGF0dHJOYW1lID09IFNWR05hbWVzOjpu
dW1PY3RhdmVzQXR0cgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZpbHRlckVs
ZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZpbHRlckVsZW1lbnQuY3BwCmluZGV4
IGFkOWFjMDI3NGY0Mzc0YTIwYzk3ZGU5OWI3OWZiNjNlODhmM2U0N2IuLmY4MDc3NTIwNDMwZmE5
MzY5OTQ2ZmZjZDQ2NzRhMWRiZmE3ZGJiMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdGaWx0ZXJFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRmlsdGVy
RWxlbWVudC5jcHAKQEAgLTE2NSw3ICsxNjUsNyBAQCB2b2lkIFNWR0ZpbHRlckVsZW1lbnQ6OnN2
Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUpCiAgICAgICAg
IHJldHVybjsKICAgICB9CiAKLSAgICBJbnN0YW5jZUludmFsaWRhdGlvbkd1YXJkIGd1YXJkKCp0
aGlzKTsKKyAgICBTVkdFbGVtZW50SW5zdGFuY2U6OkludmFsaWRhdGlvbkd1YXJkIGludmFsaWRh
dGlvbkd1YXJkKHRoaXMpOwogCiAgICAgaWYgKGF0dHJOYW1lID09IFNWR05hbWVzOjp4QXR0cgog
ICAgICAgICB8fCBhdHRyTmFtZSA9PSBTVkdOYW1lczo6eUF0dHIKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMuY3BwIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcy5j
cHAKaW5kZXggYWM0ZDdmMmIyZDEyZmM5YzBlYmUxODgzM2VjZmRkMjJlZTUyYmVlOS4uNTI4MTYy
Y2M2MDMzYWZmMzEyNDNlOThmODcxNWZlN2QzMzA3M2U5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcy5j
cHAKQEAgLTExMiw3ICsxMTIsNyBAQCB2b2lkIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0
cmlidXRlczo6c3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYQogICAgICAgICBy
ZXR1cm47CiAgICAgfQogCi0gICAgSW5zdGFuY2VJbnZhbGlkYXRpb25HdWFyZCBndWFyZCgqdGhp
cyk7CisgICAgU1ZHRWxlbWVudEluc3RhbmNlOjpJbnZhbGlkYXRpb25HdWFyZCBpbnZhbGlkYXRp
b25HdWFyZCh0aGlzKTsgICAgCiAgICAgaW52YWxpZGF0ZSgpOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LmNwcAppbmRleCAzYWI2OGNkZGQ3YWVh
MzY1NjM1MDE2NWVlNzgzZDBmZWMxNGI2ZmZkLi41MTA0MGQwZmJkNjFkY2ZkOTQ2ZWJkY2EwNzEz
YmU4Y2NiNTIzYWJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9yZWlnbk9i
amVjdEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb3JlaWduT2JqZWN0
RWxlbWVudC5jcHAKQEAgLTExMiw3ICsxMTIsNyBAQCB2b2lkIFNWR0ZvcmVpZ25PYmplY3RFbGVt
ZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lKQog
ICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgSW5zdGFuY2VJbnZhbGlkYXRpb25HdWFyZCBn
dWFyZCgqdGhpcyk7CisgICAgU1ZHRWxlbWVudEluc3RhbmNlOjpJbnZhbGlkYXRpb25HdWFyZCBp
bnZhbGlkYXRpb25HdWFyZCh0aGlzKTsKIAogICAgIGlmIChhdHRyTmFtZSA9PSBTVkdOYW1lczo6
d2lkdGhBdHRyCiAgICAgICAgIHx8IGF0dHJOYW1lID09IFNWR05hbWVzOjpoZWlnaHRBdHRyKSB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR0VsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0dFbGVtZW50LmNwcAppbmRleCAzYzQ0YjJhZjA3ZTljYzcxZDJiM2Iw
YTY1MTdmOTYwMTA3ODU0NTE4Li40MTcxNGY0Y2IxM2Y0MDUwNGMyMjRkZjJkOGZjZjdlYWQ2MGU3
MTMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR0VsZW1lbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHRWxlbWVudC5jcHAKQEAgLTgyLDcgKzgyLDcgQEAgdm9p
ZCBTVkdHRWxlbWVudDo6c3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJiBh
dHRyTmFtZSkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIEluc3RhbmNlSW52YWxpZGF0
aW9uR3VhcmQgZ3VhcmQoKnRoaXMpOworICAgIFNWR0VsZW1lbnRJbnN0YW5jZTo6SW52YWxpZGF0
aW9uR3VhcmQgaW52YWxpZGF0aW9uR3VhcmQodGhpcyk7CiAKICAgICBpZiAoYXV0byByZW5kZXJl
ciA9IHRoaXMtPnJlbmRlcmVyKCkpCiAgICAgICAgIFJlbmRlclNWR1Jlc291cmNlOjptYXJrRm9y
TGF5b3V0QW5kUGFyZW50UmVzb3VyY2VJbnZhbGlkYXRpb24oKnJlbmRlcmVyKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHcmFkaWVudEVsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5jcHAKaW5kZXggNDUxYzliZjY0MWNjZTNiNzE0
Mjg5NGJkMWZhYTYyMDMzOWZkODU2NC4uNTQzZWVmMzYzZDhkZmIwM2JjYmI2MGMzNDhmODA4MWM3
YmEyZTAyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dyYWRpZW50RWxlbWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5jcHAKQEAg
LTExOSw3ICsxMTksNyBAQCB2b2lkIFNWR0dyYWRpZW50RWxlbWVudDo6c3ZnQXR0cmlidXRlQ2hh
bmdlZChjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSkKICAgICAgICAgcmV0dXJuOwogICAg
IH0KIAotICAgIEluc3RhbmNlSW52YWxpZGF0aW9uR3VhcmQgZ3VhcmQoKnRoaXMpOworICAgIFNW
R0VsZW1lbnRJbnN0YW5jZTo6SW52YWxpZGF0aW9uR3VhcmQgaW52YWxpZGF0aW9uR3VhcmQodGhp
cyk7CiAgICAgCiAgICAgaWYgKFJlbmRlck9iamVjdCogb2JqZWN0ID0gcmVuZGVyZXIoKSkKICAg
ICAgICAgb2JqZWN0LT5zZXROZWVkc0xheW91dCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0dyYXBoaWNzRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR3Jh
cGhpY3NFbGVtZW50LmNwcAppbmRleCBmY2E2OGZhYzMzOGM3NmM0MzJhMDA0YjUxNTRhMWRlZjRl
MTIwNWU1Li5jMGVlNjYzYTc3NzFhZjhmYjM1NjFmM2U0MTFjMmJkMDQ1MDE4OWNlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR3JhcGhpY3NFbGVtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHR3JhcGhpY3NFbGVtZW50LmNwcApAQCAtMTM3LDcgKzEzNyw3IEBA
IHZvaWQgU1ZHR3JhcGhpY3NFbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxp
ZmllZE5hbWUmIGF0dHJOYW1lKQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgSW5zdGFu
Y2VJbnZhbGlkYXRpb25HdWFyZCBndWFyZCgqdGhpcyk7CisgICAgU1ZHRWxlbWVudEluc3RhbmNl
OjpJbnZhbGlkYXRpb25HdWFyZCBpbnZhbGlkYXRpb25HdWFyZCh0aGlzKTsKIAogICAgIGlmIChT
VkdUZXN0czo6aGFuZGxlQXR0cmlidXRlQ2hhbmdlKHRoaXMsIGF0dHJOYW1lKSkKICAgICAgICAg
cmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ltYWdlRWxlbWVudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHSW1hZ2VFbGVtZW50LmNwcAppbmRleCBiNjY4NDhh
YTE4YWJjYjY0ZTEzYmExN2M4YmZlN2JlODJjMmYzMTE3Li45MjI2NmExMDc4NmIyMGI5ODA1NDBm
OWE5ZjNjNGFlNTQ3ZGFhMWM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHSW1h
Z2VFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHSW1hZ2VFbGVtZW50LmNw
cApAQCAtMTIyLDcgKzEyMiw3IEBAIHZvaWQgU1ZHSW1hZ2VFbGVtZW50OjpzdmdBdHRyaWJ1dGVD
aGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lKQogICAgICAgICByZXR1cm47CiAg
ICAgfQogCi0gICAgSW5zdGFuY2VJbnZhbGlkYXRpb25HdWFyZCBndWFyZCgqdGhpcyk7CisgICAg
U1ZHRWxlbWVudEluc3RhbmNlOjpJbnZhbGlkYXRpb25HdWFyZCBpbnZhbGlkYXRpb25HdWFyZCh0
aGlzKTsKIAogICAgIGlmIChhdHRyTmFtZSA9PSBTVkdOYW1lczo6d2lkdGhBdHRyCiAgICAgICAg
IHx8IGF0dHJOYW1lID09IFNWR05hbWVzOjpoZWlnaHRBdHRyKSB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHTGluZUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0xpbmVFbGVtZW50LmNwcAppbmRleCAzNDE2ZTlkNmM0MDNkNTY5Y2RiY2Y0Mjg0YWVmZmY2M2Zh
M2ZiMWExLi4yYTY4OGU2MGNlMGU4N2ZjYWQzYWUwY2FkYjZlNjAxZDIxYWNiYmQxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTGluZUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdMaW5lRWxlbWVudC5jcHAKQEAgLTEwNyw3ICsxMDcsNyBAQCB2b2lkIFNW
R0xpbmVFbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0
dHJOYW1lKQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgSW5zdGFuY2VJbnZhbGlkYXRp
b25HdWFyZCBndWFyZCgqdGhpcyk7CisgICAgU1ZHRWxlbWVudEluc3RhbmNlOjpJbnZhbGlkYXRp
b25HdWFyZCBpbnZhbGlkYXRpb25HdWFyZCh0aGlzKTsKICAgICAKICAgICBib29sIGlzTGVuZ3Ro
QXR0cmlidXRlID0gYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OngxQXR0cgogICAgICAgICAgICAgICAg
ICAgICAgICAgICB8fCBhdHRyTmFtZSA9PSBTVkdOYW1lczo6eTFBdHRyCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQuY3BwCmluZGV4IGJhZjcxYmYxZDRm
MDYwOWUxNDg0YTU4YzM3MzU3MGU0NmE5OTI3MDIuLmZhYWZkMjNmNjgxZmIwOGRlZTJkM2VjZDk1
NDIyODhjNWE5ZGYyYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMaW5lYXJH
cmFkaWVudEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMaW5lYXJHcmFk
aWVudEVsZW1lbnQuY3BwCkBAIC0xMDksNyArMTA5LDcgQEAgdm9pZCBTVkdMaW5lYXJHcmFkaWVu
dEVsZW1lbnQ6OnN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5h
bWUKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIEluc3RhbmNlSW52YWxpZGF0aW9uR3Vh
cmQgZ3VhcmQoKnRoaXMpOworICAgIFNWR0VsZW1lbnRJbnN0YW5jZTo6SW52YWxpZGF0aW9uR3Vh
cmQgaW52YWxpZGF0aW9uR3VhcmQodGhpcyk7CiAgICAgCiAgICAgdXBkYXRlUmVsYXRpdmVMZW5n
dGhzSW5mb3JtYXRpb24oKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR01Q
YXRoRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTVBhdGhFbGVtZW50LmNwcApp
bmRleCBjZTY4MzkzNTAyMDU3NmI1OTVhZDBhMTJkN2FmMGE5MjhlNDE1ODFiLi4yYjM3YzUxNDk5
NzVhNGZmNDk5MGRmNjFiNTViZTgyMTNlNDIyNjRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHTVBhdGhFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTVBh
dGhFbGVtZW50LmNwcApAQCAtMTQwLDcgKzE0MCw3IEBAIHZvaWQgU1ZHTVBhdGhFbGVtZW50Ojpz
dmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lKQogICAgICAg
ICByZXR1cm47CiAgICAgfQogCi0gICAgSW5zdGFuY2VJbnZhbGlkYXRpb25HdWFyZCBndWFyZCgq
dGhpcyk7CisgICAgU1ZHRWxlbWVudEluc3RhbmNlOjpJbnZhbGlkYXRpb25HdWFyZCBpbnZhbGlk
YXRpb25HdWFyZCh0aGlzKTsKIAogICAgIGlmIChTVkdVUklSZWZlcmVuY2U6OmlzS25vd25BdHRy
aWJ1dGUoYXR0ck5hbWUpKSB7CiAgICAgICAgIGJ1aWxkUGVuZGluZ1Jlc291cmNlKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWFya2VyRWxlbWVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHTWFya2VyRWxlbWVudC5jcHAKaW5kZXggYmJmZmRjMWVjYjhjMDM2ZDU2
M2U1YjgxYTZjYTkzNDIwOGU1ODA2Yy4uMDY0ODA3YTRlMTRhOWFkMmYxMmU5MjEyZmUzODIxMTRk
NjE3OWMzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR01hcmtlckVsZW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNYXJrZXJFbGVtZW50LmNwcApAQCAtMTY2
LDcgKzE2Niw3IEBAIHZvaWQgU1ZHTWFya2VyRWxlbWVudDo6c3ZnQXR0cmlidXRlQ2hhbmdlZChj
b25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAot
ICAgIEluc3RhbmNlSW52YWxpZGF0aW9uR3VhcmQgZ3VhcmQoKnRoaXMpOworICAgIFNWR0VsZW1l
bnRJbnN0YW5jZTo6SW52YWxpZGF0aW9uR3VhcmQgaW52YWxpZGF0aW9uR3VhcmQodGhpcyk7CiAg
ICAgCiAgICAgaWYgKGF0dHJOYW1lID09IFNWR05hbWVzOjpyZWZYQXR0cgogICAgICAgICB8fCBh
dHRyTmFtZSA9PSBTVkdOYW1lczo6cmVmWUF0dHIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdNYXNrRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWFza0VsZW1l
bnQuY3BwCmluZGV4IGNiMzExMjQ1ZjJhMzAxY2JiNTBhNTBmNTUyMzNlMWY3OWY0NjU0NzQuLjU2
Y2JhOWQ2ZDBiYzE2ZTk4YmIzNGQ4Mzk1MjlkZjE3NzQ2ZjU4NmUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdNYXNrRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR01hc2tFbGVtZW50LmNwcApAQCAtMTM0LDcgKzEzNCw3IEBAIHZvaWQgU1ZHTWFza0VsZW1l
bnQ6OnN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUpCiAg
ICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBJbnN0YW5jZUludmFsaWRhdGlvbkd1YXJkIGd1
YXJkKCp0aGlzKTsKKyAgICBTVkdFbGVtZW50SW5zdGFuY2U6OkludmFsaWRhdGlvbkd1YXJkIGlu
dmFsaWRhdGlvbkd1YXJkKHRoaXMpOwogCiAgICAgaWYgKGF0dHJOYW1lID09IFNWR05hbWVzOjp4
QXR0cgogICAgICAgICB8fCBhdHRyTmFtZSA9PSBTVkdOYW1lczo6eUF0dHIKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHUGF0aEVsZW1lbnQuY3BwCmluZGV4IDEzNjg2NDI3NzRjMzFhMDU2ZDkxN2E4NzlkZGUw
YmQ0ODdlMDRhNmMuLmMxYTYwMDlmZWVhZTJmODg2ZDhhZDgyYzA1MDhjY2YwZDAwZWM5ZDggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoRWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhFbGVtZW50LmNwcApAQCAtMjU5LDcgKzI1OSw3IEBAIHZv
aWQgU1ZHUGF0aEVsZW1lbnQ6OnN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFt
ZSYgYXR0ck5hbWUpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBJbnN0YW5jZUludmFs
aWRhdGlvbkd1YXJkIGd1YXJkKCp0aGlzKTsKKyAgICBTVkdFbGVtZW50SW5zdGFuY2U6OkludmFs
aWRhdGlvbkd1YXJkIGludmFsaWRhdGlvbkd1YXJkKHRoaXMpOwogCiAgICAgUmVuZGVyU1ZHUGF0
aCogcmVuZGVyZXIgPSBkb3duY2FzdDxSZW5kZXJTVkdQYXRoPih0aGlzLT5yZW5kZXJlcigpKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdHRlcm5FbGVtZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXR0ZXJuRWxlbWVudC5jcHAKaW5kZXggMTRhNTc1Nzdi
MDQ4ZTkwNDYyMTYyYWIzYjI2MDdhMWYzZDlhNmE4Zi4uM2JjNDI1NjE1ODJiMjVhM2UzOWJkYzhk
OWU1OGZhZTMyYWUzYWJjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdHRl
cm5FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0dGVybkVsZW1lbnQu
Y3BwCkBAIC0xNTksNyArMTU5LDcgQEAgdm9pZCBTVkdQYXR0ZXJuRWxlbWVudDo6c3ZnQXR0cmli
dXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSkKICAgICAgICAgcmV0dXJu
OwogICAgIH0KIAotICAgIEluc3RhbmNlSW52YWxpZGF0aW9uR3VhcmQgZ3VhcmQoKnRoaXMpOwor
ICAgIFNWR0VsZW1lbnRJbnN0YW5jZTo6SW52YWxpZGF0aW9uR3VhcmQgaW52YWxpZGF0aW9uR3Vh
cmQodGhpcyk7CiAKICAgICBpZiAoYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OnhBdHRyCiAgICAgICAg
IHx8IGF0dHJOYW1lID09IFNWR05hbWVzOjp5QXR0cgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR1BvbHlFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQb2x5RWxl
bWVudC5jcHAKaW5kZXggODgxOWM2YzJhYjMzMDc0MzEwMTUxMzMzOGE1ZjAwODcyYjVlMGIwYS4u
ODU4ODJlNWMyMzMwNmJlNmFmYzA4MjcwZjM3N2VlMjMwZWJiYjVjMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1BvbHlFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHUG9seUVsZW1lbnQuY3BwCkBAIC0xMDksNyArMTA5LDcgQEAgdm9pZCBTVkdQb2x5RWxl
bWVudDo6c3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSkK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIEluc3RhbmNlSW52YWxpZGF0aW9uR3VhcmQg
Z3VhcmQoKnRoaXMpOworICAgIFNWR0VsZW1lbnRJbnN0YW5jZTo6SW52YWxpZGF0aW9uR3VhcmQg
aW52YWxpZGF0aW9uR3VhcmQodGhpcyk7CiAKICAgICBhdXRvKiByZW5kZXJlciA9IGRvd25jYXN0
PFJlbmRlclNWR1NoYXBlPih0aGlzLT5yZW5kZXJlcigpKTsKICAgICBpZiAoIXJlbmRlcmVyKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1JhZGlhbEdyYWRpZW50RWxlbWVudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50LmNwcAppbmRl
eCA5M2RlOTI4ZjZiYWJlNTg1NWIzZmViYTU0ZDI2YmZhNDY4ZWI5MGMxLi42NzdlY2FhODM3NGJh
ZGJlYzBiOTQ1MjdhMTRjMDBmZGM2NDE1NzMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50LmNwcApAQCAtMTIxLDcgKzEyMSw3IEBAIHZvaWQgU1ZH
UmFkaWFsR3JhZGllbnRFbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmll
ZE5hbWUmIGF0dHJOYW1lCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBJbnN0YW5jZUlu
dmFsaWRhdGlvbkd1YXJkIGd1YXJkKCp0aGlzKTsKKyAgICBTVkdFbGVtZW50SW5zdGFuY2U6Oklu
dmFsaWRhdGlvbkd1YXJkIGludmFsaWRhdGlvbkd1YXJkKHRoaXMpOwogICAgIAogICAgIHVwZGF0
ZVJlbGF0aXZlTGVuZ3Roc0luZm9ybWF0aW9uKCk7CiAgICAgICAgIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1JlY3RFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdSZWN0RWxlbWVudC5jcHAKaW5kZXggMDdmNDUwNDc1ZmU0NTJiNjMwNjFkMzAwNDI1NTA4YmNk
NTJkMzk5Zi4uODEyYmEyNjQ3ZjU0OWMyMzMxYWQ3NjNiMzMyMjAyYTQyOTAyYThjNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1JlY3RFbGVtZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHUmVjdEVsZW1lbnQuY3BwCkBAIC0xMjAsNyArMTIwLDcgQEAgdm9pZCBT
VkdSZWN0RWxlbWVudDo6c3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJiBh
dHRyTmFtZSkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIEluc3RhbmNlSW52YWxpZGF0
aW9uR3VhcmQgZ3VhcmQoKnRoaXMpOworICAgIFNWR0VsZW1lbnRJbnN0YW5jZTo6SW52YWxpZGF0
aW9uR3VhcmQgaW52YWxpZGF0aW9uR3VhcmQodGhpcyk7CiAKICAgICBpZiAoYXR0ck5hbWUgPT0g
U1ZHTmFtZXM6OnhBdHRyCiAgICAgICAgIHx8IGF0dHJOYW1lID09IFNWR05hbWVzOjp5QXR0cgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQuY3BwCmluZGV4IGViOGEwMjQwNzNjZmZlM2RkNmFj
NDllOTJmNjFmZDZhNTZkNTk5NzEuLjllZDEzNmU2NTcxOGIyN2Q2NzkxMDcyYjlmZjk5YzY2N2Iy
OTNjMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU1ZHRWxlbWVudC5jcHAKQEAgLTMwMCw3ICszMDAs
NyBAQCB2b2lkIFNWR1NWR0VsZW1lbnQ6OnN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlm
aWVkTmFtZSYgYXR0ck5hbWUpCiAgICAgICAgICAgICBvYmplY3QtPnNldE5lZWRzVHJhbnNmb3Jt
VXBkYXRlKCk7CiAgICAgfQogCi0gICAgSW5zdGFuY2VJbnZhbGlkYXRpb25HdWFyZCBndWFyZCgq
dGhpcyk7CisgICAgU1ZHRWxlbWVudEluc3RhbmNlOjpJbnZhbGlkYXRpb25HdWFyZCBpbnZhbGlk
YXRpb25HdWFyZCh0aGlzKTsKIAogICAgIGlmICh1cGRhdGVSZWxhdGl2ZUxlbmd0aHNPclZpZXdC
b3gKICAgICAgICAgfHwgU1ZHTGFuZ1NwYWNlOjppc0tub3duQXR0cmlidXRlKGF0dHJOYW1lKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NjcmlwdEVsZW1lbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1NjcmlwdEVsZW1lbnQuY3BwCmluZGV4IDIyYjQyYjA4MDE2ODU1
YzY0ZGFjZGZkODdkZjczMjNlODM3YzRkOWEuLmIzZmNiNWVkNTk2ZjBiZWE1NTg3ZjczNTE2OTg4
Y2JhNmE2MGZjYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTY3JpcHRFbGVt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU2NyaXB0RWxlbWVudC5jcHAKQEAg
LTk4LDcgKzk4LDcgQEAgdm9pZCBTVkdTY3JpcHRFbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2Vk
KGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lKQogICAgICAgICByZXR1cm47CiAgICAgfQog
Ci0gICAgSW5zdGFuY2VJbnZhbGlkYXRpb25HdWFyZCBndWFyZCgqdGhpcyk7CisgICAgU1ZHRWxl
bWVudEluc3RhbmNlOjpJbnZhbGlkYXRpb25HdWFyZCBpbnZhbGlkYXRpb25HdWFyZCh0aGlzKTsK
IAogICAgIGlmIChhdHRyTmFtZSA9PSBTVkdOYW1lczo6dHlwZUF0dHIgfHwgYXR0ck5hbWUgPT0g
SFRNTE5hbWVzOjpvbmVycm9yQXR0cikKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1N0b3BFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdTdG9wRWxlbWVudC5jcHAKaW5kZXggOWU4YjAzOTlhYTFkZWJlNjA0YmNlOWNjNzM2Yjc3NmRk
ZDRlNWVmNS4uYjBlNThlMDQwMTBmNjYyYjZjZDk2YzIyZjkxMTNlOGJiNzEwNjAzOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N0b3BFbGVtZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHU3RvcEVsZW1lbnQuY3BwCkBAIC04Niw3ICs4Niw3IEBAIHZvaWQgU1ZH
U3RvcEVsZW1lbnQ6OnN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0
ck5hbWUpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBJbnN0YW5jZUludmFsaWRhdGlv
bkd1YXJkIGd1YXJkKCp0aGlzKTsKKyAgICBTVkdFbGVtZW50SW5zdGFuY2U6OkludmFsaWRhdGlv
bkd1YXJkIGludmFsaWRhdGlvbkd1YXJkKHRoaXMpOwogCiAgICAgaWYgKGF0dHJOYW1lID09IFNW
R05hbWVzOjpvZmZzZXRBdHRyKSB7CiAgICAgICAgIGlmIChhdXRvIHJlbmRlcmVyID0gdGhpcy0+
cmVuZGVyZXIoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTeW1ib2xFbGVt
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTeW1ib2xFbGVtZW50LmNwcAppbmRleCA0
NjE0N2VkODQ1Nzk3NmExYjZkMTY5OTE0MjlmN2VjOGZkZmQ3ZDA2Li45Zjk2ZGUxMTM5NGU2MDZl
NTQ0ZmY0MjM1NDQ5ODdiNWFkZDliOTQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHU3ltYm9sRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N5bWJvbEVs
ZW1lbnQuY3BwCkBAIC04OCw3ICs4OCw3IEBAIHZvaWQgU1ZHU3ltYm9sRWxlbWVudDo6c3ZnQXR0
cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSkKICAgICAgICAgcmV0
dXJuOwogICAgIH0KIAotICAgIEluc3RhbmNlSW52YWxpZGF0aW9uR3VhcmQgZ3VhcmQoKnRoaXMp
OworICAgIFNWR0VsZW1lbnRJbnN0YW5jZTo6SW52YWxpZGF0aW9uR3VhcmQgaW52YWxpZGF0aW9u
R3VhcmQodGhpcyk7CiAKICAgICAvLyBFdmVyeSBvdGhlciBwcm9wZXJ0eSBjaGFuZ2UgaXMgaWdu
b3JlZC4KICAgICBpZiAoYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OnZpZXdCb3hBdHRyKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RSZWZFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdUUmVmRWxlbWVudC5jcHAKaW5kZXggNzVmYWFhOWNiN2JiMDQ4MzYzNjY1YmRh
ZTgzMjkzM2UxNzE5NGNkYS4uZTI2YWY0NmY1ODM4YTZlNGQxZTk5MmFmMTlmMDhkZDQ4MzExYmJm
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RSZWZFbGVtZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVFJlZkVsZW1lbnQuY3BwCkBAIC0yMDYsNyArMjA2LDcg
QEAgdm9pZCBTVkdUUmVmRWxlbWVudDo6c3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZp
ZWROYW1lJiBhdHRyTmFtZSkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIEluc3RhbmNl
SW52YWxpZGF0aW9uR3VhcmQgZ3VhcmQoKnRoaXMpOworICAgIFNWR0VsZW1lbnRJbnN0YW5jZTo6
SW52YWxpZGF0aW9uR3VhcmQgaW52YWxpZGF0aW9uR3VhcmQodGhpcyk7CiAKICAgICBpZiAoU1ZH
VVJJUmVmZXJlbmNlOjppc0tub3duQXR0cmlidXRlKGF0dHJOYW1lKSkgewogICAgICAgICBidWls
ZFBlbmRpbmdSZXNvdXJjZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Rl
eHRDb250ZW50RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRF
bGVtZW50LmNwcAppbmRleCA3OTIzYzBlMTAxNWMyMmRiNjRiOGNjMDA2YzgyOWY2MzY3ZWU5MGMx
Li4yYzY0YTBlZDlkODg1NDJlYmFiYzY2ZThhMTY0ODQ3ZWRlZjVhNDk1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmNwcApAQCAtMjY4LDcgKzI2OCw3IEBA
IHZvaWQgU1ZHVGV4dENvbnRlbnRFbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1
YWxpZmllZE5hbWUmIGF0dHJOYW1lKQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgSW5z
dGFuY2VJbnZhbGlkYXRpb25HdWFyZCBndWFyZCgqdGhpcyk7CisgICAgU1ZHRWxlbWVudEluc3Rh
bmNlOjpJbnZhbGlkYXRpb25HdWFyZCBpbnZhbGlkYXRpb25HdWFyZCh0aGlzKTsKIAogICAgIGlm
IChhdHRyTmFtZSA9PSBTVkdOYW1lczo6dGV4dExlbmd0aEF0dHIpCiAgICAgICAgIG1fc3BlY2lm
aWVkVGV4dExlbmd0aCA9IG1fdGV4dExlbmd0aC52YWx1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdUZXh0UGF0aEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1RleHRQYXRoRWxlbWVudC5jcHAKaW5kZXggZTBmOGJjYTU5MzFhMjhmMjhhYTA5ODRlY2MxZTMy
MWE3NWM1NGM3Zi4uZDFkNGNkMzM1OTVkZGYxNTcyMzA0YTM4NThlM2JlMzA1NWY0YjllOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRQYXRoRWxlbWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRQYXRoRWxlbWVudC5jcHAKQEAgLTExMiw3ICsxMTIs
NyBAQCB2b2lkIFNWR1RleHRQYXRoRWxlbWVudDo6c3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBR
dWFsaWZpZWROYW1lJiBhdHRyTmFtZSkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIElu
c3RhbmNlSW52YWxpZGF0aW9uR3VhcmQgZ3VhcmQoKnRoaXMpOworICAgIFNWR0VsZW1lbnRJbnN0
YW5jZTo6SW52YWxpZGF0aW9uR3VhcmQgaW52YWxpZGF0aW9uR3VhcmQodGhpcyk7CiAKICAgICBp
ZiAoU1ZHVVJJUmVmZXJlbmNlOjppc0tub3duQXR0cmlidXRlKGF0dHJOYW1lKSkgewogICAgICAg
ICBidWlsZFBlbmRpbmdSZXNvdXJjZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Rl
eHRQb3NpdGlvbmluZ0VsZW1lbnQuY3BwCmluZGV4IDA1MzYyZDM1NTljOTIwNTUxYTk4OGZlYzlh
OGJlNGE1Mzk3NjIwMDkuLmJiMTI3NDYxM2RjN2FiYzgzYWI1MTdhZmEzZWZhNDdjZTBjZjIyNGYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudC5j
cHAKQEAgLTE0MSw3ICsxNDEsNyBAQCB2b2lkIFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQ6OnN2
Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbQogICAgICAgICBy
ZXR1cm47CiAgICAgfQogCi0gICAgSW5zdGFuY2VJbnZhbGlkYXRpb25HdWFyZCBndWFyZCgqdGhp
cyk7CisgICAgU1ZHRWxlbWVudEluc3RhbmNlOjpJbnZhbGlkYXRpb25HdWFyZCBpbnZhbGlkYXRp
b25HdWFyZCh0aGlzKTsKIAogICAgIGJvb2wgdXBkYXRlUmVsYXRpdmVMZW5ndGhzID0gYXR0ck5h
bWUgPT0gU1ZHTmFtZXM6OnhBdHRyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8fCBh
dHRyTmFtZSA9PSBTVkdOYW1lczo6eUF0dHIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdVc2VFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdVc2VFbGVtZW50LmNw
cAppbmRleCBjN2IyZjMxZGQ2ZGRkYjc1OWNkZTI0YTZmMmExZGNlOTc5YjZmMzg0Li5kMDBjY2Rl
ZGJhZGYwMzZkNDc2MDUxZjBmOTkxMmE1Y2ZjMWIwYjcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHVXNlRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Vz
ZUVsZW1lbnQuY3BwCkBAIC0yMjMsNyArMjIzLDcgQEAgdm9pZCBTVkdVc2VFbGVtZW50OjpzdmdB
dHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lKQogICAgICAgICBy
ZXR1cm47CiAgICAgfQogCi0gICAgSW5zdGFuY2VJbnZhbGlkYXRpb25HdWFyZCBndWFyZCgqdGhp
cyk7CisgICAgU1ZHRWxlbWVudEluc3RhbmNlOjpJbnZhbGlkYXRpb25HdWFyZCBpbnZhbGlkYXRp
b25HdWFyZCh0aGlzKTsKIAogICAgIGlmIChhdHRyTmFtZSA9PSBTVkdOYW1lczo6eEF0dHIgfHwg
YXR0ck5hbWUgPT0gU1ZHTmFtZXM6OnlBdHRyIHx8IGF0dHJOYW1lID09IFNWR05hbWVzOjp3aWR0
aEF0dHIgfHwgYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OmhlaWdodEF0dHIpIHsKICAgICAgICAgdXBk
YXRlUmVsYXRpdmVMZW5ndGhzSW5mb3JtYXRpb24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9hbmltYXRpb24vU1ZHU01JTEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3Zn
L2FuaW1hdGlvbi9TVkdTTUlMRWxlbWVudC5jcHAKaW5kZXggYmQxNGE3YjkwY2I5Y2YwNTA0YmFi
OGIxMGRiNzE3NDk1ZmI4NGJkMi4uYzI5OTIyZGU5NDQ4OGQ3MGE5NDI0YzAzNTFiOGU3Zjk5ODhj
NjE4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlvbi9TVkdTTUlMRWxl
bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlvbi9TVkdTTUlMRWxlbWVu
dC5jcHAKQEAgLTQ5OSw3ICs0OTksNyBAQCB2b2lkIFNWR1NNSUxFbGVtZW50OjpzdmdBdHRyaWJ1
dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lKQogICAgIGVsc2UgaWYgKGF0
dHJOYW1lID09IFNWR05hbWVzOjphdHRyaWJ1dGVOYW1lQXR0cikKICAgICAgICAgc2V0QXR0cmli
dXRlTmFtZShjb25zdHJ1Y3RRdWFsaWZpZWROYW1lKHRoaXMsIGZhc3RHZXRBdHRyaWJ1dGUoU1ZH
TmFtZXM6OmF0dHJpYnV0ZU5hbWVBdHRyKSkpOwogICAgIGVsc2UgaWYgKGF0dHJOYW1lLm1hdGNo
ZXMoWExpbmtOYW1lczo6aHJlZkF0dHIpKSB7Ci0gICAgICAgIEluc3RhbmNlSW52YWxpZGF0aW9u
R3VhcmQgZ3VhcmQoKnRoaXMpOworICAgICAgICBTVkdFbGVtZW50SW5zdGFuY2U6OkludmFsaWRh
dGlvbkd1YXJkIGludmFsaWRhdGlvbkd1YXJkKHRoaXMpOwogICAgICAgICBidWlsZFBlbmRpbmdS
ZXNvdXJjZSgpOwogICAgIH0gZWxzZSBpZiAoaW5Eb2N1bWVudCgpKSB7CiAgICAgICAgIGlmIChh
dHRyTmFtZSA9PSBTVkdOYW1lczo6YmVnaW5BdHRyKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>