<?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>21791</bug_id>
          
          <creation_ts>2008-10-22 07:04:24 -0700</creation_ts>
          <short_desc>WebCore JS bindings should be able to use non-static hash tables for properties</short_desc>
          <delta_ts>2008-10-22 10:43:54 -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 JavaScript</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.5</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="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>96163</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2008-10-22 07:04:24 -0700</bug_when>
    <thetext>Since JSC::HashTable contains Identifiers, any class that should work with multiple JSGlobalData objects should not use static tables. Pure JavaScript classes each have an entry in JSGlobalData, but there is no way to do this in WebCore currently.

Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96164</commentid>
    <comment_count>1</comment_count>
      <attachid>24558</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2008-10-22 07:16:06 -0700</bug_when>
    <thetext>Created attachment 24558
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96195</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2008-10-22 10:43:54 -0700</bug_when>
    <thetext>Committed revision 37784.

</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>24558</attachid>
            <date>2008-10-22 07:16:06 -0700</date>
            <delta_ts>2008-10-22 10:33:22 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>NoStaticTables.txt</filename>
            <type>text/plain</type>
            <size>12376</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzNzc4MCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzIgQEAKKzIwMDgtMTAtMjIgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEB3ZWJr
aXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTc5MQorICAgICAgICBX
ZWJDb3JlIEpTIGJpbmRpbmdzIHNob3VsZCBiZSBhYmxlIHRvIHVzZSBub24tc3RhdGljIGhhc2gg
dGFibGVzIGZvciBwcm9wZXJ0aWVzCisKKyAgICAgICAgQWRkIGEgbWFwIGZvciBIYXNoVGFibGVz
IHRvIFdlYkNvcmUgSlMgY2xpZW50IGRhdGEuCisKKyAgICAgICAgVGhpcyBtYWtlcyBwcm9wZXJ0
eSBhY2Nlc3Mgbm90aWNlYWJseSBzbG93ZXIsIHNvIGl0IGlzIGFuIG9wdC1pbi4gRm9yIGNsYXNz
ZXMgdGhhdCBuZWVkIHRvIGJlCisgICAgICAgIHN1cHBvcnRlZCBpbiB3b3JrZXJzIGluIGZvcnNl
ZWFibGUgZnV0dXJlIHRoaXMgaXMgbm90IGNyaXRpY2FsLgorCisgICAgICAgICogYmluZGluZ3Mv
anMvSlNET01CaW5kaW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTU9iamVjdEhhc2hUYWJs
ZU1hcDo6Z2V0KToKKyAgICAgICAgKFdlYkNvcmU6OkRPTU9iamVjdEhhc2hUYWJsZU1hcDo6bWFw
Rm9yKToKKyAgICAgICAgKFdlYkNvcmU6OmdldEhhc2hUYWJsZUZvckdsb2JhbERhdGEpOgorICAg
ICAgICAoV2ViQ29yZTo6RE9NT2JqZWN0V3JhcHBlck1hcDo6bWFwRm9yKToKKyAgICAgICAgV2Vi
Q29yZSBjbGllbnQgZGF0YSBpcyBub3cgYSBjbGFzcyB0aGF0IGNvbnRhaW5zIGJvdGggYSBET00g
d3JhcHBlciBtYXAgYW5kIGEgcHJvcGVydHkgaGFzaAorICAgICAgICB0YWJsZSBvbmUuCisKKyAg
ICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaDogQWRkZWQgZ2V0SGFzaFRhYmxlRm9y
R2xvYmFsRGF0YSgpIHRvIHF1ZXJ5IHRoZSBoYXNoIHRhYmxlIG1hcC4KKworICAgICAgICAqIGJp
bmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtOiBJZiB0aGUgY2xhc3MgaGFzIGEgTm9T
dGF0aWNUYWJsZXMgYXR0cmlidXRlLCB1c2UKKyAgICAgICAgSlNET01CaW5kaW5nIG1hcCB0byBh
Y2Nlc3MgaXRzIHByb3BlcnR5IGhhc2ggdGFibGVzLgorCisgICAgICAgICogZG9tL01lc3NhZ2VD
aGFubmVsLmlkbDoKKyAgICAgICAgKiBkb20vTWVzc2FnZVBvcnQuaWRsOgorICAgICAgICBBZGRl
ZCBOb1N0YXRpY1RhYmxlcyBhdHRyaWJ1dGUuCisKIDIwMDgtMTAtMjIgIEd1c3Rhdm8gTm9yb25o
YSBTaWx2YSAgPGduc0Bnbm9tZS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgVGltb3RoeSBI
YXRjaGVyLgpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmNwcAkocmV2aXNpb24g
Mzc3NzEpCisrKyBXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTEzMiwxNyArMTMyLDkgQEAgRE9NT2JqZWN0Ojp+RE9NT2JqZWN0KCkKIAogI2Vu
ZGlmCiAKLWNsYXNzIERPTU9iamVjdFdyYXBwZXJNYXAgOiBwdWJsaWMgSlNHbG9iYWxEYXRhOjpD
bGllbnREYXRhIHsKK2NsYXNzIERPTU9iamVjdFdyYXBwZXJNYXAgewogcHVibGljOgotICAgIHN0
YXRpYyBET01PYmplY3RXcmFwcGVyTWFwJiBtYXBGb3IoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRh
KQotICAgIHsKLSAgICAgICAgSlNHbG9iYWxEYXRhOjpDbGllbnREYXRhKiBjbGllbnREYXRhID0g
Z2xvYmFsRGF0YS5jbGllbnREYXRhOwotICAgICAgICBpZiAoIWNsaWVudERhdGEpIHsKLSAgICAg
ICAgICAgIGNsaWVudERhdGEgPSBuZXcgRE9NT2JqZWN0V3JhcHBlck1hcDsKLSAgICAgICAgICAg
IGdsb2JhbERhdGEuY2xpZW50RGF0YSA9IGNsaWVudERhdGE7Ci0gICAgICAgIH0KLSAgICAgICAg
cmV0dXJuICpzdGF0aWNfY2FzdDxET01PYmplY3RXcmFwcGVyTWFwKj4oY2xpZW50RGF0YSk7Ci0g
ICAgfQorICAgIHN0YXRpYyBET01PYmplY3RXcmFwcGVyTWFwJiBtYXBGb3IoSlNHbG9iYWxEYXRh
Jik7CiAKICAgICBET01PYmplY3QqIGdldCh2b2lkKiBvYmplY3RIYW5kbGUpCiAgICAgewpAQCAt
MTY0LDYgKzE1Niw1NCBAQCBwcml2YXRlOgogICAgIEhhc2hNYXA8dm9pZCosIERPTU9iamVjdCo+
IG1fbWFwOwogfTsKIAorLy8gTWFwIGZyb20gc3RhdGljIEhhc2hUYWJsZSBpbnN0YW5jZXMgdG8g
cGVyLUdsb2JhbERhdGEgb25lcy4KK2NsYXNzIERPTU9iamVjdEhhc2hUYWJsZU1hcCB7CitwdWJs
aWM6CisgICAgc3RhdGljIERPTU9iamVjdEhhc2hUYWJsZU1hcCYgbWFwRm9yKEpTR2xvYmFsRGF0
YSYpOworCisgICAgY29uc3QgSlNDOjpIYXNoVGFibGUqIGdldChjb25zdCBKU0M6Okhhc2hUYWJs
ZSogc3RhdGljVGFibGUpCisgICAgeworICAgICAgICBIYXNoTWFwPGNvbnN0IEpTQzo6SGFzaFRh
YmxlKiwgSlNDOjpIYXNoVGFibGU+OjppdGVyYXRvciBpdGVyID0gbV9tYXAuZmluZChzdGF0aWNU
YWJsZSk7CisgICAgICAgIGlmIChpdGVyICE9IG1fbWFwLmVuZCgpKQorICAgICAgICAgICAgcmV0
dXJuICZpdGVyLT5zZWNvbmQ7CisgICAgICAgIHJldHVybiAmbV9tYXAuc2V0KHN0YXRpY1RhYmxl
LCBKU0M6Okhhc2hUYWJsZSgqc3RhdGljVGFibGUpKS5maXJzdC0+c2Vjb25kOworICAgIH0KKwor
cHJpdmF0ZToKKyAgICBIYXNoTWFwPGNvbnN0IEpTQzo6SGFzaFRhYmxlKiwgSlNDOjpIYXNoVGFi
bGU+IG1fbWFwOworfTsKKworY2xhc3MgV2ViQ29yZUpTQ2xpZW50RGF0YSA6IHB1YmxpYyBKU0ds
b2JhbERhdGE6OkNsaWVudERhdGEgeworcHVibGljOgorICAgIERPTU9iamVjdEhhc2hUYWJsZU1h
cCBoYXNoVGFibGVNYXA7CisgICAgRE9NT2JqZWN0V3JhcHBlck1hcCB3cmFwcGVyTWFwOworfTsK
KworRE9NT2JqZWN0SGFzaFRhYmxlTWFwJiBET01PYmplY3RIYXNoVGFibGVNYXA6Om1hcEZvcihK
U0dsb2JhbERhdGEmIGdsb2JhbERhdGEpCit7CisgICAgSlNHbG9iYWxEYXRhOjpDbGllbnREYXRh
KiBjbGllbnREYXRhID0gZ2xvYmFsRGF0YS5jbGllbnREYXRhOworICAgIGlmICghY2xpZW50RGF0
YSkgeworICAgICAgICBjbGllbnREYXRhID0gbmV3IFdlYkNvcmVKU0NsaWVudERhdGE7CisgICAg
ICAgIGdsb2JhbERhdGEuY2xpZW50RGF0YSA9IGNsaWVudERhdGE7CisgICAgfQorICAgIHJldHVy
biBzdGF0aWNfY2FzdDxXZWJDb3JlSlNDbGllbnREYXRhKj4oY2xpZW50RGF0YSktPmhhc2hUYWJs
ZU1hcDsKK30KKworY29uc3QgSlNDOjpIYXNoVGFibGUqIGdldEhhc2hUYWJsZUZvckdsb2JhbERh
dGEoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBjb25zdCBKU0M6Okhhc2hUYWJsZSogc3RhdGlj
VGFibGUpCit7CisgICAgcmV0dXJuIERPTU9iamVjdEhhc2hUYWJsZU1hcDo6bWFwRm9yKGdsb2Jh
bERhdGEpLmdldChzdGF0aWNUYWJsZSk7Cit9CisKK2lubGluZSBET01PYmplY3RXcmFwcGVyTWFw
JiBET01PYmplY3RXcmFwcGVyTWFwOjptYXBGb3IoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhKQor
eworICAgIEpTR2xvYmFsRGF0YTo6Q2xpZW50RGF0YSogY2xpZW50RGF0YSA9IGdsb2JhbERhdGEu
Y2xpZW50RGF0YTsKKyAgICBpZiAoIWNsaWVudERhdGEpIHsKKyAgICAgICAgY2xpZW50RGF0YSA9
IG5ldyBXZWJDb3JlSlNDbGllbnREYXRhOworICAgICAgICBnbG9iYWxEYXRhLmNsaWVudERhdGEg
PSBjbGllbnREYXRhOworICAgIH0KKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8V2ViQ29yZUpTQ2xp
ZW50RGF0YSo+KGNsaWVudERhdGEpLT53cmFwcGVyTWFwOworfQorCiBET01PYmplY3QqIGdldENh
Y2hlZERPTU9iamVjdFdyYXBwZXIoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCB2b2lkKiBvYmpl
Y3RIYW5kbGUpIAogewogICAgIHJldHVybiBET01PYmplY3RXcmFwcGVyTWFwOjptYXBGb3IoZ2xv
YmFsRGF0YSkuZ2V0KG9iamVjdEhhbmRsZSk7CkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RE9NQmluZGluZy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5k
aW5nLmgJKHJldmlzaW9uIDM3NzcwKQorKysgV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRp
bmcuaAkod29ya2luZyBjb3B5KQpAQCAtMTUyLDYgKzE1Miw4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAgICAgcmV0dXJuIGNyZWF0ZURPTU5vZGVXcmFwcGVyPFdyYXBwZXJDbGFzcz4oZXhl
Yywgbm9kZSk7CiAgICAgfQogCisgICAgY29uc3QgSlNDOjpIYXNoVGFibGUqIGdldEhhc2hUYWJs
ZUZvckdsb2JhbERhdGEoSlNDOjpKU0dsb2JhbERhdGEmLCBjb25zdCBKU0M6Okhhc2hUYWJsZSog
c3RhdGljVGFibGUpOworCiAgICAgLy8gQ29udmVydCBhIERPTSBpbXBsZW1lbnRhdGlvbiBleGNl
cHRpb24gY29kZSBpbnRvIGEgSmF2YVNjcmlwdCBleGNlcHRpb24gaW4gdGhlIGV4ZWN1dGlvbiBz
dGF0ZS4KICAgICB2b2lkIHNldERPTUV4Y2VwdGlvbihKU0M6OkV4ZWNTdGF0ZSosIEV4Y2VwdGlv
bkNvZGUpOwogCkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpT
LnBtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9y
SlMucG0JKHJldmlzaW9uIDM3NzcwKQorKysgV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JKUy5wbQkod29ya2luZyBjb3B5KQpAQCAtMjQ4LDYgKzI0OCwyOCBAQCBzdWIgSGFz
aFZhbHVlRm9yQ2xhc3NBbmROYW1lCiAgICAgcmV0dXJuICIke2NsYXNzfTo6JG5hbWUiOwogfQog
CitzdWIgaGFzaFRhYmxlQWNjZXNzb3IKK3sKKyAgICBteSAkbm9TdGF0aWNUYWJsZXMgPSBzaGlm
dDsKKyAgICBteSAkY2xhc3NOYW1lID0gc2hpZnQ7CisgICAgaWYgKCRub1N0YXRpY1RhYmxlcykg
eworICAgICAgICByZXR1cm4gImdldCR7Y2xhc3NOYW1lfVRhYmxlKGV4ZWMpIjsKKyAgICB9IGVs
c2UgeworICAgICAgICByZXR1cm4gIiYke2NsYXNzTmFtZX1UYWJsZSI7CisgICAgfQorfQorCitz
dWIgcHJvdG90eXBlSGFzaFRhYmxlQWNjZXNzb3IKK3sKKyAgICBteSAkbm9TdGF0aWNUYWJsZXMg
PSBzaGlmdDsKKyAgICBteSAkY2xhc3NOYW1lID0gc2hpZnQ7CisgICAgaWYgKCRub1N0YXRpY1Rh
YmxlcykgeworICAgICAgICByZXR1cm4gImdldCR7Y2xhc3NOYW1lfVByb3RvdHlwZVRhYmxlKGV4
ZWMpIjsKKyAgICB9IGVsc2UgeworICAgICAgICByZXR1cm4gIiYke2NsYXNzTmFtZX1Qcm90b3R5
cGVUYWJsZSI7CisgICAgfQorfQorCiBzdWIgR2VuZXJhdGVHZXRPd25Qcm9wZXJ0eVNsb3RCb2R5
CiB7CiAgICAgbXkgKCRkYXRhTm9kZSwgJGludGVyZmFjZU5hbWUsICRjbGFzc05hbWUsICRpbXBs
Q2xhc3NOYW1lLCAkaGFzQXR0cmlidXRlcywgJGlubGluZWQpID0gQF87CkBAIC0zMTEsOSArMzMz
LDEwIEBAIHN1YiBHZW5lcmF0ZUdldE93blByb3BlcnR5U2xvdEJvZHkKIAogICAgIGlmICgkaGFz
QXR0cmlidXRlcykgewogICAgICAgICBpZiAoJGlubGluZWQpIHsKKyAgICAgICAgICAgIGRpZSAi
Q2Fubm90IGlubGluZSBpZiBOb1N0YXRpY1RhYmxlcyBpcyBzZXQuIiBpZiAoJGRhdGFOb2RlLT5l
eHRlbmRlZEF0dHJpYnV0ZXMtPnsiTm9TdGF0aWNUYWJsZXMifSk7CiAgICAgICAgICAgICBwdXNo
KEBnZXRPd25Qcm9wZXJ0eVNsb3RJbXBsLCAiICAgIHJldHVybiAke25hbWVzcGFjZU1heWJlfWdl
dFN0YXRpY1ZhbHVlU2xvdDwkY2xhc3NOYW1lLCBCYXNlPihleGVjLCBzX2luZm8uc3RhdGljUHJv
cEhhc2hUYWJsZSwgdGhpcywgcHJvcGVydHlOYW1lLCBzbG90KTtcbiIpOwogICAgICAgICB9IGVs
c2UgewotICAgICAgICAgICBwdXNoKEBnZXRPd25Qcm9wZXJ0eVNsb3RJbXBsLCAiICAgIHJldHVy
biAke25hbWVzcGFjZU1heWJlfWdldFN0YXRpY1ZhbHVlU2xvdDwkY2xhc3NOYW1lLCBCYXNlPihl
eGVjLCAmJHtjbGFzc05hbWV9VGFibGUsIHRoaXMsIHByb3BlcnR5TmFtZSwgc2xvdCk7XG4iKTsK
KyAgICAgICAgICAgIHB1c2goQGdldE93blByb3BlcnR5U2xvdEltcGwsICIgICAgcmV0dXJuICR7
bmFtZXNwYWNlTWF5YmV9Z2V0U3RhdGljVmFsdWVTbG90PCRjbGFzc05hbWUsIEJhc2U+KGV4ZWMs
ICIgLiBoYXNoVGFibGVBY2Nlc3NvcigkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJO
b1N0YXRpY1RhYmxlcyJ9LCAkY2xhc3NOYW1lKSAuICIsIHRoaXMsIHByb3BlcnR5TmFtZSwgc2xv
dCk7XG4iKTsKICAgICAgICAgfQogICAgIH0gZWxzZSB7CiAgICAgICAgIHB1c2goQGdldE93blBy
b3BlcnR5U2xvdEltcGwsICIgICAgcmV0dXJuIEJhc2U6OmdldE93blByb3BlcnR5U2xvdChleGVj
LCBwcm9wZXJ0eU5hbWUsIHNsb3QpO1xuIik7CkBAIC04NDUsNyArODY4LDE1IEBAIHN1YiBHZW5l
cmF0ZUltcGxlbWVudGF0aW9uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXEBoYXNo
S2V5cywgXEBoYXNoU3BlY2lhbHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXEBo
YXNoVmFsdWUxLCBcQGhhc2hWYWx1ZTIpOwogCi0gICAgcHVzaChAaW1wbENvbnRlbnQsICJjb25z
dCBDbGFzc0luZm8gJHtjbGFzc05hbWV9UHJvdG90eXBlOjpzX2luZm8gPSB7IFwiJHt2aXNpYmxl
Q2xhc3NOYW1lfVByb3RvdHlwZVwiLCAwLCAmJHtjbGFzc05hbWV9UHJvdG90eXBlVGFibGUsIDAg
fTtcblxuIik7CisgICAgaWYgKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Ik5vU3Rh
dGljVGFibGVzIn0pIHsKKyAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJzdGF0aWMgY29uc3Qg
SGFzaFRhYmxlKiBnZXQke2NsYXNzTmFtZX1Qcm90b3R5cGVUYWJsZShFeGVjU3RhdGUqIGV4ZWMp
XG4iKTsKKyAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ7XG4iKTsKKyAgICAgICAgcHVzaChA
aW1wbENvbnRlbnQsICIgICAgcmV0dXJuIGdldEhhc2hUYWJsZUZvckdsb2JhbERhdGEoZXhlYy0+
Z2xvYmFsRGF0YSgpLCAmJHtjbGFzc05hbWV9UHJvdG90eXBlVGFibGUpO1xuIik7CisgICAgICAg
IHB1c2goQGltcGxDb250ZW50LCAifVxuIik7CisgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAi
Y29uc3QgQ2xhc3NJbmZvICR7Y2xhc3NOYW1lfVByb3RvdHlwZTo6c19pbmZvID0geyBcIiR7dmlz
aWJsZUNsYXNzTmFtZX1Qcm90b3R5cGVcIiwgMCwgMCwgZ2V0JHtjbGFzc05hbWV9UHJvdG90eXBl
VGFibGUgfTtcblxuIik7CisgICAgfSBlbHNlIHsKKyAgICAgICAgcHVzaChAaW1wbENvbnRlbnQs
ICJjb25zdCBDbGFzc0luZm8gJHtjbGFzc05hbWV9UHJvdG90eXBlOjpzX2luZm8gPSB7IFwiJHt2
aXNpYmxlQ2xhc3NOYW1lfVByb3RvdHlwZVwiLCAwLCAmJHtjbGFzc05hbWV9UHJvdG90eXBlVGFi
bGUsIDAgfTtcblxuIik7CisgICAgfQogICAgIGlmICgkaW50ZXJmYWNlTmFtZSBuZSAiRE9NV2lu
ZG93IikgewogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIkpTT2JqZWN0KiAke2NsYXNzTmFt
ZX1Qcm90b3R5cGU6OnNlbGYoRXhlY1N0YXRlKiBleGVjKVxuIik7CiAgICAgICAgIHB1c2goQGlt
cGxDb250ZW50LCAie1xuIik7CkBAIC04NjIsMTYgKzg5MywyMiBAQCBzdWIgR2VuZXJhdGVJbXBs
ZW1lbnRhdGlvbgogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgImJvb2wgJHtjbGFzc05hbWV9
UHJvdG90eXBlOjpnZXRPd25Qcm9wZXJ0eVNsb3QoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVu
dGlmaWVyJiBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYgc2xvdClcbiIpOwogICAgICAgICBw
dXNoKEBpbXBsQ29udGVudCwgIntcbiIpOwogICAgICAgICBpZiAoJG51bUNvbnN0YW50cyBlcSAw
KSB7Ci0gICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICByZXR1cm4gZ2V0U3RhdGlj
RnVuY3Rpb25TbG90PEpTT2JqZWN0PihleGVjLCAmJHtjbGFzc05hbWV9UHJvdG90eXBlVGFibGUs
IHRoaXMsIHByb3BlcnR5TmFtZSwgc2xvdCk7XG4iKTsKKyAgICAgICAgICAgIHB1c2goQGltcGxD
b250ZW50LCAiICAgIHJldHVybiBnZXRTdGF0aWNGdW5jdGlvblNsb3Q8SlNPYmplY3Q+KGV4ZWMs
ICIgLiBwcm90b3R5cGVIYXNoVGFibGVBY2Nlc3NvcigkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmli
dXRlcy0+eyJOb1N0YXRpY1RhYmxlcyJ9LCAkY2xhc3NOYW1lKSAuICIsIHRoaXMsIHByb3BlcnR5
TmFtZSwgc2xvdCk7XG4iKTsKICAgICAgICAgfSBlbHNpZiAoJG51bUZ1bmN0aW9ucyBlcSAwKSB7
Ci0gICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICByZXR1cm4gZ2V0U3RhdGljVmFs
dWVTbG90PCR7Y2xhc3NOYW1lfVByb3RvdHlwZSwgSlNPYmplY3Q+KGV4ZWMsICYke2NsYXNzTmFt
ZX1Qcm90b3R5cGVUYWJsZSwgdGhpcywgcHJvcGVydHlOYW1lLCBzbG90KTtcbiIpOworICAgICAg
ICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgcmV0dXJuIGdldFN0YXRpY1ZhbHVlU2xvdDwk
e2NsYXNzTmFtZX1Qcm90b3R5cGUsIEpTT2JqZWN0PihleGVjLCAiIC4gcHJvdG90eXBlSGFzaFRh
YmxlQWNjZXNzb3IoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiTm9TdGF0aWNUYWJs
ZXMifSwgJGNsYXNzTmFtZSkgLiAiLCB0aGlzLCBwcm9wZXJ0eU5hbWUsIHNsb3QpO1xuIik7CiAg
ICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICByZXR1
cm4gZ2V0U3RhdGljUHJvcGVydHlTbG90PCR7Y2xhc3NOYW1lfVByb3RvdHlwZSwgSlNPYmplY3Q+
KGV4ZWMsICYke2NsYXNzTmFtZX1Qcm90b3R5cGVUYWJsZSwgdGhpcywgcHJvcGVydHlOYW1lLCBz
bG90KTtcbiIpOworICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgcmV0dXJuIGdl
dFN0YXRpY1Byb3BlcnR5U2xvdDwke2NsYXNzTmFtZX1Qcm90b3R5cGUsIEpTT2JqZWN0PihleGVj
LCAiIC4gcHJvdG90eXBlSGFzaFRhYmxlQWNjZXNzb3IoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJp
YnV0ZXMtPnsiTm9TdGF0aWNUYWJsZXMifSwgJGNsYXNzTmFtZSkgLiAiLCB0aGlzLCBwcm9wZXJ0
eU5hbWUsIHNsb3QpO1xuIik7CiAgICAgICAgIH0KICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQs
ICJ9XG5cbiIpOwogICAgIH0KIAogICAgICMgLSBJbml0aWFsaXplIHN0YXRpYyBDbGFzc0luZm8g
b2JqZWN0CisgICAgaWYgKCRudW1BdHRyaWJ1dGVzID4gMCAmJiAkZGF0YU5vZGUtPmV4dGVuZGVk
QXR0cmlidXRlcy0+eyJOb1N0YXRpY1RhYmxlcyJ9KSB7CisgICAgICAgIHB1c2goQGltcGxDb250
ZW50LCAic3RhdGljIGNvbnN0IEhhc2hUYWJsZSogZ2V0JHtjbGFzc05hbWV9VGFibGUoRXhlY1N0
YXRlKiBleGVjKVxuIik7CisgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAie1xuIik7CisgICAg
ICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIHJldHVybiBnZXRIYXNoVGFibGVGb3JHbG9iYWxE
YXRhKGV4ZWMtPmdsb2JhbERhdGEoKSwgJiR7Y2xhc3NOYW1lfVRhYmxlKTtcbiIpOworICAgICAg
ICBwdXNoKEBpbXBsQ29udGVudCwgIn1cbiIpOworICAgIH0KICAgICBwdXNoKEBpbXBsQ29udGVu
dCwgImNvbnN0IENsYXNzSW5mbyAkY2xhc3NOYW1lIiAuICI6OnNfaW5mbyA9IHsgXCIke3Zpc2li
bGVDbGFzc05hbWV9XCIsICIpOwogICAgIGlmICgkaGFzUGFyZW50KSB7CiAgICAgICAgIHB1c2go
QGltcGxDb250ZW50LCAiJiIgLiAkcGFyZW50Q2xhc3NOYW1lIC4gIjo6c19pbmZvLCAiKTsKQEAg
LTg3OSwxMiArOTE2LDE2IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAgICAgIHB1
c2goQGltcGxDb250ZW50LCAiMCwgIik7CiAgICAgfQogCi0gICAgaWYgKCRudW1BdHRyaWJ1dGVz
ID4gMCkgewotICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiYke2NsYXNzTmFtZX1UYWJsZSAi
KTsKKyAgICBpZiAoJG51bUF0dHJpYnV0ZXMgPiAwICYmICEkZGF0YU5vZGUtPmV4dGVuZGVkQXR0
cmlidXRlcy0+eyJOb1N0YXRpY1RhYmxlcyJ9KSB7CisgICAgICAgIHB1c2goQGltcGxDb250ZW50
LCAiJiR7Y2xhc3NOYW1lfVRhYmxlIik7CisgICAgfSBlbHNlIHsKKyAgICAgICAgcHVzaChAaW1w
bENvbnRlbnQsICIwIik7CisgICAgfQorICAgIGlmICgkbnVtQXR0cmlidXRlcyA+IDAgJiYgJGRh
dGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiTm9TdGF0aWNUYWJsZXMifSkgeworICAgICAg
ICBwdXNoKEBpbXBsQ29udGVudCwgIiwgZ2V0JHtjbGFzc05hbWV9VGFibGUgIik7CiAgICAgfSBl
bHNlIHsKLSAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIwICIpOworICAgICAgICBwdXNoKEBp
bXBsQ29udGVudCwgIiwgMCAiKTsKICAgICB9Ci0gICAgcHVzaChAaW1wbENvbnRlbnQsICIsIDAg
Iik7CiAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ9O1xuXG4iKTsKIAogICAgICMgR2V0IGNvcnJl
Y3QgcGFzcy9zdG9yZSB0eXBlcyByZXNwZWN0aW5nIFBPRFR5cGUgZmxhZwpAQCAtMTExMSw3ICsx
MTUyLDcgQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAgICAgICAgICAgIH0KIAogICAg
ICAgICAgICAgaWYgKCRoYXNSZWFkV3JpdGVQcm9wZXJ0aWVzKSB7Ci0gICAgICAgICAgICAgICAg
cHVzaChAaW1wbENvbnRlbnQsICIgICAgbG9va3VwUHV0PCRjbGFzc05hbWUsIEJhc2U+KGV4ZWMs
IHByb3BlcnR5TmFtZSwgdmFsdWUsICYke2NsYXNzTmFtZX1UYWJsZSwgdGhpcywgc2xvdCk7XG4i
KTsKKyAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBsb29rdXBQdXQ8JGNs
YXNzTmFtZSwgQmFzZT4oZXhlYywgcHJvcGVydHlOYW1lLCB2YWx1ZSwgIiAuIGhhc2hUYWJsZUFj
Y2Vzc29yKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Ik5vU3RhdGljVGFibGVzIn0s
ICRjbGFzc05hbWUpIC4gIiwgdGhpcywgc2xvdCk7XG4iKTsKICAgICAgICAgICAgIH0gZWxzZSB7
CiAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgQmFzZTo6cHV0KGV4ZWMs
IHByb3BlcnR5TmFtZSwgdmFsdWUsIHNsb3QpO1xuIik7CiAgICAgICAgICAgICB9CkluZGV4OiBX
ZWJDb3JlL2RvbS9NZXNzYWdlQ2hhbm5lbC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20v
TWVzc2FnZUNoYW5uZWwuaWRsCShyZXZpc2lvbiAzNzc3MCkKKysrIFdlYkNvcmUvZG9tL01lc3Nh
Z2VDaGFubmVsLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNyBAQAogCiBtb2R1bGUg
ZXZlbnRzIHsKIAotICAgIGludGVyZmFjZSBbQ3VzdG9tTWFya0Z1bmN0aW9uXSBNZXNzYWdlQ2hh
bm5lbCB7CisgICAgaW50ZXJmYWNlIFtDdXN0b21NYXJrRnVuY3Rpb24sIE5vU3RhdGljVGFibGVz
XSBNZXNzYWdlQ2hhbm5lbCB7CiAKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE1lc3NhZ2VQ
b3J0IHBvcnQxOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgTWVzc2FnZVBvcnQgcG9ydDI7
CkluZGV4OiBXZWJDb3JlL2RvbS9NZXNzYWdlUG9ydC5pZGwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9kb20vTWVzc2FnZVBvcnQuaWRsCShyZXZpc2lvbiAzNzc3MCkKKysrIFdlYkNvcmUvZG9tL01l
c3NhZ2VQb3J0LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNyBAQAogCiBtb2R1bGUg
ZXZlbnRzIHsKIAotICAgIGludGVyZmFjZSBbQ3VzdG9tTWFya0Z1bmN0aW9uXSBNZXNzYWdlUG9y
dCB7CisgICAgaW50ZXJmYWNlIFtDdXN0b21NYXJrRnVuY3Rpb24sIE5vU3RhdGljVGFibGVzXSBN
ZXNzYWdlUG9ydCB7CiAvLyBXZSBuZWVkIHRvIGhhdmUgc29tZXRoaW5nIGFzIGFuIE9iakMgYmlu
ZGluZywgYmVjYXVzZSBNZXNzYWdlUG9ydCBpcyB1c2VkIGluIE1lc3NhZ2VFdmVudCwgd2hpY2gg
YWxyZWFkeSBoYXMgb25lLAogLy8gYnV0IHdlIGRvbid0IHdhbnQgdG8gYWN0dWFsbHkgZXhwb3Nl
IHRoZSBBUEkgd2hpbGUgaXQgaXMgaW4gZmx1eC4KICNpZiBkZWZpbmVkKExBTkdVQUdFX0pBVkFT
Q1JJUFQpCg==
</data>
<flag name="review"
          id="11193"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>