<?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>157463</bug_id>
          
          <creation_ts>2016-05-08 08:35:52 -0700</creation_ts>
          <short_desc>Correct dictionary bindings handling of optional, null, and undefined</short_desc>
          <delta_ts>2016-05-08 09:53:26 -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>Bindings</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>157457</blocked>
    
    <blocked>157459</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>achristensen</cc>
    
    <cc>cdumez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1191053</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-05-08 08:35:52 -0700</bug_when>
    <thetext>Correct dictionary bindings handling of optional, null, and undefined</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1191054</commentid>
    <comment_count>1</comment_count>
      <attachid>278362</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-05-08 08:42:58 -0700</bug_when>
    <thetext>Created attachment 278362
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1191055</commentid>
    <comment_count>2</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-05-08 08:44:11 -0700</bug_when>
    <thetext>Chris, here is that change you requested. We now match the latest Web IDL rather than the older draft for handling of null, undefined, non-objects, and regular expressions converted to dictionaries, and we understand that special rule about optional dictionaries too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1191057</commentid>
    <comment_count>3</comment_count>
      <attachid>278362</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-05-08 09:52:06 -0700</bug_when>
    <thetext>Comment on attachment 278362
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1191058</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-05-08 09:53:26 -0700</bug_when>
    <thetext>Committed r200555: &lt;http://trac.webkit.org/changeset/200555&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>278362</attachid>
            <date>2016-05-08 08:42:58 -0700</date>
            <delta_ts>2016-05-08 09:52:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-157463-20160508084342.patch</filename>
            <type>text/plain</type>
            <size>31788</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAwNTUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWFhODc0MzhiMDA5Mjc2
YzU2YWJlODJkZWNkZWVjOGMyNDRiN2I4ZC4uZTEwYjU3Zjk5ODg0NTMwOTM1OTI2MDMyMjAzNzZk
MzVhMTIxYTliOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM4IEBACiAyMDE2LTA1LTA4ICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAorICAgICAgICBDb3JyZWN0IGRpY3Rpb25hcnkg
YmluZGluZ3MgaGFuZGxpbmcgb2Ygb3B0aW9uYWwsIG51bGwsIGFuZCB1bmRlZmluZWQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NzQ2MworCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogYmluZGluZ3MvanMv
SlNET01CaW5kaW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnByb3BlcnR5VmFsdWUpOiBEZWxl
dGVkLgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5oOiBEZWxldGVkIHByb3Bl
cnR5VmFsdWUsIG5vdCBhbGwgdGhhdCBoZWxwZnVsIGZvciBub3cuCisKKyAgICAgICAgKiBiaW5k
aW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKEdlbmVyYXRlRGljdGlv
bmFyeUltcGxlbWVudGF0aW9uQ29udGVudCk6IEFkZGVkIGEgbmV3IGVhcmx5IGV4aXQgZm9yIGNv
bnZlcnQgdG8KKyAgICAgICAgYSBkaWN0aW9uYXJ5IHR5cGUgd2hlbiB0aGUgdmFsdWUgaXMgdW5k
ZWZpbmVkIG9yIG51bGwgYW5kIGFsbCBtZW1iZXJzIGFyZSBlaXRoZXIKKyAgICAgICAgb3B0aW9u
YWwgb3IgaGF2ZSBhIGRlZmF1bHQgdmFsdWUuIFRoaXMgcmV0dXJucyB0aGUgZGVmYXVsdCB2YWx1
ZXMgZm9yIGV2ZXJ5dGhpbmcKKyAgICAgICAgd2l0aG91dCByYWlzaW5nIGFuIGV4Y2VwdGlvbi4g
QWRkZWQgY2hlY2tpbmcgdGhhdCByZXF1aXJlcyB0aGF0IHRoZSBkaWN0aW9uYXJ5CisgICAgICAg
IGFyZ3VtZW50IGlzIGFuIG9iamVjdCBhbmQgbm90IGEgcmVndWxhciBleHByZXNzaW9uLCBzaW5j
ZSB0aGF0J3MgYWxzbyBjYWxsZWQgZm9yCisgICAgICAgIGluIHRoZSBsYXRlc3QgZHJhZnQgb2Yg
dGhlIFdlYiBJREwgc3BlY2lmaWNhdGlvbi4gVGhpcyBlbmRzIHVwIHNwZWVkaW5nIHVwIHRoZQor
ICAgICAgICBjb2RlIGEgYml0IHNpbmNlIHdlIG5vdyB1c2UgSlNPYmplY3Q6OmdldCBmb3IgcHJv
cGVydGllcyBpbnN0ZWFkIG9mIEpTVmFsdWU6OmdldC4KKyAgICAgICAgKEdlbmVyYXRlUGFyYW1l
dGVyc0NoZWNrKTogUmVuYW1lZCBzb21lIGxvY2FsIHZhcmlhYmxlcy4gVGF1Z2h0IHRoZSBjb2Rl
IHRoYXQKKyAgICAgICAgb3B0aW9uYWwgZGljdGlvbmFyaWVzIGFsbCBoYXZlIGEgZGVmYXVsdCB2
YWx1ZTsgYmVmb3JlIGl0IHdhcyBkb2luZyB0aGF0IGZvciB0aGUKKyAgICAgICAgdHlwZSAiRGlj
dGlvbmFyeSIgYnV0IG5vdCB0aGUgcmVhbCBkaWN0aW9uYXJ5IHR5cGVzIChJc0RpY3Rpb25hcnlU
eXBlKS4KKworICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3Bw
OiBSZWdlbmVyYXRlZC4KKworICAgICAgICAqIGNzcy9Gb250RmFjZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpGb250RmFjZTo6Y3JlYXRlKTogQ2hhbmdlZCBhcmd1bWVudCB0byBiZSBEZXNjcmlw
dG9ycyBpbnN0ZWFkIG9mCisgICAgICAgIE9wdGlvbmFsPERlc2NyaXB0b3JzPi4gSXQgd291bGQg
aGF2ZSBjb21waWxlZCB0aGUgb3RoZXIgd2F5LCBidXQgdGhlcmUgaXMgbm93CisgICAgICAgIG5v
IGNhbGxlciB0aGF0IHdpbGwgcGFzcyBhIG51bGwuIEJlY2F1c2UgdGhlIElETCBkaWN0aW9uYXJ5
IHN1cHBvcnQgd2FzIG5ldywKKyAgICAgICAgdGhpcyB3YXMgdGhlIG9ubHkgcGxhY2UgdGhhdCB3
YXMgZG9pbmcgaXQgd3JvbmcuIEdvb2QgdGhhdCB3ZSAibmlwcGVkIGl0IGluIHRoZSBidWQiCisg
ICAgICAgIGJlZm9yZSBkb2luZyB0aGlzIGluIG1vcmUgcGxhY2VzLgorICAgICAgICAqIGNzcy9G
b250RmFjZS5oOiBEaXR0by4KKworMjAxNi0wNS0wOCAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBs
ZS5jb20+CisKICAgICAgICAgVHJ5IHRvIGZpeCBidWlsZCB3aXRob3V0IHJvbGxpbmcgb3V0IHRo
YXQgbGFzdCBjaGFuZ2UuCiAKICAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTUNvbnZlcnQuaDoK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuY3BwCmluZGV4IDI3NDIw
YmNlNWMyZmRlZDllNDhmODViOTA3OTIwMTA2NzAwNWI0N2MuLjQ3ZWM0M2IzMjhlODIyM2E5ZWFi
ZDkwMTI3MDM2ZWU0YzkyODkyZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NQmluZGluZy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNE
T01CaW5kaW5nLmNwcApAQCAtODQwLDkgKzg0MCw0IEBAIENhbGxUeXBlIERPTUNvbnN0cnVjdG9y
T2JqZWN0OjpnZXRDYWxsRGF0YShKU0NlbGwqLCBDYWxsRGF0YSYgY2FsbERhdGEpCiAgICAgcmV0
dXJuIENhbGxUeXBlOjpIb3N0OwogfQogCi1KU1ZhbHVlIHByb3BlcnR5VmFsdWUoRXhlY1N0YXRl
JiBzdGF0ZSwgSlNWYWx1ZSB2YWx1ZSwgY29uc3QgY2hhciogcHJvcGVydHlOYW1lKQotewotICAg
IHJldHVybiB2YWx1ZS5nZXQoJnN0YXRlLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZzdGF0ZSwg
cHJvcGVydHlOYW1lKSk7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5oIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmgKaW5kZXggMzM5YjZhNTZjYmNlY2E0YjA0ZGRj
YTUzNmRlNmQ4Zjk5MjBjMjZmZi4uZDIyZmFjYjg3Nzc5ZmZhNThiYmM4NjBiNjJkNzVlNGRjYzUw
ZGYyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5n
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmgKQEAgLTI5
OCw4ICsyOTgsNiBAQCBBdG9taWNTdHJpbmcgcHJvcGVydHlOYW1lVG9BdG9taWNTdHJpbmcoSlND
OjpQcm9wZXJ0eU5hbWUpOwogdGVtcGxhdGU8dHlwZW5hbWUgRE9NQ2xhc3M+IGNvbnN0IEpTQzo6
SGFzaFRhYmxlVmFsdWUqIGdldFN0YXRpY1ZhbHVlU2xvdEVudHJ5V2l0aG91dENhY2hpbmcoSlND
OjpFeGVjU3RhdGUqLCBKU0M6OlByb3BlcnR5TmFtZSk7CiB0ZW1wbGF0ZTxKU0M6Ok5hdGl2ZUZ1
bmN0aW9uLCBpbnQgbGVuZ3RoPiBKU0M6OkVuY29kZWRKU1ZhbHVlIG5vbkNhY2hpbmdTdGF0aWNG
dW5jdGlvbkdldHRlcihKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6RW5jb2RlZEpTVmFsdWUsIEpTQzo6
UHJvcGVydHlOYW1lKTsKIAotSlNDOjpKU1ZhbHVlIHByb3BlcnR5VmFsdWUoSlNDOjpFeGVjU3Rh
dGUmLCBKU0M6OkpTVmFsdWUsIGNvbnN0IGNoYXIqIHByb3BlcnR5TmFtZSk7Ci0KIC8vIElubGlu
ZSBmdW5jdGlvbnMgYW5kIHRlbXBsYXRlIGRlZmluaXRpb25zLgogCiBpbmxpbmUgSlNDOjpTdHJ1
Y3R1cmUqIERPTUNvbnN0cnVjdG9yT2JqZWN0OjpjcmVhdGVTdHJ1Y3R1cmUoSlNDOjpWTSYgdm0s
IEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpKU1ZhbHVlIHByb3RvdHlw
ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvckpTLnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9y
SlMucG0KaW5kZXggNDJlMzNjYzhkNDMwNzExMWNiOTE0ZDUxMzhiMmE2ZTVkNTRmMmRmMy4uZDBh
MzUyNTExMjlhNjdhY2FjYmZkNGEwMTQ4ZGRkNDJhNWEwMmQxYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KQEAgLTk1OCw4ICs5
NTgsMjcgQEAgc3ViIEdlbmVyYXRlRGljdGlvbmFyeUltcGxlbWVudGF0aW9uQ29udGVudAogICAg
ICAgICAjIEZJWE1FOiBBIGxpdHRsZSB1Z2x5IHRvIGhhdmUgdGhpcyBiZSBhIHNpZGUgZWZmZWN0
IGluc3RlYWQgb2YgYSByZXR1cm4gdmFsdWUuCiAgICAgICAgIEFkZFRvSW1wbEluY2x1ZGVzKCJK
U0RPTUNvbnZlcnQuaCIpOwogCisgICAgICAgIG15ICRkZWZhdWx0VmFsdWVzID0gIiI7CisgICAg
ICAgIG15ICRjb21tYSA9ICIiOworICAgICAgICBmb3JlYWNoIG15ICRtZW1iZXIgKEB7JGRpY3Rp
b25hcnktPm1lbWJlcnN9KSB7CisgICAgICAgICAgICBpZiAoISRtZW1iZXItPmlzT3B0aW9uYWwp
IHsKKyAgICAgICAgICAgICAgICAkZGVmYXVsdFZhbHVlcyA9ICIiOworICAgICAgICAgICAgICAg
IGxhc3Q7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAkZGVmYXVsdFZhbHVlcyAuPSAkY29t
bWEgLiAoZGVmaW5lZCAkbWVtYmVyLT5kZWZhdWx0ID8gJG1lbWJlci0+ZGVmYXVsdCA6ICJOdWxs
b3B0Iik7CisgICAgICAgICAgICAkY29tbWEgPSAiLCAiOworICAgICAgICB9CisKICAgICAgICAg
JHJlc3VsdCAuPSAidGVtcGxhdGU8PiAkY2xhc3NOYW1lIGNvbnZlcnQ8JGNsYXNzTmFtZT4oRXhl
Y1N0YXRlJiBzdGF0ZSwgSlNWYWx1ZSB2YWx1ZSlcbiI7CiAgICAgICAgICRyZXN1bHQgLj0gIntc
biI7CisgICAgICAgICRyZXN1bHQgLj0gIiAgICBpZiAodmFsdWUuaXNVbmRlZmluZWRPck51bGwo
KSlcbiIgaWYgJGRlZmF1bHRWYWx1ZXM7CisgICAgICAgICRyZXN1bHQgLj0gIiAgICAgICAgcmV0
dXJuIHsgIiAuICRkZWZhdWx0VmFsdWVzIC4gIiB9O1xuIiBpZiAkZGVmYXVsdFZhbHVlczsKKyAg
ICAgICAgJHJlc3VsdCAuPSAiICAgIGF1dG8qIG9iamVjdCA9IHZhbHVlLmdldE9iamVjdCgpO1xu
IjsKKyAgICAgICAgJHJlc3VsdCAuPSAiICAgIGlmIChVTkxJS0VMWSghb2JqZWN0IHx8IG9iamVj
dC0+dHlwZSgpID09IFJlZ0V4cE9iamVjdFR5cGUpKSB7XG4iOworICAgICAgICAkcmVzdWx0IC49
ICIgICAgICAgIHRocm93VHlwZUVycm9yKCZzdGF0ZSk7XG4iOworICAgICAgICAkcmVzdWx0IC49
ICIgICAgICAgIHJldHVybiB7IH07XG4iOworICAgICAgICAkcmVzdWx0IC49ICIgICAgfVxuIjsK
KwogICAgICAgICBteSAkbmVlZEV4Y2VwdGlvbkNoZWNrID0gMDsKICAgICAgICAgZm9yZWFjaCBt
eSAkbWVtYmVyIChAeyRkaWN0aW9uYXJ5LT5tZW1iZXJzfSkgewogICAgICAgICAgICAgaWYgKCRu
ZWVkRXhjZXB0aW9uQ2hlY2spIHsKQEAgLTk3MCwxNiArOTg5LDE4IEBAIHN1YiBHZW5lcmF0ZURp
Y3Rpb25hcnlJbXBsZW1lbnRhdGlvbkNvbnRlbnQKICAgICAgICAgICAgIG15ICRmdW5jdGlvbiA9
ICRtZW1iZXItPmlzT3B0aW9uYWwgPyAiY29udmVydE9wdGlvbmFsIiA6ICJjb252ZXJ0IjsKICAg
ICAgICAgICAgIG15ICRkZWZhdWx0VmFsdWVXaXRoTGVhZGluZ0NvbW1hID0gJG1lbWJlci0+aXNP
cHRpb25hbCAmJiBkZWZpbmVkICRtZW1iZXItPmRlZmF1bHQgPyAiLCAiIC4gJG1lbWJlci0+ZGVm
YXVsdCA6ICIiOwogICAgICAgICAgICAgJHJlc3VsdCAuPSAiICAgIGF1dG8gIiAuICRtZW1iZXIt
Pm5hbWUgLiAiID0gIiAuICRmdW5jdGlvbiAuICI8IiAuIEdldE5hdGl2ZVR5cGVGcm9tU2lnbmF0
dXJlKCRpbnRlcmZhY2UsICRtZW1iZXIpIC4gIj4iCi0gICAgICAgICAgICAgICAgLiAiKHN0YXRl
LCBwcm9wZXJ0eVZhbHVlKHN0YXRlLCB2YWx1ZSwgXCIiIC4gJG1lbWJlci0+bmFtZSAuICJcIiki
IC4gJGRlZmF1bHRWYWx1ZVdpdGhMZWFkaW5nQ29tbWEgLiAiKTtcbiI7CisgICAgICAgICAgICAg
ICAgLiAiKHN0YXRlLCBvYmplY3QtPmdldCgmc3RhdGUsIElkZW50aWZpZXI6OmZyb21TdHJpbmco
JnN0YXRlLCBcIiIgLiAkbWVtYmVyLT5uYW1lIC4gIlwiKSkiIC4gJGRlZmF1bHRWYWx1ZVdpdGhM
ZWFkaW5nQ29tbWEgLiAiKTtcbiI7CiAgICAgICAgICAgICAkbmVlZEV4Y2VwdGlvbkNoZWNrID0g
MTsKICAgICAgICAgfQotICAgICAgICAkcmVzdWx0IC49ICIgICAgcmV0dXJuIHsgIjsKLSAgICAg
ICAgbXkgJGNvbW1hID0gIiI7CisKKyAgICAgICAgbXkgJGFyZ3VtZW50cyA9ICIiOworICAgICAg
ICAkY29tbWEgPSAiIjsKICAgICAgICAgZm9yZWFjaCBteSAkbWVtYmVyIChAeyRkaWN0aW9uYXJ5
LT5tZW1iZXJzfSkgewotICAgICAgICAgICAgJHJlc3VsdCAuPSAkY29tbWEgLiAiV1RGTW92ZSgi
IC4gJG1lbWJlci0+bmFtZSAuICIpIjsKKyAgICAgICAgICAgICRhcmd1bWVudHMgLj0gJGNvbW1h
IC4gIldURk1vdmUoIiAuICRtZW1iZXItPm5hbWUgLiAiKSI7CiAgICAgICAgICAgICAkY29tbWEg
PSAiLCAiOwogICAgICAgICB9Ci0gICAgICAgICRyZXN1bHQgLj0gIiB9O1xuIjsKKworICAgICAg
ICAkcmVzdWx0IC49ICIgICAgcmV0dXJuIHsgIiAuICRhcmd1bWVudHMgLiAiIH07XG4iOwogICAg
ICAgICAkcmVzdWx0IC49ICJ9XG5cbiI7CiAKICAgICAgICAgJHJlc3VsdCAuPSAiI2VuZGlmXG5c
biIgaWYgJGNvbmRpdGlvbmFsU3RyaW5nOwpAQCAtMzU5Miw5MCArMzYxMyw5MCBAQCBzdWIgR2Vu
ZXJhdGVQYXJhbWV0ZXJzQ2hlY2sKICAgICAkaW1wbEluY2x1ZGVzeyJFeGNlcHRpb25Db2RlLmgi
fSA9IDE7CiAgICAgJGltcGxJbmNsdWRlc3siSlNET01CaW5kaW5nLmgifSA9IDE7CiAKLSAgICBt
eSAkYXJnc0luZGV4ID0gMDsKKyAgICBteSAkYXJndW1lbnRJbmRleCA9IDA7CiAgICAgZm9yZWFj
aCBteSAkcGFyYW1ldGVyIChAeyRmdW5jdGlvbi0+cGFyYW1ldGVyc30pIHsKLSAgICAgICAgbXkg
JGFyZ1R5cGUgPSAkcGFyYW1ldGVyLT50eXBlOworICAgICAgICBteSAkdHlwZSA9ICRwYXJhbWV0
ZXItPnR5cGU7CiAKLSAgICAgICAgZGllICJPcHRpb25hbCBwYXJhbWV0ZXJzIG9mIG5vbi1udWxs
YWJsZSB3cmFwcGVyIHR5cGVzIGFyZSBub3Qgc3VwcG9ydGVkIiBpZiAkcGFyYW1ldGVyLT5pc09w
dGlvbmFsICYmICEkcGFyYW1ldGVyLT5pc051bGxhYmxlICYmICRjb2RlR2VuZXJhdG9yLT5Jc1dy
YXBwZXJUeXBlKCRhcmdUeXBlKTsKKyAgICAgICAgZGllICJPcHRpb25hbCBwYXJhbWV0ZXJzIG9m
IG5vbi1udWxsYWJsZSB3cmFwcGVyIHR5cGVzIGFyZSBub3Qgc3VwcG9ydGVkIiBpZiAkcGFyYW1l
dGVyLT5pc09wdGlvbmFsICYmICEkcGFyYW1ldGVyLT5pc051bGxhYmxlICYmICRjb2RlR2VuZXJh
dG9yLT5Jc1dyYXBwZXJUeXBlKCR0eXBlKTsKIAogICAgICAgICBpZiAoJHBhcmFtZXRlci0+aXNP
cHRpb25hbCAmJiAhZGVmaW5lZCgkcGFyYW1ldGVyLT5kZWZhdWx0KSkgewogICAgICAgICAgICAg
IyBBcyBwZXIgV2ViIElETCwgb3B0aW9uYWwgZGljdGlvbmFyeSBwYXJhbWV0ZXJzIGFyZSBhbHdh
eXMgY29uc2lkZXJlZCB0byBoYXZlIGEgZGVmYXVsdCB2YWx1ZSBvZiBhbiBlbXB0eSBkaWN0aW9u
YXJ5LCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZC4KLSAgICAgICAgICAgICRwYXJhbWV0ZXIt
PmRlZmF1bHQoIltdIikgaWYgJGFyZ1R5cGUgZXEgIkRpY3Rpb25hcnkiOwotICAgICAgICAgICAg
CisgICAgICAgICAgICAkcGFyYW1ldGVyLT5kZWZhdWx0KCJbXSIpIGlmICR0eXBlIGVxICJEaWN0
aW9uYXJ5IiBvciAkY29kZUdlbmVyYXRvci0+SXNEaWN0aW9uYXJ5VHlwZSgkdHlwZSk7CisKICAg
ICAgICAgICAgICMgV2UgdXNlIHVuZGVmaW5lZCBhcyBkZWZhdWx0IHZhbHVlIGZvciBvcHRpb25h
bCBwYXJhbWV0ZXJzIG9mIHR5cGUgJ2FueScgdW5sZXNzIHNwZWNpZmllZCBvdGhlcndpc2UuCi0g
ICAgICAgICAgICAkcGFyYW1ldGVyLT5kZWZhdWx0KCJ1bmRlZmluZWQiKSBpZiAkYXJnVHlwZSBl
cSAiYW55IjsKKyAgICAgICAgICAgICRwYXJhbWV0ZXItPmRlZmF1bHQoInVuZGVmaW5lZCIpIGlm
ICR0eXBlIGVxICJhbnkiOwogCiAgICAgICAgICAgICAjIFdlIHVzZSB0aGUgbnVsbCBzdHJpbmcg
YXMgZGVmYXVsdCB2YWx1ZSBmb3IgcGFyYW1ldGVycyBvZiB0eXBlIERPTVN0cmluZyB1bmxlc3Mg
c3BlY2lmaWVkIG90aGVyd2lzZS4KLSAgICAgICAgICAgICRwYXJhbWV0ZXItPmRlZmF1bHQoIm51
bGwiKSBpZiAkYXJnVHlwZSBlcSAiRE9NU3RyaW5nIjsKKyAgICAgICAgICAgICRwYXJhbWV0ZXIt
PmRlZmF1bHQoIm51bGwiKSBpZiAkdHlwZSBlcSAiRE9NU3RyaW5nIjsKIAogICAgICAgICAgICAg
IyBBcyBwZXIgV2ViIElETCwgcGFzc2luZyB1bmRlZmluZWQgZm9yIGEgbnVsbGFibGUgcGFyYW1l
dGVyIGlzIHRyZWF0ZWQgYXMgbnVsbC4gVGhlcmVmb3JlLCB1c2UgbnVsbCBhcwogICAgICAgICAg
ICAgIyBkZWZhdWx0IHZhbHVlIGZvciBudWxsYWJsZSBwYXJhbWV0ZXJzIHVubGVzcyBvdGhlcndp
c2Ugc3BlY2lmaWVkLgogICAgICAgICAgICAgJHBhcmFtZXRlci0+ZGVmYXVsdCgibnVsbCIpIGlm
ICRwYXJhbWV0ZXItPmlzTnVsbGFibGU7CiAKICAgICAgICAgICAgICMgRm9yIGNhbGxiYWNrIHBh
cmFtZXRlcnMsIHRoZSBnZW5lcmF0ZWQgYmluZGluZ3MgdHJlYXQgdW5kZWZpbmVkIGFzIG51bGws
IHNvIHVzZSBudWxsIGFzIGltcGxpY2l0IGRlZmF1bHQgdmFsdWUuCi0gICAgICAgICAgICAkcGFy
YW1ldGVyLT5kZWZhdWx0KCJudWxsIikgaWYgJGNvZGVHZW5lcmF0b3ItPklzQ2FsbGJhY2tJbnRl
cmZhY2UoJGFyZ1R5cGUpOworICAgICAgICAgICAgJHBhcmFtZXRlci0+ZGVmYXVsdCgibnVsbCIp
IGlmICRjb2RlR2VuZXJhdG9yLT5Jc0NhbGxiYWNrSW50ZXJmYWNlKCR0eXBlKTsKICAgICAgICAg
fQogCiAgICAgICAgIG15ICRuYW1lID0gJHBhcmFtZXRlci0+bmFtZTsKICAgICAgICAgbXkgJHZh
bHVlID0gJG5hbWU7CiAKLSAgICAgICAgaWYgKCRjb2RlR2VuZXJhdG9yLT5Jc0NhbGxiYWNrSW50
ZXJmYWNlKCRhcmdUeXBlKSkgewotICAgICAgICAgICAgbXkgJGNhbGxiYWNrQ2xhc3NOYW1lID0g
R2V0Q2FsbGJhY2tDbGFzc05hbWUoJGFyZ1R5cGUpOworICAgICAgICBpZiAoJGNvZGVHZW5lcmF0
b3ItPklzQ2FsbGJhY2tJbnRlcmZhY2UoJHR5cGUpKSB7CisgICAgICAgICAgICBteSAkY2FsbGJh
Y2tDbGFzc05hbWUgPSBHZXRDYWxsYmFja0NsYXNzTmFtZSgkdHlwZSk7CiAgICAgICAgICAgICAk
aW1wbEluY2x1ZGVzeyIkY2FsbGJhY2tDbGFzc05hbWUuaCJ9ID0gMTsKICAgICAgICAgICAgIGlm
ICgkcGFyYW1ldGVyLT5pc09wdGlvbmFsKSB7Ci0gICAgICAgICAgICAgICAgcHVzaChAJG91dHB1
dEFycmF5LCAiICAgIFJlZlB0cjwkYXJnVHlwZT4gJG5hbWU7XG4iKTsKLSAgICAgICAgICAgICAg
ICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgaWYgKCFzdGF0ZS0+YXJndW1lbnQoJGFyZ3NJbmRl
eCkuaXNVbmRlZmluZWRPck51bGwoKSkge1xuIik7Ci0gICAgICAgICAgICAgICAgaWYgKCRjb2Rl
R2VuZXJhdG9yLT5Jc0Z1bmN0aW9uT25seUNhbGxiYWNrSW50ZXJmYWNlKCRhcmdUeXBlKSkgewot
ICAgICAgICAgICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgICAgIGlmICghc3Rh
dGUtPnVuY2hlY2tlZEFyZ3VtZW50KCRhcmdzSW5kZXgpLmlzRnVuY3Rpb24oKSlcbiIpOworICAg
ICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBSZWZQdHI8JHR5cGU+ICRuYW1l
O1xuIik7CisgICAgICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIGlmICghc3Rh
dGUtPmFyZ3VtZW50KCRhcmd1bWVudEluZGV4KS5pc1VuZGVmaW5lZE9yTnVsbCgpKSB7XG4iKTsK
KyAgICAgICAgICAgICAgICBpZiAoJGNvZGVHZW5lcmF0b3ItPklzRnVuY3Rpb25Pbmx5Q2FsbGJh
Y2tJbnRlcmZhY2UoJHR5cGUpKSB7CisgICAgICAgICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRB
cnJheSwgIiAgICAgICAgaWYgKCFzdGF0ZS0+dW5jaGVja2VkQXJndW1lbnQoJGFyZ3VtZW50SW5k
ZXgpLmlzRnVuY3Rpb24oKSlcbiIpOwogICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAg
ICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICAgICAgaWYgKCFzdGF0ZS0+dW5j
aGVja2VkQXJndW1lbnQoJGFyZ3NJbmRleCkuaXNPYmplY3QoKSlcbiIpOworICAgICAgICAgICAg
ICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgICAgIGlmICghc3RhdGUtPnVuY2hlY2tl
ZEFyZ3VtZW50KCRhcmd1bWVudEluZGV4KS5pc09iamVjdCgpKVxuIik7CiAgICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICAgICAgICAgIHJl
dHVybiB0aHJvd0FyZ3VtZW50TXVzdEJlRnVuY3Rpb25FcnJvcigqc3RhdGUsICRhcmdzSW5kZXgs
IFwiJG5hbWVcIiwgXCIkaW50ZXJmYWNlTmFtZVwiLCAkcXVvdGVkRnVuY3Rpb25OYW1lKTtcbiIp
OworICAgICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICAgICAgICAgIHJldHVy
biB0aHJvd0FyZ3VtZW50TXVzdEJlRnVuY3Rpb25FcnJvcigqc3RhdGUsICRhcmd1bWVudEluZGV4
LCBcIiRuYW1lXCIsIFwiJGludGVyZmFjZU5hbWVcIiwgJHF1b3RlZEZ1bmN0aW9uTmFtZSk7XG4i
KTsKICAgICAgICAgICAgICAgICBpZiAoJGZ1bmN0aW9uLT5pc1N0YXRpYykgewogICAgICAgICAg
ICAgICAgICAgICBBZGRUb0ltcGxJbmNsdWRlcygiQ2FsbGJhY2tGdW5jdGlvbi5oIik7Ci0gICAg
ICAgICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICAgICAgJG5hbWUgPSBjcmVh
dGVGdW5jdGlvbk9ubHlDYWxsYmFjazwke2NhbGxiYWNrQ2xhc3NOYW1lfT4oc3RhdGUsIGpzQ2Fz
dDxKU0RPTUdsb2JhbE9iamVjdCo+KHN0YXRlLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpLCBzdGF0
ZS0+dW5jaGVja2VkQXJndW1lbnQoJGFyZ3NJbmRleCkpO1xuIik7CisgICAgICAgICAgICAgICAg
ICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICAgICAgJG5hbWUgPSBjcmVhdGVGdW5jdGlvbk9u
bHlDYWxsYmFjazwke2NhbGxiYWNrQ2xhc3NOYW1lfT4oc3RhdGUsIGpzQ2FzdDxKU0RPTUdsb2Jh
bE9iamVjdCo+KHN0YXRlLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpLCBzdGF0ZS0+dW5jaGVja2Vk
QXJndW1lbnQoJGFyZ3VtZW50SW5kZXgpKTtcbiIpOwogICAgICAgICAgICAgICAgIH0gZWxzZSB7
Ci0gICAgICAgICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICAgICAgJG5hbWUg
PSAke2NhbGxiYWNrQ2xhc3NOYW1lfTo6Y3JlYXRlKGFzT2JqZWN0KHN0YXRlLT51bmNoZWNrZWRB
cmd1bWVudCgkYXJnc0luZGV4KSksIGNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpKTtcbiIpOwor
ICAgICAgICAgICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgICAgICRuYW1lID0g
JHtjYWxsYmFja0NsYXNzTmFtZX06OmNyZWF0ZShhc09iamVjdChzdGF0ZS0+dW5jaGVja2VkQXJn
dW1lbnQoJGFyZ3VtZW50SW5kZXgpKSwgY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCkpO1xuIik7
CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwg
IiAgICB9XG4iKTsKICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgaWYgKCRj
b2RlR2VuZXJhdG9yLT5Jc0Z1bmN0aW9uT25seUNhbGxiYWNrSW50ZXJmYWNlKCRhcmdUeXBlKSkg
ewotICAgICAgICAgICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgaWYgKFVOTElL
RUxZKCFzdGF0ZS0+YXJndW1lbnQoJGFyZ3NJbmRleCkuaXNGdW5jdGlvbigpKSlcbiIpOworICAg
ICAgICAgICAgICAgIGlmICgkY29kZUdlbmVyYXRvci0+SXNGdW5jdGlvbk9ubHlDYWxsYmFja0lu
dGVyZmFjZSgkdHlwZSkpIHsKKyAgICAgICAgICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5
LCAiICAgIGlmIChVTkxJS0VMWSghc3RhdGUtPmFyZ3VtZW50KCRhcmd1bWVudEluZGV4KS5pc0Z1
bmN0aW9uKCkpKVxuIik7CiAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAg
ICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIGlmIChVTkxJS0VMWSghc3RhdGUtPmFyZ3Vt
ZW50KCRhcmdzSW5kZXgpLmlzT2JqZWN0KCkpKVxuIik7CisgICAgICAgICAgICAgICAgICAgIHB1
c2goQCRvdXRwdXRBcnJheSwgIiAgICBpZiAoVU5MSUtFTFkoIXN0YXRlLT5hcmd1bWVudCgkYXJn
dW1lbnRJbmRleCkuaXNPYmplY3QoKSkpXG4iKTsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgICAgICByZXR1cm4gdGhyb3dBcmd1bWVu
dE11c3RCZUZ1bmN0aW9uRXJyb3IoKnN0YXRlLCAkYXJnc0luZGV4LCBcIiRuYW1lXCIsIFwiJGlu
dGVyZmFjZU5hbWVcIiwgJHF1b3RlZEZ1bmN0aW9uTmFtZSk7XG4iKTsKKyAgICAgICAgICAgICAg
ICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgICAgIHJldHVybiB0aHJvd0FyZ3VtZW50TXVzdEJl
RnVuY3Rpb25FcnJvcigqc3RhdGUsICRhcmd1bWVudEluZGV4LCBcIiRuYW1lXCIsIFwiJGludGVy
ZmFjZU5hbWVcIiwgJHF1b3RlZEZ1bmN0aW9uTmFtZSk7XG4iKTsKICAgICAgICAgICAgICAgICBp
ZiAoJGZ1bmN0aW9uLT5pc1N0YXRpYykgewogICAgICAgICAgICAgICAgICAgICBBZGRUb0ltcGxJ
bmNsdWRlcygiQ2FsbGJhY2tGdW5jdGlvbi5oIik7Ci0gICAgICAgICAgICAgICAgICAgIHB1c2go
QCRvdXRwdXRBcnJheSwgIiAgICBSZWZQdHI8JGFyZ1R5cGU+ICRuYW1lID0gY3JlYXRlRnVuY3Rp
b25Pbmx5Q2FsbGJhY2s8JHtjYWxsYmFja0NsYXNzTmFtZX0+KHN0YXRlLCBqc0Nhc3Q8SlNET01H
bG9iYWxPYmplY3QqPihzdGF0ZS0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKSwgc3RhdGUtPnVuY2hl
Y2tlZEFyZ3VtZW50KCRhcmdzSW5kZXgpKTtcbiIpOworICAgICAgICAgICAgICAgICAgICBwdXNo
KEAkb3V0cHV0QXJyYXksICIgICAgUmVmUHRyPCR0eXBlPiAkbmFtZSA9IGNyZWF0ZUZ1bmN0aW9u
T25seUNhbGxiYWNrPCR7Y2FsbGJhY2tDbGFzc05hbWV9PihzdGF0ZSwganNDYXN0PEpTRE9NR2xv
YmFsT2JqZWN0Kj4oc3RhdGUtPmxleGljYWxHbG9iYWxPYmplY3QoKSksIHN0YXRlLT51bmNoZWNr
ZWRBcmd1bWVudCgkYXJndW1lbnRJbmRleCkpO1xuIik7CiAgICAgICAgICAgICAgICAgfSBlbHNl
IHsKLSAgICAgICAgICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIFJlZlB0cjwk
YXJnVHlwZT4gJG5hbWUgPSAke2NhbGxiYWNrQ2xhc3NOYW1lfTo6Y3JlYXRlKGFzT2JqZWN0KHN0
YXRlLT51bmNoZWNrZWRBcmd1bWVudCgkYXJnc0luZGV4KSksIGNhc3RlZFRoaXMtPmdsb2JhbE9i
amVjdCgpKTtcbiIpOworICAgICAgICAgICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIg
ICAgUmVmUHRyPCR0eXBlPiAkbmFtZSA9ICR7Y2FsbGJhY2tDbGFzc05hbWV9OjpjcmVhdGUoYXNP
YmplY3Qoc3RhdGUtPnVuY2hlY2tlZEFyZ3VtZW50KCRhcmd1bWVudEluZGV4KSksIGNhc3RlZFRo
aXMtPmdsb2JhbE9iamVjdCgpKTtcbiIpOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg
IH0KICAgICAgICAgICAgICR2YWx1ZSA9ICJXVEZNb3ZlKCRuYW1lKSI7CiAgICAgICAgIH0gZWxz
aWYgKCRwYXJhbWV0ZXItPmlzVmFyaWFkaWMpIHsKICAgICAgICAgICAgIG15ICRuYXRpdmVFbGVt
ZW50VHlwZTsKLSAgICAgICAgICAgIGlmICgkYXJnVHlwZSBlcSAiRE9NU3RyaW5nIikgeworICAg
ICAgICAgICAgaWYgKCR0eXBlIGVxICJET01TdHJpbmciKSB7CiAgICAgICAgICAgICAgICAgJG5h
dGl2ZUVsZW1lbnRUeXBlID0gIlN0cmluZyI7CiAgICAgICAgICAgICB9IGVsc2UgewotICAgICAg
ICAgICAgICAgICRuYXRpdmVFbGVtZW50VHlwZSA9IEdldE5hdGl2ZVR5cGUoJGludGVyZmFjZSwg
JGFyZ1R5cGUpOworICAgICAgICAgICAgICAgICRuYXRpdmVFbGVtZW50VHlwZSA9IEdldE5hdGl2
ZVR5cGUoJGludGVyZmFjZSwgJHR5cGUpOwogICAgICAgICAgICAgfQogCi0gICAgICAgICAgICBp
ZiAoIUlzTmF0aXZlVHlwZSgkYXJnVHlwZSkpIHsKKyAgICAgICAgICAgIGlmICghSXNOYXRpdmVU
eXBlKCR0eXBlKSkgewogICAgICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBW
ZWN0b3I8JG5hdGl2ZUVsZW1lbnRUeXBlPiAkbmFtZTtcbiIpOwotICAgICAgICAgICAgICAgIHB1
c2goQCRvdXRwdXRBcnJheSwgIiAgICBmb3IgKHVuc2lnbmVkIGkgPSAkYXJnc0luZGV4LCBjb3Vu
dCA9IHN0YXRlLT5hcmd1bWVudENvdW50KCk7IGkgPCBjb3VudDsgKytpKSB7XG4iKTsKLSAgICAg
ICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgICAgIGlmICghc3RhdGUtPnVuY2hl
Y2tlZEFyZ3VtZW50KGkpLmluaGVyaXRzKEpTJHthcmdUeXBlfTo6aW5mbygpKSlcbiIpOwotICAg
ICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICAgICAgICAgIHJldHVybiB0aHJv
d0FyZ3VtZW50VHlwZUVycm9yKCpzdGF0ZSwgaSwgXCIkbmFtZVwiLCBcIiRpbnRlcmZhY2VOYW1l
XCIsICRxdW90ZWRGdW5jdGlvbk5hbWUsIFwiJGFyZ1R5cGVcIik7XG4iKTsKLSAgICAgICAgICAg
ICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgICAgICRuYW1lLmFwcGVuZChKUyR7YXJnVHlw
ZX06OnRvV3JhcHBlZChzdGF0ZS0+dW5jaGVja2VkQXJndW1lbnQoaSkpKTtcbiIpOworICAgICAg
ICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBmb3IgKHVuc2lnbmVkIGkgPSAkYXJn
dW1lbnRJbmRleCwgY291bnQgPSBzdGF0ZS0+YXJndW1lbnRDb3VudCgpOyBpIDwgY291bnQ7ICsr
aSkge1xuIik7CisgICAgICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgICAgICBp
ZiAoIXN0YXRlLT51bmNoZWNrZWRBcmd1bWVudChpKS5pbmhlcml0cyhKUyR7dHlwZX06OmluZm8o
KSkpXG4iKTsKKyAgICAgICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgICAgICAg
ICByZXR1cm4gdGhyb3dBcmd1bWVudFR5cGVFcnJvcigqc3RhdGUsIGksIFwiJG5hbWVcIiwgXCIk
aW50ZXJmYWNlTmFtZVwiLCAkcXVvdGVkRnVuY3Rpb25OYW1lLCBcIiR0eXBlXCIpO1xuIik7Cisg
ICAgICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgICAgICAkbmFtZS5hcHBlbmQo
SlMke3R5cGV9Ojp0b1dyYXBwZWQoc3RhdGUtPnVuY2hlY2tlZEFyZ3VtZW50KGkpKSk7XG4iKTsK
ICAgICAgICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgfVxuIikKICAgICAgICAg
ICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIFZl
Y3RvcjwkbmF0aXZlRWxlbWVudFR5cGU+ICRuYW1lID0gdG9OYXRpdmVBcmd1bWVudHM8JG5hdGl2
ZUVsZW1lbnRUeXBlPihzdGF0ZSwgJGFyZ3NJbmRleCk7XG4iKTsKKyAgICAgICAgICAgICAgICBw
dXNoKEAkb3V0cHV0QXJyYXksICIgICAgVmVjdG9yPCRuYXRpdmVFbGVtZW50VHlwZT4gJG5hbWUg
PSB0b05hdGl2ZUFyZ3VtZW50czwkbmF0aXZlRWxlbWVudFR5cGU+KHN0YXRlLCAkYXJndW1lbnRJ
bmRleCk7XG4iKTsKICAgICAgICAgICAgICAgICAjIENoZWNrIGlmIHRoZSB0eXBlIGNvbnZlcnNp
b24gc3VjY2VlZGVkLgogICAgICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBp
ZiAoVU5MSUtFTFkoc3RhdGUtPmhhZEV4Y2VwdGlvbigpKSlcbiIpOwogICAgICAgICAgICAgICAg
IHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1Vu
ZGVmaW5lZCgpKTtcbiIpOwogICAgICAgICAgICAgfQotICAgICAgICB9IGVsc2lmICgkY29kZUdl
bmVyYXRvci0+SXNFbnVtVHlwZSgkYXJnVHlwZSkpIHsKLSAgICAgICAgICAgIG15ICRjbGFzc05h
bWUgPSBHZXRFbnVtZXJhdGlvbkNsYXNzTmFtZSgkaW50ZXJmYWNlLCAkYXJnVHlwZSk7CisgICAg
ICAgIH0gZWxzaWYgKCRjb2RlR2VuZXJhdG9yLT5Jc0VudW1UeXBlKCR0eXBlKSkgeworICAgICAg
ICAgICAgbXkgJGNsYXNzTmFtZSA9IEdldEVudW1lcmF0aW9uQ2xhc3NOYW1lKCRpbnRlcmZhY2Us
ICR0eXBlKTsKIAogICAgICAgICAgICAgJGltcGxJbmNsdWRlc3siPHJ1bnRpbWUvRXJyb3IuaD4i
fSA9IDE7CiAKQEAgLTM2OTAsNyArMzcxMSw3IEBAIHN1YiBHZW5lcmF0ZVBhcmFtZXRlcnNDaGVj
awogICAgICAgICAgICAgICAgICRkZWZpbmVPcHRpb25hbFZhbHVlID0gJG5hbWU7CiAgICAgICAg
ICAgICB9CiAKLSAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBhdXRvICR7bmFt
ZX1WYWx1ZSA9IHN0YXRlLT5hcmd1bWVudCgkYXJnc0luZGV4KTtcbiIpOworICAgICAgICAgICAg
cHVzaChAJG91dHB1dEFycmF5LCAiICAgIGF1dG8gJHtuYW1lfVZhbHVlID0gc3RhdGUtPmFyZ3Vt
ZW50KCRhcmd1bWVudEluZGV4KTtcbiIpOwogICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5
LCAiICAgICRuYXRpdmVUeXBlICRuYW1lO1xuIik7CiAKICAgICAgICAgICAgIGlmICgkcGFyYW1l
dGVyLT5pc09wdGlvbmFsKSB7CkBAIC0zNzA3LDcgKzM3MjgsNyBAQCBzdWIgR2VuZXJhdGVQYXJh
bWV0ZXJzQ2hlY2sKICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiRpbmRlbnQgICAg
aWYgKFVOTElLRUxZKHN0YXRlLT5oYWRFeGNlcHRpb24oKSkpXG4iKTsKICAgICAgICAgICAgIHB1
c2goQCRvdXRwdXRBcnJheSwgIiRpbmRlbnQgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUo
anNVbmRlZmluZWQoKSk7XG4iKTsKICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiRp
bmRlbnQgICAgaWYgKFVOTElLRUxZKCEkb3B0aW9uYWxWYWx1ZSkpXG4iKTsKLSAgICAgICAgICAg
IHB1c2goQCRvdXRwdXRBcnJheSwgIiRpbmRlbnQgICAgICAgIHJldHVybiB0aHJvd0FyZ3VtZW50
TXVzdEJlRW51bUVycm9yKCpzdGF0ZSwgJGFyZ3NJbmRleCwgXCIkbmFtZVwiLCBcIiRpbnRlcmZh
Y2VOYW1lXCIsICRxdW90ZWRGdW5jdGlvbk5hbWUsIGV4cGVjdGVkRW51bWVyYXRpb25WYWx1ZXM8
JGNsYXNzTmFtZT4oKSk7XG4iKTsKKyAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiRp
bmRlbnQgICAgICAgIHJldHVybiB0aHJvd0FyZ3VtZW50TXVzdEJlRW51bUVycm9yKCpzdGF0ZSwg
JGFyZ3VtZW50SW5kZXgsIFwiJG5hbWVcIiwgXCIkaW50ZXJmYWNlTmFtZVwiLCAkcXVvdGVkRnVu
Y3Rpb25OYW1lLCBleHBlY3RlZEVudW1lcmF0aW9uVmFsdWVzPCRjbGFzc05hbWU+KCkpO1xuIik7
CiAgICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIkaW5kZW50ICAgICRuYW1lID0gb3B0
aW9uYWxWYWx1ZS52YWx1ZSgpO1xuIikgaWYgJG9wdGlvbmFsVmFsdWUgbmUgJG5hbWU7CiAKICAg
ICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICB9XG4iKSBpZiAkaW5kZW50IG5lICIi
OwpAQCAtMzcyMCwxNiArMzc0MSwxNiBAQCBzdWIgR2VuZXJhdGVQYXJhbWV0ZXJzQ2hlY2sKICAg
ICAgICAgICAgIGlmICgkZnVuY3Rpb24tPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57
IlN0cmljdFR5cGVDaGVja2luZyJ9KSB7CiAgICAgICAgICAgICAgICAgJGltcGxJbmNsdWRlc3si
PHJ1bnRpbWUvRXJyb3IuaD4ifSA9IDE7CiAKLSAgICAgICAgICAgICAgICBteSAkYXJnVmFsdWUg
PSAic3RhdGUtPmFyZ3VtZW50KCRhcmdzSW5kZXgpIjsKLSAgICAgICAgICAgICAgICBpZiAoJGNv
ZGVHZW5lcmF0b3ItPklzV3JhcHBlclR5cGUoJGFyZ1R5cGUpKSB7Ci0gICAgICAgICAgICAgICAg
ICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBpZiAoVU5MSUtFTFkoISR7YXJnVmFsdWV9Lmlz
VW5kZWZpbmVkT3JOdWxsKCkgJiYgISR7YXJnVmFsdWV9LmluaGVyaXRzKEpTJHthcmdUeXBlfTo6
aW5mbygpKSkpXG4iKTsKLSAgICAgICAgICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAi
ICAgICAgICByZXR1cm4gdGhyb3dBcmd1bWVudFR5cGVFcnJvcigqc3RhdGUsICRhcmdzSW5kZXgs
IFwiJG5hbWVcIiwgXCIkaW50ZXJmYWNlTmFtZVwiLCAkcXVvdGVkRnVuY3Rpb25OYW1lLCBcIiRh
cmdUeXBlXCIpO1xuIik7CisgICAgICAgICAgICAgICAgbXkgJGFyZ1ZhbHVlID0gInN0YXRlLT5h
cmd1bWVudCgkYXJndW1lbnRJbmRleCkiOworICAgICAgICAgICAgICAgIGlmICgkY29kZUdlbmVy
YXRvci0+SXNXcmFwcGVyVHlwZSgkdHlwZSkpIHsKKyAgICAgICAgICAgICAgICAgICAgcHVzaChA
JG91dHB1dEFycmF5LCAiICAgIGlmIChVTkxJS0VMWSghJHthcmdWYWx1ZX0uaXNVbmRlZmluZWRP
ck51bGwoKSAmJiAhJHthcmdWYWx1ZX0uaW5oZXJpdHMoSlMke3R5cGV9OjppbmZvKCkpKSlcbiIp
OworICAgICAgICAgICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgICAgIHJldHVy
biB0aHJvd0FyZ3VtZW50VHlwZUVycm9yKCpzdGF0ZSwgJGFyZ3VtZW50SW5kZXgsIFwiJG5hbWVc
IiwgXCIkaW50ZXJmYWNlTmFtZVwiLCAkcXVvdGVkRnVuY3Rpb25OYW1lLCBcIiR0eXBlXCIpO1xu
Iik7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBpZiAo
JHBhcmFtZXRlci0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlJlcXVpcmVzRXhpc3RpbmdBdG9taWNT
dHJpbmcifSkgewogICAgICAgICAgICAgICAgICMgRklYTUU6IFRoaXMgY291bGQgYmUgbWFkZSBz
bGlnaHRseSBtb3JlIGVmZmljaWVudCBpZiB3ZSBhZGRlZCBhbiBBdG9taWNTdHJpbmcoUmVmUHRy
PEF0b21pY1N0cmluZ0ltcGw+JiYpIGNvbnN0cnVjdG9yIGFuZCByZW1vdmVkIHRoZSBjYWxsIHRv
IGdldCgpIGhlcmUuCi0gICAgICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIEF0
b21pY1N0cmluZyAkbmFtZSA9IHN0YXRlLT5hcmd1bWVudCgkYXJnc0luZGV4KS50b1N0cmluZyhz
dGF0ZSktPnRvRXhpc3RpbmdBdG9taWNTdHJpbmcoc3RhdGUpLmdldCgpO1xuIik7CisgICAgICAg
ICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIEF0b21pY1N0cmluZyAkbmFtZSA9IHN0
YXRlLT5hcmd1bWVudCgkYXJndW1lbnRJbmRleCkudG9TdHJpbmcoc3RhdGUpLT50b0V4aXN0aW5n
QXRvbWljU3RyaW5nKHN0YXRlKS5nZXQoKTtcbiIpOwogICAgICAgICAgICAgICAgIHB1c2goQCRv
dXRwdXRBcnJheSwgIiAgICBpZiAoJG5hbWUuaXNOdWxsKCkpXG4iKTsKICAgICAgICAgICAgICAg
ICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNO
dWxsKCkpO1xuIik7CiAgICAgICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIGlm
IChVTkxJS0VMWShzdGF0ZS0+aGFkRXhjZXB0aW9uKCkpKVxuIik7CkBAIC0zNzM5LDExICszNzYw
LDExIEBAIHN1YiBHZW5lcmF0ZVBhcmFtZXRlcnNDaGVjawogICAgICAgICAgICAgICAgIG15ICRp
bm5lcjsKICAgICAgICAgICAgICAgICBteSAkbmF0aXZlVHlwZSA9IEdldE5hdGl2ZVR5cGVGcm9t
U2lnbmF0dXJlKCRpbnRlcmZhY2UsICRwYXJhbWV0ZXIpOwogCi0gICAgICAgICAgICAgICAgaWYg
KCRwYXJhbWV0ZXItPmlzT3B0aW9uYWwgJiYgZGVmaW5lZCgkcGFyYW1ldGVyLT5kZWZhdWx0KSAm
JiAhV2lsbENvbnZlcnRVbmRlZmluZWRUb0RlZmF1bHRQYXJhbWV0ZXJWYWx1ZSgkcGFyYW1ldGVy
LT50eXBlLCAkcGFyYW1ldGVyLT5kZWZhdWx0KSkgeworICAgICAgICAgICAgICAgIGlmICgkcGFy
YW1ldGVyLT5pc09wdGlvbmFsICYmIGRlZmluZWQoJHBhcmFtZXRlci0+ZGVmYXVsdCkgJiYgIVdp
bGxDb252ZXJ0VW5kZWZpbmVkVG9EZWZhdWx0UGFyYW1ldGVyVmFsdWUoJHR5cGUsICRwYXJhbWV0
ZXItPmRlZmF1bHQpKSB7CiAgICAgICAgICAgICAgICAgICAgIG15ICRkZWZhdWx0VmFsdWUgPSAk
cGFyYW1ldGVyLT5kZWZhdWx0OwogCiAgICAgICAgICAgICAgICAgICAgICMgU3RyaW5nLXJlbGF0
ZWQgb3B0aW1pemF0aW9ucy4KLSAgICAgICAgICAgICAgICAgICAgaWYgKCRwYXJhbWV0ZXItPnR5
cGUgZXEgIkRPTVN0cmluZyIpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCR0eXBlIGVxICJE
T01TdHJpbmciKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBteSAkdXNlQXRvbWljU3RyaW5n
ID0gJHBhcmFtZXRlci0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkF0b21pY1N0cmluZyJ9OwogICAg
ICAgICAgICAgICAgICAgICAgICAgaWYgKCRkZWZhdWx0VmFsdWUgZXEgIm51bGwiKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJGRlZmF1bHRWYWx1ZSA9ICR1c2VBdG9taWNTdHJpbmcg
PyAibnVsbEF0b20iIDogIlN0cmluZygpIjsKQEAgLTM3NTksMTYgKzM3ODAsMTUgQEAgc3ViIEdl
bmVyYXRlUGFyYW1ldGVyc0NoZWNrCiAgICAgICAgICAgICAgICAgICAgICAgICAkZGVmYXVsdFZh
bHVlID0gIkpTVmFsdWU6OkpTVW5kZWZpbmVkIiBpZiAkZGVmYXVsdFZhbHVlIGVxICJ1bmRlZmlu
ZWQiOwogICAgICAgICAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgICAgICAgICAgJG91dGVy
ID0gInN0YXRlLT5hcmd1bWVudCgkYXJnc0luZGV4KS5pc1VuZGVmaW5lZCgpID8gJGRlZmF1bHRW
YWx1ZSA6ICI7Ci0gICAgICAgICAgICAgICAgICAgICRpbm5lciA9ICJzdGF0ZS0+dW5jaGVja2Vk
QXJndW1lbnQoJGFyZ3NJbmRleCkiOworICAgICAgICAgICAgICAgICAgICAkb3V0ZXIgPSAic3Rh
dGUtPmFyZ3VtZW50KCRhcmd1bWVudEluZGV4KS5pc1VuZGVmaW5lZCgpID8gJGRlZmF1bHRWYWx1
ZSA6ICI7CisgICAgICAgICAgICAgICAgICAgICRpbm5lciA9ICJzdGF0ZS0+dW5jaGVja2VkQXJn
dW1lbnQoJGFyZ3VtZW50SW5kZXgpIjsKICAgICAgICAgICAgICAgICB9IGVsc2lmICgkcGFyYW1l
dGVyLT5pc09wdGlvbmFsICYmICFkZWZpbmVkKCRwYXJhbWV0ZXItPmRlZmF1bHQpKSB7Ci0gICAg
ICAgICAgICAgICAgICAgICMgVXNlIFdURjo6T3B0aW9uYWw8PigpIGZvciBvcHRpb25hbCBwYXJh
bWV0ZXJzIHRoYXQgYXJlIG1pc3Npbmcgb3IgdW5kZWZpbmVkIGFuZCB0aGF0IGRvIG5vdCBoYXZl
Ci0gICAgICAgICAgICAgICAgICAgICMgYSBkZWZhdWx0IHZhbHVlIGluIHRoZSBJREwuCi0gICAg
ICAgICAgICAgICAgICAgICRvdXRlciA9ICJzdGF0ZS0+YXJndW1lbnQoJGFyZ3NJbmRleCkuaXNV
bmRlZmluZWQoKSA/IE9wdGlvbmFsPCRuYXRpdmVUeXBlPigpIDogIjsKLSAgICAgICAgICAgICAg
ICAgICAgJGlubmVyID0gInN0YXRlLT51bmNoZWNrZWRBcmd1bWVudCgkYXJnc0luZGV4KSI7Cisg
ICAgICAgICAgICAgICAgICAgICMgVXNlIFdURjo6T3B0aW9uYWw8PigpIGZvciBvcHRpb25hbCBw
YXJhbWV0ZXJzIHRoYXQgYXJlIG1pc3Npbmcgb3IgdW5kZWZpbmVkIGFuZCB0aGF0IGRvIG5vdCBo
YXZlIGEgZGVmYXVsdCB2YWx1ZSBpbiB0aGUgSURMLgorICAgICAgICAgICAgICAgICAgICAkb3V0
ZXIgPSAic3RhdGUtPmFyZ3VtZW50KCRhcmd1bWVudEluZGV4KS5pc1VuZGVmaW5lZCgpID8gT3B0
aW9uYWw8JG5hdGl2ZVR5cGU+KCkgOiAiOworICAgICAgICAgICAgICAgICAgICAkaW5uZXIgPSAi
c3RhdGUtPnVuY2hlY2tlZEFyZ3VtZW50KCRhcmd1bWVudEluZGV4KSI7CiAgICAgICAgICAgICAg
ICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgJG91dGVyID0gIiI7Ci0gICAgICAgICAg
ICAgICAgICAgICRpbm5lciA9ICJzdGF0ZS0+YXJndW1lbnQoJGFyZ3NJbmRleCkiOworICAgICAg
ICAgICAgICAgICAgICAkaW5uZXIgPSAic3RhdGUtPmFyZ3VtZW50KCRhcmd1bWVudEluZGV4KSI7
CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIG15ICgkbmF0aXZlVmFsdWUsICRt
YXlUaHJvd0V4Y2VwdGlvbikgPSBKU1ZhbHVlVG9OYXRpdmUoJGludGVyZmFjZSwgJHBhcmFtZXRl
ciwgJGlubmVyLCAkZnVuY3Rpb24tPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNv
bmRpdGlvbmFsIn0pOwogICAgICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBh
dXRvICRuYW1lID0gJHtvdXRlcn0ke25hdGl2ZVZhbHVlfTtcbiIpOwpAQCAtMzc3OSw3ICszNzk5
LDcgQEAgc3ViIEdlbmVyYXRlUGFyYW1ldGVyc0NoZWNrCiAgICAgICAgICAgICAgICAgfQogICAg
ICAgICAgICAgfQogCi0gICAgICAgICAgICBteSAkaXNUZWFyT2ZmID0gJGNvZGVHZW5lcmF0b3It
PklzU1ZHVHlwZU5lZWRpbmdUZWFyT2ZmKCRhcmdUeXBlKSAmJiAkaW50ZXJmYWNlTmFtZSAhfiAv
TGlzdCQvOworICAgICAgICAgICAgbXkgJGlzVGVhck9mZiA9ICRjb2RlR2VuZXJhdG9yLT5Jc1NW
R1R5cGVOZWVkaW5nVGVhck9mZigkdHlwZSkgJiYgJGludGVyZmFjZU5hbWUgIX4gL0xpc3QkLzsK
ICAgICAgICAgICAgIG15ICRzaG91bGRQYXNzQnlSZWZlcmVuY2UgPSBTaG91bGRQYXNzV3JhcHBl
ckJ5UmVmZXJlbmNlKCRwYXJhbWV0ZXIsICRpbnRlcmZhY2UpOwogICAgICAgICAgICAgaWYgKCRp
c1RlYXJPZmYgb3IgJHNob3VsZFBhc3NCeVJlZmVyZW5jZSkgewogICAgICAgICAgICAgICAgIHB1
c2goQCRvdXRwdXRBcnJheSwgIiAgICBpZiAoVU5MSUtFTFkoISRuYW1lKSlcbiIpOwpAQCAtMzc4
NywxMyArMzgwNywxMyBAQCBzdWIgR2VuZXJhdGVQYXJhbWV0ZXJzQ2hlY2sKICAgICAgICAgICAg
ICAgICAkdmFsdWUgPSAkaXNUZWFyT2ZmID8gIiRuYW1lLT5wcm9wZXJ0eVJlZmVyZW5jZSgpIiA6
ICIqJG5hbWUiOwogICAgICAgICAgICAgfQogCi0gICAgICAgICAgICBpZiAoJGNvZGVHZW5lcmF0
b3ItPklzVHlwZWRBcnJheVR5cGUoJGFyZ1R5cGUpIGFuZCAkYXJnVHlwZSBuZSAiQXJyYXlCdWZm
ZXIiKSB7CisgICAgICAgICAgICBpZiAoJGNvZGVHZW5lcmF0b3ItPklzVHlwZWRBcnJheVR5cGUo
JHR5cGUpIGFuZCAkcGFyYW1ldGVyLT50eXBlIG5lICJBcnJheUJ1ZmZlciIpIHsKICAgICAgICAg
ICAgICAgICR2YWx1ZSA9ICRzaG91bGRQYXNzQnlSZWZlcmVuY2UgPyAiJG5hbWUucmVsZWFzZU5v
bk51bGwoKSIgOiAiV1RGTW92ZSgkbmFtZSkiOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAK
ICAgICAgICAgcHVzaChAYXJndW1lbnRzLCAkdmFsdWUpOwotICAgICAgICAkYXJnc0luZGV4Kys7
CisgICAgICAgICRhcmd1bWVudEluZGV4Kys7CiAgICAgfQogCiAgICAgcHVzaCBAYXJndW1lbnRz
LCBHZW5lcmF0ZVJldHVyblBhcmFtZXRlcnMoJGZ1bmN0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKaW5kZXggNjc3
M2EzMDkwYjE0NTg3MzU5MjI5MDUzOGNmYjRiYjg0MmNiOTE3NS4uZDI5NjhjZDA4OGRiNjNkNDQx
NWI4NDE4NzdjN2IwYjUwYmYyMWI4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKQEAgLTQ4NiwyOCArNDg2LDQ3IEBA
IHRlbXBsYXRlPD4gaW5saW5lIGNvbnN0IGNoYXIqIGV4cGVjdGVkRW51bWVyYXRpb25WYWx1ZXM8
VGVzdE9iajo6U2hhZG93Um9vdE1vZGU+CiAKIHRlbXBsYXRlPD4gVGVzdE9iajo6U2hhZG93Um9v
dEluaXQgY29udmVydDxUZXN0T2JqOjpTaGFkb3dSb290SW5pdD4oRXhlY1N0YXRlJiBzdGF0ZSwg
SlNWYWx1ZSB2YWx1ZSkKIHsKLSAgICBhdXRvIG1vZGUgPSBjb252ZXJ0PFRlc3RPYmo6OlNoYWRv
d1Jvb3RNb2RlPihzdGF0ZSwgcHJvcGVydHlWYWx1ZShzdGF0ZSwgdmFsdWUsICJtb2RlIikpOwor
ICAgIGF1dG8qIG9iamVjdCA9IHZhbHVlLmdldE9iamVjdCgpOworICAgIGlmIChVTkxJS0VMWSgh
b2JqZWN0IHx8IG9iamVjdC0+dHlwZSgpID09IFJlZ0V4cE9iamVjdFR5cGUpKSB7CisgICAgICAg
IHRocm93VHlwZUVycm9yKCZzdGF0ZSk7CisgICAgICAgIHJldHVybiB7IH07CisgICAgfQorICAg
IGF1dG8gbW9kZSA9IGNvbnZlcnQ8VGVzdE9iajo6U2hhZG93Um9vdE1vZGU+KHN0YXRlLCBvYmpl
Y3QtPmdldCgmc3RhdGUsIElkZW50aWZpZXI6OmZyb21TdHJpbmcoJnN0YXRlLCAibW9kZSIpKSk7
CiAgICAgcmV0dXJuIHsgV1RGTW92ZShtb2RlKSB9OwogfQogCiB0ZW1wbGF0ZTw+IFRlc3RPYmo6
OkZvbnRGYWNlRGVzY3JpcHRvcnMgY29udmVydDxUZXN0T2JqOjpGb250RmFjZURlc2NyaXB0b3Jz
PihFeGVjU3RhdGUmIHN0YXRlLCBKU1ZhbHVlIHZhbHVlKQogewotICAgIGF1dG8gc3R5bGUgPSBj
b252ZXJ0T3B0aW9uYWw8U3RyaW5nPihzdGF0ZSwgcHJvcGVydHlWYWx1ZShzdGF0ZSwgdmFsdWUs
ICJzdHlsZSIpLCAibm9ybWFsIik7CisgICAgaWYgKHZhbHVlLmlzVW5kZWZpbmVkT3JOdWxsKCkp
CisgICAgICAgIHJldHVybiB7ICJub3JtYWwiLCAiVSswLTEwRkZGRiIgfTsKKyAgICBhdXRvKiBv
YmplY3QgPSB2YWx1ZS5nZXRPYmplY3QoKTsKKyAgICBpZiAoVU5MSUtFTFkoIW9iamVjdCB8fCBv
YmplY3QtPnR5cGUoKSA9PSBSZWdFeHBPYmplY3RUeXBlKSkgeworICAgICAgICB0aHJvd1R5cGVF
cnJvcigmc3RhdGUpOworICAgICAgICByZXR1cm4geyB9OworICAgIH0KKyAgICBhdXRvIHN0eWxl
ID0gY29udmVydE9wdGlvbmFsPFN0cmluZz4oc3RhdGUsIG9iamVjdC0+Z2V0KCZzdGF0ZSwgSWRl
bnRpZmllcjo6ZnJvbVN0cmluZygmc3RhdGUsICJzdHlsZSIpKSwgIm5vcm1hbCIpOwogICAgIGlm
IChVTkxJS0VMWShzdGF0ZS5oYWRFeGNlcHRpb24oKSkpCiAgICAgICAgIHJldHVybiB7IH07Ci0g
ICAgYXV0byB1bmljb2RlUmFuZ2UgPSBjb252ZXJ0T3B0aW9uYWw8U3RyaW5nPihzdGF0ZSwgcHJv
cGVydHlWYWx1ZShzdGF0ZSwgdmFsdWUsICJ1bmljb2RlUmFuZ2UiKSwgIlUrMC0xMEZGRkYiKTsK
KyAgICBhdXRvIHVuaWNvZGVSYW5nZSA9IGNvbnZlcnRPcHRpb25hbDxTdHJpbmc+KHN0YXRlLCBv
YmplY3QtPmdldCgmc3RhdGUsIElkZW50aWZpZXI6OmZyb21TdHJpbmcoJnN0YXRlLCAidW5pY29k
ZVJhbmdlIikpLCAiVSswLTEwRkZGRiIpOwogICAgIHJldHVybiB7IFdURk1vdmUoc3R5bGUpLCBX
VEZNb3ZlKHVuaWNvZGVSYW5nZSkgfTsKIH0KIAogdGVtcGxhdGU8PiBUZXN0T2JqOjpNdXRhdGlv
bk9ic2VydmVySW5pdCBjb252ZXJ0PFRlc3RPYmo6Ok11dGF0aW9uT2JzZXJ2ZXJJbml0PihFeGVj
U3RhdGUmIHN0YXRlLCBKU1ZhbHVlIHZhbHVlKQogewotICAgIGF1dG8gY2hpbGRMaXN0ID0gY29u
dmVydE9wdGlvbmFsPGJvb2w+KHN0YXRlLCBwcm9wZXJ0eVZhbHVlKHN0YXRlLCB2YWx1ZSwgImNo
aWxkTGlzdCIpLCBmYWxzZSk7CisgICAgaWYgKHZhbHVlLmlzVW5kZWZpbmVkT3JOdWxsKCkpCisg
ICAgICAgIHJldHVybiB7IGZhbHNlLCBOdWxsb3B0LCBOdWxsb3B0IH07CisgICAgYXV0byogb2Jq
ZWN0ID0gdmFsdWUuZ2V0T2JqZWN0KCk7CisgICAgaWYgKFVOTElLRUxZKCFvYmplY3QgfHwgb2Jq
ZWN0LT50eXBlKCkgPT0gUmVnRXhwT2JqZWN0VHlwZSkpIHsKKyAgICAgICAgdGhyb3dUeXBlRXJy
b3IoJnN0YXRlKTsKKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICB9CisgICAgYXV0byBjaGlsZExp
c3QgPSBjb252ZXJ0T3B0aW9uYWw8Ym9vbD4oc3RhdGUsIG9iamVjdC0+Z2V0KCZzdGF0ZSwgSWRl
bnRpZmllcjo6ZnJvbVN0cmluZygmc3RhdGUsICJjaGlsZExpc3QiKSksIGZhbHNlKTsKICAgICBp
ZiAoVU5MSUtFTFkoc3RhdGUuaGFkRXhjZXB0aW9uKCkpKQogICAgICAgICByZXR1cm4geyB9Owot
ICAgIGF1dG8gYXR0cmlidXRlcyA9IGNvbnZlcnRPcHRpb25hbDxib29sPihzdGF0ZSwgcHJvcGVy
dHlWYWx1ZShzdGF0ZSwgdmFsdWUsICJhdHRyaWJ1dGVzIikpOworICAgIGF1dG8gYXR0cmlidXRl
cyA9IGNvbnZlcnRPcHRpb25hbDxib29sPihzdGF0ZSwgb2JqZWN0LT5nZXQoJnN0YXRlLCBJZGVu
dGlmaWVyOjpmcm9tU3RyaW5nKCZzdGF0ZSwgImF0dHJpYnV0ZXMiKSkpOwogICAgIGlmIChVTkxJ
S0VMWShzdGF0ZS5oYWRFeGNlcHRpb24oKSkpCiAgICAgICAgIHJldHVybiB7IH07Ci0gICAgYXV0
byBhdHRyaWJ1dGVGaWx0ZXIgPSBjb252ZXJ0T3B0aW9uYWw8VmVjdG9yPFN0cmluZz4+KHN0YXRl
LCBwcm9wZXJ0eVZhbHVlKHN0YXRlLCB2YWx1ZSwgImF0dHJpYnV0ZUZpbHRlciIpKTsKKyAgICBh
dXRvIGF0dHJpYnV0ZUZpbHRlciA9IGNvbnZlcnRPcHRpb25hbDxWZWN0b3I8U3RyaW5nPj4oc3Rh
dGUsIG9iamVjdC0+Z2V0KCZzdGF0ZSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZygmc3RhdGUsICJh
dHRyaWJ1dGVGaWx0ZXIiKSkpOwogICAgIHJldHVybiB7IFdURk1vdmUoY2hpbGRMaXN0KSwgV1RG
TW92ZShhdHRyaWJ1dGVzKSwgV1RGTW92ZShhdHRyaWJ1dGVGaWx0ZXIpIH07CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250RmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvRm9udEZhY2UuY3BwCmluZGV4IDc5MDU3MGE0YmE3NzM4ZDk4OWNjNzc5ODdhYzZhMmIxOTNk
ZTAzNjYuLmFlZjVhZDM5YTNiNDgzODViNDFmYWY3OTUyZTQ1NmIyNjhkYWUxM2QgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250RmFjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0ZvbnRGYWNlLmNwcApAQCAtMzYsNyArMzYsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLVJlZlB0cjxGb250RmFjZT4gRm9udEZhY2U6OmNyZWF0ZShKU0M6OkV4ZWNTdGF0ZSYgc3Rh
dGUsIERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgU3RyaW5nJiBmYW1pbHksIEpTQzo6SlNWYWx1
ZSBzb3VyY2UsIGNvbnN0IE9wdGlvbmFsPERlc2NyaXB0b3JzPiYgZGVzY3JpcHRvcnMsIEV4Y2Vw
dGlvbkNvZGUmIGVjKQorUmVmUHRyPEZvbnRGYWNlPiBGb250RmFjZTo6Y3JlYXRlKEpTQzo6RXhl
Y1N0YXRlJiBzdGF0ZSwgRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBTdHJpbmcmIGZhbWlseSwg
SlNDOjpKU1ZhbHVlIHNvdXJjZSwgY29uc3QgRGVzY3JpcHRvcnMmIGRlc2NyaXB0b3JzLCBFeGNl
cHRpb25Db2RlJiBlYykKIHsKICAgICBhdXRvIHJlc3VsdCA9IGFkb3B0UmVmKCpuZXcgRm9udEZh
Y2UoZG9jdW1lbnQuZm9udFNlbGVjdG9yKCkpKTsKIApAQCAtNTQsMjYgKzU0LDI0IEBAIFJlZlB0
cjxGb250RmFjZT4gRm9udEZhY2U6OmNyZWF0ZShKU0M6OkV4ZWNTdGF0ZSYgc3RhdGUsIERvY3Vt
ZW50JiBkb2N1bWVudCwgY29uCiAgICAgICAgIENTU0ZvbnRGYWNlOjphcHBlbmRTb3VyY2VzKHJl
c3VsdC0+YmFja2luZygpLCBkb3duY2FzdDxDU1NWYWx1ZUxpc3Q+KCp2YWx1ZSksICZkb2N1bWVu
dCwgZmFsc2UpOwogICAgIH0KIAotICAgIGlmIChkZXNjcmlwdG9ycykgewotICAgICAgICByZXN1
bHQtPnNldFN0eWxlKGRlc2NyaXB0b3JzLT5zdHlsZSwgZWMpOwotICAgICAgICBpZiAoZWMpCi0g
ICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICAgICAgcmVzdWx0LT5zZXRXZWlnaHQoZGVz
Y3JpcHRvcnMtPndlaWdodCwgZWMpOwotICAgICAgICBpZiAoZWMpCi0gICAgICAgICAgICByZXR1
cm4gbnVsbHB0cjsKLSAgICAgICAgcmVzdWx0LT5zZXRTdHJldGNoKGRlc2NyaXB0b3JzLT5zdHJl
dGNoLCBlYyk7Ci0gICAgICAgIGlmIChlYykKLSAgICAgICAgICAgIHJldHVybiBudWxscHRyOwot
ICAgICAgICByZXN1bHQtPnNldFVuaWNvZGVSYW5nZShkZXNjcmlwdG9ycy0+dW5pY29kZVJhbmdl
LCBlYyk7Ci0gICAgICAgIGlmIChlYykKLSAgICAgICAgICAgIHJldHVybiBudWxscHRyOwotICAg
ICAgICByZXN1bHQtPnNldFZhcmlhbnQoZGVzY3JpcHRvcnMtPnZhcmlhbnQsIGVjKTsKLSAgICAg
ICAgaWYgKGVjKQotICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgICAgIHJlc3VsdC0+
c2V0RmVhdHVyZVNldHRpbmdzKGRlc2NyaXB0b3JzLT5mZWF0dXJlU2V0dGluZ3MsIGVjKTsKLSAg
ICAgICAgaWYgKGVjKQotICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgfQorICAgIHJl
c3VsdC0+c2V0U3R5bGUoZGVzY3JpcHRvcnMuc3R5bGUsIGVjKTsKKyAgICBpZiAoZWMpCisgICAg
ICAgIHJldHVybiBudWxscHRyOworICAgIHJlc3VsdC0+c2V0V2VpZ2h0KGRlc2NyaXB0b3JzLndl
aWdodCwgZWMpOworICAgIGlmIChlYykKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgcmVz
dWx0LT5zZXRTdHJldGNoKGRlc2NyaXB0b3JzLnN0cmV0Y2gsIGVjKTsKKyAgICBpZiAoZWMpCisg
ICAgICAgIHJldHVybiBudWxscHRyOworICAgIHJlc3VsdC0+c2V0VW5pY29kZVJhbmdlKGRlc2Ny
aXB0b3JzLnVuaWNvZGVSYW5nZSwgZWMpOworICAgIGlmIChlYykKKyAgICAgICAgcmV0dXJuIG51
bGxwdHI7CisgICAgcmVzdWx0LT5zZXRWYXJpYW50KGRlc2NyaXB0b3JzLnZhcmlhbnQsIGVjKTsK
KyAgICBpZiAoZWMpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIHJlc3VsdC0+c2V0RmVh
dHVyZVNldHRpbmdzKGRlc2NyaXB0b3JzLmZlYXR1cmVTZXR0aW5ncywgZWMpOworICAgIGlmIChl
YykKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICByZXR1cm4gV1RGTW92ZShyZXN1bHQp
OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRGYWNlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvRm9udEZhY2UuaAppbmRleCAzYTUzZjE0MDFjOWFmMDViZmFjN2RkZTAwMGMy
NDZkMTJjZGQ2NTI5Li44OTcxZWYxZDI5N2EyMmZiZWNiY2UzZTBlYWJmMDM5YTQ3NmUxMzYzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udEZhY2UuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvRm9udEZhY2UuaApAQCAtNDIsNyArNDIsNyBAQCBwdWJsaWM6CiAgICAgICAgIFN0
cmluZyB2YXJpYW50OwogICAgICAgICBTdHJpbmcgZmVhdHVyZVNldHRpbmdzOwogICAgIH07Ci0g
ICAgc3RhdGljIFJlZlB0cjxGb250RmFjZT4gY3JlYXRlKEpTQzo6RXhlY1N0YXRlJiwgRG9jdW1l
bnQmLCBjb25zdCBTdHJpbmcmIGZhbWlseSwgSlNDOjpKU1ZhbHVlIHNvdXJjZSwgY29uc3QgT3B0
aW9uYWw8RGVzY3JpcHRvcnM+JiwgRXhjZXB0aW9uQ29kZSYpOworICAgIHN0YXRpYyBSZWZQdHI8
Rm9udEZhY2U+IGNyZWF0ZShKU0M6OkV4ZWNTdGF0ZSYsIERvY3VtZW50JiwgY29uc3QgU3RyaW5n
JiBmYW1pbHksIEpTQzo6SlNWYWx1ZSBzb3VyY2UsIGNvbnN0IERlc2NyaXB0b3JzJiwgRXhjZXB0
aW9uQ29kZSYpOwogICAgIHN0YXRpYyBSZWY8Rm9udEZhY2U+IGNyZWF0ZShDU1NGb250RmFjZSYp
OwogICAgIHZpcnR1YWwgfkZvbnRGYWNlKCk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBjZjQ0MjQyZDYwNDJlY2JmODBi
OTRlZmJiMzI2YTM1MWQzM2ZiMzBjLi5mODk5ZWU3ZWFjOTkzOWRjZmI1YjMzMGU5YzJmYWRlZjBk
OTgzM2JhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTYtMDUtMDggIERhcmluIEFkbGVyICA8
ZGFyaW5AYXBwbGUuY29tPgorCisgICAgICAgIENvcnJlY3QgZGljdGlvbmFyeSBiaW5kaW5ncyBo
YW5kbGluZyBvZiBvcHRpb25hbCwgbnVsbCwgYW5kIHVuZGVmaW5lZAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU3NDYzCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2RvbS9NdXRhdGlvbk9ic2Vy
dmVyL29ic2VydmUtZXhjZXB0aW9ucy1leHBlY3RlZC50eHQ6IFJldmVydGVkIHRoYXQKKyAgICAg
ICAgY2hhbmdlIHRvIGV4cGVjdCBhIG1vcmUgc3BlY2lmaWMgVHlwZUVycm9yIGp1c3QgYXMgaXQg
d2FzIGEgZGF5IGFnbyBiZWZvcmUKKyAgICAgICAgbXkgbGFzdCBwYXRjaC4gVGhlIFR5cGVFcnJv
ciBpcyBiYWNrIHRvIGJlaW5nIGEgcHJvYmxlbSB3aXRoIHRoZSBzcGVjaWZpY3MKKyAgICAgICAg
b2YgdGhlIGFyZ3VtZW50cyBwYXNzZWQgcmF0aGVyIHRoYW4gYSBwcm9ibGVtIHdpdGggbnVsbCBh
bmQgdW5kZWZpbmVkCisgICAgICAgIHRoZW1zZWx2ZXMgYmVpbmcgaW52YWxpZC4KKwogMjAxNi0w
NS0wNyAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgQ2hhbmdlIE11
dGF0aW9uT2JzZXJ2ZXI6Om9ic2VydmUgdG8gdGFrZSBhbiBJREwgZGljdGlvbmFyeSwgcmF0aGVy
IHRoYW4gV2ViQ29yZTo6RGljdGlvbmFyeQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vTXV0YXRpb25PYnNlcnZlci9vYnNlcnZlLWV4Y2VwdGlvbnMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vTXV0YXRpb25PYnNlcnZlci9vYnNlcnZlLWV4Y2VwdGlvbnMtZXhw
ZWN0ZWQudHh0CmluZGV4IGJlYjk1NTkyNDkxNDc3ZWJlOGY2ODZmNzkzNTAyMTRhN2I5ZTBkZDIu
LjUxZWI0NjA3NWQwMDE0ODViNGFmMDczNWNkZjE2ZGViN2U3Nzc5NzQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL011dGF0aW9uT2JzZXJ2ZXIvb2JzZXJ2ZS1leGNlcHRpb25zLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9NdXRhdGlvbk9ic2VydmVyL29i
c2VydmUtZXhjZXB0aW9ucy1leHBlY3RlZC50eHQKQEAgLTcsOCArNyw4IEBAIFBBU1Mgb2JzZXJ2
ZXIub2JzZXJ2ZSgpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1l
bnRzLgogUEFTUyBvYnNlcnZlci5vYnNlcnZlKG51bGwpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJy
b3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgogUEFTUyBvYnNlcnZlci5vYnNlcnZlKHVuZGVmaW5l
ZCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCiBQQVNT
IG9ic2VydmVyLm9ic2VydmUoZG9jdW1lbnQuYm9keSkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJv
cjogTm90IGVub3VnaCBhcmd1bWVudHMuCi1QQVNTIG9ic2VydmVyLm9ic2VydmUoZG9jdW1lbnQu
Ym9keSwgbnVsbCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogbnVsbCBpcyBub3QgYW4gb2Jq
ZWN0IChldmFsdWF0aW5nICdvYnNlcnZlci5vYnNlcnZlKGRvY3VtZW50LmJvZHksIG51bGwpJyku
Ci1QQVNTIG9ic2VydmVyLm9ic2VydmUoZG9jdW1lbnQuYm9keSwgdW5kZWZpbmVkKSB0aHJldyBl
eGNlcHRpb24gVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGlu
ZyAnb2JzZXJ2ZXIub2JzZXJ2ZShkb2N1bWVudC5ib2R5LCB1bmRlZmluZWQpJykuCitQQVNTIG9i
c2VydmVyLm9ic2VydmUoZG9jdW1lbnQuYm9keSwgbnVsbCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVF
cnJvcjogVHlwZSBlcnJvci4KK1BBU1Mgb2JzZXJ2ZXIub2JzZXJ2ZShkb2N1bWVudC5ib2R5LCB1
bmRlZmluZWQpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCiBQQVNTIG9i
c2VydmVyLm9ic2VydmUobnVsbCwge2F0dHJpYnV0ZXM6IHRydWV9KSB0aHJldyBleGNlcHRpb24g
VHlwZUVycm9yOiBUeXBlIGVycm9yLgogUEFTUyBvYnNlcnZlci5vYnNlcnZlKHVuZGVmaW5lZCwg
e2F0dHJpYnV0ZXM6IHRydWV9KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9y
LgogUEFTUyBvYnNlcnZlci5vYnNlcnZlKGRvY3VtZW50LmJvZHksIHtzdWJ0cmVlOiB0cnVlfSkg
dGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJvci4K
</data>
<flag name="review"
          id="302467"
          type_id="1"
          status="+"
          setter="cdumez"
    />
          </attachment>
      

    </bug>

</bugzilla>