<?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>193889</bug_id>
          
          <creation_ts>2019-01-27 16:53:47 -0800</creation_ts>
          <short_desc>AVStreamSession isn&apos;t always available, make a HAVE compile flag for it</short_desc>
          <delta_ts>2019-01-28 11:19:27 -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>Media</component>
          <version>WebKit Local 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="Eric Carlson">eric.carlson</reporter>
          <assigned_to name="Eric Carlson">eric.carlson</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>jer.noble</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1498913</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2019-01-27 16:53:47 -0800</bug_when>
    <thetext>AVStreamSession isn&apos;t always available, make a HAVE compile flag for it</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1498914</commentid>
    <comment_count>1</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2019-01-27 16:54:11 -0800</bug_when>
    <thetext>&lt;rdar://problem/47452863&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1498929</commentid>
    <comment_count>2</comment_count>
      <attachid>360315</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2019-01-27 20:24:23 -0800</bug_when>
    <thetext>Created attachment 360315
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1499041</commentid>
    <comment_count>3</comment_count>
      <attachid>360347</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2019-01-28 08:50:24 -0800</bug_when>
    <thetext>Created attachment 360347
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1499098</commentid>
    <comment_count>4</comment_count>
      <attachid>360347</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-01-28 11:19:26 -0800</bug_when>
    <thetext>Comment on attachment 360347
Patch

Clearing flags on attachment: 360347

Committed r240592: &lt;https://trac.webkit.org/changeset/240592&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1499099</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-01-28 11:19:27 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>360315</attachid>
            <date>2019-01-27 20:24:23 -0800</date>
            <delta_ts>2019-01-28 08:50:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-193889-20190127202422.patch</filename>
            <type>text/plain</type>
            <size>34274</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQwNTQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
YWMxMDE2ZTdjNGY0MjZjMjFkMzQ3ZjI5MjBiMTc3YmU1YjYwODFkLi43YTEwZDBmZTViODE4MTYx
NDA5ZjEzM2U5ZmYwNTE1MDEwMDhlZTJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAxOS0wMS0yNyAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxl
LmNvbT4KKworICAgICAgICBBVlN0cmVhbVNlc3Npb24gaXNuJ3QgYWx3YXlzIGF2YWlsYWJsZSwg
bWFrZSBhIEhBVkUgY29tcGlsZSBmbGFnIGZvciBpdAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzODg5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80
NzQ1Mjg2Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE5LTAxLTI1
ICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAgICAgICAgW0pTQ10gTmF0
aXZlRXJyb3JDb25zdHJ1Y3RvciBzaG91bGQgbm90IGhhdmUgb3duIElzb1N1YnNwYWNlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4
IDZlODRkOWMxZmNjNTlhOTlmNDE0YjkzYzYyMzhmMTVlMGU3ZDI5YTEuLjlkNmFhNzdhODcyMGJi
YTZmZGViNmRiY2NmYzYzNTYyYTI0OTYyOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTktMDEt
MjcgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQVZT
dHJlYW1TZXNzaW9uIGlzbid0IGFsd2F5cyBhdmFpbGFibGUsIG1ha2UgYSBIQVZFIGNvbXBpbGUg
ZmxhZyBmb3IgaXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE5Mzg4OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDc0NTI4NjM+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYvRmVhdHVyZURlZmlu
ZXMuaDoKKwogMjAxOS0wMS0yNSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAg
ICAgICAgIFtpT1NdIEFkZCBzdXBwb3J0IGZvciB0aGUgZG93bmxvYWQgYXR0cmlidXRlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKaW5kZXggZjgwOTk1ODRhYjhmNjlhNGJmNDU0ZTg1OTc3ZTUzMmZiNjU1NmNmYy4uMmE5ZWE1
ODFhZTE1NGRiOGNjYzBjNWY0ZjdkODNiMzM1Zjk1ZDU5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDUyIEBACisyMDE5LTAxLTI3ICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29t
PgorCisgICAgICAgIEFWU3RyZWFtU2Vzc2lvbiBpc24ndCBhbHdheXMgYXZhaWxhYmxlLCBtYWtl
IGEgSEFWRSBjb21waWxlIGZsYWcgZm9yIGl0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xOTM4ODkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ3NDUy
ODYzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5v
IG5ldyB0ZXN0cywgbm90IGZ1bmN0aW9uYWwgY2hhbmdlLgorCisgICAgICAgICogQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisgICAgICAgICogcGFnZS9TZXR0aW5ncy55
YW1sOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3NCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNldHRpbmdzQmFzZTo6cGxhdGZvcm1EZWZhdWx0TWVkaWFTb3VyY2VFbmFibGVkKToKKyAgICAg
ICAgKiBwYWdlL1NldHRpbmdzQmFzZS5oOgorICAgICAgICAqIHBhZ2UvY29jb2EvU2V0dGluZ3NC
YXNlQ29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nc0Jhc2U6OnBsYXRmb3JtRGVm
YXVsdE1lZGlhU291cmNlRW5hYmxlZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL0NETVByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW06CisgICAgICAgIChXZWJD
b3JlOjpDRE1Qcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpjcmVhdGVTZXNzaW9uKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9DRE1TZXNzaW9uQVZTdHJl
YW1TZXNzaW9uLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvQ0RNU2Vzc2lvbkFWU3RyZWFtU2Vzc2lvbi5tbToKKworICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZG
T2JqQy5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01l
ZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6ZHVyYXRpb25DaGFuZ2VkKTog
Rml4IGxvZ2dpbmcuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVNZWRpYVNv
dXJjZUFWRk9iakM6Om91dHB1dE9ic2N1cmVkRHVlVG9JbnN1ZmZpY2llbnRFeHRlcm5hbFByb3Rl
Y3Rpb25DaGFuZ2VkKToKKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL1NvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDLmg6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMubW06
CisgICAgICAgIAorICAgICAgICBVc2UgYSBIYXNoTWFwIHRvIGFzc29jaWF0ZSBDTVNhbXBsZUJ1
ZmZlciB3aXRoIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDLgorCisgICAgICAgICgtW1dlYkFW
U2FtcGxlQnVmZmVyRXJyb3JMaXN0ZW5lciBvYnNlcnZlVmFsdWVGb3JLZXlQYXRoOm9mT2JqZWN0
OmNoYW5nZTpjb250ZXh0Ol0pOiBpc0VxdWFsVG8KKyAgICAgICAgLT4gaXNFcXVhbFRvU3RyaW5n
LgorICAgICAgICAoV2ViQ29yZTo6c291cmNlQnVmZmVyTWFwKToKKyAgICAgICAgKFdlYkNvcmU6
Om5leHRNYXBJRCk6CisgICAgICAgIChXZWJDb3JlOjpidWZmZXJXYXNDb25zdW1lZENhbGxiYWNr
KToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjpTb3VyY2VC
dWZmZXJQcml2YXRlQVZGT2JqQyk6CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2
YXRlQVZGT2JqQzo6flNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDKToKKyAgICAgICAgKFdlYkNv
cmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjp3aWxsUHJvdmlkZUNvbnRlbnRLZXlSZXF1
ZXN0SW5pdGlhbGl6YXRpb25EYXRhRm9yVHJhY2tJRCk6CisgICAgICAgIChXZWJDb3JlOjpTb3Vy
Y2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6ZGlkUHJvdmlkZUNvbnRlbnRLZXlSZXF1ZXN0SW5pdGlh
bGl6YXRpb25EYXRhRm9yVHJhY2tJRCk6CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXJQ
cml2YXRlQVZGT2JqQzo6YXBwZW5kKToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclBy
aXZhdGVBVkZPYmpDOjpkZXN0cm95UGFyc2VyKToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1
ZmZlclByaXZhdGVBVkZPYmpDOjpsYXllckRpZFJlY2VpdmVFcnJvcik6CisgICAgICAgIChXZWJD
b3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6ZW5xdWV1ZVNhbXBsZSk6CisgICAgICAg
IChXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6YnVmZmVyV2FzQ29uc3VtZWQp
OgorICAgICAgICAoLVtXZWJCdWZmZXJDb25zdW1lZENvbnRleHQgaW5pdFdpdGhQYXJlbnQ6XSk6
IERlbGV0ZWQuCisgICAgICAgICgtW1dlYkJ1ZmZlckNvbnN1bWVkQ29udGV4dCBwYXJlbnRdKTog
RGVsZXRlZC4KKwogMjAxOS0wMS0yNiAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgog
CiAgICAgICAgIFtMRkNdIFRoZSBpbml0aWFsIHZhbHVlcyBmb3IgdG9wL2JvdHRvbSBpbiBjb250
ZW50SGVpZ2h0Rm9yRm9ybWF0dGluZ0NvbnRleHRSb290IHNob3VsZCBub3QgYmUgMC4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9QQUwv
Q2hhbmdlTG9nCmluZGV4IGNkNGRjNmMyM2JjOTliNDkwOTkyNTk4MjZhYWViM2MyYjM1OTA5YTcu
LmE4MTAxZDVkNTE5YWY1NTMwZmFmM2ZjMTZhMTc3N2MyNmE4ZThiNzAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE5LTAxLTI3ICBFcmljIENhcmxzb24gIDxlcmljLmNh
cmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIEFWU3RyZWFtU2Vzc2lvbiBpc24ndCBhbHdheXMg
YXZhaWxhYmxlLCBtYWtlIGEgSEFWRSBjb21waWxlIGZsYWcgZm9yIGl0CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTM4ODkKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzQ3NDUyODYzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6Cisg
ICAgICAgICogcGFsL3NwaS9tYWMvQVZGb3VuZGF0aW9uU1BJLmg6CisKIDIwMTktMDEtMjUgIEFs
ZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBNb3Zl
IGxvZ2ljIGZyb20gQ2hpbGRQcm9jZXNzOjpzZXRBcHBsaWNhdGlvbklzRGFlbW9uIHRvIE5ldHdv
cmtQcm9jZXNzOjppbml0aWFsaXplUHJvY2VzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA2YWFlMTYwYmEwN2YxYjZl
Y2IxNGE4NmFjMjlkMGEzMTExNzE3NDkzLi5kZTFiMzNlNzQ1OTc4ODIwN2RiNDc5ZjNlYjBkNzE2
ODhhMjRiMTI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE5LTAxLTI3ICBFcmljIENh
cmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIEFWU3RyZWFtU2Vzc2lv
biBpc24ndCBhbHdheXMgYXZhaWxhYmxlLCBtYWtlIGEgSEFWRSBjb21waWxlIGZsYWcgZm9yIGl0
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTM4ODkK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ3NDUyODYzPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWc6CisKIDIwMTktMDEtMjUgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBh
cHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjIzODgxOCk6IFNuYXBzaG90IGlzIHJl
bW92ZWQgdG9vIGxhdGUgYWZ0ZXIgc3dpcGluZyBiYWNrIG9uIFR3aXR0ZXIKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL0NoYW5nZUxvZwppbmRleCAzYzZkNzFkYjM3ZjdiYTViYzkxN2MyNDJlOGFhNWYwOThlMzI3
NDYyLi4yMWIwNDRhZTAyMGY3MTM4YTQzZWY1MDY4NDMxNDYyY2Q4ODhjZmQxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTktMDEtMjcgIEVyaWMgQ2Fy
bHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQVZTdHJlYW1TZXNzaW9u
IGlzbid0IGFsd2F5cyBhdmFpbGFibGUsIG1ha2UgYSBIQVZFIGNvbXBpbGUgZmxhZyBmb3IgaXQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5Mzg4OQor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDc0NTI4NjM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZzoKKwogMjAxOS0wMS0yNSAgS2VpdGggUm9sbGluICA8a3JvbGxpbkBhcHBsZS5j
b20+CiAKICAgICAgICAgVXBkYXRlIFdlYktpdEFkZGl0aW9ucy54Y2NvbmZpZyB3aXRoIGNvcnJl
Y3Qgb3JkZXIgb2YgdmFyaWFibGUgZGVmaW5pdGlvbnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpp
bmRleCA5MTIyYTI1NmUzNjU1NjQ2YjhiMmFlYzJhYTI1OThiYjU5MDg0NjIxLi4zOTYwYTg2YWMw
NGYxZmQ0MWUyYjg0ZWIyYjZiNTM4NzliZGJjZGM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
CkBAIC0yNjIsOCArMjYyLDcgQEAgRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCA9IEVOQUJM
RV9NRURJQV9DT05UUk9MU19TQ1JJUFQ7CiAKIEVOQUJMRV9NRURJQV9TRVNTSU9OID0gOwogCi1F
TkFCTEVfTUVESUFfU09VUkNFID0gJChFTkFCTEVfTUVESUFfU09VUkNFXyQoV0tfUExBVEZPUk1f
TkFNRSkpOwotRU5BQkxFX01FRElBX1NPVVJDRV9tYWNvc3ggPSBFTkFCTEVfTUVESUFfU09VUkNF
OworRU5BQkxFX01FRElBX1NPVVJDRSA9IEVOQUJMRV9NRURJQV9TT1VSQ0U7CiAKIEVOQUJMRV9N
RURJQV9TVEFUSVNUSUNTID0gOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9GZWF0dXJl
RGVmaW5lcy5oIGIvU291cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaAppbmRleCA3ZjE3NzU1
OTUxOWIyMTU2MzM2NTg4MzI5OTJhZWQzMmIyNjY4YTIyLi43YmJmOTcwOTliMGI1ZWI2NWQ0Y2Q4
OThhYzZiYWU3MTJlNTkxYTg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVm
aW5lcy5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgKQEAgLTE3Nyw2ICsx
NzcsMTQgQEAgdGhlIHB1YmxpYyBpT1MgU0RLLiBTZWUgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE3
OTE2Nz4uICovCiAjZW5kaWYKICNlbmRpZgogCisjaWYgIWRlZmluZWQoSEFWRV9BVlNUUkVBTVNF
U1NJT04pCisjZGVmaW5lIEhBVkVfQVZTVFJFQU1TRVNTSU9OIDAKKyNlbmRpZgorCisjaWYgIWRl
ZmluZWQoRU5BQkxFX01FRElBX1NPVVJDRSkKKyNkZWZpbmUgRU5BQkxFX01FRElBX1NPVVJDRSAw
CisjZW5kaWYKKwogI2VuZGlmIC8qIFBMQVRGT1JNKElPU19GQU1JTFkpICovCiAKIC8qIC0tLS0t
LS0tLSBBcHBsZSBXQVRDSE9TIHBvcnQgLS0tLS0tLS0tICovCkBAIC0yNTUsNiArMjYzLDE0IEBA
IHRoZSBwdWJsaWMgaU9TIFNESy4gU2VlIDxodHRwczovL3dlYmtpdC5vcmcvYi8xNzkxNjc+LiAq
LwogI2RlZmluZSBFTkFCTEVfV0VCUFJPQ0VTU19XSU5ET1dTRVJWRVJfQkxPQ0tJTkcgRU5BQkxF
X1dFQlBST0NFU1NfTlNSVU5MT09QCiAjZW5kaWYKIAorI2lmICFkZWZpbmVkKEhBVkVfQVZTVFJF
QU1TRVNTSU9OKQorI2RlZmluZSBIQVZFX0FWU1RSRUFNU0VTU0lPTiAxCisjZW5kaWYKKworI2lm
ICFkZWZpbmVkKEVOQUJMRV9NRURJQV9TT1VSQ0UpCisjZGVmaW5lIEVOQUJMRV9NRURJQV9TT1VS
Q0UgMQorI2VuZGlmCisKICNlbmRpZiAvKiBQTEFURk9STShNQUMpICovCiAKICNpZiBQTEFURk9S
TShDT0NPQSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1
cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWcKaW5kZXggOTEyMmEyNTZlMzY1NTY0NmI4YjJhZWMyYWEyNTk4YmI1
OTA4NDYyMS4uMzk2MGE4NmFjMDRmMWZkNDFlMmI4NGViMmI2YjUzODc5YmRiY2RjNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcKKysrIGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcKQEAgLTI2Miw4ICsyNjIsNyBAQCBFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUID0g
RU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVDsKIAogRU5BQkxFX01FRElBX1NFU1NJT04gPSA7
CiAKLUVOQUJMRV9NRURJQV9TT1VSQ0UgPSAkKEVOQUJMRV9NRURJQV9TT1VSQ0VfJChXS19QTEFU
Rk9STV9OQU1FKSk7Ci1FTkFCTEVfTUVESUFfU09VUkNFX21hY29zeCA9IEVOQUJMRV9NRURJQV9T
T1VSQ0U7CitFTkFCTEVfTUVESUFfU09VUkNFID0gRU5BQkxFX01FRElBX1NPVVJDRTsKIAogRU5B
QkxFX01FRElBX1NUQVRJU1RJQ1MgPSA7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BB
TC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJDb3Jl
L1BBTC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCA5MTIyYTI1
NmUzNjU1NjQ2YjhiMmFlYzJhYTI1OThiYjU5MDg0NjIxLi4zOTYwYTg2YWMwNGYxZmQ0MWUyYjg0
ZWIyYjZiNTM4NzliZGJjZGM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYkNvcmUvUEFM
L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC0yNjIsOCArMjYyLDcg
QEAgRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCA9IEVOQUJMRV9NRURJQV9DT05UUk9MU19T
Q1JJUFQ7CiAKIEVOQUJMRV9NRURJQV9TRVNTSU9OID0gOwogCi1FTkFCTEVfTUVESUFfU09VUkNF
ID0gJChFTkFCTEVfTUVESUFfU09VUkNFXyQoV0tfUExBVEZPUk1fTkFNRSkpOwotRU5BQkxFX01F
RElBX1NPVVJDRV9tYWNvc3ggPSBFTkFCTEVfTUVESUFfU09VUkNFOworRU5BQkxFX01FRElBX1NP
VVJDRSA9IEVOQUJMRV9NRURJQV9TT1VSQ0U7CiAKIEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTID0g
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvQVZGb3VuZGF0
aW9uU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvQVZGb3VuZGF0aW9uU1BJ
LmgKaW5kZXggZmIzMGNjODYzZGFmOGJmMzc5YWJiMGQwNDE5YThmZGRhM2U4MDVkNS4uZmY2YmY4
MDg1ZTkxNzkxODA4NGUxZDBkYjc2MTVhOWQ0YzhmZTY5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvUEFML3BhbC9zcGkvbWFjL0FWRm91bmRhdGlvblNQSS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1BBTC9wYWwvc3BpL21hYy9BVkZvdW5kYXRpb25TUEkuaApAQCAtNDAsNyArNDAsNyBAQAog
I2ltcG9ydCA8QVZLaXQvQVZQbGF5ZXJWaWV3Q29udHJvbGxlcl9XZWJLaXRPbmx5Lmg+CiAjZW5k
aWYKIAotI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQorI2lmIEVOQUJMRShNRURJQV9TT1VSQ0Up
CiAjaW1wb3J0IDxBVkZvdW5kYXRpb24vQVZTdHJlYW1EYXRhUGFyc2VyLmg+CiAjZW5kaWYKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55YW1sIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9TZXR0aW5ncy55YW1sCmluZGV4IGNhNGM1N2M4NjlmNDk1MDg4MWJhODQwZDhi
YjY0OTEwMmViMzI1N2UuLjQ5ODlmYWFhMGVmYzM1MjllOWVjMTI5YjEyNmVjYWM2MDU5NjFkZGQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MueWFtbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLnlhbWwKQEAgLTQ1MCw3ICs0NTAsNyBAQCB1c2VHaWFu
dFRpbGVzOgogICBpbml0aWFsOiBmYWxzZQogCiBtZWRpYVNvdXJjZUVuYWJsZWQ6Ci0gIGluaXRp
YWw6IHRydWUKKyAgaW5pdGlhbDogcGxhdGZvcm1EZWZhdWx0TWVkaWFTb3VyY2VFbmFibGVkKCkK
ICAgY29uZGl0aW9uYWw6IE1FRElBX1NPVVJDRQogCiBzb3VyY2VCdWZmZXJDaGFuZ2VUeXBlRW5h
YmxlZDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3NCYXNlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3NCYXNlLmNwcAppbmRleCBjZDRjNGU4MTE4ZjE1
MTUyMGEyYzAyYjJiNDEzNDNmY2VkZDJlNzgyLi5jMzE4ZWNlZWY1NWE0ZmYzOTBlOTExOGI3MDA3
NzE1MTdlZjM1NTUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzQmFz
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5nc0Jhc2UuY3BwCkBAIC0xMTcs
NiArMTE3LDEzIEBAIHZvaWQgU2V0dGluZ3NCYXNlOjppbml0aWFsaXplRGVmYXVsdEZvbnRGYW1p
bGllcygpCiB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpICYmICFQTEFURk9S
TShDT0NPQSkKK2Jvb2wgU2V0dGluZ3NCYXNlOjpwbGF0Zm9ybURlZmF1bHRNZWRpYVNvdXJjZUVu
YWJsZWQoKQoreworICAgIHJldHVybiB0cnVlOworfQorI2VuZGlmCisKIGNvbnN0IEF0b21pY1N0
cmluZyYgU2V0dGluZ3NCYXNlOjpzdGFuZGFyZEZvbnRGYW1pbHkoVVNjcmlwdENvZGUgc2NyaXB0
KSBjb25zdAogewogICAgIHJldHVybiBtX2ZvbnRHZW5lcmljRmFtaWxpZXMtPnN0YW5kYXJkRm9u
dEZhbWlseShzY3JpcHQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5n
c0Jhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3NCYXNlLmgKaW5kZXggZDY0NzFj
MjRkOWViYzcwZGE5MzdhZmFiNTliY2JhZDAxZTExOWRmZC4uZDc0ZTM0YWRlYWY0OGZhNDg2MjFj
ZmMwZDM1MmM4NWJkNWM4OWFjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0
aW5nc0Jhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzQmFzZS5oCkBAIC0x
MTYsNiArMTE2LDEwIEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgZmxvYXQg
ZGVmYXVsdE1pbmltdW1ab29tRm9udFNpemUoKTsKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMg
Ym9vbCBkZWZhdWx0RG93bmxvYWRhYmxlQmluYXJ5Rm9udHNFbmFibGVkKCk7CiAKKyNpZiBFTkFC
TEUoTUVESUFfU09VUkNFKQorICAgIHN0YXRpYyBib29sIHBsYXRmb3JtRGVmYXVsdE1lZGlhU291
cmNlRW5hYmxlZCgpOworI2VuZGlmCisKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgZGVmYXVs
dE1heGltdW1IVE1MUGFyc2VyRE9NVHJlZURlcHRoID0gNTEyOwogICAgIHN0YXRpYyBjb25zdCB1
bnNpZ25lZCBkZWZhdWx0TWF4aW11bVJlbmRlclRyZWVEZXB0aCA9IDUxMjsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9jb2NvYS9TZXR0aW5nc0Jhc2VDb2NvYS5tbSBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvY29jb2EvU2V0dGluZ3NCYXNlQ29jb2EubW0KaW5kZXggMTc5NzQyMjg5
YmQyMmIxNjM0YzI1ODlkMmU3YTU2MGFiZjhmMDEyYy4uNTdmODI1ZGY5OTU1OWYwOTM1NzM4YTM4
YjM2OTE3YmQ4ZjllMjhlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9jb2NvYS9T
ZXR0aW5nc0Jhc2VDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NvY29hL1NldHRp
bmdzQmFzZUNvY29hLm1tCkBAIC05MCw2ICs5MCwxMSBAQCB2b2lkIFNldHRpbmdzQmFzZTo6aW5p
dGlhbGl6ZURlZmF1bHRGb250RmFtaWxpZXMoKQogICAgIHNldFNhbnNTZXJpZkZvbnRGYW1pbHko
IkhlbHZldGljYSIsIFVTQ1JJUFRfQ09NTU9OKTsKIH0KIAorYm9vbCBTZXR0aW5nc0Jhc2U6OnBs
YXRmb3JtRGVmYXVsdE1lZGlhU291cmNlRW5hYmxlZCgpCit7CisgICAgcmV0dXJuIHRydWU7Cit9
CisKICNlbHNlCiAKIHZvaWQgU2V0dGluZ3NCYXNlOjppbml0aWFsaXplRGVmYXVsdEZvbnRGYW1p
bGllcygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vQ0RNUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9DRE1Qcml2YXRlTWVkaWFTb3VyY2VBVkZP
YmpDLm1tCmluZGV4IGE1Y2JmMzRiNjYxNTFhMjIxOGJhOGZlYWQ2ZDc1NjI1MWUzMGYyOTIuLjU0
ZWMzN2RlMGFkY2IyYTVkOGVjZjY4OTcwZDM1ZmJkMmI0YjhhZmMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9DRE1Qcml2YXRlTWVkaWFT
b3VyY2VBVkZPYmpDLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9DRE1Qcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tCkBAIC0xMjQsNyArMTI0
LDExIEBAIHN0ZDo6dW5pcXVlX3B0cjxMZWdhY3lDRE1TZXNzaW9uPiBDRE1Qcml2YXRlTWVkaWFT
b3VyY2VBVkZPYmpDOjpjcmVhdGVTZXNzaW9uKExlCiAgICAgaWYgKGtleVN5c3RlbVN0cmluZ1Zp
ZXcuc3Vic3RyaW5nKDE0LCAxKS50b0ludCgpID09IDMgJiYgQ0RNU2Vzc2lvbkFWQ29udGVudEtl
eVNlc3Npb246OmlzQXZhaWxhYmxlKCkpCiAgICAgICAgIHNlc3Npb24gPSBzdGQ6Om1ha2VfdW5p
cXVlPENETVNlc3Npb25BVkNvbnRlbnRLZXlTZXNzaW9uPihwcm90b2NvbFZlcnNpb25zLCAqdGhp
cywgY2xpZW50KTsKICAgICBlbHNlCisjaWYgSEFWRShBVlNUUkVBTVNFU1NJT04pICYmIEVOQUJM
RShMRUdBQ1lfRU5DUllQVEVEX01FRElBKQogICAgICAgICBzZXNzaW9uID0gc3RkOjptYWtlX3Vu
aXF1ZTxDRE1TZXNzaW9uQVZTdHJlYW1TZXNzaW9uPihwcm90b2NvbFZlcnNpb25zLCAqdGhpcywg
Y2xpZW50KTsKKyNlbHNlCisgICAgICAgIHJldHVybiBudWxscHRyOworI2VuZGlmCiAKICAgICBt
X3Nlc3Npb25zLmFwcGVuZChzZXNzaW9uLmdldCgpKTsKICAgICByZXR1cm4gV1RGTW92ZShzZXNz
aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL0NETVNlc3Npb25BVlN0cmVhbVNlc3Npb24uaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0NETVNlc3Npb25BVlN0cmVhbVNl
c3Npb24uaAppbmRleCBlMWRlNzJhODcyYjQ3NTM5YmEwNTkzYWJiOWY0OGNjNDc1NjJlNTIwLi4w
Nzk3YWIyYzdhNGJjYzQ4M2M4ZTc1MTMxMGIwNTg4YzUzYjY4NDE0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9DRE1TZXNzaW9u
QVZTdHJlYW1TZXNzaW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvQ0RNU2Vzc2lvbkFWU3RyZWFtU2Vzc2lvbi5oCkBAIC0zMSw3ICsz
MSw3IEBACiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogI2luY2x1ZGUgPHd0Zi9XZWFrUHRy
Lmg+CiAKLSNpZiBFTkFCTEUoTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJiYgRU5BQkxFKE1FRElB
X1NPVVJDRSkKKyNpZiBIQVZFKEFWU1RSRUFNU0VTU0lPTikgJiYgRU5BQkxFKExFR0FDWV9FTkNS
WVBURURfTUVESUEpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiAKIE9CSkNfQ0xBU1MgQVZTdHJl
YW1TZXNzaW9uOwogT0JKQ19DTEFTUyBXZWJDRE1TZXNzaW9uQVZTdHJlYW1TZXNzaW9uT2JzZXJ2
ZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vb2JqYy9DRE1TZXNzaW9uQVZTdHJlYW1TZXNzaW9uLm1tIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvQ0RNU2Vzc2lvbkFWU3RyZWFtU2Vz
c2lvbi5tbQppbmRleCBjMzU3M2U1YzYwODFjOTliMTQwNGUwZTQxYzUwZTA0OWUyOTFhMjJlLi5m
M2JjOWMyMTkxMjI2Y2M5YmFmMmVlZTAzNGFmZWUyNjNiYTA2NWIxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9DRE1TZXNzaW9u
QVZTdHJlYW1TZXNzaW9uLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2F2Zm91bmRhdGlvbi9vYmpjL0NETVNlc3Npb25BVlN0cmVhbVNlc3Npb24ubW0KQEAgLTI2LDcg
KzI2LDcgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiQ0RNU2Vzc2lvbkFWU3RyZWFt
U2Vzc2lvbi5oIgogCi0jaWYgRU5BQkxFKExFR0FDWV9FTkNSWVBURURfTUVESUEpICYmIEVOQUJM
RShNRURJQV9TT1VSQ0UpCisjaWYgSEFWRShBVlNUUkVBTVNFU1NJT04pICYmIEVOQUJMRShMRUdB
Q1lfRU5DUllQVEVEX01FRElBKSAmJiBFTkFCTEUoTUVESUFfU09VUkNFKQogCiAjaW1wb3J0ICJD
RE1Qcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLmgiCiAjaW1wb3J0ICJMZWdhY3lDRE0uaCIKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRl
TWVkaWFTb3VyY2VBVkZPYmpDLmgKaW5kZXggOTU4YTIxODg1NjI4NzA3ZWY2N2NiMGI4MTU4NGI3
NzRmOGZiMjlkMS4uZjg0NmFkZmU2NzMwMmI0YmJkMzlmNGNlOGYxYWJmNDFkMGU2NDMxOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2
YXRlTWVkaWFTb3VyY2VBVkZPYmpDLmgKQEAgLTEwOSw3ICsxMDksNyBAQCBwdWJsaWM6CiAgICAg
dm9pZCBzZXRUZXh0VHJhY2tSZXByZXNlbnRhdGlvbihUZXh0VHJhY2tSZXByZXNlbnRhdGlvbiop
IG92ZXJyaWRlOwogICAgIHZvaWQgc3luY1RleHRUcmFja0JvdW5kcygpIG92ZXJyaWRlOwogICAg
IAotI2lmIEVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01FRElBKQorI2lmIEhBVkUoQVZTVFJFQU1T
RVNTSU9OKSAmJiBFTkFCTEUoTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkKICAgICBib29sIGhhc1N0
cmVhbVNlc3Npb24oKSB7IHJldHVybiBtX3N0cmVhbVNlc3Npb247IH0KICAgICBBVlN0cmVhbVNl
c3Npb24gKnN0cmVhbVNlc3Npb24oKTsKICAgICB2b2lkIHNldENETVNlc3Npb24oTGVnYWN5Q0RN
U2Vzc2lvbiopIG92ZXJyaWRlOwpAQCAtMTIxLDE3ICsxMjEsMTcgQEAgcHVibGljOgogICAgIHZv
aWQgY2RtSW5zdGFuY2VEZXRhY2hlZChDRE1JbnN0YW5jZSYpIGZpbmFsOwogICAgIHZvaWQgYXR0
ZW1wdFRvRGVjcnlwdFdpdGhJbnN0YW5jZShDRE1JbnN0YW5jZSYpIGZpbmFsOwogICAgIGJvb2wg
d2FpdGluZ0ZvcktleSgpIGNvbnN0IGZpbmFsOwotCiAgICAgdm9pZCB3YWl0aW5nRm9yS2V5Q2hh
bmdlZCgpOwogI2VuZGlmCiAKLSNpZiBFTkFCTEUoTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgfHwg
RU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKLSAgICB2b2lkIGtleU5lZWRlZChVaW50OEFycmF5Kik7
Ci0KICAgICB2b2lkIG91dHB1dE9ic2N1cmVkRHVlVG9JbnN1ZmZpY2llbnRFeHRlcm5hbFByb3Rl
Y3Rpb25DaGFuZ2VkKGJvb2wpOwogICAgIHZvaWQgYmVnaW5TaW11bGF0ZWRIRENQRXJyb3IoKSBv
dmVycmlkZSB7IG91dHB1dE9ic2N1cmVkRHVlVG9JbnN1ZmZpY2llbnRFeHRlcm5hbFByb3RlY3Rp
b25DaGFuZ2VkKHRydWUpOyB9CiAgICAgdm9pZCBlbmRTaW11bGF0ZWRIRENQRXJyb3IoKSBvdmVy
cmlkZSB7IG91dHB1dE9ic2N1cmVkRHVlVG9JbnN1ZmZpY2llbnRFeHRlcm5hbFByb3RlY3Rpb25D
aGFuZ2VkKGZhbHNlKTsgfQorCisjaWYgRU5BQkxFKExFR0FDWV9FTkNSWVBURURfTUVESUEpIHx8
IEVOQUJMRShFTkNSWVBURURfTUVESUEpCisgICAgdm9pZCBrZXlOZWVkZWQoVWludDhBcnJheSop
OwogI2VuZGlmCisKICNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQogICAgIHZvaWQgaW5pdGlh
bGl6YXRpb25EYXRhRW5jb3VudGVyZWQoY29uc3QgU3RyaW5nJiwgUmVmUHRyPEFycmF5QnVmZmVy
PiYmKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpD
Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMv
TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tCmluZGV4IGMwMzc0Y2EyZDgy
YWNjMGZkOWExNTg0NDE0NmI5MGI1ZjdhM2MyNGQuLjRjMThmY2I0ZjZjYTg1NWVkMmM5Mzg3NGQ0
MDY5ZjhhNTE1NGVmNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2Jq
Qy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
b2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0KQEAgLTU1LDYgKzU1
LDcgQEAKICNwcmFnbWEgbWFyayAtIFNvZnQgTGlua2luZwogCiAjaW1wb3J0IDxwYWwvY2YvQ29y
ZU1lZGlhU29mdExpbmsuaD4KKyNpbXBvcnQgIkNvcmVWaWRlb1NvZnRMaW5rLmgiCiAKIFNPRlRf
TElOS19GUkFNRVdPUktfT1BUSU9OQUwoQVZGb3VuZGF0aW9uKQogCkBAIC04MjksNyArODMwLDcg
QEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OmR1cmF0aW9uQ2hh
bmdlZCgpCiAKICAgICAgICAgd2Vha1RoaXMtPnBhdXNlSW50ZXJuYWwoKTsKICAgICAgICAgaWYg
KG5vdyA8IGR1cmF0aW9uKSB7Ci0gICAgICAgICAgICBMT0coTWVkaWFTb3VyY2UsICIgICBFUlJP
UjogYm91bmRhcnkgdGltZSBvYnNlcnZlciBjYWxsZWQgYmVmb3JlIGR1cmF0aW9uISIsIHdlYWtU
aGlzLmdldCgpKTsKKyAgICAgICAgICAgIExPRyhNZWRpYVNvdXJjZSwgIk1lZGlhUGxheWVyUHJp
dmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6ZHVyYXRpb25DaGFuZ2VkKCVwKSBFUlJPUjogYm91bmRh
cnkgdGltZSBvYnNlcnZlciBjYWxsZWQgYmVmb3JlIGR1cmF0aW9uISIsIHdlYWtUaGlzLmdldCgp
KTsKICAgICAgICAgICAgIFt3ZWFrVGhpcy0+bV9zeW5jaHJvbml6ZXIgc2V0UmF0ZTowIHRpbWU6
UEFMOjp0b0NNVGltZShkdXJhdGlvbildOwogICAgICAgICB9CiAgICAgICAgIHdlYWtUaGlzLT5t
X3BsYXllci0+dGltZUNoYW5nZWQoKTsKQEAgLTg4NCw3ICs4ODUsNyBAQCB2b2lkIE1lZGlhUGxh
eWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6Zmx1c2hQZW5kaW5nU2l6ZUNoYW5nZXMoKQog
ICAgIG1fc2l6ZUNoYW5nZU9ic2VydmVyV2Vha1B0ckZhY3RvcnkucmV2b2tlQWxsKCk7CiB9CiAK
LSNpZiBFTkFCTEUoTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkKKyNpZiBIQVZFKEFWU1RSRUFNU0VT
U0lPTikgJiYgRU5BQkxFKExFR0FDWV9FTkNSWVBURURfTUVESUEpCiBBVlN0cmVhbVNlc3Npb24q
IE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6c3RyZWFtU2Vzc2lvbigpCiB7
CiAgICAgaWYgKCFnZXRBVlN0cmVhbVNlc3Npb25DbGFzcygpIHx8ICFbZ2V0QVZTdHJlYW1TZXNz
aW9uQ2xhc3MoKSBpbnN0YW5jZXNSZXNwb25kVG9TZWxlY3RvcjpAc2VsZWN0b3IoaW5pdFdpdGhT
dG9yYWdlRGlyZWN0b3J5QXRVUkw6KV0pCkBAIC05MTgsMTEgKzkxOSwxNCBAQCB2b2lkIE1lZGlh
UGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6c2V0Q0RNU2Vzc2lvbihMZWdhY3lDRE1T
ZXNzaW9uKiBzZXNzaQogICAgIGZvciAoYXV0byYgc291cmNlQnVmZmVyIDogbV9tZWRpYVNvdXJj
ZVByaXZhdGUtPnNvdXJjZUJ1ZmZlcnMoKSkKICAgICAgICAgc291cmNlQnVmZmVyLT5zZXRDRE1T
ZXNzaW9uKG1fc2Vzc2lvbi5nZXQoKSk7CiB9CisjZW5kaWYgLy8gSEFWRShBVlNUUkVBTVNFU1NJ
T04pICYmIEVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01FRElBKQogCisjaWYgRU5BQkxFKExFR0FD
WV9FTkNSWVBURURfTUVESUEpIHx8IEVOQUJMRShFTkNSWVBURURfTUVESUEpCiB2b2lkIE1lZGlh
UGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6a2V5TmVlZGVkKFVpbnQ4QXJyYXkqIGlu
aXREYXRhKQogewogICAgIG1fcGxheWVyLT5rZXlOZWVkZWQoaW5pdERhdGEpOwogfQorI2VuZGlm
CiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpvdXRwdXRPYnNj
dXJlZER1ZVRvSW5zdWZmaWNpZW50RXh0ZXJuYWxQcm90ZWN0aW9uQ2hhbmdlZChib29sIG9ic2N1
cmVkKQogewpAQCAtOTMzLDcgKzkzNyw2IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFT
b3VyY2VBVkZPYmpDOjpvdXRwdXRPYnNjdXJlZER1ZVRvSW5zdWZmaWNpZW50RXh0ZXJuCiAgICAg
VU5VU0VEX1BBUkFNKG9ic2N1cmVkKTsKICNlbmRpZgogfQotI2VuZGlmCiAKICNpZiBFTkFCTEUo
RU5DUllQVEVEX01FRElBKQogdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9i
akM6OmNkbUluc3RhbmNlQXR0YWNoZWQoQ0RNSW5zdGFuY2UmIGluc3RhbmNlKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291
cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9vYmpjL1NvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDLmgKaW5kZXgg
ZDJkOGJkNWY4MTdiY2JlYWUwNGMwODZlYTg3ZjZjZDc0NWU0ZDM3NS4uZjk4NjZlMDJmOTc2YTkz
MWNiNDFmZjgwMDU0MmQyNzg1MzBjODk0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9i
akMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
b2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5oCkBAIC03Nyw3ICs3Nyw3IEBAIHB1Ymxp
YzoKICAgICBBTExPV19ORVdfQVBJX1dJVEhPVVRfR1VBUkRTX0VORAogfTsKIAotY2xhc3MgU291
cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMgZmluYWwgOiBwdWJsaWMgU291cmNlQnVmZmVyUHJpdmF0
ZSB7CitjbGFzcyBTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQyBmaW5hbCA6IHB1YmxpYyBTb3Vy
Y2VCdWZmZXJQcml2YXRlLCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8U291cmNlQnVmZmVyUHJpdmF0
ZUFWRk9iakM+IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNvdXJjZUJ1ZmZlclByaXZhdGVB
VkZPYmpDPiBjcmVhdGUoTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQyopOwogICAgIHZpcnR1YWwg
flNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDKCk7CkBAIC0xOTUsNiArMTk1LDcgQEAgcHJpdmF0
ZToKICAgICBib29sIG1fd2FpdGluZ0ZvcktleSB7IHRydWUgfTsKICAgICBpbnQgbV9lbmFibGVk
VmlkZW9UcmFja0lEIHsgLTEgfTsKICAgICBpbnQgbV9wcm90ZWN0ZWRUcmFja0lEIHsgLTEgfTsK
KyAgICB1aW50NjRfdCBtX21hcElEOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0
ZUFWRk9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5tbQppbmRleCA4NWYyNTdjYWNmMjdj
ZDAxNWM2OTdiZDM3MjI0YzY3NDJhZDRiMTVkLi4zODMxYzdlY2FmYzlmOGVhY2ZlOWQzZDI5NDBk
NGNiZWVhNTk4YmJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5tbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VC
dWZmZXJQcml2YXRlQVZGT2JqQy5tbQpAQCAtMzU0LDEzICszNTQsMTMgQEAgQUxMT1dfTkVXX0FQ
SV9XSVRIT1VUX0dVQVJEU19FTkQKICAgICAgICAgUmV0YWluUHRyPEFWU2FtcGxlQnVmZmVyRGlz
cGxheUxheWVyPiBsYXllciA9IChBVlNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllciAqKW9iamVjdDsK
ICAgICAgICAgQVNTRVJUKF9sYXllcnMuY29udGFpbnMobGF5ZXIuZ2V0KCkpKTsKIAotICAgICAg
ICBpZiAoW2tleVBhdGggaXNFcXVhbFRvOkAiZXJyb3IiXSkgeworICAgICAgICBpZiAoW2tleVBh
dGggaXNFcXVhbFRvU3RyaW5nOkAiZXJyb3IiXSkgewogICAgICAgICAgICAgUmV0YWluUHRyPE5T
RXJyb3I+IGVycm9yID0gW2NoYW5nZSB2YWx1ZUZvcktleTpOU0tleVZhbHVlQ2hhbmdlTmV3S2V5
XTsKICAgICAgICAgICAgIGNhbGxPbk1haW5UaHJlYWQoW3BhcmVudCA9IF9wYXJlbnQsIGxheWVy
ID0gV1RGTW92ZShsYXllciksIGVycm9yID0gV1RGTW92ZShlcnJvcildIHsKICAgICAgICAgICAg
ICAgICBpZiAocGFyZW50KQogICAgICAgICAgICAgICAgICAgICBwYXJlbnQtPmxheWVyRGlkUmVj
ZWl2ZUVycm9yKGxheWVyLmdldCgpLCBlcnJvci5nZXQoKSk7CiAgICAgICAgICAgICB9KTsKLSAg
ICAgICAgfSBlbHNlIGlmIChba2V5UGF0aCBpc0VxdWFsVG86QCJvdXRwdXRPYnNjdXJlZER1ZVRv
SW5zdWZmaWNpZW50RXh0ZXJuYWxQcm90ZWN0aW9uIl0pIHsKKyAgICAgICAgfSBlbHNlIGlmIChb
a2V5UGF0aCBpc0VxdWFsVG9TdHJpbmc6QCJvdXRwdXRPYnNjdXJlZER1ZVRvSW5zdWZmaWNpZW50
RXh0ZXJuYWxQcm90ZWN0aW9uIl0pIHsKICAgICAgICAgICAgIGNhbGxPbk1haW5UaHJlYWQoW3Bh
cmVudCA9IF9wYXJlbnQsIG9ic2N1cmVkID0gW1tjaGFuZ2UgdmFsdWVGb3JLZXk6TlNLZXlWYWx1
ZUNoYW5nZU5ld0tleV0gYm9vbFZhbHVlXV0gewogICAgICAgICAgICAgICAgIGlmIChwYXJlbnQp
CiAgICAgICAgICAgICAgICAgICAgIHBhcmVudC0+b3V0cHV0T2JzY3VyZWREdWVUb0luc3VmZmlj
aWVudEV4dGVybmFsUHJvdGVjdGlvbkNoYW5nZWQob2JzY3VyZWQpOwpAQCAtMzc1LDcgKzM3NSw3
IEBAIEFMTE9XX05FV19BUElfV0lUSE9VVF9HVUFSRFNfRU5ECiAgICAgICAgIFJldGFpblB0cjxO
U0Vycm9yPiBlcnJvciA9IFtjaGFuZ2UgdmFsdWVGb3JLZXk6TlNLZXlWYWx1ZUNoYW5nZU5ld0tl
eV07CiAKICAgICAgICAgQVNTRVJUKF9yZW5kZXJlcnMuY29udGFpbnMocmVuZGVyZXIuZ2V0KCkp
KTsKLSAgICAgICAgQVNTRVJUKFtrZXlQYXRoIGlzRXF1YWxUbzpAImVycm9yIl0pOworICAgICAg
ICBBU1NFUlQoW2tleVBhdGggaXNFcXVhbFRvU3RyaW5nOkAiZXJyb3IiXSk7CiAKICAgICAgICAg
Y2FsbE9uTWFpblRocmVhZChbcGFyZW50ID0gX3BhcmVudCwgcmVuZGVyZXIgPSBXVEZNb3ZlKHJl
bmRlcmVyKSwgZXJyb3IgPSBXVEZNb3ZlKGVycm9yKV0gewogICAgICAgICAgICAgaWYgKHBhcmVu
dCkKQEAgLTM5OCwzMCArMzk4LDYgQEAgQUxMT1dfTkVXX0FQSV9XSVRIT1VUX0dVQVJEU19FTkQK
IH0KIEBlbmQKIAotI3ByYWdtYSBtYXJrIC0KLQotQGludGVyZmFjZSBXZWJCdWZmZXJDb25zdW1l
ZENvbnRleHQgOiBOU09iamVjdCB7Ci0gICAgV2Vha1B0cjxXZWJDb3JlOjpTb3VyY2VCdWZmZXJQ
cml2YXRlQVZGT2JqQz4gX3BhcmVudDsKLX0KLUBwcm9wZXJ0eSAocmVhZG9ubHkpIFdlYkNvcmU6
OlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDKiBwYXJlbnQ7Ci1AZW5kCi0KLUBpbXBsZW1lbnRh
dGlvbiBXZWJCdWZmZXJDb25zdW1lZENvbnRleHQKLS0gKGlkKWluaXRXaXRoUGFyZW50OihXZWFr
UHRyPFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDPilwYXJlbnQKLXsKLSAgICBz
ZWxmID0gW3N1cGVyIGluaXRdOwotICAgIGlmIChzZWxmKQotICAgICAgICBfcGFyZW50ID0gcGFy
ZW50OwotICAgIHJldHVybiBzZWxmOwotfQotCi1AZHluYW1pYyBwYXJlbnQ7Ci0tIChXZWJDb3Jl
OjpTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQyopcGFyZW50Ci17Ci0gICAgcmV0dXJuIF9wYXJl
bnQuZ2V0KCk7Ci19Ci1AZW5kCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHVzaW5nIG5hbWVzcGFj
ZSBQQUw7CiAKQEAgLTQ2MSwyNiArNDM3LDM5IEBAIHByb3RlY3RlZDoKICNwcmFnbWEgbWFyayAt
CiAjcHJhZ21hIG1hcmsgU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMKIAotc3RhdGljIE5TU3Ry
aW5nICprQnVmZmVyQ29uc3VtZWRDb250ZXh0ID0gQCJCdWZmZXJDb25zdW1lZENvbnRleHQiOwor
c3RhdGljIEhhc2hNYXA8dWludDY0X3QsIFdlYWtQdHI8U291cmNlQnVmZmVyUHJpdmF0ZUFWRk9i
akM+PiYgc291cmNlQnVmZmVyTWFwKCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8SGFz
aE1hcDx1aW50NjRfdCwgV2Vha1B0cjxTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQz4+PiBtYXA7
CisgICAgcmV0dXJuIG1hcDsKK30KIAotc3RhdGljIHZvaWQgYnVmZmVyV2FzQ29uc3VtZWRDYWxs
YmFjayhDTU5vdGlmaWNhdGlvbkNlbnRlclJlZiwgY29uc3Qgdm9pZCosIENGU3RyaW5nUmVmIG5v
dGlmaWNhdGlvbk5hbWUsIGNvbnN0IHZvaWQqLCBDRlR5cGVSZWYgcGF5bG9hZCkKK3N0YXRpYyB1
aW50NjRfdCBuZXh0TWFwSUQoKQogeworICAgIHN0YXRpYyB1aW50NjRfdCBtYXBJRCA9IDA7Cisg
ICAgcmV0dXJuICsrbWFwSUQ7Cit9CisKK3N0YXRpYyB2b2lkIGJ1ZmZlcldhc0NvbnN1bWVkQ2Fs
bGJhY2soQ01Ob3RpZmljYXRpb25DZW50ZXJSZWYsIGNvbnN0IHZvaWQqIGxpc3RlbmVyLCBDRlN0
cmluZ1JlZiBub3RpZmljYXRpb25OYW1lLCBjb25zdCB2b2lkKiwgQ0ZUeXBlUmVmKQoreworICAg
IExPRyhNZWRpYVNvdXJjZSwgImJ1ZmZlcldhc0NvbnN1bWVkQ2FsbGJhY2sgLSBub2ZpY2F0aW9u
ICVzIiwgWyhfX2JyaWRnZSBOU1N0cmluZyAqKW5vdGlmaWNhdGlvbk5hbWUgVVRGOFN0cmluZ10p
OworCisgICAgaWYgKCFDRkVxdWFsKGtDTVNhbXBsZUJ1ZmZlckNvbnN1bWVyTm90aWZpY2F0aW9u
X0J1ZmZlckNvbnN1bWVkLCBub3RpZmljYXRpb25OYW1lKSkKKyAgICAgICAgcmV0dXJuOworCiAg
ICAgaWYgKCFpc01haW5UaHJlYWQoKSkgewotICAgICAgICBjYWxsT25NYWluVGhyZWFkKFtub3Rp
ZmljYXRpb25OYW1lLCBwYXlsb2FkID0gcmV0YWluUHRyKHBheWxvYWQpXSB7Ci0gICAgICAgICAg
ICBidWZmZXJXYXNDb25zdW1lZENhbGxiYWNrKG51bGxwdHIsIG51bGxwdHIsIG5vdGlmaWNhdGlv
bk5hbWUsIG51bGxwdHIsIHBheWxvYWQuZ2V0KCkpOworICAgICAgICBjYWxsT25NYWluVGhyZWFk
KFtub3RpZmljYXRpb25OYW1lLCBsaXN0ZW5lcl0geworICAgICAgICAgICAgYnVmZmVyV2FzQ29u
c3VtZWRDYWxsYmFjayhudWxscHRyLCBsaXN0ZW5lciwgbm90aWZpY2F0aW9uTmFtZSwgbnVsbHB0
ciwgbnVsbHB0cik7CiAgICAgICAgIH0pOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAg
aWYgKCFDRkVxdWFsKGtDTVNhbXBsZUJ1ZmZlckNvbnN1bWVyTm90aWZpY2F0aW9uX0J1ZmZlckNv
bnN1bWVkLCBub3RpZmljYXRpb25OYW1lKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgQVNTRVJU
KENGR2V0VHlwZUlEKHBheWxvYWQpID09IENGRGljdGlvbmFyeUdldFR5cGVJRCgpKTsKLSAgICBX
ZWJCdWZmZXJDb25zdW1lZENvbnRleHQgKmNvbnRleHQgPSBbKF9fYnJpZGdlIE5TRGljdGlvbmFy
eSAqKXBheWxvYWQgdmFsdWVGb3JLZXk6a0J1ZmZlckNvbnN1bWVkQ29udGV4dF07Ci0gICAgaWYg
KCFjb250ZXh0KQorICAgIHVpbnQ2NF90IG1hcElEID0gcmVpbnRlcnByZXRfY2FzdDx1aW50NjRf
dD4obGlzdGVuZXIpOworICAgIGlmICghbWFwSUQpIHsKKyAgICAgICAgTE9HKE1lZGlhU291cmNl
LCAiYnVmZmVyV2FzQ29uc3VtZWRDYWxsYmFjayAtIEVSUk9SOiBkaWRuJ3QgZmluZCBJRCAlbGx1
IGluIG1hcCIsIG1hcElEKTsKICAgICAgICAgcmV0dXJuOworICAgIH0KIAotICAgIGlmIChhdXRv
IHNvdXJjZUJ1ZmZlciA9IGNvbnRleHQucGFyZW50KQorICAgIGlmIChhdXRvIHNvdXJjZUJ1ZmZl
ciA9IHNvdXJjZUJ1ZmZlck1hcCgpLmdldChtYXBJRCkuZ2V0KCkpCiAgICAgICAgIHNvdXJjZUJ1
ZmZlci0+YnVmZmVyV2FzQ29uc3VtZWQoKTsKIH0KIApAQCAtNDk1LDE0ICs0ODQsMTggQEAgU291
cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6OlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDKE1lZGlh
U291cmNlUHJpdmF0ZUFWRk9iakMKICAgICAsIG1fZXJyb3JMaXN0ZW5lcihhZG9wdE5TKFtbV2Vi
QVZTYW1wbGVCdWZmZXJFcnJvckxpc3RlbmVyIGFsbG9jXSBpbml0V2l0aFBhcmVudDpjcmVhdGVX
ZWFrUHRyKCldKSkKICAgICAsIG1faXNBcHBlbmRpbmdHcm91cChhZG9wdE9TT2JqZWN0KGRpc3Bh
dGNoX2dyb3VwX2NyZWF0ZSgpKSkKICAgICAsIG1fbWVkaWFTb3VyY2UocGFyZW50KQorICAgICwg
bV9tYXBJRChuZXh0TWFwSUQoKSkKIHsKLSAgICBDTU5vdGlmaWNhdGlvbkNlbnRlckFkZExpc3Rl
bmVyKENNTm90aWZpY2F0aW9uQ2VudGVyR2V0RGVmYXVsdExvY2FsQ2VudGVyKCksIHRoaXMsIGJ1
ZmZlcldhc0NvbnN1bWVkQ2FsbGJhY2ssIGtDTVNhbXBsZUJ1ZmZlckNvbnN1bWVyTm90aWZpY2F0
aW9uX0J1ZmZlckNvbnN1bWVkLCBudWxscHRyLCAwKTsKKyAgICBDTU5vdGlmaWNhdGlvbkNlbnRl
ckFkZExpc3RlbmVyKENNTm90aWZpY2F0aW9uQ2VudGVyR2V0RGVmYXVsdExvY2FsQ2VudGVyKCks
IHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KG1fbWFwSUQpLCBidWZmZXJXYXNDb25zdW1lZENhbGxi
YWNrLCBrQ01TYW1wbGVCdWZmZXJDb25zdW1lck5vdGlmaWNhdGlvbl9CdWZmZXJDb25zdW1lZCwg
bnVsbHB0ciwgMCk7CiAgICAgbV9kZWxlZ2F0ZS5nZXQoKS5hYm9ydFNlbWFwaG9yZSA9IEJveDxT
ZW1hcGhvcmU+OjpjcmVhdGUoMCk7CisKKyAgICBzb3VyY2VCdWZmZXJNYXAoKS5hZGQobV9tYXBJ
RCwgbWFrZVdlYWtQdHIoKnRoaXMpKTsKIH0KIAogU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6
On5Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQygpCiB7CiAgICAgQVNTRVJUKCFtX2NsaWVudCk7
CisgICAgc291cmNlQnVmZmVyTWFwKCkucmVtb3ZlKG1fbWFwSUQpOwogICAgIGRlc3Ryb3lQYXJz
ZXIoKTsKICAgICBkZXN0cm95UmVuZGVyZXJzKCk7CiAKQEAgLTYyOCw3ICs2MjEsNyBAQCB2b2lk
IFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjp3aWxsUHJvdmlkZUNvbnRlbnRLZXlSZXF1ZXN0
SW5pdGlhbGl6YXRpb25EYXRhRgogCiAgICAgQVNTRVJUKG1fcGFyc2VyKTsKIAotI2lmIEVOQUJM
RShMRUdBQ1lfRU5DUllQVEVEX01FRElBKQorI2lmIEhBVkUoQVZTVFJFQU1TRVNTSU9OKSAmJiBF
TkFCTEUoTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkKICAgICBMT0coTWVkaWFTb3VyY2UsICJTb3Vy
Y2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6d2lsbFByb3ZpZGVDb250ZW50S2V5UmVxdWVzdEluaXRp
YWxpemF0aW9uRGF0YUZvclRyYWNrSUQoJXApIC0gdHJhY2s6JWQiLCB0aGlzLCB0cmFja0lEKTsK
ICAgICBtX3Byb3RlY3RlZFRyYWNrSUQgPSB0cmFja0lEOwogCkBAIC02NDksNyArNjQyLDcgQEAg
dm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6ZGlkUHJvdmlkZUNvbnRlbnRLZXlSZXF1
ZXN0SW5pdGlhbGl6YXRpb25EYXRhRm8KICAgICBpZiAoIW1fbWVkaWFTb3VyY2UpCiAgICAgICAg
IHJldHVybjsKIAotI2lmIEVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01FRElBKQorI2lmIEhBVkUo
QVZTVFJFQU1TRVNTSU9OKSAmJiBFTkFCTEUoTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkKICAgICBM
T0coTWVkaWFTb3VyY2UsICJTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6ZGlkUHJvdmlkZUNv
bnRlbnRLZXlSZXF1ZXN0SW5pdGlhbGl6YXRpb25EYXRhRm9yVHJhY2tJRCglcCkgLSB0cmFjazol
ZCIsIHRoaXMsIHRyYWNrSUQpOwogICAgIG1fcHJvdGVjdGVkVHJhY2tJRCA9IHRyYWNrSUQ7CiAg
ICAgYXV0byBpbml0RGF0YUFycmF5ID0gVWludDhBcnJheTo6Y3JlYXRlKFtpbml0RGF0YSBsZW5n
dGhdKTsKQEAgLTY2Niw3ICs2NTksNiBAQCB2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpD
OjpkaWRQcm92aWRlQ29udGVudEtleVJlcXVlc3RJbml0aWFsaXphdGlvbkRhdGFGbwogI2VuZGlm
CiAKICNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKSAmJiBIQVZFKEFWQ09OVEVOVEtFWVNFU1NJ
T04pCi0gICAgLy8KICAgICBhdXRvIGluaXREYXRhQnVmZmVyID0gU2hhcmVkQnVmZmVyOjpjcmVh
dGUoaW5pdERhdGEpOwogICAgIGF1dG8ga2V5SURzID0gQ0RNUHJpdmF0ZUZhaXJQbGF5U3RyZWFt
aW5nOjpleHRyYWN0S2V5SURzU2luZihpbml0RGF0YUJ1ZmZlcik7CiAgICAgaWYgKCFrZXlJRHMp
CkBAIC03MTMsNyArNzA1LDcgQEAgc3RhdGljIGRpc3BhdGNoX3F1ZXVlX3QgZ2xvYmFsRGF0YVBh
cnNlclF1ZXVlKCkKIAogdm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6YXBwZW5kKFZl
Y3Rvcjx1bnNpZ25lZCBjaGFyPiYmIGRhdGEpCiB7Ci0gICAgTE9HKE1lZGlhU291cmNlLCAiU291
cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6OmFwcGVuZCglcCkgLSBkYXRhOiVwLCBsZW5ndGg6JWQi
LCB0aGlzLCBkYXRhLmRhdGEoKSwgZGF0YS5zaXplKCkpOworICAgIExPRyhNZWRpYVNvdXJjZSwg
IlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjphcHBlbmQoJXApIC0gZGF0YTolcCwgbGVuZ3Ro
OiVkIiwgdGhpcywgZGF0YS5kYXRhKCksIChpbnQpZGF0YS5zaXplKCkpOwogCiAgICAgLy8gRklY
TUU6IEF2b2lkIHRoZSBkYXRhIGNvcHkgYnkgd3JhcHBpbmcgYXJvdW5kIHRoZSBWZWN0b3I8PiBv
YmplY3QuCiAgICAgUmV0YWluUHRyPE5TRGF0YT4gbnNEYXRhID0gYWRvcHROUyhbW05TRGF0YSBh
bGxvY10gaW5pdFdpdGhCeXRlczpkYXRhLmRhdGEoKSBsZW5ndGg6ZGF0YS5zaXplKCldKTsKQEAg
LTc3MCw3ICs3NjIsNyBAQCB2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjpyZXNldFBh
cnNlclN0YXRlKCkKIAogdm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6ZGVzdHJveVBh
cnNlcigpCiB7Ci0jaWYgRU5BQkxFKExFR0FDWV9FTkNSWVBURURfTUVESUEpCisjaWYgSEFWRShB
VlNUUkVBTVNFU1NJT04pICYmIEVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01FRElBKQogICAgIGlm
IChtX21lZGlhU291cmNlICYmIG1fbWVkaWFTb3VyY2UtPnBsYXllcigpLT5oYXNTdHJlYW1TZXNz
aW9uKCkpCiAgICAgICAgIFttX21lZGlhU291cmNlLT5wbGF5ZXIoKS0+c3RyZWFtU2Vzc2lvbigp
IHJlbW92ZVN0cmVhbURhdGFQYXJzZXI6bV9wYXJzZXIuZ2V0KCldOwogI2VuZGlmCkBAIC05ODgs
NyArOTgwLDcgQEAgdm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6dW5yZWdpc3RlckZv
ckVycm9yTm90aWZpY2F0aW9ucyhTb3VyY2VCdWZmZXJQcmkKIAogdm9pZCBTb3VyY2VCdWZmZXJQ
cml2YXRlQVZGT2JqQzo6bGF5ZXJEaWRSZWNlaXZlRXJyb3IoQVZTYW1wbGVCdWZmZXJEaXNwbGF5
TGF5ZXIgKmxheWVyLCBOU0Vycm9yICplcnJvcikKIHsKLSAgICBMT0coTWVkaWFTb3VyY2UsICJT
b3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6bGF5ZXJEaWRSZWNlaXZlRXJyb3IoJXApOiBsYXll
ciglcCksIGVycm9yKCVAKSIsIHRoaXMsIGxheWVyLCBbZXJyb3IgZGVzY3JpcHRpb25dKTsKKyAg
ICBMT0coTWVkaWFTb3VyY2UsICJTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6bGF5ZXJEaWRS
ZWNlaXZlRXJyb3IoJXApOiBsYXllciglcCksIGVycm9yKCVzKSIsIHRoaXMsIGxheWVyLCBbW2Vy
cm9yIGRlc2NyaXB0aW9uXSBVVEY4U3RyaW5nXSk7CiAKICAgICAvLyBGSVhNRSgxNDIyNDYpOiBS
ZW1vdmUgdGhlIGZvbGxvd2luZyBvbmNlIDxyZGFyOi8vcHJvYmxlbS8yMDAyNzQzND4gaXMgcmVz
b2x2ZWQuCiAgICAgYm9vbCBhbnlJZ25vcmVkID0gZmFsc2U7CkBAIC0xMDI1LDcgKzEwMTcsNyBA
QCBBTExPV19ORVdfQVBJX1dJVEhPVVRfR1VBUkRTX0JFR0lOCiB2b2lkIFNvdXJjZUJ1ZmZlclBy
aXZhdGVBVkZPYmpDOjpyZW5kZXJlckRpZFJlY2VpdmVFcnJvcihBVlNhbXBsZUJ1ZmZlckF1ZGlv
UmVuZGVyZXIgKnJlbmRlcmVyLCBOU0Vycm9yICplcnJvcikKIEFMTE9XX05FV19BUElfV0lUSE9V
VF9HVUFSRFNfRU5ECiB7Ci0gICAgTE9HKE1lZGlhU291cmNlLCAiU291cmNlQnVmZmVyUHJpdmF0
ZUFWRk9iakM6OnJlbmRlcmVyRGlkUmVjZWl2ZUVycm9yKCVwKTogcmVuZGVyZXIoJXApLCBlcnJv
ciglQCkiLCB0aGlzLCByZW5kZXJlciwgW2Vycm9yIGRlc2NyaXB0aW9uXSk7CisgICAgTE9HKE1l
ZGlhU291cmNlLCAiU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6OnJlbmRlcmVyRGlkUmVjZWl2
ZUVycm9yKCVwKTogcmVuZGVyZXIoJXApLCBlcnJvciglcykiLCB0aGlzLCByZW5kZXJlciwgW1tl
cnJvciBkZXNjcmlwdGlvbl0gVVRGOFN0cmluZ10pOwogCiAgICAgaWYgKFtlcnJvciBjb2RlXSA9
PSAnSERDUCcpCiAgICAgICAgIG1faGRjcEVycm9yID0gZXJyb3I7CkBAIC0xMDk4LDcgKzEwOTAs
NyBAQCB2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjplbnF1ZXVlU2FtcGxlKFJlZjxN
ZWRpYVNhbXBsZT4mJiBzYW1wbGUsIGNvbnN0CiAgICAgICAgIENNRm9ybWF0RGVzY3JpcHRpb25S
ZWYgZm9ybWF0RGVzY3JpcHRpb24gPSBDTVNhbXBsZUJ1ZmZlckdldEZvcm1hdERlc2NyaXB0aW9u
KHBsYXRmb3JtU2FtcGxlLnNhbXBsZS5jbVNhbXBsZUJ1ZmZlcik7CiAgICAgICAgIEZsb2F0U2l6
ZSBmb3JtYXRTaXplID0gRmxvYXRTaXplKENNVmlkZW9Gb3JtYXREZXNjcmlwdGlvbkdldFByZXNl
bnRhdGlvbkRpbWVuc2lvbnMoZm9ybWF0RGVzY3JpcHRpb24sIHRydWUsIHRydWUpKTsKICAgICAg
ICAgaWYgKCFtX2NhY2hlZFNpemUgfHwgZm9ybWF0U2l6ZSAhPSBtX2NhY2hlZFNpemUudmFsdWUo
KSkgewotICAgICAgICAgICAgTE9HKE1lZGlhU291cmNlLCAiU291cmNlQnVmZmVyUHJpdmF0ZUFW
Rk9iakM6OmVucXVldWVTYW1wbGUoJXApIC0gc2l6ZSBjaGFuZ2UgZGV0ZWN0ZWQ6IHt3aWR0aD0l
bGYsIGhlaWdodD0lbGZ9IiwgZm9ybWF0U2l6ZS53aWR0aCgpLCBmb3JtYXRTaXplLmhlaWdodCgp
KTsKKyAgICAgICAgICAgIExPRyhNZWRpYVNvdXJjZSwgIlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZP
YmpDOjplbnF1ZXVlU2FtcGxlKCVwKSAtIHNpemUgY2hhbmdlIGRldGVjdGVkOiB7d2lkdGg9JWxm
LCBoZWlnaHQ9JWxmfSIsIHRoaXMsIGZvcm1hdFNpemUud2lkdGgoKSwgZm9ybWF0U2l6ZS5oZWln
aHQoKSk7CiAgICAgICAgICAgICBib29sIHNpemVXYXNOdWxsID0gIW1fY2FjaGVkU2l6ZTsKICAg
ICAgICAgICAgIG1fY2FjaGVkU2l6ZSA9IGZvcm1hdFNpemU7CiAgICAgICAgICAgICBpZiAobV9t
ZWRpYVNvdXJjZSkgewpAQCAtMTExNCwxMSArMTEwNiwxMCBAQCB2b2lkIFNvdXJjZUJ1ZmZlclBy
aXZhdGVBVkZPYmpDOjplbnF1ZXVlU2FtcGxlKFJlZjxNZWRpYVNhbXBsZT4mJiBzYW1wbGUsIGNv
bnN0CiAKICAgICAgICAgaWYgKG1fZGlzcGxheUxheWVyKSB7CiAgICAgICAgICAgICBpZiAobV9t
ZWRpYVNvdXJjZSAmJiAhbV9tZWRpYVNvdXJjZS0+cGxheWVyKCktPmhhc0F2YWlsYWJsZVZpZGVv
RnJhbWUoKSAmJiAhc2FtcGxlLT5pc05vbkRpc3BsYXlpbmcoKSkgewotICAgICAgICAgICAgICAg
IGF1dG8gY29udGV4dCA9IGFkb3B0TlMoW1tXZWJCdWZmZXJDb25zdW1lZENvbnRleHQgYWxsb2Nd
IGluaXRXaXRoUGFyZW50OmNyZWF0ZVdlYWtQdHIoKV0pOwogICAgICAgICAgICAgICAgIENNU2Ft
cGxlQnVmZmVyUmVmIHJhd1NhbXBsZUNvcHk7CiAgICAgICAgICAgICAgICAgQ01TYW1wbGVCdWZm
ZXJDcmVhdGVDb3B5KGtDRkFsbG9jYXRvckRlZmF1bHQsIHBsYXRmb3JtU2FtcGxlLnNhbXBsZS5j
bVNhbXBsZUJ1ZmZlciwgJnJhd1NhbXBsZUNvcHkpOwogICAgICAgICAgICAgICAgIGF1dG8gc2Ft
cGxlQ29weSA9IGFkb3B0Q0YocmF3U2FtcGxlQ29weSk7Ci0gICAgICAgICAgICAgICAgQ01TZXRB
dHRhY2htZW50KHNhbXBsZUNvcHkuZ2V0KCksIGtDTVNhbXBsZUJ1ZmZlckF0dGFjaG1lbnRLZXlf
UG9zdE5vdGlmaWNhdGlvbldoZW5Db25zdW1lZCwgKF9fYnJpZGdlIENGRGljdGlvbmFyeVJlZilA
e2tCdWZmZXJDb25zdW1lZENvbnRleHQ6IGNvbnRleHQuZ2V0KCl9LCBrQ01BdHRhY2htZW50TW9k
ZV9TaG91bGROb3RQcm9wYWdhdGUpOworICAgICAgICAgICAgICAgIENNU2V0QXR0YWNobWVudChz
YW1wbGVDb3B5LmdldCgpLCBrQ01TYW1wbGVCdWZmZXJBdHRhY2htZW50S2V5X1Bvc3ROb3RpZmlj
YXRpb25XaGVuQ29uc3VtZWQsIChfX2JyaWRnZSBDRkRpY3Rpb25hcnlSZWYpQHsgKF9fYnJpZGdl
IE5TU3RyaW5nICopa0NNU2FtcGxlQnVmZmVyQXR0YWNobWVudEtleV9Qb3N0Tm90aWZpY2F0aW9u
V2hlbkNvbnN1bWVkIDogQChZRVMpIH0sIGtDTUF0dGFjaG1lbnRNb2RlX1Nob3VsZE5vdFByb3Bh
Z2F0ZSk7CiAgICAgICAgICAgICAgICAgW21fZGlzcGxheUxheWVyIGVucXVldWVTYW1wbGVCdWZm
ZXI6c2FtcGxlQ29weS5nZXQoKV07CiAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAg
ICBbbV9kaXNwbGF5TGF5ZXIgZW5xdWV1ZVNhbXBsZUJ1ZmZlcjpwbGF0Zm9ybVNhbXBsZS5zYW1w
bGUuY21TYW1wbGVCdWZmZXJdOwpAQCAtMTEzMyw2ICsxMTI0LDggQEAgdm9pZCBTb3VyY2VCdWZm
ZXJQcml2YXRlQVZGT2JqQzo6ZW5xdWV1ZVNhbXBsZShSZWY8TWVkaWFTYW1wbGU+JiYgc2FtcGxl
LCBjb25zdAogCiB2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjpidWZmZXJXYXNDb25z
dW1lZCgpCiB7CisgICAgTE9HKE1lZGlhU291cmNlLCAiU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9i
akM6OmJ1ZmZlcldhc0NvbnN1bWVkKCVwKSIsIHRoaXMpOworCiAgICAgaWYgKG1fbWVkaWFTb3Vy
Y2UpCiAgICAgICAgIG1fbWVkaWFTb3VyY2UtPnBsYXllcigpLT5zZXRIYXNBdmFpbGFibGVWaWRl
b0ZyYW1lKHRydWUpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9u
cy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggOTEyMmEyNTZlMzY1NTY0NmI4YjJhZWMyYWEy
NTk4YmI1OTA4NDYyMS4uMzk2MGE4NmFjMDRmMWZkNDFlMmI4NGViMmI2YjUzODc5YmRiY2RjNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnCkBAIC0yNjIsOCArMjYyLDcgQEAgRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQ
VCA9IEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQ7CiAKIEVOQUJMRV9NRURJQV9TRVNTSU9O
ID0gOwogCi1FTkFCTEVfTUVESUFfU09VUkNFID0gJChFTkFCTEVfTUVESUFfU09VUkNFXyQoV0tf
UExBVEZPUk1fTkFNRSkpOwotRU5BQkxFX01FRElBX1NPVVJDRV9tYWNvc3ggPSBFTkFCTEVfTUVE
SUFfU09VUkNFOworRU5BQkxFX01FRElBX1NPVVJDRSA9IEVOQUJMRV9NRURJQV9TT1VSQ0U7CiAK
IEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTID0gOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
CmluZGV4IDkxMjJhMjU2ZTM2NTU2NDZiOGIyYWVjMmFhMjU5OGJiNTkwODQ2MjEuLjM5NjBhODZh
YzA0ZjFmZDQxZTJiODRlYjJiNmI1Mzg3OWJkYmNkYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnCkBAIC0yNjIsOCArMjYyLDcgQEAgRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCA9
IEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQ7CiAKIEVOQUJMRV9NRURJQV9TRVNTSU9OID0g
OwogCi1FTkFCTEVfTUVESUFfU09VUkNFID0gJChFTkFCTEVfTUVESUFfU09VUkNFXyQoV0tfUExB
VEZPUk1fTkFNRSkpOwotRU5BQkxFX01FRElBX1NPVVJDRV9tYWNvc3ggPSBFTkFCTEVfTUVESUFf
U09VUkNFOworRU5BQkxFX01FRElBX1NPVVJDRSA9IEVOQUJMRV9NRURJQV9TT1VSQ0U7CiAKIEVO
QUJMRV9NRURJQV9TVEFUSVNUSUNTID0gOwogCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMWNmODJhYzYwZjljN2E5NGRjZjU0ZGEwZjkxYjQ4OTFh
MDE1ZDViYS4uZTZhMDIxMWI4Yzg4MGViZjkwMzZlZjRmOWVkZmM0NTEyMzExZWViYiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEz
IEBACisyMDE5LTAxLTI3ICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgor
CisgICAgICAgIEFWU3RyZWFtU2Vzc2lvbiBpc24ndCBhbHdheXMgYXZhaWxhYmxlLCBtYWtlIGEg
SEFWRSBjb21waWxlIGZsYWcgZm9yIGl0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xOTM4ODkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ3NDUyODYz
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVz
dFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAx
OS0wMS0yNiAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNd
IFRoZSBkZWZhdWx0IHZhbHVlcyBmb3IgdG9wL2JvdHRvbSBpbiBjb250ZW50SGVpZ2h0Rm9yRm9y
bWF0dGluZ0NvbnRleHRSb290IHNob3VsZCBub3QgYmUgMC4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmlu
ZGV4IDkxMjJhMjU2ZTM2NTU2NDZiOGIyYWVjMmFhMjU5OGJiNTkwODQ2MjEuLjM5NjBhODZhYzA0
ZjFmZDQxZTJiODRlYjJiNmI1Mzg3OWJkYmNkYzUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvVG9vbHMv
VGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAt
MjYyLDggKzI2Miw3IEBAIEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQgPSBFTkFCTEVfTUVE
SUFfQ09OVFJPTFNfU0NSSVBUOwogCiBFTkFCTEVfTUVESUFfU0VTU0lPTiA9IDsKIAotRU5BQkxF
X01FRElBX1NPVVJDRSA9ICQoRU5BQkxFX01FRElBX1NPVVJDRV8kKFdLX1BMQVRGT1JNX05BTUUp
KTsKLUVOQUJMRV9NRURJQV9TT1VSQ0VfbWFjb3N4ID0gRU5BQkxFX01FRElBX1NPVVJDRTsKK0VO
QUJMRV9NRURJQV9TT1VSQ0UgPSBFTkFCTEVfTUVESUFfU09VUkNFOwogCiBFTkFCTEVfTUVESUFf
U1RBVElTVElDUyA9IDsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>360347</attachid>
            <date>2019-01-28 08:50:24 -0800</date>
            <delta_ts>2019-01-28 11:19:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-193889-20190128085023.patch</filename>
            <type>text/plain</type>
            <size>26651</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQwNTQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDZlODRkOWMxZmNjNTlhOTlmNDE0Yjkz
YzYyMzhmMTVlMGU3ZDI5YTEuLjlkNmFhNzdhODcyMGJiYTZmZGViNmRiY2NmYzYzNTYyYTI0OTYy
OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTktMDEtMjcgIEVyaWMgQ2FybHNvbiAgPGVyaWMu
Y2FybHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQVZTdHJlYW1TZXNzaW9uIGlzbid0IGFsd2F5
cyBhdmFpbGFibGUsIG1ha2UgYSBIQVZFIGNvbXBpbGUgZmxhZyBmb3IgaXQKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5Mzg4OQorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vNDc0NTI4NjM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiB3dGYvRmVhdHVyZURlZmluZXMuaDoKKwogMjAxOS0wMS0yNSAgQ2hy
aXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIEFkZCBzdXBwb3J0
IGZvciB0aGUgZG93bmxvYWQgYXR0cmlidXRlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjgwOTk1ODRhYjhmNjlh
NGJmNDU0ZTg1OTc3ZTUzMmZiNjU1NmNmYy4uZjI5ZjhmNjE1NjcxZGY2NTRiZGVlMzk0YzNjZjRl
MTc1YjUxZDUzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDE5LTAxLTI3ICBFcmlj
IENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIEFWU3RyZWFtU2Vz
c2lvbiBpc24ndCBhbHdheXMgYXZhaWxhYmxlLCBtYWtlIGEgSEFWRSBjb21waWxlIGZsYWcgZm9y
IGl0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTM4
ODkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ3NDUyODYzPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gZnVuY3Rpb25h
bCBjaGFuZ2UuCisKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLnlhbWw6CisgICAgICAgICogcGFn
ZS9TZXR0aW5nc0Jhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3NCYXNlOjpwbGF0
Zm9ybURlZmF1bHRNZWRpYVNvdXJjZUVuYWJsZWQpOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3NC
YXNlLmg6CisgICAgICAgICogcGFnZS9jb2NvYS9TZXR0aW5nc0Jhc2VDb2NvYS5tbToKKyAgICAg
ICAgKFdlYkNvcmU6OlNldHRpbmdzQmFzZTo6cGxhdGZvcm1EZWZhdWx0TWVkaWFTb3VyY2VFbmFi
bGVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vQ0RNUHJpdmF0
ZU1lZGlhU291cmNlQVZGT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6OkNETVByaXZhdGVNZWRp
YVNvdXJjZUFWRk9iakM6OmNyZWF0ZVNlc3Npb24pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9vYmpjL0NETVNlc3Npb25BVlN0cmVhbVNlc3Npb24uaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9DRE1TZXNzaW9uQVZTdHJl
YW1TZXNzaW9uLm1tOgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLmg6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVk
aWFTb3VyY2VBVkZPYmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRl
TWVkaWFTb3VyY2VBVkZPYmpDOjpkdXJhdGlvbkNoYW5nZWQpOiBGaXggbG9nZ2luZy4KKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6b3V0cHV0
T2JzY3VyZWREdWVUb0luc3VmZmljaWVudEV4dGVybmFsUHJvdGVjdGlvbkNoYW5nZWQpOgorCisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVy
UHJpdmF0ZUFWRk9iakMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5tbToKKyAgICAgICAgCisgICAgICAg
IFVzZSBhIEhhc2hNYXAgdG8gYXNzb2NpYXRlIENNU2FtcGxlQnVmZmVyIHdpdGggU291cmNlQnVm
ZmVyUHJpdmF0ZUFWRk9iakMuCisKKyAgICAgICAgKC1bV2ViQVZTYW1wbGVCdWZmZXJFcnJvckxp
c3RlbmVyIG9ic2VydmVWYWx1ZUZvcktleVBhdGg6b2ZPYmplY3Q6Y2hhbmdlOmNvbnRleHQ6XSk6
IGlzRXF1YWxUbworICAgICAgICAtPiBpc0VxdWFsVG9TdHJpbmcuCisgICAgICAgIChXZWJDb3Jl
Ojpzb3VyY2VCdWZmZXJNYXApOgorICAgICAgICAoV2ViQ29yZTo6bmV4dE1hcElEKToKKyAgICAg
ICAgKFdlYkNvcmU6OmJ1ZmZlcldhc0NvbnN1bWVkQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29y
ZTo6U291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6OlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpD
KToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjp+U291cmNl
QnVmZmVyUHJpdmF0ZUFWRk9iakMpOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyUHJp
dmF0ZUFWRk9iakM6OndpbGxQcm92aWRlQ29udGVudEtleVJlcXVlc3RJbml0aWFsaXphdGlvbkRh
dGFGb3JUcmFja0lEKToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZP
YmpDOjpkaWRQcm92aWRlQ29udGVudEtleVJlcXVlc3RJbml0aWFsaXphdGlvbkRhdGFGb3JUcmFj
a0lEKToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjphcHBl
bmQpOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6OmRlc3Ry
b3lQYXJzZXIpOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6
OmxheWVyRGlkUmVjZWl2ZUVycm9yKToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclBy
aXZhdGVBVkZPYmpDOjplbnF1ZXVlU2FtcGxlKToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1
ZmZlclByaXZhdGVBVkZPYmpDOjpidWZmZXJXYXNDb25zdW1lZCk6CisgICAgICAgICgtW1dlYkJ1
ZmZlckNvbnN1bWVkQ29udGV4dCBpbml0V2l0aFBhcmVudDpdKTogRGVsZXRlZC4KKyAgICAgICAg
KC1bV2ViQnVmZmVyQ29uc3VtZWRDb250ZXh0IHBhcmVudF0pOiBEZWxldGVkLgorCiAyMDE5LTAx
LTI2ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ10gVGhl
IGluaXRpYWwgdmFsdWVzIGZvciB0b3AvYm90dG9tIGluIGNvbnRlbnRIZWlnaHRGb3JGb3JtYXR0
aW5nQ29udGV4dFJvb3Qgc2hvdWxkIG5vdCBiZSAwLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93
dGYvRmVhdHVyZURlZmluZXMuaCBiL1NvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgKaW5k
ZXggN2YxNzc1NTk1MTliMjE1NjMzNjU4ODMyOTkyYWVkMzJiMjY2OGEyMi4uN2JiZjk3MDk5YjBi
NWViNjVkNGNkODk4YWM2YmFlNzEyZTU5MWE4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYv
RmVhdHVyZURlZmluZXMuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oCkBA
IC0xNzcsNiArMTc3LDE0IEBAIHRoZSBwdWJsaWMgaU9TIFNESy4gU2VlIDxodHRwczovL3dlYmtp
dC5vcmcvYi8xNzkxNjc+LiAqLwogI2VuZGlmCiAjZW5kaWYKIAorI2lmICFkZWZpbmVkKEhBVkVf
QVZTVFJFQU1TRVNTSU9OKQorI2RlZmluZSBIQVZFX0FWU1RSRUFNU0VTU0lPTiAwCisjZW5kaWYK
KworI2lmICFkZWZpbmVkKEVOQUJMRV9NRURJQV9TT1VSQ0UpCisjZGVmaW5lIEVOQUJMRV9NRURJ
QV9TT1VSQ0UgMAorI2VuZGlmCisKICNlbmRpZiAvKiBQTEFURk9STShJT1NfRkFNSUxZKSAqLwog
CiAvKiAtLS0tLS0tLS0gQXBwbGUgV0FUQ0hPUyBwb3J0IC0tLS0tLS0tLSAqLwpAQCAtMjU1LDYg
KzI2MywxNCBAQCB0aGUgcHVibGljIGlPUyBTREsuIFNlZSA8aHR0cHM6Ly93ZWJraXQub3JnL2Iv
MTc5MTY3Pi4gKi8KICNkZWZpbmUgRU5BQkxFX1dFQlBST0NFU1NfV0lORE9XU0VSVkVSX0JMT0NL
SU5HIEVOQUJMRV9XRUJQUk9DRVNTX05TUlVOTE9PUAogI2VuZGlmCiAKKyNpZiAhZGVmaW5lZChI
QVZFX0FWU1RSRUFNU0VTU0lPTikKKyNkZWZpbmUgSEFWRV9BVlNUUkVBTVNFU1NJT04gMQorI2Vu
ZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfTUVESUFfU09VUkNFKQorI2RlZmluZSBFTkFCTEVf
TUVESUFfU09VUkNFIDEKKyNlbmRpZgorCiAjZW5kaWYgLyogUExBVEZPUk0oTUFDKSAqLwogCiAj
aWYgUExBVEZPUk0oQ09DT0EpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3Nw
aS9tYWMvQVZGb3VuZGF0aW9uU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMv
QVZGb3VuZGF0aW9uU1BJLmgKaW5kZXggZmIzMGNjODYzZGFmOGJmMzc5YWJiMGQwNDE5YThmZGRh
M2U4MDVkNS4uZmY2YmY4MDg1ZTkxNzkxODA4NGUxZDBkYjc2MTVhOWQ0YzhmZTY5YyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL0FWRm91bmRhdGlvblNQSS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9BVkZvdW5kYXRpb25TUEkuaApAQCAt
NDAsNyArNDAsNyBAQAogI2ltcG9ydCA8QVZLaXQvQVZQbGF5ZXJWaWV3Q29udHJvbGxlcl9XZWJL
aXRPbmx5Lmg+CiAjZW5kaWYKIAotI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQorI2lmIEVOQUJM
RShNRURJQV9TT1VSQ0UpCiAjaW1wb3J0IDxBVkZvdW5kYXRpb24vQVZTdHJlYW1EYXRhUGFyc2Vy
Lmg+CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55
YW1sIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55YW1sCmluZGV4IGNhNGM1N2M4Njlm
NDk1MDg4MWJhODQwZDhiYjY0OTEwMmViMzI1N2UuLjQ5ODlmYWFhMGVmYzM1MjllOWVjMTI5YjEy
NmVjYWM2MDU5NjFkZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3Mu
eWFtbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLnlhbWwKQEAgLTQ1MCw3ICs0
NTAsNyBAQCB1c2VHaWFudFRpbGVzOgogICBpbml0aWFsOiBmYWxzZQogCiBtZWRpYVNvdXJjZUVu
YWJsZWQ6Ci0gIGluaXRpYWw6IHRydWUKKyAgaW5pdGlhbDogcGxhdGZvcm1EZWZhdWx0TWVkaWFT
b3VyY2VFbmFibGVkKCkKICAgY29uZGl0aW9uYWw6IE1FRElBX1NPVVJDRQogCiBzb3VyY2VCdWZm
ZXJDaGFuZ2VUeXBlRW5hYmxlZDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0
dGluZ3NCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3NCYXNlLmNwcAppbmRl
eCBjZDRjNGU4MTE4ZjE1MTUyMGEyYzAyYjJiNDEzNDNmY2VkZDJlNzgyLi5jMzE4ZWNlZWY1NWE0
ZmYzOTBlOTExOGI3MDA3NzE1MTdlZjM1NTUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1NldHRpbmdzQmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5nc0Jh
c2UuY3BwCkBAIC0xMTcsNiArMTE3LDEzIEBAIHZvaWQgU2V0dGluZ3NCYXNlOjppbml0aWFsaXpl
RGVmYXVsdEZvbnRGYW1pbGllcygpCiB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShNRURJQV9TT1VS
Q0UpICYmICFQTEFURk9STShDT0NPQSkKK2Jvb2wgU2V0dGluZ3NCYXNlOjpwbGF0Zm9ybURlZmF1
bHRNZWRpYVNvdXJjZUVuYWJsZWQoKQoreworICAgIHJldHVybiB0cnVlOworfQorI2VuZGlmCisK
IGNvbnN0IEF0b21pY1N0cmluZyYgU2V0dGluZ3NCYXNlOjpzdGFuZGFyZEZvbnRGYW1pbHkoVVNj
cmlwdENvZGUgc2NyaXB0KSBjb25zdAogewogICAgIHJldHVybiBtX2ZvbnRHZW5lcmljRmFtaWxp
ZXMtPnN0YW5kYXJkRm9udEZhbWlseShzY3JpcHQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9TZXR0aW5nc0Jhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3NCYXNl
LmgKaW5kZXggZDY0NzFjMjRkOWViYzcwZGE5MzdhZmFiNTliY2JhZDAxZTExOWRmZC4uZDc0ZTM0
YWRlYWY0OGZhNDg2MjFjZmMwZDM1MmM4NWJkNWM4OWFjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9TZXR0aW5nc0Jhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRp
bmdzQmFzZS5oCkBAIC0xMTYsNiArMTE2LDEwIEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9S
VCBzdGF0aWMgZmxvYXQgZGVmYXVsdE1pbmltdW1ab29tRm9udFNpemUoKTsKICAgICBXRUJDT1JF
X0VYUE9SVCBzdGF0aWMgYm9vbCBkZWZhdWx0RG93bmxvYWRhYmxlQmluYXJ5Rm9udHNFbmFibGVk
KCk7CiAKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorICAgIHN0YXRpYyBib29sIHBsYXRmb3Jt
RGVmYXVsdE1lZGlhU291cmNlRW5hYmxlZCgpOworI2VuZGlmCisKICAgICBzdGF0aWMgY29uc3Qg
dW5zaWduZWQgZGVmYXVsdE1heGltdW1IVE1MUGFyc2VyRE9NVHJlZURlcHRoID0gNTEyOwogICAg
IHN0YXRpYyBjb25zdCB1bnNpZ25lZCBkZWZhdWx0TWF4aW11bVJlbmRlclRyZWVEZXB0aCA9IDUx
MjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9jb2NvYS9TZXR0aW5nc0Jhc2VD
b2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY29jb2EvU2V0dGluZ3NCYXNlQ29jb2EubW0K
aW5kZXggMTc5NzQyMjg5YmQyMmIxNjM0YzI1ODlkMmU3YTU2MGFiZjhmMDEyYy4uNTdmODI1ZGY5
OTU1OWYwOTM1NzM4YTM4YjM2OTE3YmQ4ZjllMjhlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9jb2NvYS9TZXR0aW5nc0Jhc2VDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL2NvY29hL1NldHRpbmdzQmFzZUNvY29hLm1tCkBAIC05MCw2ICs5MCwxMSBAQCB2b2lkIFNl
dHRpbmdzQmFzZTo6aW5pdGlhbGl6ZURlZmF1bHRGb250RmFtaWxpZXMoKQogICAgIHNldFNhbnNT
ZXJpZkZvbnRGYW1pbHkoIkhlbHZldGljYSIsIFVTQ1JJUFRfQ09NTU9OKTsKIH0KIAorYm9vbCBT
ZXR0aW5nc0Jhc2U6OnBsYXRmb3JtRGVmYXVsdE1lZGlhU291cmNlRW5hYmxlZCgpCit7CisgICAg
cmV0dXJuIHRydWU7Cit9CisKICNlbHNlCiAKIHZvaWQgU2V0dGluZ3NCYXNlOjppbml0aWFsaXpl
RGVmYXVsdEZvbnRGYW1pbGllcygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vQ0RNUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbSBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9DRE1Qcml2YXRl
TWVkaWFTb3VyY2VBVkZPYmpDLm1tCmluZGV4IGE1Y2JmMzRiNjYxNTFhMjIxOGJhOGZlYWQ2ZDc1
NjI1MWUzMGYyOTIuLjU0ZWMzN2RlMGFkY2IyYTVkOGVjZjY4OTcwZDM1ZmJkMmI0YjhhZmMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9D
RE1Qcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9DRE1Qcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1t
CkBAIC0xMjQsNyArMTI0LDExIEBAIHN0ZDo6dW5pcXVlX3B0cjxMZWdhY3lDRE1TZXNzaW9uPiBD
RE1Qcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpjcmVhdGVTZXNzaW9uKExlCiAgICAgaWYgKGtl
eVN5c3RlbVN0cmluZ1ZpZXcuc3Vic3RyaW5nKDE0LCAxKS50b0ludCgpID09IDMgJiYgQ0RNU2Vz
c2lvbkFWQ29udGVudEtleVNlc3Npb246OmlzQXZhaWxhYmxlKCkpCiAgICAgICAgIHNlc3Npb24g
PSBzdGQ6Om1ha2VfdW5pcXVlPENETVNlc3Npb25BVkNvbnRlbnRLZXlTZXNzaW9uPihwcm90b2Nv
bFZlcnNpb25zLCAqdGhpcywgY2xpZW50KTsKICAgICBlbHNlCisjaWYgSEFWRShBVlNUUkVBTVNF
U1NJT04pICYmIEVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01FRElBKQogICAgICAgICBzZXNzaW9u
ID0gc3RkOjptYWtlX3VuaXF1ZTxDRE1TZXNzaW9uQVZTdHJlYW1TZXNzaW9uPihwcm90b2NvbFZl
cnNpb25zLCAqdGhpcywgY2xpZW50KTsKKyNlbHNlCisgICAgICAgIHJldHVybiBudWxscHRyOwor
I2VuZGlmCiAKICAgICBtX3Nlc3Npb25zLmFwcGVuZChzZXNzaW9uLmdldCgpKTsKICAgICByZXR1
cm4gV1RGTW92ZShzZXNzaW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0NETVNlc3Npb25BVlN0cmVhbVNlc3Npb24uaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0NETVNl
c3Npb25BVlN0cmVhbVNlc3Npb24uaAppbmRleCBlMWRlNzJhODcyYjQ3NTM5YmEwNTkzYWJiOWY0
OGNjNDc1NjJlNTIwLi4wNzk3YWIyYzdhNGJjYzQ4M2M4ZTc1MTMxMGIwNTg4YzUzYjY4NDE0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
b2JqYy9DRE1TZXNzaW9uQVZTdHJlYW1TZXNzaW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvQ0RNU2Vzc2lvbkFWU3RyZWFtU2Vzc2lv
bi5oCkBAIC0zMSw3ICszMSw3IEBACiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogI2luY2x1
ZGUgPHd0Zi9XZWFrUHRyLmg+CiAKLSNpZiBFTkFCTEUoTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkg
JiYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKyNpZiBIQVZFKEFWU1RSRUFNU0VTU0lPTikgJiYgRU5B
QkxFKExFR0FDWV9FTkNSWVBURURfTUVESUEpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiAKIE9C
SkNfQ0xBU1MgQVZTdHJlYW1TZXNzaW9uOwogT0JKQ19DTEFTUyBXZWJDRE1TZXNzaW9uQVZTdHJl
YW1TZXNzaW9uT2JzZXJ2ZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9DRE1TZXNzaW9uQVZTdHJlYW1TZXNzaW9uLm1tIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvQ0RNU2Vz
c2lvbkFWU3RyZWFtU2Vzc2lvbi5tbQppbmRleCBjMzU3M2U1YzYwODFjOTliMTQwNGUwZTQxYzUw
ZTA0OWUyOTFhMjJlLi5mM2JjOWMyMTkxMjI2Y2M5YmFmMmVlZTAzNGFmZWUyNjNiYTA2NWIxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
b2JqYy9DRE1TZXNzaW9uQVZTdHJlYW1TZXNzaW9uLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0NETVNlc3Npb25BVlN0cmVhbVNlc3Np
b24ubW0KQEAgLTI2LDcgKzI2LDcgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiQ0RN
U2Vzc2lvbkFWU3RyZWFtU2Vzc2lvbi5oIgogCi0jaWYgRU5BQkxFKExFR0FDWV9FTkNSWVBURURf
TUVESUEpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisjaWYgSEFWRShBVlNUUkVBTVNFU1NJT04p
ICYmIEVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01FRElBKSAmJiBFTkFCTEUoTUVESUFfU09VUkNF
KQogCiAjaW1wb3J0ICJDRE1Qcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLmgiCiAjaW1wb3J0ICJM
ZWdhY3lDRE0uaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVk
aWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLmgKaW5kZXggOTU4YTIxODg1NjI4NzA3
ZWY2N2NiMGI4MTU4NGI3NzRmOGZiMjlkMS4uZjg0NmFkZmU2NzMwMmI0YmJkMzlmNGNlOGYxYWJm
NDFkMGU2NDMxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMv
TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLmgKQEAgLTEwOSw3ICsxMDksNyBA
QCBwdWJsaWM6CiAgICAgdm9pZCBzZXRUZXh0VHJhY2tSZXByZXNlbnRhdGlvbihUZXh0VHJhY2tS
ZXByZXNlbnRhdGlvbiopIG92ZXJyaWRlOwogICAgIHZvaWQgc3luY1RleHRUcmFja0JvdW5kcygp
IG92ZXJyaWRlOwogICAgIAotI2lmIEVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01FRElBKQorI2lm
IEhBVkUoQVZTVFJFQU1TRVNTSU9OKSAmJiBFTkFCTEUoTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkK
ICAgICBib29sIGhhc1N0cmVhbVNlc3Npb24oKSB7IHJldHVybiBtX3N0cmVhbVNlc3Npb247IH0K
ICAgICBBVlN0cmVhbVNlc3Npb24gKnN0cmVhbVNlc3Npb24oKTsKICAgICB2b2lkIHNldENETVNl
c3Npb24oTGVnYWN5Q0RNU2Vzc2lvbiopIG92ZXJyaWRlOwpAQCAtMTIxLDE3ICsxMjEsMTcgQEAg
cHVibGljOgogICAgIHZvaWQgY2RtSW5zdGFuY2VEZXRhY2hlZChDRE1JbnN0YW5jZSYpIGZpbmFs
OwogICAgIHZvaWQgYXR0ZW1wdFRvRGVjcnlwdFdpdGhJbnN0YW5jZShDRE1JbnN0YW5jZSYpIGZp
bmFsOwogICAgIGJvb2wgd2FpdGluZ0ZvcktleSgpIGNvbnN0IGZpbmFsOwotCiAgICAgdm9pZCB3
YWl0aW5nRm9yS2V5Q2hhbmdlZCgpOwogI2VuZGlmCiAKLSNpZiBFTkFCTEUoTEVHQUNZX0VOQ1JZ
UFRFRF9NRURJQSkgfHwgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKLSAgICB2b2lkIGtleU5lZWRl
ZChVaW50OEFycmF5Kik7Ci0KICAgICB2b2lkIG91dHB1dE9ic2N1cmVkRHVlVG9JbnN1ZmZpY2ll
bnRFeHRlcm5hbFByb3RlY3Rpb25DaGFuZ2VkKGJvb2wpOwogICAgIHZvaWQgYmVnaW5TaW11bGF0
ZWRIRENQRXJyb3IoKSBvdmVycmlkZSB7IG91dHB1dE9ic2N1cmVkRHVlVG9JbnN1ZmZpY2llbnRF
eHRlcm5hbFByb3RlY3Rpb25DaGFuZ2VkKHRydWUpOyB9CiAgICAgdm9pZCBlbmRTaW11bGF0ZWRI
RENQRXJyb3IoKSBvdmVycmlkZSB7IG91dHB1dE9ic2N1cmVkRHVlVG9JbnN1ZmZpY2llbnRFeHRl
cm5hbFByb3RlY3Rpb25DaGFuZ2VkKGZhbHNlKTsgfQorCisjaWYgRU5BQkxFKExFR0FDWV9FTkNS
WVBURURfTUVESUEpIHx8IEVOQUJMRShFTkNSWVBURURfTUVESUEpCisgICAgdm9pZCBrZXlOZWVk
ZWQoVWludDhBcnJheSopOwogI2VuZGlmCisKICNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQog
ICAgIHZvaWQgaW5pdGlhbGl6YXRpb25EYXRhRW5jb3VudGVyZWQoY29uc3QgU3RyaW5nJiwgUmVm
UHRyPEFycmF5QnVmZmVyPiYmKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVk
aWFTb3VyY2VBVkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tCmlu
ZGV4IGMwMzc0Y2EyZDgyYWNjMGZkOWExNTg0NDE0NmI5MGI1ZjdhM2MyNGQuLjRjMThmY2I0ZjZj
YTg1NWVkMmM5Mzg3NGQ0MDY5ZjhhNTE1NGVmNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1l
ZGlhU291cmNlQVZGT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMu
bW0KQEAgLTU1LDYgKzU1LDcgQEAKICNwcmFnbWEgbWFyayAtIFNvZnQgTGlua2luZwogCiAjaW1w
b3J0IDxwYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuaD4KKyNpbXBvcnQgIkNvcmVWaWRlb1NvZnRM
aW5rLmgiCiAKIFNPRlRfTElOS19GUkFNRVdPUktfT1BUSU9OQUwoQVZGb3VuZGF0aW9uKQogCkBA
IC04MjksNyArODMwLDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9i
akM6OmR1cmF0aW9uQ2hhbmdlZCgpCiAKICAgICAgICAgd2Vha1RoaXMtPnBhdXNlSW50ZXJuYWwo
KTsKICAgICAgICAgaWYgKG5vdyA8IGR1cmF0aW9uKSB7Ci0gICAgICAgICAgICBMT0coTWVkaWFT
b3VyY2UsICIgICBFUlJPUjogYm91bmRhcnkgdGltZSBvYnNlcnZlciBjYWxsZWQgYmVmb3JlIGR1
cmF0aW9uISIsIHdlYWtUaGlzLmdldCgpKTsKKyAgICAgICAgICAgIExPRyhNZWRpYVNvdXJjZSwg
Ik1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6ZHVyYXRpb25DaGFuZ2VkKCVw
KSBFUlJPUjogYm91bmRhcnkgdGltZSBvYnNlcnZlciBjYWxsZWQgYmVmb3JlIGR1cmF0aW9uISIs
IHdlYWtUaGlzLmdldCgpKTsKICAgICAgICAgICAgIFt3ZWFrVGhpcy0+bV9zeW5jaHJvbml6ZXIg
c2V0UmF0ZTowIHRpbWU6UEFMOjp0b0NNVGltZShkdXJhdGlvbildOwogICAgICAgICB9CiAgICAg
ICAgIHdlYWtUaGlzLT5tX3BsYXllci0+dGltZUNoYW5nZWQoKTsKQEAgLTg4NCw3ICs4ODUsNyBA
QCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6Zmx1c2hQZW5kaW5n
U2l6ZUNoYW5nZXMoKQogICAgIG1fc2l6ZUNoYW5nZU9ic2VydmVyV2Vha1B0ckZhY3RvcnkucmV2
b2tlQWxsKCk7CiB9CiAKLSNpZiBFTkFCTEUoTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkKKyNpZiBI
QVZFKEFWU1RSRUFNU0VTU0lPTikgJiYgRU5BQkxFKExFR0FDWV9FTkNSWVBURURfTUVESUEpCiBB
VlN0cmVhbVNlc3Npb24qIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6c3Ry
ZWFtU2Vzc2lvbigpCiB7CiAgICAgaWYgKCFnZXRBVlN0cmVhbVNlc3Npb25DbGFzcygpIHx8ICFb
Z2V0QVZTdHJlYW1TZXNzaW9uQ2xhc3MoKSBpbnN0YW5jZXNSZXNwb25kVG9TZWxlY3RvcjpAc2Vs
ZWN0b3IoaW5pdFdpdGhTdG9yYWdlRGlyZWN0b3J5QXRVUkw6KV0pCkBAIC05MTgsMTEgKzkxOSwx
NCBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6c2V0Q0RNU2Vz
c2lvbihMZWdhY3lDRE1TZXNzaW9uKiBzZXNzaQogICAgIGZvciAoYXV0byYgc291cmNlQnVmZmVy
IDogbV9tZWRpYVNvdXJjZVByaXZhdGUtPnNvdXJjZUJ1ZmZlcnMoKSkKICAgICAgICAgc291cmNl
QnVmZmVyLT5zZXRDRE1TZXNzaW9uKG1fc2Vzc2lvbi5nZXQoKSk7CiB9CisjZW5kaWYgLy8gSEFW
RShBVlNUUkVBTVNFU1NJT04pICYmIEVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01FRElBKQogCisj
aWYgRU5BQkxFKExFR0FDWV9FTkNSWVBURURfTUVESUEpIHx8IEVOQUJMRShFTkNSWVBURURfTUVE
SUEpCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6a2V5TmVlZGVk
KFVpbnQ4QXJyYXkqIGluaXREYXRhKQogewogICAgIG1fcGxheWVyLT5rZXlOZWVkZWQoaW5pdERh
dGEpOwogfQorI2VuZGlmCiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZP
YmpDOjpvdXRwdXRPYnNjdXJlZER1ZVRvSW5zdWZmaWNpZW50RXh0ZXJuYWxQcm90ZWN0aW9uQ2hh
bmdlZChib29sIG9ic2N1cmVkKQogewpAQCAtOTMzLDcgKzkzNyw2IEBAIHZvaWQgTWVkaWFQbGF5
ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpvdXRwdXRPYnNjdXJlZER1ZVRvSW5zdWZmaWNp
ZW50RXh0ZXJuCiAgICAgVU5VU0VEX1BBUkFNKG9ic2N1cmVkKTsKICNlbmRpZgogfQotI2VuZGlm
CiAKICNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQogdm9pZCBNZWRpYVBsYXllclByaXZhdGVN
ZWRpYVNvdXJjZUFWRk9iakM6OmNkbUluc3RhbmNlQXR0YWNoZWQoQ0RNSW5zdGFuY2UmIGluc3Rh
bmNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1NvdXJjZUJ1ZmZlclByaXZhdGVB
VkZPYmpDLmgKaW5kZXggZDJkOGJkNWY4MTdiY2JlYWUwNGMwODZlYTg3ZjZjZDc0NWU0ZDM3NS4u
Zjk4NjZlMDJmOTc2YTkzMWNiNDFmZjgwMDU0MmQyNzg1MzBjODk0ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVm
ZmVyUHJpdmF0ZUFWRk9iakMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5oCkBAIC03Nyw3
ICs3Nyw3IEBAIHB1YmxpYzoKICAgICBBTExPV19ORVdfQVBJX1dJVEhPVVRfR1VBUkRTX0VORAog
fTsKIAotY2xhc3MgU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMgZmluYWwgOiBwdWJsaWMgU291
cmNlQnVmZmVyUHJpdmF0ZSB7CitjbGFzcyBTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQyBmaW5h
bCA6IHB1YmxpYyBTb3VyY2VCdWZmZXJQcml2YXRlLCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8U291
cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM+IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNvdXJj
ZUJ1ZmZlclByaXZhdGVBVkZPYmpDPiBjcmVhdGUoTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQyop
OwogICAgIHZpcnR1YWwgflNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDKCk7CkBAIC0xOTUsNiAr
MTk1LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1fd2FpdGluZ0ZvcktleSB7IHRydWUgfTsKICAg
ICBpbnQgbV9lbmFibGVkVmlkZW9UcmFja0lEIHsgLTEgfTsKICAgICBpbnQgbV9wcm90ZWN0ZWRU
cmFja0lEIHsgLTEgfTsKKyAgICB1aW50NjRfdCBtX21hcElEOwogfTsKIAogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291
cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5tbQppbmRl
eCA4NWYyNTdjYWNmMjdjZDAxNWM2OTdiZDM3MjI0YzY3NDJhZDRiMTVkLi4zODMxYzdlY2FmYzlm
OGVhY2ZlOWQzZDI5NDBkNGNiZWVhNTk4YmJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZG
T2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5tbQpAQCAtMzU0LDEzICszNTQsMTMg
QEAgQUxMT1dfTkVXX0FQSV9XSVRIT1VUX0dVQVJEU19FTkQKICAgICAgICAgUmV0YWluUHRyPEFW
U2FtcGxlQnVmZmVyRGlzcGxheUxheWVyPiBsYXllciA9IChBVlNhbXBsZUJ1ZmZlckRpc3BsYXlM
YXllciAqKW9iamVjdDsKICAgICAgICAgQVNTRVJUKF9sYXllcnMuY29udGFpbnMobGF5ZXIuZ2V0
KCkpKTsKIAotICAgICAgICBpZiAoW2tleVBhdGggaXNFcXVhbFRvOkAiZXJyb3IiXSkgeworICAg
ICAgICBpZiAoW2tleVBhdGggaXNFcXVhbFRvU3RyaW5nOkAiZXJyb3IiXSkgewogICAgICAgICAg
ICAgUmV0YWluUHRyPE5TRXJyb3I+IGVycm9yID0gW2NoYW5nZSB2YWx1ZUZvcktleTpOU0tleVZh
bHVlQ2hhbmdlTmV3S2V5XTsKICAgICAgICAgICAgIGNhbGxPbk1haW5UaHJlYWQoW3BhcmVudCA9
IF9wYXJlbnQsIGxheWVyID0gV1RGTW92ZShsYXllciksIGVycm9yID0gV1RGTW92ZShlcnJvcild
IHsKICAgICAgICAgICAgICAgICBpZiAocGFyZW50KQogICAgICAgICAgICAgICAgICAgICBwYXJl
bnQtPmxheWVyRGlkUmVjZWl2ZUVycm9yKGxheWVyLmdldCgpLCBlcnJvci5nZXQoKSk7CiAgICAg
ICAgICAgICB9KTsKLSAgICAgICAgfSBlbHNlIGlmIChba2V5UGF0aCBpc0VxdWFsVG86QCJvdXRw
dXRPYnNjdXJlZER1ZVRvSW5zdWZmaWNpZW50RXh0ZXJuYWxQcm90ZWN0aW9uIl0pIHsKKyAgICAg
ICAgfSBlbHNlIGlmIChba2V5UGF0aCBpc0VxdWFsVG9TdHJpbmc6QCJvdXRwdXRPYnNjdXJlZER1
ZVRvSW5zdWZmaWNpZW50RXh0ZXJuYWxQcm90ZWN0aW9uIl0pIHsKICAgICAgICAgICAgIGNhbGxP
bk1haW5UaHJlYWQoW3BhcmVudCA9IF9wYXJlbnQsIG9ic2N1cmVkID0gW1tjaGFuZ2UgdmFsdWVG
b3JLZXk6TlNLZXlWYWx1ZUNoYW5nZU5ld0tleV0gYm9vbFZhbHVlXV0gewogICAgICAgICAgICAg
ICAgIGlmIChwYXJlbnQpCiAgICAgICAgICAgICAgICAgICAgIHBhcmVudC0+b3V0cHV0T2JzY3Vy
ZWREdWVUb0luc3VmZmljaWVudEV4dGVybmFsUHJvdGVjdGlvbkNoYW5nZWQob2JzY3VyZWQpOwpA
QCAtMzc1LDcgKzM3NSw3IEBAIEFMTE9XX05FV19BUElfV0lUSE9VVF9HVUFSRFNfRU5ECiAgICAg
ICAgIFJldGFpblB0cjxOU0Vycm9yPiBlcnJvciA9IFtjaGFuZ2UgdmFsdWVGb3JLZXk6TlNLZXlW
YWx1ZUNoYW5nZU5ld0tleV07CiAKICAgICAgICAgQVNTRVJUKF9yZW5kZXJlcnMuY29udGFpbnMo
cmVuZGVyZXIuZ2V0KCkpKTsKLSAgICAgICAgQVNTRVJUKFtrZXlQYXRoIGlzRXF1YWxUbzpAImVy
cm9yIl0pOworICAgICAgICBBU1NFUlQoW2tleVBhdGggaXNFcXVhbFRvU3RyaW5nOkAiZXJyb3Ii
XSk7CiAKICAgICAgICAgY2FsbE9uTWFpblRocmVhZChbcGFyZW50ID0gX3BhcmVudCwgcmVuZGVy
ZXIgPSBXVEZNb3ZlKHJlbmRlcmVyKSwgZXJyb3IgPSBXVEZNb3ZlKGVycm9yKV0gewogICAgICAg
ICAgICAgaWYgKHBhcmVudCkKQEAgLTM5OCwzMCArMzk4LDYgQEAgQUxMT1dfTkVXX0FQSV9XSVRI
T1VUX0dVQVJEU19FTkQKIH0KIEBlbmQKIAotI3ByYWdtYSBtYXJrIC0KLQotQGludGVyZmFjZSBX
ZWJCdWZmZXJDb25zdW1lZENvbnRleHQgOiBOU09iamVjdCB7Ci0gICAgV2Vha1B0cjxXZWJDb3Jl
OjpTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQz4gX3BhcmVudDsKLX0KLUBwcm9wZXJ0eSAocmVh
ZG9ubHkpIFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDKiBwYXJlbnQ7Ci1AZW5k
Ci0KLUBpbXBsZW1lbnRhdGlvbiBXZWJCdWZmZXJDb25zdW1lZENvbnRleHQKLS0gKGlkKWluaXRX
aXRoUGFyZW50OihXZWFrUHRyPFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDPilw
YXJlbnQKLXsKLSAgICBzZWxmID0gW3N1cGVyIGluaXRdOwotICAgIGlmIChzZWxmKQotICAgICAg
ICBfcGFyZW50ID0gcGFyZW50OwotICAgIHJldHVybiBzZWxmOwotfQotCi1AZHluYW1pYyBwYXJl
bnQ7Ci0tIChXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQyopcGFyZW50Ci17Ci0g
ICAgcmV0dXJuIF9wYXJlbnQuZ2V0KCk7Ci19Ci1AZW5kCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IHVzaW5nIG5hbWVzcGFjZSBQQUw7CiAKQEAgLTQ2MSwyNiArNDM3LDM5IEBAIHByb3RlY3RlZDoK
ICNwcmFnbWEgbWFyayAtCiAjcHJhZ21hIG1hcmsgU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMK
IAotc3RhdGljIE5TU3RyaW5nICprQnVmZmVyQ29uc3VtZWRDb250ZXh0ID0gQCJCdWZmZXJDb25z
dW1lZENvbnRleHQiOworc3RhdGljIEhhc2hNYXA8dWludDY0X3QsIFdlYWtQdHI8U291cmNlQnVm
ZmVyUHJpdmF0ZUFWRk9iakM+PiYgc291cmNlQnVmZmVyTWFwKCkKK3sKKyAgICBzdGF0aWMgTmV2
ZXJEZXN0cm95ZWQ8SGFzaE1hcDx1aW50NjRfdCwgV2Vha1B0cjxTb3VyY2VCdWZmZXJQcml2YXRl
QVZGT2JqQz4+PiBtYXA7CisgICAgcmV0dXJuIG1hcDsKK30KIAotc3RhdGljIHZvaWQgYnVmZmVy
V2FzQ29uc3VtZWRDYWxsYmFjayhDTU5vdGlmaWNhdGlvbkNlbnRlclJlZiwgY29uc3Qgdm9pZCos
IENGU3RyaW5nUmVmIG5vdGlmaWNhdGlvbk5hbWUsIGNvbnN0IHZvaWQqLCBDRlR5cGVSZWYgcGF5
bG9hZCkKK3N0YXRpYyB1aW50NjRfdCBuZXh0TWFwSUQoKQogeworICAgIHN0YXRpYyB1aW50NjRf
dCBtYXBJRCA9IDA7CisgICAgcmV0dXJuICsrbWFwSUQ7Cit9CisKK3N0YXRpYyB2b2lkIGJ1ZmZl
cldhc0NvbnN1bWVkQ2FsbGJhY2soQ01Ob3RpZmljYXRpb25DZW50ZXJSZWYsIGNvbnN0IHZvaWQq
IGxpc3RlbmVyLCBDRlN0cmluZ1JlZiBub3RpZmljYXRpb25OYW1lLCBjb25zdCB2b2lkKiwgQ0ZU
eXBlUmVmKQoreworICAgIExPRyhNZWRpYVNvdXJjZSwgImJ1ZmZlcldhc0NvbnN1bWVkQ2FsbGJh
Y2sgLSBub2ZpY2F0aW9uICVzIiwgWyhfX2JyaWRnZSBOU1N0cmluZyAqKW5vdGlmaWNhdGlvbk5h
bWUgVVRGOFN0cmluZ10pOworCisgICAgaWYgKCFDRkVxdWFsKGtDTVNhbXBsZUJ1ZmZlckNvbnN1
bWVyTm90aWZpY2F0aW9uX0J1ZmZlckNvbnN1bWVkLCBub3RpZmljYXRpb25OYW1lKSkKKyAgICAg
ICAgcmV0dXJuOworCiAgICAgaWYgKCFpc01haW5UaHJlYWQoKSkgewotICAgICAgICBjYWxsT25N
YWluVGhyZWFkKFtub3RpZmljYXRpb25OYW1lLCBwYXlsb2FkID0gcmV0YWluUHRyKHBheWxvYWQp
XSB7Ci0gICAgICAgICAgICBidWZmZXJXYXNDb25zdW1lZENhbGxiYWNrKG51bGxwdHIsIG51bGxw
dHIsIG5vdGlmaWNhdGlvbk5hbWUsIG51bGxwdHIsIHBheWxvYWQuZ2V0KCkpOworICAgICAgICBj
YWxsT25NYWluVGhyZWFkKFtub3RpZmljYXRpb25OYW1lLCBsaXN0ZW5lcl0geworICAgICAgICAg
ICAgYnVmZmVyV2FzQ29uc3VtZWRDYWxsYmFjayhudWxscHRyLCBsaXN0ZW5lciwgbm90aWZpY2F0
aW9uTmFtZSwgbnVsbHB0ciwgbnVsbHB0cik7CiAgICAgICAgIH0pOwogICAgICAgICByZXR1cm47
CiAgICAgfQogCi0gICAgaWYgKCFDRkVxdWFsKGtDTVNhbXBsZUJ1ZmZlckNvbnN1bWVyTm90aWZp
Y2F0aW9uX0J1ZmZlckNvbnN1bWVkLCBub3RpZmljYXRpb25OYW1lKSkKLSAgICAgICAgcmV0dXJu
OwotCi0gICAgQVNTRVJUKENGR2V0VHlwZUlEKHBheWxvYWQpID09IENGRGljdGlvbmFyeUdldFR5
cGVJRCgpKTsKLSAgICBXZWJCdWZmZXJDb25zdW1lZENvbnRleHQgKmNvbnRleHQgPSBbKF9fYnJp
ZGdlIE5TRGljdGlvbmFyeSAqKXBheWxvYWQgdmFsdWVGb3JLZXk6a0J1ZmZlckNvbnN1bWVkQ29u
dGV4dF07Ci0gICAgaWYgKCFjb250ZXh0KQorICAgIHVpbnQ2NF90IG1hcElEID0gcmVpbnRlcnBy
ZXRfY2FzdDx1aW50NjRfdD4obGlzdGVuZXIpOworICAgIGlmICghbWFwSUQpIHsKKyAgICAgICAg
TE9HKE1lZGlhU291cmNlLCAiYnVmZmVyV2FzQ29uc3VtZWRDYWxsYmFjayAtIEVSUk9SOiBkaWRu
J3QgZmluZCBJRCAlbGx1IGluIG1hcCIsIG1hcElEKTsKICAgICAgICAgcmV0dXJuOworICAgIH0K
IAotICAgIGlmIChhdXRvIHNvdXJjZUJ1ZmZlciA9IGNvbnRleHQucGFyZW50KQorICAgIGlmIChh
dXRvIHNvdXJjZUJ1ZmZlciA9IHNvdXJjZUJ1ZmZlck1hcCgpLmdldChtYXBJRCkuZ2V0KCkpCiAg
ICAgICAgIHNvdXJjZUJ1ZmZlci0+YnVmZmVyV2FzQ29uc3VtZWQoKTsKIH0KIApAQCAtNDk1LDE0
ICs0ODQsMTggQEAgU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6OlNvdXJjZUJ1ZmZlclByaXZh
dGVBVkZPYmpDKE1lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMKICAgICAsIG1fZXJyb3JMaXN0ZW5l
cihhZG9wdE5TKFtbV2ViQVZTYW1wbGVCdWZmZXJFcnJvckxpc3RlbmVyIGFsbG9jXSBpbml0V2l0
aFBhcmVudDpjcmVhdGVXZWFrUHRyKCldKSkKICAgICAsIG1faXNBcHBlbmRpbmdHcm91cChhZG9w
dE9TT2JqZWN0KGRpc3BhdGNoX2dyb3VwX2NyZWF0ZSgpKSkKICAgICAsIG1fbWVkaWFTb3VyY2Uo
cGFyZW50KQorICAgICwgbV9tYXBJRChuZXh0TWFwSUQoKSkKIHsKLSAgICBDTU5vdGlmaWNhdGlv
bkNlbnRlckFkZExpc3RlbmVyKENNTm90aWZpY2F0aW9uQ2VudGVyR2V0RGVmYXVsdExvY2FsQ2Vu
dGVyKCksIHRoaXMsIGJ1ZmZlcldhc0NvbnN1bWVkQ2FsbGJhY2ssIGtDTVNhbXBsZUJ1ZmZlckNv
bnN1bWVyTm90aWZpY2F0aW9uX0J1ZmZlckNvbnN1bWVkLCBudWxscHRyLCAwKTsKKyAgICBDTU5v
dGlmaWNhdGlvbkNlbnRlckFkZExpc3RlbmVyKENNTm90aWZpY2F0aW9uQ2VudGVyR2V0RGVmYXVs
dExvY2FsQ2VudGVyKCksIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KG1fbWFwSUQpLCBidWZmZXJX
YXNDb25zdW1lZENhbGxiYWNrLCBrQ01TYW1wbGVCdWZmZXJDb25zdW1lck5vdGlmaWNhdGlvbl9C
dWZmZXJDb25zdW1lZCwgbnVsbHB0ciwgMCk7CiAgICAgbV9kZWxlZ2F0ZS5nZXQoKS5hYm9ydFNl
bWFwaG9yZSA9IEJveDxTZW1hcGhvcmU+OjpjcmVhdGUoMCk7CisKKyAgICBzb3VyY2VCdWZmZXJN
YXAoKS5hZGQobV9tYXBJRCwgbWFrZVdlYWtQdHIoKnRoaXMpKTsKIH0KIAogU291cmNlQnVmZmVy
UHJpdmF0ZUFWRk9iakM6On5Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQygpCiB7CiAgICAgQVNT
RVJUKCFtX2NsaWVudCk7CisgICAgc291cmNlQnVmZmVyTWFwKCkucmVtb3ZlKG1fbWFwSUQpOwog
ICAgIGRlc3Ryb3lQYXJzZXIoKTsKICAgICBkZXN0cm95UmVuZGVyZXJzKCk7CiAKQEAgLTYyOCw3
ICs2MjEsNyBAQCB2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjp3aWxsUHJvdmlkZUNv
bnRlbnRLZXlSZXF1ZXN0SW5pdGlhbGl6YXRpb25EYXRhRgogCiAgICAgQVNTRVJUKG1fcGFyc2Vy
KTsKIAotI2lmIEVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01FRElBKQorI2lmIEhBVkUoQVZTVFJF
QU1TRVNTSU9OKSAmJiBFTkFCTEUoTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkKICAgICBMT0coTWVk
aWFTb3VyY2UsICJTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6d2lsbFByb3ZpZGVDb250ZW50
S2V5UmVxdWVzdEluaXRpYWxpemF0aW9uRGF0YUZvclRyYWNrSUQoJXApIC0gdHJhY2s6JWQiLCB0
aGlzLCB0cmFja0lEKTsKICAgICBtX3Byb3RlY3RlZFRyYWNrSUQgPSB0cmFja0lEOwogCkBAIC02
NDksNyArNjQyLDcgQEAgdm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6ZGlkUHJvdmlk
ZUNvbnRlbnRLZXlSZXF1ZXN0SW5pdGlhbGl6YXRpb25EYXRhRm8KICAgICBpZiAoIW1fbWVkaWFT
b3VyY2UpCiAgICAgICAgIHJldHVybjsKIAotI2lmIEVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01F
RElBKQorI2lmIEhBVkUoQVZTVFJFQU1TRVNTSU9OKSAmJiBFTkFCTEUoTEVHQUNZX0VOQ1JZUFRF
RF9NRURJQSkKICAgICBMT0coTWVkaWFTb3VyY2UsICJTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2Jq
Qzo6ZGlkUHJvdmlkZUNvbnRlbnRLZXlSZXF1ZXN0SW5pdGlhbGl6YXRpb25EYXRhRm9yVHJhY2tJ
RCglcCkgLSB0cmFjazolZCIsIHRoaXMsIHRyYWNrSUQpOwogICAgIG1fcHJvdGVjdGVkVHJhY2tJ
RCA9IHRyYWNrSUQ7CiAgICAgYXV0byBpbml0RGF0YUFycmF5ID0gVWludDhBcnJheTo6Y3JlYXRl
KFtpbml0RGF0YSBsZW5ndGhdKTsKQEAgLTY2Niw3ICs2NTksNiBAQCB2b2lkIFNvdXJjZUJ1ZmZl
clByaXZhdGVBVkZPYmpDOjpkaWRQcm92aWRlQ29udGVudEtleVJlcXVlc3RJbml0aWFsaXphdGlv
bkRhdGFGbwogI2VuZGlmCiAKICNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKSAmJiBIQVZFKEFW
Q09OVEVOVEtFWVNFU1NJT04pCi0gICAgLy8KICAgICBhdXRvIGluaXREYXRhQnVmZmVyID0gU2hh
cmVkQnVmZmVyOjpjcmVhdGUoaW5pdERhdGEpOwogICAgIGF1dG8ga2V5SURzID0gQ0RNUHJpdmF0
ZUZhaXJQbGF5U3RyZWFtaW5nOjpleHRyYWN0S2V5SURzU2luZihpbml0RGF0YUJ1ZmZlcik7CiAg
ICAgaWYgKCFrZXlJRHMpCkBAIC03MTMsNyArNzA1LDcgQEAgc3RhdGljIGRpc3BhdGNoX3F1ZXVl
X3QgZ2xvYmFsRGF0YVBhcnNlclF1ZXVlKCkKIAogdm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlQVZG
T2JqQzo6YXBwZW5kKFZlY3Rvcjx1bnNpZ25lZCBjaGFyPiYmIGRhdGEpCiB7Ci0gICAgTE9HKE1l
ZGlhU291cmNlLCAiU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6OmFwcGVuZCglcCkgLSBkYXRh
OiVwLCBsZW5ndGg6JWQiLCB0aGlzLCBkYXRhLmRhdGEoKSwgZGF0YS5zaXplKCkpOworICAgIExP
RyhNZWRpYVNvdXJjZSwgIlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjphcHBlbmQoJXApIC0g
ZGF0YTolcCwgbGVuZ3RoOiVkIiwgdGhpcywgZGF0YS5kYXRhKCksIChpbnQpZGF0YS5zaXplKCkp
OwogCiAgICAgLy8gRklYTUU6IEF2b2lkIHRoZSBkYXRhIGNvcHkgYnkgd3JhcHBpbmcgYXJvdW5k
IHRoZSBWZWN0b3I8PiBvYmplY3QuCiAgICAgUmV0YWluUHRyPE5TRGF0YT4gbnNEYXRhID0gYWRv
cHROUyhbW05TRGF0YSBhbGxvY10gaW5pdFdpdGhCeXRlczpkYXRhLmRhdGEoKSBsZW5ndGg6ZGF0
YS5zaXplKCldKTsKQEAgLTc3MCw3ICs3NjIsNyBAQCB2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVB
VkZPYmpDOjpyZXNldFBhcnNlclN0YXRlKCkKIAogdm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlQVZG
T2JqQzo6ZGVzdHJveVBhcnNlcigpCiB7Ci0jaWYgRU5BQkxFKExFR0FDWV9FTkNSWVBURURfTUVE
SUEpCisjaWYgSEFWRShBVlNUUkVBTVNFU1NJT04pICYmIEVOQUJMRShMRUdBQ1lfRU5DUllQVEVE
X01FRElBKQogICAgIGlmIChtX21lZGlhU291cmNlICYmIG1fbWVkaWFTb3VyY2UtPnBsYXllcigp
LT5oYXNTdHJlYW1TZXNzaW9uKCkpCiAgICAgICAgIFttX21lZGlhU291cmNlLT5wbGF5ZXIoKS0+
c3RyZWFtU2Vzc2lvbigpIHJlbW92ZVN0cmVhbURhdGFQYXJzZXI6bV9wYXJzZXIuZ2V0KCldOwog
I2VuZGlmCkBAIC05ODgsNyArOTgwLDcgQEAgdm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2Jq
Qzo6dW5yZWdpc3RlckZvckVycm9yTm90aWZpY2F0aW9ucyhTb3VyY2VCdWZmZXJQcmkKIAogdm9p
ZCBTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6bGF5ZXJEaWRSZWNlaXZlRXJyb3IoQVZTYW1w
bGVCdWZmZXJEaXNwbGF5TGF5ZXIgKmxheWVyLCBOU0Vycm9yICplcnJvcikKIHsKLSAgICBMT0co
TWVkaWFTb3VyY2UsICJTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6bGF5ZXJEaWRSZWNlaXZl
RXJyb3IoJXApOiBsYXllciglcCksIGVycm9yKCVAKSIsIHRoaXMsIGxheWVyLCBbZXJyb3IgZGVz
Y3JpcHRpb25dKTsKKyAgICBMT0coTWVkaWFTb3VyY2UsICJTb3VyY2VCdWZmZXJQcml2YXRlQVZG
T2JqQzo6bGF5ZXJEaWRSZWNlaXZlRXJyb3IoJXApOiBsYXllciglcCksIGVycm9yKCVzKSIsIHRo
aXMsIGxheWVyLCBbW2Vycm9yIGRlc2NyaXB0aW9uXSBVVEY4U3RyaW5nXSk7CiAKICAgICAvLyBG
SVhNRSgxNDIyNDYpOiBSZW1vdmUgdGhlIGZvbGxvd2luZyBvbmNlIDxyZGFyOi8vcHJvYmxlbS8y
MDAyNzQzND4gaXMgcmVzb2x2ZWQuCiAgICAgYm9vbCBhbnlJZ25vcmVkID0gZmFsc2U7CkBAIC0x
MDI1LDcgKzEwMTcsNyBAQCBBTExPV19ORVdfQVBJX1dJVEhPVVRfR1VBUkRTX0JFR0lOCiB2b2lk
IFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjpyZW5kZXJlckRpZFJlY2VpdmVFcnJvcihBVlNh
bXBsZUJ1ZmZlckF1ZGlvUmVuZGVyZXIgKnJlbmRlcmVyLCBOU0Vycm9yICplcnJvcikKIEFMTE9X
X05FV19BUElfV0lUSE9VVF9HVUFSRFNfRU5ECiB7Ci0gICAgTE9HKE1lZGlhU291cmNlLCAiU291
cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6OnJlbmRlcmVyRGlkUmVjZWl2ZUVycm9yKCVwKTogcmVu
ZGVyZXIoJXApLCBlcnJvciglQCkiLCB0aGlzLCByZW5kZXJlciwgW2Vycm9yIGRlc2NyaXB0aW9u
XSk7CisgICAgTE9HKE1lZGlhU291cmNlLCAiU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6OnJl
bmRlcmVyRGlkUmVjZWl2ZUVycm9yKCVwKTogcmVuZGVyZXIoJXApLCBlcnJvciglcykiLCB0aGlz
LCByZW5kZXJlciwgW1tlcnJvciBkZXNjcmlwdGlvbl0gVVRGOFN0cmluZ10pOwogCiAgICAgaWYg
KFtlcnJvciBjb2RlXSA9PSAnSERDUCcpCiAgICAgICAgIG1faGRjcEVycm9yID0gZXJyb3I7CkBA
IC0xMDk4LDcgKzEwOTAsNyBAQCB2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjplbnF1
ZXVlU2FtcGxlKFJlZjxNZWRpYVNhbXBsZT4mJiBzYW1wbGUsIGNvbnN0CiAgICAgICAgIENNRm9y
bWF0RGVzY3JpcHRpb25SZWYgZm9ybWF0RGVzY3JpcHRpb24gPSBDTVNhbXBsZUJ1ZmZlckdldEZv
cm1hdERlc2NyaXB0aW9uKHBsYXRmb3JtU2FtcGxlLnNhbXBsZS5jbVNhbXBsZUJ1ZmZlcik7CiAg
ICAgICAgIEZsb2F0U2l6ZSBmb3JtYXRTaXplID0gRmxvYXRTaXplKENNVmlkZW9Gb3JtYXREZXNj
cmlwdGlvbkdldFByZXNlbnRhdGlvbkRpbWVuc2lvbnMoZm9ybWF0RGVzY3JpcHRpb24sIHRydWUs
IHRydWUpKTsKICAgICAgICAgaWYgKCFtX2NhY2hlZFNpemUgfHwgZm9ybWF0U2l6ZSAhPSBtX2Nh
Y2hlZFNpemUudmFsdWUoKSkgewotICAgICAgICAgICAgTE9HKE1lZGlhU291cmNlLCAiU291cmNl
QnVmZmVyUHJpdmF0ZUFWRk9iakM6OmVucXVldWVTYW1wbGUoJXApIC0gc2l6ZSBjaGFuZ2UgZGV0
ZWN0ZWQ6IHt3aWR0aD0lbGYsIGhlaWdodD0lbGZ9IiwgZm9ybWF0U2l6ZS53aWR0aCgpLCBmb3Jt
YXRTaXplLmhlaWdodCgpKTsKKyAgICAgICAgICAgIExPRyhNZWRpYVNvdXJjZSwgIlNvdXJjZUJ1
ZmZlclByaXZhdGVBVkZPYmpDOjplbnF1ZXVlU2FtcGxlKCVwKSAtIHNpemUgY2hhbmdlIGRldGVj
dGVkOiB7d2lkdGg9JWxmLCBoZWlnaHQ9JWxmfSIsIHRoaXMsIGZvcm1hdFNpemUud2lkdGgoKSwg
Zm9ybWF0U2l6ZS5oZWlnaHQoKSk7CiAgICAgICAgICAgICBib29sIHNpemVXYXNOdWxsID0gIW1f
Y2FjaGVkU2l6ZTsKICAgICAgICAgICAgIG1fY2FjaGVkU2l6ZSA9IGZvcm1hdFNpemU7CiAgICAg
ICAgICAgICBpZiAobV9tZWRpYVNvdXJjZSkgewpAQCAtMTExNCwxMSArMTEwNiwxMCBAQCB2b2lk
IFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjplbnF1ZXVlU2FtcGxlKFJlZjxNZWRpYVNhbXBs
ZT4mJiBzYW1wbGUsIGNvbnN0CiAKICAgICAgICAgaWYgKG1fZGlzcGxheUxheWVyKSB7CiAgICAg
ICAgICAgICBpZiAobV9tZWRpYVNvdXJjZSAmJiAhbV9tZWRpYVNvdXJjZS0+cGxheWVyKCktPmhh
c0F2YWlsYWJsZVZpZGVvRnJhbWUoKSAmJiAhc2FtcGxlLT5pc05vbkRpc3BsYXlpbmcoKSkgewot
ICAgICAgICAgICAgICAgIGF1dG8gY29udGV4dCA9IGFkb3B0TlMoW1tXZWJCdWZmZXJDb25zdW1l
ZENvbnRleHQgYWxsb2NdIGluaXRXaXRoUGFyZW50OmNyZWF0ZVdlYWtQdHIoKV0pOwogICAgICAg
ICAgICAgICAgIENNU2FtcGxlQnVmZmVyUmVmIHJhd1NhbXBsZUNvcHk7CiAgICAgICAgICAgICAg
ICAgQ01TYW1wbGVCdWZmZXJDcmVhdGVDb3B5KGtDRkFsbG9jYXRvckRlZmF1bHQsIHBsYXRmb3Jt
U2FtcGxlLnNhbXBsZS5jbVNhbXBsZUJ1ZmZlciwgJnJhd1NhbXBsZUNvcHkpOwogICAgICAgICAg
ICAgICAgIGF1dG8gc2FtcGxlQ29weSA9IGFkb3B0Q0YocmF3U2FtcGxlQ29weSk7Ci0gICAgICAg
ICAgICAgICAgQ01TZXRBdHRhY2htZW50KHNhbXBsZUNvcHkuZ2V0KCksIGtDTVNhbXBsZUJ1ZmZl
ckF0dGFjaG1lbnRLZXlfUG9zdE5vdGlmaWNhdGlvbldoZW5Db25zdW1lZCwgKF9fYnJpZGdlIENG
RGljdGlvbmFyeVJlZilAe2tCdWZmZXJDb25zdW1lZENvbnRleHQ6IGNvbnRleHQuZ2V0KCl9LCBr
Q01BdHRhY2htZW50TW9kZV9TaG91bGROb3RQcm9wYWdhdGUpOworICAgICAgICAgICAgICAgIENN
U2V0QXR0YWNobWVudChzYW1wbGVDb3B5LmdldCgpLCBrQ01TYW1wbGVCdWZmZXJBdHRhY2htZW50
S2V5X1Bvc3ROb3RpZmljYXRpb25XaGVuQ29uc3VtZWQsIChfX2JyaWRnZSBDRkRpY3Rpb25hcnlS
ZWYpQHsgKF9fYnJpZGdlIE5TU3RyaW5nICopa0NNU2FtcGxlQnVmZmVyQXR0YWNobWVudEtleV9Q
b3N0Tm90aWZpY2F0aW9uV2hlbkNvbnN1bWVkIDogQChZRVMpIH0sIGtDTUF0dGFjaG1lbnRNb2Rl
X1Nob3VsZE5vdFByb3BhZ2F0ZSk7CiAgICAgICAgICAgICAgICAgW21fZGlzcGxheUxheWVyIGVu
cXVldWVTYW1wbGVCdWZmZXI6c2FtcGxlQ29weS5nZXQoKV07CiAgICAgICAgICAgICB9IGVsc2UK
ICAgICAgICAgICAgICAgICBbbV9kaXNwbGF5TGF5ZXIgZW5xdWV1ZVNhbXBsZUJ1ZmZlcjpwbGF0
Zm9ybVNhbXBsZS5zYW1wbGUuY21TYW1wbGVCdWZmZXJdOwpAQCAtMTEzMyw2ICsxMTI0LDggQEAg
dm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6ZW5xdWV1ZVNhbXBsZShSZWY8TWVkaWFT
YW1wbGU+JiYgc2FtcGxlLCBjb25zdAogCiB2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpD
OjpidWZmZXJXYXNDb25zdW1lZCgpCiB7CisgICAgTE9HKE1lZGlhU291cmNlLCAiU291cmNlQnVm
ZmVyUHJpdmF0ZUFWRk9iakM6OmJ1ZmZlcldhc0NvbnN1bWVkKCVwKSIsIHRoaXMpOworCiAgICAg
aWYgKG1fbWVkaWFTb3VyY2UpCiAgICAgICAgIG1fbWVkaWFTb3VyY2UtPnBsYXllcigpLT5zZXRI
YXNBdmFpbGFibGVWaWRlb0ZyYW1lKHRydWUpOwogfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>