<?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>200995</bug_id>
          
          <creation_ts>2019-08-21 13:44:35 -0700</creation_ts>
          <short_desc>[WHLSL] Improve default constructor and emit fewer pointers in metal codegen</short_desc>
          <delta_ts>2019-08-21 20:03: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>WebGPU</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Saam Barati">saam</reporter>
          <assigned_to name="Saam Barati">saam</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>fpizlo</cc>
    
    <cc>jonlee</cc>
    
    <cc>justin_fan</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>rmorisset</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1563662</commentid>
    <comment_count>0</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-08-21 13:44:35 -0700</bug_when>
    <thetext>It&apos;s like an 8% speedup in metal compile time</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1563675</commentid>
    <comment_count>1</comment_count>
      <attachid>376919</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-08-21 14:05:53 -0700</bug_when>
    <thetext>Created attachment 376919
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1563890</commentid>
    <comment_count>2</comment_count>
      <attachid>376919</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-08-21 19:01:07 -0700</bug_when>
    <thetext>Comment on attachment 376919
patch

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

&gt; Source/WebCore/ChangeLog:12
&gt; +        4. Lazily produce lvalues for GlobalVariableReference.

I forgot to add a comment her on speedup. Will do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1563912</commentid>
    <comment_count>3</comment_count>
      <attachid>376919</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-08-21 19:55:38 -0700</bug_when>
    <thetext>Comment on attachment 376919
patch

Clearing flags on attachment: 376919

Committed r248994: &lt;https://trac.webkit.org/changeset/248994&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1563913</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-08-21 19:55:40 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1563914</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-08-21 19:56:20 -0700</bug_when>
    <thetext>&lt;rdar://problem/54583805&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1563917</commentid>
    <comment_count>6</comment_count>
      <attachid>376919</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-08-21 20:03:32 -0700</bug_when>
    <thetext>Comment on attachment 376919
patch

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

&gt;&gt; Source/WebCore/ChangeLog:12
&gt;&gt; +        4. Lazily produce lvalues for GlobalVariableReference.
&gt; 
&gt; I forgot to add a comment her on speedup. Will do.

This got committed by the commit queue. For posterity, I was seeing a 7-8% speedup in metal compile times with p=0.0001</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>376919</attachid>
            <date>2019-08-21 14:05:53 -0700</date>
            <delta_ts>2019-08-21 19:55:38 -0700</delta_ts>
            <desc>patch</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>7820</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0ODk2MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDE5LTA4LTIxICBTYWFtIEJh
cmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAgIFtXSExTTF0gSW1wcm92ZSBkZWZh
dWx0IGNvbnN0cnVjdG9yIGFuZCBlbWl0IGZld2VyIHBvaW50ZXJzIGluIG1ldGFsIGNvZGVnZW4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMDk5NQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0
Y2ggbWFrZXMgaXQgc28gdGhhdCB3ZToKKyAgICAgICAgMS4gRW1pdCBsZXNzIGNvZGUgZm9yIGNv
cHkgY29uc3RydWN0b3JzIGJ5IG9taXR0aW5nIGFuIHVudXNlZCB2YXJpYWJsZS4KKyAgICAgICAg
Mi4gRW1pdCB0ZXJuYXJ5IGV4cHJlc3Npb25zIGluc3RlYWQgb2YgaWYgc3RhdGVtZW50cyBmb3Ig
Y29uZGl0aW9uYWwgYXNzaWdubWVudHMuCisgICAgICAgIDMuIERvbid0IGNvcHkgcG9pbnRlcnMg
Zm9yIHByb2R1Y2luZyBhbiBsdmFsdWUgZnJvbSBEZXJlZmVyZW5jZUV4cHJlc3Npb24uCisgICAg
ICAgIDQuIExhemlseSBwcm9kdWNlIGx2YWx1ZXMgZm9yIEdsb2JhbFZhcmlhYmxlUmVmZXJlbmNl
LgorCisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xGdW5jdGlvbldy
aXRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6TWV0YWw6OkZ1bmN0aW9uRGVmaW5p
dGlvbldyaXRlcjo6dmlzaXQpOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFs
L1dITFNMTmF0aXZlRnVuY3Rpb25Xcml0ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6
Ok1ldGFsOjppbmxpbmVOYXRpdmVGdW5jdGlvbik6CisKIDIwMTktMDgtMjEgIFJ5b3N1a2UgTml3
YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUHV0IGtleWdlbiBlbGVtZW50IGJlaGlu
ZCBhIHJ1bnRpbWUgZmxhZyBhbmQgZGlzYWJsZSBpdCBieSBkZWZhdWx0CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTEZ1bmN0aW9uV3JpdGVyLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9NZXRh
bC9XSExTTEZ1bmN0aW9uV3JpdGVyLmNwcAkocmV2aXNpb24gMjQ4OTQyKQorKysgU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xGdW5jdGlvbldyaXRlci5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTUzNSwxMiArNTM1LDExIEBAIHZvaWQgRnVuY3Rpb25EZWZpbml0
aW9uV3JpdGVyOjp2aXNpdChBU1QKICAgICBtX3N0cmluZ0J1aWxkZXIuYXBwZW5kKAogICAgICAg
ICBtX2luZGVudCwgbWFuZ2xlZFR5cGVOYW1lLCAnICcsIHZhbHVlTmFtZSwgIiA9ICIsIHN0cnVj
dFZhcmlhYmxlLCAiLT4iLCBtYW5nbGVkRmllbGROYW1lLCAiO1xuIik7CiAKLSAgICBJbmRlbnRh
dGlvbjw0PiBpbmRlbnQgPSBtX2luZGVudDsKICAgICBhcHBlbmRMZWZ0VmFsdWUoZ2xvYmFsVmFy
aWFibGVSZWZlcmVuY2UsIHZhbHVlTmFtZSwgeyB9LCBOdWxsYWJpbGl0eTo6Tm90TnVsbCwKLSAg
ICAgICAgW3RoaXMsIG1hbmdsZWRUeXBlTmFtZSwgc3RydWN0VmFyaWFibGUsIG1hbmdsZWRGaWVs
ZE5hbWUsIGluZGVudF0geworICAgICAgICBbdGhpcywgbWFuZ2xlZFR5cGVOYW1lLCBzdHJ1Y3RW
YXJpYWJsZSwgbWFuZ2xlZEZpZWxkTmFtZV0gewogICAgICAgICAgICAgYXV0byBwb2ludGVyTmFt
ZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwogICAgICAgICAgICAgbV9zdHJpbmdCdWls
ZGVyLmFwcGVuZCgKLSAgICAgICAgICAgICAgICBpbmRlbnQsICJ0aHJlYWQgIiwgbWFuZ2xlZFR5
cGVOYW1lLCAiKiAiLCBwb2ludGVyTmFtZSwgIiA9ICYiLCBzdHJ1Y3RWYXJpYWJsZSwgIi0+Iiwg
bWFuZ2xlZEZpZWxkTmFtZSwgIjtcbiIpOworICAgICAgICAgICAgICAgIG1faW5kZW50LCAidGhy
ZWFkICIsIG1hbmdsZWRUeXBlTmFtZSwgIiogIiwgcG9pbnRlck5hbWUsICIgPSAmIiwgc3RydWN0
VmFyaWFibGUsICItPiIsIG1hbmdsZWRGaWVsZE5hbWUsICI7XG4iKTsKICAgICAgICAgICAgIHJl
dHVybiBwb2ludGVyTmFtZTsKICAgICAgICAgfSk7CiB9CkBAIC02NDksMjEgKzY0OCwxNSBAQCB2
b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUCiAgICAgY2hlY2tFcnJvckFu
ZFZpc2l0KGRlcmVmZXJlbmNlRXhwcmVzc2lvbi5wb2ludGVyKCkpOwogICAgIGF1dG8gW2lucHV0
UG9pbnRlciwgbnVsbGFiaWxpdHldID0gdGFrZUxhc3RWYWx1ZUFuZE51bGxhYmlsaXR5KCk7CiAg
ICAgYXV0byByZXN1bHRWYWx1ZSA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOwotICAgIGF1
dG8gcmVzdWx0UG9pbnRlciA9IGdlbmVyYXRlTmV4dFZhcmlhYmxlTmFtZSgpOworICAgIGF1dG8g
cmVzdWx0VHlwZSA9IG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShkZXJlZmVyZW5jZUV4
cHJlc3Npb24ucmVzb2x2ZWRUeXBlKCkpOwogCi0gICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgK
LSAgICAgICAgbV9pbmRlbnQsIG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShkZXJlZmVy
ZW5jZUV4cHJlc3Npb24ucG9pbnRlcigpLnJlc29sdmVkVHlwZSgpKSwgJyAnLCByZXN1bHRQb2lu
dGVyLCAiID0gIiwgaW5wdXRQb2ludGVyLCAiO1xuIiwKLSAgICAgICAgbV9pbmRlbnQsIG1fdHlw
ZU5hbWVyLm1hbmdsZWROYW1lRm9yVHlwZShkZXJlZmVyZW5jZUV4cHJlc3Npb24ucmVzb2x2ZWRU
eXBlKCkpLCAnICcsIHJlc3VsdFZhbHVlLCAiO1xuIik7CiAgICAgaWYgKG51bGxhYmlsaXR5ID09
IE51bGxhYmlsaXR5OjpDYW5CZU51bGwpIHsKICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVu
ZCgKLSAgICAgICAgICAgIG1faW5kZW50LCAiaWYgKCIsIHJlc3VsdFBvaW50ZXIsICIpXG4iLAot
ICAgICAgICAgICAgbV9pbmRlbnQsICIgICAgIiwgcmVzdWx0VmFsdWUsICIgPSAqIiwgcmVzdWx0
UG9pbnRlciwgIjtcbiIsCi0gICAgICAgICAgICBtX2luZGVudCwgImVsc2VcbiIsCi0gICAgICAg
ICAgICBtX2luZGVudCwgIiAgICAiLCByZXN1bHRWYWx1ZSwgIiA9IHsgfTtcbiIKLSAgICAgICAg
KTsKKyAgICAgICAgICAgIG1faW5kZW50LCByZXN1bHRUeXBlICwgJyAnLCByZXN1bHRWYWx1ZSwg
IiA9ICIsIGlucHV0UG9pbnRlciwgIiA/ICIsICcqJywgaW5wdXRQb2ludGVyLCAiIDogIiwgcmVz
dWx0VHlwZSwgInsgfTtcbiIpOwogICAgIH0gZWxzZQogICAgICAgICBtX3N0cmluZ0J1aWxkZXIu
YXBwZW5kKG1faW5kZW50LCByZXN1bHRWYWx1ZSwgIiA9ICoiLCBpbnB1dFBvaW50ZXIsICI7XG4i
KTsKLSAgICBhcHBlbmRMZWZ0VmFsdWUoZGVyZWZlcmVuY2VFeHByZXNzaW9uLCByZXN1bHRWYWx1
ZSwgcmVzdWx0UG9pbnRlciwgbnVsbGFiaWxpdHkpOworCisgICAgYXBwZW5kTGVmdFZhbHVlKGRl
cmVmZXJlbmNlRXhwcmVzc2lvbiwgcmVzdWx0VmFsdWUsIGlucHV0UG9pbnRlciwgbnVsbGFiaWxp
dHkpOwogfQogCiB2b2lkIEZ1bmN0aW9uRGVmaW5pdGlvbldyaXRlcjo6dmlzaXQoQVNUOjpMb2dp
Y2FsRXhwcmVzc2lvbiYgbG9naWNhbEV4cHJlc3Npb24pCkBAIC03MTEsMTIgKzcwNCw3IEBAIHZv
aWQgRnVuY3Rpb25EZWZpbml0aW9uV3JpdGVyOjp2aXNpdChBU1QKICAgICBpZiAoaXM8QVNUOjpQ
b2ludGVyVHlwZT4obWFrZUFycmF5UmVmZXJlbmNlRXhwcmVzc2lvbi5sZWZ0VmFsdWUoKS5yZXNv
bHZlZFR5cGUoKSkpIHsKICAgICAgICAgYXV0byBwdHJWYWx1ZSA9IHRha2VMYXN0VmFsdWUoKTsK
ICAgICAgICAgbV9zdHJpbmdCdWlsZGVyLmFwcGVuZCgKLSAgICAgICAgICAgIG1faW5kZW50LCBt
YW5nbGVkVHlwZU5hbWUsICcgJywgdmFyaWFibGVOYW1lLCAiO1xuIiwKLSAgICAgICAgICAgIG1f
aW5kZW50LCAiaWYgKCIsIHB0clZhbHVlLCAiKVxuIiwKLSAgICAgICAgICAgIG1faW5kZW50LCAi
ICAgICIsIHZhcmlhYmxlTmFtZSwgIiA9IHsgIiwgcHRyVmFsdWUsICIsIDF9O1xuIiwKLSAgICAg
ICAgICAgIG1faW5kZW50LCAiZWxzZVxuIiwKLSAgICAgICAgICAgIG1faW5kZW50LCAiICAgICIs
IHZhcmlhYmxlTmFtZSwgIiA9IHsgbnVsbHB0ciwgMCB9O1xuIgotICAgICAgICApOworICAgICAg
ICAgICAgbV9pbmRlbnQsIG1hbmdsZWRUeXBlTmFtZSwgJyAnLCB2YXJpYWJsZU5hbWUsICIgPSAi
LCBwdHJWYWx1ZSwgIiA/ICIsIG1hbmdsZWRUeXBlTmFtZSwgInsgIiwgcHRyVmFsdWUsICIsIDEg
fSA6ICIsIG1hbmdsZWRUeXBlTmFtZSwgInsgbnVsbHB0ciwgMCB9O1xuIik7CiAgICAgfSBlbHNl
IGlmIChpczxBU1Q6OkFycmF5VHlwZT4obWFrZUFycmF5UmVmZXJlbmNlRXhwcmVzc2lvbi5sZWZ0
VmFsdWUoKS5yZXNvbHZlZFR5cGUoKSkpIHsKICAgICAgICAgYXV0byBsVmFsdWUgPSB0YWtlTGFz
dExlZnRWYWx1ZSgpLnZhbHVlOwogICAgICAgICBhdXRvJiBhcnJheVR5cGUgPSBkb3duY2FzdDxB
U1Q6OkFycmF5VHlwZT4obWFrZUFycmF5UmVmZXJlbmNlRXhwcmVzc2lvbi5sZWZ0VmFsdWUoKS5y
ZXNvbHZlZFR5cGUoKSk7CkBAIC03NjUsMTEgKzc1MywxMCBAQCB2b2lkIEZ1bmN0aW9uRGVmaW5p
dGlvbldyaXRlcjo6dmlzaXQoQVNUCiAKICAgICBNYW5nbGVkVmFyaWFibGVOYW1lIHZhcmlhYmxl
TmFtZSA9IGl0ZXJhdG9yLT52YWx1ZTsKIAotICAgIEluZGVudGF0aW9uPDQ+IGluZGVudCA9IG1f
aW5kZW50OwogICAgIGFwcGVuZExlZnRWYWx1ZSh2YXJpYWJsZVJlZmVyZW5jZSwgdmFyaWFibGVO
YW1lLCB7IH0sIE51bGxhYmlsaXR5OjpOb3ROdWxsLAotICAgICAgICBbdGhpcywgJnZhcmlhYmxl
UmVmZXJlbmNlLCB2YXJpYWJsZU5hbWUsIGluZGVudF0geworICAgICAgICBbdGhpcywgJnZhcmlh
YmxlUmVmZXJlbmNlLCB2YXJpYWJsZU5hbWVdIHsKICAgICAgICAgICAgIGF1dG8gcG9pbnRlck5h
bWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKLSAgICAgICAgICAgIG1fc3RyaW5nQnVp
bGRlci5hcHBlbmQoaW5kZW50LCAidGhyZWFkICIsIG1fdHlwZU5hbWVyLm1hbmdsZWROYW1lRm9y
VHlwZSh2YXJpYWJsZVJlZmVyZW5jZS5yZXNvbHZlZFR5cGUoKSksICIqICIsIHBvaW50ZXJOYW1l
LCAiID0gJiIsIHZhcmlhYmxlTmFtZSwgIjtcbiIpOworICAgICAgICAgICAgbV9zdHJpbmdCdWls
ZGVyLmFwcGVuZChtX2luZGVudCwgInRocmVhZCAiLCBtX3R5cGVOYW1lci5tYW5nbGVkTmFtZUZv
clR5cGUodmFyaWFibGVSZWZlcmVuY2UucmVzb2x2ZWRUeXBlKCkpLCAiKiAiLCBwb2ludGVyTmFt
ZSwgIiA9ICYiLCB2YXJpYWJsZU5hbWUsICI7XG4iKTsKICAgICAgICAgICAgIHJldHVybiBwb2lu
dGVyTmFtZTsKICAgICAgICAgfSk7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmdwdS9XSExTTC9NZXRhbC9XSExTTE5hdGl2ZUZ1bmN0aW9uV3JpdGVyLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTE5hdGl2
ZUZ1bmN0aW9uV3JpdGVyLmNwcAkocmV2aXNpb24gMjQ4OTQyKQorKysgU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xOYXRpdmVGdW5jdGlvbldyaXRlci5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTE0NiwxNSArMTQ2LDE0IEBAIHZvaWQgaW5saW5lTmF0aXZlRnVu
Y3Rpb24oU3RyaW5nQnVpbGRlciYKICAgICAgICAgaWYgKG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRp
b24ucGFyYW1ldGVycygpLnNpemUoKSA9PSAxKSB7CiAgICAgICAgICAgICBhdXRvJiBwYXJhbWV0
ZXJUeXBlID0gKm5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24ucGFyYW1ldGVycygpWzBdLT50eXBl
KCk7CiAgICAgICAgICAgICBhdXRvIG1ldGFsUGFyYW1ldGVyVHlwZU5hbWUgPSB0eXBlTmFtZXIu
bWFuZ2xlZE5hbWVGb3JUeXBlKHBhcmFtZXRlclR5cGUpOwotICAgICAgICAgICAgYXV0byB2YXJp
YWJsZU5hbWUgPSBnZW5lcmF0ZU5leHRWYXJpYWJsZU5hbWUoKTsKLQotICAgICAgICAgICAgc3Ry
aW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCBtZXRhbFBhcmFtZXRlclR5cGVOYW1lLCAnICcsIHZh
cmlhYmxlTmFtZSwgIiA9ICIsIGFyZ3NbMF0sICI7XG4iKTsKIAogICAgICAgICAgICAgYXV0byBp
c0VudW1lcmF0aW9uRGVmaW5pdGlvbiA9IFtdIChhdXRvJiB0eXBlKSB7CiAgICAgICAgICAgICAg
ICAgcmV0dXJuIGlzPEFTVDo6TmFtZWRUeXBlPih0eXBlKSAmJiBpczxBU1Q6OkVudW1lcmF0aW9u
RGVmaW5pdGlvbj4oZG93bmNhc3Q8QVNUOjpOYW1lZFR5cGU+KHR5cGUpKTsKICAgICAgICAgICAg
IH07CiAgICAgICAgICAgICBhdXRvJiB1bmlmaWVkUmV0dXJuVHlwZSA9IHJldHVyblR5cGUudW5p
ZnlOb2RlKCk7CiAgICAgICAgICAgICBpZiAoaXNFbnVtZXJhdGlvbkRlZmluaXRpb24odW5pZmll
ZFJldHVyblR5cGUpICYmICFpc0VudW1lcmF0aW9uRGVmaW5pdGlvbihwYXJhbWV0ZXJUeXBlLnVu
aWZ5Tm9kZSgpKSkgeworICAgICAgICAgICAgICAgIGF1dG8gdmFyaWFibGVOYW1lID0gZ2VuZXJh
dGVOZXh0VmFyaWFibGVOYW1lKCk7CisgICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBl
bmQoaW5kZW50LCBtZXRhbFBhcmFtZXRlclR5cGVOYW1lLCAnICcsIHZhcmlhYmxlTmFtZSwgIiA9
ICIsIGFyZ3NbMF0sICI7XG4iKTsKICAgICAgICAgICAgICAgICBhdXRvJiBlbnVtZXJhdGlvbkRl
ZmluaXRpb24gPSBkb3duY2FzdDxBU1Q6OkVudW1lcmF0aW9uRGVmaW5pdGlvbj4oZG93bmNhc3Q8
QVNUOjpOYW1lZFR5cGU+KHVuaWZpZWRSZXR1cm5UeXBlKSk7CiAgICAgICAgICAgICAgICAgc3Ry
aW5nQnVpbGRlci5hcHBlbmQoaW5kZW50LCAic3dpdGNoICgiLCB2YXJpYWJsZU5hbWUsICIpIHtc
biIpOwogICAgICAgICAgICAgICAgIHsKQEAgLTE3Myw5ICsxNzIsMTAgQEAgdm9pZCBpbmxpbmVO
YXRpdmVGdW5jdGlvbihTdHJpbmdCdWlsZGVyJgogICAgICAgICAgICAgICAgICAgICAgICAgaW5k
ZW50LCAiICAgIGJyZWFrO1xuIiwKICAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudCwgIn1c
biIpOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBz
dHJpbmdCdWlsZGVyLmFwcGVuZChpbmRlbnQsIHJldHVybk5hbWUsICIgPSBzdGF0aWNfY2FzdDwi
LCBtZXRhbFJldHVyblR5cGVOYW1lLCAiPigiLCB2YXJpYWJsZU5hbWUsICIpO1xuIik7CisgICAg
ICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChpbmRl
bnQsIHJldHVybk5hbWUsICIgPSBzdGF0aWNfY2FzdDwiLCBtZXRhbFJldHVyblR5cGVOYW1lLCAi
PigiLCBhcmdzWzBdLCAiKTtcbiIpOwogCi0gICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVu
ZChpbmRlbnQsIHJldHVybk5hbWUsICIgPSBzdGF0aWNfY2FzdDwiLCBtZXRhbFJldHVyblR5cGVO
YW1lLCAiPigiLCB2YXJpYWJsZU5hbWUsICIpO1xuIik7CiAgICAgICAgICAgICByZXR1cm47CiAg
ICAgICAgIH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>