<?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>72521</bug_id>
          
          <creation_ts>2011-11-16 10:26:16 -0800</creation_ts>
          <short_desc>[chromium] Track property changes for render surfaces</short_desc>
          <delta_ts>2011-11-16 17:00:08 -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>Layout and Rendering</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>
          
          <blocked>67341</blocked>
    
    <blocked>72520</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Shawn Singh">shawnsingh</reporter>
          <assigned_to name="Shawn Singh">shawnsingh</assigned_to>
          <cc>cc-bugs</cc>
    
    <cc>enne</cc>
    
    <cc>jamesr</cc>
    
    <cc>nduca</cc>
    
    <cc>vangelis</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>504024</commentid>
    <comment_count>0</comment_count>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2011-11-16 10:26:16 -0800</bug_when>
    <thetext>In the process of implementing the CCDamageTracker, https://bugs.webkit.org/show_bug.cgi?id=72520 it became clear that we need to track damage on render surfaces, similar to the way we already track damage for layers.
To do this cleanly, it is also appropriate to re-name some of the functions that track property changes for layers as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>504045</commentid>
    <comment_count>1</comment_count>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2011-11-16 10:45:22 -0800</bug_when>
    <thetext>(In reply to comment #0)
&gt; In the process of implementing the CCDamageTracker, https://bugs.webkit.org/show_bug.cgi?id=72520 it became clear that we need to track damage on render surfaces, similar to the way we already track damage for layers.
&gt; To do this cleanly, it is also appropriate to re-name some of the functions that track property changes for layers as well.

Oops, I should say &quot;track property changes&quot; rather than &quot;track damage&quot; for this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>504175</commentid>
    <comment_count>2</comment_count>
      <attachid>115430</attachid>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2011-11-16 13:12:08 -0800</bug_when>
    <thetext>Created attachment 115430
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>504189</commentid>
    <comment_count>3</comment_count>
      <attachid>115433</attachid>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2011-11-16 13:24:15 -0800</bug_when>
    <thetext>Created attachment 115433
fixed if-statemets to follow webkit conventions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>504328</commentid>
    <comment_count>4</comment_count>
      <attachid>115433</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2011-11-16 15:31:39 -0800</bug_when>
    <thetext>Comment on attachment 115433
fixed if-statemets to follow webkit conventions

This unofficially looks good to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>504330</commentid>
    <comment_count>5</comment_count>
      <attachid>115433</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-11-16 15:37:29 -0800</bug_when>
    <thetext>Comment on attachment 115433
fixed if-statemets to follow webkit conventions

R=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>504408</commentid>
    <comment_count>6</comment_count>
      <attachid>115433</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-16 17:00:03 -0800</bug_when>
    <thetext>Comment on attachment 115433
fixed if-statemets to follow webkit conventions

Clearing flags on attachment: 115433

Committed r100530: &lt;http://trac.webkit.org/changeset/100530&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>504409</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-16 17:00:08 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>115430</attachid>
            <date>2011-11-16 13:12:08 -0800</date>
            <delta_ts>2011-11-16 13:24:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-72521-20111116131207.patch</filename>
            <type>text/plain</type>
            <size>16283</size>
            <attacher name="Shawn Singh">shawnsingh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAwMjYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWM1NzEwOTNiNjQwZDNm
Y2Q1Zjg1MGQ3ZWRiMjUzNDk1NmVkOTRmNC4uMWI4N2VhNzkyNTkyOGQ2MzE3MzZiMzA5MGY5Yjgx
Mzc0NGM0ODRiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDExLTExLTE2ICBTaGF3
biBTaW5naCAgPHNoYXduc2luZ2hAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0g
VHJhY2sgcHJvcGVydHkgY2hhbmdlcyBmb3IgcmVuZGVyIHN1cmZhY2VzLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1MjEKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDcmVhdGVkIENDUmVuZGVyU3VyZmFj
ZVRlc3QgZm9yIHRlc3RpbmcuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJSZW5k
ZXJlckNocm9taXVtOjpkcmF3TGF5ZXJzT250b1JlbmRlclN1cmZhY2VzKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVySW1wbC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDQ0xheWVySW1wbDo6cmVzZXRQcm9wZXJ0eUNoYW5nZWRGbGFnRm9yU3VidHJlZSk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllckltcGwuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclN1cmZhY2Uu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q0NSZW5kZXJTdXJmYWNlOjpDQ1JlbmRlclN1cmZhY2Up
OgorICAgICAgICAoV2ViQ29yZTo6Q0NSZW5kZXJTdXJmYWNlOjpzZXRDbGlwUmVjdCk6CisgICAg
ICAgIChXZWJDb3JlOjpDQ1JlbmRlclN1cmZhY2U6OnNldENvbnRlbnRSZWN0KToKKyAgICAgICAg
KFdlYkNvcmU6OkNDUmVuZGVyU3VyZmFjZTo6c3VyZmFjZVByb3BlcnR5Q2hhbmdlZCk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJTdXJmYWNlLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpDQ1JlbmRlclN1cmZhY2U6OnJlc2V0UHJvcGVydHlDaGFuZ2VkRmxh
Zyk6CisKIDIwMTEtMTEtMTUgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwu
Y29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMDAyMTMuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCmluZGV4IGE5M2M3ZDY4YThmZGUwOTBkZWE1NjEyOWFjZjAxMzk0MGRh
OGVmYTQuLmNiYjg2NGZjYWIwYzJjMDMwZTNiZWFlNWE5YjAzYjFkMjRlODkyZTAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMTEtMTYgIFNoYXduIFNp
bmdoICA8c2hhd25zaW5naEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBUcmFj
ayBwcm9wZXJ0eSBjaGFuZ2VzIGZvciByZW5kZXIgc3VyZmFjZXMuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MjUyMQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViS2l0Lmd5cGk6CisgICAgICAgICog
dGVzdHMvQ0NMYXllckltcGxUZXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRFU1QpOgorICAg
ICAgICAqIHRlc3RzL0NDUmVuZGVyU3VyZmFjZVRlc3QuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OlRFU1QpOgorCiAyMDExLTExLTE1ICBBbHBoYSBMYW0gIDxoY2xhbUBjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBzY3JvbGwgZGVsdGFzIGFyZSBjbGVhcmVkIGR1cmlu
ZyBjb21taXQgdG8gdGhlIG1haW4gdGhyZWFkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9t
aXVtLmNwcAppbmRleCAxMzRiYjA1MmMyNzhmMGQzOGE0ZjE5NmFmYWJlMGU5ZDk0OTkwOGU3Li4w
NjNhYjUxNTNmMTJhMTAzMGUzNTUyOGViNDgxMTc3ZTFjNWVlYzIyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21p
dW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xh
eWVyUmVuZGVyZXJDaHJvbWl1bS5jcHAKQEAgLTM0NCw2ICszNDQsOSBAQCB2b2lkIExheWVyUmVu
ZGVyZXJDaHJvbWl1bTo6ZHJhd0xheWVyc09udG9SZW5kZXJTdXJmYWNlcyhDQ0xheWVySW1wbCog
cm9vdERyYXdMYQogICAgICAgICAgICAgICAgIGRyYXdMYXllcihsYXllckxpc3RbbGF5ZXJJbmRl
eF0uZ2V0KCksIHJlbmRlclN1cmZhY2UpOwogICAgICAgICB9CiAgICAgfQorCisgICAgLy8gVGhl
IG5leHQgZnJhbWUgc2hvdWxkIHN0YXJ0IGJ5IGFzc3VtaW5nIG5vdGhpbmcgaGFzIGNoYW5nZWQs
IGFuZCBjaGFuZ2VzIGFyZSBub3RlZCBhcyB0aGV5IG9jY3VyLgorICAgIHJvb3REcmF3TGF5ZXIt
PnJlc2V0UHJvcGVydHlDaGFuZ2VkRmxhZ0ZvclN1YnRyZWUoKTsKIH0KIAogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVySW1w
bC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xh
eWVySW1wbC5jcHAKaW5kZXggOTA0OGZkYzgyZDEwNWIzYzYyNjBkZWFiMWQ5MTBkMTA4MWVhYTQ2
Ni4uNDk1M2RkMjMwMjVjYzUzMWY0MWJmNTlmZDIyODM2ZDgwZjM3NWY0OSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllckltcGwu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
TGF5ZXJJbXBsLmNwcApAQCAtMjM5LDYgKzIzOSwxNyBAQCB2b2lkIENDTGF5ZXJJbXBsOjpub3Rl
TGF5ZXJQcm9wZXJ0eUNoYW5nZWRGb3JEZXNjZW5kYW50cygpCiAgICAgICAgIG1fY2hpbGRyZW5b
aV0tPm5vdGVMYXllclByb3BlcnR5Q2hhbmdlZEZvclN1YnRyZWUoKTsKIH0KIAordm9pZCBDQ0xh
eWVySW1wbDo6cmVzZXRQcm9wZXJ0eUNoYW5nZWRGbGFnRm9yU3VidHJlZSgpCit7CisgICAgbV9s
YXllclByb3BlcnR5Q2hhbmdlZCA9IGZhbHNlOworCisgICAgaWYgKG1fcmVuZGVyU3VyZmFjZSkK
KyAgICAgICAgbV9yZW5kZXJTdXJmYWNlLT5yZXNldFByb3BlcnR5Q2hhbmdlZEZsYWcoKTsKKwor
ICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9jaGlsZHJlbi5zaXplKCk7ICsraSkKKyAgICAg
ICAgbV9jaGlsZHJlbltpXS0+cmVzZXRQcm9wZXJ0eUNoYW5nZWRGbGFnRm9yU3VidHJlZSgpOwor
fQorCiB2b2lkIENDTGF5ZXJJbXBsOjpzZXRCb3VuZHMoY29uc3QgSW50U2l6ZSYgYm91bmRzKQog
ewogICAgIGlmIChtX2JvdW5kcyAhPSBib3VuZHMpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJJbXBsLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVySW1wbC5oCmluZGV4
IDUyNDEzMzU5MWY0MjFlNThmZjZlNTM5ODM2MDdjZWFmNzYyOWIzMTEuLmQ0YTkxYjU0ODMwN2Ix
NDcyM2FkMDY3YzhkM2FmNTliMTNiYjg4NTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJJbXBsLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllckltcGwuaApAQCAtMTky
LDcgKzE5Miw3IEBAIHB1YmxpYzoKICAgICBTdHJpbmcgbGF5ZXJUcmVlQXNUZXh0KCkgY29uc3Q7
CiAKICAgICBib29sIGxheWVyUHJvcGVydHlDaGFuZ2VkKCkgY29uc3QgeyByZXR1cm4gbV9sYXll
clByb3BlcnR5Q2hhbmdlZDsgfQotICAgIHZvaWQgcmVzZXRMYXllclByb3BlcnR5Q2hhbmdlZCgp
IHsgbV9sYXllclByb3BlcnR5Q2hhbmdlZCA9IGZhbHNlOyB9CisgICAgdm9pZCByZXNldFByb3Bl
cnR5Q2hhbmdlZEZsYWdGb3JTdWJ0cmVlKCk7IC8vIGFsc28gcmVzZXRzIHByb3BlcnR5IGNoYW5n
ZSBmb3IgZXhpc3RpbmcgcmVuZGVyIHN1cmZhY2VzLgogCiBwcm90ZWN0ZWQ6CiAgICAgZXhwbGlj
aXQgQ0NMYXllckltcGwoaW50KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyU3VyZmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclN1cmZhY2UuY3BwCmluZGV4
IDQ3YTc2MzEwYmViYzE4NGQ4MzhkYWJhMzliMzNhMDZmZjJmYmY1Y2QuLmI5MjhiMzA4ODBmYjZh
ZmNiZTA4NmJkNjZhODM5ZWZlYjRmNWE0NmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyU3VyZmFjZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJTdXJmYWNl
LmNwcApAQCAtNDMsNiArNDMsNyBAQCBDQ1JlbmRlclN1cmZhY2U6OkNDUmVuZGVyU3VyZmFjZShD
Q0xheWVySW1wbCogb3duaW5nTGF5ZXIpCiAgICAgOiBtX293bmluZ0xheWVyKG93bmluZ0xheWVy
KQogICAgICwgbV9tYXNrTGF5ZXIoMCkKICAgICAsIG1fc2tpcHNEcmF3KGZhbHNlKQorICAgICwg
bV9zdXJmYWNlUHJvcGVydHlDaGFuZ2VkKGZhbHNlKQogICAgICwgbV9kcmF3T3BhY2l0eSgxKQog
ewogfQpAQCAtMjM1LDUgKzIzNiwzNSBAQCBpbnQgQ0NSZW5kZXJTdXJmYWNlOjpvd25pbmdMYXll
cklkKCkgY29uc3QKICAgICByZXR1cm4gbV9vd25pbmdMYXllciA/IG1fb3duaW5nTGF5ZXItPmlk
KCkgOiAwOwogfQogCit2b2lkIENDUmVuZGVyU3VyZmFjZTo6c2V0Q2xpcFJlY3QoY29uc3QgSW50
UmVjdCYgY2xpcFJlY3QpCit7CisgICAgaWYgKG1fY2xpcFJlY3QgIT0gY2xpcFJlY3QpIHsKKyAg
ICAgICAgbV9zdXJmYWNlUHJvcGVydHlDaGFuZ2VkID0gdHJ1ZTsKKyAgICAgICAgbV9jbGlwUmVj
dCA9IGNsaXBSZWN0OworICAgIH0KK30KKwordm9pZCBDQ1JlbmRlclN1cmZhY2U6OnNldENvbnRl
bnRSZWN0KGNvbnN0IEludFJlY3QmIGNvbnRlbnRSZWN0KQoreworICAgIGlmIChtX2NvbnRlbnRS
ZWN0ICE9IGNvbnRlbnRSZWN0KSB7CisgICAgICAgIG1fc3VyZmFjZVByb3BlcnR5Q2hhbmdlZCA9
IHRydWU7CisgICAgICAgIG1fY29udGVudFJlY3QgPSBjb250ZW50UmVjdDsKKyAgICB9Cit9CisK
K2Jvb2wgQ0NSZW5kZXJTdXJmYWNlOjpzdXJmYWNlUHJvcGVydHlDaGFuZ2VkKCkgY29uc3QKK3sK
KyAgICAvLyBTdXJmYWNlIHByb3BlcnR5IGNoYW5nZXMgYXJlIHRyYWNrZWQgYXMgZm9sbG93czoK
KyAgICAvLworICAgIC8vIC0gbV9zdXJmYWNlUHJvcGVydHlDaGFuZ2VkIGlzIGZsYWdnZWQgd2hl
biB0aGUgY2xpcFJlY3Qgb3IgY29udGVudFJlY3QgY2hhbmdlLiBBcworICAgIC8vICAgb2Ygbm93
LCB0aGVzZSBhcmUgdGhlIG9ubHkgdHdvIHByb3BlcnRpZXMgdGhhdCBjYW4gYmUgYWZmZWN0ZWQg
YnkgZGVzY2VuZGFudCBsYXllcnMuCisgICAgLy8KKyAgICAvLyAtIGFsbCBvdGhlciBwcm9wZXJ0
eSBjaGFuZ2VzIGNvbWUgZnJvbSB0aGUgb3duaW5nIGxheWVyIChvciBzb21lIGFuY2VzdG9yIGxh
eWVyCisgICAgLy8gICB0aGF0IHByb3BhZ2F0ZXMgaXRzIGNoYW5nZSB0byB0aGUgb3duaW5nIGxh
eWVyKS4KKyAgICAvLworICAgIEFTU0VSVChtX293bmluZ0xheWVyKTsKKyAgICByZXR1cm4gbV9z
dXJmYWNlUHJvcGVydHlDaGFuZ2VkIHx8IG1fb3duaW5nTGF5ZXItPmxheWVyUHJvcGVydHlDaGFu
Z2VkKCk7Cit9CisKIH0KICNlbmRpZiAvLyBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9D
Q1JlbmRlclN1cmZhY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL2NjL0NDUmVuZGVyU3VyZmFjZS5oCmluZGV4IGQ4MjNhNjY5NmNiZDg5NGYzNjFlNzdkYmNj
Mjc0ODkzZWIzMTA4M2EuLjRiZDRhZjg1ODE5NDI2OGNmMGM4NWQzYTZhMGQyZDQwOWUwZWJjZDgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2Nj
L0NDUmVuZGVyU3VyZmFjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL2NjL0NDUmVuZGVyU3VyZmFjZS5oCkBAIC03NSwxMCArNzUsMTAgQEAgcHVibGlj
OgogICAgIHZvaWQgc2V0T3JpZ2luVHJhbnNmb3JtKGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4
JiBvcmlnaW5UcmFuc2Zvcm0pIHsgbV9vcmlnaW5UcmFuc2Zvcm0gPSBvcmlnaW5UcmFuc2Zvcm07
IH0KICAgICBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgb3JpZ2luVHJhbnNmb3JtKCkgY29u
c3QgeyByZXR1cm4gbV9vcmlnaW5UcmFuc2Zvcm07IH0KIAotICAgIHZvaWQgc2V0Q2xpcFJlY3Qo
Y29uc3QgSW50UmVjdCYgY2xpcFJlY3QpIHsgbV9jbGlwUmVjdCA9IGNsaXBSZWN0OyB9CisgICAg
dm9pZCBzZXRDbGlwUmVjdChjb25zdCBJbnRSZWN0Jik7CiAgICAgY29uc3QgSW50UmVjdCYgY2xp
cFJlY3QoKSBjb25zdCB7IHJldHVybiBtX2NsaXBSZWN0OyB9CiAKLSAgICB2b2lkIHNldENvbnRl
bnRSZWN0KGNvbnN0IEludFJlY3QmIGNvbnRlbnRSZWN0KSB7IG1fY29udGVudFJlY3QgPSBjb250
ZW50UmVjdDsgfQorICAgIHZvaWQgc2V0Q29udGVudFJlY3QoY29uc3QgSW50UmVjdCYpOwogICAg
IGNvbnN0IEludFJlY3QmIGNvbnRlbnRSZWN0KCkgY29uc3QgeyByZXR1cm4gbV9jb250ZW50UmVj
dDsgfQogCiAgICAgdm9pZCBzZXRTa2lwc0RyYXcoYm9vbCBza2lwc0RyYXcpIHsgbV9za2lwc0Ry
YXcgPSBza2lwc0RyYXc7IH0KQEAgLTk3LDYgKzk3LDEwIEBAIHB1YmxpYzoKICAgICBNYW5hZ2Vk
VGV4dHVyZSogY29udGVudHNUZXh0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9jb250ZW50c1RleHR1
cmUuZ2V0KCk7IH0KIAogICAgIGludCBvd25pbmdMYXllcklkKCkgY29uc3Q7CisKKyAgICB2b2lk
IHJlc2V0UHJvcGVydHlDaGFuZ2VkRmxhZygpIHsgbV9zdXJmYWNlUHJvcGVydHlDaGFuZ2VkID0g
ZmFsc2U7IH0KKyAgICBib29sIHN1cmZhY2VQcm9wZXJ0eUNoYW5nZWQoKSBjb25zdDsKKwogcHJp
dmF0ZToKICAgICB2b2lkIGRyYXdMYXllcihMYXllclJlbmRlcmVyQ2hyb21pdW0qLCBDQ0xheWVy
SW1wbCosIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4Jik7CiAgICAgdGVtcGxhdGUgPGNsYXNz
IFQ+CkBAIC0xMDcsNiArMTExLDcgQEAgcHJpdmF0ZToKIAogICAgIEludFJlY3QgbV9jb250ZW50
UmVjdDsKICAgICBib29sIG1fc2tpcHNEcmF3OworICAgIGJvb2wgbV9zdXJmYWNlUHJvcGVydHlD
aGFuZ2VkOwogCiAgICAgT3duUHRyPE1hbmFnZWRUZXh0dXJlPiBtX2NvbnRlbnRzVGV4dHVyZTsK
ICAgICBmbG9hdCBtX2RyYXdPcGFjaXR5OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9XZWJLaXQuZ3lwaSBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cGkKaW5k
ZXggNjA5MzI2NmI5NGExYzI3ZjVkMDI3NTEwODFmNWVhODA2ODBiMTIwOS4uZDIzYTM5NDI0OWRk
YzkxNTkyZTM0ZGQ5N2I5MmE5NWI5MjQ0MWE1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9XZWJLaXQuZ3lwaQorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5n
eXBpCkBAIC02MSw2ICs2MSw3IEBACiAgICAgICAgICAgICAndGVzdHMvQ0NMYXllclRyZWVIb3N0
Q29tbW9uVGVzdC5jcHAnLAogICAgICAgICAgICAgJ3Rlc3RzL0NDTGF5ZXJUcmVlSG9zdEltcGxU
ZXN0LmNwcCcsCiAgICAgICAgICAgICAndGVzdHMvQ0NMYXllclRyZWVIb3N0VGVzdC5jcHAnLAor
ICAgICAgICAgICAgJ3Rlc3RzL0NDUmVuZGVyU3VyZmFjZVRlc3QuY3BwJywKICAgICAgICAgICAg
ICd0ZXN0cy9DQ1NjaGVkdWxlclRlc3QuY3BwJywKICAgICAgICAgICAgICd0ZXN0cy9DQ1NjaGVk
dWxlclN0YXRlTWFjaGluZVRlc3QuY3BwJywKICAgICAgICAgICAgICd0ZXN0cy9DQ1NjaGVkdWxl
clRlc3RDb21tb24uaCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3Rz
L0NDTGF5ZXJJbXBsVGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5
ZXJJbXBsVGVzdC5jcHAKaW5kZXggZDczMzM4NzZiYjQ0NmY4YmU1NDgzYTU3NGI1NTY1NzY0MTUx
YjdiYS4uNDU2NGVkYTg2MDRiZWI4Y2FjNWI5NDE5MzQ0OGE4MjQ2YmFmYTVhNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVySW1wbFRlc3QuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NMYXllckltcGxUZXN0LmNwcApAQCAtMzUs
MjcgKzM1LDIxIEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogbmFtZXNwYWNlIHsKIAogI2Rl
ZmluZSBFWEVDVVRFX0FORF9WRVJJRllfU1VCVFJFRV9DSEFOR0VEKGNvZGVUb1Rlc3QpICAgICAg
ICAgICAgICAgICAgXAotICAgIHJvb3QtPnJlc2V0TGF5ZXJQcm9wZXJ0eUNoYW5nZWQoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGNoaWxkLT5yZXNldExheWVyUHJv
cGVydHlDaGFuZ2VkKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGdy
YW5kQ2hpbGQtPnJlc2V0TGF5ZXJQcm9wZXJ0eUNoYW5nZWQoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAorICAgIHJvb3QtPnJlc2V0UHJvcGVydHlDaGFuZ2VkRmxhZ0ZvclN1YnRyZWUo
KTsgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIGNvZGVUb1Rlc3Q7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIEVYUEVD
VF9UUlVFKHJvb3QtPmxheWVyUHJvcGVydHlDaGFuZ2VkKCkpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAogICAgIEVYUEVDVF9UUlVFKGNoaWxkLT5sYXllclByb3BlcnR5Q2hhbmdlZCgpKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIEVYUEVDVF9UUlVFKGdyYW5kQ2hpbGQtPmxh
eWVyUHJvcGVydHlDaGFuZ2VkKCkpCiAKICNkZWZpbmUgRVhFQ1VURV9BTkRfVkVSSUZZX1NVQlRS
RUVfRElEX05PVF9DSEFOR0UoY29kZVRvVGVzdCkgICAgICAgICAgIFwKLSAgICByb290LT5yZXNl
dExheWVyUHJvcGVydHlDaGFuZ2VkKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICBjaGlsZC0+cmVzZXRMYXllclByb3BlcnR5Q2hhbmdlZCgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICBncmFuZENoaWxkLT5yZXNldExheWVyUHJvcGVydHlD
aGFuZ2VkKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICByb290LT5yZXNldFBy
b3BlcnR5Q2hhbmdlZEZsYWdGb3JTdWJ0cmVlKCk7ICAgICAgICAgICAgICAgICAgICAgICAgIFwK
ICAgICBjb2RlVG9UZXN0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKICAgICBFWFBFQ1RfRkFMU0Uocm9vdC0+bGF5ZXJQcm9wZXJ0eUNo
YW5nZWQoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBFWFBFQ1RfRkFMU0UoY2hp
bGQtPmxheWVyUHJvcGVydHlDaGFuZ2VkKCkpOyAgICAgICAgICAgICAgICAgICAgICAgIFwKICAg
ICBFWFBFQ1RfRkFMU0UoZ3JhbmRDaGlsZC0+bGF5ZXJQcm9wZXJ0eUNoYW5nZWQoKSkKIAogI2Rl
ZmluZSBFWEVDVVRFX0FORF9WRVJJRllfT05MWV9MQVlFUl9DSEFOR0VEKGNvZGVUb1Rlc3QpICAg
ICAgICAgICAgICAgXAotICAgIHJvb3QtPnJlc2V0TGF5ZXJQcm9wZXJ0eUNoYW5nZWQoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGNoaWxkLT5yZXNldExheWVyUHJv
cGVydHlDaGFuZ2VkKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGdy
YW5kQ2hpbGQtPnJlc2V0TGF5ZXJQcm9wZXJ0eUNoYW5nZWQoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAorICAgIHJvb3QtPnJlc2V0UHJvcGVydHlDaGFuZ2VkRmxhZ0ZvclN1YnRyZWUo
KTsgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIGNvZGVUb1Rlc3Q7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIEVYUEVD
VF9UUlVFKHJvb3QtPmxheWVyUHJvcGVydHlDaGFuZ2VkKCkpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAogICAgIEVYUEVDVF9GQUxTRShjaGlsZC0+bGF5ZXJQcm9wZXJ0eUNoYW5nZWQoKSk7
ICAgICAgICAgICAgICAgICAgICAgICAgXApAQCAtMTIxLDkgKzExNSw3IEBAIFRFU1QoQ0NMYXll
ckltcGxUZXN0LCB2ZXJpZnlMYXllckNoYW5nZXNBcmVUcmFja2VkUHJvcGVybHkpCiAgICAgRVhF
Q1VURV9BTkRfVkVSSUZZX09OTFlfTEFZRVJfQ0hBTkdFRChyb290LT5zZXRCYWNrZ3JvdW5kQ29s
b3IoQ29sb3I6OmdyYXkpKTsKIAogICAgIC8vIFNwZWNpYWwgY2FzZTogY2hlY2sgdGhhdCBzdWJs
YXllciB0cmFuc2Zvcm0gY2hhbmdlcyBhbGwgbGF5ZXIncyBkZXNjZW5kYW50cywgYnV0IG5vdCB0
aGUgbGF5ZXIgaXRzZWxmLgotICAgIHJvb3QtPnJlc2V0TGF5ZXJQcm9wZXJ0eUNoYW5nZWQoKTsK
LSAgICBjaGlsZC0+cmVzZXRMYXllclByb3BlcnR5Q2hhbmdlZCgpOwotICAgIGdyYW5kQ2hpbGQt
PnJlc2V0TGF5ZXJQcm9wZXJ0eUNoYW5nZWQoKTsKKyAgICByb290LT5yZXNldFByb3BlcnR5Q2hh
bmdlZEZsYWdGb3JTdWJ0cmVlKCk7CiAgICAgcm9vdC0+c2V0U3VibGF5ZXJUcmFuc2Zvcm0oYXJi
aXRyYXJ5VHJhbnNmb3JtKTsKICAgICBFWFBFQ1RfRkFMU0Uocm9vdC0+bGF5ZXJQcm9wZXJ0eUNo
YW5nZWQoKSk7CiAgICAgRVhQRUNUX1RSVUUoY2hpbGQtPmxheWVyUHJvcGVydHlDaGFuZ2VkKCkp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ1JlbmRlclN1cmZh
Y2VUZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NSZW5kZXJTdXJmYWNl
VGVzdC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNzA0NTQ0YjZhZGIzM2QzYTBmZmEzNWU4ZTc0MmQ0MzdkYzFl
ZmRmZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NS
ZW5kZXJTdXJmYWNlVGVzdC5jcHAKQEAgLTAsMCArMSw5NCBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
CisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorCisjaW5jbHVkZSAiY2MvQ0NSZW5kZXJTdXJmYWNlLmgiCisKKyNp
bmNsdWRlICJjYy9DQ0xheWVySW1wbC5oIgorI2luY2x1ZGUgImNjL0NDU2luZ2xlVGhyZWFkUHJv
eHkuaCIKKyNpbmNsdWRlIDxnbW9jay9nbW9jay5oPgorI2luY2x1ZGUgPGd0ZXN0L2d0ZXN0Lmg+
CisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3BhY2UgeworCisjZGVmaW5lIEVY
RUNVVEVfQU5EX1ZFUklGWV9TVVJGQUNFX0NIQU5HRUQoY29kZVRvVGVzdCkgICAgICAgICAgICAg
ICAgICBcCisgICAgcmVuZGVyU3VyZmFjZS0+cmVzZXRQcm9wZXJ0eUNoYW5nZWRGbGFnKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgY29kZVRvVGVzdDsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgRVhQRUNUX1RS
VUUocmVuZGVyU3VyZmFjZS0+c3VyZmFjZVByb3BlcnR5Q2hhbmdlZCgpKQorCisjZGVmaW5lIEVY
RUNVVEVfQU5EX1ZFUklGWV9TVVJGQUNFX0RJRF9OT1RfQ0hBTkdFKGNvZGVUb1Rlc3QpICAgICAg
ICAgICBcCisgICAgcmVuZGVyU3VyZmFjZS0+cmVzZXRQcm9wZXJ0eUNoYW5nZWRGbGFnKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgY29kZVRvVGVzdDsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgRVhQRUNUX0ZB
TFNFKHJlbmRlclN1cmZhY2UtPnN1cmZhY2VQcm9wZXJ0eUNoYW5nZWQoKSkKKworVEVTVChDQ1Jl
bmRlclN1cmZhY2VUZXN0LCB2ZXJpZnlTdXJmYWNlQ2hhbmdlc0FyZVRyYWNrZWRQcm9wZXJseSkK
K3sKKyAgICAvLworICAgIC8vIFRoaXMgdGVzdCBjaGVja3MgdGhhdCBzdXJmYWNlUHJvcGVydHlD
aGFuZ2VkKCkgaGFzIHRoZSBjb3JyZWN0IGJlaGF2aW9yLgorICAgIC8vCisKKyAgICAvLyBUaGlz
IHdpbGwgZmFrZSB0aGF0IHdlIGFyZSBvbiB0aGUgY29ycmVjdCB0aHJlYWQgZm9yIHRlc3Rpbmcg
cHVycG9zZXMuCisgICAgRGVidWdTY29wZWRTZXRJbXBsVGhyZWFkIHNldEltcGxUaHJlYWQ7CisK
KyAgICBSZWZQdHI8Q0NMYXllckltcGw+IG93bmluZ0xheWVyID0gQ0NMYXllckltcGw6OmNyZWF0
ZSgwKTsKKyAgICBvd25pbmdMYXllci0+Y3JlYXRlUmVuZGVyU3VyZmFjZSgpOworICAgIEFTU0VS
VF9UUlVFKG93bmluZ0xheWVyLT5yZW5kZXJTdXJmYWNlKCkpOworICAgIENDUmVuZGVyU3VyZmFj
ZSogcmVuZGVyU3VyZmFjZSA9IG93bmluZ0xheWVyLT5yZW5kZXJTdXJmYWNlKCk7CisgICAgSW50
UmVjdCB0ZXN0UmVjdCA9IEludFJlY3QoSW50UG9pbnQoMywgNCksIEludFNpemUoNSwgNikpOwor
CisgICAgb3duaW5nTGF5ZXItPnJlc2V0UHJvcGVydHlDaGFuZ2VkRmxhZ0ZvclN1YnRyZWUoKTsK
KworICAgIC8vIEN1cnJlbnRseSwgdGhlIGNvbnRlbnRSZWN0LCBjbGlwUmVjdCwgYW5kIG93bmlu
Z0xheWVyLT5sYXllclByb3BlcnR5Q2hhbmdlZCgpIGFyZQorICAgIC8vIHRoZSBvbmx5IHNvdXJj
ZXMgb2YgY2hhbmdlLgorICAgIEVYRUNVVEVfQU5EX1ZFUklGWV9TVVJGQUNFX0NIQU5HRUQocmVu
ZGVyU3VyZmFjZS0+c2V0Q2xpcFJlY3QodGVzdFJlY3QpKTsKKyAgICBFWEVDVVRFX0FORF9WRVJJ
RllfU1VSRkFDRV9DSEFOR0VEKHJlbmRlclN1cmZhY2UtPnNldENvbnRlbnRSZWN0KHRlc3RSZWN0
KSk7CisKKyAgICBvd25pbmdMYXllci0+cmVzZXRQcm9wZXJ0eUNoYW5nZWRGbGFnRm9yU3VidHJl
ZSgpOworICAgIG93bmluZ0xheWVyLT5zZXRPcGFjaXR5KDAuNWYpOworICAgIEVYUEVDVF9UUlVF
KHJlbmRlclN1cmZhY2UtPnN1cmZhY2VQcm9wZXJ0eUNoYW5nZWQoKSk7CisgICAgb3duaW5nTGF5
ZXItPnJlc2V0UHJvcGVydHlDaGFuZ2VkRmxhZ0ZvclN1YnRyZWUoKTsKKworICAgIC8vIFNldHRp
bmcgdGhlIHN1cmZhY2UgcHJvcGVydGllcyB0byB0aGUgc2FtZSB2YWx1ZXMgYWdhaW4gc2hvdWxk
IG5vdCBiZSBjb25zaWRlcmVkICJjaGFuZ2UiLgorICAgIEVYRUNVVEVfQU5EX1ZFUklGWV9TVVJG
QUNFX0RJRF9OT1RfQ0hBTkdFKHJlbmRlclN1cmZhY2UtPnNldENsaXBSZWN0KHRlc3RSZWN0KSk7
CisgICAgRVhFQ1VURV9BTkRfVkVSSUZZX1NVUkZBQ0VfRElEX05PVF9DSEFOR0UocmVuZGVyU3Vy
ZmFjZS0+c2V0Q29udGVudFJlY3QodGVzdFJlY3QpKTsKKworICAgIFJlZlB0cjxDQ0xheWVySW1w
bD4gZHVtbXlNYXNrID0gQ0NMYXllckltcGw6OmNyZWF0ZSgxKTsKKyAgICBUcmFuc2Zvcm1hdGlv
bk1hdHJpeCBkdW1teU1hdHJpeDsKKyAgICBkdW1teU1hdHJpeC50cmFuc2xhdGUoMS4wLCAyLjAp
OworCisgICAgLy8gVGhlIHJlc3Qgb2YgdGhlIHN1cmZhY2UgcHJvcGVydGllcyBhcmUgZWl0aGVy
IGludGVybmFsIGFuZCBzaG91bGQgbm90IGNhdXNlIGNoYW5nZSwKKyAgICAvLyBvciB0aGV5IGFy
ZSBhbHJlYWR5IGFjY291bnRlZCBmb3IgYnkgdGhlIG93bmluZ2xheWVyLT5sYXllclByb3BlcnR5
Q2hhbmdlZCgpLgorICAgIEVYRUNVVEVfQU5EX1ZFUklGWV9TVVJGQUNFX0RJRF9OT1RfQ0hBTkdF
KHJlbmRlclN1cmZhY2UtPnNldERyYXdPcGFjaXR5KDAuNSkpOworICAgIEVYRUNVVEVfQU5EX1ZF
UklGWV9TVVJGQUNFX0RJRF9OT1RfQ0hBTkdFKHJlbmRlclN1cmZhY2UtPnNldERyYXdUcmFuc2Zv
cm0oZHVtbXlNYXRyaXgpKTsKKyAgICBFWEVDVVRFX0FORF9WRVJJRllfU1VSRkFDRV9ESURfTk9U
X0NIQU5HRShyZW5kZXJTdXJmYWNlLT5zZXRSZXBsaWNhRHJhd1RyYW5zZm9ybShkdW1teU1hdHJp
eCkpOworICAgIEVYRUNVVEVfQU5EX1ZFUklGWV9TVVJGQUNFX0RJRF9OT1RfQ0hBTkdFKHJlbmRl
clN1cmZhY2UtPnNldE9yaWdpblRyYW5zZm9ybShkdW1teU1hdHJpeCkpOworICAgIEVYRUNVVEVf
QU5EX1ZFUklGWV9TVVJGQUNFX0RJRF9OT1RfQ0hBTkdFKHJlbmRlclN1cmZhY2UtPnNldFNraXBz
RHJhdyh0cnVlKSk7CisgICAgRVhFQ1VURV9BTkRfVkVSSUZZX1NVUkZBQ0VfRElEX05PVF9DSEFO
R0UocmVuZGVyU3VyZmFjZS0+Y2xlYXJMYXllckxpc3QoKSk7CisgICAgRVhFQ1VURV9BTkRfVkVS
SUZZX1NVUkZBQ0VfRElEX05PVF9DSEFOR0UocmVuZGVyU3VyZmFjZS0+c2V0TWFza0xheWVyKGR1
bW15TWFzay5nZXQoKSkpOworfQorCit9IC8vIG5hbWVzcGFjZQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>115433</attachid>
            <date>2011-11-16 13:24:15 -0800</date>
            <delta_ts>2011-11-16 17:00:03 -0800</delta_ts>
            <desc>fixed if-statemets to follow webkit conventions</desc>
            <filename>bug-72521-20111116132414.patch</filename>
            <type>text/plain</type>
            <size>16287</size>
            <attacher name="Shawn Singh">shawnsingh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAwMjYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWM1NzEwOTNiNjQwZDNm
Y2Q1Zjg1MGQ3ZWRiMjUzNDk1NmVkOTRmNC4uMWI4N2VhNzkyNTkyOGQ2MzE3MzZiMzA5MGY5Yjgx
Mzc0NGM0ODRiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDExLTExLTE2ICBTaGF3
biBTaW5naCAgPHNoYXduc2luZ2hAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0g
VHJhY2sgcHJvcGVydHkgY2hhbmdlcyBmb3IgcmVuZGVyIHN1cmZhY2VzLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1MjEKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDcmVhdGVkIENDUmVuZGVyU3VyZmFj
ZVRlc3QgZm9yIHRlc3RpbmcuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJSZW5k
ZXJlckNocm9taXVtOjpkcmF3TGF5ZXJzT250b1JlbmRlclN1cmZhY2VzKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVySW1wbC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDQ0xheWVySW1wbDo6cmVzZXRQcm9wZXJ0eUNoYW5nZWRGbGFnRm9yU3VidHJlZSk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllckltcGwuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclN1cmZhY2Uu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q0NSZW5kZXJTdXJmYWNlOjpDQ1JlbmRlclN1cmZhY2Up
OgorICAgICAgICAoV2ViQ29yZTo6Q0NSZW5kZXJTdXJmYWNlOjpzZXRDbGlwUmVjdCk6CisgICAg
ICAgIChXZWJDb3JlOjpDQ1JlbmRlclN1cmZhY2U6OnNldENvbnRlbnRSZWN0KToKKyAgICAgICAg
KFdlYkNvcmU6OkNDUmVuZGVyU3VyZmFjZTo6c3VyZmFjZVByb3BlcnR5Q2hhbmdlZCk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJTdXJmYWNlLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpDQ1JlbmRlclN1cmZhY2U6OnJlc2V0UHJvcGVydHlDaGFuZ2VkRmxh
Zyk6CisKIDIwMTEtMTEtMTUgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwu
Y29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMDAyMTMuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCmluZGV4IGE5M2M3ZDY4YThmZGUwOTBkZWE1NjEyOWFjZjAxMzk0MGRh
OGVmYTQuLmNiYjg2NGZjYWIwYzJjMDMwZTNiZWFlNWE5YjAzYjFkMjRlODkyZTAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMTEtMTYgIFNoYXduIFNp
bmdoICA8c2hhd25zaW5naEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBUcmFj
ayBwcm9wZXJ0eSBjaGFuZ2VzIGZvciByZW5kZXIgc3VyZmFjZXMuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MjUyMQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViS2l0Lmd5cGk6CisgICAgICAgICog
dGVzdHMvQ0NMYXllckltcGxUZXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRFU1QpOgorICAg
ICAgICAqIHRlc3RzL0NDUmVuZGVyU3VyZmFjZVRlc3QuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OlRFU1QpOgorCiAyMDExLTExLTE1ICBBbHBoYSBMYW0gIDxoY2xhbUBjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBzY3JvbGwgZGVsdGFzIGFyZSBjbGVhcmVkIGR1cmlu
ZyBjb21taXQgdG8gdGhlIG1haW4gdGhyZWFkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9t
aXVtLmNwcAppbmRleCAxMzRiYjA1MmMyNzhmMGQzOGE0ZjE5NmFmYWJlMGU5ZDk0OTkwOGU3Li4w
NjNhYjUxNTNmMTJhMTAzMGUzNTUyOGViNDgxMTc3ZTFjNWVlYzIyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21p
dW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xh
eWVyUmVuZGVyZXJDaHJvbWl1bS5jcHAKQEAgLTM0NCw2ICszNDQsOSBAQCB2b2lkIExheWVyUmVu
ZGVyZXJDaHJvbWl1bTo6ZHJhd0xheWVyc09udG9SZW5kZXJTdXJmYWNlcyhDQ0xheWVySW1wbCog
cm9vdERyYXdMYQogICAgICAgICAgICAgICAgIGRyYXdMYXllcihsYXllckxpc3RbbGF5ZXJJbmRl
eF0uZ2V0KCksIHJlbmRlclN1cmZhY2UpOwogICAgICAgICB9CiAgICAgfQorCisgICAgLy8gVGhl
IG5leHQgZnJhbWUgc2hvdWxkIHN0YXJ0IGJ5IGFzc3VtaW5nIG5vdGhpbmcgaGFzIGNoYW5nZWQs
IGFuZCBjaGFuZ2VzIGFyZSBub3RlZCBhcyB0aGV5IG9jY3VyLgorICAgIHJvb3REcmF3TGF5ZXIt
PnJlc2V0UHJvcGVydHlDaGFuZ2VkRmxhZ0ZvclN1YnRyZWUoKTsKIH0KIAogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVySW1w
bC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xh
eWVySW1wbC5jcHAKaW5kZXggOTA0OGZkYzgyZDEwNWIzYzYyNjBkZWFiMWQ5MTBkMTA4MWVhYTQ2
Ni4uNDk1M2RkMjMwMjVjYzUzMWY0MWJmNTlmZDIyODM2ZDgwZjM3NWY0OSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllckltcGwu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
TGF5ZXJJbXBsLmNwcApAQCAtMjM5LDYgKzIzOSwxNyBAQCB2b2lkIENDTGF5ZXJJbXBsOjpub3Rl
TGF5ZXJQcm9wZXJ0eUNoYW5nZWRGb3JEZXNjZW5kYW50cygpCiAgICAgICAgIG1fY2hpbGRyZW5b
aV0tPm5vdGVMYXllclByb3BlcnR5Q2hhbmdlZEZvclN1YnRyZWUoKTsKIH0KIAordm9pZCBDQ0xh
eWVySW1wbDo6cmVzZXRQcm9wZXJ0eUNoYW5nZWRGbGFnRm9yU3VidHJlZSgpCit7CisgICAgbV9s
YXllclByb3BlcnR5Q2hhbmdlZCA9IGZhbHNlOworCisgICAgaWYgKG1fcmVuZGVyU3VyZmFjZSkK
KyAgICAgICAgbV9yZW5kZXJTdXJmYWNlLT5yZXNldFByb3BlcnR5Q2hhbmdlZEZsYWcoKTsKKwor
ICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9jaGlsZHJlbi5zaXplKCk7ICsraSkKKyAgICAg
ICAgbV9jaGlsZHJlbltpXS0+cmVzZXRQcm9wZXJ0eUNoYW5nZWRGbGFnRm9yU3VidHJlZSgpOwor
fQorCiB2b2lkIENDTGF5ZXJJbXBsOjpzZXRCb3VuZHMoY29uc3QgSW50U2l6ZSYgYm91bmRzKQog
ewogICAgIGlmIChtX2JvdW5kcyAhPSBib3VuZHMpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJJbXBsLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVySW1wbC5oCmluZGV4
IDUyNDEzMzU5MWY0MjFlNThmZjZlNTM5ODM2MDdjZWFmNzYyOWIzMTEuLmQ0YTkxYjU0ODMwN2Ix
NDcyM2FkMDY3YzhkM2FmNTliMTNiYjg4NTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJJbXBsLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllckltcGwuaApAQCAtMTky
LDcgKzE5Miw3IEBAIHB1YmxpYzoKICAgICBTdHJpbmcgbGF5ZXJUcmVlQXNUZXh0KCkgY29uc3Q7
CiAKICAgICBib29sIGxheWVyUHJvcGVydHlDaGFuZ2VkKCkgY29uc3QgeyByZXR1cm4gbV9sYXll
clByb3BlcnR5Q2hhbmdlZDsgfQotICAgIHZvaWQgcmVzZXRMYXllclByb3BlcnR5Q2hhbmdlZCgp
IHsgbV9sYXllclByb3BlcnR5Q2hhbmdlZCA9IGZhbHNlOyB9CisgICAgdm9pZCByZXNldFByb3Bl
cnR5Q2hhbmdlZEZsYWdGb3JTdWJ0cmVlKCk7IC8vIGFsc28gcmVzZXRzIHByb3BlcnR5IGNoYW5n
ZSBmb3IgZXhpc3RpbmcgcmVuZGVyIHN1cmZhY2VzLgogCiBwcm90ZWN0ZWQ6CiAgICAgZXhwbGlj
aXQgQ0NMYXllckltcGwoaW50KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyU3VyZmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclN1cmZhY2UuY3BwCmluZGV4
IDQ3YTc2MzEwYmViYzE4NGQ4MzhkYWJhMzliMzNhMDZmZjJmYmY1Y2QuLmNiMzhmYTg2MGNlN2I3
YzhhYTJmYzFiNzE4OTI4NTBlNWRhYzUxYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyU3VyZmFjZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJTdXJmYWNl
LmNwcApAQCAtNDMsNiArNDMsNyBAQCBDQ1JlbmRlclN1cmZhY2U6OkNDUmVuZGVyU3VyZmFjZShD
Q0xheWVySW1wbCogb3duaW5nTGF5ZXIpCiAgICAgOiBtX293bmluZ0xheWVyKG93bmluZ0xheWVy
KQogICAgICwgbV9tYXNrTGF5ZXIoMCkKICAgICAsIG1fc2tpcHNEcmF3KGZhbHNlKQorICAgICwg
bV9zdXJmYWNlUHJvcGVydHlDaGFuZ2VkKGZhbHNlKQogICAgICwgbV9kcmF3T3BhY2l0eSgxKQog
ewogfQpAQCAtMjM1LDUgKzIzNiwzNyBAQCBpbnQgQ0NSZW5kZXJTdXJmYWNlOjpvd25pbmdMYXll
cklkKCkgY29uc3QKICAgICByZXR1cm4gbV9vd25pbmdMYXllciA/IG1fb3duaW5nTGF5ZXItPmlk
KCkgOiAwOwogfQogCit2b2lkIENDUmVuZGVyU3VyZmFjZTo6c2V0Q2xpcFJlY3QoY29uc3QgSW50
UmVjdCYgY2xpcFJlY3QpCit7CisgICAgaWYgKG1fY2xpcFJlY3QgPT0gY2xpcFJlY3QpCisgICAg
ICAgIHJldHVybjsKKworICAgIG1fc3VyZmFjZVByb3BlcnR5Q2hhbmdlZCA9IHRydWU7CisgICAg
bV9jbGlwUmVjdCA9IGNsaXBSZWN0OworfQorCit2b2lkIENDUmVuZGVyU3VyZmFjZTo6c2V0Q29u
dGVudFJlY3QoY29uc3QgSW50UmVjdCYgY29udGVudFJlY3QpCit7CisgICAgaWYgKG1fY29udGVu
dFJlY3QgPT0gY29udGVudFJlY3QpCisgICAgICAgIHJldHVybjsKKworICAgIG1fc3VyZmFjZVBy
b3BlcnR5Q2hhbmdlZCA9IHRydWU7CisgICAgbV9jb250ZW50UmVjdCA9IGNvbnRlbnRSZWN0Owor
fQorCitib29sIENDUmVuZGVyU3VyZmFjZTo6c3VyZmFjZVByb3BlcnR5Q2hhbmdlZCgpIGNvbnN0
Cit7CisgICAgLy8gU3VyZmFjZSBwcm9wZXJ0eSBjaGFuZ2VzIGFyZSB0cmFja2VkIGFzIGZvbGxv
d3M6CisgICAgLy8KKyAgICAvLyAtIG1fc3VyZmFjZVByb3BlcnR5Q2hhbmdlZCBpcyBmbGFnZ2Vk
IHdoZW4gdGhlIGNsaXBSZWN0IG9yIGNvbnRlbnRSZWN0IGNoYW5nZS4gQXMKKyAgICAvLyAgIG9m
IG5vdywgdGhlc2UgYXJlIHRoZSBvbmx5IHR3byBwcm9wZXJ0aWVzIHRoYXQgY2FuIGJlIGFmZmVj
dGVkIGJ5IGRlc2NlbmRhbnQgbGF5ZXJzLgorICAgIC8vCisgICAgLy8gLSBhbGwgb3RoZXIgcHJv
cGVydHkgY2hhbmdlcyBjb21lIGZyb20gdGhlIG93bmluZyBsYXllciAob3Igc29tZSBhbmNlc3Rv
ciBsYXllcgorICAgIC8vICAgdGhhdCBwcm9wYWdhdGVzIGl0cyBjaGFuZ2UgdG8gdGhlIG93bmlu
ZyBsYXllcikuCisgICAgLy8KKyAgICBBU1NFUlQobV9vd25pbmdMYXllcik7CisgICAgcmV0dXJu
IG1fc3VyZmFjZVByb3BlcnR5Q2hhbmdlZCB8fCBtX293bmluZ0xheWVyLT5sYXllclByb3BlcnR5
Q2hhbmdlZCgpOworfQorCiB9CiAjZW5kaWYgLy8gVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5H
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
Y2MvQ0NSZW5kZXJTdXJmYWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9jYy9DQ1JlbmRlclN1cmZhY2UuaAppbmRleCBkODIzYTY2OTZjYmQ4OTRmMzYxZTc3
ZGJjYzI3NDg5M2ViMzEwODNhLi40YmQ0YWY4NTgxOTQyNjhjZjBjODVkM2E2YTBkMmQ0MDllMGVi
Y2Q4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ1JlbmRlclN1cmZhY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclN1cmZhY2UuaApAQCAtNzUsMTAgKzc1LDEwIEBAIHB1
YmxpYzoKICAgICB2b2lkIHNldE9yaWdpblRyYW5zZm9ybShjb25zdCBUcmFuc2Zvcm1hdGlvbk1h
dHJpeCYgb3JpZ2luVHJhbnNmb3JtKSB7IG1fb3JpZ2luVHJhbnNmb3JtID0gb3JpZ2luVHJhbnNm
b3JtOyB9CiAgICAgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIG9yaWdpblRyYW5zZm9ybSgp
IGNvbnN0IHsgcmV0dXJuIG1fb3JpZ2luVHJhbnNmb3JtOyB9CiAKLSAgICB2b2lkIHNldENsaXBS
ZWN0KGNvbnN0IEludFJlY3QmIGNsaXBSZWN0KSB7IG1fY2xpcFJlY3QgPSBjbGlwUmVjdDsgfQor
ICAgIHZvaWQgc2V0Q2xpcFJlY3QoY29uc3QgSW50UmVjdCYpOwogICAgIGNvbnN0IEludFJlY3Qm
IGNsaXBSZWN0KCkgY29uc3QgeyByZXR1cm4gbV9jbGlwUmVjdDsgfQogCi0gICAgdm9pZCBzZXRD
b250ZW50UmVjdChjb25zdCBJbnRSZWN0JiBjb250ZW50UmVjdCkgeyBtX2NvbnRlbnRSZWN0ID0g
Y29udGVudFJlY3Q7IH0KKyAgICB2b2lkIHNldENvbnRlbnRSZWN0KGNvbnN0IEludFJlY3QmKTsK
ICAgICBjb25zdCBJbnRSZWN0JiBjb250ZW50UmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fY29udGVu
dFJlY3Q7IH0KIAogICAgIHZvaWQgc2V0U2tpcHNEcmF3KGJvb2wgc2tpcHNEcmF3KSB7IG1fc2tp
cHNEcmF3ID0gc2tpcHNEcmF3OyB9CkBAIC05Nyw2ICs5NywxMCBAQCBwdWJsaWM6CiAgICAgTWFu
YWdlZFRleHR1cmUqIGNvbnRlbnRzVGV4dHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fY29udGVudHNU
ZXh0dXJlLmdldCgpOyB9CiAKICAgICBpbnQgb3duaW5nTGF5ZXJJZCgpIGNvbnN0OworCisgICAg
dm9pZCByZXNldFByb3BlcnR5Q2hhbmdlZEZsYWcoKSB7IG1fc3VyZmFjZVByb3BlcnR5Q2hhbmdl
ZCA9IGZhbHNlOyB9CisgICAgYm9vbCBzdXJmYWNlUHJvcGVydHlDaGFuZ2VkKCkgY29uc3Q7CisK
IHByaXZhdGU6CiAgICAgdm9pZCBkcmF3TGF5ZXIoTGF5ZXJSZW5kZXJlckNocm9taXVtKiwgQ0NM
YXllckltcGwqLCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYpOwogICAgIHRlbXBsYXRlIDxj
bGFzcyBUPgpAQCAtMTA3LDYgKzExMSw3IEBAIHByaXZhdGU6CiAKICAgICBJbnRSZWN0IG1fY29u
dGVudFJlY3Q7CiAgICAgYm9vbCBtX3NraXBzRHJhdzsKKyAgICBib29sIG1fc3VyZmFjZVByb3Bl
cnR5Q2hhbmdlZDsKIAogICAgIE93blB0cjxNYW5hZ2VkVGV4dHVyZT4gbV9jb250ZW50c1RleHR1
cmU7CiAgICAgZmxvYXQgbV9kcmF3T3BhY2l0eTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vV2ViS2l0Lmd5cGkgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXBp
CmluZGV4IDYwOTMyNjZiOTRhMWMyN2Y1ZDAyNzUxMDgxZjVlYTgwNjgwYjEyMDkuLmQyM2EzOTQy
NDlkZGM5MTU5MmUzNGRkOTdiOTJhOTViOTI0NDFhNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vV2ViS2l0Lmd5cGkKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJL
aXQuZ3lwaQpAQCAtNjEsNiArNjEsNyBAQAogICAgICAgICAgICAgJ3Rlc3RzL0NDTGF5ZXJUcmVl
SG9zdENvbW1vblRlc3QuY3BwJywKICAgICAgICAgICAgICd0ZXN0cy9DQ0xheWVyVHJlZUhvc3RJ
bXBsVGVzdC5jcHAnLAogICAgICAgICAgICAgJ3Rlc3RzL0NDTGF5ZXJUcmVlSG9zdFRlc3QuY3Bw
JywKKyAgICAgICAgICAgICd0ZXN0cy9DQ1JlbmRlclN1cmZhY2VUZXN0LmNwcCcsCiAgICAgICAg
ICAgICAndGVzdHMvQ0NTY2hlZHVsZXJUZXN0LmNwcCcsCiAgICAgICAgICAgICAndGVzdHMvQ0NT
Y2hlZHVsZXJTdGF0ZU1hY2hpbmVUZXN0LmNwcCcsCiAgICAgICAgICAgICAndGVzdHMvQ0NTY2hl
ZHVsZXJUZXN0Q29tbW9uLmgnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90
ZXN0cy9DQ0xheWVySW1wbFRlc3QuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9D
Q0xheWVySW1wbFRlc3QuY3BwCmluZGV4IGQ3MzMzODc2YmI0NDZmOGJlNTQ4M2E1NzRiNTU2NTc2
NDE1MWI3YmEuLjQ1NjRlZGE4NjA0YmViOGNhYzViOTQxOTM0NDhhODI0NmJhZmE1YTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NMYXllckltcGxUZXN0LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJJbXBsVGVzdC5jcHAKQEAg
LTM1LDI3ICszNSwyMSBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIG5hbWVzcGFjZSB7CiAK
ICNkZWZpbmUgRVhFQ1VURV9BTkRfVkVSSUZZX1NVQlRSRUVfQ0hBTkdFRChjb2RlVG9UZXN0KSAg
ICAgICAgICAgICAgICAgIFwKLSAgICByb290LT5yZXNldExheWVyUHJvcGVydHlDaGFuZ2VkKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBjaGlsZC0+cmVzZXRMYXll
clByb3BlcnR5Q2hhbmdlZCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICBncmFuZENoaWxkLT5yZXNldExheWVyUHJvcGVydHlDaGFuZ2VkKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKKyAgICByb290LT5yZXNldFByb3BlcnR5Q2hhbmdlZEZsYWdGb3JTdWJ0
cmVlKCk7ICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBjb2RlVG9UZXN0OyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBF
WFBFQ1RfVFJVRShyb290LT5sYXllclByb3BlcnR5Q2hhbmdlZCgpKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKICAgICBFWFBFQ1RfVFJVRShjaGlsZC0+bGF5ZXJQcm9wZXJ0eUNoYW5nZWQo
KSk7ICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBFWFBFQ1RfVFJVRShncmFuZENoaWxk
LT5sYXllclByb3BlcnR5Q2hhbmdlZCgpKQogCiAjZGVmaW5lIEVYRUNVVEVfQU5EX1ZFUklGWV9T
VUJUUkVFX0RJRF9OT1RfQ0hBTkdFKGNvZGVUb1Rlc3QpICAgICAgICAgICBcCi0gICAgcm9vdC0+
cmVzZXRMYXllclByb3BlcnR5Q2hhbmdlZCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgY2hpbGQtPnJlc2V0TGF5ZXJQcm9wZXJ0eUNoYW5nZWQoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgZ3JhbmRDaGlsZC0+cmVzZXRMYXllclByb3Bl
cnR5Q2hhbmdlZCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgcm9vdC0+cmVz
ZXRQcm9wZXJ0eUNoYW5nZWRGbGFnRm9yU3VidHJlZSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICBcCiAgICAgY29kZVRvVGVzdDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCiAgICAgRVhQRUNUX0ZBTFNFKHJvb3QtPmxheWVyUHJvcGVy
dHlDaGFuZ2VkKCkpOyAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgRVhQRUNUX0ZBTFNF
KGNoaWxkLT5sYXllclByb3BlcnR5Q2hhbmdlZCgpKTsgICAgICAgICAgICAgICAgICAgICAgICBc
CiAgICAgRVhQRUNUX0ZBTFNFKGdyYW5kQ2hpbGQtPmxheWVyUHJvcGVydHlDaGFuZ2VkKCkpCiAK
ICNkZWZpbmUgRVhFQ1VURV9BTkRfVkVSSUZZX09OTFlfTEFZRVJfQ0hBTkdFRChjb2RlVG9UZXN0
KSAgICAgICAgICAgICAgIFwKLSAgICByb290LT5yZXNldExheWVyUHJvcGVydHlDaGFuZ2VkKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBjaGlsZC0+cmVzZXRMYXll
clByb3BlcnR5Q2hhbmdlZCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICBncmFuZENoaWxkLT5yZXNldExheWVyUHJvcGVydHlDaGFuZ2VkKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKKyAgICByb290LT5yZXNldFByb3BlcnR5Q2hhbmdlZEZsYWdGb3JTdWJ0
cmVlKCk7ICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBjb2RlVG9UZXN0OyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBF
WFBFQ1RfVFJVRShyb290LT5sYXllclByb3BlcnR5Q2hhbmdlZCgpKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKICAgICBFWFBFQ1RfRkFMU0UoY2hpbGQtPmxheWVyUHJvcGVydHlDaGFuZ2Vk
KCkpOyAgICAgICAgICAgICAgICAgICAgICAgIFwKQEAgLTEyMSw5ICsxMTUsNyBAQCBURVNUKEND
TGF5ZXJJbXBsVGVzdCwgdmVyaWZ5TGF5ZXJDaGFuZ2VzQXJlVHJhY2tlZFByb3Blcmx5KQogICAg
IEVYRUNVVEVfQU5EX1ZFUklGWV9PTkxZX0xBWUVSX0NIQU5HRUQocm9vdC0+c2V0QmFja2dyb3Vu
ZENvbG9yKENvbG9yOjpncmF5KSk7CiAKICAgICAvLyBTcGVjaWFsIGNhc2U6IGNoZWNrIHRoYXQg
c3VibGF5ZXIgdHJhbnNmb3JtIGNoYW5nZXMgYWxsIGxheWVyJ3MgZGVzY2VuZGFudHMsIGJ1dCBu
b3QgdGhlIGxheWVyIGl0c2VsZi4KLSAgICByb290LT5yZXNldExheWVyUHJvcGVydHlDaGFuZ2Vk
KCk7Ci0gICAgY2hpbGQtPnJlc2V0TGF5ZXJQcm9wZXJ0eUNoYW5nZWQoKTsKLSAgICBncmFuZENo
aWxkLT5yZXNldExheWVyUHJvcGVydHlDaGFuZ2VkKCk7CisgICAgcm9vdC0+cmVzZXRQcm9wZXJ0
eUNoYW5nZWRGbGFnRm9yU3VidHJlZSgpOwogICAgIHJvb3QtPnNldFN1YmxheWVyVHJhbnNmb3Jt
KGFyYml0cmFyeVRyYW5zZm9ybSk7CiAgICAgRVhQRUNUX0ZBTFNFKHJvb3QtPmxheWVyUHJvcGVy
dHlDaGFuZ2VkKCkpOwogICAgIEVYUEVDVF9UUlVFKGNoaWxkLT5sYXllclByb3BlcnR5Q2hhbmdl
ZCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NSZW5kZXJT
dXJmYWNlVGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDUmVuZGVyU3Vy
ZmFjZVRlc3QuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcwNDU0NGI2YWRiMzNkM2EwZmZhMzVlOGU3NDJkNDM3
ZGMxZWZkZmUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3Rz
L0NDUmVuZGVyU3VyZmFjZVRlc3QuY3BwCkBAIC0wLDAgKzEsOTQgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICog
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisg
KiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKworI2luY2x1ZGUgImNjL0NDUmVuZGVyU3VyZmFjZS5oIgor
CisjaW5jbHVkZSAiY2MvQ0NMYXllckltcGwuaCIKKyNpbmNsdWRlICJjYy9DQ1NpbmdsZVRocmVh
ZFByb3h5LmgiCisjaW5jbHVkZSA8Z21vY2svZ21vY2suaD4KKyNpbmNsdWRlIDxndGVzdC9ndGVz
dC5oPgorCit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworbmFtZXNwYWNlIHsKKworI2RlZmlu
ZSBFWEVDVVRFX0FORF9WRVJJRllfU1VSRkFDRV9DSEFOR0VEKGNvZGVUb1Rlc3QpICAgICAgICAg
ICAgICAgICAgXAorICAgIHJlbmRlclN1cmZhY2UtPnJlc2V0UHJvcGVydHlDaGFuZ2VkRmxhZygp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGNvZGVUb1Rlc3Q7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIEVYUEVD
VF9UUlVFKHJlbmRlclN1cmZhY2UtPnN1cmZhY2VQcm9wZXJ0eUNoYW5nZWQoKSkKKworI2RlZmlu
ZSBFWEVDVVRFX0FORF9WRVJJRllfU1VSRkFDRV9ESURfTk9UX0NIQU5HRShjb2RlVG9UZXN0KSAg
ICAgICAgICAgXAorICAgIHJlbmRlclN1cmZhY2UtPnJlc2V0UHJvcGVydHlDaGFuZ2VkRmxhZygp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGNvZGVUb1Rlc3Q7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIEVYUEVD
VF9GQUxTRShyZW5kZXJTdXJmYWNlLT5zdXJmYWNlUHJvcGVydHlDaGFuZ2VkKCkpCisKK1RFU1Qo
Q0NSZW5kZXJTdXJmYWNlVGVzdCwgdmVyaWZ5U3VyZmFjZUNoYW5nZXNBcmVUcmFja2VkUHJvcGVy
bHkpCit7CisgICAgLy8KKyAgICAvLyBUaGlzIHRlc3QgY2hlY2tzIHRoYXQgc3VyZmFjZVByb3Bl
cnR5Q2hhbmdlZCgpIGhhcyB0aGUgY29ycmVjdCBiZWhhdmlvci4KKyAgICAvLworCisgICAgLy8g
VGhpcyB3aWxsIGZha2UgdGhhdCB3ZSBhcmUgb24gdGhlIGNvcnJlY3QgdGhyZWFkIGZvciB0ZXN0
aW5nIHB1cnBvc2VzLgorICAgIERlYnVnU2NvcGVkU2V0SW1wbFRocmVhZCBzZXRJbXBsVGhyZWFk
OworCisgICAgUmVmUHRyPENDTGF5ZXJJbXBsPiBvd25pbmdMYXllciA9IENDTGF5ZXJJbXBsOjpj
cmVhdGUoMCk7CisgICAgb3duaW5nTGF5ZXItPmNyZWF0ZVJlbmRlclN1cmZhY2UoKTsKKyAgICBB
U1NFUlRfVFJVRShvd25pbmdMYXllci0+cmVuZGVyU3VyZmFjZSgpKTsKKyAgICBDQ1JlbmRlclN1
cmZhY2UqIHJlbmRlclN1cmZhY2UgPSBvd25pbmdMYXllci0+cmVuZGVyU3VyZmFjZSgpOworICAg
IEludFJlY3QgdGVzdFJlY3QgPSBJbnRSZWN0KEludFBvaW50KDMsIDQpLCBJbnRTaXplKDUsIDYp
KTsKKworICAgIG93bmluZ0xheWVyLT5yZXNldFByb3BlcnR5Q2hhbmdlZEZsYWdGb3JTdWJ0cmVl
KCk7CisKKyAgICAvLyBDdXJyZW50bHksIHRoZSBjb250ZW50UmVjdCwgY2xpcFJlY3QsIGFuZCBv
d25pbmdMYXllci0+bGF5ZXJQcm9wZXJ0eUNoYW5nZWQoKSBhcmUKKyAgICAvLyB0aGUgb25seSBz
b3VyY2VzIG9mIGNoYW5nZS4KKyAgICBFWEVDVVRFX0FORF9WRVJJRllfU1VSRkFDRV9DSEFOR0VE
KHJlbmRlclN1cmZhY2UtPnNldENsaXBSZWN0KHRlc3RSZWN0KSk7CisgICAgRVhFQ1VURV9BTkRf
VkVSSUZZX1NVUkZBQ0VfQ0hBTkdFRChyZW5kZXJTdXJmYWNlLT5zZXRDb250ZW50UmVjdCh0ZXN0
UmVjdCkpOworCisgICAgb3duaW5nTGF5ZXItPnJlc2V0UHJvcGVydHlDaGFuZ2VkRmxhZ0ZvclN1
YnRyZWUoKTsKKyAgICBvd25pbmdMYXllci0+c2V0T3BhY2l0eSgwLjVmKTsKKyAgICBFWFBFQ1Rf
VFJVRShyZW5kZXJTdXJmYWNlLT5zdXJmYWNlUHJvcGVydHlDaGFuZ2VkKCkpOworICAgIG93bmlu
Z0xheWVyLT5yZXNldFByb3BlcnR5Q2hhbmdlZEZsYWdGb3JTdWJ0cmVlKCk7CisKKyAgICAvLyBT
ZXR0aW5nIHRoZSBzdXJmYWNlIHByb3BlcnRpZXMgdG8gdGhlIHNhbWUgdmFsdWVzIGFnYWluIHNo
b3VsZCBub3QgYmUgY29uc2lkZXJlZCAiY2hhbmdlIi4KKyAgICBFWEVDVVRFX0FORF9WRVJJRllf
U1VSRkFDRV9ESURfTk9UX0NIQU5HRShyZW5kZXJTdXJmYWNlLT5zZXRDbGlwUmVjdCh0ZXN0UmVj
dCkpOworICAgIEVYRUNVVEVfQU5EX1ZFUklGWV9TVVJGQUNFX0RJRF9OT1RfQ0hBTkdFKHJlbmRl
clN1cmZhY2UtPnNldENvbnRlbnRSZWN0KHRlc3RSZWN0KSk7CisKKyAgICBSZWZQdHI8Q0NMYXll
ckltcGw+IGR1bW15TWFzayA9IENDTGF5ZXJJbXBsOjpjcmVhdGUoMSk7CisgICAgVHJhbnNmb3Jt
YXRpb25NYXRyaXggZHVtbXlNYXRyaXg7CisgICAgZHVtbXlNYXRyaXgudHJhbnNsYXRlKDEuMCwg
Mi4wKTsKKworICAgIC8vIFRoZSByZXN0IG9mIHRoZSBzdXJmYWNlIHByb3BlcnRpZXMgYXJlIGVp
dGhlciBpbnRlcm5hbCBhbmQgc2hvdWxkIG5vdCBjYXVzZSBjaGFuZ2UsCisgICAgLy8gb3IgdGhl
eSBhcmUgYWxyZWFkeSBhY2NvdW50ZWQgZm9yIGJ5IHRoZSBvd25pbmdsYXllci0+bGF5ZXJQcm9w
ZXJ0eUNoYW5nZWQoKS4KKyAgICBFWEVDVVRFX0FORF9WRVJJRllfU1VSRkFDRV9ESURfTk9UX0NI
QU5HRShyZW5kZXJTdXJmYWNlLT5zZXREcmF3T3BhY2l0eSgwLjUpKTsKKyAgICBFWEVDVVRFX0FO
RF9WRVJJRllfU1VSRkFDRV9ESURfTk9UX0NIQU5HRShyZW5kZXJTdXJmYWNlLT5zZXREcmF3VHJh
bnNmb3JtKGR1bW15TWF0cml4KSk7CisgICAgRVhFQ1VURV9BTkRfVkVSSUZZX1NVUkZBQ0VfRElE
X05PVF9DSEFOR0UocmVuZGVyU3VyZmFjZS0+c2V0UmVwbGljYURyYXdUcmFuc2Zvcm0oZHVtbXlN
YXRyaXgpKTsKKyAgICBFWEVDVVRFX0FORF9WRVJJRllfU1VSRkFDRV9ESURfTk9UX0NIQU5HRShy
ZW5kZXJTdXJmYWNlLT5zZXRPcmlnaW5UcmFuc2Zvcm0oZHVtbXlNYXRyaXgpKTsKKyAgICBFWEVD
VVRFX0FORF9WRVJJRllfU1VSRkFDRV9ESURfTk9UX0NIQU5HRShyZW5kZXJTdXJmYWNlLT5zZXRT
a2lwc0RyYXcodHJ1ZSkpOworICAgIEVYRUNVVEVfQU5EX1ZFUklGWV9TVVJGQUNFX0RJRF9OT1Rf
Q0hBTkdFKHJlbmRlclN1cmZhY2UtPmNsZWFyTGF5ZXJMaXN0KCkpOworICAgIEVYRUNVVEVfQU5E
X1ZFUklGWV9TVVJGQUNFX0RJRF9OT1RfQ0hBTkdFKHJlbmRlclN1cmZhY2UtPnNldE1hc2tMYXll
cihkdW1teU1hc2suZ2V0KCkpKTsKK30KKworfSAvLyBuYW1lc3BhY2UK
</data>

          </attachment>
      

    </bug>

</bugzilla>