<?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>106305</bug_id>
          
          <creation_ts>2013-01-07 23:32:56 -0800</creation_ts>
          <short_desc>[Shadow DOM] Refactoring: invalidateParentDistributionIfNecessary() calls are too intrusive</short_desc>
          <delta_ts>2013-01-08 09:30:57 -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>DOM</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="Hajime Morrita">morrita</reporter>
          <assigned_to name="Hajime Morrita">morrita</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>mifenton</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>tkent</cc>
    
    <cc>webcomponents-bugzilla</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>802078</commentid>
    <comment_count>0</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2013-01-07 23:32:56 -0800</bug_when>
    <thetext>invalidateParentDistributionIfNecessary() calls are scattered over HTML cocebase.
It could be more explaining and the successive setRecalcStyle() call should be made once.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>802082</commentid>
    <comment_count>1</comment_count>
      <attachid>181658</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2013-01-07 23:47:55 -0800</bug_when>
    <thetext>Created attachment 181658
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>802289</commentid>
    <comment_count>2</comment_count>
      <attachid>181658</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2013-01-08 09:05:30 -0800</bug_when>
    <thetext>Comment on attachment 181658
Patch

This is pretty neat.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>802297</commentid>
    <comment_count>3</comment_count>
      <attachid>181658</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-08 09:30:54 -0800</bug_when>
    <thetext>Comment on attachment 181658
Patch

Clearing flags on attachment: 181658

Committed r139064: &lt;http://trac.webkit.org/changeset/139064&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>802298</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-08 09:30:57 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>181658</attachid>
            <date>2013-01-07 23:47:55 -0800</date>
            <delta_ts>2013-01-08 09:30:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106305-20130108164459.patch</filename>
            <type>text/plain</type>
            <size>21389</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5MDM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjY1ZGJmYWQ4NTExOWEz
NmVjNzM1NWM1MDJiOWQzZmM3ZDBhZDZmNi4uZGM5MGI3MWNlZTY2MzliNjU2OGExZjJlNmZiZTUy
ZDE5ZWJmMTM3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYzIEBACisyMDEzLTAxLTA3ICBIYWpp
bWUgTW9ycml0YSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KKworICAgICAgICBbU2hhZG93IERPTV0g
UmVmYWN0b3Jpbmc6IGludmFsaWRhdGVQYXJlbnREaXN0cmlidXRpb25JZk5lY2Vzc2FyeSgpIGNh
bGxzIGFyZSB0b28gaW50cnVzaXZlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDYzMDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBTY2F0dGVyaW5nIGludmFsaWRhdGVQYXJlbnREaXN0cmlidXRpb25JZk5l
Y2Vzc2FyeSgpIGxvb2tzIGJhZCBiZWNhdXNlCisgICAgICAgIC0gaXQgaGFzIGxvbmcgbmFtZSB3
aG9zZSB0ZXJtaW5vbG9neSBpcyBjcnlwdGljIGZvciBwZW9wbGUgd2hvIGRvbid0IGtub3cgbXVj
aCBhYm91dCBTaGFkb3cgRE9NIHN0YW5kYXJkLgorICAgICAgICAtIGl0cyBjYWxscyBhcmUgYWx3
YXlzIHBhaXJlZCB3aXRoIHNldE5lZWRzU3R5bGVSZWNhbGMoKSBhbmQgcGVvcGxlIGRvIHNldE5l
ZWRzU3R5bGVSZWNhbGMoKQorICAgICAgICAgIG5lZWQgdG8gYmUgYXdhcmUgYWJvdXQgZGlzdHJp
YnV0aW9uIGZlYXR1cmUgYml0IHRyYWNraW5nLiBTZXBhcmF0ZSBpbnZhbGlkYXRlUGFyZW50RGlz
dHJpYnV0aW9uSWZOZWNlc3NhcnkoKQorICAgICAgICAgIGNhbGwgZG9lc24ndCBoZWxwIHRoYXQg
cmVjb2duaXRpb24uCisKKyAgICAgICAgVGhpcyBjaGFuZ2UgaW50cm9kdWNlcyBFbGVtZW50Ojpk
aWRBZmZlY3RTZWxlY3RvcigpIHRvIHJlcGxhY2UgYSBzZXROZWVkc1N0eWxlUmVjYWxjKCktaTM3
eSgpIGNhbGwgc2VxdWVuY2UuCisgICAgICAgIFNlbGVjdFJ1bGVGZWF0dXJlU2V0OjpGZWF0dXJl
UnVsZSBpcyByZW5hbWVkIEFmZmVjdGVkU2VsZWN0b3JUeXBlIHNvIHRoYXQgaXQgZXhwbGFpbnMg
aXRzIHB1cnBvc2UKKyAgICAgICAgaW4gYSBiaXQgbW9yZSBwbGFpbiBXZWJLaXQgdGVybS4KKwor
ICAgICAgICBObyBuZXcgdGVzdHMuIFJlZmFjdG9yaW5nLgorCisgICAgICAgICogZG9tL0RvY3Vt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzZXRDU1NUYXJnZXQpOiBBZG9w
dGVkIGRpZEFmZmVjdFNlbGVjdG9yLgorICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmRpZEFmZmVjdFNlbGVjdG9yKTogQWRkZWQuCisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKiBkb20vRWxlbWVudC5oOgorICAgICAgICAoRWxlbWVudCk6
CisgICAgICAgICogZG9tL0VsZW1lbnRTaGFkb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWxl
bWVudFNoYWRvdzo6ZGlkQWZmZWN0U2VsZWN0b3IpOiBNb3JwaGVkIGZyb20gaW52YWxpZGF0ZVBh
cmVudERpc3RyaWJ1dGlvbklmTmVjZXNzYXJ5KCkuCisgICAgICAgICogZG9tL0VsZW1lbnRTaGFk
b3cuaDoKKyAgICAgICAgKEVsZW1lbnRTaGFkb3cpOgorICAgICAgICAqIGh0bWwvSFRNTEFuY2hv
ckVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEFuY2hvckVsZW1lbnQ6OnBhcnNl
QXR0cmlidXRlKTogQWRvcHRlZCBkaWRBZmZlY3RTZWxlY3RvcgorICAgICAgICAqIGh0bWwvSFRN
TERldGFpbHNFbGVtZW50LmNwcDoKKyAgICAgICAgKiBodG1sL0hUTUxGb3JtQ29udHJvbEVsZW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEZvcm1Db250cm9sRWxlbWVudDo6ZGlzYWJs
ZWRBdHRyaWJ1dGVDaGFuZ2VkKTogQWRvcHRlZCBkaWRBZmZlY3RTZWxlY3RvcgorICAgICAgICAq
IGh0bWwvSFRNTElucHV0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRF
bGVtZW50OjpzZXRDaGVja2VkKTogQWRvcHRlZCBkaWRBZmZlY3RTZWxlY3RvcgorICAgICAgICAo
V2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6c2V0SW5kZXRlcm1pbmF0ZSk6IEFkb3B0ZWQgZGlk
QWZmZWN0U2VsZWN0b3IKKyAgICAgICAgKiBodG1sL0hUTUxPcHRHcm91cEVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTE9wdEdyb3VwRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUpOiBB
ZG9wdGVkIGRpZEFmZmVjdFNlbGVjdG9yCisgICAgICAgICogaHRtbC9IVE1MT3B0aW9uRWxlbWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MT3B0aW9uRWxlbWVudDo6cGFyc2VBdHRyaWJ1
dGUpOiBBZG9wdGVkIGRpZEFmZmVjdFNlbGVjdG9yCisgICAgICAgIChXZWJDb3JlOjpIVE1MT3B0
aW9uRWxlbWVudDo6c2V0U2VsZWN0ZWRTdGF0ZSk6IEFkb3B0ZWQgZGlkQWZmZWN0U2VsZWN0b3IK
KyAgICAgICAgKiBodG1sL0hUTUxQcm9ncmVzc0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTFByb2dyZXNzRWxlbWVudDo6ZGlkRWxlbWVudFN0YXRlQ2hhbmdlKTogQWRvcHRlZCBk
aWRBZmZlY3RTZWxlY3RvcgorICAgICAgICAqIGh0bWwvSFRNTFN1bW1hcnlFbGVtZW50LmNwcDoK
KyAgICAgICAgKiBodG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1lbnQuY3BwOgorICAgICAgICAq
IGh0bWwvc2hhZG93L1NlbGVjdFJ1bGVGZWF0dXJlU2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNlbGVjdFJ1bGVGZWF0dXJlU2V0Ojpjb2xsZWN0RmVhdHVyZXNGcm9tU2VsZWN0b3IpOiBGb2xs
b3dlZCByZW5hbWluZy4KKyAgICAgICAgKiBodG1sL3NoYWRvdy9TZWxlY3RSdWxlRmVhdHVyZVNl
dC5oOiBGb2xsb3dlZCByZW5hbWluZy4KKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdFJ1bGVGZWF0
dXJlU2V0OjpoYXNTZWxlY3RvckZvckNoZWNrZWQpOgorICAgICAgICAoV2ViQ29yZTo6U2VsZWN0
UnVsZUZlYXR1cmVTZXQ6Omhhc1NlbGVjdG9yRm9yRW5hYmxlZCk6CisgICAgICAgIChXZWJDb3Jl
OjpTZWxlY3RSdWxlRmVhdHVyZVNldDo6aGFzU2VsZWN0b3JGb3JEaXNhYmxlZCk6CisgICAgICAg
IChXZWJDb3JlOjpTZWxlY3RSdWxlRmVhdHVyZVNldDo6aGFzU2VsZWN0b3JGb3JJbmRldGVybWlu
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdFJ1bGVGZWF0dXJlU2V0OjpoYXNTZWxlY3Rv
ckZvckxpbmspOgorICAgICAgICAoV2ViQ29yZTo6U2VsZWN0UnVsZUZlYXR1cmVTZXQ6Omhhc1Nl
bGVjdG9yRm9yVGFyZ2V0KToKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdFJ1bGVGZWF0dXJlU2V0
OjpoYXNTZWxlY3RvckZvclZpc2l0ZWQpOgorICAgICAgICAoV2ViQ29yZTo6U2VsZWN0UnVsZUZl
YXR1cmVTZXQ6Omhhc1NlbGVjdG9yRm9yKToKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdFJ1bGVG
ZWF0dXJlU2V0OjpzZXRTZWxlY3RSdWxlRmVhdHVyZSk6CisKIDIwMTMtMDEtMDcgIEt1bmloaWtv
IFNha2Ftb3RvICA8a3Nha2Ftb3RvQGNocm9taXVtLm9yZz4KIAogICAgICAgICBJTlBVVF9NVUxU
SVBMRV9GSUVMRFNfVUk6IFN0ZXAtdXAvLWRvd24gb2YgbW9udGgvZGF5IGZpZWxkIHNob3VsZCBy
ZXNwZWN0IG1pbi9tYXggYXR0cmlidXRlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggMDcx
MDcwMzQ4OWJkOGMwNDQwMzFhMDY4NGE5OWJmMWE5ZjM0M2E0My4uMTBkM2Q5NTQ5MWE5MzU1MDVj
MjBlNzM5M2JhMWFjYzNjMTU3M2ZiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC0zNDM4
LDE1ICszNDM4LDExIEBAIHZvaWQgRG9jdW1lbnQ6OmdldEZvY3VzYWJsZU5vZGVzKFZlY3RvcjxS
ZWZQdHI8Tm9kZT4gPiYgbm9kZXMpCiAgIAogdm9pZCBEb2N1bWVudDo6c2V0Q1NTVGFyZ2V0KEVs
ZW1lbnQqIG4pCiB7Ci0gICAgaWYgKG1fY3NzVGFyZ2V0KSB7Ci0gICAgICAgIG1fY3NzVGFyZ2V0
LT5zZXROZWVkc1N0eWxlUmVjYWxjKCk7Ci0gICAgICAgIGludmFsaWRhdGVQYXJlbnREaXN0cmli
dXRpb25JZk5lY2Vzc2FyeShtX2Nzc1RhcmdldCwgU2VsZWN0UnVsZUZlYXR1cmVTZXQ6OlJ1bGVG
ZWF0dXJlVGFyZ2V0KTsKLSAgICB9CisgICAgaWYgKG1fY3NzVGFyZ2V0KQorICAgICAgICBtX2Nz
c1RhcmdldC0+ZGlkQWZmZWN0U2VsZWN0b3IoQWZmZWN0ZWRTZWxlY3RvclRhcmdldCk7CiAgICAg
bV9jc3NUYXJnZXQgPSBuOwotICAgIGlmIChuKSB7Ci0gICAgICAgIG4tPnNldE5lZWRzU3R5bGVS
ZWNhbGMoKTsKLSAgICAgICAgaW52YWxpZGF0ZVBhcmVudERpc3RyaWJ1dGlvbklmTmVjZXNzYXJ5
KG4sIFNlbGVjdFJ1bGVGZWF0dXJlU2V0OjpSdWxlRmVhdHVyZVRhcmdldCk7Ci0gICAgfQorICAg
IGlmIChuKQorICAgICAgICBuLT5kaWRBZmZlY3RTZWxlY3RvcihBZmZlY3RlZFNlbGVjdG9yVGFy
Z2V0KTsKIH0KIAogdm9pZCBEb2N1bWVudDo6cmVnaXN0ZXJOb2RlTGlzdChMaXZlTm9kZUxpc3RC
YXNlKiBsaXN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IDI0NWQwMjliYTBkOTE5NjI4M2I2
OGMzYzE5OTM2M2IzNmIyYmY2ZjAuLmQwMzVmNjgxMzY3MTExZDU5MGRiODE5NTk2ZGI5NzgyYTJh
NmZhYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTE0MDksNiArMTQwOSwxMyBAQCBFbGVt
ZW50U2hhZG93KiBFbGVtZW50OjplbnN1cmVTaGFkb3coKQogICAgIHJldHVybiBkYXRhLT5zaGFk
b3coKTsKIH0KIAordm9pZCBFbGVtZW50OjpkaWRBZmZlY3RTZWxlY3RvcihBZmZlY3RlZFNlbGVj
dG9yTWFzayBtYXNrKQoreworICAgIHNldE5lZWRzU3R5bGVSZWNhbGMoKTsKKyAgICBpZiAoRWxl
bWVudFNoYWRvdyogZWxlbWVudFNoYWRvdyA9IHNoYWRvd09mUGFyZW50Rm9yRGlzdHJpYnV0aW9u
KHRoaXMpKQorICAgICAgICBlbGVtZW50U2hhZG93LT5kaWRBZmZlY3RTZWxlY3RvcihtYXNrKTsK
K30KKwogUGFzc1JlZlB0cjxTaGFkb3dSb290PiBFbGVtZW50OjpjcmVhdGVTaGFkb3dSb290KEV4
Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIHJldHVybiBTaGFkb3dSb290OjpjcmVhdGUodGhpcywg
ZWMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FbGVtZW50LmgKaW5kZXggZDQ3MDhiY2U5MzNiZjM2NzBlZGZkNDRiOTY4ZWMx
M2IwNTM5NjBiZi4uZTYzZDkxMTM4ZGUxMGQ2NDNiNzg4Y2IxZTBkMzEzZDk2N2M5MjVlZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRWxlbWVudC5oCkBAIC00Nyw2ICs0NywxNyBAQCBjbGFzcyBQc2V1ZG9FbGVtZW50Owog
Y2xhc3MgUmVuZGVyUmVnaW9uOwogY2xhc3MgU2hhZG93Um9vdDsKIAorZW51bSBBZmZlY3RlZFNl
bGVjdG9yVHlwZSB7CisgICAgQWZmZWN0ZWRTZWxlY3RvckNoZWNrZWQgPSAxLAorICAgIEFmZmVj
dGVkU2VsZWN0b3JFbmFibGVkID0gMSA8PCAxLAorICAgIEFmZmVjdGVkU2VsZWN0b3JEaXNhYmxl
ZCA9IDEgPDwgMiwKKyAgICBBZmZlY3RlZFNlbGVjdG9ySW5kZXRlcm1pbmF0ZSA9IDEgPDwgMywK
KyAgICBBZmZlY3RlZFNlbGVjdG9yTGluayA9IDEgPDwgNCwKKyAgICBBZmZlY3RlZFNlbGVjdG9y
VGFyZ2V0ID0gMSA8PCA1LAorICAgIEFmZmVjdGVkU2VsZWN0b3JWaXNpdGVkID0gMSA8PCA2Cit9
OwordHlwZWRlZiBpbnQgQWZmZWN0ZWRTZWxlY3Rvck1hc2s7CisKIGVudW0gU3BlbGxjaGVja0F0
dHJpYnV0ZVN0YXRlIHsKICAgICBTcGVsbGNoZWNrQXR0cmlidXRlVHJ1ZSwKICAgICBTcGVsbGNo
ZWNrQXR0cmlidXRlRmFsc2UsCkBAIC0yNzIsNiArMjgzLDcgQEAgcHVibGljOgogICAgIHZpcnR1
YWwgUmVuZGVyT2JqZWN0KiBjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSosIFJlbmRlclN0eWxl
Kik7CiAgICAgdmlydHVhbCBib29sIHJlbmRlcmVySXNOZWVkZWQoY29uc3QgTm9kZVJlbmRlcmlu
Z0NvbnRleHQmKTsKICAgICB2b2lkIHJlY2FsY1N0eWxlKFN0eWxlQ2hhbmdlID0gTm9DaGFuZ2Up
OworICAgIHZvaWQgZGlkQWZmZWN0U2VsZWN0b3IoQWZmZWN0ZWRTZWxlY3Rvck1hc2spOwogCiAg
ICAgRWxlbWVudFNoYWRvdyogc2hhZG93KCkgY29uc3Q7CiAgICAgRWxlbWVudFNoYWRvdyogZW5z
dXJlU2hhZG93KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFNoYWRv
dy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFNoYWRvdy5jcHAKaW5kZXggMTQ5M2Fm
NzkyNTMyZTI3Y2JiMmY4NDJhNTRjYjQ2Y2E0NGM0ZjJmYi4uM2Q3MDMxZTc3ZjI4MDVmZDZiYTY3
MGI1NWNkMDM5OTZiZWZiN2I5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1l
bnRTaGFkb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50U2hhZG93LmNwcApA
QCAtMjY1LDE1ICsyNjUsMTEgQEAgdm9pZCBFbGVtZW50U2hhZG93OjpyZXBvcnRNZW1vcnlVc2Fn
ZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogICAgIGluZm8uYWRk
TWVtYmVyKG1fZGlzdHJpYnV0b3IpOwogfQogCi12b2lkIGludmFsaWRhdGVQYXJlbnREaXN0cmli
dXRpb25JZk5lY2Vzc2FyeShFbGVtZW50KiBlbGVtZW50LCBTZWxlY3RSdWxlRmVhdHVyZVNldDo6
U2VsZWN0UnVsZUZlYXR1cmVNYXNrIHVwZGF0ZWRGZWF0dXJlcykKK3ZvaWQgRWxlbWVudFNoYWRv
dzo6ZGlkQWZmZWN0U2VsZWN0b3IoQWZmZWN0ZWRTZWxlY3Rvck1hc2sgbWFzaykKIHsKLSAgICBF
bGVtZW50U2hhZG93KiBlbGVtZW50U2hhZG93ID0gc2hhZG93T2ZQYXJlbnRGb3JEaXN0cmlidXRp
b24oZWxlbWVudCk7Ci0gICAgaWYgKCFlbGVtZW50U2hhZG93KQotICAgICAgICByZXR1cm47Ci0K
LSAgICBlbGVtZW50U2hhZG93LT5lbnN1cmVTZWxlY3RGZWF0dXJlU2V0Q29sbGVjdGVkKCk7Ci0g
ICAgaWYgKGVsZW1lbnRTaGFkb3ctPnNlbGVjdFJ1bGVGZWF0dXJlU2V0KCkuaGFzU2VsZWN0b3JG
b3IodXBkYXRlZEZlYXR1cmVzKSkKLSAgICAgICAgZWxlbWVudFNoYWRvdy0+aW52YWxpZGF0ZURp
c3RyaWJ1dGlvbigpOworICAgIGVuc3VyZVNlbGVjdEZlYXR1cmVTZXRDb2xsZWN0ZWQoKTsKKyAg
ICBpZiAoc2VsZWN0UnVsZUZlYXR1cmVTZXQoKS5oYXNTZWxlY3RvckZvcihtYXNrKSkKKyAgICAg
ICAgaW52YWxpZGF0ZURpc3RyaWJ1dGlvbigpOwogfQogCiB9IC8vIG5hbWVzcGFjZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRTaGFkb3cuaCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FbGVtZW50U2hhZG93LmgKaW5kZXggNmViMjIxMDJlMjdkYjI5YzlhOGU5OGQwYTcwMDRm
MGQyOWIxYmUzNS4uNTk0YzllNjYxYzgwOGRiYmUzODI2MDJjNjAyMzZhMzBjNzUwNmU5NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRTaGFkb3cuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRWxlbWVudFNoYWRvdy5oCkBAIC03MSw2ICs3MSw3IEBAIHB1YmxpYzoKICAg
ICBDb250ZW50RGlzdHJpYnV0b3ImIGRpc3RyaWJ1dG9yKCk7CiAgICAgY29uc3QgQ29udGVudERp
c3RyaWJ1dG9yJiBkaXN0cmlidXRvcigpIGNvbnN0OwogCisgICAgdm9pZCBkaWRBZmZlY3RTZWxl
Y3RvcihBZmZlY3RlZFNlbGVjdG9yTWFzayk7CiAgICAgYm9vbCBzaG91bGRDb2xsZWN0U2VsZWN0
RmVhdHVyZVNldCgpIGNvbnN0IHsgcmV0dXJuIG1fc2hvdWxkQ29sbGVjdFNlbGVjdEZlYXR1cmVT
ZXQ7IH0KICAgICB2b2lkIHNldFNob3VsZENvbGxlY3RTZWxlY3RGZWF0dXJlU2V0KCk7CiAgICAg
dm9pZCBlbnN1cmVTZWxlY3RGZWF0dXJlU2V0Q29sbGVjdGVkKCk7CkBAIC03OCw3ICs3OSw2IEBA
IHB1YmxpYzoKICAgICBjb25zdCBTZWxlY3RSdWxlRmVhdHVyZVNldCYgc2VsZWN0UnVsZUZlYXR1
cmVTZXQoKSBjb25zdDsKIAogICAgIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0
SW5mbyopIGNvbnN0OwotCiBwcml2YXRlOgogICAgIHZvaWQgaW52YWxpZGF0ZURpc3RyaWJ1dGlv
bihFbGVtZW50KiBob3N0KTsKIApAQCAtOTAsOCArOTAsNiBAQCBwcml2YXRlOgogICAgIGJvb2wg
bV9zaG91bGRDb2xsZWN0U2VsZWN0RmVhdHVyZVNldCA6IDE7CiB9OwogCi12b2lkIGludmFsaWRh
dGVQYXJlbnREaXN0cmlidXRpb25JZk5lY2Vzc2FyeShFbGVtZW50KiwgU2VsZWN0UnVsZUZlYXR1
cmVTZXQ6OlNlbGVjdFJ1bGVGZWF0dXJlTWFzayB1cGRhdGVkRmVhdHVyZXMpOwotCiBpbmxpbmUg
U2hhZG93Um9vdCogRWxlbWVudFNoYWRvdzo6eW91bmdlc3RTaGFkb3dSb290KCkgY29uc3QKIHsK
ICAgICByZXR1cm4gbV9zaGFkb3dSb290cy5oZWFkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEFuY2hvckVsZW1lbnQuY3BwCmluZGV4IGEwNjExM2Y0YmI2NDQ0YjUwZDQ0MzFhYjI1MzVmMzEz
YjM1YjAzNTQuLjgxODA2MWM1ZWRiZWUxMjIzMjNiNThiNTZkNmUwZGFjOTFiNDVhZmMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuY3BwCkBAIC0yNiw3ICsyNiw2IEBA
CiAKICNpbmNsdWRlICJBdHRyaWJ1dGUuaCIKICNpbmNsdWRlICJETlMuaCIKLSNpbmNsdWRlICJF
bGVtZW50U2hhZG93LmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1ZGUgIkZyYW1l
LmgiCiAjaW5jbHVkZSAiRnJhbWVMb2FkZXJDbGllbnQuaCIKQEAgLTIxOSwxMCArMjE4LDggQEAg
dm9pZCBIVE1MQW5jaG9yRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFt
ZSYgbmFtZSwgY29uc3QgQXRvbWljU3QKICAgICBpZiAobmFtZSA9PSBocmVmQXR0cikgewogICAg
ICAgICBib29sIHdhc0xpbmsgPSBpc0xpbmsoKTsKICAgICAgICAgc2V0SXNMaW5rKCF2YWx1ZS5p
c051bGwoKSk7Ci0gICAgICAgIGlmICh3YXNMaW5rICE9IGlzTGluaygpKSB7Ci0gICAgICAgICAg
ICBzZXROZWVkc1N0eWxlUmVjYWxjKCk7Ci0gICAgICAgICAgICBpbnZhbGlkYXRlUGFyZW50RGlz
dHJpYnV0aW9uSWZOZWNlc3NhcnkodGhpcywgU2VsZWN0UnVsZUZlYXR1cmVTZXQ6OlJ1bGVGZWF0
dXJlTGluayB8IFNlbGVjdFJ1bGVGZWF0dXJlU2V0OjpSdWxlRmVhdHVyZVZpc2l0ZWQgfCBTZWxl
Y3RSdWxlRmVhdHVyZVNldDo6UnVsZUZlYXR1cmVFbmFibGVkKTsKLSAgICAgICAgfQorICAgICAg
ICBpZiAod2FzTGluayAhPSBpc0xpbmsoKSkKKyAgICAgICAgICAgIGRpZEFmZmVjdFNlbGVjdG9y
KEFmZmVjdGVkU2VsZWN0b3JMaW5rIHwgQWZmZWN0ZWRTZWxlY3RvclZpc2l0ZWQgfCBBZmZlY3Rl
ZFNlbGVjdG9yRW5hYmxlZCk7CiAgICAgICAgIGlmIChpc0xpbmsoKSkgewogICAgICAgICAgICAg
U3RyaW5nIHBhcnNlZFVSTCA9IHN0cmlwTGVhZGluZ0FuZFRyYWlsaW5nSFRNTFNwYWNlcyh2YWx1
ZSk7CiAgICAgICAgICAgICBpZiAoZG9jdW1lbnQoKS0+aXNETlNQcmVmZXRjaEVuYWJsZWQoKSkg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGV0YWlsc0VsZW1lbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGV0YWlsc0VsZW1lbnQuY3BwCmluZGV4IDQ2NDcz
M2MzZDRkMzMxZTM0OWRkNjUxM2VmYTM0OTkxYmY3OTgyOGMuLmEyNzg2YmM2Zjg0MjRjYjc1YmM0
MGU0NDE3OWE0NWNmMTA5NDhlNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TERldGFpbHNFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEZXRhaWxz
RWxlbWVudC5jcHAKQEAgLTIyLDcgKzIyLDYgQEAKICNpbmNsdWRlICJIVE1MRGV0YWlsc0VsZW1l
bnQuaCIKIAogI2lmIEVOQUJMRShERVRBSUxTX0VMRU1FTlQpCi0jaW5jbHVkZSAiRWxlbWVudFNo
YWRvdy5oIgogI2luY2x1ZGUgIkhUTUxDb250ZW50RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxO
YW1lcy5oIgogI2luY2x1ZGUgIkhUTUxTdW1tYXJ5RWxlbWVudC5oIgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHAKaW5kZXggZGYyNzY0MmNlZjRjNWIx
OTFmNGYzNzQ0NjM4Yjg5MTllY2U2Y2NjMi4uNWE2NjE2ZDJmNGIwZGI2N2YxMjI5ODRkZGE3NDk0
OTc5YjczMGY2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRy
b2xFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVs
ZW1lbnQuY3BwCkBAIC0xNTAsOCArMTUwLDcgQEAgdm9pZCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50
OjpwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG8KIHZv
aWQgSFRNTEZvcm1Db250cm9sRWxlbWVudDo6ZGlzYWJsZWRBdHRyaWJ1dGVDaGFuZ2VkKCkKIHsK
ICAgICBzZXROZWVkc1dpbGxWYWxpZGF0ZUNoZWNrKCk7Ci0gICAgc2V0TmVlZHNTdHlsZVJlY2Fs
YygpOwotICAgIGludmFsaWRhdGVQYXJlbnREaXN0cmlidXRpb25JZk5lY2Vzc2FyeSh0aGlzLCBT
ZWxlY3RSdWxlRmVhdHVyZVNldDo6UnVsZUZlYXR1cmVEaXNhYmxlZCB8IFNlbGVjdFJ1bGVGZWF0
dXJlU2V0OjpSdWxlRmVhdHVyZUVuYWJsZWQpOworICAgIGRpZEFmZmVjdFNlbGVjdG9yKEFmZmVj
dGVkU2VsZWN0b3JEaXNhYmxlZCB8IEFmZmVjdGVkU2VsZWN0b3JFbmFibGVkKTsKICAgICBpZiAo
cmVuZGVyZXIoKSAmJiByZW5kZXJlcigpLT5zdHlsZSgpLT5oYXNBcHBlYXJhbmNlKCkpCiAgICAg
ICAgIHJlbmRlcmVyKCktPnRoZW1lKCktPnN0YXRlQ2hhbmdlZChyZW5kZXJlcigpLCBFbmFibGVk
U3RhdGUpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVt
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKaW5kZXgg
YzY3ZTE2ODM3ODhmNmRiNTA5MzRjOThiMGU5M2JmYTZhZTVjOTZiNi4uNGFjYjc2ZGY3NTJmNTQ2
NzlmMWYxNjQ3YmU4OGYzMjc0MzhiNjE4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MSW5wdXRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1
dEVsZW1lbnQuY3BwCkBAIC04ODMsNyArODgzLDcgQEAgdm9pZCBIVE1MSW5wdXRFbGVtZW50Ojpz
ZXRDaGVja2VkKGJvb2wgbm93Q2hlY2tlZCwgVGV4dEZpZWxkRXZlbnRCZWhhdmlvciBldmVudEIK
ICAgICAgICAgZGlzcGF0Y2hGb3JtQ29udHJvbENoYW5nZUV2ZW50KCk7CiAgICAgfQogCi0gICAg
aW52YWxpZGF0ZVBhcmVudERpc3RyaWJ1dGlvbklmTmVjZXNzYXJ5KHRoaXMsIFNlbGVjdFJ1bGVG
ZWF0dXJlU2V0OjpSdWxlRmVhdHVyZUNoZWNrZWQpOworICAgIGRpZEFmZmVjdFNlbGVjdG9yKEFm
ZmVjdGVkU2VsZWN0b3JDaGVja2VkKTsKIH0KIAogdm9pZCBIVE1MSW5wdXRFbGVtZW50OjpzZXRJ
bmRldGVybWluYXRlKGJvb2wgbmV3VmFsdWUpCkBAIC04OTMsOCArODkzLDcgQEAgdm9pZCBIVE1M
SW5wdXRFbGVtZW50OjpzZXRJbmRldGVybWluYXRlKGJvb2wgbmV3VmFsdWUpCiAKICAgICBtX2lz
SW5kZXRlcm1pbmF0ZSA9IG5ld1ZhbHVlOwogCi0gICAgc2V0TmVlZHNTdHlsZVJlY2FsYygpOwot
ICAgIGludmFsaWRhdGVQYXJlbnREaXN0cmlidXRpb25JZk5lY2Vzc2FyeSh0aGlzLCBTZWxlY3RS
dWxlRmVhdHVyZVNldDo6UnVsZUZlYXR1cmVJbmRldGVybWluYXRlKTsKKyAgICBkaWRBZmZlY3RT
ZWxlY3RvcihBZmZlY3RlZFNlbGVjdG9ySW5kZXRlcm1pbmF0ZSk7CiAKICAgICBpZiAocmVuZGVy
ZXIoKSAmJiByZW5kZXJlcigpLT5zdHlsZSgpLT5oYXNBcHBlYXJhbmNlKCkpCiAgICAgICAgIHJl
bmRlcmVyKCktPnRoZW1lKCktPnN0YXRlQ2hhbmdlZChyZW5kZXJlcigpLCBDaGVja2VkU3RhdGUp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0R3JvdXBFbGVtZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdEdyb3VwRWxlbWVudC5jcHAKaW5kZXggOWNi
NDZmMmE4MzgzNzg4YWYwMjgxMmRiMThiZDNkMTVhNjcwNGUzZS4uZjc1YWNhZDIwZmUxZDQ0NTI2
ZjFhOGNkMjYwZjQ4M2RkNWVhZTQ2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MT3B0R3JvdXBFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRH
cm91cEVsZW1lbnQuY3BwCkBAIC0yNiw3ICsyNiw2IEBACiAjaW5jbHVkZSAiSFRNTE9wdEdyb3Vw
RWxlbWVudC5oIgogCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKLSNpbmNsdWRlICJFbGVtZW50U2hh
ZG93LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiSFRNTFNlbGVjdEVsZW1l
bnQuaCIKICNpbmNsdWRlICJSZW5kZXJNZW51TGlzdC5oIgpAQCAtODUsNyArODQsNyBAQCB2b2lk
IEhUTUxPcHRHcm91cEVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUm
IG5hbWUsIGNvbnN0IEF0b21pYwogICAgIHJlY2FsY1NlbGVjdE9wdGlvbnMoKTsKIAogICAgIGlm
IChuYW1lID09IGRpc2FibGVkQXR0cikKLSAgICAgICAgaW52YWxpZGF0ZVBhcmVudERpc3RyaWJ1
dGlvbklmTmVjZXNzYXJ5KHRoaXMsIFNlbGVjdFJ1bGVGZWF0dXJlU2V0OjpSdWxlRmVhdHVyZURp
c2FibGVkIHwgU2VsZWN0UnVsZUZlYXR1cmVTZXQ6OlJ1bGVGZWF0dXJlRW5hYmxlZCk7CisgICAg
ICAgIGRpZEFmZmVjdFNlbGVjdG9yKEFmZmVjdGVkU2VsZWN0b3JEaXNhYmxlZCB8IEFmZmVjdGVk
U2VsZWN0b3JFbmFibGVkKTsKIH0KIAogdm9pZCBIVE1MT3B0R3JvdXBFbGVtZW50OjpyZWNhbGNT
ZWxlY3RPcHRpb25zKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlv
bkVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5jcHAK
aW5kZXggZjUxMDk2ODQwN2ViYjk5OTRlZDk4OGNhZjVmMWJlMDdjNTZmZjBmMi4uOTExNWRiMDZj
OTNjZDc1OGE4NWY4NWJkNTU0MGJkZTQwMzE1NTNmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MT3B0aW9uRWxlbWVudC5jcHAKQEAgLTI5LDcgKzI5LDYgQEAKIAogI2luY2x1ZGUgIkF0dHJp
YnV0ZS5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCi0jaW5jbHVkZSAiRWxlbWVudFNoYWRvdy5o
IgogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlICJIVE1MRGF0YUxpc3RFbGVt
ZW50LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCkBAIC0yMDQsOCArMjAzLDcgQEAgdm9pZCBI
VE1MT3B0aW9uRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFt
ZSwgY29uc3QgQXRvbWljU3QKICAgICAgICAgYm9vbCBvbGREaXNhYmxlZCA9IG1fZGlzYWJsZWQ7
CiAgICAgICAgIG1fZGlzYWJsZWQgPSAhdmFsdWUuaXNOdWxsKCk7CiAgICAgICAgIGlmIChvbGRE
aXNhYmxlZCAhPSBtX2Rpc2FibGVkKSB7Ci0gICAgICAgICAgICBzZXROZWVkc1N0eWxlUmVjYWxj
KCk7Ci0gICAgICAgICAgICBpbnZhbGlkYXRlUGFyZW50RGlzdHJpYnV0aW9uSWZOZWNlc3Nhcnko
dGhpcywgU2VsZWN0UnVsZUZlYXR1cmVTZXQ6OlJ1bGVGZWF0dXJlRGlzYWJsZWQgfCBTZWxlY3RS
dWxlRmVhdHVyZVNldDo6UnVsZUZlYXR1cmVFbmFibGVkKTsKKyAgICAgICAgICAgIGRpZEFmZmVj
dFNlbGVjdG9yKEFmZmVjdGVkU2VsZWN0b3JEaXNhYmxlZCB8IEFmZmVjdGVkU2VsZWN0b3JFbmFi
bGVkKTsKICAgICAgICAgICAgIGlmIChyZW5kZXJlcigpICYmIHJlbmRlcmVyKCktPnN0eWxlKCkt
Pmhhc0FwcGVhcmFuY2UoKSkKICAgICAgICAgICAgICAgICByZW5kZXJlcigpLT50aGVtZSgpLT5z
dGF0ZUNoYW5nZWQocmVuZGVyZXIoKSwgRW5hYmxlZFN0YXRlKTsKICAgICAgICAgfQpAQCAtMjU4
LDggKzI1Niw3IEBAIHZvaWQgSFRNTE9wdGlvbkVsZW1lbnQ6OnNldFNlbGVjdGVkU3RhdGUoYm9v
bCBzZWxlY3RlZCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgbV9pc1NlbGVjdGVkID0gc2VsZWN0
ZWQ7Ci0gICAgc2V0TmVlZHNTdHlsZVJlY2FsYygpOwotICAgIGludmFsaWRhdGVQYXJlbnREaXN0
cmlidXRpb25JZk5lY2Vzc2FyeSh0aGlzLCBTZWxlY3RSdWxlRmVhdHVyZVNldDo6UnVsZUZlYXR1
cmVDaGVja2VkKTsgICAgCisgICAgZGlkQWZmZWN0U2VsZWN0b3IoQWZmZWN0ZWRTZWxlY3RvckNo
ZWNrZWQpOwogCiAgICAgaWYgKEhUTUxTZWxlY3RFbGVtZW50KiBzZWxlY3QgPSBvd25lclNlbGVj
dEVsZW1lbnQoKSkKICAgICAgICAgc2VsZWN0LT5pbnZhbGlkYXRlU2VsZWN0ZWRJdGVtcygpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUHJvZ3Jlc3NFbGVtZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFByb2dyZXNzRWxlbWVudC5jcHAKaW5kZXggMTM2NzU1
YmU3YTc2ZmMyYzk3YjYxOTdkNDAyMWViMDFjNmI5N2JhMC4uYTFjYWZlN2E3ZjUxMDNiZGVlODE5
MTZjOGQzZTZiY2Q0MTU2N2YzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
UHJvZ3Jlc3NFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQcm9ncmVz
c0VsZW1lbnQuY3BwCkBAIC0yMyw3ICsyMyw2IEBACiAKICNpZiBFTkFCTEUoUFJPR1JFU1NfRUxF
TUVOVCkKICNpbmNsdWRlICJBdHRyaWJ1dGUuaCIKLSNpbmNsdWRlICJFbGVtZW50U2hhZG93Lmgi
CiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNp
bmNsdWRlICJIVE1MRGl2RWxlbWVudC5oIgpAQCAtMzIsNyArMzEsNiBAQAogI2luY2x1ZGUgIk5v
ZGVSZW5kZXJpbmdDb250ZXh0LmgiCiAjaW5jbHVkZSAiUHJvZ3Jlc3NTaGFkb3dFbGVtZW50Lmgi
CiAjaW5jbHVkZSAiUmVuZGVyUHJvZ3Jlc3MuaCIKLSNpbmNsdWRlICJTZWxlY3RSdWxlRmVhdHVy
ZVNldC5oIgogI2luY2x1ZGUgIlNoYWRvd1Jvb3QuaCIKICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0
cmFzLmg+CiAKQEAgLTE2MCwxMCArMTU4LDggQEAgdm9pZCBIVE1MUHJvZ3Jlc3NFbGVtZW50Ojpk
aWRFbGVtZW50U3RhdGVDaGFuZ2UoKQogICAgIGlmIChSZW5kZXJQcm9ncmVzcyogcmVuZGVyID0g
cmVuZGVyUHJvZ3Jlc3MoKSkgewogICAgICAgICBib29sIHdhc0RldGVybWluYXRlID0gcmVuZGVy
LT5pc0RldGVybWluYXRlKCk7CiAgICAgICAgIHJlbmRlci0+dXBkYXRlRnJvbUVsZW1lbnQoKTsK
LSAgICAgICAgaWYgKHdhc0RldGVybWluYXRlICE9IGlzRGV0ZXJtaW5hdGUoKSkgewotICAgICAg
ICAgICAgc2V0TmVlZHNTdHlsZVJlY2FsYygpOwotICAgICAgICAgICAgaW52YWxpZGF0ZVBhcmVu
dERpc3RyaWJ1dGlvbklmTmVjZXNzYXJ5KHRoaXMsIFNlbGVjdFJ1bGVGZWF0dXJlU2V0OjpSdWxl
RmVhdHVyZUluZGV0ZXJtaW5hdGUpOwotICAgICAgICB9CisgICAgICAgIGlmICh3YXNEZXRlcm1p
bmF0ZSAhPSBpc0RldGVybWluYXRlKCkpCisgICAgICAgICAgICBkaWRBZmZlY3RTZWxlY3RvcihB
ZmZlY3RlZFNlbGVjdG9ySW5kZXRlcm1pbmF0ZSk7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTdW1tYXJ5RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxTdW1tYXJ5RWxlbWVudC5jcHAKaW5kZXggZTNiMzdiNTA1YTM3OTY4MTdkNjU1
YWYyZTFhODM3M2QyYTE2MjA0My4uOTAzOWI0MGI4MDM3NDBkZjliMjE1ODJiMDg5NTFjNTUwODY3
OGUyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU3VtbWFyeUVsZW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFN1bW1hcnlFbGVtZW50LmNwcApAQCAt
MjMsNyArMjMsNiBAQAogCiAjaWYgRU5BQkxFKERFVEFJTFNfRUxFTUVOVCkKICNpbmNsdWRlICJE
ZXRhaWxzTWFya2VyQ29udHJvbC5oIgotI2luY2x1ZGUgIkVsZW1lbnRTaGFkb3cuaCIKICNpbmNs
dWRlICJIVE1MQ29udGVudEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MRGV0YWlsc0VsZW1lbnQu
aCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvc2hhZG93L0hUTUxDb250ZW50RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9IVE1MQ29udGVudEVsZW1lbnQuY3BwCmluZGV4IDJjOTdlZmYzNWE2NDE3MDU4OTc1NGM3
M2EwZGU4ZTdjN2VkMTIzNWEuLjkwYzc4NmFkYTg5M2Q3NTNjYmU2N2Q4NGExODk0ZDk2NTk5YzNk
MDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxDb250ZW50RWxl
bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTENvbnRlbnRFbGVt
ZW50LmNwcApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIkNTU1BhcnNlci5oIgogI2luY2x1
ZGUgIkNvbnRlbnREaXN0cmlidXRvci5oIgogI2luY2x1ZGUgIkNvbnRlbnRTZWxlY3RvclF1ZXJ5
LmgiCi0jaW5jbHVkZSAiRWxlbWVudFNoYWRvdy5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgog
I2luY2x1ZGUgIlF1YWxpZmllZE5hbWUuaCIKICNpbmNsdWRlICJSdW50aW1lRW5hYmxlZEZlYXR1
cmVzLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9TZWxlY3RSdWxl
RmVhdHVyZVNldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9TZWxlY3RSdWxlRmVh
dHVyZVNldC5jcHAKaW5kZXggODBhMzE2NjMyZTAyYjZkMTVhN2NmNDI4MDkxYzQ2NTZlMjIyNGZi
MS4uNDY1MjJjNDQ1M2JjM2ViMDM2MWZkNDYxMWFkMTk2NzIyNmNkZDFjMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvU2VsZWN0UnVsZUZlYXR1cmVTZXQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1NlbGVjdFJ1bGVGZWF0dXJlU2V0LmNwcApAQCAt
NTgsMjUgKzU4LDI1IEBAIHZvaWQgU2VsZWN0UnVsZUZlYXR1cmVTZXQ6OmNvbGxlY3RGZWF0dXJl
c0Zyb21TZWxlY3Rvcihjb25zdCBDU1NTZWxlY3Rvciogc2VsZWN0CiAKICAgICBzd2l0Y2ggKHNl
bGVjdG9yLT5wc2V1ZG9UeXBlKCkpIHsKICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9DaGVj
a2VkOgotICAgICAgICBzZXRTZWxlY3RSdWxlRmVhdHVyZShSdWxlRmVhdHVyZUNoZWNrZWQpOwor
ICAgICAgICBzZXRTZWxlY3RSdWxlRmVhdHVyZShBZmZlY3RlZFNlbGVjdG9yQ2hlY2tlZCk7CiAg
ICAgICAgIGJyZWFrOwogICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0VuYWJsZWQ6Ci0gICAg
ICAgIHNldFNlbGVjdFJ1bGVGZWF0dXJlKFJ1bGVGZWF0dXJlRW5hYmxlZCk7CisgICAgICAgIHNl
dFNlbGVjdFJ1bGVGZWF0dXJlKEFmZmVjdGVkU2VsZWN0b3JFbmFibGVkKTsKICAgICAgICAgYnJl
YWs7CiAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvRGlzYWJsZWQ6Ci0gICAgICAgIHNldFNl
bGVjdFJ1bGVGZWF0dXJlKFJ1bGVGZWF0dXJlRGlzYWJsZWQpOworICAgICAgICBzZXRTZWxlY3RS
dWxlRmVhdHVyZShBZmZlY3RlZFNlbGVjdG9yRGlzYWJsZWQpOwogICAgICAgICBicmVhazsKICAg
ICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9JbmRldGVybWluYXRlOgotICAgICAgICBzZXRTZWxl
Y3RSdWxlRmVhdHVyZShSdWxlRmVhdHVyZUluZGV0ZXJtaW5hdGUpOworICAgICAgICBzZXRTZWxl
Y3RSdWxlRmVhdHVyZShBZmZlY3RlZFNlbGVjdG9ySW5kZXRlcm1pbmF0ZSk7CiAgICAgICAgIGJy
ZWFrOwogICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0xpbms6Ci0gICAgICAgIHNldFNlbGVj
dFJ1bGVGZWF0dXJlKFJ1bGVGZWF0dXJlTGluayk7CisgICAgICAgIHNldFNlbGVjdFJ1bGVGZWF0
dXJlKEFmZmVjdGVkU2VsZWN0b3JMaW5rKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDU1NT
ZWxlY3Rvcjo6UHNldWRvVGFyZ2V0OgotICAgICAgICBzZXRTZWxlY3RSdWxlRmVhdHVyZShSdWxl
RmVhdHVyZVRhcmdldCk7CisgICAgICAgIHNldFNlbGVjdFJ1bGVGZWF0dXJlKEFmZmVjdGVkU2Vs
ZWN0b3JUYXJnZXQpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1
ZG9WaXNpdGVkOgotICAgICAgICBzZXRTZWxlY3RSdWxlRmVhdHVyZShSdWxlRmVhdHVyZVZpc2l0
ZWQpOworICAgICAgICBzZXRTZWxlY3RSdWxlRmVhdHVyZShBZmZlY3RlZFNlbGVjdG9yVmlzaXRl
ZCk7CiAgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIGJyZWFrOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvU2VsZWN0UnVsZUZlYXR1cmVTZXQuaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1NlbGVjdFJ1bGVGZWF0dXJlU2V0LmgKaW5kZXgg
NDM1NjlkMjFiNDk2MjVlOWEwZWNhYTllMDQxZGYwNjg0NTg5MDU0Mi4uZDBmMmRlNjgyMWIzMjUw
OTE2YzdlYzE2ZGVkNGRiNzU5ODRhMDgxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9zaGFkb3cvU2VsZWN0UnVsZUZlYXR1cmVTZXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9TZWxlY3RSdWxlRmVhdHVyZVNldC5oCkBAIC0zMSw2ICszMSw3IEBACiAjaWZuZGVm
IFNlbGVjdFJ1bGVGZWF0dXJlU2V0X2gKICNkZWZpbmUgU2VsZWN0UnVsZUZlYXR1cmVTZXRfaAog
CisjaW5jbHVkZSAiRWxlbWVudC5oIgogI2luY2x1ZGUgIlJ1bGVGZWF0dXJlLmgiCiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKQEAgLTQ3LDI5ICs0OCwxOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBoYXNT
ZWxlY3RvckZvckNsYXNzKGNvbnN0IEF0b21pY1N0cmluZyYpIGNvbnN0OwogICAgIGJvb2wgaGFz
U2VsZWN0b3JGb3JBdHRyaWJ1dGUoY29uc3QgQXRvbWljU3RyaW5nJikgY29uc3Q7CiAKLSAgICBi
b29sIGhhc1NlbGVjdG9yRm9yQ2hlY2tlZCgpIGNvbnN0IHsgcmV0dXJuIGhhc1NlbGVjdG9yRm9y
KFJ1bGVGZWF0dXJlQ2hlY2tlZCk7IH0KLSAgICBib29sIGhhc1NlbGVjdG9yRm9yRW5hYmxlZCgp
IGNvbnN0IHsgcmV0dXJuIGhhc1NlbGVjdG9yRm9yKFJ1bGVGZWF0dXJlRW5hYmxlZCk7IH0KLSAg
ICBib29sIGhhc1NlbGVjdG9yRm9yRGlzYWJsZWQoKSBjb25zdCB7IHJldHVybiBoYXNTZWxlY3Rv
ckZvcihSdWxlRmVhdHVyZURpc2FibGVkKTsgfQotICAgIGJvb2wgaGFzU2VsZWN0b3JGb3JJbmRl
dGVybWluYXRlKCkgY29uc3QgeyByZXR1cm4gaGFzU2VsZWN0b3JGb3IoUnVsZUZlYXR1cmVJbmRl
dGVybWluYXRlKTsgfQotICAgIGJvb2wgaGFzU2VsZWN0b3JGb3JMaW5rKCkgY29uc3QgeyByZXR1
cm4gaGFzU2VsZWN0b3JGb3IoUnVsZUZlYXR1cmVMaW5rKTsgfQotICAgIGJvb2wgaGFzU2VsZWN0
b3JGb3JUYXJnZXQoKSBjb25zdCB7IHJldHVybiBoYXNTZWxlY3RvckZvcihSdWxlRmVhdHVyZVRh
cmdldCk7IH0KLSAgICBib29sIGhhc1NlbGVjdG9yRm9yVmlzaXRlZCgpIGNvbnN0IHsgcmV0dXJu
IGhhc1NlbGVjdG9yRm9yKFJ1bGVGZWF0dXJlVmlzaXRlZCk7IH0KKyAgICBib29sIGhhc1NlbGVj
dG9yRm9yQ2hlY2tlZCgpIGNvbnN0IHsgcmV0dXJuIGhhc1NlbGVjdG9yRm9yKEFmZmVjdGVkU2Vs
ZWN0b3JDaGVja2VkKTsgfQorICAgIGJvb2wgaGFzU2VsZWN0b3JGb3JFbmFibGVkKCkgY29uc3Qg
eyByZXR1cm4gaGFzU2VsZWN0b3JGb3IoQWZmZWN0ZWRTZWxlY3RvckVuYWJsZWQpOyB9CisgICAg
Ym9vbCBoYXNTZWxlY3RvckZvckRpc2FibGVkKCkgY29uc3QgeyByZXR1cm4gaGFzU2VsZWN0b3JG
b3IoQWZmZWN0ZWRTZWxlY3RvckRpc2FibGVkKTsgfQorICAgIGJvb2wgaGFzU2VsZWN0b3JGb3JJ
bmRldGVybWluYXRlKCkgY29uc3QgeyByZXR1cm4gaGFzU2VsZWN0b3JGb3IoQWZmZWN0ZWRTZWxl
Y3RvckluZGV0ZXJtaW5hdGUpOyB9CisgICAgYm9vbCBoYXNTZWxlY3RvckZvckxpbmsoKSBjb25z
dCB7IHJldHVybiBoYXNTZWxlY3RvckZvcihBZmZlY3RlZFNlbGVjdG9yTGluayk7IH0KKyAgICBi
b29sIGhhc1NlbGVjdG9yRm9yVGFyZ2V0KCkgY29uc3QgeyByZXR1cm4gaGFzU2VsZWN0b3JGb3Io
QWZmZWN0ZWRTZWxlY3RvclRhcmdldCk7IH0KKyAgICBib29sIGhhc1NlbGVjdG9yRm9yVmlzaXRl
ZCgpIGNvbnN0IHsgcmV0dXJuIGhhc1NlbGVjdG9yRm9yKEFmZmVjdGVkU2VsZWN0b3JWaXNpdGVk
KTsgfQogCi0gICAgZW51bSBTZWxlY3RSdWxlRmVhdHVyZSB7Ci0gICAgICAgIFJ1bGVGZWF0dXJl
Q2hlY2tlZCA9IDEsCi0gICAgICAgIFJ1bGVGZWF0dXJlRW5hYmxlZCA9IDEgPDwgMSwKLSAgICAg
ICAgUnVsZUZlYXR1cmVEaXNhYmxlZCA9IDEgPDwgMiwKLSAgICAgICAgUnVsZUZlYXR1cmVJbmRl
dGVybWluYXRlID0gMSA8PCAzLAotICAgICAgICBSdWxlRmVhdHVyZUxpbmsgPSAxIDw8IDQsCi0g
ICAgICAgIFJ1bGVGZWF0dXJlVGFyZ2V0ID0gMSA8PCA1LAotICAgICAgICBSdWxlRmVhdHVyZVZp
c2l0ZWQgPSAxIDw8IDYKLSAgICB9OwotICAgIHR5cGVkZWYgaW50IFNlbGVjdFJ1bGVGZWF0dXJl
TWFzazsKLQotICAgIGJvb2wgaGFzU2VsZWN0b3JGb3IoU2VsZWN0UnVsZUZlYXR1cmVNYXNrIGZl
YXR1cmVzKSBjb25zdCB7IHJldHVybiBtX2ZlYXR1cmVGbGFncyAmIGZlYXR1cmVzOyB9CisgICAg
Ym9vbCBoYXNTZWxlY3RvckZvcihBZmZlY3RlZFNlbGVjdG9yTWFzayBmZWF0dXJlcykgY29uc3Qg
eyByZXR1cm4gbV9mZWF0dXJlRmxhZ3MgJiBmZWF0dXJlczsgfQogCiBwcml2YXRlOgotICAgIHZv
aWQgc2V0U2VsZWN0UnVsZUZlYXR1cmUoU2VsZWN0UnVsZUZlYXR1cmUgZmVhdHVyZSkgeyBtX2Zl
YXR1cmVGbGFncyB8PSBmZWF0dXJlOyB9CisgICAgdm9pZCBzZXRTZWxlY3RSdWxlRmVhdHVyZShB
ZmZlY3RlZFNlbGVjdG9yVHlwZSBmZWF0dXJlKSB7IG1fZmVhdHVyZUZsYWdzIHw9IGZlYXR1cmU7
IH0KIAogICAgIFJ1bGVGZWF0dXJlU2V0IG1fY3NzUnVsZUZlYXR1cmVTZXQ7CiAgICAgaW50IG1f
ZmVhdHVyZUZsYWdzOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>