<?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>181911</bug_id>
          
          <creation_ts>2018-01-20 17:22:07 -0800</creation_ts>
          <short_desc>[Apple Pay] Stop eagerly loading PassKit.framework</short_desc>
          <delta_ts>2018-01-20 20:29:52 -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>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andy Estes">aestes</reporter>
          <assigned_to name="Andy Estes">aestes</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>japhet</cc>
    
    <cc>sam</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>yongjun_zhang</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1391432</commentid>
    <comment_count>0</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-01-20 17:22:07 -0800</bug_when>
    <thetext>[Apple Pay] Stop eagerly loading PassKit.framework</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1391438</commentid>
    <comment_count>1</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-01-20 18:03:45 -0800</bug_when>
    <thetext>rdar://problem/36555369</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1391439</commentid>
    <comment_count>2</comment_count>
      <attachid>331854</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-01-20 18:07:49 -0800</bug_when>
    <thetext>Created attachment 331854
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1391442</commentid>
    <comment_count>3</comment_count>
      <attachid>331854</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-01-20 20:29:51 -0800</bug_when>
    <thetext>Comment on attachment 331854
Patch

Clearing flags on attachment: 331854

Committed r227274: &lt;https://trac.webkit.org/changeset/227274&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1391443</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-01-20 20:29:52 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>331854</attachid>
            <date>2018-01-20 18:07:49 -0800</date>
            <delta_ts>2018-01-20 20:29:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-181911-20180120180749.patch</filename>
            <type>text/plain</type>
            <size>42088</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI3MjQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTViZDc1NzlkYzA0OWM3
N2IzOGFkNThjNzkzODc0Nzc5NzA0ODBhZC4uNzM2YzI2NjIxM2E1Mjc3MzBjZDJkMjkzN2RlZTQ0
NjFiODc4NDQzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDE4LTAxLTIwICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbQXBwbGUgUGF5XSBTdG9wIGVh
Z2VybHkgbG9hZGluZyBQYXNzS2l0LmZyYW1ld29yaworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgxOTExCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8z
NjU1NTM2OT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICByMjI2NDU4IGFuZCByMjI2MTIzIGFkZGVkIGNvZGUgdGhhdCBjYXVzZWQgUGFzc0tpdC5mcmFt
ZXdvcmsgdG8gYmUgZWFnZXJseSBsb2FkZWQgd2hlbgorICAgICAgICBpbml0aWFsaXppbmcgYSBX
S1dlYlZpZXcuIFRoaXMgaXMgY29zdGx5IGFuZCBzaG91bGQgb25seSBiZSBkb25lIHdoZW4gQXBw
bGUgUGF5IGlzIGZpcnN0IHVzZWQuCisKKyAgICAgICAgVG8gYXZvaWQgZWFnZXJseSBsb2FkaW5n
IFBhc3NLaXQsIHRoaXMgcGF0Y2ggZG9lcyB0d28gdGhpbmdzOgorCisgICAgICAgIDEuIEluc3Rl
YWQgb2Ygc2VuZGluZyB0aGUgYXZhaWxhYmxlIHBheW1lbnQgbmV0d29ya3MgYXMgcGFydCBvZiBX
ZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLAorICAgICAgICBQYXltZW50Q29vcmRpbmF0b3IgYXNr
cyBmb3IgdGhlbSB1c2luZyBhIHN5bmNyaG9ub3VzIG1lc3NhZ2UgdGhlIGZpcnN0IHRpbWUgdGhl
eSBhcmUgbmVlZGVkLgorICAgICAgICAyLiBJbnN0ZWFkIG9mIHNldHRpbmcgdGhlIEFwcGxlIFBh
eSBwcmVmZXJlbmNlIHRvIGZhbHNlIHdoZW4gUGFzc0tpdCBjYW4ndCBiZSBsb2FkZWQsCisgICAg
ICAgIHRoZSBmb2xsb3dpbmcgQVBJIGVudHJ5IHBvaW50cyBjaGVjayBmb3IgYSBtaXNzaW5nIFBh
c3NLaXQgYW5kIHJldHVybiBmYWxzZSwgb3IgdGhyb3cKKyAgICAgICAgZXhjZXB0aW9ucywgb3Ig
cmVqZWN0IHByb21pc2VzOgorICAgICAgICAgICAgLSBBcHBsZVBheVNlc3Npb24uY2FuTWFrZVBh
eW1lbnRzKCkKKyAgICAgICAgICAgIC0gQXBwbGVQYXlTZXNzaW9uLmNhbk1ha2VQYXltZW50c1dp
dGhBY3RpdmVDYXJkKCkKKyAgICAgICAgICAgIC0gQXBwbGVQYXlTZXNzaW9uLm9wZW5QYXltZW50
U2V0dXAoKQorICAgICAgICAgICAgLSBBcHBsZVBheVNlc3Npb24uYmVnaW4oKQorCisgICAgICAg
IE5vIG5ldyB0ZXN0cyBmb3IgKDEpLCB3aGljaCBjYXVzZXMgbm8gY2hhbmdlIGluIGJlaGF2aW9y
LiAoMikgd2FzIG1hbnVhbGx5IHZlcmlmaWVkIGJ5CisgICAgICAgIGxvY2FsbHkgbW92aW5nIGFz
aWRlIFBhc3NLaXQuZnJhbWV3b3JrLCBidXQgdGhhdCdzIG5vdCBwb3NzaWJsZSB0byBkbyBpbiBh
biBhdXRvbWF0ZWQgdGVzdC4KKworICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENv
b3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBheW1lbnRDb29yZGluYXRvcjo6UGF5
bWVudENvb3JkaW5hdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OlBheW1lbnRDb29yZGluYXRvcjo6
dmFsaWRhdGVkUGF5bWVudE5ldHdvcmsgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6dG9IYXNo
U2V0KTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGlu
YXRvci5oOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9yQ2xp
ZW50Lmg6CisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHA6CisgICAgICAgICogcGFn
ZS9NYWluRnJhbWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWFpbkZyYW1lOjpNYWluRnJhbWUp
OgorCisgICAgICAgIFJlbW92ZWQgUGF5bWVudENvb3JkaW5hdG9yOjptX2F2YWlsYWJsZVBheW1l
bnROZXR3b3JrcyBhbmQgbWFkZQorICAgICAgICBQYXltZW50Q29vcmRpbmF0b3I6OnZhbGlkYXRl
ZFBheW1lbnROZXR3b3JrKCkgY2FsbAorICAgICAgICBQYXltZW50Q29vcmRpbmF0b3JDbGllbnQ6
OnZhbGlkYXRlZFBheW1lbnROZXR3b3JrKCkgaW5zdGVhZC4KKworICAgICAgICAqIHBhZ2UvUGFn
ZUNvbmZpZ3VyYXRpb24uaDoKKworICAgICAgICBSZW1vdmVkIGF2YWlsYWJsZVBheW1lbnROZXR3
b3JrcyBmcm9tIFBhZ2VDb25maWd1cmF0aW9uLgorCisgICAgICAgICogdGVzdGluZy9JbnRlcm5h
bHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpJbnRlcm5hbHMpOgorICAgICAg
ICAqIHRlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpNb2NrUGF5bWVudENvb3JkaW5hdG9yOjp2YWxpZGF0ZWRQYXltZW50TmV0d29yayk6CisgICAg
ICAgICogdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmg6CisKKyAgICAgICAgSW1wbGVt
ZW50ZWQgUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50Ojp2YWxpZGF0ZWRQYXltZW50TmV0d29yaygp
LgorCiAyMDE4LTAxLTE5ICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KIAogICAgICAg
ICBSRUdSRVNTSU9OIChyMjIxMDkyKTogU3dpcGUgYWN0aW9ucyBhcmUgaGFyZCB0byBwZXJmb3Jt
IGluIEZhc3RNYWlsIGFwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBkMDRkYTBhNTQ5OGU1YmQwNDZjNTRkODhlYzRi
M2Y3MjBjNDNlZDQ2Li5iMTE4ODU4YTJiZjljNWJkOTQxNDZiODhjNTQ0YmFkOWU4N2EyODc4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwpAQCAtMSwzICsxLDc0IEBACisyMDE4LTAxLTIwICBBbmR5IEVzdGVzICA8YWVzdGVz
QGFwcGxlLmNvbT4KKworICAgICAgICBbQXBwbGUgUGF5XSBTdG9wIGVhZ2VybHkgbG9hZGluZyBQ
YXNzS2l0LmZyYW1ld29yaworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTgxOTExCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zNjU1NTM2OT4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNoYXJlZC9XZWJQ
YWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZUNyZWF0
aW9uUGFyYW1ldGVyczo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZUNy
ZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViUGFnZUNyZWF0
aW9uUGFyYW1ldGVycy5oOgorCisgICAgICAgIFJlbW92ZWQgYXZhaWxhYmxlUGF5bWVudE5ldHdv
cmtzIGZyb20gV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy4KKworICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKFdLUHJlZmVyZW5jZXNTZXRBcHBs
ZVBheUVuYWJsZWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1t
OgorICAgICAgICAoLVtXS1dlYlZpZXcgX2luaXRpYWxpemVXaXRoQ29uZmlndXJhdGlvbjpdKToK
KworICAgICAgICBTdG9wcGVkIGNhbGxpbmcgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OnBs
YXRmb3JtU3VwcG9ydHNQYXltZW50cygpLgorCisgICAgICAgICogVUlQcm9jZXNzL0FwcGxlUGF5
L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGF5
bWVudENvb3JkaW5hdG9yUHJveHk6OmF2YWlsYWJsZVBheW1lbnROZXR3b3Jrcyk6CisgICAgICAg
ICogVUlQcm9jZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5Lmg6CisgICAg
ICAgICogVUlQcm9jZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5Lm1lc3Nh
Z2VzLmluOgorCisgICAgICAgIEFkZGVkIG1lc3NhZ2UgQXZhaWxhYmxlUGF5bWVudE5ldHdvcmtz
LCB3aGljaCBzeW5jaHJvbm91c2x5IHJldHVybnMgYSBWZWN0b3Igb2YgcGF5bWVudAorICAgICAg
ICBuZXR3b3Jrcy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BcHBsZVBheS9jb2NvYS9XZWJQYXlt
ZW50Q29vcmRpbmF0b3JQcm94eUNvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYXltZW50
Q29vcmRpbmF0b3JQcm94eTo6cGxhdGZvcm1DYW5NYWtlUGF5bWVudHMpOgorCisgICAgICAgIFJl
dHVybmVkIGZhbHNlIGlmIFBhc3NLaXRMaWJyYXJ5KCkgZmFpbHMuCisKKyAgICAgICAgKFdlYktp
dDo6V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OnBsYXRmb3JtQ2FuTWFrZVBheW1lbnRzV2l0
aEFjdGl2ZUNhcmQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94
eTo6cGxhdGZvcm1PcGVuUGF5bWVudFNldHVwKToKKworICAgICAgICBDYWxsZWQgY29tcGxldGlv
bkhhbmRsZXIgd2l0aCBmYWxzZSBpZiBQYXNzS2l0TGlicmFyeSgpIGZhaWxzLgorCisgICAgICAg
IChXZWJLaXQ6OldlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpwbGF0Zm9ybUF2YWlsYWJsZVBh
eW1lbnROZXR3b3Jrcyk6CisgICAgICAgIChXZWJLaXQ6OldlYlBheW1lbnRDb29yZGluYXRvclBy
b3h5OjphdmFpbGFibGVQYXltZW50TmV0d29ya3MpOgorCisgICAgICAgIFJlbmFtZWQgYXZhaWxh
YmxlUGF5bWVudE5ldHdvcmtzIHRvIHBsYXRmb3JtQXZhaWxhYmxlUGF5bWVudE5ldHdvcmtzCisK
KyAgICAgICAgKFdlYktpdDo6V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OnBsYXRmb3JtU3Vw
cG9ydHNQYXltZW50cyk6IERlbGV0ZWQuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQXBwbGVQYXkv
bWFjL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5TWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6cGxhdGZvcm1TaG93UGF5bWVudFVJKToKKworICAg
ICAgICBDYWxsZWQgY29tcGxldGlvbkhhbmRsZXIgd2l0aCBmYWxzZSBpZiBQYXNzS2l0TGlicmFy
eSgpIGZhaWxzLgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6Y3JlYXRpb25QYXJhbWV0ZXJzKToKKworICAgICAg
ICBTdG9wcGVkIGNhbGxpbmcgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OmF2YWlsYWJsZVBh
eW1lbnROZXR3b3JrcygpLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9BcHBsZVBheS9XZWJQYXlt
ZW50Q29vcmRpbmF0b3IuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYXltZW50Q29vcmRpbmF0
b3I6OmF2YWlsYWJsZVBheW1lbnROZXR3b3Jrcyk6CisgICAgICAgIChXZWJLaXQ6OldlYlBheW1l
bnRDb29yZGluYXRvcjo6dmFsaWRhdGVkUGF5bWVudE5ldHdvcmspOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yLmg6CisKKyAgICAgICAgSW1wbGVt
ZW50ZWQgUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50Ojp2YWxpZGF0ZWRQYXltZW50TmV0d29yaygp
LiBtX2F2YWlsYWJsZVBheW1lbnROZXR3b3JrcworICAgICAgICBzdGFydHMgb2ZmIGFzIHN0ZDo6
bnVsbG9wdCwgYnV0IGlzIGluaXRpYWxpemVkIGJ5IHNlbmRpbmcgdGhlIEF2YWlsYWJsZVBheW1l
bnROZXR3b3JrcyBzeW5jCisgICAgICAgIG1lc3NhZ2UgdGhlIGZpcnN0IHRpbWUgaXQncyBhY2Nl
c3NlZC4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGFnZTo6V2ViUGFnZSk6CisKKyAgICAgICAgU3RvcHBlZCBzZXR0aW5n
IFBhZ2VDb25maWd1cmF0aW9uOjphdmFpbGFibGVQYXltZW50TmV0d29ya3MuCisKIDIwMTgtMDEt
MTkgIERlYW4gSmFja3NvbiAgPGRpbm9AYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04g
KHIyMjEwOTIpOiBTd2lwZSBhY3Rpb25zIGFyZSBoYXJkIHRvIHBlcmZvcm0gaW4gRmFzdE1haWwg
YXBwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggNzk0ODBkMGFjZWZkOThkMzliMTNk
NGFiMWUwMzhlOTBlNjg2NWRmYy4uNTMwODQwOWZjZWEwMjhlNTM3NzJhZDc4OGNmMTAzYTZmYzIy
YjBhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE4
LTAxLTIwICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbQXBwbGUg
UGF5XSBTdG9wIGVhZ2VybHkgbG9hZGluZyBQYXNzS2l0LmZyYW1ld29yaworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgxOTExCisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS8zNjU1NTM2OT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYlBheW1lbnRDb29yZGluYXRvckNsaWVu
dC5oOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYlBheW1lbnRDb29yZGluYXRvckNsaWVu
dC5tbToKKyAgICAgICAgKFdlYlBheW1lbnRDb29yZGluYXRvckNsaWVudDo6dmFsaWRhdGVkUGF5
bWVudE5ldHdvcmspOgorCisgICAgICAgIEltcGxlbWVudGVkIFBheW1lbnRDb29yZGluYXRvckNs
aWVudDo6dmFsaWRhdGVkUGF5bWVudE5ldHdvcmsoKS4KKwogMjAxOC0wMS0xOSAgRGVhbiBKYWNr
c29uICA8ZGlub0BhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjIyMTA5Mik6IFN3
aXBlIGFjdGlvbnMgYXJlIGhhcmQgdG8gcGVyZm9ybSBpbiBGYXN0TWFpbCBhcHAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9yLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9yLmNw
cAppbmRleCAwMjVlODAzMGFjNzM5ZjA4NDhiMThhMDQ1OTJlYjQwNGIyNzVkYmJkLi4xNmVkMGQx
MzM2NTQxMTc0MzhkYTc2MDU1MDk2YzBlMzRjZTUwZDIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29vcmRpbmF0b3IuY3BwCkBAIC0xLDUg
KzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNS0yMDE3IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNS0yMDE4IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzUs
MTcgKzM1LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgSGFzaFNldDxTdHJp
bmcsIEFTQ0lJQ2FzZUluc2Vuc2l0aXZlSGFzaD4gdG9IYXNoU2V0KGNvbnN0IFZlY3RvcjxTdHJp
bmc+JiB2YWx1ZXMpCi17Ci0gICAgSGFzaFNldDxTdHJpbmcsIEFTQ0lJQ2FzZUluc2Vuc2l0aXZl
SGFzaD4gcmVzdWx0OwotICAgIGZvciAoYXV0byYgdmFsdWUgOiB2YWx1ZXMpCi0gICAgICAgIHJl
c3VsdC5hZGQodmFsdWUpOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLVBheW1lbnRDb29yZGlu
YXRvcjo6UGF5bWVudENvb3JkaW5hdG9yKFBheW1lbnRDb29yZGluYXRvckNsaWVudCYgY2xpZW50
LCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgYXZhaWxhYmxlUGF5bWVudE5ldHdvcmtzKQorUGF5bWVu
dENvb3JkaW5hdG9yOjpQYXltZW50Q29vcmRpbmF0b3IoUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50
JiBjbGllbnQpCiAgICAgOiBtX2NsaWVudCB7IGNsaWVudCB9Ci0gICAgLCBtX2F2YWlsYWJsZVBh
eW1lbnROZXR3b3JrcyB7IHRvSGFzaFNldChhdmFpbGFibGVQYXltZW50TmV0d29ya3MpIH0KIHsK
IH0KIApAQCAtMjExLDExICsyMDIsNyBAQCBzdGQ6Om9wdGlvbmFsPFN0cmluZz4gUGF5bWVudENv
b3JkaW5hdG9yOjp2YWxpZGF0ZWRQYXltZW50TmV0d29yayh1bnNpZ25lZCB2ZXJzaQogICAgIGlm
ICh2ZXJzaW9uIDwgMyAmJiBlcXVhbElnbm9yaW5nQVNDSUlDYXNlKHBheW1lbnROZXR3b3JrLCAi
Y2FydGVCYW5jYWlyZSIpKQogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogCi0gICAgYXV0
byByZXN1bHQgPSBtX2F2YWlsYWJsZVBheW1lbnROZXR3b3Jrcy5maW5kKHBheW1lbnROZXR3b3Jr
KTsKLSAgICBpZiAocmVzdWx0ID09IG1fYXZhaWxhYmxlUGF5bWVudE5ldHdvcmtzLmVuZCgpKQot
ICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwotCi0gICAgcmV0dXJuICpyZXN1bHQ7CisgICAg
cmV0dXJuIG1fY2xpZW50LnZhbGlkYXRlZFBheW1lbnROZXR3b3JrKHBheW1lbnROZXR3b3JrKTsK
IH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29vcmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9yLmgKaW5kZXggMWQxOTEwMDgyZGMxMjVl
NzA2ZjMxYTE5OGQyYzU3ZDE0M2I4MmM0Ny4uODI1MmRjMTZkYmY1M2Q1OTM1YWE4ZDViZjk0MmJk
YzBjMDAzMDg0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9Q
YXltZW50Q29vcmRpbmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5
L1BheW1lbnRDb29yZGluYXRvci5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAo
QykgMjAxNS0yMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAxNS0yMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjksNyArMjksNiBAQAogCiAjaW5jbHVkZSAiQXBw
bGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3QuaCIKICNpbmNsdWRlIDx3dGYvRnVuY3Rpb24uaD4K
LSNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IApAQCAtNDgsNyArNDcsNyBAQCBzdHJ1Y3QgU2hpcHBpbmdNZXRob2RVcGRhdGU7CiAKIGNsYXNz
IFBheW1lbnRDb29yZGluYXRvciB7CiBwdWJsaWM6Ci0gICAgV0VCQ09SRV9FWFBPUlQgUGF5bWVu
dENvb3JkaW5hdG9yKFBheW1lbnRDb29yZGluYXRvckNsaWVudCYsIGNvbnN0IFZlY3RvcjxTdHJp
bmc+JiBhdmFpbGFibGVQYXltZW50TmV0d29ya3MpOworICAgIFdFQkNPUkVfRVhQT1JUIGV4cGxp
Y2l0IFBheW1lbnRDb29yZGluYXRvcihQYXltZW50Q29vcmRpbmF0b3JDbGllbnQmKTsKICAgICBX
RUJDT1JFX0VYUE9SVCB+UGF5bWVudENvb3JkaW5hdG9yKCk7CiAKICAgICBib29sIHN1cHBvcnRz
VmVyc2lvbih1bnNpZ25lZCB2ZXJzaW9uKSBjb25zdDsKQEAgLTgwLDcgKzc5LDYgQEAgcHJpdmF0
ZToKICAgICBQYXltZW50Q29vcmRpbmF0b3JDbGllbnQmIG1fY2xpZW50OwogCiAgICAgUmVmUHRy
PFBheW1lbnRTZXNzaW9uPiBtX2FjdGl2ZVNlc3Npb247Ci0gICAgSGFzaFNldDxTdHJpbmcsIEFT
Q0lJQ2FzZUluc2Vuc2l0aXZlSGFzaD4gbV9hdmFpbGFibGVQYXltZW50TmV0d29ya3M7CiB9Owog
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRD
b29yZGluYXRvckNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXlt
ZW50Q29vcmRpbmF0b3JDbGllbnQuaAppbmRleCA5NmNkNTU1MmFkOGUzZDQ0NjRhN2FkODQzYjQ0
MjQzNTZhNjcwZGM3Li5lOTE1Y2ExNmRiNDAyNDM4ZDhiZDgwMDE5ZGFkZTliMzY3NzAzZDE3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGlu
YXRvckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVu
dENvb3JkaW5hdG9yQ2xpZW50LmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChD
KSAyMDE1LCAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAxNS0yMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNDMsNiArNDMsNyBAQCBzdHJ1Y3QgU2hpcHBpbmdN
ZXRob2RVcGRhdGU7CiBjbGFzcyBQYXltZW50Q29vcmRpbmF0b3JDbGllbnQgewogcHVibGljOgog
ICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c1ZlcnNpb24odW5zaWduZWQgdmVyc2lvbikgPSAwOwor
ICAgIHZpcnR1YWwgc3RkOjpvcHRpb25hbDxTdHJpbmc+IHZhbGlkYXRlZFBheW1lbnROZXR3b3Jr
KGNvbnN0IFN0cmluZyYpID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgY2FuTWFrZVBheW1lbnRzKCkg
PSAwOwogICAgIHZpcnR1YWwgdm9pZCBjYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZChjb25z
dCBTdHJpbmcmIG1lcmNoYW50SWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBkb21haW5OYW1lLCBX
VEY6OkZ1bmN0aW9uPHZvaWQgKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKSA9IDA7CiAgICAg
dmlydHVhbCB2b2lkIG9wZW5QYXltZW50U2V0dXAoY29uc3QgU3RyaW5nJiBtZXJjaGFudElkZW50
aWZpZXIsIGNvbnN0IFN0cmluZyYgZG9tYWluTmFtZSwgV1RGOjpGdW5jdGlvbjx2b2lkIChib29s
KT4mJiBjb21wbGV0aW9uSGFuZGxlcikgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGll
bnRzLmNwcAppbmRleCAyNWU5ZWI2OWNmYTU4ZGM3NTgzZGVkODVhMTVmZmM0ODM1Y2Y1MDdiLi42
YWVhYzAyNWYwN2Y2MDVlMjc3MmYzYTY2YWIxYTRiNjQ1ZDEzMDNiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRW1wdHlDbGllbnRzLmNwcApAQCAtMSw2ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQg
KEMpIDIwMDYgRXJpYyBTZWlkZWwgPGVyaWNAd2Via2l0Lm9yZz4KLSAqIENvcHlyaWdodCAoQykg
MjAwOC0yMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAo
QykgMjAwOC0yMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdo
dCAoQykgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQgMjAxMS4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKQEAgLTMwNiw2ICszMDYsNyBAQCBjbGFzcyBFbXB0eUluc3Bl
Y3RvckNsaWVudCBmaW5hbCA6IHB1YmxpYyBJbnNwZWN0b3JDbGllbnQgewogCiBjbGFzcyBFbXB0
eVBheW1lbnRDb29yZGluYXRvckNsaWVudCBmaW5hbCA6IHB1YmxpYyBQYXltZW50Q29vcmRpbmF0
b3JDbGllbnQgewogICAgIGJvb2wgc3VwcG9ydHNWZXJzaW9uKHVuc2lnbmVkKSBmaW5hbCB7IHJl
dHVybiBmYWxzZTsgfQorICAgIHN0ZDo6b3B0aW9uYWw8U3RyaW5nPiB2YWxpZGF0ZWRQYXltZW50
TmV0d29yayhjb25zdCBTdHJpbmcmKSBmaW5hbCB7IHJldHVybiBzdGQ6Om51bGxvcHQ7IH0KICAg
ICBib29sIGNhbk1ha2VQYXltZW50cygpIGZpbmFsIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdm9p
ZCBjYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZChjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJp
bmcmLCBXVEY6OkZ1bmN0aW9uPHZvaWQoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpIGZpbmFs
IHsgY2FsbE9uTWFpblRocmVhZChbY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRp
b25IYW5kbGVyKV0geyBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7IH0pOyB9CiAgICAgdm9pZCBv
cGVuUGF5bWVudFNldHVwKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIFdURjo6RnVuY3Rp
b248dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikgZmluYWwgeyBjYWxsT25NYWluVGhy
ZWFkKFtjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXSB7IGNv
bXBsZXRpb25IYW5kbGVyKGZhbHNlKTsgfSk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvTWFpbkZyYW1lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWFpbkZyYW1lLmNwcApp
bmRleCBjMTIyZjI3ZGRjZTczM2FjMGJjODFhMTc5ZGMxODQwMDc5MDk2MmNjLi4zMGEyMmE4OGQ3
MDRiZDg4YzRkNjI4ZDkyMGQ0MGEzNmJkOWRmMzYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL01haW5GcmFtZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9NYWluRnJhbWUu
Y3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMy0yMDE3IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMy0yMDE4IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwpAQCAtNDksNyArNDksNyBAQCBpbmxpbmUgTWFpbkZyYW1lOjpNYWluRnJhbWUoUGFnZSYg
cGFnZSwgUGFnZUNvbmZpZ3VyYXRpb24mIGNvbmZpZ3VyYXRpb24pCiAgICAgLCBtX3JlY2VudFdo
ZWVsRXZlbnREZWx0YUZpbHRlcihXaGVlbEV2ZW50RGVsdGFGaWx0ZXI6OmNyZWF0ZSgpKQogICAg
ICwgbV9wYWdlT3ZlcmxheUNvbnRyb2xsZXIoc3RkOjptYWtlX3VuaXF1ZTxQYWdlT3ZlcmxheUNv
bnRyb2xsZXI+KCp0aGlzKSkKICNpZiBFTkFCTEUoQVBQTEVfUEFZKQotICAgICwgbV9wYXltZW50
Q29vcmRpbmF0b3Ioc3RkOjptYWtlX3VuaXF1ZTxQYXltZW50Q29vcmRpbmF0b3I+KCpjb25maWd1
cmF0aW9uLnBheW1lbnRDb29yZGluYXRvckNsaWVudCwgY29uZmlndXJhdGlvbi5hdmFpbGFibGVQ
YXltZW50TmV0d29ya3MpKQorICAgICwgbV9wYXltZW50Q29vcmRpbmF0b3Ioc3RkOjptYWtlX3Vu
aXF1ZTxQYXltZW50Q29vcmRpbmF0b3I+KCpjb25maWd1cmF0aW9uLnBheW1lbnRDb29yZGluYXRv
ckNsaWVudCkpCiAjZW5kaWYKICNpZiBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZFU1QpCiAgICAg
LCBtX2FwcGxpY2F0aW9uTWFuaWZlc3QoY29uZmlndXJhdGlvbi5hcHBsaWNhdGlvbk1hbmlmZXN0
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5oIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5oCmluZGV4IDcxOGQ4YWVhMjk2
YzE4ODNmOGYzZmRmNmM2ZTEzNDNkNzMyMGFlNjIuLjNhNzM0NTc2ZDQwYTJjZDRiZGExNGM0ZWJl
MDMzMmFhMzU2ZTIxZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZp
Z3VyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmgK
QEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE0LTIwMTcgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE0LTIwMTggQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CkBAIC03OCw3ICs3OCw2IEBAIHB1YmxpYzoKICAgICBJbnNwZWN0b3JDbGllbnQqIGluc3BlY3Rv
ckNsaWVudCB7IG51bGxwdHIgfTsKICNpZiBFTkFCTEUoQVBQTEVfUEFZKQogICAgIFBheW1lbnRD
b29yZGluYXRvckNsaWVudCogcGF5bWVudENvb3JkaW5hdG9yQ2xpZW50IHsgbnVsbHB0ciB9Owot
ICAgIFZlY3RvcjxTdHJpbmc+IGF2YWlsYWJsZVBheW1lbnROZXR3b3JrczsKICNlbmRpZgogCiAj
aWYgRU5BQkxFKEFQUExJQ0FUSU9OX01BTklGRVNUKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuY3BwCmluZGV4IDkxYzg2NzI3OWNkOWZiY2YxYjJmN2EyZjQwOTY0NWRlMTMwMjgwNzQuLjlh
ZmM2MzhmMjA2M2EzYmI0YTg0MzIzMGNhNzEwZGRmMDY5MDVkZWEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5jcHAKQEAgLTEsNiArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAy
MDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MTMtMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTMtMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKQEAgLTUyMCw3ICs1MjAsNyBAQCBJbnRlcm5hbHM6OkludGVybmFs
cyhEb2N1bWVudCYgZG9jdW1lbnQpCiAgICAgYXV0byogZnJhbWUgPSBkb2N1bWVudC5mcmFtZSgp
OwogICAgIGlmIChmcmFtZSAmJiBmcmFtZS0+aXNNYWluRnJhbWUoKSkgewogICAgICAgICBtX21v
Y2tQYXltZW50Q29vcmRpbmF0b3IgPSBuZXcgTW9ja1BheW1lbnRDb29yZGluYXRvcihmcmFtZS0+
bWFpbkZyYW1lKCkpOwotICAgICAgICBmcmFtZS0+bWFpbkZyYW1lKCkuc2V0UGF5bWVudENvb3Jk
aW5hdG9yKHN0ZDo6bWFrZV91bmlxdWU8UGF5bWVudENvb3JkaW5hdG9yPigqbV9tb2NrUGF5bWVu
dENvb3JkaW5hdG9yLCBtX21vY2tQYXltZW50Q29vcmRpbmF0b3ItPmF2YWlsYWJsZVBheW1lbnRO
ZXR3b3JrcygpKSk7CisgICAgICAgIGZyYW1lLT5tYWluRnJhbWUoKS5zZXRQYXltZW50Q29vcmRp
bmF0b3Ioc3RkOjptYWtlX3VuaXF1ZTxQYXltZW50Q29vcmRpbmF0b3I+KCptX21vY2tQYXltZW50
Q29vcmRpbmF0b3IpKTsKICAgICB9CiAjZW5kaWYKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3IuY3BwCmluZGV4IDEwYjZhZWI5MmE2YjI1YzNk
NzIxOWEzMjk4Nzg3NTVjYjEzYjVhM2MuLjEzZDAyYjA0NzI2MjYzYzNkNTdkZDEzNjQ3ZTk2YTBm
NmY2YzBjODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRD
b29yZGluYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENv
b3JkaW5hdG9yLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE3LTIw
MTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCkBAIC00MSwxNSArNDEsMTUgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogTW9ja1Bh
eW1lbnRDb29yZGluYXRvcjo6TW9ja1BheW1lbnRDb29yZGluYXRvcihNYWluRnJhbWUmIG1haW5G
cmFtZSkKICAgICA6IG1fbWFpbkZyYW1lIHsgbWFpbkZyYW1lIH0KIHsKLSAgICBtX2F2YWlsYWJs
ZVBheW1lbnROZXR3b3Jrcy5hcHBlbmQoImFtZXgiKTsKLSAgICBtX2F2YWlsYWJsZVBheW1lbnRO
ZXR3b3Jrcy5hcHBlbmQoImNhcnRlQmFuY2FpcmUiKTsKLSAgICBtX2F2YWlsYWJsZVBheW1lbnRO
ZXR3b3Jrcy5hcHBlbmQoImNoaW5hVW5pb25QYXkiKTsKLSAgICBtX2F2YWlsYWJsZVBheW1lbnRO
ZXR3b3Jrcy5hcHBlbmQoImRpc2NvdmVyIik7Ci0gICAgbV9hdmFpbGFibGVQYXltZW50TmV0d29y
a3MuYXBwZW5kKCJpbnRlcmFjIik7Ci0gICAgbV9hdmFpbGFibGVQYXltZW50TmV0d29ya3MuYXBw
ZW5kKCJqY2IiKTsKLSAgICBtX2F2YWlsYWJsZVBheW1lbnROZXR3b3Jrcy5hcHBlbmQoIm1hc3Rl
ckNhcmQiKTsKLSAgICBtX2F2YWlsYWJsZVBheW1lbnROZXR3b3Jrcy5hcHBlbmQoInByaXZhdGVM
YWJlbCIpOwotICAgIG1fYXZhaWxhYmxlUGF5bWVudE5ldHdvcmtzLmFwcGVuZCgidmlzYSIpOwor
ICAgIG1fYXZhaWxhYmxlUGF5bWVudE5ldHdvcmtzLmFkZCgiYW1leCIpOworICAgIG1fYXZhaWxh
YmxlUGF5bWVudE5ldHdvcmtzLmFkZCgiY2FydGVCYW5jYWlyZSIpOworICAgIG1fYXZhaWxhYmxl
UGF5bWVudE5ldHdvcmtzLmFkZCgiY2hpbmFVbmlvblBheSIpOworICAgIG1fYXZhaWxhYmxlUGF5
bWVudE5ldHdvcmtzLmFkZCgiZGlzY292ZXIiKTsKKyAgICBtX2F2YWlsYWJsZVBheW1lbnROZXR3
b3Jrcy5hZGQoImludGVyYWMiKTsKKyAgICBtX2F2YWlsYWJsZVBheW1lbnROZXR3b3Jrcy5hZGQo
ImpjYiIpOworICAgIG1fYXZhaWxhYmxlUGF5bWVudE5ldHdvcmtzLmFkZCgibWFzdGVyQ2FyZCIp
OworICAgIG1fYXZhaWxhYmxlUGF5bWVudE5ldHdvcmtzLmFkZCgicHJpdmF0ZUxhYmVsIik7Cisg
ICAgbV9hdmFpbGFibGVQYXltZW50TmV0d29ya3MuYWRkKCJ2aXNhIik7CiB9CiAKIGJvb2wgTW9j
a1BheW1lbnRDb29yZGluYXRvcjo6c3VwcG9ydHNWZXJzaW9uKHVuc2lnbmVkIHZlcnNpb24pCkBA
IC02NSw2ICs2NSwxNCBAQCBib29sIE1vY2tQYXltZW50Q29vcmRpbmF0b3I6OnN1cHBvcnRzVmVy
c2lvbih1bnNpZ25lZCB2ZXJzaW9uKQogICAgIHJldHVybiB2ZXJzaW9uIDw9IGN1cnJlbnRWZXJz
aW9uOwogfQogCitzdGQ6Om9wdGlvbmFsPFN0cmluZz4gTW9ja1BheW1lbnRDb29yZGluYXRvcjo6
dmFsaWRhdGVkUGF5bWVudE5ldHdvcmsoY29uc3QgU3RyaW5nJiBwYXltZW50TmV0d29yaykKK3sK
KyAgICBhdXRvIHJlc3VsdCA9IG1fYXZhaWxhYmxlUGF5bWVudE5ldHdvcmtzLmZpbmQocGF5bWVu
dE5ldHdvcmspOworICAgIGlmIChyZXN1bHQgPT0gbV9hdmFpbGFibGVQYXltZW50TmV0d29ya3Mu
ZW5kKCkpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisgICAgcmV0dXJuICpyZXN1bHQ7
Cit9CisKIGJvb2wgTW9ja1BheW1lbnRDb29yZGluYXRvcjo6Y2FuTWFrZVBheW1lbnRzKCkKIHsK
ICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9j
a1BheW1lbnRDb29yZGluYXRvci5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVu
dENvb3JkaW5hdG9yLmgKaW5kZXggYmJkZTQ0YjFlYjgxMTc0YmM2YjZjMWJiZDIxNzkyZjBlNzNm
ZGIzNi4uYTM2OWE4ZDdiZmFhMzk1ZWQ1MGNkNjM3ODk0ZTVmNDA0YmM2MmNhZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmgKQEAgLTEsNSAr
MSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNy0yMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzAsNiArMzAs
OCBAQAogI2luY2x1ZGUgIkFwcGxlUGF5TGluZUl0ZW0uaCIKICNpbmNsdWRlICJNb2NrUGF5bWVu
dEFkZHJlc3MuaCIKICNpbmNsdWRlICJQYXltZW50Q29vcmRpbmF0b3JDbGllbnQuaCIKKyNpbmNs
dWRlIDx3dGYvSGFzaFNldC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00OCwxMyArNTAsMTMgQEAgcHVibGljOgogCiAgICAg
Y29uc3QgQXBwbGVQYXlMaW5lSXRlbSYgdG90YWwoKSBjb25zdCB7IHJldHVybiBtX3RvdGFsOyB9
CiAgICAgY29uc3QgVmVjdG9yPEFwcGxlUGF5TGluZUl0ZW0+JiBsaW5lSXRlbXMoKSBjb25zdCB7
IHJldHVybiBtX2xpbmVJdGVtczsgfQotICAgIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBhdmFpbGFi
bGVQYXltZW50TmV0d29ya3MoKSBjb25zdCB7IHJldHVybiBtX2F2YWlsYWJsZVBheW1lbnROZXR3
b3JrczsgfQogCiAgICAgdm9pZCByZWYoKSBjb25zdCB7IH0KICAgICB2b2lkIGRlcmVmKCkgY29u
c3QgeyB9CiAKIHByaXZhdGU6CiAgICAgYm9vbCBzdXBwb3J0c1ZlcnNpb24odW5zaWduZWQpIGZp
bmFsOworICAgIHN0ZDo6b3B0aW9uYWw8U3RyaW5nPiB2YWxpZGF0ZWRQYXltZW50TmV0d29yayhj
b25zdCBTdHJpbmcmKSBmaW5hbDsKICAgICBib29sIGNhbk1ha2VQYXltZW50cygpIGZpbmFsOwog
ICAgIHZvaWQgY2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmQoY29uc3QgU3RyaW5nJiwgY29u
c3QgU3RyaW5nJiwgV1RGOjpGdW5jdGlvbjx2b2lkKGJvb2wpPiYmKTsKICAgICB2b2lkIG9wZW5Q
YXltZW50U2V0dXAoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgV1RGOjpGdW5jdGlvbjx2
b2lkKGJvb2wpPiYmKTsKQEAgLTc0LDcgKzc2LDcgQEAgcHJpdmF0ZToKICAgICBBcHBsZVBheVBh
eW1lbnRDb250YWN0IG1fc2hpcHBpbmdBZGRyZXNzOwogICAgIEFwcGxlUGF5TGluZUl0ZW0gbV90
b3RhbDsKICAgICBWZWN0b3I8QXBwbGVQYXlMaW5lSXRlbT4gbV9saW5lSXRlbXM7Ci0gICAgVmVj
dG9yPFN0cmluZz4gbV9hdmFpbGFibGVQYXltZW50TmV0d29ya3M7CisgICAgSGFzaFNldDxTdHJp
bmcsIEFTQ0lJQ2FzZUluc2Vuc2l0aXZlSGFzaD4gbV9hdmFpbGFibGVQYXltZW50TmV0d29ya3M7
CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL1dlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuY3BwCmluZGV4IDc4ZjUwOWE2NmQ4ODhhMjIy
YjZjZTRiZDY5ZDg2Yzg0YTFkZTg5MTEuLmU1YWI0ZDA2ZjQ0MmQxZTlhMzdlYWU3MTY3MDY1NmM3
MDllMzM4MGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBhZ2VDcmVhdGlv
blBhcmFtZXRlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBhZ2VDcmVhdGlv
blBhcmFtZXRlcnMuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAx
MC0yMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAxMC0yMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwpAQCAtMTEyLDkgKzExMiw2IEBAIHZvaWQgV2ViUGFnZUNyZWF0aW9u
UGFyYW1ldGVyczo6ZW5jb2RlKElQQzo6RW5jb2RlciYgZW5jb2RlcikgY29uc3QKICNpZiBFTkFC
TEUoQ09OVEVOVF9FWFRFTlNJT05TKQogICAgIGVuY29kZXIgPDwgY29udGVudFJ1bGVMaXN0czsK
ICNlbmRpZgotI2lmIEVOQUJMRShBUFBMRV9QQVkpCi0gICAgZW5jb2RlciA8PCBhdmFpbGFibGVQ
YXltZW50TmV0d29ya3M7Ci0jZW5kaWYKIH0KIAogc3RkOjpvcHRpb25hbDxXZWJQYWdlQ3JlYXRp
b25QYXJhbWV0ZXJzPiBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUoSVBDOjpEZWNv
ZGVyJiBkZWNvZGVyKQpAQCAtMzIxLDE0ICszMTgsNiBAQCBzdGQ6Om9wdGlvbmFsPFdlYlBhZ2VD
cmVhdGlvblBhcmFtZXRlcnM+IFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZShJUEM6
OgogICAgIHBhcmFtZXRlcnMuY29udGVudFJ1bGVMaXN0cyA9IFdURk1vdmUoKmNvbnRlbnRSdWxl
TGlzdHMpOwogI2VuZGlmCiAKLSNpZiBFTkFCTEUoQVBQTEVfUEFZKQotICAgIHN0ZDo6b3B0aW9u
YWw8VmVjdG9yPFN0cmluZz4+IGF2YWlsYWJsZVBheW1lbnROZXR3b3JrczsKLSAgICBkZWNvZGVy
ID4+IGF2YWlsYWJsZVBheW1lbnROZXR3b3JrczsKLSAgICBpZiAoIWF2YWlsYWJsZVBheW1lbnRO
ZXR3b3JrcykKLSAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKLSAgICBwYXJhbWV0ZXJzLmF2
YWlsYWJsZVBheW1lbnROZXR3b3JrcyA9IFdURk1vdmUoKmF2YWlsYWJsZVBheW1lbnROZXR3b3Jr
cyk7Ci0jZW5kaWYKLQogICAgIHJldHVybiBXVEZNb3ZlKHBhcmFtZXRlcnMpOwogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmgg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmgKaW5kZXgg
YTIwOTk2ZTJlMDg1ZGUwZThlNzFkNjI4ZDgyYmY3NGUyZGRhMzU1My4uM2ZiZDU5YTc5NzE1NjE4
Zjk1Y2RkMDFiMDRjNGQ0YjRlMTc3OGIzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1dlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTAtMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTAtMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAg
KgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTE3NywxMCArMTc3LDYgQEAgc3RydWN0
IFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMgewogI2lmIEVOQUJMRShDT05URU5UX0VYVEVOU0lP
TlMpCiAgICAgVmVjdG9yPHN0ZDo6cGFpcjxTdHJpbmcsIFdlYkNvbXBpbGVkQ29udGVudFJ1bGVM
aXN0RGF0YT4+IGNvbnRlbnRSdWxlTGlzdHM7CiAjZW5kaWYKLQotI2lmIEVOQUJMRShBUFBMRV9Q
QVkpCi0gICAgVmVjdG9yPFN0cmluZz4gYXZhaWxhYmxlUGF5bWVudE5ldHdvcmtzOwotI2VuZGlm
CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAKaW5kZXggOTViMjJmZWZmMGJmYzBmODQyYThhYzdi
YWU1ZGYzZjM4YTk0YmZjZC4uMmFkZjAxY2MxNGNjMjdiMjllMGEzY2YwNjA1YjkwYjYxMjVkNDRk
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNl
cy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5j
cHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEwLTIwMTYgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwLTIwMTggQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCkBAIC0zMiwxMCArMzIsNiBAQAogI2luY2x1ZGUgPFdlYkNvcmUvU2V0dGluZ3MuaD4KICNp
bmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKLSNpZiBFTkFCTEUoQVBQTEVfUEFZKQotI2luY2x1ZGUg
IldlYlBheW1lbnRDb29yZGluYXRvclByb3h5LmgiCi0jZW5kaWYKLQogdXNpbmcgbmFtZXNwYWNl
IFdlYktpdDsKIAogV0tUeXBlSUQgV0tQcmVmZXJlbmNlc0dldFR5cGVJRCgpCkBAIC0xNzkxLDEw
ICsxNzg3LDYgQEAgV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldEFwcGxlUGF5RW5hYmxl
ZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKQogCiB2b2lkIFdLUHJlZmVyZW5jZXNT
ZXRBcHBsZVBheUVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBl
bmFibGVkKQogewotI2lmIEVOQUJMRShBUFBMRV9QQVkpCi0gICAgaWYgKCFXZWJQYXltZW50Q29v
cmRpbmF0b3JQcm94eTo6cGxhdGZvcm1TdXBwb3J0c1BheW1lbnRzKCkpCi0gICAgICAgIGVuYWJs
ZWQgPSBmYWxzZTsKLSNlbmRpZgogICAgIFdlYktpdDo6dG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+
c2V0QXBwbGVQYXlFbmFibGVkKGVuYWJsZWQpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQppbmRleCA3ODIxNWMyNGNhMWUzZjE3ODIwNjFk
OTY5NjFiNWIzNzg2Yzc2MjVmLi5kZDI3NWE3NDNlY2M4ZDMzZGRlYWZmNWUxY2M0ZGJhMzIxODU5
YTVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJW
aWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcu
bW0KQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE0LTIwMTcgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE0LTIwMTggQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCkBAIC03NCw3ICs3NCw2IEBACiAjaW1wb3J0ICJXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5
LmgiCiAjaW1wb3J0ICJXZWJQYWdlR3JvdXAuaCIKICNpbXBvcnQgIldlYlBhZ2VQcm94eS5oIgot
I2ltcG9ydCAiV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkuaCIKICNpbXBvcnQgIldlYlByZWZl
cmVuY2VzS2V5cy5oIgogI2ltcG9ydCAiV2ViUHJvY2Vzc1Bvb2wuaCIKICNpbXBvcnQgIldlYlBy
b2Nlc3NQcm94eS5oIgpAQCAtNTk2LDggKzU5NSw3IEBAIC0gKHZvaWQpX2luaXRpYWxpemVXaXRo
Q29uZmlndXJhdGlvbjooV0tXZWJWaWV3Q29uZmlndXJhdGlvbiAqKWNvbmZpZ3VyYXRpb24KICNl
bmRpZgogCiAjaWYgRU5BQkxFKEFQUExFX1BBWSkKLSAgICBib29sIGFwcGxlUGF5RW5hYmxlZCA9
IFtfY29uZmlndXJhdGlvbiBfYXBwbGVQYXlFbmFibGVkXSAmJiBXZWJLaXQ6OldlYlBheW1lbnRD
b29yZGluYXRvclByb3h5OjpwbGF0Zm9ybVN1cHBvcnRzUGF5bWVudHMoKTsKLSAgICBwYWdlQ29u
ZmlndXJhdGlvbi0+cHJlZmVyZW5jZVZhbHVlcygpLnNldChXZWJLaXQ6OldlYlByZWZlcmVuY2Vz
S2V5OjphcHBsZVBheUVuYWJsZWRLZXkoKSwgV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlOjpW
YWx1ZShhcHBsZVBheUVuYWJsZWQpKTsKKyAgICBwYWdlQ29uZmlndXJhdGlvbi0+cHJlZmVyZW5j
ZVZhbHVlcygpLnNldChXZWJLaXQ6OldlYlByZWZlcmVuY2VzS2V5OjphcHBsZVBheUVuYWJsZWRL
ZXkoKSwgV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlOjpWYWx1ZSghIVtfY29uZmlndXJhdGlv
biBfYXBwbGVQYXlFbmFibGVkXSkpOwogI2VuZGlmCiAKICAgICBwYWdlQ29uZmlndXJhdGlvbi0+
cHJlZmVyZW5jZVZhbHVlcygpLnNldChXZWJLaXQ6OldlYlByZWZlcmVuY2VzS2V5OjpuZWVkc1N0
b3JhZ2VBY2Nlc3NGcm9tRmlsZVVSTHNRdWlya0tleSgpLCBXZWJLaXQ6OldlYlByZWZlcmVuY2Vz
U3RvcmU6OlZhbHVlKCEhW19jb25maWd1cmF0aW9uIF9uZWVkc1N0b3JhZ2VBY2Nlc3NGcm9tRmls
ZVVSTHNRdWlya10pKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FwcGxl
UGF5L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5LmNwcAppbmRleCA5NjFiYmQz
N2MzN2ZiNjAyZTU4NWQ2MzFiMjQ0ZmVhOGNiMGQ5YmI4Li45MTQ5NTJlYTYwMjY3ZDYwNDYyN2Rm
NTUyZTFmNzA4MzEyZTZlNTc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
cHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkuY3BwCkBAIC0x
LDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNSwgMjAxNiBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUtMjAxOCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAg
LTU3LDYgKzU3LDExIEBAIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5Ojp+V2ViUGF5bWVudENv
b3JkaW5hdG9yUHJveHkoKQogICAgIG1fd2ViUGFnZVByb3h5LnByb2Nlc3MoKS5yZW1vdmVNZXNz
YWdlUmVjZWl2ZXIoTWVzc2FnZXM6OldlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjptZXNzYWdl
UmVjZWl2ZXJOYW1lKCksIG1fd2ViUGFnZVByb3h5LnBhZ2VJRCgpKTsKIH0KIAordm9pZCBXZWJQ
YXltZW50Q29vcmRpbmF0b3JQcm94eTo6YXZhaWxhYmxlUGF5bWVudE5ldHdvcmtzKFZlY3RvcjxT
dHJpbmc+JiBuZXR3b3JrcykKK3sKKyAgICBuZXR3b3JrcyA9IHBsYXRmb3JtQXZhaWxhYmxlUGF5
bWVudE5ldHdvcmtzKCk7Cit9CisKIHZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OmNh
bk1ha2VQYXltZW50cyhib29sJiByZXBseSkKIHsKICAgICByZXBseSA9IHBsYXRmb3JtQ2FuTWFr
ZVBheW1lbnRzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BcHBsZVBh
eS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkuaAppbmRleCBjOTc0MWIwMTgwZGEw
YzFmZDAwNDFmYTRjZTMyOTYzOTI2NWI4YzQ0Li5jODIwYmQ1ODZmNDQ4NjJjN2U5YzU1ZGZlZDA5
ZDNlZjVhZTY5MDEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BcHBsZVBh
eS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5LmgKQEAgLTEsNSArMSw1IEBA
CiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE1LTIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE1LTIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC02OSwxNSArNjks
MTMgQEAgcHVibGljOgogCiAgICAgdm9pZCBoaWRlUGF5bWVudFVJKCk7CiAKLSAgICBzdGF0aWMg
Ym9vbCBwbGF0Zm9ybVN1cHBvcnRzUGF5bWVudHMoKTsKLSAgICBzdGF0aWMgVmVjdG9yPFN0cmlu
Zz4gYXZhaWxhYmxlUGF5bWVudE5ldHdvcmtzKCk7Ci0KIHByaXZhdGU6CiAgICAgLy8gSVBDOjpN
ZXNzYWdlUmVjZWl2ZXIuCiAgICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rp
b24mLCBJUEM6OkRlY29kZXImKSBvdmVycmlkZTsKICAgICB2b2lkIGRpZFJlY2VpdmVTeW5jTWVz
c2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImLCBzdGQ6OnVuaXF1ZV9wdHI8SVBD
OjpFbmNvZGVyPiYpIG92ZXJyaWRlOwogCiAgICAgLy8gTWVzc2FnZSBoYW5kbGVycy4KKyAgICB2
b2lkIGF2YWlsYWJsZVBheW1lbnROZXR3b3JrcyhWZWN0b3I8U3RyaW5nPiYpOwogICAgIHZvaWQg
Y2FuTWFrZVBheW1lbnRzKGJvb2wmIHJlcGx5KTsKICAgICB2b2lkIGNhbk1ha2VQYXltZW50c1dp
dGhBY3RpdmVDYXJkKGNvbnN0IFN0cmluZyYgbWVyY2hhbnRJZGVudGlmaWVyLCBjb25zdCBTdHJp
bmcmIGRvbWFpbk5hbWUsIHVpbnQ2NF90IHJlcXVlc3RJRCk7CiAgICAgdm9pZCBvcGVuUGF5bWVu
dFNldHVwKGNvbnN0IFN0cmluZyYgbWVyY2hhbnRJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGRv
bWFpbk5hbWUsIHVpbnQ2NF90IHJlcXVlc3RJRCk7CkBAIC05Nyw2ICs5NSw3IEBAIHByaXZhdGU6
CiAKICAgICB2b2lkIGRpZFJlYWNoRmluYWxTdGF0ZSgpOwogCisgICAgVmVjdG9yPFN0cmluZz4g
cGxhdGZvcm1BdmFpbGFibGVQYXltZW50TmV0d29ya3MoKTsKICAgICBib29sIHBsYXRmb3JtQ2Fu
TWFrZVBheW1lbnRzKCk7CiAgICAgdm9pZCBwbGF0Zm9ybUNhbk1ha2VQYXltZW50c1dpdGhBY3Rp
dmVDYXJkKGNvbnN0IFN0cmluZyYgbWVyY2hhbnRJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGRv
bWFpbk5hbWUsIFdURjo6RnVuY3Rpb248dm9pZCAoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIp
OwogICAgIHZvaWQgcGxhdGZvcm1PcGVuUGF5bWVudFNldHVwKGNvbnN0IFN0cmluZyYgbWVyY2hh
bnRJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGRvbWFpbk5hbWUsIFdURjo6RnVuY3Rpb248dm9p
ZCAoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkubWVzc2FnZXMu
aW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0
b3JQcm94eS5tZXNzYWdlcy5pbgppbmRleCAzZmYwMWFlZDczMDk5NWMyNzM3ODVkZmEwNTk5Njhh
MWE5YjIyZjA0Li43OTIzNTY0OGI3ZTU2YWYzNjUyOTY0ZTNjMmZiNzU4MWExZDRiZDA0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRp
bmF0b3JQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BcHBs
ZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eS5tZXNzYWdlcy5pbgpAQCAtMSw0ICsxLDQg
QEAKLSMgQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyMgQ29weXJpZ2h0IChDKSAyMDE1LTIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogIwogIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKICMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yNiw2ICsyNiw3IEBACiAKIG1lc3Nh
Z2VzIC0+IFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5IHsKIAorICAgIEF2YWlsYWJsZVBheW1l
bnROZXR3b3JrcygpIC0+IChWZWN0b3I8U3RyaW5nPiBhdmFpbGFibGVQYXltZW50TmV0d29ya3Mp
CiAgICAgQ2FuTWFrZVBheW1lbnRzKCkgLT4gKGJvb2wgcmVzdWx0KQogICAgIENhbk1ha2VQYXlt
ZW50c1dpdGhBY3RpdmVDYXJkKFN0cmluZyBtZXJjaGFudElkZW50aWZpZXIsIFN0cmluZyBkb21h
aW5OYW1lLCB1aW50NjRfdCByZXF1ZXN0SUQpCiAgICAgT3BlblBheW1lbnRTZXR1cChTdHJpbmcg
bWVyY2hhbnRJZGVudGlmaWVyLCBTdHJpbmcgZG9tYWluTmFtZSwgdWludDY0X3QgcmVxdWVzdElE
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXBwbGVQYXkvY29jb2EvV2Vi
UGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5Q29jb2EubW0KaW5kZXgg
ODc2YzU0Njk3YTRiMmU0NWY5N2RkYWJlNGFmMjMyYzdjNWYwN2FmMi4uYTRlZWNjYjA5MWJmMGI0
MGNmYjBjMDUzMjgyMjU2OTMxYjA3MzRjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQXBwbGVQYXkvY29jb2EvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BcHBsZVBheS9jb2NvYS9XZWJQYXltZW50Q29v
cmRpbmF0b3JQcm94eUNvY29hLm1tCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAo
QykgMjAxNi0yMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAxNi0yMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjkzLDExICsyOTMsMjMgQEAgbmFtZXNwYWNlIFdl
YktpdCB7CiAKIGJvb2wgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OnBsYXRmb3JtQ2FuTWFr
ZVBheW1lbnRzKCkKIHsKKyNpZiBQTEFURk9STShNQUMpCisgICAgaWYgKCFQYXNzS2l0TGlicmFy
eSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKKwogICAgIHJldHVybiBbZ2V0UEtQ
YXltZW50QXV0aG9yaXphdGlvblZpZXdDb250cm9sbGVyQ2xhc3MoKSBjYW5NYWtlUGF5bWVudHNd
OwogfQogCiB2b2lkIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpwbGF0Zm9ybUNhbk1ha2VQ
YXltZW50c1dpdGhBY3RpdmVDYXJkKGNvbnN0IFN0cmluZyYgbWVyY2hhbnRJZGVudGlmaWVyLCBj
b25zdCBTdHJpbmcmIGRvbWFpbk5hbWUsIFdURjo6RnVuY3Rpb248dm9pZCAoYm9vbCk+JiYgY29t
cGxldGlvbkhhbmRsZXIpCiB7CisjaWYgUExBVEZPUk0oTUFDKQorICAgIGlmICghUGFzc0tpdExp
YnJhcnkoKSkgeworICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisjZW5kaWYKKwogI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hf
VkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMzAwKSB8fCAoUExBVEZPUk0oSU9TKSAmJiBfX0lQ
SE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMTAwMDApCiAgICAgaWYgKCFjYW5Mb2Fk
X1Bhc3NLaXRfUEtDYW5NYWtlUGF5bWVudHNXaXRoTWVyY2hhbnRJZGVudGlmaWVyRG9tYWluQW5k
U291cmNlQXBwbGljYXRpb24oKSkgewogICAgICAgICBSdW5Mb29wOjptYWluKCkuZGlzcGF0Y2go
W2NvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildIHsKQEAgLTMz
NSw2ICszNDcsMTMgQEAgdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6cGxhdGZvcm1D
YW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZChjb25zdCBTdHIKIAogdm9pZCBXZWJQYXltZW50
Q29vcmRpbmF0b3JQcm94eTo6cGxhdGZvcm1PcGVuUGF5bWVudFNldHVwKGNvbnN0IFN0cmluZyYg
bWVyY2hhbnRJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGRvbWFpbk5hbWUsIFdURjo6RnVuY3Rp
b248dm9pZCAoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CisjaWYgUExBVEZPUk0oTUFD
KQorICAgIGlmICghUGFzc0tpdExpYnJhcnkoKSkgeworICAgICAgICBjb21wbGV0aW9uSGFuZGxl
cihmYWxzZSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisjZW5kaWYKKwogICAgIGF1dG8gcGFz
c0xpYnJhcnkgPSBhZG9wdE5TKFthbGxvY1BLUGFzc0xpYnJhcnlJbnN0YW5jZSgpIGluaXRdKTsK
ICAgICBbcGFzc0xpYnJhcnkgb3BlblBheW1lbnRTZXR1cEZvck1lcmNoYW50SWRlbnRpZmllcjpt
ZXJjaGFudElkZW50aWZpZXIgZG9tYWluOmRvbWFpbk5hbWUgY29tcGxldGlvbjpCbG9ja1B0cjx2
b2lkIChCT09MKT46OmZyb21DYWxsYWJsZShbY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNv
bXBsZXRpb25IYW5kbGVyKV0oQk9PTCByZXN1bHQpIG11dGFibGUgewogICAgICAgICBSdW5Mb29w
OjptYWluKCkuZGlzcGF0Y2goW2NvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9u
SGFuZGxlciksIHJlc3VsdF0gewpAQCAtODQ3LDExICs4NjYsMTMgQEAgdm9pZCBXZWJQYXltZW50
Q29vcmRpbmF0b3JQcm94eTo6cGxhdGZvcm1Db21wbGV0ZVBheW1lbnRNZXRob2RTZWxlY3Rpb24o
Y29uc3Qgc3QKICAgICBtX3BheW1lbnRBdXRob3JpemF0aW9uVmlld0NvbnRyb2xsZXJEZWxlZ2F0
ZS0+X2RpZFNlbGVjdFBheW1lbnRNZXRob2RDb21wbGV0aW9uID0gbnVsbHB0cjsKIH0KIAotVmVj
dG9yPFN0cmluZz4gV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OmF2YWlsYWJsZVBheW1lbnRO
ZXR3b3JrcygpCitWZWN0b3I8U3RyaW5nPiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6cGxh
dGZvcm1BdmFpbGFibGVQYXltZW50TmV0d29ya3MoKQogewotICAgIGlmICghcGxhdGZvcm1TdXBw
b3J0c1BheW1lbnRzKCkpCisjaWYgUExBVEZPUk0oTUFDKQorICAgIGlmICghUGFzc0tpdExpYnJh
cnkoKSkKICAgICAgICAgcmV0dXJuIHsgfTsKLQorI2VuZGlmCisgICAgCiAgICAgTlNBcnJheTxQ
S1BheW1lbnROZXR3b3JrPiAqYXZhaWxhYmxlTmV0d29ya3MgPSBbZ2V0UEtQYXltZW50UmVxdWVz
dENsYXNzKCkgYXZhaWxhYmxlTmV0d29ya3NdOwogICAgIFZlY3RvcjxTdHJpbmc+IHJlc3VsdDsK
ICAgICByZXN1bHQucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShhdmFpbGFibGVOZXR3b3Jrcy5jb3Vu
dCk7CkBAIC04NjAsMTUgKzg4MSw2IEBAIFZlY3RvcjxTdHJpbmc+IFdlYlBheW1lbnRDb29yZGlu
YXRvclByb3h5OjphdmFpbGFibGVQYXltZW50TmV0d29ya3MoKQogICAgIHJldHVybiByZXN1bHQ7
CiB9CiAKLWJvb2wgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OnBsYXRmb3JtU3VwcG9ydHNQ
YXltZW50cygpCi17Ci0jaWYgUExBVEZPUk0oTUFDKQotICAgIHJldHVybiBQYXNzS2l0TGlicmFy
eSgpOwotI2Vsc2UKLSAgICByZXR1cm4gdHJ1ZTsKLSNlbmRpZgotfQotCiB9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKIAogI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVkpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BcHBsZVBheS9tYWMvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJv
eHlNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BcHBsZVBheS9tYWMvV2ViUGF5bWVu
dENvb3JkaW5hdG9yUHJveHlNYWMubW0KaW5kZXggYTEyZWM0NjczNDljYzFhMDZjOGFhMmM2ZGNl
ZjFlNWJlMjZlNmNhMS4uZGZmOGRlYzkyMTU4Y2QxYmRhNjkxNzAxY2E4ZGQyYjU3ZWFhMjJlZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXBwbGVQYXkvbWFjL1dlYlBheW1l
bnRDb29yZGluYXRvclByb3h5TWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Fw
cGxlUGF5L21hYy9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1hYy5tbQpAQCAtMSw1ICsxLDUg
QEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE2LTIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zNCw3ICszNCw3IEBA
CiAjaW1wb3J0IDx3dGYvQmxvY2tQdHIuaD4KICNpbXBvcnQgPHd0Zi9Tb2Z0TGlua2luZy5oPgog
Ci1TT0ZUX0xJTktfUFJJVkFURV9GUkFNRVdPUksoUGFzc0tpdCkKK1NPRlRfTElOS19QUklWQVRF
X0ZSQU1FV09SS19PUFRJT05BTChQYXNzS2l0KQogCiBTT0ZUX0xJTktfQ0xBU1MoUGFzc0tpdCwg
UEtQYXltZW50QXV0aG9yaXphdGlvblZpZXdDb250cm9sbGVyKTsKIFNPRlRfTElOS19DT05TVEFO
VChQYXNzS2l0LCBQS0V4dGVuc2lvblBheW1lbnRBdXRob3JpemF0aW9uVUlFeHRlbnNpb25Qb2lu
dE5hbWUsIE5TU3RyaW5nICopOwpAQCAtNDMsNiArNDMsMTEgQEAgbmFtZXNwYWNlIFdlYktpdCB7
CiAKIHZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OnBsYXRmb3JtU2hvd1BheW1lbnRV
SShjb25zdCBXZWJDb3JlOjpVUkwmIG9yaWdpbmF0aW5nVVJMLCBjb25zdCBWZWN0b3I8V2ViQ29y
ZTo6VVJMPiYgbGlua0ljb25VUkxTdHJpbmdzLCBjb25zdCBXZWJDb3JlOjpBcHBsZVBheVNlc3Np
b25QYXltZW50UmVxdWVzdCYgcmVxdWVzdCwgV1RGOjpGdW5jdGlvbjx2b2lkIChib29sKT4mJiBj
b21wbGV0aW9uSGFuZGxlcikKIHsKKyAgICBpZiAoIVBhc3NLaXRMaWJyYXJ5KCkpIHsKKyAgICAg
ICAgY29tcGxldGlvbkhhbmRsZXIoZmFsc2UpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAg
ICAgYXV0byBwYXltZW50UmVxdWVzdCA9IHRvUEtQYXltZW50UmVxdWVzdChtX3dlYlBhZ2VQcm94
eSwgb3JpZ2luYXRpbmdVUkwsIGxpbmtJY29uVVJMU3RyaW5ncywgcmVxdWVzdCk7CiAKICAgICBh
dXRvIHNob3dQYXltZW50VUlSZXF1ZXN0U2VlZCA9IG1fc2hvd1BheW1lbnRVSVJlcXVlc3RTZWVk
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggN2I3Njk4M2I4
ZjYzMmJhOWEzMjY2ZDg2YzJmOTk3NDVhNTRhZTZmYi4uY2UxNWFjZWRiNjFlYWY4Zjg1ZjZlZGE3
YWVlMzI2YzY5ZmZlZDU4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
Y3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMC0yMDE3IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMC0yMDE4IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAxMiBJbnRl
bCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKQEAg
LTU4NDUsMTAgKzU4NDUsNiBAQCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzIFdlYlBhZ2VQcm94
eTo6Y3JlYXRpb25QYXJhbWV0ZXJzKCkKICAgICBwYXJhbWV0ZXJzLmFwcGxpY2F0aW9uTWFuaWZl
c3QgPSBtX2NvbmZpZ3VyYXRpb24tPmFwcGxpY2F0aW9uTWFuaWZlc3QoKSA/IHN0ZDo6b3B0aW9u
YWw8V2ViQ29yZTo6QXBwbGljYXRpb25NYW5pZmVzdD4obV9jb25maWd1cmF0aW9uLT5hcHBsaWNh
dGlvbk1hbmlmZXN0KCktPmFwcGxpY2F0aW9uTWFuaWZlc3QoKSkgOiBzdGQ6Om51bGxvcHQ7CiAj
ZW5kaWYKIAotI2lmIEVOQUJMRShBUFBMRV9QQVkpCi0gICAgcGFyYW1ldGVycy5hdmFpbGFibGVQ
YXltZW50TmV0d29ya3MgPSBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6YXZhaWxhYmxlUGF5
bWVudE5ldHdvcmtzKCk7Ci0jZW5kaWYKLQogICAgIG1fcHJvY2Vzcy0+YWRkV2ViVXNlckNvbnRl
bnRDb250cm9sbGVyUHJveHkobV91c2VyQ29udGVudENvbnRyb2xsZXIsIHBhcmFtZXRlcnMpOwog
CiAgICAgcmV0dXJuIHBhcmFtZXRlcnM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yLmNwcCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3IuY3BwCmluZGV4IDQ3MTZl
NjAzNjkzNWQ5ZDdhNzNiNTgxMTkxMjEzNDNjZGRmZmZjZGQuLjgzODI3ZThlZTI2M2U4ZjZkYzQ1
NzA0MDY3ZDgzMTdkZjBkZDYyNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3IuY3BwCkBAIC0xLDUgKzEs
NSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNSwgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUtMjAxOCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTY0LDYg
KzY0LDMyIEBAIGJvb2wgV2ViUGF5bWVudENvb3JkaW5hdG9yOjpzdXBwb3J0c1ZlcnNpb24odW5z
aWduZWQgdmVyc2lvbikKICAgICByZXR1cm4gdmVyc2lvbiA8PSBjdXJyZW50VmVyc2lvbjsKIH0K
IAorY29uc3QgV2ViUGF5bWVudENvb3JkaW5hdG9yOjpBdmFpbGFibGVQYXltZW50TmV0d29ya3NT
ZXQmIFdlYlBheW1lbnRDb29yZGluYXRvcjo6YXZhaWxhYmxlUGF5bWVudE5ldHdvcmtzKCkKK3sK
KyAgICBpZiAobV9hdmFpbGFibGVQYXltZW50TmV0d29ya3MpCisgICAgICAgIHJldHVybiAqbV9h
dmFpbGFibGVQYXltZW50TmV0d29ya3M7CisKKyAgICBtX2F2YWlsYWJsZVBheW1lbnROZXR3b3Jr
cyA9IFdlYlBheW1lbnRDb29yZGluYXRvcjo6QXZhaWxhYmxlUGF5bWVudE5ldHdvcmtzU2V0KCk7
CisKKyAgICBWZWN0b3I8U3RyaW5nPiBhdmFpbGFibGVQYXltZW50TmV0d29ya3M7CisgICAgdXNp
bmcgQXZhaWxhYmxlUGF5bWVudE5ldHdvcmtzTWVzc2FnZSA9IE1lc3NhZ2VzOjpXZWJQYXltZW50
Q29vcmRpbmF0b3JQcm94eTo6QXZhaWxhYmxlUGF5bWVudE5ldHdvcmtzOworICAgIGlmIChtX3dl
YlBhZ2Uuc2VuZFN5bmMoQXZhaWxhYmxlUGF5bWVudE5ldHdvcmtzTWVzc2FnZSgpLCBBdmFpbGFi
bGVQYXltZW50TmV0d29ya3NNZXNzYWdlOjpSZXBseShhdmFpbGFibGVQYXltZW50TmV0d29ya3Mp
KSkgeworICAgICAgICBmb3IgKGF1dG8mIG5ldHdvcmsgOiBhdmFpbGFibGVQYXltZW50TmV0d29y
a3MpCisgICAgICAgICAgICBtX2F2YWlsYWJsZVBheW1lbnROZXR3b3Jrcy0+YWRkKG5ldHdvcmsp
OworICAgIH0KKworICAgIHJldHVybiAqbV9hdmFpbGFibGVQYXltZW50TmV0d29ya3M7Cit9CisK
K3N0ZDo6b3B0aW9uYWw8U3RyaW5nPiBXZWJQYXltZW50Q29vcmRpbmF0b3I6OnZhbGlkYXRlZFBh
eW1lbnROZXR3b3JrKGNvbnN0IFN0cmluZyYgcGF5bWVudE5ldHdvcmspCit7CisgICAgYXV0byYg
cGF5bWVudE5ldHdvcmtzID0gYXZhaWxhYmxlUGF5bWVudE5ldHdvcmtzKCk7CisgICAgYXV0byBy
ZXN1bHQgPSBwYXltZW50TmV0d29ya3MuZmluZChwYXltZW50TmV0d29yayk7CisgICAgaWYgKHJl
c3VsdCA9PSBwYXltZW50TmV0d29ya3MuZW5kKCkpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxv
cHQ7CisgICAgcmV0dXJuICpyZXN1bHQ7Cit9CisKIGJvb2wgV2ViUGF5bWVudENvb3JkaW5hdG9y
OjpjYW5NYWtlUGF5bWVudHMoKQogewogICAgIGJvb2wgY2FuTWFrZVBheW1lbnRzOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGlu
YXRvci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29y
ZGluYXRvci5oCmluZGV4IGU4MmFlM2VkNjJiYzBhNTVjYzI4YTk1NmU4YmY0NTdhMzliYzA5MTMu
LmU0ODg3Y2M4OGFiMWYxOWZiZGE5OWYzYzBiMmM4YWVkMWRiM2EwNDQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3IuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5h
dG9yLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE1LCAyMDE2IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNS0yMDE4
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwpAQCAtMzIsNiArMzIsOCBAQAogI2luY2x1ZGUgPFdlYkNvcmUvUGF5bWVudEhlYWRl
cnMuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+
CisjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNo
Lmg+CiAKIG5hbWVzcGFjZSBJUEMgewogY2xhc3MgRGF0YVJlZmVyZW5jZTsKQEAgLTU0LDYgKzU2
LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICAvLyBXZWJDb3JlOjpQYXltZW50Q29vcmRpbmF0
b3JDbGllbnQuCiAgICAgYm9vbCBzdXBwb3J0c1ZlcnNpb24odW5zaWduZWQgdmVyc2lvbikgb3Zl
cnJpZGU7CisgICAgc3RkOjpvcHRpb25hbDxTdHJpbmc+IHZhbGlkYXRlZFBheW1lbnROZXR3b3Jr
KGNvbnN0IFN0cmluZyYpIG92ZXJyaWRlOwogICAgIGJvb2wgY2FuTWFrZVBheW1lbnRzKCkgb3Zl
cnJpZGU7CiAgICAgdm9pZCBjYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZChjb25zdCBTdHJp
bmcmIG1lcmNoYW50SWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBkb21haW5OYW1lLCBXVEY6OkZ1
bmN0aW9uPHZvaWQgKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKSBvdmVycmlkZTsKICAgICB2
b2lkIG9wZW5QYXltZW50U2V0dXAoY29uc3QgU3RyaW5nJiBtZXJjaGFudElkZW50aWZpZXIsIGNv
bnN0IFN0cmluZyYgZG9tYWluTmFtZSwgV1RGOjpGdW5jdGlvbjx2b2lkIChib29sKT4mJiBjb21w
bGV0aW9uSGFuZGxlcikgb3ZlcnJpZGU7CkBAIC04MywxMSArODYsMTYgQEAgcHJpdmF0ZToKICAg
ICB2b2lkIG9wZW5QYXltZW50U2V0dXBSZXBseSh1aW50NjRfdCByZXF1ZXN0SUQsIGJvb2wgcmVz
dWx0KTsKIAogICAgIFdlYkNvcmU6OlBheW1lbnRDb29yZGluYXRvciYgcGF5bWVudENvb3JkaW5h
dG9yKCk7CisgICAgCisgICAgdXNpbmcgQXZhaWxhYmxlUGF5bWVudE5ldHdvcmtzU2V0ID0gSGFz
aFNldDxTdHJpbmcsIEFTQ0lJQ2FzZUluc2Vuc2l0aXZlSGFzaD47CisgICAgY29uc3QgQXZhaWxh
YmxlUGF5bWVudE5ldHdvcmtzU2V0JiBhdmFpbGFibGVQYXltZW50TmV0d29ya3MoKTsKIAogICAg
IFdlYlBhZ2UmIG1fd2ViUGFnZTsKIAogICAgIEhhc2hNYXA8dWludDY0X3QsIFdURjo6RnVuY3Rp
b248dm9pZCAoYm9vbCk+PiBtX3BlbmRpbmdDYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZENh
bGxiYWNrczsKICAgICBIYXNoTWFwPHVpbnQ2NF90LCBXVEY6OkZ1bmN0aW9uPHZvaWQgKGJvb2wp
Pj4gbV9wZW5kaW5nT3BlblBheW1lbnRTZXR1cENhbGxiYWNrczsKKworICAgIHN0ZDo6b3B0aW9u
YWw8QXZhaWxhYmxlUGF5bWVudE5ldHdvcmtzU2V0PiBtX2F2YWlsYWJsZVBheW1lbnROZXR3b3Jr
czsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHAKaW5kZXggYmI0Mjg5Yjg4N2M4MWZmNzBmMTAxMGE2ZDliNjY3YjBkMTdhODlhMi4uZjlmZDBm
YjcyNDBiMmYyYzM4MDk0MDRmYWQ0OGJiMzdhMmM5OTJlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29w
eXJpZ2h0IChDKSAyMDEwLTIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICog
Q29weXJpZ2h0IChDKSAyMDEwLTIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICogQ29weXJpZ2h0IChDKSAyMDEyIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICogQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMg
c3Vic2lkaWFyeSgtaWVzKQogICoKQEAgLTQyMSw3ICs0MjEsNiBAQCBXZWJQYWdlOjpXZWJQYWdl
KHVpbnQ2NF90IHBhZ2VJRCwgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyYmIHBhcmFtZXRlcnMp
CiAKICNpZiBFTkFCTEUoQVBQTEVfUEFZKQogICAgIHBhZ2VDb25maWd1cmF0aW9uLnBheW1lbnRD
b29yZGluYXRvckNsaWVudCA9IG5ldyBXZWJQYXltZW50Q29vcmRpbmF0b3IoKnRoaXMpOwotICAg
IHBhZ2VDb25maWd1cmF0aW9uLmF2YWlsYWJsZVBheW1lbnROZXR3b3JrcyA9IFdURk1vdmUocGFy
YW1ldGVycy5hdmFpbGFibGVQYXltZW50TmV0d29ya3MpOwogI2VuZGlmCiAKICNpZiBFTkFCTEUo
QVBQTElDQVRJT05fTUFOSUZFU1QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJDb3JlU3VwcG9ydC9XZWJQYXltZW50Q29vcmRpbmF0b3JDbGllbnQuaCBiL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBheW1lbnRDb29yZGluYXRvckNsaWVu
dC5oCmluZGV4IGU4MWE4ZWQ0NGZhMzIzZGJjZjk4NTBkZmI2NmFhZGE2MDRlOWFkYmMuLmZkNGNk
NGM0YjM2ZDhiZmY0YmNlNTdiZjE1ZWQ2Zjg5ZjRlY2Q1ODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBheW1lbnRDb29yZGluYXRvckNsaWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBheW1l
bnRDb29yZGluYXRvckNsaWVudC5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAo
QykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTUtMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKQEAgLTM3LDYgKzM3LDcgQEAgcHJpdmF0ZToKICAgICB+V2ViUGF5
bWVudENvb3JkaW5hdG9yQ2xpZW50KCk7CiAKICAgICBib29sIHN1cHBvcnRzVmVyc2lvbih1bnNp
Z25lZCkgb3ZlcnJpZGU7CisgICAgc3RkOjpvcHRpb25hbDxTdHJpbmc+IHZhbGlkYXRlZFBheW1l
bnROZXR3b3JrKGNvbnN0IFN0cmluZyYpIG92ZXJyaWRlOwogICAgIGJvb2wgY2FuTWFrZVBheW1l
bnRzKCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBjYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZChj
b25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCBXVEY6OkZ1bmN0aW9uPHZvaWQgKGJvb2wpPiYm
IGNvbXBsZXRpb25IYW5kbGVyKSBvdmVycmlkZTsKICAgICB2b2lkIG9wZW5QYXltZW50U2V0dXAo
Y29uc3QgU3RyaW5nJiBtZXJjaGFudElkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgZG9tYWluTmFt
ZSwgV1RGOjpGdW5jdGlvbjx2b2lkIChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikgb3ZlcnJp
ZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9X
ZWJQYXltZW50Q29vcmRpbmF0b3JDbGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9X
ZWJDb3JlU3VwcG9ydC9XZWJQYXltZW50Q29vcmRpbmF0b3JDbGllbnQubW0KaW5kZXggNmFhZjAw
ZjgzZGYxMjA5MDVhOGFlMzBkMGJiMjA0NzU2ZGNlMzhlMy4uMzM0OTNiZDlmMTYwYmRhOGFhYzVk
YWZmZmE1OTJhNTYwZmE5OTI4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViQ29yZVN1cHBvcnQvV2ViUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50Lm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBheW1lbnRDb29yZGluYXRvckNs
aWVudC5tbQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE1LTIwMTggQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCkBAIC00Myw2ICs0MywxMSBAQCBib29sIFdlYlBheW1lbnRDb29yZGluYXRvckNsaWVudDo6
c3VwcG9ydHNWZXJzaW9uKHVuc2lnbmVkKQogICAgIHJldHVybiBmYWxzZTsKIH0KIAorc3RkOjpv
cHRpb25hbDxTdHJpbmc+IFdlYlBheW1lbnRDb29yZGluYXRvckNsaWVudDo6dmFsaWRhdGVkUGF5
bWVudE5ldHdvcmsoY29uc3QgU3RyaW5nJikKK3sKKyAgICByZXR1cm4gc3RkOjpudWxsb3B0Owor
fQorCiBib29sIFdlYlBheW1lbnRDb29yZGluYXRvckNsaWVudDo6Y2FuTWFrZVBheW1lbnRzKCkK
IHsKICAgICByZXR1cm4gZmFsc2U7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>