<?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>23801</bug_id>
          
          <creation_ts>2009-02-06 15:24:25 -0800</creation_ts>
          <short_desc>Add custom V8 bindings for SVG</short_desc>
          <delta_ts>2009-02-06 15:39:56 -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>WebCore Misc.</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>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dimitri Glazkov (Google)">dglazkov</reporter>
          <assigned_to name="Dimitri Glazkov (Google)">dglazkov</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>108733</commentid>
    <comment_count>0</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2009-02-06 15:24:25 -0800</bug_when>
    <thetext>Pre-scrubbed here: http://codereview.chromium.org/21139/show</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>108736</commentid>
    <comment_count>1</comment_count>
      <attachid>27424</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2009-02-06 15:26:25 -0800</bug_when>
    <thetext>Created attachment 27424
Add custom V8 bindings for SVG, v1

 WebCore/ChangeLog                                  |   15 ++++
 .../v8/custom/V8SVGElementInstanceCustom.cpp       |   87 ++++++++++++++++++++
 WebCore/bindings/v8/custom/V8SVGLengthCustom.cpp   |   65 +++++++++++++++
 WebCore/bindings/v8/custom/V8SVGMatrixCustom.cpp   |   86 +++++++++++++++++++
 4 files changed, 253 insertions(+), 0 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>108738</commentid>
    <comment_count>2</comment_count>
      <attachid>27424</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-02-06 15:32:50 -0800</bug_when>
    <thetext>Comment on attachment 27424
Add custom V8 bindings for SVG, v1

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>108746</commentid>
    <comment_count>3</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2009-02-06 15:39:56 -0800</bug_when>
    <thetext>Landed as http://trac.webkit.org/changeset/40737.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>27424</attachid>
            <date>2009-02-06 15:26:25 -0800</date>
            <delta_ts>2009-02-06 15:32:50 -0800</delta_ts>
            <desc>Add custom V8 bindings for SVG, v1</desc>
            <filename>Add-custom-V8-bindings-for-SVG-v1.patch</filename>
            <type>text/plain</type>
            <size>10796</size>
            <attacher name="Dimitri Glazkov (Google)">dglazkov</attacher>
            
              <data encoding="base64">N2Q1ZThhZTVhM2Y1ZDgxNGQ5NjFiMjVmNDY0MzRjMjhmNTY0NjU5MwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBmMzE1ZWI0Li41MTNmNjEw
IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE4IEBACisyMDA5LTAyLTA2ICBEaW1pdHJpIEdsYXprb3YgIDxkZ2xhemtvdkBj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM4MDEKKyAgICAg
ICBBZGQgY3VzdG9tIFY4IGJpbmRpbmdzIGZvciBTVkcuCisKKyAgICAgICAgKiBiaW5kaW5ncy92
OC9jdXN0b20vVjhTVkdFbGVtZW50SW5zdGFuY2VDdXN0b20uY3BwOiBBZGRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OkNBTExCQUNLX0ZVTkNfREVDTCk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4U1ZHTGVuZ3RoQ3VzdG9tLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpBQ0NF
U1NPUl9HRVRURVIpOgorICAgICAgICAoV2ViQ29yZTo6Q0FMTEJBQ0tfRlVOQ19ERUNMKToKKyAg
ICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhTVkdNYXRyaXhDdXN0b20uY3BwOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OkNBTExCQUNLX0ZVTkNfREVDTCk6CisKIDIwMDktMDItMDYgIERh
dmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KIAogICAgICAgICBCdWcgMjM3NDE6IFN0
eWxlUmFyZU5vbkluaGVyaXRlZERhdGE6Om9wZXJhdG9yPT0oKSBzaG91bGQgbm90IGNvbXBhcmUg
Q29udGVudERhdGEgb2JqZWN0cyBieSBwb2ludGVyCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOFNWR0VsZW1lbnRJbnN0YW5jZUN1c3RvbS5jcHAgYi9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOFNWR0VsZW1lbnRJbnN0YW5jZUN1c3RvbS5jcHAKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzUxYjAzMAotLS0gL2Rldi9udWxsCisrKyBiL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1ZHRWxlbWVudEluc3RhbmNlQ3VzdG9tLmNwcApA
QCAtMCwwICsxLDg3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKiAKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQor
ICogbWV0OgorICogCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20K
KyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisgKiAKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAq
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgPGNvbmZpZy5oPgorCisjaWYgRU5BQkxFKFNWRykK
KworI2luY2x1ZGUgIlNWR0VsZW1lbnRJbnN0YW5jZS5oIgorCisjaW5jbHVkZSAiRXZlbnRMaXN0
ZW5lci5oIgorCisjaW5jbHVkZSAiVjhCaW5kaW5nLmgiCisjaW5jbHVkZSAiVjhDdXN0b21CaW5k
aW5nLmgiCisjaW5jbHVkZSAiVjhDdXN0b21FdmVudExpc3RlbmVyLmgiCisjaW5jbHVkZSAiVjhT
VkdQT0RUeXBlV3JhcHBlci5oIgorI2luY2x1ZGUgIlY4UHJveHkuaCIKKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitDQUxMQkFDS19GVU5DX0RFQ0woU1ZHRWxlbWVudEluc3RhbmNlQWRkRXZlbnRM
aXN0ZW5lcikKK3sKKyAgICBJTkNfU1RBVFMoIkRPTS5TVkdFbGVtZW50SW5zdGFuY2UuQWRkRXZl
bnRMaXN0ZW5lcigpIik7CisgICAgU1ZHRWxlbWVudEluc3RhbmNlKiBpbnN0YW5jZSA9IFY4UHJv
eHk6OkRPTVdyYXBwZXJUb05hdGl2ZTxTVkdFbGVtZW50SW5zdGFuY2U+KGFyZ3MuSG9sZGVyKCkp
OworCisgICAgVjhQcm94eSogcHJveHkgPSBWOFByb3h5OjpyZXRyaWV2ZShpbnN0YW5jZS0+c2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKKyAgICBpZiAoIXByb3h5KQorICAgICAgICByZXR1cm4g
djg6OlVuZGVmaW5lZCgpOworCisgICAgUmVmUHRyPEV2ZW50TGlzdGVuZXI+IGxpc3RlbmVyID0g
cHJveHktPkZpbmRPckNyZWF0ZVY4RXZlbnRMaXN0ZW5lcihhcmdzWzFdLCBmYWxzZSk7CisgICAg
aWYgKGxpc3RlbmVyKSB7CisgICAgICAgIFN0cmluZyB0eXBlID0gdG9XZWJDb3JlU3RyaW5nKGFy
Z3NbMF0pOworICAgICAgICBib29sIHVzZUNhcHR1cmUgPSBhcmdzWzJdLT5Cb29sZWFuVmFsdWUo
KTsKKyAgICAgICAgaW5zdGFuY2UtPmFkZEV2ZW50TGlzdGVuZXIodHlwZSwgbGlzdGVuZXIsIHVz
ZUNhcHR1cmUpOworICAgIH0KKworICAgIHJldHVybiB2ODo6VW5kZWZpbmVkKCk7Cit9CisKK0NB
TExCQUNLX0ZVTkNfREVDTChTVkdFbGVtZW50SW5zdGFuY2VSZW1vdmVFdmVudExpc3RlbmVyKQor
eworICAgIElOQ19TVEFUUygiRE9NLlNWR0VsZW1lbnRJbnN0YW5jZS5SZW1vdmVFdmVudExpc3Rl
bmVyKCkiKTsKKyAgICBTVkdFbGVtZW50SW5zdGFuY2UqIGluc3RhbmNlID0gVjhQcm94eTo6RE9N
V3JhcHBlclRvTmF0aXZlPFNWR0VsZW1lbnRJbnN0YW5jZT4oYXJncy5Ib2xkZXIoKSk7CisKKyAg
ICBWOFByb3h5KiBwcm94eSA9IFY4UHJveHk6OnJldHJpZXZlKGluc3RhbmNlLT5zY3JpcHRFeGVj
dXRpb25Db250ZXh0KCkpOworICAgIGlmICghcHJveHkpCisgICAgICAgIHJldHVybiB2ODo6VW5k
ZWZpbmVkKCk7CisKKyAgICBSZWZQdHI8RXZlbnRMaXN0ZW5lcj4gbGlzdGVuZXIgPSBwcm94eS0+
RmluZFY4RXZlbnRMaXN0ZW5lcihhcmdzWzFdLCBmYWxzZSk7CisgICAgaWYgKGxpc3RlbmVyKSB7
CisgICAgICAgIFN0cmluZyB0eXBlID0gdG9XZWJDb3JlU3RyaW5nKGFyZ3NbMF0pOworICAgICAg
ICBib29sIHVzZUNhcHR1cmUgPSBhcmdzWzJdLT5Cb29sZWFuVmFsdWUoKTsKKyAgICAgICAgaW5z
dGFuY2UtPnJlbW92ZUV2ZW50TGlzdGVuZXIodHlwZSwgbGlzdGVuZXIuZ2V0KCksIHVzZUNhcHR1
cmUpOworICAgIH0KKworICAgIHJldHVybiB2ODo6VW5kZWZpbmVkKCk7Cit9CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOFNWR0xlbmd0aEN1c3RvbS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOFNWR0xlbmd0aEN1c3RvbS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uYTJhNGQ0OQotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9t
L1Y4U1ZHTGVuZ3RoQ3VzdG9tLmNwcApAQCAtMCwwICsxLDY1IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiAKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICogCisgKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9u
LgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVz
IG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKiAKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAq
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKyAKKyNpbmNsdWRlIDxjb25m
aWcuaD4KKworI2lmIEVOQUJMRShTVkcpCisKKyNpbmNsdWRlICJTVkdMZW5ndGguaCIKKworI2lu
Y2x1ZGUgIlY4QmluZGluZy5oIgorI2luY2x1ZGUgIlY4Q3VzdG9tQmluZGluZy5oIgorI2luY2x1
ZGUgIlY4U1ZHUE9EVHlwZVdyYXBwZXIuaCIKKyNpbmNsdWRlICJWOFByb3h5LmgiCisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworQUNDRVNTT1JfR0VUVEVSKFNWR0xlbmd0aFZhbHVlKQoreworICAg
IElOQ19TVEFUUygiRE9NLlNWR0xlbmd0aC52YWx1ZSIpOworICAgIFY4U1ZHUE9EVHlwZVdyYXBw
ZXI8U1ZHTGVuZ3RoPiogd3JhcHBlciA9IFY4UHJveHk6OlRvTmF0aXZlT2JqZWN0PFY4U1ZHUE9E
VHlwZVdyYXBwZXI8U1ZHTGVuZ3RoPiA+KFY4Q2xhc3NJbmRleDo6U1ZHTEVOR1RILCBpbmZvLkhv
bGRlcigpKTsKKyAgICBTVkdMZW5ndGggaW1wID0gKndyYXBwZXI7CisgICAgcmV0dXJuIHY4OjpO
dW1iZXI6Ok5ldyhpbXAudmFsdWUoVjhQcm94eTo6R2V0U1ZHQ29udGV4dCh3cmFwcGVyKSkpOwor
fQorCitDQUxMQkFDS19GVU5DX0RFQ0woU1ZHTGVuZ3RoQ29udmVydFRvU3BlY2lmaWVkVW5pdHMp
Cit7CisgICAgSU5DX1NUQVRTKCJET00uU1ZHTGVuZ3RoLmNvbnZlcnRUb1NwZWNpZmllZFVuaXRz
Iik7CisgICAgVjhTVkdQT0RUeXBlV3JhcHBlcjxTVkdMZW5ndGg+KiB3cmFwcGVyID0gVjhQcm94
eTo6VG9OYXRpdmVPYmplY3Q8VjhTVkdQT0RUeXBlV3JhcHBlcjxTVkdMZW5ndGg+ID4oVjhDbGFz
c0luZGV4OjpTVkdMRU5HVEgsIGFyZ3MuSG9sZGVyKCkpOworICAgIFNWR0xlbmd0aCBpbXAgPSAq
d3JhcHBlcjsKKyAgICBTVkdFbGVtZW50KiBjb250ZXh0ID0gVjhQcm94eTo6R2V0U1ZHQ29udGV4
dCh3cmFwcGVyKTsKKyAgICBpbXAuY29udmVydFRvU3BlY2lmaWVkVW5pdHModG9JbnQzMihhcmdz
WzBdKSwgY29udGV4dCk7CisgICAgd3JhcHBlci0+Y29tbWl0Q2hhbmdlKGltcCwgY29udGV4dCk7
CisgICAgcmV0dXJuIHY4OjpVbmRlZmluZWQoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1ZH
TWF0cml4Q3VzdG9tLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1ZHTWF0cml4
Q3VzdG9tLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNjkyMDJiCi0t
LSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhTVkdNYXRyaXhD
dXN0b20uY3BwCkBAIC0wLDAgKzEsODYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIAorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlCisgKiBtZXQ6CisgKiAKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
CisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKyAqIAorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworIAorI2luY2x1ZGUgPGNvbmZpZy5oPgorCisjaWYg
RU5BQkxFKFNWRykKKworI2luY2x1ZGUgIlRyYW5zZm9ybWF0aW9uTWF0cml4LmgiCisKKyNpbmNs
dWRlICJTVkdFeGNlcHRpb24uaCIKKworI2luY2x1ZGUgIlY4QmluZGluZy5oIgorI2luY2x1ZGUg
IlY4Q3VzdG9tQmluZGluZy5oIgorI2luY2x1ZGUgIlY4U1ZHUE9EVHlwZVdyYXBwZXIuaCIKKyNp
bmNsdWRlICJWOFByb3h5LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworQ0FMTEJBQ0tfRlVO
Q19ERUNMKFNWR01hdHJpeEludmVyc2UpCit7CisgICAgSU5DX1NUQVRTKCJET00uU1ZHTWF0cml4
LmludmVyc2UoKSIpOworICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4IG1hdHJpeCA9ICpWOFByb3h5
OjpUb05hdGl2ZU9iamVjdDxWOFNWR1BPRFR5cGVXcmFwcGVyPFRyYW5zZm9ybWF0aW9uTWF0cml4
PiA+KFY4Q2xhc3NJbmRleDo6U1ZHTUFUUklYLCBhcmdzLkhvbGRlcigpKTsKKyAgICBFeGNlcHRp
b25Db2RlIGVjID0gMDsKKyAgICBUcmFuc2Zvcm1hdGlvbk1hdHJpeCByZXN1bHQgPSBtYXRyaXgu
aW52ZXJzZSgpOworCisgICAgaWYgKCFtYXRyaXguaXNJbnZlcnRpYmxlKCkpCisgICAgICAgIGVj
ID0gU1ZHRXhjZXB0aW9uOjpTVkdfTUFUUklYX05PVF9JTlZFUlRBQkxFOworCisgICAgaWYgKGVj
ICE9IDApIHsKKyAgICAgICAgVjhQcm94eTo6U2V0RE9NRXhjZXB0aW9uKGVjKTsKKyAgICAgICAg
cmV0dXJuIHY4OjpIYW5kbGU8djg6OlZhbHVlPigpOworICAgIH0KKworICAgIHJldHVybiBWOFBy
b3h5OjpUb1Y4T2JqZWN0KFY4Q2xhc3NJbmRleDo6U1ZHTUFUUklYLCBuZXcgVjhTVkdTdGF0aWNQ
T0RUeXBlV3JhcHBlcjxUcmFuc2Zvcm1hdGlvbk1hdHJpeD4ocmVzdWx0KSk7Cit9CisKK0NBTExC
QUNLX0ZVTkNfREVDTChTVkdNYXRyaXhSb3RhdGVGcm9tVmVjdG9yKQoreworICAgIElOQ19TVEFU
UygiRE9NLlNWR01hdHJpeC5yb3RhdGVGcm9tVmVjdG9yKCkiKTsKKyAgICBUcmFuc2Zvcm1hdGlv
bk1hdHJpeCBtYXRyaXggPSAqVjhQcm94eTo6VG9OYXRpdmVPYmplY3Q8VjhTVkdQT0RUeXBlV3Jh
cHBlcjxUcmFuc2Zvcm1hdGlvbk1hdHJpeD4gPihWOENsYXNzSW5kZXg6OlNWR01BVFJJWCwgYXJn
cy5Ib2xkZXIoKSk7CisgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CisgICAgZmxvYXQgeCA9IHRv
RmxvYXQoYXJnc1swXSk7CisgICAgZmxvYXQgeSA9IHRvRmxvYXQoYXJnc1sxXSk7CisgICAgVHJh
bnNmb3JtYXRpb25NYXRyaXggcmVzdWx0ID0gbWF0cml4OworICAgIHJlc3VsdC5yb3RhdGVGcm9t
VmVjdG9yKHgsIHkpOworICAgIGlmICh4ID09IDAuMCB8fCB5ID09IDAuMCkKKyAgICAgICAgZWMg
PSBTVkdFeGNlcHRpb246OlNWR19JTlZBTElEX1ZBTFVFX0VSUjsKKworICAgIGlmIChlYyAhPSAw
KSB7CisgICAgICAgIFY4UHJveHk6OlNldERPTUV4Y2VwdGlvbihlYyk7CisgICAgICAgIHJldHVy
biB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4oKTsKKyAgICB9CisKKyAgICByZXR1cm4gVjhQcm94eTo6
VG9WOE9iamVjdChWOENsYXNzSW5kZXg6OlNWR01BVFJJWCwgbmV3IFY4U1ZHU3RhdGljUE9EVHlw
ZVdyYXBwZXI8VHJhbnNmb3JtYXRpb25NYXRyaXg+KHJlc3VsdCkpOworfQorCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKKyNlbmRpZgo=
</data>
<flag name="review"
          id="13261"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>