<?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>206373</bug_id>
          
          <creation_ts>2020-01-16 14:16:03 -0800</creation_ts>
          <short_desc>[Cocoa] Broker access to the PowerManagement API</short_desc>
          <delta_ts>2020-02-06 10:03:14 -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>WebKit 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="Per Arne Vollan">pvollan</reporter>
          <assigned_to name="Per Arne Vollan">pvollan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>ggaren</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1607660</commentid>
    <comment_count>0</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-01-16 14:16:03 -0800</bug_when>
    <thetext>Power management calls should be performed in the UI process.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607661</commentid>
    <comment_count>1</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-01-16 14:16:21 -0800</bug_when>
    <thetext>rdar://problem/34722450</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607673</commentid>
    <comment_count>2</comment_count>
      <attachid>387961</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-01-16 14:37:58 -0800</bug_when>
    <thetext>Created attachment 387961
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607683</commentid>
    <comment_count>3</comment_count>
      <attachid>387964</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-01-16 14:57:36 -0800</bug_when>
    <thetext>Created attachment 387964
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607862</commentid>
    <comment_count>4</comment_count>
      <attachid>387964</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-01-16 21:07:14 -0800</bug_when>
    <thetext>Comment on attachment 387964
Patch

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

&gt; Source/WebCore/platform/graphics/avfoundation/objc/AVAssetTrackUtilities.h:40
&gt; +WEBCORE_EXPORT void setSystemHasBattery(bool);
&gt; +WEBCORE_EXPORT bool systemHasBattery();

This does not seem like the right file for these. If they need to be exposed outside of the .mm file, please move them to a more appropriate place or create a new file for them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1608112</commentid>
    <comment_count>5</comment_count>
      <attachid>388070</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-01-17 11:25:49 -0800</bug_when>
    <thetext>Created attachment 388070
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1608113</commentid>
    <comment_count>6</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-01-17 11:26:43 -0800</bug_when>
    <thetext>(In reply to Sam Weinig from comment #4)
&gt; Comment on attachment 387964 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=387964&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/avfoundation/objc/AVAssetTrackUtilities.h:40
&gt; &gt; +WEBCORE_EXPORT void setSystemHasBattery(bool);
&gt; &gt; +WEBCORE_EXPORT bool systemHasBattery();
&gt; 
&gt; This does not seem like the right file for these. If they need to be exposed
&gt; outside of the .mm file, please move them to a more appropriate place or
&gt; create a new file for them.

Good point! I have moved this to a new file in the new patch.

Thanks for reviewing, Sam!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1608321</commentid>
    <comment_count>7</comment_count>
      <attachid>388120</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-01-17 17:06:11 -0800</bug_when>
    <thetext>Created attachment 388120
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1608815</commentid>
    <comment_count>8</comment_count>
      <attachid>388120</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-01-20 11:59:56 -0800</bug_when>
    <thetext>Comment on attachment 388120
Patch

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

&gt; Source/WebCore/platform/cocoa/PowerUtils.h:2
&gt; +* Copyright (C) 2020 Apple Inc. All rights reserved.

File naming: A file named &quot;XXXUtils&quot; is against WebKit coding style. Not sure if we wrote it down or not.

I suggest the name SystemBattery.h/mm. But there are probably other good names to consider.

The vague programmer word &quot;utilities&quot; should be avoided, even though this rule has not been followed consistently. Lets not make another header with a name like this. Even just &quot;Power.h&quot; might be OK.

The abbreviation &quot;utils&quot; goes against our stance against unnecessary abbreviation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1609188</commentid>
    <comment_count>9</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-01-21 12:01:38 -0800</bug_when>
    <thetext>(In reply to Darin Adler from comment #8)
&gt; Comment on attachment 388120 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=388120&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/cocoa/PowerUtils.h:2
&gt; &gt; +* Copyright (C) 2020 Apple Inc. All rights reserved.
&gt; 
&gt; File naming: A file named &quot;XXXUtils&quot; is against WebKit coding style. Not
&gt; sure if we wrote it down or not.
&gt; 
&gt; I suggest the name SystemBattery.h/mm. But there are probably other good
&gt; names to consider.
&gt; 
&gt; The vague programmer word &quot;utilities&quot; should be avoided, even though this
&gt; rule has not been followed consistently. Lets not make another header with a
&gt; name like this. Even just &quot;Power.h&quot; might be OK.
&gt; 
&gt; The abbreviation &quot;utils&quot; goes against our stance against unnecessary
&gt; abbreviation.

Thanks for reviewing! I will update the patch according to the comments :) I think I will go with SystemBattery.h/mm as you suggested.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1609755</commentid>
    <comment_count>10</comment_count>
      <attachid>388471</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-01-22 14:38:10 -0800</bug_when>
    <thetext>Created attachment 388471
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1610245</commentid>
    <comment_count>11</comment_count>
      <attachid>388471</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-23 12:10:53 -0800</bug_when>
    <thetext>Comment on attachment 388471
Patch

Clearing flags on attachment: 388471

Committed r254995: &lt;https://trac.webkit.org/changeset/254995&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>387961</attachid>
            <date>2020-01-16 14:37:58 -0800</date>
            <delta_ts>2020-01-16 14:57:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206373-20200116143758.patch</filename>
            <type>text/plain</type>
            <size>17219</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1NDYyOSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBACisyMDIwLTAxLTE2ICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIEJyb2tlciBh
Y2Nlc3MgdG8gdGhlIFBvd2VyTWFuYWdlbWVudCBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjM3MworICAgICAgICA8cmRhcjovL3Byb2JsZW0v
MzQ3MjI0NTA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQ29kZSB0byBkZXRlcm1pbmUgaWYgZGV2aWNlIGhhcyBiYXR0ZXJ5IHNob3VsZCBiZSBleGVj
dXRlZCBpbiB0aGUgVUkgcHJvY2Vzcy4KKworICAgICAgICBBUEkgdGVzdDogV2ViS2l0LlN5c3Rl
bUhhc0JhdHRlcnkKKworICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9BVkFzc2V0
VHJhY2tVdGlsaXRpZXMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9BVkFzc2V0VHJhY2tVdGlsaXRpZXMubW06CisgICAgICAgIChXZWJDb3JlOjpzZXRT
eXN0ZW1IYXNCYXR0ZXJ5KToKKyAgICAgICAgKFdlYkNvcmU6OnN5c3RlbUhhc0JhdHRlcnkpOgor
ICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVy
bmFsczo6aU9TIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6c3lzdGVtSGFz
QmF0dGVyeSBjb25zdCk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAg
KiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisKIDIwMjAtMDEtMTUgIFphbGFuIEJ1anRhcyAgPHph
bGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJRkNdIENvbnRpbnVvdXNDb250ZW50IHNo
b3VsZCBub3QgbmVlZCBhIGNvcHkgb2YgUnVuTGlzdApJbmRleDogU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjU0NjI5KQor
KysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3Jr
aW5nIGNvcHkpCkBAIC00MTc5LDcgKzQxNzksNyBAQAogCQlDREU4QjVGMTFBNjk3NzhCMDBCNEI2
NkEgLyogTGVnYWN5Q0RNU2Vzc2lvbkNsZWFyS2V5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREU4QjVFRjFBNjk3NzhCMDBCNEI2NkEgLyogTGVnYWN5
Q0RNU2Vzc2lvbkNsZWFyS2V5LmggKi87IH07CiAJCUNERUE3Qzg0MTI3NjIzMDQwMEI4NDZERCAv
KiBSZW5kZXJGdWxsU2NyZWVuLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDREVBN0M4MjEyNzYyMzA0MDBCODQ2REQgLyogUmVuZGVyRnVsbFNjcmVlbi5o
ICovOyB9OwogCQlDREVDQTg5QTFFREY0NDdEMDBEQ0IwOEIgLyogQVZBc3NldFRyYWNrVXRpbGl0
aWVzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RF
Q0E4OTgxRURGNDQ3RDAwRENCMDhCIC8qIEFWQXNzZXRUcmFja1V0aWxpdGllcy5tbSAqLzsgfTsK
LQkJQ0RFQ0E4OUIxRURGNDQ3RDAwRENCMDhCIC8qIEFWQXNzZXRUcmFja1V0aWxpdGllcy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RFQ0E4OTkxRURG
NDQ3RDAwRENCMDhCIC8qIEFWQXNzZXRUcmFja1V0aWxpdGllcy5oICovOyB9OworCQlDREVDQTg5
QjFFREY0NDdEMDBEQ0IwOEIgLyogQVZBc3NldFRyYWNrVXRpbGl0aWVzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREVDQTg5OTFFREY0NDdEMDBEQ0Iw
OEIgLyogQVZBc3NldFRyYWNrVXRpbGl0aWVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0RFRjRGRDcxN0U4NUM4RjAwQUVFMjRCIC8qIEdyaWRM
ZW5ndGguaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENE
RUY0RkQ2MTdFODVDOEYwMEFFRTI0QiAvKiBHcmlkTGVuZ3RoLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0RFRkEyMjgxRTc2NjlFODAwMEFFOTlD
IC8qIFBsYXRmb3JtQXVkaW9EYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBDREU2NjdBMTFFNEJCQTREMDBFODE1NEEgLyogUGxhdGZvcm1BdWRpb0Rh
dGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlD
REYyQjAwNDE4MUYwNTlDMDBGMkI0MjQgLyogTWVkaWFEZXNjcmlwdGlvbi5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RGMkIwMDMxODFGMDU5QzAwRjJC
NDI0IC8qIE1lZGlhRGVzY3JpcHRpb24uaCAqLzsgfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0FWQXNzZXRUcmFja1V0aWxpdGllcy5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRh
dGlvbi9vYmpjL0FWQXNzZXRUcmFja1V0aWxpdGllcy5oCShyZXZpc2lvbiAyNTQ2MjkpCisrKyBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9BVkFzc2V0
VHJhY2tVdGlsaXRpZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMzYsNiArMzYsOSBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIHN0cnVjdCBGb3VyQ0M7CiAKK1dFQkNPUkVfRVhQT1JUIHZvaWQgc2V0
U3lzdGVtSGFzQmF0dGVyeShib29sKTsKK1dFQkNPUkVfRVhQT1JUIGJvb2wgc3lzdGVtSGFzQmF0
dGVyeSgpOworCiBib29sIGNvZGVjc01lZXRIYXJkd2FyZURlY29kZVJlcXVpcmVtZW50cyhjb25z
dCBWZWN0b3I8Rm91ckNDPiYsIGNvbnN0IFZlY3RvcjxDb250ZW50VHlwZT4mIGNvbnRlbnRUeXBl
c1JlcXVpcmluZ0hhcmR3YXJlRGVjb2RlKTsKIGJvb2wgY29udGVudFR5cGVNZWV0c0hhcmR3YXJl
RGVjb2RlUmVxdWlyZW1lbnRzKGNvbnN0IENvbnRlbnRUeXBlJiwgY29uc3QgVmVjdG9yPENvbnRl
bnRUeXBlPiYgY29udGVudFR5cGVzUmVxdWlyaW5nSGFyZHdhcmVEZWNvZGUpOwogYm9vbCBhc3Nl
dFRyYWNrTWVldHNIYXJkd2FyZURlY29kZVJlcXVpcmVtZW50cyhBVkFzc2V0VHJhY2sgKiwgY29u
c3QgVmVjdG9yPENvbnRlbnRUeXBlPiYgY29udGVudFR5cGVzUmVxdWlyaW5nSGFyZHdhcmVEZWNv
ZGUpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L29iamMvQVZBc3NldFRyYWNrVXRpbGl0aWVzLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0FWQXNzZXRUcmFja1V0aWxp
dGllcy5tbQkocmV2aXNpb24gMjU0NjI5KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvQVZBc3NldFRyYWNrVXRpbGl0aWVzLm1tCSh3b3JraW5n
IGNvcHkpCkBAIC0zNyw4ICszNywxOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRp
YyBib29sIHN5c3RlbUhhc0JhdHRlcnkoKQorT3B0aW9uYWw8Ym9vbD4gaGFzQmF0dGVyeTsKKwor
dm9pZCBzZXRTeXN0ZW1IYXNCYXR0ZXJ5KGJvb2wgYmF0dGVyeSkKIHsKKyAgICBoYXNCYXR0ZXJ5
ID0gYmF0dGVyeTsKK30KKworYm9vbCBzeXN0ZW1IYXNCYXR0ZXJ5KCkKK3sKKyAgICBpZiAoaGFz
QmF0dGVyeS5oYXNWYWx1ZSgpKQorICAgICAgICByZXR1cm4gKmhhc0JhdHRlcnk7CisKICAgICBS
ZXRhaW5QdHI8Q0ZUeXBlUmVmPiBwb3dlclNvdXJjZXNJbmZvID0gYWRvcHRDRihJT1BTQ29weVBv
d2VyU291cmNlc0luZm8oKSk7CiAgICAgaWYgKCFwb3dlclNvdXJjZXNJbmZvKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCShyZXZp
c2lvbiAyNTQ2MjkpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNs
dWRlICJJbnRlcm5hbHMuaCIKIAorI2luY2x1ZGUgIkFWQXNzZXRUcmFja1V0aWxpdGllcy5oIgog
I2luY2x1ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKICNpbmNsdWRlICJBY3Rpdml0eVN0YXRlLmgiCiAj
aW5jbHVkZSAiQW5pbWF0aW9uVGltZWxpbmUuaCIKQEAgLTU0MTgsNCArNTQxOSw5IEBAIFN0cmlu
ZyBJbnRlcm5hbHM6OnN5c3RlbUNvbG9yRm9yQ1NTVmFsdWUKICAgICByZXR1cm4gUmVuZGVyVGhl
bWU6OnNpbmdsZXRvbigpLnN5c3RlbUNvbG9yKGlkLCBvcHRpb25zKS5jc3NUZXh0KCk7CiB9CiAK
K2Jvb2wgSW50ZXJuYWxzOjpzeXN0ZW1IYXNCYXR0ZXJ5KCkgY29uc3QKK3sKKyAgICByZXR1cm4g
V2ViQ29yZTo6c3lzdGVtSGFzQmF0dGVyeSgpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgJKHJldmlzaW9uIDI1NDYyOSkKKysr
IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgJKHdvcmtpbmcgY29weSkKQEAgLTky
Niw2ICs5MjYsOCBAQCBwdWJsaWM6CiAKICAgICBTdHJpbmcgc3lzdGVtQ29sb3JGb3JDU1NWYWx1
ZShjb25zdCBTdHJpbmcmIGNzc1ZhbHVlLCBib29sIHVzZURhcmtNb2RlQXBwZWFyYW5jZSwgYm9v
bCB1c2VFbGV2YXRlZFVzZXJJbnRlcmZhY2VMZXZlbCk7CiAKKyAgICBib29sIHN5c3RlbUhhc0Jh
dHRlcnkoKSBjb25zdDsKKwogcHJpdmF0ZToKICAgICBleHBsaWNpdCBJbnRlcm5hbHMoRG9jdW1l
bnQmKTsKICAgICBEb2N1bWVudCogY29udGV4dERvY3VtZW50KCkgY29uc3Q7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCShyZXZpc2lvbiAyNTQ2MjkpCisrKyBTb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTgzMyw0ICs4
MzMsNiBAQCBlbnVtIENvbXBvc2l0aW5nUG9saWN5IHsKICAgICBib29sZWFuIGhhc1NhbmRib3hN
YWNoTG9va3VwQWNjZXNzVG9YUENTZXJ2aWNlTmFtZShET01TdHJpbmcgcHJvY2VzcywgRE9NU3Ry
aW5nIHNlcnZpY2UpOwogICAgIAogICAgIERPTVN0cmluZyBzeXN0ZW1Db2xvckZvckNTU1ZhbHVl
KERPTVN0cmluZyBjc3NWYWx1ZSwgYm9vbGVhbiB1c2VEYXJrTW9kZUFwcGVhcmFuY2UsIGJvb2xl
YW4gdXNlRWxldmF0ZWRVc2VySW50ZXJmYWNlTGV2ZWwpOworCisgICAgYm9vbGVhbiBzeXN0ZW1I
YXNCYXR0ZXJ5KCk7CiB9OwpJbmRleDogU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1NDYyOSkKKysrIFNvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMjAt
MDEtMTYgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFtD
b2NvYV0gQnJva2VyIGFjY2VzcyB0byB0aGUgUG93ZXJNYW5hZ2VtZW50IEFQSQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2MzczCisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS8zNDcyMjQ1MD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBTZW5kIGZsYWcgaW5kaWNhdGluZyB3aGV0aGVyIGRldmljZSBoYXMg
YmF0dGVyeSB0byB0aGUgV2ViQ29udGVudCBwcm9jZXNzIGFzIHBhcnQgb2YgdGhlCisgICAgICAg
IFdlYlByb2Nlc3MgY3JlYXRpb24gcGFyYW1ldGVycy4KKworICAgICAgICAqIFNoYXJlZC9XZWJQ
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6V2Vi
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2Vi
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9X
ZWJQcm9jZXNzUG9vbENvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6
cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vzcyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2Nv
YS9XZWJQcm9jZXNzQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnBsYXRm
b3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MpOgorCiAyMDIwLTAxLTE1ICBEb24gT2xtc3RlYWQgIDxk
b24ub2xtc3RlYWRAc29ueS5jb20+CiAKICAgICAgICAgU2hhcmUgV2ViSW5zcGVjdG9yIHN0dWJz
IGZvciBwb3J0cyB3aXRob3V0IGxvY2FsIGluc3BlY3Rpb24KSW5kZXg6IFNvdXJjZS9XZWJLaXQv
U2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCShyZXZp
c2lvbiAyNTQ2MjkpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTY2LDYgKzE2Niw3IEBAIHZvaWQgV2Vi
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2QKICNpZiBQTEFURk9STShDT0NPQSkKICAg
ICBlbmNvZGVyIDw8IG5lSGVscGVyRXh0ZW5zaW9uSGFuZGxlOwogICAgIGVuY29kZXIgPDwgbmVT
ZXNzaW9uTWFuYWdlckV4dGVuc2lvbkhhbmRsZTsKKyAgICBlbmNvZGVyIDw8IHN5c3RlbUhhc0Jh
dHRlcnk7CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCkBAIC00MzMsNiArNDM0
LDEyIEBAIGJvb2wgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2QKICAgICBpZiAo
IW5lU2Vzc2lvbk1hbmFnZXJFeHRlbnNpb25IYW5kbGUpCiAgICAgICAgIHJldHVybiBmYWxzZTsK
ICAgICBwYXJhbWV0ZXJzLm5lU2Vzc2lvbk1hbmFnZXJFeHRlbnNpb25IYW5kbGUgPSBXVEZNb3Zl
KCpuZVNlc3Npb25NYW5hZ2VyRXh0ZW5zaW9uSGFuZGxlKTsKKworICAgIE9wdGlvbmFsPGJvb2w+
IHN5c3RlbUhhc0JhdHRlcnk7CisgICAgZGVjb2RlciA+PiBzeXN0ZW1IYXNCYXR0ZXJ5OworICAg
IGlmICghc3lzdGVtSGFzQmF0dGVyeSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHBhcmFt
ZXRlcnMuc3lzdGVtSGFzQmF0dGVyeSA9IFdURk1vdmUoKnN5c3RlbUhhc0JhdHRlcnkpOwogI2Vu
ZGlmCiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQpJbmRleDogU291cmNlL1dlYktpdC9TaGFy
ZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAkocmV2aXNpb24gMjU0
NjI5KQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMDgsNiArMjA4LDcgQEAgc3RydWN0IFdlYlByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMgewogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIE9wdGlvbmFsPFNh
bmRib3hFeHRlbnNpb246OkhhbmRsZT4gbmVIZWxwZXJFeHRlbnNpb25IYW5kbGU7CiAgICAgT3B0
aW9uYWw8U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlPiBuZVNlc3Npb25NYW5hZ2VyRXh0ZW5zaW9u
SGFuZGxlOworICAgIGJvb2wgc3lzdGVtSGFzQmF0dGVyeTsKICNlbmRpZgogCiAjaWYgUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBy
b2Nlc3NQb29sQ29jb2EubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Q29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQkocmV2aXNpb24gMjU0NjI5KQorKysgU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQkod29ya2luZyBj
b3B5KQpAQCAtODEsNiArODEsNyBAQCBTT0ZUX0xJTktfQ0xBU1MoV2ViQ29udGVudEFuYWx5c2lz
LCBXZWJGCiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKENPQ09BKQorI2ltcG9ydCA8V2ViQ29yZS9B
VkFzc2V0VHJhY2tVdGlsaXRpZXMuaD4KICNpbXBvcnQgPHBhbC9zcGkvY29jb2EvTkVGaWx0ZXJT
b3VyY2VTUEkuaD4KIAogU09GVF9MSU5LX0ZSQU1FV09SS19PUFRJT05BTChOZXR3b3JrRXh0ZW5z
aW9uKTsKQEAgLTM0Myw2ICszNDQsNyBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpwbGF0Zm9ybUlu
aXRpYWxpemVXCiAjZW5kaWYKICAgICAgICAgcGFyYW1ldGVycy5uZVNlc3Npb25NYW5hZ2VyRXh0
ZW5zaW9uSGFuZGxlID0gV1RGTW92ZShoYW5kbGUpOwogICAgIH0KKyAgICBwYXJhbWV0ZXJzLnN5
c3RlbUhhc0JhdHRlcnkgPSBzeXN0ZW1IYXNCYXR0ZXJ5KCk7CiAjZW5kaWYKICAgICAKICNpZiBQ
TEFURk9STShJT1MpCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJv
Y2Vzc0NvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2Nv
YS9XZWJQcm9jZXNzQ29jb2EubW0JKHJldmlzaW9uIDI1NDYyOSkKKysrIFNvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTEy
MCw2ICsxMjAsNyBAQAogI2VuZGlmCiAKICNpZiBQTEFURk9STShDT0NPQSkKKyNpbXBvcnQgPFdl
YkNvcmUvQVZBc3NldFRyYWNrVXRpbGl0aWVzLmg+CiAjaW1wb3J0IDxXZWJDb3JlL05ldHdvcmtF
eHRlbnNpb25Db250ZW50RmlsdGVyLmg+CiAjZW5kaWYKIApAQCAtMjU4LDYgKzI1OSw3IEBAIHZv
aWQgV2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHIKICAgICBpZiAocGFyYW1ldGVy
cy5uZVNlc3Npb25NYW5hZ2VyRXh0ZW5zaW9uSGFuZGxlKQogICAgICAgICBTYW5kYm94RXh0ZW5z
aW9uOjpjb25zdW1lUGVybWFuZW50bHkoKnBhcmFtZXRlcnMubmVTZXNzaW9uTWFuYWdlckV4dGVu
c2lvbkhhbmRsZSk7CiAgICAgTmV0d29ya0V4dGVuc2lvbkNvbnRlbnRGaWx0ZXI6OnNldEhhc0Nv
bnN1bWVkU2FuZGJveEV4dGVuc2lvbnMocGFyYW1ldGVycy5uZUhlbHBlckV4dGVuc2lvbkhhbmRs
ZS5oYXNWYWx1ZSgpICYmIHBhcmFtZXRlcnMubmVTZXNzaW9uTWFuYWdlckV4dGVuc2lvbkhhbmRs
ZS5oYXNWYWx1ZSgpKTsKKyAgICBzZXRTeXN0ZW1IYXNCYXR0ZXJ5KHBhcmFtZXRlcnMuc3lzdGVt
SGFzQmF0dGVyeSk7CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCkluZGV4OiBU
b29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAy
NTQ3MDgpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNCBA
QAorMjAyMC0wMS0xNiAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CisKKyAg
ICAgICAgW0NvY29hXSBCcm9rZXIgYWNjZXNzIHRvIHRoZSBQb3dlck1hbmFnZW1lbnQgQVBJCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDYzNzMKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJL
aXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAq
IFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0JhdHRlcnkubW06IEFkZGVkLgorICAgICAgICAo
VEVTVCk6CisKIDIwMjAtMDEtMTYgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4K
IAogICAgICAgICBbYm1hbGxvY10gSXNvSGVhcCdzIGluaXRpYWwgc2V0dXAgc2hvdWxkIGJlIHNt
YWxsCkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJL
aXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjU0NjI5KQorKysgVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJ
KHdvcmtpbmcgY29weSkKQEAgLTg2MCw2ICs4NjAsNyBAQAogCQlDMEFEQkU5NjEyRkNBNzlCMDBE
MkMxMjkgLyogc2ltcGxlLWZvcm0uaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMEFEQkU4NDEyRkNBNkI2MDBEMkMxMjkgLyogc2ltcGxl
LWZvcm0uaHRtbCAqLzsgfTsKIAkJQzBCRDY2OUYxMzFEM0NGRjAwRTE4RjJBIC8qIFJlc3BvbnNp
dmVuZXNzVGltZXJEb2VzbnRGaXJlRWFybHlfQnVuZGxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMwQkQ2NjlFMTMxRDNDRkYwMEUxOEYyQSAvKiBS
ZXNwb25zaXZlbmVzc1RpbWVyRG9lc250RmlyZUVhcmx5X0J1bmRsZS5jcHAgKi87IH07CiAJCUMw
QzVEM0M2MTQ1OTkxMjkwMEE4MDJBNiAvKiBHZXRCYWNraW5nU2NhbGVGYWN0b3JfQnVuZGxlLm1t
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzBDNUQzQkQx
NDU5OEI2RjAwQTgwMkE2IC8qIEdldEJhY2tpbmdTY2FsZUZhY3Rvcl9CdW5kbGUubW0gKi87IH07
CisJCUMxNjkyRENBMjNEMTBEQUUwMDZFODhGNyAvKiBCYXR0ZXJ5Lm1tIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzE2OTJEQzkyM0QxMERBRTAwNkU4OEY3
IC8qIEJhdHRlcnkubW0gKi87IH07CiAJCUMyMEY4OEE3MjI5NUI5NjcwMEQ2MTBGQSAvKiBDb3Jl
VGV4dC5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBDMjBGODhBNjIyOTVCOTY3MDBENjEwRkEgLyogQ29yZVRleHQuZnJhbWV3b3JrICov
OyB9OwogCQlDMjJGQTMyQjIyOEY4NzA4MDA5RDc5ODggLyogVGV4dFdpZHRoLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzIyRkEzMkEyMjhGODcwODAw
OUQ3OTg4IC8qIFRleHRXaWR0aC5tbSAqLzsgfTsKIAkJQzIyRkEzMkQyMjhGOEFFQjAwOUQ3OTg4
IC8qIFRleHRXaWR0aC5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEMyMkZBMzJDMjI4Rjg3N0EwMDlENzk4OCAvKiBUZXh0V2lkdGguaHRt
bCAqLzsgfTsKQEAgLTIzNzksNiArMjM4MCw3IEBACiAJCUMwQkQ2NjlFMTMxRDNDRkYwMEUxOEYy
QSAvKiBSZXNwb25zaXZlbmVzc1RpbWVyRG9lc250RmlyZUVhcmx5X0J1bmRsZS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZXNwb25zaXZlbmVzc1RpbWVyRG9lc250
RmlyZUVhcmx5X0J1bmRsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMwQzVE
M0JDMTQ1OThCNkYwMEE4MDJBNiAvKiBHZXRCYWNraW5nU2NhbGVGYWN0b3IubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBHZXRCYWNraW5nU2NhbGVGYWN0b3IubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMwQzVEM0JEMTQ1OThCNkYwMEE4MDJBNiAv
KiBHZXRCYWNraW5nU2NhbGVGYWN0b3JfQnVuZGxlLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBwYXRoID0gR2V0QmFja2luZ1NjYWxlRmFjdG9yX0J1bmRsZS5tbTsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzE2OTJEQzkyM0QxMERBRTAwNkU4OEY3IC8qIEJhdHRl
cnkubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBCYXR0ZXJ5Lm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlDMUQ4RUUyMTIwMjhFOEUzMDA4RUIxNDEgLyogV2ViUHJvY2Vzc1Rlcm1p
bmF0ZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYlByb2Nl
c3NUZXJtaW5hdGUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMyMEY4OEE2MjI5
NUI5NjcwMEQ2MTBGQSAvKiBDb3JlVGV4dC5mcmFtZXdvcmsgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29yazsgbmFtZSA9IENv
cmVUZXh0LmZyYW1ld29yazsgcGF0aCA9IFN5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZVRl
eHQuZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gU0RLUk9PVDsgfTsKIAkJQzIyRkEzMkEyMjhGODcw
ODAwOUQ3OTg4IC8qIFRleHRXaWR0aC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFRleHRXaWR0
aC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI4MTgsNiArMjgyMCw3IEBACiAJ
CTBGMTM5RTc0MUE0MjNBNDYwMEY1OTBGNSAvKiBjb2NvYSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdy
b3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJQzE2OTJEQzkyM0QxMERBRTAwNkU4OEY3IC8qIEJh
dHRlcnkubW0gKi8sCiAJCQkJMEYxMzlFNzUxQTQyM0E1MzAwRjU5MEY1IC8qIFdlYWtPYmpDUHRy
Lm1tICovLAogCQkJKTsKIAkJCW5hbWUgPSBjb2NvYTsKQEAgLTQ1ODEsNiArNDU4NCw3IEBACiAJ
CQkJMDcxMURGNTIyMjZBOTVGQzAwM0REMkY3IC8qIEFWRm91bmRhdGlvblNvZnRMaW5rVGVzdC5t
bSBpbiBTb3VyY2VzICovLAogCQkJCTdDQ0U3RUI1MUE0MTFBN0UwMDQ0N0M0QyAvKiBCYWNrRm9y
d2FyZExpc3QubW0gaW4gU291cmNlcyAqLywKIAkJCQkxQzdGRUIyMDIwN0MwRjJFMDBEMjMyNzgg
LyogQmFja2dyb3VuZENvbG9yLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJQzE2OTJEQ0EyM0QxMERB
RTAwNkU4OEY3IC8qIEJhdHRlcnkubW0gaW4gU291cmNlcyAqLywKIAkJCQkzNzRCN0E2MDFERjM2
RUVFMDBBQ0NCNkMgLyogQnVuZGxlRWRpdGluZ0RlbGVnYXRlLm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJN0E4OUJCNjcyMzMxNjQzMjAwNDJDQjFFIC8qIEJ1bmRsZUZvcm1EZWxlZ2F0ZS5tbSBpbiBT
b3VyY2VzICovLAogCQkJCUExM0VCQkIxMUI4NzQzODAwMDA5NzExMCAvKiBCdW5kbGVQYXJhbWV0
ZXJzLm1tIGluIFNvdXJjZXMgKi8sCkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdC9CYXR0ZXJ5Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0L0JhdHRlcnkubW0JKG5vbmV4aXN0ZW50KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXQvQmF0dGVyeS5tbQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ4IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgV0tfSEFWRV9DX1NQSQorCisj
aW1wb3J0ICJQbGF0Zm9ybVV0aWxpdGllcy5oIgorI2ltcG9ydCAiVGVzdFdLV2ViVmlldy5oIgor
I2ltcG9ydCA8V2ViQ29yZS9BVkFzc2V0VHJhY2tVdGlsaXRpZXMuaD4KKworVEVTVChXZWJLaXQs
IFN5c3RlbUhhc0JhdHRlcnkpCit7CisgICAgYXV0byBjb25maWd1cmF0aW9uID0gYWRvcHROUyhb
W1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsKKyAgICBXS1JldGFpblB0cjxX
S0NvbnRleHRSZWY+IGNvbnRleHQgPSBhZG9wdFdLKFRlc3RXZWJLaXRBUEk6OlV0aWw6OmNyZWF0
ZUNvbnRleHRGb3JJbmplY3RlZEJ1bmRsZVRlc3QoIkludGVybmFsc0luamVjdGVkQnVuZGxlVGVz
dCIpKTsKKyAgICBjb25maWd1cmF0aW9uLmdldCgpLnByb2Nlc3NQb29sID0gKFdLUHJvY2Vzc1Bv
b2wgKiljb250ZXh0LmdldCgpOworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tX
ZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgMzAwLCAzMDApIGNv
bmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbi5nZXQoKSBhZGRUb1dpbmRvdzpZRVNdKTsKKworICAg
IGF1dG8gaGFzQmF0dGVyeSA9IFsmXSB7CisgICAgICAgIHJldHVybiBbd2ViVmlldyBzdHJpbmdC
eUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAid2luZG93LmludGVybmFscy5zeXN0ZW1IYXNCYXR0ZXJ5
KCkiXS5ib29sVmFsdWU7CisgICAgfTsKKworICAgIEFTU0VSVF9UUlVFKGhhc0JhdHRlcnkoKSA9
PSBXZWJDb3JlOjpzeXN0ZW1IYXNCYXR0ZXJ5KCkpOworfQorCisjZW5kaWYgLy8gV0tfSEFWRV9D
X1NQSQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>387964</attachid>
            <date>2020-01-16 14:57:36 -0800</date>
            <delta_ts>2020-01-17 11:25:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206373-20200116145735.patch</filename>
            <type>text/plain</type>
            <size>17284</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1NDYyOSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBACisyMDIwLTAxLTE2ICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIEJyb2tlciBh
Y2Nlc3MgdG8gdGhlIFBvd2VyTWFuYWdlbWVudCBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjM3MworICAgICAgICA8cmRhcjovL3Byb2JsZW0v
MzQ3MjI0NTA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQ29kZSB0byBkZXRlcm1pbmUgaWYgZGV2aWNlIGhhcyBiYXR0ZXJ5IHNob3VsZCBiZSBleGVj
dXRlZCBpbiB0aGUgVUkgcHJvY2Vzcy4KKworICAgICAgICBBUEkgdGVzdDogV2ViS2l0LlN5c3Rl
bUhhc0JhdHRlcnkKKworICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9BVkFzc2V0
VHJhY2tVdGlsaXRpZXMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9BVkFzc2V0VHJhY2tVdGlsaXRpZXMubW06CisgICAgICAgIChXZWJDb3JlOjpzZXRT
eXN0ZW1IYXNCYXR0ZXJ5KToKKyAgICAgICAgKFdlYkNvcmU6OnN5c3RlbUhhc0JhdHRlcnkpOgor
ICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVy
bmFsczo6aU9TIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6c3lzdGVtSGFz
QmF0dGVyeSBjb25zdCk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAg
KiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisKIDIwMjAtMDEtMTUgIFphbGFuIEJ1anRhcyAgPHph
bGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJRkNdIENvbnRpbnVvdXNDb250ZW50IHNo
b3VsZCBub3QgbmVlZCBhIGNvcHkgb2YgUnVuTGlzdApJbmRleDogU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjU0NjI5KQor
KysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3Jr
aW5nIGNvcHkpCkBAIC00MTc5LDcgKzQxNzksNyBAQAogCQlDREU4QjVGMTFBNjk3NzhCMDBCNEI2
NkEgLyogTGVnYWN5Q0RNU2Vzc2lvbkNsZWFyS2V5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREU4QjVFRjFBNjk3NzhCMDBCNEI2NkEgLyogTGVnYWN5
Q0RNU2Vzc2lvbkNsZWFyS2V5LmggKi87IH07CiAJCUNERUE3Qzg0MTI3NjIzMDQwMEI4NDZERCAv
KiBSZW5kZXJGdWxsU2NyZWVuLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDREVBN0M4MjEyNzYyMzA0MDBCODQ2REQgLyogUmVuZGVyRnVsbFNjcmVlbi5o
ICovOyB9OwogCQlDREVDQTg5QTFFREY0NDdEMDBEQ0IwOEIgLyogQVZBc3NldFRyYWNrVXRpbGl0
aWVzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RF
Q0E4OTgxRURGNDQ3RDAwRENCMDhCIC8qIEFWQXNzZXRUcmFja1V0aWxpdGllcy5tbSAqLzsgfTsK
LQkJQ0RFQ0E4OUIxRURGNDQ3RDAwRENCMDhCIC8qIEFWQXNzZXRUcmFja1V0aWxpdGllcy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RFQ0E4OTkxRURG
NDQ3RDAwRENCMDhCIC8qIEFWQXNzZXRUcmFja1V0aWxpdGllcy5oICovOyB9OworCQlDREVDQTg5
QjFFREY0NDdEMDBEQ0IwOEIgLyogQVZBc3NldFRyYWNrVXRpbGl0aWVzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREVDQTg5OTFFREY0NDdEMDBEQ0Iw
OEIgLyogQVZBc3NldFRyYWNrVXRpbGl0aWVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0RFRjRGRDcxN0U4NUM4RjAwQUVFMjRCIC8qIEdyaWRM
ZW5ndGguaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENE
RUY0RkQ2MTdFODVDOEYwMEFFRTI0QiAvKiBHcmlkTGVuZ3RoLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0RFRkEyMjgxRTc2NjlFODAwMEFFOTlD
IC8qIFBsYXRmb3JtQXVkaW9EYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBDREU2NjdBMTFFNEJCQTREMDBFODE1NEEgLyogUGxhdGZvcm1BdWRpb0Rh
dGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlD
REYyQjAwNDE4MUYwNTlDMDBGMkI0MjQgLyogTWVkaWFEZXNjcmlwdGlvbi5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RGMkIwMDMxODFGMDU5QzAwRjJC
NDI0IC8qIE1lZGlhRGVzY3JpcHRpb24uaCAqLzsgfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0FWQXNzZXRUcmFja1V0aWxpdGllcy5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRh
dGlvbi9vYmpjL0FWQXNzZXRUcmFja1V0aWxpdGllcy5oCShyZXZpc2lvbiAyNTQ2MjkpCisrKyBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9BVkFzc2V0
VHJhY2tVdGlsaXRpZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMzYsNiArMzYsOSBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIHN0cnVjdCBGb3VyQ0M7CiAKK1dFQkNPUkVfRVhQT1JUIHZvaWQgc2V0
U3lzdGVtSGFzQmF0dGVyeShib29sKTsKK1dFQkNPUkVfRVhQT1JUIGJvb2wgc3lzdGVtSGFzQmF0
dGVyeSgpOworCiBib29sIGNvZGVjc01lZXRIYXJkd2FyZURlY29kZVJlcXVpcmVtZW50cyhjb25z
dCBWZWN0b3I8Rm91ckNDPiYsIGNvbnN0IFZlY3RvcjxDb250ZW50VHlwZT4mIGNvbnRlbnRUeXBl
c1JlcXVpcmluZ0hhcmR3YXJlRGVjb2RlKTsKIGJvb2wgY29udGVudFR5cGVNZWV0c0hhcmR3YXJl
RGVjb2RlUmVxdWlyZW1lbnRzKGNvbnN0IENvbnRlbnRUeXBlJiwgY29uc3QgVmVjdG9yPENvbnRl
bnRUeXBlPiYgY29udGVudFR5cGVzUmVxdWlyaW5nSGFyZHdhcmVEZWNvZGUpOwogYm9vbCBhc3Nl
dFRyYWNrTWVldHNIYXJkd2FyZURlY29kZVJlcXVpcmVtZW50cyhBVkFzc2V0VHJhY2sgKiwgY29u
c3QgVmVjdG9yPENvbnRlbnRUeXBlPiYgY29udGVudFR5cGVzUmVxdWlyaW5nSGFyZHdhcmVEZWNv
ZGUpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L29iamMvQVZBc3NldFRyYWNrVXRpbGl0aWVzLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0FWQXNzZXRUcmFja1V0aWxp
dGllcy5tbQkocmV2aXNpb24gMjU0NjI5KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvQVZBc3NldFRyYWNrVXRpbGl0aWVzLm1tCSh3b3JraW5n
IGNvcHkpCkBAIC0zNyw4ICszNywxOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRp
YyBib29sIHN5c3RlbUhhc0JhdHRlcnkoKQorT3B0aW9uYWw8Ym9vbD4gaGFzQmF0dGVyeTsKKwor
dm9pZCBzZXRTeXN0ZW1IYXNCYXR0ZXJ5KGJvb2wgYmF0dGVyeSkKIHsKKyAgICBoYXNCYXR0ZXJ5
ID0gYmF0dGVyeTsKK30KKworYm9vbCBzeXN0ZW1IYXNCYXR0ZXJ5KCkKK3sKKyAgICBpZiAoaGFz
QmF0dGVyeS5oYXNWYWx1ZSgpKQorICAgICAgICByZXR1cm4gKmhhc0JhdHRlcnk7CisKICAgICBS
ZXRhaW5QdHI8Q0ZUeXBlUmVmPiBwb3dlclNvdXJjZXNJbmZvID0gYWRvcHRDRihJT1BTQ29weVBv
d2VyU291cmNlc0luZm8oKSk7CiAgICAgaWYgKCFwb3dlclNvdXJjZXNJbmZvKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCShyZXZp
c2lvbiAyNTQ2MjkpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTMwOSw3ICszMDksOCBAQAogI2VuZGlmCiAKICNpZiBQTEFURk9STShD
T0NPQSkKLSNpbXBvcnQgPHd0Zi9zcGkvZGFyd2luL1NhbmRib3hTUEkuaD4KKyNpbmNsdWRlICJB
VkFzc2V0VHJhY2tVdGlsaXRpZXMuaCIKKyNpbmNsdWRlIDx3dGYvc3BpL2Rhcndpbi9TYW5kYm94
U1BJLmg+CiAjZW5kaWYKIAogdXNpbmcgSlNDOjpDYWxsRGF0YTsKQEAgLTU0MTgsNCArNTQxOSwx
MyBAQCBTdHJpbmcgSW50ZXJuYWxzOjpzeXN0ZW1Db2xvckZvckNTU1ZhbHVlCiAgICAgcmV0dXJu
IFJlbmRlclRoZW1lOjpzaW5nbGV0b24oKS5zeXN0ZW1Db2xvcihpZCwgb3B0aW9ucykuY3NzVGV4
dCgpOwogfQogCitib29sIEludGVybmFsczo6c3lzdGVtSGFzQmF0dGVyeSgpIGNvbnN0Cit7Cisj
aWYgUExBVEZPUk0oQ09DT0EpCisgICAgcmV0dXJuIFdlYkNvcmU6OnN5c3RlbUhhc0JhdHRlcnko
KTsKKyNlbHNlCisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCit9CisKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAkocmV2aXNpb24gMjU0
NjI5KQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAkod29ya2luZyBjb3B5
KQpAQCAtOTI2LDYgKzkyNiw4IEBAIHB1YmxpYzoKIAogICAgIFN0cmluZyBzeXN0ZW1Db2xvckZv
ckNTU1ZhbHVlKGNvbnN0IFN0cmluZyYgY3NzVmFsdWUsIGJvb2wgdXNlRGFya01vZGVBcHBlYXJh
bmNlLCBib29sIHVzZUVsZXZhdGVkVXNlckludGVyZmFjZUxldmVsKTsKIAorICAgIGJvb2wgc3lz
dGVtSGFzQmF0dGVyeSgpIGNvbnN0OworCiBwcml2YXRlOgogICAgIGV4cGxpY2l0IEludGVybmFs
cyhEb2N1bWVudCYpOwogICAgIERvY3VtZW50KiBjb250ZXh0RG9jdW1lbnQoKSBjb25zdDsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwJKHJldmlzaW9uIDI1NDYyOSkKKysr
IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAkod29ya2luZyBjb3B5KQpAQCAt
ODMzLDQgKzgzMyw2IEBAIGVudW0gQ29tcG9zaXRpbmdQb2xpY3kgewogICAgIGJvb2xlYW4gaGFz
U2FuZGJveE1hY2hMb29rdXBBY2Nlc3NUb1hQQ1NlcnZpY2VOYW1lKERPTVN0cmluZyBwcm9jZXNz
LCBET01TdHJpbmcgc2VydmljZSk7CiAgICAgCiAgICAgRE9NU3RyaW5nIHN5c3RlbUNvbG9yRm9y
Q1NTVmFsdWUoRE9NU3RyaW5nIGNzc1ZhbHVlLCBib29sZWFuIHVzZURhcmtNb2RlQXBwZWFyYW5j
ZSwgYm9vbGVhbiB1c2VFbGV2YXRlZFVzZXJJbnRlcmZhY2VMZXZlbCk7CisKKyAgICBib29sZWFu
IHN5c3RlbUhhc0JhdHRlcnkoKTsKIH07CkluZGV4OiBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkocmV2aXNpb24gMjU0NjI5KQor
KysgU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMyBA
QAorMjAyMC0wMS0xNiAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CisKKyAg
ICAgICAgW0NvY29hXSBCcm9rZXIgYWNjZXNzIHRvIHRoZSBQb3dlck1hbmFnZW1lbnQgQVBJCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDYzNzMKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM0NzIyNDUwPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFNlbmQgZmxhZyBpbmRpY2F0aW5nIHdoZXRoZXIgZGV2
aWNlIGhhcyBiYXR0ZXJ5IHRvIHRoZSBXZWJDb250ZW50IHByb2Nlc3MgYXMgcGFydCBvZiB0aGUK
KyAgICAgICAgV2ViUHJvY2VzcyBjcmVhdGlvbiBwYXJhbWV0ZXJzLgorCisgICAgICAgICogU2hh
cmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUpOgorICAgICAgICAqIFNo
YXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmg6CisgICAgICAgICogVUlQcm9jZXNz
L0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nl
c3NQb29sOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKToKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vz
czo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vzcyk6CisKIDIwMjAtMDEtMTUgIERvbiBPbG1z
dGVhZCAgPGRvbi5vbG1zdGVhZEBzb255LmNvbT4KIAogICAgICAgICBTaGFyZSBXZWJJbnNwZWN0
b3Igc3R1YnMgZm9yIHBvcnRzIHdpdGhvdXQgbG9jYWwgaW5zcGVjdGlvbgpJbmRleDogU291cmNl
L1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5j
cHAJKHJldmlzaW9uIDI1NDYyOSkKKysrIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNjYsNiArMTY2LDcgQEAg
dm9pZCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZAogI2lmIFBMQVRGT1JNKENP
Q09BKQogICAgIGVuY29kZXIgPDwgbmVIZWxwZXJFeHRlbnNpb25IYW5kbGU7CiAgICAgZW5jb2Rl
ciA8PCBuZVNlc3Npb25NYW5hZ2VyRXh0ZW5zaW9uSGFuZGxlOworICAgIGVuY29kZXIgPDwgc3lz
dGVtSGFzQmF0dGVyeTsKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKQEAgLTQz
Myw2ICs0MzQsMTIgQEAgYm9vbCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZAog
ICAgIGlmICghbmVTZXNzaW9uTWFuYWdlckV4dGVuc2lvbkhhbmRsZSkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogICAgIHBhcmFtZXRlcnMubmVTZXNzaW9uTWFuYWdlckV4dGVuc2lvbkhhbmRsZSA9
IFdURk1vdmUoKm5lU2Vzc2lvbk1hbmFnZXJFeHRlbnNpb25IYW5kbGUpOworCisgICAgT3B0aW9u
YWw8Ym9vbD4gc3lzdGVtSGFzQmF0dGVyeTsKKyAgICBkZWNvZGVyID4+IHN5c3RlbUhhc0JhdHRl
cnk7CisgICAgaWYgKCFzeXN0ZW1IYXNCYXR0ZXJ5KQorICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgcGFyYW1ldGVycy5zeXN0ZW1IYXNCYXR0ZXJ5ID0gV1RGTW92ZSgqc3lzdGVtSGFzQmF0dGVy
eSk7CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCkluZGV4OiBTb3VyY2UvV2Vi
S2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCShyZXZp
c2lvbiAyNTQ2MjkpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzLmgJKHdvcmtpbmcgY29weSkKQEAgLTIwOCw2ICsyMDgsNyBAQCBzdHJ1Y3QgV2Vi
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyB7CiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgT3B0
aW9uYWw8U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlPiBuZUhlbHBlckV4dGVuc2lvbkhhbmRsZTsK
ICAgICBPcHRpb25hbDxTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGU+IG5lU2Vzc2lvbk1hbmFnZXJF
eHRlbnNpb25IYW5kbGU7CisgICAgYm9vbCBzeXN0ZW1IYXNCYXR0ZXJ5OwogI2VuZGlmCiAKICNp
ZiBQTEFURk9STShJT1NfRkFNSUxZKQpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCShyZXZpc2lvbiAyNTQ2MjkpCisr
KyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCSh3
b3JraW5nIGNvcHkpCkBAIC04MSw2ICs4MSw3IEBAIFNPRlRfTElOS19DTEFTUyhXZWJDb250ZW50
QW5hbHlzaXMsIFdlYkYKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCisjaW1wb3J0IDxX
ZWJDb3JlL0FWQXNzZXRUcmFja1V0aWxpdGllcy5oPgogI2ltcG9ydCA8cGFsL3NwaS9jb2NvYS9O
RUZpbHRlclNvdXJjZVNQSS5oPgogCiBTT0ZUX0xJTktfRlJBTUVXT1JLX09QVElPTkFMKE5ldHdv
cmtFeHRlbnNpb24pOwpAQCAtMzQzLDYgKzM0NCw3IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnBs
YXRmb3JtSW5pdGlhbGl6ZVcKICNlbmRpZgogICAgICAgICBwYXJhbWV0ZXJzLm5lU2Vzc2lvbk1h
bmFnZXJFeHRlbnNpb25IYW5kbGUgPSBXVEZNb3ZlKGhhbmRsZSk7CiAgICAgfQorICAgIHBhcmFt
ZXRlcnMuc3lzdGVtSGFzQmF0dGVyeSA9IHN5c3RlbUhhc0JhdHRlcnkoKTsKICNlbmRpZgogICAg
IAogI2lmIFBMQVRGT1JNKElPUykKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2Nv
YS9XZWJQcm9jZXNzQ29jb2EubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQkocmV2aXNpb24gMjU0NjI5KQorKysgU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQkod29ya2luZyBjb3B5
KQpAQCAtMTIwLDYgKzEyMCw3IEBACiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKENPQ09BKQorI2lt
cG9ydCA8V2ViQ29yZS9BVkFzc2V0VHJhY2tVdGlsaXRpZXMuaD4KICNpbXBvcnQgPFdlYkNvcmUv
TmV0d29ya0V4dGVuc2lvbkNvbnRlbnRGaWx0ZXIuaD4KICNlbmRpZgogCkBAIC0yNTgsNiArMjU5
LDcgQEAgdm9pZCBXZWJQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcgogICAgIGlmIChw
YXJhbWV0ZXJzLm5lU2Vzc2lvbk1hbmFnZXJFeHRlbnNpb25IYW5kbGUpCiAgICAgICAgIFNhbmRi
b3hFeHRlbnNpb246OmNvbnN1bWVQZXJtYW5lbnRseSgqcGFyYW1ldGVycy5uZVNlc3Npb25NYW5h
Z2VyRXh0ZW5zaW9uSGFuZGxlKTsKICAgICBOZXR3b3JrRXh0ZW5zaW9uQ29udGVudEZpbHRlcjo6
c2V0SGFzQ29uc3VtZWRTYW5kYm94RXh0ZW5zaW9ucyhwYXJhbWV0ZXJzLm5lSGVscGVyRXh0ZW5z
aW9uSGFuZGxlLmhhc1ZhbHVlKCkgJiYgcGFyYW1ldGVycy5uZVNlc3Npb25NYW5hZ2VyRXh0ZW5z
aW9uSGFuZGxlLmhhc1ZhbHVlKCkpOworICAgIHNldFN5c3RlbUhhc0JhdHRlcnkocGFyYW1ldGVy
cy5zeXN0ZW1IYXNCYXR0ZXJ5KTsKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkK
SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI1NDcwOCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE0IEBACisyMDIwLTAxLTE2ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNv
bT4KKworICAgICAgICBbQ29jb2FdIEJyb2tlciBhY2Nlc3MgdG8gdGhlIFBvd2VyTWFuYWdlbWVu
dCBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIw
NjM3MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
VGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6Cisg
ICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvQmF0dGVyeS5tbTogQWRkZWQuCisg
ICAgICAgIChURVNUKToKKwogMjAyMC0wMS0xNiAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBw
bGUuY29tPgogCiAgICAgICAgIFtibWFsbG9jXSBJc29IZWFwJ3MgaW5pdGlhbCBzZXR1cCBzaG91
bGQgYmUgc21hbGwKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyNTQ2Mjkp
CisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtODYwLDYgKzg2MCw3IEBACiAJCUMwQURCRTk2MTJG
Q0E3OUIwMEQyQzEyOSAvKiBzaW1wbGUtZm9ybS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMwQURCRTg0MTJGQ0E2QjYwMEQyQzEyOSAv
KiBzaW1wbGUtZm9ybS5odG1sICovOyB9OwogCQlDMEJENjY5RjEzMUQzQ0ZGMDBFMThGMkEgLyog
UmVzcG9uc2l2ZW5lc3NUaW1lckRvZXNudEZpcmVFYXJseV9CdW5kbGUuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzBCRDY2OUUxMzFEM0NGRjAwRTE4
RjJBIC8qIFJlc3BvbnNpdmVuZXNzVGltZXJEb2VzbnRGaXJlRWFybHlfQnVuZGxlLmNwcCAqLzsg
fTsKIAkJQzBDNUQzQzYxNDU5OTEyOTAwQTgwMkE2IC8qIEdldEJhY2tpbmdTY2FsZUZhY3Rvcl9C
dW5kbGUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
MEM1RDNCRDE0NTk4QjZGMDBBODAyQTYgLyogR2V0QmFja2luZ1NjYWxlRmFjdG9yX0J1bmRsZS5t
bSAqLzsgfTsKKwkJQzE2OTJEQ0EyM0QxMERBRTAwNkU4OEY3IC8qIEJhdHRlcnkubW0gaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMTY5MkRDOTIzRDEwREFF
MDA2RTg4RjcgLyogQmF0dGVyeS5tbSAqLzsgfTsKIAkJQzIwRjg4QTcyMjk1Qjk2NzAwRDYxMEZB
IC8qIENvcmVUZXh0LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEMyMEY4OEE2MjI5NUI5NjcwMEQ2MTBGQSAvKiBDb3JlVGV4dC5mcmFt
ZXdvcmsgKi87IH07CiAJCUMyMkZBMzJCMjI4Rjg3MDgwMDlENzk4OCAvKiBUZXh0V2lkdGgubW0g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMjJGQTMyQTIy
OEY4NzA4MDA5RDc5ODggLyogVGV4dFdpZHRoLm1tICovOyB9OwogCQlDMjJGQTMyRDIyOEY4QUVC
MDA5RDc5ODggLyogVGV4dFdpZHRoLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzIyRkEzMkMyMjhGODc3QTAwOUQ3OTg4IC8qIFRleHRX
aWR0aC5odG1sICovOyB9OwpAQCAtMjM3OSw2ICsyMzgwLDcgQEAKIAkJQzBCRDY2OUUxMzFEM0NG
RjAwRTE4RjJBIC8qIFJlc3BvbnNpdmVuZXNzVGltZXJEb2VzbnRGaXJlRWFybHlfQnVuZGxlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlc3BvbnNpdmVuZXNzVGlt
ZXJEb2VzbnRGaXJlRWFybHlfQnVuZGxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQzBDNUQzQkMxNDU5OEI2RjAwQTgwMkE2IC8qIEdldEJhY2tpbmdTY2FsZUZhY3Rvci5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEdldEJhY2tpbmdTY2FsZUZh
Y3Rvci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzBDNUQzQkQxNDU5OEI2RjAw
QTgwMkE2IC8qIEdldEJhY2tpbmdTY2FsZUZhY3Rvcl9CdW5kbGUubW0gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBHZXRCYWNraW5nU2NhbGVGYWN0b3JfQnVuZGxlLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDMTY5MkRDOTIzRDEwREFFMDA2RTg4Rjcg
LyogQmF0dGVyeS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEJhdHRlcnkubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMxRDhFRTIxMjAyOEU4RTMwMDhFQjE0MSAvKiBXZWJQcm9j
ZXNzVGVybWluYXRlLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0g
V2ViUHJvY2Vzc1Rlcm1pbmF0ZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzIw
Rjg4QTYyMjk1Qjk2NzAwRDYxMEZBIC8qIENvcmVUZXh0LmZyYW1ld29yayAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3b3JrOyBu
YW1lID0gQ29yZVRleHQuZnJhbWV3b3JrOyBwYXRoID0gU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jr
cy9Db3JlVGV4dC5mcmFtZXdvcms7IHNvdXJjZVRyZWUgPSBTREtST09UOyB9OwogCQlDMjJGQTMy
QTIyOEY4NzA4MDA5RDc5ODggLyogVGV4dFdpZHRoLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0g
VGV4dFdpZHRoLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjgxOCw2ICsyODIw
LDcgQEAKIAkJMEYxMzlFNzQxQTQyM0E0NjAwRjU5MEY1IC8qIGNvY29hICovID0gewogCQkJaXNh
ID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQlDMTY5MkRDOTIzRDEwREFFMDA2RTg4
RjcgLyogQmF0dGVyeS5tbSAqLywKIAkJCQkwRjEzOUU3NTFBNDIzQTUzMDBGNTkwRjUgLyogV2Vh
a09iakNQdHIubW0gKi8sCiAJCQkpOwogCQkJbmFtZSA9IGNvY29hOwpAQCAtNDU4MSw2ICs0NTg0
LDcgQEAKIAkJCQkwNzExREY1MjIyNkE5NUZDMDAzREQyRjcgLyogQVZGb3VuZGF0aW9uU29mdExp
bmtUZXN0Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFQjUxQTQxMUE3RTAwNDQ3QzRDIC8q
IEJhY2tGb3J3YXJkTGlzdC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTFDN0ZFQjIwMjA3QzBGMkUw
MEQyMzI3OCAvKiBCYWNrZ3JvdW5kQ29sb3IubW0gaW4gU291cmNlcyAqLywKKwkJCQlDMTY5MkRD
QTIzRDEwREFFMDA2RTg4RjcgLyogQmF0dGVyeS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTM3NEI3
QTYwMURGMzZFRUUwMEFDQ0I2QyAvKiBCdW5kbGVFZGl0aW5nRGVsZWdhdGUubW0gaW4gU291cmNl
cyAqLywKIAkJCQk3QTg5QkI2NzIzMzE2NDMyMDA0MkNCMUUgLyogQnVuZGxlRm9ybURlbGVnYXRl
Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQTEzRUJCQjExQjg3NDM4MDAwMDk3MTEwIC8qIEJ1bmRs
ZVBhcmFtZXRlcnMubW0gaW4gU291cmNlcyAqLywKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0L0JhdHRlcnkubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXQvQmF0dGVyeS5tbQkobm9uZXhpc3RlbnQpCisrKyBUb29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdC9CYXR0ZXJ5Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
NDggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBXS19IQVZFX0Nf
U1BJCisKKyNpbXBvcnQgIlBsYXRmb3JtVXRpbGl0aWVzLmgiCisjaW1wb3J0ICJUZXN0V0tXZWJW
aWV3LmgiCisjaW1wb3J0IDxXZWJDb3JlL0FWQXNzZXRUcmFja1V0aWxpdGllcy5oPgorCitURVNU
KFdlYktpdCwgU3lzdGVtSGFzQmF0dGVyeSkKK3sKKyAgICBhdXRvIGNvbmZpZ3VyYXRpb24gPSBh
ZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOworICAgIFdLUmV0
YWluUHRyPFdLQ29udGV4dFJlZj4gY29udGV4dCA9IGFkb3B0V0soVGVzdFdlYktpdEFQSTo6VXRp
bDo6Y3JlYXRlQ29udGV4dEZvckluamVjdGVkQnVuZGxlVGVzdCgiSW50ZXJuYWxzSW5qZWN0ZWRC
dW5kbGVUZXN0IikpOworICAgIGNvbmZpZ3VyYXRpb24uZ2V0KCkucHJvY2Vzc1Bvb2wgPSAoV0tQ
cm9jZXNzUG9vbCAqKWNvbnRleHQuZ2V0KCk7CisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhb
W1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCAzMDAs
IDMwMCkgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uLmdldCgpIGFkZFRvV2luZG93OllFU10p
OworCisgICAgYXV0byBoYXNCYXR0ZXJ5ID0gWyZdIHsKKyAgICAgICAgcmV0dXJuIFt3ZWJWaWV3
IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJ3aW5kb3cuaW50ZXJuYWxzLnN5c3RlbUhh
c0JhdHRlcnkoKSJdLmJvb2xWYWx1ZTsKKyAgICB9OworCisgICAgQVNTRVJUX1RSVUUoaGFzQmF0
dGVyeSgpID09IFdlYkNvcmU6OnN5c3RlbUhhc0JhdHRlcnkoKSk7Cit9CisKKyNlbmRpZiAvLyBX
S19IQVZFX0NfU1BJCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388070</attachid>
            <date>2020-01-17 11:25:49 -0800</date>
            <delta_ts>2020-01-17 17:06:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206373-20200117112548.patch</filename>
            <type>text/plain</type>
            <size>24601</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1NDc1NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBACisyMDIwLTAxLTE3ICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIEJyb2tlciBh
Y2Nlc3MgdG8gdGhlIFBvd2VyTWFuYWdlbWVudCBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjM3MworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIENvZGUgdG8gZGV0ZXJtaW5lIGlmIGRldmljZSBoYXMg
YmF0dGVyeSBzaG91bGQgYmUgZXhlY3V0ZWQgaW4gdGhlIFVJIHByb2Nlc3MuCisKKyAgICAgICAg
QVBJIHRlc3Q6IFdlYktpdC5TeXN0ZW1IYXNCYXR0ZXJ5CisKKyAgICAgICAgKiBXZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvUG93ZXJV
dGlscy5oOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9Qb3dlclV0aWxzLm1tOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OnNldFN5c3RlbUhhc0JhdHRlcnkpOgorICAgICAgICAo
V2ViQ29yZTo6c3lzdGVtSGFzQmF0dGVyeSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvQVZBc3NldFRyYWNrVXRpbGl0aWVzLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6c3lzdGVtSGFzQmF0dGVyeSk6IERlbGV0ZWQuCisgICAgICAgICogdGVzdGluZy9JbnRl
cm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpzeXN0ZW1IYXNCYXR0ZXJ5
IGNvbnN0KToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAgICAqIHRlc3Rp
bmcvSW50ZXJuYWxzLmlkbDoKKwogMjAyMC0wMS0xNyAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBh
cHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11bSUZDXSBVc2UgT3B0aW9uYWwgZm9yIHBhcnRpYWxM
ZWFkaW5nL1RyYWlsaW5nVGV4dEl0ZW0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDI1NDYyOSkKKysrIFNvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5
KQpAQCAtMzk3MSw2ICszOTcxLDggQEAKIAkJQzEwNURBNjQwRjNBQTZCODAwMURENDRGIC8qIFRl
eHRFbmNvZGluZ0RldGVjdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDMTA1REE2MzBGM0FBNkI4MDAxREQ0NEYgLyogVGV4dEVuY29kaW5nRGV0ZWN0
b3IuaCAqLzsgfTsKIAkJQzExQTlFQ0UyMTQwM0E1QzAwQ0ZCMjBBIC8qIFN3aXRjaGluZ0dQVUNs
aWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzEx
QTlFQ0QyMTQwM0E1QzAwQ0ZCMjBBIC8qIFN3aXRjaGluZ0dQVUNsaWVudC5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUMxNDkzODA3MjIzNDU1MUEw
MDBDRDcwNyAvKiBTcGVlY2hTeW50aGVzaXNDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMxNDkzODA1MjIzNDI3MTkwMDBDRDcwNyAvKiBTcGVl
Y2hTeW50aGVzaXNDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQlDMTY5MkREMjIzRDIzQUJEMDA2RTg4RjcgLyogUG93ZXJVdGlscy5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMxNjkyREQxMjNE
MjNBQkQwMDZFODhGNyAvKiBQb3dlclV0aWxzLm1tICovOyB9OworCQlDMTY5MkRENTIzRDIzRTA4
MDA2RTg4RjcgLyogUG93ZXJVdGlscy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQzE2OTJERDQyM0QyM0FFMDAwNkU4OEY3IC8qIFBvd2VyVXRpbHMuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDMUUxRDIz
NjIwM0RGMTU0MDA1ODQ2NjUgLyogU2NyZWVuUHJvcGVydGllcy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzFFMUQyMzUyMDNERjE1NDAwNTg0NjY1IC8q
IFNjcmVlblByb3BlcnRpZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQlDMjAxNUMwQTFCRTZGRUIyMDA4MjIzODkgLyogRm9udFZhcmlhbnRCdWls
ZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMjAx
NUMwOTFCRTZGRTJDMDA4MjIzODkgLyogRm9udFZhcmlhbnRCdWlsZGVyLmggKi87IH07CiAJCUMy
MURGMkVBMUQ5RTRFOTkwMEY1QjI0QyAvKiBDU1NGb250VmFyaWF0aW9uVmFsdWUuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyMURGMkU4MUQ5RTRFOTkw
MEY1QjI0QyAvKiBDU1NGb250VmFyaWF0aW9uVmFsdWUuaCAqLzsgfTsKQEAgLTEzNDk1LDYgKzEz
NDk3LDggQEAKIAkJQzExQTlFQ0QyMTQwM0E1QzAwQ0ZCMjBBIC8qIFN3aXRjaGluZ0dQVUNsaWVu
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBTd2l0Y2hpbmdHUFVDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQzExQTlFRDIyMTQwNTc4QjAwQ0ZCMjBBIC8qIFN3aXRjaGluZ0dQVUNs
aWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTd2l0Y2hpbmdHUFVDbGllbnQuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMTQ5MzgwNTIyMzQyNzE5MDAwQ0Q3MDcgLyogU3Bl
ZWNoU3ludGhlc2lzQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNwZWVjaFN5bnRoZXNpc0NsaWVu
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDMTY5MkREMTIzRDIzQUJEMDA2RTg4
RjcgLyogUG93ZXJVdGlscy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFBvd2VyVXRpbHMubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUMxNjkyREQ0MjNEMjNBRTAwMDZFODhGNyAv
KiBQb3dlclV0aWxzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBvd2VyVXRpbHMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQzFFMUQyMzUyMDNERjE1NDAwNTg0NjY1IC8qIFNjcmVlblByb3Bl
cnRpZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2NyZWVuUHJvcGVydGllcy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlDMjAxNUMwOTFCRTZGRTJDMDA4MjIzODkgLyogRm9udFZhcmlhbnRC
dWlsZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZvbnRWYXJpYW50QnVpbGRlci5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlDMjBGNEY2NDIxREZCRTVDMDA3MEM0NUEgLyogV0hMU0xUeXBl
UmVmZXJlbmNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdITFNMVHlwZVJlZmVyZW5jZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMzEwMCw2ICsyMzEwNCw4IEBACiAJCQkJ
Q0RBMjlBMEExQ0JEOUE3NDAwOTAxQ0NGIC8qIFBsYXliYWNrU2Vzc2lvbk1vZGVsLmggKi8sCiAJ
CQkJQ0RBMjlBMEQxQ0JEOUNGRTAwOTAxQ0NGIC8qIFBsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFF
bGVtZW50LmggKi8sCiAJCQkJQ0RBMjlBMEMxQ0JEOUNGRTAwOTAxQ0NGIC8qIFBsYXliYWNrU2Vz
c2lvbk1vZGVsTWVkaWFFbGVtZW50Lm1tICovLAorCQkJCUMxNjkyREQ0MjNEMjNBRTAwMDZFODhG
NyAvKiBQb3dlclV0aWxzLmggKi8sCisJCQkJQzE2OTJERDEyM0QyM0FCRDAwNkU4OEY3IC8qIFBv
d2VyVXRpbHMubW0gKi8sCiAJCQkJNDY1QThFNzgxQzhBMjRDRTAwRTdEM0U0IC8qIFJ1bnRpbWVB
cHBsaWNhdGlvbkNoZWNrc0NvY29hLm1tICovLAogCQkJCTFBQTg0RjAzMTQzQkE3QkQwMDUxRDE1
MyAvKiBTY3JvbGxDb250cm9sbGVyLmggKi8sCiAJCQkJMUFBODRGMDIxNDNCQTdCRDAwNTFEMTUz
IC8qIFNjcm9sbENvbnRyb2xsZXIubW0gKi8sCkBAIC0zMTg1Niw2ICszMTg2Miw3IEBACiAJCQkJ
OTc0NkFGMzIxNEY0RERFNjAwM0U3QTcwIC8qIFBvc2l0aW9uT3B0aW9ucy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNDY2MTcyRUMyM0EyQUMxRjAwM0FCMzA5IC8qIFBvc3RNZXNzYWdlT3B0aW9ucy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNDZEQkI2NTAxQUI4Qzk2RjAwRDlBODEzIC8qIFBvd2VyT2Jz
ZXJ2ZXJNYWMuaCBpbiBIZWFkZXJzICovLAorCQkJCUMxNjkyREQ1MjNEMjNFMDgwMDZFODhGNyAv
KiBQb3dlclV0aWxzLmggaW4gSGVhZGVycyAqLywKIAkJCQlDMEYyQTQ0MTEzODY5QUFCMDA2NkM1
MzQgLyogcHJlcHJvY2Vzc29yLnBtIGluIEhlYWRlcnMgKi8sCiAJCQkJQTFDMTUwN0ExRTNGMkIz
RTAwMzJDOThDIC8qIFByZXZpZXdDb252ZXJ0ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUExQURB
RjdEMjM2MEZEM0UwMDlDQjc3NiAvKiBQcmV2aWV3Q29udmVydGVyQ2xpZW50LmggaW4gSGVhZGVy
cyAqLywKQEAgLTMzNjk5LDYgKzMzNzA2LDcgQEAKIAkJCQlBQTEyREY0OTE3NDNERjgzMDA0REFG
REYgLyogUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplcklPUy5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CUNEQTI5QTMwMUNCRjc0RDQwMDkwMUNDRiAvKiBQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VBVktp
dC5tbSBpbiBTb3VyY2VzICovLAogCQkJCUNEQTI5QTE2MUNCREE1NkMwMDkwMUNDRiAvKiBQbGF5
YmFja1Nlc3Npb25JbnRlcmZhY2VNYWMubW0gaW4gU291cmNlcyAqLywKKwkJCQlDMTY5MkREMjIz
RDIzQUJEMDA2RTg4RjcgLyogUG93ZXJVdGlscy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTQxOTI0
MjQ5MjEyN0I5M0UwMDYzNEZDRiAvKiBSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VDb2NvYS5t
bSBpbiBTb3VyY2VzICovLAogCQkJCTVDMkIxQUVDMjIzOTdFQkMwMEI5MUNGNyAvKiBSZXNvdXJj
ZVJlc3BvbnNlQ29jb2EubW0gaW4gU291cmNlcyAqLywKIAkJCQlCQzUxMTU2RTEyQjE3NDlDMDBD
OTY3NTQgLyogU2Nyb2xsQW5pbWF0b3JNYWMubW0gaW4gU291cmNlcyAqLywKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Bvd2VyVXRpbHMuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9Qb3dlclV0aWxzLmgJKG5vbmV4aXN0ZW50KQorKysg
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUG93ZXJVdGlscy5oCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMzMgQEAKKy8qCisqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisqCisqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyogYXJlIG1l
dDoKKyogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisqCisqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorKi8KKworI3ByYWdtYSBvbmNlCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworV0VCQ09SRV9F
WFBPUlQgdm9pZCBzZXRTeXN0ZW1IYXNCYXR0ZXJ5KGJvb2wpOworV0VCQ09SRV9FWFBPUlQgYm9v
bCBzeXN0ZW1IYXNCYXR0ZXJ5KCk7CisKK30KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2NvY29hL1Bvd2VyVXRpbHMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vY29jb2EvUG93ZXJVdGlscy5tbQkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jb2NvYS9Qb3dlclV0aWxzLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNjAg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKyNpbXBvcnQgIlBvd2VyVXRpbHMu
aCIKKworI2ltcG9ydCA8cGFsL3NwaS9jb2NvYS9JT1BTTGliU1BJLmg+CisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworT3B0aW9uYWw8Ym9vbD4gaGFzQmF0dGVyeTsKKwordm9pZCBzZXRTeXN0ZW1I
YXNCYXR0ZXJ5KGJvb2wgYmF0dGVyeSkKK3sKKyAgICBoYXNCYXR0ZXJ5ID0gYmF0dGVyeTsKK30K
KworYm9vbCBzeXN0ZW1IYXNCYXR0ZXJ5KCkKK3sKKyAgICBpZiAoaGFzQmF0dGVyeS5oYXNWYWx1
ZSgpKQorICAgICAgICByZXR1cm4gKmhhc0JhdHRlcnk7CisKKyAgICBSZXRhaW5QdHI8Q0ZUeXBl
UmVmPiBwb3dlclNvdXJjZXNJbmZvID0gYWRvcHRDRihJT1BTQ29weVBvd2VyU291cmNlc0luZm8o
KSk7CisgICAgaWYgKCFwb3dlclNvdXJjZXNJbmZvKQorICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgUmV0YWluUHRyPENGQXJyYXlSZWY+IHBvd2VyU291cmNlc0xpc3QgPSBhZG9wdENGKElPUFND
b3B5UG93ZXJTb3VyY2VzTGlzdChwb3dlclNvdXJjZXNJbmZvLmdldCgpKSk7CisgICAgaWYgKCFw
b3dlclNvdXJjZXNMaXN0KQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgZm9yIChDRkluZGV4
IGkgPSAwLCBjb3VudCA9IENGQXJyYXlHZXRDb3VudChwb3dlclNvdXJjZXNMaXN0LmdldCgpKTsg
aSA8IGNvdW50OyArK2kpIHsKKyAgICAgICAgQ0ZEaWN0aW9uYXJ5UmVmIGRlc2NyaXB0aW9uID0g
SU9QU0dldFBvd2VyU291cmNlRGVzY3JpcHRpb24ocG93ZXJTb3VyY2VzSW5mby5nZXQoKSwgQ0ZB
cnJheUdldFZhbHVlQXRJbmRleChwb3dlclNvdXJjZXNMaXN0LmdldCgpLCBpKSk7CisgICAgICAg
IENGVHlwZVJlZiB2YWx1ZSA9IENGRGljdGlvbmFyeUdldFZhbHVlKGRlc2NyaXB0aW9uLCBDRlNU
UihrSU9QU1R5cGVLZXkpKTsKKyAgICAgICAgaWYgKCF2YWx1ZSB8fCBDRkVxdWFsKHZhbHVlLCBD
RlNUUihrSU9QU0ludGVybmFsQmF0dGVyeVR5cGUpKSkKKyAgICAgICAgICAgIHJldHVybiB0cnVl
OworICAgIH0KKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK30KSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0FWQXNzZXRUcmFja1V0aWxpdGll
cy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vb2JqYy9BVkFzc2V0VHJhY2tVdGlsaXRpZXMubW0JKHJldmlzaW9uIDI1NDYyOSkK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0FW
QXNzZXRUcmFja1V0aWxpdGllcy5tbQkod29ya2luZyBjb3B5KQpAQCAtMjksMzEgKzI5LDE0IEBA
CiAjaWYgRU5BQkxFKFZJREVPKSAmJiBVU0UoQVZGT1VOREFUSU9OKQogCiAjaW1wb3J0ICJGb3Vy
Q0MuaCIKKyNpbXBvcnQgIlBvd2VyVXRpbHMuaCIKKyNpbXBvcnQgIlZpZGVvVG9vbGJveFNvZnRM
aW5rLmgiCiAjaW1wb3J0IDxBVkZvdW5kYXRpb24vQVZBc3NldFRyYWNrLmg+Ci0jaW1wb3J0IDxw
YWwvc3BpL2NvY29hL0lPUFNMaWJTUEkuaD4KIAogI2ltcG9ydCA8cGFsL2NmL0NvcmVNZWRpYVNv
ZnRMaW5rLmg+Ci0jaW1wb3J0ICJWaWRlb1Rvb2xib3hTb2Z0TGluay5oIgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKLXN0YXRpYyBib29sIHN5c3RlbUhhc0JhdHRlcnkoKQotewotICAgIFJldGFp
blB0cjxDRlR5cGVSZWY+IHBvd2VyU291cmNlc0luZm8gPSBhZG9wdENGKElPUFNDb3B5UG93ZXJT
b3VyY2VzSW5mbygpKTsKLSAgICBpZiAoIXBvd2VyU291cmNlc0luZm8pCi0gICAgICAgIHJldHVy
biBmYWxzZTsKLSAgICBSZXRhaW5QdHI8Q0ZBcnJheVJlZj4gcG93ZXJTb3VyY2VzTGlzdCA9IGFk
b3B0Q0YoSU9QU0NvcHlQb3dlclNvdXJjZXNMaXN0KHBvd2VyU291cmNlc0luZm8uZ2V0KCkpKTsK
LSAgICBpZiAoIXBvd2VyU291cmNlc0xpc3QpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBm
b3IgKENGSW5kZXggaSA9IDAsIGNvdW50ID0gQ0ZBcnJheUdldENvdW50KHBvd2VyU291cmNlc0xp
c3QuZ2V0KCkpOyBpIDwgY291bnQ7ICsraSkgewotICAgICAgICBDRkRpY3Rpb25hcnlSZWYgZGVz
Y3JpcHRpb24gPSBJT1BTR2V0UG93ZXJTb3VyY2VEZXNjcmlwdGlvbihwb3dlclNvdXJjZXNJbmZv
LmdldCgpLCBDRkFycmF5R2V0VmFsdWVBdEluZGV4KHBvd2VyU291cmNlc0xpc3QuZ2V0KCksIGkp
KTsKLSAgICAgICAgQ0ZUeXBlUmVmIHZhbHVlID0gQ0ZEaWN0aW9uYXJ5R2V0VmFsdWUoZGVzY3Jp
cHRpb24sIENGU1RSKGtJT1BTVHlwZUtleSkpOwotICAgICAgICBpZiAoIXZhbHVlIHx8IENGRXF1
YWwodmFsdWUsIENGU1RSKGtJT1BTSW50ZXJuYWxCYXR0ZXJ5VHlwZSkpKQotICAgICAgICAgICAg
cmV0dXJuIHRydWU7Ci0gICAgfQotICAgIHJldHVybiBmYWxzZTsKLX0KLQogc3RhdGljIFZlY3Rv
cjxGb3VyQ0M+IGNvbnRlbnRUeXBlc1RvQ29kZWNzKGNvbnN0IFZlY3RvcjxDb250ZW50VHlwZT4m
IGNvbnRlbnRUeXBlcykKIHsKICAgICBWZWN0b3I8Rm91ckNDPiBjb2RlY3M7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCShyZXZpc2lvbiAyNTQ2MjkpCisrKyBTb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwOSw3ICsz
MDksOCBAQAogI2VuZGlmCiAKICNpZiBQTEFURk9STShDT0NPQSkKLSNpbXBvcnQgPHd0Zi9zcGkv
ZGFyd2luL1NhbmRib3hTUEkuaD4KKyNpbmNsdWRlICJQb3dlclV0aWxzLmgiCisjaW5jbHVkZSA8
d3RmL3NwaS9kYXJ3aW4vU2FuZGJveFNQSS5oPgogI2VuZGlmCiAKIHVzaW5nIEpTQzo6Q2FsbERh
dGE7CkBAIC01NDE4LDQgKzU0MTksMTMgQEAgU3RyaW5nIEludGVybmFsczo6c3lzdGVtQ29sb3JG
b3JDU1NWYWx1ZQogICAgIHJldHVybiBSZW5kZXJUaGVtZTo6c2luZ2xldG9uKCkuc3lzdGVtQ29s
b3IoaWQsIG9wdGlvbnMpLmNzc1RleHQoKTsKIH0KIAorYm9vbCBJbnRlcm5hbHM6OnN5c3RlbUhh
c0JhdHRlcnkoKSBjb25zdAoreworI2lmIFBMQVRGT1JNKENPQ09BKQorICAgIHJldHVybiBXZWJD
b3JlOjpzeXN0ZW1IYXNCYXR0ZXJ5KCk7CisjZWxzZQorICAgIHJldHVybiBmYWxzZTsKKyNlbmRp
ZgorfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmgJKHJldmlzaW9uIDI1NDYyOSkKKysrIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmgJKHdvcmtpbmcgY29weSkKQEAgLTkyNiw2ICs5MjYsOCBAQCBwdWJsaWM6CiAKICAg
ICBTdHJpbmcgc3lzdGVtQ29sb3JGb3JDU1NWYWx1ZShjb25zdCBTdHJpbmcmIGNzc1ZhbHVlLCBi
b29sIHVzZURhcmtNb2RlQXBwZWFyYW5jZSwgYm9vbCB1c2VFbGV2YXRlZFVzZXJJbnRlcmZhY2VM
ZXZlbCk7CiAKKyAgICBib29sIHN5c3RlbUhhc0JhdHRlcnkoKSBjb25zdDsKKwogcHJpdmF0ZToK
ICAgICBleHBsaWNpdCBJbnRlcm5hbHMoRG9jdW1lbnQmKTsKICAgICBEb2N1bWVudCogY29udGV4
dERvY3VtZW50KCkgY29uc3Q7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRs
CShyZXZpc2lvbiAyNTQ2MjkpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5p
ZGwJKHdvcmtpbmcgY29weSkKQEAgLTgzMyw0ICs4MzMsNiBAQCBlbnVtIENvbXBvc2l0aW5nUG9s
aWN5IHsKICAgICBib29sZWFuIGhhc1NhbmRib3hNYWNoTG9va3VwQWNjZXNzVG9YUENTZXJ2aWNl
TmFtZShET01TdHJpbmcgcHJvY2VzcywgRE9NU3RyaW5nIHNlcnZpY2UpOwogICAgIAogICAgIERP
TVN0cmluZyBzeXN0ZW1Db2xvckZvckNTU1ZhbHVlKERPTVN0cmluZyBjc3NWYWx1ZSwgYm9vbGVh
biB1c2VEYXJrTW9kZUFwcGVhcmFuY2UsIGJvb2xlYW4gdXNlRWxldmF0ZWRVc2VySW50ZXJmYWNl
TGV2ZWwpOworCisgICAgYm9vbGVhbiBzeXN0ZW1IYXNCYXR0ZXJ5KCk7CiB9OwpJbmRleDogU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cJKHJldmlzaW9uIDI1NDYyOSkKKysrIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMjAtMDEtMTcgIFBlciBBcm5lIFZvbGxhbiAgPHB2
b2xsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gQnJva2VyIGFjY2VzcyB0byB0aGUg
UG93ZXJNYW5hZ2VtZW50IEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjA2MzczCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zNDcyMjQ1MD4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTZW5kIGZsYWcg
aW5kaWNhdGluZyB3aGV0aGVyIGRldmljZSBoYXMgYmF0dGVyeSB0byB0aGUgV2ViQ29udGVudCBw
cm9jZXNzIGFzIHBhcnQgb2YgdGhlCisgICAgICAgIFdlYlByb2Nlc3MgY3JlYXRpb24gcGFyYW1l
dGVycy4KKworICAgICAgICAqIFNoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2Rl
IGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6
ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5o
OgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vz
cyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW06CisgICAg
ICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MpOgor
CiAyMDIwLTAxLTE1ICBEb24gT2xtc3RlYWQgIDxkb24ub2xtc3RlYWRAc29ueS5jb20+CiAKICAg
ICAgICAgU2hhcmUgV2ViSW5zcGVjdG9yIHN0dWJzIGZvciBwb3J0cyB3aXRob3V0IGxvY2FsIGlu
c3BlY3Rpb24KSW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCShyZXZpc2lvbiAyNTQ2MjkpCisrKyBTb3VyY2UvV2Vi
S2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMTY2LDYgKzE2Niw3IEBAIHZvaWQgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6
ZW5jb2QKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBlbmNvZGVyIDw8IG5lSGVscGVyRXh0ZW5z
aW9uSGFuZGxlOwogICAgIGVuY29kZXIgPDwgbmVTZXNzaW9uTWFuYWdlckV4dGVuc2lvbkhhbmRs
ZTsKKyAgICBlbmNvZGVyIDw8IHN5c3RlbUhhc0JhdHRlcnk7CiAjZW5kaWYKIAogI2lmIFBMQVRG
T1JNKElPU19GQU1JTFkpCkBAIC00MzMsNiArNDM0LDEyIEBAIGJvb2wgV2ViUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVyczo6ZGVjb2QKICAgICBpZiAoIW5lU2Vzc2lvbk1hbmFnZXJFeHRlbnNpb25I
YW5kbGUpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBwYXJhbWV0ZXJzLm5lU2Vzc2lvbk1h
bmFnZXJFeHRlbnNpb25IYW5kbGUgPSBXVEZNb3ZlKCpuZVNlc3Npb25NYW5hZ2VyRXh0ZW5zaW9u
SGFuZGxlKTsKKworICAgIE9wdGlvbmFsPGJvb2w+IHN5c3RlbUhhc0JhdHRlcnk7CisgICAgZGVj
b2RlciA+PiBzeXN0ZW1IYXNCYXR0ZXJ5OworICAgIGlmICghc3lzdGVtSGFzQmF0dGVyeSkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgIHBhcmFtZXRlcnMuc3lzdGVtSGFzQmF0dGVyeSA9IFdU
Rk1vdmUoKnN5c3RlbUhhc0JhdHRlcnkpOwogI2VuZGlmCiAKICNpZiBQTEFURk9STShJT1NfRkFN
SUxZKQpJbmRleDogU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVycy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnMuaAkocmV2aXNpb24gMjU0NjI5KQorKysgU291cmNlL1dlYktpdC9TaGFy
ZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMDgs
NiArMjA4LDcgQEAgc3RydWN0IFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMgewogI2lmIFBM
QVRGT1JNKENPQ09BKQogICAgIE9wdGlvbmFsPFNhbmRib3hFeHRlbnNpb246OkhhbmRsZT4gbmVI
ZWxwZXJFeHRlbnNpb25IYW5kbGU7CiAgICAgT3B0aW9uYWw8U2FuZGJveEV4dGVuc2lvbjo6SGFu
ZGxlPiBuZVNlc3Npb25NYW5hZ2VyRXh0ZW5zaW9uSGFuZGxlOworICAgIGJvb2wgc3lzdGVtSGFz
QmF0dGVyeTsKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5t
bQkocmV2aXNpb24gMjU0NjI5KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2Vi
UHJvY2Vzc1Bvb2xDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtODEsNiArODEsNyBAQCBTT0ZU
X0xJTktfQ0xBU1MoV2ViQ29udGVudEFuYWx5c2lzLCBXZWJGCiAjZW5kaWYKIAogI2lmIFBMQVRG
T1JNKENPQ09BKQorI2ltcG9ydCA8V2ViQ29yZS9Qb3dlclV0aWxzLmg+CiAjaW1wb3J0IDxwYWwv
c3BpL2NvY29hL05FRmlsdGVyU291cmNlU1BJLmg+CiAKIFNPRlRfTElOS19GUkFNRVdPUktfT1BU
SU9OQUwoTmV0d29ya0V4dGVuc2lvbik7CkBAIC0zNDMsNiArMzQ0LDcgQEAgdm9pZCBXZWJQcm9j
ZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplVwogI2VuZGlmCiAgICAgICAgIHBhcmFtZXRlcnMu
bmVTZXNzaW9uTWFuYWdlckV4dGVuc2lvbkhhbmRsZSA9IFdURk1vdmUoaGFuZGxlKTsKICAgICB9
CisgICAgcGFyYW1ldGVycy5zeXN0ZW1IYXNCYXR0ZXJ5ID0gc3lzdGVtSGFzQmF0dGVyeSgpOwog
I2VuZGlmCiAgICAgCiAjaWYgUExBVEZPUk0oSU9TKQpJbmRleDogU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCShyZXZpc2lvbiAyNTQ2Mjkp
CisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCSh3
b3JraW5nIGNvcHkpCkBAIC0xMjEsNiArMTIxLDcgQEAKIAogI2lmIFBMQVRGT1JNKENPQ09BKQog
I2ltcG9ydCA8V2ViQ29yZS9OZXR3b3JrRXh0ZW5zaW9uQ29udGVudEZpbHRlci5oPgorI2ltcG9y
dCA8V2ViQ29yZS9Qb3dlclV0aWxzLmg+CiAjZW5kaWYKIAogI2lmIEhBVkUoQ1NDSEVDS0ZJWERJ
U0FCTEUpCkBAIC0yNTgsNiArMjU5LDcgQEAgdm9pZCBXZWJQcm9jZXNzOjpwbGF0Zm9ybUluaXRp
YWxpemVXZWJQcgogICAgIGlmIChwYXJhbWV0ZXJzLm5lU2Vzc2lvbk1hbmFnZXJFeHRlbnNpb25I
YW5kbGUpCiAgICAgICAgIFNhbmRib3hFeHRlbnNpb246OmNvbnN1bWVQZXJtYW5lbnRseSgqcGFy
YW1ldGVycy5uZVNlc3Npb25NYW5hZ2VyRXh0ZW5zaW9uSGFuZGxlKTsKICAgICBOZXR3b3JrRXh0
ZW5zaW9uQ29udGVudEZpbHRlcjo6c2V0SGFzQ29uc3VtZWRTYW5kYm94RXh0ZW5zaW9ucyhwYXJh
bWV0ZXJzLm5lSGVscGVyRXh0ZW5zaW9uSGFuZGxlLmhhc1ZhbHVlKCkgJiYgcGFyYW1ldGVycy5u
ZVNlc3Npb25NYW5hZ2VyRXh0ZW5zaW9uSGFuZGxlLmhhc1ZhbHVlKCkpOworICAgIHNldFN5c3Rl
bUhhc0JhdHRlcnkocGFyYW1ldGVycy5zeXN0ZW1IYXNCYXR0ZXJ5KTsKICNlbmRpZgogCiAjaWYg
UExBVEZPUk0oSU9TX0ZBTUlMWSkKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1NDcwOCkKKysrIFRvb2xzL0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDIwLTAxLTE3ICBQZXIgQXJuZSBWb2xs
YW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIEJyb2tlciBhY2Nlc3Mg
dG8gdGhlIFBvd2VyTWFuYWdlbWVudCBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIwNjM3MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQv
QmF0dGVyeS5tbTogQWRkZWQuCisgICAgICAgIChURVNUKToKKwogMjAyMC0wMS0xNiAgWXVzdWtl
IFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAgIFtibWFsbG9jXSBJc29IZWFw
J3MgaW5pdGlhbCBzZXR1cCBzaG91bGQgYmUgc21hbGwKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCShyZXZpc2lvbiAyNTQ2MjkpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRB
UEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtODYwLDYgKzg2
MCw3IEBACiAJCUMwQURCRTk2MTJGQ0E3OUIwMEQyQzEyOSAvKiBzaW1wbGUtZm9ybS5odG1sIGlu
IENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMwQURC
RTg0MTJGQ0E2QjYwMEQyQzEyOSAvKiBzaW1wbGUtZm9ybS5odG1sICovOyB9OwogCQlDMEJENjY5
RjEzMUQzQ0ZGMDBFMThGMkEgLyogUmVzcG9uc2l2ZW5lc3NUaW1lckRvZXNudEZpcmVFYXJseV9C
dW5kbGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QzBCRDY2OUUxMzFEM0NGRjAwRTE4RjJBIC8qIFJlc3BvbnNpdmVuZXNzVGltZXJEb2VzbnRGaXJl
RWFybHlfQnVuZGxlLmNwcCAqLzsgfTsKIAkJQzBDNUQzQzYxNDU5OTEyOTAwQTgwMkE2IC8qIEdl
dEJhY2tpbmdTY2FsZUZhY3Rvcl9CdW5kbGUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDMEM1RDNCRDE0NTk4QjZGMDBBODAyQTYgLyogR2V0QmFja2lu
Z1NjYWxlRmFjdG9yX0J1bmRsZS5tbSAqLzsgfTsKKwkJQzE2OTJEQ0EyM0QxMERBRTAwNkU4OEY3
IC8qIEJhdHRlcnkubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDMTY5MkRDOTIzRDEwREFFMDA2RTg4RjcgLyogQmF0dGVyeS5tbSAqLzsgfTsKIAkJQzIw
Rjg4QTcyMjk1Qjk2NzAwRDYxMEZBIC8qIENvcmVUZXh0LmZyYW1ld29yayBpbiBGcmFtZXdvcmtz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyMEY4OEE2MjI5NUI5NjcwMEQ2
MTBGQSAvKiBDb3JlVGV4dC5mcmFtZXdvcmsgKi87IH07CiAJCUMyMkZBMzJCMjI4Rjg3MDgwMDlE
Nzk4OCAvKiBUZXh0V2lkdGgubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDMjJGQTMyQTIyOEY4NzA4MDA5RDc5ODggLyogVGV4dFdpZHRoLm1tICovOyB9
OwogCQlDMjJGQTMyRDIyOEY4QUVCMDA5RDc5ODggLyogVGV4dFdpZHRoLmh0bWwgaW4gQ29weSBS
ZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzIyRkEzMkMyMjhG
ODc3QTAwOUQ3OTg4IC8qIFRleHRXaWR0aC5odG1sICovOyB9OwpAQCAtMjM3OSw2ICsyMzgwLDcg
QEAKIAkJQzBCRDY2OUUxMzFEM0NGRjAwRTE4RjJBIC8qIFJlc3BvbnNpdmVuZXNzVGltZXJEb2Vz
bnRGaXJlRWFybHlfQnVuZGxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFJlc3BvbnNpdmVuZXNzVGltZXJEb2VzbnRGaXJlRWFybHlfQnVuZGxlLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzBDNUQzQkMxNDU5OEI2RjAwQTgwMkE2IC8qIEdldEJh
Y2tpbmdTY2FsZUZhY3Rvci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0
aCA9IEdldEJhY2tpbmdTY2FsZUZhY3Rvci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQzBDNUQzQkQxNDU5OEI2RjAwQTgwMkE2IC8qIEdldEJhY2tpbmdTY2FsZUZhY3Rvcl9CdW5k
bGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBHZXRCYWNraW5n
U2NhbGVGYWN0b3JfQnVuZGxlLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDMTY5
MkRDOTIzRDEwREFFMDA2RTg4RjcgLyogQmF0dGVyeS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9
IEJhdHRlcnkubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMxRDhFRTIxMjAyOEU4
RTMwMDhFQjE0MSAvKiBXZWJQcm9jZXNzVGVybWluYXRlLm1tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViUHJvY2Vzc1Rlcm1pbmF0ZS5tbTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQzIwRjg4QTYyMjk1Qjk2NzAwRDYxMEZBIC8qIENvcmVUZXh0LmZy
YW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHdyYXBwZXIuZnJhbWV3b3JrOyBuYW1lID0gQ29yZVRleHQuZnJhbWV3b3JrOyBwYXRoID0gU3lz
dGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlVGV4dC5mcmFtZXdvcms7IHNvdXJjZVRyZWUgPSBT
REtST09UOyB9OwogCQlDMjJGQTMyQTIyOEY4NzA4MDA5RDc5ODggLyogVGV4dFdpZHRoLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gVGV4dFdpZHRoLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtMjgxOCw2ICsyODIwLDcgQEAKIAkJMEYxMzlFNzQxQTQyM0E0NjAwRjU5MEY1IC8q
IGNvY29hICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQlD
MTY5MkRDOTIzRDEwREFFMDA2RTg4RjcgLyogQmF0dGVyeS5tbSAqLywKIAkJCQkwRjEzOUU3NTFB
NDIzQTUzMDBGNTkwRjUgLyogV2Vha09iakNQdHIubW0gKi8sCiAJCQkpOwogCQkJbmFtZSA9IGNv
Y29hOwpAQCAtNDU4MSw2ICs0NTg0LDcgQEAKIAkJCQkwNzExREY1MjIyNkE5NUZDMDAzREQyRjcg
LyogQVZGb3VuZGF0aW9uU29mdExpbmtUZXN0Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdF
QjUxQTQxMUE3RTAwNDQ3QzRDIC8qIEJhY2tGb3J3YXJkTGlzdC5tbSBpbiBTb3VyY2VzICovLAog
CQkJCTFDN0ZFQjIwMjA3QzBGMkUwMEQyMzI3OCAvKiBCYWNrZ3JvdW5kQ29sb3IubW0gaW4gU291
cmNlcyAqLywKKwkJCQlDMTY5MkRDQTIzRDEwREFFMDA2RTg4RjcgLyogQmF0dGVyeS5tbSBpbiBT
b3VyY2VzICovLAogCQkJCTM3NEI3QTYwMURGMzZFRUUwMEFDQ0I2QyAvKiBCdW5kbGVFZGl0aW5n
RGVsZWdhdGUubW0gaW4gU291cmNlcyAqLywKIAkJCQk3QTg5QkI2NzIzMzE2NDMyMDA0MkNCMUUg
LyogQnVuZGxlRm9ybURlbGVnYXRlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQTEzRUJCQjExQjg3
NDM4MDAwMDk3MTEwIC8qIEJ1bmRsZVBhcmFtZXRlcnMubW0gaW4gU291cmNlcyAqLywKSW5kZXg6
IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0JhdHRlcnkubW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvQmF0dGVyeS5tbQkobm9uZXhpc3Rl
bnQpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9CYXR0ZXJ5Lm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsNDggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmln
LmgiCisKKyNpZiBXS19IQVZFX0NfU1BJCisKKyNpbXBvcnQgIlBsYXRmb3JtVXRpbGl0aWVzLmgi
CisjaW1wb3J0ICJUZXN0V0tXZWJWaWV3LmgiCisjaW1wb3J0IDxXZWJDb3JlL0FWQXNzZXRUcmFj
a1V0aWxpdGllcy5oPgorCitURVNUKFdlYktpdCwgU3lzdGVtSGFzQmF0dGVyeSkKK3sKKyAgICBh
dXRvIGNvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxv
Y10gaW5pdF0pOworICAgIFdLUmV0YWluUHRyPFdLQ29udGV4dFJlZj4gY29udGV4dCA9IGFkb3B0
V0soVGVzdFdlYktpdEFQSTo6VXRpbDo6Y3JlYXRlQ29udGV4dEZvckluamVjdGVkQnVuZGxlVGVz
dCgiSW50ZXJuYWxzSW5qZWN0ZWRCdW5kbGVUZXN0IikpOworICAgIGNvbmZpZ3VyYXRpb24uZ2V0
KCkucHJvY2Vzc1Bvb2wgPSAoV0tQcm9jZXNzUG9vbCAqKWNvbnRleHQuZ2V0KCk7CisgICAgYXV0
byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6
TlNNYWtlUmVjdCgwLCAwLCAzMDAsIDMwMCkgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uLmdl
dCgpIGFkZFRvV2luZG93OllFU10pOworCisgICAgYXV0byBoYXNCYXR0ZXJ5ID0gWyZdIHsKKyAg
ICAgICAgcmV0dXJuIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJ3aW5k
b3cuaW50ZXJuYWxzLnN5c3RlbUhhc0JhdHRlcnkoKSJdLmJvb2xWYWx1ZTsKKyAgICB9OworCisg
ICAgQVNTRVJUX1RSVUUoaGFzQmF0dGVyeSgpID09IFdlYkNvcmU6OnN5c3RlbUhhc0JhdHRlcnko
KSk7Cit9CisKKyNlbmRpZiAvLyBXS19IQVZFX0NfU1BJCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388120</attachid>
            <date>2020-01-17 17:06:11 -0800</date>
            <delta_ts>2020-01-20 11:59:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206373-20200117170610.patch</filename>
            <type>text/plain</type>
            <size>24590</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1NDc1NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBACisyMDIwLTAxLTE3ICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIEJyb2tlciBh
Y2Nlc3MgdG8gdGhlIFBvd2VyTWFuYWdlbWVudCBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjM3MworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIENvZGUgdG8gZGV0ZXJtaW5lIGlmIGRldmljZSBoYXMg
YmF0dGVyeSBzaG91bGQgYmUgZXhlY3V0ZWQgaW4gdGhlIFVJIHByb2Nlc3MuCisKKyAgICAgICAg
QVBJIHRlc3Q6IFdlYktpdC5TeXN0ZW1IYXNCYXR0ZXJ5CisKKyAgICAgICAgKiBXZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvUG93ZXJV
dGlscy5oOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9Qb3dlclV0aWxzLm1tOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OnNldFN5c3RlbUhhc0JhdHRlcnkpOgorICAgICAgICAo
V2ViQ29yZTo6c3lzdGVtSGFzQmF0dGVyeSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvQVZBc3NldFRyYWNrVXRpbGl0aWVzLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6c3lzdGVtSGFzQmF0dGVyeSk6IERlbGV0ZWQuCisgICAgICAgICogdGVzdGluZy9JbnRl
cm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpzeXN0ZW1IYXNCYXR0ZXJ5
IGNvbnN0KToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAgICAqIHRlc3Rp
bmcvSW50ZXJuYWxzLmlkbDoKKwogMjAyMC0wMS0xNyAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBh
cHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11bSUZDXSBVc2UgT3B0aW9uYWwgZm9yIHBhcnRpYWxM
ZWFkaW5nL1RyYWlsaW5nVGV4dEl0ZW0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDI1NDYyOSkKKysrIFNvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5
KQpAQCAtMzk3MSw2ICszOTcxLDggQEAKIAkJQzEwNURBNjQwRjNBQTZCODAwMURENDRGIC8qIFRl
eHRFbmNvZGluZ0RldGVjdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDMTA1REE2MzBGM0FBNkI4MDAxREQ0NEYgLyogVGV4dEVuY29kaW5nRGV0ZWN0
b3IuaCAqLzsgfTsKIAkJQzExQTlFQ0UyMTQwM0E1QzAwQ0ZCMjBBIC8qIFN3aXRjaGluZ0dQVUNs
aWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzEx
QTlFQ0QyMTQwM0E1QzAwQ0ZCMjBBIC8qIFN3aXRjaGluZ0dQVUNsaWVudC5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUMxNDkzODA3MjIzNDU1MUEw
MDBDRDcwNyAvKiBTcGVlY2hTeW50aGVzaXNDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMxNDkzODA1MjIzNDI3MTkwMDBDRDcwNyAvKiBTcGVl
Y2hTeW50aGVzaXNDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQlDMTY5MkREMjIzRDIzQUJEMDA2RTg4RjcgLyogUG93ZXJVdGlscy5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMxNjkyREQxMjNE
MjNBQkQwMDZFODhGNyAvKiBQb3dlclV0aWxzLm1tICovOyB9OworCQlDMTY5MkRENTIzRDIzRTA4
MDA2RTg4RjcgLyogUG93ZXJVdGlscy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQzE2OTJERDQyM0QyM0FFMDAwNkU4OEY3IC8qIFBvd2VyVXRpbHMuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDMUUxRDIz
NjIwM0RGMTU0MDA1ODQ2NjUgLyogU2NyZWVuUHJvcGVydGllcy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzFFMUQyMzUyMDNERjE1NDAwNTg0NjY1IC8q
IFNjcmVlblByb3BlcnRpZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQlDMjAxNUMwQTFCRTZGRUIyMDA4MjIzODkgLyogRm9udFZhcmlhbnRCdWls
ZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMjAx
NUMwOTFCRTZGRTJDMDA4MjIzODkgLyogRm9udFZhcmlhbnRCdWlsZGVyLmggKi87IH07CiAJCUMy
MURGMkVBMUQ5RTRFOTkwMEY1QjI0QyAvKiBDU1NGb250VmFyaWF0aW9uVmFsdWUuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyMURGMkU4MUQ5RTRFOTkw
MEY1QjI0QyAvKiBDU1NGb250VmFyaWF0aW9uVmFsdWUuaCAqLzsgfTsKQEAgLTEzNDk1LDYgKzEz
NDk3LDggQEAKIAkJQzExQTlFQ0QyMTQwM0E1QzAwQ0ZCMjBBIC8qIFN3aXRjaGluZ0dQVUNsaWVu
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBTd2l0Y2hpbmdHUFVDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQzExQTlFRDIyMTQwNTc4QjAwQ0ZCMjBBIC8qIFN3aXRjaGluZ0dQVUNs
aWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTd2l0Y2hpbmdHUFVDbGllbnQuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMTQ5MzgwNTIyMzQyNzE5MDAwQ0Q3MDcgLyogU3Bl
ZWNoU3ludGhlc2lzQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNwZWVjaFN5bnRoZXNpc0NsaWVu
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDMTY5MkREMTIzRDIzQUJEMDA2RTg4
RjcgLyogUG93ZXJVdGlscy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFBvd2VyVXRpbHMubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUMxNjkyREQ0MjNEMjNBRTAwMDZFODhGNyAv
KiBQb3dlclV0aWxzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBvd2VyVXRpbHMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQzFFMUQyMzUyMDNERjE1NDAwNTg0NjY1IC8qIFNjcmVlblByb3Bl
cnRpZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2NyZWVuUHJvcGVydGllcy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlDMjAxNUMwOTFCRTZGRTJDMDA4MjIzODkgLyogRm9udFZhcmlhbnRC
dWlsZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZvbnRWYXJpYW50QnVpbGRlci5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlDMjBGNEY2NDIxREZCRTVDMDA3MEM0NUEgLyogV0hMU0xUeXBl
UmVmZXJlbmNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdITFNMVHlwZVJlZmVyZW5jZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMzEwMCw2ICsyMzEwNCw4IEBACiAJCQkJ
Q0RBMjlBMEExQ0JEOUE3NDAwOTAxQ0NGIC8qIFBsYXliYWNrU2Vzc2lvbk1vZGVsLmggKi8sCiAJ
CQkJQ0RBMjlBMEQxQ0JEOUNGRTAwOTAxQ0NGIC8qIFBsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFF
bGVtZW50LmggKi8sCiAJCQkJQ0RBMjlBMEMxQ0JEOUNGRTAwOTAxQ0NGIC8qIFBsYXliYWNrU2Vz
c2lvbk1vZGVsTWVkaWFFbGVtZW50Lm1tICovLAorCQkJCUMxNjkyREQ0MjNEMjNBRTAwMDZFODhG
NyAvKiBQb3dlclV0aWxzLmggKi8sCisJCQkJQzE2OTJERDEyM0QyM0FCRDAwNkU4OEY3IC8qIFBv
d2VyVXRpbHMubW0gKi8sCiAJCQkJNDY1QThFNzgxQzhBMjRDRTAwRTdEM0U0IC8qIFJ1bnRpbWVB
cHBsaWNhdGlvbkNoZWNrc0NvY29hLm1tICovLAogCQkJCTFBQTg0RjAzMTQzQkE3QkQwMDUxRDE1
MyAvKiBTY3JvbGxDb250cm9sbGVyLmggKi8sCiAJCQkJMUFBODRGMDIxNDNCQTdCRDAwNTFEMTUz
IC8qIFNjcm9sbENvbnRyb2xsZXIubW0gKi8sCkBAIC0zMTg1Niw2ICszMTg2Miw3IEBACiAJCQkJ
OTc0NkFGMzIxNEY0RERFNjAwM0U3QTcwIC8qIFBvc2l0aW9uT3B0aW9ucy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNDY2MTcyRUMyM0EyQUMxRjAwM0FCMzA5IC8qIFBvc3RNZXNzYWdlT3B0aW9ucy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNDZEQkI2NTAxQUI4Qzk2RjAwRDlBODEzIC8qIFBvd2VyT2Jz
ZXJ2ZXJNYWMuaCBpbiBIZWFkZXJzICovLAorCQkJCUMxNjkyREQ1MjNEMjNFMDgwMDZFODhGNyAv
KiBQb3dlclV0aWxzLmggaW4gSGVhZGVycyAqLywKIAkJCQlDMEYyQTQ0MTEzODY5QUFCMDA2NkM1
MzQgLyogcHJlcHJvY2Vzc29yLnBtIGluIEhlYWRlcnMgKi8sCiAJCQkJQTFDMTUwN0ExRTNGMkIz
RTAwMzJDOThDIC8qIFByZXZpZXdDb252ZXJ0ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUExQURB
RjdEMjM2MEZEM0UwMDlDQjc3NiAvKiBQcmV2aWV3Q29udmVydGVyQ2xpZW50LmggaW4gSGVhZGVy
cyAqLywKQEAgLTMzNjk5LDYgKzMzNzA2LDcgQEAKIAkJCQlBQTEyREY0OTE3NDNERjgzMDA0REFG
REYgLyogUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplcklPUy5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CUNEQTI5QTMwMUNCRjc0RDQwMDkwMUNDRiAvKiBQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VBVktp
dC5tbSBpbiBTb3VyY2VzICovLAogCQkJCUNEQTI5QTE2MUNCREE1NkMwMDkwMUNDRiAvKiBQbGF5
YmFja1Nlc3Npb25JbnRlcmZhY2VNYWMubW0gaW4gU291cmNlcyAqLywKKwkJCQlDMTY5MkREMjIz
RDIzQUJEMDA2RTg4RjcgLyogUG93ZXJVdGlscy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTQxOTI0
MjQ5MjEyN0I5M0UwMDYzNEZDRiAvKiBSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VDb2NvYS5t
bSBpbiBTb3VyY2VzICovLAogCQkJCTVDMkIxQUVDMjIzOTdFQkMwMEI5MUNGNyAvKiBSZXNvdXJj
ZVJlc3BvbnNlQ29jb2EubW0gaW4gU291cmNlcyAqLywKIAkJCQlCQzUxMTU2RTEyQjE3NDlDMDBD
OTY3NTQgLyogU2Nyb2xsQW5pbWF0b3JNYWMubW0gaW4gU291cmNlcyAqLywKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Bvd2VyVXRpbHMuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9Qb3dlclV0aWxzLmgJKG5vbmV4aXN0ZW50KQorKysg
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUG93ZXJVdGlscy5oCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMzMgQEAKKy8qCisqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisqCisqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyogYXJlIG1l
dDoKKyogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisqCisqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorKi8KKworI3ByYWdtYSBvbmNlCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworV0VCQ09SRV9F
WFBPUlQgdm9pZCBzZXRTeXN0ZW1IYXNCYXR0ZXJ5KGJvb2wpOworV0VCQ09SRV9FWFBPUlQgYm9v
bCBzeXN0ZW1IYXNCYXR0ZXJ5KCk7CisKK30KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2NvY29hL1Bvd2VyVXRpbHMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vY29jb2EvUG93ZXJVdGlscy5tbQkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jb2NvYS9Qb3dlclV0aWxzLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNjAg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKyNpbXBvcnQgIlBvd2VyVXRpbHMu
aCIKKworI2ltcG9ydCA8cGFsL3NwaS9jb2NvYS9JT1BTTGliU1BJLmg+CisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworT3B0aW9uYWw8Ym9vbD4gaGFzQmF0dGVyeTsKKwordm9pZCBzZXRTeXN0ZW1I
YXNCYXR0ZXJ5KGJvb2wgYmF0dGVyeSkKK3sKKyAgICBoYXNCYXR0ZXJ5ID0gYmF0dGVyeTsKK30K
KworYm9vbCBzeXN0ZW1IYXNCYXR0ZXJ5KCkKK3sKKyAgICBpZiAoaGFzQmF0dGVyeS5oYXNWYWx1
ZSgpKQorICAgICAgICByZXR1cm4gKmhhc0JhdHRlcnk7CisKKyAgICBSZXRhaW5QdHI8Q0ZUeXBl
UmVmPiBwb3dlclNvdXJjZXNJbmZvID0gYWRvcHRDRihJT1BTQ29weVBvd2VyU291cmNlc0luZm8o
KSk7CisgICAgaWYgKCFwb3dlclNvdXJjZXNJbmZvKQorICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgUmV0YWluUHRyPENGQXJyYXlSZWY+IHBvd2VyU291cmNlc0xpc3QgPSBhZG9wdENGKElPUFND
b3B5UG93ZXJTb3VyY2VzTGlzdChwb3dlclNvdXJjZXNJbmZvLmdldCgpKSk7CisgICAgaWYgKCFw
b3dlclNvdXJjZXNMaXN0KQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgZm9yIChDRkluZGV4
IGkgPSAwLCBjb3VudCA9IENGQXJyYXlHZXRDb3VudChwb3dlclNvdXJjZXNMaXN0LmdldCgpKTsg
aSA8IGNvdW50OyArK2kpIHsKKyAgICAgICAgQ0ZEaWN0aW9uYXJ5UmVmIGRlc2NyaXB0aW9uID0g
SU9QU0dldFBvd2VyU291cmNlRGVzY3JpcHRpb24ocG93ZXJTb3VyY2VzSW5mby5nZXQoKSwgQ0ZB
cnJheUdldFZhbHVlQXRJbmRleChwb3dlclNvdXJjZXNMaXN0LmdldCgpLCBpKSk7CisgICAgICAg
IENGVHlwZVJlZiB2YWx1ZSA9IENGRGljdGlvbmFyeUdldFZhbHVlKGRlc2NyaXB0aW9uLCBDRlNU
UihrSU9QU1R5cGVLZXkpKTsKKyAgICAgICAgaWYgKCF2YWx1ZSB8fCBDRkVxdWFsKHZhbHVlLCBD
RlNUUihrSU9QU0ludGVybmFsQmF0dGVyeVR5cGUpKSkKKyAgICAgICAgICAgIHJldHVybiB0cnVl
OworICAgIH0KKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK30KSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0FWQXNzZXRUcmFja1V0aWxpdGll
cy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vb2JqYy9BVkFzc2V0VHJhY2tVdGlsaXRpZXMubW0JKHJldmlzaW9uIDI1NDYyOSkK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0FW
QXNzZXRUcmFja1V0aWxpdGllcy5tbQkod29ya2luZyBjb3B5KQpAQCAtMjksMzEgKzI5LDE0IEBA
CiAjaWYgRU5BQkxFKFZJREVPKSAmJiBVU0UoQVZGT1VOREFUSU9OKQogCiAjaW1wb3J0ICJGb3Vy
Q0MuaCIKKyNpbXBvcnQgIlBvd2VyVXRpbHMuaCIKKyNpbXBvcnQgIlZpZGVvVG9vbGJveFNvZnRM
aW5rLmgiCiAjaW1wb3J0IDxBVkZvdW5kYXRpb24vQVZBc3NldFRyYWNrLmg+Ci0jaW1wb3J0IDxw
YWwvc3BpL2NvY29hL0lPUFNMaWJTUEkuaD4KIAogI2ltcG9ydCA8cGFsL2NmL0NvcmVNZWRpYVNv
ZnRMaW5rLmg+Ci0jaW1wb3J0ICJWaWRlb1Rvb2xib3hTb2Z0TGluay5oIgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKLXN0YXRpYyBib29sIHN5c3RlbUhhc0JhdHRlcnkoKQotewotICAgIFJldGFp
blB0cjxDRlR5cGVSZWY+IHBvd2VyU291cmNlc0luZm8gPSBhZG9wdENGKElPUFNDb3B5UG93ZXJT
b3VyY2VzSW5mbygpKTsKLSAgICBpZiAoIXBvd2VyU291cmNlc0luZm8pCi0gICAgICAgIHJldHVy
biBmYWxzZTsKLSAgICBSZXRhaW5QdHI8Q0ZBcnJheVJlZj4gcG93ZXJTb3VyY2VzTGlzdCA9IGFk
b3B0Q0YoSU9QU0NvcHlQb3dlclNvdXJjZXNMaXN0KHBvd2VyU291cmNlc0luZm8uZ2V0KCkpKTsK
LSAgICBpZiAoIXBvd2VyU291cmNlc0xpc3QpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBm
b3IgKENGSW5kZXggaSA9IDAsIGNvdW50ID0gQ0ZBcnJheUdldENvdW50KHBvd2VyU291cmNlc0xp
c3QuZ2V0KCkpOyBpIDwgY291bnQ7ICsraSkgewotICAgICAgICBDRkRpY3Rpb25hcnlSZWYgZGVz
Y3JpcHRpb24gPSBJT1BTR2V0UG93ZXJTb3VyY2VEZXNjcmlwdGlvbihwb3dlclNvdXJjZXNJbmZv
LmdldCgpLCBDRkFycmF5R2V0VmFsdWVBdEluZGV4KHBvd2VyU291cmNlc0xpc3QuZ2V0KCksIGkp
KTsKLSAgICAgICAgQ0ZUeXBlUmVmIHZhbHVlID0gQ0ZEaWN0aW9uYXJ5R2V0VmFsdWUoZGVzY3Jp
cHRpb24sIENGU1RSKGtJT1BTVHlwZUtleSkpOwotICAgICAgICBpZiAoIXZhbHVlIHx8IENGRXF1
YWwodmFsdWUsIENGU1RSKGtJT1BTSW50ZXJuYWxCYXR0ZXJ5VHlwZSkpKQotICAgICAgICAgICAg
cmV0dXJuIHRydWU7Ci0gICAgfQotICAgIHJldHVybiBmYWxzZTsKLX0KLQogc3RhdGljIFZlY3Rv
cjxGb3VyQ0M+IGNvbnRlbnRUeXBlc1RvQ29kZWNzKGNvbnN0IFZlY3RvcjxDb250ZW50VHlwZT4m
IGNvbnRlbnRUeXBlcykKIHsKICAgICBWZWN0b3I8Rm91ckNDPiBjb2RlY3M7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCShyZXZpc2lvbiAyNTQ2MjkpCisrKyBTb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwOSw3ICsz
MDksOCBAQAogI2VuZGlmCiAKICNpZiBQTEFURk9STShDT0NPQSkKLSNpbXBvcnQgPHd0Zi9zcGkv
ZGFyd2luL1NhbmRib3hTUEkuaD4KKyNpbmNsdWRlICJQb3dlclV0aWxzLmgiCisjaW5jbHVkZSA8
d3RmL3NwaS9kYXJ3aW4vU2FuZGJveFNQSS5oPgogI2VuZGlmCiAKIHVzaW5nIEpTQzo6Q2FsbERh
dGE7CkBAIC01NDE4LDQgKzU0MTksMTMgQEAgU3RyaW5nIEludGVybmFsczo6c3lzdGVtQ29sb3JG
b3JDU1NWYWx1ZQogICAgIHJldHVybiBSZW5kZXJUaGVtZTo6c2luZ2xldG9uKCkuc3lzdGVtQ29s
b3IoaWQsIG9wdGlvbnMpLmNzc1RleHQoKTsKIH0KIAorYm9vbCBJbnRlcm5hbHM6OnN5c3RlbUhh
c0JhdHRlcnkoKSBjb25zdAoreworI2lmIFBMQVRGT1JNKENPQ09BKQorICAgIHJldHVybiBXZWJD
b3JlOjpzeXN0ZW1IYXNCYXR0ZXJ5KCk7CisjZWxzZQorICAgIHJldHVybiBmYWxzZTsKKyNlbmRp
ZgorfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmgJKHJldmlzaW9uIDI1NDYyOSkKKysrIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmgJKHdvcmtpbmcgY29weSkKQEAgLTkyNiw2ICs5MjYsOCBAQCBwdWJsaWM6CiAKICAg
ICBTdHJpbmcgc3lzdGVtQ29sb3JGb3JDU1NWYWx1ZShjb25zdCBTdHJpbmcmIGNzc1ZhbHVlLCBi
b29sIHVzZURhcmtNb2RlQXBwZWFyYW5jZSwgYm9vbCB1c2VFbGV2YXRlZFVzZXJJbnRlcmZhY2VM
ZXZlbCk7CiAKKyAgICBib29sIHN5c3RlbUhhc0JhdHRlcnkoKSBjb25zdDsKKwogcHJpdmF0ZToK
ICAgICBleHBsaWNpdCBJbnRlcm5hbHMoRG9jdW1lbnQmKTsKICAgICBEb2N1bWVudCogY29udGV4
dERvY3VtZW50KCkgY29uc3Q7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRs
CShyZXZpc2lvbiAyNTQ2MjkpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5p
ZGwJKHdvcmtpbmcgY29weSkKQEAgLTgzMyw0ICs4MzMsNiBAQCBlbnVtIENvbXBvc2l0aW5nUG9s
aWN5IHsKICAgICBib29sZWFuIGhhc1NhbmRib3hNYWNoTG9va3VwQWNjZXNzVG9YUENTZXJ2aWNl
TmFtZShET01TdHJpbmcgcHJvY2VzcywgRE9NU3RyaW5nIHNlcnZpY2UpOwogICAgIAogICAgIERP
TVN0cmluZyBzeXN0ZW1Db2xvckZvckNTU1ZhbHVlKERPTVN0cmluZyBjc3NWYWx1ZSwgYm9vbGVh
biB1c2VEYXJrTW9kZUFwcGVhcmFuY2UsIGJvb2xlYW4gdXNlRWxldmF0ZWRVc2VySW50ZXJmYWNl
TGV2ZWwpOworCisgICAgYm9vbGVhbiBzeXN0ZW1IYXNCYXR0ZXJ5KCk7CiB9OwpJbmRleDogU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cJKHJldmlzaW9uIDI1NDYyOSkKKysrIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMjAtMDEtMTcgIFBlciBBcm5lIFZvbGxhbiAgPHB2
b2xsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gQnJva2VyIGFjY2VzcyB0byB0aGUg
UG93ZXJNYW5hZ2VtZW50IEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjA2MzczCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zNDcyMjQ1MD4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTZW5kIGZsYWcg
aW5kaWNhdGluZyB3aGV0aGVyIGRldmljZSBoYXMgYmF0dGVyeSB0byB0aGUgV2ViQ29udGVudCBw
cm9jZXNzIGFzIHBhcnQgb2YgdGhlCisgICAgICAgIFdlYlByb2Nlc3MgY3JlYXRpb24gcGFyYW1l
dGVycy4KKworICAgICAgICAqIFNoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2Rl
IGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6
ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5o
OgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vz
cyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW06CisgICAg
ICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MpOgor
CiAyMDIwLTAxLTE1ICBEb24gT2xtc3RlYWQgIDxkb24ub2xtc3RlYWRAc29ueS5jb20+CiAKICAg
ICAgICAgU2hhcmUgV2ViSW5zcGVjdG9yIHN0dWJzIGZvciBwb3J0cyB3aXRob3V0IGxvY2FsIGlu
c3BlY3Rpb24KSW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCShyZXZpc2lvbiAyNTQ2MjkpCisrKyBTb3VyY2UvV2Vi
S2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMTY2LDYgKzE2Niw3IEBAIHZvaWQgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6
ZW5jb2QKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBlbmNvZGVyIDw8IG5lSGVscGVyRXh0ZW5z
aW9uSGFuZGxlOwogICAgIGVuY29kZXIgPDwgbmVTZXNzaW9uTWFuYWdlckV4dGVuc2lvbkhhbmRs
ZTsKKyAgICBlbmNvZGVyIDw8IHN5c3RlbUhhc0JhdHRlcnk7CiAjZW5kaWYKIAogI2lmIFBMQVRG
T1JNKElPU19GQU1JTFkpCkBAIC00MzMsNiArNDM0LDEyIEBAIGJvb2wgV2ViUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVyczo6ZGVjb2QKICAgICBpZiAoIW5lU2Vzc2lvbk1hbmFnZXJFeHRlbnNpb25I
YW5kbGUpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBwYXJhbWV0ZXJzLm5lU2Vzc2lvbk1h
bmFnZXJFeHRlbnNpb25IYW5kbGUgPSBXVEZNb3ZlKCpuZVNlc3Npb25NYW5hZ2VyRXh0ZW5zaW9u
SGFuZGxlKTsKKworICAgIE9wdGlvbmFsPGJvb2w+IHN5c3RlbUhhc0JhdHRlcnk7CisgICAgZGVj
b2RlciA+PiBzeXN0ZW1IYXNCYXR0ZXJ5OworICAgIGlmICghc3lzdGVtSGFzQmF0dGVyeSkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgIHBhcmFtZXRlcnMuc3lzdGVtSGFzQmF0dGVyeSA9IFdU
Rk1vdmUoKnN5c3RlbUhhc0JhdHRlcnkpOwogI2VuZGlmCiAKICNpZiBQTEFURk9STShJT1NfRkFN
SUxZKQpJbmRleDogU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVycy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnMuaAkocmV2aXNpb24gMjU0NjI5KQorKysgU291cmNlL1dlYktpdC9TaGFy
ZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMDgs
NiArMjA4LDcgQEAgc3RydWN0IFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMgewogI2lmIFBM
QVRGT1JNKENPQ09BKQogICAgIE9wdGlvbmFsPFNhbmRib3hFeHRlbnNpb246OkhhbmRsZT4gbmVI
ZWxwZXJFeHRlbnNpb25IYW5kbGU7CiAgICAgT3B0aW9uYWw8U2FuZGJveEV4dGVuc2lvbjo6SGFu
ZGxlPiBuZVNlc3Npb25NYW5hZ2VyRXh0ZW5zaW9uSGFuZGxlOworICAgIGJvb2wgc3lzdGVtSGFz
QmF0dGVyeTsKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5t
bQkocmV2aXNpb24gMjU0NjI5KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2Vi
UHJvY2Vzc1Bvb2xDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtODEsNiArODEsNyBAQCBTT0ZU
X0xJTktfQ0xBU1MoV2ViQ29udGVudEFuYWx5c2lzLCBXZWJGCiAjZW5kaWYKIAogI2lmIFBMQVRG
T1JNKENPQ09BKQorI2ltcG9ydCA8V2ViQ29yZS9Qb3dlclV0aWxzLmg+CiAjaW1wb3J0IDxwYWwv
c3BpL2NvY29hL05FRmlsdGVyU291cmNlU1BJLmg+CiAKIFNPRlRfTElOS19GUkFNRVdPUktfT1BU
SU9OQUwoTmV0d29ya0V4dGVuc2lvbik7CkBAIC0zNDMsNiArMzQ0LDcgQEAgdm9pZCBXZWJQcm9j
ZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplVwogI2VuZGlmCiAgICAgICAgIHBhcmFtZXRlcnMu
bmVTZXNzaW9uTWFuYWdlckV4dGVuc2lvbkhhbmRsZSA9IFdURk1vdmUoaGFuZGxlKTsKICAgICB9
CisgICAgcGFyYW1ldGVycy5zeXN0ZW1IYXNCYXR0ZXJ5ID0gc3lzdGVtSGFzQmF0dGVyeSgpOwog
I2VuZGlmCiAgICAgCiAjaWYgUExBVEZPUk0oSU9TKQpJbmRleDogU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCShyZXZpc2lvbiAyNTQ2Mjkp
CisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCSh3
b3JraW5nIGNvcHkpCkBAIC0xMjEsNiArMTIxLDcgQEAKIAogI2lmIFBMQVRGT1JNKENPQ09BKQog
I2ltcG9ydCA8V2ViQ29yZS9OZXR3b3JrRXh0ZW5zaW9uQ29udGVudEZpbHRlci5oPgorI2ltcG9y
dCA8V2ViQ29yZS9Qb3dlclV0aWxzLmg+CiAjZW5kaWYKIAogI2lmIEhBVkUoQ1NDSEVDS0ZJWERJ
U0FCTEUpCkBAIC0yNTgsNiArMjU5LDcgQEAgdm9pZCBXZWJQcm9jZXNzOjpwbGF0Zm9ybUluaXRp
YWxpemVXZWJQcgogICAgIGlmIChwYXJhbWV0ZXJzLm5lU2Vzc2lvbk1hbmFnZXJFeHRlbnNpb25I
YW5kbGUpCiAgICAgICAgIFNhbmRib3hFeHRlbnNpb246OmNvbnN1bWVQZXJtYW5lbnRseSgqcGFy
YW1ldGVycy5uZVNlc3Npb25NYW5hZ2VyRXh0ZW5zaW9uSGFuZGxlKTsKICAgICBOZXR3b3JrRXh0
ZW5zaW9uQ29udGVudEZpbHRlcjo6c2V0SGFzQ29uc3VtZWRTYW5kYm94RXh0ZW5zaW9ucyhwYXJh
bWV0ZXJzLm5lSGVscGVyRXh0ZW5zaW9uSGFuZGxlLmhhc1ZhbHVlKCkgJiYgcGFyYW1ldGVycy5u
ZVNlc3Npb25NYW5hZ2VyRXh0ZW5zaW9uSGFuZGxlLmhhc1ZhbHVlKCkpOworICAgIHNldFN5c3Rl
bUhhc0JhdHRlcnkocGFyYW1ldGVycy5zeXN0ZW1IYXNCYXR0ZXJ5KTsKICNlbmRpZgogCiAjaWYg
UExBVEZPUk0oSU9TX0ZBTUlMWSkKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1NDcwOCkKKysrIFRvb2xzL0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDIwLTAxLTE3ICBQZXIgQXJuZSBWb2xs
YW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIEJyb2tlciBhY2Nlc3Mg
dG8gdGhlIFBvd2VyTWFuYWdlbWVudCBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIwNjM3MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQv
QmF0dGVyeS5tbTogQWRkZWQuCisgICAgICAgIChURVNUKToKKwogMjAyMC0wMS0xNiAgWXVzdWtl
IFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAgIFtibWFsbG9jXSBJc29IZWFw
J3MgaW5pdGlhbCBzZXR1cCBzaG91bGQgYmUgc21hbGwKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCShyZXZpc2lvbiAyNTQ2MjkpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRB
UEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtODYwLDYgKzg2
MCw3IEBACiAJCUMwQURCRTk2MTJGQ0E3OUIwMEQyQzEyOSAvKiBzaW1wbGUtZm9ybS5odG1sIGlu
IENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMwQURC
RTg0MTJGQ0E2QjYwMEQyQzEyOSAvKiBzaW1wbGUtZm9ybS5odG1sICovOyB9OwogCQlDMEJENjY5
RjEzMUQzQ0ZGMDBFMThGMkEgLyogUmVzcG9uc2l2ZW5lc3NUaW1lckRvZXNudEZpcmVFYXJseV9C
dW5kbGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QzBCRDY2OUUxMzFEM0NGRjAwRTE4RjJBIC8qIFJlc3BvbnNpdmVuZXNzVGltZXJEb2VzbnRGaXJl
RWFybHlfQnVuZGxlLmNwcCAqLzsgfTsKIAkJQzBDNUQzQzYxNDU5OTEyOTAwQTgwMkE2IC8qIEdl
dEJhY2tpbmdTY2FsZUZhY3Rvcl9CdW5kbGUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDMEM1RDNCRDE0NTk4QjZGMDBBODAyQTYgLyogR2V0QmFja2lu
Z1NjYWxlRmFjdG9yX0J1bmRsZS5tbSAqLzsgfTsKKwkJQzE2OTJEQ0EyM0QxMERBRTAwNkU4OEY3
IC8qIEJhdHRlcnkubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDMTY5MkRDOTIzRDEwREFFMDA2RTg4RjcgLyogQmF0dGVyeS5tbSAqLzsgfTsKIAkJQzIw
Rjg4QTcyMjk1Qjk2NzAwRDYxMEZBIC8qIENvcmVUZXh0LmZyYW1ld29yayBpbiBGcmFtZXdvcmtz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyMEY4OEE2MjI5NUI5NjcwMEQ2
MTBGQSAvKiBDb3JlVGV4dC5mcmFtZXdvcmsgKi87IH07CiAJCUMyMkZBMzJCMjI4Rjg3MDgwMDlE
Nzk4OCAvKiBUZXh0V2lkdGgubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDMjJGQTMyQTIyOEY4NzA4MDA5RDc5ODggLyogVGV4dFdpZHRoLm1tICovOyB9
OwogCQlDMjJGQTMyRDIyOEY4QUVCMDA5RDc5ODggLyogVGV4dFdpZHRoLmh0bWwgaW4gQ29weSBS
ZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzIyRkEzMkMyMjhG
ODc3QTAwOUQ3OTg4IC8qIFRleHRXaWR0aC5odG1sICovOyB9OwpAQCAtMjM3OSw2ICsyMzgwLDcg
QEAKIAkJQzBCRDY2OUUxMzFEM0NGRjAwRTE4RjJBIC8qIFJlc3BvbnNpdmVuZXNzVGltZXJEb2Vz
bnRGaXJlRWFybHlfQnVuZGxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFJlc3BvbnNpdmVuZXNzVGltZXJEb2VzbnRGaXJlRWFybHlfQnVuZGxlLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzBDNUQzQkMxNDU5OEI2RjAwQTgwMkE2IC8qIEdldEJh
Y2tpbmdTY2FsZUZhY3Rvci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0
aCA9IEdldEJhY2tpbmdTY2FsZUZhY3Rvci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQzBDNUQzQkQxNDU5OEI2RjAwQTgwMkE2IC8qIEdldEJhY2tpbmdTY2FsZUZhY3Rvcl9CdW5k
bGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBHZXRCYWNraW5n
U2NhbGVGYWN0b3JfQnVuZGxlLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDMTY5
MkRDOTIzRDEwREFFMDA2RTg4RjcgLyogQmF0dGVyeS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9
IEJhdHRlcnkubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMxRDhFRTIxMjAyOEU4
RTMwMDhFQjE0MSAvKiBXZWJQcm9jZXNzVGVybWluYXRlLm1tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViUHJvY2Vzc1Rlcm1pbmF0ZS5tbTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQzIwRjg4QTYyMjk1Qjk2NzAwRDYxMEZBIC8qIENvcmVUZXh0LmZy
YW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHdyYXBwZXIuZnJhbWV3b3JrOyBuYW1lID0gQ29yZVRleHQuZnJhbWV3b3JrOyBwYXRoID0gU3lz
dGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlVGV4dC5mcmFtZXdvcms7IHNvdXJjZVRyZWUgPSBT
REtST09UOyB9OwogCQlDMjJGQTMyQTIyOEY4NzA4MDA5RDc5ODggLyogVGV4dFdpZHRoLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gVGV4dFdpZHRoLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtMjgxOCw2ICsyODIwLDcgQEAKIAkJMEYxMzlFNzQxQTQyM0E0NjAwRjU5MEY1IC8q
IGNvY29hICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQlD
MTY5MkRDOTIzRDEwREFFMDA2RTg4RjcgLyogQmF0dGVyeS5tbSAqLywKIAkJCQkwRjEzOUU3NTFB
NDIzQTUzMDBGNTkwRjUgLyogV2Vha09iakNQdHIubW0gKi8sCiAJCQkpOwogCQkJbmFtZSA9IGNv
Y29hOwpAQCAtNDU4MSw2ICs0NTg0LDcgQEAKIAkJCQkwNzExREY1MjIyNkE5NUZDMDAzREQyRjcg
LyogQVZGb3VuZGF0aW9uU29mdExpbmtUZXN0Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdF
QjUxQTQxMUE3RTAwNDQ3QzRDIC8qIEJhY2tGb3J3YXJkTGlzdC5tbSBpbiBTb3VyY2VzICovLAog
CQkJCTFDN0ZFQjIwMjA3QzBGMkUwMEQyMzI3OCAvKiBCYWNrZ3JvdW5kQ29sb3IubW0gaW4gU291
cmNlcyAqLywKKwkJCQlDMTY5MkRDQTIzRDEwREFFMDA2RTg4RjcgLyogQmF0dGVyeS5tbSBpbiBT
b3VyY2VzICovLAogCQkJCTM3NEI3QTYwMURGMzZFRUUwMEFDQ0I2QyAvKiBCdW5kbGVFZGl0aW5n
RGVsZWdhdGUubW0gaW4gU291cmNlcyAqLywKIAkJCQk3QTg5QkI2NzIzMzE2NDMyMDA0MkNCMUUg
LyogQnVuZGxlRm9ybURlbGVnYXRlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQTEzRUJCQjExQjg3
NDM4MDAwMDk3MTEwIC8qIEJ1bmRsZVBhcmFtZXRlcnMubW0gaW4gU291cmNlcyAqLywKSW5kZXg6
IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0JhdHRlcnkubW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvQmF0dGVyeS5tbQkobm9uZXhpc3Rl
bnQpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9CYXR0ZXJ5Lm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsNDggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmln
LmgiCisKKyNpZiBXS19IQVZFX0NfU1BJCisKKyNpbXBvcnQgIlBsYXRmb3JtVXRpbGl0aWVzLmgi
CisjaW1wb3J0ICJUZXN0V0tXZWJWaWV3LmgiCisjaW1wb3J0IDxXZWJDb3JlL1Bvd2VyVXRpbHMu
aD4KKworVEVTVChXZWJLaXQsIFN5c3RlbUhhc0JhdHRlcnkpCit7CisgICAgYXV0byBjb25maWd1
cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsK
KyAgICBXS1JldGFpblB0cjxXS0NvbnRleHRSZWY+IGNvbnRleHQgPSBhZG9wdFdLKFRlc3RXZWJL
aXRBUEk6OlV0aWw6OmNyZWF0ZUNvbnRleHRGb3JJbmplY3RlZEJ1bmRsZVRlc3QoIkludGVybmFs
c0luamVjdGVkQnVuZGxlVGVzdCIpKTsKKyAgICBjb25maWd1cmF0aW9uLmdldCgpLnByb2Nlc3NQ
b29sID0gKFdLUHJvY2Vzc1Bvb2wgKiljb250ZXh0LmdldCgpOworICAgIGF1dG8gd2ViVmlldyA9
IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3Qo
MCwgMCwgMzAwLCAzMDApIGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbi5nZXQoKSBhZGRUb1dp
bmRvdzpZRVNdKTsKKworICAgIGF1dG8gaGFzQmF0dGVyeSA9IFsmXSB7CisgICAgICAgIHJldHVy
biBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAid2luZG93LmludGVybmFs
cy5zeXN0ZW1IYXNCYXR0ZXJ5KCkiXS5ib29sVmFsdWU7CisgICAgfTsKKworICAgIEFTU0VSVF9U
UlVFKGhhc0JhdHRlcnkoKSA9PSBXZWJDb3JlOjpzeXN0ZW1IYXNCYXR0ZXJ5KCkpOworfQorCisj
ZW5kaWYgLy8gV0tfSEFWRV9DX1NQSQo=
</data>
<flag name="review"
          id="403894"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388471</attachid>
            <date>2020-01-22 14:38:10 -0800</date>
            <delta_ts>2020-01-23 12:10:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206373-20200122143809.patch</filename>
            <type>text/plain</type>
            <size>24608</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1NDkzOSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBACisyMDIwLTAxLTIyICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIEJyb2tlciBh
Y2Nlc3MgdG8gdGhlIFBvd2VyTWFuYWdlbWVudCBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjM3MworCisgICAgICAgIFJldmlld2VkIGJ5IERh
cmluIEFkbGVyLgorCisgICAgICAgIENvZGUgdG8gZGV0ZXJtaW5lIGlmIGRldmljZSBoYXMgYmF0
dGVyeSBzaG91bGQgYmUgZXhlY3V0ZWQgaW4gdGhlIFVJIHByb2Nlc3MuCisKKyAgICAgICAgQVBJ
IHRlc3Q6IFdlYktpdC5TeXN0ZW1IYXNCYXR0ZXJ5CisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvU3lzdGVtQmF0
dGVyeS5oOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9TeXN0ZW1CYXR0ZXJ5Lm1t
OiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OnNldFN5c3RlbUhhc0JhdHRlcnkpOgorICAgICAg
ICAoV2ViQ29yZTo6c3lzdGVtSGFzQmF0dGVyeSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL29iamMvQVZBc3NldFRyYWNrVXRpbGl0aWVzLm1tOgorICAgICAgICAo
V2ViQ29yZTo6c3lzdGVtSGFzQmF0dGVyeSk6IERlbGV0ZWQuCisgICAgICAgICogdGVzdGluZy9J
bnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpzeXN0ZW1IYXNCYXR0
ZXJ5IGNvbnN0KToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAgICAqIHRl
c3RpbmcvSW50ZXJuYWxzLmlkbDoKKwogMjAyMC0wMS0yMiAgWmFsYW4gQnVqdGFzICA8emFsYW5A
YXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdIERvIG5vdCBjcmVhdGUgYSBGb3JtYXR0aW5nQ29u
dGV4dCB0byBjb21wdXRlIGludHJpbnNpYyB3aWR0aCB1bmxlc3MgdGhlcmUncyBzb21lIGNvbnRl
bnQuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCShyZXZpc2lvbiAyNTQ5MzkpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTM5NzksNiArMzk3OSw4
IEBACiAJCUMxMDVEQTY0MEYzQUE2QjgwMDFERDQ0RiAvKiBUZXh0RW5jb2RpbmdEZXRlY3Rvci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzEwNURBNjMw
RjNBQTZCODAwMURENDRGIC8qIFRleHRFbmNvZGluZ0RldGVjdG9yLmggKi87IH07CiAJCUMxMUE5
RUNFMjE0MDNBNUMwMENGQjIwQSAvKiBTd2l0Y2hpbmdHUFVDbGllbnQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMxMUE5RUNEMjE0MDNBNUMwMENGQjIw
QSAvKiBTd2l0Y2hpbmdHUFVDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQlDMTQ5MzgwNzIyMzQ1NTFBMDAwQ0Q3MDcgLyogU3BlZWNoU3lu
dGhlc2lzQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDMTQ5MzgwNTIyMzQyNzE5MDAwQ0Q3MDcgLyogU3BlZWNoU3ludGhlc2lzQ2xpZW50Lmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQzE2OTJE
RDIyM0QyM0FCRDAwNkU4OEY3IC8qIFN5c3RlbUJhdHRlcnkubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMTY5MkREMTIzRDIzQUJEMDA2RTg4RjcgLyog
U3lzdGVtQmF0dGVyeS5tbSAqLzsgfTsKKwkJQzE2OTJERDUyM0QyM0UwODAwNkU4OEY3IC8qIFN5
c3RlbUJhdHRlcnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEMxNjkyREQ0MjNEMjNBRTAwMDZFODhGNyAvKiBTeXN0ZW1CYXR0ZXJ5LmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQzFFMUQyMzYyMDNERjE1
NDAwNTg0NjY1IC8qIFNjcmVlblByb3BlcnRpZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMxRTFEMjM1MjAzREYxNTQwMDU4NDY2NSAvKiBTY3JlZW5Q
cm9wZXJ0aWVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJQzIwMTVDMEExQkU2RkVCMjAwODIyMzg5IC8qIEZvbnRWYXJpYW50QnVpbGRlci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzIwMTVDMDkxQkU2
RkUyQzAwODIyMzg5IC8qIEZvbnRWYXJpYW50QnVpbGRlci5oICovOyB9OwogCQlDMjFERjJFQTFE
OUU0RTk5MDBGNUIyNEMgLyogQ1NTRm9udFZhcmlhdGlvblZhbHVlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMjFERjJFODFEOUU0RTk5MDBGNUIyNEMg
LyogQ1NTRm9udFZhcmlhdGlvblZhbHVlLmggKi87IH07CkBAIC0xMzUxOSw2ICsxMzUyMSw4IEBA
CiAJCUMxMUE5RUNEMjE0MDNBNUMwMENGQjIwQSAvKiBTd2l0Y2hpbmdHUFVDbGllbnQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gU3dpdGNoaW5nR1BVQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUMxMUE5RUQyMjE0MDU3OEIwMENGQjIwQSAvKiBTd2l0Y2hpbmdHUFVDbGllbnQuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gU3dpdGNoaW5nR1BVQ2xpZW50LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQzE0OTM4MDUyMjM0MjcxOTAwMENENzA3IC8qIFNwZWVjaFN5bnRo
ZXNpc0NsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTcGVlY2hTeW50aGVzaXNDbGllbnQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzE2OTJERDEyM0QyM0FCRDAwNkU4OEY3IC8qIFN5
c3RlbUJhdHRlcnkubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTeXN0ZW1CYXR0ZXJ5Lm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDMTY5MkRENDIzRDIzQUUwMDA2RTg4RjcgLyog
U3lzdGVtQmF0dGVyeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTeXN0ZW1CYXR0ZXJ5Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMxRTFEMjM1MjAzREYxNTQwMDU4NDY2NSAvKiBTY3JlZW5Q
cm9wZXJ0aWVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcmVlblByb3BlcnRpZXMuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzIwMTVDMDkxQkU2RkUyQzAwODIyMzg5IC8qIEZvbnRWYXJp
YW50QnVpbGRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGb250VmFyaWFudEJ1aWxkZXIuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzIwRjRGNjQyMURGQkU1QzAwNzBDNDVBIC8qIFdITFNM
VHlwZVJlZmVyZW5jZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXSExTTFR5cGVSZWZlcmVuY2Uu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjMxNDgsNiArMjMxNTIsOCBAQAog
CQkJCTBFNzA1OEYzMUJDNUNDRDcwMDQ1QTUwNyAvKiBTZWFyY2hQb3B1cE1lbnVDb2NvYS5oICov
LAogCQkJCTBFNzA1OEVEMUJDNUJDMTkwMDQ1QTUwNyAvKiBTZWFyY2hQb3B1cE1lbnVDb2NvYS5t
bSAqLywKIAkJCQkxQTRBOTU1MTBCNEVEQ0ZGMDAyRDhDM0MgLyogU2hhcmVkQnVmZmVyQ29jb2Eu
bW0gKi8sCisJCQkJQzE2OTJERDQyM0QyM0FFMDAwNkU4OEY3IC8qIFN5c3RlbUJhdHRlcnkuaCAq
LywKKwkJCQlDMTY5MkREMTIzRDIzQUJEMDA2RTg4RjcgLyogU3lzdGVtQmF0dGVyeS5tbSAqLywK
IAkJCQk1RDU5NzVCMTE5NjM1RjExMDBEMDA4NzggLyogU3lzdGVtVmVyc2lvbi5oICovLAogCQkJ
CTVENTk3NUIyMTk2MzVGMTEwMEQwMDg3OCAvKiBTeXN0ZW1WZXJzaW9uLm1tICovLAogCQkJCTdD
QzU2NEI5MThCQUM3MjAwMDFCOTY1MiAvKiBUZWxlcGhvbmVOdW1iZXJEZXRlY3RvckNvY29hLmNw
cCAqLywKQEAgLTMyNzY1LDYgKzMyNzcxLDcgQEAKIAkJCQk1MTg1NDMwQjFGQjY3ODQ1MDA0NzhG
OTUgLyogU1dTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk1
MTdBNTM0NjFGNTBDMTdGMDBEQ0RDMEEgLyogU1dTZXJ2ZXJXb3JrZXIuaCBpbiBIZWFkZXJzICov
LAogCQkJCUUxODA4MTE3MTZGQ0Y5Q0IwMEI4MEQwNyAvKiBTeW5jaHJvbm91c0xvYWRlckNsaWVu
dC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQzE2OTJERDUyM0QyM0UwODAwNkU4OEY3IC8qIFN5c3Rl
bUJhdHRlcnkuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0RThCNEVDMjE2Qjc5RTUwMEI4ODM0RCAv
KiBTeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEYwM0Mw
NzQxODg0Njk1RTAwQTVGOENBIC8qIFN5c3RlbU1lbW9yeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NUQ1OTc1QjMxOTYzNUYxMTAwRDAwODc4IC8qIFN5c3RlbVZlcnNpb24uaCBpbiBIZWFkZXJzICov
LApAQCAtMzM3NzQsNiArMzM3ODEsNyBAQAogCQkJCTUzOEYxMEE4MUY5MDIyQTQwMDUxMDJDRSAv
KiBTb2Z0TGlua0xpYnhzbHQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0RDOEI1QUExODA0N0ZG
MTAwMTZFNjg1IC8qIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDLm1tIGluIFNvdXJjZXMgKi8s
CiAJCQkJQTgzM0M3Q0EwQTJDRjA2QjAwRDU3NjY0IC8qIFNWR05hbWVzLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCUMxNjkyREQyMjNEMjNBQkQwMDZFODhGNyAvKiBTeXN0ZW1CYXR0ZXJ5Lm1tIGlu
IFNvdXJjZXMgKi8sCiAJCQkJNkU3MkY1NEYyMjlEQ0QxMzAwQjNFMTUxIC8qIFRlbXBvcmFyeUFO
R0xFU2V0dGluZy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5NzU5RTkzRjE0RUYxQ0Y4MDAyNkEy
REQgLyogVGV4dFRyYWNrLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3NTlFOTQyMTRFRjFDRjgw
MDI2QTJERCAvKiBUZXh0VHJhY2tDdWUuY3BwIGluIFNvdXJjZXMgKi8sCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TeXN0ZW1CYXR0ZXJ5LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvU3lzdGVtQmF0dGVyeS5oCShub25leGlzdGVudCkK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1N5c3RlbUJhdHRlcnkuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDMzIEBACisvKgorKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorKgorKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisq
IGFyZSBtZXQ6CisqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorKgorKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyovCisKKyNwcmFnbWEgb25jZQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1dF
QkNPUkVfRVhQT1JUIHZvaWQgc2V0U3lzdGVtSGFzQmF0dGVyeShib29sKTsKK1dFQkNPUkVfRVhQ
T1JUIGJvb2wgc3lzdGVtSGFzQmF0dGVyeSgpOworCit9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jb2NvYS9TeXN0ZW1CYXR0ZXJ5Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2NvY29hL1N5c3RlbUJhdHRlcnkubW0JKG5vbmV4aXN0ZW50KQorKysgU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvU3lzdGVtQmF0dGVyeS5tbQkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDYwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisjaW1w
b3J0ICJTeXN0ZW1CYXR0ZXJ5LmgiCisKKyNpbXBvcnQgPHBhbC9zcGkvY29jb2EvSU9QU0xpYlNQ
SS5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0YXRpYyBPcHRpb25hbDxib29sPiBoYXNC
YXR0ZXJ5OworCit2b2lkIHNldFN5c3RlbUhhc0JhdHRlcnkoYm9vbCBiYXR0ZXJ5KQoreworICAg
IGhhc0JhdHRlcnkgPSBiYXR0ZXJ5OworfQorCitib29sIHN5c3RlbUhhc0JhdHRlcnkoKQorewor
ICAgIGlmIChoYXNCYXR0ZXJ5Lmhhc1ZhbHVlKCkpCisgICAgICAgIHJldHVybiAqaGFzQmF0dGVy
eTsKKworICAgIFJldGFpblB0cjxDRlR5cGVSZWY+IHBvd2VyU291cmNlc0luZm8gPSBhZG9wdENG
KElPUFNDb3B5UG93ZXJTb3VyY2VzSW5mbygpKTsKKyAgICBpZiAoIXBvd2VyU291cmNlc0luZm8p
CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBSZXRhaW5QdHI8Q0ZBcnJheVJlZj4gcG93ZXJT
b3VyY2VzTGlzdCA9IGFkb3B0Q0YoSU9QU0NvcHlQb3dlclNvdXJjZXNMaXN0KHBvd2VyU291cmNl
c0luZm8uZ2V0KCkpKTsKKyAgICBpZiAoIXBvd2VyU291cmNlc0xpc3QpCisgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICBmb3IgKENGSW5kZXggaSA9IDAsIGNvdW50ID0gQ0ZBcnJheUdldENvdW50
KHBvd2VyU291cmNlc0xpc3QuZ2V0KCkpOyBpIDwgY291bnQ7ICsraSkgeworICAgICAgICBDRkRp
Y3Rpb25hcnlSZWYgZGVzY3JpcHRpb24gPSBJT1BTR2V0UG93ZXJTb3VyY2VEZXNjcmlwdGlvbihw
b3dlclNvdXJjZXNJbmZvLmdldCgpLCBDRkFycmF5R2V0VmFsdWVBdEluZGV4KHBvd2VyU291cmNl
c0xpc3QuZ2V0KCksIGkpKTsKKyAgICAgICAgQ0ZUeXBlUmVmIHZhbHVlID0gQ0ZEaWN0aW9uYXJ5
R2V0VmFsdWUoZGVzY3JpcHRpb24sIENGU1RSKGtJT1BTVHlwZUtleSkpOworICAgICAgICBpZiAo
IXZhbHVlIHx8IENGRXF1YWwodmFsdWUsIENGU1RSKGtJT1BTSW50ZXJuYWxCYXR0ZXJ5VHlwZSkp
KQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIHJldHVybiBmYWxzZTsKK30K
KworfQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L29iamMvQVZBc3NldFRyYWNrVXRpbGl0aWVzLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0FWQXNzZXRUcmFja1V0aWxp
dGllcy5tbQkocmV2aXNpb24gMjU0OTM5KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvQVZBc3NldFRyYWNrVXRpbGl0aWVzLm1tCSh3b3JraW5n
IGNvcHkpCkBAIC0yOSwzMSArMjksMTQgQEAKICNpZiBFTkFCTEUoVklERU8pICYmIFVTRShBVkZP
VU5EQVRJT04pCiAKICNpbXBvcnQgIkZvdXJDQy5oIgorI2ltcG9ydCAiU3lzdGVtQmF0dGVyeS5o
IgorI2ltcG9ydCAiVmlkZW9Ub29sYm94U29mdExpbmsuaCIKICNpbXBvcnQgPEFWRm91bmRhdGlv
bi9BVkFzc2V0VHJhY2suaD4KLSNpbXBvcnQgPHBhbC9zcGkvY29jb2EvSU9QU0xpYlNQSS5oPgog
CiAjaW1wb3J0IDxwYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuaD4KLSNpbXBvcnQgIlZpZGVvVG9v
bGJveFNvZnRMaW5rLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGJvb2wgc3lz
dGVtSGFzQmF0dGVyeSgpCi17Ci0gICAgUmV0YWluUHRyPENGVHlwZVJlZj4gcG93ZXJTb3VyY2Vz
SW5mbyA9IGFkb3B0Q0YoSU9QU0NvcHlQb3dlclNvdXJjZXNJbmZvKCkpOwotICAgIGlmICghcG93
ZXJTb3VyY2VzSW5mbykKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIFJldGFpblB0cjxDRkFy
cmF5UmVmPiBwb3dlclNvdXJjZXNMaXN0ID0gYWRvcHRDRihJT1BTQ29weVBvd2VyU291cmNlc0xp
c3QocG93ZXJTb3VyY2VzSW5mby5nZXQoKSkpOwotICAgIGlmICghcG93ZXJTb3VyY2VzTGlzdCkK
LSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIGZvciAoQ0ZJbmRleCBpID0gMCwgY291bnQgPSBD
RkFycmF5R2V0Q291bnQocG93ZXJTb3VyY2VzTGlzdC5nZXQoKSk7IGkgPCBjb3VudDsgKytpKSB7
Ci0gICAgICAgIENGRGljdGlvbmFyeVJlZiBkZXNjcmlwdGlvbiA9IElPUFNHZXRQb3dlclNvdXJj
ZURlc2NyaXB0aW9uKHBvd2VyU291cmNlc0luZm8uZ2V0KCksIENGQXJyYXlHZXRWYWx1ZUF0SW5k
ZXgocG93ZXJTb3VyY2VzTGlzdC5nZXQoKSwgaSkpOwotICAgICAgICBDRlR5cGVSZWYgdmFsdWUg
PSBDRkRpY3Rpb25hcnlHZXRWYWx1ZShkZXNjcmlwdGlvbiwgQ0ZTVFIoa0lPUFNUeXBlS2V5KSk7
Ci0gICAgICAgIGlmICghdmFsdWUgfHwgQ0ZFcXVhbCh2YWx1ZSwgQ0ZTVFIoa0lPUFNJbnRlcm5h
bEJhdHRlcnlUeXBlKSkpCi0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gICAgcmV0
dXJuIGZhbHNlOwotfQotCiBzdGF0aWMgVmVjdG9yPEZvdXJDQz4gY29udGVudFR5cGVzVG9Db2Rl
Y3MoY29uc3QgVmVjdG9yPENvbnRlbnRUeXBlPiYgY29udGVudFR5cGVzKQogewogICAgIFZlY3Rv
cjxGb3VyQ0M+IGNvZGVjczsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAJ
KHJldmlzaW9uIDI1NDkzOSkKKysrIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMzA5LDcgKzMwOSw4IEBACiAjZW5kaWYKIAogI2lmIFBMQVRG
T1JNKENPQ09BKQotI2ltcG9ydCA8d3RmL3NwaS9kYXJ3aW4vU2FuZGJveFNQSS5oPgorI2luY2x1
ZGUgIlN5c3RlbUJhdHRlcnkuaCIKKyNpbmNsdWRlIDx3dGYvc3BpL2Rhcndpbi9TYW5kYm94U1BJ
Lmg+CiAjZW5kaWYKIAogdXNpbmcgSlNDOjpDYWxsRGF0YTsKQEAgLTU0MjYsNCArNTQyNywxMyBA
QCBTdHJpbmcgSW50ZXJuYWxzOjpzeXN0ZW1Db2xvckZvckNTU1ZhbHVlCiAgICAgcmV0dXJuIFJl
bmRlclRoZW1lOjpzaW5nbGV0b24oKS5zeXN0ZW1Db2xvcihpZCwgb3B0aW9ucykuY3NzVGV4dCgp
OwogfQogCitib29sIEludGVybmFsczo6c3lzdGVtSGFzQmF0dGVyeSgpIGNvbnN0Cit7CisjaWYg
UExBVEZPUk0oQ09DT0EpCisgICAgcmV0dXJuIFdlYkNvcmU6OnN5c3RlbUhhc0JhdHRlcnkoKTsK
KyNlbHNlCisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCit9CisKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAkocmV2aXNpb24gMjU0OTM5
KQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAkod29ya2luZyBjb3B5KQpA
QCAtOTI4LDYgKzkyOCw4IEBAIHB1YmxpYzoKIAogICAgIFN0cmluZyBzeXN0ZW1Db2xvckZvckNT
U1ZhbHVlKGNvbnN0IFN0cmluZyYgY3NzVmFsdWUsIGJvb2wgdXNlRGFya01vZGVBcHBlYXJhbmNl
LCBib29sIHVzZUVsZXZhdGVkVXNlckludGVyZmFjZUxldmVsKTsKIAorICAgIGJvb2wgc3lzdGVt
SGFzQmF0dGVyeSgpIGNvbnN0OworCiBwcml2YXRlOgogICAgIGV4cGxpY2l0IEludGVybmFscyhE
b2N1bWVudCYpOwogICAgIERvY3VtZW50KiBjb250ZXh0RG9jdW1lbnQoKSBjb25zdDsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwJKHJldmlzaW9uIDI1NDkzOSkKKysrIFNv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAkod29ya2luZyBjb3B5KQpAQCAtODM1
LDQgKzgzNSw2IEBAIGVudW0gQ29tcG9zaXRpbmdQb2xpY3kgewogICAgIGJvb2xlYW4gaGFzU2Fu
ZGJveE1hY2hMb29rdXBBY2Nlc3NUb1hQQ1NlcnZpY2VOYW1lKERPTVN0cmluZyBwcm9jZXNzLCBE
T01TdHJpbmcgc2VydmljZSk7CiAgICAgCiAgICAgRE9NU3RyaW5nIHN5c3RlbUNvbG9yRm9yQ1NT
VmFsdWUoRE9NU3RyaW5nIGNzc1ZhbHVlLCBib29sZWFuIHVzZURhcmtNb2RlQXBwZWFyYW5jZSwg
Ym9vbGVhbiB1c2VFbGV2YXRlZFVzZXJJbnRlcmZhY2VMZXZlbCk7CisKKyAgICBib29sZWFuIHN5
c3RlbUhhc0JhdHRlcnkoKTsKIH07CkluZGV4OiBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkocmV2aXNpb24gMjU0OTM5KQorKysg
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMyBAQAor
MjAyMC0wMS0yMiAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CisKKyAgICAg
ICAgW0NvY29hXSBCcm9rZXIgYWNjZXNzIHRvIHRoZSBQb3dlck1hbmFnZW1lbnQgQVBJCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDYzNzMKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzM0NzIyNDUwPgorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmlu
IEFkbGVyLgorCisgICAgICAgIFNlbmQgZmxhZyBpbmRpY2F0aW5nIHdoZXRoZXIgZGV2aWNlIGhh
cyBiYXR0ZXJ5IHRvIHRoZSBXZWJDb250ZW50IHByb2Nlc3MgYXMgcGFydCBvZiB0aGUKKyAgICAg
ICAgV2ViUHJvY2VzcyBjcmVhdGlvbiBwYXJhbWV0ZXJzLgorCisgICAgICAgICogU2hhcmVkL1dl
YlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9X
ZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29h
L1dlYlByb2Nlc3NQb29sQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29s
OjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL2Nv
Y29hL1dlYlByb2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6cGxh
dGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vzcyk6CisKIDIwMjAtMDEtMjIgIEtlaXRoIFJvbGxpbiAg
PGtyb2xsaW5AYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCBTREsgYXZhaWxhYmlsaXR5IG1hY3Jv
cwpJbmRleDogU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVycy5jcHAJKHJldmlzaW9uIDI1NDkzOSkKKysrIFNvdXJjZS9XZWJLaXQvU2hh
cmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
NjYsNiArMTY2LDcgQEAgdm9pZCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZAog
I2lmIFBMQVRGT1JNKENPQ09BKQogICAgIGVuY29kZXIgPDwgbmVIZWxwZXJFeHRlbnNpb25IYW5k
bGU7CiAgICAgZW5jb2RlciA8PCBuZVNlc3Npb25NYW5hZ2VyRXh0ZW5zaW9uSGFuZGxlOworICAg
IGVuY29kZXIgPDwgc3lzdGVtSGFzQmF0dGVyeTsKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oSU9T
X0ZBTUlMWSkKQEAgLTQzMyw2ICs0MzQsMTIgQEAgYm9vbCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzOjpkZWNvZAogICAgIGlmICghbmVTZXNzaW9uTWFuYWdlckV4dGVuc2lvbkhhbmRsZSkK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIHBhcmFtZXRlcnMubmVTZXNzaW9uTWFuYWdlckV4
dGVuc2lvbkhhbmRsZSA9IFdURk1vdmUoKm5lU2Vzc2lvbk1hbmFnZXJFeHRlbnNpb25IYW5kbGUp
OworCisgICAgT3B0aW9uYWw8Ym9vbD4gc3lzdGVtSGFzQmF0dGVyeTsKKyAgICBkZWNvZGVyID4+
IHN5c3RlbUhhc0JhdHRlcnk7CisgICAgaWYgKCFzeXN0ZW1IYXNCYXR0ZXJ5KQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgcGFyYW1ldGVycy5zeXN0ZW1IYXNCYXR0ZXJ5ID0gV1RGTW92ZSgq
c3lzdGVtSGFzQmF0dGVyeSk7CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCklu
ZGV4OiBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVycy5oCShyZXZpc2lvbiAyNTQ5MzkpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQ
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgJKHdvcmtpbmcgY29weSkKQEAgLTIwOCw2ICsyMDgs
NyBAQCBzdHJ1Y3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyB7CiAjaWYgUExBVEZPUk0o
Q09DT0EpCiAgICAgT3B0aW9uYWw8U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlPiBuZUhlbHBlckV4
dGVuc2lvbkhhbmRsZTsKICAgICBPcHRpb25hbDxTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGU+IG5l
U2Vzc2lvbk1hbmFnZXJFeHRlbnNpb25IYW5kbGU7CisgICAgYm9vbCBzeXN0ZW1IYXNCYXR0ZXJ5
IHsgZmFsc2UgfTsKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2Nv
YS5tbQkocmV2aXNpb24gMjU0OTM5KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
V2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtODEsNiArODEsNyBAQCBT
T0ZUX0xJTktfQ0xBU1MoV2ViQ29udGVudEFuYWx5c2lzLCBXZWJGCiAjZW5kaWYKIAogI2lmIFBM
QVRGT1JNKENPQ09BKQorI2ltcG9ydCA8V2ViQ29yZS9TeXN0ZW1CYXR0ZXJ5Lmg+CiAjaW1wb3J0
IDxwYWwvc3BpL2NvY29hL05FRmlsdGVyU291cmNlU1BJLmg+CiAKIFNPRlRfTElOS19GUkFNRVdP
UktfT1BUSU9OQUwoTmV0d29ya0V4dGVuc2lvbik7CkBAIC0zNDMsNiArMzQ0LDcgQEAgdm9pZCBX
ZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplVwogI2VuZGlmCiAgICAgICAgIHBhcmFt
ZXRlcnMubmVTZXNzaW9uTWFuYWdlckV4dGVuc2lvbkhhbmRsZSA9IFdURk1vdmUoaGFuZGxlKTsK
ICAgICB9CisgICAgcGFyYW1ldGVycy5zeXN0ZW1IYXNCYXR0ZXJ5ID0gc3lzdGVtSGFzQmF0dGVy
eSgpOwogI2VuZGlmCiAgICAgCiAjaWYgUExBVEZPUk0oSU9TKQpJbmRleDogU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCShyZXZpc2lvbiAy
NTQ5MzkpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29h
Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xMjEsNiArMTIxLDcgQEAKIAogI2lmIFBMQVRGT1JNKENP
Q09BKQogI2ltcG9ydCA8V2ViQ29yZS9OZXR3b3JrRXh0ZW5zaW9uQ29udGVudEZpbHRlci5oPgor
I2ltcG9ydCA8V2ViQ29yZS9TeXN0ZW1CYXR0ZXJ5Lmg+CiAjZW5kaWYKIAogI2lmIEhBVkUoQ1ND
SEVDS0ZJWERJU0FCTEUpCkBAIC0yNTgsNiArMjU5LDcgQEAgdm9pZCBXZWJQcm9jZXNzOjpwbGF0
Zm9ybUluaXRpYWxpemVXZWJQcgogICAgIGlmIChwYXJhbWV0ZXJzLm5lU2Vzc2lvbk1hbmFnZXJF
eHRlbnNpb25IYW5kbGUpCiAgICAgICAgIFNhbmRib3hFeHRlbnNpb246OmNvbnN1bWVQZXJtYW5l
bnRseSgqcGFyYW1ldGVycy5uZVNlc3Npb25NYW5hZ2VyRXh0ZW5zaW9uSGFuZGxlKTsKICAgICBO
ZXR3b3JrRXh0ZW5zaW9uQ29udGVudEZpbHRlcjo6c2V0SGFzQ29uc3VtZWRTYW5kYm94RXh0ZW5z
aW9ucyhwYXJhbWV0ZXJzLm5lSGVscGVyRXh0ZW5zaW9uSGFuZGxlLmhhc1ZhbHVlKCkgJiYgcGFy
YW1ldGVycy5uZVNlc3Npb25NYW5hZ2VyRXh0ZW5zaW9uSGFuZGxlLmhhc1ZhbHVlKCkpOworICAg
IHNldFN5c3RlbUhhc0JhdHRlcnkocGFyYW1ldGVycy5zeXN0ZW1IYXNCYXR0ZXJ5KTsKICNlbmRp
ZgogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1NDkzOSkKKysrIFRvb2xzL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDIwLTAxLTIyICBQZXIg
QXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIEJyb2tl
ciBhY2Nlc3MgdG8gdGhlIFBvd2VyTWFuYWdlbWVudCBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjM3MworCisgICAgICAgIFJldmlld2VkIGJ5
IERhcmluIEFkbGVyLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXQvQmF0dGVyeS5tbTogQWRkZWQuCisgICAgICAgIChURVNUKToKKwogMjAyMC0wMS0yMiAg
Sm9uYXRoYW4gQmVkYXJkICA8amJlZGFyZEBhcHBsZS5jb20+CiAKICAgICAgICAgd2Via2l0cHk6
IE1ha2UgbG9nZ2luZyBkdXJpbmcgSW1hZ2VEaWZmIGNyYXNoZXMgYWNjdXJhdGUKSW5kZXg6IFRv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyNTQ5MzkpCisrKyBUb29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5
KQpAQCAtODYyLDYgKzg2Miw3IEBACiAJCUMwQURCRTk2MTJGQ0E3OUIwMEQyQzEyOSAvKiBzaW1w
bGUtZm9ybS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEMwQURCRTg0MTJGQ0E2QjYwMEQyQzEyOSAvKiBzaW1wbGUtZm9ybS5odG1sICov
OyB9OwogCQlDMEJENjY5RjEzMUQzQ0ZGMDBFMThGMkEgLyogUmVzcG9uc2l2ZW5lc3NUaW1lckRv
ZXNudEZpcmVFYXJseV9CdW5kbGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQzBCRDY2OUUxMzFEM0NGRjAwRTE4RjJBIC8qIFJlc3BvbnNpdmVuZXNz
VGltZXJEb2VzbnRGaXJlRWFybHlfQnVuZGxlLmNwcCAqLzsgfTsKIAkJQzBDNUQzQzYxNDU5OTEy
OTAwQTgwMkE2IC8qIEdldEJhY2tpbmdTY2FsZUZhY3Rvcl9CdW5kbGUubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMEM1RDNCRDE0NTk4QjZGMDBBODAy
QTYgLyogR2V0QmFja2luZ1NjYWxlRmFjdG9yX0J1bmRsZS5tbSAqLzsgfTsKKwkJQzE2OTJEQ0Ey
M0QxMERBRTAwNkU4OEY3IC8qIEJhdHRlcnkubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDMTY5MkRDOTIzRDEwREFFMDA2RTg4RjcgLyogQmF0dGVyeS5t
bSAqLzsgfTsKIAkJQzIwRjg4QTcyMjk1Qjk2NzAwRDYxMEZBIC8qIENvcmVUZXh0LmZyYW1ld29y
ayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyMEY4
OEE2MjI5NUI5NjcwMEQ2MTBGQSAvKiBDb3JlVGV4dC5mcmFtZXdvcmsgKi87IH07CiAJCUMyMkZB
MzJCMjI4Rjg3MDgwMDlENzk4OCAvKiBUZXh0V2lkdGgubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMjJGQTMyQTIyOEY4NzA4MDA5RDc5ODggLyogVGV4
dFdpZHRoLm1tICovOyB9OwogCQlDMjJGQTMyRDIyOEY4QUVCMDA5RDc5ODggLyogVGV4dFdpZHRo
Lmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQzIyRkEzMkMyMjhGODc3QTAwOUQ3OTg4IC8qIFRleHRXaWR0aC5odG1sICovOyB9OwpAQCAt
MjM4NCw2ICsyMzg1LDcgQEAKIAkJQzBCRDY2OUUxMzFEM0NGRjAwRTE4RjJBIC8qIFJlc3BvbnNp
dmVuZXNzVGltZXJEb2VzbnRGaXJlRWFybHlfQnVuZGxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFJlc3BvbnNpdmVuZXNzVGltZXJEb2VzbnRGaXJlRWFybHlfQnVu
ZGxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzBDNUQzQkMxNDU5OEI2RjAw
QTgwMkE2IC8qIEdldEJhY2tpbmdTY2FsZUZhY3Rvci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgcGF0aCA9IEdldEJhY2tpbmdTY2FsZUZhY3Rvci5tbTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQzBDNUQzQkQxNDU5OEI2RjAwQTgwMkE2IC8qIEdldEJhY2tpbmdT
Y2FsZUZhY3Rvcl9CdW5kbGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBHZXRCYWNraW5nU2NhbGVGYWN0b3JfQnVuZGxlLm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlDMTY5MkRDOTIzRDEwREFFMDA2RTg4RjcgLyogQmF0dGVyeS5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IEJhdHRlcnkubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUMxRDhFRTIxMjAyOEU4RTMwMDhFQjE0MSAvKiBXZWJQcm9jZXNzVGVybWluYXRlLm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViUHJvY2Vzc1Rlcm1pbmF0ZS5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzIwRjg4QTYyMjk1Qjk2NzAwRDYxMEZB
IC8qIENvcmVUZXh0LmZyYW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3b3JrOyBuYW1lID0gQ29yZVRleHQuZnJhbWV3
b3JrOyBwYXRoID0gU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlVGV4dC5mcmFtZXdvcms7
IHNvdXJjZVRyZWUgPSBTREtST09UOyB9OwogCQlDMjJGQTMyQTIyOEY4NzA4MDA5RDc5ODggLyog
VGV4dFdpZHRoLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gVGV4dFdpZHRoLm1tOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjgyMyw2ICsyODI1LDcgQEAKIAkJMEYxMzlFNzQxQTQy
M0E0NjAwRjU5MEY1IC8qIGNvY29hICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGls
ZHJlbiA9ICgKKwkJCQlDMTY5MkRDOTIzRDEwREFFMDA2RTg4RjcgLyogQmF0dGVyeS5tbSAqLywK
IAkJCQkwRjEzOUU3NTFBNDIzQTUzMDBGNTkwRjUgLyogV2Vha09iakNQdHIubW0gKi8sCiAJCQkp
OwogCQkJbmFtZSA9IGNvY29hOwpAQCAtNDU4OCw2ICs0NTkxLDcgQEAKIAkJCQkwNzExREY1MjIy
NkE5NUZDMDAzREQyRjcgLyogQVZGb3VuZGF0aW9uU29mdExpbmtUZXN0Lm1tIGluIFNvdXJjZXMg
Ki8sCiAJCQkJN0NDRTdFQjUxQTQxMUE3RTAwNDQ3QzRDIC8qIEJhY2tGb3J3YXJkTGlzdC5tbSBp
biBTb3VyY2VzICovLAogCQkJCTFDN0ZFQjIwMjA3QzBGMkUwMEQyMzI3OCAvKiBCYWNrZ3JvdW5k
Q29sb3IubW0gaW4gU291cmNlcyAqLywKKwkJCQlDMTY5MkRDQTIzRDEwREFFMDA2RTg4RjcgLyog
QmF0dGVyeS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTM3NEI3QTYwMURGMzZFRUUwMEFDQ0I2QyAv
KiBCdW5kbGVFZGl0aW5nRGVsZWdhdGUubW0gaW4gU291cmNlcyAqLywKIAkJCQk3QTg5QkI2NzIz
MzE2NDMyMDA0MkNCMUUgLyogQnVuZGxlRm9ybURlbGVnYXRlLm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQTEzRUJCQjExQjg3NDM4MDAwMDk3MTEwIC8qIEJ1bmRsZVBhcmFtZXRlcnMubW0gaW4gU291
cmNlcyAqLywKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0JhdHRlcnku
bW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvQmF0dGVy
eS5tbQkobm9uZXhpc3RlbnQpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9C
YXR0ZXJ5Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDggQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBXS19IQVZFX0NfU1BJCisKKyNpbXBvcnQgIlBsYXRm
b3JtVXRpbGl0aWVzLmgiCisjaW1wb3J0ICJUZXN0V0tXZWJWaWV3LmgiCisjaW1wb3J0IDxXZWJD
b3JlL1N5c3RlbUJhdHRlcnkuaD4KKworVEVTVChXZWJLaXQsIFN5c3RlbUhhc0JhdHRlcnkpCit7
CisgICAgYXV0byBjb25maWd1cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRp
b24gYWxsb2NdIGluaXRdKTsKKyAgICBXS1JldGFpblB0cjxXS0NvbnRleHRSZWY+IGNvbnRleHQg
PSBhZG9wdFdLKFRlc3RXZWJLaXRBUEk6OlV0aWw6OmNyZWF0ZUNvbnRleHRGb3JJbmplY3RlZEJ1
bmRsZVRlc3QoIkludGVybmFsc0luamVjdGVkQnVuZGxlVGVzdCIpKTsKKyAgICBjb25maWd1cmF0
aW9uLmdldCgpLnByb2Nlc3NQb29sID0gKFdLUHJvY2Vzc1Bvb2wgKiljb250ZXh0LmdldCgpOwor
ICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0
aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgMzAwLCAzMDApIGNvbmZpZ3VyYXRpb246Y29uZmlndXJh
dGlvbi5nZXQoKSBhZGRUb1dpbmRvdzpZRVNdKTsKKworICAgIGF1dG8gaGFzQmF0dGVyeSA9IFsm
XSB7CisgICAgICAgIHJldHVybiBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0
OkAid2luZG93LmludGVybmFscy5zeXN0ZW1IYXNCYXR0ZXJ5KCkiXS5ib29sVmFsdWU7CisgICAg
fTsKKworICAgIEFTU0VSVF9UUlVFKGhhc0JhdHRlcnkoKSA9PSBXZWJDb3JlOjpzeXN0ZW1IYXNC
YXR0ZXJ5KCkpOworfQorCisjZW5kaWYgLy8gV0tfSEFWRV9DX1NQSQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>