<?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>68237</bug_id>
          
          <creation_ts>2011-09-16 03:48:11 -0700</creation_ts>
          <short_desc>[V8] REGRESSION(94783): calling the binding script during V8 context creation slows down page loads</short_desc>
          <delta_ts>2011-09-27 05:04:14 -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>WebGL</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>
          <dependson>63644</dependson>
    
    <dependson>68015</dependson>
          <blocked>68890</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ulan Degenbaev">ulan</reporter>
          <assigned_to name="Ulan Degenbaev">ulan</assigned_to>
          <cc>danno</cc>
    
    <cc>japhet</cc>
    
    <cc>kbr</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>468408</commentid>
    <comment_count>0</comment_count>
    <who name="Ulan Degenbaev">ulan</who>
    <bug_when>2011-09-16 03:48:11 -0700</bug_when>
    <thetext>See http://code.google.com/p/chromium/issues/detail?id=96354 .

A possible fix is to call the script lazily on the first run of the &apos;set()&apos; method of a typed array.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468410</commentid>
    <comment_count>1</comment_count>
      <attachid>107631</attachid>
    <who name="Ulan Degenbaev">ulan</who>
    <bug_when>2011-09-16 03:55:01 -0700</bug_when>
    <thetext>Created attachment 107631
Call the binding script lazily</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468616</commentid>
    <comment_count>2</comment_count>
      <attachid>107631</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2011-09-16 11:01:26 -0700</bug_when>
    <thetext>Comment on attachment 107631
Call the binding script lazily

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

This looks good overall, thanks. I have one comment about the robustness of the code, but because this is such a high priority issue in Chromium I&apos;m going to mark this r+ / cq+ and we can deal with the robustness issue later.

&gt; Source/WebCore/bindings/v8/custom/V8ArrayBufferViewCustom.cpp:42
&gt; +    v8::Handle&lt;v8::Object&gt; arrayBufferView = prototype-&gt;GetPrototype().As&lt;v8::Object&gt;();

Is there a more robust way to either find the ArrayBufferView prototype or check that we&apos;ve found it with this walk? In a future version of the typed array spec a subtype of Uint8Array may be added (see http://www.khronos.org/registry/typedarray/specs/latest/#7.1 ) and this code would break if so.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468988</commentid>
    <comment_count>3</comment_count>
      <attachid>107631</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-16 19:30:05 -0700</bug_when>
    <thetext>Comment on attachment 107631
Call the binding script lazily

Clearing flags on attachment: 107631

Committed r95354: &lt;http://trac.webkit.org/changeset/95354&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468989</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-16 19:30:10 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107631</attachid>
            <date>2011-09-16 03:55:01 -0700</date>
            <delta_ts>2011-09-16 19:30:05 -0700</delta_ts>
            <desc>Call the binding script lazily</desc>
            <filename>b68237</filename>
            <type>text/plain</type>
            <size>11849</size>
            <attacher name="Ulan Degenbaev">ulan</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDk1Mjgy
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTEtMDkt
MTYgIFVsYW4gRGVnZW5iYWV2ICA8dWxhbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW1Y4XSBS
RUdSRVNTSU9OKDk0NzgzKTogY2FsbGluZyB0aGUgYmluZGluZyBzY3JpcHQgZHVyaW5nIFY4IGNv
bnRleHQgY3JlYXRpb24gc2xvd3MgZG93biBwYWdlIGxvYWRzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODIzNworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENhbGwgdGhlIGJpbmRpbmcgc2NyaXB0IGxhemls
eSBvbiB0aGUgZmlyc3QgcnVuIG9mIHRoZSBzZXQoKSBtZXRob2Qgb2YKKyAgICAgICAgYSB0eXBl
ZCBhcnJheS4KKworICAgICAgICAqIC4uLy4uL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaToK
KyAgICAgICAgKiAuLi8uLi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEJpbmRpbmdTY3Jp
cHRzLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiAuLi8uLi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9WOEJpbmRpbmdTY3JpcHRzLmg6IFJlbW92ZWQuCisgICAgICAgICogLi4vLi4vU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XaW5kb3dTaGVsbC5jcHA6CisgICAgICAgICogLi4v
Li4vU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvV29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5
LmNwcDoKKyAgICAgICAgKiAuLi8uLi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20v
VjhBcnJheUJ1ZmZlclZpZXdDdXN0b20uY3BwOgorICAgICAgICAqIC4uLy4uL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEFycmF5QnVmZmVyVmlld0N1c3RvbS5oOgorICAgICAg
ICAqIC4uLy4uL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEFycmF5QnVmZmVy
Vmlld0N1c3RvbVNjcmlwdC5qczoKKwogMjAxMS0wOS0xNSAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3
ZWJraXQub3JnPgogCiAgICAgICAgIFJlbmFtZSBFTkFCTEUoREFUQUJBU0UpIHRvIEVOQUJMRShT
UUxfREFUQUJBU0UpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCShyZXZpc2lvbiA5NTI3NCkKKysrIFNv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQkod29ya2luZyBjb3B5KQpAQCAtMjA2Myw4ICsyMDYz
LDYgQEAKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9WOEFic3RyYWN0RXZlbnRMaXN0ZW5lci5o
JywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9WOEJpbmRpbmcuY3BwJywKICAgICAgICAgICAg
ICdiaW5kaW5ncy92OC9WOEJpbmRpbmcuaCcsCi0gICAgICAgICAgICAnYmluZGluZ3MvdjgvVjhC
aW5kaW5nU2NyaXB0cy5jcHAnLAotICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L1Y4QmluZGluZ1Nj
cmlwdHMuaCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvVjhDb2xsZWN0aW9uLmNwcCcsCiAg
ICAgICAgICAgICAnYmluZGluZ3MvdjgvVjhDb2xsZWN0aW9uLmgnLAogICAgICAgICAgICAgJ2Jp
bmRpbmdzL3Y4L1Y4RE9NTWFwLmNwcCcsCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9WOEJpbmRpbmdTY3JpcHRzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9WOEJpbmRpbmdTY3JpcHRzLmNwcAkocmV2aXNpb24gOTUyNzQpCisrKyBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9WOEJpbmRpbmdTY3JpcHRzLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMSw0MyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFy
ZSBtZXQ6Ci0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiAgUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFO
RCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKLSAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWQotICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKLSAqIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsKLSAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgotICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTCi0gKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNp
bmNsdWRlICJWOEJpbmRpbmdTY3JpcHRzLmgiCi0KLSNpbmNsdWRlICJWOEFycmF5QnVmZmVyVmll
d0N1c3RvbVNjcmlwdC5oIgotI2luY2x1ZGUgIlY4QmluZGluZy5oIgotCi1uYW1lc3BhY2UgV2Vi
Q29yZSB7Ci0KLXZvaWQgVjhCaW5kaW5nU2NyaXB0czo6cnVuU2NyaXB0cyh2ODo6SGFuZGxlPHY4
OjpDb250ZXh0PiB2OENvbnRleHQpCi17Ci0gICAgdjg6OkNvbnRleHQ6OlNjb3BlIGNvbnRleHRT
Y29wZSh2OENvbnRleHQpOwotICAgIFN0cmluZyBzb3VyY2UocmVpbnRlcnByZXRfY2FzdDxjb25z
dCBjaGFyKj4oVjhBcnJheUJ1ZmZlclZpZXdDdXN0b21TY3JpcHRfanMpLAotICAgICAgICAgICAg
ICAgICAgc2l6ZW9mKFY4QXJyYXlCdWZmZXJWaWV3Q3VzdG9tU2NyaXB0X2pzKSk7Ci0gICAgdjg6
OkhhbmRsZTx2ODo6U2NyaXB0PiBzY3JpcHQgPSB2ODo6U2NyaXB0OjpDb21waWxlKHY4U3RyaW5n
KHNvdXJjZSkpOwotICAgIHNjcmlwdC0+UnVuKCk7Ci19Ci0KLX0KSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1Y4QmluZGluZ1NjcmlwdHMuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9WOEJpbmRpbmdTY3JpcHRzLmgJKHJldmlzaW9uIDk1Mjc0KQor
KysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhCaW5kaW5nU2NyaXB0cy5oCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDQyICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwotICogYXJlIG1ldDoKLSAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuICBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAotICogV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQotICog
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZCi0gKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUwotICogKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOwotICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCi0gKiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAot
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKLSAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgVjhCaW5kaW5n
U2NyaXB0c19oCi0jZGVmaW5lIFY4QmluZGluZ1NjcmlwdHNfaAotCi0jaW5jbHVkZSAidjguaCIK
LQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBWOEJpbmRpbmdTY3JpcHRzIHsKLXB1Ymxp
YzoKLSAgICAvLyBSdW5zIGN1c3RvbSBzY3JpcHRzIHRoYXQgc2V0IHVwIFY4IGJpbmRpbmdzIGlu
IGdsb2JhbCBjb250ZXh0LgotICAgIC8vIFByZWNvbmRpdGlvbjogdGhlIHNwZWNpZmllZCBWOCBj
b250ZXh0IGlzIGluaXRpYWxpemVkIGFuZCBjb250YWlucyB0aGUKLSAgICAvLyBnbG9iYWwgb2Jq
ZWN0LgotICAgIHN0YXRpYyB2b2lkIHJ1blNjcmlwdHModjg6OkhhbmRsZTx2ODo6Q29udGV4dD4p
OwotfTsKLQotfQotCi0jZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4
RE9NV2luZG93U2hlbGwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L1Y4RE9NV2luZG93U2hlbGwuY3BwCShyZXZpc2lvbiA5NTI3NCkKKysrIFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1Y4RE9NV2luZG93U2hlbGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00
Niw3ICs0Niw2IEBACiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJTdG9y
YWdlTmFtZXNwYWNlLmgiCiAjaW5jbHVkZSAiVjhCaW5kaW5nLmgiCi0jaW5jbHVkZSAiVjhCaW5k
aW5nU2NyaXB0cy5oIgogI2luY2x1ZGUgIlY4QmluZGluZ1N0YXRlLmgiCiAjaW5jbHVkZSAiVjhD
b2xsZWN0aW9uLmgiCiAjaW5jbHVkZSAiVjhET01NYXAuaCIKQEAgLTM0MCw4ICszMzksNiBAQCBi
b29sIFY4RE9NV2luZG93U2hlbGw6OmluaXRDb250ZXh0SWZOZWVkCiAKICAgICBzZXRTZWN1cml0
eVRva2VuKCk7CiAKLSAgICBWOEJpbmRpbmdTY3JpcHRzOjpydW5TY3JpcHRzKHY4Q29udGV4dCk7
Ci0KICAgICBtX2ZyYW1lLT5sb2FkZXIoKS0+Y2xpZW50KCktPmRpZENyZWF0ZVNjcmlwdENvbnRl
eHRGb3JGcmFtZSgpOwogCiAgICAgLy8gRklYTUU6IFRoaXMgaXMgd3JvbmcuIFdlIHNob3VsZCBh
Y3R1YWxseSBkbyB0aGlzIGZvciB0aGUgcHJvcGVyIHdvcmxkIG9uY2UKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1dvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvV29ya2VyQ29udGV4dEV4ZWN1dGlv
blByb3h5LmNwcAkocmV2aXNpb24gOTUyNzQpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9Xb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MSw3
ICs0MSw2IEBACiAjaW5jbHVkZSAiU2hhcmVkV29ya2VyLmgiCiAjaW5jbHVkZSAiU2hhcmVkV29y
a2VyQ29udGV4dC5oIgogI2luY2x1ZGUgIlY4QmluZGluZy5oIgotI2luY2x1ZGUgIlY4QmluZGlu
Z1NjcmlwdHMuaCIKICNpbmNsdWRlICJWOERPTU1hcC5oIgogI2luY2x1ZGUgIlY4RGVkaWNhdGVk
V29ya2VyQ29udGV4dC5oIgogI2luY2x1ZGUgIlY4UHJveHkuaCIKQEAgLTE3Niw4ICsxNzUsNiBA
QCBib29sIFdvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eTo6aW5pdENvCiAgICAgdjg6OkhhbmRs
ZTx2ODo6T2JqZWN0PiBnbG9iYWxPYmplY3QgPSB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0
KG1fY29udGV4dC0+R2xvYmFsKCktPkdldFByb3RvdHlwZSgpKTsKICAgICBnbG9iYWxPYmplY3Qt
PlNldFByb3RvdHlwZShqc1dvcmtlckNvbnRleHQpOwogCi0gICAgVjhCaW5kaW5nU2NyaXB0czo6
cnVuU2NyaXB0cyhjb250ZXh0KTsKLQogICAgIHJldHVybiB0cnVlOwogfQogCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhBcnJheUJ1ZmZlclZpZXdDdXN0b20uY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEFycmF5
QnVmZmVyVmlld0N1c3RvbS5jcHAJKHJldmlzaW9uIDk1Mjc0KQorKysgU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4QXJyYXlCdWZmZXJWaWV3Q3VzdG9tLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMjYsMTAgKzI2LDM5IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAi
VjhBcnJheUJ1ZmZlclZpZXdDdXN0b20uaCIKIAorI2luY2x1ZGUgIlY4QXJyYXlCdWZmZXJWaWV3
Q3VzdG9tU2NyaXB0LmgiCiAjaW5jbHVkZSA8djguaD4KIAorCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKK2NvbnN0IGNoYXIgZmFzdFNldEZsYWdOYW1lW10gPSAid2ViZ2w6OkZhc3RTZXRGbGFnIjsK
KworYm9vbCBmYXN0U2V0SW5zdGFsbGVkKHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gYXJyYXkpCit7
CisgICAgLy8gVXNlIGEgaGlkZGVuIGZsYWcgaW4gdGhlIGNvbW1vbiBwcm90b3R5cGUgKEFycmF5
QnVmZmVyVmlldykgb2YgYWxsIHR5cGVkCisgICAgLy8gYXJyYXlzIGFzIGFuIGluZGljYXRvciBv
ZiB3aGV0aGVyIHRoZSBmYXN0ICdzZXQnIGlzIGluc3RhbGxlZCBvciBub3QuCisgICAgdjg6Okhh
bmRsZTx2ODo6T2JqZWN0PiBwcm90b3R5cGUgPSBhcnJheS0+R2V0UHJvdG90eXBlKCkuQXM8djg6
Ok9iamVjdD4oKTsKKyAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IGFycmF5QnVmZmVyVmlldyA9
IHByb3RvdHlwZS0+R2V0UHJvdG90eXBlKCkuQXM8djg6Ok9iamVjdD4oKTsKKyAgICB2ODo6SGFu
ZGxlPHY4OjpTdHJpbmc+IGtleSA9IHY4OjpTdHJpbmc6Ok5ldyhmYXN0U2V0RmxhZ05hbWUpOwor
ICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBmYXN0U2V0RmxhZyA9IGFycmF5QnVmZmVyVmlldy0+
R2V0SGlkZGVuVmFsdWUoa2V5KTsKKyAgICByZXR1cm4gIWZhc3RTZXRGbGFnLklzRW1wdHkoKTsK
K30KKwordm9pZCBpbnN0YWxsRmFzdFNldCh2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IGFycmF5KQor
eworICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gcHJvdG90eXBlID0gYXJyYXktPkdldFByb3Rv
dHlwZSgpLkFzPHY4OjpPYmplY3Q+KCk7CisgICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBhcnJh
eUJ1ZmZlclZpZXcgPSBwcm90b3R5cGUtPkdldFByb3RvdHlwZSgpLkFzPHY4OjpPYmplY3Q+KCk7
CisgICAgdjg6OkhhbmRsZTx2ODo6U3RyaW5nPiBrZXkgPSB2ODo6U3RyaW5nOjpOZXcoZmFzdFNl
dEZsYWdOYW1lKTsKKyAgICBhcnJheUJ1ZmZlclZpZXctPlNldEhpZGRlblZhbHVlKGtleSwgdjg6
OkJvb2xlYW46Ok5ldyh0cnVlKSk7CisKKyAgICBTdHJpbmcgc291cmNlKHJlaW50ZXJwcmV0X2Nh
c3Q8Y29uc3QgY2hhcio+KFY4QXJyYXlCdWZmZXJWaWV3Q3VzdG9tU2NyaXB0X2pzKSwKKyAgICAg
ICAgICAgICAgICAgIHNpemVvZihWOEFycmF5QnVmZmVyVmlld0N1c3RvbVNjcmlwdF9qcykpOwor
ICAgIHY4OjpIYW5kbGU8djg6OlNjcmlwdD4gc2NyaXB0ID0gdjg6OlNjcmlwdDo6Q29tcGlsZSh2
OFN0cmluZyhzb3VyY2UpKTsKKyAgICBzY3JpcHQtPlJ1bigpOworfQorCisKIHZvaWQgY29weUVs
ZW1lbnRzKHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gZGVzdEFycmF5LCB2ODo6SGFuZGxlPHY4OjpP
YmplY3Q+IHNyY0FycmF5KQogewogICAgIHY4OjpIYW5kbGU8djg6OlN0cmluZz4ga2V5ID0gdjg6
OlN0cmluZzo6TmV3KCJzZXQiKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOEFycmF5QnVmZmVyVmlld0N1c3RvbS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEFycmF5QnVmZmVyVmlld0N1c3RvbS5oCShyZXZpc2lv
biA5NTI3NCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEFycmF5QnVm
ZmVyVmlld0N1c3RvbS5oCSh3b3JraW5nIGNvcHkpCkBAIC00MSwxMCArNDEsMTkgQEAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogCisvLyBDaGVjayBpZiB0aGUgSmF2YVNjcmlwdCAnc2V0JyBtZXRo
b2Qgd2FzIGFscmVhZHkgaW5zdGFsbGVkCisvLyBvbiB0aGUgcHJvdG90eXBlIG9mIHRoZSBnaXZl
biB0eXBlZCBhcnJheS4KK2Jvb2wgZmFzdFNldEluc3RhbGxlZCh2ODo6SGFuZGxlPHY4OjpPYmpl
Y3Q+IGFycmF5KTsKKworLy8gSW5zdGFsbCB0aGUgSmF2YVNjcmlwdCAnc2V0JyBtZXRob2Qgb24g
dGhlIHByb3RvdHlwZSBvZgorLy8gdGhlIGdpdmVuIHR5cGVkIGFycmF5Lgordm9pZCBpbnN0YWxs
RmFzdFNldCh2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IGFycmF5KTsKKwogLy8gQ29weSB0aGUgZWxl
bWVudHMgZnJvbSB0aGUgc291cmNlIGFycmF5IHRvIHRoZSB0eXBlZCBkZXN0aW5hdGlvbiBhcnJh
eSBieQogLy8gaW52b2tpbmcgdGhlICdzZXQnIG1ldGhvZCBvZiB0aGUgZGVzdGluYXRpb24gYXJy
YXkgaW4gSlMuCiB2b2lkIGNvcHlFbGVtZW50cyh2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IGRlc3RB
cnJheSwgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBzcmNBcnJheSk7CiAKKwogLy8gVGVtcGxhdGUg
ZnVuY3Rpb24gdXNlZCBieSB0aGUgQXJyYXlCdWZmZXJWaWV3KkNvbnN0cnVjdG9yIGNhbGxiYWNr
cy4KIHRlbXBsYXRlPGNsYXNzIEFycmF5Q2xhc3MsIGNsYXNzIEVsZW1lbnRUeXBlPgogdjg6Okhh
bmRsZTx2ODo6VmFsdWU+IGNvbnN0cnVjdFdlYkdMQXJyYXlXaXRoQXJyYXlCdWZmZXJBcmd1bWVu
dChjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzLCBXcmFwcGVyVHlwZUluZm8qIHR5cGUsIHY4OjpF
eHRlcm5hbEFycmF5VHlwZSBhcnJheVR5cGUsIGJvb2wgaGFzSW5kZXhlcikKQEAgLTE5OCwxMCAr
MjA3LDE1IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBzZXRXZWJHTEFycmF5SGVscGUKICAgICAg
ICAgICAgIHx8IG9mZnNldCArIGxlbmd0aCA8IG9mZnNldCkKICAgICAgICAgICAgIC8vIE91dCBv
ZiByYW5nZSBvZmZzZXQgb3Igb3ZlcmZsb3cKICAgICAgICAgICAgIFY4UHJveHk6OnNldERPTUV4
Y2VwdGlvbihJTkRFWF9TSVpFX0VSUik7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGZvciAo
dWludDMyX3QgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykKLSAgICAgICAgICAgICAgICBpbXBsLT5z
ZXQob2Zmc2V0ICsgaSwgYXJyYXktPkdldChpKS0+TnVtYmVyVmFsdWUoKSk7Ci0KKyAgICAgICAg
ZWxzZSB7CisgICAgICAgICAgICBpZiAoIWZhc3RTZXRJbnN0YWxsZWQoYXJncy5Ib2xkZXIoKSkp
IHsKKyAgICAgICAgICAgICAgICBpbnN0YWxsRmFzdFNldChhcmdzLkhvbGRlcigpKTsKKyAgICAg
ICAgICAgICAgICBjb3B5RWxlbWVudHMoYXJncy5Ib2xkZXIoKSwgYXJyYXkpOworICAgICAgICAg
ICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBmb3IgKHVpbnQzMl90IGkgPSAwOyBpIDwgbGVu
Z3RoOyBpKyspCisgICAgICAgICAgICAgICAgICAgIGltcGwtPnNldChvZmZzZXQgKyBpLCBhcnJh
eS0+R2V0KGkpLT5OdW1iZXJWYWx1ZSgpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQogICAg
ICAgICByZXR1cm4gdjg6OlVuZGVmaW5lZCgpOwogICAgIH0KIApJbmRleDogU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4QXJyYXlCdWZmZXJWaWV3Q3VzdG9tU2NyaXB0LmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEFycmF5QnVm
ZmVyVmlld0N1c3RvbVNjcmlwdC5qcwkocmV2aXNpb24gOTUyNzQpCisrKyBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9jdXN0b20vVjhBcnJheUJ1ZmZlclZpZXdDdXN0b21TY3JpcHQuanMJKHdv
cmtpbmcgY29weSkKQEAgLTQxLDYgKzQxLDcgQEAgdmFyIG9wdGltaXplU2V0TWV0aG9kID0gZnVu
Y3Rpb24odHlwZSkKICAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgIHJldHVybiBu
YXRpdmVTZXQuY2FsbCh0aGlzLCBzb3VyY2UsIG9mZnNldCk7CiAgICAgICAgIH0KKyAgICAgICAg
Zi5uYW1lID0gInNldCI7CiAgICAgICAgIHJldHVybiBmOwogICAgIH0pKCk7CiB9Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>