<?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>57397</bug_id>
          
          <creation_ts>2011-03-29 16:01:10 -0700</creation_ts>
          <short_desc>ShareableBitmap needs its own Handle type</short_desc>
          <delta_ts>2011-03-30 07:43:28 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>57388</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Roben (:aroben)">aroben</reporter>
          <assigned_to name="Adam Roben (:aroben)">aroben</assigned_to>
          <cc>andersca</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>375842</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-03-29 16:01:10 -0700</bug_when>
    <thetext>ShareableBitmap needs its own Handle type</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375844</commentid>
    <comment_count>1</comment_count>
      <attachid>87424</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-03-29 16:01:53 -0700</bug_when>
    <thetext>Created attachment 87424
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375847</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-03-29 16:04:49 -0700</bug_when>
    <thetext>Attachment 87424 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit...&quot; exit_code: 1

Source/WebKit2/ChangeLog:1:  ChangeLog entry has no bug number  [changelog/bugnumber] [5]
Total errors found: 1 in 24 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>375853</commentid>
    <comment_count>3</comment_count>
      <attachid>87424</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-03-29 16:11:45 -0700</bug_when>
    <thetext>Comment on attachment 87424
Patch

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

&gt;&gt; Source/WebKit2/ChangeLog:1
&gt;&gt; +2011-03-29  Adam Roben  &lt;aroben@apple.com&gt;
&gt; 
&gt; ChangeLog entry has no bug number  [changelog/bugnumber] [5]

I guess check-webkit-style doesn&apos;t like my non-standard way of including bug URLs in ChangeLogs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376307</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-03-30 07:43:28 -0700</bug_when>
    <thetext>Committed r82441: &lt;http://trac.webkit.org/changeset/82441&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87424</attachid>
            <date>2011-03-29 16:01:53 -0700</date>
            <delta_ts>2011-03-30 06:48:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-57397-20110329190151.patch</filename>
            <type>text/plain</type>
            <size>38510</size>
            <attacher name="Adam Roben (:aroben)">aroben</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODIzMjUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBkY2EzNmM1MTYxNDM2N2Uw
ZGMxZjkwOGE0YjMxZWI0NmM0ZTE0MDYxLi5hNTZhYjIwNTFkODE1ODlhZGY4ZjcwMDMzNDJhNTEz
MTMyYjJmN2NmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsOTQgQEAKKzIwMTEtMDMtMjkgIEFkYW0g
Um9iZW4gIDxhcm9iZW5AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBTaGFyZWFibGVCaXRtYXA6
OkhhbmRsZQorCisgICAgICAgIFRoaXMgb2JqZWN0IGlzIHVzZWQgZm9yIGVuY29kaW5nL2RlY29k
aW5nIGEgU2hhcmVhYmxlQml0bWFwIHZpYSBDb3JlSVBDLiBJdCBjdXJyZW50bHkganVzdAorICAg
ICAgICBlbmNhcHN1bGF0ZXMgYSBTaGFyZWRNZW1vcnk6OkhhbmRsZSAod2hpY2ggaXMgd2hhdCB3
ZSB3ZXJlIHVzaW5nIHByZXZpb3VzbHkpIGFuZCB0aGUgaW1hZ2UncworICAgICAgICBzaXplICh3
aGljaCBtZWFucyBjYWxsZXJzIG5vIGxvbmdlciBuZWVkIHRvIGRlYWwgd2l0aCB0aGUgc2l6ZSBl
eHBsaWNpdGx5KSwgYnV0IGluIHRoZQorICAgICAgICBmdXR1cmUgY291bGQgYmUgdXNlZCB0byBz
dG9yZSBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBiaXRtYXAuCisKKyAgICAgICAgVGhpcyBz
aG91bGQgY2F1c2Ugbm8gYmVoYXZpb3IgY2hhbmdlcy4KKworICAgICAgICBGaXhlcyA8aHR0cDov
L3dlYmtpdC5vcmcvYi81NzM5Nz4gU2hhcmVhYmxlQml0bWFwIG5lZWRzIGl0cyBvd24gSGFuZGxl
IHR5cGUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IFBsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmNwcDoKKyAgICAgICAgKFdlYktp
dDo6UGx1Z2luQ29udHJvbGxlclByb3h5OjpnZW9tZXRyeURpZENoYW5nZSk6IE5vIGxvbmdlciBu
ZWVkIHRvIHBhc3MgYSBzaXplIHRvIGNyZWF0ZSwKKyAgICAgICAgc2luY2UgdGhlIEhhbmRsZSBy
ZWNvcmRzIHRoZSBzaXplLgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5Db250cm9sbGVyUHJveHk6
OnNuYXBzaG90KTogTm8gbG9uZ2VyIG5lZWQgdGhlIGJ1ZmZlclNpemUgYXJndW1lbnQsIHNpbmNl
IHRoZQorICAgICAgICBIYW5kbGUgcmVjb3JkcyB0aGUgc2l6ZS4KKworICAgICAgICAqIFBsdWdp
blByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5Lmg6CisgICAgICAgICogUGx1Z2luUHJvY2Vz
cy9QbHVnaW5Db250cm9sbGVyUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgIFVwZGF0ZWQgSGFu
ZGxlIHR5cGVzIGFuZCByZW1vdmVkIHVubmVjZXNzYXJ5IHNpemUgYXJndW1lbnQgdG8gU25hcHNo
b3QuCisKKyAgICAgICAgKiBTaGFyZWQvUGxhdGZvcm1Qb3B1cE1lbnVEYXRhLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6UGxhdGZvcm1Qb3B1cE1lbnVEYXRhOjplbmNvZGUpOgorICAgICAgICAoV2Vi
S2l0OjpQbGF0Zm9ybVBvcHVwTWVudURhdGE6OmRlY29kZSk6CisgICAgICAgICogU2hhcmVkL1Bs
YXRmb3JtUG9wdXBNZW51RGF0YS5oOgorICAgICAgICBDaGFuZ2VkIHRvIHVzZSBTaGFyZWFibGVC
aXRtYXA6OkhhbmRsZSBhbmQgcmVtb3ZlZCBtX2JhY2tpbmdTdG9yZVNpemUsIHdoaWNoIGlzIG5v
dyBzdG9yZWQKKyAgICAgICAgaW4gdGhlIEhhbmRsZXMuCisKKyAgICAgICAgKiBTaGFyZWQvU2hh
cmVhYmxlQml0bWFwLmNwcDoKKyAgICAgICAgKFdlYktpdDo6U2hhcmVhYmxlQml0bWFwOjpIYW5k
bGU6OmVuY29kZSk6CisgICAgICAgIChXZWJLaXQ6OlNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlOjpk
ZWNvZGUpOgorICAgICAgICBTaW1wbGUgZW5jb2RlL2RlY29kZSBmdW5jdGlvbnMuCisKKyAgICAg
ICAgKFdlYktpdDo6U2hhcmVhYmxlQml0bWFwOjpjcmVhdGUpOiBHZXQgdGhlIHNpemUgZnJvbSB0
aGUgSGFuZGxlIGluc3RlYWQgb2YgYXMgYSBzZXBhcmF0ZQorICAgICAgICBhcmd1bWVudC4KKyAg
ICAgICAgKFdlYktpdDo6U2hhcmVhYmxlQml0bWFwOjpjcmVhdGVIYW5kbGUpOiBTdG9yZSBvdXIg
c2l6ZSBpbiB0aGUgSGFuZGxlLgorCisgICAgICAgICogU2hhcmVkL1NoYXJlYWJsZUJpdG1hcC5o
OiBBZGRlZCBTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSBhbmQgbWFkZSBzb21lIGZ1bmN0aW9ucyB1
c2UgaXQuCisKKyAgICAgICAgKiBTaGFyZWQvVXBkYXRlSW5mby5oOiBDaGFuZ2VkIHRvIHVzZSBT
aGFyZWFibGVCaXRtYXA6OkhhbmRsZS4KKworICAgICAgICAqIFNoYXJlZC9Vc2VyTWVzc2FnZUNv
ZGVycy5oOgorICAgICAgICAoV2ViS2l0OjpVc2VyTWVzc2FnZUVuY29kZXI6OmJhc2VFbmNvZGUp
OgorICAgICAgICAoV2ViS2l0OjpVc2VyTWVzc2FnZURlY29kZXI6OmJhc2VEZWNvZGUpOgorICAg
ICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwOgorICAgICAgICAoQ29yZUlQ
Qzo6ZW5jb2RlSW1hZ2UpOgorICAgICAgICAoQ29yZUlQQzo6ZGVjb2RlSW1hZ2UpOgorICAgICAg
ICBVc2UgdGhlIHNpemUgc3RvcmVkIGluIHRoZSBIYW5kbGUgaW5zdGVhZCBvZiBlbmNvZGluZy9k
ZWNvZGluZyBvbmUgc2VwYXJhdGVseS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvbWFjL1Bh
Z2VDbGllbnRJbXBsLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9tYWMvUGFnZUNsaWVudElt
cGwubW06CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsOjpzZXREcmFnSW1hZ2UpOgor
ICAgICAgICBSZW1vdmVkIHRoZSB1bm5lY2Vzc2FyeSBpbWFnZVNpemUgYXJndW1lbnQuIFdlIGNh
biBnZXQgaXQgZnJvbSB0aGUgaW1hZ2UgaXRzZWxmLgorCisgICAgICAgICogVUlQcm9jZXNzL0Jh
Y2tpbmdTdG9yZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkJhY2tpbmdTdG9yZTo6aW5jb3Jwb3Jh
dGVVcGRhdGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9GaW5kSW5kaWNhdG9yLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6RmluZEluZGljYXRvcjo6Y3JlYXRlKToKKyAgICAgICAgTm8gbG9uZ2VyIG5l
ZWQgdG8gcGFzcyBhIHNpemUgd2hlbiBjcmVhdGluZyBhIFNoYXJlYWJsZUJpdG1hcCBmcm9tIGEg
SGFuZGxlLgorCisgICAgICAgICogVUlQcm9jZXNzL0ZpbmRJbmRpY2F0b3IuaDogQ2hhbmdlZCB0
byB1c2UgU2hhcmVhYmxlQml0bWFwOjpIYW5kbGUuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvUGFn
ZUNsaWVudC5oOiBSZW1vdmVkIHVubmVjZXNzYXJ5IGltYWdlU2l6ZSBhcmd1bWVudCBmcm9tIHNl
dERyYWdJbWFnZS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnNldEZpbmRJbmRpY2F0b3IpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVBy
b3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvV2ViUGFnZVByb3h5TWFj
Lm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnNldERyYWdJbWFnZSk6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb3h5LmNwcDoKKyAgICAgICAgKFdlYktp
dDo6UGx1Z2luUHJveHk6OnNuYXBzaG90KToKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luUHJveHk6
Omdlb21ldHJ5RGlkQ2hhbmdlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L21hYy9XZWJEcmFnQ2xpZW50TWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJEcmFnQ2xpZW50
OjpzdGFydERyYWcpOgorICAgICAgICBDaGFuZ2VkIHRvIHVzZSBTaGFyZWFibGVCaXRtYXA6Okhh
bmRsZSBhbmQgcmVtb3ZlZCBub3ctdW5uZWNlc3Nhcnkgc2l6ZSBhcmd1bWVudHMgKHNpbmNlIHdl
CisgICAgICAgIGNhbiBnZXQgdGhlIHNpemUgZnJvbSB0aGUgSGFuZGxlKS4KKworICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvd2luL1dlYlBvcHVwTWVudVdpbi5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBvcHVwTWVudTo6c2V0VXBQbGF0Zm9ybURhdGEpOiBEb24ndCBuZWVk
IHRvIHN0b3JlIHRoZSBiYWNraW5nIHN0b3JlIHNpemUgaW4gdGhlCisgICAgICAgIGRhdGEgYW55
bW9yZTsgdGhlIEhhbmRsZXMgd2lsbCBtYWtlIHN1cmUgaXQgcmVhY2hlcyB0aGUgb3RoZXIgcHJv
Y2Vzcy4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9GaW5kQ29udHJvbGxlci5jcHA6
CisgICAgICAgIChXZWJLaXQ6OkZpbmRDb250cm9sbGVyOjp1cGRhdGVGaW5kSW5kaWNhdG9yKToK
KyAgICAgICAgKFdlYktpdDo6RmluZENvbnRyb2xsZXI6OmhpZGVGaW5kSW5kaWNhdG9yKToKKyAg
ICAgICAgQ2hhbmdlZCB0byB1c2UgU2hhcmVhYmxlQml0bWFwOjpIYW5kbGUuCisKIDIwMTEtMDMt
MjkgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtH
VEtdIEJ1aWxkIGZhaWxlZCB3aXRoIOKAmEdES19LRVlfS1BfU3BhY2XigJkgd2FzIG5vdCBkZWNs
YXJlZCBpbiB0aGlzIHNjb3BlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9j
ZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9j
ZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5jcHAKaW5kZXggYzQ4ZmQ2NWFlZDI0MmIwMTM1YTUy
NmUxNGQ0NGY0MTkyZWFkYTNlNS4uMDNhOGFlYzFhMzY1ZTUyNWExMDNlNTdmZmNmMzY5ZWNiNGIz
ZjFlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250
cm9sbGVyUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2lu
Q29udHJvbGxlclByb3h5LmNwcApAQCAtMzQwLDcgKzM0MCw3IEBAIHZvaWQgUGx1Z2luQ29udHJv
bGxlclByb3h5OjpmcmFtZURpZEZhaWwodWludDY0X3QgcmVxdWVzdElELCBib29sIHdhc0NhbmNl
bGxlZCkKICAgICBtX3BsdWdpbi0+ZnJhbWVEaWRGYWlsKHJlcXVlc3RJRCwgd2FzQ2FuY2VsbGVk
KTsKIH0KIAotdm9pZCBQbHVnaW5Db250cm9sbGVyUHJveHk6Omdlb21ldHJ5RGlkQ2hhbmdlKGNv
bnN0IEludFJlY3QmIGZyYW1lUmVjdCwgY29uc3QgSW50UmVjdCYgY2xpcFJlY3QsIGNvbnN0IFNo
YXJlZE1lbW9yeTo6SGFuZGxlJiBiYWNraW5nU3RvcmVIYW5kbGUpCit2b2lkIFBsdWdpbkNvbnRy
b2xsZXJQcm94eTo6Z2VvbWV0cnlEaWRDaGFuZ2UoY29uc3QgSW50UmVjdCYgZnJhbWVSZWN0LCBj
b25zdCBJbnRSZWN0JiBjbGlwUmVjdCwgY29uc3QgU2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmIGJh
Y2tpbmdTdG9yZUhhbmRsZSkKIHsKICAgICBtX2ZyYW1lUmVjdCA9IGZyYW1lUmVjdDsKICAgICBt
X2NsaXBSZWN0ID0gY2xpcFJlY3Q7CkBAIC0zNDksNyArMzQ5LDcgQEAgdm9pZCBQbHVnaW5Db250
cm9sbGVyUHJveHk6Omdlb21ldHJ5RGlkQ2hhbmdlKGNvbnN0IEludFJlY3QmIGZyYW1lUmVjdCwg
Y29uc3QgSW4KIAogICAgIGlmICghYmFja2luZ1N0b3JlSGFuZGxlLmlzTnVsbCgpKSB7CiAgICAg
ICAgIC8vIENyZWF0ZSBhIG5ldyBiYWNraW5nIHN0b3JlLgotICAgICAgICBtX2JhY2tpbmdTdG9y
ZSA9IFNoYXJlYWJsZUJpdG1hcDo6Y3JlYXRlKGZyYW1lUmVjdC5zaXplKCksIGJhY2tpbmdTdG9y
ZUhhbmRsZSk7CisgICAgICAgIG1fYmFja2luZ1N0b3JlID0gU2hhcmVhYmxlQml0bWFwOjpjcmVh
dGUoYmFja2luZ1N0b3JlSGFuZGxlKTsKICAgICB9CiAKICAgICBtX3BsdWdpbi0+Z2VvbWV0cnlE
aWRDaGFuZ2UoZnJhbWVSZWN0LCBjbGlwUmVjdCk7CkBAIC00NDgsNyArNDQ4LDcgQEAgdm9pZCBQ
bHVnaW5Db250cm9sbGVyUHJveHk6OnBhaW50RW50aXJlUGx1Z2luKCkKICAgICBwYWludCgpOwog
fQogCi12b2lkIFBsdWdpbkNvbnRyb2xsZXJQcm94eTo6c25hcHNob3QoV2ViQ29yZTo6SW50U2l6
ZSYgYnVmZmVyU2l6ZSwgU2hhcmVkTWVtb3J5OjpIYW5kbGUmIGJhY2tpbmdTdG9yZUhhbmRsZSkK
K3ZvaWQgUGx1Z2luQ29udHJvbGxlclByb3h5OjpzbmFwc2hvdChTaGFyZWFibGVCaXRtYXA6Okhh
bmRsZSYgYmFja2luZ1N0b3JlSGFuZGxlKQogewogICAgIEFTU0VSVChtX3BsdWdpbik7CiAgICAg
UmVmUHRyPFNoYXJlYWJsZUJpdG1hcD4gYml0bWFwID0gbV9wbHVnaW4tPnNuYXBzaG90KCk7CkBA
IC00NTYsNyArNDU2LDYgQEAgdm9pZCBQbHVnaW5Db250cm9sbGVyUHJveHk6OnNuYXBzaG90KFdl
YkNvcmU6OkludFNpemUmIGJ1ZmZlclNpemUsIFNoYXJlZE1lbW9yeToKICAgICAgICAgcmV0dXJu
OwogCiAgICAgYml0bWFwLT5jcmVhdGVIYW5kbGUoYmFja2luZ1N0b3JlSGFuZGxlKTsKLSAgICBi
dWZmZXJTaXplID0gYml0bWFwLT5zaXplKCk7CiB9CiAKIHZvaWQgUGx1Z2luQ29udHJvbGxlclBy
b3h5OjpzZXRGb2N1cyhib29sIGhhc0ZvY3VzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
UGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1Bs
dWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmgKaW5kZXggZTQ3MGY4NTcxNGZiYzM5
NDg5ZGRmMzFhNDllYWJjMWJjNTIwNWRjZi4uNjViZTM5ZThmOTY4YjJlYjA1ZjQyMjcyZGUzZjE1
MjQ1ZjYyOGQxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVn
aW5Db250cm9sbGVyUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1Bs
dWdpbkNvbnRyb2xsZXJQcm94eS5oCkBAIC0zMiw3ICszMiw3IEBACiAjaW5jbHVkZSAiUGx1Z2lu
LmgiCiAjaW5jbHVkZSAiUGx1Z2luQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIlJ1bkxvb3AuaCIK
LSNpbmNsdWRlICJTaGFyZWRNZW1vcnkuaCIKKyNpbmNsdWRlICJTaGFyZWFibGVCaXRtYXAuaCIK
ICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2lmIFBMQVRGT1JNKE1BQykKQEAgLTEw
NSw3ICsxMDUsNyBAQCBwcml2YXRlOgogICAgIC8vIE1lc3NhZ2UgaGFuZGxlcnMuCiAgICAgdm9p
ZCBmcmFtZURpZEZpbmlzaExvYWRpbmcodWludDY0X3QgcmVxdWVzdElEKTsKICAgICB2b2lkIGZy
YW1lRGlkRmFpbCh1aW50NjRfdCByZXF1ZXN0SUQsIGJvb2wgd2FzQ2FuY2VsbGVkKTsKLSAgICB2
b2lkIGdlb21ldHJ5RGlkQ2hhbmdlKGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGZyYW1lUmVjdCwg
Y29uc3QgV2ViQ29yZTo6SW50UmVjdCYgY2xpcFJlY3QsIGNvbnN0IFNoYXJlZE1lbW9yeTo6SGFu
ZGxlJiBiYWNraW5nU3RvcmVIYW5kbGUpOworICAgIHZvaWQgZ2VvbWV0cnlEaWRDaGFuZ2UoY29u
c3QgV2ViQ29yZTo6SW50UmVjdCYgZnJhbWVSZWN0LCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBj
bGlwUmVjdCwgY29uc3QgU2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmIGJhY2tpbmdTdG9yZUhhbmRs
ZSk7CiAgICAgdm9pZCBkaWRFdmFsdWF0ZUphdmFTY3JpcHQodWludDY0X3QgcmVxdWVzdElELCBj
b25zdCBTdHJpbmcmIHJlcXVlc3RVUkxTdHJpbmcsIGNvbnN0IFN0cmluZyYgcmVzdWx0KTsKICAg
ICB2b2lkIHN0cmVhbURpZFJlY2VpdmVSZXNwb25zZSh1aW50NjRfdCBzdHJlYW1JRCwgY29uc3Qg
U3RyaW5nJiByZXNwb25zZVVSTFN0cmluZywgdWludDMyX3Qgc3RyZWFtTGVuZ3RoLCB1aW50MzJf
dCBsYXN0TW9kaWZpZWRUaW1lLCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBjb25zdCBTdHJpbmcm
IGhlYWRlcnMpOwogICAgIHZvaWQgc3RyZWFtRGlkUmVjZWl2ZURhdGEodWludDY0X3Qgc3RyZWFt
SUQsIGNvbnN0IENvcmVJUEM6OkRhdGFSZWZlcmVuY2UmIGRhdGEpOwpAQCAtMTIxLDcgKzEyMSw3
IEBAIHByaXZhdGU6CiAgICAgdm9pZCBoYW5kbGVNb3VzZUxlYXZlRXZlbnQoY29uc3QgV2ViTW91
c2VFdmVudCYsIGJvb2wmIGhhbmRsZWQpOwogICAgIHZvaWQgaGFuZGxlS2V5Ym9hcmRFdmVudChj
b25zdCBXZWJLZXlib2FyZEV2ZW50JiwgYm9vbCYgaGFuZGxlZCk7CiAgICAgdm9pZCBwYWludEVu
dGlyZVBsdWdpbigpOwotICAgIHZvaWQgc25hcHNob3QoV2ViQ29yZTo6SW50U2l6ZSYgYnVmZmVy
U2l6ZSwgU2hhcmVkTWVtb3J5OjpIYW5kbGUmIGJhY2tpbmdTdG9yZUhhbmRsZSk7CisgICAgdm9p
ZCBzbmFwc2hvdChTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSYgYmFja2luZ1N0b3JlSGFuZGxlKTsK
ICAgICB2b2lkIHNldEZvY3VzKGJvb2wpOwogICAgIHZvaWQgZGlkVXBkYXRlKCk7CiAgICAgdm9p
ZCBnZXRQbHVnaW5TY3JpcHRhYmxlTlBPYmplY3QodWludDY0X3QmIHBsdWdpblNjcmlwdGFibGVO
UE9iamVjdElEKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1
Z2luQ29udHJvbGxlclByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvUGx1Z2luUHJv
Y2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkubWVzc2FnZXMuaW4KaW5kZXggOTFjYzU3ZjhjZTFi
ZmNhODJhMDc3Yzg0ZDFlZjQ0ZTgzYTI0YTg2Yi4uNmUyN2IzNmJiYWI0MzA0OWI3ZDQ2NGY0NzJk
ZDVlZTJkMTAzMmQ3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9Q
bHVnaW5Db250cm9sbGVyUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvUGx1
Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkubWVzc2FnZXMuaW4KQEAgLTI0LDcgKzI0
LDcgQEAKIAogbWVzc2FnZXMgLT4gUGx1Z2luQ29udHJvbGxlclByb3h5IHsKICAgICAjIFNlbnQg
d2hlbiB0aGUgcGx1Zy1pbiBnZW9tZXRyeSBjaGFuZ2VzLgotICAgIEdlb21ldHJ5RGlkQ2hhbmdl
KFdlYkNvcmU6OkludFJlY3QgZnJhbWVSZWN0LCBXZWJDb3JlOjpJbnRSZWN0IGNsaXBSZWN0LCBX
ZWJLaXQ6OlNoYXJlZE1lbW9yeTo6SGFuZGxlIGJhY2tpbmdTdG9yZUhhbmRsZSkKKyAgICBHZW9t
ZXRyeURpZENoYW5nZShXZWJDb3JlOjpJbnRSZWN0IGZyYW1lUmVjdCwgV2ViQ29yZTo6SW50UmVj
dCBjbGlwUmVjdCwgV2ViS2l0OjpTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSBiYWNraW5nU3RvcmVI
YW5kbGUpCiAKICAgICAjIFNlbnQgd2hlbiBhIGZyYW1lIGhhcyBmaW5pc2hlZCBsb2FkaW5nLgog
ICAgIEZyYW1lRGlkRmluaXNoTG9hZGluZyh1aW50NjRfdCByZXF1ZXN0SUQpCkBAIC0xMDEsNyAr
MTAxLDcgQEAgbWVzc2FnZXMgLT4gUGx1Z2luQ29udHJvbGxlclByb3h5IHsKICNlbmRpZgogCiAg
ICAgIyBSZXR1cm4gYSBzbmFwc2hvdCBvZiB0aGUgcGx1Z2luCi0gICAgU25hcHNob3QoKSAtPiAo
V2ViQ29yZTo6SW50U2l6ZSBzaXplLCBXZWJLaXQ6OlNoYXJlZE1lbW9yeTo6SGFuZGxlIGJhY2tp
bmdTdG9yZUhhbmRsZSkKKyAgICBTbmFwc2hvdCgpIC0+IChXZWJLaXQ6OlNoYXJlYWJsZUJpdG1h
cDo6SGFuZGxlIGJhY2tpbmdTdG9yZUhhbmRsZSkKICAgICAKICAgICAjIFNlbnQgd2hlbiBwcml2
YXRlIGJyb3dzaW5nIGlzIGVuYWJsZWQgb3IgZGlzYWJsZWQKICAgICBQcml2YXRlQnJvd3NpbmdT
dGF0ZUNoYW5nZWQoYm9vbCBpc1ByaXZhdGVCcm93c2luZ0VuYWJsZWQpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvUGxhdGZvcm1Qb3B1cE1lbnVEYXRhLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9QbGF0Zm9ybVBvcHVwTWVudURhdGEuY3BwCmluZGV4IGE1ZWJiNDU4ODJk
NDg5MjY4NmNmMWNhNWZhYmE3NGU1ZTdkZTU1ZjAuLjFmNTZkYWY5YmU4NDZiMzI3NWJlZTVhMDcy
ZGVjZTRjODI2YTA4NzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9QbGF0Zm9y
bVBvcHVwTWVudURhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9QbGF0Zm9ybVBv
cHVwTWVudURhdGEuY3BwCkBAIC01MSwxMyArNTEsMTIgQEAgdm9pZCBQbGF0Zm9ybVBvcHVwTWVu
dURhdGE6OmVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXIqIGVuY29kZXIpIGNvbnN0CiAg
ICAgZW5jb2Rlci0+ZW5jb2RlKG1fY2xpZW50SW5zZXRSaWdodCk7CiAgICAgZW5jb2Rlci0+ZW5j
b2RlKG1fcG9wdXBXaWR0aCk7CiAgICAgZW5jb2Rlci0+ZW5jb2RlKG1faXRlbUhlaWdodCk7Ci0g
ICAgZW5jb2Rlci0+ZW5jb2RlKG1fYmFja2luZ1N0b3JlU2l6ZSk7CiAKLSAgICBTaGFyZWRNZW1v
cnk6OkhhbmRsZSBub3RTZWxlY3RlZEJhY2tpbmdTdG9yZUhhbmRsZTsKKyAgICBTaGFyZWFibGVC
aXRtYXA6OkhhbmRsZSBub3RTZWxlY3RlZEJhY2tpbmdTdG9yZUhhbmRsZTsKICAgICBtX25vdFNl
bGVjdGVkQmFja2luZ1N0b3JlLT5jcmVhdGVIYW5kbGUobm90U2VsZWN0ZWRCYWNraW5nU3RvcmVI
YW5kbGUpOwogICAgIGVuY29kZXItPmVuY29kZShub3RTZWxlY3RlZEJhY2tpbmdTdG9yZUhhbmRs
ZSk7CiAKLSAgICBTaGFyZWRNZW1vcnk6OkhhbmRsZSBzZWxlY3RlZEJhY2tpbmdTdG9yZUhhbmRs
ZTsKKyAgICBTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSBzZWxlY3RlZEJhY2tpbmdTdG9yZUhhbmRs
ZTsKICAgICBtX3NlbGVjdGVkQmFja2luZ1N0b3JlLT5jcmVhdGVIYW5kbGUoc2VsZWN0ZWRCYWNr
aW5nU3RvcmVIYW5kbGUpOwogICAgIGVuY29kZXItPmVuY29kZShzZWxlY3RlZEJhY2tpbmdTdG9y
ZUhhbmRsZSk7CiAjZWxpZiBQTEFURk9STShNQUMpCkBAIC04MCwxOCArNzksMTYgQEAgYm9vbCBQ
bGF0Zm9ybVBvcHVwTWVudURhdGE6OmRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqIGRl
Y29kZXIsIFBsYXRmb3JtUG8KICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlmICghZGVjb2Rl
ci0+ZGVjb2RlKGRhdGEubV9pdGVtSGVpZ2h0KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAg
IGlmICghZGVjb2Rlci0+ZGVjb2RlKGRhdGEubV9iYWNraW5nU3RvcmVTaXplKSkKLSAgICAgICAg
cmV0dXJuIGZhbHNlOwogCi0gICAgU2hhcmVkTWVtb3J5OjpIYW5kbGUgbm90U2VsZWN0ZWRCYWNr
aW5nU3RvcmVIYW5kbGU7CisgICAgU2hhcmVhYmxlQml0bWFwOjpIYW5kbGUgbm90U2VsZWN0ZWRC
YWNraW5nU3RvcmVIYW5kbGU7CiAgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUobm90U2VsZWN0ZWRC
YWNraW5nU3RvcmVIYW5kbGUpKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgZGF0YS5tX25v
dFNlbGVjdGVkQmFja2luZ1N0b3JlID0gU2hhcmVhYmxlQml0bWFwOjpjcmVhdGUoZGF0YS5tX2Jh
Y2tpbmdTdG9yZVNpemUsIG5vdFNlbGVjdGVkQmFja2luZ1N0b3JlSGFuZGxlKTsKKyAgICBkYXRh
Lm1fbm90U2VsZWN0ZWRCYWNraW5nU3RvcmUgPSBTaGFyZWFibGVCaXRtYXA6OmNyZWF0ZShub3RT
ZWxlY3RlZEJhY2tpbmdTdG9yZUhhbmRsZSk7CiAKLSAgICBTaGFyZWRNZW1vcnk6OkhhbmRsZSBz
ZWxlY3RlZEJhY2tpbmdTdG9yZUhhbmRsZTsKKyAgICBTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSBz
ZWxlY3RlZEJhY2tpbmdTdG9yZUhhbmRsZTsKICAgICBpZiAoIWRlY29kZXItPmRlY29kZShzZWxl
Y3RlZEJhY2tpbmdTdG9yZUhhbmRsZSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBkYXRh
Lm1fc2VsZWN0ZWRCYWNraW5nU3RvcmUgPSBTaGFyZWFibGVCaXRtYXA6OmNyZWF0ZShkYXRhLm1f
YmFja2luZ1N0b3JlU2l6ZSwgc2VsZWN0ZWRCYWNraW5nU3RvcmVIYW5kbGUpOworICAgIGRhdGEu
bV9zZWxlY3RlZEJhY2tpbmdTdG9yZSA9IFNoYXJlYWJsZUJpdG1hcDo6Y3JlYXRlKHNlbGVjdGVk
QmFja2luZ1N0b3JlSGFuZGxlKTsKICNlbGlmIFBMQVRGT1JNKE1BQykKICAgICBpZiAoIWRlY29k
ZXItPmRlY29kZShkYXRhLmZvbnRJbmZvKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1BsYXRmb3JtUG9wdXBNZW51RGF0YS5oIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL1BsYXRmb3JtUG9wdXBNZW51RGF0YS5oCmluZGV4IGY3OWI0YjJk
YTdkYjJlNWFiNWI0ZmJmOTNjM2NkYTQzNTA5YTQ3NzEuLjViM2Y1OGRjZDIxN2EzODJkMDhiNDMx
NTkyZDhhY2EzNzJkYWJkMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9QbGF0
Zm9ybVBvcHVwTWVudURhdGEuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUGxhdGZvcm1Q
b3B1cE1lbnVEYXRhLmgKQEAgLTUwLDcgKzUwLDYgQEAgc3RydWN0IFBsYXRmb3JtUG9wdXBNZW51
RGF0YSB7CiAgICAgaW50IG1fY2xpZW50SW5zZXRSaWdodDsKICAgICBpbnQgbV9wb3B1cFdpZHRo
OwogICAgIGludCBtX2l0ZW1IZWlnaHQ7Ci0gICAgV2ViQ29yZTo6SW50U2l6ZSBtX2JhY2tpbmdT
dG9yZVNpemU7CiAgICAgUmVmUHRyPFNoYXJlYWJsZUJpdG1hcD4gbV9ub3RTZWxlY3RlZEJhY2tp
bmdTdG9yZTsKICAgICBSZWZQdHI8U2hhcmVhYmxlQml0bWFwPiBtX3NlbGVjdGVkQmFja2luZ1N0
b3JlOwogI2VsaWYgUExBVEZPUk0oTUFDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL1NoYXJlYWJsZUJpdG1hcC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvU2hhcmVhYmxl
Qml0bWFwLmNwcAppbmRleCBhYjE5OTFmZmE2MzUyYzUwOGMyZmJjOWFhZTc0N2JmNTI4NTMyYThk
Li5kMjFkYTEyZDU3N2JkM2JkZDc2ZjUyY2U3M2VhODAyODNmM2Q0MjU5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvU2hhcmVhYmxlQml0bWFwLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvU2hhcmVhYmxlQml0bWFwLmNwcApAQCAtMjcsMTIgKzI3LDI4IEBACiAjaW5j
bHVkZSAiU2hhcmVhYmxlQml0bWFwLmgiCiAKICNpbmNsdWRlICJTaGFyZWRNZW1vcnkuaCIKKyNp
bmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0dyYXBo
aWNzQ29udGV4dC5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdl
YktpdCB7CiAKK3ZvaWQgU2hhcmVhYmxlQml0bWFwOjpIYW5kbGU6OmVuY29kZShDb3JlSVBDOjpB
cmd1bWVudEVuY29kZXIqIGVuY29kZXIpIGNvbnN0Cit7CisgICAgZW5jb2Rlci0+ZW5jb2RlKG1f
aGFuZGxlKTsKKyAgICBlbmNvZGVyLT5lbmNvZGUobV9zaXplKTsKK30KKworYm9vbCBTaGFyZWFi
bGVCaXRtYXA6OkhhbmRsZTo6ZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciogZGVjb2Rl
ciwgSGFuZGxlJiBoYW5kbGUpCit7CisgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUoaGFuZGxlLm1f
aGFuZGxlKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmICghZGVjb2Rlci0+ZGVjb2Rl
KGhhbmRsZS5tX3NpemUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIHRydWU7
Cit9CisKIFBhc3NSZWZQdHI8U2hhcmVhYmxlQml0bWFwPiBTaGFyZWFibGVCaXRtYXA6OmNyZWF0
ZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBzaXplKQogewogICAgIHNpemVfdCBudW1CeXRlcyA9
IG51bUJ5dGVzRm9yU2l6ZShzaXplKTsKQEAgLTY1LDIxICs4MSwyNCBAQCBQYXNzUmVmUHRyPFNo
YXJlYWJsZUJpdG1hcD4gU2hhcmVhYmxlQml0bWFwOjpjcmVhdGUoY29uc3QgV2ViQ29yZTo6SW50
U2l6ZSYgc2l6ZQogICAgIHJldHVybiBhZG9wdFJlZihuZXcgU2hhcmVhYmxlQml0bWFwKHNpemUs
IHNoYXJlZE1lbW9yeSkpOwogfQogCi1QYXNzUmVmUHRyPFNoYXJlYWJsZUJpdG1hcD4gU2hhcmVh
YmxlQml0bWFwOjpjcmVhdGUoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgc2l6ZSwgY29uc3QgU2hh
cmVkTWVtb3J5OjpIYW5kbGUmIGhhbmRsZSkKK1Bhc3NSZWZQdHI8U2hhcmVhYmxlQml0bWFwPiBT
aGFyZWFibGVCaXRtYXA6OmNyZWF0ZShjb25zdCBIYW5kbGUmIGhhbmRsZSkKIHsKICAgICAvLyBD
cmVhdGUgdGhlIHNoYXJlZCBtZW1vcnkuCi0gICAgUmVmUHRyPFNoYXJlZE1lbW9yeT4gc2hhcmVk
TWVtb3J5ID0gU2hhcmVkTWVtb3J5OjpjcmVhdGUoaGFuZGxlLCBTaGFyZWRNZW1vcnk6OlJlYWRX
cml0ZSk7CisgICAgUmVmUHRyPFNoYXJlZE1lbW9yeT4gc2hhcmVkTWVtb3J5ID0gU2hhcmVkTWVt
b3J5OjpjcmVhdGUoaGFuZGxlLm1faGFuZGxlLCBTaGFyZWRNZW1vcnk6OlJlYWRXcml0ZSk7CiAg
ICAgaWYgKCFzaGFyZWRNZW1vcnkpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgcmV0dXJuIGNy
ZWF0ZShzaXplLCBzaGFyZWRNZW1vcnkucmVsZWFzZSgpKTsKKyAgICByZXR1cm4gY3JlYXRlKGhh
bmRsZS5tX3NpemUsIHNoYXJlZE1lbW9yeS5yZWxlYXNlKCkpOwogfQogCi1ib29sIFNoYXJlYWJs
ZUJpdG1hcDo6Y3JlYXRlSGFuZGxlKFNoYXJlZE1lbW9yeTo6SGFuZGxlJiBoYW5kbGUpCitib29s
IFNoYXJlYWJsZUJpdG1hcDo6Y3JlYXRlSGFuZGxlKEhhbmRsZSYgaGFuZGxlKQogewogICAgIEFT
U0VSVChpc0JhY2tlZEJ5U2hhcmVkTWVtb3J5KCkpOwogCi0gICAgcmV0dXJuIG1fc2hhcmVkTWVt
b3J5LT5jcmVhdGVIYW5kbGUoaGFuZGxlLCBTaGFyZWRNZW1vcnk6OlJlYWRXcml0ZSk7CisgICAg
aWYgKCFtX3NoYXJlZE1lbW9yeS0+Y3JlYXRlSGFuZGxlKGhhbmRsZS5tX2hhbmRsZSwgU2hhcmVk
TWVtb3J5OjpSZWFkV3JpdGUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaGFuZGxlLm1f
c2l6ZSA9IG1fc2l6ZTsKKyAgICByZXR1cm4gdHJ1ZTsKIH0KIAogU2hhcmVhYmxlQml0bWFwOjpT
aGFyZWFibGVCaXRtYXAoY29uc3QgSW50U2l6ZSYgc2l6ZSwgdm9pZCogZGF0YSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9TaGFyZWFibGVCaXRtYXAuaCBiL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9TaGFyZWFibGVCaXRtYXAuaAppbmRleCAzMGZjODZjYjU0Yzg1NmVkYTI4YmFl
N2NiMmFkMDYyODk1ZDIwODUyLi5kNmI3MWFlZmE5MzNhM2VkNmJkMjg5YTQxOTgwMjhhN2RkNTMw
YWQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvU2hhcmVhYmxlQml0bWFwLmgK
KysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1NoYXJlYWJsZUJpdG1hcC5oCkBAIC00NSw2ICs0
NSwyMyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKICAgICAKIGNsYXNzIFNoYXJlYWJsZUJpdG1hcCA6
IHB1YmxpYyBSZWZDb3VudGVkPFNoYXJlYWJsZUJpdG1hcD4gewogcHVibGljOgorICAgIGNsYXNz
IEhhbmRsZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhhbmRsZSk7CisgICAgcHVi
bGljOgorICAgICAgICBIYW5kbGUoKSB7IH0KKworICAgICAgICBib29sIGlzTnVsbCgpIGNvbnN0
IHsgcmV0dXJuIG1faGFuZGxlLmlzTnVsbCgpOyB9CisKKyAgICAgICAgdm9pZCBlbmNvZGUoQ29y
ZUlQQzo6QXJndW1lbnRFbmNvZGVyKikgY29uc3Q7CisgICAgICAgIHN0YXRpYyBib29sIGRlY29k
ZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqLCBIYW5kbGUmKTsKKworICAgIHByaXZhdGU6Cisg
ICAgICAgIGZyaWVuZCBjbGFzcyBTaGFyZWFibGVCaXRtYXA7CisKKyAgICAgICAgbXV0YWJsZSBT
aGFyZWRNZW1vcnk6OkhhbmRsZSBtX2hhbmRsZTsKKyAgICAgICAgV2ViQ29yZTo6SW50U2l6ZSBt
X3NpemU7CisgICAgfTsKKwogICAgIC8vIENyZWF0ZSBhIHNoYXJlYWJsZSBiaXRtYXAgdGhhdCB1
c2VzIG1hbGxvY2VkIG1lbW9yeS4KICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTaGFyZWFibGVCaXRt
YXA+IGNyZWF0ZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJik7CiAKQEAgLTU0LDExICs3MSwxMSBA
QCBwdWJsaWM6CiAgICAgLy8gQ3JlYXRlIGEgc2hhcmVhYmxlIGJpdG1hcCBmcm9tIGFuIGFscmVh
ZHkgZXhpc3Rpbmcgc2hhcmVkIG1lbW9yeSBibG9jay4KICAgICBzdGF0aWMgUGFzc1JlZlB0cjxT
aGFyZWFibGVCaXRtYXA+IGNyZWF0ZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJiwgUGFzc1JlZlB0
cjxTaGFyZWRNZW1vcnk+KTsKIAotICAgIC8vIENyZWF0ZSBhIHNoYXJlYWJsZSBiaXRtYXAgZnJv
bSBhIHNoYXJlZCBtZW1vcnkgaGFuZGxlLgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNoYXJlYWJs
ZUJpdG1hcD4gY3JlYXRlKGNvbnN0IFdlYkNvcmU6OkludFNpemUmLCBjb25zdCBTaGFyZWRNZW1v
cnk6OkhhbmRsZSYpOworICAgIC8vIENyZWF0ZSBhIHNoYXJlYWJsZSBiaXRtYXAgZnJvbSBhIGhh
bmRsZS4KKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxTaGFyZWFibGVCaXRtYXA+IGNyZWF0ZShjb25z
dCBIYW5kbGUmKTsKIAotICAgIC8vIENyZWF0ZSBhIHNoYXJlZCBtZW1vcnkgaGFuZGxlLgotICAg
IGJvb2wgY3JlYXRlSGFuZGxlKFNoYXJlZE1lbW9yeTo6SGFuZGxlJik7CisgICAgLy8gQ3JlYXRl
IGEgaGFuZGxlLgorICAgIGJvb2wgY3JlYXRlSGFuZGxlKEhhbmRsZSYpOwogCiAgICAgflNoYXJl
YWJsZUJpdG1hcCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVXBkYXRl
SW5mby5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1VwZGF0ZUluZm8uaAppbmRleCA3YjU0NTRl
YjFjMTZhMDEyZTQxZjJhYzczOTVlNzJlN2ZhZGE4ZWQwLi44ZTA4ZWQwMmUzODI3NmNhODA1MzZj
ZjBkYjJjZjEyOWFjNWU5NzcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVXBk
YXRlSW5mby5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9VcGRhdGVJbmZvLmgKQEAgLTI2
LDcgKzI2LDcgQEAKICNpZm5kZWYgVXBkYXRlSW5mb19oCiAjZGVmaW5lIFVwZGF0ZUluZm9faAog
Ci0jaW5jbHVkZSAiU2hhcmVkTWVtb3J5LmgiCisjaW5jbHVkZSAiU2hhcmVhYmxlQml0bWFwLmgi
CiAjaW5jbHVkZSA8V2ViQ29yZS9JbnRSZWN0Lmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKQEAgLTYwLDcgKzYwLDcgQEAgcHVibGljOgogICAgIFZlY3RvcjxXZWJDb3JlOjpJbnRS
ZWN0PiB1cGRhdGVSZWN0czsKIAogICAgIC8vIFRoZSBoYW5kbGUgb2YgdGhlIHNoYXJlYWJsZSBi
aXRtYXAgY29udGFpbmluZyB0aGUgdXBkYXRlcy4gV2lsbCBiZSBudWxsIGlmIHRoZXJlIGFyZSBu
byB1cGRhdGVzLgotICAgIFNoYXJlZE1lbW9yeTo6SGFuZGxlIGJpdG1hcEhhbmRsZTsKKyAgICBT
aGFyZWFibGVCaXRtYXA6OkhhbmRsZSBiaXRtYXBIYW5kbGU7CiB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Vc2VyTWVzc2FnZUNv
ZGVycy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1VzZXJNZXNzYWdlQ29kZXJzLmgKaW5kZXgg
NjU4NzVmYWIzOWVhYTNjODA4OWVmYWM4NmU4YWUzNThiMzJjM2NiMS4uYWQ3MjQ5M2U1NTllYjNh
ZmJlOWMzNmRiYjBlMTE5OWYyNDZlOGEzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL1VzZXJNZXNzYWdlQ29kZXJzLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1VzZXJN
ZXNzYWdlQ29kZXJzLmgKQEAgLTEzMiwxMyArMTMyLDEyIEBAIHB1YmxpYzoKICAgICAgICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgU2hhcmVkTWVt
b3J5OjpIYW5kbGUgaGFuZGxlOworICAgICAgICAgICAgU2hhcmVhYmxlQml0bWFwOjpIYW5kbGUg
aGFuZGxlOwogICAgICAgICAgICAgaWYgKCFpbWFnZS0+Yml0bWFwKCktPmNyZWF0ZUhhbmRsZSho
YW5kbGUpKQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgICAgICAgICAgZW5j
b2Rlci0+ZW5jb2RlKHRydWUpOwogICAgICAgICAgICAgCi0gICAgICAgICAgICBlbmNvZGVyLT5l
bmNvZGUoaW1hZ2UtPnNpemUoKSk7CiAgICAgICAgICAgICBlbmNvZGVyLT5lbmNvZGUoaGFuZGxl
KTsKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICB9CkBAIC0yOTMsMTUgKzI5Miwx
MSBAQCBwdWJsaWM6CiAgICAgICAgICAgICBpZiAoIWRpZEVuY29kZSkKICAgICAgICAgICAgICAg
ICBicmVhazsKIAotICAgICAgICAgICAgV2ViQ29yZTo6SW50U2l6ZSBzaXplOwotICAgICAgICAg
ICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUoc2l6ZSkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOwotCi0gICAgICAgICAgICBTaGFyZWRNZW1vcnk6OkhhbmRsZSBoYW5kbGU7CisgICAgICAg
ICAgICBTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSBoYW5kbGU7CiAgICAgICAgICAgICBpZiAoIWRl
Y29kZXItPmRlY29kZShoYW5kbGUpKQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAot
ICAgICAgICAgICAgY29kZXIubV9yb290ID0gV2ViSW1hZ2U6OmNyZWF0ZShTaGFyZWFibGVCaXRt
YXA6OmNyZWF0ZShzaXplLCBoYW5kbGUpKTsKKyAgICAgICAgICAgIGNvZGVyLm1fcm9vdCA9IFdl
YkltYWdlOjpjcmVhdGUoU2hhcmVhYmxlQml0bWFwOjpjcmVhdGUoaGFuZGxlKSk7CiAgICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgfQogICAgICAgICBjYXNlIEFQSU9iamVjdDo6VHlw
ZURhdGE6IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1l
bnRDb2RlcnMuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVy
cy5jcHAKaW5kZXggZTk3YzdmZGY5ODIzNGFmZTMwYmZhNzU0Y2I5MjE4MjgyNGU5MDE2OS4uNTZj
NzIzNTE5NWVmZDQ1ZmY1YzUzNzE5YjFhY2U4MDdiY2U3YTc4MiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAKQEAgLTM5LDIzICszOSwxOSBA
QCB2b2lkIGVuY29kZUltYWdlKEFyZ3VtZW50RW5jb2RlciogZW5jb2RlciwgSW1hZ2UqIGltYWdl
KQogewogICAgIFJlZlB0cjxTaGFyZWFibGVCaXRtYXA+IGJpdG1hcCA9IFNoYXJlYWJsZUJpdG1h
cDo6Y3JlYXRlU2hhcmVhYmxlKGltYWdlLT5zaXplKCkpOwogICAgIGJpdG1hcC0+Y3JlYXRlR3Jh
cGhpY3NDb250ZXh0KCktPmRyYXdJbWFnZShpbWFnZSwgQ29sb3JTcGFjZURldmljZVJHQiwgSW50
UG9pbnQoKSk7Ci0gICAgU2hhcmVkTWVtb3J5OjpIYW5kbGUgaGFuZGxlOworICAgIFNoYXJlYWJs
ZUJpdG1hcDo6SGFuZGxlIGhhbmRsZTsKICAgICBiaXRtYXAtPmNyZWF0ZUhhbmRsZShoYW5kbGUp
OwogCi0gICAgZW5jb2Rlci0+ZW5jb2RlKGltYWdlLT5zaXplKCkpOwogICAgIGVuY29kZXItPmVu
Y29kZShoYW5kbGUpOwogfQogCiBib29sIGRlY29kZUltYWdlKEFyZ3VtZW50RGVjb2RlciogZGVj
b2RlciwgUmVmUHRyPEltYWdlPiYgaW1hZ2UpCiB7Ci0gICAgSW50U2l6ZSBpbWFnZVNpemU7Ci0g
ICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUoaW1hZ2VTaXplKSkKLSAgICAgICAgcmV0dXJuIGZhbHNl
OwotICAgIFNoYXJlZE1lbW9yeTo6SGFuZGxlIGhhbmRsZTsKKyAgICBTaGFyZWFibGVCaXRtYXA6
OkhhbmRsZSBoYW5kbGU7CiAgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUoaGFuZGxlKSkKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogICAgIAotICAgIFJlZlB0cjxTaGFyZWFibGVCaXRtYXA+IGJpdG1h
cCA9IFNoYXJlYWJsZUJpdG1hcDo6Y3JlYXRlKGltYWdlU2l6ZSwgaGFuZGxlKTsKKyAgICBSZWZQ
dHI8U2hhcmVhYmxlQml0bWFwPiBiaXRtYXAgPSBTaGFyZWFibGVCaXRtYXA6OmNyZWF0ZShoYW5k
bGUpOwogICAgIGlmICghYml0bWFwKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgaW1hZ2Ug
PSBjcmVhdGVJbWFnZShiaXRtYXAuZ2V0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9tYWMvUGFnZUNsaWVudEltcGwuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvbWFjL1BhZ2VDbGllbnRJbXBsLmgKaW5kZXggZTJhZDE3ZjkxZjMxNDAyZjc2ZDI3
ZTlkNDE2MmFhOWEyMGMzZmFkYi4uYmVjYTRmMzlmOGM2YjBlZmU1MGI3YzI5N2FkYWVkODA1ZGU4
Yzg1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvUGFnZUNs
aWVudEltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9QYWdlQ2xp
ZW50SW1wbC5oCkBAIC03Miw3ICs3Miw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHJl
Z2lzdGVyRWRpdENvbW1hbmQoUGFzc1JlZlB0cjxXZWJFZGl0Q29tbWFuZFByb3h5PiwgV2ViUGFn
ZVByb3h5OjpVbmRvT3JSZWRvKTsKICAgICB2aXJ0dWFsIHZvaWQgY2xlYXJBbGxFZGl0Q29tbWFu
ZHMoKTsKICAgICB2aXJ0dWFsIHZvaWQgaW50ZXJjZXB0S2V5RXZlbnQoY29uc3QgTmF0aXZlV2Vi
S2V5Ym9hcmRFdmVudCYgZXZlbnQsIFZlY3RvcjxXZWJDb3JlOjpLZXlwcmVzc0NvbW1hbmQ+JiBj
b21tYW5kTmFtZSwgdWludDMyX3Qgc2VsZWN0aW9uU3RhcnQsIHVpbnQzMl90IHNlbGVjdGlvbkVu
ZCwgVmVjdG9yPFdlYkNvcmU6OkNvbXBvc2l0aW9uVW5kZXJsaW5lPiYgdW5kZXJsaW5lcyk7Ci0g
ICAgdmlydHVhbCB2b2lkIHNldERyYWdJbWFnZShjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgY2xp
ZW50UG9zaXRpb24sIGNvbnN0IFdlYkNvcmU6OkludFNpemUmIGltYWdlU2l6ZSwgUGFzc1JlZlB0
cjxTaGFyZWFibGVCaXRtYXA+IGRyYWdJbWFnZSwgYm9vbCBpc0xpbmtEcmFnKTsKKyAgICB2aXJ0
dWFsIHZvaWQgc2V0RHJhZ0ltYWdlKGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBjbGllbnRQb3Np
dGlvbiwgUGFzc1JlZlB0cjxTaGFyZWFibGVCaXRtYXA+IGRyYWdJbWFnZSwgYm9vbCBpc0xpbmtE
cmFnKTsKIAogICAgIHZpcnR1YWwgV2ViQ29yZTo6RmxvYXRSZWN0IGNvbnZlcnRUb0RldmljZVNw
YWNlKGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYpOwogICAgIHZpcnR1YWwgV2ViQ29yZTo6Rmxv
YXRSZWN0IGNvbnZlcnRUb1VzZXJTcGFjZShjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1BhZ2VDbGllbnRJbXBs
Lm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvUGFnZUNsaWVudEltcGwubW0K
aW5kZXggMmEzNTM2OTIwMTVmMjI3MDViZjU0OTExNmY3Yzc5NWJmNzhlNjdjNC4uNzczZWU4ZGM2
OWI5NmQ4OTA1NWI3YmNhZTQxMDRiYWQ0YTM5YWJhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9tYWMvUGFnZUNsaWVudEltcGwubW0KKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9tYWMvUGFnZUNsaWVudEltcGwubW0KQEAgLTI5NywxMCArMjk3LDEw
IEBAIHZvaWQgUGFnZUNsaWVudEltcGw6OmludGVyY2VwdEtleUV2ZW50KGNvbnN0IE5hdGl2ZVdl
YktleWJvYXJkRXZlbnQmIGV2ZW50LCBWZWN0CiAgICAgW21fd2tWaWV3IF9nZXRUZXh0SW5wdXRT
dGF0ZTpzZWxlY3Rpb25TdGFydCBzZWxlY3Rpb25FbmQ6c2VsZWN0aW9uRW5kIHVuZGVybGluZXM6
dW5kZXJsaW5lc107CiB9CiAKLXZvaWQgUGFnZUNsaWVudEltcGw6OnNldERyYWdJbWFnZShjb25z
dCBJbnRQb2ludCYgY2xpZW50UG9zaXRpb24sIGNvbnN0IEludFNpemUmIGltYWdlU2l6ZSwgUGFz
c1JlZlB0cjxTaGFyZWFibGVCaXRtYXA+IGRyYWdJbWFnZSwgYm9vbCBpc0xpbmtEcmFnKQordm9p
ZCBQYWdlQ2xpZW50SW1wbDo6c2V0RHJhZ0ltYWdlKGNvbnN0IEludFBvaW50JiBjbGllbnRQb3Np
dGlvbiwgUGFzc1JlZlB0cjxTaGFyZWFibGVCaXRtYXA+IGRyYWdJbWFnZSwgYm9vbCBpc0xpbmtE
cmFnKQogewogICAgIFJldGFpblB0cjxDR0ltYWdlUmVmPiBkcmFnQ0dJbWFnZSA9IGRyYWdJbWFn
ZS0+bWFrZUNHSW1hZ2UoKTsKLSAgICBSZXRhaW5QdHI8TlNJbWFnZT4gZHJhZ05TSW1hZ2UoQWRv
cHROUywgW1tOU0ltYWdlIGFsbG9jXSBpbml0V2l0aENHSW1hZ2U6ZHJhZ0NHSW1hZ2UuZ2V0KCkg
c2l6ZTppbWFnZVNpemVdKTsKKyAgICBSZXRhaW5QdHI8TlNJbWFnZT4gZHJhZ05TSW1hZ2UoQWRv
cHROUywgW1tOU0ltYWdlIGFsbG9jXSBpbml0V2l0aENHSW1hZ2U6ZHJhZ0NHSW1hZ2UuZ2V0KCkg
c2l6ZTpkcmFnSW1hZ2UtPnNpemUoKV0pOwogCiAgICAgW21fd2tWaWV3IF9zZXREcmFnSW1hZ2U6
ZHJhZ05TSW1hZ2UuZ2V0KCkgYXQ6Y2xpZW50UG9zaXRpb24gbGlua0RyYWc6aXNMaW5rRHJhZ107
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQmFja2luZ1N0b3JlLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9CYWNraW5nU3RvcmUuY3BwCmluZGV4IGY5YTI2
NzJjOWYyZTUyYzJmM2ZlN2Q4MWFiMjgyZmU3Y2I0ZDAzOGIuLjVmMDI0ZTYyODUxYTdhOTJlMDFj
MTNmZWE2NzQ1MTMyM2FmYmQ4MmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9CYWNraW5nU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9CYWNraW5n
U3RvcmUuY3BwCkBAIC01Nyw5ICs1NywxMCBAQCB2b2lkIEJhY2tpbmdTdG9yZTo6aW5jb3Jwb3Jh
dGVVcGRhdGUoY29uc3QgVXBkYXRlSW5mbyYgdXBkYXRlSW5mbykKIHsKIC8vICAgIEFTU0VSVCht
X3NpemUgPT0gdXBkYXRlSW5mby52aWV3U2l6ZSk7CiAgICAgCi0gICAgUmVmUHRyPFNoYXJlYWJs
ZUJpdG1hcD4gYml0bWFwID0gU2hhcmVhYmxlQml0bWFwOjpjcmVhdGUodXBkYXRlSW5mby51cGRh
dGVSZWN0Qm91bmRzLnNpemUoKSwgdXBkYXRlSW5mby5iaXRtYXBIYW5kbGUpOworICAgIFJlZlB0
cjxTaGFyZWFibGVCaXRtYXA+IGJpdG1hcCA9IFNoYXJlYWJsZUJpdG1hcDo6Y3JlYXRlKHVwZGF0
ZUluZm8uYml0bWFwSGFuZGxlKTsKICAgICBpZiAoIWJpdG1hcCkKICAgICAgICAgcmV0dXJuOwor
ICAgIEFTU0VSVChiaXRtYXAtPnNpemUoKSA9PSB1cGRhdGVJbmZvLnVwZGF0ZVJlY3RCb3VuZHMu
c2l6ZSgpKTsKICAgICAKICAgICBpbmNvcnBvcmF0ZVVwZGF0ZShiaXRtYXAuZ2V0KCksIHVwZGF0
ZUluZm8pOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0ZpbmRJbmRp
Y2F0b3IuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0ZpbmRJbmRpY2F0b3IuY3BwCmlu
ZGV4IGQ2YWM0NjFlMDFhNGFlMzgwYjRlMDJiOWY5YTcwNWU3NmY0MjYzNjIuLmQzMGZiOGQwYmQz
MjI5M2EwN2VlNjQ3ZjBhZDYzYjZhYjUyNGM1MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9GaW5kSW5kaWNhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvRmluZEluZGljYXRvci5jcHAKQEAgLTc3LDExICs3NywxMiBAQCBzdGF0aWMgY29uc3QgaW50
IGdyYWRpZW50TGlnaHRBbHBoYSA9IDI1NTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLVBhc3NS
ZWZQdHI8RmluZEluZGljYXRvcj4gRmluZEluZGljYXRvcjo6Y3JlYXRlKGNvbnN0IEZsb2F0UmVj
dCYgc2VsZWN0aW9uUmVjdEluV2luZG93Q29vcmRpbmF0ZXMsIGNvbnN0IFZlY3RvcjxGbG9hdFJl
Y3Q+JiB0ZXh0UmVjdHNJblNlbGVjdGlvblJlY3RDb29yZGluYXRlcywgY29uc3QgU2hhcmVkTWVt
b3J5OjpIYW5kbGUmIGNvbnRlbnRJbWFnZUhhbmRsZSkKK1Bhc3NSZWZQdHI8RmluZEluZGljYXRv
cj4gRmluZEluZGljYXRvcjo6Y3JlYXRlKGNvbnN0IEZsb2F0UmVjdCYgc2VsZWN0aW9uUmVjdElu
V2luZG93Q29vcmRpbmF0ZXMsIGNvbnN0IFZlY3RvcjxGbG9hdFJlY3Q+JiB0ZXh0UmVjdHNJblNl
bGVjdGlvblJlY3RDb29yZGluYXRlcywgY29uc3QgU2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmIGNv
bnRlbnRJbWFnZUhhbmRsZSkKIHsKLSAgICBSZWZQdHI8U2hhcmVhYmxlQml0bWFwPiBjb250ZW50
SW1hZ2UgPSBTaGFyZWFibGVCaXRtYXA6OmNyZWF0ZShlbmNsb3NpbmdJbnRSZWN0KHNlbGVjdGlv
blJlY3RJbldpbmRvd0Nvb3JkaW5hdGVzKS5zaXplKCksIGNvbnRlbnRJbWFnZUhhbmRsZSk7Cisg
ICAgUmVmUHRyPFNoYXJlYWJsZUJpdG1hcD4gY29udGVudEltYWdlID0gU2hhcmVhYmxlQml0bWFw
OjpjcmVhdGUoY29udGVudEltYWdlSGFuZGxlKTsKICAgICBpZiAoIWNvbnRlbnRJbWFnZSkKICAg
ICAgICAgcmV0dXJuIDA7CisgICAgQVNTRVJUKGNvbnRlbnRJbWFnZS0+c2l6ZSgpID09IGVuY2xv
c2luZ0ludFJlY3Qoc2VsZWN0aW9uUmVjdEluV2luZG93Q29vcmRpbmF0ZXMpLnNpemUoKSk7CiAK
ICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEZpbmRJbmRpY2F0b3Ioc2VsZWN0aW9uUmVjdEluV2lu
ZG93Q29vcmRpbmF0ZXMsIHRleHRSZWN0c0luU2VsZWN0aW9uUmVjdENvb3JkaW5hdGVzLCBjb250
ZW50SW1hZ2UucmVsZWFzZSgpKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvRmluZEluZGljYXRvci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0ZpbmRJbmRp
Y2F0b3IuaAppbmRleCA2OTA4OGNlMzYzOGM1MWI4OWUwZWU0ZWExODdiZmEzMDYyM2I0ZmM4Li40
OWQwN2RhNmNjNDNmMTcyOTFlZmI4NWM1OWU2MTZkYjAyZDFiNjJiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvRmluZEluZGljYXRvci5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9GaW5kSW5kaWNhdG9yLmgKQEAgLTI2LDcgKzI2LDcgQEAKICNpZm5kZWYgRmlu
ZEluZGljYXRvcl9oCiAjZGVmaW5lIEZpbmRJbmRpY2F0b3JfaAogCi0jaW5jbHVkZSAiU2hhcmVk
TWVtb3J5LmgiCisjaW5jbHVkZSAiU2hhcmVhYmxlQml0bWFwLmgiCiAjaW5jbHVkZSA8V2ViQ29y
ZS9GbG9hdFJlY3QuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0
Zi9SZWZDb3VudGVkLmg+CkBAIC0zOCwxMSArMzgsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IG5hbWVzcGFjZSBXZWJLaXQgewogCi1jbGFzcyBTaGFyZWFibGVCaXRtYXA7Ci0KIGNsYXNzIEZp
bmRJbmRpY2F0b3IgOiBwdWJsaWMgUmVmQ291bnRlZDxGaW5kSW5kaWNhdG9yPiB7CiBwdWJsaWM6
Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8RmluZEluZGljYXRvcj4gY3JlYXRlKGNvbnN0IFdlYkNv
cmU6OkZsb2F0UmVjdCYgc2VsZWN0aW9uUmVjdEluV2luZG93Q29vcmRpbmF0ZXMsIGNvbnN0IFZl
Y3RvcjxXZWJDb3JlOjpGbG9hdFJlY3Q+JiB0ZXh0UmVjdHNJblNlbGVjdGlvblJlY3RDb29yZGlu
YXRlcywgY29uc3QgU2hhcmVkTWVtb3J5OjpIYW5kbGUmIGNvbnRlbnRJbWFnZUhhbmRsZSk7Cisg
ICAgc3RhdGljIFBhc3NSZWZQdHI8RmluZEluZGljYXRvcj4gY3JlYXRlKGNvbnN0IFdlYkNvcmU6
OkZsb2F0UmVjdCYgc2VsZWN0aW9uUmVjdEluV2luZG93Q29vcmRpbmF0ZXMsIGNvbnN0IFZlY3Rv
cjxXZWJDb3JlOjpGbG9hdFJlY3Q+JiB0ZXh0UmVjdHNJblNlbGVjdGlvblJlY3RDb29yZGluYXRl
cywgY29uc3QgU2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmIGNvbnRlbnRJbWFnZUhhbmRsZSk7CiAg
ICAgfkZpbmRJbmRpY2F0b3IoKTsKIAogICAgIFdlYkNvcmU6OkZsb2F0UmVjdCBzZWxlY3Rpb25S
ZWN0SW5XaW5kb3dDb29yZGluYXRlcygpIGNvbnN0IHsgcmV0dXJuIG1fc2VsZWN0aW9uUmVjdElu
V2luZG93Q29vcmRpbmF0ZXM7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9QYWdlQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCmlu
ZGV4IDg1NTc2ZjlhN2Y2MTA4MDUxZmFhNGZlYjdkYTM4NGU2NGYxOGRlMmYuLjAxMzA1NzVlN2Vl
MjY5NTcwNzM3ZDc2Y2ZhZTliMWRkNmMxODJlNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Bh
Z2VDbGllbnQuaApAQCAtMTAxLDcgKzEwMSw3IEBAIHB1YmxpYzoKICNpZiBQTEFURk9STShNQUMp
CiAgICAgdmlydHVhbCB2b2lkIGFjY2Vzc2liaWxpdHlXZWJQcm9jZXNzVG9rZW5SZWNlaXZlZChj
b25zdCBDb3JlSVBDOjpEYXRhUmVmZXJlbmNlJikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBpbnRl
cmNlcHRLZXlFdmVudChjb25zdCBOYXRpdmVXZWJLZXlib2FyZEV2ZW50JiwgVmVjdG9yPFdlYkNv
cmU6OktleXByZXNzQ29tbWFuZD4mIGNvbW1hbmROYW1lLCB1aW50MzJfdCBzZWxlY3Rpb25TdGFy
dCwgdWludDMyX3Qgc2VsZWN0aW9uRW5kLCBWZWN0b3I8V2ViQ29yZTo6Q29tcG9zaXRpb25VbmRl
cmxpbmU+JiB1bmRlcmxpbmVzKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIHNldERyYWdJbWFnZShj
b25zdCBXZWJDb3JlOjpJbnRQb2ludCYgY2xpZW50UG9zaXRpb24sIGNvbnN0IFdlYkNvcmU6Oklu
dFNpemUmIGltYWdlU2l6ZSwgUGFzc1JlZlB0cjxTaGFyZWFibGVCaXRtYXA+IGRyYWdJbWFnZSwg
Ym9vbCBpc0xpbmtEcmFnKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHNldERyYWdJbWFnZShjb25z
dCBXZWJDb3JlOjpJbnRQb2ludCYgY2xpZW50UG9zaXRpb24sIFBhc3NSZWZQdHI8U2hhcmVhYmxl
Qml0bWFwPiBkcmFnSW1hZ2UsIGJvb2wgaXNMaW5rRHJhZykgPSAwOwogI2VuZGlmCiAjaWYgUExB
VEZPUk0oV0lOKQogICAgIHZpcnR1YWwgdm9pZCBjb21wb3NpdGlvblNlbGVjdGlvbkNoYW5nZWQo
Ym9vbCkgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRl
eCBjZTVjYmMyNWIzM2QwMTBmNzkzYTJjYmUxZmQxZTU2OTdjZTBkOWUyLi4zZmYyMTJhMDZmZWQ0
MjY3ZWM1MjdiMTE0M2UyMWVjNTUwNjgxZmVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcApAQCAtMjA2MSw3ICsyMDYxLDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6
OmRpZENvdW50U3RyaW5nTWF0Y2hlcyhjb25zdCBTdHJpbmcmIHN0cmluZywgdWludDMyX3QgbWF0
Y2hDb3UKICAgICBtX2ZpbmRDbGllbnQuZGlkQ291bnRTdHJpbmdNYXRjaGVzKHRoaXMsIHN0cmlu
ZywgbWF0Y2hDb3VudCk7CiB9CiAKLXZvaWQgV2ViUGFnZVByb3h5OjpzZXRGaW5kSW5kaWNhdG9y
KGNvbnN0IEZsb2F0UmVjdCYgc2VsZWN0aW9uUmVjdEluV2luZG93Q29vcmRpbmF0ZXMsIGNvbnN0
IFZlY3RvcjxGbG9hdFJlY3Q+JiB0ZXh0UmVjdHNJblNlbGVjdGlvblJlY3RDb29yZGluYXRlcywg
Y29uc3QgU2hhcmVkTWVtb3J5OjpIYW5kbGUmIGNvbnRlbnRJbWFnZUhhbmRsZSwgYm9vbCBmYWRl
T3V0KQordm9pZCBXZWJQYWdlUHJveHk6OnNldEZpbmRJbmRpY2F0b3IoY29uc3QgRmxvYXRSZWN0
JiBzZWxlY3Rpb25SZWN0SW5XaW5kb3dDb29yZGluYXRlcywgY29uc3QgVmVjdG9yPEZsb2F0UmVj
dD4mIHRleHRSZWN0c0luU2VsZWN0aW9uUmVjdENvb3JkaW5hdGVzLCBjb25zdCBTaGFyZWFibGVC
aXRtYXA6OkhhbmRsZSYgY29udGVudEltYWdlSGFuZGxlLCBib29sIGZhZGVPdXQpCiB7CiAgICAg
UmVmUHRyPEZpbmRJbmRpY2F0b3I+IGZpbmRJbmRpY2F0b3IgPSBGaW5kSW5kaWNhdG9yOjpjcmVh
dGUoc2VsZWN0aW9uUmVjdEluV2luZG93Q29vcmRpbmF0ZXMsIHRleHRSZWN0c0luU2VsZWN0aW9u
UmVjdENvb3JkaW5hdGVzLCBjb250ZW50SW1hZ2VIYW5kbGUpOwogICAgIG1fcGFnZUNsaWVudC0+
c2V0RmluZEluZGljYXRvcihmaW5kSW5kaWNhdG9yLnJlbGVhc2UoKSwgZmFkZU91dCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggYjM3ZWQxYjdiODExNjQ2MjRm
ZDk3ZWEzY2NhOTIzZjBkMDQwOTYxOC4uZTNlNjJkNDBjMDc4NWU3NmY4MmQ3MTE3OTIyNmU5MTMx
ODg3ZTY0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMzcw
LDcgKzM3MCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpZFBlcmZvcm1EcmFnQ29udHJvbGxlckFj
dGlvbih1aW50NjRfdCByZXN1bHRPcGVyYXRpb24pOwogICAgIHZvaWQgZHJhZ0VuZGVkKGNvbnN0
IFdlYkNvcmU6OkludFBvaW50JiBjbGllbnRQb3NpdGlvbiwgY29uc3QgV2ViQ29yZTo6SW50UG9p
bnQmIGdsb2JhbFBvc2l0aW9uLCB1aW50NjRfdCBvcGVyYXRpb24pOwogI2lmIFBMQVRGT1JNKE1B
QykKLSAgICB2b2lkIHNldERyYWdJbWFnZShjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgY2xpZW50
UG9zaXRpb24sIGNvbnN0IFdlYkNvcmU6OkludFNpemUmIGltYWdlU2l6ZSwgY29uc3QgU2hhcmVk
TWVtb3J5OjpIYW5kbGUmIGRyYWdJbWFnZUhhbmRsZSwgYm9vbCBpc0xpbmtEcmFnKTsKKyAgICB2
b2lkIHNldERyYWdJbWFnZShjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgY2xpZW50UG9zaXRpb24s
IGNvbnN0IFNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlJiBkcmFnSW1hZ2VIYW5kbGUsIGJvb2wgaXNM
aW5rRHJhZyk7CiAjZW5kaWYKICNpZiBQTEFURk9STShXSU4pCiAgICAgdm9pZCBzdGFydERyYWdE
cm9wKGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBpbWFnZVBvaW50LCBjb25zdCBXZWJDb3JlOjpJ
bnRQb2ludCYgZHJhZ1BvaW50LCB1aW50NjRfdCBva0VmZmVjdCwgY29uc3QgSGFzaE1hcDxVSU5U
LCBWZWN0b3I8U3RyaW5nPiA+JiBkYXRhTWFwLCBjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBkcmFn
SW1hZ2VTaXplLCBjb25zdCBTaGFyZWRNZW1vcnk6OkhhbmRsZSYgZHJhZ0ltYWdlSGFuZGxlLCBi
b29sIGlzTGlua0RyYWcpOwpAQCAtNTg2LDcgKzU4Niw3IEBAIHByaXZhdGU6CiAgICAgCiAgICAg
Ly8gRmluZC4KICAgICB2b2lkIGRpZENvdW50U3RyaW5nTWF0Y2hlcyhjb25zdCBTdHJpbmcmLCB1
aW50MzJfdCBtYXRjaENvdW50KTsKLSAgICB2b2lkIHNldEZpbmRJbmRpY2F0b3IoY29uc3QgV2Vi
Q29yZTo6RmxvYXRSZWN0JiBzZWxlY3Rpb25SZWN0SW5XaW5kb3dDb29yZGluYXRlcywgY29uc3Qg
VmVjdG9yPFdlYkNvcmU6OkZsb2F0UmVjdD4mIHRleHRSZWN0c0luU2VsZWN0aW9uUmVjdENvb3Jk
aW5hdGVzLCBjb25zdCBTaGFyZWRNZW1vcnk6OkhhbmRsZSYgY29udGVudEltYWdlSGFuZGxlLCBi
b29sIGZhZGVPdXQpOworICAgIHZvaWQgc2V0RmluZEluZGljYXRvcihjb25zdCBXZWJDb3JlOjpG
bG9hdFJlY3QmIHNlbGVjdGlvblJlY3RJbldpbmRvd0Nvb3JkaW5hdGVzLCBjb25zdCBWZWN0b3I8
V2ViQ29yZTo6RmxvYXRSZWN0PiYgdGV4dFJlY3RzSW5TZWxlY3Rpb25SZWN0Q29vcmRpbmF0ZXMs
IGNvbnN0IFNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlJiBjb250ZW50SW1hZ2VIYW5kbGUsIGJvb2wg
ZmFkZU91dCk7CiAgICAgdm9pZCBkaWRGaW5kU3RyaW5nKGNvbnN0IFN0cmluZyYsIHVpbnQzMl90
IG1hdGNoQ291bnQpOwogICAgIHZvaWQgZGlkRmFpbFRvRmluZFN0cmluZyhjb25zdCBTdHJpbmcm
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5t
ZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2Fn
ZXMuaW4KaW5kZXggYTAyYjdiOGRiY2JkNmQxMzA1ZjA2ZGRiMjY3OWY5MjY0YTZkODQ3My4uZTE0
NWQ4MmE0YjhlYTU3MzI1ZjQ4OGEzMjAwN2RlNTdmOGQzZmQyMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC0xNTksNyArMTU5
LDcgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKIAogICAgICMgRmluZCBtZXNzYWdlcwog
ICAgIERpZENvdW50U3RyaW5nTWF0Y2hlcyhXVEY6OlN0cmluZyBzdHJpbmcsIHVpbnQzMl90IG1h
dGNoQ291bnQpCi0gICAgU2V0RmluZEluZGljYXRvcihXZWJDb3JlOjpGbG9hdFJlY3Qgc2VsZWN0
aW9uUmVjdCwgVmVjdG9yPFdlYkNvcmU6OkZsb2F0UmVjdD4gdGV4dFJlY3RzLCBXZWJLaXQ6OlNo
YXJlZE1lbW9yeTo6SGFuZGxlIGNvbnRlbnRJbWFnZUhhbmRsZSwgYm9vbCBmYWRlT3V0KQorICAg
IFNldEZpbmRJbmRpY2F0b3IoV2ViQ29yZTo6RmxvYXRSZWN0IHNlbGVjdGlvblJlY3QsIFZlY3Rv
cjxXZWJDb3JlOjpGbG9hdFJlY3Q+IHRleHRSZWN0cywgV2ViS2l0OjpTaGFyZWFibGVCaXRtYXA6
OkhhbmRsZSBjb250ZW50SW1hZ2VIYW5kbGUsIGJvb2wgZmFkZU91dCkKICAgICBEaWRGaW5kU3Ry
aW5nKFdURjo6U3RyaW5nIHN0cmluZywgdWludDMyX3QgbWF0Y2hDb3VudCkKICAgICBEaWRGYWls
VG9GaW5kU3RyaW5nKFdURjo6U3RyaW5nIHN0cmluZykKIApAQCAtMjAzLDcgKzIwMyw3IEBAIG1l
c3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAgICAgIyBEcmFnIGFuZCBkcm9wIG1lc3NhZ2VzCiAg
ICAgRGlkUGVyZm9ybURyYWdDb250cm9sbGVyQWN0aW9uKHVpbnQ2NF90IHJlc3VsdE9wZXJhdGlv
bikKICNpZiBQTEFURk9STShNQUMpCi0gICAgU2V0RHJhZ0ltYWdlKFdlYkNvcmU6OkludFBvaW50
IGNsaWVudFBvc2l0aW9uLCBXZWJDb3JlOjpJbnRTaXplIGltYWdlU2l6ZSwgV2ViS2l0OjpTaGFy
ZWRNZW1vcnk6OkhhbmRsZSBkcmFnSW1hZ2UsIGJvb2wgbGlua0RyYWcpCisgICAgU2V0RHJhZ0lt
YWdlKFdlYkNvcmU6OkludFBvaW50IGNsaWVudFBvc2l0aW9uLCBXZWJLaXQ6OlNoYXJlYWJsZUJp
dG1hcDo6SGFuZGxlIGRyYWdJbWFnZSwgYm9vbCBsaW5rRHJhZykKICNlbmRpZgogI2lmIFBMQVRG
T1JNKFdJTikKICAgICBTdGFydERyYWdEcm9wKFdlYkNvcmU6OkludFBvaW50IGltYWdlUG9pbnQs
IFdlYkNvcmU6OkludFBvaW50IGRyYWdQb2ludCwgdWludDY0X3Qgb2tFZmZlY3QsIEhhc2hNYXA8
VUlOVCxWZWN0b3I8U3RyaW5nPiA+IGRhdGFNYXAsIFdlYkNvcmU6OkludFNpemUgZHJhZ0ltYWdl
U2l6ZSwgV2ViS2l0OjpTaGFyZWRNZW1vcnk6OkhhbmRsZSBkcmFnSW1hZ2UsIGJvb2wgbGlua0Ry
YWcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYlBhZ2VQcm94
eU1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViUGFnZVByb3h5TWFjLm1t
CmluZGV4IGFlMGE4ZTViOTY3ZjBmYzczNjAwYTFiZmNiNzExYmFlZWFmNWNlNDIuLjkwZGY4MWVj
YjJhMWU3MzgyOGM5ZDNkMTVhYjcwNjRlZWJlZWJjOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9tYWMvV2ViUGFnZVByb3h5TWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9tYWMvV2ViUGFnZVByb3h5TWFjLm1tCkBAIC0xNjksMTMgKzE2OSwxMyBAQCBi
b29sIFdlYlBhZ2VQcm94eTo6cmVhZFNlbGVjdGlvbkZyb21QYXN0ZWJvYXJkKGNvbnN0IFN0cmlu
ZyYgcGFzdGVib2FyZE5hbWUpCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotdm9pZCBXZWJQYWdl
UHJveHk6OnNldERyYWdJbWFnZShjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgY2xpZW50UG9zaXRp
b24sIGNvbnN0IEludFNpemUmIGltYWdlU2l6ZSwgY29uc3QgU2hhcmVkTWVtb3J5OjpIYW5kbGUm
IGRyYWdJbWFnZUhhbmRsZSwgYm9vbCBpc0xpbmtEcmFnKQordm9pZCBXZWJQYWdlUHJveHk6OnNl
dERyYWdJbWFnZShjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgY2xpZW50UG9zaXRpb24sIGNvbnN0
IFNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlJiBkcmFnSW1hZ2VIYW5kbGUsIGJvb2wgaXNMaW5rRHJh
ZykKIHsKLSAgICBSZWZQdHI8U2hhcmVhYmxlQml0bWFwPiBkcmFnSW1hZ2UgPSBTaGFyZWFibGVC
aXRtYXA6OmNyZWF0ZShpbWFnZVNpemUsIGRyYWdJbWFnZUhhbmRsZSk7CisgICAgUmVmUHRyPFNo
YXJlYWJsZUJpdG1hcD4gZHJhZ0ltYWdlID0gU2hhcmVhYmxlQml0bWFwOjpjcmVhdGUoZHJhZ0lt
YWdlSGFuZGxlKTsKICAgICBpZiAoIWRyYWdJbWFnZSkKICAgICAgICAgcmV0dXJuOwogICAgIAot
ICAgIG1fcGFnZUNsaWVudC0+c2V0RHJhZ0ltYWdlKGNsaWVudFBvc2l0aW9uLCBpbWFnZVNpemUs
IGRyYWdJbWFnZS5yZWxlYXNlKCksIGlzTGlua0RyYWcpOworICAgIG1fcGFnZUNsaWVudC0+c2V0
RHJhZ0ltYWdlKGNsaWVudFBvc2l0aW9uLCBkcmFnSW1hZ2UucmVsZWFzZSgpLCBpc0xpbmtEcmFn
KTsKIH0KIAogdm9pZCBXZWJQYWdlUHJveHk6OnBlcmZvcm1EaWN0aW9uYXJ5TG9va3VwQXRMb2Nh
dGlvbihjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiBwb2ludCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm94eS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJveHkuY3BwCmluZGV4IDcyODU4MTZmNWNk
YWE2NDZhZTYwZTY2OTQwM2MyMjBjZjRmNzAxYzUuLjhmMDJjZjVkMjc2NGM1N2YwOGZlNzA3OTFm
NTYwMjViYmQzNDBhYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1
Z2lucy9QbHVnaW5Qcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVn
aW5zL1BsdWdpblByb3h5LmNwcApAQCAtMTUzLDExICsxNTMsMTAgQEAgdm9pZCBQbHVnaW5Qcm94
eTo6cGFpbnQoR3JhcGhpY3NDb250ZXh0KiBncmFwaGljc0NvbnRleHQsIGNvbnN0IEludFJlY3Qm
IGRpcnR5UmUKIAogUGFzc1JlZlB0cjxTaGFyZWFibGVCaXRtYXA+IFBsdWdpblByb3h5OjpzbmFw
c2hvdCgpCiB7Ci0gICAgSW50U2l6ZSBidWZmZXJTaXplOwotICAgIFNoYXJlZE1lbW9yeTo6SGFu
ZGxlIHNuYXBzaG90U3RvcmVIYW5kbGU7Ci0gICAgbV9jb25uZWN0aW9uLT5jb25uZWN0aW9uKCkt
PnNlbmRTeW5jKE1lc3NhZ2VzOjpQbHVnaW5Db250cm9sbGVyUHJveHk6OlNuYXBzaG90KCksIE1l
c3NhZ2VzOjpQbHVnaW5Db250cm9sbGVyUHJveHk6OlNuYXBzaG90OjpSZXBseShidWZmZXJTaXpl
LCBzbmFwc2hvdFN0b3JlSGFuZGxlKSwgbV9wbHVnaW5JbnN0YW5jZUlEKTsKKyAgICBTaGFyZWFi
bGVCaXRtYXA6OkhhbmRsZSBzbmFwc2hvdFN0b3JlSGFuZGxlOworICAgIG1fY29ubmVjdGlvbi0+
Y29ubmVjdGlvbigpLT5zZW5kU3luYyhNZXNzYWdlczo6UGx1Z2luQ29udHJvbGxlclByb3h5OjpT
bmFwc2hvdCgpLCBNZXNzYWdlczo6UGx1Z2luQ29udHJvbGxlclByb3h5OjpTbmFwc2hvdDo6UmVw
bHkoc25hcHNob3RTdG9yZUhhbmRsZSksIG1fcGx1Z2luSW5zdGFuY2VJRCk7CiAKLSAgICBSZWZQ
dHI8U2hhcmVhYmxlQml0bWFwPiBzbmFwc2hvdEJ1ZmZlciA9IFNoYXJlYWJsZUJpdG1hcDo6Y3Jl
YXRlKGJ1ZmZlclNpemUsIHNuYXBzaG90U3RvcmVIYW5kbGUpOworICAgIFJlZlB0cjxTaGFyZWFi
bGVCaXRtYXA+IHNuYXBzaG90QnVmZmVyID0gU2hhcmVhYmxlQml0bWFwOjpjcmVhdGUoc25hcHNo
b3RTdG9yZUhhbmRsZSk7CiAgICAgcmV0dXJuIHNuYXBzaG90QnVmZmVyLnJlbGVhc2UoKTsKIH0K
IApAQCAtMTc1LDcgKzE3NCw3IEBAIHZvaWQgUGx1Z2luUHJveHk6Omdlb21ldHJ5RGlkQ2hhbmdl
KGNvbnN0IEludFJlY3QmIGZyYW1lUmVjdCwgY29uc3QgSW50UmVjdCYgY2xpCiAgICAgbV9mcmFt
ZVJlY3QgPSBmcmFtZVJlY3Q7CiAKICAgICBpZiAoIW5lZWRzQmFja2luZ1N0b3JlKCkpIHsKLSAg
ICAgICAgU2hhcmVkTWVtb3J5OjpIYW5kbGUgcGx1Z2luQmFja2luZ1N0b3JlSGFuZGxlOworICAg
ICAgICBTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSBwbHVnaW5CYWNraW5nU3RvcmVIYW5kbGU7CiAg
ICAgICAgIG1fY29ubmVjdGlvbi0+Y29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpQbHVnaW5D
b250cm9sbGVyUHJveHk6Okdlb21ldHJ5RGlkQ2hhbmdlKGZyYW1lUmVjdCwgY2xpcFJlY3QsIHBs
dWdpbkJhY2tpbmdTdG9yZUhhbmRsZSksIG1fcGx1Z2luSW5zdGFuY2VJRCwgQ29yZUlQQzo6RGlz
cGF0Y2hNZXNzYWdlRXZlbldoZW5XYWl0aW5nRm9yU3luY1JlcGx5KTsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KQEAgLTE5Miw3ICsxOTEsNyBAQCB2b2lkIFBsdWdpblByb3h5OjpnZW9tZXRyeURp
ZENoYW5nZShjb25zdCBJbnRSZWN0JiBmcmFtZVJlY3QsIGNvbnN0IEludFJlY3QmIGNsaQogICAg
ICAgICBkaWRVcGRhdGVCYWNraW5nU3RvcmUgPSB0cnVlOwogICAgIH0KIAotICAgIFNoYXJlZE1l
bW9yeTo6SGFuZGxlIHBsdWdpbkJhY2tpbmdTdG9yZUhhbmRsZTsKKyAgICBTaGFyZWFibGVCaXRt
YXA6OkhhbmRsZSBwbHVnaW5CYWNraW5nU3RvcmVIYW5kbGU7CiAKICAgICBpZiAoZGlkVXBkYXRl
QmFja2luZ1N0b3JlKSB7CiAgICAgICAgIC8vIENyZWF0ZSBhIG5ldyBwbHVnLWluIGJhY2tpbmcg
c3RvcmUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L21hYy9XZWJEcmFnQ2xpZW50TWFjLm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9tYWMvV2ViRHJhZ0NsaWVudE1hYy5tbQppbmRleCBhMTFlMGM2YjA0NDZi
MDRjNWFmZWQ4MWM4Nzk0ZGUyYzFkZTlkM2YwLi41NzVlODhiODZjNDgyMTM3YmJkZmQ1MzUwZDc4
YzlmOGNlNTg4ZjFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L21hYy9XZWJEcmFnQ2xpZW50TWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvbWFjL1dlYkRyYWdDbGllbnRNYWMubW0KQEAgLTkzLDEy
ICs5MywxMiBAQCBzdGF0aWMgUGFzc1JlZlB0cjxTaGFyZWFibGVCaXRtYXA+IGNvbnZlcnRJbWFn
ZVRvQml0bWFwKE5TSW1hZ2UgKmltYWdlKQogdm9pZCBXZWJEcmFnQ2xpZW50OjpzdGFydERyYWco
UmV0YWluUHRyPE5TSW1hZ2U+IGltYWdlLCBjb25zdCBJbnRQb2ludCYgcG9pbnQsIGNvbnN0IElu
dFBvaW50JiwgQ2xpcGJvYXJkKiwgRnJhbWUqIGZyYW1lLCBib29sIGxpbmtEcmFnKQogewogICAg
IFJlZlB0cjxTaGFyZWFibGVCaXRtYXA+IGJpdG1hcCA9IGNvbnZlcnRJbWFnZVRvQml0bWFwKGlt
YWdlLmdldCgpKTsKLSAgICBTaGFyZWRNZW1vcnk6OkhhbmRsZSBoYW5kbGU7CisgICAgU2hhcmVh
YmxlQml0bWFwOjpIYW5kbGUgaGFuZGxlOwogICAgIGlmICghYml0bWFwLT5jcmVhdGVIYW5kbGUo
aGFuZGxlKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgLy8gRklYTUU6IFNlZW1zIHRoaXMgbWVz
c2FnZSBzaG91bGQgYmUgbmFtZWQgU3RhcnREcmFnLCBub3QgU2V0RHJhZ0ltYWdlLgotICAgIG1f
cGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpTZXREcmFnSW1hZ2UoZnJhbWUtPnZp
ZXcoKS0+Y29udGVudHNUb1dpbmRvdyhwb2ludCksIGJpdG1hcC0+c2l6ZSgpLCBoYW5kbGUsIGxp
bmtEcmFnKSk7CisgICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlNldERy
YWdJbWFnZShmcmFtZS0+dmlldygpLT5jb250ZW50c1RvV2luZG93KHBvaW50KSwgaGFuZGxlLCBs
aW5rRHJhZykpOwogfQogCiBzdGF0aWMgQ2FjaGVkSW1hZ2UqIGNhY2hlZEltYWdlKEVsZW1lbnQq
IGVsZW1lbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L3dpbi9XZWJQb3B1cE1lbnVXaW4uY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC93aW4vV2ViUG9wdXBNZW51V2luLmNwcAppbmRleCBiNGRiNDA2Yzli
MTFkM2ZlZDY4YjQyMDZkOWVlMTUwZjM4MDU5ZmM1Li5mNzkxZmQ5ZWRhMGQzMTZlYjgwNjcxNmZh
M2UyZjg2ZGZiNzlhZThmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L3dpbi9XZWJQb3B1cE1lbnVXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvd2luL1dlYlBvcHVwTWVudVdpbi5jcHAKQEAgLTc4
LDkgKzc4LDkgQEAgdm9pZCBXZWJQb3B1cE1lbnU6OnNldFVwUGxhdGZvcm1EYXRhKGNvbnN0IFdl
YkNvcmU6OkludFJlY3QmIHBhZ2VDb29yZGluYXRlcywgUGwKICAgICAvLyBUaGUgYmFja2luZyBz
dG9yZXMgc2hvdWxkIGJlIGRyYXduIGF0IGxlYXN0IGFzIHdpZGUgYXMgdGhlIGNvbnRyb2wgb24g
dGhlIHBhZ2UgdG8gbWF0Y2ggdGhlIHdpZHRoIG9mIHRoZSBwb3B1cCB3aW5kb3cgd2UnbGwgY3Jl
YXRlLgogICAgIGludCBiYWNraW5nU3RvcmVXaWR0aCA9IG1heChwYWdlQ29vcmRpbmF0ZXMud2lk
dGgoKSAtIG1fcG9wdXBDbGllbnQtPmNsaWVudEluc2V0TGVmdCgpIC0gbV9wb3B1cENsaWVudC0+
Y2xpZW50SW5zZXRSaWdodCgpLCBwb3B1cFdpZHRoKTsKIAotICAgIGRhdGEubV9iYWNraW5nU3Rv
cmVTaXplID0gSW50U2l6ZShiYWNraW5nU3RvcmVXaWR0aCwgKGl0ZW1Db3VudCAqIGRhdGEubV9p
dGVtSGVpZ2h0KSk7Ci0gICAgZGF0YS5tX25vdFNlbGVjdGVkQmFja2luZ1N0b3JlID0gU2hhcmVh
YmxlQml0bWFwOjpjcmVhdGVTaGFyZWFibGUoZGF0YS5tX2JhY2tpbmdTdG9yZVNpemUpOwotICAg
IGRhdGEubV9zZWxlY3RlZEJhY2tpbmdTdG9yZSA9IFNoYXJlYWJsZUJpdG1hcDo6Y3JlYXRlU2hh
cmVhYmxlKGRhdGEubV9iYWNraW5nU3RvcmVTaXplKTsKKyAgICBJbnRTaXplIGJhY2tpbmdTdG9y
ZVNpemUoYmFja2luZ1N0b3JlV2lkdGgsIChpdGVtQ291bnQgKiBkYXRhLm1faXRlbUhlaWdodCkp
OworICAgIGRhdGEubV9ub3RTZWxlY3RlZEJhY2tpbmdTdG9yZSA9IFNoYXJlYWJsZUJpdG1hcDo6
Y3JlYXRlU2hhcmVhYmxlKGJhY2tpbmdTdG9yZVNpemUpOworICAgIGRhdGEubV9zZWxlY3RlZEJh
Y2tpbmdTdG9yZSA9IFNoYXJlYWJsZUJpdG1hcDo6Y3JlYXRlU2hhcmVhYmxlKGJhY2tpbmdTdG9y
ZVNpemUpOwogCiAgICAgT3duUHRyPEdyYXBoaWNzQ29udGV4dD4gbm90U2VsZWN0ZWRCYWNraW5n
U3RvcmVDb250ZXh0ID0gZGF0YS5tX25vdFNlbGVjdGVkQmFja2luZ1N0b3JlLT5jcmVhdGVHcmFw
aGljc0NvbnRleHQoKTsKICAgICBPd25QdHI8R3JhcGhpY3NDb250ZXh0PiBzZWxlY3RlZEJhY2tp
bmdTdG9yZUNvbnRleHQgPSBkYXRhLm1fc2VsZWN0ZWRCYWNraW5nU3RvcmUtPmNyZWF0ZUdyYXBo
aWNzQ29udGV4dCgpOwpAQCAtODgsNyArODgsNyBAQCB2b2lkIFdlYlBvcHVwTWVudTo6c2V0VXBQ
bGF0Zm9ybURhdGEoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgcGFnZUNvb3JkaW5hdGVzLCBQbAog
ICAgIENvbG9yIGFjdGl2ZU9wdGlvbkJhY2tncm91bmRDb2xvciA9IFJlbmRlclRoZW1lOjpkZWZh
dWx0VGhlbWUoKS0+YWN0aXZlTGlzdEJveFNlbGVjdGlvbkJhY2tncm91bmRDb2xvcigpOwogICAg
IENvbG9yIGFjdGl2ZU9wdGlvblRleHRDb2xvciA9IFJlbmRlclRoZW1lOjpkZWZhdWx0VGhlbWUo
KS0+YWN0aXZlTGlzdEJveFNlbGVjdGlvbkZvcmVncm91bmRDb2xvcigpOwogCi0gICAgZm9yIChp
bnQgeSA9IDA7IHkgPCBkYXRhLm1fYmFja2luZ1N0b3JlU2l6ZS5oZWlnaHQoKTsgeSArPSBkYXRh
Lm1faXRlbUhlaWdodCkgeworICAgIGZvciAoaW50IHkgPSAwOyB5IDwgYmFja2luZ1N0b3JlU2l6
ZS5oZWlnaHQoKTsgeSArPSBkYXRhLm1faXRlbUhlaWdodCkgewogICAgICAgICBpbnQgaW5kZXgg
PSB5IC8gZGF0YS5tX2l0ZW1IZWlnaHQ7CiAKICAgICAgICAgUG9wdXBNZW51U3R5bGUgaXRlbVN0
eWxlID0gbV9wb3B1cENsaWVudC0+aXRlbVN0eWxlKGluZGV4KTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9GaW5kQ29udHJvbGxlci5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRmluZENvbnRyb2xsZXIuY3BwCmluZGV4IGFhZThi
MjVhZDc5ZWNkNzQ2NDdjNzQ0NWIwMTkwNmFmZWFhNzAyMmYuLjUwY2Y2Y2JlYTIzMTc0OGI4Mjg0
OTIwYTI4ZDBjOTY4NmJlMDIwNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9GaW5kQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL0ZpbmRDb250cm9sbGVyLmNwcApAQCAtMTgyLDcgKzE4Miw3IEBAIGJvb2wg
RmluZENvbnRyb2xsZXI6OnVwZGF0ZUZpbmRJbmRpY2F0b3IoRnJhbWUqIHNlbGVjdGVkRnJhbWUs
IGJvb2wgaXNTaG93aW5nT3ZlCiAgICAgc2VsZWN0ZWRGcmFtZS0+dmlldygpLT5wYWludChncmFw
aGljc0NvbnRleHQuZ2V0KCksIHBhaW50UmVjdCk7CiAgICAgc2VsZWN0ZWRGcmFtZS0+dmlldygp
LT5zZXRQYWludEJlaGF2aW9yKFBhaW50QmVoYXZpb3JOb3JtYWwpOwogICAgIAotICAgIFNoYXJl
ZE1lbW9yeTo6SGFuZGxlIGhhbmRsZTsKKyAgICBTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSBoYW5k
bGU7CiAgICAgaWYgKCFmaW5kSW5kaWNhdG9yVGV4dEJhY2tpbmdTdG9yZS0+Y3JlYXRlSGFuZGxl
KGhhbmRsZSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIApAQCAtMjA3LDcgKzIwNyw3IEBAIHZv
aWQgRmluZENvbnRyb2xsZXI6OmhpZGVGaW5kSW5kaWNhdG9yKCkKICAgICBpZiAoIW1faXNTaG93
aW5nRmluZEluZGljYXRvcikKICAgICAgICAgcmV0dXJuOwogCi0gICAgU2hhcmVkTWVtb3J5OjpI
YW5kbGUgaGFuZGxlOworICAgIFNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlIGhhbmRsZTsKICAgICBt
X3dlYlBhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6U2V0RmluZEluZGljYXRvcihG
bG9hdFJlY3QoKSwgVmVjdG9yPEZsb2F0UmVjdD4oKSwgaGFuZGxlLCBmYWxzZSkpOwogICAgIG1f
aXNTaG93aW5nRmluZEluZGljYXRvciA9IGZhbHNlOwogfQo=
</data>
<flag name="review"
          id="79859"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>