<?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>41929</bug_id>
          
          <creation_ts>2010-07-08 22:06:49 -0700</creation_ts>
          <short_desc>Property declarations in an object literal should not consider the prototype chain when being added to the new object</short_desc>
          <delta_ts>2010-08-24 10:09:00 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>44240</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Oliver Hunt">oliver</reporter>
          <assigned_to name="Oliver Hunt">oliver</assigned_to>
          <cc>ddkilzer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>248725</commentid>
    <comment_count>0</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-07-08 22:06:49 -0700</bug_when>
    <thetext>Property declarations in an object literal should not consider the prototype chain when being added to the new object</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>248729</commentid>
    <comment_count>1</comment_count>
      <attachid>61004</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-07-08 22:18:25 -0700</bug_when>
    <thetext>Created attachment 61004
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>248731</commentid>
    <comment_count>2</comment_count>
      <attachid>61004</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-07-08 22:22:55 -0700</bug_when>
    <thetext>Comment on attachment 61004
Patch

&gt; +
&gt; +           The &quot;direct&quot; flag should only be set this put_by_id is to initialise
&gt; +           an object literal.

Typo. initialise -&gt; initialize.

r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>248750</commentid>
    <comment_count>3</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-07-08 22:48:12 -0700</bug_when>
    <thetext>Committed r62896: &lt;http://trac.webkit.org/changeset/62896&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>268615</commentid>
    <comment_count>4</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2010-08-24 10:09:00 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Committed r62896: &lt;http://trac.webkit.org/changeset/62896&gt;

This caused Bug 44240.  Fixed in r65847.
&lt;http://trac.webkit.org/changeset/65847&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>61004</attachid>
            <date>2010-07-08 22:18:25 -0700</date>
            <delta_ts>2010-07-08 22:22:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-41929-20100708221824.patch</filename>
            <type>text/plain</type>
            <size>39548</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCAzYTQ2NmViYWIyMWFjMjZjZWMwMDk4YTBjZDNmZWI0NDMwZWU0MTkzLi5l
ODQ1YTZiZDI2MDJlYzRkOTAzMzczNjEzNDE5ZTE1MGY0OGM1NGEwIDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0x
LDUgKzEsNjQgQEAKIDIwMTAtMDctMDggIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4K
IAorICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQcm9wZXJ0
eSBkZWNsYXJhdGlvbnMgaW4gYW4gb2JqZWN0IGxpdGVyYWwgc2hvdWxkIG5vdCBjb25zaWRlciB0
aGUgcHJvdG90eXBlIGNoYWluIHdoZW4gYmVpbmcgYWRkZWQgdG8gdGhlIG5ldyBvYmplY3QKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQxOTI5CisKKyAg
ICAgICAgVG8gZml4IHRoaXMgYWxsIHdlIG5lZWQgdG8gZG8gaXMgZW5zdXJlIHRoYXQgYWxsIG5l
dyBwcm9wZXJ0aWVzIGFyZQorICAgICAgICBhZGRlZCB3aXRoIHB1dERpcmVjdCByYXRoZXIgdGhh
biBhIGZ1bGx5IGdlbmVyaWMgY2FsbCB0byBwdXQuICBUaGlzCisgICAgICAgIGlzIHNhZmUgYXMg
YW4gb2JqZWN0IGxpdGVyYWwgaXMgYnkgZGVmaW5pdGlvbiBnb2luZyB0byBwcm9kdWNlIGEKKyAg
ICAgICAgY29tcGxldGVseSBub3JtYWwgb2JqZWN0LgorCisgICAgICAgIFJhdGhlciB0aGFuIGR1
cGxpY2F0aW5nIGFsbCB0aGUgcHV0X2J5X2lkIGxvZ2ljIHdlIGFkZCBhbiBhZGRpdGlvbmFsCisg
ICAgICAgIGZsYWcgdG8gb3BfcHV0X2J5X2lkIHRvIGluZGljYXRlIGl0IHNob3VsZCBiZSB1c2lu
ZyBwdXREaXJlY3QuICBJbgorICAgICAgICB0aGUgaW50ZXJwcmV0ZXIgdGhpcyBhZGRzIGEgcnVu
dGltZSBicmFuY2gsIGJ1dCBpbiB0aGUgaml0IHRoaXMgaXMKKyAgICAgICAgZXNzZW50aWFsbHkg
ZnJlZSBhcyB0aGUgYnJhbmNoIGlzIHRha2VuIGF0IGNvbXBpbGUgdGltZS4gIFRoaXMgZG9lcwor
ICAgICAgICBhY3R1YWxseSBpbXByb3ZlIG9iamVjdCBsaXRlcmFsIGNyZWF0aW9uIHRpbWUgZXZl
biBpbiB0aGUgaW50ZXJwcmV0ZXIKKyAgICAgICAgYXMgd2Ugbm8gbG9uZ2VyIG5lZWQgdG8gd2Fs
ayB0aGUgcHJvdG90eXBlIGNoYWluIHRvIHZlcmlmeSB0aGF0IHRoZQorICAgICAgICBjYWNoZWQg
cHV0IGlzIHNhZmUuCisKKyAgICAgICAgV2Ugc3RpbGwgZW1pdCBub3JtYWwgcHV0X2J5X2lkIGNv
ZGUgd2hlbiBlbWl0dGluZyBfX3Byb3RvX18gYXMgd2Ugd2FudAorICAgICAgICB0byBnZXQgdGhl
IGNvcnJlY3QgaGFuZGxpbmcgZm9yIGNoYW5naW5nIHRoZSBwcm90b3R5cGUuCisKKyAgICAgICAg
U3Vuc3BpZGVyIGNsYWltcyB0aGlzIGlzIGEgMC43JSBzcGVlZHVwIHdoaWNoIGlzIGNvbmNlaXZh
Ymx5IHJlYWwgZHVlCisgICAgICAgIHRvIHRoZSBwZXJmb3JtYW5jZSBpbXByb3ZlbWVudCBpbiBv
YmplY3QgbGl0ZXJhbHMsIGJ1dCBJIHN1c3BlY3QgaXRzCisgICAgICAgIHJlYWxseSBqdXN0IHRo
ZSByZXN1bHQgb2YgY29kZSBtb3Rpb24uCisKKyAgICAgICAgKiBieXRlY29kZS9PcGNvZGUuaDoK
KyAgICAgICAgKiBieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwOgorICAgICAgICAo
SlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdFB1dEJ5SWQpOgorICAgICAgICAoSlNDOjpCeXRl
Y29kZUdlbmVyYXRvcjo6ZW1pdERpcmVjdFB1dEJ5SWQpOgorICAgICAgICAqIGJ5dGVjb21waWxl
ci9CeXRlY29kZUdlbmVyYXRvci5oOgorICAgICAgICAqIGJ5dGVjb21waWxlci9Ob2Rlc0NvZGVn
ZW4uY3BwOgorICAgICAgICAoSlNDOjpQcm9wZXJ0eUxpc3ROb2RlOjplbWl0Qnl0ZWNvZGUpOgor
ICAgICAgICAqIGludGVycHJldGVyL0ludGVycHJldGVyLmNwcDoKKyAgICAgICAgKEpTQzo6SW50
ZXJwcmV0ZXI6OnByaXZhdGVFeGVjdXRlKToKKyAgICAgICAgKiBqaXQvSklULmg6CisgICAgICAg
IChKU0M6OkpJVDo6Y29tcGlsZVB1dEJ5SWRUcmFuc2l0aW9uKToKKyAgICAgICAgKiBqaXQvSklU
UHJvcGVydHlBY2Nlc3MuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRfb3BfcHV0X2J5X2lk
KToKKyAgICAgICAgKEpTQzo6SklUOjplbWl0U2xvd19vcF9wdXRfYnlfaWQpOgorICAgICAgICAo
SlNDOjpKSVQ6OnByaXZhdGVDb21waWxlUHV0QnlJZFRyYW5zaXRpb24pOgorICAgICAgICAoSlND
OjpKSVQ6OnBhdGNoUHV0QnlJZFJlcGxhY2UpOgorICAgICAgICAqIGppdC9KSVRQcm9wZXJ0eUFj
Y2VzczMyXzY0LmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjplbWl0U2xvd19vcF9wdXRfYnlfaWQp
OgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlUHV0QnlJZFRyYW5zaXRpb24pOgor
ICAgICAgICAoSlNDOjpKSVQ6OnBhdGNoUHV0QnlJZFJlcGxhY2UpOgorICAgICAgICAqIGppdC9K
SVRTdHVicy5jcHA6CisgICAgICAgIChKU0M6OkpJVFRodW5rczo6dHJ5Q2FjaGVQdXRCeUlEKToK
KyAgICAgICAgKEpTQzo6REVGSU5FX1NUVUJfRlVOQ1RJT04pOgorICAgICAgICAqIGppdC9KSVRT
dHVicy5oOgorICAgICAgICAoSlNDOjopOgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxEYXRh
LmNwcDoKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxEYXRhOjpKU0dsb2JhbERhdGEpOgorICAgICAg
ICAqIHJ1bnRpbWUvSlNPYmplY3QuaDoKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OnB1dERpcmVj
dCk6CisgICAgICAgIChKU0M6OkpTVmFsdWU6OnB1dERpcmVjdCk6CisgICAgICAgICogcnVudGlt
ZS9KU1ZhbHVlLmg6CisKKzIwMTAtMDctMDggIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNv
bT4KKwogICAgICAgICBSZXZpZXdlZCBieSBHYXZpbiBCYXJyYWNsb3VnaC4KIAogICAgICAgICBK
YXZhU2NyaXB0IHBhcnNlciB2aW9sYXRlcyBFQ01BIGF1dG9tYXRpYyBzZW1pY29sb24gaW5zZXJ0
aW9uIHJ1bGUKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09wY29kZS5oIGIv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT3Bjb2RlLmgKaW5kZXggZjg0NWEzNGJjZmY0OTJkNDFl
Y2RiOTU3OGQ0N2ExOTJhNzRkMWViNy4uYmFhZDhlYWI0MTZjZWY4MWQ1MjExMjBkNDNlYzk2ZWIx
N2I5YjgzZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT3Bjb2RlLmgKKysr
IGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT3Bjb2RlLmgKQEAgLTEyMCwxMCArMTIwLDEwIEBA
IG5hbWVzcGFjZSBKU0MgewogICAgICAgICBtYWNybyhvcF9nZXRfYnlfaWRfZ2VuZXJpYywgOCkg
XAogICAgICAgICBtYWNybyhvcF9nZXRfYXJyYXlfbGVuZ3RoLCA4KSBcCiAgICAgICAgIG1hY3Jv
KG9wX2dldF9zdHJpbmdfbGVuZ3RoLCA4KSBcCi0gICAgICAgIG1hY3JvKG9wX3B1dF9ieV9pZCwg
OCkgXAotICAgICAgICBtYWNybyhvcF9wdXRfYnlfaWRfdHJhbnNpdGlvbiwgOCkgXAotICAgICAg
ICBtYWNybyhvcF9wdXRfYnlfaWRfcmVwbGFjZSwgOCkgXAotICAgICAgICBtYWNybyhvcF9wdXRf
YnlfaWRfZ2VuZXJpYywgOCkgXAorICAgICAgICBtYWNybyhvcF9wdXRfYnlfaWQsIDkpIFwKKyAg
ICAgICAgbWFjcm8ob3BfcHV0X2J5X2lkX3RyYW5zaXRpb24sIDkpIFwKKyAgICAgICAgbWFjcm8o
b3BfcHV0X2J5X2lkX3JlcGxhY2UsIDkpIFwKKyAgICAgICAgbWFjcm8ob3BfcHV0X2J5X2lkX2dl
bmVyaWMsIDkpIFwKICAgICAgICAgbWFjcm8ob3BfZGVsX2J5X2lkLCA0KSBcCiAgICAgICAgIG1h
Y3JvKG9wX2dldF9ieV92YWwsIDQpIFwKICAgICAgICAgbWFjcm8ob3BfZ2V0X2J5X3BuYW1lLCA3
KSBcCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5l
cmF0b3IuY3BwIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9y
LmNwcAppbmRleCAxNmVmMzU3YjU5MDBmMGE4NTYzNjg1YTMzN2I1ODhmMzQ3YjkxNThjLi44ZmYx
YjVkOTFiYjJkOTBiZDM5YWM1YjhjZWVhY2IzOWEzNDc4MDhhIDEwMDY0NAotLS0gYS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCisrKyBiL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKQEAgLTEyODAsNiArMTI4
MCwyNyBAQCBSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdFB1dEJ5SWQoUmVnaXN0
ZXJJRCogYmFzZSwgY29uc3QgSWRlbnRpZmllciYgcAogICAgIGluc3RydWN0aW9ucygpLmFwcGVu
ZCgwKTsKICAgICBpbnN0cnVjdGlvbnMoKS5hcHBlbmQoMCk7CiAgICAgaW5zdHJ1Y3Rpb25zKCku
YXBwZW5kKDApOworICAgIGluc3RydWN0aW9ucygpLmFwcGVuZCgwKTsKKyAgICByZXR1cm4gdmFs
dWU7Cit9CisKK1JlZ2lzdGVySUQqIEJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0RGlyZWN0UHV0QnlJ
ZChSZWdpc3RlcklEKiBiYXNlLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eSwgUmVnaXN0ZXJJ
RCogdmFsdWUpCit7CisjaWYgRU5BQkxFKEpJVCkKKyAgICBtX2NvZGVCbG9jay0+YWRkU3RydWN0
dXJlU3R1YkluZm8oU3RydWN0dXJlU3R1YkluZm8oYWNjZXNzX3B1dF9ieV9pZCkpOworI2Vsc2UK
KyAgICBtX2NvZGVCbG9jay0+YWRkUHJvcGVydHlBY2Nlc3NJbnN0cnVjdGlvbihpbnN0cnVjdGlv
bnMoKS5zaXplKCkpOworI2VuZGlmCisgICAgCisgICAgZW1pdE9wY29kZShvcF9wdXRfYnlfaWQp
OworICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChiYXNlLT5pbmRleCgpKTsKKyAgICBpbnN0cnVj
dGlvbnMoKS5hcHBlbmQoYWRkQ29uc3RhbnQocHJvcGVydHkpKTsKKyAgICBpbnN0cnVjdGlvbnMo
KS5hcHBlbmQodmFsdWUtPmluZGV4KCkpOworICAgIGluc3RydWN0aW9ucygpLmFwcGVuZCgwKTsK
KyAgICBpbnN0cnVjdGlvbnMoKS5hcHBlbmQoMCk7CisgICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5k
KDApOworICAgIGluc3RydWN0aW9ucygpLmFwcGVuZCgwKTsKKyAgICBpbnN0cnVjdGlvbnMoKS5h
cHBlbmQocHJvcGVydHkgIT0gbV9nbG9iYWxEYXRhLT5wcm9wZXJ0eU5hbWVzLT51bmRlcnNjb3Jl
UHJvdG8pOwogICAgIHJldHVybiB2YWx1ZTsKIH0KIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmggYi9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaAppbmRleCA4YjZhYjc3ZTBjMGVjNzQwNTJiNGJk
NmZjMGExYWVhZDRhYzE4NGIyLi4yYjIzMWE3ZGUxZTJiYWY5MmRhZDc5NmQ2NmZmNjc5NWVlMjYy
Mzg0IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5l
cmF0b3IuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0
b3IuaApAQCAtMzI4LDYgKzMyOCw3IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIFJlZ2lz
dGVySUQqIGVtaXRHZXRCeUlkKFJlZ2lzdGVySUQqIGRzdCwgUmVnaXN0ZXJJRCogYmFzZSwgY29u
c3QgSWRlbnRpZmllciYgcHJvcGVydHkpOwogICAgICAgICBSZWdpc3RlcklEKiBlbWl0UHV0QnlJ
ZChSZWdpc3RlcklEKiBiYXNlLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eSwgUmVnaXN0ZXJJ
RCogdmFsdWUpOworICAgICAgICBSZWdpc3RlcklEKiBlbWl0RGlyZWN0UHV0QnlJZChSZWdpc3Rl
cklEKiBiYXNlLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eSwgUmVnaXN0ZXJJRCogdmFsdWUp
OwogICAgICAgICBSZWdpc3RlcklEKiBlbWl0RGVsZXRlQnlJZChSZWdpc3RlcklEKiBkc3QsIFJl
Z2lzdGVySUQqIGJhc2UsIGNvbnN0IElkZW50aWZpZXImKTsKICAgICAgICAgUmVnaXN0ZXJJRCog
ZW1pdEdldEJ5VmFsKFJlZ2lzdGVySUQqIGRzdCwgUmVnaXN0ZXJJRCogYmFzZSwgUmVnaXN0ZXJJ
RCogcHJvcGVydHkpOwogICAgICAgICBSZWdpc3RlcklEKiBlbWl0UHV0QnlWYWwoUmVnaXN0ZXJJ
RCogYmFzZSwgUmVnaXN0ZXJJRCogcHJvcGVydHksIFJlZ2lzdGVySUQqIHZhbHVlKTsKZGlmZiAt
LWdpdCBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwIGIvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKaW5kZXggY2RmM2U0OTA5
NDkwYzliOTQ5MzEwOTczNGQzMDVhYzlmM2UzNzVlMC4uZTUwY2UyZDlkYzUxZTUzMTlmOTA1NTM0
NjczMTJlODUzMzBmMzYwZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVy
L05vZGVzQ29kZWdlbi5jcHAKKysrIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVz
Q29kZWdlbi5jcHAKQEAgLTI2Niw3ICsyNjYsNyBAQCBSZWdpc3RlcklEKiBQcm9wZXJ0eUxpc3RO
b2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZQog
ICAgICAgICAKICAgICAgICAgc3dpdGNoIChwLT5tX25vZGUtPm1fdHlwZSkgewogICAgICAgICAg
ICAgY2FzZSBQcm9wZXJ0eU5vZGU6OkNvbnN0YW50OiB7Ci0gICAgICAgICAgICAgICAgZ2VuZXJh
dG9yLmVtaXRQdXRCeUlkKG5ld09iai5nZXQoKSwgcC0+bV9ub2RlLT5uYW1lKCksIHZhbHVlKTsK
KyAgICAgICAgICAgICAgICBnZW5lcmF0b3IuZW1pdERpcmVjdFB1dEJ5SWQobmV3T2JqLmdldCgp
LCBwLT5tX25vZGUtPm5hbWUoKSwgdmFsdWUpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICAgICAgfQogICAgICAgICAgICAgY2FzZSBQcm9wZXJ0eU5vZGU6OkdldHRlcjogewpkaWZm
IC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwIGIvSmF2
YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCmluZGV4IDg0ZDVhN2RkY2Qx
YmQwYWNiY2YzNDBkODAxODczYzk4NGIyMmNjODguLmYxMmUyYWE4ZWE5YTM5OTE1Mjg2MjliZTI1
ZjMwNTA2ZjYxNTI3ZjggMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0lu
dGVycHJldGVyLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRl
ci5jcHAKQEAgLTI5MDIsMjMgKzI5MDIsMzEgQEAgc2tpcF9pZF9jdXN0b21fc2VsZjoKICAgICAg
ICAgTkVYVF9JTlNUUlVDVElPTigpOwogICAgIH0KICAgICBERUZJTkVfT1BDT0RFKG9wX3B1dF9i
eV9pZCkgewotICAgICAgICAvKiBwdXRfYnlfaWQgYmFzZShyKSBwcm9wZXJ0eShpZCkgdmFsdWUo
cikgbm9wKG4pIG5vcChuKSBub3Aobikgbm9wKG4pCisgICAgICAgIC8qIHB1dF9ieV9pZCBiYXNl
KHIpIHByb3BlcnR5KGlkKSB2YWx1ZShyKSBub3Aobikgbm9wKG4pIG5vcChuKSBub3AobikgZGly
ZWN0KGIpCiAKICAgICAgICAgICAgR2VuZXJpYyBwcm9wZXJ0eSBhY2Nlc3M6IFNldHMgdGhlIHBy
b3BlcnR5IG5hbWVkIGJ5IGlkZW50aWZpZXIKICAgICAgICAgICAgcHJvcGVydHksIGJlbG9uZ2lu
ZyB0byByZWdpc3RlciBiYXNlLCB0byByZWdpc3RlciB2YWx1ZS4KIAogICAgICAgICAgICBVbmxp
a2UgbWFueSBvcGNvZGVzLCB0aGlzIG9uZSBkb2VzIG5vdCB3cml0ZSBhbnkgb3V0cHV0IHRvCiAg
ICAgICAgICAgIHRoZSByZWdpc3RlciBmaWxlLgorCisgICAgICAgICAgIFRoZSAiZGlyZWN0IiBm
bGFnIHNob3VsZCBvbmx5IGJlIHNldCB0aGlzIHB1dF9ieV9pZCBpcyB0byBpbml0aWFsaXNlCisg
ICAgICAgICAgIGFuIG9iamVjdCBsaXRlcmFsLgogICAgICAgICAqLwogCiAgICAgICAgIGludCBi
YXNlID0gdlBDWzFdLnUub3BlcmFuZDsKICAgICAgICAgaW50IHByb3BlcnR5ID0gdlBDWzJdLnUu
b3BlcmFuZDsKICAgICAgICAgaW50IHZhbHVlID0gdlBDWzNdLnUub3BlcmFuZDsKKyAgICAgICAg
aW50IGRpcmVjdCA9IHZQQ1s4XS51Lm9wZXJhbmQ7CiAKICAgICAgICAgSlNWYWx1ZSBiYXNlVmFs
dWUgPSBjYWxsRnJhbWUtPnIoYmFzZSkuanNWYWx1ZSgpOwogICAgICAgICBJZGVudGlmaWVyJiBp
ZGVudCA9IGNvZGVCbG9jay0+aWRlbnRpZmllcihwcm9wZXJ0eSk7CiAgICAgICAgIFB1dFByb3Bl
cnR5U2xvdCBzbG90OwotICAgICAgICBiYXNlVmFsdWUucHV0KGNhbGxGcmFtZSwgaWRlbnQsIGNh
bGxGcmFtZS0+cih2YWx1ZSkuanNWYWx1ZSgpLCBzbG90KTsKKyAgICAgICAgaWYgKGRpcmVjdCkg
eworICAgICAgICAgICAgYmFzZVZhbHVlLnB1dERpcmVjdChjYWxsRnJhbWUsIGlkZW50LCBjYWxs
RnJhbWUtPnIodmFsdWUpLmpzVmFsdWUoKSwgc2xvdCk7CisgICAgICAgICAgICBBU1NFUlQoc2xv
dC5iYXNlKCkgPT0gYmFzZVZhbHVlKTsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICBiYXNl
VmFsdWUucHV0KGNhbGxGcmFtZSwgaWRlbnQsIGNhbGxGcmFtZS0+cih2YWx1ZSkuanNWYWx1ZSgp
LCBzbG90KTsKICAgICAgICAgQ0hFQ0tfRk9SX0VYQ0VQVElPTigpOwogCiAgICAgICAgIHRyeUNh
Y2hlUHV0QnlJRChjYWxsRnJhbWUsIGNvZGVCbG9jaywgdlBDLCBiYXNlVmFsdWUsIHNsb3QpOwpA
QCAtMjkyNyw3ICsyOTM1LDcgQEAgc2tpcF9pZF9jdXN0b21fc2VsZjoKICAgICAgICAgTkVYVF9J
TlNUUlVDVElPTigpOwogICAgIH0KICAgICBERUZJTkVfT1BDT0RFKG9wX3B1dF9ieV9pZF90cmFu
c2l0aW9uKSB7Ci0gICAgICAgIC8qIG9wX3B1dF9ieV9pZF90cmFuc2l0aW9uIGJhc2UocikgcHJv
cGVydHkoaWQpIHZhbHVlKHIpIG9sZFN0cnVjdHVyZShzSUQpIG5ld1N0cnVjdHVyZShzSUQpIHN0
cnVjdHVyZUNoYWluKGNoYWluKSBvZmZzZXQobikKKyAgICAgICAgLyogb3BfcHV0X2J5X2lkX3Ry
YW5zaXRpb24gYmFzZShyKSBwcm9wZXJ0eShpZCkgdmFsdWUocikgb2xkU3RydWN0dXJlKHNJRCkg
bmV3U3RydWN0dXJlKHNJRCkgc3RydWN0dXJlQ2hhaW4oY2hhaW4pIG9mZnNldChuKSBkaXJlY3Qo
YikKICAgICAgICAgIAogICAgICAgICAgICBDYWNoZWQgcHJvcGVydHkgYWNjZXNzOiBBdHRlbXB0
cyB0byBzZXQgYSBuZXcgcHJvcGVydHkgd2l0aCBhIGNhY2hlZCB0cmFuc2l0aW9uCiAgICAgICAg
ICAgIHByb3BlcnR5IG5hbWVkIGJ5IGlkZW50aWZpZXIgcHJvcGVydHksIGJlbG9uZ2luZyB0byBy
ZWdpc3RlciBiYXNlLApAQCAtMjk0OCwxOSArMjk1NiwyMSBAQCBza2lwX2lkX2N1c3RvbV9zZWxm
OgogICAgICAgICAgICAgaWYgKExJS0VMWShiYXNlQ2VsbC0+c3RydWN0dXJlKCkgPT0gb2xkU3Ry
dWN0dXJlKSkgewogICAgICAgICAgICAgICAgIEFTU0VSVChiYXNlQ2VsbC0+aXNPYmplY3QoKSk7
CiAgICAgICAgICAgICAgICAgSlNPYmplY3QqIGJhc2VPYmplY3QgPSBhc09iamVjdChiYXNlQ2Vs
bCk7Ci0KLSAgICAgICAgICAgICAgICBSZWZQdHI8U3RydWN0dXJlPiogaXQgPSB2UENbNl0udS5z
dHJ1Y3R1cmVDaGFpbi0+aGVhZCgpOwotCi0gICAgICAgICAgICAgICAgSlNWYWx1ZSBwcm90byA9
IGJhc2VPYmplY3QtPnN0cnVjdHVyZSgpLT5wcm90b3R5cGVGb3JMb29rdXAoY2FsbEZyYW1lKTsK
LSAgICAgICAgICAgICAgICB3aGlsZSAoIXByb3RvLmlzTnVsbCgpKSB7Ci0gICAgICAgICAgICAg
ICAgICAgIGlmIChVTkxJS0VMWShhc09iamVjdChwcm90byktPnN0cnVjdHVyZSgpICE9ICgqaXQp
LmdldCgpKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgdW5jYWNoZVB1dEJ5SUQoY29kZUJs
b2NrLCB2UEMpOwotICAgICAgICAgICAgICAgICAgICAgICAgTkVYVF9JTlNUUlVDVElPTigpOwor
ICAgICAgICAgICAgICAgIGludCBkaXJlY3QgPSB2UENbOF0udS5vcGVyYW5kOworICAgICAgICAg
ICAgICAgIAorICAgICAgICAgICAgICAgIGlmIChkaXJlY3QpIHsKKyAgICAgICAgICAgICAgICAg
ICAgUmVmUHRyPFN0cnVjdHVyZT4qIGl0ID0gdlBDWzZdLnUuc3RydWN0dXJlQ2hhaW4tPmhlYWQo
KTsKKworICAgICAgICAgICAgICAgICAgICBKU1ZhbHVlIHByb3RvID0gYmFzZU9iamVjdC0+c3Ry
dWN0dXJlKCktPnByb3RvdHlwZUZvckxvb2t1cChjYWxsRnJhbWUpOworICAgICAgICAgICAgICAg
ICAgICB3aGlsZSAoIXByb3RvLmlzTnVsbCgpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBp
ZiAoVU5MSUtFTFkoYXNPYmplY3QocHJvdG8pLT5zdHJ1Y3R1cmUoKSAhPSAoKml0KS5nZXQoKSkp
IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmNhY2hlUHV0QnlJRChjb2RlQmxvY2ss
IHZQQyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgTkVYVF9JTlNUUlVDVElPTigpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgKytpdDsK
KyAgICAgICAgICAgICAgICAgICAgICAgIHByb3RvID0gYXNPYmplY3QocHJvdG8pLT5zdHJ1Y3R1
cmUoKS0+cHJvdG90eXBlRm9yTG9va3VwKGNhbGxGcmFtZSk7CiAgICAgICAgICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgICAgICAgICAgKytpdDsKLSAgICAgICAgICAgICAgICAgICAgcHJvdG8g
PSBhc09iamVjdChwcm90byktPnN0cnVjdHVyZSgpLT5wcm90b3R5cGVGb3JMb29rdXAoY2FsbEZy
YW1lKTsKICAgICAgICAgICAgICAgICB9Ci0KICAgICAgICAgICAgICAgICBiYXNlT2JqZWN0LT50
cmFuc2l0aW9uVG8obmV3U3RydWN0dXJlKTsKIAogICAgICAgICAgICAgICAgIGludCB2YWx1ZSA9
IHZQQ1szXS51Lm9wZXJhbmQ7CkBAIC0yOTc3LDcgKzI5ODcsNyBAQCBza2lwX2lkX2N1c3RvbV9z
ZWxmOgogICAgICAgICBORVhUX0lOU1RSVUNUSU9OKCk7CiAgICAgfQogICAgIERFRklORV9PUENP
REUob3BfcHV0X2J5X2lkX3JlcGxhY2UpIHsKLSAgICAgICAgLyogb3BfcHV0X2J5X2lkX3JlcGxh
Y2UgYmFzZShyKSBwcm9wZXJ0eShpZCkgdmFsdWUocikgc3RydWN0dXJlKHNJRCkgb2Zmc2V0KG4p
IG5vcChuKSBub3AobikKKyAgICAgICAgLyogb3BfcHV0X2J5X2lkX3JlcGxhY2UgYmFzZShyKSBw
cm9wZXJ0eShpZCkgdmFsdWUocikgc3RydWN0dXJlKHNJRCkgb2Zmc2V0KG4pIG5vcChuKSBub3Ao
bikgZGlyZWN0KGIpCiAKICAgICAgICAgICAgQ2FjaGVkIHByb3BlcnR5IGFjY2VzczogQXR0ZW1w
dHMgdG8gc2V0IGEgcHJlLWV4aXN0aW5nLCBjYWNoZWQKICAgICAgICAgICAgcHJvcGVydHkgbmFt
ZWQgYnkgaWRlbnRpZmllciBwcm9wZXJ0eSwgYmVsb25naW5nIHRvIHJlZ2lzdGVyIGJhc2UsCkBA
IC0zMDEyLDcgKzMwMjIsNyBAQCBza2lwX2lkX2N1c3RvbV9zZWxmOgogICAgICAgICBORVhUX0lO
U1RSVUNUSU9OKCk7CiAgICAgfQogICAgIERFRklORV9PUENPREUob3BfcHV0X2J5X2lkX2dlbmVy
aWMpIHsKLSAgICAgICAgLyogb3BfcHV0X2J5X2lkX2dlbmVyaWMgYmFzZShyKSBwcm9wZXJ0eShp
ZCkgdmFsdWUocikgbm9wKG4pIG5vcChuKSBub3Aobikgbm9wKG4pCisgICAgICAgIC8qIG9wX3B1
dF9ieV9pZF9nZW5lcmljIGJhc2UocikgcHJvcGVydHkoaWQpIHZhbHVlKHIpIG5vcChuKSBub3Ao
bikgbm9wKG4pIG5vcChuKSBkaXJlY3QoYikKIAogICAgICAgICAgICBHZW5lcmljIHByb3BlcnR5
IGFjY2VzczogU2V0cyB0aGUgcHJvcGVydHkgbmFtZWQgYnkgaWRlbnRpZmllcgogICAgICAgICAg
ICBwcm9wZXJ0eSwgYmVsb25naW5nIHRvIHJlZ2lzdGVyIGJhc2UsIHRvIHJlZ2lzdGVyIHZhbHVl
LgpAQCAtMzAyMywxMSArMzAzMywxNiBAQCBza2lwX2lkX2N1c3RvbV9zZWxmOgogICAgICAgICBp
bnQgYmFzZSA9IHZQQ1sxXS51Lm9wZXJhbmQ7CiAgICAgICAgIGludCBwcm9wZXJ0eSA9IHZQQ1sy
XS51Lm9wZXJhbmQ7CiAgICAgICAgIGludCB2YWx1ZSA9IHZQQ1szXS51Lm9wZXJhbmQ7CisgICAg
ICAgIGludCBkaXJlY3QgPSB2UENbOF0udS5vcGVyYW5kOwogCiAgICAgICAgIEpTVmFsdWUgYmFz
ZVZhbHVlID0gY2FsbEZyYW1lLT5yKGJhc2UpLmpzVmFsdWUoKTsKICAgICAgICAgSWRlbnRpZmll
ciYgaWRlbnQgPSBjb2RlQmxvY2stPmlkZW50aWZpZXIocHJvcGVydHkpOwogICAgICAgICBQdXRQ
cm9wZXJ0eVNsb3Qgc2xvdDsKLSAgICAgICAgYmFzZVZhbHVlLnB1dChjYWxsRnJhbWUsIGlkZW50
LCBjYWxsRnJhbWUtPnIodmFsdWUpLmpzVmFsdWUoKSwgc2xvdCk7CisgICAgICAgIGlmIChkaXJl
Y3QpIHsKKyAgICAgICAgICAgIGJhc2VWYWx1ZS5wdXREaXJlY3QoY2FsbEZyYW1lLCBpZGVudCwg
Y2FsbEZyYW1lLT5yKHZhbHVlKS5qc1ZhbHVlKCksIHNsb3QpOworICAgICAgICAgICAgQVNTRVJU
KHNsb3QuYmFzZSgpID09IGJhc2VWYWx1ZSk7CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAg
YmFzZVZhbHVlLnB1dChjYWxsRnJhbWUsIGlkZW50LCBjYWxsRnJhbWUtPnIodmFsdWUpLmpzVmFs
dWUoKSwgc2xvdCk7CiAgICAgICAgIENIRUNLX0ZPUl9FWENFUFRJT04oKTsKIAogICAgICAgICB2
UEMgKz0gT1BDT0RFX0xFTkdUSChvcF9wdXRfYnlfaWRfZ2VuZXJpYyk7CmRpZmYgLS1naXQgYS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklULmggYi9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKaW5kZXgg
NTI5YTFkNjViMjJmZjgyNTYyOGRkNGFiYjY3ZWYzNGQzNTBlZTcxOS4uOGZiMmZkMzU2MTVhNmU1
OWFhOTlmNDc2ZTRlODZlOTcyZjliNmU5ZSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvaml0
L0pJVC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaApAQCAtMjExLDEwICsyMTEsMTAg
QEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICBqaXQucHJpdmF0ZUNvbXBpbGVHZXRCeUlk
Q2hhaW4oc3R1YkluZm8sIHN0cnVjdHVyZSwgY2hhaW4sIGNvdW50LCBpZGVudCwgc2xvdCwgY2Fj
aGVkT2Zmc2V0LCByZXR1cm5BZGRyZXNzLCBjYWxsRnJhbWUpOwogICAgICAgICB9CiAgICAgICAg
IAotICAgICAgICBzdGF0aWMgdm9pZCBjb21waWxlUHV0QnlJZFRyYW5zaXRpb24oSlNHbG9iYWxE
YXRhKiBnbG9iYWxEYXRhLCBDb2RlQmxvY2sqIGNvZGVCbG9jaywgU3RydWN0dXJlU3R1YkluZm8q
IHN0dWJJbmZvLCBTdHJ1Y3R1cmUqIG9sZFN0cnVjdHVyZSwgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1
cmUsIHNpemVfdCBjYWNoZWRPZmZzZXQsIFN0cnVjdHVyZUNoYWluKiBjaGFpbiwgUmV0dXJuQWRk
cmVzc1B0ciByZXR1cm5BZGRyZXNzKQorICAgICAgICBzdGF0aWMgdm9pZCBjb21waWxlUHV0QnlJ
ZFRyYW5zaXRpb24oSlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhLCBDb2RlQmxvY2sqIGNvZGVCbG9j
aywgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBTdHJ1Y3R1cmUqIG9sZFN0cnVjdHVyZSwg
U3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUsIHNpemVfdCBjYWNoZWRPZmZzZXQsIFN0cnVjdHVyZUNo
YWluKiBjaGFpbiwgUmV0dXJuQWRkcmVzc1B0ciByZXR1cm5BZGRyZXNzLCBib29sIGRpcmVjdCkK
ICAgICAgICAgewogICAgICAgICAgICAgSklUIGppdChnbG9iYWxEYXRhLCBjb2RlQmxvY2spOwot
ICAgICAgICAgICAgaml0LnByaXZhdGVDb21waWxlUHV0QnlJZFRyYW5zaXRpb24oc3R1YkluZm8s
IG9sZFN0cnVjdHVyZSwgbmV3U3RydWN0dXJlLCBjYWNoZWRPZmZzZXQsIGNoYWluLCByZXR1cm5B
ZGRyZXNzKTsKKyAgICAgICAgICAgIGppdC5wcml2YXRlQ29tcGlsZVB1dEJ5SWRUcmFuc2l0aW9u
KHN0dWJJbmZvLCBvbGRTdHJ1Y3R1cmUsIG5ld1N0cnVjdHVyZSwgY2FjaGVkT2Zmc2V0LCBjaGFp
biwgcmV0dXJuQWRkcmVzcywgZGlyZWN0KTsKICAgICAgICAgfQogCiAgICAgICAgIHN0YXRpYyB2
b2lkIGNvbXBpbGVDVElNYWNoaW5lVHJhbXBvbGluZXMoSlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRh
LCBSZWZQdHI8RXhlY3V0YWJsZVBvb2w+KiBleGVjdXRhYmxlUG9vbCwgVHJhbXBvbGluZVN0cnVj
dHVyZSAqdHJhbXBvbGluZXMpCkBAIC0yMzAsNyArMjMwLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAg
ICAgICAgIH0KIAogICAgICAgICBzdGF0aWMgdm9pZCBwYXRjaEdldEJ5SWRTZWxmKENvZGVCbG9j
ayogY29kZWJsb2NrLCBTdHJ1Y3R1cmVTdHViSW5mbyosIFN0cnVjdHVyZSosIHNpemVfdCBjYWNo
ZWRPZmZzZXQsIFJldHVybkFkZHJlc3NQdHIgcmV0dXJuQWRkcmVzcyk7Ci0gICAgICAgIHN0YXRp
YyB2b2lkIHBhdGNoUHV0QnlJZFJlcGxhY2UoQ29kZUJsb2NrKiBjb2RlYmxvY2ssIFN0cnVjdHVy
ZVN0dWJJbmZvKiwgU3RydWN0dXJlKiwgc2l6ZV90IGNhY2hlZE9mZnNldCwgUmV0dXJuQWRkcmVz
c1B0ciByZXR1cm5BZGRyZXNzKTsKKyAgICAgICAgc3RhdGljIHZvaWQgcGF0Y2hQdXRCeUlkUmVw
bGFjZShDb2RlQmxvY2sqIGNvZGVibG9jaywgU3RydWN0dXJlU3R1YkluZm8qLCBTdHJ1Y3R1cmUq
LCBzaXplX3QgY2FjaGVkT2Zmc2V0LCBSZXR1cm5BZGRyZXNzUHRyIHJldHVybkFkZHJlc3MsIGJv
b2wgZGlyZWN0KTsKICAgICAgICAgc3RhdGljIHZvaWQgcGF0Y2hNZXRob2RDYWxsUHJvdG8oQ29k
ZUJsb2NrKiBjb2RlYmxvY2ssIE1ldGhvZENhbGxMaW5rSW5mbyYsIEpTRnVuY3Rpb24qLCBTdHJ1
Y3R1cmUqLCBKU09iamVjdCosIFJldHVybkFkZHJlc3NQdHIpOwogCiAgICAgICAgIHN0YXRpYyB2
b2lkIGNvbXBpbGVQYXRjaEdldEFycmF5TGVuZ3RoKEpTR2xvYmFsRGF0YSogZ2xvYmFsRGF0YSwg
Q29kZUJsb2NrKiBjb2RlQmxvY2ssIFJldHVybkFkZHJlc3NQdHIgcmV0dXJuQWRkcmVzcykKQEAg
LTI2Niw3ICsyNjYsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdm9pZCBwcml2YXRlQ29t
cGlsZUdldEJ5SWRQcm90b0xpc3QoU3RydWN0dXJlU3R1YkluZm8qLCBQb2x5bW9ycGhpY0FjY2Vz
c1N0cnVjdHVyZUxpc3QqLCBpbnQsIFN0cnVjdHVyZSosIFN0cnVjdHVyZSogcHJvdG90eXBlU3Ry
dWN0dXJlLCBjb25zdCBJZGVudGlmaWVyJiwgY29uc3QgUHJvcGVydHlTbG90Jiwgc2l6ZV90IGNh
Y2hlZE9mZnNldCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpOwogICAgICAgICB2b2lkIHByaXZhdGVD
b21waWxlR2V0QnlJZENoYWluTGlzdChTdHJ1Y3R1cmVTdHViSW5mbyosIFBvbHltb3JwaGljQWNj
ZXNzU3RydWN0dXJlTGlzdCosIGludCwgU3RydWN0dXJlKiwgU3RydWN0dXJlQ2hhaW4qIGNoYWlu
LCBzaXplX3QgY291bnQsIGNvbnN0IElkZW50aWZpZXImLCBjb25zdCBQcm9wZXJ0eVNsb3QmLCBz
aXplX3QgY2FjaGVkT2Zmc2V0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSk7CiAgICAgICAgIHZvaWQg
cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW4oU3RydWN0dXJlU3R1YkluZm8qLCBTdHJ1Y3R1cmUq
LCBTdHJ1Y3R1cmVDaGFpbiosIHNpemVfdCBjb3VudCwgY29uc3QgSWRlbnRpZmllciYsIGNvbnN0
IFByb3BlcnR5U2xvdCYsIHNpemVfdCBjYWNoZWRPZmZzZXQsIFJldHVybkFkZHJlc3NQdHIgcmV0
dXJuQWRkcmVzcywgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpOwotICAgICAgICB2b2lkIHByaXZhdGVD
b21waWxlUHV0QnlJZFRyYW5zaXRpb24oU3RydWN0dXJlU3R1YkluZm8qLCBTdHJ1Y3R1cmUqLCBT
dHJ1Y3R1cmUqLCBzaXplX3QgY2FjaGVkT2Zmc2V0LCBTdHJ1Y3R1cmVDaGFpbiosIFJldHVybkFk
ZHJlc3NQdHIgcmV0dXJuQWRkcmVzcyk7CisgICAgICAgIHZvaWQgcHJpdmF0ZUNvbXBpbGVQdXRC
eUlkVHJhbnNpdGlvbihTdHJ1Y3R1cmVTdHViSW5mbyosIFN0cnVjdHVyZSosIFN0cnVjdHVyZSos
IHNpemVfdCBjYWNoZWRPZmZzZXQsIFN0cnVjdHVyZUNoYWluKiwgUmV0dXJuQWRkcmVzc1B0ciBy
ZXR1cm5BZGRyZXNzLCBib29sIGRpcmVjdCk7CiAKICAgICAgICAgdm9pZCBwcml2YXRlQ29tcGls
ZUNUSU1hY2hpbmVUcmFtcG9saW5lcyhSZWZQdHI8RXhlY3V0YWJsZVBvb2w+KiBleGVjdXRhYmxl
UG9vbCwgSlNHbG9iYWxEYXRhKiBkYXRhLCBUcmFtcG9saW5lU3RydWN0dXJlICp0cmFtcG9saW5l
cyk7CiAgICAgICAgIExhYmVsIHByaXZhdGVDb21waWxlQ1RJTmF0aXZlQ2FsbChKU0dsb2JhbERh
dGEqLCBib29sIGlzQ29uc3RydWN0ID0gZmFsc2UpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENv
cmUvaml0L0pJVFByb3BlcnR5QWNjZXNzLmNwcCBiL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9w
ZXJ0eUFjY2Vzcy5jcHAKaW5kZXggNGQzNmNmYWZmYmIyZGJkYmIyODkxMzE1OTgxMDQ5Y2QwY2Rl
OTU4NS4uNTgwZTczZmRmN2QyNzE4NWQ4ZTA4MjE3YjhmMDYyMDZlN2NkYmM4OSAxMDA2NDQKLS0t
IGEvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzLmNwcAorKysgYi9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwCkBAIC0zMDcsMTAgKzMwNywxMSBAQCB2
b2lkIEpJVDo6ZW1pdF9vcF9wdXRfYnlfaWQoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlv
bikKICAgICB1bnNpZ25lZCBiYXNlVlJlZyA9IGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJh
bmQ7CiAgICAgSWRlbnRpZmllciogaWRlbnQgPSAmKG1fY29kZUJsb2NrLT5pZGVudGlmaWVyKGN1
cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQpKTsKICAgICB1bnNpZ25lZCB2YWx1ZVZSZWcg
PSBjdXJyZW50SW5zdHJ1Y3Rpb25bM10udS5vcGVyYW5kOworICAgIHVuc2lnbmVkIGRpcmVjdCA9
IGN1cnJlbnRJbnN0cnVjdGlvbls4XS51Lm9wZXJhbmQ7CiAKICAgICBlbWl0R2V0VmlydHVhbFJl
Z2lzdGVycyhiYXNlVlJlZywgcmVnVDAsIHZhbHVlVlJlZywgcmVnVDEpOwogCi0gICAgSklUU3R1
YkNhbGwgc3R1YkNhbGwodGhpcywgY3RpX29wX3B1dF9ieV9pZF9nZW5lcmljKTsKKyAgICBKSVRT
dHViQ2FsbCBzdHViQ2FsbCh0aGlzLCBkaXJlY3QgPyBjdGlfb3BfcHV0X2J5X2lkX2RpcmVjdF9n
ZW5lcmljLCBjdGlfb3BfcHV0X2J5X2lkX2dlbmVyaWMpOwogICAgIHN0dWJDYWxsLmFkZEFyZ3Vt
ZW50KHJlZ1QwKTsKICAgICBzdHViQ2FsbC5hZGRBcmd1bWVudChJbW1QdHIoaWRlbnQpKTsKICAg
ICBzdHViQ2FsbC5hZGRBcmd1bWVudChyZWdUMSk7CkBAIC01MzAsMTMgKzUzMSwxNCBAQCB2b2lk
IEpJVDo6ZW1pdFNsb3dfb3BfcHV0X2J5X2lkKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rp
b24sIFZlY3RvcjxTbG93Q2FzZQogewogICAgIHVuc2lnbmVkIGJhc2VWUmVnID0gY3VycmVudElu
c3RydWN0aW9uWzFdLnUub3BlcmFuZDsKICAgICBJZGVudGlmaWVyKiBpZGVudCA9ICYobV9jb2Rl
QmxvY2stPmlkZW50aWZpZXIoY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZCkpOworICAg
IHVuc2lnbmVkIGRpcmVjdCA9IGN1cnJlbnRJbnN0cnVjdGlvbls4XS51Lm9wZXJhbmQ7CiAKICAg
ICB1bnNpZ25lZCBwcm9wZXJ0eUFjY2Vzc0luc3RydWN0aW9uSW5kZXggPSBtX3Byb3BlcnR5QWNj
ZXNzSW5zdHJ1Y3Rpb25JbmRleCsrOwogCiAgICAgbGlua1Nsb3dDYXNlSWZOb3RKU0NlbGwoaXRl
ciwgYmFzZVZSZWcpOwogICAgIGxpbmtTbG93Q2FzZShpdGVyKTsKIAotICAgIEpJVFN0dWJDYWxs
IHN0dWJDYWxsKHRoaXMsIGN0aV9vcF9wdXRfYnlfaWQpOworICAgIEpJVFN0dWJDYWxsIHN0dWJD
YWxsKHRoaXMsIGRpcmVjdCA/IGN0aV9vcF9wdXRfYnlfaWRfZGlyZWN0IDogY3RpX29wX3B1dF9i
eV9pZCk7CiAgICAgc3R1YkNhbGwuYWRkQXJndW1lbnQocmVnVDApOwogICAgIHN0dWJDYWxsLmFk
ZEFyZ3VtZW50KEltbVB0cihpZGVudCkpOwogICAgIHN0dWJDYWxsLmFkZEFyZ3VtZW50KHJlZ1Qx
KTsKQEAgLTU5MCw3ICs1OTIsNyBAQCB2b2lkIEpJVDo6dGVzdFByb3RvdHlwZShTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSwgSnVtcExpc3QmIGZhaWx1cmVDYXNlcykKICAgICBmYWlsdXJlQ2FzZXMuYXBw
ZW5kKGJyYW5jaFB0cihOb3RFcXVhbCwgQWRkcmVzcyhyZWdUMiksIHJlZ1QzKSk7CiB9CiAKLXZv
aWQgSklUOjpwcml2YXRlQ29tcGlsZVB1dEJ5SWRUcmFuc2l0aW9uKFN0cnVjdHVyZVN0dWJJbmZv
KiBzdHViSW5mbywgU3RydWN0dXJlKiBvbGRTdHJ1Y3R1cmUsIFN0cnVjdHVyZSogbmV3U3RydWN0
dXJlLCBzaXplX3QgY2FjaGVkT2Zmc2V0LCBTdHJ1Y3R1cmVDaGFpbiogY2hhaW4sIFJldHVybkFk
ZHJlc3NQdHIgcmV0dXJuQWRkcmVzcykKK3ZvaWQgSklUOjpwcml2YXRlQ29tcGlsZVB1dEJ5SWRU
cmFuc2l0aW9uKFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgU3RydWN0dXJlKiBvbGRTdHJ1
Y3R1cmUsIFN0cnVjdHVyZSogbmV3U3RydWN0dXJlLCBzaXplX3QgY2FjaGVkT2Zmc2V0LCBTdHJ1
Y3R1cmVDaGFpbiogY2hhaW4sIFJldHVybkFkZHJlc3NQdHIgcmV0dXJuQWRkcmVzcywgYm9vbCBk
aXJlY3QpCiB7CiAgICAgSnVtcExpc3QgZmFpbHVyZUNhc2VzOwogICAgIC8vIENoZWNrIGVheCBp
cyBhbiBvYmplY3Qgb2YgdGhlIHJpZ2h0IFN0cnVjdHVyZS4KQEAgLTU5OSw4ICs2MDEsMTAgQEAg
dm9pZCBKSVQ6OnByaXZhdGVDb21waWxlUHV0QnlJZFRyYW5zaXRpb24oU3RydWN0dXJlU3R1Yklu
Zm8qIHN0dWJJbmZvLCBTdHJ1Y3R1cmUKICAgICB0ZXN0UHJvdG90eXBlKG9sZFN0cnVjdHVyZSwg
ZmFpbHVyZUNhc2VzKTsKIAogICAgIC8vIGVjeCA9IGJhc2VPYmplY3QtPm1fc3RydWN0dXJlCi0g
ICAgZm9yIChSZWZQdHI8U3RydWN0dXJlPiogaXQgPSBjaGFpbi0+aGVhZCgpOyAqaXQ7ICsraXQp
Ci0gICAgICAgIHRlc3RQcm90b3R5cGUoaXQtPmdldCgpLCBmYWlsdXJlQ2FzZXMpOworICAgIGlm
ICghZGlyZWN0KSB7CisgICAgICAgIGZvciAoUmVmUHRyPFN0cnVjdHVyZT4qIGl0ID0gY2hhaW4t
PmhlYWQoKTsgKml0OyArK2l0KQorICAgICAgICAgICAgdGVzdFByb3RvdHlwZShpdC0+Z2V0KCks
IGZhaWx1cmVDYXNlcyk7CisgICAgfQogCiAgICAgQ2FsbCBjYWxsVGFyZ2V0OwogCkBAIC02NDEs
NyArNjQ1LDcgQEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlUHV0QnlJZFRyYW5zaXRpb24oU3Ry
dWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBTdHJ1Y3R1cmUKIAogICAgIExpbmtCdWZmZXIgcGF0
Y2hCdWZmZXIodGhpcywgbV9jb2RlQmxvY2stPmV4ZWN1dGFibGVQb29sKCkpOwogCi0gICAgcGF0
Y2hCdWZmZXIubGluayhmYWlsdXJlQ2FsbCwgRnVuY3Rpb25QdHIoY3RpX29wX3B1dF9ieV9pZF9m
YWlsKSk7CisgICAgcGF0Y2hCdWZmZXIubGluayhmYWlsdXJlQ2FsbCwgRnVuY3Rpb25QdHIoZGly
ZWN0ID8gY3RpX29wX3B1dF9ieV9pZF9kaXJlY3RfZmFpbCA6IGN0aV9vcF9wdXRfYnlfaWRfZmFp
bCkpOwogCiAgICAgaWYgKHdpbGxOZWVkU3RvcmFnZVJlYWxsb2MpIHsKICAgICAgICAgQVNTRVJU
KG1fY2FsbHMuc2l6ZSgpID09IDEpOwpAQCAtNjk0LDEzICs2OTgsMTMgQEAgdm9pZCBKSVQ6OnBh
dGNoTWV0aG9kQ2FsbFByb3RvKENvZGVCbG9jayogY29kZUJsb2NrLCBNZXRob2RDYWxsTGlua0lu
Zm8mIG1ldGhvZEMKICAgICByZXBhdGNoQnVmZmVyLnJlbGlua0NhbGxlclRvRnVuY3Rpb24ocmV0
dXJuQWRkcmVzcywgRnVuY3Rpb25QdHIoY3RpX29wX2dldF9ieV9pZCkpOwogfQogCi12b2lkIEpJ
VDo6cGF0Y2hQdXRCeUlkUmVwbGFjZShDb2RlQmxvY2sqIGNvZGVCbG9jaywgU3RydWN0dXJlU3R1
YkluZm8qIHN0dWJJbmZvLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgc2l6ZV90IGNhY2hlZE9mZnNl
dCwgUmV0dXJuQWRkcmVzc1B0ciByZXR1cm5BZGRyZXNzKQordm9pZCBKSVQ6OnBhdGNoUHV0QnlJ
ZFJlcGxhY2UoQ29kZUJsb2NrKiBjb2RlQmxvY2ssIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5m
bywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIHNpemVfdCBjYWNoZWRPZmZzZXQsIFJldHVybkFkZHJl
c3NQdHIgcmV0dXJuQWRkcmVzcywgYm9vbCBkaXJlY3QpCiB7CiAgICAgUmVwYXRjaEJ1ZmZlciBy
ZXBhdGNoQnVmZmVyKGNvZGVCbG9jayk7CiAKICAgICAvLyBXZSBkb24ndCB3YW50IHRvIHBhdGNo
IG1vcmUgdGhhbiBvbmNlIC0gaW4gZnV0dXJlIGdvIHRvIGN0aV9vcF9wdXRfYnlfaWRfZ2VuZXJp
Yy4KICAgICAvLyBTaG91bGQgcHJvYmFibHkgZ28gdG8gY3RpX29wX3B1dF9ieV9pZF9mYWlsLCBi
dXQgdGhhdCBkb2Vzbid0IGRvIGFueXRoaW5nIGludGVyZXN0aW5nIHJpZ2h0IG5vdy4KLSAgICBy
ZXBhdGNoQnVmZmVyLnJlbGlua0NhbGxlclRvRnVuY3Rpb24ocmV0dXJuQWRkcmVzcywgRnVuY3Rp
b25QdHIoY3RpX29wX3B1dF9ieV9pZF9nZW5lcmljKSk7CisgICAgcmVwYXRjaEJ1ZmZlci5yZWxp
bmtDYWxsZXJUb0Z1bmN0aW9uKHJldHVybkFkZHJlc3MsIEZ1bmN0aW9uUHRyKGRpcmVjdCA/IGN0
aV9vcF9wdXRfYnlfaWRfZGlyZWN0X2dlbmVyaWMgOiBjdGlfb3BfcHV0X2J5X2lkX2dlbmVyaWMp
KTsKIAogICAgIGludCBvZmZzZXQgPSBzaXplb2YoSlNWYWx1ZSkgKiBjYWNoZWRPZmZzZXQ7CiAK
ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2VzczMyXzY0LmNw
cCBiL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2VzczMyXzY0LmNwcAppbmRleCAx
NmNmODRhYzQ2M2VmYmFjMTY5MGM5YjcxODI5NjkxMjFiN2QyODYwLi42MjM0ODQyMDRlNTkxYzg0
NjRhMDgxOGM2MTkwMjhkMTg4YjE1Y2ZiIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklUUHJvcGVydHlBY2Nlc3MzMl82NC5jcHAKKysrIGIvSmF2YVNjcmlwdENvcmUvaml0L0pJVFBy
b3BlcnR5QWNjZXNzMzJfNjQuY3BwCkBAIC01MzEsMTEgKzUzMSwxMiBAQCB2b2lkIEpJVDo6ZW1p
dFNsb3dfb3BfcHV0X2J5X2lkKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24sIFZlY3Rv
cjxTbG93Q2FzZQogewogICAgIGludCBiYXNlID0gY3VycmVudEluc3RydWN0aW9uWzFdLnUub3Bl
cmFuZDsKICAgICBpbnQgaWRlbnQgPSBjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kOwot
ICAgIAorICAgIGludCBkaXJlY3QgPSBjdXJyZW50SW5zdHJ1Y3Rpb25bOF0udS5vcGVyYW5kOwor
CiAgICAgbGlua1Nsb3dDYXNlSWZOb3RKU0NlbGwoaXRlciwgYmFzZSk7CiAgICAgbGlua1Nsb3dD
YXNlKGl0ZXIpOwogICAgIAotICAgIEpJVFN0dWJDYWxsIHN0dWJDYWxsKHRoaXMsIGN0aV9vcF9w
dXRfYnlfaWQpOworICAgIEpJVFN0dWJDYWxsIHN0dWJDYWxsKHRoaXMsIGRpcmVjdCA/IGN0aV9v
cF9wdXRfYnlfaWRfZGlyZWN0IDogY3RpX29wX3B1dF9ieV9pZCk7CiAgICAgc3R1YkNhbGwuYWRk
QXJndW1lbnQocmVnVDEsIHJlZ1QwKTsKICAgICBzdHViQ2FsbC5hZGRBcmd1bWVudChJbW1QdHIo
JihtX2NvZGVCbG9jay0+aWRlbnRpZmllcihpZGVudCkpKSk7CiAgICAgc3R1YkNhbGwuYWRkQXJn
dW1lbnQocmVnVDMsIHJlZ1QyKTsgCkBAIC01OTIsNyArNTkzLDcgQEAgdm9pZCBKSVQ6OnRlc3RQ
cm90b3R5cGUoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEp1bXBMaXN0JiBmYWlsdXJlQ2FzZXMpCiAg
ICAgZmFpbHVyZUNhc2VzLmFwcGVuZChicmFuY2hQdHIoTm90RXF1YWwsIEFic29sdXRlQWRkcmVz
cygmYXNDZWxsKHN0cnVjdHVyZS0+bV9wcm90b3R5cGUpLT5tX3N0cnVjdHVyZSksIEltbVB0cihh
c0NlbGwoc3RydWN0dXJlLT5tX3Byb3RvdHlwZSktPm1fc3RydWN0dXJlKSkpOwogfQogCi12b2lk
IEpJVDo6cHJpdmF0ZUNvbXBpbGVQdXRCeUlkVHJhbnNpdGlvbihTdHJ1Y3R1cmVTdHViSW5mbyog
c3R1YkluZm8sIFN0cnVjdHVyZSogb2xkU3RydWN0dXJlLCBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVy
ZSwgc2l6ZV90IGNhY2hlZE9mZnNldCwgU3RydWN0dXJlQ2hhaW4qIGNoYWluLCBSZXR1cm5BZGRy
ZXNzUHRyIHJldHVybkFkZHJlc3MpCit2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVQdXRCeUlkVHJh
bnNpdGlvbihTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFN0cnVjdHVyZSogb2xkU3RydWN0
dXJlLCBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSwgc2l6ZV90IGNhY2hlZE9mZnNldCwgU3RydWN0
dXJlQ2hhaW4qIGNoYWluLCBSZXR1cm5BZGRyZXNzUHRyIHJldHVybkFkZHJlc3MsIGJvb2wgZGly
ZWN0KQogewogICAgIC8vIEl0IGlzIGFzc3VtZWQgdGhhdCByZWdUMCBjb250YWlucyB0aGUgYmFz
ZVBheWxvYWQgYW5kIHJlZ1QxIGNvbnRhaW5zIHRoZSBiYXNlVGFnLiAgVGhlIHZhbHVlIGNhbiBi
ZSBmb3VuZCBvbiB0aGUgc3RhY2suCiAgICAgCkBAIC02MDEsMTAgKzYwMiwxMiBAQCB2b2lkIEpJ
VDo6cHJpdmF0ZUNvbXBpbGVQdXRCeUlkVHJhbnNpdGlvbihTdHJ1Y3R1cmVTdHViSW5mbyogc3R1
YkluZm8sIFN0cnVjdHVyZQogICAgIGZhaWx1cmVDYXNlcy5hcHBlbmQoYnJhbmNoUHRyKE5vdEVx
dWFsLCBBZGRyZXNzKHJlZ1QwLCBPQkpFQ1RfT0ZGU0VUT0YoSlNDZWxsLCBtX3N0cnVjdHVyZSkp
LCBJbW1QdHIob2xkU3RydWN0dXJlKSkpOwogICAgIHRlc3RQcm90b3R5cGUob2xkU3RydWN0dXJl
LCBmYWlsdXJlQ2FzZXMpOwogICAgIAotICAgIC8vIFZlcmlmeSB0aGF0IG5vdGhpbmcgaW4gdGhl
IHByb3RvdHlwZSBjaGFpbiBoYXMgYSBzZXR0ZXIgZm9yIHRoaXMgcHJvcGVydHkuIAotICAgIGZv
ciAoUmVmUHRyPFN0cnVjdHVyZT4qIGl0ID0gY2hhaW4tPmhlYWQoKTsgKml0OyArK2l0KQotICAg
ICAgICB0ZXN0UHJvdG90eXBlKGl0LT5nZXQoKSwgZmFpbHVyZUNhc2VzKTsKLSAgICAKKyAgICBp
ZiAoIWRpcmVjdCkgeworICAgICAgICAvLyBWZXJpZnkgdGhhdCBub3RoaW5nIGluIHRoZSBwcm90
b3R5cGUgY2hhaW4gaGFzIGEgc2V0dGVyIGZvciB0aGlzIHByb3BlcnR5LiAKKyAgICAgICAgZm9y
IChSZWZQdHI8U3RydWN0dXJlPiogaXQgPSBjaGFpbi0+aGVhZCgpOyAqaXQ7ICsraXQpCisgICAg
ICAgICAgICB0ZXN0UHJvdG90eXBlKGl0LT5nZXQoKSwgZmFpbHVyZUNhc2VzKTsKKyAgICB9CisK
ICAgICAvLyBSZWFsbG9jYXRlIHByb3BlcnR5IHN0b3JhZ2UgaWYgbmVlZGVkLgogICAgIENhbGwg
Y2FsbFRhcmdldDsKICAgICBib29sIHdpbGxOZWVkU3RvcmFnZVJlYWxsb2MgPSBvbGRTdHJ1Y3R1
cmUtPnByb3BlcnR5U3RvcmFnZUNhcGFjaXR5KCkgIT0gbmV3U3RydWN0dXJlLT5wcm9wZXJ0eVN0
b3JhZ2VDYXBhY2l0eSgpOwpAQCAtNjQzLDcgKzY0Niw3IEBAIHZvaWQgSklUOjpwcml2YXRlQ29t
cGlsZVB1dEJ5SWRUcmFuc2l0aW9uKFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgU3RydWN0
dXJlCiAgICAgCiAgICAgTGlua0J1ZmZlciBwYXRjaEJ1ZmZlcih0aGlzLCBtX2NvZGVCbG9jay0+
ZXhlY3V0YWJsZVBvb2woKSk7CiAgICAgCi0gICAgcGF0Y2hCdWZmZXIubGluayhmYWlsdXJlQ2Fs
bCwgRnVuY3Rpb25QdHIoY3RpX29wX3B1dF9ieV9pZF9mYWlsKSk7CisgICAgcGF0Y2hCdWZmZXIu
bGluayhmYWlsdXJlQ2FsbCwgRnVuY3Rpb25QdHIoZGlyZWN0ID8gY3RpX29wX3B1dF9ieV9pZF9k
aXJlY3RfZmFpbCA6IGN0aV9vcF9wdXRfYnlfaWRfZmFpbCkpOwogICAgIAogICAgIGlmICh3aWxs
TmVlZFN0b3JhZ2VSZWFsbG9jKSB7CiAgICAgICAgIEFTU0VSVChtX2NhbGxzLnNpemUoKSA9PSAx
KTsKQEAgLTY5NywxMyArNzAwLDEzIEBAIHZvaWQgSklUOjpwYXRjaE1ldGhvZENhbGxQcm90byhD
b2RlQmxvY2sqIGNvZGVCbG9jaywgTWV0aG9kQ2FsbExpbmtJbmZvJiBtZXRob2RDCiAgICAgcmVw
YXRjaEJ1ZmZlci5yZWxpbmtDYWxsZXJUb0Z1bmN0aW9uKHJldHVybkFkZHJlc3MsIEZ1bmN0aW9u
UHRyKGN0aV9vcF9nZXRfYnlfaWQpKTsKIH0KIAotdm9pZCBKSVQ6OnBhdGNoUHV0QnlJZFJlcGxh
Y2UoQ29kZUJsb2NrKiBjb2RlQmxvY2ssIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUsIHNpemVfdCBjYWNoZWRPZmZzZXQsIFJldHVybkFkZHJlc3NQdHIg
cmV0dXJuQWRkcmVzcykKK3ZvaWQgSklUOjpwYXRjaFB1dEJ5SWRSZXBsYWNlKENvZGVCbG9jayog
Y29kZUJsb2NrLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFN0cnVjdHVyZSogc3RydWN0
dXJlLCBzaXplX3QgY2FjaGVkT2Zmc2V0LCBSZXR1cm5BZGRyZXNzUHRyIHJldHVybkFkZHJlc3Ms
IGJvb2wgZGlyZWN0KQogewogICAgIFJlcGF0Y2hCdWZmZXIgcmVwYXRjaEJ1ZmZlcihjb2RlQmxv
Y2spOwogICAgIAogICAgIC8vIFdlIGRvbid0IHdhbnQgdG8gcGF0Y2ggbW9yZSB0aGFuIG9uY2Ug
LSBpbiBmdXR1cmUgZ28gdG8gY3RpX29wX3B1dF9ieV9pZF9nZW5lcmljLgogICAgIC8vIFNob3Vs
ZCBwcm9iYWJseSBnbyB0byBjdGlfb3BfcHV0X2J5X2lkX2ZhaWwsIGJ1dCB0aGF0IGRvZXNuJ3Qg
ZG8gYW55dGhpbmcgaW50ZXJlc3RpbmcgcmlnaHQgbm93LgotICAgIHJlcGF0Y2hCdWZmZXIucmVs
aW5rQ2FsbGVyVG9GdW5jdGlvbihyZXR1cm5BZGRyZXNzLCBGdW5jdGlvblB0cihjdGlfb3BfcHV0
X2J5X2lkX2dlbmVyaWMpKTsKKyAgICByZXBhdGNoQnVmZmVyLnJlbGlua0NhbGxlclRvRnVuY3Rp
b24ocmV0dXJuQWRkcmVzcywgRnVuY3Rpb25QdHIoZGlyZWN0ID8gY3RpX29wX3B1dF9ieV9pZF9k
aXJlY3RfZ2VuZXJpYyA6IGN0aV9vcF9wdXRfYnlfaWRfZ2VuZXJpYykpOwogICAgIAogICAgIGlu
dCBvZmZzZXQgPSBzaXplb2YoSlNWYWx1ZSkgKiBjYWNoZWRPZmZzZXQ7CiAgICAgCmRpZmYgLS1n
aXQgYS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnMuY3BwIGIvSmF2YVNjcmlwdENvcmUvaml0
L0pJVFN0dWJzLmNwcAppbmRleCAzMGE5ODk4ZWFkN2M3MmVhMjZiNmUwOTAxNTZhNTVjNDJlZDU0
ZTVhLi45NmU3MGY2ZDUxYWM3OGRiOWE2ZTdmY2QyMDM3ZjlhMjdhZWYwOTU2IDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnMuY3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVRTdHVicy5jcHAKQEAgLTg0NCw3ICs4NDQsNyBAQCBKSVRUaHVua3M6On5KSVRUaHVua3Mo
KQogCiAjaWYgRU5BQkxFKEpJVF9PUFRJTUlaRV9QUk9QRVJUWV9BQ0NFU1MpCiAKLU5FVkVSX0lO
TElORSB2b2lkIEpJVFRodW5rczo6dHJ5Q2FjaGVQdXRCeUlEKENhbGxGcmFtZSogY2FsbEZyYW1l
LCBDb2RlQmxvY2sqIGNvZGVCbG9jaywgUmV0dXJuQWRkcmVzc1B0ciByZXR1cm5BZGRyZXNzLCBK
U1ZhbHVlIGJhc2VWYWx1ZSwgY29uc3QgUHV0UHJvcGVydHlTbG90JiBzbG90LCBTdHJ1Y3R1cmVT
dHViSW5mbyogc3R1YkluZm8pCitORVZFUl9JTkxJTkUgdm9pZCBKSVRUaHVua3M6OnRyeUNhY2hl
UHV0QnlJRChDYWxsRnJhbWUqIGNhbGxGcmFtZSwgQ29kZUJsb2NrKiBjb2RlQmxvY2ssIFJldHVy
bkFkZHJlc3NQdHIgcmV0dXJuQWRkcmVzcywgSlNWYWx1ZSBiYXNlVmFsdWUsIGNvbnN0IFB1dFBy
b3BlcnR5U2xvdCYgc2xvdCwgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBib29sIGRpcmVj
dCkKIHsKICAgICAvLyBUaGUgaW50ZXJwcmV0ZXIgY2hlY2tzIGZvciByZWN1cnNpb24gaGVyZTsg
SSBkbyBub3QgYmVsaWV2ZSB0aGlzIGNhbiBvY2N1ciBpbiBDVEkuCiAKQEAgLTg1Myw3ICs4NTMs
NyBAQCBORVZFUl9JTkxJTkUgdm9pZCBKSVRUaHVua3M6OnRyeUNhY2hlUHV0QnlJRChDYWxsRnJh
bWUqIGNhbGxGcmFtZSwgQ29kZUJsb2NrKiBjbwogCiAgICAgLy8gVW5jYWNoZWFibGU6IGdpdmUg
dXAuCiAgICAgaWYgKCFzbG90LmlzQ2FjaGVhYmxlKCkpIHsKLSAgICAgICAgY3RpUGF0Y2hDYWxs
QnlSZXR1cm5BZGRyZXNzKGNvZGVCbG9jaywgcmV0dXJuQWRkcmVzcywgRnVuY3Rpb25QdHIoY3Rp
X29wX3B1dF9ieV9pZF9nZW5lcmljKSk7CisgICAgICAgIGN0aVBhdGNoQ2FsbEJ5UmV0dXJuQWRk
cmVzcyhjb2RlQmxvY2ssIHJldHVybkFkZHJlc3MsIEZ1bmN0aW9uUHRyKGRpcmVjdCA/IGN0aV9v
cF9wdXRfYnlfaWRfZGlyZWN0X2dlbmVyaWMgOiBjdGlfb3BfcHV0X2J5X2lkX2dlbmVyaWMpKTsK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICAKQEAgLTg2MSwxMyArODYxLDEzIEBAIE5FVkVS
X0lOTElORSB2b2lkIEpJVFRodW5rczo6dHJ5Q2FjaGVQdXRCeUlEKENhbGxGcmFtZSogY2FsbEZy
YW1lLCBDb2RlQmxvY2sqIGNvCiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBiYXNlQ2VsbC0+
c3RydWN0dXJlKCk7CiAKICAgICBpZiAoc3RydWN0dXJlLT5pc1VuY2FjaGVhYmxlRGljdGlvbmFy
eSgpKSB7Ci0gICAgICAgIGN0aVBhdGNoQ2FsbEJ5UmV0dXJuQWRkcmVzcyhjb2RlQmxvY2ssIHJl
dHVybkFkZHJlc3MsIEZ1bmN0aW9uUHRyKGN0aV9vcF9wdXRfYnlfaWRfZ2VuZXJpYykpOworICAg
ICAgICBjdGlQYXRjaENhbGxCeVJldHVybkFkZHJlc3MoY29kZUJsb2NrLCByZXR1cm5BZGRyZXNz
LCBGdW5jdGlvblB0cihkaXJlY3QgPyBjdGlfb3BfcHV0X2J5X2lkX2RpcmVjdF9nZW5lcmljIDog
Y3RpX29wX3B1dF9ieV9pZF9nZW5lcmljKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAg
ICAvLyBJZiBiYXNlQ2VsbCAhPSBiYXNlLCB0aGVuIGJhc2VDZWxsIG11c3QgYmUgYSBwcm94eSBm
b3IgYW5vdGhlciBvYmplY3QuCiAgICAgaWYgKGJhc2VDZWxsICE9IHNsb3QuYmFzZSgpKSB7Ci0g
ICAgICAgIGN0aVBhdGNoQ2FsbEJ5UmV0dXJuQWRkcmVzcyhjb2RlQmxvY2ssIHJldHVybkFkZHJl
c3MsIEZ1bmN0aW9uUHRyKGN0aV9vcF9wdXRfYnlfaWRfZ2VuZXJpYykpOworICAgICAgICBjdGlQ
YXRjaENhbGxCeVJldHVybkFkZHJlc3MoY29kZUJsb2NrLCByZXR1cm5BZGRyZXNzLCBGdW5jdGlv
blB0cihkaXJlY3QgPyBjdGlfb3BfcHV0X2J5X2lkX2RpcmVjdF9nZW5lcmljIDogY3RpX29wX3B1
dF9ieV9pZF9nZW5lcmljKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTg3Niw3ICs4
NzYsNyBAQCBORVZFUl9JTkxJTkUgdm9pZCBKSVRUaHVua3M6OnRyeUNhY2hlUHV0QnlJRChDYWxs
RnJhbWUqIGNhbGxGcmFtZSwgQ29kZUJsb2NrKiBjbwogICAgIC8vIFN0cnVjdHVyZSB0cmFuc2l0
aW9uLCBjYWNoZSB0cmFuc2l0aW9uIGluZm8KICAgICBpZiAoc2xvdC50eXBlKCkgPT0gUHV0UHJv
cGVydHlTbG90OjpOZXdQcm9wZXJ0eSkgewogICAgICAgICBpZiAoc3RydWN0dXJlLT5pc0RpY3Rp
b25hcnkoKSkgewotICAgICAgICAgICAgY3RpUGF0Y2hDYWxsQnlSZXR1cm5BZGRyZXNzKGNvZGVC
bG9jaywgcmV0dXJuQWRkcmVzcywgRnVuY3Rpb25QdHIoY3RpX29wX3B1dF9ieV9pZF9nZW5lcmlj
KSk7CisgICAgICAgICAgICBjdGlQYXRjaENhbGxCeVJldHVybkFkZHJlc3MoY29kZUJsb2NrLCBy
ZXR1cm5BZGRyZXNzLCBGdW5jdGlvblB0cihkaXJlY3QgPyBjdGlfb3BfcHV0X2J5X2lkX2RpcmVj
dF9nZW5lcmljIDogY3RpX29wX3B1dF9ieV9pZF9nZW5lcmljKSk7CiAgICAgICAgICAgICByZXR1
cm47CiAgICAgICAgIH0KIApAQCAtODg1LDEzICs4ODUsMTMgQEAgTkVWRVJfSU5MSU5FIHZvaWQg
SklUVGh1bmtzOjp0cnlDYWNoZVB1dEJ5SUQoQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIENvZGVCbG9j
ayogY28KIAogICAgICAgICBTdHJ1Y3R1cmVDaGFpbiogcHJvdG90eXBlQ2hhaW4gPSBzdHJ1Y3R1
cmUtPnByb3RvdHlwZUNoYWluKGNhbGxGcmFtZSk7CiAgICAgICAgIHN0dWJJbmZvLT5pbml0UHV0
QnlJZFRyYW5zaXRpb24oc3RydWN0dXJlLT5wcmV2aW91c0lEKCksIHN0cnVjdHVyZSwgcHJvdG90
eXBlQ2hhaW4pOwotICAgICAgICBKSVQ6OmNvbXBpbGVQdXRCeUlkVHJhbnNpdGlvbihjYWxsRnJh
bWUtPnNjb3BlQ2hhaW4oKS0+Z2xvYmFsRGF0YSwgY29kZUJsb2NrLCBzdHViSW5mbywgc3RydWN0
dXJlLT5wcmV2aW91c0lEKCksIHN0cnVjdHVyZSwgc2xvdC5jYWNoZWRPZmZzZXQoKSwgcHJvdG90
eXBlQ2hhaW4sIHJldHVybkFkZHJlc3MpOworICAgICAgICBKSVQ6OmNvbXBpbGVQdXRCeUlkVHJh
bnNpdGlvbihjYWxsRnJhbWUtPnNjb3BlQ2hhaW4oKS0+Z2xvYmFsRGF0YSwgY29kZUJsb2NrLCBz
dHViSW5mbywgc3RydWN0dXJlLT5wcmV2aW91c0lEKCksIHN0cnVjdHVyZSwgc2xvdC5jYWNoZWRP
ZmZzZXQoKSwgcHJvdG90eXBlQ2hhaW4sIHJldHVybkFkZHJlc3MsIGRpcmVjdCk7CiAgICAgICAg
IHJldHVybjsKICAgICB9CiAgICAgCiAgICAgc3R1YkluZm8tPmluaXRQdXRCeUlkUmVwbGFjZShz
dHJ1Y3R1cmUpOwogCi0gICAgSklUOjpwYXRjaFB1dEJ5SWRSZXBsYWNlKGNvZGVCbG9jaywgc3R1
YkluZm8sIHN0cnVjdHVyZSwgc2xvdC5jYWNoZWRPZmZzZXQoKSwgcmV0dXJuQWRkcmVzcyk7Cisg
ICAgSklUOjpwYXRjaFB1dEJ5SWRSZXBsYWNlKGNvZGVCbG9jaywgc3R1YkluZm8sIHN0cnVjdHVy
ZSwgc2xvdC5jYWNoZWRPZmZzZXQoKSwgcmV0dXJuQWRkcmVzcywgZGlyZWN0KTsKIH0KIAogTkVW
RVJfSU5MSU5FIHZvaWQgSklUVGh1bmtzOjp0cnlDYWNoZUdldEJ5SUQoQ2FsbEZyYW1lKiBjYWxs
RnJhbWUsIENvZGVCbG9jayogY29kZUJsb2NrLCBSZXR1cm5BZGRyZXNzUHRyIHJldHVybkFkZHJl
c3MsIEpTVmFsdWUgYmFzZVZhbHVlLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIGNv
bnN0IFByb3BlcnR5U2xvdCYgc2xvdCwgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvKQpAQCAt
MTM0NCw2ICsxMzQ0LDE1IEBAIERFRklORV9TVFVCX0ZVTkNUSU9OKHZvaWQsIG9wX3B1dF9ieV9p
ZF9nZW5lcmljKQogICAgIENIRUNLX0ZPUl9FWENFUFRJT05fQVRfRU5EKCk7CiB9CiAKK0RFRklO
RV9TVFVCX0ZVTkNUSU9OKHZvaWQsIG9wX3B1dF9ieV9pZF9kaXJlY3RfZ2VuZXJpYykKK3sKKyAg
ICBTVFVCX0lOSVRfU1RBQ0tfRlJBTUUoc3RhY2tGcmFtZSk7CisgICAgCisgICAgUHV0UHJvcGVy
dHlTbG90IHNsb3Q7CisgICAgc3RhY2tGcmFtZS5hcmdzWzBdLmpzVmFsdWUoKS5wdXREaXJlY3Qo
c3RhY2tGcmFtZS5jYWxsRnJhbWUsIHN0YWNrRnJhbWUuYXJnc1sxXS5pZGVudGlmaWVyKCksIHN0
YWNrRnJhbWUuYXJnc1syXS5qc1ZhbHVlKCksIHNsb3QpOworICAgIENIRUNLX0ZPUl9FWENFUFRJ
T05fQVRfRU5EKCk7Cit9CisKIERFRklORV9TVFVCX0ZVTkNUSU9OKEVuY29kZWRKU1ZhbHVlLCBv
cF9nZXRfYnlfaWRfZ2VuZXJpYykKIHsKICAgICBTVFVCX0lOSVRfU1RBQ0tfRlJBTUUoc3RhY2tG
cmFtZSk7CkBAIC0xMzY2LDE3ICsxMzc1LDM2IEBAIERFRklORV9TVFVCX0ZVTkNUSU9OKHZvaWQs
IG9wX3B1dF9ieV9pZCkKICAgICBTVFVCX0lOSVRfU1RBQ0tfRlJBTUUoc3RhY2tGcmFtZSk7CiAg
ICAgQ2FsbEZyYW1lKiBjYWxsRnJhbWUgPSBzdGFja0ZyYW1lLmNhbGxGcmFtZTsKICAgICBJZGVu
dGlmaWVyJiBpZGVudCA9IHN0YWNrRnJhbWUuYXJnc1sxXS5pZGVudGlmaWVyKCk7Ci0KKyAgICAK
ICAgICBQdXRQcm9wZXJ0eVNsb3Qgc2xvdDsKICAgICBzdGFja0ZyYW1lLmFyZ3NbMF0uanNWYWx1
ZSgpLnB1dChjYWxsRnJhbWUsIGlkZW50LCBzdGFja0ZyYW1lLmFyZ3NbMl0uanNWYWx1ZSgpLCBz
bG90KTsKLQorICAgIAogICAgIENvZGVCbG9jayogY29kZUJsb2NrID0gc3RhY2tGcmFtZS5jYWxs
RnJhbWUtPmNvZGVCbG9jaygpOwogICAgIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbyA9ICZj
b2RlQmxvY2stPmdldFN0dWJJbmZvKFNUVUJfUkVUVVJOX0FERFJFU1MpOwogICAgIGlmICghc3R1
YkluZm8tPnNlZW5PbmNlKCkpCiAgICAgICAgIHN0dWJJbmZvLT5zZXRTZWVuKCk7CiAgICAgZWxz
ZQotICAgICAgICBKSVRUaHVua3M6OnRyeUNhY2hlUHV0QnlJRChjYWxsRnJhbWUsIGNvZGVCbG9j
aywgU1RVQl9SRVRVUk5fQUREUkVTUywgc3RhY2tGcmFtZS5hcmdzWzBdLmpzVmFsdWUoKSwgc2xv
dCwgc3R1YkluZm8pOworICAgICAgICBKSVRUaHVua3M6OnRyeUNhY2hlUHV0QnlJRChjYWxsRnJh
bWUsIGNvZGVCbG9jaywgU1RVQl9SRVRVUk5fQUREUkVTUywgc3RhY2tGcmFtZS5hcmdzWzBdLmpz
VmFsdWUoKSwgc2xvdCwgc3R1YkluZm8sIGZhbHNlKTsKKyAgICAKKyAgICBDSEVDS19GT1JfRVhD
RVBUSU9OX0FUX0VORCgpOworfQogCitERUZJTkVfU1RVQl9GVU5DVElPTih2b2lkLCBvcF9wdXRf
YnlfaWRfZGlyZWN0KQoreworICAgIFNUVUJfSU5JVF9TVEFDS19GUkFNRShzdGFja0ZyYW1lKTsK
KyAgICBDYWxsRnJhbWUqIGNhbGxGcmFtZSA9IHN0YWNrRnJhbWUuY2FsbEZyYW1lOworICAgIElk
ZW50aWZpZXImIGlkZW50ID0gc3RhY2tGcmFtZS5hcmdzWzFdLmlkZW50aWZpZXIoKTsKKyAgICAK
KyAgICBQdXRQcm9wZXJ0eVNsb3Qgc2xvdDsKKyAgICBzdGFja0ZyYW1lLmFyZ3NbMF0uanNWYWx1
ZSgpLnB1dERpcmVjdChjYWxsRnJhbWUsIGlkZW50LCBzdGFja0ZyYW1lLmFyZ3NbMl0uanNWYWx1
ZSgpLCBzbG90KTsKKyAgICAKKyAgICBDb2RlQmxvY2sqIGNvZGVCbG9jayA9IHN0YWNrRnJhbWUu
Y2FsbEZyYW1lLT5jb2RlQmxvY2soKTsKKyAgICBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8g
PSAmY29kZUJsb2NrLT5nZXRTdHViSW5mbyhTVFVCX1JFVFVSTl9BRERSRVNTKTsKKyAgICBpZiAo
IXN0dWJJbmZvLT5zZWVuT25jZSgpKQorICAgICAgICBzdHViSW5mby0+c2V0U2VlbigpOworICAg
IGVsc2UKKyAgICAgICAgSklUVGh1bmtzOjp0cnlDYWNoZVB1dEJ5SUQoY2FsbEZyYW1lLCBjb2Rl
QmxvY2ssIFNUVUJfUkVUVVJOX0FERFJFU1MsIHN0YWNrRnJhbWUuYXJnc1swXS5qc1ZhbHVlKCks
IHNsb3QsIHN0dWJJbmZvLCB0cnVlKTsKKyAgICAKICAgICBDSEVDS19GT1JfRVhDRVBUSU9OX0FU
X0VORCgpOwogfQogCkBAIC0xMzkzLDYgKzE0MjEsMTkgQEAgREVGSU5FX1NUVUJfRlVOQ1RJT04o
dm9pZCwgb3BfcHV0X2J5X2lkX2ZhaWwpCiAgICAgQ0hFQ0tfRk9SX0VYQ0VQVElPTl9BVF9FTkQo
KTsKIH0KIAorREVGSU5FX1NUVUJfRlVOQ1RJT04odm9pZCwgb3BfcHV0X2J5X2lkX2RpcmVjdF9m
YWlsKQoreworICAgIFNUVUJfSU5JVF9TVEFDS19GUkFNRShzdGFja0ZyYW1lKTsKKyAgICAKKyAg
ICBDYWxsRnJhbWUqIGNhbGxGcmFtZSA9IHN0YWNrRnJhbWUuY2FsbEZyYW1lOworICAgIElkZW50
aWZpZXImIGlkZW50ID0gc3RhY2tGcmFtZS5hcmdzWzFdLmlkZW50aWZpZXIoKTsKKyAgICAKKyAg
ICBQdXRQcm9wZXJ0eVNsb3Qgc2xvdDsKKyAgICBzdGFja0ZyYW1lLmFyZ3NbMF0uanNWYWx1ZSgp
LnB1dERpcmVjdChjYWxsRnJhbWUsIGlkZW50LCBzdGFja0ZyYW1lLmFyZ3NbMl0uanNWYWx1ZSgp
LCBzbG90KTsKKyAgICAKKyAgICBDSEVDS19GT1JfRVhDRVBUSU9OX0FUX0VORCgpOworfQorCiBE
RUZJTkVfU1RVQl9GVU5DVElPTihKU09iamVjdCosIG9wX3B1dF9ieV9pZF90cmFuc2l0aW9uX3Jl
YWxsb2MpCiB7CiAgICAgU1RVQl9JTklUX1NUQUNLX0ZSQU1FKHN0YWNrRnJhbWUpOwpkaWZmIC0t
Z2l0IGEvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzLmggYi9KYXZhU2NyaXB0Q29yZS9qaXQv
SklUU3R1YnMuaAppbmRleCA2ZDYyN2ExYWFjODZjMzYxZmJjMmJkYTkyN2EzMGIxOGM5YzEyMzY2
Li5hNWIyMWU1MmRmZmZhZWU1ZDA0NTFmMDBiM2FkN2YxNDM4NTUzNzdiIDEwMDY0NAotLS0gYS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnMuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
U3R1YnMuaApAQCAtMjU3LDcgKzI1Nyw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB+SklU
VGh1bmtzKCk7CiAKICAgICAgICAgc3RhdGljIHZvaWQgdHJ5Q2FjaGVHZXRCeUlEKENhbGxGcmFt
ZSosIENvZGVCbG9jayosIFJldHVybkFkZHJlc3NQdHIgcmV0dXJuQWRkcmVzcywgSlNWYWx1ZSBi
YXNlVmFsdWUsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgY29uc3QgUHJvcGVydHlT
bG90JiwgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvKTsKLSAgICAgICAgc3RhdGljIHZvaWQg
dHJ5Q2FjaGVQdXRCeUlEKENhbGxGcmFtZSosIENvZGVCbG9jayosIFJldHVybkFkZHJlc3NQdHIg
cmV0dXJuQWRkcmVzcywgSlNWYWx1ZSBiYXNlVmFsdWUsIGNvbnN0IFB1dFByb3BlcnR5U2xvdCYs
IFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbyk7CisgICAgICAgIHN0YXRpYyB2b2lkIHRyeUNh
Y2hlUHV0QnlJRChDYWxsRnJhbWUqLCBDb2RlQmxvY2sqLCBSZXR1cm5BZGRyZXNzUHRyIHJldHVy
bkFkZHJlc3MsIEpTVmFsdWUgYmFzZVZhbHVlLCBjb25zdCBQdXRQcm9wZXJ0eVNsb3QmLCBTdHJ1
Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIGJvb2wgZGlyZWN0KTsKIAogICAgICAgICBNYWNyb0Fz
c2VtYmxlckNvZGVQdHIgY3RpU3RyaW5nTGVuZ3RoVHJhbXBvbGluZSgpIHsgcmV0dXJuIG1fdHJh
bXBvbGluZVN0cnVjdHVyZS5jdGlTdHJpbmdMZW5ndGhUcmFtcG9saW5lOyB9CiAgICAgICAgIE1h
Y3JvQXNzZW1ibGVyQ29kZVB0ciBjdGlWaXJ0dWFsQ2FsbExpbmsoKSB7IHJldHVybiBtX3RyYW1w
b2xpbmVTdHJ1Y3R1cmUuY3RpVmlydHVhbENhbGxMaW5rOyB9CkBAIC0zNzgsNiArMzc4LDkgQEAg
ZXh0ZXJuICJDIiB7CiAgICAgdm9pZCBKSVRfU1RVQiBjdGlfb3BfcHV0X2J5X2lkKFNUVUJfQVJH
U19ERUNMQVJBVElPTik7CiAgICAgdm9pZCBKSVRfU1RVQiBjdGlfb3BfcHV0X2J5X2lkX2ZhaWwo
U1RVQl9BUkdTX0RFQ0xBUkFUSU9OKTsKICAgICB2b2lkIEpJVF9TVFVCIGN0aV9vcF9wdXRfYnlf
aWRfZ2VuZXJpYyhTVFVCX0FSR1NfREVDTEFSQVRJT04pOworICAgIHZvaWQgSklUX1NUVUIgY3Rp
X29wX3B1dF9ieV9pZF9kaXJlY3QoU1RVQl9BUkdTX0RFQ0xBUkFUSU9OKTsKKyAgICB2b2lkIEpJ
VF9TVFVCIGN0aV9vcF9wdXRfYnlfaWRfZGlyZWN0X2ZhaWwoU1RVQl9BUkdTX0RFQ0xBUkFUSU9O
KTsKKyAgICB2b2lkIEpJVF9TVFVCIGN0aV9vcF9wdXRfYnlfaWRfZGlyZWN0X2dlbmVyaWMoU1RV
Ql9BUkdTX0RFQ0xBUkFUSU9OKTsKICAgICB2b2lkIEpJVF9TVFVCIGN0aV9vcF9wdXRfYnlfaW5k
ZXgoU1RVQl9BUkdTX0RFQ0xBUkFUSU9OKTsKICAgICB2b2lkIEpJVF9TVFVCIGN0aV9vcF9wdXRf
YnlfdmFsKFNUVUJfQVJHU19ERUNMQVJBVElPTik7CiAgICAgdm9pZCBKSVRfU1RVQiBjdGlfb3Bf
cHV0X2J5X3ZhbF9ieXRlX2FycmF5KFNUVUJfQVJHU19ERUNMQVJBVElPTik7CmRpZmYgLS1naXQg
YS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmggYi9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTT2JqZWN0LmgKaW5kZXggZWRkMzc2Yzg2NDA4YmUwMWQxN2QxOWQwMzc2YTNhM2Q4NDIw
NjgwNi4uNDIwMTcwMzE2MjU2ZmVjOTYxMDkzMjAwYTZkYTdlM2JiNmE4YTdkNyAxMDA2NDQKLS0t
IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCisrKyBiL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNPYmplY3QuaApAQCAtMTc3LDYgKzE3Nyw3IEBAIG5hbWVzcGFjZSBKU0Mgewog
CiAgICAgICAgIHZvaWQgcHV0RGlyZWN0KGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwg
SlNWYWx1ZSB2YWx1ZSwgdW5zaWduZWQgYXR0ciwgYm9vbCBjaGVja1JlYWRPbmx5LCBQdXRQcm9w
ZXJ0eVNsb3QmIHNsb3QpOwogICAgICAgICB2b2lkIHB1dERpcmVjdChjb25zdCBJZGVudGlmaWVy
JiBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUgdmFsdWUsIHVuc2lnbmVkIGF0dHIgPSAwKTsKKyAgICAg
ICAgdm9pZCBwdXREaXJlY3QoY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBKU1ZhbHVl
IHZhbHVlLCBQdXRQcm9wZXJ0eVNsb3QmKTsKIAogICAgICAgICB2b2lkIHB1dERpcmVjdEZ1bmN0
aW9uKGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgSlNDZWxsKiB2YWx1ZSwgdW5zaWdu
ZWQgYXR0ciA9IDApOwogICAgICAgICB2b2lkIHB1dERpcmVjdEZ1bmN0aW9uKGNvbnN0IElkZW50
aWZpZXImIHByb3BlcnR5TmFtZSwgSlNDZWxsKiB2YWx1ZSwgdW5zaWduZWQgYXR0ciwgYm9vbCBj
aGVja1JlYWRPbmx5LCBQdXRQcm9wZXJ0eVNsb3QmIHNsb3QpOwpAQCAtNTkwLDYgKzU5MSwxMSBA
QCBpbmxpbmUgdm9pZCBKU09iamVjdDo6cHV0RGlyZWN0KGNvbnN0IElkZW50aWZpZXImIHByb3Bl
cnR5TmFtZSwgSlNWYWx1ZSB2YWx1ZSwgdQogICAgIHB1dERpcmVjdEludGVybmFsKHByb3BlcnR5
TmFtZSwgdmFsdWUsIGF0dHJpYnV0ZXMsIGZhbHNlLCBzbG90LCAwKTsKIH0KIAoraW5saW5lIHZv
aWQgSlNPYmplY3Q6OnB1dERpcmVjdChjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIEpT
VmFsdWUgdmFsdWUsIFB1dFByb3BlcnR5U2xvdCYgc2xvdCkKK3sKKyAgICBwdXREaXJlY3RJbnRl
cm5hbChwcm9wZXJ0eU5hbWUsIHZhbHVlLCAwLCBmYWxzZSwgc2xvdCwgMCk7Cit9CisKIGlubGlu
ZSB2b2lkIEpTT2JqZWN0OjpwdXREaXJlY3RGdW5jdGlvbihjb25zdCBJZGVudGlmaWVyJiBwcm9w
ZXJ0eU5hbWUsIEpTQ2VsbCogdmFsdWUsIHVuc2lnbmVkIGF0dHJpYnV0ZXMsIGJvb2wgY2hlY2tS
ZWFkT25seSwgUHV0UHJvcGVydHlTbG90JiBzbG90KQogewogICAgIHB1dERpcmVjdEludGVybmFs
KHByb3BlcnR5TmFtZSwgdmFsdWUsIGF0dHJpYnV0ZXMsIGNoZWNrUmVhZE9ubHksIHNsb3QsIHZh
bHVlKTsKQEAgLTY5Miw2ICs2OTgsMTIgQEAgaW5saW5lIHZvaWQgSlNWYWx1ZTo6cHV0KEV4ZWNT
dGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBKU1ZhbHUKICAgICBh
c0NlbGwoKS0+cHV0KGV4ZWMsIHByb3BlcnR5TmFtZSwgdmFsdWUsIHNsb3QpOwogfQogCitpbmxp
bmUgdm9pZCBKU1ZhbHVlOjpwdXREaXJlY3QoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYg
cHJvcGVydHlOYW1lLCBKU1ZhbHVlIHZhbHVlLCBQdXRQcm9wZXJ0eVNsb3QmIHNsb3QpCit7Cisg
ICAgQVNTRVJUKGlzQ2VsbCgpICYmIGlzT2JqZWN0KCkpOworICAgIGFzT2JqZWN0KGFzQ2VsbCgp
KS0+cHV0RGlyZWN0KHByb3BlcnR5TmFtZSwgdmFsdWUsIHNsb3QpOworfQorCiBpbmxpbmUgdm9p
ZCBKU1ZhbHVlOjpwdXQoRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIEpT
VmFsdWUgdmFsdWUpCiB7CiAgICAgaWYgKFVOTElLRUxZKCFpc0NlbGwoKSkpIHsKZGlmZiAtLWdp
dCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNWYWx1ZS5oIGIvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU1ZhbHVlLmgKaW5kZXggOTE5MGY3MDkyNjk2OGUxNGM5NzM2YTZmYzllZGZhYWU3OTYw
MGRiNy4uM2M2YmMwOTc5Yjc4MGE0MGU3ZGNkMDYyNDk0MWU4NTU3Mzg3ODY3NiAxMDA2NDQKLS0t
IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1ZhbHVlLmgKKysrIGIvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU1ZhbHVlLmgKQEAgLTE4MSw2ICsxODEsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAg
ICAgICAgSlNWYWx1ZSBnZXQoRXhlY1N0YXRlKiwgdW5zaWduZWQgcHJvcGVydHlOYW1lKSBjb25z
dDsKICAgICAgICAgSlNWYWx1ZSBnZXQoRXhlY1N0YXRlKiwgdW5zaWduZWQgcHJvcGVydHlOYW1l
LCBQcm9wZXJ0eVNsb3QmKSBjb25zdDsKICAgICAgICAgdm9pZCBwdXQoRXhlY1N0YXRlKiwgY29u
c3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBKU1ZhbHVlLCBQdXRQcm9wZXJ0eVNsb3QmKTsK
KyAgICAgICAgdm9pZCBwdXREaXJlY3QoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYgcHJv
cGVydHlOYW1lLCBKU1ZhbHVlLCBQdXRQcm9wZXJ0eVNsb3QmKTsKICAgICAgICAgdm9pZCBwdXQo
RXhlY1N0YXRlKiwgdW5zaWduZWQgcHJvcGVydHlOYW1lLCBKU1ZhbHVlKTsKIAogICAgICAgICBi
b29sIG5lZWRzVGhpc0NvbnZlcnNpb24oKSBjb25zdDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA4ZmI0MDcwNzU3NzFjMGE4
YmQzNTc2OTM3MDc5ZWJkMWZlZTkyYzM5Li5mZmVjMjQ4MmU0OTI3YjYxNTljMmZkNGY3NmJmNTBh
NTAxMmU2OTAxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTAtMDctMDggIE9saXZlciBIdW50
ICA8b2xpdmVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBQcm9wZXJ0eSBkZWNsYXJhdGlvbnMgaW4gYW4gb2JqZWN0IGxpdGVyYWwg
c2hvdWxkIG5vdCBjb25zaWRlciB0aGUgcHJvdG90eXBlIGNoYWluIHdoZW4gYmVpbmcgYWRkZWQg
dG8gdGhlIG5ldyBvYmplY3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTQxOTI5CisKKyAgICAgICAgQWRkIHRlc3RzIHRvIGVuc3VyZSBjb3JyZWN0IGJl
aGF2aW91ciBvZiBvYmplY3QgbGl0ZXJhbHMgd2hlbiB0aGVyZQorICAgICAgICBhcmUgc2V0dGVy
cyBvbiB0aGUgcHJvdG90eXBlIGNoYWluLgorCisgICAgICAgICogZmFzdC9qcy9vYmplY3QtbGl0
ZXJhbC1kaXJlY3QtcHV0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9qcy9v
YmplY3QtbGl0ZXJhbC1kaXJlY3QtcHV0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvanMv
c2NyaXB0LXRlc3RzL29iamVjdC1saXRlcmFsLWRpcmVjdC1wdXQuanM6IEFkZGVkLgorCiAyMDEw
LTA3LTA4ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAg
IEFkZCBtaXNzaW5nIHJlc3VsdHMgZm9yIGEgbmV3IHRlc3QsIGFkZGVkIGZvcjoKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvanMvb2JqZWN0LWxpdGVyYWwtZGlyZWN0LXB1dC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL29iamVjdC1saXRlcmFsLWRpcmVjdC1wdXQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY4MDdiODIzZmZmNWU4M2MyMWY4NTExM2FmMGYxOTJmM2M5
MWIwMTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL29iamVjdC1saXRl
cmFsLWRpcmVjdC1wdXQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTggQEAKK1RoaXMgdGVzdCBl
bnN1cmVzIHRoYXQgcHJvcGVydGllcyBvbiBhbiBvYmplY3QgbGl0ZXJhbCBhcmUgcHV0IGRpcmVj
dGx5IG9udG8gdGhlIGNyZWF0ZWQgb2JqZWN0LCBhbmQgZG9uJ3QgY2FsbCBzZXR0ZXJzIGluIHRo
ZSBwcm90b3R5cGUgY2hhaW4uCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNT
ICh7YTp0cnVlfSkuYSBpcyB0cnVlCitQQVNTICh7X19wcm90b19fOiB7YTpmYWxzZX0sIGE6dHJ1
ZX0pLmEgaXMgdHJ1ZQorUEFTUyAoe19fcHJvdG9fXzoge3NldCBhKCkge3Rocm93ICdTaG91bGQg
bm90IGNhbGwgc2V0dGVyJzsgfX0sIGE6dHJ1ZX0pLmEgaXMgdHJ1ZQorUEFTUyAoe19fcHJvdG9f
Xzoge2dldCBhKCkge3Rocm93ICdTaG91bGQgbm90IHJlYWNoIGdldHRlcic7IH19LCBhOnRydWV9
KS5hIGlzIHRydWUKK1BBU1MgKHtfX3Byb3RvX186IHtnZXQgYSgpIHt0aHJvdyAnU2hvdWxkIG5v
dCByZWFjaCBnZXR0ZXInOyB9LCBiOnRydWV9LCBhOnRydWV9KS5iIGlzIHRydWUKK1BBU1MgKHtf
X3Byb3RvX186IHtfX3Byb3RvX186IHthOmZhbHNlfX0sIGE6dHJ1ZX0pLmEgaXMgdHJ1ZQorUEFT
UyAoe19fcHJvdG9fXzoge19fcHJvdG9fXzoge3NldCBhKCkge3Rocm93ICdTaG91bGQgbm90IGNh
bGwgc2V0dGVyJzsgfX19LCBhOnRydWV9KS5hIGlzIHRydWUKK1BBU1MgKHtfX3Byb3RvX186IHtf
X3Byb3RvX186IHtnZXQgYSgpIHt0aHJvdyAnU2hvdWxkIG5vdCByZWFjaCBnZXR0ZXInOyB9fX0s
IGE6dHJ1ZX0pLmEgaXMgdHJ1ZQorUEFTUyAoe19fcHJvdG9fXzoge19fcHJvdG9fXzoge2dldCBh
KCkge3Rocm93ICdTaG91bGQgbm90IHJlYWNoIGdldHRlcic7IH0sIGI6dHJ1ZX19LCBhOnRydWV9
KS5iIGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL29iamVjdC1saXRlcmFsLWRp
cmVjdC1wdXQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvanMvb2JqZWN0LWxpdGVyYWwtZGlyZWN0
LXB1dC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJiNDJiMDJiOTU5MDU0MjY5MzU1NGMyMzAzYWIwZjMxNjY1
ZTdkNzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL29iamVjdC1saXRl
cmFsLWRpcmVjdC1wdXQuaHRtbApAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IiBocmVmPSJyZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBz
cmM9InJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0IHNyYz0ic2NyaXB0LXRlc3RzL29iamVjdC1saXRlcmFsLWRpcmVjdC1wdXQuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9zY3JpcHQt
dGVzdHMvb2JqZWN0LWxpdGVyYWwtZGlyZWN0LXB1dC5qcyBiL0xheW91dFRlc3RzL2Zhc3QvanMv
c2NyaXB0LXRlc3RzL29iamVjdC1saXRlcmFsLWRpcmVjdC1wdXQuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2Rk
YmYzNzg2MmI0OTg3Njg3MGU5ODI4M2JhNWNkMWI0N2U2ZThjOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvanMvc2NyaXB0LXRlc3RzL29iamVjdC1saXRlcmFsLWRpcmVjdC1w
dXQuanMKQEAgLTAsMCArMSwxNCBAQAorZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBlbnN1cmVzIHRo
YXQgcHJvcGVydGllcyBvbiBhbiBvYmplY3QgbGl0ZXJhbCBhcmUgcHV0IGRpcmVjdGx5IG9udG8g
dGhlIGNyZWF0ZWQgb2JqZWN0LCBhbmQgZG9uJ3QgY2FsbCBzZXR0ZXJzIGluIHRoZSBwcm90b3R5
cGUgY2hhaW4uIik7CisKK3Nob3VsZEJlVHJ1ZSgiKHthOnRydWV9KS5hIik7CitzaG91bGRCZVRy
dWUoIih7X19wcm90b19fOiB7YTpmYWxzZX0sIGE6dHJ1ZX0pLmEiKTsKK3Nob3VsZEJlVHJ1ZSgi
KHtfX3Byb3RvX186IHtzZXQgYSgpIHt0aHJvdyAnU2hvdWxkIG5vdCBjYWxsIHNldHRlcic7IH19
LCBhOnRydWV9KS5hIik7CitzaG91bGRCZVRydWUoIih7X19wcm90b19fOiB7Z2V0IGEoKSB7dGhy
b3cgJ1Nob3VsZCBub3QgcmVhY2ggZ2V0dGVyJzsgfX0sIGE6dHJ1ZX0pLmEiKTsKK3Nob3VsZEJl
VHJ1ZSgiKHtfX3Byb3RvX186IHtnZXQgYSgpIHt0aHJvdyAnU2hvdWxkIG5vdCByZWFjaCBnZXR0
ZXInOyB9LCBiOnRydWV9LCBhOnRydWV9KS5iIik7CisKK3Nob3VsZEJlVHJ1ZSgiKHtfX3Byb3Rv
X186IHtfX3Byb3RvX186IHthOmZhbHNlfX0sIGE6dHJ1ZX0pLmEiKTsKK3Nob3VsZEJlVHJ1ZSgi
KHtfX3Byb3RvX186IHtfX3Byb3RvX186IHtzZXQgYSgpIHt0aHJvdyAnU2hvdWxkIG5vdCBjYWxs
IHNldHRlcic7IH19fSwgYTp0cnVlfSkuYSIpOworc2hvdWxkQmVUcnVlKCIoe19fcHJvdG9fXzog
e19fcHJvdG9fXzoge2dldCBhKCkge3Rocm93ICdTaG91bGQgbm90IHJlYWNoIGdldHRlcic7IH19
fSwgYTp0cnVlfSkuYSIpOworc2hvdWxkQmVUcnVlKCIoe19fcHJvdG9fXzoge19fcHJvdG9fXzog
e2dldCBhKCkge3Rocm93ICdTaG91bGQgbm90IHJlYWNoIGdldHRlcic7IH0sIGI6dHJ1ZX19LCBh
OnRydWV9KS5iIik7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwo=
</data>
<flag name="review"
          id="48916"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>