<?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>129454</bug_id>
          
          <creation_ts>2014-02-27 14:52:47 -0800</creation_ts>
          <short_desc>Slow cases for function.apply and function.call should not require vm re-entry</short_desc>
          <delta_ts>2014-02-28 08:42:05 -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>New Bugs</component>
          <version>528+ (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>
          <dependson>129488</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Oliver Hunt">oliver</reporter>
          <assigned_to name="Oliver Hunt">oliver</assigned_to>
          <cc>ossy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>985362</commentid>
    <comment_count>0</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2014-02-27 14:52:47 -0800</bug_when>
    <thetext>Slow cases for function.apply and function.call should not require vm re-entry</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>985363</commentid>
    <comment_count>1</comment_count>
      <attachid>225415</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2014-02-27 14:55:41 -0800</bug_when>
    <thetext>Created attachment 225415
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>985369</commentid>
    <comment_count>2</comment_count>
      <attachid>225415</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2014-02-27 15:09:37 -0800</bug_when>
    <thetext>Comment on attachment 225415
Patch

r=me

Seems like a js-regress test is in order, in which someone aliases .call or .apply.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>985377</commentid>
    <comment_count>3</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2014-02-27 15:19:56 -0800</bug_when>
    <thetext>Committed r164835: &lt;http://trac.webkit.org/changeset/164835&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>985575</commentid>
    <comment_count>4</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2014-02-28 08:42:05 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; Committed r164835: &lt;http://trac.webkit.org/changeset/164835&gt;

It caused regression on 32 bit, see https://bugs.webkit.org/show_bug.cgi?id=129488 for details.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>225415</attachid>
            <date>2014-02-27 14:55:41 -0800</date>
            <delta_ts>2014-02-27 15:09:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-129454-20140227145536.patch</filename>
            <type>text/plain</type>
            <size>30311</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY0NzM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
NGM3YWM2YTgzN2QxMjVkOTAyNGNiNWM3NWU2YmFiOGVmNGQzMmVjLi41NDU3YzUxNzcxYWIzMjFh
YzljNzdlMjMzMDc5M2VlZWYxZTZlNWU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0MyBAQAorMjAxNC0wMi0yNyAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgor
CisgICAgICAgIFNsb3cgY2FzZXMgZm9yIGZ1bmN0aW9uLmFwcGx5IGFuZCBmdW5jdGlvbi5jYWxs
IHNob3VsZCBub3QgcmVxdWlyZSB2bSByZS1lbnRyeQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI5NDU0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IGNhbGwgYW5kIGFwcGx5IHVzaW5nIGJ1
aWx0aW5zLiBIYXBwaWx5IHRoZSB1c2UKKyAgICAgICAgb2YgQGNhbGwgYW5kIEBhcHBseSBkb24n
dCBwZXJmb3JtIGZ1bmN0aW9uIGVxdWFsaXR5IGNoZWNrcworICAgICAgICBhbmQganVzdCBwbGFu
dCBkaXJlY3QgdmFyX2FyZ3MgY2FsbHMuIFRoaXMgZGlkIGV4cG9zZSBhIGZldworICAgICAgICBj
b2RlZ2VuIGlzc3VlcywgYnV0IHRoZXkncmUgYWxsIGNvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMK
KyAgICAgICAgb25jZSBjYWxsIGFuZCBhcHBseSBhcmUgaW1wbGVtZW50ZWQgaW4gSlMuCisKKyAg
ICAgICAgKiBKYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIGJ1aWx0aW5zL0Z1bmN0aW9uLnByb3RvdHlwZS5qczogQWRkZWQuCisgICAgICAgIChjYWxs
KToKKyAgICAgICAgKGFwcGx5KToKKyAgICAgICAgKiBieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2Vu
LmNwcDoKKyAgICAgICAgKEpTQzo6Q2FsbEZ1bmN0aW9uQ2FsbERvdE5vZGU6OmVtaXRCeXRlY29k
ZSk6CisgICAgICAgIChKU0M6OkFwcGx5RnVuY3Rpb25DYWxsRG90Tm9kZTo6ZW1pdEJ5dGVjb2Rl
KToKKyAgICAgICAgKiBkZmcvREZHQ2FwYWJpbGl0aWVzLmNwcDoKKyAgICAgICAgKEpTQzo6REZH
OjpjYXBhYmlsaXR5TGV2ZWwpOgorICAgICAgICAqIGludGVycHJldGVyL0ludGVycHJldGVyLmNw
cDoKKyAgICAgICAgKEpTQzo6c2l6ZUZyYW1lRm9yVmFyYXJncyk6CisgICAgICAgIChKU0M6Omxv
YWRWYXJhcmdzKToKKyAgICAgICAgKiBpbnRlcnByZXRlci9JbnRlcnByZXRlci5oOgorICAgICAg
ICAqIGppdC9KSVRDYWxsLmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjpjb21waWxlTG9hZFZhcmFy
Z3MpOgorICAgICAgICAqIHBhcnNlci9BU1RCdWlsZGVyLmg6CisgICAgICAgIChKU0M6OkFTVEJ1
aWxkZXI6Om1ha2VGdW5jdGlvbkNhbGxOb2RlKToKKyAgICAgICAgKiBwYXJzZXIvTGV4ZXIuY3Bw
OgorICAgICAgICAoSlNDOjppc1NhZmVCdWlsdGluSWRlbnRpZmllcik6CisgICAgICAgICogcnVu
dGltZS9Db21tb25JZGVudGlmaWVycy5oOgorICAgICAgICAqIHJ1bnRpbWUvRnVuY3Rpb25Qcm90
b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjpGdW5jdGlvblByb3RvdHlwZTo6YWRkRnVuY3Rpb25Q
cm9wZXJ0aWVzKToKKyAgICAgICAgKiBydW50aW1lL0pTT2JqZWN0LmNwcDoKKyAgICAgICAgKEpT
Qzo6SlNPYmplY3Q6OnB1dERpcmVjdEJ1aWx0aW5GdW5jdGlvbik6CisgICAgICAgIChKU0M6OkpT
T2JqZWN0OjpwdXREaXJlY3RCdWlsdGluRnVuY3Rpb25XaXRob3V0VHJhbnNpdGlvbik6CisgICAg
ICAgICogcnVudGltZS9KU09iamVjdC5oOgorCiAyMDE0LTAyLTI2ICBPbGl2ZXIgSHVudCAgPG9s
aXZlckBhcHBsZS5jb20+CiAKICAgICAgICAgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5IGhhcyBh
IGJhZCB0aW1lIHdpdGggdGhlIHNwcmVhZCBvcGVyYXRvcgpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagppbmRleCA2MTk2YTZjMTcwNDk1MDNkMTA5MDlmY2NiMGQwODI2OWFlZWEyOWVkLi4yMzZm
ZDAzOTM2ZDAzZDM1Nzk2NDZiMmY1NTE3NjVlNDkxZTM4ZTc4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagpAQCAtMzMsNyArMzMsNyBAQAogCQkJaXNhID0gUEJYQWdncmVnYXRlVGFyZ2V0
OwogCQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IDY1Nzg4QUEyMThCNDA5RUIwMEMxODlGRiAv
KiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWEFnZ3JlZ2F0ZVRhcmdldCAiT2ZmbGlu
ZSBBc3NlbWJsZXIiICovOwogCQkJYnVpbGRQaGFzZXMgPSAoCi0JCQkJNjU3ODhBQTAxOEI0MDlF
QjAwQzE4OUZGIC8qIEdlbmVyYXRlIE9mZmxpbmUgQXNzZW1ibGVyICovLAorCQkJCTY1Nzg4QUEw
MThCNDA5RUIwMEMxODlGRiAvKiBHZW5lcmF0ZSBEZXJpdmVkIFNvdXJjZXMgKi8sCiAJCQkpOwog
CQkJZGVwZW5kZW5jaWVzID0gKAogCQkJCTY1Nzg4QTlFMThCNDA5RUIwMEMxODlGRiAvKiBQQlhU
YXJnZXREZXBlbmRlbmN5ICovLApAQCAtMjcyMyw2ICsyNzIzLDcgQEAKIAkJQTdBOEFGMzExN0FE
QjVGMzAwNUFCMTc0IC8qIFVpbnQ4Q2xhbXBlZEFycmF5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFVpbnQ4Q2xhbXBlZEFycmF5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUE3QThBRjMyMTdBREI1RjMwMDVBQjE3NCAvKiBVaW50MTZBcnJheS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBVaW50MTZBcnJheS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlBN0E4QUYzMzE3QURCNUYzMDA1QUIxNzQgLyogVWludDMyQXJyYXkuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVWludDMyQXJyYXkuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTdBOTc5QzQxOEJFOEQ5RTAwMkMzNzMzIC8qIEZ1bmN0aW9u
LnByb3RvdHlwZS5qcyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuamF2YXNjcmlwdDsgcGF0aCA9IEZ1
bmN0aW9uLnByb3RvdHlwZS5qczsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTdCNDhE
QjUwRUU3NENGQzAwRENCREI2IC8qIEV4ZWN1dGFibGVBbGxvY2F0b3IuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gRXhlY3V0YWJsZUFsbG9jYXRvci5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlBN0I0OERCNjBFRTc0Q0ZDMDBEQ0JEQjYgLyogRXhlY3V0YWJsZUFs
bG9jYXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBFeGVjdXRh
YmxlQWxsb2NhdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTdCNEFDQUUx
NDg0QzlDRTAwQjM4QTM2IC8qIEpTRXhwb3J0TWFjcm9zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEpTRXhwb3J0TWFjcm9zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC00ODI0LDYgKzQ4MjUsNyBAQAogCQkJCUE3RDgwMUEyMTg4MEQ2NkUwMDI2QzM5QiAvKiBC
dWlsdGluRXhlY3V0YWJsZXMuaCAqLywKIAkJCQlBNzVFRTlCMDE4QUFCN0UyMDBBQUQwNDMgLyog
QnVpbHRpbk5hbWVzLmggKi8sCiAJCQkJN0NGQkFDMUMxOEI1MzVFNTAwRDAwNzUwIC8qIFByb21p
c2UucHJvdG90eXBlLmpzICovLAorCQkJCUE3QTk3OUM0MThCRThEOUUwMDJDMzczMyAvKiBGdW5j
dGlvbi5wcm90b3R5cGUuanMgKi8sCiAJCQkpOwogCQkJcGF0aCA9IGJ1aWx0aW5zOwogCQkJc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
dWlsdGlucy9GdW5jdGlvbi5wcm90b3R5cGUuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVp
bHRpbnMvRnVuY3Rpb24ucHJvdG90eXBlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJiNzU0MGIwY2EwNDI0YWU2
YTQ0Y2Y1OGU2YjFmZmM2MDhiMjQ3ODEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnVpbHRpbnMvRnVuY3Rpb24ucHJvdG90eXBlLmpzCkBAIC0wLDAgKzEsMzQgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisg
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitmdW5jdGlvbiBj
YWxsKHRoaXNBcmd1bWVudCkgeworICAgICJ1c2Ugc3RyaWN0IjsKKyAgICByZXR1cm4gdGhpcy5A
Y2FsbCguLi5hcmd1bWVudHMpOworfQorCitmdW5jdGlvbiBhcHBseSh0aGlzVmFsdWUsIGFyZ3Vt
ZW50VmFsdWVzKSB7CisgICAgInVzZSBzdHJpY3QiOworICAgIHJldHVybiB0aGlzLkBhcHBseSh0
aGlzVmFsdWUsIGFyZ3VtZW50VmFsdWVzKTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcAppbmRleCA5ZTI1MTYyZjZmOGNjOWY4
OWE5NDk4Njg1YWE5OGI1Yzc3ODhmOWFhLi44MWUwZWIxM2QwNjgwYmQ2ZDhhNGZmY2U3MWI3NWY2
ZGQ2OTM1NzVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVy
L05vZGVzQ29kZWdlbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxl
ci9Ob2Rlc0NvZGVnZW4uY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSAiTm9kZXMuaCIK
ICNpbmNsdWRlICJOb2RlQ29uc3RydWN0b3JzLmgiCiAKKyNpbmNsdWRlICJCdWlsdGluTmFtZXMu
aCIKICNpbmNsdWRlICJCeXRlY29kZUdlbmVyYXRvci5oIgogI2luY2x1ZGUgIkNhbGxGcmFtZS5o
IgogI2luY2x1ZGUgIkRlYnVnZ2VyLmgiCkBAIC01NDksNyArNTUwLDcgQEAgUmVnaXN0ZXJJRCog
Q2FsbEZ1bmN0aW9uQ2FsbERvdE5vZGU6OmVtaXRCeXRlY29kZShCeXRlY29kZUdlbmVyYXRvciYg
Z2VuZXJhdG9yLAogICAgIFJlZlB0cjxSZWdpc3RlcklEPiBmdW5jdGlvbjsKICAgICBib29sIGVt
aXRDYWxsQ2hlY2sgPSAhZ2VuZXJhdG9yLmlzQnVpbHRpbkZ1bmN0aW9uKCk7CiAgICAgaWYgKGVt
aXRDYWxsQ2hlY2spIHsKLSAgICAgICAgZnVuY3Rpb24gPSBnZW5lcmF0b3IuZW1pdEdldEJ5SWQo
Z2VuZXJhdG9yLnRlbXBEZXN0aW5hdGlvbihkc3QpLCBiYXNlLmdldCgpLCBnZW5lcmF0b3IucHJv
cGVydHlOYW1lcygpLmNhbGwpOworICAgICAgICBmdW5jdGlvbiA9IGdlbmVyYXRvci5lbWl0R2V0
QnlJZChnZW5lcmF0b3IudGVtcERlc3RpbmF0aW9uKGRzdCksIGJhc2UuZ2V0KCksIGdlbmVyYXRv
ci5wcm9wZXJ0eU5hbWVzKCkuYnVpbHRpbk5hbWVzKCkuY2FsbFB1YmxpY05hbWUoKSk7CiAgICAg
ICAgIGdlbmVyYXRvci5lbWl0SnVtcElmTm90RnVuY3Rpb25DYWxsKGZ1bmN0aW9uLmdldCgpLCBy
ZWFsQ2FsbC5nZXQoKSk7CiAgICAgfQogICAgIFJlZlB0cjxSZWdpc3RlcklEPiByZXR1cm5WYWx1
ZSA9IGdlbmVyYXRvci5maW5hbERlc3RpbmF0aW9uKGRzdCk7CkBAIC02MjAsNyArNjIxLDcgQEAg
UmVnaXN0ZXJJRCogQXBwbHlGdW5jdGlvbkNhbGxEb3ROb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNv
ZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwKICAgICBSZWZQdHI8UmVnaXN0ZXJJRD4gcmV0dXJuVmFs
dWUgPSBnZW5lcmF0b3IuZmluYWxEZXN0aW5hdGlvbihkc3QsIGZ1bmN0aW9uLmdldCgpKTsKICAg
ICBib29sIGVtaXRDYWxsQ2hlY2sgPSAhZ2VuZXJhdG9yLmlzQnVpbHRpbkZ1bmN0aW9uKCk7CiAg
ICAgaWYgKGVtaXRDYWxsQ2hlY2spIHsKLSAgICAgICAgZnVuY3Rpb24gPSBnZW5lcmF0b3IuZW1p
dEdldEJ5SWQoZ2VuZXJhdG9yLnRlbXBEZXN0aW5hdGlvbihkc3QpLCBiYXNlLmdldCgpLCBnZW5l
cmF0b3IucHJvcGVydHlOYW1lcygpLmFwcGx5KTsKKyAgICAgICAgZnVuY3Rpb24gPSBnZW5lcmF0
b3IuZW1pdEdldEJ5SWQoZ2VuZXJhdG9yLnRlbXBEZXN0aW5hdGlvbihkc3QpLCBiYXNlLmdldCgp
LCBnZW5lcmF0b3IucHJvcGVydHlOYW1lcygpLmJ1aWx0aW5OYW1lcygpLmFwcGx5UHVibGljTmFt
ZSgpKTsKICAgICAgICAgZ2VuZXJhdG9yLmVtaXRKdW1wSWZOb3RGdW5jdGlvbkFwcGx5KGZ1bmN0
aW9uLmdldCgpLCByZWFsQ2FsbC5nZXQoKSk7CiAgICAgfQogICAgIGlmIChtYXlCZUNhbGwpIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcAppbmRleCBh
NWY1ZTJmYzZkOGE0ZmZiYWQxY2I1NDk5OTg0MmZlNTRiMGVjYWEzLi5mOWRjMDYyZTg1OGYxNTU0
OTlkOGM3ZjBmMTgxMWI4Mzk0MzdiN2Q0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0NhcGFiaWxpdGllcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdDYXBhYmlsaXRpZXMuY3BwCkBAIC0yMTEsNyArMjExLDggQEAgQ2FwYWJpbGl0eUxldmVs
IGNhcGFiaWxpdHlMZXZlbChPcGNvZGVJRCBvcGNvZGVJRCwgQ29kZUJsb2NrKiBjb2RlQmxvY2ss
IEluc3RydWMKICAgICB9CiAKICAgICBjYXNlIG9wX2NhbGxfdmFyYXJnczoKLSAgICAgICAgaWYg
KGNvZGVCbG9jay0+dXNlc0FyZ3VtZW50cygpICYmIHBjWzRdLnUub3BlcmFuZCA9PSBjb2RlQmxv
Y2stPmFyZ3VtZW50c1JlZ2lzdGVyKCkub2Zmc2V0KCkpCisgICAgICAgIGlmIChjb2RlQmxvY2st
PnVzZXNBcmd1bWVudHMoKSAmJiBwY1s0XS51Lm9wZXJhbmQgPT0gY29kZUJsb2NrLT5hcmd1bWVu
dHNSZWdpc3RlcigpLm9mZnNldCgpCisgICAgICAgICAgICAmJiAhcGNbNl0udS5vcGVyYW5kKQog
ICAgICAgICAgICAgcmV0dXJuIENhbklubGluZTsKICAgICAgICAgLy8gRklYTUU6IFdlIHNob3Vs
ZCBoYW5kbGUgdGhpcy4KICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEyNzYyNgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVy
cHJldGVyL0ludGVycHJldGVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRl
ci9JbnRlcnByZXRlci5jcHAKaW5kZXggYzdjNjFjOWIyYjM3NzcwMGRjYzk0MjkzYjc0NDZiMTAw
Y2QwNjU0Mi4uYzIxOWJjYmJkYWEwMDk0OTU2YzU4NzdhNTM0ZjJhMGMzNWM0ZGI2YyAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCkBA
IC0xMzcsMTAgKzEzNywxNCBAQCBKU1ZhbHVlIGV2YWwoQ2FsbEZyYW1lKiBjYWxsRnJhbWUpCiAg
ICAgcmV0dXJuIGludGVycHJldGVyLT5leGVjdXRlKGV2YWwsIGNhbGxGcmFtZSwgdGhpc1ZhbHVl
LCBjYWxsZXJTY29wZUNoYWluKTsKIH0KIAotQ2FsbEZyYW1lKiBzaXplRnJhbWVGb3JWYXJhcmdz
KENhbGxGcmFtZSogY2FsbEZyYW1lLCBKU1N0YWNrKiBzdGFjaywgSlNWYWx1ZSBhcmd1bWVudHMs
IGludCBmaXJzdEZyZWVSZWdpc3RlciwgaW50MzJfdCBmaXJzdFZhckFyZ09mZnNldCkKK0NhbGxG
cmFtZSogc2l6ZUZyYW1lRm9yVmFyYXJncyhDYWxsRnJhbWUqIGNhbGxGcmFtZSwgSlNTdGFjayog
c3RhY2ssIEpTVmFsdWUgYXJndW1lbnRzLCBpbnQgZmlyc3RGcmVlUmVnaXN0ZXIsIHVpbnQzMl90
IGZpcnN0VmFyQXJnT2Zmc2V0KQogewogICAgIGlmICghYXJndW1lbnRzKSB7IC8vIGYuYXBwbHko
eCwgYXJndW1lbnRzKSwgd2l0aCBhcmd1bWVudHMgdW5tb2RpZmllZC4KLSAgICAgICAgdW5zaWdu
ZWQgYXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMgPSBjYWxsRnJhbWUtPmFyZ3VtZW50Q291bnRJ
bmNsdWRpbmdUaGlzKCkgLSBmaXJzdFZhckFyZ09mZnNldDsKKyAgICAgICAgdW5zaWduZWQgYXJn
dW1lbnRDb3VudEluY2x1ZGluZ1RoaXMgPSBjYWxsRnJhbWUtPmFyZ3VtZW50Q291bnRJbmNsdWRp
bmdUaGlzKCk7CisgICAgICAgIGlmIChhcmd1bWVudENvdW50SW5jbHVkaW5nVGhpcyA+IGZpcnN0
VmFyQXJnT2Zmc2V0KQorICAgICAgICAgICAgYXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMgLT0g
Zmlyc3RWYXJBcmdPZmZzZXQ7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGFyZ3VtZW50Q291
bnRJbmNsdWRpbmdUaGlzID0gMTsKICAgICAgICAgdW5zaWduZWQgcGFkZGVkQ2FsbGVlRnJhbWVP
ZmZzZXQgPSBXVEY6OnJvdW5kVXBUb011bHRpcGxlT2Yoc3RhY2tBbGlnbm1lbnRSZWdpc3RlcnMo
KSwgLWZpcnN0RnJlZVJlZ2lzdGVyICsgYXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMgKyBKU1N0
YWNrOjpDYWxsRnJhbWVIZWFkZXJTaXplICsgMSk7CiAgICAgICAgIENhbGxGcmFtZSogbmV3Q2Fs
bEZyYW1lID0gQ2FsbEZyYW1lOjpjcmVhdGUoY2FsbEZyYW1lLT5yZWdpc3RlcnMoKSAtIHBhZGRl
ZENhbGxlZUZyYW1lT2Zmc2V0KTsKICAgICAgICAgaWYgKGFyZ3VtZW50Q291bnRJbmNsdWRpbmdU
aGlzID4gQXJndW1lbnRzOjpNYXhBcmd1bWVudHMgKyAxIHx8ICFzdGFjay0+ZW5zdXJlQ2FwYWNp
dHlGb3IobmV3Q2FsbEZyYW1lLT5yZWdpc3RlcnMoKSkpIHsKQEAgLTE2OCw3ICsxNzIsMTEgQEAg
Q2FsbEZyYW1lKiBzaXplRnJhbWVGb3JWYXJhcmdzKENhbGxGcmFtZSogY2FsbEZyYW1lLCBKU1N0
YWNrKiBzdGFjaywgSlNWYWx1ZSBhcmcKIAogICAgIGlmIChhc09iamVjdChhcmd1bWVudHMpLT5j
bGFzc0luZm8oKSA9PSBBcmd1bWVudHM6OmluZm8oKSkgewogICAgICAgICBBcmd1bWVudHMqIGFy
Z3NPYmplY3QgPSBhc0FyZ3VtZW50cyhhcmd1bWVudHMpOwotICAgICAgICB1bnNpZ25lZCBhcmdD
b3VudCA9IGFyZ3NPYmplY3QtPmxlbmd0aChjYWxsRnJhbWUpIC0gZmlyc3RWYXJBcmdPZmZzZXQ7
CisgICAgICAgIHVuc2lnbmVkIGFyZ0NvdW50ID0gYXJnc09iamVjdC0+bGVuZ3RoKGNhbGxGcmFt
ZSk7CisgICAgICAgIGlmIChhcmdDb3VudCA+PSBmaXJzdFZhckFyZ09mZnNldCkKKyAgICAgICAg
ICAgIGFyZ0NvdW50IC09IGZpcnN0VmFyQXJnT2Zmc2V0OworICAgICAgICBlbHNlCisgICAgICAg
ICAgICBhcmdDb3VudCA9IDA7CiAgICAgICAgIHVuc2lnbmVkIHBhZGRlZENhbGxlZUZyYW1lT2Zm
c2V0ID0gV1RGOjpyb3VuZFVwVG9NdWx0aXBsZU9mKHN0YWNrQWxpZ25tZW50UmVnaXN0ZXJzKCks
IC1maXJzdEZyZWVSZWdpc3RlciArIENhbGxGcmFtZTo6b2Zmc2V0Rm9yKGFyZ0NvdW50ICsgMSkp
OwogICAgICAgICBDYWxsRnJhbWUqIG5ld0NhbGxGcmFtZSA9IENhbGxGcmFtZTo6Y3JlYXRlKGNh
bGxGcmFtZS0+cmVnaXN0ZXJzKCkgLSBwYWRkZWRDYWxsZWVGcmFtZU9mZnNldCk7CiAgICAgICAg
IGlmIChhcmdDb3VudCA+IEFyZ3VtZW50czo6TWF4QXJndW1lbnRzIHx8ICFzdGFjay0+ZW5zdXJl
Q2FwYWNpdHlGb3IobmV3Q2FsbEZyYW1lLT5yZWdpc3RlcnMoKSkpIHsKQEAgLTE4MCw3ICsxODgs
MTEgQEAgQ2FsbEZyYW1lKiBzaXplRnJhbWVGb3JWYXJhcmdzKENhbGxGcmFtZSogY2FsbEZyYW1l
LCBKU1N0YWNrKiBzdGFjaywgSlNWYWx1ZSBhcmcKIAogICAgIGlmIChpc0pTQXJyYXkoYXJndW1l
bnRzKSkgewogICAgICAgICBKU0FycmF5KiBhcnJheSA9IGFzQXJyYXkoYXJndW1lbnRzKTsKLSAg
ICAgICAgdW5zaWduZWQgYXJnQ291bnQgPSBhcnJheS0+bGVuZ3RoKCkgLSBmaXJzdFZhckFyZ09m
ZnNldDsKKyAgICAgICAgdW5zaWduZWQgYXJnQ291bnQgPSBhcnJheS0+bGVuZ3RoKCk7CisgICAg
ICAgIGlmIChhcmdDb3VudCA+PSBmaXJzdFZhckFyZ09mZnNldCkKKyAgICAgICAgICAgIGFyZ0Nv
dW50IC09IGZpcnN0VmFyQXJnT2Zmc2V0OworICAgICAgICBlbHNlCisgICAgICAgICAgICBhcmdD
b3VudCA9IDA7CiAgICAgICAgIHVuc2lnbmVkIHBhZGRlZENhbGxlZUZyYW1lT2Zmc2V0ID0gV1RG
Ojpyb3VuZFVwVG9NdWx0aXBsZU9mKHN0YWNrQWxpZ25tZW50UmVnaXN0ZXJzKCksIC1maXJzdEZy
ZWVSZWdpc3RlciArIENhbGxGcmFtZTo6b2Zmc2V0Rm9yKGFyZ0NvdW50ICsgMSkpOwogICAgICAg
ICBDYWxsRnJhbWUqIG5ld0NhbGxGcmFtZSA9IENhbGxGcmFtZTo6Y3JlYXRlKGNhbGxGcmFtZS0+
cmVnaXN0ZXJzKCkgLSBwYWRkZWRDYWxsZWVGcmFtZU9mZnNldCk7CiAgICAgICAgIGlmIChhcmdD
b3VudCA+IEFyZ3VtZW50czo6TWF4QXJndW1lbnRzIHx8ICFzdGFjay0+ZW5zdXJlQ2FwYWNpdHlG
b3IobmV3Q2FsbEZyYW1lLT5yZWdpc3RlcnMoKSkpIHsKQEAgLTE5MSw3ICsyMDMsMTEgQEAgQ2Fs
bEZyYW1lKiBzaXplRnJhbWVGb3JWYXJhcmdzKENhbGxGcmFtZSogY2FsbEZyYW1lLCBKU1N0YWNr
KiBzdGFjaywgSlNWYWx1ZSBhcmcKICAgICB9CiAKICAgICBKU09iamVjdCogYXJnT2JqZWN0ID0g
YXNPYmplY3QoYXJndW1lbnRzKTsKLSAgICB1bnNpZ25lZCBhcmdDb3VudCA9IGFyZ09iamVjdC0+
Z2V0KGNhbGxGcmFtZSwgY2FsbEZyYW1lLT5wcm9wZXJ0eU5hbWVzKCkubGVuZ3RoKS50b1VJbnQz
MihjYWxsRnJhbWUpIC0gZmlyc3RWYXJBcmdPZmZzZXQ7CisgICAgdW5zaWduZWQgYXJnQ291bnQg
PSBhcmdPYmplY3QtPmdldChjYWxsRnJhbWUsIGNhbGxGcmFtZS0+cHJvcGVydHlOYW1lcygpLmxl
bmd0aCkudG9VSW50MzIoY2FsbEZyYW1lKTsKKyAgICBpZiAoYXJnQ291bnQgPj0gZmlyc3RWYXJB
cmdPZmZzZXQpCisgICAgICAgIGFyZ0NvdW50IC09IGZpcnN0VmFyQXJnT2Zmc2V0OworICAgIGVs
c2UKKyAgICAgICAgYXJnQ291bnQgPSAwOwogICAgIHVuc2lnbmVkIHBhZGRlZENhbGxlZUZyYW1l
T2Zmc2V0ID0gV1RGOjpyb3VuZFVwVG9NdWx0aXBsZU9mKHN0YWNrQWxpZ25tZW50UmVnaXN0ZXJz
KCksIC1maXJzdEZyZWVSZWdpc3RlciArIENhbGxGcmFtZTo6b2Zmc2V0Rm9yKGFyZ0NvdW50ICsg
MSkpOwogICAgIENhbGxGcmFtZSogbmV3Q2FsbEZyYW1lID0gQ2FsbEZyYW1lOjpjcmVhdGUoY2Fs
bEZyYW1lLT5yZWdpc3RlcnMoKSAtIHBhZGRlZENhbGxlZUZyYW1lT2Zmc2V0KTsKICAgICBpZiAo
YXJnQ291bnQgPiBBcmd1bWVudHM6Ok1heEFyZ3VtZW50cyB8fCAhc3RhY2stPmVuc3VyZUNhcGFj
aXR5Rm9yKG5ld0NhbGxGcmFtZS0+cmVnaXN0ZXJzKCkpKSB7CkBAIC0yMDEsMTEgKzIxNywxNCBA
QCBDYWxsRnJhbWUqIHNpemVGcmFtZUZvclZhcmFyZ3MoQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIEpT
U3RhY2sqIHN0YWNrLCBKU1ZhbHVlIGFyZwogICAgIHJldHVybiBuZXdDYWxsRnJhbWU7CiB9CiAK
LXZvaWQgbG9hZFZhcmFyZ3MoQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIENhbGxGcmFtZSogbmV3Q2Fs
bEZyYW1lLCBKU1ZhbHVlIHRoaXNWYWx1ZSwgSlNWYWx1ZSBhcmd1bWVudHMsIGludDMyX3QgZmly
c3RWYXJBcmdPZmZzZXQpCit2b2lkIGxvYWRWYXJhcmdzKENhbGxGcmFtZSogY2FsbEZyYW1lLCBD
YWxsRnJhbWUqIG5ld0NhbGxGcmFtZSwgSlNWYWx1ZSB0aGlzVmFsdWUsIEpTVmFsdWUgYXJndW1l
bnRzLCB1aW50MzJfdCBmaXJzdFZhckFyZ09mZnNldCkKIHsKICAgICBpZiAoIWFyZ3VtZW50cykg
eyAvLyBmLmFwcGx5KHgsIGFyZ3VtZW50cyksIHdpdGggYXJndW1lbnRzIHVubW9kaWZpZWQuCi0g
ICAgICAgIHVuc2lnbmVkIGFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzID0gY2FsbEZyYW1lLT5h
cmd1bWVudENvdW50SW5jbHVkaW5nVGhpcygpIC0gZmlyc3RWYXJBcmdPZmZzZXQ7Ci0KKyAgICAg
ICAgdW5zaWduZWQgYXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMgPSBjYWxsRnJhbWUtPmFyZ3Vt
ZW50Q291bnRJbmNsdWRpbmdUaGlzKCk7CisgICAgICAgIGlmIChhcmd1bWVudENvdW50SW5jbHVk
aW5nVGhpcyA+IGZpcnN0VmFyQXJnT2Zmc2V0KQorICAgICAgICAgICAgYXJndW1lbnRDb3VudElu
Y2x1ZGluZ1RoaXMgLT0gZmlyc3RWYXJBcmdPZmZzZXQ7CisgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgIGFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzID0gMTsKICAgICAgICAgbmV3Q2FsbEZyYW1l
LT5zZXRBcmd1bWVudENvdW50SW5jbHVkaW5nVGhpcyhhcmd1bWVudENvdW50SW5jbHVkaW5nVGhp
cyk7CiAgICAgICAgIG5ld0NhbGxGcmFtZS0+c2V0VGhpc1ZhbHVlKHRoaXNWYWx1ZSk7CiAgICAg
ICAgIGZvciAoc2l6ZV90IGkgPSBmaXJzdFZhckFyZ09mZnNldDsgaSA8IGNhbGxGcmFtZS0+YXJn
dW1lbnRDb3VudCgpOyArK2kpCkBAIC0yMjEsMjUgKzI0MCwzOCBAQCB2b2lkIGxvYWRWYXJhcmdz
KENhbGxGcmFtZSogY2FsbEZyYW1lLCBDYWxsRnJhbWUqIG5ld0NhbGxGcmFtZSwgSlNWYWx1ZSB0
aGlzVmFsdQogICAgIAogICAgIGlmIChhc09iamVjdChhcmd1bWVudHMpLT5jbGFzc0luZm8oKSA9
PSBBcmd1bWVudHM6OmluZm8oKSkgewogICAgICAgICBBcmd1bWVudHMqIGFyZ3NPYmplY3QgPSBh
c0FyZ3VtZW50cyhhcmd1bWVudHMpOwotICAgICAgICB1bnNpZ25lZCBhcmdDb3VudCA9IGFyZ3NP
YmplY3QtPmxlbmd0aChjYWxsRnJhbWUpIC0gZmlyc3RWYXJBcmdPZmZzZXQ7Ci0gICAgICAgIG5l
d0NhbGxGcmFtZS0+c2V0QXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMoYXJnQ291bnQgKyAxKTsK
KyAgICAgICAgdW5zaWduZWQgYXJnQ291bnQgPSBhcmdzT2JqZWN0LT5sZW5ndGgoY2FsbEZyYW1l
KTsKKyAgICAgICAgaWYgKGFyZ0NvdW50ID49IGZpcnN0VmFyQXJnT2Zmc2V0KSB7CisgICAgICAg
ICAgICBhcmdDb3VudCAtPSBmaXJzdFZhckFyZ09mZnNldDsKKyAgICAgICAgICAgIG5ld0NhbGxG
cmFtZS0+c2V0QXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMoYXJnQ291bnQgKyAxKTsKKyAgICAg
ICAgICAgIGFyZ3NPYmplY3QtPmNvcHlUb0FyZ3VtZW50cyhjYWxsRnJhbWUsIG5ld0NhbGxGcmFt
ZSwgYXJnQ291bnQsIGZpcnN0VmFyQXJnT2Zmc2V0KTsKKyAgICAgICAgfSBlbHNlCisgICAgICAg
ICAgICBuZXdDYWxsRnJhbWUtPnNldEFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzKDEpOwogICAg
ICAgICBuZXdDYWxsRnJhbWUtPnNldFRoaXNWYWx1ZSh0aGlzVmFsdWUpOwotICAgICAgICBhcmdz
T2JqZWN0LT5jb3B5VG9Bcmd1bWVudHMoY2FsbEZyYW1lLCBuZXdDYWxsRnJhbWUsIGFyZ0NvdW50
LCBmaXJzdFZhckFyZ09mZnNldCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgCiAgICAg
aWYgKGlzSlNBcnJheShhcmd1bWVudHMpKSB7CiAgICAgICAgIEpTQXJyYXkqIGFycmF5ID0gYXNB
cnJheShhcmd1bWVudHMpOwotICAgICAgICB1bnNpZ25lZCBhcmdDb3VudCA9IGFycmF5LT5sZW5n
dGgoKSAtIGZpcnN0VmFyQXJnT2Zmc2V0OwotICAgICAgICBuZXdDYWxsRnJhbWUtPnNldEFyZ3Vt
ZW50Q291bnRJbmNsdWRpbmdUaGlzKGFyZ0NvdW50ICsgMSk7CisgICAgICAgIHVuc2lnbmVkIGFy
Z0NvdW50ID0gYXJyYXktPmxlbmd0aCgpOworICAgICAgICBpZiAoYXJnQ291bnQgPj0gZmlyc3RW
YXJBcmdPZmZzZXQpIHsKKyAgICAgICAgICAgIGFyZ0NvdW50IC09IGZpcnN0VmFyQXJnT2Zmc2V0
OworICAgICAgICAgICAgbmV3Q2FsbEZyYW1lLT5zZXRBcmd1bWVudENvdW50SW5jbHVkaW5nVGhp
cyhhcmdDb3VudCArIDEpOworICAgICAgICAgICAgYXJyYXktPmNvcHlUb0FyZ3VtZW50cyhjYWxs
RnJhbWUsIG5ld0NhbGxGcmFtZSwgYXJnQ291bnQsIGZpcnN0VmFyQXJnT2Zmc2V0KTsKKyAgICAg
ICAgfSBlbHNlCisgICAgICAgICAgICBuZXdDYWxsRnJhbWUtPnNldEFyZ3VtZW50Q291bnRJbmNs
dWRpbmdUaGlzKDEpOwogICAgICAgICBuZXdDYWxsRnJhbWUtPnNldFRoaXNWYWx1ZSh0aGlzVmFs
dWUpOwotICAgICAgICBhcnJheS0+Y29weVRvQXJndW1lbnRzKGNhbGxGcmFtZSwgbmV3Q2FsbEZy
YW1lLCBhcmdDb3VudCwgZmlyc3RWYXJBcmdPZmZzZXQpOwogICAgICAgICByZXR1cm47CiAgICAg
fQogICAgIAogICAgIEpTT2JqZWN0KiBhcmdPYmplY3QgPSBhc09iamVjdChhcmd1bWVudHMpOwot
ICAgIHVuc2lnbmVkIGFyZ0NvdW50ID0gYXJnT2JqZWN0LT5nZXQoY2FsbEZyYW1lLCBjYWxsRnJh
bWUtPnByb3BlcnR5TmFtZXMoKS5sZW5ndGgpLnRvVUludDMyKGNhbGxGcmFtZSkgLSBmaXJzdFZh
ckFyZ09mZnNldDsKLSAgICBuZXdDYWxsRnJhbWUtPnNldEFyZ3VtZW50Q291bnRJbmNsdWRpbmdU
aGlzKGFyZ0NvdW50ICsgMSk7CisgICAgdW5zaWduZWQgYXJnQ291bnQgPSBhcmdPYmplY3QtPmdl
dChjYWxsRnJhbWUsIGNhbGxGcmFtZS0+cHJvcGVydHlOYW1lcygpLmxlbmd0aCkudG9VSW50MzIo
Y2FsbEZyYW1lKTsKKyAgICBpZiAoYXJnQ291bnQgPj0gZmlyc3RWYXJBcmdPZmZzZXQpIHsKKyAg
ICAgICAgYXJnQ291bnQgLT0gZmlyc3RWYXJBcmdPZmZzZXQ7CisgICAgICAgIG5ld0NhbGxGcmFt
ZS0+c2V0QXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMoYXJnQ291bnQgKyAxKTsKKyAgICB9IGVs
c2UKKyAgICAgICAgbmV3Q2FsbEZyYW1lLT5zZXRBcmd1bWVudENvdW50SW5jbHVkaW5nVGhpcygx
KTsKKwogICAgIG5ld0NhbGxGcmFtZS0+c2V0VGhpc1ZhbHVlKHRoaXNWYWx1ZSk7CiAgICAgZm9y
IChzaXplX3QgaSA9IDA7IGkgPCBhcmdDb3VudDsgKytpKSB7CiAgICAgICAgIG5ld0NhbGxGcmFt
ZS0+c2V0QXJndW1lbnQoaSwgYXNPYmplY3QoYXJndW1lbnRzKS0+Z2V0KGNhbGxGcmFtZSwgaSAr
IGZpcnN0VmFyQXJnT2Zmc2V0KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnBy
ZXRlci9JbnRlcnByZXRlci5oCmluZGV4IGU1ZmRjNDYzNTkwMWQzOTM2NjViYjRmNTc2MWU4NTBj
NjFmZjk1Y2YuLjg0OGYyZDAzNjMzM2I3M2VjNzc4ODExZDVjYTIwN2EyOWUyNmM4ZTEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5oCkBAIC0y
ODUsOCArMjg1LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgfTsKIAogICAgIEpTVmFsdWUgZXZh
bChDYWxsRnJhbWUqKTsKLSAgICBDYWxsRnJhbWUqIHNpemVGcmFtZUZvclZhcmFyZ3MoQ2FsbEZy
YW1lKiwgSlNTdGFjayosIEpTVmFsdWUsIGludCwgaW50MzJfdCBmaXJzdFZhckFyZ09mZnNldCk7
Ci0gICAgdm9pZCBsb2FkVmFyYXJncyhDYWxsRnJhbWUqLCBDYWxsRnJhbWUqLCBKU1ZhbHVlLCBK
U1ZhbHVlLCBpbnQzMl90IGZpcnN0VmFyQXJnT2Zmc2V0KTsKKyAgICBDYWxsRnJhbWUqIHNpemVG
cmFtZUZvclZhcmFyZ3MoQ2FsbEZyYW1lKiwgSlNTdGFjayosIEpTVmFsdWUsIGludCwgdWludDMy
X3QgZmlyc3RWYXJBcmdPZmZzZXQpOworICAgIHZvaWQgbG9hZFZhcmFyZ3MoQ2FsbEZyYW1lKiwg
Q2FsbEZyYW1lKiwgSlNWYWx1ZSwgSlNWYWx1ZSwgdWludDMyX3QgZmlyc3RWYXJBcmdPZmZzZXQp
OwogfSAvLyBuYW1lc3BhY2UgSlNDCiAKICNlbmRpZiAvLyBJbnRlcnByZXRlcl9oCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVENhbGwuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVRDYWxsLmNwcAppbmRleCBhZWNiOGVkODlkMTJhZGQwYTE4NDUxZmUy
MTM1NWEzODRhMzJhMTYyLi5hYWIwMmYzYTJiZjRkZmI4ZDQ4ODE5ODdiOWQ0N2UwN2I1MDVlOWM5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVENhbGwuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQ2FsbC5jcHAKQEAgLTcxLDggKzcxLDE0IEBA
IHZvaWQgSklUOjpjb21waWxlTG9hZFZhcmFyZ3MoSW5zdHJ1Y3Rpb24qIGluc3RydWN0aW9uKQog
ICAgICAgICBzbG93Q2FzZS5hcHBlbmQoYnJhbmNoNjQoTm90RXF1YWwsIHJlZ1QwLCBUcnVzdGVk
SW1tNjQoSlNWYWx1ZTo6ZW5jb2RlKEpTVmFsdWUoKSkpKSk7CiAKICAgICAgICAgZW1pdEdldEZy
b21DYWxsRnJhbWVIZWFkZXIzMihKU1N0YWNrOjpBcmd1bWVudENvdW50LCByZWdUMCk7Ci0gICAg
ICAgIGlmIChmaXJzdFZhckFyZ09mZnNldCkKKyAgICAgICAgaWYgKGZpcnN0VmFyQXJnT2Zmc2V0
KSB7CisgICAgICAgICAgICBKdW1wIHN1ZmZpY2llbnRBcmd1bWVudHMgPSBicmFuY2gzMihHcmVh
dGVyVGhhbiwgcmVnVDAsIFRydXN0ZWRJbW0zMihmaXJzdFZhckFyZ09mZnNldCArIDEpKTsKKyAg
ICAgICAgICAgIG1vdmUoVHJ1c3RlZEltbTMyKDEpLCByZWdUMCk7CisgICAgICAgICAgICBKdW1w
IGVuZFZhckFyZ3MgPSBqdW1wKCk7CisgICAgICAgICAgICBzdWZmaWNpZW50QXJndW1lbnRzLmxp
bmsodGhpcyk7CiAgICAgICAgICAgICBzdWIzMihUcnVzdGVkSW1tMzIoZmlyc3RWYXJBcmdPZmZz
ZXQpLCByZWdUMCk7CisgICAgICAgICAgICBlbmRWYXJBcmdzLmxpbmsodGhpcyk7CisgICAgICAg
IH0KICAgICAgICAgc2xvd0Nhc2UuYXBwZW5kKGJyYW5jaDMyKEFib3ZlLCByZWdUMCwgVHJ1c3Rl
ZEltbTMyKEFyZ3VtZW50czo6TWF4QXJndW1lbnRzICsgMSkpKTsKICAgICAgICAgLy8gcmVnVDA6
IGFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzCiAgICAgICAgIG1vdmUocmVnVDAsIHJlZ1QxKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmgKaW5kZXggNDZhN2M3NmIy
ZjkwMWZjM2NjMzZkMWNlMGMwNzM1M2ViMDZiMmY1ZS4uOTc0OTkyNjlkZGI4ZGRhZWI1ZmQ1YjJj
OTVkMTAxNDI5ZmEzNGVjYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9BU1RCdWlsZGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWls
ZGVyLmgKQEAgLTI2LDYgKzI2LDcgQEAKICNpZm5kZWYgQVNUQnVpbGRlcl9oCiAjZGVmaW5lIEFT
VEJ1aWxkZXJfaAogCisjaW5jbHVkZSAiQnVpbHRpbk5hbWVzLmgiCiAjaW5jbHVkZSAiTm9kZUNv
bnN0cnVjdG9ycy5oIgogI2luY2x1ZGUgIlN5bnRheENoZWNrZXIuaCIKICNpbmNsdWRlIDx1dGls
aXR5PgpAQCAtODg4LDkgKzg4OSw5IEBAIEV4cHJlc3Npb25Ob2RlKiBBU1RCdWlsZGVyOjptYWtl
RnVuY3Rpb25DYWxsTm9kZShjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uCiAgICAgQVNT
RVJUKGZ1bmMtPmlzRG90QWNjZXNzb3JOb2RlKCkpOwogICAgIERvdEFjY2Vzc29yTm9kZSogZG90
ID0gc3RhdGljX2Nhc3Q8RG90QWNjZXNzb3JOb2RlKj4oZnVuYyk7CiAgICAgRnVuY3Rpb25DYWxs
RG90Tm9kZSogbm9kZTsKLSAgICBpZiAoZG90LT5pZGVudGlmaWVyKCkgPT0gbV92bS0+cHJvcGVy
dHlOYW1lcy0+Y2FsbCB8fCBkb3QtPmlkZW50aWZpZXIoKSA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVz
LT5jYWxsUHJpdmF0ZU5hbWUpCisgICAgaWYgKGRvdC0+aWRlbnRpZmllcigpID09IG1fdm0tPnBy
b3BlcnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygpLmNhbGxQdWJsaWNOYW1lKCkgfHwgZG90LT5pZGVu
dGlmaWVyKCkgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+YnVpbHRpbk5hbWVzKCkuY2FsbFByaXZh
dGVOYW1lKCkpCiAgICAgICAgIG5vZGUgPSBuZXcgKG1fdm0pIENhbGxGdW5jdGlvbkNhbGxEb3RO
b2RlKGxvY2F0aW9uLCBkb3QtPmJhc2UoKSwgZG90LT5pZGVudGlmaWVyKCksIGFyZ3MsIGRpdm90
LCBkaXZvdFN0YXJ0LCBkaXZvdEVuZCk7Ci0gICAgZWxzZSBpZiAoZG90LT5pZGVudGlmaWVyKCkg
PT0gbV92bS0+cHJvcGVydHlOYW1lcy0+YXBwbHkgfHwgZG90LT5pZGVudGlmaWVyKCkgPT0gbV92
bS0+cHJvcGVydHlOYW1lcy0+YXBwbHlQcml2YXRlTmFtZSkKKyAgICBlbHNlIGlmIChkb3QtPmlk
ZW50aWZpZXIoKSA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5idWlsdGluTmFtZXMoKS5hcHBseVB1
YmxpY05hbWUoKSB8fCBkb3QtPmlkZW50aWZpZXIoKSA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5i
dWlsdGluTmFtZXMoKS5hcHBseVByaXZhdGVOYW1lKCkpCiAgICAgICAgIG5vZGUgPSBuZXcgKG1f
dm0pIEFwcGx5RnVuY3Rpb25DYWxsRG90Tm9kZShsb2NhdGlvbiwgZG90LT5iYXNlKCksIGRvdC0+
aWRlbnRpZmllcigpLCBhcmdzLCBkaXZvdCwgZGl2b3RTdGFydCwgZGl2b3RFbmQpOwogICAgIGVs
c2UKICAgICAgICAgbm9kZSA9IG5ldyAobV92bSkgRnVuY3Rpb25DYWxsRG90Tm9kZShsb2NhdGlv
biwgZG90LT5iYXNlKCksIGRvdC0+aWRlbnRpZmllcigpLCBhcmdzLCBkaXZvdCwgZGl2b3RTdGFy
dCwgZGl2b3RFbmQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9M
ZXhlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmNwcAppbmRleCBl
YWQ1MDIyYmZhODg0ODQzOWQ0YjJkMjhkYjAwZGUzZDJkYjRlY2M4Li4yZTNkMzBjNmFhYzBkOGYy
MzVkZmZhZGE4M2IwODJiOTA1ODIwYWUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL0xleGVyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xl
eGVyLmNwcApAQCAtMjcsNiArMjcsNyBAQAogCiAjaW5jbHVkZSAiSlNGdW5jdGlvbklubGluZXMu
aCIKIAorI2luY2x1ZGUgIkJ1aWx0aW5OYW1lcy5oIgogI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0
RnVuY3Rpb25zLmgiCiAjaW5jbHVkZSAiSWRlbnRpZmllci5oIgogI2luY2x1ZGUgIk5vZGVJbmZv
LmgiCkBAIC03NjUsOSArNzY2LDkgQEAgYm9vbCBpc1NhZmVCdWlsdGluSWRlbnRpZmllcihWTSYg
dm0sIGNvbnN0IElkZW50aWZpZXIqIGlkZW50KQogICAgIC8qIEp1c3QgYmxvY2sgYW55IHVzZSBv
ZiBzdXNwaWNpb3VzIGlkZW50aWZpZXJzLiAgVGhpcyBpcyBpbnRlbmRlZCB0bwogICAgICAqIGJl
IHVzZWQgYXMgYSBzYWZldHkgbmV0IHdoaWxlIGltcGxlbWVudGluZyBidWlsdGlucy4KICAgICAg
Ki8KLSAgICBpZiAoKmlkZW50ID09IHZtLnByb3BlcnR5TmFtZXMtPmNhbGwpCisgICAgaWYgKCpp
ZGVudCA9PSB2bS5wcm9wZXJ0eU5hbWVzLT5idWlsdGluTmFtZXMoKS5jYWxsUHVibGljTmFtZSgp
KQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgaWYgKCppZGVudCA9PSB2bS5wcm9wZXJ0eU5h
bWVzLT5hcHBseSkKKyAgICBpZiAoKmlkZW50ID09IHZtLnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5O
YW1lcygpLmFwcGx5UHVibGljTmFtZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgaWYg
KCppZGVudCA9PSB2bS5wcm9wZXJ0eU5hbWVzLT5ldmFsKQogICAgICAgICByZXR1cm4gZmFsc2U7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlm
aWVycy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMu
aAppbmRleCBlMmVhMmIzOTJiOTlhODc5MmI2YzI5NTllNDk1OTgzZjMwNTJiMmY2Li4xYmRjODQx
ZjYzZjhkZGJiMzhmMDU3ZWIzZGFkYzY4ODI4NzIxNjk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgKQEAgLTYzLDcgKzYzLDYgQEAK
ICAgICBtYWNybyhfX2xvb2t1cFNldHRlcl9fKSBcCiAgICAgbWFjcm8oYWRkKSBcCiAgICAgbWFj
cm8oYW5vbnltb3VzKSBcCi0gICAgbWFjcm8oYXBwbHkpIFwKICAgICBtYWNybyhhcmd1bWVudHMp
IFwKICAgICBtYWNybyhiaW5kKSBcCiAgICAgbWFjcm8oYnVmZmVyKSBcCkBAIC03Myw3ICs3Miw2
IEBACiAgICAgbWFjcm8oYnl0ZWNvZGVJbmRleCkgXAogICAgIG1hY3JvKGJ5dGVjb2RlcykgXAog
ICAgIG1hY3JvKGJ5dGVjb2Rlc0lEKSBcCi0gICAgbWFjcm8oY2FsbCkgXAogICAgIG1hY3JvKGNh
bGxlZSkgXAogICAgIG1hY3JvKGNhbGxlcikgXAogICAgIG1hY3JvKGNhc3QpIFwKQEAgLTIwNyw4
ICsyMDUsNiBAQAogICAgIG1hY3JvKHlpZWxkKQogCiAjZGVmaW5lIEpTQ19DT01NT05fUFJJVkFU
RV9JREVOVElGSUVSU19FQUNIX1BST1BFUlRZX05BTUUobWFjcm8pIFwKLSAgICBtYWNybyhhcHBs
eSkgXAotICAgIG1hY3JvKGNhbGwpIFwKICAgICBtYWNybyhpdGVyYXRvcikgXAogICAgIG1hY3Jv
KGl0ZXJhdG9yTmV4dCkgXAogICAgIG1hY3JvKHJlc29sdmUpIFwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUHJvdG90eXBlLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUHJvdG90eXBlLmNwcAppbmRleCBhNjIzY2Yz
OTljMTM0ZjE1MGEyNzY2OWM5YjhkYzdjZTFmMDI2MmVlLi41YjY2NmY4ZWVkMWIyOWY4YmNiMWM1
YWZkZDM1YzcyZTU4ZTdhNmFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9GdW5jdGlvblByb3RvdHlwZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvRnVuY3Rpb25Qcm90b3R5cGUuY3BwCkBAIC0yMiw2ICsyMiw4IEBACiAjaW5jbHVkZSAi
RnVuY3Rpb25Qcm90b3R5cGUuaCIKIAogI2luY2x1ZGUgIkFyZ3VtZW50cy5oIgorI2luY2x1ZGUg
IkJ1aWx0aW5FeGVjdXRhYmxlcy5oIgorI2luY2x1ZGUgIkJ1aWx0aW5OYW1lcy5oIgogI2luY2x1
ZGUgIkpTQXJyYXkuaCIKICNpbmNsdWRlICJKU0JvdW5kRnVuY3Rpb24uaCIKICNpbmNsdWRlICJK
U0Z1bmN0aW9uLmgiCkBAIC0zOCw4ICs0MCw2IEBAIFNUQVRJQ19BU1NFUlRfSVNfVFJJVklBTExZ
X0RFU1RSVUNUSUJMRShGdW5jdGlvblByb3RvdHlwZSk7CiBjb25zdCBDbGFzc0luZm8gRnVuY3Rp
b25Qcm90b3R5cGU6OnNfaW5mbyA9IHsgIkZ1bmN0aW9uIiwgJkJhc2U6OnNfaW5mbywgMCwgMCwg
Q1JFQVRFX01FVEhPRF9UQUJMRShGdW5jdGlvblByb3RvdHlwZSkgfTsKIAogc3RhdGljIEVuY29k
ZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25Qcm90b0Z1bmNUb1N0cmluZyhFeGVjU3Rh
dGUqKTsKLXN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uUHJvdG9G
dW5jQXBwbHkoRXhlY1N0YXRlKik7Ci1zdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCBmdW5jdGlvblByb3RvRnVuY0NhbGwoRXhlY1N0YXRlKik7CiBzdGF0aWMgRW5jb2RlZEpTVmFs
dWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvblByb3RvRnVuY0JpbmQoRXhlY1N0YXRlKik7CiAKIEZ1
bmN0aW9uUHJvdG90eXBlOjpGdW5jdGlvblByb3RvdHlwZShWTSYgdm0sIFN0cnVjdHVyZSogc3Ry
dWN0dXJlKQpAQCAtNjAsMTEgKzYwLDggQEAgdm9pZCBGdW5jdGlvblByb3RvdHlwZTo6YWRkRnVu
Y3Rpb25Qcm9wZXJ0aWVzKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGcKICAgICBK
U0Z1bmN0aW9uKiB0b1N0cmluZ0Z1bmN0aW9uID0gSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBnbG9i
YWxPYmplY3QsIDAsIHZtLnByb3BlcnR5TmFtZXMtPnRvU3RyaW5nLnN0cmluZygpLCBmdW5jdGlv
blByb3RvRnVuY1RvU3RyaW5nKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwg
dm0ucHJvcGVydHlOYW1lcy0+dG9TdHJpbmcsIHRvU3RyaW5nRnVuY3Rpb24sIERvbnRFbnVtKTsK
IAotICAgICphcHBseUZ1bmN0aW9uID0gSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBnbG9iYWxPYmpl
Y3QsIDIsIHZtLnByb3BlcnR5TmFtZXMtPmFwcGx5LnN0cmluZygpLCBmdW5jdGlvblByb3RvRnVu
Y0FwcGx5KTsKLSAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlO
YW1lcy0+YXBwbHksICphcHBseUZ1bmN0aW9uLCBEb250RW51bSk7Ci0KLSAgICAqY2FsbEZ1bmN0
aW9uID0gSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIDEsIHZtLnByb3BlcnR5
TmFtZXMtPmNhbGwuc3RyaW5nKCksIGZ1bmN0aW9uUHJvdG9GdW5jQ2FsbCk7Ci0gICAgcHV0RGly
ZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmNhbGwsICpjYWxsRnVu
Y3Rpb24sIERvbnRFbnVtKTsKKyAgICAqYXBwbHlGdW5jdGlvbiA9IHB1dERpcmVjdEJ1aWx0aW5G
dW5jdGlvbldpdGhvdXRUcmFuc2l0aW9uKHZtLCBnbG9iYWxPYmplY3QsIHZtLnByb3BlcnR5TmFt
ZXMtPmJ1aWx0aW5OYW1lcygpLmFwcGx5UHVibGljTmFtZSgpLCBmdW5jdGlvblByb3RvdHlwZUFw
cGx5Q29kZUdlbmVyYXRvcih2bSksIERvbnRFbnVtKTsKKyAgICAqY2FsbEZ1bmN0aW9uID0gcHV0
RGlyZWN0QnVpbHRpbkZ1bmN0aW9uV2l0aG91dFRyYW5zaXRpb24odm0sIGdsb2JhbE9iamVjdCwg
dm0ucHJvcGVydHlOYW1lcy0+YnVpbHRpbk5hbWVzKCkuY2FsbFB1YmxpY05hbWUoKSwgZnVuY3Rp
b25Qcm90b3R5cGVDYWxsQ29kZUdlbmVyYXRvcih2bSksIERvbnRFbnVtKTsKIAogICAgIEpTRnVu
Y3Rpb24qIGJpbmRGdW5jdGlvbiA9IEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0
LCAxLCB2bS5wcm9wZXJ0eU5hbWVzLT5iaW5kLnN0cmluZygpLCBmdW5jdGlvblByb3RvRnVuY0Jp
bmQpOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVz
LT5iaW5kLCBiaW5kRnVuY3Rpb24sIERvbnRFbnVtKTsKQEAgLTEyNCw1NSArMTIxLDYgQEAgRW5j
b2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvblByb3RvRnVuY1RvU3RyaW5nKEV4ZWNT
dGF0ZSogZXhlYykKICAgICByZXR1cm4gdGhyb3dWTVR5cGVFcnJvcihleGVjKTsKIH0KIAotRW5j
b2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvblByb3RvRnVuY0FwcGx5KEV4ZWNTdGF0
ZSogZXhlYykKLXsKLSAgICBKU1ZhbHVlIHRoaXNWYWx1ZSA9IGV4ZWMtPmhvc3RUaGlzVmFsdWUo
KTsKLSAgICBDYWxsRGF0YSBjYWxsRGF0YTsKLSAgICBDYWxsVHlwZSBjYWxsVHlwZSA9IGdldENh
bGxEYXRhKHRoaXNWYWx1ZSwgY2FsbERhdGEpOwotICAgIGlmIChjYWxsVHlwZSA9PSBDYWxsVHlw
ZU5vbmUpCi0gICAgICAgIHJldHVybiB0aHJvd1ZNVHlwZUVycm9yKGV4ZWMpOwotCi0gICAgSlNW
YWx1ZSBhcnJheSA9IGV4ZWMtPmFyZ3VtZW50KDEpOwotCi0gICAgTWFya2VkQXJndW1lbnRCdWZm
ZXIgYXBwbHlBcmdzOwotICAgIGlmICghYXJyYXkuaXNVbmRlZmluZWRPck51bGwoKSkgewotICAg
ICAgICBpZiAoIWFycmF5LmlzT2JqZWN0KCkpCi0gICAgICAgICAgICByZXR1cm4gdGhyb3dWTVR5
cGVFcnJvcihleGVjKTsKLSAgICAgICAgaWYgKGFzT2JqZWN0KGFycmF5KS0+Y2xhc3NJbmZvKCkg
PT0gQXJndW1lbnRzOjppbmZvKCkpIHsKLSAgICAgICAgICAgIGlmIChhc0FyZ3VtZW50cyhhcnJh
eSktPmxlbmd0aChleGVjKSA+IEFyZ3VtZW50czo6TWF4QXJndW1lbnRzKQotICAgICAgICAgICAg
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodGhyb3dTdGFja092ZXJmbG93RXJyb3IoZXhlYykp
OwotICAgICAgICAgICAgYXNBcmd1bWVudHMoYXJyYXkpLT5maWxsQXJnTGlzdChleGVjLCBhcHBs
eUFyZ3MpOwotICAgICAgICB9IGVsc2UgaWYgKGlzSlNBcnJheShhcnJheSkpIHsKLSAgICAgICAg
ICAgIGlmIChhc0FycmF5KGFycmF5KS0+bGVuZ3RoKCkgPiBBcmd1bWVudHM6Ok1heEFyZ3VtZW50
cykKLSAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRocm93U3RhY2tPdmVy
Zmxvd0Vycm9yKGV4ZWMpKTsKLSAgICAgICAgICAgIGFzQXJyYXkoYXJyYXkpLT5maWxsQXJnTGlz
dChleGVjLCBhcHBseUFyZ3MpOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgdW5zaWdu
ZWQgbGVuZ3RoID0gYXNPYmplY3QoYXJyYXkpLT5nZXQoZXhlYywgZXhlYy0+cHJvcGVydHlOYW1l
cygpLmxlbmd0aCkudG9VSW50MzIoZXhlYyk7Ci0gICAgICAgICAgICBpZiAobGVuZ3RoID4gQXJn
dW1lbnRzOjpNYXhBcmd1bWVudHMpCi0gICAgICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVu
Y29kZSh0aHJvd1N0YWNrT3ZlcmZsb3dFcnJvcihleGVjKSk7Ci0KLSAgICAgICAgICAgIGZvciAo
dW5zaWduZWQgaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkKLSAgICAgICAgICAgICAgICBhcHBseUFy
Z3MuYXBwZW5kKGFzT2JqZWN0KGFycmF5KS0+Z2V0KGV4ZWMsIGkpKTsKLSAgICAgICAgfQotICAg
IH0KLSAgICAKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGNhbGwoZXhlYywgdGhpc1ZhbHVl
LCBjYWxsVHlwZSwgY2FsbERhdGEsIGV4ZWMtPmFyZ3VtZW50KDApLCBhcHBseUFyZ3MpKTsKLX0K
LQotRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvblByb3RvRnVuY0NhbGwoRXhl
Y1N0YXRlKiBleGVjKQotewotICAgIEpTVmFsdWUgdGhpc1ZhbHVlID0gZXhlYy0+aG9zdFRoaXNW
YWx1ZSgpOwotICAgIENhbGxEYXRhIGNhbGxEYXRhOwotICAgIENhbGxUeXBlIGNhbGxUeXBlID0g
Z2V0Q2FsbERhdGEodGhpc1ZhbHVlLCBjYWxsRGF0YSk7Ci0gICAgaWYgKGNhbGxUeXBlID09IENh
bGxUeXBlTm9uZSkKLSAgICAgICAgcmV0dXJuIHRocm93Vk1UeXBlRXJyb3IoZXhlYyk7Ci0KLSAg
ICBBcmdMaXN0IGFyZ3MoZXhlYyk7Ci0gICAgQXJnTGlzdCBjYWxsQXJnczsKLSAgICBhcmdzLmdl
dFNsaWNlKDEsIGNhbGxBcmdzKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGNhbGwoZXhl
YywgdGhpc1ZhbHVlLCBjYWxsVHlwZSwgY2FsbERhdGEsIGV4ZWMtPmFyZ3VtZW50KDApLCBjYWxs
QXJncykpOwotfQotCiAvLyAxNS4zLjQuNSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCAodGhpc0Fy
ZyBbLCBhcmcxIFssIGFyZzIsIC4uLl1dKQogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBm
dW5jdGlvblByb3RvRnVuY0JpbmQoRXhlY1N0YXRlKiBleGVjKQogewpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCmluZGV4IDk3Y2QzZGVkNjQ3ODY0NTQ1NDY3NzQy
Mjc4OTAxZjRhNGI2NzgzMjEuLmRjZmI2MjdmNmIxMjRlM2MwYzk4NzQyM2E1Yzk0MTU4ZTU5ZDYw
MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAKQEAgLTIy
MzYsNyArMjIzNiw3IEBAIHZvaWQgSlNPYmplY3Q6OnB1dERpcmVjdE5hdGl2ZUZ1bmN0aW9uKFZN
JiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uCiAgICAgcHV0RGlyZWN0KHZt
LCBwcm9wZXJ0eU5hbWUsIGZ1bmN0aW9uLCBhdHRyaWJ1dGVzKTsKIH0KIAotdm9pZCBKU09iamVj
dDo6cHV0RGlyZWN0QnVpbHRpbkZ1bmN0aW9uKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgY29uc3QgUHJvcGVydHlOYW1lJiBwcm9wZXJ0eU5hbWUsIEZ1bmN0aW9uRXhlY3V0
YWJsZSogZnVuY3Rpb25FeGVjdXRhYmxlLCB1bnNpZ25lZCBhdHRyaWJ1dGVzKQorSlNGdW5jdGlv
biogSlNPYmplY3Q6OnB1dERpcmVjdEJ1aWx0aW5GdW5jdGlvbihWTSYgdm0sIEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IFByb3BlcnR5TmFtZSYgcHJvcGVydHlOYW1lLCBGdW5j
dGlvbkV4ZWN1dGFibGUqIGZ1bmN0aW9uRXhlY3V0YWJsZSwgdW5zaWduZWQgYXR0cmlidXRlcykK
IHsKICAgICBTdHJpbmdJbXBsKiBuYW1lID0gcHJvcGVydHlOYW1lLnB1YmxpY05hbWUoKTsKICAg
ICBpZiAoIW5hbWUpCkBAIC0yMjQ0LDYgKzIyNDQsMTggQEAgdm9pZCBKU09iamVjdDo6cHV0RGly
ZWN0QnVpbHRpbkZ1bmN0aW9uKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
Y28KICAgICBBU1NFUlQobmFtZSk7CiAgICAgSlNGdW5jdGlvbiogZnVuY3Rpb24gPSBKU0Z1bmN0
aW9uOjpjcmVhdGVCdWlsdGluRnVuY3Rpb24odm0sIHN0YXRpY19jYXN0PEZ1bmN0aW9uRXhlY3V0
YWJsZSo+KGZ1bmN0aW9uRXhlY3V0YWJsZSksIGdsb2JhbE9iamVjdCk7CiAgICAgcHV0RGlyZWN0
KHZtLCBwcm9wZXJ0eU5hbWUsIGZ1bmN0aW9uLCBhdHRyaWJ1dGVzKTsKKyAgICByZXR1cm4gZnVu
Y3Rpb247Cit9CisKK0pTRnVuY3Rpb24qIEpTT2JqZWN0OjpwdXREaXJlY3RCdWlsdGluRnVuY3Rp
b25XaXRob3V0VHJhbnNpdGlvbihWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IGNvbnN0IFByb3BlcnR5TmFtZSYgcHJvcGVydHlOYW1lLCBGdW5jdGlvbkV4ZWN1dGFibGUqIGZ1
bmN0aW9uRXhlY3V0YWJsZSwgdW5zaWduZWQgYXR0cmlidXRlcykKK3sKKyAgICBTdHJpbmdJbXBs
KiBuYW1lID0gcHJvcGVydHlOYW1lLnB1YmxpY05hbWUoKTsKKyAgICBpZiAoIW5hbWUpCisgICAg
ICAgIG5hbWUgPSB2bS5wcm9wZXJ0eU5hbWVzLT5hbm9ueW1vdXMuaW1wbCgpOworICAgIEFTU0VS
VChuYW1lKTsKKyAgICBKU0Z1bmN0aW9uKiBmdW5jdGlvbiA9IEpTRnVuY3Rpb246OmNyZWF0ZUJ1
aWx0aW5GdW5jdGlvbih2bSwgc3RhdGljX2Nhc3Q8RnVuY3Rpb25FeGVjdXRhYmxlKj4oZnVuY3Rp
b25FeGVjdXRhYmxlKSwgZ2xvYmFsT2JqZWN0KTsKKyAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNp
dGlvbih2bSwgcHJvcGVydHlOYW1lLCBmdW5jdGlvbiwgYXR0cmlidXRlcyk7CisgICAgcmV0dXJu
IGZ1bmN0aW9uOwogfQogCiB2b2lkIEpTT2JqZWN0OjpwdXREaXJlY3ROYXRpdmVGdW5jdGlvbldp
dGhvdXRUcmFuc2l0aW9uKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29u
c3QgUHJvcGVydHlOYW1lJiBwcm9wZXJ0eU5hbWUsIHVuc2lnbmVkIGZ1bmN0aW9uTGVuZ3RoLCBO
YXRpdmVGdW5jdGlvbiBuYXRpdmVGdW5jdGlvbiwgSW50cmluc2ljIGludHJpbnNpYywgdW5zaWdu
ZWQgYXR0cmlidXRlcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCmlu
ZGV4IGE5YmQ1MzkyZmZkNzE0ZjEwMmMyYmY4NTgyZDVjYjNjYjliMDhhNmYuLmQ3ZDFjYjE5M2Ix
YzZlZmJkY2YxODM5NTlkYzE3N2Y0OWUwOWE0OGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNPYmplY3QuaApAQCAtNjcsNiArNjcsNyBAQCBpbmxpbmUgSlNDZWxsKiBnZXRDYWxs
YWJsZU9iamVjdChKU1ZhbHVlIHZhbHVlKQogY2xhc3MgR2V0dGVyU2V0dGVyOwogY2xhc3MgSGFz
aEVudHJ5OwogY2xhc3MgSW50ZXJuYWxGdW5jdGlvbjsKK2NsYXNzIEpTRnVuY3Rpb247CiBjbGFz
cyBMTEludE9mZnNldHNFeHRyYWN0b3I7CiBjbGFzcyBNYXJrZWRCbG9jazsKIGNsYXNzIFByb3Bl
cnR5RGVzY3JpcHRvcjsKQEAgLTU4MSw3ICs1ODIsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBwdXRE
aXJlY3RVbmRlZmluZWQoUHJvcGVydHlPZmZzZXQgb2Zmc2V0KSB7IGxvY2F0aW9uRm9yT2Zmc2V0
KG9mZnNldCktPnNldFVuZGVmaW5lZCgpOyB9CiAKICAgICBKU19FWFBPUlRfUFJJVkFURSB2b2lk
IHB1dERpcmVjdE5hdGl2ZUZ1bmN0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBjb25zdCBQcm9w
ZXJ0eU5hbWUmLCB1bnNpZ25lZCBmdW5jdGlvbkxlbmd0aCwgTmF0aXZlRnVuY3Rpb24sIEludHJp
bnNpYywgdW5zaWduZWQgYXR0cmlidXRlcyk7Ci0gICAgdm9pZCBwdXREaXJlY3RCdWlsdGluRnVu
Y3Rpb24oVk0mLCBKU0dsb2JhbE9iamVjdCosIGNvbnN0IFByb3BlcnR5TmFtZSYsIEZ1bmN0aW9u
RXhlY3V0YWJsZSosIHVuc2lnbmVkIGF0dHJpYnV0ZXMpOworICAgIEpTRnVuY3Rpb24qIHB1dERp
cmVjdEJ1aWx0aW5GdW5jdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0KiwgY29uc3QgUHJvcGVydHlO
YW1lJiwgRnVuY3Rpb25FeGVjdXRhYmxlKiwgdW5zaWduZWQgYXR0cmlidXRlcyk7CisgICAgSlNG
dW5jdGlvbiogcHV0RGlyZWN0QnVpbHRpbkZ1bmN0aW9uV2l0aG91dFRyYW5zaXRpb24oVk0mLCBK
U0dsb2JhbE9iamVjdCosIGNvbnN0IFByb3BlcnR5TmFtZSYsIEZ1bmN0aW9uRXhlY3V0YWJsZSos
IHVuc2lnbmVkIGF0dHJpYnV0ZXMpOwogICAgIHZvaWQgcHV0RGlyZWN0TmF0aXZlRnVuY3Rpb25X
aXRob3V0VHJhbnNpdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0KiwgY29uc3QgUHJvcGVydHlOYW1l
JiwgdW5zaWduZWQgZnVuY3Rpb25MZW5ndGgsIE5hdGl2ZUZ1bmN0aW9uLCBJbnRyaW5zaWMsIHVu
c2lnbmVkIGF0dHJpYnV0ZXMpOwogCiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIGJvb2wg
ZGVmaW5lT3duUHJvcGVydHkoSlNPYmplY3QqLCBFeGVjU3RhdGUqLCBQcm9wZXJ0eU5hbWUsIGNv
bnN0IFByb3BlcnR5RGVzY3JpcHRvciYsIGJvb2wgc2hvdWxkVGhyb3cpOwo=
</data>
<flag name="review"
          id="249549"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>