<?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>63909</bug_id>
          
          <creation_ts>2011-07-04 07:53:20 -0700</creation_ts>
          <short_desc>Remove virtual functions from StyleImage.</short_desc>
          <delta_ts>2011-07-07 04:18:25 -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>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Tamas Czene">tczene</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>koivisto</cc>
    
    <cc>loki</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>431932</commentid>
    <comment_count>0</comment_count>
    <who name="Tamas Czene">tczene</who>
    <bug_when>2011-07-04 07:53:20 -0700</bug_when>
    <thetext>We can remove the virtual &quot;isChachedImage, isPendingImage, isGeneratedImage&quot; functions to speed up the StyleImage part of WebKit.
Some profile data shows this part is significant, especially in small CSS-based sites.
Removing the virtual functions - removing the calls - makes a small performance progression on this part.

We measured around 1% speed up on several sites like: bing.com , youtube.com</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>431935</commentid>
    <comment_count>1</comment_count>
      <attachid>99632</attachid>
    <who name="Tamas Czene">tczene</who>
    <bug_when>2011-07-04 08:13:12 -0700</bug_when>
    <thetext>Created attachment 99632
Remove virtual functions from StyleImage</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>432140</commentid>
    <comment_count>2</comment_count>
      <attachid>99675</attachid>
    <who name="Tamas Czene">tczene</who>
    <bug_when>2011-07-05 01:10:48 -0700</bug_when>
    <thetext>Created attachment 99675
Remove virtual functions from StyleImage</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>432279</commentid>
    <comment_count>3</comment_count>
      <attachid>99675</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-07-05 08:09:04 -0700</bug_when>
    <thetext>Comment on attachment 99675
Remove virtual functions from StyleImage

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

&gt; Source/WebCore/ChangeLog:10
&gt; +        Some profile data shows this part is significant, especially in small CSS-based sites.
&gt; +        Removing the virtual functions - removing the calls - makes a small performance progression on this part.

You should put more information in the bug about your performance investigations. What sites did you test? What as the measured gain? What stack traces show time in these methods?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>432295</commentid>
    <comment_count>4</comment_count>
      <attachid>99675</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-05 09:07:47 -0700</bug_when>
    <thetext>Comment on attachment 99675
Remove virtual functions from StyleImage

Clearing flags on attachment: 99675

Committed r90399: &lt;http://trac.webkit.org/changeset/90399&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>432296</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-05 09:07:52 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>433385</commentid>
    <comment_count>6</comment_count>
    <who name="Tamas Czene">tczene</who>
    <bug_when>2011-07-07 04:18:25 -0700</bug_when>
    <thetext>Generally the effect of the patch is only measurable on small sites.
Examples (Methanol results): 
bing.com  2,6% 
wordpress.org 5,7%</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>99632</attachid>
            <date>2011-07-04 08:13:12 -0700</date>
            <delta_ts>2011-07-05 01:10:48 -0700</delta_ts>
            <desc>Remove virtual functions from StyleImage</desc>
            <filename>0001-Remove-virtual-functions-from-StyleImage.patch</filename>
            <type>text/plain</type>
            <size>5555</size>
            <attacher name="Tamas Czene">tczene</attacher>
            
              <data encoding="base64">RnJvbSAzYWM4NjQwMmYwN2ZlM2Q0YTY1NTZlMzI3ZDQzZTcyY2NmMjlkMzYzIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBUYW1hcyBDemVuZSA8Q3plbmUuVGFtYXNAc3R1ZC51LXN6ZWdl
ZC5odT4KRGF0ZTogTW9uLCA0IEp1bCAyMDExIDE3OjA4OjE1ICswMjAwClN1YmplY3Q6IFtQQVRD
SF0gUmVtb3ZlIHZpcnR1YWwgZnVuY3Rpb25zIGZyb20gU3R5bGVJbWFnZS4KCi0tLQogU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIzICsrKysr
KysrKysrKysrKysrKysrCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVDYWNo
ZWRJbWFnZS5oICB8ICAgIDMgKy0KIC4uLi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUdl
bmVyYXRlZEltYWdlLmggIHwgICAgMyArLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1N0eWxlSW1hZ2UuaCAgICAgICAgfCAgIDExICsrKysrKy0tLQogU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1N0eWxlUGVuZGluZ0ltYWdlLmggfCAgICAzICstCiA1IGZpbGVzIGNoYW5n
ZWQsIDMzIGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBhOTRj
M2E3Li40ZTllM2E4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTEtMDctMDQgIFRh
bWFzIEN6ZW5lICA8Q3plbmUuVGFtYXNAc3R1ZC51LXN6ZWdlZC5odT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmUgdmlydHVhbCBmdW5jdGlv
bnMgZnJvbSBTdHlsZUltYWdlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NjM5MDkKKworICAgICAgICBXZSBjYW4gcmVtb3ZlIHRoZSB2aXJ0dWFsICJp
c0NoYWNoZWRJbWFnZSwgaXNQZW5kaW5nSW1hZ2UsIGlzR2VuZXJhdGVkSW1hZ2UiIGZ1bmN0aW9u
cyB0byBzcGVlZCB1cCB0aGUgU3R5bGVJbWFnZSBwYXJ0IG9mIFdlYktpdC4KKyAgICAgICAgU29t
ZSBwcm9maWxlIGRhdGEgc2hvd3MgdGhpcyBwYXJ0IGlzIHNpZ25pZmljYW50LCBlc3BlY2lhbGx5
IGluIHNtYWxsIENTUy1iYXNlZCBzaXRlcy4KKyAgICAgICAgUmVtb3ZpbmcgdGhlIHZpcnR1YWwg
ZnVuY3Rpb25zIC0gcmVtb3ZpbmcgdGhlIGNhbGxzIC0gbWFrZXMgYSBzbWFsbCBwZXJmb3JtYW5j
ZSBwcm9ncmVzc2lvbiBvbiB0aGlzIHBhcnQuCisKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUv
U3R5bGVDYWNoZWRJbWFnZS5oOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVDYWNoZWRJbWFnZTo6
U3R5bGVDYWNoZWRJbWFnZSk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlR2VuZXJh
dGVkSW1hZ2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlR2VuZXJhdGVkSW1hZ2U6OlN0eWxl
R2VuZXJhdGVkSW1hZ2UpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TdHlsZUltYWdlLmg6
CisgICAgICAgIChXZWJDb3JlOjpTdHlsZUltYWdlOjppc0NhY2hlZEltYWdlKToKKyAgICAgICAg
KFdlYkNvcmU6OlN0eWxlSW1hZ2U6OmlzUGVuZGluZ0ltYWdlKToKKyAgICAgICAgKFdlYkNvcmU6
OlN0eWxlSW1hZ2U6OmlzR2VuZXJhdGVkSW1hZ2UpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVJ
bWFnZTo6U3R5bGVJbWFnZSk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlUGVuZGlu
Z0ltYWdlLmg6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVBlbmRpbmdJbWFnZTo6U3R5bGVQZW5k
aW5nSW1hZ2UpOgorCiAyMDExLTA3LTA0ICBBbGV4YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUNhY2hlZEltYWdlLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVDYWNoZWRJbWFnZS5oCmluZGV4IDJi
ZTZmNGMuLjE3YmY1OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9TdHlsZUNhY2hlZEltYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1N0eWxlQ2FjaGVkSW1hZ2UuaApAQCAtMzYsOCArMzYsNiBAQCBwdWJsaWM6CiAgICAgc3RhdGlj
IFBhc3NSZWZQdHI8U3R5bGVDYWNoZWRJbWFnZT4gY3JlYXRlKENhY2hlZEltYWdlKiBpbWFnZSkg
eyByZXR1cm4gYWRvcHRSZWYobmV3IFN0eWxlQ2FjaGVkSW1hZ2UoaW1hZ2UpKTsgfQogICAgIHZp
cnR1YWwgV3JhcHBlZEltYWdlUHRyIGRhdGEoKSBjb25zdCB7IHJldHVybiBtX2ltYWdlLmdldCgp
OyB9CiAKLSAgICB2aXJ0dWFsIGJvb2wgaXNDYWNoZWRJbWFnZSgpIGNvbnN0IHsgcmV0dXJuIHRy
dWU7IH0KLSAgICAKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IGNzc1ZhbHVlKCkg
Y29uc3Q7CiAgICAgCiAgICAgQ2FjaGVkSW1hZ2UqIGNhY2hlZEltYWdlKCkgY29uc3QgeyByZXR1
cm4gbV9pbWFnZS5nZXQoKTsgfQpAQCAtNTgsNiArNTYsNyBAQCBwcml2YXRlOgogICAgIFN0eWxl
Q2FjaGVkSW1hZ2UoQ2FjaGVkSW1hZ2UqIGltYWdlKQogICAgICAgICA6IG1faW1hZ2UoaW1hZ2Up
CiAgICAgeworICAgICAgICAgbV9pc0NhY2hlZEltYWdlID0gdHJ1ZTsKICAgICB9CiAgICAgCiAg
ICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkSW1hZ2U+IG1faW1hZ2U7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVHZW5lcmF0ZWRJbWFnZS5oIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlR2VuZXJhdGVkSW1hZ2UuaAppbmRl
eCA4ZTYwNzZhLi5iNzlkM2YzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvU3R5bGVHZW5lcmF0ZWRJbWFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9TdHlsZUdlbmVyYXRlZEltYWdlLmgKQEAgLTQwLDggKzQwLDYgQEAgcHVibGljOgog
CiAgICAgdmlydHVhbCBXcmFwcGVkSW1hZ2VQdHIgZGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1fZ2Vu
ZXJhdG9yOyB9CiAKLSAgICB2aXJ0dWFsIGJvb2wgaXNHZW5lcmF0ZWRJbWFnZSgpIGNvbnN0IHsg
cmV0dXJuIHRydWU7IH0KLSAgICAKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IGNz
c1ZhbHVlKCkgY29uc3Q7CiAKICAgICB2aXJ0dWFsIEludFNpemUgaW1hZ2VTaXplKGNvbnN0IFJl
bmRlck9iamVjdCosIGZsb2F0IG11bHRpcGxpZXIpIGNvbnN0OwpAQCAtNTgsNiArNTYsNyBAQCBw
cml2YXRlOgogICAgICAgICA6IG1fZ2VuZXJhdG9yKHZhbCkKICAgICAgICAgLCBtX2ZpeGVkU2l6
ZShmaXhlZFNpemUpCiAgICAgeworICAgICAgICAgbV9pc0dlbmVyYXRlZEltYWdlID0gdHJ1ZTsK
ICAgICB9CiAgICAgCiAgICAgQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZSogbV9nZW5lcmF0b3I7IC8v
IFRoZSBnZW5lcmF0b3IgaG9sZHMgYSByZWZlcmVuY2UgdG8gdXMuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVJbWFnZS5oIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL1N0eWxlSW1hZ2UuaAppbmRleCAyYzg0NGY2Li4yZjcwYTgyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVJbWFnZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUltYWdlLmgKQEAgLTYyLDkgKzYy
LDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxJbWFnZT4gaW1hZ2UoUmVuZGVy
T2JqZWN0KiwgY29uc3QgSW50U2l6ZSYpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIFdyYXBwZWRJ
bWFnZVB0ciBkYXRhKCkgY29uc3QgPSAwOwogCi0gICAgdmlydHVhbCBib29sIGlzQ2FjaGVkSW1h
Z2UoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQotICAgIHZpcnR1YWwgYm9vbCBpc1BlbmRpbmdJ
bWFnZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9Ci0gICAgdmlydHVhbCBib29sIGlzR2VuZXJh
dGVkSW1hZ2UoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorICAgIEFMV0FZU19JTkxJTkUgYm9v
bCBpc0NhY2hlZEltYWdlKCkgY29uc3QgeyByZXR1cm4gbV9pc0NhY2hlZEltYWdlOyB9CisgICAg
QUxXQVlTX0lOTElORSBib29sIGlzUGVuZGluZ0ltYWdlKCkgY29uc3QgeyByZXR1cm4gbV9pc1Bl
bmRpbmdJbWFnZTsgfQorICAgIEFMV0FZU19JTkxJTkUgYm9vbCBpc0dlbmVyYXRlZEltYWdlKCkg
Y29uc3QgeyByZXR1cm4gbV9pc0dlbmVyYXRlZEltYWdlOyB9CiAgICAgCiAgICAgc3RhdGljICBi
b29sIGltYWdlc0VxdWl2YWxlbnQoU3R5bGVJbWFnZSogaW1hZ2UxLCBTdHlsZUltYWdlKiBpbWFn
ZTIpCiAgICAgewpAQCAtNzcsNyArNzcsMTAgQEAgcHVibGljOgogICAgIH0KIAogcHJvdGVjdGVk
OgotICAgIFN0eWxlSW1hZ2UoKSB7IH0KKyAgICBib29sIG1faXNDYWNoZWRJbWFnZToxOworICAg
IGJvb2wgbV9pc1BlbmRpbmdJbWFnZToxOworICAgIGJvb2wgbV9pc0dlbmVyYXRlZEltYWdlOjE7
CisgICAgU3R5bGVJbWFnZSgpOiBtX2lzQ2FjaGVkSW1hZ2UoZmFsc2UpLCBtX2lzUGVuZGluZ0lt
YWdlKGZhbHNlKSwgbV9pc0dlbmVyYXRlZEltYWdlKGZhbHNlKSB7IH0KIH07CiAKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVBlbmRpbmdJbWFnZS5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUGVuZGluZ0ltYWdlLmgKaW5k
ZXggNjBjOTkzYy4uNjJjY2U3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1N0eWxlUGVuZGluZ0ltYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1N0eWxlUGVuZGluZ0ltYWdlLmgKQEAgLTQxLDggKzQxLDYgQEAgcHVibGljOgogCiAg
ICAgdmlydHVhbCBXcmFwcGVkSW1hZ2VQdHIgZGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1fdmFsdWU7
IH0KIAotICAgIHZpcnR1YWwgYm9vbCBpc1BlbmRpbmdJbWFnZSgpIGNvbnN0IHsgcmV0dXJuIHRy
dWU7IH0KLSAgICAKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IGNzc1ZhbHVlKCkg
Y29uc3QgeyByZXR1cm4gbV92YWx1ZTsgfQogICAgIENTU0ltYWdlVmFsdWUqIGNzc0ltYWdlVmFs
dWUoKSBjb25zdCB7IHJldHVybiBtX3ZhbHVlOyB9CiAgICAgCkBAIC02Myw2ICs2MSw3IEBAIHBy
aXZhdGU6CiAgICAgU3R5bGVQZW5kaW5nSW1hZ2UoQ1NTSW1hZ2VWYWx1ZSogdmFsdWUpCiAgICAg
ICAgIDogbV92YWx1ZSh2YWx1ZSkKICAgICB7CisgICAgICAgIG1faXNQZW5kaW5nSW1hZ2UgPSB0
cnVlOwogICAgIH0KIAogICAgIENTU0ltYWdlVmFsdWUqIG1fdmFsdWU7IC8vIE5vdCByZXRhaW5l
ZDsgaXQgb3ducyB1cy4KLS0gCjEuNy4xCgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>99675</attachid>
            <date>2011-07-05 01:10:48 -0700</date>
            <delta_ts>2011-07-05 09:07:47 -0700</delta_ts>
            <desc>Remove virtual functions from StyleImage</desc>
            <filename>0001-Remove-virtual-functions-from-StyleImage.patch</filename>
            <type>text/plain</type>
            <size>5584</size>
            <attacher name="Tamas Czene">tczene</attacher>
            
              <data encoding="base64">RnJvbSBhMmI0YWRjMWRhZWVjMzIyOGQwZWMyZGI4ODZiZWEzYmJhNzM0OWIyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBUYW1hcyBDemVuZSA8Q3plbmUuVGFtYXNAc3R1ZC51LXN6ZWdl
ZC5odT4KRGF0ZTogVHVlLCA1IEp1bCAyMDExIDEwOjA4OjI3ICswMjAwClN1YmplY3Q6IFtQQVRD
SF0gUmVtb3ZlIHZpcnR1YWwgZnVuY3Rpb25zIGZyb20gU3R5bGVJbWFnZS4KCi0tLQogU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIzICsrKysr
KysrKysrKysrKysrKysrCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVDYWNo
ZWRJbWFnZS5oICB8ICAgIDMgKy0KIC4uLi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUdl
bmVyYXRlZEltYWdlLmggIHwgICAgMyArLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1N0eWxlSW1hZ2UuaCAgICAgICAgfCAgIDE2ICsrKysrKysrKystLS0KIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9TdHlsZVBlbmRpbmdJbWFnZS5oIHwgICAgMyArLQogNSBmaWxlcyBj
aGFuZ2VkLCAzOCBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YTk0YzNhNy4uZWVjNmRkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDExLTA3LTA1
ICBUYW1hcyBDemVuZSAgPEN6ZW5lLlRhbWFzQHN0dWQudS1zemVnZWQuaHU+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIHZpcnR1YWwgZnVu
Y3Rpb25zIGZyb20gU3R5bGVJbWFnZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTYzOTA5CisKKyAgICAgICAgV2UgY2FuIHJlbW92ZSB0aGUgdmlydHVh
bCAiaXNDaGFjaGVkSW1hZ2UsIGlzUGVuZGluZ0ltYWdlLCBpc0dlbmVyYXRlZEltYWdlIiBmdW5j
dGlvbnMgdG8gc3BlZWQgdXAgdGhlIFN0eWxlSW1hZ2UuCisgICAgICAgIFNvbWUgcHJvZmlsZSBk
YXRhIHNob3dzIHRoaXMgcGFydCBpcyBzaWduaWZpY2FudCwgZXNwZWNpYWxseSBpbiBzbWFsbCBD
U1MtYmFzZWQgc2l0ZXMuCisgICAgICAgIFJlbW92aW5nIHRoZSB2aXJ0dWFsIGZ1bmN0aW9ucyAt
IHJlbW92aW5nIHRoZSBjYWxscyAtIG1ha2VzIGEgc21hbGwgcGVyZm9ybWFuY2UgcHJvZ3Jlc3Np
b24gb24gdGhpcyBwYXJ0LgorCisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlQ2FjaGVk
SW1hZ2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlQ2FjaGVkSW1hZ2U6OlN0eWxlQ2FjaGVk
SW1hZ2UpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TdHlsZUdlbmVyYXRlZEltYWdlLmg6
CisgICAgICAgIChXZWJDb3JlOjpTdHlsZUdlbmVyYXRlZEltYWdlOjpTdHlsZUdlbmVyYXRlZElt
YWdlKToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVJbWFnZS5oOgorICAgICAgICAo
V2ViQ29yZTo6U3R5bGVJbWFnZTo6aXNDYWNoZWRJbWFnZSk6CisgICAgICAgIChXZWJDb3JlOjpT
dHlsZUltYWdlOjppc1BlbmRpbmdJbWFnZSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZUltYWdl
Ojppc0dlbmVyYXRlZEltYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlSW1hZ2U6OlN0eWxl
SW1hZ2UpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TdHlsZVBlbmRpbmdJbWFnZS5oOgor
ICAgICAgICAoV2ViQ29yZTo6U3R5bGVQZW5kaW5nSW1hZ2U6OlN0eWxlUGVuZGluZ0ltYWdlKToK
KwogMjAxMS0wNy0wNCAgQWxleGFuZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRtYW4uCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVDYWNoZWRJbWFnZS5oIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlQ2FjaGVkSW1hZ2UuaAppbmRleCAyYmU2ZjRjLi4xN2Jm
NTk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVDYWNo
ZWRJbWFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUNhY2hl
ZEltYWdlLmgKQEAgLTM2LDggKzM2LDYgQEAgcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRy
PFN0eWxlQ2FjaGVkSW1hZ2U+IGNyZWF0ZShDYWNoZWRJbWFnZSogaW1hZ2UpIHsgcmV0dXJuIGFk
b3B0UmVmKG5ldyBTdHlsZUNhY2hlZEltYWdlKGltYWdlKSk7IH0KICAgICB2aXJ0dWFsIFdyYXBw
ZWRJbWFnZVB0ciBkYXRhKCkgY29uc3QgeyByZXR1cm4gbV9pbWFnZS5nZXQoKTsgfQogCi0gICAg
dmlydHVhbCBib29sIGlzQ2FjaGVkSW1hZ2UoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9Ci0gICAg
CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPENTU1ZhbHVlPiBjc3NWYWx1ZSgpIGNvbnN0OwogICAg
IAogICAgIENhY2hlZEltYWdlKiBjYWNoZWRJbWFnZSgpIGNvbnN0IHsgcmV0dXJuIG1faW1hZ2Uu
Z2V0KCk7IH0KQEAgLTU4LDYgKzU2LDcgQEAgcHJpdmF0ZToKICAgICBTdHlsZUNhY2hlZEltYWdl
KENhY2hlZEltYWdlKiBpbWFnZSkKICAgICAgICAgOiBtX2ltYWdlKGltYWdlKQogICAgIHsKKyAg
ICAgICAgIG1faXNDYWNoZWRJbWFnZSA9IHRydWU7CiAgICAgfQogICAgIAogICAgIENhY2hlZFJl
c291cmNlSGFuZGxlPENhY2hlZEltYWdlPiBtX2ltYWdlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlR2VuZXJhdGVkSW1hZ2UuaCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUdlbmVyYXRlZEltYWdlLmgKaW5kZXggOGU2MDc2YS4u
Yjc5ZDNmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxl
R2VuZXJhdGVkSW1hZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5
bGVHZW5lcmF0ZWRJbWFnZS5oCkBAIC00MCw4ICs0MCw2IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1
YWwgV3JhcHBlZEltYWdlUHRyIGRhdGEoKSBjb25zdCB7IHJldHVybiBtX2dlbmVyYXRvcjsgfQog
Ci0gICAgdmlydHVhbCBib29sIGlzR2VuZXJhdGVkSW1hZ2UoKSBjb25zdCB7IHJldHVybiB0cnVl
OyB9Ci0gICAgCiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPENTU1ZhbHVlPiBjc3NWYWx1ZSgpIGNv
bnN0OwogCiAgICAgdmlydHVhbCBJbnRTaXplIGltYWdlU2l6ZShjb25zdCBSZW5kZXJPYmplY3Qq
LCBmbG9hdCBtdWx0aXBsaWVyKSBjb25zdDsKQEAgLTU4LDYgKzU2LDcgQEAgcHJpdmF0ZToKICAg
ICAgICAgOiBtX2dlbmVyYXRvcih2YWwpCiAgICAgICAgICwgbV9maXhlZFNpemUoZml4ZWRTaXpl
KQogICAgIHsKKyAgICAgICAgIG1faXNHZW5lcmF0ZWRJbWFnZSA9IHRydWU7CiAgICAgfQogICAg
IAogICAgIENTU0ltYWdlR2VuZXJhdG9yVmFsdWUqIG1fZ2VuZXJhdG9yOyAvLyBUaGUgZ2VuZXJh
dG9yIGhvbGRzIGEgcmVmZXJlbmNlIHRvIHVzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL1N0eWxlSW1hZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9TdHlsZUltYWdlLmgKaW5kZXggMmM4NDRmNi4uMTNjNTAzMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlSW1hZ2UuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVJbWFnZS5oCkBAIC02Miw5ICs2Miw5IEBAIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8SW1hZ2U+IGltYWdlKFJlbmRlck9iamVjdCosIGNv
bnN0IEludFNpemUmKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBXcmFwcGVkSW1hZ2VQdHIgZGF0
YSgpIGNvbnN0ID0gMDsKIAotICAgIHZpcnR1YWwgYm9vbCBpc0NhY2hlZEltYWdlKCkgY29uc3Qg
eyByZXR1cm4gZmFsc2U7IH0KLSAgICB2aXJ0dWFsIGJvb2wgaXNQZW5kaW5nSW1hZ2UoKSBjb25z
dCB7IHJldHVybiBmYWxzZTsgfQotICAgIHZpcnR1YWwgYm9vbCBpc0dlbmVyYXRlZEltYWdlKCkg
Y29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKyAgICBBTFdBWVNfSU5MSU5FIGJvb2wgaXNDYWNoZWRJ
bWFnZSgpIGNvbnN0IHsgcmV0dXJuIG1faXNDYWNoZWRJbWFnZTsgfQorICAgIEFMV0FZU19JTkxJ
TkUgYm9vbCBpc1BlbmRpbmdJbWFnZSgpIGNvbnN0IHsgcmV0dXJuIG1faXNQZW5kaW5nSW1hZ2U7
IH0KKyAgICBBTFdBWVNfSU5MSU5FIGJvb2wgaXNHZW5lcmF0ZWRJbWFnZSgpIGNvbnN0IHsgcmV0
dXJuIG1faXNHZW5lcmF0ZWRJbWFnZTsgfQogICAgIAogICAgIHN0YXRpYyAgYm9vbCBpbWFnZXNF
cXVpdmFsZW50KFN0eWxlSW1hZ2UqIGltYWdlMSwgU3R5bGVJbWFnZSogaW1hZ2UyKQogICAgIHsK
QEAgLTc3LDcgKzc3LDE1IEBAIHB1YmxpYzoKICAgICB9CiAKIHByb3RlY3RlZDoKLSAgICBTdHls
ZUltYWdlKCkgeyB9CisgICAgU3R5bGVJbWFnZSgpCisgICAgICAgIDogbV9pc0NhY2hlZEltYWdl
KGZhbHNlKQorICAgICAgICAsIG1faXNQZW5kaW5nSW1hZ2UoZmFsc2UpCisgICAgICAgICwgbV9p
c0dlbmVyYXRlZEltYWdlKGZhbHNlKQorICAgIHsKKyAgICB9CisgICAgYm9vbCBtX2lzQ2FjaGVk
SW1hZ2U6MTsKKyAgICBib29sIG1faXNQZW5kaW5nSW1hZ2U6MTsKKyAgICBib29sIG1faXNHZW5l
cmF0ZWRJbWFnZToxOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL1N0eWxlUGVuZGluZ0ltYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvU3R5bGVQZW5kaW5nSW1hZ2UuaAppbmRleCA2MGM5OTNjLi42MmNjZTdmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVQZW5kaW5nSW1hZ2UuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVQZW5kaW5nSW1hZ2UuaApA
QCAtNDEsOCArNDEsNiBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIFdyYXBwZWRJbWFnZVB0ciBk
YXRhKCkgY29uc3QgeyByZXR1cm4gbV92YWx1ZTsgfQogCi0gICAgdmlydHVhbCBib29sIGlzUGVu
ZGluZ0ltYWdlKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQotICAgIAogICAgIHZpcnR1YWwgUGFz
c1JlZlB0cjxDU1NWYWx1ZT4gY3NzVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX3ZhbHVlOyB9CiAg
ICAgQ1NTSW1hZ2VWYWx1ZSogY3NzSW1hZ2VWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fdmFsdWU7
IH0KICAgICAKQEAgLTYzLDYgKzYxLDcgQEAgcHJpdmF0ZToKICAgICBTdHlsZVBlbmRpbmdJbWFn
ZShDU1NJbWFnZVZhbHVlKiB2YWx1ZSkKICAgICAgICAgOiBtX3ZhbHVlKHZhbHVlKQogICAgIHsK
KyAgICAgICAgbV9pc1BlbmRpbmdJbWFnZSA9IHRydWU7CiAgICAgfQogCiAgICAgQ1NTSW1hZ2VW
YWx1ZSogbV92YWx1ZTsgLy8gTm90IHJldGFpbmVkOyBpdCBvd25zIHVzLgotLSAKMS43LjEKCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>