<?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>89589</bug_id>
          
          <creation_ts>2012-06-20 11:40:16 -0700</creation_ts>
          <short_desc>[Chromium] Damage tracker is not used without partial swap, causing valid render passes to be removed</short_desc>
          <delta_ts>2012-06-20 22:40:17 -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>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>
          <dependson>89630</dependson>
    
    <dependson>89631</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter>zlieber</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cc-bugs</cc>
    
    <cc>jamesr</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>653705</commentid>
    <comment_count>0</comment_count>
    <who name="">zlieber</who>
    <bug_when>2012-06-20 11:40:16 -0700</bug_when>
    <thetext>[Chromium] html5-demos.appspot.com/static/webaudio/createMediaSourceElement.html broken</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>653777</commentid>
    <comment_count>1</comment_count>
      <attachid>148629</attachid>
    <who name="">zlieber</who>
    <bug_when>2012-06-20 12:35:08 -0700</bug_when>
    <thetext>Created attachment 148629
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>653780</commentid>
    <comment_count>2</comment_count>
      <attachid>148629</attachid>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-06-20 12:40:34 -0700</bug_when>
    <thetext>Comment on attachment 148629
Patch

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

&gt; Source/WebCore/ChangeLog:3
&gt; +        [Chromium] html5-demos.appspot.com/static/webaudio/createMediaSourceElement.html broken

Can you name this after what the patch is doing?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>653834</commentid>
    <comment_count>3</comment_count>
      <attachid>148643</attachid>
    <who name="">zlieber</who>
    <bug_when>2012-06-20 13:26:09 -0700</bug_when>
    <thetext>Created attachment 148643
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>653835</commentid>
    <comment_count>4</comment_count>
      <attachid>148643</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-06-20 13:27:21 -0700</bug_when>
    <thetext>Comment on attachment 148643
Patch

R=me.  Thanks for the quick fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>653891</commentid>
    <comment_count>5</comment_count>
      <attachid>148643</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-20 14:22:21 -0700</bug_when>
    <thetext>Comment on attachment 148643
Patch

Rejecting attachment 148643 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 1

ERROR: /mnt/git/webkit-commit-queue/Source/WebKit/chromium/ChangeLog neither lists a valid reviewer nor contains the string &quot;Unreviewed&quot; or &quot;Rubber stamp&quot; (case insensitive).

Full output: http://queues.webkit.org/results/13010038</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>653922</commentid>
    <comment_count>6</comment_count>
      <attachid>148662</attachid>
    <who name="">zlieber</who>
    <bug_when>2012-06-20 15:04:32 -0700</bug_when>
    <thetext>Created attachment 148662
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>654063</commentid>
    <comment_count>7</comment_count>
      <attachid>148662</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-20 17:43:25 -0700</bug_when>
    <thetext>Comment on attachment 148662
Patch

Clearing flags on attachment: 148662

Committed r120889: &lt;http://trac.webkit.org/changeset/120889&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>654064</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-20 17:43:29 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>654136</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-20 18:56:17 -0700</bug_when>
    <thetext>Re-opened since this is blocked by 89630</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>654250</commentid>
    <comment_count>10</comment_count>
      <attachid>148662</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-06-20 22:26:47 -0700</bug_when>
    <thetext>Comment on attachment 148662
Patch

Let&apos;s give this another CQ+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>654254</commentid>
    <comment_count>11</comment_count>
      <attachid>148662</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-20 22:40:13 -0700</bug_when>
    <thetext>Comment on attachment 148662
Patch

Clearing flags on attachment: 148662

Committed r120904: &lt;http://trac.webkit.org/changeset/120904&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>654255</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-20 22:40:17 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>148629</attachid>
            <date>2012-06-20 12:35:08 -0700</date>
            <delta_ts>2012-06-20 13:26:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-89589-20120620153507.patch</filename>
            <type>text/plain</type>
            <size>14450</size>
            <attacher>zlieber</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwNzc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGNiZDI3MGQzOWVkYmU0
NmUzNGExZWJiODAxZGVmMjhmMDMyZjZhMC4uNDg3M2VlZjU5ZWU5ZTllOWQ3NGQ5MTc0MmIzYTc1
N2Q4ZDVkNjdkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA2LTIwICBaZWV2
IExpZWJlciAgPHpsaWViZXJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtDaHJvbWl1bV0gaHRt
bDUtZGVtb3MuYXBwc3BvdC5jb20vc3RhdGljL3dlYmF1ZGlvL2NyZWF0ZU1lZGlhU291cmNlRWxl
bWVudC5odG1sIGJyb2tlbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9ODk1ODkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBXaGVuIG5vdCB1c2luZyBwYXJ0aWFsIHN3YXAsIHRoZSBDQ0RhbWFnZVRyYWNrZXIg
d2FzIG5vdCB1c2VkLCBhbmQKKyAgICAgICAgaXRzIG1fY3VycmVudERhbWFnZVJlY3Qgd2FzIGFs
d2F5cyBlbXB0eS4gQXMgYSByZXN1bHQsCisgICAgICAgIENDTGF5ZXJUcmVlSG9zdEltcGwgd2Fz
IHRoaW5raW5nIG5vIGNvbnRlbnQgd2FzIGNoYW5nZWQgYW5kIHdhcworICAgICAgICByZW1vdmlu
ZyBtb3JlIHRleHR1cmVzIHRoYW4gbmVlZGVkLiBGaXhlZCB0aGlzIGJ5IHR1cm5pbmcgb24KKyAg
ICAgICAgQ0NEYW1hZ2VUcmFja2VyIHVzYWdlIGV2ZW4gaWYgbm90IHVzaW5nIHBhcnRpYWwgc3dh
cCwgYnV0CisgICAgICAgIG92ZXJ3cml0aW5nIHRoZSByb290U2Npc3NvclJlY3Qgd2l0aCB2aWV3
cG9ydCByZWN0IGlmIHJlcXVpcmVkLgorCisgICAgICAgIEFkZGVkIHVuaXQgdGVzdHMgdG8gZXhl
cmNpc2UgdGhpcyBzY2VuYXJpby4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q0NMYXll
clRyZWVIb3N0SW1wbDo6Y2FsY3VsYXRlUmVuZGVyU3VyZmFjZUxheWVyTGlzdCk6CisKIDIwMTIt
MDYtMTkgIFN0ZXZlIFZhbkRlQm9nYXJ0ICA8dmFuZGVib0BjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgTWFrZSBET01GaWxlU3lzdGVtIHNlbGVjdGl2ZWx5IHN0cnVjdHVyZSBjbG9uYWJsZSBzbyBp
dCBjYW4gYmUgdGhlIGJvZHkgb2YgYSB3ZWIgaW50ZW50LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
ZwppbmRleCBiNmMzN2UxYzlhNjY5NzMzNzZlM2ZhNzljYzZiOWVhNTkxNDM0NjEyLi45ZDk5Mzcx
NjFhYjMxYjJjZmRlODU2MjRiZTM0NTk0MjRhNjBkZjc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEyLTA2LTIwICBaZWV2IExpZWJlciAgPHpsaWViZXJA
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIFtDaHJvbWl1bV0gaHRtbDUtZGVtb3MuYXBwc3BvdC5j
b20vc3RhdGljL3dlYmF1ZGlvL2NyZWF0ZU1lZGlhU291cmNlRWxlbWVudC5odG1sIGJyb2tlbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODk1ODkKKwor
ICAgICAgICBBZGRlZCB1bml0IHRlc3RzIHRvIGNoZWNrIHN1cmZhY2UgdGV4dHVyZSBjYWNoaW5n
IHdoZW4gcGFydGlhbAorICAgICAgICBzd2FwIGlzIG5vdCB1c2VkLgorCisgICAgICAgICogdGVz
dHMvQ0NMYXllclRyZWVIb3N0SW1wbFRlc3QuY3BwOgorCiAyMDEyLTA2LTE5ICBLZW5uZXRoIFJ1
c3NlbGwgIDxrYnJAZ29vZ2xlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91
dCByMTIwNzcyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0SW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmNwcAppbmRleCAy
MWE2NzJlOGZhNTc2NGE5ODNiMjM2MGVlNjQ4NjNjNTBiYzQxNGJkLi5mNzk5OTk1NjFhMDEyNDZj
NjA5Mzg5NmNiOTZjNjk5ZGViNThjNjcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhv
c3RJbXBsLmNwcApAQCAtMjU3LDExICsyNTcsMTEgQEAgdm9pZCBDQ0xheWVyVHJlZUhvc3RJbXBs
OjpjYWxjdWxhdGVSZW5kZXJTdXJmYWNlTGF5ZXJMaXN0KENDTGF5ZXJMaXN0JiByZW5kZXJTdXIK
ICAgICAgICAgZGV2aWNlU2NhbGVUcmFuc2Zvcm0uc2NhbGUobV9kZXZpY2VTY2FsZUZhY3Rvcik7
CiAgICAgICAgIENDTGF5ZXJUcmVlSG9zdENvbW1vbjo6Y2FsY3VsYXRlRHJhd1RyYW5zZm9ybXMo
bV9yb290TGF5ZXJJbXBsLmdldCgpLCBtX3Jvb3RMYXllckltcGwuZ2V0KCksIGRldmljZVNjYWxl
VHJhbnNmb3JtLCBpZGVudGl0eU1hdHJpeCwgcmVuZGVyU3VyZmFjZUxheWVyTGlzdCwgbV9yb290
TGF5ZXJJbXBsLT5yZW5kZXJTdXJmYWNlKCktPmxheWVyTGlzdCgpLCAmbV9sYXllclNvcnRlciwg
bGF5ZXJSZW5kZXJlckNhcGFiaWxpdGllcygpLm1heFRleHR1cmVTaXplKTsKIAotICAgICAgICBp
ZiAobGF5ZXJSZW5kZXJlckNhcGFiaWxpdGllcygpLnVzaW5nUGFydGlhbFN3YXAgfHwgc2V0dGlu
Z3MoKS5zaG93U3VyZmFjZURhbWFnZVJlY3RzKQotICAgICAgICAgICAgdHJhY2tEYW1hZ2VGb3JB
bGxTdXJmYWNlcyhtX3Jvb3RMYXllckltcGwuZ2V0KCksIHJlbmRlclN1cmZhY2VMYXllckxpc3Qp
OwotICAgICAgICBtX3Jvb3RTY2lzc29yUmVjdCA9IG1fcm9vdExheWVySW1wbC0+cmVuZGVyU3Vy
ZmFjZSgpLT5kYW1hZ2VUcmFja2VyKCktPmN1cnJlbnREYW1hZ2VSZWN0KCk7CisgICAgICAgIHRy
YWNrRGFtYWdlRm9yQWxsU3VyZmFjZXMobV9yb290TGF5ZXJJbXBsLmdldCgpLCByZW5kZXJTdXJm
YWNlTGF5ZXJMaXN0KTsKIAotICAgICAgICBpZiAoIWxheWVyUmVuZGVyZXJDYXBhYmlsaXRpZXMo
KS51c2luZ1BhcnRpYWxTd2FwKQorICAgICAgICBpZiAobGF5ZXJSZW5kZXJlckNhcGFiaWxpdGll
cygpLnVzaW5nUGFydGlhbFN3YXApCisgICAgICAgICAgICBtX3Jvb3RTY2lzc29yUmVjdCA9IG1f
cm9vdExheWVySW1wbC0+cmVuZGVyU3VyZmFjZSgpLT5kYW1hZ2VUcmFja2VyKCktPmN1cnJlbnRE
YW1hZ2VSZWN0KCk7CisgICAgICAgIGVsc2UKICAgICAgICAgICAgIG1fcm9vdFNjaXNzb3JSZWN0
ID0gRmxvYXRSZWN0KEZsb2F0UG9pbnQoMCwgMCksIGRldmljZVZpZXdwb3J0U2l6ZSgpKTsKIAog
ICAgICAgICBDQ0xheWVyVHJlZUhvc3RDb21tb246OmNhbGN1bGF0ZVZpc2libGVBbmRTY2lzc29y
UmVjdHMocmVuZGVyU3VyZmFjZUxheWVyTGlzdCwgbV9yb290U2Npc3NvclJlY3QpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVyVHJlZUhvc3RJbXBsVGVz
dC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJUcmVlSG9zdEltcGxU
ZXN0LmNwcAppbmRleCA3MzhjODgxOTA4OGQ5MTI4MjY1ZmMxMWFkNDhiNTQ3ZmViOTRlYjJlLi44
YTFjNzFkYzcwMjQ2MDQ3NzY1YTljYjBiMTY3OGU4YzNhNGM2M2JlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJUcmVlSG9zdEltcGxUZXN0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJUcmVlSG9zdEltcGxUZXN0LmNw
cApAQCAtMjQwOSwyMCArMjQwOSwxNSBAQCBURVNUX0YoQ0NMYXllclRyZWVIb3N0SW1wbFRlc3Qs
IGhhc1RyYW5zcGFyZW50QmFja2dyb3VuZCkKICAgICBNb2NrOjpWZXJpZnlBbmRDbGVhckV4cGVj
dGF0aW9ucygmbW9ja0NvbnRleHQpOwogfQogCi1URVNUX0YoQ0NMYXllclRyZWVIb3N0SW1wbFRl
c3QsIHN1cmZhY2VUZXh0dXJlQ2FjaGluZykKK3N0YXRpYyB2b2lkIHNldHVwTGF5ZXJzRm9yVGV4
dHVyZUNhY2hpbmcoQ0NMYXllclRyZWVIb3N0SW1wbCogbGF5ZXJUcmVlSG9zdEltcGwsIENDTGF5
ZXJJbXBsKiYgcm9vdFB0ciwgQ0NMYXllckltcGwqJiBpbnRlcm1lZGlhdGVMYXllclB0ciwgQ0NM
YXllckltcGwqJiBzdXJmYWNlTGF5ZXJQdHIsIENDTGF5ZXJJbXBsKiYgY2hpbGRQdHIpCiB7Ci0g
ICAgQ0NTZXR0aW5nczo6c2V0UGFydGlhbFN3YXBFbmFibGVkKHRydWUpOwotICAgIAotICAgIEND
TGF5ZXJUcmVlU2V0dGluZ3Mgc2V0dGluZ3M7Ci0gICAgT3duUHRyPENDTGF5ZXJUcmVlSG9zdElt
cGw+IG15SG9zdEltcGwgPSBDQ0xheWVyVHJlZUhvc3RJbXBsOjpjcmVhdGUoc2V0dGluZ3MsIHRo
aXMpOwotICAgIAogICAgIFJlZlB0cjxDQ0dyYXBoaWNzQ29udGV4dD4gY29udGV4dCA9IENDR3Jh
cGhpY3NDb250ZXh0OjpjcmVhdGUzRChHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6OmNyZWF0ZUdy
YXBoaWNzQ29udGV4dEZyb21XZWJDb250ZXh0KGFkb3B0UHRyKG5ldyBQYXJ0aWFsU3dhcENvbnRl
eHQoKSksIEdyYXBoaWNzQ29udGV4dDNEOjpSZW5kZXJEaXJlY3RseVRvSG9zdFdpbmRvdykpOwog
Ci0gICAgbXlIb3N0SW1wbC0+aW5pdGlhbGl6ZUxheWVyUmVuZGVyZXIoY29udGV4dC5yZWxlYXNl
KCksIFVudGhyb3R0bGVkVXBsb2FkZXIpOwotICAgIG15SG9zdEltcGwtPnNldFZpZXdwb3J0U2l6
ZShJbnRTaXplKDEwMCwgMTAwKSk7CisgICAgbGF5ZXJUcmVlSG9zdEltcGwtPmluaXRpYWxpemVM
YXllclJlbmRlcmVyKGNvbnRleHQucmVsZWFzZSgpLCBVbnRocm90dGxlZFVwbG9hZGVyKTsKKyAg
ICBsYXllclRyZWVIb3N0SW1wbC0+c2V0Vmlld3BvcnRTaXplKEludFNpemUoMTAwLCAxMDApKTsK
IAogICAgIE93blB0cjxDQ0xheWVySW1wbD4gcm9vdCA9IENDTGF5ZXJJbXBsOjpjcmVhdGUoMSk7
Ci0gICAgQ0NMYXllckltcGwqIHJvb3RQdHIgPSByb290LmdldCgpOworICAgIHJvb3RQdHIgPSBy
b290LmdldCgpOwogCiAgICAgcm9vdC0+c2V0QW5jaG9yUG9pbnQoRmxvYXRQb2ludCgwLCAwKSk7
CiAgICAgcm9vdC0+c2V0UG9zaXRpb24oRmxvYXRQb2ludCgwLCAwKSk7CkBAIC0yNDMwLDExICsy
NDI1LDExIEBAIFRFU1RfRihDQ0xheWVyVHJlZUhvc3RJbXBsVGVzdCwgc3VyZmFjZVRleHR1cmVD
YWNoaW5nKQogICAgIHJvb3QtPnNldENvbnRlbnRCb3VuZHMoSW50U2l6ZSgxMDAsIDEwMCkpOwog
ICAgIHJvb3QtPnNldFZpc2libGVMYXllclJlY3QoSW50UmVjdCgwLCAwLCAxMDAsIDEwMCkpOwog
ICAgIHJvb3QtPnNldERyYXdzQ29udGVudCh0cnVlKTsKLSAgICBteUhvc3RJbXBsLT5zZXRSb290
TGF5ZXIocm9vdC5yZWxlYXNlKCkpOworICAgIGxheWVyVHJlZUhvc3RJbXBsLT5zZXRSb290TGF5
ZXIocm9vdC5yZWxlYXNlKCkpOwogCiAgICAgLy8gSW50ZXJtZWRpYXRlIGxheWVyIGRvZXMgbm90
IG93biBhIHN1cmZhY2UsIGFuZCBkb2VzIG5vdCBkcmF3IGNvbnRlbnQuCiAgICAgT3duUHRyPEND
TGF5ZXJJbXBsPiBpbnRlcm1lZGlhdGVMYXllciA9IENDTGF5ZXJJbXBsOjpjcmVhdGUoMik7Ci0g
ICAgQ0NMYXllckltcGwqIGludGVybWVkaWF0ZUxheWVyUHRyID0gaW50ZXJtZWRpYXRlTGF5ZXIu
Z2V0KCk7CisgICAgaW50ZXJtZWRpYXRlTGF5ZXJQdHIgPSBpbnRlcm1lZGlhdGVMYXllci5nZXQo
KTsKIAogICAgIGludGVybWVkaWF0ZUxheWVyUHRyLT5zZXRBbmNob3JQb2ludChGbG9hdFBvaW50
KDAsIDApKTsKICAgICBpbnRlcm1lZGlhdGVMYXllclB0ci0+c2V0UG9zaXRpb24oRmxvYXRQb2lu
dCgxMCwgMTApKTsKQEAgLTI0NDUsNyArMjQ0MCw3IEBAIFRFU1RfRihDQ0xheWVyVHJlZUhvc3RJ
bXBsVGVzdCwgc3VyZmFjZVRleHR1cmVDYWNoaW5nKQogICAgIHJvb3RQdHItPmFkZENoaWxkKGlu
dGVybWVkaWF0ZUxheWVyLnJlbGVhc2UoKSk7CiAKICAgICBPd25QdHI8Q0NMYXllckltcGw+IHN1
cmZhY2VMYXllciA9IENDTGF5ZXJJbXBsOjpjcmVhdGUoMyk7Ci0gICAgQ0NMYXllckltcGwqIHN1
cmZhY2VMYXllclB0ciA9IHN1cmZhY2VMYXllci5nZXQoKTsKKyAgICBzdXJmYWNlTGF5ZXJQdHIg
PSBzdXJmYWNlTGF5ZXIuZ2V0KCk7CiAKICAgICAvLyBTdXJmYWNlIGxheWVyIGlzIHRoZSBsYXll
ciB0aGF0IGNoYW5nZXMgaXRzIG9wYWNpdHkKICAgICAvLyBJdCB3aWxsIGNvbnRhaW4gb3RoZXIg
bGF5ZXJzIHRoYXQgZHJhdyBjb250ZW50LgpAQCAtMjQ2MCw3ICsyNDU1LDcgQEAgVEVTVF9GKEND
TGF5ZXJUcmVlSG9zdEltcGxUZXN0LCBzdXJmYWNlVGV4dHVyZUNhY2hpbmcpCiAKICAgICAvLyBD
aGlsZCBvZiB0aGUgc3VyZmFjZSBsYXllciB3aWxsIHByb2R1Y2Ugc29tZSBxdWFkcwogICAgIE93
blB0cjxGYWtlTGF5ZXJXaXRoUXVhZHM+IGNoaWxkID0gRmFrZUxheWVyV2l0aFF1YWRzOjpjcmVh
dGUoNCk7Ci0gICAgRmFrZUxheWVyV2l0aFF1YWRzKiBjaGlsZFB0ciA9IGNoaWxkLmdldCgpOwor
ICAgIGNoaWxkUHRyID0gY2hpbGQuZ2V0KCk7CiAKICAgICBjaGlsZFB0ci0+c2V0QW5jaG9yUG9p
bnQoRmxvYXRQb2ludCgwLCAwKSk7CiAgICAgY2hpbGRQdHItPnNldFBvc2l0aW9uKEZsb2F0UG9p
bnQoNSwgNSkpOwpAQCAtMjQ3MCw2ICsyNDY1LDIxIEBAIFRFU1RfRihDQ0xheWVyVHJlZUhvc3RJ
bXBsVGVzdCwgc3VyZmFjZVRleHR1cmVDYWNoaW5nKQogICAgIGNoaWxkUHRyLT5zZXREcmF3c0Nv
bnRlbnQodHJ1ZSk7CiAKICAgICBzdXJmYWNlTGF5ZXJQdHItPmFkZENoaWxkKGNoaWxkLnJlbGVh
c2UoKSk7Cit9CisKK1RFU1RfRihDQ0xheWVyVHJlZUhvc3RJbXBsVGVzdCwgc3VyZmFjZVRleHR1
cmVDYWNoaW5nKQoreworICAgIENDU2V0dGluZ3M6OnNldFBhcnRpYWxTd2FwRW5hYmxlZCh0cnVl
KTsKKworICAgIENDTGF5ZXJUcmVlU2V0dGluZ3Mgc2V0dGluZ3M7CisgICAgT3duUHRyPENDTGF5
ZXJUcmVlSG9zdEltcGw+IG15SG9zdEltcGwgPSBDQ0xheWVyVHJlZUhvc3RJbXBsOjpjcmVhdGUo
c2V0dGluZ3MsIHRoaXMpOworCisgICAgQ0NMYXllckltcGwqIHJvb3RQdHI7CisgICAgQ0NMYXll
ckltcGwqIGludGVybWVkaWF0ZUxheWVyUHRyOworICAgIENDTGF5ZXJJbXBsKiBzdXJmYWNlTGF5
ZXJQdHI7CisgICAgQ0NMYXllckltcGwqIGNoaWxkUHRyOworCisgICAgc2V0dXBMYXllcnNGb3JU
ZXh0dXJlQ2FjaGluZyhteUhvc3RJbXBsLmdldCgpLCByb290UHRyLCBpbnRlcm1lZGlhdGVMYXll
clB0ciwgc3VyZmFjZUxheWVyUHRyLCBjaGlsZFB0cik7CiAKICAgICB7CiAgICAgICAgIENDTGF5
ZXJUcmVlSG9zdEltcGw6OkZyYW1lRGF0YSBmcmFtZTsKQEAgLTI2MTQsNiArMjYyNCwxNjUgQEAg
VEVTVF9GKENDTGF5ZXJUcmVlSG9zdEltcGxUZXN0LCBzdXJmYWNlVGV4dHVyZUNhY2hpbmcpCiAg
ICAgfQogfQogCitURVNUX0YoQ0NMYXllclRyZWVIb3N0SW1wbFRlc3QsIHN1cmZhY2VUZXh0dXJl
Q2FjaGluZ05vUGFydGlhbFN3YXApCit7CisgICAgQ0NTZXR0aW5nczo6c2V0UGFydGlhbFN3YXBF
bmFibGVkKGZhbHNlKTsKKworICAgIENDTGF5ZXJUcmVlU2V0dGluZ3Mgc2V0dGluZ3M7CisgICAg
T3duUHRyPENDTGF5ZXJUcmVlSG9zdEltcGw+IG15SG9zdEltcGwgPSBDQ0xheWVyVHJlZUhvc3RJ
bXBsOjpjcmVhdGUoc2V0dGluZ3MsIHRoaXMpOworCisgICAgQ0NMYXllckltcGwqIHJvb3RQdHI7
CisgICAgQ0NMYXllckltcGwqIGludGVybWVkaWF0ZUxheWVyUHRyOworICAgIENDTGF5ZXJJbXBs
KiBzdXJmYWNlTGF5ZXJQdHI7CisgICAgQ0NMYXllckltcGwqIGNoaWxkUHRyOworCisgICAgc2V0
dXBMYXllcnNGb3JUZXh0dXJlQ2FjaGluZyhteUhvc3RJbXBsLmdldCgpLCByb290UHRyLCBpbnRl
cm1lZGlhdGVMYXllclB0ciwgc3VyZmFjZUxheWVyUHRyLCBjaGlsZFB0cik7CisKKyAgICB7Cisg
ICAgICAgIENDTGF5ZXJUcmVlSG9zdEltcGw6OkZyYW1lRGF0YSBmcmFtZTsKKyAgICAgICAgRVhQ
RUNUX1RSVUUobXlIb3N0SW1wbC0+cHJlcGFyZVRvRHJhdyhmcmFtZSkpOworCisgICAgICAgIC8v
IE11c3QgcmVjZWl2ZSB0d28gcmVuZGVyIHBhc3NlcywgZWFjaCB3aXRoIG9uZSBxdWFkCisgICAg
ICAgIEFTU0VSVF9FUSgyVSwgZnJhbWUucmVuZGVyUGFzc2VzLnNpemUoKSk7CisgICAgICAgIEVY
UEVDVF9FUSgxVSwgZnJhbWUucmVuZGVyUGFzc2VzWzBdLT5xdWFkTGlzdCgpLnNpemUoKSk7Cisg
ICAgICAgIEVYUEVDVF9FUSgxVSwgZnJhbWUucmVuZGVyUGFzc2VzWzFdLT5xdWFkTGlzdCgpLnNp
emUoKSk7CisKKyAgICAgICAgRVhQRUNUX0VRKENDRHJhd1F1YWQ6OlJlbmRlclBhc3MsIGZyYW1l
LnJlbmRlclBhc3Nlc1sxXS0+cXVhZExpc3QoKVswXS0+bWF0ZXJpYWwoKSk7CisgICAgICAgIEND
UmVuZGVyUGFzc0RyYXdRdWFkKiBxdWFkID0gc3RhdGljX2Nhc3Q8Q0NSZW5kZXJQYXNzRHJhd1F1
YWQqPihmcmFtZS5yZW5kZXJQYXNzZXNbMV0tPnF1YWRMaXN0KClbMF0uZ2V0KCkpOworICAgICAg
ICBFWFBFQ1RfVFJVRShxdWFkLT5yZW5kZXJQYXNzKCktPnRhcmdldFN1cmZhY2UoKS0+Y29udGVu
dHNDaGFuZ2VkKCkpOworCisgICAgICAgIG15SG9zdEltcGwtPmRyYXdMYXllcnMoZnJhbWUpOwor
ICAgICAgICBteUhvc3RJbXBsLT5kaWREcmF3QWxsTGF5ZXJzKGZyYW1lKTsKKyAgICB9CisKKyAg
ICAvLyBEcmF3IHdpdGhvdXQgYW55IGNoYW5nZQorICAgIHsKKyAgICAgICAgQ0NMYXllclRyZWVI
b3N0SW1wbDo6RnJhbWVEYXRhIGZyYW1lOworICAgICAgICBFWFBFQ1RfVFJVRShteUhvc3RJbXBs
LT5wcmVwYXJlVG9EcmF3KGZyYW1lKSk7CisKKyAgICAgICAgLy8gRXZlbiB0aG91Z2ggdGhlcmUg
d2FzIG5vIGNoYW5nZSwgd2Ugc2V0IHRoZSBkYW1hZ2UgdG8gZW50aXJlIHZpZXdwb3J0LgorICAg
ICAgICAvLyBPbmUgb2YgdGhlIHBhc3NlcyBzaG91bGQgYmUgY3VsbGVkIGFzIGEgcmVzdWx0LCBz
aW5jZSBjb250ZW50cyBkaWRuJ3QgY2hhbmdlCisgICAgICAgIC8vIGFuZCB3ZSBoYXZlIGNhY2hl
ZCB0ZXh0dXJlLgorICAgICAgICBBU1NFUlRfRVEoMVUsIGZyYW1lLnJlbmRlclBhc3Nlcy5zaXpl
KCkpOworICAgICAgICBFWFBFQ1RfRVEoMVUsIGZyYW1lLnJlbmRlclBhc3Nlc1swXS0+cXVhZExp
c3QoKS5zaXplKCkpOworCisgICAgICAgIG15SG9zdEltcGwtPmRyYXdMYXllcnMoZnJhbWUpOwor
ICAgICAgICBteUhvc3RJbXBsLT5kaWREcmF3QWxsTGF5ZXJzKGZyYW1lKTsKKyAgICB9CisKKyAg
ICAvLyBDaGFuZ2Ugb3BhY2l0eSBhbmQgZHJhdworICAgIHN1cmZhY2VMYXllclB0ci0+c2V0T3Bh
Y2l0eSgwLjZmKTsKKyAgICB7CisgICAgICAgIENDTGF5ZXJUcmVlSG9zdEltcGw6OkZyYW1lRGF0
YSBmcmFtZTsKKyAgICAgICAgRVhQRUNUX1RSVUUobXlIb3N0SW1wbC0+cHJlcGFyZVRvRHJhdyhm
cmFtZSkpOworCisgICAgICAgIC8vIE11c3QgcmVjZWl2ZSBvbmUgcmVuZGVyIHBhc3MsIGFzIHRo
ZSBvdGhlciBvbmUgc2hvdWxkIGJlIGN1bGxlZAorICAgICAgICBBU1NFUlRfRVEoMVUsIGZyYW1l
LnJlbmRlclBhc3Nlcy5zaXplKCkpOworCisgICAgICAgIEVYUEVDVF9FUSgxVSwgZnJhbWUucmVu
ZGVyUGFzc2VzWzBdLT5xdWFkTGlzdCgpLnNpemUoKSk7CisgICAgICAgIEVYUEVDVF9FUShDQ0Ry
YXdRdWFkOjpSZW5kZXJQYXNzLCBmcmFtZS5yZW5kZXJQYXNzZXNbMF0tPnF1YWRMaXN0KClbMF0t
Pm1hdGVyaWFsKCkpOworICAgICAgICBDQ1JlbmRlclBhc3NEcmF3UXVhZCogcXVhZCA9IHN0YXRp
Y19jYXN0PENDUmVuZGVyUGFzc0RyYXdRdWFkKj4oZnJhbWUucmVuZGVyUGFzc2VzWzBdLT5xdWFk
TGlzdCgpWzBdLmdldCgpKTsKKyAgICAgICAgRVhQRUNUX0ZBTFNFKHF1YWQtPnJlbmRlclBhc3Mo
KS0+dGFyZ2V0U3VyZmFjZSgpLT5jb250ZW50c0NoYW5nZWQoKSk7CisKKyAgICAgICAgbXlIb3N0
SW1wbC0+ZHJhd0xheWVycyhmcmFtZSk7CisgICAgICAgIG15SG9zdEltcGwtPmRpZERyYXdBbGxM
YXllcnMoZnJhbWUpOworICAgIH0KKworICAgIC8vIENoYW5nZSBsZXNzIGJlbmlnbiBwcm9wZXJ0
eSBhbmQgZHJhdyAtIHNob3VsZCBoYXZlIGNvbnRlbnRzIGNoYW5nZWQgZmxhZworICAgIHN1cmZh
Y2VMYXllclB0ci0+c2V0U3RhY2tpbmdPcmRlckNoYW5nZWQodHJ1ZSk7CisgICAgeworICAgICAg
ICBDQ0xheWVyVHJlZUhvc3RJbXBsOjpGcmFtZURhdGEgZnJhbWU7CisgICAgICAgIEVYUEVDVF9U
UlVFKG15SG9zdEltcGwtPnByZXBhcmVUb0RyYXcoZnJhbWUpKTsKKworICAgICAgICAvLyBNdXN0
IHJlY2VpdmUgdHdvIHJlbmRlciBwYXNzZXMsIGVhY2ggd2l0aCBvbmUgcXVhZAorICAgICAgICBB
U1NFUlRfRVEoMlUsIGZyYW1lLnJlbmRlclBhc3Nlcy5zaXplKCkpOworCisgICAgICAgIEVYUEVD
VF9FUSgxVSwgZnJhbWUucmVuZGVyUGFzc2VzWzBdLT5xdWFkTGlzdCgpLnNpemUoKSk7CisgICAg
ICAgIEVYUEVDVF9FUShDQ0RyYXdRdWFkOjpTb2xpZENvbG9yLCBmcmFtZS5yZW5kZXJQYXNzZXNb
MF0tPnF1YWRMaXN0KClbMF0tPm1hdGVyaWFsKCkpOworCisgICAgICAgIEVYUEVDVF9FUShDQ0Ry
YXdRdWFkOjpSZW5kZXJQYXNzLCBmcmFtZS5yZW5kZXJQYXNzZXNbMV0tPnF1YWRMaXN0KClbMF0t
Pm1hdGVyaWFsKCkpOworICAgICAgICBDQ1JlbmRlclBhc3NEcmF3UXVhZCogcXVhZCA9IHN0YXRp
Y19jYXN0PENDUmVuZGVyUGFzc0RyYXdRdWFkKj4oZnJhbWUucmVuZGVyUGFzc2VzWzFdLT5xdWFk
TGlzdCgpWzBdLmdldCgpKTsKKyAgICAgICAgRVhQRUNUX1RSVUUocXVhZC0+cmVuZGVyUGFzcygp
LT50YXJnZXRTdXJmYWNlKCktPmNvbnRlbnRzQ2hhbmdlZCgpKTsKKworICAgICAgICBteUhvc3RJ
bXBsLT5kcmF3TGF5ZXJzKGZyYW1lKTsKKyAgICAgICAgbXlIb3N0SW1wbC0+ZGlkRHJhd0FsbExh
eWVycyhmcmFtZSk7CisgICAgfQorCisgICAgLy8gQ2hhbmdlIG9wYWNpdHkgYWdhaW4sIGJ1dCBl
dmljdCB0aGUgY2FjaGVkIHN1cmZhY2UgdGV4dHVyZQorICAgIHN1cmZhY2VMYXllclB0ci0+c2V0
T3BhY2l0eSgwLjVmKTsKKyAgICBNYW5hZ2VkVGV4dHVyZSogY29udGVudHNUZXh0dXJlID0gc3Vy
ZmFjZUxheWVyUHRyLT5yZW5kZXJTdXJmYWNlKCktPmNvbnRlbnRzVGV4dHVyZSgpOworICAgIEFT
U0VSVF9UUlVFKGNvbnRlbnRzVGV4dHVyZS0+aXNWYWxpZChjb250ZW50c1RleHR1cmUtPnNpemUo
KSwgY29udGVudHNUZXh0dXJlLT5mb3JtYXQoKSkpOworICAgIENDUmVuZGVyZXIqIHJlbmRlcmVy
ID0gbXlIb3N0SW1wbC0+bGF5ZXJSZW5kZXJlcigpOworICAgIFRleHR1cmVNYW5hZ2VyKiB0ZXh0
dXJlTWFuYWdlciA9IHJlbmRlcmVyLT5pbXBsVGV4dHVyZU1hbmFnZXIoKTsKKyAgICBzaXplX3Qg
bWF4TWVtb3J5TGltaXQgPSB0ZXh0dXJlTWFuYWdlci0+bWF4TWVtb3J5TGltaXRCeXRlcygpOwor
CisgICAgLy8gVGhpcyBzaG91bGQgZXZpY2UgYWxsIGNhY2hlZCBzdXJmYWNlcworICAgIHRleHR1
cmVNYW5hZ2VyLT5zZXRNYXhNZW1vcnlMaW1pdEJ5dGVzKDApOworCisgICAgLy8gUmVzdG9yZSBv
cmlnaW5hbCBsaW1pdAorICAgIHRleHR1cmVNYW5hZ2VyLT5zZXRNYXhNZW1vcnlMaW1pdEJ5dGVz
KG1heE1lbW9yeUxpbWl0KTsKKworICAgIC8vIFdhcyBvdXIgc3VyZmFjZSBldmljdGVkPworICAg
IEFTU0VSVF9GQUxTRShjb250ZW50c1RleHR1cmUtPmlzVmFsaWQoY29udGVudHNUZXh0dXJlLT5z
aXplKCksIGNvbnRlbnRzVGV4dHVyZS0+Zm9ybWF0KCkpKTsKKworICAgIC8vIENoYW5nZSBvcGFj
aXR5IGFuZCBkcmF3CisgICAgc3VyZmFjZUxheWVyUHRyLT5zZXRPcGFjaXR5KDAuNmYpOworICAg
IHsKKyAgICAgICAgQ0NMYXllclRyZWVIb3N0SW1wbDo6RnJhbWVEYXRhIGZyYW1lOworICAgICAg
ICBFWFBFQ1RfVFJVRShteUhvc3RJbXBsLT5wcmVwYXJlVG9EcmF3KGZyYW1lKSk7CisKKyAgICAg
ICAgLy8gTXVzdCByZWNlaXZlIHR3byByZW5kZXIgcGFzc2VzCisgICAgICAgIEFTU0VSVF9FUSgy
VSwgZnJhbWUucmVuZGVyUGFzc2VzLnNpemUoKSk7CisKKyAgICAgICAgLy8gRXZlbiB0aG91Z2gg
bm90IGVub3VnaCBwcm9wZXJ0aWVzIGNoYW5nZWQsIHRoZSBlbnRpcmUgdGhpbmcgbXVzdCBiZQor
ICAgICAgICAvLyByZWRyYXduIGFzIHdlIGRvbid0IGhhdmUgY2FjaGVkIHRleHR1cmVzCisgICAg
ICAgIEVYUEVDVF9FUSgxVSwgZnJhbWUucmVuZGVyUGFzc2VzWzBdLT5xdWFkTGlzdCgpLnNpemUo
KSk7CisgICAgICAgIEVYUEVDVF9FUSgxVSwgZnJhbWUucmVuZGVyUGFzc2VzWzFdLT5xdWFkTGlz
dCgpLnNpemUoKSk7CisKKyAgICAgICAgRVhQRUNUX0VRKENDRHJhd1F1YWQ6OlJlbmRlclBhc3Ms
IGZyYW1lLnJlbmRlclBhc3Nlc1sxXS0+cXVhZExpc3QoKVswXS0+bWF0ZXJpYWwoKSk7CisgICAg
ICAgIENDUmVuZGVyUGFzc0RyYXdRdWFkKiBxdWFkID0gc3RhdGljX2Nhc3Q8Q0NSZW5kZXJQYXNz
RHJhd1F1YWQqPihmcmFtZS5yZW5kZXJQYXNzZXNbMV0tPnF1YWRMaXN0KClbMF0uZ2V0KCkpOwor
ICAgICAgICBFWFBFQ1RfRkFMU0UocXVhZC0+cmVuZGVyUGFzcygpLT50YXJnZXRTdXJmYWNlKCkt
PmNvbnRlbnRzQ2hhbmdlZCgpKTsKKworICAgICAgICBteUhvc3RJbXBsLT5kcmF3TGF5ZXJzKGZy
YW1lKTsKKyAgICAgICAgbXlIb3N0SW1wbC0+ZGlkRHJhd0FsbExheWVycyhmcmFtZSk7CisgICAg
fQorCisgICAgLy8gRHJhdyB3aXRob3V0IGFueSBjaGFuZ2UsIHRvIG1ha2Ugc3VyZSB0aGUgc3Rh
dGUgaXMgY2xlYXIKKyAgICB7CisgICAgICAgIENDTGF5ZXJUcmVlSG9zdEltcGw6OkZyYW1lRGF0
YSBmcmFtZTsKKyAgICAgICAgRVhQRUNUX1RSVUUobXlIb3N0SW1wbC0+cHJlcGFyZVRvRHJhdyhm
cmFtZSkpOworCisgICAgICAgIC8vIEV2ZW4gdGhvdWdoIHRoZXJlIHdhcyBubyBjaGFuZ2UsIHdl
IHNldCB0aGUgZGFtYWdlIHRvIGVudGlyZSB2aWV3cG9ydC4KKyAgICAgICAgLy8gT25lIG9mIHRo
ZSBwYXNzZXMgc2hvdWxkIGJlIGN1bGxlZCBhcyBhIHJlc3VsdCwgc2luY2UgY29udGVudHMgZGlk
bid0IGNoYW5nZQorICAgICAgICAvLyBhbmQgd2UgaGF2ZSBjYWNoZWQgdGV4dHVyZS4KKyAgICAg
ICAgQVNTRVJUX0VRKDFVLCBmcmFtZS5yZW5kZXJQYXNzZXMuc2l6ZSgpKTsKKyAgICAgICAgRVhQ
RUNUX0VRKDFVLCBmcmFtZS5yZW5kZXJQYXNzZXNbMF0tPnF1YWRMaXN0KCkuc2l6ZSgpKTsKKwor
ICAgICAgICBteUhvc3RJbXBsLT5kcmF3TGF5ZXJzKGZyYW1lKTsKKyAgICAgICAgbXlIb3N0SW1w
bC0+ZGlkRHJhd0FsbExheWVycyhmcmFtZSk7CisgICAgfQorCisgICAgLy8gQ2hhbmdlIG9wYWNp
dHkgb24gdGhlIGludGVybWVkaWF0ZSBsYXllcgorICAgIFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4
IHRyYW5zZm9ybSA9IGludGVybWVkaWF0ZUxheWVyUHRyLT50cmFuc2Zvcm0oKTsKKyAgICB0cmFu
c2Zvcm0uc2V0TTExKDEuMDAwMSk7CisgICAgaW50ZXJtZWRpYXRlTGF5ZXJQdHItPnNldFRyYW5z
Zm9ybSh0cmFuc2Zvcm0pOworICAgIHsKKyAgICAgICAgQ0NMYXllclRyZWVIb3N0SW1wbDo6RnJh
bWVEYXRhIGZyYW1lOworICAgICAgICBFWFBFQ1RfVFJVRShteUhvc3RJbXBsLT5wcmVwYXJlVG9E
cmF3KGZyYW1lKSk7CisKKyAgICAgICAgLy8gTXVzdCByZWNlaXZlIG9uZSByZW5kZXIgcGFzcywg
YXMgdGhlIG90aGVyIG9uZSBzaG91bGQgYmUgY3VsbGVkLgorICAgICAgICBBU1NFUlRfRVEoMVUs
IGZyYW1lLnJlbmRlclBhc3Nlcy5zaXplKCkpOworICAgICAgICBFWFBFQ1RfRVEoMVUsIGZyYW1l
LnJlbmRlclBhc3Nlc1swXS0+cXVhZExpc3QoKS5zaXplKCkpOworCisgICAgICAgIEVYUEVDVF9F
UShDQ0RyYXdRdWFkOjpSZW5kZXJQYXNzLCBmcmFtZS5yZW5kZXJQYXNzZXNbMF0tPnF1YWRMaXN0
KClbMF0tPm1hdGVyaWFsKCkpOworICAgICAgICBDQ1JlbmRlclBhc3NEcmF3UXVhZCogcXVhZCA9
IHN0YXRpY19jYXN0PENDUmVuZGVyUGFzc0RyYXdRdWFkKj4oZnJhbWUucmVuZGVyUGFzc2VzWzBd
LT5xdWFkTGlzdCgpWzBdLmdldCgpKTsKKyAgICAgICAgRVhQRUNUX0ZBTFNFKHF1YWQtPnJlbmRl
clBhc3MoKS0+dGFyZ2V0U3VyZmFjZSgpLT5jb250ZW50c0NoYW5nZWQoKSk7CisKKyAgICAgICAg
bXlIb3N0SW1wbC0+ZHJhd0xheWVycyhmcmFtZSk7CisgICAgICAgIG15SG9zdEltcGwtPmRpZERy
YXdBbGxMYXllcnMoZnJhbWUpOworICAgIH0KK30KKwogc3RydWN0IFJlbmRlclBhc3NDYWNoZUVu
dHJ5IHsKICAgICBtdXRhYmxlIE93blB0cjxDQ1JlbmRlclBhc3M+IHJlbmRlclBhc3NQdHI7CiAg
ICAgQ0NSZW5kZXJQYXNzKiByZW5kZXJQYXNzOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>148643</attachid>
            <date>2012-06-20 13:26:09 -0700</date>
            <delta_ts>2012-06-20 15:04:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-89589-20120620162608.patch</filename>
            <type>text/plain</type>
            <size>14478</size>
            <attacher>zlieber</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwNzc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGNiZDI3MGQzOWVkYmU0
NmUzNGExZWJiODAxZGVmMjhmMDMyZjZhMC4uYmVmY2ZkMDA0YTI0OGI1NzU1NDRkMTdkMjRhZmE4
MjgwNmEyN2MxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA2LTIwICBaZWV2
IExpZWJlciAgPHpsaWViZXJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtDaHJvbWl1bV0gRGFt
YWdlIHRyYWNrZXIgaXMgbm90IHVzZWQgd2l0aG91dCBwYXJ0aWFsIHN3YXAsIGNhdXNpbmcgdmFs
aWQgcmVuZGVyIHBhc3NlcyB0byBiZSByZW1vdmVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTU4OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gbm90IHVzaW5nIHBhcnRpYWwgc3dhcCwgdGhlIEND
RGFtYWdlVHJhY2tlciB3YXMgbm90IHVzZWQsIGFuZAorICAgICAgICBpdHMgbV9jdXJyZW50RGFt
YWdlUmVjdCB3YXMgYWx3YXlzIGVtcHR5LiBBcyBhIHJlc3VsdCwKKyAgICAgICAgQ0NMYXllclRy
ZWVIb3N0SW1wbCB3YXMgdGhpbmtpbmcgbm8gY29udGVudCB3YXMgY2hhbmdlZCBhbmQgd2FzCisg
ICAgICAgIHJlbW92aW5nIG1vcmUgdGV4dHVyZXMgdGhhbiBuZWVkZWQuIEZpeGVkIHRoaXMgYnkg
dHVybmluZyBvbgorICAgICAgICBDQ0RhbWFnZVRyYWNrZXIgdXNhZ2UgZXZlbiBpZiBub3QgdXNp
bmcgcGFydGlhbCBzd2FwLCBidXQKKyAgICAgICAgb3ZlcndyaXRpbmcgdGhlIHJvb3RTY2lzc29y
UmVjdCB3aXRoIHZpZXdwb3J0IHJlY3QgaWYgcmVxdWlyZWQuCisKKyAgICAgICAgQWRkZWQgdW5p
dCB0ZXN0cyB0byBleGVyY2lzZSB0aGlzIHNjZW5hcmlvLgorCisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0SW1wbC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDQ0xheWVyVHJlZUhvc3RJbXBsOjpjYWxjdWxhdGVSZW5kZXJTdXJmYWNlTGF5ZXJM
aXN0KToKKwogMjAxMi0wNi0xOSAgU3RldmUgVmFuRGVCb2dhcnQgIDx2YW5kZWJvQGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBNYWtlIERPTUZpbGVTeXN0ZW0gc2VsZWN0aXZlbHkgc3RydWN0dXJl
IGNsb25hYmxlIHNvIGl0IGNhbiBiZSB0aGUgYm9keSBvZiBhIHdlYiBpbnRlbnQuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCmluZGV4IGI2YzM3ZTFjOWE2Njk3MzM3NmUzZmE3OWNjNmI5ZWE1OTE0
MzQ2MTIuLjgxODk5NjI3Yzc3Nzk1NTliZDUxYzQ0NzRkYjUxZjUxMTE1ZDVlZGEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDYtMjAgIFplZXYgTGll
YmVyICA8emxpZWJlckBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW0Nocm9taXVtXSBEYW1hZ2Ug
dHJhY2tlciBpcyBub3QgdXNlZCB3aXRob3V0IHBhcnRpYWwgc3dhcCwgY2F1c2luZyB2YWxpZCBy
ZW5kZXIgcGFzc2VzIHRvIGJlIHJlbW92ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTg5NTg5CisKKyAgICAgICAgQWRkZWQgdW5pdCB0ZXN0cyB0byBj
aGVjayBzdXJmYWNlIHRleHR1cmUgY2FjaGluZyB3aGVuIHBhcnRpYWwKKyAgICAgICAgc3dhcCBp
cyBub3QgdXNlZC4KKworICAgICAgICAqIHRlc3RzL0NDTGF5ZXJUcmVlSG9zdEltcGxUZXN0LmNw
cDoKKwogMjAxMi0wNi0xOSAgS2VubmV0aCBSdXNzZWxsICA8a2JyQGdvb2dsZS5jb20+CiAKICAg
ICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEyMDc3Mi4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdElt
cGwuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NM
YXllclRyZWVIb3N0SW1wbC5jcHAKaW5kZXggMjFhNjcyZThmYTU3NjRhOTgzYjIzNjBlZTY0ODYz
YzUwYmM0MTRiZC4uZjc5OTk5NTYxYTAxMjQ2YzYwOTM4OTZjYjk2YzY5OWRlYjU4YzY3MSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NM
YXllclRyZWVIb3N0SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0SW1wbC5jcHAKQEAgLTI1NywxMSArMjU3LDEx
IEBAIHZvaWQgQ0NMYXllclRyZWVIb3N0SW1wbDo6Y2FsY3VsYXRlUmVuZGVyU3VyZmFjZUxheWVy
TGlzdChDQ0xheWVyTGlzdCYgcmVuZGVyU3VyCiAgICAgICAgIGRldmljZVNjYWxlVHJhbnNmb3Jt
LnNjYWxlKG1fZGV2aWNlU2NhbGVGYWN0b3IpOwogICAgICAgICBDQ0xheWVyVHJlZUhvc3RDb21t
b246OmNhbGN1bGF0ZURyYXdUcmFuc2Zvcm1zKG1fcm9vdExheWVySW1wbC5nZXQoKSwgbV9yb290
TGF5ZXJJbXBsLmdldCgpLCBkZXZpY2VTY2FsZVRyYW5zZm9ybSwgaWRlbnRpdHlNYXRyaXgsIHJl
bmRlclN1cmZhY2VMYXllckxpc3QsIG1fcm9vdExheWVySW1wbC0+cmVuZGVyU3VyZmFjZSgpLT5s
YXllckxpc3QoKSwgJm1fbGF5ZXJTb3J0ZXIsIGxheWVyUmVuZGVyZXJDYXBhYmlsaXRpZXMoKS5t
YXhUZXh0dXJlU2l6ZSk7CiAKLSAgICAgICAgaWYgKGxheWVyUmVuZGVyZXJDYXBhYmlsaXRpZXMo
KS51c2luZ1BhcnRpYWxTd2FwIHx8IHNldHRpbmdzKCkuc2hvd1N1cmZhY2VEYW1hZ2VSZWN0cykK
LSAgICAgICAgICAgIHRyYWNrRGFtYWdlRm9yQWxsU3VyZmFjZXMobV9yb290TGF5ZXJJbXBsLmdl
dCgpLCByZW5kZXJTdXJmYWNlTGF5ZXJMaXN0KTsKLSAgICAgICAgbV9yb290U2Npc3NvclJlY3Qg
PSBtX3Jvb3RMYXllckltcGwtPnJlbmRlclN1cmZhY2UoKS0+ZGFtYWdlVHJhY2tlcigpLT5jdXJy
ZW50RGFtYWdlUmVjdCgpOworICAgICAgICB0cmFja0RhbWFnZUZvckFsbFN1cmZhY2VzKG1fcm9v
dExheWVySW1wbC5nZXQoKSwgcmVuZGVyU3VyZmFjZUxheWVyTGlzdCk7CiAKLSAgICAgICAgaWYg
KCFsYXllclJlbmRlcmVyQ2FwYWJpbGl0aWVzKCkudXNpbmdQYXJ0aWFsU3dhcCkKKyAgICAgICAg
aWYgKGxheWVyUmVuZGVyZXJDYXBhYmlsaXRpZXMoKS51c2luZ1BhcnRpYWxTd2FwKQorICAgICAg
ICAgICAgbV9yb290U2Npc3NvclJlY3QgPSBtX3Jvb3RMYXllckltcGwtPnJlbmRlclN1cmZhY2Uo
KS0+ZGFtYWdlVHJhY2tlcigpLT5jdXJyZW50RGFtYWdlUmVjdCgpOworICAgICAgICBlbHNlCiAg
ICAgICAgICAgICBtX3Jvb3RTY2lzc29yUmVjdCA9IEZsb2F0UmVjdChGbG9hdFBvaW50KDAsIDAp
LCBkZXZpY2VWaWV3cG9ydFNpemUoKSk7CiAKICAgICAgICAgQ0NMYXllclRyZWVIb3N0Q29tbW9u
OjpjYWxjdWxhdGVWaXNpYmxlQW5kU2Npc3NvclJlY3RzKHJlbmRlclN1cmZhY2VMYXllckxpc3Qs
IG1fcm9vdFNjaXNzb3JSZWN0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
dGVzdHMvQ0NMYXllclRyZWVIb3N0SW1wbFRlc3QuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS90ZXN0cy9DQ0xheWVyVHJlZUhvc3RJbXBsVGVzdC5jcHAKaW5kZXggNzM4Yzg4MTkwODhkOTEy
ODI2NWZjMTFhZDQ4YjU0N2ZlYjk0ZWIyZS4uOGExYzcxZGM3MDI0NjA0Nzc2NWE5Y2IwYjE2Nzhl
OGMzYTRjNjNiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xh
eWVyVHJlZUhvc3RJbXBsVGVzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0
cy9DQ0xheWVyVHJlZUhvc3RJbXBsVGVzdC5jcHAKQEAgLTI0MDksMjAgKzI0MDksMTUgQEAgVEVT
VF9GKENDTGF5ZXJUcmVlSG9zdEltcGxUZXN0LCBoYXNUcmFuc3BhcmVudEJhY2tncm91bmQpCiAg
ICAgTW9jazo6VmVyaWZ5QW5kQ2xlYXJFeHBlY3RhdGlvbnMoJm1vY2tDb250ZXh0KTsKIH0KIAot
VEVTVF9GKENDTGF5ZXJUcmVlSG9zdEltcGxUZXN0LCBzdXJmYWNlVGV4dHVyZUNhY2hpbmcpCitz
dGF0aWMgdm9pZCBzZXR1cExheWVyc0ZvclRleHR1cmVDYWNoaW5nKENDTGF5ZXJUcmVlSG9zdElt
cGwqIGxheWVyVHJlZUhvc3RJbXBsLCBDQ0xheWVySW1wbComIHJvb3RQdHIsIENDTGF5ZXJJbXBs
KiYgaW50ZXJtZWRpYXRlTGF5ZXJQdHIsIENDTGF5ZXJJbXBsKiYgc3VyZmFjZUxheWVyUHRyLCBD
Q0xheWVySW1wbComIGNoaWxkUHRyKQogewotICAgIENDU2V0dGluZ3M6OnNldFBhcnRpYWxTd2Fw
RW5hYmxlZCh0cnVlKTsKLSAgICAKLSAgICBDQ0xheWVyVHJlZVNldHRpbmdzIHNldHRpbmdzOwot
ICAgIE93blB0cjxDQ0xheWVyVHJlZUhvc3RJbXBsPiBteUhvc3RJbXBsID0gQ0NMYXllclRyZWVI
b3N0SW1wbDo6Y3JlYXRlKHNldHRpbmdzLCB0aGlzKTsKLSAgICAKICAgICBSZWZQdHI8Q0NHcmFw
aGljc0NvbnRleHQ+IGNvbnRleHQgPSBDQ0dyYXBoaWNzQ29udGV4dDo6Y3JlYXRlM0QoR3JhcGhp
Y3NDb250ZXh0M0RQcml2YXRlOjpjcmVhdGVHcmFwaGljc0NvbnRleHRGcm9tV2ViQ29udGV4dChh
ZG9wdFB0cihuZXcgUGFydGlhbFN3YXBDb250ZXh0KCkpLCBHcmFwaGljc0NvbnRleHQzRDo6UmVu
ZGVyRGlyZWN0bHlUb0hvc3RXaW5kb3cpKTsKIAotICAgIG15SG9zdEltcGwtPmluaXRpYWxpemVM
YXllclJlbmRlcmVyKGNvbnRleHQucmVsZWFzZSgpLCBVbnRocm90dGxlZFVwbG9hZGVyKTsKLSAg
ICBteUhvc3RJbXBsLT5zZXRWaWV3cG9ydFNpemUoSW50U2l6ZSgxMDAsIDEwMCkpOworICAgIGxh
eWVyVHJlZUhvc3RJbXBsLT5pbml0aWFsaXplTGF5ZXJSZW5kZXJlcihjb250ZXh0LnJlbGVhc2Uo
KSwgVW50aHJvdHRsZWRVcGxvYWRlcik7CisgICAgbGF5ZXJUcmVlSG9zdEltcGwtPnNldFZpZXdw
b3J0U2l6ZShJbnRTaXplKDEwMCwgMTAwKSk7CiAKICAgICBPd25QdHI8Q0NMYXllckltcGw+IHJv
b3QgPSBDQ0xheWVySW1wbDo6Y3JlYXRlKDEpOwotICAgIENDTGF5ZXJJbXBsKiByb290UHRyID0g
cm9vdC5nZXQoKTsKKyAgICByb290UHRyID0gcm9vdC5nZXQoKTsKIAogICAgIHJvb3QtPnNldEFu
Y2hvclBvaW50KEZsb2F0UG9pbnQoMCwgMCkpOwogICAgIHJvb3QtPnNldFBvc2l0aW9uKEZsb2F0
UG9pbnQoMCwgMCkpOwpAQCAtMjQzMCwxMSArMjQyNSwxMSBAQCBURVNUX0YoQ0NMYXllclRyZWVI
b3N0SW1wbFRlc3QsIHN1cmZhY2VUZXh0dXJlQ2FjaGluZykKICAgICByb290LT5zZXRDb250ZW50
Qm91bmRzKEludFNpemUoMTAwLCAxMDApKTsKICAgICByb290LT5zZXRWaXNpYmxlTGF5ZXJSZWN0
KEludFJlY3QoMCwgMCwgMTAwLCAxMDApKTsKICAgICByb290LT5zZXREcmF3c0NvbnRlbnQodHJ1
ZSk7Ci0gICAgbXlIb3N0SW1wbC0+c2V0Um9vdExheWVyKHJvb3QucmVsZWFzZSgpKTsKKyAgICBs
YXllclRyZWVIb3N0SW1wbC0+c2V0Um9vdExheWVyKHJvb3QucmVsZWFzZSgpKTsKIAogICAgIC8v
IEludGVybWVkaWF0ZSBsYXllciBkb2VzIG5vdCBvd24gYSBzdXJmYWNlLCBhbmQgZG9lcyBub3Qg
ZHJhdyBjb250ZW50LgogICAgIE93blB0cjxDQ0xheWVySW1wbD4gaW50ZXJtZWRpYXRlTGF5ZXIg
PSBDQ0xheWVySW1wbDo6Y3JlYXRlKDIpOwotICAgIENDTGF5ZXJJbXBsKiBpbnRlcm1lZGlhdGVM
YXllclB0ciA9IGludGVybWVkaWF0ZUxheWVyLmdldCgpOworICAgIGludGVybWVkaWF0ZUxheWVy
UHRyID0gaW50ZXJtZWRpYXRlTGF5ZXIuZ2V0KCk7CiAKICAgICBpbnRlcm1lZGlhdGVMYXllclB0
ci0+c2V0QW5jaG9yUG9pbnQoRmxvYXRQb2ludCgwLCAwKSk7CiAgICAgaW50ZXJtZWRpYXRlTGF5
ZXJQdHItPnNldFBvc2l0aW9uKEZsb2F0UG9pbnQoMTAsIDEwKSk7CkBAIC0yNDQ1LDcgKzI0NDAs
NyBAQCBURVNUX0YoQ0NMYXllclRyZWVIb3N0SW1wbFRlc3QsIHN1cmZhY2VUZXh0dXJlQ2FjaGlu
ZykKICAgICByb290UHRyLT5hZGRDaGlsZChpbnRlcm1lZGlhdGVMYXllci5yZWxlYXNlKCkpOwog
CiAgICAgT3duUHRyPENDTGF5ZXJJbXBsPiBzdXJmYWNlTGF5ZXIgPSBDQ0xheWVySW1wbDo6Y3Jl
YXRlKDMpOwotICAgIENDTGF5ZXJJbXBsKiBzdXJmYWNlTGF5ZXJQdHIgPSBzdXJmYWNlTGF5ZXIu
Z2V0KCk7CisgICAgc3VyZmFjZUxheWVyUHRyID0gc3VyZmFjZUxheWVyLmdldCgpOwogCiAgICAg
Ly8gU3VyZmFjZSBsYXllciBpcyB0aGUgbGF5ZXIgdGhhdCBjaGFuZ2VzIGl0cyBvcGFjaXR5CiAg
ICAgLy8gSXQgd2lsbCBjb250YWluIG90aGVyIGxheWVycyB0aGF0IGRyYXcgY29udGVudC4KQEAg
LTI0NjAsNyArMjQ1NSw3IEBAIFRFU1RfRihDQ0xheWVyVHJlZUhvc3RJbXBsVGVzdCwgc3VyZmFj
ZVRleHR1cmVDYWNoaW5nKQogCiAgICAgLy8gQ2hpbGQgb2YgdGhlIHN1cmZhY2UgbGF5ZXIgd2ls
bCBwcm9kdWNlIHNvbWUgcXVhZHMKICAgICBPd25QdHI8RmFrZUxheWVyV2l0aFF1YWRzPiBjaGls
ZCA9IEZha2VMYXllcldpdGhRdWFkczo6Y3JlYXRlKDQpOwotICAgIEZha2VMYXllcldpdGhRdWFk
cyogY2hpbGRQdHIgPSBjaGlsZC5nZXQoKTsKKyAgICBjaGlsZFB0ciA9IGNoaWxkLmdldCgpOwog
CiAgICAgY2hpbGRQdHItPnNldEFuY2hvclBvaW50KEZsb2F0UG9pbnQoMCwgMCkpOwogICAgIGNo
aWxkUHRyLT5zZXRQb3NpdGlvbihGbG9hdFBvaW50KDUsIDUpKTsKQEAgLTI0NzAsNiArMjQ2NSwy
MSBAQCBURVNUX0YoQ0NMYXllclRyZWVIb3N0SW1wbFRlc3QsIHN1cmZhY2VUZXh0dXJlQ2FjaGlu
ZykKICAgICBjaGlsZFB0ci0+c2V0RHJhd3NDb250ZW50KHRydWUpOwogCiAgICAgc3VyZmFjZUxh
eWVyUHRyLT5hZGRDaGlsZChjaGlsZC5yZWxlYXNlKCkpOworfQorCitURVNUX0YoQ0NMYXllclRy
ZWVIb3N0SW1wbFRlc3QsIHN1cmZhY2VUZXh0dXJlQ2FjaGluZykKK3sKKyAgICBDQ1NldHRpbmdz
OjpzZXRQYXJ0aWFsU3dhcEVuYWJsZWQodHJ1ZSk7CisKKyAgICBDQ0xheWVyVHJlZVNldHRpbmdz
IHNldHRpbmdzOworICAgIE93blB0cjxDQ0xheWVyVHJlZUhvc3RJbXBsPiBteUhvc3RJbXBsID0g
Q0NMYXllclRyZWVIb3N0SW1wbDo6Y3JlYXRlKHNldHRpbmdzLCB0aGlzKTsKKworICAgIENDTGF5
ZXJJbXBsKiByb290UHRyOworICAgIENDTGF5ZXJJbXBsKiBpbnRlcm1lZGlhdGVMYXllclB0cjsK
KyAgICBDQ0xheWVySW1wbCogc3VyZmFjZUxheWVyUHRyOworICAgIENDTGF5ZXJJbXBsKiBjaGls
ZFB0cjsKKworICAgIHNldHVwTGF5ZXJzRm9yVGV4dHVyZUNhY2hpbmcobXlIb3N0SW1wbC5nZXQo
KSwgcm9vdFB0ciwgaW50ZXJtZWRpYXRlTGF5ZXJQdHIsIHN1cmZhY2VMYXllclB0ciwgY2hpbGRQ
dHIpOwogCiAgICAgewogICAgICAgICBDQ0xheWVyVHJlZUhvc3RJbXBsOjpGcmFtZURhdGEgZnJh
bWU7CkBAIC0yNjE0LDYgKzI2MjQsMTY1IEBAIFRFU1RfRihDQ0xheWVyVHJlZUhvc3RJbXBsVGVz
dCwgc3VyZmFjZVRleHR1cmVDYWNoaW5nKQogICAgIH0KIH0KIAorVEVTVF9GKENDTGF5ZXJUcmVl
SG9zdEltcGxUZXN0LCBzdXJmYWNlVGV4dHVyZUNhY2hpbmdOb1BhcnRpYWxTd2FwKQoreworICAg
IENDU2V0dGluZ3M6OnNldFBhcnRpYWxTd2FwRW5hYmxlZChmYWxzZSk7CisKKyAgICBDQ0xheWVy
VHJlZVNldHRpbmdzIHNldHRpbmdzOworICAgIE93blB0cjxDQ0xheWVyVHJlZUhvc3RJbXBsPiBt
eUhvc3RJbXBsID0gQ0NMYXllclRyZWVIb3N0SW1wbDo6Y3JlYXRlKHNldHRpbmdzLCB0aGlzKTsK
KworICAgIENDTGF5ZXJJbXBsKiByb290UHRyOworICAgIENDTGF5ZXJJbXBsKiBpbnRlcm1lZGlh
dGVMYXllclB0cjsKKyAgICBDQ0xheWVySW1wbCogc3VyZmFjZUxheWVyUHRyOworICAgIENDTGF5
ZXJJbXBsKiBjaGlsZFB0cjsKKworICAgIHNldHVwTGF5ZXJzRm9yVGV4dHVyZUNhY2hpbmcobXlI
b3N0SW1wbC5nZXQoKSwgcm9vdFB0ciwgaW50ZXJtZWRpYXRlTGF5ZXJQdHIsIHN1cmZhY2VMYXll
clB0ciwgY2hpbGRQdHIpOworCisgICAgeworICAgICAgICBDQ0xheWVyVHJlZUhvc3RJbXBsOjpG
cmFtZURhdGEgZnJhbWU7CisgICAgICAgIEVYUEVDVF9UUlVFKG15SG9zdEltcGwtPnByZXBhcmVU
b0RyYXcoZnJhbWUpKTsKKworICAgICAgICAvLyBNdXN0IHJlY2VpdmUgdHdvIHJlbmRlciBwYXNz
ZXMsIGVhY2ggd2l0aCBvbmUgcXVhZAorICAgICAgICBBU1NFUlRfRVEoMlUsIGZyYW1lLnJlbmRl
clBhc3Nlcy5zaXplKCkpOworICAgICAgICBFWFBFQ1RfRVEoMVUsIGZyYW1lLnJlbmRlclBhc3Nl
c1swXS0+cXVhZExpc3QoKS5zaXplKCkpOworICAgICAgICBFWFBFQ1RfRVEoMVUsIGZyYW1lLnJl
bmRlclBhc3Nlc1sxXS0+cXVhZExpc3QoKS5zaXplKCkpOworCisgICAgICAgIEVYUEVDVF9FUShD
Q0RyYXdRdWFkOjpSZW5kZXJQYXNzLCBmcmFtZS5yZW5kZXJQYXNzZXNbMV0tPnF1YWRMaXN0KClb
MF0tPm1hdGVyaWFsKCkpOworICAgICAgICBDQ1JlbmRlclBhc3NEcmF3UXVhZCogcXVhZCA9IHN0
YXRpY19jYXN0PENDUmVuZGVyUGFzc0RyYXdRdWFkKj4oZnJhbWUucmVuZGVyUGFzc2VzWzFdLT5x
dWFkTGlzdCgpWzBdLmdldCgpKTsKKyAgICAgICAgRVhQRUNUX1RSVUUocXVhZC0+cmVuZGVyUGFz
cygpLT50YXJnZXRTdXJmYWNlKCktPmNvbnRlbnRzQ2hhbmdlZCgpKTsKKworICAgICAgICBteUhv
c3RJbXBsLT5kcmF3TGF5ZXJzKGZyYW1lKTsKKyAgICAgICAgbXlIb3N0SW1wbC0+ZGlkRHJhd0Fs
bExheWVycyhmcmFtZSk7CisgICAgfQorCisgICAgLy8gRHJhdyB3aXRob3V0IGFueSBjaGFuZ2UK
KyAgICB7CisgICAgICAgIENDTGF5ZXJUcmVlSG9zdEltcGw6OkZyYW1lRGF0YSBmcmFtZTsKKyAg
ICAgICAgRVhQRUNUX1RSVUUobXlIb3N0SW1wbC0+cHJlcGFyZVRvRHJhdyhmcmFtZSkpOworCisg
ICAgICAgIC8vIEV2ZW4gdGhvdWdoIHRoZXJlIHdhcyBubyBjaGFuZ2UsIHdlIHNldCB0aGUgZGFt
YWdlIHRvIGVudGlyZSB2aWV3cG9ydC4KKyAgICAgICAgLy8gT25lIG9mIHRoZSBwYXNzZXMgc2hv
dWxkIGJlIGN1bGxlZCBhcyBhIHJlc3VsdCwgc2luY2UgY29udGVudHMgZGlkbid0IGNoYW5nZQor
ICAgICAgICAvLyBhbmQgd2UgaGF2ZSBjYWNoZWQgdGV4dHVyZS4KKyAgICAgICAgQVNTRVJUX0VR
KDFVLCBmcmFtZS5yZW5kZXJQYXNzZXMuc2l6ZSgpKTsKKyAgICAgICAgRVhQRUNUX0VRKDFVLCBm
cmFtZS5yZW5kZXJQYXNzZXNbMF0tPnF1YWRMaXN0KCkuc2l6ZSgpKTsKKworICAgICAgICBteUhv
c3RJbXBsLT5kcmF3TGF5ZXJzKGZyYW1lKTsKKyAgICAgICAgbXlIb3N0SW1wbC0+ZGlkRHJhd0Fs
bExheWVycyhmcmFtZSk7CisgICAgfQorCisgICAgLy8gQ2hhbmdlIG9wYWNpdHkgYW5kIGRyYXcK
KyAgICBzdXJmYWNlTGF5ZXJQdHItPnNldE9wYWNpdHkoMC42Zik7CisgICAgeworICAgICAgICBD
Q0xheWVyVHJlZUhvc3RJbXBsOjpGcmFtZURhdGEgZnJhbWU7CisgICAgICAgIEVYUEVDVF9UUlVF
KG15SG9zdEltcGwtPnByZXBhcmVUb0RyYXcoZnJhbWUpKTsKKworICAgICAgICAvLyBNdXN0IHJl
Y2VpdmUgb25lIHJlbmRlciBwYXNzLCBhcyB0aGUgb3RoZXIgb25lIHNob3VsZCBiZSBjdWxsZWQK
KyAgICAgICAgQVNTRVJUX0VRKDFVLCBmcmFtZS5yZW5kZXJQYXNzZXMuc2l6ZSgpKTsKKworICAg
ICAgICBFWFBFQ1RfRVEoMVUsIGZyYW1lLnJlbmRlclBhc3Nlc1swXS0+cXVhZExpc3QoKS5zaXpl
KCkpOworICAgICAgICBFWFBFQ1RfRVEoQ0NEcmF3UXVhZDo6UmVuZGVyUGFzcywgZnJhbWUucmVu
ZGVyUGFzc2VzWzBdLT5xdWFkTGlzdCgpWzBdLT5tYXRlcmlhbCgpKTsKKyAgICAgICAgQ0NSZW5k
ZXJQYXNzRHJhd1F1YWQqIHF1YWQgPSBzdGF0aWNfY2FzdDxDQ1JlbmRlclBhc3NEcmF3UXVhZCo+
KGZyYW1lLnJlbmRlclBhc3Nlc1swXS0+cXVhZExpc3QoKVswXS5nZXQoKSk7CisgICAgICAgIEVY
UEVDVF9GQUxTRShxdWFkLT5yZW5kZXJQYXNzKCktPnRhcmdldFN1cmZhY2UoKS0+Y29udGVudHND
aGFuZ2VkKCkpOworCisgICAgICAgIG15SG9zdEltcGwtPmRyYXdMYXllcnMoZnJhbWUpOworICAg
ICAgICBteUhvc3RJbXBsLT5kaWREcmF3QWxsTGF5ZXJzKGZyYW1lKTsKKyAgICB9CisKKyAgICAv
LyBDaGFuZ2UgbGVzcyBiZW5pZ24gcHJvcGVydHkgYW5kIGRyYXcgLSBzaG91bGQgaGF2ZSBjb250
ZW50cyBjaGFuZ2VkIGZsYWcKKyAgICBzdXJmYWNlTGF5ZXJQdHItPnNldFN0YWNraW5nT3JkZXJD
aGFuZ2VkKHRydWUpOworICAgIHsKKyAgICAgICAgQ0NMYXllclRyZWVIb3N0SW1wbDo6RnJhbWVE
YXRhIGZyYW1lOworICAgICAgICBFWFBFQ1RfVFJVRShteUhvc3RJbXBsLT5wcmVwYXJlVG9EcmF3
KGZyYW1lKSk7CisKKyAgICAgICAgLy8gTXVzdCByZWNlaXZlIHR3byByZW5kZXIgcGFzc2VzLCBl
YWNoIHdpdGggb25lIHF1YWQKKyAgICAgICAgQVNTRVJUX0VRKDJVLCBmcmFtZS5yZW5kZXJQYXNz
ZXMuc2l6ZSgpKTsKKworICAgICAgICBFWFBFQ1RfRVEoMVUsIGZyYW1lLnJlbmRlclBhc3Nlc1sw
XS0+cXVhZExpc3QoKS5zaXplKCkpOworICAgICAgICBFWFBFQ1RfRVEoQ0NEcmF3UXVhZDo6U29s
aWRDb2xvciwgZnJhbWUucmVuZGVyUGFzc2VzWzBdLT5xdWFkTGlzdCgpWzBdLT5tYXRlcmlhbCgp
KTsKKworICAgICAgICBFWFBFQ1RfRVEoQ0NEcmF3UXVhZDo6UmVuZGVyUGFzcywgZnJhbWUucmVu
ZGVyUGFzc2VzWzFdLT5xdWFkTGlzdCgpWzBdLT5tYXRlcmlhbCgpKTsKKyAgICAgICAgQ0NSZW5k
ZXJQYXNzRHJhd1F1YWQqIHF1YWQgPSBzdGF0aWNfY2FzdDxDQ1JlbmRlclBhc3NEcmF3UXVhZCo+
KGZyYW1lLnJlbmRlclBhc3Nlc1sxXS0+cXVhZExpc3QoKVswXS5nZXQoKSk7CisgICAgICAgIEVY
UEVDVF9UUlVFKHF1YWQtPnJlbmRlclBhc3MoKS0+dGFyZ2V0U3VyZmFjZSgpLT5jb250ZW50c0No
YW5nZWQoKSk7CisKKyAgICAgICAgbXlIb3N0SW1wbC0+ZHJhd0xheWVycyhmcmFtZSk7CisgICAg
ICAgIG15SG9zdEltcGwtPmRpZERyYXdBbGxMYXllcnMoZnJhbWUpOworICAgIH0KKworICAgIC8v
IENoYW5nZSBvcGFjaXR5IGFnYWluLCBidXQgZXZpY3QgdGhlIGNhY2hlZCBzdXJmYWNlIHRleHR1
cmUKKyAgICBzdXJmYWNlTGF5ZXJQdHItPnNldE9wYWNpdHkoMC41Zik7CisgICAgTWFuYWdlZFRl
eHR1cmUqIGNvbnRlbnRzVGV4dHVyZSA9IHN1cmZhY2VMYXllclB0ci0+cmVuZGVyU3VyZmFjZSgp
LT5jb250ZW50c1RleHR1cmUoKTsKKyAgICBBU1NFUlRfVFJVRShjb250ZW50c1RleHR1cmUtPmlz
VmFsaWQoY29udGVudHNUZXh0dXJlLT5zaXplKCksIGNvbnRlbnRzVGV4dHVyZS0+Zm9ybWF0KCkp
KTsKKyAgICBDQ1JlbmRlcmVyKiByZW5kZXJlciA9IG15SG9zdEltcGwtPmxheWVyUmVuZGVyZXIo
KTsKKyAgICBUZXh0dXJlTWFuYWdlciogdGV4dHVyZU1hbmFnZXIgPSByZW5kZXJlci0+aW1wbFRl
eHR1cmVNYW5hZ2VyKCk7CisgICAgc2l6ZV90IG1heE1lbW9yeUxpbWl0ID0gdGV4dHVyZU1hbmFn
ZXItPm1heE1lbW9yeUxpbWl0Qnl0ZXMoKTsKKworICAgIC8vIFRoaXMgc2hvdWxkIGV2aWNlIGFs
bCBjYWNoZWQgc3VyZmFjZXMKKyAgICB0ZXh0dXJlTWFuYWdlci0+c2V0TWF4TWVtb3J5TGltaXRC
eXRlcygwKTsKKworICAgIC8vIFJlc3RvcmUgb3JpZ2luYWwgbGltaXQKKyAgICB0ZXh0dXJlTWFu
YWdlci0+c2V0TWF4TWVtb3J5TGltaXRCeXRlcyhtYXhNZW1vcnlMaW1pdCk7CisKKyAgICAvLyBX
YXMgb3VyIHN1cmZhY2UgZXZpY3RlZD8KKyAgICBBU1NFUlRfRkFMU0UoY29udGVudHNUZXh0dXJl
LT5pc1ZhbGlkKGNvbnRlbnRzVGV4dHVyZS0+c2l6ZSgpLCBjb250ZW50c1RleHR1cmUtPmZvcm1h
dCgpKSk7CisKKyAgICAvLyBDaGFuZ2Ugb3BhY2l0eSBhbmQgZHJhdworICAgIHN1cmZhY2VMYXll
clB0ci0+c2V0T3BhY2l0eSgwLjZmKTsKKyAgICB7CisgICAgICAgIENDTGF5ZXJUcmVlSG9zdElt
cGw6OkZyYW1lRGF0YSBmcmFtZTsKKyAgICAgICAgRVhQRUNUX1RSVUUobXlIb3N0SW1wbC0+cHJl
cGFyZVRvRHJhdyhmcmFtZSkpOworCisgICAgICAgIC8vIE11c3QgcmVjZWl2ZSB0d28gcmVuZGVy
IHBhc3NlcworICAgICAgICBBU1NFUlRfRVEoMlUsIGZyYW1lLnJlbmRlclBhc3Nlcy5zaXplKCkp
OworCisgICAgICAgIC8vIEV2ZW4gdGhvdWdoIG5vdCBlbm91Z2ggcHJvcGVydGllcyBjaGFuZ2Vk
LCB0aGUgZW50aXJlIHRoaW5nIG11c3QgYmUKKyAgICAgICAgLy8gcmVkcmF3biBhcyB3ZSBkb24n
dCBoYXZlIGNhY2hlZCB0ZXh0dXJlcworICAgICAgICBFWFBFQ1RfRVEoMVUsIGZyYW1lLnJlbmRl
clBhc3Nlc1swXS0+cXVhZExpc3QoKS5zaXplKCkpOworICAgICAgICBFWFBFQ1RfRVEoMVUsIGZy
YW1lLnJlbmRlclBhc3Nlc1sxXS0+cXVhZExpc3QoKS5zaXplKCkpOworCisgICAgICAgIEVYUEVD
VF9FUShDQ0RyYXdRdWFkOjpSZW5kZXJQYXNzLCBmcmFtZS5yZW5kZXJQYXNzZXNbMV0tPnF1YWRM
aXN0KClbMF0tPm1hdGVyaWFsKCkpOworICAgICAgICBDQ1JlbmRlclBhc3NEcmF3UXVhZCogcXVh
ZCA9IHN0YXRpY19jYXN0PENDUmVuZGVyUGFzc0RyYXdRdWFkKj4oZnJhbWUucmVuZGVyUGFzc2Vz
WzFdLT5xdWFkTGlzdCgpWzBdLmdldCgpKTsKKyAgICAgICAgRVhQRUNUX0ZBTFNFKHF1YWQtPnJl
bmRlclBhc3MoKS0+dGFyZ2V0U3VyZmFjZSgpLT5jb250ZW50c0NoYW5nZWQoKSk7CisKKyAgICAg
ICAgbXlIb3N0SW1wbC0+ZHJhd0xheWVycyhmcmFtZSk7CisgICAgICAgIG15SG9zdEltcGwtPmRp
ZERyYXdBbGxMYXllcnMoZnJhbWUpOworICAgIH0KKworICAgIC8vIERyYXcgd2l0aG91dCBhbnkg
Y2hhbmdlLCB0byBtYWtlIHN1cmUgdGhlIHN0YXRlIGlzIGNsZWFyCisgICAgeworICAgICAgICBD
Q0xheWVyVHJlZUhvc3RJbXBsOjpGcmFtZURhdGEgZnJhbWU7CisgICAgICAgIEVYUEVDVF9UUlVF
KG15SG9zdEltcGwtPnByZXBhcmVUb0RyYXcoZnJhbWUpKTsKKworICAgICAgICAvLyBFdmVuIHRo
b3VnaCB0aGVyZSB3YXMgbm8gY2hhbmdlLCB3ZSBzZXQgdGhlIGRhbWFnZSB0byBlbnRpcmUgdmll
d3BvcnQuCisgICAgICAgIC8vIE9uZSBvZiB0aGUgcGFzc2VzIHNob3VsZCBiZSBjdWxsZWQgYXMg
YSByZXN1bHQsIHNpbmNlIGNvbnRlbnRzIGRpZG4ndCBjaGFuZ2UKKyAgICAgICAgLy8gYW5kIHdl
IGhhdmUgY2FjaGVkIHRleHR1cmUuCisgICAgICAgIEFTU0VSVF9FUSgxVSwgZnJhbWUucmVuZGVy
UGFzc2VzLnNpemUoKSk7CisgICAgICAgIEVYUEVDVF9FUSgxVSwgZnJhbWUucmVuZGVyUGFzc2Vz
WzBdLT5xdWFkTGlzdCgpLnNpemUoKSk7CisKKyAgICAgICAgbXlIb3N0SW1wbC0+ZHJhd0xheWVy
cyhmcmFtZSk7CisgICAgICAgIG15SG9zdEltcGwtPmRpZERyYXdBbGxMYXllcnMoZnJhbWUpOwor
ICAgIH0KKworICAgIC8vIENoYW5nZSBvcGFjaXR5IG9uIHRoZSBpbnRlcm1lZGlhdGUgbGF5ZXIK
KyAgICBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCB0cmFuc2Zvcm0gPSBpbnRlcm1lZGlhdGVMYXll
clB0ci0+dHJhbnNmb3JtKCk7CisgICAgdHJhbnNmb3JtLnNldE0xMSgxLjAwMDEpOworICAgIGlu
dGVybWVkaWF0ZUxheWVyUHRyLT5zZXRUcmFuc2Zvcm0odHJhbnNmb3JtKTsKKyAgICB7CisgICAg
ICAgIENDTGF5ZXJUcmVlSG9zdEltcGw6OkZyYW1lRGF0YSBmcmFtZTsKKyAgICAgICAgRVhQRUNU
X1RSVUUobXlIb3N0SW1wbC0+cHJlcGFyZVRvRHJhdyhmcmFtZSkpOworCisgICAgICAgIC8vIE11
c3QgcmVjZWl2ZSBvbmUgcmVuZGVyIHBhc3MsIGFzIHRoZSBvdGhlciBvbmUgc2hvdWxkIGJlIGN1
bGxlZC4KKyAgICAgICAgQVNTRVJUX0VRKDFVLCBmcmFtZS5yZW5kZXJQYXNzZXMuc2l6ZSgpKTsK
KyAgICAgICAgRVhQRUNUX0VRKDFVLCBmcmFtZS5yZW5kZXJQYXNzZXNbMF0tPnF1YWRMaXN0KCku
c2l6ZSgpKTsKKworICAgICAgICBFWFBFQ1RfRVEoQ0NEcmF3UXVhZDo6UmVuZGVyUGFzcywgZnJh
bWUucmVuZGVyUGFzc2VzWzBdLT5xdWFkTGlzdCgpWzBdLT5tYXRlcmlhbCgpKTsKKyAgICAgICAg
Q0NSZW5kZXJQYXNzRHJhd1F1YWQqIHF1YWQgPSBzdGF0aWNfY2FzdDxDQ1JlbmRlclBhc3NEcmF3
UXVhZCo+KGZyYW1lLnJlbmRlclBhc3Nlc1swXS0+cXVhZExpc3QoKVswXS5nZXQoKSk7CisgICAg
ICAgIEVYUEVDVF9GQUxTRShxdWFkLT5yZW5kZXJQYXNzKCktPnRhcmdldFN1cmZhY2UoKS0+Y29u
dGVudHNDaGFuZ2VkKCkpOworCisgICAgICAgIG15SG9zdEltcGwtPmRyYXdMYXllcnMoZnJhbWUp
OworICAgICAgICBteUhvc3RJbXBsLT5kaWREcmF3QWxsTGF5ZXJzKGZyYW1lKTsKKyAgICB9Cit9
CisKIHN0cnVjdCBSZW5kZXJQYXNzQ2FjaGVFbnRyeSB7CiAgICAgbXV0YWJsZSBPd25QdHI8Q0NS
ZW5kZXJQYXNzPiByZW5kZXJQYXNzUHRyOwogICAgIENDUmVuZGVyUGFzcyogcmVuZGVyUGFzczsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>148662</attachid>
            <date>2012-06-20 15:04:32 -0700</date>
            <delta_ts>2012-06-20 22:40:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-89589-20120620180431.patch</filename>
            <type>text/plain</type>
            <size>14519</size>
            <attacher>zlieber</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwNzc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGNiZDI3MGQzOWVkYmU0
NmUzNGExZWJiODAxZGVmMjhmMDMyZjZhMC4uZmUwODcyMjJhNjdhZGU5ZjQwZTRjZTMzZjNkMjUx
ZjIwZWQzOTQ3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA2LTIwICBaZWV2
IExpZWJlciAgPHpsaWViZXJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtDaHJvbWl1bV0gRGFt
YWdlIHRyYWNrZXIgaXMgbm90IHVzZWQgd2l0aG91dCBwYXJ0aWFsIHN3YXAsIGNhdXNpbmcgdmFs
aWQgcmVuZGVyIHBhc3NlcyB0byBiZSByZW1vdmVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTU4OQorCisgICAgICAgIFJldmlld2VkIGJ5IEFkcmll
bm5lIFdhbGtlci4KKworICAgICAgICBXaGVuIG5vdCB1c2luZyBwYXJ0aWFsIHN3YXAsIHRoZSBD
Q0RhbWFnZVRyYWNrZXIgd2FzIG5vdCB1c2VkLCBhbmQKKyAgICAgICAgaXRzIG1fY3VycmVudERh
bWFnZVJlY3Qgd2FzIGFsd2F5cyBlbXB0eS4gQXMgYSByZXN1bHQsCisgICAgICAgIENDTGF5ZXJU
cmVlSG9zdEltcGwgd2FzIHRoaW5raW5nIG5vIGNvbnRlbnQgd2FzIGNoYW5nZWQgYW5kIHdhcwor
ICAgICAgICByZW1vdmluZyBtb3JlIHRleHR1cmVzIHRoYW4gbmVlZGVkLiBGaXhlZCB0aGlzIGJ5
IHR1cm5pbmcgb24KKyAgICAgICAgQ0NEYW1hZ2VUcmFja2VyIHVzYWdlIGV2ZW4gaWYgbm90IHVz
aW5nIHBhcnRpYWwgc3dhcCwgYnV0CisgICAgICAgIG92ZXJ3cml0aW5nIHRoZSByb290U2Npc3Nv
clJlY3Qgd2l0aCB2aWV3cG9ydCByZWN0IGlmIHJlcXVpcmVkLgorCisgICAgICAgIEFkZGVkIHVu
aXQgdGVzdHMgdG8gZXhlcmNpc2UgdGhpcyBzY2VuYXJpby4KKworICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0SW1wbDo6Y2FsY3VsYXRlUmVuZGVyU3VyZmFjZUxheWVy
TGlzdCk6CisKIDIwMTItMDYtMTkgIFN0ZXZlIFZhbkRlQm9nYXJ0ICA8dmFuZGVib0BjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgTWFrZSBET01GaWxlU3lzdGVtIHNlbGVjdGl2ZWx5IHN0cnVjdHVy
ZSBjbG9uYWJsZSBzbyBpdCBjYW4gYmUgdGhlIGJvZHkgb2YgYSB3ZWIgaW50ZW50LgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZwppbmRleCBiNmMzN2UxYzlhNjY5NzMzNzZlM2ZhNzljYzZiOWVhNTkx
NDM0NjEyLi4yYWZiOGVjN2U4NzdiZGJkZGVlMjUzZThkYzJjNDFjMTE5NjczNzZlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTA2LTIwICBaZWV2IExp
ZWJlciAgPHpsaWViZXJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtDaHJvbWl1bV0gRGFtYWdl
IHRyYWNrZXIgaXMgbm90IHVzZWQgd2l0aG91dCBwYXJ0aWFsIHN3YXAsIGNhdXNpbmcgdmFsaWQg
cmVuZGVyIHBhc3NlcyB0byBiZSByZW1vdmVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD04OTU4OQorCisgICAgICAgIFJldmlld2VkIGJ5IEFkcmllbm5l
IFdhbGtlci4KKworICAgICAgICBBZGRlZCB1bml0IHRlc3RzIHRvIGNoZWNrIHN1cmZhY2UgdGV4
dHVyZSBjYWNoaW5nIHdoZW4gcGFydGlhbAorICAgICAgICBzd2FwIGlzIG5vdCB1c2VkLgorCisg
ICAgICAgICogdGVzdHMvQ0NMYXllclRyZWVIb3N0SW1wbFRlc3QuY3BwOgorCiAyMDEyLTA2LTE5
ICBLZW5uZXRoIFJ1c3NlbGwgIDxrYnJAZ29vZ2xlLmNvbT4KIAogICAgICAgICBVbnJldmlld2Vk
LCByb2xsaW5nIG91dCByMTIwNzcyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0SW1wbC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBs
LmNwcAppbmRleCAyMWE2NzJlOGZhNTc2NGE5ODNiMjM2MGVlNjQ4NjNjNTBiYzQxNGJkLi5mNzk5
OTk1NjFhMDEyNDZjNjA5Mzg5NmNiOTZjNjk5ZGViNThjNjcxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBs
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9D
Q0xheWVyVHJlZUhvc3RJbXBsLmNwcApAQCAtMjU3LDExICsyNTcsMTEgQEAgdm9pZCBDQ0xheWVy
VHJlZUhvc3RJbXBsOjpjYWxjdWxhdGVSZW5kZXJTdXJmYWNlTGF5ZXJMaXN0KENDTGF5ZXJMaXN0
JiByZW5kZXJTdXIKICAgICAgICAgZGV2aWNlU2NhbGVUcmFuc2Zvcm0uc2NhbGUobV9kZXZpY2VT
Y2FsZUZhY3Rvcik7CiAgICAgICAgIENDTGF5ZXJUcmVlSG9zdENvbW1vbjo6Y2FsY3VsYXRlRHJh
d1RyYW5zZm9ybXMobV9yb290TGF5ZXJJbXBsLmdldCgpLCBtX3Jvb3RMYXllckltcGwuZ2V0KCks
IGRldmljZVNjYWxlVHJhbnNmb3JtLCBpZGVudGl0eU1hdHJpeCwgcmVuZGVyU3VyZmFjZUxheWVy
TGlzdCwgbV9yb290TGF5ZXJJbXBsLT5yZW5kZXJTdXJmYWNlKCktPmxheWVyTGlzdCgpLCAmbV9s
YXllclNvcnRlciwgbGF5ZXJSZW5kZXJlckNhcGFiaWxpdGllcygpLm1heFRleHR1cmVTaXplKTsK
IAotICAgICAgICBpZiAobGF5ZXJSZW5kZXJlckNhcGFiaWxpdGllcygpLnVzaW5nUGFydGlhbFN3
YXAgfHwgc2V0dGluZ3MoKS5zaG93U3VyZmFjZURhbWFnZVJlY3RzKQotICAgICAgICAgICAgdHJh
Y2tEYW1hZ2VGb3JBbGxTdXJmYWNlcyhtX3Jvb3RMYXllckltcGwuZ2V0KCksIHJlbmRlclN1cmZh
Y2VMYXllckxpc3QpOwotICAgICAgICBtX3Jvb3RTY2lzc29yUmVjdCA9IG1fcm9vdExheWVySW1w
bC0+cmVuZGVyU3VyZmFjZSgpLT5kYW1hZ2VUcmFja2VyKCktPmN1cnJlbnREYW1hZ2VSZWN0KCk7
CisgICAgICAgIHRyYWNrRGFtYWdlRm9yQWxsU3VyZmFjZXMobV9yb290TGF5ZXJJbXBsLmdldCgp
LCByZW5kZXJTdXJmYWNlTGF5ZXJMaXN0KTsKIAotICAgICAgICBpZiAoIWxheWVyUmVuZGVyZXJD
YXBhYmlsaXRpZXMoKS51c2luZ1BhcnRpYWxTd2FwKQorICAgICAgICBpZiAobGF5ZXJSZW5kZXJl
ckNhcGFiaWxpdGllcygpLnVzaW5nUGFydGlhbFN3YXApCisgICAgICAgICAgICBtX3Jvb3RTY2lz
c29yUmVjdCA9IG1fcm9vdExheWVySW1wbC0+cmVuZGVyU3VyZmFjZSgpLT5kYW1hZ2VUcmFja2Vy
KCktPmN1cnJlbnREYW1hZ2VSZWN0KCk7CisgICAgICAgIGVsc2UKICAgICAgICAgICAgIG1fcm9v
dFNjaXNzb3JSZWN0ID0gRmxvYXRSZWN0KEZsb2F0UG9pbnQoMCwgMCksIGRldmljZVZpZXdwb3J0
U2l6ZSgpKTsKIAogICAgICAgICBDQ0xheWVyVHJlZUhvc3RDb21tb246OmNhbGN1bGF0ZVZpc2li
bGVBbmRTY2lzc29yUmVjdHMocmVuZGVyU3VyZmFjZUxheWVyTGlzdCwgbV9yb290U2Npc3NvclJl
Y3QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVyVHJl
ZUhvc3RJbXBsVGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJU
cmVlSG9zdEltcGxUZXN0LmNwcAppbmRleCA3MzhjODgxOTA4OGQ5MTI4MjY1ZmMxMWFkNDhiNTQ3
ZmViOTRlYjJlLi44YTFjNzFkYzcwMjQ2MDQ3NzY1YTljYjBiMTY3OGU4YzNhNGM2M2JlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJUcmVlSG9zdEltcGxU
ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJUcmVlSG9z
dEltcGxUZXN0LmNwcApAQCAtMjQwOSwyMCArMjQwOSwxNSBAQCBURVNUX0YoQ0NMYXllclRyZWVI
b3N0SW1wbFRlc3QsIGhhc1RyYW5zcGFyZW50QmFja2dyb3VuZCkKICAgICBNb2NrOjpWZXJpZnlB
bmRDbGVhckV4cGVjdGF0aW9ucygmbW9ja0NvbnRleHQpOwogfQogCi1URVNUX0YoQ0NMYXllclRy
ZWVIb3N0SW1wbFRlc3QsIHN1cmZhY2VUZXh0dXJlQ2FjaGluZykKK3N0YXRpYyB2b2lkIHNldHVw
TGF5ZXJzRm9yVGV4dHVyZUNhY2hpbmcoQ0NMYXllclRyZWVIb3N0SW1wbCogbGF5ZXJUcmVlSG9z
dEltcGwsIENDTGF5ZXJJbXBsKiYgcm9vdFB0ciwgQ0NMYXllckltcGwqJiBpbnRlcm1lZGlhdGVM
YXllclB0ciwgQ0NMYXllckltcGwqJiBzdXJmYWNlTGF5ZXJQdHIsIENDTGF5ZXJJbXBsKiYgY2hp
bGRQdHIpCiB7Ci0gICAgQ0NTZXR0aW5nczo6c2V0UGFydGlhbFN3YXBFbmFibGVkKHRydWUpOwot
ICAgIAotICAgIENDTGF5ZXJUcmVlU2V0dGluZ3Mgc2V0dGluZ3M7Ci0gICAgT3duUHRyPENDTGF5
ZXJUcmVlSG9zdEltcGw+IG15SG9zdEltcGwgPSBDQ0xheWVyVHJlZUhvc3RJbXBsOjpjcmVhdGUo
c2V0dGluZ3MsIHRoaXMpOwotICAgIAogICAgIFJlZlB0cjxDQ0dyYXBoaWNzQ29udGV4dD4gY29u
dGV4dCA9IENDR3JhcGhpY3NDb250ZXh0OjpjcmVhdGUzRChHcmFwaGljc0NvbnRleHQzRFByaXZh
dGU6OmNyZWF0ZUdyYXBoaWNzQ29udGV4dEZyb21XZWJDb250ZXh0KGFkb3B0UHRyKG5ldyBQYXJ0
aWFsU3dhcENvbnRleHQoKSksIEdyYXBoaWNzQ29udGV4dDNEOjpSZW5kZXJEaXJlY3RseVRvSG9z
dFdpbmRvdykpOwogCi0gICAgbXlIb3N0SW1wbC0+aW5pdGlhbGl6ZUxheWVyUmVuZGVyZXIoY29u
dGV4dC5yZWxlYXNlKCksIFVudGhyb3R0bGVkVXBsb2FkZXIpOwotICAgIG15SG9zdEltcGwtPnNl
dFZpZXdwb3J0U2l6ZShJbnRTaXplKDEwMCwgMTAwKSk7CisgICAgbGF5ZXJUcmVlSG9zdEltcGwt
PmluaXRpYWxpemVMYXllclJlbmRlcmVyKGNvbnRleHQucmVsZWFzZSgpLCBVbnRocm90dGxlZFVw
bG9hZGVyKTsKKyAgICBsYXllclRyZWVIb3N0SW1wbC0+c2V0Vmlld3BvcnRTaXplKEludFNpemUo
MTAwLCAxMDApKTsKIAogICAgIE93blB0cjxDQ0xheWVySW1wbD4gcm9vdCA9IENDTGF5ZXJJbXBs
OjpjcmVhdGUoMSk7Ci0gICAgQ0NMYXllckltcGwqIHJvb3RQdHIgPSByb290LmdldCgpOworICAg
IHJvb3RQdHIgPSByb290LmdldCgpOwogCiAgICAgcm9vdC0+c2V0QW5jaG9yUG9pbnQoRmxvYXRQ
b2ludCgwLCAwKSk7CiAgICAgcm9vdC0+c2V0UG9zaXRpb24oRmxvYXRQb2ludCgwLCAwKSk7CkBA
IC0yNDMwLDExICsyNDI1LDExIEBAIFRFU1RfRihDQ0xheWVyVHJlZUhvc3RJbXBsVGVzdCwgc3Vy
ZmFjZVRleHR1cmVDYWNoaW5nKQogICAgIHJvb3QtPnNldENvbnRlbnRCb3VuZHMoSW50U2l6ZSgx
MDAsIDEwMCkpOwogICAgIHJvb3QtPnNldFZpc2libGVMYXllclJlY3QoSW50UmVjdCgwLCAwLCAx
MDAsIDEwMCkpOwogICAgIHJvb3QtPnNldERyYXdzQ29udGVudCh0cnVlKTsKLSAgICBteUhvc3RJ
bXBsLT5zZXRSb290TGF5ZXIocm9vdC5yZWxlYXNlKCkpOworICAgIGxheWVyVHJlZUhvc3RJbXBs
LT5zZXRSb290TGF5ZXIocm9vdC5yZWxlYXNlKCkpOwogCiAgICAgLy8gSW50ZXJtZWRpYXRlIGxh
eWVyIGRvZXMgbm90IG93biBhIHN1cmZhY2UsIGFuZCBkb2VzIG5vdCBkcmF3IGNvbnRlbnQuCiAg
ICAgT3duUHRyPENDTGF5ZXJJbXBsPiBpbnRlcm1lZGlhdGVMYXllciA9IENDTGF5ZXJJbXBsOjpj
cmVhdGUoMik7Ci0gICAgQ0NMYXllckltcGwqIGludGVybWVkaWF0ZUxheWVyUHRyID0gaW50ZXJt
ZWRpYXRlTGF5ZXIuZ2V0KCk7CisgICAgaW50ZXJtZWRpYXRlTGF5ZXJQdHIgPSBpbnRlcm1lZGlh
dGVMYXllci5nZXQoKTsKIAogICAgIGludGVybWVkaWF0ZUxheWVyUHRyLT5zZXRBbmNob3JQb2lu
dChGbG9hdFBvaW50KDAsIDApKTsKICAgICBpbnRlcm1lZGlhdGVMYXllclB0ci0+c2V0UG9zaXRp
b24oRmxvYXRQb2ludCgxMCwgMTApKTsKQEAgLTI0NDUsNyArMjQ0MCw3IEBAIFRFU1RfRihDQ0xh
eWVyVHJlZUhvc3RJbXBsVGVzdCwgc3VyZmFjZVRleHR1cmVDYWNoaW5nKQogICAgIHJvb3RQdHIt
PmFkZENoaWxkKGludGVybWVkaWF0ZUxheWVyLnJlbGVhc2UoKSk7CiAKICAgICBPd25QdHI8Q0NM
YXllckltcGw+IHN1cmZhY2VMYXllciA9IENDTGF5ZXJJbXBsOjpjcmVhdGUoMyk7Ci0gICAgQ0NM
YXllckltcGwqIHN1cmZhY2VMYXllclB0ciA9IHN1cmZhY2VMYXllci5nZXQoKTsKKyAgICBzdXJm
YWNlTGF5ZXJQdHIgPSBzdXJmYWNlTGF5ZXIuZ2V0KCk7CiAKICAgICAvLyBTdXJmYWNlIGxheWVy
IGlzIHRoZSBsYXllciB0aGF0IGNoYW5nZXMgaXRzIG9wYWNpdHkKICAgICAvLyBJdCB3aWxsIGNv
bnRhaW4gb3RoZXIgbGF5ZXJzIHRoYXQgZHJhdyBjb250ZW50LgpAQCAtMjQ2MCw3ICsyNDU1LDcg
QEAgVEVTVF9GKENDTGF5ZXJUcmVlSG9zdEltcGxUZXN0LCBzdXJmYWNlVGV4dHVyZUNhY2hpbmcp
CiAKICAgICAvLyBDaGlsZCBvZiB0aGUgc3VyZmFjZSBsYXllciB3aWxsIHByb2R1Y2Ugc29tZSBx
dWFkcwogICAgIE93blB0cjxGYWtlTGF5ZXJXaXRoUXVhZHM+IGNoaWxkID0gRmFrZUxheWVyV2l0
aFF1YWRzOjpjcmVhdGUoNCk7Ci0gICAgRmFrZUxheWVyV2l0aFF1YWRzKiBjaGlsZFB0ciA9IGNo
aWxkLmdldCgpOworICAgIGNoaWxkUHRyID0gY2hpbGQuZ2V0KCk7CiAKICAgICBjaGlsZFB0ci0+
c2V0QW5jaG9yUG9pbnQoRmxvYXRQb2ludCgwLCAwKSk7CiAgICAgY2hpbGRQdHItPnNldFBvc2l0
aW9uKEZsb2F0UG9pbnQoNSwgNSkpOwpAQCAtMjQ3MCw2ICsyNDY1LDIxIEBAIFRFU1RfRihDQ0xh
eWVyVHJlZUhvc3RJbXBsVGVzdCwgc3VyZmFjZVRleHR1cmVDYWNoaW5nKQogICAgIGNoaWxkUHRy
LT5zZXREcmF3c0NvbnRlbnQodHJ1ZSk7CiAKICAgICBzdXJmYWNlTGF5ZXJQdHItPmFkZENoaWxk
KGNoaWxkLnJlbGVhc2UoKSk7Cit9CisKK1RFU1RfRihDQ0xheWVyVHJlZUhvc3RJbXBsVGVzdCwg
c3VyZmFjZVRleHR1cmVDYWNoaW5nKQoreworICAgIENDU2V0dGluZ3M6OnNldFBhcnRpYWxTd2Fw
RW5hYmxlZCh0cnVlKTsKKworICAgIENDTGF5ZXJUcmVlU2V0dGluZ3Mgc2V0dGluZ3M7CisgICAg
T3duUHRyPENDTGF5ZXJUcmVlSG9zdEltcGw+IG15SG9zdEltcGwgPSBDQ0xheWVyVHJlZUhvc3RJ
bXBsOjpjcmVhdGUoc2V0dGluZ3MsIHRoaXMpOworCisgICAgQ0NMYXllckltcGwqIHJvb3RQdHI7
CisgICAgQ0NMYXllckltcGwqIGludGVybWVkaWF0ZUxheWVyUHRyOworICAgIENDTGF5ZXJJbXBs
KiBzdXJmYWNlTGF5ZXJQdHI7CisgICAgQ0NMYXllckltcGwqIGNoaWxkUHRyOworCisgICAgc2V0
dXBMYXllcnNGb3JUZXh0dXJlQ2FjaGluZyhteUhvc3RJbXBsLmdldCgpLCByb290UHRyLCBpbnRl
cm1lZGlhdGVMYXllclB0ciwgc3VyZmFjZUxheWVyUHRyLCBjaGlsZFB0cik7CiAKICAgICB7CiAg
ICAgICAgIENDTGF5ZXJUcmVlSG9zdEltcGw6OkZyYW1lRGF0YSBmcmFtZTsKQEAgLTI2MTQsNiAr
MjYyNCwxNjUgQEAgVEVTVF9GKENDTGF5ZXJUcmVlSG9zdEltcGxUZXN0LCBzdXJmYWNlVGV4dHVy
ZUNhY2hpbmcpCiAgICAgfQogfQogCitURVNUX0YoQ0NMYXllclRyZWVIb3N0SW1wbFRlc3QsIHN1
cmZhY2VUZXh0dXJlQ2FjaGluZ05vUGFydGlhbFN3YXApCit7CisgICAgQ0NTZXR0aW5nczo6c2V0
UGFydGlhbFN3YXBFbmFibGVkKGZhbHNlKTsKKworICAgIENDTGF5ZXJUcmVlU2V0dGluZ3Mgc2V0
dGluZ3M7CisgICAgT3duUHRyPENDTGF5ZXJUcmVlSG9zdEltcGw+IG15SG9zdEltcGwgPSBDQ0xh
eWVyVHJlZUhvc3RJbXBsOjpjcmVhdGUoc2V0dGluZ3MsIHRoaXMpOworCisgICAgQ0NMYXllcklt
cGwqIHJvb3RQdHI7CisgICAgQ0NMYXllckltcGwqIGludGVybWVkaWF0ZUxheWVyUHRyOworICAg
IENDTGF5ZXJJbXBsKiBzdXJmYWNlTGF5ZXJQdHI7CisgICAgQ0NMYXllckltcGwqIGNoaWxkUHRy
OworCisgICAgc2V0dXBMYXllcnNGb3JUZXh0dXJlQ2FjaGluZyhteUhvc3RJbXBsLmdldCgpLCBy
b290UHRyLCBpbnRlcm1lZGlhdGVMYXllclB0ciwgc3VyZmFjZUxheWVyUHRyLCBjaGlsZFB0cik7
CisKKyAgICB7CisgICAgICAgIENDTGF5ZXJUcmVlSG9zdEltcGw6OkZyYW1lRGF0YSBmcmFtZTsK
KyAgICAgICAgRVhQRUNUX1RSVUUobXlIb3N0SW1wbC0+cHJlcGFyZVRvRHJhdyhmcmFtZSkpOwor
CisgICAgICAgIC8vIE11c3QgcmVjZWl2ZSB0d28gcmVuZGVyIHBhc3NlcywgZWFjaCB3aXRoIG9u
ZSBxdWFkCisgICAgICAgIEFTU0VSVF9FUSgyVSwgZnJhbWUucmVuZGVyUGFzc2VzLnNpemUoKSk7
CisgICAgICAgIEVYUEVDVF9FUSgxVSwgZnJhbWUucmVuZGVyUGFzc2VzWzBdLT5xdWFkTGlzdCgp
LnNpemUoKSk7CisgICAgICAgIEVYUEVDVF9FUSgxVSwgZnJhbWUucmVuZGVyUGFzc2VzWzFdLT5x
dWFkTGlzdCgpLnNpemUoKSk7CisKKyAgICAgICAgRVhQRUNUX0VRKENDRHJhd1F1YWQ6OlJlbmRl
clBhc3MsIGZyYW1lLnJlbmRlclBhc3Nlc1sxXS0+cXVhZExpc3QoKVswXS0+bWF0ZXJpYWwoKSk7
CisgICAgICAgIENDUmVuZGVyUGFzc0RyYXdRdWFkKiBxdWFkID0gc3RhdGljX2Nhc3Q8Q0NSZW5k
ZXJQYXNzRHJhd1F1YWQqPihmcmFtZS5yZW5kZXJQYXNzZXNbMV0tPnF1YWRMaXN0KClbMF0uZ2V0
KCkpOworICAgICAgICBFWFBFQ1RfVFJVRShxdWFkLT5yZW5kZXJQYXNzKCktPnRhcmdldFN1cmZh
Y2UoKS0+Y29udGVudHNDaGFuZ2VkKCkpOworCisgICAgICAgIG15SG9zdEltcGwtPmRyYXdMYXll
cnMoZnJhbWUpOworICAgICAgICBteUhvc3RJbXBsLT5kaWREcmF3QWxsTGF5ZXJzKGZyYW1lKTsK
KyAgICB9CisKKyAgICAvLyBEcmF3IHdpdGhvdXQgYW55IGNoYW5nZQorICAgIHsKKyAgICAgICAg
Q0NMYXllclRyZWVIb3N0SW1wbDo6RnJhbWVEYXRhIGZyYW1lOworICAgICAgICBFWFBFQ1RfVFJV
RShteUhvc3RJbXBsLT5wcmVwYXJlVG9EcmF3KGZyYW1lKSk7CisKKyAgICAgICAgLy8gRXZlbiB0
aG91Z2ggdGhlcmUgd2FzIG5vIGNoYW5nZSwgd2Ugc2V0IHRoZSBkYW1hZ2UgdG8gZW50aXJlIHZp
ZXdwb3J0LgorICAgICAgICAvLyBPbmUgb2YgdGhlIHBhc3NlcyBzaG91bGQgYmUgY3VsbGVkIGFz
IGEgcmVzdWx0LCBzaW5jZSBjb250ZW50cyBkaWRuJ3QgY2hhbmdlCisgICAgICAgIC8vIGFuZCB3
ZSBoYXZlIGNhY2hlZCB0ZXh0dXJlLgorICAgICAgICBBU1NFUlRfRVEoMVUsIGZyYW1lLnJlbmRl
clBhc3Nlcy5zaXplKCkpOworICAgICAgICBFWFBFQ1RfRVEoMVUsIGZyYW1lLnJlbmRlclBhc3Nl
c1swXS0+cXVhZExpc3QoKS5zaXplKCkpOworCisgICAgICAgIG15SG9zdEltcGwtPmRyYXdMYXll
cnMoZnJhbWUpOworICAgICAgICBteUhvc3RJbXBsLT5kaWREcmF3QWxsTGF5ZXJzKGZyYW1lKTsK
KyAgICB9CisKKyAgICAvLyBDaGFuZ2Ugb3BhY2l0eSBhbmQgZHJhdworICAgIHN1cmZhY2VMYXll
clB0ci0+c2V0T3BhY2l0eSgwLjZmKTsKKyAgICB7CisgICAgICAgIENDTGF5ZXJUcmVlSG9zdElt
cGw6OkZyYW1lRGF0YSBmcmFtZTsKKyAgICAgICAgRVhQRUNUX1RSVUUobXlIb3N0SW1wbC0+cHJl
cGFyZVRvRHJhdyhmcmFtZSkpOworCisgICAgICAgIC8vIE11c3QgcmVjZWl2ZSBvbmUgcmVuZGVy
IHBhc3MsIGFzIHRoZSBvdGhlciBvbmUgc2hvdWxkIGJlIGN1bGxlZAorICAgICAgICBBU1NFUlRf
RVEoMVUsIGZyYW1lLnJlbmRlclBhc3Nlcy5zaXplKCkpOworCisgICAgICAgIEVYUEVDVF9FUSgx
VSwgZnJhbWUucmVuZGVyUGFzc2VzWzBdLT5xdWFkTGlzdCgpLnNpemUoKSk7CisgICAgICAgIEVY
UEVDVF9FUShDQ0RyYXdRdWFkOjpSZW5kZXJQYXNzLCBmcmFtZS5yZW5kZXJQYXNzZXNbMF0tPnF1
YWRMaXN0KClbMF0tPm1hdGVyaWFsKCkpOworICAgICAgICBDQ1JlbmRlclBhc3NEcmF3UXVhZCog
cXVhZCA9IHN0YXRpY19jYXN0PENDUmVuZGVyUGFzc0RyYXdRdWFkKj4oZnJhbWUucmVuZGVyUGFz
c2VzWzBdLT5xdWFkTGlzdCgpWzBdLmdldCgpKTsKKyAgICAgICAgRVhQRUNUX0ZBTFNFKHF1YWQt
PnJlbmRlclBhc3MoKS0+dGFyZ2V0U3VyZmFjZSgpLT5jb250ZW50c0NoYW5nZWQoKSk7CisKKyAg
ICAgICAgbXlIb3N0SW1wbC0+ZHJhd0xheWVycyhmcmFtZSk7CisgICAgICAgIG15SG9zdEltcGwt
PmRpZERyYXdBbGxMYXllcnMoZnJhbWUpOworICAgIH0KKworICAgIC8vIENoYW5nZSBsZXNzIGJl
bmlnbiBwcm9wZXJ0eSBhbmQgZHJhdyAtIHNob3VsZCBoYXZlIGNvbnRlbnRzIGNoYW5nZWQgZmxh
ZworICAgIHN1cmZhY2VMYXllclB0ci0+c2V0U3RhY2tpbmdPcmRlckNoYW5nZWQodHJ1ZSk7Cisg
ICAgeworICAgICAgICBDQ0xheWVyVHJlZUhvc3RJbXBsOjpGcmFtZURhdGEgZnJhbWU7CisgICAg
ICAgIEVYUEVDVF9UUlVFKG15SG9zdEltcGwtPnByZXBhcmVUb0RyYXcoZnJhbWUpKTsKKworICAg
ICAgICAvLyBNdXN0IHJlY2VpdmUgdHdvIHJlbmRlciBwYXNzZXMsIGVhY2ggd2l0aCBvbmUgcXVh
ZAorICAgICAgICBBU1NFUlRfRVEoMlUsIGZyYW1lLnJlbmRlclBhc3Nlcy5zaXplKCkpOworCisg
ICAgICAgIEVYUEVDVF9FUSgxVSwgZnJhbWUucmVuZGVyUGFzc2VzWzBdLT5xdWFkTGlzdCgpLnNp
emUoKSk7CisgICAgICAgIEVYUEVDVF9FUShDQ0RyYXdRdWFkOjpTb2xpZENvbG9yLCBmcmFtZS5y
ZW5kZXJQYXNzZXNbMF0tPnF1YWRMaXN0KClbMF0tPm1hdGVyaWFsKCkpOworCisgICAgICAgIEVY
UEVDVF9FUShDQ0RyYXdRdWFkOjpSZW5kZXJQYXNzLCBmcmFtZS5yZW5kZXJQYXNzZXNbMV0tPnF1
YWRMaXN0KClbMF0tPm1hdGVyaWFsKCkpOworICAgICAgICBDQ1JlbmRlclBhc3NEcmF3UXVhZCog
cXVhZCA9IHN0YXRpY19jYXN0PENDUmVuZGVyUGFzc0RyYXdRdWFkKj4oZnJhbWUucmVuZGVyUGFz
c2VzWzFdLT5xdWFkTGlzdCgpWzBdLmdldCgpKTsKKyAgICAgICAgRVhQRUNUX1RSVUUocXVhZC0+
cmVuZGVyUGFzcygpLT50YXJnZXRTdXJmYWNlKCktPmNvbnRlbnRzQ2hhbmdlZCgpKTsKKworICAg
ICAgICBteUhvc3RJbXBsLT5kcmF3TGF5ZXJzKGZyYW1lKTsKKyAgICAgICAgbXlIb3N0SW1wbC0+
ZGlkRHJhd0FsbExheWVycyhmcmFtZSk7CisgICAgfQorCisgICAgLy8gQ2hhbmdlIG9wYWNpdHkg
YWdhaW4sIGJ1dCBldmljdCB0aGUgY2FjaGVkIHN1cmZhY2UgdGV4dHVyZQorICAgIHN1cmZhY2VM
YXllclB0ci0+c2V0T3BhY2l0eSgwLjVmKTsKKyAgICBNYW5hZ2VkVGV4dHVyZSogY29udGVudHNU
ZXh0dXJlID0gc3VyZmFjZUxheWVyUHRyLT5yZW5kZXJTdXJmYWNlKCktPmNvbnRlbnRzVGV4dHVy
ZSgpOworICAgIEFTU0VSVF9UUlVFKGNvbnRlbnRzVGV4dHVyZS0+aXNWYWxpZChjb250ZW50c1Rl
eHR1cmUtPnNpemUoKSwgY29udGVudHNUZXh0dXJlLT5mb3JtYXQoKSkpOworICAgIENDUmVuZGVy
ZXIqIHJlbmRlcmVyID0gbXlIb3N0SW1wbC0+bGF5ZXJSZW5kZXJlcigpOworICAgIFRleHR1cmVN
YW5hZ2VyKiB0ZXh0dXJlTWFuYWdlciA9IHJlbmRlcmVyLT5pbXBsVGV4dHVyZU1hbmFnZXIoKTsK
KyAgICBzaXplX3QgbWF4TWVtb3J5TGltaXQgPSB0ZXh0dXJlTWFuYWdlci0+bWF4TWVtb3J5TGlt
aXRCeXRlcygpOworCisgICAgLy8gVGhpcyBzaG91bGQgZXZpY2UgYWxsIGNhY2hlZCBzdXJmYWNl
cworICAgIHRleHR1cmVNYW5hZ2VyLT5zZXRNYXhNZW1vcnlMaW1pdEJ5dGVzKDApOworCisgICAg
Ly8gUmVzdG9yZSBvcmlnaW5hbCBsaW1pdAorICAgIHRleHR1cmVNYW5hZ2VyLT5zZXRNYXhNZW1v
cnlMaW1pdEJ5dGVzKG1heE1lbW9yeUxpbWl0KTsKKworICAgIC8vIFdhcyBvdXIgc3VyZmFjZSBl
dmljdGVkPworICAgIEFTU0VSVF9GQUxTRShjb250ZW50c1RleHR1cmUtPmlzVmFsaWQoY29udGVu
dHNUZXh0dXJlLT5zaXplKCksIGNvbnRlbnRzVGV4dHVyZS0+Zm9ybWF0KCkpKTsKKworICAgIC8v
IENoYW5nZSBvcGFjaXR5IGFuZCBkcmF3CisgICAgc3VyZmFjZUxheWVyUHRyLT5zZXRPcGFjaXR5
KDAuNmYpOworICAgIHsKKyAgICAgICAgQ0NMYXllclRyZWVIb3N0SW1wbDo6RnJhbWVEYXRhIGZy
YW1lOworICAgICAgICBFWFBFQ1RfVFJVRShteUhvc3RJbXBsLT5wcmVwYXJlVG9EcmF3KGZyYW1l
KSk7CisKKyAgICAgICAgLy8gTXVzdCByZWNlaXZlIHR3byByZW5kZXIgcGFzc2VzCisgICAgICAg
IEFTU0VSVF9FUSgyVSwgZnJhbWUucmVuZGVyUGFzc2VzLnNpemUoKSk7CisKKyAgICAgICAgLy8g
RXZlbiB0aG91Z2ggbm90IGVub3VnaCBwcm9wZXJ0aWVzIGNoYW5nZWQsIHRoZSBlbnRpcmUgdGhp
bmcgbXVzdCBiZQorICAgICAgICAvLyByZWRyYXduIGFzIHdlIGRvbid0IGhhdmUgY2FjaGVkIHRl
eHR1cmVzCisgICAgICAgIEVYUEVDVF9FUSgxVSwgZnJhbWUucmVuZGVyUGFzc2VzWzBdLT5xdWFk
TGlzdCgpLnNpemUoKSk7CisgICAgICAgIEVYUEVDVF9FUSgxVSwgZnJhbWUucmVuZGVyUGFzc2Vz
WzFdLT5xdWFkTGlzdCgpLnNpemUoKSk7CisKKyAgICAgICAgRVhQRUNUX0VRKENDRHJhd1F1YWQ6
OlJlbmRlclBhc3MsIGZyYW1lLnJlbmRlclBhc3Nlc1sxXS0+cXVhZExpc3QoKVswXS0+bWF0ZXJp
YWwoKSk7CisgICAgICAgIENDUmVuZGVyUGFzc0RyYXdRdWFkKiBxdWFkID0gc3RhdGljX2Nhc3Q8
Q0NSZW5kZXJQYXNzRHJhd1F1YWQqPihmcmFtZS5yZW5kZXJQYXNzZXNbMV0tPnF1YWRMaXN0KClb
MF0uZ2V0KCkpOworICAgICAgICBFWFBFQ1RfRkFMU0UocXVhZC0+cmVuZGVyUGFzcygpLT50YXJn
ZXRTdXJmYWNlKCktPmNvbnRlbnRzQ2hhbmdlZCgpKTsKKworICAgICAgICBteUhvc3RJbXBsLT5k
cmF3TGF5ZXJzKGZyYW1lKTsKKyAgICAgICAgbXlIb3N0SW1wbC0+ZGlkRHJhd0FsbExheWVycyhm
cmFtZSk7CisgICAgfQorCisgICAgLy8gRHJhdyB3aXRob3V0IGFueSBjaGFuZ2UsIHRvIG1ha2Ug
c3VyZSB0aGUgc3RhdGUgaXMgY2xlYXIKKyAgICB7CisgICAgICAgIENDTGF5ZXJUcmVlSG9zdElt
cGw6OkZyYW1lRGF0YSBmcmFtZTsKKyAgICAgICAgRVhQRUNUX1RSVUUobXlIb3N0SW1wbC0+cHJl
cGFyZVRvRHJhdyhmcmFtZSkpOworCisgICAgICAgIC8vIEV2ZW4gdGhvdWdoIHRoZXJlIHdhcyBu
byBjaGFuZ2UsIHdlIHNldCB0aGUgZGFtYWdlIHRvIGVudGlyZSB2aWV3cG9ydC4KKyAgICAgICAg
Ly8gT25lIG9mIHRoZSBwYXNzZXMgc2hvdWxkIGJlIGN1bGxlZCBhcyBhIHJlc3VsdCwgc2luY2Ug
Y29udGVudHMgZGlkbid0IGNoYW5nZQorICAgICAgICAvLyBhbmQgd2UgaGF2ZSBjYWNoZWQgdGV4
dHVyZS4KKyAgICAgICAgQVNTRVJUX0VRKDFVLCBmcmFtZS5yZW5kZXJQYXNzZXMuc2l6ZSgpKTsK
KyAgICAgICAgRVhQRUNUX0VRKDFVLCBmcmFtZS5yZW5kZXJQYXNzZXNbMF0tPnF1YWRMaXN0KCku
c2l6ZSgpKTsKKworICAgICAgICBteUhvc3RJbXBsLT5kcmF3TGF5ZXJzKGZyYW1lKTsKKyAgICAg
ICAgbXlIb3N0SW1wbC0+ZGlkRHJhd0FsbExheWVycyhmcmFtZSk7CisgICAgfQorCisgICAgLy8g
Q2hhbmdlIG9wYWNpdHkgb24gdGhlIGludGVybWVkaWF0ZSBsYXllcgorICAgIFdlYlRyYW5zZm9y
bWF0aW9uTWF0cml4IHRyYW5zZm9ybSA9IGludGVybWVkaWF0ZUxheWVyUHRyLT50cmFuc2Zvcm0o
KTsKKyAgICB0cmFuc2Zvcm0uc2V0TTExKDEuMDAwMSk7CisgICAgaW50ZXJtZWRpYXRlTGF5ZXJQ
dHItPnNldFRyYW5zZm9ybSh0cmFuc2Zvcm0pOworICAgIHsKKyAgICAgICAgQ0NMYXllclRyZWVI
b3N0SW1wbDo6RnJhbWVEYXRhIGZyYW1lOworICAgICAgICBFWFBFQ1RfVFJVRShteUhvc3RJbXBs
LT5wcmVwYXJlVG9EcmF3KGZyYW1lKSk7CisKKyAgICAgICAgLy8gTXVzdCByZWNlaXZlIG9uZSBy
ZW5kZXIgcGFzcywgYXMgdGhlIG90aGVyIG9uZSBzaG91bGQgYmUgY3VsbGVkLgorICAgICAgICBB
U1NFUlRfRVEoMVUsIGZyYW1lLnJlbmRlclBhc3Nlcy5zaXplKCkpOworICAgICAgICBFWFBFQ1Rf
RVEoMVUsIGZyYW1lLnJlbmRlclBhc3Nlc1swXS0+cXVhZExpc3QoKS5zaXplKCkpOworCisgICAg
ICAgIEVYUEVDVF9FUShDQ0RyYXdRdWFkOjpSZW5kZXJQYXNzLCBmcmFtZS5yZW5kZXJQYXNzZXNb
MF0tPnF1YWRMaXN0KClbMF0tPm1hdGVyaWFsKCkpOworICAgICAgICBDQ1JlbmRlclBhc3NEcmF3
UXVhZCogcXVhZCA9IHN0YXRpY19jYXN0PENDUmVuZGVyUGFzc0RyYXdRdWFkKj4oZnJhbWUucmVu
ZGVyUGFzc2VzWzBdLT5xdWFkTGlzdCgpWzBdLmdldCgpKTsKKyAgICAgICAgRVhQRUNUX0ZBTFNF
KHF1YWQtPnJlbmRlclBhc3MoKS0+dGFyZ2V0U3VyZmFjZSgpLT5jb250ZW50c0NoYW5nZWQoKSk7
CisKKyAgICAgICAgbXlIb3N0SW1wbC0+ZHJhd0xheWVycyhmcmFtZSk7CisgICAgICAgIG15SG9z
dEltcGwtPmRpZERyYXdBbGxMYXllcnMoZnJhbWUpOworICAgIH0KK30KKwogc3RydWN0IFJlbmRl
clBhc3NDYWNoZUVudHJ5IHsKICAgICBtdXRhYmxlIE93blB0cjxDQ1JlbmRlclBhc3M+IHJlbmRl
clBhc3NQdHI7CiAgICAgQ0NSZW5kZXJQYXNzKiByZW5kZXJQYXNzOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>