<?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>152769</bug_id>
          
          <creation_ts>2016-01-05 18:18:08 -0800</creation_ts>
          <short_desc>Move ImageBuffer::clip() code into GraphicsContext</short_desc>
          <delta_ts>2016-01-05 20:13:37 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>mmaxfield</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1152955</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-01-05 18:18:08 -0800</bug_when>
    <thetext>Move ImageBuffer::clip() code into GraphicsContext</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1152956</commentid>
    <comment_count>1</comment_count>
      <attachid>268342</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-01-05 18:22:22 -0800</bug_when>
    <thetext>Created attachment 268342
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1152959</commentid>
    <comment_count>2</comment_count>
      <attachid>268344</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-01-05 18:34:14 -0800</bug_when>
    <thetext>Created attachment 268344
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1152976</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-01-05 20:13:37 -0800</bug_when>
    <thetext>https://trac.webkit.org/changeset/194630</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>268342</attachid>
            <date>2016-01-05 18:22:22 -0800</date>
            <delta_ts>2016-01-05 18:46:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-152769-20160105182149.patch</filename>
            <type>text/plain</type>
            <size>13097</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk0NjA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGI3ODMwY2QzNzIzMmI4
YTFmYTA3ODVkZGY5NzU0ZGI0YjEzNTk1ZS4uMDNkNjA1NDY0ODFjYzMyODRjYWZiM2ZkZDdhYzMz
YzZkZDRjNjAyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM4IEBACiAyMDE2LTAxLTA1ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCisgICAgICAgIE1vdmUgSW1hZ2VC
dWZmZXI6OmNsaXAoKSBjb2RlIGludG8gR3JhcGhpY3NDb250ZXh0CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTI3NjkKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGb3IgQ0csIEdyYXBoaWNzQ29udGV4dCBo
YWQgY2xpcFRvTmF0aXZlSW1hZ2UoUGFzc05hdGl2ZUltYWdlUHRyLi4uKSwgd2hpY2gKKyAgICAg
ICAgd2FzIHVnbHkgYW5kIHBsYXRmb3JtLXNwZWNpZmljLgorICAgICAgICAKKyAgICAgICAgRml4
IGJ5IG1vdmluZyBjb2RlIGZyb20gSW1hZ2VCdWZmZXI6OmNsaXAoKSBmb3IgQ0cgYW5kIENhaXJv
IGludG8gdGhlIHBsYXRmb3JtLXNwZWNpZmljCisgICAgICAgIEdyYXBoaWNzQ29udGV4dCBpbXBs
ZW1lbnRhdGlvbnMuIFRoaXMgcmVxdWlyZWQgc29tZSBtaW5vciByZWZhY3RvcmluZyBvZiBzY2Fs
ZVNpemVUb1VzZXJTcGFjZSgpCisgICAgICAgIGluIEltYWdlQnVmZmVyQ0cuCisKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6R3JhcGhpY3NDb250ZXh0OjpjbGlwVG9JbWFnZUJ1ZmZlcik6IERlbGV0ZWQuCisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SW1hZ2VCdWZmZXI6OnNpemVGb3JEZXN0aW5hdGlvblNpemUpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL0ltYWdlQnVmZmVyLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2Fp
cm8vR3JhcGhpY3NDb250ZXh0Q2Fpcm8uY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3ND
b250ZXh0OjpjbGlwVG9JbWFnZUJ1ZmZlcik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2Fpcm8vSW1hZ2VCdWZmZXJDYWlyby5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUJ1ZmZl
cjo6Y2xpcCk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhp
Y3NDb250ZXh0Q0cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0OjpjbGlw
VG9JbWFnZUJ1ZmZlcik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmNsaXBU
b05hdGl2ZUltYWdlKTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9J
bWFnZUJ1ZmZlckNHLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlQnVmZmVyOjpJbWFnZUJ1
ZmZlcik6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUJ1ZmZlcjo6c2l6ZUZvckRlc3RpbmF0aW9u
U2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUJ1ZmZlcjo6cHV0Qnl0ZUFycmF5KToKKyAg
ICAgICAgKFdlYkNvcmU6OkltYWdlQnVmZmVyOjp0b0RhdGFVUkwpOgorICAgICAgICAoV2ViQ29y
ZTo6SW1hZ2VCdWZmZXI6OmNsaXApOiBEZWxldGVkLgorCisyMDE2LTAxLTA1ICBTaW1vbiBGcmFz
ZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCiAgICAgICAgIFJlbW92ZSBHcmFwaGljc0Nv
bnRleHQ6OmRyYXdKb2luZWRMaW5lcygpCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNTI3NjQKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5jcHAKaW5kZXggNTY2ZWNiNjEyODAyNjRhZWI1
ZDhkNGEwYmQwZjQ3OWUyZjk5YmFjNC4uMGQ2YjMwMGU3NTI4NWMxODVlZDJkNTI5Yjg2NDJhMWZh
ZmRkN2I3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3Jh
cGhpY3NDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9H
cmFwaGljc0NvbnRleHQuY3BwCkBAIC01MDAsMTMgKzUwMCw2IEBAIHZvaWQgR3JhcGhpY3NDb250
ZXh0OjpjbGlwT3V0Um91bmRlZFJlY3QoY29uc3QgRmxvYXRSb3VuZGVkUmVjdCYgcmVjdCkKICAg
ICBjbGlwT3V0KHBhdGgpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDo6Y2xpcFRvSW1hZ2VC
dWZmZXIoSW1hZ2VCdWZmZXImIGJ1ZmZlciwgY29uc3QgRmxvYXRSZWN0JiByZWN0KQotewotICAg
IGlmIChwYWludGluZ0Rpc2FibGVkKCkpCi0gICAgICAgIHJldHVybjsKLSAgICBidWZmZXIuY2xp
cCgqdGhpcywgcmVjdCk7Ci19Ci0KICNpZiAhVVNFKENHKSAmJiAhVVNFKENBSVJPKQogSW50UmVj
dCBHcmFwaGljc0NvbnRleHQ6OmNsaXBCb3VuZHMoKSBjb25zdAogewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuaAppbmRleCBhNmQ4MTg0
NzI3N2EyMzJlOTE2ZWQwODhlNTdmOWQwNjE0MjVlMzlkLi41MmIxYWQ4MmIyZjhhNTg3MDhlOTll
MzY2YTc2ZTI1NjIwYjIzZGUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9HcmFwaGljc0NvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9HcmFwaGljc0NvbnRleHQuaApAQCAtMjU4LDggKzI1OCw2IEBAIHB1YmxpYzoKICAg
ICB2b2lkIGFwcGx5RmlsbFBhdHRlcm4oKTsKICAgICB2b2lkIGRyYXdQYXRoKGNvbnN0IFBhdGgm
KTsKIAotICAgIHZvaWQgY2xpcFRvTmF0aXZlSW1hZ2UoUGFzc05hdGl2ZUltYWdlUHRyLCBjb25z
dCBGbG9hdFJlY3QmIGRlc3RSZWN0LCBjb25zdCBGbG9hdFNpemUmIGJ1ZmZlclNpemUpOwotICAg
IAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0SXNDQUxheWVyQ29udGV4dChib29sKTsKICAg
ICBib29sIGlzQ0FMYXllckNvbnRleHQoKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuY3BwCmluZGV4IGRkMTQ2NDk5YWQyNTg1ZTQz
MmViY2ZiNTE3MmYzMGFjOWYxZTE3MGIuLjgzNWRlYTA0Njc5MWM0YjEyODU3Y2U2ODY5YzEwMmI3
MDE1NmEwM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0lt
YWdlQnVmZmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFn
ZUJ1ZmZlci5jcHAKQEAgLTgxLDYgKzgxLDExIEBAIEZsb2F0UmVjdCBJbWFnZUJ1ZmZlcjo6Y2xh
bXBlZFJlY3QoY29uc3QgRmxvYXRSZWN0JiByZWN0KQogfQogCiAjaWYgIVVTRShDRykKK0Zsb2F0
U2l6ZSBJbWFnZUJ1ZmZlcjo6c2l6ZUZvckRlc3RpbmF0aW9uU2l6ZShGbG9hdFNpemUgc2l6ZSkg
Y29uc3QKK3sKKyAgICByZXR1cm4gc2l6ZTsKK30KKwogdm9pZCBJbWFnZUJ1ZmZlcjo6dHJhbnNm
b3JtQ29sb3JTcGFjZShDb2xvclNwYWNlIHNyY0NvbG9yU3BhY2UsIENvbG9yU3BhY2UgZHN0Q29s
b3JTcGFjZSkKIHsKICAgICBERVBSRUNBVEVEX0RFRklORV9TVEFUSUNfTE9DQUwoVmVjdG9yPGlu
dD4sIGRldmljZVJnYkxVVCwgKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ltYWdlQnVmZmVyLmgKaW5kZXggY2NlZmNlMGZkZmQ5YmQ1ZmJjMmIzZDEwMmYwYjI2ZmI4
ZTNkZjk3MC4uZjQxOWQzMjdkOTFmOThiNTBhZDViZTFkODdhNDk2YjBmY2Y3ZDRjNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oCkBAIC04Nyw2
ICs4Nyw4IEBAIHB1YmxpYzoKICAgICBjb25zdCBJbnRTaXplJiBpbnRlcm5hbFNpemUoKSBjb25z
dCB7IHJldHVybiBtX3NpemU7IH0KICAgICBjb25zdCBJbnRTaXplJiBsb2dpY2FsU2l6ZSgpIGNv
bnN0IHsgcmV0dXJuIG1fbG9naWNhbFNpemU7IH0KIAorICAgIEZsb2F0U2l6ZSBzaXplRm9yRGVz
dGluYXRpb25TaXplKEZsb2F0U2l6ZSkgY29uc3Q7CisKICAgICBmbG9hdCByZXNvbHV0aW9uU2Nh
bGUoKSBjb25zdCB7IHJldHVybiBtX3Jlc29sdXRpb25TY2FsZTsgfQogCiAgICAgV0VCQ09SRV9F
WFBPUlQgR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0KCkgY29uc3Q7CkBAIC0xMTYsNiArMTE4LDEw
IEBAIHB1YmxpYzoKICNlbmRpZgogICAgIFBsYXRmb3JtTGF5ZXIqIHBsYXRmb3JtTGF5ZXIoKSBj
b25zdDsKIAorI2lmIFVTRShDQUlSTykKKyAgICBOYXRpdmVJbWFnZVB0ciBuYXRpdmVJbWFnZSgp
IGNvbnN0OworI2VuZGlmCisKICAgICAvLyBGSVhNRTogY3VycmVudCBpbXBsZW1lbnRhdGlvbnMg
b2YgdGhpcyBtZXRob2QgaGF2ZSB0aGUgcmVzdHJpY3Rpb24gdGhhdCB0aGV5IG9ubHkgd29yawog
ICAgIC8vIHdpdGggdGV4dHVyZXMgdGhhdCBhcmUgUkdCIG9yIFJHQkEgZm9ybWF0LCBhbmQgVU5T
SUdORURfQllURSB0eXBlLgogICAgIGJvb2wgY29weVRvUGxhdGZvcm1UZXh0dXJlKEdyYXBoaWNz
Q29udGV4dDNEJiwgR0MzRGVudW0sIFBsYXRmb3JtM0RPYmplY3QsIEdDM0RlbnVtLCBib29sLCBi
b29sKTsKQEAgLTEzNSw4ICsxNDEsNyBAQCBwcml2YXRlOgogICAgIHN0YXRpYyBSZXRhaW5QdHI8
Q0dJbWFnZVJlZj4gc2lua0ludG9OYXRpdmVJbWFnZShzdGQ6OnVuaXF1ZV9wdHI8SW1hZ2VCdWZm
ZXI+KTsKICAgICB2b2lkIGZsdXNoQ29udGV4dCgpIGNvbnN0OwogI2VuZGlmCi0gICAgdm9pZCBj
bGlwKEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IEZsb2F0UmVjdCYpIGNvbnN0OwotCisgICAgCiAg
ICAgdm9pZCBkcmF3KEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IEZsb2F0UmVjdCYgZGVzdFJlY3Qs
IGNvbnN0IEZsb2F0UmVjdCYgc3JjUmVjdCA9IEZsb2F0UmVjdCgwLCAwLCAtMSwgLTEpLCBDb21w
b3NpdGVPcGVyYXRvciA9IENvbXBvc2l0ZVNvdXJjZU92ZXIsIEJsZW5kTW9kZSA9IEJsZW5kTW9k
ZU5vcm1hbCwgYm9vbCB1c2VMb3dRdWFsaXR5U2NhbGUgPSBmYWxzZSk7CiAgICAgdm9pZCBkcmF3
UGF0dGVybihHcmFwaGljc0NvbnRleHQmLCBjb25zdCBGbG9hdFJlY3QmIHNyY1JlY3QsIGNvbnN0
IEFmZmluZVRyYW5zZm9ybSYgcGF0dGVyblRyYW5zZm9ybSwgY29uc3QgRmxvYXRQb2ludCYgcGhh
c2UsIGNvbnN0IEZsb2F0U2l6ZSYgc3BhY2luZywgQ29tcG9zaXRlT3BlcmF0b3IsIGNvbnN0IEZs
b2F0UmVjdCYgZGVzdFJlY3QsIEJsZW5kTW9kZSA9IEJsZW5kTW9kZU5vcm1hbCk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dyYXBoaWNzQ29u
dGV4dENhaXJvLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dy
YXBoaWNzQ29udGV4dENhaXJvLmNwcAppbmRleCA1OThlN2YxODZjZGMxNzM2OWJiYzJlNDkwYzcz
OTI0YTVjZmM3MGE5Li5kMzUzZjg2YTI3MDY3NzVlYWE3N2NmNzc0ZDEwZGQzYzc4MmIwNzJhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9HcmFwaGlj
c0NvbnRleHRDYWlyby5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2Fpcm8vR3JhcGhpY3NDb250ZXh0Q2Fpcm8uY3BwCkBAIC01MzcsNiArNTM3LDE3IEBAIHZvaWQg
R3JhcGhpY3NDb250ZXh0OjpjbGlwUGF0aChjb25zdCBQYXRoJiBwYXRoLCBXaW5kUnVsZSBjbGlw
UnVsZSkKICAgICBtX2RhdGEtPmNsaXAocGF0aCk7CiB9CiAKK3ZvaWQgR3JhcGhpY3NDb250ZXh0
OjpjbGlwVG9JbWFnZUJ1ZmZlcihJbWFnZUJ1ZmZlciYgYnVmZmVyLCBjb25zdCBGbG9hdFJlY3Qm
IGRlc3RSZWN0KQoreworICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCisgICAgICAgIHJldHVy
bjsKKworICAgIFJlZlB0cjxJbWFnZT4gaW1hZ2UgPSBidWZmZXIuY29weUltYWdlKERvbnRDb3B5
QmFja2luZ1N0b3JlKTsKKyAgICBSZWZQdHI8Y2Fpcm9fc3VyZmFjZV90PiBzdXJmYWNlID0gaW1h
Z2UtPm5hdGl2ZUltYWdlRm9yQ3VycmVudEZyYW1lKCk7CisgICAgaWYgKHN1cmZhY2UpCisgICAg
ICAgIHBsYXRmb3JtQ29udGV4dCgpLT5wdXNoSW1hZ2VNYXNrKHN1cmZhY2UuZ2V0KCksIGRlc3RS
ZWN0KTsKK30KKwogSW50UmVjdCBHcmFwaGljc0NvbnRleHQ6OmNsaXBCb3VuZHMoKSBjb25zdAog
ewogICAgIGRvdWJsZSB4MSwgeDIsIHkxLCB5MjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ltYWdlQnVmZmVyQ2Fpcm8uY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vSW1hZ2VCdWZmZXJDYWlyby5jcHAKaW5kZXgg
NmZiMDgwNmZjYjQwYzk5NDQ4MDA4NjI2YWJiYmRkZGYyYmI5YmNjOC4uNDg2NjUxOWI3NTdmMjY0
MzVjMjQ5ZjMyYjUwNDc0NzcxOTNlYTVjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2Fpcm8vSW1hZ2VCdWZmZXJDYWlyby5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vSW1hZ2VCdWZmZXJDYWlyby5jcHAKQEAgLTIx
NCwxMSArMjE0LDYgQEAgQmFja2luZ1N0b3JlQ29weSBJbWFnZUJ1ZmZlcjo6ZmFzdENvcHlJbWFn
ZU1vZGUoKQogICAgIHJldHVybiBEb250Q29weUJhY2tpbmdTdG9yZTsKIH0KIAotdm9pZCBJbWFn
ZUJ1ZmZlcjo6Y2xpcChHcmFwaGljc0NvbnRleHQmIGNvbnRleHQsIGNvbnN0IEZsb2F0UmVjdCYg
bWFza1JlY3QpIGNvbnN0Ci17Ci0gICAgY29udGV4dC5wbGF0Zm9ybUNvbnRleHQoKS0+cHVzaElt
YWdlTWFzayhtX2RhdGEubV9zdXJmYWNlLmdldCgpLCBtYXNrUmVjdCk7Ci19Ci0KIHZvaWQgSW1h
Z2VCdWZmZXI6OmRyYXdDb25zdW1pbmcoc3RkOjp1bmlxdWVfcHRyPEltYWdlQnVmZmVyPiBpbWFn
ZUJ1ZmZlciwgR3JhcGhpY3NDb250ZXh0JiBkZXN0Q29udGV4dCwgY29uc3QgRmxvYXRSZWN0JiBk
ZXN0UmVjdCwgY29uc3QgRmxvYXRSZWN0JiBzcmNSZWN0LCBDb21wb3NpdGVPcGVyYXRvciBvcCwg
QmxlbmRNb2RlIGJsZW5kTW9kZSwgYm9vbCB1c2VMb3dRdWFsaXR5U2NhbGUpCiB7CiAgICAgaW1h
Z2VCdWZmZXItPmRyYXcoZGVzdENvbnRleHQsIGRlc3RSZWN0LCBzcmNSZWN0LCBvcCwgYmxlbmRN
b2RlLCB1c2VMb3dRdWFsaXR5U2NhbGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cuY3BwCmluZGV4IDk4Y2E5YTk0
NWRiMjE5NGRmYjJhZTFmMTJkZmNlYWU0MDE3ZjI1MDQuLjVhMzE3Y2EzZDIzNDA5OWRkZDRjZmNk
MDQ2NmE2Y2ZlNzgzMjVmMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NnL0dyYXBoaWNzQ29udGV4dENHLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHRDRy5jcHAKQEAgLTM1MCwxNCArMzUwLDIw
IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3UGF0dGVybihJbWFnZSYgaW1hZ2UsIGNvbnN0
IEZsb2F0UmVjdCYgdGlsZVJlY3QsIGNvbnN0CiAgICAgfQogfQogCi12b2lkIEdyYXBoaWNzQ29u
dGV4dDo6Y2xpcFRvTmF0aXZlSW1hZ2UoUGFzc05hdGl2ZUltYWdlUHRyIGltYWdlLCBjb25zdCBG
bG9hdFJlY3QmIGRlc3RSZWN0LCBjb25zdCBGbG9hdFNpemUmIGJ1ZmZlclNpemUpCit2b2lkIEdy
YXBoaWNzQ29udGV4dDo6Y2xpcFRvSW1hZ2VCdWZmZXIoSW1hZ2VCdWZmZXImIGJ1ZmZlciwgY29u
c3QgRmxvYXRSZWN0JiBkZXN0UmVjdCkKIHsKKyAgICBpZiAocGFpbnRpbmdEaXNhYmxlZCgpKQor
ICAgICAgICByZXR1cm47CisKKyAgICBGbG9hdFNpemUgYnVmZmVyRGVzdGluYXRpb25TaXplID0g
YnVmZmVyLnNpemVGb3JEZXN0aW5hdGlvblNpemUoZGVzdFJlY3Quc2l6ZSgpKTsKKyAgICBSZXRh
aW5QdHI8Q0dJbWFnZVJlZj4gaW1hZ2UgPSBidWZmZXIuY29weU5hdGl2ZUltYWdlKERvbnRDb3B5
QmFja2luZ1N0b3JlKTsKKwogICAgIENHQ29udGV4dFJlZiBjb250ZXh0ID0gcGxhdGZvcm1Db250
ZXh0KCk7CiAgICAgLy8gRklYTUU6IFRoaXMgaW1hZ2UgbmVlZHMgdG8gYmUgZ3JheXNjYWxlIHRv
IGJlIHVzZWQgYXMgYW4gYWxwaGEgbWFzayBoZXJlLgotICAgIENHQ29udGV4dFRyYW5zbGF0ZUNU
TShjb250ZXh0LCBkZXN0UmVjdC54KCksIGRlc3RSZWN0LnkoKSArIGJ1ZmZlclNpemUuaGVpZ2h0
KCkpOworICAgIENHQ29udGV4dFRyYW5zbGF0ZUNUTShjb250ZXh0LCBkZXN0UmVjdC54KCksIGRl
c3RSZWN0LnkoKSArIGJ1ZmZlckRlc3RpbmF0aW9uU2l6ZS5oZWlnaHQoKSk7CiAgICAgQ0dDb250
ZXh0U2NhbGVDVE0oY29udGV4dCwgMSwgLTEpOwotICAgIENHQ29udGV4dENsaXBUb1JlY3QoY29u
dGV4dCwgRmxvYXRSZWN0KEZsb2F0UG9pbnQoMCwgYnVmZmVyU2l6ZS5oZWlnaHQoKSAtIGRlc3RS
ZWN0LmhlaWdodCgpKSwgZGVzdFJlY3Quc2l6ZSgpKSk7Ci0gICAgQ0dDb250ZXh0Q2xpcFRvTWFz
ayhjb250ZXh0LCBGbG9hdFJlY3QoRmxvYXRQb2ludCgpLCBidWZmZXJTaXplKSwgaW1hZ2UpOwor
ICAgIENHQ29udGV4dENsaXBUb1JlY3QoY29udGV4dCwgRmxvYXRSZWN0KEZsb2F0UG9pbnQoMCwg
YnVmZmVyRGVzdGluYXRpb25TaXplLmhlaWdodCgpIC0gZGVzdFJlY3QuaGVpZ2h0KCkpLCBkZXN0
UmVjdC5zaXplKCkpKTsKKyAgICBDR0NvbnRleHRDbGlwVG9NYXNrKGNvbnRleHQsIEZsb2F0UmVj
dChGbG9hdFBvaW50KCksIGJ1ZmZlckRlc3RpbmF0aW9uU2l6ZSksIGltYWdlLmdldCgpKTsKICAg
ICBDR0NvbnRleHRTY2FsZUNUTShjb250ZXh0LCAxLCAtMSk7CiAgICAgQ0dDb250ZXh0VHJhbnNs
YXRlQ1RNKGNvbnRleHQsIC1kZXN0UmVjdC54KCksIC1kZXN0UmVjdC55KCkgLSBkZXN0UmVjdC5o
ZWlnaHQoKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jZy9JbWFnZUJ1ZmZlckNHLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NnL0ltYWdlQnVmZmVyQ0cuY3BwCmluZGV4IGNkNWFlYjBmNmJhOTdiNzc4ODZiOTA3YmU5NzU5
MzFmNzk1MjkwNTQuLjNiN2I0ZGJjZWYyNTAzZTA5ZTM5NWI3YzI5Yjg2YTgyYTIwNjdjNTUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQnVmZmVy
Q0cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQnVm
ZmVyQ0cuY3BwCkBAIC0xMTMsNyArMTEzLDcgQEAgSW1hZ2VCdWZmZXI6OkltYWdlQnVmZmVyKGNv
bnN0IEZsb2F0U2l6ZSYgc2l6ZSwgZmxvYXQgcmVzb2x1dGlvblNjYWxlLCBDb2xvclNwYWMKICAg
ICBSZXRhaW5QdHI8Q0dDb250ZXh0UmVmPiBjZ0NvbnRleHQ7CiAgICAgaWYgKGFjY2VsZXJhdGVS
ZW5kZXJpbmcpIHsKICNpZiBVU0UoSU9TVVJGQUNFX0NBTlZBU19CQUNLSU5HX1NUT1JFKQotICAg
ICAgICBGbG9hdFNpemUgdXNlckJvdW5kcyA9IHNjYWxlU2l6ZVRvVXNlclNwYWNlKEZsb2F0U2l6
ZSh3aWR0aC51bnNhZmVHZXQoKSwgaGVpZ2h0LnVuc2FmZUdldCgpKSwgbV9kYXRhLmJhY2tpbmdT
dG9yZVNpemUsIG1fc2l6ZSk7CisgICAgICAgIEZsb2F0U2l6ZSB1c2VyQm91bmRzID0gc2l6ZUZv
ckRlc3RpbmF0aW9uU2l6ZShGbG9hdFNpemUod2lkdGgudW5zYWZlR2V0KCksIGhlaWdodC51bnNh
ZmVHZXQoKSkpOwogICAgICAgICBtX2RhdGEuc3VyZmFjZSA9IElPU3VyZmFjZTo6Y3JlYXRlKG1f
ZGF0YS5iYWNraW5nU3RvcmVTaXplLCBJbnRTaXplKHVzZXJCb3VuZHMpLCBpbWFnZUNvbG9yU3Bh
Y2UpOwogICAgICAgICBjZ0NvbnRleHQgPSBtX2RhdGEuc3VyZmFjZS0+ZW5zdXJlUGxhdGZvcm1D
b250ZXh0KCk7CiAgICAgICAgIGlmIChjZ0NvbnRleHQpCkBAIC0xNTUsNiArMTU1LDExIEBAIElt
YWdlQnVmZmVyOjp+SW1hZ2VCdWZmZXIoKQogewogfQogCitGbG9hdFNpemUgSW1hZ2VCdWZmZXI6
OnNpemVGb3JEZXN0aW5hdGlvblNpemUoRmxvYXRTaXplIGRlc3RpbmF0aW9uU2l6ZSkgY29uc3QK
K3sKKyAgICByZXR1cm4gc2NhbGVTaXplVG9Vc2VyU3BhY2UoZGVzdGluYXRpb25TaXplLCBtX2Rh
dGEuYmFja2luZ1N0b3JlU2l6ZSwgaW50ZXJuYWxTaXplKCkpOworfQorCiBHcmFwaGljc0NvbnRl
eHQmIEltYWdlQnVmZmVyOjpjb250ZXh0KCkgY29uc3QKIHsKICNpZiBVU0UoSU9TVVJGQUNFX0NB
TlZBU19CQUNLSU5HX1NUT1JFKQpAQCAtMzE0LDEzICszMTksNiBAQCB2b2lkIEltYWdlQnVmZmVy
OjpkcmF3UGF0dGVybihHcmFwaGljc0NvbnRleHQmIGRlc3RDb250ZXh0LCBjb25zdCBGbG9hdFJl
Y3QmIHNyYwogICAgIH0KIH0KIAotdm9pZCBJbWFnZUJ1ZmZlcjo6Y2xpcChHcmFwaGljc0NvbnRl
eHQmIGNvbnRleHRUb0NsaXAsIGNvbnN0IEZsb2F0UmVjdCYgcmVjdCkgY29uc3QKLXsKLSAgICBG
bG9hdFNpemUgYmFja2luZ1N0b3JlU2l6ZUluVXNlclNwYWNlID0gc2NhbGVTaXplVG9Vc2VyU3Bh
Y2UocmVjdC5zaXplKCksIG1fZGF0YS5iYWNraW5nU3RvcmVTaXplLCBpbnRlcm5hbFNpemUoKSk7
Ci0gICAgUmV0YWluUHRyPENHSW1hZ2VSZWY+IGltYWdlID0gY29weU5hdGl2ZUltYWdlKERvbnRD
b3B5QmFja2luZ1N0b3JlKTsKLSAgICBjb250ZXh0VG9DbGlwLmNsaXBUb05hdGl2ZUltYWdlKGlt
YWdlLmdldCgpLCByZWN0LCBiYWNraW5nU3RvcmVTaXplSW5Vc2VyU3BhY2UpOwotfQotCiBQYXNz
UmVmUHRyPFVpbnQ4Q2xhbXBlZEFycmF5PiBJbWFnZUJ1ZmZlcjo6Z2V0VW5tdWx0aXBsaWVkSW1h
Z2VEYXRhKGNvbnN0IEludFJlY3QmIHJlY3QsIENvb3JkaW5hdGVTeXN0ZW0gY29vcmRpbmF0ZVN5
c3RlbSkgY29uc3QKIHsKICAgICBpZiAoY29udGV4dCgpLmlzQWNjZWxlcmF0ZWRDb250ZXh0KCkp
CkBAIC0zODcsNyArMzg1LDcgQEAgdm9pZCBJbWFnZUJ1ZmZlcjo6cHV0Qnl0ZUFycmF5KE11bHRp
cGx5IG11bHRpcGxpZWQsIFVpbnQ4Q2xhbXBlZEFycmF5KiBzb3VyY2UsIGMKICAgICBDR0NvbnRl
eHRTZXRTaGFkb3dXaXRoQ29sb3IoZGVzdENvbnRleHQsIENHU2l6ZVplcm8sIDAsIDApOwogCiAg
ICAgLy8gRHJhdyB0aGUgaW1hZ2UgaW4gQ0cgY29vcmRpbmF0ZSBzcGFjZQotICAgIEZsb2F0U2l6
ZSBzY2FsZWREZXN0U2l6ZSA9IHNjYWxlU2l6ZVRvVXNlclNwYWNlKGNvb3JkaW5hdGVTeXN0ZW0g
PT0gTG9naWNhbENvb3JkaW5hdGVTeXN0ZW0gPyBsb2dpY2FsU2l6ZSgpIDogaW50ZXJuYWxTaXpl
KCksIG1fZGF0YS5iYWNraW5nU3RvcmVTaXplLCBpbnRlcm5hbFNpemUoKSk7CisgICAgRmxvYXRT
aXplIHNjYWxlZERlc3RTaXplID0gc2l6ZUZvckRlc3RpbmF0aW9uU2l6ZShjb29yZGluYXRlU3lz
dGVtID09IExvZ2ljYWxDb29yZGluYXRlU3lzdGVtID8gbG9naWNhbFNpemUoKSA6IGludGVybmFs
U2l6ZSgpKTsKICAgICBJbnRQb2ludCBkZXN0UG9pbnRJbkNHQ29vcmRzKGRlc3RQb2ludC54KCkg
KyBzb3VyY2VSZWN0LngoKSwgc2NhbGVkRGVzdFNpemUuaGVpZ2h0KCkgLSAoZGVzdFBvaW50Lnko
KSArIHNvdXJjZVJlY3QueSgpKSAtIHNvdXJjZVJlY3QuaGVpZ2h0KCkpOwogICAgIEludFJlY3Qg
ZGVzdFJlY3RJbkNHQ29vcmRzKGRlc3RQb2ludEluQ0dDb29yZHMsIHNvdXJjZUNvcHlTaXplKTsK
ICAgICBDR0NvbnRleHRDbGlwVG9SZWN0KGRlc3RDb250ZXh0LCBkZXN0UmVjdEluQ0dDb29yZHMp
OwpAQCAtNTA2LDcgKzUwNCw3IEBAIFN0cmluZyBJbWFnZUJ1ZmZlcjo6dG9EYXRhVVJMKGNvbnN0
IFN0cmluZyYgbWltZVR5cGUsIGNvbnN0IGRvdWJsZSogcXVhbGl0eSwgQ29vCiAgICAgICAgIFJl
dGFpblB0cjxDR0NvbnRleHRSZWY+IGNvbnRleHQgPSBhZG9wdENGKENHQml0bWFwQ29udGV4dENy
ZWF0ZSgwLCBsb2dpY2FsU2l6ZSgpLndpZHRoKCksIGxvZ2ljYWxTaXplKCkuaGVpZ2h0KCksIDgs
IDQgKiBsb2dpY2FsU2l6ZSgpLndpZHRoKCksIHNSR0JDb2xvclNwYWNlUmVmKCksIGtDR0ltYWdl
QWxwaGFQcmVtdWx0aXBsaWVkTGFzdCkpOwogICAgICAgICBDR0NvbnRleHRTZXRCbGVuZE1vZGUo
Y29udGV4dC5nZXQoKSwga0NHQmxlbmRNb2RlQ29weSk7CiAgICAgICAgIENHQ29udGV4dENsaXBU
b1JlY3QoY29udGV4dC5nZXQoKSwgQ0dSZWN0TWFrZSgwLCAwLCBsb2dpY2FsU2l6ZSgpLndpZHRo
KCksIGxvZ2ljYWxTaXplKCkuaGVpZ2h0KCkpKTsKLSAgICAgICAgRmxvYXRTaXplIGltYWdlU2l6
ZUluVXNlclNwYWNlID0gc2NhbGVTaXplVG9Vc2VyU3BhY2UobG9naWNhbFNpemUoKSwgbV9kYXRh
LmJhY2tpbmdTdG9yZVNpemUsIGludGVybmFsU2l6ZSgpKTsKKyAgICAgICAgRmxvYXRTaXplIGlt
YWdlU2l6ZUluVXNlclNwYWNlID0gc2l6ZUZvckRlc3RpbmF0aW9uU2l6ZShsb2dpY2FsU2l6ZSgp
KTsKICAgICAgICAgQ0dDb250ZXh0RHJhd0ltYWdlKGNvbnRleHQuZ2V0KCksIENHUmVjdE1ha2Uo
MCwgMCwgaW1hZ2VTaXplSW5Vc2VyU3BhY2Uud2lkdGgoKSwgaW1hZ2VTaXplSW5Vc2VyU3BhY2Uu
aGVpZ2h0KCkpLCBpbWFnZS5nZXQoKSk7CiAgICAgICAgIGltYWdlID0gYWRvcHRDRihDR0JpdG1h
cENvbnRleHRDcmVhdGVJbWFnZShjb250ZXh0LmdldCgpKSk7CiAgICAgfQo=
</data>
<flag name="review"
          id="293282"
          type_id="1"
          status="+"
          setter="zalan"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>268344</attachid>
            <date>2016-01-05 18:34:14 -0800</date>
            <delta_ts>2016-01-05 18:37:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-152769-20160105183341.patch</filename>
            <type>text/plain</type>
            <size>13311</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk0NjA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGI3ODMwY2QzNzIzMmI4
YTFmYTA3ODVkZGY5NzU0ZGI0YjEzNTk1ZS4uMDNkNjA1NDY0ODFjYzMyODRjYWZiM2ZkZDdhYzMz
YzZkZDRjNjAyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM4IEBACiAyMDE2LTAxLTA1ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCisgICAgICAgIE1vdmUgSW1hZ2VC
dWZmZXI6OmNsaXAoKSBjb2RlIGludG8gR3JhcGhpY3NDb250ZXh0CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTI3NjkKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGb3IgQ0csIEdyYXBoaWNzQ29udGV4dCBo
YWQgY2xpcFRvTmF0aXZlSW1hZ2UoUGFzc05hdGl2ZUltYWdlUHRyLi4uKSwgd2hpY2gKKyAgICAg
ICAgd2FzIHVnbHkgYW5kIHBsYXRmb3JtLXNwZWNpZmljLgorICAgICAgICAKKyAgICAgICAgRml4
IGJ5IG1vdmluZyBjb2RlIGZyb20gSW1hZ2VCdWZmZXI6OmNsaXAoKSBmb3IgQ0cgYW5kIENhaXJv
IGludG8gdGhlIHBsYXRmb3JtLXNwZWNpZmljCisgICAgICAgIEdyYXBoaWNzQ29udGV4dCBpbXBs
ZW1lbnRhdGlvbnMuIFRoaXMgcmVxdWlyZWQgc29tZSBtaW5vciByZWZhY3RvcmluZyBvZiBzY2Fs
ZVNpemVUb1VzZXJTcGFjZSgpCisgICAgICAgIGluIEltYWdlQnVmZmVyQ0cuCisKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6R3JhcGhpY3NDb250ZXh0OjpjbGlwVG9JbWFnZUJ1ZmZlcik6IERlbGV0ZWQuCisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SW1hZ2VCdWZmZXI6OnNpemVGb3JEZXN0aW5hdGlvblNpemUpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL0ltYWdlQnVmZmVyLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2Fp
cm8vR3JhcGhpY3NDb250ZXh0Q2Fpcm8uY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3ND
b250ZXh0OjpjbGlwVG9JbWFnZUJ1ZmZlcik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2Fpcm8vSW1hZ2VCdWZmZXJDYWlyby5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUJ1ZmZl
cjo6Y2xpcCk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhp
Y3NDb250ZXh0Q0cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0OjpjbGlw
VG9JbWFnZUJ1ZmZlcik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmNsaXBU
b05hdGl2ZUltYWdlKTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9J
bWFnZUJ1ZmZlckNHLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlQnVmZmVyOjpJbWFnZUJ1
ZmZlcik6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUJ1ZmZlcjo6c2l6ZUZvckRlc3RpbmF0aW9u
U2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUJ1ZmZlcjo6cHV0Qnl0ZUFycmF5KToKKyAg
ICAgICAgKFdlYkNvcmU6OkltYWdlQnVmZmVyOjp0b0RhdGFVUkwpOgorICAgICAgICAoV2ViQ29y
ZTo6SW1hZ2VCdWZmZXI6OmNsaXApOiBEZWxldGVkLgorCisyMDE2LTAxLTA1ICBTaW1vbiBGcmFz
ZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCiAgICAgICAgIFJlbW92ZSBHcmFwaGljc0Nv
bnRleHQ6OmRyYXdKb2luZWRMaW5lcygpCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNTI3NjQKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5jcHAKaW5kZXggNTY2ZWNiNjEyODAyNjRhZWI1
ZDhkNGEwYmQwZjQ3OWUyZjk5YmFjNC4uMGQ2YjMwMGU3NTI4NWMxODVlZDJkNTI5Yjg2NDJhMWZh
ZmRkN2I3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3Jh
cGhpY3NDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9H
cmFwaGljc0NvbnRleHQuY3BwCkBAIC01MDAsMTMgKzUwMCw2IEBAIHZvaWQgR3JhcGhpY3NDb250
ZXh0OjpjbGlwT3V0Um91bmRlZFJlY3QoY29uc3QgRmxvYXRSb3VuZGVkUmVjdCYgcmVjdCkKICAg
ICBjbGlwT3V0KHBhdGgpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDo6Y2xpcFRvSW1hZ2VC
dWZmZXIoSW1hZ2VCdWZmZXImIGJ1ZmZlciwgY29uc3QgRmxvYXRSZWN0JiByZWN0KQotewotICAg
IGlmIChwYWludGluZ0Rpc2FibGVkKCkpCi0gICAgICAgIHJldHVybjsKLSAgICBidWZmZXIuY2xp
cCgqdGhpcywgcmVjdCk7Ci19Ci0KICNpZiAhVVNFKENHKSAmJiAhVVNFKENBSVJPKQogSW50UmVj
dCBHcmFwaGljc0NvbnRleHQ6OmNsaXBCb3VuZHMoKSBjb25zdAogewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuaAppbmRleCBhNmQ4MTg0
NzI3N2EyMzJlOTE2ZWQwODhlNTdmOWQwNjE0MjVlMzlkLi41MmIxYWQ4MmIyZjhhNTg3MDhlOTll
MzY2YTc2ZTI1NjIwYjIzZGUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9HcmFwaGljc0NvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9HcmFwaGljc0NvbnRleHQuaApAQCAtMjU4LDggKzI1OCw2IEBAIHB1YmxpYzoKICAg
ICB2b2lkIGFwcGx5RmlsbFBhdHRlcm4oKTsKICAgICB2b2lkIGRyYXdQYXRoKGNvbnN0IFBhdGgm
KTsKIAotICAgIHZvaWQgY2xpcFRvTmF0aXZlSW1hZ2UoUGFzc05hdGl2ZUltYWdlUHRyLCBjb25z
dCBGbG9hdFJlY3QmIGRlc3RSZWN0LCBjb25zdCBGbG9hdFNpemUmIGJ1ZmZlclNpemUpOwotICAg
IAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0SXNDQUxheWVyQ29udGV4dChib29sKTsKICAg
ICBib29sIGlzQ0FMYXllckNvbnRleHQoKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuY3BwCmluZGV4IGRkMTQ2NDk5YWQyNTg1ZTQz
MmViY2ZiNTE3MmYzMGFjOWYxZTE3MGIuLjgzNWRlYTA0Njc5MWM0YjEyODU3Y2U2ODY5YzEwMmI3
MDE1NmEwM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0lt
YWdlQnVmZmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFn
ZUJ1ZmZlci5jcHAKQEAgLTgxLDYgKzgxLDExIEBAIEZsb2F0UmVjdCBJbWFnZUJ1ZmZlcjo6Y2xh
bXBlZFJlY3QoY29uc3QgRmxvYXRSZWN0JiByZWN0KQogfQogCiAjaWYgIVVTRShDRykKK0Zsb2F0
U2l6ZSBJbWFnZUJ1ZmZlcjo6c2l6ZUZvckRlc3RpbmF0aW9uU2l6ZShGbG9hdFNpemUgc2l6ZSkg
Y29uc3QKK3sKKyAgICByZXR1cm4gc2l6ZTsKK30KKwogdm9pZCBJbWFnZUJ1ZmZlcjo6dHJhbnNm
b3JtQ29sb3JTcGFjZShDb2xvclNwYWNlIHNyY0NvbG9yU3BhY2UsIENvbG9yU3BhY2UgZHN0Q29s
b3JTcGFjZSkKIHsKICAgICBERVBSRUNBVEVEX0RFRklORV9TVEFUSUNfTE9DQUwoVmVjdG9yPGlu
dD4sIGRldmljZVJnYkxVVCwgKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ltYWdlQnVmZmVyLmgKaW5kZXggY2NlZmNlMGZkZmQ5YmQ1ZmJjMmIzZDEwMmYwYjI2ZmI4
ZTNkZjk3MC4uZjQxOWQzMjdkOTFmOThiNTBhZDViZTFkODdhNDk2YjBmY2Y3ZDRjNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oCkBAIC04Nyw2
ICs4Nyw4IEBAIHB1YmxpYzoKICAgICBjb25zdCBJbnRTaXplJiBpbnRlcm5hbFNpemUoKSBjb25z
dCB7IHJldHVybiBtX3NpemU7IH0KICAgICBjb25zdCBJbnRTaXplJiBsb2dpY2FsU2l6ZSgpIGNv
bnN0IHsgcmV0dXJuIG1fbG9naWNhbFNpemU7IH0KIAorICAgIEZsb2F0U2l6ZSBzaXplRm9yRGVz
dGluYXRpb25TaXplKEZsb2F0U2l6ZSkgY29uc3Q7CisKICAgICBmbG9hdCByZXNvbHV0aW9uU2Nh
bGUoKSBjb25zdCB7IHJldHVybiBtX3Jlc29sdXRpb25TY2FsZTsgfQogCiAgICAgV0VCQ09SRV9F
WFBPUlQgR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0KCkgY29uc3Q7CkBAIC0xMTYsNiArMTE4LDEw
IEBAIHB1YmxpYzoKICNlbmRpZgogICAgIFBsYXRmb3JtTGF5ZXIqIHBsYXRmb3JtTGF5ZXIoKSBj
b25zdDsKIAorI2lmIFVTRShDQUlSTykKKyAgICBOYXRpdmVJbWFnZVB0ciBuYXRpdmVJbWFnZSgp
IGNvbnN0OworI2VuZGlmCisKICAgICAvLyBGSVhNRTogY3VycmVudCBpbXBsZW1lbnRhdGlvbnMg
b2YgdGhpcyBtZXRob2QgaGF2ZSB0aGUgcmVzdHJpY3Rpb24gdGhhdCB0aGV5IG9ubHkgd29yawog
ICAgIC8vIHdpdGggdGV4dHVyZXMgdGhhdCBhcmUgUkdCIG9yIFJHQkEgZm9ybWF0LCBhbmQgVU5T
SUdORURfQllURSB0eXBlLgogICAgIGJvb2wgY29weVRvUGxhdGZvcm1UZXh0dXJlKEdyYXBoaWNz
Q29udGV4dDNEJiwgR0MzRGVudW0sIFBsYXRmb3JtM0RPYmplY3QsIEdDM0RlbnVtLCBib29sLCBi
b29sKTsKQEAgLTEzNSw4ICsxNDEsNyBAQCBwcml2YXRlOgogICAgIHN0YXRpYyBSZXRhaW5QdHI8
Q0dJbWFnZVJlZj4gc2lua0ludG9OYXRpdmVJbWFnZShzdGQ6OnVuaXF1ZV9wdHI8SW1hZ2VCdWZm
ZXI+KTsKICAgICB2b2lkIGZsdXNoQ29udGV4dCgpIGNvbnN0OwogI2VuZGlmCi0gICAgdm9pZCBj
bGlwKEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IEZsb2F0UmVjdCYpIGNvbnN0OwotCisgICAgCiAg
ICAgdm9pZCBkcmF3KEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IEZsb2F0UmVjdCYgZGVzdFJlY3Qs
IGNvbnN0IEZsb2F0UmVjdCYgc3JjUmVjdCA9IEZsb2F0UmVjdCgwLCAwLCAtMSwgLTEpLCBDb21w
b3NpdGVPcGVyYXRvciA9IENvbXBvc2l0ZVNvdXJjZU92ZXIsIEJsZW5kTW9kZSA9IEJsZW5kTW9k
ZU5vcm1hbCwgYm9vbCB1c2VMb3dRdWFsaXR5U2NhbGUgPSBmYWxzZSk7CiAgICAgdm9pZCBkcmF3
UGF0dGVybihHcmFwaGljc0NvbnRleHQmLCBjb25zdCBGbG9hdFJlY3QmIHNyY1JlY3QsIGNvbnN0
IEFmZmluZVRyYW5zZm9ybSYgcGF0dGVyblRyYW5zZm9ybSwgY29uc3QgRmxvYXRQb2ludCYgcGhh
c2UsIGNvbnN0IEZsb2F0U2l6ZSYgc3BhY2luZywgQ29tcG9zaXRlT3BlcmF0b3IsIGNvbnN0IEZs
b2F0UmVjdCYgZGVzdFJlY3QsIEJsZW5kTW9kZSA9IEJsZW5kTW9kZU5vcm1hbCk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dyYXBoaWNzQ29u
dGV4dENhaXJvLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dy
YXBoaWNzQ29udGV4dENhaXJvLmNwcAppbmRleCA1OThlN2YxODZjZGMxNzM2OWJiYzJlNDkwYzcz
OTI0YTVjZmM3MGE5Li40NWIxNjRjOTFmMGUyMzg4MmI0NjZlYjNmNDA3YTVlOWU3YTJlMTk1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9HcmFwaGlj
c0NvbnRleHRDYWlyby5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2Fpcm8vR3JhcGhpY3NDb250ZXh0Q2Fpcm8uY3BwCkBAIC00Myw2ICs0Myw3IEBACiAjaW5jbHVk
ZSAiRmxvYXRSb3VuZGVkUmVjdC5oIgogI2luY2x1ZGUgIkZvbnQuaCIKICNpbmNsdWRlICJHcmFw
aGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGVDYWlyby5oIgorI2luY2x1ZGUgIkltYWdlQnVmZmVy
LmgiCiAjaW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCiAj
aW5jbHVkZSAiUGF0aC5oIgpAQCAtNTM3LDYgKzUzOCwxNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4
dDo6Y2xpcFBhdGgoY29uc3QgUGF0aCYgcGF0aCwgV2luZFJ1bGUgY2xpcFJ1bGUpCiAgICAgbV9k
YXRhLT5jbGlwKHBhdGgpOwogfQogCit2b2lkIEdyYXBoaWNzQ29udGV4dDo6Y2xpcFRvSW1hZ2VC
dWZmZXIoSW1hZ2VCdWZmZXImIGJ1ZmZlciwgY29uc3QgRmxvYXRSZWN0JiBkZXN0UmVjdCkKK3sK
KyAgICBpZiAocGFpbnRpbmdEaXNhYmxlZCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBSZWZQ
dHI8SW1hZ2U+IGltYWdlID0gYnVmZmVyLmNvcHlJbWFnZShEb250Q29weUJhY2tpbmdTdG9yZSk7
CisgICAgUmVmUHRyPGNhaXJvX3N1cmZhY2VfdD4gc3VyZmFjZSA9IGltYWdlLT5uYXRpdmVJbWFn
ZUZvckN1cnJlbnRGcmFtZSgpOworICAgIGlmIChzdXJmYWNlKQorICAgICAgICBwbGF0Zm9ybUNv
bnRleHQoKS0+cHVzaEltYWdlTWFzayhzdXJmYWNlLmdldCgpLCBkZXN0UmVjdCk7Cit9CisKIElu
dFJlY3QgR3JhcGhpY3NDb250ZXh0OjpjbGlwQm91bmRzKCkgY29uc3QKIHsKICAgICBkb3VibGUg
eDEsIHgyLCB5MSwgeTI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jYWlyby9JbWFnZUJ1ZmZlckNhaXJvLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NhaXJvL0ltYWdlQnVmZmVyQ2Fpcm8uY3BwCmluZGV4IDZmYjA4MDZmY2I0MGM5
OTQ0ODAwODYyNmFiYmJkZGRmMmJiOWJjYzguLjQ4NjY1MTliNzU3ZjI2NDM1YzI0OWYzMmI1MDQ3
NDc3MTkzZWE1YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NhaXJvL0ltYWdlQnVmZmVyQ2Fpcm8uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NhaXJvL0ltYWdlQnVmZmVyQ2Fpcm8uY3BwCkBAIC0yMTQsMTEgKzIxNCw2IEBA
IEJhY2tpbmdTdG9yZUNvcHkgSW1hZ2VCdWZmZXI6OmZhc3RDb3B5SW1hZ2VNb2RlKCkKICAgICBy
ZXR1cm4gRG9udENvcHlCYWNraW5nU3RvcmU7CiB9CiAKLXZvaWQgSW1hZ2VCdWZmZXI6OmNsaXAo
R3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBjb25zdCBGbG9hdFJlY3QmIG1hc2tSZWN0KSBjb25z
dAotewotICAgIGNvbnRleHQucGxhdGZvcm1Db250ZXh0KCktPnB1c2hJbWFnZU1hc2sobV9kYXRh
Lm1fc3VyZmFjZS5nZXQoKSwgbWFza1JlY3QpOwotfQotCiB2b2lkIEltYWdlQnVmZmVyOjpkcmF3
Q29uc3VtaW5nKHN0ZDo6dW5pcXVlX3B0cjxJbWFnZUJ1ZmZlcj4gaW1hZ2VCdWZmZXIsIEdyYXBo
aWNzQ29udGV4dCYgZGVzdENvbnRleHQsIGNvbnN0IEZsb2F0UmVjdCYgZGVzdFJlY3QsIGNvbnN0
IEZsb2F0UmVjdCYgc3JjUmVjdCwgQ29tcG9zaXRlT3BlcmF0b3Igb3AsIEJsZW5kTW9kZSBibGVu
ZE1vZGUsIGJvb2wgdXNlTG93UXVhbGl0eVNjYWxlKQogewogICAgIGltYWdlQnVmZmVyLT5kcmF3
KGRlc3RDb250ZXh0LCBkZXN0UmVjdCwgc3JjUmVjdCwgb3AsIGJsZW5kTW9kZSwgdXNlTG93UXVh
bGl0eVNjYWxlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NnL0dyYXBoaWNzQ29udGV4dENHLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NnL0dyYXBoaWNzQ29udGV4dENHLmNwcAppbmRleCA5OGNhOWE5NDVkYjIxOTRkZmIyYWUx
ZjEyZGZjZWFlNDAxN2YyNTA0Li41YTMxN2NhM2QyMzQwOTlkZGQ0Y2ZjZDA0NjZhNmNmZTc4MzI1
ZjI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFw
aGljc0NvbnRleHRDRy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2cvR3JhcGhpY3NDb250ZXh0Q0cuY3BwCkBAIC0zNTAsMTQgKzM1MCwyMCBAQCB2b2lkIEdyYXBo
aWNzQ29udGV4dDo6ZHJhd1BhdHRlcm4oSW1hZ2UmIGltYWdlLCBjb25zdCBGbG9hdFJlY3QmIHRp
bGVSZWN0LCBjb25zdAogICAgIH0KIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQ6OmNsaXBUb05h
dGl2ZUltYWdlKFBhc3NOYXRpdmVJbWFnZVB0ciBpbWFnZSwgY29uc3QgRmxvYXRSZWN0JiBkZXN0
UmVjdCwgY29uc3QgRmxvYXRTaXplJiBidWZmZXJTaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQ6
OmNsaXBUb0ltYWdlQnVmZmVyKEltYWdlQnVmZmVyJiBidWZmZXIsIGNvbnN0IEZsb2F0UmVjdCYg
ZGVzdFJlY3QpCiB7CisgICAgaWYgKHBhaW50aW5nRGlzYWJsZWQoKSkKKyAgICAgICAgcmV0dXJu
OworCisgICAgRmxvYXRTaXplIGJ1ZmZlckRlc3RpbmF0aW9uU2l6ZSA9IGJ1ZmZlci5zaXplRm9y
RGVzdGluYXRpb25TaXplKGRlc3RSZWN0LnNpemUoKSk7CisgICAgUmV0YWluUHRyPENHSW1hZ2VS
ZWY+IGltYWdlID0gYnVmZmVyLmNvcHlOYXRpdmVJbWFnZShEb250Q29weUJhY2tpbmdTdG9yZSk7
CisKICAgICBDR0NvbnRleHRSZWYgY29udGV4dCA9IHBsYXRmb3JtQ29udGV4dCgpOwogICAgIC8v
IEZJWE1FOiBUaGlzIGltYWdlIG5lZWRzIHRvIGJlIGdyYXlzY2FsZSB0byBiZSB1c2VkIGFzIGFu
IGFscGhhIG1hc2sgaGVyZS4KLSAgICBDR0NvbnRleHRUcmFuc2xhdGVDVE0oY29udGV4dCwgZGVz
dFJlY3QueCgpLCBkZXN0UmVjdC55KCkgKyBidWZmZXJTaXplLmhlaWdodCgpKTsKKyAgICBDR0Nv
bnRleHRUcmFuc2xhdGVDVE0oY29udGV4dCwgZGVzdFJlY3QueCgpLCBkZXN0UmVjdC55KCkgKyBi
dWZmZXJEZXN0aW5hdGlvblNpemUuaGVpZ2h0KCkpOwogICAgIENHQ29udGV4dFNjYWxlQ1RNKGNv
bnRleHQsIDEsIC0xKTsKLSAgICBDR0NvbnRleHRDbGlwVG9SZWN0KGNvbnRleHQsIEZsb2F0UmVj
dChGbG9hdFBvaW50KDAsIGJ1ZmZlclNpemUuaGVpZ2h0KCkgLSBkZXN0UmVjdC5oZWlnaHQoKSks
IGRlc3RSZWN0LnNpemUoKSkpOwotICAgIENHQ29udGV4dENsaXBUb01hc2soY29udGV4dCwgRmxv
YXRSZWN0KEZsb2F0UG9pbnQoKSwgYnVmZmVyU2l6ZSksIGltYWdlKTsKKyAgICBDR0NvbnRleHRD
bGlwVG9SZWN0KGNvbnRleHQsIEZsb2F0UmVjdChGbG9hdFBvaW50KDAsIGJ1ZmZlckRlc3RpbmF0
aW9uU2l6ZS5oZWlnaHQoKSAtIGRlc3RSZWN0LmhlaWdodCgpKSwgZGVzdFJlY3Quc2l6ZSgpKSk7
CisgICAgQ0dDb250ZXh0Q2xpcFRvTWFzayhjb250ZXh0LCBGbG9hdFJlY3QoRmxvYXRQb2ludCgp
LCBidWZmZXJEZXN0aW5hdGlvblNpemUpLCBpbWFnZS5nZXQoKSk7CiAgICAgQ0dDb250ZXh0U2Nh
bGVDVE0oY29udGV4dCwgMSwgLTEpOwogICAgIENHQ29udGV4dFRyYW5zbGF0ZUNUTShjb250ZXh0
LCAtZGVzdFJlY3QueCgpLCAtZGVzdFJlY3QueSgpIC0gZGVzdFJlY3QuaGVpZ2h0KCkpOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VCdWZm
ZXJDRy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZl
ckNHLmNwcAppbmRleCBjZDVhZWIwZjZiYTk3Yjc3ODg2YjkwN2JlOTc1OTMxZjc5NTI5MDU0Li4z
YjdiNGRiY2VmMjUwM2UwOWUzOTViN2MyOWI4NmE4MmEyMDY3YzU1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlckNHLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlckNHLmNwcApAQCAt
MTEzLDcgKzExMyw3IEBAIEltYWdlQnVmZmVyOjpJbWFnZUJ1ZmZlcihjb25zdCBGbG9hdFNpemUm
IHNpemUsIGZsb2F0IHJlc29sdXRpb25TY2FsZSwgQ29sb3JTcGFjCiAgICAgUmV0YWluUHRyPENH
Q29udGV4dFJlZj4gY2dDb250ZXh0OwogICAgIGlmIChhY2NlbGVyYXRlUmVuZGVyaW5nKSB7CiAj
aWYgVVNFKElPU1VSRkFDRV9DQU5WQVNfQkFDS0lOR19TVE9SRSkKLSAgICAgICAgRmxvYXRTaXpl
IHVzZXJCb3VuZHMgPSBzY2FsZVNpemVUb1VzZXJTcGFjZShGbG9hdFNpemUod2lkdGgudW5zYWZl
R2V0KCksIGhlaWdodC51bnNhZmVHZXQoKSksIG1fZGF0YS5iYWNraW5nU3RvcmVTaXplLCBtX3Np
emUpOworICAgICAgICBGbG9hdFNpemUgdXNlckJvdW5kcyA9IHNpemVGb3JEZXN0aW5hdGlvblNp
emUoRmxvYXRTaXplKHdpZHRoLnVuc2FmZUdldCgpLCBoZWlnaHQudW5zYWZlR2V0KCkpKTsKICAg
ICAgICAgbV9kYXRhLnN1cmZhY2UgPSBJT1N1cmZhY2U6OmNyZWF0ZShtX2RhdGEuYmFja2luZ1N0
b3JlU2l6ZSwgSW50U2l6ZSh1c2VyQm91bmRzKSwgaW1hZ2VDb2xvclNwYWNlKTsKICAgICAgICAg
Y2dDb250ZXh0ID0gbV9kYXRhLnN1cmZhY2UtPmVuc3VyZVBsYXRmb3JtQ29udGV4dCgpOwogICAg
ICAgICBpZiAoY2dDb250ZXh0KQpAQCAtMTU1LDYgKzE1NSwxMSBAQCBJbWFnZUJ1ZmZlcjo6fklt
YWdlQnVmZmVyKCkKIHsKIH0KIAorRmxvYXRTaXplIEltYWdlQnVmZmVyOjpzaXplRm9yRGVzdGlu
YXRpb25TaXplKEZsb2F0U2l6ZSBkZXN0aW5hdGlvblNpemUpIGNvbnN0Cit7CisgICAgcmV0dXJu
IHNjYWxlU2l6ZVRvVXNlclNwYWNlKGRlc3RpbmF0aW9uU2l6ZSwgbV9kYXRhLmJhY2tpbmdTdG9y
ZVNpemUsIGludGVybmFsU2l6ZSgpKTsKK30KKwogR3JhcGhpY3NDb250ZXh0JiBJbWFnZUJ1ZmZl
cjo6Y29udGV4dCgpIGNvbnN0CiB7CiAjaWYgVVNFKElPU1VSRkFDRV9DQU5WQVNfQkFDS0lOR19T
VE9SRSkKQEAgLTMxNCwxMyArMzE5LDYgQEAgdm9pZCBJbWFnZUJ1ZmZlcjo6ZHJhd1BhdHRlcm4o
R3JhcGhpY3NDb250ZXh0JiBkZXN0Q29udGV4dCwgY29uc3QgRmxvYXRSZWN0JiBzcmMKICAgICB9
CiB9CiAKLXZvaWQgSW1hZ2VCdWZmZXI6OmNsaXAoR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0VG9D
bGlwLCBjb25zdCBGbG9hdFJlY3QmIHJlY3QpIGNvbnN0Ci17Ci0gICAgRmxvYXRTaXplIGJhY2tp
bmdTdG9yZVNpemVJblVzZXJTcGFjZSA9IHNjYWxlU2l6ZVRvVXNlclNwYWNlKHJlY3Quc2l6ZSgp
LCBtX2RhdGEuYmFja2luZ1N0b3JlU2l6ZSwgaW50ZXJuYWxTaXplKCkpOwotICAgIFJldGFpblB0
cjxDR0ltYWdlUmVmPiBpbWFnZSA9IGNvcHlOYXRpdmVJbWFnZShEb250Q29weUJhY2tpbmdTdG9y
ZSk7Ci0gICAgY29udGV4dFRvQ2xpcC5jbGlwVG9OYXRpdmVJbWFnZShpbWFnZS5nZXQoKSwgcmVj
dCwgYmFja2luZ1N0b3JlU2l6ZUluVXNlclNwYWNlKTsKLX0KLQogUGFzc1JlZlB0cjxVaW50OENs
YW1wZWRBcnJheT4gSW1hZ2VCdWZmZXI6OmdldFVubXVsdGlwbGllZEltYWdlRGF0YShjb25zdCBJ
bnRSZWN0JiByZWN0LCBDb29yZGluYXRlU3lzdGVtIGNvb3JkaW5hdGVTeXN0ZW0pIGNvbnN0CiB7
CiAgICAgaWYgKGNvbnRleHQoKS5pc0FjY2VsZXJhdGVkQ29udGV4dCgpKQpAQCAtMzg3LDcgKzM4
NSw3IEBAIHZvaWQgSW1hZ2VCdWZmZXI6OnB1dEJ5dGVBcnJheShNdWx0aXBseSBtdWx0aXBsaWVk
LCBVaW50OENsYW1wZWRBcnJheSogc291cmNlLCBjCiAgICAgQ0dDb250ZXh0U2V0U2hhZG93V2l0
aENvbG9yKGRlc3RDb250ZXh0LCBDR1NpemVaZXJvLCAwLCAwKTsKIAogICAgIC8vIERyYXcgdGhl
IGltYWdlIGluIENHIGNvb3JkaW5hdGUgc3BhY2UKLSAgICBGbG9hdFNpemUgc2NhbGVkRGVzdFNp
emUgPSBzY2FsZVNpemVUb1VzZXJTcGFjZShjb29yZGluYXRlU3lzdGVtID09IExvZ2ljYWxDb29y
ZGluYXRlU3lzdGVtID8gbG9naWNhbFNpemUoKSA6IGludGVybmFsU2l6ZSgpLCBtX2RhdGEuYmFj
a2luZ1N0b3JlU2l6ZSwgaW50ZXJuYWxTaXplKCkpOworICAgIEZsb2F0U2l6ZSBzY2FsZWREZXN0
U2l6ZSA9IHNpemVGb3JEZXN0aW5hdGlvblNpemUoY29vcmRpbmF0ZVN5c3RlbSA9PSBMb2dpY2Fs
Q29vcmRpbmF0ZVN5c3RlbSA/IGxvZ2ljYWxTaXplKCkgOiBpbnRlcm5hbFNpemUoKSk7CiAgICAg
SW50UG9pbnQgZGVzdFBvaW50SW5DR0Nvb3JkcyhkZXN0UG9pbnQueCgpICsgc291cmNlUmVjdC54
KCksIHNjYWxlZERlc3RTaXplLmhlaWdodCgpIC0gKGRlc3RQb2ludC55KCkgKyBzb3VyY2VSZWN0
LnkoKSkgLSBzb3VyY2VSZWN0LmhlaWdodCgpKTsKICAgICBJbnRSZWN0IGRlc3RSZWN0SW5DR0Nv
b3JkcyhkZXN0UG9pbnRJbkNHQ29vcmRzLCBzb3VyY2VDb3B5U2l6ZSk7CiAgICAgQ0dDb250ZXh0
Q2xpcFRvUmVjdChkZXN0Q29udGV4dCwgZGVzdFJlY3RJbkNHQ29vcmRzKTsKQEAgLTUwNiw3ICs1
MDQsNyBAQCBTdHJpbmcgSW1hZ2VCdWZmZXI6OnRvRGF0YVVSTChjb25zdCBTdHJpbmcmIG1pbWVU
eXBlLCBjb25zdCBkb3VibGUqIHF1YWxpdHksIENvbwogICAgICAgICBSZXRhaW5QdHI8Q0dDb250
ZXh0UmVmPiBjb250ZXh0ID0gYWRvcHRDRihDR0JpdG1hcENvbnRleHRDcmVhdGUoMCwgbG9naWNh
bFNpemUoKS53aWR0aCgpLCBsb2dpY2FsU2l6ZSgpLmhlaWdodCgpLCA4LCA0ICogbG9naWNhbFNp
emUoKS53aWR0aCgpLCBzUkdCQ29sb3JTcGFjZVJlZigpLCBrQ0dJbWFnZUFscGhhUHJlbXVsdGlw
bGllZExhc3QpKTsKICAgICAgICAgQ0dDb250ZXh0U2V0QmxlbmRNb2RlKGNvbnRleHQuZ2V0KCks
IGtDR0JsZW5kTW9kZUNvcHkpOwogICAgICAgICBDR0NvbnRleHRDbGlwVG9SZWN0KGNvbnRleHQu
Z2V0KCksIENHUmVjdE1ha2UoMCwgMCwgbG9naWNhbFNpemUoKS53aWR0aCgpLCBsb2dpY2FsU2l6
ZSgpLmhlaWdodCgpKSk7Ci0gICAgICAgIEZsb2F0U2l6ZSBpbWFnZVNpemVJblVzZXJTcGFjZSA9
IHNjYWxlU2l6ZVRvVXNlclNwYWNlKGxvZ2ljYWxTaXplKCksIG1fZGF0YS5iYWNraW5nU3RvcmVT
aXplLCBpbnRlcm5hbFNpemUoKSk7CisgICAgICAgIEZsb2F0U2l6ZSBpbWFnZVNpemVJblVzZXJT
cGFjZSA9IHNpemVGb3JEZXN0aW5hdGlvblNpemUobG9naWNhbFNpemUoKSk7CiAgICAgICAgIENH
Q29udGV4dERyYXdJbWFnZShjb250ZXh0LmdldCgpLCBDR1JlY3RNYWtlKDAsIDAsIGltYWdlU2l6
ZUluVXNlclNwYWNlLndpZHRoKCksIGltYWdlU2l6ZUluVXNlclNwYWNlLmhlaWdodCgpKSwgaW1h
Z2UuZ2V0KCkpOwogICAgICAgICBpbWFnZSA9IGFkb3B0Q0YoQ0dCaXRtYXBDb250ZXh0Q3JlYXRl
SW1hZ2UoY29udGV4dC5nZXQoKSkpOwogICAgIH0K
</data>
<flag name="review"
          id="293284"
          type_id="1"
          status="+"
          setter="zalan"
    />
          </attachment>
      

    </bug>

</bugzilla>