<?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>142302</bug_id>
          
          <creation_ts>2015-03-04 12:36:54 -0800</creation_ts>
          <short_desc>Enable selectors level 4&apos;s :lang() by default</short_desc>
          <delta_ts>2015-03-06 17:53:28 -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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dhi Aurrahman">diorahman</reporter>
          <assigned_to name="Dhi Aurrahman">diorahman</assigned_to>
          <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1074180</commentid>
    <comment_count>0</comment_count>
    <who name="Dhi Aurrahman">diorahman</who>
    <bug_when>2015-03-04 12:36:54 -0800</bug_when>
    <thetext>Enable selectors level 4&apos;s :lang() by default</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1074182</commentid>
    <comment_count>1</comment_count>
      <attachid>247883</attachid>
    <who name="Dhi Aurrahman">diorahman</who>
    <bug_when>2015-03-04 12:41:18 -0800</bug_when>
    <thetext>Created attachment 247883
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1074991</commentid>
    <comment_count>2</comment_count>
      <attachid>247883</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2015-03-06 10:10:53 -0800</bug_when>
    <thetext>Comment on attachment 247883
Patch

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

Looks good to me.

&gt; Source/WebCore/css/CSSSelector.h:341
&gt; +            std::unique_ptr&lt;Vector&lt;AtomicString&gt;&gt; m_langArgumentList; // Used for :lang arguments

Missing period at the end off the comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1075145</commentid>
    <comment_count>3</comment_count>
      <attachid>248109</attachid>
    <who name="Dhi Aurrahman">diorahman</who>
    <bug_when>2015-03-06 16:15:40 -0800</bug_when>
    <thetext>Created attachment 248109
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1075185</commentid>
    <comment_count>4</comment_count>
      <attachid>248109</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-03-06 17:53:24 -0800</bug_when>
    <thetext>Comment on attachment 248109
Patch for landing

Clearing flags on attachment: 248109

Committed r181197: &lt;http://trac.webkit.org/changeset/181197&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1075186</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-03-06 17:53:28 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>247883</attachid>
            <date>2015-03-04 12:41:18 -0800</date>
            <delta_ts>2015-03-06 16:15:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-142302-20150305034057.patch</filename>
            <type>text/plain</type>
            <size>19874</size>
            <attacher name="Dhi Aurrahman">diorahman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgwODQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDgwODBmNTZhMTIyMGVl
OGI3NWE2YjkzNzZjMDJiOWFhZWRkMzFiMi4uYjc4ZDUwODAyYzhhMmY2ODc0MWNjZWY5YTRhZDBm
MzczMDdlNjIyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE1LTAzLTA0ICBEaGkg
QXVycmFobWFuICA8ZGlvcmFobWFuQHJvY2t5YmFycy5jb20+CisKKyAgICAgICAgRW5hYmxlIHNl
bGVjdG9ycyBsZXZlbCA0J3MgOmxhbmcoKSBieSBkZWZhdWx0CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDIzMDIKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBiZWhhdmlvciBjaGFuZ2UuCisKKyAgICAg
ICAgKiBjc3MvQ1NTR3JhbW1hci55LmluOgorICAgICAgICAqIGNzcy9DU1NQYXJzZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpkZXRlY3RGdW5jdGlvblR5cGVUb2tlbik6Cisg
ICAgICAgICogY3NzL0NTU1BhcnNlclZhbHVlcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQ
YXJzZXJTZWxlY3Rvcjo6c2V0TGFuZ0FyZ3VtZW50TGlzdCk6CisgICAgICAgICogY3NzL0NTU1Bh
cnNlclZhbHVlcy5oOgorICAgICAgICAqIGNzcy9DU1NTZWxlY3Rvci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjphcHBlbmRMYW5nQXJndW1lbnRMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Nl
bGVjdG9yOjpzZWxlY3RvclRleHQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU2VsZWN0b3I6OnNl
dExhbmdBcmd1bWVudExpc3QpOgorICAgICAgICAqIGNzcy9DU1NTZWxlY3Rvci5oOgorICAgICAg
ICAqIGNzcy9TZWxlY3RvckNoZWNrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VsZWN0b3JD
aGVja2VyOjpjaGVja09uZSk6CisgICAgICAgICogY3NzL1NlbGVjdG9yQ2hlY2tlclRlc3RGdW5j
dGlvbnMuaDoKKyAgICAgICAgKFdlYkNvcmU6Om1hdGNoZXNMYW5nUHNldWRvQ2xhc3MpOgorICAg
ICAgICAoV2ViQ29yZTo6bWF0Y2hlc0xhbmdQc2V1ZG9DbGFzc0RlcHJlY2F0ZWQpOiBEZWxldGVk
LgorICAgICAgICAqIGNzc2ppdC9TZWxlY3RvckNvbXBpbGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNlbGVjdG9yQ29tcGlsZXI6OmFkZFBzZXVkb0NsYXNzVHlwZSk6CisgICAgICAgIChXZWJD
b3JlOjpTZWxlY3RvckNvbXBpbGVyOjpTZWxlY3RvckNvZGVHZW5lcmF0b3I6OmdlbmVyYXRlRWxl
bWVudE1hdGNoaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdG9yQ29tcGlsZXI6OlNlbGVj
dG9yQ29kZUdlbmVyYXRvcjo6Z2VuZXJhdGVFbGVtZW50SXNJbkxhbmd1YWdlKToKKwogMjAxNS0w
Mi0yOCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBG
cmFtZVZpZXc6OmxheW91dFRpbWVyRmlyZWQoKSBzaG91bGQgdXBkYXRlIHN0eWxlIGlmIG5lZWRl
ZCBiZWZvcmUgZG9pbmcgbGF5b3V0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
R3JhbW1hci55LmluIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYW1tYXIueS5pbgppbmRleCBl
ZmRiMmJiODQ4ODMzYmJjNjQ2NGRmNWQwZjhhOGE5YzNmMjUwMmMwLi4yMzVkMjIxMmJmYTFmNGYy
YWZhODM4MTFhN2ZlMmEyYWVhNTE0ZGFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTR3JhbW1hci55LmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFtbWFyLnkuaW4K
QEAgLTYyLDkgKzYyLDkgQEAgc3RhdGljIGlubGluZSBib29sIGlzQ1NTVG9rZW5BU3RyaW5nKGlu
dCB5eXR5cGUpCiAgICAgY2FzZSBNSU5GVU5DVElPTjoKICAgICBjYXNlIE5USENISUxERlVOQ1RJ
T05TOgogICAgIGNhc2UgTlRIQ0hJTERTRUxFQ1RPUlNFUEFSQVRPUjoKKyAgICBjYXNlIExBTkdG
VU5DVElPTjoKICNpZiBFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQKICAgICBjYXNlIERJUkZV
TkNUSU9OOgotICAgIGNhc2UgTEFOR0ZVTkNUSU9OOgogICAgIGNhc2UgUk9MRUZVTkNUSU9OOgog
I2VuZGlmCiAgICAgY2FzZSBVTklDT0RFUkFOR0U6CkBAIC0yMTgsMTAgKzIxOCwxMCBAQCBzdGF0
aWMgYm9vbCBzZWxlY3Rvckxpc3REb2VzTm90TWF0Y2hBbnlQc2V1ZG9FbGVtZW50KGNvbnN0IFZl
Y3RvcjxzdGQ6OnVuaXF1ZV9wdAogJXRva2VuIDxzdHJpbmc+IE1BWEZVTkNUSU9OCiAldG9rZW4g
PHN0cmluZz4gTUlORlVOQ1RJT04KICV0b2tlbiA8c3RyaW5nPiBOVEhDSElMREZVTkNUSU9OUwor
JXRva2VuIDxzdHJpbmc+IExBTkdGVU5DVElPTgogCiAjaWYgRU5BQkxFX0NTU19TRUxFQ1RPUlNf
TEVWRUw0CiAldG9rZW4gPHN0cmluZz4gRElSRlVOQ1RJT04KLSV0b2tlbiA8c3RyaW5nPiBMQU5H
RlVOQ1RJT04KICV0b2tlbiA8c3RyaW5nPiBST0xFRlVOQ1RJT04KICNlbmRpZgogCkBAIC0zMjAs
MTYgKzMyMCwxMSBAQCBzdGF0aWMgYm9vbCBzZWxlY3Rvckxpc3REb2VzTm90TWF0Y2hBbnlQc2V1
ZG9FbGVtZW50KGNvbnN0IFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdAogJXR5cGUgPHZhbHVlTGlzdD4g
Y2FsY19mdW5jX2V4cHIgY2FsY19mdW5jX2V4cHJfbGlzdCBjYWxjX2Z1bmNfcGFyZW5fZXhwciBl
eHByIGtleV9saXN0IG1heWJlX21lZGlhX3ZhbHVlIHZhbGlkX2NhbGNfZnVuY19leHByIHZhbGlk
X2V4cHIKICVkZXN0cnVjdG9yIHsgZGVsZXRlICQkOyB9IGNhbGNfZnVuY19leHByIGNhbGNfZnVu
Y19leHByX2xpc3QgY2FsY19mdW5jX3BhcmVuX2V4cHIgZXhwciBrZXlfbGlzdCBtYXliZV9tZWRp
YV92YWx1ZSB2YWxpZF9jYWxjX2Z1bmNfZXhwciB2YWxpZF9leHByCiAKLSNpZiBFTkFCTEVfQ1NT
X1NFTEVDVE9SU19MRVZFTDQKLQogJXR5cGUgPHN0cmluZz4gbGFuZ19yYW5nZQotCiAldW5pb24g
eyBWZWN0b3I8Q1NTUGFyc2VyU3RyaW5nPiogc3RyaW5nTGlzdDsgfQogJXR5cGUgPHN0cmluZ0xp
c3Q+IGNvbW1hX3NlcGFyYXRlZF9sYW5nX3JhbmdlcwogJWRlc3RydWN0b3IgeyBkZWxldGUgJCQ7
IH0gY29tbWFfc2VwYXJhdGVkX2xhbmdfcmFuZ2VzCiAKLSNlbmRpZgotCiAldHlwZSA8c3RyaW5n
PiBtaW5fb3JfbWF4CiAKICV0eXBlIDxzdHJpbmc+IGVsZW1lbnRfbmFtZQpAQCAtMTA4OSw3ICsx
MDg0LDYgQEAgbmVzdGVkX3NlbGVjdG9yX2xpc3Q6CiAgICAgfQogICAgIDsKIAotI2lmIEVOQUJM
RV9DU1NfU0VMRUNUT1JTX0xFVkVMNAogbGFuZ19yYW5nZTogSURFTlQgfCBTVFJJTkcgOwogCiBj
b21tYV9zZXBhcmF0ZWRfbGFuZ19yYW5nZXM6CkBAIC0xMTA3LDcgKzExMDEsNiBAQCBjb21tYV9z
ZXBhcmF0ZWRfbGFuZ19yYW5nZXM6CiAgICAgICAgIGRlbGV0ZSAkMTsKICAgICB9CiAgICAgOwot
I2VuZGlmCiAKIGNvbXBsZXhfc2VsZWN0b3Jfd2l0aF90cmFpbGluZ193aGl0ZXNwYWNlOgogICAg
IGNvbXBsZXhfc2VsZWN0b3IgV0hJVEVTUEFDRTsKQEAgLTEzNzksMTggKzEzNzIsNiBAQCBwc2V1
ZG86CiAgICAgICAgICAgICAgICAgJCQgPSBzZWxlY3Rvci5yZWxlYXNlKCk7CiAgICAgICAgIH0K
ICAgICB9Ci0KLSNpZiBFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQKLSAgICB8ICc6JyBESVJG
VU5DVElPTiBtYXliZV9zcGFjZSBJREVOVCBtYXliZV9zcGFjZSAnKScgewotICAgICAgICAkJCA9
IG51bGxwdHI7Ci0gICAgICAgIGF1dG8gc2VsZWN0b3IgPSBzdGQ6Om1ha2VfdW5pcXVlPENTU1Bh
cnNlclNlbGVjdG9yPigpOwotICAgICAgICBzZWxlY3Rvci0+c2V0TWF0Y2goQ1NTU2VsZWN0b3I6
OlBzZXVkb0NsYXNzKTsKLSAgICAgICAgc2VsZWN0b3ItPnNldEFyZ3VtZW50KCQ0KTsKLSAgICAg
ICAgc2VsZWN0b3ItPnNldFBzZXVkb0NsYXNzVmFsdWUoJDIpOwotICAgICAgICBpZiAoc2VsZWN0
b3ItPnBzZXVkb0NsYXNzVHlwZSgpID09IENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc0RpcikKLSAg
ICAgICAgICAgICQkID0gc2VsZWN0b3IucmVsZWFzZSgpOwotICAgIH0KLQogICAgIHwgJzonIExB
TkdGVU5DVElPTiBtYXliZV9zcGFjZSBjb21tYV9zZXBhcmF0ZWRfbGFuZ19yYW5nZXMgbWF5YmVf
c3BhY2UgJyknIHsKICAgICAgICAgJCQgPSBudWxscHRyOwogICAgICAgICBpZiAoJDQpIHsKQEAg
LTE0MDMsNiArMTM4NCwxNyBAQCBwc2V1ZG86CiAgICAgICAgIH0KICAgICB9CiAKKyNpZiBFTkFC
TEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQKKyAgICB8ICc6JyBESVJGVU5DVElPTiBtYXliZV9zcGFj
ZSBJREVOVCBtYXliZV9zcGFjZSAnKScgeworICAgICAgICAkJCA9IG51bGxwdHI7CisgICAgICAg
IGF1dG8gc2VsZWN0b3IgPSBzdGQ6Om1ha2VfdW5pcXVlPENTU1BhcnNlclNlbGVjdG9yPigpOwor
ICAgICAgICBzZWxlY3Rvci0+c2V0TWF0Y2goQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzKTsKKyAg
ICAgICAgc2VsZWN0b3ItPnNldEFyZ3VtZW50KCQ0KTsKKyAgICAgICAgc2VsZWN0b3ItPnNldFBz
ZXVkb0NsYXNzVmFsdWUoJDIpOworICAgICAgICBpZiAoc2VsZWN0b3ItPnBzZXVkb0NsYXNzVHlw
ZSgpID09IENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc0RpcikKKyAgICAgICAgICAgICQkID0gc2Vs
ZWN0b3IucmVsZWFzZSgpOworICAgIH0KKwogICAgIHwgJzonIFJPTEVGVU5DVElPTiBtYXliZV9z
cGFjZSBJREVOVCBtYXliZV9zcGFjZSAnKScgewogICAgICAgICAkJCA9IG51bGxwdHI7CiAgICAg
ICAgIGF1dG8gc2VsZWN0b3IgPSBzdGQ6Om1ha2VfdW5pcXVlPENTU1BhcnNlclNlbGVjdG9yPigp
OwpAQCAtMTg5MSw5ICsxODgzLDkgQEAgaW52YWxpZF9zcXVhcmVfYnJhY2tldHNfYmxvY2s6ICdb
JyBlcnJvcl9yZWNvdmVyeSAnXScgfCAnWycgZXJyb3JfcmVjb3ZlcnkgVE9LRU4KIGludmFsaWRf
cGFyZW50aGVzZXNfYmxvY2s6IG9wZW5pbmdfcGFyZW50aGVzaXMgZXJyb3JfcmVjb3ZlcnkgY2xv
c2luZ19wYXJlbnRoZXNpczsKIAogb3BlbmluZ19wYXJlbnRoZXNpczoKLSAgICAnKCcgfCBGVU5D
VElPTiB8IENBTENGVU5DVElPTiB8IE1BVENIRVNGVU5DVElPTiB8IE1BWEZVTkNUSU9OIHwgTUlO
RlVOQ1RJT04gfCBBTllGVU5DVElPTiB8IE5PVEZVTkNUSU9OCisgICAgJygnIHwgRlVOQ1RJT04g
fCBDQUxDRlVOQ1RJT04gfCBNQVRDSEVTRlVOQ1RJT04gfCBNQVhGVU5DVElPTiB8IE1JTkZVTkNU
SU9OIHwgQU5ZRlVOQ1RJT04gfCBOT1RGVU5DVElPTiB8IExBTkdGVU5DVElPTgogI2lmIEVOQUJM
RV9DU1NfU0VMRUNUT1JTX0xFVkVMNAotICAgIHwgRElSRlVOQ1RJT04gfCBMQU5HRlVOQ1RJT04g
fCBST0xFRlVOQ1RJT04KKyAgICB8IERJUkZVTkNUSU9OIHwgUk9MRUZVTkNUSU9OCiAjZW5kaWYK
ICNpZiBFTkFCTEVfVklERU9fVFJBQ0sKICAgICB8IENVRUZVTkNUSU9OCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
YXJzZXIuY3BwCmluZGV4IDhlNDYzNWU4YzI2MjNiNzhkYzdiMjFiZjBkNzYyNDRmMDQ2MDM5ZDYu
LjlhNzRiYTRiNzcxN2ExY2Y2NmI1NmVhZTE2YzVjZjM3YjU0YTdlNmEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NQYXJzZXIuY3BwCkBAIC0xMDg2NCwxMSArMTA4NjQsMTEgQEAgaW5saW5lIGJvb2wgQ1NTUGFy
c2VyOjpkZXRlY3RGdW5jdGlvblR5cGVUb2tlbihpbnQgbGVuZ3RoKQogICAgICAgICAgICAgbV90
b2tlbiA9IENBTENGVU5DVElPTjsKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICB9
Ci0jaWYgRU5BQkxFKENTU19TRUxFQ1RPUlNfTEVWRUw0KQogICAgICAgICBpZiAoaXNFcXVhbFRv
Q1NTSWRlbnRpZmllcihuYW1lLCAibGFuZyIpKSB7CiAgICAgICAgICAgICBtX3Rva2VuID0gTEFO
R0ZVTkNUSU9OOwogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIH0KKyNpZiBFTkFC
TEUoQ1NTX1NFTEVDVE9SU19MRVZFTDQpCiAgICAgICAgIGlmIChpc0VxdWFsVG9DU1NJZGVudGlm
aWVyKG5hbWUsICJyb2xlIikpIHsKICAgICAgICAgICAgIG1fdG9rZW4gPSBST0xFRlVOQ1RJT047
CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQYXJzZXJWYWx1ZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVl
cy5jcHAKaW5kZXggZDdhMWIzMGMyYzcwNTgwN2QxNDAxMzA3YTkxOTExM2JhNmUyOTUwOC4uM2Iz
ODFjNTg4N2JjMjZjZjhmOTYwZTc2MWVjOWEzYTUwNDAwOTI3YiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1BhcnNlclZhbHVlcy5jcHAKQEAgLTI2Miw3ICsyNjIsNiBAQCB2b2lkIENTU1BhcnNlclNl
bGVjdG9yOjphZG9wdFNlbGVjdG9yVmVjdG9yKFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8Q1NTUGFy
c2VyU2VsZQogICAgIG1fc2VsZWN0b3ItPnNldFNlbGVjdG9yTGlzdChXVEY6Om1vdmUoc2VsZWN0
b3JMaXN0KSk7CiB9CiAKLSNpZiBFTkFCTEUoQ1NTX1NFTEVDVE9SU19MRVZFTDQpCiB2b2lkIENT
U1BhcnNlclNlbGVjdG9yOjpzZXRMYW5nQXJndW1lbnRMaXN0KGNvbnN0IFZlY3RvcjxDU1NQYXJz
ZXJTdHJpbmc+JiBzdHJpbmdWZWN0b3IpCiB7CiAgICAgQVNTRVJUX1dJVEhfTUVTU0FHRSghc3Ry
aW5nVmVjdG9yLmlzRW1wdHkoKSwgIk5vIENTUyBTZWxlY3RvciB0YWtlcyBhbiBlbXB0eSBhcmd1
bWVudCBsaXN0LiIpOwpAQCAtMjcyLDcgKzI3MSw2IEBAIHZvaWQgQ1NTUGFyc2VyU2VsZWN0b3I6
OnNldExhbmdBcmd1bWVudExpc3QoY29uc3QgVmVjdG9yPENTU1BhcnNlclN0cmluZz4mIHN0cmlu
CiAgICAgICAgIGFyZ3VtZW50TGlzdC0+YXBwZW5kKGxhbmd1YWdlQXJndW1lbnQpOwogICAgIG1f
c2VsZWN0b3ItPnNldExhbmdBcmd1bWVudExpc3QoV1RGOjptb3ZlKGFyZ3VtZW50TGlzdCkpOwog
fQotI2VuZGlmCiAKIHZvaWQgQ1NTUGFyc2VyU2VsZWN0b3I6OnNldFBzZXVkb0NsYXNzVmFsdWUo
Y29uc3QgQ1NTUGFyc2VyU3RyaW5nJiBwc2V1ZG9DbGFzc1N0cmluZykKIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJWYWx1ZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQYXJzZXJWYWx1ZXMuaAppbmRleCAyM2JjZTBlMDE5YjFhMzNmMDRmZDE5ZjZlNTYzNWQ5
NWJjNWEwZDY0Li5jMTAyMzA4MDE0NWIwY2M0NTE4MjJjMTFlZTdlZjU2OGEzZDhhZDVkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5oCkBAIC0yMDksOSArMjA5LDcgQEAgcHVibGlj
OgogICAgIHZvaWQgc2V0Rm9yUGFnZSgpIHsgbV9zZWxlY3Rvci0+c2V0Rm9yUGFnZSgpOyB9CiAK
ICAgICB2b2lkIGFkb3B0U2VsZWN0b3JWZWN0b3IoVmVjdG9yPHN0ZDo6dW5pcXVlX3B0cjxDU1NQ
YXJzZXJTZWxlY3Rvcj4+JiBzZWxlY3RvclZlY3Rvcik7Ci0jaWYgRU5BQkxFKENTU19TRUxFQ1RP
UlNfTEVWRUw0KQogICAgIHZvaWQgc2V0TGFuZ0FyZ3VtZW50TGlzdChjb25zdCBWZWN0b3I8Q1NT
UGFyc2VyU3RyaW5nPiYgc3RyaW5nVmVjdG9yKTsKLSNlbmRpZgogCiAgICAgdm9pZCBzZXRQc2V1
ZG9DbGFzc1ZhbHVlKGNvbnN0IENTU1BhcnNlclN0cmluZyYgcHNldWRvQ2xhc3NTdHJpbmcpOwog
ICAgIENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc1R5cGUgcHNldWRvQ2xhc3NUeXBlKCkgY29uc3Qg
eyByZXR1cm4gbV9zZWxlY3Rvci0+cHNldWRvQ2xhc3NUeXBlKCk7IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
U2VsZWN0b3IuY3BwCmluZGV4IDQ3ZWEwNzFiNDY1MWUxNDAzNTU0MTFlNDgxMzEzZTMwNmZlMDEw
ODkuLmMwYTVmMjdkMzk3Y2I5YjZhYWJmNzc5MDk4ODJmZjUxMjkzM2Q1ZGIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1NlbGVjdG9yLmNwcApAQCAtMzcyLDcgKzM3Miw2IEBAIHN0YXRpYyB2b2lkIGFwcGVu
ZFBzZXVkb0NsYXNzRnVuY3Rpb25UYWlsKFN0cmluZ0J1aWxkZXImIHN0ciwgY29uc3QgQ1NTU2Vs
ZWN0b3IqCiAKIH0KIAotI2lmIEVOQUJMRShDU1NfU0VMRUNUT1JTX0xFVkVMNCkKIHN0YXRpYyB2
b2lkIGFwcGVuZExhbmdBcmd1bWVudExpc3QoU3RyaW5nQnVpbGRlciYgc3RyLCBjb25zdCBWZWN0
b3I8QXRvbWljU3RyaW5nPiYgYXJndW1lbnRMaXN0KQogewogICAgIHVuc2lnbmVkIGFyZ3VtZW50
TGlzdFNpemUgPSBhcmd1bWVudExpc3Quc2l6ZSgpOwpAQCAtMzg0LDcgKzM4Myw2IEBAIHN0YXRp
YyB2b2lkIGFwcGVuZExhbmdBcmd1bWVudExpc3QoU3RyaW5nQnVpbGRlciYgc3RyLCBjb25zdCBW
ZWN0b3I8QXRvbWljU3RyaW5nCiAgICAgICAgICAgICBzdHIuYXBwZW5kTGl0ZXJhbCgiLCAiKTsK
ICAgICB9CiB9Ci0jZW5kaWYKIAogU3RyaW5nIENTU1NlbGVjdG9yOjpzZWxlY3RvclRleHQoY29u
c3QgU3RyaW5nJiByaWdodFNpZGUpIGNvbnN0CiB7CkBAIC01MTksMTMgKzUxNyw5IEBAIFN0cmlu
ZyBDU1NTZWxlY3Rvcjo6c2VsZWN0b3JUZXh0KGNvbnN0IFN0cmluZyYgcmlnaHRTaWRlKSBjb25z
dAogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6
UHNldWRvQ2xhc3NMYW5nOgogICAgICAgICAgICAgICAgIHN0ci5hcHBlbmRMaXRlcmFsKCI6bGFu
ZygiKTsKLSNpZiBFTkFCTEUoQ1NTX1NFTEVDVE9SU19MRVZFTDQpCiAgICAgICAgICAgICAgICAg
QVNTRVJUX1dJVEhfTUVTU0FHRShjcy0+bGFuZ0FyZ3VtZW50TGlzdCgpICYmICFjcy0+bGFuZ0Fy
Z3VtZW50TGlzdCgpLT5pc0VtcHR5KCksICJBbiBlbXB0eSA6bGFuZygpIGlzIGludmFsaWQgYW5k
IHNob3VsZCBuZXZlciBiZSBnZW5lcmF0ZWQgYnkgdGhlIHBhcnNlci4iKTsKICAgICAgICAgICAg
ICAgICBhcHBlbmRMYW5nQXJndW1lbnRMaXN0KHN0ciwgKmNzLT5sYW5nQXJndW1lbnRMaXN0KCkp
OwogICAgICAgICAgICAgICAgIHN0ci5hcHBlbmQoJyknKTsKLSNlbHNlCi0gICAgICAgICAgICAg
ICAgYXBwZW5kUHNldWRvQ2xhc3NGdW5jdGlvblRhaWwoc3RyLCBjcyk7Ci0jZW5kaWYKICAgICAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0Ns
YXNzTGFzdENoaWxkOgogICAgICAgICAgICAgICAgIHN0ci5hcHBlbmRMaXRlcmFsKCI6bGFzdC1j
aGlsZCIpOwpAQCAtNzQxLDEzICs3MzUsMTEgQEAgdm9pZCBDU1NTZWxlY3Rvcjo6c2V0QXJndW1l
bnQoY29uc3QgQXRvbWljU3RyaW5nJiB2YWx1ZSkKICAgICBtX2RhdGEubV9yYXJlRGF0YS0+bV9h
cmd1bWVudCA9IHZhbHVlOwogfQogCi0jaWYgRU5BQkxFKENTU19TRUxFQ1RPUlNfTEVWRUw0KQog
dm9pZCBDU1NTZWxlY3Rvcjo6c2V0TGFuZ0FyZ3VtZW50TGlzdChzdGQ6OnVuaXF1ZV9wdHI8VmVj
dG9yPEF0b21pY1N0cmluZz4+IGFyZ3VtZW50TGlzdCkKIHsKICAgICBjcmVhdGVSYXJlRGF0YSgp
OwogICAgIG1fZGF0YS5tX3JhcmVEYXRhLT5tX2xhbmdBcmd1bWVudExpc3QgPSBXVEY6Om1vdmUo
YXJndW1lbnRMaXN0KTsKIH0KLSNlbmRpZgogCiB2b2lkIENTU1NlbGVjdG9yOjpzZXRTZWxlY3Rv
ckxpc3Qoc3RkOjp1bmlxdWVfcHRyPENTU1NlbGVjdG9yTGlzdD4gc2VsZWN0b3JMaXN0KQogewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmggYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTU2VsZWN0b3IuaAppbmRleCBiZDIzMWI0ZjAyNmRjYTkyOTVmZDA3ZjFkMWEx
ZTBkYTdjYzFhMTVhLi4yNjRiOWNlZTdkZWJiNGNiMmNmYjM2MTdkM2ZiNzRkMjYxOWYyNTk2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuaApAQCAtMjI0LDE4ICsyMjQsMTQgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIGF0dHJpYnV0ZUNhbm9uaWNh
bExvY2FsTmFtZSgpIGNvbnN0OwogICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIGFyZ3VtZW50
KCkgY29uc3QgeyByZXR1cm4gbV9oYXNSYXJlRGF0YSA/IG1fZGF0YS5tX3JhcmVEYXRhLT5tX2Fy
Z3VtZW50IDogbnVsbEF0b207IH0KICAgICAgICAgYm9vbCBhdHRyaWJ1dGVWYWx1ZU1hdGNoaW5n
SXNDYXNlSW5zZW5zaXRpdmUoKSBjb25zdDsKLSNpZiBFTkFCTEUoQ1NTX1NFTEVDVE9SU19MRVZF
TDQpCiAgICAgICAgIGNvbnN0IFZlY3RvcjxBdG9taWNTdHJpbmc+KiBsYW5nQXJndW1lbnRMaXN0
KCkgY29uc3QgeyByZXR1cm4gbV9oYXNSYXJlRGF0YSA/IG1fZGF0YS5tX3JhcmVEYXRhLT5tX2xh
bmdBcmd1bWVudExpc3QuZ2V0KCkgOiBudWxscHRyOyB9Ci0jZW5kaWYKICAgICAgICAgY29uc3Qg
Q1NTU2VsZWN0b3JMaXN0KiBzZWxlY3Rvckxpc3QoKSBjb25zdCB7IHJldHVybiBtX2hhc1JhcmVE
YXRhID8gbV9kYXRhLm1fcmFyZURhdGEtPm1fc2VsZWN0b3JMaXN0LmdldCgpIDogbnVsbHB0cjsg
fQogCiAgICAgICAgIHZvaWQgc2V0VmFsdWUoY29uc3QgQXRvbWljU3RyaW5nJik7CiAgICAgICAg
IHZvaWQgc2V0QXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBib29sIGlzQ2FzZUluc2Vu
c2l0aXZlKTsKICAgICAgICAgdm9pZCBzZXRBcmd1bWVudChjb25zdCBBdG9taWNTdHJpbmcmKTsK
ICAgICAgICAgdm9pZCBzZXRBdHRyaWJ1dGVWYWx1ZU1hdGNoaW5nSXNDYXNlSW5zZW5zaXRpdmUo
Ym9vbCk7Ci0jaWYgRU5BQkxFKENTU19TRUxFQ1RPUlNfTEVWRUw0KQogICAgICAgICB2b2lkIHNl
dExhbmdBcmd1bWVudExpc3Qoc3RkOjp1bmlxdWVfcHRyPFZlY3RvcjxBdG9taWNTdHJpbmc+Pik7
Ci0jZW5kaWYKICAgICAgICAgdm9pZCBzZXRTZWxlY3Rvckxpc3Qoc3RkOjp1bmlxdWVfcHRyPENT
U1NlbGVjdG9yTGlzdD4pOwogCiAgICAgICAgIGJvb2wgcGFyc2VOdGgoKSBjb25zdDsKQEAgLTM0
Miw5ICszMzgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICBRdWFsaWZpZWRO
YW1lIG1fYXR0cmlidXRlOyAvLyB1c2VkIGZvciBhdHRyaWJ1dGUgc2VsZWN0b3IKICAgICAgICAg
ICAgIEF0b21pY1N0cmluZyBtX2F0dHJpYnV0ZUNhbm9uaWNhbExvY2FsTmFtZTsKICAgICAgICAg
ICAgIEF0b21pY1N0cmluZyBtX2FyZ3VtZW50OyAvLyBVc2VkIGZvciA6Y29udGFpbnMgYW5kIDpu
dGgtKgotI2lmIEVOQUJMRShDU1NfU0VMRUNUT1JTX0xFVkVMNCkKLSAgICAgICAgICAgIHN0ZDo6
dW5pcXVlX3B0cjxWZWN0b3I8QXRvbWljU3RyaW5nPj4gbV9sYW5nQXJndW1lbnRMaXN0OwotI2Vu
ZGlmCisgICAgICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8VmVjdG9yPEF0b21pY1N0cmluZz4+IG1f
bGFuZ0FyZ3VtZW50TGlzdDsgLy8gVXNlZCBmb3IgOmxhbmcgYXJndW1lbnRzCiAgICAgICAgICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8Q1NTU2VsZWN0b3JMaXN0PiBtX3NlbGVjdG9yTGlzdDsgLy8gVXNl
ZCBmb3IgOi13ZWJraXQtYW55IGFuZCA6bm90CiAgICAgICAgIAogICAgICAgICBwcml2YXRlOgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcAppbmRleCAyMDg5NGE1NzkwMzc4MjJh
ZWEwYWVlNGRmMjkyZTlhYjA1YTYwMWNkLi5hM2VmNTE5YTA2NDE5YWNkYzczOTBkZWIwYTQ4YmQ2
M2E5N2EwY2VjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2Vy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcApAQCAtOTUz
LDE1ICs5NTMsOCBAQCBib29sIFNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tPbmUoY29uc3QgQ2hlY2tp
bmdDb250ZXh0V2l0aFN0YXR1cyYgY29udGV4dCwgUHNldWRvSQogICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzTGFuZzoKICAgICAgICAgICAg
IHsKLSNpZiBFTkFCTEUoQ1NTX1NFTEVDVE9SU19MRVZFTDQpCiAgICAgICAgICAgICAgICAgQVNT
RVJUKHNlbGVjdG9yLT5sYW5nQXJndW1lbnRMaXN0KCkgJiYgIXNlbGVjdG9yLT5sYW5nQXJndW1l
bnRMaXN0KCktPmlzRW1wdHkoKSk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIG1hdGNoZXNMYW5n
UHNldWRvQ2xhc3MoZWxlbWVudCwgKnNlbGVjdG9yLT5sYW5nQXJndW1lbnRMaXN0KCkpOwotI2Vs
c2UKLSAgICAgICAgICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIGFyZ3VtZW50ID0gc2VsZWN0
b3ItPmFyZ3VtZW50KCk7ICAgICAgCi0gICAgICAgICAgICAgICAgaWYgKGFyZ3VtZW50LmlzTnVs
bCgpKQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICAgICAg
cmV0dXJuIG1hdGNoZXNMYW5nUHNldWRvQ2xhc3NEZXByZWNhdGVkKGVsZW1lbnQsIGFyZ3VtZW50
LmltcGwoKSk7Ci0jZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAg
fQogI2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKICAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6
UHNldWRvQ2xhc3NGdWxsU2NyZWVuOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1Nl
bGVjdG9yQ2hlY2tlclRlc3RGdW5jdGlvbnMuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3Rv
ckNoZWNrZXJUZXN0RnVuY3Rpb25zLmgKaW5kZXggNmRhZjdmNTU5NDhhZGI0ZDA0MGI0MDA1YmEy
M2E1NTMzM2EwM2MzZS4uZDVlMDk2NTNiYzVjM2E4ZmM0NWMwMjZiNzQ3YTI3NTI2YzhhMTcxOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlclRlc3RGdW5jdGlv
bnMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyVGVzdEZ1bmN0aW9u
cy5oCkBAIC0xMjAsNyArMTIwLDYgQEAgQUxXQVlTX0lOTElORSBib29sIGlzV2luZG93SW5hY3Rp
dmUoY29uc3QgRWxlbWVudCogZWxlbWVudCkKICAgICByZXR1cm4gIWVsZW1lbnQtPmRvY3VtZW50
KCkucGFnZSgpLT5mb2N1c0NvbnRyb2xsZXIoKS5pc0FjdGl2ZSgpOwogfQogCi0jaWYgRU5BQkxF
KENTU19TRUxFQ1RPUlNfTEVWRUw0KQogQUxXQVlTX0lOTElORSBib29sIGVxdWFsSWdub3JpbmdB
U0NJSUNhc2UoY29uc3QgU3RyaW5nJiBhLCBjb25zdCBTdHJpbmcmIGIpCiB7CiAgICAgaWYgKGEu
bGVuZ3RoKCkgIT0gYi5sZW5ndGgoKSkgCkBAIC0yMTYsMzEgKzIxNSw2IEBAIEFMV0FZU19JTkxJ
TkUgYm9vbCBtYXRjaGVzTGFuZ1BzZXVkb0NsYXNzKGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQsIGNv
bnN0IFZlY3RvcjxBCiAgICAgfQogICAgIHJldHVybiBmYWxzZTsKIH0KLSNlbmRpZgotICAgIAot
aW5saW5lIGJvb2wgbWF0Y2hlc0xhbmdQc2V1ZG9DbGFzc0RlcHJlY2F0ZWQoY29uc3QgRWxlbWVu
dCogZWxlbWVudCwgQXRvbWljU3RyaW5nSW1wbCogZmlsdGVyKQotewotICAgIEF0b21pY1N0cmlu
ZyB2YWx1ZTsKLSNpZiBFTkFCTEUoVklERU9fVFJBQ0spCi0gICAgaWYgKGlzPFdlYlZUVEVsZW1l
bnQ+KCplbGVtZW50KSkKLSAgICAgICAgdmFsdWUgPSBkb3duY2FzdDxXZWJWVFRFbGVtZW50Pigq
ZWxlbWVudCkubGFuZ3VhZ2UoKTsKLSAgICBlbHNlCi0jZW5kaWYKLSAgICAgICAgdmFsdWUgPSBl
bGVtZW50LT5jb21wdXRlSW5oZXJpdGVkTGFuZ3VhZ2UoKTsKLQotICAgIGlmICh2YWx1ZS5pc051
bGwoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgaWYgKHZhbHVlLmltcGwoKSA9PSBm
aWx0ZXIpCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgaWYgKHZhbHVlLmltcGwoKS0+c3Rh
cnRzV2l0aChmaWx0ZXIsIGZhbHNlKSkgewotICAgICAgICBpZiAodmFsdWUubGVuZ3RoKCkgPT0g
ZmlsdGVyLT5sZW5ndGgoKSkKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICByZXR1
cm4gdmFsdWVbZmlsdGVyLT5sZW5ndGgoKV0gPT0gJy0nOwotICAgIH0KLSAgICByZXR1cm4gZmFs
c2U7Ci19CiAKIEFMV0FZU19JTkxJTkUgYm9vbCBtYXRjaGVzUmVhZE9ubHlQc2V1ZG9DbGFzcyhj
b25zdCBFbGVtZW50KiBlbGVtZW50KQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
aml0L1NlbGVjdG9yQ29tcGlsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3Nzaml0L1NlbGVjdG9y
Q29tcGlsZXIuY3BwCmluZGV4IDRmMzlkZGQ5YWNjN2U1NDkyYTg1ZGRjZWJkNmFiZmQ3NjRlZjA5
MjEuLjExZjNmMmJkYTdjNzYzYTFkZmY0Njg1YmZjZWEzZGM5YWVlMjFmMWYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzc2ppdC9TZWxlY3RvckNvbXBpbGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3NqaXQvU2VsZWN0b3JDb21waWxlci5jcHAKQEAgLTE5NCwxMSArMTk0LDcgQEAg
c3RydWN0IFNlbGVjdG9yRnJhZ21lbnQgewogICAgIC8vIHRoZSBtaW4vbWF4L2F2ZXJhZ2Ugb2Yg
dGhlIHZlY3RvcnMgYW5kIHBpY2sgYmV0dGVyIGlubGluZSBjYXBhY2l0eS4KICAgICBjb25zdCBD
U1NTZWxlY3RvciogdGFnTmFtZVNlbGVjdG9yID0gbnVsbHB0cjsKICAgICBjb25zdCBBdG9taWNT
dHJpbmcqIGlkID0gbnVsbHB0cjsKLSNpZiBFTkFCTEUoQ1NTX1NFTEVDVE9SU19MRVZFTDQpCiAg
ICAgVmVjdG9yPGNvbnN0IFZlY3RvcjxBdG9taWNTdHJpbmc+Kj4gbGFuZ3VhZ2VBcmd1bWVudHNM
aXN0OwotI2Vsc2UKLSAgICBjb25zdCBBdG9taWNTdHJpbmcqIGxhbmdGaWx0ZXIgPSBudWxscHRy
OwotI2VuZGlmCiAgICAgVmVjdG9yPGNvbnN0IEF0b21pY1N0cmluZ0ltcGwqLCA4PiBjbGFzc05h
bWVzOwogICAgIEhhc2hTZXQ8dW5zaWduZWQ+IHBzZXVkb0NsYXNzZXM7CiAgICAgVmVjdG9yPEpT
Qzo6RnVuY3Rpb25QdHIsIDQ+IHVub3B0aW1pemVkUHNldWRvQ2xhc3NlczsKQEAgLTI5OCwxMiAr
Mjk0LDggQEAgcHJpdmF0ZToKICAgICB2b2lkIGdlbmVyYXRlRWxlbWVudElzRW1wdHkoQXNzZW1i
bGVyOjpKdW1wTGlzdCYgZmFpbHVyZUNhc2VzLCBjb25zdCBTZWxlY3RvckZyYWdtZW50Jik7CiAg
ICAgdm9pZCBnZW5lcmF0ZUVsZW1lbnRJc0ZpcnN0Q2hpbGQoQXNzZW1ibGVyOjpKdW1wTGlzdCYg
ZmFpbHVyZUNhc2VzLCBjb25zdCBTZWxlY3RvckZyYWdtZW50Jik7CiAgICAgdm9pZCBnZW5lcmF0
ZUVsZW1lbnRJc0hvdmVyZWQoQXNzZW1ibGVyOjpKdW1wTGlzdCYgZmFpbHVyZUNhc2VzLCBjb25z
dCBTZWxlY3RvckZyYWdtZW50Jik7Ci0jaWYgRU5BQkxFKENTU19TRUxFQ1RPUlNfTEVWRUw0KQog
ICAgIHZvaWQgZ2VuZXJhdGVFbGVtZW50SXNJbkxhbmd1YWdlKEFzc2VtYmxlcjo6SnVtcExpc3Qm
IGZhaWx1cmVDYXNlcywgY29uc3QgU2VsZWN0b3JGcmFnbWVudCYpOwogICAgIHZvaWQgZ2VuZXJh
dGVFbGVtZW50SXNJbkxhbmd1YWdlKEFzc2VtYmxlcjo6SnVtcExpc3QmIGZhaWx1cmVDYXNlcywg
Y29uc3QgVmVjdG9yPEF0b21pY1N0cmluZz4qKTsKLSNlbHNlCi0gICAgdm9pZCBnZW5lcmF0ZUVs
ZW1lbnRJc0luTGFuZ3VhZ2UoQXNzZW1ibGVyOjpKdW1wTGlzdCYgZmFpbHVyZUNhc2VzLCBjb25z
dCBBdG9taWNTdHJpbmcmKTsKLSNlbmRpZgogICAgIHZvaWQgZ2VuZXJhdGVFbGVtZW50SXNMYXN0
Q2hpbGQoQXNzZW1ibGVyOjpKdW1wTGlzdCYgZmFpbHVyZUNhc2VzLCBjb25zdCBTZWxlY3RvckZy
YWdtZW50Jik7CiAgICAgdm9pZCBnZW5lcmF0ZUVsZW1lbnRJc09ubHlDaGlsZChBc3NlbWJsZXI6
Okp1bXBMaXN0JiBmYWlsdXJlQ2FzZXMsIGNvbnN0IFNlbGVjdG9yRnJhZ21lbnQmKTsKICAgICB2
b2lkIGdlbmVyYXRlRWxlbWVudEhhc1BsYWNlaG9sZGVyU2hvd24oQXNzZW1ibGVyOjpKdW1wTGlz
dCYgZmFpbHVyZUNhc2VzLCBjb25zdCBTZWxlY3RvckZyYWdtZW50Jik7CkBAIC03ODksMzAgKzc4
MSwxMCBAQCBzdGF0aWMgaW5saW5lIEZ1bmN0aW9uVHlwZSBhZGRQc2V1ZG9DbGFzc1R5cGUoY29u
c3QgQ1NTU2VsZWN0b3ImIHNlbGVjdG9yLCBTZWxlYwogCiAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6
UHNldWRvQ2xhc3NMYW5nOgogICAgICAgICB7Ci0jaWYgRU5BQkxFKENTU19TRUxFQ1RPUlNfTEVW
RUw0KQogICAgICAgICAgICAgY29uc3QgVmVjdG9yPEF0b21pY1N0cmluZz4qIHNlbGVjdG9yTGFu
Z0FyZ3VtZW50TGlzdCA9IHNlbGVjdG9yLmxhbmdBcmd1bWVudExpc3QoKTsKICAgICAgICAgICAg
IEFTU0VSVChzZWxlY3RvckxhbmdBcmd1bWVudExpc3QgJiYgIXNlbGVjdG9yTGFuZ0FyZ3VtZW50
TGlzdC0+aXNFbXB0eSgpKTsKICAgICAgICAgICAgIGZyYWdtZW50Lmxhbmd1YWdlQXJndW1lbnRz
TGlzdC5hcHBlbmQoc2VsZWN0b3JMYW5nQXJndW1lbnRMaXN0KTsKICAgICAgICAgICAgIHJldHVy
biBGdW5jdGlvblR5cGU6OlNpbXBsZVNlbGVjdG9yQ2hlY2tlcjsKLSNlbHNlCi0gICAgICAgICAg
ICBjb25zdCBBdG9taWNTdHJpbmcmIGFyZ3VtZW50ID0gc2VsZWN0b3IuYXJndW1lbnQoKTsKLQot
ICAgICAgICAgICAgaWYgKGFyZ3VtZW50LmlzRW1wdHkoKSkKLSAgICAgICAgICAgICAgICByZXR1
cm4gRnVuY3Rpb25UeXBlOjpDYW5ub3RNYXRjaEFueXRoaW5nOwotCi0gICAgICAgICAgICBpZiAo
IWZyYWdtZW50LmxhbmdGaWx0ZXIpCi0gICAgICAgICAgICAgICAgZnJhZ21lbnQubGFuZ0ZpbHRl
ciA9ICZhcmd1bWVudDsKLSAgICAgICAgICAgIGVsc2UgaWYgKCpmcmFnbWVudC5sYW5nRmlsdGVy
ICE9IGFyZ3VtZW50KSB7Ci0gICAgICAgICAgICAgICAgLy8gSWYgdGhlcmUgYXJlIG11bHRpcGxl
IGRlZmluaXRpb24sIHdlIG9ubHkgY2FyZSBhYm91dCB0aGUgbW9zdCByZXN0cmljdGl2ZSBvbmUu
Ci0gICAgICAgICAgICAgICAgaWYgKGFyZ3VtZW50LnN0YXJ0c1dpdGgoKmZyYWdtZW50LmxhbmdG
aWx0ZXIsIGZhbHNlKSkKLSAgICAgICAgICAgICAgICAgICAgZnJhZ21lbnQubGFuZ0ZpbHRlciA9
ICZhcmd1bWVudDsKLSAgICAgICAgICAgICAgICBlbHNlIGlmIChmcmFnbWVudC5sYW5nRmlsdGVy
LT5zdGFydHNXaXRoKGFyZ3VtZW50LCBmYWxzZSkpCi0gICAgICAgICAgICAgICAgICAgIHsgfSAv
LyBUaGUgZXhpc3RpbmcgZmlsdGVyIGlzIG1vcmUgcmVzdHJpY3RpdmUuCi0gICAgICAgICAgICAg
ICAgZWxzZQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gRnVuY3Rpb25UeXBlOjpDYW5ub3RN
YXRjaEFueXRoaW5nOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgcmV0dXJuIEZ1bmN0aW9u
VHlwZTo6U2ltcGxlU2VsZWN0b3JDaGVja2VyOwotI2VuZGlmCiAgICAgICAgIH0KIAogICAgIGNh
c2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzTWF0Y2hlczoKQEAgLTI1NzcsMTMgKzI1NDksOCBA
QCB2b2lkIFNlbGVjdG9yQ29kZUdlbmVyYXRvcjo6Z2VuZXJhdGVFbGVtZW50TWF0Y2hpbmcoQXNz
ZW1ibGVyOjpKdW1wTGlzdCYgbWF0Y2hpbgogICAgICAgICBnZW5lcmF0ZUVsZW1lbnRNYXRjaGVz
QW55UHNldWRvQ2xhc3MobWF0Y2hpbmdQb3N0VGFnTmFtZUZhaWx1cmVDYXNlcywgZnJhZ21lbnQp
OwogICAgIGlmICghZnJhZ21lbnQubWF0Y2hlc0ZpbHRlcnMuaXNFbXB0eSgpKQogICAgICAgICBn
ZW5lcmF0ZUVsZW1lbnRNYXRjaGVzTWF0Y2hlc1BzZXVkb0NsYXNzKG1hdGNoaW5nUG9zdFRhZ05h
bWVGYWlsdXJlQ2FzZXMsIGZyYWdtZW50KTsKLSNpZiBFTkFCTEUoQ1NTX1NFTEVDVE9SU19MRVZF
TDQpCiAgICAgaWYgKCFmcmFnbWVudC5sYW5ndWFnZUFyZ3VtZW50c0xpc3QuaXNFbXB0eSgpKQog
ICAgICAgICBnZW5lcmF0ZUVsZW1lbnRJc0luTGFuZ3VhZ2UobWF0Y2hpbmdQb3N0VGFnTmFtZUZh
aWx1cmVDYXNlcywgZnJhZ21lbnQpOwotI2Vsc2UKLSAgICBpZiAoZnJhZ21lbnQubGFuZ0ZpbHRl
cikKLSAgICAgICAgZ2VuZXJhdGVFbGVtZW50SXNJbkxhbmd1YWdlKG1hdGNoaW5nUG9zdFRhZ05h
bWVGYWlsdXJlQ2FzZXMsICpmcmFnbWVudC5sYW5nRmlsdGVyKTsKLSNlbmRpZgogICAgIGlmICgh
ZnJhZ21lbnQubnRoQ2hpbGRPZkZpbHRlcnMuaXNFbXB0eSgpKQogICAgICAgICBnZW5lcmF0ZUVs
ZW1lbnRJc050aENoaWxkT2YobWF0Y2hpbmdQb3N0VGFnTmFtZUZhaWx1cmVDYXNlcywgZnJhZ21l
bnQpOwogICAgIGlmICghZnJhZ21lbnQubnRoTGFzdENoaWxkT2ZGaWx0ZXJzLmlzRW1wdHkoKSkK
QEAgLTMyOTEsNyArMzI1OCw3IEBAIHZvaWQgU2VsZWN0b3JDb2RlR2VuZXJhdG9yOjpnZW5lcmF0
ZUVsZW1lbnRJc0hvdmVyZWQoQXNzZW1ibGVyOjpKdW1wTGlzdCYgZmFpbHVyCiAgICAgICAgIGZh
aWx1cmVDYXNlcy5hcHBlbmQoZnVuY3Rpb25DYWxsLmNhbGxBbmRCcmFuY2hPbkJvb2xlYW5SZXR1
cm5WYWx1ZShBc3NlbWJsZXI6Olplcm8pKTsKICAgICB9CiB9Ci0jaWYgRU5BQkxFKENTU19TRUxF
Q1RPUlNfTEVWRUw0KQorCiB2b2lkIFNlbGVjdG9yQ29kZUdlbmVyYXRvcjo6Z2VuZXJhdGVFbGVt
ZW50SXNJbkxhbmd1YWdlKEFzc2VtYmxlcjo6SnVtcExpc3QmIGZhaWx1cmVDYXNlcywgY29uc3Qg
U2VsZWN0b3JGcmFnbWVudCYgZnJhZ21lbnQpCiB7CiAgICAgZm9yIChjb25zdCBWZWN0b3I8QXRv
bWljU3RyaW5nPiogbGFuZ3VhZ2VBcmd1bWVudHMgOiBmcmFnbWVudC5sYW5ndWFnZUFyZ3VtZW50
c0xpc3QpCkBAIC0zMzA5LDE5ICszMjc2LDcgQEAgdm9pZCBTZWxlY3RvckNvZGVHZW5lcmF0b3I6
OmdlbmVyYXRlRWxlbWVudElzSW5MYW5ndWFnZShBc3NlbWJsZXI6Okp1bXBMaXN0JiBmYWkKICAg
ICBmdW5jdGlvbkNhbGwuc2V0VHdvQXJndW1lbnRzKGVsZW1lbnRBZGRyZXNzLCBsYW5nUmFuZ2VS
ZWdpc3Rlcik7CiAgICAgZmFpbHVyZUNhc2VzLmFwcGVuZChmdW5jdGlvbkNhbGwuY2FsbEFuZEJy
YW5jaE9uQm9vbGVhblJldHVyblZhbHVlKEFzc2VtYmxlcjo6WmVybykpOwogfQotI2Vsc2UKLXZv
aWQgU2VsZWN0b3JDb2RlR2VuZXJhdG9yOjpnZW5lcmF0ZUVsZW1lbnRJc0luTGFuZ3VhZ2UoQXNz
ZW1ibGVyOjpKdW1wTGlzdCYgZmFpbHVyZUNhc2VzLCBjb25zdCBBdG9taWNTdHJpbmcmIGxhbmdG
aWx0ZXIpCi17Ci0gICAgTG9jYWxSZWdpc3RlcldpdGhQcmVmZXJlbmNlIGxhbmdGaWx0ZXJSZWdp
c3RlcihtX3JlZ2lzdGVyQWxsb2NhdG9yLCBKU0M6OkdQUkluZm86OmFyZ3VtZW50R1BSMSk7Ci0g
ICAgbV9hc3NlbWJsZXIubW92ZShBc3NlbWJsZXI6OlRydXN0ZWRJbW1QdHIobGFuZ0ZpbHRlci5p
bXBsKCkpLCBsYW5nRmlsdGVyUmVnaXN0ZXIpOwogCi0gICAgQXNzZW1ibGVyOjpSZWdpc3RlcklE
IGVsZW1lbnRBZGRyZXNzID0gZWxlbWVudEFkZHJlc3NSZWdpc3RlcjsKLSAgICBGdW5jdGlvbkNh
bGwgZnVuY3Rpb25DYWxsKG1fYXNzZW1ibGVyLCBtX3JlZ2lzdGVyQWxsb2NhdG9yLCBtX3N0YWNr
QWxsb2NhdG9yLCBtX2Z1bmN0aW9uQ2FsbHMpOwotICAgIGZ1bmN0aW9uQ2FsbC5zZXRGdW5jdGlv
bkFkZHJlc3MobWF0Y2hlc0xhbmdQc2V1ZG9DbGFzc0RlcHJlY2F0ZWQpOwotICAgIGZ1bmN0aW9u
Q2FsbC5zZXRUd29Bcmd1bWVudHMoZWxlbWVudEFkZHJlc3MsIGxhbmdGaWx0ZXJSZWdpc3Rlcik7
Ci0gICAgZmFpbHVyZUNhc2VzLmFwcGVuZChmdW5jdGlvbkNhbGwuY2FsbEFuZEJyYW5jaE9uQm9v
bGVhblJldHVyblZhbHVlKEFzc2VtYmxlcjo6WmVybykpOwotfQotI2VuZGlmCiBzdGF0aWMgdm9p
ZCBzZXRMYXN0Q2hpbGRTdGF0ZShFbGVtZW50KiBlbGVtZW50KQogewogICAgIGlmIChSZW5kZXJT
dHlsZSogc3R5bGUgPSBlbGVtZW50LT5yZW5kZXJTdHlsZSgpKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>248109</attachid>
            <date>2015-03-06 16:15:40 -0800</date>
            <delta_ts>2015-03-06 17:53:24 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-142302-20150307071517.patch</filename>
            <type>text/plain</type>
            <size>19830</size>
            <attacher name="Dhi Aurrahman">diorahman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgxMTkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTg3NDU3YzBjNmVmYTZh
N2Y5MzY2NDQzYjBkYmE4NWY0MjZmZTVlYS4uYjU2ZGQ5ZWY5ZDVlYTI1NDgzNjhhY2QyMTYyZmVh
ZDE3NTM1YzJjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE1LTAzLTA2ICBEaGkg
QXVycmFobWFuICA8ZGlvcmFobWFuQHJvY2t5YmFycy5jb20+CisKKyAgICAgICAgRW5hYmxlIHNl
bGVjdG9ycyBsZXZlbCA0J3MgOmxhbmcoKSBieSBkZWZhdWx0CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDIzMDIKKworICAgICAgICBSZXZpZXdlZCBi
eSBCZW5qYW1pbiBQb3VsYWluLgorCisgICAgICAgIE5vIGJlaGF2aW9yIGNoYW5nZS4KKworICAg
ICAgICAqIGNzcy9DU1NHcmFtbWFyLnkuaW46CisgICAgICAgICogY3NzL0NTU1BhcnNlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OmRldGVjdEZ1bmN0aW9uVHlwZVRva2VuKToK
KyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyVmFsdWVzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNT
U1BhcnNlclNlbGVjdG9yOjpzZXRMYW5nQXJndW1lbnRMaXN0KToKKyAgICAgICAgKiBjc3MvQ1NT
UGFyc2VyVmFsdWVzLmg6CisgICAgICAgICogY3NzL0NTU1NlbGVjdG9yLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OmFwcGVuZExhbmdBcmd1bWVudExpc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
U2VsZWN0b3I6OnNlbGVjdG9yVGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NTZWxlY3Rvcjo6
c2V0TGFuZ0FyZ3VtZW50TGlzdCk6CisgICAgICAgICogY3NzL0NTU1NlbGVjdG9yLmg6CisgICAg
ICAgICogY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3Rv
ckNoZWNrZXI6OmNoZWNrT25lKToKKyAgICAgICAgKiBjc3MvU2VsZWN0b3JDaGVja2VyVGVzdEZ1
bmN0aW9ucy5oOgorICAgICAgICAoV2ViQ29yZTo6bWF0Y2hlc0xhbmdQc2V1ZG9DbGFzcyk6Cisg
ICAgICAgIChXZWJDb3JlOjptYXRjaGVzTGFuZ1BzZXVkb0NsYXNzRGVwcmVjYXRlZCk6IERlbGV0
ZWQuCisgICAgICAgICogY3Nzaml0L1NlbGVjdG9yQ29tcGlsZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U2VsZWN0b3JDb21waWxlcjo6YWRkUHNldWRvQ2xhc3NUeXBlKToKKyAgICAgICAgKFdl
YkNvcmU6OlNlbGVjdG9yQ29tcGlsZXI6OlNlbGVjdG9yQ29kZUdlbmVyYXRvcjo6Z2VuZXJhdGVF
bGVtZW50TWF0Y2hpbmcpOgorICAgICAgICAoV2ViQ29yZTo6U2VsZWN0b3JDb21waWxlcjo6U2Vs
ZWN0b3JDb2RlR2VuZXJhdG9yOjpnZW5lcmF0ZUVsZW1lbnRJc0luTGFuZ3VhZ2UpOgorCiAyMDE1
LTAzLTA2ICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KIAogICAgICAgICBTdXBwb3J0
ICJwbHVzLWxpZ2h0ZXIiIGluIG1peC1ibGVuZCBtb2RlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTR3JhbW1hci55LmluIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYW1tYXIu
eS5pbgppbmRleCAxOTE4ZmM5OTg1YjE0YjZkODkxN2I2ZDYyYzY2Nzk4ZGEwMmQwMjJlLi5lNWJm
ZDIxMzI1ZGRjYmRiY2I2Zjk2ODdiNjE5NDZlYjg1ZWZkNjMxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTR3JhbW1hci55LmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NH
cmFtbWFyLnkuaW4KQEAgLTYyLDkgKzYyLDkgQEAgc3RhdGljIGlubGluZSBib29sIGlzQ1NTVG9r
ZW5BU3RyaW5nKGludCB5eXR5cGUpCiAgICAgY2FzZSBNSU5GVU5DVElPTjoKICAgICBjYXNlIE5U
SENISUxERlVOQ1RJT05TOgogICAgIGNhc2UgTlRIQ0hJTERTRUxFQ1RPUlNFUEFSQVRPUjoKKyAg
ICBjYXNlIExBTkdGVU5DVElPTjoKICNpZiBFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQKICAg
ICBjYXNlIERJUkZVTkNUSU9OOgotICAgIGNhc2UgTEFOR0ZVTkNUSU9OOgogICAgIGNhc2UgUk9M
RUZVTkNUSU9OOgogI2VuZGlmCiAgICAgY2FzZSBVTklDT0RFUkFOR0U6CkBAIC0yMTgsMTAgKzIx
OCwxMCBAQCBzdGF0aWMgYm9vbCBzZWxlY3Rvckxpc3REb2VzTm90TWF0Y2hBbnlQc2V1ZG9FbGVt
ZW50KGNvbnN0IFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdAogJXRva2VuIDxzdHJpbmc+IE1BWEZVTkNU
SU9OCiAldG9rZW4gPHN0cmluZz4gTUlORlVOQ1RJT04KICV0b2tlbiA8c3RyaW5nPiBOVEhDSElM
REZVTkNUSU9OUworJXRva2VuIDxzdHJpbmc+IExBTkdGVU5DVElPTgogCiAjaWYgRU5BQkxFX0NT
U19TRUxFQ1RPUlNfTEVWRUw0CiAldG9rZW4gPHN0cmluZz4gRElSRlVOQ1RJT04KLSV0b2tlbiA8
c3RyaW5nPiBMQU5HRlVOQ1RJT04KICV0b2tlbiA8c3RyaW5nPiBST0xFRlVOQ1RJT04KICNlbmRp
ZgogCkBAIC0zMjAsMTYgKzMyMCwxMSBAQCBzdGF0aWMgYm9vbCBzZWxlY3Rvckxpc3REb2VzTm90
TWF0Y2hBbnlQc2V1ZG9FbGVtZW50KGNvbnN0IFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdAogJXR5cGUg
PHZhbHVlTGlzdD4gY2FsY19mdW5jX2V4cHIgY2FsY19mdW5jX2V4cHJfbGlzdCBjYWxjX2Z1bmNf
cGFyZW5fZXhwciBleHByIGtleV9saXN0IG1heWJlX21lZGlhX3ZhbHVlIHZhbGlkX2NhbGNfZnVu
Y19leHByIHZhbGlkX2V4cHIKICVkZXN0cnVjdG9yIHsgZGVsZXRlICQkOyB9IGNhbGNfZnVuY19l
eHByIGNhbGNfZnVuY19leHByX2xpc3QgY2FsY19mdW5jX3BhcmVuX2V4cHIgZXhwciBrZXlfbGlz
dCBtYXliZV9tZWRpYV92YWx1ZSB2YWxpZF9jYWxjX2Z1bmNfZXhwciB2YWxpZF9leHByCiAKLSNp
ZiBFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQKLQogJXR5cGUgPHN0cmluZz4gbGFuZ19yYW5n
ZQotCiAldW5pb24geyBWZWN0b3I8Q1NTUGFyc2VyU3RyaW5nPiogc3RyaW5nTGlzdDsgfQogJXR5
cGUgPHN0cmluZ0xpc3Q+IGNvbW1hX3NlcGFyYXRlZF9sYW5nX3JhbmdlcwogJWRlc3RydWN0b3Ig
eyBkZWxldGUgJCQ7IH0gY29tbWFfc2VwYXJhdGVkX2xhbmdfcmFuZ2VzCiAKLSNlbmRpZgotCiAl
dHlwZSA8c3RyaW5nPiBtaW5fb3JfbWF4CiAKICV0eXBlIDxzdHJpbmc+IGVsZW1lbnRfbmFtZQpA
QCAtMTA4OSw3ICsxMDg0LDYgQEAgbmVzdGVkX3NlbGVjdG9yX2xpc3Q6CiAgICAgfQogICAgIDsK
IAotI2lmIEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNAogbGFuZ19yYW5nZTogSURFTlQgfCBT
VFJJTkcgOwogCiBjb21tYV9zZXBhcmF0ZWRfbGFuZ19yYW5nZXM6CkBAIC0xMTA3LDcgKzExMDEs
NiBAQCBjb21tYV9zZXBhcmF0ZWRfbGFuZ19yYW5nZXM6CiAgICAgICAgIGRlbGV0ZSAkMTsKICAg
ICB9CiAgICAgOwotI2VuZGlmCiAKIGNvbXBsZXhfc2VsZWN0b3Jfd2l0aF90cmFpbGluZ193aGl0
ZXNwYWNlOgogICAgIGNvbXBsZXhfc2VsZWN0b3IgV0hJVEVTUEFDRTsKQEAgLTEzNzksMTggKzEz
NzIsNiBAQCBwc2V1ZG86CiAgICAgICAgICAgICAgICAgJCQgPSBzZWxlY3Rvci5yZWxlYXNlKCk7
CiAgICAgICAgIH0KICAgICB9Ci0KLSNpZiBFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQKLSAg
ICB8ICc6JyBESVJGVU5DVElPTiBtYXliZV9zcGFjZSBJREVOVCBtYXliZV9zcGFjZSAnKScgewot
ICAgICAgICAkJCA9IG51bGxwdHI7Ci0gICAgICAgIGF1dG8gc2VsZWN0b3IgPSBzdGQ6Om1ha2Vf
dW5pcXVlPENTU1BhcnNlclNlbGVjdG9yPigpOwotICAgICAgICBzZWxlY3Rvci0+c2V0TWF0Y2go
Q1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzKTsKLSAgICAgICAgc2VsZWN0b3ItPnNldEFyZ3VtZW50
KCQ0KTsKLSAgICAgICAgc2VsZWN0b3ItPnNldFBzZXVkb0NsYXNzVmFsdWUoJDIpOwotICAgICAg
ICBpZiAoc2VsZWN0b3ItPnBzZXVkb0NsYXNzVHlwZSgpID09IENTU1NlbGVjdG9yOjpQc2V1ZG9D
bGFzc0RpcikKLSAgICAgICAgICAgICQkID0gc2VsZWN0b3IucmVsZWFzZSgpOwotICAgIH0KLQog
ICAgIHwgJzonIExBTkdGVU5DVElPTiBtYXliZV9zcGFjZSBjb21tYV9zZXBhcmF0ZWRfbGFuZ19y
YW5nZXMgbWF5YmVfc3BhY2UgJyknIHsKICAgICAgICAgJCQgPSBudWxscHRyOwogICAgICAgICBp
ZiAoJDQpIHsKQEAgLTE0MDMsNiArMTM4NCwxNyBAQCBwc2V1ZG86CiAgICAgICAgIH0KICAgICB9
CiAKKyNpZiBFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQKKyAgICB8ICc6JyBESVJGVU5DVElP
TiBtYXliZV9zcGFjZSBJREVOVCBtYXliZV9zcGFjZSAnKScgeworICAgICAgICAkJCA9IG51bGxw
dHI7CisgICAgICAgIGF1dG8gc2VsZWN0b3IgPSBzdGQ6Om1ha2VfdW5pcXVlPENTU1BhcnNlclNl
bGVjdG9yPigpOworICAgICAgICBzZWxlY3Rvci0+c2V0TWF0Y2goQ1NTU2VsZWN0b3I6OlBzZXVk
b0NsYXNzKTsKKyAgICAgICAgc2VsZWN0b3ItPnNldEFyZ3VtZW50KCQ0KTsKKyAgICAgICAgc2Vs
ZWN0b3ItPnNldFBzZXVkb0NsYXNzVmFsdWUoJDIpOworICAgICAgICBpZiAoc2VsZWN0b3ItPnBz
ZXVkb0NsYXNzVHlwZSgpID09IENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc0RpcikKKyAgICAgICAg
ICAgICQkID0gc2VsZWN0b3IucmVsZWFzZSgpOworICAgIH0KKwogICAgIHwgJzonIFJPTEVGVU5D
VElPTiBtYXliZV9zcGFjZSBJREVOVCBtYXliZV9zcGFjZSAnKScgewogICAgICAgICAkJCA9IG51
bGxwdHI7CiAgICAgICAgIGF1dG8gc2VsZWN0b3IgPSBzdGQ6Om1ha2VfdW5pcXVlPENTU1BhcnNl
clNlbGVjdG9yPigpOwpAQCAtMTg5MSw5ICsxODgzLDkgQEAgaW52YWxpZF9zcXVhcmVfYnJhY2tl
dHNfYmxvY2s6ICdbJyBlcnJvcl9yZWNvdmVyeSAnXScgfCAnWycgZXJyb3JfcmVjb3ZlcnkgVE9L
RU4KIGludmFsaWRfcGFyZW50aGVzZXNfYmxvY2s6IG9wZW5pbmdfcGFyZW50aGVzaXMgZXJyb3Jf
cmVjb3ZlcnkgY2xvc2luZ19wYXJlbnRoZXNpczsKIAogb3BlbmluZ19wYXJlbnRoZXNpczoKLSAg
ICAnKCcgfCBGVU5DVElPTiB8IENBTENGVU5DVElPTiB8IE1BVENIRVNGVU5DVElPTiB8IE1BWEZV
TkNUSU9OIHwgTUlORlVOQ1RJT04gfCBBTllGVU5DVElPTiB8IE5PVEZVTkNUSU9OCisgICAgJygn
IHwgRlVOQ1RJT04gfCBDQUxDRlVOQ1RJT04gfCBNQVRDSEVTRlVOQ1RJT04gfCBNQVhGVU5DVElP
TiB8IE1JTkZVTkNUSU9OIHwgQU5ZRlVOQ1RJT04gfCBOT1RGVU5DVElPTiB8IExBTkdGVU5DVElP
TgogI2lmIEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNAotICAgIHwgRElSRlVOQ1RJT04gfCBM
QU5HRlVOQ1RJT04gfCBST0xFRlVOQ1RJT04KKyAgICB8IERJUkZVTkNUSU9OIHwgUk9MRUZVTkNU
SU9OCiAjZW5kaWYKICNpZiBFTkFCTEVfVklERU9fVFJBQ0sKICAgICB8IENVRUZVTkNUSU9OCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQYXJzZXIuY3BwCmluZGV4IDM4MGFlYWVmYjg5N2RhN2E1ZGY2MTUyODJiODA1
NDBiMzRmOTVjMjEuLmNiMDZkZDA3MWRkNTQ0YzlkNDZjY2YzOGE3MGQyNDU3ODk5ODYzZTYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCkBAIC0xMDg3MiwxMSArMTA4NzIsMTEgQEAgaW5saW5l
IGJvb2wgQ1NTUGFyc2VyOjpkZXRlY3RGdW5jdGlvblR5cGVUb2tlbihpbnQgbGVuZ3RoKQogICAg
ICAgICAgICAgbV90b2tlbiA9IENBTENGVU5DVElPTjsKICAgICAgICAgICAgIHJldHVybiB0cnVl
OwogICAgICAgICB9Ci0jaWYgRU5BQkxFKENTU19TRUxFQ1RPUlNfTEVWRUw0KQogICAgICAgICBp
ZiAoaXNFcXVhbFRvQ1NTSWRlbnRpZmllcihuYW1lLCAibGFuZyIpKSB7CiAgICAgICAgICAgICBt
X3Rva2VuID0gTEFOR0ZVTkNUSU9OOwogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAg
IH0KKyNpZiBFTkFCTEUoQ1NTX1NFTEVDVE9SU19MRVZFTDQpCiAgICAgICAgIGlmIChpc0VxdWFs
VG9DU1NJZGVudGlmaWVyKG5hbWUsICJyb2xlIikpIHsKICAgICAgICAgICAgIG1fdG9rZW4gPSBS
T0xFRlVOQ1RJT047CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJWYWx1ZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1BhcnNlclZhbHVlcy5jcHAKaW5kZXggZDdhMWIzMGMyYzcwNTgwN2QxNDAxMzA3YTkxOTExM2Jh
NmUyOTUwOC4uM2IzODFjNTg4N2JjMjZjZjhmOTYwZTc2MWVjOWEzYTUwNDAwOTI3YiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5jcHAKQEAgLTI2Miw3ICsyNjIsNiBAQCB2b2lk
IENTU1BhcnNlclNlbGVjdG9yOjphZG9wdFNlbGVjdG9yVmVjdG9yKFZlY3RvcjxzdGQ6OnVuaXF1
ZV9wdHI8Q1NTUGFyc2VyU2VsZQogICAgIG1fc2VsZWN0b3ItPnNldFNlbGVjdG9yTGlzdChXVEY6
Om1vdmUoc2VsZWN0b3JMaXN0KSk7CiB9CiAKLSNpZiBFTkFCTEUoQ1NTX1NFTEVDVE9SU19MRVZF
TDQpCiB2b2lkIENTU1BhcnNlclNlbGVjdG9yOjpzZXRMYW5nQXJndW1lbnRMaXN0KGNvbnN0IFZl
Y3RvcjxDU1NQYXJzZXJTdHJpbmc+JiBzdHJpbmdWZWN0b3IpCiB7CiAgICAgQVNTRVJUX1dJVEhf
TUVTU0FHRSghc3RyaW5nVmVjdG9yLmlzRW1wdHkoKSwgIk5vIENTUyBTZWxlY3RvciB0YWtlcyBh
biBlbXB0eSBhcmd1bWVudCBsaXN0LiIpOwpAQCAtMjcyLDcgKzI3MSw2IEBAIHZvaWQgQ1NTUGFy
c2VyU2VsZWN0b3I6OnNldExhbmdBcmd1bWVudExpc3QoY29uc3QgVmVjdG9yPENTU1BhcnNlclN0
cmluZz4mIHN0cmluCiAgICAgICAgIGFyZ3VtZW50TGlzdC0+YXBwZW5kKGxhbmd1YWdlQXJndW1l
bnQpOwogICAgIG1fc2VsZWN0b3ItPnNldExhbmdBcmd1bWVudExpc3QoV1RGOjptb3ZlKGFyZ3Vt
ZW50TGlzdCkpOwogfQotI2VuZGlmCiAKIHZvaWQgQ1NTUGFyc2VyU2VsZWN0b3I6OnNldFBzZXVk
b0NsYXNzVmFsdWUoY29uc3QgQ1NTUGFyc2VyU3RyaW5nJiBwc2V1ZG9DbGFzc1N0cmluZykKIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJWYWx1ZXMuaCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJWYWx1ZXMuaAppbmRleCAyM2JjZTBlMDE5YjFhMzNmMDRm
ZDE5ZjZlNTYzNWQ5NWJjNWEwZDY0Li5jMTAyMzA4MDE0NWIwY2M0NTE4MjJjMTFlZTdlZjU2OGEz
ZDhhZDVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5oCkBAIC0yMDksOSArMjA5
LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0Rm9yUGFnZSgpIHsgbV9zZWxlY3Rvci0+c2V0Rm9y
UGFnZSgpOyB9CiAKICAgICB2b2lkIGFkb3B0U2VsZWN0b3JWZWN0b3IoVmVjdG9yPHN0ZDo6dW5p
cXVlX3B0cjxDU1NQYXJzZXJTZWxlY3Rvcj4+JiBzZWxlY3RvclZlY3Rvcik7Ci0jaWYgRU5BQkxF
KENTU19TRUxFQ1RPUlNfTEVWRUw0KQogICAgIHZvaWQgc2V0TGFuZ0FyZ3VtZW50TGlzdChjb25z
dCBWZWN0b3I8Q1NTUGFyc2VyU3RyaW5nPiYgc3RyaW5nVmVjdG9yKTsKLSNlbmRpZgogCiAgICAg
dm9pZCBzZXRQc2V1ZG9DbGFzc1ZhbHVlKGNvbnN0IENTU1BhcnNlclN0cmluZyYgcHNldWRvQ2xh
c3NTdHJpbmcpOwogICAgIENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc1R5cGUgcHNldWRvQ2xhc3NU
eXBlKCkgY29uc3QgeyByZXR1cm4gbV9zZWxlY3Rvci0+cHNldWRvQ2xhc3NUeXBlKCk7IH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwCmluZGV4IDQ3ZWEwNzFiNDY1MWUxNDAzNTU0MTFlNDgx
MzEzZTMwNmZlMDEwODkuLmMwYTVmMjdkMzk3Y2I5YjZhYWJmNzc5MDk4ODJmZjUxMjkzM2Q1ZGIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcApAQCAtMzcyLDcgKzM3Miw2IEBAIHN0YXRp
YyB2b2lkIGFwcGVuZFBzZXVkb0NsYXNzRnVuY3Rpb25UYWlsKFN0cmluZ0J1aWxkZXImIHN0ciwg
Y29uc3QgQ1NTU2VsZWN0b3IqCiAKIH0KIAotI2lmIEVOQUJMRShDU1NfU0VMRUNUT1JTX0xFVkVM
NCkKIHN0YXRpYyB2b2lkIGFwcGVuZExhbmdBcmd1bWVudExpc3QoU3RyaW5nQnVpbGRlciYgc3Ry
LCBjb25zdCBWZWN0b3I8QXRvbWljU3RyaW5nPiYgYXJndW1lbnRMaXN0KQogewogICAgIHVuc2ln
bmVkIGFyZ3VtZW50TGlzdFNpemUgPSBhcmd1bWVudExpc3Quc2l6ZSgpOwpAQCAtMzg0LDcgKzM4
Myw2IEBAIHN0YXRpYyB2b2lkIGFwcGVuZExhbmdBcmd1bWVudExpc3QoU3RyaW5nQnVpbGRlciYg
c3RyLCBjb25zdCBWZWN0b3I8QXRvbWljU3RyaW5nCiAgICAgICAgICAgICBzdHIuYXBwZW5kTGl0
ZXJhbCgiLCAiKTsKICAgICB9CiB9Ci0jZW5kaWYKIAogU3RyaW5nIENTU1NlbGVjdG9yOjpzZWxl
Y3RvclRleHQoY29uc3QgU3RyaW5nJiByaWdodFNpZGUpIGNvbnN0CiB7CkBAIC01MTksMTMgKzUx
Nyw5IEBAIFN0cmluZyBDU1NTZWxlY3Rvcjo6c2VsZWN0b3JUZXh0KGNvbnN0IFN0cmluZyYgcmln
aHRTaWRlKSBjb25zdAogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSBD
U1NTZWxlY3Rvcjo6UHNldWRvQ2xhc3NMYW5nOgogICAgICAgICAgICAgICAgIHN0ci5hcHBlbmRM
aXRlcmFsKCI6bGFuZygiKTsKLSNpZiBFTkFCTEUoQ1NTX1NFTEVDVE9SU19MRVZFTDQpCiAgICAg
ICAgICAgICAgICAgQVNTRVJUX1dJVEhfTUVTU0FHRShjcy0+bGFuZ0FyZ3VtZW50TGlzdCgpICYm
ICFjcy0+bGFuZ0FyZ3VtZW50TGlzdCgpLT5pc0VtcHR5KCksICJBbiBlbXB0eSA6bGFuZygpIGlz
IGludmFsaWQgYW5kIHNob3VsZCBuZXZlciBiZSBnZW5lcmF0ZWQgYnkgdGhlIHBhcnNlci4iKTsK
ICAgICAgICAgICAgICAgICBhcHBlbmRMYW5nQXJndW1lbnRMaXN0KHN0ciwgKmNzLT5sYW5nQXJn
dW1lbnRMaXN0KCkpOwogICAgICAgICAgICAgICAgIHN0ci5hcHBlbmQoJyknKTsKLSNlbHNlCi0g
ICAgICAgICAgICAgICAgYXBwZW5kUHNldWRvQ2xhc3NGdW5jdGlvblRhaWwoc3RyLCBjcyk7Ci0j
ZW5kaWYKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGNhc2UgQ1NTU2VsZWN0
b3I6OlBzZXVkb0NsYXNzTGFzdENoaWxkOgogICAgICAgICAgICAgICAgIHN0ci5hcHBlbmRMaXRl
cmFsKCI6bGFzdC1jaGlsZCIpOwpAQCAtNzQxLDEzICs3MzUsMTEgQEAgdm9pZCBDU1NTZWxlY3Rv
cjo6c2V0QXJndW1lbnQoY29uc3QgQXRvbWljU3RyaW5nJiB2YWx1ZSkKICAgICBtX2RhdGEubV9y
YXJlRGF0YS0+bV9hcmd1bWVudCA9IHZhbHVlOwogfQogCi0jaWYgRU5BQkxFKENTU19TRUxFQ1RP
UlNfTEVWRUw0KQogdm9pZCBDU1NTZWxlY3Rvcjo6c2V0TGFuZ0FyZ3VtZW50TGlzdChzdGQ6OnVu
aXF1ZV9wdHI8VmVjdG9yPEF0b21pY1N0cmluZz4+IGFyZ3VtZW50TGlzdCkKIHsKICAgICBjcmVh
dGVSYXJlRGF0YSgpOwogICAgIG1fZGF0YS5tX3JhcmVEYXRhLT5tX2xhbmdBcmd1bWVudExpc3Qg
PSBXVEY6Om1vdmUoYXJndW1lbnRMaXN0KTsKIH0KLSNlbmRpZgogCiB2b2lkIENTU1NlbGVjdG9y
OjpzZXRTZWxlY3Rvckxpc3Qoc3RkOjp1bmlxdWVfcHRyPENTU1NlbGVjdG9yTGlzdD4gc2VsZWN0
b3JMaXN0KQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuaAppbmRleCBiZDIzMWI0ZjAyNmRjYTky
OTVmZDA3ZjFkMWExZTBkYTdjYzFhMTVhLi4xYzQ5ZGYzYWVhZTA2YTcyNWU5NTg2MjNkN2IwMzVl
OWU1MjBiNjlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuaApAQCAtMjI0LDE4ICsyMjQsMTQg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIGF0dHJp
YnV0ZUNhbm9uaWNhbExvY2FsTmFtZSgpIGNvbnN0OwogICAgICAgICBjb25zdCBBdG9taWNTdHJp
bmcmIGFyZ3VtZW50KCkgY29uc3QgeyByZXR1cm4gbV9oYXNSYXJlRGF0YSA/IG1fZGF0YS5tX3Jh
cmVEYXRhLT5tX2FyZ3VtZW50IDogbnVsbEF0b207IH0KICAgICAgICAgYm9vbCBhdHRyaWJ1dGVW
YWx1ZU1hdGNoaW5nSXNDYXNlSW5zZW5zaXRpdmUoKSBjb25zdDsKLSNpZiBFTkFCTEUoQ1NTX1NF
TEVDVE9SU19MRVZFTDQpCiAgICAgICAgIGNvbnN0IFZlY3RvcjxBdG9taWNTdHJpbmc+KiBsYW5n
QXJndW1lbnRMaXN0KCkgY29uc3QgeyByZXR1cm4gbV9oYXNSYXJlRGF0YSA/IG1fZGF0YS5tX3Jh
cmVEYXRhLT5tX2xhbmdBcmd1bWVudExpc3QuZ2V0KCkgOiBudWxscHRyOyB9Ci0jZW5kaWYKICAg
ICAgICAgY29uc3QgQ1NTU2VsZWN0b3JMaXN0KiBzZWxlY3Rvckxpc3QoKSBjb25zdCB7IHJldHVy
biBtX2hhc1JhcmVEYXRhID8gbV9kYXRhLm1fcmFyZURhdGEtPm1fc2VsZWN0b3JMaXN0LmdldCgp
IDogbnVsbHB0cjsgfQogCiAgICAgICAgIHZvaWQgc2V0VmFsdWUoY29uc3QgQXRvbWljU3RyaW5n
Jik7CiAgICAgICAgIHZvaWQgc2V0QXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBib29s
IGlzQ2FzZUluc2Vuc2l0aXZlKTsKICAgICAgICAgdm9pZCBzZXRBcmd1bWVudChjb25zdCBBdG9t
aWNTdHJpbmcmKTsKICAgICAgICAgdm9pZCBzZXRBdHRyaWJ1dGVWYWx1ZU1hdGNoaW5nSXNDYXNl
SW5zZW5zaXRpdmUoYm9vbCk7Ci0jaWYgRU5BQkxFKENTU19TRUxFQ1RPUlNfTEVWRUw0KQogICAg
ICAgICB2b2lkIHNldExhbmdBcmd1bWVudExpc3Qoc3RkOjp1bmlxdWVfcHRyPFZlY3RvcjxBdG9t
aWNTdHJpbmc+Pik7Ci0jZW5kaWYKICAgICAgICAgdm9pZCBzZXRTZWxlY3Rvckxpc3Qoc3RkOjp1
bmlxdWVfcHRyPENTU1NlbGVjdG9yTGlzdD4pOwogCiAgICAgICAgIGJvb2wgcGFyc2VOdGgoKSBj
b25zdDsKQEAgLTM0Miw5ICszMzgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAg
ICBRdWFsaWZpZWROYW1lIG1fYXR0cmlidXRlOyAvLyB1c2VkIGZvciBhdHRyaWJ1dGUgc2VsZWN0
b3IKICAgICAgICAgICAgIEF0b21pY1N0cmluZyBtX2F0dHJpYnV0ZUNhbm9uaWNhbExvY2FsTmFt
ZTsKICAgICAgICAgICAgIEF0b21pY1N0cmluZyBtX2FyZ3VtZW50OyAvLyBVc2VkIGZvciA6Y29u
dGFpbnMgYW5kIDpudGgtKgotI2lmIEVOQUJMRShDU1NfU0VMRUNUT1JTX0xFVkVMNCkKLSAgICAg
ICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxWZWN0b3I8QXRvbWljU3RyaW5nPj4gbV9sYW5nQXJndW1l
bnRMaXN0OwotI2VuZGlmCisgICAgICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8VmVjdG9yPEF0b21p
Y1N0cmluZz4+IG1fbGFuZ0FyZ3VtZW50TGlzdDsgLy8gVXNlZCBmb3IgOmxhbmcgYXJndW1lbnRz
LgogICAgICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPENTU1NlbGVjdG9yTGlzdD4gbV9zZWxlY3Rv
ckxpc3Q7IC8vIFVzZWQgZm9yIDotd2Via2l0LWFueSBhbmQgOm5vdAogICAgICAgICAKICAgICAg
ICAgcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNr
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHAKaW5kZXggMjA4
OTRhNTc5MDM3ODIyYWVhMGFlZTRkZjI5MmU5YWIwNWE2MDFjZC4uYTNlZjUxOWEwNjQxOWFjZGM3
MzkwZGViMGE0OGJkNjNhOTdhMGNlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1Nl
bGVjdG9yQ2hlY2tlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tl
ci5jcHAKQEAgLTk1MywxNSArOTUzLDggQEAgYm9vbCBTZWxlY3RvckNoZWNrZXI6OmNoZWNrT25l
KGNvbnN0IENoZWNraW5nQ29udGV4dFdpdGhTdGF0dXMmIGNvbnRleHQsIFBzZXVkb0kKICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc0xhbmc6
CiAgICAgICAgICAgICB7Ci0jaWYgRU5BQkxFKENTU19TRUxFQ1RPUlNfTEVWRUw0KQogICAgICAg
ICAgICAgICAgIEFTU0VSVChzZWxlY3Rvci0+bGFuZ0FyZ3VtZW50TGlzdCgpICYmICFzZWxlY3Rv
ci0+bGFuZ0FyZ3VtZW50TGlzdCgpLT5pc0VtcHR5KCkpOwogICAgICAgICAgICAgICAgIHJldHVy
biBtYXRjaGVzTGFuZ1BzZXVkb0NsYXNzKGVsZW1lbnQsICpzZWxlY3Rvci0+bGFuZ0FyZ3VtZW50
TGlzdCgpKTsKLSNlbHNlCi0gICAgICAgICAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBhcmd1
bWVudCA9IHNlbGVjdG9yLT5hcmd1bWVudCgpOyAgICAgIAotICAgICAgICAgICAgICAgIGlmIChh
cmd1bWVudC5pc051bGwoKSkKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAg
ICAgICAgICAgICAgIHJldHVybiBtYXRjaGVzTGFuZ1BzZXVkb0NsYXNzRGVwcmVjYXRlZChlbGVt
ZW50LCBhcmd1bWVudC5pbXBsKCkpOwotI2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAK
ICAgICAgICAgICAgIH0KICNpZiBFTkFCTEUoRlVMTFNDUkVFTl9BUEkpCiAgICAgICAgIGNhc2Ug
Q1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzRnVsbFNjcmVlbjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXJUZXN0RnVuY3Rpb25zLmggYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvU2VsZWN0b3JDaGVja2VyVGVzdEZ1bmN0aW9ucy5oCmluZGV4IDZkYWY3ZjU1OTQ4YWRi
NGQwNDBiNDAwNWJhMjNhNTUzMzNhMDNjM2UuLmQ1ZTA5NjUzYmM1YzNhOGZjNDVjMDI2Yjc0N2Ey
NzUyNmM4YTE3MTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNr
ZXJUZXN0RnVuY3Rpb25zLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tl
clRlc3RGdW5jdGlvbnMuaApAQCAtMTIwLDcgKzEyMCw2IEBAIEFMV0FZU19JTkxJTkUgYm9vbCBp
c1dpbmRvd0luYWN0aXZlKGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQpCiAgICAgcmV0dXJuICFlbGVt
ZW50LT5kb2N1bWVudCgpLnBhZ2UoKS0+Zm9jdXNDb250cm9sbGVyKCkuaXNBY3RpdmUoKTsKIH0K
IAotI2lmIEVOQUJMRShDU1NfU0VMRUNUT1JTX0xFVkVMNCkKIEFMV0FZU19JTkxJTkUgYm9vbCBl
cXVhbElnbm9yaW5nQVNDSUlDYXNlKGNvbnN0IFN0cmluZyYgYSwgY29uc3QgU3RyaW5nJiBiKQog
ewogICAgIGlmIChhLmxlbmd0aCgpICE9IGIubGVuZ3RoKCkpIApAQCAtMjE2LDMxICsyMTUsNiBA
QCBBTFdBWVNfSU5MSU5FIGJvb2wgbWF0Y2hlc0xhbmdQc2V1ZG9DbGFzcyhjb25zdCBFbGVtZW50
KiBlbGVtZW50LCBjb25zdCBWZWN0b3I8QQogICAgIH0KICAgICByZXR1cm4gZmFsc2U7CiB9Ci0j
ZW5kaWYKLSAgICAKLWlubGluZSBib29sIG1hdGNoZXNMYW5nUHNldWRvQ2xhc3NEZXByZWNhdGVk
KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQsIEF0b21pY1N0cmluZ0ltcGwqIGZpbHRlcikKLXsKLSAg
ICBBdG9taWNTdHJpbmcgdmFsdWU7Ci0jaWYgRU5BQkxFKFZJREVPX1RSQUNLKQotICAgIGlmIChp
czxXZWJWVFRFbGVtZW50PigqZWxlbWVudCkpCi0gICAgICAgIHZhbHVlID0gZG93bmNhc3Q8V2Vi
VlRURWxlbWVudD4oKmVsZW1lbnQpLmxhbmd1YWdlKCk7Ci0gICAgZWxzZQotI2VuZGlmCi0gICAg
ICAgIHZhbHVlID0gZWxlbWVudC0+Y29tcHV0ZUluaGVyaXRlZExhbmd1YWdlKCk7Ci0KLSAgICBp
ZiAodmFsdWUuaXNOdWxsKCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIGlmICh2YWx1
ZS5pbXBsKCkgPT0gZmlsdGVyKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIGlmICh2YWx1
ZS5pbXBsKCktPnN0YXJ0c1dpdGgoZmlsdGVyLCBmYWxzZSkpIHsKLSAgICAgICAgaWYgKHZhbHVl
Lmxlbmd0aCgpID09IGZpbHRlci0+bGVuZ3RoKCkpCi0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsK
LSAgICAgICAgcmV0dXJuIHZhbHVlW2ZpbHRlci0+bGVuZ3RoKCldID09ICctJzsKLSAgICB9Ci0g
ICAgcmV0dXJuIGZhbHNlOwotfQogCiBBTFdBWVNfSU5MSU5FIGJvb2wgbWF0Y2hlc1JlYWRPbmx5
UHNldWRvQ2xhc3MoY29uc3QgRWxlbWVudCogZWxlbWVudCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzc2ppdC9TZWxlY3RvckNvbXBpbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
c2ppdC9TZWxlY3RvckNvbXBpbGVyLmNwcAppbmRleCA0ZjM5ZGRkOWFjYzdlNTQ5MmE4NWRkY2Vi
ZDZhYmZkNzY0ZWYwOTIxLi4xMWYzZjJiZGE3Yzc2M2ExZGZmNDY4NWJmY2VhM2RjOWFlZTIxZjFm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3NqaXQvU2VsZWN0b3JDb21waWxlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvY3Nzaml0L1NlbGVjdG9yQ29tcGlsZXIuY3BwCkBAIC0xOTQs
MTEgKzE5NCw3IEBAIHN0cnVjdCBTZWxlY3RvckZyYWdtZW50IHsKICAgICAvLyB0aGUgbWluL21h
eC9hdmVyYWdlIG9mIHRoZSB2ZWN0b3JzIGFuZCBwaWNrIGJldHRlciBpbmxpbmUgY2FwYWNpdHku
CiAgICAgY29uc3QgQ1NTU2VsZWN0b3IqIHRhZ05hbWVTZWxlY3RvciA9IG51bGxwdHI7CiAgICAg
Y29uc3QgQXRvbWljU3RyaW5nKiBpZCA9IG51bGxwdHI7Ci0jaWYgRU5BQkxFKENTU19TRUxFQ1RP
UlNfTEVWRUw0KQogICAgIFZlY3Rvcjxjb25zdCBWZWN0b3I8QXRvbWljU3RyaW5nPio+IGxhbmd1
YWdlQXJndW1lbnRzTGlzdDsKLSNlbHNlCi0gICAgY29uc3QgQXRvbWljU3RyaW5nKiBsYW5nRmls
dGVyID0gbnVsbHB0cjsKLSNlbmRpZgogICAgIFZlY3Rvcjxjb25zdCBBdG9taWNTdHJpbmdJbXBs
KiwgOD4gY2xhc3NOYW1lczsKICAgICBIYXNoU2V0PHVuc2lnbmVkPiBwc2V1ZG9DbGFzc2VzOwog
ICAgIFZlY3RvcjxKU0M6OkZ1bmN0aW9uUHRyLCA0PiB1bm9wdGltaXplZFBzZXVkb0NsYXNzZXM7
CkBAIC0yOTgsMTIgKzI5NCw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBnZW5lcmF0ZUVsZW1lbnRJ
c0VtcHR5KEFzc2VtYmxlcjo6SnVtcExpc3QmIGZhaWx1cmVDYXNlcywgY29uc3QgU2VsZWN0b3JG
cmFnbWVudCYpOwogICAgIHZvaWQgZ2VuZXJhdGVFbGVtZW50SXNGaXJzdENoaWxkKEFzc2VtYmxl
cjo6SnVtcExpc3QmIGZhaWx1cmVDYXNlcywgY29uc3QgU2VsZWN0b3JGcmFnbWVudCYpOwogICAg
IHZvaWQgZ2VuZXJhdGVFbGVtZW50SXNIb3ZlcmVkKEFzc2VtYmxlcjo6SnVtcExpc3QmIGZhaWx1
cmVDYXNlcywgY29uc3QgU2VsZWN0b3JGcmFnbWVudCYpOwotI2lmIEVOQUJMRShDU1NfU0VMRUNU
T1JTX0xFVkVMNCkKICAgICB2b2lkIGdlbmVyYXRlRWxlbWVudElzSW5MYW5ndWFnZShBc3NlbWJs
ZXI6Okp1bXBMaXN0JiBmYWlsdXJlQ2FzZXMsIGNvbnN0IFNlbGVjdG9yRnJhZ21lbnQmKTsKICAg
ICB2b2lkIGdlbmVyYXRlRWxlbWVudElzSW5MYW5ndWFnZShBc3NlbWJsZXI6Okp1bXBMaXN0JiBm
YWlsdXJlQ2FzZXMsIGNvbnN0IFZlY3RvcjxBdG9taWNTdHJpbmc+Kik7Ci0jZWxzZQotICAgIHZv
aWQgZ2VuZXJhdGVFbGVtZW50SXNJbkxhbmd1YWdlKEFzc2VtYmxlcjo6SnVtcExpc3QmIGZhaWx1
cmVDYXNlcywgY29uc3QgQXRvbWljU3RyaW5nJik7Ci0jZW5kaWYKICAgICB2b2lkIGdlbmVyYXRl
RWxlbWVudElzTGFzdENoaWxkKEFzc2VtYmxlcjo6SnVtcExpc3QmIGZhaWx1cmVDYXNlcywgY29u
c3QgU2VsZWN0b3JGcmFnbWVudCYpOwogICAgIHZvaWQgZ2VuZXJhdGVFbGVtZW50SXNPbmx5Q2hp
bGQoQXNzZW1ibGVyOjpKdW1wTGlzdCYgZmFpbHVyZUNhc2VzLCBjb25zdCBTZWxlY3RvckZyYWdt
ZW50Jik7CiAgICAgdm9pZCBnZW5lcmF0ZUVsZW1lbnRIYXNQbGFjZWhvbGRlclNob3duKEFzc2Vt
Ymxlcjo6SnVtcExpc3QmIGZhaWx1cmVDYXNlcywgY29uc3QgU2VsZWN0b3JGcmFnbWVudCYpOwpA
QCAtNzg5LDMwICs3ODEsMTAgQEAgc3RhdGljIGlubGluZSBGdW5jdGlvblR5cGUgYWRkUHNldWRv
Q2xhc3NUeXBlKGNvbnN0IENTU1NlbGVjdG9yJiBzZWxlY3RvciwgU2VsZWMKIAogICAgIGNhc2Ug
Q1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzTGFuZzoKICAgICAgICAgewotI2lmIEVOQUJMRShDU1Nf
U0VMRUNUT1JTX0xFVkVMNCkKICAgICAgICAgICAgIGNvbnN0IFZlY3RvcjxBdG9taWNTdHJpbmc+
KiBzZWxlY3RvckxhbmdBcmd1bWVudExpc3QgPSBzZWxlY3Rvci5sYW5nQXJndW1lbnRMaXN0KCk7
CiAgICAgICAgICAgICBBU1NFUlQoc2VsZWN0b3JMYW5nQXJndW1lbnRMaXN0ICYmICFzZWxlY3Rv
ckxhbmdBcmd1bWVudExpc3QtPmlzRW1wdHkoKSk7CiAgICAgICAgICAgICBmcmFnbWVudC5sYW5n
dWFnZUFyZ3VtZW50c0xpc3QuYXBwZW5kKHNlbGVjdG9yTGFuZ0FyZ3VtZW50TGlzdCk7CiAgICAg
ICAgICAgICByZXR1cm4gRnVuY3Rpb25UeXBlOjpTaW1wbGVTZWxlY3RvckNoZWNrZXI7Ci0jZWxz
ZQotICAgICAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBhcmd1bWVudCA9IHNlbGVjdG9yLmFy
Z3VtZW50KCk7Ci0KLSAgICAgICAgICAgIGlmIChhcmd1bWVudC5pc0VtcHR5KCkpCi0gICAgICAg
ICAgICAgICAgcmV0dXJuIEZ1bmN0aW9uVHlwZTo6Q2Fubm90TWF0Y2hBbnl0aGluZzsKLQotICAg
ICAgICAgICAgaWYgKCFmcmFnbWVudC5sYW5nRmlsdGVyKQotICAgICAgICAgICAgICAgIGZyYWdt
ZW50LmxhbmdGaWx0ZXIgPSAmYXJndW1lbnQ7Ci0gICAgICAgICAgICBlbHNlIGlmICgqZnJhZ21l
bnQubGFuZ0ZpbHRlciAhPSBhcmd1bWVudCkgewotICAgICAgICAgICAgICAgIC8vIElmIHRoZXJl
IGFyZSBtdWx0aXBsZSBkZWZpbml0aW9uLCB3ZSBvbmx5IGNhcmUgYWJvdXQgdGhlIG1vc3QgcmVz
dHJpY3RpdmUgb25lLgotICAgICAgICAgICAgICAgIGlmIChhcmd1bWVudC5zdGFydHNXaXRoKCpm
cmFnbWVudC5sYW5nRmlsdGVyLCBmYWxzZSkpCi0gICAgICAgICAgICAgICAgICAgIGZyYWdtZW50
LmxhbmdGaWx0ZXIgPSAmYXJndW1lbnQ7Ci0gICAgICAgICAgICAgICAgZWxzZSBpZiAoZnJhZ21l
bnQubGFuZ0ZpbHRlci0+c3RhcnRzV2l0aChhcmd1bWVudCwgZmFsc2UpKQotICAgICAgICAgICAg
ICAgICAgICB7IH0gLy8gVGhlIGV4aXN0aW5nIGZpbHRlciBpcyBtb3JlIHJlc3RyaWN0aXZlLgot
ICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEZ1bmN0aW9u
VHlwZTo6Q2Fubm90TWF0Y2hBbnl0aGluZzsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHJl
dHVybiBGdW5jdGlvblR5cGU6OlNpbXBsZVNlbGVjdG9yQ2hlY2tlcjsKLSNlbmRpZgogICAgICAg
ICB9CiAKICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc01hdGNoZXM6CkBAIC0yNTc3
LDEzICsyNTQ5LDggQEAgdm9pZCBTZWxlY3RvckNvZGVHZW5lcmF0b3I6OmdlbmVyYXRlRWxlbWVu
dE1hdGNoaW5nKEFzc2VtYmxlcjo6SnVtcExpc3QmIG1hdGNoaW4KICAgICAgICAgZ2VuZXJhdGVF
bGVtZW50TWF0Y2hlc0FueVBzZXVkb0NsYXNzKG1hdGNoaW5nUG9zdFRhZ05hbWVGYWlsdXJlQ2Fz
ZXMsIGZyYWdtZW50KTsKICAgICBpZiAoIWZyYWdtZW50Lm1hdGNoZXNGaWx0ZXJzLmlzRW1wdHko
KSkKICAgICAgICAgZ2VuZXJhdGVFbGVtZW50TWF0Y2hlc01hdGNoZXNQc2V1ZG9DbGFzcyhtYXRj
aGluZ1Bvc3RUYWdOYW1lRmFpbHVyZUNhc2VzLCBmcmFnbWVudCk7Ci0jaWYgRU5BQkxFKENTU19T
RUxFQ1RPUlNfTEVWRUw0KQogICAgIGlmICghZnJhZ21lbnQubGFuZ3VhZ2VBcmd1bWVudHNMaXN0
LmlzRW1wdHkoKSkKICAgICAgICAgZ2VuZXJhdGVFbGVtZW50SXNJbkxhbmd1YWdlKG1hdGNoaW5n
UG9zdFRhZ05hbWVGYWlsdXJlQ2FzZXMsIGZyYWdtZW50KTsKLSNlbHNlCi0gICAgaWYgKGZyYWdt
ZW50LmxhbmdGaWx0ZXIpCi0gICAgICAgIGdlbmVyYXRlRWxlbWVudElzSW5MYW5ndWFnZShtYXRj
aGluZ1Bvc3RUYWdOYW1lRmFpbHVyZUNhc2VzLCAqZnJhZ21lbnQubGFuZ0ZpbHRlcik7Ci0jZW5k
aWYKICAgICBpZiAoIWZyYWdtZW50Lm50aENoaWxkT2ZGaWx0ZXJzLmlzRW1wdHkoKSkKICAgICAg
ICAgZ2VuZXJhdGVFbGVtZW50SXNOdGhDaGlsZE9mKG1hdGNoaW5nUG9zdFRhZ05hbWVGYWlsdXJl
Q2FzZXMsIGZyYWdtZW50KTsKICAgICBpZiAoIWZyYWdtZW50Lm50aExhc3RDaGlsZE9mRmlsdGVy
cy5pc0VtcHR5KCkpCkBAIC0zMjkxLDcgKzMyNTgsNyBAQCB2b2lkIFNlbGVjdG9yQ29kZUdlbmVy
YXRvcjo6Z2VuZXJhdGVFbGVtZW50SXNIb3ZlcmVkKEFzc2VtYmxlcjo6SnVtcExpc3QmIGZhaWx1
cgogICAgICAgICBmYWlsdXJlQ2FzZXMuYXBwZW5kKGZ1bmN0aW9uQ2FsbC5jYWxsQW5kQnJhbmNo
T25Cb29sZWFuUmV0dXJuVmFsdWUoQXNzZW1ibGVyOjpaZXJvKSk7CiAgICAgfQogfQotI2lmIEVO
QUJMRShDU1NfU0VMRUNUT1JTX0xFVkVMNCkKKwogdm9pZCBTZWxlY3RvckNvZGVHZW5lcmF0b3I6
OmdlbmVyYXRlRWxlbWVudElzSW5MYW5ndWFnZShBc3NlbWJsZXI6Okp1bXBMaXN0JiBmYWlsdXJl
Q2FzZXMsIGNvbnN0IFNlbGVjdG9yRnJhZ21lbnQmIGZyYWdtZW50KQogewogICAgIGZvciAoY29u
c3QgVmVjdG9yPEF0b21pY1N0cmluZz4qIGxhbmd1YWdlQXJndW1lbnRzIDogZnJhZ21lbnQubGFu
Z3VhZ2VBcmd1bWVudHNMaXN0KQpAQCAtMzMwOSwxOSArMzI3Niw3IEBAIHZvaWQgU2VsZWN0b3JD
b2RlR2VuZXJhdG9yOjpnZW5lcmF0ZUVsZW1lbnRJc0luTGFuZ3VhZ2UoQXNzZW1ibGVyOjpKdW1w
TGlzdCYgZmFpCiAgICAgZnVuY3Rpb25DYWxsLnNldFR3b0FyZ3VtZW50cyhlbGVtZW50QWRkcmVz
cywgbGFuZ1JhbmdlUmVnaXN0ZXIpOwogICAgIGZhaWx1cmVDYXNlcy5hcHBlbmQoZnVuY3Rpb25D
YWxsLmNhbGxBbmRCcmFuY2hPbkJvb2xlYW5SZXR1cm5WYWx1ZShBc3NlbWJsZXI6Olplcm8pKTsK
IH0KLSNlbHNlCi12b2lkIFNlbGVjdG9yQ29kZUdlbmVyYXRvcjo6Z2VuZXJhdGVFbGVtZW50SXNJ
bkxhbmd1YWdlKEFzc2VtYmxlcjo6SnVtcExpc3QmIGZhaWx1cmVDYXNlcywgY29uc3QgQXRvbWlj
U3RyaW5nJiBsYW5nRmlsdGVyKQotewotICAgIExvY2FsUmVnaXN0ZXJXaXRoUHJlZmVyZW5jZSBs
YW5nRmlsdGVyUmVnaXN0ZXIobV9yZWdpc3RlckFsbG9jYXRvciwgSlNDOjpHUFJJbmZvOjphcmd1
bWVudEdQUjEpOwotICAgIG1fYXNzZW1ibGVyLm1vdmUoQXNzZW1ibGVyOjpUcnVzdGVkSW1tUHRy
KGxhbmdGaWx0ZXIuaW1wbCgpKSwgbGFuZ0ZpbHRlclJlZ2lzdGVyKTsKIAotICAgIEFzc2VtYmxl
cjo6UmVnaXN0ZXJJRCBlbGVtZW50QWRkcmVzcyA9IGVsZW1lbnRBZGRyZXNzUmVnaXN0ZXI7Ci0g
ICAgRnVuY3Rpb25DYWxsIGZ1bmN0aW9uQ2FsbChtX2Fzc2VtYmxlciwgbV9yZWdpc3RlckFsbG9j
YXRvciwgbV9zdGFja0FsbG9jYXRvciwgbV9mdW5jdGlvbkNhbGxzKTsKLSAgICBmdW5jdGlvbkNh
bGwuc2V0RnVuY3Rpb25BZGRyZXNzKG1hdGNoZXNMYW5nUHNldWRvQ2xhc3NEZXByZWNhdGVkKTsK
LSAgICBmdW5jdGlvbkNhbGwuc2V0VHdvQXJndW1lbnRzKGVsZW1lbnRBZGRyZXNzLCBsYW5nRmls
dGVyUmVnaXN0ZXIpOwotICAgIGZhaWx1cmVDYXNlcy5hcHBlbmQoZnVuY3Rpb25DYWxsLmNhbGxB
bmRCcmFuY2hPbkJvb2xlYW5SZXR1cm5WYWx1ZShBc3NlbWJsZXI6Olplcm8pKTsKLX0KLSNlbmRp
Zgogc3RhdGljIHZvaWQgc2V0TGFzdENoaWxkU3RhdGUoRWxlbWVudCogZWxlbWVudCkKIHsKICAg
ICBpZiAoUmVuZGVyU3R5bGUqIHN0eWxlID0gZWxlbWVudC0+cmVuZGVyU3R5bGUoKSkK
</data>

          </attachment>
      

    </bug>

</bugzilla>