<?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>207024</bug_id>
          
          <creation_ts>2020-01-30 17:54:52 -0800</creation_ts>
          <short_desc>Some improvements to DFG and FTL dumps to improve readability and searchability.</short_desc>
          <delta_ts>2020-01-30 18:32:16 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</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="Mark Lam">mark.lam</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>fpizlo</cc>
    
    <cc>justin_michaud</cc>
    
    <cc>keith_miller</cc>
    
    <cc>msaboff</cc>
    
    <cc>rmorisset</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1613236</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2020-01-30 17:54:52 -0800</bug_when>
    <thetext>Details to come in ChangeLog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1613247</commentid>
    <comment_count>1</comment_count>
      <attachid>389322</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2020-01-30 18:12:15 -0800</bug_when>
    <thetext>Created attachment 389322
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1613253</commentid>
    <comment_count>2</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2020-01-30 18:31:31 -0800</bug_when>
    <thetext>Thanks for the review.  Landed in r255482: &lt;http://trac.webkit.org/r255482&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1613254</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-01-30 18:32:16 -0800</bug_when>
    <thetext>&lt;rdar://problem/59050434&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>389322</attachid>
            <date>2020-01-30 18:12:15 -0800</date>
            <delta_ts>2020-01-30 18:24:59 -0800</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-207024.patch</filename>
            <type>text/plain</type>
            <size>29157</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjU1NDc2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzMiBA
QAorMjAyMC0wMS0zMCAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+CisKKyAgICAgICAg
U29tZSBpbXByb3ZlbWVudHMgdG8gREZHIGFuZCBGVEwgZHVtcHMgdG8gaW1wcm92ZSByZWFkYWJp
bGl0eSBhbmQgc2VhcmNoYWJpbGl0eS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIwNzAyNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggYXBwbGllcyB0aGUgZm9sbG93aW5nIGNoYW5nZXM6
CisKKyAgICAgICAgMS4gUHJlZml4IEFpciBhbmQgQjIgZHVtcHMgd2l0aCBhIHRpZXJOYW1lIHBy
ZWZpeC4KKyAgICAgICAgICAgVGhlIHRpZXJOYW1lIHByZWZpeCBzdHJpbmdzIGFyZSBhcyBmb2xs
b3dzOgorCisgICAgICAgICAgICAgICAiRlRMICIsICJERkcgIiwgImIzICAiLCAiQWlyICIsICJh
c20gIgorCisgICAgICAgICAgIFRoZSBjaG9pY2UgdG8gdXNlIGEgbG93ZXJjYXNlICJiMyIgYW5k
ICJhc20iIHdpdGggdXBwZXIgY2FzZSAiQWlyIiBpcworICAgICAgICAgICBkZWxpYmVyYXRlIGJl
Y2F1c2UgSSBmb3VuZCB0aGlzIGNvbWJpbmF0aW9uIHRvIGJlIGVhc2llciB0byByZWFkIGFuZCBz
Y2FuIGFzCisgICAgICAgICAgIHByZWZpeGVzIG9mIHRoZSBkdW1wIGxpbmVzLiAgU2VlIGR1bXAg
c2FtcGxlcyBiZWxvdy4KKworICAgICAgICAyLiBNYWtlIERGRyBub2RlIElEcyBjb25zaXN0ZW50
bHkgZXhwcmVzc2VkIGFzIERAPG5vZGUgaW5kZXg+IGUuZy4gREAxMDQuCisgICAgICAgICAgIFRo
ZSBkZWZpbml0aW9uIG9mIHRoZSBub2RlIHdpbGwgYmUgdGhlIGlkIGZvbGxvd2VkIGJ5IGEgY29s
b24gZS5nLiBEQDEwNDoKKyAgICAgICAgICAgVGhpcyBtYWtlcyBpdCBlYXN5IHRvIHNlYXJjaCBy
ZWZlcmVuY2VzIHRvIHRoaXMgbm9kZSBhbnl3aGVyZSBpbiB0aGUgZHVtcC4KKworICAgICAgICAg
ICBNYWtlIEIzIG5vZGVzIGV4cHJlc3NlZCBhcyBiQDxub2RlIGluZGV4PiBlLmcuIGJANTQyLgor
ICAgICAgICAgICBUaGlzIGFsc28gbWFrZXMgaXQgc2VhcmNoYWJsZSBzaW5jZSB0aGVyZSdzIG5v
dyBubyBhbWJpZ3VpdHkgYmV0d2VlbiBiQDU0MiBhbmQKKyAgICAgICAgICAgREA1NDIuCisKKyAg
ICAgICAgICAgVGhlIGNob2ljZSB0byB1c2UgYSBsb3dlcmNhc2UgImIiIGFuZCBhbiB1cHBlcmNh
c2UgIkQiIGlzIGludGVudGlvbmFsIGJlY2F1c2UKKyAgICAgICAgICAgImJANTQyIiBhbmQgImRA
NTQyIiBsb29rcyB0b28gc2ltaWxhciwgYW5kIEkgcHJlZmVyIHRvIG5vdCB1c2UgdG9vIG11Y2gK
KyAgICAgICAgICAgdXBwZXJjYXNlLiAgUGx1cyB0aGlzIG1ha2VzIHRoZSBub2RlIGNvbnNpc3Rl
bnQgaW4gY2FwaXRhbGl6YXRpb24gd2l0aCB0aGUKKyAgICAgICAgICAgdGllck5hbWUgcHJlZml4
ZXMgYWJvdmUgb2YgImIzICAiIGFuZCAiREZHICIgcmVzcGVjdGl2ZWx5LgorCisgICAgICAgIEhl
cmUncyBhIHNhbXBsZSBvZiB3aGF0IHRoZSBkdW1wcyBub3cgbG9vayBsaWtlOgorCisgICAgICAg
IERGRyBncmFwaCBkdW1wOgorICAgICAgICA8Y29kZT4KKyAgICAgICAgICAgIC4uLgorICAgICAg
ICAgICAgICAgICA2IDU1OiAgIDwtLSBmb28jREZuZENXOjwweDYyZDAwMDBiODE0MCwgYmMjNjUs
IENhbGwsIGtub3duIGNhbGxlZTogT2JqZWN0OiAweDYyZDAwMDAzNTkyMCB3aXRoIGJ1dHRlcmZs
eSAweDAgKFN0cnVjdHVyZSAlQU46RnVuY3Rpb24pLCBTdHJ1Y3R1cmVJRDogMTI3MTEsIG51bUFy
Z3MrdGhpcyA9IDEsIG51bUZpeHVwID0gMCwgc3RhY2tPZmZzZXQgPSAtMTYgKGxvYzAgbWFwcyB0
byBsb2MxNik+CisgICAgICAgICAgICAgIDMgIDYgNTU6ICAgREA3OTo8IDM6LT4gICAgQXJpdGhB
ZGQoSW50MzI6S2lsbDpEQDk1LCBJbnQzMjpEQDQyLCBJbnQzMnxQdXJlTnVtfFVzZUFzT3RoZXIs
IEludDMyLCBDaGVja092ZXJmbG93LCBFeGl0cywgYmMjNzEsIEV4aXRWYWxpZCkKKyAgICAgICAg
ICAgICAgNCAgNiA1NTogICAgREAzOjwhMDotPiAgICBLaWxsU3RhY2soTXVzdEdlbiwgbG9jNywg
VzpTdGFjayhsb2M3KSwgQ2xvYmJlcnNFeGl0LCBiYyM3MSwgRXhpdEludmFsaWQpCisgICAgICAg
ICAgICAgIDUgIDYgNTU6ICAgREA4NTo8ITA6LT4gICAgTW92SGludChDaGVjazpVbnR5cGVkOkRA
NzksIE11c3RHZW4sIGxvYzcsIFc6U2lkZVN0YXRlLCBDbG9iYmVyc0V4aXQsIGJjIzcxLCBFeGl0
SW52YWxpZCkKKyAgICAgICAgICAgICAgNiAgNiA1NTogIERAMTAyOjwgMTotPiAgICBDb21wYXJl
TGVzcyhJbnQzMjpEQDc5LCBJbnQzMjpEQDg5LCBCb29sZWFufFVzZUFzT3RoZXIsIEJvb2wsIEV4
aXRzLCBiYyM3NCwgRXhpdFZhbGlkKQorICAgICAgICAgICAgICA3ICA2IDU1OiAgREAxMDQ6PCEw
Oi0+ICAgIEJyYW5jaChLbm93bkJvb2xlYW46S2lsbDpEQDEwMiwgTXVzdEdlbiwgVDojMS93OjEw
LjAwMDAwMCwgRjojNy93OjEuMDAwMDAwLCBXOlNpZGVTdGF0ZSwgYmMjNzQsIEV4aXRJbnZhbGlk
KQorICAgICAgICAgICAgLi4uCisgICAgICAgIDwvY29kZT4KKworICAgICAgICBCMyBncmFwaCBk
dW1wOgorICAgICAgICA8Y29kZT4KKyAgICAgICAgICAgIC4uLgorICAgICAgICAgICAgYjMgIEJC
IzE0OiA7IGZyZXF1ZW5jeSA9IDEwLjAwMDAwMAorICAgICAgICAgICAgYjMgICAgUHJlZGVjZXNz
b3JzOiAjMTMKKyAgICAgICAgICAgIGIzICAgICAgSW50MzIgYkA1MzEgPSBDaGVja0FkZChiQDEw
Oldhcm1BbnksICQxKGJAMSk6V2FybUFueSwgYkA2NDpDb2xkQW55LCBiQDEwOkNvbGRBbnksIGdl
bmVyYXRvciA9IDB4NjA2MDAwMDIyZTgwLCBlYXJseUNsb2JiZXJlZCA9IFtdLCBsYXRlQ2xvYmJl
cmVkID0gW10sIHVzZWRSZWdpc3RlcnMgPSBbXSwgRXhpdHNTaWRld2F5c3xSZWFkczpUb3AsIERA
NzkpCisgICAgICAgICAgICBiMyAgICAgIEludDMyIGJANTM5ID0gTGVzc1RoYW4oYkA1MzEsICQx
MDAoYkA1NzgpLCBEQDEwMikKKyAgICAgICAgICAgIGIzICAgICAgVm9pZCBiQDU0MiA9IEJyYW5j
aChiQDUzOSwgVGVybWluYWwsIERAMTA0KQorICAgICAgICAgICAgYjMgICAgU3VjY2Vzc29yczog
VGhlbjojMiwgRWxzZTojMTUKKyAgICAgICAgICAgIC4uLgorICAgICAgICA8L2NvZGU+CisKKyAg
ICAgICAgQWlyIGdyYXBoIGR1bXA6CisgICAgICAgIDxjb2RlPgorICAgICAgICAgICAgLi4uCisg
ICAgICAgICAgICBBaXIgQkIjNTogOyBmcmVxdWVuY3kgPSAxMC4wMDAwMDAKKyAgICAgICAgICAg
IEFpciAgIFByZWRlY2Vzc29yczogIzQKKyAgICAgICAgICAgIEFpciAgICAgTW92ZSAtOTYoJXJi
cCksICVyYXgsIGJANTMxCisgICAgICAgICAgICBBaXIgICAgIFBhdGNoICZCcmFuY2hBZGQzMigz
LEZvcmNlTGF0ZVVzZVVubGVzc1JlY292ZXJhYmxlKTMsIE92ZXJmbG93LCAkMSwgJXJheCwgLTEw
NCglcmJwKSwgLTk2KCVyYnApLCBiQDUzMQorICAgICAgICAgICAgQWlyICAgICBCcmFuY2gzMiBM
ZXNzVGhhbiwgJXJheCwgJDEwMCwgYkA1NDIKKyAgICAgICAgICAgIEFpciAgIFN1Y2Nlc3NvcnM6
ICMxLCAjNgorICAgICAgICAgICAgLi4uCisgICAgICAgIDwvY29kZT4KKworICAgICAgICBGVEwg
ZGlzYXNzZW1ibHkgZHVtcDoKKyAgICAgICAgPGNvZGU+CisgICAgICAgICAgICAuLi4KKyAgICAg
ICAgICAgIEFpciBCQiM1OiA7IGZyZXF1ZW5jeSA9IDEwLjAwMDAwMAorICAgICAgICAgICAgQWly
ICAgUHJlZGVjZXNzb3JzOiAjNAorICAgICAgICAgICAgREZHICAgICAgIERANDI6PCAyOi0+ICAg
SlNDb25zdGFudChKU3xQdXJlSW50LCBJbnQzMiwgSW50MzI6IDEsIGJjIzAsIEV4aXRJbnZhbGlk
KQorICAgICAgICAgICAgREZHICAgICAgIERANzk6PCAzOi0+ICAgQXJpdGhBZGQoSW50MzI6S2ls
bDpEQDk1LCBJbnQzMjpEQDQyLCBJbnQzMnxQdXJlTnVtfFVzZUFzT3RoZXIsIEludDMyLCBDaGVj
a092ZXJmbG93LCBFeGl0cywgYmMjNzEsIEV4aXRWYWxpZCkKKyAgICAgICAgICAgIGIzICAgICAg
ICAgICAgSW50MzIgYkAxID0gQ29uc3QzMigxKQorICAgICAgICAgICAgYjMgICAgICAgICAgICBJ
bnQzMiBiQDUzMSA9IENoZWNrQWRkKGJAMTA6V2FybUFueSwgJDEoYkAxKTpXYXJtQW55LCBiQDY0
OkNvbGRBbnksIGJAMTA6Q29sZEFueSwgZ2VuZXJhdG9yID0gMHg2MDYwMDAwMjJlODAsIGVhcmx5
Q2xvYmJlcmVkID0gW10sIGxhdGVDbG9iYmVyZWQgPSBbXSwgdXNlZFJlZ2lzdGVycyA9IFslcmF4
LCAlcmJ4LCAlcmJwLCAlcjEyXSwgRXhpdHNTaWRld2F5c3xSZWFkczpUb3AsIERANzkpCisgICAg
ICAgICAgICBBaXIgICAgICAgICAgICAgICBNb3ZlIC05NiglcmJwKSwgJXJheCwgYkA1MzEKKyAg
ICAgICAgICAgIGFzbSAgICAgICAgICAgICAgICAgICAweDQ1NzZiOWMwNDcxMjogbW92IC0weDYw
KCVyYnApLCAlcmF4CisgICAgICAgICAgICBBaXIgICAgICAgICAgICAgICBQYXRjaCAmQnJhbmNo
QWRkMzIoMyxGb3JjZUxhdGVVc2VVbmxlc3NSZWNvdmVyYWJsZSkzLCBPdmVyZmxvdywgJDEsICVy
YXgsIC0xMDQoJXJicCksIC05NiglcmJwKSwgYkA1MzEKKyAgICAgICAgICAgIGFzbSAgICAgICAg
ICAgICAgICAgICAweDQ1NzZiOWMwNDcxNjogaW5jICVlYXgKKyAgICAgICAgICAgIGFzbSAgICAg
ICAgICAgICAgICAgICAweDQ1NzZiOWMwNDcxODogam8gMHg0NTc2YjljMDQ4NjEKKyAgICAgICAg
ICAgIERGRyAgICAgICBEQDg5OjwgMTotPiAgIEpTQ29uc3RhbnQoSlN8UHVyZU51bXxVc2VBc090
aGVyLCBOb25Cb29sSW50MzIsIEludDMyOiAxMDAsIGJjIzAsIEV4aXRJbnZhbGlkKQorICAgICAg
ICAgICAgREZHICAgICAgREAxMDI6PCAxOi0+ICAgQ29tcGFyZUxlc3MoSW50MzI6REA3OSwgSW50
MzI6REA4OSwgQm9vbGVhbnxVc2VBc090aGVyLCBCb29sLCBFeGl0cywgYmMjNzQsIEV4aXRWYWxp
ZCkKKyAgICAgICAgICAgIERGRyAgICAgIERAMTA0OjwhMDotPiAgIEJyYW5jaChLbm93bkJvb2xl
YW46S2lsbDpEQDEwMiwgTXVzdEdlbiwgVDojMS93OjEwLjAwMDAwMCwgRjojNy93OjEuMDAwMDAw
LCBXOlNpZGVTdGF0ZSwgYmMjNzQsIEV4aXRJbnZhbGlkKQorICAgICAgICAgICAgYjMgICAgICAg
ICAgICBJbnQzMiBiQDU3OCA9IENvbnN0MzIoMTAwLCBEQDg5KQorICAgICAgICAgICAgYjMgICAg
ICAgICAgICBJbnQzMiBiQDUzOSA9IExlc3NUaGFuKGJANTMxLCAkMTAwKGJANTc4KSwgREAxMDIp
CisgICAgICAgICAgICBiMyAgICAgICAgICAgIFZvaWQgYkA1NDIgPSBCcmFuY2goYkA1MzksIFRl
cm1pbmFsLCBEQDEwNCkKKyAgICAgICAgICAgIEFpciAgICAgICAgICAgICAgIEJyYW5jaDMyIExl
c3NUaGFuLCAlcmF4LCAkMTAwLCBiQDU0MgorICAgICAgICAgICAgYXNtICAgICAgICAgICAgICAg
ICAgIDB4NDU3NmI5YzA0NzFlOiBjbXAgJDB4NjQsICVlYXgKKyAgICAgICAgICAgIGFzbSAgICAg
ICAgICAgICAgICAgICAweDQ1NzZiOWMwNDcyMTogamwgMHg0NTc2YjljMDQ2MmYKKyAgICAgICAg
ICAgIEFpciAgIFN1Y2Nlc3NvcnM6ICMxLCAjNgorICAgICAgICAgICAgLi4uCisgICAgICAgIDwv
Y29kZT4KKworICAgICAgICAqIGIzL0IzQmFzaWNCbG9jay5jcHA6CisgICAgICAgIChKU0M6OkIz
OjpCYXNpY0Jsb2NrOjpkZWVwRHVtcCBjb25zdCk6CisgICAgICAgICogYjMvQjNDb21tb24uY3Bw
OgorICAgICAgICAqIGIzL0IzQ29tbW9uLmg6CisgICAgICAgICogYjMvQjNHZW5lcmF0ZS5jcHA6
CisgICAgICAgIChKU0M6OkIzOjpnZW5lcmF0ZVRvQWlyKToKKyAgICAgICAgKiBiMy9CM1Byb2Nl
ZHVyZS5jcHA6CisgICAgICAgIChKU0M6OkIzOjpQcm9jZWR1cmU6OmR1bXAgY29uc3QpOgorICAg
ICAgICAqIGIzL0IzVmFsdWUuY3BwOgorICAgICAgICAqIGIzL2Fpci9BaXJCYXNpY0Jsb2NrLmNw
cDoKKyAgICAgICAgKEpTQzo6QjM6OkFpcjo6QmFzaWNCbG9jazo6ZGVlcER1bXAgY29uc3QpOgor
ICAgICAgICAoSlNDOjpCMzo6QWlyOjpCYXNpY0Jsb2NrOjpkdW1wSGVhZGVyIGNvbnN0KToKKyAg
ICAgICAgKEpTQzo6QjM6OkFpcjo6QmFzaWNCbG9jazo6ZHVtcEZvb3RlciBjb25zdCk6CisgICAg
ICAgICogYjMvYWlyL0FpckNvZGUuY3BwOgorICAgICAgICAoSlNDOjpCMzo6QWlyOjpDb2RlOjpk
dW1wIGNvbnN0KToKKyAgICAgICAgKiBiMy9haXIvQWlyQ29kZS5oOgorICAgICAgICAqIGIzL2Fp
ci9BaXJEaXNhc3NlbWJsZXIuY3BwOgorICAgICAgICAoSlNDOjpCMzo6QWlyOjpEaXNhc3NlbWJs
ZXI6OmR1bXApOgorICAgICAgICAqIGIzL2Fpci9BaXJHZW5lcmF0ZS5jcHA6CisgICAgICAgIChK
U0M6OkIzOjpBaXI6OnByZXBhcmVGb3JHZW5lcmF0aW9uKToKKyAgICAgICAgKiBkZmcvREZHQ29t
bW9uLmNwcDoKKyAgICAgICAgKiBkZmcvREZHQ29tbW9uLmg6CisgICAgICAgICogZGZnL0RGR0dy
YXBoLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpHcmFwaDo6ZHVtcCk6CisgICAgICAgIChKU0M6
OkRGRzo6R3JhcGg6OmR1bXBCbG9ja0hlYWRlcik6CisgICAgICAgICogZGZnL0RGR05vZGUuY3Bw
OgorICAgICAgICAoV1RGOjpwcmludEludGVybmFsKToKKyAgICAgICAgKiBmdGwvRlRMQ29tcGls
ZS5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6Y29tcGlsZSk6CisgICAgICAgICogZnRsL0ZUTENv
bXBpbGUuaDoKKyAgICAgICAgKiBmdGwvRlRMU3RhdGUuY3BwOgorICAgICAgICAoSlNDOjpGVEw6
OlN0YXRlOjpTdGF0ZSk6CisKIDIwMjAtMDEtMzAgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFw
cGxlLmNvbT4KIAogICAgICAgICBbV1RGXSBSZW1vdmUgUGFja2VkSW50VmVjdG9yCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNCYXNpY0Jsb2NrLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNCYXNpY0Jsb2NrLmNwcAkocmV2aXNpb24gMjU1NDE2
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQmFzaWNCbG9jay5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE1LTIwMTYgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE1LTIwMjAg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCkBAIC0xNTQsMTMgKzE1NCwxMyBAQCB2b2lkIEJhc2ljQmxvY2s6OmR1bXAoUHJpbnRT
dHJlYW0mIG91dCkgCiAKIHZvaWQgQmFzaWNCbG9jazo6ZGVlcER1bXAoY29uc3QgUHJvY2VkdXJl
JiBwcm9jLCBQcmludFN0cmVhbSYgb3V0KSBjb25zdAogewotICAgIG91dC5wcmludCgiQkIiLCAq
dGhpcywgIjogOyBmcmVxdWVuY3kgPSAiLCBtX2ZyZXF1ZW5jeSwgIlxuIik7CisgICAgb3V0LnBy
aW50KHRpZXJOYW1lLCAiQkIiLCAqdGhpcywgIjogOyBmcmVxdWVuY3kgPSAiLCBtX2ZyZXF1ZW5j
eSwgIlxuIik7CiAgICAgaWYgKHByZWRlY2Vzc29ycygpLnNpemUoKSkKLSAgICAgICAgb3V0LnBy
aW50KCIgIFByZWRlY2Vzc29yczogIiwgcG9pbnRlckxpc3REdW1wKHByZWRlY2Vzc29ycygpKSwg
IlxuIik7CisgICAgICAgIG91dC5wcmludCh0aWVyTmFtZSwgIiAgUHJlZGVjZXNzb3JzOiAiLCBw
b2ludGVyTGlzdER1bXAocHJlZGVjZXNzb3JzKCkpLCAiXG4iKTsKICAgICBmb3IgKFZhbHVlKiB2
YWx1ZSA6ICp0aGlzKQotICAgICAgICBvdXQucHJpbnQoIiAgICAiLCBCMzo6ZGVlcER1bXAocHJv
YywgdmFsdWUpLCAiXG4iKTsKKyAgICAgICAgb3V0LnByaW50KHRpZXJOYW1lLCAiICAgICIsIEIz
OjpkZWVwRHVtcChwcm9jLCB2YWx1ZSksICJcbiIpOwogICAgIGlmICghc3VjY2Vzc29ycygpLmlz
RW1wdHkoKSkgewotICAgICAgICBvdXQucHJpbnQoIiAgU3VjY2Vzc29yczogIik7CisgICAgICAg
IG91dC5wcmludCh0aWVyTmFtZSwgIiAgU3VjY2Vzc29yczogIik7CiAgICAgICAgIGlmIChzaXpl
KCkpCiAgICAgICAgICAgICBsYXN0KCktPmR1bXBTdWNjZXNzb3JzKHRoaXMsIG91dCk7CiAgICAg
ICAgIGVsc2UKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NvbW1vbi5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ29tbW9uLmNwcAkocmV2aXNp
b24gMjU1NDE2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ29tbW9uLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE1LTIwMjAg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCkBAIC0zNSw2ICszNSw4IEBACiAKIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgQjMg
ewogCitjb25zdCBjaGFyKiBjb25zdCB0aWVyTmFtZSA9ICJiMyAgIjsKKwogYm9vbCBzaG91bGRE
dW1wSVIoQjNDb21waWxhdGlvbk1vZGUgbW9kZSkKIHsKICNpZiBFTkFCTEUoRlRMX0pJVCkKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NvbW1vbi5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NvbW1vbi5oCShyZXZpc2lvbiAyNTU0MTYpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb21tb24uaAkod29ya2luZyBjb3B5KQpAQCAtMSw1
ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTUtMjAxNyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUtMjAyMCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTM0
LDYgKzM0LDggQEAKIAogbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBCMyB7CiAKK2V4dGVybiBj
b25zdCBjaGFyKiBjb25zdCB0aWVyTmFtZTsKKwogZW51bSBCM0NvbXBpbGF0aW9uTW9kZSB7CiAg
ICAgQjNNb2RlLAogICAgIEFpck1vZGUKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9C
M0dlbmVyYXRlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNH
ZW5lcmF0ZS5jcHAJKHJldmlzaW9uIDI1NTQxNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
My9CM0dlbmVyYXRlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMTUtMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTUtMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTc0LDcgKzc0LDcgQEAgdm9pZCBn
ZW5lcmF0ZVRvQWlyKFByb2NlZHVyZSYgcHJvY2VkdXJlKQogICAgIFRpbWluZ1Njb3BlIHRpbWlu
Z1Njb3BlKCJnZW5lcmF0ZVRvQWlyIik7CiAgICAgCiAgICAgaWYgKHNob3VsZER1bXBJUihCM01v
ZGUpICYmICFzaG91bGREdW1wSVJBdEVhY2hQaGFzZShCM01vZGUpKSB7Ci0gICAgICAgIGRhdGFM
b2coIkluaXRpYWwgQjM6XG4iKTsKKyAgICAgICAgZGF0YUxvZyh0aWVyTmFtZSwgIkluaXRpYWwg
QjM6XG4iKTsKICAgICAgICAgZGF0YUxvZyhwcm9jZWR1cmUpOwogICAgIH0KIApJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzUHJvY2VkdXJlLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYjMvQjNQcm9jZWR1cmUuY3BwCShyZXZpc2lvbiAyNTU0MTYpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNQcm9jZWR1cmUuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNS0yMDE5IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNS0yMDIwIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwpAQCAtMjM5LDIyICsyMzksMjIgQEAgdm9pZCBQcm9jZWR1cmU6OmR1bXAoUHJpbnRTdHJlYW0m
IG91dCkgYwogICAgICAgICAgICAgY29udGludWU7CiAKICAgICAgICAgaWYgKCFkaWRQcmludCkg
ewotICAgICAgICAgICAgZGF0YUxvZygiT3JwaGFuZWQgdmFsdWVzOlxuIik7CisgICAgICAgICAg
ICBkYXRhTG9nKHRpZXJOYW1lLCAiT3JwaGFuZWQgdmFsdWVzOlxuIik7CiAgICAgICAgICAgICBk
aWRQcmludCA9IHRydWU7CiAgICAgICAgIH0KLSAgICAgICAgZGF0YUxvZygiICAgICIsIGRlZXBE
dW1wKCp0aGlzLCB2YWx1ZSksICJcbiIpOworICAgICAgICBkYXRhTG9nKHRpZXJOYW1lLCAiICAg
ICIsIGRlZXBEdW1wKCp0aGlzLCB2YWx1ZSksICJcbiIpOwogICAgIH0KICAgICBpZiAoaGFzUXVp
cmtzKCkpCi0gICAgICAgIG91dC5wcmludCgiSGFzIFF1aXJrczogVHJ1ZVxuIik7CisgICAgICAg
IG91dC5wcmludCh0aWVyTmFtZSwgIkhhcyBRdWlya3M6IFRydWVcbiIpOwogICAgIGlmICh2YXJp
YWJsZXMoKS5zaXplKCkpIHsKLSAgICAgICAgb3V0LnByaW50KCJWYXJpYWJsZXM6XG4iKTsKKyAg
ICAgICAgb3V0LnByaW50KHRpZXJOYW1lLCAiVmFyaWFibGVzOlxuIik7CiAgICAgICAgIGZvciAo
VmFyaWFibGUqIHZhcmlhYmxlIDogdmFyaWFibGVzKCkpCi0gICAgICAgICAgICBvdXQucHJpbnQo
IiAgICAiLCBkZWVwRHVtcCh2YXJpYWJsZSksICJcbiIpOworICAgICAgICAgICAgb3V0LnByaW50
KHRpZXJOYW1lLCAiICAgICIsIGRlZXBEdW1wKHZhcmlhYmxlKSwgIlxuIik7CiAgICAgfQogICAg
IGlmIChzdGFja1Nsb3RzKCkuc2l6ZSgpKSB7Ci0gICAgICAgIG91dC5wcmludCgiU3RhY2sgc2xv
dHM6XG4iKTsKKyAgICAgICAgb3V0LnByaW50KHRpZXJOYW1lLCAiU3RhY2sgc2xvdHM6XG4iKTsK
ICAgICAgICAgZm9yIChTdGFja1Nsb3QqIHNsb3QgOiBzdGFja1Nsb3RzKCkpCi0gICAgICAgICAg
ICBvdXQucHJpbnQoIiAgICAiLCBwb2ludGVyRHVtcChzbG90KSwgIjogIiwgZGVlcER1bXAoc2xv
dCksICJcbiIpOworICAgICAgICAgICAgb3V0LnByaW50KHRpZXJOYW1lLCAiICAgICIsIHBvaW50
ZXJEdW1wKHNsb3QpLCAiOiAiLCBkZWVwRHVtcChzbG90KSwgIlxuIik7CiAgICAgfQogICAgIGlm
IChtX2J5cHJvZHVjdHMtPmNvdW50KCkpCiAgICAgICAgIG91dC5wcmludCgqbV9ieXByb2R1Y3Rz
KTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1ZhbHVlLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNWYWx1ZS5jcHAJKHJldmlzaW9uIDI1NTQx
NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1ZhbHVlLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTUtMjAxNyBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUtMjAyMCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKQEAgLTUxLDcgKzUxLDcgQEAKIAogbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBCMyB7CiAK
LWNvbnN0IGNoYXIqIGNvbnN0IFZhbHVlOjpkdW1wUHJlZml4ID0gIkAiOworY29uc3QgY2hhciog
Y29uc3QgVmFsdWU6OmR1bXBQcmVmaXggPSAiYkAiOwogdm9pZCBEZWVwVmFsdWVEdW1wOjpkdW1w
KFByaW50U3RyZWFtJiBvdXQpIGNvbnN0CiB7CiAgICAgaWYgKG1fdmFsdWUpCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpckJhc2ljQmxvY2suY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIvQWlyQmFzaWNCbG9jay5jcHAJKHJldmlzaW9u
IDI1NTQxNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIvQWlyQmFzaWNCbG9jay5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAy
MDE1LTIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChD
KSAyMDE1LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCkBAIC03MiwyMSArNzIsMjEgQEAgdm9pZCBCYXNpY0Jsb2NrOjpk
ZWVwRHVtcChQcmludFN0cmVhbSYgbwogewogICAgIGR1bXBIZWFkZXIob3V0KTsKICAgICBmb3Ig
KGNvbnN0IEluc3QmIGluc3QgOiAqdGhpcykKLSAgICAgICAgb3V0LnByaW50KCIgICAgIiwgaW5z
dCwgIlxuIik7CisgICAgICAgIG91dC5wcmludCh0aWVyTmFtZSwgIiAgICAiLCBpbnN0LCAiXG4i
KTsKICAgICBkdW1wRm9vdGVyKG91dCk7CiB9CiAKIHZvaWQgQmFzaWNCbG9jazo6ZHVtcEhlYWRl
cihQcmludFN0cmVhbSYgb3V0KSBjb25zdAogewotICAgIG91dC5wcmludCgiQkIiLCAqdGhpcywg
IjogOyBmcmVxdWVuY3kgPSAiLCBtX2ZyZXF1ZW5jeSwgIlxuIik7CisgICAgb3V0LnByaW50KHRp
ZXJOYW1lLCAiQkIiLCAqdGhpcywgIjogOyBmcmVxdWVuY3kgPSAiLCBtX2ZyZXF1ZW5jeSwgIlxu
Iik7CiAgICAgaWYgKHByZWRlY2Vzc29ycygpLnNpemUoKSkKLSAgICAgICAgb3V0LnByaW50KCIg
IFByZWRlY2Vzc29yczogIiwgcG9pbnRlckxpc3REdW1wKHByZWRlY2Vzc29ycygpKSwgIlxuIik7
CisgICAgICAgIG91dC5wcmludCh0aWVyTmFtZSwgIiAgUHJlZGVjZXNzb3JzOiAiLCBwb2ludGVy
TGlzdER1bXAocHJlZGVjZXNzb3JzKCkpLCAiXG4iKTsKIH0KIAogdm9pZCBCYXNpY0Jsb2NrOjpk
dW1wRm9vdGVyKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0CiB7CiAgICAgaWYgKHN1Y2Nlc3NvcnMo
KS5zaXplKCkpCi0gICAgICAgIG91dC5wcmludCgiICBTdWNjZXNzb3JzOiAiLCBsaXN0RHVtcChz
dWNjZXNzb3JzKCkpLCAiXG4iKTsKKyAgICAgICAgb3V0LnByaW50KHRpZXJOYW1lLCAiICBTdWNj
ZXNzb3JzOiAiLCBsaXN0RHVtcChzdWNjZXNzb3JzKCkpLCAiXG4iKTsKIH0KIAogQmFzaWNCbG9j
azo6QmFzaWNCbG9jayh1bnNpZ25lZCBpbmRleCwgZG91YmxlIGZyZXF1ZW5jeSkKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIvQWlyQ29kZS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJDb2RlLmNwcAkocmV2aXNpb24gMjU1NDE2KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJDb2RlLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTUtMjAxOCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUtMjAyMCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKQEAgLTQwLDYgKzQwLDggQEAKIAogbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBCMyB7IG5h
bWVzcGFjZSBBaXIgewogCitjb25zdCBjaGFyKiBjb25zdCB0aWVyTmFtZSA9ICJBaXIgIjsKKwog
c3RhdGljIHZvaWQgZGVmYXVsdFByb2xvZ3VlR2VuZXJhdG9yKENDYWxsSGVscGVycyYgaml0LCBD
b2RlJiBjb2RlKQogewogICAgIGppdC5lbWl0RnVuY3Rpb25Qcm9sb2d1ZSgpOwpAQCAtMjQ4LDI2
ICsyNTAsMjYgQEAgdm9pZCBDb2RlOjpyZXNldFJlYWNoYWJpbGl0eSgpCiB2b2lkIENvZGU6OmR1
bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3QKIHsKICAgICBpZiAoIW1fZW50cnlwb2ludHMuaXNF
bXB0eSgpKQotICAgICAgICBvdXQucHJpbnQoIkVudHJ5cG9pbnRzOiAiLCBsaXN0RHVtcChtX2Vu
dHJ5cG9pbnRzKSwgIlxuIik7CisgICAgICAgIG91dC5wcmludCh0aWVyTmFtZSwgIkVudHJ5cG9p
bnRzOiAiLCBsaXN0RHVtcChtX2VudHJ5cG9pbnRzKSwgIlxuIik7CiAgICAgZm9yIChCYXNpY0Js
b2NrKiBibG9jayA6ICp0aGlzKQogICAgICAgICBvdXQucHJpbnQoZGVlcER1bXAoYmxvY2spKTsK
ICAgICBpZiAoc3RhY2tTbG90cygpLnNpemUoKSkgewotICAgICAgICBvdXQucHJpbnQoIlN0YWNr
IHNsb3RzOlxuIik7CisgICAgICAgIG91dC5wcmludCh0aWVyTmFtZSwgIlN0YWNrIHNsb3RzOlxu
Iik7CiAgICAgICAgIGZvciAoU3RhY2tTbG90KiBzbG90IDogc3RhY2tTbG90cygpKQotICAgICAg
ICAgICAgb3V0LnByaW50KCIgICAgIiwgcG9pbnRlckR1bXAoc2xvdCksICI6ICIsIGRlZXBEdW1w
KHNsb3QpLCAiXG4iKTsKKyAgICAgICAgICAgIG91dC5wcmludCh0aWVyTmFtZSwgIiAgICAiLCBw
b2ludGVyRHVtcChzbG90KSwgIjogIiwgZGVlcER1bXAoc2xvdCksICJcbiIpOwogICAgIH0KICAg
ICBpZiAoc3BlY2lhbHMoKS5zaXplKCkpIHsKLSAgICAgICAgb3V0LnByaW50KCJTcGVjaWFsczpc
biIpOworICAgICAgICBvdXQucHJpbnQodGllck5hbWUsICJTcGVjaWFsczpcbiIpOwogICAgICAg
ICBmb3IgKFNwZWNpYWwqIHNwZWNpYWwgOiBzcGVjaWFscygpKQotICAgICAgICAgICAgb3V0LnBy
aW50KCIgICAgIiwgZGVlcER1bXAoc3BlY2lhbCksICJcbiIpOworICAgICAgICAgICAgb3V0LnBy
aW50KHRpZXJOYW1lLCAiICAgICIsIGRlZXBEdW1wKHNwZWNpYWwpLCAiXG4iKTsKICAgICB9CiAg
ICAgaWYgKG1fZnJhbWVTaXplIHx8IG1fc3RhY2tJc0FsbG9jYXRlZCkKLSAgICAgICAgb3V0LnBy
aW50KCJGcmFtZSBzaXplOiAiLCBtX2ZyYW1lU2l6ZSwgbV9zdGFja0lzQWxsb2NhdGVkID8gIiAo
QWxsb2NhdGVkKSIgOiAiIiwgIlxuIik7CisgICAgICAgIG91dC5wcmludCh0aWVyTmFtZSwgIkZy
YW1lIHNpemU6ICIsIG1fZnJhbWVTaXplLCBtX3N0YWNrSXNBbGxvY2F0ZWQgPyAiIChBbGxvY2F0
ZWQpIiA6ICIiLCAiXG4iKTsKICAgICBpZiAobV9jYWxsQXJnQXJlYVNpemUpCi0gICAgICAgIG91
dC5wcmludCgiQ2FsbCBhcmcgYXJlYSBzaXplOiAiLCBtX2NhbGxBcmdBcmVhU2l6ZSwgIlxuIik7
CisgICAgICAgIG91dC5wcmludCh0aWVyTmFtZSwgIkNhbGwgYXJnIGFyZWEgc2l6ZTogIiwgbV9j
YWxsQXJnQXJlYVNpemUsICJcbiIpOwogICAgIFJlZ2lzdGVyQXRPZmZzZXRMaXN0IGNhbGxlZVNh
dmVSZWdpc3RlcnMgPSB0aGlzLT5jYWxsZWVTYXZlUmVnaXN0ZXJBdE9mZnNldExpc3QoKTsKICAg
ICBpZiAoY2FsbGVlU2F2ZVJlZ2lzdGVycy5zaXplKCkpCi0gICAgICAgIG91dC5wcmludCgiQ2Fs
bGVlIHNhdmVzOiAiLCBjYWxsZWVTYXZlUmVnaXN0ZXJzLCAiXG4iKTsKKyAgICAgICAgb3V0LnBy
aW50KHRpZXJOYW1lLCAiQ2FsbGVlIHNhdmVzOiAiLCBjYWxsZWVTYXZlUmVnaXN0ZXJzLCAiXG4i
KTsKIH0KIAogdW5zaWduZWQgQ29kZTo6ZmluZEZpcnN0QmxvY2tJbmRleCh1bnNpZ25lZCBpbmRl
eCkgY29uc3QKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIvQWlyQ29kZS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIvQWlyQ29kZS5oCShyZXZp
c2lvbiAyNTU0MTYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpckNvZGUuaAko
d29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTUt
MjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTUtMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKQEAgLTYzLDYgKzYzLDggQEAgdHlwZWRlZiBTaGFyZWRUYXNrPFdhc21C
b3VuZHNDaGVja0dlbmVyYQogdHlwZWRlZiB2b2lkIFByb2xvZ3VlR2VuZXJhdG9yRnVuY3Rpb24o
Q0NhbGxIZWxwZXJzJiwgQ29kZSYpOwogdHlwZWRlZiBTaGFyZWRUYXNrPFByb2xvZ3VlR2VuZXJh
dG9yRnVuY3Rpb24+IFByb2xvZ3VlR2VuZXJhdG9yOwogCitleHRlcm4gY29uc3QgY2hhciogY29u
c3QgdGllck5hbWU7CisKIC8vIFRoaXMgaXMgYW4gSVIgdGhhdCBpcyB2ZXJ5IGNsb3NlIHRvIHRo
ZSBiYXJlIG1ldGFsLiBJdCByZXF1aXJlcyBhYm91dCA0MHggbW9yZSBieXRlcyB0aGFuIHRoZQog
Ly8gZ2VuZXJhdGVkIG1hY2hpbmUgY29kZSAtIGZvciBleGFtcGxlIGlmIHlvdSdyZSBnZW5lcmF0
aW5nIDFNQiBvZiBtYWNoaW5lIGNvZGUsIHlvdSBuZWVkIGFib3V0CiAvLyA0ME1CIG9mIEFpci4K
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIvQWlyRGlzYXNzZW1ibGVyLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpckRpc2Fzc2VtYmxl
ci5jcHAJKHJldmlzaW9uIDI1NTQxNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIv
QWlyRGlzYXNzZW1ibGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMTctMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTctMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTEwNSw3ICsxMDUsNyBAQCB2
b2lkIERpc2Fzc2VtYmxlcjo6ZHVtcChDb2RlJiBjb2RlLCBQcmluCiAKICAgICAvLyBGSVhNRTog
V2UgY291bGQgYmUgYmV0dGVyIGFib3V0IHZhcmlvdXMgbGF0ZSBwYXRocy4gV2UgY2FuIGltcGxl
bWVudAogICAgIC8vIHRoaXMgbGF0ZXIgaWYgd2UgZmluZCBhIHN0cm9uZyB1c2UgZm9yIGl0Lgot
ICAgIG91dC5wcmludCgiIyBMYXRlIHBhdGhzXG4iKTsKKyAgICBvdXQucHJpbnQodGllck5hbWUs
ICIjIExhdGUgcGF0aHNcbiIpOwogICAgIGR1bXBBc21SYW5nZShtX2xhdGVQYXRoU3RhcnQsIG1f
bGF0ZVBhdGhFbmQpOwogfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0Fp
ckdlbmVyYXRlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWly
L0FpckdlbmVyYXRlLmNwcAkocmV2aXNpb24gMjU1NDE2KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2IzL2Fpci9BaXJHZW5lcmF0ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBA
CiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE1LTIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE1LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC02OCw3ICs2OCw3
IEBAIHZvaWQgcHJlcGFyZUZvckdlbmVyYXRpb24oQ29kZSYgY29kZSkKICAgICAKICAgICAvLyBJ
ZiB3ZSdyZSBkb2luZyBzdXBlciB2ZXJib3NlIGR1bXBpbmcsIHRoZSBwaGFzZSBzY29wZSBvZiBh
bnkgcGhhc2Ugd2lsbCBhbHJlYWR5IGRvIGEgZHVtcC4KICAgICBpZiAoc2hvdWxkRHVtcElSKEFp
ck1vZGUpICYmICFzaG91bGREdW1wSVJBdEVhY2hQaGFzZShBaXJNb2RlKSkgewotICAgICAgICBk
YXRhTG9nKCJJbml0aWFsIGFpcjpcbiIpOworICAgICAgICBkYXRhTG9nKHRpZXJOYW1lLCAiSW5p
dGlhbCBhaXI6XG4iKTsKICAgICAgICAgZGF0YUxvZyhjb2RlKTsKICAgICB9CiAgICAgCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NvbW1vbi5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDb21tb24uY3BwCShyZXZpc2lvbiAyNTU0MTYp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NvbW1vbi5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEzLTIwMTUgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLTIwMjAgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCkBAIC0zNCw2ICszNCw4IEBACiAKIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgREZHIHsK
IAorY29uc3QgY2hhciogY29uc3QgdGllck5hbWUgPSAiREZHICI7CisKIHN0YXRpYyBMb2NrIGNy
YXNoTG9jazsKIAogdm9pZCBzdGFydENyYXNoaW5nKCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHQ29tbW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdDb21tb24uaAkocmV2aXNpb24gMjU1NDE2KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdDb21tb24uaAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMTEtMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTEtMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTQwLDYgKzQwLDggQEAgc3Ry
dWN0IE5vZGU7CiB0eXBlZGVmIHVpbnQzMl90IEJsb2NrSW5kZXg7CiBzdGF0aWMgY29uc3RleHBy
IEJsb2NrSW5kZXggTm9CbG9jayA9IFVJTlRfTUFYOwogCitleHRlcm4gY29uc3QgY2hhciogY29u
c3QgdGllck5hbWU7CisKIC8vIFVzZSBSZWZDaGlsZHJlbiBpZiB0aGUgY2hpbGQgcmVmIGNvdW50
cyBoYXZlbid0IGFscmVhZHkgYmVlbiBhZGp1c3RlZCB1c2luZwogLy8gb3RoZXIgbWVhbnMgYW5k
IGVpdGhlciBvZiB0aGUgZm9sbG93aW5nIGlzIHRydWU6CiAvLyAtIFRoZSBub2RlIHlvdSdyZSBj
cmVhdGluZyBpcyBNdXN0R2VuZXJhdGUuCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0dyYXBoLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0dyYXBoLmNwcAkocmV2aXNpb24gMjU1NDE2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdHcmFwaC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29w
eXJpZ2h0IChDKSAyMDExLTIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICog
Q29weXJpZ2h0IChDKSAyMDExLTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0xODUsOCArMTg1LDggQEAgdm9pZCBH
cmFwaDo6ZHVtcChQcmludFN0cmVhbSYgb3V0LCBjb25zdAogCiAgICAgLy8gRXhhbXBsZS9leHBs
YW5hdGlvbiBvZiBkYXRhZmxvdyBkdW1wIG91dHB1dAogICAgIC8vCi0gICAgLy8gICAxNDogICA8
ITI6Nz4gIEdldEJ5VmFsKEAzLCBAMTMpCi0gICAgLy8gICBeMSAgICAgXjIgXjMgICAgIF40ICAg
ICAgIF41CisgICAgLy8gICBEQDE0OiAgIDwhMjo3PiAgR2V0QnlWYWwoQDMsIEAxMykKKyAgICAv
LyAgICAgXjEgICAgIF4yIF4zICAgICBeNCAgICAgICBeNQogICAgIC8vCiAgICAgLy8gKDEpIFRo
ZSBub2RlSW5kZXggb2YgdGhpcyBvcGVyYXRpb24uCiAgICAgLy8gKDIpIFRoZSByZWZlcmVuY2Ug
Y291bnQuIFRoZSBudW1iZXIgcHJpbnRlZCBpcyB0aGUgJ3JlYWwnIGNvdW50LApAQCAtMTk1LDEx
ICsxOTUsMTMgQEAgdm9pZCBHcmFwaDo6ZHVtcChQcmludFN0cmVhbSYgb3V0LCBjb25zdAogICAg
IC8vICgzKSBUaGUgdmlydHVhbCByZWdpc3RlciBzbG90IGFzc2lnbmVkIHRvIHRoaXMgbm9kZS4K
ICAgICAvLyAoNCkgVGhlIG5hbWUgb2YgdGhlIG9wZXJhdGlvbi4KICAgICAvLyAoNSkgVGhlIGFy
Z3VtZW50cyB0byB0aGUgb3BlcmF0aW9uLiBUaGUgbWF5IGJlIG9mIHRoZSBmb3JtOgotICAgIC8v
ICAgICAgICAgQCMgICAtIGEgTm9kZUluZGV4IHJlZmVyZW5jaW5nIGEgcHJpb3Igbm9kZSBpbiB0
aGUgZ3JhcGguCisgICAgLy8gICAgICAgICBEQCMgIC0gYSBOb2RlSW5kZXggcmVmZXJlbmNpbmcg
YSBwcmlvciBub2RlIGluIHRoZSBncmFwaC4KICAgICAvLyAgICAgICAgIGFyZyMgLSBhbiBhcmd1
bWVudCBudW1iZXIuCiAgICAgLy8gICAgICAgICBpZCMgIC0gdGhlIGluZGV4IGluIHRoZSBDb2Rl
QmxvY2sgb2YgYW4gaWRlbnRpZmllciB7IGlmIGNvZGVCbG9jayBpcyBwYXNzZWQgdG8gZHVtcCgp
LCB0aGUgc3RyaW5nIHJlcHJlc2VudGF0aW9uIGlzIGRpc3BsYXllZCB9LgogICAgIC8vICAgICAg
ICAgdmFyIyAtIHRoZSBpbmRleCBvZiBhIHZhciBvbiB0aGUgZ2xvYmFsIG9iamVjdCwgdXNlZCBi
eSBHZXRHbG9iYWxWYXIvR2V0R2xvYmFsTGV4aWNhbFZhcmlhYmxlL1B1dEdsb2JhbFZhcmlhYmxl
IG9wZXJhdGlvbnMuCi0gICAgb3V0LnByaW50ZigiJSA0ZDo8JWMldToiLCAoaW50KW5vZGUtPmlu
ZGV4KCksIG11c3RHZW5lcmF0ZSA/ICchJyA6ICcgJywgcmVmQ291bnQpOworICAgIGludCBub2Rl
SW5kZXggPSBub2RlLT5pbmRleCgpOworICAgIGNvbnN0IGNoYXIqIHByZWZpeFBhZGRpbmcgPSBu
b2RlSW5kZXggPCAxMCA/ICIgICAiIDogbm9kZUluZGV4IDwgMTAwID8gIiAgIiA6ICIgIjsKKyAg
ICBvdXQucHJpbnRmKCIlc0RAJWQ6PCVjJXU6IiwgcHJlZml4UGFkZGluZywgbm9kZUluZGV4LCBt
dXN0R2VuZXJhdGUgPyAnIScgOiAnICcsIHJlZkNvdW50KTsKICAgICBpZiAobm9kZS0+aGFzUmVz
dWx0KCkgJiYgbm9kZS0+aGFzVmlydHVhbFJlZ2lzdGVyKCkgJiYgbm9kZS0+dmlydHVhbFJlZ2lz
dGVyKCkuaXNWYWxpZCgpKQogICAgICAgICBvdXQucHJpbnQobm9kZS0+dmlydHVhbFJlZ2lzdGVy
KCkpOwogICAgIGVsc2UKQEAgLTUxOCwxMyArNTIwLDEzIEBAIHZvaWQgR3JhcGg6OmR1bXBCbG9j
a0hlYWRlcihQcmludFN0cmVhbSYKICAgICAgICAgICAgIEFTU0VSVChwaGlOb2RlLT5vcCgpID09
IFBoaSk7CiAgICAgICAgICAgICBpZiAoIXBoaU5vZGUtPnNob3VsZEdlbmVyYXRlKCkgJiYgcGhp
Tm9kZUR1bXBNb2RlID09IER1bXBMaXZlUGhpc09ubHkpCiAgICAgICAgICAgICAgICAgY29udGlu
dWU7Ci0gICAgICAgICAgICBvdXQucHJpbnQoIiBAIiwgcGhpTm9kZS0+aW5kZXgoKSwgIjwiLCBw
aGlOb2RlLT5vcGVyYW5kKCksICIsIiwgcGhpTm9kZS0+cmVmQ291bnQoKSwgIj4tPigiKTsKKyAg
ICAgICAgICAgIG91dC5wcmludCgiIERAIiwgcGhpTm9kZS0+aW5kZXgoKSwgIjwiLCBwaGlOb2Rl
LT5vcGVyYW5kKCksICIsIiwgcGhpTm9kZS0+cmVmQ291bnQoKSwgIj4tPigiKTsKICAgICAgICAg
ICAgIGlmIChwaGlOb2RlLT5jaGlsZDEoKSkgewotICAgICAgICAgICAgICAgIG91dC5wcmludCgi
QCIsIHBoaU5vZGUtPmNoaWxkMSgpLT5pbmRleCgpKTsKKyAgICAgICAgICAgICAgICBvdXQucHJp
bnQoIkRAIiwgcGhpTm9kZS0+Y2hpbGQxKCktPmluZGV4KCkpOwogICAgICAgICAgICAgICAgIGlm
IChwaGlOb2RlLT5jaGlsZDIoKSkgewotICAgICAgICAgICAgICAgICAgICBvdXQucHJpbnQoIiwg
QCIsIHBoaU5vZGUtPmNoaWxkMigpLT5pbmRleCgpKTsKKyAgICAgICAgICAgICAgICAgICAgb3V0
LnByaW50KCIsIERAIiwgcGhpTm9kZS0+Y2hpbGQyKCktPmluZGV4KCkpOwogICAgICAgICAgICAg
ICAgICAgICBpZiAocGhpTm9kZS0+Y2hpbGQzKCkpCi0gICAgICAgICAgICAgICAgICAgICAgICBv
dXQucHJpbnQoIiwgQCIsIHBoaU5vZGUtPmNoaWxkMygpLT5pbmRleCgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIG91dC5wcmludCgiLCBEQCIsIHBoaU5vZGUtPmNoaWxkMygpLT5pbmRleCgp
KTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBvdXQucHJp
bnQoIikiLCBpICsgMSA8IGJsb2NrLT5waGlzLnNpemUoKSA/ICIsIiA6ICIiKTsKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmNwcAkocmV2aXNpb24gMjU1NDE2KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1
ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMtMjAxOCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMtMjAyMCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTM0
OSw3ICszNDksNyBAQCB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mIG91dCwgTm9kCiAg
ICAgICAgIG91dC5wcmludCgiLSIpOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIG91dC5w
cmludCgiQCIsIG5vZGUtPmluZGV4KCkpOworICAgIG91dC5wcmludCgiREAiLCBub2RlLT5pbmRl
eCgpKTsKICAgICBpZiAobm9kZS0+aGFzRG91YmxlUmVzdWx0KCkpCiAgICAgICAgIG91dC5wcmlu
dCgiPERvdWJsZT4iKTsKICAgICBlbHNlIGlmIChub2RlLT5oYXNJbnQ1MlJlc3VsdCgpKQpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDb21waWxlLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENvbXBpbGUuY3BwCShyZXZpc2lvbiAyNTU0
MTYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENvbXBpbGUuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNS0yMDE4IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNS0yMDIw
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwpAQCAtNTMsNiArNTMsOCBAQAogCiBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEZU
TCB7CiAKK2NvbnN0IGNoYXIqIGNvbnN0IHRpZXJOYW1lID0gIkZUTCAiOworCiB1c2luZyBuYW1l
c3BhY2UgREZHOwogCiB2b2lkIGNvbXBpbGUoU3RhdGUmIHN0YXRlLCBTYWZlcG9pbnQ6OlJlc3Vs
dCYgc2FmZXBvaW50UmVzdWx0KQpAQCAtODAsNyArODIsNyBAQCB2b2lkIGNvbXBpbGUoU3RhdGUm
IHN0YXRlLCBTYWZlcG9pbnQ6OlJlCiAgICAgc3RkOjp1bmlxdWVfcHRyPFJlZ2lzdGVyQXRPZmZz
ZXRMaXN0PiByZWdpc3Rlck9mZnNldHMgPQogICAgICAgICBtYWtlVW5pcXVlPFJlZ2lzdGVyQXRP
ZmZzZXRMaXN0PihzdGF0ZS5wcm9jLT5jYWxsZWVTYXZlUmVnaXN0ZXJBdE9mZnNldExpc3QoKSk7
CiAgICAgaWYgKHNob3VsZER1bXBEaXNhc3NlbWJseSgpKQotICAgICAgICBkYXRhTG9nKCJVbndp
bmQgaW5mbyBmb3IgIiwgQ29kZUJsb2NrV2l0aEpJVFR5cGUoY29kZUJsb2NrLCBKSVRUeXBlOjpG
VExKSVQpLCAiOiAiLCAqcmVnaXN0ZXJPZmZzZXRzLCAiXG4iKTsKKyAgICAgICAgZGF0YUxvZyh0
aWVyTmFtZSwgIlVud2luZCBpbmZvIGZvciAiLCBDb2RlQmxvY2tXaXRoSklUVHlwZShjb2RlQmxv
Y2ssIEpJVFR5cGU6OkZUTEpJVCksICI6ICIsICpyZWdpc3Rlck9mZnNldHMsICJcbiIpOwogICAg
IGNvZGVCbG9jay0+c2V0Q2FsbGVlU2F2ZVJlZ2lzdGVycyhXVEZNb3ZlKHJlZ2lzdGVyT2Zmc2V0
cykpOwogICAgIEFTU0VSVCghKHN0YXRlLnByb2MtPmZyYW1lU2l6ZSgpICUgc2l6ZW9mKEVuY29k
ZWRKU1ZhbHVlKSkpOwogICAgIHN0YXRlLmppdENvZGUtPmNvbW1vbi5mcmFtZVJlZ2lzdGVyQ291
bnQgPSBzdGF0ZS5wcm9jLT5mcmFtZVNpemUoKSAvIHNpemVvZihFbmNvZGVkSlNWYWx1ZSk7CkBA
IC04OCw3ICs5MCw3IEBAIHZvaWQgY29tcGlsZShTdGF0ZSYgc3RhdGUsIFNhZmVwb2ludDo6UmUK
ICAgICBpbnQgbG9jYWxzT2Zmc2V0ID0KICAgICAgICAgc3RhdGUuY2FwdHVyZWRWYWx1ZS0+b2Zm
c2V0RnJvbUZQKCkgLyBzaXplb2YoRW5jb2RlZEpTVmFsdWUpICsgZ3JhcGgubV9uZXh0TWFjaGlu
ZUxvY2FsOwogICAgIGlmIChzaG91bGREdW1wRGlzYXNzZW1ibHkoKSkgewotICAgICAgICBkYXRh
TG9nKAorICAgICAgICBkYXRhTG9nKHRpZXJOYW1lLAogICAgICAgICAgICAgImxvY2Fsc09mZnNl
dCA9ICIsIGxvY2Fsc09mZnNldCwgIiBmb3Igc3RhY2sgc2xvdDogIiwKICAgICAgICAgICAgIHBv
aW50ZXJEdW1wKHN0YXRlLmNhcHR1cmVkVmFsdWUpLCAiIGF0ICIsIFJhd1BvaW50ZXIoc3RhdGUu
Y2FwdHVyZWRWYWx1ZSksICJcbiIpOwogICAgIH0KQEAgLTE3NiwxMCArMTc4LDEwIEBAIHZvaWQg
Y29tcGlsZShTdGF0ZSYgc3RhdGUsIFNhZmVwb2ludDo6UmUKIAogICAgICAgICBIYXNoU2V0PEIz
OjpWYWx1ZSo+IHByaW50ZWRWYWx1ZXM7CiAgICAgICAgIEhhc2hTZXQ8Tm9kZSo+IHByaW50ZWRO
b2RlczsKLSAgICAgICAgY29uc3QgY2hhciogZGZnUHJlZml4ID0gIiAgICAiOwotICAgICAgICBj
b25zdCBjaGFyKiBiM1ByZWZpeCAgPSAiICAgICAgICAgICI7Ci0gICAgICAgIGNvbnN0IGNoYXIq
IGFpclByZWZpeCA9ICIgICAgICAgICAgICAgICI7Ci0gICAgICAgIGNvbnN0IGNoYXIqIGFzbVBy
ZWZpeCA9ICIgICAgICAgICAgICAgICAgIjsKKyAgICAgICAgY29uc3QgY2hhciogZGZnUHJlZml4
ID0gIkRGRyAiICIgICAgIjsKKyAgICAgICAgY29uc3QgY2hhciogYjNQcmVmaXggID0gImIzICAi
ICIgICAgICAgICAgIjsKKyAgICAgICAgY29uc3QgY2hhciogYWlyUHJlZml4ID0gIkFpciAiICIg
ICAgICAgICAgICAgICI7CisgICAgICAgIGNvbnN0IGNoYXIqIGFzbVByZWZpeCA9ICJhc20gIiAi
ICAgICAgICAgICAgICAgICI7CiAKICAgICAgICAgYXV0byBwcmludERGR05vZGUgPSBbJl0gKE5v
ZGUqIG5vZGUpIHsKICAgICAgICAgICAgIGlmIChjdXJyZW50REZHTm9kZSA9PSBub2RlKQpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDb21waWxlLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDb21waWxlLmgJKHJldmlzaW9uIDI1NTQxNikK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ29tcGlsZS5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMywgMjAxNCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMtMjAyMCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKQEAgLTMyLDYgKzMyLDggQEAKIAogbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBGVEwgewog
CitleHRlcm4gY29uc3QgY2hhciogY29uc3QgdGllck5hbWU7CisKIHZvaWQgY29tcGlsZShTdGF0
ZSYsIERGRzo6U2FmZXBvaW50OjpSZXN1bHQmKTsKIAogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkZU
TApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExTdGF0ZS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExTdGF0ZS5jcHAJKHJldmlzaW9uIDI1
NTQxNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMU3RhdGUuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMy0yMDE4IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMy0yMDIw
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwpAQCAtNjcsNyArNjcsNyBAQCBTdGF0ZTo6U3RhdGUoR3JhcGgmIGdyYXBoKQogCiAg
ICAgcHJvYy0+c2V0T3JpZ2luUHJpbnRlcigKICAgICAgICAgW10gKFByaW50U3RyZWFtJiBvdXQs
IEIzOjpPcmlnaW4gb3JpZ2luKSB7Ci0gICAgICAgICAgICBvdXQucHJpbnQoIkRGRzoiLCBiaXR3
aXNlX2Nhc3Q8Tm9kZSo+KG9yaWdpbi5kYXRhKCkpKTsKKyAgICAgICAgICAgIG91dC5wcmludChi
aXR3aXNlX2Nhc3Q8Tm9kZSo+KG9yaWdpbi5kYXRhKCkpKTsKICAgICAgICAgfSk7CiAKICAgICBw
cm9jLT5zZXRGcm9udGVuZERhdGEoJmdyYXBoKTsK
</data>
<flag name="review"
          id="405011"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
      

    </bug>

</bugzilla>