<?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>40365</bug_id>
          
          <creation_ts>2010-06-09 08:53:01 -0700</creation_ts>
          <short_desc>REGRESSION(r60889): gtk bot has some kind of memory corruption (Requested by loislo on #webkit).</short_desc>
          <delta_ts>2010-07-23 22:16:00 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>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>40134</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>eric</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>235802</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-06-09 08:53:01 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/60889 broke the build:
gtk bot has some kind of memory corruption (Requested by loislo 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>235803</commentid>
    <comment_count>1</comment_count>
      <attachid>58249</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-06-09 08:53:19 -0700</bug_when>
    <thetext>Created attachment 58249
ROLLOUT of r60889

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>237449</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-06-12 20:37:21 -0700</bug_when>
    <thetext>Is this still needed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>237760</commentid>
    <comment_count>3</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2010-06-14 03:46:59 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Is this still needed?

The patch was landed manually. 
I&apos;ve no rights to close the bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>255661</commentid>
    <comment_count>4</comment_count>
      <attachid>58249</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-07-23 22:16:00 -0700</bug_when>
    <thetext>Comment on attachment 58249
ROLLOUT of r60889

Clearing commit-queue flag to get this out of the commit-queue.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>58249</attachid>
            <date>2010-06-09 08:53:19 -0700</date>
            <delta_ts>2010-07-23 22:16:00 -0700</delta_ts>
            <desc>ROLLOUT of r60889</desc>
            <filename>bug-40365-20100609155317.patch</filename>
            <type>text/plain</type>
            <size>40409</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZWEwMTlmYjRlZTkxMGI1MmRkNGY0OGM2MmJlYjU2OWViYjU5NzFjNi4uMGNmZDJkN2MyYjg4Y2Ix
ZDY1NmQ0NjgwN2ZkMjc3N2U5ZmQzNDhlMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAxMC0wNi0wOSAgU2hl
cmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CisKKyAgICAgICAgVW5yZXZp
ZXdlZCwgcm9sbGluZyBvdXQgcjYwODg5LgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3Jn
L2NoYW5nZXNldC82MDg4OQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NDAzNjUKKworICAgICAgICBndGsgYm90IGhhcyBzb21lIGtpbmQgb2YgbWVtb3J5
IGNvcnJ1cHRpb24gKFJlcXVlc3RlZCBieQorICAgICAgICBsb2lzbG8gb24gI3dlYmtpdCkuCisK
KyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ2xpZW50Lmg6CisgICAgICAgICogaW5zcGVj
dG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
Q29udHJvbGxlcjo6c2V0RnJvbnRlbmQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JD
b250cm9sbGVyLmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5kOjpJbnNwZWN0b3JGcm9udGVuZCk6
CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kLmg6CisgICAgICAgICogaW5z
cGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDo6ZnJvbnRlbmRMb2FkZWQpOgorICAgICAg
ICAqIGluc3BlY3Rvci9JbnNwZWN0b3JWYWx1ZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9yT2JqZWN0Ojp3cml0ZUpTT04pOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQv
aW5zcGVjdG9yLmpzOgorICAgICAgICAqIGxvYWRlci9FbXB0eUNsaWVudHMuaDoKKwogMjAxMC0w
Ni0wOSAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgRXJpYyBDYXJsc29uLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yQ2xpZW50LmggYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDbGllbnQuaAppbmRleCAy
Y2UzYTA5ODVmNTI5NGRjZjBlZjBlMzAzODhkMzYyMzJkMjkwMjA5Li44NDFjMTVlYjBlNmIzODk2
YmRlMWYyOTE0NjQ0MWJkOWQwZWE0MjZjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JDbGllbnQuaAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDbGllbnQu
aApAQCAtNDgsOCArNDgsNiBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgcG9wdWxhdGVT
ZXR0aW5nKGNvbnN0IFN0cmluZyYga2V5LCBTdHJpbmcqIHZhbHVlKSA9IDA7CiAgICAgdmlydHVh
bCB2b2lkIHN0b3JlU2V0dGluZyhjb25zdCBTdHJpbmcmIGtleSwgY29uc3QgU3RyaW5nJiB2YWx1
ZSkgPSAwOwotCi0gICAgdmlydHVhbCBib29sIHNlbmRNZXNzYWdlVG9Gcm9udGVuZChjb25zdCBT
dHJpbmcmIG1lc3NhZ2UpID0gMDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwIGIvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKaW5kZXggNjMyM2NjYjY3MmMxYjdh
MTIxMTkwNmRhNmE2NDgyYmNiY2FlZWE0MS4uYmY3MjU3MjY1NmU0MWE5YzAyOWI2NjU3ZDUzYWQ2
ZjJlODBiYjA3ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJv
bGxlci5jcHAKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAK
QEAgLTQyNSwxMCArNDI1LDExIEBAIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6c2V0U2VhcmNo
aW5nRm9yTm9kZShib29sIGVuYWJsZWQpCiAgICAgfQogfQogCi12b2lkIEluc3BlY3RvckNvbnRy
b2xsZXI6OmNvbm5lY3RGcm9udGVuZChjb25zdCBTY3JpcHRPYmplY3QmIHdlYkluc3BlY3RvcikK
K3ZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6c2V0RnJvbnRlbmQoUGFzc093blB0cjxJbnNwZWN0
b3JGcm9udGVuZD4gZnJvbnRlbmQpCiB7CisgICAgQVNTRVJUKGZyb250ZW5kKTsKICAgICBtX29w
ZW5pbmdGcm9udGVuZCA9IGZhbHNlOwotICAgIG1fZnJvbnRlbmQgPSBuZXcgSW5zcGVjdG9yRnJv
bnRlbmQod2ViSW5zcGVjdG9yLCBtX2NsaWVudCk7CisgICAgbV9mcm9udGVuZCA9IGZyb250ZW5k
OwogICAgIHJlbGVhc2VET01BZ2VudCgpOwogICAgIG1fZG9tQWdlbnQgPSBJbnNwZWN0b3JET01B
Z2VudDo6Y3JlYXRlKG1fY3NzU3RvcmUuZ2V0KCksIG1fZnJvbnRlbmQuZ2V0KCkpOwogICAgIGlm
IChtX3RpbWVsaW5lQWdlbnQpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JDb250cm9sbGVyLmggYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgK
aW5kZXggMTZlMDU5YTVlNWRiNDc1YTE1MDc4MGZlOWJmMzM2Y2ViYmEzOGFmNi4uYmRhMjdhZjQx
NWI2NjE4Yjk2YzI4ZDgzYTU1N2VjOTM1NTIwYmI0YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckNvbnRyb2xsZXIuaApAQCAtMTM0LDExICsxMzQsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBz
aG93KCk7CiAgICAgdm9pZCBzaG93UGFuZWwoU3BlY2lhbFBhbmVscyk7CiAgICAgdm9pZCBjbG9z
ZSgpOwotCi0gICAgLy8gV2UgYXJlIGluIHRyYW5zaXRpb24gZnJvbSBKUyB0cmFuc3BvcnQgdmlh
IHdlYkluc3BlY3RvciB0byBuYXRpdmUKLSAgICAvLyB0cmFuc3BvcnQgdmlhIEluc3BlY3RvckNs
aWVudC4gQWZ0ZXIgbWlncmF0aW9uLCB3ZWJJbnNwZWN0b3IgcGFyYW1ldGVyIHNob3VsZAotICAg
IC8vIGJlIHJlbW92ZWQuCi0gICAgdm9pZCBjb25uZWN0RnJvbnRlbmQoY29uc3QgU2NyaXB0T2Jq
ZWN0JiB3ZWJJbnNwZWN0b3IpOwogICAgIHZvaWQgZGlzY29ubmVjdEZyb250ZW5kKCk7CiAKICAg
ICB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1l
c3NhZ2VMZXZlbCwgU2NyaXB0Q2FsbFN0YWNrKik7CkBAIC0xNTYsNiArMTUxLDcgQEAgcHVibGlj
OgogICAgIHZvaWQgaW5zcGVjdGVkV2luZG93U2NyaXB0T2JqZWN0Q2xlYXJlZChGcmFtZSopOwog
CiAgICAgYm9vbCB3aW5kb3dWaXNpYmxlKCk7CisgICAgdm9pZCBzZXRGcm9udGVuZChQYXNzT3du
UHRyPEluc3BlY3RvckZyb250ZW5kPik7CiAKICAgICB2b2lkIGRpZENvbW1pdExvYWQoRG9jdW1l
bnRMb2FkZXIqKTsKICAgICB2b2lkIGZyYW1lRGV0YWNoZWRGcm9tUGFyZW50KEZyYW1lKik7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZC5jcHAgYi9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZC5jcHAKaW5kZXggYzNjNGM5YWMzNjU0ODY5
MDE3YjRiMDQ4NzZkOWFhMmU4OTM2MGJhNC4uYTM2MTg1MTgzOTNmODBmYWViMWM0ZTk0MmNhYmM4
MmUyOWVjMTRkNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRl
bmQuY3BwCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kLmNwcApAQCAt
MzYsNyArMzYsNiBAQAogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRTY3Jp
cHQuaCIKICNpbmNsdWRlICJJbmplY3RlZFNjcmlwdEhvc3QuaCIKLSNpbmNsdWRlICJJbnNwZWN0
b3JDbGllbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAi
SW5zcGVjdG9yV29ya2VyUmVzb3VyY2UuaCIKICNpbmNsdWRlICJOb2RlLmgiCkBAIC01MCw4ICs0
OSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotSW5zcGVjdG9yRnJvbnRlbmQ6Okluc3Bl
Y3RvckZyb250ZW5kKFNjcmlwdE9iamVjdCB3ZWJJbnNwZWN0b3IsIEluc3BlY3RvckNsaWVudCog
aW5zcGVjdG9yQ2xpZW50KQotICAgIDogbV93ZWJJbnNwZWN0b3Iod2ViSW5zcGVjdG9yKSwgbV9p
bnNwZWN0b3JDbGllbnQoaW5zcGVjdG9yQ2xpZW50KQorSW5zcGVjdG9yRnJvbnRlbmQ6Okluc3Bl
Y3RvckZyb250ZW5kKFNjcmlwdE9iamVjdCB3ZWJJbnNwZWN0b3IpCisgICAgOiBtX3dlYkluc3Bl
Y3Rvcih3ZWJJbnNwZWN0b3IpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckZyb250ZW5kLmggYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVu
ZC5oCmluZGV4IGViODZkMTUyYzg2ZjVlMTAyZjk0NDM1YzhiOTE0NDQyY2YxYmI3YjkuLjY5ZDRj
NGZmOTk0Yjg3ODcwMTllZjRiNzEzOGI2ZTgxNGI2Yjc5NzggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kLmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yRnJvbnRlbmQuaApAQCAtMzAsNyArMzAsNiBAQAogI2lmbmRlZiBJbnNwZWN0b3JGcm9u
dGVuZF9oCiAjZGVmaW5lIEluc3BlY3RvckZyb250ZW5kX2gKIAotI2luY2x1ZGUgIkluc3BlY3Rv
clZhbHVlcy5oIgogI2luY2x1ZGUgIlNjcmlwdEFycmF5LmgiCiAjaW5jbHVkZSAiU2NyaXB0T2Jq
ZWN0LmgiCiAjaW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIKQEAgLTQwLDIwICszOSwxNiBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgQ29uc29sZU1lc3NhZ2U7CiAgICAgY2xhc3MgRGF0
YWJhc2U7CiAgICAgY2xhc3MgRnJhbWU7Ci0gICAgY2xhc3MgSW5zcGVjdG9yQ2xpZW50OwogICAg
IGNsYXNzIEluc3BlY3RvclJlc291cmNlOwotICAgIGNsYXNzIEluc3BlY3RvcldvcmtlclJlc291
cmNlOwogICAgIGNsYXNzIE5vZGU7CiAgICAgY2xhc3MgU2NyaXB0U3RyaW5nOwogICAgIGNsYXNz
IFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTsKICAgICBjbGFzcyBTdG9yYWdlOworICAgIGNsYXNzIElu
c3BlY3RvcldvcmtlclJlc291cmNlOwogCiAgICAgY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmQgOiBw
dWJsaWMgTm9uY29weWFibGUgewogICAgIHB1YmxpYzoKLSAgICAgICAgLy8gV2UgYXJlIGluIHRy
YW5zaXRpb24gZnJvbSBKUyB0cmFuc3BvcnQgdmlhIHdlYkluc3BlY3RvciB0byBuYXRpdmUKLSAg
ICAgICAgLy8gdHJhbnNwb3J0IHZpYSBpbnNwZWN0b3JDbGllbnQuIEFmdGVyIG1pZ3JhdGlvbiwg
d2ViSW5zcGVjdG9yIHBhcmFtZXRlciBzaG91bGQKLSAgICAgICAgLy8gYmUgcmVtb3ZlZC4KLSAg
ICAgICAgSW5zcGVjdG9yRnJvbnRlbmQoU2NyaXB0T2JqZWN0IHdlYkluc3BlY3RvciwgSW5zcGVj
dG9yQ2xpZW50KiBpbnNwZWN0b3JDbGllbnQpOworICAgICAgICBJbnNwZWN0b3JGcm9udGVuZChT
Y3JpcHRPYmplY3Qgd2ViSW5zcGVjdG9yKTsKICAgICAgICAgfkluc3BlY3RvckZyb250ZW5kKCk7
CiAKICAgICAgICAgdm9pZCBjbG9zZSgpOwpAQCAtMTc2LDcgKzE3MSw2IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBwcml2YXRlOgogICAgICAgICB2b2lkIGNhbGxTaW1wbGVGdW5jdGlvbihj
b25zdCBTdHJpbmcmIGZ1bmN0aW9uTmFtZSk7CiAgICAgICAgIFNjcmlwdE9iamVjdCBtX3dlYklu
c3BlY3RvcjsKLSAgICAgICAgSW5zcGVjdG9yQ2xpZW50KiBtX2luc3BlY3RvckNsaWVudDsKICAg
ICB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcCBiL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwCmluZGV4IDE4ODU2NmYzYmUzMGI0ODNm
MTAxMTUwZjliNmIyZDE1YTc3NWVhODUuLjE4YzUyZGEwNjllNjY2MjNjMDZlMmM2MjRmOTNlODcw
YzAyZmNkYTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5k
Q2xpZW50TG9jYWwuY3BwCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5k
Q2xpZW50TG9jYWwuY3BwCkBAIC04OSw3ICs4OSw3IEBAIHZvaWQgSW5zcGVjdG9yRnJvbnRlbmRD
bGllbnRMb2NhbDo6ZnJvbnRlbmRMb2FkZWQoKQogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICBtX2luc3BlY3RvckNvbnRyb2xsZXItPmNv
bm5lY3RGcm9udGVuZCh3ZWJJbnNwZWN0b3JPYmopOworICAgIG1faW5zcGVjdG9yQ29udHJvbGxl
ci0+c2V0RnJvbnRlbmQobmV3IEluc3BlY3RvckZyb250ZW5kKHdlYkluc3BlY3Rvck9iaikpOwog
fQogCiB2b2lkIEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWw6OnJlcXVlc3RBdHRhY2hXaW5k
b3coKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmNwcCBi
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5jcHAKaW5kZXggNWM3ZDBjOGU2NzE5
N2M3ZTRmYTU4MTkwZTFmNDNkMmYwNmUwMjBiMS4uMjM2MTJlNjc1YWI0NTUwOWQ0MzljOTZjMjky
MjU2ZjkxMjBmYzk2NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVmFs
dWVzLmNwcAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JWYWx1ZXMuY3BwCkBAIC02
MjUsNyArNjI1LDcgQEAgdm9pZCBJbnNwZWN0b3JPYmplY3Q6OndyaXRlSlNPTihWZWN0b3I8VUNo
YXI+KiBvdXRwdXQpIGNvbnN0CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtX29yZGVyLnNp
emUoKTsgKytpKSB7CiAgICAgICAgIERpY3Rpb25hcnk6OmNvbnN0X2l0ZXJhdG9yIGl0ID0gbV9k
YXRhLmZpbmQobV9vcmRlcltpXSk7CiAgICAgICAgIEFTU0VSVChpdCAhPSBtX2RhdGEuZW5kKCkp
OwotICAgICAgICBpZiAoaSkKKyAgICAgICAgaWYgKGl0ICE9IG1fZGF0YS5iZWdpbigpKQogICAg
ICAgICAgICAgb3V0cHV0LT5hcHBlbmQoJywnKTsKICAgICAgICAgZG91YmxlUXVvdGVTdHJpbmco
aXQtPmZpcnN0LCBvdXRwdXQpOwogICAgICAgICBvdXRwdXQtPmFwcGVuZCgnOicpOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcyBiL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMKaW5kZXggODdjNGM3M2IwYTdjODg3ZDVk
YzczYzZlYjhiNTI0NGZlYTMwNzA3NC4uOGE3OGNkMjA4YzhjZTA1MDExM2NiNjU4NGVkZTM2NGJi
YWVlMzU5YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rv
ci5qcworKysgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCkBAIC01
NzIsMTMgKzU3Miw2IEBAIFdlYkluc3BlY3Rvci5kaXNwYXRjaCA9IGZ1bmN0aW9uKCkgewogICAg
IHNldFRpbWVvdXQoZGVsYXlEaXNwYXRjaCwgMCk7CiB9CiAKLVdlYkluc3BlY3Rvci5kaXNwYXRj
aE1lc3NhZ2VGcm9tQmFja2VuZCA9IGZ1bmN0aW9uKGFyZ3VtZW50cykKLXsKLSAgICB2YXIgbWV0
aG9kTmFtZSA9IGFyZ3VtZW50cy5zaGlmdCgpOwotICAgIFdlYkluc3BlY3RvclttZXRob2ROYW1l
XS5hcHBseSh0aGlzLCBhcmd1bWVudHMpOwotfQotCi0KIFdlYkluc3BlY3Rvci53aW5kb3dSZXNp
emUgPSBmdW5jdGlvbihldmVudCkKIHsKICAgICBpZiAodGhpcy5jdXJyZW50UGFuZWwpCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaCBiL1dlYkNvcmUvbG9hZGVyL0Vt
cHR5Q2xpZW50cy5oCmluZGV4IGU0MmVlMWRkZDY2M2E2M2Q1YWU3OTNiYjEwMmEwY2QzODAzZTA1
MWUuLmM2MzA5MzE2ODNlM2YzMzYxOGU3NzJhMzA1YmIzYmQ2MjA2OGQyYTkgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0VtcHR5
Q2xpZW50cy5oCkBAIC00ODYsNyArNDg2LDYgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lk
IHBvcHVsYXRlU2V0dGluZyhjb25zdCBTdHJpbmcmLCBTdHJpbmcqKSB7IH0KICAgICB2aXJ0dWFs
IHZvaWQgc3RvcmVTZXR0aW5nKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYpIHsgfQotICAg
IHZpcnR1YWwgYm9vbCBzZW5kTWVzc2FnZVRvRnJvbnRlbmQoY29uc3QgU3RyaW5nJikgeyByZXR1
cm4gZmFsc2U7IH0KIH07CiAKIH0KZGlmZiAtLWdpdCBhL1dlYktpdC9DaGFuZ2VMb2cgYi9XZWJL
aXQvQ2hhbmdlTG9nCmluZGV4IDc5YWViZDQxNThhMWQ4ZWJiMTk2NGY2ZDA0ZTg1MGQ4MDNlNmIw
ODYuLmEyODJmMDg5NTBiYzk5OTYyNDJkM2FlNDJmOThlZDFhNzc1NTk2MmMgMTAwNjQ0Ci0tLSBh
L1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBA
CisyMDEwLTA2LTA5ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4K
KworICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByNjA4ODkuCisgICAgICAgIGh0dHA6
Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzYwODg5CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MDM2NQorCisgICAgICAgIGd0ayBib3QgaGFzIHNv
bWUga2luZCBvZiBtZW1vcnkgY29ycnVwdGlvbiAoUmVxdWVzdGVkIGJ5CisgICAgICAgIGxvaXNs
byBvbiAjd2Via2l0KS4KKworICAgICAgICAqIGVmbC9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JD
bGllbnRFZmwuY3BwOgorICAgICAgICAqIGVmbC9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGll
bnRFZmwuaDoKKwogMjAxMC0wNi0wNyAgSWx5YSBUaWtob25vdnNreSAgPGxvaXNsb0BjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KZGlmZiAtLWdpdCBh
L1dlYktpdC9jZi9DaGFuZ2VMb2cgYi9XZWJLaXQvY2YvQ2hhbmdlTG9nCmluZGV4IDUwY2VkNTBk
NGJiZTg0NjE4NWJkZTgzZjFlYzUwOTZjNGYxNjVkZjEuLjQwOTkyZTYyNjk5NWZkNmUxZWI0Nzky
NGYwNzhjMGFiMmNjNmM0OTAgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jZi9DaGFuZ2VMb2cKKysrIGIv
V2ViS2l0L2NmL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEwLTA2LTA5ICBTaGVyaWZm
IEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmlld2Vk
LCByb2xsaW5nIG91dCByNjA4ODkuCisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hh
bmdlc2V0LzYwODg5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD00MDM2NQorCisgICAgICAgIGd0ayBib3QgaGFzIHNvbWUga2luZCBvZiBtZW1vcnkgY29y
cnVwdGlvbiAoUmVxdWVzdGVkIGJ5CisgICAgICAgIGxvaXNsbyBvbiAjd2Via2l0KS4KKworICAg
ICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudENGLmNwcDoKKyAgICAgICAg
KFdlYkluc3BlY3RvckNsaWVudDo6c3RvcmVTZXR0aW5nKToKKwogMjAxMC0wNi0wNyAgSWx5YSBU
aWtob25vdnNreSAgPGxvaXNsb0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
UGF2ZWwgRmVsZG1hbi4KZGlmZiAtLWdpdCBhL1dlYktpdC9jZi9XZWJDb3JlU3VwcG9ydC9XZWJJ
bnNwZWN0b3JDbGllbnRDRi5jcHAgYi9XZWJLaXQvY2YvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVj
dG9yQ2xpZW50Q0YuY3BwCmluZGV4IGRjNWExODZhYzc4NGMxYzMzNDNhMmEwNmZiOGQ1NmMzN2Ux
Mzk2NGIuLjBkNjZiODNjZDc3Mzk0ZWM3ODEwZDI1YzI3YzMwMmE3YWU4ODg3ZmQgMTAwNjQ0Ci0t
LSBhL1dlYktpdC9jZi9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnRDRi5jcHAKKysr
IGIvV2ViS2l0L2NmL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudENGLmNwcApAQCAt
NTMsOCArNTMsNiBAQAogCiAjaW5jbHVkZSA8Q29yZUZvdW5kYXRpb24vQ29yZUZvdW5kYXRpb24u
aD4KIAotI2luY2x1ZGUgPFdlYkNvcmUvRnJhbWUuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL1BhZ2Uu
aD4KICNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtU3RyaW5nLmg+CiAKICNpbmNsdWRlIDx3dGYv
UmV0YWluUHRyLmg+CkBAIC05NCwyOCArOTIsMyBAQCB2b2lkIFdlYkluc3BlY3RvckNsaWVudDo6
c3RvcmVTZXR0aW5nKGNvbnN0IFN0cmluZyYga2V5LCBjb25zdCBTdHJpbmcmIHNldHRpbmcpCiAg
ICAgUmV0YWluUHRyPENGU3RyaW5nUmVmPiBwcmVmZXJlbmNlc0tleShBZG9wdENGLCBjcmVhdGVL
ZXlGb3JQcmVmZXJlbmNlcyhrZXkpKTsKICAgICBDRlByZWZlcmVuY2VzU2V0QXBwVmFsdWUocHJl
ZmVyZW5jZXNLZXkuZ2V0KCksIG9iamVjdFRvU3RvcmUuZ2V0KCksIGtDRlByZWZlcmVuY2VzQ3Vy
cmVudEFwcGxpY2F0aW9uKTsKIH0KLQotdm9pZCBXZWJJbnNwZWN0b3JDbGllbnQ6OnJlbGVhc2VG
cm9udGVuZFBhZ2UoKQotewotICAgIG1fZnJvbnRlbmRQYWdlID0gMDsKLX0KLQotYm9vbCBXZWJJ
bnNwZWN0b3JDbGllbnQ6OnNlbmRNZXNzYWdlVG9Gcm9udGVuZChjb25zdCBTdHJpbmcmIG1lc3Nh
Z2UpCi17Ci0gICAgaWYgKCFtX2Zyb250ZW5kUGFnZSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwot
Ci0gICAgRnJhbWUqIGZyYW1lID0gbV9mcm9udGVuZFBhZ2UtPm1haW5GcmFtZSgpOwotICAgIGlm
ICghZnJhbWUpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIFNjcmlwdENvbnRyb2xsZXIq
IHNjcmlwdENvbnRyb2xsZXIgPSBmcmFtZS0+c2NyaXB0KCk7Ci0gICAgaWYgKCFzY3JpcHRDb250
cm9sbGVyKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBTdHJpbmcgZGlzcGF0Y2hUb0Zy
b250ZW5kKCJXZWJJbnNwZWN0b3IuZGlzcGF0Y2hNZXNzYWdlRnJvbUJhY2tlbmQoIik7Ci0gICAg
ZGlzcGF0Y2hUb0Zyb250ZW5kICs9IG1lc3NhZ2U7Ci0gICAgZGlzcGF0Y2hUb0Zyb250ZW5kICs9
ICIpOyI7Ci0gICAgc2NyaXB0Q29udHJvbGxlci0+ZXhlY3V0ZVNjcmlwdChkaXNwYXRjaFRvRnJv
bnRlbmQpOwotICAgIHJldHVybiB0cnVlOwotfQpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVt
L0NoYW5nZUxvZyBiL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggMzIyODc1NWY0ZDY3
NjQ4ZDgxZWMyYTdmODdmMTAyMGExNTc1OTBkNC4uMDRkODQ3MTVlMDI1ZDY1YWY1ZDlhYzAzNjcz
OTc5ZjI5NzdhMTQyYSAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysg
Yi9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTAtMDYtMDkg
IFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgorCisgICAgICAgIFVu
cmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI2MDg4OS4KKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0
Lm9yZy9jaGFuZ2VzZXQvNjA4ODkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTQwMzY1CisKKyAgICAgICAgZ3RrIGJvdCBoYXMgc29tZSBraW5kIG9mIG1l
bW9yeSBjb3JydXB0aW9uIChSZXF1ZXN0ZWQgYnkKKyAgICAgICAgbG9pc2xvIG9uICN3ZWJraXQp
LgorCisgICAgICAgICogc3JjL0luc3BlY3RvckNsaWVudEltcGwuY3BwOgorICAgICAgICAqIHNy
Yy9JbnNwZWN0b3JDbGllbnRJbXBsLmg6CisgICAgICAgICogc3JjL1dlYkRldlRvb2xzQWdlbnRJ
bXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViRGV2VG9vbHNBZ2VudEltcGw6OnNldEluc3Bl
Y3RvckZyb250ZW5kUHJveHlUb0luc3BlY3RvckNvbnRyb2xsZXIpOgorCiAyMDEwLTA2LTA5ICBQ
YXZlbCBQb2Rpdmlsb3YgIDxwb2Rpdmlsb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IFl1cnkgU2VtaWtoYXRza3kuCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3Jj
L0luc3BlY3RvckNsaWVudEltcGwuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9JbnNwZWN0b3JD
bGllbnRJbXBsLmNwcAppbmRleCA5MWQxMGQ1OTkyOWE5YjQzZDlkZWIwZGQ2Mzc4ODc5MzZlZTE4
ODZmLi4yMmI1MTVmMWJjYzkwNGZmOTNlZjA3NGRjMGIxMDg1NzMyNDM1ZTJlIDEwMDY0NAotLS0g
YS9XZWJLaXQvY2hyb21pdW0vc3JjL0luc3BlY3RvckNsaWVudEltcGwuY3BwCisrKyBiL1dlYktp
dC9jaHJvbWl1bS9zcmMvSW5zcGVjdG9yQ2xpZW50SW1wbC5jcHAKQEAgLTM1LDggKzM1LDYgQEAK
ICNpbmNsdWRlICJGbG9hdFJlY3QuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgogI2lu
Y2x1ZGUgIlBhZ2UuaCIKLSNpbmNsdWRlICJXZWJEZXZUb29sc0FnZW50SW1wbC5oIgotI2luY2x1
ZGUgIldlYkRldlRvb2xzTWVzc2FnZURhdGEuaCIKICNpbmNsdWRlICJXZWJSZWN0LmgiCiAjaW5j
bHVkZSAiV2ViVVJMLmgiCiAjaW5jbHVkZSAiV2ViVVJMUmVxdWVzdC5oIgpAQCAtMTA0LDIwICsx
MDIsNCBAQCB2b2lkIEluc3BlY3RvckNsaWVudEltcGw6OnN0b3JlU2V0dGluZyhjb25zdCBTdHJp
bmcmIGtleSwgY29uc3QgU3RyaW5nJiB2YWx1ZSkKICAgICBtX2luc3BlY3RlZFdlYlZpZXctPnNl
dEluc3BlY3RvclNldHRpbmcoa2V5LCB2YWx1ZSk7CiB9CiAKLWJvb2wgSW5zcGVjdG9yQ2xpZW50
SW1wbDo6c2VuZE1lc3NhZ2VUb0Zyb250ZW5kKGNvbnN0IFdlYkNvcmU6OlN0cmluZyYgbWVzc2Fn
ZSkKLXsKLSAgICBXZWJEZXZUb29sc0FnZW50SW1wbCogZGV2VG9vbHNBZ2VudCA9IHN0YXRpY19j
YXN0PFdlYkRldlRvb2xzQWdlbnRJbXBsKj4obV9pbnNwZWN0ZWRXZWJWaWV3LT5kZXZUb29sc0Fn
ZW50KCkpOwotICAgIGlmICghZGV2VG9vbHNBZ2VudCkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwot
Ci0gICAgV2ViVmVjdG9yPFdlYlN0cmluZz4gYXJndW1lbnRzKHNpemVfdCgxKSk7Ci0gICAgYXJn
dW1lbnRzWzBdID0gbWVzc2FnZTsKLSAgICBXZWJEZXZUb29sc01lc3NhZ2VEYXRhIGRhdGE7Ci0g
ICAgZGF0YS5jbGFzc05hbWUgPSAiVG9vbHNBZ2VudERlbGVnYXRlIjsKLSAgICBkYXRhLm1ldGhv
ZE5hbWUgPSAiZGlzcGF0Y2hPbkNsaWVudCI7Ci0gICAgZGF0YS5hcmd1bWVudHMuc3dhcChhcmd1
bWVudHMpOwotICAgIGRldlRvb2xzQWdlbnQtPnNlbmRScGNNZXNzYWdlKGRhdGEpOwotICAgIHJl
dHVybiB0cnVlOwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1dlYktp
dC9jaHJvbWl1bS9zcmMvSW5zcGVjdG9yQ2xpZW50SW1wbC5oIGIvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9JbnNwZWN0b3JDbGllbnRJbXBsLmgKaW5kZXggZjQ5OTRlMzVkODBjOTlmMDg0OTQ0YmQyYzg0
NGY2NjE0YTQzY2JhNi4uNzQ0N2QwYzRhM2FhYjAxNzU5YjExMTYyZWQwOTY4YjZhZDRjMTk2YSAx
MDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9JbnNwZWN0b3JDbGllbnRJbXBsLmgKKysr
IGIvV2ViS2l0L2Nocm9taXVtL3NyYy9JbnNwZWN0b3JDbGllbnRJbXBsLmgKQEAgLTM2LDggKzM2
LDYgQEAKICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewotCi1j
bGFzcyBXZWJEZXZUb29sc0FnZW50Q2xpZW50OwogY2xhc3MgV2ViVmlld0ltcGw7CiAKIGNsYXNz
IEluc3BlY3RvckNsaWVudEltcGwgOiBwdWJsaWMgV2ViQ29yZTo6SW5zcGVjdG9yQ2xpZW50IHsK
QEAgLTQ4LDE0ICs0NiwxNSBAQCBwdWJsaWM6CiAgICAgLy8gSW5zcGVjdG9yQ2xpZW50IG1ldGhv
ZHM6CiAgICAgdmlydHVhbCB2b2lkIGluc3BlY3RvckRlc3Ryb3llZCgpOwogICAgIHZpcnR1YWwg
dm9pZCBvcGVuSW5zcGVjdG9yRnJvbnRlbmQoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlciop
OwotCiAgICAgdmlydHVhbCB2b2lkIGhpZ2hsaWdodChXZWJDb3JlOjpOb2RlKik7CiAgICAgdmly
dHVhbCB2b2lkIGhpZGVIaWdobGlnaHQoKTsKKyAgICB2aXJ0dWFsIHZvaWQgcG9wdWxhdGVTZXR0
aW5nKAorICAgICAgICBjb25zdCBXZWJDb3JlOjpTdHJpbmcmIGtleSwKKyAgICAgICAgV2ViQ29y
ZTo6U3RyaW5nKiB2YWx1ZSk7CisgICAgdmlydHVhbCB2b2lkIHN0b3JlU2V0dGluZygKKyAgICAg
ICAgY29uc3QgV2ViQ29yZTo6U3RyaW5nJiBrZXksCisgICAgICAgIGNvbnN0IFdlYkNvcmU6OlN0
cmluZyYgdmFsdWUpOwogCi0gICAgdmlydHVhbCB2b2lkIHBvcHVsYXRlU2V0dGluZyhjb25zdCBX
ZWJDb3JlOjpTdHJpbmcmIGtleSwgV2ViQ29yZTo6U3RyaW5nKiB2YWx1ZSk7Ci0gICAgdmlydHVh
bCB2b2lkIHN0b3JlU2V0dGluZyhjb25zdCBXZWJDb3JlOjpTdHJpbmcmIGtleSwgY29uc3QgV2Vi
Q29yZTo6U3RyaW5nJiB2YWx1ZSk7Ci0KLSAgICB2aXJ0dWFsIGJvb2wgc2VuZE1lc3NhZ2VUb0Zy
b250ZW5kKGNvbnN0IFdlYkNvcmU6OlN0cmluZyYpOwogcHJpdmF0ZToKIAogICAgIC8vIFRoZSBX
ZWJWaWV3SW1wbCBvZiB0aGUgcGFnZSBiZWluZyBpbnNwZWN0ZWQ7IGdldHMgcGFzc2VkIHRvIHRo
ZSBjb25zdHJ1Y3RvcgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29s
c0FnZW50SW1wbC5jcHAgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzQWdlbnRJbXBs
LmNwcAppbmRleCBjNGJiYmZhOGFmODg1MmUzZGE0OGE1OGZlYjBkZWVlZGY1M2ZkOTczLi43YzU1
OWM5ZmViNzA0YzM3YzFhMGMxMjA5NjQwOThiZDc4MzZlMTUyIDEwMDY0NAotLS0gYS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYkRldlRvb2xzQWdlbnRJbXBsLmNwcAorKysgYi9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYkRldlRvb2xzQWdlbnRJbXBsLmNwcApAQCAtNDc1LDcgKzQ3NSw4IEBAIHZvaWQg
V2ViRGV2VG9vbHNBZ2VudEltcGw6OnNldEluc3BlY3RvckZyb250ZW5kUHJveHlUb0luc3BlY3Rv
ckNvbnRyb2xsZXIoKQogICAgIFNjcmlwdFN0YXRlKiBzdGF0ZSA9IFNjcmlwdFN0YXRlOjpmb3JD
b250ZXh0KAogICAgICAgICB2ODo6TG9jYWw8djg6OkNvbnRleHQ+OjpOZXcobV91dGlsaXR5Q29u
dGV4dCkpOwogICAgIEluc3BlY3RvckNvbnRyb2xsZXIqIGljID0gaW5zcGVjdG9yQ29udHJvbGxl
cigpOwotICAgIGljLT5jb25uZWN0RnJvbnRlbmQoU2NyaXB0T2JqZWN0KHN0YXRlLCBtX3V0aWxp
dHlDb250ZXh0LT5HbG9iYWwoKSkpOworICAgIGljLT5zZXRGcm9udGVuZChuZXcgSW5zcGVjdG9y
RnJvbnRlbmQoCisgICAgICAgIFNjcmlwdE9iamVjdChzdGF0ZSwgbV91dGlsaXR5Q29udGV4dC0+
R2xvYmFsKCkpKSk7CiB9CiAKIHZvaWQgV2ViRGV2VG9vbHNBZ2VudEltcGw6OnNldEFwdUFnZW50
RW5hYmxlZChib29sIGVuYWJsZWQpCmRpZmYgLS1naXQgYS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBw
b3J0L0luc3BlY3RvckNsaWVudEVmbC5jcHAgYi9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0lu
c3BlY3RvckNsaWVudEVmbC5jcHAKaW5kZXggMmZhODYwYWIzNzZmNGE3ZjE4MzM1NGNlNTg2OGZk
NTZkYzVhODBhZS4uODg5MmQ3ZmI3OGJhMjRjNGU2Mjk0MzczYjI5YjFlYjMwYTI3ODI5MCAxMDA2
NDQKLS0tIGEvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRFZmwuY3Bw
CisrKyBiL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50RWZsLmNwcApA
QCAtNTgsMTEgKzU4LDQgQEAgdm9pZCBJbnNwZWN0b3JDbGllbnRFZmw6OnN0b3JlU2V0dGluZyhj
b25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmKQogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAK
LWJvb2wgSW5zcGVjdG9yQ2xpZW50RWZsOjpzZW5kTWVzc2FnZVRvRnJvbnRlbmQoY29uc3QgU3Ry
aW5nJikKLXsKLSAgICBub3RJbXBlbGVtZW50ZWQoKTsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0K
LQogfQpkaWZmIC0tZ2l0IGEvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGll
bnRFZmwuaCBiL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50RWZsLmgK
aW5kZXggMWNhNjQ2ZDI1ZDExN2QzNTdmMzU1YjNiZjhiOTE3N2ZmNGQxZTZjYy4uMzBjOWNhZjY4
ZGNjMTgwNmJhNDdiNjc1MjEzNzkzNjc2MzMxNmIzMCAxMDA2NDQKLS0tIGEvV2ViS2l0L2VmbC9X
ZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRFZmwuaAorKysgYi9XZWJLaXQvZWZsL1dlYkNv
cmVTdXBwb3J0L0luc3BlY3RvckNsaWVudEVmbC5oCkBAIC01MCw4ICs1MCw2IEBAIHB1YmxpYzoK
IAogICAgIHZpcnR1YWwgdm9pZCBwb3B1bGF0ZVNldHRpbmcoY29uc3QgU3RyaW5nJiBrZXksIFN0
cmluZyogdmFsdWUpOwogICAgIHZpcnR1YWwgdm9pZCBzdG9yZVNldHRpbmcoY29uc3QgU3RyaW5n
JiBrZXksIGNvbnN0IFN0cmluZyYgdmFsdWUpOwotCi0gICAgdmlydHVhbCBib29sIHNlbmRNZXNz
YWdlVG9Gcm9udGVuZChjb25zdCBTdHJpbmcmKTsKIH07CiB9CiAKZGlmZiAtLWdpdCBhL1dlYktp
dC9ndGsvQ2hhbmdlTG9nIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKaW5kZXggYmZlMWVhYWMyNzAz
YTk0OGJhYzViMGUyNzdiYzU2M2Q4NDkxMjI2ZS4uYTAwYTNmZGI0OGQ1NDM5OGM4YTI3NjQ5ZjA0
YWQ0Nzk1ZTFhMzlmNyAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKKysrIGIvV2Vi
S2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxMC0wNi0wOSAgU2hlcmlmZiBC
b3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CisKKyAgICAgICAgVW5yZXZpZXdlZCwg
cm9sbGluZyBvdXQgcjYwODg5LgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5n
ZXNldC82MDg4OQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NDAzNjUKKworICAgICAgICBndGsgYm90IGhhcyBzb21lIGtpbmQgb2YgbWVtb3J5IGNvcnJ1
cHRpb24gKFJlcXVlc3RlZCBieQorICAgICAgICBsb2lzbG8gb24gI3dlYmtpdCkuCisKKyAgICAg
ICAgKiBXZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRHdGsuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpJbnNwZWN0b3JDbGllbnQ6Okluc3BlY3RvckNsaWVudCk6CisgICAgICAgIChXZWJLaXQ6
Okluc3BlY3RvckNsaWVudDo6b3Blbkluc3BlY3RvckZyb250ZW5kKToKKyAgICAgICAgKFdlYktp
dDo6SW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6Okluc3BlY3RvckZyb250ZW5kQ2xpZW50KToKKyAg
ICAgICAgKFdlYktpdDo6SW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OmRlc3Ryb3lJbnNwZWN0b3JX
aW5kb3cpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudEd0ay5oOgor
CiAyMDEwLTA2LTA3ICBJbHlhIFRpa2hvbm92c2t5ICA8bG9pc2xvQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBQYXZlbCBGZWxkbWFuLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0
ay9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRHdGsuY3BwIGIvV2ViS2l0L2d0ay9XZWJD
b3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRHdGsuY3BwCmluZGV4IDMyNDMxNzBkNzEyYzc4Mzg1
ZjJhMzk4YzZlYzY4ZGZlYzkwYTUxZTcuLjMxN2EwNTgyMjg1NzI5Yjg4YTM2OTI4MDUwN2M1OGVh
ZjJlNTEwZTkgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9y
Q2xpZW50R3RrLmNwcAorKysgYi9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNs
aWVudEd0ay5jcHAKQEAgLTE5LDcgKzE5LDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNs
dWRlICJJbnNwZWN0b3JDbGllbnRHdGsuaCIKIAotI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVk
ZSAid2Via2l0d2Vidmlldy5oIgogI2luY2x1ZGUgIndlYmtpdHdlYmluc3BlY3Rvci5oIgogI2lu
Y2x1ZGUgIndlYmtpdHByaXZhdGUuaCIKQEAgLTM5LDcgKzM4LDYgQEAgc3RhdGljIHZvaWQgbm90
aWZ5V2ViVmlld0Rlc3Ryb3llZChXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3LCBJbnNwZWN0b3JGcm9u
dGVuZENsaWUKIAogSW5zcGVjdG9yQ2xpZW50OjpJbnNwZWN0b3JDbGllbnQoV2ViS2l0V2ViVmll
dyogd2ViVmlldykKICAgICA6IG1faW5zcGVjdGVkV2ViVmlldyh3ZWJWaWV3KQotICAgICwgbV9m
cm9udGVuZFBhZ2UoMCkKIHt9CiAKIHZvaWQgSW5zcGVjdG9yQ2xpZW50OjppbnNwZWN0b3JEZXN0
cm95ZWQoKQpAQCAtODIsMTMgKzgwLDggQEAgdm9pZCBJbnNwZWN0b3JDbGllbnQ6Om9wZW5JbnNw
ZWN0b3JGcm9udGVuZChJbnNwZWN0b3JDb250cm9sbGVyKiBjb250cm9sbGVyKQogCiAgICAgZ3Rr
X3dpZGdldF9zaG93KEdUS19XSURHRVQoaW5zcGVjdG9yV2ViVmlldykpOwogCi0gICAgbV9mcm9u
dGVuZFBhZ2UgPSBjb3JlKGluc3BlY3RvcldlYlZpZXcpOwotICAgIG1fZnJvbnRlbmRQYWdlLT5p
bnNwZWN0b3JDb250cm9sbGVyKCktPnNldEluc3BlY3RvckZyb250ZW5kQ2xpZW50KG5ldyBJbnNw
ZWN0b3JGcm9udGVuZENsaWVudChtX2luc3BlY3RlZFdlYlZpZXcsIGluc3BlY3RvcldlYlZpZXcs
IHdlYkluc3BlY3RvciwgbV9mcm9udGVuZFBhZ2UsIHRoaXMpKTsKLX0KLQotdm9pZCBJbnNwZWN0
b3JDbGllbnQ6OnJlbGVhc2VGcm9udGVuZFBhZ2UoKQotewotICAgIG1fZnJvbnRlbmRQYWdlID0g
MDsKKyAgICBQYWdlKiBpbnNwZWN0b3JQYWdlID0gY29yZShpbnNwZWN0b3JXZWJWaWV3KTsKKyAg
ICBpbnNwZWN0b3JQYWdlLT5pbnNwZWN0b3JDb250cm9sbGVyKCktPnNldEluc3BlY3RvckZyb250
ZW5kQ2xpZW50KG5ldyBJbnNwZWN0b3JGcm9udGVuZENsaWVudChtX2luc3BlY3RlZFdlYlZpZXcs
IGluc3BlY3RvcldlYlZpZXcsIHdlYkluc3BlY3RvciwgaW5zcGVjdG9yUGFnZSkpOwogfQogCiB2
b2lkIEluc3BlY3RvckNsaWVudDo6aGlnaGxpZ2h0KE5vZGUqIG5vZGUpCkBAIC0xMTEsMzQgKzEw
NCwxNCBAQCB2b2lkIEluc3BlY3RvckNsaWVudDo6c3RvcmVTZXR0aW5nKGNvbnN0IFN0cmluZyYg
a2V5LCBjb25zdCBTdHJpbmcmIHZhbHVlKQogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKLWJv
b2wgSW5zcGVjdG9yQ2xpZW50OjpzZW5kTWVzc2FnZVRvRnJvbnRlbmQoY29uc3QgU3RyaW5nJiBt
ZXNzYWdlKQotewotICAgIGlmICghbV9mcm9udGVuZFBhZ2UpCi0gICAgICAgIHJldHVybiBmYWxz
ZTsKLQotICAgIEZyYW1lKiBmcmFtZSA9IG1fZnJvbnRlbmRQYWdlLT5tYWluRnJhbWUoKTsKLSAg
ICBpZiAoIWZyYW1lKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBTY3JpcHRDb250cm9s
bGVyKiBzY3JpcHRDb250cm9sbGVyID0gZnJhbWUtPnNjcmlwdCgpOwotICAgIGlmICghc2NyaXB0
Q29udHJvbGxlcikKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgU3RyaW5nIGRpc3BhdGNo
VG9Gcm9udGVuZCgiV2ViSW5zcGVjdG9yLmRpc3BhdGNoTWVzc2FnZVRvRnJvbnRlbmQoIik7Ci0g
ICAgZGlzcGF0Y2hUb0Zyb250ZW5kICs9IG1lc3NhZ2U7Ci0gICAgZGlzcGF0Y2hUb0Zyb250ZW5k
ICs9ICIpOyI7Ci0gICAgc2NyaXB0Q29udHJvbGxlci0+ZXhlY3V0ZVNjcmlwdChkaXNwYXRjaFRv
RnJvbnRlbmQpOwotICAgIHJldHVybiB0cnVlOwotfQogCiBib29sIGRlc3Ryb3llZCA9IFRSVUU7
CiAKLUluc3BlY3RvckZyb250ZW5kQ2xpZW50OjpJbnNwZWN0b3JGcm9udGVuZENsaWVudChXZWJL
aXRXZWJWaWV3KiBpbnNwZWN0ZWRXZWJWaWV3LCBXZWJLaXRXZWJWaWV3KiBpbnNwZWN0b3JXZWJW
aWV3LCBXZWJLaXRXZWJJbnNwZWN0b3IqIHdlYkluc3BlY3RvciwgUGFnZSogaW5zcGVjdG9yUGFn
ZSwgSW5zcGVjdG9yQ2xpZW50KiBpbnNwZWN0b3JDbGllbnQpCitJbnNwZWN0b3JGcm9udGVuZENs
aWVudDo6SW5zcGVjdG9yRnJvbnRlbmRDbGllbnQoV2ViS2l0V2ViVmlldyogaW5zcGVjdGVkV2Vi
VmlldywgV2ViS2l0V2ViVmlldyogaW5zcGVjdG9yV2ViVmlldywgV2ViS2l0V2ViSW5zcGVjdG9y
KiB3ZWJJbnNwZWN0b3IsIFBhZ2UqIGluc3BlY3RvclBhZ2UpCiAgICAgOiBJbnNwZWN0b3JGcm9u
dGVuZENsaWVudExvY2FsKGNvcmUoaW5zcGVjdGVkV2ViVmlldyktPmluc3BlY3RvckNvbnRyb2xs
ZXIoKSwgaW5zcGVjdG9yUGFnZSkKICAgICAsIG1faW5zcGVjdG9yV2ViVmlldyhpbnNwZWN0b3JX
ZWJWaWV3KQogICAgICwgbV9pbnNwZWN0ZWRXZWJWaWV3KGluc3BlY3RlZFdlYlZpZXcpCiAgICAg
LCBtX3dlYkluc3BlY3Rvcih3ZWJJbnNwZWN0b3IpCi0gICAgLCBtX2luc3BlY3RvckNsaWVudChp
bnNwZWN0b3JDbGllbnQpCiB7CiAgICAgZ19zaWduYWxfY29ubmVjdChtX2luc3BlY3RvcldlYlZp
ZXcsICJkZXN0cm95IiwKICAgICAgICAgICAgICAgICAgICAgIEdfQ0FMTEJBQ0sobm90aWZ5V2Vi
Vmlld0Rlc3Ryb3llZCksIChncG9pbnRlcil0aGlzKTsKQEAgLTE2NSw4ICsxMzgsNiBAQCB2b2lk
IEluc3BlY3RvckZyb250ZW5kQ2xpZW50OjpkZXN0cm95SW5zcGVjdG9yV2luZG93KCkKICAgICBn
X3NpZ25hbF9lbWl0X2J5X25hbWUod2ViSW5zcGVjdG9yLCAiY2xvc2Utd2luZG93IiwgJmhhbmRs
ZWQpOwogICAgIEFTU0VSVChoYW5kbGVkKTsKIAotICAgIG1faW5zcGVjdG9yQ2xpZW50LT5yZWxl
YXNlRnJvbnRlbmRQYWdlKCk7Ci0KICAgICAvKiB3ZSBzaG91bGQgbm93IGRpc3Bvc2Ugb3VyIG93
biByZWZlcmVuY2UgKi8KICAgICBnX29iamVjdF91bnJlZih3ZWJJbnNwZWN0b3IpOwogfQpkaWZm
IC0tZ2l0IGEvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRHdGsuaCBi
L1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50R3RrLmgKaW5kZXggMGFk
Y2MwOGYzNmFhZDRlNGFkYzc0NGRlNzEzZmY5N2U5NWZlNDA5My4uY2RiNTM3NTczYjhlYmFlZjQ0
NDJmMjRhZDc0Zjg3ODk5YWI1ZTlkYiAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9XZWJDb3JlU3Vw
cG9ydC9JbnNwZWN0b3JDbGllbnRHdGsuaAorKysgYi9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0
L0luc3BlY3RvckNsaWVudEd0ay5oCkBAIC01NiwxOCArNTYsMTMgQEAgbmFtZXNwYWNlIFdlYktp
dCB7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBwb3B1bGF0ZVNldHRpbmcoY29uc3QgV2ViQ29yZTo6
U3RyaW5nJiBrZXksIFdlYkNvcmU6OlN0cmluZyogdmFsdWUpOwogICAgICAgICB2aXJ0dWFsIHZv
aWQgc3RvcmVTZXR0aW5nKGNvbnN0IFdlYkNvcmU6OlN0cmluZyYga2V5LCBjb25zdCBXZWJDb3Jl
OjpTdHJpbmcmIHZhbHVlKTsKIAotICAgICAgICB2aXJ0dWFsIGJvb2wgc2VuZE1lc3NhZ2VUb0Zy
b250ZW5kKGNvbnN0IFdlYkNvcmU6OlN0cmluZyYpOwotCi0gICAgICAgIHZvaWQgcmVsZWFzZUZy
b250ZW5kUGFnZSgpOwotCiAgICAgcHJpdmF0ZToKICAgICAgICAgV2ViS2l0V2ViVmlldyogbV9p
bnNwZWN0ZWRXZWJWaWV3OwotICAgICAgICBXZWJDb3JlOjpQYWdlKiBtX2Zyb250ZW5kUGFnZTsK
ICAgICB9OwogCiAgICAgY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQgOiBwdWJsaWMgV2Vi
Q29yZTo6SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbCB7CiAgICAgcHVibGljOgotICAgICAg
ICBJbnNwZWN0b3JGcm9udGVuZENsaWVudChXZWJLaXRXZWJWaWV3KiBpbnNwZWN0ZWRXZWJWaWV3
LCBXZWJLaXRXZWJWaWV3KiBpbnNwZWN0b3JXZWJWaWV3LCBXZWJLaXRXZWJJbnNwZWN0b3IqIHdl
Ykluc3BlY3RvciwgV2ViQ29yZTo6UGFnZSogaW5zcGVjdG9yUGFnZSwgSW5zcGVjdG9yQ2xpZW50
KiBpbnNwZWN0b3JDbGllbnQpOworICAgICAgICBJbnNwZWN0b3JGcm9udGVuZENsaWVudChXZWJL
aXRXZWJWaWV3KiBpbnNwZWN0ZWRXZWJWaWV3LCBXZWJLaXRXZWJWaWV3KiBpbnNwZWN0b3JXZWJW
aWV3LCBXZWJLaXRXZWJJbnNwZWN0b3IqIHdlYkluc3BlY3RvciwgV2ViQ29yZTo6UGFnZSogaW5z
cGVjdG9yUGFnZSk7CiAKICAgICAgICAgdm9pZCBkZXN0cm95SW5zcGVjdG9yV2luZG93KCk7CiAK
QEAgLTkxLDcgKzg2LDYgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAgICAgICAgIFdlYktpdFdlYlZp
ZXcqIG1faW5zcGVjdG9yV2ViVmlldzsKICAgICAgICAgV2ViS2l0V2ViVmlldyogbV9pbnNwZWN0
ZWRXZWJWaWV3OwogICAgICAgICBXZWJLaXRXZWJJbnNwZWN0b3IqIG1fd2ViSW5zcGVjdG9yOwot
ICAgICAgICBJbnNwZWN0b3JDbGllbnQqIG1faW5zcGVjdG9yQ2xpZW50OwogICAgIH07CiB9CiAK
ZGlmZiAtLWdpdCBhL1dlYktpdC9oYWlrdS9DaGFuZ2VMb2cgYi9XZWJLaXQvaGFpa3UvQ2hhbmdl
TG9nCmluZGV4IGNlNTAyMzQ0MDhmNjE5MTAxMmY5OTkxZjQ5ZjEzZTJhN2E3MzFmZjguLmNlYmZj
ZDRiNjFkNGY5MmRhM2M4OTQ4MDVmODI2M2QwOWY0NWQwOWEgMTAwNjQ0Ci0tLSBhL1dlYktpdC9o
YWlrdS9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L2hhaWt1L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1
IEBACisyMDEwLTA2LTA5ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNv
bT4KKworICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByNjA4ODkuCisgICAgICAgIGh0
dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzYwODg5CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MDM2NQorCisgICAgICAgIGd0ayBib3QgaGFz
IHNvbWUga2luZCBvZiBtZW1vcnkgY29ycnVwdGlvbiAoUmVxdWVzdGVkIGJ5CisgICAgICAgIGxv
aXNsbyBvbiAjd2Via2l0KS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNs
aWVudEhhaWt1LmNwcDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRI
YWlrdS5oOgorCiAyMDEwLTA2LTA3ICBJbHlhIFRpa2hvbm92c2t5ICA8bG9pc2xvQGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBQYXZlbCBGZWxkbWFuLgpkaWZmIC0tZ2l0IGEv
V2ViS2l0L2hhaWt1L1dlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudEhhaWt1LmNwcCBiL1dl
YktpdC9oYWlrdS9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRIYWlrdS5jcHAKaW5kZXgg
ODgzZmNkM2ZkMGFkZDAzODQ0ODg3NjcxZDJhMDNiYmY1NjM5YzlhYS4uNTkyMzJlOTQxOWM0YjY3
YzliMjk5MTY3M2Y5OWRjMGIyMjEzYmU2ZiAxMDA2NDQKLS0tIGEvV2ViS2l0L2hhaWt1L1dlYkNv
cmVTdXBwb3J0L0luc3BlY3RvckNsaWVudEhhaWt1LmNwcAorKysgYi9XZWJLaXQvaGFpa3UvV2Vi
Q29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50SGFpa3UuY3BwCkBAIC02NywxMSArNjcsNSBAQCB2
b2lkIEluc3BlY3RvckNsaWVudEhhaWt1OjpzdG9yZVNldHRpbmcoY29uc3QgU3RyaW5nJiBrZXks
IGNvbnN0IFN0cmluZyYgdmFsdWUpCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAotYm9vbCBJ
bnNwZWN0b3JDbGllbnRIYWlrdTo6c2VuZE1lc3NhZ2VUb0Zyb250ZW5kKGNvbnN0IFN0cmluZyYp
Ci17Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKIApkaWZmIC0tZ2l0IGEvV2ViS2l0L2hhaWt1L1dlYkNvcmVTdXBw
b3J0L0luc3BlY3RvckNsaWVudEhhaWt1LmggYi9XZWJLaXQvaGFpa3UvV2ViQ29yZVN1cHBvcnQv
SW5zcGVjdG9yQ2xpZW50SGFpa3UuaAppbmRleCAzODI4ZDA0ODkwZDAyMzk4MmYwMmE5YWQ3YjEx
MGViNDRhNjY4NzYwLi5kNDI3NjcwZDExYjBiMzE1MmRiZTFjN2JiZDY2OWU4Y2VhNDNiOGIxIDEw
MDY0NAotLS0gYS9XZWJLaXQvaGFpa3UvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50SGFp
a3UuaAorKysgYi9XZWJLaXQvaGFpa3UvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50SGFp
a3UuaApAQCAtNDksOCArNDksNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgdmly
dHVhbCB2b2lkIHBvcHVsYXRlU2V0dGluZyhjb25zdCBXZWJDb3JlOjpTdHJpbmcmIGtleSwgV2Vi
Q29yZTo6U3RyaW5nKiB2YWx1ZSk7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBzdG9yZVNldHRpbmco
Y29uc3QgV2ViQ29yZTo6U3RyaW5nJiBrZXksIGNvbnN0IFdlYkNvcmU6OlN0cmluZyYgdmFsdWUp
OwotCi0gICAgICAgIHZpcnR1YWwgYm9vbCBzZW5kTWVzc2FnZVRvRnJvbnRlbmQoY29uc3QgV2Vi
Q29yZTo6U3RyaW5nJik7CiAgICAgfTsKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIApkaWZmIC0t
Z2l0IGEvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCA2
MmU2NDk4ZTgxZmJmNzAyMzBlOTU4NmEyNDkzN2VhNzVhNjUxNmRhLi43MDY2OTgyYzhhYmI2YTM3
M2U4NWRlOGVjNjJiZGVhN2VjZjkxNDI5IDEwMDY0NAotLS0gYS9XZWJLaXQvbWFjL0NoYW5nZUxv
ZworKysgYi9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEwLTA2LTA5
ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBV
bnJldmlld2VkLCByb2xsaW5nIG91dCByNjA4ODkuCisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtp
dC5vcmcvY2hhbmdlc2V0LzYwODg5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD00MDM2NQorCisgICAgICAgIGd0ayBib3QgaGFzIHNvbWUga2luZCBvZiBt
ZW1vcnkgY29ycnVwdGlvbiAoUmVxdWVzdGVkIGJ5CisgICAgICAgIGxvaXNsbyBvbiAjd2Via2l0
KS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5oOgorICAg
ICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5tbToKKyAgICAgICAgKFdl
Ykluc3BlY3RvckNsaWVudDo6V2ViSW5zcGVjdG9yQ2xpZW50KToKKyAgICAgICAgKFdlYkluc3Bl
Y3RvckNsaWVudDo6b3Blbkluc3BlY3RvckZyb250ZW5kKToKKyAgICAgICAgKC1bV2ViSW5zcGVj
dG9yV2luZG93Q29udHJvbGxlciBkZXN0cm95SW5zcGVjdG9yVmlld10pOgorCiAyMDEwLTA2LTA3
ICBJbHlhIFRpa2hvbm92c2t5ICA8bG9pc2xvQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBQYXZlbCBGZWxkbWFuLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuaCBiL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2Vi
SW5zcGVjdG9yQ2xpZW50LmgKaW5kZXggYmQ1Mjk1NDU2ODFlMjU1YmI5YmRmYTA2MzBmOTM4MTc0
NWY4NWU3MS4uZWU4MWIyNWQ0MjE2NWEwY2U5OGQ1NjZmZmQwOWVkYjYyZTRiMGQ4MiAxMDA2NDQK
LS0tIGEvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuaAorKysg
Yi9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5oCkBAIC00Miwx
MiArNDIsNiBAQCBjbGFzcyBXZWJOb2RlSGlnaGxpZ2h0ZXI7CiBjbGFzcyBXZWJWaWV3OwogI2Vu
ZGlmCiAKLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgUGFnZTsKLQotfQotCiBjbGFzcyBX
ZWJJbnNwZWN0b3JDbGllbnQgOiBwdWJsaWMgV2ViQ29yZTo6SW5zcGVjdG9yQ2xpZW50IHsKIHB1
YmxpYzoKICAgICBXZWJJbnNwZWN0b3JDbGllbnQoV2ViVmlldyAqKTsKQEAgLTYyLDMyICs1Niwy
NiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHBvcHVsYXRlU2V0dGluZyhjb25zdCBXZWJD
b3JlOjpTdHJpbmcmIGtleSwgV2ViQ29yZTo6U3RyaW5nKiB2YWx1ZSk7CiAgICAgdmlydHVhbCB2
b2lkIHN0b3JlU2V0dGluZyhjb25zdCBXZWJDb3JlOjpTdHJpbmcmIGtleSwgY29uc3QgV2ViQ29y
ZTo6U3RyaW5nJiB2YWx1ZSk7CiAKLSAgICB2aXJ0dWFsIGJvb2wgc2VuZE1lc3NhZ2VUb0Zyb250
ZW5kKGNvbnN0IFdlYkNvcmU6OlN0cmluZyYpOwotCi0gICAgdm9pZCByZWxlYXNlRnJvbnRlbmRQ
YWdlKCk7Ci0KIHByaXZhdGU6CiAgICAgV2ViVmlldyAqbV93ZWJWaWV3OwogICAgIFJldGFpblB0
cjxXZWJOb2RlSGlnaGxpZ2h0ZXI+IG1faGlnaGxpZ2h0ZXI7Ci0gICAgV2ViQ29yZTo6UGFnZSog
bV9mcm9udGVuZFBhZ2U7CiB9OwogCi0KIGNsYXNzIFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50
IDogcHVibGljIFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwgewogcHVibGlj
OgogICAgIFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50KFdlYlZpZXcqLCBXZWJJbnNwZWN0b3JX
aW5kb3dDb250cm9sbGVyKiwgV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlciosIFdlYkNvcmU6
OlBhZ2UqKTsKIAogICAgIHZpcnR1YWwgdm9pZCBmcm9udGVuZExvYWRlZCgpOwotCisgICAgCiAg
ICAgdmlydHVhbCBXZWJDb3JlOjpTdHJpbmcgbG9jYWxpemVkU3RyaW5nc1VSTCgpOwogICAgIHZp
cnR1YWwgV2ViQ29yZTo6U3RyaW5nIGhpZGRlblBhbmVscygpOwotCisgICAgCiAgICAgdmlydHVh
bCB2b2lkIGJyaW5nVG9Gcm9udCgpOwogICAgIHZpcnR1YWwgdm9pZCBjbG9zZVdpbmRvdygpOwot
CisgICAgCiAgICAgdmlydHVhbCB2b2lkIGF0dGFjaFdpbmRvdygpOwogICAgIHZpcnR1YWwgdm9p
ZCBkZXRhY2hXaW5kb3coKTsKLQorICAgIAogICAgIHZpcnR1YWwgdm9pZCBzZXRBdHRhY2hlZFdp
bmRvd0hlaWdodCh1bnNpZ25lZCBoZWlnaHQpOwogICAgIHZpcnR1YWwgdm9pZCBpbnNwZWN0ZWRV
UkxDaGFuZ2VkKGNvbnN0IFdlYkNvcmU6OlN0cmluZyYgbmV3VVJMKTsKIApkaWZmIC0tZ2l0IGEv
V2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQubW0gYi9XZWJLaXQv
bWFjL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5tbQppbmRleCBkNTkxMDllYjJh
ZDYyNzZhYzM5YmE3NjliMWVlZTE4ZGQ5NjU0NGQ3Li42NjFiMGQyNzQ4ODRjY2QxMmVmM2IxMzk3
NzA1ZWJjYjE0YmY2MjczIDEwMDY0NAotLS0gYS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dl
Ykluc3BlY3RvckNsaWVudC5tbQorKysgYi9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYklu
c3BlY3RvckNsaWVudC5tbQpAQCAtNTAsNyArNTAsNiBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29y
ZTsKICAgICBXZWJWaWV3ICpfaW5zcGVjdGVkV2ViVmlldzsKICAgICBXZWJWaWV3ICpfd2ViVmll
dzsKICAgICBXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudCogX2Zyb250ZW5kQ2xpZW50OwotICAg
IFdlYkluc3BlY3RvckNsaWVudCogX2luc3BlY3RvckNsaWVudDsKICAgICBCT09MIF9hdHRhY2hl
ZFRvSW5zcGVjdGVkV2ViVmlldzsKICAgICBCT09MIF9zaG91bGRBdHRhY2g7CiAgICAgQk9PTCBf
dmlzaWJsZTsKQEAgLTYyLDcgKzYxLDYgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAtICh2
b2lkKWRldGFjaDsKIC0gKEJPT0wpYXR0YWNoZWQ7CiAtICh2b2lkKXNldEZyb250ZW5kQ2xpZW50
OihXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudCopZnJvbnRlbmRDbGllbnQ7Ci0tICh2b2lkKXNl
dEluc3BlY3RvckNsaWVudDooV2ViSW5zcGVjdG9yQ2xpZW50KilpbnNwZWN0b3JDbGllbnQ7CiAt
ICh2b2lkKXNldEF0dGFjaGVkV2luZG93SGVpZ2h0Oih1bnNpZ25lZCloZWlnaHQ7CiAtICh2b2lk
KWRlc3Ryb3lJbnNwZWN0b3JWaWV3OwogQGVuZApAQCAtODUsNyArODMsNiBAQCB1c2luZyBuYW1l
c3BhY2UgV2ViQ29yZTsKIFdlYkluc3BlY3RvckNsaWVudDo6V2ViSW5zcGVjdG9yQ2xpZW50KFdl
YlZpZXcgKndlYlZpZXcpCiA6IG1fd2ViVmlldyh3ZWJWaWV3KQogLCBtX2hpZ2hsaWdodGVyKEFk
b3B0TlMsIFtbV2ViTm9kZUhpZ2hsaWdodGVyIGFsbG9jXSBpbml0V2l0aEluc3BlY3RlZFdlYlZp
ZXc6d2ViVmlld10pCi0sIG1fZnJvbnRlbmRQYWdlKDApCiB7CiB9CiAKQEAgLTk3LDkgKzk0LDkg
QEAgdm9pZCBXZWJJbnNwZWN0b3JDbGllbnQ6Omluc3BlY3RvckRlc3Ryb3llZCgpCiB2b2lkIFdl
Ykluc3BlY3RvckNsaWVudDo6b3Blbkluc3BlY3RvckZyb250ZW5kKEluc3BlY3RvckNvbnRyb2xs
ZXIqIGluc3BlY3RvckNvbnRyb2xsZXIpCiB7CiAgICAgUmV0YWluUHRyPFdlYkluc3BlY3Rvcldp
bmRvd0NvbnRyb2xsZXI+IHdpbmRvd0NvbnRyb2xsZXIoQWRvcHROUywgW1tXZWJJbnNwZWN0b3JX
aW5kb3dDb250cm9sbGVyIGFsbG9jXSBpbml0V2l0aEluc3BlY3RlZFdlYlZpZXc6bV93ZWJWaWV3
XSk7Ci0gICAgW3dpbmRvd0NvbnRyb2xsZXIuZ2V0KCkgc2V0SW5zcGVjdG9yQ2xpZW50OnRoaXNd
OwotICAgIG1fZnJvbnRlbmRQYWdlID0gY29yZShbd2luZG93Q29udHJvbGxlci5nZXQoKSB3ZWJW
aWV3XSk7Ci0gICAgbV9mcm9udGVuZFBhZ2UtPmluc3BlY3RvckNvbnRyb2xsZXIoKS0+c2V0SW5z
cGVjdG9yRnJvbnRlbmRDbGllbnQobmV3IFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50KG1fd2Vi
Vmlldywgd2luZG93Q29udHJvbGxlci5nZXQoKSwgaW5zcGVjdG9yQ29udHJvbGxlciwgbV9mcm9u
dGVuZFBhZ2UpKTsKKyAgICBQYWdlKiBmcm9udGVuZFBhZ2UgPSBjb3JlKFt3aW5kb3dDb250cm9s
bGVyLmdldCgpIHdlYlZpZXddKTsKKworICAgIGZyb250ZW5kUGFnZS0+aW5zcGVjdG9yQ29udHJv
bGxlcigpLT5zZXRJbnNwZWN0b3JGcm9udGVuZENsaWVudChuZXcgV2ViSW5zcGVjdG9yRnJvbnRl
bmRDbGllbnQobV93ZWJWaWV3LCB3aW5kb3dDb250cm9sbGVyLmdldCgpLCBpbnNwZWN0b3JDb250
cm9sbGVyLCBmcm9udGVuZFBhZ2UpKTsKIH0KIAogdm9pZCBXZWJJbnNwZWN0b3JDbGllbnQ6Omhp
Z2hsaWdodChOb2RlKiBub2RlKQpAQCAtNDEwLDExICs0MDcsNiBAQCB2b2lkIFdlYkluc3BlY3Rv
ckZyb250ZW5kQ2xpZW50Ojp1cGRhdGVXaW5kb3dUaXRsZSgpIGNvbnN0CiAgICAgX2Zyb250ZW5k
Q2xpZW50ID0gZnJvbnRlbmRDbGllbnQ7CiB9CiAKLS0gKHZvaWQpc2V0SW5zcGVjdG9yQ2xpZW50
OihXZWJJbnNwZWN0b3JDbGllbnQqKWluc3BlY3RvckNsaWVudAotewotICAgIF9pbnNwZWN0b3JD
bGllbnQgPSBpbnNwZWN0b3JDbGllbnQ7Ci19Ci0KIC0gKHZvaWQpc2V0QXR0YWNoZWRXaW5kb3dI
ZWlnaHQ6KHVuc2lnbmVkKWhlaWdodAogewogICAgIGlmICghX2F0dGFjaGVkVG9JbnNwZWN0ZWRX
ZWJWaWV3KQpAQCAtNDQ3LDggKzQzOSw2IEBAIHZvaWQgV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGll
bnQ6OnVwZGF0ZVdpbmRvd1RpdGxlKCkgY29uc3QKICAgICBpZiAoUGFnZSogaW5zcGVjdGVkUGFn
ZSA9IFtfaW5zcGVjdGVkV2ViVmlldyBwYWdlXSkKICAgICAgICAgaW5zcGVjdGVkUGFnZS0+aW5z
cGVjdG9yQ29udHJvbGxlcigpLT5kaXNjb25uZWN0RnJvbnRlbmQoKTsKIAotICAgIF9pbnNwZWN0
b3JDbGllbnQtPnJlbGVhc2VGcm9udGVuZFBhZ2UoKTsKLQogICAgIFtfd2ViVmlldyBjbG9zZV07
CiB9CiAKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9XZWJLaXQvcXQvQ2hhbmdl
TG9nCmluZGV4IDE3YWZiZTg4M2ZjYzQzOWFlZjNmM2U4YTJkNGJiZjljYjUxYzM4N2MuLmZlMDhk
NzI4YWRlY2FlNTM5ZTkzNjNlMTJkMTlkNDM0MTg4OTFmOTIgMTAwNjQ0Ci0tLSBhL1dlYktpdC9x
dC9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisy
MDEwLTA2LTA5ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKwor
ICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByNjA4ODkuCisgICAgICAgIGh0dHA6Ly90
cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzYwODg5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MDM2NQorCisgICAgICAgIGd0ayBib3QgaGFzIHNvbWUg
a2luZCBvZiBtZW1vcnkgY29ycnVwdGlvbiAoUmVxdWVzdGVkIGJ5CisgICAgICAgIGxvaXNsbyBv
biAjd2Via2l0KS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudFF0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNsaWVudFF0OjpJbnNwZWN0b3JDbGll
bnRRdCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDbGllbnRRdDo6b3Blbkluc3BlY3Rv
ckZyb250ZW5kKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5kQ2xpZW50UXQ6
Okluc3BlY3RvckZyb250ZW5kQ2xpZW50UXQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
RnJvbnRlbmRDbGllbnRRdDo6Y2xvc2VXaW5kb3cpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0
L0luc3BlY3RvckNsaWVudFF0Lmg6CisKIDIwMTAtMDYtMDcgIElseWEgVGlraG9ub3Zza3kgIDxs
b2lzbG9AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRtYW4u
CmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50UXQu
Y3BwIGIvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudFF0LmNwcAppbmRl
eCBjMmY2N2ZlMzRiM2FmYzU0ZGFhNWY2YWI3Y2I2YzFiY2I0Njk5YTI1Li4yZDExNzAwOGM2YjYw
ODQzZDE3MGYzZjFhMmNmOTc1ZWM4NTFmOWNlIDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvV2ViQ29y
ZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50UXQuY3BwCisrKyBiL1dlYktpdC9xdC9XZWJDb3JlU3Vw
cG9ydC9JbnNwZWN0b3JDbGllbnRRdC5jcHAKQEAgLTMxLDcgKzMxLDYgQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JDbGllbnRRdC5oIgogCi0jaW5jbHVkZSAiRnJh
bWUuaCIKICNpbmNsdWRlICJxd2ViaW5zcGVjdG9yLmgiCiAjaW5jbHVkZSAicXdlYmluc3BlY3Rv
cl9wLmgiCiAjaW5jbHVkZSAicXdlYnBhZ2UuaCIKQEAgLTQ1LDcgKzQ0LDYgQEAKICNpbmNsdWRl
ICJOb3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQbGF0Zm9y
bVN0cmluZy5oIgotI2luY2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCkBAIC03Niw3ICs3NCw2IEBAIHB1YmxpYzoKIAogSW5zcGVjdG9yQ2xpZW50UXQ6
Okluc3BlY3RvckNsaWVudFF0KFFXZWJQYWdlKiBwYWdlKQogICAgIDogbV9pbnNwZWN0ZWRXZWJQ
YWdlKHBhZ2UpCi0gICAgLCBtX2Zyb250ZW5kV2ViUGFnZSgwKQoge30KIAogdm9pZCBJbnNwZWN0
b3JDbGllbnRRdDo6aW5zcGVjdG9yRGVzdHJveWVkKCkKQEAgLTEwNiwxMyArMTAzLDcgQEAgdm9p
ZCBJbnNwZWN0b3JDbGllbnRRdDo6b3Blbkluc3BlY3RvckZyb250ZW5kKFdlYkNvcmU6Okluc3Bl
Y3RvckNvbnRyb2xsZXIqKQogICAgIG1faW5zcGVjdGVkV2ViUGFnZS0+ZC0+aW5zcGVjdG9yRnJv
bnRlbmQgPSBpbnNwZWN0b3JWaWV3OwogICAgIGluc3BlY3Rvci0+ZC0+c2V0RnJvbnRlbmQoaW5z
cGVjdG9yVmlldyk7CiAKLSAgICBpbnNwZWN0b3JWaWV3LT5wYWdlKCktPmQtPnBhZ2UtPmluc3Bl
Y3RvckNvbnRyb2xsZXIoKS0+c2V0SW5zcGVjdG9yRnJvbnRlbmRDbGllbnQobmV3IEluc3BlY3Rv
ckZyb250ZW5kQ2xpZW50UXQobV9pbnNwZWN0ZWRXZWJQYWdlLCBpbnNwZWN0b3JWaWV3LCB0aGlz
KSk7Ci0gICAgbV9mcm9udGVuZFdlYlBhZ2UgPSBpbnNwZWN0b3JQYWdlOwotfQotCi12b2lkIElu
c3BlY3RvckNsaWVudFF0OjpyZWxlYXNlRnJvbnRlbmRQYWdlKCkKLXsKLSAgICBtX2Zyb250ZW5k
V2ViUGFnZSA9IDA7CisgICAgaW5zcGVjdG9yVmlldy0+cGFnZSgpLT5kLT5wYWdlLT5pbnNwZWN0
b3JDb250cm9sbGVyKCktPnNldEluc3BlY3RvckZyb250ZW5kQ2xpZW50KG5ldyBJbnNwZWN0b3JG
cm9udGVuZENsaWVudFF0KG1faW5zcGVjdGVkV2ViUGFnZSwgaW5zcGVjdG9yVmlldykpOwogfQog
CiB2b2lkIEluc3BlY3RvckNsaWVudFF0OjpoaWdobGlnaHQoTm9kZSopCkBAIC0xNjksMzAgKzE2
MCw2IEBAIHZvaWQgSW5zcGVjdG9yQ2xpZW50UXQ6OnN0b3JlU2V0dGluZyhjb25zdCBTdHJpbmcm
IGtleSwgY29uc3QgU3RyaW5nJiBzZXR0aW5nKQogI2VuZGlmIC8vIFFUX05PX1NFVFRJTkdTCiB9
CiAKLWJvb2wgSW5zcGVjdG9yQ2xpZW50UXQ6OnNlbmRNZXNzYWdlVG9Gcm9udGVuZChjb25zdCBT
dHJpbmcmIG1lc3NhZ2UpCi17Ci0gICAgaWYgKCFtX2Zyb250ZW5kV2ViUGFnZSkKLSAgICAgICAg
cmV0dXJuIGZhbHNlOwotCi0gICAgUGFnZSogZnJvbnRlbmRQYWdlID0gUVdlYlBhZ2VQcml2YXRl
Ojpjb3JlKG1fZnJvbnRlbmRXZWJQYWdlKTsKLSAgICBpZiAoIWZyb250ZW5kUGFnZSkKLSAgICAg
ICAgcmV0dXJuIGZhbHNlOwotCi0gICAgRnJhbWUqIGZyYW1lID0gZnJvbnRlbmRQYWdlLT5tYWlu
RnJhbWUoKTsKLSAgICBpZiAoIWZyYW1lKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBT
Y3JpcHRDb250cm9sbGVyKiBzY3JpcHRDb250cm9sbGVyID0gZnJhbWUtPnNjcmlwdCgpOwotICAg
IGlmICghc2NyaXB0Q29udHJvbGxlcikKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgU3Ry
aW5nIGRpc3BhdGNoVG9Gcm9udGVuZCgiV2ViSW5zcGVjdG9yLmRpc3BhdGNoTWVzc2FnZVRvRnJv
bnRlbmQoIik7Ci0gICAgZGlzcGF0Y2hUb0Zyb250ZW5kICs9IG1lc3NhZ2U7Ci0gICAgZGlzcGF0
Y2hUb0Zyb250ZW5kICs9ICIpOyI7Ci0gICAgc2NyaXB0Q29udHJvbGxlci0+ZXhlY3V0ZVNjcmlw
dChkaXNwYXRjaFRvRnJvbnRlbmQpOwotICAgIHJldHVybiB0cnVlOwotfQotCiBzdGF0aWMgU3Ry
aW5nIHZhcmlhbnRUb1NldHRpbmcoY29uc3QgUVZhcmlhbnQmIHF2YXJpYW50KQogewogICAgIFN0
cmluZyByZXRWYWw7CkBAIC0yMTYsMTIgKzE4MywxMSBAQCBzdGF0aWMgUVZhcmlhbnQgc2V0dGlu
Z1RvVmFyaWFudChjb25zdCBTdHJpbmcmIHNldHRpbmcpCiAgICAgcmV0dXJuIHJldFZhbDsKIH0K
IAotSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRRdDo6SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRRdChR
V2ViUGFnZSogaW5zcGVjdGVkV2ViUGFnZSwgUGFzc093blB0cjxRV2ViVmlldz4gaW5zcGVjdG9y
VmlldywgSW5zcGVjdG9yQ2xpZW50UXQqIGluc3BlY3RvckNsaWVudCkKK0luc3BlY3RvckZyb250
ZW5kQ2xpZW50UXQ6Okluc3BlY3RvckZyb250ZW5kQ2xpZW50UXQoUVdlYlBhZ2UqIGluc3BlY3Rl
ZFdlYlBhZ2UsIFBhc3NPd25QdHI8UVdlYlZpZXc+IGluc3BlY3RvclZpZXcpCiAgICAgOiBJbnNw
ZWN0b3JGcm9udGVuZENsaWVudExvY2FsKGluc3BlY3RlZFdlYlBhZ2UtPmQtPnBhZ2UtPmluc3Bl
Y3RvckNvbnRyb2xsZXIoKSwgaW5zcGVjdG9yVmlldy0+cGFnZSgpLT5kLT5wYWdlKSAKICAgICAs
IG1faW5zcGVjdGVkV2ViUGFnZShpbnNwZWN0ZWRXZWJQYWdlKQogICAgICwgbV9pbnNwZWN0b3JW
aWV3KGluc3BlY3RvclZpZXcpCiAgICAgLCBtX2Rlc3Ryb3lpbmdJbnNwZWN0b3JWaWV3KGZhbHNl
KQotICAgICwgbV9pbnNwZWN0b3JDbGllbnQoaW5zcGVjdG9yQ2xpZW50KQogewogfQogCkBAIC0y
NTksOCArMjI1LDYgQEAgdm9pZCBJbnNwZWN0b3JGcm9udGVuZENsaWVudFF0OjpjbG9zZVdpbmRv
dygpCiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBtX2luc3BlY3RlZFdlYlBhZ2UtPmQtPmlu
c3BlY3RvckNvbnRyb2xsZXIoKS0+ZGlzY29ubmVjdEZyb250ZW5kKCk7CiAjZW5kaWYKLSAgICBt
X2luc3BlY3RvckNsaWVudC0+cmVsZWFzZUZyb250ZW5kUGFnZSgpOwotCiAgICAgLy8gQ2xlYXIg
cG9pbnRlciBiZWZvcmUgZGVsZXRpbmcgV2ViVmlldyB0byBhdm9pZCByZWN1cnNpdmUgY2FsbHMg
dG8gaXRzIGRlc3RydWN0b3IuCiAgICAgZGVsZXRlIG1faW5zcGVjdG9yVmlldy5yZWxlYXNlKCk7
CiB9CmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50
UXQuaCBiL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRRdC5oCmluZGV4
IGM5OTZmNTU4OTZmNjE0Njk5MTQxODY2MGIwZTgyNjM2NTFkMzFkZjMuLjRiZWFkYWJlOThiZDY1
MDcwMjYwMzc4ZTNkNTM3ZjZkYjQ1N2UyMmQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9XZWJDb3Jl
U3VwcG9ydC9JbnNwZWN0b3JDbGllbnRRdC5oCisrKyBiL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9y
dC9JbnNwZWN0b3JDbGllbnRRdC5oCkBAIC01OCwxOCArNTgsMTMgQEAgcHVibGljOgogICAgIHZp
cnR1YWwgdm9pZCBwb3B1bGF0ZVNldHRpbmcoY29uc3QgU3RyaW5nJiBrZXksIFN0cmluZyogdmFs
dWUpOwogICAgIHZpcnR1YWwgdm9pZCBzdG9yZVNldHRpbmcoY29uc3QgU3RyaW5nJiBrZXksIGNv
bnN0IFN0cmluZyYgdmFsdWUpOwogCi0gICAgdmlydHVhbCBib29sIHNlbmRNZXNzYWdlVG9Gcm9u
dGVuZChjb25zdCBTdHJpbmcmKTsKLQotICAgIHZvaWQgcmVsZWFzZUZyb250ZW5kUGFnZSgpOwot
CiBwcml2YXRlOgogICAgIFFXZWJQYWdlKiBtX2luc3BlY3RlZFdlYlBhZ2U7Ci0gICAgUVdlYlBh
Z2UqIG1fZnJvbnRlbmRXZWJQYWdlOwogfTsKIAogY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmRDbGll
bnRRdCA6IHB1YmxpYyBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsIHsKIHB1YmxpYzoKLSAg
ICBJbnNwZWN0b3JGcm9udGVuZENsaWVudFF0KFFXZWJQYWdlKiBpbnNwZWN0ZWRXZWJQYWdlLCBQ
YXNzT3duUHRyPFFXZWJWaWV3PiBpbnNwZWN0b3JWaWV3LCBJbnNwZWN0b3JDbGllbnRRdCogaW5z
cGVjdG9yQ2xpZW50KTsKKyAgICBJbnNwZWN0b3JGcm9udGVuZENsaWVudFF0KFFXZWJQYWdlKiBp
bnNwZWN0ZWRXZWJQYWdlLCBQYXNzT3duUHRyPFFXZWJWaWV3PiBpbnNwZWN0b3JWaWV3KTsKIAog
ICAgIHZpcnR1YWwgdm9pZCBmcm9udGVuZExvYWRlZCgpOwogCkBAIC05Myw3ICs4OCw2IEBAIHBy
aXZhdGU6CiAgICAgT3duUHRyPFFXZWJWaWV3PiBtX2luc3BlY3RvclZpZXc7CiAgICAgUVN0cmlu
ZyBtX2luc3BlY3RlZFVSTDsKICAgICBib29sIG1fZGVzdHJveWluZ0luc3BlY3RvclZpZXc7Ci0g
ICAgSW5zcGVjdG9yQ2xpZW50UXQqIG1faW5zcGVjdG9yQ2xpZW50OwogfTsKIH0KIApkaWZmIC0t
Z2l0IGEvV2ViS2l0L3dpbi9DaGFuZ2VMb2cgYi9XZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCA1
NjdlZWI5ZmNhZGJhM2ViM2NkYmIyNWI4ZDg4M2EyNzcyNDYxZGVhLi43MDRiY2IwMmRjOTZkZjZh
Njg2MjA5ODEzNDA4NTlmMjMzMWU0YmNlIDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL0NoYW5nZUxv
ZworKysgYi9XZWJLaXQvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEwLTA2LTA5
ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBV
bnJldmlld2VkLCByb2xsaW5nIG91dCByNjA4ODkuCisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtp
dC5vcmcvY2hhbmdlc2V0LzYwODg5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD00MDM2NQorCisgICAgICAgIGd0ayBib3QgaGFzIHNvbWUga2luZCBvZiBt
ZW1vcnkgY29ycnVwdGlvbiAoUmVxdWVzdGVkIGJ5CisgICAgICAgIGxvaXNsbyBvbiAjd2Via2l0
KS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5jcHA6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3JDbGllbnQ6OldlYkluc3BlY3RvckNsaWVudCk6CisgICAgICAg
IChXZWJJbnNwZWN0b3JDbGllbnQ6On5XZWJJbnNwZWN0b3JDbGllbnQpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yQ2xpZW50OjpvcGVuSW5zcGVjdG9yRnJvbnRlbmQpOgorICAgICAgICAqIFdlYkNv
cmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5oOgorICAgICAgICAoV2ViSW5zcGVjdG9yQ2xp
ZW50Ojpmcm9udGVuZENsb3NpbmcpOgorCiAyMDEwLTA2LTA3ICBJbHlhIFRpa2hvbm92c2t5ICA8
bG9pc2xvQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBQYXZlbCBGZWxkbWFu
LgpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGll
bnQuY3BwIGIvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuY3Bw
CmluZGV4IDM0ZmI4MjczYWRkMzBhNGU4NDczMzcwNmM3YmEzYjM1ZjFhMzVjNDIuLjNjMjYzZTVl
NmU4NTEzOGQwNzg1YzQ3MmRhNjg2NGYxYTg4ZmJlYzggMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4v
V2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmNwcAorKysgYi9XZWJLaXQvd2luL1dl
YkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5jcHAKQEAgLTY5LDcgKzY5LDYgQEAgc3Rh
dGljIENGQnVuZGxlUmVmIGdldFdlYktpdEJ1bmRsZSgpCiAKIFdlYkluc3BlY3RvckNsaWVudDo6
V2ViSW5zcGVjdG9yQ2xpZW50KFdlYlZpZXcqIHdlYlZpZXcpCiAgICAgOiBtX2luc3BlY3RlZFdl
YlZpZXcod2ViVmlldykKLSAgICAsIG1fZnJvbnRlbmRQYWdlKDApCiB7CiAgICAgQVNTRVJUKG1f
aW5zcGVjdGVkV2ViVmlldyk7CiAgICAgbV9pbnNwZWN0ZWRXZWJWaWV3LT52aWV3V2luZG93KChP
TEVfSEFORExFKikmbV9pbnNwZWN0ZWRXZWJWaWV3SHduZCk7CkBAIC03Nyw3ICs3Niw2IEBAIFdl
Ykluc3BlY3RvckNsaWVudDo6V2ViSW5zcGVjdG9yQ2xpZW50KFdlYlZpZXcqIHdlYlZpZXcpCiAK
IFdlYkluc3BlY3RvckNsaWVudDo6fldlYkluc3BlY3RvckNsaWVudCgpCiB7Ci0gICAgbV9mcm9u
dGVuZFBhZ2UgPSAwOwogfQogCiB2b2lkIFdlYkluc3BlY3RvckNsaWVudDo6aW5zcGVjdG9yRGVz
dHJveWVkKCkKQEAgLTE3NCw5ICsxNzIsOCBAQCB2b2lkIFdlYkluc3BlY3RvckNsaWVudDo6b3Bl
bkluc3BlY3RvckZyb250ZW5kKEluc3BlY3RvckNvbnRyb2xsZXIqIGluc3BlY3RvckNvbgogICAg
IGlmIChGQUlMRUQoZnJvbnRlbmRXZWJWaWV3LT50b3BMZXZlbEZyYW1lKCktPmxvYWRSZXF1ZXN0
KHJlcXVlc3QuZ2V0KCkpKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9mcm9udGVuZFBhZ2Ug
PSBjb3JlKGZyb250ZW5kV2ViVmlldy5nZXQoKSk7Ci0gICAgV2ViSW5zcGVjdG9yRnJvbnRlbmRD
bGllbnQqIGZyb250ZW5kQ2xpZW50ID0gbmV3IFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50KG1f
aW5zcGVjdGVkV2ViVmlldywgbV9pbnNwZWN0ZWRXZWJWaWV3SHduZCwgZnJvbnRlbmRId25kLCBm
cm9udGVuZFdlYlZpZXcsIGZyb250ZW5kV2ViVmlld0h3bmQsIHRoaXMpOwotICAgIG1fZnJvbnRl
bmRQYWdlLT5pbnNwZWN0b3JDb250cm9sbGVyKCktPnNldEluc3BlY3RvckZyb250ZW5kQ2xpZW50
KGZyb250ZW5kQ2xpZW50KTsKKyAgICBQYWdlKiBwYWdlID0gY29yZShmcm9udGVuZFdlYlZpZXcu
Z2V0KCkpOworICAgIHBhZ2UtPmluc3BlY3RvckNvbnRyb2xsZXIoKS0+c2V0SW5zcGVjdG9yRnJv
bnRlbmRDbGllbnQobmV3IFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50KG1faW5zcGVjdGVkV2Vi
VmlldywgbV9pbnNwZWN0ZWRXZWJWaWV3SHduZCwgZnJvbnRlbmRId25kLCBmcm9udGVuZFdlYlZp
ZXcsIGZyb250ZW5kV2ViVmlld0h3bmQsIHRoaXMpKTsKICAgICBtX2Zyb250ZW5kSHduZCA9IGZy
b250ZW5kSHduZDsKIH0KIApkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9X
ZWJJbnNwZWN0b3JDbGllbnQuaCBiL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVj
dG9yQ2xpZW50LmgKaW5kZXggMTdhOGQ5OWFlZmQ1NGM0ZjJlMDE2ZjlkMWVlNmI2YWY3YzBmOWRk
NS4uNjQ3NzNhNTJiZmY1Yzg0ZGZiMGYwMGUzZjg4NDY3ODlhMGVhMDEwYiAxMDA2NDQKLS0tIGEv
V2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuaAorKysgYi9XZWJL
aXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5oCkBAIC0zNywxMiArMzcs
NiBAQAogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3aW5kb3dzLmg+CiAKLW5h
bWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgUGFnZTsKLQotfQotCiBjbGFzcyBXZWJOb2RlSGln
aGxpZ2h0OwogY2xhc3MgV2ViVmlldzsKIApAQCAtNjEsMjEgKzU1LDEzIEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIHZvaWQgcG9wdWxhdGVTZXR0aW5nKGNvbnN0IFdlYkNvcmU6OlN0cmluZyYga2V5
LCBXZWJDb3JlOjpTdHJpbmcqIHZhbHVlKTsKICAgICB2aXJ0dWFsIHZvaWQgc3RvcmVTZXR0aW5n
KGNvbnN0IFdlYkNvcmU6OlN0cmluZyYga2V5LCBjb25zdCBXZWJDb3JlOjpTdHJpbmcmIHZhbHVl
KTsKIAotICAgIHZpcnR1YWwgYm9vbCBzZW5kTWVzc2FnZVRvRnJvbnRlbmQoY29uc3QgV2ViQ29y
ZTo6U3RyaW5nJik7Ci0KICAgICB2b2lkIHVwZGF0ZUhpZ2hsaWdodCgpOwotICAgIHZvaWQgZnJv
bnRlbmRDbG9zaW5nKCkKLSAgICB7Ci0gICAgICAgIG1fZnJvbnRlbmRId25kID0gMDsKLSAgICAg
ICAgcmVsZWFzZUZyb250ZW5kUGFnZSgpOwotICAgIH0KKyAgICB2b2lkIGZyb250ZW5kQ2xvc2lu
ZygpIHsgbV9mcm9udGVuZEh3bmQgPSAwOyB9CiAKLSAgICB2b2lkIHJlbGVhc2VGcm9udGVuZFBh
Z2UoKTsKIHByaXZhdGU6CiAgICAgfldlYkluc3BlY3RvckNsaWVudCgpOwogCiAgICAgV2ViVmll
dyogbV9pbnNwZWN0ZWRXZWJWaWV3OwotICAgIFdlYkNvcmU6OlBhZ2UqIG1fZnJvbnRlbmRQYWdl
OwogICAgIEhXTkQgbV9pbnNwZWN0ZWRXZWJWaWV3SHduZDsKICAgICBIV05EIG1fZnJvbnRlbmRI
d25kOwogCmRpZmYgLS1naXQgYS9XZWJLaXQvd3gvQ2hhbmdlTG9nIGIvV2ViS2l0L3d4L0NoYW5n
ZUxvZwppbmRleCA4MjRjN2NhZTNlNTZiZmJlZWIxN2ExMmJkMGU4YWIxZTJjMTQ4NTVmLi42M2Ez
ZWQwODAxMjhkZmNlYThlNDA0Mjg4N2I2NDJjNWRkNDJkZTA4IDEwMDY0NAotLS0gYS9XZWJLaXQv
d3gvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC93eC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAor
MjAxMC0wNi0wOSAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CisK
KyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjYwODg5LgorICAgICAgICBodHRwOi8v
dHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC82MDg4OQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDAzNjUKKworICAgICAgICBndGsgYm90IGhhcyBzb21l
IGtpbmQgb2YgbWVtb3J5IGNvcnJ1cHRpb24gKFJlcXVlc3RlZCBieQorICAgICAgICBsb2lzbG8g
b24gI3dlYmtpdCkuCisKKyAgICAgICAgKiBXZWJLaXRTdXBwb3J0L0luc3BlY3RvckNsaWVudFd4
LmNwcDoKKyAgICAgICAgKiBXZWJLaXRTdXBwb3J0L0luc3BlY3RvckNsaWVudFd4Lmg6CisKIDIw
MTAtMDYtMDcgIElseWEgVGlraG9ub3Zza3kgIDxsb2lzbG9AY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRtYW4uCmRpZmYgLS1naXQgYS9XZWJLaXQvd3gvV2Vi
S2l0U3VwcG9ydC9JbnNwZWN0b3JDbGllbnRXeC5jcHAgYi9XZWJLaXQvd3gvV2ViS2l0U3VwcG9y
dC9JbnNwZWN0b3JDbGllbnRXeC5jcHAKaW5kZXggYzk0OWQ3NzYwNTljZjY4MWVkODcxMDM5MjE2
MWY5ZmQ3YTIyZGVjNC4uNWRjOWFjNzllZTA4MjkwZGE5ZjAyYmZlZmVlNDc0YzBlNWNiZGFjYyAx
MDA2NDQKLS0tIGEvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50V3guY3Bw
CisrKyBiL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0luc3BlY3RvckNsaWVudFd4LmNwcApAQCAt
NzIsMTAgKzcyLDQgQEAgdm9pZCBJbnNwZWN0b3JDbGllbnRXeDo6c3RvcmVTZXR0aW5nKGNvbnN0
IFN0cmluZyYga2V5LCBjb25zdCBTdHJpbmcmIHNldHRpbmcpCiAgICAgbm90SW1wbGVtZW50ZWQo
KTsKIH0KIAotYm9vbCBJbnNwZWN0b3JDbGllbnRXeDo6c2VuZE1lc3NhZ2VUb0Zyb250ZW5kKGNv
bnN0IFN0cmluZyYpCi17Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4gZmFsc2U7
Ci19Ci0KIH07CmRpZmYgLS1naXQgYS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9JbnNwZWN0b3JD
bGllbnRXeC5oIGIvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50V3guaApp
bmRleCA2OThhMGY1ZmE0OTQwNzUzZjA1NzBhZDlhMTExNDNkMGU1NTdmMjAyLi43Njc1ZGMxNzll
N2ViYzIzNzFmMjEyY2JkMmU4NDQ1YTI2MTNlZGQ0IDEwMDY0NAotLS0gYS9XZWJLaXQvd3gvV2Vi
S2l0U3VwcG9ydC9JbnNwZWN0b3JDbGllbnRXeC5oCisrKyBiL1dlYktpdC93eC9XZWJLaXRTdXBw
b3J0L0luc3BlY3RvckNsaWVudFd4LmgKQEAgLTQ4LDggKzQ4LDYgQEAgcHVibGljOgogCiAgICAg
dmlydHVhbCB2b2lkIHBvcHVsYXRlU2V0dGluZyhjb25zdCBTdHJpbmcmIGtleSwgU3RyaW5nKiB2
YWx1ZSk7CiAgICAgdmlydHVhbCB2b2lkIHN0b3JlU2V0dGluZyhjb25zdCBTdHJpbmcmIGtleSwg
Y29uc3QgU3RyaW5nJiB2YWx1ZSk7Ci0KLSAgICB2aXJ0dWFsIGJvb2wgc2VuZE1lc3NhZ2VUb0Zy
b250ZW5kKGNvbnN0IFN0cmluZyYpOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>