<?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>152414</bug_id>
          
          <creation_ts>2015-12-17 18:45:03 -0800</creation_ts>
          <short_desc>REGRESSION(r194250): broke api tests (Requested by alexchristensen on #webkit).</short_desc>
          <delta_ts>2015-12-17 18:47:17 -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>WebKit 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>152401</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1150164</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-12-17 18:45:03 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/194250 broke the build:
broke api tests (Requested by alexchristensen 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>1150166</commentid>
    <comment_count>1</comment_count>
      <attachid>267601</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-12-17 18:45:34 -0800</bug_when>
    <thetext>Created attachment 267601
ROLLOUT of r194250

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>1150167</commentid>
    <comment_count>2</comment_count>
      <attachid>267601</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-12-17 18:47:14 -0800</bug_when>
    <thetext>Comment on attachment 267601
ROLLOUT of r194250

Clearing flags on attachment: 267601

Committed r194255: &lt;http://trac.webkit.org/changeset/194255&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1150168</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-12-17 18:47:17 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>267601</attachid>
            <date>2015-12-17 18:45:34 -0800</date>
            <delta_ts>2015-12-17 18:47:14 -0800</delta_ts>
            <desc>ROLLOUT of r194250</desc>
            <filename>bug-152414-20151217184455.patch</filename>
            <type>text/plain</type>
            <size>51288</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk0MjU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggY2UyMDM1NzZkZWJkMWU3
ODQ3NWIyNzRlODcxNDdlNDQ3NWJmOWEzNy4uOTIyNDExOGIyY2JmNzk4OTUxZjM0NWEwZjMzNDQ1
YzMzOWRiZDZkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE1LTEyLTE3ICBDb21t
aXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KKworICAgICAgICBVbnJldmlld2Vk
LCByb2xsaW5nIG91dCByMTk0MjUwIGFuZCByMTk0MjU0LgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUyNDE0CisKKyAgICAgICAgYnJva2UgYXBpIHRl
c3RzIChSZXF1ZXN0ZWQgYnkgYWxleGNocmlzdGVuc2VuIG9uICN3ZWJraXQpLgorCisgICAgICAg
IFJldmVydGVkIGNoYW5nZXNldHM6CisKKyAgICAgICAgIkFkZCB0eXBlcyBmb3IgRG93bmxvYWRJ
RCBhbmQgVGFza0lkZW50aWZpZXIiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNTI0MDEKKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFu
Z2VzZXQvMTk0MjUwCisKKyAgICAgICAgIkJ1aWxkIGZpeCBhZnRlciByMTk0MjUwIgorICAgICAg
ICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xOTQyNTQKKwogMjAxNS0xMi0xNyAg
QWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEJ1
aWxkIGZpeCBhZnRlciByMTk0MjUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKaW5kZXgg
N2RhY2FlMWU2ZWQxNmRkNDQ5NzJiMjZkODhhYWM4NTY4ZGJjNTY4ZS4uOGY2MWMxYTkzZmUyYzkw
MTVjOWFjNjU3ODAwNzExNWM4YzBiYzVkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNw
cApAQCAtMTc3LDEyICsxNzcsMTIgQEAgc3RhdGljIE5ldHdvcmtTdG9yYWdlU2Vzc2lvbiYgc3Rv
cmFnZVNlc3Npb24oU2Vzc2lvbklEIHNlc3Npb25JRCkKICAgICByZXR1cm4gTmV0d29ya1N0b3Jh
Z2VTZXNzaW9uOjpkZWZhdWx0U3RvcmFnZVNlc3Npb24oKTsKIH0KIAotdm9pZCBOZXR3b3JrQ29u
bmVjdGlvblRvV2ViUHJvY2Vzczo6c3RhcnREb3dubG9hZChTZXNzaW9uSUQgc2Vzc2lvbklELCBE
b3dubG9hZElEIGRvd25sb2FkSUQsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCkKK3Zv
aWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OnN0YXJ0RG93bmxvYWQoU2Vzc2lvbklE
IHNlc3Npb25JRCwgdWludDY0X3QgZG93bmxvYWRJRCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBy
ZXF1ZXN0KQogewogICAgIE5ldHdvcmtQcm9jZXNzOjpzaW5nbGV0b24oKS5kb3dubG9hZE1hbmFn
ZXIoKS5zdGFydERvd25sb2FkKHNlc3Npb25JRCwgZG93bmxvYWRJRCwgcmVxdWVzdCk7CiB9CiAK
LXZvaWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmNvbnZlcnRNYWluUmVzb3VyY2VM
b2FkVG9Eb3dubG9hZChTZXNzaW9uSUQgc2Vzc2lvbklELCB1aW50NjRfdCBtYWluUmVzb3VyY2VM
b2FkSWRlbnRpZmllciwgRG93bmxvYWRJRCBkb3dubG9hZElELCBjb25zdCBSZXNvdXJjZVJlcXVl
c3QmIHJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQordm9pZCBOZXR3
b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6Y29udmVydE1haW5SZXNvdXJjZUxvYWRUb0Rvd25s
b2FkKFdlYkNvcmU6OlNlc3Npb25JRCBzZXNzaW9uSUQsIHVpbnQ2NF90IG1haW5SZXNvdXJjZUxv
YWRJZGVudGlmaWVyLCB1aW50NjRfdCBkb3dubG9hZElELCBjb25zdCBSZXNvdXJjZVJlcXVlc3Qm
IHJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQogewogICAgIGF1dG8m
IG5ldHdvcmtQcm9jZXNzID0gTmV0d29ya1Byb2Nlc3M6OnNpbmdsZXRvbigpOwogICAgIGlmICgh
bWFpblJlc291cmNlTG9hZElkZW50aWZpZXIpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmggYi9Tb3VyY2Uv
V2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oCmlu
ZGV4IGM4MGYwOGE1ODgxMjFmZGVlMzk0ZWJkZGNkNjVkODIyMTA0ZDJmYzYuLmU0NTViYzc2N2Yz
ZTgzMmJhNWM2ZDJiMTlmZjQ5NzdlYzNhNDhmZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgKKysrIGIvU291
cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3Mu
aApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSAiQmxvY2tpbmdSZXNwb25zZU1hcC5oIgog
I2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKLSNpbmNsdWRlICJEb3dubG9hZElELmgiCiAjaW5jbHVk
ZSAiTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3NNZXNzYWdlcy5oIgogI2luY2x1ZGUgPFdl
YkNvcmUvUmVzb3VyY2VMb2FkUHJpb3JpdHkuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgpA
QCAtNzcsOCArNzYsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgcmVtb3ZlTG9hZElkZW50aWZpZXIo
UmVzb3VyY2VMb2FkSWRlbnRpZmllcik7CiAgICAgdm9pZCBzZXREZWZlcnNMb2FkaW5nKFJlc291
cmNlTG9hZElkZW50aWZpZXIsIGJvb2wpOwogICAgIHZvaWQgY3Jvc3NPcmlnaW5SZWRpcmVjdFJl
Y2VpdmVkKFJlc291cmNlTG9hZElkZW50aWZpZXIsIGNvbnN0IFdlYkNvcmU6OlVSTCYgcmVkaXJl
Y3RVUkwpOwotICAgIHZvaWQgc3RhcnREb3dubG9hZChXZWJDb3JlOjpTZXNzaW9uSUQsIERvd25s
b2FkSUQsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYpOwotICAgIHZvaWQgY29udmVy
dE1haW5SZXNvdXJjZUxvYWRUb0Rvd25sb2FkKFdlYkNvcmU6OlNlc3Npb25JRCwgdWludDY0X3Qg
bWFpblJlc291cmNlTG9hZElkZW50aWZpZXIsIERvd25sb2FkSUQsIGNvbnN0IFdlYkNvcmU6OlJl
c291cmNlUmVxdWVzdCYsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmKTsKKyAgICB2
b2lkIHN0YXJ0RG93bmxvYWQoV2ViQ29yZTo6U2Vzc2lvbklELCB1aW50NjRfdCBkb3dubG9hZElE
LCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmKTsKKyAgICB2b2lkIGNvbnZlcnRNYWlu
UmVzb3VyY2VMb2FkVG9Eb3dubG9hZChXZWJDb3JlOjpTZXNzaW9uSUQsIHVpbnQ2NF90IG1haW5S
ZXNvdXJjZUxvYWRJZGVudGlmaWVyLCB1aW50NjRfdCBkb3dubG9hZElELCBjb25zdCBXZWJDb3Jl
OjpSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJik7CiAK
ICAgICB2b2lkIGNvb2tpZXNGb3JET00oV2ViQ29yZTo6U2Vzc2lvbklELCBjb25zdCBXZWJDb3Jl
OjpVUkwmIGZpcnN0UGFydHksIGNvbnN0IFdlYkNvcmU6OlVSTCYsIFN0cmluZyYgcmVzdWx0KTsK
ICAgICB2b2lkIHNldENvb2tpZXNGcm9tRE9NKFdlYkNvcmU6OlNlc3Npb25JRCwgY29uc3QgV2Vi
Q29yZTo6VVJMJiBmaXJzdFBhcnR5LCBjb25zdCBXZWJDb3JlOjpVUkwmLCBjb25zdCBTdHJpbmcm
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KaW5kZXggMDNm
ZGQ5MmZkOWE2MjNlYTNhZWRlMzFjMTU0YzA3M2E0YmExNTJlNy4uYWM3NzBkMjNiNzRlODMzMWM3
NDY5ZmUwM2IzYjMzNDZkOGYwYTY1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KKysrIGIv
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nl
c3MubWVzc2FnZXMuaW4KQEAgLTI5LDggKzI5LDggQEAgbWVzc2FnZXMgLT4gTmV0d29ya0Nvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3MgTGVnYWN5UmVjZWl2ZXIgewogICAgIFNldERlZmVyc0xvYWRpbmco
dWludDY0X3QgcmVzb3VyY2VMb2FkSWRlbnRpZmllciwgYm9vbCBkZWZlcnMpCiAgICAgUHJlZmV0
Y2hETlMoU3RyaW5nIGhvc3RuYW1lKQogCi0gICAgU3RhcnREb3dubG9hZChXZWJDb3JlOjpTZXNz
aW9uSUQgc2Vzc2lvbklELCBXZWJLaXQ6OkRvd25sb2FkSUQgZG93bmxvYWRJRCwgV2ViQ29yZTo6
UmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QpCi0gICAgQ29udmVydE1haW5SZXNvdXJjZUxvYWRUb0Rv
d25sb2FkKFdlYkNvcmU6OlNlc3Npb25JRCBzZXNzaW9uSUQsIHVpbnQ2NF90IG1haW5SZXNvdXJj
ZUxvYWRJZGVudGlmaWVyLCBXZWJLaXQ6OkRvd25sb2FkSUQgZG93bmxvYWRJRCwgV2ViQ29yZTo6
UmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QsIFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UgcmVzcG9u
c2UpCisgICAgU3RhcnREb3dubG9hZChXZWJDb3JlOjpTZXNzaW9uSUQgc2Vzc2lvbklELCB1aW50
NjRfdCBkb3dubG9hZElELCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdCkKKyAgICBD
b252ZXJ0TWFpblJlc291cmNlTG9hZFRvRG93bmxvYWQoV2ViQ29yZTo6U2Vzc2lvbklEIHNlc3Np
b25JRCwgdWludDY0X3QgbWFpblJlc291cmNlTG9hZElkZW50aWZpZXIsIHVpbnQ2NF90IGRvd25s
b2FkSUQsIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCByZXF1ZXN0LCBXZWJDb3JlOjpSZXNvdXJj
ZVJlc3BvbnNlIHJlc3BvbnNlKQogCiAgICAgQ29va2llc0ZvckRPTShXZWJDb3JlOjpTZXNzaW9u
SUQgc2Vzc2lvbklELCBXZWJDb3JlOjpVUkwgZmlyc3RQYXJ0eSwgV2ViQ29yZTo6VVJMIHVybCkg
LT4gKFN0cmluZyByZXN1bHQpCiAgICAgU2V0Q29va2llc0Zyb21ET00oV2ViQ29yZTo6U2Vzc2lv
bklEIHNlc3Npb25JRCwgV2ViQ29yZTo6VVJMIGZpcnN0UGFydHksIFdlYkNvcmU6OlVSTCB1cmws
IFN0cmluZyBjb29raWVTdHJpbmcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrUHJvY2Vzcy5jcHAKaW5kZXggNjk2ODAxNTlmY2QwMTU2YmFjZDBjZjQ5MWUzMTM4
NmUzYWVhMmRjZS4uMTlhYmM5YWJmZjA1N2JmMDNmNTJhODk3YmE1NDZhOGU5ZWViYzFhZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcApA
QCAtNDMyLDE3ICs0MzIsMTcgQEAgdm9pZCBOZXR3b3JrUHJvY2Vzczo6ZGVsZXRlV2Vic2l0ZURh
dGFGb3JPcmlnaW5zKFNlc3Npb25JRCBzZXNzaW9uSUQsIHVpbnQ2NF90IHcKICAgICBjb21wbGV0
aW9uSGFuZGxlcigpOwogfQogCi12b2lkIE5ldHdvcmtQcm9jZXNzOjpkb3dubG9hZFJlcXVlc3Qo
U2Vzc2lvbklEIHNlc3Npb25JRCwgRG93bmxvYWRJRCBkb3dubG9hZElELCBjb25zdCBSZXNvdXJj
ZVJlcXVlc3QmIHJlcXVlc3QpCit2b2lkIE5ldHdvcmtQcm9jZXNzOjpkb3dubG9hZFJlcXVlc3Qo
U2Vzc2lvbklEIHNlc3Npb25JRCwgdWludDY0X3QgZG93bmxvYWRJRCwgY29uc3QgUmVzb3VyY2VS
ZXF1ZXN0JiByZXF1ZXN0KQogewogICAgIGRvd25sb2FkTWFuYWdlcigpLnN0YXJ0RG93bmxvYWQo
c2Vzc2lvbklELCBkb3dubG9hZElELCByZXF1ZXN0KTsKIH0KIAotdm9pZCBOZXR3b3JrUHJvY2Vz
czo6cmVzdW1lRG93bmxvYWQoU2Vzc2lvbklEIHNlc3Npb25JRCwgRG93bmxvYWRJRCBkb3dubG9h
ZElELCBjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmIHJlc3VtZURhdGEsIGNvbnN0IFN0cmluZyYg
cGF0aCwgY29uc3QgV2ViS2l0OjpTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUmIHNhbmRib3hFeHRl
bnNpb25IYW5kbGUpCit2b2lkIE5ldHdvcmtQcm9jZXNzOjpyZXN1bWVEb3dubG9hZChTZXNzaW9u
SUQgc2Vzc2lvbklELCB1aW50NjRfdCBkb3dubG9hZElELCBjb25zdCBJUEM6OkRhdGFSZWZlcmVu
Y2UmIHJlc3VtZURhdGEsIGNvbnN0IFN0cmluZyYgcGF0aCwgY29uc3QgV2ViS2l0OjpTYW5kYm94
RXh0ZW5zaW9uOjpIYW5kbGUmIHNhbmRib3hFeHRlbnNpb25IYW5kbGUpCiB7CiAgICAgZG93bmxv
YWRNYW5hZ2VyKCkucmVzdW1lRG93bmxvYWQoc2Vzc2lvbklELCBkb3dubG9hZElELCByZXN1bWVE
YXRhLCBwYXRoLCBzYW5kYm94RXh0ZW5zaW9uSGFuZGxlKTsKIH0KIAotdm9pZCBOZXR3b3JrUHJv
Y2Vzczo6Y2FuY2VsRG93bmxvYWQoRG93bmxvYWRJRCBkb3dubG9hZElEKQordm9pZCBOZXR3b3Jr
UHJvY2Vzczo6Y2FuY2VsRG93bmxvYWQodWludDY0X3QgZG93bmxvYWRJRCkKIHsKICAgICBkb3du
bG9hZE1hbmFnZXIoKS5jYW5jZWxEb3dubG9hZChkb3dubG9hZElEKTsKIH0KQEAgLTQ3NCw3ICs0
NzQsNyBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzOjpnZXROZXR3b3JrUHJvY2Vzc1N0YXRpc3RpY3Mo
dWludDY0X3QgY2FsbGJhY2tJRCkKICAgICBwYXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpLT5zZW5k
KE1lc3NhZ2VzOjpXZWJQcm9jZXNzUG9vbDo6RGlkR2V0U3RhdGlzdGljcyhkYXRhLCBjYWxsYmFj
a0lEKSwgMCk7CiB9CiAKLXZvaWQgTmV0d29ya1Byb2Nlc3M6OmxvZ0RpYWdub3N0aWNNZXNzYWdl
KHVpbnQ2NF90IHdlYlBhZ2VJRCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcm
IGRlc2NyaXB0aW9uLCBTaG91bGRTYW1wbGUgc2hvdWxkU2FtcGxlKQordm9pZCBOZXR3b3JrUHJv
Y2Vzczo6bG9nRGlhZ25vc3RpY01lc3NhZ2UodWludDY0X3Qgd2ViUGFnZUlELCBjb25zdCBTdHJp
bmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIFdlYkNvcmU6OlNob3VsZFNh
bXBsZSBzaG91bGRTYW1wbGUpCiB7CiAgICAgaWYgKCFEaWFnbm9zdGljTG9nZ2luZ0NsaWVudDo6
c2hvdWxkTG9nQWZ0ZXJTYW1wbGluZyhzaG91bGRTYW1wbGUpKQogICAgICAgICByZXR1cm47CkBA
IC00ODIsNyArNDgyLDcgQEAgdm9pZCBOZXR3b3JrUHJvY2Vzczo6bG9nRGlhZ25vc3RpY01lc3Nh
Z2UodWludDY0X3Qgd2ViUGFnZUlELCBjb25zdCBTdHJpbmcmIG1lc3MKICAgICBwYXJlbnRQcm9j
ZXNzQ29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vzc1Byb3h5OjpMb2dT
YW1wbGVkRGlhZ25vc3RpY01lc3NhZ2Uod2ViUGFnZUlELCBtZXNzYWdlLCBkZXNjcmlwdGlvbiks
IDApOwogfQogCi12b2lkIE5ldHdvcmtQcm9jZXNzOjpsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhS
ZXN1bHQodWludDY0X3Qgd2ViUGFnZUlELCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0
cmluZyYgZGVzY3JpcHRpb24sIERpYWdub3N0aWNMb2dnaW5nUmVzdWx0VHlwZSByZXN1bHQsIFNo
b3VsZFNhbXBsZSBzaG91bGRTYW1wbGUpCit2b2lkIE5ldHdvcmtQcm9jZXNzOjpsb2dEaWFnbm9z
dGljTWVzc2FnZVdpdGhSZXN1bHQodWludDY0X3Qgd2ViUGFnZUlELCBjb25zdCBTdHJpbmcmIG1l
c3NhZ2UsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIFdlYkNvcmU6OkRpYWdub3N0aWNMb2dn
aW5nUmVzdWx0VHlwZSByZXN1bHQsIFdlYkNvcmU6OlNob3VsZFNhbXBsZSBzaG91bGRTYW1wbGUp
CiB7CiAgICAgaWYgKCFEaWFnbm9zdGljTG9nZ2luZ0NsaWVudDo6c2hvdWxkTG9nQWZ0ZXJTYW1w
bGluZyhzaG91bGRTYW1wbGUpKQogICAgICAgICByZXR1cm47CkBAIC00OTAsNyArNDkwLDcgQEAg
dm9pZCBOZXR3b3JrUHJvY2Vzczo6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0KHVpbnQ2
NF90IHdlYlBhZ2VJRCwgY29uc3QgU3QKICAgICBwYXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpLT5z
ZW5kKE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vzc1Byb3h5OjpMb2dTYW1wbGVkRGlhZ25vc3RpY01l
c3NhZ2VXaXRoUmVzdWx0KHdlYlBhZ2VJRCwgbWVzc2FnZSwgZGVzY3JpcHRpb24sIHJlc3VsdCks
IDApOwogfQogCi12b2lkIE5ldHdvcmtQcm9jZXNzOjpsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhW
YWx1ZSh1aW50NjRfdCB3ZWJQYWdlSUQsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3Ry
aW5nJiBkZXNjcmlwdGlvbiwgY29uc3QgU3RyaW5nJiB2YWx1ZSwgU2hvdWxkU2FtcGxlIHNob3Vs
ZFNhbXBsZSkKK3ZvaWQgTmV0d29ya1Byb2Nlc3M6OmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZh
bHVlKHVpbnQ2NF90IHdlYlBhZ2VJRCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJp
bmcmIGRlc2NyaXB0aW9uLCBjb25zdCBTdHJpbmcmIHZhbHVlLCBXZWJDb3JlOjpTaG91bGRTYW1w
bGUgc2hvdWxkU2FtcGxlKQogewogICAgIGlmICghRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQ6OnNo
b3VsZExvZ0FmdGVyU2FtcGxpbmcoc2hvdWxkU2FtcGxlKSkKICAgICAgICAgcmV0dXJuOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaCBi
L1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKaW5kZXggYzA2
ZjhhNTVkZmMzMzkxYzIyY2YzOGNiZDA5YmNiMTI0YzQ1ZDJkNy4uNTQzMTg3YTBlNzdkMGIwYzg0
OGJjMDExODBhODMyYWVjNDE3NjY1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCkBAIC0xNDksOSArMTQ5LDkgQEAgcHJpdmF0ZToKICAgICAv
LyBGSVhNRTogVGhpcyBzaG91bGQgdGFrZSBhIHNlc3Npb24gSUQgc28gd2UgY2FuIGlkZW50aWZ5
IHdoaWNoIGRpc2sgY2FjaGUgdG8gZGVsZXRlLgogICAgIHZvaWQgY2xlYXJEaXNrQ2FjaGUoc3Rk
OjpjaHJvbm86OnN5c3RlbV9jbG9jazo6dGltZV9wb2ludCBtb2RpZmllZFNpbmNlLCBzdGQ6OmZ1
bmN0aW9uPHZvaWQgKCk+IGNvbXBsZXRpb25IYW5kbGVyKTsKIAotICAgIHZvaWQgZG93bmxvYWRS
ZXF1ZXN0KFdlYkNvcmU6OlNlc3Npb25JRCwgRG93bmxvYWRJRCwgY29uc3QgV2ViQ29yZTo6UmVz
b3VyY2VSZXF1ZXN0Jik7Ci0gICAgdm9pZCByZXN1bWVEb3dubG9hZChXZWJDb3JlOjpTZXNzaW9u
SUQsIERvd25sb2FkSUQsIGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgcmVzdW1lRGF0YSwgY29u
c3QgU3RyaW5nJiBwYXRoLCBjb25zdCBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUmKTsKLSAgICB2
b2lkIGNhbmNlbERvd25sb2FkKERvd25sb2FkSUQpOworICAgIHZvaWQgZG93bmxvYWRSZXF1ZXN0
KFdlYkNvcmU6OlNlc3Npb25JRCwgdWludDY0X3QgZG93bmxvYWRJRCwgY29uc3QgV2ViQ29yZTo6
UmVzb3VyY2VSZXF1ZXN0Jik7CisgICAgdm9pZCByZXN1bWVEb3dubG9hZChXZWJDb3JlOjpTZXNz
aW9uSUQsIHVpbnQ2NF90IGRvd25sb2FkSUQsIGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgcmVz
dW1lRGF0YSwgY29uc3QgU3RyaW5nJiBwYXRoLCBjb25zdCBTYW5kYm94RXh0ZW5zaW9uOjpIYW5k
bGUmKTsKKyAgICB2b2lkIGNhbmNlbERvd25sb2FkKHVpbnQ2NF90IGRvd25sb2FkSUQpOwogICAg
IHZvaWQgc2V0Q2FjaGVNb2RlbCh1aW50MzJfdCk7CiAgICAgdm9pZCBhbGxvd1NwZWNpZmljSFRU
UFNDZXJ0aWZpY2F0ZUZvckhvc3QoY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJiwgY29u
c3QgU3RyaW5nJiBob3N0KTsKICAgICB2b2lkIHNldENhbkhhbmRsZUhUVFBTU2VydmVyVHJ1c3RF
dmFsdWF0aW9uKGJvb2wpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgppbmRleCA1YzU1ODkzODUyNDg5YjExNWYx
OGNjM2MyNDJkMGUzMGFkZjE3NGFkLi43NmExM2YwYjdhYjkxNzg5NDgwYWM0YzRlMWFhOTI0Y2Ji
ZWRhODdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
UHJvY2Vzcy5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAtMzksOSArMzksOSBAQCBtZXNzYWdlcyAtPiBO
ZXR3b3JrUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAgICAgRGVsZXRlV2Vic2l0ZURhdGEoV2Vi
Q29yZTo6U2Vzc2lvbklEIHNlc3Npb25JRCwgdWludDY0X3Qgd2Vic2l0ZURhdGFUeXBlcywgc3Rk
OjpjaHJvbm86OnN5c3RlbV9jbG9jazo6dGltZV9wb2ludCBtb2RpZmllZFNpbmNlLCB1aW50NjRf
dCBjYWxsYmFja0lEKQogICAgIERlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyhXZWJDb3JlOjpT
ZXNzaW9uSUQgc2Vzc2lvbklELCB1aW50NjRfdCB3ZWJzaXRlRGF0YVR5cGVzLCBWZWN0b3I8V2Vi
Q29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhPiBvcmlnaW5zLCBWZWN0b3I8U3RyaW5nPiBjb29raWVI
b3N0TmFtZXMsIHVpbnQ2NF90IGNhbGxiYWNrSUQpCiAKLSAgICBEb3dubG9hZFJlcXVlc3QoV2Vi
Q29yZTo6U2Vzc2lvbklEIHNlc3Npb25JRCwgV2ViS2l0OjpEb3dubG9hZElEIGRvd25sb2FkSUQs
IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCByZXF1ZXN0KQotICAgIFJlc3VtZURvd25sb2FkKFdl
YkNvcmU6OlNlc3Npb25JRCBzZXNzaW9uSUQsIFdlYktpdDo6RG93bmxvYWRJRCBkb3dubG9hZElE
LCBJUEM6OkRhdGFSZWZlcmVuY2UgcmVzdW1lRGF0YSwgU3RyaW5nIHBhdGgsIFdlYktpdDo6U2Fu
ZGJveEV4dGVuc2lvbjo6SGFuZGxlIHNhbmRib3hFeHRlbnNpb25IYW5kbGUpCi0gICAgQ2FuY2Vs
RG93bmxvYWQoV2ViS2l0OjpEb3dubG9hZElEIGRvd25sb2FkSUQpCisgICAgRG93bmxvYWRSZXF1
ZXN0KFdlYkNvcmU6OlNlc3Npb25JRCBzZXNzaW9uSUQsIHVpbnQ2NF90IGRvd25sb2FkSUQsIFdl
YkNvcmU6OlJlc291cmNlUmVxdWVzdCByZXF1ZXN0KQorICAgIFJlc3VtZURvd25sb2FkKFdlYkNv
cmU6OlNlc3Npb25JRCBzZXNzaW9uSUQsIHVpbnQ2NF90IGRvd25sb2FkSUQsIElQQzo6RGF0YVJl
ZmVyZW5jZSByZXN1bWVEYXRhLCBTdHJpbmcgcGF0aCwgV2ViS2l0OjpTYW5kYm94RXh0ZW5zaW9u
OjpIYW5kbGUgc2FuZGJveEV4dGVuc2lvbkhhbmRsZSkKKyAgICBDYW5jZWxEb3dubG9hZCh1aW50
NjRfdCBkb3dubG9hZElEKQogCiAgICAgU2V0UHJvY2Vzc1N1cHByZXNzaW9uRW5hYmxlZChib29s
IGZsYWcpCiAjaWYgUExBVEZPUk0oQ09DT0EpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5oIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Nlc3Npb24uaAppbmRleCA5OTkyZGRlYjA5Y2EzNjI4MGNlYmJjZjg0NmFj
MjQ0NzFhNjMzZWE0Li44NmQ0MjQ2ZTYzMDZkNjMzMThmODZkNDllNDA5MmZhMzI5NjM5Y2MwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmgKQEAg
LTI2LDE0ICsyNiwxMSBAQAogI2lmbmRlZiBOZXR3b3JrU2Vzc2lvbl9oCiAjZGVmaW5lIE5ldHdv
cmtTZXNzaW9uX2gKIAotI2lmIFBMQVRGT1JNKENPQ09BKQogT0JKQ19DTEFTUyBOU1VSTFNlc3Np
b247CiBPQkpDX0NMQVNTIE5TVVJMU2Vzc2lvbkRhdGFUYXNrOwogT0JKQ19DTEFTUyBOU09wZXJh
dGlvblF1ZXVlOwogT0JKQ19DTEFTUyBXS05ldHdvcmtTZXNzaW9uRGVsZWdhdGU7Ci0jZW5kaWYK
IAotI2luY2x1ZGUgIkRvd25sb2FkSUQuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0ZyYW1lTG9hZGVy
VHlwZXMuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Nlc3Npb25JRC5oPgogI2luY2x1ZGUgPHd0Zi9I
YXNoTWFwLmg+CkBAIC04Myw4ICs4MCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGNhbmNlbCgpOwog
ICAgIHZvaWQgcmVzdW1lKCk7CiAKLSAgICB0eXBlZGVmIHVpbnQ2NF90IFRhc2tJZGVudGlmaWVy
OwotICAgIFRhc2tJZGVudGlmaWVyIHRhc2tJZGVudGlmaWVyKCk7CisgICAgdWludDY0X3QgdGFz
a0lkZW50aWZpZXIoKTsKIAogICAgIH5OZXR3b3JrRGF0YVRhc2soKTsKIApAQCAtMTE2LDEyICsx
MTIsMTEgQEAgcHVibGljOgogICAgIAogICAgIFJlZjxOZXR3b3JrRGF0YVRhc2s+IGNyZWF0ZURh
dGFUYXNrV2l0aFJlcXVlc3QoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgTmV0d29y
a1Nlc3Npb25UYXNrQ2xpZW50Jik7CiAKLSAgICBOZXR3b3JrRGF0YVRhc2sqIGRhdGFUYXNrRm9y
SWRlbnRpZmllcihOZXR3b3JrRGF0YVRhc2s6OlRhc2tJZGVudGlmaWVyKTsKKyAgICBOZXR3b3Jr
RGF0YVRhc2sqIGRhdGFUYXNrRm9ySWRlbnRpZmllcih1aW50NjRfdCk7CiAKIHByaXZhdGU6CiAg
ICAgV2ViQ29yZTo6U2Vzc2lvbklEIG1fc2Vzc2lvbklEOwotICAgIEhhc2hNYXA8TmV0d29ya0Rh
dGFUYXNrOjpUYXNrSWRlbnRpZmllciwgTmV0d29ya0RhdGFUYXNrKj4gbV9kYXRhVGFza01hcDsK
LSAgICBIYXNoTWFwPE5ldHdvcmtEYXRhVGFzazo6VGFza0lkZW50aWZpZXIsIERvd25sb2FkSUQ+
IG1fZG93bmxvYWRNYXA7CisgICAgSGFzaE1hcDx1aW50NjRfdCwgTmV0d29ya0RhdGFUYXNrKj4g
bV9kYXRhVGFza01hcDsKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBSZXRhaW5QdHI8TlNVUkxT
ZXNzaW9uPiBtX3Nlc3Npb247CiAgICAgUmV0YWluUHRyPFdLTmV0d29ya1Nlc3Npb25EZWxlZ2F0
ZT4gbV9zZXNzaW9uRGVsZWdhdGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLm1tIGIvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Npb25Db2NvYS5tbQppbmRleCA0Y2YzMDJjMzBi
YmZhYjhhNTExMzFkY2VkMTUwZTJjYjRkMTg0ZDEyLi5mNTI3Y2JiNTRiYTE0ODJlNTg3YmYyZDgw
MDZlZDc1ZTliZjNkODJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9uQ29jb2EubW0KQEAgLTI0MCw3ICsyNDAsNyBA
QCBSZWY8TmV0d29ya0RhdGFUYXNrPiBOZXR3b3JrU2Vzc2lvbjo6Y3JlYXRlRGF0YVRhc2tXaXRo
UmVxdWVzdChjb25zdCBXZWJDb3JlOjpSZQogICAgIHJldHVybiBhZG9wdFJlZigqbmV3IE5ldHdv
cmtEYXRhVGFzaygqdGhpcywgY2xpZW50LCBbbV9zZXNzaW9uIGRhdGFUYXNrV2l0aFJlcXVlc3Q6
cmVxdWVzdC5uc1VSTFJlcXVlc3QoV2ViQ29yZTo6VXBkYXRlSFRUUEJvZHkpXSkpOwogfQogCi1O
ZXR3b3JrRGF0YVRhc2sqIE5ldHdvcmtTZXNzaW9uOjpkYXRhVGFza0ZvcklkZW50aWZpZXIoTmV0
d29ya0RhdGFUYXNrOjpUYXNrSWRlbnRpZmllciB0YXNrSWRlbnRpZmllcikKK05ldHdvcmtEYXRh
VGFzayogTmV0d29ya1Nlc3Npb246OmRhdGFUYXNrRm9ySWRlbnRpZmllcih1aW50NjRfdCB0YXNr
SWRlbnRpZmllcikKIHsKICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwogICAgIHJldHVybiBt
X2RhdGFUYXNrTWFwLmdldCh0YXNrSWRlbnRpZmllcik7CkBAIC0yNzQsNyArMjc0LDcgQEAgdm9p
ZCBOZXR3b3JrRGF0YVRhc2s6OnJlc3VtZSgpCiAgICAgW21fdGFzayByZXN1bWVdOwogfQogCi1h
dXRvIE5ldHdvcmtEYXRhVGFzazo6dGFza0lkZW50aWZpZXIoKSAtPiBUYXNrSWRlbnRpZmllcgor
dWludDY0X3QgTmV0d29ya0RhdGFUYXNrOjp0YXNrSWRlbnRpZmllcigpCiB7CiAgICAgcmV0dXJu
IFttX3Rhc2sgdGFza0lkZW50aWZpZXJdOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL0Rvd25sb2Fkcy9Eb3dubG9hZC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvRG93
bmxvYWRzL0Rvd25sb2FkLmNwcAppbmRleCA1YmY2YWYyYWU5OTBlNjdjZDk2NWRkMTk0YmEyZjk4
ZWJjYTI5NzdmLi41ZmRlMzg1MzRkYWZhMjMxYzM4NDY1MTg2ZjAzMjQ5ZjI5OWYwZWI4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvRG93bmxvYWRzL0Rvd25sb2FkLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvRG93bmxvYWRzL0Rvd25sb2FkLmNwcApAQCAtNDQsOSAr
NDQsOSBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIG5hbWVzcGFjZSBXZWJLaXQgewogCiAj
aWYgVVNFKE5FVFdPUktfU0VTU0lPTikKLURvd25sb2FkOjpEb3dubG9hZChEb3dubG9hZE1hbmFn
ZXImIGRvd25sb2FkTWFuYWdlciwgY29uc3QgTmV0d29ya1Nlc3Npb24mIHNlc3Npb24sIERvd25s
b2FkSUQgZG93bmxvYWRJRCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQorRG93bmxv
YWQ6OkRvd25sb2FkKERvd25sb2FkTWFuYWdlciYgZG93bmxvYWRNYW5hZ2VyLCBjb25zdCBOZXR3
b3JrU2Vzc2lvbiYgc2Vzc2lvbiwgdWludDY0X3QgZG93bmxvYWRJRCwgY29uc3QgUmVzb3VyY2VS
ZXF1ZXN0JiByZXF1ZXN0KQogI2Vsc2UKLURvd25sb2FkOjpEb3dubG9hZChEb3dubG9hZE1hbmFn
ZXImIGRvd25sb2FkTWFuYWdlciwgRG93bmxvYWRJRCBkb3dubG9hZElELCBjb25zdCBSZXNvdXJj
ZVJlcXVlc3QmIHJlcXVlc3QpCitEb3dubG9hZDo6RG93bmxvYWQoRG93bmxvYWRNYW5hZ2VyJiBk
b3dubG9hZE1hbmFnZXIsIHVpbnQ2NF90IGRvd25sb2FkSUQsIGNvbnN0IFJlc291cmNlUmVxdWVz
dCYgcmVxdWVzdCkKICNlbmRpZgogICAgIDogbV9kb3dubG9hZE1hbmFnZXIoZG93bmxvYWRNYW5h
Z2VyKQogICAgICwgbV9kb3dubG9hZElEKGRvd25sb2FkSUQpCkBAIC01NSw3ICs1NSw3IEBAIERv
d25sb2FkOjpEb3dubG9hZChEb3dubG9hZE1hbmFnZXImIGRvd25sb2FkTWFuYWdlciwgRG93bmxv
YWRJRCBkb3dubG9hZElELCBjb25zCiAgICAgLCBtX3Nlc3Npb24oc2Vzc2lvbikKICNlbmRpZgog
ewotICAgIEFTU0VSVChtX2Rvd25sb2FkSUQuZG93bmxvYWRJRCgpKTsKKyAgICBBU1NFUlQobV9k
b3dubG9hZElEKTsKIAogICAgIG1fZG93bmxvYWRNYW5hZ2VyLmRpZENyZWF0ZURvd25sb2FkKCk7
CiB9CkBAIC0xNjIsNyArMTYyLDcgQEAgSVBDOjpDb25uZWN0aW9uKiBEb3dubG9hZDo6bWVzc2Fn
ZVNlbmRlckNvbm5lY3Rpb24oKQogCiB1aW50NjRfdCBEb3dubG9hZDo6bWVzc2FnZVNlbmRlckRl
c3RpbmF0aW9uSUQoKQogewotICAgIHJldHVybiBtX2Rvd25sb2FkSUQuZG93bmxvYWRJRCgpOwor
ICAgIHJldHVybiBtX2Rvd25sb2FkSUQ7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0Rvd25sb2Fkcy9Eb3dubG9hZC5oIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL0Rvd25sb2Fkcy9Eb3dubG9hZC5oCmluZGV4IDE0ZWU0MmE0ZjVj
YTY2NjVmMzViODk3ZDYwMDlhN2RjYTRkYThmZDIuLjYzMDU4MGYzNTE3MGUyYTNlNDljZjU3YjAz
ODM5MjUxZGNjYzgxMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Eb3dubG9h
ZHMvRG93bmxvYWQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvRG93bmxvYWRzL0Rvd25s
b2FkLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpZm5kZWYgRG93bmxvYWRfaAogI2RlZmluZSBEb3du
bG9hZF9oCiAKLSNpbmNsdWRlICJEb3dubG9hZElELmgiCiAjaW5jbHVkZSAiTWVzc2FnZVNlbmRl
ci5oIgogI2luY2x1ZGUgIlNhbmRib3hFeHRlbnNpb24uaCIKICNpbmNsdWRlIDxXZWJDb3JlL1Jl
c291cmNlUmVxdWVzdC5oPgpAQCAtNzcsOSArNzYsOSBAQCBjbGFzcyBEb3dubG9hZCA6IHB1Ymxp
YyBJUEM6Ok1lc3NhZ2VTZW5kZXIgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERvd25sb2Fk
KTsKIHB1YmxpYzoKICNpZiBVU0UoTkVUV09SS19TRVNTSU9OKQotICAgIERvd25sb2FkKERvd25s
b2FkTWFuYWdlciYsIGNvbnN0IE5ldHdvcmtTZXNzaW9uJiwgRG93bmxvYWRJRCwgY29uc3QgV2Vi
Q29yZTo6UmVzb3VyY2VSZXF1ZXN0Jik7CisgICAgRG93bmxvYWQoRG93bmxvYWRNYW5hZ2VyJiwg
Y29uc3QgTmV0d29ya1Nlc3Npb24mLCB1aW50NjRfdCBkb3dubG9hZElELCBjb25zdCBXZWJDb3Jl
OjpSZXNvdXJjZVJlcXVlc3QmKTsKICNlbHNlCi0gICAgRG93bmxvYWQoRG93bmxvYWRNYW5hZ2Vy
JiwgRG93bmxvYWRJRCwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0Jik7CisgICAgRG93
bmxvYWQoRG93bmxvYWRNYW5hZ2VyJiwgdWludDY0X3QgZG93bmxvYWRJRCwgY29uc3QgV2ViQ29y
ZTo6UmVzb3VyY2VSZXF1ZXN0Jik7CiAjZW5kaWYKICAgICB+RG93bmxvYWQoKTsKIApAQCAtOTIs
NyArOTEsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCByZXN1bWUoY29uc3QgSVBDOjpEYXRhUmVmZXJl
bmNlJiByZXN1bWVEYXRhLCBjb25zdCBTdHJpbmcmIHBhdGgsIGNvbnN0IFNhbmRib3hFeHRlbnNp
b246OkhhbmRsZSYpOwogICAgIHZvaWQgY2FuY2VsKCk7CiAKLSAgICBEb3dubG9hZElEIGRvd25s
b2FkSUQoKSBjb25zdCB7IHJldHVybiBtX2Rvd25sb2FkSUQ7IH0KKyAgICB1aW50NjRfdCBkb3du
bG9hZElEKCkgY29uc3QgeyByZXR1cm4gbV9kb3dubG9hZElEOyB9CiAKICAgICB2b2lkIGRpZFN0
YXJ0KCk7CiAgICAgdm9pZCBkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoY29uc3Qg
V2ViQ29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmKTsKQEAgLTEyOSw3ICsxMjgsNyBAQCBw
cml2YXRlOgogICAgIHZvaWQgcGxhdGZvcm1JbnZhbGlkYXRlKCk7CiAKICAgICBEb3dubG9hZE1h
bmFnZXImIG1fZG93bmxvYWRNYW5hZ2VyOwotICAgIERvd25sb2FkSUQgbV9kb3dubG9hZElEOwor
ICAgIHVpbnQ2NF90IG1fZG93bmxvYWRJRDsKICAgICBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Qg
bV9yZXF1ZXN0OwogCiAgICAgUmVmUHRyPFNhbmRib3hFeHRlbnNpb24+IG1fc2FuZGJveEV4dGVu
c2lvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Eb3dubG9hZHMvRG93bmxv
YWRJRC5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0Rvd25sb2Fkcy9Eb3dubG9hZElELmgKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA4MThkNGE2ODdkZDcyZmM3MWE2MDgzNGM0MzIx
Zjg1NTE3N2NiNTMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0Rvd25sb2Fkcy9Eb3dubG9hZElELmgKKysrIC9kZXYv
bnVsbApAQCAtMSw5NSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwot
ICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0g
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBEb3dubG9hZElEX2gK
LSNkZWZpbmUgRG93bmxvYWRJRF9oCi0KLSNpbmNsdWRlICJBcmd1bWVudENvZGVyLmgiCi0jaW5j
bHVkZSAiQXJndW1lbnREZWNvZGVyLmgiCi0jaW5jbHVkZSAiQXJndW1lbnRFbmNvZGVyLmgiCi0j
aW5jbHVkZSA8d3RmL0hhc2hUcmFpdHMuaD4KLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLWNsYXNz
IERvd25sb2FkSUQgewotcHVibGljOgotICAgIERvd25sb2FkSUQoKQotICAgIHsKLSAgICB9Ci0K
LSAgICBleHBsaWNpdCBEb3dubG9hZElEKHVpbnQ2NF90IGRvd25sb2FkSUQpCi0gICAgICAgIDog
bV9kb3dubG9hZElEKGRvd25sb2FkSUQpCi0gICAgewotICAgIH0KLQotICAgIGJvb2wgb3BlcmF0
b3I9PShEb3dubG9hZElEIG90aGVyKSBjb25zdCB7IHJldHVybiBtX2Rvd25sb2FkSUQgPT0gb3Ro
ZXIubV9kb3dubG9hZElEOyB9Ci0KLSAgICB1aW50NjRfdCBkb3dubG9hZElEKCkgY29uc3QgeyBy
ZXR1cm4gbV9kb3dubG9hZElEOyB9Ci1wcml2YXRlOgotICAgIHVpbnQ2NF90IG1fZG93bmxvYWRJ
RCB7IDAgfTsKLX07Ci0KLX0KLQotbmFtZXNwYWNlIElQQyB7Ci0gICAgCi10ZW1wbGF0ZTw+IHN0
cnVjdCBBcmd1bWVudENvZGVyPFdlYktpdDo6RG93bmxvYWRJRD4gewotICAgIHN0YXRpYyB2b2lk
IGVuY29kZShBcmd1bWVudEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFdlYktpdDo6RG93bmxvYWRJ
RCYgZG93bmxvYWRJRCkKLSAgICB7Ci0gICAgICAgIGVuY29kZXIgPDwgZG93bmxvYWRJRC5kb3du
bG9hZElEKCk7Ci0gICAgfQotICAgIHN0YXRpYyBib29sIGRlY29kZShBcmd1bWVudERlY29kZXIm
IGRlY29kZXIsIFdlYktpdDo6RG93bmxvYWRJRCYgZG93bmxvYWRJRCkKLSAgICB7Ci0gICAgICAg
IHVpbnQ2NF90IGlkOwotICAgICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGlkKSkKLSAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKLQotICAgICAgICBkb3dubG9hZElEID0gV2ViS2l0OjpEb3dubG9h
ZElEKGRvd25sb2FkSUQpOwotICAgICAgICAKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQot
fTsKLQotfQotCi1uYW1lc3BhY2UgV1RGIHsKLSAgICAKLXN0cnVjdCBEb3dubG9hZElESGFzaCB7
Ci0gICAgc3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3QgV2ViS2l0OjpEb3dubG9hZElEJiBkKSB7
IHJldHVybiBpbnRIYXNoKGQuZG93bmxvYWRJRCgpKTsgfQotICAgIHN0YXRpYyBib29sIGVxdWFs
KGNvbnN0IFdlYktpdDo6RG93bmxvYWRJRCYgYSwgY29uc3QgV2ViS2l0OjpEb3dubG9hZElEJiBi
KSB7IHJldHVybiBhLmRvd25sb2FkSUQoKSA9PSBiLmRvd25sb2FkSUQoKTsgfQotICAgIHN0YXRp
YyBjb25zdCBib29sIHNhZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxldGVkID0gdHJ1ZTsKLX07Ci10
ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPFdlYktpdDo6RG93bmxvYWRJRD4gOiBHZW5lcmlj
SGFzaFRyYWl0czxXZWJLaXQ6OkRvd25sb2FkSUQ+IHsKLSAgICBzdGF0aWMgV2ViS2l0OjpEb3du
bG9hZElEIGVtcHR5VmFsdWUoKSB7IHJldHVybiBXZWJLaXQ6OkRvd25sb2FkSUQoMCk7IH0KLSAg
ICAKLSAgICBzdGF0aWMgdm9pZCBjb25zdHJ1Y3REZWxldGVkVmFsdWUoV2ViS2l0OjpEb3dubG9h
ZElEJiBzbG90KSB7IHNsb3QgPSBXZWJLaXQ6OkRvd25sb2FkSUQoc3RkOjpudW1lcmljX2xpbWl0
czx1aW50NjRfdD46Om1heCgpKTsgfQotICAgIHN0YXRpYyBib29sIGlzRGVsZXRlZFZhbHVlKGNv
bnN0IFdlYktpdDo6RG93bmxvYWRJRCYgc2xvdCkgeyByZXR1cm4gc2xvdC5kb3dubG9hZElEKCkg
PT0gc3RkOjpudW1lcmljX2xpbWl0czx1aW50NjRfdD46Om1heCgpOyB9Ci19OwotdGVtcGxhdGU8
PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8V2ViS2l0OjpEb3dubG9hZElEPiB7Ci0gICAgdHlwZWRlZiBE
b3dubG9hZElESGFzaCBIYXNoOwotfTsKLQotfQotI2VuZGlmIC8qIERvd25sb2FkSURfaCAqLwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0Rvd25sb2Fkcy9Eb3dubG9hZE1hbmFn
ZXIuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0Rvd25sb2Fkcy9Eb3dubG9hZE1hbmFnZXIu
Y3BwCmluZGV4IDQxZjQ5ZGMwZTVkNTkyZGQ5MmY3Y2EzZDMxZGM3NDA1OTBjMDE1NGEuLmMzODUx
Mzk5NTNlMTY0OGJmZTg5YWNjOWUzZmY3NTk4M2FhMWE5NzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9Eb3dubG9hZHMvRG93bmxvYWRNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvRG93bmxvYWRzL0Rvd25sb2FkTWFuYWdlci5jcHAKQEAgLTQxLDcgKzQx
LDcgQEAgRG93bmxvYWRNYW5hZ2VyOjpEb3dubG9hZE1hbmFnZXIoQ2xpZW50KiBjbGllbnQpCiB7
CiB9CiAKLXZvaWQgRG93bmxvYWRNYW5hZ2VyOjpzdGFydERvd25sb2FkKFNlc3Npb25JRCBzZXNz
aW9uSUQsIERvd25sb2FkSUQgZG93bmxvYWRJRCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1
ZXN0KQordm9pZCBEb3dubG9hZE1hbmFnZXI6OnN0YXJ0RG93bmxvYWQoU2Vzc2lvbklEIHNlc3Np
b25JRCwgdWludDY0X3QgZG93bmxvYWRJRCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0
KQogewogI2lmIFVTRShORVRXT1JLX1NFU1NJT04pCiAgICAgYXV0byogbmV0d29ya1Nlc3Npb24g
PSBTZXNzaW9uVHJhY2tlcjo6bmV0d29ya1Nlc3Npb24oc2Vzc2lvbklEKTsKQEAgLTU4LDcgKzU4
LDcgQEAgdm9pZCBEb3dubG9hZE1hbmFnZXI6OnN0YXJ0RG93bmxvYWQoU2Vzc2lvbklEIHNlc3Np
b25JRCwgRG93bmxvYWRJRCBkb3dubG9hZElELAogfQogCiAjaWYgIVVTRShORVRXT1JLX1NFU1NJ
T04pCi12b2lkIERvd25sb2FkTWFuYWdlcjo6Y29udmVydEhhbmRsZVRvRG93bmxvYWQoRG93bmxv
YWRJRCBkb3dubG9hZElELCBSZXNvdXJjZUhhbmRsZSogaGFuZGxlLCBjb25zdCBSZXNvdXJjZVJl
cXVlc3QmIHJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQordm9pZCBE
b3dubG9hZE1hbmFnZXI6OmNvbnZlcnRIYW5kbGVUb0Rvd25sb2FkKHVpbnQ2NF90IGRvd25sb2Fk
SUQsIFJlc291cmNlSGFuZGxlKiBoYW5kbGUsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVz
dCwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCiB7CiAgICAgYXV0byBkb3dubG9h
ZCA9IHN0ZDo6bWFrZV91bmlxdWU8RG93bmxvYWQ+KCp0aGlzLCBkb3dubG9hZElELCByZXF1ZXN0
KTsKIApAQCAtNjgsNyArNjgsNyBAQCB2b2lkIERvd25sb2FkTWFuYWdlcjo6Y29udmVydEhhbmRs
ZVRvRG93bmxvYWQoRG93bmxvYWRJRCBkb3dubG9hZElELCBSZXNvdXJjZUhhbgogfQogI2VuZGlm
CiAKLXZvaWQgRG93bmxvYWRNYW5hZ2VyOjpyZXN1bWVEb3dubG9hZChTZXNzaW9uSUQsIERvd25s
b2FkSUQgZG93bmxvYWRJRCwgY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiByZXN1bWVEYXRhLCBj
b25zdCBTdHJpbmcmIHBhdGgsIGNvbnN0IFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSYgc2FuZGJv
eEV4dGVuc2lvbkhhbmRsZSkKK3ZvaWQgRG93bmxvYWRNYW5hZ2VyOjpyZXN1bWVEb3dubG9hZChX
ZWJDb3JlOjpTZXNzaW9uSUQsIHVpbnQ2NF90IGRvd25sb2FkSUQsIGNvbnN0IElQQzo6RGF0YVJl
ZmVyZW5jZSYgcmVzdW1lRGF0YSwgY29uc3QgU3RyaW5nJiBwYXRoLCBjb25zdCBTYW5kYm94RXh0
ZW5zaW9uOjpIYW5kbGUmIHNhbmRib3hFeHRlbnNpb25IYW5kbGUpCiB7CiAjaWYgVVNFKE5FVFdP
UktfU0VTU0lPTikKICAgICBub3RJbXBsZW1lbnRlZCgpOwpAQCAtODIsNyArODIsNyBAQCB2b2lk
IERvd25sb2FkTWFuYWdlcjo6cmVzdW1lRG93bmxvYWQoU2Vzc2lvbklELCBEb3dubG9hZElEIGRv
d25sb2FkSUQsIGNvbnN0IElQQwogI2VuZGlmCiB9CiAKLXZvaWQgRG93bmxvYWRNYW5hZ2VyOjpj
YW5jZWxEb3dubG9hZChEb3dubG9hZElEIGRvd25sb2FkSUQpCit2b2lkIERvd25sb2FkTWFuYWdl
cjo6Y2FuY2VsRG93bmxvYWQodWludDY0X3QgZG93bmxvYWRJRCkKIHsKICAgICBEb3dubG9hZCog
ZG93bmxvYWQgPSBtX2Rvd25sb2Fkcy5nZXQoZG93bmxvYWRJRCk7CiAgICAgaWYgKCFkb3dubG9h
ZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Eb3dubG9hZHMvRG93bmxvYWRN
YW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvRG93bmxvYWRzL0Rvd25sb2FkTWFuYWdl
ci5oCmluZGV4IDlkN2YzZjgzZGRkYzdmYTJjM2I2ZDdlNTM2ZmMwMmU0YWUxMzhlMmQuLmQ0Zjg1
MDQ2NTQ4Yzk3NjhhYWMwODUwYmQxNzAyYWMyZmZmM2MyNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9Eb3dubG9hZHMvRG93bmxvYWRNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL0Rvd25sb2Fkcy9Eb3dubG9hZE1hbmFnZXIuaApAQCAtMjYsNyArMjYsNiBA
QAogI2lmbmRlZiBEb3dubG9hZE1hbmFnZXJfaAogI2RlZmluZSBEb3dubG9hZE1hbmFnZXJfaAog
Ci0jaW5jbHVkZSAiRG93bmxvYWQuaCIKICNpbmNsdWRlICJTYW5kYm94RXh0ZW5zaW9uLmgiCiAj
aW5jbHVkZSA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJk
Lmg+CkBAIC03MCwxNCArNjksMTQgQEAgcHVibGljOgogCiAgICAgZXhwbGljaXQgRG93bmxvYWRN
YW5hZ2VyKENsaWVudCopOwogCi0gICAgdm9pZCBzdGFydERvd25sb2FkKFdlYkNvcmU6OlNlc3Np
b25JRCwgRG93bmxvYWRJRCwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0Jik7CisgICAg
dm9pZCBzdGFydERvd25sb2FkKFdlYkNvcmU6OlNlc3Npb25JRCwgdWludDY0X3QgZG93bmxvYWRJ
RCwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0Jik7CiAjaWYgIVVTRShORVRXT1JLX1NF
U1NJT04pCi0gICAgdm9pZCBjb252ZXJ0SGFuZGxlVG9Eb3dubG9hZChEb3dubG9hZElELCBXZWJD
b3JlOjpSZXNvdXJjZUhhbmRsZSosIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIGNv
bnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmKTsKKyAgICB2b2lkIGNvbnZlcnRIYW5kbGVU
b0Rvd25sb2FkKHVpbnQ2NF90IGRvd25sb2FkSUQsIFdlYkNvcmU6OlJlc291cmNlSGFuZGxlKiwg
Y29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VS
ZXNwb25zZSYpOwogI2VuZGlmCiAKLSAgICB2b2lkIHJlc3VtZURvd25sb2FkKFdlYkNvcmU6OlNl
c3Npb25JRCwgRG93bmxvYWRJRCwgY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiByZXN1bWVEYXRh
LCBjb25zdCBTdHJpbmcmIHBhdGgsIGNvbnN0IFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSYpOwor
ICAgIHZvaWQgcmVzdW1lRG93bmxvYWQoV2ViQ29yZTo6U2Vzc2lvbklELCB1aW50NjRfdCBkb3du
bG9hZElELCBjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmIHJlc3VtZURhdGEsIGNvbnN0IFN0cmlu
ZyYgcGF0aCwgY29uc3QgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlJik7CiAKLSAgICB2b2lkIGNh
bmNlbERvd25sb2FkKERvd25sb2FkSUQpOworICAgIHZvaWQgY2FuY2VsRG93bmxvYWQodWludDY0
X3QgZG93bmxvYWRJRCk7CiAKICAgICB2b2lkIGRvd25sb2FkRmluaXNoZWQoRG93bmxvYWQqKTsK
ICAgICBib29sIGlzRG93bmxvYWRpbmcoKSBjb25zdCB7IHJldHVybiAhbV9kb3dubG9hZHMuaXNF
bXB0eSgpOyB9CkBAIC05MSw3ICs5MCw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICBDbGll
bnQqIG1fY2xpZW50OwotICAgIEhhc2hNYXA8RG93bmxvYWRJRCwgc3RkOjp1bmlxdWVfcHRyPERv
d25sb2FkPj4gbV9kb3dubG9hZHM7CisgICAgSGFzaE1hcDx1aW50NjRfdCwgc3RkOjp1bmlxdWVf
cHRyPERvd25sb2FkPj4gbV9kb3dubG9hZHM7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0Rvd25sb2FkLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0Rvd25sb2FkLmNwcAppbmRleCBh
YmY5M2YxMmYxYTNlZDVhNDlkYTllMDNlZTFkMGJmOTI2YjA0MTVmLi43MDVjZmYwYjNiMDViZGE4
NTE1Yjg2YzMxNDIyZTQ1NzA1MWUwYTkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0MvV0tEb3dubG9hZC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL1dLRG93bmxvYWQuY3BwCkBAIC00MCw3ICs0MCw3IEBAIFdLVHlwZUlEIFdLRG93bmxv
YWRHZXRUeXBlSUQoKQogCiB1aW50NjRfdCBXS0Rvd25sb2FkR2V0SUQoV0tEb3dubG9hZFJlZiBk
b3dubG9hZCkKIHsKLSAgICByZXR1cm4gdG9JbXBsKGRvd25sb2FkKS0+ZG93bmxvYWRJRCgpLmRv
d25sb2FkSUQoKTsKKyAgICByZXR1cm4gdG9JbXBsKGRvd25sb2FkKS0+ZG93bmxvYWRJRCgpOwog
fQogCiBXS1VSTFJlcXVlc3RSZWYgV0tEb3dubG9hZENvcHlSZXF1ZXN0KFdLRG93bmxvYWRSZWYg
ZG93bmxvYWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRG93bmxvYWRz
L0Rvd25sb2FkUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Eb3dubG9hZHMvRG93
bmxvYWRQcm94eS5oCmluZGV4IDQyYjFlOWRmYmQyNmYyNzhhZDdkYmE2MTBkZjMyMzhkZGQ1NjJi
MGIuLjg0ZGMwZGY1OTcyODM3MWY5ZTMwNGVlZDBmMmM3NDk3MzVmMzE1YzMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRQcm94eS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRQcm94eS5oCkBAIC0y
OCw3ICsyOCw2IEBACiAKICNpbmNsdWRlICJBUElPYmplY3QuaCIKICNpbmNsdWRlICJDb25uZWN0
aW9uLmgiCi0jaW5jbHVkZSAiRG93bmxvYWRJRC5oIgogI2luY2x1ZGUgIlNhbmRib3hFeHRlbnNp
b24uaCIKICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVxdWVzdC5oPgogI2luY2x1ZGUgPHd0
Zi9Gb3J3YXJkLmg+CkBAIC01NSw3ICs1NCw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxEb3dubG9hZFByb3h5PiBjcmVhdGUoRG93bmxvYWRQcm94eU1hcCYsIFdlYlByb2Nlc3NQ
b29sJiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0Jik7CiAgICAgfkRvd25sb2FkUHJv
eHkoKTsKIAotICAgIERvd25sb2FkSUQgZG93bmxvYWRJRCgpIGNvbnN0IHsgcmV0dXJuIG1fZG93
bmxvYWRJRDsgfQorICAgIHVpbnQ2NF90IGRvd25sb2FkSUQoKSBjb25zdCB7IHJldHVybiBtX2Rv
d25sb2FkSUQ7IH0KICAgICBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3Qo
KSBjb25zdCB7IHJldHVybiBtX3JlcXVlc3Q7IH0KICAgICBBUEk6OkRhdGEqIHJlc3VtZURhdGEo
KSBjb25zdCB7IHJldHVybiBtX3Jlc3VtZURhdGEuZ2V0KCk7IH0KIApAQCAtODgsNyArODcsNyBA
QCBwcml2YXRlOgogCiAgICAgRG93bmxvYWRQcm94eU1hcCYgbV9kb3dubG9hZFByb3h5TWFwOwog
ICAgIFJlZlB0cjxXZWJQcm9jZXNzUG9vbD4gbV9wcm9jZXNzUG9vbDsKLSAgICBEb3dubG9hZElE
IG1fZG93bmxvYWRJRDsKKyAgICB1aW50NjRfdCBtX2Rvd25sb2FkSUQ7CiAKICAgICBSZWZQdHI8
QVBJOjpEYXRhPiBtX3Jlc3VtZURhdGE7CiAgICAgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IG1f
cmVxdWVzdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Eb3dubG9hZHMv
RG93bmxvYWRQcm94eU1hcC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRG93bmxvYWRz
L0Rvd25sb2FkUHJveHlNYXAuY3BwCmluZGV4IGIwN2M4ZDY1MDU1OTFiNTMzOWZiOWY3ZWQ2YmNi
NWQ5NzU0ZTVjNzUuLmEwYmJhZjA3MWY3Nzk1YjFkYjU2YjEzMGUzNjE4YTE2ZjU4OGJjMmMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRQcm94
eU1hcC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9h
ZFByb3h5TWFwLmNwcApAQCAtNDksMTggKzQ5LDE4IEBAIERvd25sb2FkUHJveHkqIERvd25sb2Fk
UHJveHlNYXA6OmNyZWF0ZURvd25sb2FkUHJveHkoV2ViUHJvY2Vzc1Bvb2wmIHByb2Nlc3NQb29s
CiAgICAgUmVmUHRyPERvd25sb2FkUHJveHk+IGRvd25sb2FkUHJveHkgPSBEb3dubG9hZFByb3h5
OjpjcmVhdGUoKnRoaXMsIHByb2Nlc3NQb29sLCByZXNvdXJjZVJlcXVlc3QpOwogICAgIG1fZG93
bmxvYWRzLnNldChkb3dubG9hZFByb3h5LT5kb3dubG9hZElEKCksIGRvd25sb2FkUHJveHkpOwog
Ci0gICAgbV9wcm9jZXNzLT5hZGRNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OkRvd25sb2FkUHJv
eHk6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgZG93bmxvYWRQcm94eS0+ZG93bmxvYWRJRCgpLmRv
d25sb2FkSUQoKSwgKmRvd25sb2FkUHJveHkpOworICAgIG1fcHJvY2Vzcy0+YWRkTWVzc2FnZVJl
Y2VpdmVyKE1lc3NhZ2VzOjpEb3dubG9hZFByb3h5OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIGRv
d25sb2FkUHJveHktPmRvd25sb2FkSUQoKSwgKmRvd25sb2FkUHJveHkpOwogCiAgICAgcmV0dXJu
IGRvd25sb2FkUHJveHkuZ2V0KCk7CiB9CiAKIHZvaWQgRG93bmxvYWRQcm94eU1hcDo6ZG93bmxv
YWRGaW5pc2hlZChEb3dubG9hZFByb3h5KiBkb3dubG9hZFByb3h5KQogewotICAgIGF1dG8gZG93
bmxvYWRJRCA9IGRvd25sb2FkUHJveHktPmRvd25sb2FkSUQoKTsKKyAgICB1aW50NjRfdCBkb3du
bG9hZElEID0gZG93bmxvYWRQcm94eS0+ZG93bmxvYWRJRCgpOwogCiAgICAgQVNTRVJUKG1fZG93
bmxvYWRzLmNvbnRhaW5zKGRvd25sb2FkSUQpKTsKIAotICAgIG1fcHJvY2Vzcy0+cmVtb3ZlTWVz
c2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpEb3dubG9hZFByb3h5OjptZXNzYWdlUmVjZWl2ZXJOYW1l
KCksIGRvd25sb2FkSUQuZG93bmxvYWRJRCgpKTsKKyAgICBtX3Byb2Nlc3MtPnJlbW92ZU1lc3Nh
Z2VSZWNlaXZlcihNZXNzYWdlczo6RG93bmxvYWRQcm94eTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgp
LCBkb3dubG9hZElEKTsKICAgICBkb3dubG9hZFByb3h5LT5pbnZhbGlkYXRlKCk7CiAgICAgbV9k
b3dubG9hZHMucmVtb3ZlKGRvd25sb2FkSUQpOwogfQpAQCAtNjgsNyArNjgsNyBAQCB2b2lkIERv
d25sb2FkUHJveHlNYXA6OmRvd25sb2FkRmluaXNoZWQoRG93bmxvYWRQcm94eSogZG93bmxvYWRQ
cm94eSkKIHZvaWQgRG93bmxvYWRQcm94eU1hcDo6cHJvY2Vzc0RpZENsb3NlKCkKIHsKICAgICAv
LyBJbnZhbGlkYXRlIGFsbCBvdXRzdGFuZGluZyBkb3dubG9hZHMuCi0gICAgZm9yIChhdXRvIGl0
ID0gbV9kb3dubG9hZHMuYmVnaW4oKS52YWx1ZXMoKSwgZW5kID0gbV9kb3dubG9hZHMuZW5kKCku
dmFsdWVzKCk7IGl0ICE9IGVuZDsgKytpdCkgeworICAgIGZvciAoSGFzaE1hcDx1aW50NjRfdCwg
UmVmUHRyPERvd25sb2FkUHJveHk+Pjo6aXRlcmF0b3I6OlZhbHVlcyBpdCA9IG1fZG93bmxvYWRz
LmJlZ2luKCkudmFsdWVzKCksIGVuZCA9IG1fZG93bmxvYWRzLmVuZCgpLnZhbHVlcygpOyBpdCAh
PSBlbmQ7ICsraXQpIHsKICAgICAgICAgKCppdCktPnByb2Nlc3NEaWRDbG9zZSgpOwogICAgICAg
ICAoKml0KS0+aW52YWxpZGF0ZSgpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRQcm94eU1hcC5oIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZFByb3h5TWFwLmgKaW5kZXggZDYwZTVhOGU5OGNm
ZDFjMjNiZWVmYjNiNWIwM2FiNDMzYjU4NzYzYy4uOWZkNTI2N2Y0ZjlkOTBiMzc3MzI0ZDliZWQ5
NGIxMTcwN2JkNDAxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Rvd25s
b2Fkcy9Eb3dubG9hZFByb3h5TWFwLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Rv
d25sb2Fkcy9Eb3dubG9hZFByb3h5TWFwLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpZm5kZWYgRG93
bmxvYWRQcm94eU1hcF9oCiAjZGVmaW5lIERvd25sb2FkUHJveHlNYXBfaAogCi0jaW5jbHVkZSAi
RG93bmxvYWRJRC5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KQEAgLTU3LDcgKzU2LDcg
QEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIENoaWxkUHJvY2Vzc1Byb3h5KiBtX3Byb2Nlc3M7
Ci0gICAgSGFzaE1hcDxEb3dubG9hZElELCBSZWZQdHI8RG93bmxvYWRQcm94eT4+IG1fZG93bmxv
YWRzOworICAgIEhhc2hNYXA8dWludDY0X3QsIFJlZlB0cjxEb3dubG9hZFByb3h5Pj4gbV9kb3du
bG9hZHM7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggNTkyYWExMTU2MWVlMDhhZmU1ZDc0Y2Y1NWZkNzkz
ZjRiNzIwNmI5NC4uYjIxOTBjMmY5MzViMzYzZjk3Y2EzOGNjMWE1MTBlYzkyMzgyNzY3ZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTIwMTUsNyArMjAx
NSw3IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpyZWNlaXZlZFBvbGljeURlY2lzaW9uKFBvbGljeUFj
dGlvbiBhY3Rpb24sIFdlYkZyYW1lUHJveHkqIGZyCiAgICAgaWYgKGFjdGlvbiA9PSBQb2xpY3lJ
Z25vcmUpCiAgICAgICAgIG1fcGFnZUxvYWRTdGF0ZS5jbGVhclBlbmRpbmdBUElSZXF1ZXN0VVJM
KHRyYW5zYWN0aW9uKTsKIAotICAgIERvd25sb2FkSUQgZG93bmxvYWRJRCA9IHsgfTsKKyAgICB1
aW50NjRfdCBkb3dubG9hZElEID0gMDsKICAgICBpZiAoYWN0aW9uID09IFBvbGljeURvd25sb2Fk
KSB7CiAgICAgICAgIC8vIENyZWF0ZSBhIGRvd25sb2FkIHByb3h5LgogICAgICAgICAvLyBGSVhN
RTogV2Ugc2hvdWxkIGVuc3VyZSB0aGF0IHRoZSBkb3dubG9hZFJlcXVlc3QgaXMgbmV2ZXIgZW1w
dHkuCkBAIC0zMjUwLDcgKzMyNTAsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZnJhbWVEaWRCZWNv
bWVGcmFtZVNldCh1aW50NjRfdCBmcmFtZUlELCBib29sIHZhbHVlKQogICAgICAgICBtX2ZyYW1l
U2V0TGFyZ2VzdEZyYW1lID0gdmFsdWUgPyBtX21haW5GcmFtZSA6IDA7CiB9CiAKLXZvaWQgV2Vi
UGFnZVByb3h5OjpkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKHVpbnQ2NF90IGZyYW1l
SUQsIGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0YSYgZnJhbWVTZWN1cml0eU9yaWdpbiwgdWludDY0
X3QgbmF2aWdhdGlvbklELCBjb25zdCBOYXZpZ2F0aW9uQWN0aW9uRGF0YSYgbmF2aWdhdGlvbkFj
dGlvbkRhdGEsIHVpbnQ2NF90IG9yaWdpbmF0aW5nRnJhbWVJRCwgY29uc3QgU2VjdXJpdHlPcmln
aW5EYXRhJiBvcmlnaW5hdGluZ0ZyYW1lU2VjdXJpdHlPcmlnaW4sIGNvbnN0IFdlYkNvcmU6OlJl
c291cmNlUmVxdWVzdCYgb3JpZ2luYWxSZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJl
cXVlc3QsIHVpbnQ2NF90IGxpc3RlbmVySUQsIGNvbnN0IFVzZXJEYXRhJiB1c2VyRGF0YSwgYm9v
bCYgcmVjZWl2ZWRQb2xpY3lBY3Rpb24sIHVpbnQ2NF90JiBuZXdOYXZpZ2F0aW9uSUQsIHVpbnQ2
NF90JiBwb2xpY3lBY3Rpb24sIERvd25sb2FkSUQmIGRvd25sb2FkSUQpCit2b2lkIFdlYlBhZ2VQ
cm94eTo6ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbih1aW50NjRfdCBmcmFtZUlELCBj
b25zdCBTZWN1cml0eU9yaWdpbkRhdGEmIGZyYW1lU2VjdXJpdHlPcmlnaW4sIHVpbnQ2NF90IG5h
dmlnYXRpb25JRCwgY29uc3QgTmF2aWdhdGlvbkFjdGlvbkRhdGEmIG5hdmlnYXRpb25BY3Rpb25E
YXRhLCB1aW50NjRfdCBvcmlnaW5hdGluZ0ZyYW1lSUQsIGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0
YSYgb3JpZ2luYXRpbmdGcmFtZVNlY3VyaXR5T3JpZ2luLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJj
ZVJlcXVlc3QmIG9yaWdpbmFsUmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0
LCB1aW50NjRfdCBsaXN0ZW5lcklELCBjb25zdCBVc2VyRGF0YSYgdXNlckRhdGEsIGJvb2wmIHJl
Y2VpdmVkUG9saWN5QWN0aW9uLCB1aW50NjRfdCYgbmV3TmF2aWdhdGlvbklELCB1aW50NjRfdCYg
cG9saWN5QWN0aW9uLCB1aW50NjRfdCYgZG93bmxvYWRJRCkKIHsKICAgICBQYWdlQ2xpZW50UHJv
dGVjdG9yIHByb3RlY3RvcihtX3BhZ2VDbGllbnQpOwogCkBAIC0zMzU5LDcgKzMzNTksNyBAQCB2
b2lkIFdlYlBhZ2VQcm94eTo6ZGVjaWRlUG9saWN5Rm9yUmVzcG9uc2UodWludDY0X3QgZnJhbWVJ
RCwgY29uc3QgU2VjdXJpdHlPcmlnaQogICAgICAgICBtX3BvbGljeUNsaWVudC0+ZGVjaWRlUG9s
aWN5Rm9yUmVzcG9uc2UoKnRoaXMsICpmcmFtZSwgcmVzcG9uc2UsIHJlcXVlc3QsIGNhblNob3dN
SU1FVHlwZSwgV1RGOjptb3ZlKGxpc3RlbmVyKSwgbV9wcm9jZXNzLT50cmFuc2Zvcm1IYW5kbGVz
VG9PYmplY3RzKHVzZXJEYXRhLm9iamVjdCgpKS5nZXQoKSk7CiB9CiAKLXZvaWQgV2ViUGFnZVBy
b3h5OjpkZWNpZGVQb2xpY3lGb3JSZXNwb25zZVN5bmModWludDY0X3QgZnJhbWVJRCwgY29uc3Qg
U2VjdXJpdHlPcmlnaW5EYXRhJiBmcmFtZVNlY3VyaXR5T3JpZ2luLCBjb25zdCBSZXNvdXJjZVJl
c3BvbnNlJiByZXNwb25zZSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBib29sIGNh
blNob3dNSU1FVHlwZSwgdWludDY0X3QgbGlzdGVuZXJJRCwgY29uc3QgVXNlckRhdGEmIHVzZXJE
YXRhLCBib29sJiByZWNlaXZlZFBvbGljeUFjdGlvbiwgdWludDY0X3QmIHBvbGljeUFjdGlvbiwg
RG93bmxvYWRJRCYgZG93bmxvYWRJRCkKK3ZvaWQgV2ViUGFnZVByb3h5OjpkZWNpZGVQb2xpY3lG
b3JSZXNwb25zZVN5bmModWludDY0X3QgZnJhbWVJRCwgY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRh
JiBmcmFtZVNlY3VyaXR5T3JpZ2luLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwg
Y29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBib29sIGNhblNob3dNSU1FVHlwZSwgdWlu
dDY0X3QgbGlzdGVuZXJJRCwgY29uc3QgVXNlckRhdGEmIHVzZXJEYXRhLCBib29sJiByZWNlaXZl
ZFBvbGljeUFjdGlvbiwgdWludDY0X3QmIHBvbGljeUFjdGlvbiwgdWludDY0X3QmIGRvd25sb2Fk
SUQpCiB7CiAgICAgUGFnZUNsaWVudFByb3RlY3RvciBwcm90ZWN0b3IobV9wYWdlQ2xpZW50KTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDU2NDg0MWFmZTI1
MTAwMmI0ZTRlNjBhZDcwNzZjMjY1ZTJmZWM2YmQuLjc4ZTUwNWU0NWJkYjcyMzJmMTY0ODBhMGRm
ODQzMjYwMjEwMDdhNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgK
QEAgLTMyLDcgKzMyLDYgQEAKICNpbmNsdWRlICJBdXRvQ29ycmVjdGlvbkNhbGxiYWNrLmgiCiAj
aW5jbHVkZSAiQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUgIkNvbnRleHRNZW51Q29udGV4dERhdGEu
aCIKLSNpbmNsdWRlICJEb3dubG9hZElELmgiCiAjaW5jbHVkZSAiRHJhZ0NvbnRyb2xsZXJBY3Rp
b24uaCIKICNpbmNsdWRlICJEcmF3aW5nQXJlYVByb3h5LmgiCiAjaW5jbHVkZSAiRWRpdGluZ1Jh
bmdlLmgiCkBAIC0xMTM0LDEwICsxMTMzLDEwIEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGRpZERl
c3Ryb3lOYXZpZ2F0aW9uKHVpbnQ2NF90IG5hdmlnYXRpb25JRCk7CiAKLSAgICB2b2lkIGRlY2lk
ZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24odWludDY0X3QgZnJhbWVJRCwgY29uc3QgV2ViQ29y
ZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiBmcmFtZVNlY3VyaXR5T3JpZ2luLCB1aW50NjRfdCBuYXZp
Z2F0aW9uSUQsIGNvbnN0IE5hdmlnYXRpb25BY3Rpb25EYXRhJiwgdWludDY0X3Qgb3JpZ2luYXRp
bmdGcmFtZUlELCBjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEmIG9yaWdpbmF0aW5n
RnJhbWVTZWN1cml0eU9yaWdpbiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiBvcmln
aW5hbFJlcXVlc3QsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIHVpbnQ2NF90IGxp
c3RlbmVySUQsIGNvbnN0IFVzZXJEYXRhJiwgYm9vbCYgcmVjZWl2ZWRQb2xpY3lBY3Rpb24sIHVp
bnQ2NF90JiBuZXdOYXZpZ2F0aW9uSUQsIHVpbnQ2NF90JiBwb2xpY3lBY3Rpb24sIERvd25sb2Fk
SUQmKTsKKyAgICB2b2lkIGRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24odWludDY0X3Qg
ZnJhbWVJRCwgY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiBmcmFtZVNlY3VyaXR5
T3JpZ2luLCB1aW50NjRfdCBuYXZpZ2F0aW9uSUQsIGNvbnN0IE5hdmlnYXRpb25BY3Rpb25EYXRh
JiwgdWludDY0X3Qgb3JpZ2luYXRpbmdGcmFtZUlELCBjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9y
aWdpbkRhdGEmIG9yaWdpbmF0aW5nRnJhbWVTZWN1cml0eU9yaWdpbiwgY29uc3QgV2ViQ29yZTo6
UmVzb3VyY2VSZXF1ZXN0JiBvcmlnaW5hbFJlcXVlc3QsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNl
UmVxdWVzdCYsIHVpbnQ2NF90IGxpc3RlbmVySUQsIGNvbnN0IFVzZXJEYXRhJiwgYm9vbCYgcmVj
ZWl2ZWRQb2xpY3lBY3Rpb24sIHVpbnQ2NF90JiBuZXdOYXZpZ2F0aW9uSUQsIHVpbnQ2NF90JiBw
b2xpY3lBY3Rpb24sIHVpbnQ2NF90JiBkb3dubG9hZElEKTsKICAgICB2b2lkIGRlY2lkZVBvbGlj
eUZvck5ld1dpbmRvd0FjdGlvbih1aW50NjRfdCBmcmFtZUlELCBjb25zdCBXZWJDb3JlOjpTZWN1
cml0eU9yaWdpbkRhdGEmIGZyYW1lU2VjdXJpdHlPcmlnaW4sIGNvbnN0IE5hdmlnYXRpb25BY3Rp
b25EYXRhJiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgU3RyaW5nJiBm
cmFtZU5hbWUsIHVpbnQ2NF90IGxpc3RlbmVySUQsIGNvbnN0IFVzZXJEYXRhJik7CiAgICAgdm9p
ZCBkZWNpZGVQb2xpY3lGb3JSZXNwb25zZSh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBXZWJDb3Jl
OjpTZWN1cml0eU9yaWdpbkRhdGEmIGZyYW1lU2VjdXJpdHlPcmlnaW4sIGNvbnN0IFdlYkNvcmU6
OlJlc291cmNlUmVzcG9uc2UmLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBib29s
IGNhblNob3dNSU1FVHlwZSwgdWludDY0X3QgbGlzdGVuZXJJRCwgY29uc3QgVXNlckRhdGEmKTsK
LSAgICB2b2lkIGRlY2lkZVBvbGljeUZvclJlc3BvbnNlU3luYyh1aW50NjRfdCBmcmFtZUlELCBj
b25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEmIGZyYW1lU2VjdXJpdHlPcmlnaW4sIGNv
bnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJl
cXVlc3QmLCBib29sIGNhblNob3dNSU1FVHlwZSwgdWludDY0X3QgbGlzdGVuZXJJRCwgY29uc3Qg
VXNlckRhdGEmLCBib29sJiByZWNlaXZlZFBvbGljeUFjdGlvbiwgdWludDY0X3QmIHBvbGljeUFj
dGlvbiwgRG93bmxvYWRJRCYpOworICAgIHZvaWQgZGVjaWRlUG9saWN5Rm9yUmVzcG9uc2VTeW5j
KHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSYgZnJh
bWVTZWN1cml0eU9yaWdpbiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYsIGNvbnN0
IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIGJvb2wgY2FuU2hvd01JTUVUeXBlLCB1aW50NjRf
dCBsaXN0ZW5lcklELCBjb25zdCBVc2VyRGF0YSYsIGJvb2wmIHJlY2VpdmVkUG9saWN5QWN0aW9u
LCB1aW50NjRfdCYgcG9saWN5QWN0aW9uLCB1aW50NjRfdCYgZG93bmxvYWRJRCk7CiAgICAgdm9p
ZCB1bmFibGVUb0ltcGxlbWVudFBvbGljeSh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBXZWJDb3Jl
OjpSZXNvdXJjZUVycm9yJiwgY29uc3QgVXNlckRhdGEmKTsKIAogICAgIHZvaWQgd2lsbFN1Ym1p
dEZvcm0odWludDY0X3QgZnJhbWVJRCwgdWludDY0X3Qgc291cmNlRnJhbWVJRCwgY29uc3QgVmVj
dG9yPHN0ZDo6cGFpcjxTdHJpbmcsIFN0cmluZz4+JiB0ZXh0RmllbGRWYWx1ZXMsIHVpbnQ2NF90
IGxpc3RlbmVySUQsIGNvbnN0IFVzZXJEYXRhJik7CkBAIC0xNjE3LDEyICsxNjE2LDEyIEBAIHBy
aXZhdGU6CiAgICAgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0KiBtX2RlY2lkZVBvbGlj
eUZvclJlc3BvbnNlUmVxdWVzdDsKICAgICBib29sIG1fc3luY01pbWVUeXBlUG9saWN5QWN0aW9u
SXNWYWxpZDsKICAgICBXZWJDb3JlOjpQb2xpY3lBY3Rpb24gbV9zeW5jTWltZVR5cGVQb2xpY3lB
Y3Rpb247Ci0gICAgRG93bmxvYWRJRCBtX3N5bmNNaW1lVHlwZVBvbGljeURvd25sb2FkSUQ7Cisg
ICAgdWludDY0X3QgbV9zeW5jTWltZVR5cGVQb2xpY3lEb3dubG9hZElEOwogCiAgICAgYm9vbCBt
X2luRGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbjsKICAgICBib29sIG1fc3luY05hdmln
YXRpb25BY3Rpb25Qb2xpY3lBY3Rpb25Jc1ZhbGlkOwogICAgIFdlYkNvcmU6OlBvbGljeUFjdGlv
biBtX3N5bmNOYXZpZ2F0aW9uQWN0aW9uUG9saWN5QWN0aW9uOwotICAgIERvd25sb2FkSUQgbV9z
eW5jTmF2aWdhdGlvbkFjdGlvblBvbGljeURvd25sb2FkSUQ7CisgICAgdWludDY0X3QgbV9zeW5j
TmF2aWdhdGlvbkFjdGlvblBvbGljeURvd25sb2FkSUQ7CiAgICAgYm9vbCBtX3Nob3VsZFN1cHBy
ZXNzQXBwTGlua3NJbk5leHROYXZpZ2F0aW9uUG9saWN5RGVjaXNpb24geyBmYWxzZSB9OwogCiAg
ICAgRGVxdWU8TmF0aXZlV2ViS2V5Ym9hcmRFdmVudD4gbV9rZXlFdmVudFF1ZXVlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbiBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KaW5kZXgg
MjIzNWM0MzQ3YWUzNjZjN2I4NjE3MDIzNjQyYjkwODZjYzk4ZDkzNC4uZWNkZGZmYjFjZmNhMzFm
ZWY3YWNmZDc2ODRiNTY3MWNhOTA0YmY2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC0xMDUsOCArMTA1LDggQEAgbWVzc2Fn
ZXMgLT4gV2ViUGFnZVByb3h5IHsKICNlbmRpZgogCiAgICAgIyBQb2xpY3kgbWVzc2FnZXMKLSAg
ICBEZWNpZGVQb2xpY3lGb3JSZXNwb25zZVN5bmModWludDY0X3QgZnJhbWVJRCwgc3RydWN0IFdl
YkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSBmcmFtZVNlY3VyaXR5T3JpZ2luLCBXZWJDb3JlOjpS
ZXNvdXJjZVJlc3BvbnNlIHJlc3BvbnNlLCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QgcmVxdWVz
dCwgYm9vbCBjYW5TaG93TUlNRVR5cGUsIHVpbnQ2NF90IGxpc3RlbmVySUQsIFdlYktpdDo6VXNl
ckRhdGEgdXNlckRhdGEpIC0+IChib29sIHJlY2VpdmVkUG9saWN5QWN0aW9uLCB1aW50NjRfdCBw
b2xpY3lBY3Rpb24sIFdlYktpdDo6RG93bmxvYWRJRCBkb3dubG9hZElEKQotICAgIERlY2lkZVBv
bGljeUZvck5hdmlnYXRpb25BY3Rpb24odWludDY0X3QgZnJhbWVJRCwgc3RydWN0IFdlYkNvcmU6
OlNlY3VyaXR5T3JpZ2luRGF0YSBmcmFtZVNlY3VyaXR5T3JpZ2luLCB1aW50NjRfdCBuYXZpZ2F0
aW9uSUQsIHN0cnVjdCBXZWJLaXQ6Ok5hdmlnYXRpb25BY3Rpb25EYXRhIG5hdmlnYXRpb25BY3Rp
b25EYXRhLCB1aW50NjRfdCBvcmlnaW5hdGluZ0ZyYW1lSUQsIHN0cnVjdCBXZWJDb3JlOjpTZWN1
cml0eU9yaWdpbkRhdGEgb3JpZ2luYXRpbmdGcmFtZVNlY3VyaXR5T3JpZ2luLCBXZWJDb3JlOjpS
ZXNvdXJjZVJlcXVlc3Qgb3JpZ2luYWxSZXF1ZXN0LCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Qg
cmVxdWVzdCwgdWludDY0X3QgbGlzdGVuZXJJRCwgV2ViS2l0OjpVc2VyRGF0YSB1c2VyRGF0YSkg
LT4gKGJvb2wgcmVjZWl2ZWRQb2xpY3lBY3Rpb24sIHVpbnQ2NF90IG5ld05hdmlnYXRpb25JRCwg
dWludDY0X3QgcG9saWN5QWN0aW9uLCBXZWJLaXQ6OkRvd25sb2FkSUQgZG93bmxvYWRJRCkKKyAg
ICBEZWNpZGVQb2xpY3lGb3JSZXNwb25zZVN5bmModWludDY0X3QgZnJhbWVJRCwgc3RydWN0IFdl
YkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSBmcmFtZVNlY3VyaXR5T3JpZ2luLCBXZWJDb3JlOjpS
ZXNvdXJjZVJlc3BvbnNlIHJlc3BvbnNlLCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QgcmVxdWVz
dCwgYm9vbCBjYW5TaG93TUlNRVR5cGUsIHVpbnQ2NF90IGxpc3RlbmVySUQsIFdlYktpdDo6VXNl
ckRhdGEgdXNlckRhdGEpIC0+IChib29sIHJlY2VpdmVkUG9saWN5QWN0aW9uLCB1aW50NjRfdCBw
b2xpY3lBY3Rpb24sIHVpbnQ2NF90IGRvd25sb2FkSUQpCisgICAgRGVjaWRlUG9saWN5Rm9yTmF2
aWdhdGlvbkFjdGlvbih1aW50NjRfdCBmcmFtZUlELCBzdHJ1Y3QgV2ViQ29yZTo6U2VjdXJpdHlP
cmlnaW5EYXRhIGZyYW1lU2VjdXJpdHlPcmlnaW4sIHVpbnQ2NF90IG5hdmlnYXRpb25JRCwgc3Ry
dWN0IFdlYktpdDo6TmF2aWdhdGlvbkFjdGlvbkRhdGEgbmF2aWdhdGlvbkFjdGlvbkRhdGEsIHVp
bnQ2NF90IG9yaWdpbmF0aW5nRnJhbWVJRCwgc3RydWN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2lu
RGF0YSBvcmlnaW5hdGluZ0ZyYW1lU2VjdXJpdHlPcmlnaW4sIFdlYkNvcmU6OlJlc291cmNlUmVx
dWVzdCBvcmlnaW5hbFJlcXVlc3QsIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCByZXF1ZXN0LCB1
aW50NjRfdCBsaXN0ZW5lcklELCBXZWJLaXQ6OlVzZXJEYXRhIHVzZXJEYXRhKSAtPiAoYm9vbCBy
ZWNlaXZlZFBvbGljeUFjdGlvbiwgdWludDY0X3QgbmV3TmF2aWdhdGlvbklELCB1aW50NjRfdCBw
b2xpY3lBY3Rpb24sIHVpbnQ2NF90IGRvd25sb2FkSUQpCiAgICAgRGVjaWRlUG9saWN5Rm9yTmV3
V2luZG93QWN0aW9uKHVpbnQ2NF90IGZyYW1lSUQsIHN0cnVjdCBXZWJDb3JlOjpTZWN1cml0eU9y
aWdpbkRhdGEgZnJhbWVTZWN1cml0eU9yaWdpbiwgc3RydWN0IFdlYktpdDo6TmF2aWdhdGlvbkFj
dGlvbkRhdGEgbmF2aWdhdGlvbkFjdGlvbkRhdGEsIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCBy
ZXF1ZXN0LCBTdHJpbmcgZnJhbWVOYW1lLCB1aW50NjRfdCBsaXN0ZW5lcklELCBXZWJLaXQ6OlVz
ZXJEYXRhIHVzZXJEYXRhKQogICAgIFVuYWJsZVRvSW1wbGVtZW50UG9saWN5KHVpbnQ2NF90IGZy
YW1lSUQsIFdlYkNvcmU6OlJlc291cmNlRXJyb3IgZXJyb3IsIFdlYktpdDo6VXNlckRhdGEgdXNl
ckRhdGEpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagppbmRleCA5NDBmOGFlMWM1ZDMyZGQ4MmMxMTAzMTQ1Mzc4Njc3NjRjNWMzYjZhLi5j
Y2MwYjZjZjRmZmU1NTQxY2JhYzI4N2NhNzhiYTRmY2VmNTZiZGU5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNl
L1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMDY0LDcgKzEw
NjQsNiBAQAogCQk1MjcyQjI4QTE0MDY5ODVEMDA5NkE1RDAgLyogU3RhdGlzdGljc0RhdGEuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTI3MkIyODgx
NDA2OTg1RDAwOTZBNUQwIC8qIFN0YXRpc3RpY3NEYXRhLmNwcCAqLzsgfTsKIAkJNTI3MkIyOEIx
NDA2OTg1RDAwOTZBNUQwIC8qIFN0YXRpc3RpY3NEYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MjcyQjI4OTE0MDY5ODVEMDA5NkE1RDAgLyogU3Rh
dGlzdGljc0RhdGEuaCAqLzsgfTsKIAkJNTI4QzM3QzExOTVDQkIxQTAwRDhCOUNDIC8qIFdLQmFj
a0ZvcndhcmRMaXN0UHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUE5RjI4MTAxOTU4RjQ3ODAwOENBQzcyIC8qIFdLQmFja0ZvcndhcmRMaXN0
UHJpdmF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
Ci0JCTVDMTQyNkRFMUMyMzlGNDgwMEQ0MTE4MyAvKiBEb3dubG9hZElELmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1QzA5MzIwNjFDMjM2MDExMDA3QUFB
N0MgLyogRG93bmxvYWRJRC5oICovOyB9OwogCQk1QzIwQ0I5RDFCQjBEQ0ZBMDA4OTVCQjEgLyog
TmV0d29ya1Nlc3Npb25Db2NvYS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDVDMjBDQjlCMUJCMERDRDIwMDg5NUJCMSAvKiBOZXR3b3JrU2Vzc2lvbkNv
Y29hLm1tICovOyB9OwogCQk1QzIwQ0JBMDFCQjFFQ0Q4MDA4OTVCQjEgLyogTmV0d29ya1Nlc3Np
b24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDMjBD
QjlFMUJCMEREMTgwMDg5NUJCMSAvKiBOZXR3b3JrU2Vzc2lvbi5oICovOyB9OwogCQk1QzlCODYx
MzFDMjIzRUFGMDAxMTBGMzYgLyogRG93bmxvYWRDb2NvYS5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDOUI4NjExMUMyMjNFNzkwMDExMEYzNiAvKiBE
b3dubG9hZENvY29hLm1tICovOyB9OwpAQCAtMzI1Nyw3ICszMjU2LDYgQEAKIAkJNTFGRDE4QjQx
NjUxRkJBRDAwREJFMUNFIC8qIE5ldHdvcmtSZXNvdXJjZUxvYWRlci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IG5hbWUgPSBOZXR3b3JrUmVzb3VyY2VMb2FkZXIuaDsgcGF0aCA9IE5ldHdv
cmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk1MjcyQjI4ODE0MDY5ODVEMDA5NkE1RDAgLyogU3RhdGlzdGljc0RhdGEuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3RhdGlzdGljc0RhdGEuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MjcyQjI4OTE0MDY5ODVEMDA5NkE1RDAgLyog
U3RhdGlzdGljc0RhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3RhdGlz
dGljc0RhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNUMwOTMyMDYxQzIzNjAx
MTAwN0FBQTdDIC8qIERvd25sb2FkSUQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1l
ID0gRG93bmxvYWRJRC5oOyBwYXRoID0gRG93bmxvYWRzL0Rvd25sb2FkSUQuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUMyMENCOUIxQkIwRENEMjAwODk1QkIxIC8qIE5ldHdvcmtT
ZXNzaW9uQ29jb2EubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBO
ZXR3b3JrU2Vzc2lvbkNvY29hLm1tOyBwYXRoID0gTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29y
a1Nlc3Npb25Db2NvYS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUMyMENCOUUx
QkIwREQxODAwODk1QkIxIC8qIE5ldHdvcmtTZXNzaW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgbmFtZSA9IE5ldHdvcmtTZXNzaW9uLmg7IHBhdGggPSBOZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrU2Vzc2lvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1QzlCODYxMTFDMjIz
RTc5MDAxMTBGMzYgLyogRG93bmxvYWRDb2NvYS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgbmFtZSA9IERvd25sb2FkQ29jb2EubW07IHBhdGggPSBEb3dubG9hZHMvY29jb2Ev
RG93bmxvYWRDb2NvYS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTU3NDcsNyAr
NTc0NSw2IEBACiAJCTUxOEU4RUYyMTZCMjA4RjgwMEU5MTQyOSAvKiBEb3dubG9hZHMgKi8gPSB7
CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAotCQkJCTVDMDkzMjA2MUMyMzYw
MTEwMDdBQUE3QyAvKiBEb3dubG9hZElELmggKi8sCiAJCQkJNUM5Qjg2MEUxQzIyM0U1NDAwMTEw
RjM2IC8qIGNvY29hICovLAogCQkJCTJEQTk0NEE1MTg4NEU5M0MwMEVEODZEQiAvKiBpb3MgKi8s
CiAJCQkJNTE4RThGMDQxNkIyMDkzNzAwRTkxNDI5IC8qIG1hYyAqLywKQEAgLTgzMTUsNyArODMx
Miw2IEBACiAJCQkJQkNCOUY2QTUxMTIzREQwRDAwQTEzN0UwIC8qIFdLRnJhbWVQb2xpY3lMaXN0
ZW5lci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFBRUEyMkYxNDY4N0JEQjAwODA0NTY5IC8qIFdL
RnVsbEtleWJvYXJkQWNjZXNzV2F0Y2hlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0RDQTg1Qzkx
MzJBQkE0RTAwRTk2MURGIC8qIFdLRnVsbFNjcmVlbldpbmRvd0NvbnRyb2xsZXIuaCBpbiBIZWFk
ZXJzICovLAotCQkJCTVDMTQyNkRFMUMyMzlGNDgwMEQ0MTE4MyAvKiBEb3dubG9hZElELmggaW4g
SGVhZGVycyAqLywKIAkJCQlCQzU0Q0MxMjEyRDY3NEVFMDA1QzY3QjAgLyogV0tHZW9sb2NhdGlv
bk1hbmFnZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMDZGNDRFMTJEQkRGM0YwMDJENzhERSAv
KiBXS0dlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCUJD
MEU2MTk4MTJENkNEMTIwMDEyQTcyQSAvKiBXS0dlb2xvY2F0aW9uUG9zaXRpb24uaCBpbiBIZWFk
ZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAppbmRleCAyNTNiZTg2OGY0
NTBhMTYxNjhmMzJlY2IzZmU0OWRmYjA3NmQ4Y2ZmLi5hMTJiOTA1ZDg2YjUwOGVmY2NkNDViNzRm
YzAxY2IwZmQxMTBkY2JhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcApAQCAt
Njk0LDcgKzY5NCw3IEBAIHZvaWQgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoRGVjaWRl
UG9saWN5Rm9yUmVzcG9uc2UoY29uc3QgUmVzb3VyY2VSZXNwb25zCiAgICAgdWludDY0X3QgbGlz
dGVuZXJJRCA9IG1fZnJhbWUtPnNldFVwUG9saWN5TGlzdGVuZXIoV1RGOjptb3ZlKGZ1bmN0aW9u
KSk7CiAgICAgYm9vbCByZWNlaXZlZFBvbGljeUFjdGlvbjsKICAgICB1aW50NjRfdCBwb2xpY3lB
Y3Rpb247Ci0gICAgRG93bmxvYWRJRCBkb3dubG9hZElEOworICAgIHVpbnQ2NF90IGRvd25sb2Fk
SUQ7CiAKICAgICB1bnNpZ25lZCBzeW5jU2VuZEZsYWdzID0gSVBDOjpJbmZvcm1QbGF0Zm9ybVBy
b2Nlc3NXaWxsU3VzcGVuZDsKICAgICBpZiAoV2ViUGFnZTo6c3luY2hyb25vdXNNZXNzYWdlc1No
b3VsZFNwaW5SdW5Mb29wKCkpCkBAIC03MDIsNyArNzAyLDcgQEAgdm9pZCBXZWJGcmFtZUxvYWRl
ckNsaWVudDo6ZGlzcGF0Y2hEZWNpZGVQb2xpY3lGb3JSZXNwb25zZShjb25zdCBSZXNvdXJjZVJl
c3BvbnMKIAogICAgIFdlYkNvcmU6OkZyYW1lKiBjb3JlRnJhbWUgPSBtX2ZyYW1lID8gbV9mcmFt
ZS0+Y29yZUZyYW1lKCkgOiBudWxscHRyOwogICAgIGlmICghd2ViUGFnZS0+c2VuZFN5bmMoTWVz
c2FnZXM6OldlYlBhZ2VQcm94eTo6RGVjaWRlUG9saWN5Rm9yUmVzcG9uc2VTeW5jKG1fZnJhbWUt
PmZyYW1lSUQoKSwgU2VjdXJpdHlPcmlnaW5EYXRhOjpmcm9tRnJhbWUoY29yZUZyYW1lKSwgcmVz
cG9uc2UsIHJlcXVlc3QsIGNhblNob3dNSU1FVHlwZSwgbGlzdGVuZXJJRCwgVXNlckRhdGEoV2Vi
UHJvY2Vzczo6c2luZ2xldG9uKCkudHJhbnNmb3JtT2JqZWN0c1RvSGFuZGxlcyh1c2VyRGF0YS5n
ZXQoKSkuZ2V0KCkpKSwgTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGVjaWRlUG9saWN5Rm9yUmVz
cG9uc2VTeW5jOjpSZXBseShyZWNlaXZlZFBvbGljeUFjdGlvbiwgcG9saWN5QWN0aW9uLCBkb3du
bG9hZElEKSwgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kczo6bWF4KCksIHN5bmNTZW5kRmxhZ3Mp
KSB7Ci0gICAgICAgIG1fZnJhbWUtPmRpZFJlY2VpdmVQb2xpY3lEZWNpc2lvbihsaXN0ZW5lcklE
LCBQb2xpY3lJZ25vcmUsIDAsIHsgfSk7CisgICAgICAgIG1fZnJhbWUtPmRpZFJlY2VpdmVQb2xp
Y3lEZWNpc2lvbihsaXN0ZW5lcklELCBQb2xpY3lJZ25vcmUsIDAsIDApOwogICAgICAgICByZXR1
cm47CiAgICAgfQogCkBAIC03NzUsNyArNzc1LDcgQEAgdm9pZCBXZWJGcmFtZUxvYWRlckNsaWVu
dDo6ZGlzcGF0Y2hEZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKGNvbnN0IE5hdmlnYXQK
ICAgICBib29sIHJlY2VpdmVkUG9saWN5QWN0aW9uOwogICAgIHVpbnQ2NF90IG5ld05hdmlnYXRp
b25JRDsKICAgICB1aW50NjRfdCBwb2xpY3lBY3Rpb247Ci0gICAgRG93bmxvYWRJRCBkb3dubG9h
ZElEOworICAgIHVpbnQ2NF90IGRvd25sb2FkSUQ7CiAKICAgICBSZWZQdHI8V2ViRnJhbWU+IG9y
aWdpbmF0aW5nRnJhbWU7CiAgICAgc3dpdGNoIChhY3Rpb24tPm5hdmlnYXRpb25UeXBlKCkpIHsK
QEAgLTgxNCw3ICs4MTQsNyBAQCB2b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaERl
Y2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24oY29uc3QgTmF2aWdhdAogICAgIC8vIE5vdGlm
eSB0aGUgVUlQcm9jZXNzLgogICAgIFdlYkNvcmU6OkZyYW1lKiBvcmlnaW5hdGluZ0NvcmVGcmFt
ZSA9IG9yaWdpbmF0aW5nRnJhbWUgPyBvcmlnaW5hdGluZ0ZyYW1lLT5jb3JlRnJhbWUoKSA6IG51
bGxwdHI7CiAgICAgaWYgKCF3ZWJQYWdlLT5zZW5kU3luYyhNZXNzYWdlczo6V2ViUGFnZVByb3h5
OjpEZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKG1fZnJhbWUtPmZyYW1lSUQoKSwgU2Vj
dXJpdHlPcmlnaW5EYXRhOjpmcm9tRnJhbWUoY29yZUZyYW1lKSwgZG9jdW1lbnRMb2FkZXItPm5h
dmlnYXRpb25JRCgpLCBuYXZpZ2F0aW9uQWN0aW9uRGF0YSwgb3JpZ2luYXRpbmdGcmFtZSA/IG9y
aWdpbmF0aW5nRnJhbWUtPmZyYW1lSUQoKSA6IDAsIFNlY3VyaXR5T3JpZ2luRGF0YTo6ZnJvbUZy
YW1lKG9yaWdpbmF0aW5nQ29yZUZyYW1lKSwgbmF2aWdhdGlvbkFjdGlvbi5yZXNvdXJjZVJlcXVl
c3QoKSwgcmVxdWVzdCwgbGlzdGVuZXJJRCwgVXNlckRhdGEoV2ViUHJvY2Vzczo6c2luZ2xldG9u
KCkudHJhbnNmb3JtT2JqZWN0c1RvSGFuZGxlcyh1c2VyRGF0YS5nZXQoKSkuZ2V0KCkpKSwgTWVz
c2FnZXM6OldlYlBhZ2VQcm94eTo6RGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbjo6UmVw
bHkocmVjZWl2ZWRQb2xpY3lBY3Rpb24sIG5ld05hdmlnYXRpb25JRCwgcG9saWN5QWN0aW9uLCBk
b3dubG9hZElEKSkpIHsKLSAgICAgICAgbV9mcmFtZS0+ZGlkUmVjZWl2ZVBvbGljeURlY2lzaW9u
KGxpc3RlbmVySUQsIFBvbGljeUlnbm9yZSwgMCwgeyB9KTsKKyAgICAgICAgbV9mcmFtZS0+ZGlk
UmVjZWl2ZVBvbGljeURlY2lzaW9uKGxpc3RlbmVySUQsIFBvbGljeUlnbm9yZSwgMCwgMCk7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJGcmFtZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViRnJhbWUuY3BwCmluZGV4IGVjMDViYWFmYzMxMzIyZTEyMTkxYmFhZmNkMDdmZjA4
Y2UwMjhiYWQuLmMzN2E3ZjllOGViYmMxOWIxZTg2ODFjODUwNTNhYTEwZDRkMDQ0MGEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJGcmFtZS5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkZyYW1lLmNwcApAQCAtMjE1
LDEyICsyMTUsMTIgQEAgdm9pZCBXZWJGcmFtZTo6aW52YWxpZGF0ZVBvbGljeUxpc3RlbmVyKCkK
ICAgICBpZiAoIW1fcG9saWN5TGlzdGVuZXJJRCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9w
b2xpY3lEb3dubG9hZElEID0geyB9OworICAgIG1fcG9saWN5RG93bmxvYWRJRCA9IDA7CiAgICAg
bV9wb2xpY3lMaXN0ZW5lcklEID0gMDsKICAgICBtX3BvbGljeUZ1bmN0aW9uID0gMDsKIH0KIAot
dm9pZCBXZWJGcmFtZTo6ZGlkUmVjZWl2ZVBvbGljeURlY2lzaW9uKHVpbnQ2NF90IGxpc3RlbmVy
SUQsIFBvbGljeUFjdGlvbiBhY3Rpb24sIHVpbnQ2NF90IG5hdmlnYXRpb25JRCwgRG93bmxvYWRJ
RCBkb3dubG9hZElEKQordm9pZCBXZWJGcmFtZTo6ZGlkUmVjZWl2ZVBvbGljeURlY2lzaW9uKHVp
bnQ2NF90IGxpc3RlbmVySUQsIFBvbGljeUFjdGlvbiBhY3Rpb24sIHVpbnQ2NF90IG5hdmlnYXRp
b25JRCwgdWludDY0X3QgZG93bmxvYWRJRCkKIHsKICAgICBpZiAoIW1fY29yZUZyYW1lKQogICAg
ICAgICByZXR1cm47CkBAIC0yNDgsMTAgKzI0OCwxMCBAQCB2b2lkIFdlYkZyYW1lOjpkaWRSZWNl
aXZlUG9saWN5RGVjaXNpb24odWludDY0X3QgbGlzdGVuZXJJRCwgUG9saWN5QWN0aW9uIGFjdGlv
bgogCiB2b2lkIFdlYkZyYW1lOjpzdGFydERvd25sb2FkKGNvbnN0IFdlYkNvcmU6OlJlc291cmNl
UmVxdWVzdCYgcmVxdWVzdCkKIHsKLSAgICBBU1NFUlQobV9wb2xpY3lEb3dubG9hZElELmRvd25s
b2FkSUQoKSk7CisgICAgQVNTRVJUKG1fcG9saWN5RG93bmxvYWRJRCk7CiAKLSAgICBhdXRvIHBv
bGljeURvd25sb2FkSUQgPSBtX3BvbGljeURvd25sb2FkSUQ7Ci0gICAgbV9wb2xpY3lEb3dubG9h
ZElEID0geyB9OworICAgIHVpbnQ2NF90IHBvbGljeURvd25sb2FkSUQgPSBtX3BvbGljeURvd25s
b2FkSUQ7CisgICAgbV9wb2xpY3lEb3dubG9hZElEID0gMDsKIAogICAgIGF1dG8mIHdlYlByb2Nl
c3MgPSBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKTsKICAgICBTZXNzaW9uSUQgc2Vzc2lvbklEID0g
cGFnZSgpID8gcGFnZSgpLT5zZXNzaW9uSUQoKSA6IFNlc3Npb25JRDo6ZGVmYXVsdFNlc3Npb25J
RCgpOwpAQCAtMjYwLDEwICsyNjAsMTAgQEAgdm9pZCBXZWJGcmFtZTo6c3RhcnREb3dubG9hZChj
b25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QpCiAKIHZvaWQgV2ViRnJhbWU6
OmNvbnZlcnRNYWluUmVzb3VyY2VMb2FkVG9Eb3dubG9hZChEb2N1bWVudExvYWRlciogZG9jdW1l
bnRMb2FkZXIsIFNlc3Npb25JRCBzZXNzaW9uSUQsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVx
dWVzdCwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCiB7Ci0gICAgQVNTRVJUKG1f
cG9saWN5RG93bmxvYWRJRC5kb3dubG9hZElEKCkpOworICAgIEFTU0VSVChtX3BvbGljeURvd25s
b2FkSUQpOwogCi0gICAgYXV0byBwb2xpY3lEb3dubG9hZElEID0gbV9wb2xpY3lEb3dubG9hZElE
OwotICAgIG1fcG9saWN5RG93bmxvYWRJRCA9IHsgfTsKKyAgICB1aW50NjRfdCBwb2xpY3lEb3du
bG9hZElEID0gbV9wb2xpY3lEb3dubG9hZElEOworICAgIG1fcG9saWN5RG93bmxvYWRJRCA9IDA7
CiAKICAgICBTdWJyZXNvdXJjZUxvYWRlciogbWFpblJlc291cmNlTG9hZGVyID0gZG9jdW1lbnRM
b2FkZXItPm1haW5SZXNvdXJjZUxvYWRlcigpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViRnJhbWUuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJGcmFtZS5oCmluZGV4IDRlM2EwYjdhNDI1ZWFmZWViNWFkOWQ0Y2Y4YzBi
MTViNzljNmJjZjYuLjlmYjE5ODRkNmU3N2M5ODMwYmIyY2U3ODIzOWRkMDEzMzU5ZTE5NmQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJGcmFtZS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJGcmFtZS5oCkBAIC0yNyw3
ICsyNyw2IEBACiAjZGVmaW5lIFdlYkZyYW1lX2gKIAogI2luY2x1ZGUgIkFQSU9iamVjdC5oIgot
I2luY2x1ZGUgIkRvd25sb2FkSUQuaCIKICNpbmNsdWRlICJTaGFyZWFibGVCaXRtYXAuaCIKICNp
bmNsdWRlICJXS0Jhc2UuaCIKICNpbmNsdWRlICJXZWJGcmFtZUxvYWRlckNsaWVudC5oIgpAQCAt
ODEsNyArODAsNyBAQCBwdWJsaWM6CiAKICAgICB1aW50NjRfdCBzZXRVcFBvbGljeUxpc3RlbmVy
KFdlYkNvcmU6OkZyYW1lUG9saWN5RnVuY3Rpb24pOwogICAgIHZvaWQgaW52YWxpZGF0ZVBvbGlj
eUxpc3RlbmVyKCk7Ci0gICAgdm9pZCBkaWRSZWNlaXZlUG9saWN5RGVjaXNpb24odWludDY0X3Qg
bGlzdGVuZXJJRCwgV2ViQ29yZTo6UG9saWN5QWN0aW9uLCB1aW50NjRfdCBuYXZpZ2F0aW9uSUQs
IERvd25sb2FkSUQpOworICAgIHZvaWQgZGlkUmVjZWl2ZVBvbGljeURlY2lzaW9uKHVpbnQ2NF90
IGxpc3RlbmVySUQsIFdlYkNvcmU6OlBvbGljeUFjdGlvbiwgdWludDY0X3QgbmF2aWdhdGlvbklE
LCB1aW50NjRfdCBkb3dubG9hZElEKTsKIAogICAgIHZvaWQgc3RhcnREb3dubG9hZChjb25zdCBX
ZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmKTsKICAgICB2b2lkIGNvbnZlcnRNYWluUmVzb3VyY2VM
b2FkVG9Eb3dubG9hZChXZWJDb3JlOjpEb2N1bWVudExvYWRlciosIFdlYkNvcmU6OlNlc3Npb25J
RCwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgV2ViQ29yZTo6UmVzb3Vy
Y2VSZXNwb25zZSYpOwpAQCAtMTcxLDcgKzE3MCw3IEBAIHByaXZhdGU6CiAKICAgICB1aW50NjRf
dCBtX3BvbGljeUxpc3RlbmVySUQ7CiAgICAgV2ViQ29yZTo6RnJhbWVQb2xpY3lGdW5jdGlvbiBt
X3BvbGljeUZ1bmN0aW9uOwotICAgIERvd25sb2FkSUQgbV9wb2xpY3lEb3dubG9hZElEOworICAg
IHVpbnQ2NF90IG1fcG9saWN5RG93bmxvYWRJRDsKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJG
cmFtZUxvYWRlckNsaWVudD4gbV9mcmFtZUxvYWRlckNsaWVudDsKICAgICBMb2FkTGlzdGVuZXIq
IG1fbG9hZExpc3RlbmVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwCmluZGV4IDhmZTY3ZDEwODg1NmI1NTM2YjBlZjNlZmE0NzU5YTNjNjIyNmQ0Mzku
LmMyNjhmMDdiOTM3ZTA0NmNkM2RiNTkxNDkzYjRkNGMxNzBlNWZiNWUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTI0MDgsNyArMjQwOCw3
IEBAIHZvaWQgV2ViUGFnZTo6c2V0U2Vzc2lvbklEKFNlc3Npb25JRCBzZXNzaW9uSUQpCiAgICAg
bV9wYWdlLT5zZXRTZXNzaW9uSUQoc2Vzc2lvbklEKTsKIH0KIAotdm9pZCBXZWJQYWdlOjpkaWRS
ZWNlaXZlUG9saWN5RGVjaXNpb24odWludDY0X3QgZnJhbWVJRCwgdWludDY0X3QgbGlzdGVuZXJJ
RCwgdWludDMyX3QgcG9saWN5QWN0aW9uLCB1aW50NjRfdCBuYXZpZ2F0aW9uSUQsIERvd25sb2Fk
SUQgZG93bmxvYWRJRCkKK3ZvaWQgV2ViUGFnZTo6ZGlkUmVjZWl2ZVBvbGljeURlY2lzaW9uKHVp
bnQ2NF90IGZyYW1lSUQsIHVpbnQ2NF90IGxpc3RlbmVySUQsIHVpbnQzMl90IHBvbGljeUFjdGlv
biwgdWludDY0X3QgbmF2aWdhdGlvbklELCB1aW50NjRfdCBkb3dubG9hZElEKQogewogICAgIFdl
YkZyYW1lKiBmcmFtZSA9IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLndlYkZyYW1lKGZyYW1lSUQp
OwogICAgIGlmICghZnJhbWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuaAppbmRleCBlNDVjODM1ODlkMTlhOGQ1MzQ3ODdkYjU4MjRlNjE2YTUzZmY2NWYxLi5l
MDU4YzY5Mjc4MmEwYTZjZWRmZGI0NDE5YjllMTkzMmYyNmNlOTlhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTE1Miw3ICsxNTIsNiBAQCBjbGFz
cyBNZWRpYVBsYXllclJlcXVlc3RJbnN0YWxsTWlzc2luZ1BsdWdpbnNDYWxsYmFjazsKIH0KIAog
bmFtZXNwYWNlIFdlYktpdCB7Ci1jbGFzcyBEb3dubG9hZElEOwogY2xhc3MgRHJhd2luZ0FyZWE7
CiBjbGFzcyBJbmplY3RlZEJ1bmRsZUJhY2tGb3J3YXJkTGlzdDsKIGNsYXNzIE5vdGlmaWNhdGlv
blBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjsKQEAgLTEwNDQsNyArMTA0Myw3IEBAIHByaXZhdGU6
CiAgICAgdm9pZCBwbGF0Zm9ybVByZWZlcmVuY2VzRGlkQ2hhbmdlKGNvbnN0IFdlYlByZWZlcmVu
Y2VzU3RvcmUmKTsKICAgICB2b2lkIHVwZGF0ZVByZWZlcmVuY2VzKGNvbnN0IFdlYlByZWZlcmVu
Y2VzU3RvcmUmKTsKIAotICAgIHZvaWQgZGlkUmVjZWl2ZVBvbGljeURlY2lzaW9uKHVpbnQ2NF90
IGZyYW1lSUQsIHVpbnQ2NF90IGxpc3RlbmVySUQsIHVpbnQzMl90IHBvbGljeUFjdGlvbiwgdWlu
dDY0X3QgbmF2aWdhdGlvbklELCBEb3dubG9hZElEKTsKKyAgICB2b2lkIGRpZFJlY2VpdmVQb2xp
Y3lEZWNpc2lvbih1aW50NjRfdCBmcmFtZUlELCB1aW50NjRfdCBsaXN0ZW5lcklELCB1aW50MzJf
dCBwb2xpY3lBY3Rpb24sIHVpbnQ2NF90IG5hdmlnYXRpb25JRCwgdWludDY0X3QgZG93bmxvYWRJ
RCk7CiAgICAgdm9pZCBzZXRVc2VyQWdlbnQoY29uc3QgU3RyaW5nJik7CiAgICAgdm9pZCBzZXRD
dXN0b21UZXh0RW5jb2RpbmdOYW1lKGNvbnN0IFN0cmluZyYpOwogICAgIHZvaWQgc3VzcGVuZEFj
dGl2ZURPTU9iamVjdHNBbmRBbmltYXRpb25zKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCmluZGV4IDQ4ODlkZTY4NDZl
Njc2Y2U1MjZiYzBiOGIzYWYxYmJlNjA3MjMyNTkuLjM4MTgwZTU3MzA5NTk0NDRlYzBkMWEyOGM4
NzE0MGFlNjI0MDNlZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCkBAIC0xNDEsNyArMTQxLDcgQEAgbWVzc2FnZXMg
LT4gV2ViUGFnZSBMZWdhY3lSZWNlaXZlciB7CiAKICAgICBEaWRSZW1vdmVCYWNrRm9yd2FyZEl0
ZW0odWludDY0X3QgYmFja0ZvcndhcmRJdGVtSUQpCiAKLSAgICBEaWRSZWNlaXZlUG9saWN5RGVj
aXNpb24odWludDY0X3QgZnJhbWVJRCwgdWludDY0X3QgbGlzdGVuZXJJRCwgdWludDMyX3QgcG9s
aWN5QWN0aW9uLCB1aW50NjRfdCBuYXZpZ2F0aW9uSUQsIFdlYktpdDo6RG93bmxvYWRJRCBkb3du
bG9hZElEKQorICAgIERpZFJlY2VpdmVQb2xpY3lEZWNpc2lvbih1aW50NjRfdCBmcmFtZUlELCB1
aW50NjRfdCBsaXN0ZW5lcklELCB1aW50MzJfdCBwb2xpY3lBY3Rpb24sIHVpbnQ2NF90IG5hdmln
YXRpb25JRCwgdWludDY0X3QgZG93bmxvYWRJRCkKIAogICAgIENsZWFyU2VsZWN0aW9uKCkKICAg
ICBSZXN0b3JlU2VsZWN0aW9uSW5Gb2N1c2VkRWRpdGFibGVFbGVtZW50KCkK
</data>

          </attachment>
      

    </bug>

</bugzilla>