<?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>65004</bug_id>
          
          <creation_ts>2011-07-21 18:26:21 -0700</creation_ts>
          <short_desc>[V8][Chromium] Run workers in a separate v8::Isolate</short_desc>
          <delta_ts>2011-07-26 19:41:32 -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>WebCore 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>
          
          <blocked>61016</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dmitry Lomov">dslomov</reporter>
          <assigned_to name="Dmitry Lomov">dslomov</assigned_to>
          <cc>abarth</cc>
    
    <cc>antonm</cc>
    
    <cc>dimich</cc>
    
    <cc>dslomov</cc>
    
    <cc>levin</cc>
    
    <cc>vitalyr</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>440780</commentid>
    <comment_count>0</comment_count>
    <who name="Dmitry Lomov">dslomov</who>
    <bug_when>2011-07-21 18:26:21 -0700</bug_when>
    <thetext>Allocate a separate v8::Isolate workers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>440787</commentid>
    <comment_count>1</comment_count>
      <attachid>101685</attachid>
    <who name="Dmitry Lomov">dslomov</who>
    <bug_when>2011-07-21 18:46:12 -0700</bug_when>
    <thetext>Created attachment 101685
Allocates v8::isolate per worker</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>440788</commentid>
    <comment_count>2</comment_count>
      <attachid>101685</attachid>
    <who name="Dmitry Lomov">dslomov</who>
    <bug_when>2011-07-21 18:46:39 -0700</bug_when>
    <thetext>Comment on attachment 101685
Allocates v8::isolate per worker

No cq yet - waiting on chromium trybots.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>440789</commentid>
    <comment_count>3</comment_count>
      <attachid>101685</attachid>
    <who name="Dmitry Lomov">dslomov</who>
    <bug_when>2011-07-21 18:47:18 -0700</bug_when>
    <thetext>Comment on attachment 101685
Allocates v8::isolate per worker

trybots happy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>442485</commentid>
    <comment_count>4</comment_count>
      <attachid>101685</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2011-07-26 13:22:24 -0700</bug_when>
    <thetext>Comment on attachment 101685
Allocates v8::isolate per worker

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

&gt; Source/WebCore/ChangeLog:9
&gt; +        No new tests. (OOPS!)

This should either say what test were added or why test can&apos;t be written or what test cover it or that no new functionality is exposed so no new tests are needed.

&gt; Source/WebCore/bindings/v8/V8Binding.h:112
&gt;          DOMDataList&amp; allStores() { return m_DOMDataList; }

Add blank line.

&gt; Source/WebCore/bindings/v8/V8Binding.h:120
&gt; +            m_DOMDataList.remove(m_DOMDataList.find(domDataStore));

What happens if domDataStore isn&apos;t in there?

&gt; Source/WebCore/bindings/v8/WorkerScriptController.cpp:59
&gt; +    data-&gt;allStores().append(&amp;m_DOMDataStore);

consider swapping these two lines.

(It seems like setDOMDataStore should assert that what it is given is in the allStores.)

&gt; Source/WebCore/bindings/v8/WorkerScriptController.h:82
&gt; +        ScopedDOMDataStore m_DOMDataStore;

m_domDataStore</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>442486</commentid>
    <comment_count>5</comment_count>
      <attachid>101685</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2011-07-26 13:23:42 -0700</bug_when>
    <thetext>Comment on attachment 101685
Allocates v8::isolate per worker

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

&gt;&gt; Source/WebCore/bindings/v8/V8Binding.h:120
&gt;&gt; +            m_DOMDataList.remove(m_DOMDataList.find(domDataStore));
&gt; 
&gt; What happens if domDataStore isn&apos;t in there?

Please add an assert here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>442635</commentid>
    <comment_count>6</comment_count>
      <attachid>102076</attachid>
    <who name="Dmitry Lomov">dslomov</who>
    <bug_when>2011-07-26 17:17:45 -0700</bug_when>
    <thetext>Created attachment 102076
CR feedback addressed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>442706</commentid>
    <comment_count>7</comment_count>
      <attachid>102076</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-26 19:41:28 -0700</bug_when>
    <thetext>Comment on attachment 102076
CR feedback addressed

Clearing flags on attachment: 102076

Committed r91814: &lt;http://trac.webkit.org/changeset/91814&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>442707</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-26 19:41:32 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>101685</attachid>
            <date>2011-07-21 18:46:12 -0700</date>
            <delta_ts>2011-07-26 17:17:45 -0700</delta_ts>
            <desc>Allocates v8::isolate per worker</desc>
            <filename>65004.patch</filename>
            <type>text/plain</type>
            <size>8829</size>
            <attacher name="Dmitry Lomov">dslomov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAyM2ZlNWNjLi4yNmFmM2RmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUg
QEAKKzIwMTEtMDctMjEgIERtaXRyeSBMb21vdiAgPGRzbG9tb3ZAZ29vZ2xlLmNvbT4KKworICAg
ICAgICBbVjhdW0Nocm9taXVtXSBSdW4gd29ya2VycyBpbiBhIHNlcGFyYXRlIHY4OjpJc29sYXRl
IAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwMDQK
KyAgICAgICAgVGhpcyBwYXRjaCBhbGxvY2F0ZXMgYSBuZXcgdjg6Oklzb2xhdGUgZm9yIGV2ZXJ5
IHdvcmtlciBhbmQgZW50ZXJzIGl0IG9uIHdvcmtlciB0aHJlYWQuCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiAoT09QUyEpCisK
KyAgICAgICAgKiBiaW5kaW5ncy92OC9ET01EYXRhU3RvcmUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RE9NRGF0YVN0b3JlOjpET01EYXRhU3RvcmUpOgorICAgICAgICAoV2ViQ29yZTo6RE9NRGF0
YVN0b3JlOjp+RE9NRGF0YVN0b3JlKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9TdGF0aWNET01E
YXRhU3RvcmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3RhdGljRE9NRGF0YVN0b3JlOjpTdGF0
aWNET01EYXRhU3RvcmUpOgorICAgICAgICAoV2ViQ29yZTo6U3RhdGljRE9NRGF0YVN0b3JlOjp+
U3RhdGljRE9NRGF0YVN0b3JlKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9TdGF0aWNET01EYXRh
U3RvcmUuaDoKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOEJpbmRpbmcuaDoKKyAgICAgICAgKFdl
YkNvcmU6OlY4QmluZGluZ1Blcklzb2xhdGVEYXRhOjpyZWdpc3RlckRPTURhdGFTdG9yZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpWOEJpbmRpbmdQZXJJc29sYXRlRGF0YTo6dW5yZWdpc3RlckRPTURh
dGFTdG9yZSk6CisgICAgICAgICogYmluZGluZ3MvdjgvVjhET01NYXAuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RE9NRGF0YVN0b3JlSGFuZGxlOjpET01EYXRhU3RvcmVIYW5kbGUpOgorICAgICAg
ICAoV2ViQ29yZTo6RE9NRGF0YVN0b3JlSGFuZGxlOjp+RE9NRGF0YVN0b3JlSGFuZGxlKToKKyAg
ICAgICAgKiBiaW5kaW5ncy92OC9Xb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHkuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6V29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5OjpXb3JrZXJDb250ZXh0
RXhlY3V0aW9uUHJveHkpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyQ29udGV4dEV4ZWN1dGlv
blByb3h5Ojppbml0VjgpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1dvcmtlckNvbnRleHRFeGVj
dXRpb25Qcm94eS5oOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1dvcmtlclNjcmlwdENvbnRyb2xs
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyU2NyaXB0Q29udHJvbGxlcjo6V29ya2Vy
U2NyaXB0Q29udHJvbGxlcik6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJTY3JpcHRDb250cm9s
bGVyOjp+V29ya2VyU2NyaXB0Q29udHJvbGxlcik6CisgICAgICAgICogYmluZGluZ3MvdjgvV29y
a2VyU2NyaXB0Q29udHJvbGxlci5oOgorCiAyMDExLTA3LTIxICBLdWxhbnRoYWl2ZWwgUGFsYW5p
Y2hhbXkgIDxrdWxhbnRoYWl2ZWxAY29kZWF1cm9yYS5vcmc+CiAKICAgICAgICAgRml4IGZvciBi
dWcgNjQwNDYgLSBXcm9uZyBpbWFnZSBoZWlnaHQgaW4gYWJzb2x1dGVseSBwb3NpdGlvbmVkIGRp
diBpbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YVN0b3Jl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5jcHAKaW5kZXgg
MjY0Mjg3MS4uNjE4MGQ5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
RE9NRGF0YVN0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRh
U3RvcmUuY3BwCkBAIC05MSwxMiArOTEsMTAgQEAgRE9NRGF0YVN0b3JlOjpET01EYXRhU3RvcmUo
KQogICAgICwgbV9kb21TdmdFbGVtZW50SW5zdGFuY2VNYXAoMCkKICNlbmRpZgogewotICAgIERP
TURhdGFTdG9yZTo6YWxsU3RvcmVzKCkuYXBwZW5kKHRoaXMpOwogfQogCiBET01EYXRhU3RvcmU6
On5ET01EYXRhU3RvcmUoKQogewotICAgIERPTURhdGFTdG9yZTo6YWxsU3RvcmVzKCkucmVtb3Zl
KERPTURhdGFTdG9yZTo6YWxsU3RvcmVzKCkuZmluZCh0aGlzKSk7CiB9CiAKIERPTURhdGFMaXN0
JiBET01EYXRhU3RvcmU6OmFsbFN0b3JlcygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9TdGF0aWNET01EYXRhU3RvcmUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvU3RhdGljRE9NRGF0YVN0b3JlLmNwcAppbmRleCBkNmRjYmUxLi5kYTRlOTEwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TdGF0aWNET01EYXRhU3RvcmUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1N0YXRpY0RPTURhdGFTdG9yZS5jcHAK
QEAgLTMwLDYgKzMwLDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlN0YXRp
Y0RPTURhdGFTdG9yZS5oIgorI2luY2x1ZGUgIlY4QmluZGluZy5oIgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKQEAgLTQ4LDYgKzQ5LDEyIEBAIFN0YXRpY0RPTURhdGFTdG9yZTo6U3RhdGljRE9N
RGF0YVN0b3JlKCkKICNpZiBFTkFCTEUoU1ZHKQogICAgIG1fZG9tU3ZnRWxlbWVudEluc3RhbmNl
TWFwID0gJm1fc3RhdGljRG9tU3ZnRWxlbWVudEluc3RhbmNlTWFwOwogI2VuZGlmCisgICAgVjhC
aW5kaW5nUGVySXNvbGF0ZURhdGE6OmN1cnJlbnQoKS0+cmVnaXN0ZXJET01EYXRhU3RvcmUodGhp
cyk7Cit9CisKK1N0YXRpY0RPTURhdGFTdG9yZTo6flN0YXRpY0RPTURhdGFTdG9yZSgpCit7Cisg
ICAgVjhCaW5kaW5nUGVySXNvbGF0ZURhdGE6OmN1cnJlbnQoKS0+dW5yZWdpc3RlckRPTURhdGFT
dG9yZSh0aGlzKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU3RhdGljRE9NRGF0YVN0b3JlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9TdGF0aWNET01EYXRhU3RvcmUuaAppbmRleCA2ODIxNDM2Li5jZTJj
OGY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TdGF0aWNET01EYXRh
U3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TdGF0aWNET01EYXRhU3Rv
cmUuaApAQCAtNDcsNiArNDcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBTdGF0aWNE
T01EYXRhU3RvcmUgOiBwdWJsaWMgRE9NRGF0YVN0b3JlIHsKIHB1YmxpYzoKICAgICBTdGF0aWNE
T01EYXRhU3RvcmUoKTsKKyAgICB2aXJ0dWFsIH5TdGF0aWNET01EYXRhU3RvcmUoKTsKIAogcHJp
dmF0ZToKICAgICBJbnRydXNpdmVET01XcmFwcGVyTWFwIG1fc3RhdGljRG9tTm9kZU1hcDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4QmluZGluZy5oIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvVjhCaW5kaW5nLmgKaW5kZXggMDQ0NDljNS4uYTJhMDlkNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhCaW5kaW5nLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhCaW5kaW5nLmgKQEAgLTExMCw2ICsxMTAsMTYg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBTdHJpbmdDYWNoZSogc3RyaW5nQ2FjaGUo
KSB7IHJldHVybiAmbV9zdHJpbmdDYWNoZTsgfQogCiAgICAgICAgIERPTURhdGFMaXN0JiBhbGxT
dG9yZXMoKSB7IHJldHVybiBtX0RPTURhdGFMaXN0OyB9CisgICAgICAgIHZvaWQgcmVnaXN0ZXJE
T01EYXRhU3RvcmUoRE9NRGF0YVN0b3JlKiBkb21EYXRhU3RvcmUpIAorICAgICAgICB7CisgICAg
ICAgICAgICBtX0RPTURhdGFMaXN0LmFwcGVuZChkb21EYXRhU3RvcmUpOworICAgICAgICB9CisK
KyAgICAgICAgdm9pZCB1bnJlZ2lzdGVyRE9NRGF0YVN0b3JlKERPTURhdGFTdG9yZSogZG9tRGF0
YVN0b3JlKQorICAgICAgICB7CisgICAgICAgICAgICBtX0RPTURhdGFMaXN0LnJlbW92ZShtX0RP
TURhdGFMaXN0LmZpbmQoZG9tRGF0YVN0b3JlKSk7CisgICAgICAgIH0KKwogCiAgICAgICAgIERP
TURhdGFTdG9yZSogZG9tRGF0YVN0b3JlKCkgeyByZXR1cm4gbV9ET01EYXRhU3RvcmU7IH0KICAg
ICAgICAgLy8gRE9NRGF0YVN0b3JlIGlzIG93bmVkIG91dHNpZGUgVjhCaW5kaW5nUGVySXNvbGF0
ZURhdGEuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTU1hcC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTU1hcC5jcHAKaW5kZXggNjIzNDg0
Ny4uYTBhZjlhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01N
YXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9NTWFwLmNwcApAQCAt
MzQsMTYgKzM0LDE5IEBACiAjaW5jbHVkZSAiRE9NRGF0YS5oIgogI2luY2x1ZGUgIkRPTURhdGFT
dG9yZS5oIgogI2luY2x1ZGUgIlNjb3BlZERPTURhdGFTdG9yZS5oIgorI2luY2x1ZGUgIlY4Qmlu
ZGluZy5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIERPTURhdGFTdG9yZUhhbmRsZTo6RE9N
RGF0YVN0b3JlSGFuZGxlKCkKICAgICA6IG1fc3RvcmUoYWRvcHRQdHIobmV3IFNjb3BlZERPTURh
dGFTdG9yZSgpKSkKIHsKKyAgICBWOEJpbmRpbmdQZXJJc29sYXRlRGF0YTo6Y3VycmVudCgpLT5y
ZWdpc3RlckRPTURhdGFTdG9yZShtX3N0b3JlLmdldCgpKTsKIH0KIAogRE9NRGF0YVN0b3JlSGFu
ZGxlOjp+RE9NRGF0YVN0b3JlSGFuZGxlKCkKIHsKKyAgICBWOEJpbmRpbmdQZXJJc29sYXRlRGF0
YTo6Y3VycmVudCgpLT51bnJlZ2lzdGVyRE9NRGF0YVN0b3JlKG1fc3RvcmUuZ2V0KCkpOwogfQog
CiBzdGF0aWMgaW5saW5lIERPTURhdGFTdG9yZSYgZ2V0RE9NRGF0YVN0b3JlKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1dvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94
eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9Xb3JrZXJDb250ZXh0RXhlY3V0aW9u
UHJveHkuY3BwCmluZGV4IGM3ZGU0YWIuLjdkY2ZkODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1dvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvV29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5LmNwcApA
QCAtODMsNyArODMsNyBAQCBXb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHk6OldvcmtlckNvbnRl
eHRFeGVjdXRpb25Qcm94eShXb3JrZXJDb250ZXh0KiB3b3JrZXJDbwogICAgIDogbV93b3JrZXJD
b250ZXh0KHdvcmtlckNvbnRleHQpCiAgICAgLCBtX3JlY3Vyc2lvbigwKQogewotICAgIGluaXRW
OElmTmVlZGVkKCk7CisgICAgaW5pdFY4KCk7CiB9CiAKIFdvcmtlckNvbnRleHRFeGVjdXRpb25Q
cm94eTo6fldvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eSgpCkBAIC0xMDgsMTMgKzEwOCw4IEBA
IHZvaWQgV29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5OjpkaXNwb3NlKCkKICAgICB9CiB9CiAK
LXZvaWQgV29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5Ojppbml0VjhJZk5lZWRlZCgpCit2b2lk
IFdvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eTo6aW5pdFY4KCkKIHsKLSAgICBzdGF0aWMgYm9v
bCB2OEluaXRpYWxpemVkID0gZmFsc2U7Ci0KLSAgICBpZiAodjhJbml0aWFsaXplZCkKLSAgICAg
ICAgcmV0dXJuOwotCiAgICAgLy8gVGVsbCBWOCBub3QgdG8gY2FsbCB0aGUgZGVmYXVsdCBPT00g
aGFuZGxlciwgYmluZGluZyBjb2RlIHdpbGwgaGFuZGxlIGl0LgogICAgIHY4OjpWODo6SWdub3Jl
T3V0T2ZNZW1vcnlFeGNlcHRpb24oKTsKICAgICB2ODo6Vjg6OlNldEZhdGFsRXJyb3JIYW5kbGVy
KHJlcG9ydEZhdGFsRXJyb3JJblY4KTsKQEAgLTEyNSw4ICsxMjAsNiBAQCB2b2lkIFdvcmtlckNv
bnRleHRFeGVjdXRpb25Qcm94eTo6aW5pdFY4SWZOZWVkZWQoKQogICAgIHY4OjpTZXRSZXNvdXJj
ZUNvbnN0cmFpbnRzKCZyZXNvdXJjZV9jb25zdHJhaW50cyk7CiAKICAgICBWOEJpbmRpbmdQZXJJ
c29sYXRlRGF0YTo6ZW5zdXJlSW5pdGlhbGl6ZWQodjg6Oklzb2xhdGU6OkdldEN1cnJlbnQoKSk7
Ci0KLSAgICB2OEluaXRpYWxpemVkID0gdHJ1ZTsKIH0KIAogYm9vbCBXb3JrZXJDb250ZXh0RXhl
Y3V0aW9uUHJveHk6OmluaXRDb250ZXh0SWZOZWVkZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvV29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5LmggYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9Xb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHkuaAppbmRleCBl
NzBjM2QyLi5kZTMyNzkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9X
b3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9Xb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHkuaApAQCAtNzMsNyArNzMsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHY4OjpMb2NhbDx2ODo6Q29udGV4dD4gY29udGV4dCgp
IHsgcmV0dXJuIHY4OjpMb2NhbDx2ODo6Q29udGV4dD46Ok5ldyhtX2NvbnRleHQpOyB9CiAKICAg
ICBwcml2YXRlOgotICAgICAgICB2b2lkIGluaXRWOElmTmVlZGVkKCk7CisgICAgICAgIHZvaWQg
aW5pdFY4KCk7CiAgICAgICAgIGJvb2wgaW5pdENvbnRleHRJZk5lZWRlZCgpOwogICAgICAgICB2
b2lkIGRpc3Bvc2UoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
V29ya2VyU2NyaXB0Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9X
b3JrZXJTY3JpcHRDb250cm9sbGVyLmNwcAppbmRleCBiYjg1ZDE1Li44MTA1ODU1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9Xb3JrZXJTY3JpcHRDb250cm9sbGVy
LmNwcApAQCAtNTEsMTQgKzUxLDIzIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogV29ya2VyU2Ny
aXB0Q29udHJvbGxlcjo6V29ya2VyU2NyaXB0Q29udHJvbGxlcihXb3JrZXJDb250ZXh0KiB3b3Jr
ZXJDb250ZXh0KQogICAgIDogbV93b3JrZXJDb250ZXh0KHdvcmtlckNvbnRleHQpCi0gICAgLCBt
X3Byb3h5KGFkb3B0UHRyKG5ldyBXb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHkod29ya2VyQ29u
dGV4dCkpKQorICAgICwgbV9pc29sYXRlKHY4OjpJc29sYXRlOjpOZXcoKSkKICAgICAsIG1fZXhl
Y3V0aW9uRm9yYmlkZGVuKGZhbHNlKQogeworICAgIFY4QmluZGluZ1Blcklzb2xhdGVEYXRhKiBk
YXRhID0gVjhCaW5kaW5nUGVySXNvbGF0ZURhdGE6OmNyZWF0ZShtX2lzb2xhdGUpOworICAgIGRh
dGEtPnNldERPTURhdGFTdG9yZSgmbV9ET01EYXRhU3RvcmUpOworICAgIGRhdGEtPmFsbFN0b3Jl
cygpLmFwcGVuZCgmbV9ET01EYXRhU3RvcmUpOworICAgIG1faXNvbGF0ZS0+RW50ZXIoKTsKKyAg
ICBtX3Byb3h5ID0gYWRvcHRQdHIobmV3IFdvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eSh3b3Jr
ZXJDb250ZXh0KSk7CiB9CiAKIFdvcmtlclNjcmlwdENvbnRyb2xsZXI6On5Xb3JrZXJTY3JpcHRD
b250cm9sbGVyKCkKIHsKICAgICByZW1vdmVBbGxET01PYmplY3RzKCk7CisgICAgbV9wcm94eS5j
bGVhcigpOworICAgIG1faXNvbGF0ZS0+RXhpdCgpOworICAgIFY4QmluZGluZ1Blcklzb2xhdGVE
YXRhOjpkaXNwb3NlKG1faXNvbGF0ZSk7CisgICAgbV9pc29sYXRlLT5EaXNwb3NlKCk7CiB9CiAK
IFNjcmlwdFZhbHVlIFdvcmtlclNjcmlwdENvbnRyb2xsZXI6OmV2YWx1YXRlKGNvbnN0IFNjcmlw
dFNvdXJjZUNvZGUmIHNvdXJjZUNvZGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmgKaW5kZXggY2M0YjdjNC4uZTQ3MDk3NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvV29ya2VyU2NyaXB0Q29udHJvbGxl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1dvcmtlclNjcmlwdENvbnRyb2xs
ZXIuaApAQCAtMzMsNiArMzMsMTAgQEAKIAogI2lmIEVOQUJMRShXT1JLRVJTKQogCisjaW5jbHVk
ZSAiU2NvcGVkRE9NRGF0YVN0b3JlLmgiCisjaW5jbHVkZSAiVjhCaW5kaW5nLmgiCisKKyNpbmNs
dWRlIDx2OC5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFk
aW5nLmg+CiAKQEAgLTc0LDYgKzc4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHByaXZh
dGU6CiAgICAgICAgIFdvcmtlckNvbnRleHQqIG1fd29ya2VyQ29udGV4dDsKICAgICAgICAgT3du
UHRyPFdvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eT4gbV9wcm94eTsKKyAgICAgICAgdjg6Oklz
b2xhdGUqIG1faXNvbGF0ZTsKKyAgICAgICAgU2NvcGVkRE9NRGF0YVN0b3JlIG1fRE9NRGF0YVN0
b3JlOwogICAgICAgICBib29sIG1fZXhlY3V0aW9uRm9yYmlkZGVuOwogICAgIH07CiAK
</data>
<flag name="review"
          id="96676"
          type_id="1"
          status="+"
          setter="levin"
    />
    <flag name="commit-queue"
          id="97168"
          type_id="3"
          status="-"
          setter="levin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>102076</attachid>
            <date>2011-07-26 17:17:45 -0700</date>
            <delta_ts>2011-07-26 19:41:28 -0700</delta_ts>
            <desc>CR feedback addressed</desc>
            <filename>65004.patch</filename>
            <type>text/plain</type>
            <size>10064</size>
            <attacher name="Dmitry Lomov">dslomov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBkMGI1YmU5Li5mZjNiYTUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUg
QEAKKzIwMTEtMDctMjEgIERtaXRyeSBMb21vdiAgPGRzbG9tb3ZAZ29vZ2xlLmNvbT4KKworICAg
ICAgICBbVjhdW0Nocm9taXVtXSBSdW4gd29ya2VycyBpbiBhIHNlcGFyYXRlIHY4OjpJc29sYXRl
IAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwMDQK
KyAgICAgICAgVGhpcyBwYXRjaCBhbGxvY2F0ZXMgYSBuZXcgdjg6Oklzb2xhdGUgZm9yIGV2ZXJ5
IHdvcmtlciBhbmQgZW50ZXJzIGl0IG9uIHdvcmtlciB0aHJlYWQuCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgRGF2aWQgTGV2aW4uCisKKyAgICAgICAgQ292ZXJlZCBieSBleGlzdGluZyBjaHJvbWl1
bSB0ZXN0cy4KKworICAgICAgICAqIGJpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpET01EYXRhU3RvcmU6OkRPTURhdGFTdG9yZSk6CisgICAgICAgIChXZWJD
b3JlOjpET01EYXRhU3RvcmU6On5ET01EYXRhU3RvcmUpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4
L1N0YXRpY0RPTURhdGFTdG9yZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdGF0aWNET01EYXRh
U3RvcmU6OlN0YXRpY0RPTURhdGFTdG9yZSk6CisgICAgICAgIChXZWJDb3JlOjpTdGF0aWNET01E
YXRhU3RvcmU6On5TdGF0aWNET01EYXRhU3RvcmUpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1N0
YXRpY0RPTURhdGFTdG9yZS5oOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4QmluZGluZy5oOgor
ICAgICAgICAoV2ViQ29yZTo6VjhCaW5kaW5nUGVySXNvbGF0ZURhdGE6OnJlZ2lzdGVyRE9NRGF0
YVN0b3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlY4QmluZGluZ1Blcklzb2xhdGVEYXRhOjp1bnJl
Z2lzdGVyRE9NRGF0YVN0b3JlKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOERPTU1hcC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpET01EYXRhU3RvcmVIYW5kbGU6OkRPTURhdGFTdG9yZUhhbmRs
ZSk6CisgICAgICAgIChXZWJDb3JlOjpET01EYXRhU3RvcmVIYW5kbGU6On5ET01EYXRhU3RvcmVI
YW5kbGUpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1dvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94
eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHk6Oldv
cmtlckNvbnRleHRFeGVjdXRpb25Qcm94eSk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJDb250
ZXh0RXhlY3V0aW9uUHJveHk6OmluaXRWOCk6CisgICAgICAgICogYmluZGluZ3MvdjgvV29ya2Vy
Q29udGV4dEV4ZWN1dGlvblByb3h5Lmg6CisgICAgICAgICogYmluZGluZ3MvdjgvV29ya2VyU2Ny
aXB0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJTY3JpcHRDb250cm9s
bGVyOjpXb3JrZXJTY3JpcHRDb250cm9sbGVyKToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclNj
cmlwdENvbnRyb2xsZXI6On5Xb3JrZXJTY3JpcHRDb250cm9sbGVyKToKKyAgICAgICAgKiBiaW5k
aW5ncy92OC9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmg6CisKIDIwMTEtMDctMjYgIE1hcmsgSGFo
bmVuYmVyZyAgPG1oYWhuZW5iZXJnQGFwcGxlLmNvbT4KIAogICAgICAgICBSZWZhY3RvciBhdXRv
bWF0aWNhbGx5IGdlbmVyYXRlZCBKUyBET00gYmluZGluZ3MgdG8gcmVwbGFjZSBvcGVyYXRvciBu
ZXcgd2l0aCBzdGF0aWMgY3JlYXRlIG1ldGhvZHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9ET01EYXRhU3RvcmUuY3BwCmluZGV4IGZiNjM4NmYuLmFhM2I3ZWMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YVN0b3JlLmNwcApAQCAtOTEsMTIgKzkxLDEwIEBAIERP
TURhdGFTdG9yZTo6RE9NRGF0YVN0b3JlKCkKICAgICAsIG1fZG9tU3ZnRWxlbWVudEluc3RhbmNl
TWFwKDApCiAjZW5kaWYKIHsKLSAgICBET01EYXRhU3RvcmU6OmFsbFN0b3JlcygpLmFwcGVuZCh0
aGlzKTsKIH0KIAogRE9NRGF0YVN0b3JlOjp+RE9NRGF0YVN0b3JlKCkKIHsKLSAgICBET01EYXRh
U3RvcmU6OmFsbFN0b3JlcygpLnJlbW92ZShET01EYXRhU3RvcmU6OmFsbFN0b3JlcygpLmZpbmQo
dGhpcykpOwogfQogCiBET01EYXRhTGlzdCYgRE9NRGF0YVN0b3JlOjphbGxTdG9yZXMoKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU3RhdGljRE9NRGF0YVN0b3JlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1N0YXRpY0RPTURhdGFTdG9yZS5jcHAKaW5k
ZXggZDZkY2JlMS4uZGE0ZTkxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvU3RhdGljRE9NRGF0YVN0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9TdGF0aWNET01EYXRhU3RvcmUuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJTdGF0aWNET01EYXRhU3RvcmUuaCIKKyNpbmNsdWRlICJWOEJp
bmRpbmcuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00OCw2ICs0OSwxMiBAQCBTdGF0
aWNET01EYXRhU3RvcmU6OlN0YXRpY0RPTURhdGFTdG9yZSgpCiAjaWYgRU5BQkxFKFNWRykKICAg
ICBtX2RvbVN2Z0VsZW1lbnRJbnN0YW5jZU1hcCA9ICZtX3N0YXRpY0RvbVN2Z0VsZW1lbnRJbnN0
YW5jZU1hcDsKICNlbmRpZgorICAgIFY4QmluZGluZ1Blcklzb2xhdGVEYXRhOjpjdXJyZW50KCkt
PnJlZ2lzdGVyRE9NRGF0YVN0b3JlKHRoaXMpOworfQorCitTdGF0aWNET01EYXRhU3RvcmU6On5T
dGF0aWNET01EYXRhU3RvcmUoKQoreworICAgIFY4QmluZGluZ1Blcklzb2xhdGVEYXRhOjpjdXJy
ZW50KCktPnVucmVnaXN0ZXJET01EYXRhU3RvcmUodGhpcyk7CiB9CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1N0YXRpY0RP
TURhdGFTdG9yZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU3RhdGljRE9NRGF0YVN0
b3JlLmgKaW5kZXggNjgyMTQzNi4uY2UyYzhmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvU3RhdGljRE9NRGF0YVN0b3JlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvU3RhdGljRE9NRGF0YVN0b3JlLmgKQEAgLTQ3LDYgKzQ3LDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogY2xhc3MgU3RhdGljRE9NRGF0YVN0b3JlIDogcHVibGljIERPTURhdGFTdG9y
ZSB7CiBwdWJsaWM6CiAgICAgU3RhdGljRE9NRGF0YVN0b3JlKCk7CisgICAgdmlydHVhbCB+U3Rh
dGljRE9NRGF0YVN0b3JlKCk7CiAKIHByaXZhdGU6CiAgICAgSW50cnVzaXZlRE9NV3JhcHBlck1h
cCBtX3N0YXRpY0RvbU5vZGVNYXA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9WOEJpbmRpbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhCaW5kaW5n
LmNwcAppbmRleCAyMjE4OTgwLi4xMTdkYTdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9WOEJpbmRpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L1Y4QmluZGluZy5jcHAKQEAgLTQ5LDcgKzQ5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAK
IFY4QmluZGluZ1Blcklzb2xhdGVEYXRhOjpWOEJpbmRpbmdQZXJJc29sYXRlRGF0YSh2ODo6SXNv
bGF0ZSogaXNvbGF0ZSkKLSAgICA6IG1fRE9NRGF0YVN0b3JlKDApCisgICAgOiBtX2RvbURhdGFT
dG9yZSgwKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9W
OEJpbmRpbmcuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4QmluZGluZy5oCmluZGV4
IDA0NDQ5YzUuLjU0MDhkM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L1Y4QmluZGluZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4QmluZGluZy5o
CkBAIC0xMDksMTEgKzEwOSwyMyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHY4OjpQ
ZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPiYgdG9TdHJpbmdUZW1wbGF0ZSgpIHsgcmV0
dXJuIG1fdG9TdHJpbmdUZW1wbGF0ZTsgfQogICAgICAgICBTdHJpbmdDYWNoZSogc3RyaW5nQ2Fj
aGUoKSB7IHJldHVybiAmbV9zdHJpbmdDYWNoZTsgfQogCi0gICAgICAgIERPTURhdGFMaXN0JiBh
bGxTdG9yZXMoKSB7IHJldHVybiBtX0RPTURhdGFMaXN0OyB9CisgICAgICAgIERPTURhdGFMaXN0
JiBhbGxTdG9yZXMoKSB7IHJldHVybiBtX2RvbURhdGFMaXN0OyB9CiAKLSAgICAgICAgRE9NRGF0
YVN0b3JlKiBkb21EYXRhU3RvcmUoKSB7IHJldHVybiBtX0RPTURhdGFTdG9yZTsgfQorICAgICAg
ICB2b2lkIHJlZ2lzdGVyRE9NRGF0YVN0b3JlKERPTURhdGFTdG9yZSogZG9tRGF0YVN0b3JlKSAK
KyAgICAgICAgeworICAgICAgICAgICAgbV9kb21EYXRhTGlzdC5hcHBlbmQoZG9tRGF0YVN0b3Jl
KTsKKyAgICAgICAgfQorCisgICAgICAgIHZvaWQgdW5yZWdpc3RlckRPTURhdGFTdG9yZShET01E
YXRhU3RvcmUqIGRvbURhdGFTdG9yZSkKKyAgICAgICAgeworICAgICAgICAgICAgQVNTRVJUKG1f
ZG9tRGF0YUxpc3QuZmluZChkb21EYXRhU3RvcmUpKTsKKyAgICAgICAgICAgIG1fZG9tRGF0YUxp
c3QucmVtb3ZlKG1fZG9tRGF0YUxpc3QuZmluZChkb21EYXRhU3RvcmUpKTsKKyAgICAgICAgfQor
CisKKyAgICAgICAgRE9NRGF0YVN0b3JlKiBkb21EYXRhU3RvcmUoKSB7IHJldHVybiBtX2RvbURh
dGFTdG9yZTsgfQogICAgICAgICAvLyBET01EYXRhU3RvcmUgaXMgb3duZWQgb3V0c2lkZSBWOEJp
bmRpbmdQZXJJc29sYXRlRGF0YS4KLSAgICAgICAgdm9pZCBzZXRET01EYXRhU3RvcmUoRE9NRGF0
YVN0b3JlKiBzdG9yZSkgeyBtX0RPTURhdGFTdG9yZSA9IHN0b3JlOyB9CisgICAgICAgIHZvaWQg
c2V0RE9NRGF0YVN0b3JlKERPTURhdGFTdG9yZSogc3RvcmUpIHsgbV9kb21EYXRhU3RvcmUgPSBz
dG9yZTsgfQogCiAgICAgcHJpdmF0ZToKICAgICAgICAgZXhwbGljaXQgVjhCaW5kaW5nUGVySXNv
bGF0ZURhdGEodjg6Oklzb2xhdGUqKTsKQEAgLTEyNSw4ICsxMzcsOCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgICAgIHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPiBtX3Rv
U3RyaW5nVGVtcGxhdGU7CiAgICAgICAgIFN0cmluZ0NhY2hlIG1fc3RyaW5nQ2FjaGU7CiAKLSAg
ICAgICAgRE9NRGF0YUxpc3QgbV9ET01EYXRhTGlzdDsKLSAgICAgICAgRE9NRGF0YVN0b3JlKiBt
X0RPTURhdGFTdG9yZTsKKyAgICAgICAgRE9NRGF0YUxpc3QgbV9kb21EYXRhTGlzdDsKKyAgICAg
ICAgRE9NRGF0YVN0b3JlKiBtX2RvbURhdGFTdG9yZTsKICAgICB9OwogCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9NTWFwLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1Y4RE9NTWFwLmNwcAppbmRleCBlODFjMWNmLi5lZjlhNjJjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTU1hcC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01NYXAuY3BwCkBAIC0zNCwxNiArMzQsMTkgQEAKICNp
bmNsdWRlICJET01EYXRhLmgiCiAjaW5jbHVkZSAiRE9NRGF0YVN0b3JlLmgiCiAjaW5jbHVkZSAi
U2NvcGVkRE9NRGF0YVN0b3JlLmgiCisjaW5jbHVkZSAiVjhCaW5kaW5nLmgiCiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogRE9NRGF0YVN0b3JlSGFuZGxlOjpET01EYXRhU3RvcmVIYW5kbGUoKQog
ICAgIDogbV9zdG9yZShhZG9wdFB0cihuZXcgU2NvcGVkRE9NRGF0YVN0b3JlKCkpKQogeworICAg
IFY4QmluZGluZ1Blcklzb2xhdGVEYXRhOjpjdXJyZW50KCktPnJlZ2lzdGVyRE9NRGF0YVN0b3Jl
KG1fc3RvcmUuZ2V0KCkpOwogfQogCiBET01EYXRhU3RvcmVIYW5kbGU6On5ET01EYXRhU3RvcmVI
YW5kbGUoKQogeworICAgIFY4QmluZGluZ1Blcklzb2xhdGVEYXRhOjpjdXJyZW50KCktPnVucmVn
aXN0ZXJET01EYXRhU3RvcmUobV9zdG9yZS5nZXQoKSk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgRE9N
RGF0YVN0b3JlJiBnZXRET01EYXRhU3RvcmUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvV29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1dvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eS5jcHAKaW5kZXggYzdk
ZTRhYi4uN2RjZmQ4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvV29y
a2VyQ29udGV4dEV4ZWN1dGlvblByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9Xb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHkuY3BwCkBAIC04Myw3ICs4Myw3IEBAIFdv
cmtlckNvbnRleHRFeGVjdXRpb25Qcm94eTo6V29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5KFdv
cmtlckNvbnRleHQqIHdvcmtlckNvCiAgICAgOiBtX3dvcmtlckNvbnRleHQod29ya2VyQ29udGV4
dCkKICAgICAsIG1fcmVjdXJzaW9uKDApCiB7Ci0gICAgaW5pdFY4SWZOZWVkZWQoKTsKKyAgICBp
bml0VjgoKTsKIH0KIAogV29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5Ojp+V29ya2VyQ29udGV4
dEV4ZWN1dGlvblByb3h5KCkKQEAgLTEwOCwxMyArMTA4LDggQEAgdm9pZCBXb3JrZXJDb250ZXh0
RXhlY3V0aW9uUHJveHk6OmRpc3Bvc2UoKQogICAgIH0KIH0KIAotdm9pZCBXb3JrZXJDb250ZXh0
RXhlY3V0aW9uUHJveHk6OmluaXRWOElmTmVlZGVkKCkKK3ZvaWQgV29ya2VyQ29udGV4dEV4ZWN1
dGlvblByb3h5Ojppbml0VjgoKQogewotICAgIHN0YXRpYyBib29sIHY4SW5pdGlhbGl6ZWQgPSBm
YWxzZTsKLQotICAgIGlmICh2OEluaXRpYWxpemVkKQotICAgICAgICByZXR1cm47Ci0KICAgICAv
LyBUZWxsIFY4IG5vdCB0byBjYWxsIHRoZSBkZWZhdWx0IE9PTSBoYW5kbGVyLCBiaW5kaW5nIGNv
ZGUgd2lsbCBoYW5kbGUgaXQuCiAgICAgdjg6OlY4OjpJZ25vcmVPdXRPZk1lbW9yeUV4Y2VwdGlv
bigpOwogICAgIHY4OjpWODo6U2V0RmF0YWxFcnJvckhhbmRsZXIocmVwb3J0RmF0YWxFcnJvcklu
VjgpOwpAQCAtMTI1LDggKzEyMCw2IEBAIHZvaWQgV29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5
Ojppbml0VjhJZk5lZWRlZCgpCiAgICAgdjg6OlNldFJlc291cmNlQ29uc3RyYWludHMoJnJlc291
cmNlX2NvbnN0cmFpbnRzKTsKIAogICAgIFY4QmluZGluZ1Blcklzb2xhdGVEYXRhOjplbnN1cmVJ
bml0aWFsaXplZCh2ODo6SXNvbGF0ZTo6R2V0Q3VycmVudCgpKTsKLQotICAgIHY4SW5pdGlhbGl6
ZWQgPSB0cnVlOwogfQogCiBib29sIFdvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eTo6aW5pdENv
bnRleHRJZk5lZWRlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9X
b3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHkuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L1dvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eS5oCmluZGV4IGU3MGMzZDIuLmRlMzI3OTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1dvcmtlckNvbnRleHRFeGVjdXRp
b25Qcm94eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1dvcmtlckNvbnRleHRF
eGVjdXRpb25Qcm94eS5oCkBAIC03Myw3ICs3Myw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICAgICAgdjg6OkxvY2FsPHY4OjpDb250ZXh0PiBjb250ZXh0KCkgeyByZXR1cm4gdjg6OkxvY2Fs
PHY4OjpDb250ZXh0Pjo6TmV3KG1fY29udGV4dCk7IH0KIAogICAgIHByaXZhdGU6Ci0gICAgICAg
IHZvaWQgaW5pdFY4SWZOZWVkZWQoKTsKKyAgICAgICAgdm9pZCBpbml0VjgoKTsKICAgICAgICAg
Ym9vbCBpbml0Q29udGV4dElmTmVlZGVkKCk7CiAgICAgICAgIHZvaWQgZGlzcG9zZSgpOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9Xb3JrZXJTY3JpcHRDb250cm9s
bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1dvcmtlclNjcmlwdENvbnRyb2xs
ZXIuY3BwCmluZGV4IGJiODVkMTUuLmQ5Y2FiYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1dvcmtlclNjcmlwdENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1dvcmtlclNjcmlwdENvbnRyb2xsZXIuY3BwCkBAIC01MSwxNCArNTEs
MjMgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBXb3JrZXJTY3JpcHRDb250cm9sbGVyOjpXb3Jr
ZXJTY3JpcHRDb250cm9sbGVyKFdvcmtlckNvbnRleHQqIHdvcmtlckNvbnRleHQpCiAgICAgOiBt
X3dvcmtlckNvbnRleHQod29ya2VyQ29udGV4dCkKLSAgICAsIG1fcHJveHkoYWRvcHRQdHIobmV3
IFdvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eSh3b3JrZXJDb250ZXh0KSkpCisgICAgLCBtX2lz
b2xhdGUodjg6Oklzb2xhdGU6Ok5ldygpKQogICAgICwgbV9leGVjdXRpb25Gb3JiaWRkZW4oZmFs
c2UpCiB7CisgICAgVjhCaW5kaW5nUGVySXNvbGF0ZURhdGEqIGRhdGEgPSBWOEJpbmRpbmdQZXJJ
c29sYXRlRGF0YTo6Y3JlYXRlKG1faXNvbGF0ZSk7CisgICAgZGF0YS0+YWxsU3RvcmVzKCkuYXBw
ZW5kKCZtX0RPTURhdGFTdG9yZSk7CisgICAgZGF0YS0+c2V0RE9NRGF0YVN0b3JlKCZtX0RPTURh
dGFTdG9yZSk7CisgICAgbV9pc29sYXRlLT5FbnRlcigpOworICAgIG1fcHJveHkgPSBhZG9wdFB0
cihuZXcgV29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5KHdvcmtlckNvbnRleHQpKTsKIH0KIAog
V29ya2VyU2NyaXB0Q29udHJvbGxlcjo6fldvcmtlclNjcmlwdENvbnRyb2xsZXIoKQogewogICAg
IHJlbW92ZUFsbERPTU9iamVjdHMoKTsKKyAgICBtX3Byb3h5LmNsZWFyKCk7CisgICAgbV9pc29s
YXRlLT5FeGl0KCk7CisgICAgVjhCaW5kaW5nUGVySXNvbGF0ZURhdGE6OmRpc3Bvc2UobV9pc29s
YXRlKTsKKyAgICBtX2lzb2xhdGUtPkRpc3Bvc2UoKTsKIH0KIAogU2NyaXB0VmFsdWUgV29ya2Vy
U2NyaXB0Q29udHJvbGxlcjo6ZXZhbHVhdGUoY29uc3QgU2NyaXB0U291cmNlQ29kZSYgc291cmNl
Q29kZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1dvcmtlclNjcmlw
dENvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1dvcmtlclNjcmlwdENv
bnRyb2xsZXIuaAppbmRleCBjYzRiN2M0Li5lNDcwOTc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvV29ya2VyU2NyaXB0Q29udHJvbGxlci5oCkBAIC0zMyw2ICszMywx
MCBAQAogCiAjaWYgRU5BQkxFKFdPUktFUlMpCiAKKyNpbmNsdWRlICJTY29wZWRET01EYXRhU3Rv
cmUuaCIKKyNpbmNsdWRlICJWOEJpbmRpbmcuaCIKKworI2luY2x1ZGUgPHY4Lmg+CiAjaW5jbHVk
ZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIApAQCAtNzQsNiAr
NzgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgcHJpdmF0ZToKICAgICAgICAgV29ya2Vy
Q29udGV4dCogbV93b3JrZXJDb250ZXh0OwogICAgICAgICBPd25QdHI8V29ya2VyQ29udGV4dEV4
ZWN1dGlvblByb3h5PiBtX3Byb3h5OworICAgICAgICB2ODo6SXNvbGF0ZSogbV9pc29sYXRlOwor
ICAgICAgICBTY29wZWRET01EYXRhU3RvcmUgbV9ET01EYXRhU3RvcmU7CiAgICAgICAgIGJvb2wg
bV9leGVjdXRpb25Gb3JiaWRkZW47CiAgICAgfTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>