<?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>231344</bug_id>
          
          <creation_ts>2021-10-06 17:23:21 -0700</creation_ts>
          <short_desc>[iOS] Get rid of the deviceClass function, up-leveling to deviceClassIsSmallScreen</short_desc>
          <delta_ts>2021-10-07 10:59:17 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1801440</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-10-06 17:23:21 -0700</bug_when>
    <thetext>Get rid of the deviceClass function, up-leveling to deviceClassIsSmallScreen</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1801453</commentid>
    <comment_count>1</comment_count>
      <attachid>440459</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-10-06 17:41:05 -0700</bug_when>
    <thetext>Created attachment 440459
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1801462</commentid>
    <comment_count>2</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-10-06 18:05:39 -0700</bug_when>
    <thetext>Tim, did what I said and what you said.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1801466</commentid>
    <comment_count>3</comment_count>
      <attachid>440459</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-10-06 18:25:07 -0700</bug_when>
    <thetext>Comment on attachment 440459
Patch

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

Love it! I&apos;m still trying to puzzle out `deviceHasIPadCapability` with folks.

&gt; Source/WebKit/Shared/ios/WebPreferencesDefaultValuesIOS.mm:72
&gt;  #if PLATFORM(MACCATALYST)
&gt;      return true;
&gt;  #elif PLATFORM(IOS)

Probably (?) could get rid of this ifdef

&gt; Source/WebKitLegacy/mac/WebView/WebPreferencesDefaultValues.mm:278
&gt;  #if PLATFORM(MACCATALYST)
&gt;      return true;

And again</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1801619</commentid>
    <comment_count>4</comment_count>
      <attachid>440459</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-10-07 09:07:44 -0700</bug_when>
    <thetext>Comment on attachment 440459
Patch

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

&gt;&gt; Source/WebKit/Shared/ios/WebPreferencesDefaultValuesIOS.mm:72
&gt;&gt;  #elif PLATFORM(IOS)
&gt; 
&gt; Probably (?) could get rid of this ifdef

Good point. If we want to do compile time optimization we can do that in Device.h/cpp instead of here. Will do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1801668</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-10-07 10:58:50 -0700</bug_when>
    <thetext>Committed r283721 (242645@main): &lt;https://commits.webkit.org/242645@main&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1801669</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-10-07 10:59:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/83989632&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440459</attachid>
            <date>2021-10-06 17:41:05 -0700</date>
            <delta_ts>2021-10-06 18:25:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231344-20211006174104.patch</filename>
            <type>text/plain</type>
            <size>30624</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzNjcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzlkNWM0MWZkMDUyOTE4
NmQxNDY1YjcxNTc4OWZiZGQ3ZDIxMjgzYy4uMTlmYjI5NjE4NWQ3ODM0MDBlMmRhYWE4ODhmNTY4
ODRhMTJiOTczNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTEwLTA2ICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBHZXQgcmlkIG9mIHRoZSBkZXZp
Y2VDbGFzcyBmdW5jdGlvbiwgdXAtbGV2ZWxpbmcgdG8gZGV2aWNlQ2xhc3NJc1NtYWxsU2NyZWVu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzEzNDQK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRm
b3JtL2lvcy9EZXZpY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6ZGV2aWNlQ2xhc3NJc1NtYWxs
U2NyZWVuKTogUmVwbGFjZWQgZGV2aWNlQ2xhc3Mgd2l0aCB0aGlzLgorICAgICAgICAqIHBsYXRm
b3JtL2lvcy9EZXZpY2UuaDogRGl0dG8uCisKIDIwMjEtMTAtMDYgIFdlbnNvbiBIc2llaCAgPHdl
bnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgTW92ZSBGbHVzaElkZW50aWZpZXIgb3V0
IG9mIHRoZSBEaXNwbGF5TGlzdCBuYW1lc3BhY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMTUzOTI0YWQ0NWZiNTQ1
YTFkMzBhMjc5ZGNkMmU5Nzc1NzM4MzI4YS4uNDEzZWRhODg3ZGRmN2FkNzExYWRlOGY3MWRmNTQ1
ZWFmOWUzNDI3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw2MyBAQAorMjAyMS0xMC0wNiAgRGFyaW4g
QWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CisKKyAgICAgICAgR2V0IHJpZCBvZiB0aGUgZGV2aWNl
Q2xhc3MgZnVuY3Rpb24sIHVwLWxldmVsaW5nIHRvIGRldmljZUNsYXNzSXNTbWFsbFNjcmVlbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMxMzQ0CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTaGFyZWQv
VXNlckludGVyZmFjZUlkaW9tLmg6CisgICAgICAgICogU2hhcmVkL1VzZXJJbnRlcmZhY2VJZGlv
bS5tbToKKyAgICAgICAgKFdlYktpdDo6Y3VycmVudFVzZXJJbnRlcmZhY2VJZGlvbUlzU21hbGxT
Y3JlZW4pOiBSZW5hbWVkIHRvIHNheSAiaXMgc21hbGwgc2NyZWVuIgorICAgICAgICBpbnN0ZWFk
IG9mICJpcyBwaG9uZSBvciB3YXRjaCIsIHRoZSBzYW1lIGNvbmNlcHQuIEFsc28gc3dpdGNoZWQg
dG8gVHJpU3RhdGUgaW5zdGVhZAorICAgICAgICBvZiB1c2luZyBhIHVuaXF1ZSBlbnVtZXJhdGlv
bi4KKyAgICAgICAgKFdlYktpdDo6c2V0Q3VycmVudFVzZXJJbnRlcmZhY2VJZGlvbUlzU21hbGxT
Y3JlZW4pOiBEaXR0by4KKyAgICAgICAgKFdlYktpdDo6dXBkYXRlQ3VycmVudFVzZXJJbnRlcmZh
Y2VJZGlvbSk6IFVwZGF0ZWQgZm9yIG5hbWUgY2hhbmdlLgorCisgICAgICAgICogU2hhcmVkL1dl
YlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZGUgY29uc3QpOiBVcGRhdGVkIGZvciBuYW1lIGNo
YW5nZS4KKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVj
b2RlKTogRGl0dG8uCisgICAgICAgICogU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRl
cnMuaDogRGl0dG8uCisKKyAgICAgICAgKiBTaGFyZWQvaW9zL1dlYlByZWZlcmVuY2VzRGVmYXVs
dFZhbHVlc0lPUy5tbToKKyAgICAgICAgKFdlYktpdDo6ZGVmYXVsdFRleHRBdXRvc2l6aW5nVXNl
c0lkZW1wb3RlbnRNb2RlKTogVXBkYXRlZCBmb3IgbmFtZSBjaGFuZ2UuCisgICAgICAgIChXZWJL
aXQ6OmRlZmF1bHRNZWRpYVNvdXJjZUVuYWJsZWQpOiBDYWxsIGRldmljZUNsYXNzSXNTbWFsbFNj
cmVlbiBpbnN0ZWFkIG9mCisgICAgICAgIGNhbGxpbmcgZGV2aWNlQ2xhc3MuCisKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW06CisgICAgICAg
ICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gaW5pdF0pOiBVcGRhdGVkIGZvciBuYW1lIGNoYW5n
ZS4KKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nl
c3MpOiBEaXR0by4KKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnJlZ2lzdGVyTm90
aWZpY2F0aW9uT2JzZXJ2ZXJzKTogRGl0dG8sIGFsc28gZ290IHJpZCBvZgorICAgICAgICBsb2Nh
bCB2YXJpYWJsZS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvU21hcnRNYWduaWZpY2F0aW9u
Q29udHJvbGxlci5tbToKKyAgICAgICAgKFdlYktpdDo6U21hcnRNYWduaWZpY2F0aW9uQ29udHJv
bGxlcjo6ZGlkQ29sbGVjdEdlb21ldHJ5Rm9yU21hcnRNYWduaWZpY2F0aW9uR2VzdHVyZSk6Cisg
ICAgICAgIFVwZGF0ZWQgZm9yIG5hbWUgY2hhbmdlLgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3Mv
V0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tOgorICAgICAgICAoLVtXS0Zvcm1JbnB1dFNlc3Np
b24gc2V0QWNjZXNzb3J5Vmlld0N1c3RvbUJ1dHRvblRpdGxlOl0pOiBEaXR0by4KKyAgICAgICAg
KC1bV0tDb250ZW50VmlldyBlbmRFZGl0aW5nQW5kVXBkYXRlRm9jdXNBcHBlYXJhbmNlV2l0aFJl
YXNvbjpdKTogRGl0dG8uCisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX3Nob3VsZFNob3dBdXRv
bWF0aWNLZXlib2FyZFVJSWdub3JpbmdJbnB1dE1vZGVdKTogRGl0dG8uCisgICAgICAgICgtW1dL
Q29udGVudFZpZXcgX3pvb21Ub1JldmVhbEZvY3VzZWRFbGVtZW50XSk6IERpdHRvLgorICAgICAg
ICAoLVtXS0NvbnRlbnRWaWV3IF9lbGVtZW50VHlwZVJlcXVpcmVzQWNjZXNzb3J5VmlldzpdKTog
RGl0dG8uCisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX3VwZGF0ZUFjY2Vzc29yeV0pOiBEaXR0
by4KKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfc2hvdWxkVXNlTGVnYWN5U2VsZWN0UG9wb3Zl
ckRpc21pc3NhbEJlaGF2aW9yXSk6IERpdHRvLgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV2Vi
RGF0YUxpc3RTdWdnZXN0aW9uc0Ryb3Bkb3duSU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJE
YXRhTGlzdFN1Z2dlc3Rpb25zRHJvcGRvd25JT1M6OnNob3cpOiBEaXR0by4KKyAgICAgICAgKiBV
SVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbToKKyAgICAgICAgKFdlYktpdDo6ZGVza3Rv
cENsYXNzQnJvd3NpbmdTdXBwb3J0ZWQpOiBEaXR0by4KKyAgICAgICAgKiBVSVByb2Nlc3MvaW9z
L2Zvcm1zL1dLQWlyUGxheVJvdXRlUGlja2VyLm1tOgorICAgICAgICAoLVtXS0FpclBsYXlSb3V0
ZVBpY2tlciBzaG93OmZyb21SZWN0Ol0pOiBEaXR0by4KKyAgICAgICAgKiBVSVByb2Nlc3MvaW9z
L2Zvcm1zL1dLRmlsZVVwbG9hZFBhbmVsLm1tOgorICAgICAgICAoLVtXS0ZpbGVVcGxvYWRQYW5l
bCBfc2hvd1Bob3RvUGlja2VyV2l0aFNvdXJjZVR5cGU6XSk6IERpdHRvLgorICAgICAgICAoLVtX
S0ZpbGVVcGxvYWRQYW5lbCBfcHJlc2VudE1lbnVPcHRpb25Gb3JDdXJyZW50SW50ZXJmYWNlSWRp
b206XSk6IERpdHRvLgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvZm9ybXMvV0tGb3JtU2VsZWN0
Q29udHJvbC5tbToKKyAgICAgICAgKC1bV0tGb3JtU2VsZWN0Q29udHJvbCBpbml0V2l0aFZpZXc6
XSk6IERpdHRvLgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvZm9ybXMvV0tGb3JtU2VsZWN0UGlj
a2VyLm1tOgorICAgICAgICAoLVtXS1NlbGVjdE11bHRpcGxlUGlja2VyIGNvbmZpZ3VyZVByZXNl
bnRhdGlvbl0pOiBEaXR0by4KKyAgICAgICAgKiBXZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3ND
b2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXpl
V2ViUHJvY2Vzcyk6IERpdHRvLgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjp1c2VySW50
ZXJmYWNlSWRpb21EaWRDaGFuZ2UpOiBEaXR0by4KKwogMjAyMS0xMC0wNiAgV2Vuc29uIEhzaWVo
ICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBNb3ZlIEZsdXNoSWRlbnRpZmll
ciBvdXQgb2YgdGhlIERpc3BsYXlMaXN0IG5hbWVzcGFjZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdl
TG9nCmluZGV4IDZhNzAwZTg5ZGRhZWQ2ZTY3M2Q0OWM5MWI2MDM3ODAyYjgxMjk4ZDguLmEwNTQz
NTE1YmI0MjMwNjE5Y2Q1NDYxODc2ZmMwMGQyZDZmNGU3YzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAyMS0xMC0wNiAgRGFyaW4gQWRsZXIgIDxkYXJp
bkBhcHBsZS5jb20+CisKKyAgICAgICAgR2V0IHJpZCBvZiB0aGUgZGV2aWNlQ2xhc3MgZnVuY3Rp
b24sIHVwLWxldmVsaW5nIHRvIGRldmljZUNsYXNzSXNTbWFsbFNjcmVlbgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMxMzQ0CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVu
Y2VzRGVmYXVsdFZhbHVlcy5tbToKKyAgICAgICAgKFdlYktpdDo6ZGVmYXVsdEFsbG93c0lubGlu
ZU1lZGlhUGxheWJhY2spOiBVc2UgIWRldmljZUNsYXNzSXNTbWFsbFNjcmVlbgorICAgICAgICBp
bnN0ZWFkIG9mIGRldmljZUNsYXNzID09IGlQYWQuCisgICAgICAgIChXZWJLaXQ6OmRlZmF1bHRB
bGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrQWZ0ZXJGdWxsc2NyZWVuKTogVXNlCisgICAgICAgIGRl
dmljZUNsYXNzSXNTbWFsbFNjcmVlbiBpbnN0ZWFkIG9mIGRldmljZUNsYXNzICE9IGlQYWQuCisg
ICAgICAgIChXZWJLaXQ6OmRlZmF1bHRJbmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5c0lu
bGluZUF0dHJpYnV0ZSk6IERpdHRvLgorICAgICAgICAoV2ViS2l0OjpkZWZhdWx0TWVkaWFTb3Vy
Y2VFbmFibGVkKTogVXNlICFkZXZpY2VDbGFzc0lzU21hbGxTY3JlZW4KKyAgICAgICAgaW5zdGVh
ZCBvZiBjaGVja2luZyBzcGVjaWZpY2FsbHkgZm9yICE9IGlQaG9uZSBhbmQgIT0gaVBvZC4KKwog
MjAyMS0xMC0wNSAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAg
ICAgICA8bW9kZWw+IHNob3VsZCBiZSBkcmFnZ2FibGUsIHNpbWlsYXIgdG8gPGltZz4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9EZXZpY2UuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vaW9zL0RldmljZS5jcHAKaW5kZXggYzA3N2ExMTg2OGU3Zjk4OTFmOGNi
NmJkNDA3MGFjM2I4YTZjOGQzYi4uZGQ1NDY5YjRiZmNkYTllMzhkYTg0NTlhN2RiOTYxNWQ1YmY0
OWZiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0RldmljZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0RldmljZS5jcHAKQEAgLTEsNSArMSw1
IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNS0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjksMTYgKzI5LDE3
IEBACiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKIAogI2luY2x1ZGUgPG11dGV4PgorI2luY2x1
ZGUgPHBhbC9zcGkvaW9zL01vYmlsZUdlc3RhbHRTUEkuaD4KICNpbmNsdWRlIDx3dGYvTmV2ZXJE
ZXN0cm95ZWQuaD4KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotTUdEZXZpY2VDbGFzcyBk
ZXZpY2VDbGFzcygpCitib29sIGRldmljZUNsYXNzSXNTbWFsbFNjcmVlbigpCiB7Ci0gICAgc3Rh
dGljIE1HRGV2aWNlQ2xhc3MgZGV2aWNlQ2xhc3MgPSBzdGF0aWNfY2FzdDxNR0RldmljZUNsYXNz
PihNR0dldFNJbnQzMkFuc3dlcihrTUdRRGV2aWNlQ2xhc3NOdW1iZXIsIE1HRGV2aWNlQ2xhc3NJ
bnZhbGlkKSk7Ci0gICAgcmV0dXJuIGRldmljZUNsYXNzOworICAgIHN0YXRpYyBhdXRvIGRldmlj
ZUNsYXNzID0gTUdHZXRTSW50MzJBbnN3ZXIoa01HUURldmljZUNsYXNzTnVtYmVyLCBNR0Rldmlj
ZUNsYXNzSW52YWxpZCk7CisgICAgcmV0dXJuIGRldmljZUNsYXNzID09IE1HRGV2aWNlQ2xhc3Np
UGhvbmUgfHwgZGV2aWNlQ2xhc3MgPT0gTUdEZXZpY2VDbGFzc2lQb2QgfHwgZGV2aWNlQ2xhc3Mg
PT0gTUdEZXZpY2VDbGFzc1dhdGNoOwogfQogCiBTdHJpbmcgZGV2aWNlTmFtZSgpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvRGV2aWNlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9pb3MvRGV2aWNlLmgKaW5kZXggMTk5MDE5MWRkODRhMGI5ZWQ1NDU1NzZhOGQ5
ZDEyZDQxNDgwM2EyNC4uNjE4NThjYjQzMzZkZjczZDBkMjE2MDc2OTI2YjU5NGFiNDVjOGJjMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0RldmljZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9EZXZpY2UuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMTUtMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTUtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTIzLDI0ICsyMywyNCBAQAog
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNpZm5kZWYgRGV2aWNl
X2gKLSNkZWZpbmUgRGV2aWNlX2gKKyNwcmFnbWEgb25jZQogCiAjaWYgUExBVEZPUk0oSU9TX0ZB
TUlMWSkKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8cGFsL3NwaS9pb3Mv
TW9iaWxlR2VzdGFsdFNQSS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVdFQkNPUkVfRVhQ
T1JUIE1HRGV2aWNlQ2xhc3MgZGV2aWNlQ2xhc3MoKTsKIFN0cmluZyBkZXZpY2VOYW1lKCk7IC8v
IFRocmVhZC1zYWZlLgogCi0vLyBGSVhNRTogSXNuJ3QgdGhpcyB0aGUgc2FtZSBhcyBkZXZpY2VD
bGFzcygpID09IE1HRGV2aWNlQ2xhc3NpUGFkPworLy8gUmV0dXJucyB0cnVlIG9ubHkgZm9yIGlQ
aG9uZSwgaVBvZCwgQXBwbGUgV2F0Y2guCisvLyBGZXcgY2FsbGVycyBzaG91bGQgYmUgbWFraW5n
IGFueSBkZWNpc2lvbnMgYmFzZWQgb24gZGV2aWNlIGNsYXNzLgorLy8gSWYgYSBjaGVjayBsaWtl
IHRoaXMgaXMgbmVlZGVkLCBvZnRlbiBjdXJyZW50VXNlckludGVyZmFjZUlkaW9tSXNTbWFsbFNj
cmVlbiBpcyBwcmVmZXJyZWQuCitXRUJDT1JFX0VYUE9SVCBib29sIGRldmljZUNsYXNzSXNTbWFs
bFNjcmVlbigpOworCisvLyBGSVhNRTogSG93IGRvZXMgdGhpcyBkaWZmZXIgZnJvbSAhZGV2aWNl
Q2xhc3NJc1NtYWxsU2NyZWVuKCk/CiBib29sIGRldmljZUhhc0lQYWRDYXBhYmlsaXR5KCk7CiAK
IH0KIAogI2VuZGlmIC8vIFBMQVRGT1JNKElPU19GQU1JTFkpCi0KLSNlbmRpZiAvLyBEZXZpY2Vf
aApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvVXNlckludGVyZmFjZUlkaW9tLmgg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Vc2VySW50ZXJmYWNlSWRpb20uaAppbmRleCAzZTdhZmZk
ODkxZGY4YTRhMjg4OGJlN2ZjNTg3OTk2NTIyMzE4OTdlLi5hMDY2ZDQ0MTFkYjU3NzAzOTg4NTI1
ZWNmYzliZDNhOWY2YzRiM2ZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Vc2Vy
SW50ZXJmYWNlSWRpb20uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Vc2VySW50ZXJmYWNl
SWRpb20uaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0qIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisqIENvcHlyaWdodCAoQykgMjAxOS0yMDIxIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICoKICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpA
QCAtMjksOCArMjksOCBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotYm9vbCBjdXJyZW50VXNl
ckludGVyZmFjZUlkaW9tSXNQaG9uZU9yV2F0Y2goKTsKLXZvaWQgc2V0Q3VycmVudFVzZXJJbnRl
cmZhY2VJZGlvbUlzUGhvbmVPcldhdGNoKGJvb2wpOworYm9vbCBjdXJyZW50VXNlckludGVyZmFj
ZUlkaW9tSXNTbWFsbFNjcmVlbigpOwordm9pZCBzZXRDdXJyZW50VXNlckludGVyZmFjZUlkaW9t
SXNTbWFsbFNjcmVlbihib29sKTsKIGJvb2wgdXBkYXRlQ3VycmVudFVzZXJJbnRlcmZhY2VJZGlv
bSgpOwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Vc2VySW50ZXJmYWNl
SWRpb20ubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Vc2VySW50ZXJmYWNlSWRpb20ubW0KaW5k
ZXggZTk2OGZiNGYwM2Y0MWIyMmQwZjc5Mjk5OTU2YjgwZmRlNjNhZTQ0Ny4uMDE0MTUzMjA4N2U3
MDAyZDEwYmU5M2JiOWQ5ZWJkM2NjOGE3MTc1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9T
aGFyZWQvVXNlckludGVyZmFjZUlkaW9tLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1Vz
ZXJJbnRlcmZhY2VJZGlvbS5tbQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0qIENvcHlyaWdodCAoQykg
MjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisqIENvcHlyaWdodCAoQykgMjAx
OS0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICoKICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwpAQCAtMzAsNTIgKzMwLDQzIEBACiAKICNpbXBvcnQgIlVJS2l0U1BJLmgiCiAj
aW1wb3J0IDxXZWJDb3JlL0RldmljZS5oPgorI2ltcG9ydCA8d3RmL1RyaVN0YXRlLmg+CiAKIG5h
bWVzcGFjZSBXZWJLaXQgewogCi1lbnVtIGNsYXNzIFVzZXJJbnRlcmZhY2VJZGlvbVN0YXRlIDog
dWludDhfdCB7Ci0gICAgSXNQaG9uZU9yV2F0Y2gsCi0gICAgSXNOb3RQaG9uZU9yV2F0Y2gsCi0g
ICAgVW5rbm93biwKLX07CitzdGF0aWMgVHJpU3RhdGUgaWRpb21Jc1NtYWxsU2NyZWVuID0gVHJp
U3RhdGU6OkluZGV0ZXJtaW5hdGU7CiAKLXN0YXRpYyBVc2VySW50ZXJmYWNlSWRpb21TdGF0ZSB1
c2VySW50ZXJmYWNlSWRpb21TdGF0ZSA9IFVzZXJJbnRlcmZhY2VJZGlvbVN0YXRlOjpVbmtub3du
OwotCi1ib29sIGN1cnJlbnRVc2VySW50ZXJmYWNlSWRpb21Jc1Bob25lT3JXYXRjaCgpCitib29s
IGN1cnJlbnRVc2VySW50ZXJmYWNlSWRpb21Jc1NtYWxsU2NyZWVuKCkKIHsKLSAgICAvLyBGSVhN
RTogV2Ugc2hvdWxkIGdldCByaWQgb2YgdGhpcyBmdW5jdGlvbiBhbmQgaGF2ZSBjYWxsZXJzIG1h
a2UgZXhwbGljaXQgZGVjaXNpb25zIGZvciBhbGwgb2YgaVBob25lL2lQYWQvbWFjT1MuCi0KLSAg
ICBpZiAodXNlckludGVyZmFjZUlkaW9tU3RhdGUgPT0gVXNlckludGVyZmFjZUlkaW9tU3RhdGU6
OlVua25vd24pCisgICAgaWYgKGlkaW9tSXNTbWFsbFNjcmVlbiA9PSBUcmlTdGF0ZTo6SW5kZXRl
cm1pbmF0ZSkKICAgICAgICAgdXBkYXRlQ3VycmVudFVzZXJJbnRlcmZhY2VJZGlvbSgpOwotCi0g
ICAgcmV0dXJuIHVzZXJJbnRlcmZhY2VJZGlvbVN0YXRlID09IFVzZXJJbnRlcmZhY2VJZGlvbVN0
YXRlOjpJc1Bob25lT3JXYXRjaDsKKyAgICByZXR1cm4gaWRpb21Jc1NtYWxsU2NyZWVuID09IFRy
aVN0YXRlOjpUcnVlOwogfQogCi12b2lkIHNldEN1cnJlbnRVc2VySW50ZXJmYWNlSWRpb21Jc1Bo
b25lT3JXYXRjaChib29sIGlzUGhvbmVPcldhdGNoKQordm9pZCBzZXRDdXJyZW50VXNlckludGVy
ZmFjZUlkaW9tSXNTbWFsbFNjcmVlbihib29sIGlzU21hbGxTY3JlZW4pCiB7Ci0gICAgdXNlcklu
dGVyZmFjZUlkaW9tU3RhdGUgPSBpc1Bob25lT3JXYXRjaCA/IFVzZXJJbnRlcmZhY2VJZGlvbVN0
YXRlOjpJc1Bob25lT3JXYXRjaCA6IFVzZXJJbnRlcmZhY2VJZGlvbVN0YXRlOjpJc05vdFBob25l
T3JXYXRjaDsKKyAgICBpZGlvbUlzU21hbGxTY3JlZW4gPSBUcmlTdGF0ZShpc1NtYWxsU2NyZWVu
KTsKIH0KIAogYm9vbCB1cGRhdGVDdXJyZW50VXNlckludGVyZmFjZUlkaW9tKCkKIHsKLSAgICBi
b29sIHdhc1Bob25lT3JXYXRjaCA9IHVzZXJJbnRlcmZhY2VJZGlvbVN0YXRlID09IFVzZXJJbnRl
cmZhY2VJZGlvbVN0YXRlOjpJc1Bob25lT3JXYXRjaDsKLSAgICBib29sIGlzUGhvbmVPcldhdGNo
ID0gZmFsc2U7CisgICAgYm9vbCB3YXNTbWFsbFNjcmVlbiA9IGlkaW9tSXNTbWFsbFNjcmVlbiA9
PSBUcmlTdGF0ZTo6VHJ1ZTsKIAogICAgIC8vIElmIHdlIGFyZSBpbiBhIGRhZW1vbiwgd2UgY2Fu
bm90IHVzZSBVSURldmljZS4gRmFsbCBiYWNrIHRvIGNoZWNraW5nIHRoZSBoYXJkd2FyZSBpdHNl
bGYuCiAgICAgLy8gU2luY2UgZGFlbW9ucyBkb24ndCBldmVyIHJ1biBpbiBhbiBpUGhvbmUtYXBw
LW9uLWlQYWQgamFpbCwgdGhpcyB3aWxsIGJlIGFjY3VyYXRlIGluIHRoZSBkYWVtb24gY2FzZSwK
ICAgICAvLyBidXQgaXMgbm90IHN1ZmZpY2llbnQgaW4gdGhlIGFwcGxpY2F0aW9uIGNhc2UuCi0g
ICAgaWYgKCFbVUlBcHBsaWNhdGlvbiBzaGFyZWRBcHBsaWNhdGlvbl0pIHsKLSAgICAgICAgYXV0
byBkZXZpY2VDbGFzcyA9IFdlYkNvcmU6OmRldmljZUNsYXNzKCk7Ci0gICAgICAgIGlzUGhvbmVP
cldhdGNoID0gZGV2aWNlQ2xhc3MgPT0gTUdEZXZpY2VDbGFzc2lQaG9uZSB8fCBkZXZpY2VDbGFz
cyA9PSBNR0RldmljZUNsYXNzaVBvZCB8fCBkZXZpY2VDbGFzcyA9PSBNR0RldmljZUNsYXNzV2F0
Y2g7Ci0gICAgfSBlbHNlIHsKKyAgICBib29sIGlzU21hbGxTY3JlZW47CisgICAgaWYgKCFbVUlB
cHBsaWNhdGlvbiBzaGFyZWRBcHBsaWNhdGlvbl0pCisgICAgICAgIGlzU21hbGxTY3JlZW4gPSBX
ZWJDb3JlOjpkZXZpY2VDbGFzc0lzU21hbGxTY3JlZW4oKTsKKyAgICBlbHNlIHsKICAgICAgICAg
YXV0byBpZGlvbSA9IFtbVUlEZXZpY2UgY3VycmVudERldmljZV0gdXNlckludGVyZmFjZUlkaW9t
XTsKLSAgICAgICAgaXNQaG9uZU9yV2F0Y2ggPSBpZGlvbSA9PSBVSVVzZXJJbnRlcmZhY2VJZGlv
bVBob25lIHx8IGlkaW9tID09IFVJVXNlckludGVyZmFjZUlkaW9tV2F0Y2g7CisgICAgICAgIGlz
U21hbGxTY3JlZW4gPSBpZGlvbSA9PSBVSVVzZXJJbnRlcmZhY2VJZGlvbVBob25lIHx8IGlkaW9t
ID09IFVJVXNlckludGVyZmFjZUlkaW9tV2F0Y2g7CiAgICAgfQogCi0gICAgaWYgKHdhc1Bob25l
T3JXYXRjaCA9PSBpc1Bob25lT3JXYXRjaCkKKyAgICBpZiAod2FzU21hbGxTY3JlZW4gPT0gaXNT
bWFsbFNjcmVlbikKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgc2V0Q3VycmVudFVzZXJJ
bnRlcmZhY2VJZGlvbUlzUGhvbmVPcldhdGNoKGlzUGhvbmVPcldhdGNoKTsKKyAgICBzZXRDdXJy
ZW50VXNlckludGVyZmFjZUlkaW9tSXNTbWFsbFNjcmVlbihpc1NtYWxsU2NyZWVuKTsKICAgICBy
ZXR1cm4gdHJ1ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJv
Y2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAppbmRleCBlNWEwNTI0ZWU1Y2FjM2E4NjNlNDk1Zjlk
YzhiZmRiMjg2YjE3MjkxLi4xZWVmMjA3NTM1NWMxNDEyZTgzNGEyMmViYjViNDRlZDM0YjBmNTUx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzLmNwcApAQCAtMTgzLDcgKzE4Myw3IEBAIHZvaWQgV2ViUHJvY2Vzc0NyZWF0aW9u
UGFyYW1ldGVyczo6ZW5jb2RlKElQQzo6RW5jb2RlciYgZW5jb2RlcikgY29uc3QKICNlbmRpZgog
CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICBlbmNvZGVyIDw8IGN1cnJlbnRVc2VySW50
ZXJmYWNlSWRpb21Jc1Bob25lT3JXYXRjaDsKKyAgICBlbmNvZGVyIDw8IGN1cnJlbnRVc2VySW50
ZXJmYWNlSWRpb21Jc1NtYWxsU2NyZWVuOwogICAgIGVuY29kZXIgPDwgc3VwcG9ydHNQaWN0dXJl
SW5QaWN0dXJlOwogICAgIGVuY29kZXIgPDwgY3NzVmFsdWVUb1N5c3RlbUNvbG9yTWFwOwogICAg
IGVuY29kZXIgPDwgZm9jdXNSaW5nQ29sb3I7CkBAIC01MjYsNyArNTI2LDcgQEAgYm9vbCBXZWJQ
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyLCBX
ZWJQcm9jZXNzQ3JlYXQKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICBp
ZiAoIWRlY29kZXIuZGVjb2RlKHBhcmFtZXRlcnMuY3VycmVudFVzZXJJbnRlcmZhY2VJZGlvbUlz
UGhvbmVPcldhdGNoKSkKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHBhcmFtZXRlcnMuY3VycmVu
dFVzZXJJbnRlcmZhY2VJZGlvbUlzU21hbGxTY3JlZW4pKQogICAgICAgICByZXR1cm4gZmFsc2U7
CiAKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHBhcmFtZXRlcnMuc3VwcG9ydHNQaWN0dXJlSW5Q
aWN0dXJlKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnMuaAppbmRleCA0N2YzYWRlYjI5OTRhYzllN2YyY2RiMTY5MGVjMTkzODUyNTEy
NmQ3Li5mNzYxNGNkMjAzYTNhOTUwYjgyNjA1ZGRkOThjNzY2NThhMmY5ODY1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKKysr
IGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCkBA
IC0yMjksNyArMjI5LDcgQEAgc3RydWN0IFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMgewog
I2VuZGlmCiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotICAgIGJvb2wgY3VycmVudFVzZXJJ
bnRlcmZhY2VJZGlvbUlzUGhvbmVPcldhdGNoIHsgZmFsc2UgfTsKKyAgICBib29sIGN1cnJlbnRV
c2VySW50ZXJmYWNlSWRpb21Jc1NtYWxsU2NyZWVuIHsgZmFsc2UgfTsKICAgICBib29sIHN1cHBv
cnRzUGljdHVyZUluUGljdHVyZSB7IGZhbHNlIH07CiAgICAgV2ViQ29yZTo6UmVuZGVyVGhlbWVJ
T1M6OkNTU1ZhbHVlVG9TeXN0ZW1Db2xvck1hcCBjc3NWYWx1ZVRvU3lzdGVtQ29sb3JNYXA7CiAg
ICAgV2ViQ29yZTo6Q29sb3IgZm9jdXNSaW5nQ29sb3I7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9pb3MvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzSU9TLm1tIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvaW9zL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlc0lPUy5tbQppbmRl
eCAwMjBhMzk2NDk4MTA2OWE2ZDMzYmRhZWJjNGQzYjBhN2VjMjFmNjEwLi40ZWVlNjc0NmQ4NTVh
ODkwOTFiYzg3ZGM3Njc3MmYzMjhmZjMxYzlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9pb3MvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzSU9TLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL2lvcy9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXNJT1MubW0KQEAgLTM5
LDcgKzM5LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIGJvb2wgZGVmYXVsdFRleHRBdXRvc2l6
aW5nVXNlc0lkZW1wb3RlbnRNb2RlKCkKIHsKLSAgICByZXR1cm4gIWN1cnJlbnRVc2VySW50ZXJm
YWNlSWRpb21Jc1Bob25lT3JXYXRjaCgpOworICAgIHJldHVybiAhY3VycmVudFVzZXJJbnRlcmZh
Y2VJZGlvbUlzU21hbGxTY3JlZW4oKTsKIH0KIAogI2VuZGlmCkBAIC03MCw4ICs3MCw3IEBAIGJv
b2wgZGVmYXVsdE1lZGlhU291cmNlRW5hYmxlZCgpCiAjaWYgUExBVEZPUk0oTUFDQ0FUQUxZU1Qp
CiAgICAgcmV0dXJuIHRydWU7CiAjZWxpZiBQTEFURk9STShJT1MpCi0gICAgcmV0dXJuIFdlYkNv
cmU6OmRldmljZUNsYXNzKCkgIT0gTUdEZXZpY2VDbGFzc2lQaG9uZQotICAgICAgICAmJiBXZWJD
b3JlOjpkZXZpY2VDbGFzcygpICE9IE1HRGV2aWNlQ2xhc3NpUG9kOworICAgIHJldHVybiAhV2Vi
Q29yZTo6ZGV2aWNlQ2xhc3NJc1NtYWxsU2NyZWVuKCk7CiAjZWxzZQogICAgIHJldHVybiBmYWxz
ZTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbQppbmRleCBlZjZlOWFmODdhNDFlMGExYjBm
ZGQxMTUzNjc2MTllYWJjMjk5ZmQwLi5hMzEyODQ5ZmYzMGExM2E3NzlmZTg2ODdmMjRlYjE3ODM5
OTNkYWVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJWaWV3Q29uZmlndXJhdGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbQpAQCAtMTk3LDcgKzE5Nyw3IEBAIC0gKGlu
c3RhbmNldHlwZSlpbml0CiAgICAgX2FsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNr
ID0gWUVTOwogI2VuZGlmCiAKLSAgICBfYWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjayA9ICFXZWJL
aXQ6OmN1cnJlbnRVc2VySW50ZXJmYWNlSWRpb21Jc1Bob25lT3JXYXRjaCgpOworICAgIF9hbGxv
d3NJbmxpbmVNZWRpYVBsYXliYWNrID0gIVdlYktpdDo6Y3VycmVudFVzZXJJbnRlcmZhY2VJZGlv
bUlzU21hbGxTY3JlZW4oKTsKICAgICBfaW5saW5lTWVkaWFQbGF5YmFja1JlcXVpcmVzUGxheXNJ
bmxpbmVBdHRyaWJ1dGUgPSAhX2FsbG93c0lubGluZU1lZGlhUGxheWJhY2s7CiAgICAgX2FsbG93
c0lubGluZU1lZGlhUGxheWJhY2tBZnRlckZ1bGxzY3JlZW4gPSAhX2FsbG93c0lubGluZU1lZGlh
UGxheWJhY2s7CiAgICAgX21lZGlhRGF0YUxvYWRzQXV0b21hdGljYWxseSA9IF9hbGxvd3NJbmxp
bmVNZWRpYVBsYXliYWNrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29h
L1dlYlByb2Nlc3NQb29sQ29jb2EubW0KaW5kZXggYTM5ZjZkMDJjZjZmMDllNGUxODE1MDc4ZjM1
NjVjYjk5YjY5MWE5ZS4uZWIwMjc5NDEyM2NkYjdhNTU2YzllMTEzY2U2MGY2Mzk2OTdiOGE3ZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xD
b2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9v
bENvY29hLm1tCkBAIC00NzcsNyArNDc3LDcgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6cGxhdGZv
cm1Jbml0aWFsaXplV2ViUHJvY2Vzcyhjb25zdCBXZWJQcm9jZXNzUHJveHkmIHByb2Nlc3MKICAg
ICB9CiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotICAgIHBhcmFtZXRlcnMuY3VycmVudFVz
ZXJJbnRlcmZhY2VJZGlvbUlzUGhvbmVPcldhdGNoID0gY3VycmVudFVzZXJJbnRlcmZhY2VJZGlv
bUlzUGhvbmVPcldhdGNoKCk7CisgICAgcGFyYW1ldGVycy5jdXJyZW50VXNlckludGVyZmFjZUlk
aW9tSXNTbWFsbFNjcmVlbiA9IGN1cnJlbnRVc2VySW50ZXJmYWNlSWRpb21Jc1NtYWxsU2NyZWVu
KCk7CiAgICAgcGFyYW1ldGVycy5zdXBwb3J0c1BpY3R1cmVJblBpY3R1cmUgPSBzdXBwb3J0c1Bp
Y3R1cmVJblBpY3R1cmUoKTsKICAgICBwYXJhbWV0ZXJzLmNzc1ZhbHVlVG9TeXN0ZW1Db2xvck1h
cCA9IFJlbmRlclRoZW1lSU9TOjpjc3NWYWx1ZVRvU3lzdGVtQ29sb3JNYXAoKTsKICAgICBwYXJh
bWV0ZXJzLmZvY3VzUmluZ0NvbG9yID0gUmVuZGVyVGhlbWVJT1M6OnN5c3RlbUZvY3VzUmluZ0Nv
bG9yKCk7CkBAIC04MDMsMTAgKzgwMyw4IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnJlZ2lzdGVy
Tm90aWZpY2F0aW9uT2JzZXJ2ZXJzKCkKICNlbmRpZgogICAgIGlmICghW1VJQXBwbGljYXRpb24g
c2hhcmVkQXBwbGljYXRpb25dKSB7CiAgICAgICAgIG1fYXBwbGljYXRpb25MYXVuY2hPYnNlcnZl
ciA9IFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2JzZXJ2ZXJGb3JO
YW1lOlVJQXBwbGljYXRpb25EaWRGaW5pc2hMYXVuY2hpbmdOb3RpZmljYXRpb24gb2JqZWN0Om5p
bCBxdWV1ZTpbTlNPcGVyYXRpb25RdWV1ZSBjdXJyZW50UXVldWVdIHVzaW5nQmxvY2s6XihOU05v
dGlmaWNhdGlvbiAqbm90aWZpY2F0aW9uKSB7Ci0gICAgICAgICAgICBpZiAoV2ViS2l0Ojp1cGRh
dGVDdXJyZW50VXNlckludGVyZmFjZUlkaW9tKCkpIHsKLSAgICAgICAgICAgICAgICBhdXRvIGlz
UGhvbmVPcldhdGNoID0gV2ViS2l0OjpjdXJyZW50VXNlckludGVyZmFjZUlkaW9tSXNQaG9uZU9y
V2F0Y2goKTsKLSAgICAgICAgICAgICAgICBzZW5kVG9BbGxQcm9jZXNzZXMoTWVzc2FnZXM6Oldl
YlByb2Nlc3M6OlVzZXJJbnRlcmZhY2VJZGlvbURpZENoYW5nZShpc1Bob25lT3JXYXRjaCkpOwot
ICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKFdlYktpdDo6dXBkYXRlQ3VycmVudFVzZXJJ
bnRlcmZhY2VJZGlvbSgpKQorICAgICAgICAgICAgICAgIHNlbmRUb0FsbFByb2Nlc3NlcyhNZXNz
YWdlczo6V2ViUHJvY2Vzczo6VXNlckludGVyZmFjZUlkaW9tRGlkQ2hhbmdlKFdlYktpdDo6Y3Vy
cmVudFVzZXJJbnRlcmZhY2VJZGlvbUlzU21hbGxTY3JlZW4oKSkpOwogICAgICAgICB9XTsKICAg
ICB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9TbWFy
dE1hZ25pZmljYXRpb25Db250cm9sbGVyLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9z
L1NtYXJ0TWFnbmlmaWNhdGlvbkNvbnRyb2xsZXIubW0KaW5kZXggMjIxMjMzMGY4ZTNmNjI5NTY4
YmZjYmZjNmQxY2U5ZDc1M2I1NmU2YS4uODJiNTExZWJhMTA3YzJlMzViYjY1NWRjMDM4MDUzYmUx
YmI0ZjcxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1NtYXJ0TWFn
bmlmaWNhdGlvbkNvbnRyb2xsZXIubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9z
L1NtYXJ0TWFnbmlmaWNhdGlvbkNvbnRyb2xsZXIubW0KQEAgLTExOSw3ICsxMTksNyBAQCB2b2lk
IFNtYXJ0TWFnbmlmaWNhdGlvbkNvbnRyb2xsZXI6OmRpZENvbGxlY3RHZW9tZXRyeUZvclNtYXJ0
TWFnbmlmaWNhdGlvbkdlc3R1cgogICAgIGZsb2F0IG1pbmltdW1TY3JvbGxEaXN0YW5jZTsKICAg
ICBpZiAoW21fY29udGVudFZpZXcgYm91bmRzXS5zaXplLndpZHRoIDw9IG1fd2ViUGFnZVByb3h5
LnVub2JzY3VyZWRDb250ZW50UmVjdCgpLndpZHRoKCkpCiAgICAgICAgIG1pbmltdW1TY3JvbGxE
aXN0YW5jZSA9IHNtYXJ0TWFnbmlmaWNhdGlvblBhblNjcm9sbFRocmVzaG9sZFpvb21lZE91dDsK
LSAgICBlbHNlIGlmIChjdXJyZW50VXNlckludGVyZmFjZUlkaW9tSXNQaG9uZU9yV2F0Y2goKSkK
KyAgICBlbHNlIGlmIChjdXJyZW50VXNlckludGVyZmFjZUlkaW9tSXNTbWFsbFNjcmVlbigpKQog
ICAgICAgICBtaW5pbXVtU2Nyb2xsRGlzdGFuY2UgPSBzbWFydE1hZ25pZmljYXRpb25QYW5TY3Jv
bGxUaHJlc2hvbGRJUGhvbmU7CiAgICAgZWxzZQogICAgICAgICBtaW5pbXVtU2Nyb2xsRGlzdGFu
Y2UgPSBzbWFydE1hZ25pZmljYXRpb25QYW5TY3JvbGxUaHJlc2hvbGRJUGFkOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5t
bSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24u
bW0KaW5kZXggODliOGU1ZGU5YTJlNWI2NzAwZWNiM2M0ZTE0ZTMyMDYyM2ZiZGJiNS4uNDhkN2M2
ZDJhOTExY2ZmNDRkZWM3NTJlNDhhZTZjNmUxOGJlODEzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCkBAIC00
NzYsNyArNDc2LDcgQEAgLSAodm9pZClzZXRBY2Nlc3NvcnlWaWV3Q3VzdG9tQnV0dG9uVGl0bGU6
KE5TU3RyaW5nICopdGl0bGUKICAgICAgICAgW1tfY29udGVudFZpZXcgZm9ybUFjY2Vzc29yeVZp
ZXddIHNob3dBdXRvRmlsbEJ1dHRvbldpdGhUaXRsZTp0aXRsZV07CiAgICAgZWxzZQogICAgICAg
ICBbW19jb250ZW50VmlldyBmb3JtQWNjZXNzb3J5Vmlld10gaGlkZUF1dG9GaWxsQnV0dG9uXTsK
LSAgICBpZiAoIVdlYktpdDo6Y3VycmVudFVzZXJJbnRlcmZhY2VJZGlvbUlzUGhvbmVPcldhdGNo
KCkpCisgICAgaWYgKCFXZWJLaXQ6OmN1cnJlbnRVc2VySW50ZXJmYWNlSWRpb21Jc1NtYWxsU2Ny
ZWVuKCkpCiAgICAgICAgIFtfY29udGVudFZpZXcgcmVsb2FkSW5wdXRWaWV3c107CiB9CiAKQEAg
LTE1ODIsNyArMTU4Miw3IEBAIC0gKHZvaWQpZW5kRWRpdGluZ0FuZFVwZGF0ZUZvY3VzQXBwZWFy
YW5jZVdpdGhSZWFzb246KEVuZEVkaXRpbmdSZWFzb24pcmVhc29uCiAgICAgICAgICAgICAgICAg
aWYgKF9mb2N1c1JlcXVpcmVzU3Ryb25nUGFzc3dvcmRBc3Npc3RhbmNlKQogICAgICAgICAgICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgICAgICAgICAgICAgIGlmIChXZWJLaXQ6OmN1cnJl
bnRVc2VySW50ZXJmYWNlSWRpb21Jc1Bob25lT3JXYXRjaCgpKQorICAgICAgICAgICAgICAgIGlm
IChXZWJLaXQ6OmN1cnJlbnRVc2VySW50ZXJmYWNlSWRpb21Jc1NtYWxsU2NyZWVuKCkpCiAgICAg
ICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICAgfQogCkBAIC0yMjU3LDcg
KzIyNTcsNyBAQCAtIChCT09MKV9zaG91bGRTaG93QXV0b21hdGljS2V5Ym9hcmRVSUlnbm9yaW5n
SW5wdXRNb2RlCiAgICAgICAgIGlmIChzZWxmLl9zaG91bGRVc2VDb250ZXh0TWVudXNGb3JGb3Jt
Q29udHJvbHMpCiAgICAgICAgICAgICByZXR1cm4gTk87CiAjZW5kaWYKLSAgICAgICAgcmV0dXJu
IFdlYktpdDo6Y3VycmVudFVzZXJJbnRlcmZhY2VJZGlvbUlzUGhvbmVPcldhdGNoKCk7CisgICAg
ICAgIHJldHVybiBXZWJLaXQ6OmN1cnJlbnRVc2VySW50ZXJmYWNlSWRpb21Jc1NtYWxsU2NyZWVu
KCk7CiAgICAgfQogICAgIGRlZmF1bHQ6CiAgICAgICAgIHJldHVybiBZRVM7CkBAIC0yMzEyLDcg
KzIzMTIsNyBAQCAtICh2b2lkKV96b29tVG9SZXZlYWxGb2N1c2VkRWxlbWVudAogICAgICAgICBm
b250U2l6ZTpfZm9jdXNlZEVsZW1lbnRJbmZvcm1hdGlvbi5ub2RlRm9udFNpemUKICAgICAgICAg
bWluaW11bVNjYWxlOl9mb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uLm1pbmltdW1TY2FsZUZhY3Rv
cgogICAgICAgICBtYXhpbXVtU2NhbGU6X2ZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24ubWF4aW11
bVNjYWxlRmFjdG9ySWdub3JpbmdBbHdheXNTY2FsYWJsZQotICAgICAgICBhbGxvd1NjYWxpbmc6
X2ZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24uYWxsb3dzVXNlclNjYWxpbmdJZ25vcmluZ0Fsd2F5
c1NjYWxhYmxlICYmIFdlYktpdDo6Y3VycmVudFVzZXJJbnRlcmZhY2VJZGlvbUlzUGhvbmVPcldh
dGNoKCkKKyAgICAgICAgYWxsb3dTY2FsaW5nOl9mb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uLmFs
bG93c1VzZXJTY2FsaW5nSWdub3JpbmdBbHdheXNTY2FsYWJsZSAmJiBXZWJLaXQ6OmN1cnJlbnRV
c2VySW50ZXJmYWNlSWRpb21Jc1NtYWxsU2NyZWVuKCkKICAgICAgICAgZm9yY2VTY3JvbGw6W3Nl
bGYgcmVxdWlyZXNBY2Nlc3NvcnlWaWV3XV07CiB9CiAKQEAgLTMzMzYsNyArMzMzNiw3IEBAIC0g
KGJvb2wpX2VsZW1lbnRUeXBlUmVxdWlyZXNBY2Nlc3NvcnlWaWV3OihXZWJLaXQ6OklucHV0VHlw
ZSl0eXBlCiAgICAgICAgIGlmIChzZWxmLl9zaG91bGRVc2VDb250ZXh0TWVudXNGb3JGb3JtQ29u
dHJvbHMpCiAgICAgICAgICAgICByZXR1cm4gTk87CiAjZW5kaWYKLSAgICAgICAgcmV0dXJuIFdl
YktpdDo6Y3VycmVudFVzZXJJbnRlcmZhY2VJZGlvbUlzUGhvbmVPcldhdGNoKCk7CisgICAgICAg
IHJldHVybiBXZWJLaXQ6OmN1cnJlbnRVc2VySW50ZXJmYWNlSWRpb21Jc1NtYWxsU2NyZWVuKCk7
CiAgICAgfQogICAgIGNhc2UgV2ViS2l0OjpJbnB1dFR5cGU6OlRleHQ6CiAgICAgY2FzZSBXZWJL
aXQ6OklucHV0VHlwZTo6UGFzc3dvcmQ6CkBAIC0zMzQ5LDcgKzMzNDksNyBAQCAtIChib29sKV9l
bGVtZW50VHlwZVJlcXVpcmVzQWNjZXNzb3J5VmlldzooV2ViS2l0OjpJbnB1dFR5cGUpdHlwZQog
ICAgIGNhc2UgV2ViS2l0OjpJbnB1dFR5cGU6OkNvbnRlbnRFZGl0YWJsZToKICAgICBjYXNlIFdl
YktpdDo6SW5wdXRUeXBlOjpUZXh0QXJlYToKICAgICBjYXNlIFdlYktpdDo6SW5wdXRUeXBlOjpX
ZWVrOgotICAgICAgICByZXR1cm4gV2ViS2l0OjpjdXJyZW50VXNlckludGVyZmFjZUlkaW9tSXNQ
aG9uZU9yV2F0Y2goKTsKKyAgICAgICAgcmV0dXJuIFdlYktpdDo6Y3VycmVudFVzZXJJbnRlcmZh
Y2VJZGlvbUlzU21hbGxTY3JlZW4oKTsKICAgICB9CiB9CiAKQEAgLTQ4ODYsNyArNDg4Niw3IEBA
IC0gKHZvaWQpX3VwZGF0ZUFjY2Vzc29yeQogICAgIFthY2Nlc3NvcnlWaWV3IHNldE5leHRFbmFi
bGVkOl9mb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uLmhhc05leHROb2RlXTsKICAgICBbYWNjZXNz
b3J5VmlldyBzZXRQcmV2aW91c0VuYWJsZWQ6X2ZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24uaGFz
UHJldmlvdXNOb2RlXTsKIAotICAgIGlmICghV2ViS2l0OjpjdXJyZW50VXNlckludGVyZmFjZUlk
aW9tSXNQaG9uZU9yV2F0Y2goKSkgeworICAgIGlmICghV2ViS2l0OjpjdXJyZW50VXNlckludGVy
ZmFjZUlkaW9tSXNTbWFsbFNjcmVlbigpKSB7CiAgICAgICAgIFthY2Nlc3NvcnlWaWV3IHNldENs
ZWFyVmlzaWJsZTpOT107CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC03NzE4LDcgKzc3MTgs
NyBAQCAtIChCT09MKV9zaG91bGRBdm9pZFNjcm9sbGluZ1doZW5Gb2N1c2VkQ29udGVudElzVmlz
aWJsZQogCiAtIChCT09MKV9zaG91bGRVc2VMZWdhY3lTZWxlY3RQb3BvdmVyRGlzbWlzc2FsQmVo
YXZpb3IKIHsKLSAgICBpZiAoV2ViS2l0OjpjdXJyZW50VXNlckludGVyZmFjZUlkaW9tSXNQaG9u
ZU9yV2F0Y2goKSkKKyAgICBpZiAoV2ViS2l0OjpjdXJyZW50VXNlckludGVyZmFjZUlkaW9tSXNT
bWFsbFNjcmVlbigpKQogICAgICAgICByZXR1cm4gTk87CiAKICAgICBpZiAoX2ZvY3VzZWRFbGVt
ZW50SW5mb3JtYXRpb24uZWxlbWVudFR5cGUgIT0gV2ViS2l0OjpJbnB1dFR5cGU6OlNlbGVjdCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJEYXRhTGlzdFN1Z2dl
c3Rpb25zRHJvcGRvd25JT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViRGF0
YUxpc3RTdWdnZXN0aW9uc0Ryb3Bkb3duSU9TLm1tCmluZGV4IGUzMDQ3OWZjYTBkODY0YjUxZTUw
NjMyNzUzNGQ1NzY3OGQxYTZiZDAuLjc1YjdmYTc1ZjJjNjE2NTNjZjljNGNiZmFkMDBhYmMwZTQ0
MzBmN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJEYXRhTGlz
dFN1Z2dlc3Rpb25zRHJvcGRvd25JT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
aW9zL1dlYkRhdGFMaXN0U3VnZ2VzdGlvbnNEcm9wZG93bklPUy5tbQpAQCAtMTE2LDcgKzExNiw3
IEBAIHZvaWQgV2ViRGF0YUxpc3RTdWdnZXN0aW9uc0Ryb3Bkb3duSU9TOjpzaG93KFdlYkNvcmU6
OkRhdGFMaXN0U3VnZ2VzdGlvbkluZm9ybWF0CiAgICAgfQogI2VuZGlmCiAKLSAgICBpZiAoY3Vy
cmVudFVzZXJJbnRlcmZhY2VJZGlvbUlzUGhvbmVPcldhdGNoKCkpCisgICAgaWYgKGN1cnJlbnRV
c2VySW50ZXJmYWNlSWRpb21Jc1NtYWxsU2NyZWVuKCkpCiAgICAgICAgIG1fc3VnZ2VzdGlvbnND
b250cm9sID0gYWRvcHROUyhbW1dLRGF0YUxpc3RTdWdnZXN0aW9uc1BpY2tlciBhbGxvY10gaW5p
dFdpdGhJbmZvcm1hdGlvbjpXVEZNb3ZlKGluZm9ybWF0aW9uKSBpblZpZXc6bV9jb250ZW50Vmll
d10pOwogICAgIGVsc2UKICAgICAgICAgbV9zdWdnZXN0aW9uc0NvbnRyb2wgPSBhZG9wdE5TKFtb
V0tEYXRhTGlzdFN1Z2dlc3Rpb25zUG9wb3ZlciBhbGxvY10gaW5pdFdpdGhJbmZvcm1hdGlvbjpX
VEZNb3ZlKGluZm9ybWF0aW9uKSBpblZpZXc6bV9jb250ZW50Vmlld10pOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbSBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0KaW5kZXggMWJmYTcxODMyYzBl
YWIzNjY3ZWZhYWE3NmYzMmU5YmU4ZmYwZTdhZC4uZDcyZTgyMDM2OGFiZGVjYTJmOTA4OWE3OWI3
N2M5NTY0ZWMxMzk5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dl
YlBhZ2VQcm94eUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViUGFn
ZVByb3h5SU9TLm1tCkBAIC0xMjU4LDcgKzEyNTgsNyBAQCBzdGF0aWMgYm9vbCBkZXNrdG9wQ2xh
c3NCcm93c2luZ1N1cHBvcnRlZCgpCiAgICAgc3RhdGljIGJvb2wgc3VwcG9ydHNEZXNrdG9wQ2xh
c3NCcm93c2luZyA9IGZhbHNlOwogICAgIHN0YXRpYyBkaXNwYXRjaF9vbmNlX3Qgb25jZVRva2Vu
OwogICAgIGRpc3BhdGNoX29uY2UoJm9uY2VUb2tlbiwgXnsKLSAgICAgICAgc3VwcG9ydHNEZXNr
dG9wQ2xhc3NCcm93c2luZyA9ICFjdXJyZW50VXNlckludGVyZmFjZUlkaW9tSXNQaG9uZU9yV2F0
Y2goKTsKKyAgICAgICAgc3VwcG9ydHNEZXNrdG9wQ2xhc3NCcm93c2luZyA9ICFjdXJyZW50VXNl
ckludGVyZmFjZUlkaW9tSXNTbWFsbFNjcmVlbigpOwogICAgIH0pOwogICAgIHJldHVybiBzdXBw
b3J0c0Rlc2t0b3BDbGFzc0Jyb3dzaW5nOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvaW9zL2Zvcm1zL1dLQWlyUGxheVJvdXRlUGlja2VyLm1tIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLQWlyUGxheVJvdXRlUGlja2VyLm1tCmluZGV4IDlkZWIw
NDQ2NDA1NDYzMDhiYmQ1OGYwOTdmMGI5MmRjNmNjM2JlMjguLjFlMmUwZDE5NTdjNWUxMDNjYjZk
NTM0OGU4MWNhMTViOWI2NTQ2ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L2lvcy9mb3Jtcy9XS0FpclBsYXlSb3V0ZVBpY2tlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9pb3MvZm9ybXMvV0tBaXJQbGF5Um91dGVQaWNrZXIubW0KQEAgLTE1Miw3ICsxNTIs
NyBAQCAtICh2b2lkKXNob3c6KEJPT0wpaGFzVmlkZW8gZnJvbVJlY3Q6KENHUmVjdCllbGVtZW50
UmVjdAogICAgIFtfcm91dGluZ0NvbnRyb2xsZXIgc2V0RGlzY292ZXJ5TW9kZTpNUFJvdXRlRGlz
Y292ZXJ5TW9kZURldGFpbGVkXTsKIAogICAgIE1QQVZJdGVtVHlwZSBpdGVtVHlwZSA9IGhhc1Zp
ZGVvID8gTVBBVkl0ZW1UeXBlVmlkZW8gOiBNUEFWSXRlbVR5cGVBdWRpbzsKLSAgICBpZiAoV2Vi
S2l0OjpjdXJyZW50VXNlckludGVyZmFjZUlkaW9tSXNQaG9uZU9yV2F0Y2goKSkKKyAgICBpZiAo
V2ViS2l0OjpjdXJyZW50VXNlckludGVyZmFjZUlkaW9tSXNTbWFsbFNjcmVlbigpKQogICAgICAg
ICBbc2VsZiBzaG93QWlyUGxheVBpY2tlcklQaG9uZTppdGVtVHlwZV07CiAgICAgZWxzZQogICAg
ICAgICBbc2VsZiBzaG93QWlyUGxheVBpY2tlcklQYWQ6aXRlbVR5cGUgZnJvbVJlY3Q6ZWxlbWVu
dFJlY3RdOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dL
RmlsZVVwbG9hZFBhbmVsLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dL
RmlsZVVwbG9hZFBhbmVsLm1tCmluZGV4IDkzMmI3YWRmM2Q5NGNhMTVlYTdjZjg4M2RjNGFhYTdl
NmRlNDJlZTcuLjU2YWZiNWFjMzQ1YzU0MzE2ZWEzMzUyMDAwNzIwZjBmZWNkNmVjNGEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0ZpbGVVcGxvYWRQYW5l
bC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tGaWxlVXBsb2Fk
UGFuZWwubW0KQEAgLTc4NSw3ICs3ODUsNyBAQCAtICh2b2lkKV9zaG93UGhvdG9QaWNrZXJXaXRo
U291cmNlVHlwZTooVUlJbWFnZVBpY2tlckNvbnRyb2xsZXJTb3VyY2VUeXBlKXNvdXJjZQogCiAg
ICAgLy8gVXNlIGEgcG9wb3ZlciBvbiB0aGUgaVBhZCBpZiB0aGUgc291cmNlIHR5cGUgaXMgbm90
IHRoZSBjYW1lcmEuCiAgICAgLy8gVGhlIGNhbWVyYSB3aWxsIHVzZSBhIGZ1bGxzY3JlZW4sIG1v
ZGFsIHZpZXcgY29udHJvbGxlci4KLSAgICBCT09MIHVzZVBvcG92ZXIgPSAhY3VycmVudFVzZXJJ
bnRlcmZhY2VJZGlvbUlzUGhvbmVPcldhdGNoKCkgJiYgc291cmNlVHlwZSAhPSBVSUltYWdlUGlj
a2VyQ29udHJvbGxlclNvdXJjZVR5cGVDYW1lcmE7CisgICAgQk9PTCB1c2VQb3BvdmVyID0gIWN1
cnJlbnRVc2VySW50ZXJmYWNlSWRpb21Jc1NtYWxsU2NyZWVuKCkgJiYgc291cmNlVHlwZSAhPSBV
SUltYWdlUGlja2VyQ29udHJvbGxlclNvdXJjZVR5cGVDYW1lcmE7CiAgICAgaWYgKHVzZVBvcG92
ZXIpCiAgICAgICAgIFtzZWxmIF9wcmVzZW50UG9wb3ZlcldpdGhDb250ZW50Vmlld0NvbnRyb2xs
ZXI6X2ltYWdlUGlja2VyLmdldCgpIGFuaW1hdGVkOllFU107CiAgICAgZWxzZQpAQCAtNzk2LDcg
Kzc5Niw3IEBAIC0gKHZvaWQpX3Nob3dQaG90b1BpY2tlcldpdGhTb3VyY2VUeXBlOihVSUltYWdl
UGlja2VyQ29udHJvbGxlclNvdXJjZVR5cGUpc291cmNlCiAKIC0gKHZvaWQpX3ByZXNlbnRNZW51
T3B0aW9uRm9yQ3VycmVudEludGVyZmFjZUlkaW9tOihVSVZpZXdDb250cm9sbGVyICopdmlld0Nv
bnRyb2xsZXIKIHsKLSAgICBpZiAoY3VycmVudFVzZXJJbnRlcmZhY2VJZGlvbUlzUGhvbmVPcldh
dGNoKCkpCisgICAgaWYgKGN1cnJlbnRVc2VySW50ZXJmYWNlSWRpb21Jc1NtYWxsU2NyZWVuKCkp
CiAgICAgICAgIFtzZWxmIF9wcmVzZW50RnVsbHNjcmVlblZpZXdDb250cm9sbGVyOnZpZXdDb250
cm9sbGVyIGFuaW1hdGVkOllFU107CiAgICAgZWxzZQogICAgICAgICBbc2VsZiBfcHJlc2VudFBv
cG92ZXJXaXRoQ29udGVudFZpZXdDb250cm9sbGVyOnZpZXdDb250cm9sbGVyIGFuaW1hdGVkOllF
U107CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tGb3Jt
U2VsZWN0Q29udHJvbC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0Zv
cm1TZWxlY3RDb250cm9sLm1tCmluZGV4IDdhZDdlZjU5ODdjOTYxMmI1ODkyMTU0ZWJiNTcyZWY5
NDk4ZmI1ZWUuLjkwZTRiMTI3ZWI0MWY0MmJkZDRlMmU1MjNhZDI2Njk2MTQ5NzZmZjcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0Zvcm1TZWxlY3RDb250
cm9sLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0Zvcm1TZWxl
Y3RDb250cm9sLm1tCkBAIC04NSw3ICs4NSw3IEBAIC0gKGluc3RhbmNldHlwZSlpbml0V2l0aFZp
ZXc6KFdLQ29udGVudFZpZXcgKil2aWV3CiAgICAgfQogI2VuZGlmCiAKLSAgICBpZiAoIWN1cnJl
bnRVc2VySW50ZXJmYWNlSWRpb21Jc1Bob25lT3JXYXRjaCgpKQorICAgIGlmICghY3VycmVudFVz
ZXJJbnRlcmZhY2VJZGlvbUlzU21hbGxTY3JlZW4oKSkKICAgICAgICAgY29udHJvbCA9IGFkb3B0
TlMoW1tXS1NlbGVjdFBvcG92ZXIgYWxsb2NdIGluaXRXaXRoVmlldzp2aWV3IGhhc0dyb3Vwczpo
YXNHcm91cHNdKTsKICAgICBlbHNlIGlmICh2aWV3LmZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24u
aXNNdWx0aVNlbGVjdCB8fCBoYXNHcm91cHMpCiAgICAgICAgIGNvbnRyb2wgPSBhZG9wdE5TKFtb
V0tNdWx0aXBsZVNlbGVjdFBpY2tlciBhbGxvY10gaW5pdFdpdGhWaWV3OnZpZXddKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0Zvcm1TZWxlY3RQaWNr
ZXIubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tGb3JtU2VsZWN0UGlj
a2VyLm1tCmluZGV4IDA4MmI1MWZlNTU2NWZkMGY0ZDkwNGVjYTcyZGQzZGY3ODBmN2MwNjAuLmY5
ZjA1NmViNDllOTY4MDMwODFmYmNkYTExOGY5MmEzZTRlM2MwYTUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0Zvcm1TZWxlY3RQaWNrZXIubW0KKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLRm9ybVNlbGVjdFBpY2tlci5tbQpA
QCAtMTE3Niw3ICsxMTc2LDcgQEAgLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoVmlldzooV0tDb250
ZW50VmlldyAqKXZpZXcKIAogLSAodm9pZCljb25maWd1cmVQcmVzZW50YXRpb24KIHsKLSAgICBp
ZiAoV2ViS2l0OjpjdXJyZW50VXNlckludGVyZmFjZUlkaW9tSXNQaG9uZU9yV2F0Y2goKSkgewor
ICAgIGlmIChXZWJLaXQ6OmN1cnJlbnRVc2VySW50ZXJmYWNlSWRpb21Jc1NtYWxsU2NyZWVuKCkp
IHsKICAgICAgICAgW1tfbmF2aWdhdGlvbkNvbnRyb2xsZXIgbmF2aWdhdGlvbkJhcl0gc2V0QmFy
VGludENvbG9yOlVJQ29sb3Iuc3lzdGVtR3JvdXBlZEJhY2tncm91bmRDb2xvcl07CiAKICAgICAg
ICAgVUlQcmVzZW50YXRpb25Db250cm9sbGVyICpwcmVzZW50YXRpb25Db250cm9sbGVyID0gW19u
YXZpZ2F0aW9uQ29udHJvbGxlciBwcmVzZW50YXRpb25Db250cm9sbGVyXTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0gYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCmluZGV4IGE4NTQz
MDVjNDAyN2MxYzhkNjRjMWE2NmQyZmIyMmE5YjMyODVlOGIuLmFlOTA3MjFlNmI1MWY1ZjUwYzBh
MWQxYjAyMDZmOWIxMDM2N2JlODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQpAQCAtMzEzLDcgKzMxMyw3IEBAIHZvaWQgV2ViUHJv
Y2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2VzcyhXZWJQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzJiBwYXJhCiAgICAgc2V0RW5oYW5jZWRBY2Nlc3NpYmlsaXR5KHBhcmFtZXRlcnMuYWNj
ZXNzaWJpbGl0eUVuaGFuY2VkVXNlckludGVyZmFjZUVuYWJsZWQpOwogCiAjaWYgUExBVEZPUk0o
SU9TX0ZBTUlMWSkKLSAgICBzZXRDdXJyZW50VXNlckludGVyZmFjZUlkaW9tSXNQaG9uZU9yV2F0
Y2gocGFyYW1ldGVycy5jdXJyZW50VXNlckludGVyZmFjZUlkaW9tSXNQaG9uZU9yV2F0Y2gpOwor
ICAgIHNldEN1cnJlbnRVc2VySW50ZXJmYWNlSWRpb21Jc1NtYWxsU2NyZWVuKHBhcmFtZXRlcnMu
Y3VycmVudFVzZXJJbnRlcmZhY2VJZGlvbUlzU21hbGxTY3JlZW4pOwogICAgIHNldExvY2FsaXpl
ZERldmljZU1vZGVsKHBhcmFtZXRlcnMubG9jYWxpemVkRGV2aWNlTW9kZWwpOwogICAgIFJlbmRl
clRoZW1lSU9TOjpzZXRDb250ZW50U2l6ZUNhdGVnb3J5KHBhcmFtZXRlcnMuY29udGVudFNpemVD
YXRlZ29yeSk7CiAjaWYgRU5BQkxFKFZJREVPX1BSRVNFTlRBVElPTl9NT0RFKQpAQCAtOTMwLDkg
KzkzMCwxMCBAQCB2b2lkIFdlYlByb2Nlc3M6OmRlc3Ryb3lSZW5kZXJpbmdSZXNvdXJjZXMoKQog
fQogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLXZvaWQgV2ViUHJvY2Vzczo6dXNlckludGVy
ZmFjZUlkaW9tRGlkQ2hhbmdlKGJvb2wgaXNQaG9uZU9yV2F0Y2gpCisKK3ZvaWQgV2ViUHJvY2Vz
czo6dXNlckludGVyZmFjZUlkaW9tRGlkQ2hhbmdlKGJvb2wgaXNTbWFsbFNjcmVlbikKIHsKLSAg
ICBXZWJLaXQ6OnNldEN1cnJlbnRVc2VySW50ZXJmYWNlSWRpb21Jc1Bob25lT3JXYXRjaChpc1Bo
b25lT3JXYXRjaCk7CisgICAgV2ViS2l0OjpzZXRDdXJyZW50VXNlckludGVyZmFjZUlkaW9tSXNT
bWFsbFNjcmVlbihpc1NtYWxsU2NyZWVuKTsKIH0KIAogYm9vbCBXZWJQcm9jZXNzOjpzaG91bGRG
cmVlemVPblN1c3BlbnNpb24oKSBjb25zdApAQCAtOTY1LDYgKzk2Niw3IEBAIHZvaWQgV2ViUHJv
Y2Vzczo6dXBkYXRlRnJlZXplclN0YXR1cygpCiAgICAgZWxzZQogICAgICAgICBXRUJQUk9DRVNT
X1JFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAidXBkYXRlRnJlZXplclN0YXR1czogaXNG
cmVlemFibGU9JWQsIHN1Y2Nlc3MiLCBpc0ZyZWV6YWJsZSk7CiB9CisKICNlbmRpZgogCiAjaWYg
UExBVEZPUk0oTUFDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmll
dy9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5tbQppbmRleCA0MTJjMDBjMjdk
YmVkZWIxMDBkZGY5N2FhODQxZTE3ODkxYTA4MzhlLi5iYmY1MGIwZGJjZDI3NGNiNzgxNzhhMTg4
NDk0YWEwNzQwZmEwNDFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5tbQpAQCAtOTMsMTIg
KzkzLDEyIEBAIGJvb2wgZGVmYXVsdFdlYlhSRW5hYmxlZCgpCiAKIGJvb2wgZGVmYXVsdEFsbG93
c0lubGluZU1lZGlhUGxheWJhY2soKQogewotICAgIHJldHVybiBXZWJDb3JlOjpkZXZpY2VDbGFz
cygpID09IE1HRGV2aWNlQ2xhc3NpUGFkOworICAgIHJldHVybiAhV2ViQ29yZTo6ZGV2aWNlQ2xh
c3NJc1NtYWxsU2NyZWVuKCk7CiB9CiAKIGJvb2wgZGVmYXVsdEFsbG93c0lubGluZU1lZGlhUGxh
eWJhY2tBZnRlckZ1bGxzY3JlZW4oKQogewotICAgIHJldHVybiBXZWJDb3JlOjpkZXZpY2VDbGFz
cygpICE9IE1HRGV2aWNlQ2xhc3NpUGFkOworICAgIHJldHVybiBXZWJDb3JlOjpkZXZpY2VDbGFz
c0lzU21hbGxTY3JlZW4oKTsKIH0KIAogYm9vbCBkZWZhdWx0QWxsb3dzUGljdHVyZUluUGljdHVy
ZU1lZGlhUGxheWJhY2soKQpAQCAtMTE1LDcgKzExNSw3IEBAIGJvb2wgZGVmYXVsdEphdmFTY3Jp
cHRDYW5PcGVuV2luZG93c0F1dG9tYXRpY2FsbHkoKQogCiBib29sIGRlZmF1bHRJbmxpbmVNZWRp
YVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZSgpCiB7Ci0gICAgcmV0dXJuIFdl
YkNvcmU6OmRldmljZUNsYXNzKCkgIT0gTUdEZXZpY2VDbGFzc2lQYWQ7CisgICAgcmV0dXJuIFdl
YkNvcmU6OmRldmljZUNsYXNzSXNTbWFsbFNjcmVlbigpOwogfQogCiBib29sIGRlZmF1bHRQYXNz
aXZlVG91Y2hMaXN0ZW5lcnNBc0RlZmF1bHRPbkRvY3VtZW50KCkKQEAgLTI3Nyw4ICsyNzcsNyBA
QCBib29sIGRlZmF1bHRNZWRpYVNvdXJjZUVuYWJsZWQoKQogI2lmIFBMQVRGT1JNKE1BQ0NBVEFM
WVNUKQogICAgIHJldHVybiB0cnVlOwogI2VsaWYgUExBVEZPUk0oSU9TKQotICAgIHJldHVybiBX
ZWJDb3JlOjpkZXZpY2VDbGFzcygpICE9IE1HRGV2aWNlQ2xhc3NpUGhvbmUKLSAgICAgICAgJiYg
V2ViQ29yZTo6ZGV2aWNlQ2xhc3MoKSAhPSBNR0RldmljZUNsYXNzaVBvZDsKKyAgICByZXR1cm4g
IVdlYkNvcmU6OmRldmljZUNsYXNzSXNTbWFsbFNjcmVlbigpOwogI2Vsc2UKICAgICByZXR1cm4g
ZmFsc2U7CiAjZW5kaWYK
</data>
<flag name="review"
          id="464393"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>