<?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>130718</bug_id>
          
          <creation_ts>2014-03-25 08:41:27 -0700</creation_ts>
          <short_desc>[Mac] Pause the media element during system sleep.</short_desc>
          <delta_ts>2014-03-25 15:27:19 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>bunhere</cc>
    
    <cc>calvaris</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>philipj</cc>
    
    <cc>rakuco</cc>
    
    <cc>sergio</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>994187</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-03-25 08:41:27 -0700</bug_when>
    <thetext>&apos;[Mac] Pause the media element during system sleep.&apos;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>994198</commentid>
    <comment_count>1</comment_count>
      <attachid>227756</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-03-25 09:16:08 -0700</bug_when>
    <thetext>Created attachment 227756
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>994260</commentid>
    <comment_count>2</comment_count>
      <attachid>227774</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-03-25 11:28:11 -0700</bug_when>
    <thetext>Created attachment 227774
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>994264</commentid>
    <comment_count>3</comment_count>
      <attachid>227774</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2014-03-25 11:38:30 -0700</bug_when>
    <thetext>Comment on attachment 227774
Patch

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

&gt; Source/WebCore/ChangeLog:13
&gt; +        system sleep, explicitly pause the media before sleeping and resum (if

Nit: missing an &quot;e&quot; : resum</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>994289</commentid>
    <comment_count>4</comment_count>
      <attachid>227783</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-03-25 12:58:19 -0700</bug_when>
    <thetext>Created attachment 227783
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>994311</commentid>
    <comment_count>5</comment_count>
      <attachid>227783</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-03-25 13:34:03 -0700</bug_when>
    <thetext>Comment on attachment 227783
Patch for landing

Rejecting attachment 227783 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.appspot.com&apos;, &apos;--bot-id=webkit-cq-03&apos;, &apos;validate-changelog&apos;, &apos;--check-oops&apos;, &apos;--non-interactive&apos;, 227783, &apos;--port=mac&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

ChangeLog entry in Source/WebCore/ChangeLog contains OOPS!.

Full output: http://webkit-queues.appspot.com/results/5429122230648832</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>994391</commentid>
    <comment_count>6</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-03-25 15:27:19 -0700</bug_when>
    <thetext>Committed r166261: &lt;http://trac.webkit.org/changeset/166261&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>227756</attachid>
            <date>2014-03-25 09:16:08 -0700</date>
            <delta_ts>2014-03-25 11:28:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-130718-20140325091546.patch</filename>
            <type>text/plain</type>
            <size>28486</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY1ODk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTBiMzJmNjFhODBjMWU5
ZDhlZDM5N2Y1ZDk1ODM1MTI0NzAyMWQxYy4uNmYxMDkxMDQ4ZTI5OThlZDI2YTdiZTljYjFlZDRj
ZmQ3OTQ5MjY5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDE0LTAzLTI1ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtNYWNdIFBhdXNlIHRoZSBt
ZWRpYSBlbGVtZW50IGR1cmluZyBzeXN0ZW0gc2xlZXAuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzA3MTgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBtZWRpYS92aWRlby1zeXN0ZW0tc2xlZXAu
aHRtbAorCisgICAgICAgIFJlbHlpbmcgb24gdGhlIHBsYXRmb3JtIG1lZGlhIHN5c3RlbSB0byBw
YXVzZSBhbmQgcmVzdGFydCBwbGF5YmFjayBkdXJpbmcKKyAgICAgICAgc3lzdGVtIHNsZWVwIGNh
biBjYXVzZSBwcm9ibGVtcyBvbiBzb21lIHBsYXRmb3JtcywgZXNwZWNpYWxseSB3aGVyZSBoYXJk
d2FyZQorICAgICAgICBkZWNvZGVycyBhcmUgY29uY2VybmVkLiBSYXRoZXIgdGhhbiBpbXBsaWNp
dGx5IHBhdXNpbmcgdGhlIG1lZGlhIGR1cmluZworICAgICAgICBzeXN0ZW0gc2xlZXAsIGV4cGxp
Y2l0bHkgcGF1c2UgdGhlIG1lZGlhIGJlZm9yZSBzbGVlcGluZyBhbmQgcmVzdW0gKGlmCisgICAg
ICAgIGFwcHJvcHJpYXRlKSB1cG9uIHdha2luZy4KKworICAgICAgICBBZGQgYSBuZXcgY2xhc3Mg
dG8gYmUgdXNlZCBmb3Igc3lzdGVtIHNsZWVwIG5vdGlmaWNhdGlvbnM6CisgICAgICAgICogcGxh
dGZvcm0vU3lzdGVtU2xlZXBMaXN0ZW5lci5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6
U3lzdGVtU2xlZXBMaXN0ZW5lcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlN5c3RlbVNs
ZWVwTGlzdGVuZXI6OlN5c3RlbVNsZWVwTGlzdGVuZXIpOgorICAgICAgICAqIHBsYXRmb3JtL1N5
c3RlbVNsZWVwTGlzdGVuZXIuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpTeXN0ZW1TbGVl
cExpc3RlbmVyOjpDbGllbnQ6On5DbGllbnQpOgorICAgICAgICAoV2ViQ29yZTo6U3lzdGVtU2xl
ZXBMaXN0ZW5lcjo6flN5c3RlbVNsZWVwTGlzdGVuZXIpOgorICAgICAgICAoV2ViQ29yZTo6U3lz
dGVtU2xlZXBMaXN0ZW5lcjo6Y2xpZW50KToKKworICAgICAgICBBZGQgYSBNYWMtc3BlY2lmaWMg
aW1wbGVtZW50YXRpb246CisgICAgICAgICogcGxhdGZvcm0vbWFjL1N5c3RlbVNsZWVwTGlzdGVu
ZXJNYWMuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL1N5c3RlbVNsZWVwTGlzdGVu
ZXJNYWMubW06IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6U3lzdGVtU2xlZXBMaXN0ZW5lcjo6
Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlN5c3RlbVNsZWVwTGlzdGVuZXJNYWM6OlN5c3Rl
bVNsZWVwTGlzdGVuZXJNYWMpOgorICAgICAgICAoV2ViQ29yZTo6U3lzdGVtU2xlZXBMaXN0ZW5l
ck1hYzo6flN5c3RlbVNsZWVwTGlzdGVuZXJNYWMpOgorCisgICAgICAgIExpc3RlbiBmb3Igc3lz
dGVtIHNsZWVwIG5vdGlmaWNhdGlvbnMgaW4gTWVkaWFTZXNzaW9uTWFuYWdlcjoKKyAgICAgICAg
KiBwbGF0Zm9ybS9hdWRpby9NZWRpYVNlc3Npb25NYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhU2Vzc2lvbk1hbmFnZXI6Ok1lZGlhU2Vzc2lvbk1hbmFnZXIpOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFTZXNzaW9uTWFuYWdlcjo6c3lzdGVtV2lsbFNsZWVwKToKKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhU2Vzc2lvbk1hbmFnZXI6OnN5c3RlbURpZFdha2UpOgorICAgICAgICAq
IHBsYXRmb3JtL2F1ZGlvL01lZGlhU2Vzc2lvbk1hbmFnZXIuaDoKKworICAgICAgICBEcml2ZS1i
eSBmaXg7IG5vdGlmeSB0aGUgTWVkaWFTZXNzaW9uIHRoYXQgcGxheWJhY2sgd2lsbCBiZWdpbgor
ICAgICAgICBkdWUgdG8gYXV0b3BsYXksIGJ1dCBkbyBub3QgYmVnaW4gYXV0b3BsYXlpbmcgaWYg
dGhlIHNlc3Npb24KKyAgICAgICAgaXMgYWxyZWFkeSBpbnRlcnJ1cHRlZDoKKyAgICAgICAgKiBo
dG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxl
bWVudDo6cGFyc2VBdHRyaWJ1dGUpOgorCisgICAgICAgIEFkZCBuZXcgZmlsZXMgdG8gcHJvamVj
dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAg
ICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKwogMjAx
NC0wMy0xOSAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAgICAg
ICBGaXggdGhlIGlPUyBidWlsZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlz
dHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNDE3NTI5NGM0Nzdk
MDJhN2Q2MGE5Mzc2Y2JlMDA3NTdlZGY4MzdiNi4uM2M5MWRlOGJkMTAzYTVhOGZiM2M3ODYwM2Vj
M2FjNzI5YmU0NDY2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
KysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTE4MDYsNiArMTgwNiw3IEBA
IHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0Zm9ybS9QbGF0Zm9ybUV2ZW50LmNwcAogICAg
IHBsYXRmb3JtL1BsYXRmb3JtU3RyYXRlZ2llcy5jcHAKICAgICBwbGF0Zm9ybS9SZW1vdGVDb21t
YW5kTGlzdGVuZXIuY3BwCisgICAgcGxhdGZvcm0vU3lzdGVtU2xlZXBMaXN0ZW5lci5jcHAKICAg
ICBwbGF0Zm9ybS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuY3BwCiAgICAgcGxhdGZvcm0vU2No
ZW1lUmVnaXN0cnkuY3BwCiAgICAgcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUv
R05VbWFrZWZpbGUubGlzdC5hbQppbmRleCA5NDFhM2QyN2RmYzlkNDVkMDFiMDNkOWIxM2JiOTQz
OWYyZGY3NTA0Li4yYzY0MmFmYjNmMzhkZmIxZDY5MGViOWM0ZmI5NGM2OTNjOTQ0OGEwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTU1MDQsNiArNTUwNCw4IEBAIHdlYmNvcmVf
cGxhdGZvcm1fc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5p
bWF0b3IuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3JOb25lLmNw
cCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3JOb25lLmggXAorCVNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1N5c3RlbVNsZWVwTGlzdGVuZXIuY3BwIFwKKwlTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9TeXN0ZW1TbGVlcExpc3RlbmVyLmggXAogCVNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1RocmVhZEdsb2JhbERhdGEuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9UaHJlYWRHbG9iYWxEYXRhLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1VzZXJBY3Rp
dml0eS5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IGY2ZTRlYzcxZGRhZGE4YjRkZWJjZjU4ZTQwMzBjMmMwYjFlNjYwYzQu
LjdjN2E2ODM4YjVlNmRkNzIyNTRkMzRhOTBmNTE0ZTE4MzJkYjgyYzMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTU1NDUsNiAr
NTU0NSwxMCBAQAogCQlDRDlERTE3RDE3QUFDNzVCMDBFQTM4NkQgLyogSlNTb3VyY2VCdWZmZXJM
aXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDlE
RTE3OTE3QUFDNzVCMDBFQTM4NkQgLyogSlNTb3VyY2VCdWZmZXJMaXN0LmggKi87IH07CiAJCUNE
OURFMTgxMTdBQUQ2QTQwMEVBMzg2RCAvKiBET01VUkxNZWRpYVNvdXJjZS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDlERTE3RTE3QUFENjRFMDBF
QTM4NkQgLyogRE9NVVJMTWVkaWFTb3VyY2UuY3BwICovOyB9OwogCQlDRDlERTE4MjE3QUFENkE0
MDBFQTM4NkQgLyogRE9NVVJMTWVkaWFTb3VyY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEOURFMTdGMTdBQUQ2NEUwMEVBMzg2RCAvKiBET01VUkxN
ZWRpYVNvdXJjZS5oICovOyB9OworCQlDREEwN0ZCRDE4RTBBMTZBMDA0Njk5RkEgLyogU3lzdGVt
U2xlZXBMaXN0ZW5lci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBDREEwN0ZCQjE4RTBBMTZBMDA0Njk5RkEgLyogU3lzdGVtU2xlZXBMaXN0ZW5lci5j
cHAgKi87IH07CisJCUNEQTA3RkJFMThFMEExNkEwMDQ2OTlGQSAvKiBTeXN0ZW1TbGVlcExpc3Rl
bmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREEw
N0ZCQzE4RTBBMTZBMDA0Njk5RkEgLyogU3lzdGVtU2xlZXBMaXN0ZW5lci5oICovOyB9OworCQlD
REEwN0ZDMTE4RTBBMjJCMDA0Njk5RkEgLyogU3lzdGVtU2xlZXBMaXN0ZW5lck1hYy5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEQTA3RkJGMThFMEEy
MkIwMDQ2OTlGQSAvKiBTeXN0ZW1TbGVlcExpc3RlbmVyTWFjLm1tICovOyB9OworCQlDREEwN0ZD
MjE4RTBBMjJCMDA0Njk5RkEgLyogU3lzdGVtU2xlZXBMaXN0ZW5lck1hYy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RBMDdGQzAxOEUwQTIyQjAwNDY5
OUZBIC8qIFN5c3RlbVNsZWVwTGlzdGVuZXJNYWMuaCAqLzsgfTsKIAkJQ0RBNzk4MjQxNzBBMjU4
MzAwRDQ1QzU1IC8qIEF1ZGlvU2Vzc2lvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDREE3OTgyMzE3MEEyNTgzMDBENDVDNTUgLyogQXVkaW9TZXNz
aW9uLmNwcCAqLzsgfTsKIAkJQ0RBNzk4MjcxNzBBMjc5MTAwRDQ1QzU1IC8qIEF1ZGlvU2Vzc2lv
bklPUy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENE
QTc5ODI1MTcwQTI3OTAwMEQ0NUM1NSAvKiBBdWRpb1Nlc3Npb25JT1MubW0gKi87IH07CiAJCUNE
QTc5ODJBMTcwQTNEMDAwMEQ0NUM1NSAvKiBBdWRpb1Nlc3Npb24uaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEQTc5ODIxMTcwQTIyREMwMEQ0NUM1NSAv
KiBBdWRpb1Nlc3Npb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwpAQCAtMTI4MzksNiArMTI4NDMsMTAgQEAKIAkJQ0Q5REUxN0UxN0FBRDY0RTAwRUEz
ODZEIC8qIERPTVVSTE1lZGlhU291cmNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERPTVVSTE1l
ZGlhU291cmNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0Q5REUxN0YxN0FB
RDY0RTAwRUEzODZEIC8qIERPTVVSTE1lZGlhU291cmNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVVS
TE1lZGlhU291cmNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNEOURFMTgwMTdB
QUQ2NEUwMEVBMzg2RCAvKiBET01VUkxNZWRpYVNvdXJjZS5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRE9NVVJMTWVkaWFT
b3VyY2UuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDREEwN0ZCQjE4RTBBMTZB
MDA0Njk5RkEgLyogU3lzdGVtU2xlZXBMaXN0ZW5lci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBTeXN0ZW1TbGVlcExpc3RlbmVyLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQ0RBMDdGQkMxOEUwQTE2QTAwNDY5OUZBIC8qIFN5c3RlbVNsZWVwTGlz
dGVuZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3lzdGVtU2xlZXBMaXN0
ZW5lci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDREEwN0ZCRjE4RTBBMjJCMDA0
Njk5RkEgLyogU3lzdGVtU2xlZXBMaXN0ZW5lck1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgcGF0aCA9IFN5c3RlbVNsZWVwTGlzdGVuZXJNYWMubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUNEQTA3RkMwMThFMEEyMkIwMDQ2OTlGQSAvKiBTeXN0ZW1TbGVl
cExpc3RlbmVyTWFjLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN5c3RlbVNs
ZWVwTGlzdGVuZXJNYWMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RBNzk4MjEx
NzBBMjJEQzAwRDQ1QzU1IC8qIEF1ZGlvU2Vzc2lvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBdWRpb1Nl
c3Npb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RBNzk4MjIxNzBBMjRGNDAw
RDQ1QzU1IC8qIEF1ZGlvU2Vzc2lvbkxpc3RlbmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEF1ZGlvU2Vz
c2lvbkxpc3RlbmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNEQTc5ODIzMTcw
QTI1ODMwMEQ0NUM1NSAvKiBBdWRpb1Nlc3Npb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gQXVkaW9TZXNzaW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTE2MDg0LDYgKzE2MDkyLDggQEAKIAkJCQk0QjMwNDNDODBBRTAzNzFEMDBBODI2NDcg
LyogU291bmRNYWMubW0gKi8sCiAJCQkJODRCMkIyNEYwNTZCRjE1RjAwRDJCNzcxIC8qIFNTTEtl
eUdlbmVyYXRvck1hYy5jcHAgKi8sCiAJCQkJOTNCMkQ4MTcwRjk5MjBFRTAwNkFFNkIyIC8qIFN1
ZGRlblRlcm1pbmF0aW9uLm1tICovLAorCQkJCUNEQTA3RkJGMThFMEEyMkIwMDQ2OTlGQSAvKiBT
eXN0ZW1TbGVlcExpc3RlbmVyTWFjLm1tICovLAorCQkJCUNEQTA3RkMwMThFMEEyMkIwMDQ2OTlG
QSAvKiBTeXN0ZW1TbGVlcExpc3RlbmVyTWFjLmggKi8sCiAJCQkJNURBOTdFQ0IxNjhFNzg3QjAw
MEUzNjc2IC8qIFN5c3RlbVZlcnNpb25NYWMuaCAqLywKIAkJCQk1REE5N0VDQzE2OEU3ODdCMDAw
RTM2NzYgLyogU3lzdGVtVmVyc2lvbk1hYy5tbSAqLywKIAkJCQlCQ0U2NTlFNTBFQTkyRkIyMDA3
RTQ1MzMgLyogVGhlbWVNYWMuaCAqLywKQEAgLTIwOTg4LDYgKzIwOTk4LDggQEAKIAkJCQlFMUUx
QkVGRjExNUZGNkZCMDA2RjUyQ0EgLyogV2luZG93c0tleWJvYXJkQ29kZXMuaCAqLywKIAkJCQlD
REZDMzYwMzE4Q0E2MUMyMDAyNkU1NkYgLyogUmVtb3RlQ29tbWFuZExpc3RlbmVyLmNwcCAqLywK
IAkJCQlDREZDMzYwNDE4Q0E2MUMyMDAyNkU1NkYgLyogUmVtb3RlQ29tbWFuZExpc3RlbmVyLmgg
Ki8sCisJCQkJQ0RBMDdGQkIxOEUwQTE2QTAwNDY5OUZBIC8qIFN5c3RlbVNsZWVwTGlzdGVuZXIu
Y3BwICovLAorCQkJCUNEQTA3RkJDMThFMEExNkEwMDQ2OTlGQSAvKiBTeXN0ZW1TbGVlcExpc3Rl
bmVyLmggKi8sCiAJCQkpOwogCQkJcGF0aCA9IHBsYXRmb3JtOwogCQkJc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsKQEAgLTIzNDQ4LDYgKzIzNDYwLDcgQEAKIAkJCQk4NUU3MTFCOTBBQzVENTM1MDA1
MzI3MEYgLyogRE9NSFRNTE1hcEVsZW1lbnRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QkM1MTU3OUYwQzAzQkJEMzAwOEJCMEVFIC8qIERPTUhUTUxNYXJxdWVlRWxlbWVudC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQkM1MTU2RUEwQzAzQjc0MTAwOEJCMEVFIC8qIERPTUhUTUxNYXJxdWVl
RWxlbWVudEludGVybmFsLmggaW4gSGVhZGVycyAqLywKKwkJCQlDREEwN0ZCRTE4RTBBMTZBMDA0
Njk5RkEgLyogU3lzdGVtU2xlZXBMaXN0ZW5lci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODVCQTRE
MTMwQUE2ODg2ODAwODgwNTJEIC8qIERPTUhUTUxNZW51RWxlbWVudC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJODVFNzExQkEwQUM1RDUzNTAwNTMyNzBGIC8qIERPTUhUTUxNZW51RWxlbWVudEludGVy
bmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NTlBOUM0RDBBQTVFM0JEMDBCNjk0QjIgLyogRE9N
SFRNTE1ldGFFbGVtZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTI1ODM4LDYgKzI1ODUxLDcgQEAK
IAkJCQkxQzE4REE1OTE4MUFGNkE1MDBDNEVGMjIgLyogVGV4dFBhaW50ZXIuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUU0QzkxQTBFMTgwMjM0MzEwMEExN0Y2RCAvKiBUZXh0UGFpbnRTdHlsZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJOTMwRkM2OEExMDcyQjkyODAwNDUyOTNFIC8qIFRleHRSZW5kZXJp
bmdNb2RlLmggaW4gSGVhZGVycyAqLywKKwkJCQlDREEwN0ZDMjE4RTBBMjJCMDA0Njk5RkEgLyog
U3lzdGVtU2xlZXBMaXN0ZW5lck1hYy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNGMTk4RjYwODI0
NUU1OTAwMUU5QUJDIC8qIFRleHRSZXNvdXJjZURlY29kZXIuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUE4MjRCNDY1MEUyRUYyRUEwMDgxQTdCNyAvKiBUZXh0UnVuLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk0NDhCMUI3QTBGM0EyRjlCMDA0N0E5RTIgLyogVGV4dFNpemVBZGp1c3RtZW50LmggaW4gSGVh
ZGVycyAqLywKQEAgLTI4MTU1LDYgKzI4MTY5LDcgQEAKIAkJCQkzMTYxMUU1QTBFMUM0REUwMDBG
NkE1NzkgLyogSlNXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQkzRjJCMzNFRTE2NUFGMTU2MDBFMzk4N0MgLyogSlNXZWJLaXRDU1NWaWV3cG9ydFJ1bGUuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJRDc2MTNBQzQxNDc1M0U1NjAwREI4NjA2IC8qIEpTV2ViS2l0
TmFtZWRGbG93LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUNEQTA3RkMxMThFMEEyMkIwMDQ2OTlG
QSAvKiBTeXN0ZW1TbGVlcExpc3RlbmVyTWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZEQTdD
MjYxODgzMzMzMjAwQzk1NEI1IC8qIEpTV2ViS2l0UGxheWJhY2tUYXJnZXRBdmFpbGFiaWxpdHlF
dmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0OTRCRDc5RDBGNTVDOTRDMDA3NDc4MjggLyog
SlNXZWJLaXRQb2ludC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzI3NUI3OTExQzVEMUMzMDBD
OTIwNkMgLyogSlNXZWJLaXRQb2ludEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI4OTgw
LDYgKzI4OTk1LDcgQEAKIAkJCQlCMjIyN0EzMjBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHTGVuZ3Ro
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTcxMzQ0OTZEMTQ2OTQxQjMwMDcyMDMxMiAvKiBTVkdM
ZW5ndGhDb250ZXh0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUIyMjI3QTM1MEQwMEJGMjIwMDcx
Qjc4MiAvKiBTVkdMZW5ndGhMaXN0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUNEQTA3RkJEMThF
MEExNkEwMDQ2OTlGQSAvKiBTeXN0ZW1TbGVlcExpc3RlbmVyLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUIyMjI3QTM4MEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjIyMjdBM0IwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR0xp
bmVFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUIyMjI3QTQwMEQwMEJGMjIwMDcxQjc4
MiAvKiBTVkdMb2NhdGFibGUuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCA0MDRkZjViZmNkYTgwMDE4OGRmYTc2MGI0MDczZGU0
YWUzNjI2ODRjLi43NDA2MDg1NjVhMjE4NWFlYzA0OWE3MDFlMTQzMzE1ZGU2NWFjODFkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAgLTQzODksMTEgKzQzODks
MTcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojp1cGRhdGVQbGF5U3RhdGUoKQogICAgIExPRyhN
ZWRpYSwgIkhUTUxNZWRpYUVsZW1lbnQ6OnVwZGF0ZVBsYXlTdGF0ZSAtIHNob3VsZEJlUGxheWlu
ZyA9ICVzLCBwbGF5ZXJQYXVzZWQgPSAlcyIsIAogICAgICAgICBib29sU3RyaW5nKHNob3VsZEJl
UGxheWluZyksIGJvb2xTdHJpbmcocGxheWVyUGF1c2VkKSk7CiAKKyAgICAvLyBEbyBub3QgYXV0
by1wbGF5IGlmIHdlIGFyZSBpbnRlcnJ1cHRlZAorICAgIGlmIChzaG91bGRCZVBsYXlpbmcgJiYg
cGxheWVyUGF1c2VkICYmIG1fbWVkaWFTZXNzaW9uLT5zdGF0ZSgpID09IE1lZGlhU2Vzc2lvbjo6
SW50ZXJydXB0ZWQpCisgICAgICAgIHNob3VsZEJlUGxheWluZyA9IGZhbHNlOworCiAgICAgaWYg
KHNob3VsZEJlUGxheWluZykgewogICAgICAgICBzZXREaXNwbGF5TW9kZShWaWRlbyk7CiAgICAg
ICAgIGludmFsaWRhdGVDYWNoZWRUaW1lKCk7CiAKICAgICAgICAgaWYgKHBsYXllclBhdXNlZCkg
eworICAgICAgICAgICAgbV9tZWRpYVNlc3Npb24tPmNsaWVudFdpbGxCZWdpblBsYXliYWNrKCk7
CisKICAgICAgICAgICAgIGlmIChtX21lZGlhU2Vzc2lvbi0+cmVxdWlyZXNGdWxsc2NyZWVuRm9y
VmlkZW9QbGF5YmFjaygqdGhpcykgJiYgIWlzRnVsbHNjcmVlbigpKQogICAgICAgICAgICAgICAg
IGVudGVyRnVsbHNjcmVlbigpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TeXN0ZW1TbGVlcExpc3RlbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1N5c3Rl
bVNsZWVwTGlzdGVuZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZhZTg5MzNlNThiMjI2YWYxMTI4OTMwNWU3
NzkwOGFiNDY2MGE1NjUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TeXN0ZW1TbGVlcExpc3RlbmVyLmNwcApAQCAtMCwwICsxLDQzIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlN5c3RlbVNsZWVwTGlzdGVuZXIuaCIKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCisjaWYgIVBMQVRGT1JNKE1BQykKK3N0ZDo6dW5pcXVlX3B0
cjxTeXN0ZW1TbGVlcExpc3RlbmVyPiBTeXN0ZW1TbGVlcExpc3RlbmVyOjpjcmVhdGUoQ2xpZW50
JiBjbGllbnQpCit7CisgICAgcmV0dXJuIHN0ZDo6bWFrZV91bmlxdWU8U3lzdGVtU2xlZXBMaXN0
ZW5lcj4oY2xpZW50KTsKK30KKyNlbmRpZgorCitTeXN0ZW1TbGVlcExpc3RlbmVyOjpTeXN0ZW1T
bGVlcExpc3RlbmVyKENsaWVudCYgY2xpZW50KQorICAgIDogbV9jbGllbnQoY2xpZW50KQorewor
fQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TeXN0ZW1TbGVlcExp
c3RlbmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TeXN0ZW1TbGVlcExpc3RlbmVyLmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTJhNTMyNmY4YjM2MmJkZWIyMmRiMGI1Zjg0MTU2ZTQyM2E1ZjBkOAotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1N5c3RlbVNsZWVwTGlzdGVu
ZXIuaApAQCAtMCwwICsxLDU1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBTeXN0ZW1TbGVlcExp
c3RlbmVyX2gKKyNkZWZpbmUgU3lzdGVtU2xlZXBMaXN0ZW5lcl9oCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworY2xhc3MgU3lzdGVtU2xlZXBMaXN0ZW5lciB7CitwdWJsaWM6CisgICAgY2xhc3Mg
Q2xpZW50IHsKKyAgICBwdWJsaWM6CisgICAgICAgIHZpcnR1YWwgfkNsaWVudCgpIHsgfQorICAg
ICAgICB2aXJ0dWFsIHZvaWQgc3lzdGVtV2lsbFNsZWVwKCkgPSAwOworICAgICAgICB2aXJ0dWFs
IHZvaWQgc3lzdGVtRGlkV2FrZSgpID0gMDsKKyAgICB9OworCisgICAgc3RhdGljIHN0ZDo6dW5p
cXVlX3B0cjxTeXN0ZW1TbGVlcExpc3RlbmVyPiBjcmVhdGUoQ2xpZW50Jik7CisgICAgdmlydHVh
bCB+U3lzdGVtU2xlZXBMaXN0ZW5lcigpIHsgfQorCisgICAgQ2xpZW50JiBjbGllbnQoKSB7IHJl
dHVybiBtX2NsaWVudDsgfQorCitwcm90ZWN0ZWQ6CisgICAgU3lzdGVtU2xlZXBMaXN0ZW5lcihD
bGllbnQmKTsKKyAgICBmcmllbmQgc3RkOjp1bmlxdWVfcHRyPFN5c3RlbVNsZWVwTGlzdGVuZXI+
IG1ha2VfdW5pcXVlKENsaWVudCYpOworICAgIAorICAgIENsaWVudCYgbV9jbGllbnQ7Cit9Owor
Cit9CisKKworI2VuZGlmIC8vIFN5c3RlbVNsZWVwTGlzdGVuZXJfaApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vTWVkaWFTZXNzaW9uTWFuYWdlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9NZWRpYVNlc3Npb25NYW5hZ2VyLmNwcAppbmRleCA3
OTgzNGY3YWExNTE4ZjFjYmFlOGNiYTM4ZTRlY2Q1MzBhMzZjMzdkLi41MDVkYTg3NjVkY2FhYTRi
ZjFlMWM5NjA0YzM0YTFkZWQ0NjdiM2M0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9NZWRpYVNlc3Npb25NYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9NZWRpYVNlc3Npb25NYW5hZ2VyLmNwcApAQCAtNDAsNyArNDAsOCBAQCBN
ZWRpYVNlc3Npb25NYW5hZ2VyJiBNZWRpYVNlc3Npb25NYW5hZ2VyOjpzaGFyZWRNYW5hZ2VyKCkK
ICNlbmRpZgogCiBNZWRpYVNlc3Npb25NYW5hZ2VyOjpNZWRpYVNlc3Npb25NYW5hZ2VyKCkKLSAg
ICA6IG1fYWN0aXZlU2Vzc2lvbihudWxscHRyKQorICAgIDogbV9zeXN0ZW1TbGVlcExpc3RlbmVy
KFN5c3RlbVNsZWVwTGlzdGVuZXI6OmNyZWF0ZSgqdGhpcykpCisgICAgLCBtX2FjdGl2ZVNlc3Np
b24obnVsbHB0cikKICAgICAsIG1faW50ZXJydXB0ZWQoZmFsc2UpCiB7CiAgICAgcmVzZXRSZXN0
cmljdGlvbnMoKTsKQEAgLTIzMCw0ICsyMzEsMjIgQEAgdm9pZCBNZWRpYVNlc3Npb25NYW5hZ2Vy
OjpyZW1vdmVDbGllbnQoTWVkaWFTZXNzaW9uTWFuYWdlckNsaWVudCogY2xpZW50KQogICAgIG1f
Y2xpZW50cy5yZW1vdmUobV9jbGllbnRzLmZpbmQoY2xpZW50KSk7CiB9CiAKK3ZvaWQgTWVkaWFT
ZXNzaW9uTWFuYWdlcjo6c3lzdGVtV2lsbFNsZWVwKCkKK3sKKyAgICBpZiAobV9pbnRlcnJ1cHRl
ZCkKKyAgICAgICAgcmV0dXJuOworCisgICAgZm9yIChhdXRvIHNlc3Npb24gOiBtX3Nlc3Npb25z
KQorICAgICAgICBzZXNzaW9uLT5iZWdpbkludGVycnVwdGlvbigpOworfQorCit2b2lkIE1lZGlh
U2Vzc2lvbk1hbmFnZXI6OnN5c3RlbURpZFdha2UoKQoreworICAgIGlmIChtX2ludGVycnVwdGVk
KQorICAgICAgICByZXR1cm47CisKKyAgICBmb3IgKGF1dG8gc2Vzc2lvbiA6IG1fc2Vzc2lvbnMp
CisgICAgICAgIHNlc3Npb24tPmVuZEludGVycnVwdGlvbihNZWRpYVNlc3Npb246Ok1heVJlc3Vt
ZVBsYXlpbmcpOworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9NZWRpYVNlc3Npb25NYW5hZ2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9NZWRpYVNlc3Npb25NYW5hZ2VyLmgKaW5kZXggYzM5YjFiNjNiZjQzZmI2MzBjN2NlNjRiMDFk
MWQ0ZGVlYTY1OGQwNC4uZTNkMTI4YjBiNTU0ZWMxZjZlZTYzZGYxZWNhNDg4NzdjMzkwOGVmZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vTWVkaWFTZXNzaW9uTWFu
YWdlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL01lZGlhU2Vzc2lvbk1h
bmFnZXIuaApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIk1lZGlhU2Vzc2lvbi5oIgogI2lu
Y2x1ZGUgIlJlbW90ZUNvbW1hbmRMaXN0ZW5lci5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCisj
aW5jbHVkZSAiU3lzdGVtU2xlZXBMaXN0ZW5lci5oIgogI2luY2x1ZGUgPG1hcD4KICNpbmNsdWRl
IDx3dGYvVmVjdG9yLmg+CiAKQEAgLTUxLDcgKzUyLDcgQEAgcHJvdGVjdGVkOgogICAgIE1lZGlh
U2Vzc2lvbk1hbmFnZXJDbGllbnQoKSB7IH0KIH07CiAKLWNsYXNzIE1lZGlhU2Vzc2lvbk1hbmFn
ZXIgOiBSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGllbnQgeworY2xhc3MgTWVkaWFTZXNzaW9uTWFu
YWdlciA6IFJlbW90ZUNvbW1hbmRMaXN0ZW5lckNsaWVudCwgU3lzdGVtU2xlZXBMaXN0ZW5lcjo6
Q2xpZW50IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgTWVkaWFTZXNzaW9uTWFuYWdlciYgc2hhcmVk
TWFuYWdlcigpOwogICAgIHZpcnR1YWwgfk1lZGlhU2Vzc2lvbk1hbmFnZXIoKSB7IH0KQEAgLTEw
NSwxMyArMTA2LDE5IEBAIHByb3RlY3RlZDoKICAgICBNZWRpYVNlc3Npb24qIGN1cnJlbnRTZXNz
aW9uKCkgeyByZXR1cm4gbV9hY3RpdmVTZXNzaW9uOyB9CiAgICAgCiBwcml2YXRlOgorICAgIGZy
aWVuZCBjbGFzcyBJbnRlcm5hbHM7CisKICAgICB2b2lkIHVwZGF0ZVNlc3Npb25TdGF0ZSgpOwog
CisgICAgdmlydHVhbCB2b2lkIHN5c3RlbVdpbGxTbGVlcCgpOworICAgIHZpcnR1YWwgdm9pZCBz
eXN0ZW1EaWRXYWtlKCk7CisKICAgICBTZXNzaW9uUmVzdHJpY3Rpb25zIG1fcmVzdHJpY3Rpb25z
W01lZGlhU2Vzc2lvbjo6V2ViQXVkaW8gKyAxXTsKIAogICAgIFZlY3RvcjxNZWRpYVNlc3Npb24q
PiBtX3Nlc3Npb25zOwogICAgIFZlY3RvcjxNZWRpYVNlc3Npb25NYW5hZ2VyQ2xpZW50Kj4gbV9j
bGllbnRzOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxSZW1vdGVDb21tYW5kTGlzdGVuZXI+IG1fcmVt
b3RlQ29tbWFuZExpc3RlbmVyOworICAgIHN0ZDo6dW5pcXVlX3B0cjxTeXN0ZW1TbGVlcExpc3Rl
bmVyPiBtX3N5c3RlbVNsZWVwTGlzdGVuZXI7CiAgICAgTWVkaWFTZXNzaW9uKiBtX2FjdGl2ZVNl
c3Npb247CiAgICAgYm9vbCBtX2ludGVycnVwdGVkOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21hYy9TeXN0ZW1TbGVlcExpc3RlbmVyTWFjLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tYWMvU3lzdGVtU2xlZXBMaXN0ZW5lck1hYy5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI0
ZTdkZDQ3N2M5OGE3ZjI5MmQ3ZTgyNGQzNmFhZTkyOWZiZmY3ZTQKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU3lzdGVtU2xlZXBMaXN0ZW5lck1hYy5oCkBA
IC0wLDAgKzEsNTMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFN5c3RlbVNsZWVwTGlzdGVuZXJN
YWNfaAorI2RlZmluZSBTeXN0ZW1TbGVlcExpc3RlbmVyTWFjX2gKKworI2lmIFBMQVRGT1JNKE1B
QykKKworI2luY2x1ZGUgIlN5c3RlbVNsZWVwTGlzdGVuZXIuaCIKKworI2luY2x1ZGUgPHd0Zi9X
ZWFrUHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgU3lzdGVtU2xlZXBMaXN0
ZW5lck1hYyA6IHB1YmxpYyBTeXN0ZW1TbGVlcExpc3RlbmVyIHsKK3Byb3RlY3RlZDoKKyAgICBT
eXN0ZW1TbGVlcExpc3RlbmVyTWFjKENsaWVudCYpOworICAgIHZpcnR1YWwgflN5c3RlbVNsZWVw
TGlzdGVuZXJNYWMoKTsKKworICAgIGZyaWVuZCBzdGQ6OnVuaXF1ZV9wdHI8U3lzdGVtU2xlZXBM
aXN0ZW5lcj4gU3lzdGVtU2xlZXBMaXN0ZW5lcjo6Y3JlYXRlKENsaWVudCYpOworCisgICAgV2Vh
a1B0ckZhY3Rvcnk8U3lzdGVtU2xlZXBMaXN0ZW5lck1hYz4gbV93ZWFrUHRyRmFjdG9yeTsKKyAg
ICBpZCBtX3NsZWVwT2JzZXJ2ZXI7CisgICAgaWQgbV93YWtlT2JzZXJ2ZXI7Cit9OworCit9CisK
KyNlbmRpZiAvLyBQTEFURk9STShNQUMpCisKKyNlbmRpZiAvLyBTeXN0ZW1TbGVlcExpc3RlbmVy
TWFjX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TeXN0ZW1TbGVl
cExpc3RlbmVyTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1N5c3RlbVNsZWVw
TGlzdGVuZXJNYWMubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmUwOGEwMzA4YzJmMTFmNGM2ZWRhMzZlZjAzMTgz
ODAzMThmYWYzNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21h
Yy9TeXN0ZW1TbGVlcExpc3RlbmVyTWFjLm1tCkBAIC0wLDAgKzEsNzUgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaW1wb3J0ICJjb25maWcuaCIKKyNpbXBvcnQgIlN5c3RlbVNsZWVwTGlzdGVuZXJNYWMuaCIK
KworI2lmIFBMQVRGT1JNKE1BQykKKworI2ltcG9ydCA8d3RmL01haW5UaHJlYWQuaD4KKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitzdGQ6OnVuaXF1ZV9wdHI8U3lzdGVtU2xlZXBMaXN0ZW5lcj4g
U3lzdGVtU2xlZXBMaXN0ZW5lcjo6Y3JlYXRlKENsaWVudCYgY2xpZW50KQoreworICAgIHJldHVy
biBzdGQ6OnVuaXF1ZV9wdHI8U3lzdGVtU2xlZXBMaXN0ZW5lcj4obmV3IFN5c3RlbVNsZWVwTGlz
dGVuZXJNYWMoY2xpZW50KSk7Cit9CisKK1N5c3RlbVNsZWVwTGlzdGVuZXJNYWM6OlN5c3RlbVNs
ZWVwTGlzdGVuZXJNYWMoQ2xpZW50JiBjbGllbnQpCisgICAgOiBTeXN0ZW1TbGVlcExpc3RlbmVy
KGNsaWVudCkKKyAgICAsIG1fd2Vha1B0ckZhY3RvcnkodGhpcykKKyAgICAsIG1fc2xlZXBPYnNl
cnZlcihuaWwpCisgICAgLCBtX3dha2VPYnNlcnZlcihuaWwpCit7CisgICAgTlNOb3RpZmljYXRp
b25DZW50ZXIgKmNlbnRlciA9IFtbTlNXb3Jrc3BhY2Ugc2hhcmVkV29ya3NwYWNlXSBub3RpZmlj
YXRpb25DZW50ZXJdOworICAgIE5TT3BlcmF0aW9uUXVldWUgKnF1ZXVlID0gW05TT3BlcmF0aW9u
UXVldWUgbWFpblF1ZXVlXTsKKworICAgIGF1dG8gd2Vha1RoaXMgPSBtX3dlYWtQdHJGYWN0b3J5
LmNyZWF0ZVdlYWtQdHIoKTsKKworICAgIG1fc2xlZXBPYnNlcnZlciA9IFtjZW50ZXIgYWRkT2Jz
ZXJ2ZXJGb3JOYW1lOk5TV29ya3NwYWNlV2lsbFNsZWVwTm90aWZpY2F0aW9uIG9iamVjdDpuaWwg
cXVldWU6cXVldWUgdXNpbmdCbG9jazpeKE5TTm90aWZpY2F0aW9uICopIHsKKyAgICAgICAgY2Fs
bE9uTWFpblRocmVhZChbd2Vha1RoaXNdIHsKKyAgICAgICAgICAgIGlmICh3ZWFrVGhpcykKKyAg
ICAgICAgICAgICAgICB3ZWFrVGhpcy0+bV9jbGllbnQuc3lzdGVtV2lsbFNsZWVwKCk7CisgICAg
ICAgIH0pOworICAgIH1dOworCisgICAgbV93YWtlT2JzZXJ2ZXIgPSBbY2VudGVyIGFkZE9ic2Vy
dmVyRm9yTmFtZTpOU1dvcmtzcGFjZURpZFdha2VOb3RpZmljYXRpb24gb2JqZWN0Om5pbCBxdWV1
ZTpxdWV1ZSB1c2luZ0Jsb2NrOl4oTlNOb3RpZmljYXRpb24gKikgeworICAgICAgICBjYWxsT25N
YWluVGhyZWFkKFt3ZWFrVGhpc10geworICAgICAgICAgICAgaWYgKHdlYWtUaGlzKQorICAgICAg
ICAgICAgICAgIHdlYWtUaGlzLT5tX2NsaWVudC5zeXN0ZW1EaWRXYWtlKCk7CisgICAgICAgIH0p
OworICAgIH1dOworfQorCitTeXN0ZW1TbGVlcExpc3RlbmVyTWFjOjp+U3lzdGVtU2xlZXBMaXN0
ZW5lck1hYygpCit7CisgICAgTlNOb3RpZmljYXRpb25DZW50ZXIqIGNlbnRlciA9IFtbTlNXb3Jr
c3BhY2Ugc2hhcmVkV29ya3NwYWNlXSBub3RpZmljYXRpb25DZW50ZXJdOworICAgIFtjZW50ZXIg
cmVtb3ZlT2JzZXJ2ZXI6bV9zbGVlcE9ic2VydmVyXTsKKyAgICBbY2VudGVyIHJlbW92ZU9ic2Vy
dmVyOm1fd2FrZU9ic2VydmVyXTsKK30KKworfQorCisjZW5kaWYgLy8gUExBVEZPUk0oTUFDKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IDc4YTRmM2MyYzFkM2JkNjg3NGIx
ZWIxYjAzNTczN2E2NjkyMzBiNzIuLmU4NTU5MjQ5YzgzMmFjYjVhOGIyMTdiODc0YTg1MDUwODQ5
NzI4ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTIyOTEsNCArMjI5
MSwxNCBAQCB2b2lkIEludGVybmFsczo6c2V0TWVkaWFTZXNzaW9uUmVzdHJpY3Rpb25zKGNvbnN0
IFN0cmluZyYgbWVkaWFUeXBlU3RyaW5nLCBjb25zdAogICAgIE1lZGlhU2Vzc2lvbk1hbmFnZXI6
OnNoYXJlZE1hbmFnZXIoKS5hZGRSZXN0cmljdGlvbihtZWRpYVR5cGUsIHJlc3RyaWN0aW9ucyk7
CiB9CiAKK3ZvaWQgSW50ZXJuYWxzOjpzaW11bGF0ZVN5c3RlbVNsZWVwKCkgY29uc3QKK3sKKyAg
ICBNZWRpYVNlc3Npb25NYW5hZ2VyOjpzaGFyZWRNYW5hZ2VyKCkuc3lzdGVtV2lsbFNsZWVwKCk7
Cit9CisKK3ZvaWQgSW50ZXJuYWxzOjpzaW11bGF0ZVN5c3RlbVdha2UoKSBjb25zdAoreworICAg
IE1lZGlhU2Vzc2lvbk1hbmFnZXI6OnNoYXJlZE1hbmFnZXIoKS5zeXN0ZW1EaWRXYWtlKCk7Cit9
CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmggYi9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCmluZGV4IDVmNzUwZmE4YTRlZjVlNjBm
M2I4NWE4MmRjZmZhMGJmYzJmNDE3OTguLmM3M2Y0MjBkNjE2OWNkYjIyNWY3YmJmNGRiOGYzNjA3
NDRjNGIyZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaApAQCAtMzM1LDYgKzMzNSw5
IEBAIHB1YmxpYzoKICAgICB2b2lkIGFwcGxpY2F0aW9uV2lsbEVudGVyQmFja2dyb3VuZCgpIGNv
bnN0OwogICAgIHZvaWQgc2V0TWVkaWFTZXNzaW9uUmVzdHJpY3Rpb25zKGNvbnN0IFN0cmluZyYg
bWVkaWFUeXBlLCBjb25zdCBTdHJpbmcmIHJlc3RyaWN0aW9ucywgRXhjZXB0aW9uQ29kZSYgZWMp
OwogCisgICAgdm9pZCBzaW11bGF0ZVN5c3RlbVNsZWVwKCkgY29uc3Q7CisgICAgdm9pZCBzaW11
bGF0ZVN5c3RlbVdha2UoKSBjb25zdDsKKwogcHJpdmF0ZToKICAgICBleHBsaWNpdCBJbnRlcm5h
bHMoRG9jdW1lbnQqKTsKICAgICBEb2N1bWVudCogY29udGV4dERvY3VtZW50KCkgY29uc3Q7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKaW5kZXggY2NlZjIxNGUyNWQyNTgyOTZmYmI5
Y2EzYTFlNmRhMTU1ZjYzODA4Yi4uN2ViODcwODc5MWEzNTI5MGY0Mzk5NDAxMDdjMDRlZWUwMmE2
ZmQzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtMjgzLDQgKzI4Myw3
IEBACiAgICAgdm9pZCBhcHBsaWNhdGlvbldpbGxFbnRlckZvcmVncm91bmQoKTsKICAgICB2b2lk
IGFwcGxpY2F0aW9uV2lsbEVudGVyQmFja2dyb3VuZCgpOwogICAgIFtSYWlzZXNFeGNlcHRpb25d
IHZvaWQgc2V0TWVkaWFTZXNzaW9uUmVzdHJpY3Rpb25zKERPTVN0cmluZyBtZWRpYVR5cGUsIERP
TVN0cmluZyByZXN0cmljdGlvbnMpOworICAgIAorICAgIFtDb25kaXRpb25hbD1WSURFT10gdm9p
ZCBzaW11bGF0ZVN5c3RlbVNsZWVwKCk7CisgICAgW0NvbmRpdGlvbmFsPVZJREVPXSB2b2lkIHNp
bXVsYXRlU3lzdGVtV2FrZSgpOwogfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBiODdmMzFjYzk4YWI0MDZmNDRiNGMzMzQx
MWVjMTA4MDFlNjkyMGE2Li4yZjg2N2RiNjk2NjJkZWQ1ZDU0YTc4YjA3ZWYyM2ZhZDk0N2E2ZDYw
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTEgQEAKKzIwMTQtMDMtMjUgIEplciBOb2JsZSAgPGplci5ub2Js
ZUBhcHBsZS5jb20+CisKKyAgICAgICAgW01hY10gUGF1c2UgdGhlIG1lZGlhIGVsZW1lbnQgZHVy
aW5nIHN5c3RlbSBzbGVlcC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEzMDcxOAorCisgICAgICAgICogbWVkaWEvdmlkZW8tc3lzdGVtLXNsZWVwLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogbWVkaWEvdmlkZW8tc3lzdGVtLXNsZWVwLmh0
bWw6IEFkZGVkLgorCiAyMDE0LTAzLTE5ICBGcsOpZMOpcmljIFdhbmcgIDxmcmVkLndhbmdAZnJl
ZS5mcj4KIAogICAgICAgICBVbnJldmlld2VkIGdhcmRlbmluZy4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL21lZGlhL3ZpZGVvLXN5c3RlbS1zbGVlcC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9tZWRpYS92aWRlby1zeXN0ZW0tc2xlZXAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY4NDFk
MGMxZGJlOWVhY2VhZjMxYjhlZjkyZjJmZmUyMmQwZWRlYjcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9tZWRpYS92aWRlby1zeXN0ZW0tc2xlZXAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTAgQEAKKworVGVzdCB0aGF0IHZpZGVvIGVsZW1lbnRzIHBhdXNlIGR1cmluZyBzeXN0ZW0g
c2xlZXAuCisKK0VWRU5UKHBsYXlpbmcpCitSVU4oaW50ZXJuYWxzLnNpbXVsYXRlU3lzdGVtU2xl
ZXAoKSkKK0VWRU5UKHBhdXNlKQorUlVOKGludGVybmFscy5zaW11bGF0ZVN5c3RlbVdha2UoKSkK
K0VWRU5UKHBsYXlpbmcpCitFTkQgT0YgVEVTVAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9t
ZWRpYS92aWRlby1zeXN0ZW0tc2xlZXAuaHRtbCBiL0xheW91dFRlc3RzL21lZGlhL3ZpZGVvLXN5
c3RlbS1zbGVlcC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdhNDYxNWIwOWY0YmYyNjU4YjE1N2M0NjI0YTg0
MzE2M2NlMTAyYjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS92aWRlby1z
eXN0ZW0tc2xlZXAuaHRtbApAQCAtMCwwICsxLDQwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorICAgIDxoZWFkPgorICAgICAgICA8c2NyaXB0IHNyYz1tZWRpYS1maWxlLmpzPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz12aWRlby10ZXN0LmpzPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0PgorICAgICAgICAgICAgZnVuY3Rpb24gc3RhcnQoKQorICAgICAgICAgICAgeworICAg
ICAgICAgICAgICAgIGlmICghd2luZG93LmludGVybmFscykKKyAgICAgICAgICAgICAgICAgICAg
Y29uc29sZVdyaXRlKCdUbyBydW4gdGhpcyB0ZXN0IG1hbnVhbGx5LCBjYXVzZSB0aGUgbWFjaGlu
ZSB0byBzbGVlcCB0aGVuIHdha2UgdXAuJyk7CisKKyAgICAgICAgICAgICAgICBmaW5kTWVkaWFF
bGVtZW50KCk7CisgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50T25jZSgncGxheWluZycsIHBs
YXlpbmcpOworICAgICAgICAgICAgICAgIHZpZGVvLnNyYyA9IGZpbmRNZWRpYUZpbGUoInZpZGVv
IiwgImNvbnRlbnQvdGVzdCIpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlv
biBwbGF5aW5nKCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnRP
bmNlKCdwYXVzZScsIHBhdXNlZCk7CisgICAgICAgICAgICAgICAgcnVuKCdpbnRlcm5hbHMuc2lt
dWxhdGVTeXN0ZW1TbGVlcCgpJyk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0
aW9uIHBhdXNlZCgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50
T25jZSgncGxheWluZycsIHJlc3VtZWQpOworICAgICAgICAgICAgICAgIHJ1bignaW50ZXJuYWxz
LnNpbXVsYXRlU3lzdGVtV2FrZSgpJyk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1
bmN0aW9uIHJlc3VtZWQoKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGVuZFRlc3Qo
KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9oZWFkPgorCisgICAg
PGJvZHkgb25sb2FkPSJzdGFydCgpIj4KKyAgICAgICAgPHZpZGVvIGNvbnRyb2xzIGF1dG9wbGF5
PjwvdmlkZW8+CisgICAgICAgIDxwPlRlc3QgdGhhdCB2aWRlbyBlbGVtZW50cyBwYXVzZSBkdXJp
bmcgc3lzdGVtIHNsZWVwLjwvcD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>227774</attachid>
            <date>2014-03-25 11:28:11 -0700</date>
            <delta_ts>2014-03-25 11:38:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-130718-20140325112750.patch</filename>
            <type>text/plain</type>
            <size>28058</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY2MjM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmE2ZjhiMzBiOWU5YmUy
ZGIzY2Q2OGRiMjE4ZTdlNTgxNDUzYjNkYi4uZDliODJlNDk5MmFkNjVkNTE4YTExNWE0OWU5YThh
YTk1MDY3YWFhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDE0LTAzLTI1ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtNYWNdIFBhdXNlIHRoZSBt
ZWRpYSBlbGVtZW50IGR1cmluZyBzeXN0ZW0gc2xlZXAuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzA3MTgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBtZWRpYS92aWRlby1zeXN0ZW0tc2xlZXAu
aHRtbAorCisgICAgICAgIFJlbHlpbmcgb24gdGhlIHBsYXRmb3JtIG1lZGlhIHN5c3RlbSB0byBw
YXVzZSBhbmQgcmVzdGFydCBwbGF5YmFjayBkdXJpbmcKKyAgICAgICAgc3lzdGVtIHNsZWVwIGNh
biBjYXVzZSBwcm9ibGVtcyBvbiBzb21lIHBsYXRmb3JtcywgZXNwZWNpYWxseSB3aGVyZSBoYXJk
d2FyZQorICAgICAgICBkZWNvZGVycyBhcmUgY29uY2VybmVkLiBSYXRoZXIgdGhhbiBpbXBsaWNp
dGx5IHBhdXNpbmcgdGhlIG1lZGlhIGR1cmluZworICAgICAgICBzeXN0ZW0gc2xlZXAsIGV4cGxp
Y2l0bHkgcGF1c2UgdGhlIG1lZGlhIGJlZm9yZSBzbGVlcGluZyBhbmQgcmVzdW0gKGlmCisgICAg
ICAgIGFwcHJvcHJpYXRlKSB1cG9uIHdha2luZy4KKworICAgICAgICBBZGQgYSBuZXcgY2xhc3Mg
dG8gYmUgdXNlZCBmb3Igc3lzdGVtIHNsZWVwIG5vdGlmaWNhdGlvbnM6CisgICAgICAgICogcGxh
dGZvcm0vU3lzdGVtU2xlZXBMaXN0ZW5lci5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6
U3lzdGVtU2xlZXBMaXN0ZW5lcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlN5c3RlbVNs
ZWVwTGlzdGVuZXI6OlN5c3RlbVNsZWVwTGlzdGVuZXIpOgorICAgICAgICAqIHBsYXRmb3JtL1N5
c3RlbVNsZWVwTGlzdGVuZXIuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpTeXN0ZW1TbGVl
cExpc3RlbmVyOjpDbGllbnQ6On5DbGllbnQpOgorICAgICAgICAoV2ViQ29yZTo6U3lzdGVtU2xl
ZXBMaXN0ZW5lcjo6flN5c3RlbVNsZWVwTGlzdGVuZXIpOgorICAgICAgICAoV2ViQ29yZTo6U3lz
dGVtU2xlZXBMaXN0ZW5lcjo6Y2xpZW50KToKKworICAgICAgICBBZGQgYSBNYWMtc3BlY2lmaWMg
aW1wbGVtZW50YXRpb246CisgICAgICAgICogcGxhdGZvcm0vbWFjL1N5c3RlbVNsZWVwTGlzdGVu
ZXJNYWMuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL1N5c3RlbVNsZWVwTGlzdGVu
ZXJNYWMubW06IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6U3lzdGVtU2xlZXBMaXN0ZW5lcjo6
Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlN5c3RlbVNsZWVwTGlzdGVuZXJNYWM6OlN5c3Rl
bVNsZWVwTGlzdGVuZXJNYWMpOgorICAgICAgICAoV2ViQ29yZTo6U3lzdGVtU2xlZXBMaXN0ZW5l
ck1hYzo6flN5c3RlbVNsZWVwTGlzdGVuZXJNYWMpOgorCisgICAgICAgIExpc3RlbiBmb3Igc3lz
dGVtIHNsZWVwIG5vdGlmaWNhdGlvbnMgaW4gTWVkaWFTZXNzaW9uTWFuYWdlcjoKKyAgICAgICAg
KiBwbGF0Zm9ybS9hdWRpby9NZWRpYVNlc3Npb25NYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhU2Vzc2lvbk1hbmFnZXI6Ok1lZGlhU2Vzc2lvbk1hbmFnZXIpOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFTZXNzaW9uTWFuYWdlcjo6c3lzdGVtV2lsbFNsZWVwKToKKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhU2Vzc2lvbk1hbmFnZXI6OnN5c3RlbURpZFdha2UpOgorICAgICAgICAq
IHBsYXRmb3JtL2F1ZGlvL01lZGlhU2Vzc2lvbk1hbmFnZXIuaDoKKworICAgICAgICBEcml2ZS1i
eSBmaXg7IG5vdGlmeSB0aGUgTWVkaWFTZXNzaW9uIHRoYXQgcGxheWJhY2sgd2lsbCBiZWdpbgor
ICAgICAgICBkdWUgdG8gYXV0b3BsYXksIGJ1dCBkbyBub3QgYmVnaW4gYXV0b3BsYXlpbmcgaWYg
dGhlIHNlc3Npb24KKyAgICAgICAgaXMgYWxyZWFkeSBpbnRlcnJ1cHRlZDoKKyAgICAgICAgKiBo
dG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxl
bWVudDo6cGFyc2VBdHRyaWJ1dGUpOgorCisgICAgICAgIEFkZCBuZXcgZmlsZXMgdG8gcHJvamVj
dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAg
ICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKwogMjAx
NC0wMy0yNCAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBQ
cmV2ZW50ICdyZW1vdmV0cmFjaycgZXZlbnRzIGZyb20gZmlyaW5nIHdoZW4gYWxsIGluYmFuZCB0
ZXh0IHRyYWNrcyBhcmUgcmVtb3ZlZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggZTNlMTBkYzc4
MTJmM2ZmZDJiNWQwNDEyYmJjOGFhZjBhM2IwZTNlZS4uZWIxOGIwYjJmOGJjMzlkYWMyZTNlNWM0
NjE0ODI0NWFiNjFjOGE0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTE4MDcsNiArMTgwNyw3
IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0Zm9ybS9QbGF0Zm9ybUV2ZW50LmNwcAog
ICAgIHBsYXRmb3JtL1BsYXRmb3JtU3RyYXRlZ2llcy5jcHAKICAgICBwbGF0Zm9ybS9SZW1vdGVD
b21tYW5kTGlzdGVuZXIuY3BwCisgICAgcGxhdGZvcm0vU3lzdGVtU2xlZXBMaXN0ZW5lci5jcHAK
ICAgICBwbGF0Zm9ybS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuY3BwCiAgICAgcGxhdGZvcm0v
U2NoZW1lUmVnaXN0cnkuY3BwCiAgICAgcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCBiNzEyNmJkMjQ0ZmNlNTk2ZjE4MGVjZWQ1YzZh
MWNlN2YwZDgzNTBkLi4zN2U0NDdmMWRmMTNkYmVkNzE0YjMxYWY0ZDczODNjNjI5OGMxNGQ2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTU1MTIsNiArNTUxMiw4IEBAIHdlYmNv
cmVfcGxhdGZvcm1fc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xs
QW5pbWF0b3IuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3JOb25l
LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3JOb25lLmggXAor
CVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1N5c3RlbVNsZWVwTGlzdGVuZXIuY3BwIFwKKwlTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TeXN0ZW1TbGVlcExpc3RlbmVyLmggXAogCVNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1RocmVhZEdsb2JhbERhdGEuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9UaHJlYWRHbG9iYWxEYXRhLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1VzZXJB
Y3Rpdml0eS5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCmluZGV4IDc3NWNhZGNmN2ZhOTAyMTE1NzU2NTIxY2UwZGFjMjkzYmI4NGRj
MzUuLmRkZjkyNjQ4MDVjOGQxODdjZTU0ZWQ4OTFmZmE0YjkwODk0OTA0N2QgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTU1NjEs
NiArNTU2MSwxMCBAQAogCQlDRDlERTE3RDE3QUFDNzVCMDBFQTM4NkQgLyogSlNTb3VyY2VCdWZm
ZXJMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
RDlERTE3OTE3QUFDNzVCMDBFQTM4NkQgLyogSlNTb3VyY2VCdWZmZXJMaXN0LmggKi87IH07CiAJ
CUNEOURFMTgxMTdBQUQ2QTQwMEVBMzg2RCAvKiBET01VUkxNZWRpYVNvdXJjZS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDlERTE3RTE3QUFENjRF
MDBFQTM4NkQgLyogRE9NVVJMTWVkaWFTb3VyY2UuY3BwICovOyB9OwogCQlDRDlERTE4MjE3QUFE
NkE0MDBFQTM4NkQgLyogRE9NVVJMTWVkaWFTb3VyY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEOURFMTdGMTdBQUQ2NEUwMEVBMzg2RCAvKiBET01V
UkxNZWRpYVNvdXJjZS5oICovOyB9OworCQlDREEwN0ZCRDE4RTBBMTZBMDA0Njk5RkEgLyogU3lz
dGVtU2xlZXBMaXN0ZW5lci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDREEwN0ZCQjE4RTBBMTZBMDA0Njk5RkEgLyogU3lzdGVtU2xlZXBMaXN0ZW5l
ci5jcHAgKi87IH07CisJCUNEQTA3RkJFMThFMEExNkEwMDQ2OTlGQSAvKiBTeXN0ZW1TbGVlcExp
c3RlbmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
REEwN0ZCQzE4RTBBMTZBMDA0Njk5RkEgLyogU3lzdGVtU2xlZXBMaXN0ZW5lci5oICovOyB9Owor
CQlDREEwN0ZDMTE4RTBBMjJCMDA0Njk5RkEgLyogU3lzdGVtU2xlZXBMaXN0ZW5lck1hYy5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEQTA3RkJGMThF
MEEyMkIwMDQ2OTlGQSAvKiBTeXN0ZW1TbGVlcExpc3RlbmVyTWFjLm1tICovOyB9OworCQlDREEw
N0ZDMjE4RTBBMjJCMDA0Njk5RkEgLyogU3lzdGVtU2xlZXBMaXN0ZW5lck1hYy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RBMDdGQzAxOEUwQTIyQjAw
NDY5OUZBIC8qIFN5c3RlbVNsZWVwTGlzdGVuZXJNYWMuaCAqLzsgfTsKIAkJQ0RBNzk4MjQxNzBB
MjU4MzAwRDQ1QzU1IC8qIEF1ZGlvU2Vzc2lvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREE3OTgyMzE3MEEyNTgzMDBENDVDNTUgLyogQXVkaW9T
ZXNzaW9uLmNwcCAqLzsgfTsKIAkJQ0RBNzk4MjcxNzBBMjc5MTAwRDQ1QzU1IC8qIEF1ZGlvU2Vz
c2lvbklPUy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IENEQTc5ODI1MTcwQTI3OTAwMEQ0NUM1NSAvKiBBdWRpb1Nlc3Npb25JT1MubW0gKi87IH07CiAJ
CUNEQTc5ODJBMTcwQTNEMDAwMEQ0NUM1NSAvKiBBdWRpb1Nlc3Npb24uaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEQTc5ODIxMTcwQTIyREMwMEQ0NUM1
NSAvKiBBdWRpb1Nlc3Npb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwpAQCAtMTI4NzQsNiArMTI4NzgsMTAgQEAKIAkJQ0Q5REUxN0UxN0FBRDY0RTAw
RUEzODZEIC8qIERPTVVSTE1lZGlhU291cmNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERPTVVS
TE1lZGlhU291cmNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0Q5REUxN0Yx
N0FBRDY0RTAwRUEzODZEIC8qIERPTVVSTE1lZGlhU291cmNlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERP
TVVSTE1lZGlhU291cmNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNEOURFMTgw
MTdBQUQ2NEUwMEVBMzg2RCAvKiBET01VUkxNZWRpYVNvdXJjZS5pZGwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRE9NVVJMTWVk
aWFTb3VyY2UuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDREEwN0ZCQjE4RTBB
MTZBMDA0Njk5RkEgLyogU3lzdGVtU2xlZXBMaXN0ZW5lci5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBTeXN0ZW1TbGVlcExpc3RlbmVyLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQ0RBMDdGQkMxOEUwQTE2QTAwNDY5OUZBIC8qIFN5c3RlbVNsZWVw
TGlzdGVuZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3lzdGVtU2xlZXBM
aXN0ZW5lci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDREEwN0ZCRjE4RTBBMjJC
MDA0Njk5RkEgLyogU3lzdGVtU2xlZXBMaXN0ZW5lck1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLm9iamNwcDsgcGF0aCA9IFN5c3RlbVNsZWVwTGlzdGVuZXJNYWMubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUNEQTA3RkMwMThFMEEyMkIwMDQ2OTlGQSAvKiBTeXN0ZW1T
bGVlcExpc3RlbmVyTWFjLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN5c3Rl
bVNsZWVwTGlzdGVuZXJNYWMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RBNzk4
MjExNzBBMjJEQzAwRDQ1QzU1IC8qIEF1ZGlvU2Vzc2lvbi5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBdWRp
b1Nlc3Npb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RBNzk4MjIxNzBBMjRG
NDAwRDQ1QzU1IC8qIEF1ZGlvU2Vzc2lvbkxpc3RlbmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEF1ZGlv
U2Vzc2lvbkxpc3RlbmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNEQTc5ODIz
MTcwQTI1ODMwMEQ0NUM1NSAvKiBBdWRpb1Nlc3Npb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gQXVkaW9TZXNzaW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTE2MTI0LDYgKzE2MTMyLDggQEAKIAkJCQk0QjMwNDNDODBBRTAzNzFEMDBBODI2
NDcgLyogU291bmRNYWMubW0gKi8sCiAJCQkJODRCMkIyNEYwNTZCRjE1RjAwRDJCNzcxIC8qIFNT
TEtleUdlbmVyYXRvck1hYy5jcHAgKi8sCiAJCQkJOTNCMkQ4MTcwRjk5MjBFRTAwNkFFNkIyIC8q
IFN1ZGRlblRlcm1pbmF0aW9uLm1tICovLAorCQkJCUNEQTA3RkJGMThFMEEyMkIwMDQ2OTlGQSAv
KiBTeXN0ZW1TbGVlcExpc3RlbmVyTWFjLm1tICovLAorCQkJCUNEQTA3RkMwMThFMEEyMkIwMDQ2
OTlGQSAvKiBTeXN0ZW1TbGVlcExpc3RlbmVyTWFjLmggKi8sCiAJCQkJNURBOTdFQ0IxNjhFNzg3
QjAwMEUzNjc2IC8qIFN5c3RlbVZlcnNpb25NYWMuaCAqLywKIAkJCQk1REE5N0VDQzE2OEU3ODdC
MDAwRTM2NzYgLyogU3lzdGVtVmVyc2lvbk1hYy5tbSAqLywKIAkJCQlCQ0U2NTlFNTBFQTkyRkIy
MDA3RTQ1MzMgLyogVGhlbWVNYWMuaCAqLywKQEAgLTIxMDQ3LDYgKzIxMDU3LDggQEAKIAkJCQlF
MUUxQkVGRjExNUZGNkZCMDA2RjUyQ0EgLyogV2luZG93c0tleWJvYXJkQ29kZXMuaCAqLywKIAkJ
CQlDREZDMzYwMzE4Q0E2MUMyMDAyNkU1NkYgLyogUmVtb3RlQ29tbWFuZExpc3RlbmVyLmNwcCAq
LywKIAkJCQlDREZDMzYwNDE4Q0E2MUMyMDAyNkU1NkYgLyogUmVtb3RlQ29tbWFuZExpc3RlbmVy
LmggKi8sCisJCQkJQ0RBMDdGQkIxOEUwQTE2QTAwNDY5OUZBIC8qIFN5c3RlbVNsZWVwTGlzdGVu
ZXIuY3BwICovLAorCQkJCUNEQTA3RkJDMThFMEExNkEwMDQ2OTlGQSAvKiBTeXN0ZW1TbGVlcExp
c3RlbmVyLmggKi8sCiAJCQkpOwogCQkJcGF0aCA9IHBsYXRmb3JtOwogCQkJc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsKQEAgLTIzNTE0LDYgKzIzNTI2LDcgQEAKIAkJCQk4NUU3MTFCOTBBQzVENTM1
MDA1MzI3MEYgLyogRE9NSFRNTE1hcEVsZW1lbnRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQkM1MTU3OUYwQzAzQkJEMzAwOEJCMEVFIC8qIERPTUhUTUxNYXJxdWVlRWxlbWVudC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQkM1MTU2RUEwQzAzQjc0MTAwOEJCMEVFIC8qIERPTUhUTUxNYXJx
dWVlRWxlbWVudEludGVybmFsLmggaW4gSGVhZGVycyAqLywKKwkJCQlDREEwN0ZCRTE4RTBBMTZB
MDA0Njk5RkEgLyogU3lzdGVtU2xlZXBMaXN0ZW5lci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODVC
QTREMTMwQUE2ODg2ODAwODgwNTJEIC8qIERPTUhUTUxNZW51RWxlbWVudC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJODVFNzExQkEwQUM1RDUzNTAwNTMyNzBGIC8qIERPTUhUTUxNZW51RWxlbWVudElu
dGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NTlBOUM0RDBBQTVFM0JEMDBCNjk0QjIgLyog
RE9NSFRNTE1ldGFFbGVtZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTI1OTA5LDYgKzI1OTIyLDcg
QEAKIAkJCQkxQzE4REE1OTE4MUFGNkE1MDBDNEVGMjIgLyogVGV4dFBhaW50ZXIuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUU0QzkxQTBFMTgwMjM0MzEwMEExN0Y2RCAvKiBUZXh0UGFpbnRTdHlsZS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJOTMwRkM2OEExMDcyQjkyODAwNDUyOTNFIC8qIFRleHRSZW5k
ZXJpbmdNb2RlLmggaW4gSGVhZGVycyAqLywKKwkJCQlDREEwN0ZDMjE4RTBBMjJCMDA0Njk5RkEg
LyogU3lzdGVtU2xlZXBMaXN0ZW5lck1hYy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNGMTk4RjYw
ODI0NUU1OTAwMUU5QUJDIC8qIFRleHRSZXNvdXJjZURlY29kZXIuaCBpbiBIZWFkZXJzICovLAog
CQkJCUE4MjRCNDY1MEUyRUYyRUEwMDgxQTdCNyAvKiBUZXh0UnVuLmggaW4gSGVhZGVycyAqLywK
IAkJCQk0NDhCMUI3QTBGM0EyRjlCMDA0N0E5RTIgLyogVGV4dFNpemVBZGp1c3RtZW50LmggaW4g
SGVhZGVycyAqLywKQEAgLTI4MjMyLDYgKzI4MjQ2LDcgQEAKIAkJCQkzMTYxMUU1QTBFMUM0REUw
MDBGNkE1NzkgLyogSlNXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkzRjJCMzNFRTE2NUFGMTU2MDBFMzk4N0MgLyogSlNXZWJLaXRDU1NWaWV3cG9ydFJ1bGUu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRDc2MTNBQzQxNDc1M0U1NjAwREI4NjA2IC8qIEpTV2Vi
S2l0TmFtZWRGbG93LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUNEQTA3RkMxMThFMEEyMkIwMDQ2
OTlGQSAvKiBTeXN0ZW1TbGVlcExpc3RlbmVyTWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZE
QTdDMjYxODgzMzMzMjAwQzk1NEI1IC8qIEpTV2ViS2l0UGxheWJhY2tUYXJnZXRBdmFpbGFiaWxp
dHlFdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0OTRCRDc5RDBGNTVDOTRDMDA3NDc4Mjgg
LyogSlNXZWJLaXRQb2ludC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzI3NUI3OTExQzVEMUMz
MDBDOTIwNkMgLyogSlNXZWJLaXRQb2ludEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI5
MDU4LDYgKzI5MDczLDcgQEAKIAkJCQlCMjIyN0EzMjBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHTGVu
Z3RoLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTcxMzQ0OTZEMTQ2OTQxQjMwMDcyMDMxMiAvKiBT
VkdMZW5ndGhDb250ZXh0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUIyMjI3QTM1MEQwMEJGMjIw
MDcxQjc4MiAvKiBTVkdMZW5ndGhMaXN0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUNEQTA3RkJE
MThFMEExNkEwMDQ2OTlGQSAvKiBTeXN0ZW1TbGVlcExpc3RlbmVyLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUIyMjI3QTM4MEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdMaW5lYXJHcmFkaWVudEVsZW1l
bnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjIyMjdBM0IwRDAwQkYyMjAwNzFCNzgyIC8qIFNW
R0xpbmVFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUIyMjI3QTQwMEQwMEJGMjIwMDcx
Qjc4MiAvKiBTVkdMb2NhdGFibGUuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCA4YmM0ZDNkMzU4OGE3NTBkNDgyODU3MjI0MzFk
MzVlZDBjMGQ0NzhjLi40MTFiMjc1YTFjYmZlNDZlODMwOGM5OWJlYjYzMTYzZWI5NmQwYjk3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAgLTQ0MzIsNiArNDQz
Miw4IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6dXBkYXRlUGxheVN0YXRlKCkKICAgICAgICAg
aW52YWxpZGF0ZUNhY2hlZFRpbWUoKTsKIAogICAgICAgICBpZiAocGxheWVyUGF1c2VkKSB7Cisg
ICAgICAgICAgICBtX21lZGlhU2Vzc2lvbi0+Y2xpZW50V2lsbEJlZ2luUGxheWJhY2soKTsKKwog
ICAgICAgICAgICAgaWYgKG1fbWVkaWFTZXNzaW9uLT5yZXF1aXJlc0Z1bGxzY3JlZW5Gb3JWaWRl
b1BsYXliYWNrKCp0aGlzKSAmJiAhaXNGdWxsc2NyZWVuKCkpCiAgICAgICAgICAgICAgICAgZW50
ZXJGdWxsc2NyZWVuKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1N5
c3RlbVNsZWVwTGlzdGVuZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU3lzdGVtU2xl
ZXBMaXN0ZW5lci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmFlODkzM2U1OGIyMjZhZjExMjg5MzA1ZTc3OTA4
YWI0NjYwYTU2NQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1N5
c3RlbVNsZWVwTGlzdGVuZXIuY3BwCkBAIC0wLDAgKzEsNDMgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiU3lzdGVtU2xlZXBMaXN0ZW5lci5oIgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKKyNpZiAhUExBVEZPUk0oTUFDKQorc3RkOjp1bmlxdWVfcHRyPFN5
c3RlbVNsZWVwTGlzdGVuZXI+IFN5c3RlbVNsZWVwTGlzdGVuZXI6OmNyZWF0ZShDbGllbnQmIGNs
aWVudCkKK3sKKyAgICByZXR1cm4gc3RkOjptYWtlX3VuaXF1ZTxTeXN0ZW1TbGVlcExpc3RlbmVy
PihjbGllbnQpOworfQorI2VuZGlmCisKK1N5c3RlbVNsZWVwTGlzdGVuZXI6OlN5c3RlbVNsZWVw
TGlzdGVuZXIoQ2xpZW50JiBjbGllbnQpCisgICAgOiBtX2NsaWVudChjbGllbnQpCit7Cit9CisK
K30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1N5c3RlbVNsZWVwTGlzdGVu
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1N5c3RlbVNsZWVwTGlzdGVuZXIuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41MmE1MzI2ZjhiMzYyYmRlYjIyZGIwYjVmODQxNTZlNDIzYTVmMGQ4Ci0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU3lzdGVtU2xlZXBMaXN0ZW5lci5o
CkBAIC0wLDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFN5c3RlbVNsZWVwTGlzdGVu
ZXJfaAorI2RlZmluZSBTeXN0ZW1TbGVlcExpc3RlbmVyX2gKKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitjbGFzcyBTeXN0ZW1TbGVlcExpc3RlbmVyIHsKK3B1YmxpYzoKKyAgICBjbGFzcyBDbGll
bnQgeworICAgIHB1YmxpYzoKKyAgICAgICAgdmlydHVhbCB+Q2xpZW50KCkgeyB9CisgICAgICAg
IHZpcnR1YWwgdm9pZCBzeXN0ZW1XaWxsU2xlZXAoKSA9IDA7CisgICAgICAgIHZpcnR1YWwgdm9p
ZCBzeXN0ZW1EaWRXYWtlKCkgPSAwOworICAgIH07CisKKyAgICBzdGF0aWMgc3RkOjp1bmlxdWVf
cHRyPFN5c3RlbVNsZWVwTGlzdGVuZXI+IGNyZWF0ZShDbGllbnQmKTsKKyAgICB2aXJ0dWFsIH5T
eXN0ZW1TbGVlcExpc3RlbmVyKCkgeyB9CisKKyAgICBDbGllbnQmIGNsaWVudCgpIHsgcmV0dXJu
IG1fY2xpZW50OyB9CisKK3Byb3RlY3RlZDoKKyAgICBTeXN0ZW1TbGVlcExpc3RlbmVyKENsaWVu
dCYpOworICAgIGZyaWVuZCBzdGQ6OnVuaXF1ZV9wdHI8U3lzdGVtU2xlZXBMaXN0ZW5lcj4gbWFr
ZV91bmlxdWUoQ2xpZW50Jik7CisgICAgCisgICAgQ2xpZW50JiBtX2NsaWVudDsKK307CisKK30K
KworCisjZW5kaWYgLy8gU3lzdGVtU2xlZXBMaXN0ZW5lcl9oCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9NZWRpYVNlc3Npb25NYW5hZ2VyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL01lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCmluZGV4IDg1OTk2
NWZjM2I2NTRkOWRkYTEyYzU5NGViZmY5Y2RlMzZlNzQ2NWQuLjEzOTM0OGZiNTQ0YzQwNTY3NzNm
NWY4MWMzZDA1NWU0MjhjMmQ5YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL01lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL01lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCkBAIC00Miw3ICs0Miw4IEBAIE1lZGlh
U2Vzc2lvbk1hbmFnZXImIE1lZGlhU2Vzc2lvbk1hbmFnZXI6OnNoYXJlZE1hbmFnZXIoKQogI2Vu
ZGlmCiAKIE1lZGlhU2Vzc2lvbk1hbmFnZXI6Ok1lZGlhU2Vzc2lvbk1hbmFnZXIoKQotICAgIDog
bV9pbnRlcnJ1cHRlZChmYWxzZSkKKyAgICA6IG1fc3lzdGVtU2xlZXBMaXN0ZW5lcihTeXN0ZW1T
bGVlcExpc3RlbmVyOjpjcmVhdGUoKnRoaXMpKQorICAgICwgbV9pbnRlcnJ1cHRlZChmYWxzZSkK
IHsKICAgICByZXNldFJlc3RyaWN0aW9ucygpOwogfQpAQCAtMzAxLDYgKzMwMiwyNCBAQCB2b2lk
IE1lZGlhU2Vzc2lvbk1hbmFnZXI6OnJlbW92ZUNsaWVudChNZWRpYVNlc3Npb25NYW5hZ2VyQ2xp
ZW50KiBjbGllbnQpCiAgICAgbV9jbGllbnRzLnJlbW92ZShtX2NsaWVudHMuZmluZChjbGllbnQp
KTsKIH0KIAordm9pZCBNZWRpYVNlc3Npb25NYW5hZ2VyOjpzeXN0ZW1XaWxsU2xlZXAoKQorewor
ICAgIGlmIChtX2ludGVycnVwdGVkKQorICAgICAgICByZXR1cm47CisKKyAgICBmb3IgKGF1dG8g
c2Vzc2lvbiA6IG1fc2Vzc2lvbnMpCisgICAgICAgIHNlc3Npb24tPmJlZ2luSW50ZXJydXB0aW9u
KCk7Cit9CisKK3ZvaWQgTWVkaWFTZXNzaW9uTWFuYWdlcjo6c3lzdGVtRGlkV2FrZSgpCit7Cisg
ICAgaWYgKG1faW50ZXJydXB0ZWQpCisgICAgICAgIHJldHVybjsKKworICAgIGZvciAoYXV0byBz
ZXNzaW9uIDogbV9zZXNzaW9ucykKKyAgICAgICAgc2Vzc2lvbi0+ZW5kSW50ZXJydXB0aW9uKE1l
ZGlhU2Vzc2lvbjo6TWF5UmVzdW1lUGxheWluZyk7Cit9CisKIH0KIAogI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9NZWRpYVNlc3Npb25NYW5hZ2VyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9NZWRpYVNlc3Npb25NYW5hZ2VyLmgKaW5k
ZXggN2M2ZWFmYTdhNmNlZjdjYmI5Y2EzMDIzNDQwZGFjOGY0NGU5YmU3OS4uMzhkY2YzYzcxYmQz
OGJmYzkyMzM0NThhOGQzOGY5N2UyNDNiZDI3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYXVkaW8vTWVkaWFTZXNzaW9uTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL01lZGlhU2Vzc2lvbk1hbmFnZXIuaApAQCAtMjksNiArMjksNyBAQAog
I2luY2x1ZGUgIk1lZGlhU2Vzc2lvbi5oIgogI2luY2x1ZGUgIlJlbW90ZUNvbW1hbmRMaXN0ZW5l
ci5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCisjaW5jbHVkZSAiU3lzdGVtU2xlZXBMaXN0ZW5l
ci5oIgogI2luY2x1ZGUgPG1hcD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTUxLDcg
KzUyLDcgQEAgcHJvdGVjdGVkOgogICAgIE1lZGlhU2Vzc2lvbk1hbmFnZXJDbGllbnQoKSB7IH0K
IH07CiAKLWNsYXNzIE1lZGlhU2Vzc2lvbk1hbmFnZXIgOiBSZW1vdGVDb21tYW5kTGlzdGVuZXJD
bGllbnQgeworY2xhc3MgTWVkaWFTZXNzaW9uTWFuYWdlciA6IFJlbW90ZUNvbW1hbmRMaXN0ZW5l
ckNsaWVudCwgU3lzdGVtU2xlZXBMaXN0ZW5lcjo6Q2xpZW50IHsKIHB1YmxpYzoKICAgICBzdGF0
aWMgTWVkaWFTZXNzaW9uTWFuYWdlciYgc2hhcmVkTWFuYWdlcigpOwogICAgIHZpcnR1YWwgfk1l
ZGlhU2Vzc2lvbk1hbmFnZXIoKSB7IH0KQEAgLTEwNSwxMyArMTA2LDE5IEBAIHByb3RlY3RlZDoK
ICAgICBNZWRpYVNlc3Npb24qIGN1cnJlbnRTZXNzaW9uKCk7CiAgICAgCiBwcml2YXRlOgorICAg
IGZyaWVuZCBjbGFzcyBJbnRlcm5hbHM7CisKICAgICB2b2lkIHVwZGF0ZVNlc3Npb25TdGF0ZSgp
OwogCisgICAgdmlydHVhbCB2b2lkIHN5c3RlbVdpbGxTbGVlcCgpOworICAgIHZpcnR1YWwgdm9p
ZCBzeXN0ZW1EaWRXYWtlKCk7CisKICAgICBTZXNzaW9uUmVzdHJpY3Rpb25zIG1fcmVzdHJpY3Rp
b25zW01lZGlhU2Vzc2lvbjo6V2ViQXVkaW8gKyAxXTsKIAogICAgIFZlY3RvcjxNZWRpYVNlc3Np
b24qPiBtX3Nlc3Npb25zOwogICAgIFZlY3RvcjxNZWRpYVNlc3Npb25NYW5hZ2VyQ2xpZW50Kj4g
bV9jbGllbnRzOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxSZW1vdGVDb21tYW5kTGlzdGVuZXI+IG1f
cmVtb3RlQ29tbWFuZExpc3RlbmVyOworICAgIHN0ZDo6dW5pcXVlX3B0cjxTeXN0ZW1TbGVlcExp
c3RlbmVyPiBtX3N5c3RlbVNsZWVwTGlzdGVuZXI7CiAgICAgYm9vbCBtX2ludGVycnVwdGVkOwog
fTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1N5c3RlbVNsZWVw
TGlzdGVuZXJNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TeXN0ZW1TbGVlcExp
c3RlbmVyTWFjLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjRlN2RkNDc3Yzk4YTdmMjkyZDdlODI0ZDM2YWFlOTI5
ZmJmZjdlNAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9T
eXN0ZW1TbGVlcExpc3RlbmVyTWFjLmgKQEAgLTAsMCArMSw1MyBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
Zm5kZWYgU3lzdGVtU2xlZXBMaXN0ZW5lck1hY19oCisjZGVmaW5lIFN5c3RlbVNsZWVwTGlzdGVu
ZXJNYWNfaAorCisjaWYgUExBVEZPUk0oTUFDKQorCisjaW5jbHVkZSAiU3lzdGVtU2xlZXBMaXN0
ZW5lci5oIgorCisjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitjbGFzcyBTeXN0ZW1TbGVlcExpc3RlbmVyTWFjIDogcHVibGljIFN5c3RlbVNsZWVwTGlz
dGVuZXIgeworcHJvdGVjdGVkOgorICAgIFN5c3RlbVNsZWVwTGlzdGVuZXJNYWMoQ2xpZW50Jik7
CisgICAgdmlydHVhbCB+U3lzdGVtU2xlZXBMaXN0ZW5lck1hYygpOworCisgICAgZnJpZW5kIHN0
ZDo6dW5pcXVlX3B0cjxTeXN0ZW1TbGVlcExpc3RlbmVyPiBTeXN0ZW1TbGVlcExpc3RlbmVyOjpj
cmVhdGUoQ2xpZW50Jik7CisKKyAgICBXZWFrUHRyRmFjdG9yeTxTeXN0ZW1TbGVlcExpc3RlbmVy
TWFjPiBtX3dlYWtQdHJGYWN0b3J5OworICAgIGlkIG1fc2xlZXBPYnNlcnZlcjsKKyAgICBpZCBt
X3dha2VPYnNlcnZlcjsKK307CisKK30KKworI2VuZGlmIC8vIFBMQVRGT1JNKE1BQykKKworI2Vu
ZGlmIC8vIFN5c3RlbVNsZWVwTGlzdGVuZXJNYWNfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWFjL1N5c3RlbVNsZWVwTGlzdGVuZXJNYWMubW0gYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tYWMvU3lzdGVtU2xlZXBMaXN0ZW5lck1hYy5tbQpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iZTA4
YTAzMDhjMmYxMWY0YzZlZGEzNmVmMDMxODM4MDMxOGZhZjM2Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1N5c3RlbVNsZWVwTGlzdGVuZXJNYWMubW0KQEAg
LTAsMCArMSw3NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorI2ltcG9ydCAi
U3lzdGVtU2xlZXBMaXN0ZW5lck1hYy5oIgorCisjaWYgUExBVEZPUk0oTUFDKQorCisjaW1wb3J0
IDx3dGYvTWFpblRocmVhZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0ZDo6dW5pcXVl
X3B0cjxTeXN0ZW1TbGVlcExpc3RlbmVyPiBTeXN0ZW1TbGVlcExpc3RlbmVyOjpjcmVhdGUoQ2xp
ZW50JiBjbGllbnQpCit7CisgICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxTeXN0ZW1TbGVlcExp
c3RlbmVyPihuZXcgU3lzdGVtU2xlZXBMaXN0ZW5lck1hYyhjbGllbnQpKTsKK30KKworU3lzdGVt
U2xlZXBMaXN0ZW5lck1hYzo6U3lzdGVtU2xlZXBMaXN0ZW5lck1hYyhDbGllbnQmIGNsaWVudCkK
KyAgICA6IFN5c3RlbVNsZWVwTGlzdGVuZXIoY2xpZW50KQorICAgICwgbV93ZWFrUHRyRmFjdG9y
eSh0aGlzKQorICAgICwgbV9zbGVlcE9ic2VydmVyKG5pbCkKKyAgICAsIG1fd2FrZU9ic2VydmVy
KG5pbCkKK3sKKyAgICBOU05vdGlmaWNhdGlvbkNlbnRlciAqY2VudGVyID0gW1tOU1dvcmtzcGFj
ZSBzaGFyZWRXb3Jrc3BhY2VdIG5vdGlmaWNhdGlvbkNlbnRlcl07CisgICAgTlNPcGVyYXRpb25R
dWV1ZSAqcXVldWUgPSBbTlNPcGVyYXRpb25RdWV1ZSBtYWluUXVldWVdOworCisgICAgYXV0byB3
ZWFrVGhpcyA9IG1fd2Vha1B0ckZhY3RvcnkuY3JlYXRlV2Vha1B0cigpOworCisgICAgbV9zbGVl
cE9ic2VydmVyID0gW2NlbnRlciBhZGRPYnNlcnZlckZvck5hbWU6TlNXb3Jrc3BhY2VXaWxsU2xl
ZXBOb3RpZmljYXRpb24gb2JqZWN0Om5pbCBxdWV1ZTpxdWV1ZSB1c2luZ0Jsb2NrOl4oTlNOb3Rp
ZmljYXRpb24gKikgeworICAgICAgICBjYWxsT25NYWluVGhyZWFkKFt3ZWFrVGhpc10geworICAg
ICAgICAgICAgaWYgKHdlYWtUaGlzKQorICAgICAgICAgICAgICAgIHdlYWtUaGlzLT5tX2NsaWVu
dC5zeXN0ZW1XaWxsU2xlZXAoKTsKKyAgICAgICAgfSk7CisgICAgfV07CisKKyAgICBtX3dha2VP
YnNlcnZlciA9IFtjZW50ZXIgYWRkT2JzZXJ2ZXJGb3JOYW1lOk5TV29ya3NwYWNlRGlkV2FrZU5v
dGlmaWNhdGlvbiBvYmplY3Q6bmlsIHF1ZXVlOnF1ZXVlIHVzaW5nQmxvY2s6XihOU05vdGlmaWNh
dGlvbiAqKSB7CisgICAgICAgIGNhbGxPbk1haW5UaHJlYWQoW3dlYWtUaGlzXSB7CisgICAgICAg
ICAgICBpZiAod2Vha1RoaXMpCisgICAgICAgICAgICAgICAgd2Vha1RoaXMtPm1fY2xpZW50LnN5
c3RlbURpZFdha2UoKTsKKyAgICAgICAgfSk7CisgICAgfV07Cit9CisKK1N5c3RlbVNsZWVwTGlz
dGVuZXJNYWM6On5TeXN0ZW1TbGVlcExpc3RlbmVyTWFjKCkKK3sKKyAgICBOU05vdGlmaWNhdGlv
bkNlbnRlciogY2VudGVyID0gW1tOU1dvcmtzcGFjZSBzaGFyZWRXb3Jrc3BhY2VdIG5vdGlmaWNh
dGlvbkNlbnRlcl07CisgICAgW2NlbnRlciByZW1vdmVPYnNlcnZlcjptX3NsZWVwT2JzZXJ2ZXJd
OworICAgIFtjZW50ZXIgcmVtb3ZlT2JzZXJ2ZXI6bV93YWtlT2JzZXJ2ZXJdOworfQorCit9CisK
KyNlbmRpZiAvLyBQTEFURk9STShNQUMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAK
aW5kZXggZmNiNDFhMjI1MmQyMDYyZmE3ZjU5NTBlMzk0ZGMyOGNiZmY5MDBkYi4uYjkzYTcyZGIw
OTVjM2UyMDllZTUxY2ZiN2Y3MDMwOTA5NjI5ZDE0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmNwcApAQCAtMjMzMyw0ICsyMzMzLDE0IEBAIHZvaWQgSW50ZXJuYWxzOjpwb3N0UmVt
b3RlQ29udHJvbENvbW1hbmQoY29uc3QgU3RyaW5nJiBjb21tYW5kU3RyaW5nLCBFeGNlcHRpb25D
CiB9CiAjZW5kaWYgLy8gRU5BQkxFKFZJREVPKQogCit2b2lkIEludGVybmFsczo6c2ltdWxhdGVT
eXN0ZW1TbGVlcCgpIGNvbnN0Cit7CisgICAgTWVkaWFTZXNzaW9uTWFuYWdlcjo6c2hhcmVkTWFu
YWdlcigpLnN5c3RlbVdpbGxTbGVlcCgpOworfQorCit2b2lkIEludGVybmFsczo6c2ltdWxhdGVT
eXN0ZW1XYWtlKCkgY29uc3QKK3sKKyAgICBNZWRpYVNlc3Npb25NYW5hZ2VyOjpzaGFyZWRNYW5h
Z2VyKCkuc3lzdGVtRGlkV2FrZSgpOworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
aAppbmRleCA2NmFkZGUzYjQzYmVkMGYwOTlmZDQ5NzI1MjU4OGIxNTY5YTljOTllLi43ZDRlOTk4
NjI3MjdmOWUwMWI2MzIzMDBlOGU1ODdmY2VkZDVhNDZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmgKQEAgLTM0MCw2ICszNDAsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBwb3N0UmVtb3Rl
Q29udHJvbENvbW1hbmQoY29uc3QgU3RyaW5nJiwgRXhjZXB0aW9uQ29kZSYpOwogI2VuZGlmCiAK
KyAgICB2b2lkIHNpbXVsYXRlU3lzdGVtU2xlZXAoKSBjb25zdDsKKyAgICB2b2lkIHNpbXVsYXRl
U3lzdGVtV2FrZSgpIGNvbnN0OworCiBwcml2YXRlOgogICAgIGV4cGxpY2l0IEludGVybmFscyhE
b2N1bWVudCopOwogICAgIERvY3VtZW50KiBjb250ZXh0RG9jdW1lbnQoKSBjb25zdDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAppbmRleCA0Mzk0NGRkYTQ4MGU5OTRiYTg0NDMzZjg4
NjhmOTQxMjQ2NmY4M2FjLi5jZjY1NTY0NDBhMTZmMzFjOTRlODljNzAyNDBmN2M4N2VlZTVhZjhl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCkBAIC0yODYsNCArMjg2LDcgQEAK
ICAgICBbQ29uZGl0aW9uYWw9VklERU9dIHZvaWQgYXBwbGljYXRpb25XaWxsRW50ZXJCYWNrZ3Jv
dW5kKCk7CiAgICAgW0NvbmRpdGlvbmFsPVZJREVPLCBSYWlzZXNFeGNlcHRpb25dIHZvaWQgc2V0
TWVkaWFTZXNzaW9uUmVzdHJpY3Rpb25zKERPTVN0cmluZyBtZWRpYVR5cGUsIERPTVN0cmluZyBy
ZXN0cmljdGlvbnMpOwogICAgIFtDb25kaXRpb25hbD1WSURFTywgUmFpc2VzRXhjZXB0aW9uXSB2
b2lkIHBvc3RSZW1vdGVDb250cm9sQ29tbWFuZChET01TdHJpbmcgY29tbWFuZCk7CisgICAgCisg
ICAgW0NvbmRpdGlvbmFsPVZJREVPXSB2b2lkIHNpbXVsYXRlU3lzdGVtU2xlZXAoKTsKKyAgICBb
Q29uZGl0aW9uYWw9VklERU9dIHZvaWQgc2ltdWxhdGVTeXN0ZW1XYWtlKCk7CiB9OwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IDhlYTc2YTU4NzYzODM3ZGFhZGRjMGYxYzk4NTM1YWJmMWQzMjQ0NTEuLjFiMGE1YzFmMjgzYjVj
ODIwZjI0YmZhYzI3MDI2YTEwYzdmNmY0ODIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMSBAQAorMjAxNC0w
My0yNSAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KKworICAgICAgICBbTWFjXSBQ
YXVzZSB0aGUgbWVkaWEgZWxlbWVudCBkdXJpbmcgc3lzdGVtIHNsZWVwLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMwNzE4CisKKyAgICAgICAgKiBt
ZWRpYS92aWRlby1zeXN0ZW0tc2xlZXAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBt
ZWRpYS92aWRlby1zeXN0ZW0tc2xlZXAuaHRtbDogQWRkZWQuCisKIDIwMTQtMDMtMjQgIEJyZW50
IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CiAKICAgICAgICAgUHJldmVudCAncmVtb3Zl
dHJhY2snIGV2ZW50cyBmcm9tIGZpcmluZyB3aGVuIGFsbCBpbmJhbmQgdGV4dCB0cmFja3MgYXJl
IHJlbW92ZWQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS92aWRlby1zeXN0ZW0tc2xl
ZXAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tc3lzdGVtLXNsZWVwLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mODQxZDBjMWRiZTllYWNlYWYzMWI4ZWY5MmYyZmZlMjJk
MGVkZWI3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tc3lzdGVt
LXNsZWVwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACisKK1Rlc3QgdGhhdCB2aWRlbyBl
bGVtZW50cyBwYXVzZSBkdXJpbmcgc3lzdGVtIHNsZWVwLgorCitFVkVOVChwbGF5aW5nKQorUlVO
KGludGVybmFscy5zaW11bGF0ZVN5c3RlbVNsZWVwKCkpCitFVkVOVChwYXVzZSkKK1JVTihpbnRl
cm5hbHMuc2ltdWxhdGVTeXN0ZW1XYWtlKCkpCitFVkVOVChwbGF5aW5nKQorRU5EIE9GIFRFU1QK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tc3lzdGVtLXNsZWVwLmh0bWwg
Yi9MYXlvdXRUZXN0cy9tZWRpYS92aWRlby1zeXN0ZW0tc2xlZXAuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YTQ2MTViMDlmNGJmMjY1OGIxNTdjNDYyNGE4NDMxNjNjZTEwMmI4Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tc3lzdGVtLXNsZWVwLmh0bWwKQEAgLTAsMCArMSw0
MCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9bWVkaWEtZmlsZS5qcz48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9dmlkZW8t
dGVzdC5qcz48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIGZ1bmN0aW9u
IHN0YXJ0KCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBpZiAoIXdpbmRvdy5pbnRl
cm5hbHMpCisgICAgICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgnVG8gcnVuIHRoaXMgdGVz
dCBtYW51YWxseSwgY2F1c2UgdGhlIG1hY2hpbmUgdG8gc2xlZXAgdGhlbiB3YWtlIHVwLicpOwor
CisgICAgICAgICAgICAgICAgZmluZE1lZGlhRWxlbWVudCgpOworICAgICAgICAgICAgICAgIHdh
aXRGb3JFdmVudE9uY2UoJ3BsYXlpbmcnLCBwbGF5aW5nKTsKKyAgICAgICAgICAgICAgICB2aWRl
by5zcmMgPSBmaW5kTWVkaWFGaWxlKCJ2aWRlbyIsICJjb250ZW50L3Rlc3QiKTsKKyAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gcGxheWluZygpCisgICAgICAgICAgICB7Cisg
ICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50T25jZSgncGF1c2UnLCBwYXVzZWQpOworICAgICAg
ICAgICAgICAgIHJ1bignaW50ZXJuYWxzLnNpbXVsYXRlU3lzdGVtU2xlZXAoKScpOworICAgICAg
ICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiBwYXVzZWQoKQorICAgICAgICAgICAgewor
ICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudE9uY2UoJ3BsYXlpbmcnLCByZXN1bWVkKTsKKyAg
ICAgICAgICAgICAgICBydW4oJ2ludGVybmFscy5zaW11bGF0ZVN5c3RlbVdha2UoKScpOworICAg
ICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiByZXN1bWVkKCkKKyAgICAgICAgICAg
IHsKKyAgICAgICAgICAgICAgICBlbmRUZXN0KCk7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c2NyaXB0PgorICAgIDwvaGVhZD4KKworICAgIDxib2R5IG9ubG9hZD0ic3RhcnQoKSI+CisgICAg
ICAgIDx2aWRlbyBjb250cm9scyBhdXRvcGxheT48L3ZpZGVvPgorICAgICAgICA8cD5UZXN0IHRo
YXQgdmlkZW8gZWxlbWVudHMgcGF1c2UgZHVyaW5nIHN5c3RlbSBzbGVlcC48L3A+CisgICAgPC9i
b2R5PgorPC9odG1sPgo=
</data>
<flag name="review"
          id="252011"
          type_id="1"
          status="+"
          setter="eric.carlson"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>227783</attachid>
            <date>2014-03-25 12:58:19 -0700</date>
            <delta_ts>2014-03-25 13:34:03 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-130718-20140325125758.patch</filename>
            <type>text/plain</type>
            <size>29234</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY2MjM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmE2ZjhiMzBiOWU5YmUy
ZGIzY2Q2OGRiMjE4ZTdlNTgxNDUzYjNkYi4uYjM2M2NhNzI5N2Q4ZGNlM2Q5ZjE1YzhiZjlkYWVl
YTBmYjJlYmU3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDE0LTAzLTI1ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtNYWNdIFBhdXNlIHRoZSBt
ZWRpYSBlbGVtZW50IGR1cmluZyBzeXN0ZW0gc2xlZXAuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzA3MTgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBtZWRpYS92aWRlby1zeXN0ZW0tc2xlZXAu
aHRtbAorCisgICAgICAgIFJlbHlpbmcgb24gdGhlIHBsYXRmb3JtIG1lZGlhIHN5c3RlbSB0byBw
YXVzZSBhbmQgcmVzdGFydCBwbGF5YmFjayBkdXJpbmcKKyAgICAgICAgc3lzdGVtIHNsZWVwIGNh
biBjYXVzZSBwcm9ibGVtcyBvbiBzb21lIHBsYXRmb3JtcywgZXNwZWNpYWxseSB3aGVyZSBoYXJk
d2FyZQorICAgICAgICBkZWNvZGVycyBhcmUgY29uY2VybmVkLiBSYXRoZXIgdGhhbiBpbXBsaWNp
dGx5IHBhdXNpbmcgdGhlIG1lZGlhIGR1cmluZworICAgICAgICBzeXN0ZW0gc2xlZXAsIGV4cGxp
Y2l0bHkgcGF1c2UgdGhlIG1lZGlhIGJlZm9yZSBzbGVlcGluZyBhbmQgcmVzdW1lIChpZgorICAg
ICAgICBhcHByb3ByaWF0ZSkgdXBvbiB3YWtpbmcuCisKKyAgICAgICAgQWRkIGEgbmV3IGNsYXNz
IHRvIGJlIHVzZWQgZm9yIHN5c3RlbSBzbGVlcCBub3RpZmljYXRpb25zOgorICAgICAgICAqIHBs
YXRmb3JtL1N5c3RlbVNsZWVwTGlzdGVuZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OlN5c3RlbVNsZWVwTGlzdGVuZXI6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTeXN0ZW1T
bGVlcExpc3RlbmVyOjpTeXN0ZW1TbGVlcExpc3RlbmVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9T
eXN0ZW1TbGVlcExpc3RlbmVyLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6U3lzdGVtU2xl
ZXBMaXN0ZW5lcjo6Q2xpZW50Ojp+Q2xpZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlN5c3RlbVNs
ZWVwTGlzdGVuZXI6On5TeXN0ZW1TbGVlcExpc3RlbmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlN5
c3RlbVNsZWVwTGlzdGVuZXI6OmNsaWVudCk6CisKKyAgICAgICAgQWRkIGEgTWFjLXNwZWNpZmlj
IGltcGxlbWVudGF0aW9uOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9TeXN0ZW1TbGVlcExpc3Rl
bmVyTWFjLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9TeXN0ZW1TbGVlcExpc3Rl
bmVyTWFjLm1tOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlN5c3RlbVNsZWVwTGlzdGVuZXI6
OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTeXN0ZW1TbGVlcExpc3RlbmVyTWFjOjpTeXN0
ZW1TbGVlcExpc3RlbmVyTWFjKToKKyAgICAgICAgKFdlYkNvcmU6OlN5c3RlbVNsZWVwTGlzdGVu
ZXJNYWM6On5TeXN0ZW1TbGVlcExpc3RlbmVyTWFjKToKKworICAgICAgICBMaXN0ZW4gZm9yIHN5
c3RlbSBzbGVlcCBub3RpZmljYXRpb25zIGluIE1lZGlhU2Vzc2lvbk1hbmFnZXI6CisgICAgICAg
ICogcGxhdGZvcm0vYXVkaW8vTWVkaWFTZXNzaW9uTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYVNlc3Npb25NYW5hZ2VyOjpNZWRpYVNlc3Npb25NYW5hZ2VyKToKKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhU2Vzc2lvbk1hbmFnZXI6OnN5c3RlbVdpbGxTbGVlcCk6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYVNlc3Npb25NYW5hZ2VyOjpzeXN0ZW1EaWRXYWtlKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9hdWRpby9NZWRpYVNlc3Npb25NYW5hZ2VyLmg6CisKKyAgICAgICAgRHJpdmUt
YnkgZml4OyBub3RpZnkgdGhlIE1lZGlhU2Vzc2lvbiB0aGF0IHBsYXliYWNrIHdpbGwgYmVnaW4K
KyAgICAgICAgZHVlIHRvIGF1dG9wbGF5LCBidXQgZG8gbm90IGJlZ2luIGF1dG9wbGF5aW5nIGlm
IHRoZSBzZXNzaW9uCisgICAgICAgIGlzIGFscmVhZHkgaW50ZXJydXB0ZWQ6CisgICAgICAgICog
aHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVs
ZW1lbnQ6OnBhcnNlQXR0cmlidXRlKToKKworICAgICAgICBBZGQgbmV3IGZpbGVzIHRvIHByb2pl
Y3Q6CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvajoKKyAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogQ01ha2VMaXN0
cy50eHQ6CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKwogMjAxNC0wMy0yNCAgQnJl
bnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBQcmV2ZW50ICdyZW1v
dmV0cmFjaycgZXZlbnRzIGZyb20gZmlyaW5nIHdoZW4gYWxsIGluYmFuZCB0ZXh0IHRyYWNrcyBh
cmUgcmVtb3ZlZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIv
U291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggZTNlMTBkYzc4MTJmM2ZmZDJiNWQw
NDEyYmJjOGFhZjBhM2IwZTNlZS4uZWIxOGIwYjJmOGJjMzlkYWMyZTNlNWM0NjE0ODI0NWFiNjFj
OGE0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTE4MDcsNiArMTgwNyw3IEBAIHNldChXZWJD
b3JlX1NPVVJDRVMKICAgICBwbGF0Zm9ybS9QbGF0Zm9ybUV2ZW50LmNwcAogICAgIHBsYXRmb3Jt
L1BsYXRmb3JtU3RyYXRlZ2llcy5jcHAKICAgICBwbGF0Zm9ybS9SZW1vdGVDb21tYW5kTGlzdGVu
ZXIuY3BwCisgICAgcGxhdGZvcm0vU3lzdGVtU2xlZXBMaXN0ZW5lci5jcHAKICAgICBwbGF0Zm9y
bS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuY3BwCiAgICAgcGxhdGZvcm0vU2NoZW1lUmVnaXN0
cnkuY3BwCiAgICAgcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZp
bGUubGlzdC5hbQppbmRleCBiNzEyNmJkMjQ0ZmNlNTk2ZjE4MGVjZWQ1YzZhMWNlN2YwZDgzNTBk
Li4zN2U0NDdmMWRmMTNkYmVkNzE0YjMxYWY0ZDczODNjNjI5OGMxNGQ2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dO
VW1ha2VmaWxlLmxpc3QuYW0KQEAgLTU1MTIsNiArNTUxMiw4IEBAIHdlYmNvcmVfcGxhdGZvcm1f
c291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuaCBc
CiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3JOb25lLmNwcCBcCiAJU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3JOb25lLmggXAorCVNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1N5c3RlbVNsZWVwTGlzdGVuZXIuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9TeXN0ZW1TbGVlcExpc3RlbmVyLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1RocmVhZEdsb2JhbERhdGEuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRH
bG9iYWxEYXRhLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1VzZXJBY3Rpdml0eS5jcHAg
XApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4
cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKaW5k
ZXggZDAxYmQwOTdjNGY3MjdiNDE4MGQxNTJjNzBjYzM3YTE0MmRmYTBmZi4uOGEwNGMxOTAxY2Vl
YzNjNTBkNTc1ZDhhNjRmNjI3Yzg1YmVlNzhlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCkBAIC03NjIxLDYgKzc2MjEsNyBAQAogICAgIDxD
bENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cU2Nyb2xsVmlldy5jcHAiIC8+CiAgICAgPENs
Q29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxTaGFyZWRCdWZmZXIuY3BwIiAvPgogICAgIDxD
bENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cU2hhcmVkQnVmZmVyQ2h1bmtSZWFkZXIuY3Bw
IiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cU3lzdGVtU2xlZXBMaXN0
ZW5lci5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxUaHJlYWRH
bG9iYWxEYXRhLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXFRo
cmVhZFRpbWVycy5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxU
aW1lci5jcHAiIC8+CkBAIC0xOTI1MSw2ICsxOTI1Miw3IEBACiAgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxwbGF0Zm9ybVxTb3VuZC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
cGxhdGZvcm1cU1NMS2V5R2VuZXJhdG9yLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxwbGF0Zm9ybVxTdWRkZW5UZXJtaW5hdGlvbi5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5ccGxhdGZvcm1cU3lzdGVtU2xlZXBMaXN0ZW5lci5oIiAvPgogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5ccGxhdGZvcm1cVGhlbWVUeXBlcy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5ccGxhdGZvcm1cVGhyZWFkR2xvYmFsRGF0YS5oIiAvPgogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5ccGxhdGZvcm1cVGhyZWFkVGltZXJzLmgiIC8+CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNzc1Y2FkY2Y3ZmE5
MDIxMTU3NTY1MjFjZTBkYWMyOTNiYjg0ZGMzNS4uZGRmOTI2NDgwNWM4ZDE4N2NlNTRlZDg5MWZm
YTRiOTA4OTQ5MDQ3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagpAQCAtNTU2MSw2ICs1NTYxLDEwIEBACiAJCUNEOURFMTdEMTdBQUM3
NUIwMEVBMzg2RCAvKiBKU1NvdXJjZUJ1ZmZlckxpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEOURFMTc5MTdBQUM3NUIwMEVBMzg2RCAvKiBKU1Nv
dXJjZUJ1ZmZlckxpc3QuaCAqLzsgfTsKIAkJQ0Q5REUxODExN0FBRDZBNDAwRUEzODZEIC8qIERP
TVVSTE1lZGlhU291cmNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IENEOURFMTdFMTdBQUQ2NEUwMEVBMzg2RCAvKiBET01VUkxNZWRpYVNvdXJjZS5j
cHAgKi87IH07CiAJCUNEOURFMTgyMTdBQUQ2QTQwMEVBMzg2RCAvKiBET01VUkxNZWRpYVNvdXJj
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q5REUx
N0YxN0FBRDY0RTAwRUEzODZEIC8qIERPTVVSTE1lZGlhU291cmNlLmggKi87IH07CisJCUNEQTA3
RkJEMThFMEExNkEwMDQ2OTlGQSAvKiBTeXN0ZW1TbGVlcExpc3RlbmVyLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEQTA3RkJCMThFMEExNkEwMDQ2
OTlGQSAvKiBTeXN0ZW1TbGVlcExpc3RlbmVyLmNwcCAqLzsgfTsKKwkJQ0RBMDdGQkUxOEUwQTE2
QTAwNDY5OUZBIC8qIFN5c3RlbVNsZWVwTGlzdGVuZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEQTA3RkJDMThFMEExNkEwMDQ2OTlGQSAvKiBTeXN0
ZW1TbGVlcExpc3RlbmVyLmggKi87IH07CisJCUNEQTA3RkMxMThFMEEyMkIwMDQ2OTlGQSAvKiBT
eXN0ZW1TbGVlcExpc3RlbmVyTWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQ0RBMDdGQkYxOEUwQTIyQjAwNDY5OUZBIC8qIFN5c3RlbVNsZWVwTGlz
dGVuZXJNYWMubW0gKi87IH07CisJCUNEQTA3RkMyMThFMEEyMkIwMDQ2OTlGQSAvKiBTeXN0ZW1T
bGVlcExpc3RlbmVyTWFjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBDREEwN0ZDMDE4RTBBMjJCMDA0Njk5RkEgLyogU3lzdGVtU2xlZXBMaXN0ZW5lck1h
Yy5oICovOyB9OwogCQlDREE3OTgyNDE3MEEyNTgzMDBENDVDNTUgLyogQXVkaW9TZXNzaW9uLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEQTc5ODIz
MTcwQTI1ODMwMEQ0NUM1NSAvKiBBdWRpb1Nlc3Npb24uY3BwICovOyB9OwogCQlDREE3OTgyNzE3
MEEyNzkxMDBENDVDNTUgLyogQXVkaW9TZXNzaW9uSU9TLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RBNzk4MjUxNzBBMjc5MDAwRDQ1QzU1IC8qIEF1
ZGlvU2Vzc2lvbklPUy5tbSAqLzsgfTsKIAkJQ0RBNzk4MkExNzBBM0QwMDAwRDQ1QzU1IC8qIEF1
ZGlvU2Vzc2lvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQ0RBNzk4MjExNzBBMjJEQzAwRDQ1QzU1IC8qIEF1ZGlvU2Vzc2lvbi5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xMjg3NCw2ICsxMjg3OCwx
MCBAQAogCQlDRDlERTE3RTE3QUFENjRFMDBFQTM4NkQgLyogRE9NVVJMTWVkaWFTb3VyY2UuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gRE9NVVJMTWVkaWFTb3VyY2UuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlDRDlERTE3RjE3QUFENjRFMDBFQTM4NkQgLyogRE9NVVJMTWVkaWFT
b3VyY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NVVJMTWVkaWFTb3VyY2UuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQ0Q5REUxODAxN0FBRDY0RTAwRUEzODZEIC8qIERPTVVSTE1lZGlh
U291cmNlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQ7IHBhdGggPSBET01VUkxNZWRpYVNvdXJjZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUNEQTA3RkJCMThFMEExNkEwMDQ2OTlGQSAvKiBTeXN0ZW1TbGVlcExpc3Rl
bmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN5c3RlbVNsZWVw
TGlzdGVuZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDREEwN0ZCQzE4RTBB
MTZBMDA0Njk5RkEgLyogU3lzdGVtU2xlZXBMaXN0ZW5lci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBTeXN0ZW1TbGVlcExpc3RlbmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUNEQTA3RkJGMThFMEEyMkIwMDQ2OTlGQSAvKiBTeXN0ZW1TbGVlcExpc3RlbmVy
TWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU3lzdGVtU2xl
ZXBMaXN0ZW5lck1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0RBMDdGQzAx
OEUwQTIyQjAwNDY5OUZBIC8qIFN5c3RlbVNsZWVwTGlzdGVuZXJNYWMuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gU3lzdGVtU2xlZXBMaXN0ZW5lck1hYy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlDREE3OTgyMTE3MEEyMkRDMDBENDVDNTUgLyogQXVkaW9TZXNz
aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEF1ZGlvU2Vzc2lvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlDREE3OTgyMjE3MEEyNEY0MDBENDVDNTUgLyogQXVkaW9TZXNzaW9uTGlzdGVu
ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gQXVkaW9TZXNzaW9uTGlzdGVuZXIuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQ0RBNzk4MjMxNzBBMjU4MzAwRDQ1QzU1IC8qIEF1ZGlvU2Vzc2lv
bi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBdWRpb1Nlc3Npb24u
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTYxMjQsNiArMTYxMzIsOCBAQAog
CQkJCTRCMzA0M0M4MEFFMDM3MUQwMEE4MjY0NyAvKiBTb3VuZE1hYy5tbSAqLywKIAkJCQk4NEIy
QjI0RjA1NkJGMTVGMDBEMkI3NzEgLyogU1NMS2V5R2VuZXJhdG9yTWFjLmNwcCAqLywKIAkJCQk5
M0IyRDgxNzBGOTkyMEVFMDA2QUU2QjIgLyogU3VkZGVuVGVybWluYXRpb24ubW0gKi8sCisJCQkJ
Q0RBMDdGQkYxOEUwQTIyQjAwNDY5OUZBIC8qIFN5c3RlbVNsZWVwTGlzdGVuZXJNYWMubW0gKi8s
CisJCQkJQ0RBMDdGQzAxOEUwQTIyQjAwNDY5OUZBIC8qIFN5c3RlbVNsZWVwTGlzdGVuZXJNYWMu
aCAqLywKIAkJCQk1REE5N0VDQjE2OEU3ODdCMDAwRTM2NzYgLyogU3lzdGVtVmVyc2lvbk1hYy5o
ICovLAogCQkJCTVEQTk3RUNDMTY4RTc4N0IwMDBFMzY3NiAvKiBTeXN0ZW1WZXJzaW9uTWFjLm1t
ICovLAogCQkJCUJDRTY1OUU1MEVBOTJGQjIwMDdFNDUzMyAvKiBUaGVtZU1hYy5oICovLApAQCAt
MjEwNDcsNiArMjEwNTcsOCBAQAogCQkJCUUxRTFCRUZGMTE1RkY2RkIwMDZGNTJDQSAvKiBXaW5k
b3dzS2V5Ym9hcmRDb2Rlcy5oICovLAogCQkJCUNERkMzNjAzMThDQTYxQzIwMDI2RTU2RiAvKiBS
ZW1vdGVDb21tYW5kTGlzdGVuZXIuY3BwICovLAogCQkJCUNERkMzNjA0MThDQTYxQzIwMDI2RTU2
RiAvKiBSZW1vdGVDb21tYW5kTGlzdGVuZXIuaCAqLywKKwkJCQlDREEwN0ZCQjE4RTBBMTZBMDA0
Njk5RkEgLyogU3lzdGVtU2xlZXBMaXN0ZW5lci5jcHAgKi8sCisJCQkJQ0RBMDdGQkMxOEUwQTE2
QTAwNDY5OUZBIC8qIFN5c3RlbVNsZWVwTGlzdGVuZXIuaCAqLywKIAkJCSk7CiAJCQlwYXRoID0g
cGxhdGZvcm07CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMjM1MTQsNiArMjM1MjYs
NyBAQAogCQkJCTg1RTcxMUI5MEFDNUQ1MzUwMDUzMjcwRiAvKiBET01IVE1MTWFwRWxlbWVudElu
dGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzUxNTc5RjBDMDNCQkQzMDA4QkIwRUUgLyog
RE9NSFRNTE1hcnF1ZWVFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzUxNTZFQTBDMDNC
NzQxMDA4QkIwRUUgLyogRE9NSFRNTE1hcnF1ZWVFbGVtZW50SW50ZXJuYWwuaCBpbiBIZWFkZXJz
ICovLAorCQkJCUNEQTA3RkJFMThFMEExNkEwMDQ2OTlGQSAvKiBTeXN0ZW1TbGVlcExpc3RlbmVy
LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NUJBNEQxMzBBQTY4ODY4MDA4ODA1MkQgLyogRE9NSFRN
TE1lbnVFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NUU3MTFCQTBBQzVENTM1MDA1MzI3
MEYgLyogRE9NSFRNTE1lbnVFbGVtZW50SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTg1
OUE5QzREMEFBNUUzQkQwMEI2OTRCMiAvKiBET01IVE1MTWV0YUVsZW1lbnQuaCBpbiBIZWFkZXJz
ICovLApAQCAtMjU5MDksNiArMjU5MjIsNyBAQAogCQkJCTFDMThEQTU5MTgxQUY2QTUwMEM0RUYy
MiAvKiBUZXh0UGFpbnRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTRDOTFBMEUxODAyMzQzMTAw
QTE3RjZEIC8qIFRleHRQYWludFN0eWxlLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzBGQzY4QTEw
NzJCOTI4MDA0NTI5M0UgLyogVGV4dFJlbmRlcmluZ01vZGUuaCBpbiBIZWFkZXJzICovLAorCQkJ
CUNEQTA3RkMyMThFMEEyMkIwMDQ2OTlGQSAvKiBTeXN0ZW1TbGVlcExpc3RlbmVyTWFjLmggaW4g
SGVhZGVycyAqLywKIAkJCQk5M0YxOThGNjA4MjQ1RTU5MDAxRTlBQkMgLyogVGV4dFJlc291cmNl
RGVjb2Rlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTgyNEI0NjUwRTJFRjJFQTAwODFBN0I3IC8q
IFRleHRSdW4uaCBpbiBIZWFkZXJzICovLAogCQkJCTQ0OEIxQjdBMEYzQTJGOUIwMDQ3QTlFMiAv
KiBUZXh0U2l6ZUFkanVzdG1lbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMjgyMzIsNiArMjgyNDYs
NyBAQAogCQkJCTMxNjExRTVBMEUxQzRERTAwMEY2QTU3OSAvKiBKU1dlYktpdENTU1RyYW5zZm9y
bVZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTNGMkIzM0VFMTY1QUYxNTYwMEUzOTg3QyAv
KiBKU1dlYktpdENTU1ZpZXdwb3J0UnVsZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlENzYxM0FD
NDE0NzUzRTU2MDBEQjg2MDYgLyogSlNXZWJLaXROYW1lZEZsb3cuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJQ0RBMDdGQzExOEUwQTIyQjAwNDY5OUZBIC8qIFN5c3RlbVNsZWVwTGlzdGVuZXJNYWMu
bW0gaW4gU291cmNlcyAqLywKIAkJCQkwRkRBN0MyNjE4ODMzMzMyMDBDOTU0QjUgLyogSlNXZWJL
aXRQbGF5YmFja1RhcmdldEF2YWlsYWJpbGl0eUV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTQ5NEJENzlEMEY1NUM5NEMwMDc0NzgyOCAvKiBKU1dlYktpdFBvaW50LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUJDMjc1Qjc5MTFDNUQxQzMwMEM5MjA2QyAvKiBKU1dlYktpdFBvaW50Q3VzdG9t
LmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjkwNTgsNiArMjkwNzMsNyBAQAogCQkJCUIyMjI3QTMy
MEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdMZW5ndGguY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNzEz
NDQ5NkQxNDY5NDFCMzAwNzIwMzEyIC8qIFNWR0xlbmd0aENvbnRleHQuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQjIyMjdBMzUwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR0xlbmd0aExpc3QuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJQ0RBMDdGQkQxOEUwQTE2QTAwNDY5OUZBIC8qIFN5c3RlbVNsZWVw
TGlzdGVuZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjIyMjdBMzgwRDAwQkYyMjAwNzFCNzgy
IC8qIFNWR0xpbmVhckdyYWRpZW50RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCMjIy
N0EzQjBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHTGluZUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQjIyMjdBNDAwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR0xvY2F0YWJsZS5jcHAgaW4gU291
cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IDhi
YzRkM2QzNTg4YTc1MGQ0ODI4NTcyMjQzMWQzNWVkMGMwZDQ3OGMuLjQxMWIyNzVhMWNiZmU0NmU4
MzA4Yzk5YmViNjMxNjNlYjk2ZDBiOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE1lZGlhRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFF
bGVtZW50LmNwcApAQCAtNDQzMiw2ICs0NDMyLDggQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojp1
cGRhdGVQbGF5U3RhdGUoKQogICAgICAgICBpbnZhbGlkYXRlQ2FjaGVkVGltZSgpOwogCiAgICAg
ICAgIGlmIChwbGF5ZXJQYXVzZWQpIHsKKyAgICAgICAgICAgIG1fbWVkaWFTZXNzaW9uLT5jbGll
bnRXaWxsQmVnaW5QbGF5YmFjaygpOworCiAgICAgICAgICAgICBpZiAobV9tZWRpYVNlc3Npb24t
PnJlcXVpcmVzRnVsbHNjcmVlbkZvclZpZGVvUGxheWJhY2soKnRoaXMpICYmICFpc0Z1bGxzY3Jl
ZW4oKSkKICAgICAgICAgICAgICAgICBlbnRlckZ1bGxzY3JlZW4oKTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU3lzdGVtU2xlZXBMaXN0ZW5lci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9TeXN0ZW1TbGVlcExpc3RlbmVyLmNwcApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYjY5
ZmI1NGZmNzQ1YmM4ZTkyMGU2N2ZiZjE1NDdiM2NmNmM0OTM5Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU3lzdGVtU2xlZXBMaXN0ZW5lci5jcHAKQEAgLTAsMCAr
MSw0MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJTeXN0
ZW1TbGVlcExpc3RlbmVyLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworI2lmICFQTEFURk9S
TShNQUMpCitzdGQ6OnVuaXF1ZV9wdHI8U3lzdGVtU2xlZXBMaXN0ZW5lcj4gU3lzdGVtU2xlZXBM
aXN0ZW5lcjo6Y3JlYXRlKENsaWVudCYgY2xpZW50KQoreworICAgIHJldHVybiBzdGQ6OnVuaXF1
ZV9wdHI8U3lzdGVtU2xlZXBMaXN0ZW5lcj4obmV3IFN5c3RlbVNsZWVwTGlzdGVuZXIoY2xpZW50
KSk7Cit9CisjZW5kaWYKKworU3lzdGVtU2xlZXBMaXN0ZW5lcjo6U3lzdGVtU2xlZXBMaXN0ZW5l
cihDbGllbnQmIGNsaWVudCkKKyAgICA6IG1fY2xpZW50KGNsaWVudCkKK3sKK30KKworfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU3lzdGVtU2xlZXBMaXN0ZW5lci5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU3lzdGVtU2xlZXBMaXN0ZW5lci5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjM5MzI0YmU4NGYzZmQwMmVjNGI0YWM1MGI1MDY4MWRmMGE1MGQ0YjAKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TeXN0ZW1TbGVlcExpc3RlbmVyLmgKQEAgLTAs
MCArMSw1NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgU3lzdGVtU2xlZXBMaXN0ZW5lcl9oCisj
ZGVmaW5lIFN5c3RlbVNsZWVwTGlzdGVuZXJfaAorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2Ns
YXNzIFN5c3RlbVNsZWVwTGlzdGVuZXIgeworcHVibGljOgorICAgIGNsYXNzIENsaWVudCB7Cisg
ICAgcHVibGljOgorICAgICAgICB2aXJ0dWFsIH5DbGllbnQoKSB7IH0KKyAgICAgICAgdmlydHVh
bCB2b2lkIHN5c3RlbVdpbGxTbGVlcCgpID0gMDsKKyAgICAgICAgdmlydHVhbCB2b2lkIHN5c3Rl
bURpZFdha2UoKSA9IDA7CisgICAgfTsKKworICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8U3lz
dGVtU2xlZXBMaXN0ZW5lcj4gY3JlYXRlKENsaWVudCYpOworICAgIHZpcnR1YWwgflN5c3RlbVNs
ZWVwTGlzdGVuZXIoKSB7IH0KKworICAgIENsaWVudCYgY2xpZW50KCkgeyByZXR1cm4gbV9jbGll
bnQ7IH0KKworcHJvdGVjdGVkOgorICAgIFN5c3RlbVNsZWVwTGlzdGVuZXIoQ2xpZW50Jik7Cisg
ICAgCisgICAgQ2xpZW50JiBtX2NsaWVudDsKK307CisKK30KKworCisjZW5kaWYgLy8gU3lzdGVt
U2xlZXBMaXN0ZW5lcl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9NZWRpYVNlc3Npb25NYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L01lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCmluZGV4IDg1OTk2NWZjM2I2NTRkOWRkYTEyYzU5NGVi
ZmY5Y2RlMzZlNzQ2NWQuLjEzOTM0OGZiNTQ0YzQwNTY3NzNmNWY4MWMzZDA1NWU0MjhjMmQ5YTMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL01lZGlhU2Vzc2lvbk1h
bmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL01lZGlhU2Vzc2lv
bk1hbmFnZXIuY3BwCkBAIC00Miw3ICs0Miw4IEBAIE1lZGlhU2Vzc2lvbk1hbmFnZXImIE1lZGlh
U2Vzc2lvbk1hbmFnZXI6OnNoYXJlZE1hbmFnZXIoKQogI2VuZGlmCiAKIE1lZGlhU2Vzc2lvbk1h
bmFnZXI6Ok1lZGlhU2Vzc2lvbk1hbmFnZXIoKQotICAgIDogbV9pbnRlcnJ1cHRlZChmYWxzZSkK
KyAgICA6IG1fc3lzdGVtU2xlZXBMaXN0ZW5lcihTeXN0ZW1TbGVlcExpc3RlbmVyOjpjcmVhdGUo
KnRoaXMpKQorICAgICwgbV9pbnRlcnJ1cHRlZChmYWxzZSkKIHsKICAgICByZXNldFJlc3RyaWN0
aW9ucygpOwogfQpAQCAtMzAxLDYgKzMwMiwyNCBAQCB2b2lkIE1lZGlhU2Vzc2lvbk1hbmFnZXI6
OnJlbW92ZUNsaWVudChNZWRpYVNlc3Npb25NYW5hZ2VyQ2xpZW50KiBjbGllbnQpCiAgICAgbV9j
bGllbnRzLnJlbW92ZShtX2NsaWVudHMuZmluZChjbGllbnQpKTsKIH0KIAordm9pZCBNZWRpYVNl
c3Npb25NYW5hZ2VyOjpzeXN0ZW1XaWxsU2xlZXAoKQoreworICAgIGlmIChtX2ludGVycnVwdGVk
KQorICAgICAgICByZXR1cm47CisKKyAgICBmb3IgKGF1dG8gc2Vzc2lvbiA6IG1fc2Vzc2lvbnMp
CisgICAgICAgIHNlc3Npb24tPmJlZ2luSW50ZXJydXB0aW9uKCk7Cit9CisKK3ZvaWQgTWVkaWFT
ZXNzaW9uTWFuYWdlcjo6c3lzdGVtRGlkV2FrZSgpCit7CisgICAgaWYgKG1faW50ZXJydXB0ZWQp
CisgICAgICAgIHJldHVybjsKKworICAgIGZvciAoYXV0byBzZXNzaW9uIDogbV9zZXNzaW9ucykK
KyAgICAgICAgc2Vzc2lvbi0+ZW5kSW50ZXJydXB0aW9uKE1lZGlhU2Vzc2lvbjo6TWF5UmVzdW1l
UGxheWluZyk7Cit9CisKIH0KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9NZWRpYVNlc3Npb25NYW5hZ2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9NZWRpYVNlc3Npb25NYW5hZ2VyLmgKaW5kZXggN2M2ZWFmYTdhNmNlZjdjYmI5
Y2EzMDIzNDQwZGFjOGY0NGU5YmU3OS4uMzhkY2YzYzcxYmQzOGJmYzkyMzM0NThhOGQzOGY5N2Uy
NDNiZDI3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vTWVkaWFT
ZXNzaW9uTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL01lZGlh
U2Vzc2lvbk1hbmFnZXIuaApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIk1lZGlhU2Vzc2lv
bi5oIgogI2luY2x1ZGUgIlJlbW90ZUNvbW1hbmRMaXN0ZW5lci5oIgogI2luY2x1ZGUgIlNldHRp
bmdzLmgiCisjaW5jbHVkZSAiU3lzdGVtU2xlZXBMaXN0ZW5lci5oIgogI2luY2x1ZGUgPG1hcD4K
ICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTUxLDcgKzUyLDcgQEAgcHJvdGVjdGVkOgog
ICAgIE1lZGlhU2Vzc2lvbk1hbmFnZXJDbGllbnQoKSB7IH0KIH07CiAKLWNsYXNzIE1lZGlhU2Vz
c2lvbk1hbmFnZXIgOiBSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGllbnQgeworY2xhc3MgTWVkaWFT
ZXNzaW9uTWFuYWdlciA6IFJlbW90ZUNvbW1hbmRMaXN0ZW5lckNsaWVudCwgU3lzdGVtU2xlZXBM
aXN0ZW5lcjo6Q2xpZW50IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgTWVkaWFTZXNzaW9uTWFuYWdl
ciYgc2hhcmVkTWFuYWdlcigpOwogICAgIHZpcnR1YWwgfk1lZGlhU2Vzc2lvbk1hbmFnZXIoKSB7
IH0KQEAgLTEwNSwxMyArMTA2LDE5IEBAIHByb3RlY3RlZDoKICAgICBNZWRpYVNlc3Npb24qIGN1
cnJlbnRTZXNzaW9uKCk7CiAgICAgCiBwcml2YXRlOgorICAgIGZyaWVuZCBjbGFzcyBJbnRlcm5h
bHM7CisKICAgICB2b2lkIHVwZGF0ZVNlc3Npb25TdGF0ZSgpOwogCisgICAgdmlydHVhbCB2b2lk
IHN5c3RlbVdpbGxTbGVlcCgpOworICAgIHZpcnR1YWwgdm9pZCBzeXN0ZW1EaWRXYWtlKCk7CisK
ICAgICBTZXNzaW9uUmVzdHJpY3Rpb25zIG1fcmVzdHJpY3Rpb25zW01lZGlhU2Vzc2lvbjo6V2Vi
QXVkaW8gKyAxXTsKIAogICAgIFZlY3RvcjxNZWRpYVNlc3Npb24qPiBtX3Nlc3Npb25zOwogICAg
IFZlY3RvcjxNZWRpYVNlc3Npb25NYW5hZ2VyQ2xpZW50Kj4gbV9jbGllbnRzOwogICAgIHN0ZDo6
dW5pcXVlX3B0cjxSZW1vdGVDb21tYW5kTGlzdGVuZXI+IG1fcmVtb3RlQ29tbWFuZExpc3RlbmVy
OworICAgIHN0ZDo6dW5pcXVlX3B0cjxTeXN0ZW1TbGVlcExpc3RlbmVyPiBtX3N5c3RlbVNsZWVw
TGlzdGVuZXI7CiAgICAgYm9vbCBtX2ludGVycnVwdGVkOwogfTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1N5c3RlbVNsZWVwTGlzdGVuZXJNYWMuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TeXN0ZW1TbGVlcExpc3RlbmVyTWFjLmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYjRlN2RkNDc3Yzk4YTdmMjkyZDdlODI0ZDM2YWFlOTI5ZmJmZjdlNAotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TeXN0ZW1TbGVlcExpc3RlbmVyTWFj
LmgKQEAgLTAsMCArMSw1MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgU3lzdGVtU2xlZXBMaXN0
ZW5lck1hY19oCisjZGVmaW5lIFN5c3RlbVNsZWVwTGlzdGVuZXJNYWNfaAorCisjaWYgUExBVEZP
Uk0oTUFDKQorCisjaW5jbHVkZSAiU3lzdGVtU2xlZXBMaXN0ZW5lci5oIgorCisjaW5jbHVkZSA8
d3RmL1dlYWtQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBTeXN0ZW1TbGVl
cExpc3RlbmVyTWFjIDogcHVibGljIFN5c3RlbVNsZWVwTGlzdGVuZXIgeworcHJvdGVjdGVkOgor
ICAgIFN5c3RlbVNsZWVwTGlzdGVuZXJNYWMoQ2xpZW50Jik7CisgICAgdmlydHVhbCB+U3lzdGVt
U2xlZXBMaXN0ZW5lck1hYygpOworCisgICAgZnJpZW5kIHN0ZDo6dW5pcXVlX3B0cjxTeXN0ZW1T
bGVlcExpc3RlbmVyPiBTeXN0ZW1TbGVlcExpc3RlbmVyOjpjcmVhdGUoQ2xpZW50Jik7CisKKyAg
ICBXZWFrUHRyRmFjdG9yeTxTeXN0ZW1TbGVlcExpc3RlbmVyTWFjPiBtX3dlYWtQdHJGYWN0b3J5
OworICAgIGlkIG1fc2xlZXBPYnNlcnZlcjsKKyAgICBpZCBtX3dha2VPYnNlcnZlcjsKK307CisK
K30KKworI2VuZGlmIC8vIFBMQVRGT1JNKE1BQykKKworI2VuZGlmIC8vIFN5c3RlbVNsZWVwTGlz
dGVuZXJNYWNfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1N5c3Rl
bVNsZWVwTGlzdGVuZXJNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU3lzdGVt
U2xlZXBMaXN0ZW5lck1hYy5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iZTA4YTAzMDhjMmYxMWY0YzZlZGEzNmVm
MDMxODM4MDMxOGZhZjM2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL1N5c3RlbVNsZWVwTGlzdGVuZXJNYWMubW0KQEAgLTAsMCArMSw3NSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorI2ltcG9ydCAiU3lzdGVtU2xlZXBMaXN0ZW5lck1h
Yy5oIgorCisjaWYgUExBVEZPUk0oTUFDKQorCisjaW1wb3J0IDx3dGYvTWFpblRocmVhZC5oPgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0ZDo6dW5pcXVlX3B0cjxTeXN0ZW1TbGVlcExpc3Rl
bmVyPiBTeXN0ZW1TbGVlcExpc3RlbmVyOjpjcmVhdGUoQ2xpZW50JiBjbGllbnQpCit7CisgICAg
cmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxTeXN0ZW1TbGVlcExpc3RlbmVyPihuZXcgU3lzdGVtU2xl
ZXBMaXN0ZW5lck1hYyhjbGllbnQpKTsKK30KKworU3lzdGVtU2xlZXBMaXN0ZW5lck1hYzo6U3lz
dGVtU2xlZXBMaXN0ZW5lck1hYyhDbGllbnQmIGNsaWVudCkKKyAgICA6IFN5c3RlbVNsZWVwTGlz
dGVuZXIoY2xpZW50KQorICAgICwgbV93ZWFrUHRyRmFjdG9yeSh0aGlzKQorICAgICwgbV9zbGVl
cE9ic2VydmVyKG5pbCkKKyAgICAsIG1fd2FrZU9ic2VydmVyKG5pbCkKK3sKKyAgICBOU05vdGlm
aWNhdGlvbkNlbnRlciAqY2VudGVyID0gW1tOU1dvcmtzcGFjZSBzaGFyZWRXb3Jrc3BhY2VdIG5v
dGlmaWNhdGlvbkNlbnRlcl07CisgICAgTlNPcGVyYXRpb25RdWV1ZSAqcXVldWUgPSBbTlNPcGVy
YXRpb25RdWV1ZSBtYWluUXVldWVdOworCisgICAgYXV0byB3ZWFrVGhpcyA9IG1fd2Vha1B0ckZh
Y3RvcnkuY3JlYXRlV2Vha1B0cigpOworCisgICAgbV9zbGVlcE9ic2VydmVyID0gW2NlbnRlciBh
ZGRPYnNlcnZlckZvck5hbWU6TlNXb3Jrc3BhY2VXaWxsU2xlZXBOb3RpZmljYXRpb24gb2JqZWN0
Om5pbCBxdWV1ZTpxdWV1ZSB1c2luZ0Jsb2NrOl4oTlNOb3RpZmljYXRpb24gKikgeworICAgICAg
ICBjYWxsT25NYWluVGhyZWFkKFt3ZWFrVGhpc10geworICAgICAgICAgICAgaWYgKHdlYWtUaGlz
KQorICAgICAgICAgICAgICAgIHdlYWtUaGlzLT5tX2NsaWVudC5zeXN0ZW1XaWxsU2xlZXAoKTsK
KyAgICAgICAgfSk7CisgICAgfV07CisKKyAgICBtX3dha2VPYnNlcnZlciA9IFtjZW50ZXIgYWRk
T2JzZXJ2ZXJGb3JOYW1lOk5TV29ya3NwYWNlRGlkV2FrZU5vdGlmaWNhdGlvbiBvYmplY3Q6bmls
IHF1ZXVlOnF1ZXVlIHVzaW5nQmxvY2s6XihOU05vdGlmaWNhdGlvbiAqKSB7CisgICAgICAgIGNh
bGxPbk1haW5UaHJlYWQoW3dlYWtUaGlzXSB7CisgICAgICAgICAgICBpZiAod2Vha1RoaXMpCisg
ICAgICAgICAgICAgICAgd2Vha1RoaXMtPm1fY2xpZW50LnN5c3RlbURpZFdha2UoKTsKKyAgICAg
ICAgfSk7CisgICAgfV07Cit9CisKK1N5c3RlbVNsZWVwTGlzdGVuZXJNYWM6On5TeXN0ZW1TbGVl
cExpc3RlbmVyTWFjKCkKK3sKKyAgICBOU05vdGlmaWNhdGlvbkNlbnRlciogY2VudGVyID0gW1tO
U1dvcmtzcGFjZSBzaGFyZWRXb3Jrc3BhY2VdIG5vdGlmaWNhdGlvbkNlbnRlcl07CisgICAgW2Nl
bnRlciByZW1vdmVPYnNlcnZlcjptX3NsZWVwT2JzZXJ2ZXJdOworICAgIFtjZW50ZXIgcmVtb3Zl
T2JzZXJ2ZXI6bV93YWtlT2JzZXJ2ZXJdOworfQorCit9CisKKyNlbmRpZiAvLyBQTEFURk9STShN
QUMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggZmNiNDFhMjI1MmQyMDYy
ZmE3ZjU5NTBlMzk0ZGMyOGNiZmY5MDBkYi4uYjkzYTcyZGIwOTVjM2UyMDllZTUxY2ZiN2Y3MDMw
OTA5NjI5ZDE0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtMjMzMyw0
ICsyMzMzLDE0IEBAIHZvaWQgSW50ZXJuYWxzOjpwb3N0UmVtb3RlQ29udHJvbENvbW1hbmQoY29u
c3QgU3RyaW5nJiBjb21tYW5kU3RyaW5nLCBFeGNlcHRpb25DCiB9CiAjZW5kaWYgLy8gRU5BQkxF
KFZJREVPKQogCit2b2lkIEludGVybmFsczo6c2ltdWxhdGVTeXN0ZW1TbGVlcCgpIGNvbnN0Cit7
CisgICAgTWVkaWFTZXNzaW9uTWFuYWdlcjo6c2hhcmVkTWFuYWdlcigpLnN5c3RlbVdpbGxTbGVl
cCgpOworfQorCit2b2lkIEludGVybmFsczo6c2ltdWxhdGVTeXN0ZW1XYWtlKCkgY29uc3QKK3sK
KyAgICBNZWRpYVNlc3Npb25NYW5hZ2VyOjpzaGFyZWRNYW5hZ2VyKCkuc3lzdGVtRGlkV2FrZSgp
OworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5o
IGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCA2NmFkZGUzYjQzYmVk
MGYwOTlmZDQ5NzI1MjU4OGIxNTY5YTljOTllLi43ZDRlOTk4NjI3MjdmOWUwMWI2MzIzMDBlOGU1
ODdmY2VkZDVhNDZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTM0MCw2ICsz
NDAsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBwb3N0UmVtb3RlQ29udHJvbENvbW1hbmQoY29uc3Qg
U3RyaW5nJiwgRXhjZXB0aW9uQ29kZSYpOwogI2VuZGlmCiAKKyAgICB2b2lkIHNpbXVsYXRlU3lz
dGVtU2xlZXAoKSBjb25zdDsKKyAgICB2b2lkIHNpbXVsYXRlU3lzdGVtV2FrZSgpIGNvbnN0Owor
CiBwcml2YXRlOgogICAgIGV4cGxpY2l0IEludGVybmFscyhEb2N1bWVudCopOwogICAgIERvY3Vt
ZW50KiBjb250ZXh0RG9jdW1lbnQoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmlkbAppbmRleCA0Mzk0NGRkYTQ4MGU5OTRiYTg0NDMzZjg4NjhmOTQxMjQ2NmY4M2FjLi5jZjY1
NTY0NDBhMTZmMzFjOTRlODljNzAyNDBmN2M4N2VlZTVhZjhlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuaWRsCkBAIC0yODYsNCArMjg2LDcgQEAKICAgICBbQ29uZGl0aW9uYWw9VklE
RU9dIHZvaWQgYXBwbGljYXRpb25XaWxsRW50ZXJCYWNrZ3JvdW5kKCk7CiAgICAgW0NvbmRpdGlv
bmFsPVZJREVPLCBSYWlzZXNFeGNlcHRpb25dIHZvaWQgc2V0TWVkaWFTZXNzaW9uUmVzdHJpY3Rp
b25zKERPTVN0cmluZyBtZWRpYVR5cGUsIERPTVN0cmluZyByZXN0cmljdGlvbnMpOwogICAgIFtD
b25kaXRpb25hbD1WSURFTywgUmFpc2VzRXhjZXB0aW9uXSB2b2lkIHBvc3RSZW1vdGVDb250cm9s
Q29tbWFuZChET01TdHJpbmcgY29tbWFuZCk7CisgICAgCisgICAgW0NvbmRpdGlvbmFsPVZJREVP
XSB2b2lkIHNpbXVsYXRlU3lzdGVtU2xlZXAoKTsKKyAgICBbQ29uZGl0aW9uYWw9VklERU9dIHZv
aWQgc2ltdWxhdGVTeXN0ZW1XYWtlKCk7CiB9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDhlYTc2YTU4NzYzODM3ZGFhZGRj
MGYxYzk4NTM1YWJmMWQzMjQ0NTEuLjFiMGE1YzFmMjgzYjVjODIwZjI0YmZhYzI3MDI2YTEwYzdm
NmY0ODIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMSBAQAorMjAxNC0wMy0yNSAgSmVyIE5vYmxlICA8amVy
Lm5vYmxlQGFwcGxlLmNvbT4KKworICAgICAgICBbTWFjXSBQYXVzZSB0aGUgbWVkaWEgZWxlbWVu
dCBkdXJpbmcgc3lzdGVtIHNsZWVwLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTMwNzE4CisKKyAgICAgICAgKiBtZWRpYS92aWRlby1zeXN0ZW0tc2xl
ZXAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBtZWRpYS92aWRlby1zeXN0ZW0tc2xl
ZXAuaHRtbDogQWRkZWQuCisKIDIwMTQtMDMtMjQgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBh
cHBsZS5jb20+CiAKICAgICAgICAgUHJldmVudCAncmVtb3ZldHJhY2snIGV2ZW50cyBmcm9tIGZp
cmluZyB3aGVuIGFsbCBpbmJhbmQgdGV4dCB0cmFja3MgYXJlIHJlbW92ZWQuCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9tZWRpYS92aWRlby1zeXN0ZW0tc2xlZXAtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvbWVkaWEvdmlkZW8tc3lzdGVtLXNsZWVwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mODQxZDBjMWRiZTllYWNlYWYzMWI4ZWY5MmYyZmZlMjJkMGVkZWI3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tc3lzdGVtLXNsZWVwLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEwIEBACisKK1Rlc3QgdGhhdCB2aWRlbyBlbGVtZW50cyBwYXVzZSBkdXJpbmcg
c3lzdGVtIHNsZWVwLgorCitFVkVOVChwbGF5aW5nKQorUlVOKGludGVybmFscy5zaW11bGF0ZVN5
c3RlbVNsZWVwKCkpCitFVkVOVChwYXVzZSkKK1JVTihpbnRlcm5hbHMuc2ltdWxhdGVTeXN0ZW1X
YWtlKCkpCitFVkVOVChwbGF5aW5nKQorRU5EIE9GIFRFU1QKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvbWVkaWEvdmlkZW8tc3lzdGVtLXNsZWVwLmh0bWwgYi9MYXlvdXRUZXN0cy9tZWRpYS92
aWRlby1zeXN0ZW0tc2xlZXAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YTQ2MTViMDlmNGJmMjY1OGIxNTdj
NDYyNGE4NDMxNjNjZTEwMmI4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEv
dmlkZW8tc3lzdGVtLXNsZWVwLmh0bWwKQEAgLTAsMCArMSw0MCBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHNjcmlwdCBzcmM9bWVkaWEtZmlsZS5qcz48
L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9dmlkZW8tdGVzdC5qcz48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIGZ1bmN0aW9uIHN0YXJ0KCkKKyAgICAgICAgICAg
IHsKKyAgICAgICAgICAgICAgICBpZiAoIXdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAg
ICAgICAgIGNvbnNvbGVXcml0ZSgnVG8gcnVuIHRoaXMgdGVzdCBtYW51YWxseSwgY2F1c2UgdGhl
IG1hY2hpbmUgdG8gc2xlZXAgdGhlbiB3YWtlIHVwLicpOworCisgICAgICAgICAgICAgICAgZmlu
ZE1lZGlhRWxlbWVudCgpOworICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudE9uY2UoJ3BsYXlp
bmcnLCBwbGF5aW5nKTsKKyAgICAgICAgICAgICAgICB2aWRlby5zcmMgPSBmaW5kTWVkaWFGaWxl
KCJ2aWRlbyIsICJjb250ZW50L3Rlc3QiKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAg
ZnVuY3Rpb24gcGxheWluZygpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgd2FpdEZv
ckV2ZW50T25jZSgncGF1c2UnLCBwYXVzZWQpOworICAgICAgICAgICAgICAgIHJ1bignaW50ZXJu
YWxzLnNpbXVsYXRlU3lzdGVtU2xlZXAoKScpOworICAgICAgICAgICAgfQorCisgICAgICAgICAg
ICBmdW5jdGlvbiBwYXVzZWQoKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHdhaXRG
b3JFdmVudE9uY2UoJ3BsYXlpbmcnLCByZXN1bWVkKTsKKyAgICAgICAgICAgICAgICBydW4oJ2lu
dGVybmFscy5zaW11bGF0ZVN5c3RlbVdha2UoKScpOworICAgICAgICAgICAgfQorCisgICAgICAg
ICAgICBmdW5jdGlvbiByZXN1bWVkKCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBl
bmRUZXN0KCk7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc2NyaXB0PgorICAgIDwvaGVhZD4K
KworICAgIDxib2R5IG9ubG9hZD0ic3RhcnQoKSI+CisgICAgICAgIDx2aWRlbyBjb250cm9scyBh
dXRvcGxheT48L3ZpZGVvPgorICAgICAgICA8cD5UZXN0IHRoYXQgdmlkZW8gZWxlbWVudHMgcGF1
c2UgZHVyaW5nIHN5c3RlbSBzbGVlcC48L3A+CisgICAgPC9ib2R5PgorPC9odG1sPgo=
</data>
<flag name="commit-queue"
          id="252025"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
      

    </bug>

</bugzilla>