<?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>127254</bug_id>
          
          <creation_ts>2014-01-19 11:21:55 -0800</creation_ts>
          <short_desc>Stop using MutexTryLocker in WebCore</short_desc>
          <delta_ts>2014-01-19 12:33:33 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>969614</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-01-19 11:21:55 -0800</bug_when>
    <thetext>Stop using MutexTryLocker in WebCore</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>969615</commentid>
    <comment_count>1</comment_count>
      <attachid>221591</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-01-19 11:28:35 -0800</bug_when>
    <thetext>Created attachment 221591
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>969623</commentid>
    <comment_count>2</comment_count>
      <attachid>221591</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-01-19 11:42:09 -0800</bug_when>
    <thetext>Comment on attachment 221591
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=221591&amp;action=review

Nice. r=me

&gt; Source/WebCore/Modules/webaudio/WaveShaperProcessor.cpp:97
&gt; +    for (unsigned i = 0; i &lt; m_kernels.size(); ++i)
&gt; +        m_kernels[i]-&gt;process(source-&gt;channel(i)-&gt;data(), destination-&gt;channel(i)-&gt;mutableData(), framesToProcess);

range for?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>969632</commentid>
    <comment_count>3</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-01-19 12:30:43 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 221591 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=221591&amp;action=review
&gt; 
&gt; Nice. r=me
&gt; 
&gt; &gt; Source/WebCore/Modules/webaudio/WaveShaperProcessor.cpp:97
&gt; &gt; +    for (unsigned i = 0; i &lt; m_kernels.size(); ++i)
&gt; &gt; +        m_kernels[i]-&gt;process(source-&gt;channel(i)-&gt;data(), destination-&gt;channel(i)-&gt;mutableData(), framesToProcess);
&gt; 
&gt; range for?

Still need i for source-&gt;channel(i) and destination-&gt;channel(i) :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>969633</commentid>
    <comment_count>4</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-01-19 12:33:33 -0800</bug_when>
    <thetext>Committed r162296: &lt;http://trac.webkit.org/changeset/162296&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>221591</attachid>
            <date>2014-01-19 11:28:35 -0800</date>
            <delta_ts>2014-01-19 11:42:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-127254-20140119112834.patch</filename>
            <type>text/plain</type>
            <size>30616</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYyMjkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2I0ZWFiMDFiYzc3ZjRi
Mjc3MjcwZmE2OWY4OWY4ZTBjMTU4M2EwZC4uMmI4NWE4Y2JiN2QyNDRmMWNkMjAwZjdmYTA4NmZi
YTNiMjVhNDkzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDU0IEBACiAyMDE0LTAxLTE5ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKKyAgICAgICAgU3RvcCB1c2luZyBN
dXRleFRyeUxvY2tlciBpbiBXZWJDb3JlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMjcyNTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBJbnN0ZWFkIHVzZSBzdGQ6Om11dGV4IGFuZCBzdGQ6OnVuaXF1ZV9s
b2NrIHdpdGggdGhlIHN0ZDo6dHJ5X3RvX2xvY2sgY29uc3RydWN0b3IuCisKKyAgICAgICAgKiBN
b2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyU291cmNlTm9kZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpBdWRpb0J1ZmZlclNvdXJjZU5vZGU6OnByb2Nlc3MpOgorICAgICAgICAoV2ViQ29yZTo6
QXVkaW9CdWZmZXJTb3VyY2VOb2RlOjpzZXRCdWZmZXIpOgorICAgICAgICAqIE1vZHVsZXMvd2Vi
YXVkaW8vQXVkaW9CdWZmZXJTb3VyY2VOb2RlLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRp
by9BdWRpb1BhcmFtVGltZWxpbmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9QYXJhbVRp
bWVsaW5lOjppbnNlcnRFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb1BhcmFtVGltZWxp
bmU6OmNhbmNlbFNjaGVkdWxlZFZhbHVlcyk6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb1BhcmFt
VGltZWxpbmU6OnZhbHVlRm9yQ29udGV4dFRpbWUpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9Q
YXJhbVRpbWVsaW5lOjp2YWx1ZXNGb3JUaW1lUmFuZ2UpOgorICAgICAgICAoV2ViQ29yZTo6QXVk
aW9QYXJhbVRpbWVsaW5lOjp2YWx1ZXNGb3JUaW1lUmFuZ2VJbXBsKToKKyAgICAgICAgKiBNb2R1
bGVzL3dlYmF1ZGlvL0F1ZGlvUGFyYW1UaW1lbGluZS5oOgorICAgICAgICAqIE1vZHVsZXMvd2Vi
YXVkaW8vQ29udm9sdmVyTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb252b2x2ZXJOb2Rl
Ojpwcm9jZXNzKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnZvbHZlck5vZGU6OnJlc2V0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkNvbnZvbHZlck5vZGU6OnNldEJ1ZmZlcik6CisgICAgICAgICogTW9k
dWxlcy93ZWJhdWRpby9Db252b2x2ZXJOb2RlLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRp
by9NZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlOjpzZXRGb3JtYXQpOgorICAgICAgICAoV2ViQ29yZTo6
TWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlOjpwcm9jZXNzKToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZTo6bG9jayk6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGU6OnVubG9jayk6CisgICAgICAgICogTW9kdWxlcy93
ZWJhdWRpby9NZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUuaDoKKyAgICAgICAgKiBNb2R1bGVz
L3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlOjpzZXRGb3JtYXQpOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGU6OnByb2Nlc3MpOgorICAgICAgICAqIE1v
ZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGUuaDoKKyAgICAgICAgKiBN
b2R1bGVzL3dlYmF1ZGlvL09zY2lsbGF0b3JOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok9z
Y2lsbGF0b3JOb2RlOjpwcm9jZXNzKToKKyAgICAgICAgKFdlYkNvcmU6Ok9zY2lsbGF0b3JOb2Rl
OjpzZXRQZXJpb2RpY1dhdmUpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vT3NjaWxsYXRv
ck5vZGUuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL1Bhbm5lck5vZGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UGFubmVyTm9kZTo6cHJvY2Vzcyk6CisgICAgICAgIChXZWJDb3JlOjpQ
YW5uZXJOb2RlOjpzZXRQYW5uaW5nTW9kZWwpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8v
UGFubmVyTm9kZS5oOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vV2F2ZVNoYXBlclByb2Nl
c3Nvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXYXZlU2hhcGVyUHJvY2Vzc29yOjpzZXRDdXJ2
ZSk6CisgICAgICAgIChXZWJDb3JlOjpXYXZlU2hhcGVyUHJvY2Vzc29yOjpzZXRPdmVyc2FtcGxl
KToKKyAgICAgICAgKFdlYkNvcmU6OldhdmVTaGFwZXJQcm9jZXNzb3I6OnByb2Nlc3MpOgorICAg
ICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vV2F2ZVNoYXBlclByb2Nlc3Nvci5oOgorCisyMDE0LTAx
LTE5ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKICAgICAgICAgVXNl
IGEgc3Ryb25nIGVudW0gZm9yIEhUTUxUcmVlQnVpbGRlcjo6SW5zZXJ0aW9uTW9kZQogICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3MjUyCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXJTb3VyY2VO
b2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXJTb3Vy
Y2VOb2RlLmNwcAppbmRleCBiNzc3NGQ2MWQwODA5NTg1Njg5YWI4NzdjZmE3NWMwZmRlOTcxMDg4
Li45N2Q4MTMzMjFhMzBkMjJiNGFmZTc3OWNiZjQ1OWI1ZjA5OTRhYzgxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyU291cmNlTm9kZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1ZmZlclNvdXJjZU5v
ZGUuY3BwCkBAIC05Myw1MiArOTMsNTAgQEAgdm9pZCBBdWRpb0J1ZmZlclNvdXJjZU5vZGU6OnBy
b2Nlc3Moc2l6ZV90IGZyYW1lc1RvUHJvY2VzcykKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAot
ICAgIC8vIFRoZSBhdWRpbyB0aHJlYWQgY2FuJ3QgYmxvY2sgb24gdGhpcyBsb2NrLCBzbyB3ZSBj
YWxsIHRyeUxvY2soKSBpbnN0ZWFkLgotICAgIE11dGV4VHJ5TG9ja2VyIHRyeUxvY2tlcihtX3By
b2Nlc3NMb2NrKTsKLSAgICBpZiAodHJ5TG9ja2VyLmxvY2tlZCgpKSB7Ci0gICAgICAgIGlmICgh
YnVmZmVyKCkpIHsKLSAgICAgICAgICAgIG91dHB1dEJ1cy0+emVybygpOwotICAgICAgICAgICAg
cmV0dXJuOwotICAgICAgICB9CisgICAgLy8gVGhlIGF1ZGlvIHRocmVhZCBjYW4ndCBibG9jayBv
biB0aGlzIGxvY2ssIHNvIHdlIHVzZSBzdGQ6OnRyeV90b19sb2NrIGluc3RlYWQuCisgICAgc3Rk
Ojp1bmlxdWVfbG9jazxzdGQ6Om11dGV4PiBsb2NrKG1fcHJvY2Vzc011dGV4LCBzdGQ6OnRyeV90
b19sb2NrKTsKKyAgICBpZiAoIWxvY2sub3duc19sb2NrKCkpIHsKKyAgICAgICAgLy8gVG9vIGJh
ZCAtIHRoZSB0cnlfbG9jaygpIGZhaWxlZC4gV2UgbXVzdCBiZSBpbiB0aGUgbWlkZGxlIG9mIGNo
YW5naW5nIGJ1ZmZlcnMgYW5kIHdlcmUgYWxyZWFkeSBvdXRwdXR0aW5nIHNpbGVuY2UgYW55d2F5
LgorICAgICAgICBvdXRwdXRCdXMtPnplcm8oKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KIAot
ICAgICAgICAvLyBBZnRlciBjYWxsaW5nIHNldEJ1ZmZlcigpIHdpdGggYSBidWZmZXIgaGF2aW5n
IGEgZGlmZmVyZW50IG51bWJlciBvZiBjaGFubmVscywgdGhlcmUgY2FuIGluIHJhcmUgY2FzZXMg
YmUgYSBzbGlnaHQgZGVsYXkKLSAgICAgICAgLy8gYmVmb3JlIHRoZSBvdXRwdXQgYnVzIGlzIHVw
ZGF0ZWQgdG8gdGhlIG5ldyBudW1iZXIgb2YgY2hhbm5lbHMgYmVjYXVzZSBvZiB1c2Ugb2YgdHJ5
TG9ja3MoKSBpbiB0aGUgY29udGV4dCdzIHVwZGF0aW5nIHN5c3RlbS4KLSAgICAgICAgLy8gSW4g
dGhpcyBjYXNlLCBpZiB0aGUgdGhlIGJ1ZmZlciBoYXMganVzdCBiZWVuIGNoYW5nZWQgYW5kIHdl
J3JlIG5vdCBxdWl0ZSByZWFkeSB5ZXQsIHRoZW4ganVzdCBvdXRwdXQgc2lsZW5jZS4KLSAgICAg
ICAgaWYgKG51bWJlck9mQ2hhbm5lbHMoKSAhPSBidWZmZXIoKS0+bnVtYmVyT2ZDaGFubmVscygp
KSB7Ci0gICAgICAgICAgICBvdXRwdXRCdXMtPnplcm8oKTsKLSAgICAgICAgICAgIHJldHVybjsK
LSAgICAgICAgfQorICAgIGlmICghYnVmZmVyKCkpIHsKKyAgICAgICAgb3V0cHV0QnVzLT56ZXJv
KCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CiAKLSAgICAgICAgc2l6ZV90IHF1YW50dW1GcmFt
ZU9mZnNldDsKLSAgICAgICAgc2l6ZV90IGJ1ZmZlckZyYW1lc1RvUHJvY2VzczsKLQotICAgICAg
ICB1cGRhdGVTY2hlZHVsaW5nSW5mbyhmcmFtZXNUb1Byb2Nlc3MsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIG91dHB1dEJ1cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcXVh
bnR1bUZyYW1lT2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWZmZXJGcmFt
ZXNUb1Byb2Nlc3MpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKLSAgICAgICAgaWYg
KCFidWZmZXJGcmFtZXNUb1Byb2Nlc3MpIHsKLSAgICAgICAgICAgIG91dHB1dEJ1cy0+emVybygp
OwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9CisgICAgLy8gQWZ0ZXIgY2FsbGluZyBz
ZXRCdWZmZXIoKSB3aXRoIGEgYnVmZmVyIGhhdmluZyBhIGRpZmZlcmVudCBudW1iZXIgb2YgY2hh
bm5lbHMsIHRoZXJlIGNhbiBpbiByYXJlIGNhc2VzIGJlIGEgc2xpZ2h0IGRlbGF5CisgICAgLy8g
YmVmb3JlIHRoZSBvdXRwdXQgYnVzIGlzIHVwZGF0ZWQgdG8gdGhlIG5ldyBudW1iZXIgb2YgY2hh
bm5lbHMgYmVjYXVzZSBvZiB1c2Ugb2YgdHJ5TG9ja3MoKSBpbiB0aGUgY29udGV4dCdzIHVwZGF0
aW5nIHN5c3RlbS4KKyAgICAvLyBJbiB0aGlzIGNhc2UsIGlmIHRoZSB0aGUgYnVmZmVyIGhhcyBq
dXN0IGJlZW4gY2hhbmdlZCBhbmQgd2UncmUgbm90IHF1aXRlIHJlYWR5IHlldCwgdGhlbiBqdXN0
IG91dHB1dCBzaWxlbmNlLgorICAgIGlmIChudW1iZXJPZkNoYW5uZWxzKCkgIT0gYnVmZmVyKCkt
Pm51bWJlck9mQ2hhbm5lbHMoKSkgeworICAgICAgICBvdXRwdXRCdXMtPnplcm8oKTsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KIAotICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgb3V0
cHV0QnVzLT5udW1iZXJPZkNoYW5uZWxzKCk7ICsraSkKLSAgICAgICAgICAgIG1fZGVzdGluYXRp
b25DaGFubmVsc1tpXSA9IG91dHB1dEJ1cy0+Y2hhbm5lbChpKS0+bXV0YWJsZURhdGEoKTsKKyAg
ICBzaXplX3QgcXVhbnR1bUZyYW1lT2Zmc2V0OworICAgIHNpemVfdCBidWZmZXJGcmFtZXNUb1By
b2Nlc3M7CiAKLSAgICAgICAgLy8gUmVuZGVyIGJ5IHJlYWRpbmcgZGlyZWN0bHkgZnJvbSB0aGUg
YnVmZmVyLgotICAgICAgICBpZiAoIXJlbmRlckZyb21CdWZmZXIob3V0cHV0QnVzLCBxdWFudHVt
RnJhbWVPZmZzZXQsIGJ1ZmZlckZyYW1lc1RvUHJvY2VzcykpIHsKLSAgICAgICAgICAgIG91dHB1
dEJ1cy0+emVybygpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9CisgICAgdXBkYXRl
U2NoZWR1bGluZ0luZm8oZnJhbWVzVG9Qcm9jZXNzLCBvdXRwdXRCdXMsIHF1YW50dW1GcmFtZU9m
ZnNldCwgYnVmZmVyRnJhbWVzVG9Qcm9jZXNzKTsKIAotICAgICAgICAvLyBBcHBseSB0aGUgZ2Fp
biAoaW4tcGxhY2UpIHRvIHRoZSBvdXRwdXQgYnVzLgotICAgICAgICBmbG9hdCB0b3RhbEdhaW4g
PSBnYWluKCktPnZhbHVlKCkgKiBtX2J1ZmZlci0+Z2FpbigpOwotICAgICAgICBvdXRwdXRCdXMt
PmNvcHlXaXRoR2FpbkZyb20oKm91dHB1dEJ1cywgJm1fbGFzdEdhaW4sIHRvdGFsR2Fpbik7Ci0g
ICAgICAgIG91dHB1dEJ1cy0+Y2xlYXJTaWxlbnRGbGFnKCk7Ci0gICAgfSBlbHNlIHsKLSAgICAg
ICAgLy8gVG9vIGJhZCAtIHRoZSB0cnlMb2NrKCkgZmFpbGVkLiAgV2UgbXVzdCBiZSBpbiB0aGUg
bWlkZGxlIG9mIGNoYW5naW5nIGJ1ZmZlcnMgYW5kIHdlcmUgYWxyZWFkeSBvdXRwdXR0aW5nIHNp
bGVuY2UgYW55d2F5LgorICAgIGlmICghYnVmZmVyRnJhbWVzVG9Qcm9jZXNzKSB7CisgICAgICAg
IG91dHB1dEJ1cy0+emVybygpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgZm9yICh1
bnNpZ25lZCBpID0gMDsgaSA8IG91dHB1dEJ1cy0+bnVtYmVyT2ZDaGFubmVscygpOyArK2kpCisg
ICAgICAgIG1fZGVzdGluYXRpb25DaGFubmVsc1tpXSA9IG91dHB1dEJ1cy0+Y2hhbm5lbChpKS0+
bXV0YWJsZURhdGEoKTsKKworICAgIC8vIFJlbmRlciBieSByZWFkaW5nIGRpcmVjdGx5IGZyb20g
dGhlIGJ1ZmZlci4KKyAgICBpZiAoIXJlbmRlckZyb21CdWZmZXIob3V0cHV0QnVzLCBxdWFudHVt
RnJhbWVPZmZzZXQsIGJ1ZmZlckZyYW1lc1RvUHJvY2VzcykpIHsKICAgICAgICAgb3V0cHV0QnVz
LT56ZXJvKCk7CisgICAgICAgIHJldHVybjsKICAgICB9CisKKyAgICAvLyBBcHBseSB0aGUgZ2Fp
biAoaW4tcGxhY2UpIHRvIHRoZSBvdXRwdXQgYnVzLgorICAgIGZsb2F0IHRvdGFsR2FpbiA9IGdh
aW4oKS0+dmFsdWUoKSAqIG1fYnVmZmVyLT5nYWluKCk7CisgICAgb3V0cHV0QnVzLT5jb3B5V2l0
aEdhaW5Gcm9tKCpvdXRwdXRCdXMsICZtX2xhc3RHYWluLCB0b3RhbEdhaW4pOworICAgIG91dHB1
dEJ1cy0+Y2xlYXJTaWxlbnRGbGFnKCk7CiB9CiAKIC8vIFJldHVybnMgdHJ1ZSBpZiB3ZSdyZSBm
aW5pc2hlZC4KQEAgLTM0Myw3ICszNDEsNyBAQCBib29sIEF1ZGlvQnVmZmVyU291cmNlTm9kZTo6
c2V0QnVmZmVyKEF1ZGlvQnVmZmVyKiBidWZmZXIpCiAgICAgQXVkaW9Db250ZXh0OjpBdXRvTG9j
a2VyIGNvbnRleHRMb2NrZXIoKmNvbnRleHQoKSk7CiAgICAgCiAgICAgLy8gVGhpcyBzeW5jaHJv
bml6ZXMgd2l0aCBwcm9jZXNzKCkuCi0gICAgTXV0ZXhMb2NrZXIgcHJvY2Vzc0xvY2tlcihtX3By
b2Nlc3NMb2NrKTsKKyAgICBzdGQ6OmxvY2tfZ3VhcmQ8c3RkOjptdXRleD4gbG9jayhtX3Byb2Nl
c3NNdXRleCk7CiAgICAgCiAgICAgaWYgKGJ1ZmZlcikgewogICAgICAgICAvLyBEbyBhbnkgbmVj
ZXNzc2FyeSByZS1jb25maWd1cmF0aW9uIHRvIHRoZSBidWZmZXIncyBudW1iZXIgb2YgY2hhbm5l
bHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVm
ZmVyU291cmNlTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1
ZmZlclNvdXJjZU5vZGUuaAppbmRleCAwZDZjMDE3ZjYwMTFmZDdjNDRhYTRhNDFhODExMTE4NjEw
NDY2MGFiLi4xNWZjNTZhMGJmZDQxOWYzMjIwMWFjZjAwMDlkNGE2ZGFlMDk4OGRiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyU291cmNlTm9k
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXJTb3Vy
Y2VOb2RlLmgKQEAgLTMyLDkgKzMyLDkgQEAKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCiAj
aW5jbHVkZSAiUGFubmVyTm9kZS5oIgogI2luY2x1ZGUgPG1lbW9yeT4KKyNpbmNsdWRlIDxtdXRl
eD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4K
LSNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAt
MTUwLDcgKzE1MCw3IEBAIHByaXZhdGU6CiAgICAgUGFubmVyTm9kZSogbV9wYW5uZXJOb2RlOwog
CiAgICAgLy8gVGhpcyBzeW5jaHJvbml6ZXMgcHJvY2VzcygpIHdpdGggc2V0QnVmZmVyKCkgd2hp
Y2ggY2FuIGNhdXNlIGR5bmFtaWMgY2hhbm5lbCBjb3VudCBjaGFuZ2VzLgotICAgIG11dGFibGUg
TXV0ZXggbV9wcm9jZXNzTG9jazsKKyAgICBtdXRhYmxlIHN0ZDo6bXV0ZXggbV9wcm9jZXNzTXV0
ZXg7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvUGFyYW1UaW1lbGluZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvUGFyYW1UaW1lbGluZS5jcHAKaW5kZXggMTIxOWU0
OWNmNTBlNTY4NzU4N2M1MjMxZTBkZmIzYzM3NjlmNjMzZS4uMWM3ZTRlNWY4YmU5M2RiMDk3MjE4
MjE0M2Y2NmM3MDY4NjI5YmJhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJhdWRpby9BdWRpb1BhcmFtVGltZWxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViYXVkaW8vQXVkaW9QYXJhbVRpbWVsaW5lLmNwcApAQCAtODAsNyArODAsNyBAQCB2b2lk
IEF1ZGlvUGFyYW1UaW1lbGluZTo6aW5zZXJ0RXZlbnQoY29uc3QgUGFyYW1FdmVudCYgZXZlbnQp
CiAgICAgaWYgKCFpc1ZhbGlkKQogICAgICAgICByZXR1cm47CiAgICAgICAgIAotICAgIE11dGV4
TG9ja2VyIGxvY2tlcihtX2V2ZW50c0xvY2spOworICAgIHN0ZDo6bG9ja19ndWFyZDxzdGQ6Om11
dGV4PiBsb2NrKG1fZXZlbnRzTXV0ZXgpOwogICAgIAogICAgIHVuc2lnbmVkIGkgPSAwOwogICAg
IGZsb2F0IGluc2VydFRpbWUgPSBldmVudC50aW1lKCk7CkBAIC0xMDAsNyArMTAwLDcgQEAgdm9p
ZCBBdWRpb1BhcmFtVGltZWxpbmU6Omluc2VydEV2ZW50KGNvbnN0IFBhcmFtRXZlbnQmIGV2ZW50
KQogCiB2b2lkIEF1ZGlvUGFyYW1UaW1lbGluZTo6Y2FuY2VsU2NoZWR1bGVkVmFsdWVzKGZsb2F0
IHN0YXJ0VGltZSkKIHsKLSAgICBNdXRleExvY2tlciBsb2NrZXIobV9ldmVudHNMb2NrKTsKKyAg
ICBzdGQ6OmxvY2tfZ3VhcmQ8c3RkOjptdXRleD4gbG9jayhtX2V2ZW50c011dGV4KTsKIAogICAg
IC8vIFJlbW92ZSBhbGwgZXZlbnRzIHN0YXJ0aW5nIGF0IHN0YXJ0VGltZS4KICAgICBmb3IgKHVu
c2lnbmVkIGkgPSAwOyBpIDwgbV9ldmVudHMuc2l6ZSgpOyArK2kpIHsKQEAgLTExNiw4ICsxMTYs
OCBAQCBmbG9hdCBBdWRpb1BhcmFtVGltZWxpbmU6OnZhbHVlRm9yQ29udGV4dFRpbWUoQXVkaW9D
b250ZXh0KiBjb250ZXh0LCBmbG9hdCBkZWZhdQogICAgIEFTU0VSVChjb250ZXh0KTsKIAogICAg
IHsKLSAgICAgICAgTXV0ZXhUcnlMb2NrZXIgdHJ5TG9ja2VyKG1fZXZlbnRzTG9jayk7Ci0gICAg
ICAgIGlmICghdHJ5TG9ja2VyLmxvY2tlZCgpIHx8ICFjb250ZXh0IHx8ICFtX2V2ZW50cy5zaXpl
KCkgfHwgY29udGV4dC0+Y3VycmVudFRpbWUoKSA8IG1fZXZlbnRzWzBdLnRpbWUoKSkgeworICAg
ICAgICBzdGQ6OnVuaXF1ZV9sb2NrPHN0ZDo6bXV0ZXg+IGxvY2sobV9ldmVudHNNdXRleCwgc3Rk
Ojp0cnlfdG9fbG9jayk7CisgICAgICAgIGlmICghbG9jay5vd25zX2xvY2soKSB8fCAhY29udGV4
dCB8fCAhbV9ldmVudHMuc2l6ZSgpIHx8IGNvbnRleHQtPmN1cnJlbnRUaW1lKCkgPCBtX2V2ZW50
c1swXS50aW1lKCkpIHsKICAgICAgICAgICAgIGhhc1ZhbHVlID0gZmFsc2U7CiAgICAgICAgICAg
ICByZXR1cm4gZGVmYXVsdFZhbHVlOwogICAgICAgICB9CkBAIC0xMzUsMTggKzEzNSwxMSBAQCBm
bG9hdCBBdWRpb1BhcmFtVGltZWxpbmU6OnZhbHVlRm9yQ29udGV4dFRpbWUoQXVkaW9Db250ZXh0
KiBjb250ZXh0LCBmbG9hdCBkZWZhdQogICAgIHJldHVybiB2YWx1ZTsKIH0KIAotZmxvYXQgQXVk
aW9QYXJhbVRpbWVsaW5lOjp2YWx1ZXNGb3JUaW1lUmFuZ2UoCi0gICAgZG91YmxlIHN0YXJ0VGlt
ZSwKLSAgICBkb3VibGUgZW5kVGltZSwKLSAgICBmbG9hdCBkZWZhdWx0VmFsdWUsCi0gICAgZmxv
YXQqIHZhbHVlcywKLSAgICB1bnNpZ25lZCBudW1iZXJPZlZhbHVlcywKLSAgICBkb3VibGUgc2Ft
cGxlUmF0ZSwKLSAgICBkb3VibGUgY29udHJvbFJhdGUpCitmbG9hdCBBdWRpb1BhcmFtVGltZWxp
bmU6OnZhbHVlc0ZvclRpbWVSYW5nZShkb3VibGUgc3RhcnRUaW1lLCBkb3VibGUgZW5kVGltZSwg
ZmxvYXQgZGVmYXVsdFZhbHVlLCBmbG9hdCogdmFsdWVzLCB1bnNpZ25lZCBudW1iZXJPZlZhbHVl
cywgZG91YmxlIHNhbXBsZVJhdGUsIGRvdWJsZSBjb250cm9sUmF0ZSkKIHsKICAgICAvLyBXZSBj
YW4ndCBjb250ZW5kIHRoZSBsb2NrIGluIHRoZSByZWFsdGltZSBhdWRpbyB0aHJlYWQuCi0gICAg
TXV0ZXhUcnlMb2NrZXIgdHJ5TG9ja2VyKG1fZXZlbnRzTG9jayk7Ci0gICAgaWYgKCF0cnlMb2Nr
ZXIubG9ja2VkKCkpIHsKKyAgICBzdGQ6OnVuaXF1ZV9sb2NrPHN0ZDo6bXV0ZXg+IGxvY2sobV9l
dmVudHNNdXRleCwgc3RkOjp0cnlfdG9fbG9jayk7CisgICAgaWYgKCFsb2NrLm93bnNfbG9jaygp
KSB7CiAgICAgICAgIGlmICh2YWx1ZXMpIHsKICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9
IDA7IGkgPCBudW1iZXJPZlZhbHVlczsgKytpKQogICAgICAgICAgICAgICAgIHZhbHVlc1tpXSA9
IGRlZmF1bHRWYWx1ZTsKQEAgLTE1OSwxNCArMTUyLDcgQEAgZmxvYXQgQXVkaW9QYXJhbVRpbWVs
aW5lOjp2YWx1ZXNGb3JUaW1lUmFuZ2UoCiAgICAgcmV0dXJuIHZhbHVlOwogfQogCi1mbG9hdCBB
dWRpb1BhcmFtVGltZWxpbmU6OnZhbHVlc0ZvclRpbWVSYW5nZUltcGwoCi0gICAgZG91YmxlIHN0
YXJ0VGltZSwKLSAgICBkb3VibGUgZW5kVGltZSwKLSAgICBmbG9hdCBkZWZhdWx0VmFsdWUsCi0g
ICAgZmxvYXQqIHZhbHVlcywKLSAgICB1bnNpZ25lZCBudW1iZXJPZlZhbHVlcywKLSAgICBkb3Vi
bGUgc2FtcGxlUmF0ZSwKLSAgICBkb3VibGUgY29udHJvbFJhdGUpCitmbG9hdCBBdWRpb1BhcmFt
VGltZWxpbmU6OnZhbHVlc0ZvclRpbWVSYW5nZUltcGwoZG91YmxlIHN0YXJ0VGltZSwgZG91Ymxl
IGVuZFRpbWUsIGZsb2F0IGRlZmF1bHRWYWx1ZSwgZmxvYXQqIHZhbHVlcywgdW5zaWduZWQgbnVt
YmVyT2ZWYWx1ZXMsIGRvdWJsZSBzYW1wbGVSYXRlLCBkb3VibGUgY29udHJvbFJhdGUpCiB7CiAg
ICAgQVNTRVJUKHZhbHVlcyk7CiAgICAgaWYgKCF2YWx1ZXMpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvUGFyYW1UaW1lbGluZS5oIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1BhcmFtVGltZWxpbmUuaAppbmRleCBlMGU1YTVk
Y2NiNTAyYmIzNzNlZGJkMDcyMDFiNTRkZWZiYTQ2Y2VhLi40ZTlmMGE0YTM1ZmM2ODg4Njk4MWYy
NjE0YzE0OTQ2MDEzMGM4MzQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1ZGlvL0F1ZGlvUGFyYW1UaW1lbGluZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViYXVkaW8vQXVkaW9QYXJhbVRpbWVsaW5lLmgKQEAgLTMwLDEwICszMCwxMCBAQAogI2RlZmlu
ZSBBdWRpb1BhcmFtVGltZWxpbmVfaAogCiAjaW5jbHVkZSAiQXVkaW9Db250ZXh0LmgiCisjaW5j
bHVkZSA8bXV0ZXg+CiAjaW5jbHVkZSA8cnVudGltZS9GbG9hdDMyQXJyYXkuaD4KICNpbmNsdWRl
IDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+Ci0jaW5jbHVk
ZSA8d3RmL1RocmVhZGluZy5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewpAQCAtMTA3LDcgKzEwNyw3IEBAIHByaXZhdGU6CiAKICAgICBWZWN0b3I8UGFy
YW1FdmVudD4gbV9ldmVudHM7CiAKLSAgICBNdXRleCBtX2V2ZW50c0xvY2s7CisgICAgc3RkOjpt
dXRleCBtX2V2ZW50c011dGV4OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9Db252b2x2ZXJOb2RlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQ29udm9sdmVyTm9kZS5jcHAKaW5kZXgg
MDExMDBiZTI3Mjg3OTYwOWQ0OWVkODM4MjBiOTYxNTMwZWQyZmE0Zi4uNWVhZjA3N2YzZWZiMWNj
OGQ0NWMyNjhiODM4YzY0YWRjZjQ0NTkyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJhdWRpby9Db252b2x2ZXJOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL0NvbnZvbHZlck5vZGUuY3BwCkBAIC03MywyNyArNzMsMjggQEAgdm9pZCBD
b252b2x2ZXJOb2RlOjpwcm9jZXNzKHNpemVfdCBmcmFtZXNUb1Byb2Nlc3MpCiAgICAgQVNTRVJU
KG91dHB1dEJ1cyk7CiAKICAgICAvLyBTeW5jaHJvbml6ZSB3aXRoIHBvc3NpYmxlIGR5bmFtaWMg
Y2hhbmdlcyB0byB0aGUgaW1wdWxzZSByZXNwb25zZS4KLSAgICBNdXRleFRyeUxvY2tlciB0cnlM
b2NrZXIobV9wcm9jZXNzTG9jayk7Ci0gICAgaWYgKHRyeUxvY2tlci5sb2NrZWQoKSkgewotICAg
ICAgICBpZiAoIWlzSW5pdGlhbGl6ZWQoKSB8fCAhbV9yZXZlcmIuZ2V0KCkpCi0gICAgICAgICAg
ICBvdXRwdXRCdXMtPnplcm8oKTsKLSAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAvLyBQcm9j
ZXNzIHVzaW5nIHRoZSBjb252b2x1dGlvbiBlbmdpbmUuCi0gICAgICAgICAgICAvLyBOb3RlIHRo
YXQgd2UgY2FuIGhhbmRsZSB0aGUgY2FzZSB3aGVyZSBub3RoaW5nIGlzIGNvbm5lY3RlZCB0byB0
aGUgaW5wdXQsIGluIHdoaWNoIGNhc2Ugd2UnbGwganVzdCBmZWVkIHNpbGVuY2UgaW50byB0aGUg
Y29udm9sdmVyLgotICAgICAgICAgICAgLy8gRklYTUU6ICBJZiB3ZSB3YW50ZWQgdG8gZ2V0IGZh
bmN5IHdlIGNvdWxkIHRyeSB0byBmYWN0b3IgaW4gdGhlICd0YWlsIHRpbWUnIGFuZCBzdG9wIHBy
b2Nlc3Npbmcgb25jZSB0aGUgdGFpbCBkaWVzIGRvd24gaWYKLSAgICAgICAgICAgIC8vIHdlIGtl
ZXAgZ2V0dGluZyBmZWQgc2lsZW5jZS4KLSAgICAgICAgICAgIG1fcmV2ZXJiLT5wcm9jZXNzKGlu
cHV0KDApLT5idXMoKSwgb3V0cHV0QnVzLCBmcmFtZXNUb1Byb2Nlc3MpOwotICAgICAgICB9Ci0g
ICAgfSBlbHNlIHsKLSAgICAgICAgLy8gVG9vIGJhZCAtIHRoZSB0cnlMb2NrKCkgZmFpbGVkLiAg
V2UgbXVzdCBiZSBpbiB0aGUgbWlkZGxlIG9mIHNldHRpbmcgYSBuZXcgaW1wdWxzZSByZXNwb25z
ZS4KKyAgICBzdGQ6OnVuaXF1ZV9sb2NrPHN0ZDo6bXV0ZXg+IGxvY2sobV9wcm9jZXNzTXV0ZXgs
IHN0ZDo6dHJ5X3RvX2xvY2spOworICAgIGlmICghbG9jay5vd25zX2xvY2soKSkgeworICAgICAg
ICAvLyBUb28gYmFkIC0gdGhlIHRyeV9sb2NrKCkgZmFpbGVkLiBXZSBtdXN0IGJlIGluIHRoZSBt
aWRkbGUgb2Ygc2V0dGluZyBhIG5ldyBpbXB1bHNlIHJlc3BvbnNlLgogICAgICAgICBvdXRwdXRC
dXMtPnplcm8oKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmICghaXNJbml0aWFs
aXplZCgpIHx8ICFtX3JldmVyYi5nZXQoKSkKKyAgICAgICAgb3V0cHV0QnVzLT56ZXJvKCk7Cisg
ICAgZWxzZSB7CisgICAgICAgIC8vIFByb2Nlc3MgdXNpbmcgdGhlIGNvbnZvbHV0aW9uIGVuZ2lu
ZS4KKyAgICAgICAgLy8gTm90ZSB0aGF0IHdlIGNhbiBoYW5kbGUgdGhlIGNhc2Ugd2hlcmUgbm90
aGluZyBpcyBjb25uZWN0ZWQgdG8gdGhlIGlucHV0LCBpbiB3aGljaCBjYXNlIHdlJ2xsIGp1c3Qg
ZmVlZCBzaWxlbmNlIGludG8gdGhlIGNvbnZvbHZlci4KKyAgICAgICAgLy8gRklYTUU6IElmIHdl
IHdhbnRlZCB0byBnZXQgZmFuY3kgd2UgY291bGQgdHJ5IHRvIGZhY3RvciBpbiB0aGUgJ3RhaWwg
dGltZScgYW5kIHN0b3AgcHJvY2Vzc2luZyBvbmNlIHRoZSB0YWlsIGRpZXMgZG93biBpZgorICAg
ICAgICAvLyB3ZSBrZWVwIGdldHRpbmcgZmVkIHNpbGVuY2UuCisgICAgICAgIG1fcmV2ZXJiLT5w
cm9jZXNzKGlucHV0KDApLT5idXMoKSwgb3V0cHV0QnVzLCBmcmFtZXNUb1Byb2Nlc3MpOwogICAg
IH0KIH0KIAogdm9pZCBDb252b2x2ZXJOb2RlOjpyZXNldCgpCiB7Ci0gICAgTXV0ZXhMb2NrZXIg
bG9ja2VyKG1fcHJvY2Vzc0xvY2spOwotICAgIGlmIChtX3JldmVyYi5nZXQoKSkKKyAgICBzdGQ6
OmxvY2tfZ3VhcmQ8c3RkOjptdXRleD4gbG9jayhtX3Byb2Nlc3NNdXRleCk7CisgICAgaWYgKG1f
cmV2ZXJiKQogICAgICAgICBtX3JldmVyYi0+cmVzZXQoKTsKIH0KIApAQCAtMTQ0LDcgKzE0NSw3
IEBAIHZvaWQgQ29udm9sdmVyTm9kZTo6c2V0QnVmZmVyKEF1ZGlvQnVmZmVyKiBidWZmZXIpCiAK
ICAgICB7CiAgICAgICAgIC8vIFN5bmNocm9uaXplIHdpdGggcHJvY2VzcygpLgotICAgICAgICBN
dXRleExvY2tlciBsb2NrZXIobV9wcm9jZXNzTG9jayk7CisgICAgICAgIHN0ZDo6bG9ja19ndWFy
ZDxzdGQ6Om11dGV4PiBsb2NrKG1fcHJvY2Vzc011dGV4KTsKICAgICAgICAgbV9yZXZlcmIgPSBy
ZXZlcmIucmVsZWFzZSgpOwogICAgICAgICBtX2J1ZmZlciA9IGJ1ZmZlcjsKICAgICB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0NvbnZvbHZlck5vZGUuaCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQ29udm9sdmVyTm9kZS5oCmluZGV4IDA0
Yzc1NzFiMzZkYWU4MzU1ZTU4N2JkNzI1OWM0MTdkNGRlOTg3ZWEuLmNkM2YwNTBkZWY3MjVkMzI2
ODc2OGUwMWIxOTA4Mjc1NjVlMmMzMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViYXVkaW8vQ29udm9sdmVyTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViYXVkaW8vQ29udm9sdmVyTm9kZS5oCkBAIC0yNiw5ICsyNiw5IEBACiAjZGVmaW5lIENvbnZv
bHZlck5vZGVfaAogCiAjaW5jbHVkZSAiQXVkaW9Ob2RlLmgiCisjaW5jbHVkZSA8bXV0ZXg+CiAj
aW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KLSNpbmNsdWRl
IDx3dGYvVGhyZWFkaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNjcsNyArNjcs
NyBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxBdWRpb0J1ZmZlcj4gbV9idWZmZXI7CiAKICAgICAv
LyBUaGlzIHN5bmNocm9uaXplcyBkeW5hbWljIGNoYW5nZXMgdG8gdGhlIGNvbnZvbHV0aW9uIGlt
cHVsc2UgcmVzcG9uc2Ugd2l0aCBwcm9jZXNzKCkuCi0gICAgbXV0YWJsZSBNdXRleCBtX3Byb2Nl
c3NMb2NrOworICAgIG11dGFibGUgc3RkOjptdXRleCBtX3Byb2Nlc3NNdXRleDsKIAogICAgIC8v
IE5vcm1hbGl6ZSB0aGUgaW1wdWxzZSByZXNwb25zZSBvciBub3QuIE11c3QgZGVmYXVsdCB0byB0
cnVlLgogICAgIGJvb2wgbV9ub3JtYWxpemU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1ZGlvL01lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZS5jcHAK
aW5kZXggMzQ2NWU0MzcyMzU4ZjI5OTdkZTZmMGViMDIzMjlkZDU2ZDU3NmQ0NS4uMGI4MTFmZDM0
NmY0NTgzYzc4NDc4MTNkN2VhMWZjYjZlZDNjMDk3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VO
b2RlLmNwcApAQCAtODAsNyArODAsNyBAQCB2b2lkIE1lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9k
ZTo6c2V0Rm9ybWF0KHNpemVfdCBudW1iZXJPZkNoYW5uZWxzLCBmbG9hdCBzb3VyYwogICAgICAg
ICBtX3NvdXJjZVNhbXBsZVJhdGUgPSBzb3VyY2VTYW1wbGVSYXRlOwogCiAgICAgICAgIC8vIFN5
bmNocm9uaXplIHdpdGggcHJvY2VzcygpLgotICAgICAgICBMb2NrZXI8TWVkaWFFbGVtZW50QXVk
aW9Tb3VyY2VOb2RlPiBsb2NrZXIoKnRoaXMpOworICAgICAgICBzdGQ6OmxvY2tfZ3VhcmQ8TWVk
aWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlPiBsb2NrKCp0aGlzKTsKIAogICAgICAgICBpZiAoc291
cmNlU2FtcGxlUmF0ZSAhPSBzYW1wbGVSYXRlKCkpIHsKICAgICAgICAgICAgIGRvdWJsZSBzY2Fs
ZUZhY3RvciA9IHNvdXJjZVNhbXBsZVJhdGUgLyBzYW1wbGVSYXRlKCk7CkBAIC0xMDksMjcgKzEw
OSwyOCBAQCB2b2lkIE1lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZTo6cHJvY2VzcyhzaXplX3Qg
bnVtYmVyT2ZGcmFtZXMpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICAvLyBVc2UgYSB0
cnlMb2NrKCkgdG8gYXZvaWQgY29udGVudGlvbiBpbiB0aGUgcmVhbC10aW1lIGF1ZGlvIHRocmVh
ZC4KKyAgICAvLyBVc2UgYSBzdGQ6OnRyeV90b19sb2NrIHRvIGF2b2lkIGNvbnRlbnRpb24gaW4g
dGhlIHJlYWwtdGltZSBhdWRpbyB0aHJlYWQuCiAgICAgLy8gSWYgd2UgZmFpbCB0byBhY3F1aXJl
IHRoZSBsb2NrIHRoZW4gdGhlIEhUTUxNZWRpYUVsZW1lbnQgbXVzdCBiZSBpbiB0aGUgbWlkZGxl
IG9mCiAgICAgLy8gcmVjb25maWd1cmluZyBpdHMgcGxheWJhY2sgZW5naW5lLCBzbyB3ZSBvdXRw
dXQgc2lsZW5jZSBpbiB0aGlzIGNhc2UuCi0gICAgTXV0ZXhUcnlMb2NrZXIgdHJ5TG9ja2VyKG1f
cHJvY2Vzc0xvY2spOwotICAgIGlmICh0cnlMb2NrZXIubG9ja2VkKCkpIHsKLSAgICAgICAgaWYg
KEF1ZGlvU291cmNlUHJvdmlkZXIqIHByb3ZpZGVyID0gbWVkaWFFbGVtZW50KCktPmF1ZGlvU291
cmNlUHJvdmlkZXIoKSkgewotICAgICAgICAgICAgaWYgKG1fbXVsdGlDaGFubmVsUmVzYW1wbGVy
LmdldCgpKSB7Ci0gICAgICAgICAgICAgICAgQVNTRVJUKG1fc291cmNlU2FtcGxlUmF0ZSAhPSBz
YW1wbGVSYXRlKCkpOwotICAgICAgICAgICAgICAgIG1fbXVsdGlDaGFubmVsUmVzYW1wbGVyLT5w
cm9jZXNzKHByb3ZpZGVyLCBvdXRwdXRCdXMsIG51bWJlck9mRnJhbWVzKTsKLSAgICAgICAgICAg
IH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgLy8gQnlwYXNzIHRoZSByZXNhbXBsZXIgY29tcGxl
dGVseSBpZiB0aGUgc291cmNlIGlzIGF0IHRoZSBjb250ZXh0J3Mgc2FtcGxlLXJhdGUuCi0gICAg
ICAgICAgICAgICAgQVNTRVJUKG1fc291cmNlU2FtcGxlUmF0ZSA9PSBzYW1wbGVSYXRlKCkpOwot
ICAgICAgICAgICAgICAgIHByb3ZpZGVyLT5wcm92aWRlSW5wdXQob3V0cHV0QnVzLCBudW1iZXJP
ZkZyYW1lcyk7Ci0gICAgICAgICAgICB9CisgICAgc3RkOjp1bmlxdWVfbG9jazxzdGQ6Om11dGV4
PiBsb2NrKG1fcHJvY2Vzc011dGV4LCBzdGQ6OnRyeV90b19sb2NrKTsKKyAgICBpZiAoIWxvY2su
b3duc19sb2NrKCkpIHsKKyAgICAgICAgLy8gV2UgZmFpbGVkIHRvIGFjcXVpcmUgdGhlIGxvY2su
CisgICAgICAgIG91dHB1dEJ1cy0+emVybygpOworICAgICAgICByZXR1cm47CisgICAgfQorCisg
ICAgaWYgKEF1ZGlvU291cmNlUHJvdmlkZXIqIHByb3ZpZGVyID0gbWVkaWFFbGVtZW50KCktPmF1
ZGlvU291cmNlUHJvdmlkZXIoKSkgeworICAgICAgICBpZiAobV9tdWx0aUNoYW5uZWxSZXNhbXBs
ZXIuZ2V0KCkpIHsKKyAgICAgICAgICAgIEFTU0VSVChtX3NvdXJjZVNhbXBsZVJhdGUgIT0gc2Ft
cGxlUmF0ZSgpKTsKKyAgICAgICAgICAgIG1fbXVsdGlDaGFubmVsUmVzYW1wbGVyLT5wcm9jZXNz
KHByb3ZpZGVyLCBvdXRwdXRCdXMsIG51bWJlck9mRnJhbWVzKTsKICAgICAgICAgfSBlbHNlIHsK
LSAgICAgICAgICAgIC8vIEVpdGhlciB0aGlzIHBvcnQgZG9lc24ndCB5ZXQgc3VwcG9ydCBIVE1M
TWVkaWFFbGVtZW50IGF1ZGlvIHN0cmVhbSBhY2Nlc3MsCi0gICAgICAgICAgICAvLyBvciB0aGUg
c3RyZWFtIGlzIG5vdCB5ZXQgYXZhaWxhYmxlLgotICAgICAgICAgICAgb3V0cHV0QnVzLT56ZXJv
KCk7CisgICAgICAgICAgICAvLyBCeXBhc3MgdGhlIHJlc2FtcGxlciBjb21wbGV0ZWx5IGlmIHRo
ZSBzb3VyY2UgaXMgYXQgdGhlIGNvbnRleHQncyBzYW1wbGUtcmF0ZS4KKyAgICAgICAgICAgIEFT
U0VSVChtX3NvdXJjZVNhbXBsZVJhdGUgPT0gc2FtcGxlUmF0ZSgpKTsKKyAgICAgICAgICAgIHBy
b3ZpZGVyLT5wcm92aWRlSW5wdXQob3V0cHV0QnVzLCBudW1iZXJPZkZyYW1lcyk7CiAgICAgICAg
IH0KICAgICB9IGVsc2UgewotICAgICAgICAvLyBXZSBmYWlsZWQgdG8gYWNxdWlyZSB0aGUgbG9j
ay4KKyAgICAgICAgLy8gRWl0aGVyIHRoaXMgcG9ydCBkb2Vzbid0IHlldCBzdXBwb3J0IEhUTUxN
ZWRpYUVsZW1lbnQgYXVkaW8gc3RyZWFtIGFjY2VzcywKKyAgICAgICAgLy8gb3IgdGhlIHN0cmVh
bSBpcyBub3QgeWV0IGF2YWlsYWJsZS4KICAgICAgICAgb3V0cHV0QnVzLT56ZXJvKCk7CiAgICAg
fQogfQpAQCAtMTQxLDEyICsxNDIsMTIgQEAgdm9pZCBNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5v
ZGU6OnJlc2V0KCkKIHZvaWQgTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlOjpsb2NrKCkKIHsK
ICAgICByZWYoKTsKLSAgICBtX3Byb2Nlc3NMb2NrLmxvY2soKTsKKyAgICBtX3Byb2Nlc3NNdXRl
eC5sb2NrKCk7CiB9CiAKIHZvaWQgTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlOjp1bmxvY2so
KQogewotICAgIG1fcHJvY2Vzc0xvY2sudW5sb2NrKCk7CisgICAgbV9wcm9jZXNzTXV0ZXgudW5s
b2NrKCk7CiAgICAgZGVyZWYoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJhdWRpby9NZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUuaCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlLmgKaW5kZXgg
MjBmOGFmMzA3YzRjNmM2OWI2Njk5YmI0Y2UwNjljODgyODc1M2U0Yy4uNjkwZjJjMDA5MjZlODc3
ZGJkMTcxN2VkMTI4YzI0NDk2MWJlNmRhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJhdWRpby9NZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZS5oCkBA
IC0zMSw5ICszMSw5IEBACiAjaW5jbHVkZSAiQXVkaW9Tb3VyY2VQcm92aWRlckNsaWVudC5oIgog
I2luY2x1ZGUgIkhUTUxNZWRpYUVsZW1lbnQuaCIKICNpbmNsdWRlICJNdWx0aUNoYW5uZWxSZXNh
bXBsZXIuaCIKKyNpbmNsdWRlIDxtdXRleD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5j
bHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KLSNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNjcsNyArNjcsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1
YWwgYm9vbCBwcm9wYWdhdGVzU2lsZW5jZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNl
OyB9CiAKICAgICBSZWZQdHI8SFRNTE1lZGlhRWxlbWVudD4gbV9tZWRpYUVsZW1lbnQ7Ci0gICAg
TXV0ZXggbV9wcm9jZXNzTG9jazsKKyAgICBzdGQ6Om11dGV4IG1fcHJvY2Vzc011dGV4OwogCiAg
ICAgdW5zaWduZWQgbV9zb3VyY2VOdW1iZXJPZkNoYW5uZWxzOwogICAgIGRvdWJsZSBtX3NvdXJj
ZVNhbXBsZVJhdGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlv
L01lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGUuY3BwCmluZGV4IDBlYzViY2UxYTNh
NTY1NzFlODA4M2VjMTU5OTU3ZjM1NzE1NTgxZDYuLmZiYTM0ZDBlMWFiNjIwZjc0ZDgzNmE3Zjg1
MTgyMGYwYzUzOTcxYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVk
aW8vTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGUuY3BwCkBAIC03Miw3ICs3
Miw3IEBAIHZvaWQgTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGU6OnNldEZvcm1hdChzaXplX3Qg
bnVtYmVyT2ZDaGFubmVscywgZmxvYXQgc291cmNlCiAgICAgICAgIH0KIAogICAgICAgICAvLyBT
eW5jaHJvbml6ZSB3aXRoIHByb2Nlc3MoKS4KLSAgICAgICAgTXV0ZXhMb2NrZXIgbG9ja2VyKG1f
cHJvY2Vzc0xvY2spOworICAgICAgICBzdGQ6OmxvY2tfZ3VhcmQ8c3RkOjptdXRleD4gbG9jayht
X3Byb2Nlc3NNdXRleCk7CiAKICAgICAgICAgbV9zb3VyY2VOdW1iZXJPZkNoYW5uZWxzID0gbnVt
YmVyT2ZDaGFubmVsczsKIApAQCAtMTAwLDE2ICsxMDAsMTcgQEAgdm9pZCBNZWRpYVN0cmVhbUF1
ZGlvU291cmNlTm9kZTo6cHJvY2VzcyhzaXplX3QgbnVtYmVyT2ZGcmFtZXMpCiAgICAgICAgIHJl
dHVybjsKICAgICB9CiAKLSAgICAvLyBVc2UgYSB0cnlMb2NrKCkgdG8gYXZvaWQgY29udGVudGlv
biBpbiB0aGUgcmVhbC10aW1lIGF1ZGlvIHRocmVhZC4KKyAgICAvLyBVc2Ugc3RkOjp0cnlfdG9f
bG9jayB0byBhdm9pZCBjb250ZW50aW9uIGluIHRoZSByZWFsLXRpbWUgYXVkaW8gdGhyZWFkLgog
ICAgIC8vIElmIHdlIGZhaWwgdG8gYWNxdWlyZSB0aGUgbG9jayB0aGVuIHRoZSBNZWRpYVN0cmVh
bSBtdXN0IGJlIGluIHRoZSBtaWRkbGUgb2YKICAgICAvLyBhIGZvcm1hdCBjaGFuZ2UsIHNvIHdl
IG91dHB1dCBzaWxlbmNlIGluIHRoaXMgY2FzZS4KLSAgICBNdXRleFRyeUxvY2tlciB0cnlMb2Nr
ZXIobV9wcm9jZXNzTG9jayk7Ci0gICAgaWYgKHRyeUxvY2tlci5sb2NrZWQoKSkKLSAgICAgICAg
YXVkaW9Tb3VyY2VQcm92aWRlcigpLT5wcm92aWRlSW5wdXQob3V0cHV0QnVzLCBudW1iZXJPZkZy
YW1lcyk7Ci0gICAgZWxzZSB7CisgICAgc3RkOjp1bmlxdWVfbG9jazxzdGQ6Om11dGV4PiBsb2Nr
KG1fcHJvY2Vzc011dGV4LCBzdGQ6OnRyeV90b19sb2NrKTsKKyAgICBpZiAoIWxvY2sub3duc19s
b2NrKCkpIHsKICAgICAgICAgLy8gV2UgZmFpbGVkIHRvIGFjcXVpcmUgdGhlIGxvY2suCiAgICAg
ICAgIG91dHB1dEJ1cy0+emVybygpOworICAgICAgICByZXR1cm47CiAgICAgfQorCisgICAgYXVk
aW9Tb3VyY2VQcm92aWRlcigpLT5wcm92aWRlSW5wdXQob3V0cHV0QnVzLCBudW1iZXJPZkZyYW1l
cyk7CiB9CiAKIHZvaWQgTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGU6OnJlc2V0KCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb1Nv
dXJjZU5vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1B
dWRpb1NvdXJjZU5vZGUuaAppbmRleCBiYjI0NmFhMzM1NDJlN2MzOWIyNzRiMTRmZTgwNWIyMmY2
ZThhNzgxLi5lYTM1NWJjOWYyODU4ODVhNjk4MGE3NDUyZTkzNWFiODcyNTNlOTVhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9Tb3Vy
Y2VOb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0cmVh
bUF1ZGlvU291cmNlTm9kZS5oCkBAIC0zMSw5ICszMSw5IEBACiAjaW5jbHVkZSAiQXVkaW9Tb3Vy
Y2VQcm92aWRlci5oIgogI2luY2x1ZGUgIkF1ZGlvU291cmNlUHJvdmlkZXJDbGllbnQuaCIKICNp
bmNsdWRlICJNZWRpYVN0cmVhbS5oIgorI2luY2x1ZGUgPG11dGV4PgogI2luY2x1ZGUgPHd0Zi9P
d25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgotI2luY2x1ZGUgPHd0Zi9UaHJl
YWRpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC02OSw3ICs2OSw3IEBAIHByaXZh
dGU6CiAgICAgUmVmUHRyPE1lZGlhU3RyZWFtVHJhY2s+IG1fYXVkaW9UcmFjazsKICAgICBBdWRp
b1NvdXJjZVByb3ZpZGVyKiBtX2F1ZGlvU291cmNlUHJvdmlkZXI7CiAKLSAgICBNdXRleCBtX3By
b2Nlc3NMb2NrOworICAgIHN0ZDo6bXV0ZXggbV9wcm9jZXNzTXV0ZXg7CiAKICAgICB1bnNpZ25l
ZCBtX3NvdXJjZU51bWJlck9mQ2hhbm5lbHM7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9Pc2NpbGxhdG9yTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1ZGlvL09zY2lsbGF0b3JOb2RlLmNwcAppbmRleCA3ZWIxNDdkNDAyMjFkOTUx
YWI1NzNhZGE1ZDg4ZjE0NTI1ZWVkYjhjLi42YTk5NGEwZWEzM2RlNzE2OTIyMmExY2RlZDY2NjM4
MTQyMzMyZjZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL09z
Y2lsbGF0b3JOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL09z
Y2lsbGF0b3JOb2RlLmNwcApAQCAtMjMwLDEwICsyMzAsMTAgQEAgdm9pZCBPc2NpbGxhdG9yTm9k
ZTo6cHJvY2VzcyhzaXplX3QgZnJhbWVzVG9Qcm9jZXNzKQogICAgIGlmIChmcmFtZXNUb1Byb2Nl
c3MgPiBtX3BoYXNlSW5jcmVtZW50cy5zaXplKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIC8v
IFRoZSBhdWRpbyB0aHJlYWQgY2FuJ3QgYmxvY2sgb24gdGhpcyBsb2NrLCBzbyB3ZSBjYWxsIHRy
eUxvY2soKSBpbnN0ZWFkLgotICAgIE11dGV4VHJ5TG9ja2VyIHRyeUxvY2tlcihtX3Byb2Nlc3NM
b2NrKTsKLSAgICBpZiAoIXRyeUxvY2tlci5sb2NrZWQoKSkgewotICAgICAgICAvLyBUb28gYmFk
IC0gdGhlIHRyeUxvY2soKSBmYWlsZWQuIFdlIG11c3QgYmUgaW4gdGhlIG1pZGRsZSBvZiBjaGFu
Z2luZyB3YXZlLXRhYmxlcy4KKyAgICAvLyBUaGUgYXVkaW8gdGhyZWFkIGNhbid0IGJsb2NrIG9u
IHRoaXMgbG9jaywgc28gd2UgdXNlIHN0ZDo6dHJ5X3RvX2xvY2sgaW5zdGVhZC4KKyAgICBzdGQ6
OnVuaXF1ZV9sb2NrPHN0ZDo6bXV0ZXg+IGxvY2sobV9wcm9jZXNzTXV0ZXgsIHN0ZDo6dHJ5X3Rv
X2xvY2spOworICAgIGlmICghbG9jay5vd25zX2xvY2soKSkgeworICAgICAgICAvLyBUb28gYmFk
IC0gdGhlIHRyeV9sb2NrKCkgZmFpbGVkLiBXZSBtdXN0IGJlIGluIHRoZSBtaWRkbGUgb2YgY2hh
bmdpbmcgd2F2ZS10YWJsZXMuCiAgICAgICAgIG91dHB1dEJ1cy0+emVybygpOwogICAgICAgICBy
ZXR1cm47CiAgICAgfQpAQCAtMzQwLDcgKzM0MCw3IEBAIHZvaWQgT3NjaWxsYXRvck5vZGU6OnNl
dFBlcmlvZGljV2F2ZShQZXJpb2RpY1dhdmUqIHBlcmlvZGljV2F2ZSkKICAgICBBU1NFUlQoaXNN
YWluVGhyZWFkKCkpOwogCiAgICAgLy8gVGhpcyBzeW5jaHJvbml6ZXMgd2l0aCBwcm9jZXNzKCku
Ci0gICAgTXV0ZXhMb2NrZXIgcHJvY2Vzc0xvY2tlcihtX3Byb2Nlc3NMb2NrKTsKKyAgICBzdGQ6
OmxvY2tfZ3VhcmQ8c3RkOjptdXRleD4gbG9jayhtX3Byb2Nlc3NNdXRleCk7CiAgICAgbV9wZXJp
b2RpY1dhdmUgPSBwZXJpb2RpY1dhdmU7CiAgICAgbV90eXBlID0gQ1VTVE9NOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9Pc2NpbGxhdG9yTm9kZS5oIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9Pc2NpbGxhdG9yTm9kZS5oCmluZGV4IDQ5
Y2NhOTRlOGI4NmJiN2UwNmE0Yjk0Zjk5MGM0M2MzYzg3ZmNkYTQuLjA1OTY5MjY2ZjlhMDI0ZDQ5
NjE2ZDhkM2VmYzlmMDZjMWJhNzUyMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViYXVkaW8vT3NjaWxsYXRvck5vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL09zY2lsbGF0b3JOb2RlLmgKQEAgLTI4LDkgKzI4LDkgQEAKICNpbmNsdWRlICJB
dWRpb0J1cy5oIgogI2luY2x1ZGUgIkF1ZGlvUGFyYW0uaCIKICNpbmNsdWRlICJBdWRpb1NjaGVk
dWxlZFNvdXJjZU5vZGUuaCIKKyNpbmNsdWRlIDxtdXRleD4KICNpbmNsdWRlIDx3dGYvUGFzc1Jl
ZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KLSNpbmNsdWRlIDx3dGYvVGhyZWFkaW5n
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtOTYsNyArOTYsNyBAQCBwcml2YXRlOgog
ICAgIGRvdWJsZSBtX3ZpcnR1YWxSZWFkSW5kZXg7CiAKICAgICAvLyBUaGlzIHN5bmNocm9uaXpl
cyBwcm9jZXNzKCkuCi0gICAgbXV0YWJsZSBNdXRleCBtX3Byb2Nlc3NMb2NrOworICAgIG11dGFi
bGUgc3RkOjptdXRleCBtX3Byb2Nlc3NNdXRleDsKIAogICAgIC8vIFN0b3JlcyBzYW1wbGUtYWNj
dXJhdGUgdmFsdWVzIGNhbGN1bGF0ZWQgYWNjb3JkaW5nIHRvIGZyZXF1ZW5jeSBhbmQgZGV0dW5l
LgogICAgIEF1ZGlvRmxvYXRBcnJheSBtX3BoYXNlSW5jcmVtZW50czsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vUGFubmVyTm9kZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1Bhbm5lck5vZGUuY3BwCmluZGV4IGJlOTM4Njk2NWVjZDdl
NDUxNDJhODVhYmZlNjA0ZGYxZDgyMjBhNzMuLmQ1NDU3NWFlZDA1MWM1NmI0NjJjODdmNDk3ZGEw
YzdlODZmNDM3ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8v
UGFubmVyTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9QYW5u
ZXJOb2RlLmNwcApAQCAtMTA3LDI4ICsxMDcsMjkgQEAgdm9pZCBQYW5uZXJOb2RlOjpwcm9jZXNz
KHNpemVfdCBmcmFtZXNUb1Byb2Nlc3MpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICAv
LyBUaGUgYXVkaW8gdGhyZWFkIGNhbid0IGJsb2NrIG9uIHRoaXMgbG9jaywgc28gd2UgY2FsbCB0
cnlMb2NrKCkgaW5zdGVhZC4KLSAgICBNdXRleFRyeUxvY2tlciB0cnlMb2NrZXIobV9wYW5uZXJM
b2NrKTsKLSAgICBpZiAodHJ5TG9ja2VyLmxvY2tlZCgpKSB7Ci0gICAgICAgIC8vIEFwcGx5IHRo
ZSBwYW5uaW5nIGVmZmVjdC4KLSAgICAgICAgZG91YmxlIGF6aW11dGg7Ci0gICAgICAgIGRvdWJs
ZSBlbGV2YXRpb247Ci0gICAgICAgIGdldEF6aW11dGhFbGV2YXRpb24oJmF6aW11dGgsICZlbGV2
YXRpb24pOwotICAgICAgICBtX3Bhbm5lci0+cGFuKGF6aW11dGgsIGVsZXZhdGlvbiwgc291cmNl
LCBkZXN0aW5hdGlvbiwgZnJhbWVzVG9Qcm9jZXNzKTsKLQotICAgICAgICAvLyBHZXQgdGhlIGRp
c3RhbmNlIGFuZCBjb25lIGdhaW4uCi0gICAgICAgIGRvdWJsZSB0b3RhbEdhaW4gPSBkaXN0YW5j
ZUNvbmVHYWluKCk7Ci0KLSAgICAgICAgLy8gU25hcCB0byBkZXNpcmVkIGdhaW4gYXQgdGhlIGJl
Z2lubmluZy4KLSAgICAgICAgaWYgKG1fbGFzdEdhaW4gPT0gLTEuMCkKLSAgICAgICAgICAgIG1f
bGFzdEdhaW4gPSB0b3RhbEdhaW47Ci0gICAgICAgIAotICAgICAgICAvLyBBcHBseSBnYWluIGlu
LXBsYWNlIHdpdGggZGUtemlwcGVyaW5nLgotICAgICAgICBkZXN0aW5hdGlvbi0+Y29weVdpdGhH
YWluRnJvbSgqZGVzdGluYXRpb24sICZtX2xhc3RHYWluLCB0b3RhbEdhaW4pOwotICAgIH0gZWxz
ZSB7Ci0gICAgICAgIC8vIFRvbyBiYWQgLSBUaGUgdHJ5TG9jaygpIGZhaWxlZC4gV2UgbXVzdCBi
ZSBpbiB0aGUgbWlkZGxlIG9mIGNoYW5naW5nIHRoZSBwYW5uZXIuCisgICAgLy8gVGhlIGF1ZGlv
IHRocmVhZCBjYW4ndCBibG9jayBvbiB0aGlzIGxvY2ssIHNvIHdlIHVzZSBzdGQ6OnRyeV90b19s
b2NrIGluc3RlYWQuCisgICAgc3RkOjp1bmlxdWVfbG9jazxzdGQ6Om11dGV4PiBsb2NrKG1fcGFu
bmVyTXV0ZXgsIHN0ZDo6dHJ5X3RvX2xvY2spOworICAgIGlmICghbG9jay5vd25zX2xvY2soKSkg
eworICAgICAgICAvLyBUb28gYmFkIC0gVGhlIHRyeV9sb2NrKCkgZmFpbGVkLiBXZSBtdXN0IGJl
IGluIHRoZSBtaWRkbGUgb2YgY2hhbmdpbmcgdGhlIHBhbm5lci4KICAgICAgICAgZGVzdGluYXRp
b24tPnplcm8oKTsKKyAgICAgICAgcmV0dXJuOwogICAgIH0KKworICAgIC8vIEFwcGx5IHRoZSBw
YW5uaW5nIGVmZmVjdC4KKyAgICBkb3VibGUgYXppbXV0aDsKKyAgICBkb3VibGUgZWxldmF0aW9u
OworICAgIGdldEF6aW11dGhFbGV2YXRpb24oJmF6aW11dGgsICZlbGV2YXRpb24pOworICAgIG1f
cGFubmVyLT5wYW4oYXppbXV0aCwgZWxldmF0aW9uLCBzb3VyY2UsIGRlc3RpbmF0aW9uLCBmcmFt
ZXNUb1Byb2Nlc3MpOworCisgICAgLy8gR2V0IHRoZSBkaXN0YW5jZSBhbmQgY29uZSBnYWluLgor
ICAgIGRvdWJsZSB0b3RhbEdhaW4gPSBkaXN0YW5jZUNvbmVHYWluKCk7CisKKyAgICAvLyBTbmFw
IHRvIGRlc2lyZWQgZ2FpbiBhdCB0aGUgYmVnaW5uaW5nLgorICAgIGlmIChtX2xhc3RHYWluID09
IC0xLjApCisgICAgICAgIG1fbGFzdEdhaW4gPSB0b3RhbEdhaW47CisKKyAgICAvLyBBcHBseSBn
YWluIGluLXBsYWNlIHdpdGggZGUtemlwcGVyaW5nLgorICAgIGRlc3RpbmF0aW9uLT5jb3B5V2l0
aEdhaW5Gcm9tKCpkZXN0aW5hdGlvbiwgJm1fbGFzdEdhaW4sIHRvdGFsR2Fpbik7CiB9CiAKIHZv
aWQgUGFubmVyTm9kZTo6cmVzZXQoKQpAQCAtMTk2LDggKzE5Nyw4IEBAIGJvb2wgUGFubmVyTm9k
ZTo6c2V0UGFubmluZ01vZGVsKHVuc2lnbmVkIG1vZGVsKQogICAgIGNhc2UgSFJURjoKICAgICAg
ICAgaWYgKCFtX3Bhbm5lci5nZXQoKSB8fCBtb2RlbCAhPSBtX3Bhbm5pbmdNb2RlbCkgewogICAg
ICAgICAgICAgLy8gVGhpcyBzeW5jaHJvbml6ZXMgd2l0aCBwcm9jZXNzKCkuCi0gICAgICAgICAg
ICBNdXRleExvY2tlciBwcm9jZXNzTG9ja2VyKG1fcGFubmVyTG9jayk7Ci0gICAgICAgICAgICAK
KyAgICAgICAgICAgIHN0ZDo6bG9ja19ndWFyZDxzdGQ6Om11dGV4PiBsb2NrKG1fcGFubmVyTXV0
ZXgpOworCiAgICAgICAgICAgICBPd25QdHI8UGFubmVyPiBuZXdQYW5uZXIgPSBQYW5uZXI6OmNy
ZWF0ZShtb2RlbCwgc2FtcGxlUmF0ZSgpLCBjb250ZXh0KCktPmhydGZEYXRhYmFzZUxvYWRlcigp
KTsKICAgICAgICAgICAgIG1fcGFubmVyID0gbmV3UGFubmVyLnJlbGVhc2UoKTsKICAgICAgICAg
ICAgIG1fcGFubmluZ01vZGVsID0gbW9kZWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1ZGlvL1Bhbm5lck5vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
YXVkaW8vUGFubmVyTm9kZS5oCmluZGV4IDhmZjJjNzBlNmI0ZTU0YWI5MjM0ZmQ2ZmFkNGUwZTc2
OGY1YzA2MDguLjY3YTQxZmIzZDA0MDU1OGI5ZGFhNjY3YzAwYmRhN2E2ODllNThiZjIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vUGFubmVyTm9kZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vUGFubmVyTm9kZS5oCkBAIC0zMyw2ICsz
Myw3IEBACiAjaW5jbHVkZSAiRGlzdGFuY2UuaCIKICNpbmNsdWRlICJGbG9hdFBvaW50M0QuaCIK
ICNpbmNsdWRlICJQYW5uZXIuaCIKKyNpbmNsdWRlIDxtdXRleD4KICNpbmNsdWRlIDx3dGYvT3du
UHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTE1Niw3ICsxNTcsNyBAQCBwcml2YXRl
OgogICAgIHVuc2lnbmVkIG1fY29ubmVjdGlvbkNvdW50OwogCiAgICAgLy8gU3luY2hyb25pemUg
cHJvY2VzcygpIGFuZCBzZXRQYW5uaW5nTW9kZWwoKSB3aGljaCBjYW4gY2hhbmdlIHRoZSBwYW5u
ZXIuCi0gICAgbXV0YWJsZSBNdXRleCBtX3Bhbm5lckxvY2s7CisgICAgbXV0YWJsZSBzdGQ6Om11
dGV4IG1fcGFubmVyTXV0ZXg7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dhdmVTaGFwZXJQcm9jZXNzb3Iu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9XYXZlU2hhcGVyUHJvY2Vzc29y
LmNwcAppbmRleCA2Y2E1ZGM1ODUxNDIxMzRhNDQ5YTNkNmRlYjZhOTc2NTY2N2E2OWM3Li5kYTY1
NGFlZDE5ZTljYjM2ZWRjZjI2YTZlMWU4MmZiMDIyNTExZjNkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dhdmVTaGFwZXJQcm9jZXNzb3IuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vV2F2ZVNoYXBlclByb2Nlc3Nvci5jcHAKQEAg
LTUyLDE1ICs1MiwxNSBAQCBQYXNzT3duUHRyPEF1ZGlvRFNQS2VybmVsPiBXYXZlU2hhcGVyUHJv
Y2Vzc29yOjpjcmVhdGVLZXJuZWwoKQogdm9pZCBXYXZlU2hhcGVyUHJvY2Vzc29yOjpzZXRDdXJ2
ZShGbG9hdDMyQXJyYXkqIGN1cnZlKQogewogICAgIC8vIFRoaXMgc3luY2hyb25pemVzIHdpdGgg
cHJvY2VzcygpLgotICAgIE11dGV4TG9ja2VyIHByb2Nlc3NMb2NrZXIobV9wcm9jZXNzTG9jayk7
Ci0gICAgCisgICAgc3RkOjpsb2NrX2d1YXJkPHN0ZDo6bXV0ZXg+IGxvY2sobV9wcm9jZXNzTXV0
ZXgpOworCiAgICAgbV9jdXJ2ZSA9IGN1cnZlOwogfQogCiB2b2lkIFdhdmVTaGFwZXJQcm9jZXNz
b3I6OnNldE92ZXJzYW1wbGUoT3ZlclNhbXBsZVR5cGUgb3ZlcnNhbXBsZSkKIHsKICAgICAvLyBU
aGlzIHN5bmNocm9uaXplcyB3aXRoIHByb2Nlc3MoKS4KLSAgICBNdXRleExvY2tlciBwcm9jZXNz
TG9ja2VyKG1fcHJvY2Vzc0xvY2spOworICAgIHN0ZDo6bG9ja19ndWFyZDxzdGQ6Om11dGV4PiBs
b2NrKG1fcHJvY2Vzc011dGV4KTsKIAogICAgIG1fb3ZlcnNhbXBsZSA9IG92ZXJzYW1wbGU7CiAK
QEAgLTg0LDE2ICs4NCwxNyBAQCB2b2lkIFdhdmVTaGFwZXJQcm9jZXNzb3I6OnByb2Nlc3MoY29u
c3QgQXVkaW9CdXMqIHNvdXJjZSwgQXVkaW9CdXMqIGRlc3RpbmF0aW9uLAogICAgIGlmICghY2hh
bm5lbENvdW50TWF0Y2hlcykKICAgICAgICAgcmV0dXJuOwogCi0gICAgLy8gVGhlIGF1ZGlvIHRo
cmVhZCBjYW4ndCBibG9jayBvbiB0aGlzIGxvY2ssIHNvIHdlIGNhbGwgdHJ5TG9jaygpIGluc3Rl
YWQuCi0gICAgTXV0ZXhUcnlMb2NrZXIgdHJ5TG9ja2VyKG1fcHJvY2Vzc0xvY2spOwotICAgIGlm
ICh0cnlMb2NrZXIubG9ja2VkKCkpIHsgICAgICAgIAotICAgICAgICAvLyBGb3IgZWFjaCBjaGFu
bmVsIG9mIG91ciBpbnB1dCwgcHJvY2VzcyB1c2luZyB0aGUgY29ycmVzcG9uZGluZyBXYXZlU2hh
cGVyRFNQS2VybmVsIGludG8gdGhlIG91dHB1dCBjaGFubmVsLgotICAgICAgICBmb3IgKHVuc2ln
bmVkIGkgPSAwOyBpIDwgbV9rZXJuZWxzLnNpemUoKTsgKytpKQotICAgICAgICAgICAgbV9rZXJu
ZWxzW2ldLT5wcm9jZXNzKHNvdXJjZS0+Y2hhbm5lbChpKS0+ZGF0YSgpLCBkZXN0aW5hdGlvbi0+
Y2hhbm5lbChpKS0+bXV0YWJsZURhdGEoKSwgZnJhbWVzVG9Qcm9jZXNzKTsKLSAgICB9IGVsc2Ug
ewotICAgICAgICAvLyBUb28gYmFkIC0gdGhlIHRyeUxvY2soKSBmYWlsZWQuIFdlIG11c3QgYmUg
aW4gdGhlIG1pZGRsZSBvZiBhIHNldEN1cnZlKCkgY2FsbC4KKyAgICAvLyBUaGUgYXVkaW8gdGhy
ZWFkIGNhbid0IGJsb2NrIG9uIHRoaXMgbG9jaywgc28gd2UgdXNlIHN0ZDo6dHJ5X3RvX2xvY2sg
aW5zdGVhZC4KKyAgICBzdGQ6OnVuaXF1ZV9sb2NrPHN0ZDo6bXV0ZXg+IGxvY2sobV9wcm9jZXNz
TXV0ZXgsIHN0ZDo6dHJ5X3RvX2xvY2spOworICAgIGlmICghbG9jay5vd25zX2xvY2soKSkgewor
ICAgICAgICAvLyBUb28gYmFkIC0gdGhlIHRyeV9sb2NrKCkgZmFpbGVkLiBXZSBtdXN0IGJlIGlu
IHRoZSBtaWRkbGUgb2YgYSBzZXRDdXJ2ZSgpIGNhbGwuCiAgICAgICAgIGRlc3RpbmF0aW9uLT56
ZXJvKCk7CisgICAgICAgIHJldHVybjsKICAgICB9CisKKyAgICAvLyBGb3IgZWFjaCBjaGFubmVs
IG9mIG91ciBpbnB1dCwgcHJvY2VzcyB1c2luZyB0aGUgY29ycmVzcG9uZGluZyBXYXZlU2hhcGVy
RFNQS2VybmVsIGludG8gdGhlIG91dHB1dCBjaGFubmVsLgorICAgIGZvciAodW5zaWduZWQgaSA9
IDA7IGkgPCBtX2tlcm5lbHMuc2l6ZSgpOyArK2kpCisgICAgICAgIG1fa2VybmVsc1tpXS0+cHJv
Y2Vzcyhzb3VyY2UtPmNoYW5uZWwoaSktPmRhdGEoKSwgZGVzdGluYXRpb24tPmNoYW5uZWwoaSkt
Pm11dGFibGVEYXRhKCksIGZyYW1lc1RvUHJvY2Vzcyk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vV2F2ZVNo
YXBlclByb2Nlc3Nvci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9XYXZlU2hh
cGVyUHJvY2Vzc29yLmgKaW5kZXggNWE5YTdiNWJhN2JjOWMxNjcyNWUxZDIzYjYyMzg3ZmVkZjdh
YTQ2NC4uMjViN2RiNDZhMjE4ZTk0NWM5ZTNkYzU5OTQwMDVlMzgwMWY4NDY1YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9XYXZlU2hhcGVyUHJvY2Vzc29yLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9XYXZlU2hhcGVyUHJvY2Vzc29y
LmgKQEAgLTI4LDkgKzI4LDkgQEAKICNpbmNsdWRlICJBdWRpb0RTUEtlcm5lbC5oIgogI2luY2x1
ZGUgIkF1ZGlvRFNQS2VybmVsUHJvY2Vzc29yLmgiCiAjaW5jbHVkZSAiQXVkaW9Ob2RlLmgiCisj
aW5jbHVkZSA8bXV0ZXg+CiAjaW5jbHVkZSA8cnVudGltZS9GbG9hdDMyQXJyYXkuaD4KICNpbmNs
dWRlIDx3dGYvUmVmUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKQEAgLTY1LDcgKzY1LDcgQEAgcHJpdmF0ZToKICAgICBPdmVyU2FtcGxl
VHlwZSBtX292ZXJzYW1wbGU7CiAKICAgICAvLyBUaGlzIHN5bmNocm9uaXplcyBwcm9jZXNzKCkg
d2l0aCBzZXRDdXJ2ZSgpLgotICAgIG11dGFibGUgTXV0ZXggbV9wcm9jZXNzTG9jazsKKyAgICBt
dXRhYmxlIHN0ZDo6bXV0ZXggbV9wcm9jZXNzTXV0ZXg7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCg==
</data>
<flag name="review"
          id="245540"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>