<?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>138024</bug_id>
          
          <creation_ts>2014-10-23 14:59:03 -0700</creation_ts>
          <short_desc>Get rid of unnecessary vtables in WebKit</short_desc>
          <delta_ts>2014-10-23 20:30:21 -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>WebKit Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1043842</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-10-23 14:59:03 -0700</bug_when>
    <thetext>Get rid of unnecessary vtables in WebKit by de-virtualizing destructors when possible and marking the class as final to make sure people don&apos;t subclass it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1043843</commentid>
    <comment_count>1</comment_count>
      <attachid>240370</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-10-23 15:01:13 -0700</bug_when>
    <thetext>Created attachment 240370
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1043872</commentid>
    <comment_count>2</comment_count>
      <attachid>240370</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-10-23 16:30:37 -0700</bug_when>
    <thetext>Comment on attachment 240370
Patch

Clearing flags on attachment: 240370

Committed r175149: &lt;http://trac.webkit.org/changeset/175149&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1043873</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-10-23 16:30:42 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1043917</commentid>
    <comment_count>4</comment_count>
      <attachid>240370</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-10-23 20:10:18 -0700</bug_when>
    <thetext>Comment on attachment 240370
Patch

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

&gt; Source/WebCore/css/WebKitCSSMatrix.h:39
&gt; +class WebKitCSSMatrix final : public ScriptWrappable, public RefCounted&lt;WebKitCSSMatrix&gt; {

We should probably give ScriptWrappable a protected destructor to make it safer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1043925</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-10-23 20:30:21 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Comment on attachment 240370 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=240370&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/css/WebKitCSSMatrix.h:39
&gt; &gt; +class WebKitCSSMatrix final : public ScriptWrappable, public RefCounted&lt;WebKitCSSMatrix&gt; {
&gt; 
&gt; We should probably give ScriptWrappable a protected destructor to make it
&gt; safer.

Good idea, I&apos;ll follow-up on this.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>240370</attachid>
            <date>2014-10-23 15:01:13 -0700</date>
            <delta_ts>2014-10-23 16:30:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-138024-20141023150120.patch</filename>
            <type>text/plain</type>
            <size>11275</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc1MTQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmNjNzVlNDY5OTNhYWU1
YTE3MTM2YTFkYzJlMWI3ZjQ2MTY3YjFlMi4uMmE5NjAzZDA5MTFiMDRmNTUzMjAwMDUxY2U3ZTkx
OTI5YWQ1NWY3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDE0LTEwLTIzICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgR2V0IHJpZCBvZiB1bm5lY2Vz
c2FyeSB2dGFibGVzIGluIFdlYktpdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTM4MDI0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgR2V0IHJpZCBvZiB1bm5lY2Vzc2FyeSB2dGFibGVzIGluIFdlYktpdCBi
eSBkZS12aXJ0dWFsaXppbmcgZGVzdHJ1Y3RvcnMKKyAgICAgICAgd2hlbiBwb3NzaWJsZSBhbmQg
bWFya2luZyB0aGUgY2xhc3MgYXMgZmluYWwgdG8gbWFrZSBzdXJlIHBlb3BsZSBkb24ndAorICAg
ICAgICBzdWJjbGFzcyBpdC4KKworICAgICAgICBObyBuZXcgdGVzdHMsIG5vIGJlaGF2aW9yIGNo
YW5nZS4KKworICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAgICAqIGNzcy9XZWJLaXRD
U1NNYXRyaXguaDoKKyAgICAgICAgKiBjc3MvV2ViS2l0Q1NTTWF0cml4LmlkbDoKKyAgICAgICAg
KiBodG1sL2NhbnZhcy9XZWJHTENvbnRleHRHcm91cC5oOgorICAgICAgICAqIGh0bWwvY2FudmFz
L1dlYkdMR2V0SW5mby5oOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMVW5pZm9ybUxvY2F0
aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFVuaWZvcm1Mb2NhdGlvbjo6fldlYkdMVW5p
Zm9ybUxvY2F0aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFVuaWZv
cm1Mb2NhdGlvbi5pZGw6CisgICAgICAgICogaW5zcGVjdG9yL0RPTVBhdGNoU3VwcG9ydC5oOgor
ICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JIaXN0b3J5Lmg6CisgICAgICAgICogaW5zcGVj
dG9yL0luc3BlY3RvclN0eWxlU2hlZXQuaDoKKyAgICAgICAgKiBwYWdlL1doZWVsRXZlbnREZWx0
YVRyYWNrZXIuaDoKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxMYXRjaGluZ1N0YXRl
Lmg6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vQmlxdWFkLmg6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvUGF0dGVybi5oOgorCiAyMDE0LTEwLTIzICBFcmljIENhcmxzb24gIDxlcmlj
LmNhcmxzb25AYXBwbGUuY29tPgogCiAgICAgICAgIFtNYWNdIGRvbid0IHVwZGF0ZSBjYXB0aW9u
IHVzZXIgc3R5bGUgc2hlZXQgZHVyaW5nIHBhcnNpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXgg
MjdkYTkwZDA1OTY0OTc2NDNhMWJmNWY3MzQ0ZmFjNWNjYTdhMDZkNS4uMzJlZWZlZmUwMDc2NWZi
YzY2MmNjMGQ4ZTQzMWNhZDdiNzdkYjRlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTk5NCw2
ICs5OTQsNyBAQCBfX1pON1dlYkNvcmUyMldoZWVsRXZlbnREZWx0YVRyYWNrZXIxN2VuZFRyYWNr
aW5nRGVsdGFzRXYKIF9fWk43V2ViQ29yZTIyV2hlZWxFdmVudERlbHRhVHJhY2tlcjE5YmVnaW5U
cmFja2luZ0RlbHRhc0V2CiBfX1pON1dlYkNvcmUyMldoZWVsRXZlbnREZWx0YVRyYWNrZXIyMXJl
Y29yZFdoZWVsRXZlbnREZWx0YUVSS05TXzE4UGxhdGZvcm1XaGVlbEV2ZW50RQogX19aTjdXZWJD
b3JlMjJXaGVlbEV2ZW50RGVsdGFUcmFja2VyQzFFdgorX19aTjdXZWJDb3JlMjJXaGVlbEV2ZW50
RGVsdGFUcmFja2VyRDFFdgogX19aTjdXZWJDb3JlMjJjb2xvcldpdGhPdmVycmlkZUFscGhhRWpm
CiBfX1pON1dlYkNvcmUyMmNvdW50ZXJWYWx1ZUZvckVsZW1lbnRFUE5TXzdFbGVtZW50RQogX19a
TjdXZWJDb3JlMjJjcmVhdGVGcmFnbWVudEZyb21UZXh0RVJOU181UmFuZ2VFUktOM1dURjZTdHJp
bmdFCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTTWF0cml4LmggYi9T
b3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTTWF0cml4LmgKaW5kZXggNDUzOTNmYmFkMzFjMDU5
Yzk2MTBlZTE3YmIwMThkMjcyMjdhZDRhOS4uNjdlMmY1MjhhNTIxN2ZjNzYzN2FiOTg3MDQxZjUw
MDY4YTAxZmYwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU01hdHJp
eC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NNYXRyaXguaApAQCAtMzYsNyAr
MzYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHR5cGVkZWYgaW50IEV4Y2VwdGlvbkNvZGU7
CiAKLWNsYXNzIFdlYktpdENTU01hdHJpeCA6IHB1YmxpYyBTY3JpcHRXcmFwcGFibGUsIHB1Ymxp
YyBSZWZDb3VudGVkPFdlYktpdENTU01hdHJpeD4geworY2xhc3MgV2ViS2l0Q1NTTWF0cml4IGZp
bmFsIDogcHVibGljIFNjcmlwdFdyYXBwYWJsZSwgcHVibGljIFJlZkNvdW50ZWQ8V2ViS2l0Q1NT
TWF0cml4PiB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViS2l0Q1NTTWF0cml4
PiBjcmVhdGUoY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIG0pCiAgICAgewpAQCAtNDcsNyAr
NDcsNyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgV2ViS2l0Q1NTTWF0
cml4KHMsIGVjKSk7CiAgICAgfQogCi0gICAgdmlydHVhbCB+V2ViS2l0Q1NTTWF0cml4KCk7Cisg
ICAgfldlYktpdENTU01hdHJpeCgpOwogCiAgICAgZG91YmxlIGEoKSBjb25zdCB7IHJldHVybiBt
X21hdHJpeC5hKCk7IH0KICAgICBkb3VibGUgYigpIGNvbnN0IHsgcmV0dXJuIG1fbWF0cml4LmIo
KTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU01hdHJpeC5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTTWF0cml4LmlkbAppbmRleCA2OGQ0NDM4MWM3
OGRhMGNiNjk3OTYwMmY2YzZlMTkyZWFmMjExZTIwLi45OWE1MzM5MmQzMGM4NGFiMTY5YmZhZDY2
MzFkMWUzNjJjYTFmMjBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NT
TWF0cml4LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTTWF0cml4LmlkbApA
QCAtMjcsNiArMjcsNyBAQAogWwogICAgIENvbnN0cnVjdG9yKFtEZWZhdWx0PU51bGxTdHJpbmdd
IG9wdGlvbmFsIERPTVN0cmluZyBjc3NWYWx1ZSksCiAgICAgQ29uc3RydWN0b3JSYWlzZXNFeGNl
cHRpb24sCisgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKIF0gaW50ZXJmYWNlIFdlYktp
dENTU01hdHJpeCB7CiAKICAgICAvLyBUaGVzZSBhdHRyaWJ1dGVzIGFyZSBzaW1wbGUgYWxpYXNl
cyBmb3IgY2VydGFpbiBlbGVtZW50cyBvZiB0aGUgNHg0IG1hdHJpeApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xDb250ZXh0R3JvdXAuaCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL1dlYkdMQ29udGV4dEdyb3VwLmgKaW5kZXggNTNlZmJjMDc4ODYwMDM0
NWQyNTk2ZWRkZDdhOGQ5ZDBjN2FlNmQwYi4uMmZlNDQzNzNmN2Y4NjljYWU0ZDE0MzNiMzg5MTU1
NTk3MjM1ODg3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xD
b250ZXh0R3JvdXAuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTENvbnRl
eHRHcm91cC5oCkBAIC00MCwxMCArNDAsMTAgQEAgY2xhc3MgV2ViR0xSZW5kZXJpbmdDb250ZXh0
OwogCiB0eXBlZGVmIGludCBFeGNlcHRpb25Db2RlOwogCi1jbGFzcyBXZWJHTENvbnRleHRHcm91
cCA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYkdMQ29udGV4dEdyb3VwPiB7CitjbGFzcyBXZWJHTENv
bnRleHRHcm91cCBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYkdMQ29udGV4dEdyb3VwPiB7
CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViR0xDb250ZXh0R3JvdXA+IGNyZWF0
ZSgpOwotICAgIHZpcnR1YWwgfldlYkdMQ29udGV4dEdyb3VwKCk7CisgICAgfldlYkdMQ29udGV4
dEdyb3VwKCk7CiAKICAgICB2b2lkIGFkZENvbnRleHQoV2ViR0xSZW5kZXJpbmdDb250ZXh0Kik7
CiAgICAgdm9pZCByZW1vdmVDb250ZXh0KFdlYkdMUmVuZGVyaW5nQ29udGV4dCopOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xHZXRJbmZvLmggYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEdldEluZm8uaAppbmRleCAwODI2MTJhYzllMWM4NzI4
MTBhODk2MTI4NjlhNTU1N2U3OTVmYWYyLi43MDc5NDJjMWU5ZWYxYTFiYzViOWViNWI2ZDMxYzU2
YTVhNjBjOWNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEdl
dEluZm8uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEdldEluZm8uaApA
QCAtNDgsNyArNDgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAvLyBzaW1pbGFyIHZhcmlhbnRz
LiBGb3IgcmVmZXJlbmNlIGNvdW50ZWQgdHlwZXMsIGluY3JlbWVudHMgYW5kCiAvLyBkZWNyZW1l
bnRzIHRoZSByZWZlcmVuY2UgY291bnQgb2YgdGhlIHRhcmdldCBvYmplY3QuCiAKLWNsYXNzIFdl
YkdMR2V0SW5mbyB7CitjbGFzcyBXZWJHTEdldEluZm8gZmluYWwgewogcHVibGljOgogICAgIGVu
dW0gVHlwZSB7CiAgICAgICAgIGtUeXBlQm9vbCwKQEAgLTkyLDcgKzkyLDcgQEAgcHVibGljOgog
ICAgIGV4cGxpY2l0IFdlYkdMR2V0SW5mbyhQYXNzUmVmUHRyPFVpbnQzMkFycmF5PiB2YWx1ZSk7
CiAgICAgZXhwbGljaXQgV2ViR0xHZXRJbmZvKFBhc3NSZWZQdHI8V2ViR0xWZXJ0ZXhBcnJheU9i
amVjdE9FUz4gdmFsdWUpOwogCi0gICAgdmlydHVhbCB+V2ViR0xHZXRJbmZvKCk7CisgICAgfldl
YkdMR2V0SW5mbygpOwogCiAgICAgVHlwZSBnZXRUeXBlKCkgY29uc3Q7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMVW5pZm9ybUxvY2F0aW9uLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFVuaWZvcm1Mb2NhdGlvbi5oCmluZGV4IDlmODFm
OTVjOGUyODk5MTM2Yjg1OTI1N2MzN2ZlMTUwMWQ5OWUzOTMuLjM4MDMxN2Q5NTVlNDY5YTk0MTE4
MDdmYTMzNzgxYjI1OWRlYTg2NWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL1dlYkdMVW5pZm9ybUxvY2F0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViR0xVbmlmb3JtTG9jYXRpb24uaApAQCAtMzQsOSArMzQsOSBAQAogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKLWNsYXNzIFdlYkdMVW5pZm9ybUxvY2F0aW9uIDogcHVibGljIFJlZkNvdW50
ZWQ8V2ViR0xVbmlmb3JtTG9jYXRpb24+IHsKK2NsYXNzIFdlYkdMVW5pZm9ybUxvY2F0aW9uIGZp
bmFsIDogcHVibGljIFJlZkNvdW50ZWQ8V2ViR0xVbmlmb3JtTG9jYXRpb24+IHsKIHB1YmxpYzoK
LSAgICB2aXJ0dWFsIH5XZWJHTFVuaWZvcm1Mb2NhdGlvbigpIHsgfQorICAgIH5XZWJHTFVuaWZv
cm1Mb2NhdGlvbigpIHsgfQogCiAgICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViR0xVbmlmb3JtTG9j
YXRpb24+IGNyZWF0ZShXZWJHTFByb2dyYW0qLCBHQzNEaW50IGxvY2F0aW9uLCBHQzNEZW51bSB0
eXBlKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xVbmlm
b3JtTG9jYXRpb24uaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xVbmlmb3Jt
TG9jYXRpb24uaWRsCmluZGV4IDE5ODNkOGMxNjM4OTJlYWQ4ZTU4NmE1MzJlZTAwNWVlYWQyZDk5
MTYuLmEwODZmNTcxMzA2NWI5ODJmOWZlNWE4NzUxZTc1ZmY1YjdkMWQ4MzYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMVW5pZm9ybUxvY2F0aW9uLmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFVuaWZvcm1Mb2NhdGlvbi5pZGwKQEAg
LTI1LDYgKzI1LDcgQEAKICAqLwogCiBbCi0gICAgQ29uZGl0aW9uYWw9V0VCR0wKKyAgICBDb25k
aXRpb25hbD1XRUJHTCwKKyAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogXSBpbnRlcmZh
Y2UgV2ViR0xVbmlmb3JtTG9jYXRpb24gewogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9ET01QYXRjaFN1cHBvcnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9E
T01QYXRjaFN1cHBvcnQuaAppbmRleCA2YTk2MGU4NWRlZjU3NjJmMWUyMjJlYjY2N2M2MTkyMTQz
MDcyNmJmLi43Njc3M2E4YmViNTQ2ZWYyZTFmNWUzYWY5ZTNlNjliMjc1OTkwNTQ3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvRE9NUGF0Y2hTdXBwb3J0LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0RPTVBhdGNoU3VwcG9ydC5oCkBAIC00NiwxMyArNDYsMTMg
QEAgY2xhc3MgTm9kZTsKIAogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAKLWNsYXNzIERPTVBhdGNo
U3VwcG9ydCB7CitjbGFzcyBET01QYXRjaFN1cHBvcnQgZmluYWwgewogICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKERPTVBhdGNoU3VwcG9ydCk7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgcGF0
Y2hEb2N1bWVudChEb2N1bWVudCosIGNvbnN0IFN0cmluZyYgbWFya3VwKTsKIAogICAgIERPTVBh
dGNoU3VwcG9ydChET01FZGl0b3IqLCBEb2N1bWVudCopOwotICAgIHZpcnR1YWwgfkRPTVBhdGNo
U3VwcG9ydCgpOworICAgIH5ET01QYXRjaFN1cHBvcnQoKTsKIAogICAgIHZvaWQgcGF0Y2hEb2N1
bWVudChjb25zdCBTdHJpbmcmIG1hcmt1cCk7CiAgICAgTm9kZSogcGF0Y2hOb2RlKE5vZGUmLCBj
b25zdCBTdHJpbmcmIG1hcmt1cCwgRXhjZXB0aW9uQ29kZSYpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckhpc3RvcnkuaCBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JIaXN0b3J5LmgKaW5kZXggYTIyYWJiNTMwY2I0YWY0NGQ3ODI5NTAz
NDc3Y2JkMmMyZWM1N2FmMS4uMDQ5NzZkYTVkM2Q2YmE2ZTk5NGE1MmFhMmYwYWM2MTM3YmY1MzEw
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckhpc3Rvcnku
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySGlzdG9yeS5oCkBAIC00
NCw3ICs0NCw3IEBAIGNsYXNzIE5vZGU7CiAKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogCi1jbGFz
cyBJbnNwZWN0b3JIaXN0b3J5IHsKK2NsYXNzIEluc3BlY3Rvckhpc3RvcnkgZmluYWwgewogICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3Rvckhpc3RvcnkpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKIHB1YmxpYzoKICAgICBjbGFzcyBBY3Rpb24gewpAQCAtNjgsNyArNjgsNyBAQCBw
dWJsaWM6CiAgICAgfTsKIAogICAgIEluc3BlY3Rvckhpc3RvcnkoKTsKLSAgICB2aXJ0dWFsIH5J
bnNwZWN0b3JIaXN0b3J5KCk7CisgICAgfkluc3BlY3Rvckhpc3RvcnkoKTsKIAogICAgIGJvb2wg
cGVyZm9ybShzdGQ6OnVuaXF1ZV9wdHI8QWN0aW9uPiwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZv
aWQgbWFya1VuZG9hYmxlU3RhdGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JTdHlsZVNoZWV0LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yU3R5bGVTaGVldC5oCmluZGV4IDdiMDM4NjlkZDA1MDY1NjVkOWFmOWJhODg5YTZkN2I2
MzRkMzM2ODUuLjdmYWZjMjk4NjQ5YjFjOGUxZDE0OTRjNzY0ZDU5MDhiYTBkYjAxYmYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVNoZWV0LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlU2hlZXQuaApAQCAtMTMz
LDEwICsxMzMsMTAgQEAgc3RydWN0IEluc3BlY3RvclN0eWxlUHJvcGVydHkgewogICAgIFN0cmlu
ZyByYXdUZXh0OwogfTsKIAotY2xhc3MgSW5zcGVjdG9yU3R5bGUgOiBwdWJsaWMgUmVmQ291bnRl
ZDxJbnNwZWN0b3JTdHlsZT4geworY2xhc3MgSW5zcGVjdG9yU3R5bGUgZmluYWwgOiBwdWJsaWMg
UmVmQ291bnRlZDxJbnNwZWN0b3JTdHlsZT4gewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVm
UHRyPEluc3BlY3RvclN0eWxlPiBjcmVhdGUoY29uc3QgSW5zcGVjdG9yQ1NTSWQmIHN0eWxlSWQs
IFBhc3NSZWZQdHI8Q1NTU3R5bGVEZWNsYXJhdGlvbj4gc3R5bGUsIEluc3BlY3RvclN0eWxlU2hl
ZXQqIHBhcmVudFN0eWxlU2hlZXQpOwotICAgIHZpcnR1YWwgfkluc3BlY3RvclN0eWxlKCk7Cisg
ICAgfkluc3BlY3RvclN0eWxlKCk7CiAKICAgICBDU1NTdHlsZURlY2xhcmF0aW9uKiBjc3NTdHls
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3R5bGUuZ2V0KCk7IH0KICAgICBQYXNzUmVmUHRyPEluc3Bl
Y3Rvcjo6UHJvdG9jb2w6OkNTUzo6Q1NTU3R5bGU+IGJ1aWxkT2JqZWN0Rm9yU3R5bGUoKSBjb25z
dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2hlZWxFdmVudERlbHRhVHJhY2tl
ci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9XaGVlbEV2ZW50RGVsdGFUcmFja2VyLmgKaW5kZXgg
NjUyZDAzZjk4MWE1MjlmZDc0MWIxNWM1YmYwZjNmYzA2ZmE0OTE5Ni4uOWRmYWE5MzBlNmE4MzEw
ZDcwNDBmZjRiZDZmZjJjMDU0MTg1ZmY5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9XaGVlbEV2ZW50RGVsdGFUcmFja2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9XaGVl
bEV2ZW50RGVsdGFUcmFja2VyLmgKQEAgLTQyLDEwICs0MiwxMCBAQCBlbnVtIGNsYXNzIERvbWlu
YW50U2Nyb2xsR2VzdHVyZURpcmVjdGlvbiB7CiAgICAgSG9yaXpvbnRhbAogfTsKIAotY2xhc3Mg
V2hlZWxFdmVudERlbHRhVHJhY2tlciB7CitjbGFzcyBXaGVlbEV2ZW50RGVsdGFUcmFja2VyIGZp
bmFsIHsKIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBXaGVlbEV2ZW50RGVsdGFUcmFja2Vy
KCk7Ci0gICAgdmlydHVhbCB+V2hlZWxFdmVudERlbHRhVHJhY2tlcigpOworICAgIH5XaGVlbEV2
ZW50RGVsdGFUcmFja2VyKCk7CiAKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGJlZ2luVHJhY2tp
bmdEZWx0YXMoKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGVuZFRyYWNraW5nRGVsdGFzKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxMYXRjaGlu
Z1N0YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxMYXRjaGluZ1N0
YXRlLmgKaW5kZXggNjhlOGNlODFmNGE0NTQ0NTNiZjA2ZmI4MTIwNjk3YTBhZTk3OGMwYi4uN2I3
ZGNhZGY4NDcwODkzYzU4NTNiMWMyYzhmZDQwOGE4N2RmMWFmYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsTGF0Y2hpbmdTdGF0ZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbExhdGNoaW5nU3RhdGUuaApAQCAtMzQsMTAg
KzM0LDEwIEBAIGNsYXNzIENvbnRhaW5lck5vZGU7CiBjbGFzcyBFbGVtZW50OwogY2xhc3MgRnJh
bWU7CiAKLWNsYXNzIFNjcm9sbExhdGNoaW5nU3RhdGUgeworY2xhc3MgU2Nyb2xsTGF0Y2hpbmdT
dGF0ZSBmaW5hbCB7CiBwdWJsaWM6CiAgICAgU2Nyb2xsTGF0Y2hpbmdTdGF0ZSgpOwotICAgIHZp
cnR1YWwgflNjcm9sbExhdGNoaW5nU3RhdGUoKTsKKyAgICB+U2Nyb2xsTGF0Y2hpbmdTdGF0ZSgp
OwogCiAgICAgdm9pZCBjbGVhcigpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9CaXF1YWQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0JpcXVh
ZC5oCmluZGV4IGU3MTA5MzZhYTgwMjI1NWI0ZmE3ZTVkZjkzNDg0YWYzOWIyYjBjY2YuLmVmNGEz
MDA4MjUyMjllMTkxMzYwZjNmMGFhZWYxMWM1OGU4NmIzNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0JpcXVhZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL0JpcXVhZC5oCkBAIC00MCwxMCArNDAsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogLy8gSXQgY2FuIGJlIGNvbmZpZ3VyZWQgdG8gYSBudW1iZXIgb2YgY29tbW9uIGFuZCB2ZXJ5
IHVzZWZ1bCBmaWx0ZXJzOgogLy8gICAgbG93cGFzcywgaGlnaHBhc3MsIHNoZWx2aW5nLCBwYXJh
bWV0ZXJpYywgbm90Y2gsIGFsbHBhc3MsIC4uLgogCi1jbGFzcyBCaXF1YWQgeworY2xhc3MgQmlx
dWFkIGZpbmFsIHsKIHB1YmxpYzogICAKICAgICBCaXF1YWQoKTsKLSAgICB2aXJ0dWFsIH5CaXF1
YWQoKTsKKyAgICB+QmlxdWFkKCk7CiAKICAgICB2b2lkIHByb2Nlc3MoY29uc3QgZmxvYXQqIHNv
dXJjZVAsIGZsb2F0KiBkZXN0UCwgc2l6ZV90IGZyYW1lc1RvUHJvY2Vzcyk7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1BhdHRlcm4uaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1BhdHRlcm4uaAppbmRleCBlNzczNmQzZDVlODBkMGEw
YjA1N2E2Mjg5OTZmYmRhMGYyZDk2MjY5Li5mNDI1MjVkN2YyNjQ5NGZlOWUyZjMzNzZhMzM5ZDNm
MDFkMzVkZGIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Q
YXR0ZXJuLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGF0dGVybi5o
CkBAIC00OSwxMCArNDksMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgQWZmaW5lVHJh
bnNmb3JtOwogY2xhc3MgSW1hZ2U7CiAKLWNsYXNzIFBhdHRlcm4gOiBwdWJsaWMgUmVmQ291bnRl
ZDxQYXR0ZXJuPiB7CitjbGFzcyBQYXR0ZXJuIGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8UGF0
dGVybj4gewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmPFBhdHRlcm4+IGNyZWF0ZShQYXNz
UmVmUHRyPEltYWdlPiB0aWxlSW1hZ2UsIGJvb2wgcmVwZWF0WCwgYm9vbCByZXBlYXRZKTsKLSAg
ICB2aXJ0dWFsIH5QYXR0ZXJuKCk7CisgICAgflBhdHRlcm4oKTsKIAogICAgIEltYWdlKiB0aWxl
SW1hZ2UoKSBjb25zdCB7IHJldHVybiBtX3RpbGVJbWFnZS5nZXQoKTsgfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>