<?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>195853</bug_id>
          
          <creation_ts>2019-03-16 11:13:42 -0700</creation_ts>
          <short_desc>Add experimental &quot;alphaChannel&quot; property to VideoConfiguration</short_desc>
          <delta_ts>2019-03-18 15:30:02 -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>Media</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>195843</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>jonlee</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1517440</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2019-03-16 11:13:42 -0700</bug_when>
    <thetext>Add experimental &quot;alphaChannel&quot; property to VideoConfiguration</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1517479</commentid>
    <comment_count>1</comment_count>
      <attachid>364943</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2019-03-16 14:55:48 -0700</bug_when>
    <thetext>Created attachment 364943
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1517480</commentid>
    <comment_count>2</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2019-03-16 14:56:30 -0700</bug_when>
    <thetext>&lt;rdar://problem/25834531&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1517487</commentid>
    <comment_count>3</comment_count>
      <attachid>364946</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2019-03-16 15:04:45 -0700</bug_when>
    <thetext>Created attachment 364946
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1517488</commentid>
    <comment_count>4</comment_count>
      <attachid>364947</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2019-03-16 15:59:39 -0700</bug_when>
    <thetext>Created attachment 364947
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1517492</commentid>
    <comment_count>5</comment_count>
      <attachid>364950</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2019-03-16 17:39:38 -0700</bug_when>
    <thetext>Created attachment 364950
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1517957</commentid>
    <comment_count>6</comment_count>
      <attachid>364950</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-18 15:30:01 -0700</bug_when>
    <thetext>Comment on attachment 364950
Patch

Clearing flags on attachment: 364950

Committed r243109: &lt;https://trac.webkit.org/changeset/243109&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1517958</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-18 15:30:02 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364943</attachid>
            <date>2019-03-16 14:55:48 -0700</date>
            <delta_ts>2019-03-16 15:04:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>0001-Add-experimental-alphaChannel-property-to-VideoConfi.patch</filename>
            <type>text/plain</type>
            <size>29104</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">RnJvbSBiZTk5YWEwZDhkNWIyOWI4OTY4NmIxNzk5MjUxMWQ3YzEyYzBkMDBhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKZXIgTm9ibGUgPGplci5ub2JsZUBhcHBsZS5jb20+CkRhdGU6
IFNhdCwgMTYgTWFyIDIwMTkgMTQ6NTI6MTMgLTA3MDAKU3ViamVjdDogW1BBVENIXSBBZGQgZXhw
ZXJpbWVudGFsICJhbHBoYUNoYW5uZWwiIHByb3BlcnR5IHRvCiBWaWRlb0NvbmZpZ3VyYXRpb24g
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTg1MwoKUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCgpTb3VyY2UvV2ViQ29yZToKClRlc3Q6IG1lZGlhL21lZGlhY2Fw
YWJpbGl0aWVzL21vY2stZGVjb2RpbmdJbmZvLWFscGhhQ2hhbm5lbC5odG1sCgpBZGQgYSBuZXcs
IGV4cGVyaW1lbnRhbCBhZGRpdGlvbiB0byBNZWRpYSBDYXBhYmlsaXRpZXMgdG8gYWxsb3cgcGFn
ZXMgdG8gcXVlcnkgZm9yCmFscGhhIGNoYW5uZWwgc3VwcG9ydC4KCiogTW9kdWxlcy9tZWRpYWNh
cGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5jcHA6CihXZWJDb3JlOjpNZWRpYUNhcGFiaWxp
dGllczo6ZGVjb2RpbmdJbmZvKToKKiBNb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2Fw
YWJpbGl0aWVzLmg6CiogTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGll
cy5pZGw6CiogTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9WaWRlb0NvbmZpZ3VyYXRpb24uaWRs
OgoqIFNvdXJjZXNDb2NvYS50eHQ6CiogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
OgoqIHBsYXRmb3JtL2NvY29hL1ZpZGVvVG9vbGJveFNvZnRMaW5rLmNwcDoKKiBwbGF0Zm9ybS9j
b2NvYS9WaWRlb1Rvb2xib3hTb2Z0TGluay5oOgoqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0hF
VkNVdGlsaXRpZXNDb2NvYS5oOgoqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0hFVkNVdGlsaXRp
ZXNDb2NvYS5tbTogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NvY29hL0hFVkNVdGlsaXRpZXNDb2NvYS5jcHAuCihXZWJDb3JlOjp2YWxpZGF0ZUhFVkNQYXJh
bWV0ZXJzKToKKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9NZWRpYUVuZ2luZUNvbmZpZ3VyYXRp
b25GYWN0b3J5Q29jb2EuY3BwOgooV2ViQ29yZTo6Y3JlYXRlTWVkaWFQbGF5ZXJEZWNvZGluZ0Nv
bmZpZ3VyYXRpb25Db2NvYSk6CiogcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvVmlkZW9Db25m
aWd1cmF0aW9uLmg6CiogcGxhdGZvcm0vbW9jay9NZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0
b3J5TW9jay5jcHA6CihXZWJDb3JlOjpjYW5EZWNvZGVNZWRpYSk6CihXZWJDb3JlOjpjYW5FbmNv
ZGVNZWRpYSk6CgpMYXlvdXRUZXN0czoKCiogbWVkaWEvbWVkaWFjYXBhYmlsaXRpZXMvbW9jay1k
ZWNvZGluZ0luZm8tYWxwaGFDaGFubmVsLWV4cGVjdGVkLnR4dDogQWRkZWQuCiogbWVkaWEvbWVk
aWFjYXBhYmlsaXRpZXMvbW9jay1kZWNvZGluZ0luZm8tYWxwaGFDaGFubmVsLmh0bWw6IEFkZGVk
LgotLS0KIExheW91dFRlc3RzL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICB8IDEw
ICsrKysKIC4uLm9jay1kZWNvZGluZ0luZm8tYWxwaGFDaGFubmVsLWV4cGVjdGVkLnR4dCB8IDI0
ICsrKysrKysrKwogLi4uL21vY2stZGVjb2RpbmdJbmZvLWFscGhhQ2hhbm5lbC5odG1sICAgICAg
IHwgNTAgKysrKysrKysrKysrKysrKysrKwogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nICAgICAg
ICAgICAgICAgICAgICAgIHwgMzEgKysrKysrKysrKysrCiAuLi4vbWVkaWFjYXBhYmlsaXRpZXMv
TWVkaWFDYXBhYmlsaXRpZXMuY3BwICAgfCAgNyArKy0KIC4uLi9tZWRpYWNhcGFiaWxpdGllcy9N
ZWRpYUNhcGFiaWxpdGllcy5oICAgICB8ICAzICstCiAuLi4vbWVkaWFjYXBhYmlsaXRpZXMvTWVk
aWFDYXBhYmlsaXRpZXMuaWRsICAgfCAgMiArLQogLi4uL21lZGlhY2FwYWJpbGl0aWVzL1ZpZGVv
Q29uZmlndXJhdGlvbi5pZGwgIHwgIDEgKwogU291cmNlL1dlYkNvcmUvU291cmNlc0NvY29hLnR4
dCAgICAgICAgICAgICAgIHwgIDIgKy0KIC4uLi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvaiB8ICA4ICstLQogLi4uL3BsYXRmb3JtL2NvY29hL1ZpZGVvVG9vbGJveFNv
ZnRMaW5rLmNwcCAgIHwgIDIgKwogLi4uL3BsYXRmb3JtL2NvY29hL1ZpZGVvVG9vbGJveFNvZnRM
aW5rLmggICAgIHwgIDMgKysKIC4uLi9ncmFwaGljcy9jb2NvYS9IRVZDVXRpbGl0aWVzQ29jb2Eu
aCAgICAgICB8ICAyICstCiAuLi5pbGl0aWVzQ29jb2EuY3BwID0+IEhFVkNVdGlsaXRpZXNDb2Nv
YS5tbX0gfCAyMSArKysrKysrLQogLi4uL01lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlD
b2NvYS5jcHAgIHwgMTcgKysrKystLQogLi4uL21lZGlhY2FwYWJpbGl0aWVzL1ZpZGVvQ29uZmln
dXJhdGlvbi5oICAgIHwgIDIgKwogLi4uL01lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlN
b2NrLmNwcCAgIHwgMTIgKysrKysKIDE3IGZpbGVzIGNoYW5nZWQsIDE4MyBpbnNlcnRpb25zKCsp
LCAxNCBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9tZWRpYS9t
ZWRpYWNhcGFiaWxpdGllcy9tb2NrLWRlY29kaW5nSW5mby1hbHBoYUNoYW5uZWwtZXhwZWN0ZWQu
dHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWFjYXBhYmlsaXRp
ZXMvbW9jay1kZWNvZGluZ0luZm8tYWxwaGFDaGFubmVsLmh0bWwKIHJlbmFtZSBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS97SEVWQ1V0aWxpdGllc0NvY29hLmNwcCA9PiBI
RVZDVXRpbGl0aWVzQ29jb2EubW19ICg4NiUpCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDM3NTAxYmExOGNiLi5hYzYxMTg1
NGY2ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE5LTAzLTE2ICBKZXIgTm9ibGUgIDxqZXIu
bm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBleHBlcmltZW50YWwgImFscGhhQ2hhbm5l
bCIgcHJvcGVydHkgdG8gVmlkZW9Db25maWd1cmF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTU4NTMKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIG1lZGlhL21lZGlhY2FwYWJpbGl0aWVzL21vY2st
ZGVjb2RpbmdJbmZvLWFscGhhQ2hhbm5lbC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IG1lZGlhL21lZGlhY2FwYWJpbGl0aWVzL21vY2stZGVjb2RpbmdJbmZvLWFscGhhQ2hhbm5lbC5o
dG1sOiBBZGRlZC4KKwogMjAxOS0wMy0xNSAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNv
bT4KIAogICAgICAgICBBZGQgYSBuZXcgTWVkaWFDYXBhYmlsaXRpZXNFeHRlbnNpb25zRW5hYmxl
ZCBzZXR0aW5nCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYWNhcGFiaWxpdGll
cy9tb2NrLWRlY29kaW5nSW5mby1hbHBoYUNoYW5uZWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvbWVkaWEvbWVkaWFjYXBhYmlsaXRpZXMvbW9jay1kZWNvZGluZ0luZm8tYWxwaGFDaGFubmVs
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNjcx
ODQwMWIyZDgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYWNhcGFi
aWxpdGllcy9tb2NrLWRlY29kaW5nSW5mby1hbHBoYUNoYW5uZWwtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMjQgQEAKK1JVTihpbnRlcm5hbHMuZW5hYmxlTW9ja01lZGlhQ2FwYWJpbGl0aWVzKCkp
CitSVU4oaW50ZXJuYWxzLnNldHRpbmdzLnNldE1lZGlhQ2FwYWJpbGl0aWVzRXh0ZW5zaW9uc0Vu
YWJsZWQodHJ1ZSkpCitSVU4ocHJvbWlzZSA9IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5k
ZWNvZGluZ0luZm8oeyB0eXBlOiAnZmlsZScsIHZpZGVvOiB7IGNvbnRlbnRUeXBlOiAndmlkZW8v
bXA0OyBjb2RlY3M9Im1vY2std2l0aC1hbHBoYSInLCBoZWlnaHQ6IDcyMCwgYml0cmF0ZTogMTAw
MCwgd2lkdGg6IDEyODAsIGZyYW1lcmF0ZTogMjQuNSB9fSk7KQorUHJvbWlzZSByZXNvbHZlZCBP
SworRVhQRUNURUQgKGluZm8uc3VwcG9ydGVkID09ICd0cnVlJykgT0sKK0VYUEVDVEVEIChpbmZv
LnN1cHBvcnRlZENvbmZpZ3VyYXRpb24udmlkZW8uYWxwaGFDaGFubmVsID09ICdudWxsJykgT0sK
K1JVTihwcm9taXNlID0gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7
IHR5cGU6ICdmaWxlJywgdmlkZW86IHsgY29udGVudFR5cGU6ICd2aWRlby9tcDQ7IGNvZGVjcz0i
bW9jay13aXRoLWFscGhhIicsIGhlaWdodDogNzIwLCBiaXRyYXRlOiAxMDAwLCB3aWR0aDogMTI4
MCwgZnJhbWVyYXRlOiAyNC41LCBhbHBoYUNoYW5uZWw6IGZhbHNlIH19KTspCitQcm9taXNlIHJl
c29sdmVkIE9LCitFWFBFQ1RFRCAoaW5mby5zdXBwb3J0ZWQgPT0gJ3RydWUnKSBPSworRVhQRUNU
RUQgKGluZm8uc3VwcG9ydGVkQ29uZmlndXJhdGlvbi52aWRlby5hbHBoYUNoYW5uZWwgPT0gJ2Zh
bHNlJykgT0sKK1JVTihwcm9taXNlID0gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29k
aW5nSW5mbyh7IHR5cGU6ICdmaWxlJywgdmlkZW86IHsgY29udGVudFR5cGU6ICd2aWRlby9tcDQ7
IGNvZGVjcz0ibW9jay13aXRoLWFscGhhIicsIGhlaWdodDogNzIwLCBiaXRyYXRlOiAxMDAwLCB3
aWR0aDogMTI4MCwgZnJhbWVyYXRlOiAyNC41LCBhbHBoYUNoYW5uZWw6IHRydWUgfX0pOykKK1By
b21pc2UgcmVzb2x2ZWQgT0sKK0VYUEVDVEVEIChpbmZvLnN1cHBvcnRlZCA9PSAndHJ1ZScpLCBP
QlNFUlZFRCAnZmFsc2UnIEZBSUwKK0VYUEVDVEVEIChpbmZvLnN1cHBvcnRlZENvbmZpZ3VyYXRp
b24udmlkZW8uYWxwaGFDaGFubmVsID09ICd0cnVlJykgT0sKK1JVTihwcm9taXNlID0gbmF2aWdh
dG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7IHR5cGU6ICdmaWxlJywgdmlkZW86
IHsgY29udGVudFR5cGU6ICd2aWRlby9tcDQ7IGNvZGVjcz0ibW9jay13aXRob3V0LWFscGhhIics
IGhlaWdodDogNzIwLCBiaXRyYXRlOiAxMDAwLCB3aWR0aDogMTI4MCwgZnJhbWVyYXRlOiAyNC41
LCBhbHBoYUNoYW5uZWw6IGZhbHNlIH19KTspCitQcm9taXNlIHJlc29sdmVkIE9LCitFWFBFQ1RF
RCAoaW5mby5zdXBwb3J0ZWQgPT0gJ3RydWUnKSBPSworRVhQRUNURUQgKGluZm8uc3VwcG9ydGVk
Q29uZmlndXJhdGlvbi52aWRlby5hbHBoYUNoYW5uZWwgPT0gJ2ZhbHNlJykgT0sKK1JVTihwcm9t
aXNlID0gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7IHR5cGU6ICdm
aWxlJywgdmlkZW86IHsgY29udGVudFR5cGU6ICd2aWRlby9tcDQ7IGNvZGVjcz0ibW9jay13aXRo
b3V0LWFscGhhIicsIGhlaWdodDogNzIwLCBiaXRyYXRlOiAxMDAwLCB3aWR0aDogMTI4MCwgZnJh
bWVyYXRlOiAyNC41LCBhbHBoYUNoYW5uZWw6IHRydWUgfX0pOykKK1Byb21pc2UgcmVzb2x2ZWQg
T0sKK0VYUEVDVEVEIChpbmZvLnN1cHBvcnRlZCA9PSAnZmFsc2UnKSBPSworRVhQRUNURUQgKGlu
Zm8uc3VwcG9ydGVkQ29uZmlndXJhdGlvbi52aWRlby5hbHBoYUNoYW5uZWwgPT0gJ3RydWUnKSBP
SworRU5EIE9GIFRFU1QKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWFjYXBh
YmlsaXRpZXMvbW9jay1kZWNvZGluZ0luZm8tYWxwaGFDaGFubmVsLmh0bWwgYi9MYXlvdXRUZXN0
cy9tZWRpYS9tZWRpYWNhcGFiaWxpdGllcy9tb2NrLWRlY29kaW5nSW5mby1hbHBoYUNoYW5uZWwu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNzhhZjg1ODY0ODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYWNhcGFiaWxpdGllcy9t
b2NrLWRlY29kaW5nSW5mby1hbHBoYUNoYW5uZWwuaHRtbApAQCAtMCwwICsxLDUwIEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHNjcmlwdCBzcmM9Li4vdmlkZW8tdGVz
dC5qcz48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisgICAg
dmFyIHByb21pc2U7CisgICAgdmFyIGluZm87CisKKyAgICBhc3luYyBmdW5jdGlvbiBkb1Rlc3Qo
KQorICAgIHsKKyAgICAgICAgaWYgKCF3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgICAgICBm
YWlsVGVzdCgiSW50ZXJuYWxzIGlzIHJlcXVpcmVkIGZvciB0aGlzIHRlc3QuIikKKyAgICAgICAg
ICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIHJ1bignaW50ZXJuYWxzLmVuYWJsZU1v
Y2tNZWRpYUNhcGFiaWxpdGllcygpJyk7CisgICAgICAgIHJ1bignaW50ZXJuYWxzLnNldHRpbmdz
LnNldE1lZGlhQ2FwYWJpbGl0aWVzRXh0ZW5zaW9uc0VuYWJsZWQodHJ1ZSknKTsKKworICAgICAg
ICBydW4oInByb21pc2UgPSBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZv
KHsgdHlwZTogJ2ZpbGUnLCB2aWRlbzogeyBjb250ZW50VHlwZTogJ3ZpZGVvL21wNDsgY29kZWNz
PVwibW9jay13aXRoLWFscGhhXCInLCBoZWlnaHQ6IDcyMCwgYml0cmF0ZTogMTAwMCwgd2lkdGg6
IDEyODAsIGZyYW1lcmF0ZTogMjQuNSB9fSk7Iik7CisgICAgICAgIGluZm8gPSBhd2FpdCBzaG91
bGRSZXNvbHZlKHByb21pc2UpOworICAgICAgICB0ZXN0RXhwZWN0ZWQoJ2luZm8uc3VwcG9ydGVk
JywgdHJ1ZSk7CisgICAgICAgIHRlc3RFeHBlY3RlZCgnaW5mby5zdXBwb3J0ZWRDb25maWd1cmF0
aW9uLnZpZGVvLmFscGhhQ2hhbm5lbCcsIG51bGwpOworCisgICAgICAgIHJ1bigicHJvbWlzZSA9
IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeyB0eXBlOiAnZmlsZScs
IHZpZGVvOiB7IGNvbnRlbnRUeXBlOiAndmlkZW8vbXA0OyBjb2RlY3M9XCJtb2NrLXdpdGgtYWxw
aGFcIicsIGhlaWdodDogNzIwLCBiaXRyYXRlOiAxMDAwLCB3aWR0aDogMTI4MCwgZnJhbWVyYXRl
OiAyNC41LCBhbHBoYUNoYW5uZWw6IGZhbHNlIH19KTsiKTsKKyAgICAgICAgaW5mbyA9IGF3YWl0
IHNob3VsZFJlc29sdmUocHJvbWlzZSk7CisgICAgICAgIHRlc3RFeHBlY3RlZCgnaW5mby5zdXBw
b3J0ZWQnLCB0cnVlKTsKKyAgICAgICAgdGVzdEV4cGVjdGVkKCdpbmZvLnN1cHBvcnRlZENvbmZp
Z3VyYXRpb24udmlkZW8uYWxwaGFDaGFubmVsJywgZmFsc2UpOworCisgICAgICAgIHJ1bigicHJv
bWlzZSA9IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeyB0eXBlOiAn
ZmlsZScsIHZpZGVvOiB7IGNvbnRlbnRUeXBlOiAndmlkZW8vbXA0OyBjb2RlY3M9XCJtb2NrLXdp
dGgtYWxwaGFcIicsIGhlaWdodDogNzIwLCBiaXRyYXRlOiAxMDAwLCB3aWR0aDogMTI4MCwgZnJh
bWVyYXRlOiAyNC41LCBhbHBoYUNoYW5uZWw6IHRydWUgfX0pOyIpOworICAgICAgICBpbmZvID0g
YXdhaXQgc2hvdWxkUmVzb2x2ZShwcm9taXNlKTsKKyAgICAgICAgdGVzdEV4cGVjdGVkKCdpbmZv
LnN1cHBvcnRlZCcsIHRydWUpOworICAgICAgICB0ZXN0RXhwZWN0ZWQoJ2luZm8uc3VwcG9ydGVk
Q29uZmlndXJhdGlvbi52aWRlby5hbHBoYUNoYW5uZWwnLCB0cnVlKTsKKworICAgICAgICBydW4o
InByb21pc2UgPSBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvKHsgdHlw
ZTogJ2ZpbGUnLCB2aWRlbzogeyBjb250ZW50VHlwZTogJ3ZpZGVvL21wNDsgY29kZWNzPVwibW9j
ay13aXRob3V0LWFscGhhXCInLCBoZWlnaHQ6IDcyMCwgYml0cmF0ZTogMTAwMCwgd2lkdGg6IDEy
ODAsIGZyYW1lcmF0ZTogMjQuNSwgYWxwaGFDaGFubmVsOiBmYWxzZSB9fSk7Iik7CisgICAgICAg
IGluZm8gPSBhd2FpdCBzaG91bGRSZXNvbHZlKHByb21pc2UpOworICAgICAgICB0ZXN0RXhwZWN0
ZWQoJ2luZm8uc3VwcG9ydGVkJywgdHJ1ZSk7CisgICAgICAgIHRlc3RFeHBlY3RlZCgnaW5mby5z
dXBwb3J0ZWRDb25maWd1cmF0aW9uLnZpZGVvLmFscGhhQ2hhbm5lbCcsIGZhbHNlKTsKKworICAg
ICAgICBydW4oInByb21pc2UgPSBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJ
bmZvKHsgdHlwZTogJ2ZpbGUnLCB2aWRlbzogeyBjb250ZW50VHlwZTogJ3ZpZGVvL21wNDsgY29k
ZWNzPVwibW9jay13aXRob3V0LWFscGhhXCInLCBoZWlnaHQ6IDcyMCwgYml0cmF0ZTogMTAwMCwg
d2lkdGg6IDEyODAsIGZyYW1lcmF0ZTogMjQuNSwgYWxwaGFDaGFubmVsOiB0cnVlIH19KTsiKTsK
KyAgICAgICAgaW5mbyA9IGF3YWl0IHNob3VsZFJlc29sdmUocHJvbWlzZSk7CisgICAgICAgIHRl
c3RFeHBlY3RlZCgnaW5mby5zdXBwb3J0ZWQnLCBmYWxzZSk7CisgICAgICAgIHRlc3RFeHBlY3Rl
ZCgnaW5mby5zdXBwb3J0ZWRDb25maWd1cmF0aW9uLnZpZGVvLmFscGhhQ2hhbm5lbCcsIHRydWUp
OworCisKKyAgICAgICAgZW5kVGVzdCgpOworICAgIH0KKyAgICA8L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5IG9ubG9hZD0iZG9UZXN0KCkiIC8+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjFlMzgx
N2U2ZmMuLjkzNzRiZTFkMzJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMTktMDMt
MTYgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGV4cGVy
aW1lbnRhbCAiYWxwaGFDaGFubmVsIiBwcm9wZXJ0eSB0byBWaWRlb0NvbmZpZ3VyYXRpb24KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTg1MworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IG1lZGlh
L21lZGlhY2FwYWJpbGl0aWVzL21vY2stZGVjb2RpbmdJbmZvLWFscGhhQ2hhbm5lbC5odG1sCisK
KyAgICAgICAgQWRkIGEgbmV3LCBleHBlcmltZW50YWwgYWRkaXRpb24gdG8gTWVkaWEgQ2FwYWJp
bGl0aWVzIHRvIGFsbG93IHBhZ2VzIHRvIHF1ZXJ5IGZvcgorICAgICAgICBhbHBoYSBjaGFubmVs
IHN1cHBvcnQuCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2Fw
YWJpbGl0aWVzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ2FwYWJpbGl0aWVzOjpkZWNv
ZGluZ0luZm8pOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBh
YmlsaXRpZXMuaDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2Fw
YWJpbGl0aWVzLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL1ZpZGVv
Q29uZmlndXJhdGlvbi5pZGw6CisgICAgICAgICogU291cmNlc0NvY29hLnR4dDoKKyAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGxhdGZvcm0v
Y29jb2EvVmlkZW9Ub29sYm94U29mdExpbmsuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2NvY29h
L1ZpZGVvVG9vbGJveFNvZnRMaW5rLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29j
b2EvSEVWQ1V0aWxpdGllc0NvY29hLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29j
b2EvSEVWQ1V0aWxpdGllc0NvY29hLm1tOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY29jb2EvSEVWQ1V0aWxpdGllc0NvY29hLmNwcC4KKyAgICAgICAgKFdl
YkNvcmU6OnZhbGlkYXRlSEVWQ1BhcmFtZXRlcnMpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2NvY29hL01lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlDb2NvYS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpjcmVhdGVNZWRpYVBsYXllckRlY29kaW5nQ29uZmlndXJhdGlvbkNvY29h
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9WaWRlb0NvbmZpZ3VyYXRp
b24uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL01lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZh
Y3RvcnlNb2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNhbkRlY29kZU1lZGlhKToKKyAgICAg
ICAgKFdlYkNvcmU6OmNhbkVuY29kZU1lZGlhKToKKwogMjAxOS0wMy0xNSAgSmVyIE5vYmxlICA8
amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgYSBuZXcgTWVkaWFDYXBhYmlsaXRp
ZXNFeHRlbnNpb25zRW5hYmxlZCBzZXR0aW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXMuY3BwCmlu
ZGV4IGIzNzIxMTEyMTU4Li4xMzk3NTJjMTQwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5j
cHAKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJNZWRpYUNhcGFiaWxpdGllcy5oIgogCiAj
aW5jbHVkZSAiQ29udGVudFR5cGUuaCIKKyNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUg
IkpTTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8uaCIKICNpbmNsdWRlICJKU01lZGlhQ2Fw
YWJpbGl0aWVzRW5jb2RpbmdJbmZvLmgiCiAjaW5jbHVkZSAiTWVkaWFDYXBhYmlsaXRpZXNEZWNv
ZGluZ0luZm8uaCIKQEAgLTM0LDYgKzM1LDcgQEAKICNpbmNsdWRlICJNZWRpYURlY29kaW5nQ29u
ZmlndXJhdGlvbi5oIgogI2luY2x1ZGUgIk1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uLmgiCiAj
aW5jbHVkZSAiTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeS5oIgorI2luY2x1ZGUgIlNl
dHRpbmdzLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewpAQCAtMTU5LDcgKzE2MSw3IEBAIHN0YXRpYyBib29sIGlzVmFsaWRNZWRpYUNvbmZpZ3VyYXRp
b24oY29uc3QgTWVkaWFDb25maWd1cmF0aW9uJiBjb25maWd1cmF0aW9uKQogICAgIHJldHVybiB0
cnVlOwogfQogCi12b2lkIE1lZGlhQ2FwYWJpbGl0aWVzOjpkZWNvZGluZ0luZm8oTWVkaWFEZWNv
ZGluZ0NvbmZpZ3VyYXRpb24mJiBjb25maWd1cmF0aW9uLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYm
IHByb21pc2UpCit2b2lkIE1lZGlhQ2FwYWJpbGl0aWVzOjpkZWNvZGluZ0luZm8oRG9jdW1lbnQm
IGRvY3VtZW50LCBNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbiYmIGNvbmZpZ3VyYXRpb24sIFJl
ZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkKIHsKICAgICAvLyAyLjQgTWVkaWEgQ2FwYWJp
bGl0aWVzIEludGVyZmFjZQogICAgIC8vIGh0dHBzOi8vd2ljZy5naXRodWIuaW8vbWVkaWEtY2Fw
YWJpbGl0aWVzLyNtZWRpYS1jYXBhYmlsaXRpZXMtaW50ZXJmYWNlCkBAIC0xNzIsNiArMTc0LDkg
QEAgdm9pZCBNZWRpYUNhcGFiaWxpdGllczo6ZGVjb2RpbmdJbmZvKE1lZGlhRGVjb2RpbmdDb25m
aWd1cmF0aW9uJiYgY29uZmlndXJhdGlvbiwKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAorICAg
IGlmICghZG9jdW1lbnQuc2V0dGluZ3MoKS5tZWRpYUNhcGFiaWxpdGllc0V4dGVuc2lvbnNFbmFi
bGVkKCkgJiYgY29uZmlndXJhdGlvbi52aWRlbykKKyAgICAgICAgY29uZmlndXJhdGlvbi52aWRl
by52YWx1ZSgpLmFscGhhQ2hhbm5lbC5yZXNldCgpOworCiAgICAgLy8gNC4gTGV0IHAgYmUgYSBu
ZXcgcHJvbWlzZS4KICAgICAvLyA1LiBJbiBwYXJhbGxlbCwgcnVuIHRoZSBjcmVhdGUgYSBNZWRp
YUNhcGFiaWxpdGllc0luZm8gYWxnb3JpdGhtIHdpdGggY29uZmlndXJhdGlvbiBhbmQgcmVzb2x2
ZSBwIHdpdGggaXRzIHJlc3VsdC4KICAgICAvLyA2LiBSZXR1cm4gcC4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXMu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmls
aXRpZXMuaAppbmRleCBiMzEwZTYxODg4MC4uMTg1NGZhNDY2NDYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXMuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJp
bGl0aWVzLmgKQEAgLTMxLDEyICszMSwxMyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2Ns
YXNzIERvY3VtZW50Owogc3RydWN0IE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uOwogc3RydWN0
IE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uOwogCiBjbGFzcyBNZWRpYUNhcGFiaWxpdGllcyA6
IHB1YmxpYyBSZWZDb3VudGVkPE1lZGlhQ2FwYWJpbGl0aWVzPiB7CiBwdWJsaWM6Ci0gICAgdm9p
ZCBkZWNvZGluZ0luZm8oTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24mJiwgUmVmPERlZmVycmVk
UHJvbWlzZT4mJik7CisgICAgdm9pZCBkZWNvZGluZ0luZm8oRG9jdW1lbnQmLCBNZWRpYURlY29k
aW5nQ29uZmlndXJhdGlvbiYmLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmKTsKICAgICB2b2lkIGVu
Y29kaW5nSW5mbyhNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbiYmLCBSZWY8RGVmZXJyZWRQcm9t
aXNlPiYmKTsKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXMuaWRsIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5pZGwKaW5kZXggMWU5
ZTRkMTFhNmIuLjQzYWQ1NjhkOGUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmlkbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmlkbApAQCAt
MjgsNiArMjgsNiBAQAogICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKIF0KIGludGVyZmFj
ZSBNZWRpYUNhcGFiaWxpdGllcyB7Ci0gIFByb21pc2U8TWVkaWFDYXBhYmlsaXRpZXNEZWNvZGlu
Z0luZm8+IGRlY29kaW5nSW5mbyhNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbiBjb25maWd1cmF0
aW9uKTsKKyAgW0NhbGxXaXRoPURvY3VtZW50XSBQcm9taXNlPE1lZGlhQ2FwYWJpbGl0aWVzRGVj
b2RpbmdJbmZvPiBkZWNvZGluZ0luZm8oTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24gY29uZmln
dXJhdGlvbik7CiAgIFByb21pc2U8TWVkaWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm8+IGVuY29k
aW5nSW5mbyhNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbiBjb25maWd1cmF0aW9uKTsKIH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL1ZpZGVv
Q29uZmlndXJhdGlvbi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0
aWVzL1ZpZGVvQ29uZmlndXJhdGlvbi5pZGwKaW5kZXggMjAyNTE5MWM4MDQuLmJjYTFlZjBhOTdj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL1Zp
ZGVvQ29uZmlndXJhdGlvbi5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNh
cGFiaWxpdGllcy9WaWRlb0NvbmZpZ3VyYXRpb24uaWRsCkBAIC0zMyw0ICszMyw1IEBAIGRpY3Rp
b25hcnkgVmlkZW9Db25maWd1cmF0aW9uIHsKICAgcmVxdWlyZWQgdW5zaWduZWQgbG9uZyBoZWln
aHQ7CiAgIHJlcXVpcmVkIHVuc2lnbmVkIGxvbmcgbG9uZyBiaXRyYXRlOwogICByZXF1aXJlZCBk
b3VibGUgZnJhbWVyYXRlOworICBbRW5hYmxlZEJ5U2V0dGluZz1NZWRpYUNhcGFiaWxpdGllc0V4
dGVuc2lvbnNdIGJvb2xlYW4gYWxwaGFDaGFubmVsOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0
CmluZGV4IGNhYWI5ZWQzNjk1Li5kOGFhODIyOWQ4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvU291cmNlc0NvY29hLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0
CkBAIC0zMDAsNyArMzAwLDcgQEAgcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENvY29hLm1t
CiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250RGVzY3JpcHRpb25Db2NvYS5jcHAKIHBsYXRm
b3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRGYW1pbHlTcGVjaWZpY2F0aW9uQ29yZVRleHQuY3BwCiBw
bGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250UGxhdGZvcm1EYXRhQ29jb2EubW0KLXBsYXRmb3Jt
L2dyYXBoaWNzL2NvY29hL0hFVkNVdGlsaXRpZXNDb2NvYS5jcHAKK3BsYXRmb3JtL2dyYXBoaWNz
L2NvY29hL0hFVkNVdGlsaXRpZXNDb2NvYS5tbQogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvSU9T
dXJmYWNlLm1tCiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9JT1N1cmZhY2VQb29sQ29jb2EubW0K
IHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL01lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlD
b2NvYS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagppbmRleCBjZDk5MGZkYTg1MS4uZjhkNDY2NTIzMTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEzNzU0LDcgKzEz
NzU0LDcgQEAKIAkJQ0RBNTk1OTEyMTQ2REVDMzAwQTg0MTg1IC8qIEhFVkNVdGlsaXRpZXMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSEVWQ1V0aWxpdGllcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlDREE1OTU5MjIxNDZERUMzMDBBODQxODUgLyogSEVWQ1V0aWxpdGllcy5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBIRVZDVXRpbGl0aWVzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQ0RBNTk1OTYyMTQ2REY3ODAwQTg0MTg1IC8qIEhFVkNVdGlsaXRpZXNDb2NvYS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBIRVZDVXRpbGl0aWVzQ29jb2EuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJQ0RBNTk1OTcyMTQ2REY3ODAwQTg0MTg1IC8qIEhFVkNVdGlsaXRpZXNDb2NvYS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBIRVZDVXRpbGl0aWVzQ29jb2EuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlDREE1OTU5NzIxNDZERjc4MDBBODQxODUgLyogSEVWQ1V0aWxp
dGllc0NvY29hLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gSEVWQ1V0aWxpdGllc0NvY29hLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDREE3OTgyMTE3MEEyMkRDMDBENDVDNTUg
LyogQXVkaW9TZXNzaW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEF1ZGlvU2Vzc2lvbi5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlDREE3OTgyMzE3MEEyNTgzMDBENDVDNTUgLyogQXVkaW9T
ZXNzaW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEF1ZGlvU2Vz
c2lvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNEQTc5ODI1MTcwQTI3OTAw
MEQ0NUM1NSAvKiBBdWRpb1Nlc3Npb25JT1MubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBBdWRpb1Nlc3Npb25JT1MubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC0yNDk5MCw4ICsyNDk5MCw4IEBACiAJCQkJQjUzMjBENkExMjJBMjRFOTAwMkQxNDQw
IC8qIEZvbnRQbGF0Zm9ybURhdGFDb2NvYS5tbSAqLywKIAkJCQk0OUZGQkYxQzExQzg1NTBFMDA2
QTcxMTggLyogR3JhcGhpY3NDb250ZXh0M0RDb2NvYS5tbSAqLywKIAkJCQlCMjc3QjQwMzBCMjJG
MzdDMDAwNEJFQzYgLyogR3JhcGhpY3NDb250ZXh0Q29jb2EubW0gKi8sCi0JCQkJQ0RBNTk1OTcy
MTQ2REY3ODAwQTg0MTg1IC8qIEhFVkNVdGlsaXRpZXNDb2NvYS5jcHAgKi8sCiAJCQkJQ0RBNTk1
OTYyMTQ2REY3ODAwQTg0MTg1IC8qIEhFVkNVdGlsaXRpZXNDb2NvYS5oICovLAorCQkJCUNEQTU5
NTk3MjE0NkRGNzgwMEE4NDE4NSAvKiBIRVZDVXRpbGl0aWVzQ29jb2EubW0gKi8sCiAJCQkJMkQw
QjRBQTkxOERBMUNDRDAwNDM0REUxIC8qIElPU3VyZmFjZS5oICovLAogCQkJCTJEMEI0QUFBMThE
QTFDQ0QwMDQzNERFMSAvKiBJT1N1cmZhY2UubW0gKi8sCiAJCQkJQUQ5RkY2RTAxOTA4MzkxRDAw
M0I2MUUwIC8qIElPU3VyZmFjZVBvb2xDb2NvYS5tbSAqLywKQEAgLTMwODEzLDYgKzMwODEzLDgg
QEAKIAkJCQk0OUU5MTFDNzBFRjg2RDQ3MDA5RDBDQUYgLyogTWF0cml4VHJhbnNmb3JtT3BlcmF0
aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk1Q0JDOERBRDFBQUEzMDIyMDBFMUM4MDMgLyogTWVk
aWFBY2Nlc3NpYmlsaXR5U29mdExpbmsuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzMUJDQzYxMTEy
NERGQ0IwMEJFNzBERCAvKiBNZWRpYUNhblN0YXJ0TGlzdGVuZXIuaCBpbiBIZWFkZXJzICovLAor
CQkJCUNEQ0M5QkNGMjIzODdFOUEwMEZGQjUxQyAvKiBNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5n
SW5mby5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0RDQzlCRDEyMjM4N0VBQTAwRkZCNTFDIC8qIE1l
ZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvLmggaW4gSGVhZGVycyAqLywKIAkJCQkwNzhFMDkz
QTE3RDE2RTFDMDA0MjBBQTEgLyogTWVkaWFDb25zdHJhaW50cy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNDE3MjUzQUIxMzU0QkJCQzAwMzYwRjJBIC8qIE1lZGlhQ29udHJvbEVsZW1lbnRzLmggaW4g
SGVhZGVycyAqLywKIAkJCQlERUJDQ0RENDE2NjQ2RUFGMDBBNDUyRTEgLyogTWVkaWFDb250cm9s
RWxlbWVudFR5cGVzLmggaW4gSGVhZGVycyAqLywKQEAgLTMyMTE4LDcgKzMyMTIwLDYgQEAKIAkJ
CQlDNjUwNDZBOTE2N0JGQjU1MDBDQzJBNEQgLyogVGVtcGxhdGVDb250ZW50RG9jdW1lbnRGcmFn
bWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMjZFOTQ0REQxQUM0QjRFQTAwN0I4NUI1IC8qIFRl
cm0uaCBpbiBIZWFkZXJzICovLAogCQkJCTY1NTBCNkE2MDk5REYwMjcwMDkwRDc4MSAvKiBUZXh0
LmggaW4gSGVhZGVycyAqLywKLQkJCQlDRENDOUJEMTIyMzg3RUFBMDBGRkI1MUMgLyogTWVkaWFD
YXBhYmlsaXRpZXNFbmNvZGluZ0luZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCTkzMzA5RTE3MDk5
RTY0OTIwMDU2RTU4MSAvKiBUZXh0QWZmaW5pdHkuaCBpbiBIZWFkZXJzICovLAogCQkJCUNFN0Iy
REI1MTU4NkFCQUQwMDk4QjNGQSAvKiBUZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2UuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTBGNTREQ0U2MTg4MTA1MUQwMDNFRURCQiAvKiBUZXh0QXV0b1NpemluZy5o
IGluIEhlYWRlcnMgKi8sCkBAIC0zMjIxMiw3ICszMjIxMyw2IEBACiAJCQkJNDlFOTExQzQwRUY4
NkQ0NzAwOUQwQ0FGIC8qIFRyYW5zZm9ybWF0aW9uTWF0cml4LmggaW4gSGVhZGVycyAqLywKIAkJ
CQlGQjQ4NEY0RDE3MUY4MjFFMDAwNDA3NTUgLyogVHJhbnNmb3JtRnVuY3Rpb25zLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk0OUU5MTFDRTBFRjg2RDQ3MDA5RDBDQUYgLyogVHJhbnNmb3JtT3BlcmF0
aW9uLmggaW4gSGVhZGVycyAqLywKLQkJCQlDRENDOUJDRjIyMzg3RTlBMDBGRkI1MUMgLyogTWVk
aWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5RTkxMUQw
MEVGODZENDcwMDlEMENBRiAvKiBUcmFuc2Zvcm1PcGVyYXRpb25zLmggaW4gSGVhZGVycyAqLywK
IAkJCQk1REIxQkM2QTEwNzE1QTY0MDBFRkFBNDkgLyogVHJhbnNmb3JtU291cmNlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk0OTQ1QkZENDEzQ0Y4MDkwMDBDQzNCMzggLyogVHJhbnNmb3JtU3RhdGUu
aCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29j
b2EvVmlkZW9Ub29sYm94U29mdExpbmsuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29j
b2EvVmlkZW9Ub29sYm94U29mdExpbmsuY3BwCmluZGV4IDk0ZDU4MzEwMmM5Li41OTcxZDM5ODFl
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvVmlkZW9Ub29sYm94
U29mdExpbmsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1ZpZGVvVG9v
bGJveFNvZnRMaW5rLmNwcApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgPFZpZGVvVG9vbGJv
eC9WaWRlb1Rvb2xib3guaD4KICNpbmNsdWRlIDx3dGYvU29mdExpbmtpbmcuaD4KIAordHlwZWRl
ZiBzdHJ1Y3QgT3BhcXVlVlRWaWRlb0RlY29kZXIgVlRWaWRlb0RlY29kZXJSZWY7CiB0eXBlZGVm
IHN0cnVjdCBPcGFxdWVWVEltYWdlUm90YXRpb25TZXNzaW9uKiBWVEltYWdlUm90YXRpb25TZXNz
aW9uUmVmOwogdHlwZWRlZiBzdHJ1Y3QgT3BhcXVlVlRQaXhlbEJ1ZmZlckNvbmZvcm1lciogVlRQ
aXhlbEJ1ZmZlckNvbmZvcm1lclJlZjsKIHR5cGVkZWYgc3RydWN0IE9wYXF1ZVZUUGl4ZWxUcmFu
c2ZlclNlc3Npb24qIFZUUGl4ZWxUcmFuc2ZlclNlc3Npb25SZWY7CkBAIC01MCw2ICs1MSw3IEBA
IFNPRlRfTElOS19GVU5DVElPTl9NQVlfRkFJTF9GT1JfU09VUkNFKFdlYkNvcmUsIFZpZGVvVG9v
bGJveCwgVlRHZXRHVkFEZWNvZGVyQXZhCiBTT0ZUX0xJTktfRlVOQ1RJT05fTUFZX0ZBSUxfRk9S
X1NPVVJDRShXZWJDb3JlLCBWaWRlb1Rvb2xib3gsIFZUQ3JlYXRlQ0dJbWFnZUZyb21DVlBpeGVs
QnVmZmVyLCBPU1N0YXR1cywgKENWUGl4ZWxCdWZmZXJSZWYgcGl4ZWxCdWZmZXIsIENGRGljdGlv
bmFyeVJlZiBvcHRpb25zLCBDR0ltYWdlUmVmKiBpbWFnZU91dCksIChwaXhlbEJ1ZmZlciwgb3B0
aW9ucywgaW1hZ2VPdXQpKQogU09GVF9MSU5LX0ZVTkNUSU9OX01BWV9GQUlMX0ZPUl9TT1VSQ0Uo
V2ViQ29yZSwgVmlkZW9Ub29sYm94LCBWVENvcHlIRVZDRGVjb2RlckNhcGFiaWxpdGllc0RpY3Rp
b25hcnksIENGRGljdGlvbmFyeVJlZiwgKCksICgpKQogU09GVF9MSU5LX0ZVTkNUSU9OX01BWV9G
QUlMX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgVmlkZW9Ub29sYm94LCBWVEdldEhFVkNDYXBhYmlsaXRl
c0ZvckZvcm1hdERlc2NyaXB0aW9uLCBPU1N0YXR1cywgKENNVmlkZW9Gb3JtYXREZXNjcmlwdGlv
blJlZiBmb3JtYXREZXNjcmlwdGlvbiwgQ0ZEaWN0aW9uYXJ5UmVmIGRlY29kZXJDYXBhYmlsaXRp
ZXNEaWN0LCBCb29sZWFuKiBpc0RlY29kYWJsZSwgQm9vbGVhbiogbWF5QmVQbGF5YWJsZSksIChm
b3JtYXREZXNjcmlwdGlvbiwgZGVjb2RlckNhcGFiaWxpdGllc0RpY3QsIGlzRGVjb2RhYmxlLCBt
YXlCZVBsYXlhYmxlKSkKK1NPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFKFdlYkNvcmUsIFZp
ZGVvVG9vbGJveCwgVlRTZWxlY3RBbmRDcmVhdGVWaWRlb0RlY29kZXJJbnN0YW5jZSwgT1NTdGF0
dXMsIChDTVZpZGVvQ29kZWNUeXBlIGNvZGVjVHlwZSwgQ0ZBbGxvY2F0b3JSZWYgYWxsb2NhdG9y
LCBDRkRpY3Rpb25hcnlSZWYgdmlkZW9EZWNvZGVyU3BlY2lmaWNhdGlvbiwgVlRWaWRlb0RlY29k
ZXJSZWYgKmRlY29kZXJJbnN0YW5jZU91dCksIChjb2RlY1R5cGUsIGFsbG9jYXRvciwgdmlkZW9E
ZWNvZGVyU3BlY2lmaWNhdGlvbiwgZGVjb2Rlckluc3RhbmNlT3V0KSkKIFNPRlRfTElOS19DT05T
VEFOVF9GT1JfU09VUkNFKFdlYkNvcmUsIFZpZGVvVG9vbGJveCwga1ZUVmlkZW9EZWNvZGVyU3Bl
Y2lmaWNhdGlvbl9FbmFibGVIYXJkd2FyZUFjY2VsZXJhdGVkVmlkZW9EZWNvZGVyLCBDRlN0cmlu
Z1JlZikKIFNPRlRfTElOS19DT05TVEFOVF9GT1JfU09VUkNFKFdlYkNvcmUsIFZpZGVvVG9vbGJv
eCwga1ZURGVjb21wcmVzc2lvblByb3BlcnR5S2V5X1BpeGVsQnVmZmVyUG9vbCwgQ0ZTdHJpbmdS
ZWYpCiBTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX1NPVVJDRShXZWJDb3JlLCBWaWRlb1Rvb2xib3gs
IGtWVERlY29tcHJlc3Npb25Qcm9wZXJ0eUtleV9TdWdnZXN0ZWRRdWFsaXR5T2ZTZXJ2aWNlVGll
cnMsIENGU3RyaW5nUmVmKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29j
b2EvVmlkZW9Ub29sYm94U29mdExpbmsuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29h
L1ZpZGVvVG9vbGJveFNvZnRMaW5rLmgKaW5kZXggMjk1MDA5NWRjMjMuLmFjNDkyNDdmYjQ2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9WaWRlb1Rvb2xib3hTb2Z0
TGluay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1ZpZGVvVG9vbGJveFNv
ZnRMaW5rLmgKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlIDxWaWRlb1Rvb2xib3gvVmlkZW9U
b29sYm94Lmg+CiAjaW5jbHVkZSA8d3RmL1NvZnRMaW5raW5nLmg+CiAKK3R5cGVkZWYgc3RydWN0
IE9wYXF1ZVZUVmlkZW9EZWNvZGVyIFZUVmlkZW9EZWNvZGVyUmVmOwogdHlwZWRlZiBzdHJ1Y3Qg
T3BhcXVlVlRJbWFnZVJvdGF0aW9uU2Vzc2lvbiogVlRJbWFnZVJvdGF0aW9uU2Vzc2lvblJlZjsK
IHR5cGVkZWYgc3RydWN0IE9wYXF1ZVZUUGl4ZWxCdWZmZXJDb25mb3JtZXIqIFZUUGl4ZWxCdWZm
ZXJDb25mb3JtZXJSZWY7CiB0eXBlZGVmIHN0cnVjdCBPcGFxdWVWVFBpeGVsVHJhbnNmZXJTZXNz
aW9uKiBWVFBpeGVsVHJhbnNmZXJTZXNzaW9uUmVmOwpAQCAtNjQsNiArNjUsOCBAQCBTT0ZUX0xJ
TktfRlVOQ1RJT05fTUFZX0ZBSUxfRk9SX0hFQURFUihXZWJDb3JlLCBWaWRlb1Rvb2xib3gsIFZU
Q29weUhFVkNEZWNvZGVyQwogI2RlZmluZSBWVENvcHlIRVZDRGVjb2RlckNhcGFiaWxpdGllc0Rp
Y3Rpb25hcnkgc29mdExpbmtfVmlkZW9Ub29sYm94X1ZUQ29weUhFVkNEZWNvZGVyQ2FwYWJpbGl0
aWVzRGljdGlvbmFyeQogU09GVF9MSU5LX0ZVTkNUSU9OX01BWV9GQUlMX0ZPUl9IRUFERVIoV2Vi
Q29yZSwgVmlkZW9Ub29sYm94LCBWVEdldEhFVkNDYXBhYmlsaXRlc0ZvckZvcm1hdERlc2NyaXB0
aW9uLCBPU1N0YXR1cywgKENNVmlkZW9Gb3JtYXREZXNjcmlwdGlvblJlZiBmb3JtYXREZXNjcmlw
dGlvbiwgQ0ZEaWN0aW9uYXJ5UmVmIGRlY29kZXJDYXBhYmlsaXRpZXNEaWN0LCBCb29sZWFuKiBp
c0RlY29kYWJsZSwgQm9vbGVhbiogbWF5QmVQbGF5YWJsZSksIChmb3JtYXREZXNjcmlwdGlvbiwg
ZGVjb2RlckNhcGFiaWxpdGllc0RpY3QsIGlzRGVjb2RhYmxlLCBtYXlCZVBsYXlhYmxlKSkKICNk
ZWZpbmUgVlRHZXRIRVZDQ2FwYWJpbGl0ZXNGb3JGb3JtYXREZXNjcmlwdGlvbiBzb2Z0TGlua19W
aWRlb1Rvb2xib3hfVlRHZXRIRVZDQ2FwYWJpbGl0ZXNGb3JGb3JtYXREZXNjcmlwdGlvbgorU09G
VF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoV2ViQ29yZSwgVmlkZW9Ub29sYm94LCBWVFNlbGVj
dEFuZENyZWF0ZVZpZGVvRGVjb2Rlckluc3RhbmNlLCBPU1N0YXR1cywgKENNVmlkZW9Db2RlY1R5
cGUgY29kZWNUeXBlLCBDRkFsbG9jYXRvclJlZiBhbGxvY2F0b3IsIENGRGljdGlvbmFyeVJlZiB2
aWRlb0RlY29kZXJTcGVjaWZpY2F0aW9uLCBWVFZpZGVvRGVjb2RlclJlZiAqZGVjb2Rlckluc3Rh
bmNlT3V0KSwgKGNvZGVjVHlwZSwgYWxsb2NhdG9yLCB2aWRlb0RlY29kZXJTcGVjaWZpY2F0aW9u
LCBkZWNvZGVySW5zdGFuY2VPdXQpKQorI2RlZmluZSBWVFNlbGVjdEFuZENyZWF0ZVZpZGVvRGVj
b2Rlckluc3RhbmNlIHNvZnRMaW5rX1ZpZGVvVG9vbGJveF9WVFNlbGVjdEFuZENyZWF0ZVZpZGVv
RGVjb2Rlckluc3RhbmNlCiBTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX0hFQURFUihXZWJDb3JlLCBW
aWRlb1Rvb2xib3gsIGtWVFZpZGVvRGVjb2RlclNwZWNpZmljYXRpb25fRW5hYmxlSGFyZHdhcmVB
Y2NlbGVyYXRlZFZpZGVvRGVjb2RlciwgQ0ZTdHJpbmdSZWYpCiAjZGVmaW5lIGtWVFZpZGVvRGVj
b2RlclNwZWNpZmljYXRpb25fRW5hYmxlSGFyZHdhcmVBY2NlbGVyYXRlZFZpZGVvRGVjb2RlciBn
ZXRfVmlkZW9Ub29sYm94X2tWVFZpZGVvRGVjb2RlclNwZWNpZmljYXRpb25fRW5hYmxlSGFyZHdh
cmVBY2NlbGVyYXRlZFZpZGVvRGVjb2RlcigpCiBTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX0hFQURF
UihXZWJDb3JlLCBWaWRlb1Rvb2xib3gsIGtWVERlY29tcHJlc3Npb25Qcm9wZXJ0eUtleV9QaXhl
bEJ1ZmZlclBvb2wsIENGU3RyaW5nUmVmKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY29jb2EvSEVWQ1V0aWxpdGllc0NvY29hLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9IRVZDVXRpbGl0aWVzQ29jb2EuaAppbmRleCBlYzVm
NzQyOTVmNS4uNTIxNjMwNDAwNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NvY29hL0hFVkNVdGlsaXRpZXNDb2NvYS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0hFVkNVdGlsaXRpZXNDb2NvYS5oCkBAIC0zMyw3ICsz
Myw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RydWN0IE1lZGlhQ2FwYWJpbGl0aWVzSW5m
bzsKIAotZXh0ZXJuIGJvb2wgdmFsaWRhdGVIRVZDUGFyYW1ldGVycyhIRVZDUGFyYW1ldGVyU2V0
JiwgTWVkaWFDYXBhYmlsaXRpZXNJbmZvJik7CitleHRlcm4gYm9vbCB2YWxpZGF0ZUhFVkNQYXJh
bWV0ZXJzKEhFVkNQYXJhbWV0ZXJTZXQmLCBNZWRpYUNhcGFiaWxpdGllc0luZm8mLCBib29sIGhh
c0FscGhhQ2hhbm5lbCk7CiAKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY29jb2EvSEVWQ1V0aWxpdGllc0NvY29hLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0hFVkNVdGlsaXRpZXNDb2NvYS5tbQpzaW1pbGFyaXR5
IGluZGV4IDg2JQpyZW5hbWUgZnJvbSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
b2NvYS9IRVZDVXRpbGl0aWVzQ29jb2EuY3BwCnJlbmFtZSB0byBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jb2NvYS9IRVZDVXRpbGl0aWVzQ29jb2EubW0KaW5kZXggZjY3MTlhOGVj
NjEuLjMxYzJkNzFiNTg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jb2NvYS9IRVZDVXRpbGl0aWVzQ29jb2EuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NvY29hL0hFVkNVdGlsaXRpZXNDb2NvYS5tbQpAQCAtMjgsMTUgKzI4
LDM0IEBACiAKICNpZiBQTEFURk9STShDT0NPQSkKIAorI2luY2x1ZGUgIkZvdXJDQy5oIgogI2lu
Y2x1ZGUgIkhFVkNVdGlsaXRpZXMuaCIKICNpbmNsdWRlICJNZWRpYUNhcGFiaWxpdGllc0luZm8u
aCIKIAogI2luY2x1ZGUgIlZpZGVvVG9vbGJveFNvZnRMaW5rLmgiCiAKK1NPRlRfTElOS19GUkFN
RVdPUktfT1BUSU9OQUwoQVZGb3VuZGF0aW9uKQorU09GVF9MSU5LX0NPTlNUQU5UX01BWV9GQUlM
KEFWRm91bmRhdGlvbiwgQVZWaWRlb0NvZGVjVHlwZUhFVkNXaXRoQWxwaGEsIE5TU3RyaW5nICop
CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotYm9vbCB2YWxpZGF0ZUhFVkNQYXJhbWV0ZXJzKEhF
VkNQYXJhbWV0ZXJTZXQmIHBhcmFtZXRlcnMsIE1lZGlhQ2FwYWJpbGl0aWVzSW5mbyYgaW5mbykK
K2Jvb2wgdmFsaWRhdGVIRVZDUGFyYW1ldGVycyhIRVZDUGFyYW1ldGVyU2V0JiBwYXJhbWV0ZXJz
LCBNZWRpYUNhcGFiaWxpdGllc0luZm8mIGluZm8sIGJvb2wgaGFzQWxwaGFDaGFubmVsKQogewor
ICAgIENNVmlkZW9Db2RlY1R5cGUgY29kZWMgPSBrQ01WaWRlb0NvZGVjVHlwZV9IRVZDOworICAg
IGlmIChoYXNBbHBoYUNoYW5uZWwpIHsKKyAgICAgICAgaWYgKCFBVkZvdW5kYXRpb25MaWJyYXJ5
KCkgfHwgIWNhbkxvYWRBVlZpZGVvQ29kZWNUeXBlSEVWQ1dpdGhBbHBoYSgpKQorICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIGF1dG8gY29kZWNDb2RlID0gRm91ckNDOjpmcm9t
U3RyaW5nKGdldEFWVmlkZW9Db2RlY1R5cGVIRVZDV2l0aEFscGhhKCkpOworICAgICAgICBpZiAo
IWNvZGVjQ29kZSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICBjb2RlYyA9
IGNvZGVjQ29kZS52YWx1ZSgpLnZhbHVlOworICAgIH0KKyAgICBPU1N0YXR1cyBzdGF0dXMgPSBW
VFNlbGVjdEFuZENyZWF0ZVZpZGVvRGVjb2Rlckluc3RhbmNlKGNvZGVjLCBrQ0ZBbGxvY2F0b3JE
ZWZhdWx0LCBudWxscHRyLCBudWxscHRyKTsKKyAgICBpZiAoc3RhdHVzICE9IG5vRXJyKQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisKICAgICBpZiAoIWNhbkxvYWRfVmlkZW9Ub29sYm94X1ZUQ29w
eUhFVkNEZWNvZGVyQ2FwYWJpbGl0aWVzRGljdGlvbmFyeSgpCiAgICAgICAgIHx8ICFjYW5Mb2Fk
X1ZpZGVvVG9vbGJveF9rVlRIRVZDRGVjb2RlckNhcGFiaWxpdHlfU3VwcG9ydGVkUHJvZmlsZXMo
KQogICAgICAgICB8fCAhY2FuTG9hZF9WaWRlb1Rvb2xib3hfa1ZUSEVWQ0RlY29kZXJDYXBhYmls
aXR5X1BlclByb2ZpbGVTdXBwb3J0KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NvY29hL01lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlDb2NvYS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9NZWRpYUVuZ2luZUNv
bmZpZ3VyYXRpb25GYWN0b3J5Q29jb2EuY3BwCmluZGV4IDI3ZjM3NjY1ZWViLi5hZWY3Njk1ZDAz
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvTWVk
aWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeUNvY29hLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9NZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5
Q29jb2EuY3BwCkBAIC03NiwxNSArNzYsMjQgQEAgdm9pZCBjcmVhdGVNZWRpYVBsYXllckRlY29k
aW5nQ29uZmlndXJhdGlvbkNvY29hKE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uJiYgY28KICAg
ICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCisgICAgICAgIGJvb2wgYWxwaGFDaGFubmVs
ID0gdmlkZW9Db25maWd1cmF0aW9uLmFscGhhQ2hhbm5lbCAmJiB2aWRlb0NvbmZpZ3VyYXRpb24u
YWxwaGFDaGFubmVsLnZhbHVlKCk7CisKICAgICAgICAgaWYgKHZpZGVvQ29kZWNUeXBlID09IGtD
TVZpZGVvQ29kZWNUeXBlX0hFVkMpIHsKICAgICAgICAgICAgIGF1dG8gcGFyYW1ldGVycyA9IHBh
cnNlSEVWQ0NvZGVjUGFyYW1ldGVycyhjb2RlYyk7Ci0gICAgICAgICAgICBpZiAoIXBhcmFtZXRl
cnMgfHwgIXZhbGlkYXRlSEVWQ1BhcmFtZXRlcnMocGFyYW1ldGVycy52YWx1ZSgpLCBpbmZvKSkg
eworICAgICAgICAgICAgaWYgKCFwYXJhbWV0ZXJzIHx8ICF2YWxpZGF0ZUhFVkNQYXJhbWV0ZXJz
KHBhcmFtZXRlcnMudmFsdWUoKSwgaW5mbywgYWxwaGFDaGFubmVsKSkgeworICAgICAgICAgICAg
ICAgIGNhbGxiYWNrKHt7IH0sIFdURk1vdmUoY29uZmlndXJhdGlvbil9KTsKKyAgICAgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAg
ICBpZiAoYWxwaGFDaGFubmVsKSB7CiAgICAgICAgICAgICAgICAgY2FsbGJhY2soe3sgfSwgV1RG
TW92ZShjb25maWd1cmF0aW9uKX0pOwogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAg
ICAgIH0KLSAgICAgICAgfSBlbHNlIGlmIChjYW5Mb2FkX1ZpZGVvVG9vbGJveF9WVElzSGFyZHdh
cmVEZWNvZGVTdXBwb3J0ZWQoKSkgewotICAgICAgICAgICAgaW5mby5wb3dlckVmZmljaWVudCA9
IFZUSXNIYXJkd2FyZURlY29kZVN1cHBvcnRlZCh2aWRlb0NvZGVjVHlwZSk7Ci0gICAgICAgICAg
ICBpbmZvLnNtb290aCA9IHRydWU7CisKKyAgICAgICAgICAgIGlmIChjYW5Mb2FkX1ZpZGVvVG9v
bGJveF9WVElzSGFyZHdhcmVEZWNvZGVTdXBwb3J0ZWQoKSkgeworICAgICAgICAgICAgICAgIGlu
Zm8ucG93ZXJFZmZpY2llbnQgPSBWVElzSGFyZHdhcmVEZWNvZGVTdXBwb3J0ZWQodmlkZW9Db2Rl
Y1R5cGUpOworICAgICAgICAgICAgICAgIGluZm8uc21vb3RoID0gdHJ1ZTsKKyAgICAgICAgICAg
IH0KICAgICAgICAgfQogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFjYXBhYmlsaXRpZXMvVmlkZW9Db25maWd1cmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9WaWRlb0NvbmZpZ3VyYXRpb24uaAppbmRleCBh
Mzc4ZmQzMDlmNi4uNzQ1ZjhiOGUzM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhY2FwYWJpbGl0aWVzL1ZpZGVvQ29uZmlndXJhdGlvbi5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL1ZpZGVvQ29uZmlndXJhdGlvbi5oCkBA
IC0yNSw2ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSA8d3RmL09wdGlvbmFs
Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKQEAgLTM1LDYgKzM2LDcgQEAgc3RydWN0IFZpZGVvQ29uZmlndXJhdGlvbiB7CiAgICAgdWlu
dDMyX3QgaGVpZ2h0OwogICAgIHVpbnQ2NF90IGJpdHJhdGU7CiAgICAgZG91YmxlIGZyYW1lcmF0
ZTsKKyAgICBPcHRpb25hbDxib29sPiBhbHBoYUNoYW5uZWw7CiB9OwogCiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZh
Y3RvcnlNb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTWVkaWFFbmdpbmVD
b25maWd1cmF0aW9uRmFjdG9yeU1vY2suY3BwCmluZGV4IDc1ZTI5N2NkMGQzLi5lYWRiMDcyYmQy
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9NZWRpYUVuZ2luZUNv
bmZpZ3VyYXRpb25GYWN0b3J5TW9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bW9jay9NZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5TW9jay5jcHAKQEAgLTQ3LDYgKzQ3
LDEyIEBAIHN0YXRpYyBib29sIGNhbkRlY29kZU1lZGlhKGNvbnN0IE1lZGlhRGVjb2RpbmdDb25m
aWd1cmF0aW9uJiBjb25maWd1cmF0aW9uKQogICAgIGlmICh2aWRlb0NvbmZpZyAmJiB2aWRlb0Nv
bmZpZy0+d2lkdGggPiAxMjgwICYmIHZpZGVvQ29uZmlnLT5oZWlnaHQgPiA3MjApCiAgICAgICAg
IHJldHVybiBmYWxzZTsKIAorICAgIC8vIE9ubHkgdGhlICJtb2NrLXdpdGgtYWxwaGEiIGNvZGVj
IHN1cHBvcnRzIGFscGhhQ2hhbm5lbAorICAgIGlmICh2aWRlb0NvbmZpZyAmJiB2aWRlb0NvbmZp
Zy0+YWxwaGFDaGFubmVsICYmIHZpZGVvQ29uZmlnLT5hbHBoYUNoYW5uZWwudmFsdWUoKSkgewor
ICAgICAgICBpZiAoQ29udGVudFR5cGUodmlkZW9Db25maWctPmNvbnRlbnRUeXBlKS5jb2RlY3NQ
YXJhbWV0ZXIoKSAhPSAibW9jay13aXRoLWFscGhhIikKKyAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICB9CisKICAgICAvLyBBdWRpbyBkZWNvZGluZyBzdXBwb3J0IGxpbWl0ZWQgdG8gYXVk
aW8vbXA0LgogICAgIGF1dG8gYXVkaW9Db25maWcgPSBjb25maWd1cmF0aW9uLmF1ZGlvOwogICAg
IGlmIChhdWRpb0NvbmZpZykKQEAgLTkyLDYgKzk4LDEyIEBAIHN0YXRpYyBib29sIGNhbkVuY29k
ZU1lZGlhKGNvbnN0IE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uJiBjb25maWd1cmF0aW9uKQog
ICAgIGlmICh2aWRlb0NvbmZpZyAmJiB2aWRlb0NvbmZpZy0+d2lkdGggPiAxMjgwICYmIHZpZGVv
Q29uZmlnLT5oZWlnaHQgPiA3MjApCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIC8vIE9u
bHkgdGhlICJtb2NrLXdpdGgtYWxwaGEiIGNvZGVjIHN1cHBvcnRzIGFscGhhQ2hhbm5lbAorICAg
IGlmICh2aWRlb0NvbmZpZyAmJiB2aWRlb0NvbmZpZy0+YWxwaGFDaGFubmVsICYmIHZpZGVvQ29u
ZmlnLT5hbHBoYUNoYW5uZWwudmFsdWUoKSkgeworICAgICAgICBpZiAoQ29udGVudFR5cGUodmlk
ZW9Db25maWctPmNvbnRlbnRUeXBlKS5jb2RlY3NQYXJhbWV0ZXIoKSAhPSAibW9jay13aXRoLWFs
cGhhIikKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKICAgICAvLyBBdWRpbyBl
bmNvZGluZyBzdXBwb3J0IGxpbWl0ZWQgdG8gYXVkaW8vbXA0LgogICAgIGF1dG8gYXVkaW9Db25m
aWcgPSBjb25maWd1cmF0aW9uLmF1ZGlvOwogICAgIGlmIChhdWRpb0NvbmZpZyAmJiBDb250ZW50
VHlwZShhdWRpb0NvbmZpZy0+Y29udGVudFR5cGUpLmNvbnRhaW5lclR5cGUoKSAhPSAiYXVkaW8v
bXA0IikKLS0gCjIuMjAuMCAoQXBwbGUgR2l0LTExNSkKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364946</attachid>
            <date>2019-03-16 15:04:45 -0700</date>
            <delta_ts>2019-03-16 15:59:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195853-20190316150444.patch</filename>
            <type>text/plain</type>
            <size>36462</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQzMDA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjFlMzgxN2U2ZmNhYTZk
Y2MwMmM0OWJkM2ZlNWRjZjBkZGY4ZWFjZC4uOTM3NGJlMWQzMmU0ZGEzZDMxMDliMzA2YjIyNzE2
MWZkYWQ4YWJjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDE5LTAzLTE2ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBleHBlcmltZW50YWwg
ImFscGhhQ2hhbm5lbCIgcHJvcGVydHkgdG8gVmlkZW9Db25maWd1cmF0aW9uCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTU4NTMKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBtZWRpYS9tZWRpYWNh
cGFiaWxpdGllcy9tb2NrLWRlY29kaW5nSW5mby1hbHBoYUNoYW5uZWwuaHRtbAorCisgICAgICAg
IEFkZCBhIG5ldywgZXhwZXJpbWVudGFsIGFkZGl0aW9uIHRvIE1lZGlhIENhcGFiaWxpdGllcyB0
byBhbGxvdyBwYWdlcyB0byBxdWVyeSBmb3IKKyAgICAgICAgYWxwaGEgY2hhbm5lbCBzdXBwb3J0
LgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGll
cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNhcGFiaWxpdGllczo6ZGVjb2RpbmdJbmZv
KToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVz
Lmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGll
cy5pZGw6CisgICAgICAgICogTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9WaWRlb0NvbmZpZ3Vy
YXRpb24uaWRsOgorICAgICAgICAqIFNvdXJjZXNDb2NvYS50eHQ6CisgICAgICAgICogV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHBsYXRmb3JtL2NvY29hL1Zp
ZGVvVG9vbGJveFNvZnRMaW5rLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9WaWRlb1Rv
b2xib3hTb2Z0TGluay5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0hFVkNV
dGlsaXRpZXNDb2NvYS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0hFVkNV
dGlsaXRpZXNDb2NvYS5tbTogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NvY29hL0hFVkNVdGlsaXRpZXNDb2NvYS5jcHAuCisgICAgICAgIChXZWJDb3JlOjp2
YWxpZGF0ZUhFVkNQYXJhbWV0ZXJzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2Nv
YS9NZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5Q29jb2EuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Y3JlYXRlTWVkaWFQbGF5ZXJEZWNvZGluZ0NvbmZpZ3VyYXRpb25Db2NvYSk6CisgICAg
ICAgICogcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvVmlkZW9Db25maWd1cmF0aW9uLmg6Cisg
ICAgICAgICogcGxhdGZvcm0vbW9jay9NZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5TW9j
ay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjYW5EZWNvZGVNZWRpYSk6CisgICAgICAgIChXZWJD
b3JlOjpjYW5FbmNvZGVNZWRpYSk6CisKIDIwMTktMDMtMTUgIEplciBOb2JsZSAgPGplci5ub2Js
ZUBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIGEgbmV3IE1lZGlhQ2FwYWJpbGl0aWVzRXh0ZW5z
aW9uc0VuYWJsZWQgc2V0dGluZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmNwcAppbmRleCBiMzcy
MTExMjE1OGVhYjJhODMzNjZmNTlhMGVmZTY5ZmY0ZGIwYzM5Li4xMzk3NTJjMTQwN2ViYWQ0MzZm
NmYzZDFmOTRkZDI1NjY4MmJjMGY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmNwcApAQCAt
MjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIk1lZGlhQ2FwYWJpbGl0aWVzLmgiCiAKICNpbmNsdWRl
ICJDb250ZW50VHlwZS5oIgorI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiSlNNZWRp
YUNhcGFiaWxpdGllc0RlY29kaW5nSW5mby5oIgogI2luY2x1ZGUgIkpTTWVkaWFDYXBhYmlsaXRp
ZXNFbmNvZGluZ0luZm8uaCIKICNpbmNsdWRlICJNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5m
by5oIgpAQCAtMzQsNiArMzUsNyBAQAogI2luY2x1ZGUgIk1lZGlhRGVjb2RpbmdDb25maWd1cmF0
aW9uLmgiCiAjaW5jbHVkZSAiTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24uaCIKICNpbmNsdWRl
ICJNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5LmgiCisjaW5jbHVkZSAiU2V0dGluZ3Mu
aCIKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0x
NTksNyArMTYxLDcgQEAgc3RhdGljIGJvb2wgaXNWYWxpZE1lZGlhQ29uZmlndXJhdGlvbihjb25z
dCBNZWRpYUNvbmZpZ3VyYXRpb24mIGNvbmZpZ3VyYXRpb24pCiAgICAgcmV0dXJuIHRydWU7CiB9
CiAKLXZvaWQgTWVkaWFDYXBhYmlsaXRpZXM6OmRlY29kaW5nSW5mbyhNZWRpYURlY29kaW5nQ29u
ZmlndXJhdGlvbiYmIGNvbmZpZ3VyYXRpb24sIFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlz
ZSkKK3ZvaWQgTWVkaWFDYXBhYmlsaXRpZXM6OmRlY29kaW5nSW5mbyhEb2N1bWVudCYgZG9jdW1l
bnQsIE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uJiYgY29uZmlndXJhdGlvbiwgUmVmPERlZmVy
cmVkUHJvbWlzZT4mJiBwcm9taXNlKQogewogICAgIC8vIDIuNCBNZWRpYSBDYXBhYmlsaXRpZXMg
SW50ZXJmYWNlCiAgICAgLy8gaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9tZWRpYS1jYXBhYmlsaXRp
ZXMvI21lZGlhLWNhcGFiaWxpdGllcy1pbnRlcmZhY2UKQEAgLTE3Miw2ICsxNzQsOSBAQCB2b2lk
IE1lZGlhQ2FwYWJpbGl0aWVzOjpkZWNvZGluZ0luZm8oTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRp
b24mJiBjb25maWd1cmF0aW9uLAogICAgICAgICByZXR1cm47CiAgICAgfQogCisgICAgaWYgKCFk
b2N1bWVudC5zZXR0aW5ncygpLm1lZGlhQ2FwYWJpbGl0aWVzRXh0ZW5zaW9uc0VuYWJsZWQoKSAm
JiBjb25maWd1cmF0aW9uLnZpZGVvKQorICAgICAgICBjb25maWd1cmF0aW9uLnZpZGVvLnZhbHVl
KCkuYWxwaGFDaGFubmVsLnJlc2V0KCk7CisKICAgICAvLyA0LiBMZXQgcCBiZSBhIG5ldyBwcm9t
aXNlLgogICAgIC8vIDUuIEluIHBhcmFsbGVsLCBydW4gdGhlIGNyZWF0ZSBhIE1lZGlhQ2FwYWJp
bGl0aWVzSW5mbyBhbGdvcml0aG0gd2l0aCBjb25maWd1cmF0aW9uIGFuZCByZXNvbHZlIHAgd2l0
aCBpdHMgcmVzdWx0LgogICAgIC8vIDYuIFJldHVybiBwLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5oIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5o
CmluZGV4IGIzMTBlNjE4ODgwMzZkYzY4N2UwZWMzZDgwNGIwMGZjNWZiYzFmZWEuLjE4NTRmYTQ2
NjQ2MGFjZmM2ZDI2NjI3MTdhNTRkMmQ2Njc2MjBlZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXMuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVz
LmgKQEAgLTMxLDEyICszMSwxMyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIERv
Y3VtZW50Owogc3RydWN0IE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uOwogc3RydWN0IE1lZGlh
RW5jb2RpbmdDb25maWd1cmF0aW9uOwogCiBjbGFzcyBNZWRpYUNhcGFiaWxpdGllcyA6IHB1Ymxp
YyBSZWZDb3VudGVkPE1lZGlhQ2FwYWJpbGl0aWVzPiB7CiBwdWJsaWM6Ci0gICAgdm9pZCBkZWNv
ZGluZ0luZm8oTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24mJiwgUmVmPERlZmVycmVkUHJvbWlz
ZT4mJik7CisgICAgdm9pZCBkZWNvZGluZ0luZm8oRG9jdW1lbnQmLCBNZWRpYURlY29kaW5nQ29u
ZmlndXJhdGlvbiYmLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmKTsKICAgICB2b2lkIGVuY29kaW5n
SW5mbyhNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbiYmLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYm
KTsKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFj
YXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXMuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5pZGwKaW5kZXggMWU5ZTRkMTFh
NmI2YWI2ZmJjMmY3MWEyMzk4OTQ4MmQxMmY1NzUyYi4uNDNhZDU2OGQ4ZTNmM2I4MDZlOGQ4YzVi
MDUyNGEzYTk0OTE3NGE4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5pZGwKQEAgLTI4LDYg
KzI4LDYgQEAKICAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCiBdCiBpbnRlcmZhY2UgTWVk
aWFDYXBhYmlsaXRpZXMgewotICBQcm9taXNlPE1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZv
PiBkZWNvZGluZ0luZm8oTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24gY29uZmlndXJhdGlvbik7
CisgIFtDYWxsV2l0aD1Eb2N1bWVudF0gUHJvbWlzZTxNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5n
SW5mbz4gZGVjb2RpbmdJbmZvKE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uIGNvbmZpZ3VyYXRp
b24pOwogICBQcm9taXNlPE1lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvPiBlbmNvZGluZ0lu
Zm8oTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24gY29uZmlndXJhdGlvbik7CiB9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9WaWRlb0NvbmZp
Z3VyYXRpb24uaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9W
aWRlb0NvbmZpZ3VyYXRpb24uaWRsCmluZGV4IDIwMjUxOTFjODA0OTg4YjY1MDE4MzM5OWNmZjFh
NzBmZWVhMmFjZmUuLmJjYTFlZjBhOTdjNWI0ZjEyZDY3MjNkM2RjODI5ZTdmOThiNGQ3MTUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvVmlkZW9D
b25maWd1cmF0aW9uLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJp
bGl0aWVzL1ZpZGVvQ29uZmlndXJhdGlvbi5pZGwKQEAgLTMzLDQgKzMzLDUgQEAgZGljdGlvbmFy
eSBWaWRlb0NvbmZpZ3VyYXRpb24gewogICByZXF1aXJlZCB1bnNpZ25lZCBsb25nIGhlaWdodDsK
ICAgcmVxdWlyZWQgdW5zaWduZWQgbG9uZyBsb25nIGJpdHJhdGU7CiAgIHJlcXVpcmVkIGRvdWJs
ZSBmcmFtZXJhdGU7CisgIFtFbmFibGVkQnlTZXR0aW5nPU1lZGlhQ2FwYWJpbGl0aWVzRXh0ZW5z
aW9uc10gYm9vbGVhbiBhbHBoYUNoYW5uZWw7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvU291cmNlc0NvY29hLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQKaW5k
ZXggY2FhYjllZDM2OTVmYTU3Yjg1Y2UwYWZkZTQzMzM1YmY2NzliNTdjYy4uZDhhYTgyMjlkODZh
NzcxZWQwOGI0Njg3Mjk2ZTI3NDcwNmJjYzk1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
U291cmNlc0NvY29hLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0CkBA
IC0zMDAsNyArMzAwLDcgQEAgcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENvY29hLm1tCiBw
bGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250RGVzY3JpcHRpb25Db2NvYS5jcHAKIHBsYXRmb3Jt
L2dyYXBoaWNzL2NvY29hL0ZvbnRGYW1pbHlTcGVjaWZpY2F0aW9uQ29yZVRleHQuY3BwCiBwbGF0
Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250UGxhdGZvcm1EYXRhQ29jb2EubW0KLXBsYXRmb3JtL2dy
YXBoaWNzL2NvY29hL0hFVkNVdGlsaXRpZXNDb2NvYS5jcHAKK3BsYXRmb3JtL2dyYXBoaWNzL2Nv
Y29hL0hFVkNVdGlsaXRpZXNDb2NvYS5tbQogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvSU9TdXJm
YWNlLm1tCiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9JT1N1cmZhY2VQb29sQ29jb2EubW0KIHBs
YXRmb3JtL2dyYXBoaWNzL2NvY29hL01lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlDb2Nv
YS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagppbmRleCBjZDk5MGZkYTg1MTE4ZjRmMmM0NjZkZmRjMDI2Mzg4YTdjZGY3MmJjLi5mOGQ0
NjY1MjMxODA3Y2RlYjI2MDEzMWVmNWQwMzNhNTY4N2FlY2E4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMzc1NCw3ICsxMzc1
NCw3IEBACiAJCUNEQTU5NTkxMjE0NkRFQzMwMEE4NDE4NSAvKiBIRVZDVXRpbGl0aWVzLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEhFVkNVdGlsaXRpZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQ0RBNTk1OTIyMTQ2REVDMzAwQTg0MTg1IC8qIEhFVkNVdGlsaXRpZXMuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gSEVWQ1V0aWxpdGllcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUNEQTU5NTk2MjE0NkRGNzgwMEE4NDE4NSAvKiBIRVZDVXRpbGl0aWVzQ29jb2EuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSEVWQ1V0aWxpdGllc0NvY29hLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07Ci0JCUNEQTU5NTk3MjE0NkRGNzgwMEE4NDE4NSAvKiBIRVZDVXRpbGl0aWVzQ29jb2EuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSEVWQ1V0aWxpdGllc0NvY29hLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQ0RBNTk1OTcyMTQ2REY3ODAwQTg0MTg1IC8qIEhFVkNVdGlsaXRp
ZXNDb2NvYS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEhFVkNVdGlsaXRpZXNDb2NvYS5tbTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RBNzk4MjExNzBBMjJEQzAwRDQ1QzU1IC8q
IEF1ZGlvU2Vzc2lvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBdWRpb1Nlc3Npb24uaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RBNzk4MjMxNzBBMjU4MzAwRDQ1QzU1IC8qIEF1ZGlvU2Vz
c2lvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBdWRpb1Nlc3Np
b24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDREE3OTgyNTE3MEEyNzkwMDBE
NDVDNTUgLyogQXVkaW9TZXNzaW9uSU9TLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gQXVkaW9TZXNzaW9uSU9TLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMjQ5OTAsOCArMjQ5OTAsOCBAQAogCQkJCUI1MzIwRDZBMTIyQTI0RTkwMDJEMTQ0MCAv
KiBGb250UGxhdGZvcm1EYXRhQ29jb2EubW0gKi8sCiAJCQkJNDlGRkJGMUMxMUM4NTUwRTAwNkE3
MTE4IC8qIEdyYXBoaWNzQ29udGV4dDNEQ29jb2EubW0gKi8sCiAJCQkJQjI3N0I0MDMwQjIyRjM3
QzAwMDRCRUM2IC8qIEdyYXBoaWNzQ29udGV4dENvY29hLm1tICovLAotCQkJCUNEQTU5NTk3MjE0
NkRGNzgwMEE4NDE4NSAvKiBIRVZDVXRpbGl0aWVzQ29jb2EuY3BwICovLAogCQkJCUNEQTU5NTk2
MjE0NkRGNzgwMEE4NDE4NSAvKiBIRVZDVXRpbGl0aWVzQ29jb2EuaCAqLywKKwkJCQlDREE1OTU5
NzIxNDZERjc4MDBBODQxODUgLyogSEVWQ1V0aWxpdGllc0NvY29hLm1tICovLAogCQkJCTJEMEI0
QUE5MThEQTFDQ0QwMDQzNERFMSAvKiBJT1N1cmZhY2UuaCAqLywKIAkJCQkyRDBCNEFBQTE4REEx
Q0NEMDA0MzRERTEgLyogSU9TdXJmYWNlLm1tICovLAogCQkJCUFEOUZGNkUwMTkwODM5MUQwMDNC
NjFFMCAvKiBJT1N1cmZhY2VQb29sQ29jb2EubW0gKi8sCkBAIC0zMDgxMyw2ICszMDgxMyw4IEBA
CiAJCQkJNDlFOTExQzcwRUY4NkQ0NzAwOUQwQ0FGIC8qIE1hdHJpeFRyYW5zZm9ybU9wZXJhdGlv
bi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUNCQzhEQUQxQUFBMzAyMjAwRTFDODAzIC8qIE1lZGlh
QWNjZXNzaWJpbGl0eVNvZnRMaW5rLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzFCQ0M2MTExMjRE
RkNCMDBCRTcwREQgLyogTWVkaWFDYW5TdGFydExpc3RlbmVyLmggaW4gSGVhZGVycyAqLywKKwkJ
CQlDRENDOUJDRjIyMzg3RTlBMDBGRkI1MUMgLyogTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0lu
Zm8uaCBpbiBIZWFkZXJzICovLAorCQkJCUNEQ0M5QkQxMjIzODdFQUEwMEZGQjUxQyAvKiBNZWRp
YUNhcGFiaWxpdGllc0VuY29kaW5nSW5mby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDc4RTA5M0Ex
N0QxNkUxQzAwNDIwQUExIC8qIE1lZGlhQ29uc3RyYWludHMuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTQxNzI1M0FCMTM1NEJCQkMwMDM2MEYyQSAvKiBNZWRpYUNvbnRyb2xFbGVtZW50cy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJREVCQ0NERDQxNjY0NkVBRjAwQTQ1MkUxIC8qIE1lZGlhQ29udHJvbEVs
ZW1lbnRUeXBlcy5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMjExOCw3ICszMjEyMCw2IEBACiAJCQkJ
QzY1MDQ2QTkxNjdCRkI1NTAwQ0MyQTREIC8qIFRlbXBsYXRlQ29udGVudERvY3VtZW50RnJhZ21l
bnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTI2RTk0NEREMUFDNEI0RUEwMDdCODVCNSAvKiBUZXJt
LmggaW4gSGVhZGVycyAqLywKIAkJCQk2NTUwQjZBNjA5OURGMDI3MDA5MEQ3ODEgLyogVGV4dC5o
IGluIEhlYWRlcnMgKi8sCi0JCQkJQ0RDQzlCRDEyMjM4N0VBQTAwRkZCNTFDIC8qIE1lZGlhQ2Fw
YWJpbGl0aWVzRW5jb2RpbmdJbmZvLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzMwOUUxNzA5OUU2
NDkyMDA1NkU1ODEgLyogVGV4dEFmZmluaXR5LmggaW4gSGVhZGVycyAqLywKIAkJCQlDRTdCMkRC
NTE1ODZBQkFEMDA5OEIzRkEgLyogVGV4dEFsdGVybmF0aXZlV2l0aFJhbmdlLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkwRjU0RENFNjE4ODEwNTFEMDAzRUVEQkIgLyogVGV4dEF1dG9TaXppbmcuaCBp
biBIZWFkZXJzICovLApAQCAtMzIyMTIsNyArMzIyMTMsNiBAQAogCQkJCTQ5RTkxMUM0MEVGODZE
NDcwMDlEMENBRiAvKiBUcmFuc2Zvcm1hdGlvbk1hdHJpeC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
RkI0ODRGNEQxNzFGODIxRTAwMDQwNzU1IC8qIFRyYW5zZm9ybUZ1bmN0aW9ucy5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNDlFOTExQ0UwRUY4NkQ0NzAwOUQwQ0FGIC8qIFRyYW5zZm9ybU9wZXJhdGlv
bi5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQ0RDQzlCQ0YyMjM4N0U5QTAwRkZCNTFDIC8qIE1lZGlh
Q2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OUU5MTFEMDBF
Rjg2RDQ3MDA5RDBDQUYgLyogVHJhbnNmb3JtT3BlcmF0aW9ucy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNURCMUJDNkExMDcxNUE2NDAwRUZBQTQ5IC8qIFRyYW5zZm9ybVNvdXJjZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNDk0NUJGRDQxM0NGODA5MDAwQ0MzQjM4IC8qIFRyYW5zZm9ybVN0YXRlLmgg
aW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29h
L1ZpZGVvVG9vbGJveFNvZnRMaW5rLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29h
L1ZpZGVvVG9vbGJveFNvZnRMaW5rLmNwcAppbmRleCA5NGQ1ODMxMDJjOTk4NDk5ZmE4N2VlMzg5
YjBlMjU1NTc3YTMzNzE5Li41OTcxZDM5ODFlOTQ1MzJmZWQwMDU5YzRiNmRmYzcyY2IwYzc3NmJh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9WaWRlb1Rvb2xib3hT
b2Z0TGluay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvVmlkZW9Ub29s
Ym94U29mdExpbmsuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSA8VmlkZW9Ub29sYm94
L1ZpZGVvVG9vbGJveC5oPgogI2luY2x1ZGUgPHd0Zi9Tb2Z0TGlua2luZy5oPgogCit0eXBlZGVm
IHN0cnVjdCBPcGFxdWVWVFZpZGVvRGVjb2RlciBWVFZpZGVvRGVjb2RlclJlZjsKIHR5cGVkZWYg
c3RydWN0IE9wYXF1ZVZUSW1hZ2VSb3RhdGlvblNlc3Npb24qIFZUSW1hZ2VSb3RhdGlvblNlc3Np
b25SZWY7CiB0eXBlZGVmIHN0cnVjdCBPcGFxdWVWVFBpeGVsQnVmZmVyQ29uZm9ybWVyKiBWVFBp
eGVsQnVmZmVyQ29uZm9ybWVyUmVmOwogdHlwZWRlZiBzdHJ1Y3QgT3BhcXVlVlRQaXhlbFRyYW5z
ZmVyU2Vzc2lvbiogVlRQaXhlbFRyYW5zZmVyU2Vzc2lvblJlZjsKQEAgLTUwLDYgKzUxLDcgQEAg
U09GVF9MSU5LX0ZVTkNUSU9OX01BWV9GQUlMX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgVmlkZW9Ub29s
Ym94LCBWVEdldEdWQURlY29kZXJBdmEKIFNPRlRfTElOS19GVU5DVElPTl9NQVlfRkFJTF9GT1Jf
U09VUkNFKFdlYkNvcmUsIFZpZGVvVG9vbGJveCwgVlRDcmVhdGVDR0ltYWdlRnJvbUNWUGl4ZWxC
dWZmZXIsIE9TU3RhdHVzLCAoQ1ZQaXhlbEJ1ZmZlclJlZiBwaXhlbEJ1ZmZlciwgQ0ZEaWN0aW9u
YXJ5UmVmIG9wdGlvbnMsIENHSW1hZ2VSZWYqIGltYWdlT3V0KSwgKHBpeGVsQnVmZmVyLCBvcHRp
b25zLCBpbWFnZU91dCkpCiBTT0ZUX0xJTktfRlVOQ1RJT05fTUFZX0ZBSUxfRk9SX1NPVVJDRShX
ZWJDb3JlLCBWaWRlb1Rvb2xib3gsIFZUQ29weUhFVkNEZWNvZGVyQ2FwYWJpbGl0aWVzRGljdGlv
bmFyeSwgQ0ZEaWN0aW9uYXJ5UmVmLCAoKSwgKCkpCiBTT0ZUX0xJTktfRlVOQ1RJT05fTUFZX0ZB
SUxfRk9SX1NPVVJDRShXZWJDb3JlLCBWaWRlb1Rvb2xib3gsIFZUR2V0SEVWQ0NhcGFiaWxpdGVz
Rm9yRm9ybWF0RGVzY3JpcHRpb24sIE9TU3RhdHVzLCAoQ01WaWRlb0Zvcm1hdERlc2NyaXB0aW9u
UmVmIGZvcm1hdERlc2NyaXB0aW9uLCBDRkRpY3Rpb25hcnlSZWYgZGVjb2RlckNhcGFiaWxpdGll
c0RpY3QsIEJvb2xlYW4qIGlzRGVjb2RhYmxlLCBCb29sZWFuKiBtYXlCZVBsYXlhYmxlKSwgKGZv
cm1hdERlc2NyaXB0aW9uLCBkZWNvZGVyQ2FwYWJpbGl0aWVzRGljdCwgaXNEZWNvZGFibGUsIG1h
eUJlUGxheWFibGUpKQorU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgVmlk
ZW9Ub29sYm94LCBWVFNlbGVjdEFuZENyZWF0ZVZpZGVvRGVjb2Rlckluc3RhbmNlLCBPU1N0YXR1
cywgKENNVmlkZW9Db2RlY1R5cGUgY29kZWNUeXBlLCBDRkFsbG9jYXRvclJlZiBhbGxvY2F0b3Is
IENGRGljdGlvbmFyeVJlZiB2aWRlb0RlY29kZXJTcGVjaWZpY2F0aW9uLCBWVFZpZGVvRGVjb2Rl
clJlZiAqZGVjb2Rlckluc3RhbmNlT3V0KSwgKGNvZGVjVHlwZSwgYWxsb2NhdG9yLCB2aWRlb0Rl
Y29kZXJTcGVjaWZpY2F0aW9uLCBkZWNvZGVySW5zdGFuY2VPdXQpKQogU09GVF9MSU5LX0NPTlNU
QU5UX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgVmlkZW9Ub29sYm94LCBrVlRWaWRlb0RlY29kZXJTcGVj
aWZpY2F0aW9uX0VuYWJsZUhhcmR3YXJlQWNjZWxlcmF0ZWRWaWRlb0RlY29kZXIsIENGU3RyaW5n
UmVmKQogU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgVmlkZW9Ub29sYm94
LCBrVlREZWNvbXByZXNzaW9uUHJvcGVydHlLZXlfUGl4ZWxCdWZmZXJQb29sLCBDRlN0cmluZ1Jl
ZikKIFNPRlRfTElOS19DT05TVEFOVF9GT1JfU09VUkNFKFdlYkNvcmUsIFZpZGVvVG9vbGJveCwg
a1ZURGVjb21wcmVzc2lvblByb3BlcnR5S2V5X1N1Z2dlc3RlZFF1YWxpdHlPZlNlcnZpY2VUaWVy
cywgQ0ZTdHJpbmdSZWYpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2Nv
YS9WaWRlb1Rvb2xib3hTb2Z0TGluay5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2Ev
VmlkZW9Ub29sYm94U29mdExpbmsuaAppbmRleCAyOTUwMDk1ZGMyMzU2Y2I1NzE0MWM0NTU2ZmUy
ZmU0ZmZmOGI1NDdiLi5hYzQ5MjQ3ZmI0NjUyNDAxZTY3MDBhMzgxMzNjNjNkZGVmY2NiODM4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9WaWRlb1Rvb2xib3hTb2Z0
TGluay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1ZpZGVvVG9vbGJveFNv
ZnRMaW5rLmgKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlIDxWaWRlb1Rvb2xib3gvVmlkZW9U
b29sYm94Lmg+CiAjaW5jbHVkZSA8d3RmL1NvZnRMaW5raW5nLmg+CiAKK3R5cGVkZWYgc3RydWN0
IE9wYXF1ZVZUVmlkZW9EZWNvZGVyIFZUVmlkZW9EZWNvZGVyUmVmOwogdHlwZWRlZiBzdHJ1Y3Qg
T3BhcXVlVlRJbWFnZVJvdGF0aW9uU2Vzc2lvbiogVlRJbWFnZVJvdGF0aW9uU2Vzc2lvblJlZjsK
IHR5cGVkZWYgc3RydWN0IE9wYXF1ZVZUUGl4ZWxCdWZmZXJDb25mb3JtZXIqIFZUUGl4ZWxCdWZm
ZXJDb25mb3JtZXJSZWY7CiB0eXBlZGVmIHN0cnVjdCBPcGFxdWVWVFBpeGVsVHJhbnNmZXJTZXNz
aW9uKiBWVFBpeGVsVHJhbnNmZXJTZXNzaW9uUmVmOwpAQCAtNjQsNiArNjUsOCBAQCBTT0ZUX0xJ
TktfRlVOQ1RJT05fTUFZX0ZBSUxfRk9SX0hFQURFUihXZWJDb3JlLCBWaWRlb1Rvb2xib3gsIFZU
Q29weUhFVkNEZWNvZGVyQwogI2RlZmluZSBWVENvcHlIRVZDRGVjb2RlckNhcGFiaWxpdGllc0Rp
Y3Rpb25hcnkgc29mdExpbmtfVmlkZW9Ub29sYm94X1ZUQ29weUhFVkNEZWNvZGVyQ2FwYWJpbGl0
aWVzRGljdGlvbmFyeQogU09GVF9MSU5LX0ZVTkNUSU9OX01BWV9GQUlMX0ZPUl9IRUFERVIoV2Vi
Q29yZSwgVmlkZW9Ub29sYm94LCBWVEdldEhFVkNDYXBhYmlsaXRlc0ZvckZvcm1hdERlc2NyaXB0
aW9uLCBPU1N0YXR1cywgKENNVmlkZW9Gb3JtYXREZXNjcmlwdGlvblJlZiBmb3JtYXREZXNjcmlw
dGlvbiwgQ0ZEaWN0aW9uYXJ5UmVmIGRlY29kZXJDYXBhYmlsaXRpZXNEaWN0LCBCb29sZWFuKiBp
c0RlY29kYWJsZSwgQm9vbGVhbiogbWF5QmVQbGF5YWJsZSksIChmb3JtYXREZXNjcmlwdGlvbiwg
ZGVjb2RlckNhcGFiaWxpdGllc0RpY3QsIGlzRGVjb2RhYmxlLCBtYXlCZVBsYXlhYmxlKSkKICNk
ZWZpbmUgVlRHZXRIRVZDQ2FwYWJpbGl0ZXNGb3JGb3JtYXREZXNjcmlwdGlvbiBzb2Z0TGlua19W
aWRlb1Rvb2xib3hfVlRHZXRIRVZDQ2FwYWJpbGl0ZXNGb3JGb3JtYXREZXNjcmlwdGlvbgorU09G
VF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoV2ViQ29yZSwgVmlkZW9Ub29sYm94LCBWVFNlbGVj
dEFuZENyZWF0ZVZpZGVvRGVjb2Rlckluc3RhbmNlLCBPU1N0YXR1cywgKENNVmlkZW9Db2RlY1R5
cGUgY29kZWNUeXBlLCBDRkFsbG9jYXRvclJlZiBhbGxvY2F0b3IsIENGRGljdGlvbmFyeVJlZiB2
aWRlb0RlY29kZXJTcGVjaWZpY2F0aW9uLCBWVFZpZGVvRGVjb2RlclJlZiAqZGVjb2Rlckluc3Rh
bmNlT3V0KSwgKGNvZGVjVHlwZSwgYWxsb2NhdG9yLCB2aWRlb0RlY29kZXJTcGVjaWZpY2F0aW9u
LCBkZWNvZGVySW5zdGFuY2VPdXQpKQorI2RlZmluZSBWVFNlbGVjdEFuZENyZWF0ZVZpZGVvRGVj
b2Rlckluc3RhbmNlIHNvZnRMaW5rX1ZpZGVvVG9vbGJveF9WVFNlbGVjdEFuZENyZWF0ZVZpZGVv
RGVjb2Rlckluc3RhbmNlCiBTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX0hFQURFUihXZWJDb3JlLCBW
aWRlb1Rvb2xib3gsIGtWVFZpZGVvRGVjb2RlclNwZWNpZmljYXRpb25fRW5hYmxlSGFyZHdhcmVB
Y2NlbGVyYXRlZFZpZGVvRGVjb2RlciwgQ0ZTdHJpbmdSZWYpCiAjZGVmaW5lIGtWVFZpZGVvRGVj
b2RlclNwZWNpZmljYXRpb25fRW5hYmxlSGFyZHdhcmVBY2NlbGVyYXRlZFZpZGVvRGVjb2RlciBn
ZXRfVmlkZW9Ub29sYm94X2tWVFZpZGVvRGVjb2RlclNwZWNpZmljYXRpb25fRW5hYmxlSGFyZHdh
cmVBY2NlbGVyYXRlZFZpZGVvRGVjb2RlcigpCiBTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX0hFQURF
UihXZWJDb3JlLCBWaWRlb1Rvb2xib3gsIGtWVERlY29tcHJlc3Npb25Qcm9wZXJ0eUtleV9QaXhl
bEJ1ZmZlclBvb2wsIENGU3RyaW5nUmVmKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY29jb2EvSEVWQ1V0aWxpdGllc0NvY29hLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0hFVkNVdGlsaXRpZXNDb2NvYS5jcHAKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY2NzE5YThlYzYxMjA2ZGVmYTFkYTgxMWI2ZTU2MjM4
MzI2ZDJiYjEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvSEVWQ1V0aWxpdGllc0NvY29h
LmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDEwMSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChD
KSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
LSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1
ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkhFVkNVdGlsaXRpZXNDb2NvYS5oIgotCi0jaWYgUExB
VEZPUk0oQ09DT0EpCi0KLSNpbmNsdWRlICJIRVZDVXRpbGl0aWVzLmgiCi0jaW5jbHVkZSAiTWVk
aWFDYXBhYmlsaXRpZXNJbmZvLmgiCi0KLSNpbmNsdWRlICJWaWRlb1Rvb2xib3hTb2Z0TGluay5o
IgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWJvb2wgdmFsaWRhdGVIRVZDUGFyYW1ldGVycyhI
RVZDUGFyYW1ldGVyU2V0JiBwYXJhbWV0ZXJzLCBNZWRpYUNhcGFiaWxpdGllc0luZm8mIGluZm8p
Ci17Ci0gICAgaWYgKCFjYW5Mb2FkX1ZpZGVvVG9vbGJveF9WVENvcHlIRVZDRGVjb2RlckNhcGFi
aWxpdGllc0RpY3Rpb25hcnkoKQotICAgICAgICB8fCAhY2FuTG9hZF9WaWRlb1Rvb2xib3hfa1ZU
SEVWQ0RlY29kZXJDYXBhYmlsaXR5X1N1cHBvcnRlZFByb2ZpbGVzKCkKLSAgICAgICAgfHwgIWNh
bkxvYWRfVmlkZW9Ub29sYm94X2tWVEhFVkNEZWNvZGVyQ2FwYWJpbGl0eV9QZXJQcm9maWxlU3Vw
cG9ydCgpCi0gICAgICAgIHx8ICFjYW5Mb2FkX1ZpZGVvVG9vbGJveF9rVlRIRVZDRGVjb2RlclBy
b2ZpbGVDYXBhYmlsaXR5X0lzSGFyZHdhcmVBY2NlbGVyYXRlZCgpCi0gICAgICAgIHx8ICFjYW5M
b2FkX1ZpZGVvVG9vbGJveF9rVlRIRVZDRGVjb2RlclByb2ZpbGVDYXBhYmlsaXR5X01heERlY29k
ZUxldmVsKCkKLSAgICAgICAgfHwgIWNhbkxvYWRfVmlkZW9Ub29sYm94X2tWVEhFVkNEZWNvZGVy
UHJvZmlsZUNhcGFiaWxpdHlfTWF4UGxheWJhY2tMZXZlbCgpKQotICAgICAgICByZXR1cm4gZmFs
c2U7Ci0KLSAgICBSZXRhaW5QdHI8Q0ZEaWN0aW9uYXJ5UmVmPiBjYXBhYmlsaXRpZXMgPSBhZG9w
dENGKFZUQ29weUhFVkNEZWNvZGVyQ2FwYWJpbGl0aWVzRGljdGlvbmFyeSgpKTsKLSAgICBpZiAo
IWNhcGFiaWxpdGllcykKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgYXV0byBzdXBwb3J0
ZWRQcm9maWxlcyA9IChDRkFycmF5UmVmKUNGRGljdGlvbmFyeUdldFZhbHVlKGNhcGFiaWxpdGll
cy5nZXQoKSwga1ZUSEVWQ0RlY29kZXJDYXBhYmlsaXR5X1N1cHBvcnRlZFByb2ZpbGVzKTsKLSAg
ICBpZiAoIXN1cHBvcnRlZFByb2ZpbGVzIHx8IENGR2V0VHlwZUlEKHN1cHBvcnRlZFByb2ZpbGVz
KSAhPSBDRkFycmF5R2V0VHlwZUlEKCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIGlu
dDE2X3QgZ2VuZXJhbFByb2ZpbGVJREMgPSBwYXJhbWV0ZXJzLmdlbmVyYWxQcm9maWxlSURDOwot
ICAgIGF1dG8gY2ZHZW5lcmFsUHJvZmlsZUlEQyA9IGFkb3B0Q0YoQ0ZOdW1iZXJDcmVhdGUoa0NG
QWxsb2NhdG9yRGVmYXVsdCwga0NGTnVtYmVyU0ludDE2VHlwZSwgJmdlbmVyYWxQcm9maWxlSURD
KSk7Ci0gICAgYXV0byBzZWFyY2hSYW5nZSA9IENGUmFuZ2VNYWtlKDAsIENGQXJyYXlHZXRDb3Vu
dChzdXBwb3J0ZWRQcm9maWxlcykpOwotICAgIGlmICghQ0ZBcnJheUNvbnRhaW5zVmFsdWUoc3Vw
cG9ydGVkUHJvZmlsZXMsIHNlYXJjaFJhbmdlLCBjZkdlbmVyYWxQcm9maWxlSURDLmdldCgpKSkK
LSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgYXV0byBwZXJQcm9maWxlU3VwcG9ydCA9IChD
RkRpY3Rpb25hcnlSZWYpQ0ZEaWN0aW9uYXJ5R2V0VmFsdWUoY2FwYWJpbGl0aWVzLmdldCgpLCBr
VlRIRVZDRGVjb2RlckNhcGFiaWxpdHlfUGVyUHJvZmlsZVN1cHBvcnQpOwotICAgIGlmICghcGVy
UHJvZmlsZVN1cHBvcnQgfHwgQ0ZHZXRUeXBlSUQocGVyUHJvZmlsZVN1cHBvcnQpICE9IENGRGlj
dGlvbmFyeUdldFR5cGVJRCgpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBhdXRvIGdl
bmVyYWxQcm9maWxlSURDU3RyaW5nID0gU3RyaW5nOjpudW1iZXIoZ2VuZXJhbFByb2ZpbGVJREMp
LmNyZWF0ZUNGU3RyaW5nKCk7Ci0gICAgYXV0byBwcm9maWxlU3VwcG9ydCA9IChDRkRpY3Rpb25h
cnlSZWYpQ0ZEaWN0aW9uYXJ5R2V0VmFsdWUocGVyUHJvZmlsZVN1cHBvcnQsIGdlbmVyYWxQcm9m
aWxlSURDU3RyaW5nLmdldCgpKTsKLSAgICBpZiAoIXByb2ZpbGVTdXBwb3J0IHx8IENGR2V0VHlw
ZUlEKHByb2ZpbGVTdXBwb3J0KSAhPSBDRkRpY3Rpb25hcnlHZXRUeXBlSUQoKSkKLSAgICAgICAg
cmV0dXJuIGZhbHNlOwotCi0gICAgYXV0byBpc0hhcmR3YXJlQWNjZWxlcmF0ZWQgPSAoQ0ZCb29s
ZWFuUmVmKUNGRGljdGlvbmFyeUdldFZhbHVlKHByb2ZpbGVTdXBwb3J0LCBrVlRIRVZDRGVjb2Rl
clByb2ZpbGVDYXBhYmlsaXR5X0lzSGFyZHdhcmVBY2NlbGVyYXRlZCk7Ci0gICAgaWYgKGlzSGFy
ZHdhcmVBY2NlbGVyYXRlZCAmJiBDRkdldFR5cGVJRChpc0hhcmR3YXJlQWNjZWxlcmF0ZWQpID09
IENGQm9vbGVhbkdldFR5cGVJRCgpKQotICAgICAgICBpbmZvLnBvd2VyRWZmaWNpZW50ID0gQ0ZC
b29sZWFuR2V0VmFsdWUoaXNIYXJkd2FyZUFjY2VsZXJhdGVkKTsKLQotICAgIGF1dG8gY2ZNYXhE
ZWNvZGVMZXZlbCA9IChDRk51bWJlclJlZilDRkRpY3Rpb25hcnlHZXRWYWx1ZShwcm9maWxlU3Vw
cG9ydCwga1ZUSEVWQ0RlY29kZXJQcm9maWxlQ2FwYWJpbGl0eV9NYXhEZWNvZGVMZXZlbCk7Ci0g
ICAgaWYgKGNmTWF4RGVjb2RlTGV2ZWwgJiYgQ0ZHZXRUeXBlSUQoY2ZNYXhEZWNvZGVMZXZlbCkg
PT0gQ0ZOdW1iZXJHZXRUeXBlSUQoKSkgewotICAgICAgICBpbnQxNl90IG1heERlY29kZUxldmVs
ID0gMDsKLSAgICAgICAgaWYgKCFDRk51bWJlckdldFZhbHVlKGNmTWF4RGVjb2RlTGV2ZWwsIGtD
Rk51bWJlclNJbnQxNlR5cGUsICZtYXhEZWNvZGVMZXZlbCkpCi0gICAgICAgICAgICByZXR1cm4g
ZmFsc2U7Ci0KLSAgICAgICAgaWYgKHBhcmFtZXRlcnMuZ2VuZXJhbExldmVsSURDID4gbWF4RGVj
b2RlTGV2ZWwpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICAgICAgaW5mby5zdXBw
b3J0ZWQgPSB0cnVlOwotICAgIH0KLQotICAgIGF1dG8gY2ZNYXhQbGF5YmFja0xldmVsID0gKENG
TnVtYmVyUmVmKUNGRGljdGlvbmFyeUdldFZhbHVlKHByb2ZpbGVTdXBwb3J0LCBrVlRIRVZDRGVj
b2RlclByb2ZpbGVDYXBhYmlsaXR5X01heFBsYXliYWNrTGV2ZWwpOwotICAgIGlmIChjZk1heFBs
YXliYWNrTGV2ZWwgJiYgQ0ZHZXRUeXBlSUQoY2ZNYXhQbGF5YmFja0xldmVsKSA9PSBDRk51bWJl
ckdldFR5cGVJRCgpKSB7Ci0gICAgICAgIGludDE2X3QgbWF4UGxheWJhY2tMZXZlbCA9IDA7Ci0g
ICAgICAgIGlmICghQ0ZOdW1iZXJHZXRWYWx1ZShjZk1heFBsYXliYWNrTGV2ZWwsIGtDRk51bWJl
clNJbnQxNlR5cGUsICZtYXhQbGF5YmFja0xldmVsKSkKLSAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKLQotICAgICAgICBpbmZvLnNtb290aCA9IHBhcmFtZXRlcnMuZ2VuZXJhbExldmVsSURDIDw9
IG1heFBsYXliYWNrTGV2ZWw7Ci0gICAgfQotCi0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLX0KLQot
I2VuZGlmIC8vIFBMQVRGT1JNKENPQ09BKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY29jb2EvSEVWQ1V0aWxpdGllc0NvY29hLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9IRVZDVXRpbGl0aWVzQ29jb2EuaAppbmRleCBlYzVm
NzQyOTVmNTFkYjI3NTYxZDVkMTJhMjliMjkyMzAzNTYzZDc1Li41MjE2MzA0MDA2NTM0NzA4ZTEw
ODQwOWRjNTExMWI3NWViMDZjM2MwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jb2NvYS9IRVZDVXRpbGl0aWVzQ29jb2EuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9IRVZDVXRpbGl0aWVzQ29jb2EuaApAQCAtMzMsNyAr
MzMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0cnVjdCBNZWRpYUNhcGFiaWxpdGllc0lu
Zm87CiAKLWV4dGVybiBib29sIHZhbGlkYXRlSEVWQ1BhcmFtZXRlcnMoSEVWQ1BhcmFtZXRlclNl
dCYsIE1lZGlhQ2FwYWJpbGl0aWVzSW5mbyYpOworZXh0ZXJuIGJvb2wgdmFsaWRhdGVIRVZDUGFy
YW1ldGVycyhIRVZDUGFyYW1ldGVyU2V0JiwgTWVkaWFDYXBhYmlsaXRpZXNJbmZvJiwgYm9vbCBo
YXNBbHBoYUNoYW5uZWwpOwogCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NvY29hL0hFVkNVdGlsaXRpZXNDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0hFVkNVdGlsaXRpZXNDb2NvYS5tbQpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4zMWMyZDcxYjU4NGM2YzZmMmE4YjAxYzg1YWU3ZjBiY2QwMjM4OTE2Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvSEVWQ1V0aWxpdGll
c0NvY29hLm1tCkBAIC0wLDAgKzEsMTIwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIkhFVkNVdGlsaXRpZXNDb2NvYS5oIgorCisjaWYgUExBVEZPUk0oQ09D
T0EpCisKKyNpbmNsdWRlICJGb3VyQ0MuaCIKKyNpbmNsdWRlICJIRVZDVXRpbGl0aWVzLmgiCisj
aW5jbHVkZSAiTWVkaWFDYXBhYmlsaXRpZXNJbmZvLmgiCisKKyNpbmNsdWRlICJWaWRlb1Rvb2xi
b3hTb2Z0TGluay5oIgorCitTT0ZUX0xJTktfRlJBTUVXT1JLX09QVElPTkFMKEFWRm91bmRhdGlv
bikKK1NPRlRfTElOS19DT05TVEFOVF9NQVlfRkFJTChBVkZvdW5kYXRpb24sIEFWVmlkZW9Db2Rl
Y1R5cGVIRVZDV2l0aEFscGhhLCBOU1N0cmluZyAqKQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K2Jvb2wgdmFsaWRhdGVIRVZDUGFyYW1ldGVycyhIRVZDUGFyYW1ldGVyU2V0JiBwYXJhbWV0ZXJz
LCBNZWRpYUNhcGFiaWxpdGllc0luZm8mIGluZm8sIGJvb2wgaGFzQWxwaGFDaGFubmVsKQorewor
ICAgIENNVmlkZW9Db2RlY1R5cGUgY29kZWMgPSBrQ01WaWRlb0NvZGVjVHlwZV9IRVZDOworICAg
IGlmIChoYXNBbHBoYUNoYW5uZWwpIHsKKyAgICAgICAgaWYgKCFBVkZvdW5kYXRpb25MaWJyYXJ5
KCkgfHwgIWNhbkxvYWRBVlZpZGVvQ29kZWNUeXBlSEVWQ1dpdGhBbHBoYSgpKQorICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIGF1dG8gY29kZWNDb2RlID0gRm91ckNDOjpmcm9t
U3RyaW5nKGdldEFWVmlkZW9Db2RlY1R5cGVIRVZDV2l0aEFscGhhKCkpOworICAgICAgICBpZiAo
IWNvZGVjQ29kZSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICBjb2RlYyA9
IGNvZGVjQ29kZS52YWx1ZSgpLnZhbHVlOworICAgIH0KKyAgICBPU1N0YXR1cyBzdGF0dXMgPSBW
VFNlbGVjdEFuZENyZWF0ZVZpZGVvRGVjb2Rlckluc3RhbmNlKGNvZGVjLCBrQ0ZBbGxvY2F0b3JE
ZWZhdWx0LCBudWxscHRyLCBudWxscHRyKTsKKyAgICBpZiAoc3RhdHVzICE9IG5vRXJyKQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoIWNhbkxvYWRfVmlkZW9Ub29sYm94X1ZUQ29w
eUhFVkNEZWNvZGVyQ2FwYWJpbGl0aWVzRGljdGlvbmFyeSgpCisgICAgICAgIHx8ICFjYW5Mb2Fk
X1ZpZGVvVG9vbGJveF9rVlRIRVZDRGVjb2RlckNhcGFiaWxpdHlfU3VwcG9ydGVkUHJvZmlsZXMo
KQorICAgICAgICB8fCAhY2FuTG9hZF9WaWRlb1Rvb2xib3hfa1ZUSEVWQ0RlY29kZXJDYXBhYmls
aXR5X1BlclByb2ZpbGVTdXBwb3J0KCkKKyAgICAgICAgfHwgIWNhbkxvYWRfVmlkZW9Ub29sYm94
X2tWVEhFVkNEZWNvZGVyUHJvZmlsZUNhcGFiaWxpdHlfSXNIYXJkd2FyZUFjY2VsZXJhdGVkKCkK
KyAgICAgICAgfHwgIWNhbkxvYWRfVmlkZW9Ub29sYm94X2tWVEhFVkNEZWNvZGVyUHJvZmlsZUNh
cGFiaWxpdHlfTWF4RGVjb2RlTGV2ZWwoKQorICAgICAgICB8fCAhY2FuTG9hZF9WaWRlb1Rvb2xi
b3hfa1ZUSEVWQ0RlY29kZXJQcm9maWxlQ2FwYWJpbGl0eV9NYXhQbGF5YmFja0xldmVsKCkpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIFJldGFpblB0cjxDRkRpY3Rpb25hcnlSZWY+IGNh
cGFiaWxpdGllcyA9IGFkb3B0Q0YoVlRDb3B5SEVWQ0RlY29kZXJDYXBhYmlsaXRpZXNEaWN0aW9u
YXJ5KCkpOworICAgIGlmICghY2FwYWJpbGl0aWVzKQorICAgICAgICByZXR1cm4gZmFsc2U7CisK
KyAgICBhdXRvIHN1cHBvcnRlZFByb2ZpbGVzID0gKENGQXJyYXlSZWYpQ0ZEaWN0aW9uYXJ5R2V0
VmFsdWUoY2FwYWJpbGl0aWVzLmdldCgpLCBrVlRIRVZDRGVjb2RlckNhcGFiaWxpdHlfU3VwcG9y
dGVkUHJvZmlsZXMpOworICAgIGlmICghc3VwcG9ydGVkUHJvZmlsZXMgfHwgQ0ZHZXRUeXBlSUQo
c3VwcG9ydGVkUHJvZmlsZXMpICE9IENGQXJyYXlHZXRUeXBlSUQoKSkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworCisgICAgaW50MTZfdCBnZW5lcmFsUHJvZmlsZUlEQyA9IHBhcmFtZXRlcnMuZ2Vu
ZXJhbFByb2ZpbGVJREM7CisgICAgYXV0byBjZkdlbmVyYWxQcm9maWxlSURDID0gYWRvcHRDRihD
Rk51bWJlckNyZWF0ZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBrQ0ZOdW1iZXJTSW50MTZUeXBlLCAm
Z2VuZXJhbFByb2ZpbGVJREMpKTsKKyAgICBhdXRvIHNlYXJjaFJhbmdlID0gQ0ZSYW5nZU1ha2Uo
MCwgQ0ZBcnJheUdldENvdW50KHN1cHBvcnRlZFByb2ZpbGVzKSk7CisgICAgaWYgKCFDRkFycmF5
Q29udGFpbnNWYWx1ZShzdXBwb3J0ZWRQcm9maWxlcywgc2VhcmNoUmFuZ2UsIGNmR2VuZXJhbFBy
b2ZpbGVJREMuZ2V0KCkpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBhdXRvIHBlclBy
b2ZpbGVTdXBwb3J0ID0gKENGRGljdGlvbmFyeVJlZilDRkRpY3Rpb25hcnlHZXRWYWx1ZShjYXBh
YmlsaXRpZXMuZ2V0KCksIGtWVEhFVkNEZWNvZGVyQ2FwYWJpbGl0eV9QZXJQcm9maWxlU3VwcG9y
dCk7CisgICAgaWYgKCFwZXJQcm9maWxlU3VwcG9ydCB8fCBDRkdldFR5cGVJRChwZXJQcm9maWxl
U3VwcG9ydCkgIT0gQ0ZEaWN0aW9uYXJ5R2V0VHlwZUlEKCkpCisgICAgICAgIHJldHVybiBmYWxz
ZTsKKworICAgIGF1dG8gZ2VuZXJhbFByb2ZpbGVJRENTdHJpbmcgPSBTdHJpbmc6Om51bWJlcihn
ZW5lcmFsUHJvZmlsZUlEQykuY3JlYXRlQ0ZTdHJpbmcoKTsKKyAgICBhdXRvIHByb2ZpbGVTdXBw
b3J0ID0gKENGRGljdGlvbmFyeVJlZilDRkRpY3Rpb25hcnlHZXRWYWx1ZShwZXJQcm9maWxlU3Vw
cG9ydCwgZ2VuZXJhbFByb2ZpbGVJRENTdHJpbmcuZ2V0KCkpOworICAgIGlmICghcHJvZmlsZVN1
cHBvcnQgfHwgQ0ZHZXRUeXBlSUQocHJvZmlsZVN1cHBvcnQpICE9IENGRGljdGlvbmFyeUdldFR5
cGVJRCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBhdXRvIGlzSGFyZHdhcmVBY2Nl
bGVyYXRlZCA9IChDRkJvb2xlYW5SZWYpQ0ZEaWN0aW9uYXJ5R2V0VmFsdWUocHJvZmlsZVN1cHBv
cnQsIGtWVEhFVkNEZWNvZGVyUHJvZmlsZUNhcGFiaWxpdHlfSXNIYXJkd2FyZUFjY2VsZXJhdGVk
KTsKKyAgICBpZiAoaXNIYXJkd2FyZUFjY2VsZXJhdGVkICYmIENGR2V0VHlwZUlEKGlzSGFyZHdh
cmVBY2NlbGVyYXRlZCkgPT0gQ0ZCb29sZWFuR2V0VHlwZUlEKCkpCisgICAgICAgIGluZm8ucG93
ZXJFZmZpY2llbnQgPSBDRkJvb2xlYW5HZXRWYWx1ZShpc0hhcmR3YXJlQWNjZWxlcmF0ZWQpOwor
CisgICAgYXV0byBjZk1heERlY29kZUxldmVsID0gKENGTnVtYmVyUmVmKUNGRGljdGlvbmFyeUdl
dFZhbHVlKHByb2ZpbGVTdXBwb3J0LCBrVlRIRVZDRGVjb2RlclByb2ZpbGVDYXBhYmlsaXR5X01h
eERlY29kZUxldmVsKTsKKyAgICBpZiAoY2ZNYXhEZWNvZGVMZXZlbCAmJiBDRkdldFR5cGVJRChj
Zk1heERlY29kZUxldmVsKSA9PSBDRk51bWJlckdldFR5cGVJRCgpKSB7CisgICAgICAgIGludDE2
X3QgbWF4RGVjb2RlTGV2ZWwgPSAwOworICAgICAgICBpZiAoIUNGTnVtYmVyR2V0VmFsdWUoY2ZN
YXhEZWNvZGVMZXZlbCwga0NGTnVtYmVyU0ludDE2VHlwZSwgJm1heERlY29kZUxldmVsKSkKKyAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICBpZiAocGFyYW1ldGVycy5nZW5lcmFs
TGV2ZWxJREMgPiBtYXhEZWNvZGVMZXZlbCkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKwor
ICAgICAgICBpbmZvLnN1cHBvcnRlZCA9IHRydWU7CisgICAgfQorCisgICAgYXV0byBjZk1heFBs
YXliYWNrTGV2ZWwgPSAoQ0ZOdW1iZXJSZWYpQ0ZEaWN0aW9uYXJ5R2V0VmFsdWUocHJvZmlsZVN1
cHBvcnQsIGtWVEhFVkNEZWNvZGVyUHJvZmlsZUNhcGFiaWxpdHlfTWF4UGxheWJhY2tMZXZlbCk7
CisgICAgaWYgKGNmTWF4UGxheWJhY2tMZXZlbCAmJiBDRkdldFR5cGVJRChjZk1heFBsYXliYWNr
TGV2ZWwpID09IENGTnVtYmVyR2V0VHlwZUlEKCkpIHsKKyAgICAgICAgaW50MTZfdCBtYXhQbGF5
YmFja0xldmVsID0gMDsKKyAgICAgICAgaWYgKCFDRk51bWJlckdldFZhbHVlKGNmTWF4UGxheWJh
Y2tMZXZlbCwga0NGTnVtYmVyU0ludDE2VHlwZSwgJm1heFBsYXliYWNrTGV2ZWwpKQorICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIGluZm8uc21vb3RoID0gcGFyYW1ldGVycy5n
ZW5lcmFsTGV2ZWxJREMgPD0gbWF4UGxheWJhY2tMZXZlbDsKKyAgICB9CisKKyAgICByZXR1cm4g
dHJ1ZTsKK30KKworfQorCisjZW5kaWYgLy8gUExBVEZPUk0oQ09DT0EpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9NZWRpYUVuZ2luZUNvbmZpZ3Vy
YXRpb25GYWN0b3J5Q29jb2EuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y29jb2EvTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeUNvY29hLmNwcAppbmRleCAyN2Yz
NzY2NWVlYjg4MzQ4OGIwNDEwNzBiYWNkZTVmM2EyM2E1ZDIzLi5hZWY3Njk1ZDAzMzBkZWIzZWI2
MTcwNThlNjA1N2YzZTY2ZjlmZjI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jb2NvYS9NZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5Q29jb2EuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL01lZGlhRW5naW5l
Q29uZmlndXJhdGlvbkZhY3RvcnlDb2NvYS5jcHAKQEAgLTc2LDE1ICs3NiwyNCBAQCB2b2lkIGNy
ZWF0ZU1lZGlhUGxheWVyRGVjb2RpbmdDb25maWd1cmF0aW9uQ29jb2EoTWVkaWFEZWNvZGluZ0Nv
bmZpZ3VyYXRpb24mJiBjbwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKKyAgICAg
ICAgYm9vbCBhbHBoYUNoYW5uZWwgPSB2aWRlb0NvbmZpZ3VyYXRpb24uYWxwaGFDaGFubmVsICYm
IHZpZGVvQ29uZmlndXJhdGlvbi5hbHBoYUNoYW5uZWwudmFsdWUoKTsKKwogICAgICAgICBpZiAo
dmlkZW9Db2RlY1R5cGUgPT0ga0NNVmlkZW9Db2RlY1R5cGVfSEVWQykgewogICAgICAgICAgICAg
YXV0byBwYXJhbWV0ZXJzID0gcGFyc2VIRVZDQ29kZWNQYXJhbWV0ZXJzKGNvZGVjKTsKLSAgICAg
ICAgICAgIGlmICghcGFyYW1ldGVycyB8fCAhdmFsaWRhdGVIRVZDUGFyYW1ldGVycyhwYXJhbWV0
ZXJzLnZhbHVlKCksIGluZm8pKSB7CisgICAgICAgICAgICBpZiAoIXBhcmFtZXRlcnMgfHwgIXZh
bGlkYXRlSEVWQ1BhcmFtZXRlcnMocGFyYW1ldGVycy52YWx1ZSgpLCBpbmZvLCBhbHBoYUNoYW5u
ZWwpKSB7CisgICAgICAgICAgICAgICAgY2FsbGJhY2soe3sgfSwgV1RGTW92ZShjb25maWd1cmF0
aW9uKX0pOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
fSBlbHNlIHsKKyAgICAgICAgICAgIGlmIChhbHBoYUNoYW5uZWwpIHsKICAgICAgICAgICAgICAg
ICBjYWxsYmFjayh7eyB9LCBXVEZNb3ZlKGNvbmZpZ3VyYXRpb24pfSk7CiAgICAgICAgICAgICAg
ICAgcmV0dXJuOwogICAgICAgICAgICAgfQotICAgICAgICB9IGVsc2UgaWYgKGNhbkxvYWRfVmlk
ZW9Ub29sYm94X1ZUSXNIYXJkd2FyZURlY29kZVN1cHBvcnRlZCgpKSB7Ci0gICAgICAgICAgICBp
bmZvLnBvd2VyRWZmaWNpZW50ID0gVlRJc0hhcmR3YXJlRGVjb2RlU3VwcG9ydGVkKHZpZGVvQ29k
ZWNUeXBlKTsKLSAgICAgICAgICAgIGluZm8uc21vb3RoID0gdHJ1ZTsKKworICAgICAgICAgICAg
aWYgKGNhbkxvYWRfVmlkZW9Ub29sYm94X1ZUSXNIYXJkd2FyZURlY29kZVN1cHBvcnRlZCgpKSB7
CisgICAgICAgICAgICAgICAgaW5mby5wb3dlckVmZmljaWVudCA9IFZUSXNIYXJkd2FyZURlY29k
ZVN1cHBvcnRlZCh2aWRlb0NvZGVjVHlwZSk7CisgICAgICAgICAgICAgICAgaW5mby5zbW9vdGgg
PSB0cnVlOworICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9WaWRlb0NvbmZpZ3VyYXRp
b24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL1ZpZGVvQ29u
ZmlndXJhdGlvbi5oCmluZGV4IGEzNzhmZDMwOWY2NWJjYjJmMTliZDJhMGQ2NDNhMTQ1OTE4NDAz
ZGMuLjc0NWY4YjhlMzNhMjg1ZjM2ZWM3ZjRhYzg5NTZkOWJiNGFmOTgyMDkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL1ZpZGVvQ29uZmlndXJh
dGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL1Zp
ZGVvQ29uZmlndXJhdGlvbi5oCkBAIC0yNSw2ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCisj
aW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM1LDYgKzM2LDcgQEAgc3RydWN0IFZpZGVvQ29u
ZmlndXJhdGlvbiB7CiAgICAgdWludDMyX3QgaGVpZ2h0OwogICAgIHVpbnQ2NF90IGJpdHJhdGU7
CiAgICAgZG91YmxlIGZyYW1lcmF0ZTsKKyAgICBPcHRpb25hbDxib29sPiBhbHBoYUNoYW5uZWw7
CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01lZGlh
RW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlNb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21vY2svTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeU1vY2suY3BwCmluZGV4IDc1
ZTI5N2NkMGQzZmEyMjY2NDBiZTYwMDU5NmIzMDM1YjA4YWI5Y2EuLmVhZGIwNzJiZDIxMGQ3OGZi
ZDJlNGFkZTQ4MDkxNThiYTZjMzE5MGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21vY2svTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeU1vY2suY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9y
eU1vY2suY3BwCkBAIC00Nyw2ICs0NywxMiBAQCBzdGF0aWMgYm9vbCBjYW5EZWNvZGVNZWRpYShj
b25zdCBNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbiYgY29uZmlndXJhdGlvbikKICAgICBpZiAo
dmlkZW9Db25maWcgJiYgdmlkZW9Db25maWctPndpZHRoID4gMTI4MCAmJiB2aWRlb0NvbmZpZy0+
aGVpZ2h0ID4gNzIwKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICAvLyBPbmx5IHRoZSAi
bW9jay13aXRoLWFscGhhIiBjb2RlYyBzdXBwb3J0cyBhbHBoYUNoYW5uZWwKKyAgICBpZiAodmlk
ZW9Db25maWcgJiYgdmlkZW9Db25maWctPmFscGhhQ2hhbm5lbCAmJiB2aWRlb0NvbmZpZy0+YWxw
aGFDaGFubmVsLnZhbHVlKCkpIHsKKyAgICAgICAgaWYgKENvbnRlbnRUeXBlKHZpZGVvQ29uZmln
LT5jb250ZW50VHlwZSkuY29kZWNzUGFyYW1ldGVyKCkgIT0gIm1vY2std2l0aC1hbHBoYSIpCisg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCiAgICAgLy8gQXVkaW8gZGVjb2Rpbmcg
c3VwcG9ydCBsaW1pdGVkIHRvIGF1ZGlvL21wNC4KICAgICBhdXRvIGF1ZGlvQ29uZmlnID0gY29u
ZmlndXJhdGlvbi5hdWRpbzsKICAgICBpZiAoYXVkaW9Db25maWcpCkBAIC05Miw2ICs5OCwxMiBA
QCBzdGF0aWMgYm9vbCBjYW5FbmNvZGVNZWRpYShjb25zdCBNZWRpYUVuY29kaW5nQ29uZmlndXJh
dGlvbiYgY29uZmlndXJhdGlvbikKICAgICBpZiAodmlkZW9Db25maWcgJiYgdmlkZW9Db25maWct
PndpZHRoID4gMTI4MCAmJiB2aWRlb0NvbmZpZy0+aGVpZ2h0ID4gNzIwKQogICAgICAgICByZXR1
cm4gZmFsc2U7CiAKKyAgICAvLyBPbmx5IHRoZSAibW9jay13aXRoLWFscGhhIiBjb2RlYyBzdXBw
b3J0cyBhbHBoYUNoYW5uZWwKKyAgICBpZiAodmlkZW9Db25maWcgJiYgdmlkZW9Db25maWctPmFs
cGhhQ2hhbm5lbCAmJiB2aWRlb0NvbmZpZy0+YWxwaGFDaGFubmVsLnZhbHVlKCkpIHsKKyAgICAg
ICAgaWYgKENvbnRlbnRUeXBlKHZpZGVvQ29uZmlnLT5jb250ZW50VHlwZSkuY29kZWNzUGFyYW1l
dGVyKCkgIT0gIm1vY2std2l0aC1hbHBoYSIpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgfQorCiAgICAgLy8gQXVkaW8gZW5jb2Rpbmcgc3VwcG9ydCBsaW1pdGVkIHRvIGF1ZGlvL21w
NC4KICAgICBhdXRvIGF1ZGlvQ29uZmlnID0gY29uZmlndXJhdGlvbi5hdWRpbzsKICAgICBpZiAo
YXVkaW9Db25maWcgJiYgQ29udGVudFR5cGUoYXVkaW9Db25maWctPmNvbnRlbnRUeXBlKS5jb250
YWluZXJUeXBlKCkgIT0gImF1ZGlvL21wNCIpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMzc1MDFiYTE4Y2JkYmJhNWFhZTc3
MmRhNjEyOTRhMjU2YTEzMDVkYy4uYWM2MTE4NTRmNmQ0OGI2YTRhNTI0Njk2MTc2N2FjZTgzOGQ3
NDczMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE5LTAzLTE2ICBKZXIgTm9ibGUgIDxqZXIu
bm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBleHBlcmltZW50YWwgImFscGhhQ2hhbm5l
bCIgcHJvcGVydHkgdG8gVmlkZW9Db25maWd1cmF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTU4NTMKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIG1lZGlhL21lZGlhY2FwYWJpbGl0aWVzL21vY2st
ZGVjb2RpbmdJbmZvLWFscGhhQ2hhbm5lbC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IG1lZGlhL21lZGlhY2FwYWJpbGl0aWVzL21vY2stZGVjb2RpbmdJbmZvLWFscGhhQ2hhbm5lbC5o
dG1sOiBBZGRlZC4KKwogMjAxOS0wMy0xNSAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNv
bT4KIAogICAgICAgICBBZGQgYSBuZXcgTWVkaWFDYXBhYmlsaXRpZXNFeHRlbnNpb25zRW5hYmxl
ZCBzZXR0aW5nCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYWNhcGFiaWxpdGll
cy9tb2NrLWRlY29kaW5nSW5mby1hbHBoYUNoYW5uZWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvbWVkaWEvbWVkaWFjYXBhYmlsaXRpZXMvbW9jay1kZWNvZGluZ0luZm8tYWxwaGFDaGFubmVs
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NzE4NDAxYjJkODVhNmI4ZTcwMTQwZTNmZmJiNDY4
Y2FhZDI1N2M0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWFjYXBh
YmlsaXRpZXMvbW9jay1kZWNvZGluZ0luZm8tYWxwaGFDaGFubmVsLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDI0IEBACitSVU4oaW50ZXJuYWxzLmVuYWJsZU1vY2tNZWRpYUNhcGFiaWxpdGllcygp
KQorUlVOKGludGVybmFscy5zZXR0aW5ncy5zZXRNZWRpYUNhcGFiaWxpdGllc0V4dGVuc2lvbnNF
bmFibGVkKHRydWUpKQorUlVOKHByb21pc2UgPSBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMu
ZGVjb2RpbmdJbmZvKHsgdHlwZTogJ2ZpbGUnLCB2aWRlbzogeyBjb250ZW50VHlwZTogJ3ZpZGVv
L21wNDsgY29kZWNzPSJtb2NrLXdpdGgtYWxwaGEiJywgaGVpZ2h0OiA3MjAsIGJpdHJhdGU6IDEw
MDAsIHdpZHRoOiAxMjgwLCBmcmFtZXJhdGU6IDI0LjUgfX0pOykKK1Byb21pc2UgcmVzb2x2ZWQg
T0sKK0VYUEVDVEVEIChpbmZvLnN1cHBvcnRlZCA9PSAndHJ1ZScpIE9LCitFWFBFQ1RFRCAoaW5m
by5zdXBwb3J0ZWRDb25maWd1cmF0aW9uLnZpZGVvLmFscGhhQ2hhbm5lbCA9PSAnbnVsbCcpIE9L
CitSVU4ocHJvbWlzZSA9IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8o
eyB0eXBlOiAnZmlsZScsIHZpZGVvOiB7IGNvbnRlbnRUeXBlOiAndmlkZW8vbXA0OyBjb2RlY3M9
Im1vY2std2l0aC1hbHBoYSInLCBoZWlnaHQ6IDcyMCwgYml0cmF0ZTogMTAwMCwgd2lkdGg6IDEy
ODAsIGZyYW1lcmF0ZTogMjQuNSwgYWxwaGFDaGFubmVsOiBmYWxzZSB9fSk7KQorUHJvbWlzZSBy
ZXNvbHZlZCBPSworRVhQRUNURUQgKGluZm8uc3VwcG9ydGVkID09ICd0cnVlJykgT0sKK0VYUEVD
VEVEIChpbmZvLnN1cHBvcnRlZENvbmZpZ3VyYXRpb24udmlkZW8uYWxwaGFDaGFubmVsID09ICdm
YWxzZScpIE9LCitSVU4ocHJvbWlzZSA9IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNv
ZGluZ0luZm8oeyB0eXBlOiAnZmlsZScsIHZpZGVvOiB7IGNvbnRlbnRUeXBlOiAndmlkZW8vbXA0
OyBjb2RlY3M9Im1vY2std2l0aC1hbHBoYSInLCBoZWlnaHQ6IDcyMCwgYml0cmF0ZTogMTAwMCwg
d2lkdGg6IDEyODAsIGZyYW1lcmF0ZTogMjQuNSwgYWxwaGFDaGFubmVsOiB0cnVlIH19KTspCitQ
cm9taXNlIHJlc29sdmVkIE9LCitFWFBFQ1RFRCAoaW5mby5zdXBwb3J0ZWQgPT0gJ3RydWUnKSwg
T0JTRVJWRUQgJ2ZhbHNlJyBGQUlMCitFWFBFQ1RFRCAoaW5mby5zdXBwb3J0ZWRDb25maWd1cmF0
aW9uLnZpZGVvLmFscGhhQ2hhbm5lbCA9PSAndHJ1ZScpIE9LCitSVU4ocHJvbWlzZSA9IG5hdmln
YXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeyB0eXBlOiAnZmlsZScsIHZpZGVv
OiB7IGNvbnRlbnRUeXBlOiAndmlkZW8vbXA0OyBjb2RlY3M9Im1vY2std2l0aG91dC1hbHBoYSIn
LCBoZWlnaHQ6IDcyMCwgYml0cmF0ZTogMTAwMCwgd2lkdGg6IDEyODAsIGZyYW1lcmF0ZTogMjQu
NSwgYWxwaGFDaGFubmVsOiBmYWxzZSB9fSk7KQorUHJvbWlzZSByZXNvbHZlZCBPSworRVhQRUNU
RUQgKGluZm8uc3VwcG9ydGVkID09ICd0cnVlJykgT0sKK0VYUEVDVEVEIChpbmZvLnN1cHBvcnRl
ZENvbmZpZ3VyYXRpb24udmlkZW8uYWxwaGFDaGFubmVsID09ICdmYWxzZScpIE9LCitSVU4ocHJv
bWlzZSA9IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeyB0eXBlOiAn
ZmlsZScsIHZpZGVvOiB7IGNvbnRlbnRUeXBlOiAndmlkZW8vbXA0OyBjb2RlY3M9Im1vY2std2l0
aG91dC1hbHBoYSInLCBoZWlnaHQ6IDcyMCwgYml0cmF0ZTogMTAwMCwgd2lkdGg6IDEyODAsIGZy
YW1lcmF0ZTogMjQuNSwgYWxwaGFDaGFubmVsOiB0cnVlIH19KTspCitQcm9taXNlIHJlc29sdmVk
IE9LCitFWFBFQ1RFRCAoaW5mby5zdXBwb3J0ZWQgPT0gJ2ZhbHNlJykgT0sKK0VYUEVDVEVEIChp
bmZvLnN1cHBvcnRlZENvbmZpZ3VyYXRpb24udmlkZW8uYWxwaGFDaGFubmVsID09ICd0cnVlJykg
T0sKK0VORCBPRiBURVNUCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL21lZGlhY2Fw
YWJpbGl0aWVzL21vY2stZGVjb2RpbmdJbmZvLWFscGhhQ2hhbm5lbC5odG1sIGIvTGF5b3V0VGVz
dHMvbWVkaWEvbWVkaWFjYXBhYmlsaXRpZXMvbW9jay1kZWNvZGluZ0luZm8tYWxwaGFDaGFubmVs
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNzhhZjg1ODY0ODczOTU5NWE1MTZmOTU1MjdjYjczNWJiOTNlYmZj
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL21lZGlhL21lZGlhY2FwYWJpbGl0aWVz
L21vY2stZGVjb2RpbmdJbmZvLWFscGhhQ2hhbm5lbC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8c2NyaXB0IHNyYz0uLi92aWRlby10
ZXN0LmpzPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKyAg
ICB2YXIgcHJvbWlzZTsKKyAgICB2YXIgaW5mbzsKKworICAgIGFzeW5jIGZ1bmN0aW9uIGRvVGVz
dCgpCisgICAgeworICAgICAgICBpZiAoIXdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAgICAgICAg
IGZhaWxUZXN0KCJJbnRlcm5hbHMgaXMgcmVxdWlyZWQgZm9yIHRoaXMgdGVzdC4iKQorICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgcnVuKCdpbnRlcm5hbHMuZW5hYmxl
TW9ja01lZGlhQ2FwYWJpbGl0aWVzKCknKTsKKyAgICAgICAgcnVuKCdpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0TWVkaWFDYXBhYmlsaXRpZXNFeHRlbnNpb25zRW5hYmxlZCh0cnVlKScpOworCisgICAg
ICAgIHJ1bigicHJvbWlzZSA9IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0lu
Zm8oeyB0eXBlOiAnZmlsZScsIHZpZGVvOiB7IGNvbnRlbnRUeXBlOiAndmlkZW8vbXA0OyBjb2Rl
Y3M9XCJtb2NrLXdpdGgtYWxwaGFcIicsIGhlaWdodDogNzIwLCBiaXRyYXRlOiAxMDAwLCB3aWR0
aDogMTI4MCwgZnJhbWVyYXRlOiAyNC41IH19KTsiKTsKKyAgICAgICAgaW5mbyA9IGF3YWl0IHNo
b3VsZFJlc29sdmUocHJvbWlzZSk7CisgICAgICAgIHRlc3RFeHBlY3RlZCgnaW5mby5zdXBwb3J0
ZWQnLCB0cnVlKTsKKyAgICAgICAgdGVzdEV4cGVjdGVkKCdpbmZvLnN1cHBvcnRlZENvbmZpZ3Vy
YXRpb24udmlkZW8uYWxwaGFDaGFubmVsJywgbnVsbCk7CisKKyAgICAgICAgcnVuKCJwcm9taXNl
ID0gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7IHR5cGU6ICdmaWxl
JywgdmlkZW86IHsgY29udGVudFR5cGU6ICd2aWRlby9tcDQ7IGNvZGVjcz1cIm1vY2std2l0aC1h
bHBoYVwiJywgaGVpZ2h0OiA3MjAsIGJpdHJhdGU6IDEwMDAsIHdpZHRoOiAxMjgwLCBmcmFtZXJh
dGU6IDI0LjUsIGFscGhhQ2hhbm5lbDogZmFsc2UgfX0pOyIpOworICAgICAgICBpbmZvID0gYXdh
aXQgc2hvdWxkUmVzb2x2ZShwcm9taXNlKTsKKyAgICAgICAgdGVzdEV4cGVjdGVkKCdpbmZvLnN1
cHBvcnRlZCcsIHRydWUpOworICAgICAgICB0ZXN0RXhwZWN0ZWQoJ2luZm8uc3VwcG9ydGVkQ29u
ZmlndXJhdGlvbi52aWRlby5hbHBoYUNoYW5uZWwnLCBmYWxzZSk7CisKKyAgICAgICAgcnVuKCJw
cm9taXNlID0gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7IHR5cGU6
ICdmaWxlJywgdmlkZW86IHsgY29udGVudFR5cGU6ICd2aWRlby9tcDQ7IGNvZGVjcz1cIm1vY2st
d2l0aC1hbHBoYVwiJywgaGVpZ2h0OiA3MjAsIGJpdHJhdGU6IDEwMDAsIHdpZHRoOiAxMjgwLCBm
cmFtZXJhdGU6IDI0LjUsIGFscGhhQ2hhbm5lbDogdHJ1ZSB9fSk7Iik7CisgICAgICAgIGluZm8g
PSBhd2FpdCBzaG91bGRSZXNvbHZlKHByb21pc2UpOworICAgICAgICB0ZXN0RXhwZWN0ZWQoJ2lu
Zm8uc3VwcG9ydGVkJywgdHJ1ZSk7CisgICAgICAgIHRlc3RFeHBlY3RlZCgnaW5mby5zdXBwb3J0
ZWRDb25maWd1cmF0aW9uLnZpZGVvLmFscGhhQ2hhbm5lbCcsIHRydWUpOworCisgICAgICAgIHJ1
bigicHJvbWlzZSA9IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeyB0
eXBlOiAnZmlsZScsIHZpZGVvOiB7IGNvbnRlbnRUeXBlOiAndmlkZW8vbXA0OyBjb2RlY3M9XCJt
b2NrLXdpdGhvdXQtYWxwaGFcIicsIGhlaWdodDogNzIwLCBiaXRyYXRlOiAxMDAwLCB3aWR0aDog
MTI4MCwgZnJhbWVyYXRlOiAyNC41LCBhbHBoYUNoYW5uZWw6IGZhbHNlIH19KTsiKTsKKyAgICAg
ICAgaW5mbyA9IGF3YWl0IHNob3VsZFJlc29sdmUocHJvbWlzZSk7CisgICAgICAgIHRlc3RFeHBl
Y3RlZCgnaW5mby5zdXBwb3J0ZWQnLCB0cnVlKTsKKyAgICAgICAgdGVzdEV4cGVjdGVkKCdpbmZv
LnN1cHBvcnRlZENvbmZpZ3VyYXRpb24udmlkZW8uYWxwaGFDaGFubmVsJywgZmFsc2UpOworCisg
ICAgICAgIHJ1bigicHJvbWlzZSA9IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGlu
Z0luZm8oeyB0eXBlOiAnZmlsZScsIHZpZGVvOiB7IGNvbnRlbnRUeXBlOiAndmlkZW8vbXA0OyBj
b2RlY3M9XCJtb2NrLXdpdGhvdXQtYWxwaGFcIicsIGhlaWdodDogNzIwLCBiaXRyYXRlOiAxMDAw
LCB3aWR0aDogMTI4MCwgZnJhbWVyYXRlOiAyNC41LCBhbHBoYUNoYW5uZWw6IHRydWUgfX0pOyIp
OworICAgICAgICBpbmZvID0gYXdhaXQgc2hvdWxkUmVzb2x2ZShwcm9taXNlKTsKKyAgICAgICAg
dGVzdEV4cGVjdGVkKCdpbmZvLnN1cHBvcnRlZCcsIGZhbHNlKTsKKyAgICAgICAgdGVzdEV4cGVj
dGVkKCdpbmZvLnN1cHBvcnRlZENvbmZpZ3VyYXRpb24udmlkZW8uYWxwaGFDaGFubmVsJywgdHJ1
ZSk7CisKKworICAgICAgICBlbmRUZXN0KCk7CisgICAgfQorICAgIDwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHkgb25sb2FkPSJkb1Rlc3QoKSIgLz4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364947</attachid>
            <date>2019-03-16 15:59:39 -0700</date>
            <delta_ts>2019-03-16 17:39:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195853-20190316155938.patch</filename>
            <type>text/plain</type>
            <size>36462</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQzMDA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjFlMzgxN2U2ZmNhYTZk
Y2MwMmM0OWJkM2ZlNWRjZjBkZGY4ZWFjZC4uOTM3NGJlMWQzMmU0ZGEzZDMxMDliMzA2YjIyNzE2
MWZkYWQ4YWJjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDE5LTAzLTE2ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBleHBlcmltZW50YWwg
ImFscGhhQ2hhbm5lbCIgcHJvcGVydHkgdG8gVmlkZW9Db25maWd1cmF0aW9uCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTU4NTMKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBtZWRpYS9tZWRpYWNh
cGFiaWxpdGllcy9tb2NrLWRlY29kaW5nSW5mby1hbHBoYUNoYW5uZWwuaHRtbAorCisgICAgICAg
IEFkZCBhIG5ldywgZXhwZXJpbWVudGFsIGFkZGl0aW9uIHRvIE1lZGlhIENhcGFiaWxpdGllcyB0
byBhbGxvdyBwYWdlcyB0byBxdWVyeSBmb3IKKyAgICAgICAgYWxwaGEgY2hhbm5lbCBzdXBwb3J0
LgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGll
cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNhcGFiaWxpdGllczo6ZGVjb2RpbmdJbmZv
KToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVz
Lmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGll
cy5pZGw6CisgICAgICAgICogTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9WaWRlb0NvbmZpZ3Vy
YXRpb24uaWRsOgorICAgICAgICAqIFNvdXJjZXNDb2NvYS50eHQ6CisgICAgICAgICogV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHBsYXRmb3JtL2NvY29hL1Zp
ZGVvVG9vbGJveFNvZnRMaW5rLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9WaWRlb1Rv
b2xib3hTb2Z0TGluay5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0hFVkNV
dGlsaXRpZXNDb2NvYS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0hFVkNV
dGlsaXRpZXNDb2NvYS5tbTogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NvY29hL0hFVkNVdGlsaXRpZXNDb2NvYS5jcHAuCisgICAgICAgIChXZWJDb3JlOjp2
YWxpZGF0ZUhFVkNQYXJhbWV0ZXJzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2Nv
YS9NZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5Q29jb2EuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Y3JlYXRlTWVkaWFQbGF5ZXJEZWNvZGluZ0NvbmZpZ3VyYXRpb25Db2NvYSk6CisgICAg
ICAgICogcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvVmlkZW9Db25maWd1cmF0aW9uLmg6Cisg
ICAgICAgICogcGxhdGZvcm0vbW9jay9NZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5TW9j
ay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjYW5EZWNvZGVNZWRpYSk6CisgICAgICAgIChXZWJD
b3JlOjpjYW5FbmNvZGVNZWRpYSk6CisKIDIwMTktMDMtMTUgIEplciBOb2JsZSAgPGplci5ub2Js
ZUBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIGEgbmV3IE1lZGlhQ2FwYWJpbGl0aWVzRXh0ZW5z
aW9uc0VuYWJsZWQgc2V0dGluZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmNwcAppbmRleCBiMzcy
MTExMjE1OGVhYjJhODMzNjZmNTlhMGVmZTY5ZmY0ZGIwYzM5Li4xMzk3NTJjMTQwN2ViYWQ0MzZm
NmYzZDFmOTRkZDI1NjY4MmJjMGY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmNwcApAQCAt
MjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIk1lZGlhQ2FwYWJpbGl0aWVzLmgiCiAKICNpbmNsdWRl
ICJDb250ZW50VHlwZS5oIgorI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiSlNNZWRp
YUNhcGFiaWxpdGllc0RlY29kaW5nSW5mby5oIgogI2luY2x1ZGUgIkpTTWVkaWFDYXBhYmlsaXRp
ZXNFbmNvZGluZ0luZm8uaCIKICNpbmNsdWRlICJNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5m
by5oIgpAQCAtMzQsNiArMzUsNyBAQAogI2luY2x1ZGUgIk1lZGlhRGVjb2RpbmdDb25maWd1cmF0
aW9uLmgiCiAjaW5jbHVkZSAiTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24uaCIKICNpbmNsdWRl
ICJNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5LmgiCisjaW5jbHVkZSAiU2V0dGluZ3Mu
aCIKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0x
NTksNyArMTYxLDcgQEAgc3RhdGljIGJvb2wgaXNWYWxpZE1lZGlhQ29uZmlndXJhdGlvbihjb25z
dCBNZWRpYUNvbmZpZ3VyYXRpb24mIGNvbmZpZ3VyYXRpb24pCiAgICAgcmV0dXJuIHRydWU7CiB9
CiAKLXZvaWQgTWVkaWFDYXBhYmlsaXRpZXM6OmRlY29kaW5nSW5mbyhNZWRpYURlY29kaW5nQ29u
ZmlndXJhdGlvbiYmIGNvbmZpZ3VyYXRpb24sIFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlz
ZSkKK3ZvaWQgTWVkaWFDYXBhYmlsaXRpZXM6OmRlY29kaW5nSW5mbyhEb2N1bWVudCYgZG9jdW1l
bnQsIE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uJiYgY29uZmlndXJhdGlvbiwgUmVmPERlZmVy
cmVkUHJvbWlzZT4mJiBwcm9taXNlKQogewogICAgIC8vIDIuNCBNZWRpYSBDYXBhYmlsaXRpZXMg
SW50ZXJmYWNlCiAgICAgLy8gaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9tZWRpYS1jYXBhYmlsaXRp
ZXMvI21lZGlhLWNhcGFiaWxpdGllcy1pbnRlcmZhY2UKQEAgLTE3Miw2ICsxNzQsOSBAQCB2b2lk
IE1lZGlhQ2FwYWJpbGl0aWVzOjpkZWNvZGluZ0luZm8oTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRp
b24mJiBjb25maWd1cmF0aW9uLAogICAgICAgICByZXR1cm47CiAgICAgfQogCisgICAgaWYgKCFk
b2N1bWVudC5zZXR0aW5ncygpLm1lZGlhQ2FwYWJpbGl0aWVzRXh0ZW5zaW9uc0VuYWJsZWQoKSAm
JiBjb25maWd1cmF0aW9uLnZpZGVvKQorICAgICAgICBjb25maWd1cmF0aW9uLnZpZGVvLnZhbHVl
KCkuYWxwaGFDaGFubmVsLnJlc2V0KCk7CisKICAgICAvLyA0LiBMZXQgcCBiZSBhIG5ldyBwcm9t
aXNlLgogICAgIC8vIDUuIEluIHBhcmFsbGVsLCBydW4gdGhlIGNyZWF0ZSBhIE1lZGlhQ2FwYWJp
bGl0aWVzSW5mbyBhbGdvcml0aG0gd2l0aCBjb25maWd1cmF0aW9uIGFuZCByZXNvbHZlIHAgd2l0
aCBpdHMgcmVzdWx0LgogICAgIC8vIDYuIFJldHVybiBwLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5oIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5o
CmluZGV4IGIzMTBlNjE4ODgwMzZkYzY4N2UwZWMzZDgwNGIwMGZjNWZiYzFmZWEuLjE4NTRmYTQ2
NjQ2MGFjZmM2ZDI2NjI3MTdhNTRkMmQ2Njc2MjBlZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXMuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVz
LmgKQEAgLTMxLDEyICszMSwxMyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIERv
Y3VtZW50Owogc3RydWN0IE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uOwogc3RydWN0IE1lZGlh
RW5jb2RpbmdDb25maWd1cmF0aW9uOwogCiBjbGFzcyBNZWRpYUNhcGFiaWxpdGllcyA6IHB1Ymxp
YyBSZWZDb3VudGVkPE1lZGlhQ2FwYWJpbGl0aWVzPiB7CiBwdWJsaWM6Ci0gICAgdm9pZCBkZWNv
ZGluZ0luZm8oTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24mJiwgUmVmPERlZmVycmVkUHJvbWlz
ZT4mJik7CisgICAgdm9pZCBkZWNvZGluZ0luZm8oRG9jdW1lbnQmLCBNZWRpYURlY29kaW5nQ29u
ZmlndXJhdGlvbiYmLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmKTsKICAgICB2b2lkIGVuY29kaW5n
SW5mbyhNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbiYmLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYm
KTsKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFj
YXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXMuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5pZGwKaW5kZXggMWU5ZTRkMTFh
NmI2YWI2ZmJjMmY3MWEyMzk4OTQ4MmQxMmY1NzUyYi4uNDNhZDU2OGQ4ZTNmM2I4MDZlOGQ4YzVi
MDUyNGEzYTk0OTE3NGE4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5pZGwKQEAgLTI4LDYg
KzI4LDYgQEAKICAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCiBdCiBpbnRlcmZhY2UgTWVk
aWFDYXBhYmlsaXRpZXMgewotICBQcm9taXNlPE1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZv
PiBkZWNvZGluZ0luZm8oTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24gY29uZmlndXJhdGlvbik7
CisgIFtDYWxsV2l0aD1Eb2N1bWVudF0gUHJvbWlzZTxNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5n
SW5mbz4gZGVjb2RpbmdJbmZvKE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uIGNvbmZpZ3VyYXRp
b24pOwogICBQcm9taXNlPE1lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvPiBlbmNvZGluZ0lu
Zm8oTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24gY29uZmlndXJhdGlvbik7CiB9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9WaWRlb0NvbmZp
Z3VyYXRpb24uaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9W
aWRlb0NvbmZpZ3VyYXRpb24uaWRsCmluZGV4IDIwMjUxOTFjODA0OTg4YjY1MDE4MzM5OWNmZjFh
NzBmZWVhMmFjZmUuLmJjYTFlZjBhOTdjNWI0ZjEyZDY3MjNkM2RjODI5ZTdmOThiNGQ3MTUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvVmlkZW9D
b25maWd1cmF0aW9uLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJp
bGl0aWVzL1ZpZGVvQ29uZmlndXJhdGlvbi5pZGwKQEAgLTMzLDQgKzMzLDUgQEAgZGljdGlvbmFy
eSBWaWRlb0NvbmZpZ3VyYXRpb24gewogICByZXF1aXJlZCB1bnNpZ25lZCBsb25nIGhlaWdodDsK
ICAgcmVxdWlyZWQgdW5zaWduZWQgbG9uZyBsb25nIGJpdHJhdGU7CiAgIHJlcXVpcmVkIGRvdWJs
ZSBmcmFtZXJhdGU7CisgIFtFbmFibGVkQnlTZXR0aW5nPU1lZGlhQ2FwYWJpbGl0aWVzRXh0ZW5z
aW9uc10gYm9vbGVhbiBhbHBoYUNoYW5uZWw7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvU291cmNlc0NvY29hLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQKaW5k
ZXggY2FhYjllZDM2OTVmYTU3Yjg1Y2UwYWZkZTQzMzM1YmY2NzliNTdjYy4uZDhhYTgyMjlkODZh
NzcxZWQwOGI0Njg3Mjk2ZTI3NDcwNmJjYzk1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
U291cmNlc0NvY29hLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0CkBA
IC0zMDAsNyArMzAwLDcgQEAgcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENvY29hLm1tCiBw
bGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250RGVzY3JpcHRpb25Db2NvYS5jcHAKIHBsYXRmb3Jt
L2dyYXBoaWNzL2NvY29hL0ZvbnRGYW1pbHlTcGVjaWZpY2F0aW9uQ29yZVRleHQuY3BwCiBwbGF0
Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250UGxhdGZvcm1EYXRhQ29jb2EubW0KLXBsYXRmb3JtL2dy
YXBoaWNzL2NvY29hL0hFVkNVdGlsaXRpZXNDb2NvYS5jcHAKK3BsYXRmb3JtL2dyYXBoaWNzL2Nv
Y29hL0hFVkNVdGlsaXRpZXNDb2NvYS5tbQogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvSU9TdXJm
YWNlLm1tCiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9JT1N1cmZhY2VQb29sQ29jb2EubW0KIHBs
YXRmb3JtL2dyYXBoaWNzL2NvY29hL01lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlDb2Nv
YS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagppbmRleCBjZDk5MGZkYTg1MTE4ZjRmMmM0NjZkZmRjMDI2Mzg4YTdjZGY3MmJjLi5mOGQ0
NjY1MjMxODA3Y2RlYjI2MDEzMWVmNWQwMzNhNTY4N2FlY2E4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMzc1NCw3ICsxMzc1
NCw3IEBACiAJCUNEQTU5NTkxMjE0NkRFQzMwMEE4NDE4NSAvKiBIRVZDVXRpbGl0aWVzLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEhFVkNVdGlsaXRpZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQ0RBNTk1OTIyMTQ2REVDMzAwQTg0MTg1IC8qIEhFVkNVdGlsaXRpZXMuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gSEVWQ1V0aWxpdGllcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUNEQTU5NTk2MjE0NkRGNzgwMEE4NDE4NSAvKiBIRVZDVXRpbGl0aWVzQ29jb2EuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSEVWQ1V0aWxpdGllc0NvY29hLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07Ci0JCUNEQTU5NTk3MjE0NkRGNzgwMEE4NDE4NSAvKiBIRVZDVXRpbGl0aWVzQ29jb2EuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSEVWQ1V0aWxpdGllc0NvY29hLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQ0RBNTk1OTcyMTQ2REY3ODAwQTg0MTg1IC8qIEhFVkNVdGlsaXRp
ZXNDb2NvYS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEhFVkNVdGlsaXRpZXNDb2NvYS5tbTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RBNzk4MjExNzBBMjJEQzAwRDQ1QzU1IC8q
IEF1ZGlvU2Vzc2lvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBdWRpb1Nlc3Npb24uaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RBNzk4MjMxNzBBMjU4MzAwRDQ1QzU1IC8qIEF1ZGlvU2Vz
c2lvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBdWRpb1Nlc3Np
b24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDREE3OTgyNTE3MEEyNzkwMDBE
NDVDNTUgLyogQXVkaW9TZXNzaW9uSU9TLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gQXVkaW9TZXNzaW9uSU9TLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMjQ5OTAsOCArMjQ5OTAsOCBAQAogCQkJCUI1MzIwRDZBMTIyQTI0RTkwMDJEMTQ0MCAv
KiBGb250UGxhdGZvcm1EYXRhQ29jb2EubW0gKi8sCiAJCQkJNDlGRkJGMUMxMUM4NTUwRTAwNkE3
MTE4IC8qIEdyYXBoaWNzQ29udGV4dDNEQ29jb2EubW0gKi8sCiAJCQkJQjI3N0I0MDMwQjIyRjM3
QzAwMDRCRUM2IC8qIEdyYXBoaWNzQ29udGV4dENvY29hLm1tICovLAotCQkJCUNEQTU5NTk3MjE0
NkRGNzgwMEE4NDE4NSAvKiBIRVZDVXRpbGl0aWVzQ29jb2EuY3BwICovLAogCQkJCUNEQTU5NTk2
MjE0NkRGNzgwMEE4NDE4NSAvKiBIRVZDVXRpbGl0aWVzQ29jb2EuaCAqLywKKwkJCQlDREE1OTU5
NzIxNDZERjc4MDBBODQxODUgLyogSEVWQ1V0aWxpdGllc0NvY29hLm1tICovLAogCQkJCTJEMEI0
QUE5MThEQTFDQ0QwMDQzNERFMSAvKiBJT1N1cmZhY2UuaCAqLywKIAkJCQkyRDBCNEFBQTE4REEx
Q0NEMDA0MzRERTEgLyogSU9TdXJmYWNlLm1tICovLAogCQkJCUFEOUZGNkUwMTkwODM5MUQwMDNC
NjFFMCAvKiBJT1N1cmZhY2VQb29sQ29jb2EubW0gKi8sCkBAIC0zMDgxMyw2ICszMDgxMyw4IEBA
CiAJCQkJNDlFOTExQzcwRUY4NkQ0NzAwOUQwQ0FGIC8qIE1hdHJpeFRyYW5zZm9ybU9wZXJhdGlv
bi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUNCQzhEQUQxQUFBMzAyMjAwRTFDODAzIC8qIE1lZGlh
QWNjZXNzaWJpbGl0eVNvZnRMaW5rLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzFCQ0M2MTExMjRE
RkNCMDBCRTcwREQgLyogTWVkaWFDYW5TdGFydExpc3RlbmVyLmggaW4gSGVhZGVycyAqLywKKwkJ
CQlDRENDOUJDRjIyMzg3RTlBMDBGRkI1MUMgLyogTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0lu
Zm8uaCBpbiBIZWFkZXJzICovLAorCQkJCUNEQ0M5QkQxMjIzODdFQUEwMEZGQjUxQyAvKiBNZWRp
YUNhcGFiaWxpdGllc0VuY29kaW5nSW5mby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDc4RTA5M0Ex
N0QxNkUxQzAwNDIwQUExIC8qIE1lZGlhQ29uc3RyYWludHMuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTQxNzI1M0FCMTM1NEJCQkMwMDM2MEYyQSAvKiBNZWRpYUNvbnRyb2xFbGVtZW50cy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJREVCQ0NERDQxNjY0NkVBRjAwQTQ1MkUxIC8qIE1lZGlhQ29udHJvbEVs
ZW1lbnRUeXBlcy5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMjExOCw3ICszMjEyMCw2IEBACiAJCQkJ
QzY1MDQ2QTkxNjdCRkI1NTAwQ0MyQTREIC8qIFRlbXBsYXRlQ29udGVudERvY3VtZW50RnJhZ21l
bnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTI2RTk0NEREMUFDNEI0RUEwMDdCODVCNSAvKiBUZXJt
LmggaW4gSGVhZGVycyAqLywKIAkJCQk2NTUwQjZBNjA5OURGMDI3MDA5MEQ3ODEgLyogVGV4dC5o
IGluIEhlYWRlcnMgKi8sCi0JCQkJQ0RDQzlCRDEyMjM4N0VBQTAwRkZCNTFDIC8qIE1lZGlhQ2Fw
YWJpbGl0aWVzRW5jb2RpbmdJbmZvLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzMwOUUxNzA5OUU2
NDkyMDA1NkU1ODEgLyogVGV4dEFmZmluaXR5LmggaW4gSGVhZGVycyAqLywKIAkJCQlDRTdCMkRC
NTE1ODZBQkFEMDA5OEIzRkEgLyogVGV4dEFsdGVybmF0aXZlV2l0aFJhbmdlLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkwRjU0RENFNjE4ODEwNTFEMDAzRUVEQkIgLyogVGV4dEF1dG9TaXppbmcuaCBp
biBIZWFkZXJzICovLApAQCAtMzIyMTIsNyArMzIyMTMsNiBAQAogCQkJCTQ5RTkxMUM0MEVGODZE
NDcwMDlEMENBRiAvKiBUcmFuc2Zvcm1hdGlvbk1hdHJpeC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
RkI0ODRGNEQxNzFGODIxRTAwMDQwNzU1IC8qIFRyYW5zZm9ybUZ1bmN0aW9ucy5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNDlFOTExQ0UwRUY4NkQ0NzAwOUQwQ0FGIC8qIFRyYW5zZm9ybU9wZXJhdGlv
bi5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQ0RDQzlCQ0YyMjM4N0U5QTAwRkZCNTFDIC8qIE1lZGlh
Q2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OUU5MTFEMDBF
Rjg2RDQ3MDA5RDBDQUYgLyogVHJhbnNmb3JtT3BlcmF0aW9ucy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNURCMUJDNkExMDcxNUE2NDAwRUZBQTQ5IC8qIFRyYW5zZm9ybVNvdXJjZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNDk0NUJGRDQxM0NGODA5MDAwQ0MzQjM4IC8qIFRyYW5zZm9ybVN0YXRlLmgg
aW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29h
L1ZpZGVvVG9vbGJveFNvZnRMaW5rLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29h
L1ZpZGVvVG9vbGJveFNvZnRMaW5rLmNwcAppbmRleCA5NGQ1ODMxMDJjOTk4NDk5ZmE4N2VlMzg5
YjBlMjU1NTc3YTMzNzE5Li41OTcxZDM5ODFlOTQ1MzJmZWQwMDU5YzRiNmRmYzcyY2IwYzc3NmJh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9WaWRlb1Rvb2xib3hT
b2Z0TGluay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvVmlkZW9Ub29s
Ym94U29mdExpbmsuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSA8VmlkZW9Ub29sYm94
L1ZpZGVvVG9vbGJveC5oPgogI2luY2x1ZGUgPHd0Zi9Tb2Z0TGlua2luZy5oPgogCit0eXBlZGVm
IHN0cnVjdCBPcGFxdWVWVFZpZGVvRGVjb2RlciBWVFZpZGVvRGVjb2RlclJlZjsKIHR5cGVkZWYg
c3RydWN0IE9wYXF1ZVZUSW1hZ2VSb3RhdGlvblNlc3Npb24qIFZUSW1hZ2VSb3RhdGlvblNlc3Np
b25SZWY7CiB0eXBlZGVmIHN0cnVjdCBPcGFxdWVWVFBpeGVsQnVmZmVyQ29uZm9ybWVyKiBWVFBp
eGVsQnVmZmVyQ29uZm9ybWVyUmVmOwogdHlwZWRlZiBzdHJ1Y3QgT3BhcXVlVlRQaXhlbFRyYW5z
ZmVyU2Vzc2lvbiogVlRQaXhlbFRyYW5zZmVyU2Vzc2lvblJlZjsKQEAgLTUwLDYgKzUxLDcgQEAg
U09GVF9MSU5LX0ZVTkNUSU9OX01BWV9GQUlMX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgVmlkZW9Ub29s
Ym94LCBWVEdldEdWQURlY29kZXJBdmEKIFNPRlRfTElOS19GVU5DVElPTl9NQVlfRkFJTF9GT1Jf
U09VUkNFKFdlYkNvcmUsIFZpZGVvVG9vbGJveCwgVlRDcmVhdGVDR0ltYWdlRnJvbUNWUGl4ZWxC
dWZmZXIsIE9TU3RhdHVzLCAoQ1ZQaXhlbEJ1ZmZlclJlZiBwaXhlbEJ1ZmZlciwgQ0ZEaWN0aW9u
YXJ5UmVmIG9wdGlvbnMsIENHSW1hZ2VSZWYqIGltYWdlT3V0KSwgKHBpeGVsQnVmZmVyLCBvcHRp
b25zLCBpbWFnZU91dCkpCiBTT0ZUX0xJTktfRlVOQ1RJT05fTUFZX0ZBSUxfRk9SX1NPVVJDRShX
ZWJDb3JlLCBWaWRlb1Rvb2xib3gsIFZUQ29weUhFVkNEZWNvZGVyQ2FwYWJpbGl0aWVzRGljdGlv
bmFyeSwgQ0ZEaWN0aW9uYXJ5UmVmLCAoKSwgKCkpCiBTT0ZUX0xJTktfRlVOQ1RJT05fTUFZX0ZB
SUxfRk9SX1NPVVJDRShXZWJDb3JlLCBWaWRlb1Rvb2xib3gsIFZUR2V0SEVWQ0NhcGFiaWxpdGVz
Rm9yRm9ybWF0RGVzY3JpcHRpb24sIE9TU3RhdHVzLCAoQ01WaWRlb0Zvcm1hdERlc2NyaXB0aW9u
UmVmIGZvcm1hdERlc2NyaXB0aW9uLCBDRkRpY3Rpb25hcnlSZWYgZGVjb2RlckNhcGFiaWxpdGll
c0RpY3QsIEJvb2xlYW4qIGlzRGVjb2RhYmxlLCBCb29sZWFuKiBtYXlCZVBsYXlhYmxlKSwgKGZv
cm1hdERlc2NyaXB0aW9uLCBkZWNvZGVyQ2FwYWJpbGl0aWVzRGljdCwgaXNEZWNvZGFibGUsIG1h
eUJlUGxheWFibGUpKQorU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgVmlk
ZW9Ub29sYm94LCBWVFNlbGVjdEFuZENyZWF0ZVZpZGVvRGVjb2Rlckluc3RhbmNlLCBPU1N0YXR1
cywgKENNVmlkZW9Db2RlY1R5cGUgY29kZWNUeXBlLCBDRkFsbG9jYXRvclJlZiBhbGxvY2F0b3Is
IENGRGljdGlvbmFyeVJlZiB2aWRlb0RlY29kZXJTcGVjaWZpY2F0aW9uLCBWVFZpZGVvRGVjb2Rl
clJlZiAqZGVjb2Rlckluc3RhbmNlT3V0KSwgKGNvZGVjVHlwZSwgYWxsb2NhdG9yLCB2aWRlb0Rl
Y29kZXJTcGVjaWZpY2F0aW9uLCBkZWNvZGVySW5zdGFuY2VPdXQpKQogU09GVF9MSU5LX0NPTlNU
QU5UX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgVmlkZW9Ub29sYm94LCBrVlRWaWRlb0RlY29kZXJTcGVj
aWZpY2F0aW9uX0VuYWJsZUhhcmR3YXJlQWNjZWxlcmF0ZWRWaWRlb0RlY29kZXIsIENGU3RyaW5n
UmVmKQogU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgVmlkZW9Ub29sYm94
LCBrVlREZWNvbXByZXNzaW9uUHJvcGVydHlLZXlfUGl4ZWxCdWZmZXJQb29sLCBDRlN0cmluZ1Jl
ZikKIFNPRlRfTElOS19DT05TVEFOVF9GT1JfU09VUkNFKFdlYkNvcmUsIFZpZGVvVG9vbGJveCwg
a1ZURGVjb21wcmVzc2lvblByb3BlcnR5S2V5X1N1Z2dlc3RlZFF1YWxpdHlPZlNlcnZpY2VUaWVy
cywgQ0ZTdHJpbmdSZWYpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2Nv
YS9WaWRlb1Rvb2xib3hTb2Z0TGluay5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2Ev
VmlkZW9Ub29sYm94U29mdExpbmsuaAppbmRleCAyOTUwMDk1ZGMyMzU2Y2I1NzE0MWM0NTU2ZmUy
ZmU0ZmZmOGI1NDdiLi5hYzQ5MjQ3ZmI0NjUyNDAxZTY3MDBhMzgxMzNjNjNkZGVmY2NiODM4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9WaWRlb1Rvb2xib3hTb2Z0
TGluay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1ZpZGVvVG9vbGJveFNv
ZnRMaW5rLmgKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlIDxWaWRlb1Rvb2xib3gvVmlkZW9U
b29sYm94Lmg+CiAjaW5jbHVkZSA8d3RmL1NvZnRMaW5raW5nLmg+CiAKK3R5cGVkZWYgc3RydWN0
IE9wYXF1ZVZUVmlkZW9EZWNvZGVyIFZUVmlkZW9EZWNvZGVyUmVmOwogdHlwZWRlZiBzdHJ1Y3Qg
T3BhcXVlVlRJbWFnZVJvdGF0aW9uU2Vzc2lvbiogVlRJbWFnZVJvdGF0aW9uU2Vzc2lvblJlZjsK
IHR5cGVkZWYgc3RydWN0IE9wYXF1ZVZUUGl4ZWxCdWZmZXJDb25mb3JtZXIqIFZUUGl4ZWxCdWZm
ZXJDb25mb3JtZXJSZWY7CiB0eXBlZGVmIHN0cnVjdCBPcGFxdWVWVFBpeGVsVHJhbnNmZXJTZXNz
aW9uKiBWVFBpeGVsVHJhbnNmZXJTZXNzaW9uUmVmOwpAQCAtNjQsNiArNjUsOCBAQCBTT0ZUX0xJ
TktfRlVOQ1RJT05fTUFZX0ZBSUxfRk9SX0hFQURFUihXZWJDb3JlLCBWaWRlb1Rvb2xib3gsIFZU
Q29weUhFVkNEZWNvZGVyQwogI2RlZmluZSBWVENvcHlIRVZDRGVjb2RlckNhcGFiaWxpdGllc0Rp
Y3Rpb25hcnkgc29mdExpbmtfVmlkZW9Ub29sYm94X1ZUQ29weUhFVkNEZWNvZGVyQ2FwYWJpbGl0
aWVzRGljdGlvbmFyeQogU09GVF9MSU5LX0ZVTkNUSU9OX01BWV9GQUlMX0ZPUl9IRUFERVIoV2Vi
Q29yZSwgVmlkZW9Ub29sYm94LCBWVEdldEhFVkNDYXBhYmlsaXRlc0ZvckZvcm1hdERlc2NyaXB0
aW9uLCBPU1N0YXR1cywgKENNVmlkZW9Gb3JtYXREZXNjcmlwdGlvblJlZiBmb3JtYXREZXNjcmlw
dGlvbiwgQ0ZEaWN0aW9uYXJ5UmVmIGRlY29kZXJDYXBhYmlsaXRpZXNEaWN0LCBCb29sZWFuKiBp
c0RlY29kYWJsZSwgQm9vbGVhbiogbWF5QmVQbGF5YWJsZSksIChmb3JtYXREZXNjcmlwdGlvbiwg
ZGVjb2RlckNhcGFiaWxpdGllc0RpY3QsIGlzRGVjb2RhYmxlLCBtYXlCZVBsYXlhYmxlKSkKICNk
ZWZpbmUgVlRHZXRIRVZDQ2FwYWJpbGl0ZXNGb3JGb3JtYXREZXNjcmlwdGlvbiBzb2Z0TGlua19W
aWRlb1Rvb2xib3hfVlRHZXRIRVZDQ2FwYWJpbGl0ZXNGb3JGb3JtYXREZXNjcmlwdGlvbgorU09G
VF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoV2ViQ29yZSwgVmlkZW9Ub29sYm94LCBWVFNlbGVj
dEFuZENyZWF0ZVZpZGVvRGVjb2Rlckluc3RhbmNlLCBPU1N0YXR1cywgKENNVmlkZW9Db2RlY1R5
cGUgY29kZWNUeXBlLCBDRkFsbG9jYXRvclJlZiBhbGxvY2F0b3IsIENGRGljdGlvbmFyeVJlZiB2
aWRlb0RlY29kZXJTcGVjaWZpY2F0aW9uLCBWVFZpZGVvRGVjb2RlclJlZiAqZGVjb2Rlckluc3Rh
bmNlT3V0KSwgKGNvZGVjVHlwZSwgYWxsb2NhdG9yLCB2aWRlb0RlY29kZXJTcGVjaWZpY2F0aW9u
LCBkZWNvZGVySW5zdGFuY2VPdXQpKQorI2RlZmluZSBWVFNlbGVjdEFuZENyZWF0ZVZpZGVvRGVj
b2Rlckluc3RhbmNlIHNvZnRMaW5rX1ZpZGVvVG9vbGJveF9WVFNlbGVjdEFuZENyZWF0ZVZpZGVv
RGVjb2Rlckluc3RhbmNlCiBTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX0hFQURFUihXZWJDb3JlLCBW
aWRlb1Rvb2xib3gsIGtWVFZpZGVvRGVjb2RlclNwZWNpZmljYXRpb25fRW5hYmxlSGFyZHdhcmVB
Y2NlbGVyYXRlZFZpZGVvRGVjb2RlciwgQ0ZTdHJpbmdSZWYpCiAjZGVmaW5lIGtWVFZpZGVvRGVj
b2RlclNwZWNpZmljYXRpb25fRW5hYmxlSGFyZHdhcmVBY2NlbGVyYXRlZFZpZGVvRGVjb2RlciBn
ZXRfVmlkZW9Ub29sYm94X2tWVFZpZGVvRGVjb2RlclNwZWNpZmljYXRpb25fRW5hYmxlSGFyZHdh
cmVBY2NlbGVyYXRlZFZpZGVvRGVjb2RlcigpCiBTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX0hFQURF
UihXZWJDb3JlLCBWaWRlb1Rvb2xib3gsIGtWVERlY29tcHJlc3Npb25Qcm9wZXJ0eUtleV9QaXhl
bEJ1ZmZlclBvb2wsIENGU3RyaW5nUmVmKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY29jb2EvSEVWQ1V0aWxpdGllc0NvY29hLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0hFVkNVdGlsaXRpZXNDb2NvYS5jcHAKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY2NzE5YThlYzYxMjA2ZGVmYTFkYTgxMWI2ZTU2MjM4
MzI2ZDJiYjEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvSEVWQ1V0aWxpdGllc0NvY29h
LmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDEwMSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChD
KSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
LSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1
ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkhFVkNVdGlsaXRpZXNDb2NvYS5oIgotCi0jaWYgUExB
VEZPUk0oQ09DT0EpCi0KLSNpbmNsdWRlICJIRVZDVXRpbGl0aWVzLmgiCi0jaW5jbHVkZSAiTWVk
aWFDYXBhYmlsaXRpZXNJbmZvLmgiCi0KLSNpbmNsdWRlICJWaWRlb1Rvb2xib3hTb2Z0TGluay5o
IgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWJvb2wgdmFsaWRhdGVIRVZDUGFyYW1ldGVycyhI
RVZDUGFyYW1ldGVyU2V0JiBwYXJhbWV0ZXJzLCBNZWRpYUNhcGFiaWxpdGllc0luZm8mIGluZm8p
Ci17Ci0gICAgaWYgKCFjYW5Mb2FkX1ZpZGVvVG9vbGJveF9WVENvcHlIRVZDRGVjb2RlckNhcGFi
aWxpdGllc0RpY3Rpb25hcnkoKQotICAgICAgICB8fCAhY2FuTG9hZF9WaWRlb1Rvb2xib3hfa1ZU
SEVWQ0RlY29kZXJDYXBhYmlsaXR5X1N1cHBvcnRlZFByb2ZpbGVzKCkKLSAgICAgICAgfHwgIWNh
bkxvYWRfVmlkZW9Ub29sYm94X2tWVEhFVkNEZWNvZGVyQ2FwYWJpbGl0eV9QZXJQcm9maWxlU3Vw
cG9ydCgpCi0gICAgICAgIHx8ICFjYW5Mb2FkX1ZpZGVvVG9vbGJveF9rVlRIRVZDRGVjb2RlclBy
b2ZpbGVDYXBhYmlsaXR5X0lzSGFyZHdhcmVBY2NlbGVyYXRlZCgpCi0gICAgICAgIHx8ICFjYW5M
b2FkX1ZpZGVvVG9vbGJveF9rVlRIRVZDRGVjb2RlclByb2ZpbGVDYXBhYmlsaXR5X01heERlY29k
ZUxldmVsKCkKLSAgICAgICAgfHwgIWNhbkxvYWRfVmlkZW9Ub29sYm94X2tWVEhFVkNEZWNvZGVy
UHJvZmlsZUNhcGFiaWxpdHlfTWF4UGxheWJhY2tMZXZlbCgpKQotICAgICAgICByZXR1cm4gZmFs
c2U7Ci0KLSAgICBSZXRhaW5QdHI8Q0ZEaWN0aW9uYXJ5UmVmPiBjYXBhYmlsaXRpZXMgPSBhZG9w
dENGKFZUQ29weUhFVkNEZWNvZGVyQ2FwYWJpbGl0aWVzRGljdGlvbmFyeSgpKTsKLSAgICBpZiAo
IWNhcGFiaWxpdGllcykKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgYXV0byBzdXBwb3J0
ZWRQcm9maWxlcyA9IChDRkFycmF5UmVmKUNGRGljdGlvbmFyeUdldFZhbHVlKGNhcGFiaWxpdGll
cy5nZXQoKSwga1ZUSEVWQ0RlY29kZXJDYXBhYmlsaXR5X1N1cHBvcnRlZFByb2ZpbGVzKTsKLSAg
ICBpZiAoIXN1cHBvcnRlZFByb2ZpbGVzIHx8IENGR2V0VHlwZUlEKHN1cHBvcnRlZFByb2ZpbGVz
KSAhPSBDRkFycmF5R2V0VHlwZUlEKCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIGlu
dDE2X3QgZ2VuZXJhbFByb2ZpbGVJREMgPSBwYXJhbWV0ZXJzLmdlbmVyYWxQcm9maWxlSURDOwot
ICAgIGF1dG8gY2ZHZW5lcmFsUHJvZmlsZUlEQyA9IGFkb3B0Q0YoQ0ZOdW1iZXJDcmVhdGUoa0NG
QWxsb2NhdG9yRGVmYXVsdCwga0NGTnVtYmVyU0ludDE2VHlwZSwgJmdlbmVyYWxQcm9maWxlSURD
KSk7Ci0gICAgYXV0byBzZWFyY2hSYW5nZSA9IENGUmFuZ2VNYWtlKDAsIENGQXJyYXlHZXRDb3Vu
dChzdXBwb3J0ZWRQcm9maWxlcykpOwotICAgIGlmICghQ0ZBcnJheUNvbnRhaW5zVmFsdWUoc3Vw
cG9ydGVkUHJvZmlsZXMsIHNlYXJjaFJhbmdlLCBjZkdlbmVyYWxQcm9maWxlSURDLmdldCgpKSkK
LSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgYXV0byBwZXJQcm9maWxlU3VwcG9ydCA9IChD
RkRpY3Rpb25hcnlSZWYpQ0ZEaWN0aW9uYXJ5R2V0VmFsdWUoY2FwYWJpbGl0aWVzLmdldCgpLCBr
VlRIRVZDRGVjb2RlckNhcGFiaWxpdHlfUGVyUHJvZmlsZVN1cHBvcnQpOwotICAgIGlmICghcGVy
UHJvZmlsZVN1cHBvcnQgfHwgQ0ZHZXRUeXBlSUQocGVyUHJvZmlsZVN1cHBvcnQpICE9IENGRGlj
dGlvbmFyeUdldFR5cGVJRCgpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBhdXRvIGdl
bmVyYWxQcm9maWxlSURDU3RyaW5nID0gU3RyaW5nOjpudW1iZXIoZ2VuZXJhbFByb2ZpbGVJREMp
LmNyZWF0ZUNGU3RyaW5nKCk7Ci0gICAgYXV0byBwcm9maWxlU3VwcG9ydCA9IChDRkRpY3Rpb25h
cnlSZWYpQ0ZEaWN0aW9uYXJ5R2V0VmFsdWUocGVyUHJvZmlsZVN1cHBvcnQsIGdlbmVyYWxQcm9m
aWxlSURDU3RyaW5nLmdldCgpKTsKLSAgICBpZiAoIXByb2ZpbGVTdXBwb3J0IHx8IENGR2V0VHlw
ZUlEKHByb2ZpbGVTdXBwb3J0KSAhPSBDRkRpY3Rpb25hcnlHZXRUeXBlSUQoKSkKLSAgICAgICAg
cmV0dXJuIGZhbHNlOwotCi0gICAgYXV0byBpc0hhcmR3YXJlQWNjZWxlcmF0ZWQgPSAoQ0ZCb29s
ZWFuUmVmKUNGRGljdGlvbmFyeUdldFZhbHVlKHByb2ZpbGVTdXBwb3J0LCBrVlRIRVZDRGVjb2Rl
clByb2ZpbGVDYXBhYmlsaXR5X0lzSGFyZHdhcmVBY2NlbGVyYXRlZCk7Ci0gICAgaWYgKGlzSGFy
ZHdhcmVBY2NlbGVyYXRlZCAmJiBDRkdldFR5cGVJRChpc0hhcmR3YXJlQWNjZWxlcmF0ZWQpID09
IENGQm9vbGVhbkdldFR5cGVJRCgpKQotICAgICAgICBpbmZvLnBvd2VyRWZmaWNpZW50ID0gQ0ZC
b29sZWFuR2V0VmFsdWUoaXNIYXJkd2FyZUFjY2VsZXJhdGVkKTsKLQotICAgIGF1dG8gY2ZNYXhE
ZWNvZGVMZXZlbCA9IChDRk51bWJlclJlZilDRkRpY3Rpb25hcnlHZXRWYWx1ZShwcm9maWxlU3Vw
cG9ydCwga1ZUSEVWQ0RlY29kZXJQcm9maWxlQ2FwYWJpbGl0eV9NYXhEZWNvZGVMZXZlbCk7Ci0g
ICAgaWYgKGNmTWF4RGVjb2RlTGV2ZWwgJiYgQ0ZHZXRUeXBlSUQoY2ZNYXhEZWNvZGVMZXZlbCkg
PT0gQ0ZOdW1iZXJHZXRUeXBlSUQoKSkgewotICAgICAgICBpbnQxNl90IG1heERlY29kZUxldmVs
ID0gMDsKLSAgICAgICAgaWYgKCFDRk51bWJlckdldFZhbHVlKGNmTWF4RGVjb2RlTGV2ZWwsIGtD
Rk51bWJlclNJbnQxNlR5cGUsICZtYXhEZWNvZGVMZXZlbCkpCi0gICAgICAgICAgICByZXR1cm4g
ZmFsc2U7Ci0KLSAgICAgICAgaWYgKHBhcmFtZXRlcnMuZ2VuZXJhbExldmVsSURDID4gbWF4RGVj
b2RlTGV2ZWwpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICAgICAgaW5mby5zdXBw
b3J0ZWQgPSB0cnVlOwotICAgIH0KLQotICAgIGF1dG8gY2ZNYXhQbGF5YmFja0xldmVsID0gKENG
TnVtYmVyUmVmKUNGRGljdGlvbmFyeUdldFZhbHVlKHByb2ZpbGVTdXBwb3J0LCBrVlRIRVZDRGVj
b2RlclByb2ZpbGVDYXBhYmlsaXR5X01heFBsYXliYWNrTGV2ZWwpOwotICAgIGlmIChjZk1heFBs
YXliYWNrTGV2ZWwgJiYgQ0ZHZXRUeXBlSUQoY2ZNYXhQbGF5YmFja0xldmVsKSA9PSBDRk51bWJl
ckdldFR5cGVJRCgpKSB7Ci0gICAgICAgIGludDE2X3QgbWF4UGxheWJhY2tMZXZlbCA9IDA7Ci0g
ICAgICAgIGlmICghQ0ZOdW1iZXJHZXRWYWx1ZShjZk1heFBsYXliYWNrTGV2ZWwsIGtDRk51bWJl
clNJbnQxNlR5cGUsICZtYXhQbGF5YmFja0xldmVsKSkKLSAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKLQotICAgICAgICBpbmZvLnNtb290aCA9IHBhcmFtZXRlcnMuZ2VuZXJhbExldmVsSURDIDw9
IG1heFBsYXliYWNrTGV2ZWw7Ci0gICAgfQotCi0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLX0KLQot
I2VuZGlmIC8vIFBMQVRGT1JNKENPQ09BKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY29jb2EvSEVWQ1V0aWxpdGllc0NvY29hLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9IRVZDVXRpbGl0aWVzQ29jb2EuaAppbmRleCBlYzVm
NzQyOTVmNTFkYjI3NTYxZDVkMTJhMjliMjkyMzAzNTYzZDc1Li41MjE2MzA0MDA2NTM0NzA4ZTEw
ODQwOWRjNTExMWI3NWViMDZjM2MwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jb2NvYS9IRVZDVXRpbGl0aWVzQ29jb2EuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9IRVZDVXRpbGl0aWVzQ29jb2EuaApAQCAtMzMsNyAr
MzMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0cnVjdCBNZWRpYUNhcGFiaWxpdGllc0lu
Zm87CiAKLWV4dGVybiBib29sIHZhbGlkYXRlSEVWQ1BhcmFtZXRlcnMoSEVWQ1BhcmFtZXRlclNl
dCYsIE1lZGlhQ2FwYWJpbGl0aWVzSW5mbyYpOworZXh0ZXJuIGJvb2wgdmFsaWRhdGVIRVZDUGFy
YW1ldGVycyhIRVZDUGFyYW1ldGVyU2V0JiwgTWVkaWFDYXBhYmlsaXRpZXNJbmZvJiwgYm9vbCBo
YXNBbHBoYUNoYW5uZWwpOwogCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NvY29hL0hFVkNVdGlsaXRpZXNDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0hFVkNVdGlsaXRpZXNDb2NvYS5tbQpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4zMWMyZDcxYjU4NGM2YzZmMmE4YjAxYzg1YWU3ZjBiY2QwMjM4OTE2Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvSEVWQ1V0aWxpdGll
c0NvY29hLm1tCkBAIC0wLDAgKzEsMTIwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIkhFVkNVdGlsaXRpZXNDb2NvYS5oIgorCisjaWYgUExBVEZPUk0oQ09D
T0EpCisKKyNpbmNsdWRlICJGb3VyQ0MuaCIKKyNpbmNsdWRlICJIRVZDVXRpbGl0aWVzLmgiCisj
aW5jbHVkZSAiTWVkaWFDYXBhYmlsaXRpZXNJbmZvLmgiCisKKyNpbmNsdWRlICJWaWRlb1Rvb2xi
b3hTb2Z0TGluay5oIgorCitTT0ZUX0xJTktfRlJBTUVXT1JLX09QVElPTkFMKEFWRm91bmRhdGlv
bikKK1NPRlRfTElOS19DT05TVEFOVF9NQVlfRkFJTChBVkZvdW5kYXRpb24sIEFWVmlkZW9Db2Rl
Y1R5cGVIRVZDV2l0aEFscGhhLCBOU1N0cmluZyAqKQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K2Jvb2wgdmFsaWRhdGVIRVZDUGFyYW1ldGVycyhIRVZDUGFyYW1ldGVyU2V0JiBwYXJhbWV0ZXJz
LCBNZWRpYUNhcGFiaWxpdGllc0luZm8mIGluZm8sIGJvb2wgaGFzQWxwaGFDaGFubmVsKQorewor
ICAgIENNVmlkZW9Db2RlY1R5cGUgY29kZWMgPSBrQ01WaWRlb0NvZGVjVHlwZV9IRVZDOworICAg
IGlmIChoYXNBbHBoYUNoYW5uZWwpIHsKKyAgICAgICAgaWYgKCFBVkZvdW5kYXRpb25MaWJyYXJ5
KCkgfHwgIWNhbkxvYWRBVlZpZGVvQ29kZWNUeXBlSEVWQ1dpdGhBbHBoYSgpKQorICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIGF1dG8gY29kZWNDb2RlID0gRm91ckNDOjpmcm9t
U3RyaW5nKGdldEFWVmlkZW9Db2RlY1R5cGVIRVZDV2l0aEFscGhhKCkpOworICAgICAgICBpZiAo
IWNvZGVjQ29kZSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICBjb2RlYyA9
IGNvZGVjQ29kZS52YWx1ZSgpLnZhbHVlOworICAgIH0KKyAgICBPU1N0YXR1cyBzdGF0dXMgPSBW
VFNlbGVjdEFuZENyZWF0ZVZpZGVvRGVjb2Rlckluc3RhbmNlKGNvZGVjLCBrQ0ZBbGxvY2F0b3JE
ZWZhdWx0LCBudWxscHRyLCBudWxscHRyKTsKKyAgICBpZiAoc3RhdHVzICE9IG5vRXJyKQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoIWNhbkxvYWRfVmlkZW9Ub29sYm94X1ZUQ29w
eUhFVkNEZWNvZGVyQ2FwYWJpbGl0aWVzRGljdGlvbmFyeSgpCisgICAgICAgIHx8ICFjYW5Mb2Fk
X1ZpZGVvVG9vbGJveF9rVlRIRVZDRGVjb2RlckNhcGFiaWxpdHlfU3VwcG9ydGVkUHJvZmlsZXMo
KQorICAgICAgICB8fCAhY2FuTG9hZF9WaWRlb1Rvb2xib3hfa1ZUSEVWQ0RlY29kZXJDYXBhYmls
aXR5X1BlclByb2ZpbGVTdXBwb3J0KCkKKyAgICAgICAgfHwgIWNhbkxvYWRfVmlkZW9Ub29sYm94
X2tWVEhFVkNEZWNvZGVyUHJvZmlsZUNhcGFiaWxpdHlfSXNIYXJkd2FyZUFjY2VsZXJhdGVkKCkK
KyAgICAgICAgfHwgIWNhbkxvYWRfVmlkZW9Ub29sYm94X2tWVEhFVkNEZWNvZGVyUHJvZmlsZUNh
cGFiaWxpdHlfTWF4RGVjb2RlTGV2ZWwoKQorICAgICAgICB8fCAhY2FuTG9hZF9WaWRlb1Rvb2xi
b3hfa1ZUSEVWQ0RlY29kZXJQcm9maWxlQ2FwYWJpbGl0eV9NYXhQbGF5YmFja0xldmVsKCkpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIFJldGFpblB0cjxDRkRpY3Rpb25hcnlSZWY+IGNh
cGFiaWxpdGllcyA9IGFkb3B0Q0YoVlRDb3B5SEVWQ0RlY29kZXJDYXBhYmlsaXRpZXNEaWN0aW9u
YXJ5KCkpOworICAgIGlmICghY2FwYWJpbGl0aWVzKQorICAgICAgICByZXR1cm4gZmFsc2U7CisK
KyAgICBhdXRvIHN1cHBvcnRlZFByb2ZpbGVzID0gKENGQXJyYXlSZWYpQ0ZEaWN0aW9uYXJ5R2V0
VmFsdWUoY2FwYWJpbGl0aWVzLmdldCgpLCBrVlRIRVZDRGVjb2RlckNhcGFiaWxpdHlfU3VwcG9y
dGVkUHJvZmlsZXMpOworICAgIGlmICghc3VwcG9ydGVkUHJvZmlsZXMgfHwgQ0ZHZXRUeXBlSUQo
c3VwcG9ydGVkUHJvZmlsZXMpICE9IENGQXJyYXlHZXRUeXBlSUQoKSkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworCisgICAgaW50MTZfdCBnZW5lcmFsUHJvZmlsZUlEQyA9IHBhcmFtZXRlcnMuZ2Vu
ZXJhbFByb2ZpbGVJREM7CisgICAgYXV0byBjZkdlbmVyYWxQcm9maWxlSURDID0gYWRvcHRDRihD
Rk51bWJlckNyZWF0ZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBrQ0ZOdW1iZXJTSW50MTZUeXBlLCAm
Z2VuZXJhbFByb2ZpbGVJREMpKTsKKyAgICBhdXRvIHNlYXJjaFJhbmdlID0gQ0ZSYW5nZU1ha2Uo
MCwgQ0ZBcnJheUdldENvdW50KHN1cHBvcnRlZFByb2ZpbGVzKSk7CisgICAgaWYgKCFDRkFycmF5
Q29udGFpbnNWYWx1ZShzdXBwb3J0ZWRQcm9maWxlcywgc2VhcmNoUmFuZ2UsIGNmR2VuZXJhbFBy
b2ZpbGVJREMuZ2V0KCkpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBhdXRvIHBlclBy
b2ZpbGVTdXBwb3J0ID0gKENGRGljdGlvbmFyeVJlZilDRkRpY3Rpb25hcnlHZXRWYWx1ZShjYXBh
YmlsaXRpZXMuZ2V0KCksIGtWVEhFVkNEZWNvZGVyQ2FwYWJpbGl0eV9QZXJQcm9maWxlU3VwcG9y
dCk7CisgICAgaWYgKCFwZXJQcm9maWxlU3VwcG9ydCB8fCBDRkdldFR5cGVJRChwZXJQcm9maWxl
U3VwcG9ydCkgIT0gQ0ZEaWN0aW9uYXJ5R2V0VHlwZUlEKCkpCisgICAgICAgIHJldHVybiBmYWxz
ZTsKKworICAgIGF1dG8gZ2VuZXJhbFByb2ZpbGVJRENTdHJpbmcgPSBTdHJpbmc6Om51bWJlcihn
ZW5lcmFsUHJvZmlsZUlEQykuY3JlYXRlQ0ZTdHJpbmcoKTsKKyAgICBhdXRvIHByb2ZpbGVTdXBw
b3J0ID0gKENGRGljdGlvbmFyeVJlZilDRkRpY3Rpb25hcnlHZXRWYWx1ZShwZXJQcm9maWxlU3Vw
cG9ydCwgZ2VuZXJhbFByb2ZpbGVJRENTdHJpbmcuZ2V0KCkpOworICAgIGlmICghcHJvZmlsZVN1
cHBvcnQgfHwgQ0ZHZXRUeXBlSUQocHJvZmlsZVN1cHBvcnQpICE9IENGRGljdGlvbmFyeUdldFR5
cGVJRCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBhdXRvIGlzSGFyZHdhcmVBY2Nl
bGVyYXRlZCA9IChDRkJvb2xlYW5SZWYpQ0ZEaWN0aW9uYXJ5R2V0VmFsdWUocHJvZmlsZVN1cHBv
cnQsIGtWVEhFVkNEZWNvZGVyUHJvZmlsZUNhcGFiaWxpdHlfSXNIYXJkd2FyZUFjY2VsZXJhdGVk
KTsKKyAgICBpZiAoaXNIYXJkd2FyZUFjY2VsZXJhdGVkICYmIENGR2V0VHlwZUlEKGlzSGFyZHdh
cmVBY2NlbGVyYXRlZCkgPT0gQ0ZCb29sZWFuR2V0VHlwZUlEKCkpCisgICAgICAgIGluZm8ucG93
ZXJFZmZpY2llbnQgPSBDRkJvb2xlYW5HZXRWYWx1ZShpc0hhcmR3YXJlQWNjZWxlcmF0ZWQpOwor
CisgICAgYXV0byBjZk1heERlY29kZUxldmVsID0gKENGTnVtYmVyUmVmKUNGRGljdGlvbmFyeUdl
dFZhbHVlKHByb2ZpbGVTdXBwb3J0LCBrVlRIRVZDRGVjb2RlclByb2ZpbGVDYXBhYmlsaXR5X01h
eERlY29kZUxldmVsKTsKKyAgICBpZiAoY2ZNYXhEZWNvZGVMZXZlbCAmJiBDRkdldFR5cGVJRChj
Zk1heERlY29kZUxldmVsKSA9PSBDRk51bWJlckdldFR5cGVJRCgpKSB7CisgICAgICAgIGludDE2
X3QgbWF4RGVjb2RlTGV2ZWwgPSAwOworICAgICAgICBpZiAoIUNGTnVtYmVyR2V0VmFsdWUoY2ZN
YXhEZWNvZGVMZXZlbCwga0NGTnVtYmVyU0ludDE2VHlwZSwgJm1heERlY29kZUxldmVsKSkKKyAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICBpZiAocGFyYW1ldGVycy5nZW5lcmFs
TGV2ZWxJREMgPiBtYXhEZWNvZGVMZXZlbCkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKwor
ICAgICAgICBpbmZvLnN1cHBvcnRlZCA9IHRydWU7CisgICAgfQorCisgICAgYXV0byBjZk1heFBs
YXliYWNrTGV2ZWwgPSAoQ0ZOdW1iZXJSZWYpQ0ZEaWN0aW9uYXJ5R2V0VmFsdWUocHJvZmlsZVN1
cHBvcnQsIGtWVEhFVkNEZWNvZGVyUHJvZmlsZUNhcGFiaWxpdHlfTWF4UGxheWJhY2tMZXZlbCk7
CisgICAgaWYgKGNmTWF4UGxheWJhY2tMZXZlbCAmJiBDRkdldFR5cGVJRChjZk1heFBsYXliYWNr
TGV2ZWwpID09IENGTnVtYmVyR2V0VHlwZUlEKCkpIHsKKyAgICAgICAgaW50MTZfdCBtYXhQbGF5
YmFja0xldmVsID0gMDsKKyAgICAgICAgaWYgKCFDRk51bWJlckdldFZhbHVlKGNmTWF4UGxheWJh
Y2tMZXZlbCwga0NGTnVtYmVyU0ludDE2VHlwZSwgJm1heFBsYXliYWNrTGV2ZWwpKQorICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIGluZm8uc21vb3RoID0gcGFyYW1ldGVycy5n
ZW5lcmFsTGV2ZWxJREMgPD0gbWF4UGxheWJhY2tMZXZlbDsKKyAgICB9CisKKyAgICByZXR1cm4g
dHJ1ZTsKK30KKworfQorCisjZW5kaWYgLy8gUExBVEZPUk0oQ09DT0EpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9NZWRpYUVuZ2luZUNvbmZpZ3Vy
YXRpb25GYWN0b3J5Q29jb2EuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y29jb2EvTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeUNvY29hLmNwcAppbmRleCAyN2Yz
NzY2NWVlYjg4MzQ4OGIwNDEwNzBiYWNkZTVmM2EyM2E1ZDIzLi5hZWY3Njk1ZDAzMzBkZWIzZWI2
MTcwNThlNjA1N2YzZTY2ZjlmZjI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jb2NvYS9NZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5Q29jb2EuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL01lZGlhRW5naW5l
Q29uZmlndXJhdGlvbkZhY3RvcnlDb2NvYS5jcHAKQEAgLTc2LDE1ICs3NiwyNCBAQCB2b2lkIGNy
ZWF0ZU1lZGlhUGxheWVyRGVjb2RpbmdDb25maWd1cmF0aW9uQ29jb2EoTWVkaWFEZWNvZGluZ0Nv
bmZpZ3VyYXRpb24mJiBjbwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKKyAgICAg
ICAgYm9vbCBhbHBoYUNoYW5uZWwgPSB2aWRlb0NvbmZpZ3VyYXRpb24uYWxwaGFDaGFubmVsICYm
IHZpZGVvQ29uZmlndXJhdGlvbi5hbHBoYUNoYW5uZWwudmFsdWUoKTsKKwogICAgICAgICBpZiAo
dmlkZW9Db2RlY1R5cGUgPT0ga0NNVmlkZW9Db2RlY1R5cGVfSEVWQykgewogICAgICAgICAgICAg
YXV0byBwYXJhbWV0ZXJzID0gcGFyc2VIRVZDQ29kZWNQYXJhbWV0ZXJzKGNvZGVjKTsKLSAgICAg
ICAgICAgIGlmICghcGFyYW1ldGVycyB8fCAhdmFsaWRhdGVIRVZDUGFyYW1ldGVycyhwYXJhbWV0
ZXJzLnZhbHVlKCksIGluZm8pKSB7CisgICAgICAgICAgICBpZiAoIXBhcmFtZXRlcnMgfHwgIXZh
bGlkYXRlSEVWQ1BhcmFtZXRlcnMocGFyYW1ldGVycy52YWx1ZSgpLCBpbmZvLCBhbHBoYUNoYW5u
ZWwpKSB7CisgICAgICAgICAgICAgICAgY2FsbGJhY2soe3sgfSwgV1RGTW92ZShjb25maWd1cmF0
aW9uKX0pOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
fSBlbHNlIHsKKyAgICAgICAgICAgIGlmIChhbHBoYUNoYW5uZWwpIHsKICAgICAgICAgICAgICAg
ICBjYWxsYmFjayh7eyB9LCBXVEZNb3ZlKGNvbmZpZ3VyYXRpb24pfSk7CiAgICAgICAgICAgICAg
ICAgcmV0dXJuOwogICAgICAgICAgICAgfQotICAgICAgICB9IGVsc2UgaWYgKGNhbkxvYWRfVmlk
ZW9Ub29sYm94X1ZUSXNIYXJkd2FyZURlY29kZVN1cHBvcnRlZCgpKSB7Ci0gICAgICAgICAgICBp
bmZvLnBvd2VyRWZmaWNpZW50ID0gVlRJc0hhcmR3YXJlRGVjb2RlU3VwcG9ydGVkKHZpZGVvQ29k
ZWNUeXBlKTsKLSAgICAgICAgICAgIGluZm8uc21vb3RoID0gdHJ1ZTsKKworICAgICAgICAgICAg
aWYgKGNhbkxvYWRfVmlkZW9Ub29sYm94X1ZUSXNIYXJkd2FyZURlY29kZVN1cHBvcnRlZCgpKSB7
CisgICAgICAgICAgICAgICAgaW5mby5wb3dlckVmZmljaWVudCA9IFZUSXNIYXJkd2FyZURlY29k
ZVN1cHBvcnRlZCh2aWRlb0NvZGVjVHlwZSk7CisgICAgICAgICAgICAgICAgaW5mby5zbW9vdGgg
PSB0cnVlOworICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9WaWRlb0NvbmZpZ3VyYXRp
b24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL1ZpZGVvQ29u
ZmlndXJhdGlvbi5oCmluZGV4IGEzNzhmZDMwOWY2NWJjYjJmMTliZDJhMGQ2NDNhMTQ1OTE4NDAz
ZGMuLjc0NWY4YjhlMzNhMjg1ZjM2ZWM3ZjRhYzg5NTZkOWJiNGFmOTgyMDkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL1ZpZGVvQ29uZmlndXJh
dGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL1Zp
ZGVvQ29uZmlndXJhdGlvbi5oCkBAIC0yNSw2ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCisj
aW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM1LDYgKzM2LDcgQEAgc3RydWN0IFZpZGVvQ29u
ZmlndXJhdGlvbiB7CiAgICAgdWludDMyX3QgaGVpZ2h0OwogICAgIHVpbnQ2NF90IGJpdHJhdGU7
CiAgICAgZG91YmxlIGZyYW1lcmF0ZTsKKyAgICBPcHRpb25hbDxib29sPiBhbHBoYUNoYW5uZWw7
CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01lZGlh
RW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlNb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21vY2svTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeU1vY2suY3BwCmluZGV4IDc1
ZTI5N2NkMGQzZmEyMjY2NDBiZTYwMDU5NmIzMDM1YjA4YWI5Y2EuLmVhZGIwNzJiZDIxMGQ3OGZi
ZDJlNGFkZTQ4MDkxNThiYTZjMzE5MGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21vY2svTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeU1vY2suY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9y
eU1vY2suY3BwCkBAIC00Nyw2ICs0NywxMiBAQCBzdGF0aWMgYm9vbCBjYW5EZWNvZGVNZWRpYShj
b25zdCBNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbiYgY29uZmlndXJhdGlvbikKICAgICBpZiAo
dmlkZW9Db25maWcgJiYgdmlkZW9Db25maWctPndpZHRoID4gMTI4MCAmJiB2aWRlb0NvbmZpZy0+
aGVpZ2h0ID4gNzIwKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICAvLyBPbmx5IHRoZSAi
bW9jay13aXRoLWFscGhhIiBjb2RlYyBzdXBwb3J0cyBhbHBoYUNoYW5uZWwKKyAgICBpZiAodmlk
ZW9Db25maWcgJiYgdmlkZW9Db25maWctPmFscGhhQ2hhbm5lbCAmJiB2aWRlb0NvbmZpZy0+YWxw
aGFDaGFubmVsLnZhbHVlKCkpIHsKKyAgICAgICAgaWYgKENvbnRlbnRUeXBlKHZpZGVvQ29uZmln
LT5jb250ZW50VHlwZSkuY29kZWNzUGFyYW1ldGVyKCkgIT0gIm1vY2std2l0aC1hbHBoYSIpCisg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCiAgICAgLy8gQXVkaW8gZGVjb2Rpbmcg
c3VwcG9ydCBsaW1pdGVkIHRvIGF1ZGlvL21wNC4KICAgICBhdXRvIGF1ZGlvQ29uZmlnID0gY29u
ZmlndXJhdGlvbi5hdWRpbzsKICAgICBpZiAoYXVkaW9Db25maWcpCkBAIC05Miw2ICs5OCwxMiBA
QCBzdGF0aWMgYm9vbCBjYW5FbmNvZGVNZWRpYShjb25zdCBNZWRpYUVuY29kaW5nQ29uZmlndXJh
dGlvbiYgY29uZmlndXJhdGlvbikKICAgICBpZiAodmlkZW9Db25maWcgJiYgdmlkZW9Db25maWct
PndpZHRoID4gMTI4MCAmJiB2aWRlb0NvbmZpZy0+aGVpZ2h0ID4gNzIwKQogICAgICAgICByZXR1
cm4gZmFsc2U7CiAKKyAgICAvLyBPbmx5IHRoZSAibW9jay13aXRoLWFscGhhIiBjb2RlYyBzdXBw
b3J0cyBhbHBoYUNoYW5uZWwKKyAgICBpZiAodmlkZW9Db25maWcgJiYgdmlkZW9Db25maWctPmFs
cGhhQ2hhbm5lbCAmJiB2aWRlb0NvbmZpZy0+YWxwaGFDaGFubmVsLnZhbHVlKCkpIHsKKyAgICAg
ICAgaWYgKENvbnRlbnRUeXBlKHZpZGVvQ29uZmlnLT5jb250ZW50VHlwZSkuY29kZWNzUGFyYW1l
dGVyKCkgIT0gIm1vY2std2l0aC1hbHBoYSIpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgfQorCiAgICAgLy8gQXVkaW8gZW5jb2Rpbmcgc3VwcG9ydCBsaW1pdGVkIHRvIGF1ZGlvL21w
NC4KICAgICBhdXRvIGF1ZGlvQ29uZmlnID0gY29uZmlndXJhdGlvbi5hdWRpbzsKICAgICBpZiAo
YXVkaW9Db25maWcgJiYgQ29udGVudFR5cGUoYXVkaW9Db25maWctPmNvbnRlbnRUeXBlKS5jb250
YWluZXJUeXBlKCkgIT0gImF1ZGlvL21wNCIpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMzc1MDFiYTE4Y2JkYmJhNWFhZTc3
MmRhNjEyOTRhMjU2YTEzMDVkYy4uYWM2MTE4NTRmNmQ0OGI2YTRhNTI0Njk2MTc2N2FjZTgzOGQ3
NDczMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE5LTAzLTE2ICBKZXIgTm9ibGUgIDxqZXIu
bm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBleHBlcmltZW50YWwgImFscGhhQ2hhbm5l
bCIgcHJvcGVydHkgdG8gVmlkZW9Db25maWd1cmF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTU4NTMKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIG1lZGlhL21lZGlhY2FwYWJpbGl0aWVzL21vY2st
ZGVjb2RpbmdJbmZvLWFscGhhQ2hhbm5lbC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IG1lZGlhL21lZGlhY2FwYWJpbGl0aWVzL21vY2stZGVjb2RpbmdJbmZvLWFscGhhQ2hhbm5lbC5o
dG1sOiBBZGRlZC4KKwogMjAxOS0wMy0xNSAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNv
bT4KIAogICAgICAgICBBZGQgYSBuZXcgTWVkaWFDYXBhYmlsaXRpZXNFeHRlbnNpb25zRW5hYmxl
ZCBzZXR0aW5nCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYWNhcGFiaWxpdGll
cy9tb2NrLWRlY29kaW5nSW5mby1hbHBoYUNoYW5uZWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvbWVkaWEvbWVkaWFjYXBhYmlsaXRpZXMvbW9jay1kZWNvZGluZ0luZm8tYWxwaGFDaGFubmVs
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NzE4NDAxYjJkODVhNmI4ZTcwMTQwZTNmZmJiNDY4
Y2FhZDI1N2M0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWFjYXBh
YmlsaXRpZXMvbW9jay1kZWNvZGluZ0luZm8tYWxwaGFDaGFubmVsLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDI0IEBACitSVU4oaW50ZXJuYWxzLmVuYWJsZU1vY2tNZWRpYUNhcGFiaWxpdGllcygp
KQorUlVOKGludGVybmFscy5zZXR0aW5ncy5zZXRNZWRpYUNhcGFiaWxpdGllc0V4dGVuc2lvbnNF
bmFibGVkKHRydWUpKQorUlVOKHByb21pc2UgPSBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMu
ZGVjb2RpbmdJbmZvKHsgdHlwZTogJ2ZpbGUnLCB2aWRlbzogeyBjb250ZW50VHlwZTogJ3ZpZGVv
L21wNDsgY29kZWNzPSJtb2NrLXdpdGgtYWxwaGEiJywgaGVpZ2h0OiA3MjAsIGJpdHJhdGU6IDEw
MDAsIHdpZHRoOiAxMjgwLCBmcmFtZXJhdGU6IDI0LjUgfX0pOykKK1Byb21pc2UgcmVzb2x2ZWQg
T0sKK0VYUEVDVEVEIChpbmZvLnN1cHBvcnRlZCA9PSAndHJ1ZScpIE9LCitFWFBFQ1RFRCAoaW5m
by5zdXBwb3J0ZWRDb25maWd1cmF0aW9uLnZpZGVvLmFscGhhQ2hhbm5lbCA9PSAnbnVsbCcpIE9L
CitSVU4ocHJvbWlzZSA9IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8o
eyB0eXBlOiAnZmlsZScsIHZpZGVvOiB7IGNvbnRlbnRUeXBlOiAndmlkZW8vbXA0OyBjb2RlY3M9
Im1vY2std2l0aC1hbHBoYSInLCBoZWlnaHQ6IDcyMCwgYml0cmF0ZTogMTAwMCwgd2lkdGg6IDEy
ODAsIGZyYW1lcmF0ZTogMjQuNSwgYWxwaGFDaGFubmVsOiBmYWxzZSB9fSk7KQorUHJvbWlzZSBy
ZXNvbHZlZCBPSworRVhQRUNURUQgKGluZm8uc3VwcG9ydGVkID09ICd0cnVlJykgT0sKK0VYUEVD
VEVEIChpbmZvLnN1cHBvcnRlZENvbmZpZ3VyYXRpb24udmlkZW8uYWxwaGFDaGFubmVsID09ICdm
YWxzZScpIE9LCitSVU4ocHJvbWlzZSA9IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNv
ZGluZ0luZm8oeyB0eXBlOiAnZmlsZScsIHZpZGVvOiB7IGNvbnRlbnRUeXBlOiAndmlkZW8vbXA0
OyBjb2RlY3M9Im1vY2std2l0aC1hbHBoYSInLCBoZWlnaHQ6IDcyMCwgYml0cmF0ZTogMTAwMCwg
d2lkdGg6IDEyODAsIGZyYW1lcmF0ZTogMjQuNSwgYWxwaGFDaGFubmVsOiB0cnVlIH19KTspCitQ
cm9taXNlIHJlc29sdmVkIE9LCitFWFBFQ1RFRCAoaW5mby5zdXBwb3J0ZWQgPT0gJ3RydWUnKSwg
T0JTRVJWRUQgJ2ZhbHNlJyBGQUlMCitFWFBFQ1RFRCAoaW5mby5zdXBwb3J0ZWRDb25maWd1cmF0
aW9uLnZpZGVvLmFscGhhQ2hhbm5lbCA9PSAndHJ1ZScpIE9LCitSVU4ocHJvbWlzZSA9IG5hdmln
YXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeyB0eXBlOiAnZmlsZScsIHZpZGVv
OiB7IGNvbnRlbnRUeXBlOiAndmlkZW8vbXA0OyBjb2RlY3M9Im1vY2std2l0aG91dC1hbHBoYSIn
LCBoZWlnaHQ6IDcyMCwgYml0cmF0ZTogMTAwMCwgd2lkdGg6IDEyODAsIGZyYW1lcmF0ZTogMjQu
NSwgYWxwaGFDaGFubmVsOiBmYWxzZSB9fSk7KQorUHJvbWlzZSByZXNvbHZlZCBPSworRVhQRUNU
RUQgKGluZm8uc3VwcG9ydGVkID09ICd0cnVlJykgT0sKK0VYUEVDVEVEIChpbmZvLnN1cHBvcnRl
ZENvbmZpZ3VyYXRpb24udmlkZW8uYWxwaGFDaGFubmVsID09ICdmYWxzZScpIE9LCitSVU4ocHJv
bWlzZSA9IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeyB0eXBlOiAn
ZmlsZScsIHZpZGVvOiB7IGNvbnRlbnRUeXBlOiAndmlkZW8vbXA0OyBjb2RlY3M9Im1vY2std2l0
aG91dC1hbHBoYSInLCBoZWlnaHQ6IDcyMCwgYml0cmF0ZTogMTAwMCwgd2lkdGg6IDEyODAsIGZy
YW1lcmF0ZTogMjQuNSwgYWxwaGFDaGFubmVsOiB0cnVlIH19KTspCitQcm9taXNlIHJlc29sdmVk
IE9LCitFWFBFQ1RFRCAoaW5mby5zdXBwb3J0ZWQgPT0gJ2ZhbHNlJykgT0sKK0VYUEVDVEVEIChp
bmZvLnN1cHBvcnRlZENvbmZpZ3VyYXRpb24udmlkZW8uYWxwaGFDaGFubmVsID09ICd0cnVlJykg
T0sKK0VORCBPRiBURVNUCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL21lZGlhY2Fw
YWJpbGl0aWVzL21vY2stZGVjb2RpbmdJbmZvLWFscGhhQ2hhbm5lbC5odG1sIGIvTGF5b3V0VGVz
dHMvbWVkaWEvbWVkaWFjYXBhYmlsaXRpZXMvbW9jay1kZWNvZGluZ0luZm8tYWxwaGFDaGFubmVs
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNzhhZjg1ODY0ODczOTU5NWE1MTZmOTU1MjdjYjczNWJiOTNlYmZj
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL21lZGlhL21lZGlhY2FwYWJpbGl0aWVz
L21vY2stZGVjb2RpbmdJbmZvLWFscGhhQ2hhbm5lbC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8c2NyaXB0IHNyYz0uLi92aWRlby10
ZXN0LmpzPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKyAg
ICB2YXIgcHJvbWlzZTsKKyAgICB2YXIgaW5mbzsKKworICAgIGFzeW5jIGZ1bmN0aW9uIGRvVGVz
dCgpCisgICAgeworICAgICAgICBpZiAoIXdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAgICAgICAg
IGZhaWxUZXN0KCJJbnRlcm5hbHMgaXMgcmVxdWlyZWQgZm9yIHRoaXMgdGVzdC4iKQorICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgcnVuKCdpbnRlcm5hbHMuZW5hYmxl
TW9ja01lZGlhQ2FwYWJpbGl0aWVzKCknKTsKKyAgICAgICAgcnVuKCdpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0TWVkaWFDYXBhYmlsaXRpZXNFeHRlbnNpb25zRW5hYmxlZCh0cnVlKScpOworCisgICAg
ICAgIHJ1bigicHJvbWlzZSA9IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0lu
Zm8oeyB0eXBlOiAnZmlsZScsIHZpZGVvOiB7IGNvbnRlbnRUeXBlOiAndmlkZW8vbXA0OyBjb2Rl
Y3M9XCJtb2NrLXdpdGgtYWxwaGFcIicsIGhlaWdodDogNzIwLCBiaXRyYXRlOiAxMDAwLCB3aWR0
aDogMTI4MCwgZnJhbWVyYXRlOiAyNC41IH19KTsiKTsKKyAgICAgICAgaW5mbyA9IGF3YWl0IHNo
b3VsZFJlc29sdmUocHJvbWlzZSk7CisgICAgICAgIHRlc3RFeHBlY3RlZCgnaW5mby5zdXBwb3J0
ZWQnLCB0cnVlKTsKKyAgICAgICAgdGVzdEV4cGVjdGVkKCdpbmZvLnN1cHBvcnRlZENvbmZpZ3Vy
YXRpb24udmlkZW8uYWxwaGFDaGFubmVsJywgbnVsbCk7CisKKyAgICAgICAgcnVuKCJwcm9taXNl
ID0gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7IHR5cGU6ICdmaWxl
JywgdmlkZW86IHsgY29udGVudFR5cGU6ICd2aWRlby9tcDQ7IGNvZGVjcz1cIm1vY2std2l0aC1h
bHBoYVwiJywgaGVpZ2h0OiA3MjAsIGJpdHJhdGU6IDEwMDAsIHdpZHRoOiAxMjgwLCBmcmFtZXJh
dGU6IDI0LjUsIGFscGhhQ2hhbm5lbDogZmFsc2UgfX0pOyIpOworICAgICAgICBpbmZvID0gYXdh
aXQgc2hvdWxkUmVzb2x2ZShwcm9taXNlKTsKKyAgICAgICAgdGVzdEV4cGVjdGVkKCdpbmZvLnN1
cHBvcnRlZCcsIHRydWUpOworICAgICAgICB0ZXN0RXhwZWN0ZWQoJ2luZm8uc3VwcG9ydGVkQ29u
ZmlndXJhdGlvbi52aWRlby5hbHBoYUNoYW5uZWwnLCBmYWxzZSk7CisKKyAgICAgICAgcnVuKCJw
cm9taXNlID0gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7IHR5cGU6
ICdmaWxlJywgdmlkZW86IHsgY29udGVudFR5cGU6ICd2aWRlby9tcDQ7IGNvZGVjcz1cIm1vY2st
d2l0aC1hbHBoYVwiJywgaGVpZ2h0OiA3MjAsIGJpdHJhdGU6IDEwMDAsIHdpZHRoOiAxMjgwLCBm
cmFtZXJhdGU6IDI0LjUsIGFscGhhQ2hhbm5lbDogdHJ1ZSB9fSk7Iik7CisgICAgICAgIGluZm8g
PSBhd2FpdCBzaG91bGRSZXNvbHZlKHByb21pc2UpOworICAgICAgICB0ZXN0RXhwZWN0ZWQoJ2lu
Zm8uc3VwcG9ydGVkJywgdHJ1ZSk7CisgICAgICAgIHRlc3RFeHBlY3RlZCgnaW5mby5zdXBwb3J0
ZWRDb25maWd1cmF0aW9uLnZpZGVvLmFscGhhQ2hhbm5lbCcsIHRydWUpOworCisgICAgICAgIHJ1
bigicHJvbWlzZSA9IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeyB0
eXBlOiAnZmlsZScsIHZpZGVvOiB7IGNvbnRlbnRUeXBlOiAndmlkZW8vbXA0OyBjb2RlY3M9XCJt
b2NrLXdpdGhvdXQtYWxwaGFcIicsIGhlaWdodDogNzIwLCBiaXRyYXRlOiAxMDAwLCB3aWR0aDog
MTI4MCwgZnJhbWVyYXRlOiAyNC41LCBhbHBoYUNoYW5uZWw6IGZhbHNlIH19KTsiKTsKKyAgICAg
ICAgaW5mbyA9IGF3YWl0IHNob3VsZFJlc29sdmUocHJvbWlzZSk7CisgICAgICAgIHRlc3RFeHBl
Y3RlZCgnaW5mby5zdXBwb3J0ZWQnLCB0cnVlKTsKKyAgICAgICAgdGVzdEV4cGVjdGVkKCdpbmZv
LnN1cHBvcnRlZENvbmZpZ3VyYXRpb24udmlkZW8uYWxwaGFDaGFubmVsJywgZmFsc2UpOworCisg
ICAgICAgIHJ1bigicHJvbWlzZSA9IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGlu
Z0luZm8oeyB0eXBlOiAnZmlsZScsIHZpZGVvOiB7IGNvbnRlbnRUeXBlOiAndmlkZW8vbXA0OyBj
b2RlY3M9XCJtb2NrLXdpdGhvdXQtYWxwaGFcIicsIGhlaWdodDogNzIwLCBiaXRyYXRlOiAxMDAw
LCB3aWR0aDogMTI4MCwgZnJhbWVyYXRlOiAyNC41LCBhbHBoYUNoYW5uZWw6IHRydWUgfX0pOyIp
OworICAgICAgICBpbmZvID0gYXdhaXQgc2hvdWxkUmVzb2x2ZShwcm9taXNlKTsKKyAgICAgICAg
dGVzdEV4cGVjdGVkKCdpbmZvLnN1cHBvcnRlZCcsIGZhbHNlKTsKKyAgICAgICAgdGVzdEV4cGVj
dGVkKCdpbmZvLnN1cHBvcnRlZENvbmZpZ3VyYXRpb24udmlkZW8uYWxwaGFDaGFubmVsJywgdHJ1
ZSk7CisKKworICAgICAgICBlbmRUZXN0KCk7CisgICAgfQorICAgIDwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHkgb25sb2FkPSJkb1Rlc3QoKSIgLz4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364950</attachid>
            <date>2019-03-16 17:39:38 -0700</date>
            <delta_ts>2019-03-18 15:30:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>0001-Add-experimental-alphaChannel-property-to-VideoConfi.patch</filename>
            <type>text/plain</type>
            <size>29104</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">RnJvbSBiZTk5YWEwZDhkNWIyOWI4OTY4NmIxNzk5MjUxMWQ3YzEyYzBkMDBhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKZXIgTm9ibGUgPGplci5ub2JsZUBhcHBsZS5jb20+CkRhdGU6
IFNhdCwgMTYgTWFyIDIwMTkgMTQ6NTI6MTMgLTA3MDAKU3ViamVjdDogW1BBVENIXSBBZGQgZXhw
ZXJpbWVudGFsICJhbHBoYUNoYW5uZWwiIHByb3BlcnR5IHRvCiBWaWRlb0NvbmZpZ3VyYXRpb24g
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTg1MwoKUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCgpTb3VyY2UvV2ViQ29yZToKClRlc3Q6IG1lZGlhL21lZGlhY2Fw
YWJpbGl0aWVzL21vY2stZGVjb2RpbmdJbmZvLWFscGhhQ2hhbm5lbC5odG1sCgpBZGQgYSBuZXcs
IGV4cGVyaW1lbnRhbCBhZGRpdGlvbiB0byBNZWRpYSBDYXBhYmlsaXRpZXMgdG8gYWxsb3cgcGFn
ZXMgdG8gcXVlcnkgZm9yCmFscGhhIGNoYW5uZWwgc3VwcG9ydC4KCiogTW9kdWxlcy9tZWRpYWNh
cGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5jcHA6CihXZWJDb3JlOjpNZWRpYUNhcGFiaWxp
dGllczo6ZGVjb2RpbmdJbmZvKToKKiBNb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2Fw
YWJpbGl0aWVzLmg6CiogTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGll
cy5pZGw6CiogTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9WaWRlb0NvbmZpZ3VyYXRpb24uaWRs
OgoqIFNvdXJjZXNDb2NvYS50eHQ6CiogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
OgoqIHBsYXRmb3JtL2NvY29hL1ZpZGVvVG9vbGJveFNvZnRMaW5rLmNwcDoKKiBwbGF0Zm9ybS9j
b2NvYS9WaWRlb1Rvb2xib3hTb2Z0TGluay5oOgoqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0hF
VkNVdGlsaXRpZXNDb2NvYS5oOgoqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0hFVkNVdGlsaXRp
ZXNDb2NvYS5tbTogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NvY29hL0hFVkNVdGlsaXRpZXNDb2NvYS5jcHAuCihXZWJDb3JlOjp2YWxpZGF0ZUhFVkNQYXJh
bWV0ZXJzKToKKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9NZWRpYUVuZ2luZUNvbmZpZ3VyYXRp
b25GYWN0b3J5Q29jb2EuY3BwOgooV2ViQ29yZTo6Y3JlYXRlTWVkaWFQbGF5ZXJEZWNvZGluZ0Nv
bmZpZ3VyYXRpb25Db2NvYSk6CiogcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvVmlkZW9Db25m
aWd1cmF0aW9uLmg6CiogcGxhdGZvcm0vbW9jay9NZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0
b3J5TW9jay5jcHA6CihXZWJDb3JlOjpjYW5EZWNvZGVNZWRpYSk6CihXZWJDb3JlOjpjYW5FbmNv
ZGVNZWRpYSk6CgpMYXlvdXRUZXN0czoKCiogbWVkaWEvbWVkaWFjYXBhYmlsaXRpZXMvbW9jay1k
ZWNvZGluZ0luZm8tYWxwaGFDaGFubmVsLWV4cGVjdGVkLnR4dDogQWRkZWQuCiogbWVkaWEvbWVk
aWFjYXBhYmlsaXRpZXMvbW9jay1kZWNvZGluZ0luZm8tYWxwaGFDaGFubmVsLmh0bWw6IEFkZGVk
LgotLS0KIExheW91dFRlc3RzL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICB8IDEw
ICsrKysKIC4uLm9jay1kZWNvZGluZ0luZm8tYWxwaGFDaGFubmVsLWV4cGVjdGVkLnR4dCB8IDI0
ICsrKysrKysrKwogLi4uL21vY2stZGVjb2RpbmdJbmZvLWFscGhhQ2hhbm5lbC5odG1sICAgICAg
IHwgNTAgKysrKysrKysrKysrKysrKysrKwogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nICAgICAg
ICAgICAgICAgICAgICAgIHwgMzEgKysrKysrKysrKysrCiAuLi4vbWVkaWFjYXBhYmlsaXRpZXMv
TWVkaWFDYXBhYmlsaXRpZXMuY3BwICAgfCAgNyArKy0KIC4uLi9tZWRpYWNhcGFiaWxpdGllcy9N
ZWRpYUNhcGFiaWxpdGllcy5oICAgICB8ICAzICstCiAuLi4vbWVkaWFjYXBhYmlsaXRpZXMvTWVk
aWFDYXBhYmlsaXRpZXMuaWRsICAgfCAgMiArLQogLi4uL21lZGlhY2FwYWJpbGl0aWVzL1ZpZGVv
Q29uZmlndXJhdGlvbi5pZGwgIHwgIDEgKwogU291cmNlL1dlYkNvcmUvU291cmNlc0NvY29hLnR4
dCAgICAgICAgICAgICAgIHwgIDIgKy0KIC4uLi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvaiB8ICA4ICstLQogLi4uL3BsYXRmb3JtL2NvY29hL1ZpZGVvVG9vbGJveFNv
ZnRMaW5rLmNwcCAgIHwgIDIgKwogLi4uL3BsYXRmb3JtL2NvY29hL1ZpZGVvVG9vbGJveFNvZnRM
aW5rLmggICAgIHwgIDMgKysKIC4uLi9ncmFwaGljcy9jb2NvYS9IRVZDVXRpbGl0aWVzQ29jb2Eu
aCAgICAgICB8ICAyICstCiAuLi5pbGl0aWVzQ29jb2EuY3BwID0+IEhFVkNVdGlsaXRpZXNDb2Nv
YS5tbX0gfCAyMSArKysrKysrLQogLi4uL01lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlD
b2NvYS5jcHAgIHwgMTcgKysrKystLQogLi4uL21lZGlhY2FwYWJpbGl0aWVzL1ZpZGVvQ29uZmln
dXJhdGlvbi5oICAgIHwgIDIgKwogLi4uL01lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlN
b2NrLmNwcCAgIHwgMTIgKysrKysKIDE3IGZpbGVzIGNoYW5nZWQsIDE4MyBpbnNlcnRpb25zKCsp
LCAxNCBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9tZWRpYS9t
ZWRpYWNhcGFiaWxpdGllcy9tb2NrLWRlY29kaW5nSW5mby1hbHBoYUNoYW5uZWwtZXhwZWN0ZWQu
dHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWFjYXBhYmlsaXRp
ZXMvbW9jay1kZWNvZGluZ0luZm8tYWxwaGFDaGFubmVsLmh0bWwKIHJlbmFtZSBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS97SEVWQ1V0aWxpdGllc0NvY29hLmNwcCA9PiBI
RVZDVXRpbGl0aWVzQ29jb2EubW19ICg4NiUpCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDM3NTAxYmExOGNiLi5hYzYxMTg1
NGY2ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE5LTAzLTE2ICBKZXIgTm9ibGUgIDxqZXIu
bm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBleHBlcmltZW50YWwgImFscGhhQ2hhbm5l
bCIgcHJvcGVydHkgdG8gVmlkZW9Db25maWd1cmF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTU4NTMKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIG1lZGlhL21lZGlhY2FwYWJpbGl0aWVzL21vY2st
ZGVjb2RpbmdJbmZvLWFscGhhQ2hhbm5lbC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IG1lZGlhL21lZGlhY2FwYWJpbGl0aWVzL21vY2stZGVjb2RpbmdJbmZvLWFscGhhQ2hhbm5lbC5o
dG1sOiBBZGRlZC4KKwogMjAxOS0wMy0xNSAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNv
bT4KIAogICAgICAgICBBZGQgYSBuZXcgTWVkaWFDYXBhYmlsaXRpZXNFeHRlbnNpb25zRW5hYmxl
ZCBzZXR0aW5nCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYWNhcGFiaWxpdGll
cy9tb2NrLWRlY29kaW5nSW5mby1hbHBoYUNoYW5uZWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvbWVkaWEvbWVkaWFjYXBhYmlsaXRpZXMvbW9jay1kZWNvZGluZ0luZm8tYWxwaGFDaGFubmVs
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNjcx
ODQwMWIyZDgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYWNhcGFi
aWxpdGllcy9tb2NrLWRlY29kaW5nSW5mby1hbHBoYUNoYW5uZWwtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMjQgQEAKK1JVTihpbnRlcm5hbHMuZW5hYmxlTW9ja01lZGlhQ2FwYWJpbGl0aWVzKCkp
CitSVU4oaW50ZXJuYWxzLnNldHRpbmdzLnNldE1lZGlhQ2FwYWJpbGl0aWVzRXh0ZW5zaW9uc0Vu
YWJsZWQodHJ1ZSkpCitSVU4ocHJvbWlzZSA9IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5k
ZWNvZGluZ0luZm8oeyB0eXBlOiAnZmlsZScsIHZpZGVvOiB7IGNvbnRlbnRUeXBlOiAndmlkZW8v
bXA0OyBjb2RlY3M9Im1vY2std2l0aC1hbHBoYSInLCBoZWlnaHQ6IDcyMCwgYml0cmF0ZTogMTAw
MCwgd2lkdGg6IDEyODAsIGZyYW1lcmF0ZTogMjQuNSB9fSk7KQorUHJvbWlzZSByZXNvbHZlZCBP
SworRVhQRUNURUQgKGluZm8uc3VwcG9ydGVkID09ICd0cnVlJykgT0sKK0VYUEVDVEVEIChpbmZv
LnN1cHBvcnRlZENvbmZpZ3VyYXRpb24udmlkZW8uYWxwaGFDaGFubmVsID09ICdudWxsJykgT0sK
K1JVTihwcm9taXNlID0gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7
IHR5cGU6ICdmaWxlJywgdmlkZW86IHsgY29udGVudFR5cGU6ICd2aWRlby9tcDQ7IGNvZGVjcz0i
bW9jay13aXRoLWFscGhhIicsIGhlaWdodDogNzIwLCBiaXRyYXRlOiAxMDAwLCB3aWR0aDogMTI4
MCwgZnJhbWVyYXRlOiAyNC41LCBhbHBoYUNoYW5uZWw6IGZhbHNlIH19KTspCitQcm9taXNlIHJl
c29sdmVkIE9LCitFWFBFQ1RFRCAoaW5mby5zdXBwb3J0ZWQgPT0gJ3RydWUnKSBPSworRVhQRUNU
RUQgKGluZm8uc3VwcG9ydGVkQ29uZmlndXJhdGlvbi52aWRlby5hbHBoYUNoYW5uZWwgPT0gJ2Zh
bHNlJykgT0sKK1JVTihwcm9taXNlID0gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29k
aW5nSW5mbyh7IHR5cGU6ICdmaWxlJywgdmlkZW86IHsgY29udGVudFR5cGU6ICd2aWRlby9tcDQ7
IGNvZGVjcz0ibW9jay13aXRoLWFscGhhIicsIGhlaWdodDogNzIwLCBiaXRyYXRlOiAxMDAwLCB3
aWR0aDogMTI4MCwgZnJhbWVyYXRlOiAyNC41LCBhbHBoYUNoYW5uZWw6IHRydWUgfX0pOykKK1By
b21pc2UgcmVzb2x2ZWQgT0sKK0VYUEVDVEVEIChpbmZvLnN1cHBvcnRlZCA9PSAndHJ1ZScpLCBP
QlNFUlZFRCAnZmFsc2UnIEZBSUwKK0VYUEVDVEVEIChpbmZvLnN1cHBvcnRlZENvbmZpZ3VyYXRp
b24udmlkZW8uYWxwaGFDaGFubmVsID09ICd0cnVlJykgT0sKK1JVTihwcm9taXNlID0gbmF2aWdh
dG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7IHR5cGU6ICdmaWxlJywgdmlkZW86
IHsgY29udGVudFR5cGU6ICd2aWRlby9tcDQ7IGNvZGVjcz0ibW9jay13aXRob3V0LWFscGhhIics
IGhlaWdodDogNzIwLCBiaXRyYXRlOiAxMDAwLCB3aWR0aDogMTI4MCwgZnJhbWVyYXRlOiAyNC41
LCBhbHBoYUNoYW5uZWw6IGZhbHNlIH19KTspCitQcm9taXNlIHJlc29sdmVkIE9LCitFWFBFQ1RF
RCAoaW5mby5zdXBwb3J0ZWQgPT0gJ3RydWUnKSBPSworRVhQRUNURUQgKGluZm8uc3VwcG9ydGVk
Q29uZmlndXJhdGlvbi52aWRlby5hbHBoYUNoYW5uZWwgPT0gJ2ZhbHNlJykgT0sKK1JVTihwcm9t
aXNlID0gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7IHR5cGU6ICdm
aWxlJywgdmlkZW86IHsgY29udGVudFR5cGU6ICd2aWRlby9tcDQ7IGNvZGVjcz0ibW9jay13aXRo
b3V0LWFscGhhIicsIGhlaWdodDogNzIwLCBiaXRyYXRlOiAxMDAwLCB3aWR0aDogMTI4MCwgZnJh
bWVyYXRlOiAyNC41LCBhbHBoYUNoYW5uZWw6IHRydWUgfX0pOykKK1Byb21pc2UgcmVzb2x2ZWQg
T0sKK0VYUEVDVEVEIChpbmZvLnN1cHBvcnRlZCA9PSAnZmFsc2UnKSBPSworRVhQRUNURUQgKGlu
Zm8uc3VwcG9ydGVkQ29uZmlndXJhdGlvbi52aWRlby5hbHBoYUNoYW5uZWwgPT0gJ3RydWUnKSBP
SworRU5EIE9GIFRFU1QKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWFjYXBh
YmlsaXRpZXMvbW9jay1kZWNvZGluZ0luZm8tYWxwaGFDaGFubmVsLmh0bWwgYi9MYXlvdXRUZXN0
cy9tZWRpYS9tZWRpYWNhcGFiaWxpdGllcy9tb2NrLWRlY29kaW5nSW5mby1hbHBoYUNoYW5uZWwu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNzhhZjg1ODY0ODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYWNhcGFiaWxpdGllcy9t
b2NrLWRlY29kaW5nSW5mby1hbHBoYUNoYW5uZWwuaHRtbApAQCAtMCwwICsxLDUwIEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHNjcmlwdCBzcmM9Li4vdmlkZW8tdGVz
dC5qcz48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisgICAg
dmFyIHByb21pc2U7CisgICAgdmFyIGluZm87CisKKyAgICBhc3luYyBmdW5jdGlvbiBkb1Rlc3Qo
KQorICAgIHsKKyAgICAgICAgaWYgKCF3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgICAgICBm
YWlsVGVzdCgiSW50ZXJuYWxzIGlzIHJlcXVpcmVkIGZvciB0aGlzIHRlc3QuIikKKyAgICAgICAg
ICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIHJ1bignaW50ZXJuYWxzLmVuYWJsZU1v
Y2tNZWRpYUNhcGFiaWxpdGllcygpJyk7CisgICAgICAgIHJ1bignaW50ZXJuYWxzLnNldHRpbmdz
LnNldE1lZGlhQ2FwYWJpbGl0aWVzRXh0ZW5zaW9uc0VuYWJsZWQodHJ1ZSknKTsKKworICAgICAg
ICBydW4oInByb21pc2UgPSBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZv
KHsgdHlwZTogJ2ZpbGUnLCB2aWRlbzogeyBjb250ZW50VHlwZTogJ3ZpZGVvL21wNDsgY29kZWNz
PVwibW9jay13aXRoLWFscGhhXCInLCBoZWlnaHQ6IDcyMCwgYml0cmF0ZTogMTAwMCwgd2lkdGg6
IDEyODAsIGZyYW1lcmF0ZTogMjQuNSB9fSk7Iik7CisgICAgICAgIGluZm8gPSBhd2FpdCBzaG91
bGRSZXNvbHZlKHByb21pc2UpOworICAgICAgICB0ZXN0RXhwZWN0ZWQoJ2luZm8uc3VwcG9ydGVk
JywgdHJ1ZSk7CisgICAgICAgIHRlc3RFeHBlY3RlZCgnaW5mby5zdXBwb3J0ZWRDb25maWd1cmF0
aW9uLnZpZGVvLmFscGhhQ2hhbm5lbCcsIG51bGwpOworCisgICAgICAgIHJ1bigicHJvbWlzZSA9
IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeyB0eXBlOiAnZmlsZScs
IHZpZGVvOiB7IGNvbnRlbnRUeXBlOiAndmlkZW8vbXA0OyBjb2RlY3M9XCJtb2NrLXdpdGgtYWxw
aGFcIicsIGhlaWdodDogNzIwLCBiaXRyYXRlOiAxMDAwLCB3aWR0aDogMTI4MCwgZnJhbWVyYXRl
OiAyNC41LCBhbHBoYUNoYW5uZWw6IGZhbHNlIH19KTsiKTsKKyAgICAgICAgaW5mbyA9IGF3YWl0
IHNob3VsZFJlc29sdmUocHJvbWlzZSk7CisgICAgICAgIHRlc3RFeHBlY3RlZCgnaW5mby5zdXBw
b3J0ZWQnLCB0cnVlKTsKKyAgICAgICAgdGVzdEV4cGVjdGVkKCdpbmZvLnN1cHBvcnRlZENvbmZp
Z3VyYXRpb24udmlkZW8uYWxwaGFDaGFubmVsJywgZmFsc2UpOworCisgICAgICAgIHJ1bigicHJv
bWlzZSA9IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeyB0eXBlOiAn
ZmlsZScsIHZpZGVvOiB7IGNvbnRlbnRUeXBlOiAndmlkZW8vbXA0OyBjb2RlY3M9XCJtb2NrLXdp
dGgtYWxwaGFcIicsIGhlaWdodDogNzIwLCBiaXRyYXRlOiAxMDAwLCB3aWR0aDogMTI4MCwgZnJh
bWVyYXRlOiAyNC41LCBhbHBoYUNoYW5uZWw6IHRydWUgfX0pOyIpOworICAgICAgICBpbmZvID0g
YXdhaXQgc2hvdWxkUmVzb2x2ZShwcm9taXNlKTsKKyAgICAgICAgdGVzdEV4cGVjdGVkKCdpbmZv
LnN1cHBvcnRlZCcsIHRydWUpOworICAgICAgICB0ZXN0RXhwZWN0ZWQoJ2luZm8uc3VwcG9ydGVk
Q29uZmlndXJhdGlvbi52aWRlby5hbHBoYUNoYW5uZWwnLCB0cnVlKTsKKworICAgICAgICBydW4o
InByb21pc2UgPSBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvKHsgdHlw
ZTogJ2ZpbGUnLCB2aWRlbzogeyBjb250ZW50VHlwZTogJ3ZpZGVvL21wNDsgY29kZWNzPVwibW9j
ay13aXRob3V0LWFscGhhXCInLCBoZWlnaHQ6IDcyMCwgYml0cmF0ZTogMTAwMCwgd2lkdGg6IDEy
ODAsIGZyYW1lcmF0ZTogMjQuNSwgYWxwaGFDaGFubmVsOiBmYWxzZSB9fSk7Iik7CisgICAgICAg
IGluZm8gPSBhd2FpdCBzaG91bGRSZXNvbHZlKHByb21pc2UpOworICAgICAgICB0ZXN0RXhwZWN0
ZWQoJ2luZm8uc3VwcG9ydGVkJywgdHJ1ZSk7CisgICAgICAgIHRlc3RFeHBlY3RlZCgnaW5mby5z
dXBwb3J0ZWRDb25maWd1cmF0aW9uLnZpZGVvLmFscGhhQ2hhbm5lbCcsIGZhbHNlKTsKKworICAg
ICAgICBydW4oInByb21pc2UgPSBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJ
bmZvKHsgdHlwZTogJ2ZpbGUnLCB2aWRlbzogeyBjb250ZW50VHlwZTogJ3ZpZGVvL21wNDsgY29k
ZWNzPVwibW9jay13aXRob3V0LWFscGhhXCInLCBoZWlnaHQ6IDcyMCwgYml0cmF0ZTogMTAwMCwg
d2lkdGg6IDEyODAsIGZyYW1lcmF0ZTogMjQuNSwgYWxwaGFDaGFubmVsOiB0cnVlIH19KTsiKTsK
KyAgICAgICAgaW5mbyA9IGF3YWl0IHNob3VsZFJlc29sdmUocHJvbWlzZSk7CisgICAgICAgIHRl
c3RFeHBlY3RlZCgnaW5mby5zdXBwb3J0ZWQnLCBmYWxzZSk7CisgICAgICAgIHRlc3RFeHBlY3Rl
ZCgnaW5mby5zdXBwb3J0ZWRDb25maWd1cmF0aW9uLnZpZGVvLmFscGhhQ2hhbm5lbCcsIHRydWUp
OworCisKKyAgICAgICAgZW5kVGVzdCgpOworICAgIH0KKyAgICA8L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5IG9ubG9hZD0iZG9UZXN0KCkiIC8+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjFlMzgx
N2U2ZmMuLjkzNzRiZTFkMzJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMTktMDMt
MTYgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGV4cGVy
aW1lbnRhbCAiYWxwaGFDaGFubmVsIiBwcm9wZXJ0eSB0byBWaWRlb0NvbmZpZ3VyYXRpb24KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTg1MworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IG1lZGlh
L21lZGlhY2FwYWJpbGl0aWVzL21vY2stZGVjb2RpbmdJbmZvLWFscGhhQ2hhbm5lbC5odG1sCisK
KyAgICAgICAgQWRkIGEgbmV3LCBleHBlcmltZW50YWwgYWRkaXRpb24gdG8gTWVkaWEgQ2FwYWJp
bGl0aWVzIHRvIGFsbG93IHBhZ2VzIHRvIHF1ZXJ5IGZvcgorICAgICAgICBhbHBoYSBjaGFubmVs
IHN1cHBvcnQuCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2Fw
YWJpbGl0aWVzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ2FwYWJpbGl0aWVzOjpkZWNv
ZGluZ0luZm8pOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBh
YmlsaXRpZXMuaDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2Fw
YWJpbGl0aWVzLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL1ZpZGVv
Q29uZmlndXJhdGlvbi5pZGw6CisgICAgICAgICogU291cmNlc0NvY29hLnR4dDoKKyAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGxhdGZvcm0v
Y29jb2EvVmlkZW9Ub29sYm94U29mdExpbmsuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2NvY29h
L1ZpZGVvVG9vbGJveFNvZnRMaW5rLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29j
b2EvSEVWQ1V0aWxpdGllc0NvY29hLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29j
b2EvSEVWQ1V0aWxpdGllc0NvY29hLm1tOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY29jb2EvSEVWQ1V0aWxpdGllc0NvY29hLmNwcC4KKyAgICAgICAgKFdl
YkNvcmU6OnZhbGlkYXRlSEVWQ1BhcmFtZXRlcnMpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2NvY29hL01lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlDb2NvYS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpjcmVhdGVNZWRpYVBsYXllckRlY29kaW5nQ29uZmlndXJhdGlvbkNvY29h
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9WaWRlb0NvbmZpZ3VyYXRp
b24uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL01lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZh
Y3RvcnlNb2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNhbkRlY29kZU1lZGlhKToKKyAgICAg
ICAgKFdlYkNvcmU6OmNhbkVuY29kZU1lZGlhKToKKwogMjAxOS0wMy0xNSAgSmVyIE5vYmxlICA8
amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgYSBuZXcgTWVkaWFDYXBhYmlsaXRp
ZXNFeHRlbnNpb25zRW5hYmxlZCBzZXR0aW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXMuY3BwCmlu
ZGV4IGIzNzIxMTEyMTU4Li4xMzk3NTJjMTQwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5j
cHAKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJNZWRpYUNhcGFiaWxpdGllcy5oIgogCiAj
aW5jbHVkZSAiQ29udGVudFR5cGUuaCIKKyNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUg
IkpTTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8uaCIKICNpbmNsdWRlICJKU01lZGlhQ2Fw
YWJpbGl0aWVzRW5jb2RpbmdJbmZvLmgiCiAjaW5jbHVkZSAiTWVkaWFDYXBhYmlsaXRpZXNEZWNv
ZGluZ0luZm8uaCIKQEAgLTM0LDYgKzM1LDcgQEAKICNpbmNsdWRlICJNZWRpYURlY29kaW5nQ29u
ZmlndXJhdGlvbi5oIgogI2luY2x1ZGUgIk1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uLmgiCiAj
aW5jbHVkZSAiTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeS5oIgorI2luY2x1ZGUgIlNl
dHRpbmdzLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewpAQCAtMTU5LDcgKzE2MSw3IEBAIHN0YXRpYyBib29sIGlzVmFsaWRNZWRpYUNvbmZpZ3VyYXRp
b24oY29uc3QgTWVkaWFDb25maWd1cmF0aW9uJiBjb25maWd1cmF0aW9uKQogICAgIHJldHVybiB0
cnVlOwogfQogCi12b2lkIE1lZGlhQ2FwYWJpbGl0aWVzOjpkZWNvZGluZ0luZm8oTWVkaWFEZWNv
ZGluZ0NvbmZpZ3VyYXRpb24mJiBjb25maWd1cmF0aW9uLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYm
IHByb21pc2UpCit2b2lkIE1lZGlhQ2FwYWJpbGl0aWVzOjpkZWNvZGluZ0luZm8oRG9jdW1lbnQm
IGRvY3VtZW50LCBNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbiYmIGNvbmZpZ3VyYXRpb24sIFJl
ZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkKIHsKICAgICAvLyAyLjQgTWVkaWEgQ2FwYWJp
bGl0aWVzIEludGVyZmFjZQogICAgIC8vIGh0dHBzOi8vd2ljZy5naXRodWIuaW8vbWVkaWEtY2Fw
YWJpbGl0aWVzLyNtZWRpYS1jYXBhYmlsaXRpZXMtaW50ZXJmYWNlCkBAIC0xNzIsNiArMTc0LDkg
QEAgdm9pZCBNZWRpYUNhcGFiaWxpdGllczo6ZGVjb2RpbmdJbmZvKE1lZGlhRGVjb2RpbmdDb25m
aWd1cmF0aW9uJiYgY29uZmlndXJhdGlvbiwKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAorICAg
IGlmICghZG9jdW1lbnQuc2V0dGluZ3MoKS5tZWRpYUNhcGFiaWxpdGllc0V4dGVuc2lvbnNFbmFi
bGVkKCkgJiYgY29uZmlndXJhdGlvbi52aWRlbykKKyAgICAgICAgY29uZmlndXJhdGlvbi52aWRl
by52YWx1ZSgpLmFscGhhQ2hhbm5lbC5yZXNldCgpOworCiAgICAgLy8gNC4gTGV0IHAgYmUgYSBu
ZXcgcHJvbWlzZS4KICAgICAvLyA1LiBJbiBwYXJhbGxlbCwgcnVuIHRoZSBjcmVhdGUgYSBNZWRp
YUNhcGFiaWxpdGllc0luZm8gYWxnb3JpdGhtIHdpdGggY29uZmlndXJhdGlvbiBhbmQgcmVzb2x2
ZSBwIHdpdGggaXRzIHJlc3VsdC4KICAgICAvLyA2LiBSZXR1cm4gcC4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXMu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmls
aXRpZXMuaAppbmRleCBiMzEwZTYxODg4MC4uMTg1NGZhNDY2NDYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXMuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJp
bGl0aWVzLmgKQEAgLTMxLDEyICszMSwxMyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2Ns
YXNzIERvY3VtZW50Owogc3RydWN0IE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uOwogc3RydWN0
IE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uOwogCiBjbGFzcyBNZWRpYUNhcGFiaWxpdGllcyA6
IHB1YmxpYyBSZWZDb3VudGVkPE1lZGlhQ2FwYWJpbGl0aWVzPiB7CiBwdWJsaWM6Ci0gICAgdm9p
ZCBkZWNvZGluZ0luZm8oTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24mJiwgUmVmPERlZmVycmVk
UHJvbWlzZT4mJik7CisgICAgdm9pZCBkZWNvZGluZ0luZm8oRG9jdW1lbnQmLCBNZWRpYURlY29k
aW5nQ29uZmlndXJhdGlvbiYmLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmKTsKICAgICB2b2lkIGVu
Y29kaW5nSW5mbyhNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbiYmLCBSZWY8RGVmZXJyZWRQcm9t
aXNlPiYmKTsKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXMuaWRsIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5pZGwKaW5kZXggMWU5
ZTRkMTFhNmIuLjQzYWQ1NjhkOGUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmlkbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmlkbApAQCAt
MjgsNiArMjgsNiBAQAogICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKIF0KIGludGVyZmFj
ZSBNZWRpYUNhcGFiaWxpdGllcyB7Ci0gIFByb21pc2U8TWVkaWFDYXBhYmlsaXRpZXNEZWNvZGlu
Z0luZm8+IGRlY29kaW5nSW5mbyhNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbiBjb25maWd1cmF0
aW9uKTsKKyAgW0NhbGxXaXRoPURvY3VtZW50XSBQcm9taXNlPE1lZGlhQ2FwYWJpbGl0aWVzRGVj
b2RpbmdJbmZvPiBkZWNvZGluZ0luZm8oTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24gY29uZmln
dXJhdGlvbik7CiAgIFByb21pc2U8TWVkaWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm8+IGVuY29k
aW5nSW5mbyhNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbiBjb25maWd1cmF0aW9uKTsKIH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL1ZpZGVv
Q29uZmlndXJhdGlvbi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0
aWVzL1ZpZGVvQ29uZmlndXJhdGlvbi5pZGwKaW5kZXggMjAyNTE5MWM4MDQuLmJjYTFlZjBhOTdj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL1Zp
ZGVvQ29uZmlndXJhdGlvbi5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNh
cGFiaWxpdGllcy9WaWRlb0NvbmZpZ3VyYXRpb24uaWRsCkBAIC0zMyw0ICszMyw1IEBAIGRpY3Rp
b25hcnkgVmlkZW9Db25maWd1cmF0aW9uIHsKICAgcmVxdWlyZWQgdW5zaWduZWQgbG9uZyBoZWln
aHQ7CiAgIHJlcXVpcmVkIHVuc2lnbmVkIGxvbmcgbG9uZyBiaXRyYXRlOwogICByZXF1aXJlZCBk
b3VibGUgZnJhbWVyYXRlOworICBbRW5hYmxlZEJ5U2V0dGluZz1NZWRpYUNhcGFiaWxpdGllc0V4
dGVuc2lvbnNdIGJvb2xlYW4gYWxwaGFDaGFubmVsOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0
CmluZGV4IGNhYWI5ZWQzNjk1Li5kOGFhODIyOWQ4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvU291cmNlc0NvY29hLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0
CkBAIC0zMDAsNyArMzAwLDcgQEAgcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENvY29hLm1t
CiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250RGVzY3JpcHRpb25Db2NvYS5jcHAKIHBsYXRm
b3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRGYW1pbHlTcGVjaWZpY2F0aW9uQ29yZVRleHQuY3BwCiBw
bGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250UGxhdGZvcm1EYXRhQ29jb2EubW0KLXBsYXRmb3Jt
L2dyYXBoaWNzL2NvY29hL0hFVkNVdGlsaXRpZXNDb2NvYS5jcHAKK3BsYXRmb3JtL2dyYXBoaWNz
L2NvY29hL0hFVkNVdGlsaXRpZXNDb2NvYS5tbQogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvSU9T
dXJmYWNlLm1tCiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9JT1N1cmZhY2VQb29sQ29jb2EubW0K
IHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL01lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlD
b2NvYS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagppbmRleCBjZDk5MGZkYTg1MS4uZjhkNDY2NTIzMTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEzNzU0LDcgKzEz
NzU0LDcgQEAKIAkJQ0RBNTk1OTEyMTQ2REVDMzAwQTg0MTg1IC8qIEhFVkNVdGlsaXRpZXMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSEVWQ1V0aWxpdGllcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlDREE1OTU5MjIxNDZERUMzMDBBODQxODUgLyogSEVWQ1V0aWxpdGllcy5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBIRVZDVXRpbGl0aWVzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQ0RBNTk1OTYyMTQ2REY3ODAwQTg0MTg1IC8qIEhFVkNVdGlsaXRpZXNDb2NvYS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBIRVZDVXRpbGl0aWVzQ29jb2EuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJQ0RBNTk1OTcyMTQ2REY3ODAwQTg0MTg1IC8qIEhFVkNVdGlsaXRpZXNDb2NvYS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBIRVZDVXRpbGl0aWVzQ29jb2EuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlDREE1OTU5NzIxNDZERjc4MDBBODQxODUgLyogSEVWQ1V0aWxp
dGllc0NvY29hLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gSEVWQ1V0aWxpdGllc0NvY29hLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDREE3OTgyMTE3MEEyMkRDMDBENDVDNTUg
LyogQXVkaW9TZXNzaW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEF1ZGlvU2Vzc2lvbi5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlDREE3OTgyMzE3MEEyNTgzMDBENDVDNTUgLyogQXVkaW9T
ZXNzaW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEF1ZGlvU2Vz
c2lvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNEQTc5ODI1MTcwQTI3OTAw
MEQ0NUM1NSAvKiBBdWRpb1Nlc3Npb25JT1MubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBBdWRpb1Nlc3Npb25JT1MubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC0yNDk5MCw4ICsyNDk5MCw4IEBACiAJCQkJQjUzMjBENkExMjJBMjRFOTAwMkQxNDQw
IC8qIEZvbnRQbGF0Zm9ybURhdGFDb2NvYS5tbSAqLywKIAkJCQk0OUZGQkYxQzExQzg1NTBFMDA2
QTcxMTggLyogR3JhcGhpY3NDb250ZXh0M0RDb2NvYS5tbSAqLywKIAkJCQlCMjc3QjQwMzBCMjJG
MzdDMDAwNEJFQzYgLyogR3JhcGhpY3NDb250ZXh0Q29jb2EubW0gKi8sCi0JCQkJQ0RBNTk1OTcy
MTQ2REY3ODAwQTg0MTg1IC8qIEhFVkNVdGlsaXRpZXNDb2NvYS5jcHAgKi8sCiAJCQkJQ0RBNTk1
OTYyMTQ2REY3ODAwQTg0MTg1IC8qIEhFVkNVdGlsaXRpZXNDb2NvYS5oICovLAorCQkJCUNEQTU5
NTk3MjE0NkRGNzgwMEE4NDE4NSAvKiBIRVZDVXRpbGl0aWVzQ29jb2EubW0gKi8sCiAJCQkJMkQw
QjRBQTkxOERBMUNDRDAwNDM0REUxIC8qIElPU3VyZmFjZS5oICovLAogCQkJCTJEMEI0QUFBMThE
QTFDQ0QwMDQzNERFMSAvKiBJT1N1cmZhY2UubW0gKi8sCiAJCQkJQUQ5RkY2RTAxOTA4MzkxRDAw
M0I2MUUwIC8qIElPU3VyZmFjZVBvb2xDb2NvYS5tbSAqLywKQEAgLTMwODEzLDYgKzMwODEzLDgg
QEAKIAkJCQk0OUU5MTFDNzBFRjg2RDQ3MDA5RDBDQUYgLyogTWF0cml4VHJhbnNmb3JtT3BlcmF0
aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk1Q0JDOERBRDFBQUEzMDIyMDBFMUM4MDMgLyogTWVk
aWFBY2Nlc3NpYmlsaXR5U29mdExpbmsuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzMUJDQzYxMTEy
NERGQ0IwMEJFNzBERCAvKiBNZWRpYUNhblN0YXJ0TGlzdGVuZXIuaCBpbiBIZWFkZXJzICovLAor
CQkJCUNEQ0M5QkNGMjIzODdFOUEwMEZGQjUxQyAvKiBNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5n
SW5mby5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0RDQzlCRDEyMjM4N0VBQTAwRkZCNTFDIC8qIE1l
ZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvLmggaW4gSGVhZGVycyAqLywKIAkJCQkwNzhFMDkz
QTE3RDE2RTFDMDA0MjBBQTEgLyogTWVkaWFDb25zdHJhaW50cy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNDE3MjUzQUIxMzU0QkJCQzAwMzYwRjJBIC8qIE1lZGlhQ29udHJvbEVsZW1lbnRzLmggaW4g
SGVhZGVycyAqLywKIAkJCQlERUJDQ0RENDE2NjQ2RUFGMDBBNDUyRTEgLyogTWVkaWFDb250cm9s
RWxlbWVudFR5cGVzLmggaW4gSGVhZGVycyAqLywKQEAgLTMyMTE4LDcgKzMyMTIwLDYgQEAKIAkJ
CQlDNjUwNDZBOTE2N0JGQjU1MDBDQzJBNEQgLyogVGVtcGxhdGVDb250ZW50RG9jdW1lbnRGcmFn
bWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMjZFOTQ0REQxQUM0QjRFQTAwN0I4NUI1IC8qIFRl
cm0uaCBpbiBIZWFkZXJzICovLAogCQkJCTY1NTBCNkE2MDk5REYwMjcwMDkwRDc4MSAvKiBUZXh0
LmggaW4gSGVhZGVycyAqLywKLQkJCQlDRENDOUJEMTIyMzg3RUFBMDBGRkI1MUMgLyogTWVkaWFD
YXBhYmlsaXRpZXNFbmNvZGluZ0luZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCTkzMzA5RTE3MDk5
RTY0OTIwMDU2RTU4MSAvKiBUZXh0QWZmaW5pdHkuaCBpbiBIZWFkZXJzICovLAogCQkJCUNFN0Iy
REI1MTU4NkFCQUQwMDk4QjNGQSAvKiBUZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2UuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTBGNTREQ0U2MTg4MTA1MUQwMDNFRURCQiAvKiBUZXh0QXV0b1NpemluZy5o
IGluIEhlYWRlcnMgKi8sCkBAIC0zMjIxMiw3ICszMjIxMyw2IEBACiAJCQkJNDlFOTExQzQwRUY4
NkQ0NzAwOUQwQ0FGIC8qIFRyYW5zZm9ybWF0aW9uTWF0cml4LmggaW4gSGVhZGVycyAqLywKIAkJ
CQlGQjQ4NEY0RDE3MUY4MjFFMDAwNDA3NTUgLyogVHJhbnNmb3JtRnVuY3Rpb25zLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk0OUU5MTFDRTBFRjg2RDQ3MDA5RDBDQUYgLyogVHJhbnNmb3JtT3BlcmF0
aW9uLmggaW4gSGVhZGVycyAqLywKLQkJCQlDRENDOUJDRjIyMzg3RTlBMDBGRkI1MUMgLyogTWVk
aWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5RTkxMUQw
MEVGODZENDcwMDlEMENBRiAvKiBUcmFuc2Zvcm1PcGVyYXRpb25zLmggaW4gSGVhZGVycyAqLywK
IAkJCQk1REIxQkM2QTEwNzE1QTY0MDBFRkFBNDkgLyogVHJhbnNmb3JtU291cmNlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk0OTQ1QkZENDEzQ0Y4MDkwMDBDQzNCMzggLyogVHJhbnNmb3JtU3RhdGUu
aCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29j
b2EvVmlkZW9Ub29sYm94U29mdExpbmsuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29j
b2EvVmlkZW9Ub29sYm94U29mdExpbmsuY3BwCmluZGV4IDk0ZDU4MzEwMmM5Li41OTcxZDM5ODFl
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvVmlkZW9Ub29sYm94
U29mdExpbmsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1ZpZGVvVG9v
bGJveFNvZnRMaW5rLmNwcApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgPFZpZGVvVG9vbGJv
eC9WaWRlb1Rvb2xib3guaD4KICNpbmNsdWRlIDx3dGYvU29mdExpbmtpbmcuaD4KIAordHlwZWRl
ZiBzdHJ1Y3QgT3BhcXVlVlRWaWRlb0RlY29kZXIgVlRWaWRlb0RlY29kZXJSZWY7CiB0eXBlZGVm
IHN0cnVjdCBPcGFxdWVWVEltYWdlUm90YXRpb25TZXNzaW9uKiBWVEltYWdlUm90YXRpb25TZXNz
aW9uUmVmOwogdHlwZWRlZiBzdHJ1Y3QgT3BhcXVlVlRQaXhlbEJ1ZmZlckNvbmZvcm1lciogVlRQ
aXhlbEJ1ZmZlckNvbmZvcm1lclJlZjsKIHR5cGVkZWYgc3RydWN0IE9wYXF1ZVZUUGl4ZWxUcmFu
c2ZlclNlc3Npb24qIFZUUGl4ZWxUcmFuc2ZlclNlc3Npb25SZWY7CkBAIC01MCw2ICs1MSw3IEBA
IFNPRlRfTElOS19GVU5DVElPTl9NQVlfRkFJTF9GT1JfU09VUkNFKFdlYkNvcmUsIFZpZGVvVG9v
bGJveCwgVlRHZXRHVkFEZWNvZGVyQXZhCiBTT0ZUX0xJTktfRlVOQ1RJT05fTUFZX0ZBSUxfRk9S
X1NPVVJDRShXZWJDb3JlLCBWaWRlb1Rvb2xib3gsIFZUQ3JlYXRlQ0dJbWFnZUZyb21DVlBpeGVs
QnVmZmVyLCBPU1N0YXR1cywgKENWUGl4ZWxCdWZmZXJSZWYgcGl4ZWxCdWZmZXIsIENGRGljdGlv
bmFyeVJlZiBvcHRpb25zLCBDR0ltYWdlUmVmKiBpbWFnZU91dCksIChwaXhlbEJ1ZmZlciwgb3B0
aW9ucywgaW1hZ2VPdXQpKQogU09GVF9MSU5LX0ZVTkNUSU9OX01BWV9GQUlMX0ZPUl9TT1VSQ0Uo
V2ViQ29yZSwgVmlkZW9Ub29sYm94LCBWVENvcHlIRVZDRGVjb2RlckNhcGFiaWxpdGllc0RpY3Rp
b25hcnksIENGRGljdGlvbmFyeVJlZiwgKCksICgpKQogU09GVF9MSU5LX0ZVTkNUSU9OX01BWV9G
QUlMX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgVmlkZW9Ub29sYm94LCBWVEdldEhFVkNDYXBhYmlsaXRl
c0ZvckZvcm1hdERlc2NyaXB0aW9uLCBPU1N0YXR1cywgKENNVmlkZW9Gb3JtYXREZXNjcmlwdGlv
blJlZiBmb3JtYXREZXNjcmlwdGlvbiwgQ0ZEaWN0aW9uYXJ5UmVmIGRlY29kZXJDYXBhYmlsaXRp
ZXNEaWN0LCBCb29sZWFuKiBpc0RlY29kYWJsZSwgQm9vbGVhbiogbWF5QmVQbGF5YWJsZSksIChm
b3JtYXREZXNjcmlwdGlvbiwgZGVjb2RlckNhcGFiaWxpdGllc0RpY3QsIGlzRGVjb2RhYmxlLCBt
YXlCZVBsYXlhYmxlKSkKK1NPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFKFdlYkNvcmUsIFZp
ZGVvVG9vbGJveCwgVlRTZWxlY3RBbmRDcmVhdGVWaWRlb0RlY29kZXJJbnN0YW5jZSwgT1NTdGF0
dXMsIChDTVZpZGVvQ29kZWNUeXBlIGNvZGVjVHlwZSwgQ0ZBbGxvY2F0b3JSZWYgYWxsb2NhdG9y
LCBDRkRpY3Rpb25hcnlSZWYgdmlkZW9EZWNvZGVyU3BlY2lmaWNhdGlvbiwgVlRWaWRlb0RlY29k
ZXJSZWYgKmRlY29kZXJJbnN0YW5jZU91dCksIChjb2RlY1R5cGUsIGFsbG9jYXRvciwgdmlkZW9E
ZWNvZGVyU3BlY2lmaWNhdGlvbiwgZGVjb2Rlckluc3RhbmNlT3V0KSkKIFNPRlRfTElOS19DT05T
VEFOVF9GT1JfU09VUkNFKFdlYkNvcmUsIFZpZGVvVG9vbGJveCwga1ZUVmlkZW9EZWNvZGVyU3Bl
Y2lmaWNhdGlvbl9FbmFibGVIYXJkd2FyZUFjY2VsZXJhdGVkVmlkZW9EZWNvZGVyLCBDRlN0cmlu
Z1JlZikKIFNPRlRfTElOS19DT05TVEFOVF9GT1JfU09VUkNFKFdlYkNvcmUsIFZpZGVvVG9vbGJv
eCwga1ZURGVjb21wcmVzc2lvblByb3BlcnR5S2V5X1BpeGVsQnVmZmVyUG9vbCwgQ0ZTdHJpbmdS
ZWYpCiBTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX1NPVVJDRShXZWJDb3JlLCBWaWRlb1Rvb2xib3gs
IGtWVERlY29tcHJlc3Npb25Qcm9wZXJ0eUtleV9TdWdnZXN0ZWRRdWFsaXR5T2ZTZXJ2aWNlVGll
cnMsIENGU3RyaW5nUmVmKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29j
b2EvVmlkZW9Ub29sYm94U29mdExpbmsuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29h
L1ZpZGVvVG9vbGJveFNvZnRMaW5rLmgKaW5kZXggMjk1MDA5NWRjMjMuLmFjNDkyNDdmYjQ2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9WaWRlb1Rvb2xib3hTb2Z0
TGluay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1ZpZGVvVG9vbGJveFNv
ZnRMaW5rLmgKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlIDxWaWRlb1Rvb2xib3gvVmlkZW9U
b29sYm94Lmg+CiAjaW5jbHVkZSA8d3RmL1NvZnRMaW5raW5nLmg+CiAKK3R5cGVkZWYgc3RydWN0
IE9wYXF1ZVZUVmlkZW9EZWNvZGVyIFZUVmlkZW9EZWNvZGVyUmVmOwogdHlwZWRlZiBzdHJ1Y3Qg
T3BhcXVlVlRJbWFnZVJvdGF0aW9uU2Vzc2lvbiogVlRJbWFnZVJvdGF0aW9uU2Vzc2lvblJlZjsK
IHR5cGVkZWYgc3RydWN0IE9wYXF1ZVZUUGl4ZWxCdWZmZXJDb25mb3JtZXIqIFZUUGl4ZWxCdWZm
ZXJDb25mb3JtZXJSZWY7CiB0eXBlZGVmIHN0cnVjdCBPcGFxdWVWVFBpeGVsVHJhbnNmZXJTZXNz
aW9uKiBWVFBpeGVsVHJhbnNmZXJTZXNzaW9uUmVmOwpAQCAtNjQsNiArNjUsOCBAQCBTT0ZUX0xJ
TktfRlVOQ1RJT05fTUFZX0ZBSUxfRk9SX0hFQURFUihXZWJDb3JlLCBWaWRlb1Rvb2xib3gsIFZU
Q29weUhFVkNEZWNvZGVyQwogI2RlZmluZSBWVENvcHlIRVZDRGVjb2RlckNhcGFiaWxpdGllc0Rp
Y3Rpb25hcnkgc29mdExpbmtfVmlkZW9Ub29sYm94X1ZUQ29weUhFVkNEZWNvZGVyQ2FwYWJpbGl0
aWVzRGljdGlvbmFyeQogU09GVF9MSU5LX0ZVTkNUSU9OX01BWV9GQUlMX0ZPUl9IRUFERVIoV2Vi
Q29yZSwgVmlkZW9Ub29sYm94LCBWVEdldEhFVkNDYXBhYmlsaXRlc0ZvckZvcm1hdERlc2NyaXB0
aW9uLCBPU1N0YXR1cywgKENNVmlkZW9Gb3JtYXREZXNjcmlwdGlvblJlZiBmb3JtYXREZXNjcmlw
dGlvbiwgQ0ZEaWN0aW9uYXJ5UmVmIGRlY29kZXJDYXBhYmlsaXRpZXNEaWN0LCBCb29sZWFuKiBp
c0RlY29kYWJsZSwgQm9vbGVhbiogbWF5QmVQbGF5YWJsZSksIChmb3JtYXREZXNjcmlwdGlvbiwg
ZGVjb2RlckNhcGFiaWxpdGllc0RpY3QsIGlzRGVjb2RhYmxlLCBtYXlCZVBsYXlhYmxlKSkKICNk
ZWZpbmUgVlRHZXRIRVZDQ2FwYWJpbGl0ZXNGb3JGb3JtYXREZXNjcmlwdGlvbiBzb2Z0TGlua19W
aWRlb1Rvb2xib3hfVlRHZXRIRVZDQ2FwYWJpbGl0ZXNGb3JGb3JtYXREZXNjcmlwdGlvbgorU09G
VF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoV2ViQ29yZSwgVmlkZW9Ub29sYm94LCBWVFNlbGVj
dEFuZENyZWF0ZVZpZGVvRGVjb2Rlckluc3RhbmNlLCBPU1N0YXR1cywgKENNVmlkZW9Db2RlY1R5
cGUgY29kZWNUeXBlLCBDRkFsbG9jYXRvclJlZiBhbGxvY2F0b3IsIENGRGljdGlvbmFyeVJlZiB2
aWRlb0RlY29kZXJTcGVjaWZpY2F0aW9uLCBWVFZpZGVvRGVjb2RlclJlZiAqZGVjb2Rlckluc3Rh
bmNlT3V0KSwgKGNvZGVjVHlwZSwgYWxsb2NhdG9yLCB2aWRlb0RlY29kZXJTcGVjaWZpY2F0aW9u
LCBkZWNvZGVySW5zdGFuY2VPdXQpKQorI2RlZmluZSBWVFNlbGVjdEFuZENyZWF0ZVZpZGVvRGVj
b2Rlckluc3RhbmNlIHNvZnRMaW5rX1ZpZGVvVG9vbGJveF9WVFNlbGVjdEFuZENyZWF0ZVZpZGVv
RGVjb2Rlckluc3RhbmNlCiBTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX0hFQURFUihXZWJDb3JlLCBW
aWRlb1Rvb2xib3gsIGtWVFZpZGVvRGVjb2RlclNwZWNpZmljYXRpb25fRW5hYmxlSGFyZHdhcmVB
Y2NlbGVyYXRlZFZpZGVvRGVjb2RlciwgQ0ZTdHJpbmdSZWYpCiAjZGVmaW5lIGtWVFZpZGVvRGVj
b2RlclNwZWNpZmljYXRpb25fRW5hYmxlSGFyZHdhcmVBY2NlbGVyYXRlZFZpZGVvRGVjb2RlciBn
ZXRfVmlkZW9Ub29sYm94X2tWVFZpZGVvRGVjb2RlclNwZWNpZmljYXRpb25fRW5hYmxlSGFyZHdh
cmVBY2NlbGVyYXRlZFZpZGVvRGVjb2RlcigpCiBTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX0hFQURF
UihXZWJDb3JlLCBWaWRlb1Rvb2xib3gsIGtWVERlY29tcHJlc3Npb25Qcm9wZXJ0eUtleV9QaXhl
bEJ1ZmZlclBvb2wsIENGU3RyaW5nUmVmKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY29jb2EvSEVWQ1V0aWxpdGllc0NvY29hLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9IRVZDVXRpbGl0aWVzQ29jb2EuaAppbmRleCBlYzVm
NzQyOTVmNS4uNTIxNjMwNDAwNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NvY29hL0hFVkNVdGlsaXRpZXNDb2NvYS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0hFVkNVdGlsaXRpZXNDb2NvYS5oCkBAIC0zMyw3ICsz
Myw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RydWN0IE1lZGlhQ2FwYWJpbGl0aWVzSW5m
bzsKIAotZXh0ZXJuIGJvb2wgdmFsaWRhdGVIRVZDUGFyYW1ldGVycyhIRVZDUGFyYW1ldGVyU2V0
JiwgTWVkaWFDYXBhYmlsaXRpZXNJbmZvJik7CitleHRlcm4gYm9vbCB2YWxpZGF0ZUhFVkNQYXJh
bWV0ZXJzKEhFVkNQYXJhbWV0ZXJTZXQmLCBNZWRpYUNhcGFiaWxpdGllc0luZm8mLCBib29sIGhh
c0FscGhhQ2hhbm5lbCk7CiAKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY29jb2EvSEVWQ1V0aWxpdGllc0NvY29hLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0hFVkNVdGlsaXRpZXNDb2NvYS5tbQpzaW1pbGFyaXR5
IGluZGV4IDg2JQpyZW5hbWUgZnJvbSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
b2NvYS9IRVZDVXRpbGl0aWVzQ29jb2EuY3BwCnJlbmFtZSB0byBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jb2NvYS9IRVZDVXRpbGl0aWVzQ29jb2EubW0KaW5kZXggZjY3MTlhOGVj
NjEuLjMxYzJkNzFiNTg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jb2NvYS9IRVZDVXRpbGl0aWVzQ29jb2EuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NvY29hL0hFVkNVdGlsaXRpZXNDb2NvYS5tbQpAQCAtMjgsMTUgKzI4
LDM0IEBACiAKICNpZiBQTEFURk9STShDT0NPQSkKIAorI2luY2x1ZGUgIkZvdXJDQy5oIgogI2lu
Y2x1ZGUgIkhFVkNVdGlsaXRpZXMuaCIKICNpbmNsdWRlICJNZWRpYUNhcGFiaWxpdGllc0luZm8u
aCIKIAogI2luY2x1ZGUgIlZpZGVvVG9vbGJveFNvZnRMaW5rLmgiCiAKK1NPRlRfTElOS19GUkFN
RVdPUktfT1BUSU9OQUwoQVZGb3VuZGF0aW9uKQorU09GVF9MSU5LX0NPTlNUQU5UX01BWV9GQUlM
KEFWRm91bmRhdGlvbiwgQVZWaWRlb0NvZGVjVHlwZUhFVkNXaXRoQWxwaGEsIE5TU3RyaW5nICop
CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotYm9vbCB2YWxpZGF0ZUhFVkNQYXJhbWV0ZXJzKEhF
VkNQYXJhbWV0ZXJTZXQmIHBhcmFtZXRlcnMsIE1lZGlhQ2FwYWJpbGl0aWVzSW5mbyYgaW5mbykK
K2Jvb2wgdmFsaWRhdGVIRVZDUGFyYW1ldGVycyhIRVZDUGFyYW1ldGVyU2V0JiBwYXJhbWV0ZXJz
LCBNZWRpYUNhcGFiaWxpdGllc0luZm8mIGluZm8sIGJvb2wgaGFzQWxwaGFDaGFubmVsKQogewor
ICAgIENNVmlkZW9Db2RlY1R5cGUgY29kZWMgPSBrQ01WaWRlb0NvZGVjVHlwZV9IRVZDOworICAg
IGlmIChoYXNBbHBoYUNoYW5uZWwpIHsKKyAgICAgICAgaWYgKCFBVkZvdW5kYXRpb25MaWJyYXJ5
KCkgfHwgIWNhbkxvYWRBVlZpZGVvQ29kZWNUeXBlSEVWQ1dpdGhBbHBoYSgpKQorICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIGF1dG8gY29kZWNDb2RlID0gRm91ckNDOjpmcm9t
U3RyaW5nKGdldEFWVmlkZW9Db2RlY1R5cGVIRVZDV2l0aEFscGhhKCkpOworICAgICAgICBpZiAo
IWNvZGVjQ29kZSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICBjb2RlYyA9
IGNvZGVjQ29kZS52YWx1ZSgpLnZhbHVlOworICAgIH0KKyAgICBPU1N0YXR1cyBzdGF0dXMgPSBW
VFNlbGVjdEFuZENyZWF0ZVZpZGVvRGVjb2Rlckluc3RhbmNlKGNvZGVjLCBrQ0ZBbGxvY2F0b3JE
ZWZhdWx0LCBudWxscHRyLCBudWxscHRyKTsKKyAgICBpZiAoc3RhdHVzICE9IG5vRXJyKQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisKICAgICBpZiAoIWNhbkxvYWRfVmlkZW9Ub29sYm94X1ZUQ29w
eUhFVkNEZWNvZGVyQ2FwYWJpbGl0aWVzRGljdGlvbmFyeSgpCiAgICAgICAgIHx8ICFjYW5Mb2Fk
X1ZpZGVvVG9vbGJveF9rVlRIRVZDRGVjb2RlckNhcGFiaWxpdHlfU3VwcG9ydGVkUHJvZmlsZXMo
KQogICAgICAgICB8fCAhY2FuTG9hZF9WaWRlb1Rvb2xib3hfa1ZUSEVWQ0RlY29kZXJDYXBhYmls
aXR5X1BlclByb2ZpbGVTdXBwb3J0KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NvY29hL01lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlDb2NvYS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9NZWRpYUVuZ2luZUNv
bmZpZ3VyYXRpb25GYWN0b3J5Q29jb2EuY3BwCmluZGV4IDI3ZjM3NjY1ZWViLi5hZWY3Njk1ZDAz
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvTWVk
aWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeUNvY29hLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9NZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5
Q29jb2EuY3BwCkBAIC03NiwxNSArNzYsMjQgQEAgdm9pZCBjcmVhdGVNZWRpYVBsYXllckRlY29k
aW5nQ29uZmlndXJhdGlvbkNvY29hKE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uJiYgY28KICAg
ICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCisgICAgICAgIGJvb2wgYWxwaGFDaGFubmVs
ID0gdmlkZW9Db25maWd1cmF0aW9uLmFscGhhQ2hhbm5lbCAmJiB2aWRlb0NvbmZpZ3VyYXRpb24u
YWxwaGFDaGFubmVsLnZhbHVlKCk7CisKICAgICAgICAgaWYgKHZpZGVvQ29kZWNUeXBlID09IGtD
TVZpZGVvQ29kZWNUeXBlX0hFVkMpIHsKICAgICAgICAgICAgIGF1dG8gcGFyYW1ldGVycyA9IHBh
cnNlSEVWQ0NvZGVjUGFyYW1ldGVycyhjb2RlYyk7Ci0gICAgICAgICAgICBpZiAoIXBhcmFtZXRl
cnMgfHwgIXZhbGlkYXRlSEVWQ1BhcmFtZXRlcnMocGFyYW1ldGVycy52YWx1ZSgpLCBpbmZvKSkg
eworICAgICAgICAgICAgaWYgKCFwYXJhbWV0ZXJzIHx8ICF2YWxpZGF0ZUhFVkNQYXJhbWV0ZXJz
KHBhcmFtZXRlcnMudmFsdWUoKSwgaW5mbywgYWxwaGFDaGFubmVsKSkgeworICAgICAgICAgICAg
ICAgIGNhbGxiYWNrKHt7IH0sIFdURk1vdmUoY29uZmlndXJhdGlvbil9KTsKKyAgICAgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAg
ICBpZiAoYWxwaGFDaGFubmVsKSB7CiAgICAgICAgICAgICAgICAgY2FsbGJhY2soe3sgfSwgV1RG
TW92ZShjb25maWd1cmF0aW9uKX0pOwogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAg
ICAgIH0KLSAgICAgICAgfSBlbHNlIGlmIChjYW5Mb2FkX1ZpZGVvVG9vbGJveF9WVElzSGFyZHdh
cmVEZWNvZGVTdXBwb3J0ZWQoKSkgewotICAgICAgICAgICAgaW5mby5wb3dlckVmZmljaWVudCA9
IFZUSXNIYXJkd2FyZURlY29kZVN1cHBvcnRlZCh2aWRlb0NvZGVjVHlwZSk7Ci0gICAgICAgICAg
ICBpbmZvLnNtb290aCA9IHRydWU7CisKKyAgICAgICAgICAgIGlmIChjYW5Mb2FkX1ZpZGVvVG9v
bGJveF9WVElzSGFyZHdhcmVEZWNvZGVTdXBwb3J0ZWQoKSkgeworICAgICAgICAgICAgICAgIGlu
Zm8ucG93ZXJFZmZpY2llbnQgPSBWVElzSGFyZHdhcmVEZWNvZGVTdXBwb3J0ZWQodmlkZW9Db2Rl
Y1R5cGUpOworICAgICAgICAgICAgICAgIGluZm8uc21vb3RoID0gdHJ1ZTsKKyAgICAgICAgICAg
IH0KICAgICAgICAgfQogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFjYXBhYmlsaXRpZXMvVmlkZW9Db25maWd1cmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9WaWRlb0NvbmZpZ3VyYXRpb24uaAppbmRleCBh
Mzc4ZmQzMDlmNi4uNzQ1ZjhiOGUzM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhY2FwYWJpbGl0aWVzL1ZpZGVvQ29uZmlndXJhdGlvbi5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL1ZpZGVvQ29uZmlndXJhdGlvbi5oCkBA
IC0yNSw2ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSA8d3RmL09wdGlvbmFs
Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKQEAgLTM1LDYgKzM2LDcgQEAgc3RydWN0IFZpZGVvQ29uZmlndXJhdGlvbiB7CiAgICAgdWlu
dDMyX3QgaGVpZ2h0OwogICAgIHVpbnQ2NF90IGJpdHJhdGU7CiAgICAgZG91YmxlIGZyYW1lcmF0
ZTsKKyAgICBPcHRpb25hbDxib29sPiBhbHBoYUNoYW5uZWw7CiB9OwogCiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZh
Y3RvcnlNb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTWVkaWFFbmdpbmVD
b25maWd1cmF0aW9uRmFjdG9yeU1vY2suY3BwCmluZGV4IDc1ZTI5N2NkMGQzLi5lYWRiMDcyYmQy
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9NZWRpYUVuZ2luZUNv
bmZpZ3VyYXRpb25GYWN0b3J5TW9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bW9jay9NZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5TW9jay5jcHAKQEAgLTQ3LDYgKzQ3
LDEyIEBAIHN0YXRpYyBib29sIGNhbkRlY29kZU1lZGlhKGNvbnN0IE1lZGlhRGVjb2RpbmdDb25m
aWd1cmF0aW9uJiBjb25maWd1cmF0aW9uKQogICAgIGlmICh2aWRlb0NvbmZpZyAmJiB2aWRlb0Nv
bmZpZy0+d2lkdGggPiAxMjgwICYmIHZpZGVvQ29uZmlnLT5oZWlnaHQgPiA3MjApCiAgICAgICAg
IHJldHVybiBmYWxzZTsKIAorICAgIC8vIE9ubHkgdGhlICJtb2NrLXdpdGgtYWxwaGEiIGNvZGVj
IHN1cHBvcnRzIGFscGhhQ2hhbm5lbAorICAgIGlmICh2aWRlb0NvbmZpZyAmJiB2aWRlb0NvbmZp
Zy0+YWxwaGFDaGFubmVsICYmIHZpZGVvQ29uZmlnLT5hbHBoYUNoYW5uZWwudmFsdWUoKSkgewor
ICAgICAgICBpZiAoQ29udGVudFR5cGUodmlkZW9Db25maWctPmNvbnRlbnRUeXBlKS5jb2RlY3NQ
YXJhbWV0ZXIoKSAhPSAibW9jay13aXRoLWFscGhhIikKKyAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICB9CisKICAgICAvLyBBdWRpbyBkZWNvZGluZyBzdXBwb3J0IGxpbWl0ZWQgdG8gYXVk
aW8vbXA0LgogICAgIGF1dG8gYXVkaW9Db25maWcgPSBjb25maWd1cmF0aW9uLmF1ZGlvOwogICAg
IGlmIChhdWRpb0NvbmZpZykKQEAgLTkyLDYgKzk4LDEyIEBAIHN0YXRpYyBib29sIGNhbkVuY29k
ZU1lZGlhKGNvbnN0IE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uJiBjb25maWd1cmF0aW9uKQog
ICAgIGlmICh2aWRlb0NvbmZpZyAmJiB2aWRlb0NvbmZpZy0+d2lkdGggPiAxMjgwICYmIHZpZGVv
Q29uZmlnLT5oZWlnaHQgPiA3MjApCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIC8vIE9u
bHkgdGhlICJtb2NrLXdpdGgtYWxwaGEiIGNvZGVjIHN1cHBvcnRzIGFscGhhQ2hhbm5lbAorICAg
IGlmICh2aWRlb0NvbmZpZyAmJiB2aWRlb0NvbmZpZy0+YWxwaGFDaGFubmVsICYmIHZpZGVvQ29u
ZmlnLT5hbHBoYUNoYW5uZWwudmFsdWUoKSkgeworICAgICAgICBpZiAoQ29udGVudFR5cGUodmlk
ZW9Db25maWctPmNvbnRlbnRUeXBlKS5jb2RlY3NQYXJhbWV0ZXIoKSAhPSAibW9jay13aXRoLWFs
cGhhIikKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKICAgICAvLyBBdWRpbyBl
bmNvZGluZyBzdXBwb3J0IGxpbWl0ZWQgdG8gYXVkaW8vbXA0LgogICAgIGF1dG8gYXVkaW9Db25m
aWcgPSBjb25maWd1cmF0aW9uLmF1ZGlvOwogICAgIGlmIChhdWRpb0NvbmZpZyAmJiBDb250ZW50
VHlwZShhdWRpb0NvbmZpZy0+Y29udGVudFR5cGUpLmNvbnRhaW5lclR5cGUoKSAhPSAiYXVkaW8v
bXA0IikKLS0gCjIuMjAuMCAoQXBwbGUgR2l0LTExNSkKCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>