<?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>100762</bug_id>
          
          <creation_ts>2012-10-30 08:17:11 -0700</creation_ts>
          <short_desc>Web Inspector: Implement device scale factor emulation through media query overrides</short_desc>
          <delta_ts>2012-12-28 23:58:11 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexander Pavlov (apavlov)">apavlov</reporter>
          <assigned_to name="Alexander Pavlov (apavlov)">apavlov</assigned_to>
          <cc>apavlov</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>syoichi</cc>
    
    <cc>vsevik</cc>
    
    <cc>web-inspector-bugs</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>754383</commentid>
    <comment_count>0</comment_count>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-10-30 08:17:11 -0700</bug_when>
    <thetext>Patch to follow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>756287</commentid>
    <comment_count>1</comment_count>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-11-01 08:36:14 -0700</bug_when>
    <thetext>The solution implies instrumentation of page-&gt;deviceScaleFactor() clients so that the page device scale factor proper will never be touched to avoid rendering troubles.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>757126</commentid>
    <comment_count>2</comment_count>
      <attachid>172046</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-11-02 05:33:31 -0700</bug_when>
    <thetext>Created attachment 172046
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>757536</commentid>
    <comment_count>3</comment_count>
      <attachid>172046</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-02 13:39:15 -0700</bug_when>
    <thetext>Comment on attachment 172046
Patch

Attachment 172046 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/14660225

New failing tests:
platform/chromium/inspector/styles/device-metrics-fit-window.html
inspector/styles/override-screen-size.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>766535</commentid>
    <comment_count>4</comment_count>
      <attachid>172046</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-11-14 00:06:07 -0800</bug_when>
    <thetext>Comment on attachment 172046
Patch

Taking it offline - we need to figure out if that is the best we can offer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>798067</commentid>
    <comment_count>5</comment_count>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-12-28 23:58:11 -0800</bug_when>
    <thetext>This is not the right way to tackle the problem.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>172046</attachid>
            <date>2012-11-02 05:33:31 -0700</date>
            <delta_ts>2012-11-14 00:06:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100762-20121102163149.patch</filename>
            <type>text/plain</type>
            <size>38586</size>
            <attacher name="Alexander Pavlov (apavlov)">apavlov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzMjY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWRhMzBjZTE0OGQzNWJl
ZTdkNDRkZWIyMzMxMThmZDg3ZDMyMDI4NS4uNGQ5OTYxNDgxM2Y3NzY4Njc1MjJlMmM5ZmVmNzQx
YzUwOTUxNDU1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU5IEBACisyMDEyLTExLTAyICBBbGV4
YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogSW1wbGVtZW50IGRldmljZSBzY2FsZSBmYWN0b3IgZW11bGF0aW9uIHRocm91Z2ggbWVk
aWEgcXVlcnkgb3ZlcnJpZGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMDA3NjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBBdCB0aGUgbW9tZW50LCB0aGUgZm9sbG93aW5nIGVmZmVjdHMgYXJlIGVtdWxh
dGVkIHRocm91Z2ggdGhlIGluc3RydW1lbnRhdGlvbiBvZiB0aGUgcmVzcGVjdGl2ZSBjb2RlCisg
ICAgICAgIChpdCBpcyBpbXBvc3NpYmxlIHRvIHVzZSBwYWdlLT5zZXREZXZpY2VTY2FsZUZhY3Rv
cigpIGR1ZSB0byB0aGUgYWJzZW50IGNvbXBvc2l0b3Igc3VwcG9ydCBvbiBub24tSGlnaERQSSBP
U2VzKToKKyAgICAgICAgLSBtZWRpYSBxdWVyeTogLXdlYmtpdC1kZXZpY2UtcGl4ZWwtcmF0aW8K
KyAgICAgICAgLSAtd2Via2l0LWltYWdlLXNldCBpbWFnZSBtYXRjaGluZworICAgICAgICAtIHdp
bmRvdy5kZXZpY2VTY2FsZUZhY3RvcgorCisgICAgICAgIFRlc3Q6IGluc3BlY3Rvci9zdHlsZXMv
ZGV2aWNlLXNjYWxlLWZhY3Rvci5odG1sCisKKyAgICAgICAgKiBFbmdsaXNoLmxwcm9qL2xvY2Fs
aXplZFN0cmluZ3MuanM6CisgICAgICAgICogY3NzL0NTU0ltYWdlU2V0VmFsdWUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTSW1hZ2VTZXRWYWx1ZTo6Y2FjaGVkSW1hZ2VTZXQpOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTSW1hZ2VTZXRWYWx1ZTo6Y2FjaGVkT3JQZW5kaW5nSW1hZ2VTZXQpOgor
ICAgICAgICAqIGNzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OmRldmljZV9waXhlbF9yYXRpb01lZGlhRmVhdHVyZUV2YWwpOgorICAgICAgICAqIGluc3BlY3Rv
ci9JbnNwZWN0b3IuanNvbjoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uOjphcHBseURldmljZVNjYWxlRmFjdG9yT3ZlcnJpZGVJbXBsKToK
KyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmg6CisgICAgICAg
IChJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjphcHBseURldmljZVNjYWxlRmFjdG9yT3ZlcnJpZGUpOgorICAgICAg
ICAoV2ViQ29yZSk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5jcHA6
CisgICAgICAgIChQYWdlQWdlbnRTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JQ
YWdlQWdlbnQ6OmRpc2FibGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yUGFnZUFnZW50
OjpzZXREZXZpY2VNZXRyaWNzT3ZlcnJpZGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
UGFnZUFnZW50OjphcHBseURldmljZVNjYWxlRmFjdG9yT3ZlcnJpZGUpOgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5oOgorICAgICAg
ICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU2V0dGluZ3NTY3JlZW4uanM6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuVXNlckFnZW50U2V0dGluZ3NUYWIucHJvdG90eXBlLl9jcmVhdGVVc2VyQWdlbnRT
ZWxlY3RSb3dFbGVtZW50LmdldCBjb25zdCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVXNlckFn
ZW50U2V0dGluZ3NUYWIucHJvdG90eXBlLl9vbk1ldHJpY3NDaGVja2JveENsaWNrZWQpOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLlVzZXJBZ2VudFNldHRpbmdzVGFiLnByb3RvdHlwZS5fYXBwbHlE
ZXZpY2VNZXRyaWNzVXNlcklucHV0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Vc2VyQWdlbnRT
ZXR0aW5nc1RhYi5wcm90b3R5cGUuX2NyZWF0ZURldmljZU1ldHJpY3NFbGVtZW50KToKKyAgICAg
ICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1VzZXJBZ2VudFN1cHBvcnQuanM6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuVXNlckFnZW50U3VwcG9ydC5EZXZpY2VNZXRyaWNzKToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5Vc2VyQWdlbnRTdXBwb3J0LkRldmljZU1ldHJpY3MucGFyc2VTZXR0aW5nKToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5Vc2VyQWdlbnRTdXBwb3J0LkRldmljZU1ldHJpY3MucGFy
c2VVc2VySW5wdXQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlVzZXJBZ2VudFN1cHBvcnQuRGV2
aWNlTWV0cmljcy5wcm90b3R5cGUuaXNWYWxpZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVXNl
ckFnZW50U3VwcG9ydC5EZXZpY2VNZXRyaWNzLnByb3RvdHlwZS5pc0RldmljZVBpeGVsUmF0aW9W
YWxpZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVXNlckFnZW50U3VwcG9ydC5EZXZpY2VNZXRy
aWNzLnByb3RvdHlwZS50b1NldHRpbmcpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlVzZXJBZ2Vu
dFN1cHBvcnQuRGV2aWNlTWV0cmljcy5wcm90b3R5cGUuZm9udFNjYWxlRmFjdG9yVG9JbnB1dCk6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuVXNlckFnZW50U3VwcG9ydC5EZXZpY2VNZXRyaWNzLnBy
b3RvdHlwZS5kZXZpY2VQaXhlbFJhdGlvVG9JbnB1dCk6CisgICAgICAgICogcGFnZS9ET01XaW5k
b3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpkZXZpY2VQaXhlbFJhdGlvKToK
KyAgICAgICAgKiBwYWdlL1NjcmVlbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JlZW46Omhv
cml6b250YWxEUEkpOgorICAgICAgICAoV2ViQ29yZTo6U2NyZWVuOjp2ZXJ0aWNhbERQSSk6CisK
IDIwMTItMTEtMDEgIFNoaW55YSBLYXdhbmFrYSAgPHNoaW55YWtAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFtTaGFkb3ddIEVsZW1lbnQgc2hvdWxkIGhhdmUgZ2V0dGVyIGFuZCBzZXR0ZXIgb2Yg
YXR0cmlidXRlICdwc2V1ZG8nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9FbmdsaXNoLmxw
cm9qL2xvY2FsaXplZFN0cmluZ3MuanMgYi9Tb3VyY2UvV2ViQ29yZS9FbmdsaXNoLmxwcm9qL2xv
Y2FsaXplZFN0cmluZ3MuanMKaW5kZXggNzBlMDUxNWMxOTNkM2VhMjZkYWMzNDkxYzcwYWQ5NGUz
NzZmZTAzNy4uN2I1NmE5NmZkODhhZGYzNDc0OWU2Y2RjMDcxMWE3M2FkNTY3YjU4NyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvRW5nbGlzaC5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCisr
KyBiL1NvdXJjZS9XZWJDb3JlL0VuZ2xpc2gubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcwpAQCAt
MTQ2LDYgKzE0Niw3IEBAIGxvY2FsaXplZFN0cmluZ3NbIkRlbGV0ZSB3YXRjaCBleHByZXNzaW9u
Il0gPSAiRGVsZXRlIHdhdGNoIGV4cHJlc3Npb24iOwogbG9jYWxpemVkU3RyaW5nc1siRGVsZXRl
IGFsbCB3YXRjaCBleHByZXNzaW9ucyJdID0gIkRlbGV0ZSBhbGwgd2F0Y2ggZXhwcmVzc2lvbnMi
OwogbG9jYWxpemVkU3RyaW5nc1siRGVsZXRlIl0gPSAiRGVsZXRlIjsKIGxvY2FsaXplZFN0cmlu
Z3NbIkRldGFpbHMiXSA9ICJEZXRhaWxzIjsKK2xvY2FsaXplZFN0cmluZ3NbIkRldmljZSBwaXhl
bCByYXRpbzoiXSA9ICJEZXZpY2UgcGl4ZWwgcmF0aW86IjsKIGxvY2FsaXplZFN0cmluZ3NbIkRp
bWVuc2lvbnMiXSA9ICJEaW1lbnNpb25zIjsKIGxvY2FsaXplZFN0cmluZ3NbIkRpc2FibGUgQnJl
YWtwb2ludCJdID0gIkRpc2FibGUgQnJlYWtwb2ludCI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJEaXNh
YmxlIGJyZWFrcG9pbnQiXSA9ICJEaXNhYmxlIGJyZWFrcG9pbnQiOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlU2V0VmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0ltYWdlU2V0VmFsdWUuY3BwCmluZGV4IGY3ZDQwMWY1Y2Y2NzQ5MDIxODg2MDNkMjA4ZGUy
ZDYzYjljNmNhZTAuLmFmMjk4YWVkNzIyOTZhMGFiYmYxNzYzZjViZmJmZDM3Y2M2YTQzYmYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVNldFZhbHVlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VTZXRWYWx1ZS5jcHAKQEAgLTM0LDYgKzM0LDcgQEAK
ICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUxvYWRlci5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291
cmNlUmVxdWVzdC5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlN0eWxlQ2Fj
aGVkSW1hZ2VTZXQuaCIKICNpbmNsdWRlICJTdHlsZVBlbmRpbmdJbWFnZS5oIgpAQCAtOTYsOSAr
OTcsMTEgQEAgU3R5bGVDYWNoZWRJbWFnZVNldCogQ1NTSW1hZ2VTZXRWYWx1ZTo6Y2FjaGVkSW1h
Z2VTZXQoQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIGxvYWQKICAgICBBU1NFUlQobG9hZGVyKTsKIAog
ICAgIERvY3VtZW50KiBkb2N1bWVudCA9IGxvYWRlci0+ZG9jdW1lbnQoKTsKLSAgICBpZiAoUGFn
ZSogcGFnZSA9IGRvY3VtZW50LT5wYWdlKCkpCi0gICAgICAgIG1fc2NhbGVGYWN0b3IgPSBwYWdl
LT5kZXZpY2VTY2FsZUZhY3RvcigpOwotICAgIGVsc2UKKyAgICBpZiAoUGFnZSogcGFnZSA9IGRv
Y3VtZW50LT5wYWdlKCkpIHsKKyAgICAgICAgZG91YmxlIGRldmljZVNjYWxlRmFjdG9yID0gcGFn
ZS0+ZGV2aWNlU2NhbGVGYWN0b3IoKTsKKyAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
OjphcHBseURldmljZVNjYWxlRmFjdG9yT3ZlcnJpZGUocGFnZS0+bWFpbkZyYW1lKCksICZkZXZp
Y2VTY2FsZUZhY3Rvcik7CisgICAgICAgIG1fc2NhbGVGYWN0b3IgPSBzdGF0aWNfY2FzdDxmbG9h
dD4oZGV2aWNlU2NhbGVGYWN0b3IpOworICAgIH0gZWxzZQogICAgICAgICBtX3NjYWxlRmFjdG9y
ID0gMTsKIAogICAgIGlmICghbV9pbWFnZXNJblNldC5zaXplKCkpCkBAIC0xMjQsOSArMTI3LDEx
IEBAIFN0eWxlSW1hZ2UqIENTU0ltYWdlU2V0VmFsdWU6OmNhY2hlZE9yUGVuZGluZ0ltYWdlU2V0
KERvY3VtZW50KiBkb2N1bWVudCkKICAgICBpZiAoIW1faW1hZ2VTZXQpCiAgICAgICAgIG1faW1h
Z2VTZXQgPSBTdHlsZVBlbmRpbmdJbWFnZTo6Y3JlYXRlKHRoaXMpOwogICAgIGVsc2UgaWYgKGRv
Y3VtZW50ICYmICFtX2ltYWdlU2V0LT5pc1BlbmRpbmdJbWFnZSgpKSB7Ci0gICAgICAgIGZsb2F0
IGRldmljZVNjYWxlRmFjdG9yID0gMTsKLSAgICAgICAgaWYgKFBhZ2UqIHBhZ2UgPSBkb2N1bWVu
dC0+cGFnZSgpKQorICAgICAgICBkb3VibGUgZGV2aWNlU2NhbGVGYWN0b3IgPSAxOworICAgICAg
ICBpZiAoUGFnZSogcGFnZSA9IGRvY3VtZW50LT5wYWdlKCkpIHsKICAgICAgICAgICAgIGRldmlj
ZVNjYWxlRmFjdG9yID0gcGFnZS0+ZGV2aWNlU2NhbGVGYWN0b3IoKTsKKyAgICAgICAgICAgIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YXBwbHlEZXZpY2VTY2FsZUZhY3Rvck92ZXJyaWRlKHBh
Z2UtPm1haW5GcmFtZSgpLCAmZGV2aWNlU2NhbGVGYWN0b3IpOworICAgICAgICB9CiAKICAgICAg
ICAgLy8gSWYgdGhlIGRldmljZVNjYWxlRmFjdG9yIGhhcyBjaGFuZ2VkLCB3ZSBtYXkgbm90IGhh
dmUgdGhlIGJlc3QgaW1hZ2UgbG9hZGVkLCBzbyB3ZSBoYXZlIHRvIHJlLWFzc2Vzcy4KICAgICAg
ICAgaWYgKGRldmljZVNjYWxlRmFjdG9yICE9IG1fc2NhbGVGYWN0b3IpIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcAppbmRleCAyY2Y2OTk5MGQ1ZDczMTc5MmQ3
NDQ1NzhjNjFjMzJmNGUzOTgwYTg0Li5jMzc1MTkyYjY4NGMxNjcxZTE1OTk1Mjc2MjU4ZTBkNzUy
ZTFiMTczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1YXRv
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFdmFsdWF0b3IuY3BwCkBA
IC0yOTAsMTYgKzI5MCwxNyBAQCBzdGF0aWMgYm9vbCBkZXZpY2VfYXNwZWN0X3JhdGlvTWVkaWFG
ZWF0dXJlRXZhbChDU1NWYWx1ZSogdmFsdWUsIFJlbmRlclN0eWxlKiwgRgogc3RhdGljIGJvb2wg
ZGV2aWNlX3BpeGVsX3JhdGlvTWVkaWFGZWF0dXJlRXZhbChDU1NWYWx1ZSAqdmFsdWUsIFJlbmRl
clN0eWxlKiwgRnJhbWUqIGZyYW1lLCBNZWRpYUZlYXR1cmVQcmVmaXggb3ApCiB7CiAgICAgLy8g
RklYTUU6IFBvc3NpYmxlIGhhbmRsZSBvdGhlciBtZWRpYSB0eXBlcyB0aGFuICdzY3JlZW4nIGFu
ZCAncHJpbnQnLgotICAgIGZsb2F0IGRldmljZVNjYWxlRmFjdG9yID0gMDsKKyAgICBkb3VibGUg
ZGV2aWNlU2NhbGVGYWN0b3IgPSAwOwogCiAgICAgLy8gVGhpcyBjaGVja3MgdGhlIGFjdHVhbCBt
ZWRpYSB0eXBlIGFwcGxpZWQgdG8gdGhlIGRvY3VtZW50LCBhbmQgd2Uga25vdwogICAgIC8vIHRo
aXMgbWV0aG9kIG9ubHkgZ290IGNhbGxlZCBpZiB0aGlzIG1lZGlhIHR5cGUgbWF0Y2hlcyB0aGUg
b25lIGRlZmluZWQKICAgICAvLyBpbiB0aGUgcXVlcnkuIFRodXMsIGlmIGlmIHRoZSBkb2N1bWVu
dCdzIG1lZGlhIHR5cGUgaXMgInByaW50IiwgdGhlCiAgICAgLy8gbWVkaWEgdHlwZSBvZiB0aGUg
cXVlcnkgd2lsbCBlaXRoZXIgYmUgInByaW50IiBvciAiYWxsIi4KICAgICBTdHJpbmcgbWVkaWFU
eXBlID0gZnJhbWUtPnZpZXcoKS0+bWVkaWFUeXBlKCk7Ci0gICAgaWYgKGVxdWFsSWdub3JpbmdD
YXNlKG1lZGlhVHlwZSwgInNjcmVlbiIpKQorICAgIGlmIChlcXVhbElnbm9yaW5nQ2FzZShtZWRp
YVR5cGUsICJzY3JlZW4iKSkgewogICAgICAgICBkZXZpY2VTY2FsZUZhY3RvciA9IGZyYW1lLT5w
YWdlKCktPmRldmljZVNjYWxlRmFjdG9yKCk7Ci0gICAgZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nh
c2UobWVkaWFUeXBlLCAicHJpbnQiKSkgeworICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246OmFwcGx5RGV2aWNlU2NhbGVGYWN0b3JPdmVycmlkZShmcmFtZSwgJmRldmljZVNjYWxlRmFj
dG9yKTsKKyAgICB9IGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKG1lZGlhVHlwZSwgInByaW50
IikpIHsKICAgICAgICAgLy8gVGhlIHJlc29sdXRpb24gb2YgaW1hZ2VzIHdoaWxlIHByaW50aW5n
IHNob3VsZCBub3QgZGVwZW5kIG9uIHRoZSBkcGkKICAgICAgICAgLy8gb2YgdGhlIHNjcmVlbi4g
VW50aWwgd2Ugc3VwcG9ydCBwcm9wZXIgd2F5cyBvZiBxdWVyeWluZyB0aGlzIGluZm8KICAgICAg
ICAgLy8gd2UgdXNlIDMwMHB4IHdoaWNoIGlzIGNvbnNpZGVyZWQgbWluaW11bSBmb3IgY3VycmVu
dCBwcmludGVycy4KQEAgLTMwOSw3ICszMTAsNyBAQCBzdGF0aWMgYm9vbCBkZXZpY2VfcGl4ZWxf
cmF0aW9NZWRpYUZlYXR1cmVFdmFsKENTU1ZhbHVlICp2YWx1ZSwgUmVuZGVyU3R5bGUqLCBGcgog
ICAgIGlmICghdmFsdWUpCiAgICAgICAgIHJldHVybiAhIWRldmljZVNjYWxlRmFjdG9yOwogCi0g
ICAgcmV0dXJuIHZhbHVlLT5pc1ByaW1pdGl2ZVZhbHVlKCkgJiYgY29tcGFyZVZhbHVlKGRldmlj
ZVNjYWxlRmFjdG9yLCBzdGF0aWNfY2FzdDxDU1NQcmltaXRpdmVWYWx1ZSo+KHZhbHVlKS0+Z2V0
RmxvYXRWYWx1ZSgpLCBvcCk7CisgICAgcmV0dXJuIHZhbHVlLT5pc1ByaW1pdGl2ZVZhbHVlKCkg
JiYgY29tcGFyZVZhbHVlKHN0YXRpY19jYXN0PGZsb2F0PihkZXZpY2VTY2FsZUZhY3RvciksIHN0
YXRpY19jYXN0PENTU1ByaW1pdGl2ZVZhbHVlKj4odmFsdWUpLT5nZXRGbG9hdFZhbHVlKCksIG9w
KTsKIH0KIAogc3RhdGljIGJvb2wgcmVzb2x1dGlvbk1lZGlhRmVhdHVyZUV2YWwoQ1NTVmFsdWUq
IHZhbHVlLCBSZW5kZXJTdHlsZSosIEZyYW1lKiBmcmFtZSwgTWVkaWFGZWF0dXJlUHJlZml4IG9w
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCmluZGV4IDUxNTY2YWQzMzJm
NDlkN2EyYzk4ZTM2YjQ5Y2Q1OWM5ODZjMzQ4MmYuLjgwNTk5YjViNWFlZTlmOGZhNTdjM2RmODFm
Y2VkMDEyNjgzNzA5ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3IuanNvbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24K
QEAgLTMzMiw2ICszMzIsNyBAQAogICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogIndpZHRo
IiwgInR5cGUiOiAiaW50ZWdlciIsICJkZXNjcmlwdGlvbiI6ICJPdmVycmlkaW5nIHdpZHRoIHZh
bHVlIGluIHBpeGVscyAobWluaW11bSAwLCBtYXhpbXVtIDEwMDAwMDAwKS4gMCBkaXNhYmxlcyB0
aGUgb3ZlcnJpZGUuIiB9LAogICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImhlaWdodCIs
ICJ0eXBlIjogImludGVnZXIiLCAiZGVzY3JpcHRpb24iOiAiT3ZlcnJpZGluZyBoZWlnaHQgdmFs
dWUgaW4gcGl4ZWxzIChtaW5pbXVtIDAsIG1heGltdW0gMTAwMDAwMDApLiAwIGRpc2FibGVzIHRo
ZSBvdmVycmlkZS4iIH0sCiAgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiZm9udFNjYWxl
RmFjdG9yIiwgInR5cGUiOiAibnVtYmVyIiwgImRlc2NyaXB0aW9uIjogIk92ZXJyaWRpbmcgZm9u
dCBzY2FsZSBmYWN0b3IgdmFsdWUgKG11c3QgYmUgcG9zaXRpdmUpLiAxIGRpc2FibGVzIHRoZSBv
dmVycmlkZS4iIH0sCisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiZGV2aWNlUGl4ZWxS
YXRpbyIsICJ0eXBlIjogIm51bWJlciIsICJkZXNjcmlwdGlvbiI6ICJPdmVycmlkaW5nIGRldmlj
ZSBwaXhlbCByYXRpbyB2YWx1ZSAobXVzdCBiZSBwb3NpdGl2ZSkuIDEgZGlzYWJsZXMgdGhlIG92
ZXJyaWRlLiIgfSwKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJmaXRXaW5kb3ciLCAi
dHlwZSI6ICJib29sZWFuIiwgImRlc2NyaXB0aW9uIjogIldoZXRoZXIgYSB2aWV3IHRoYXQgZXhj
ZWVkcyB0aGUgYXZhaWxhYmxlIGJyb3dzZXIgd2luZG93IGFyZWEgc2hvdWxkIGJlIHNjYWxlZCBk
b3duIHRvIGZpdC4iIH0KICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICJoaWRk
ZW4iOiB0cnVlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb24uY3BwCmluZGV4IGFkMzUzNmE3MGQ1OTZjZDljMmRhOWVlMjBhYjQ1ZGUw
M2QwNzM4Y2YuLjk0OTlmZGM3MmIzY2Q1N2U5YmUwMTk0Y2M3MjcxYWZhY2Y0YmU1NjEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRp
b24uY3BwCkBAIC02MzUsNiArNjM1LDEyIEBAIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
OjphcHBseVNjcmVlbkhlaWdodE92ZXJyaWRlSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzCiAgICAg
ICAgIHBhZ2VBZ2VudC0+YXBwbHlTY3JlZW5IZWlnaHRPdmVycmlkZShoZWlnaHQpOwogfQogCit2
b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YXBwbHlEZXZpY2VTY2FsZUZhY3Rvck92ZXJy
aWRlSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBkb3VibGUq
IGZhY3RvcikKK3sKKyAgICBpZiAoSW5zcGVjdG9yUGFnZUFnZW50KiBwYWdlQWdlbnQgPSBpbnN0
cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JQYWdlQWdlbnQoKSkKKyAgICAgICAgcGFnZUFnZW50
LT5hcHBseURldmljZVNjYWxlRmFjdG9yT3ZlcnJpZGUoZmFjdG9yKTsKK30KKwogYm9vbCBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OnNob3VsZEFwcGx5U2NyZWVuV2lkdGhPdmVycmlkZUltcGwo
SW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cykKIHsKICAgICBpZiAoSW5z
cGVjdG9yUGFnZUFnZW50KiBwYWdlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0
b3JQYWdlQWdlbnQoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbi5oCmluZGV4IGNjYTA1NGEwNWI5Y2JhNzUyYjZlODVhMzY0ZmRl
MmZmNzg5MzdmMDEuLmIwZWNkZTg1YzBkYjEyNGViYjdhMDk2M2RiZTFlMjNjMWRlMTgyNmMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRp
b24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uLmgKQEAgLTE2MCw2ICsxNjAsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgYXBwbHlV
c2VyQWdlbnRPdmVycmlkZShGcmFtZSosIFN0cmluZyopOwogICAgIHN0YXRpYyB2b2lkIGFwcGx5
U2NyZWVuV2lkdGhPdmVycmlkZShGcmFtZSosIGxvbmcqKTsKICAgICBzdGF0aWMgdm9pZCBhcHBs
eVNjcmVlbkhlaWdodE92ZXJyaWRlKEZyYW1lKiwgbG9uZyopOworICAgIHN0YXRpYyB2b2lkIGFw
cGx5RGV2aWNlU2NhbGVGYWN0b3JPdmVycmlkZShGcmFtZSosIGRvdWJsZSopOwogICAgIHN0YXRp
YyBib29sIHNob3VsZEFwcGx5U2NyZWVuV2lkdGhPdmVycmlkZShGcmFtZSopOwogICAgIHN0YXRp
YyBib29sIHNob3VsZEFwcGx5U2NyZWVuSGVpZ2h0T3ZlcnJpZGUoRnJhbWUqKTsKICAgICBzdGF0
aWMgdm9pZCB3aWxsU2VuZFJlcXVlc3QoRnJhbWUqLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIs
IERvY3VtZW50TG9hZGVyKiwgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgUmVzb3VyY2VSZXNwb25z
ZSYgcmVkaXJlY3RSZXNwb25zZSk7CkBAIC0zNTEsNiArMzUyLDcgQEAgcHJpdmF0ZToKICAgICBz
dGF0aWMgdm9pZCBhcHBseVVzZXJBZ2VudE92ZXJyaWRlSW1wbChJbnN0cnVtZW50aW5nQWdlbnRz
KiwgU3RyaW5nKik7CiAgICAgc3RhdGljIHZvaWQgYXBwbHlTY3JlZW5XaWR0aE92ZXJyaWRlSW1w
bChJbnN0cnVtZW50aW5nQWdlbnRzKiwgbG9uZyopOwogICAgIHN0YXRpYyB2b2lkIGFwcGx5U2Ny
ZWVuSGVpZ2h0T3ZlcnJpZGVJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCBsb25nKik7CisgICAg
c3RhdGljIHZvaWQgYXBwbHlEZXZpY2VTY2FsZUZhY3Rvck92ZXJyaWRlSW1wbChJbnN0cnVtZW50
aW5nQWdlbnRzKiwgZG91YmxlKik7CiAgICAgc3RhdGljIGJvb2wgc2hvdWxkQXBwbHlTY3JlZW5X
aWR0aE92ZXJyaWRlSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKik7CiAgICAgc3RhdGljIGJvb2wg
c2hvdWxkQXBwbHlTY3JlZW5IZWlnaHRPdmVycmlkZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyop
OwogICAgIHN0YXRpYyB2b2lkIHdpbGxTZW5kUmVxdWVzdEltcGwoSW5zdHJ1bWVudGluZ0FnZW50
cyosIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgRG9jdW1lbnRMb2FkZXIqLCBSZXNvdXJjZVJl
cXVlc3QmLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZWRpcmVjdFJlc3BvbnNlKTsKQEAgLTEw
NzAsNiArMTA3MiwxNSBAQCBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFw
cGx5U2NyZWVuSGVpZ2h0T3ZlcnJpZGUoRnJhbWUqIGZyYW1lLCBsbwogI2VuZGlmCiB9CiAKK2lu
bGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YXBwbHlEZXZpY2VTY2FsZUZhY3Rv
ck92ZXJyaWRlKEZyYW1lKiBmcmFtZSwgZG91YmxlKiBmYWN0b3IpCit7CisjaWYgRU5BQkxFKElO
U1BFQ1RPUikKKyAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFModm9pZCgpKTsKKyAgICBp
ZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRp
bmdBZ2VudHNGb3JGcmFtZShmcmFtZSkpCisgICAgICAgIGFwcGx5RGV2aWNlU2NhbGVGYWN0b3JP
dmVycmlkZUltcGwoaW5zdHJ1bWVudGluZ0FnZW50cywgZmFjdG9yKTsKKyNlbmRpZgorfQorCiBp
bmxpbmUgYm9vbCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnNob3VsZEFwcGx5U2NyZWVuV2lk
dGhPdmVycmlkZShGcmFtZSogZnJhbWUpCiB7CiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5jcHAKaW5kZXggMWRk
YWE3ZjU2YWVlZGVjMjkwNTlkOWJmNDdiZDk2M2JkOWJhYzlmZS4uNmU5N2NkZTU5NmVkZmJjYTU2
ZTc2ZDg0ZWY1Y2M3MGIwYjFlODk3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvclBhZ2VBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvclBhZ2VBZ2VudC5jcHAKQEAgLTkxLDYgKzkxLDcgQEAgc3RhdGljIGNvbnN0IGNo
YXIgcGFnZUFnZW50U2NyaXB0c1RvRXZhbHVhdGVPbkxvYWRbXSA9ICJwYWdlQWdlbnRTY3JpcHRz
VG9FdmFsdWEKIHN0YXRpYyBjb25zdCBjaGFyIHBhZ2VBZ2VudFNjcmVlbldpZHRoT3ZlcnJpZGVb
XSA9ICJwYWdlQWdlbnRTY3JlZW5XaWR0aE92ZXJyaWRlIjsKIHN0YXRpYyBjb25zdCBjaGFyIHBh
Z2VBZ2VudFNjcmVlbkhlaWdodE92ZXJyaWRlW10gPSAicGFnZUFnZW50U2NyZWVuSGVpZ2h0T3Zl
cnJpZGUiOwogc3RhdGljIGNvbnN0IGNoYXIgcGFnZUFnZW50Rm9udFNjYWxlRmFjdG9yT3ZlcnJp
ZGVbXSA9ICJwYWdlQWdlbnRGb250U2NhbGVGYWN0b3JPdmVycmlkZSI7CitzdGF0aWMgY29uc3Qg
Y2hhciBwYWdlQWdlbnREZXZpY2VQaXhlbFJhdGlvT3ZlcnJpZGVbXSA9ICJwYWdlQWdlbnREZXZp
Y2VQaXhlbFJhdGlvT3ZlcnJpZGUiOwogc3RhdGljIGNvbnN0IGNoYXIgcGFnZUFnZW50Rml0V2lu
ZG93W10gPSAicGFnZUFnZW50Rml0V2luZG93IjsKIHN0YXRpYyBjb25zdCBjaGFyIHNob3dQYWlu
dFJlY3RzW10gPSAic2hvd1BhaW50UmVjdHMiOwogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCkBA
IC0zODAsNiArMzgxLDcgQEAgdm9pZCBJbnNwZWN0b3JQYWdlQWdlbnQ6OmRpc2FibGUoRXJyb3JT
dHJpbmcqKQogICAgIG1fc3RhdGUtPnNldExvbmcoUGFnZUFnZW50U3RhdGU6OnBhZ2VBZ2VudFNj
cmVlbldpZHRoT3ZlcnJpZGUsIDApOwogICAgIG1fc3RhdGUtPnNldExvbmcoUGFnZUFnZW50U3Rh
dGU6OnBhZ2VBZ2VudFNjcmVlbkhlaWdodE92ZXJyaWRlLCAwKTsKICAgICBtX3N0YXRlLT5zZXRE
b3VibGUoUGFnZUFnZW50U3RhdGU6OnBhZ2VBZ2VudEZvbnRTY2FsZUZhY3Rvck92ZXJyaWRlLCAx
KTsKKyAgICBtX3N0YXRlLT5zZXREb3VibGUoUGFnZUFnZW50U3RhdGU6OnBhZ2VBZ2VudERldmlj
ZVBpeGVsUmF0aW9PdmVycmlkZSwgMSk7CiAgICAgbV9zdGF0ZS0+c2V0Qm9vbGVhbihQYWdlQWdl
bnRTdGF0ZTo6cGFnZUFnZW50Rml0V2luZG93LCBmYWxzZSk7CiAgICAgdXBkYXRlVmlld01ldHJp
Y3MoMCwgMCwgMSwgZmFsc2UpOwogfQpAQCAtNjY4LDEwICs2NzAsOSBAQCB2b2lkIEluc3BlY3Rv
clBhZ2VBZ2VudDo6Y2FuT3ZlcnJpZGVEZXZpY2VNZXRyaWNzKEVycm9yU3RyaW5nKiwgYm9vbCog
cmVzdWx0KQogICAgICpyZXN1bHQgPSBtX2NsaWVudC0+Y2FuT3ZlcnJpZGVEZXZpY2VNZXRyaWNz
KCk7CiB9CiAKLXZvaWQgSW5zcGVjdG9yUGFnZUFnZW50OjpzZXREZXZpY2VNZXRyaWNzT3ZlcnJp
ZGUoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBpbnQgd2lkdGgsIGludCBoZWlnaHQsIGRvdWJs
ZSBmb250U2NhbGVGYWN0b3IsIGJvb2wgZml0V2luZG93KQordm9pZCBJbnNwZWN0b3JQYWdlQWdl
bnQ6OnNldERldmljZU1ldHJpY3NPdmVycmlkZShFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGlu
dCB3aWR0aCwgaW50IGhlaWdodCwgZG91YmxlIGZvbnRTY2FsZUZhY3RvciwgZG91YmxlIGRldmlj
ZVBpeGVsUmF0aW8sIGJvb2wgZml0V2luZG93KQogewogICAgIGNvbnN0IHN0YXRpYyBsb25nIG1h
eERpbWVuc2lvbiA9IDEwMDAwMDAwOwotCiAgICAgaWYgKHdpZHRoIDwgMCB8fCBoZWlnaHQgPCAw
IHx8IHdpZHRoID4gbWF4RGltZW5zaW9uIHx8IGhlaWdodCA+IG1heERpbWVuc2lvbikgewogICAg
ICAgICAqZXJyb3JTdHJpbmcgPSBtYWtlU3RyaW5nKCJXaWR0aCBhbmQgaGVpZ2h0IHZhbHVlcyBt
dXN0IGJlIHBvc2l0aXZlLCBub3QgZ3JlYXRlciB0aGFuICIsIFN0cmluZzo6bnVtYmVyKG1heERp
bWVuc2lvbikpOwogICAgICAgICByZXR1cm47CkBAIC02ODcsMTggKzY4OCwyNSBAQCB2b2lkIElu
c3BlY3RvclBhZ2VBZ2VudDo6c2V0RGV2aWNlTWV0cmljc092ZXJyaWRlKEVycm9yU3RyaW5nKiBl
cnJvclN0cmluZywgaW50CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKKyAgICBpZiAoZGV2aWNl
UGl4ZWxSYXRpbyA8PSAwKSB7CisgICAgICAgICplcnJvclN0cmluZyA9ICJkZXZpY2VQaXhlbFJh
dGlvIG11c3QgYmUgcG9zaXRpdmUiOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgLy8g
VGhlc2UgdHdvIGFsd2F5cyBmaXQgYW4gaW50LgogICAgIGludCBjdXJyZW50V2lkdGggPSBzdGF0
aWNfY2FzdDxpbnQ+KG1fc3RhdGUtPmdldExvbmcoUGFnZUFnZW50U3RhdGU6OnBhZ2VBZ2VudFNj
cmVlbldpZHRoT3ZlcnJpZGUpKTsKICAgICBpbnQgY3VycmVudEhlaWdodCA9IHN0YXRpY19jYXN0
PGludD4obV9zdGF0ZS0+Z2V0TG9uZyhQYWdlQWdlbnRTdGF0ZTo6cGFnZUFnZW50U2NyZWVuSGVp
Z2h0T3ZlcnJpZGUpKTsKICAgICBkb3VibGUgY3VycmVudEZvbnRTY2FsZUZhY3RvciA9IG1fc3Rh
dGUtPmdldERvdWJsZShQYWdlQWdlbnRTdGF0ZTo6cGFnZUFnZW50Rm9udFNjYWxlRmFjdG9yT3Zl
cnJpZGUpOworICAgIGRvdWJsZSBjdXJyZW50RGV2aWNlUGl4ZWxSYXRpbyA9IG1fc3RhdGUtPmdl
dERvdWJsZShQYWdlQWdlbnRTdGF0ZTo6cGFnZUFnZW50RGV2aWNlUGl4ZWxSYXRpb092ZXJyaWRl
KTsKICAgICBib29sIGN1cnJlbnRGaXRXaW5kb3cgPSBtX3N0YXRlLT5nZXRCb29sZWFuKFBhZ2VB
Z2VudFN0YXRlOjpwYWdlQWdlbnRGaXRXaW5kb3cpOwogCi0gICAgaWYgKHdpZHRoID09IGN1cnJl
bnRXaWR0aCAmJiBoZWlnaHQgPT0gY3VycmVudEhlaWdodCAmJiBmb250U2NhbGVGYWN0b3IgPT0g
Y3VycmVudEZvbnRTY2FsZUZhY3RvciAmJiBmaXRXaW5kb3cgPT0gY3VycmVudEZpdFdpbmRvdykK
KyAgICBpZiAod2lkdGggPT0gY3VycmVudFdpZHRoICYmIGhlaWdodCA9PSBjdXJyZW50SGVpZ2h0
ICYmIGZvbnRTY2FsZUZhY3RvciA9PSBjdXJyZW50Rm9udFNjYWxlRmFjdG9yICYmIGRldmljZVBp
eGVsUmF0aW8gPT0gY3VycmVudERldmljZVBpeGVsUmF0aW8gJiYgZml0V2luZG93ID09IGN1cnJl
bnRGaXRXaW5kb3cpCiAgICAgICAgIHJldHVybjsKIAogICAgIG1fc3RhdGUtPnNldExvbmcoUGFn
ZUFnZW50U3RhdGU6OnBhZ2VBZ2VudFNjcmVlbldpZHRoT3ZlcnJpZGUsIHdpZHRoKTsKICAgICBt
X3N0YXRlLT5zZXRMb25nKFBhZ2VBZ2VudFN0YXRlOjpwYWdlQWdlbnRTY3JlZW5IZWlnaHRPdmVy
cmlkZSwgaGVpZ2h0KTsKICAgICBtX3N0YXRlLT5zZXREb3VibGUoUGFnZUFnZW50U3RhdGU6OnBh
Z2VBZ2VudEZvbnRTY2FsZUZhY3Rvck92ZXJyaWRlLCBmb250U2NhbGVGYWN0b3IpOworICAgIG1f
c3RhdGUtPnNldERvdWJsZShQYWdlQWdlbnRTdGF0ZTo6cGFnZUFnZW50RGV2aWNlUGl4ZWxSYXRp
b092ZXJyaWRlLCBkZXZpY2VQaXhlbFJhdGlvKTsKICAgICBtX3N0YXRlLT5zZXRCb29sZWFuKFBh
Z2VBZ2VudFN0YXRlOjpwYWdlQWdlbnRGaXRXaW5kb3csIGZpdFdpbmRvdyk7CiAKICAgICB1cGRh
dGVWaWV3TWV0cmljcyh3aWR0aCwgaGVpZ2h0LCBmb250U2NhbGVGYWN0b3IsIGZpdFdpbmRvdyk7
CkBAIC04NzQsNiArODgyLDEzIEBAIHZvaWQgSW5zcGVjdG9yUGFnZUFnZW50OjphcHBseVNjcmVl
bkhlaWdodE92ZXJyaWRlKGxvbmcqIGhlaWdodCkKICAgICAgICAgKmhlaWdodCA9IGhlaWdodE92
ZXJyaWRlOwogfQogCit2b2lkIEluc3BlY3RvclBhZ2VBZ2VudDo6YXBwbHlEZXZpY2VTY2FsZUZh
Y3Rvck92ZXJyaWRlKGRvdWJsZSogZmFjdG9yKQoreworICAgIGRvdWJsZSBmYWN0b3JPdmVycmlk
ZSA9IG1fc3RhdGUtPmdldERvdWJsZShQYWdlQWdlbnRTdGF0ZTo6cGFnZUFnZW50RGV2aWNlUGl4
ZWxSYXRpb092ZXJyaWRlKTsKKyAgICBpZiAoZmFjdG9yT3ZlcnJpZGUgIT0gMSkKKyAgICAgICAg
KmZhY3RvciA9IGZhY3Rvck92ZXJyaWRlOworfQorCiB2b2lkIEluc3BlY3RvclBhZ2VBZ2VudDo6
ZGlkUGFpbnQoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBMYXlvdXRSZWN0JiByZWN0
KQogewogICAgIGlmICghbV9zdGF0ZS0+Z2V0Qm9vbGVhbihQYWdlQWdlbnRTdGF0ZTo6c2hvd1Bh
aW50UmVjdHMpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
clBhZ2VBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2Vu
dC5oCmluZGV4IDI3NjhiYjE3ZmJlMjg2Y2Y2NTU0OWM3NjkwMzFiNWViZGZlMjkyYWYuLjcwNTI3
MDI0ZjUxYzU3OTYxODRiNGNmMGU1NDhlY2RjMzI1MDgyMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmgKQEAgLTEwNyw3ICsxMDcsNyBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCB2b2lkIHNlYXJjaEluUmVzb3VyY2VzKEVycm9yU3RyaW5nKiwgY29u
c3QgU3RyaW5nJiwgY29uc3QgYm9vbCogY2FzZVNlbnNpdGl2ZSwgY29uc3QgYm9vbCogaXNSZWdl
eCwgUmVmUHRyPFR5cGVCdWlsZGVyOjpBcnJheTxUeXBlQnVpbGRlcjo6UGFnZTo6U2VhcmNoUmVz
dWx0PiA+Jik7CiAgICAgdmlydHVhbCB2b2lkIHNldERvY3VtZW50Q29udGVudChFcnJvclN0cmlu
ZyosIGNvbnN0IFN0cmluZyYgZnJhbWVJZCwgY29uc3QgU3RyaW5nJiBodG1sKTsKICAgICB2aXJ0
dWFsIHZvaWQgY2FuT3ZlcnJpZGVEZXZpY2VNZXRyaWNzKEVycm9yU3RyaW5nKiwgYm9vbCopOwot
ICAgIHZpcnR1YWwgdm9pZCBzZXREZXZpY2VNZXRyaWNzT3ZlcnJpZGUoRXJyb3JTdHJpbmcqLCBp
bnQgd2lkdGgsIGludCBoZWlnaHQsIGRvdWJsZSBmb250U2NhbGVGYWN0b3IsIGJvb2wgZml0V2lu
ZG93KTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0RGV2aWNlTWV0cmljc092ZXJyaWRlKEVycm9yU3Ry
aW5nKiwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBkb3VibGUgZm9udFNjYWxlRmFjdG9yLCBkb3Vi
bGUgZGV2aWNlUGl4ZWxSYXRpbywgYm9vbCBmaXRXaW5kb3cpOwogICAgIHZpcnR1YWwgdm9pZCBz
ZXRTaG93UGFpbnRSZWN0cyhFcnJvclN0cmluZyosIGJvb2wgc2hvdyk7CiAgICAgdmlydHVhbCB2
b2lkIGdldFNjcmlwdEV4ZWN1dGlvblN0YXR1cyhFcnJvclN0cmluZyosIFBhZ2VDb21tYW5kSGFu
ZGxlcjo6UmVzdWx0OjpFbnVtKik7CiAgICAgdmlydHVhbCB2b2lkIHNldFNjcmlwdEV4ZWN1dGlv
bkRpc2FibGVkKEVycm9yU3RyaW5nKiwgYm9vbCk7CkBAIC0xMzYsNiArMTM2LDcgQEAgcHVibGlj
OgogICAgIHZvaWQgbG9hZGVyRGV0YWNoZWRGcm9tRnJhbWUoRG9jdW1lbnRMb2FkZXIqKTsKICAg
ICB2b2lkIGFwcGx5U2NyZWVuV2lkdGhPdmVycmlkZShsb25nKik7CiAgICAgdm9pZCBhcHBseVNj
cmVlbkhlaWdodE92ZXJyaWRlKGxvbmcqKTsKKyAgICB2b2lkIGFwcGx5RGV2aWNlU2NhbGVGYWN0
b3JPdmVycmlkZShkb3VibGUqKTsKICAgICB2b2lkIGRpZFBhaW50KEdyYXBoaWNzQ29udGV4dCos
IGNvbnN0IExheW91dFJlY3QmKTsKICAgICB2b2lkIGRpZExheW91dCgpOwogICAgIHZvaWQgZGlk
U2Nyb2xsKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L1NldHRpbmdzU2NyZWVuLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9T
ZXR0aW5nc1NjcmVlbi5qcwppbmRleCA0ZDIwOTk3NmRlNjFhOGExYjhiOTljYWE0YmNlYWU0Njgx
N2M5ZWUyLi42NjZiZGUxMzA3ZmUwNjljMWE3YzA3YmJhMTVmNzY2ZDM2NDk4YmZiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NldHRpbmdzU2NyZWVuLmpz
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2V0dGluZ3NTY3JlZW4u
anMKQEAgLTQyMiw3ICs0MjIsOCBAQCBXZWJJbnNwZWN0b3IuVXNlckFnZW50U2V0dGluZ3NUYWIu
cHJvdG90eXBlID0gewogICAgICAgICAvLyBXaGVuIHByZXNlbnQsIHRoZSB0aGlyZCBlbGVtZW50
IGxpc3RzIGRldmljZSBtZXRyaWNzIHNlcGFyYXRlZCBieSAneCc6CiAgICAgICAgIC8vIC0gc2Ny
ZWVuIHdpZHRoLAogICAgICAgICAvLyAtIHNjcmVlbiBoZWlnaHQsCi0gICAgICAgIC8vIC0gZm9u
dCBzY2FsZSBmYWN0b3IuCisgICAgICAgIC8vIC0gZm9udCBzY2FsZSBmYWN0b3IsCisgICAgICAg
IC8vIC0gZGV2aWNlIHBpeGVsIHJhdGlvLgogICAgICAgICBjb25zdCB1c2VyQWdlbnRzID0gWwog
ICAgICAgICAgICAgWyJJbnRlcm5ldCBFeHBsb3JlciA5IiwgIk1vemlsbGEvNS4wIChjb21wYXRp
YmxlOyBNU0lFIDkuMDsgV2luZG93cyBOVCA2LjE7IFRyaWRlbnQvNS4wKSJdLAogICAgICAgICAg
ICAgWyJJbnRlcm5ldCBFeHBsb3JlciA4IiwgIk1vemlsbGEvNC4wIChjb21wYXRpYmxlOyBNU0lF
IDguMDsgV2luZG93cyBOVCA2LjA7IFRyaWRlbnQvNC4wKSJdLApAQCAtNDMzLDE5ICs0MzQsMTkg
QEAgV2ViSW5zcGVjdG9yLlVzZXJBZ2VudFNldHRpbmdzVGFiLnByb3RvdHlwZSA9IHsKICAgICAg
ICAgICAgIFsiRmlyZWZveCA0IFx1MjAxNCBXaW5kb3dzIiwgIk1vemlsbGEvNS4wIChXaW5kb3dz
IE5UIDYuMTsgcnY6Mi4wLjEpIEdlY2tvLzIwMTAwMTAxIEZpcmVmb3gvNC4wLjEiXSwKICAgICAg
ICAgICAgIFsiRmlyZWZveCA0IFx1MjAxNCBNYWMiLCAiTW96aWxsYS81LjAgKE1hY2ludG9zaDsg
SW50ZWwgTWFjIE9TIFggMTAuNjsgcnY6Mi4wLjEpIEdlY2tvLzIwMTAwMTAxIEZpcmVmb3gvNC4w
LjEiXSwKIAotICAgICAgICAgICAgWyJpUGhvbmUgXHUyMDE0IGlPUyA1IiwgIk1vemlsbGEvNS4w
IChpUGhvbmU7IENQVSBpUGhvbmUgT1MgNV8wIGxpa2UgTWFjIE9TIFgpIEFwcGxlV2ViS2l0LzUz
NC40NiAoS0hUTUwsIGxpa2UgR2Vja28pIFZlcnNpb24vNS4xIE1vYmlsZS85QTMzNCBTYWZhcmkv
NzUzNC40OC4zIiwgIjY0MHg5NjB4MSJdLAotICAgICAgICAgICAgWyJpUGhvbmUgXHUyMDE0IGlP
UyA0IiwgIk1vemlsbGEvNS4wIChpUGhvbmU7IFU7IENQVSBpUGhvbmUgT1MgNF8zXzIgbGlrZSBN
YWMgT1MgWDsgZW4tdXMpIEFwcGxlV2ViS2l0LzUzMy4xNy45IChLSFRNTCwgbGlrZSBHZWNrbykg
VmVyc2lvbi81LjAuMiBNb2JpbGUvOEg3IFNhZmFyaS82NTMzLjE4LjUiLCAiNjQweDk2MHgxIl0s
Ci0gICAgICAgICAgICBbImlQYWQgXHUyMDE0IGlPUyA1IiwgIk1vemlsbGEvNS4wIChpUGFkOyBD
UFUgT1MgNV8wIGxpa2UgTWFjIE9TIFgpIEFwcGxlV2ViS2l0LzUzNC40NiAoS0hUTUwsIGxpa2Ug
R2Vja28pIFZlcnNpb24vNS4xIE1vYmlsZS85QTMzNCBTYWZhcmkvNzUzNC40OC4zIiwgIjEwMjR4
NzY4eDEiXSwKLSAgICAgICAgICAgIFsiaVBhZCBcdTIwMTQgaU9TIDQiLCAiTW96aWxsYS81LjAg
KGlQYWQ7IENQVSBPUyA0XzNfMiBsaWtlIE1hYyBPUyBYOyBlbi11cykgQXBwbGVXZWJLaXQvNTMz
LjE3LjkgKEtIVE1MLCBsaWtlIEdlY2tvKSBWZXJzaW9uLzUuMC4yIE1vYmlsZS84SDcgU2FmYXJp
LzY1MzMuMTguNSIsICIxMDI0eDc2OHgxIl0sCisgICAgICAgICAgICBbImlQaG9uZSBcdTIwMTQg
aU9TIDUiLCAiTW96aWxsYS81LjAgKGlQaG9uZTsgQ1BVIGlQaG9uZSBPUyA1XzAgbGlrZSBNYWMg
T1MgWCkgQXBwbGVXZWJLaXQvNTM0LjQ2IChLSFRNTCwgbGlrZSBHZWNrbykgVmVyc2lvbi81LjEg
TW9iaWxlLzlBMzM0IFNhZmFyaS83NTM0LjQ4LjMiLCAiNjQweDk2MHgxeDIiXSwKKyAgICAgICAg
ICAgIFsiaVBob25lIFx1MjAxNCBpT1MgNCIsICJNb3ppbGxhLzUuMCAoaVBob25lOyBVOyBDUFUg
aVBob25lIE9TIDRfM18yIGxpa2UgTWFjIE9TIFg7IGVuLXVzKSBBcHBsZVdlYktpdC81MzMuMTcu
OSAoS0hUTUwsIGxpa2UgR2Vja28pIFZlcnNpb24vNS4wLjIgTW9iaWxlLzhINyBTYWZhcmkvNjUz
My4xOC41IiwgIjY0MHg5NjB4MXgxIl0sCisgICAgICAgICAgICBbImlQYWQgXHUyMDE0IGlPUyA1
IiwgIk1vemlsbGEvNS4wIChpUGFkOyBDUFUgT1MgNV8wIGxpa2UgTWFjIE9TIFgpIEFwcGxlV2Vi
S2l0LzUzNC40NiAoS0hUTUwsIGxpa2UgR2Vja28pIFZlcnNpb24vNS4xIE1vYmlsZS85QTMzNCBT
YWZhcmkvNzUzNC40OC4zIiwgIjEwMjR4NzY4eDF4MiJdLAorICAgICAgICAgICAgWyJpUGFkIFx1
MjAxNCBpT1MgNCIsICJNb3ppbGxhLzUuMCAoaVBhZDsgQ1BVIE9TIDRfM18yIGxpa2UgTWFjIE9T
IFg7IGVuLXVzKSBBcHBsZVdlYktpdC81MzMuMTcuOSAoS0hUTUwsIGxpa2UgR2Vja28pIFZlcnNp
b24vNS4wLjIgTW9iaWxlLzhINyBTYWZhcmkvNjUzMy4xOC41IiwgIjEwMjR4NzY4eDF4MSJdLAog
Ci0gICAgICAgICAgICBbIkFuZHJvaWQgMi4zIFx1MjAxNCBOZXh1cyBTIiwgIk1vemlsbGEvNS4w
IChMaW51eDsgVTsgQW5kcm9pZCAyLjMuNjsgZW4tdXM7IE5leHVzIFMgQnVpbGQvR1JLMzlGKSBB
cHBsZVdlYktpdC81MzMuMSAoS0hUTUwsIGxpa2UgR2Vja28pIFZlcnNpb24vNC4wIE1vYmlsZSBT
YWZhcmkvNTMzLjEiLCAiNDgweDgwMHgxLjEiXSwKLSAgICAgICAgICAgIFsiQW5kcm9pZCA0LjAu
MiBcdTIwMTQgR2FsYXh5IE5leHVzIiwgIk1vemlsbGEvNS4wIChMaW51eDsgVTsgQW5kcm9pZCA0
LjAuMjsgZW4tdXM7IEdhbGF4eSBOZXh1cyBCdWlsZC9JQ0w1M0YpIEFwcGxlV2ViS2l0LzUzNC4z
MCAoS0hUTUwsIGxpa2UgR2Vja28pIFZlcnNpb24vNC4wIE1vYmlsZSBTYWZhcmkvNTM0LjMwIiwg
IjcyMHgxMjgweDEuMSJdLAorICAgICAgICAgICAgWyJBbmRyb2lkIDIuMyBcdTIwMTQgTmV4dXMg
UyIsICJNb3ppbGxhLzUuMCAoTGludXg7IFU7IEFuZHJvaWQgMi4zLjY7IGVuLXVzOyBOZXh1cyBT
IEJ1aWxkL0dSSzM5RikgQXBwbGVXZWJLaXQvNTMzLjEgKEtIVE1MLCBsaWtlIEdlY2tvKSBWZXJz
aW9uLzQuMCBNb2JpbGUgU2FmYXJpLzUzMy4xIiwgIjQ4MHg4MDB4MS4xeDEuNSJdLAorICAgICAg
ICAgICAgWyJBbmRyb2lkIDQuMC4yIFx1MjAxNCBHYWxheHkgTmV4dXMiLCAiTW96aWxsYS81LjAg
KExpbnV4OyBVOyBBbmRyb2lkIDQuMC4yOyBlbi11czsgR2FsYXh5IE5leHVzIEJ1aWxkL0lDTDUz
RikgQXBwbGVXZWJLaXQvNTM0LjMwIChLSFRNTCwgbGlrZSBHZWNrbykgVmVyc2lvbi80LjAgTW9i
aWxlIFNhZmFyaS81MzQuMzAiLCAiNzIweDEyODB4MS4xeDIiXSwKIAotICAgICAgICAgICAgWyJC
bGFja0JlcnJ5IFx1MjAxNCBQbGF5Qm9vayAyLjEiLCAiTW96aWxsYS81LjAgKFBsYXlCb29rOyBV
OyBSSU0gVGFibGV0IE9TIDIuMS4wOyBlbi1VUykgQXBwbGVXZWJLaXQvNTM2LjIrIChLSFRNTCwg
bGlrZSBHZWNrbykgVmVyc2lvbi83LjIuMS4wIFNhZmFyaS81MzYuMisiLCAiMTAyNHg2MDB4MSJd
LAotICAgICAgICAgICAgWyJCbGFja0JlcnJ5IFx1MjAxNCA5OTAwIiwgIk1vemlsbGEvNS4wIChC
bGFja0JlcnJ5OyBVOyBCbGFja0JlcnJ5IDk5MDA7IGVuLVVTKSBBcHBsZVdlYktpdC81MzQuMTEr
IChLSFRNTCwgbGlrZSBHZWNrbykgVmVyc2lvbi83LjAuMC4xODcgTW9iaWxlIFNhZmFyaS81MzQu
MTErIiwgIjY0MHg0ODB4MSJdLAotICAgICAgICAgICAgWyJCbGFja0JlcnJ5IFx1MjAxNCBCQjEw
IiwgIk1vemlsbGEvNS4wIChCQjEwOyBUb3VjaCkgQXBwbGVXZWJLaXQvNTM3LjErIChLSFRNTCwg
bGlrZSBHZWNrbykgVmVyc2lvbi8xMC4wLjAuMTMzNyBNb2JpbGUgU2FmYXJpLzUzNy4xKyIsICI3
Njh4MTI4MHgxIl0sCisgICAgICAgICAgICBbIkJsYWNrQmVycnkgXHUyMDE0IFBsYXlCb29rIDIu
MSIsICJNb3ppbGxhLzUuMCAoUGxheUJvb2s7IFU7IFJJTSBUYWJsZXQgT1MgMi4xLjA7IGVuLVVT
KSBBcHBsZVdlYktpdC81MzYuMisgKEtIVE1MLCBsaWtlIEdlY2tvKSBWZXJzaW9uLzcuMi4xLjAg
U2FmYXJpLzUzNi4yKyIsICIxMDI0eDYwMHgxeDEiXSwKKyAgICAgICAgICAgIFsiQmxhY2tCZXJy
eSBcdTIwMTQgOTkwMCIsICJNb3ppbGxhLzUuMCAoQmxhY2tCZXJyeTsgVTsgQmxhY2tCZXJyeSA5
OTAwOyBlbi1VUykgQXBwbGVXZWJLaXQvNTM0LjExKyAoS0hUTUwsIGxpa2UgR2Vja28pIFZlcnNp
b24vNy4wLjAuMTg3IE1vYmlsZSBTYWZhcmkvNTM0LjExKyIsICI2NDB4NDgweDF4MSJdLAorICAg
ICAgICAgICAgWyJCbGFja0JlcnJ5IFx1MjAxNCBCQjEwIiwgIk1vemlsbGEvNS4wIChCQjEwOyBU
b3VjaCkgQXBwbGVXZWJLaXQvNTM3LjErIChLSFRNTCwgbGlrZSBHZWNrbykgVmVyc2lvbi8xMC4w
LjAuMTMzNyBNb2JpbGUgU2FmYXJpLzUzNy4xKyIsICI3Njh4MTI4MHgxeDEiXSwKIAotICAgICAg
ICAgICAgWyJNZWVHbyBcdTIwMTQgTm9raWEgTjkiLCAiTW96aWxsYS81LjAgKE1lZUdvOyBOb2tp
YU45KSBBcHBsZVdlYktpdC81MzQuMTMgKEtIVE1MLCBsaWtlIEdlY2tvKSBOb2tpYUJyb3dzZXIv
OC41LjAgTW9iaWxlIFNhZmFyaS81MzQuMTMiLCAiNDgweDg1NHgxIl0sCisgICAgICAgICAgICBb
Ik1lZUdvIFx1MjAxNCBOb2tpYSBOOSIsICJNb3ppbGxhLzUuMCAoTWVlR287IE5va2lhTjkpIEFw
cGxlV2ViS2l0LzUzNC4xMyAoS0hUTUwsIGxpa2UgR2Vja28pIE5va2lhQnJvd3Nlci84LjUuMCBN
b2JpbGUgU2FmYXJpLzUzNC4xMyIsICI0ODB4ODU0eDF4MSJdLAogCiAgICAgICAgICAgICBbV2Vi
SW5zcGVjdG9yLlVJU3RyaW5nKCJPdGhlci4uLiIpLCAiT3RoZXIiXQogICAgICAgICBdOwpAQCAt
NjEyLDcgKzYxMyw5IEBAIFdlYkluc3BlY3Rvci5Vc2VyQWdlbnRTZXR0aW5nc1RhYi5wcm90b3R5
cGUgPSB7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAotICAgICAgICB2YXIgbWV0
cmljcyA9IFdlYkluc3BlY3Rvci5Vc2VyQWdlbnRTdXBwb3J0LkRldmljZU1ldHJpY3MucGFyc2VV
c2VySW5wdXQodGhpcy5fd2lkdGhPdmVycmlkZUVsZW1lbnQudmFsdWUsIHRoaXMuX2hlaWdodE92
ZXJyaWRlRWxlbWVudC52YWx1ZSwgdGhpcy5fZm9udFNjYWxlRmFjdG9yT3ZlcnJpZGVFbGVtZW50
LnZhbHVlKTsKKyAgICAgICAgdmFyIG1ldHJpY3MgPSBXZWJJbnNwZWN0b3IuVXNlckFnZW50U3Vw
cG9ydC5EZXZpY2VNZXRyaWNzLnBhcnNlVXNlcklucHV0KAorICAgICAgICAgICAgICAgIHRoaXMu
X3dpZHRoT3ZlcnJpZGVFbGVtZW50LnZhbHVlLCB0aGlzLl9oZWlnaHRPdmVycmlkZUVsZW1lbnQu
dmFsdWUsCisgICAgICAgICAgICAgICAgdGhpcy5fZm9udFNjYWxlRmFjdG9yT3ZlcnJpZGVFbGVt
ZW50LnZhbHVlLCB0aGlzLl9kZXZpY2VQaXhlbFJhdGlvT3ZlcnJpZGVFbGVtZW50LnZhbHVlKTsK
ICAgICAgICAgaWYgKG1ldHJpY3MgJiYgbWV0cmljcy5pc1ZhbGlkKCkgJiYgbWV0cmljcy53aWR0
aCAmJiBtZXRyaWNzLmhlaWdodCkgewogICAgICAgICAgICAgdGhpcy5fc2V0RGV2aWNlTWV0cmlj
c092ZXJyaWRlKG1ldHJpY3MsIGZhbHNlLCBmYWxzZSk7CiAgICAgICAgICAgICBXZWJJbnNwZWN0
b3IudXNlckFnZW50U3VwcG9ydC50b2dnbGVEZXZpY2VNZXRyaWNzT3ZlcnJpZGUodHJ1ZSk7CkBA
IC02MjMsNyArNjI2LDExIEBAIFdlYkluc3BlY3Rvci5Vc2VyQWdlbnRTZXR0aW5nc1RhYi5wcm90
b3R5cGUgPSB7CiAKICAgICBfYXBwbHlEZXZpY2VNZXRyaWNzVXNlcklucHV0OiBmdW5jdGlvbigp
CiAgICAgewotICAgICAgICB0aGlzLl9zZXREZXZpY2VNZXRyaWNzT3ZlcnJpZGUoV2ViSW5zcGVj
dG9yLlVzZXJBZ2VudFN1cHBvcnQuRGV2aWNlTWV0cmljcy5wYXJzZVVzZXJJbnB1dCh0aGlzLl93
aWR0aE92ZXJyaWRlRWxlbWVudC52YWx1ZS50cmltKCksIHRoaXMuX2hlaWdodE92ZXJyaWRlRWxl
bWVudC52YWx1ZS50cmltKCksIHRoaXMuX2ZvbnRTY2FsZUZhY3Rvck92ZXJyaWRlRWxlbWVudC52
YWx1ZS50cmltKCkpLCB0cnVlLCBmYWxzZSk7CisgICAgICAgIHRoaXMuX3NldERldmljZU1ldHJp
Y3NPdmVycmlkZSgKKyAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3IuVXNlckFnZW50U3VwcG9y
dC5EZXZpY2VNZXRyaWNzLnBhcnNlVXNlcklucHV0KAorICAgICAgICAgICAgICAgICAgICAgICAg
dGhpcy5fd2lkdGhPdmVycmlkZUVsZW1lbnQudmFsdWUudHJpbSgpLCB0aGlzLl9oZWlnaHRPdmVy
cmlkZUVsZW1lbnQudmFsdWUudHJpbSgpLAorICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5f
Zm9udFNjYWxlRmFjdG9yT3ZlcnJpZGVFbGVtZW50LnZhbHVlLnRyaW0oKSwgdGhpcy5fZGV2aWNl
UGl4ZWxSYXRpb092ZXJyaWRlRWxlbWVudC52YWx1ZSksCisgICAgICAgICAgICAgICAgdHJ1ZSwg
ZmFsc2UpOwogICAgIH0sCiAKICAgICAvKioKQEAgLTY0Myw2ICs2NTAsNyBAQCBXZWJJbnNwZWN0
b3IuVXNlckFnZW50U2V0dGluZ3NUYWIucHJvdG90eXBlID0gewogICAgICAgICBzZXRWYWxpZCht
ZXRyaWNzICYmIG1ldHJpY3MuaXNXaWR0aFZhbGlkKCksIHRoaXMuX3dpZHRoT3ZlcnJpZGVFbGVt
ZW50KTsKICAgICAgICAgc2V0VmFsaWQobWV0cmljcyAmJiBtZXRyaWNzLmlzSGVpZ2h0VmFsaWQo
KSwgdGhpcy5faGVpZ2h0T3ZlcnJpZGVFbGVtZW50KTsKICAgICAgICAgc2V0VmFsaWQobWV0cmlj
cyAmJiBtZXRyaWNzLmlzRm9udFNjYWxlRmFjdG9yVmFsaWQoKSwgdGhpcy5fZm9udFNjYWxlRmFj
dG9yT3ZlcnJpZGVFbGVtZW50KTsKKyAgICAgICAgc2V0VmFsaWQobWV0cmljcyAmJiBtZXRyaWNz
LmlzRGV2aWNlUGl4ZWxSYXRpb1ZhbGlkKCksIHRoaXMuX2RldmljZVBpeGVsUmF0aW9PdmVycmlk
ZUVsZW1lbnQpOwogCiAgICAgICAgIGlmICghbWV0cmljcykKICAgICAgICAgICAgIHJldHVybjsK
QEAgLTY1MSw2ICs2NTksNyBAQCBXZWJJbnNwZWN0b3IuVXNlckFnZW50U2V0dGluZ3NUYWIucHJv
dG90eXBlID0gewogICAgICAgICAgICAgdGhpcy5fd2lkdGhPdmVycmlkZUVsZW1lbnQudmFsdWUg
PSBtZXRyaWNzLndpZHRoVG9JbnB1dCgpOwogICAgICAgICAgICAgdGhpcy5faGVpZ2h0T3ZlcnJp
ZGVFbGVtZW50LnZhbHVlID0gbWV0cmljcy5oZWlnaHRUb0lucHV0KCk7CiAgICAgICAgICAgICB0
aGlzLl9mb250U2NhbGVGYWN0b3JPdmVycmlkZUVsZW1lbnQudmFsdWUgPSBtZXRyaWNzLmZvbnRT
Y2FsZUZhY3RvclRvSW5wdXQoKTsKKyAgICAgICAgICAgIHRoaXMuX2RldmljZVBpeGVsUmF0aW9P
dmVycmlkZUVsZW1lbnQudmFsdWUgPSBtZXRyaWNzLmRldmljZVBpeGVsUmF0aW9Ub0lucHV0KCk7
CiAgICAgICAgIH0KIAogICAgICAgICBpZiAobWV0cmljcy5pc1ZhbGlkKCkpIHsKQEAgLTY4Miwx
NCArNjkxLDE1IEBAIFdlYkluc3BlY3Rvci5Vc2VyQWdlbnRTZXR0aW5nc1RhYi5wcm90b3R5cGUg
PSB7CiAgICAgICAgIH0KIAogICAgICAgICB2YXIgdGFibGVFbGVtZW50ID0gZmllbGRzZXRFbGVt
ZW50LmNyZWF0ZUNoaWxkKCJ0YWJsZSIsICJub3dyYXAiKTsKKyAgICAgICAgdmFyIGJvdW5kQXBw
bHlJbnB1dEhhbmRsZXIgPSB0aGlzLl9hcHBseURldmljZU1ldHJpY3NVc2VySW5wdXQuYmluZCh0
aGlzKTsKIAogICAgICAgICB2YXIgcm93RWxlbWVudCA9IHRhYmxlRWxlbWVudC5jcmVhdGVDaGls
ZCgidHIiKTsKICAgICAgICAgdmFyIGNlbGxFbGVtZW50ID0gcm93RWxlbWVudC5jcmVhdGVDaGls
ZCgidGQiKTsKICAgICAgICAgY2VsbEVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRl
VGV4dE5vZGUoV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJTY3JlZW4gcmVzb2x1dGlvbjoiKSkpOwog
ICAgICAgICBjZWxsRWxlbWVudCA9IHJvd0VsZW1lbnQuY3JlYXRlQ2hpbGQoInRkIik7Ci0gICAg
ICAgIHRoaXMuX3dpZHRoT3ZlcnJpZGVFbGVtZW50ID0gdGhpcy5fY3JlYXRlSW5wdXQoY2VsbEVs
ZW1lbnQsICJtZXRyaWNzLW92ZXJyaWRlLXdpZHRoIiwgU3RyaW5nKG1ldHJpY3Mud2lkdGggfHwg
c2NyZWVuLndpZHRoKSwgdGhpcy5fYXBwbHlEZXZpY2VNZXRyaWNzVXNlcklucHV0LmJpbmQodGhp
cykpOworICAgICAgICB0aGlzLl93aWR0aE92ZXJyaWRlRWxlbWVudCA9IHRoaXMuX2NyZWF0ZUlu
cHV0KGNlbGxFbGVtZW50LCAibWV0cmljcy1vdmVycmlkZS13aWR0aCIsIFN0cmluZyhtZXRyaWNz
LndpZHRoIHx8IHNjcmVlbi53aWR0aCksIGJvdW5kQXBwbHlJbnB1dEhhbmRsZXIpOwogICAgICAg
ICBjZWxsRWxlbWVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiIFx1MDBE
NyAiKSk7IC8vIE1VTFRJUExJQ0FUSU9OIFNJR04uCi0gICAgICAgIHRoaXMuX2hlaWdodE92ZXJy
aWRlRWxlbWVudCA9IHRoaXMuX2NyZWF0ZUlucHV0KGNlbGxFbGVtZW50LCAibWV0cmljcy1vdmVy
cmlkZS1oZWlnaHQiLCBTdHJpbmcobWV0cmljcy5oZWlnaHQgfHwgc2NyZWVuLmhlaWdodCksIHRo
aXMuX2FwcGx5RGV2aWNlTWV0cmljc1VzZXJJbnB1dC5iaW5kKHRoaXMpKTsKKyAgICAgICAgdGhp
cy5faGVpZ2h0T3ZlcnJpZGVFbGVtZW50ID0gdGhpcy5fY3JlYXRlSW5wdXQoY2VsbEVsZW1lbnQs
ICJtZXRyaWNzLW92ZXJyaWRlLWhlaWdodCIsIFN0cmluZyhtZXRyaWNzLmhlaWdodCB8fCBzY3Jl
ZW4uaGVpZ2h0KSwgYm91bmRBcHBseUlucHV0SGFuZGxlcik7CiAgICAgICAgIGNlbGxFbGVtZW50
LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCIgXHUyMDE0ICIpKTsgLy8gRU0g
REFTSC4KICAgICAgICAgdGhpcy5fc3dhcERpbWVuc2lvbnNFbGVtZW50ID0gY2VsbEVsZW1lbnQu
Y3JlYXRlQ2hpbGQoImJ1dHRvbiIpOwogICAgICAgICB0aGlzLl9zd2FwRGltZW5zaW9uc0VsZW1l
bnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiBcdTIxQzQgIikpOyAvLyBS
SUdIVFdBUkRTIEFSUk9XIE9WRVIgTEVGVFdBUkRTIEFSUk9XLgpAQCAtNzAwLDcgKzcxMCwxMyBA
QCBXZWJJbnNwZWN0b3IuVXNlckFnZW50U2V0dGluZ3NUYWIucHJvdG90eXBlID0gewogICAgICAg
ICBjZWxsRWxlbWVudCA9IHJvd0VsZW1lbnQuY3JlYXRlQ2hpbGQoInRkIik7CiAgICAgICAgIGNl
bGxFbGVtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKFdlYkluc3BlY3Rv
ci5VSVN0cmluZygiRm9udCBzY2FsZSBmYWN0b3I6IikpKTsKICAgICAgICAgY2VsbEVsZW1lbnQg
PSByb3dFbGVtZW50LmNyZWF0ZUNoaWxkKCJ0ZCIpOwotICAgICAgICB0aGlzLl9mb250U2NhbGVG
YWN0b3JPdmVycmlkZUVsZW1lbnQgPSB0aGlzLl9jcmVhdGVJbnB1dChjZWxsRWxlbWVudCwgIm1l
dHJpY3Mtb3ZlcnJpZGUtZm9udC1zY2FsZSIsIFN0cmluZyhtZXRyaWNzLmZvbnRTY2FsZUZhY3Rv
ciB8fCAxKSwgdGhpcy5fYXBwbHlEZXZpY2VNZXRyaWNzVXNlcklucHV0LmJpbmQodGhpcykpOwor
ICAgICAgICB0aGlzLl9mb250U2NhbGVGYWN0b3JPdmVycmlkZUVsZW1lbnQgPSB0aGlzLl9jcmVh
dGVJbnB1dChjZWxsRWxlbWVudCwgIm1ldHJpY3Mtb3ZlcnJpZGUtZm9udC1zY2FsZSIsIFN0cmlu
ZyhtZXRyaWNzLmZvbnRTY2FsZUZhY3RvciB8fCAxKSwgYm91bmRBcHBseUlucHV0SGFuZGxlcik7
CisKKyAgICAgICAgcm93RWxlbWVudCA9IHRhYmxlRWxlbWVudC5jcmVhdGVDaGlsZCgidHIiKTsK
KyAgICAgICAgY2VsbEVsZW1lbnQgPSByb3dFbGVtZW50LmNyZWF0ZUNoaWxkKCJ0ZCIpOworICAg
ICAgICBjZWxsRWxlbWVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShXZWJJ
bnNwZWN0b3IuVUlTdHJpbmcoIkRldmljZSBwaXhlbCByYXRpbzoiKSkpOworICAgICAgICBjZWxs
RWxlbWVudCA9IHJvd0VsZW1lbnQuY3JlYXRlQ2hpbGQoInRkIik7CisgICAgICAgIHRoaXMuX2Rl
dmljZVBpeGVsUmF0aW9PdmVycmlkZUVsZW1lbnQgPSB0aGlzLl9jcmVhdGVJbnB1dChjZWxsRWxl
bWVudCwgIm1ldHJpY3Mtb3ZlcnJpZGUtZHByIiwgU3RyaW5nKG1ldHJpY3MuZGV2aWNlUGl4ZWxS
YXRpbyB8fCAxKSwgYm91bmRBcHBseUlucHV0SGFuZGxlcik7CiAKICAgICAgICAgcm93RWxlbWVu
dCA9IHRhYmxlRWxlbWVudC5jcmVhdGVDaGlsZCgidHIiKTsKICAgICAgICAgY2VsbEVsZW1lbnQg
PSByb3dFbGVtZW50LmNyZWF0ZUNoaWxkKCJ0ZCIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Vc2VyQWdlbnRTdXBwb3J0LmpzIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Vc2VyQWdlbnRTdXBwb3J0LmpzCmluZGV4IDQ4NTlmNjVm
Y2MzZWEwYTA0ZTY5ZjIyNTIyNzMxNDJkZmI4ZDU4NjEuLmJlZWE0ZjJkZDYxMjBlNjVlZDI4ZjEw
NzFlZjM4MmZhYzYyYzJkNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvVXNlckFnZW50U3VwcG9ydC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL1VzZXJBZ2VudFN1cHBvcnQuanMKQEAgLTUwLDEyICs1MCwxNCBAQCBXZWJJ
bnNwZWN0b3IuVXNlckFnZW50U3VwcG9ydCA9IGZ1bmN0aW9uKCkKICAqIEBwYXJhbSB7bnVtYmVy
fSB3aWR0aAogICogQHBhcmFtIHtudW1iZXJ9IGhlaWdodAogICogQHBhcmFtIHtudW1iZXJ9IGZv
bnRTY2FsZUZhY3RvcgorICogQHBhcmFtIHtudW1iZXJ9IGRldmljZVBpeGVsUmF0aW8KICAqLwot
V2ViSW5zcGVjdG9yLlVzZXJBZ2VudFN1cHBvcnQuRGV2aWNlTWV0cmljcyA9IGZ1bmN0aW9uKHdp
ZHRoLCBoZWlnaHQsIGZvbnRTY2FsZUZhY3RvcikKK1dlYkluc3BlY3Rvci5Vc2VyQWdlbnRTdXBw
b3J0LkRldmljZU1ldHJpY3MgPSBmdW5jdGlvbih3aWR0aCwgaGVpZ2h0LCBmb250U2NhbGVGYWN0
b3IsIGRldmljZVBpeGVsUmF0aW8pCiB7CiAgICAgdGhpcy53aWR0aCA9IHdpZHRoOwogICAgIHRo
aXMuaGVpZ2h0ID0gaGVpZ2h0OwogICAgIHRoaXMuZm9udFNjYWxlRmFjdG9yID0gZm9udFNjYWxl
RmFjdG9yOworICAgIHRoaXMuZGV2aWNlUGl4ZWxSYXRpbyA9IGRldmljZVBpeGVsUmF0aW87CiB9
CiAKIC8qKgpAQCAtNjUsMTYgKzY3LDE2IEBAIFdlYkluc3BlY3Rvci5Vc2VyQWdlbnRTdXBwb3J0
LkRldmljZU1ldHJpY3MucGFyc2VTZXR0aW5nID0gZnVuY3Rpb24odmFsdWUpCiB7CiAgICAgaWYg
KHZhbHVlKSB7CiAgICAgICAgIHZhciBzcGxpdE1ldHJpY3MgPSB2YWx1ZS5zcGxpdCgieCIpOwot
ICAgICAgICBpZiAoc3BsaXRNZXRyaWNzLmxlbmd0aCA9PT0gMykKLSAgICAgICAgICAgIHJldHVy
biBuZXcgV2ViSW5zcGVjdG9yLlVzZXJBZ2VudFN1cHBvcnQuRGV2aWNlTWV0cmljcyhwYXJzZUlu
dChzcGxpdE1ldHJpY3NbMF0sIDEwKSwgcGFyc2VJbnQoc3BsaXRNZXRyaWNzWzFdLCAxMCksIHBh
cnNlRmxvYXQoc3BsaXRNZXRyaWNzWzJdKSk7CisgICAgICAgIGlmIChzcGxpdE1ldHJpY3MubGVu
Z3RoID09PSA0KQorICAgICAgICAgICAgcmV0dXJuIG5ldyBXZWJJbnNwZWN0b3IuVXNlckFnZW50
U3VwcG9ydC5EZXZpY2VNZXRyaWNzKHBhcnNlSW50KHNwbGl0TWV0cmljc1swXSwgMTApLCBwYXJz
ZUludChzcGxpdE1ldHJpY3NbMV0sIDEwKSwgcGFyc2VGbG9hdChzcGxpdE1ldHJpY3NbMl0pLCBw
YXJzZUZsb2F0KHNwbGl0TWV0cmljc1szXSkpOwogICAgIH0KLSAgICByZXR1cm4gbmV3IFdlYklu
c3BlY3Rvci5Vc2VyQWdlbnRTdXBwb3J0LkRldmljZU1ldHJpY3MoMCwgMCwgMSk7CisgICAgcmV0
dXJuIG5ldyBXZWJJbnNwZWN0b3IuVXNlckFnZW50U3VwcG9ydC5EZXZpY2VNZXRyaWNzKDAsIDAs
IDEsIDEpOwogfQogCiAvKioKICAqIEByZXR1cm4gez9XZWJJbnNwZWN0b3IuVXNlckFnZW50U3Vw
cG9ydC5EZXZpY2VNZXRyaWNzfQogICovCi1XZWJJbnNwZWN0b3IuVXNlckFnZW50U3VwcG9ydC5E
ZXZpY2VNZXRyaWNzLnBhcnNlVXNlcklucHV0ID0gZnVuY3Rpb24od2lkdGhTdHJpbmcsIGhlaWdo
dFN0cmluZywgZm9udFNjYWxlRmFjdG9yU3RyaW5nKQorV2ViSW5zcGVjdG9yLlVzZXJBZ2VudFN1
cHBvcnQuRGV2aWNlTWV0cmljcy5wYXJzZVVzZXJJbnB1dCA9IGZ1bmN0aW9uKHdpZHRoU3RyaW5n
LCBoZWlnaHRTdHJpbmcsIGZvbnRTY2FsZUZhY3RvclN0cmluZywgZGV2aWNlUGl4ZWxSYXRpb1N0
cmluZykKIHsKICAgICBmdW5jdGlvbiBpc1VzZXJJbnB1dFZhbGlkKHZhbHVlLCBpc0ludGVnZXIp
CiAgICAgewpAQCAtODksMTUgKzkxLDE3IEBAIFdlYkluc3BlY3Rvci5Vc2VyQWdlbnRTdXBwb3J0
LkRldmljZU1ldHJpY3MucGFyc2VVc2VySW5wdXQgPSBmdW5jdGlvbih3aWR0aFN0cmluCiAgICAg
dmFyIGlzV2lkdGhWYWxpZCA9IGlzVXNlcklucHV0VmFsaWQod2lkdGhTdHJpbmcsIHRydWUpOwog
ICAgIHZhciBpc0hlaWdodFZhbGlkID0gaXNVc2VySW5wdXRWYWxpZChoZWlnaHRTdHJpbmcsIHRy
dWUpOwogICAgIHZhciBpc0ZvbnRTY2FsZUZhY3RvclZhbGlkID0gaXNVc2VySW5wdXRWYWxpZChm
b250U2NhbGVGYWN0b3JTdHJpbmcsIGZhbHNlKTsKKyAgICB2YXIgaXNEZXZpY2VQaXhlbFJhdGlv
VmFsaWQgPSBpc1VzZXJJbnB1dFZhbGlkKGRldmljZVBpeGVsUmF0aW9TdHJpbmcsIGZhbHNlKTsK
IAotICAgIGlmICghaXNXaWR0aFZhbGlkICYmICFpc0hlaWdodFZhbGlkICYmICFpc0ZvbnRTY2Fs
ZUZhY3RvclZhbGlkKQorICAgIGlmICghaXNXaWR0aFZhbGlkICYmICFpc0hlaWdodFZhbGlkICYm
ICFpc0ZvbnRTY2FsZUZhY3RvclZhbGlkICYmICFpc0RldmljZVBpeGVsUmF0aW9WYWxpZCkKICAg
ICAgICAgcmV0dXJuIG51bGw7CiAKICAgICB2YXIgd2lkdGggPSBpc1dpZHRoVmFsaWQgPyBwYXJz
ZUludCh3aWR0aFN0cmluZyB8fCAiMCIsIDEwKSA6IC0xOwogICAgIHZhciBoZWlnaHQgPSBpc0hl
aWdodFZhbGlkID8gcGFyc2VJbnQoaGVpZ2h0U3RyaW5nIHx8ICIwIiwgMTApIDogLTE7CiAgICAg
dmFyIGZvbnRTY2FsZUZhY3RvciA9IGlzRm9udFNjYWxlRmFjdG9yVmFsaWQgPyBwYXJzZUZsb2F0
KGZvbnRTY2FsZUZhY3RvclN0cmluZykgOiAtMTsKKyAgICB2YXIgZGV2aWNlUGl4ZWxSYXRpbyA9
IGlzRGV2aWNlUGl4ZWxSYXRpb1ZhbGlkID8gcGFyc2VGbG9hdChkZXZpY2VQaXhlbFJhdGlvU3Ry
aW5nKSA6IC0xOwogCi0gICAgcmV0dXJuIG5ldyBXZWJJbnNwZWN0b3IuVXNlckFnZW50U3VwcG9y
dC5EZXZpY2VNZXRyaWNzKHdpZHRoLCBoZWlnaHQsIGZvbnRTY2FsZUZhY3Rvcik7CisgICAgcmV0
dXJuIG5ldyBXZWJJbnNwZWN0b3IuVXNlckFnZW50U3VwcG9ydC5EZXZpY2VNZXRyaWNzKHdpZHRo
LCBoZWlnaHQsIGZvbnRTY2FsZUZhY3RvciwgZGV2aWNlUGl4ZWxSYXRpbyk7CiB9CiAKIFdlYklu
c3BlY3Rvci5Vc2VyQWdlbnRTdXBwb3J0LkRldmljZU1ldHJpY3MucHJvdG90eXBlID0gewpAQCAt
MTA2LDcgKzExMCw3IEBAIFdlYkluc3BlY3Rvci5Vc2VyQWdlbnRTdXBwb3J0LkRldmljZU1ldHJp
Y3MucHJvdG90eXBlID0gewogICAgICAqLwogICAgIGlzVmFsaWQ6IGZ1bmN0aW9uKCkKICAgICB7
Ci0gICAgICAgIHJldHVybiB0aGlzLmlzV2lkdGhWYWxpZCgpICYmIHRoaXMuaXNIZWlnaHRWYWxp
ZCgpICYmIHRoaXMuaXNGb250U2NhbGVGYWN0b3JWYWxpZCgpOworICAgICAgICByZXR1cm4gdGhp
cy5pc1dpZHRoVmFsaWQoKSAmJiB0aGlzLmlzSGVpZ2h0VmFsaWQoKSAmJiB0aGlzLmlzRm9udFNj
YWxlRmFjdG9yVmFsaWQoKSAmJiB0aGlzLmlzRGV2aWNlUGl4ZWxSYXRpb1ZhbGlkKCk7CiAgICAg
fSwKIAogICAgIC8qKgpAQCAtMTM0LDYgKzEzOCwxNCBAQCBXZWJJbnNwZWN0b3IuVXNlckFnZW50
U3VwcG9ydC5EZXZpY2VNZXRyaWNzLnByb3RvdHlwZSA9IHsKICAgICB9LAogCiAgICAgLyoqCisg
ICAgICogQHJldHVybiB7Ym9vbGVhbn0KKyAgICAgKi8KKyAgICBpc0RldmljZVBpeGVsUmF0aW9W
YWxpZDogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuZGV2aWNlUGl4ZWxS
YXRpbyA+IDA7CisgICAgfSwKKworICAgIC8qKgogICAgICAqIEByZXR1cm4ge3N0cmluZ30KICAg
ICAgKi8KICAgICB0b1NldHRpbmc6IGZ1bmN0aW9uKCkKQEAgLTE0MSw3ICsxNTMsNyBAQCBXZWJJ
bnNwZWN0b3IuVXNlckFnZW50U3VwcG9ydC5EZXZpY2VNZXRyaWNzLnByb3RvdHlwZSA9IHsKICAg
ICAgICAgaWYgKCF0aGlzLmlzVmFsaWQoKSkKICAgICAgICAgICAgIHJldHVybiAiIjsKIAotICAg
ICAgICByZXR1cm4gdGhpcy53aWR0aCAmJiB0aGlzLmhlaWdodCA/IHRoaXMud2lkdGggKyAieCIg
KyB0aGlzLmhlaWdodCArICJ4IiArIHRoaXMuZm9udFNjYWxlRmFjdG9yIDogIiI7CisgICAgICAg
IHJldHVybiB0aGlzLndpZHRoICYmIHRoaXMuaGVpZ2h0ID8gdGhpcy53aWR0aCArICJ4IiArIHRo
aXMuaGVpZ2h0ICsgIngiICsgdGhpcy5mb250U2NhbGVGYWN0b3IgKyAieCIgKyB0aGlzLmRldmlj
ZVBpeGVsUmF0aW86ICIiOwogICAgIH0sCiAKICAgICAvKioKQEAgLTE2Niw2ICsxNzgsMTQgQEAg
V2ViSW5zcGVjdG9yLlVzZXJBZ2VudFN1cHBvcnQuRGV2aWNlTWV0cmljcy5wcm90b3R5cGUgPSB7
CiAgICAgZm9udFNjYWxlRmFjdG9yVG9JbnB1dDogZnVuY3Rpb24oKQogICAgIHsKICAgICAgICAg
cmV0dXJuIHRoaXMuaXNGb250U2NhbGVGYWN0b3JWYWxpZCgpICYmIHRoaXMuZm9udFNjYWxlRmFj
dG9yID8gU3RyaW5nKHRoaXMuZm9udFNjYWxlRmFjdG9yKSA6ICIiOworICAgIH0sCisKKyAgICAv
KioKKyAgICAgKiBAcmV0dXJuIHtzdHJpbmd9CisgICAgICovCisgICAgZGV2aWNlUGl4ZWxSYXRp
b1RvSW5wdXQ6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlzLmlzRGV2aWNl
UGl4ZWxSYXRpb1ZhbGlkKCkgJiYgdGhpcy5kZXZpY2VQaXhlbFJhdGlvID8gU3RyaW5nKHRoaXMu
ZGV2aWNlUGl4ZWxSYXRpbykgOiAiIjsKICAgICB9CiB9CiAKQEAgLTM1MCw3ICszNzAsNyBAQCBX
ZWJJbnNwZWN0b3IuVXNlckFnZW50U3VwcG9ydC5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAg
ICB2YXIgbWV0cmljcyA9IFdlYkluc3BlY3Rvci5Vc2VyQWdlbnRTdXBwb3J0LkRldmljZU1ldHJp
Y3MucGFyc2VTZXR0aW5nKHRoaXMuX2RldmljZU1ldHJpY3NPdmVycmlkZUVuYWJsZWQgPyBXZWJJ
bnNwZWN0b3Iuc2V0dGluZ3MuZGV2aWNlTWV0cmljcy5nZXQoKSA6ICIiKTsKICAgICAgICAgaWYg
KG1ldHJpY3MuaXNWYWxpZCgpKQotICAgICAgICAgICAgUGFnZUFnZW50LnNldERldmljZU1ldHJp
Y3NPdmVycmlkZShtZXRyaWNzLndpZHRoLCBtZXRyaWNzLmhlaWdodCwgbWV0cmljcy5mb250U2Nh
bGVGYWN0b3IsIFdlYkluc3BlY3Rvci5zZXR0aW5ncy5kZXZpY2VGaXRXaW5kb3cuZ2V0KCkpOwor
ICAgICAgICAgICAgUGFnZUFnZW50LnNldERldmljZU1ldHJpY3NPdmVycmlkZShtZXRyaWNzLndp
ZHRoLCBtZXRyaWNzLmhlaWdodCwgbWV0cmljcy5mb250U2NhbGVGYWN0b3IsIG1ldHJpY3MuZGV2
aWNlUGl4ZWxSYXRpbywgV2ViSW5zcGVjdG9yLnNldHRpbmdzLmRldmljZUZpdFdpbmRvdy5nZXQo
KSk7CiAgICAgfSwKIAogICAgIF9nZW9sb2NhdGlvblBvc2l0aW9uQ2hhbmdlZDogZnVuY3Rpb24o
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCmluZGV4IGE4NGZlYzU5Yzk1ZWI4NTFjNGJhMzc5
ZGZjMThhMjc1ZTNmMmZkYjAuLmY2YTQ4ODg1ZWI0ODVhMGQzZDc5OThjYzYwMTRiZTQ4MTcwNDEy
MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKQEAgLTE0MDEsNyArMTQwMSw5IEBAIGRv
dWJsZSBET01XaW5kb3c6OmRldmljZVBpeGVsUmF0aW8oKSBjb25zdAogICAgIGlmICghcGFnZSkK
ICAgICAgICAgcmV0dXJuIDAuMDsKIAotICAgIHJldHVybiBwYWdlLT5kZXZpY2VTY2FsZUZhY3Rv
cigpOworICAgIGRvdWJsZSBmYWN0b3IgPSBwYWdlLT5kZXZpY2VTY2FsZUZhY3RvcigpOworICAg
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YXBwbHlEZXZpY2VTY2FsZUZhY3Rvck92ZXJyaWRl
KG1fZnJhbWUsICZmYWN0b3IpOworICAgIHJldHVybiBmYWN0b3I7CiB9CiAKIHZvaWQgRE9NV2lu
ZG93OjpzY3JvbGxCeShpbnQgeCwgaW50IHkpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1NjcmVlbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NjcmVlbi5jcHAKaW5k
ZXggYzA4ODBjOGRlMWYxOWQzZTczM2ZkYTg4MWQ3Y2Y1NGYzZDlkNTkzNi4uNDc4Njg5ZWRkNDY3
NzMyNjYzYWVjYTdmNmI0ODQxNjA5NTFmYjEzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9TY3JlZW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2NyZWVuLmNwcApAQCAt
NjIsNyArNjIsOSBAQCB1bnNpZ25lZCBTY3JlZW46Omhvcml6b250YWxEUEkoKSBjb25zdAogICAg
ICAgICByZXR1cm4gcGxhdGZvcm1WYWx1ZTsKIAogICAgIC8vIFRoZSBEUEkgaXMgZGVmaW5lZCBh
cyBkb3RzIHBlciBDU1MgaW5jaCBhbmQgdGh1cyBub3QgZGV2aWNlIGluY2guCi0gICAgcmV0dXJu
IG1fZnJhbWUtPnBhZ2UoKS0+ZGV2aWNlU2NhbGVGYWN0b3IoKSAqIDk2OworICAgIGRvdWJsZSBm
YWN0b3IgPSBtX2ZyYW1lLT5wYWdlKCktPmRldmljZVNjYWxlRmFjdG9yKCk7CisgICAgSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uOjphcHBseURldmljZVNjYWxlRmFjdG9yT3ZlcnJpZGUobV9mcmFt
ZSwgJmZhY3Rvcik7CisgICAgcmV0dXJuIGZhY3RvciAqIDk2OwogfQogCiB1bnNpZ25lZCBTY3Jl
ZW46OnZlcnRpY2FsRFBJKCkgY29uc3QKQEAgLTgzLDcgKzg1LDkgQEAgdW5zaWduZWQgU2NyZWVu
Ojp2ZXJ0aWNhbERQSSgpIGNvbnN0CiAgICAgICAgIHJldHVybiBwbGF0Zm9ybVZhbHVlOwogCiAg
ICAgLy8gVGhlIERQSSBpcyBkZWZpbmVkIGFzIGRvdHMgcGVyIENTUyBpbmNoIGFuZCB0aHVzIG5v
dCBkZXZpY2UgaW5jaC4KLSAgICByZXR1cm4gbV9mcmFtZS0+cGFnZSgpLT5kZXZpY2VTY2FsZUZh
Y3RvcigpICogOTY7CisgICAgZG91YmxlIGZhY3RvciA9IG1fZnJhbWUtPnBhZ2UoKS0+ZGV2aWNl
U2NhbGVGYWN0b3IoKTsKKyAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFwcGx5RGV2aWNl
U2NhbGVGYWN0b3JPdmVycmlkZShtX2ZyYW1lLCAmZmFjdG9yKTsKKyAgICByZXR1cm4gZmFjdG9y
ICogOTY7CiB9CiAKIHVuc2lnbmVkIFNjcmVlbjo6aGVpZ2h0KCkgY29uc3QKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBkZmYw
OGI4YzM4ZmNkZmEwNWQ4OWViOGIzYzFiZjFlMDI2Y2Q4ODdiLi42MDZmYTIzOTg0MjI3NzM0NzZl
MWZmMzA2ZjliNzlkNTY5ZDVmNWE3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMTEtMDIg
IEFsZXhhbmRlciBQYXZsb3YgIDxhcGF2bG92QGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIg
SW5zcGVjdG9yOiBJbXBsZW1lbnQgZGV2aWNlIHNjYWxlIGZhY3RvciBlbXVsYXRpb24gdGhyb3Vn
aCBtZWRpYSBxdWVyeSBvdmVycmlkZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEwMDc2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogaW5zcGVjdG9yL3N0eWxlcy9kZXZpY2Utc2NhbGUtZmFjdG9yLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL3N0eWxlcy9kZXZpY2Utc2Nh
bGUtZmFjdG9yLmh0bWw6IEFkZGVkLgorCiAyMDEyLTExLTAxICBTaGlueWEgS2F3YW5ha2EgIDxz
aGlueWFrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbU2hhZG93XSBFbGVtZW50IHNob3VsZCBo
YXZlIGdldHRlciBhbmQgc2V0dGVyIG9mIGF0dHJpYnV0ZSAncHNldWRvJwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9kZXZpY2Utc2NhbGUtZmFjdG9yLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvZGV2aWNlLXNjYWxlLWZhY3Rvci1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmQ1ZTI2MDA1Mjk5ZWNhYjM5ODhhNWNkNjIzZjZmNDZk
OWQ3YzIxMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMv
ZGV2aWNlLXNjYWxlLWZhY3Rvci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2IEBACitUZXN0cyBk
ZXZpY2UgcGl4ZWwgcmF0aW8gb3ZlcnJpZGUgZWZmZWN0cy4KKworTWVkaWEgcXVlcnkuCitEZXZp
Y2UgcGl4ZWwgcmF0aW8gaW4gd2luZG93OiAyCitEZXZpY2UgcGl4ZWwgcmF0aW8gZm9yIG1lZGlh
IHF1ZXJ5OiAnMicKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9k
ZXZpY2Utc2NhbGUtZmFjdG9yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL2Rl
dmljZS1zY2FsZS1mYWN0b3IuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMTM3ODQ5MzhkMWY2ZTRmMWMxN2Ez
YmQ3MDFmOGE3MWMyN2Y2ODJmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL3N0eWxlcy9kZXZpY2Utc2NhbGUtZmFjdG9yLmh0bWwKQEAgLTAsMCArMSw2MiBAQAorPGh0
bWw+Cis8aGVhZD4KKworPHN0eWxlIHR5cGU9InRleHQvY3NzIiBtZWRpYT0ic2NyZWVuIj4KKwor
I3BpeGVsLXJhdGlvOmFmdGVyIHsgY29udGVudDogImluaXRpYWwiIH0KKworQG1lZGlhICgtd2Vi
a2l0LWRldmljZS1waXhlbC1yYXRpbzogMikgeworICAgICNwaXhlbC1yYXRpbzphZnRlciB7IGNv
bnRlbnQ6ICIyIiB9Cit9CisKK2JvZHkgeworICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICB0
b3A6IDA7CisgICAgcmlnaHQ6IDA7CisgICAgYm90dG9tOiAwOworICAgIGxlZnQ6IDA7CisgICAg
bWFyZ2luOiAwOworfQorCis8L3N0eWxlPgorCis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0
cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNj
cmlwdD4KKworZnVuY3Rpb24gZ2V0T3ZlcnJpZGVzKCkKK3sKKyAgICByZXR1cm4gSlNPTi5zdHJp
bmdpZnkoeworICAgICAgICBkcHI6IHdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvLAorICAgICAgICBt
ZWRpYURwcjogd2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InBpeGVsLXJhdGlvIiksICJhZnRlciIpLmdldFByb3BlcnR5VmFsdWUoImNvbnRlbnQiKQorICAg
IH0pOworfQorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBQYWdlQWdlbnQuc2V0RGV2aWNlTWV0
cmljc092ZXJyaWRlKDgwMCwgNjAwLCAxLCAyLCBmYWxzZSwgc3RlcDApOworCisgICAgZnVuY3Rp
b24gc3RlcDAoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgi
Z2V0T3ZlcnJpZGVzKCkiLCBzdGVwMSk7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDEoanNv
blJlc3VsdCkKKyAgICB7CisgICAgICAgIHZhciB2YWx1ZSA9IEpTT04ucGFyc2UoanNvblJlc3Vs
dC52YWx1ZSk7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJEZXZpY2UgcGl4ZWwg
cmF0aW8gaW4gd2luZG93OiAiICsgdmFsdWUuZHByKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQoIkRldmljZSBwaXhlbCByYXRpbyBmb3IgbWVkaWEgcXVlcnk6ICIgKyB2YWx1ZS5t
ZWRpYURwcik7CisgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgfQor
fQorPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPgor
VGVzdHMgZGV2aWNlIHBpeGVsIHJhdGlvIG92ZXJyaWRlIGVmZmVjdHMuCis8L3A+CisKKzxkaXYg
aWQ9InBpeGVsLXJhdGlvIj5NZWRpYSBxdWVyeS48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4K
</data>
<flag name="commit-queue"
          id="186317"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>