<?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>227917</bug_id>
          
          <creation_ts>2021-07-13 13:31:29 -0700</creation_ts>
          <short_desc>[GPU Process] Dump basic RemoteRenderingBackend state when taking system diagnostics</short_desc>
          <delta_ts>2021-07-14 17:01:20 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</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>
          <dependson>227916</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>cdumez</cc>
    
    <cc>heycam</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1776735</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-07-13 13:31:29 -0700</bug_when>
    <thetext>In particular, make it possible to diagnose issues where the GPU process is failing to acknowledge graphics context flushes on behalf of the web process.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776861</commentid>
    <comment_count>1</comment_count>
      <attachid>433480</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-07-13 21:19:05 -0700</bug_when>
    <thetext>Created attachment 433480
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777033</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-07-14 14:08:53 -0700</bug_when>
    <thetext>Tools/Scripts/svn-apply failed to apply attachment 433480 to trunk.
Please resolve the conflicts and upload a new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777036</commentid>
    <comment_count>3</comment_count>
      <attachid>433527</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-07-14 14:16:04 -0700</bug_when>
    <thetext>Created attachment 433527
Rebase on trunk</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777062</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-07-14 15:12:51 -0700</bug_when>
    <thetext>Committed r279926 (239673@main): &lt;https://commits.webkit.org/239673@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 433527.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777063</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-07-14 15:13:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/80599150&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433480</attachid>
            <date>2021-07-13 21:19:05 -0700</date>
            <delta_ts>2021-07-14 14:16:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227917-20210713211904.patch</filename>
            <type>text/plain</type>
            <size>25657</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5OTAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDgyYzhjYzg4ZmYwMjU1MTJl
YWY1NDdiZWZiMDUwMGJhZjZkZGMwYzEuLmVkOWQ4M2IwYTAzMjkyMTU3MTAwYzk3N2FkZmJmZDJl
NzYwZjUxYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNzMgQEAKKzIwMjEtMDctMTMgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW0dQVSBQcm9jZXNzXSBE
dW1wIGJhc2ljIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQgc3RhdGUgd2hlbiB0YWtpbmcgc3lzdGVt
IGRpYWdub3N0aWNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMjc5MTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBNYWtlIGl0IHBvc3NpYmxlIHRvIGRpYWdub3NlIGlzc3VlcyB3aGVyZSB0aGUgR1BVIFBy
b2Nlc3MgaXMgc3R1Y2sgKGUuZy4gZmFpbGluZyB0byBhY2tub3dsZWRnZSBjb250ZXh0IGZsdXNo
ZXMKKyAgICAgICAgZnJvbSB0aGUgd2ViIHByb2Nlc3MpIGJ5IGR1bXBpbmcgaW5mb3JtYXRpb24g
YWJvdXQgdGhlIHN0YXRlcyBvZiBhbGwgUmVtb3RlUmVuZGVyaW5nQmFja2VuZHMgaW4gdGhlIEdQ
VSBwcm9jZXNzLgorICAgICAgICBTZWUgY29tbWVudHMgYmVsb3cgZm9yIG1vcmUgZGV0YWlsLgor
CisgICAgICAgICogR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmg6CisgICAg
ICAgIChXZWJLaXQ6OkdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OnJlbW90ZVJlbmRlcmluZ0Jh
Y2tlbmRNYXAgY29uc3QpOgorCisgICAgICAgIEV4cG9zZSB0aGlzIGNvbnN0IGdldHRlciwgc28g
dGhhdCBHUFVQcm9jZXNzIGNhbiBpdGVyYXRlIG92ZXIgcmVtb3RlIHJlbmRlcmluZyBiYWNrZW5k
cyB3aGVuIGNvbGxlY3RpbmcKKyAgICAgICAgZGlhZ25vc3RpYyBpbmZvcm1hdGlvbiBpbiBgYWRk
aXRpb25hbFN0YXRlRm9yRGlhZ25vc3RpY1JlcG9ydCgpYC4KKworICAgICAgICAqIEdQVVByb2Nl
c3MvR1BVUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3M6OmluaXRpYWxp
emVHUFVQcm9jZXNzKToKKyAgICAgICAgKiBHUFVQcm9jZXNzL0dQVVByb2Nlc3MuaDoKKyAgICAg
ICAgKiBHUFVQcm9jZXNzL2NvY29hL0dQVVByb2Nlc3NDb2NvYS5tbTogQWRkZWQuCisgICAgICAg
IChXZWJLaXQ6OkdQVVByb2Nlc3M6OmFkZGl0aW9uYWxTdGF0ZUZvckRpYWdub3N0aWNSZXBvcnQg
Y29uc3QpOgorCisgICAgICAgIE92ZXJyaWRlIHRoaXMgbWV0aG9kIGFuZCByZXR1cm4gYSBkaWN0
aW9uYXJ5IGNvbnRhaW5pbmcgaW5mb3JtYXRpb24gYWJvdXQgZWFjaCBSZW1vdGVSZW5kZXJpbmdC
YWNrZW5kIGZvciBhbGwKKyAgICAgICAgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzc2VzLiBUaGlz
IGlzIGFuIGV4YW1wbGUgb2YgYSBzdGF0ZSBkaWN0aW9uYXJ5OgorCisgICAgICAgIGBgYAorICAg
ICAgICB7CisgICAgICAgICAgICAiUmVtb3RlUmVuZGVyaW5nQmFja2VuZCBzdGF0ZXMiID0gICAg
IHsKKyAgICAgICAgICAgICAgICA8V1AgSUQ+ID0gICAgICAgICB7CisgICAgICAgICAgICAgICAg
ICAgIDxSUkIgSUQ+ID0gRmluaXNoZWRSZXBsYXlpbmdEaXNwbGF5TGlzdDsKKyAgICAgICAgICAg
ICAgICB9OworICAgICAgICAgICAgfTsKKyAgICAgICAgfQorICAgICAgICBgYGAKKworICAgICAg
ICBJbXBvcnRhbnRseSwgdGhpcyByZXZlYWxzIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmRzIHRoYXQg
YXJlIHN0dWNrIHdhaXRpbmcgZm9yIG5ld2x5IGNyZWF0ZWQgZGlzcGxheSBsaXN0IGl0ZW0KKyAg
ICAgICAgYnVmZmVycywgbWlzc2luZyBjYWNoZWQgcmVzb3VyY2VzLCBvciBkZXN0aW5hdGlvbiBp
bWFnZSBidWZmZXJzIChlc3NlbnRpYWxseSBhIHNwZWNpYWwgY2FzZSBvZiAibWlzc2luZyBjYWNo
ZWQKKyAgICAgICAgcmVzb3VyY2VzIiksIGFuZCBhbHNvIGNhc2VzIHdoZXJlIGRpc3BsYXkgbGlz
dCBwbGF5YmFjayBpbmZpbml0ZWx5IGxvb3BzIG9yIG90aGVyd2lzZSBoYW5ncy4KKworICAgICAg
ICAqIEdQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OlJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ6Om5leHREZXN0aW5hdGlvbkltYWdl
QnVmZmVyQWZ0ZXJBcHBseWluZ0Rpc3BsYXlMaXN0cyk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90
ZVJlbmRlcmluZ0JhY2tlbmQ6Ondha2VVcEFuZEFwcGx5RGlzcGxheUxpc3QpOgorICAgICAgICAo
V2ViS2l0OjpSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjpzZXROZXh0SXRlbUJ1ZmZlclRvUmVhZCk6
CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ6Omxhc3RLbm93blN0YXRl
IGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlUmVuZGVyaW5nQmFja2VuZDo6dXBkYXRl
TGFzdEtub3duU3RhdGUpOgorCisgICAgICAgIEFkZCBhIHN0YXRlIGZsYWcgdG8gUmVtb3RlUmVu
ZGVyaW5nQmFja2VuZCwgc28gdGhhdCBpdCBjYW4gcmVtZW1iZXIgaXRzIGxhc3Qga25vd24gc3Rh
dGUuIFRoaXMgc3RhdGUgaXMgdXBkYXRlZAorICAgICAgICB3aGVuIGVudGVyaW5nIG9yIGV4aXRp
bmcgdGhlIG1haW4gZGlzcGxheSBsaXN0IHByb2Nlc3NpbmcgbG9vcCAoYHdha2VVcEFuZEFwcGx5
RGlzcGxheUxpc3RgKTsgaWYgd2UncmUgYWJvdXQgdG8KKyAgICAgICAgZ28gdG8gc2xlZXAgd2l0
aCBwZW5kaW5nIHdha2V1cCBhcmd1bWVudHMsIHRoZW4gd2UnbGwgc2V0IHRoZSBsYXN0IGtub3du
IHN0YXRlIHRvIG9uZSBvZiB0aGUgYFdhaXRpbmdGb3JfX19fX19fYAorICAgICAgICBzdGF0ZXMu
CisKKyAgICAgICAgVGhpcyBzdGF0ZSBpcyB3cmFwcGVkIGluIGFuIEF0b21pYywgc2luY2UgaXQn
cyBvbmx5IHVwZGF0ZWQgZnJvbSB0aGUgcmVuZGVyaW5nIGJhY2tlbmQncyBiYWNrZ3JvdW5kIHF1
ZXVlLCBidXQKKyAgICAgICAgaXQncyBvbmx5IHJlYWQgZnJvbSB3aXRoaW4gdGhlIE9TIHN0YXRl
IGhhbmRsZXIgYmxvY2sgb24gdGhlIG1haW4gcXVldWUuCisKKyAgICAgICAgKiBHUFVQcm9jZXNz
L2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNz
L2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmRTdGF0ZS5oOiBBZGRlZC4KKworICAgICAg
ICBBZGQgYSBuZXcgOC1iaXQgZW51bSByZXByZXNlbnRpbmcgdGhlIHN0YXRlIG9mIGEgUmVtb3Rl
UmVuZGVyaW5nQmFja2VuZC4gU2VlIGFib3ZlIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICAgICAg
KFdlYktpdDo6bmFtZSk6CisgICAgICAgICogU291cmNlc0NvY29hLnR4dDoKKyAgICAgICAgKiBX
ZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQ
VS9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlclByb3h5Lmg6CisgICAgICAgIChXZWJLaXQ6OlJl
bW90ZUltYWdlQnVmZmVyUHJveHk6OndhaXRGb3JEaWRGbHVzaFdpdGhUaW1lb3V0KToKKworICAg
ICAgICBBZGQgZmF1bHQgbG9nZ2luZyBpbiB0aGUgY2FzZSB3aGVyZSB3ZSd2ZSByZWFjaGVkIHRo
ZSBtYXhpbXVtIG51bWJlciBvZiB0aW1lb3V0cyB3aGlsZSB3YWl0aW5nIGZvciBhIGRpc3BsYXkK
KyAgICAgICAgbGlzdCBjb250ZXh0IGZsdXNoLiBJbXBvcnRhbnRseSwgd2UgaW5jbHVkZSB0aGUg
cmVtb3RlIHJlbmRlcmluZyBiYWNrZW5kJ3MgaWRlbnRpZmllciBoZXJlIHRvIG1ha2UgaXQgZWFz
aWVyIHRvCisgICAgICAgIGNvcnJlbGF0ZSB3aXRoIGluZm9ybWF0aW9uIGZyb20gR1BVIFByb2Nl
c3Mgc3RhdGUgZHVtcGluZyBhYm92ZS4KKwogMjAyMS0wNy0xMyAgV2Vuc29uIEhzaWVoICA8d2Vu
c29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBbV0syXSBQdXNoIE9TIHN0YXRlIGR1bXBp
bmcgbG9naWMgZG93biBmcm9tIFdlYlByb2Nlc3MgdG8gQXV4aWxpYXJ5UHJvY2VzcwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3Mu
aCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgK
aW5kZXggNWZhZGEzNWMxYmY0YjNhYjI4MDZmYmQ1N2YwZWI2NjFlMDJmZGQyOC4uOTRiMDJmYmQ2
NGJiMGNhMDkwNTZlYTNjNDlkYzVhZDdlZDQ5YWY3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oCkBAIC0xNTIsNiArMTUy
LDEwIEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoV0VCR0wpCiAgICAgdm9pZCByZWxlYXNlR3JhcGhp
Y3NDb250ZXh0R0xGb3JUZXN0aW5nKEdyYXBoaWNzQ29udGV4dEdMSWRlbnRpZmllcik7CiAjZW5k
aWYKKworICAgIHVzaW5nIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmRNYXAgPSBIYXNoTWFwPFJlbmRl
cmluZ0JhY2tlbmRJZGVudGlmaWVyLCBJUEM6OlNjb3BlZEFjdGl2ZU1lc3NhZ2VSZWNlaXZlUXVl
dWU8UmVtb3RlUmVuZGVyaW5nQmFja2VuZD4+OworICAgIGNvbnN0IFJlbW90ZVJlbmRlcmluZ0Jh
Y2tlbmRNYXAmIHJlbW90ZVJlbmRlcmluZ0JhY2tlbmRNYXAoKSBjb25zdCB7IHJldHVybiBtX3Jl
bW90ZVJlbmRlcmluZ0JhY2tlbmRNYXA7IH0KKwogcHJpdmF0ZToKICAgICBHUFVDb25uZWN0aW9u
VG9XZWJQcm9jZXNzKEdQVVByb2Nlc3MmLCBXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciwgSVBD
OjpDb25uZWN0aW9uOjpJZGVudGlmaWVyLCBQQUw6OlNlc3Npb25JRCwgR1BVUHJvY2Vzc0Nvbm5l
Y3Rpb25QYXJhbWV0ZXJzJiYpOwogCkBAIC0yNTMsNyArMjU3LDYgQEAgcHJpdmF0ZToKICAgICBi
b29sIG1fYWxsb3dzRGlzcGxheUNhcHR1cmUgeyBmYWxzZSB9OwogI2VuZGlmCiAKLSAgICB1c2lu
ZyBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kTWFwID0gSGFzaE1hcDxSZW5kZXJpbmdCYWNrZW5kSWRl
bnRpZmllciwgSVBDOjpTY29wZWRBY3RpdmVNZXNzYWdlUmVjZWl2ZVF1ZXVlPFJlbW90ZVJlbmRl
cmluZ0JhY2tlbmQ+PjsKICAgICBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kTWFwIG1fcmVtb3RlUmVu
ZGVyaW5nQmFja2VuZE1hcDsKICNpZiBFTkFCTEUoV0VCR0wpCiAgICAgdXNpbmcgUmVtb3RlR3Jh
cGhpY3NDb250ZXh0R0xNYXAgPSBIYXNoTWFwPEdyYXBoaWNzQ29udGV4dEdMSWRlbnRpZmllciwg
SVBDOjpTY29wZWRBY3RpdmVNZXNzYWdlUmVjZWl2ZVF1ZXVlPFJlbW90ZUdyYXBoaWNzQ29udGV4
dEdMPj47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5j
cHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHAKaW5kZXggNGE0YWM5
MTRiNDYzMTkzNTI0ODhkYmUxNjI2ZGZmM2RkY2EyNjZiZi4uY2M1YTUxODdkNjMyMjhjOGU3YjVi
ZjcxNjYyNzg0ZGYwZWY1MzY5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L0dQVVByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNz
LmNwcApAQCAtMjUxLDYgKzI1MSwxMCBAQCB2b2lkIEdQVVByb2Nlc3M6OmluaXRpYWxpemVHUFVQ
cm9jZXNzKEdQVVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmJiBwYXJhbWV0ZXJzKQogICAgIFdU
Rjo6VGhyZWFkOjpzZXRDdXJyZW50VGhyZWFkSXNVc2VySW50ZXJhY3RpdmUoMCk7CiAKICAgICBX
ZWJDb3JlOjpzZXRQcmVzZW50aW5nQXBwbGljYXRpb25QSUQocGFyYW1ldGVycy5wYXJlbnRQSUQp
OworCisjaWYgVVNFKE9TX1NUQVRFKQorICAgIHJlZ2lzdGVyV2l0aFN0YXRlRHVtcGVyKCJHUFVQ
cm9jZXNzIHN0YXRlIl9zKTsKKyNlbmRpZgogfQogCiB2b2lkIEdQVVByb2Nlc3M6OnByZXBhcmVU
b1N1c3BlbmQoYm9vbCBpc1N1c3BlbnNpb25JbW1pbmVudCwgQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL0dQVVByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNz
LmgKaW5kZXggNWVkNWIzZWQxZTE0N2U0NjE5M2U2Yjg0ZDgzZDgwOWUwODU5MGQzNC4uNzQzYzg2
ZGZjZTc1NDQ4YmY5ZjEzNTRiOTllYWY0ZWYxOGYzZWM1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvR1BVUHJvY2Vzcy5oCkBAIC0xMzQsNiArMTM0LDkgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRp
c3BsYXlDb25maWd1cmF0aW9uQ2hhbmdlZChDR0RpcmVjdERpc3BsYXlJRCwgQ0dEaXNwbGF5Q2hh
bmdlU3VtbWFyeUZsYWdzKTsKICNlbmRpZgogCisjaWYgVVNFKE9TX1NUQVRFKQorICAgIFJldGFp
blB0cjxOU0RpY3Rpb25hcnk+IGFkZGl0aW9uYWxTdGF0ZUZvckRpYWdub3N0aWNSZXBvcnQoKSBj
b25zdCBmaW5hbDsKKyNlbmRpZgogCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkgJiYgRU5BQkxF
KFZQOSkKICAgICB2b2lkIHNldFdlYk1QYXJzZXJFbmFibGVkKGJvb2wpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2NvY29hL0dQVVByb2Nlc3NDb2NvYS5tbSBiL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9jb2NvYS9HUFVQcm9jZXNzQ29jb2EubW0KbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZWE2MTcwNGE0YjNjOWNhYmNhMTQ4ZTU0YzBlMWJmMGFjMjQ1NmNiMgotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9jb2NvYS9HUFVQcm9jZXNzQ29jb2EubW0KQEAg
LTAsMCArMSw3MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW1wb3J0ICJjb25m
aWcuaCIKKyNpbXBvcnQgIkdQVVByb2Nlc3MuaCIKKworI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykg
JiYgUExBVEZPUk0oQ09DT0EpCisKKyNpbXBvcnQgIkdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3Mu
aCIKKyNpbXBvcnQgIlJlbW90ZVJlbmRlcmluZ0JhY2tlbmQuaCIKKyNpbXBvcnQgPHd0Zi9SZXRh
aW5QdHIuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsK
KworI2lmIFVTRShPU19TVEFURSkKKworUmV0YWluUHRyPE5TRGljdGlvbmFyeT4gR1BVUHJvY2Vz
czo6YWRkaXRpb25hbFN0YXRlRm9yRGlhZ25vc3RpY1JlcG9ydCgpIGNvbnN0Cit7CisgICAgYXV0
byBzdGF0ZURpY3Rpb25hcnkgPSBhZG9wdE5TKFtbTlNNdXRhYmxlRGljdGlvbmFyeSBhbGxvY10g
aW5pdFdpdGhDYXBhY2l0eToxXSk7CisgICAgaWYgKCFtX3dlYlByb2Nlc3NDb25uZWN0aW9ucy5p
c0VtcHR5KCkpIHsKKyAgICAgICAgYXV0byB3ZWJQcm9jZXNzQ29ubmVjdGlvbkluZm8gPSBhZG9w
dE5TKFtbTlNNdXRhYmxlRGljdGlvbmFyeSBhbGxvY10gaW5pdFdpdGhDYXBhY2l0eTptX3dlYlBy
b2Nlc3NDb25uZWN0aW9ucy5zaXplKCldKTsKKyAgICAgICAgZm9yIChhdXRvJiBpZGVudGlmaWVy
QW5kQ29ubmVjdGlvbiA6IG1fd2ViUHJvY2Vzc0Nvbm5lY3Rpb25zKSB7CisgICAgICAgICAgICBh
dXRvJiBbd2ViUHJvY2Vzc0lkZW50aWZpZXIsIGNvbm5lY3Rpb25dID0gaWRlbnRpZmllckFuZENv
bm5lY3Rpb247CisgICAgICAgICAgICBhdXRvJiBiYWNrZW5kTWFwID0gY29ubmVjdGlvbi0+cmVt
b3RlUmVuZGVyaW5nQmFja2VuZE1hcCgpOworICAgICAgICAgICAgaWYgKGJhY2tlbmRNYXAuaXNF
bXB0eSgpKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICAgICBhdXRvIHN0
YXRlSW5mbyA9IGFkb3B0TlMoW1tOU011dGFibGVEaWN0aW9uYXJ5IGFsbG9jXSBpbml0V2l0aENh
cGFjaXR5OmJhY2tlbmRNYXAuc2l6ZSgpXSk7CisgICAgICAgICAgICBmb3IgKGF1dG8mIGlkZW50
aWZpZXJBbmRCYWNrZW5kIDogYmFja2VuZE1hcCkgeworICAgICAgICAgICAgICAgIGF1dG8mIFti
YWNrZW5kSWRlbnRpZmllciwgYmFja2VuZF0gPSBpZGVudGlmaWVyQW5kQmFja2VuZDsKKyAgICAg
ICAgICAgICAgICBbc3RhdGVJbmZvIHNldE9iamVjdDpAKG5hbWUoYmFja2VuZC0+bGFzdEtub3du
U3RhdGUoKSkpIGZvcktleTpiYWNrZW5kSWRlbnRpZmllci5sb2dnaW5nU3RyaW5nKCldOworICAg
ICAgICAgICAgfQorICAgICAgICAgICAgW3dlYlByb2Nlc3NDb25uZWN0aW9uSW5mbyBzZXRPYmpl
Y3Q6c3RhdGVJbmZvLmdldCgpIGZvcktleTp3ZWJQcm9jZXNzSWRlbnRpZmllci5sb2dnaW5nU3Ry
aW5nKCldOworICAgICAgICB9CisKKyAgICAgICAgaWYgKFt3ZWJQcm9jZXNzQ29ubmVjdGlvbklu
Zm8gY291bnRdKQorICAgICAgICAgICAgW3N0YXRlRGljdGlvbmFyeSBzZXRPYmplY3Q6d2ViUHJv
Y2Vzc0Nvbm5lY3Rpb25JbmZvLmdldCgpIGZvcktleTpAIlJlbW90ZVJlbmRlcmluZ0JhY2tlbmQg
c3RhdGVzIl07CisgICAgfQorICAgIHJldHVybiBzdGF0ZURpY3Rpb25hcnk7Cit9CisKKyNlbmRp
ZiAvLyBVU0UoT1NfU1RBVEUpCisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8g
RU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBQTEFURk9STShDT0NPQSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmNwcCBi
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5k
LmNwcAppbmRleCA1NzBlMTg5YmEzNzllNGUzMDk4N2I0NjUxN2RjZTFhZmVhYWNlNTA1Li5hNWVk
ZjkxYTdiNTQyYzVmNmJlNzI3ODEwMjlkOGRhMWM2ZTY1MmMyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tl
bmQuY3BwCkBAIC0yNDQsMTQgKzI0NCwxOSBAQCBSZWZQdHI8SW1hZ2VCdWZmZXI+IFJlbW90ZVJl
bmRlcmluZ0JhY2tlbmQ6Om5leHREZXN0aW5hdGlvbkltYWdlQnVmZmVyQWZ0ZXJBcHBseQogICAg
ICAgICAgICAgZGVzdGluYXRpb24gPSBtYWtlUmVmUHRyKG1fcmVtb3RlUmVzb3VyY2VDYWNoZS5j
YWNoZWRJbWFnZUJ1ZmZlcigqcmVzdWx0Lm5leHREZXN0aW5hdGlvbkltYWdlQnVmZmVyKSk7CiAg
ICAgICAgICAgICBpZiAoIWRlc3RpbmF0aW9uKSB7CiAgICAgICAgICAgICAgICAgQVNTRVJUKCFt
X3BlbmRpbmdXYWtldXBJbmZvKTsKLSAgICAgICAgICAgICAgICBtX3BlbmRpbmdXYWtldXBJbmZv
ID0ge3t7IGhhbmRsZS5pZGVudGlmaWVyKCksIG9mZnNldCwgKnJlc3VsdC5uZXh0RGVzdGluYXRp
b25JbWFnZUJ1ZmZlciwgcmVhc29uIH0sIHN0ZDo6bnVsbG9wdCB9fTsKKyAgICAgICAgICAgICAg
ICBtX3BlbmRpbmdXYWtldXBJbmZvID0ge3sKKyAgICAgICAgICAgICAgICAgICAgeyBoYW5kbGUu
aWRlbnRpZmllcigpLCBvZmZzZXQsICpyZXN1bHQubmV4dERlc3RpbmF0aW9uSW1hZ2VCdWZmZXIs
IHJlYXNvbiB9LAorICAgICAgICAgICAgICAgICAgICBzdGQ6Om51bGxvcHQsCisgICAgICAgICAg
ICAgICAgICAgIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmRTdGF0ZTo6V2FpdGluZ0ZvckRlc3RpbmF0
aW9uSW1hZ2VCdWZmZXIKKyAgICAgICAgICAgICAgICB9fTsKICAgICAgICAgICAgIH0KICAgICAg
ICAgfQogCiAgICAgICAgIGlmIChyZXN1bHQucmVhc29uRm9yU3RvcHBpbmcgPT0gRGlzcGxheUxp
c3Q6OlN0b3BSZXBsYXlSZWFzb246Ok1pc3NpbmdDYWNoZWRSZXNvdXJjZSkgewogICAgICAgICAg
ICAgbV9wZW5kaW5nV2FrZXVwSW5mbyA9IHt7CiAgICAgICAgICAgICAgICAgeyBoYW5kbGUuaWRl
bnRpZmllcigpLCBvZmZzZXQsIGRlc3RpbmF0aW9uLT5yZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZp
ZXIoKSwgcmVhc29uIH0sCi0gICAgICAgICAgICAgICAgcmVzdWx0Lm1pc3NpbmdDYWNoZWRSZXNv
dXJjZUlkZW50aWZpZXIKKyAgICAgICAgICAgICAgICByZXN1bHQubWlzc2luZ0NhY2hlZFJlc291
cmNlSWRlbnRpZmllciwKKyAgICAgICAgICAgICAgICBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kU3Rh
dGU6OldhaXRpbmdGb3JDYWNoZWRSZXNvdXJjZQogICAgICAgICAgICAgfX07CiAgICAgICAgIH0K
IApAQCAtMjkzLDYgKzI5OCw5IEBAIHZvaWQgUmVtb3RlUmVuZGVyaW5nQmFja2VuZDo6d2FrZVVw
QW5kQXBwbHlEaXNwbGF5TGlzdChjb25zdCBHUFVQcm9jZXNzV2FrZXVwTWVzCiAgICAgQVNTRVJU
KCFSdW5Mb29wOjppc01haW4oKSk7CiAKICAgICBUcmFjZVNjb3BlIHRyYWNpbmdTY29wZShXYWtl
VXBBbmRBcHBseURpc3BsYXlMaXN0U3RhcnQsIFdha2VVcEFuZEFwcGx5RGlzcGxheUxpc3RFbmQp
OworCisgICAgdXBkYXRlTGFzdEtub3duU3RhdGUoUmVtb3RlUmVuZGVyaW5nQmFja2VuZFN0YXRl
OjpCZWdhblJlcGxheWluZ0Rpc3BsYXlMaXN0KTsKKwogICAgIGF1dG8gZGVzdGluYXRpb25JbWFn
ZUJ1ZmZlciA9IG1ha2VSZWZQdHIobV9yZW1vdGVSZXNvdXJjZUNhY2hlLmNhY2hlZEltYWdlQnVm
ZmVyKGFyZ3VtZW50cy5kZXN0aW5hdGlvbkltYWdlQnVmZmVySWRlbnRpZmllcikpOwogICAgIE1F
U1NBR0VfQ0hFQ0soZGVzdGluYXRpb25JbWFnZUJ1ZmZlciwgIk1pc3NpbmcgZGVzdGluYXRpb24g
aW1hZ2UgYnVmZmVyIik7CiAKQEAgLTMxOCwxMSArMzI2LDIwIEBAIHZvaWQgUmVtb3RlUmVuZGVy
aW5nQmFja2VuZDo6d2FrZVVwQW5kQXBwbHlEaXNwbGF5TGlzdChjb25zdCBHUFVQcm9jZXNzV2Fr
ZXVwTWVzCiAgICAgICAgIGRlc3RpbmF0aW9uSW1hZ2VCdWZmZXIgPSBuZXh0RGVzdGluYXRpb25J
bWFnZUJ1ZmZlckFmdGVyQXBwbHlpbmdEaXNwbGF5TGlzdHMoKmRlc3RpbmF0aW9uSW1hZ2VCdWZm
ZXIsIGFyZ3VtZW50cy5vZmZzZXQsICpuZXh0SGFuZGxlLCBhcmd1bWVudHMucmVhc29uKTsKICAg
ICB9CiAgICAgTE9HX1dJVEhfU1RSRUFNKFNoYXJlZERpc3BsYXlMaXN0cywgc3RyZWFtIDw8ICJH
b2luZyBiYWNrIHRvIHNsZWVwLiIpOworCisgICAgaWYgKG1fcGVuZGluZ1dha2V1cEluZm8pCisg
ICAgICAgIHVwZGF0ZUxhc3RLbm93blN0YXRlKG1fcGVuZGluZ1dha2V1cEluZm8tPnN0YXRlKTsK
KyAgICBlbHNlCisgICAgICAgIHVwZGF0ZUxhc3RLbm93blN0YXRlKFJlbW90ZVJlbmRlcmluZ0Jh
Y2tlbmRTdGF0ZTo6RmluaXNoZWRSZXBsYXlpbmdEaXNwbGF5TGlzdCk7CiB9CiAKIHZvaWQgUmVt
b3RlUmVuZGVyaW5nQmFja2VuZDo6c2V0TmV4dEl0ZW1CdWZmZXJUb1JlYWQoRGlzcGxheUxpc3Q6
Okl0ZW1CdWZmZXJJZGVudGlmaWVyIGlkZW50aWZpZXIsIFdlYkNvcmU6OlJlbmRlcmluZ1Jlc291
cmNlSWRlbnRpZmllciBkZXN0aW5hdGlvbklkZW50aWZpZXIpCiB7Ci0gICAgbV9wZW5kaW5nV2Fr
ZXVwSW5mbyA9IHt7eyBpZGVudGlmaWVyLCBTaGFyZWREaXNwbGF5TGlzdEhhbmRsZTo6aGVhZGVy
U2l6ZSgpLCBkZXN0aW5hdGlvbklkZW50aWZpZXIsIEdQVVByb2Nlc3NXYWtldXBSZWFzb246OlVu
c3BlY2lmaWVkIH0sIHN0ZDo6bnVsbG9wdCB9fTsKKyAgICBtX3BlbmRpbmdXYWtldXBJbmZvID0g
e3sKKyAgICAgICAgeyBpZGVudGlmaWVyLCBTaGFyZWREaXNwbGF5TGlzdEhhbmRsZTo6aGVhZGVy
U2l6ZSgpLCBkZXN0aW5hdGlvbklkZW50aWZpZXIsIEdQVVByb2Nlc3NXYWtldXBSZWFzb246OlVu
c3BlY2lmaWVkIH0sCisgICAgICAgIHN0ZDo6bnVsbG9wdCwKKyAgICAgICAgUmVtb3RlUmVuZGVy
aW5nQmFja2VuZFN0YXRlOjpXYWl0aW5nRm9ySXRlbUJ1ZmZlcgorICAgIH19OwogfQogCiBzdGQ6
Om9wdGlvbmFsPFNoYXJlZE1lbW9yeTo6SVBDSGFuZGxlPiBSZW1vdGVSZW5kZXJpbmdCYWNrZW5k
Ojp1cGRhdGVTaGFyZWRNZW1vcnlGb3JHZXRQaXhlbEJ1ZmZlckhlbHBlcihzaXplX3QgYnl0ZUNv
dW50KQpAQCAtNjI1LDYgKzY0MiwxOCBAQCBib29sIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ6OmFs
bG93c0V4aXRVbmRlck1lbW9yeVByZXNzdXJlKCkgY29uc3QKICAgICByZXR1cm4gbV9yZW1vdGVS
ZXNvdXJjZUNhY2hlLmltYWdlQnVmZmVycygpLmlzRW1wdHkoKSAmJiBtX3JlbW90ZVJlc291cmNl
Q2FjaGUubmF0aXZlSW1hZ2VzKCkuaXNFbXB0eSgpOwogfQogCitSZW1vdGVSZW5kZXJpbmdCYWNr
ZW5kU3RhdGUgUmVtb3RlUmVuZGVyaW5nQmFja2VuZDo6bGFzdEtub3duU3RhdGUoKSBjb25zdAor
eworICAgIEFTU0VSVChSdW5Mb29wOjppc01haW4oKSk7CisgICAgcmV0dXJuIG1fbGFzdEtub3du
U3RhdGUubG9hZCgpOworfQorCit2b2lkIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ6OnVwZGF0ZUxh
c3RLbm93blN0YXRlKFJlbW90ZVJlbmRlcmluZ0JhY2tlbmRTdGF0ZSBzdGF0ZSkKK3sKKyAgICBB
U1NFUlQoIVJ1bkxvb3A6OmlzTWFpbigpKTsKKyAgICBtX2xhc3RLbm93blN0YXRlLnN0b3JlUmVs
YXhlZChzdGF0ZSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjZW5kaWYgLy8gRU5B
QkxFKEdQVV9QUk9DRVNTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dy
YXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmgKaW5kZXggNzM0MjdhOTY0Zjc0NTEy
MWJhZmExMTllZWY0ZmViMzMzYjRjOTM5MS4uYTM1MTY1YjE5MTFmOWE5M2YzZDRhOGRlOTFiMTAx
Zjc1NjlhYmIyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNz
L1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
Z3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5oCkBAIC0zMyw2ICszMyw3IEBACiAjaW5j
bHVkZSAiSW1hZ2VCdWZmZXJCYWNrZW5kSGFuZGxlLmgiCiAjaW5jbHVkZSAiTWVzc2FnZVJlY2Vp
dmVyLmgiCiAjaW5jbHVkZSAiTWVzc2FnZVNlbmRlci5oIgorI2luY2x1ZGUgIlJlbW90ZVJlbmRl
cmluZ0JhY2tlbmRTdGF0ZS5oIgogI2luY2x1ZGUgIlJlbW90ZVJlc291cmNlQ2FjaGUuaCIKICNp
bmNsdWRlICJSZW5kZXJpbmdCYWNrZW5kSWRlbnRpZmllci5oIgogI2luY2x1ZGUgIlNjb3BlZFJl
bmRlcmluZ1Jlc291cmNlc1JlcXVlc3QuaCIKQEAgLTk0LDYgKzk1LDggQEAgcHVibGljOgogICAg
IC8vIFJ1bnMgRnVuY3Rpb24gaW4gUmVtb3RlUmVuZGVyaW5nQmFja2VuZCB0YXNrIHF1ZXVlLgog
ICAgIHZvaWQgZGlzcGF0Y2goRnVuY3Rpb248dm9pZCgpPiYmKTsKIAorICAgIFJlbW90ZVJlbmRl
cmluZ0JhY2tlbmRTdGF0ZSBsYXN0S25vd25TdGF0ZSgpIGNvbnN0OworCiBwcml2YXRlOgogICAg
IFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQoR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYsIFJlbW90
ZVJlbmRlcmluZ0JhY2tlbmRDcmVhdGlvblBhcmFtZXRlcnMmJik7CiAgICAgdm9pZCBzdGFydExp
c3RlbmluZ0ZvcklQQygpOwpAQCAtMTE4LDYgKzEyMSw4IEBAIHByaXZhdGU6CiAgICAgc3RkOjpv
cHRpb25hbDxTaGFyZWRNZW1vcnk6OklQQ0hhbmRsZT4gdXBkYXRlU2hhcmVkTWVtb3J5Rm9yR2V0
UGl4ZWxCdWZmZXJIZWxwZXIoc2l6ZV90IGJ5dGVDb3VudCk7CiAgICAgdm9pZCB1cGRhdGVSZW5k
ZXJpbmdSZXNvdXJjZVJlcXVlc3QoKTsKIAorICAgIHZvaWQgdXBkYXRlTGFzdEtub3duU3RhdGUo
UmVtb3RlUmVuZGVyaW5nQmFja2VuZFN0YXRlKTsKKwogICAgIC8vIElQQzo6TWVzc2FnZVNlbmRl
ci4KICAgICBJUEM6OkNvbm5lY3Rpb24qIG1lc3NhZ2VTZW5kZXJDb25uZWN0aW9uKCkgY29uc3Qg
b3ZlcnJpZGU7CiAgICAgdWludDY0X3QgbWVzc2FnZVNlbmRlckRlc3RpbmF0aW9uSUQoKSBjb25z
dCBvdmVycmlkZTsKQEAgLTE0NSw2ICsxNTAsNyBAQCBwcml2YXRlOgogICAgIHN0cnVjdCBQZW5k
aW5nV2FrZXVwSW5mb3JtYXRpb24gewogICAgICAgICBHUFVQcm9jZXNzV2FrZXVwTWVzc2FnZUFy
Z3VtZW50cyBhcmd1bWVudHM7CiAgICAgICAgIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6UmVuZGVy
aW5nUmVzb3VyY2VJZGVudGlmaWVyPiBtaXNzaW5nQ2FjaGVkUmVzb3VyY2VJZGVudGlmaWVyOwor
ICAgICAgICBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kU3RhdGUgc3RhdGUgeyBSZW1vdGVSZW5kZXJp
bmdCYWNrZW5kU3RhdGU6OkluaXRpYWxpemVkIH07CiAKICAgICAgICAgYm9vbCBzaG91bGRQZXJm
b3JtV2FrZXVwKFdlYkNvcmU6OlJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllciBpZGVudGlmaWVy
KSBjb25zdAogICAgICAgICB7CkBAIC0xNjksNiArMTc1LDcgQEAgcHJpdmF0ZToKICAgICBSZWZQ
dHI8U2hhcmVkTWVtb3J5PiBtX2dldFBpeGVsQnVmZmVyU2hhcmVkTWVtb3J5OwogICAgIFNjb3Bl
ZFJlbmRlcmluZ1Jlc291cmNlc1JlcXVlc3QgbV9yZW5kZXJpbmdSZXNvdXJjZXNSZXF1ZXN0Owog
ICAgIFJlZlB0cjxXZWJDb3JlOjpJbWFnZUJ1ZmZlcj4gbV9jdXJyZW50TWFza0ltYWdlQnVmZmVy
OworICAgIEF0b21pYzxSZW1vdGVSZW5kZXJpbmdCYWNrZW5kU3RhdGU+IG1fbGFzdEtub3duU3Rh
dGUgeyBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kU3RhdGU6OkluaXRpYWxpemVkIH07CiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kU3RhdGUuaCBiL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kU3RhdGUuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5hMTRjODdjOGRkNWI1NTQ0MTk5MmZhNTE3NGJmMDhkZmQ2MmEyMTc3Ci0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmlu
Z0JhY2tlbmRTdGF0ZS5oCkBAIC0wLDAgKzEsNjMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9u
Y2UKKworI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2Vu
dW0gY2xhc3MgUmVtb3RlUmVuZGVyaW5nQmFja2VuZFN0YXRlIDogdWludDhfdCB7CisgICAgSW5p
dGlhbGl6ZWQsCisgICAgQmVnYW5SZXBsYXlpbmdEaXNwbGF5TGlzdCwKKyAgICBGaW5pc2hlZFJl
cGxheWluZ0Rpc3BsYXlMaXN0LAorICAgIFdhaXRpbmdGb3JDYWNoZWRSZXNvdXJjZSwKKyAgICBX
YWl0aW5nRm9ySXRlbUJ1ZmZlciwKKyAgICBXYWl0aW5nRm9yRGVzdGluYXRpb25JbWFnZUJ1ZmZl
ciwKK307CisKK0FMV0FZU19JTkxJTkUgY29uc3QgY2hhciogbmFtZShSZW1vdGVSZW5kZXJpbmdC
YWNrZW5kU3RhdGUgc3RhdGUpCit7CisgICAgc3dpdGNoIChzdGF0ZSkgeworICAgIGNhc2UgUmVt
b3RlUmVuZGVyaW5nQmFja2VuZFN0YXRlOjpJbml0aWFsaXplZDoKKyAgICAgICAgcmV0dXJuICJJ
bml0aWFsaXplZCI7CisgICAgY2FzZSBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kU3RhdGU6OkJlZ2Fu
UmVwbGF5aW5nRGlzcGxheUxpc3Q6CisgICAgICAgIHJldHVybiAiQmVnYW5SZXBsYXlpbmdEaXNw
bGF5TGlzdCI7CisgICAgY2FzZSBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kU3RhdGU6OkZpbmlzaGVk
UmVwbGF5aW5nRGlzcGxheUxpc3Q6CisgICAgICAgIHJldHVybiAiRmluaXNoZWRSZXBsYXlpbmdE
aXNwbGF5TGlzdCI7CisgICAgY2FzZSBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kU3RhdGU6OldhaXRp
bmdGb3JDYWNoZWRSZXNvdXJjZToKKyAgICAgICAgcmV0dXJuICJXYWl0aW5nRm9yQ2FjaGVkUmVz
b3VyY2UiOworICAgIGNhc2UgUmVtb3RlUmVuZGVyaW5nQmFja2VuZFN0YXRlOjpXYWl0aW5nRm9y
SXRlbUJ1ZmZlcjoKKyAgICAgICAgcmV0dXJuICJXYWl0aW5nRm9ySXRlbUJ1ZmZlciI7CisgICAg
Y2FzZSBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kU3RhdGU6OldhaXRpbmdGb3JEZXN0aW5hdGlvbklt
YWdlQnVmZmVyOgorICAgICAgICByZXR1cm4gIldhaXRpbmdGb3JEZXN0aW5hdGlvbkltYWdlQnVm
ZmVyIjsKKyAgICB9CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuICJJbnZh
bGlkIjsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFTkFCTEUoR1BV
X1BST0NFU1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQgYi9T
b3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKaW5kZXggOTllOTY2YzkxMzZjNGRmOTIyZjg5
ZjNkMWQwMzk3YTdmY2ExMWYxMi4uOGUwODgwYTYxYzY0ZmViNTA2Y2Y4Mzc4ZjdhMDVjNjdjYTMx
MjZlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CisrKyBiL1Nv
dXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dApAQCAtNTgsNiArNTgsNyBAQCBOZXR3b3JrUHJv
Y2Vzcy93ZWJydGMvTmV0d29ya1JUQ1RDUFNvY2tldENvY29hLm1tCiBOZXR3b3JrUHJvY2Vzcy93
ZWJydGMvTmV0d29ya1JUQ1VEUFNvY2tldENvY29hLm1tCiAKIEdQVVByb2Nlc3MvRW50cnlQb2lu
dC9Db2NvYS9YUENTZXJ2aWNlL0dQVVNlcnZpY2VFbnRyeVBvaW50Lm1tCitHUFVQcm9jZXNzL2Nv
Y29hL0dQVVByb2Nlc3NDb2NvYS5tbQogR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVHcmFwaGlj
c0NvbnRleHRHTENvY29hLmNwcAogR1BVUHJvY2Vzcy9ncmFwaGljcy9TY29wZWRSZW5kZXJpbmdS
ZXNvdXJjZXNSZXF1ZXN0Q29jb2EubW0gQG5vLXVuaWZ5CiBHUFVQcm9jZXNzL2dyYXBoaWNzL1Nj
b3BlZFdlYkdMUmVuZGVyaW5nUmVzb3VyY2VzUmVxdWVzdENvY29hLmNwcApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9X
ZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZjFkYWU2MTIzM2Jj
YWE2YzYzNjEwMTk2MjkxMzdjZGRjYTE1OGYwOC4uYTQ2ZmIwN2U0YjkyY2U2NWNmMmM0NjJkMjg2
MjgwZWQ4YjY4Mzc2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCkBAIC0yMDE1LDYgKzIwMTUsNyBAQAogCQlGNDA5NENCRTI1NTMwNTQwMDAz
RDczRTMgLyogRGlzcGxheUxpc3RXcml0ZXJIYW5kbGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0MDk0Q0I5MjU1MzA0N0UwMDNENzNFMyAvKiBEaXNw
bGF5TGlzdFdyaXRlckhhbmRsZS5oICovOyB9OwogCQlGNDA5QkExODFFNkU2NEJDMDA5REEyOEUg
LyogV0tEcmFnRGVzdGluYXRpb25BY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEY0MDlCQTE3MUU2RTY0QjMwMDlEQTI4RSAvKiBXS0RyYWdEZXN0
aW5hdGlvbkFjdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCUY0MEJCQjQxMjU3RkY0NkUwMDY3NDYzQSAvKiBHUFVQcm9jZXNzV2FrZXVwTWVz
c2FnZUFyZ3VtZW50cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRjQwQkJCNDAyNTdGRjQ2RTAwNjc0NjNBIC8qIEdQVVByb2Nlc3NXYWtldXBNZXNzYWdl
QXJndW1lbnRzLmggKi87IH07CisJCUY0MTRDRTJEMjY5REU2RUEwMEJEMjE2QSAvKiBSZW1vdGVS
ZW5kZXJpbmdCYWNrZW5kU3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEY0MTRDRTJDMjY5REU2RUEwMEJEMjE2QSAvKiBSZW1vdGVSZW5kZXJpbmdC
YWNrZW5kU3RhdGUuaCAqLzsgfTsKIAkJRjQyRDYzNDEyMkEwRUZERjAwRDJGQjNBIC8qIFdlYkF1
dG9jb3JyZWN0aW9uRGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRjQyRDYzM0YyMkEwRUZEMzAwRDJGQjNBIC8qIFdlYkF1dG9jb3JyZWN0aW9uRGF0
YS5oICovOyB9OwogCQlGNDMwRTk0MjIyNDczMzVGMDA1RkUwNTMgLyogV2Vic2l0ZU1ldGFWaWV3
cG9ydFBvbGljeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRjQzMEU5NDEyMjQ3MzJBOTAwNUZFMDUzIC8qIFdlYnNpdGVNZXRhVmlld3BvcnRQb2xpY3ku
aCAqLzsgfTsKIAkJRjQzMEU5NDQyMjQ3M0RGRjAwNUZFMDUzIC8qIFdlYkNvbnRlbnRNb2RlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDMwRTk0MzIy
NDczREI4MDA1RkUwNTMgLyogV2ViQ29udGVudE1vZGUuaCAqLzsgfTsKQEAgLTU5ODcsNiArNTk4
OCw4IEBACiAJCUY0MEJCQjQwMjU3RkY0NkUwMDY3NDYzQSAvKiBHUFVQcm9jZXNzV2FrZXVwTWVz
c2FnZUFyZ3VtZW50cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHUFVQcm9jZXNzV2FrZXVwTWVzc2FnZUFy
Z3VtZW50cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDBEMUI2ODIyMEJEQzBG
MDBCNDlBMDEgLyogV2ViQXV0b2NvcnJlY3Rpb25Db250ZXh0LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdl
YkF1dG9jb3JyZWN0aW9uQ29udGV4dC5oOyBwYXRoID0gaW9zL1dlYkF1dG9jb3JyZWN0aW9uQ29u
dGV4dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDEwNTY2MTIxMzA2OTlBMDA5
MjI4MUQgLyogQVBJQXR0YWNobWVudENvY29hLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQVBJ
QXR0YWNobWVudENvY29hLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGNDE0Q0Uy
QTI2OURERUQxMDBCRDIxNkEgLyogR1BVUHJvY2Vzc0NvY29hLm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBuYW1lID0gR1BVUHJvY2Vzc0NvY29hLm1tOyBwYXRoID0gY29jb2Ev
R1BVUHJvY2Vzc0NvY29hLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGNDE0Q0Uy
QzI2OURFNkVBMDBCRDIxNkEgLyogUmVtb3RlUmVuZGVyaW5nQmFja2VuZFN0YXRlLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFJlbW90ZVJlbmRlcmluZ0JhY2tlbmRTdGF0ZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlGNDJENjMzRjIyQTBFRkQzMDBEMkZCM0EgLyogV2ViQXV0b2NvcnJlY3Rp
b25EYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdlYkF1dG9jb3JyZWN0
aW9uRGF0YS5oOyBwYXRoID0gaW9zL1dlYkF1dG9jb3JyZWN0aW9uRGF0YS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlGNDJENjM0MDIyQTBFRkQzMDBEMkZCM0EgLyogV2ViQXV0b2Nv
cnJlY3Rpb25EYXRhLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0g
V2ViQXV0b2NvcnJlY3Rpb25EYXRhLm1tOyBwYXRoID0gaW9zL1dlYkF1dG9jb3JyZWN0aW9uRGF0
YS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjQzMEU5NDEyMjQ3MzJBOTAwNUZF
MDUzIC8qIFdlYnNpdGVNZXRhVmlld3BvcnRQb2xpY3kuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2Vic2l0
ZU1ldGFWaWV3cG9ydFBvbGljeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzY4
MCw2ICs3NjgzLDcgQEAKIAkJMkQ5RkIxRkYyMzc1MjA5RDAwNDlGOTM2IC8qIEdQVVByb2Nlc3Mg
Ki8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCUY0MTRDRTI3
MjY5RERFODAwMEJEMjE2QSAvKiBjb2NvYSAqLywKIAkJCQkyRDlGQjIwRDIzNzUyMDlEMDA0OUY5
MzYgLyogRW50cnlQb2ludCAqLywKIAkJCQk1NTA2NDBBMTI0MDcxQTI5MDBBQUUwNDUgLyogZ3Jh
cGhpY3MgKi8sCiAJCQkJMkQ5RkIyMDQyMzc1MjA5RDAwNDlGOTM2IC8qIGlvcyAqLywKQEAgLTg5
NjAsNiArODk2NCw3IEBACiAJCQkJNTUwNjQwQTMyNDA3MUE2MTAwQUFFMDQ1IC8qIFJlbW90ZVJl
bmRlcmluZ0JhY2tlbmQuaCAqLywKIAkJCQk1NTA2NDBBNDI0MDcxQzIxMDBBQUUwNDUgLyogUmVt
b3RlUmVuZGVyaW5nQmFja2VuZC5tZXNzYWdlcy5pbiAqLywKIAkJCQk0NjA4ODlGRjI2MUZBOEE5
MDBFMjUwMEQgLyogUmVtb3RlUmVuZGVyaW5nQmFja2VuZENyZWF0aW9uUGFyYW1ldGVycy5oICov
LAorCQkJCUY0MTRDRTJDMjY5REU2RUEwMEJEMjE2QSAvKiBSZW1vdGVSZW5kZXJpbmdCYWNrZW5k
U3RhdGUuaCAqLywKIAkJCQk3MjZENTZERDI1M0E2NDgxMDAwMkVGOTAgLyogUmVtb3RlUmVzb3Vy
Y2VDYWNoZS5jcHAgKi8sCiAJCQkJNzI2RDU2REUyNTNBNjQ4MTAwMDJFRjkwIC8qIFJlbW90ZVJl
c291cmNlQ2FjaGUuaCAqLywKIAkJCQk3QkNGNzBDQTI2MTQ5MzVFMDBFNEZCNzAgLyogU2NvcGVk
UmVuZGVyaW5nUmVzb3VyY2VzUmVxdWVzdC5jcHAgKi8sCkBAIC0xMTY5MSw2ICsxMTY5NiwxNCBA
QAogCQkJcGF0aCA9IGNhY2hlOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKKwkJ
RjQxNENFMjcyNjlEREU4MDAwQkQyMTZBIC8qIGNvY29hICovID0geworCQkJaXNhID0gUEJYR3Jv
dXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQlGNDE0Q0UyQTI2OURERUQxMDBCRDIxNkEgLyogR1BV
UHJvY2Vzc0NvY29hLm1tICovLAorCQkJKTsKKwkJCW5hbWUgPSBjb2NvYTsKKwkJCXNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCUY2Mzg5NTVBMTMzQkY1N0QwMDg5NDFENSAvKiBtYWMg
Ki8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKApAQCAtMTIzMzMsNiAr
MTIzNDYsNyBAQAogCQkJCTFBQzEzMzg2MTg1OTBDNDYwMEYzRUMwNSAvKiBSZW1vdGVPYmplY3RS
ZWdpc3RyeU1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQk0NjA4OEEwMDI2MUZBOEJDMDBF
MjUwMEQgLyogUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDYw
ODhBMDEyNjFGQThDNDAwRTI1MDBEIC8qIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmRDcmVhdGlvblBh
cmFtZXRlcnMuaCBpbiBIZWFkZXJzICovLAorCQkJCUY0MTRDRTJEMjY5REU2RUEwMEJEMjE2QSAv
KiBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kU3RhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNTk0
NzkwMTg3QjNCM0EwMDQzNzg1NyAvKiBSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMEY1OTQ3QTgxODdCNTE3NjAwNDM3ODU3IC8qIFJlbW90ZVNjcm9sbGlu
Z0Nvb3JkaW5hdG9yTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNTk0NzlCMTg3QjNC
NjAwMDQzNzg1NyAvKiBSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5LmggaW4gSGVhZGVy
cyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3Mv
UmVtb3RlSW1hZ2VCdWZmZXJQcm94eS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9n
cmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlclByb3h5LmgKaW5kZXggNmRjZjFkNTJmMWE4YTE5ODE3
ZjVhNTFjMGJkMDM5NzM0OWM5MTQ3YS4uYjQ0OGIzN2Y5N2ZlN2FlNjVkYmViYjJhODVhYjBjOTk0
ZTFmMjZiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGlj
cy9SZW1vdGVJbWFnZUJ1ZmZlclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0dQVS9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlclByb3h5LmgKQEAgLTE0NSw2ICsxNDUsOSBA
QCBwcm90ZWN0ZWQ6CiAgICAgICAgICAgICAgICAgKytudW1iZXJPZlRpbWVvdXRzOwogICAgICAg
ICB9CiAgICAgICAgIExPR19XSVRIX1NUUkVBTShTaGFyZWREaXNwbGF5TGlzdHMsIHN0cmVhbSA8
PCAiRG9uZSB3YWl0aW5nOiAiIDw8IE1vbm90b25pY1RpbWU6Om5vdygpIC0gc3RhcnRUaW1lIDw8
ICI7ICIgPDwgbnVtYmVyT2ZUaW1lb3V0cyA8PCAiIHRpbWVvdXQocykiKTsKKworICAgICAgICBp
ZiAoVU5MSUtFTFkobnVtYmVyT2ZUaW1lb3V0cyA+PSBtYXhpbXVtTnVtYmVyT2ZUaW1lb3V0cykp
CisgICAgICAgICAgICBSRUxFQVNFX0xPR19GQVVMVChTaGFyZWREaXNwbGF5TGlzdHMsICJFeGNl
ZWRlZCB0aW1lb3V0IHdoaWxlIHdhaXRpbmcgZm9yIGZsdXNoIGluIHJlbW90ZSByZW5kZXJpbmcg
YmFja2VuZDogJSIgUFJJdTY0ICIuIiwgbV9yZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHktPnJl
bmRlcmluZ0JhY2tlbmRJZGVudGlmaWVyKCkudG9VSW50NjQoKSk7CiAgICAgfQogCiAgICAgV2Vi
Q29yZTo6SW1hZ2VCdWZmZXJCYWNrZW5kKiBlbnN1cmVCYWNrZW5kQ3JlYXRlZCgpIGNvbnN0IG92
ZXJyaWRlCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433527</attachid>
            <date>2021-07-14 14:16:04 -0700</date>
            <delta_ts>2021-07-14 17:01:20 -0700</delta_ts>
            <desc>Rebase on trunk</desc>
            <filename>bug-227917-20210714141603.patch</filename>
            <type>text/plain</type>
            <size>25374</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5OTE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDAwNTNmMzk0MmJjZjBlZTI4
ZDcyNDhlNGRmNjQxYzc3Yjk1YzFhMTcuLmQxMDU5YjU2NGMzMzdhNGI2NGE0ODNkMWNiYmVmNDBi
NjgwMzFkNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNzMgQEAKKzIwMjEtMDctMTQgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW0dQVSBQcm9jZXNzXSBE
dW1wIGJhc2ljIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQgc3RhdGUgd2hlbiB0YWtpbmcgc3lzdGVt
IGRpYWdub3N0aWNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMjc5MTcKKworICAgICAgICBSZXZpZXdlZCBieSBUaW0gSG9ydG9uLgorCisgICAgICAg
IE1ha2UgaXQgcG9zc2libGUgdG8gZGlhZ25vc2UgaXNzdWVzIHdoZXJlIHRoZSBHUFUgUHJvY2Vz
cyBpcyBzdHVjayAoZS5nLiBmYWlsaW5nIHRvIGFja25vd2xlZGdlIGNvbnRleHQgZmx1c2hlcwor
ICAgICAgICBmcm9tIHRoZSB3ZWIgcHJvY2VzcykgYnkgZHVtcGluZyBpbmZvcm1hdGlvbiBhYm91
dCB0aGUgc3RhdGVzIG9mIGFsbCBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kcyBpbiB0aGUgR1BVIHBy
b2Nlc3MuCisgICAgICAgIFNlZSBjb21tZW50cyBiZWxvdyBmb3IgbW9yZSBkZXRhaWwuCisKKyAg
ICAgICAgKiBHUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaDoKKyAgICAgICAg
KFdlYktpdDo6R1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6cmVtb3RlUmVuZGVyaW5nQmFja2Vu
ZE1hcCBjb25zdCk6CisKKyAgICAgICAgRXhwb3NlIHRoaXMgY29uc3QgZ2V0dGVyLCBzbyB0aGF0
IEdQVVByb2Nlc3MgY2FuIGl0ZXJhdGUgb3ZlciByZW1vdGUgcmVuZGVyaW5nIGJhY2tlbmRzIHdo
ZW4gY29sbGVjdGluZworICAgICAgICBkaWFnbm9zdGljIGluZm9ybWF0aW9uIGluIGBhZGRpdGlv
bmFsU3RhdGVGb3JEaWFnbm9zdGljUmVwb3J0KClgLgorCisgICAgICAgICogR1BVUHJvY2Vzcy9H
UFVQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6R1BVUHJvY2Vzczo6aW5pdGlhbGl6ZUdQ
VVByb2Nlc3MpOgorICAgICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oOgorICAgICAgICAq
IEdQVVByb2Nlc3MvY29jb2EvR1BVUHJvY2Vzc0NvY29hLm1tOiBBZGRlZC4KKyAgICAgICAgKFdl
YktpdDo6R1BVUHJvY2Vzczo6YWRkaXRpb25hbFN0YXRlRm9yRGlhZ25vc3RpY1JlcG9ydCBjb25z
dCk6CisKKyAgICAgICAgT3ZlcnJpZGUgdGhpcyBtZXRob2QgYW5kIHJldHVybiBhIGRpY3Rpb25h
cnkgY29udGFpbmluZyBpbmZvcm1hdGlvbiBhYm91dCBlYWNoIFJlbW90ZVJlbmRlcmluZ0JhY2tl
bmQgZm9yIGFsbAorICAgICAgICBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzZXMuIFRoaXMgaXMg
YW4gZXhhbXBsZSBvZiBhIHN0YXRlIGRpY3Rpb25hcnk6CisKKyAgICAgICAgYGBgCisgICAgICAg
IHsKKyAgICAgICAgICAgICJSZW1vdGVSZW5kZXJpbmdCYWNrZW5kIHN0YXRlcyIgPSAgICAgewor
ICAgICAgICAgICAgICAgIDxXUCBJRD4gPSAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAg
PFJSQiBJRD4gPSBGaW5pc2hlZFJlcGxheWluZ0Rpc3BsYXlMaXN0OworICAgICAgICAgICAgICAg
IH07CisgICAgICAgICAgICB9OworICAgICAgICB9CisgICAgICAgIGBgYAorCisgICAgICAgIElt
cG9ydGFudGx5LCB0aGlzIHJldmVhbHMgUmVtb3RlUmVuZGVyaW5nQmFja2VuZHMgdGhhdCBhcmUg
c3R1Y2sgd2FpdGluZyBmb3IgbmV3bHkgY3JlYXRlZCBkaXNwbGF5IGxpc3QgaXRlbQorICAgICAg
ICBidWZmZXJzLCBtaXNzaW5nIGNhY2hlZCByZXNvdXJjZXMsIG9yIGRlc3RpbmF0aW9uIGltYWdl
IGJ1ZmZlcnMgKGVzc2VudGlhbGx5IGEgc3BlY2lhbCBjYXNlIG9mICJtaXNzaW5nIGNhY2hlZAor
ICAgICAgICByZXNvdXJjZXMiKSwgYW5kIGFsc28gY2FzZXMgd2hlcmUgZGlzcGxheSBsaXN0IHBs
YXliYWNrIGluZmluaXRlbHkgbG9vcHMgb3Igb3RoZXJ3aXNlIGhhbmdzLgorCisgICAgICAgICog
R1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6UmVtb3RlUmVuZGVyaW5nQmFja2VuZDo6bmV4dERlc3RpbmF0aW9uSW1hZ2VCdWZm
ZXJBZnRlckFwcGx5aW5nRGlzcGxheUxpc3RzKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlUmVu
ZGVyaW5nQmFja2VuZDo6d2FrZVVwQW5kQXBwbHlEaXNwbGF5TGlzdCk6CisgICAgICAgIChXZWJL
aXQ6OlJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ6OnNldE5leHRJdGVtQnVmZmVyVG9SZWFkKToKKyAg
ICAgICAgKFdlYktpdDo6UmVtb3RlUmVuZGVyaW5nQmFja2VuZDo6bGFzdEtub3duU3RhdGUgY29u
c3QpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjp1cGRhdGVMYXN0
S25vd25TdGF0ZSk6CisKKyAgICAgICAgQWRkIGEgc3RhdGUgZmxhZyB0byBSZW1vdGVSZW5kZXJp
bmdCYWNrZW5kLCBzbyB0aGF0IGl0IGNhbiByZW1lbWJlciBpdHMgbGFzdCBrbm93biBzdGF0ZS4g
VGhpcyBzdGF0ZSBpcyB1cGRhdGVkCisgICAgICAgIHdoZW4gZW50ZXJpbmcgb3IgZXhpdGluZyB0
aGUgbWFpbiBkaXNwbGF5IGxpc3QgcHJvY2Vzc2luZyBsb29wIChgd2FrZVVwQW5kQXBwbHlEaXNw
bGF5TGlzdGApOyBpZiB3ZSdyZSBhYm91dCB0bworICAgICAgICBnbyB0byBzbGVlcCB3aXRoIHBl
bmRpbmcgd2FrZXVwIGFyZ3VtZW50cywgdGhlbiB3ZSdsbCBzZXQgdGhlIGxhc3Qga25vd24gc3Rh
dGUgdG8gb25lIG9mIHRoZSBgV2FpdGluZ0Zvcl9fX19fX19gCisgICAgICAgIHN0YXRlcy4KKwor
ICAgICAgICBUaGlzIHN0YXRlIGlzIHdyYXBwZWQgaW4gYW4gQXRvbWljLCBzaW5jZSBpdCdzIG9u
bHkgdXBkYXRlZCBmcm9tIHRoZSByZW5kZXJpbmcgYmFja2VuZCdzIGJhY2tncm91bmQgcXVldWUs
IGJ1dAorICAgICAgICBpdCdzIG9ubHkgcmVhZCBmcm9tIHdpdGhpbiB0aGUgT1Mgc3RhdGUgaGFu
ZGxlciBibG9jayBvbiB0aGUgbWFpbiBxdWV1ZS4KKworICAgICAgICAqIEdQVVByb2Nlc3MvZ3Jh
cGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5oOgorICAgICAgICAqIEdQVVByb2Nlc3MvZ3Jh
cGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZFN0YXRlLmg6IEFkZGVkLgorCisgICAgICAgIEFk
ZCBhIG5ldyA4LWJpdCBlbnVtIHJlcHJlc2VudGluZyB0aGUgc3RhdGUgb2YgYSBSZW1vdGVSZW5k
ZXJpbmdCYWNrZW5kLiBTZWUgYWJvdmUgZm9yIG1vcmUgZGV0YWlscy4KKworICAgICAgICAoV2Vi
S2l0OjpuYW1lKToKKyAgICAgICAgKiBTb3VyY2VzQ29jb2EudHh0OgorICAgICAgICAqIFdlYktp
dC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL2dy
YXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyUHJveHkuaDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3Rl
SW1hZ2VCdWZmZXJQcm94eTo6d2FpdEZvckRpZEZsdXNoV2l0aFRpbWVvdXQpOgorCisgICAgICAg
IEFkZCBmYXVsdCBsb2dnaW5nIGluIHRoZSBjYXNlIHdoZXJlIHdlJ3ZlIHJlYWNoZWQgdGhlIG1h
eGltdW0gbnVtYmVyIG9mIHRpbWVvdXRzIHdoaWxlIHdhaXRpbmcgZm9yIGEgZGlzcGxheQorICAg
ICAgICBsaXN0IGNvbnRleHQgZmx1c2guIEltcG9ydGFudGx5LCB3ZSBpbmNsdWRlIHRoZSByZW1v
dGUgcmVuZGVyaW5nIGJhY2tlbmQncyBpZGVudGlmaWVyIGhlcmUgdG8gbWFrZSBpdCBlYXNpZXIg
dG8KKyAgICAgICAgY29ycmVsYXRlIHdpdGggaW5mb3JtYXRpb24gZnJvbSBHUFUgUHJvY2VzcyBz
dGF0ZSBkdW1waW5nIGFib3ZlLgorCiAyMDIxLTA3LTE0ICBEZXZpbiBSb3Vzc28gIDxkcm91c3Nv
QGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBSRUdSRVNTSU9OKHIyNzk3MjApOiBjaGFuZ2lu
ZyBTdWJ0aXRsZXMgdG8gT2ZmIGRvZXNuJ3QgaGlkZSB0aGVtIG9yIGRvIGFueXRoaW5nCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vz
cy5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3Mu
aAppbmRleCAzYzNlZmU1NjJhM2MzMDgzYTExZDRlOGZiYjEwMzY1NjVmZGQzNzE4Li5iODgyYWEw
OTA3Mzc3NmRjOGI4ZGY2OTdkZjAyMTBjYjU4OWFlZDNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgKQEAgLTE2MCw2ICsx
NjAsMTAgQEAgcHVibGljOgogI2lmIEVOQUJMRShXRUJHTCkKICAgICB2b2lkIHJlbGVhc2VHcmFw
aGljc0NvbnRleHRHTEZvclRlc3RpbmcoR3JhcGhpY3NDb250ZXh0R0xJZGVudGlmaWVyKTsKICNl
bmRpZgorCisgICAgdXNpbmcgUmVtb3RlUmVuZGVyaW5nQmFja2VuZE1hcCA9IEhhc2hNYXA8UmVu
ZGVyaW5nQmFja2VuZElkZW50aWZpZXIsIElQQzo6U2NvcGVkQWN0aXZlTWVzc2FnZVJlY2VpdmVR
dWV1ZTxSZW1vdGVSZW5kZXJpbmdCYWNrZW5kPj47CisgICAgY29uc3QgUmVtb3RlUmVuZGVyaW5n
QmFja2VuZE1hcCYgcmVtb3RlUmVuZGVyaW5nQmFja2VuZE1hcCgpIGNvbnN0IHsgcmV0dXJuIG1f
cmVtb3RlUmVuZGVyaW5nQmFja2VuZE1hcDsgfQorCiBwcml2YXRlOgogICAgIEdQVUNvbm5lY3Rp
b25Ub1dlYlByb2Nlc3MoR1BVUHJvY2VzcyYsIFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyLCBJ
UEM6OkNvbm5lY3Rpb246OklkZW50aWZpZXIsIFBBTDo6U2Vzc2lvbklELCBHUFVQcm9jZXNzQ29u
bmVjdGlvblBhcmFtZXRlcnMmJik7CiAKQEAgLTI2Miw3ICsyNjYsNiBAQCBwcml2YXRlOgogICAg
IGJvb2wgbV9hbGxvd3NEaXNwbGF5Q2FwdHVyZSB7IGZhbHNlIH07CiAjZW5kaWYKIAotICAgIHVz
aW5nIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmRNYXAgPSBIYXNoTWFwPFJlbmRlcmluZ0JhY2tlbmRJ
ZGVudGlmaWVyLCBJUEM6OlNjb3BlZEFjdGl2ZU1lc3NhZ2VSZWNlaXZlUXVldWU8UmVtb3RlUmVu
ZGVyaW5nQmFja2VuZD4+OwogICAgIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmRNYXAgbV9yZW1vdGVS
ZW5kZXJpbmdCYWNrZW5kTWFwOwogI2lmIEVOQUJMRShXRUJHTCkKICAgICB1c2luZyBSZW1vdGVH
cmFwaGljc0NvbnRleHRHTE1hcCA9IEhhc2hNYXA8R3JhcGhpY3NDb250ZXh0R0xJZGVudGlmaWVy
LCBJUEM6OlNjb3BlZEFjdGl2ZU1lc3NhZ2VSZWNlaXZlUXVldWU8UmVtb3RlR3JhcGhpY3NDb250
ZXh0R0w+PjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNz
LmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcAppbmRleCA2NzZm
YzQ1YmFmMTY0NjY4NzI3YWFmYmU4ODUyYTRlYWQ4NjY0NmRmLi40NGJhODg1NTU5ZjExYjEyYjhh
ODUxZDc2OTkxMzI5ZDNiMTlmZjI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvR1BVUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nl
c3MuY3BwCkBAIC0yNTEsNiArMjUxLDEwIEBAIHZvaWQgR1BVUHJvY2Vzczo6aW5pdGlhbGl6ZUdQ
VVByb2Nlc3MoR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYmIHBhcmFtZXRlcnMpCiAgICAg
V1RGOjpUaHJlYWQ6OnNldEN1cnJlbnRUaHJlYWRJc1VzZXJJbnRlcmFjdGl2ZSgwKTsKIAogICAg
IFdlYkNvcmU6OnNldFByZXNlbnRpbmdBcHBsaWNhdGlvblBJRChwYXJhbWV0ZXJzLnBhcmVudFBJ
RCk7CisKKyNpZiBVU0UoT1NfU1RBVEUpCisgICAgcmVnaXN0ZXJXaXRoU3RhdGVEdW1wZXIoIkdQ
VVByb2Nlc3Mgc3RhdGUiX3MpOworI2VuZGlmCiB9CiAKIHZvaWQgR1BVUHJvY2Vzczo6cHJlcGFy
ZVRvU3VzcGVuZChib29sIGlzU3VzcGVuc2lvbkltbWluZW50LCBDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvR1BVUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nl
c3MuaAppbmRleCBhMjFkMDUxM2NlMjE4OTY0ZTdiZmUxNzliNmU2NzZhOGNhYmY1ZWFkLi40OWMz
ZDc3MWJmMTc0ZDhmOWZkY2M4ZDI0MWIzMTA3NmIwYzViNmFmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9HUFVQcm9jZXNzLmgKQEAgLTEzNyw2ICsxMzcsOSBAQCBwcml2YXRlOgogICAgIHZvaWQg
ZGlzcGxheUNvbmZpZ3VyYXRpb25DaGFuZ2VkKENHRGlyZWN0RGlzcGxheUlELCBDR0Rpc3BsYXlD
aGFuZ2VTdW1tYXJ5RmxhZ3MpOwogI2VuZGlmCiAKKyNpZiBVU0UoT1NfU1RBVEUpCisgICAgUmV0
YWluUHRyPE5TRGljdGlvbmFyeT4gYWRkaXRpb25hbFN0YXRlRm9yRGlhZ25vc3RpY1JlcG9ydCgp
IGNvbnN0IGZpbmFsOworI2VuZGlmCiAKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKSAmJiBFTkFC
TEUoVlA5KQogICAgIHZvaWQgc2V0V2ViTVBhcnNlckVuYWJsZWQoYm9vbCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvY29jb2EvR1BVUHJvY2Vzc0NvY29hLm1tIGIvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL2NvY29hL0dQVVByb2Nlc3NDb2NvYS5tbQpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5lYTYxNzA0YTRiM2M5Y2FiY2ExNDhlNTRjMGUxYmYwYWMyNDU2Y2IyCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2NvY29hL0dQVVByb2Nlc3NDb2NvYS5tbQpA
QCAtMCwwICsxLDcxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbXBvcnQgImNv
bmZpZy5oIgorI2ltcG9ydCAiR1BVUHJvY2Vzcy5oIgorCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNT
KSAmJiBQTEFURk9STShDT0NPQSkKKworI2ltcG9ydCAiR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vz
cy5oIgorI2ltcG9ydCAiUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5oIgorI2ltcG9ydCA8d3RmL1Jl
dGFpblB0ci5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3Jl
OworCisjaWYgVVNFKE9TX1NUQVRFKQorCitSZXRhaW5QdHI8TlNEaWN0aW9uYXJ5PiBHUFVQcm9j
ZXNzOjphZGRpdGlvbmFsU3RhdGVGb3JEaWFnbm9zdGljUmVwb3J0KCkgY29uc3QKK3sKKyAgICBh
dXRvIHN0YXRlRGljdGlvbmFyeSA9IGFkb3B0TlMoW1tOU011dGFibGVEaWN0aW9uYXJ5IGFsbG9j
XSBpbml0V2l0aENhcGFjaXR5OjFdKTsKKyAgICBpZiAoIW1fd2ViUHJvY2Vzc0Nvbm5lY3Rpb25z
LmlzRW1wdHkoKSkgeworICAgICAgICBhdXRvIHdlYlByb2Nlc3NDb25uZWN0aW9uSW5mbyA9IGFk
b3B0TlMoW1tOU011dGFibGVEaWN0aW9uYXJ5IGFsbG9jXSBpbml0V2l0aENhcGFjaXR5Om1fd2Vi
UHJvY2Vzc0Nvbm5lY3Rpb25zLnNpemUoKV0pOworICAgICAgICBmb3IgKGF1dG8mIGlkZW50aWZp
ZXJBbmRDb25uZWN0aW9uIDogbV93ZWJQcm9jZXNzQ29ubmVjdGlvbnMpIHsKKyAgICAgICAgICAg
IGF1dG8mIFt3ZWJQcm9jZXNzSWRlbnRpZmllciwgY29ubmVjdGlvbl0gPSBpZGVudGlmaWVyQW5k
Q29ubmVjdGlvbjsKKyAgICAgICAgICAgIGF1dG8mIGJhY2tlbmRNYXAgPSBjb25uZWN0aW9uLT5y
ZW1vdGVSZW5kZXJpbmdCYWNrZW5kTWFwKCk7CisgICAgICAgICAgICBpZiAoYmFja2VuZE1hcC5p
c0VtcHR5KCkpCisgICAgICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgICAgIGF1dG8g
c3RhdGVJbmZvID0gYWRvcHROUyhbW05TTXV0YWJsZURpY3Rpb25hcnkgYWxsb2NdIGluaXRXaXRo
Q2FwYWNpdHk6YmFja2VuZE1hcC5zaXplKCldKTsKKyAgICAgICAgICAgIGZvciAoYXV0byYgaWRl
bnRpZmllckFuZEJhY2tlbmQgOiBiYWNrZW5kTWFwKSB7CisgICAgICAgICAgICAgICAgYXV0byYg
W2JhY2tlbmRJZGVudGlmaWVyLCBiYWNrZW5kXSA9IGlkZW50aWZpZXJBbmRCYWNrZW5kOworICAg
ICAgICAgICAgICAgIFtzdGF0ZUluZm8gc2V0T2JqZWN0OkAobmFtZShiYWNrZW5kLT5sYXN0S25v
d25TdGF0ZSgpKSkgZm9yS2V5OmJhY2tlbmRJZGVudGlmaWVyLmxvZ2dpbmdTdHJpbmcoKV07Cisg
ICAgICAgICAgICB9CisgICAgICAgICAgICBbd2ViUHJvY2Vzc0Nvbm5lY3Rpb25JbmZvIHNldE9i
amVjdDpzdGF0ZUluZm8uZ2V0KCkgZm9yS2V5OndlYlByb2Nlc3NJZGVudGlmaWVyLmxvZ2dpbmdT
dHJpbmcoKV07CisgICAgICAgIH0KKworICAgICAgICBpZiAoW3dlYlByb2Nlc3NDb25uZWN0aW9u
SW5mbyBjb3VudF0pCisgICAgICAgICAgICBbc3RhdGVEaWN0aW9uYXJ5IHNldE9iamVjdDp3ZWJQ
cm9jZXNzQ29ubmVjdGlvbkluZm8uZ2V0KCkgZm9yS2V5OkAiUmVtb3RlUmVuZGVyaW5nQmFja2Vu
ZCBzdGF0ZXMiXTsKKyAgICB9CisgICAgcmV0dXJuIHN0YXRlRGljdGlvbmFyeTsKK30KKworI2Vu
ZGlmIC8vIFVTRShPU19TVEFURSkKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAv
LyBFTkFCTEUoR1BVX1BST0NFU1MpICYmIFBMQVRGT1JNKENPQ09BKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQuY3Bw
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tl
bmQuY3BwCmluZGV4IDU3MGUxODliYTM3OWU0ZTMwOTg3YjQ2NTE3ZGNlMWFmZWFhY2U1MDUuLmE1
ZWRmOTFhN2I1NDJjNWY2YmU3Mjc4MTAyOWQ4ZGExYzZlNjUyYzIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFj
a2VuZC5jcHAKQEAgLTI0NCwxNCArMjQ0LDE5IEBAIFJlZlB0cjxJbWFnZUJ1ZmZlcj4gUmVtb3Rl
UmVuZGVyaW5nQmFja2VuZDo6bmV4dERlc3RpbmF0aW9uSW1hZ2VCdWZmZXJBZnRlckFwcGx5CiAg
ICAgICAgICAgICBkZXN0aW5hdGlvbiA9IG1ha2VSZWZQdHIobV9yZW1vdGVSZXNvdXJjZUNhY2hl
LmNhY2hlZEltYWdlQnVmZmVyKCpyZXN1bHQubmV4dERlc3RpbmF0aW9uSW1hZ2VCdWZmZXIpKTsK
ICAgICAgICAgICAgIGlmICghZGVzdGluYXRpb24pIHsKICAgICAgICAgICAgICAgICBBU1NFUlQo
IW1fcGVuZGluZ1dha2V1cEluZm8pOwotICAgICAgICAgICAgICAgIG1fcGVuZGluZ1dha2V1cElu
Zm8gPSB7e3sgaGFuZGxlLmlkZW50aWZpZXIoKSwgb2Zmc2V0LCAqcmVzdWx0Lm5leHREZXN0aW5h
dGlvbkltYWdlQnVmZmVyLCByZWFzb24gfSwgc3RkOjpudWxsb3B0IH19OworICAgICAgICAgICAg
ICAgIG1fcGVuZGluZ1dha2V1cEluZm8gPSB7eworICAgICAgICAgICAgICAgICAgICB7IGhhbmRs
ZS5pZGVudGlmaWVyKCksIG9mZnNldCwgKnJlc3VsdC5uZXh0RGVzdGluYXRpb25JbWFnZUJ1ZmZl
ciwgcmVhc29uIH0sCisgICAgICAgICAgICAgICAgICAgIHN0ZDo6bnVsbG9wdCwKKyAgICAgICAg
ICAgICAgICAgICAgUmVtb3RlUmVuZGVyaW5nQmFja2VuZFN0YXRlOjpXYWl0aW5nRm9yRGVzdGlu
YXRpb25JbWFnZUJ1ZmZlcgorICAgICAgICAgICAgICAgIH19OwogICAgICAgICAgICAgfQogICAg
ICAgICB9CiAKICAgICAgICAgaWYgKHJlc3VsdC5yZWFzb25Gb3JTdG9wcGluZyA9PSBEaXNwbGF5
TGlzdDo6U3RvcFJlcGxheVJlYXNvbjo6TWlzc2luZ0NhY2hlZFJlc291cmNlKSB7CiAgICAgICAg
ICAgICBtX3BlbmRpbmdXYWtldXBJbmZvID0ge3sKICAgICAgICAgICAgICAgICB7IGhhbmRsZS5p
ZGVudGlmaWVyKCksIG9mZnNldCwgZGVzdGluYXRpb24tPnJlbmRlcmluZ1Jlc291cmNlSWRlbnRp
ZmllcigpLCByZWFzb24gfSwKLSAgICAgICAgICAgICAgICByZXN1bHQubWlzc2luZ0NhY2hlZFJl
c291cmNlSWRlbnRpZmllcgorICAgICAgICAgICAgICAgIHJlc3VsdC5taXNzaW5nQ2FjaGVkUmVz
b3VyY2VJZGVudGlmaWVyLAorICAgICAgICAgICAgICAgIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmRT
dGF0ZTo6V2FpdGluZ0ZvckNhY2hlZFJlc291cmNlCiAgICAgICAgICAgICB9fTsKICAgICAgICAg
fQogCkBAIC0yOTMsNiArMjk4LDkgQEAgdm9pZCBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjp3YWtl
VXBBbmRBcHBseURpc3BsYXlMaXN0KGNvbnN0IEdQVVByb2Nlc3NXYWtldXBNZXMKICAgICBBU1NF
UlQoIVJ1bkxvb3A6OmlzTWFpbigpKTsKIAogICAgIFRyYWNlU2NvcGUgdHJhY2luZ1Njb3BlKFdh
a2VVcEFuZEFwcGx5RGlzcGxheUxpc3RTdGFydCwgV2FrZVVwQW5kQXBwbHlEaXNwbGF5TGlzdEVu
ZCk7CisKKyAgICB1cGRhdGVMYXN0S25vd25TdGF0ZShSZW1vdGVSZW5kZXJpbmdCYWNrZW5kU3Rh
dGU6OkJlZ2FuUmVwbGF5aW5nRGlzcGxheUxpc3QpOworCiAgICAgYXV0byBkZXN0aW5hdGlvbklt
YWdlQnVmZmVyID0gbWFrZVJlZlB0cihtX3JlbW90ZVJlc291cmNlQ2FjaGUuY2FjaGVkSW1hZ2VC
dWZmZXIoYXJndW1lbnRzLmRlc3RpbmF0aW9uSW1hZ2VCdWZmZXJJZGVudGlmaWVyKSk7CiAgICAg
TUVTU0FHRV9DSEVDSyhkZXN0aW5hdGlvbkltYWdlQnVmZmVyLCAiTWlzc2luZyBkZXN0aW5hdGlv
biBpbWFnZSBidWZmZXIiKTsKIApAQCAtMzE4LDExICszMjYsMjAgQEAgdm9pZCBSZW1vdGVSZW5k
ZXJpbmdCYWNrZW5kOjp3YWtlVXBBbmRBcHBseURpc3BsYXlMaXN0KGNvbnN0IEdQVVByb2Nlc3NX
YWtldXBNZXMKICAgICAgICAgZGVzdGluYXRpb25JbWFnZUJ1ZmZlciA9IG5leHREZXN0aW5hdGlv
bkltYWdlQnVmZmVyQWZ0ZXJBcHBseWluZ0Rpc3BsYXlMaXN0cygqZGVzdGluYXRpb25JbWFnZUJ1
ZmZlciwgYXJndW1lbnRzLm9mZnNldCwgKm5leHRIYW5kbGUsIGFyZ3VtZW50cy5yZWFzb24pOwog
ICAgIH0KICAgICBMT0dfV0lUSF9TVFJFQU0oU2hhcmVkRGlzcGxheUxpc3RzLCBzdHJlYW0gPDwg
IkdvaW5nIGJhY2sgdG8gc2xlZXAuIik7CisKKyAgICBpZiAobV9wZW5kaW5nV2FrZXVwSW5mbykK
KyAgICAgICAgdXBkYXRlTGFzdEtub3duU3RhdGUobV9wZW5kaW5nV2FrZXVwSW5mby0+c3RhdGUp
OworICAgIGVsc2UKKyAgICAgICAgdXBkYXRlTGFzdEtub3duU3RhdGUoUmVtb3RlUmVuZGVyaW5n
QmFja2VuZFN0YXRlOjpGaW5pc2hlZFJlcGxheWluZ0Rpc3BsYXlMaXN0KTsKIH0KIAogdm9pZCBS
ZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjpzZXROZXh0SXRlbUJ1ZmZlclRvUmVhZChEaXNwbGF5TGlz
dDo6SXRlbUJ1ZmZlcklkZW50aWZpZXIgaWRlbnRpZmllciwgV2ViQ29yZTo6UmVuZGVyaW5nUmVz
b3VyY2VJZGVudGlmaWVyIGRlc3RpbmF0aW9uSWRlbnRpZmllcikKIHsKLSAgICBtX3BlbmRpbmdX
YWtldXBJbmZvID0ge3t7IGlkZW50aWZpZXIsIFNoYXJlZERpc3BsYXlMaXN0SGFuZGxlOjpoZWFk
ZXJTaXplKCksIGRlc3RpbmF0aW9uSWRlbnRpZmllciwgR1BVUHJvY2Vzc1dha2V1cFJlYXNvbjo6
VW5zcGVjaWZpZWQgfSwgc3RkOjpudWxsb3B0IH19OworICAgIG1fcGVuZGluZ1dha2V1cEluZm8g
PSB7eworICAgICAgICB7IGlkZW50aWZpZXIsIFNoYXJlZERpc3BsYXlMaXN0SGFuZGxlOjpoZWFk
ZXJTaXplKCksIGRlc3RpbmF0aW9uSWRlbnRpZmllciwgR1BVUHJvY2Vzc1dha2V1cFJlYXNvbjo6
VW5zcGVjaWZpZWQgfSwKKyAgICAgICAgc3RkOjpudWxsb3B0LAorICAgICAgICBSZW1vdGVSZW5k
ZXJpbmdCYWNrZW5kU3RhdGU6OldhaXRpbmdGb3JJdGVtQnVmZmVyCisgICAgfX07CiB9CiAKIHN0
ZDo6b3B0aW9uYWw8U2hhcmVkTWVtb3J5OjpJUENIYW5kbGU+IFJlbW90ZVJlbmRlcmluZ0JhY2tl
bmQ6OnVwZGF0ZVNoYXJlZE1lbW9yeUZvckdldFBpeGVsQnVmZmVySGVscGVyKHNpemVfdCBieXRl
Q291bnQpCkBAIC02MjUsNiArNjQyLDE4IEBAIGJvb2wgUmVtb3RlUmVuZGVyaW5nQmFja2VuZDo6
YWxsb3dzRXhpdFVuZGVyTWVtb3J5UHJlc3N1cmUoKSBjb25zdAogICAgIHJldHVybiBtX3JlbW90
ZVJlc291cmNlQ2FjaGUuaW1hZ2VCdWZmZXJzKCkuaXNFbXB0eSgpICYmIG1fcmVtb3RlUmVzb3Vy
Y2VDYWNoZS5uYXRpdmVJbWFnZXMoKS5pc0VtcHR5KCk7CiB9CiAKK1JlbW90ZVJlbmRlcmluZ0Jh
Y2tlbmRTdGF0ZSBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjpsYXN0S25vd25TdGF0ZSgpIGNvbnN0
Cit7CisgICAgQVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsKKyAgICByZXR1cm4gbV9sYXN0S25v
d25TdGF0ZS5sb2FkKCk7Cit9CisKK3ZvaWQgUmVtb3RlUmVuZGVyaW5nQmFja2VuZDo6dXBkYXRl
TGFzdEtub3duU3RhdGUoUmVtb3RlUmVuZGVyaW5nQmFja2VuZFN0YXRlIHN0YXRlKQoreworICAg
IEFTU0VSVCghUnVuTG9vcDo6aXNNYWluKCkpOworICAgIG1fbGFzdEtub3duU3RhdGUuc3RvcmVS
ZWxheGVkKHN0YXRlKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZiAvLyBF
TkFCTEUoR1BVX1BST0NFU1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
Z3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQuaAppbmRleCA3MzQyN2E5NjRmNzQ1
MTIxYmFmYTExOWVlZjRmZWIzMzNiNGM5MzkxLi5hMzUxNjViMTkxMWY5YTkzZjNkNGE4ZGU5MWIx
MDFmNzU2OWFiYjIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhp
Y3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmgKQEAgLTMzLDYgKzMzLDcgQEAKICNp
bmNsdWRlICJJbWFnZUJ1ZmZlckJhY2tlbmRIYW5kbGUuaCIKICNpbmNsdWRlICJNZXNzYWdlUmVj
ZWl2ZXIuaCIKICNpbmNsdWRlICJNZXNzYWdlU2VuZGVyLmgiCisjaW5jbHVkZSAiUmVtb3RlUmVu
ZGVyaW5nQmFja2VuZFN0YXRlLmgiCiAjaW5jbHVkZSAiUmVtb3RlUmVzb3VyY2VDYWNoZS5oIgog
I2luY2x1ZGUgIlJlbmRlcmluZ0JhY2tlbmRJZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAiU2NvcGVk
UmVuZGVyaW5nUmVzb3VyY2VzUmVxdWVzdC5oIgpAQCAtOTQsNiArOTUsOCBAQCBwdWJsaWM6CiAg
ICAgLy8gUnVucyBGdW5jdGlvbiBpbiBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kIHRhc2sgcXVldWUu
CiAgICAgdm9pZCBkaXNwYXRjaChGdW5jdGlvbjx2b2lkKCk+JiYpOwogCisgICAgUmVtb3RlUmVu
ZGVyaW5nQmFja2VuZFN0YXRlIGxhc3RLbm93blN0YXRlKCkgY29uc3Q7CisKIHByaXZhdGU6CiAg
ICAgUmVtb3RlUmVuZGVyaW5nQmFja2VuZChHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzJiwgUmVt
b3RlUmVuZGVyaW5nQmFja2VuZENyZWF0aW9uUGFyYW1ldGVycyYmKTsKICAgICB2b2lkIHN0YXJ0
TGlzdGVuaW5nRm9ySVBDKCk7CkBAIC0xMTgsNiArMTIxLDggQEAgcHJpdmF0ZToKICAgICBzdGQ6
Om9wdGlvbmFsPFNoYXJlZE1lbW9yeTo6SVBDSGFuZGxlPiB1cGRhdGVTaGFyZWRNZW1vcnlGb3JH
ZXRQaXhlbEJ1ZmZlckhlbHBlcihzaXplX3QgYnl0ZUNvdW50KTsKICAgICB2b2lkIHVwZGF0ZVJl
bmRlcmluZ1Jlc291cmNlUmVxdWVzdCgpOwogCisgICAgdm9pZCB1cGRhdGVMYXN0S25vd25TdGF0
ZShSZW1vdGVSZW5kZXJpbmdCYWNrZW5kU3RhdGUpOworCiAgICAgLy8gSVBDOjpNZXNzYWdlU2Vu
ZGVyLgogICAgIElQQzo6Q29ubmVjdGlvbiogbWVzc2FnZVNlbmRlckNvbm5lY3Rpb24oKSBjb25z
dCBvdmVycmlkZTsKICAgICB1aW50NjRfdCBtZXNzYWdlU2VuZGVyRGVzdGluYXRpb25JRCgpIGNv
bnN0IG92ZXJyaWRlOwpAQCAtMTQ1LDYgKzE1MCw3IEBAIHByaXZhdGU6CiAgICAgc3RydWN0IFBl
bmRpbmdXYWtldXBJbmZvcm1hdGlvbiB7CiAgICAgICAgIEdQVVByb2Nlc3NXYWtldXBNZXNzYWdl
QXJndW1lbnRzIGFyZ3VtZW50czsKICAgICAgICAgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpSZW5k
ZXJpbmdSZXNvdXJjZUlkZW50aWZpZXI+IG1pc3NpbmdDYWNoZWRSZXNvdXJjZUlkZW50aWZpZXI7
CisgICAgICAgIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmRTdGF0ZSBzdGF0ZSB7IFJlbW90ZVJlbmRl
cmluZ0JhY2tlbmRTdGF0ZTo6SW5pdGlhbGl6ZWQgfTsKIAogICAgICAgICBib29sIHNob3VsZFBl
cmZvcm1XYWtldXAoV2ViQ29yZTo6UmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyIGlkZW50aWZp
ZXIpIGNvbnN0CiAgICAgICAgIHsKQEAgLTE2OSw2ICsxNzUsNyBAQCBwcml2YXRlOgogICAgIFJl
ZlB0cjxTaGFyZWRNZW1vcnk+IG1fZ2V0UGl4ZWxCdWZmZXJTaGFyZWRNZW1vcnk7CiAgICAgU2Nv
cGVkUmVuZGVyaW5nUmVzb3VyY2VzUmVxdWVzdCBtX3JlbmRlcmluZ1Jlc291cmNlc1JlcXVlc3Q7
CiAgICAgUmVmUHRyPFdlYkNvcmU6OkltYWdlQnVmZmVyPiBtX2N1cnJlbnRNYXNrSW1hZ2VCdWZm
ZXI7CisgICAgQXRvbWljPFJlbW90ZVJlbmRlcmluZ0JhY2tlbmRTdGF0ZT4gbV9sYXN0S25vd25T
dGF0ZSB7IFJlbW90ZVJlbmRlcmluZ0JhY2tlbmRTdGF0ZTo6SW5pdGlhbGl6ZWQgfTsKIH07CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmRTdGF0ZS5oIGIvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmRTdGF0ZS5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmExNGM4N2M4ZGQ1YjU1NDQxOTkyZmE1MTc0YmYwOGRmZDYyYTIxNzcKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVy
aW5nQmFja2VuZFN0YXRlLmgKQEAgLTAsMCArMSw2MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEg
b25jZQorCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQorCituYW1lc3BhY2UgV2ViS2l0IHsKKwor
ZW51bSBjbGFzcyBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kU3RhdGUgOiB1aW50OF90IHsKKyAgICBJ
bml0aWFsaXplZCwKKyAgICBCZWdhblJlcGxheWluZ0Rpc3BsYXlMaXN0LAorICAgIEZpbmlzaGVk
UmVwbGF5aW5nRGlzcGxheUxpc3QsCisgICAgV2FpdGluZ0ZvckNhY2hlZFJlc291cmNlLAorICAg
IFdhaXRpbmdGb3JJdGVtQnVmZmVyLAorICAgIFdhaXRpbmdGb3JEZXN0aW5hdGlvbkltYWdlQnVm
ZmVyLAorfTsKKworQUxXQVlTX0lOTElORSBjb25zdCBjaGFyKiBuYW1lKFJlbW90ZVJlbmRlcmlu
Z0JhY2tlbmRTdGF0ZSBzdGF0ZSkKK3sKKyAgICBzd2l0Y2ggKHN0YXRlKSB7CisgICAgY2FzZSBS
ZW1vdGVSZW5kZXJpbmdCYWNrZW5kU3RhdGU6OkluaXRpYWxpemVkOgorICAgICAgICByZXR1cm4g
IkluaXRpYWxpemVkIjsKKyAgICBjYXNlIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmRTdGF0ZTo6QmVn
YW5SZXBsYXlpbmdEaXNwbGF5TGlzdDoKKyAgICAgICAgcmV0dXJuICJCZWdhblJlcGxheWluZ0Rp
c3BsYXlMaXN0IjsKKyAgICBjYXNlIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmRTdGF0ZTo6RmluaXNo
ZWRSZXBsYXlpbmdEaXNwbGF5TGlzdDoKKyAgICAgICAgcmV0dXJuICJGaW5pc2hlZFJlcGxheWlu
Z0Rpc3BsYXlMaXN0IjsKKyAgICBjYXNlIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmRTdGF0ZTo6V2Fp
dGluZ0ZvckNhY2hlZFJlc291cmNlOgorICAgICAgICByZXR1cm4gIldhaXRpbmdGb3JDYWNoZWRS
ZXNvdXJjZSI7CisgICAgY2FzZSBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kU3RhdGU6OldhaXRpbmdG
b3JJdGVtQnVmZmVyOgorICAgICAgICByZXR1cm4gIldhaXRpbmdGb3JJdGVtQnVmZmVyIjsKKyAg
ICBjYXNlIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmRTdGF0ZTo6V2FpdGluZ0ZvckRlc3RpbmF0aW9u
SW1hZ2VCdWZmZXI6CisgICAgICAgIHJldHVybiAiV2FpdGluZ0ZvckRlc3RpbmF0aW9uSW1hZ2VC
dWZmZXIiOworICAgIH0KKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gIklu
dmFsaWQiOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIEVOQUJMRShH
UFVfUFJPQ0VTUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dCBi
L1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAppbmRleCBjNDQ5YmM1ZDk5ZmViYzJjNzcx
MmRlZjg0YjhlMjFlODY0Mjc3ZGM1Li4yOWY3ZmUwN2RiNjZiZGUzMGE3MTViNTlmNzFlNGYxM2Jh
NTUzMzgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKKysrIGIv
U291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CkBAIC01OSw2ICs1OSw3IEBAIE5ldHdvcmtQ
cm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDVURQU29ja2V0Q29jb2EubW0KIAogR1BVUHJvY2Vzcy9F
bnRyeVBvaW50L0NvY29hL1hQQ1NlcnZpY2UvR1BVU2VydmljZUVudHJ5UG9pbnQubW0KIEdQVVBy
b2Nlc3MvY29jb2EvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzc0NvY29hLm1tCitHUFVQcm9jZXNz
L2NvY29hL0dQVVByb2Nlc3NDb2NvYS5tbQogR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVHcmFw
aGljc0NvbnRleHRHTENvY29hLmNwcAogR1BVUHJvY2Vzcy9ncmFwaGljcy9TY29wZWRSZW5kZXJp
bmdSZXNvdXJjZXNSZXF1ZXN0Q29jb2EubW0gQG5vLXVuaWZ5CiBHUFVQcm9jZXNzL2dyYXBoaWNz
L1Njb3BlZFdlYkdMUmVuZGVyaW5nUmVzb3VyY2VzUmVxdWVzdENvY29hLmNwcApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJj
ZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggOTI3ZDZkMGFi
NzkzNjliMGE0MTIzOTBiN2U3ZTZhZTI4NmJkN2JkMi4uZjE4OWRjMWQyNjQ0ZGM1MTAxMTQyMDk2
MzU4ZmYxZjNmZjU2ZTVkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCkBAIC0yMDE2LDYgKzIwMTYsNyBAQAogCQlGNDA5NENCRTI1NTMwNTQw
MDAzRDczRTMgLyogRGlzcGxheUxpc3RXcml0ZXJIYW5kbGUuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0MDk0Q0I5MjU1MzA0N0UwMDNENzNFMyAvKiBE
aXNwbGF5TGlzdFdyaXRlckhhbmRsZS5oICovOyB9OwogCQlGNDA5QkExODFFNkU2NEJDMDA5REEy
OEUgLyogV0tEcmFnRGVzdGluYXRpb25BY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0MDlCQTE3MUU2RTY0QjMwMDlEQTI4RSAvKiBXS0RyYWdE
ZXN0aW5hdGlvbkFjdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCUY0MEJCQjQxMjU3RkY0NkUwMDY3NDYzQSAvKiBHUFVQcm9jZXNzV2FrZXVw
TWVzc2FnZUFyZ3VtZW50cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRjQwQkJCNDAyNTdGRjQ2RTAwNjc0NjNBIC8qIEdQVVByb2Nlc3NXYWtldXBNZXNz
YWdlQXJndW1lbnRzLmggKi87IH07CisJCUY0MTRDRTJEMjY5REU2RUEwMEJEMjE2QSAvKiBSZW1v
dGVSZW5kZXJpbmdCYWNrZW5kU3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEY0MTRDRTJDMjY5REU2RUEwMEJEMjE2QSAvKiBSZW1vdGVSZW5kZXJp
bmdCYWNrZW5kU3RhdGUuaCAqLzsgfTsKIAkJRjQyRDYzNDEyMkEwRUZERjAwRDJGQjNBIC8qIFdl
YkF1dG9jb3JyZWN0aW9uRGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRjQyRDYzM0YyMkEwRUZEMzAwRDJGQjNBIC8qIFdlYkF1dG9jb3JyZWN0aW9u
RGF0YS5oICovOyB9OwogCQlGNDMwRTk0MjIyNDczMzVGMDA1RkUwNTMgLyogV2Vic2l0ZU1ldGFW
aWV3cG9ydFBvbGljeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRjQzMEU5NDEyMjQ3MzJBOTAwNUZFMDUzIC8qIFdlYnNpdGVNZXRhVmlld3BvcnRQb2xp
Y3kuaCAqLzsgfTsKIAkJRjQzMEU5NDQyMjQ3M0RGRjAwNUZFMDUzIC8qIFdlYkNvbnRlbnRNb2Rl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDMwRTk0
MzIyNDczREI4MDA1RkUwNTMgLyogV2ViQ29udGVudE1vZGUuaCAqLzsgfTsKQEAgLTU5OTAsNiAr
NTk5MSw4IEBACiAJCUY0MEJCQjQwMjU3RkY0NkUwMDY3NDYzQSAvKiBHUFVQcm9jZXNzV2FrZXVw
TWVzc2FnZUFyZ3VtZW50cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHUFVQcm9jZXNzV2FrZXVwTWVzc2Fn
ZUFyZ3VtZW50cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDBEMUI2ODIyMEJE
QzBGMDBCNDlBMDEgLyogV2ViQXV0b2NvcnJlY3Rpb25Db250ZXh0LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9
IFdlYkF1dG9jb3JyZWN0aW9uQ29udGV4dC5oOyBwYXRoID0gaW9zL1dlYkF1dG9jb3JyZWN0aW9u
Q29udGV4dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDEwNTY2MTIxMzA2OTlB
MDA5MjI4MUQgLyogQVBJQXR0YWNobWVudENvY29hLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0g
QVBJQXR0YWNobWVudENvY29hLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGNDE0
Q0UyQTI2OURERUQxMDBCRDIxNkEgLyogR1BVUHJvY2Vzc0NvY29hLm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gR1BVUHJvY2Vzc0NvY29hLm1tOyBwYXRoID0gY29j
b2EvR1BVUHJvY2Vzc0NvY29hLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGNDE0
Q0UyQzI2OURFNkVBMDBCRDIxNkEgLyogUmVtb3RlUmVuZGVyaW5nQmFja2VuZFN0YXRlLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFJlbW90ZVJlbmRlcmluZ0JhY2tlbmRTdGF0ZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlGNDJENjMzRjIyQTBFRkQzMDBEMkZCM0EgLyogV2ViQXV0b2NvcnJl
Y3Rpb25EYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdlYkF1dG9jb3Jy
ZWN0aW9uRGF0YS5oOyBwYXRoID0gaW9zL1dlYkF1dG9jb3JyZWN0aW9uRGF0YS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlGNDJENjM0MDIyQTBFRkQzMDBEMkZCM0EgLyogV2ViQXV0
b2NvcnJlY3Rpb25EYXRhLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1l
ID0gV2ViQXV0b2NvcnJlY3Rpb25EYXRhLm1tOyBwYXRoID0gaW9zL1dlYkF1dG9jb3JyZWN0aW9u
RGF0YS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjQzMEU5NDEyMjQ3MzJBOTAw
NUZFMDUzIC8qIFdlYnNpdGVNZXRhVmlld3BvcnRQb2xpY3kuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2Vi
c2l0ZU1ldGFWaWV3cG9ydFBvbGljeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
ODk2NCw2ICs4OTY3LDcgQEAKIAkJCQk1NTA2NDBBMzI0MDcxQTYxMDBBQUUwNDUgLyogUmVtb3Rl
UmVuZGVyaW5nQmFja2VuZC5oICovLAogCQkJCTU1MDY0MEE0MjQwNzFDMjEwMEFBRTA0NSAvKiBS
ZW1vdGVSZW5kZXJpbmdCYWNrZW5kLm1lc3NhZ2VzLmluICovLAogCQkJCTQ2MDg4OUZGMjYxRkE4
QTkwMEUyNTAwRCAvKiBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kQ3JlYXRpb25QYXJhbWV0ZXJzLmgg
Ki8sCisJCQkJRjQxNENFMkMyNjlERTZFQTAwQkQyMTZBIC8qIFJlbW90ZVJlbmRlcmluZ0JhY2tl
bmRTdGF0ZS5oICovLAogCQkJCTcyNkQ1NkREMjUzQTY0ODEwMDAyRUY5MCAvKiBSZW1vdGVSZXNv
dXJjZUNhY2hlLmNwcCAqLywKIAkJCQk3MjZENTZERTI1M0E2NDgxMDAwMkVGOTAgLyogUmVtb3Rl
UmVzb3VyY2VDYWNoZS5oICovLAogCQkJCTdCQ0Y3MENBMjYxNDkzNUUwMEU0RkI3MCAvKiBTY29w
ZWRSZW5kZXJpbmdSZXNvdXJjZXNSZXF1ZXN0LmNwcCAqLywKQEAgLTExNjk2LDYgKzExNzAwLDE0
IEBACiAJCQlwYXRoID0gY2FjaGU7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9Owor
CQlGNDE0Q0UyNzI2OURERTgwMDBCRDIxNkEgLyogY29jb2EgKi8gPSB7CisJCQlpc2EgPSBQQlhH
cm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCUY0MTRDRTJBMjY5RERFRDEwMEJEMjE2QSAvKiBH
UFVQcm9jZXNzQ29jb2EubW0gKi8sCisJCQkpOworCQkJbmFtZSA9IGNvY29hOworCQkJc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIAkJRjYzODk1NUExMzNCRjU3RDAwODk0MUQ1IC8qIG1h
YyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkBAIC0xMjMzOCw2
ICsxMjM1MCw3IEBACiAJCQkJMUFDMTMzODYxODU5MEM0NjAwRjNFQzA1IC8qIFJlbW90ZU9iamVj
dFJlZ2lzdHJ5TWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ2MDg4QTAwMjYxRkE4QkMw
MEUyNTAwRCAvKiBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQk0
NjA4OEEwMTI2MUZBOEM0MDBFMjUwMEQgLyogUmVtb3RlUmVuZGVyaW5nQmFja2VuZENyZWF0aW9u
UGFyYW1ldGVycy5oIGluIEhlYWRlcnMgKi8sCisJCQkJRjQxNENFMkQyNjlERTZFQTAwQkQyMTZB
IC8qIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmRTdGF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY1
OTQ3OTAxODdCM0IzQTAwNDM3ODU3IC8qIFJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yLmggaW4g
SGVhZGVycyAqLywKIAkJCQkwRjU5NDdBODE4N0I1MTc2MDA0Mzc4NTcgLyogUmVtb3RlU2Nyb2xs
aW5nQ29vcmRpbmF0b3JNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY1OTQ3OUIxODdC
M0I2MDAwNDM3ODU3IC8qIFJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHkuaCBpbiBIZWFk
ZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGlj
cy9SZW1vdGVJbWFnZUJ1ZmZlclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BV
L2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyUHJveHkuaAppbmRleCA2ZGNmMWQ1MmYxYThhMTk4
MTdmNWE1MWMwYmQwMzk3MzQ5YzkxNDdhLi5iNDQ4YjM3Zjk3ZmU3YWU2NWRiZWJiMmE4NWFiMGM5
OTRlMWYyNmJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBo
aWNzL1JlbW90ZUltYWdlQnVmZmVyUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyUHJveHkuaApAQCAtMTQ1LDYgKzE0NSw5
IEBAIHByb3RlY3RlZDoKICAgICAgICAgICAgICAgICArK251bWJlck9mVGltZW91dHM7CiAgICAg
ICAgIH0KICAgICAgICAgTE9HX1dJVEhfU1RSRUFNKFNoYXJlZERpc3BsYXlMaXN0cywgc3RyZWFt
IDw8ICJEb25lIHdhaXRpbmc6ICIgPDwgTW9ub3RvbmljVGltZTo6bm93KCkgLSBzdGFydFRpbWUg
PDwgIjsgIiA8PCBudW1iZXJPZlRpbWVvdXRzIDw8ICIgdGltZW91dChzKSIpOworCisgICAgICAg
IGlmIChVTkxJS0VMWShudW1iZXJPZlRpbWVvdXRzID49IG1heGltdW1OdW1iZXJPZlRpbWVvdXRz
KSkKKyAgICAgICAgICAgIFJFTEVBU0VfTE9HX0ZBVUxUKFNoYXJlZERpc3BsYXlMaXN0cywgIkV4
Y2VlZGVkIHRpbWVvdXQgd2hpbGUgd2FpdGluZyBmb3IgZmx1c2ggaW4gcmVtb3RlIHJlbmRlcmlu
ZyBiYWNrZW5kOiAlIiBQUkl1NjQgIi4iLCBtX3JlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eS0+
cmVuZGVyaW5nQmFja2VuZElkZW50aWZpZXIoKS50b1VJbnQ2NCgpKTsKICAgICB9CiAKICAgICBX
ZWJDb3JlOjpJbWFnZUJ1ZmZlckJhY2tlbmQqIGVuc3VyZUJhY2tlbmRDcmVhdGVkKCkgY29uc3Qg
b3ZlcnJpZGUK
</data>
<flag name="commit-queue"
          id="455832"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>