<?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>43934</bug_id>
          
          <creation_ts>2010-08-12 14:27:03 -0700</creation_ts>
          <short_desc>Web Inspector: Make getPrototypes return objects, not names.</short_desc>
          <delta_ts>2010-08-12 23:36:07 -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>Web Inspector (Deprecated)</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="Pavel Feldman">pfeldman</reporter>
          <assigned_to name="Pavel Feldman">pfeldman</assigned_to>
          <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>263976</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-08-12 14:27:03 -0700</bug_when>
    <thetext>Patch to follow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263989</commentid>
    <comment_count>1</comment_count>
      <attachid>64264</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-08-12 14:37:37 -0700</bug_when>
    <thetext>Created attachment 64264
[PATCH] Proposed change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>264190</commentid>
    <comment_count>2</comment_count>
      <attachid>64264</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-08-12 23:06:09 -0700</bug_when>
    <thetext>Comment on attachment 64264
[PATCH] Proposed change.

WebCore/inspector/front-end/InjectedScript.js:393
 +  InjectedScript.RemoteObjectId.deriveProperty = function(objectId, propertyName)
Why not make it an instance method on RemoteObjectId? The code would be more compact.

WebCore/inspector/front-end/inspector.js:1467
 +      WebInspector.console.addMessage(new WebInspector.ConsoleMessage(
It will fail if it&apos;s called before WebInspector.console is initialized, please revert this code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>264192</commentid>
    <comment_count>3</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-08-12 23:14:15 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 64264 [details])
&gt; WebCore/inspector/front-end/InjectedScript.js:393
&gt;  +  InjectedScript.RemoteObjectId.deriveProperty = function(objectId, propertyName)
&gt; Why not make it an instance method on RemoteObjectId? The code would be more compact.
&gt; 

I&apos;d like to emphasize the fact that the RemoteObjectId is payload here. Will rename it later when extracting the common part from both sides.

&gt; WebCore/inspector/front-end/inspector.js:1467
&gt;  +      WebInspector.console.addMessage(new WebInspector.ConsoleMessage(
&gt; It will fail if it&apos;s called before WebInspector.console is initialized, please revert this code.

Done, thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>264193</commentid>
    <comment_count>4</comment_count>
      <attachid>64304</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-08-12 23:14:36 -0700</bug_when>
    <thetext>Created attachment 64304
[PATCH] Proposed fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>264196</commentid>
    <comment_count>5</comment_count>
      <attachid>64304</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-08-12 23:20:26 -0700</bug_when>
    <thetext>Comment on attachment 64304
[PATCH] Proposed fix.

WebCore/inspector/front-end/inspector.js:1471
 +      function isLogAvailable()
Please remove this</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>264204</commentid>
    <comment_count>6</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-08-12 23:36:07 -0700</bug_when>
    <thetext>Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	WebCore/ChangeLog
	M	WebCore/inspector/front-end/ConsoleView.js
	M	WebCore/inspector/front-end/InjectedScript.js
	M	WebCore/inspector/front-end/PropertiesSidebarPane.js
	M	WebCore/inspector/front-end/RemoteObject.js
	M	WebCore/inspector/front-end/inspector.js
Committed r65300
Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	WebCore/ChangeLog
	M	WebCore/inspector/front-end/inspector.js
Committed r65301</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>64264</attachid>
            <date>2010-08-12 14:37:37 -0700</date>
            <delta_ts>2010-08-12 23:14:36 -0700</delta_ts>
            <desc>[PATCH] Proposed change.</desc>
            <filename>proto</filename>
            <type>text/plain</type>
            <size>10184</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MDczYThlZS4uMGQ5ZTQ1NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMC0wOC0xMiAgUGF2ZWwgRmVsZG1h
biAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBNYWtlIGdldFByb3RvdHlwZXMgcmV0
dXJuIG9iamVjdHMsIG5vdCBuYW1lcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTQzOTM0CisKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0lu
amVjdGVkU2NyaXB0LmpzOgorICAgICAgICAoaW5qZWN0ZWRTY3JpcHRDb25zdHJ1Y3Rvcik6Cisg
ICAgICAgIChpbmplY3RlZFNjcmlwdENvbnN0cnVjdG9yLik6CisgICAgICAgICogaW5zcGVjdG9y
L2Zyb250LWVuZC9Qcm9wZXJ0aWVzU2lkZWJhclBhbmUuanM6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuUHJvcGVydGllc1NpZGViYXJQYW5lLnByb3RvdHlwZS51cGRhdGUuY2FsbGJhY2spOgorICAg
ICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLmxvZyk6CisKIDIwMTAtMDgtMTIgIERpcmsgU2NodWx6ZSAgPGtyaXRAd2Via2l0Lm9y
Zz4KIAogICAgICAgICBVbnJldmlld2VkIHNvcnQgb2YgWENvZGUgcHJvamVjdCBmaWxlLgpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0luamVjdGVkU2NyaXB0LmpzIGIv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0luamVjdGVkU2NyaXB0LmpzCmluZGV4IGYzZTNh
ZTkuLjIwNGQ1MGQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Jbmpl
Y3RlZFNjcmlwdC5qcworKysgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSW5qZWN0ZWRT
Y3JpcHQuanMKQEAgLTU5LDcgKzU5LDcgQEAgSW5qZWN0ZWRTY3JpcHQud3JhcE9iamVjdCA9IGZ1
bmN0aW9uKG9iamVjdCwgb2JqZWN0R3JvdXBOYW1lKQogICAgICAgICAgICAgICAgIEluamVjdGVk
U2NyaXB0Lm9iamVjdEdyb3Vwc1tvYmplY3RHcm91cE5hbWVdID0gZ3JvdXA7CiAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICBncm91cC5wdXNoKGlkKTsKLSAgICAgICAgICAgIG9iamVjdElkID0g
bmV3IEluamVjdGVkU2NyaXB0LlJlbW90ZU9iamVjdElkKCJqc29iamVjdCIsIGlkKTsKKyAgICAg
ICAgICAgIG9iamVjdElkID0gbmV3IEluamVjdGVkU2NyaXB0LlJlbW90ZU9iamVjdElkKEluamVj
dGVkU2NyaXB0LlJlbW90ZU9iamVjdElkLlR5cGUuSnNPYmplY3QsIGlkKTsKICAgICAgICAgfQog
ICAgICAgICByZXR1cm4gSW5qZWN0ZWRTY3JpcHQuUmVtb3RlT2JqZWN0LmZyb21PYmplY3Qob2Jq
ZWN0LCBvYmplY3RJZCk7CiAgICAgfSBjYXRjaCAoZSkgewpAQCAtMTAwLDEzICsxMDAsMTQgQEAg
SW5qZWN0ZWRTY3JpcHQuZ2V0UHJvdG90eXBlcyA9IGZ1bmN0aW9uKG5vZGVJZCkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCiAgICAgdmFyIHJlc3VsdCA9IFtdOwotICAgIGZvciAodmFyIHByb3Rv
dHlwZSA9IG5vZGU7IHByb3RvdHlwZTsgcHJvdG90eXBlID0gcHJvdG90eXBlLl9fcHJvdG9fXykg
ewotICAgICAgICB2YXIgdGl0bGUgPSBJbmplY3RlZFNjcmlwdC5fZGVzY3JpYmUocHJvdG90eXBl
LCB0cnVlKTsKLSAgICAgICAgaWYgKHRpdGxlLm1hdGNoKC9Qcm90b3R5cGUkLykpIHsKLSAgICAg
ICAgICAgIHRpdGxlID0gdGl0bGUucmVwbGFjZSgvUHJvdG90eXBlJC8sICIiKTsKLSAgICAgICAg
fQotICAgICAgICByZXN1bHQucHVzaCh0aXRsZSk7Ci0gICAgfQorICAgIHZhciBwcm90b3R5cGUg
PSBub2RlOworICAgIHZhciBwcm90b3R5cGVJZCA9IG5ldyBJbmplY3RlZFNjcmlwdC5SZW1vdGVP
YmplY3RJZChJbmplY3RlZFNjcmlwdC5SZW1vdGVPYmplY3RJZC5UeXBlLk5vZGUsIG5vZGVJZCk7
CisgICAgZG8geworICAgICAgICByZXN1bHQucHVzaChJbmplY3RlZFNjcmlwdC5SZW1vdGVPYmpl
Y3QuZnJvbU9iamVjdChwcm90b3R5cGUsIHByb3RvdHlwZUlkKSk7CisgICAgICAgIHByb3RvdHlw
ZSA9IHByb3RvdHlwZS5fX3Byb3RvX187CisgICAgICAgIHByb3RvdHlwZUlkID0gSW5qZWN0ZWRT
Y3JpcHQuUmVtb3RlT2JqZWN0SWQuZGVyaXZlUHJvcGVydHkocHJvdG90eXBlSWQsICJfX3Byb3Rv
X18iKTsKKyAgICB9IHdoaWxlIChwcm90b3R5cGUpCisKICAgICByZXR1cm4gcmVzdWx0OwogfQog
CkBAIC0xMzEsOSArMTMyLDcgQEAgSW5qZWN0ZWRTY3JpcHQuZ2V0UHJvcGVydGllcyA9IGZ1bmN0
aW9uKG9iamVjdElkLCBpZ25vcmVIYXNPd25Qcm9wZXJ0eSwgYWJicmV2aWEKICAgICAgICAgaWYg
KCFpc0dldHRlcikgewogICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgICB2YXIgY2hp
bGRPYmplY3QgPSBvYmplY3RbcHJvcGVydHlOYW1lXTsKLSAgICAgICAgICAgICAgICB2YXIgcGF0
aCA9IG9iamVjdElkLnBhdGggPyBvYmplY3RJZC5wYXRoLnNsaWNlKCkgOiBbXTsKLSAgICAgICAg
ICAgICAgICBwYXRoLnB1c2gocHJvcGVydHlOYW1lKTsKLSAgICAgICAgICAgICAgICB2YXIgY2hp
bGRPYmplY3RJZCA9IG5ldyBJbmplY3RlZFNjcmlwdC5SZW1vdGVPYmplY3RJZChvYmplY3RJZC50
eXBlLCBvYmplY3RJZC52YWx1ZSwgcGF0aCk7CisgICAgICAgICAgICAgICAgdmFyIGNoaWxkT2Jq
ZWN0SWQgPSBJbmplY3RlZFNjcmlwdC5SZW1vdGVPYmplY3RJZC5kZXJpdmVQcm9wZXJ0eShvYmpl
Y3RJZCwgcHJvcGVydHlOYW1lKTsKICAgICAgICAgICAgICAgICB2YXIgY2hpbGRPYmplY3RQcm94
eSA9IG5ldyBJbmplY3RlZFNjcmlwdC5SZW1vdGVPYmplY3QuZnJvbU9iamVjdChjaGlsZE9iamVj
dCwgY2hpbGRPYmplY3RJZCwgYWJicmV2aWF0ZSk7CiAgICAgICAgICAgICAgICAgcHJvcGVydHku
dmFsdWUgPSBjaGlsZE9iamVjdFByb3h5OwogICAgICAgICAgICAgfSBjYXRjaChlKSB7CkBAIC0z
NDYsMTEgKzM0NSwxMSBAQCBJbmplY3RlZFNjcmlwdC5fb2JqZWN0Rm9ySWQgPSBmdW5jdGlvbihv
YmplY3RJZCkKICAgICAvLyAtIHN0cmluZ3MgcG9pbnQgdG8gY29uc29sZSBvYmplY3RzIGNhY2hl
ZCBpbiBJbnNwZWN0b3JDb250cm9sbGVyIGZvciBsYXp5IGV2YWx1YXRpb24gdXBvbiB0aGVtCiAg
ICAgLy8gLSBvYmplY3RzIGNvbnRhaW4gY29tcGxleCBpZHMgYW5kIGFyZSBjdXJyZW50bHkgdXNl
ZCBmb3Igc2NvcGVkIG9iamVjdHMKICAgICB2YXIgb2JqZWN0OwotICAgIGlmIChvYmplY3RJZC50
eXBlID09PSAibm9kZSIpCisgICAgaWYgKG9iamVjdElkLnR5cGUgPT09IEluamVjdGVkU2NyaXB0
LlJlbW90ZU9iamVjdElkLlR5cGUuTm9kZSkKICAgICAgICAgb2JqZWN0ID0gSW5qZWN0ZWRTY3Jp
cHQuX25vZGVGb3JJZChvYmplY3RJZC52YWx1ZSk7Ci0gICAgZWxzZSBpZiAob2JqZWN0SWQudHlw
ZSA9PT0gImpzb2JqZWN0IikKKyAgICBlbHNlIGlmIChvYmplY3RJZC50eXBlID09PSBJbmplY3Rl
ZFNjcmlwdC5SZW1vdGVPYmplY3RJZC5UeXBlLkpzT2JqZWN0KQogICAgICAgICBvYmplY3QgPSBJ
bmplY3RlZFNjcmlwdC51bndyYXBPYmplY3Qob2JqZWN0SWQudmFsdWUpOwotICAgIGVsc2UgaWYg
KG9iamVjdElkLnR5cGUgPT09ICJzY29wZU9iamVjdCIpIHsKKyAgICBlbHNlIGlmIChvYmplY3RJ
ZC50eXBlID09PSBJbmplY3RlZFNjcmlwdC5SZW1vdGVPYmplY3RJZC5UeXBlLlNjb3BlT2JqZWN0
KSB7CiAgICAgICAgIHZhciBjYWxsRnJhbWUgPSBJbmplY3RlZFNjcmlwdC5fY2FsbEZyYW1lRm9y
SWQob2JqZWN0SWQudmFsdWUuY2FsbEZyYW1lKTsKICAgICAgICAgaWYgKG9iamVjdElkLnRoaXNP
YmplY3QpCiAgICAgICAgICAgICBvYmplY3QgPSBjYWxsRnJhbWUudGhpc09iamVjdDsKQEAgLTM4
NSw2ICszODQsMTkgQEAgSW5qZWN0ZWRTY3JpcHQuUmVtb3RlT2JqZWN0SWQgPSBmdW5jdGlvbih0
eXBlLCB2YWx1ZSwgcGF0aCkKICAgICB0aGlzLnBhdGggPSBwYXRoIHx8IFtdOwogfQogCitJbmpl
Y3RlZFNjcmlwdC5SZW1vdGVPYmplY3RJZC5UeXBlID0geworICAgIE5vZGU6ICJub2RlIiwKKyAg
ICBKc09iamVjdDogImpzT2JqZWN0IiwKKyAgICBTY29wZU9iamVjdDogInNjb3BlT2JqZWN0Igor
fQorCitJbmplY3RlZFNjcmlwdC5SZW1vdGVPYmplY3RJZC5kZXJpdmVQcm9wZXJ0eSA9IGZ1bmN0
aW9uKG9iamVjdElkLCBwcm9wZXJ0eU5hbWUpCit7CisgICAgdmFyIHBhdGggPSBvYmplY3RJZC5w
YXRoLnNsaWNlKCkgfHwgW107CisgICAgcGF0aC5wdXNoKHByb3BlcnR5TmFtZSk7CisgICAgcmV0
dXJuIG5ldyBJbmplY3RlZFNjcmlwdC5SZW1vdGVPYmplY3RJZChvYmplY3RJZC50eXBlLCBvYmpl
Y3RJZC52YWx1ZSwgcGF0aCk7Cit9CisKIEluamVjdGVkU2NyaXB0LlJlbW90ZU9iamVjdCA9IGZ1
bmN0aW9uKG9iamVjdElkLCB0eXBlLCBkZXNjcmlwdGlvbiwgaGFzQ2hpbGRyZW4pCiB7CiAgICAg
dGhpcy5vYmplY3RJZCA9IG9iamVjdElkOwpAQCAtNDQ0LDE0ICs0NTYsMTQgQEAgSW5qZWN0ZWRT
Y3JpcHQuQ2FsbEZyYW1lUHJveHkucHJvdG90eXBlID0gewogICAgICAgICBmb3IgKHZhciBpID0g
MDsgaSA8IHNjb3BlQ2hhaW4ubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgIHZhciBzY29wZVR5
cGUgPSBjYWxsRnJhbWUuc2NvcGVUeXBlKGkpOwogICAgICAgICAgICAgdmFyIHNjb3BlT2JqZWN0
ID0gc2NvcGVDaGFpbltpXTsKLSAgICAgICAgICAgIHZhciBzY29wZU9iamVjdElkID0gbmV3IElu
amVjdGVkU2NyaXB0LlJlbW90ZU9iamVjdElkKCJzY29wZU9iamVjdCIsIHsgY2FsbEZyYW1lOiB0
aGlzLmlkLCBjaGFpbkluZGV4OiBpIH0pOworICAgICAgICAgICAgdmFyIHNjb3BlT2JqZWN0SWQg
PSBuZXcgSW5qZWN0ZWRTY3JpcHQuUmVtb3RlT2JqZWN0SWQoSW5qZWN0ZWRTY3JpcHQuUmVtb3Rl
T2JqZWN0SWQuVHlwZS5TY29wZU9iamVjdCwgeyBjYWxsRnJhbWU6IHRoaXMuaWQsIGNoYWluSW5k
ZXg6IGkgfSk7CiAgICAgICAgICAgICB2YXIgc2NvcGVPYmplY3RQcm94eSA9IEluamVjdGVkU2Ny
aXB0LlJlbW90ZU9iamVjdC5mcm9tT2JqZWN0KHNjb3BlT2JqZWN0LCBzY29wZU9iamVjdElkLCB0
cnVlKTsKIAogICAgICAgICAgICAgc3dpdGNoKHNjb3BlVHlwZSkgewogICAgICAgICAgICAgICAg
IGNhc2UgTE9DQUxfU0NPUEU6IHsKICAgICAgICAgICAgICAgICAgICAgZm91bmRMb2NhbFNjb3Bl
ID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAgc2NvcGVPYmplY3RQcm94eS5pc0xvY2FsID0g
dHJ1ZTsKLSAgICAgICAgICAgICAgICAgICAgdmFyIHRoaXNPYmplY3RJZCA9IG5ldyBJbmplY3Rl
ZFNjcmlwdC5SZW1vdGVPYmplY3RJZCgic2NvcGVPYmplY3QiLCB7IGNhbGxGcmFtZTogdGhpcy5p
ZCwgdGhpc09iamVjdDogdHJ1ZSB9KTsKKyAgICAgICAgICAgICAgICAgICAgdmFyIHRoaXNPYmpl
Y3RJZCA9IG5ldyBJbmplY3RlZFNjcmlwdC5SZW1vdGVPYmplY3RJZChJbmplY3RlZFNjcmlwdC5S
ZW1vdGVPYmplY3RJZC5UeXBlLlNjb3BlT2JqZWN0LCB7IGNhbGxGcmFtZTogdGhpcy5pZCwgdGhp
c09iamVjdDogdHJ1ZSB9KTsKICAgICAgICAgICAgICAgICAgICAgc2NvcGVPYmplY3RQcm94eS50
aGlzT2JqZWN0ID0gSW5qZWN0ZWRTY3JpcHQuUmVtb3RlT2JqZWN0LmZyb21PYmplY3QoY2FsbEZy
YW1lLnRoaXNPYmplY3QsIHRoaXNPYmplY3RJZCwgdHJ1ZSk7CiAgICAgICAgICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9Qcm9wZXJ0aWVzU2lkZWJhclBhbmUuanMgYi9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvUHJvcGVydGllc1NpZGViYXJQYW5lLmpzCmluZGV4IGQ2NDg4MWMuLjliYWFmOTgg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Qcm9wZXJ0aWVzU2lkZWJh
clBhbmUuanMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Byb3BlcnRpZXNTaWRl
YmFyUGFuZS5qcwpAQCAtNDgsMTQgKzQ4LDE1IEBAIFdlYkluc3BlY3Rvci5Qcm9wZXJ0aWVzU2lk
ZWJhclBhbmUucHJvdG90eXBlID0gewogICAgICAgICAgICAgYm9keS5yZW1vdmVDaGlsZHJlbigp
OwogICAgICAgICAgICAgc2VsZi5zZWN0aW9ucyA9IFtdOwogCi0gICAgICAgICAgICB2YXIgcGF0
aCA9IFtdOwogICAgICAgICAgICAgLy8gR2V0IGFycmF5IG9mIHByb3RvdHlwZSB1c2VyLWZyaWVu
ZGx5IG5hbWVzLgogICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm90b3R5cGVzLmxl
bmd0aDsgKytpKSB7Ci0gICAgICAgICAgICAgICAgdmFyIHByb3RvdHlwZSA9IG5ldyBXZWJJbnNw
ZWN0b3IuUmVtb3RlT2JqZWN0LmZyb21Ob2RlKG5vZGUsIHBhdGguc2xpY2UoKSk7Ci0gICAgICAg
ICAgICAgICAgdmFyIHNlY3Rpb24gPSBuZXcgV2ViSW5zcGVjdG9yLk9iamVjdFByb3BlcnRpZXNT
ZWN0aW9uKHByb3RvdHlwZSwgcHJvdG90eXBlc1tpXSwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJQ
cm90b3R5cGUiKSk7CisgICAgICAgICAgICAgICAgdmFyIHByb3RvdHlwZSA9IFdlYkluc3BlY3Rv
ci5SZW1vdGVPYmplY3QuZnJvbVBheWxvYWQocHJvdG90eXBlc1tpXSk7CisgICAgICAgICAgICAg
ICAgdmFyIHRpdGxlID0gcHJvdG90eXBlLmRlc2NyaXB0aW9uOworICAgICAgICAgICAgICAgIGlm
ICh0aXRsZS5tYXRjaCgvUHJvdG90eXBlJC8pKQorICAgICAgICAgICAgICAgICAgICB0aXRsZSA9
IHRpdGxlLnJlcGxhY2UoL1Byb3RvdHlwZSQvLCAiIik7CisgICAgICAgICAgICAgICAgdmFyIHNl
Y3Rpb24gPSBuZXcgV2ViSW5zcGVjdG9yLk9iamVjdFByb3BlcnRpZXNTZWN0aW9uKHByb3RvdHlw
ZSwgdGl0bGUsIFdlYkluc3BlY3Rvci5VSVN0cmluZygiUHJvdG90eXBlIikpOwogICAgICAgICAg
ICAgICAgIHNlbGYuc2VjdGlvbnMucHVzaChzZWN0aW9uKTsKICAgICAgICAgICAgICAgICBib2R5
LmFwcGVuZENoaWxkKHNlY3Rpb24uZWxlbWVudCk7Ci0gICAgICAgICAgICAgICAgcGF0aC5wdXNo
KCJfX3Byb3RvX18iKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfTsKICAgICAgICAgSW5qZWN0
ZWRTY3JpcHRBY2Nlc3MuZ2V0KC1ub2RlLmlkKS5nZXRQcm90b3R5cGVzKG5vZGUuaWQsIGNhbGxi
YWNrKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3Iu
anMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCmluZGV4IDY4MTZk
MjMuLmQ4YzNiMGEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNw
ZWN0b3IuanMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcwpA
QCAtMTQ2NCw4MiArMTQ2NCwxNyBAQCBXZWJJbnNwZWN0b3IudXBkYXRlQ29uc29sZU1lc3NhZ2VS
ZXBlYXRDb3VudCA9IGZ1bmN0aW9uKGNvdW50KQogCiBXZWJJbnNwZWN0b3IubG9nID0gZnVuY3Rp
b24obWVzc2FnZSwgbWVzc2FnZUxldmVsKQogewotICAgIC8vIHJlbWVtYmVyICd0aGlzJyBmb3Ig
c2V0SW50ZXJ2YWwoKSBjYWxsYmFjawotICAgIHZhciBzZWxmID0gdGhpczsKLQotICAgIC8vIGZs
dXNoIHRoZSBxdWV1ZSBvZiBwZW5kaW5nIG1lc3NhZ2VzCi0gICAgZnVuY3Rpb24gZmx1c2hRdWV1
ZSgpCi0gICAgewotICAgICAgICB2YXIgcXVldWVkID0gV2ViSW5zcGVjdG9yLmxvZy5xdWV1ZWQ7
Ci0gICAgICAgIGlmICghcXVldWVkKQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIGZv
ciAodmFyIGkgPSAwOyBpIDwgcXVldWVkLmxlbmd0aDsgKytpKQotICAgICAgICAgICAgbG9nTWVz
c2FnZShxdWV1ZWRbaV0pOwotCi0gICAgICAgIGRlbGV0ZSBXZWJJbnNwZWN0b3IubG9nLnF1ZXVl
ZDsKLSAgICB9Ci0KLSAgICAvLyBmbHVzaCB0aGUgcXVldWUgaWYgaXQgY29uc29sZSBpcyBhdmFp
bGFibGUKLSAgICAvLyAtIHRoaXMgZnVuY3Rpb24gaXMgcnVuIG9uIGFuIGludGVydmFsCi0gICAg
ZnVuY3Rpb24gZmx1c2hRdWV1ZUlmQXZhaWxhYmxlKCkKLSAgICB7Ci0gICAgICAgIGlmICghaXNM
b2dBdmFpbGFibGUoKSkKLSAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICBjbGVhckludGVy
dmFsKFdlYkluc3BlY3Rvci5sb2cuaW50ZXJ2YWwpOwotICAgICAgICBkZWxldGUgV2ViSW5zcGVj
dG9yLmxvZy5pbnRlcnZhbDsKLQotICAgICAgICBmbHVzaFF1ZXVlKCk7Ci0gICAgfQotCi0gICAg
Ly8gYWN0dWFsbHkgbG9nIHRoZSBtZXNzYWdlCi0gICAgZnVuY3Rpb24gbG9nTWVzc2FnZShtZXNz
YWdlKQotICAgIHsKLSAgICAgICAgdmFyIHJlcGVhdENvdW50ID0gMTsKLSAgICAgICAgaWYgKG1l
c3NhZ2UgPT0gV2ViSW5zcGVjdG9yLmxvZy5sYXN0TWVzc2FnZSkKLSAgICAgICAgICAgIHJlcGVh
dENvdW50ID0gV2ViSW5zcGVjdG9yLmxvZy5yZXBlYXRDb3VudCArIDE7Ci0KLSAgICAgICAgV2Vi
SW5zcGVjdG9yLmxvZy5sYXN0TWVzc2FnZSA9IG1lc3NhZ2U7Ci0gICAgICAgIFdlYkluc3BlY3Rv
ci5sb2cucmVwZWF0Q291bnQgPSByZXBlYXRDb3VudDsKLQotICAgICAgICAvLyBDb25zb2xlTWVz
c2FnZSBleHBlY3RzIGEgcHJveHkgb2JqZWN0Ci0gICAgICAgIG1lc3NhZ2UgPSBuZXcgV2ViSW5z
cGVjdG9yLlJlbW90ZU9iamVjdC5mcm9tUHJpbWl0aXZlVmFsdWUobWVzc2FnZSk7Ci0KLSAgICAg
ICAgLy8gcG9zdCB0aGUgbWVzc2FnZQotICAgICAgICB2YXIgbXNnID0gbmV3IFdlYkluc3BlY3Rv
ci5Db25zb2xlTWVzc2FnZSgKLSAgICAgICAgICAgIFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2Fn
ZS5NZXNzYWdlU291cmNlLk90aGVyLAotICAgICAgICAgICAgV2ViSW5zcGVjdG9yLkNvbnNvbGVN
ZXNzYWdlLk1lc3NhZ2VUeXBlLkxvZywKLSAgICAgICAgICAgIG1lc3NhZ2VMZXZlbCB8fCBXZWJJ
bnNwZWN0b3IuQ29uc29sZU1lc3NhZ2UuTWVzc2FnZUxldmVsLkRlYnVnLAotICAgICAgICAgICAg
LTEsCi0gICAgICAgICAgICBudWxsLAotICAgICAgICAgICAgbnVsbCwKLSAgICAgICAgICAgIHJl
cGVhdENvdW50LAotICAgICAgICAgICAgbnVsbCwKLSAgICAgICAgICAgIFttZXNzYWdlXSwKLSAg
ICAgICAgICAgIG51bGwpOwotCi0gICAgICAgIHNlbGYuY29uc29sZS5hZGRNZXNzYWdlKG1zZyk7
Ci0gICAgfQotCi0gICAgLy8gaWYgd2UgY2FuJ3QgbG9nIHRoZSBtZXNzYWdlLCBxdWV1ZSBpdAot
ICAgIGlmICghaXNMb2dBdmFpbGFibGUoKSkgewotICAgICAgICBpZiAoIVdlYkluc3BlY3Rvci5s
b2cucXVldWVkKQotICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmxvZy5xdWV1ZWQgPSBbXTsKLQot
ICAgICAgICBXZWJJbnNwZWN0b3IubG9nLnF1ZXVlZC5wdXNoKG1lc3NhZ2UpOwotCi0gICAgICAg
IGlmICghV2ViSW5zcGVjdG9yLmxvZy5pbnRlcnZhbCkKLSAgICAgICAgICAgIFdlYkluc3BlY3Rv
ci5sb2cuaW50ZXJ2YWwgPSBzZXRJbnRlcnZhbChmbHVzaFF1ZXVlSWZBdmFpbGFibGUsIDEwMDAp
OwotCi0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICAvLyBmbHVzaCB0aGUgcGVuZGluZyBx
dWV1ZSBpZiBhbnkKLSAgICBmbHVzaFF1ZXVlKCk7Ci0KLSAgICAvLyBsb2cgdGhlIG1lc3NhZ2UK
LSAgICBsb2dNZXNzYWdlKG1lc3NhZ2UpOworICAgIFdlYkluc3BlY3Rvci5jb25zb2xlLmFkZE1l
c3NhZ2UobmV3IFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZSgKKyAgICAgICAgV2ViSW5zcGVj
dG9yLkNvbnNvbGVNZXNzYWdlLk1lc3NhZ2VTb3VyY2UuT3RoZXIsCisgICAgICAgIFdlYkluc3Bl
Y3Rvci5Db25zb2xlTWVzc2FnZS5NZXNzYWdlVHlwZS5Mb2csCisgICAgICAgIG1lc3NhZ2VMZXZl
bCB8fCBXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2UuTWVzc2FnZUxldmVsLkRlYnVnLAorICAg
ICAgICAtMSwKKyAgICAgICAgbnVsbCwKKyAgICAgICAgbnVsbCwKKyAgICAgICAgMSwKKyAgICAg
ICAgbnVsbCwKKyAgICAgICAgW25ldyBXZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0LmZyb21Qcmlt
aXRpdmVWYWx1ZShtZXNzYWdlKV0sCisgICAgICAgIG51bGwpKTsKIH0KIAogV2ViSW5zcGVjdG9y
LmFkZFByb2ZpbGVIZWFkZXIgPSBmdW5jdGlvbihwcm9maWxlKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>64304</attachid>
            <date>2010-08-12 23:14:36 -0700</date>
            <delta_ts>2010-08-12 23:32:39 -0700</delta_ts>
            <desc>[PATCH] Proposed fix.</desc>
            <filename>review_comments</filename>
            <type>text/plain</type>
            <size>9089</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MDczYThlZS4uMGQ5ZTQ1NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMC0wOC0xMiAgUGF2ZWwgRmVsZG1h
biAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBNYWtlIGdldFByb3RvdHlwZXMgcmV0
dXJuIG9iamVjdHMsIG5vdCBuYW1lcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTQzOTM0CisKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0lu
amVjdGVkU2NyaXB0LmpzOgorICAgICAgICAoaW5qZWN0ZWRTY3JpcHRDb25zdHJ1Y3Rvcik6Cisg
ICAgICAgIChpbmplY3RlZFNjcmlwdENvbnN0cnVjdG9yLik6CisgICAgICAgICogaW5zcGVjdG9y
L2Zyb250LWVuZC9Qcm9wZXJ0aWVzU2lkZWJhclBhbmUuanM6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuUHJvcGVydGllc1NpZGViYXJQYW5lLnByb3RvdHlwZS51cGRhdGUuY2FsbGJhY2spOgorICAg
ICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLmxvZyk6CisKIDIwMTAtMDgtMTIgIERpcmsgU2NodWx6ZSAgPGtyaXRAd2Via2l0Lm9y
Zz4KIAogICAgICAgICBVbnJldmlld2VkIHNvcnQgb2YgWENvZGUgcHJvamVjdCBmaWxlLgpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVWaWV3LmpzIGIvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVWaWV3LmpzCmluZGV4IGNhNGZlMDQuLjE1
NWY0NDEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmll
dy5qcworKysgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZVZpZXcuanMKQEAg
LTU4OSw3ICs1ODksNyBAQCBXZWJJbnNwZWN0b3IuQ29uc29sZVZpZXcucHJvdG90eXBlID0gewog
ICAgICAgICAgICAgZWxlbS5hcHBlbmRDaGlsZCh0cmVlT3V0bGluZS5lbGVtZW50KTsKICAgICAg
ICAgfQogCi0gICAgICAgIEluamVjdGVkU2NyaXB0QWNjZXNzLmdldChvYmplY3Qub2JqZWN0SWQu
aW5qZWN0ZWRTY3JpcHRJZCkucHVzaE5vZGVUb0Zyb250ZW5kKG9iamVjdC5vYmplY3RJZCwgcHJp
bnROb2RlKTsKKyAgICAgICAgb2JqZWN0LnB1c2hOb2RlVG9Gcm9udGVuZChwcmludE5vZGUpOwog
ICAgIH0sCiAKICAgICBfZm9ybWF0YXJyYXk6IGZ1bmN0aW9uKGFyciwgZWxlbSkKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbmplY3RlZFNjcmlwdC5qcyBiL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbmplY3RlZFNjcmlwdC5qcwppbmRleCBmM2UzYWU5Li4y
MDRkNTBkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSW5qZWN0ZWRT
Y3JpcHQuanMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0luamVjdGVkU2NyaXB0
LmpzCkBAIC01OSw3ICs1OSw3IEBAIEluamVjdGVkU2NyaXB0LndyYXBPYmplY3QgPSBmdW5jdGlv
bihvYmplY3QsIG9iamVjdEdyb3VwTmFtZSkKICAgICAgICAgICAgICAgICBJbmplY3RlZFNjcmlw
dC5vYmplY3RHcm91cHNbb2JqZWN0R3JvdXBOYW1lXSA9IGdyb3VwOwogICAgICAgICAgICAgfQog
ICAgICAgICAgICAgZ3JvdXAucHVzaChpZCk7Ci0gICAgICAgICAgICBvYmplY3RJZCA9IG5ldyBJ
bmplY3RlZFNjcmlwdC5SZW1vdGVPYmplY3RJZCgianNvYmplY3QiLCBpZCk7CisgICAgICAgICAg
ICBvYmplY3RJZCA9IG5ldyBJbmplY3RlZFNjcmlwdC5SZW1vdGVPYmplY3RJZChJbmplY3RlZFNj
cmlwdC5SZW1vdGVPYmplY3RJZC5UeXBlLkpzT2JqZWN0LCBpZCk7CiAgICAgICAgIH0KICAgICAg
ICAgcmV0dXJuIEluamVjdGVkU2NyaXB0LlJlbW90ZU9iamVjdC5mcm9tT2JqZWN0KG9iamVjdCwg
b2JqZWN0SWQpOwogICAgIH0gY2F0Y2ggKGUpIHsKQEAgLTEwMCwxMyArMTAwLDE0IEBAIEluamVj
dGVkU2NyaXB0LmdldFByb3RvdHlwZXMgPSBmdW5jdGlvbihub2RlSWQpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKIAogICAgIHZhciByZXN1bHQgPSBbXTsKLSAgICBmb3IgKHZhciBwcm90b3R5cGUg
PSBub2RlOyBwcm90b3R5cGU7IHByb3RvdHlwZSA9IHByb3RvdHlwZS5fX3Byb3RvX18pIHsKLSAg
ICAgICAgdmFyIHRpdGxlID0gSW5qZWN0ZWRTY3JpcHQuX2Rlc2NyaWJlKHByb3RvdHlwZSwgdHJ1
ZSk7Ci0gICAgICAgIGlmICh0aXRsZS5tYXRjaCgvUHJvdG90eXBlJC8pKSB7Ci0gICAgICAgICAg
ICB0aXRsZSA9IHRpdGxlLnJlcGxhY2UoL1Byb3RvdHlwZSQvLCAiIik7Ci0gICAgICAgIH0KLSAg
ICAgICAgcmVzdWx0LnB1c2godGl0bGUpOwotICAgIH0KKyAgICB2YXIgcHJvdG90eXBlID0gbm9k
ZTsKKyAgICB2YXIgcHJvdG90eXBlSWQgPSBuZXcgSW5qZWN0ZWRTY3JpcHQuUmVtb3RlT2JqZWN0
SWQoSW5qZWN0ZWRTY3JpcHQuUmVtb3RlT2JqZWN0SWQuVHlwZS5Ob2RlLCBub2RlSWQpOworICAg
IGRvIHsKKyAgICAgICAgcmVzdWx0LnB1c2goSW5qZWN0ZWRTY3JpcHQuUmVtb3RlT2JqZWN0LmZy
b21PYmplY3QocHJvdG90eXBlLCBwcm90b3R5cGVJZCkpOworICAgICAgICBwcm90b3R5cGUgPSBw
cm90b3R5cGUuX19wcm90b19fOworICAgICAgICBwcm90b3R5cGVJZCA9IEluamVjdGVkU2NyaXB0
LlJlbW90ZU9iamVjdElkLmRlcml2ZVByb3BlcnR5KHByb3RvdHlwZUlkLCAiX19wcm90b19fIik7
CisgICAgfSB3aGlsZSAocHJvdG90eXBlKQorCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApAQCAt
MTMxLDkgKzEzMiw3IEBAIEluamVjdGVkU2NyaXB0LmdldFByb3BlcnRpZXMgPSBmdW5jdGlvbihv
YmplY3RJZCwgaWdub3JlSGFzT3duUHJvcGVydHksIGFiYnJldmlhCiAgICAgICAgIGlmICghaXNH
ZXR0ZXIpIHsKICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgdmFyIGNoaWxkT2Jq
ZWN0ID0gb2JqZWN0W3Byb3BlcnR5TmFtZV07Ci0gICAgICAgICAgICAgICAgdmFyIHBhdGggPSBv
YmplY3RJZC5wYXRoID8gb2JqZWN0SWQucGF0aC5zbGljZSgpIDogW107Ci0gICAgICAgICAgICAg
ICAgcGF0aC5wdXNoKHByb3BlcnR5TmFtZSk7Ci0gICAgICAgICAgICAgICAgdmFyIGNoaWxkT2Jq
ZWN0SWQgPSBuZXcgSW5qZWN0ZWRTY3JpcHQuUmVtb3RlT2JqZWN0SWQob2JqZWN0SWQudHlwZSwg
b2JqZWN0SWQudmFsdWUsIHBhdGgpOworICAgICAgICAgICAgICAgIHZhciBjaGlsZE9iamVjdElk
ID0gSW5qZWN0ZWRTY3JpcHQuUmVtb3RlT2JqZWN0SWQuZGVyaXZlUHJvcGVydHkob2JqZWN0SWQs
IHByb3BlcnR5TmFtZSk7CiAgICAgICAgICAgICAgICAgdmFyIGNoaWxkT2JqZWN0UHJveHkgPSBu
ZXcgSW5qZWN0ZWRTY3JpcHQuUmVtb3RlT2JqZWN0LmZyb21PYmplY3QoY2hpbGRPYmplY3QsIGNo
aWxkT2JqZWN0SWQsIGFiYnJldmlhdGUpOwogICAgICAgICAgICAgICAgIHByb3BlcnR5LnZhbHVl
ID0gY2hpbGRPYmplY3RQcm94eTsKICAgICAgICAgICAgIH0gY2F0Y2goZSkgewpAQCAtMzQ2LDEx
ICszNDUsMTEgQEAgSW5qZWN0ZWRTY3JpcHQuX29iamVjdEZvcklkID0gZnVuY3Rpb24ob2JqZWN0
SWQpCiAgICAgLy8gLSBzdHJpbmdzIHBvaW50IHRvIGNvbnNvbGUgb2JqZWN0cyBjYWNoZWQgaW4g
SW5zcGVjdG9yQ29udHJvbGxlciBmb3IgbGF6eSBldmFsdWF0aW9uIHVwb24gdGhlbQogICAgIC8v
IC0gb2JqZWN0cyBjb250YWluIGNvbXBsZXggaWRzIGFuZCBhcmUgY3VycmVudGx5IHVzZWQgZm9y
IHNjb3BlZCBvYmplY3RzCiAgICAgdmFyIG9iamVjdDsKLSAgICBpZiAob2JqZWN0SWQudHlwZSA9
PT0gIm5vZGUiKQorICAgIGlmIChvYmplY3RJZC50eXBlID09PSBJbmplY3RlZFNjcmlwdC5SZW1v
dGVPYmplY3RJZC5UeXBlLk5vZGUpCiAgICAgICAgIG9iamVjdCA9IEluamVjdGVkU2NyaXB0Ll9u
b2RlRm9ySWQob2JqZWN0SWQudmFsdWUpOwotICAgIGVsc2UgaWYgKG9iamVjdElkLnR5cGUgPT09
ICJqc29iamVjdCIpCisgICAgZWxzZSBpZiAob2JqZWN0SWQudHlwZSA9PT0gSW5qZWN0ZWRTY3Jp
cHQuUmVtb3RlT2JqZWN0SWQuVHlwZS5Kc09iamVjdCkKICAgICAgICAgb2JqZWN0ID0gSW5qZWN0
ZWRTY3JpcHQudW53cmFwT2JqZWN0KG9iamVjdElkLnZhbHVlKTsKLSAgICBlbHNlIGlmIChvYmpl
Y3RJZC50eXBlID09PSAic2NvcGVPYmplY3QiKSB7CisgICAgZWxzZSBpZiAob2JqZWN0SWQudHlw
ZSA9PT0gSW5qZWN0ZWRTY3JpcHQuUmVtb3RlT2JqZWN0SWQuVHlwZS5TY29wZU9iamVjdCkgewog
ICAgICAgICB2YXIgY2FsbEZyYW1lID0gSW5qZWN0ZWRTY3JpcHQuX2NhbGxGcmFtZUZvcklkKG9i
amVjdElkLnZhbHVlLmNhbGxGcmFtZSk7CiAgICAgICAgIGlmIChvYmplY3RJZC50aGlzT2JqZWN0
KQogICAgICAgICAgICAgb2JqZWN0ID0gY2FsbEZyYW1lLnRoaXNPYmplY3Q7CkBAIC0zODUsNiAr
Mzg0LDE5IEBAIEluamVjdGVkU2NyaXB0LlJlbW90ZU9iamVjdElkID0gZnVuY3Rpb24odHlwZSwg
dmFsdWUsIHBhdGgpCiAgICAgdGhpcy5wYXRoID0gcGF0aCB8fCBbXTsKIH0KIAorSW5qZWN0ZWRT
Y3JpcHQuUmVtb3RlT2JqZWN0SWQuVHlwZSA9IHsKKyAgICBOb2RlOiAibm9kZSIsCisgICAgSnNP
YmplY3Q6ICJqc09iamVjdCIsCisgICAgU2NvcGVPYmplY3Q6ICJzY29wZU9iamVjdCIKK30KKwor
SW5qZWN0ZWRTY3JpcHQuUmVtb3RlT2JqZWN0SWQuZGVyaXZlUHJvcGVydHkgPSBmdW5jdGlvbihv
YmplY3RJZCwgcHJvcGVydHlOYW1lKQoreworICAgIHZhciBwYXRoID0gb2JqZWN0SWQucGF0aC5z
bGljZSgpIHx8IFtdOworICAgIHBhdGgucHVzaChwcm9wZXJ0eU5hbWUpOworICAgIHJldHVybiBu
ZXcgSW5qZWN0ZWRTY3JpcHQuUmVtb3RlT2JqZWN0SWQob2JqZWN0SWQudHlwZSwgb2JqZWN0SWQu
dmFsdWUsIHBhdGgpOworfQorCiBJbmplY3RlZFNjcmlwdC5SZW1vdGVPYmplY3QgPSBmdW5jdGlv
bihvYmplY3RJZCwgdHlwZSwgZGVzY3JpcHRpb24sIGhhc0NoaWxkcmVuKQogewogICAgIHRoaXMu
b2JqZWN0SWQgPSBvYmplY3RJZDsKQEAgLTQ0NCwxNCArNDU2LDE0IEBAIEluamVjdGVkU2NyaXB0
LkNhbGxGcmFtZVByb3h5LnByb3RvdHlwZSA9IHsKICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkg
PCBzY29wZUNoYWluLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgICB2YXIgc2NvcGVUeXBlID0g
Y2FsbEZyYW1lLnNjb3BlVHlwZShpKTsKICAgICAgICAgICAgIHZhciBzY29wZU9iamVjdCA9IHNj
b3BlQ2hhaW5baV07Ci0gICAgICAgICAgICB2YXIgc2NvcGVPYmplY3RJZCA9IG5ldyBJbmplY3Rl
ZFNjcmlwdC5SZW1vdGVPYmplY3RJZCgic2NvcGVPYmplY3QiLCB7IGNhbGxGcmFtZTogdGhpcy5p
ZCwgY2hhaW5JbmRleDogaSB9KTsKKyAgICAgICAgICAgIHZhciBzY29wZU9iamVjdElkID0gbmV3
IEluamVjdGVkU2NyaXB0LlJlbW90ZU9iamVjdElkKEluamVjdGVkU2NyaXB0LlJlbW90ZU9iamVj
dElkLlR5cGUuU2NvcGVPYmplY3QsIHsgY2FsbEZyYW1lOiB0aGlzLmlkLCBjaGFpbkluZGV4OiBp
IH0pOwogICAgICAgICAgICAgdmFyIHNjb3BlT2JqZWN0UHJveHkgPSBJbmplY3RlZFNjcmlwdC5S
ZW1vdGVPYmplY3QuZnJvbU9iamVjdChzY29wZU9iamVjdCwgc2NvcGVPYmplY3RJZCwgdHJ1ZSk7
CiAKICAgICAgICAgICAgIHN3aXRjaChzY29wZVR5cGUpIHsKICAgICAgICAgICAgICAgICBjYXNl
IExPQ0FMX1NDT1BFOiB7CiAgICAgICAgICAgICAgICAgICAgIGZvdW5kTG9jYWxTY29wZSA9IHRy
dWU7CiAgICAgICAgICAgICAgICAgICAgIHNjb3BlT2JqZWN0UHJveHkuaXNMb2NhbCA9IHRydWU7
Ci0gICAgICAgICAgICAgICAgICAgIHZhciB0aGlzT2JqZWN0SWQgPSBuZXcgSW5qZWN0ZWRTY3Jp
cHQuUmVtb3RlT2JqZWN0SWQoInNjb3BlT2JqZWN0IiwgeyBjYWxsRnJhbWU6IHRoaXMuaWQsIHRo
aXNPYmplY3Q6IHRydWUgfSk7CisgICAgICAgICAgICAgICAgICAgIHZhciB0aGlzT2JqZWN0SWQg
PSBuZXcgSW5qZWN0ZWRTY3JpcHQuUmVtb3RlT2JqZWN0SWQoSW5qZWN0ZWRTY3JpcHQuUmVtb3Rl
T2JqZWN0SWQuVHlwZS5TY29wZU9iamVjdCwgeyBjYWxsRnJhbWU6IHRoaXMuaWQsIHRoaXNPYmpl
Y3Q6IHRydWUgfSk7CiAgICAgICAgICAgICAgICAgICAgIHNjb3BlT2JqZWN0UHJveHkudGhpc09i
amVjdCA9IEluamVjdGVkU2NyaXB0LlJlbW90ZU9iamVjdC5mcm9tT2JqZWN0KGNhbGxGcmFtZS50
aGlzT2JqZWN0LCB0aGlzT2JqZWN0SWQsIHRydWUpOwogICAgICAgICAgICAgICAgICAgICBicmVh
azsKICAgICAgICAgICAgICAgICB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvUHJvcGVydGllc1NpZGViYXJQYW5lLmpzIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL1Byb3BlcnRpZXNTaWRlYmFyUGFuZS5qcwppbmRleCBkNjQ4ODFjLi45YmFhZjk4IDEwMDY0
NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUHJvcGVydGllc1NpZGViYXJQYW5l
LmpzCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Qcm9wZXJ0aWVzU2lkZWJhclBh
bmUuanMKQEAgLTQ4LDE0ICs0OCwxNSBAQCBXZWJJbnNwZWN0b3IuUHJvcGVydGllc1NpZGViYXJQ
YW5lLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIGJvZHkucmVtb3ZlQ2hpbGRyZW4oKTsKICAg
ICAgICAgICAgIHNlbGYuc2VjdGlvbnMgPSBbXTsKIAotICAgICAgICAgICAgdmFyIHBhdGggPSBb
XTsKICAgICAgICAgICAgIC8vIEdldCBhcnJheSBvZiBwcm90b3R5cGUgdXNlci1mcmllbmRseSBu
YW1lcy4KICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcHJvdG90eXBlcy5sZW5ndGg7
ICsraSkgewotICAgICAgICAgICAgICAgIHZhciBwcm90b3R5cGUgPSBuZXcgV2ViSW5zcGVjdG9y
LlJlbW90ZU9iamVjdC5mcm9tTm9kZShub2RlLCBwYXRoLnNsaWNlKCkpOwotICAgICAgICAgICAg
ICAgIHZhciBzZWN0aW9uID0gbmV3IFdlYkluc3BlY3Rvci5PYmplY3RQcm9wZXJ0aWVzU2VjdGlv
bihwcm90b3R5cGUsIHByb3RvdHlwZXNbaV0sIFdlYkluc3BlY3Rvci5VSVN0cmluZygiUHJvdG90
eXBlIikpOworICAgICAgICAgICAgICAgIHZhciBwcm90b3R5cGUgPSBXZWJJbnNwZWN0b3IuUmVt
b3RlT2JqZWN0LmZyb21QYXlsb2FkKHByb3RvdHlwZXNbaV0pOworICAgICAgICAgICAgICAgIHZh
ciB0aXRsZSA9IHByb3RvdHlwZS5kZXNjcmlwdGlvbjsKKyAgICAgICAgICAgICAgICBpZiAodGl0
bGUubWF0Y2goL1Byb3RvdHlwZSQvKSkKKyAgICAgICAgICAgICAgICAgICAgdGl0bGUgPSB0aXRs
ZS5yZXBsYWNlKC9Qcm90b3R5cGUkLywgIiIpOworICAgICAgICAgICAgICAgIHZhciBzZWN0aW9u
ID0gbmV3IFdlYkluc3BlY3Rvci5PYmplY3RQcm9wZXJ0aWVzU2VjdGlvbihwcm90b3R5cGUsIHRp
dGxlLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlByb3RvdHlwZSIpKTsKICAgICAgICAgICAgICAg
ICBzZWxmLnNlY3Rpb25zLnB1c2goc2VjdGlvbik7CiAgICAgICAgICAgICAgICAgYm9keS5hcHBl
bmRDaGlsZChzZWN0aW9uLmVsZW1lbnQpOwotICAgICAgICAgICAgICAgIHBhdGgucHVzaCgiX19w
cm90b19fIik7CiAgICAgICAgICAgICB9CiAgICAgICAgIH07CiAgICAgICAgIEluamVjdGVkU2Ny
aXB0QWNjZXNzLmdldCgtbm9kZS5pZCkuZ2V0UHJvdG90eXBlcyhub2RlLmlkLCBjYWxsYmFjayk7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVtb3RlT2JqZWN0Lmpz
IGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1JlbW90ZU9iamVjdC5qcwppbmRleCA2YjIx
Njc3Li5kNmUxOWYyIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVt
b3RlT2JqZWN0LmpzCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZW1vdGVPYmpl
Y3QuanMKQEAgLTE0Niw2ICsxNDYsMTEgQEAgV2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdC5wcm90
b3R5cGUgPSB7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICAgICAgSW5qZWN0
ZWRTY3JpcHRBY2Nlc3MuZ2V0KHRoaXMuX29iamVjdElkLmluamVjdGVkU2NyaXB0SWQpLnNldFBy
b3BlcnR5VmFsdWUodGhpcy5fb2JqZWN0SWQsIG5hbWUsIHZhbHVlLCBjYWxsYmFjayk7CisgICAg
fSwKKworICAgIHB1c2hOb2RlVG9Gcm9udGVuZDogZnVuY3Rpb24oY2FsbGJhY2spCisgICAgewor
ICAgICAgICBJbmplY3RlZFNjcmlwdEFjY2Vzcy5nZXQodGhpcy5fb2JqZWN0SWQuaW5qZWN0ZWRT
Y3JpcHRJZCkucHVzaE5vZGVUb0Zyb250ZW5kKHRoaXMuX29iamVjdElkLCBjYWxsYmFjayk7CiAg
ICAgfQogfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVj
dG9yLmpzIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcwppbmRleCA2
ODE2ZDIzLi5lNzNkZjAxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
aW5zcGVjdG9yLmpzCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3Iu
anMKQEAgLTE0NjcsNiArMTQ2NywxMiBAQCBXZWJJbnNwZWN0b3IubG9nID0gZnVuY3Rpb24obWVz
c2FnZSwgbWVzc2FnZUxldmVsKQogICAgIC8vIHJlbWVtYmVyICd0aGlzJyBmb3Igc2V0SW50ZXJ2
YWwoKSBjYWxsYmFjawogICAgIHZhciBzZWxmID0gdGhpczsKIAorICAgIC8vIHJldHVybiBpbmRp
Y2F0aW9uIGlmIHdlIGNhbiBhY3R1YWxseSBsb2cgYSBtZXNzYWdlCisgICAgZnVuY3Rpb24gaXNM
b2dBdmFpbGFibGUoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5Db25zb2xl
TWVzc2FnZSAmJiBXZWJJbnNwZWN0b3IuT2JqZWN0UHJveHkgJiYgc2VsZi5jb25zb2xlOworICAg
IH0KKwogICAgIC8vIGZsdXNoIHRoZSBxdWV1ZSBvZiBwZW5kaW5nIG1lc3NhZ2VzCiAgICAgZnVu
Y3Rpb24gZmx1c2hRdWV1ZSgpCiAgICAgewo=
</data>
<flag name="review"
          id="52847"
          type_id="1"
          status="+"
          setter="yurys"
    />
          </attachment>
      

    </bug>

</bugzilla>