<?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>104989</bug_id>
          
          <creation_ts>2012-12-13 20:51:33 -0800</creation_ts>
          <short_desc>Refactoring: Fix indentation of ChromeClient.h</short_desc>
          <delta_ts>2012-12-13 21:44:09 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>Trivial</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kent Tamura">tkent</reporter>
          <assigned_to name="Kent Tamura">tkent</assigned_to>
          <cc>haraken</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>791293</commentid>
    <comment_count>0</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-12-13 20:51:33 -0800</bug_when>
    <thetext>Refactoring: Fix indentation of ChromeClient.h</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>791295</commentid>
    <comment_count>1</comment_count>
      <attachid>179409</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-12-13 20:55:00 -0800</bug_when>
    <thetext>Created attachment 179409
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>791303</commentid>
    <comment_count>2</comment_count>
      <attachid>179409</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-12-13 21:09:02 -0800</bug_when>
    <thetext>Comment on attachment 179409
Patch

(I thought we don&apos;t want to accept style-only-fix changes that might mess up git histories, but I couldn&apos;t find the policy in the latest WebKit guidelines.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>791307</commentid>
    <comment_count>3</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-12-13 21:14:24 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (I thought we don&apos;t want to accept style-only-fix changes that might mess up git histories, but I couldn&apos;t find the policy in the latest WebKit guidelines.)

I haven&apos;t heard such policy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>791318</commentid>
    <comment_count>4</comment_count>
      <attachid>179409</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-13 21:44:06 -0800</bug_when>
    <thetext>Comment on attachment 179409
Patch

Clearing flags on attachment: 179409

Committed r137713: &lt;http://trac.webkit.org/changeset/137713&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>791319</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-13 21:44:09 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>179409</attachid>
            <date>2012-12-13 20:55:00 -0800</date>
            <delta_ts>2012-12-13 21:44:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104989-20121214135220.patch</filename>
            <type>text/plain</type>
            <size>29730</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3NzA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWY4NzM5MzU5MDQ3YmNh
NGE2ZDA4YWQ1MjQzOTMyY2Y0YTQyMjAxNC4uNWQ4MmY0NzQzZWQwMzg3YjQ4MWM5ZWMwNTlhMTBk
NjM2ODJjZThkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTEyLTEzICBLZW50
IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZWZhY3RvcmluZzogRml4
IGluZGVudGF0aW9uIG9mIENocm9tZUNsaWVudC5oCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQ5ODkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgY29udGVudHMgb2YgYW4gb3V0ZXJtb3N0IG5hbWVz
cGFjZSBibG9jayBzaG91bGQgbm90IGJlIGluZGVudGVkLgorICAgICAgICBodHRwOi8vd3d3Lndl
YmtpdC5vcmcvY29kaW5nL2NvZGluZy1zdHlsZS5odG1sI2luZGVudGF0aW9uLW5hbWVzcGFjZQor
CisgICAgICAgIE5vIGJlaGF2aW9yIGNoYW5nZS4KKworICAgICAgICAqIHBhZ2UvQ2hyb21lQ2xp
ZW50Lmg6CisKIDIwMTItMTItMTMgIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5AY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFVucmV2aWV3ZWQuIFJlYmFzZWxpbmVkIHJ1bi1iaW5kaW5ncy10ZXN0cyBy
ZXN1bHRzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKaW5kZXggYTMzY2JjYzExZWM5ZWYw
NzUwNzJmNTdhNTIzODdmOWZmNDIyY2E4YS4uZjFjMzNkZWRhM2NiOTgwYzFjNWMxNzkyNmQzZTZm
ZGVlZjFkMjVkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCkBAIC00OSwzNDEgKzQ5
LDMzMCBAQCBjbGFzcyBOU1Jlc3BvbmRlcjsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAg
Y2xhc3MgQWNjZXNzaWJpbGl0eU9iamVjdDsKLSAgICBjbGFzcyBEYXRlVGltZUNob29zZXI7Ci0g
ICAgY2xhc3MgRGF0ZVRpbWVDaG9vc2VyQ2xpZW50OwotICAgIGNsYXNzIEVsZW1lbnQ7Ci0gICAg
Y2xhc3MgRmlsZUNob29zZXI7Ci0gICAgY2xhc3MgRmlsZUljb25Mb2FkZXI7Ci0gICAgY2xhc3Mg
RmxvYXRSZWN0OwotICAgIGNsYXNzIEZyYW1lOwotICAgIGNsYXNzIEdlb2xvY2F0aW9uOwotICAg
IGNsYXNzIEdyYXBoaWNzTGF5ZXI7Ci0gICAgY2xhc3MgSFRNTElucHV0RWxlbWVudDsKLSAgICBj
bGFzcyBIaXRUZXN0UmVzdWx0OwotICAgIGNsYXNzIEludFJlY3Q7Ci0gICAgY2xhc3MgTmF2aWdh
dGlvbkFjdGlvbjsKLSAgICBjbGFzcyBOb2RlOwotICAgIGNsYXNzIFBhZ2U7Ci0gICAgY2xhc3Mg
UGFnZVBvcHVwOwotICAgIGNsYXNzIFBhZ2VQb3B1cENsaWVudDsKLSAgICBjbGFzcyBQYWdlUG9w
dXBEcml2ZXI7Ci0gICAgY2xhc3MgUG9wdXBNZW51Q2xpZW50OwotICAgIGNsYXNzIFNlY3VyaXR5
T3JpZ2luOwotICAgIGNsYXNzIEdyYXBoaWNzQ29udGV4dDNEOwotICAgIGNsYXNzIFdpZGdldDsK
LQotICAgIHN0cnVjdCBEYXRlVGltZUNob29zZXJQYXJhbWV0ZXJzOwotICAgIHN0cnVjdCBGcmFt
ZUxvYWRSZXF1ZXN0OwotICAgIHN0cnVjdCBWaWV3cG9ydEFyZ3VtZW50czsKLSAgICBzdHJ1Y3Qg
V2luZG93RmVhdHVyZXM7Ci0KLSNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCi0gICAg
Y2xhc3MgR3JhcGhpY3NMYXllcjsKLSAgICBjbGFzcyBHcmFwaGljc0xheWVyRmFjdG9yeTsKLSNl
bmRpZgotCi0jaWYgRU5BQkxFKElOUFVUX1RZUEVfQ09MT1IpCi0gICAgY2xhc3MgQ29sb3JDaG9v
c2VyOwotICAgIGNsYXNzIENvbG9yQ2hvb3NlckNsaWVudDsKLSNlbmRpZgotCi0jaWYgUExBVEZP
Uk0oV0lOKSAmJiBVU0UoQVZGT1VOREFUSU9OKQotICAgIHN0cnVjdCBHcmFwaGljc0RldmljZUFk
YXB0ZXI7Ci0jZW5kaWYKLQotICAgIGNsYXNzIENocm9tZUNsaWVudCB7Ci0gICAgcHVibGljOgot
ICAgICAgICB2aXJ0dWFsIHZvaWQgY2hyb21lRGVzdHJveWVkKCkgPSAwOwotICAgICAgICAKLSAg
ICAgICAgdmlydHVhbCB2b2lkIHNldFdpbmRvd1JlY3QoY29uc3QgRmxvYXRSZWN0JikgPSAwOwot
ICAgICAgICB2aXJ0dWFsIEZsb2F0UmVjdCB3aW5kb3dSZWN0KCkgPSAwOwotICAgICAgICAKLSAg
ICAgICAgdmlydHVhbCBGbG9hdFJlY3QgcGFnZVJlY3QoKSA9IDA7Ci0gICAgICAgIAotICAgICAg
ICB2aXJ0dWFsIHZvaWQgZm9jdXMoKSA9IDA7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCB1bmZvY3Vz
KCkgPSAwOwotCi0gICAgICAgIHZpcnR1YWwgYm9vbCBjYW5UYWtlRm9jdXMoRm9jdXNEaXJlY3Rp
b24pID0gMDsKLSAgICAgICAgdmlydHVhbCB2b2lkIHRha2VGb2N1cyhGb2N1c0RpcmVjdGlvbikg
PSAwOwotCi0gICAgICAgIHZpcnR1YWwgdm9pZCBmb2N1c2VkTm9kZUNoYW5nZWQoTm9kZSopID0g
MDsKLSAgICAgICAgdmlydHVhbCB2b2lkIGZvY3VzZWRGcmFtZUNoYW5nZWQoRnJhbWUqKSA9IDA7
Ci0KLSAgICAgICAgLy8gVGhlIEZyYW1lIHBvaW50ZXIgcHJvdmlkZXMgdGhlIENocm9tZUNsaWVu
dCB3aXRoIGNvbnRleHQgYWJvdXQgd2hpY2gKLSAgICAgICAgLy8gRnJhbWUgd2FudHMgdG8gY3Jl
YXRlIHRoZSBuZXcgUGFnZS4gIEFsc28sIHRoZSBuZXdseSBjcmVhdGVkIHdpbmRvdwotICAgICAg
ICAvLyBzaG91bGQgbm90IGJlIHNob3duIHRvIHRoZSB1c2VyIHVudGlsIHRoZSBDaHJvbWVDbGll
bnQgb2YgdGhlIG5ld2x5Ci0gICAgICAgIC8vIGNyZWF0ZWQgUGFnZSBoYXMgaXRzIHNob3cgbWV0
aG9kIGNhbGxlZC4KLSAgICAgICAgLy8gVGhlIEZyYW1lTG9hZFJlcXVlc3QgcGFyYW1ldGVyIGlz
IG9ubHkgZm9yIENocm9tZUNsaWVudCB0byBjaGVjayBpZiB0aGUKLSAgICAgICAgLy8gcmVxdWVz
dCBjb3VsZCBiZSBmdWxmaWxsZWQuICBUaGUgQ2hyb21lQ2xpZW50IHNob3VsZCBub3QgbG9hZCB0
aGUgcmVxdWVzdC4KLSAgICAgICAgdmlydHVhbCBQYWdlKiBjcmVhdGVXaW5kb3coRnJhbWUqLCBj
b25zdCBGcmFtZUxvYWRSZXF1ZXN0JiwgY29uc3QgV2luZG93RmVhdHVyZXMmLCBjb25zdCBOYXZp
Z2F0aW9uQWN0aW9uJikgPSAwOwotICAgICAgICB2aXJ0dWFsIHZvaWQgc2hvdygpID0gMDsKLQot
ICAgICAgICB2aXJ0dWFsIGJvb2wgY2FuUnVuTW9kYWwoKSA9IDA7Ci0gICAgICAgIHZpcnR1YWwg
dm9pZCBydW5Nb2RhbCgpID0gMDsKLQotICAgICAgICB2aXJ0dWFsIHZvaWQgc2V0VG9vbGJhcnNW
aXNpYmxlKGJvb2wpID0gMDsKLSAgICAgICAgdmlydHVhbCBib29sIHRvb2xiYXJzVmlzaWJsZSgp
ID0gMDsKLSAgICAgICAgCi0gICAgICAgIHZpcnR1YWwgdm9pZCBzZXRTdGF0dXNiYXJWaXNpYmxl
KGJvb2wpID0gMDsKLSAgICAgICAgdmlydHVhbCBib29sIHN0YXR1c2JhclZpc2libGUoKSA9IDA7
Ci0gICAgICAgIAotICAgICAgICB2aXJ0dWFsIHZvaWQgc2V0U2Nyb2xsYmFyc1Zpc2libGUoYm9v
bCkgPSAwOwotICAgICAgICB2aXJ0dWFsIGJvb2wgc2Nyb2xsYmFyc1Zpc2libGUoKSA9IDA7Ci0g
ICAgICAgIAotICAgICAgICB2aXJ0dWFsIHZvaWQgc2V0TWVudWJhclZpc2libGUoYm9vbCkgPSAw
OwotICAgICAgICB2aXJ0dWFsIGJvb2wgbWVudWJhclZpc2libGUoKSA9IDA7Ci0KLSAgICAgICAg
dmlydHVhbCB2b2lkIHNldFJlc2l6YWJsZShib29sKSA9IDA7Ci0gICAgICAgIAotICAgICAgICB2
aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2
ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbGluZU51bWJlciwgY29uc3QgU3Ry
aW5nJiBzb3VyY2VJRCkgPSAwOwotICAgICAgICAvLyBGSVhNRTogUmVtb3ZlIHRoaXMgTWVzc2Fn
ZVR5cGUgdmFyaWFudCBvbmNlIGFsbCB0aGUgY2xpZW50cyBhcmUgdXBkYXRlZC4KLSAgICAgICAg
dmlydHVhbCB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1l
c3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5z
aWduZWQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VJRCkKLSAgICAgICAgewotICAg
ICAgICAgICAgYWRkTWVzc2FnZVRvQ29uc29sZShzb3VyY2UsIGxldmVsLCBtZXNzYWdlLCBsaW5l
TnVtYmVyLCBzb3VyY2VJRCk7Ci0gICAgICAgIH0KLQotICAgICAgICB2aXJ0dWFsIGJvb2wgY2Fu
UnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKCkgPSAwOwotICAgICAgICB2aXJ0dWFsIGJvb2wg
cnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgRnJhbWUq
IGZyYW1lKSA9IDA7Ci0KLSAgICAgICAgdmlydHVhbCB2b2lkIGNsb3NlV2luZG93U29vbigpID0g
MDsKLSAgICAgICAgCi0gICAgICAgIHZpcnR1YWwgdm9pZCBydW5KYXZhU2NyaXB0QWxlcnQoRnJh
bWUqLCBjb25zdCBTdHJpbmcmKSA9IDA7Ci0gICAgICAgIHZpcnR1YWwgYm9vbCBydW5KYXZhU2Ny
aXB0Q29uZmlybShGcmFtZSosIGNvbnN0IFN0cmluZyYpID0gMDsKLSAgICAgICAgdmlydHVhbCBi
b29sIHJ1bkphdmFTY3JpcHRQcm9tcHQoRnJhbWUqLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNv
bnN0IFN0cmluZyYgZGVmYXVsdFZhbHVlLCBTdHJpbmcmIHJlc3VsdCkgPSAwOwotICAgICAgICB2
aXJ0dWFsIHZvaWQgc2V0U3RhdHVzYmFyVGV4dChjb25zdCBTdHJpbmcmKSA9IDA7Ci0gICAgICAg
IHZpcnR1YWwgYm9vbCBzaG91bGRJbnRlcnJ1cHRKYXZhU2NyaXB0KCkgPSAwOwotICAgICAgICB2
aXJ0dWFsIEtleWJvYXJkVUlNb2RlIGtleWJvYXJkVUlNb2RlKCkgPSAwOwotCi0gICAgICAgIHZp
cnR1YWwgdm9pZCogd2ViVmlldygpIGNvbnN0ID0gMDsKLQotICAgICAgICB2aXJ0dWFsIEludFJl
Y3Qgd2luZG93UmVzaXplclJlY3QoKSBjb25zdCA9IDA7Ci0KLSAgICAgICAgLy8gTWV0aG9kcyB1
c2VkIGJ5IEhvc3RXaW5kb3cuCi0gICAgICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlUm9vdFZp
ZXcoY29uc3QgSW50UmVjdCYsIGJvb2wpID0gMDsKLSAgICAgICAgdmlydHVhbCB2b2lkIGludmFs
aWRhdGVDb250ZW50c0FuZFJvb3RWaWV3KGNvbnN0IEludFJlY3QmLCBib29sKSA9IDA7Ci0gICAg
ICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlQ29udGVudHNGb3JTbG93U2Nyb2xsKGNvbnN0IElu
dFJlY3QmLCBib29sKSA9IDA7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBzY3JvbGwoY29uc3QgSW50
U2l6ZSYsIGNvbnN0IEludFJlY3QmLCBjb25zdCBJbnRSZWN0JikgPSAwOworY2xhc3MgQWNjZXNz
aWJpbGl0eU9iamVjdDsKK2NsYXNzIENvbG9yQ2hvb3NlcjsKK2NsYXNzIENvbG9yQ2hvb3NlckNs
aWVudDsKK2NsYXNzIERhdGVUaW1lQ2hvb3NlcjsKK2NsYXNzIERhdGVUaW1lQ2hvb3NlckNsaWVu
dDsKK2NsYXNzIEVsZW1lbnQ7CitjbGFzcyBGaWxlQ2hvb3NlcjsKK2NsYXNzIEZpbGVJY29uTG9h
ZGVyOworY2xhc3MgRmxvYXRSZWN0OworY2xhc3MgRnJhbWU7CitjbGFzcyBHZW9sb2NhdGlvbjsK
K2NsYXNzIEdyYXBoaWNzQ29udGV4dDNEOworY2xhc3MgR3JhcGhpY3NMYXllcjsKK2NsYXNzIEdy
YXBoaWNzTGF5ZXJGYWN0b3J5OworY2xhc3MgSGl0VGVzdFJlc3VsdDsKK2NsYXNzIEhUTUxJbnB1
dEVsZW1lbnQ7CitjbGFzcyBJbnRSZWN0OworY2xhc3MgTmF2aWdhdGlvbkFjdGlvbjsKK2NsYXNz
IE5vZGU7CitjbGFzcyBQYWdlOworY2xhc3MgUGFnZVBvcHVwOworY2xhc3MgUGFnZVBvcHVwQ2xp
ZW50OworY2xhc3MgUGFnZVBvcHVwRHJpdmVyOworY2xhc3MgUG9wdXBNZW51Q2xpZW50OworY2xh
c3MgU2VjdXJpdHlPcmlnaW47CitjbGFzcyBXaWRnZXQ7CisKK3N0cnVjdCBEYXRlVGltZUNob29z
ZXJQYXJhbWV0ZXJzOworc3RydWN0IEZyYW1lTG9hZFJlcXVlc3Q7CitzdHJ1Y3QgR3JhcGhpY3NE
ZXZpY2VBZGFwdGVyOworc3RydWN0IFZpZXdwb3J0QXJndW1lbnRzOworc3RydWN0IFdpbmRvd0Zl
YXR1cmVzOworCitjbGFzcyBDaHJvbWVDbGllbnQgeworcHVibGljOgorICAgIHZpcnR1YWwgdm9p
ZCBjaHJvbWVEZXN0cm95ZWQoKSA9IDA7CisKKyAgICB2aXJ0dWFsIHZvaWQgc2V0V2luZG93UmVj
dChjb25zdCBGbG9hdFJlY3QmKSA9IDA7CisgICAgdmlydHVhbCBGbG9hdFJlY3Qgd2luZG93UmVj
dCgpID0gMDsKKworICAgIHZpcnR1YWwgRmxvYXRSZWN0IHBhZ2VSZWN0KCkgPSAwOworCisgICAg
dmlydHVhbCB2b2lkIGZvY3VzKCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCB1bmZvY3VzKCkgPSAw
OworCisgICAgdmlydHVhbCBib29sIGNhblRha2VGb2N1cyhGb2N1c0RpcmVjdGlvbikgPSAwOwor
ICAgIHZpcnR1YWwgdm9pZCB0YWtlRm9jdXMoRm9jdXNEaXJlY3Rpb24pID0gMDsKKworICAgIHZp
cnR1YWwgdm9pZCBmb2N1c2VkTm9kZUNoYW5nZWQoTm9kZSopID0gMDsKKyAgICB2aXJ0dWFsIHZv
aWQgZm9jdXNlZEZyYW1lQ2hhbmdlZChGcmFtZSopID0gMDsKKworICAgIC8vIFRoZSBGcmFtZSBw
b2ludGVyIHByb3ZpZGVzIHRoZSBDaHJvbWVDbGllbnQgd2l0aCBjb250ZXh0IGFib3V0IHdoaWNo
CisgICAgLy8gRnJhbWUgd2FudHMgdG8gY3JlYXRlIHRoZSBuZXcgUGFnZS4gQWxzbywgdGhlIG5l
d2x5IGNyZWF0ZWQgd2luZG93CisgICAgLy8gc2hvdWxkIG5vdCBiZSBzaG93biB0byB0aGUgdXNl
ciB1bnRpbCB0aGUgQ2hyb21lQ2xpZW50IG9mIHRoZSBuZXdseQorICAgIC8vIGNyZWF0ZWQgUGFn
ZSBoYXMgaXRzIHNob3cgbWV0aG9kIGNhbGxlZC4KKyAgICAvLyBUaGUgRnJhbWVMb2FkUmVxdWVz
dCBwYXJhbWV0ZXIgaXMgb25seSBmb3IgQ2hyb21lQ2xpZW50IHRvIGNoZWNrIGlmIHRoZQorICAg
IC8vIHJlcXVlc3QgY291bGQgYmUgZnVsZmlsbGVkLiBUaGUgQ2hyb21lQ2xpZW50IHNob3VsZCBu
b3QgbG9hZCB0aGUgcmVxdWVzdC4KKyAgICB2aXJ0dWFsIFBhZ2UqIGNyZWF0ZVdpbmRvdyhGcmFt
ZSosIGNvbnN0IEZyYW1lTG9hZFJlcXVlc3QmLCBjb25zdCBXaW5kb3dGZWF0dXJlcyYsIGNvbnN0
IE5hdmlnYXRpb25BY3Rpb24mKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHNob3coKSA9IDA7CisK
KyAgICB2aXJ0dWFsIGJvb2wgY2FuUnVuTW9kYWwoKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHJ1
bk1vZGFsKCkgPSAwOworCisgICAgdmlydHVhbCB2b2lkIHNldFRvb2xiYXJzVmlzaWJsZShib29s
KSA9IDA7CisgICAgdmlydHVhbCBib29sIHRvb2xiYXJzVmlzaWJsZSgpID0gMDsKKworICAgIHZp
cnR1YWwgdm9pZCBzZXRTdGF0dXNiYXJWaXNpYmxlKGJvb2wpID0gMDsKKyAgICB2aXJ0dWFsIGJv
b2wgc3RhdHVzYmFyVmlzaWJsZSgpID0gMDsKKworICAgIHZpcnR1YWwgdm9pZCBzZXRTY3JvbGxi
YXJzVmlzaWJsZShib29sKSA9IDA7CisgICAgdmlydHVhbCBib29sIHNjcm9sbGJhcnNWaXNpYmxl
KCkgPSAwOworCisgICAgdmlydHVhbCB2b2lkIHNldE1lbnViYXJWaXNpYmxlKGJvb2wpID0gMDsK
KyAgICB2aXJ0dWFsIGJvb2wgbWVudWJhclZpc2libGUoKSA9IDA7CisKKyAgICB2aXJ0dWFsIHZv
aWQgc2V0UmVzaXphYmxlKGJvb2wpID0gMDsKKworICAgIHZpcnR1YWwgdm9pZCBhZGRNZXNzYWdl
VG9Db25zb2xlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNz
YWdlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZUlEKSA9IDA7Cisg
ICAgLy8gRklYTUU6IFJlbW92ZSB0aGlzIE1lc3NhZ2VUeXBlIHZhcmlhbnQgb25jZSBhbGwgdGhl
IGNsaWVudHMgYXJlIHVwZGF0ZWQuCisgICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNv
bGUoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWws
IGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbGluZU51bWJlciwgY29uc3QgU3RyaW5n
JiBzb3VyY2VJRCkKKyAgICB7CisgICAgICAgIGFkZE1lc3NhZ2VUb0NvbnNvbGUoc291cmNlLCBs
ZXZlbCwgbWVzc2FnZSwgbGluZU51bWJlciwgc291cmNlSUQpOworICAgIH0KKworICAgIHZpcnR1
YWwgYm9vbCBjYW5SdW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWwoKSA9IDA7CisgICAgdmlydHVh
bCBib29sIHJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbChjb25zdCBTdHJpbmcmIG1lc3NhZ2Us
IEZyYW1lKikgPSAwOworCisgICAgdmlydHVhbCB2b2lkIGNsb3NlV2luZG93U29vbigpID0gMDsK
KworICAgIHZpcnR1YWwgdm9pZCBydW5KYXZhU2NyaXB0QWxlcnQoRnJhbWUqLCBjb25zdCBTdHJp
bmcmKSA9IDA7CisgICAgdmlydHVhbCBib29sIHJ1bkphdmFTY3JpcHRDb25maXJtKEZyYW1lKiwg
Y29uc3QgU3RyaW5nJikgPSAwOworICAgIHZpcnR1YWwgYm9vbCBydW5KYXZhU2NyaXB0UHJvbXB0
KEZyYW1lKiwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRlZmF1bHRWYWx1
ZSwgU3RyaW5nJiByZXN1bHQpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0U3RhdHVzYmFyVGV4
dChjb25zdCBTdHJpbmcmKSA9IDA7CisgICAgdmlydHVhbCBib29sIHNob3VsZEludGVycnVwdEph
dmFTY3JpcHQoKSA9IDA7CisgICAgdmlydHVhbCBLZXlib2FyZFVJTW9kZSBrZXlib2FyZFVJTW9k
ZSgpID0gMDsKKworICAgIHZpcnR1YWwgdm9pZCogd2ViVmlldygpIGNvbnN0ID0gMDsKKworICAg
IHZpcnR1YWwgSW50UmVjdCB3aW5kb3dSZXNpemVyUmVjdCgpIGNvbnN0ID0gMDsKKworICAgIC8v
IE1ldGhvZHMgdXNlZCBieSBIb3N0V2luZG93LgorICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRl
Um9vdFZpZXcoY29uc3QgSW50UmVjdCYsIGJvb2wpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgaW52
YWxpZGF0ZUNvbnRlbnRzQW5kUm9vdFZpZXcoY29uc3QgSW50UmVjdCYsIGJvb2wpID0gMDsKKyAg
ICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZUNvbnRlbnRzRm9yU2xvd1Njcm9sbChjb25zdCBJbnRS
ZWN0JiwgYm9vbCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBzY3JvbGwoY29uc3QgSW50U2l6ZSYs
IGNvbnN0IEludFJlY3QmLCBjb25zdCBJbnRSZWN0JikgPSAwOwogI2lmIFVTRShUSUxFRF9CQUNL
SU5HX1NUT1JFKQotICAgICAgICB2aXJ0dWFsIHZvaWQgZGVsZWdhdGVkU2Nyb2xsUmVxdWVzdGVk
KGNvbnN0IEludFBvaW50JikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBkZWxlZ2F0ZWRTY3JvbGxS
ZXF1ZXN0ZWQoY29uc3QgSW50UG9pbnQmKSA9IDA7CiAjZW5kaWYKLSAgICAgICAgdmlydHVhbCBJ
bnRQb2ludCBzY3JlZW5Ub1Jvb3RWaWV3KGNvbnN0IEludFBvaW50JikgY29uc3QgPSAwOwotICAg
ICAgICB2aXJ0dWFsIEludFJlY3Qgcm9vdFZpZXdUb1NjcmVlbihjb25zdCBJbnRSZWN0JikgY29u
c3QgPSAwOwotICAgICAgICB2aXJ0dWFsIFBsYXRmb3JtUGFnZUNsaWVudCBwbGF0Zm9ybVBhZ2VD
bGllbnQoKSBjb25zdCA9IDA7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxiYXJzTW9kZURp
ZENoYW5nZSgpIGNvbnN0ID0gMDsKLSAgICAgICAgdmlydHVhbCB2b2lkIHNldEN1cnNvcihjb25z
dCBDdXJzb3ImKSA9IDA7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBzZXRDdXJzb3JIaWRkZW5VbnRp
bE1vdXNlTW92ZXMoYm9vbCkgPSAwOworICAgIHZpcnR1YWwgSW50UG9pbnQgc2NyZWVuVG9Sb290
Vmlldyhjb25zdCBJbnRQb2ludCYpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIEludFJlY3Qgcm9v
dFZpZXdUb1NjcmVlbihjb25zdCBJbnRSZWN0JikgY29uc3QgPSAwOworICAgIHZpcnR1YWwgUGxh
dGZvcm1QYWdlQ2xpZW50IHBsYXRmb3JtUGFnZUNsaWVudCgpIGNvbnN0ID0gMDsKKyAgICB2aXJ0
dWFsIHZvaWQgc2Nyb2xsYmFyc01vZGVEaWRDaGFuZ2UoKSBjb25zdCA9IDA7CisgICAgdmlydHVh
bCB2b2lkIHNldEN1cnNvcihjb25zdCBDdXJzb3ImKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHNl
dEN1cnNvckhpZGRlblVudGlsTW91c2VNb3Zlcyhib29sKSA9IDA7CiAjaWYgRU5BQkxFKFJFUVVF
U1RfQU5JTUFUSU9OX0ZSQU1FKSAmJiAhVVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX1RJTUVS
KQotICAgICAgICB2aXJ0dWFsIHZvaWQgc2NoZWR1bGVBbmltYXRpb24oKSA9IDA7CisgICAgdmly
dHVhbCB2b2lkIHNjaGVkdWxlQW5pbWF0aW9uKCkgPSAwOwogI2VuZGlmCi0gICAgICAgIC8vIEVu
ZCBtZXRob2RzIHVzZWQgYnkgSG9zdFdpbmRvdy4KKyAgICAvLyBFbmQgbWV0aG9kcyB1c2VkIGJ5
IEhvc3RXaW5kb3cuCisKKyAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hWaWV3cG9ydFByb3BlcnRp
ZXNEaWRDaGFuZ2UoY29uc3QgVmlld3BvcnRBcmd1bWVudHMmKSBjb25zdCB7IH0KIAotICAgICAg
ICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hWaWV3cG9ydFByb3BlcnRpZXNEaWRDaGFuZ2UoY29uc3Qg
Vmlld3BvcnRBcmd1bWVudHMmKSBjb25zdCB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgY29udGVudHNT
aXplQ2hhbmdlZChGcmFtZSosIGNvbnN0IEludFNpemUmKSBjb25zdCA9IDA7CisgICAgdmlydHVh
bCB2b2lkIGxheW91dFVwZGF0ZWQoRnJhbWUqKSBjb25zdCB7IH0KKyAgICB2aXJ0dWFsIHZvaWQg
c2Nyb2xsUmVjdEludG9WaWV3KGNvbnN0IEludFJlY3QmKSBjb25zdCB7IH07IC8vIEN1cnJlbnRs
eSBvbmx5IE1hYyBoYXMgYSBub24gZW1wdHkgaW1wbGVtZW50YXRpb24uCiAKLSAgICAgICAgdmly
dHVhbCB2b2lkIGNvbnRlbnRzU2l6ZUNoYW5nZWQoRnJhbWUqLCBjb25zdCBJbnRTaXplJikgY29u
c3QgPSAwOwotICAgICAgICB2aXJ0dWFsIHZvaWQgbGF5b3V0VXBkYXRlZChGcmFtZSopIGNvbnN0
IHsgfQotICAgICAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsUmVjdEludG9WaWV3KGNvbnN0IEludFJl
Y3QmKSBjb25zdCB7IH07IC8vIEN1cnJlbnRseSBvbmx5IE1hYyBoYXMgYSBub24gZW1wdHkgaW1w
bGVtZW50YXRpb24uCi0gICAgICAgCi0gICAgICAgIHZpcnR1YWwgYm9vbCBzaG91bGRVbmF2YWls
YWJsZVBsdWdpbk1lc3NhZ2VCZUJ1dHRvbihSZW5kZXJFbWJlZGRlZE9iamVjdDo6UGx1Z2luVW5h
dmFpbGFiaWxpdHlSZWFzb24pIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9Ci0gICAgICAgIHZpcnR1
YWwgdm9pZCB1bmF2YWlsYWJsZVBsdWdpbkJ1dHRvbkNsaWNrZWQoRWxlbWVudCosIFJlbmRlckVt
YmVkZGVkT2JqZWN0OjpQbHVnaW5VbmF2YWlsYWJpbGl0eVJlYXNvbikgY29uc3QgeyB9Ci0gICAg
ICAgIHZpcnR1YWwgdm9pZCBtb3VzZURpZE1vdmVPdmVyRWxlbWVudChjb25zdCBIaXRUZXN0UmVz
dWx0JiwgdW5zaWduZWQgbW9kaWZpZXJGbGFncykgPSAwOworICAgIHZpcnR1YWwgYm9vbCBzaG91
bGRVbmF2YWlsYWJsZVBsdWdpbk1lc3NhZ2VCZUJ1dHRvbihSZW5kZXJFbWJlZGRlZE9iamVjdDo6
UGx1Z2luVW5hdmFpbGFiaWxpdHlSZWFzb24pIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisgICAg
dmlydHVhbCB2b2lkIHVuYXZhaWxhYmxlUGx1Z2luQnV0dG9uQ2xpY2tlZChFbGVtZW50KiwgUmVu
ZGVyRW1iZWRkZWRPYmplY3Q6OlBsdWdpblVuYXZhaWxhYmlsaXR5UmVhc29uKSBjb25zdCB7IH0K
KyAgICB2aXJ0dWFsIHZvaWQgbW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQoY29uc3QgSGl0VGVzdFJl
c3VsdCYsIHVuc2lnbmVkIG1vZGlmaWVyRmxhZ3MpID0gMDsKIAotICAgICAgICB2aXJ0dWFsIHZv
aWQgc2V0VG9vbFRpcChjb25zdCBTdHJpbmcmLCBUZXh0RGlyZWN0aW9uKSA9IDA7CisgICAgdmly
dHVhbCB2b2lkIHNldFRvb2xUaXAoY29uc3QgU3RyaW5nJiwgVGV4dERpcmVjdGlvbikgPSAwOwog
Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBwcmludChGcmFtZSopID0gMDsKLSAgICAgICAgdmlydHVh
bCBib29sIHNob3VsZFJ1YmJlckJhbmRJbkRpcmVjdGlvbihTY3JvbGxEaXJlY3Rpb24pIGNvbnN0
ID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgcHJpbnQoRnJhbWUqKSA9IDA7CisgICAgdmlydHVhbCBi
b29sIHNob3VsZFJ1YmJlckJhbmRJbkRpcmVjdGlvbihTY3JvbGxEaXJlY3Rpb24pIGNvbnN0ID0g
MDsKIAogI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCi0gICAgICAgIHZpcnR1YWwgdm9pZCBleGNl
ZWRlZERhdGFiYXNlUXVvdGEoRnJhbWUqLCBjb25zdCBTdHJpbmcmIGRhdGFiYXNlTmFtZSkgPSAw
OworICAgIHZpcnR1YWwgdm9pZCBleGNlZWRlZERhdGFiYXNlUXVvdGEoRnJhbWUqLCBjb25zdCBT
dHJpbmcmIGRhdGFiYXNlTmFtZSkgPSAwOwogI2VuZGlmCiAKLSAgICAgICAgLy8gQ2FsbGJhY2sg
aW52b2tlZCB3aGVuIHRoZSBhcHBsaWNhdGlvbiBjYWNoZSBmYWlscyB0byBzYXZlIGEgY2FjaGUg
b2JqZWN0Ci0gICAgICAgIC8vIGJlY2F1c2Ugc3RvcmluZyBpdCB3b3VsZCBncm93IHRoZSBkYXRh
YmFzZSBmaWxlIHBhc3QgaXRzIGRlZmluZWQgbWF4aW11bQotICAgICAgICAvLyBzaXplIG9yIHBh
c3QgdGhlIGFtb3VudCBvZiBmcmVlIHNwYWNlIG9uIHRoZSBkZXZpY2UuIAotICAgICAgICAvLyBU
aGUgY2hyb21lIGNsaWVudCB3b3VsZCBuZWVkIHRvIHRha2Ugc29tZSBhY3Rpb24gc3VjaCBhcyBl
dmljdGluZyBzb21lCi0gICAgICAgIC8vIG9sZCBjYWNoZXMuCi0gICAgICAgIHZpcnR1YWwgdm9p
ZCByZWFjaGVkTWF4QXBwQ2FjaGVTaXplKGludDY0X3Qgc3BhY2VOZWVkZWQpID0gMDsKLQotICAg
ICAgICAvLyBDYWxsYmFjayBpbnZva2VkIHdoZW4gdGhlIGFwcGxpY2F0aW9uIGNhY2hlIG9yaWdp
biBxdW90YSBpcyByZWFjaGVkLiBUaGlzCi0gICAgICAgIC8vIG1lYW5zIHRoYXQgdGhlIHJlc291
cmNlcyBhdHRlbXB0aW5nIHRvIGJlIGNhY2hlZCB2aWEgdGhlIG1hbmlmZXN0IGFyZQotICAgICAg
ICAvLyBtb3JlIHRoYW4gYWxsb3dlZCBvbiB0aGlzIG9yaWdpbi4gVGhpcyBjYWxsYmFjayBhbGxv
d3MgdGhlIGNocm9tZSBjbGllbnQKLSAgICAgICAgLy8gdG8gdGFrZSBhY3Rpb24sIHN1Y2ggYXMg
cHJvbXB0aW5nIHRoZSB1c2VyIHRvIGFzayB0byBpbmNyZWFzZSB0aGUgcXVvdGEKLSAgICAgICAg
Ly8gZm9yIHRoaXMgb3JpZ2luLiBUaGUgdG90YWxTcGFjZU5lZWRlZCBwYXJhbWV0ZXIgaXMgdGhl
IHRvdGFsIGFtb3VudCBvZgotICAgICAgICAvLyBzdG9yYWdlLCBpbiBieXRlcywgbmVlZGVkIHRv
IHN0b3JlIHRoZSBuZXcgY2FjaGUgYWxvbmcgd2l0aCBhbGwgb2YgdGhlCi0gICAgICAgIC8vIG90
aGVyIGV4aXN0aW5nIGNhY2hlcyBmb3IgdGhlIG9yaWdpbiB0aGF0IHdvdWxkIG5vdCBiZSByZXBs
YWNlZCBieQotICAgICAgICAvLyB0aGUgbmV3IGNhY2hlLgotICAgICAgICB2aXJ0dWFsIHZvaWQg
cmVhY2hlZEFwcGxpY2F0aW9uQ2FjaGVPcmlnaW5RdW90YShTZWN1cml0eU9yaWdpbiosIGludDY0
X3QgdG90YWxTcGFjZU5lZWRlZCkgPSAwOworICAgIC8vIENhbGxiYWNrIGludm9rZWQgd2hlbiB0
aGUgYXBwbGljYXRpb24gY2FjaGUgZmFpbHMgdG8gc2F2ZSBhIGNhY2hlIG9iamVjdAorICAgIC8v
IGJlY2F1c2Ugc3RvcmluZyBpdCB3b3VsZCBncm93IHRoZSBkYXRhYmFzZSBmaWxlIHBhc3QgaXRz
IGRlZmluZWQgbWF4aW11bQorICAgIC8vIHNpemUgb3IgcGFzdCB0aGUgYW1vdW50IG9mIGZyZWUg
c3BhY2Ugb24gdGhlIGRldmljZS4gCisgICAgLy8gVGhlIGNocm9tZSBjbGllbnQgd291bGQgbmVl
ZCB0byB0YWtlIHNvbWUgYWN0aW9uIHN1Y2ggYXMgZXZpY3Rpbmcgc29tZQorICAgIC8vIG9sZCBj
YWNoZXMuCisgICAgdmlydHVhbCB2b2lkIHJlYWNoZWRNYXhBcHBDYWNoZVNpemUoaW50NjRfdCBz
cGFjZU5lZWRlZCkgPSAwOworCisgICAgLy8gQ2FsbGJhY2sgaW52b2tlZCB3aGVuIHRoZSBhcHBs
aWNhdGlvbiBjYWNoZSBvcmlnaW4gcXVvdGEgaXMgcmVhY2hlZC4gVGhpcworICAgIC8vIG1lYW5z
IHRoYXQgdGhlIHJlc291cmNlcyBhdHRlbXB0aW5nIHRvIGJlIGNhY2hlZCB2aWEgdGhlIG1hbmlm
ZXN0IGFyZQorICAgIC8vIG1vcmUgdGhhbiBhbGxvd2VkIG9uIHRoaXMgb3JpZ2luLiBUaGlzIGNh
bGxiYWNrIGFsbG93cyB0aGUgY2hyb21lIGNsaWVudAorICAgIC8vIHRvIHRha2UgYWN0aW9uLCBz
dWNoIGFzIHByb21wdGluZyB0aGUgdXNlciB0byBhc2sgdG8gaW5jcmVhc2UgdGhlIHF1b3RhCisg
ICAgLy8gZm9yIHRoaXMgb3JpZ2luLiBUaGUgdG90YWxTcGFjZU5lZWRlZCBwYXJhbWV0ZXIgaXMg
dGhlIHRvdGFsIGFtb3VudCBvZgorICAgIC8vIHN0b3JhZ2UsIGluIGJ5dGVzLCBuZWVkZWQgdG8g
c3RvcmUgdGhlIG5ldyBjYWNoZSBhbG9uZyB3aXRoIGFsbCBvZiB0aGUKKyAgICAvLyBvdGhlciBl
eGlzdGluZyBjYWNoZXMgZm9yIHRoZSBvcmlnaW4gdGhhdCB3b3VsZCBub3QgYmUgcmVwbGFjZWQg
YnkKKyAgICAvLyB0aGUgbmV3IGNhY2hlLgorICAgIHZpcnR1YWwgdm9pZCByZWFjaGVkQXBwbGlj
YXRpb25DYWNoZU9yaWdpblF1b3RhKFNlY3VyaXR5T3JpZ2luKiwgaW50NjRfdCB0b3RhbFNwYWNl
TmVlZGVkKSA9IDA7CiAKICNpZiBFTkFCTEUoREFTSEJPQVJEX1NVUFBPUlQpIHx8IEVOQUJMRShE
UkFHR0FCTEVfUkVHSU9OKQotICAgICAgICB2aXJ0dWFsIHZvaWQgYW5ub3RhdGVkUmVnaW9uc0No
YW5nZWQoKTsKKyAgICB2aXJ0dWFsIHZvaWQgYW5ub3RhdGVkUmVnaW9uc0NoYW5nZWQoKTsKICNl
bmRpZgogCi0gICAgICAgIHZpcnR1YWwgdm9pZCBwb3B1bGF0ZVZpc2l0ZWRMaW5rcygpOworICAg
IHZpcnR1YWwgdm9pZCBwb3B1bGF0ZVZpc2l0ZWRMaW5rcygpOwogCi0gICAgICAgIHZpcnR1YWwg
RmxvYXRSZWN0IGN1c3RvbUhpZ2hsaWdodFJlY3QoTm9kZSosIGNvbnN0IEF0b21pY1N0cmluZyYg
dHlwZSwgY29uc3QgRmxvYXRSZWN0JiBsaW5lUmVjdCk7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBw
YWludEN1c3RvbUhpZ2hsaWdodChOb2RlKiwgY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25z
dCBGbG9hdFJlY3QmIGJveFJlY3QsIGNvbnN0IEZsb2F0UmVjdCYgbGluZVJlY3QsCi0gICAgICAg
ICAgICBib29sIGJlaGluZFRleHQsIGJvb2wgZW50aXJlTGluZSk7CisgICAgdmlydHVhbCBGbG9h
dFJlY3QgY3VzdG9tSGlnaGxpZ2h0UmVjdChOb2RlKiwgY29uc3QgQXRvbWljU3RyaW5nJiB0eXBl
LCBjb25zdCBGbG9hdFJlY3QmIGxpbmVSZWN0KTsKKyAgICB2aXJ0dWFsIHZvaWQgcGFpbnRDdXN0
b21IaWdobGlnaHQoTm9kZSosIGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgY29uc3QgRmxvYXRS
ZWN0JiBib3hSZWN0LCBjb25zdCBGbG9hdFJlY3QmIGxpbmVSZWN0LCBib29sIGJlaGluZFRleHQs
IGJvb2wgZW50aXJlTGluZSk7CiAgICAgICAgICAgICAKLSAgICAgICAgdmlydHVhbCBib29sIHNo
b3VsZFJlcGxhY2VXaXRoR2VuZXJhdGVkRmlsZUZvclVwbG9hZChjb25zdCBTdHJpbmcmIHBhdGgs
IFN0cmluZyYgZ2VuZXJhdGVkRmlsZW5hbWUpOwotICAgICAgICB2aXJ0dWFsIFN0cmluZyBnZW5l
cmF0ZVJlcGxhY2VtZW50RmlsZShjb25zdCBTdHJpbmcmIHBhdGgpOworICAgIHZpcnR1YWwgYm9v
bCBzaG91bGRSZXBsYWNlV2l0aEdlbmVyYXRlZEZpbGVGb3JVcGxvYWQoY29uc3QgU3RyaW5nJiBw
YXRoLCBTdHJpbmcmIGdlbmVyYXRlZEZpbGVuYW1lKTsKKyAgICB2aXJ0dWFsIFN0cmluZyBnZW5l
cmF0ZVJlcGxhY2VtZW50RmlsZShjb25zdCBTdHJpbmcmIHBhdGgpOwogCi0gICAgICAgIHZpcnR1
YWwgYm9vbCBwYWludEN1c3RvbU92ZXJoYW5nQXJlYShHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJ
bnRSZWN0JiwgY29uc3QgSW50UmVjdCYsIGNvbnN0IEludFJlY3QmKTsKKyAgICB2aXJ0dWFsIGJv
b2wgcGFpbnRDdXN0b21PdmVyaGFuZ0FyZWEoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgSW50UmVj
dCYsIGNvbnN0IEludFJlY3QmLCBjb25zdCBJbnRSZWN0Jik7CiAKICNpZiBFTkFCTEUoSU5QVVRf
VFlQRV9DT0xPUikKLSAgICAgICAgdmlydHVhbCBQYXNzT3duUHRyPENvbG9yQ2hvb3Nlcj4gY3Jl
YXRlQ29sb3JDaG9vc2VyKENvbG9yQ2hvb3NlckNsaWVudCosIGNvbnN0IENvbG9yJikgPSAwOwor
ICAgIHZpcnR1YWwgUGFzc093blB0cjxDb2xvckNob29zZXI+IGNyZWF0ZUNvbG9yQ2hvb3NlcihD
b2xvckNob29zZXJDbGllbnQqLCBjb25zdCBDb2xvciYpID0gMDsKICNlbmRpZgogCiAjaWYgRU5B
QkxFKERBVEVfQU5EX1RJTUVfSU5QVVRfVFlQRVMpCi0gICAgICAgIC8vIFRoaXMgZnVuY3Rpb24g
aXMgdXNlZCBmb3I6Ci0gICAgICAgIC8vICAtIE1hbmRhdG9yeSBkYXRlL3RpbWUgY2hvb3NlcnMg
aWYgIUVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCi0gICAgICAgIC8vICAtIERhdGUv
dGltZSBjaG9vc2VycyBmb3IgdHlwZXMgZm9yIHdoaWNoIFJlbmRlclRoZW1lOjpzdXBwb3J0c0Nh
bGVuZGFyUGlja2VyCi0gICAgICAgIC8vICAgIHJldHVybnMgdHJ1ZSwgaWYgRU5BQkxFKElOUFVU
X01VTFRJUExFX0ZJRUxEU19VSSkKLSAgICAgICAgLy8gIC0gPGRhdGFsaXN0PiBVSSBmb3IgZGF0
ZS90aW1lIGlucHV0IHR5cGVzIHJlZ2FyZGxlc3Mgb2YKLSAgICAgICAgLy8gICAgRU5BQkxFKElO
UFVUX01VTFRJUExFX0ZJRUxEU19VSSkKLSAgICAgICAgdmlydHVhbCBQYXNzUmVmUHRyPERhdGVU
aW1lQ2hvb3Nlcj4gb3BlbkRhdGVUaW1lQ2hvb3NlcihEYXRlVGltZUNob29zZXJDbGllbnQqLCBj
b25zdCBEYXRlVGltZUNob29zZXJQYXJhbWV0ZXJzJikgPSAwOworICAgIC8vIFRoaXMgZnVuY3Rp
b24gaXMgdXNlZCBmb3I6CisgICAgLy8gIC0gTWFuZGF0b3J5IGRhdGUvdGltZSBjaG9vc2VycyBp
ZiAhRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKKyAgICAvLyAgLSBEYXRlL3RpbWUg
Y2hvb3NlcnMgZm9yIHR5cGVzIGZvciB3aGljaCBSZW5kZXJUaGVtZTo6c3VwcG9ydHNDYWxlbmRh
clBpY2tlcgorICAgIC8vICAgIHJldHVybnMgdHJ1ZSwgaWYgRU5BQkxFKElOUFVUX01VTFRJUExF
X0ZJRUxEU19VSSkKKyAgICAvLyAgLSA8ZGF0YWxpc3Q+IFVJIGZvciBkYXRlL3RpbWUgaW5wdXQg
dHlwZXMgcmVnYXJkbGVzcyBvZgorICAgIC8vICAgIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVM
RFNfVUkpCisgICAgdmlydHVhbCBQYXNzUmVmUHRyPERhdGVUaW1lQ2hvb3Nlcj4gb3BlbkRhdGVU
aW1lQ2hvb3NlcihEYXRlVGltZUNob29zZXJDbGllbnQqLCBjb25zdCBEYXRlVGltZUNob29zZXJQ
YXJhbWV0ZXJzJikgPSAwOwogI2VuZGlmCiAKLSAgICAgICAgdmlydHVhbCB2b2lkIHJ1bk9wZW5Q
YW5lbChGcmFtZSosIFBhc3NSZWZQdHI8RmlsZUNob29zZXI+KSA9IDA7Ci0gICAgICAgIC8vIEFz
eW5jaHJvbm91cyByZXF1ZXN0IHRvIGxvYWQgYW4gaWNvbiBmb3Igc3BlY2lmaWVkIGZpbGVuYW1l
cy4KLSAgICAgICAgdmlydHVhbCB2b2lkIGxvYWRJY29uRm9yRmlsZXMoY29uc3QgVmVjdG9yPFN0
cmluZz4mLCBGaWxlSWNvbkxvYWRlciopID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgcnVuT3BlblBh
bmVsKEZyYW1lKiwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4pID0gMDsKKyAgICAvLyBBc3luY2hy
b25vdXMgcmVxdWVzdCB0byBsb2FkIGFuIGljb24gZm9yIHNwZWNpZmllZCBmaWxlbmFtZXMuCisg
ICAgdmlydHVhbCB2b2lkIGxvYWRJY29uRm9yRmlsZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mLCBG
aWxlSWNvbkxvYWRlciopID0gMDsKIAogI2lmIEVOQUJMRShESVJFQ1RPUllfVVBMT0FEKQotICAg
ICAgICAvLyBBc3ljaHJvbm91cyByZXF1ZXN0IHRvIGVudW1lcmF0ZSBhbGwgZmlsZXMgaW4gYSBk
aXJlY3RvcnkgY2hvc2VuIGJ5IHRoZSB1c2VyLgotICAgICAgICB2aXJ0dWFsIHZvaWQgZW51bWVy
YXRlQ2hvc2VuRGlyZWN0b3J5KEZpbGVDaG9vc2VyKikgPSAwOworICAgIC8vIEFzeWNocm9ub3Vz
IHJlcXVlc3QgdG8gZW51bWVyYXRlIGFsbCBmaWxlcyBpbiBhIGRpcmVjdG9yeSBjaG9zZW4gYnkg
dGhlIHVzZXIuCisgICAgdmlydHVhbCB2b2lkIGVudW1lcmF0ZUNob3NlbkRpcmVjdG9yeShGaWxl
Q2hvb3NlciopID0gMDsKICNlbmRpZgogCi0gICAgICAgIC8vIE5vdGlmaWNhdGlvbiB0aGF0IHRo
ZSBnaXZlbiBmb3JtIGVsZW1lbnQgaGFzIGNoYW5nZWQuIFRoaXMgZnVuY3Rpb24KLSAgICAgICAg
Ly8gd2lsbCBiZSBjYWxsZWQgZnJlcXVlbnRseSwgc28gaGFuZGxpbmcgc2hvdWxkIGJlIHZlcnkg
ZmFzdC4KLSAgICAgICAgdmlydHVhbCB2b2lkIGZvcm1TdGF0ZURpZENoYW5nZShjb25zdCBOb2Rl
KikgPSAwOworICAgIC8vIE5vdGlmaWNhdGlvbiB0aGF0IHRoZSBnaXZlbiBmb3JtIGVsZW1lbnQg
aGFzIGNoYW5nZWQuIFRoaXMgZnVuY3Rpb24KKyAgICAvLyB3aWxsIGJlIGNhbGxlZCBmcmVxdWVu
dGx5LCBzbyBoYW5kbGluZyBzaG91bGQgYmUgdmVyeSBmYXN0LgorICAgIHZpcnR1YWwgdm9pZCBm
b3JtU3RhdGVEaWRDaGFuZ2UoY29uc3QgTm9kZSopID0gMDsKICAgICAgICAgCi0gICAgICAgIHZp
cnR1YWwgdm9pZCBlbGVtZW50RGlkRm9jdXMoY29uc3QgTm9kZSopIHsgfTsKLSAgICAgICAgdmly
dHVhbCB2b2lkIGVsZW1lbnREaWRCbHVyKGNvbnN0IE5vZGUqKSB7IH07CisgICAgdmlydHVhbCB2
b2lkIGVsZW1lbnREaWRGb2N1cyhjb25zdCBOb2RlKikgeyB9OworICAgIHZpcnR1YWwgdm9pZCBl
bGVtZW50RGlkQmx1cihjb25zdCBOb2RlKikgeyB9OwogCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NP
TVBPU0lUSU5HKQotICAgICAgICAvLyBBbGxvd3MgcG9ydHMgdG8gY3VzdG9taXplIHRoZSB0eXBl
IG9mIGdyYXBoaWNzIGxheWVycyBjcmVhdGVkIGJ5IHRoaXMgcGFnZS4KLSAgICAgICAgdmlydHVh
bCBHcmFwaGljc0xheWVyRmFjdG9yeSogZ3JhcGhpY3NMYXllckZhY3RvcnkoKSBjb25zdCB7IHJl
dHVybiAwOyB9Ci0KLSAgICAgICAgLy8gUGFzcyAwIGFzIHRoZSBHcmFwaGljc0xheWVyIHRvIGRl
dGF0Y2ggdGhlIHJvb3QgbGF5ZXIuCi0gICAgICAgIHZpcnR1YWwgdm9pZCBhdHRhY2hSb290R3Jh
cGhpY3NMYXllcihGcmFtZSosIEdyYXBoaWNzTGF5ZXIqKSA9IDA7Ci0gICAgICAgIC8vIFNldHMg
YSBmbGFnIHRvIHNwZWNpZnkgdGhhdCB0aGUgbmV4dCB0aW1lIGNvbnRlbnQgaXMgZHJhd24gdG8g
dGhlIHdpbmRvdywKLSAgICAgICAgLy8gdGhlIGNoYW5nZXMgYXBwZWFyIG9uIHRoZSBzY3JlZW4g
aW4gc3luY2hyb255IHdpdGggdXBkYXRlcyB0byBHcmFwaGljc0xheWVycy4KLSAgICAgICAgdmly
dHVhbCB2b2lkIHNldE5lZWRzT25lU2hvdERyYXdpbmdTeW5jaHJvbml6YXRpb24oKSA9IDA7Ci0g
ICAgICAgIC8vIFNldHMgYSBmbGFnIHRvIHNwZWNpZnkgdGhhdCB0aGUgdmlldyBuZWVkcyB0byBi
ZSB1cGRhdGVkLCBzbyB3ZSBuZWVkCi0gICAgICAgIC8vIHRvIGRvIGFuIGVhZ2VyIGxheW91dCBi
ZWZvcmUgdGhlIGRyYXdpbmcuCi0gICAgICAgIHZpcnR1YWwgdm9pZCBzY2hlZHVsZUNvbXBvc2l0
aW5nTGF5ZXJGbHVzaCgpID0gMDsKLSAgICAgICAgLy8gUmV0dXJucyB3aGV0aGVyIG9yIG5vdCB0
aGUgY2xpZW50IGNhbiByZW5kZXIgdGhlIGNvbXBvc2l0ZWQgbGF5ZXIsCi0gICAgICAgIC8vIHJl
Z2FyZGxlc3Mgb2YgdGhlIHNldHRpbmdzLgotICAgICAgICB2aXJ0dWFsIGJvb2wgYWxsb3dzQWNj
ZWxlcmF0ZWRDb21wb3NpdGluZygpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KLQotICAgICAgICBl
bnVtIENvbXBvc2l0aW5nVHJpZ2dlciB7Ci0gICAgICAgICAgICBUaHJlZURUcmFuc2Zvcm1Ucmln
Z2VyID0gMSA8PCAwLAotICAgICAgICAgICAgVmlkZW9UcmlnZ2VyID0gMSA8PCAxLAotICAgICAg
ICAgICAgUGx1Z2luVHJpZ2dlciA9IDEgPDwgMiwKLSAgICAgICAgICAgIENhbnZhc1RyaWdnZXIg
PSAxIDw8IDMsCi0gICAgICAgICAgICBBbmltYXRpb25UcmlnZ2VyID0gMSA8PCA0LAotICAgICAg
ICAgICAgRmlsdGVyVHJpZ2dlciA9IDEgPDwgNSwKLSAgICAgICAgICAgIEFsbFRyaWdnZXJzID0g
MHhGRkZGRkZGRgotICAgICAgICB9OwotICAgICAgICB0eXBlZGVmIHVuc2lnbmVkIENvbXBvc2l0
aW5nVHJpZ2dlckZsYWdzOwotCi0gICAgICAgIC8vIFJldHVybnMgYSBiaXRmaWVsZCBpbmRpY2F0
aW5nIGNvbmRpdGlvbnMgdGhhdCBjYW4gdHJpZ2dlciB0aGUgY29tcG9zaXRvci4KLSAgICAgICAg
dmlydHVhbCBDb21wb3NpdGluZ1RyaWdnZXJGbGFncyBhbGxvd2VkQ29tcG9zaXRpbmdUcmlnZ2Vy
cygpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PENvbXBvc2l0aW5nVHJpZ2dlckZsYWdzPihB
bGxUcmlnZ2Vycyk7IH0KKyAgICAvLyBBbGxvd3MgcG9ydHMgdG8gY3VzdG9taXplIHRoZSB0eXBl
IG9mIGdyYXBoaWNzIGxheWVycyBjcmVhdGVkIGJ5IHRoaXMgcGFnZS4KKyAgICB2aXJ0dWFsIEdy
YXBoaWNzTGF5ZXJGYWN0b3J5KiBncmFwaGljc0xheWVyRmFjdG9yeSgpIGNvbnN0IHsgcmV0dXJu
IDA7IH0KKworICAgIC8vIFBhc3MgMCBhcyB0aGUgR3JhcGhpY3NMYXllciB0byBkZXRhdGNoIHRo
ZSByb290IGxheWVyLgorICAgIHZpcnR1YWwgdm9pZCBhdHRhY2hSb290R3JhcGhpY3NMYXllcihG
cmFtZSosIEdyYXBoaWNzTGF5ZXIqKSA9IDA7CisgICAgLy8gU2V0cyBhIGZsYWcgdG8gc3BlY2lm
eSB0aGF0IHRoZSBuZXh0IHRpbWUgY29udGVudCBpcyBkcmF3biB0byB0aGUgd2luZG93LAorICAg
IC8vIHRoZSBjaGFuZ2VzIGFwcGVhciBvbiB0aGUgc2NyZWVuIGluIHN5bmNocm9ueSB3aXRoIHVw
ZGF0ZXMgdG8gR3JhcGhpY3NMYXllcnMuCisgICAgdmlydHVhbCB2b2lkIHNldE5lZWRzT25lU2hv
dERyYXdpbmdTeW5jaHJvbml6YXRpb24oKSA9IDA7CisgICAgLy8gU2V0cyBhIGZsYWcgdG8gc3Bl
Y2lmeSB0aGF0IHRoZSB2aWV3IG5lZWRzIHRvIGJlIHVwZGF0ZWQsIHNvIHdlIG5lZWQKKyAgICAv
LyB0byBkbyBhbiBlYWdlciBsYXlvdXQgYmVmb3JlIHRoZSBkcmF3aW5nLgorICAgIHZpcnR1YWwg
dm9pZCBzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJGbHVzaCgpID0gMDsKKyAgICAvLyBSZXR1cm5z
IHdoZXRoZXIgb3Igbm90IHRoZSBjbGllbnQgY2FuIHJlbmRlciB0aGUgY29tcG9zaXRlZCBsYXll
ciwKKyAgICAvLyByZWdhcmRsZXNzIG9mIHRoZSBzZXR0aW5ncy4KKyAgICB2aXJ0dWFsIGJvb2wg
YWxsb3dzQWNjZWxlcmF0ZWRDb21wb3NpdGluZygpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KKwor
ICAgIGVudW0gQ29tcG9zaXRpbmdUcmlnZ2VyIHsKKyAgICAgICAgVGhyZWVEVHJhbnNmb3JtVHJp
Z2dlciA9IDEgPDwgMCwKKyAgICAgICAgVmlkZW9UcmlnZ2VyID0gMSA8PCAxLAorICAgICAgICBQ
bHVnaW5UcmlnZ2VyID0gMSA8PCAyLAorICAgICAgICBDYW52YXNUcmlnZ2VyID0gMSA8PCAzLAor
ICAgICAgICBBbmltYXRpb25UcmlnZ2VyID0gMSA8PCA0LAorICAgICAgICBGaWx0ZXJUcmlnZ2Vy
ID0gMSA8PCA1LAorICAgICAgICBBbGxUcmlnZ2VycyA9IDB4RkZGRkZGRkYKKyAgICB9OworICAg
IHR5cGVkZWYgdW5zaWduZWQgQ29tcG9zaXRpbmdUcmlnZ2VyRmxhZ3M7CisKKyAgICAvLyBSZXR1
cm5zIGEgYml0ZmllbGQgaW5kaWNhdGluZyBjb25kaXRpb25zIHRoYXQgY2FuIHRyaWdnZXIgdGhl
IGNvbXBvc2l0b3IuCisgICAgdmlydHVhbCBDb21wb3NpdGluZ1RyaWdnZXJGbGFncyBhbGxvd2Vk
Q29tcG9zaXRpbmdUcmlnZ2VycygpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PENvbXBvc2l0
aW5nVHJpZ2dlckZsYWdzPihBbGxUcmlnZ2Vycyk7IH0KICNlbmRpZgogCiAjaWYgUExBVEZPUk0o
V0lOKSAmJiBVU0UoQVZGT1VOREFUSU9OKQotICAgICAgICB2aXJ0dWFsIEdyYXBoaWNzRGV2aWNl
QWRhcHRlciogZ3JhcGhpY3NEZXZpY2VBZGFwdGVyKCkgY29uc3QgeyByZXR1cm4gMDsgfQorICAg
IHZpcnR1YWwgR3JhcGhpY3NEZXZpY2VBZGFwdGVyKiBncmFwaGljc0RldmljZUFkYXB0ZXIoKSBj
b25zdCB7IHJldHVybiAwOyB9CiAjZW5kaWYKIAotICAgICAgICB2aXJ0dWFsIGJvb2wgc3VwcG9y
dHNGdWxsc2NyZWVuRm9yTm9kZShjb25zdCBOb2RlKikgeyByZXR1cm4gZmFsc2U7IH0KLSAgICAg
ICAgdmlydHVhbCB2b2lkIGVudGVyRnVsbHNjcmVlbkZvck5vZGUoTm9kZSopIHsgfQotICAgICAg
ICB2aXJ0dWFsIHZvaWQgZXhpdEZ1bGxzY3JlZW5Gb3JOb2RlKE5vZGUqKSB7IH0KLSAgICAgICAg
dmlydHVhbCBib29sIHJlcXVpcmVzRnVsbHNjcmVlbkZvclZpZGVvUGxheWJhY2soKSB7IHJldHVy
biBmYWxzZTsgfSAKKyAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNGdWxsc2NyZWVuRm9yTm9kZShj
b25zdCBOb2RlKikgeyByZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZW50ZXJGdWxs
c2NyZWVuRm9yTm9kZShOb2RlKikgeyB9CisgICAgdmlydHVhbCB2b2lkIGV4aXRGdWxsc2NyZWVu
Rm9yTm9kZShOb2RlKikgeyB9CisgICAgdmlydHVhbCBib29sIHJlcXVpcmVzRnVsbHNjcmVlbkZv
clZpZGVvUGxheWJhY2soKSB7IHJldHVybiBmYWxzZTsgfSAKIAogI2lmIEVOQUJMRShGVUxMU0NS
RUVOX0FQSSkKLSAgICAgICAgdmlydHVhbCBib29sIHN1cHBvcnRzRnVsbFNjcmVlbkZvckVsZW1l
bnQoY29uc3QgRWxlbWVudCosIGJvb2wpIHsgcmV0dXJuIGZhbHNlOyB9Ci0gICAgICAgIHZpcnR1
YWwgdm9pZCBlbnRlckZ1bGxTY3JlZW5Gb3JFbGVtZW50KEVsZW1lbnQqKSB7IH0KLSAgICAgICAg
dmlydHVhbCB2b2lkIGV4aXRGdWxsU2NyZWVuRm9yRWxlbWVudChFbGVtZW50KikgeyB9Ci0gICAg
ICAgIHZpcnR1YWwgdm9pZCBmdWxsU2NyZWVuUmVuZGVyZXJDaGFuZ2VkKFJlbmRlckJveCopIHsg
fQotICAgICAgICB2aXJ0dWFsIHZvaWQgc2V0Um9vdEZ1bGxTY3JlZW5MYXllcihHcmFwaGljc0xh
eWVyKikgeyB9CisgICAgdmlydHVhbCBib29sIHN1cHBvcnRzRnVsbFNjcmVlbkZvckVsZW1lbnQo
Y29uc3QgRWxlbWVudCosIGJvb2wpIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVhbCB2b2lk
IGVudGVyRnVsbFNjcmVlbkZvckVsZW1lbnQoRWxlbWVudCopIHsgfQorICAgIHZpcnR1YWwgdm9p
ZCBleGl0RnVsbFNjcmVlbkZvckVsZW1lbnQoRWxlbWVudCopIHsgfQorICAgIHZpcnR1YWwgdm9p
ZCBmdWxsU2NyZWVuUmVuZGVyZXJDaGFuZ2VkKFJlbmRlckJveCopIHsgfQorICAgIHZpcnR1YWwg
dm9pZCBzZXRSb290RnVsbFNjcmVlbkxheWVyKEdyYXBoaWNzTGF5ZXIqKSB7IH0KICNlbmRpZgot
ICAgICAgICAKKwogI2lmIFVTRShUSUxFRF9CQUNLSU5HX1NUT1JFKQotICAgICAgICB2aXJ0dWFs
IEludFJlY3QgdmlzaWJsZVJlY3RGb3JUaWxlZEJhY2tpbmdTdG9yZSgpIGNvbnN0IHsgcmV0dXJu
IEludFJlY3QoKTsgfQorICAgIHZpcnR1YWwgSW50UmVjdCB2aXNpYmxlUmVjdEZvclRpbGVkQmFj
a2luZ1N0b3JlKCkgY29uc3QgeyByZXR1cm4gSW50UmVjdCgpOyB9CiAjZW5kaWYKIAogI2lmIFBM
QVRGT1JNKE1BQykKLSAgICAgICAgdmlydHVhbCBOU1Jlc3BvbmRlciAqZmlyc3RSZXNwb25kZXIo
KSB7IHJldHVybiAwOyB9Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBtYWtlRmlyc3RSZXNwb25kZXIo
TlNSZXNwb25kZXIgKikgeyB9Ci0gICAgICAgIC8vIEZvY3VzZXMgb24gdGhlIGNvbnRhaW5pbmcg
dmlldyBhc3NvY2lhdGVkIHdpdGggdGhpcyBwYWdlLgotICAgICAgICB2aXJ0dWFsIHZvaWQgbWFr
ZUZpcnN0UmVzcG9uZGVyKCkgeyB9Ci0gICAgICAgIHZpcnR1YWwgdm9pZCB3aWxsUG9wVXBNZW51
KE5TTWVudSAqKSB7IH0KKyAgICB2aXJ0dWFsIE5TUmVzcG9uZGVyICpmaXJzdFJlc3BvbmRlcigp
IHsgcmV0dXJuIDA7IH0KKyAgICB2aXJ0dWFsIHZvaWQgbWFrZUZpcnN0UmVzcG9uZGVyKE5TUmVz
cG9uZGVyICopIHsgfQorICAgIC8vIEZvY3VzZXMgb24gdGhlIGNvbnRhaW5pbmcgdmlldyBhc3Nv
Y2lhdGVkIHdpdGggdGhpcyBwYWdlLgorICAgIHZpcnR1YWwgdm9pZCBtYWtlRmlyc3RSZXNwb25k
ZXIoKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgd2lsbFBvcFVwTWVudShOU01lbnUgKikgeyB9CiAj
ZW5kaWYKIAogI2lmIFBMQVRGT1JNKFdJTikKLSAgICAgICAgdmlydHVhbCB2b2lkIHNldExhc3RT
ZXRDdXJzb3JUb0N1cnJlbnRDdXJzb3IoKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHNldExhc3RT
ZXRDdXJzb3JUb0N1cnJlbnRDdXJzb3IoKSA9IDA7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShUT1VD
SF9FVkVOVFMpCi0gICAgICAgIHZpcnR1YWwgdm9pZCBuZWVkVG91Y2hFdmVudHMoYm9vbCkgPSAw
OworICAgIHZpcnR1YWwgdm9pZCBuZWVkVG91Y2hFdmVudHMoYm9vbCkgPSAwOwogI2VuZGlmCiAK
LSAgICAgICAgdmlydHVhbCBib29sIHNlbGVjdEl0ZW1Xcml0aW5nRGlyZWN0aW9uSXNOYXR1cmFs
KCkgPSAwOwotICAgICAgICB2aXJ0dWFsIGJvb2wgc2VsZWN0SXRlbUFsaWdubWVudEZvbGxvd3NN
ZW51V3JpdGluZ0RpcmVjdGlvbigpID0gMDsKLSAgICAgICAgLy8gQ2hlY2tzIGlmIHRoZXJlIGlz
IGFuIG9wZW5lZCBwb3B1cCwgY2FsbGVkIGJ5IFJlbmRlck1lbnVMaXN0OjpzaG93UG9wdXAoKS4K
LSAgICAgICAgdmlydHVhbCBib29sIGhhc09wZW5lZFBvcHVwKCkgY29uc3QgPSAwOwotICAgICAg
ICB2aXJ0dWFsIFBhc3NSZWZQdHI8UG9wdXBNZW51PiBjcmVhdGVQb3B1cE1lbnUoUG9wdXBNZW51
Q2xpZW50KikgY29uc3QgPSAwOwotICAgICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8U2VhcmNoUG9w
dXBNZW51PiBjcmVhdGVTZWFyY2hQb3B1cE1lbnUoUG9wdXBNZW51Q2xpZW50KikgY29uc3QgPSAw
OworICAgIHZpcnR1YWwgYm9vbCBzZWxlY3RJdGVtV3JpdGluZ0RpcmVjdGlvbklzTmF0dXJhbCgp
ID0gMDsKKyAgICB2aXJ0dWFsIGJvb2wgc2VsZWN0SXRlbUFsaWdubWVudEZvbGxvd3NNZW51V3Jp
dGluZ0RpcmVjdGlvbigpID0gMDsKKyAgICAvLyBDaGVja3MgaWYgdGhlcmUgaXMgYW4gb3BlbmVk
IHBvcHVwLCBjYWxsZWQgYnkgUmVuZGVyTWVudUxpc3Q6OnNob3dQb3B1cCgpLgorICAgIHZpcnR1
YWwgYm9vbCBoYXNPcGVuZWRQb3B1cCgpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIFBhc3NSZWZQ
dHI8UG9wdXBNZW51PiBjcmVhdGVQb3B1cE1lbnUoUG9wdXBNZW51Q2xpZW50KikgY29uc3QgPSAw
OworICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxTZWFyY2hQb3B1cE1lbnU+IGNyZWF0ZVNlYXJjaFBv
cHVwTWVudShQb3B1cE1lbnVDbGllbnQqKSBjb25zdCA9IDA7CiAjaWYgRU5BQkxFKFBBR0VfUE9Q
VVApCi0gICAgICAgIC8vIENyZWF0ZXMgYSBQYWdlUG9wdXAgb2JqZWN0LCBhbmQgc2hvd3MgaXQg
YmVzaWRlIG9yaWdpbkJvdW5kc0luUm9vdFZpZXcuCi0gICAgICAgIC8vIFRoZSByZXR1cm4gdmFs
dWUgY2FuIGJlIDAuCi0gICAgICAgIHZpcnR1YWwgUGFnZVBvcHVwKiBvcGVuUGFnZVBvcHVwKFBh
Z2VQb3B1cENsaWVudCosIGNvbnN0IEludFJlY3QmIG9yaWdpbkJvdW5kc0luUm9vdFZpZXcpID0g
MDsKLSAgICAgICAgdmlydHVhbCB2b2lkIGNsb3NlUGFnZVBvcHVwKFBhZ2VQb3B1cCopID0gMDsK
LSAgICAgICAgLy8gRm9yIHRlc3RpbmcuCi0gICAgICAgIHZpcnR1YWwgdm9pZCBzZXRQYWdlUG9w
dXBEcml2ZXIoUGFnZVBvcHVwRHJpdmVyKikgPSAwOwotICAgICAgICB2aXJ0dWFsIHZvaWQgcmVz
ZXRQYWdlUG9wdXBEcml2ZXIoKSA9IDA7CisgICAgLy8gQ3JlYXRlcyBhIFBhZ2VQb3B1cCBvYmpl
Y3QsIGFuZCBzaG93cyBpdCBiZXNpZGUgb3JpZ2luQm91bmRzSW5Sb290Vmlldy4KKyAgICAvLyBU
aGUgcmV0dXJuIHZhbHVlIGNhbiBiZSAwLgorICAgIHZpcnR1YWwgUGFnZVBvcHVwKiBvcGVuUGFn
ZVBvcHVwKFBhZ2VQb3B1cENsaWVudCosIGNvbnN0IEludFJlY3QmIG9yaWdpbkJvdW5kc0luUm9v
dFZpZXcpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgY2xvc2VQYWdlUG9wdXAoUGFnZVBvcHVwKikg
PSAwOworICAgIC8vIEZvciB0ZXN0aW5nLgorICAgIHZpcnR1YWwgdm9pZCBzZXRQYWdlUG9wdXBE
cml2ZXIoUGFnZVBvcHVwRHJpdmVyKikgPSAwOworICAgIHZpcnR1YWwgdm9pZCByZXNldFBhZ2VQ
b3B1cERyaXZlcigpID0gMDsKICNlbmRpZgotICAgICAgICAvLyBUaGlzIGZ1bmN0aW9uIGlzIGNh
bGxlZCB3aGVuZXZlciBhIHRleHQgZmllbGQgPGlucHV0PiBpcwotICAgICAgICAvLyBjcmVhdGVk
LiBUaGUgaW1wbGVtZW50YXRpb24gc2hvdWxkIHJldHVybiB0cnVlIGlmIGl0IHdhbnRzCi0gICAg
ICAgIC8vIHRvIGRvIHNvbWV0aGluZyBpbiBhZGRUZXh0RmllbGREZWNvcmF0aW9uc1RvKCkuCi0g
ICAgICAgIC8vIFRoZSBhcmd1bWVudCBpcyBhbHdheXMgbm9uLTAuCi0gICAgICAgIHZpcnR1YWwg
Ym9vbCB3aWxsQWRkVGV4dEZpZWxkRGVjb3JhdGlvbnNUbyhIVE1MSW5wdXRFbGVtZW50KikgeyBy
ZXR1cm4gZmFsc2U7IH0KLSAgICAgICAgLy8gVGhlIGFyZ3VtZW50IGlzIGFsd2F5cyBub24tMC4K
LSAgICAgICAgdmlydHVhbCB2b2lkIGFkZFRleHRGaWVsZERlY29yYXRpb25zVG8oSFRNTElucHV0
RWxlbWVudCopIHsgfQotCi0gICAgICAgIHZpcnR1YWwgdm9pZCBwb3N0QWNjZXNzaWJpbGl0eU5v
dGlmaWNhdGlvbihBY2Nlc3NpYmlsaXR5T2JqZWN0KiwgQVhPYmplY3RDYWNoZTo6QVhOb3RpZmlj
YXRpb24pIHsgfQotICAgICAgICAKLSAgICAgICAgdmlydHVhbCB2b2lkIG5vdGlmeVNjcm9sbGVy
VGh1bWJJc1Zpc2libGVJblJlY3QoY29uc3QgSW50UmVjdCYpIHsgfQotICAgICAgICB2aXJ0dWFs
IHZvaWQgcmVjb21tZW5kZWRTY3JvbGxiYXJTdHlsZURpZENoYW5nZShpbnQgLypuZXdTdHlsZSov
KSB7IH0KLQotICAgICAgICBlbnVtIERpYWxvZ1R5cGUgewotICAgICAgICAgICAgQWxlcnREaWFs
b2cgPSAwLAotICAgICAgICAgICAgQ29uZmlybURpYWxvZyA9IDEsCi0gICAgICAgICAgICBQcm9t
cHREaWFsb2cgPSAyLAotICAgICAgICAgICAgSFRNTERpYWxvZyA9IDMKLSAgICAgICAgfTsKLSAg
ICAgICAgdmlydHVhbCBib29sIHNob3VsZFJ1bk1vZGFsRGlhbG9nRHVyaW5nUGFnZURpc21pc3Nh
bChjb25zdCBEaWFsb2dUeXBlJiwgY29uc3QgU3RyaW5nJiBkaWFsb2dNZXNzYWdlLCBGcmFtZUxv
YWRlcjo6UGFnZURpc21pc3NhbFR5cGUpIGNvbnN0IHsgVU5VU0VEX1BBUkFNKGRpYWxvZ01lc3Nh
Z2UpOyByZXR1cm4gdHJ1ZTsgfQotCi0gICAgICAgIHZpcnR1YWwgdm9pZCBudW1XaGVlbEV2ZW50
SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKSA9IDA7CisgICAgLy8gVGhpcyBmdW5jdGlvbiBpcyBj
YWxsZWQgd2hlbmV2ZXIgYSB0ZXh0IGZpZWxkIDxpbnB1dD4gaXMgY3JlYXRlZC4gVGhlCisgICAg
Ly8gaW1wbGVtZW50YXRpb24gc2hvdWxkIHJldHVybiB0cnVlIGlmIGl0IHdhbnRzIHRvIGRvIHNv
bWV0aGluZyBpbgorICAgIC8vIGFkZFRleHRGaWVsZERlY29yYXRpb25zVG8oKS4KKyAgICAvLyBU
aGUgYXJndW1lbnQgaXMgYWx3YXlzIG5vbi0wLgorICAgIHZpcnR1YWwgYm9vbCB3aWxsQWRkVGV4
dEZpZWxkRGVjb3JhdGlvbnNUbyhIVE1MSW5wdXRFbGVtZW50KikgeyByZXR1cm4gZmFsc2U7IH0K
KyAgICAvLyBUaGUgYXJndW1lbnQgaXMgYWx3YXlzIG5vbi0wLgorICAgIHZpcnR1YWwgdm9pZCBh
ZGRUZXh0RmllbGREZWNvcmF0aW9uc1RvKEhUTUxJbnB1dEVsZW1lbnQqKSB7IH0KKworICAgIHZp
cnR1YWwgdm9pZCBwb3N0QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbihBY2Nlc3NpYmlsaXR5T2Jq
ZWN0KiwgQVhPYmplY3RDYWNoZTo6QVhOb3RpZmljYXRpb24pIHsgfQorCisgICAgdmlydHVhbCB2
b2lkIG5vdGlmeVNjcm9sbGVyVGh1bWJJc1Zpc2libGVJblJlY3QoY29uc3QgSW50UmVjdCYpIHsg
fQorICAgIHZpcnR1YWwgdm9pZCByZWNvbW1lbmRlZFNjcm9sbGJhclN0eWxlRGlkQ2hhbmdlKGlu
dCAvKm5ld1N0eWxlKi8pIHsgfQorCisgICAgZW51bSBEaWFsb2dUeXBlIHsKKyAgICAgICAgQWxl
cnREaWFsb2cgPSAwLAorICAgICAgICBDb25maXJtRGlhbG9nID0gMSwKKyAgICAgICAgUHJvbXB0
RGlhbG9nID0gMiwKKyAgICAgICAgSFRNTERpYWxvZyA9IDMKKyAgICB9OworICAgIHZpcnR1YWwg
Ym9vbCBzaG91bGRSdW5Nb2RhbERpYWxvZ0R1cmluZ1BhZ2VEaXNtaXNzYWwoY29uc3QgRGlhbG9n
VHlwZSYsIGNvbnN0IFN0cmluZyYgZGlhbG9nTWVzc2FnZSwgRnJhbWVMb2FkZXI6OlBhZ2VEaXNt
aXNzYWxUeXBlKSBjb25zdCB7IFVOVVNFRF9QQVJBTShkaWFsb2dNZXNzYWdlKTsgcmV0dXJuIHRy
dWU7IH0KKworICAgIHZpcnR1YWwgdm9pZCBudW1XaGVlbEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVu
c2lnbmVkKSA9IDA7CiAgICAgICAgIAotICAgICAgICB2aXJ0dWFsIGJvb2wgaXNTVkdJbWFnZUNo
cm9tZUNsaWVudCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVhbCBib29sIGlz
U1ZHSW1hZ2VDaHJvbWVDbGllbnQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogCiAjaWYgRU5B
QkxFKFBPSU5URVJfTE9DSykKLSAgICAgICAgdmlydHVhbCBib29sIHJlcXVlc3RQb2ludGVyTG9j
aygpIHsgcmV0dXJuIGZhbHNlOyB9Ci0gICAgICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0UG9pbnRl
clVubG9jaygpIHsgfQotICAgICAgICB2aXJ0dWFsIGJvb2wgaXNQb2ludGVyTG9ja2VkKCkgeyBy
ZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0dWFsIGJvb2wgcmVxdWVzdFBvaW50ZXJMb2NrKCkgeyBy
ZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFBvaW50ZXJVbmxvY2soKSB7
IH0KKyAgICB2aXJ0dWFsIGJvb2wgaXNQb2ludGVyTG9ja2VkKCkgeyByZXR1cm4gZmFsc2U7IH0K
ICNlbmRpZgogCi0gICAgICAgIHZpcnR1YWwgdm9pZCBsb2dEaWFnbm9zdGljTWVzc2FnZShjb25z
dCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIGNvbnN0IFN0cmlu
ZyYgc3RhdHVzKSB7IFVOVVNFRF9QQVJBTShtZXNzYWdlKTsgVU5VU0VEX1BBUkFNKGRlc2NyaXB0
aW9uKTsgVU5VU0VEX1BBUkFNKHN0YXR1cyk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgbG9nRGlhZ25v
c3RpY01lc3NhZ2UoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0
aW9uLCBjb25zdCBTdHJpbmcmIHN0YXR1cykgeyBVTlVTRURfUEFSQU0obWVzc2FnZSk7IFVOVVNF
RF9QQVJBTShkZXNjcmlwdGlvbik7IFVOVVNFRF9QQVJBTShzdGF0dXMpOyB9CiAKLSAgICAgICAg
dmlydHVhbCBGbG9hdFNpemUgbWluaW11bVdpbmRvd1NpemUoKSBjb25zdCB7IHJldHVybiBGbG9h
dFNpemUoMTAwLCAxMDApOyB9OworICAgIHZpcnR1YWwgRmxvYXRTaXplIG1pbmltdW1XaW5kb3dT
aXplKCkgY29uc3QgeyByZXR1cm4gRmxvYXRTaXplKDEwMCwgMTAwKTsgfTsKIAotICAgICAgICB2
aXJ0dWFsIGJvb2wgaXNFbXB0eUNocm9tZUNsaWVudCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9
CisgICAgdmlydHVhbCBib29sIGlzRW1wdHlDaHJvbWVDbGllbnQoKSBjb25zdCB7IHJldHVybiBm
YWxzZTsgfQogCi0gICAgICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxJbWFnZT4gcGx1Z0luU3RhcnRM
YWJlbEltYWdlKFJlbmRlclNuYXBzaG90dGVkUGx1Z0luOjpMYWJlbFNpemUpIGNvbnN0IHsgcmV0
dXJuIDA7IH0KKyAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8SW1hZ2U+IHBsdWdJblN0YXJ0TGFiZWxJ
bWFnZShSZW5kZXJTbmFwc2hvdHRlZFBsdWdJbjo6TGFiZWxTaXplKSBjb25zdCB7IHJldHVybiAw
OyB9CiAKLSAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIHZpcnR1YWwgfkNocm9tZUNsaWVudCgpIHsg
fQotICAgIH07Citwcm90ZWN0ZWQ6CisgICAgdmlydHVhbCB+Q2hyb21lQ2xpZW50KCkgeyB9Cit9
OwogCiB9CiAjZW5kaWYgLy8gQ2hyb21lQ2xpZW50X2gK
</data>

          </attachment>
      

    </bug>

</bugzilla>