<?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>128834</bug_id>
          
          <creation_ts>2014-02-14 12:23:47 -0800</creation_ts>
          <short_desc>CTTE: WorkerGlobalScope is always owned by a WorkerThread.</short_desc>
          <delta_ts>2014-02-14 23:36:03 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andreas Kling">kling</reporter>
          <assigned_to name="Andreas Kling">kling</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>kling</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>980905</commentid>
    <comment_count>0</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-02-14 12:23:47 -0800</bug_when>
    <thetext>CTTE: WorkerGlobalScope is always owned by a WorkerThread.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980906</commentid>
    <comment_count>1</comment_count>
      <attachid>224242</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-02-14 12:24:10 -0800</bug_when>
    <thetext>Created attachment 224242
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980907</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-14 12:25:36 -0800</bug_when>
    <thetext>Attachment 224242 did not pass style-queue:


ERROR: Source/WebCore/workers/WorkerMessagingProxy.cpp:288:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebCore/workers/WorkerMessagingProxy.cpp:295:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 2 in 22 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>981113</commentid>
    <comment_count>3</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-02-14 23:36:03 -0800</bug_when>
    <thetext>Committed r164158: &lt;http://trac.webkit.org/changeset/164158&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>224242</attachid>
            <date>2014-02-14 12:24:10 -0800</date>
            <delta_ts>2014-02-14 14:19:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-128834.diff</filename>
            <type>text/plain</type>
            <size>34116</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAyYWU4N2RkLi42ZWNiOTMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNzcg
QEAKIDIwMTQtMDItMTQgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgogCisgICAg
ICAgIENUVEU6IFdvcmtlckdsb2JhbFNjb3BlIGlzIGFsd2F5cyBvd25lZCBieSBhIFdvcmtlclRo
cmVhZC4KKyAgICAgICAgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzEyODgzND4KKworICAgICAgICBD
b2RpZnkgdGhpcyBieSBzdG9yaW5nIHRoZSBvd25lciB0aHJlYWQgYXMgYSBXb3JrZXJUaHJlYWQm
IGFuZCBtYWtpbmcKKyAgICAgICAgdGhyZWFkKCkgcmV0dXJuIGEgcmVmZXJlbmNlLgorCisgICAg
ICAgIFRoaXMgZXhwb3NlZCBhIGNvdXBsZSBvZiB1bm5lY2Vzc2FyeSBhc3NlcnRpb25zLgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogTW9kdWxlcy9u
b3RpZmljYXRpb25zL1dvcmtlckdsb2JhbFNjb3BlTm90aWZpY2F0aW9ucy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZU5vdGlmaWNhdGlvbnM6OndlYmtpdE5vdGlmaWNh
dGlvbnMpOgorICAgICAgICAqIE1vZHVsZXMvd2Vic29ja2V0cy9UaHJlYWRhYmxlV2ViU29ja2V0
Q2hhbm5lbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5l
bDo6Y3JlYXRlKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJs
ZVdlYlNvY2tldENoYW5uZWwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyVGhyZWFkYWJs
ZVdlYlNvY2tldENoYW5uZWw6OkJyaWRnZTo6QnJpZGdlKToKKyAgICAgICAgKFdlYkNvcmU6Oldv
cmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsOjpCcmlkZ2U6OndhaXRGb3JNZXRob2RDb21w
bGV0aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U2NoZWR1bGVkQWN0aW9uOjpleGVjdXRlKToKKyAgICAgICAgKiBiaW5k
aW5ncy9qcy9Xb3JrZXJTY3JpcHREZWJ1Z1NlcnZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpX
b3JrZXJTY3JpcHREZWJ1Z1NlcnZlcjo6cnVuRXZlbnRMb29wV2hpbGVQYXVzZWQpOgorICAgICAg
ICAqIGRvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmNyZWF0ZWRNZXNzYWdlUG9ydCk6CisgICAgICAgIChXZWJD
b3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpkZXN0cm95ZWRNZXNzYWdlUG9ydCk6CisgICAg
ICAgICogaW5zcGVjdG9yL1dvcmtlckRlYnVnZ2VyQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6V29ya2VyRGVidWdnZXJBZ2VudDo6V29ya2VyRGVidWdnZXJBZ2VudCk6CisgICAgICAgIChX
ZWJDb3JlOjpXb3JrZXJEZWJ1Z2dlckFnZW50Ojp+V29ya2VyRGVidWdnZXJBZ2VudCk6CisgICAg
ICAgICogaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuY3BwOgorICAgICAgICAq
IGluc3BlY3Rvci9Xb3JrZXJSdW50aW1lQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29y
a2VyUnVudGltZUFnZW50OjpwYXVzZVdvcmtlckdsb2JhbFNjb3BlKToKKyAgICAgICAgKiBsb2Fk
ZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJU
aHJlYWRhYmxlTG9hZGVyOjpXb3JrZXJUaHJlYWRhYmxlTG9hZGVyKToKKyAgICAgICAgKFdlYkNv
cmU6OldvcmtlclRocmVhZGFibGVMb2FkZXI6OmxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkpOgor
ICAgICAgICAqIGxvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpNZW1vcnlDYWNoZTo6cmVtb3ZlUmVxdWVzdEZyb21DYWNoZSk6CisgICAgICAgICogd29ya2Vy
cy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEZWRp
Y2F0ZWRXb3JrZXJHbG9iYWxTY29wZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkRlZGlj
YXRlZFdvcmtlckdsb2JhbFNjb3BlOjpEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZSk6CisgICAg
ICAgIChXZWJDb3JlOjpEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZTo6cG9zdE1lc3NhZ2UpOgor
ICAgICAgICAoV2ViQ29yZTo6RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OmltcG9ydFNjcmlw
dHMpOgorICAgICAgICAoV2ViQ29yZTo6RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OnRocmVh
ZCk6CisgICAgICAgICogd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5oOgorICAg
ICAgICAqIHdvcmtlcnMvRGVkaWNhdGVkV29ya2VyVGhyZWFkLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkRlZGljYXRlZFdvcmtlclRocmVhZDo6Y3JlYXRlV29ya2VyR2xvYmFsU2NvcGUpOgorICAg
ICAgICAqIHdvcmtlcnMvU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U2hhcmVkV29ya2VyR2xvYmFsU2NvcGU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpTaGFyZWRXb3JrZXJHbG9iYWxTY29wZTo6U2hhcmVkV29ya2VyR2xvYmFsU2NvcGUpOgorICAg
ICAgICAoV2ViQ29yZTo6U2hhcmVkV29ya2VyR2xvYmFsU2NvcGU6OnRocmVhZCk6CisgICAgICAg
ICogd29ya2Vycy9TaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5oOgorICAgICAgICAqIHdvcmtlcnMv
U2hhcmVkV29ya2VyVGhyZWFkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNoYXJlZFdvcmtlclRo
cmVhZDo6Y3JlYXRlV29ya2VyR2xvYmFsU2NvcGUpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2Vy
R2xvYmFsU2NvcGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2xvc2VXb3JrZXJHbG9iYWxTY29w
ZVRhc2s6OnBlcmZvcm1UYXNrKToKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlckdsb2JhbFNjb3Bl
OjpXb3JrZXJHbG9iYWxTY29wZSk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29w
ZTo6fldvcmtlckdsb2JhbFNjb3BlKToKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlckdsb2JhbFNj
b3BlOjpwb3N0VGFzayk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZTo6bG9n
RXhjZXB0aW9uVG9Db25zb2xlKToKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlckdsb2JhbFNjb3Bl
OjphZGRDb25zb2xlTWVzc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29w
ZTo6YWRkTWVzc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZTo6aXND
b250ZXh0VGhyZWFkKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZTo6dGhyZWFkKToKKyAgICAgICAgKiB3
b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lc3Nh
Z2VXb3JrZXJHbG9iYWxTY29wZVRhc2s6OnBlcmZvcm1UYXNrKToKKyAgICAgICAgKFdlYkNvcmU6
Oldvcmtlck1lc3NhZ2luZ1Byb3h5OjpXb3JrZXJNZXNzYWdpbmdQcm94eSk6CisgICAgICAgIChX
ZWJDb3JlOjpXb3JrZXJNZXNzYWdpbmdQcm94eTo6fldvcmtlck1lc3NhZ2luZ1Byb3h5KToKKyAg
ICAgICAgKiB3b3JrZXJzL1dvcmtlclJ1bkxvb3AuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29y
a2VyUnVuTG9vcDo6cnVuSW5Nb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclJ1bkxvb3A6
OnJ1bkNsZWFudXBUYXNrcyk6CisKKzIwMTQtMDItMTQgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdA
YXBwbGUuY29tPgorCiAgICAgICAgIFB1cmdlIHJlbWFpbmluZyBFTkFCTEUoU0hBRE9XX0RPTSkg
Y3J1ZnQuCiAgICAgICAgIDxodHRwczovL3dlYmtpdC5vcmcvYi8xMjg4Mjc+CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Xb3JrZXJHbG9iYWxTY29w
ZU5vdGlmaWNhdGlvbnMuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25z
L1dvcmtlckdsb2JhbFNjb3BlTm90aWZpY2F0aW9ucy5jcHAKaW5kZXggYWNmNDhmMC4uZjg2NDc5
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL1dvcmtl
ckdsb2JhbFNjb3BlTm90aWZpY2F0aW9ucy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9ub3RpZmljYXRpb25zL1dvcmtlckdsb2JhbFNjb3BlTm90aWZpY2F0aW9ucy5jcHAKQEAgLTY4
LDcgKzY4LDcgQEAgTm90aWZpY2F0aW9uQ2VudGVyKiBXb3JrZXJHbG9iYWxTY29wZU5vdGlmaWNh
dGlvbnM6OndlYmtpdE5vdGlmaWNhdGlvbnMoV29ya2VyR2wKIE5vdGlmaWNhdGlvbkNlbnRlciog
V29ya2VyR2xvYmFsU2NvcGVOb3RpZmljYXRpb25zOjp3ZWJraXROb3RpZmljYXRpb25zKCkKIHsK
ICAgICBpZiAoIW1fbm90aWZpY2F0aW9uQ2VudGVyKQotICAgICAgICBtX25vdGlmaWNhdGlvbkNl
bnRlciA9IE5vdGlmaWNhdGlvbkNlbnRlcjo6Y3JlYXRlKG1fY29udGV4dCwgbV9jb250ZXh0LT50
aHJlYWQoKS0+Z2V0Tm90aWZpY2F0aW9uQ2xpZW50KCkpOworICAgICAgICBtX25vdGlmaWNhdGlv
bkNlbnRlciA9IE5vdGlmaWNhdGlvbkNlbnRlcjo6Y3JlYXRlKG1fY29udGV4dCwgbV9jb250ZXh0
LT50aHJlYWQoKS5nZXROb3RpZmljYXRpb25DbGllbnQoKSk7CiAgICAgcmV0dXJuIG1fbm90aWZp
Y2F0aW9uQ2VudGVyLmdldCgpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYnNvY2tldHMvVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuY3BwIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1RocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmNwcApp
bmRleCA5MTljNjA1Li45ODI4Yjk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYnNvY2tldHMvVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9UaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5jcHAK
QEAgLTU3LDcgKzU3LDcgQEAgUGFzc1JlZlB0cjxUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbD4g
VGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWw6OmNyZWF0ZShTY3JpcHQKIAogICAgIGlmIChjb250
ZXh0LT5pc1dvcmtlckdsb2JhbFNjb3BlKCkpIHsKICAgICAgICAgV29ya2VyR2xvYmFsU2NvcGUq
IHdvcmtlckdsb2JhbFNjb3BlID0gc3RhdGljX2Nhc3Q8V29ya2VyR2xvYmFsU2NvcGUqPihjb250
ZXh0KTsKLSAgICAgICAgV29ya2VyUnVuTG9vcCYgcnVuTG9vcCA9IHdvcmtlckdsb2JhbFNjb3Bl
LT50aHJlYWQoKS0+cnVuTG9vcCgpOworICAgICAgICBXb3JrZXJSdW5Mb29wJiBydW5Mb29wID0g
d29ya2VyR2xvYmFsU2NvcGUtPnRocmVhZCgpLnJ1bkxvb3AoKTsKICAgICAgICAgU3RyaW5nIG1v
ZGUgPSB3ZWJTb2NrZXRDaGFubmVsTW9kZTsKICAgICAgICAgbW9kZS5hcHBlbmQoU3RyaW5nOjpu
dW1iZXIocnVuTG9vcC5jcmVhdGVVbmlxdWVJZCgpKSk7CiAgICAgICAgIHJldHVybiBXb3JrZXJU
aHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbDo6Y3JlYXRlKHdvcmtlckdsb2JhbFNjb3BlLCBjbGll
bnQsIG1vZGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRz
L1dvcmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2Vic29ja2V0cy9Xb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5jcHAKaW5k
ZXggNjViOGQyYi4uNzIxYmE1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJzb2NrZXRzL1dvcmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENo
YW5uZWwuY3BwCkBAIC0zNDcsNyArMzQ3LDcgQEAgdm9pZCBXb3JrZXJUaHJlYWRhYmxlV2ViU29j
a2V0Q2hhbm5lbDo6UGVlcjo6ZGlkUmVjZWl2ZU1lc3NhZ2VFcnJvcigpCiBXb3JrZXJUaHJlYWRh
YmxlV2ViU29ja2V0Q2hhbm5lbDo6QnJpZGdlOjpCcmlkZ2UoUGFzc1JlZlB0cjxUaHJlYWRhYmxl
V2ViU29ja2V0Q2hhbm5lbENsaWVudFdyYXBwZXI+IHdvcmtlckNsaWVudFdyYXBwZXIsIFBhc3NS
ZWZQdHI8V29ya2VyR2xvYmFsU2NvcGU+IHdvcmtlckdsb2JhbFNjb3BlLCBjb25zdCBTdHJpbmcm
IHRhc2tNb2RlKQogICAgIDogbV93b3JrZXJDbGllbnRXcmFwcGVyKHdvcmtlckNsaWVudFdyYXBw
ZXIpCiAgICAgLCBtX3dvcmtlckdsb2JhbFNjb3BlKHdvcmtlckdsb2JhbFNjb3BlKQotICAgICwg
bV9sb2FkZXJQcm94eShtX3dvcmtlckdsb2JhbFNjb3BlLT50aHJlYWQoKS0+d29ya2VyTG9hZGVy
UHJveHkoKSkKKyAgICAsIG1fbG9hZGVyUHJveHkobV93b3JrZXJHbG9iYWxTY29wZS0+dGhyZWFk
KCkud29ya2VyTG9hZGVyUHJveHkoKSkKICAgICAsIG1fdGFza01vZGUodGFza01vZGUpCiAgICAg
LCBtX3BlZXIoMCkKIHsKQEAgLTY0NSw3ICs2NDUsNyBAQCB2b2lkIFdvcmtlclRocmVhZGFibGVX
ZWJTb2NrZXRDaGFubmVsOjpCcmlkZ2U6OndhaXRGb3JNZXRob2RDb21wbGV0aW9uKCkKIHsKICAg
ICBpZiAoIW1fd29ya2VyR2xvYmFsU2NvcGUpCiAgICAgICAgIHJldHVybjsKLSAgICBXb3JrZXJS
dW5Mb29wJiBydW5Mb29wID0gbV93b3JrZXJHbG9iYWxTY29wZS0+dGhyZWFkKCktPnJ1bkxvb3Ao
KTsKKyAgICBXb3JrZXJSdW5Mb29wJiBydW5Mb29wID0gbV93b3JrZXJHbG9iYWxTY29wZS0+dGhy
ZWFkKCkucnVuTG9vcCgpOwogICAgIE1lc3NhZ2VRdWV1ZVdhaXRSZXN1bHQgcmVzdWx0ID0gTWVz
c2FnZVF1ZXVlTWVzc2FnZVJlY2VpdmVkOwogICAgIFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVs
Q2xpZW50V3JhcHBlciogY2xpZW50V3JhcHBlciA9IG1fd29ya2VyQ2xpZW50V3JhcHBlci5nZXQo
KTsKICAgICB3aGlsZSAobV93b3JrZXJHbG9iYWxTY29wZSAmJiBjbGllbnRXcmFwcGVyICYmICFj
bGllbnRXcmFwcGVyLT5zeW5jTWV0aG9kRG9uZSgpICYmIHJlc3VsdCAhPSBNZXNzYWdlUXVldWVU
ZXJtaW5hdGVkKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY2hl
ZHVsZWRBY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NoZWR1bGVkQWN0
aW9uLmNwcAppbmRleCA5NzM4NmU1Li43YWVjMTAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL1NjaGVkdWxlZEFjdGlvbi5jcHAKQEAgLTEzMSw3ICsxMzEsNyBAQCB2b2lkIFNj
aGVkdWxlZEFjdGlvbjo6ZXhlY3V0ZShEb2N1bWVudCogZG9jdW1lbnQpCiB2b2lkIFNjaGVkdWxl
ZEFjdGlvbjo6ZXhlY3V0ZShXb3JrZXJHbG9iYWxTY29wZSogd29ya2VyR2xvYmFsU2NvcGUpCiB7
CiAgICAgLy8gSW4gYSBXb3JrZXIsIHRoZSBleGVjdXRpb24gc2hvdWxkIGFsd2F5cyBoYXBwZW4g
b24gYSB3b3JrZXIgdGhyZWFkLgotICAgIEFTU0VSVCh3b3JrZXJHbG9iYWxTY29wZS0+dGhyZWFk
KCktPnRocmVhZElEKCkgPT0gY3VycmVudFRocmVhZCgpKTsKKyAgICBBU1NFUlQod29ya2VyR2xv
YmFsU2NvcGUtPnRocmVhZCgpLnRocmVhZElEKCkgPT0gY3VycmVudFRocmVhZCgpKTsKIAogICAg
IFdvcmtlclNjcmlwdENvbnRyb2xsZXIqIHNjcmlwdENvbnRyb2xsZXIgPSB3b3JrZXJHbG9iYWxT
Y29wZS0+c2NyaXB0KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1dvcmtlclNjcmlwdERlYnVnU2VydmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1dvcmtlclNjcmlwdERlYnVnU2VydmVyLmNwcAppbmRleCA4ZGZiZjY3Li43NzU4ZGNiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3JrZXJTY3JpcHREZWJ1Z1NlcnZl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0RGVidWdT
ZXJ2ZXIuY3BwCkBAIC05Niw3ICs5Niw3IEBAIHZvaWQgV29ya2VyU2NyaXB0RGVidWdTZXJ2ZXI6
OnJ1bkV2ZW50TG9vcFdoaWxlUGF1c2VkKCkKIAogICAgIE1lc3NhZ2VRdWV1ZVdhaXRSZXN1bHQg
cmVzdWx0OwogICAgIGRvIHsKLSAgICAgICAgcmVzdWx0ID0gbV93b3JrZXJHbG9iYWxTY29wZS0+
dGhyZWFkKCktPnJ1bkxvb3AoKS5ydW5Jbk1vZGUobV93b3JrZXJHbG9iYWxTY29wZSwgbV9kZWJ1
Z2dlclRhc2tNb2RlKTsKKyAgICAgICAgcmVzdWx0ID0gbV93b3JrZXJHbG9iYWxTY29wZS0+dGhy
ZWFkKCkucnVuTG9vcCgpLnJ1bkluTW9kZShtX3dvcmtlckdsb2JhbFNjb3BlLCBtX2RlYnVnZ2Vy
VGFza01vZGUpOwogICAgIC8vIEtlZXAgd2FpdGluZyB1bnRpbCBleGVjdXRpb24gaXMgcmVzdW1l
ZC4KICAgICB9IHdoaWxlIChyZXN1bHQgIT0gTWVzc2FnZVF1ZXVlVGVybWluYXRlZCAmJiAhbV9k
b25lUHJvY2Vzc2luZ0RlYnVnZ2VyRXZlbnRzKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9T
Y3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcAppbmRleCAzNjY1MjM1Li42NzI1YjQyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwCkBAIC0xNTAsNyAr
MTUwLDcgQEAgdm9pZCBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpjcmVhdGVkTWVzc2FnZVBvcnQo
TWVzc2FnZVBvcnQqIHBvcnQpCiB7CiAgICAgQVNTRVJUKHBvcnQpOwogICAgIEFTU0VSVCgoaXNE
b2N1bWVudCgpICYmIGlzTWFpblRocmVhZCgpKQotICAgICAgICB8fCAoaXNXb3JrZXJHbG9iYWxT
Y29wZSgpICYmIGN1cnJlbnRUaHJlYWQoKSA9PSBzdGF0aWNfY2FzdDxXb3JrZXJHbG9iYWxTY29w
ZSo+KHRoaXMpLT50aHJlYWQoKS0+dGhyZWFkSUQoKSkpOworICAgICAgICB8fCAoaXNXb3JrZXJH
bG9iYWxTY29wZSgpICYmIGN1cnJlbnRUaHJlYWQoKSA9PSBzdGF0aWNfY2FzdDxXb3JrZXJHbG9i
YWxTY29wZSo+KHRoaXMpLT50aHJlYWQoKS50aHJlYWRJRCgpKSk7CiAKICAgICBtX21lc3NhZ2VQ
b3J0cy5hZGQocG9ydCk7CiB9CkBAIC0xNTksNyArMTU5LDcgQEAgdm9pZCBTY3JpcHRFeGVjdXRp
b25Db250ZXh0OjpkZXN0cm95ZWRNZXNzYWdlUG9ydChNZXNzYWdlUG9ydCogcG9ydCkKIHsKICAg
ICBBU1NFUlQocG9ydCk7CiAgICAgQVNTRVJUKChpc0RvY3VtZW50KCkgJiYgaXNNYWluVGhyZWFk
KCkpCi0gICAgICAgIHx8IChpc1dvcmtlckdsb2JhbFNjb3BlKCkgJiYgY3VycmVudFRocmVhZCgp
ID09IHN0YXRpY19jYXN0PFdvcmtlckdsb2JhbFNjb3BlKj4odGhpcyktPnRocmVhZCgpLT50aHJl
YWRJRCgpKSk7CisgICAgICAgIHx8IChpc1dvcmtlckdsb2JhbFNjb3BlKCkgJiYgY3VycmVudFRo
cmVhZCgpID09IHN0YXRpY19jYXN0PFdvcmtlckdsb2JhbFNjb3BlKj4odGhpcyktPnRocmVhZCgp
LnRocmVhZElEKCkpKTsKIAogICAgIG1fbWVzc2FnZVBvcnRzLnJlbW92ZShwb3J0KTsKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJEZWJ1Z2dlckFnZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJEZWJ1Z2dlckFnZW50LmNwcAppbmRl
eCBhNzFlZmU2Li42MTFjNTE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
V29ya2VyRGVidWdnZXJBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dv
cmtlckRlYnVnZ2VyQWdlbnQuY3BwCkBAIC05OCwxNSArOTgsMTUgQEAgV29ya2VyRGVidWdnZXJB
Z2VudDo6V29ya2VyRGVidWdnZXJBZ2VudChJbmplY3RlZFNjcmlwdE1hbmFnZXIqIGluamVjdGVk
U2NyaXB0TWEKICAgICAsIG1faW5zcGVjdGVkV29ya2VyR2xvYmFsU2NvcGUoaW5zcGVjdGVkV29y
a2VyR2xvYmFsU2NvcGUpCiB7CiAgICAgc3RkOjpsb2NrX2d1YXJkPHN0ZDo6bXV0ZXg+IGxvY2so
d29ya2VyRGVidWdnZXJBZ2VudHNNdXRleCgpKTsKLSAgICB3b3JrZXJEZWJ1Z2dlckFnZW50cygp
LnNldChpbnNwZWN0ZWRXb3JrZXJHbG9iYWxTY29wZS0+dGhyZWFkKCksIHRoaXMpOworICAgIHdv
cmtlckRlYnVnZ2VyQWdlbnRzKCkuc2V0KCZpbnNwZWN0ZWRXb3JrZXJHbG9iYWxTY29wZS0+dGhy
ZWFkKCksIHRoaXMpOwogfQogCiBXb3JrZXJEZWJ1Z2dlckFnZW50Ojp+V29ya2VyRGVidWdnZXJB
Z2VudCgpCiB7CiAgICAgc3RkOjpsb2NrX2d1YXJkPHN0ZDo6bXV0ZXg+IGxvY2sod29ya2VyRGVi
dWdnZXJBZ2VudHNNdXRleCgpKTsKIAotICAgIEFTU0VSVCh3b3JrZXJEZWJ1Z2dlckFnZW50cygp
LmNvbnRhaW5zKG1faW5zcGVjdGVkV29ya2VyR2xvYmFsU2NvcGUtPnRocmVhZCgpKSk7Ci0gICAg
d29ya2VyRGVidWdnZXJBZ2VudHMoKS5yZW1vdmUobV9pbnNwZWN0ZWRXb3JrZXJHbG9iYWxTY29w
ZS0+dGhyZWFkKCkpOworICAgIEFTU0VSVCh3b3JrZXJEZWJ1Z2dlckFnZW50cygpLmNvbnRhaW5z
KCZtX2luc3BlY3RlZFdvcmtlckdsb2JhbFNjb3BlLT50aHJlYWQoKSkpOworICAgIHdvcmtlckRl
YnVnZ2VyQWdlbnRzKCkucmVtb3ZlKCZtX2luc3BlY3RlZFdvcmtlckdsb2JhbFNjb3BlLT50aHJl
YWQoKSk7CiB9CiAKIHZvaWQgV29ya2VyRGVidWdnZXJBZ2VudDo6aW50ZXJydXB0QW5kRGlzcGF0
Y2hJbnNwZWN0b3JDb21tYW5kcyhXb3JrZXJUaHJlYWQqIHRocmVhZCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcAppbmRl
eCBmM2Q5YWM4Li45NmQ1OGEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
V29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuY3BwCkBAIC03MCw3ICs3MCw3IEBAIHB1Ymxp
YzoKIHByaXZhdGU6CiAgICAgdmlydHVhbCBib29sIHNlbmRNZXNzYWdlVG9Gcm9udGVuZChjb25z
dCBTdHJpbmcmIG1lc3NhZ2UpIG92ZXJyaWRlCiAgICAgewotICAgICAgICBtX3dvcmtlckdsb2Jh
bFNjb3BlLnRocmVhZCgpLT53b3JrZXJSZXBvcnRpbmdQcm94eSgpLnBvc3RNZXNzYWdlVG9QYWdl
SW5zcGVjdG9yKG1lc3NhZ2UpOworICAgICAgICBtX3dvcmtlckdsb2JhbFNjb3BlLnRocmVhZCgp
LndvcmtlclJlcG9ydGluZ1Byb3h5KCkucG9zdE1lc3NhZ2VUb1BhZ2VJbnNwZWN0b3IobWVzc2Fn
ZSk7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KICAgICBXb3JrZXJHbG9iYWxTY29wZSYg
bV93b3JrZXJHbG9iYWxTY29wZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9Xb3JrZXJSdW50aW1lQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtl
clJ1bnRpbWVBZ2VudC5jcHAKaW5kZXggNmUyNjRjZC4uMTUyYjRkYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlclJ1bnRpbWVBZ2VudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlclJ1bnRpbWVBZ2VudC5jcHAKQEAgLTEwMCw3ICsxMDAs
NyBAQCB2b2lkIFdvcmtlclJ1bnRpbWVBZ2VudDo6cGF1c2VXb3JrZXJHbG9iYWxTY29wZShXb3Jr
ZXJHbG9iYWxTY29wZSogY29udGV4dCkKICAgICBtX3BhdXNlZCA9IHRydWU7CiAgICAgTWVzc2Fn
ZVF1ZXVlV2FpdFJlc3VsdCByZXN1bHQ7CiAgICAgZG8gewotICAgICAgICByZXN1bHQgPSBjb250
ZXh0LT50aHJlYWQoKS0+cnVuTG9vcCgpLnJ1bkluTW9kZShjb250ZXh0LCBXb3JrZXJEZWJ1Z2dl
ckFnZW50OjpkZWJ1Z2dlclRhc2tNb2RlKTsKKyAgICAgICAgcmVzdWx0ID0gY29udGV4dC0+dGhy
ZWFkKCkucnVuTG9vcCgpLnJ1bkluTW9kZShjb250ZXh0LCBXb3JrZXJEZWJ1Z2dlckFnZW50Ojpk
ZWJ1Z2dlclRhc2tNb2RlKTsKICAgICAvLyBLZWVwIHdhaXRpbmcgdW50aWwgZXhlY3V0aW9uIGlz
IHJlc3VtZWQuCiAgICAgfSB3aGlsZSAocmVzdWx0ID09IE1lc3NhZ2VRdWV1ZU1lc3NhZ2VSZWNl
aXZlZCAmJiBtX3BhdXNlZCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
V29ya2VyVGhyZWFkYWJsZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvV29ya2Vy
VGhyZWFkYWJsZUxvYWRlci5jcHAKaW5kZXggMGViYmE2MS4uMDM0NGJjYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmNwcApAQCAtNTMsNyAr
NTMsNyBAQCBzdGF0aWMgY29uc3QgY2hhciBsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5TW9kZVtd
ID0gImxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHlNbwogV29ya2VyVGhyZWFkYWJsZUxvYWRlcjo6
V29ya2VyVGhyZWFkYWJsZUxvYWRlcihXb3JrZXJHbG9iYWxTY29wZSogd29ya2VyR2xvYmFsU2Nv
cGUsIFRocmVhZGFibGVMb2FkZXJDbGllbnQqIGNsaWVudCwgY29uc3QgU3RyaW5nJiB0YXNrTW9k
ZSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBUaHJlYWRhYmxlTG9hZGVy
T3B0aW9ucyYgb3B0aW9ucykKICAgICA6IG1fd29ya2VyR2xvYmFsU2NvcGUod29ya2VyR2xvYmFs
U2NvcGUpCiAgICAgLCBtX3dvcmtlckNsaWVudFdyYXBwZXIoVGhyZWFkYWJsZUxvYWRlckNsaWVu
dFdyYXBwZXI6OmNyZWF0ZShjbGllbnQpKQotICAgICwgbV9icmlkZ2UoKihuZXcgTWFpblRocmVh
ZEJyaWRnZShtX3dvcmtlckNsaWVudFdyYXBwZXIsIG1fd29ya2VyR2xvYmFsU2NvcGUtPnRocmVh
ZCgpLT53b3JrZXJMb2FkZXJQcm94eSgpLCB0YXNrTW9kZSwgcmVxdWVzdCwgb3B0aW9ucywgd29y
a2VyR2xvYmFsU2NvcGUtPnVybCgpLnN0cmlwcGVkRm9yVXNlQXNSZWZlcnJlcigpKSkpCisgICAg
LCBtX2JyaWRnZSgqKG5ldyBNYWluVGhyZWFkQnJpZGdlKG1fd29ya2VyQ2xpZW50V3JhcHBlciwg
bV93b3JrZXJHbG9iYWxTY29wZS0+dGhyZWFkKCkud29ya2VyTG9hZGVyUHJveHkoKSwgdGFza01v
ZGUsIHJlcXVlc3QsIG9wdGlvbnMsIHdvcmtlckdsb2JhbFNjb3BlLT51cmwoKS5zdHJpcHBlZEZv
clVzZUFzUmVmZXJyZXIoKSkpKQogewogfQogCkBAIC02NCw3ICs2NCw3IEBAIFdvcmtlclRocmVh
ZGFibGVMb2FkZXI6On5Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyKCkKIAogdm9pZCBXb3JrZXJUaHJl
YWRhYmxlTG9hZGVyOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KFdvcmtlckdsb2JhbFNjb3Bl
KiB3b3JrZXJHbG9iYWxTY29wZSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBUaHJl
YWRhYmxlTG9hZGVyQ2xpZW50JiBjbGllbnQsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25z
JiBvcHRpb25zKQogewotICAgIFdvcmtlclJ1bkxvb3AmIHJ1bkxvb3AgPSB3b3JrZXJHbG9iYWxT
Y29wZS0+dGhyZWFkKCktPnJ1bkxvb3AoKTsKKyAgICBXb3JrZXJSdW5Mb29wJiBydW5Mb29wID0g
d29ya2VyR2xvYmFsU2NvcGUtPnRocmVhZCgpLnJ1bkxvb3AoKTsKIAogICAgIC8vIENyZWF0ZSBh
IHVuaXF1ZSBtb2RlIGp1c3QgZm9yIHRoaXMgc3luY2hyb25vdXMgcmVzb3VyY2UgbG9hZC4KICAg
ICBTdHJpbmcgbW9kZSA9IGxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHlNb2RlOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAKaW5kZXggMDFhZDViNS4uMWI0NWEy
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwCkBAIC04
MTcsNyArODE3LDcgQEAgdm9pZCBNZW1vcnlDYWNoZTo6cmVtb3ZlUmVxdWVzdEZyb21DYWNoZShT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBjb25zdAogewogICAgIGlmIChjb250ZXh0
LT5pc1dvcmtlckdsb2JhbFNjb3BlKCkpIHsKICAgICAgICAgV29ya2VyR2xvYmFsU2NvcGUqIHdv
cmtlckdsb2JhbFNjb3BlID0gc3RhdGljX2Nhc3Q8V29ya2VyR2xvYmFsU2NvcGUqPihjb250ZXh0
KTsKLSAgICAgICAgd29ya2VyR2xvYmFsU2NvcGUtPnRocmVhZCgpLT53b3JrZXJMb2FkZXJQcm94
eSgpLnBvc3RUYXNrVG9Mb2FkZXIoY3JlYXRlQ2FsbGJhY2tUYXNrKCZjcm9zc1RocmVhZFJlbW92
ZVJlcXVlc3RGcm9tQ2FjaGUsIHJlcXVlc3QpKTsKKyAgICAgICAgd29ya2VyR2xvYmFsU2NvcGUt
PnRocmVhZCgpLndvcmtlckxvYWRlclByb3h5KCkucG9zdFRhc2tUb0xvYWRlcihjcmVhdGVDYWxs
YmFja1Rhc2soJmNyb3NzVGhyZWFkUmVtb3ZlUmVxdWVzdEZyb21DYWNoZSwgcmVxdWVzdCkpOwog
ICAgICAgICByZXR1cm47CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuY3BwCmluZGV4IGEyYjJiY2QuLmFiYTVjMDAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFs
U2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xv
YmFsU2NvcGUuY3BwCkBAIC0zOSwxNCArMzksMTQgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1QYXNzUmVmUHRyPERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlPiBEZWRpY2F0ZWRXb3JrZXJH
bG9iYWxTY29wZTo6Y3JlYXRlKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2Vu
dCwgc3RkOjp1bmlxdWVfcHRyPEdyb3VwU2V0dGluZ3M+IHNldHRpbmdzLCBEZWRpY2F0ZWRXb3Jr
ZXJUaHJlYWQqIHRocmVhZCwgY29uc3QgU3RyaW5nJiBjb250ZW50U2VjdXJpdHlQb2xpY3ksIENv
bnRlbnRTZWN1cml0eVBvbGljeTo6SGVhZGVyVHlwZSBjb250ZW50U2VjdXJpdHlQb2xpY3lUeXBl
LCBQYXNzUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiB0b3BPcmlnaW4pCitQYXNzUmVmUHRyPERlZGlj
YXRlZFdvcmtlckdsb2JhbFNjb3BlPiBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZTo6Y3JlYXRl
KGNvbnN0IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgc3RkOjp1bmlxdWVfcHRy
PEdyb3VwU2V0dGluZ3M+IHNldHRpbmdzLCBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQmIHRocmVhZCwg
Y29uc3QgU3RyaW5nJiBjb250ZW50U2VjdXJpdHlQb2xpY3ksIENvbnRlbnRTZWN1cml0eVBvbGlj
eTo6SGVhZGVyVHlwZSBjb250ZW50U2VjdXJpdHlQb2xpY3lUeXBlLCBQYXNzUmVmUHRyPFNlY3Vy
aXR5T3JpZ2luPiB0b3BPcmlnaW4pCiB7CiAgICAgUmVmUHRyPERlZGljYXRlZFdvcmtlckdsb2Jh
bFNjb3BlPiBjb250ZXh0ID0gYWRvcHRSZWYobmV3IERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3Bl
KHVybCwgdXNlckFnZW50LCBzdGQ6Om1vdmUoc2V0dGluZ3MpLCB0aHJlYWQsIHRvcE9yaWdpbikp
OwogICAgIGNvbnRleHQtPmFwcGx5Q29udGVudFNlY3VyaXR5UG9saWN5RnJvbVN0cmluZyhjb250
ZW50U2VjdXJpdHlQb2xpY3ksIGNvbnRlbnRTZWN1cml0eVBvbGljeVR5cGUpOwogICAgIHJldHVy
biBjb250ZXh0LnJlbGVhc2UoKTsKIH0KIAotRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OkRl
ZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHVz
ZXJBZ2VudCwgc3RkOjp1bmlxdWVfcHRyPEdyb3VwU2V0dGluZ3M+IHNldHRpbmdzLCBEZWRpY2F0
ZWRXb3JrZXJUaHJlYWQqIHRocmVhZCwgUGFzc1JlZlB0cjxTZWN1cml0eU9yaWdpbj4gdG9wT3Jp
Z2luKQorRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OkRlZGljYXRlZFdvcmtlckdsb2JhbFNj
b3BlKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgc3RkOjp1bmlxdWVf
cHRyPEdyb3VwU2V0dGluZ3M+IHNldHRpbmdzLCBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQmIHRocmVh
ZCwgUGFzc1JlZlB0cjxTZWN1cml0eU9yaWdpbj4gdG9wT3JpZ2luKQogICAgIDogV29ya2VyR2xv
YmFsU2NvcGUodXJsLCB1c2VyQWdlbnQsIHN0ZDo6bW92ZShzZXR0aW5ncyksIHRocmVhZCwgdG9w
T3JpZ2luKQogewogfQpAQCAtNzQsMTggKzc0LDE4IEBAIHZvaWQgRGVkaWNhdGVkV29ya2VyR2xv
YmFsU2NvcGU6OnBvc3RNZXNzYWdlKFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBt
CiAgICAgc3RkOjp1bmlxdWVfcHRyPE1lc3NhZ2VQb3J0Q2hhbm5lbEFycmF5PiBjaGFubmVscyA9
IE1lc3NhZ2VQb3J0OjpkaXNlbnRhbmdsZVBvcnRzKHBvcnRzLCBlYyk7CiAgICAgaWYgKGVjKQog
ICAgICAgICByZXR1cm47Ci0gICAgdGhyZWFkKCktPndvcmtlck9iamVjdFByb3h5KCkucG9zdE1l
c3NhZ2VUb1dvcmtlck9iamVjdChtZXNzYWdlLCBzdGQ6Om1vdmUoY2hhbm5lbHMpKTsKKyAgICB0
aHJlYWQoKS53b3JrZXJPYmplY3RQcm94eSgpLnBvc3RNZXNzYWdlVG9Xb3JrZXJPYmplY3QobWVz
c2FnZSwgc3RkOjptb3ZlKGNoYW5uZWxzKSk7CiB9CiAKIHZvaWQgRGVkaWNhdGVkV29ya2VyR2xv
YmFsU2NvcGU6OmltcG9ydFNjcmlwdHMoY29uc3QgVmVjdG9yPFN0cmluZz4mIHVybHMsIEV4Y2Vw
dGlvbkNvZGUmIGVjKQogewogICAgIEJhc2U6OmltcG9ydFNjcmlwdHModXJscywgZWMpOwotICAg
IHRocmVhZCgpLT53b3JrZXJPYmplY3RQcm94eSgpLnJlcG9ydFBlbmRpbmdBY3Rpdml0eShoYXNQ
ZW5kaW5nQWN0aXZpdHkoKSk7CisgICAgdGhyZWFkKCkud29ya2VyT2JqZWN0UHJveHkoKS5yZXBv
cnRQZW5kaW5nQWN0aXZpdHkoaGFzUGVuZGluZ0FjdGl2aXR5KCkpOwogfQogCi1EZWRpY2F0ZWRX
b3JrZXJUaHJlYWQqIERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlOjp0aHJlYWQoKQorRGVkaWNh
dGVkV29ya2VyVGhyZWFkJiBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZTo6dGhyZWFkKCkKIHsK
LSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8RGVkaWNhdGVkV29ya2VyVGhyZWFkKj4oQmFzZTo6dGhy
ZWFkKCkpOworICAgIHJldHVybiBzdGF0aWNfY2FzdDxEZWRpY2F0ZWRXb3JrZXJUaHJlYWQmPihC
YXNlOjp0aHJlYWQoKSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuaCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuaAppbmRleCA1
Mjc2MmMxLi5iZmU3YjRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGlj
YXRlZFdvcmtlckdsb2JhbFNjb3BlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRp
Y2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5oCkBAIC00Miw3ICs0Miw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICBjbGFzcyBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZSA6IHB1YmxpYyBXb3Jr
ZXJHbG9iYWxTY29wZSB7CiAgICAgcHVibGljOgogICAgICAgICB0eXBlZGVmIFdvcmtlckdsb2Jh
bFNjb3BlIEJhc2U7Ci0gICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPERlZGljYXRlZFdvcmtlckds
b2JhbFNjb3BlPiBjcmVhdGUoY29uc3QgVVJMJiwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIHN0
ZDo6dW5pcXVlX3B0cjxHcm91cFNldHRpbmdzPiwgRGVkaWNhdGVkV29ya2VyVGhyZWFkKiwgY29u
c3QgU3RyaW5nJiBjb250ZW50U2VjdXJpdHlQb2xpY3ksIENvbnRlbnRTZWN1cml0eVBvbGljeTo6
SGVhZGVyVHlwZSBjb250ZW50U2VjdXJpdHlQb2xpY3lUeXBlLCBQYXNzUmVmUHRyPFNlY3VyaXR5
T3JpZ2luPiB0b3BPcmlnaW4pOworICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxEZWRpY2F0ZWRX
b3JrZXJHbG9iYWxTY29wZT4gY3JlYXRlKGNvbnN0IFVSTCYsIGNvbnN0IFN0cmluZyYgdXNlckFn
ZW50LCBzdGQ6OnVuaXF1ZV9wdHI8R3JvdXBTZXR0aW5ncz4sIERlZGljYXRlZFdvcmtlclRocmVh
ZCYsIGNvbnN0IFN0cmluZyYgY29udGVudFNlY3VyaXR5UG9saWN5LCBDb250ZW50U2VjdXJpdHlQ
b2xpY3k6OkhlYWRlclR5cGUgY29udGVudFNlY3VyaXR5UG9saWN5VHlwZSwgUGFzc1JlZlB0cjxT
ZWN1cml0eU9yaWdpbj4gdG9wT3JpZ2luKTsKICAgICAgICAgdmlydHVhbCB+RGVkaWNhdGVkV29y
a2VyR2xvYmFsU2NvcGUoKTsKIAogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNEZWRpY2F0ZWRXb3Jr
ZXJHbG9iYWxTY29wZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KQEAgLTU5LDEw
ICs1OSwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgREVGSU5FX0FUVFJJQlVU
RV9FVkVOVF9MSVNURU5FUihtZXNzYWdlKTsKIAotICAgICAgICBEZWRpY2F0ZWRXb3JrZXJUaHJl
YWQqIHRocmVhZCgpOworICAgICAgICBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQmIHRocmVhZCgpOwog
CiAgICAgcHJpdmF0ZToKLSAgICAgICAgRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUoY29uc3Qg
VVJMJiwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIHN0ZDo6dW5pcXVlX3B0cjxHcm91cFNldHRp
bmdzPiwgRGVkaWNhdGVkV29ya2VyVGhyZWFkKiwgUGFzc1JlZlB0cjxTZWN1cml0eU9yaWdpbj4g
dG9wT3JpZ2luKTsKKyAgICAgICAgRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJM
JiwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIHN0ZDo6dW5pcXVlX3B0cjxHcm91cFNldHRpbmdz
PiwgRGVkaWNhdGVkV29ya2VyVGhyZWFkJiwgUGFzc1JlZlB0cjxTZWN1cml0eU9yaWdpbj4gdG9w
T3JpZ2luKTsKICAgICB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlclRocmVhZC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlclRocmVhZC5jcHAKaW5kZXggMTAyMGNlOS4u
ZWRmYWIxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3Jr
ZXJUaHJlYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2Vy
VGhyZWFkLmNwcApAQCAtNTUsNyArNTUsNyBAQCBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ6On5EZWRp
Y2F0ZWRXb3JrZXJUaHJlYWQoKQogCiBQYXNzUmVmUHRyPFdvcmtlckdsb2JhbFNjb3BlPiBEZWRp
Y2F0ZWRXb3JrZXJUaHJlYWQ6OmNyZWF0ZVdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgdXJs
LCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgc3RkOjp1bmlxdWVfcHRyPEdyb3VwU2V0dGluZ3M+
IHNldHRpbmdzLCBjb25zdCBTdHJpbmcmIGNvbnRlbnRTZWN1cml0eVBvbGljeSwgQ29udGVudFNl
Y3VyaXR5UG9saWN5OjpIZWFkZXJUeXBlIGNvbnRlbnRTZWN1cml0eVBvbGljeVR5cGUsIFBhc3NS
ZWZQdHI8U2VjdXJpdHlPcmlnaW4+IHRvcE9yaWdpbikKIHsKLSAgICByZXR1cm4gRGVkaWNhdGVk
V29ya2VyR2xvYmFsU2NvcGU6OmNyZWF0ZSh1cmwsIHVzZXJBZ2VudCwgc3RkOjptb3ZlKHNldHRp
bmdzKSwgdGhpcywgY29udGVudFNlY3VyaXR5UG9saWN5LCBjb250ZW50U2VjdXJpdHlQb2xpY3lU
eXBlLCB0b3BPcmlnaW4pOworICAgIHJldHVybiBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZTo6
Y3JlYXRlKHVybCwgdXNlckFnZW50LCBzdGQ6Om1vdmUoc2V0dGluZ3MpLCAqdGhpcywgY29udGVu
dFNlY3VyaXR5UG9saWN5LCBjb250ZW50U2VjdXJpdHlQb2xpY3lUeXBlLCB0b3BPcmlnaW4pOwog
fQogCiB2b2lkIERlZGljYXRlZFdvcmtlclRocmVhZDo6cnVuRXZlbnRMb29wKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuY3BwIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAKaW5kZXgg
NzU0N2Q3YS4uZTNiZTIyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFy
ZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFy
ZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAKQEAgLTUzLDE0ICs1MywxNCBAQCBQYXNzUmVmUHRyPE1l
c3NhZ2VFdmVudD4gY3JlYXRlQ29ubmVjdEV2ZW50KFBhc3NSZWZQdHI8TWVzc2FnZVBvcnQ+IHBy
cFBvcnQpCiB9CiAKIC8vIHN0YXRpYwotUGFzc1JlZlB0cjxTaGFyZWRXb3JrZXJHbG9iYWxTY29w
ZT4gU2hhcmVkV29ya2VyR2xvYmFsU2NvcGU6OmNyZWF0ZShjb25zdCBTdHJpbmcmIG5hbWUsIGNv
bnN0IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgc3RkOjp1bmlxdWVfcHRyPEdy
b3VwU2V0dGluZ3M+IHNldHRpbmdzLCBTaGFyZWRXb3JrZXJUaHJlYWQqIHRocmVhZCwgY29uc3Qg
U3RyaW5nJiBjb250ZW50U2VjdXJpdHlQb2xpY3ksIENvbnRlbnRTZWN1cml0eVBvbGljeTo6SGVh
ZGVyVHlwZSBjb250ZW50U2VjdXJpdHlQb2xpY3lUeXBlKQorUGFzc1JlZlB0cjxTaGFyZWRXb3Jr
ZXJHbG9iYWxTY29wZT4gU2hhcmVkV29ya2VyR2xvYmFsU2NvcGU6OmNyZWF0ZShjb25zdCBTdHJp
bmcmIG5hbWUsIGNvbnN0IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgc3RkOjp1
bmlxdWVfcHRyPEdyb3VwU2V0dGluZ3M+IHNldHRpbmdzLCBTaGFyZWRXb3JrZXJUaHJlYWQmIHRo
cmVhZCwgY29uc3QgU3RyaW5nJiBjb250ZW50U2VjdXJpdHlQb2xpY3ksIENvbnRlbnRTZWN1cml0
eVBvbGljeTo6SGVhZGVyVHlwZSBjb250ZW50U2VjdXJpdHlQb2xpY3lUeXBlKQogewogICAgIFJl
ZlB0cjxTaGFyZWRXb3JrZXJHbG9iYWxTY29wZT4gY29udGV4dCA9IGFkb3B0UmVmKG5ldyBTaGFy
ZWRXb3JrZXJHbG9iYWxTY29wZShuYW1lLCB1cmwsIHVzZXJBZ2VudCwgc3RkOjptb3ZlKHNldHRp
bmdzKSwgdGhyZWFkKSk7CiAgICAgY29udGV4dC0+YXBwbHlDb250ZW50U2VjdXJpdHlQb2xpY3lG
cm9tU3RyaW5nKGNvbnRlbnRTZWN1cml0eVBvbGljeSwgY29udGVudFNlY3VyaXR5UG9saWN5VHlw
ZSk7CiAgICAgcmV0dXJuIGNvbnRleHQucmVsZWFzZSgpOwogfQogCi1TaGFyZWRXb3JrZXJHbG9i
YWxTY29wZTo6U2hhcmVkV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25z
dCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIHN0ZDo6dW5pcXVlX3B0cjxHcm91
cFNldHRpbmdzPiBzZXR0aW5ncywgU2hhcmVkV29ya2VyVGhyZWFkKiB0aHJlYWQpCitTaGFyZWRX
b3JrZXJHbG9iYWxTY29wZTo6U2hhcmVkV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgU3RyaW5nJiBu
YW1lLCBjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIHN0ZDo6dW5pcXVl
X3B0cjxHcm91cFNldHRpbmdzPiBzZXR0aW5ncywgU2hhcmVkV29ya2VyVGhyZWFkJiB0aHJlYWQp
CiAgICAgOiBXb3JrZXJHbG9iYWxTY29wZSh1cmwsIHVzZXJBZ2VudCwgc3RkOjptb3ZlKHNldHRp
bmdzKSwgdGhyZWFkLCAwKQogICAgICwgbV9uYW1lKG5hbWUpCiB7CkBAIC03NSw5ICs3NSw5IEBA
IEV2ZW50VGFyZ2V0SW50ZXJmYWNlIFNoYXJlZFdvcmtlckdsb2JhbFNjb3BlOjpldmVudFRhcmdl
dEludGVyZmFjZSgpIGNvbnN0CiAgICAgcmV0dXJuIFNoYXJlZFdvcmtlckdsb2JhbFNjb3BlRXZl
bnRUYXJnZXRJbnRlcmZhY2VUeXBlOwogfQogCi1TaGFyZWRXb3JrZXJUaHJlYWQqIFNoYXJlZFdv
cmtlckdsb2JhbFNjb3BlOjp0aHJlYWQoKQorU2hhcmVkV29ya2VyVGhyZWFkJiBTaGFyZWRXb3Jr
ZXJHbG9iYWxTY29wZTo6dGhyZWFkKCkKIHsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8U2hhcmVk
V29ya2VyVGhyZWFkKj4oQmFzZTo6dGhyZWFkKCkpOworICAgIHJldHVybiBzdGF0aWNfY2FzdDxT
aGFyZWRXb3JrZXJUaHJlYWQmPihCYXNlOjp0aHJlYWQoKSk7CiB9CiAKIHZvaWQgU2hhcmVkV29y
a2VyR2xvYmFsU2NvcGU6OmxvZ0V4Y2VwdGlvblRvQ29uc29sZShjb25zdCBTdHJpbmcmIGVycm9y
TWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIGludCBsaW5lTnVtYmVyLCBpbnQgY29s
dW1uTnVtYmVyLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPiBjYWxsU3Rh
Y2spCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlckdsb2Jh
bFNjb3BlLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlckdsb2JhbFNjb3Bl
LmgKaW5kZXggYzE0NzE3Yi4uYjU0NGM0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9TaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuaApAQCAtNDQsNyArNDQsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgY2xhc3MgU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUgOiBwdWJsaWMgV29y
a2VyR2xvYmFsU2NvcGUgewogICAgIHB1YmxpYzoKICAgICAgICAgdHlwZWRlZiBXb3JrZXJHbG9i
YWxTY29wZSBCYXNlOwotICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTaGFyZWRXb3JrZXJHbG9i
YWxTY29wZT4gY3JlYXRlKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgVVJMJiwgY29uc3QgU3Ry
aW5nJiB1c2VyQWdlbnQsIHN0ZDo6dW5pcXVlX3B0cjxHcm91cFNldHRpbmdzPiwgU2hhcmVkV29y
a2VyVGhyZWFkKiwgY29uc3QgU3RyaW5nJiBjb250ZW50U2VjdXJpdHlQb2xpY3ksIENvbnRlbnRT
ZWN1cml0eVBvbGljeTo6SGVhZGVyVHlwZSBjb250ZW50U2VjdXJpdHlQb2xpY3lUeXBlKTsKKyAg
ICAgICAgc3RhdGljIFBhc3NSZWZQdHI8U2hhcmVkV29ya2VyR2xvYmFsU2NvcGU+IGNyZWF0ZShj
b25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFVSTCYsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBz
dGQ6OnVuaXF1ZV9wdHI8R3JvdXBTZXR0aW5ncz4sIFNoYXJlZFdvcmtlclRocmVhZCYsIGNvbnN0
IFN0cmluZyYgY29udGVudFNlY3VyaXR5UG9saWN5LCBDb250ZW50U2VjdXJpdHlQb2xpY3k6Okhl
YWRlclR5cGUgY29udGVudFNlY3VyaXR5UG9saWN5VHlwZSk7CiAgICAgICAgIHZpcnR1YWwgflNo
YXJlZFdvcmtlckdsb2JhbFNjb3BlKCk7CiAKICAgICAgICAgdmlydHVhbCBib29sIGlzU2hhcmVk
V29ya2VyR2xvYmFsU2NvcGUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CkBAIC01
NiwxMCArNTYsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBERUZJTkVfQVRUUklC
VVRFX0VWRU5UX0xJU1RFTkVSKGNvbm5lY3QpOwogICAgICAgICBTdHJpbmcgbmFtZSgpIGNvbnN0
IHsgcmV0dXJuIG1fbmFtZTsgfQogCi0gICAgICAgIFNoYXJlZFdvcmtlclRocmVhZCogdGhyZWFk
KCk7CisgICAgICAgIFNoYXJlZFdvcmtlclRocmVhZCYgdGhyZWFkKCk7CiAKICAgICBwcml2YXRl
OgotICAgICAgICBTaGFyZWRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBTdHJpbmcmIG5hbWUsIGNv
bnN0IFVSTCYsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBzdGQ6OnVuaXF1ZV9wdHI8R3JvdXBT
ZXR0aW5ncz4sIFNoYXJlZFdvcmtlclRocmVhZCopOworICAgICAgICBTaGFyZWRXb3JrZXJHbG9i
YWxTY29wZShjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFVSTCYsIGNvbnN0IFN0cmluZyYgdXNl
ckFnZW50LCBzdGQ6OnVuaXF1ZV9wdHI8R3JvdXBTZXR0aW5ncz4sIFNoYXJlZFdvcmtlclRocmVh
ZCYpOwogICAgICAgICB2aXJ0dWFsIHZvaWQgbG9nRXhjZXB0aW9uVG9Db25zb2xlKGNvbnN0IFN0
cmluZyYgZXJyb3JNZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgaW50IGxpbmVOdW1i
ZXIsIGludCBjb2x1bW5OdW1iZXIsIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRDYWxsU3Rh
Y2s+KSBvdmVycmlkZTsKIAogICAgICAgICBTdHJpbmcgbV9uYW1lOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXJUaHJlYWQuY3BwIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9TaGFyZWRXb3JrZXJUaHJlYWQuY3BwCmluZGV4IDlkNmVhNWMuLmZkYTcwY2Qg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyVGhyZWFkLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlclRocmVhZC5jcHAKQEAg
LTU1LDcgKzU1LDcgQEAgU2hhcmVkV29ya2VyVGhyZWFkOjp+U2hhcmVkV29ya2VyVGhyZWFkKCkK
IAogUGFzc1JlZlB0cjxXb3JrZXJHbG9iYWxTY29wZT4gU2hhcmVkV29ya2VyVGhyZWFkOjpjcmVh
dGVXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiB1c2VyQWdl
bnQsIHN0ZDo6dW5pcXVlX3B0cjxHcm91cFNldHRpbmdzPiBzZXR0aW5ncywgY29uc3QgU3RyaW5n
JiBjb250ZW50U2VjdXJpdHlQb2xpY3ksIENvbnRlbnRTZWN1cml0eVBvbGljeTo6SGVhZGVyVHlw
ZSBjb250ZW50U2VjdXJpdHlQb2xpY3lUeXBlLCBQYXNzUmVmUHRyPFNlY3VyaXR5T3JpZ2luPikK
IHsKLSAgICByZXR1cm4gU2hhcmVkV29ya2VyR2xvYmFsU2NvcGU6OmNyZWF0ZShtX25hbWUsIHVy
bCwgdXNlckFnZW50LCBzdGQ6Om1vdmUoc2V0dGluZ3MpLCB0aGlzLCBjb250ZW50U2VjdXJpdHlQ
b2xpY3ksIGNvbnRlbnRTZWN1cml0eVBvbGljeVR5cGUpOworICAgIHJldHVybiBTaGFyZWRXb3Jr
ZXJHbG9iYWxTY29wZTo6Y3JlYXRlKG1fbmFtZSwgdXJsLCB1c2VyQWdlbnQsIHN0ZDo6bW92ZShz
ZXR0aW5ncyksICp0aGlzLCBjb250ZW50U2VjdXJpdHlQb2xpY3ksIGNvbnRlbnRTZWN1cml0eVBv
bGljeVR5cGUpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCmluZGV4IGRiODExODEuLjlhM2Y5NjUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCkBAIC03Niwx
MyArNzYsMTMgQEAgcHVibGljOgogICAgICAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNB
VElPTihjb250ZXh0LT5pc1dvcmtlckdsb2JhbFNjb3BlKCkpOwogICAgICAgICBXb3JrZXJHbG9i
YWxTY29wZSogd29ya2VyR2xvYmFsU2NvcGUgPSBzdGF0aWNfY2FzdDxXb3JrZXJHbG9iYWxTY29w
ZSo+KGNvbnRleHQpOwogICAgICAgICAvLyBOb3RpZnkgcGFyZW50IHRoYXQgdGhpcyBjb250ZXh0
IGlzIGNsb3NlZC4gUGFyZW50IGlzIHJlc3BvbnNpYmxlIGZvciBjYWxsaW5nIFdvcmtlclRocmVh
ZDo6c3RvcCgpLgotICAgICAgICB3b3JrZXJHbG9iYWxTY29wZS0+dGhyZWFkKCktPndvcmtlclJl
cG9ydGluZ1Byb3h5KCkud29ya2VyR2xvYmFsU2NvcGVDbG9zZWQoKTsKKyAgICAgICAgd29ya2Vy
R2xvYmFsU2NvcGUtPnRocmVhZCgpLndvcmtlclJlcG9ydGluZ1Byb3h5KCkud29ya2VyR2xvYmFs
U2NvcGVDbG9zZWQoKTsKICAgICB9CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNDbGVhbnVwVGFzaygp
IGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KIH07CiAKLVdvcmtlckdsb2JhbFNjb3BlOjpXb3JrZXJH
bG9iYWxTY29wZShjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIHN0ZDo6
dW5pcXVlX3B0cjxHcm91cFNldHRpbmdzPiBzZXR0aW5ncywgV29ya2VyVGhyZWFkKiB0aHJlYWQs
IFBhc3NSZWZQdHI8U2VjdXJpdHlPcmlnaW4+IHRvcE9yaWdpbikKK1dvcmtlckdsb2JhbFNjb3Bl
OjpXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiB1c2VyQWdl
bnQsIHN0ZDo6dW5pcXVlX3B0cjxHcm91cFNldHRpbmdzPiBzZXR0aW5ncywgV29ya2VyVGhyZWFk
JiB0aHJlYWQsIFBhc3NSZWZQdHI8U2VjdXJpdHlPcmlnaW4+IHRvcE9yaWdpbikKICAgICA6IG1f
dXJsKHVybCkKICAgICAsIG1fdXNlckFnZW50KHVzZXJBZ2VudCkKICAgICAsIG1fZ3JvdXBTZXR0
aW5ncyhzdGQ6Om1vdmUoc2V0dGluZ3MpKQpAQCAtMTAwLDEzICsxMDAsMTMgQEAgV29ya2VyR2xv
YmFsU2NvcGU6Oldvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcm
IHVzZXJBZ2VudCwgc3QKIAogV29ya2VyR2xvYmFsU2NvcGU6On5Xb3JrZXJHbG9iYWxTY29wZSgp
CiB7Ci0gICAgQVNTRVJUKGN1cnJlbnRUaHJlYWQoKSA9PSB0aHJlYWQoKS0+dGhyZWFkSUQoKSk7
CisgICAgQVNTRVJUKGN1cnJlbnRUaHJlYWQoKSA9PSB0aHJlYWQoKS50aHJlYWRJRCgpKTsKIAog
ICAgIC8vIE1ha2Ugc3VyZSB3ZSBoYXZlIG5vIG9ic2VydmVycy4KICAgICBub3RpZnlPYnNlcnZl
cnNPZlN0b3AoKTsKIAogICAgIC8vIE5vdGlmeSBwcm94eSB0aGF0IHdlIGFyZSBnb2luZyBhd2F5
LiBUaGlzIGNhbiBmcmVlIHRoZSBXb3JrZXJUaHJlYWQgb2JqZWN0LCBzbyBkbyBub3QgYWNjZXNz
IGl0IGFmdGVyIHRoaXMuCi0gICAgdGhyZWFkKCktPndvcmtlclJlcG9ydGluZ1Byb3h5KCkud29y
a2VyR2xvYmFsU2NvcGVEZXN0cm95ZWQoKTsKKyAgICB0aHJlYWQoKS53b3JrZXJSZXBvcnRpbmdQ
cm94eSgpLndvcmtlckdsb2JhbFNjb3BlRGVzdHJveWVkKCk7CiB9CiAKIHZvaWQgV29ya2VyR2xv
YmFsU2NvcGU6OmFwcGx5Q29udGVudFNlY3VyaXR5UG9saWN5RnJvbVN0cmluZyhjb25zdCBTdHJp
bmcmIHBvbGljeSwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpIZWFkZXJUeXBlIGNvbnRlbnRTZWN1
cml0eVBvbGljeVR5cGUpCkBAIC0xODAsNyArMTgwLDcgQEAgYm9vbCBXb3JrZXJHbG9iYWxTY29w
ZTo6aGFzUGVuZGluZ0FjdGl2aXR5KCkgY29uc3QKIAogdm9pZCBXb3JrZXJHbG9iYWxTY29wZTo6
cG9zdFRhc2soUGFzc093blB0cjxUYXNrPiB0YXNrKQogewotICAgIHRocmVhZCgpLT5ydW5Mb29w
KCkucG9zdFRhc2sodGFzayk7CisgICAgdGhyZWFkKCkucnVuTG9vcCgpLnBvc3RUYXNrKHRhc2sp
OwogfQogCiBpbnQgV29ya2VyR2xvYmFsU2NvcGU6OnNldFRpbWVvdXQoUGFzc093blB0cjxTY2hl
ZHVsZWRBY3Rpb24+IGFjdGlvbiwgaW50IHRpbWVvdXQpCkBAIC0yNDcsNyArMjQ3LDcgQEAgRXZl
bnRUYXJnZXQqIFdvcmtlckdsb2JhbFNjb3BlOjplcnJvckV2ZW50VGFyZ2V0KCkKIAogdm9pZCBX
b3JrZXJHbG9iYWxTY29wZTo6bG9nRXhjZXB0aW9uVG9Db25zb2xlKGNvbnN0IFN0cmluZyYgZXJy
b3JNZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgaW50IGxpbmVOdW1iZXIsIGludCBj
b2x1bW5OdW1iZXIsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPikKIHsKLSAgICB0aHJlYWQo
KS0+d29ya2VyUmVwb3J0aW5nUHJveHkoKS5wb3N0RXhjZXB0aW9uVG9Xb3JrZXJPYmplY3QoZXJy
b3JNZXNzYWdlLCBsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIsIHNvdXJjZVVSTCk7CisgICAgdGhy
ZWFkKCkud29ya2VyUmVwb3J0aW5nUHJveHkoKS5wb3N0RXhjZXB0aW9uVG9Xb3JrZXJPYmplY3Qo
ZXJyb3JNZXNzYWdlLCBsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIsIHNvdXJjZVVSTCk7CiB9CiAK
IHZvaWQgV29ya2VyR2xvYmFsU2NvcGU6OmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2Ug
c291cmNlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWdu
ZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllcikKQEAgLTI1Nyw3ICsyNTcsNyBAQCB2b2lkIFdvcmtl
ckdsb2JhbFNjb3BlOjphZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVz
c2FnZUxldmVsIGxldgogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgdGhyZWFkKCktPndv
cmtlclJlcG9ydGluZ1Byb3h5KCkucG9zdENvbnNvbGVNZXNzYWdlVG9Xb3JrZXJPYmplY3Qoc291
cmNlLCBsZXZlbCwgbWVzc2FnZSwgMCwgMCwgU3RyaW5nKCkpOworICAgIHRocmVhZCgpLndvcmtl
clJlcG9ydGluZ1Byb3h5KCkucG9zdENvbnNvbGVNZXNzYWdlVG9Xb3JrZXJPYmplY3Qoc291cmNl
LCBsZXZlbCwgbWVzc2FnZSwgMCwgMCwgU3RyaW5nKCkpOwogICAgIGFkZE1lc3NhZ2VUb1dvcmtl
ckNvbnNvbGUoc291cmNlLCBsZXZlbCwgbWVzc2FnZSwgU3RyaW5nKCksIDAsIDAsIDAsIDAsIHJl
cXVlc3RJZGVudGlmaWVyKTsKIH0KIApAQCAtMjY4LDcgKzI2OCw3IEBAIHZvaWQgV29ya2VyR2xv
YmFsU2NvcGU6OmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VMZXZlbCBs
ZXZlbCwgY29uCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICB0aHJlYWQoKS0+d29ya2Vy
UmVwb3J0aW5nUHJveHkoKS5wb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdChzb3VyY2Us
IGxldmVsLCBtZXNzYWdlLCBsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIsIHNvdXJjZVVSTCk7Cisg
ICAgdGhyZWFkKCkud29ya2VyUmVwb3J0aW5nUHJveHkoKS5wb3N0Q29uc29sZU1lc3NhZ2VUb1dv
cmtlck9iamVjdChzb3VyY2UsIGxldmVsLCBtZXNzYWdlLCBsaW5lTnVtYmVyLCBjb2x1bW5OdW1i
ZXIsIHNvdXJjZVVSTCk7CiAgICAgYWRkTWVzc2FnZVRvV29ya2VyQ29uc29sZShzb3VyY2UsIGxl
dmVsLCBtZXNzYWdlLCBzb3VyY2VVUkwsIGxpbmVOdW1iZXIsIGNvbHVtbk51bWJlciwgY2FsbFN0
YWNrLCBzdGF0ZSwgcmVxdWVzdElkZW50aWZpZXIpOwogfQogCkBAIC0yODMsNyArMjgzLDcgQEAg
dm9pZCBXb3JrZXJHbG9iYWxTY29wZTo6YWRkTWVzc2FnZVRvV29ya2VyQ29uc29sZShNZXNzYWdl
U291cmNlIHNvdXJjZSwgTWVzc2FnZUwKIAogYm9vbCBXb3JrZXJHbG9iYWxTY29wZTo6aXNDb250
ZXh0VGhyZWFkKCkgY29uc3QKIHsKLSAgICByZXR1cm4gY3VycmVudFRocmVhZCgpID09IHRocmVh
ZCgpLT50aHJlYWRJRCgpOworICAgIHJldHVybiBjdXJyZW50VGhyZWFkKCkgPT0gdGhyZWFkKCku
dGhyZWFkSUQoKTsKIH0KIAogYm9vbCBXb3JrZXJHbG9iYWxTY29wZTo6aXNKU0V4ZWN1dGlvbkZv
cmJpZGRlbigpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
ckdsb2JhbFNjb3BlLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3Bl
LmgKaW5kZXggZjQ0NzdmOC4uOWM0ZWQ0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyR2xvYmFsU2NvcGUuaApAQCAtNzQsNyArNzQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgICAgIFdvcmtlclNjcmlwdENvbnRyb2xsZXIqIHNjcmlwdCgpIHsgcmV0dXJuIG1fc2NyaXB0
LmdldCgpOyB9CiAgICAgICAgIHZvaWQgY2xlYXJTY3JpcHQoKSB7IG1fc2NyaXB0LmNsZWFyKCk7
IH0KIAotICAgICAgICBXb3JrZXJUaHJlYWQqIHRocmVhZCgpIGNvbnN0IHsgcmV0dXJuIG1fdGhy
ZWFkOyB9CisgICAgICAgIFdvcmtlclRocmVhZCYgdGhyZWFkKCkgY29uc3QgeyByZXR1cm4gbV90
aHJlYWQ7IH0KIAogICAgICAgICBib29sIGhhc1BlbmRpbmdBY3Rpdml0eSgpIGNvbnN0OwogCkBA
IC0xNDEsNyArMTQxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogI2VuZGlmCiAKICAgICBwcm90
ZWN0ZWQ6Ci0gICAgICAgIFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYsIGNvbnN0IFN0cmlu
ZyYgdXNlckFnZW50LCBzdGQ6OnVuaXF1ZV9wdHI8R3JvdXBTZXR0aW5ncz4sIFdvcmtlclRocmVh
ZCosIFBhc3NSZWZQdHI8U2VjdXJpdHlPcmlnaW4+IHRvcE9yaWdpbik7CisgICAgICAgIFdvcmtl
ckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBzdGQ6OnVu
aXF1ZV9wdHI8R3JvdXBTZXR0aW5ncz4sIFdvcmtlclRocmVhZCYsIFBhc3NSZWZQdHI8U2VjdXJp
dHlPcmlnaW4+IHRvcE9yaWdpbik7CiAgICAgICAgIHZvaWQgYXBwbHlDb250ZW50U2VjdXJpdHlQ
b2xpY3lGcm9tU3RyaW5nKGNvbnN0IFN0cmluZyYgY29udGVudFNlY3VyaXR5UG9saWN5LCBDb250
ZW50U2VjdXJpdHlQb2xpY3k6OkhlYWRlclR5cGUpOwogCiAgICAgICAgIHZpcnR1YWwgdm9pZCBs
b2dFeGNlcHRpb25Ub0NvbnNvbGUoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UsIGNvbnN0IFN0
cmluZyYgc291cmNlVVJMLCBpbnQgbGluZU51bWJlciwgaW50IGNvbHVtbk51bWJlciwgUGFzc1Jl
ZlB0cjxJbnNwZWN0b3I6OlNjcmlwdENhbGxTdGFjaz4pIG92ZXJyaWRlOwpAQCAtMTY4LDcgKzE2
OCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgbXV0YWJsZSBSZWZQdHI8V29ya2Vy
TmF2aWdhdG9yPiBtX25hdmlnYXRvcjsKIAogICAgICAgICBPd25QdHI8V29ya2VyU2NyaXB0Q29u
dHJvbGxlcj4gbV9zY3JpcHQ7Ci0gICAgICAgIFdvcmtlclRocmVhZCogbV90aHJlYWQ7CisgICAg
ICAgIFdvcmtlclRocmVhZCYgbV90aHJlYWQ7CiAKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAg
ICAgICBjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8V29ya2VySW5zcGVjdG9yQ29udHJvbGxlcj4gbV93
b3JrZXJJbnNwZWN0b3JDb250cm9sbGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlck1lc3NhZ2luZ1Byb3h5LmNwcAppbmRleCA0MzhmNDdlLi5jOTRhNmQ4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcApAQCAtNzMsNyAr
NzMsNyBAQCBwcml2YXRlOgogICAgICAgICBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZSogY29u
dGV4dCA9IHN0YXRpY19jYXN0PERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlKj4oc2NyaXB0Q29u
dGV4dCk7CiAgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxNZXNzYWdlUG9ydEFycmF5PiBwb3J0cyA9
IE1lc3NhZ2VQb3J0OjplbnRhbmdsZVBvcnRzKCpzY3JpcHRDb250ZXh0LCBzdGQ6Om1vdmUobV9j
aGFubmVscykpOwogICAgICAgICBjb250ZXh0LT5kaXNwYXRjaEV2ZW50KE1lc3NhZ2VFdmVudDo6
Y3JlYXRlKHN0ZDo6bW92ZShwb3J0cyksIG1fbWVzc2FnZSkpOwotICAgICAgICBjb250ZXh0LT50
aHJlYWQoKS0+d29ya2VyT2JqZWN0UHJveHkoKS5jb25maXJtTWVzc2FnZUZyb21Xb3JrZXJPYmpl
Y3QoY29udGV4dC0+aGFzUGVuZGluZ0FjdGl2aXR5KCkpOworICAgICAgICBjb250ZXh0LT50aHJl
YWQoKS53b3JrZXJPYmplY3RQcm94eSgpLmNvbmZpcm1NZXNzYWdlRnJvbVdvcmtlck9iamVjdChj
b250ZXh0LT5oYXNQZW5kaW5nQWN0aXZpdHkoKSk7CiAgICAgfQogCiBwcml2YXRlOgpAQCAtMjg1
LDE0ICsyODUsMTQgQEAgV29ya2VyTWVzc2FnaW5nUHJveHk6Oldvcmtlck1lc3NhZ2luZ1Byb3h5
KFdvcmtlciogd29ya2VyT2JqZWN0KQogewogICAgIEFTU0VSVChtX3dvcmtlck9iamVjdCk7CiAg
ICAgQVNTRVJUKChtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPmlzRG9jdW1lbnQoKSAmJiBpc01h
aW5UaHJlYWQoKSkKLSAgICAgICAgICAgfHwgKG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+aXNX
b3JrZXJHbG9iYWxTY29wZSgpICYmIGN1cnJlbnRUaHJlYWQoKSA9PSBzdGF0aWNfY2FzdDxXb3Jr
ZXJHbG9iYWxTY29wZSo+KG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dC5nZXQoKSktPnRocmVhZCgp
LT50aHJlYWRJRCgpKSk7CisgICAgICAgICAgIHx8IChtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQt
PmlzV29ya2VyR2xvYmFsU2NvcGUoKSAmJiBjdXJyZW50VGhyZWFkKCkgPT0gc3RhdGljX2Nhc3Q8
V29ya2VyR2xvYmFsU2NvcGUqPihtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuZ2V0KCkpLT50aHJl
YWQoKS50aHJlYWRJRCgpKSk7CiB9CiAKIFdvcmtlck1lc3NhZ2luZ1Byb3h5Ojp+V29ya2VyTWVz
c2FnaW5nUHJveHkoKQogewogICAgIEFTU0VSVCghbV93b3JrZXJPYmplY3QpOwogICAgIEFTU0VS
VCgobV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5pc0RvY3VtZW50KCkgJiYgaXNNYWluVGhyZWFk
KCkpCi0gICAgICAgICAgIHx8IChtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPmlzV29ya2VyR2xv
YmFsU2NvcGUoKSAmJiBjdXJyZW50VGhyZWFkKCkgPT0gc3RhdGljX2Nhc3Q8V29ya2VyR2xvYmFs
U2NvcGUqPihtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuZ2V0KCkpLT50aHJlYWQoKS0+dGhyZWFk
SUQoKSkpOworICAgICAgICAgICB8fCAobV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5pc1dvcmtl
ckdsb2JhbFNjb3BlKCkgJiYgY3VycmVudFRocmVhZCgpID09IHN0YXRpY19jYXN0PFdvcmtlckds
b2JhbFNjb3BlKj4obV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LmdldCgpKS0+dGhyZWFkKCkudGhy
ZWFkSUQoKSkpOwogfQogCiB2b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5OjpzdGFydFdvcmtlckds
b2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwg
Y29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBXb3JrZXJUaHJlYWRTdGFydE1vZGUgc3RhcnRNb2Rl
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5jcHAKaW5kZXggOWE5ZjU1Ni4u
NjdmYWZlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29w
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1bkxvb3AuY3BwCkBAIC0x
NDYsOCArMTQ2LDcgQEAgTWVzc2FnZVF1ZXVlV2FpdFJlc3VsdCBXb3JrZXJSdW5Mb29wOjpydW5J
bk1vZGUoV29ya2VyR2xvYmFsU2NvcGUqIGNvbnRleHQsIGNvbnMKIE1lc3NhZ2VRdWV1ZVdhaXRS
ZXN1bHQgV29ya2VyUnVuTG9vcDo6cnVuSW5Nb2RlKFdvcmtlckdsb2JhbFNjb3BlKiBjb250ZXh0
LCBjb25zdCBNb2RlUHJlZGljYXRlJiBwcmVkaWNhdGUsIFdhaXRNb2RlIHdhaXRNb2RlKQogewog
ICAgIEFTU0VSVChjb250ZXh0KTsKLSAgICBBU1NFUlQoY29udGV4dC0+dGhyZWFkKCkpOwotICAg
IEFTU0VSVChjb250ZXh0LT50aHJlYWQoKS0+dGhyZWFkSUQoKSA9PSBjdXJyZW50VGhyZWFkKCkp
OworICAgIEFTU0VSVChjb250ZXh0LT50aHJlYWQoKS50aHJlYWRJRCgpID09IGN1cnJlbnRUaHJl
YWQoKSk7CiAKICAgICBkb3VibGUgYWJzb2x1dGVUaW1lID0gMC4wOwogICAgIGlmICh3YWl0TW9k
ZSA9PSBXYWl0Rm9yTWVzc2FnZSkKQEAgLTE3Nyw4ICsxNzYsNyBAQCBNZXNzYWdlUXVldWVXYWl0
UmVzdWx0IFdvcmtlclJ1bkxvb3A6OnJ1bkluTW9kZShXb3JrZXJHbG9iYWxTY29wZSogY29udGV4
dCwgY29ucwogdm9pZCBXb3JrZXJSdW5Mb29wOjpydW5DbGVhbnVwVGFza3MoV29ya2VyR2xvYmFs
U2NvcGUqIGNvbnRleHQpCiB7CiAgICAgQVNTRVJUKGNvbnRleHQpOwotICAgIEFTU0VSVChjb250
ZXh0LT50aHJlYWQoKSk7Ci0gICAgQVNTRVJUKGNvbnRleHQtPnRocmVhZCgpLT50aHJlYWRJRCgp
ID09IGN1cnJlbnRUaHJlYWQoKSk7CisgICAgQVNTRVJUKGNvbnRleHQtPnRocmVhZCgpLnRocmVh
ZElEKCkgPT0gY3VycmVudFRocmVhZCgpKTsKICAgICBBU1NFUlQobV9tZXNzYWdlUXVldWUua2ls
bGVkKCkpOwogCiAgICAgd2hpbGUgKHRydWUpIHsK
</data>
<flag name="review"
          id="248321"
          type_id="1"
          status="+"
          setter="andersca"
    />
    <flag name="commit-queue"
          id="248334"
          type_id="3"
          status="+"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>