<?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>226736</bug_id>
          
          <creation_ts>2021-06-07 12:22:26 -0700</creation_ts>
          <short_desc>[Modern Media Controls] upstream new features</short_desc>
          <delta_ts>2024-03-29 08:40:23 -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>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=271785</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Devin Rousso">hi</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <cc>aestes</cc>
    
    <cc>bdakin</cc>
    
    <cc>benjamin</cc>
    
    <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hi</cc>
    
    <cc>jer.noble</cc>
    
    <cc>joepeck</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>pdr</cc>
    
    <cc>peng.liu6</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>thorton</cc>
    
    <cc>tsavell</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1767508</commentid>
    <comment_count>0</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-06-07 12:22:26 -0700</bug_when>
    <thetext>.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767509</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-06-07 12:22:42 -0700</bug_when>
    <thetext>&lt;rdar://problem/78957464&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767543</commentid>
    <comment_count>2</comment_count>
      <attachid>430777</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-06-07 14:09:37 -0700</bug_when>
    <thetext>Created attachment 430777
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767590</commentid>
    <comment_count>3</comment_count>
      <attachid>430777</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2021-06-07 15:59:35 -0700</bug_when>
    <thetext>Comment on attachment 430777
Patch

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

&gt; LayoutTests/platform/mac-wk2/TestExpectations:22
&gt; +media/modern-media-controls/overflow-support [ Pass ]

Can we enable the test for iOS as well?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767591</commentid>
    <comment_count>4</comment_count>
      <attachid>430777</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-06-07 16:02:19 -0700</bug_when>
    <thetext>Comment on attachment 430777
Patch

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

&gt;&gt; LayoutTests/platform/mac-wk2/TestExpectations:22
&gt;&gt; +media/modern-media-controls/overflow-support [ Pass ]
&gt; 
&gt; Can we enable the test for iOS as well?

iOS requires some new functionality that&apos;s not yet in EWS bots (see `#define ENABLE_MEDIA_CONTROLS_CONTEXT_MENUS`).  These tests are enabled on the internal bots in the meantime.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767592</commentid>
    <comment_count>5</comment_count>
      <attachid>430777</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-06-07 16:05:26 -0700</bug_when>
    <thetext>Comment on attachment 430777
Patch

r=me once the bots agree</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767685</commentid>
    <comment_count>6</comment_count>
      <attachid>430814</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-06-07 23:50:12 -0700</bug_when>
    <thetext>Created attachment 430814
Patch

just tried building with the latest public SDK in an effort to match the bots and the test passed just fine :/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767817</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-06-08 10:27:40 -0700</bug_when>
    <thetext>Committed r278618 (238603@main): &lt;https://commits.webkit.org/238603@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 430814.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1768225</commentid>
    <comment_count>8</comment_count>
    <who name="Truitt Savell">tsavell</who>
    <bug_when>2021-06-09 10:24:49 -0700</bug_when>
    <thetext>the new test media/modern-media-controls/overflow-support/chapters.html

added in https://trac.webkit.org/changeset/278618/webkit

is a constant timeout: https://results.webkit.org/?suite=layout-tests&amp;test=media%2Fmodern-media-controls%2Foverflow-support%2Fchapters.html

This is impeding ews, can this be fixed quickly or can we revert this change until it is fixed? 

Tracking bug: https://bugs.webkit.org/show_bug.cgi?id=226828</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430777</attachid>
            <date>2021-06-07 14:09:37 -0700</date>
            <delta_ts>2021-06-07 23:50:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226736-20210607150936.patch</filename>
            <type>text/plain</type>
            <size>37088</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggNmE0NWVmMzAxYjNjZjc3MGU2OWNhYjU5MDkwZDRiYTlkMzlhYmI1ZS4uZmZhNDY0OThm
NDUzMTkxNmVhZGI0ODQyYTc2Y2ZiMjEzZmRmZGI5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAy
MS0wNi0wNyAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CisKKyAgICAgICAgW01v
ZGVybiBNZWRpYSBDb250cm9sc10gdXBzdHJlYW0gbmV3IGZlYXR1cmVzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjY3MzYKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzc4OTU3NDY0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICAtIGJyaW5nIHRoZSAiQXVkaW8iLyJMYW5ndWFnZXMiIHRyYWNrcyBtZW51
IHRvIGlPUworICAgICAgICAgLSBhZGQgYSBuZXcgIlBsYXliYWNrIFNwZWVkIiBtZW51IG9uIGlP
UyBhbmQgbWFjT1MgaW4gdGhlIG92ZXJmbG93IG1lbnUKKyAgICAgICAgIC0gYWRkIHN1cHBvcnQg
Zm9yIHNob3dpbmcgdGhlIG1vc3QgcmVsZXZhbnQgYDx0cmFjayBraW5kPSJjaGFwdGVycyI+YCBp
biB0aGUgb3ZlcmZsb3cgbWVudQorCisgICAgICAgICogd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2Eu
aDoKKwogMjAyMS0wNi0wNyAgQWxpY2lhIEJveWEgR2FyY8OtYSAgPGFib3lhQGlnYWxpYS5jb20+
CiAKICAgICAgICAgW1dURl1bR1N0cmVhbWVyXSBGaXggY2xhbmcgVFNBIHdhcm5pbmdzIGluIFdU
Rjo6RGF0YU11dGV4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWJiMTM3MzY4Y2JlYWVkNDRmODA0MmMxMmEwNTdm
NjdkMTEyZWU5NC4uZDA0YjMxZTdiNWUyMDc0YWZjNjUwODMxYThiOGJjMzQ5YzRkN2VjMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDIxLTA2LTA3ICBEZXZpbiBSb3Vzc28gIDxkcm91
c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBbTW9kZXJuIE1lZGlhIENvbnRyb2xzXSB1cHN0cmVh
bSBuZXcgZmVhdHVyZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyNjczNgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzg5NTc0NjQ+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgIC0gYnJpbmcgdGhlICJB
dWRpbyIvIkxhbmd1YWdlcyIgdHJhY2tzIG1lbnUgdG8gaU9TCisgICAgICAgICAtIGFkZCBhIG5l
dyAiUGxheWJhY2sgU3BlZWQiIG1lbnUgaW4gdGhlIG92ZXJmbG93IG1lbnUgb24gaU9TIGFuZCBt
YWNPUworICAgICAgICAgLSBhZGQgc3VwcG9ydCBmb3Igc2hvd2luZyB0aGUgbW9zdCByZWxldmFu
dCBgPHRyYWNrIGtpbmQ9ImNoYXB0ZXJzIj5gIGluIHRoZSBvdmVyZmxvdyBtZW51IG9uIGlPUyBh
bmQgbWFjT1MKKworICAgICAgICBUZXN0czogbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL292
ZXJmbG93LWJ1dHRvbi9vdmVyZmxvdy1idXR0b24uaHRtbAorICAgICAgICAgICAgICAgbWVkaWEv
bW9kZXJuLW1lZGlhLWNvbnRyb2xzL292ZXJmbG93LXN1cHBvcnQvY2hhcHRlcnMuaHRtbAorICAg
ICAgICAgICAgICAgbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL292ZXJmbG93LXN1cHBvcnQv
cGxheWJhY2stc3BlZWQuaHRtbAorCisgICAgICAgICogTW9kdWxlcy9tZWRpYWNvbnRyb2xzL01l
ZGlhQ29udHJvbHNIb3N0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbHNIb3N0
OjpzaG93TWVkaWFDb250cm9sc0NvbnRleHRNZW51KToKKyAgICAgICAgKiBNb2R1bGVzL21vZGVy
bi1tZWRpYS1jb250cm9scy9tZWRpYS9vdmVyZmxvdy1zdXBwb3J0LmpzOgorICAgICAgICAoT3Zl
cmZsb3dTdXBwb3J0LnByb3RvdHlwZS5nZXQgbWVkaWFFdmVudHMpOgorICAgICAgICAoT3ZlcmZs
b3dTdXBwb3J0LnByb3RvdHlwZS5nZXQgdHJhY2tzVG9Nb25pdG9yKToKKyAgICAgICAgKE92ZXJm
bG93U3VwcG9ydC5wcm90b3R5cGUuc3luY0NvbnRyb2wpOgorICAgICAgICAqIGVuLmxwcm9qL0xv
Y2FsaXphYmxlLnN0cmluZ3M6CisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWUuaDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjptZWRpYUNvbnRyb2xzU2NyaXB0cyk6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lQWR3YWl0YS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJUaGVtZUFkd2FpdGE6Om1lZGlhQ29udHJvbHNTY3JpcHRzKToKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyVGhlbWVBZHdhaXRhLmg6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlclRoZW1lQ29jb2EuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVDb2NvYS5t
bToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lQ29jb2E6OnB1cmdlQ2FjaGVzKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lQ29jb2E6Om1lZGlhQ29udHJvbHNTY3JpcHRzKToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVXaW4uaDoKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyVGhlbWVXaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVXaW46
Om1lZGlhQ29udHJvbHNTY3JpcHRzKToKKyAgICAgICAgRHJvcCB0aGUgImFkZGl0aW9uYWwgc2Ny
aXB0IiBhbmQgbG93ZXIgdGhlIGlubGluZSBjYXBhY2l0eSBvZiB0aGUgYFZlY3RvcmAuCisKKyAg
ICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5h
bHMuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpJbnRlcm5hbHM6OnNldE1lZGlhQ29udHJvbHNIaWRlUGxheWJhY2tSYXRlcyk6IEFkZGVkLgor
ICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5oOgorICAgICAgICAqIGh0bWwvSFRNTE1l
ZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpzZXRN
ZWRpYUNvbnRyb2xzSGlkZVBsYXliYWNrUmF0ZXMpOiBBZGRlZC4KKyAgICAgICAgU2luY2UgUGxh
eWJhY2sgUmF0ZXMgaXMgYWx3YXlzIHNob3duLCBwcm92aWRlIGEgd2F5IGZvciB0ZXN0cyB0byB0
dXJuIGl0IG9mZi4KKwogMjAyMS0wNi0wNyAgSW1hbm9sIEZlcm5hbmRleiAgPGlmZXJuYW5kZXpA
aWdhbGlhLmNvbT4KIAogICAgICAgICBVc2UgM0QgcG9pbnRzIHRvIG1hcCB0aGUgV2ViWFJCb3Vu
ZGVkUmVmZXJlbmNlU3BhY2UgYm91bmRzIHRyYW5zZm9ybQpkaWZmIC0tZ2l0IGEvU291cmNlL1dU
Ri93dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5oIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFi
bGVDb2NvYS5oCmluZGV4IDA3ZWQwMzI0ZjhiN2ZjMjJlM2Q2NTRiMjY1NmRjMzcwOWY1ODc4MzYu
LmE0M2Q0OTY1MDA2NWQ1ZmRlODc5MThkYWJiYzg1NWEwN2Y1NmY1YjUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XVEYvd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9Q
bGF0Zm9ybUVuYWJsZUNvY29hLmgKQEAgLTMyMSw3ICszMjEsNyBAQAogI2RlZmluZSBFTkFCTEVf
TUVESUFfQ09OVFJPTFNfU0NSSVBUIDEKICNlbmRpZgogCi0jaWYgIWRlZmluZWQoRU5BQkxFX01F
RElBX0NPTlRST0xTX0NPTlRFWFRfTUVOVVMpICYmIFBMQVRGT1JNKE1BQykKKyNpZiAhZGVmaW5l
ZChFTkFCTEVfTUVESUFfQ09OVFJPTFNfQ09OVEVYVF9NRU5VUykgJiYgKFBMQVRGT1JNKE1BQykg
fHwgKChQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKSkgJiYgX19JUEhPTkVf
T1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTUwMDAwKSkKICNkZWZpbmUgRU5BQkxFX01FRElB
X0NPTlRST0xTX0NPTlRFWFRfTUVOVVMgMQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFjb250cm9scy9NZWRpYUNvbnRyb2xzSG9zdC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY29udHJvbHMvTWVkaWFDb250cm9sc0hvc3QuY3BwCmlu
ZGV4IDA0YTgwZjU5ZWM1Y2M0ZTRlMGI3YTYxYmUxNDRjYzBhMWNiNjAzNGIuLjJjMmY0ZTE2N2Jh
ZDcxMTBmYzgxNDVjZjM0MmQzY2UzZmQ0NTg5MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFjb250cm9scy9NZWRpYUNvbnRyb2xzSG9zdC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNvbnRyb2xzL01lZGlhQ29udHJvbHNIb3N0LmNwcApAQCAt
NTUsOCArNTUsMTAgQEAKICNpbmNsdWRlICJQYWdlR3JvdXAuaCIKICNpbmNsdWRlICJSZW5kZXJU
aGVtZS5oIgogI2luY2x1ZGUgIlRleHRUcmFjay5oIgorI2luY2x1ZGUgIlRleHRUcmFja0N1ZUxp
c3QuaCIKICNpbmNsdWRlICJUZXh0VHJhY2tMaXN0LmgiCiAjaW5jbHVkZSAiVXNlckdlc3R1cmVJ
bmRpY2F0b3IuaCIKKyNpbmNsdWRlICJWVFRDdWUuaCIKICNpbmNsdWRlICJWb2lkQ2FsbGJhY2su
aCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU0NKU1ZhbHVlSW5saW5lcy5oPgogI2luY2x1
ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgpAQCAtNjUsMTAgKzY3LDYgQEAKICNpbmNsdWRl
IDx3dGYvVVVJRC5oPgogI2luY2x1ZGUgPHd0Zi9WYXJpYW50Lmg+CiAKLSNpZiBVU0UoQVBQTEVf
SU5URVJOQUxfU0RLKQotI2luY2x1ZGUgPFdlYktpdEFkZGl0aW9ucy9NZWRpYUNvbnRyb2xzSG9z
dEFkZGl0aW9ucy5jcHA+Ci0jZW5kaWYKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjb25zdCBB
dG9tU3RyaW5nJiBNZWRpYUNvbnRyb2xzSG9zdDo6YXV0b21hdGljS2V5d29yZCgpCkBAIC0zNTgs
MTQgKzM1Niw2IEBAIFN0cmluZyBNZWRpYUNvbnRyb2xzSG9zdDo6Zm9ybWF0dGVkU3RyaW5nRm9y
RHVyYXRpb24oZG91YmxlIGR1cmF0aW9uSW5TZWNvbmRzKQogCiAjaWYgRU5BQkxFKE1FRElBX0NP
TlRST0xTX0NPTlRFWFRfTUVOVVMpCiAKLSNpZiAhZGVmaW5lZChNZWRpYUNvbnRyb2xzSG9zdEFk
ZGl0aW9uc19zaG93TWVkaWFDb250cm9sc0NvbnRleHRNZW51X01lbnVEYXRhKQotI2RlZmluZSBN
ZWRpYUNvbnRyb2xzSG9zdEFkZGl0aW9uc19zaG93TWVkaWFDb250cm9sc0NvbnRleHRNZW51X01l
bnVEYXRhCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKE1lZGlhQ29udHJvbHNIb3N0QWRkaXRpb25z
X3Nob3dNZWRpYUNvbnRyb2xzQ29udGV4dE1lbnVfTWVudURhdGFfc3dpdGNoT24pCi0jZGVmaW5l
IE1lZGlhQ29udHJvbHNIb3N0QWRkaXRpb25zX3Nob3dNZWRpYUNvbnRyb2xzQ29udGV4dE1lbnVf
TWVudURhdGFfc3dpdGNoT24KLSNlbmRpZgotCiAjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpICYm
IFVTRShBQ0NFU1NJQklMSVRZX0NPTlRFWFRfTUVOVVMpCiBjbGFzcyBNZWRpYUNvbnRyb2xzQ29u
dGV4dE1lbnVQcm92aWRlciBmaW5hbCA6IHB1YmxpYyBDb250ZXh0TWVudVByb3ZpZGVyIHsKIHB1
YmxpYzoKQEAgLTUwNiwxMyArNDk2LDIyIEBAIGJvb2wgTWVkaWFDb250cm9sc0hvc3Q6OnNob3dN
ZWRpYUNvbnRyb2xzQ29udGV4dE1lbnUoSFRNTEVsZW1lbnQmIHRhcmdldCwgU3RyaW5nCiAgICAg
ZW51bSBjbGFzcyBQaWN0dXJlSW5QaWN0dXJlVGFnIHsgSW5jbHVkZVBpY3R1cmVJblBpY3R1cmUg
fTsKICNlbmRpZiAvLyBFTkFCTEUoVklERU9fUFJFU0VOVEFUSU9OX01PREUpCiAKKyAgICBlbnVt
IGNsYXNzIFBsYXliYWNrU3BlZWQgeworICAgICAgICB4MF81LAorICAgICAgICB4MV8wLAorICAg
ICAgICB4MV8yNSwKKyAgICAgICAgeDFfNSwKKyAgICAgICAgeDJfMCwKKyAgICB9OworCiAgICAg
dXNpbmcgTWVudURhdGEgPSBWYXJpYW50PAogI2lmIEVOQUJMRShWSURFT19QUkVTRU5UQVRJT05f
TU9ERSkKICAgICAgICAgUGljdHVyZUluUGljdHVyZVRhZywKICNlbmRpZiAvLyBFTkFCTEUoVklE
RU9fUFJFU0VOVEFUSU9OX01PREUpCiAgICAgICAgIFJlZlB0cjxBdWRpb1RyYWNrPiwKLSAgICAg
ICAgUmVmUHRyPFRleHRUcmFjaz4KLSAgICAgICAgTWVkaWFDb250cm9sc0hvc3RBZGRpdGlvbnNf
c2hvd01lZGlhQ29udHJvbHNDb250ZXh0TWVudV9NZW51RGF0YQorICAgICAgICBSZWZQdHI8VGV4
dFRyYWNrPiwKKyAgICAgICAgUmVmUHRyPFZUVEN1ZT4sCisgICAgICAgIFBsYXliYWNrU3BlZWQK
ICAgICA+OwogICAgIEhhc2hNYXA8TWVudUl0ZW1JZGVudGlmaWVyLCBNZW51RGF0YT4gaWRNYXA7
CiAKQEAgLTU4Niw5ICs1ODUsNDUgQEAgYm9vbCBNZWRpYUNvbnRyb2xzSG9zdDo6c2hvd01lZGlh
Q29udHJvbHNDb250ZXh0TWVudShIVE1MRWxlbWVudCYgdGFyZ2V0LCBTdHJpbmcKICAgICAgICAg
fQogICAgIH0KIAotI2lmIGRlZmluZWQoTWVkaWFDb250cm9sc0hvc3RBZGRpdGlvbnNfc2hvd01l
ZGlhQ29udHJvbHNDb250ZXh0TWVudV9vcHRpb25zKQotICAgIE1lZGlhQ29udHJvbHNIb3N0QWRk
aXRpb25zX3Nob3dNZWRpYUNvbnRyb2xzQ29udGV4dE1lbnVfb3B0aW9ucwotI2VuZGlmCisgICAg
aWYgKG9wdGlvbnNKU09OT2JqZWN0LT5nZXRCb29sZWFuKCJpbmNsdWRlQ2hhcHRlcnMiX3MpLnZh
bHVlX29yKGZhbHNlKSkgeworICAgICAgICBpZiAoYXV0byogdGV4dFRyYWNrcyA9IG1lZGlhRWxl
bWVudC50ZXh0VHJhY2tzKCk7IHRleHRUcmFja3MgJiYgdGV4dFRyYWNrcy0+bGVuZ3RoKCkpIHsK
KyAgICAgICAgICAgIGF1dG8mIGNhcHRpb25QcmVmZXJlbmNlcyA9IHBhZ2UtPmdyb3VwKCkuY2Fw
dGlvblByZWZlcmVuY2VzKCk7CisKKyAgICAgICAgICAgIGZvciAoYXV0byYgdGV4dFRyYWNrIDog
Y2FwdGlvblByZWZlcmVuY2VzLnNvcnRlZFRyYWNrTGlzdEZvck1lbnUodGV4dFRyYWNrcywgeyBU
ZXh0VHJhY2s6OktpbmQ6OkNoYXB0ZXJzIH0pKSB7CisgICAgICAgICAgICAgICAgVmVjdG9yPE1l
bnVJdGVtPiBjaGFwdGVyTWVudUl0ZW1zOworCisgICAgICAgICAgICAgICAgaWYgKGF1dG8qIGN1
ZXMgPSB0ZXh0VHJhY2stPmN1ZXMoKSkgeworICAgICAgICAgICAgICAgICAgICBmb3IgKHVuc2ln
bmVkIGkgPSAwOyBpIDwgY3Vlcy0+bGVuZ3RoKCk7ICsraSkgeworICAgICAgICAgICAgICAgICAg
ICAgICAgYXV0byogY3VlID0gY3Vlcy0+aXRlbShpKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
IGlmICghaXM8VlRUQ3VlPihjdWUpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRp
bnVlOworCisgICAgICAgICAgICAgICAgICAgICAgICBhdXRvJiB2dHRDdWUgPSBkb3duY2FzdDxW
VFRDdWU+KCpjdWUpOworICAgICAgICAgICAgICAgICAgICAgICAgY2hhcHRlck1lbnVJdGVtcy5h
cHBlbmQoY3JlYXRlTWVudUl0ZW0obWFrZVJlZlB0cih2dHRDdWUpLCB2dHRDdWUudGV4dCgpKSk7
CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAg
ICAgICBpZiAoIWNoYXB0ZXJNZW51SXRlbXMuaXNFbXB0eSgpKSB7CisgICAgICAgICAgICAgICAg
ICAgIGl0ZW1zLmFwcGVuZChjcmVhdGVTdWJtZW51KGNhcHRpb25QcmVmZXJlbmNlcy5kaXNwbGF5
TmFtZUZvclRyYWNrKHRleHRUcmFjay5nZXQoKSksICJsaXN0LmJ1bGxldCJfcywgV1RGTW92ZShj
aGFwdGVyTWVudUl0ZW1zKSkpOworCisgICAgICAgICAgICAgICAgICAgIC8qIE9ubHkgc2hvdyB0
aGUgZmlyc3QgdmFsaWQgY2hhcHRlcnMgdHJhY2suICovCisgICAgICAgICAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0K
KworICAgIGlmIChvcHRpb25zSlNPTk9iamVjdC0+Z2V0Qm9vbGVhbigiaW5jbHVkZVBsYXliYWNr
UmF0ZXMiX3MpLnZhbHVlX29yKGZhbHNlKSkgeworICAgICAgICBhdXRvIHBsYXliYWNrUmF0ZSA9
IG1lZGlhRWxlbWVudC5wbGF5YmFja1JhdGUoKTsKKworICAgICAgICBpdGVtcy5hcHBlbmQoY3Jl
YXRlU3VibWVudShXRUJfVUlfU1RSSU5HX0tFWSgiUGxheWJhY2sgU3BlZWQiLCAiUGxheWJhY2sg
U3BlZWQgKE1lZGlhIENvbnRyb2xzIE1lbnUpIiwgIlBsYXliYWNrIFNwZWVkIG1lZGlhIGNvbnRy
b2xzIGNvbnRleHQgbWVudSB0aXRsZSIpLCAic3BlZWRvbWV0ZXIiX3MsIHsKKyAgICAgICAgICAg
IGNyZWF0ZU1lbnVJdGVtKFBsYXliYWNrU3BlZWQ6OngwXzUsIFdFQl9VSV9TVFJJTkdfS0VZKCIw
LjXDlyIsICIwLjXDlyAoTWVkaWEgQ29udHJvbHMgTWVudSBQbGF5YmFjayBTcGVlZCkiLCAiMC41
w5cgbWVkaWEgY29udHJvbHMgY29udGV4dCBtZW51IHBsYXliYWNrIHNwZWVkIGxhYmVsIiksIHBs
YXliYWNrUmF0ZSA9PSAwLjUpLAorICAgICAgICAgICAgY3JlYXRlTWVudUl0ZW0oUGxheWJhY2tT
cGVlZDo6eDFfMCwgV0VCX1VJX1NUUklOR19LRVkoIjHDlyIsICIxw5cgKE1lZGlhIENvbnRyb2xz
IE1lbnUgUGxheWJhY2sgU3BlZWQpIiwgIjHDlyBtZWRpYSBjb250cm9scyBjb250ZXh0IG1lbnUg
cGxheWJhY2sgc3BlZWQgbGFiZWwiKSwgcGxheWJhY2tSYXRlID09IDEuMCksCisgICAgICAgICAg
ICBjcmVhdGVNZW51SXRlbShQbGF5YmFja1NwZWVkOjp4MV8yNSwgV0VCX1VJX1NUUklOR19LRVko
IjEuMjXDlyIsICIxLjI1w5cgKE1lZGlhIENvbnRyb2xzIE1lbnUgUGxheWJhY2sgU3BlZWQpIiwg
IjEuMjXDlyBtZWRpYSBjb250cm9scyBjb250ZXh0IG1lbnUgcGxheWJhY2sgc3BlZWQgbGFiZWwi
KSwgcGxheWJhY2tSYXRlID09IDEuMjUpLAorICAgICAgICAgICAgY3JlYXRlTWVudUl0ZW0oUGxh
eWJhY2tTcGVlZDo6eDFfNSwgV0VCX1VJX1NUUklOR19LRVkoIjEuNcOXIiwgIjEuNcOXIChNZWRp
YSBDb250cm9scyBNZW51IFBsYXliYWNrIFNwZWVkKSIsICIxLjXDlyBtZWRpYSBjb250cm9scyBj
b250ZXh0IG1lbnUgcGxheWJhY2sgc3BlZWQgbGFiZWwiKSwgcGxheWJhY2tSYXRlID09IDEuNSks
CisgICAgICAgICAgICBjcmVhdGVNZW51SXRlbShQbGF5YmFja1NwZWVkOjp4Ml8wLCBXRUJfVUlf
U1RSSU5HX0tFWSgiMsOXIiwgIjLDlyAoTWVkaWEgQ29udHJvbHMgTWVudSBQbGF5YmFjayBTcGVl
ZCkiLCAiMsOXIG1lZGlhIGNvbnRyb2xzIGNvbnRleHQgbWVudSBwbGF5YmFjayBzcGVlZCBsYWJl
bCIpLCBwbGF5YmFja1JhdGUgPT0gMi4wKSwKKyAgICAgICAgfSkpOworICAgIH0KIAogI2lmIEVO
QUJMRShDT05URVhUX01FTlVTKSAmJiBVU0UoQUNDRVNTSUJJTElUWV9DT05URVhUX01FTlVTKQog
ICAgIGlmICgoaXRlbXMuc2l6ZSgpID09IDEgJiYgaXRlbXNbMF0udHlwZSgpID09IFN1Ym1lbnVU
eXBlKSB8fCBvcHRpb25zSlNPTk9iamVjdC0+Z2V0Qm9vbGVhbigicHJvbW90ZVN1Yk1lbnVzIl9z
KS52YWx1ZV9vcihmYWxzZSkpIHsKQEAgLTY0NSw5ICs2ODAsNDIgQEAgYm9vbCBNZWRpYUNvbnRy
b2xzSG9zdDo6c2hvd01lZGlhQ29udHJvbHNDb250ZXh0TWVudShIVE1MRWxlbWVudCYgdGFyZ2V0
LCBTdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICgqdGV4dFRyYWNrKS0+c2V0TW9kZShU
ZXh0VHJhY2s6Ok1vZGU6OkRpc2FibGVkKTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICAgbWVkaWFFbGVtZW50LnNldFNlbGVjdGVkVGV4dFRyYWNrKHNlbGVjdGVkVGV4dFRyYWNr
LmdldCgpKTsKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICBbJl0gKFJlZlB0cjxWVFRDdWU+
JiBjdWUpIHsKKyAgICAgICAgICAgICAgICBtZWRpYUVsZW1lbnQuc2V0Q3VycmVudFRpbWUoY3Vl
LT5zdGFydE1lZGlhVGltZSgpKTsKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICBbJl0gKFBs
YXliYWNrU3BlZWQgcGxheWJhY2tTcGVlZCkgeworICAgICAgICAgICAgICAgIHN3aXRjaCAocGxh
eWJhY2tTcGVlZCkgeworICAgICAgICAgICAgICAgIGNhc2UgUGxheWJhY2tTcGVlZDo6eDBfNToK
KyAgICAgICAgICAgICAgICAgICAgbWVkaWFFbGVtZW50LnNldERlZmF1bHRQbGF5YmFja1JhdGUo
MC41KTsKKyAgICAgICAgICAgICAgICAgICAgbWVkaWFFbGVtZW50LnNldFBsYXliYWNrUmF0ZSgw
LjUpOworICAgICAgICAgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgICAgICAgICBjYXNl
IFBsYXliYWNrU3BlZWQ6OngxXzA6CisgICAgICAgICAgICAgICAgICAgIG1lZGlhRWxlbWVudC5z
ZXREZWZhdWx0UGxheWJhY2tSYXRlKDEuMCk7CisgICAgICAgICAgICAgICAgICAgIG1lZGlhRWxl
bWVudC5zZXRQbGF5YmFja1JhdGUoMS4wKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwor
CisgICAgICAgICAgICAgICAgY2FzZSBQbGF5YmFja1NwZWVkOjp4MV8yNToKKyAgICAgICAgICAg
ICAgICAgICAgbWVkaWFFbGVtZW50LnNldERlZmF1bHRQbGF5YmFja1JhdGUoMS4yNSk7CisgICAg
ICAgICAgICAgICAgICAgIG1lZGlhRWxlbWVudC5zZXRQbGF5YmFja1JhdGUoMS4yNSk7CisgICAg
ICAgICAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAgICAgICAgIGNhc2UgUGxheWJhY2tT
cGVlZDo6eDFfNToKKyAgICAgICAgICAgICAgICAgICAgbWVkaWFFbGVtZW50LnNldERlZmF1bHRQ
bGF5YmFja1JhdGUoMS41KTsKKyAgICAgICAgICAgICAgICAgICAgbWVkaWFFbGVtZW50LnNldFBs
YXliYWNrUmF0ZSgxLjUpOworICAgICAgICAgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAg
ICAgICAgICBjYXNlIFBsYXliYWNrU3BlZWQ6OngyXzA6CisgICAgICAgICAgICAgICAgICAgIG1l
ZGlhRWxlbWVudC5zZXREZWZhdWx0UGxheWJhY2tSYXRlKDIuMCk7CisgICAgICAgICAgICAgICAg
ICAgIG1lZGlhRWxlbWVudC5zZXRQbGF5YmFja1JhdGUoMi4wKTsKKyAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgTWVkaWFDb250cm9sc0hv
c3RBZGRpdGlvbnNfc2hvd01lZGlhQ29udHJvbHNDb250ZXh0TWVudV9NZW51RGF0YV9zd2l0Y2hP
bgogICAgICAgICApOworCiAgICAgfTsKIAogICAgIGF1dG8gYm91bmRzID0gdGFyZ2V0LmJvdW5k
c0luUm9vdFZpZXdTcGFjZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
b2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEvb3ZlcmZsb3ctc3VwcG9ydC5qcyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhL292ZXJmbG93LXN1cHBv
cnQuanMKaW5kZXggOGQyMjE3MTljNmJkYTA2OGFhNTc2MTMzOTAyMTc0NGRkMzcxODA2Yy4uZDc3
ZGQwODBmMWVmMmFhYTU1NGJiMjUzYTQwNWUzZmY0MWFiZmFiOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEvb3ZlcmZsb3ctc3Vw
cG9ydC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9s
cy9tZWRpYS9vdmVyZmxvdy1zdXBwb3J0LmpzCkBAIC0zMCwxNiArMzAsMTIgQEAgY2xhc3MgT3Zl
cmZsb3dTdXBwb3J0IGV4dGVuZHMgTWVkaWFDb250cm9sbGVyU3VwcG9ydAogCiAgICAgZ2V0IG1l
ZGlhRXZlbnRzKCkKICAgICB7Ci0gICAgICAgIGxldCBtZWRpYUV2ZW50cyA9IFtdOwotICAgICAg
ICB3aW5kb3dbIldlYktpdEFkZGl0aW9ucy5PdmVyZmxvd1N1cHBvcnQucHJvdG90eXBlLmdldF9t
ZWRpYUV2ZW50cyJdPy4odGhpcywgbWVkaWFFdmVudHMpOwotICAgICAgICByZXR1cm4gbWVkaWFF
dmVudHM7CisgICAgICAgIHJldHVybiBbImxvYWRzdGFydCIsICJsb2FkZWRtZXRhZGF0YSJdOwog
ICAgIH0KIAogICAgIGdldCB0cmFja3NUb01vbml0b3IoKQogICAgIHsKLSAgICAgICAgbGV0IHRy
YWNrc1RvTW9uaXRvciA9IFtdOwotICAgICAgICB3aW5kb3dbIldlYktpdEFkZGl0aW9ucy5PdmVy
Zmxvd1N1cHBvcnQucHJvdG90eXBlLmdldF90cmFja3NUb01vbml0b3IiXT8uKHRoaXMsIHRyYWNr
c1RvTW9uaXRvcik7Ci0gICAgICAgIHJldHVybiB0cmFja3NUb01vbml0b3I7CisgICAgICAgIHJl
dHVybiBbdGhpcy5tZWRpYUNvbnRyb2xsZXIubWVkaWEudGV4dFRyYWNrc107CiAgICAgfQogCiAg
ICAgZ2V0IGNvbnRyb2woKQpAQCAtNTcsNyArNTMsMTkgQEAgY2xhc3MgT3ZlcmZsb3dTdXBwb3J0
IGV4dGVuZHMgTWVkaWFDb250cm9sbGVyU3VwcG9ydAogICAgICAgICB0aGlzLmNvbnRyb2wuZW5h
YmxlZCA9IHRoaXMubWVkaWFDb250cm9sbGVyLmNhblNob3dNZWRpYUNvbnRyb2xzQ29udGV4dE1l
bnU7CiAKICAgICAgICAgbGV0IGRlZmF1bHRDb250ZXh0TWVudU9wdGlvbnMgPSB7fTsKLSAgICAg
ICAgd2luZG93WyJXZWJLaXRBZGRpdGlvbnMuT3ZlcmZsb3dTdXBwb3J0LnByb3RvdHlwZS5zeW5j
Q29udHJvbCJdPy4odGhpcywgZGVmYXVsdENvbnRleHRNZW51T3B0aW9ucyk7CisKKyAgICAgICAg
aWYgKCF0aGlzLm1lZGlhQ29udHJvbGxlci5oaWRlUGxheWJhY2tSYXRlcyAmJiAoIXdpbmRvdy5N
ZWRpYVN0cmVhbSB8fCAhKHRoaXMubWVkaWFDb250cm9sbGVyLm1lZGlhLnNyY09iamVjdCBpbnN0
YW5jZW9mIE1lZGlhU3RyZWFtKSkpCisgICAgICAgICAgICBkZWZhdWx0Q29udGV4dE1lbnVPcHRp
b25zLmluY2x1ZGVQbGF5YmFja1JhdGVzID0gdHJ1ZTsKKworICAgICAgICBmb3IgKGxldCB0ZXh0
VHJhY2sgb2YgdGhpcy5tZWRpYUNvbnRyb2xsZXIubWVkaWEudGV4dFRyYWNrcykgeworICAgICAg
ICAgICAgaWYgKHRleHRUcmFjay5raW5kICE9PSAiY2hhcHRlcnMiKQorICAgICAgICAgICAgICAg
IGNvbnRpbnVlOworCisgICAgICAgICAgICBpZiAodGV4dFRyYWNrLm1vZGUgPT09ICJkaXNhYmxl
ZCIpCisgICAgICAgICAgICAgICAgdGV4dFRyYWNrLm1vZGUgPSAiaGlkZGVuIjsKKyAgICAgICAg
ICAgIGRlZmF1bHRDb250ZXh0TWVudU9wdGlvbnMuaW5jbHVkZUNoYXB0ZXJzID0gdHJ1ZTsKKyAg
ICAgICAgfQorCiAgICAgICAgIHRoaXMuY29udHJvbC5kZWZhdWx0Q29udGV4dE1lbnVPcHRpb25z
ID0gZGVmYXVsdENvbnRleHRNZW51T3B0aW9uczsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2VuLmxwcm9qL0xvY2FsaXphYmxlLnN0cmluZ3MgYi9Tb3VyY2UvV2ViQ29yZS9l
bi5scHJvai9Mb2NhbGl6YWJsZS5zdHJpbmdzCmluZGV4IGI3NDg1ZGE5ZWNmYzdlYWE1ZTM5OTM2
NjUzY2Q1ZDgwOTkyNGQ5N2QuLjkzNTNkNDdiM2JiNzNhYTQ5MWJiMzJkY2ZkM2M5YzQ2MzAzM2Ri
ZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VuLmxwcm9qL0xvY2FsaXphYmxlLnN0cmlu
Z3MKKysrIGIvU291cmNlL1dlYkNvcmUvZW4ubHByb2ovTG9jYWxpemFibGUuc3RyaW5ncwpAQCAt
OTcsMTIgKzk3LDI3IEBACiAvKiBQcmVzZW50IHRoZSBlbGVtZW50IDxzZWxlY3QgbXVsdGlwbGU+
IHdoZW4gbm8gPG9wdGlvbj4gaXRlbXMgYXJlIHNlbGVjdGVkIChpT1Mgb25seSkgKi8KICIwIEl0
ZW1zIiA9ICIwIEl0ZW1zIjsKIAorLyogMC41w5cgbWVkaWEgY29udHJvbHMgY29udGV4dCBtZW51
IHBsYXliYWNrIHNwZWVkIGxhYmVsICovCisiMC41w5cgKE1lZGlhIENvbnRyb2xzIE1lbnUgUGxh
eWJhY2sgU3BlZWQpIiA9ICIwLjXDlyI7CisKIC8qIFByZXNlbnQgdGhlIGVsZW1lbnQgPHNlbGVj
dCBtdWx0aXBsZT4gd2hlbiBhIHNpbmdsZSA8b3B0aW9uPiBpcyBzZWxlY3RlZCAoaU9TIG9ubHkp
ICovCiAiMSBJdGVtIiA9ICIxIEl0ZW0iOwogCisvKiAxw5cgbWVkaWEgY29udHJvbHMgY29udGV4
dCBtZW51IHBsYXliYWNrIHNwZWVkIGxhYmVsICovCisiMcOXIChNZWRpYSBDb250cm9scyBNZW51
IFBsYXliYWNrIFNwZWVkKSIgPSAiMcOXIjsKKworLyogMS4yNcOXIG1lZGlhIGNvbnRyb2xzIGNv
bnRleHQgbWVudSBwbGF5YmFjayBzcGVlZCBsYWJlbCAqLworIjEuMjXDlyAoTWVkaWEgQ29udHJv
bHMgTWVudSBQbGF5YmFjayBTcGVlZCkiID0gIjEuMjXDlyI7CisKKy8qIDEuNcOXIG1lZGlhIGNv
bnRyb2xzIGNvbnRleHQgbWVudSBwbGF5YmFjayBzcGVlZCBsYWJlbCAqLworIjEuNcOXIChNZWRp
YSBDb250cm9scyBNZW51IFBsYXliYWNrIFNwZWVkKSIgPSAiMS41w5ciOworCiAvKiBPcHRpb24g
aW4gc2VnbWVudGVkIGNvbnRyb2wgZm9yIGNob29zaW5nIGxpc3QgdHlwZSBpbiB0ZXh0IGVkaXRp
bmcgKi8KICIxLiAyLiAzLiIgPSAiMS4gMi4gMy4iOwogCisvKiAyw5cgbWVkaWEgY29udHJvbHMg
Y29udGV4dCBtZW51IHBsYXliYWNrIHNwZWVkIGxhYmVsICovCisiMsOXIChNZWRpYSBDb250cm9s
cyBNZW51IFBsYXliYWNrIFNwZWVkKSIgPSAiMsOXIjsKKwogLyogTWVudSBpdGVtIHRpdGxlIGZv
ciBLRVlHRU4gcG9wLXVwIG1lbnUgKi8KICIyMDQ4IChIaWdoIEdyYWRlKSIgPSAiMjA0OCAoSGln
aCBHcmFkZSkiOwogCkBAIC03MDMsNiArNzE4LDkgQEAKIC8qIE1lZGlhIFBsYXkgY29udGV4dCBt
ZW51IGl0ZW0gKi8KICJQbGF5IiA9ICJQbGF5IjsKIAorLyogUGxheWJhY2sgU3BlZWQgbWVkaWEg
Y29udHJvbHMgY29udGV4dCBtZW51IHRpdGxlICovCisiUGxheWJhY2sgU3BlZWQgKE1lZGlhIENv
bnRyb2xzIE1lbnUpIiA9ICJQbGF5YmFjayBTcGVlZCI7CisKIC8qIGFjY2Vzc2liaWxpdHkgaGVs
cCB0ZXh0IGZvciBlbnRlciBmdWxsIHNjcmVlbiBidXR0b24gKi8KICJQbGF5IG1vdmllIGluIGZ1
bGwgc2NyZWVuIG1vZGUiID0gIlBsYXkgbW92aWUgaW4gZnVsbCBzY3JlZW4gbW9kZSI7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IDFhNGQzMzRkNjgwZTY2
MDVlNDAzYzFhMmY0YmMwNTBjMjY3MDZjZmMuLjNkODk4Y2EzMzZmNTY3ZDExZjA1ZmIyZGZmNzNh
MTQ5N2MzNjkwNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApA
QCAtNzUwNCw2ICs3NTA0LDExIEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6c2V0TWVkaWFDb250
cm9sc01heGltdW1SaWdodENvbnRhaW5lckJ1dHRvbkNvdW50T3ZlcnJpZGUoCiAgICAgc2V0Q29u
dHJvbGxlckpTUHJvcGVydHkoIm1heGltdW1SaWdodENvbnRhaW5lckJ1dHRvbkNvdW50T3ZlcnJp
ZGUiLCBKU0M6OmpzTnVtYmVyKGNvdW50KSk7CiB9CiAKK3ZvaWQgSFRNTE1lZGlhRWxlbWVudDo6
c2V0TWVkaWFDb250cm9sc0hpZGVQbGF5YmFja1JhdGVzKGJvb2wgaGlkZVBsYXliYWNrUmF0ZXMp
Cit7CisgICAgc2V0Q29udHJvbGxlckpTUHJvcGVydHkoImhpZGVQbGF5YmFja1JhdGVzIiwgSlND
Ojpqc0Jvb2xlYW4oaGlkZVBsYXliYWNrUmF0ZXMpKTsKK30KKwogdW5zaWduZWQgbG9uZyBsb25n
IEhUTUxNZWRpYUVsZW1lbnQ6OmZpbGVTaXplKCkgY29uc3QKIHsKICAgICBpZiAobV9wbGF5ZXIp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCmluZGV4IDgwY2Y2OGU2YTRmMzBm
Yzc3YTM0YzU0ZWNmMDY4ZTIyMGJlMjVmNjYuLmI4MjZjYmI3ZDNiMTk4NDg5YzViNGVhZWVmOGYx
YzVkYzAzZjYwMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCkBAIC00
OTQsNiArNDk0LDcgQEAgcHVibGljOgogICAgIHZvaWQgdXNlckludGVyZmFjZUxheW91dERpcmVj
dGlvbkNoYW5nZWQoKTsKICAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgZ2V0Q3VycmVudE1lZGlh
Q29udHJvbHNTdGF0dXMoKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldE1lZGlhQ29udHJv
bHNNYXhpbXVtUmlnaHRDb250YWluZXJCdXR0b25Db3VudE92ZXJyaWRlKHNpemVfdCk7CisgICAg
V0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRNZWRpYUNvbnRyb2xzSGlkZVBsYXliYWNrUmF0ZXMoYm9v
bCk7CiAgICAgTWVkaWFDb250cm9sc0hvc3QqIG1lZGlhQ29udHJvbHNIb3N0KCkgeyByZXR1cm4g
bV9tZWRpYUNvbnRyb2xzSG9zdC5nZXQoKTsgfQogCiAgICAgYm9vbCBpc0Rpc2FibGluZ1NsZWVw
KCkgY29uc3QgeyByZXR1cm4gbV9zbGVlcERpc2FibGVyLmdldCgpOyB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUaGVtZS5oCmluZGV4IGVkNjc4ODgxYzcwZmQ3NzA5OWNlZTk1OWJmZDA0
NWUwNGQ3MjdiNzIuLmJkODU1MmQwMThjODc5YzBlNjFkNmQ5NzMzZTA1ZmMwZTkwYmY5ZDQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCkBAIC04Niw3ICs4Niw3IEBAIHB1
YmxpYzoKICNpZiBFTkFCTEUoVklERU8pCiAgICAgdmlydHVhbCBTdHJpbmcgbWVkaWFDb250cm9s
c1N0eWxlU2hlZXQoKSB7IHJldHVybiBTdHJpbmcoKTsgfQogICAgIHZpcnR1YWwgU3RyaW5nIGV4
dHJhTWVkaWFDb250cm9sc1N0eWxlU2hlZXQoKSB7IHJldHVybiBTdHJpbmcoKTsgfQotICAgIHZp
cnR1YWwgVmVjdG9yPFN0cmluZywgMz4gbWVkaWFDb250cm9sc1NjcmlwdHMoKSB7IHJldHVybiB7
IH07IH0KKyAgICB2aXJ0dWFsIFZlY3RvcjxTdHJpbmcsIDI+IG1lZGlhQ29udHJvbHNTY3JpcHRz
KCkgeyByZXR1cm4geyB9OyB9CiAjaWYgRU5BQkxFKE1PREVSTl9NRURJQV9DT05UUk9MUykKICAg
ICB2aXJ0dWFsIFN0cmluZyBtZWRpYUNvbnRyb2xzQmFzZTY0U3RyaW5nRm9ySWNvbk5hbWVBbmRU
eXBlKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYpIHsgcmV0dXJuIFN0cmluZygpOyB9CiAg
ICAgdmlydHVhbCBTdHJpbmcgbWVkaWFDb250cm9sc0Zvcm1hdHRlZFN0cmluZ0ZvckR1cmF0aW9u
KGRvdWJsZSkgeyByZXR1cm4gU3RyaW5nKCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUaGVtZUFkd2FpdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lQWR3YWl0YS5jcHAKaW5kZXggMDZmYjdkMWU2MTRhNTg0MjJiNDI0NWRj
YzJiMTlmMmE2MTdjNTVhZC4uZGYwNzg0ZTFjMTQ2MTMyNGJmZTc1NThjZGQ0M2JiMjkxYWQyODEw
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQWR3YWl0
YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQWR3YWl0YS5j
cHAKQEAgLTE3Miw3ICsxNzIsNyBAQCBTdHJpbmcgUmVuZGVyVGhlbWVBZHdhaXRhOjpleHRyYU1l
ZGlhQ29udHJvbHNTdHlsZVNoZWV0KCkKICAgICByZXR1cm4gU3RyaW5nSW1wbDo6Y3JlYXRlV2l0
aG91dENvcHlpbmcobWVkaWFDb250cm9sc0Fkd2FpdGFVc2VyQWdlbnRTdHlsZVNoZWV0LCBzaXpl
b2YobWVkaWFDb250cm9sc0Fkd2FpdGFVc2VyQWdlbnRTdHlsZVNoZWV0KSk7CiB9CiAKLVZlY3Rv
cjxTdHJpbmcsIDM+IFJlbmRlclRoZW1lQWR3YWl0YTo6bWVkaWFDb250cm9sc1NjcmlwdHMoKQor
VmVjdG9yPFN0cmluZywgMj4gUmVuZGVyVGhlbWVBZHdhaXRhOjptZWRpYUNvbnRyb2xzU2NyaXB0
cygpCiB7CiAgICAgcmV0dXJuIHsgU3RyaW5nSW1wbDo6Y3JlYXRlV2l0aG91dENvcHlpbmcobWVk
aWFDb250cm9sc0Fkd2FpdGFKYXZhU2NyaXB0LCBzaXplb2YobWVkaWFDb250cm9sc0Fkd2FpdGFK
YXZhU2NyaXB0KSkgfTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZUFkd2FpdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVt
ZUFkd2FpdGEuaAppbmRleCBlMDAyODY4ZWU3Zjc1ZDhmYzcwODBlZTYzZDgxZjMwYTA3YWM2NWFm
Li43ODk5ZWIyMzVkNWEwNGNhYjA3YWU3YjU3MGU2MTg0YjMxMTIxMGZjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVBZHdhaXRhLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQWR3YWl0YS5oCkBAIC0zNyw3ICszNyw3IEBA
IHByaXZhdGU6CiAgICAgU3RyaW5nIGV4dHJhRGVmYXVsdFN0eWxlU2hlZXQoKSBmaW5hbDsKICNp
ZiBFTkFCTEUoVklERU8pCiAgICAgU3RyaW5nIGV4dHJhTWVkaWFDb250cm9sc1N0eWxlU2hlZXQo
KSBmaW5hbDsKLSAgICBWZWN0b3I8U3RyaW5nLCAzPiBtZWRpYUNvbnRyb2xzU2NyaXB0cygpIGZp
bmFsOworICAgIFZlY3RvcjxTdHJpbmcsIDI+IG1lZGlhQ29udHJvbHNTY3JpcHRzKCkgZmluYWw7
CiAjZW5kaWYKIAogICAgIGJvb2wgc3VwcG9ydHNIb3Zlcihjb25zdCBSZW5kZXJTdHlsZSYpIGNv
bnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUaGVtZUNvY29hLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGhlbWVDb2NvYS5oCmluZGV4IDlmMTY1MjhmZmU3MzU5YzJmNjhmMDJmMTRkZDhkY2Y5OTJm
NmIyYjcuLjQwZjU4YjIxYjBmOWI1NjNlYWZhZGNlMmNlOGM2Mzk3MjgwNjQ0NTcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNvY29hLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ29jb2EuaApAQCAtNTMsMTMgKzUzLDEy
IEBAIHByaXZhdGU6CiAKICNpZiBFTkFCTEUoVklERU8pICYmIEVOQUJMRShNT0RFUk5fTUVESUFf
Q09OVFJPTFMpCiAgICAgU3RyaW5nIG1lZGlhQ29udHJvbHNTdHlsZVNoZWV0KCkgb3ZlcnJpZGU7
Ci0gICAgVmVjdG9yPFN0cmluZywgMz4gbWVkaWFDb250cm9sc1NjcmlwdHMoKSBvdmVycmlkZTsK
KyAgICBWZWN0b3I8U3RyaW5nLCAyPiBtZWRpYUNvbnRyb2xzU2NyaXB0cygpIG92ZXJyaWRlOwog
ICAgIFN0cmluZyBtZWRpYUNvbnRyb2xzQmFzZTY0U3RyaW5nRm9ySWNvbk5hbWVBbmRUeXBlKGNv
bnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYpIG92ZXJyaWRlOwogICAgIFN0cmluZyBtZWRpYUNv
bnRyb2xzRm9ybWF0dGVkU3RyaW5nRm9yRHVyYXRpb24oZG91YmxlKSBvdmVycmlkZTsKIAogICAg
IFN0cmluZyBtX21lZGlhQ29udHJvbHNMb2NhbGl6ZWRTdHJpbmdzU2NyaXB0OwogICAgIFN0cmlu
ZyBtX21lZGlhQ29udHJvbHNTY3JpcHQ7Ci0gICAgU3RyaW5nIG1fbWVkaWFDb250cm9sc0FkZGl0
aW9uYWxTY3JpcHQ7CiAgICAgU3RyaW5nIG1fbWVkaWFDb250cm9sc1N0eWxlU2hlZXQ7CiAgICAg
UmV0YWluUHRyPE5TRGF0ZUNvbXBvbmVudHNGb3JtYXR0ZXI+IG1fZHVyYXRpb25Gb3JtYXR0ZXI7
CiAjZW5kaWYgLy8gRU5BQkxFKFZJREVPKSAmJiBFTkFCTEUoTU9ERVJOX01FRElBX0NPTlRST0xT
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ29jb2Eu
bW0gYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDb2NvYS5tbQppbmRleCA5
ZTIwOGRkNGU2MjU4NTMwODljYzAwMjBmNWY0YzQ2MWJiNjk5MThkLi45M2EyODk0MTg3MjFlMWYw
NzhhMmMzMzgyMDUyOTdiODYwMTE3YWMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGhlbWVDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGhlbWVDb2NvYS5tbQpAQCAtNTAsMTAgKzUwLDYgQEAKICNpbXBvcnQgPHBhbC9jb2Nv
YS9QYXNzS2l0U29mdExpbmsuaD4KICNlbmRpZgogCi0jaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NE
SykKLSNpbmNsdWRlIDxXZWJLaXRBZGRpdGlvbnMvUmVuZGVyVGhlbWVDb2NvYUFkZGl0aW9ucy5j
cHA+Ci0jZW5kaWYKLQogQGludGVyZmFjZSBXZWJDb3JlUmVuZGVyVGhlbWVCdW5kbGUgOiBOU09i
amVjdAogQGVuZAogCkBAIC03Miw3ICs2OCw2IEBAIHZvaWQgUmVuZGVyVGhlbWVDb2NvYTo6cHVy
Z2VDYWNoZXMoKQogI2lmIEVOQUJMRShWSURFTykgJiYgRU5BQkxFKE1PREVSTl9NRURJQV9DT05U
Uk9MUykKICAgICBtX21lZGlhQ29udHJvbHNMb2NhbGl6ZWRTdHJpbmdzU2NyaXB0LmNsZWFySW1w
bElmTm90U2hhcmVkKCk7CiAgICAgbV9tZWRpYUNvbnRyb2xzU2NyaXB0LmNsZWFySW1wbElmTm90
U2hhcmVkKCk7Ci0gICAgbV9tZWRpYUNvbnRyb2xzQWRkaXRpb25hbFNjcmlwdC5jbGVhckltcGxJ
Zk5vdFNoYXJlZCgpOwogICAgIG1fbWVkaWFDb250cm9sc1N0eWxlU2hlZXQuY2xlYXJJbXBsSWZO
b3RTaGFyZWQoKTsKICNlbmRpZiAvLyBFTkFCTEUoVklERU8pICYmIEVOQUJMRShNT0RFUk5fTUVE
SUFfQ09OVFJPTFMpCiAKQEAgLTE4OCw3ICsxODMsNyBAQCBTdHJpbmcgUmVuZGVyVGhlbWVDb2Nv
YTo6bWVkaWFDb250cm9sc1N0eWxlU2hlZXQoKQogICAgIHJldHVybiBtX21lZGlhQ29udHJvbHNT
dHlsZVNoZWV0OwogfQogCi1WZWN0b3I8U3RyaW5nLCAzPiBSZW5kZXJUaGVtZUNvY29hOjptZWRp
YUNvbnRyb2xzU2NyaXB0cygpCitWZWN0b3I8U3RyaW5nLCAyPiBSZW5kZXJUaGVtZUNvY29hOjpt
ZWRpYUNvbnRyb2xzU2NyaXB0cygpCiB7CiAgICAgLy8gRklYTUU6IExvY2FsaXplZCBzdHJpbmdz
IGFyZSBub3Qgd29ydGggaGF2aW5nIGEgc2NyaXB0LiBXZSBzaG91bGQgbWFrZSBpdCBKU09OIGRh
dGEgZXRjLiBpbnN0ZWFkLgogICAgIGlmIChtX21lZGlhQ29udHJvbHNMb2NhbGl6ZWRTdHJpbmdz
U2NyaXB0LmlzRW1wdHkoKSkgewpAQCAtMTk5LDE1ICsxOTQsOSBAQCBWZWN0b3I8U3RyaW5nLCAz
PiBSZW5kZXJUaGVtZUNvY29hOjptZWRpYUNvbnRyb2xzU2NyaXB0cygpCiAgICAgaWYgKG1fbWVk
aWFDb250cm9sc1NjcmlwdC5pc0VtcHR5KCkpCiAgICAgICAgIG1fbWVkaWFDb250cm9sc1Njcmlw
dCA9IFN0cmluZ0ltcGw6OmNyZWF0ZVdpdGhvdXRDb3B5aW5nKE1vZGVybk1lZGlhQ29udHJvbHNK
YXZhU2NyaXB0LCBzaXplb2YoTW9kZXJuTWVkaWFDb250cm9sc0phdmFTY3JpcHQpKTsKIAotI2lm
IGRlZmluZWQoUmVuZGVyVGhlbWVDb2NvYUFkZGl0aW9uc19tZWRpYUNvbnRyb2xzQWRkaXRpb25h
bFNjcmlwdCkKLSAgICBpZiAobV9tZWRpYUNvbnRyb2xzQWRkaXRpb25hbFNjcmlwdC5pc0VtcHR5
KCkpCi0gICAgICAgIG1fbWVkaWFDb250cm9sc0FkZGl0aW9uYWxTY3JpcHQgPSBTdHJpbmcoUmVu
ZGVyVGhlbWVDb2NvYUFkZGl0aW9uc19tZWRpYUNvbnRyb2xzQWRkaXRpb25hbFNjcmlwdCk7Ci0j
ZW5kaWYKLQogICAgIHJldHVybiB7CiAgICAgICAgIG1fbWVkaWFDb250cm9sc0xvY2FsaXplZFN0
cmluZ3NTY3JpcHQsCiAgICAgICAgIG1fbWVkaWFDb250cm9sc1NjcmlwdCwKLSAgICAgICAgbV9t
ZWRpYUNvbnRyb2xzQWRkaXRpb25hbFNjcmlwdCwKICAgICB9OwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVXaW4uY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lV2luLmNwcAppbmRleCBhYjg3YWU4NWU0OWRmYjVmMmQ1
NjVlMmY5MjljNmU1N2FiYjkxNTIyLi5iNWYyMmQ4OWQxZjkzNjgwNzJhZjNiZWI4N2JmMDJiNzEx
ZjI3NDQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVX
aW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVdpbi5jcHAK
QEAgLTEwNzksNyArMTA3OSw3IEBAIFN0cmluZyBSZW5kZXJUaGVtZVdpbjo6bWVkaWFDb250cm9s
c1N0eWxlU2hlZXQoKQogI2VuZGlmCiB9CiAKLVZlY3RvcjxTdHJpbmcsIDM+IFJlbmRlclRoZW1l
V2luOjptZWRpYUNvbnRyb2xzU2NyaXB0cygpCitWZWN0b3I8U3RyaW5nLCAyPiBSZW5kZXJUaGVt
ZVdpbjo6bWVkaWFDb250cm9sc1NjcmlwdHMoKQogewogI2lmIEVOQUJMRShNRURJQV9DT05UUk9M
U19TQ1JJUFQpCiAgICAgaWYgKG1fbWVkaWFDb250cm9sc1NjcmlwdC5pc0VtcHR5KCkpIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVdpbi5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lV2luLmgKaW5kZXggNmQxN2FmZDgzYWI2
M2ZkYWZjOGZhMTg4MTNjYjMzNzM3YzVhMTIwOS4uYzgxYjUwYTMyYTI5M2ViNjdiMGIyNjI3MDNl
MTBlNTAzZTg2ZDgyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRoZW1lV2luLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lV2lu
LmgKQEAgLTEyMSw3ICsxMjEsNyBAQCBwdWJsaWM6CiAKICNpZiBFTkFCTEUoVklERU8pCiAgICAg
U3RyaW5nIG1lZGlhQ29udHJvbHNTdHlsZVNoZWV0KCkgb3ZlcnJpZGU7Ci0gICAgVmVjdG9yPFN0
cmluZywgMz4gbWVkaWFDb250cm9sc1NjcmlwdHMoKSBvdmVycmlkZTsKKyAgICBWZWN0b3I8U3Ry
aW5nLCAyPiBtZWRpYUNvbnRyb2xzU2NyaXB0cygpIG92ZXJyaWRlOwogI2VuZGlmCiAKICAgICBJ
bnRTaXplIG1ldGVyU2l6ZUZvckJvdW5kcyhjb25zdCBSZW5kZXJNZXRlciYsIGNvbnN0IEludFJl
Y3QmKSBjb25zdCBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRl
eCBiMDBhYjRlYTkwOTE0NzY3YTRjNjMwZmUxNWI0YzU1OGMzOGFkMjZlLi40OGVjMmQ1OTA4MzU0
ODllZTNkZDdlNzAwY2Y4NzljMDRhN2Q3NjhhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuY3BwCkBAIC00ODIyLDYgKzQ4MjIsMTEgQEAgdm9pZCBJbnRlcm5hbHM6OnNldE1lZGlhQ29u
dHJvbHNNYXhpbXVtUmlnaHRDb250YWluZXJCdXR0b25Db3VudE92ZXJyaWRlKEhUTUxNZWQKICAg
ICBtZWRpYUVsZW1lbnQuc2V0TWVkaWFDb250cm9sc01heGltdW1SaWdodENvbnRhaW5lckJ1dHRv
bkNvdW50T3ZlcnJpZGUoY291bnQpOwogfQogCit2b2lkIEludGVybmFsczo6c2V0TWVkaWFDb250
cm9sc0hpZGVQbGF5YmFja1JhdGVzKEhUTUxNZWRpYUVsZW1lbnQmIG1lZGlhRWxlbWVudCwgYm9v
bCBoaWRlUGxheWJhY2tSYXRlcykKK3sKKyAgICBtZWRpYUVsZW1lbnQuc2V0TWVkaWFDb250cm9s
c0hpZGVQbGF5YmFja1JhdGVzKGhpZGVQbGF5YmFja1JhdGVzKTsKK30KKwogI2VuZGlmIC8vIEVO
QUJMRShWSURFTykKIAogI2lmICFQTEFURk9STShDT0NPQSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5oCmluZGV4IGRkMDI1NDc1ZmM5ZWVkM2M2OWY4MzEyNzA4ZDAxYWEwODhiNzIzNjQuLjVh
NWU4MTJmZGY2NjVhMGNiNzdjYmI3NmNjMjE1YmZjNTY1NjY0Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuaApAQCAtNzUyLDYgKzc1Miw3IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoVklE
RU8pCiAgICAgU3RyaW5nIGdldEN1cnJlbnRNZWRpYUNvbnRyb2xzU3RhdHVzRm9yRWxlbWVudChI
VE1MTWVkaWFFbGVtZW50Jik7CiAgICAgdm9pZCBzZXRNZWRpYUNvbnRyb2xzTWF4aW11bVJpZ2h0
Q29udGFpbmVyQnV0dG9uQ291bnRPdmVycmlkZShIVE1MTWVkaWFFbGVtZW50Jiwgc2l6ZV90KTsK
KyAgICB2b2lkIHNldE1lZGlhQ29udHJvbHNIaWRlUGxheWJhY2tSYXRlcyhIVE1MTWVkaWFFbGVt
ZW50JiwgYm9vbCk7CiAjZW5kaWYgLy8gRU5BQkxFKFZJREVPKQogCiAgICAgU3RyaW5nIHVzZXJW
aXNpYmxlU3RyaW5nKGNvbnN0IERPTVVSTCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
aWRsCmluZGV4IDM5ODAzMDIzOGJiOGEwMDQ5YTQ3ZjgxMWMxNDI5NWM4OWQ2ZGMwNjQuLjE1MTlh
MzA2NTczZmMxYjgwMWRjZGNmNzRhZGZkODg3MGRlNzhiNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5pZGwKQEAgLTc4NSw2ICs3ODUsNyBAQCBlbnVtIFRyZWVUeXBlIHsKIAogICAg
IFtDb25kaXRpb25hbD1WSURFT10gRE9NU3RyaW5nIGdldEN1cnJlbnRNZWRpYUNvbnRyb2xzU3Rh
dHVzRm9yRWxlbWVudChIVE1MTWVkaWFFbGVtZW50IGVsZW1lbnQpOwogICAgIFtDb25kaXRpb25h
bD1WSURFT10gdW5kZWZpbmVkIHNldE1lZGlhQ29udHJvbHNNYXhpbXVtUmlnaHRDb250YWluZXJC
dXR0b25Db3VudE92ZXJyaWRlKEhUTUxNZWRpYUVsZW1lbnQgZWxlbWVudCwgdW5zaWduZWQgbG9u
ZyBjb3VudCk7CisgICAgW0NvbmRpdGlvbmFsPVZJREVPXSB1bmRlZmluZWQgc2V0TWVkaWFDb250
cm9sc0hpZGVQbGF5YmFja1JhdGVzKEhUTUxNZWRpYUVsZW1lbnQgZWxlbWVudCwgYm9vbGVhbiBo
aWRlUGxheWJhY2tSYXRlcyk7CiAKICAgICBET01TdHJpbmcgdXNlclZpc2libGVTdHJpbmcoRE9N
VVJMIHVybCk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCAyZjhhY2IxZTE2MjI1OWY3ZmZjMGE3MDNhYmJkNDZmMjU4ZmM3
ODJhLi42ZTVmN2VkZmI2Yzc1ZmY4NzBlYjFhYTU3NjBhODk5OTAwY2JhODhmIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjEgQEAKKzIwMjEtMDYtMDcgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29t
PgorCisgICAgICAgIFtNb2Rlcm4gTWVkaWEgQ29udHJvbHNdIHVwc3RyZWFtIG5ldyBmZWF0dXJl
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2NzM2
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83ODk1NzQ2ND4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIG1lZGlhL21vZGVybi1tZWRpYS1jb250cm9s
cy9vdmVyZmxvdy1idXR0b24vb3ZlcmZsb3ctYnV0dG9uLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IG1lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9vdmVyZmxvdy1idXR0b24vb3ZlcmZsb3ctYnV0
dG9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogbWVkaWEvbW9kZXJuLW1lZGlhLWNv
bnRyb2xzL292ZXJmbG93LXN1cHBvcnQvY2hhcHRlcnMuaHRtbDogQWRkZWQuCisgICAgICAgICog
bWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL292ZXJmbG93LXN1cHBvcnQvY2hhcHRlcnMtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBtZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMv
b3ZlcmZsb3ctc3VwcG9ydC9wbGF5YmFjay1zcGVlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBt
ZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvb3ZlcmZsb3ctc3VwcG9ydC9wbGF5YmFjay1zcGVl
ZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjEtMDYtMDcg
IEltYW5vbCBGZXJuYW5kZXogIDxpZmVybmFuZGV6QGlnYWxpYS5jb20+CiAKICAgICAgICAgVXNl
IDNEIHBvaW50cyB0byBtYXAgdGhlIFdlYlhSQm91bmRlZFJlZmVyZW5jZVNwYWNlIGJvdW5kcyB0
cmFuc2Zvcm0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlv
dXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDk3NzQ4MmIyNDBkZTkxMzQzYWNjN2I4ODNi
YjQzYzRmNTExN2I4MDAuLjQ3ZDdmMDUxODMwOTk4MGJjODVjNWUzYzM4OGUyMGE0MGQ2ZjY4NGQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVz
dHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNjUsNiArNjUsNyBAQCBmYXN0L3Njcm9sbGluZy9pcGFk
IFsgU2tpcCBdCiBmYXN0L3RleHQvbWFjIFsgU2tpcCBdCiBzY3JvbGxpbmdjb29yZGluYXRvciBb
IFNraXAgXQogbWVkaWEvaW9zIFsgU2tpcCBdCittZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMv
b3ZlcmZsb3ctc3VwcG9ydCBbIFNraXAgXQogbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL3Ry
YWNrcy1zdXBwb3J0IFsgU2tpcCBdCiBmYXN0L3RleHQtYXV0b3NpemluZyBbIFNraXAgXQogZmFz
dC9jc3MvdmFyaWFibGVzL2Vudi9pb3MgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9vdmVyZmxvdy1idXR0b24vb3ZlcmZsb3ctYnV0
dG9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9s
cy9vdmVyZmxvdy1idXR0b24vb3ZlcmZsb3ctYnV0dG9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5kNDVhMmViYTY3NjNiYzkzZWI1Y2UzMDIzMDlhZmM0ZjliODAwNjM3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL292ZXJmbG93LWJ1
dHRvbi9vdmVyZmxvdy1idXR0b24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTQgQEAKK1Rlc3Rp
bmcgdGhlIE92ZXJmbG93QnV0dG9uIGNsYXNzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKKworUEFTUyBvdmVyZmxvd0J1dHRvbi5lbGVtZW50LmxvY2FsTmFtZSBpcyAiYnV0dG9uIgor
UEFTUyBvdmVyZmxvd0J1dHRvbi5lbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygib3ZlcmZsb3ci
KSBpcyB0cnVlCitQQVNTIG92ZXJmbG93QnV0dG9uLmljb25OYW1lIGlzIEljb25zLk92ZXJmbG93
CitQQVNTIG92ZXJmbG93QnV0dG9uLmltYWdlLmVsZW1lbnQuc3R5bGUud2Via2l0TWFza0ltYWdl
LmluY2x1ZGVzKCJtYWNPUy9PdmVyZmxvdy5zdmciKSBiZWNhbWUgdHJ1ZQorUEFTUyBpT1NPdmVy
Zmxvd0J1dHRvbi5pbWFnZS5lbGVtZW50LnN0eWxlLndlYmtpdE1hc2tJbWFnZS5pbmNsdWRlcygi
aU9TL092ZXJmbG93LnN2ZyIpIGJlY2FtZSB0cnVlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEv
bW9kZXJuLW1lZGlhLWNvbnRyb2xzL292ZXJmbG93LWJ1dHRvbi9vdmVyZmxvdy1idXR0b24uaHRt
bCBiL0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9vdmVyZmxvdy1idXR0
b24vb3ZlcmZsb3ctYnV0dG9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjQ1NmJmMDI2MGM3ZDk4MmEzMGMy
ODMxNmQ1ZmQ0ZThiNjE4MTM3MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL21lZGlh
L21vZGVybi1tZWRpYS1jb250cm9scy9vdmVyZmxvdy1idXR0b24vb3ZlcmZsb3ctYnV0dG9uLmh0
bWwKQEAgLTAsMCArMSwyNSBAQAorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL21lZGlhLWNv
bnRyb2xzLWxvYWRlci5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvbWVkaWEtY29udHJvbHMtdXRpbHMuanMiIHR5cGU9InRleHQv
amF2YXNjcmlwdCI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0Ij4KKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCitkZXNjcmlwdGlvbigiVGVz
dGluZyB0aGUgPGNvZGU+T3ZlcmZsb3dCdXR0b248L2NvZGU+IGNsYXNzLiIpOworCitjb25zdCBv
dmVyZmxvd0J1dHRvbiA9IG5ldyBPdmVyZmxvd0J1dHRvbih7IGxheW91dFRyYWl0czogTGF5b3V0
VHJhaXRzLm1hY09TIH0pOworCitzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm92ZXJmbG93QnV0dG9u
LmVsZW1lbnQubG9jYWxOYW1lIiwgImJ1dHRvbiIpOworc2hvdWxkQmVUcnVlKCdvdmVyZmxvd0J1
dHRvbi5lbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygib3ZlcmZsb3ciKScpOworc2hvdWxkQmUo
Im92ZXJmbG93QnV0dG9uLmljb25OYW1lIiwgIkljb25zLk92ZXJmbG93Iik7CisKK2NvbnN0IGlP
U092ZXJmbG93QnV0dG9uID0gbmV3IE92ZXJmbG93QnV0dG9uKHsgbGF5b3V0VHJhaXRzOiBMYXlv
dXRUcmFpdHMuaU9TIH0pOworCitzaG91bGRCZWNvbWVFcXVhbCgnb3ZlcmZsb3dCdXR0b24uaW1h
Z2UuZWxlbWVudC5zdHlsZS53ZWJraXRNYXNrSW1hZ2UuaW5jbHVkZXMoIm1hY09TL092ZXJmbG93
LnN2ZyIpJywgInRydWUiLCAoKSA9PiB7CisgICAgc2hvdWxkQmVjb21lRXF1YWwoJ2lPU092ZXJm
bG93QnV0dG9uLmltYWdlLmVsZW1lbnQuc3R5bGUud2Via2l0TWFza0ltYWdlLmluY2x1ZGVzKCJp
T1MvT3ZlcmZsb3cuc3ZnIiknLCAidHJ1ZSIsIGZpbmlzaEpTVGVzdCk7Cit9KTsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVk
aWEtY29udHJvbHMvb3ZlcmZsb3ctc3VwcG9ydC9jaGFwdGVycy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvb3ZlcmZsb3ctc3VwcG9ydC9jaGFw
dGVycy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjU2N2NkYjU3NTA4OTlhODRjZmJlYWU3Y2Zl
MWEyYzQyMDE0YzQ4MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL21lZGlhL21vZGVy
bi1tZWRpYS1jb250cm9scy9vdmVyZmxvdy1zdXBwb3J0L2NoYXB0ZXJzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDE0IEBACitUZXN0aW5nIHRoZSBPdmVyZmxvd1N1cHBvcnQgYmVoYXZpb3IgZm9y
IFBsYXliYWNrIFNwZWVkLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBz
aGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJ2J1dHRvbi5vdmVyZmxvdycpIGJlY2FtZSBkaWZmZXJl
bnQgZnJvbSBudWxsCitQQVNTIHNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcignYnV0dG9uLm92ZXJm
bG93JykuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGggYmVjYW1lIGRpZmZlcmVudCBmcm9t
IDAKK1RhcHBpbmcgb3ZlcmZsb3cgYnV0dG9uLi4uCitTZWxlY3RpbmcgZmlyc3QgY2hhcHRlciBj
dWUuLi4KK1BBU1MgbWVkaWEuY3VycmVudFRpbWUgaXMgPj0gNQorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9vdmVyZmxvdy1zdXBwb3J0L2NoYXB0ZXJzLmh0
bWwgYi9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvb3ZlcmZsb3ctc3Vw
cG9ydC9jaGFwdGVycy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFhZWQwZWQ2N2JlYzJhYzExNGNmYjU0YWU2
MWFlNTQ4NGJmNTI0OTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rl
cm4tbWVkaWEtY29udHJvbHMvb3ZlcmZsb3ctc3VwcG9ydC9jaGFwdGVycy5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZs
ZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCI+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL21lZGlhLWNv
bnRyb2xzLXV0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8dmlkZW8gc3JjPSIuLi8uLi9j
b250ZW50L2xvbmctdGVzdC5tcDQiIHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDA7
IHRvcDogMDsgd2lkdGg6IDYwMHB4OyIgY29udHJvbHMgYXV0b3BsYXkgbXV0ZWQgcGxheXNpbmxp
bmU+CisgICAgPHRyYWNrIHNyYz0iLi4vLi4vY29udGVudC9sb3JlbS1pcHN1bS52dHQiIGtpbmQ9
ImNoYXB0ZXJzIj4KKzwvdmlkZW8+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisK
K3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworZGVzY3JpcHRpb24oIlRlc3RpbmcgdGhl
IDxjb2RlPk92ZXJmbG93U3VwcG9ydDwvY29kZT4gYmVoYXZpb3IgZm9yIFBsYXliYWNrIFNwZWVk
LiIpOworCitjb25zdCBtZWRpYSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoInZpZGVvIik7Citj
b25zdCBzaGFkb3dSb290ID0gd2luZG93LmludGVybmFscy5zaGFkb3dSb290KG1lZGlhKTsKKwor
d2luZG93LmludGVybmFscy5zZXRNZWRpYUNvbnRyb2xzSGlkZVBsYXliYWNrUmF0ZXMobWVkaWEs
IHRydWUpOworCitsZXQgY29udGV4dG1lbnUgPSBudWxsOworCittZWRpYS5hZGRFdmVudExpc3Rl
bmVyKCJwbGF5IiwgZnVuY3Rpb24oKSB7CisgICAgbWVkaWEucGF1c2UoKTsKKworICAgIHNob3Vs
ZEJlY29tZURpZmZlcmVudCgic2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCdidXR0b24ub3ZlcmZs
b3cnKSIsICJudWxsIiwgKCkgPT4geworICAgICAgICBzaG91bGRCZWNvbWVEaWZmZXJlbnQoInNo
YWRvd1Jvb3QucXVlcnlTZWxlY3RvcignYnV0dG9uLm92ZXJmbG93JykuZ2V0Qm91bmRpbmdDbGll
bnRSZWN0KCkud2lkdGgiLCAiMCIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgIGRlYnVnKCJU
YXBwaW5nIG92ZXJmbG93IGJ1dHRvbi4uLiIpOworICAgICAgICAgICAgYXdhaXQgcHJlc3NPbkVs
ZW1lbnQoc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCJidXR0b24ub3ZlcmZsb3ciKSk7CisgICAg
ICAgICAgICBjb250ZXh0bWVudSA9IGF3YWl0IGdldFRyYWNrc0NvbnRleHRNZW51KCk7CisKKyAg
ICAgICAgICAgIGRlYnVnKCJTZWxlY3RpbmcgZmlyc3QgY2hhcHRlciBjdWUuLi4iKTsKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmNob29zZU1lbnVBY3Rpb24oImlwc3VtIik7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci53YWl0Rm9yQ29udGV4dE1lbnVUb0hpZGUoKTsKKworICAgICAg
ICAgICAgc2hvdWxkQmVHcmVhdGVyVGhhbk9yRXF1YWwoIm1lZGlhLmN1cnJlbnRUaW1lIiwgIjUi
KTsKKworICAgICAgICAgICAgbWVkaWEucmVtb3ZlKCk7CisgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgfSk7CisgICAgfSk7Cit9KTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvb3Zl
cmZsb3ctc3VwcG9ydC9wbGF5YmFjay1zcGVlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9t
ZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvb3ZlcmZsb3ctc3VwcG9ydC9wbGF5YmFjay1zcGVl
ZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGEyYTY0NzE5ZTFhNjM0YTQxZjU1OWZkOTcyYTg0
MTk2Y2FiYmI0ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL21lZGlhL21vZGVybi1t
ZWRpYS1jb250cm9scy9vdmVyZmxvdy1zdXBwb3J0L3BsYXliYWNrLXNwZWVkLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDIzIEBACitUZXN0aW5nIHRoZSBPdmVyZmxvd1N1cHBvcnQgYmVoYXZpb3Ig
Zm9yIFBsYXliYWNrIFNwZWVkLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFT
UyBzaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJ2J1dHRvbi5vdmVyZmxvdycpIGJlY2FtZSBkaWZm
ZXJlbnQgZnJvbSBudWxsCitQQVNTIHNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcignYnV0dG9uLm92
ZXJmbG93JykuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGggYmVjYW1lIGRpZmZlcmVudCBm
cm9tIDAKK1RhcHBpbmcgb3ZlcmZsb3cgYnV0dG9uLi4uCitQQVNTIGNoZWNrZWRJdGVtcy5sZW5n
dGggaXMgMQorUEFTUyBjaGVja2VkSXRlbXNbMF0udGl0bGUgaXMgIjHDlyIKK0NoYW5naW5nIHBs
YXliYWNrIHNwZWVkIHZpYSBKYXZhU2NyaXB0Li4uCitUYXBwaW5nIG92ZXJmbG93IGJ1dHRvbi4u
LgorUEFTUyBjaGVja2VkSXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgY2hlY2tlZEl0ZW1zWzBdLnRp
dGxlIGlzICIyw5ciCitTZWxlY3RpbmcgJzEuNcOXJyBwbGF5YmFjayBzcGVlZC4uLgorUEFTUyBt
ZWRpYS5wbGF5YmFja1JhdGUgaXMgMS41CitUYXBwaW5nIG92ZXJmbG93IGJ1dHRvbi4uLgorUEFT
UyBjaGVja2VkSXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgY2hlY2tlZEl0ZW1zWzBdLnRpdGxlIGlz
ICIxLjXDlyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMv
b3ZlcmZsb3ctc3VwcG9ydC9wbGF5YmFjay1zcGVlZC5odG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEv
bW9kZXJuLW1lZGlhLWNvbnRyb2xzL292ZXJmbG93LXN1cHBvcnQvcGxheWJhY2stc3BlZWQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi40ZGE4ZjgyNWNjZTEwMTAyYjNkNzUzMTVhZmY1N2EyNzc2ZjJiNGNiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xz
L292ZXJmbG93LXN1cHBvcnQvcGxheWJhY2stc3BlZWQuaHRtbApAQCAtMCwwICsxLDY2IEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdw
b3J0PXRydWUgXSAtLT4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgiPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9tZWRpYS1jb250cm9scy11dGls
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzxib2R5PgorPHZpZGVvIHNyYz0iLi4vLi4vY29udGVudC9jb3Vu
dGluZy5tcDQiIHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDA7IHRvcDogMDsgd2lk
dGg6IDYwMHB4OyIgY29udHJvbHMgYXV0b3BsYXkgbXV0ZWQgcGxheXNpbmxpbmU+PC92aWRlbz4K
KzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKword2luZG93LmpzVGVzdElzQXN5bmMg
PSB0cnVlOworCitkZXNjcmlwdGlvbigiVGVzdGluZyB0aGUgPGNvZGU+T3ZlcmZsb3dTdXBwb3J0
PC9jb2RlPiBiZWhhdmlvciBmb3IgUGxheWJhY2sgU3BlZWQuIik7CisKK2NvbnN0IG11bHRpcGxp
Y2F0aW9uU2lnbiA9ICJcdTAwZDciOworCitjb25zdCBtZWRpYSA9IGRvY3VtZW50LnF1ZXJ5U2Vs
ZWN0b3IoInZpZGVvIik7Citjb25zdCBzaGFkb3dSb290ID0gd2luZG93LmludGVybmFscy5zaGFk
b3dSb290KG1lZGlhKTsKKworbGV0IGNvbnRleHRtZW51ID0gbnVsbDsKK2xldCBjaGVja2VkSXRl
bXMgPSBudWxsOworCittZWRpYS5hZGRFdmVudExpc3RlbmVyKCJwbGF5IiwgZnVuY3Rpb24oKSB7
CisgICAgbWVkaWEucGF1c2UoKTsKKworICAgIHNob3VsZEJlY29tZURpZmZlcmVudCgic2hhZG93
Um9vdC5xdWVyeVNlbGVjdG9yKCdidXR0b24ub3ZlcmZsb3cnKSIsICJudWxsIiwgKCkgPT4gewor
ICAgICAgICBzaG91bGRCZWNvbWVEaWZmZXJlbnQoInNoYWRvd1Jvb3QucXVlcnlTZWxlY3Rvcign
YnV0dG9uLm92ZXJmbG93JykuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgiLCAiMCIsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgIGRlYnVnKCJUYXBwaW5nIG92ZXJmbG93IGJ1dHRvbi4u
LiIpOworICAgICAgICAgICAgYXdhaXQgcHJlc3NPbkVsZW1lbnQoc2hhZG93Um9vdC5xdWVyeVNl
bGVjdG9yKCJidXR0b24ub3ZlcmZsb3ciKSk7CisgICAgICAgICAgICBjb250ZXh0bWVudSA9IGF3
YWl0IGdldFRyYWNrc0NvbnRleHRNZW51KCk7CisgICAgICAgICAgICBjaGVja2VkSXRlbXMgPSBj
b250ZXh0bWVudVswXS5jaGlsZHJlbi5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0uY2hlY2tlZCk7Cisg
ICAgICAgICAgICBzaG91bGRCZSgiY2hlY2tlZEl0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImNoZWNrZWRJdGVtc1swXS50aXRsZSIsIGAxJHtt
dWx0aXBsaWNhdGlvblNpZ259YCk7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci53YWl0Rm9y
Q29udGV4dE1lbnVUb0hpZGUoKTsKKworICAgICAgICAgICAgZGVidWcoIkNoYW5naW5nIHBsYXli
YWNrIHNwZWVkIHZpYSBKYXZhU2NyaXB0Li4uIik7CisgICAgICAgICAgICBtZWRpYS5wbGF5YmFj
a1JhdGUgPSAyLjA7CisKKyAgICAgICAgICAgIGRlYnVnKCJUYXBwaW5nIG92ZXJmbG93IGJ1dHRv
bi4uLiIpOworICAgICAgICAgICAgYXdhaXQgcHJlc3NPbkVsZW1lbnQoc2hhZG93Um9vdC5xdWVy
eVNlbGVjdG9yKCJidXR0b24ub3ZlcmZsb3ciKSk7CisgICAgICAgICAgICBjb250ZXh0bWVudSA9
IGF3YWl0IGdldFRyYWNrc0NvbnRleHRNZW51KCk7CisgICAgICAgICAgICBjaGVja2VkSXRlbXMg
PSBjb250ZXh0bWVudVswXS5jaGlsZHJlbi5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0uY2hlY2tlZCk7
CisgICAgICAgICAgICBzaG91bGRCZSgiY2hlY2tlZEl0ZW1zLmxlbmd0aCIsICIxIik7CisgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImNoZWNrZWRJdGVtc1swXS50aXRsZSIsIGAy
JHttdWx0aXBsaWNhdGlvblNpZ259YCk7CisKKyAgICAgICAgICAgIGRlYnVnKGBTZWxlY3Rpbmcg
JzEuNSR7bXVsdGlwbGljYXRpb25TaWdufScgcGxheWJhY2sgc3BlZWQuLi5gKTsKKyAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmNob29zZU1lbnVBY3Rpb24oYDEuNSR7bXVsdGlwbGljYXRpb25T
aWdufWApOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIud2FpdEZvckNvbnRleHRNZW51VG9I
aWRlKCk7CisKKyAgICAgICAgICAgIHNob3VsZEJlKCJtZWRpYS5wbGF5YmFja1JhdGUiLCAiMS41
Iik7CisKKyAgICAgICAgICAgIGRlYnVnKCJUYXBwaW5nIG92ZXJmbG93IGJ1dHRvbi4uLiIpOwor
ICAgICAgICAgICAgYXdhaXQgcHJlc3NPbkVsZW1lbnQoc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9y
KCJidXR0b24ub3ZlcmZsb3ciKSk7CisgICAgICAgICAgICBjb250ZXh0bWVudSA9IGF3YWl0IGdl
dFRyYWNrc0NvbnRleHRNZW51KCk7CisgICAgICAgICAgICBjaGVja2VkSXRlbXMgPSBjb250ZXh0
bWVudVswXS5jaGlsZHJlbi5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0uY2hlY2tlZCk7CisgICAgICAg
ICAgICBzaG91bGRCZSgiY2hlY2tlZEl0ZW1zLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImNoZWNrZWRJdGVtc1swXS50aXRsZSIsIGAxLjUke211bHRp
cGxpY2F0aW9uU2lnbn1gKTsKKworICAgICAgICAgICAgbWVkaWEucmVtb3ZlKCk7CisgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgfSk7CisgICAgfSk7Cit9KTsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sy
L1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBl
Y3RhdGlvbnMKaW5kZXggNDhmYmQ1NzhhZjdjZWQ3ZTRmMTU0Y2Q3YjI3MGRmNjJhNzQ2MzJjMi4u
MmU3YmYxYmUzOWE2MjMyOGI5NjZjZWJjMGNhODJmOGEwNDRjYWQ3MSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTksNiArMTksNyBAQCBm
YXN0L3Njcm9sbGluZy9tYWMgWyBQYXNzIF0KIGZhc3QvdmlzdWFsLXZpZXdwb3J0L3RpbGVkLWRy
YXdpbmcgWyBQYXNzIF0KIGZhc3Qvd2ViLXNoYXJlIFsgUGFzcyBdCiBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dlYi1zaGFyZSBbIFBhc3MgXQorbWVkaWEvbW9kZXJuLW1lZGlhLWNv
bnRyb2xzL292ZXJmbG93LXN1cHBvcnQgWyBQYXNzIF0KIG1lZGlhL21vZGVybi1tZWRpYS1jb250
cm9scy90cmFja3Mtc3VwcG9ydCBbIFBhc3MgXQogc2Nyb2xsaW5nY29vcmRpbmF0b3IgWyBQYXNz
IF0KIHNjcm9sbGluZ2Nvb3JkaW5hdG9yL2lvcyBbIFNraXAgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430814</attachid>
            <date>2021-06-07 23:50:12 -0700</date>
            <delta_ts>2021-06-08 13:27:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226736-20210608005011.patch</filename>
            <type>text/plain</type>
            <size>37107</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggMDRmZjdmZWYzNTg3N2FjNjNkMjg0NmQ5MjVlN2E4ZTkzOGFhZWJlMi4uYjAxMjY3Y2M1
OTQyODc2MmIwMTMxOWVmZmFjZTcxYmU2M2I3ODU3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAy
MS0wNi0wNyAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CisKKyAgICAgICAgW01v
ZGVybiBNZWRpYSBDb250cm9sc10gdXBzdHJlYW0gbmV3IGZlYXR1cmVzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjY3MzYKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzc4OTU3NDY0PgorCisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgQ2FybHNvbi4K
KworICAgICAgICAgLSBicmluZyB0aGUgIkF1ZGlvIi8iTGFuZ3VhZ2VzIiB0cmFja3MgbWVudSB0
byBpT1MKKyAgICAgICAgIC0gYWRkIGEgbmV3ICJQbGF5YmFjayBTcGVlZCIgbWVudSBvbiBpT1Mg
YW5kIG1hY09TIGluIHRoZSBvdmVyZmxvdyBtZW51CisgICAgICAgICAtIGFkZCBzdXBwb3J0IGZv
ciBzaG93aW5nIHRoZSBtb3N0IHJlbGV2YW50IGA8dHJhY2sga2luZD0iY2hhcHRlcnMiPmAgaW4g
dGhlIG92ZXJmbG93IG1lbnUKKworICAgICAgICAqIHd0Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmg6
CisKIDIwMjEtMDYtMDcgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9y
Zz4KIAogICAgICAgICBBZG9wdCBTZWNUcnVzdEdldENlcnRpZmljYXRlQXRJbmRleCByZXBsYWNl
bWVudCB3aGVyZSBhdmFpbGFibGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA3MjMwNjRiMzQ1YTZhMWI0YmM5Yjkx
MDQ5MmVkMzMwZjA1MzFhMzA1Li45ODI3YTA1YTQ2NjY5ZTM2ZDFmMDc5NmRjM2ZiNjcwYmRhYjlj
Mjg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTAgQEAKKzIwMjEtMDYtMDcgIERldmluIFJvdXNz
byAgPGRyb3Vzc29AYXBwbGUuY29tPgorCisgICAgICAgIFtNb2Rlcm4gTWVkaWEgQ29udHJvbHNd
IHVwc3RyZWFtIG5ldyBmZWF0dXJlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjI2NzM2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83ODk1NzQ2ND4K
KworICAgICAgICBSZXZpZXdlZCBieSBFcmljIENhcmxzb24uCisKKyAgICAgICAgIC0gYnJpbmcg
dGhlICJBdWRpbyIvIkxhbmd1YWdlcyIgdHJhY2tzIG1lbnUgdG8gaU9TCisgICAgICAgICAtIGFk
ZCBhIG5ldyAiUGxheWJhY2sgU3BlZWQiIG1lbnUgaW4gdGhlIG92ZXJmbG93IG1lbnUgb24gaU9T
IGFuZCBtYWNPUworICAgICAgICAgLSBhZGQgc3VwcG9ydCBmb3Igc2hvd2luZyB0aGUgbW9zdCBy
ZWxldmFudCBgPHRyYWNrIGtpbmQ9ImNoYXB0ZXJzIj5gIGluIHRoZSBvdmVyZmxvdyBtZW51IG9u
IGlPUyBhbmQgbWFjT1MKKworICAgICAgICBUZXN0czogbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRy
b2xzL292ZXJmbG93LWJ1dHRvbi9vdmVyZmxvdy1idXR0b24uaHRtbAorICAgICAgICAgICAgICAg
bWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL292ZXJmbG93LXN1cHBvcnQvY2hhcHRlcnMuaHRt
bAorICAgICAgICAgICAgICAgbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL292ZXJmbG93LXN1
cHBvcnQvcGxheWJhY2stc3BlZWQuaHRtbAorCisgICAgICAgICogTW9kdWxlcy9tZWRpYWNvbnRy
b2xzL01lZGlhQ29udHJvbHNIb3N0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJv
bHNIb3N0OjpzaG93TWVkaWFDb250cm9sc0NvbnRleHRNZW51KToKKyAgICAgICAgKiBNb2R1bGVz
L21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS9vdmVyZmxvdy1zdXBwb3J0LmpzOgorICAgICAg
ICAoT3ZlcmZsb3dTdXBwb3J0LnByb3RvdHlwZS5nZXQgbWVkaWFFdmVudHMpOgorICAgICAgICAo
T3ZlcmZsb3dTdXBwb3J0LnByb3RvdHlwZS5nZXQgdHJhY2tzVG9Nb25pdG9yKToKKyAgICAgICAg
KE92ZXJmbG93U3VwcG9ydC5wcm90b3R5cGUuc3luY0NvbnRyb2wpOgorICAgICAgICAqIGVuLmxw
cm9qL0xvY2FsaXphYmxlLnN0cmluZ3M6CisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhl
bWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjptZWRpYUNvbnRyb2xzU2NyaXB0
cyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lQWR3YWl0YS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJUaGVtZUFkd2FpdGE6Om1lZGlhQ29udHJvbHNTY3JpcHRzKToKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVBZHdhaXRhLmg6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlclRoZW1lQ29jb2EuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVD
b2NvYS5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lQ29jb2E6OnB1cmdlQ2FjaGVz
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lQ29jb2E6Om1lZGlhQ29udHJvbHNTY3Jp
cHRzKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVXaW4uaDoKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyVGhlbWVXaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhl
bWVXaW46Om1lZGlhQ29udHJvbHNTY3JpcHRzKToKKyAgICAgICAgRHJvcCB0aGUgImFkZGl0aW9u
YWwgc2NyaXB0IiBhbmQgbG93ZXIgdGhlIGlubGluZSBjYXBhY2l0eSBvZiB0aGUgYFZlY3RvcmAu
CisKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisgICAgICAgICogdGVzdGluZy9J
bnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpJbnRlcm5hbHM6OnNldE1lZGlhQ29udHJvbHNIaWRlUGxheWJhY2tSYXRlcyk6IEFk
ZGVkLgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5oOgorICAgICAgICAqIGh0bWwv
SFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50
OjpzZXRNZWRpYUNvbnRyb2xzSGlkZVBsYXliYWNrUmF0ZXMpOiBBZGRlZC4KKyAgICAgICAgU2lu
Y2UgUGxheWJhY2sgUmF0ZXMgaXMgYWx3YXlzIHNob3duLCBwcm92aWRlIGEgd2F5IGZvciB0ZXN0
cyB0byB0dXJuIGl0IG9mZi4KKwogMjAyMS0wNi0wNyAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJp
c3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEFkb3B0IFNlY1RydXN0R2V0Q2VydGlmaWNh
dGVBdEluZGV4IHJlcGxhY2VtZW50IHdoZXJlIGF2YWlsYWJsZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5oIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1F
bmFibGVDb2NvYS5oCmluZGV4IGMzZmJiMmJlZWExMzcyOGZlNWViMWFjMzY4MmJmNmQ5YzZiNGU0
OTcuLjA3ODA5MGFiZGFiYTE1ZmVhMjRlNjdkMDQ4Y2ExYmQ4MDg2MzM3YjMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaAorKysgYi9Tb3VyY2UvV1RGL3d0
Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmgKQEAgLTMyMSw3ICszMjEsNyBAQAogI2RlZmluZSBFTkFC
TEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUIDEKICNlbmRpZgogCi0jaWYgIWRlZmluZWQoRU5BQkxF
X01FRElBX0NPTlRST0xTX0NPTlRFWFRfTUVOVVMpICYmIFBMQVRGT1JNKE1BQykKKyNpZiAhZGVm
aW5lZChFTkFCTEVfTUVESUFfQ09OVFJPTFNfQ09OVEVYVF9NRU5VUykgJiYgKFBMQVRGT1JNKE1B
QykgfHwgKChQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKSkgJiYgX19JUEhP
TkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTUwMDAwKSkKICNkZWZpbmUgRU5BQkxFX01F
RElBX0NPTlRST0xTX0NPTlRFWFRfTUVOVVMgMQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjb250cm9scy9NZWRpYUNvbnRyb2xzSG9zdC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY29udHJvbHMvTWVkaWFDb250cm9sc0hvc3QuY3Bw
CmluZGV4IDA0YTgwZjU5ZWM1Y2M0ZTRlMGI3YTYxYmUxNDRjYzBhMWNiNjAzNGIuLjJjMmY0ZTE2
N2JhZDcxMTBmYzgxNDVjZjM0MmQzY2UzZmQ0NTg5MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFjb250cm9scy9NZWRpYUNvbnRyb2xzSG9zdC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNvbnRyb2xzL01lZGlhQ29udHJvbHNIb3N0LmNwcApA
QCAtNTUsOCArNTUsMTAgQEAKICNpbmNsdWRlICJQYWdlR3JvdXAuaCIKICNpbmNsdWRlICJSZW5k
ZXJUaGVtZS5oIgogI2luY2x1ZGUgIlRleHRUcmFjay5oIgorI2luY2x1ZGUgIlRleHRUcmFja0N1
ZUxpc3QuaCIKICNpbmNsdWRlICJUZXh0VHJhY2tMaXN0LmgiCiAjaW5jbHVkZSAiVXNlckdlc3R1
cmVJbmRpY2F0b3IuaCIKKyNpbmNsdWRlICJWVFRDdWUuaCIKICNpbmNsdWRlICJWb2lkQ2FsbGJh
Y2suaCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU0NKU1ZhbHVlSW5saW5lcy5oPgogI2lu
Y2x1ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgpAQCAtNjUsMTAgKzY3LDYgQEAKICNpbmNs
dWRlIDx3dGYvVVVJRC5oPgogI2luY2x1ZGUgPHd0Zi9WYXJpYW50Lmg+CiAKLSNpZiBVU0UoQVBQ
TEVfSU5URVJOQUxfU0RLKQotI2luY2x1ZGUgPFdlYktpdEFkZGl0aW9ucy9NZWRpYUNvbnRyb2xz
SG9zdEFkZGl0aW9ucy5jcHA+Ci0jZW5kaWYKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjb25z
dCBBdG9tU3RyaW5nJiBNZWRpYUNvbnRyb2xzSG9zdDo6YXV0b21hdGljS2V5d29yZCgpCkBAIC0z
NTgsMTQgKzM1Niw2IEBAIFN0cmluZyBNZWRpYUNvbnRyb2xzSG9zdDo6Zm9ybWF0dGVkU3RyaW5n
Rm9yRHVyYXRpb24oZG91YmxlIGR1cmF0aW9uSW5TZWNvbmRzKQogCiAjaWYgRU5BQkxFKE1FRElB
X0NPTlRST0xTX0NPTlRFWFRfTUVOVVMpCiAKLSNpZiAhZGVmaW5lZChNZWRpYUNvbnRyb2xzSG9z
dEFkZGl0aW9uc19zaG93TWVkaWFDb250cm9sc0NvbnRleHRNZW51X01lbnVEYXRhKQotI2RlZmlu
ZSBNZWRpYUNvbnRyb2xzSG9zdEFkZGl0aW9uc19zaG93TWVkaWFDb250cm9sc0NvbnRleHRNZW51
X01lbnVEYXRhCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKE1lZGlhQ29udHJvbHNIb3N0QWRkaXRp
b25zX3Nob3dNZWRpYUNvbnRyb2xzQ29udGV4dE1lbnVfTWVudURhdGFfc3dpdGNoT24pCi0jZGVm
aW5lIE1lZGlhQ29udHJvbHNIb3N0QWRkaXRpb25zX3Nob3dNZWRpYUNvbnRyb2xzQ29udGV4dE1l
bnVfTWVudURhdGFfc3dpdGNoT24KLSNlbmRpZgotCiAjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMp
ICYmIFVTRShBQ0NFU1NJQklMSVRZX0NPTlRFWFRfTUVOVVMpCiBjbGFzcyBNZWRpYUNvbnRyb2xz
Q29udGV4dE1lbnVQcm92aWRlciBmaW5hbCA6IHB1YmxpYyBDb250ZXh0TWVudVByb3ZpZGVyIHsK
IHB1YmxpYzoKQEAgLTUwNiwxMyArNDk2LDIyIEBAIGJvb2wgTWVkaWFDb250cm9sc0hvc3Q6OnNo
b3dNZWRpYUNvbnRyb2xzQ29udGV4dE1lbnUoSFRNTEVsZW1lbnQmIHRhcmdldCwgU3RyaW5nCiAg
ICAgZW51bSBjbGFzcyBQaWN0dXJlSW5QaWN0dXJlVGFnIHsgSW5jbHVkZVBpY3R1cmVJblBpY3R1
cmUgfTsKICNlbmRpZiAvLyBFTkFCTEUoVklERU9fUFJFU0VOVEFUSU9OX01PREUpCiAKKyAgICBl
bnVtIGNsYXNzIFBsYXliYWNrU3BlZWQgeworICAgICAgICB4MF81LAorICAgICAgICB4MV8wLAor
ICAgICAgICB4MV8yNSwKKyAgICAgICAgeDFfNSwKKyAgICAgICAgeDJfMCwKKyAgICB9OworCiAg
ICAgdXNpbmcgTWVudURhdGEgPSBWYXJpYW50PAogI2lmIEVOQUJMRShWSURFT19QUkVTRU5UQVRJ
T05fTU9ERSkKICAgICAgICAgUGljdHVyZUluUGljdHVyZVRhZywKICNlbmRpZiAvLyBFTkFCTEUo
VklERU9fUFJFU0VOVEFUSU9OX01PREUpCiAgICAgICAgIFJlZlB0cjxBdWRpb1RyYWNrPiwKLSAg
ICAgICAgUmVmUHRyPFRleHRUcmFjaz4KLSAgICAgICAgTWVkaWFDb250cm9sc0hvc3RBZGRpdGlv
bnNfc2hvd01lZGlhQ29udHJvbHNDb250ZXh0TWVudV9NZW51RGF0YQorICAgICAgICBSZWZQdHI8
VGV4dFRyYWNrPiwKKyAgICAgICAgUmVmUHRyPFZUVEN1ZT4sCisgICAgICAgIFBsYXliYWNrU3Bl
ZWQKICAgICA+OwogICAgIEhhc2hNYXA8TWVudUl0ZW1JZGVudGlmaWVyLCBNZW51RGF0YT4gaWRN
YXA7CiAKQEAgLTU4Niw5ICs1ODUsNDUgQEAgYm9vbCBNZWRpYUNvbnRyb2xzSG9zdDo6c2hvd01l
ZGlhQ29udHJvbHNDb250ZXh0TWVudShIVE1MRWxlbWVudCYgdGFyZ2V0LCBTdHJpbmcKICAgICAg
ICAgfQogICAgIH0KIAotI2lmIGRlZmluZWQoTWVkaWFDb250cm9sc0hvc3RBZGRpdGlvbnNfc2hv
d01lZGlhQ29udHJvbHNDb250ZXh0TWVudV9vcHRpb25zKQotICAgIE1lZGlhQ29udHJvbHNIb3N0
QWRkaXRpb25zX3Nob3dNZWRpYUNvbnRyb2xzQ29udGV4dE1lbnVfb3B0aW9ucwotI2VuZGlmCisg
ICAgaWYgKG9wdGlvbnNKU09OT2JqZWN0LT5nZXRCb29sZWFuKCJpbmNsdWRlQ2hhcHRlcnMiX3Mp
LnZhbHVlX29yKGZhbHNlKSkgeworICAgICAgICBpZiAoYXV0byogdGV4dFRyYWNrcyA9IG1lZGlh
RWxlbWVudC50ZXh0VHJhY2tzKCk7IHRleHRUcmFja3MgJiYgdGV4dFRyYWNrcy0+bGVuZ3RoKCkp
IHsKKyAgICAgICAgICAgIGF1dG8mIGNhcHRpb25QcmVmZXJlbmNlcyA9IHBhZ2UtPmdyb3VwKCku
Y2FwdGlvblByZWZlcmVuY2VzKCk7CisKKyAgICAgICAgICAgIGZvciAoYXV0byYgdGV4dFRyYWNr
IDogY2FwdGlvblByZWZlcmVuY2VzLnNvcnRlZFRyYWNrTGlzdEZvck1lbnUodGV4dFRyYWNrcywg
eyBUZXh0VHJhY2s6OktpbmQ6OkNoYXB0ZXJzIH0pKSB7CisgICAgICAgICAgICAgICAgVmVjdG9y
PE1lbnVJdGVtPiBjaGFwdGVyTWVudUl0ZW1zOworCisgICAgICAgICAgICAgICAgaWYgKGF1dG8q
IGN1ZXMgPSB0ZXh0VHJhY2stPmN1ZXMoKSkgeworICAgICAgICAgICAgICAgICAgICBmb3IgKHVu
c2lnbmVkIGkgPSAwOyBpIDwgY3Vlcy0+bGVuZ3RoKCk7ICsraSkgeworICAgICAgICAgICAgICAg
ICAgICAgICAgYXV0byogY3VlID0gY3Vlcy0+aXRlbShpKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGlmICghaXM8VlRUQ3VlPihjdWUpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnRpbnVlOworCisgICAgICAgICAgICAgICAgICAgICAgICBhdXRvJiB2dHRDdWUgPSBkb3duY2Fz
dDxWVFRDdWU+KCpjdWUpOworICAgICAgICAgICAgICAgICAgICAgICAgY2hhcHRlck1lbnVJdGVt
cy5hcHBlbmQoY3JlYXRlTWVudUl0ZW0obWFrZVJlZlB0cih2dHRDdWUpLCB2dHRDdWUudGV4dCgp
KSk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAg
ICAgICAgICBpZiAoIWNoYXB0ZXJNZW51SXRlbXMuaXNFbXB0eSgpKSB7CisgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zLmFwcGVuZChjcmVhdGVTdWJtZW51KGNhcHRpb25QcmVmZXJlbmNlcy5kaXNw
bGF5TmFtZUZvclRyYWNrKHRleHRUcmFjay5nZXQoKSksICJsaXN0LmJ1bGxldCJfcywgV1RGTW92
ZShjaGFwdGVyTWVudUl0ZW1zKSkpOworCisgICAgICAgICAgICAgICAgICAgIC8qIE9ubHkgc2hv
dyB0aGUgZmlyc3QgdmFsaWQgY2hhcHRlcnMgdHJhY2suICovCisgICAgICAgICAgICAgICAgICAg
IGJyZWFrOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAg
IH0KKworICAgIGlmIChvcHRpb25zSlNPTk9iamVjdC0+Z2V0Qm9vbGVhbigiaW5jbHVkZVBsYXli
YWNrUmF0ZXMiX3MpLnZhbHVlX29yKGZhbHNlKSkgeworICAgICAgICBhdXRvIHBsYXliYWNrUmF0
ZSA9IG1lZGlhRWxlbWVudC5wbGF5YmFja1JhdGUoKTsKKworICAgICAgICBpdGVtcy5hcHBlbmQo
Y3JlYXRlU3VibWVudShXRUJfVUlfU1RSSU5HX0tFWSgiUGxheWJhY2sgU3BlZWQiLCAiUGxheWJh
Y2sgU3BlZWQgKE1lZGlhIENvbnRyb2xzIE1lbnUpIiwgIlBsYXliYWNrIFNwZWVkIG1lZGlhIGNv
bnRyb2xzIGNvbnRleHQgbWVudSB0aXRsZSIpLCAic3BlZWRvbWV0ZXIiX3MsIHsKKyAgICAgICAg
ICAgIGNyZWF0ZU1lbnVJdGVtKFBsYXliYWNrU3BlZWQ6OngwXzUsIFdFQl9VSV9TVFJJTkdfS0VZ
KCIwLjXDlyIsICIwLjXDlyAoTWVkaWEgQ29udHJvbHMgTWVudSBQbGF5YmFjayBTcGVlZCkiLCAi
MC41w5cgbWVkaWEgY29udHJvbHMgY29udGV4dCBtZW51IHBsYXliYWNrIHNwZWVkIGxhYmVsIiks
IHBsYXliYWNrUmF0ZSA9PSAwLjUpLAorICAgICAgICAgICAgY3JlYXRlTWVudUl0ZW0oUGxheWJh
Y2tTcGVlZDo6eDFfMCwgV0VCX1VJX1NUUklOR19LRVkoIjHDlyIsICIxw5cgKE1lZGlhIENvbnRy
b2xzIE1lbnUgUGxheWJhY2sgU3BlZWQpIiwgIjHDlyBtZWRpYSBjb250cm9scyBjb250ZXh0IG1l
bnUgcGxheWJhY2sgc3BlZWQgbGFiZWwiKSwgcGxheWJhY2tSYXRlID09IDEuMCksCisgICAgICAg
ICAgICBjcmVhdGVNZW51SXRlbShQbGF5YmFja1NwZWVkOjp4MV8yNSwgV0VCX1VJX1NUUklOR19L
RVkoIjEuMjXDlyIsICIxLjI1w5cgKE1lZGlhIENvbnRyb2xzIE1lbnUgUGxheWJhY2sgU3BlZWQp
IiwgIjEuMjXDlyBtZWRpYSBjb250cm9scyBjb250ZXh0IG1lbnUgcGxheWJhY2sgc3BlZWQgbGFi
ZWwiKSwgcGxheWJhY2tSYXRlID09IDEuMjUpLAorICAgICAgICAgICAgY3JlYXRlTWVudUl0ZW0o
UGxheWJhY2tTcGVlZDo6eDFfNSwgV0VCX1VJX1NUUklOR19LRVkoIjEuNcOXIiwgIjEuNcOXIChN
ZWRpYSBDb250cm9scyBNZW51IFBsYXliYWNrIFNwZWVkKSIsICIxLjXDlyBtZWRpYSBjb250cm9s
cyBjb250ZXh0IG1lbnUgcGxheWJhY2sgc3BlZWQgbGFiZWwiKSwgcGxheWJhY2tSYXRlID09IDEu
NSksCisgICAgICAgICAgICBjcmVhdGVNZW51SXRlbShQbGF5YmFja1NwZWVkOjp4Ml8wLCBXRUJf
VUlfU1RSSU5HX0tFWSgiMsOXIiwgIjLDlyAoTWVkaWEgQ29udHJvbHMgTWVudSBQbGF5YmFjayBT
cGVlZCkiLCAiMsOXIG1lZGlhIGNvbnRyb2xzIGNvbnRleHQgbWVudSBwbGF5YmFjayBzcGVlZCBs
YWJlbCIpLCBwbGF5YmFja1JhdGUgPT0gMi4wKSwKKyAgICAgICAgfSkpOworICAgIH0KIAogI2lm
IEVOQUJMRShDT05URVhUX01FTlVTKSAmJiBVU0UoQUNDRVNTSUJJTElUWV9DT05URVhUX01FTlVT
KQogICAgIGlmICgoaXRlbXMuc2l6ZSgpID09IDEgJiYgaXRlbXNbMF0udHlwZSgpID09IFN1Ym1l
bnVUeXBlKSB8fCBvcHRpb25zSlNPTk9iamVjdC0+Z2V0Qm9vbGVhbigicHJvbW90ZVN1Yk1lbnVz
Il9zKS52YWx1ZV9vcihmYWxzZSkpIHsKQEAgLTY0NSw5ICs2ODAsNDIgQEAgYm9vbCBNZWRpYUNv
bnRyb2xzSG9zdDo6c2hvd01lZGlhQ29udHJvbHNDb250ZXh0TWVudShIVE1MRWxlbWVudCYgdGFy
Z2V0LCBTdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICgqdGV4dFRyYWNrKS0+c2V0TW9k
ZShUZXh0VHJhY2s6Ok1vZGU6OkRpc2FibGVkKTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICAgICAgbWVkaWFFbGVtZW50LnNldFNlbGVjdGVkVGV4dFRyYWNrKHNlbGVjdGVkVGV4dFRy
YWNrLmdldCgpKTsKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICBbJl0gKFJlZlB0cjxWVFRD
dWU+JiBjdWUpIHsKKyAgICAgICAgICAgICAgICBtZWRpYUVsZW1lbnQuc2V0Q3VycmVudFRpbWUo
Y3VlLT5zdGFydE1lZGlhVGltZSgpKTsKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICBbJl0g
KFBsYXliYWNrU3BlZWQgcGxheWJhY2tTcGVlZCkgeworICAgICAgICAgICAgICAgIHN3aXRjaCAo
cGxheWJhY2tTcGVlZCkgeworICAgICAgICAgICAgICAgIGNhc2UgUGxheWJhY2tTcGVlZDo6eDBf
NToKKyAgICAgICAgICAgICAgICAgICAgbWVkaWFFbGVtZW50LnNldERlZmF1bHRQbGF5YmFja1Jh
dGUoMC41KTsKKyAgICAgICAgICAgICAgICAgICAgbWVkaWFFbGVtZW50LnNldFBsYXliYWNrUmF0
ZSgwLjUpOworICAgICAgICAgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgICAgICAgICBj
YXNlIFBsYXliYWNrU3BlZWQ6OngxXzA6CisgICAgICAgICAgICAgICAgICAgIG1lZGlhRWxlbWVu
dC5zZXREZWZhdWx0UGxheWJhY2tSYXRlKDEuMCk7CisgICAgICAgICAgICAgICAgICAgIG1lZGlh
RWxlbWVudC5zZXRQbGF5YmFja1JhdGUoMS4wKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJu
OworCisgICAgICAgICAgICAgICAgY2FzZSBQbGF5YmFja1NwZWVkOjp4MV8yNToKKyAgICAgICAg
ICAgICAgICAgICAgbWVkaWFFbGVtZW50LnNldERlZmF1bHRQbGF5YmFja1JhdGUoMS4yNSk7Cisg
ICAgICAgICAgICAgICAgICAgIG1lZGlhRWxlbWVudC5zZXRQbGF5YmFja1JhdGUoMS4yNSk7Cisg
ICAgICAgICAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAgICAgICAgIGNhc2UgUGxheWJh
Y2tTcGVlZDo6eDFfNToKKyAgICAgICAgICAgICAgICAgICAgbWVkaWFFbGVtZW50LnNldERlZmF1
bHRQbGF5YmFja1JhdGUoMS41KTsKKyAgICAgICAgICAgICAgICAgICAgbWVkaWFFbGVtZW50LnNl
dFBsYXliYWNrUmF0ZSgxLjUpOworICAgICAgICAgICAgICAgICAgICByZXR1cm47CisKKyAgICAg
ICAgICAgICAgICBjYXNlIFBsYXliYWNrU3BlZWQ6OngyXzA6CisgICAgICAgICAgICAgICAgICAg
IG1lZGlhRWxlbWVudC5zZXREZWZhdWx0UGxheWJhY2tSYXRlKDIuMCk7CisgICAgICAgICAgICAg
ICAgICAgIG1lZGlhRWxlbWVudC5zZXRQbGF5YmFja1JhdGUoMi4wKTsKKyAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgTWVkaWFDb250cm9s
c0hvc3RBZGRpdGlvbnNfc2hvd01lZGlhQ29udHJvbHNDb250ZXh0TWVudV9NZW51RGF0YV9zd2l0
Y2hPbgogICAgICAgICApOworCiAgICAgfTsKIAogICAgIGF1dG8gYm91bmRzID0gdGFyZ2V0LmJv
dW5kc0luUm9vdFZpZXdTcGFjZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEvb3ZlcmZsb3ctc3VwcG9ydC5qcyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhL292ZXJmbG93LXN1
cHBvcnQuanMKaW5kZXggOGQyMjE3MTljNmJkYTA2OGFhNTc2MTMzOTAyMTc0NGRkMzcxODA2Yy4u
ZDc3ZGQwODBmMWVmMmFhYTU1NGJiMjUzYTQwNWUzZmY0MWFiZmFiOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEvb3ZlcmZsb3ct
c3VwcG9ydC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250
cm9scy9tZWRpYS9vdmVyZmxvdy1zdXBwb3J0LmpzCkBAIC0zMCwxNiArMzAsMTIgQEAgY2xhc3Mg
T3ZlcmZsb3dTdXBwb3J0IGV4dGVuZHMgTWVkaWFDb250cm9sbGVyU3VwcG9ydAogCiAgICAgZ2V0
IG1lZGlhRXZlbnRzKCkKICAgICB7Ci0gICAgICAgIGxldCBtZWRpYUV2ZW50cyA9IFtdOwotICAg
ICAgICB3aW5kb3dbIldlYktpdEFkZGl0aW9ucy5PdmVyZmxvd1N1cHBvcnQucHJvdG90eXBlLmdl
dF9tZWRpYUV2ZW50cyJdPy4odGhpcywgbWVkaWFFdmVudHMpOwotICAgICAgICByZXR1cm4gbWVk
aWFFdmVudHM7CisgICAgICAgIHJldHVybiBbImxvYWRzdGFydCIsICJsb2FkZWRtZXRhZGF0YSJd
OwogICAgIH0KIAogICAgIGdldCB0cmFja3NUb01vbml0b3IoKQogICAgIHsKLSAgICAgICAgbGV0
IHRyYWNrc1RvTW9uaXRvciA9IFtdOwotICAgICAgICB3aW5kb3dbIldlYktpdEFkZGl0aW9ucy5P
dmVyZmxvd1N1cHBvcnQucHJvdG90eXBlLmdldF90cmFja3NUb01vbml0b3IiXT8uKHRoaXMsIHRy
YWNrc1RvTW9uaXRvcik7Ci0gICAgICAgIHJldHVybiB0cmFja3NUb01vbml0b3I7CisgICAgICAg
IHJldHVybiBbdGhpcy5tZWRpYUNvbnRyb2xsZXIubWVkaWEudGV4dFRyYWNrc107CiAgICAgfQog
CiAgICAgZ2V0IGNvbnRyb2woKQpAQCAtNTcsNyArNTMsMTkgQEAgY2xhc3MgT3ZlcmZsb3dTdXBw
b3J0IGV4dGVuZHMgTWVkaWFDb250cm9sbGVyU3VwcG9ydAogICAgICAgICB0aGlzLmNvbnRyb2wu
ZW5hYmxlZCA9IHRoaXMubWVkaWFDb250cm9sbGVyLmNhblNob3dNZWRpYUNvbnRyb2xzQ29udGV4
dE1lbnU7CiAKICAgICAgICAgbGV0IGRlZmF1bHRDb250ZXh0TWVudU9wdGlvbnMgPSB7fTsKLSAg
ICAgICAgd2luZG93WyJXZWJLaXRBZGRpdGlvbnMuT3ZlcmZsb3dTdXBwb3J0LnByb3RvdHlwZS5z
eW5jQ29udHJvbCJdPy4odGhpcywgZGVmYXVsdENvbnRleHRNZW51T3B0aW9ucyk7CisKKyAgICAg
ICAgaWYgKCF0aGlzLm1lZGlhQ29udHJvbGxlci5oaWRlUGxheWJhY2tSYXRlcyAmJiAoIXdpbmRv
dy5NZWRpYVN0cmVhbSB8fCAhKHRoaXMubWVkaWFDb250cm9sbGVyLm1lZGlhLnNyY09iamVjdCBp
bnN0YW5jZW9mIE1lZGlhU3RyZWFtKSkpCisgICAgICAgICAgICBkZWZhdWx0Q29udGV4dE1lbnVP
cHRpb25zLmluY2x1ZGVQbGF5YmFja1JhdGVzID0gdHJ1ZTsKKworICAgICAgICBmb3IgKGxldCB0
ZXh0VHJhY2sgb2YgdGhpcy5tZWRpYUNvbnRyb2xsZXIubWVkaWEudGV4dFRyYWNrcykgeworICAg
ICAgICAgICAgaWYgKHRleHRUcmFjay5raW5kICE9PSAiY2hhcHRlcnMiKQorICAgICAgICAgICAg
ICAgIGNvbnRpbnVlOworCisgICAgICAgICAgICBpZiAodGV4dFRyYWNrLm1vZGUgPT09ICJkaXNh
YmxlZCIpCisgICAgICAgICAgICAgICAgdGV4dFRyYWNrLm1vZGUgPSAiaGlkZGVuIjsKKyAgICAg
ICAgICAgIGRlZmF1bHRDb250ZXh0TWVudU9wdGlvbnMuaW5jbHVkZUNoYXB0ZXJzID0gdHJ1ZTsK
KyAgICAgICAgfQorCiAgICAgICAgIHRoaXMuY29udHJvbC5kZWZhdWx0Q29udGV4dE1lbnVPcHRp
b25zID0gZGVmYXVsdENvbnRleHRNZW51T3B0aW9uczsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2VuLmxwcm9qL0xvY2FsaXphYmxlLnN0cmluZ3MgYi9Tb3VyY2UvV2ViQ29y
ZS9lbi5scHJvai9Mb2NhbGl6YWJsZS5zdHJpbmdzCmluZGV4IDczMGNkMDMyOTQ2YzFlZThhNjk1
ODg4Zjk0YjJhODE5ZGE3YmRjNGYuLjM5M2ZiODg1OWUxN2JhNWNkNThkMzMxOGYzZTYzY2E3ZGI1
NmJkZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VuLmxwcm9qL0xvY2FsaXphYmxlLnN0
cmluZ3MKKysrIGIvU291cmNlL1dlYkNvcmUvZW4ubHByb2ovTG9jYWxpemFibGUuc3RyaW5ncwpA
QCAtOTcsMTIgKzk3LDI3IEBACiAvKiBQcmVzZW50IHRoZSBlbGVtZW50IDxzZWxlY3QgbXVsdGlw
bGU+IHdoZW4gbm8gPG9wdGlvbj4gaXRlbXMgYXJlIHNlbGVjdGVkIChpT1Mgb25seSkgKi8KICIw
IEl0ZW1zIiA9ICIwIEl0ZW1zIjsKIAorLyogMC41w5cgbWVkaWEgY29udHJvbHMgY29udGV4dCBt
ZW51IHBsYXliYWNrIHNwZWVkIGxhYmVsICovCisiMC41w5cgKE1lZGlhIENvbnRyb2xzIE1lbnUg
UGxheWJhY2sgU3BlZWQpIiA9ICIwLjXDlyI7CisKIC8qIFByZXNlbnQgdGhlIGVsZW1lbnQgPHNl
bGVjdCBtdWx0aXBsZT4gd2hlbiBhIHNpbmdsZSA8b3B0aW9uPiBpcyBzZWxlY3RlZCAoaU9TIG9u
bHkpICovCiAiMSBJdGVtIiA9ICIxIEl0ZW0iOwogCisvKiAxw5cgbWVkaWEgY29udHJvbHMgY29u
dGV4dCBtZW51IHBsYXliYWNrIHNwZWVkIGxhYmVsICovCisiMcOXIChNZWRpYSBDb250cm9scyBN
ZW51IFBsYXliYWNrIFNwZWVkKSIgPSAiMcOXIjsKKworLyogMS4yNcOXIG1lZGlhIGNvbnRyb2xz
IGNvbnRleHQgbWVudSBwbGF5YmFjayBzcGVlZCBsYWJlbCAqLworIjEuMjXDlyAoTWVkaWEgQ29u
dHJvbHMgTWVudSBQbGF5YmFjayBTcGVlZCkiID0gIjEuMjXDlyI7CisKKy8qIDEuNcOXIG1lZGlh
IGNvbnRyb2xzIGNvbnRleHQgbWVudSBwbGF5YmFjayBzcGVlZCBsYWJlbCAqLworIjEuNcOXIChN
ZWRpYSBDb250cm9scyBNZW51IFBsYXliYWNrIFNwZWVkKSIgPSAiMS41w5ciOworCiAvKiBPcHRp
b24gaW4gc2VnbWVudGVkIGNvbnRyb2wgZm9yIGNob29zaW5nIGxpc3QgdHlwZSBpbiB0ZXh0IGVk
aXRpbmcgKi8KICIxLiAyLiAzLiIgPSAiMS4gMi4gMy4iOwogCisvKiAyw5cgbWVkaWEgY29udHJv
bHMgY29udGV4dCBtZW51IHBsYXliYWNrIHNwZWVkIGxhYmVsICovCisiMsOXIChNZWRpYSBDb250
cm9scyBNZW51IFBsYXliYWNrIFNwZWVkKSIgPSAiMsOXIjsKKwogLyogTWVudSBpdGVtIHRpdGxl
IGZvciBLRVlHRU4gcG9wLXVwIG1lbnUgKi8KICIyMDQ4IChIaWdoIEdyYWRlKSIgPSAiMjA0OCAo
SGlnaCBHcmFkZSkiOwogCkBAIC03MDYsNiArNzIxLDkgQEAKIC8qIE1lZGlhIFBsYXkgY29udGV4
dCBtZW51IGl0ZW0gKi8KICJQbGF5IiA9ICJQbGF5IjsKIAorLyogUGxheWJhY2sgU3BlZWQgbWVk
aWEgY29udHJvbHMgY29udGV4dCBtZW51IHRpdGxlICovCisiUGxheWJhY2sgU3BlZWQgKE1lZGlh
IENvbnRyb2xzIE1lbnUpIiA9ICJQbGF5YmFjayBTcGVlZCI7CisKIC8qIGFjY2Vzc2liaWxpdHkg
aGVscCB0ZXh0IGZvciBlbnRlciBmdWxsIHNjcmVlbiBidXR0b24gKi8KICJQbGF5IG1vdmllIGlu
IGZ1bGwgc2NyZWVuIG1vZGUiID0gIlBsYXkgbW92aWUgaW4gZnVsbCBzY3JlZW4gbW9kZSI7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IDZkNzAzM2IxZTBh
ODY5YWQwMzc5YjVhY2Q2OTYwZmJhNWVjNDgzMzUuLmQwMGM1MjdjZDBhNWY0MTNkYjJmZmQyZTA3
NDliNWMxMDFhMWRjNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlh
RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNw
cApAQCAtNzQ5MCw2ICs3NDkwLDExIEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6c2V0TWVkaWFD
b250cm9sc01heGltdW1SaWdodENvbnRhaW5lckJ1dHRvbkNvdW50T3ZlcnJpZGUoCiAgICAgc2V0
Q29udHJvbGxlckpTUHJvcGVydHkoIm1heGltdW1SaWdodENvbnRhaW5lckJ1dHRvbkNvdW50T3Zl
cnJpZGUiLCBKU0M6OmpzTnVtYmVyKGNvdW50KSk7CiB9CiAKK3ZvaWQgSFRNTE1lZGlhRWxlbWVu
dDo6c2V0TWVkaWFDb250cm9sc0hpZGVQbGF5YmFja1JhdGVzKGJvb2wgaGlkZVBsYXliYWNrUmF0
ZXMpCit7CisgICAgc2V0Q29udHJvbGxlckpTUHJvcGVydHkoImhpZGVQbGF5YmFja1JhdGVzIiwg
SlNDOjpqc0Jvb2xlYW4oaGlkZVBsYXliYWNrUmF0ZXMpKTsKK30KKwogdW5zaWduZWQgbG9uZyBs
b25nIEhUTUxNZWRpYUVsZW1lbnQ6OmZpbGVTaXplKCkgY29uc3QKIHsKICAgICBpZiAobV9wbGF5
ZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCmluZGV4IGQ4ZWU3MDI0ODIw
YzhlMmE4MGMwOWIxZTcxZGUyNWYwODkxYzUwZTcuLjQ4N2VkZjkwZDAwYzIyYjI2MjNjMWI4YTFm
ZmZhOTc2MTIzZmFhYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlh
RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCkBA
IC00OTQsNiArNDk0LDcgQEAgcHVibGljOgogICAgIHZvaWQgdXNlckludGVyZmFjZUxheW91dERp
cmVjdGlvbkNoYW5nZWQoKTsKICAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgZ2V0Q3VycmVudE1l
ZGlhQ29udHJvbHNTdGF0dXMoKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldE1lZGlhQ29u
dHJvbHNNYXhpbXVtUmlnaHRDb250YWluZXJCdXR0b25Db3VudE92ZXJyaWRlKHNpemVfdCk7Cisg
ICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRNZWRpYUNvbnRyb2xzSGlkZVBsYXliYWNrUmF0ZXMo
Ym9vbCk7CiAgICAgTWVkaWFDb250cm9sc0hvc3QqIG1lZGlhQ29udHJvbHNIb3N0KCkgeyByZXR1
cm4gbV9tZWRpYUNvbnRyb2xzSG9zdC5nZXQoKTsgfQogCiAgICAgYm9vbCBpc0Rpc2FibGluZ1Ns
ZWVwKCkgY29uc3QgeyByZXR1cm4gbV9zbGVlcERpc2FibGVyLmdldCgpOyB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCmluZGV4IGVkNjc4ODgxYzcwZmQ3NzA5OWNlZTk1OWJm
ZDA0NWUwNGQ3MjdiNzIuLmJkODU1MmQwMThjODc5YzBlNjFkNmQ5NzMzZTA1ZmMwZTkwYmY5ZDQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCkBAIC04Niw3ICs4Niw3IEBA
IHB1YmxpYzoKICNpZiBFTkFCTEUoVklERU8pCiAgICAgdmlydHVhbCBTdHJpbmcgbWVkaWFDb250
cm9sc1N0eWxlU2hlZXQoKSB7IHJldHVybiBTdHJpbmcoKTsgfQogICAgIHZpcnR1YWwgU3RyaW5n
IGV4dHJhTWVkaWFDb250cm9sc1N0eWxlU2hlZXQoKSB7IHJldHVybiBTdHJpbmcoKTsgfQotICAg
IHZpcnR1YWwgVmVjdG9yPFN0cmluZywgMz4gbWVkaWFDb250cm9sc1NjcmlwdHMoKSB7IHJldHVy
biB7IH07IH0KKyAgICB2aXJ0dWFsIFZlY3RvcjxTdHJpbmcsIDI+IG1lZGlhQ29udHJvbHNTY3Jp
cHRzKCkgeyByZXR1cm4geyB9OyB9CiAjaWYgRU5BQkxFKE1PREVSTl9NRURJQV9DT05UUk9MUykK
ICAgICB2aXJ0dWFsIFN0cmluZyBtZWRpYUNvbnRyb2xzQmFzZTY0U3RyaW5nRm9ySWNvbk5hbWVB
bmRUeXBlKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYpIHsgcmV0dXJuIFN0cmluZygpOyB9
CiAgICAgdmlydHVhbCBTdHJpbmcgbWVkaWFDb250cm9sc0Zvcm1hdHRlZFN0cmluZ0ZvckR1cmF0
aW9uKGRvdWJsZSkgeyByZXR1cm4gU3RyaW5nKCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUFkd2FpdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRoZW1lQWR3YWl0YS5jcHAKaW5kZXggMDZmYjdkMWU2MTRhNTg0MjJiNDI0
NWRjYzJiMTlmMmE2MTdjNTVhZC4uZGYwNzg0ZTFjMTQ2MTMyNGJmZTc1NThjZGQ0M2JiMjkxYWQy
ODEwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQWR3
YWl0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQWR3YWl0
YS5jcHAKQEAgLTE3Miw3ICsxNzIsNyBAQCBTdHJpbmcgUmVuZGVyVGhlbWVBZHdhaXRhOjpleHRy
YU1lZGlhQ29udHJvbHNTdHlsZVNoZWV0KCkKICAgICByZXR1cm4gU3RyaW5nSW1wbDo6Y3JlYXRl
V2l0aG91dENvcHlpbmcobWVkaWFDb250cm9sc0Fkd2FpdGFVc2VyQWdlbnRTdHlsZVNoZWV0LCBz
aXplb2YobWVkaWFDb250cm9sc0Fkd2FpdGFVc2VyQWdlbnRTdHlsZVNoZWV0KSk7CiB9CiAKLVZl
Y3RvcjxTdHJpbmcsIDM+IFJlbmRlclRoZW1lQWR3YWl0YTo6bWVkaWFDb250cm9sc1NjcmlwdHMo
KQorVmVjdG9yPFN0cmluZywgMj4gUmVuZGVyVGhlbWVBZHdhaXRhOjptZWRpYUNvbnRyb2xzU2Ny
aXB0cygpCiB7CiAgICAgcmV0dXJuIHsgU3RyaW5nSW1wbDo6Y3JlYXRlV2l0aG91dENvcHlpbmco
bWVkaWFDb250cm9sc0Fkd2FpdGFKYXZhU2NyaXB0LCBzaXplb2YobWVkaWFDb250cm9sc0Fkd2Fp
dGFKYXZhU2NyaXB0KSkgfTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUaGVtZUFkd2FpdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
aGVtZUFkd2FpdGEuaAppbmRleCBlMDAyODY4ZWU3Zjc1ZDhmYzcwODBlZTYzZDgxZjMwYTA3YWM2
NWFmLi43ODk5ZWIyMzVkNWEwNGNhYjA3YWU3YjU3MGU2MTg0YjMxMTIxMGZjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVBZHdhaXRhLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQWR3YWl0YS5oCkBAIC0zNyw3ICszNyw3
IEBAIHByaXZhdGU6CiAgICAgU3RyaW5nIGV4dHJhRGVmYXVsdFN0eWxlU2hlZXQoKSBmaW5hbDsK
ICNpZiBFTkFCTEUoVklERU8pCiAgICAgU3RyaW5nIGV4dHJhTWVkaWFDb250cm9sc1N0eWxlU2hl
ZXQoKSBmaW5hbDsKLSAgICBWZWN0b3I8U3RyaW5nLCAzPiBtZWRpYUNvbnRyb2xzU2NyaXB0cygp
IGZpbmFsOworICAgIFZlY3RvcjxTdHJpbmcsIDI+IG1lZGlhQ29udHJvbHNTY3JpcHRzKCkgZmlu
YWw7CiAjZW5kaWYKIAogICAgIGJvb2wgc3VwcG9ydHNIb3Zlcihjb25zdCBSZW5kZXJTdHlsZSYp
IGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUaGVtZUNvY29hLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGhlbWVDb2NvYS5oCmluZGV4IDlmMTY1MjhmZmU3MzU5YzJmNjhmMDJmMTRkZDhkY2Y5
OTJmNmIyYjcuLjQwZjU4YjIxYjBmOWI1NjNlYWZhZGNlMmNlOGM2Mzk3MjgwNjQ0NTcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNvY29hLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ29jb2EuaApAQCAtNTMsMTMgKzUz
LDEyIEBAIHByaXZhdGU6CiAKICNpZiBFTkFCTEUoVklERU8pICYmIEVOQUJMRShNT0RFUk5fTUVE
SUFfQ09OVFJPTFMpCiAgICAgU3RyaW5nIG1lZGlhQ29udHJvbHNTdHlsZVNoZWV0KCkgb3ZlcnJp
ZGU7Ci0gICAgVmVjdG9yPFN0cmluZywgMz4gbWVkaWFDb250cm9sc1NjcmlwdHMoKSBvdmVycmlk
ZTsKKyAgICBWZWN0b3I8U3RyaW5nLCAyPiBtZWRpYUNvbnRyb2xzU2NyaXB0cygpIG92ZXJyaWRl
OwogICAgIFN0cmluZyBtZWRpYUNvbnRyb2xzQmFzZTY0U3RyaW5nRm9ySWNvbk5hbWVBbmRUeXBl
KGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYpIG92ZXJyaWRlOwogICAgIFN0cmluZyBtZWRp
YUNvbnRyb2xzRm9ybWF0dGVkU3RyaW5nRm9yRHVyYXRpb24oZG91YmxlKSBvdmVycmlkZTsKIAog
ICAgIFN0cmluZyBtX21lZGlhQ29udHJvbHNMb2NhbGl6ZWRTdHJpbmdzU2NyaXB0OwogICAgIFN0
cmluZyBtX21lZGlhQ29udHJvbHNTY3JpcHQ7Ci0gICAgU3RyaW5nIG1fbWVkaWFDb250cm9sc0Fk
ZGl0aW9uYWxTY3JpcHQ7CiAgICAgU3RyaW5nIG1fbWVkaWFDb250cm9sc1N0eWxlU2hlZXQ7CiAg
ICAgUmV0YWluUHRyPE5TRGF0ZUNvbXBvbmVudHNGb3JtYXR0ZXI+IG1fZHVyYXRpb25Gb3JtYXR0
ZXI7CiAjZW5kaWYgLy8gRU5BQkxFKFZJREVPKSAmJiBFTkFCTEUoTU9ERVJOX01FRElBX0NPTlRS
T0xTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ29j
b2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDb2NvYS5tbQppbmRl
eCA5ZTIwOGRkNGU2MjU4NTMwODljYzAwMjBmNWY0YzQ2MWJiNjk5MThkLi45M2EyODk0MTg3MjFl
MWYwNzhhMmMzMzgyMDUyOTdiODYwMTE3YWMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGhlbWVDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGhlbWVDb2NvYS5tbQpAQCAtNTAsMTAgKzUwLDYgQEAKICNpbXBvcnQgPHBhbC9j
b2NvYS9QYXNzS2l0U29mdExpbmsuaD4KICNlbmRpZgogCi0jaWYgVVNFKEFQUExFX0lOVEVSTkFM
X1NESykKLSNpbmNsdWRlIDxXZWJLaXRBZGRpdGlvbnMvUmVuZGVyVGhlbWVDb2NvYUFkZGl0aW9u
cy5jcHA+Ci0jZW5kaWYKLQogQGludGVyZmFjZSBXZWJDb3JlUmVuZGVyVGhlbWVCdW5kbGUgOiBO
U09iamVjdAogQGVuZAogCkBAIC03Miw3ICs2OCw2IEBAIHZvaWQgUmVuZGVyVGhlbWVDb2NvYTo6
cHVyZ2VDYWNoZXMoKQogI2lmIEVOQUJMRShWSURFTykgJiYgRU5BQkxFKE1PREVSTl9NRURJQV9D
T05UUk9MUykKICAgICBtX21lZGlhQ29udHJvbHNMb2NhbGl6ZWRTdHJpbmdzU2NyaXB0LmNsZWFy
SW1wbElmTm90U2hhcmVkKCk7CiAgICAgbV9tZWRpYUNvbnRyb2xzU2NyaXB0LmNsZWFySW1wbElm
Tm90U2hhcmVkKCk7Ci0gICAgbV9tZWRpYUNvbnRyb2xzQWRkaXRpb25hbFNjcmlwdC5jbGVhcklt
cGxJZk5vdFNoYXJlZCgpOwogICAgIG1fbWVkaWFDb250cm9sc1N0eWxlU2hlZXQuY2xlYXJJbXBs
SWZOb3RTaGFyZWQoKTsKICNlbmRpZiAvLyBFTkFCTEUoVklERU8pICYmIEVOQUJMRShNT0RFUk5f
TUVESUFfQ09OVFJPTFMpCiAKQEAgLTE4OCw3ICsxODMsNyBAQCBTdHJpbmcgUmVuZGVyVGhlbWVD
b2NvYTo6bWVkaWFDb250cm9sc1N0eWxlU2hlZXQoKQogICAgIHJldHVybiBtX21lZGlhQ29udHJv
bHNTdHlsZVNoZWV0OwogfQogCi1WZWN0b3I8U3RyaW5nLCAzPiBSZW5kZXJUaGVtZUNvY29hOjpt
ZWRpYUNvbnRyb2xzU2NyaXB0cygpCitWZWN0b3I8U3RyaW5nLCAyPiBSZW5kZXJUaGVtZUNvY29h
OjptZWRpYUNvbnRyb2xzU2NyaXB0cygpCiB7CiAgICAgLy8gRklYTUU6IExvY2FsaXplZCBzdHJp
bmdzIGFyZSBub3Qgd29ydGggaGF2aW5nIGEgc2NyaXB0LiBXZSBzaG91bGQgbWFrZSBpdCBKU09O
IGRhdGEgZXRjLiBpbnN0ZWFkLgogICAgIGlmIChtX21lZGlhQ29udHJvbHNMb2NhbGl6ZWRTdHJp
bmdzU2NyaXB0LmlzRW1wdHkoKSkgewpAQCAtMTk5LDE1ICsxOTQsOSBAQCBWZWN0b3I8U3RyaW5n
LCAzPiBSZW5kZXJUaGVtZUNvY29hOjptZWRpYUNvbnRyb2xzU2NyaXB0cygpCiAgICAgaWYgKG1f
bWVkaWFDb250cm9sc1NjcmlwdC5pc0VtcHR5KCkpCiAgICAgICAgIG1fbWVkaWFDb250cm9sc1Nj
cmlwdCA9IFN0cmluZ0ltcGw6OmNyZWF0ZVdpdGhvdXRDb3B5aW5nKE1vZGVybk1lZGlhQ29udHJv
bHNKYXZhU2NyaXB0LCBzaXplb2YoTW9kZXJuTWVkaWFDb250cm9sc0phdmFTY3JpcHQpKTsKIAot
I2lmIGRlZmluZWQoUmVuZGVyVGhlbWVDb2NvYUFkZGl0aW9uc19tZWRpYUNvbnRyb2xzQWRkaXRp
b25hbFNjcmlwdCkKLSAgICBpZiAobV9tZWRpYUNvbnRyb2xzQWRkaXRpb25hbFNjcmlwdC5pc0Vt
cHR5KCkpCi0gICAgICAgIG1fbWVkaWFDb250cm9sc0FkZGl0aW9uYWxTY3JpcHQgPSBTdHJpbmco
UmVuZGVyVGhlbWVDb2NvYUFkZGl0aW9uc19tZWRpYUNvbnRyb2xzQWRkaXRpb25hbFNjcmlwdCk7
Ci0jZW5kaWYKLQogICAgIHJldHVybiB7CiAgICAgICAgIG1fbWVkaWFDb250cm9sc0xvY2FsaXpl
ZFN0cmluZ3NTY3JpcHQsCiAgICAgICAgIG1fbWVkaWFDb250cm9sc1NjcmlwdCwKLSAgICAgICAg
bV9tZWRpYUNvbnRyb2xzQWRkaXRpb25hbFNjcmlwdCwKICAgICB9OwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVXaW4uY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lV2luLmNwcAppbmRleCBhYjg3YWU4NWU0OWRmYjVm
MmQ1NjVlMmY5MjljNmU1N2FiYjkxNTIyLi5iNWYyMmQ4OWQxZjkzNjgwNzJhZjNiZWI4N2JmMDJi
NzExZjI3NDQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWVXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVdpbi5j
cHAKQEAgLTEwNzksNyArMTA3OSw3IEBAIFN0cmluZyBSZW5kZXJUaGVtZVdpbjo6bWVkaWFDb250
cm9sc1N0eWxlU2hlZXQoKQogI2VuZGlmCiB9CiAKLVZlY3RvcjxTdHJpbmcsIDM+IFJlbmRlclRo
ZW1lV2luOjptZWRpYUNvbnRyb2xzU2NyaXB0cygpCitWZWN0b3I8U3RyaW5nLCAyPiBSZW5kZXJU
aGVtZVdpbjo6bWVkaWFDb250cm9sc1NjcmlwdHMoKQogewogI2lmIEVOQUJMRShNRURJQV9DT05U
Uk9MU19TQ1JJUFQpCiAgICAgaWYgKG1fbWVkaWFDb250cm9sc1NjcmlwdC5pc0VtcHR5KCkpIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVdpbi5oIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lV2luLmgKaW5kZXggNmQxN2FmZDgz
YWI2M2ZkYWZjOGZhMTg4MTNjYjMzNzM3YzVhMTIwOS4uYzgxYjUwYTMyYTI5M2ViNjdiMGIyNjI3
MDNlMTBlNTAzZTg2ZDgyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lV2luLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1l
V2luLmgKQEAgLTEyMSw3ICsxMjEsNyBAQCBwdWJsaWM6CiAKICNpZiBFTkFCTEUoVklERU8pCiAg
ICAgU3RyaW5nIG1lZGlhQ29udHJvbHNTdHlsZVNoZWV0KCkgb3ZlcnJpZGU7Ci0gICAgVmVjdG9y
PFN0cmluZywgMz4gbWVkaWFDb250cm9sc1NjcmlwdHMoKSBvdmVycmlkZTsKKyAgICBWZWN0b3I8
U3RyaW5nLCAyPiBtZWRpYUNvbnRyb2xzU2NyaXB0cygpIG92ZXJyaWRlOwogI2VuZGlmCiAKICAg
ICBJbnRTaXplIG1ldGVyU2l6ZUZvckJvdW5kcyhjb25zdCBSZW5kZXJNZXRlciYsIGNvbnN0IElu
dFJlY3QmKSBjb25zdCBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApp
bmRleCBmMTExYzI1Mzc5NWQwNzU5MDZlYjVkNzk0NjI4YTBmMjJhYTRhNzg0Li4yNzgxMjcwOWUw
NjJlNTQxMGIzZTU3NGQ2ZTc0YWVlZmMwMTA1NjAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuY3BwCkBAIC00ODIyLDYgKzQ4MjIsMTEgQEAgdm9pZCBJbnRlcm5hbHM6OnNldE1lZGlh
Q29udHJvbHNNYXhpbXVtUmlnaHRDb250YWluZXJCdXR0b25Db3VudE92ZXJyaWRlKEhUTUxNZWQK
ICAgICBtZWRpYUVsZW1lbnQuc2V0TWVkaWFDb250cm9sc01heGltdW1SaWdodENvbnRhaW5lckJ1
dHRvbkNvdW50T3ZlcnJpZGUoY291bnQpOwogfQogCit2b2lkIEludGVybmFsczo6c2V0TWVkaWFD
b250cm9sc0hpZGVQbGF5YmFja1JhdGVzKEhUTUxNZWRpYUVsZW1lbnQmIG1lZGlhRWxlbWVudCwg
Ym9vbCBoaWRlUGxheWJhY2tSYXRlcykKK3sKKyAgICBtZWRpYUVsZW1lbnQuc2V0TWVkaWFDb250
cm9sc0hpZGVQbGF5YmFja1JhdGVzKGhpZGVQbGF5YmFja1JhdGVzKTsKK30KKwogI2VuZGlmIC8v
IEVOQUJMRShWSURFTykKIAogI2lmICFQTEFURk9STShDT0NPQSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5oCmluZGV4IGRkMDI1NDc1ZmM5ZWVkM2M2OWY4MzEyNzA4ZDAxYWEwODhiNzIzNjQu
LjVhNWU4MTJmZGY2NjVhMGNiNzdjYmI3NmNjMjE1YmZjNTY1NjY0Y2QgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuaApAQCAtNzUyLDYgKzc1Miw3IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUo
VklERU8pCiAgICAgU3RyaW5nIGdldEN1cnJlbnRNZWRpYUNvbnRyb2xzU3RhdHVzRm9yRWxlbWVu
dChIVE1MTWVkaWFFbGVtZW50Jik7CiAgICAgdm9pZCBzZXRNZWRpYUNvbnRyb2xzTWF4aW11bVJp
Z2h0Q29udGFpbmVyQnV0dG9uQ291bnRPdmVycmlkZShIVE1MTWVkaWFFbGVtZW50Jiwgc2l6ZV90
KTsKKyAgICB2b2lkIHNldE1lZGlhQ29udHJvbHNIaWRlUGxheWJhY2tSYXRlcyhIVE1MTWVkaWFF
bGVtZW50JiwgYm9vbCk7CiAjZW5kaWYgLy8gRU5BQkxFKFZJREVPKQogCiAgICAgU3RyaW5nIHVz
ZXJWaXNpYmxlU3RyaW5nKGNvbnN0IERPTVVSTCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuaWRsCmluZGV4IDM5ODAzMDIzOGJiOGEwMDQ5YTQ3ZjgxMWMxNDI5NWM4OWQ2ZGMwNjQuLjE1
MTlhMzA2NTczZmMxYjgwMWRjZGNmNzRhZGZkODg3MGRlNzhiNWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5pZGwKQEAgLTc4NSw2ICs3ODUsNyBAQCBlbnVtIFRyZWVUeXBlIHsKIAog
ICAgIFtDb25kaXRpb25hbD1WSURFT10gRE9NU3RyaW5nIGdldEN1cnJlbnRNZWRpYUNvbnRyb2xz
U3RhdHVzRm9yRWxlbWVudChIVE1MTWVkaWFFbGVtZW50IGVsZW1lbnQpOwogICAgIFtDb25kaXRp
b25hbD1WSURFT10gdW5kZWZpbmVkIHNldE1lZGlhQ29udHJvbHNNYXhpbXVtUmlnaHRDb250YWlu
ZXJCdXR0b25Db3VudE92ZXJyaWRlKEhUTUxNZWRpYUVsZW1lbnQgZWxlbWVudCwgdW5zaWduZWQg
bG9uZyBjb3VudCk7CisgICAgW0NvbmRpdGlvbmFsPVZJREVPXSB1bmRlZmluZWQgc2V0TWVkaWFD
b250cm9sc0hpZGVQbGF5YmFja1JhdGVzKEhUTUxNZWRpYUVsZW1lbnQgZWxlbWVudCwgYm9vbGVh
biBoaWRlUGxheWJhY2tSYXRlcyk7CiAKICAgICBET01TdHJpbmcgdXNlclZpc2libGVTdHJpbmco
RE9NVVJMIHVybCk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzYTZjMTk3YWM2YzllYWM3MzVhZDFmOWQ0NDM3ZmEwZjQ3
YjcxMjJjLi5lZGNiNTFjZjE1MzFkY2I2ZDk1OTNhODc1MzEyNDY0MjM0ODBiZGYyIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjEgQEAKKzIwMjEtMDYtMDcgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUu
Y29tPgorCisgICAgICAgIFtNb2Rlcm4gTWVkaWEgQ29udHJvbHNdIHVwc3RyZWFtIG5ldyBmZWF0
dXJlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2
NzM2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83ODk1NzQ2ND4KKworICAgICAgICBSZXZpZXdl
ZCBieSBFcmljIENhcmxzb24uCisKKyAgICAgICAgKiBtZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJv
bHMvb3ZlcmZsb3ctYnV0dG9uL292ZXJmbG93LWJ1dHRvbi5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBtZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvb3ZlcmZsb3ctYnV0dG9uL292ZXJmbG93LWJ1
dHRvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIG1lZGlhL21vZGVybi1tZWRpYS1j
b250cm9scy9vdmVyZmxvdy1zdXBwb3J0L2NoYXB0ZXJzLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IG1lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9vdmVyZmxvdy1zdXBwb3J0L2NoYXB0ZXJzLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xz
L292ZXJmbG93LXN1cHBvcnQvcGxheWJhY2stc3BlZWQuaHRtbDogQWRkZWQuCisgICAgICAgICog
bWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL292ZXJmbG93LXN1cHBvcnQvcGxheWJhY2stc3Bl
ZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6Cisg
ICAgICAgICogcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDIxLTA2LTA3
ICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJl
dmlld2VkLCByZWxhbmQgcjI3NjU5MiB3aXRoIGEgZml4IGZvciBwdXQoKSBvdmVycmlkZSBpbiBw
cm90b3R5cGUgY2hhaW4gb2YgYSBKU1Byb3h5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0
RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBiYzcyZWMz
ZTNkNGFhYjhkYzdlY2ZiMzc4MGI5ZGUyMzFkY2NjMmFmLi4wN2UyMTlkMmRkODhhOWE3YjFiYTdj
OTQwNjNmMTQ0M2Q5NjNmNjA1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRp
b25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTY1LDYgKzY1LDcgQEAg
ZmFzdC9zY3JvbGxpbmcvaXBhZCBbIFNraXAgXQogZmFzdC90ZXh0L21hYyBbIFNraXAgXQogc2Ny
b2xsaW5nY29vcmRpbmF0b3IgWyBTa2lwIF0KIG1lZGlhL2lvcyBbIFNraXAgXQorbWVkaWEvbW9k
ZXJuLW1lZGlhLWNvbnRyb2xzL292ZXJmbG93LXN1cHBvcnQgWyBTa2lwIF0KIG1lZGlhL21vZGVy
bi1tZWRpYS1jb250cm9scy90cmFja3Mtc3VwcG9ydCBbIFNraXAgXQogZmFzdC90ZXh0LWF1dG9z
aXppbmcgWyBTa2lwIF0KIGZhc3QvY3NzL3ZhcmlhYmxlcy9lbnYvaW9zIFsgU2tpcCBdCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvb3ZlcmZsb3ct
YnV0dG9uL292ZXJmbG93LWJ1dHRvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9tZWRpYS9t
b2Rlcm4tbWVkaWEtY29udHJvbHMvb3ZlcmZsb3ctYnV0dG9uL292ZXJmbG93LWJ1dHRvbi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZDQ1YTJlYmE2NzYzYmM5M2ViNWNlMzAyMzA5YWZjNGY5Yjgw
MDYzNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1j
b250cm9scy9vdmVyZmxvdy1idXR0b24vb3ZlcmZsb3ctYnV0dG9uLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDE0IEBACitUZXN0aW5nIHRoZSBPdmVyZmxvd0J1dHRvbiBjbGFzcy4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mgb3ZlcmZsb3dCdXR0b24uZWxlbWVudC5sb2Nh
bE5hbWUgaXMgImJ1dHRvbiIKK1BBU1Mgb3ZlcmZsb3dCdXR0b24uZWxlbWVudC5jbGFzc0xpc3Qu
Y29udGFpbnMoIm92ZXJmbG93IikgaXMgdHJ1ZQorUEFTUyBvdmVyZmxvd0J1dHRvbi5pY29uTmFt
ZSBpcyBJY29ucy5PdmVyZmxvdworUEFTUyBvdmVyZmxvd0J1dHRvbi5pbWFnZS5lbGVtZW50LnN0
eWxlLndlYmtpdE1hc2tJbWFnZS5pbmNsdWRlcygibWFjT1MvT3ZlcmZsb3cuc3ZnIikgYmVjYW1l
IHRydWUKK1BBU1MgaU9TT3ZlcmZsb3dCdXR0b24uaW1hZ2UuZWxlbWVudC5zdHlsZS53ZWJraXRN
YXNrSW1hZ2UuaW5jbHVkZXMoImlPUy9PdmVyZmxvdy5zdmciKSBiZWNhbWUgdHJ1ZQorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9vdmVyZmxvdy1idXR0b24v
b3ZlcmZsb3ctYnV0dG9uLmh0bWwgYi9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29u
dHJvbHMvb3ZlcmZsb3ctYnV0dG9uL292ZXJmbG93LWJ1dHRvbi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY0
NTZiZjAyNjBjN2Q5ODJhMzBjMjgzMTZkNWZkNGU4YjYxODEzNzIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvb3ZlcmZsb3ctYnV0dG9u
L292ZXJmbG93LWJ1dHRvbi5odG1sCkBAIC0wLDAgKzEsMjUgQEAKKzxzY3JpcHQgc3JjPSIuLi8u
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy9tZWRpYS1jb250cm9scy1sb2FkZXIuanMiIHR5cGU9InRleHQvamF2YXNjcmlw
dCI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL21lZGlhLWNvbnRyb2xzLXV0
aWxzLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgorPGJvZHk+Cis8c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworZGVzY3JpcHRpb24oIlRlc3RpbmcgdGhlIDxjb2RlPk92ZXJmbG93QnV0dG9uPC9jb2RlPiBj
bGFzcy4iKTsKKworY29uc3Qgb3ZlcmZsb3dCdXR0b24gPSBuZXcgT3ZlcmZsb3dCdXR0b24oeyBs
YXlvdXRUcmFpdHM6IExheW91dFRyYWl0cy5tYWNPUyB9KTsKKworc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJvdmVyZmxvd0J1dHRvbi5lbGVtZW50LmxvY2FsTmFtZSIsICJidXR0b24iKTsKK3Nob3Vs
ZEJlVHJ1ZSgnb3ZlcmZsb3dCdXR0b24uZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoIm92ZXJm
bG93IiknKTsKK3Nob3VsZEJlKCJvdmVyZmxvd0J1dHRvbi5pY29uTmFtZSIsICJJY29ucy5PdmVy
ZmxvdyIpOworCitjb25zdCBpT1NPdmVyZmxvd0J1dHRvbiA9IG5ldyBPdmVyZmxvd0J1dHRvbih7
IGxheW91dFRyYWl0czogTGF5b3V0VHJhaXRzLmlPUyB9KTsKKworc2hvdWxkQmVjb21lRXF1YWwo
J292ZXJmbG93QnV0dG9uLmltYWdlLmVsZW1lbnQuc3R5bGUud2Via2l0TWFza0ltYWdlLmluY2x1
ZGVzKCJtYWNPUy9PdmVyZmxvdy5zdmciKScsICJ0cnVlIiwgKCkgPT4geworICAgIHNob3VsZEJl
Y29tZUVxdWFsKCdpT1NPdmVyZmxvd0J1dHRvbi5pbWFnZS5lbGVtZW50LnN0eWxlLndlYmtpdE1h
c2tJbWFnZS5pbmNsdWRlcygiaU9TL092ZXJmbG93LnN2ZyIpJywgInRydWUiLCBmaW5pc2hKU1Rl
c3QpOworfSk7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL292ZXJmbG93LXN1cHBvcnQvY2hhcHRlcnMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL292
ZXJmbG93LXN1cHBvcnQvY2hhcHRlcnMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI1NjdjZGI1
NzUwODk5YTg0Y2ZiZWFlN2NmZTFhMmM0MjAxNGM0ODEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvb3ZlcmZsb3ctc3VwcG9ydC9jaGFw
dGVycy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNCBAQAorVGVzdGluZyB0aGUgT3ZlcmZsb3dT
dXBwb3J0IGJlaGF2aW9yIGZvciBQbGF5YmFjayBTcGVlZC4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCisKK1BBU1Mgc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCdidXR0b24ub3ZlcmZs
b3cnKSBiZWNhbWUgZGlmZmVyZW50IGZyb20gbnVsbAorUEFTUyBzaGFkb3dSb290LnF1ZXJ5U2Vs
ZWN0b3IoJ2J1dHRvbi5vdmVyZmxvdycpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoIGJl
Y2FtZSBkaWZmZXJlbnQgZnJvbSAwCitUYXBwaW5nIG92ZXJmbG93IGJ1dHRvbi4uLgorU2VsZWN0
aW5nIGZpcnN0IGNoYXB0ZXIgY3VlLi4uCitQQVNTIG1lZGlhLmN1cnJlbnRUaW1lIGlzID49IDUK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvb3ZlcmZsb3ct
c3VwcG9ydC9jaGFwdGVycy5odG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNv
bnRyb2xzL292ZXJmbG93LXN1cHBvcnQvY2hhcHRlcnMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYWVkMGVk
NjdiZWMyYWMxMTRjZmI1NGFlNjFhZTU0ODRiZjUyNDk0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL292ZXJmbG93LXN1cHBvcnQvY2hh
cHRlcnMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgiPgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy9tZWRpYS1jb250cm9scy11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxib2R5Pgor
PHZpZGVvIHNyYz0iLi4vLi4vY29udGVudC9sb25nLXRlc3QubXA0IiBzdHlsZT0icG9zaXRpb246
IGFic29sdXRlOyBsZWZ0OiAwOyB0b3A6IDA7IHdpZHRoOiA2MDBweDsiIGNvbnRyb2xzIGF1dG9w
bGF5IG11dGVkIHBsYXlzaW5saW5lPgorICAgIDx0cmFjayBzcmM9Ii4uLy4uL2NvbnRlbnQvbG9y
ZW0taXBzdW0udnR0IiBraW5kPSJjaGFwdGVycyI+Cis8L3ZpZGVvPgorPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiPgorCit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisKK2Rlc2Ny
aXB0aW9uKCJUZXN0aW5nIHRoZSA8Y29kZT5PdmVyZmxvd1N1cHBvcnQ8L2NvZGU+IGJlaGF2aW9y
IGZvciBQbGF5YmFjayBTcGVlZC4iKTsKKworY29uc3QgbWVkaWEgPSBkb2N1bWVudC5xdWVyeVNl
bGVjdG9yKCJ2aWRlbyIpOworY29uc3Qgc2hhZG93Um9vdCA9IHdpbmRvdy5pbnRlcm5hbHMuc2hh
ZG93Um9vdChtZWRpYSk7CisKK3dpbmRvdy5pbnRlcm5hbHMuc2V0TWVkaWFDb250cm9sc0hpZGVQ
bGF5YmFja1JhdGVzKG1lZGlhLCB0cnVlKTsKKworbGV0IGNvbnRleHRtZW51ID0gbnVsbDsKKwor
bWVkaWEuYWRkRXZlbnRMaXN0ZW5lcigicGxheSIsIGZ1bmN0aW9uKCkgeworICAgIG1lZGlhLnBh
dXNlKCk7CisKKyAgICBzaG91bGRCZWNvbWVEaWZmZXJlbnQoInNoYWRvd1Jvb3QucXVlcnlTZWxl
Y3RvcignYnV0dG9uLm92ZXJmbG93JykiLCAibnVsbCIsICgpID0+IHsKKyAgICAgICAgc2hvdWxk
QmVjb21lRGlmZmVyZW50KCJzaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJ2J1dHRvbi5vdmVyZmxv
dycpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoIiwgIjAiLCBhc3luYyAoKSA9PiB7Cisg
ICAgICAgICAgICBkZWJ1ZygiVGFwcGluZyBvdmVyZmxvdyBidXR0b24uLi4iKTsKKyAgICAgICAg
ICAgIGF3YWl0IHByZXNzT25FbGVtZW50KHNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiYnV0dG9u
Lm92ZXJmbG93IikpOworICAgICAgICAgICAgY29udGV4dG1lbnUgPSBhd2FpdCBnZXRUcmFja3ND
b250ZXh0TWVudSgpOworCisgICAgICAgICAgICBkZWJ1ZygiU2VsZWN0aW5nIGZpcnN0IGNoYXB0
ZXIgY3VlLi4uIik7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5jaG9vc2VNZW51QWN0aW9u
KCJpcHN1bSIpOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIud2FpdEZvckNvbnRleHRNZW51
VG9IaWRlKCk7CisKKyAgICAgICAgICAgIHNob3VsZEJlR3JlYXRlclRoYW5PckVxdWFsKCJtZWRp
YS5jdXJyZW50VGltZSIsICI1Iik7CisKKyAgICAgICAgICAgIG1lZGlhLnJlbW92ZSgpOworICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgIH0pOworICAgIH0pOworfSk7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJu
LW1lZGlhLWNvbnRyb2xzL292ZXJmbG93LXN1cHBvcnQvcGxheWJhY2stc3BlZWQtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL292ZXJmbG93LXN1
cHBvcnQvcGxheWJhY2stc3BlZWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRhMmE2NDcxOWUx
YTYzNGE0MWY1NTlmZDk3MmE4NDE5NmNhYmJiNGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvb3ZlcmZsb3ctc3VwcG9ydC9wbGF5YmFj
ay1zcGVlZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMyBAQAorVGVzdGluZyB0aGUgT3ZlcmZs
b3dTdXBwb3J0IGJlaGF2aW9yIGZvciBQbGF5YmFjayBTcGVlZC4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCisKK1BBU1Mgc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCdidXR0b24ub3Zl
cmZsb3cnKSBiZWNhbWUgZGlmZmVyZW50IGZyb20gbnVsbAorUEFTUyBzaGFkb3dSb290LnF1ZXJ5
U2VsZWN0b3IoJ2J1dHRvbi5vdmVyZmxvdycpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRo
IGJlY2FtZSBkaWZmZXJlbnQgZnJvbSAwCitUYXBwaW5nIG92ZXJmbG93IGJ1dHRvbi4uLgorUEFT
UyBjaGVja2VkSXRlbXMubGVuZ3RoIGlzIDEKK1BBU1MgY2hlY2tlZEl0ZW1zWzBdLnRpdGxlIGlz
ICIxw5ciCitDaGFuZ2luZyBwbGF5YmFjayBzcGVlZCB2aWEgSmF2YVNjcmlwdC4uLgorVGFwcGlu
ZyBvdmVyZmxvdyBidXR0b24uLi4KK1BBU1MgY2hlY2tlZEl0ZW1zLmxlbmd0aCBpcyAxCitQQVNT
IGNoZWNrZWRJdGVtc1swXS50aXRsZSBpcyAiMsOXIgorU2VsZWN0aW5nICcxLjXDlycgcGxheWJh
Y2sgc3BlZWQuLi4KK1BBU1MgbWVkaWEucGxheWJhY2tSYXRlIGlzIDEuNQorVGFwcGluZyBvdmVy
ZmxvdyBidXR0b24uLi4KK1BBU1MgY2hlY2tlZEl0ZW1zLmxlbmd0aCBpcyAxCitQQVNTIGNoZWNr
ZWRJdGVtc1swXS50aXRsZSBpcyAiMS41w5ciCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvbW9k
ZXJuLW1lZGlhLWNvbnRyb2xzL292ZXJmbG93LXN1cHBvcnQvcGxheWJhY2stc3BlZWQuaHRtbCBi
L0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9vdmVyZmxvdy1zdXBwb3J0
L3BsYXliYWNrLXNwZWVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGRhOGY4MjVjY2UxMDEwMmIzZDc1MzE1
YWZmNTdhMjc3NmYyYjRjYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL21lZGlhL21v
ZGVybi1tZWRpYS1jb250cm9scy9vdmVyZmxvdy1zdXBwb3J0L3BsYXliYWNrLXNwZWVkLmh0bWwK
QEAgLTAsMCArMSw2NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoIj4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMv
bWVkaWEtY29udHJvbHMtdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzx2aWRlbyBzcmM9
Ii4uLy4uL2NvbnRlbnQvY291bnRpbmcubXA0IiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBs
ZWZ0OiAwOyB0b3A6IDA7IHdpZHRoOiA2MDBweDsiIGNvbnRyb2xzIGF1dG9wbGF5IG11dGVkIHBs
YXlzaW5saW5lPjwvdmlkZW8+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisKK3dp
bmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworZGVzY3JpcHRpb24oIlRlc3RpbmcgdGhlIDxj
b2RlPk92ZXJmbG93U3VwcG9ydDwvY29kZT4gYmVoYXZpb3IgZm9yIFBsYXliYWNrIFNwZWVkLiIp
OworCitjb25zdCBtdWx0aXBsaWNhdGlvblNpZ24gPSAiXHUwMGQ3IjsKKworY29uc3QgbWVkaWEg
PSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJ2aWRlbyIpOworY29uc3Qgc2hhZG93Um9vdCA9IHdp
bmRvdy5pbnRlcm5hbHMuc2hhZG93Um9vdChtZWRpYSk7CisKK2xldCBjb250ZXh0bWVudSA9IG51
bGw7CitsZXQgY2hlY2tlZEl0ZW1zID0gbnVsbDsKKworbWVkaWEuYWRkRXZlbnRMaXN0ZW5lcigi
cGxheSIsIGZ1bmN0aW9uKCkgeworICAgIG1lZGlhLnBhdXNlKCk7CisKKyAgICBzaG91bGRCZWNv
bWVEaWZmZXJlbnQoInNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcignYnV0dG9uLm92ZXJmbG93Jyki
LCAibnVsbCIsICgpID0+IHsKKyAgICAgICAgc2hvdWxkQmVjb21lRGlmZmVyZW50KCJzaGFkb3dS
b290LnF1ZXJ5U2VsZWN0b3IoJ2J1dHRvbi5vdmVyZmxvdycpLmdldEJvdW5kaW5nQ2xpZW50UmVj
dCgpLndpZHRoIiwgIjAiLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICBkZWJ1ZygiVGFwcGlu
ZyBvdmVyZmxvdyBidXR0b24uLi4iKTsKKyAgICAgICAgICAgIGF3YWl0IHByZXNzT25FbGVtZW50
KHNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiYnV0dG9uLm92ZXJmbG93IikpOworICAgICAgICAg
ICAgY29udGV4dG1lbnUgPSBhd2FpdCBnZXRUcmFja3NDb250ZXh0TWVudSgpOworICAgICAgICAg
ICAgY2hlY2tlZEl0ZW1zID0gY29udGV4dG1lbnVbMF0uY2hpbGRyZW4uZmlsdGVyKChpdGVtKSA9
PiBpdGVtLmNoZWNrZWQpOworICAgICAgICAgICAgc2hvdWxkQmUoImNoZWNrZWRJdGVtcy5sZW5n
dGgiLCAiMSIpOworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJjaGVja2VkSXRl
bXNbMF0udGl0bGUiLCBgMSR7bXVsdGlwbGljYXRpb25TaWdufWApOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIud2FpdEZvckNvbnRleHRNZW51VG9IaWRlKCk7CisKKyAgICAgICAgICAgIGRl
YnVnKCJDaGFuZ2luZyBwbGF5YmFjayBzcGVlZCB2aWEgSmF2YVNjcmlwdC4uLiIpOworICAgICAg
ICAgICAgbWVkaWEucGxheWJhY2tSYXRlID0gMi4wOworCisgICAgICAgICAgICBkZWJ1ZygiVGFw
cGluZyBvdmVyZmxvdyBidXR0b24uLi4iKTsKKyAgICAgICAgICAgIGF3YWl0IHByZXNzT25FbGVt
ZW50KHNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiYnV0dG9uLm92ZXJmbG93IikpOworICAgICAg
ICAgICAgY29udGV4dG1lbnUgPSBhd2FpdCBnZXRUcmFja3NDb250ZXh0TWVudSgpOworICAgICAg
ICAgICAgY2hlY2tlZEl0ZW1zID0gY29udGV4dG1lbnVbMF0uY2hpbGRyZW4uZmlsdGVyKChpdGVt
KSA9PiBpdGVtLmNoZWNrZWQpOworICAgICAgICAgICAgc2hvdWxkQmUoImNoZWNrZWRJdGVtcy5s
ZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJjaGVja2Vk
SXRlbXNbMF0udGl0bGUiLCBgMiR7bXVsdGlwbGljYXRpb25TaWdufWApOworCisgICAgICAgICAg
ICBkZWJ1ZyhgU2VsZWN0aW5nICcxLjUke211bHRpcGxpY2F0aW9uU2lnbn0nIHBsYXliYWNrIHNw
ZWVkLi4uYCk7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5jaG9vc2VNZW51QWN0aW9uKGAx
LjUke211bHRpcGxpY2F0aW9uU2lnbn1gKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLndh
aXRGb3JDb250ZXh0TWVudVRvSGlkZSgpOworCisgICAgICAgICAgICBzaG91bGRCZSgibWVkaWEu
cGxheWJhY2tSYXRlIiwgIjEuNSIpOworCisgICAgICAgICAgICBkZWJ1ZygiVGFwcGluZyBvdmVy
ZmxvdyBidXR0b24uLi4iKTsKKyAgICAgICAgICAgIGF3YWl0IHByZXNzT25FbGVtZW50KHNoYWRv
d1Jvb3QucXVlcnlTZWxlY3RvcigiYnV0dG9uLm92ZXJmbG93IikpOworICAgICAgICAgICAgY29u
dGV4dG1lbnUgPSBhd2FpdCBnZXRUcmFja3NDb250ZXh0TWVudSgpOworICAgICAgICAgICAgY2hl
Y2tlZEl0ZW1zID0gY29udGV4dG1lbnVbMF0uY2hpbGRyZW4uZmlsdGVyKChpdGVtKSA9PiBpdGVt
LmNoZWNrZWQpOworICAgICAgICAgICAgc2hvdWxkQmUoImNoZWNrZWRJdGVtcy5sZW5ndGgiLCAi
MSIpOworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJjaGVja2VkSXRlbXNbMF0u
dGl0bGUiLCBgMS41JHttdWx0aXBsaWNhdGlvblNpZ259YCk7CisKKyAgICAgICAgICAgIG1lZGlh
LnJlbW92ZSgpOworICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgIH0pOworICAg
IH0pOworfSk7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDQ4ZmJkNTc4YWY3Y2VkN2U0ZjE1NGNk
N2IyNzBkZjYyYTc0NjMyYzIuLjJlN2JmMWJlMzlhNjIzMjhiOTY2Y2ViYzBjYTgyZjhhMDQ0Y2Fk
NzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0
aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMK
QEAgLTE5LDYgKzE5LDcgQEAgZmFzdC9zY3JvbGxpbmcvbWFjIFsgUGFzcyBdCiBmYXN0L3Zpc3Vh
bC12aWV3cG9ydC90aWxlZC1kcmF3aW5nIFsgUGFzcyBdCiBmYXN0L3dlYi1zaGFyZSBbIFBhc3Mg
XQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWItc2hhcmUgWyBQYXNzIF0KK21l
ZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9vdmVyZmxvdy1zdXBwb3J0IFsgUGFzcyBdCiBtZWRp
YS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvdHJhY2tzLXN1cHBvcnQgWyBQYXNzIF0KIHNjcm9sbGlu
Z2Nvb3JkaW5hdG9yIFsgUGFzcyBdCiBzY3JvbGxpbmdjb29yZGluYXRvci9pb3MgWyBTa2lwIF0K
</data>
<flag name="commit-queue"
          id="452486"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>