<?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>71178</bug_id>
          
          <creation_ts>2011-10-29 12:28:51 -0700</creation_ts>
          <short_desc>Add TrackEvent</short_desc>
          <delta_ts>2011-11-03 21:20:53 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Media</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          
          <blocked>63042</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Carlson">eric.carlson</reporter>
          <assigned_to name="Eric Carlson">eric.carlson</assigned_to>
          <cc>abarth</cc>
    
    <cc>annacc</cc>
    
    <cc>dglazkov</cc>
    
    <cc>gustavo.noronha</cc>
    
    <cc>gustavo</cc>
    
    <cc>japhet</cc>
    
    <cc>ojan</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>492954</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2011-10-29 12:28:51 -0700</bug_when>
    <thetext>http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#trackevent defines the TrackEvent, needed for the TextTrack &apos;addtrack&apos; event.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492955</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2011-10-29 12:29:12 -0700</bug_when>
    <thetext>&lt;rdar://problem/10367475&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494108</commentid>
    <comment_count>2</comment_count>
      <attachid>113208</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2011-11-01 13:49:37 -0700</bug_when>
    <thetext>Created attachment 113208
Patch

Preliminary patch so the EWS bots can point out any obvious problems.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494110</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-01 13:51:21 -0700</bug_when>
    <thetext>Attachment 113208 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/fast...&quot; exit_code: 1

Source/WebCore/html/track/TrackBase.h:26:  Tab found; better to use spaces  [whitespace/tab] [1]
Source/WebCore/bindings/v8/custom/V8TrackEventCustom.cpp:38:  Alphabetical sorting problem.  [build/include_order] [4]
Source/WebCore/bindings/v8/custom/V8TrackEventCustom.cpp:41:  Alphabetical sorting problem.  [build/include_order] [4]
Source/WebCore/bindings/v8/custom/V8TrackEventCustom.cpp:48:  track_event is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 4 in 40 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494119</commentid>
    <comment_count>4</comment_count>
      <attachid>113208</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2011-11-01 13:58:41 -0700</bug_when>
    <thetext>Comment on attachment 113208
Patch

Attachment 113208 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/10128379</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494128</commentid>
    <comment_count>5</comment_count>
      <attachid>113208</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-11-01 14:05:31 -0700</bug_when>
    <thetext>Comment on attachment 113208
Patch

Attachment 113208 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/10148035</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494136</commentid>
    <comment_count>6</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2011-11-01 14:13:32 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 113208 [details])
&gt; Attachment 113208 [details] did not pass qt-ews (qt):
&gt; Output: http://queues.webkit.org/results/10148035

Oops, I forgot to surround the TrackEvent initialization constructor in EventConstructors.h with &quot;#if ENABLE(VIDEO_TRACK)&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494152</commentid>
    <comment_count>7</comment_count>
      <attachid>113208</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-01 14:26:26 -0700</bug_when>
    <thetext>Comment on attachment 113208
Patch

Attachment 113208 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/10257045</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494174</commentid>
    <comment_count>8</comment_count>
      <attachid>113208</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-11-01 14:44:04 -0700</bug_when>
    <thetext>Comment on attachment 113208
Patch

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

&gt; Source/WebCore/bindings/generic/EventConstructors.h:142
&gt; +#define INSTANTIATE_INITIALIZING_CONSTRUCTOR_FOR_TRACK_EVENT(DICTIONARY_START, DICTIONARY_END, FILL_PARENT_PROPERTIES, FILL_PROPERTY) \
&gt; +    \
&gt; +    DICTIONARY_START(TrackEvent) \
&gt; +        FILL_PARENT_PROPERTIES(Event) \
&gt; +        FILL_PROPERTY(track) \
&gt; +    DICTIONARY_END(TrackEvent)

This probably needs #ifdefing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494176</commentid>
    <comment_count>9</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2011-11-01 14:52:43 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 113208 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=113208&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/bindings/generic/EventConstructors.h:142
&gt; &gt; +#define INSTANTIATE_INITIALIZING_CONSTRUCTOR_FOR_TRACK_EVENT(DICTIONARY_START, DICTIONARY_END, FILL_PARENT_PROPERTIES, FILL_PROPERTY) \
&gt; &gt; +    \
&gt; &gt; +    DICTIONARY_START(TrackEvent) \
&gt; &gt; +        FILL_PARENT_PROPERTIES(Event) \
&gt; &gt; +        FILL_PROPERTY(track) \
&gt; &gt; +    DICTIONARY_END(TrackEvent)
&gt; 
&gt; This probably needs #ifdefing.

See comment #6 ;-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494395</commentid>
    <comment_count>10</comment_count>
      <attachid>113208</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2011-11-01 18:44:39 -0700</bug_when>
    <thetext>Comment on attachment 113208
Patch

Attachment 113208 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/10257115</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494432</commentid>
    <comment_count>11</comment_count>
      <attachid>113277</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2011-11-01 22:02:30 -0700</bug_when>
    <thetext>Created attachment 113277
Updated patch

This patch is being uploaded so the EWS bots can see if it compiles. 

It is not marked for review so there is no need to mark it cq- if it fails to compile.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494433</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-01 22:06:07 -0700</bug_when>
    <thetext>Attachment 113277 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/fast...&quot; exit_code: 1

Source/WebCore/html/track/TrackBase.h:26:  Tab found; better to use spaces  [whitespace/tab] [1]
Source/WebCore/bindings/v8/custom/V8TrackEventCustom.cpp:41:  Alphabetical sorting problem.  [build/include_order] [4]
Source/WebCore/bindings/v8/custom/V8TrackEventCustom.cpp:48:  track_event is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 3 in 40 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494434</commentid>
    <comment_count>13</comment_count>
      <attachid>113277</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-11-01 22:14:13 -0700</bug_when>
    <thetext>Comment on attachment 113277
Updated patch

Attachment 113277 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/10148134</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494436</commentid>
    <comment_count>14</comment_count>
      <attachid>113277</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-01 22:29:08 -0700</bug_when>
    <thetext>Comment on attachment 113277
Updated patch

Attachment 113277 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/10257169</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494537</commentid>
    <comment_count>15</comment_count>
      <attachid>113277</attachid>
    <who name="Collabora GTK+ EWS bot">gustavo.noronha</who>
    <bug_when>2011-11-02 03:46:46 -0700</bug_when>
    <thetext>Comment on attachment 113277
Updated patch

Attachment 113277 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/10259213</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494681</commentid>
    <comment_count>16</comment_count>
      <attachid>113323</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2011-11-02 09:49:49 -0700</bug_when>
    <thetext>Created attachment 113323
Yet another patch for the EWS bots to chew up and spit out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494683</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-02 09:52:40 -0700</bug_when>
    <thetext>Attachment 113323 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/fast...&quot; exit_code: 1

Source/WebCore/html/track/TrackBase.h:26:  Tab found; better to use spaces  [whitespace/tab] [1]
Source/WebCore/bindings/v8/custom/V8TrackEventCustom.cpp:41:  Alphabetical sorting problem.  [build/include_order] [4]
Source/WebCore/bindings/v8/custom/V8TrackEventCustom.cpp:48:  track_event is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 3 in 40 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494688</commentid>
    <comment_count>18</comment_count>
      <attachid>113323</attachid>
    <who name="Collabora GTK+ EWS bot">gustavo.noronha</who>
    <bug_when>2011-11-02 10:02:08 -0700</bug_when>
    <thetext>Comment on attachment 113323
Yet another patch for the EWS bots to chew up and spit out.

Attachment 113323 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/10258293</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494701</commentid>
    <comment_count>19</comment_count>
      <attachid>113323</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-02 10:24:48 -0700</bug_when>
    <thetext>Comment on attachment 113323
Yet another patch for the EWS bots to chew up and spit out.

Attachment 113323 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/10256315</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494775</commentid>
    <comment_count>20</comment_count>
      <attachid>113344</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2011-11-02 11:50:57 -0700</bug_when>
    <thetext>Created attachment 113344
Updated patch

This should build on GTK thanks to Philippe Normand.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494779</commentid>
    <comment_count>21</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-02 11:54:36 -0700</bug_when>
    <thetext>Attachment 113344 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/fast...&quot; exit_code: 1

Source/WebCore/bindings/v8/custom/V8TrackEventCustom.cpp:47:  track_event is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 1 in 42 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494800</commentid>
    <comment_count>22</comment_count>
      <attachid>113344</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-02 12:20:57 -0700</bug_when>
    <thetext>Comment on attachment 113344
Updated patch

Attachment 113344 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/10128682</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494928</commentid>
    <comment_count>23</comment_count>
      <attachid>113381</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2011-11-02 14:44:34 -0700</bug_when>
    <thetext>Created attachment 113381
Another patch

This should compile, lets see if it links.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494960</commentid>
    <comment_count>24</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-02 15:18:16 -0700</bug_when>
    <thetext>Attachment 113381 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/fast...&quot; exit_code: 1

Source/WebCore/bindings/v8/custom/V8TrackEventCustom.cpp:47:  track_event is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 1 in 42 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494972</commentid>
    <comment_count>25</comment_count>
      <attachid>113386</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2011-11-02 15:29:22 -0700</bug_when>
    <thetext>Created attachment 113386
Another patch, hopefully the right version this time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495009</commentid>
    <comment_count>26</comment_count>
      <attachid>113386</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-02 16:07:45 -0700</bug_when>
    <thetext>Comment on attachment 113386
Another patch, hopefully the right version this time.

Attachment 113386 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/10175412</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495454</commentid>
    <comment_count>27</comment_count>
      <attachid>113489</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2011-11-03 07:41:16 -0700</bug_when>
    <thetext>Created attachment 113489
This might be the one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495516</commentid>
    <comment_count>28</comment_count>
      <attachid>113489</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-11-03 09:14:43 -0700</bug_when>
    <thetext>Comment on attachment 113489
This might be the one.

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

&gt; Source/WebCore/html/track/TrackEvent.h:64
&gt; +    virtual bool isTrackEvent() const { return true; }

This is no longer needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496036</commentid>
    <comment_count>29</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2011-11-03 21:20:53 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/99261</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113208</attachid>
            <date>2011-11-01 13:49:37 -0700</date>
            <delta_ts>2011-11-01 22:02:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch_track_event_12.txt</filename>
            <type>text/plain</type>
            <size>61542</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgJKHJldmlzaW9uIDk4OTU5KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCSh3b3JraW5nIGNvcHkpCkBA
IC01MzcsNiArNTM3LDcgQEAKICNkZWZpbmUgRU5BQkxFX1NNT09USF9TQ1JPTExJTkcgMQogI2Rl
ZmluZSBFTkFCTEVfV0VCX0FSQ0hJVkUgMQogI2RlZmluZSBFTkFCTEVfV0VCX0FVRElPIDEKKyNk
ZWZpbmUgRU5BQkxFX1ZJREVPX1RSQUNLIDEKICNlbmRpZiAvKiBQTEFURk9STShNQUMpICYmICFQ
TEFURk9STShJT1MpICovCiAKICNpZiBQTEFURk9STShDSFJPTUlVTSkgJiYgT1MoREFSV0lOKQpJ
bmRleDogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTg5NzApCisrKyBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw2OSBAQAorMjAxMS0xMS0wMSAgRXJpYyBDYXJs
c29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgVHJhY2tFdmVudAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNzgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBmYXN0
L2V2ZW50cy9jb25zdHJ1Y3RvcnMvdHJhY2stZXZlbnQtY29uc3RydWN0b3IuaHRtbAorCisgICAg
ICAgICogQ01ha2VMaXN0cy50eHQ6IEFkZCBuZXcgZmlsZXMgZm9yIFRyYWNrRXZlbnQuCisgICAg
ICAgICogQ29kZUdlbmVyYXRvcnMucHJpOiBEaXR0by4KKyAgICAgICAgKiBEZXJpdmVkU291cmNl
cy5jcHA6IERpdHRvLgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6IERpdHRvLgorICAg
ICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06IERpdHRvLgorICAgICAgICAqIFdlYkNvcmUuZ3lw
aTogRGl0dG8uCisgICAgICAgICogV2ViQ29yZS5wcm86IERpdHRvLgorICAgICAgICAqIFdlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogRGl0dG8uCisgICAgICAgICogYmluZGluZ3Mv
Z2VuZXJpYy9FdmVudENvbnN0cnVjdG9ycy5oOiBEaXR0by4KKyAgICAgICAgKiBiaW5kaW5ncy9n
b2JqZWN0L0dOVW1ha2VmaWxlLmFtOiBEaXR0by4KKyAgICAgICAgKiBiaW5kaW5ncy9nb2JqZWN0
L1dlYktpdEhUTUxFbGVtZW50V3JhcHBlckZhY3RvcnkuY3BwOiBEaXR0by4KKyAgICAgICAgKiBi
aW5kaW5ncy9qcy9KU0JpbmRpbmdzQWxsSW5PbmUuY3BwOiBEaXR0by4KKworICAgICAgICAqIGJp
bmRpbmdzL2pzL0pTRGljdGlvbmFyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0RpY3Rpb25h
cnk6OmNvbnZlcnRWYWx1ZSk6IEFkZCBtZXRob2QgdG8gY29udmVydCB0byBhIFRyYWNrLgorICAg
ICAgICAqIGJpbmRpbmdzL2pzL0pTRGljdGlvbmFyeS5oOgorCisgICAgICAgICogYmluZGluZ3Mv
anMvSlNFdmVudENvbnN0cnVjdG9ycy5jcHA6ICBBZGQgbmV3IGZpbGVzIGZvciBUcmFja0V2ZW50
LgorCisgICAgICAgICogYmluZGluZ3MvanMvSlNUcmFja0N1c3RvbS5jcHA6IEFkZGVkLiAKKyAg
ICAgICAgKFdlYkNvcmU6OnRvVHJhY2spOiBOZXcsIGNvbnZlcnQgZnJvbSBhIEpTVmFsdWUgdG8g
YSBUcmFjay4KKyAgICAgICAgKFdlYkNvcmU6OnRvSlMpOiBOZXcsIHJldHVybiBhIEpTIHdyYXBw
ZXIgZm9yIGEgVHJhY2suCisgICAgICAgICogYmluZGluZ3MvanMvSlNUcmFja0N1c3RvbS5oOiBB
ZGRlZC4KKworICAgICAgICAqIGJpbmRpbmdzL2pzL0pTVHJhY2tFdmVudEN1c3RvbS5jcHA6IEFk
ZGVkLgorICAgICAgICAoV2ViQ29yZTo6SlNUcmFja0V2ZW50Ojp0cmFjayk6IE5ldywgcmV0dXJu
cyBhIFRleHRFdmVudCdzICd0cmFjaycgYXR0cmlidXRlLgorCisgICAgICAgICogYmluZGluZ3Mv
djgvY3VzdG9tL1Y4VHJhY2tFdmVudEN1c3RvbS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29y
ZTo6VjhUcmFja0V2ZW50Ojp0cmFja0FjY2Vzc29yR2V0dGVyKTogTmV3LCByZXR1cm5zIGEgVGV4
dEV2ZW50J3MgJ3RyYWNrJyBhdHRyaWJ1dGUuCisKKyAgICAgICAgKiBkb20vRXZlbnRGYWN0b3J5
LmluOiBBZGQgVHJhY2tFdmVudC4KKworICAgICAgICAqIGRvbS9FdmVudE5hbWVzLmg6IEFkZCAn
YWRkdHJhY2snIGV2ZW50LgorCisgICAgICAgICogaHRtbC9UZXh0VHJhY2suY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6VGV4dFRyYWNrOjpUZXh0VHJhY2spOiBDYWxsIG5ldyBiYXNlIGNsYXNzIGNv
bnN0cnVjdG9yLgorICAgICAgICAqIGh0bWwvVGV4dFRyYWNrLmg6IE5vdyBkZXJpdmUgZnJvbSBC
YXNlVHJhY2sgZm9yIHRoZSBkYXkgd2UgaW1wbGVtZW50IFZpZGVvVHJhY2sgYW5kIEF1ZGlvVHJh
Y2suCisKKyAgICAgICAgKiBodG1sL3RyYWNrL1RyYWNrQmFzZS5jcHA6IEFkZGVkLgorICAgICAg
ICAoV2ViQ29yZTo6VHJhY2tCYXNlOjpUcmFja0Jhc2UpOgorICAgICAgICAoV2ViQ29yZTo6VHJh
Y2tCYXNlOjp+VHJhY2tCYXNlKToKKyAgICAgICAgKiBodG1sL3RyYWNrL1RyYWNrQmFzZS5oOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlRyYWNrQmFzZTo6dHlwZSk6IFJldHVybiB0aGUgdHJh
Y2sgdHlwZS4KKworICAgICAgICAqIGh0bWwvdHJhY2svVHJhY2tFdmVudC5jcHA6IEFkZGVkLgor
ICAgICAgICAoV2ViQ29yZTo6VHJhY2tFdmVudEluaXQ6OlRyYWNrRXZlbnRJbml0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlRyYWNrRXZlbnQ6OlRyYWNrRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6
VHJhY2tFdmVudDo6flRyYWNrRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6VHJhY2tFdmVudDo6
aW50ZXJmYWNlTmFtZSk6CisgICAgICAgICogaHRtbC90cmFjay9UcmFja0V2ZW50Lmg6IEFkZGVk
LgorICAgICAgICAoV2ViQ29yZTo6VHJhY2tFdmVudDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNv
cmU6OlRyYWNrRXZlbnQ6OmlzVHJhY2tFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpUcmFja0V2
ZW50Ojp0cmFjayk6CisgICAgICAgICogaHRtbC90cmFjay9UcmFja0V2ZW50LmlkbDogQWRkZWQu
CisKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5pZGw6IEFkZCBUcmFja0V2ZW50LgorCiAyMDEx
LTExLTAxICBNaWtlIFJlZWQgIDxyZWVkQGdvb2dsZS5jb20+CiAKICAgICAgICAgW3NraWFdIGNh
bGwgcmVhZFBpeGVscyBvbiBjYW52YXMgaW5zdGVhZCBvZiBkZXZpY2UgKHdpbGwgYmUgcHJpdmF0
ZSBvbiBkZXZpY2Ugc29vbikgYW5kIGNoZWNrIGZvciBlcnJvcgpJbmRleDogU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQJKHJldmlzaW9uIDk4OTU5KQorKysgU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTMxOCw2ICszMTgsOCBAQCBTRVQoV2ViQ29yZV9JRExfRklMRVMK
ICAgICBodG1sL2NhbnZhcy9XZWJHTFZlcnRleEFycmF5T2JqZWN0T0VTLmlkbAogICAgIGh0bWwv
Y2FudmFzL1dlYktpdExvc2VDb250ZXh0LmlkbAogCisgICAgaHRtbC90cmFjay9UcmFja0V2ZW50
LmlkbAorCiAgICAgaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0SG9zdC5pZGwKICAgICBpbnNwZWN0
b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmlkbAogICAgIGluc3BlY3Rvci9KYXZhU2NyaXB0Q2Fs
bEZyYW1lLmlkbApAQCAtMjA2NCw2ICsyMDY2LDggQEAgSUYgKEVOQUJMRV9WSURFT19UUkFDSykK
ICAgICAgICAgaHRtbC9UZXh0VHJhY2tDdWUuY3BwCiAgICAgICAgIGh0bWwvVGV4dFRyYWNrQ3Vl
SW5kZXguY3BwCiAgICAgICAgIGh0bWwvVGV4dFRyYWNrQ3VlTGlzdC5jcHAKKyAgICAgICAgaHRt
bC90cmFjay9UcmFja0Jhc2UuY3BwCisgICAgICAgIGh0bWwvdHJhY2svVHJhY2tFdmVudC5jcHAK
ICAgICAgICAgaHRtbC90cmFjay9XZWJWVFRQYXJzZXIuY3BwCiAgICAgICAgIGh0bWwvdHJhY2sv
V2ViVlRUVG9rZW5pemVyLmNwcAogICAgICAgICBsb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmNwcApJ
bmRleDogU291cmNlL1dlYkNvcmUvQ29kZUdlbmVyYXRvcnMucHJpCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL0NvZGVHZW5lcmF0b3JzLnByaQkocmV2aXNpb24gOTg5NTkpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9Db2RlR2VuZXJhdG9ycy5wcmkJKHdvcmtpbmcgY29weSkKQEAgLTU3Nyw2ICs1
NzcsNyBAQCBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfVklERU9fVFJBQ0s9MSkgCiAgICAgaHRt
bC9UZXh0VHJhY2suaWRsIFwKICAgICBodG1sL1RleHRUcmFja0N1ZS5pZGwgXAogICAgIGh0bWwv
VGV4dFRyYWNrQ3VlTGlzdC5pZGwgXAorICAgIGh0bWwvdHJhY2svVHJhY2tFdmVudC5pZGwgXAog
fQogCiB2ODogd3JhcHBlckZhY3RvcnlBcmcgPSAtLXdyYXBwZXJGYWN0b3J5VjgKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy5jcHAJKHJldmlzaW9uIDk4OTU5KQorKysgU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NDEsNiArNDQxLDcgQEAK
ICNpbmNsdWRlICJKU1RleHRUcmFjay5jcHAiCiAjaW5jbHVkZSAiSlNUZXh0VHJhY2tDdWUuY3Bw
IgogI2luY2x1ZGUgIkpTVGV4dFRyYWNrQ3VlTGlzdC5jcHAiCisjaW5jbHVkZSAiSlNUcmFja0V2
ZW50LmNwcCIKICNlbmRpZgogI2luY2x1ZGUgIkpTVGltZVJhbmdlcy5jcHAiCiAjaW5jbHVkZSAi
SlNUb3VjaC5jcHAiCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UJKHJldmlzaW9u
IDk4OTU5KQorKysgU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQkod29ya2luZyBj
b3B5KQpAQCAtMzYsNiArMzYsNyBAQCBWUEFUSCA9IFwKICAgICAkKFdlYkNvcmUpL2ZpbGVhcGkg
XAogICAgICQoV2ViQ29yZSkvaHRtbCBcCiAgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcyBcCisg
ICAgJChXZWJDb3JlKS9odG1sL3RyYWNrIFwKICAgICAkKFdlYkNvcmUpL2luc3BlY3RvciBcCiAg
ICAgJChXZWJDb3JlKS9sb2FkZXIvYXBwY2FjaGUgXAogICAgICQoV2ViQ29yZSkvbm90aWZpY2F0
aW9ucyBcCkBAIC01MTMsNiArNTE0LDcgQEAgRE9NX0NMQVNTRVMgPSBcCiAgICAgVG91Y2ggXAog
ICAgIFRvdWNoRXZlbnQgXAogICAgIFRvdWNoTGlzdCBcCisgICAgVHJhY2tFdmVudCBcCiAgICAg
VHJlZVdhbGtlciBcCiAgICAgVUlFdmVudCBcCiAgICAgVWludDE2QXJyYXkgXApJbmRleDogU291
cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCShyZXZpc2lvbiA5ODk1OSkKKysrIFNvdXJjZS9XZWJD
b3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0JKHdvcmtpbmcgY29weSkKQEAgLTUxMiw2ICs1MTIsOCBA
QCB3ZWJjb3JlX2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNU
b3VjaC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVG91Y2hMaXN0LmNwcCBcCiAJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1RvdWNoTGlzdC5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTVHJhY2tFdmVudC5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNUcmFja0V2
ZW50LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNUcmVlV2Fsa2VyLmNwcCBcCiAJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1RyZWVXYWxrZXIuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU1VJRXZlbnQuY3BwIFwKQEAgLTg1MCw2ICs4NTIsOSBAQCB3ZWJjb3JlX3NvdXJjZXMg
Kz0gXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTVGV4dEN1c3RvbS5jcHAgXAogCVNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTVG91Y2hDdXN0b20uY3BwIFwKIAlTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU1RvdWNoTGlzdEN1c3RvbS5jcHAgXAorCVNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTVHJhY2tDdXN0b20uY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU1RyYWNrQ3VzdG9tLmggXAorCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTVHJh
Y2tFdmVudEN1c3RvbS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTVHJlZVdh
bGtlckN1c3RvbS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTVWludDE2QXJy
YXlDdXN0b20uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1VpbnQzMkFycmF5
Q3VzdG9tLmNwcCBcCkBAIC0xOTY4LDYgKzE5NzMsMTAgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwK
IAlTb3VyY2UvV2ViQ29yZS9odG1sL1RpbWVJbnB1dFR5cGUuaCBcCiAJU291cmNlL1dlYkNvcmUv
aHRtbC9UaW1lUmFuZ2VzLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9UaW1lUmFuZ2VzLmgg
XAorCVNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVHJhY2tCYXNlLmNwcCBcCisJU291cmNlL1dl
YkNvcmUvaHRtbC90cmFjay9UcmFja0Jhc2UuaCBcCisJU291cmNlL1dlYkNvcmUvaHRtbC90cmFj
ay9UcmFja0V2ZW50LmNwcCBcCisJU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UcmFja0V2ZW50
LmggXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svV2ViVlRUUGFyc2VyLmNwcCBcCiAJU291
cmNlL1dlYkNvcmUvaHRtbC90cmFjay9XZWJWVFRQYXJzZXIuaCBcCiAJU291cmNlL1dlYkNvcmUv
aHRtbC90cmFjay9XZWJWVFRUb2tlbi5oIFwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
Z3lwaQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkJKHJldmlzaW9u
IDk4OTU5KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCSh3b3JraW5nIGNvcHkpCkBA
IC0xMzcxLDYgKzEzNzEsNyBAQAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL1dlYkdMVW5pZm9y
bUxvY2F0aW9uLmlkbCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvV2ViR0xWZXJ0ZXhBcnJh
eU9iamVjdE9FUy5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL1dlYktpdExvc2VDb250
ZXh0LmlkbCcsCisgICAgICAgICAgICAnaHRtbC90cmFjay9UcmFja0V2ZW50LmlkbCcsCiAgICAg
ICAgICAgICAnaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0SG9zdC5pZGwnLAogICAgICAgICAgICAg
J2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaWRsJywKICAgICAgICAgICAgICdpbnNw
ZWN0b3IvSmF2YVNjcmlwdENhbGxGcmFtZS5pZGwnLApAQCAtMTkzNiw2ICsxOTM3LDkgQEAKICAg
ICAgICAgICAgICdiaW5kaW5ncy9qcy9KU1RleHRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdi
aW5kaW5ncy9qcy9KU1RvdWNoQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMv
SlNUb3VjaExpc3RDdXN0b20uY3BwJywKKyAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU1RyYWNr
Q3VzdG9tLmNwcCcsCisgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNUcmFja0N1c3RvbS5oJywK
KyAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU1RyYWNrRXZlbnRDdXN0b20uY3BwJywKICAgICAg
ICAgICAgICdiaW5kaW5ncy9qcy9KU1RyZWVXYWxrZXJDdXN0b20uY3BwJywKICAgICAgICAgICAg
ICdiaW5kaW5ncy9qcy9KU1VpbnQxNkFycmF5Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmlu
ZGluZ3MvanMvSlNVaW50MzJBcnJheUN1c3RvbS5jcHAnLApAQCAtNTc2OCw2ICs1NzcyLDggQEAK
ICAgICAgICAgICAgICdodG1sL3NoYWRvdy9TbGlkZXJUaHVtYkVsZW1lbnQuaCcsCiAgICAgICAg
ICAgICAnaHRtbC9zaGFkb3cvVGV4dENvbnRyb2xJbm5lckVsZW1lbnRzLmNwcCcsCiAgICAgICAg
ICAgICAnaHRtbC9zaGFkb3cvVGV4dENvbnRyb2xJbm5lckVsZW1lbnRzLmgnLAorICAgICAgICAg
ICAgJ2h0bWwvdHJhY2svVHJhY2tCYXNlLmNwcCcsCisgICAgICAgICAgICAnaHRtbC90cmFjay9U
cmFja0V2ZW50LmNwcCcsCiAgICAgICAgICAgICAnaHRtbC90cmFjay9XZWJWVFRQYXJzZXIuY3Bw
JywKICAgICAgICAgICAgICdodG1sL3RyYWNrL1dlYlZUVFBhcnNlci5oJywKICAgICAgICAgICAg
ICdodG1sL3RyYWNrL1dlYlZUVFRva2VuLmgnLApJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5wcm8KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8JKHJldmlzaW9u
IDk4OTU5KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8JKHdvcmtpbmcgY29weSkKQEAg
LTE4NjgsNiArMTg2OCw4IEBAIEhFQURFUlMgKz0gXAogICAgIGh0bWwvcGFyc2VyL1hTU0F1ZGl0
b3IuaCBcCiAgICAgaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuaCBcCiAgICAgaHRt
bC9zaGFkb3cvRGV0YWlsc01hcmtlckNvbnRyb2wuaCBcCisgICAgaHRtbC90cmFjay9UcmFja0Jh
c2UuaCBcCisgICAgaHRtbC90cmFjay9UcmFja0V2ZW50LmggXAogICAgIGh0bWwvdHJhY2svV2Vi
VlRUUGFyc2VyLmggXAogICAgIGh0bWwvdHJhY2svV2ViVlRUVG9rZW4uaCBcCiAgICAgaHRtbC90
cmFjay9XZWJWVFRUb2tlbml6ZXIuaCBcCkBAIC0zNTM4LDYgKzM1NDAsMTUgQEAgY29udGFpbnMo
REVGSU5FUywgRU5BQkxFX0pBVkFTQ1JJUFRfREVCVQogICAgIH0KIH0KIAorY29udGFpbnMoREVG
SU5FUywgRU5BQkxFX1ZJREVPX1RSQUNLPTEpIHsKKyAgICAhdjggeworICAgICAgICBTT1VSQ0VT
ICs9IFwKKyAgICAgICAgICAgIGJpbmRpbmdzL2pzL0pTVHJhY2tDdXN0b20uY3BwIFwKKyAgICAg
ICAgICAgIGJpbmRpbmdzL2pzL0pTVHJhY2tDdXN0b20uaCBcCisgICAgICAgICAgICBiaW5kaW5n
cy9qcy9KU1RyYWNrRXZlbnRDdXN0b20uY3BwCisgICAgfQorfQorCiBjb250YWlucyhERUZJTkVT
LCBFTkFCTEVfV0VCX1NPQ0tFVFM9MSkgewogICAgIEhFQURFUlMgKz0gXAogICAgICAgICB3ZWJz
b2NrZXRzL0Nsb3NlRXZlbnQuaCBcCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9u
cy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9D
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkocmV2aXNpb24gOTg5NTkpCisr
KyBTb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwko
d29ya2luZyBjb3B5KQpAQCAtMTA1LDcgKzEwNSw3IEBAIEVOQUJMRV9TVkcgPSBFTkFCTEVfU1ZH
OwogRU5BQkxFX1NWR19GT05UUyA9IEVOQUJMRV9TVkdfRk9OVFM7CiBFTkFCTEVfVE9VQ0hfSUNP
Tl9MT0FESU5HID0gOwogRU5BQkxFX1ZJREVPID0gRU5BQkxFX1ZJREVPOwotRU5BQkxFX1ZJREVP
X1RSQUNLID0gOworRU5BQkxFX1ZJREVPX1RSQUNLID0gRU5BQkxFX1ZJREVPX1RSQUNLOwogRU5B
QkxFX1dFQkdMID0gRU5BQkxFX1dFQkdMOwogRU5BQkxFX1dFQl9BVURJTyA9IEVOQUJMRV9XRUJf
QVVESU87CiBFTkFCTEVfV0VCX1NPQ0tFVFMgPSBFTkFCTEVfV0VCX1NPQ0tFVFM7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShy
ZXZpc2lvbiA5ODk1OSkKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtODIsNiArODIsMTAgQEAKIAkJMDY2Qzc3MzEw
QUI2MDNGRDAwMjM4Q0M0IC8qIFJlbmRlckZpbGVVcGxvYWRDb250cm9sLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNjZDNzcyRjBBQjYwM0ZEMDAyMzhD
QzQgLyogUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuaCAqLzsgfTsKIAkJMDZFODFFRDcwQUI1RDVF
OTAwQzg3ODM3IC8qIExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDZFODFFRDYwQUI1RDVFOTAwQzg3ODM3
IC8qIExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5oICovOyB9OwogCQkwNkU4MUVFQzBBQjVE
QTk3MDBDODc4MzcgLyogTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0Lm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDZFODFFRUIwQUI1REE5NzAwQzg3
ODM3IC8qIExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5tbSAqLzsgfTsKKwkJMDcwMzM0RDMx
NDU5RkZBRDAwOEQ4RDQ1IC8qIFRyYWNrRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDcwMzM0RDAxNDU5RkZBQzAwOEQ4RDQ1IC8qIFRyYWNr
RXZlbnQuY3BwICovOyB9OworCQkwNzAzMzRENzE0NTlGRkQ1MDA4RDhENDUgLyogVHJhY2tCYXNl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzAzMzRE
NjE0NTlGRkQ1MDA4RDhENDUgLyogVHJhY2tCYXNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMDcwMzM0RDkxNDVBMDA2RjAwOEQ4RDQ1IC8qIFRy
YWNrQmFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwNzAzMzREODE0NUEwMDZGMDA4RDhENDUgLyogVHJhY2tCYXNlLmNwcCAqLzsgfTsKKwkJMDcw
MzM0RTkxNDVBMUYzNjAwOEQ4RDQ1IC8qIEpTVHJhY2tDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDcwMzM0RTgxNDVBMUYzNTAwOEQ4RDQ1
IC8qIEpTVHJhY2tDdXN0b20uY3BwICovOyB9OwogCQkwNzA3NTY4QjE0MjI2MkQ2MDA0MTQxNjEg
LyogSFRNTFRyYWNrRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwNzA3NTY4ODE0MjI2MkQ2MDA0MTQxNjEgLyogSFRNTFRyYWNrRWxlbWVu
dC5jcHAgKi87IH07CiAJCTA3MDc1NjhDMTQyMjYyRDYwMDQxNDE2MSAvKiBIVE1MVHJhY2tFbGVt
ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzA3
NTY4OTE0MjI2MkQ2MDA0MTQxNjEgLyogSFRNTFRyYWNrRWxlbWVudC5oICovOyB9OwogCQkwNzA3
NTY5NDE0MjI2NjhEMDA0MTQxNjEgLyogSlNUZXh0VHJhY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDcwNzU2OEUxNDIyNjY4QzAwNDE0MTYxIC8q
IEpTVGV4dFRyYWNrLmNwcCAqLzsgfTsKQEAgLTk3LDcgKzEwMSwxMSBAQAogCQkwNzM1RUU2QTBG
NDBDNUU0MDA0QTI2MDQgLyogTWVkaWFQbGF5ZXJQcm94eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDczNUVFNjkwRjQwQzVFNDAwNEEyNjA0IC8qIE1l
ZGlhUGxheWVyUHJveHkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQkwNzUzODYwMjE0NDg5RTk4MDBCNzg0NTIgLyogQ2FjaGVkVGV4dFRyYWNrLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3NTM4NjAw
MTQ0ODlFOTgwMEI3ODQ1MiAvKiBDYWNoZWRUZXh0VHJhY2suY3BwICovOyB9OwogCQkwNzUzODYw
MzE0NDg5RTk4MDBCNzg0NTIgLyogQ2FjaGVkVGV4dFRyYWNrLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzUzODYwMTE0NDg5RTk4MDBCNzg0NTIgLyog
Q2FjaGVkVGV4dFRyYWNrLmggKi87IH07CisJCTA3Njg5RDZFMTQ1QjUyQ0MwMDFDRDEzMiAvKiBK
U1RyYWNrRXZlbnRDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMDc2ODlENkQxNDVCNTJDQzAwMUNEMTMyIC8qIEpTVHJhY2tFdmVudEN1c3Rv
bS5jcHAgKi87IH07CiAJCTA3NkYwRDBFMTJCODE5MjcwMEMyNkFBNCAvKiBNZWRpYVBsYXllclBy
aXZhdGVBVkZvdW5kYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDA3NkYwRDBBMTJCODE5MjcwMEMyNkFBNCAvKiBNZWRpYVBsYXllclByaXZhdGVB
VkZvdW5kYXRpb24uaCAqLzsgfTsKKwkJMDc4NDYzNDIxNDVCMTUxQTAwQTU4REYxIC8qIEpTVHJh
Y2tFdmVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwNzg0NjM0MDE0NUIxNTFBMDBBNThERjEgLyogSlNUcmFja0V2ZW50LmNwcCAqLzsgfTsKKwkJ
MDc4NDYzNDMxNDVCMTUxQTAwQTU4REYxIC8qIEpTVHJhY2tFdmVudC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDc4NDYzNDExNDVCMTUxQTAwQTU4REYx
IC8qIEpTVHJhY2tFdmVudC5oICovOyB9OworCQkwNzg0NjM4NTE0NUIxQjhFMDBBNThERjEgLyog
SlNUcmFja0N1c3RvbS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMDc4NDYzODQxNDVCMUI4RTAwQTU4REYxIC8qIEpTVHJhY2tDdXN0b20uaCAqLzsgfTsK
IAkJMDdCMDExM0YxMDMyMjQyMjAwRkJEQzMzIC8qIEFjY2Vzc2liaWxpdHlNZWRpYUNvbnRyb2xz
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwN0IwMTEz
RTEwMzIyNDIyMDBGQkRDMzMgLyogQWNjZXNzaWJpbGl0eU1lZGlhQ29udHJvbHMuaCAqLzsgfTsK
IAkJMDgwNkU1N0ExMjg5MzA0NTAwN0NFRDMyIC8qIFNWR01hdHJpeC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDgwNkU1NzkxMjg5MzA0NTAwN0NFRDMy
IC8qIFNWR01hdHJpeC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCTA4MEU0OTI2MTI1NUYzQkQwMEVGQ0EyNyAvKiBTVkdUZXh0TGF5b3V0RW5naW5l
QmFzZWxpbmUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDA4MEU0OTIyMTI1NUYzQkQwMEVGQ0EyNyAvKiBTVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUu
aCAqLzsgfTsKQEAgLTcwNjcsNiArNzA3NSwxMiBAQAogCQkwNjZDNzcyRjBBQjYwM0ZEMDAyMzhD
QzQgLyogUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFJlbmRlckZpbGVVcGxvYWRDb250cm9sLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTA2RTgxRUQ2MEFCNUQ1RTkwMEM4NzgzNyAvKiBMb2NhbEN1cnJlbnRHcmFwaGlj
c0NvbnRleHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTG9jYWxDdXJyZW50
R3JhcGhpY3NDb250ZXh0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA2RTgxRUVC
MEFCNURBOTcwMEM4NzgzNyAvKiBMb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gTG9jYWxDdXJyZW50R3JhcGhpY3ND
b250ZXh0Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwNzAzMzREMDE0NTlGRkFD
MDA4RDhENDUgLyogVHJhY2tFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBUcmFja0V2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMDcw
MzM0RDExNDU5RkZBQzAwOEQ4RDQ1IC8qIFRyYWNrRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gVHJhY2tFdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkwNzAzMzREMjE0NTlGRkFDMDA4RDhENDUgLyogVHJhY2tFdmVudC5pZGwgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0OyBwYXRoID0gVHJhY2tFdmVudC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTA3MDMzNEQ2MTQ1OUZGRDUwMDhEOEQ0NSAvKiBUcmFja0Jhc2UuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gVHJhY2tCYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTA3MDMzNEQ4MTQ1QTAwNkYwMDhEOEQ0NSAvKiBUcmFja0Jhc2UuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVHJhY2tCYXNlLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMDcwMzM0RTgxNDVBMUYzNTAwOEQ4RDQ1IC8qIEpTVHJhY2tDdXN0b20u
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNUcmFja0N1c3RvbS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA3MDc1Njg4MTQyMjYyRDYwMDQxNDE2
MSAvKiBIVE1MVHJhY2tFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEhUTUxUcmFja0VsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkwNzA3NTY4OTE0MjI2MkQ2MDA0MTQxNjEgLyogSFRNTFRyYWNrRWxlbWVudC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIVE1MVHJhY2tFbGVtZW50Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTA3MDc1NjhBMTQyMjYyRDYwMDQxNDE2MSAvKiBIVE1MVHJhY2tF
bGVtZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBIVE1MVHJhY2tFbGVtZW50LmlkbDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTcwODYsOCArNzEwMCwxMiBAQAogCQkwNzM1
RUU2OTBGNDBDNUU0MDA0QTI2MDQgLyogTWVkaWFQbGF5ZXJQcm94eS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYVBsYXllclByb3h5Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTA3NTM4NjAwMTQ0ODlFOTgwMEI3ODQ1MiAvKiBDYWNoZWRUZXh0VHJhY2su
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ2FjaGVkVGV4dFRyYWNr
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDc1Mzg2MDExNDQ4OUU5ODAwQjc4
NDUyIC8qIENhY2hlZFRleHRUcmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBDYWNoZWRUZXh0VHJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMDc2ODlE
NkQxNDVCNTJDQzAwMUNEMTMyIC8qIEpTVHJhY2tFdmVudEN1c3RvbS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1RyYWNrRXZlbnRDdXN0b20uY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkwNzZGMEQwOTEyQjgxOTI3MDBDMjZBQTQgLyogTWVkaWFQ
bGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTA3NkYwRDBBMTJCODE5MjcwMEMyNkFBNCAvKiBNZWRpYVBsYXll
clByaXZhdGVBVkZvdW5kYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTA3ODQ2MzQwMTQ1QjE1MUEwMEE1OERGMSAvKiBKU1RyYWNrRXZlbnQuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNUcmFja0V2ZW50LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMDc4NDYzNDExNDVCMTUxQTAwQTU4REYxIC8qIEpTVHJh
Y2tFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1RyYWNrRXZlbnQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMDc4NDYzODQxNDVCMUI4RTAwQTU4REYx
IC8qIEpTVHJhY2tDdXN0b20uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNU
cmFja0N1c3RvbS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwNzlGNUU0QjBGM0JF
QkVBMDA1RTA3ODIgLyogTWVkaWFQbGF5ZXJQcml2YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IE1lZGlhUGxheWVyUHJpdmF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkwN0FGRTU5MDBGMTQ0NkJEMDA4NDE2MTcgLyogbWVkaWFDb250cm9sc1F1aWNrVGlt
ZS5jc3MgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0LmNzczsgcGF0aCA9IG1lZGlhQ29udHJvbHNRdWlja1RpbWUu
Y3NzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwN0IwMTEzRTEwMzIyNDIyMDBGQkRD
MzMgLyogQWNjZXNzaWJpbGl0eU1lZGlhQ29udHJvbHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gQWNjZXNzaWJpbGl0eU1lZGlhQ29udHJvbHMuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKQEAgLTE3NzQ3LDYgKzE3NzY1LDggQEAKIAkJCQkwNzA3NTZEQTE0MjM5QjRF
MDA0MTQxNjEgLyogSlNUZXh0VHJhY2tDdWVMaXN0LmggKi8sCiAJCQkJRTQ0NjE0MTIwQ0Q2ODI2
OTAwRkFEQTc1IC8qIEpTVGltZVJhbmdlcy5jcHAgKi8sCiAJCQkJRTQ0NjE0MTMwQ0Q2ODI2OTAw
RkFEQTc1IC8qIEpTVGltZVJhbmdlcy5oICovLAorCQkJCTA3ODQ2MzQwMTQ1QjE1MUEwMEE1OERG
MSAvKiBKU1RyYWNrRXZlbnQuY3BwICovLAorCQkJCTA3ODQ2MzQxMTQ1QjE1MUEwMEE1OERGMSAv
KiBKU1RyYWNrRXZlbnQuaCAqLywKIAkJCQk0OUVFQ0VGRTEwNTA3MEM0MDAwOTlGQUIgLyogSlNV
aW50MTZBcnJheS5jcHAgKi8sCiAJCQkJNDlFRUNFRkYxMDUwNzBDNDAwMDk5RkFCIC8qIEpTVWlu
dDE2QXJyYXkuaCAqLywKIAkJCQk0OUVFQ0VGQzEwNTA3MEM0MDAwOTlGQUIgLyogSlNVaW50MzJB
cnJheS5jcHAgKi8sCkBAIC0xODQzMSw2ICsxODQ1MSwxMSBAQAogCQlCMUFENEU3NzEzQTEyQTcy
MDA4NDZCMjcgLyogdHJhY2sgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVu
ID0gKAorCQkJCTA3MDMzNEQ4MTQ1QTAwNkYwMDhEOEQ0NSAvKiBUcmFja0Jhc2UuY3BwICovLAor
CQkJCTA3MDMzNEQ2MTQ1OUZGRDUwMDhEOEQ0NSAvKiBUcmFja0Jhc2UuaCAqLywKKwkJCQkwNzAz
MzREMDE0NTlGRkFDMDA4RDhENDUgLyogVHJhY2tFdmVudC5jcHAgKi8sCisJCQkJMDcwMzM0RDEx
NDU5RkZBQzAwOEQ4RDQ1IC8qIFRyYWNrRXZlbnQuaCAqLywKKwkJCQkwNzAzMzREMjE0NTlGRkFD
MDA4RDhENDUgLyogVHJhY2tFdmVudC5pZGwgKi8sCiAJCQkJNUQyMUE4MDAxM0VDRTVERjAwQkI3
MDY0IC8qIFdlYlZUVFBhcnNlci5jcHAgKi8sCiAJCQkJNUQyMUE4MDExM0VDRTVERjAwQkI3MDY0
IC8qIFdlYlZUVFBhcnNlci5oICovLAogCQkJCUIxMEI2OTdEMTQwQzE3NDAwMEJDMUMyNiAvKiBX
ZWJWVFRUb2tlbi5oICovLApAQCAtMTk2MDUsNiArMTk2MzAsOSBAQAogCQkJCTA4RTRGRTQ1MEUy
QkQ0MTQwMEY0Q0FFMCAvKiBKU1NWR0xlbmd0aEN1c3RvbS5jcHAgKi8sCiAJCQkJQjJDOTZEOEMw
QjNBRjJCNzAwNUU4MEVDIC8qIEpTU1ZHUGF0aFNlZ0N1c3RvbS5jcHAgKi8sCiAJCQkJMUEyQzQw
QUEwREVCNTVBQTAwNUFGMTlFIC8qIEpTVGV4dEN1c3RvbS5jcHAgKi8sCisJCQkJMDcwMzM0RTgx
NDVBMUYzNTAwOEQ4RDQ1IC8qIEpTVHJhY2tDdXN0b20uY3BwICovLAorCQkJCTA3ODQ2Mzg0MTQ1
QjFCOEUwMEE1OERGMSAvKiBKU1RyYWNrQ3VzdG9tLmggKi8sCisJCQkJMDc2ODlENkQxNDVCNTJD
QzAwMUNEMTMyIC8qIEpTVHJhY2tFdmVudEN1c3RvbS5jcHAgKi8sCiAJCQkJNTE2QkI3OTIwQ0U5
MUU2ODAwNTEyRjc5IC8qIEpTVHJlZVdhbGtlckN1c3RvbS5jcHAgKi8sCiAJCQkJNDlFRUNGNzcx
MDUwOEQ5QzAwMDk5RkFCIC8qIEpTVWludDE2QXJyYXlDdXN0b20uY3BwICovLAogCQkJCTQ5RUVD
Rjc2MTA1MDhEOUMwMDA5OUZBQiAvKiBKU1VpbnQzMkFycmF5Q3VzdG9tLmNwcCAqLywKQEAgLTI0
NTQwLDYgKzI0NTY4LDkgQEAKIAkJCQk5NzBCNzJBNjE0NTAwOEVCMDBGMDBBMzcgLyogRXZlbnRI
ZWFkZXJzLmggaW4gSGVhZGVycyAqLywKIAkJCQk5QjNBODg3MjE0NTYzMkY5MDAzQUU4RjUgLyog
RE9NRE9NU2V0dGFibGVUb2tlbkxpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCUZENjJGNTJFMTQ1
ODk4RDgwMDk0QjBFRCAvKiBBdWRpb1NvdXJjZVByb3ZpZGVyQ2xpZW50LmggaW4gSGVhZGVycyAq
LywKKwkJCQkwNzAzMzRENzE0NTlGRkQ1MDA4RDhENDUgLyogVHJhY2tCYXNlLmggaW4gSGVhZGVy
cyAqLywKKwkJCQkwNzg0NjM0MzE0NUIxNTFBMDBBNThERjEgLyogSlNUcmFja0V2ZW50LmggaW4g
SGVhZGVycyAqLywKKwkJCQkwNzg0NjM4NTE0NUIxQjhFMDBBNThERjEgLyogSlNUcmFja0N1c3Rv
bS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkQ4RkVCREQxNDNFM0VGNzAwNzI1MDJCIC8qIENTU0Ny
b3NzZmFkZVZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95
bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKQEAgLTI3Mzg2LDYgKzI3NDE3LDExIEBACiAJCQkJQTBF
RTBERjUxNDRGODI1NTAwRjgwQjBEIC8qIFdlYkdMRGVidWdSZW5kZXJlckluZm8uY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJQTBFRTBERjcxNDRGODI1NTAwRjgwQjBEIC8qIFdlYkdMRGVidWdTaGFk
ZXJzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUEzQkI1OUYzMTQ1N0E0MEQwMEFDNTZGRSAvKiBE
b2N1bWVudEV2ZW50UXVldWUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMDcwMzM0RDMxNDU5RkZB
RDAwOEQ4RDQ1IC8qIFRyYWNrRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMDcwMzM0RDkx
NDVBMDA2RjAwOEQ4RDQ1IC8qIFRyYWNrQmFzZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwNzAz
MzRFOTE0NUExRjM2MDA4RDhENDUgLyogSlNUcmFja0N1c3RvbS5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQkwNzg0NjM0MjE0NUIxNTFBMDBBNThERjEgLyogSlNUcmFja0V2ZW50LmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTA3Njg5RDZFMTQ1QjUyQ0MwMDFDRDEzMiAvKiBKU1RyYWNrRXZlbnRDdXN0
b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ4RkVCREMxNDNFM0VGNzAwNzI1MDJCIC8qIENT
U0Nyb3NzZmFkZVZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JE
ZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvZ2VuZXJpYy9FdmVudENvbnN0cnVjdG9ycy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2dlbmVyaWMvRXZlbnRDb25zdHJ1Y3RvcnMuaAkocmV2aXNpb24gOTg5NTkp
CisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL0V2ZW50Q29uc3RydWN0b3JzLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTEzNCw2ICsxMzQsMTMgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICBGSUxMX1BST1BFUlRZKHZlcnRpY2FsT3ZlcmZsb3cpIFwKICAgICBESUNUSU9OQVJZ
X0VORChPdmVyZmxvd0V2ZW50KQogCisjZGVmaW5lIElOU1RBTlRJQVRFX0lOSVRJQUxJWklOR19D
T05TVFJVQ1RPUl9GT1JfVFJBQ0tfRVZFTlQoRElDVElPTkFSWV9TVEFSVCwgRElDVElPTkFSWV9F
TkQsIEZJTExfUEFSRU5UX1BST1BFUlRJRVMsIEZJTExfUFJPUEVSVFkpIFwKKyAgICBcCisgICAg
RElDVElPTkFSWV9TVEFSVChUcmFja0V2ZW50KSBcCisgICAgICAgIEZJTExfUEFSRU5UX1BST1BF
UlRJRVMoRXZlbnQpIFwKKyAgICAgICAgRklMTF9QUk9QRVJUWSh0cmFjaykgXAorICAgIERJQ1RJ
T05BUllfRU5EKFRyYWNrRXZlbnQpCisKIAogI2RlZmluZSBJTlNUQU5USUFURV9BTExfRVZFTlRf
SU5JVElBTElaSU5HX0NPTlNUUlVDVE9SUyhESUNUSU9OQVJZX1NUQVJULCBESUNUSU9OQVJZX0VO
RCwgRklMTF9QQVJFTlRfUFJPUEVSVElFUywgRklMTF9QUk9QRVJUWSkgXAogICAgIElOU1RBTlRJ
QVRFX0lOSVRJQUxJWklOR19DT05TVFJVQ1RPUl9GT1JfRVZFTlQoRElDVElPTkFSWV9TVEFSVCwg
RElDVElPTkFSWV9FTkQsIEZJTExfUEFSRU5UX1BST1BFUlRJRVMsIEZJTExfUFJPUEVSVFkpIFwK
QEAgLTE0OSw2ICsxNTYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgSU5TVEFOVElBVEVf
SU5JVElBTElaSU5HX0NPTlNUUlVDVE9SX0ZPUl9XRUJLSVRfVFJBTlNJVElPTl9FVkVOVChESUNU
SU9OQVJZX1NUQVJULCBESUNUSU9OQVJZX0VORCwgRklMTF9QQVJFTlRfUFJPUEVSVElFUywgRklM
TF9QUk9QRVJUWSkgXAogICAgIElOU1RBTlRJQVRFX0lOSVRJQUxJWklOR19DT05TVFJVQ1RPUl9G
T1JfQkVGT1JFX0xPQURfRVZFTlQoRElDVElPTkFSWV9TVEFSVCwgRElDVElPTkFSWV9FTkQsIEZJ
TExfUEFSRU5UX1BST1BFUlRJRVMsIEZJTExfUFJPUEVSVFkpIFwKICAgICBJTlNUQU5USUFURV9J
TklUSUFMSVpJTkdfQ09OU1RSVUNUT1JfRk9SX09WRVJGTE9XX0VWRU5UKERJQ1RJT05BUllfU1RB
UlQsIERJQ1RJT05BUllfRU5ELCBGSUxMX1BBUkVOVF9QUk9QRVJUSUVTLCBGSUxMX1BST1BFUlRZ
KSBcCisgICAgSU5TVEFOVElBVEVfSU5JVElBTElaSU5HX0NPTlNUUlVDVE9SX0ZPUl9UUkFDS19F
VkVOVChESUNUSU9OQVJZX1NUQVJULCBESUNUSU9OQVJZX0VORCwgRklMTF9QQVJFTlRfUFJPUEVS
VElFUywgRklMTF9QUk9QRVJUWSkgXAogCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvR05VbWFrZWZpbGUuYW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9HTlVtYWtlZmlsZS5hbQkocmV2
aXNpb24gOTg5NTkpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L0dOVW1ha2Vm
aWxlLmFtCSh3b3JraW5nIGNvcHkpCkBAIC00MTAsMTQgKzQxMCwxNyBAQCBpZiBFTkFCTEVfVklE
RU9fVFJBQ0sKIHdlYmtpdGd0a19idWlsdF9oX2FwaSArPSBcCiAJJCh0b3BfYnVpbGRkaXIpL0Rl
cml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01UZXh0VHJhY2suaCBcCiAJJCh0b3BfYnVpbGRk
aXIpL0Rlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01UZXh0VHJhY2tDdWUuaCBcCi0JJCh0
b3BfYnVpbGRkaXIpL0Rlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01UZXh0VHJhY2tDdWVM
aXN0LmgKKwkkKHRvcF9idWlsZGRpcikvRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVRl
eHRUcmFja0N1ZUxpc3QuaCBcCisJJCh0b3BfYnVpbGRkaXIpL0Rlcml2ZWRTb3VyY2VzL3dlYmtp
dC9XZWJLaXRET01UcmFja0V2ZW50LmgKIHdlYmtpdGd0a19nZG9tX2J1aWx0X3NvdXJjZXMgKz0g
XAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01UZXh0VHJhY2suY3BwIFwKIAlEZXJp
dmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NVGV4dFRyYWNrUHJpdmF0ZS5oIFwKIAlEZXJpdmVk
U291cmNlcy93ZWJraXQvV2ViS2l0RE9NVGV4dFRyYWNrQ3VlLmNwcCBcCiAJRGVyaXZlZFNvdXJj
ZXMvd2Via2l0L1dlYktpdERPTVRleHRUcmFja0N1ZVByaXZhdGUuaCBcCiAJRGVyaXZlZFNvdXJj
ZXMvd2Via2l0L1dlYktpdERPTVRleHRUcmFja0N1ZUxpc3QuY3BwIFwKLQlEZXJpdmVkU291cmNl
cy93ZWJraXQvV2ViS2l0RE9NVGV4dFRyYWNrQ3VlTGlzdFByaXZhdGUuaAorCURlcml2ZWRTb3Vy
Y2VzL3dlYmtpdC9XZWJLaXRET01UZXh0VHJhY2tDdWVMaXN0UHJpdmF0ZS5oIFwKKwlEZXJpdmVk
U291cmNlcy93ZWJraXQvV2ViS2l0RE9NVHJhY2tFdmVudC5jcHAgXAorCURlcml2ZWRTb3VyY2Vz
L3dlYmtpdC9XZWJLaXRET01UcmFja0V2ZW50UHJpdmF0ZS5oCiBlbmRpZgogCiBnZG9tX2NsYXNz
X2xpc3QgOj0gJChzdWJzdCBXZWJLaXRET00sLCAkKGZpbHRlci1vdXQgJVByaXZhdGUsICQoYmFz
ZW5hbWUgJChub3RkaXIgJCh3ZWJraXRndGtfZ2RvbV9idWlsdF9zb3VyY2VzKSkpKSkKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0SFRNTEVsZW1lbnRXcmFwcGVy
RmFjdG9yeS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ29iamVj
dC9XZWJLaXRIVE1MRWxlbWVudFdyYXBwZXJGYWN0b3J5LmNwcAkocmV2aXNpb24gOTg5NTkpCisr
KyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdEhUTUxFbGVtZW50V3JhcHBl
ckZhY3RvcnkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNjIsNiArMTYyLDcgQEAKICNpbmNsdWRl
ICJ3ZWJraXQvV2ViS2l0RE9NVGV4dFRyYWNrQ3VlTGlzdFByaXZhdGUuaCIKICNpbmNsdWRlICJ3
ZWJraXQvV2ViS2l0RE9NVGV4dFRyYWNrQ3VlUHJpdmF0ZS5oIgogI2luY2x1ZGUgIndlYmtpdC9X
ZWJLaXRET01UZXh0VHJhY2tQcml2YXRlLmgiCisjaW5jbHVkZSAid2Via2l0L1dlYktpdERPTVRy
YWNrRXZlbnQuaCIKICNlbmRpZgogIAogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQmluZGluZ3NBbGxJbk9uZS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNCaW5kaW5nc0FsbEluT25l
LmNwcAkocmV2aXNpb24gOTg5NTkpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0Jp
bmRpbmdzQWxsSW5PbmUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDAsNiArMTQwLDggQEAKICNp
bmNsdWRlICJKU1RleHRDdXN0b20uY3BwIgogI2luY2x1ZGUgIkpTVG91Y2hDdXN0b20uY3BwIgog
I2luY2x1ZGUgIkpTVG91Y2hMaXN0Q3VzdG9tLmNwcCIKKyNpbmNsdWRlICJKU1RyYWNrQ3VzdG9t
LmNwcCIKKyNpbmNsdWRlICJKU1RyYWNrRXZlbnRDdXN0b20uY3BwIgogI2luY2x1ZGUgIkpTVHJl
ZVdhbGtlckN1c3RvbS5jcHAiCiAjaW5jbHVkZSAiSlNVaW50MTZBcnJheUN1c3RvbS5jcHAiCiAj
aW5jbHVkZSAiSlNVaW50MzJBcnJheUN1c3RvbS5jcHAiCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0RpY3Rpb25hcnkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTRGljdGlvbmFyeS5jcHAJKHJldmlzaW9uIDk4OTU5KQorKysgU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNEaWN0aW9uYXJ5LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIkpTRXZlbnRUYXJnZXQuaCIKICNpbmNsdWRlICJKU01l
c3NhZ2VQb3J0Q3VzdG9tLmgiCiAjaW5jbHVkZSAiSlNOb2RlLmgiCisjaW5jbHVkZSAiSlNUcmFj
a0N1c3RvbS5oIgogI2luY2x1ZGUgIlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIgogI2luY2x1ZGUg
IlNjcmlwdFZhbHVlLmgiCiAKQEAgLTEyNCw0ICsxMjUsOSBAQCB2b2lkIEpTRGljdGlvbmFyeTo6
Y29udmVydFZhbHVlKEV4ZWNTdGF0CiAgICAgZmlsbE1lc3NhZ2VQb3J0QXJyYXkoZXhlYywgdmFs
dWUsIHJlc3VsdCk7CiB9CiAKK3ZvaWQgSlNEaWN0aW9uYXJ5Ojpjb252ZXJ0VmFsdWUoRXhlY1N0
YXRlKiwgSlNWYWx1ZSB2YWx1ZSwgUmVmUHRyPFRyYWNrQmFzZT4mIHJlc3VsdCkKK3sKKyAgICBy
ZXN1bHQgPSB0b1RyYWNrKHZhbHVlKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRl
eDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEaWN0aW9uYXJ5LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEaWN0aW9uYXJ5LmgJKHJldmlzaW9uIDk4
OTU5KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEaWN0aW9uYXJ5LmgJKHdvcmtp
bmcgY29weSkKQEAgLTM3LDYgKzM3LDcgQEAgY2xhc3MgRXZlbnRUYXJnZXQ7CiBjbGFzcyBOb2Rl
OwogY2xhc3MgU2NyaXB0VmFsdWU7CiBjbGFzcyBTZXJpYWxpemVkU2NyaXB0VmFsdWU7CitjbGFz
cyBUcmFja0Jhc2U7CiAKIGNsYXNzIEpTRGljdGlvbmFyeSB7CiBwdWJsaWM6CkBAIC03Myw2ICs3
NCw3IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIHZvaWQgY29udmVydFZhbHVlKEpTQzo6RXhlY1N0
YXRlKiwgSlNDOjpKU1ZhbHVlLCBSZWZQdHI8RXZlbnRUYXJnZXQ+JiByZXN1bHQpOwogICAgIHN0
YXRpYyB2b2lkIGNvbnZlcnRWYWx1ZShKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNWYWx1ZSwgUmVm
UHRyPE5vZGU+JiByZXN1bHQpOwogICAgIHN0YXRpYyB2b2lkIGNvbnZlcnRWYWx1ZShKU0M6OkV4
ZWNTdGF0ZSosIEpTQzo6SlNWYWx1ZSwgTWVzc2FnZVBvcnRBcnJheSYgcmVzdWx0KTsKKyAgICBz
dGF0aWMgdm9pZCBjb252ZXJ0VmFsdWUoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTVmFsdWUsIFJl
ZlB0cjxUcmFja0Jhc2U+JiByZXN1bHQpOwogCiAgICAgSlNDOjpFeGVjU3RhdGUqIG1fZXhlYzsK
ICAgICBKU0M6OkpTT2JqZWN0KiBtX2luaXRpYWxpemVyT2JqZWN0OwpJbmRleDogU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNFdmVudENvbnN0cnVjdG9ycy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudENvbnN0cnVjdG9ycy5jcHAJKHJldmlz
aW9uIDk4OTU5KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudENvbnN0cnVj
dG9ycy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDYgKzQ0LDcgQEAKICNpbmNsdWRlICJKU1Bh
Z2VUcmFuc2l0aW9uRXZlbnQuaCIKICNpbmNsdWRlICJKU1BvcFN0YXRlRXZlbnQuaCIKICNpbmNs
dWRlICJKU1Byb2dyZXNzRXZlbnQuaCIKKyNpbmNsdWRlICJKU1RyYWNrRXZlbnQuaCIKICNpbmNs
dWRlICJKU1dlYktpdEFuaW1hdGlvbkV2ZW50LmgiCiAjaW5jbHVkZSAiSlNXZWJLaXRUcmFuc2l0
aW9uRXZlbnQuaCIKICNpbmNsdWRlICJNZXNzYWdlRXZlbnQuaCIKQEAgLTUxLDYgKzUyLDcgQEAK
ICNpbmNsdWRlICJQYWdlVHJhbnNpdGlvbkV2ZW50LmgiCiAjaW5jbHVkZSAiUG9wU3RhdGVFdmVu
dC5oIgogI2luY2x1ZGUgIlByb2dyZXNzRXZlbnQuaCIKKyNpbmNsdWRlICJUcmFja0V2ZW50Lmgi
CiAjaW5jbHVkZSAiV2ViS2l0QW5pbWF0aW9uRXZlbnQuaCIKICNpbmNsdWRlICJXZWJLaXRUcmFu
c2l0aW9uRXZlbnQuaCIKICNpbmNsdWRlIDxydW50aW1lL0Vycm9yLmg+CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU1RyYWNrQ3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1RyYWNrQ3VzdG9tLmNwcAkocmV2aXNpb24gMCkKKysr
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTVHJhY2tDdXN0b20uY3BwCShyZXZpc2lvbiAw
KQpAQCAtMCwwICsxLDg0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYg
RU5BQkxFKFZJREVPX1RSQUNLKQorCisjaW5jbHVkZSAiSlNUcmFja0N1c3RvbS5oIgorCisjaW5j
bHVkZSAiSlNUZXh0VHJhY2suaCIKKwordXNpbmcgbmFtZXNwYWNlIEpTQzsKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitUcmFja0Jhc2UqIHRvVHJhY2soSlNWYWx1ZSB2YWx1ZSkKK3sKKyAgICBp
ZiAoIXZhbHVlLmlzT2JqZWN0KCkpCisgICAgICAgIHJldHVybiAwOworCisgICAgSlNPYmplY3Qq
IG9iamVjdCA9IGFzT2JqZWN0KHZhbHVlKTsKKyAgICBpZiAob2JqZWN0LT5pbmhlcml0cygmSlNU
ZXh0VHJhY2s6OnNfaW5mbykpCisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxKU1RleHRUcmFj
ayo+KG9iamVjdCktPmltcGwoKTsKKyAgICAKKyAgICAvLyBGSVhNRTogRmlsbCBpbiBhZGRpdGlv
bmFsIHRlc3RzIGFuZCBjYXN0cyBoZXJlIGZvciBWaWRlb1RyYWNrIGFuZCBBdWRpb1RyYWNrIHdo
ZW4gCisgICAgLy8gdGhleSBoYXZlIGJlZW4gYWRkZWQgdG8gV2ViQ29yZS4KKworICAgIHJldHVy
biAwOworfQorCitKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSogZXhlYywgSlNET01H
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVHJhY2tCYXNlKiB0cmFjaykKK3sKKyAgICBpZiAo
IXRyYWNrKQorICAgICAgICByZXR1cm4ganNOdWxsKCk7CisgICAgCisgICAgSlNET01XcmFwcGVy
KiB3cmFwcGVyID0gZ2V0Q2FjaGVkV3JhcHBlcihjdXJyZW50V29ybGQoZXhlYyksIHRyYWNrKTsK
KyAgICBpZiAod3JhcHBlcikKKyAgICAgICAgcmV0dXJuIHdyYXBwZXI7CisgICAgCisgICAgc3dp
dGNoICh0cmFjay0+dHlwZSgpKSB7CisgICAgY2FzZSBUcmFja0Jhc2U6OkJhc2VUcmFjazoKKyAg
ICAgICAgLy8gVGhpcyBzaG91bGQgbmV2ZXIgaGFwcGVuLgorICAgICAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKKyAgICAgICAgYnJlYWs7CisgICAgICAgIAorICAgIGNhc2UgVHJhY2tCYXNlOjpB
dWRpb1RyYWNrOgorICAgIGNhc2UgVHJhY2tCYXNlOjpWaWRlb1RyYWNrOgorICAgICAgICAvLyBU
aGlzIHNob3VsZCBub3QgaGFwcGVuIHVudGlsIFZpZGVvVHJhY2sgYW5kIEF1ZGlvVHJhY2sgYXJl
IGltcGxlbWVudGVkLgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgYnJl
YWs7CisKKyAgICBjYXNlIFRyYWNrQmFzZTo6VGV4dFRyYWNrOgorICAgICAgICByZXR1cm4gQ1JF
QVRFX0RPTV9XUkFQUEVSKGV4ZWMsIGdsb2JhbE9iamVjdCwgVGV4dFRyYWNrLCB0cmFjayk7Cisg
ICAgICAgIGJyZWFrOworICAgIH0KKyAgICAKKyAgICByZXR1cm4ganNOdWxsKCk7Cit9CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU1RyYWNrQ3VzdG9tLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNUcmFja0N1c3RvbS5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNUcmFja0N1c3RvbS5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQyIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBD
T01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENP
TVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIAorICovCisKKyNpZm5kZWYgSlNUcmFja0N1c3RvbV9oCisjZGVmaW5lIEpTVHJhY2tDdXN0
b21faAorCisjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQorCisjaW5jbHVkZSAiSlNET01CaW5kaW5n
LmgiCisjaW5jbHVkZSAiVHJhY2tCYXNlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworVHJh
Y2tCYXNlKiB0b1RyYWNrKEpTQzo6SlNWYWx1ZSk7CitKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4
ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiwgVHJhY2tCYXNlKik7CisKK30KKworI2VuZGlm
CisjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTVHJhY2tFdmVudEN1
c3RvbS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNUcmFj
a0V2ZW50Q3VzdG9tLmNwcAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTVHJhY2tFdmVudEN1c3RvbS5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNTAgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09N
UFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01Q
VVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiAKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoVklERU9fVFJBQ0sp
CisKKyNpbmNsdWRlICJKU1RyYWNrRXZlbnQuaCIKKworI2luY2x1ZGUgIkpTVHJhY2tDdXN0b20u
aCIKKyNpbmNsdWRlICJUcmFja0Jhc2UuaCIKKwordXNpbmcgbmFtZXNwYWNlIEpTQzsKKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitKU1ZhbHVlIEpTVHJhY2tFdmVudDo6dHJhY2soRXhlY1N0YXRl
KiBleGVjKSBjb25zdAoreworICAgIFRyYWNrQmFzZSogdHJhY2sgPSBzdGF0aWNfY2FzdDxUcmFj
a0V2ZW50Kj4oaW1wbCgpKS0+dHJhY2soKTsKKyAgICBpZiAoIXRyYWNrKQorICAgICAgICByZXR1
cm4ganNOdWxsKCk7CisKKyAgICByZXR1cm4gdG9KUyhleGVjLCBnbG9iYWxPYmplY3QoKSwgdHJh
Y2spOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgpJbmRleDogU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4VHJhY2tFdmVudEN1c3RvbS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4VHJhY2tFdmVudEN1
c3RvbS5jcHAJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0
b20vVjhUcmFja0V2ZW50Q3VzdG9tLmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw3NiBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisg
KiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMu
IG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQor
ICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
bmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShWSURFT19UUkFDSykKKworI2luY2x1ZGUg
IlY4VHJhY2tFdmVudC5oIgorCisjaW5jbHVkZSAiVHJhY2tFdmVudC5oIgorI2luY2x1ZGUgIlRy
YWNrQmFzZS5oIgorI2luY2x1ZGUgIlY4VGV4dFRyYWNrLmgiCisKKyNpbmNsdWRlICJWOFByb3h5
LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4VHJh
Y2tFdmVudDo6dHJhY2tBY2Nlc3NvckdldHRlcih2ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtZSwg
Y29uc3Qgdjg6OkFjY2Vzc29ySW5mbyYgaW5mbykKK3sKKyAgICBJTkNfU1RBVFMoIkRPTS5UcmFj
a0V2ZW50LnRyYWNrIik7CisgICAgVHJhY2tFdmVudCogdHJhY2tfZXZlbnQgPSBWOFRyYWNrRXZl
bnQ6OnRvTmF0aXZlKGluZm8uSG9sZGVyKCkpOworICAgIFRyYWNrQmFzZSogdHJhY2sgPSB0cmFj
a19ldmVudC0+dHJhY2soKTsKKyAgICAKKyAgICBpZiAoIXRyYWNrKQorICAgICAgICByZXR1cm4g
djg6Ok51bGwoKTsKKworICAgIHN3aXRjaCAodHJhY2stPnR5cGUoKSkgeworICAgIGNhc2UgVHJh
Y2tCYXNlOjpCYXNlVHJhY2s6CisgICAgICAgIC8vIFRoaXMgc2hvdWxkIG5ldmVyIGhhcHBlbi4K
KyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIGJyZWFrOworICAgICAgICAK
KyAgICBjYXNlIFRyYWNrQmFzZTo6VGV4dFRyYWNrOgorICAgICAgICByZXR1cm4gdG9WOChzdGF0
aWNfY2FzdDxUZXh0VHJhY2sqPih0cmFjaykpOworICAgICAgICBicmVhazsKKworICAgIGNhc2Ug
VHJhY2tCYXNlOjpBdWRpb1RyYWNrOgorICAgIGNhc2UgVHJhY2tCYXNlOjpWaWRlb1RyYWNrOgor
ICAgICAgICAvLyBUaGlzIHNob3VsZCBub3QgaGFwcGVuIHVudGlsIFZpZGVvVHJhY2sgYW5kIEF1
ZGlvVHJhY2sgYXJlIGltcGxlbWVudGVkLgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
KyAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgcmV0dXJuIHY4OjpOdWxsKCk7Cit9CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20v
RXZlbnRGYWN0b3J5LmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudEZh
Y3RvcnkuaW4JKHJldmlzaW9uIDk4OTU5KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RmFj
dG9yeS5pbgkod29ya2luZyBjb3B5KQpAQCAtNDEsMyArNDEsNSBAQCBUb3VjaEV2ZW50IGNvbmRp
dGlvbmFsPVRPVUNIX0VWRU5UUwogRGV2aWNlTW90aW9uRXZlbnQgY29uZGl0aW9uYWw9REVWSUNF
X09SSUVOVEFUSU9OCiBEZXZpY2VPcmllbnRhdGlvbkV2ZW50IGNvbmRpdGlvbmFsPURFVklDRV9P
UklFTlRBVElPTgogT3JpZW50YXRpb25FdmVudCBpbnRlcmZhY2VOYW1lPUV2ZW50LCBjb25kaXRp
b25hbD1PUklFTlRBVElPTl9FVkVOVFMKK1RyYWNrRXZlbnQgY29uZGl0aW9uYWw9VklERU9fVFJB
Q0sKKwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCShyZXZpc2lvbiA5ODk1OSkKKysrIFNv
dXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTE0NSw2ICsx
NDUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8odm9sdW1lY2hhbmdlKSBcCiAg
ICAgbWFjcm8od2FpdGluZykgXAogICAgIFwKKyAgICBtYWNybyhhZGR0cmFjaykgXAorICAgIFwK
ICAgICBtYWNybyh3ZWJraXRiZWdpbmZ1bGxzY3JlZW4pIFwKICAgICBtYWNybyh3ZWJraXRlbmRm
dWxsc2NyZWVuKSBcCiAgICAgXApJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9UZXh0VHJhY2su
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvVGV4dFRyYWNrLmNwcAkocmV2
aXNpb24gOTg5NTkpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL1RleHRUcmFjay5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTM1LDExICszNSwxMyBAQAogI2luY2x1ZGUgIlRleHRUcmFjay5oIgogCiAj
aW5jbHVkZSAiVGV4dFRyYWNrQ3VlTGlzdC5oIgorI2luY2x1ZGUgIlRyYWNrQmFzZS5oIgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIFRleHRUcmFjazo6VGV4dFRyYWNrKFRleHRUcmFja0NsaWVu
dCogY2xpZW50LCBjb25zdCBTdHJpbmcmIGtpbmQsIGNvbnN0IFN0cmluZyYgbGFiZWwsIGNvbnN0
IFN0cmluZyYgbGFuZ3VhZ2UpCi0gICAgOiBtX2tpbmQoa2luZCkKKyAgICA6IFRyYWNrQmFzZShU
cmFja0Jhc2U6OlRleHRUcmFjaykKKyAgICAsIG1fa2luZChraW5kKQogICAgICwgbV9sYWJlbChs
YWJlbCkKICAgICAsIG1fbGFuZ3VhZ2UobGFuZ3VhZ2UpCiAgICAgLCBtX3JlYWR5U3RhdGUoVGV4
dFRyYWNrOjpOb25lKQpAQCAtMTMyLDcgKzEzNCw2IEBAIHZvaWQgVGV4dFRyYWNrOjpmZXRjaE5l
d2VzdEN1ZXMoVmVjdG9yPFQKICAgICAvLyBGSVhNRSg2Mjg5MCk6IEltcGxlbWVudC4KIH0KIAot
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUv
aHRtbC9UZXh0VHJhY2suaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL1RleHRU
cmFjay5oCShyZXZpc2lvbiA5ODk1OSkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvVGV4dFRyYWNr
LmgJKHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5LDcgQEAKICNpZiBFTkFCTEUoVklERU9fVFJB
Q0spCiAKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCisjaW5jbHVkZSAiVHJhY2tCYXNlLmgi
CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5o
PgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgpAQCAtNTEsNyArNTIsNyBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCB2b2lkIHRleHRUcmFja1JlbW92ZUN1ZShUZXh0VHJhY2sqLCBQYXNz
UmVmUHRyPFRleHRUcmFja0N1ZT4pID0gMDsKIH07CiAKLWNsYXNzIFRleHRUcmFjayA6IHB1Ymxp
YyBSZWZDb3VudGVkPFRleHRUcmFjaz4geworY2xhc3MgVGV4dFRyYWNrIDogcHVibGljIFRyYWNr
QmFzZSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8VGV4dFRyYWNrPiBjcmVhdGUo
VGV4dFRyYWNrQ2xpZW50KiBjbGllbnQsIGNvbnN0IFN0cmluZyYga2luZCwgY29uc3QgU3RyaW5n
JiBsYWJlbCwgY29uc3QgU3RyaW5nJiBsYW5ndWFnZSkKICAgICB7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9odG1sL3RyYWNrL1RyYWNrQmFzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvaHRtbC90cmFjay9UcmFja0Jhc2UuY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYkNv
cmUvaHRtbC90cmFjay9UcmFja0Jhc2UuY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQxIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBD
T01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENP
TVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIAorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJUcmFja0Jhc2UuaCIK
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitUcmFja0Jhc2U6OlRyYWNrQmFzZShUeXBlIHR5cGUp
Cit7CisgICAgQVNTRVJUKHR5cGUgIT0gQmFzZVRyYWNrKTsKKyAgICBtX3R5cGUgPSB0eXBlOwor
fQorCitUcmFja0Jhc2U6On5UcmFja0Jhc2UoKQoreworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RyYWNrQmFzZS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVHJhY2tCYXNlLmgJKHJldmlzaW9uIDAp
CisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RyYWNrQmFzZS5oCShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxLDQ5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYgVHJhY2tCYXNlX2gJCisjZGVmaW5l
IFRyYWNrQmFzZV9oCisKKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK2NsYXNzIFRyYWNrQmFzZSA6IHB1YmxpYyBSZWZDb3VudGVkPFRyYWNrQmFz
ZT4geworcHVibGljOgorICAgIHZpcnR1YWwgflRyYWNrQmFzZSgpOworCisgICAgZW51bSBUeXBl
IHsgQmFzZVRyYWNrLCBUZXh0VHJhY2ssIEF1ZGlvVHJhY2ssIFZpZGVvVHJhY2sgfTsKKyAgICBU
eXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBtX3R5cGU7IH0KKworcHJvdGVjdGVkOgorICAgIFRy
YWNrQmFzZShUeXBlKTsKKworcHJpdmF0ZToKKyAgICBUeXBlIG1fdHlwZTsKK307CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIFRyYWNrQmFzZV9oCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9odG1sL3RyYWNrL1RyYWNrRXZlbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2h0bWwvdHJhY2svVHJhY2tFdmVudC5jcHAJKHJldmlzaW9uIDApCisrKyBTb3VyY2Uv
V2ViQ29yZS9odG1sL3RyYWNrL1RyYWNrRXZlbnQuY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDYyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIAorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShWSURF
T19UUkFDSykKKworI2luY2x1ZGUgIlRyYWNrRXZlbnQuaCIKKworI2luY2x1ZGUgIkV2ZW50TmFt
ZXMuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitUcmFja0V2ZW50SW5pdDo6VHJhY2tFdmVu
dEluaXQoKQoreworfQorCisKK1RyYWNrRXZlbnQ6OlRyYWNrRXZlbnQoKQoreworfQorCitUcmFj
a0V2ZW50OjpUcmFja0V2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgY29uc3QgVHJhY2tF
dmVudEluaXQmIGluaXRpYWxpemVyKQorICAgIDogRXZlbnQodHlwZSwgaW5pdGlhbGl6ZXIpCisg
ICAgLCBtX3RyYWNrKGluaXRpYWxpemVyLnRyYWNrKQoreworfQorCitUcmFja0V2ZW50Ojp+VHJh
Y2tFdmVudCgpCit7Cit9CisKK2NvbnN0IEF0b21pY1N0cmluZyYgVHJhY2tFdmVudDo6aW50ZXJm
YWNlTmFtZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGV2ZW50TmFtZXMoKS5pbnRlcmZhY2VGb3JU
cmFja0V2ZW50OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgpJbmRleDog
U291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UcmFja0V2ZW50LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UcmFja0V2ZW50LmgJKHJldmlzaW9uIDApCisrKyBTb3Vy
Y2UvV2ViQ29yZS9odG1sL3RyYWNrL1RyYWNrRXZlbnQuaAkocmV2aXNpb24gMCkKQEAgLTAsMCAr
MSw3MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMuICBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiAKKyAqLworCisjaWZuZGVmIFRyYWNrRXZlbnRfaAorI2RlZmluZSBUcmFja0V2
ZW50X2gKKworI2lmIEVOQUJMRShWSURFT19UUkFDSykKKworI2luY2x1ZGUgIkV2ZW50LmgiCisK
KyNpbmNsdWRlICJUcmFja0Jhc2UuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3Qg
VHJhY2tFdmVudEluaXQgOiBwdWJsaWMgRXZlbnRJbml0IHsKKyAgICBUcmFja0V2ZW50SW5pdCgp
OworCisgICAgUmVmUHRyPFRyYWNrQmFzZT4gdHJhY2s7Cit9OworCitjbGFzcyBUcmFja0V2ZW50
IDogcHVibGljIEV2ZW50IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5UcmFja0V2ZW50KCk7CisK
KyAgICBzdGF0aWMgUGFzc1JlZlB0cjxUcmFja0V2ZW50PiBjcmVhdGUoKQorICAgIHsKKyAgICAg
ICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBUcmFja0V2ZW50KTsKKyAgICB9CisKKyAgICBzdGF0aWMg
UGFzc1JlZlB0cjxUcmFja0V2ZW50PiBjcmVhdGUoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBj
b25zdCBUcmFja0V2ZW50SW5pdCYgaW5pdGlhbGl6ZXIpCisgICAgeworICAgICAgICByZXR1cm4g
YWRvcHRSZWYobmV3IFRyYWNrRXZlbnQodHlwZSwgaW5pdGlhbGl6ZXIpKTsKKyAgICB9CisKKyAg
ICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgaW50ZXJmYWNlTmFtZSgpIGNvbnN0OworCisg
ICAgVHJhY2tCYXNlKiB0cmFjaygpIGNvbnN0IHsgcmV0dXJuIG1fdHJhY2suZ2V0KCk7IH0KKwor
cHJpdmF0ZToKKyAgICBUcmFja0V2ZW50KCk7CisgICAgVHJhY2tFdmVudChjb25zdCBBdG9taWNT
dHJpbmcmIHR5cGUsIGNvbnN0IFRyYWNrRXZlbnRJbml0JiBpbml0aWFsaXplcik7CisKKyAgICB2
aXJ0dWFsIGJvb2wgaXNUcmFja0V2ZW50KCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQorCisgICAg
UmVmUHRyPFRyYWNrQmFzZT4gbV90cmFjazsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
KworI2VuZGlmCisjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVHJhY2tF
dmVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UcmFja0V2
ZW50LmlkbAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVHJhY2tF
dmVudC5pZGwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTEgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMg
SVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
CisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworbW9kdWxl
IGh0bWwgeworCisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0aW9uYWw9VklERU9fVFJB
Q0ssCisgICAgICAgIEVuYWJsZWRBdFJ1bnRpbWU9d2Via2l0VmlkZW9UcmFjaywKKyAgICAgICAg
Q2FuQmVDb25zdHJ1Y3RlZCwKKyAgICAgICAgSlNDdXN0b21Db25zdHJ1Y3RvciwKKyAgICBdIFRy
YWNrRXZlbnQgOiBFdmVudCB7CisKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtDdXN0b21H
ZXR0ZXJdIG9iamVjdCB0cmFjazsKKworICAgIH07CisKK30KSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3BhZ2UvRE9NV2luZG93LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0RP
TVdpbmRvdy5pZGwJKHJldmlzaW9uIDk4OTU5KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9ET01X
aW5kb3cuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC02MTUsNiArNjE1LDcgQEAgbW9kdWxlIHdpbmRv
dyB7CiAgICAgICAgIGF0dHJpYnV0ZSBbRW5hYmxlZEF0UnVudGltZT13ZWJraXRWaWRlb1RyYWNr
XSBUZXh0VHJhY2tDb25zdHJ1Y3RvciBUZXh0VHJhY2s7CiAgICAgICAgIGF0dHJpYnV0ZSBbRW5h
YmxlZEF0UnVudGltZT13ZWJraXRWaWRlb1RyYWNrXSBUZXh0VHJhY2tDdWVDb25zdHJ1Y3RvciBU
ZXh0VHJhY2tDdWU7IC8vIFVzYWJsZSB3aXRoIHRoZSBuZXcgb3BlcmF0b3IKICAgICAgICAgYXR0
cmlidXRlIFtFbmFibGVkQXRSdW50aW1lPXdlYmtpdFZpZGVvVHJhY2tdIFRleHRUcmFja0N1ZUxp
c3RDb25zdHJ1Y3RvciBUZXh0VHJhY2tDdWVMaXN0OworICAgICAgICBhdHRyaWJ1dGUgW0VuYWJs
ZWRBdFJ1bnRpbWU9d2Via2l0VmlkZW9UcmFja10gVHJhY2tFdmVudENvbnN0cnVjdG9yIFRyYWNr
RXZlbnQ7CiAjZW5kaWYKIAogICAgICAgICBhdHRyaWJ1dGUgRE9NUGx1Z2luQ29uc3RydWN0b3Ig
UGx1Z2luOwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gOTg5NzApCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNSBAQAorMjAxMS0xMS0wMSAgRXJpYyBDYXJs
c29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgVHJhY2tFdmVudAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNzgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvZXZl
bnRzL2NvbnN0cnVjdG9ycy90cmFjay1ldmVudC1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy90cmFjay1ldmVudC1jb25z
dHJ1Y3Rvci5odG1sOiBEaXR0by4KKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvZmFzdC9kb20vV2lu
ZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dDogVXBkYXRlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9ndGsvZmFzdC9qcy9nbG9iYWwtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dDogRGl0
dG8uCisKIDIwMTEtMTEtMDEgIExlYW5kcm8gUGVyZWlyYSAgPGxlYW5kcm9AcHJvZnVzaW9uLm1v
Ymk+CiAKICAgICAgICAgW0VGTF0gVW5yZXZpZXdlZC4gQWRkIHNvbWUgcGl4ZWwgYmFzZWxpbmVz
IGZvciB0ZXN0cyBpbiBmYXN0Ly4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2NvbnN0
cnVjdG9ycy90cmFjay1ldmVudC1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL3RyYWNrLWV2ZW50LWNvbnN0
cnVjdG9yLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZXZl
bnRzL2NvbnN0cnVjdG9ycy90cmFjay1ldmVudC1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsMzkgQEAKK1RoaXMgdGVzdHMgdGhlIGNvbnN0cnVjdG9yIGZv
ciB0aGUgVHJhY2tFdmVudCBET00gY2xhc3MuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworCisKKyoqKiBObyBpbml0aWFsaXplciBwYXNzZWQgKioqCitQQVNTIG5ldyBUcmFja0V2ZW50
KCdUcmFja0V2ZW50JykuYnViYmxlcyBpcyBmYWxzZQorUEFTUyBuZXcgVHJhY2tFdmVudCgnVHJh
Y2tFdmVudCcpLmNhbmNlbGFibGUgaXMgZmFsc2UKK1BBU1MgbmV3IFRyYWNrRXZlbnQoJ1RyYWNr
RXZlbnQnKS50cmFjayBpcyBudWxsCisKKyoqKiBCdWJibGVzIGFuZCBjYW5jZWxhYmxlIHRydWUs
IHRyYWNrIGlzIG1pc3NpbmcgKioqCitQQVNTIG5ldyBUcmFja0V2ZW50KCdUcmFja0V2ZW50Jywg
eyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlIH0pLmJ1YmJsZXMgaXMgdHJ1ZQorUEFT
UyBuZXcgVHJhY2tFdmVudCgnVHJhY2tFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJs
ZTogdHJ1ZSB9KS5jYW5jZWxhYmxlIGlzIHRydWUKK1BBU1MgbmV3IFRyYWNrRXZlbnQoJ1RyYWNr
RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUgfSkudHJhY2sgaXMgbnVs
bAorCisqKiogQnViYmxlcyBhbmQgY2FuY2VsYWJsZSB0cnVlLCBpbnZhbGlkIHRyYWNrICoqKgor
UEFTUyBuZXcgVHJhY2tFdmVudCgnVHJhY2tFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2Vs
YWJsZTogdHJ1ZSwgdHJhY2s6IEhUTUxUcmFja0VsZW1lbnQgfSkuYnViYmxlcyBpcyB0cnVlCitQ
QVNTIG5ldyBUcmFja0V2ZW50KCdUcmFja0V2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxh
YmxlOiB0cnVlLCB0cmFjazogSFRNTFRyYWNrRWxlbWVudCB9KS5jYW5jZWxhYmxlIGlzIHRydWUK
K1BBU1MgbmV3IFRyYWNrRXZlbnQoJ1RyYWNrRXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNl
bGFibGU6IHRydWUsIHRyYWNrOiBIVE1MVHJhY2tFbGVtZW50IH0pLnRyYWNrIGlzIG51bGwKKwor
KioqIEluaXRpYWxpemUgJ3RyYWNrJyB3aXRoIGEgaW52YWxpZCB2YWx1ZXMgKioqCitQQVNTIG5l
dyBUcmFja0V2ZW50KCdUcmFja0V2ZW50JywgeyB0cmFjazogMTAgfSkudHJhY2sgaXMgbnVsbAor
UEFTUyBuZXcgVHJhY2tFdmVudCgnVHJhY2tFdmVudCcsIHsgdHJhY2s6ICdzdHJpbmcnIH0pLnRy
YWNrIGlzIG51bGwKK1BBU1MgbmV3IFRyYWNrRXZlbnQoJ1RyYWNrRXZlbnQnLCB7IHRyYWNrOiBl
bXB0eU9iamVjdCB9KS50cmFjayBpcyBudWxsCitQQVNTIG5ldyBUcmFja0V2ZW50KCdUcmFja0V2
ZW50JywgeyB0cmFjazogZG9jdW1lbnQgfSkudHJhY2sgaXMgbnVsbAorCisqKiogQnViYmxlcyBh
bmQgY2FuY2VsYWJsZSB0cnVlLCB2YWxpZCB0cmFjayAqKioKK1BBU1MgbmV3IFRyYWNrRXZlbnQo
J1RyYWNrRXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIHRyYWNrOiBI
VE1MVHJhY2tFbGVtZW50IH0pLmJ1YmJsZXMgaXMgdHJ1ZQorUEFTUyBuZXcgVHJhY2tFdmVudCgn
VHJhY2tFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwgdHJhY2s6IEhU
TUxUcmFja0VsZW1lbnQgfSkuY2FuY2VsYWJsZSBpcyB0cnVlCitQQVNTIG5ldyBUcmFja0V2ZW50
KCdUcmFja0V2ZW50JywgeyB0cmFjazogdHJhY2tFbGVtZW50LnRyYWNrIH0pLnRyYWNrIGlzIHRy
YWNrRWxlbWVudC50cmFjaworCisqKiogSW5pdGlhbGl6ZSAndHJhY2snIHdpdGggdmFsaWQgdHJh
Y2sgb2JqZWN0ICoqKgorUEFTUyBuZXcgVHJhY2tFdmVudCgnVHJhY2tFdmVudCcsIHsgdHJhY2s6
IHRyYWNrRWxlbWVudC50cmFjayB9KS50cmFjayBpcyB0cmFja0VsZW1lbnQudHJhY2sKKworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy90cmFjay1ldmVudC1jb25zdHJ1Y3Rv
ci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2NvbnN0cnVjdG9y
cy90cmFjay1ldmVudC1jb25zdHJ1Y3Rvci5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVz
dHMvZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL3RyYWNrLWV2ZW50LWNvbnN0cnVjdG9yLmh0bWwJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHk+CisgICAgPHNjcmlwdD4KKworICAgICAgICB3
aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdHMgdGhlIGNvbnN0cnVjdG9yIGZvciB0aGUgVHJhY2tFdmVudCBET00gY2xhc3MuIik7CisK
KyAgICAgICAgZnVuY3Rpb24gdGVzdCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIC8vIE1ha2Ug
c3VyZSB0aGUgdHJhY2sgYWN0dWFsbHkgbG9hZGVkLgorICAgICAgICAgICAgc2hvdWxkQmUoInRy
YWNrRWxlbWVudC50cmFjay5yZWFkeVN0YXRlIiwgIlRleHRUcmFjay5Mb2FkZWQiLCB0cnVlKTsK
KworICAgICAgICAgICAgZGVidWcoIjxicj4qKiogTm8gaW5pdGlhbGl6ZXIgcGFzc2VkICoqKiIp
OworICAgICAgICAgICAgc2hvdWxkQmUoIm5ldyBUcmFja0V2ZW50KCdUcmFja0V2ZW50JykuYnVi
YmxlcyIsICJmYWxzZSIpOworICAgICAgICAgICAgc2hvdWxkQmUoIm5ldyBUcmFja0V2ZW50KCdU
cmFja0V2ZW50JykuY2FuY2VsYWJsZSIsICJmYWxzZSIpOworICAgICAgICAgICAgc2hvdWxkQmVO
dWxsKCJuZXcgVHJhY2tFdmVudCgnVHJhY2tFdmVudCcpLnRyYWNrIik7CisgICAgCisgICAgICAg
ICAgICBkZWJ1ZygiPGJyPioqKiBCdWJibGVzIGFuZCBjYW5jZWxhYmxlIHRydWUsIHRyYWNrIGlz
IG1pc3NpbmcgKioqIik7CisgICAgICAgICAgICBzaG91bGRCZSgibmV3IFRyYWNrRXZlbnQoJ1Ry
YWNrRXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUgfSkuYnViYmxlcyIs
ICJ0cnVlIik7CisgICAgICAgICAgICBzaG91bGRCZSgibmV3IFRyYWNrRXZlbnQoJ1RyYWNrRXZl
bnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUgfSkuY2FuY2VsYWJsZSIsICJ0
cnVlIik7CisgICAgICAgICAgICBzaG91bGRCZU51bGwoIm5ldyBUcmFja0V2ZW50KCdUcmFja0V2
ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlIH0pLnRyYWNrIik7CisgICAg
CisgICAgICAgICAgICBkZWJ1ZygiPGJyPioqKiBCdWJibGVzIGFuZCBjYW5jZWxhYmxlIHRydWUs
IGludmFsaWQgdHJhY2sgKioqIik7CisgICAgICAgICAgICBzaG91bGRCZSgibmV3IFRyYWNrRXZl
bnQoJ1RyYWNrRXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIHRyYWNr
OiBIVE1MVHJhY2tFbGVtZW50IH0pLmJ1YmJsZXMiLCAidHJ1ZSIpOworICAgICAgICAgICAgc2hv
dWxkQmUoIm5ldyBUcmFja0V2ZW50KCdUcmFja0V2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5j
ZWxhYmxlOiB0cnVlLCB0cmFjazogSFRNTFRyYWNrRWxlbWVudCB9KS5jYW5jZWxhYmxlIiwgInRy
dWUiKTsKKyAgICAgICAgICAgIHNob3VsZEJlTnVsbCgibmV3IFRyYWNrRXZlbnQoJ1RyYWNrRXZl
bnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIHRyYWNrOiBIVE1MVHJhY2tF
bGVtZW50IH0pLnRyYWNrIik7CisgICAgCisgICAgICAgICAgICBkZWJ1ZygiPGJyPioqKiBJbml0
aWFsaXplICd0cmFjaycgd2l0aCBhIGludmFsaWQgdmFsdWVzICoqKiIpOworICAgICAgICAgICAg
c2hvdWxkQmVOdWxsKCJuZXcgVHJhY2tFdmVudCgnVHJhY2tFdmVudCcsIHsgdHJhY2s6IDEwIH0p
LnRyYWNrIik7CisgICAgICAgICAgICBzaG91bGRCZU51bGwoIm5ldyBUcmFja0V2ZW50KCdUcmFj
a0V2ZW50JywgeyB0cmFjazogXCdzdHJpbmdcJyB9KS50cmFjayIpOworICAgICAgICAgICAgZW1w
dHlPYmplY3QgPSB7IH07CisgICAgICAgICAgICBzaG91bGRCZU51bGwoIm5ldyBUcmFja0V2ZW50
KCdUcmFja0V2ZW50JywgeyB0cmFjazogZW1wdHlPYmplY3QgfSkudHJhY2siKTsKKyAgICAgICAg
ICAgIHNob3VsZEJlTnVsbCgibmV3IFRyYWNrRXZlbnQoJ1RyYWNrRXZlbnQnLCB7IHRyYWNrOiBk
b2N1bWVudCB9KS50cmFjayIpOworCisgICAgICAgICAgICBkZWJ1ZygiPGJyPioqKiBCdWJibGVz
IGFuZCBjYW5jZWxhYmxlIHRydWUsIHZhbGlkIHRyYWNrICoqKiIpOworICAgICAgICAgICAgc2hv
dWxkQmUoIm5ldyBUcmFja0V2ZW50KCdUcmFja0V2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5j
ZWxhYmxlOiB0cnVlLCB0cmFjazogSFRNTFRyYWNrRWxlbWVudCB9KS5idWJibGVzIiwgInRydWUi
KTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJuZXcgVHJhY2tFdmVudCgnVHJhY2tFdmVudCcsIHsg
YnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwgdHJhY2s6IEhUTUxUcmFja0VsZW1lbnQg
fSkuY2FuY2VsYWJsZSIsICJ0cnVlIik7CisgICAgICAgICAgICBzaG91bGRCZSgibmV3IFRyYWNr
RXZlbnQoJ1RyYWNrRXZlbnQnLCB7IHRyYWNrOiB0cmFja0VsZW1lbnQudHJhY2sgfSkudHJhY2si
LCAidHJhY2tFbGVtZW50LnRyYWNrIik7CisKKyAgICAgICAgICAgIGRlYnVnKCI8YnI+KioqIElu
aXRpYWxpemUgJ3RyYWNrJyB3aXRoIHZhbGlkIHRyYWNrIG9iamVjdCAqKioiKTsKKyAgICAgICAg
ICAgIHNob3VsZEJlKCJuZXcgVHJhY2tFdmVudCgnVHJhY2tFdmVudCcsIHsgdHJhY2s6IHRyYWNr
RWxlbWVudC50cmFjayB9KS50cmFjayIsICJ0cmFja0VsZW1lbnQudHJhY2siKTsKKworICAgICAg
ICAgICAgZGVidWcoIiIpOworICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgIH0K
KworICAgICAgICB2aWRlbyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3ZpZGVvJyk7CisgICAg
ICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodmlkZW8pOworCisgICAgICAgIHRyYWNrRWxl
bWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyYWNrJyk7CisgICAgICAgIHZpZGVvLmFw
cGVuZENoaWxkKHRyYWNrRWxlbWVudCk7CisgICAgICAgIHRyYWNrRWxlbWVudC5hZGRFdmVudExp
c3RlbmVyKCdsb2FkJywgdGVzdCk7CisgICAgICAgIHRyYWNrRWxlbWVudC5zcmM9J2RhdGE6dGV4
dC92dHQsV0VCVlRUIEZJTEUgXHJccjFccjAwOjAwOjAwLjAwMCAtLT4gMDA6MDA6MzAuNTAwXHJv
bmx5IG9uZSBjYXB0aW9uJzsKKworICAgIDwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKworPC9ib2R5PgorPC9o
dG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlv
bnMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3Rf
ZXhwZWN0YXRpb25zLnR4dAkocmV2aXNpb24gOTg5NTkpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTExMSw2
ICsxMTEsNyBAQCBCVUdXSzQzNjY4IFNLSVAgOiBtZWRpYS90cmFjay90cmFjay13ZWJ2CiBCVUdX
SzQzNjY4IFNLSVAgOiBtZWRpYS90cmFjay90cmFjay13ZWJ2dHQtdGMwMjYtdm9pY2UuaHRtbCA9
IFRJTUVPVVQKIEJVR1dLNDM2NjggU0tJUCA6IG1lZGlhL3RyYWNrL3RyYWNrLXdlYnZ0dC10YzAy
Ny1lbXB0eS1jdWUuaHRtbCA9IFRJTUVPVVQKIEJVR1dLNDM2NjggU0tJUCA6IG1lZGlhL3RyYWNr
L3RyYWNrLXdlYnZ0dC10YzAyOC11bnN1cHBvcnRlZC1tYXJrdXAuaHRtbCA9IFRJTUVPVVQKK0JV
R1dLNDM2NjggU0tJUCA6IGZhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy90cmFjay1ldmVudC1jb25z
dHJ1Y3Rvci5odG1sID0gVElNRU9VVAogCiAvLyBUZXN0cyBmb3IgTWVkaWFTb3VyY2UgQVBJLiBG
ZWF0dXJlIGlzIG5vdCB5ZXQgZnVuY3Rpb25hbC4KIEJVR1dLNjQ3MzEgU0tJUCA6IGh0dHAvdGVz
dHMvbWVkaWEvbWVkaWEtc291cmNlLyA9IFRJTUVPVVQKSW5kZXg6IExheW91dFRlc3RzL3BsYXRm
b3JtL2d0ay9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9mYXN0L2RvbS9XaW5kb3cvd2lu
ZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA5ODk1OSkKKysrIExheW91dFRl
c3RzL3BsYXRmb3JtL2d0ay9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0yMTM4LDYgKzIxMzgsOCBAQCB3aW5kb3cuVGltZVJh
bmdlcyBbb2JqZWN0IFRpbWVSYW5nZXNDb25zCiB3aW5kb3cuVGltZVJhbmdlcy5wcm90b3R5cGUg
W29iamVjdCBUaW1lUmFuZ2VzUHJvdG90eXBlXQogd2luZG93LlRpbWVSYW5nZXMucHJvdG90eXBl
LmVuZCBbZnVuY3Rpb25dCiB3aW5kb3cuVGltZVJhbmdlcy5wcm90b3R5cGUuc3RhcnQgW2Z1bmN0
aW9uXQord2luZG93LlRyYWNrRXZlbnQgW29iamVjdCBUcmFja0V2ZW50Q29uc3RydWN0b3JdCit3
aW5kb3cuVHJhY2tFdmVudC5wcm90b3R5cGUgW3ByaW50ZWQgYWJvdmUgYXMgd2luZG93LkV2ZW50
LnByb3RvdHlwZV0KIHdpbmRvdy5UeXBlRXJyb3IgW2Z1bmN0aW9uXQogd2luZG93LlVJRXZlbnQg
W29iamVjdCBVSUV2ZW50Q29uc3RydWN0b3JdCiB3aW5kb3cuVUlFdmVudC5wcm90b3R5cGUgW3By
aW50ZWQgYWJvdmUgYXMgd2luZG93LkV2ZW50LnByb3RvdHlwZV0KSW5kZXg6IExheW91dFRlc3Rz
L3BsYXRmb3JtL2d0ay9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9mYXN0L2pzL2dsb2JhbC1jb25z
dHJ1Y3RvcnMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA5ODk1OSkKKysrIExheW91dFRlc3RzL3Bs
YXRmb3JtL2d0ay9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMDcsNiArMzA3LDcgQEAgUEFTUyBUZXh0VHJhY2sudG9TdHJpbmcoKSBp
cyAnW29iamVjdCBUZQogUEFTUyBUZXh0VHJhY2tDdWUudG9TdHJpbmcoKSBpcyAnW29iamVjdCBU
ZXh0VHJhY2tDdWVDb25zdHJ1Y3Rvcl0nCiBQQVNTIFRleHRUcmFja0N1ZUxpc3QudG9TdHJpbmco
KSBpcyAnW29iamVjdCBUZXh0VHJhY2tDdWVMaXN0Q29uc3RydWN0b3JdJwogUEFTUyBUaW1lUmFu
Z2VzLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgVGltZVJhbmdlc0NvbnN0cnVjdG9yXScKK1BBU1Mg
VHJhY2tFdmVudC50b1N0cmluZygpIGlzICdbb2JqZWN0IFRyYWNrRXZlbnRDb25zdHJ1Y3Rvcl0n
CiBQQVNTIFVJRXZlbnQudG9TdHJpbmcoKSBpcyAnW29iamVjdCBVSUV2ZW50Q29uc3RydWN0b3Jd
JwogUEFTUyBXZWJLaXRBbmltYXRpb25FdmVudC50b1N0cmluZygpIGlzICdbb2JqZWN0IFdlYktp
dEFuaW1hdGlvbkV2ZW50Q29uc3RydWN0b3JdJwogUEFTUyBXZWJLaXRDU1NLZXlmcmFtZVJ1bGUu
dG9TdHJpbmcoKSBpcyAnW29iamVjdCBXZWJLaXRDU1NLZXlmcmFtZVJ1bGVDb25zdHJ1Y3Rvcl0n
CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZAkocmV2aXNpb24gOTg5NTkpCisrKyBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZAkod29ya2luZyBjb3B5KQpAQCAtNDU3LDYgKzQ1
Nyw3IEBAIG1lZGlhL3RyYWNrL3RyYWNrLXdlYnZ0dC10YzAyNS1jbGFzcy1tYXIKIG1lZGlhL3Ry
YWNrL3RyYWNrLXdlYnZ0dC10YzAyNi12b2ljZS5odG1sCiBtZWRpYS90cmFjay90cmFjay13ZWJ2
dHQtdGMwMjctZW1wdHktY3VlLmh0bWwKIG1lZGlhL3RyYWNrL3RyYWNrLXdlYnZ0dC10YzAyOC11
bnN1cHBvcnRlZC1tYXJrdXAuaHRtbAorZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL3RyYWNrLWV2
ZW50LWNvbnN0cnVjdG9yLmh0bWwKIAogIyBUZXN0cyBmb3IgTWVkaWFTb3VyY2UgQVBJLiBGZWF0
dXJlIGlzIG5vdCB5ZXQgZnVuY3Rpb25hbC4KICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTY0NzMxCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBl
ZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAkocmV2aXNp
b24gOTg5NTkpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAkod29ya2luZyBj
b3B5KQpAQCAtMTQ0MSw2ICsxNDQxLDcgQEAgbWVkaWEvdHJhY2svdHJhY2std2VidnR0LXRjMDI1
LWNsYXNzLW1hcgogbWVkaWEvdHJhY2svdHJhY2std2VidnR0LXRjMDI2LXZvaWNlLmh0bWwKIG1l
ZGlhL3RyYWNrL3RyYWNrLXdlYnZ0dC10YzAyNy1lbXB0eS1jdWUuaHRtbAogbWVkaWEvdHJhY2sv
dHJhY2std2VidnR0LXRjMDI4LXVuc3VwcG9ydGVkLW1hcmt1cC5odG1sCitmYXN0L2V2ZW50cy9j
b25zdHJ1Y3RvcnMvdHJhY2stZXZlbnQtY29uc3RydWN0b3IuaHRtbAogCiAjIFRlc3RzIGZvciBN
ZWRpYVNvdXJjZSBBUEkuIEZlYXR1cmUgaXMgbm90IHlldCBmdW5jdGlvbmFsLgogIyBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ3MzEK
</data>
<flag name="commit-queue"
          id="111485"
          type_id="3"
          status="-"
          setter="gustavo"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113277</attachid>
            <date>2011-11-01 22:02:30 -0700</date>
            <delta_ts>2011-11-02 09:49:49 -0700</delta_ts>
            <desc>Updated patch</desc>
            <filename>patch_track_event_13.txt</filename>
            <type>text/plain</type>
            <size>63810</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk5MDM4KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNzQgQEAKKzIwMTEtMTEtMDEgIEVyaWMgQ2Fy
bHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIFRyYWNrRXZlbnQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTc4CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogZmFz
dC9ldmVudHMvY29uc3RydWN0b3JzL3RyYWNrLWV2ZW50LWNvbnN0cnVjdG9yLmh0bWwKKworICAg
ICAgICAqIENNYWtlTGlzdHMudHh0OiBBZGQgbmV3IGZpbGVzIGZvciBUcmFja0V2ZW50LgorICAg
ICAgICAqIENvZGVHZW5lcmF0b3JzLnByaTogRGl0dG8uCisgICAgICAgICogRGVyaXZlZFNvdXJj
ZXMuY3BwOiBEaXR0by4KKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOiBEaXR0by4KKyAg
ICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOiBEaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLmd5
cGk6IERpdHRvLgorICAgICAgICAqIFdlYkNvcmUucHJvOiBEaXR0by4KKyAgICAgICAgKiBXZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6IERpdHRvLgorICAgICAgICAqIGJpbmRpbmdz
L2dlbmVyaWMvRXZlbnRDb25zdHJ1Y3RvcnMuaDogRGl0dG8uCisgICAgICAgICogYmluZGluZ3Mv
Z29iamVjdC9HTlVtYWtlZmlsZS5hbTogRGl0dG8uCisgICAgICAgICogYmluZGluZ3MvZ29iamVj
dC9XZWJLaXRIVE1MRWxlbWVudFdyYXBwZXJGYWN0b3J5LmNwcDogRGl0dG8uCisgICAgICAgICog
YmluZGluZ3MvanMvSlNCaW5kaW5nc0FsbEluT25lLmNwcDogRGl0dG8uCisKKyAgICAgICAgKiBi
aW5kaW5ncy9qcy9KU0RpY3Rpb25hcnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNEaWN0aW9u
YXJ5Ojpjb252ZXJ0VmFsdWUpOiBBZGQgbWV0aG9kIHRvIGNvbnZlcnQgdG8gYSBUcmFjay4KKyAg
ICAgICAgKiBiaW5kaW5ncy9qcy9KU0RpY3Rpb25hcnkuaDoKKworICAgICAgICAqIGJpbmRpbmdz
L2pzL0pTRXZlbnRDb25zdHJ1Y3RvcnMuY3BwOiAgQWRkIG5ldyBmaWxlcyBmb3IgVHJhY2tFdmVu
dC4KKworICAgICAgICAqIGJpbmRpbmdzL2pzL0pTVHJhY2tDdXN0b20uY3BwOiBBZGRlZC4gCisg
ICAgICAgIChXZWJDb3JlOjp0b1RyYWNrKTogTmV3LCBjb252ZXJ0IGZyb20gYSBKU1ZhbHVlIHRv
IGEgVHJhY2suCisgICAgICAgIChXZWJDb3JlOjp0b0pTKTogTmV3LCByZXR1cm4gYSBKUyB3cmFw
cGVyIGZvciBhIFRyYWNrLgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTVHJhY2tDdXN0b20uaDog
QWRkZWQuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1RyYWNrRXZlbnRDdXN0b20uY3BwOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkpTVHJhY2tFdmVudDo6dHJhY2spOiBOZXcsIHJldHVy
bnMgYSBUZXh0RXZlbnQncyAndHJhY2snIGF0dHJpYnV0ZS4KKworICAgICAgICAqIGJpbmRpbmdz
L3Y4L09wdGlvbnNPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6T3B0aW9uc09iamVjdDo6
Z2V0KTogUmV0dXJucyBUcmFja0Jhc2UgY29ycmVzcG9uZGluZyB0byBhIGdpdmVuIGtleS4KKwor
ICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEV2ZW50Q29uc3RydWN0b3JzLmNwcDogQWRk
IFRyYWNrIGluaXRpYWxpemluZyBjb25zdHJ1Y3Rvci4KKworICAgICAgICAqIGJpbmRpbmdzL3Y4
L2N1c3RvbS9WOFRyYWNrRXZlbnRDdXN0b20uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OlY4VHJhY2tFdmVudDo6dHJhY2tBY2Nlc3NvckdldHRlcik6IE5ldywgcmV0dXJucyBhIFRleHRF
dmVudCdzICd0cmFjaycgYXR0cmlidXRlLgorCisgICAgICAgICogZG9tL0V2ZW50RmFjdG9yeS5p
bjogQWRkIFRyYWNrRXZlbnQuCisKKyAgICAgICAgKiBkb20vRXZlbnROYW1lcy5oOiBBZGQgJ2Fk
ZHRyYWNrJyBldmVudC4KKworICAgICAgICAqIGh0bWwvVGV4dFRyYWNrLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlRleHRUcmFjazo6VGV4dFRyYWNrKTogQ2FsbCBuZXcgYmFzZSBjbGFzcyBjb25z
dHJ1Y3Rvci4KKyAgICAgICAgKiBodG1sL1RleHRUcmFjay5oOiBOb3cgZGVyaXZlIGZyb20gQmFz
ZVRyYWNrIGZvciB0aGUgZGF5IHdlIGltcGxlbWVudCBWaWRlb1RyYWNrIGFuZCBBdWRpb1RyYWNr
LgorCisgICAgICAgICogaHRtbC90cmFjay9UcmFja0Jhc2UuY3BwOiBBZGRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OlRyYWNrQmFzZTo6VHJhY2tCYXNlKToKKyAgICAgICAgKFdlYkNvcmU6OlRyYWNr
QmFzZTo6flRyYWNrQmFzZSk6CisgICAgICAgICogaHRtbC90cmFjay9UcmFja0Jhc2UuaDogQWRk
ZWQuCisgICAgICAgIChXZWJDb3JlOjpUcmFja0Jhc2U6OnR5cGUpOiBSZXR1cm4gdGhlIHRyYWNr
IHR5cGUuCisKKyAgICAgICAgKiBodG1sL3RyYWNrL1RyYWNrRXZlbnQuY3BwOiBBZGRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OlRyYWNrRXZlbnRJbml0OjpUcmFja0V2ZW50SW5pdCk6CisgICAgICAg
IChXZWJDb3JlOjpUcmFja0V2ZW50OjpUcmFja0V2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlRy
YWNrRXZlbnQ6On5UcmFja0V2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlRyYWNrRXZlbnQ6Omlu
dGVyZmFjZU5hbWUpOgorICAgICAgICAqIGh0bWwvdHJhY2svVHJhY2tFdmVudC5oOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OlRyYWNrRXZlbnQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpUcmFja0V2ZW50Ojppc1RyYWNrRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6VHJhY2tFdmVu
dDo6dHJhY2spOgorICAgICAgICAqIGh0bWwvdHJhY2svVHJhY2tFdmVudC5pZGw6IEFkZGVkLgor
CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaWRsOiBBZGQgVHJhY2tFdmVudC4KKwogMjAxMS0x
MS0wMSAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgQ2hhbmdlIEhU
TUxTZWxlY3RFbGVtZW50OjpzZXRTZWxlY3RlZEluZGV4IHRvIHVzZSBlbnVtcyBpbnN0ZWFkIG9m
IGJvb2xzCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24gOTg5NTkpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMzE4LDYgKzMxOCw4
IEBAIFNFVChXZWJDb3JlX0lETF9GSUxFUwogICAgIGh0bWwvY2FudmFzL1dlYkdMVmVydGV4QXJy
YXlPYmplY3RPRVMuaWRsCiAgICAgaHRtbC9jYW52YXMvV2ViS2l0TG9zZUNvbnRleHQuaWRsCiAK
KyAgICBodG1sL3RyYWNrL1RyYWNrRXZlbnQuaWRsCisKICAgICBpbnNwZWN0b3IvSW5qZWN0ZWRT
Y3JpcHRIb3N0LmlkbAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaWRsCiAg
ICAgaW5zcGVjdG9yL0phdmFTY3JpcHRDYWxsRnJhbWUuaWRsCkBAIC0yMDY0LDYgKzIwNjYsOCBA
QCBJRiAoRU5BQkxFX1ZJREVPX1RSQUNLKQogICAgICAgICBodG1sL1RleHRUcmFja0N1ZS5jcHAK
ICAgICAgICAgaHRtbC9UZXh0VHJhY2tDdWVJbmRleC5jcHAKICAgICAgICAgaHRtbC9UZXh0VHJh
Y2tDdWVMaXN0LmNwcAorICAgICAgICBodG1sL3RyYWNrL1RyYWNrQmFzZS5jcHAKKyAgICAgICAg
aHRtbC90cmFjay9UcmFja0V2ZW50LmNwcAogICAgICAgICBodG1sL3RyYWNrL1dlYlZUVFBhcnNl
ci5jcHAKICAgICAgICAgaHRtbC90cmFjay9XZWJWVFRUb2tlbml6ZXIuY3BwCiAgICAgICAgIGxv
YWRlci9UZXh0VHJhY2tMb2FkZXIuY3BwCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Db2RlR2VuZXJh
dG9ycy5wcmkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ29kZUdlbmVyYXRvcnMucHJp
CShyZXZpc2lvbiA5ODk1OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NvZGVHZW5lcmF0b3JzLnByaQko
d29ya2luZyBjb3B5KQpAQCAtNTc3LDYgKzU3Nyw3IEBAIGNvbnRhaW5zKERFRklORVMsIEVOQUJM
RV9WSURFT19UUkFDSz0xKSAKICAgICBodG1sL1RleHRUcmFjay5pZGwgXAogICAgIGh0bWwvVGV4
dFRyYWNrQ3VlLmlkbCBcCiAgICAgaHRtbC9UZXh0VHJhY2tDdWVMaXN0LmlkbCBcCisgICAgaHRt
bC90cmFjay9UcmFja0V2ZW50LmlkbCBcCiB9CiAKIHY4OiB3cmFwcGVyRmFjdG9yeUFyZyA9IC0t
d3JhcHBlckZhY3RvcnlWOApJbmRleDogU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAkocmV2aXNp
b24gOTg5NTkpCisrKyBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTQ0MSw2ICs0NDEsNyBAQAogI2luY2x1ZGUgIkpTVGV4dFRyYWNrLmNwcCIKICNp
bmNsdWRlICJKU1RleHRUcmFja0N1ZS5jcHAiCiAjaW5jbHVkZSAiSlNUZXh0VHJhY2tDdWVMaXN0
LmNwcCIKKyNpbmNsdWRlICJKU1RyYWNrRXZlbnQuY3BwIgogI2VuZGlmCiAjaW5jbHVkZSAiSlNU
aW1lUmFuZ2VzLmNwcCIKICNpbmNsdWRlICJKU1RvdWNoLmNwcCIKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMubWFrZQkocmV2aXNpb24gOTg5NTkpCisrKyBTb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5tYWtlCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw2ICszNiw3IEBAIFZQQVRIID0g
XAogICAgICQoV2ViQ29yZSkvZmlsZWFwaSBcCiAgICAgJChXZWJDb3JlKS9odG1sIFwKICAgICAk
KFdlYkNvcmUpL2h0bWwvY2FudmFzIFwKKyAgICAkKFdlYkNvcmUpL2h0bWwvdHJhY2sgXAogICAg
ICQoV2ViQ29yZSkvaW5zcGVjdG9yIFwKICAgICAkKFdlYkNvcmUpL2xvYWRlci9hcHBjYWNoZSBc
CiAgICAgJChXZWJDb3JlKS9ub3RpZmljYXRpb25zIFwKQEAgLTUxMyw2ICs1MTQsNyBAQCBET01f
Q0xBU1NFUyA9IFwKICAgICBUb3VjaCBcCiAgICAgVG91Y2hFdmVudCBcCiAgICAgVG91Y2hMaXN0
IFwKKyAgICBUcmFja0V2ZW50IFwKICAgICBUcmVlV2Fsa2VyIFwKICAgICBVSUV2ZW50IFwKICAg
ICBVaW50MTZBcnJheSBcCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFt
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0JKHJldmlz
aW9uIDk4OTU5KQorKysgU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQkod29ya2lu
ZyBjb3B5KQpAQCAtNTEyLDYgKzUxMiw4IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1RvdWNoLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNUb3VjaExpc3QuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVG91Y2hMaXN0
LmggXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNUcmFja0V2ZW50LmNwcCBcCisJRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU1RyYWNrRXZlbnQuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU1RyZWVXYWxrZXIuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVHJlZVdhbGtl
ci5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVUlFdmVudC5jcHAgXApAQCAtODUwLDYg
Kzg1Miw5IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNUZXh0Q3VzdG9tLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNUb3Vj
aEN1c3RvbS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTVG91Y2hMaXN0Q3Vz
dG9tLmNwcCBcCisJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNUcmFja0N1c3RvbS5jcHAg
XAorCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTVHJhY2tDdXN0b20uaCBcCisJU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNUcmFja0V2ZW50Q3VzdG9tLmNwcCBcCiAJU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNUcmVlV2Fsa2VyQ3VzdG9tLmNwcCBcCiAJU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNVaW50MTZBcnJheUN1c3RvbS5jcHAgXAogCVNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTVWludDMyQXJyYXlDdXN0b20uY3BwIFwKQEAgLTE5NjgsNiArMTk3Mywx
MCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvVGltZUlucHV0
VHlwZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL1RpbWVSYW5nZXMuY3BwIFwKIAlTb3VyY2Uv
V2ViQ29yZS9odG1sL1RpbWVSYW5nZXMuaCBcCisJU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9U
cmFja0Jhc2UuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RyYWNrQmFzZS5oIFwK
KwlTb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RyYWNrRXZlbnQuY3BwIFwKKwlTb3VyY2UvV2Vi
Q29yZS9odG1sL3RyYWNrL1RyYWNrRXZlbnQuaCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC90cmFj
ay9XZWJWVFRQYXJzZXIuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1dlYlZUVFBh
cnNlci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1dlYlZUVFRva2VuLmggXApJbmRl
eDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZ3lwaQkocmV2aXNpb24gOTg5NTkpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmd5cGkJKHdvcmtpbmcgY29weSkKQEAgLTEzNzEsNiArMTM3MSw3IEBACiAgICAgICAgICAg
ICAnaHRtbC9jYW52YXMvV2ViR0xVbmlmb3JtTG9jYXRpb24uaWRsJywKICAgICAgICAgICAgICdo
dG1sL2NhbnZhcy9XZWJHTFZlcnRleEFycmF5T2JqZWN0T0VTLmlkbCcsCiAgICAgICAgICAgICAn
aHRtbC9jYW52YXMvV2ViS2l0TG9zZUNvbnRleHQuaWRsJywKKyAgICAgICAgICAgICdodG1sL3Ry
YWNrL1RyYWNrRXZlbnQuaWRsJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvSW5qZWN0ZWRTY3Jp
cHRIb3N0LmlkbCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9z
dC5pZGwnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9KYXZhU2NyaXB0Q2FsbEZyYW1lLmlkbCcs
CkBAIC0xOTM2LDYgKzE5MzcsOSBAQAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTVGV4dEN1
c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTVG91Y2hDdXN0b20uY3BwJywK
ICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU1RvdWNoTGlzdEN1c3RvbS5jcHAnLAorICAgICAg
ICAgICAgJ2JpbmRpbmdzL2pzL0pTVHJhY2tDdXN0b20uY3BwJywKKyAgICAgICAgICAgICdiaW5k
aW5ncy9qcy9KU1RyYWNrQ3VzdG9tLmgnLAorICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTVHJh
Y2tFdmVudEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTVHJlZVdhbGtl
ckN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTVWludDE2QXJyYXlDdXN0
b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU1VpbnQzMkFycmF5Q3VzdG9tLmNw
cCcsCkBAIC0yMjM4LDYgKzIyNDIsNyBAQAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOFN0b3JhZ2VDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20v
VjhTdHlsZVNoZWV0Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9t
L1Y4U3R5bGVTaGVldExpc3RDdXN0b20uY3BwJywKKyAgICAgICAgICAgICdiaW5kaW5ncy92OC9j
dXN0b20vVjhUcmFja0V2ZW50Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4VWludDE2QXJyYXlDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92
OC9jdXN0b20vVjhVaW50MzJBcnJheUN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOFVpbnQ4QXJyYXlDdXN0b20uY3BwJywKQEAgLTU3NjgsNiArNTc3Myw4IEBA
CiAgICAgICAgICAgICAnaHRtbC9zaGFkb3cvU2xpZGVyVGh1bWJFbGVtZW50LmgnLAogICAgICAg
ICAgICAgJ2h0bWwvc2hhZG93L1RleHRDb250cm9sSW5uZXJFbGVtZW50cy5jcHAnLAogICAgICAg
ICAgICAgJ2h0bWwvc2hhZG93L1RleHRDb250cm9sSW5uZXJFbGVtZW50cy5oJywKKyAgICAgICAg
ICAgICdodG1sL3RyYWNrL1RyYWNrQmFzZS5jcHAnLAorICAgICAgICAgICAgJ2h0bWwvdHJhY2sv
VHJhY2tFdmVudC5jcHAnLAogICAgICAgICAgICAgJ2h0bWwvdHJhY2svV2ViVlRUUGFyc2VyLmNw
cCcsCiAgICAgICAgICAgICAnaHRtbC90cmFjay9XZWJWVFRQYXJzZXIuaCcsCiAgICAgICAgICAg
ICAnaHRtbC90cmFjay9XZWJWVFRUb2tlbi5oJywKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNv
cmUucHJvCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCShyZXZpc2lv
biA5ODk1OSkKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCSh3b3JraW5nIGNvcHkpCkBA
IC0xODY4LDYgKzE4NjgsOCBAQCBIRUFERVJTICs9IFwKICAgICBodG1sL3BhcnNlci9YU1NBdWRp
dG9yLmggXAogICAgIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmggXAogICAgIGh0
bWwvc2hhZG93L0RldGFpbHNNYXJrZXJDb250cm9sLmggXAorICAgIGh0bWwvdHJhY2svVHJhY2tC
YXNlLmggXAorICAgIGh0bWwvdHJhY2svVHJhY2tFdmVudC5oIFwKICAgICBodG1sL3RyYWNrL1dl
YlZUVFBhcnNlci5oIFwKICAgICBodG1sL3RyYWNrL1dlYlZUVFRva2VuLmggXAogICAgIGh0bWwv
dHJhY2svV2ViVlRUVG9rZW5pemVyLmggXApAQCAtMzUzOCw2ICszNTQwLDE5IEBAIGNvbnRhaW5z
KERFRklORVMsIEVOQUJMRV9KQVZBU0NSSVBUX0RFQlUKICAgICB9CiB9CiAKKworY29udGFpbnMo
REVGSU5FUywgRU5BQkxFX1ZJREVPX1RSQUNLPTEpIHsKKyAgICB2OCB7CisgICAgICAgIFNPVVJD
RVMgKz0gXAorICAgICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4VHJhY2tFdmVudEN1c3Rv
bS5jcHAKKyAgICB9IGVsc2UgeworICAgICAgICBTT1VSQ0VTICs9IFwKKyAgICAgICAgICAgIGJp
bmRpbmdzL2pzL0pTVHJhY2tDdXN0b20uY3BwIFwKKyAgICAgICAgICAgIGJpbmRpbmdzL2pzL0pT
VHJhY2tDdXN0b20uaCBcCisgICAgICAgICAgICBiaW5kaW5ncy9qcy9KU1RyYWNrRXZlbnRDdXN0
b20uY3BwCisgICAgfQorfQorCiBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfV0VCX1NPQ0tFVFM9
MSkgewogICAgIEhFQURFUlMgKz0gXAogICAgICAgICB3ZWJzb2NrZXRzL0Nsb3NlRXZlbnQuaCBc
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCShyZXZpc2lvbiA5ODk1OSkKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtODIsNiArODIsMTAgQEAKIAkJ
MDY2Qzc3MzEwQUI2MDNGRDAwMjM4Q0M0IC8qIFJlbmRlckZpbGVVcGxvYWRDb250cm9sLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNjZDNzcyRjBBQjYw
M0ZEMDAyMzhDQzQgLyogUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuaCAqLzsgfTsKIAkJMDZFODFF
RDcwQUI1RDVFOTAwQzg3ODM3IC8qIExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDZFODFFRDYwQUI1RDVF
OTAwQzg3ODM3IC8qIExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5oICovOyB9OwogCQkwNkU4
MUVFQzBBQjVEQTk3MDBDODc4MzcgLyogTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0Lm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDZFODFFRUIwQUI1
REE5NzAwQzg3ODM3IC8qIExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5tbSAqLzsgfTsKKwkJ
MDcwMzM0RDMxNDU5RkZBRDAwOEQ4RDQ1IC8qIFRyYWNrRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDcwMzM0RDAxNDU5RkZBQzAwOEQ4RDQ1
IC8qIFRyYWNrRXZlbnQuY3BwICovOyB9OworCQkwNzAzMzRENzE0NTlGRkQ1MDA4RDhENDUgLyog
VHJhY2tCYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwNzAzMzRENjE0NTlGRkQ1MDA4RDhENDUgLyogVHJhY2tCYXNlLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMDcwMzM0RDkxNDVBMDA2RjAwOEQ4
RDQ1IC8qIFRyYWNrQmFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwNzAzMzREODE0NUEwMDZGMDA4RDhENDUgLyogVHJhY2tCYXNlLmNwcCAqLzsg
fTsKKwkJMDcwMzM0RTkxNDVBMUYzNjAwOEQ4RDQ1IC8qIEpTVHJhY2tDdXN0b20uY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDcwMzM0RTgxNDVBMUYz
NTAwOEQ4RDQ1IC8qIEpTVHJhY2tDdXN0b20uY3BwICovOyB9OwogCQkwNzA3NTY4QjE0MjI2MkQ2
MDA0MTQxNjEgLyogSFRNTFRyYWNrRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzA3NTY4ODE0MjI2MkQ2MDA0MTQxNjEgLyogSFRNTFRy
YWNrRWxlbWVudC5jcHAgKi87IH07CiAJCTA3MDc1NjhDMTQyMjYyRDYwMDQxNDE2MSAvKiBIVE1M
VHJhY2tFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwNzA3NTY4OTE0MjI2MkQ2MDA0MTQxNjEgLyogSFRNTFRyYWNrRWxlbWVudC5oICovOyB9
OwogCQkwNzA3NTY5NDE0MjI2NjhEMDA0MTQxNjEgLyogSlNUZXh0VHJhY2suY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDcwNzU2OEUxNDIyNjY4QzAw
NDE0MTYxIC8qIEpTVGV4dFRyYWNrLmNwcCAqLzsgfTsKQEAgLTk3LDcgKzEwMSwxMSBAQAogCQkw
NzM1RUU2QTBGNDBDNUU0MDA0QTI2MDQgLyogTWVkaWFQbGF5ZXJQcm94eS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDczNUVFNjkwRjQwQzVFNDAwNEEy
NjA0IC8qIE1lZGlhUGxheWVyUHJveHkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQkwNzUzODYwMjE0NDg5RTk4MDBCNzg0NTIgLyogQ2FjaGVkVGV4
dFRyYWNrLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDA3NTM4NjAwMTQ0ODlFOTgwMEI3ODQ1MiAvKiBDYWNoZWRUZXh0VHJhY2suY3BwICovOyB9Owog
CQkwNzUzODYwMzE0NDg5RTk4MDBCNzg0NTIgLyogQ2FjaGVkVGV4dFRyYWNrLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzUzODYwMTE0NDg5RTk4MDBC
Nzg0NTIgLyogQ2FjaGVkVGV4dFRyYWNrLmggKi87IH07CisJCTA3Njg5RDZFMTQ1QjUyQ0MwMDFD
RDEzMiAvKiBKU1RyYWNrRXZlbnRDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMDc2ODlENkQxNDVCNTJDQzAwMUNEMTMyIC8qIEpTVHJhY2tF
dmVudEN1c3RvbS5jcHAgKi87IH07CiAJCTA3NkYwRDBFMTJCODE5MjcwMEMyNkFBNCAvKiBNZWRp
YVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDA3NkYwRDBBMTJCODE5MjcwMEMyNkFBNCAvKiBNZWRpYVBsYXll
clByaXZhdGVBVkZvdW5kYXRpb24uaCAqLzsgfTsKKwkJMDc4NDYzNDIxNDVCMTUxQTAwQTU4REYx
IC8qIEpTVHJhY2tFdmVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwNzg0NjM0MDE0NUIxNTFBMDBBNThERjEgLyogSlNUcmFja0V2ZW50LmNwcCAq
LzsgfTsKKwkJMDc4NDYzNDMxNDVCMTUxQTAwQTU4REYxIC8qIEpTVHJhY2tFdmVudC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDc4NDYzNDExNDVCMTUx
QTAwQTU4REYxIC8qIEpTVHJhY2tFdmVudC5oICovOyB9OworCQkwNzg0NjM4NTE0NUIxQjhFMDBB
NThERjEgLyogSlNUcmFja0N1c3RvbS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMDc4NDYzODQxNDVCMUI4RTAwQTU4REYxIC8qIEpTVHJhY2tDdXN0b20u
aCAqLzsgfTsKIAkJMDdCMDExM0YxMDMyMjQyMjAwRkJEQzMzIC8qIEFjY2Vzc2liaWxpdHlNZWRp
YUNvbnRyb2xzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwN0IwMTEzRTEwMzIyNDIyMDBGQkRDMzMgLyogQWNjZXNzaWJpbGl0eU1lZGlhQ29udHJvbHMu
aCAqLzsgfTsKIAkJMDgwNkU1N0ExMjg5MzA0NTAwN0NFRDMyIC8qIFNWR01hdHJpeC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDgwNkU1NzkxMjg5MzA0
NTAwN0NFRDMyIC8qIFNWR01hdHJpeC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCTA4MEU0OTI2MTI1NUYzQkQwMEVGQ0EyNyAvKiBTVkdUZXh0TGF5
b3V0RW5naW5lQmFzZWxpbmUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDA4MEU0OTIyMTI1NUYzQkQwMEVGQ0EyNyAvKiBTVkdUZXh0TGF5b3V0RW5naW5l
QmFzZWxpbmUuaCAqLzsgfTsKQEAgLTcwNjcsNiArNzA3NSwxMiBAQAogCQkwNjZDNzcyRjBBQjYw
M0ZEMDAyMzhDQzQgLyogUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRlckZpbGVVcGxvYWRDb250cm9sLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTA2RTgxRUQ2MEFCNUQ1RTkwMEM4NzgzNyAvKiBMb2NhbEN1cnJl
bnRHcmFwaGljc0NvbnRleHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTG9j
YWxDdXJyZW50R3JhcGhpY3NDb250ZXh0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTA2RTgxRUVCMEFCNURBOTcwMEM4NzgzNyAvKiBMb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQu
bW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gTG9jYWxDdXJyZW50
R3JhcGhpY3NDb250ZXh0Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwNzAzMzRE
MDE0NTlGRkFDMDA4RDhENDUgLyogVHJhY2tFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBUcmFja0V2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMDcwMzM0RDExNDU5RkZBQzAwOEQ4RDQ1IC8qIFRyYWNrRXZlbnQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVHJhY2tFdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkwNzAzMzREMjE0NTlGRkFDMDA4RDhENDUgLyogVHJhY2tFdmVudC5pZGwgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gVHJhY2tFdmVudC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTA3MDMzNEQ2MTQ1OUZGRDUwMDhEOEQ0NSAvKiBUcmFja0Jhc2UuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVHJhY2tCYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTA3MDMzNEQ4MTQ1QTAwNkYwMDhEOEQ0NSAvKiBUcmFja0Jhc2UuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVHJhY2tCYXNlLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMDcwMzM0RTgxNDVBMUYzNTAwOEQ4RDQ1IC8qIEpTVHJh
Y2tDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNUcmFj
a0N1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA3MDc1Njg4MTQyMjYy
RDYwMDQxNDE2MSAvKiBIVE1MVHJhY2tFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEhUTUxUcmFja0VsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkwNzA3NTY4OTE0MjI2MkQ2MDA0MTQxNjEgLyogSFRNTFRyYWNrRWxlbWVudC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIVE1MVHJhY2tFbGVtZW50Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA3MDc1NjhBMTQyMjYyRDYwMDQxNDE2MSAvKiBI
VE1MVHJhY2tFbGVtZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBIVE1MVHJhY2tFbGVt
ZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTcwODYsOCArNzEwMCwxMiBA
QAogCQkwNzM1RUU2OTBGNDBDNUU0MDA0QTI2MDQgLyogTWVkaWFQbGF5ZXJQcm94eS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYVBsYXllclByb3h5Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA3NTM4NjAwMTQ0ODlFOTgwMEI3ODQ1MiAvKiBDYWNoZWRU
ZXh0VHJhY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ2FjaGVk
VGV4dFRyYWNrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDc1Mzg2MDExNDQ4
OUU5ODAwQjc4NDUyIC8qIENhY2hlZFRleHRUcmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBDYWNoZWRUZXh0VHJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMDc2ODlENkQxNDVCNTJDQzAwMUNEMTMyIC8qIEpTVHJhY2tFdmVudEN1c3RvbS5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1RyYWNrRXZlbnRDdXN0b20uY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwNzZGMEQwOTEyQjgxOTI3MDBDMjZBQTQg
LyogTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA3NkYwRDBBMTJCODE5MjcwMEMyNkFBNCAvKiBN
ZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTA3ODQ2MzQwMTQ1QjE1MUEwMEE1OERGMSAvKiBKU1RyYWNrRXZlbnQu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNUcmFja0V2ZW50LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMDc4NDYzNDExNDVCMTUxQTAwQTU4REYx
IC8qIEpTVHJhY2tFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1Ry
YWNrRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMDc4NDYzODQxNDVCMUI4
RTAwQTU4REYxIC8qIEpTVHJhY2tDdXN0b20uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gSlNUcmFja0N1c3RvbS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwNzlG
NUU0QjBGM0JFQkVBMDA1RTA3ODIgLyogTWVkaWFQbGF5ZXJQcml2YXRlLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlhUGxheWVyUHJpdmF0ZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkwN0FGRTU5MDBGMTQ0NkJEMDA4NDE2MTcgLyogbWVkaWFDb250cm9s
c1F1aWNrVGltZS5jc3MgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LmNzczsgcGF0aCA9IG1lZGlhQ29udHJvbHNR
dWlja1RpbWUuY3NzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwN0IwMTEzRTEwMzIy
NDIyMDBGQkRDMzMgLyogQWNjZXNzaWJpbGl0eU1lZGlhQ29udHJvbHMuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gQWNjZXNzaWJpbGl0eU1lZGlhQ29udHJvbHMuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE3NzQ3LDYgKzE3NzY1LDggQEAKIAkJCQkwNzA3NTZE
QTE0MjM5QjRFMDA0MTQxNjEgLyogSlNUZXh0VHJhY2tDdWVMaXN0LmggKi8sCiAJCQkJRTQ0NjE0
MTIwQ0Q2ODI2OTAwRkFEQTc1IC8qIEpTVGltZVJhbmdlcy5jcHAgKi8sCiAJCQkJRTQ0NjE0MTMw
Q0Q2ODI2OTAwRkFEQTc1IC8qIEpTVGltZVJhbmdlcy5oICovLAorCQkJCTA3ODQ2MzQwMTQ1QjE1
MUEwMEE1OERGMSAvKiBKU1RyYWNrRXZlbnQuY3BwICovLAorCQkJCTA3ODQ2MzQxMTQ1QjE1MUEw
MEE1OERGMSAvKiBKU1RyYWNrRXZlbnQuaCAqLywKIAkJCQk0OUVFQ0VGRTEwNTA3MEM0MDAwOTlG
QUIgLyogSlNVaW50MTZBcnJheS5jcHAgKi8sCiAJCQkJNDlFRUNFRkYxMDUwNzBDNDAwMDk5RkFC
IC8qIEpTVWludDE2QXJyYXkuaCAqLywKIAkJCQk0OUVFQ0VGQzEwNTA3MEM0MDAwOTlGQUIgLyog
SlNVaW50MzJBcnJheS5jcHAgKi8sCkBAIC0xODQzMSw2ICsxODQ1MSwxMSBAQAogCQlCMUFENEU3
NzEzQTEyQTcyMDA4NDZCMjcgLyogdHJhY2sgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJ
CWNoaWxkcmVuID0gKAorCQkJCTA3MDMzNEQ4MTQ1QTAwNkYwMDhEOEQ0NSAvKiBUcmFja0Jhc2Uu
Y3BwICovLAorCQkJCTA3MDMzNEQ2MTQ1OUZGRDUwMDhEOEQ0NSAvKiBUcmFja0Jhc2UuaCAqLywK
KwkJCQkwNzAzMzREMDE0NTlGRkFDMDA4RDhENDUgLyogVHJhY2tFdmVudC5jcHAgKi8sCisJCQkJ
MDcwMzM0RDExNDU5RkZBQzAwOEQ4RDQ1IC8qIFRyYWNrRXZlbnQuaCAqLywKKwkJCQkwNzAzMzRE
MjE0NTlGRkFDMDA4RDhENDUgLyogVHJhY2tFdmVudC5pZGwgKi8sCiAJCQkJNUQyMUE4MDAxM0VD
RTVERjAwQkI3MDY0IC8qIFdlYlZUVFBhcnNlci5jcHAgKi8sCiAJCQkJNUQyMUE4MDExM0VDRTVE
RjAwQkI3MDY0IC8qIFdlYlZUVFBhcnNlci5oICovLAogCQkJCUIxMEI2OTdEMTQwQzE3NDAwMEJD
MUMyNiAvKiBXZWJWVFRUb2tlbi5oICovLApAQCAtMTk2MDUsNiArMTk2MzAsOSBAQAogCQkJCTA4
RTRGRTQ1MEUyQkQ0MTQwMEY0Q0FFMCAvKiBKU1NWR0xlbmd0aEN1c3RvbS5jcHAgKi8sCiAJCQkJ
QjJDOTZEOEMwQjNBRjJCNzAwNUU4MEVDIC8qIEpTU1ZHUGF0aFNlZ0N1c3RvbS5jcHAgKi8sCiAJ
CQkJMUEyQzQwQUEwREVCNTVBQTAwNUFGMTlFIC8qIEpTVGV4dEN1c3RvbS5jcHAgKi8sCisJCQkJ
MDcwMzM0RTgxNDVBMUYzNTAwOEQ4RDQ1IC8qIEpTVHJhY2tDdXN0b20uY3BwICovLAorCQkJCTA3
ODQ2Mzg0MTQ1QjFCOEUwMEE1OERGMSAvKiBKU1RyYWNrQ3VzdG9tLmggKi8sCisJCQkJMDc2ODlE
NkQxNDVCNTJDQzAwMUNEMTMyIC8qIEpTVHJhY2tFdmVudEN1c3RvbS5jcHAgKi8sCiAJCQkJNTE2
QkI3OTIwQ0U5MUU2ODAwNTEyRjc5IC8qIEpTVHJlZVdhbGtlckN1c3RvbS5jcHAgKi8sCiAJCQkJ
NDlFRUNGNzcxMDUwOEQ5QzAwMDk5RkFCIC8qIEpTVWludDE2QXJyYXlDdXN0b20uY3BwICovLAog
CQkJCTQ5RUVDRjc2MTA1MDhEOUMwMDA5OUZBQiAvKiBKU1VpbnQzMkFycmF5Q3VzdG9tLmNwcCAq
LywKQEAgLTI0NTQwLDYgKzI0NTY4LDkgQEAKIAkJCQk5NzBCNzJBNjE0NTAwOEVCMDBGMDBBMzcg
LyogRXZlbnRIZWFkZXJzLmggaW4gSGVhZGVycyAqLywKIAkJCQk5QjNBODg3MjE0NTYzMkY5MDAz
QUU4RjUgLyogRE9NRE9NU2V0dGFibGVUb2tlbkxpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCUZE
NjJGNTJFMTQ1ODk4RDgwMDk0QjBFRCAvKiBBdWRpb1NvdXJjZVByb3ZpZGVyQ2xpZW50LmggaW4g
SGVhZGVycyAqLywKKwkJCQkwNzAzMzRENzE0NTlGRkQ1MDA4RDhENDUgLyogVHJhY2tCYXNlLmgg
aW4gSGVhZGVycyAqLywKKwkJCQkwNzg0NjM0MzE0NUIxNTFBMDBBNThERjEgLyogSlNUcmFja0V2
ZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQkwNzg0NjM4NTE0NUIxQjhFMDBBNThERjEgLyogSlNU
cmFja0N1c3RvbS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkQ4RkVCREQxNDNFM0VGNzAwNzI1MDJC
IC8qIENTU0Nyb3NzZmFkZVZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5
Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKQEAgLTI3Mzg2LDYgKzI3NDE3LDExIEBA
CiAJCQkJQTBFRTBERjUxNDRGODI1NTAwRjgwQjBEIC8qIFdlYkdMRGVidWdSZW5kZXJlckluZm8u
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTBFRTBERjcxNDRGODI1NTAwRjgwQjBEIC8qIFdlYkdM
RGVidWdTaGFkZXJzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUEzQkI1OUYzMTQ1N0E0MEQwMEFD
NTZGRSAvKiBEb2N1bWVudEV2ZW50UXVldWUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMDcwMzM0
RDMxNDU5RkZBRDAwOEQ4RDQ1IC8qIFRyYWNrRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
MDcwMzM0RDkxNDVBMDA2RjAwOEQ4RDQ1IC8qIFRyYWNrQmFzZS5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQkwNzAzMzRFOTE0NUExRjM2MDA4RDhENDUgLyogSlNUcmFja0N1c3RvbS5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQkwNzg0NjM0MjE0NUIxNTFBMDBBNThERjEgLyogSlNUcmFja0V2ZW50LmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCTA3Njg5RDZFMTQ1QjUyQ0MwMDFDRDEzMiAvKiBKU1RyYWNr
RXZlbnRDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ4RkVCREMxNDNFM0VGNzAwNzI1
MDJCIC8qIENTU0Nyb3NzZmFkZVZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1
bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwpJbmRleDogU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvZ2VuZXJpYy9FdmVudENvbnN0cnVjdG9ycy5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvRXZlbnRDb25zdHJ1Y3RvcnMuaAkocmV2aXNp
b24gOTg5NTkpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL0V2ZW50Q29uc3Ry
dWN0b3JzLmgJKHdvcmtpbmcgY29weSkKQEAgLTEzNCw2ICsxMzQsMTYgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICAgICBGSUxMX1BST1BFUlRZKHZlcnRpY2FsT3ZlcmZsb3cpIFwKICAgICBE
SUNUSU9OQVJZX0VORChPdmVyZmxvd0V2ZW50KQogCisjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQor
I2RlZmluZSBJTlNUQU5USUFURV9JTklUSUFMSVpJTkdfQ09OU1RSVUNUT1JfRk9SX1RSQUNLX0VW
RU5UKERJQ1RJT05BUllfU1RBUlQsIERJQ1RJT05BUllfRU5ELCBGSUxMX1BBUkVOVF9QUk9QRVJU
SUVTLCBGSUxMX1BST1BFUlRZKSBcCisgICAgXAorICAgIERJQ1RJT05BUllfU1RBUlQoVHJhY2tF
dmVudCkgXAorICAgICAgICBGSUxMX1BBUkVOVF9QUk9QRVJUSUVTKEV2ZW50KSBcCisgICAgICAg
IEZJTExfUFJPUEVSVFkodHJhY2spIFwKKyAgICBESUNUSU9OQVJZX0VORChUcmFja0V2ZW50KQor
I2Vsc2UKKyNkZWZpbmUgSU5TVEFOVElBVEVfSU5JVElBTElaSU5HX0NPTlNUUlVDVE9SX0ZPUl9U
UkFDS19FVkVOVChESUNUSU9OQVJZX1NUQVJULCBESUNUSU9OQVJZX0VORCwgRklMTF9QQVJFTlRf
UFJPUEVSVElFUywgRklMTF9QUk9QRVJUWSkKKyNlbmRpZgogCiAjZGVmaW5lIElOU1RBTlRJQVRF
X0FMTF9FVkVOVF9JTklUSUFMSVpJTkdfQ09OU1RSVUNUT1JTKERJQ1RJT05BUllfU1RBUlQsIERJ
Q1RJT05BUllfRU5ELCBGSUxMX1BBUkVOVF9QUk9QRVJUSUVTLCBGSUxMX1BST1BFUlRZKSBcCiAg
ICAgSU5TVEFOVElBVEVfSU5JVElBTElaSU5HX0NPTlNUUlVDVE9SX0ZPUl9FVkVOVChESUNUSU9O
QVJZX1NUQVJULCBESUNUSU9OQVJZX0VORCwgRklMTF9QQVJFTlRfUFJPUEVSVElFUywgRklMTF9Q
Uk9QRVJUWSkgXApAQCAtMTQ5LDcgKzE1OSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBJ
TlNUQU5USUFURV9JTklUSUFMSVpJTkdfQ09OU1RSVUNUT1JfRk9SX1dFQktJVF9UUkFOU0lUSU9O
X0VWRU5UKERJQ1RJT05BUllfU1RBUlQsIERJQ1RJT05BUllfRU5ELCBGSUxMX1BBUkVOVF9QUk9Q
RVJUSUVTLCBGSUxMX1BST1BFUlRZKSBcCiAgICAgSU5TVEFOVElBVEVfSU5JVElBTElaSU5HX0NP
TlNUUlVDVE9SX0ZPUl9CRUZPUkVfTE9BRF9FVkVOVChESUNUSU9OQVJZX1NUQVJULCBESUNUSU9O
QVJZX0VORCwgRklMTF9QQVJFTlRfUFJPUEVSVElFUywgRklMTF9QUk9QRVJUWSkgXAogICAgIElO
U1RBTlRJQVRFX0lOSVRJQUxJWklOR19DT05TVFJVQ1RPUl9GT1JfT1ZFUkZMT1dfRVZFTlQoRElD
VElPTkFSWV9TVEFSVCwgRElDVElPTkFSWV9FTkQsIEZJTExfUEFSRU5UX1BST1BFUlRJRVMsIEZJ
TExfUFJPUEVSVFkpIFwKLQorICAgIElOU1RBTlRJQVRFX0lOSVRJQUxJWklOR19DT05TVFJVQ1RP
Ul9GT1JfVFJBQ0tfRVZFTlQoRElDVElPTkFSWV9TVEFSVCwgRElDVElPTkFSWV9FTkQsIEZJTExf
UEFSRU5UX1BST1BFUlRJRVMsIEZJTExfUFJPUEVSVFkpIFwKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L0dOVW1ha2VmaWxl
LmFtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvR05VbWFr
ZWZpbGUuYW0JKHJldmlzaW9uIDk4OTU5KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ29i
amVjdC9HTlVtYWtlZmlsZS5hbQkod29ya2luZyBjb3B5KQpAQCAtNDEwLDE0ICs0MTAsMTcgQEAg
aWYgRU5BQkxFX1ZJREVPX1RSQUNLCiB3ZWJraXRndGtfYnVpbHRfaF9hcGkgKz0gXAogCSQodG9w
X2J1aWxkZGlyKS9EZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NVGV4dFRyYWNrLmggXAog
CSQodG9wX2J1aWxkZGlyKS9EZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NVGV4dFRyYWNr
Q3VlLmggXAotCSQodG9wX2J1aWxkZGlyKS9EZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9N
VGV4dFRyYWNrQ3VlTGlzdC5oCisJJCh0b3BfYnVpbGRkaXIpL0Rlcml2ZWRTb3VyY2VzL3dlYmtp
dC9XZWJLaXRET01UZXh0VHJhY2tDdWVMaXN0LmggXAorCSQodG9wX2J1aWxkZGlyKS9EZXJpdmVk
U291cmNlcy93ZWJraXQvV2ViS2l0RE9NVHJhY2tFdmVudC5oCiB3ZWJraXRndGtfZ2RvbV9idWls
dF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NVGV4dFRyYWNr
LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVRleHRUcmFja1ByaXZhdGUu
aCBcCiAJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVRleHRUcmFja0N1ZS5jcHAgXAog
CURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01UZXh0VHJhY2tDdWVQcml2YXRlLmggXAog
CURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01UZXh0VHJhY2tDdWVMaXN0LmNwcCBcCi0J
RGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVRleHRUcmFja0N1ZUxpc3RQcml2YXRlLmgK
KwlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NVGV4dFRyYWNrQ3VlTGlzdFByaXZhdGUu
aCBcCisJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVRyYWNrRXZlbnQuY3BwIFwKKwlE
ZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NVHJhY2tFdmVudFByaXZhdGUuaAogZW5kaWYK
IAogZ2RvbV9jbGFzc19saXN0IDo9ICQoc3Vic3QgV2ViS2l0RE9NLCwgJChmaWx0ZXItb3V0ICVQ
cml2YXRlLCAkKGJhc2VuYW1lICQobm90ZGlyICQod2Via2l0Z3RrX2dkb21fYnVpbHRfc291cmNl
cykpKSkpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdEhUTUxF
bGVtZW50V3JhcHBlckZhY3RvcnkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2dvYmplY3QvV2ViS2l0SFRNTEVsZW1lbnRXcmFwcGVyRmFjdG9yeS5jcHAJKHJldmlz
aW9uIDk4OTU5KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJLaXRIVE1M
RWxlbWVudFdyYXBwZXJGYWN0b3J5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTYyLDYgKzE2Miw3
IEBACiAjaW5jbHVkZSAid2Via2l0L1dlYktpdERPTVRleHRUcmFja0N1ZUxpc3RQcml2YXRlLmgi
CiAjaW5jbHVkZSAid2Via2l0L1dlYktpdERPTVRleHRUcmFja0N1ZVByaXZhdGUuaCIKICNpbmNs
dWRlICJ3ZWJraXQvV2ViS2l0RE9NVGV4dFRyYWNrUHJpdmF0ZS5oIgorI2luY2x1ZGUgIndlYmtp
dC9XZWJLaXRET01UcmFja0V2ZW50LmgiCiAjZW5kaWYKICAKICNpbmNsdWRlIDx3dGYvdGV4dC9D
U3RyaW5nLmg+CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0JpbmRpbmdzQWxs
SW5PbmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQmlu
ZGluZ3NBbGxJbk9uZS5jcHAJKHJldmlzaW9uIDk4OTU5KQorKysgU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNCaW5kaW5nc0FsbEluT25lLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQwLDYg
KzE0MCw4IEBACiAjaW5jbHVkZSAiSlNUZXh0Q3VzdG9tLmNwcCIKICNpbmNsdWRlICJKU1RvdWNo
Q3VzdG9tLmNwcCIKICNpbmNsdWRlICJKU1RvdWNoTGlzdEN1c3RvbS5jcHAiCisjaW5jbHVkZSAi
SlNUcmFja0N1c3RvbS5jcHAiCisjaW5jbHVkZSAiSlNUcmFja0V2ZW50Q3VzdG9tLmNwcCIKICNp
bmNsdWRlICJKU1RyZWVXYWxrZXJDdXN0b20uY3BwIgogI2luY2x1ZGUgIkpTVWludDE2QXJyYXlD
dXN0b20uY3BwIgogI2luY2x1ZGUgIkpTVWludDMyQXJyYXlDdXN0b20uY3BwIgpJbmRleDogU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEaWN0aW9uYXJ5LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RpY3Rpb25hcnkuY3BwCShyZXZpc2lvbiA5ODk1
OSkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGljdGlvbmFyeS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJKU0V2ZW50VGFyZ2V0LmgiCiAj
aW5jbHVkZSAiSlNNZXNzYWdlUG9ydEN1c3RvbS5oIgogI2luY2x1ZGUgIkpTTm9kZS5oIgorI2lu
Y2x1ZGUgIkpTVHJhY2tDdXN0b20uaCIKICNpbmNsdWRlICJTZXJpYWxpemVkU2NyaXB0VmFsdWUu
aCIKICNpbmNsdWRlICJTY3JpcHRWYWx1ZS5oIgogCkBAIC0xMjQsNCArMTI1LDExIEBAIHZvaWQg
SlNEaWN0aW9uYXJ5Ojpjb252ZXJ0VmFsdWUoRXhlY1N0YXQKICAgICBmaWxsTWVzc2FnZVBvcnRB
cnJheShleGVjLCB2YWx1ZSwgcmVzdWx0KTsKIH0KIAorI2lmIEVOQUJMRShWSURFT19UUkFDSykK
K3ZvaWQgSlNEaWN0aW9uYXJ5Ojpjb252ZXJ0VmFsdWUoRXhlY1N0YXRlKiwgSlNWYWx1ZSB2YWx1
ZSwgUmVmUHRyPFRyYWNrQmFzZT4mIHJlc3VsdCkKK3sKKyAgICByZXN1bHQgPSB0b1RyYWNrKHZh
bHVlKTsKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RpY3Rpb25hcnkuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RpY3Rpb25hcnkuaAkocmV2aXNpb24gOTg5NTkpCisrKyBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RpY3Rpb25hcnkuaAkod29ya2luZyBjb3B5KQpA
QCAtMzcsNiArMzcsNyBAQCBjbGFzcyBFdmVudFRhcmdldDsKIGNsYXNzIE5vZGU7CiBjbGFzcyBT
Y3JpcHRWYWx1ZTsKIGNsYXNzIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTsKK2NsYXNzIFRyYWNrQmFz
ZTsKIAogY2xhc3MgSlNEaWN0aW9uYXJ5IHsKIHB1YmxpYzoKQEAgLTczLDYgKzc0LDkgQEAgcHJp
dmF0ZToKICAgICBzdGF0aWMgdm9pZCBjb252ZXJ0VmFsdWUoSlNDOjpFeGVjU3RhdGUqLCBKU0M6
OkpTVmFsdWUsIFJlZlB0cjxFdmVudFRhcmdldD4mIHJlc3VsdCk7CiAgICAgc3RhdGljIHZvaWQg
Y29udmVydFZhbHVlKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU1ZhbHVlLCBSZWZQdHI8Tm9kZT4m
IHJlc3VsdCk7CiAgICAgc3RhdGljIHZvaWQgY29udmVydFZhbHVlKEpTQzo6RXhlY1N0YXRlKiwg
SlNDOjpKU1ZhbHVlLCBNZXNzYWdlUG9ydEFycmF5JiByZXN1bHQpOworI2lmIEVOQUJMRShWSURF
T19UUkFDSykKKyAgICBzdGF0aWMgdm9pZCBjb252ZXJ0VmFsdWUoSlNDOjpFeGVjU3RhdGUqLCBK
U0M6OkpTVmFsdWUsIFJlZlB0cjxUcmFja0Jhc2U+JiByZXN1bHQpOworI2VuZGlmCiAKICAgICBK
U0M6OkV4ZWNTdGF0ZSogbV9leGVjOwogICAgIEpTQzo6SlNPYmplY3QqIG1faW5pdGlhbGl6ZXJP
YmplY3Q7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q29uc3RydWN0
b3JzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50
Q29uc3RydWN0b3JzLmNwcAkocmV2aXNpb24gOTg5NTkpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0V2ZW50Q29uc3RydWN0b3JzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDQsNiAr
NDQsNyBAQAogI2luY2x1ZGUgIkpTUGFnZVRyYW5zaXRpb25FdmVudC5oIgogI2luY2x1ZGUgIkpT
UG9wU3RhdGVFdmVudC5oIgogI2luY2x1ZGUgIkpTUHJvZ3Jlc3NFdmVudC5oIgorI2luY2x1ZGUg
IkpTVHJhY2tFdmVudC5oIgogI2luY2x1ZGUgIkpTV2ViS2l0QW5pbWF0aW9uRXZlbnQuaCIKICNp
bmNsdWRlICJKU1dlYktpdFRyYW5zaXRpb25FdmVudC5oIgogI2luY2x1ZGUgIk1lc3NhZ2VFdmVu
dC5oIgpAQCAtNTEsNiArNTIsNyBAQAogI2luY2x1ZGUgIlBhZ2VUcmFuc2l0aW9uRXZlbnQuaCIK
ICNpbmNsdWRlICJQb3BTdGF0ZUV2ZW50LmgiCiAjaW5jbHVkZSAiUHJvZ3Jlc3NFdmVudC5oIgor
I2luY2x1ZGUgIlRyYWNrRXZlbnQuaCIKICNpbmNsdWRlICJXZWJLaXRBbmltYXRpb25FdmVudC5o
IgogI2luY2x1ZGUgIldlYktpdFRyYW5zaXRpb25FdmVudC5oIgogI2luY2x1ZGUgPHJ1bnRpbWUv
RXJyb3IuaD4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTVHJhY2tDdXN0b20u
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTVHJhY2tDdXN0
b20uY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNUcmFj
a0N1c3RvbS5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsODQgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoVklERU9fVFJBQ0spCisKKyNpbmNsdWRlICJK
U1RyYWNrQ3VzdG9tLmgiCisKKyNpbmNsdWRlICJKU1RleHRUcmFjay5oIgorCit1c2luZyBuYW1l
c3BhY2UgSlNDOworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1RyYWNrQmFzZSogdG9UcmFjayhK
U1ZhbHVlIHZhbHVlKQoreworICAgIGlmICghdmFsdWUuaXNPYmplY3QoKSkKKyAgICAgICAgcmV0
dXJuIDA7CisKKyAgICBKU09iamVjdCogb2JqZWN0ID0gYXNPYmplY3QodmFsdWUpOworICAgIGlm
IChvYmplY3QtPmluaGVyaXRzKCZKU1RleHRUcmFjazo6c19pbmZvKSkKKyAgICAgICAgcmV0dXJu
IHN0YXRpY19jYXN0PEpTVGV4dFRyYWNrKj4ob2JqZWN0KS0+aW1wbCgpOworICAgIAorICAgIC8v
IEZJWE1FOiBGaWxsIGluIGFkZGl0aW9uYWwgdGVzdHMgYW5kIGNhc3RzIGhlcmUgZm9yIFZpZGVv
VHJhY2sgYW5kIEF1ZGlvVHJhY2sgd2hlbiAKKyAgICAvLyB0aGV5IGhhdmUgYmVlbiBhZGRlZCB0
byBXZWJDb3JlLgorCisgICAgcmV0dXJuIDA7Cit9CisKK0pTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6
RXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUcmFja0Jh
c2UqIHRyYWNrKQoreworICAgIGlmICghdHJhY2spCisgICAgICAgIHJldHVybiBqc051bGwoKTsK
KyAgICAKKyAgICBKU0RPTVdyYXBwZXIqIHdyYXBwZXIgPSBnZXRDYWNoZWRXcmFwcGVyKGN1cnJl
bnRXb3JsZChleGVjKSwgdHJhY2spOworICAgIGlmICh3cmFwcGVyKQorICAgICAgICByZXR1cm4g
d3JhcHBlcjsKKyAgICAKKyAgICBzd2l0Y2ggKHRyYWNrLT50eXBlKCkpIHsKKyAgICBjYXNlIFRy
YWNrQmFzZTo6QmFzZVRyYWNrOgorICAgICAgICAvLyBUaGlzIHNob3VsZCBuZXZlciBoYXBwZW4u
CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICBicmVhazsKKyAgICAgICAg
CisgICAgY2FzZSBUcmFja0Jhc2U6OkF1ZGlvVHJhY2s6CisgICAgY2FzZSBUcmFja0Jhc2U6OlZp
ZGVvVHJhY2s6CisgICAgICAgIC8vIFRoaXMgc2hvdWxkIG5vdCBoYXBwZW4gdW50aWwgVmlkZW9U
cmFjayBhbmQgQXVkaW9UcmFjayBhcmUgaW1wbGVtZW50ZWQuCisgICAgICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOworICAgICAgICBicmVhazsKKworICAgIGNhc2UgVHJhY2tCYXNlOjpUZXh0VHJh
Y2s6CisgICAgICAgIHJldHVybiBDUkVBVEVfRE9NX1dSQVBQRVIoZXhlYywgZ2xvYmFsT2JqZWN0
LCBUZXh0VHJhY2ssIHRyYWNrKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIAorICAgIHJl
dHVybiBqc051bGwoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTVHJhY2tDdXN0b20uaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1RyYWNrQ3VzdG9tLmgJKHJldmlzaW9u
IDApCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1RyYWNrQ3VzdG9tLmgJKHJldmlz
aW9uIDApCkBAIC0wLDAgKzEsNDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUg
SW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAor
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBKU1RyYWNrQ3VzdG9t
X2gKKyNkZWZpbmUgSlNUcmFja0N1c3RvbV9oCisKKyNpZiBFTkFCTEUoVklERU9fVFJBQ0spCisK
KyNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKKyNpbmNsdWRlICJUcmFja0Jhc2UuaCIKKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitUcmFja0Jhc2UqIHRvVHJhY2soSlNDOjpKU1ZhbHVlKTsKK0pT
Qzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqLCBUcmFj
a0Jhc2UqKTsKKworfQorCisjZW5kaWYKKyNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNUcmFja0V2ZW50Q3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU1RyYWNrRXZlbnRDdXN0b20uY3BwCShyZXZpc2lvbiAwKQorKysg
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNUcmFja0V2ZW50Q3VzdG9tLmNwcAkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSw1MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKwor
I2lmIEVOQUJMRShWSURFT19UUkFDSykKKworI2luY2x1ZGUgIkpTVHJhY2tFdmVudC5oIgorCisj
aW5jbHVkZSAiSlNUcmFja0N1c3RvbS5oIgorI2luY2x1ZGUgIlRyYWNrQmFzZS5oIgorCit1c2lu
ZyBuYW1lc3BhY2UgSlNDOworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0pTVmFsdWUgSlNUcmFj
a0V2ZW50Ojp0cmFjayhFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0Cit7CisgICAgVHJhY2tCYXNlKiB0
cmFjayA9IHN0YXRpY19jYXN0PFRyYWNrRXZlbnQqPihpbXBsKCkpLT50cmFjaygpOworICAgIGlm
ICghdHJhY2spCisgICAgICAgIHJldHVybiBqc051bGwoKTsKKworICAgIHJldHVybiB0b0pTKGV4
ZWMsIGdsb2JhbE9iamVjdCgpLCB0cmFjayk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
KworI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9PcHRpb25zT2JqZWN0
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9PcHRpb25zT2Jq
ZWN0LmNwcAkocmV2aXNpb24gOTg5NTkpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9P
cHRpb25zT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjI3LDQgKzIyNywyMyBAQCBib29s
IE9wdGlvbnNPYmplY3Q6OmdldFdpdGhVbmRlZmluZWRPck51CiAgICAgcmV0dXJuIHRydWU7CiB9
CiAKKyNpZiBFTkFCTEUoVklERU9fVFJBQ0spCit2b2lkIE9wdGlvbnNPYmplY3Q6OmdldChjb25z
dCBTdHJpbmcmIGtleSwgUmVmUHRyPFRyYWNrQmFzZT4mIHZhbHVlKSBjb25zdAoreworICAgIHY4
OjpMb2NhbDx2ODo6VmFsdWU+IHY4VmFsdWU7CisgICAgaWYgKCFnZXRLZXkoa2V5LCB2OFZhbHVl
KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgVHJhY2tCYXNlKiBzb3VyY2UgPSAwOwor
ICAgIGlmICh2OFZhbHVlLT5Jc09iamVjdCgpKSB7CisgICAgICAgIHY4OjpIYW5kbGU8djg6Ok9i
amVjdD4gd3JhcHBlciA9IHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QodjhWYWx1ZSk7Cisg
ICAgICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gdHJhY2sgPSBWOERPTVdyYXBwZXI6Omxvb2t1
cERPTVdyYXBwZXIoVjhUcmFja0Jhc2U6OkdldFRlbXBsYXRlKCksIHdyYXBwZXIpOworICAgICAg
ICBpZiAoIXdpbmRvdy5Jc0VtcHR5KCkpCisgICAgICAgICAgICBzb3VyY2UgPSBWOFRyYWNrQmFz
ZTo6dG9OYXRpdmUodHJhY2spOworICAgIH0KKyAgICB2YWx1ZSA9IHNvdXJjZTsKKyAgICByZXR1
cm4gdHJ1ZTsKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhFdmVudENvbnN0cnVjdG9ycy5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RXZlbnRDb25z
dHJ1Y3RvcnMuY3BwCShyZXZpc2lvbiA5ODk1OSkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOEV2ZW50Q29uc3RydWN0b3JzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDQs
NiArNDQsNyBAQAogI2luY2x1ZGUgIlBhZ2VUcmFuc2l0aW9uRXZlbnQuaCIKICNpbmNsdWRlICJQ
b3BTdGF0ZUV2ZW50LmgiCiAjaW5jbHVkZSAiUHJvZ3Jlc3NFdmVudC5oIgorI2luY2x1ZGUgIlRy
YWNrRXZlbnQuaCIKICNpbmNsdWRlICJXZWJLaXRBbmltYXRpb25FdmVudC5oIgogI2luY2x1ZGUg
IldlYktpdFRyYW5zaXRpb25FdmVudC5oIgogCkBAIC02NCw2ICs2NSw3IEBACiAjaW5jbHVkZSAi
VjhQb3BTdGF0ZUV2ZW50LmgiCiAjaW5jbHVkZSAiVjhQcm9ncmVzc0V2ZW50LmgiCiAjaW5jbHVk
ZSAiVjhQcm94eS5oIgorI2luY2x1ZGUgIlY4VHJhY2tFdmVudC5oIgogI2luY2x1ZGUgIlY4V2Vi
S2l0QW5pbWF0aW9uRXZlbnQuaCIKICNpbmNsdWRlICJWOFdlYktpdFRyYW5zaXRpb25FdmVudC5o
IgogCkBAIC0xMzIsNiArMTM0LDYgQEAgSU5TVEFOVElBVEVfSU5JVElBTElaSU5HX0NPTlNUUlVD
VE9SX0ZPUgogSU5TVEFOVElBVEVfSU5JVElBTElaSU5HX0NPTlNUUlVDVE9SX0ZPUl9CRUZPUkVf
TE9BRF9FVkVOVChESUNUSU9OQVJZX1NUQVJULCBESUNUSU9OQVJZX0VORCwgRklMTF9QQVJFTlRf
UFJPUEVSVElFUywgRklMTF9QUk9QRVJUWSkKIElOU1RBTlRJQVRFX0lOSVRJQUxJWklOR19DT05T
VFJVQ1RPUl9GT1JfT1ZFUkZMT1dfRVZFTlQoRElDVElPTkFSWV9TVEFSVCwgRElDVElPTkFSWV9F
TkQsIEZJTExfUEFSRU5UX1BST1BFUlRJRVMsIEZJTExfUFJPUEVSVFkpCiBJTlNUQU5USUFURV9J
TklUSUFMSVpJTkdfQ09OU1RSVUNUT1JfRk9SX01FU1NBR0VfRVZFTlQoRElDVElPTkFSWV9TVEFS
VCwgRElDVElPTkFSWV9FTkQsIEZJTExfUEFSRU5UX1BST1BFUlRJRVMsIEZJTExfUFJPUEVSVFkp
Ci0KK0lOU1RBTlRJQVRFX0lOSVRJQUxJWklOR19DT05TVFJVQ1RPUl9GT1JfVFJBQ0tfRVZFTlQo
RElDVElPTkFSWV9TVEFSVCwgRElDVElPTkFSWV9FTkQsIEZJTExfUEFSRU5UX1BST1BFUlRJRVMs
IEZJTExfUFJPUEVSVFkpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFRyYWNrRXZlbnRDdXN0b20uY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFRyYWNrRXZlbnRDdXN0
b20uY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9t
L1Y4VHJhY2tFdmVudEN1c3RvbS5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNzYgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICog
ZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBu
b3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAq
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoVklERU9fVFJBQ0spCisKKyNpbmNsdWRlICJW
OFRyYWNrRXZlbnQuaCIKKworI2luY2x1ZGUgIlRyYWNrQmFzZS5oIgorI2luY2x1ZGUgIlRyYWNr
RXZlbnQuaCIKKyNpbmNsdWRlICJWOFRleHRUcmFjay5oIgorCisjaW5jbHVkZSAiVjhQcm94eS5o
IgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFRyYWNr
RXZlbnQ6OnRyYWNrQWNjZXNzb3JHZXR0ZXIodjg6OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUsIGNv
bnN0IHY4OjpBY2Nlc3NvckluZm8mIGluZm8pCit7CisgICAgSU5DX1NUQVRTKCJET00uVHJhY2tF
dmVudC50cmFjayIpOworICAgIFRyYWNrRXZlbnQqIHRyYWNrX2V2ZW50ID0gVjhUcmFja0V2ZW50
Ojp0b05hdGl2ZShpbmZvLkhvbGRlcigpKTsKKyAgICBUcmFja0Jhc2UqIHRyYWNrID0gdHJhY2tf
ZXZlbnQtPnRyYWNrKCk7CisgICAgCisgICAgaWYgKCF0cmFjaykKKyAgICAgICAgcmV0dXJuIHY4
OjpOdWxsKCk7CisKKyAgICBzd2l0Y2ggKHRyYWNrLT50eXBlKCkpIHsKKyAgICBjYXNlIFRyYWNr
QmFzZTo6QmFzZVRyYWNrOgorICAgICAgICAvLyBUaGlzIHNob3VsZCBuZXZlciBoYXBwZW4uCisg
ICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICBicmVhazsKKyAgICAgICAgCisg
ICAgY2FzZSBUcmFja0Jhc2U6OlRleHRUcmFjazoKKyAgICAgICAgcmV0dXJuIHRvVjgoc3RhdGlj
X2Nhc3Q8VGV4dFRyYWNrKj4odHJhY2spKTsKKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIFRy
YWNrQmFzZTo6QXVkaW9UcmFjazoKKyAgICBjYXNlIFRyYWNrQmFzZTo6VmlkZW9UcmFjazoKKyAg
ICAgICAgLy8gVGhpcyBzaG91bGQgbm90IGhhcHBlbiB1bnRpbCBWaWRlb1RyYWNrIGFuZCBBdWRp
b1RyYWNrIGFyZSBpbXBsZW1lbnRlZC4KKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cisg
ICAgICAgIGJyZWFrOworICAgIH0KKworICAgIHJldHVybiB2ODo6TnVsbCgpOworfQorCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0V2
ZW50RmFjdG9yeS5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRGYWN0
b3J5LmluCShyZXZpc2lvbiA5ODk1OSkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudEZhY3Rv
cnkuaW4JKHdvcmtpbmcgY29weSkKQEAgLTQxLDMgKzQxLDUgQEAgVG91Y2hFdmVudCBjb25kaXRp
b25hbD1UT1VDSF9FVkVOVFMKIERldmljZU1vdGlvbkV2ZW50IGNvbmRpdGlvbmFsPURFVklDRV9P
UklFTlRBVElPTgogRGV2aWNlT3JpZW50YXRpb25FdmVudCBjb25kaXRpb25hbD1ERVZJQ0VfT1JJ
RU5UQVRJT04KIE9yaWVudGF0aW9uRXZlbnQgaW50ZXJmYWNlTmFtZT1FdmVudCwgY29uZGl0aW9u
YWw9T1JJRU5UQVRJT05fRVZFTlRTCitUcmFja0V2ZW50IGNvbmRpdGlvbmFsPVZJREVPX1RSQUNL
CisKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAkocmV2aXNpb24gOTg5NTkpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNDUsNiArMTQ1
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKHZvbHVtZWNoYW5nZSkgXAogICAg
IG1hY3JvKHdhaXRpbmcpIFwKICAgICBcCisgICAgbWFjcm8oYWRkdHJhY2spIFwKKyAgICBcCiAg
ICAgbWFjcm8od2Via2l0YmVnaW5mdWxsc2NyZWVuKSBcCiAgICAgbWFjcm8od2Via2l0ZW5kZnVs
bHNjcmVlbikgXAogICAgIFwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvVGV4dFRyYWNrLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL1RleHRUcmFjay5jcHAJKHJldmlz
aW9uIDk4OTU5KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9UZXh0VHJhY2suY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0zNSwxMSArMzUsMTMgQEAKICNpbmNsdWRlICJUZXh0VHJhY2suaCIKIAogI2lu
Y2x1ZGUgIlRleHRUcmFja0N1ZUxpc3QuaCIKKyNpbmNsdWRlICJUcmFja0Jhc2UuaCIKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBUZXh0VHJhY2s6OlRleHRUcmFjayhUZXh0VHJhY2tDbGllbnQq
IGNsaWVudCwgY29uc3QgU3RyaW5nJiBraW5kLCBjb25zdCBTdHJpbmcmIGxhYmVsLCBjb25zdCBT
dHJpbmcmIGxhbmd1YWdlKQotICAgIDogbV9raW5kKGtpbmQpCisgICAgOiBUcmFja0Jhc2UoVHJh
Y2tCYXNlOjpUZXh0VHJhY2spCisgICAgLCBtX2tpbmQoa2luZCkKICAgICAsIG1fbGFiZWwobGFi
ZWwpCiAgICAgLCBtX2xhbmd1YWdlKGxhbmd1YWdlKQogICAgICwgbV9yZWFkeVN0YXRlKFRleHRU
cmFjazo6Tm9uZSkKQEAgLTEzMiw3ICsxMzQsNiBAQCB2b2lkIFRleHRUcmFjazo6ZmV0Y2hOZXdl
c3RDdWVzKFZlY3RvcjxUCiAgICAgLy8gRklYTUUoNjI4OTApOiBJbXBsZW1lbnQuCiB9CiAKLQog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0
bWwvVGV4dFRyYWNrLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9UZXh0VHJh
Y2suaAkocmV2aXNpb24gOTg5NTkpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL1RleHRUcmFjay5o
CSh3b3JraW5nIGNvcHkpCkBAIC0yOSw2ICsyOSw3IEBACiAjaWYgRU5BQkxFKFZJREVPX1RSQUNL
KQogCiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgorI2luY2x1ZGUgIlRyYWNrQmFzZS5oIgog
I2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KQEAgLTUxLDcgKzUyLDcgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgdm9pZCB0ZXh0VHJhY2tSZW1vdmVDdWUoVGV4dFRyYWNrKiwgUGFzc1Jl
ZlB0cjxUZXh0VHJhY2tDdWU+KSA9IDA7CiB9OwogCi1jbGFzcyBUZXh0VHJhY2sgOiBwdWJsaWMg
UmVmQ291bnRlZDxUZXh0VHJhY2s+IHsKK2NsYXNzIFRleHRUcmFjayA6IHB1YmxpYyBUcmFja0Jh
c2UgewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFRleHRUcmFjaz4gY3JlYXRlKFRl
eHRUcmFja0NsaWVudCogY2xpZW50LCBjb25zdCBTdHJpbmcmIGtpbmQsIGNvbnN0IFN0cmluZyYg
bGFiZWwsIGNvbnN0IFN0cmluZyYgbGFuZ3VhZ2UpCiAgICAgewpJbmRleDogU291cmNlL1dlYkNv
cmUvaHRtbC90cmFjay9UcmFja0Jhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2h0bWwvdHJhY2svVHJhY2tCYXNlLmNwcAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJDb3Jl
L2h0bWwvdHJhY2svVHJhY2tCYXNlLmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0MSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09N
UFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01Q
VVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiAKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiVHJhY2tCYXNlLmgiCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworVHJhY2tCYXNlOjpUcmFja0Jhc2UoVHlwZSB0eXBlKQor
eworICAgIEFTU0VSVCh0eXBlICE9IEJhc2VUcmFjayk7CisgICAgbV90eXBlID0gdHlwZTsKK30K
KworVHJhY2tCYXNlOjp+VHJhY2tCYXNlKCkKK3sKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UcmFja0Jhc2UuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RyYWNrQmFzZS5oCShyZXZpc2lvbiAwKQor
KysgU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UcmFja0Jhc2UuaAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMuICBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
CisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWZuZGVmIFRyYWNrQmFzZV9oCQorI2RlZmluZSBU
cmFja0Jhc2VfaAorCisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitjbGFzcyBUcmFja0Jhc2UgOiBwdWJsaWMgUmVmQ291bnRlZDxUcmFja0Jhc2U+
IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5UcmFja0Jhc2UoKTsKKworICAgIGVudW0gVHlwZSB7
IEJhc2VUcmFjaywgVGV4dFRyYWNrLCBBdWRpb1RyYWNrLCBWaWRlb1RyYWNrIH07CisgICAgVHlw
ZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gbV90eXBlOyB9CisKK3Byb3RlY3RlZDoKKyAgICBUcmFj
a0Jhc2UoVHlwZSk7CisKK3ByaXZhdGU6CisgICAgVHlwZSBtX3R5cGU7Cit9OworCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBUcmFja0Jhc2VfaApJbmRleDogU291cmNlL1dl
YkNvcmUvaHRtbC90cmFjay9UcmFja0V2ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9odG1sL3RyYWNrL1RyYWNrRXZlbnQuY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dl
YkNvcmUvaHRtbC90cmFjay9UcmFja0V2ZW50LmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw2
MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiAKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoVklERU9f
VFJBQ0spCisKKyNpbmNsdWRlICJUcmFja0V2ZW50LmgiCisKKyNpbmNsdWRlICJFdmVudE5hbWVz
LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworVHJhY2tFdmVudEluaXQ6OlRyYWNrRXZlbnRJ
bml0KCkKK3sKK30KKworCitUcmFja0V2ZW50OjpUcmFja0V2ZW50KCkKK3sKK30KKworVHJhY2tF
dmVudDo6VHJhY2tFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0IFRyYWNrRXZl
bnRJbml0JiBpbml0aWFsaXplcikKKyAgICA6IEV2ZW50KHR5cGUsIGluaXRpYWxpemVyKQorICAg
ICwgbV90cmFjayhpbml0aWFsaXplci50cmFjaykKK3sKK30KKworVHJhY2tFdmVudDo6flRyYWNr
RXZlbnQoKQoreworfQorCitjb25zdCBBdG9taWNTdHJpbmcmIFRyYWNrRXZlbnQ6OmludGVyZmFj
ZU5hbWUoKSBjb25zdAoreworICAgIHJldHVybiBldmVudE5hbWVzKCkuaW50ZXJmYWNlRm9yVHJh
Y2tFdmVudDsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVHJhY2tFdmVudC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2h0bWwvdHJhY2svVHJhY2tFdmVudC5oCShyZXZpc2lvbiAwKQorKysgU291cmNl
L1dlYkNvcmUvaHRtbC90cmFjay9UcmFja0V2ZW50LmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
NzMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBUcmFja0V2ZW50X2gKKyNkZWZpbmUgVHJhY2tFdmVu
dF9oCisKKyNpZiBFTkFCTEUoVklERU9fVFJBQ0spCisKKyNpbmNsdWRlICJFdmVudC5oIgorCisj
aW5jbHVkZSAiVHJhY2tCYXNlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0IFRy
YWNrRXZlbnRJbml0IDogcHVibGljIEV2ZW50SW5pdCB7CisgICAgVHJhY2tFdmVudEluaXQoKTsK
KworICAgIFJlZlB0cjxUcmFja0Jhc2U+IHRyYWNrOworfTsKKworY2xhc3MgVHJhY2tFdmVudCA6
IHB1YmxpYyBFdmVudCB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+VHJhY2tFdmVudCgpOworCisg
ICAgc3RhdGljIFBhc3NSZWZQdHI8VHJhY2tFdmVudD4gY3JlYXRlKCkKKyAgICB7CisgICAgICAg
IHJldHVybiBhZG9wdFJlZihuZXcgVHJhY2tFdmVudCk7CisgICAgfQorCisgICAgc3RhdGljIFBh
c3NSZWZQdHI8VHJhY2tFdmVudD4gY3JlYXRlKGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgY29u
c3QgVHJhY2tFdmVudEluaXQmIGluaXRpYWxpemVyKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFk
b3B0UmVmKG5ldyBUcmFja0V2ZW50KHR5cGUsIGluaXRpYWxpemVyKSk7CisgICAgfQorCisgICAg
dmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIGludGVyZmFjZU5hbWUoKSBjb25zdDsKKworICAg
IFRyYWNrQmFzZSogdHJhY2soKSBjb25zdCB7IHJldHVybiBtX3RyYWNrLmdldCgpOyB9CisKK3By
aXZhdGU6CisgICAgVHJhY2tFdmVudCgpOworICAgIFRyYWNrRXZlbnQoY29uc3QgQXRvbWljU3Ry
aW5nJiB0eXBlLCBjb25zdCBUcmFja0V2ZW50SW5pdCYgaW5pdGlhbGl6ZXIpOworCisgICAgdmly
dHVhbCBib29sIGlzVHJhY2tFdmVudCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KKworICAgIFJl
ZlB0cjxUcmFja0Jhc2U+IG1fdHJhY2s7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZgorI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RyYWNrRXZl
bnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVHJhY2tFdmVu
dC5pZGwJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RyYWNrRXZl
bnQuaWRsCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDM5IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDExIEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElT
JycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKK21vZHVsZSBo
dG1sIHsKKworICAgIGludGVyZmFjZSBbCisgICAgICAgIENvbmRpdGlvbmFsPVZJREVPX1RSQUNL
LAorICAgICAgICBFbmFibGVkQXRSdW50aW1lPXdlYmtpdFZpZGVvVHJhY2ssCisgICAgICAgIENh
bkJlQ29uc3RydWN0ZWQsCisgICAgICAgIEpTQ3VzdG9tQ29uc3RydWN0b3IsCisgICAgXSBUcmFj
a0V2ZW50IDogRXZlbnQgeworCisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbQ3VzdG9tR2V0
dGVyXSBvYmplY3QgdHJhY2s7CisKKyAgICB9OworCit9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
YWdlL0RPTVdpbmRvdy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9ET01X
aW5kb3cuaWRsCShyZXZpc2lvbiA5ODk1OSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2lu
ZG93LmlkbAkod29ya2luZyBjb3B5KQpAQCAtNjE1LDYgKzYxNSw3IEBAIG1vZHVsZSB3aW5kb3cg
ewogICAgICAgICBhdHRyaWJ1dGUgW0VuYWJsZWRBdFJ1bnRpbWU9d2Via2l0VmlkZW9UcmFja10g
VGV4dFRyYWNrQ29uc3RydWN0b3IgVGV4dFRyYWNrOwogICAgICAgICBhdHRyaWJ1dGUgW0VuYWJs
ZWRBdFJ1bnRpbWU9d2Via2l0VmlkZW9UcmFja10gVGV4dFRyYWNrQ3VlQ29uc3RydWN0b3IgVGV4
dFRyYWNrQ3VlOyAvLyBVc2FibGUgd2l0aCB0aGUgbmV3IG9wZXJhdG9yCiAgICAgICAgIGF0dHJp
YnV0ZSBbRW5hYmxlZEF0UnVudGltZT13ZWJraXRWaWRlb1RyYWNrXSBUZXh0VHJhY2tDdWVMaXN0
Q29uc3RydWN0b3IgVGV4dFRyYWNrQ3VlTGlzdDsKKyAgICAgICAgYXR0cmlidXRlIFtFbmFibGVk
QXRSdW50aW1lPXdlYmtpdFZpZGVvVHJhY2tdIFRyYWNrRXZlbnRDb25zdHJ1Y3RvciBUcmFja0V2
ZW50OwogI2VuZGlmCiAKICAgICAgICAgYXR0cmlidXRlIERPTVBsdWdpbkNvbnN0cnVjdG9yIFBs
dWdpbjsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDk5MDM4KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMTEtMDEgIEVyaWMgQ2FybHNv
biAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIFRyYWNrRXZlbnQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTc4CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2V2ZW50
cy9jb25zdHJ1Y3RvcnMvdHJhY2stZXZlbnQtY29uc3RydWN0b3ItZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMvdHJhY2stZXZlbnQtY29uc3Ry
dWN0b3IuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBl
Y3RhdGlvbnMudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9mYXN0L2RvbS9XaW5kb3cvd2lu
ZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9mYXN0
L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3Jt
L21hYy9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9Ta2lwcGVkOgorCiAyMDExLTEx
LTAxICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgSW1wbGVtZW50IF9f
bG9va3VwR2V0dGVyX18vX19sb29rdXBTZXR0ZXJfXyBpbiB0ZXJtcyBvZiBnZXRQcm9wZXJ0eURl
c2NyaXB0b3IKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy90cmFj
ay1ldmVudC1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL3RyYWNrLWV2ZW50LWNvbnN0cnVjdG9yLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2NvbnN0cnVj
dG9ycy90cmFjay1ldmVudC1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsMzkgQEAKK1RoaXMgdGVzdHMgdGhlIGNvbnN0cnVjdG9yIGZvciB0aGUgVHJhY2tF
dmVudCBET00gY2xhc3MuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCisKKyoqKiBO
byBpbml0aWFsaXplciBwYXNzZWQgKioqCitQQVNTIG5ldyBUcmFja0V2ZW50KCdUcmFja0V2ZW50
JykuYnViYmxlcyBpcyBmYWxzZQorUEFTUyBuZXcgVHJhY2tFdmVudCgnVHJhY2tFdmVudCcpLmNh
bmNlbGFibGUgaXMgZmFsc2UKK1BBU1MgbmV3IFRyYWNrRXZlbnQoJ1RyYWNrRXZlbnQnKS50cmFj
ayBpcyBudWxsCisKKyoqKiBCdWJibGVzIGFuZCBjYW5jZWxhYmxlIHRydWUsIHRyYWNrIGlzIG1p
c3NpbmcgKioqCitQQVNTIG5ldyBUcmFja0V2ZW50KCdUcmFja0V2ZW50JywgeyBidWJibGVzOiB0
cnVlLCBjYW5jZWxhYmxlOiB0cnVlIH0pLmJ1YmJsZXMgaXMgdHJ1ZQorUEFTUyBuZXcgVHJhY2tF
dmVudCgnVHJhY2tFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSB9KS5j
YW5jZWxhYmxlIGlzIHRydWUKK1BBU1MgbmV3IFRyYWNrRXZlbnQoJ1RyYWNrRXZlbnQnLCB7IGJ1
YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUgfSkudHJhY2sgaXMgbnVsbAorCisqKiogQnVi
YmxlcyBhbmQgY2FuY2VsYWJsZSB0cnVlLCBpbnZhbGlkIHRyYWNrICoqKgorUEFTUyBuZXcgVHJh
Y2tFdmVudCgnVHJhY2tFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwg
dHJhY2s6IEhUTUxUcmFja0VsZW1lbnQgfSkuYnViYmxlcyBpcyB0cnVlCitQQVNTIG5ldyBUcmFj
a0V2ZW50KCdUcmFja0V2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCB0
cmFjazogSFRNTFRyYWNrRWxlbWVudCB9KS5jYW5jZWxhYmxlIGlzIHRydWUKK1BBU1MgbmV3IFRy
YWNrRXZlbnQoJ1RyYWNrRXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUs
IHRyYWNrOiBIVE1MVHJhY2tFbGVtZW50IH0pLnRyYWNrIGlzIG51bGwKKworKioqIEluaXRpYWxp
emUgJ3RyYWNrJyB3aXRoIGEgaW52YWxpZCB2YWx1ZXMgKioqCitQQVNTIG5ldyBUcmFja0V2ZW50
KCdUcmFja0V2ZW50JywgeyB0cmFjazogMTAgfSkudHJhY2sgaXMgbnVsbAorUEFTUyBuZXcgVHJh
Y2tFdmVudCgnVHJhY2tFdmVudCcsIHsgdHJhY2s6ICdzdHJpbmcnIH0pLnRyYWNrIGlzIG51bGwK
K1BBU1MgbmV3IFRyYWNrRXZlbnQoJ1RyYWNrRXZlbnQnLCB7IHRyYWNrOiBlbXB0eU9iamVjdCB9
KS50cmFjayBpcyBudWxsCitQQVNTIG5ldyBUcmFja0V2ZW50KCdUcmFja0V2ZW50JywgeyB0cmFj
azogZG9jdW1lbnQgfSkudHJhY2sgaXMgbnVsbAorCisqKiogQnViYmxlcyBhbmQgY2FuY2VsYWJs
ZSB0cnVlLCB2YWxpZCB0cmFjayAqKioKK1BBU1MgbmV3IFRyYWNrRXZlbnQoJ1RyYWNrRXZlbnQn
LCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIHRyYWNrOiBIVE1MVHJhY2tFbGVt
ZW50IH0pLmJ1YmJsZXMgaXMgdHJ1ZQorUEFTUyBuZXcgVHJhY2tFdmVudCgnVHJhY2tFdmVudCcs
IHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwgdHJhY2s6IEhUTUxUcmFja0VsZW1l
bnQgfSkuY2FuY2VsYWJsZSBpcyB0cnVlCitQQVNTIG5ldyBUcmFja0V2ZW50KCdUcmFja0V2ZW50
JywgeyB0cmFjazogdHJhY2tFbGVtZW50LnRyYWNrIH0pLnRyYWNrIGlzIHRyYWNrRWxlbWVudC50
cmFjaworCisqKiogSW5pdGlhbGl6ZSAndHJhY2snIHdpdGggdmFsaWQgdHJhY2sgb2JqZWN0ICoq
KgorUEFTUyBuZXcgVHJhY2tFdmVudCgnVHJhY2tFdmVudCcsIHsgdHJhY2s6IHRyYWNrRWxlbWVu
dC50cmFjayB9KS50cmFjayBpcyB0cmFja0VsZW1lbnQudHJhY2sKKworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL2Zh
c3QvZXZlbnRzL2NvbnN0cnVjdG9ycy90cmFjay1ldmVudC1jb25zdHJ1Y3Rvci5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy90cmFjay1ldmVu
dC1jb25zdHJ1Y3Rvci5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvY29uc3RydWN0b3JzL3RyYWNrLWV2ZW50LWNvbnN0cnVjdG9yLmh0bWwJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKworPGJvZHk+CisgICAgPHNjcmlwdD4KKworICAgICAgICB3aW5kb3cuanNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdHMgdGhlIGNv
bnN0cnVjdG9yIGZvciB0aGUgVHJhY2tFdmVudCBET00gY2xhc3MuIik7CisKKyAgICAgICAgZnVu
Y3Rpb24gdGVzdCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIC8vIE1ha2Ugc3VyZSB0aGUgdHJh
Y2sgYWN0dWFsbHkgbG9hZGVkLgorICAgICAgICAgICAgc2hvdWxkQmUoInRyYWNrRWxlbWVudC50
cmFjay5yZWFkeVN0YXRlIiwgIlRleHRUcmFjay5Mb2FkZWQiLCB0cnVlKTsKKworICAgICAgICAg
ICAgZGVidWcoIjxicj4qKiogTm8gaW5pdGlhbGl6ZXIgcGFzc2VkICoqKiIpOworICAgICAgICAg
ICAgc2hvdWxkQmUoIm5ldyBUcmFja0V2ZW50KCdUcmFja0V2ZW50JykuYnViYmxlcyIsICJmYWxz
ZSIpOworICAgICAgICAgICAgc2hvdWxkQmUoIm5ldyBUcmFja0V2ZW50KCdUcmFja0V2ZW50Jyku
Y2FuY2VsYWJsZSIsICJmYWxzZSIpOworICAgICAgICAgICAgc2hvdWxkQmVOdWxsKCJuZXcgVHJh
Y2tFdmVudCgnVHJhY2tFdmVudCcpLnRyYWNrIik7CisgICAgCisgICAgICAgICAgICBkZWJ1Zygi
PGJyPioqKiBCdWJibGVzIGFuZCBjYW5jZWxhYmxlIHRydWUsIHRyYWNrIGlzIG1pc3NpbmcgKioq
Iik7CisgICAgICAgICAgICBzaG91bGRCZSgibmV3IFRyYWNrRXZlbnQoJ1RyYWNrRXZlbnQnLCB7
IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUgfSkuYnViYmxlcyIsICJ0cnVlIik7Cisg
ICAgICAgICAgICBzaG91bGRCZSgibmV3IFRyYWNrRXZlbnQoJ1RyYWNrRXZlbnQnLCB7IGJ1YmJs
ZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUgfSkuY2FuY2VsYWJsZSIsICJ0cnVlIik7CisgICAg
ICAgICAgICBzaG91bGRCZU51bGwoIm5ldyBUcmFja0V2ZW50KCdUcmFja0V2ZW50JywgeyBidWJi
bGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlIH0pLnRyYWNrIik7CisgICAgCisgICAgICAgICAg
ICBkZWJ1ZygiPGJyPioqKiBCdWJibGVzIGFuZCBjYW5jZWxhYmxlIHRydWUsIGludmFsaWQgdHJh
Y2sgKioqIik7CisgICAgICAgICAgICBzaG91bGRCZSgibmV3IFRyYWNrRXZlbnQoJ1RyYWNrRXZl
bnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIHRyYWNrOiBIVE1MVHJhY2tF
bGVtZW50IH0pLmJ1YmJsZXMiLCAidHJ1ZSIpOworICAgICAgICAgICAgc2hvdWxkQmUoIm5ldyBU
cmFja0V2ZW50KCdUcmFja0V2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVl
LCB0cmFjazogSFRNTFRyYWNrRWxlbWVudCB9KS5jYW5jZWxhYmxlIiwgInRydWUiKTsKKyAgICAg
ICAgICAgIHNob3VsZEJlTnVsbCgibmV3IFRyYWNrRXZlbnQoJ1RyYWNrRXZlbnQnLCB7IGJ1YmJs
ZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIHRyYWNrOiBIVE1MVHJhY2tFbGVtZW50IH0pLnRy
YWNrIik7CisgICAgCisgICAgICAgICAgICBkZWJ1ZygiPGJyPioqKiBJbml0aWFsaXplICd0cmFj
aycgd2l0aCBhIGludmFsaWQgdmFsdWVzICoqKiIpOworICAgICAgICAgICAgc2hvdWxkQmVOdWxs
KCJuZXcgVHJhY2tFdmVudCgnVHJhY2tFdmVudCcsIHsgdHJhY2s6IDEwIH0pLnRyYWNrIik7Cisg
ICAgICAgICAgICBzaG91bGRCZU51bGwoIm5ldyBUcmFja0V2ZW50KCdUcmFja0V2ZW50JywgeyB0
cmFjazogXCdzdHJpbmdcJyB9KS50cmFjayIpOworICAgICAgICAgICAgZW1wdHlPYmplY3QgPSB7
IH07CisgICAgICAgICAgICBzaG91bGRCZU51bGwoIm5ldyBUcmFja0V2ZW50KCdUcmFja0V2ZW50
JywgeyB0cmFjazogZW1wdHlPYmplY3QgfSkudHJhY2siKTsKKyAgICAgICAgICAgIHNob3VsZEJl
TnVsbCgibmV3IFRyYWNrRXZlbnQoJ1RyYWNrRXZlbnQnLCB7IHRyYWNrOiBkb2N1bWVudCB9KS50
cmFjayIpOworCisgICAgICAgICAgICBkZWJ1ZygiPGJyPioqKiBCdWJibGVzIGFuZCBjYW5jZWxh
YmxlIHRydWUsIHZhbGlkIHRyYWNrICoqKiIpOworICAgICAgICAgICAgc2hvdWxkQmUoIm5ldyBU
cmFja0V2ZW50KCdUcmFja0V2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVl
LCB0cmFjazogSFRNTFRyYWNrRWxlbWVudCB9KS5idWJibGVzIiwgInRydWUiKTsKKyAgICAgICAg
ICAgIHNob3VsZEJlKCJuZXcgVHJhY2tFdmVudCgnVHJhY2tFdmVudCcsIHsgYnViYmxlczogdHJ1
ZSwgY2FuY2VsYWJsZTogdHJ1ZSwgdHJhY2s6IEhUTUxUcmFja0VsZW1lbnQgfSkuY2FuY2VsYWJs
ZSIsICJ0cnVlIik7CisgICAgICAgICAgICBzaG91bGRCZSgibmV3IFRyYWNrRXZlbnQoJ1RyYWNr
RXZlbnQnLCB7IHRyYWNrOiB0cmFja0VsZW1lbnQudHJhY2sgfSkudHJhY2siLCAidHJhY2tFbGVt
ZW50LnRyYWNrIik7CisKKyAgICAgICAgICAgIGRlYnVnKCI8YnI+KioqIEluaXRpYWxpemUgJ3Ry
YWNrJyB3aXRoIHZhbGlkIHRyYWNrIG9iamVjdCAqKioiKTsKKyAgICAgICAgICAgIHNob3VsZEJl
KCJuZXcgVHJhY2tFdmVudCgnVHJhY2tFdmVudCcsIHsgdHJhY2s6IHRyYWNrRWxlbWVudC50cmFj
ayB9KS50cmFjayIsICJ0cmFja0VsZW1lbnQudHJhY2siKTsKKworICAgICAgICAgICAgZGVidWco
IiIpOworICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgIH0KKworICAgICAgICB2
aWRlbyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3ZpZGVvJyk7CisgICAgICAgIGRvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQodmlkZW8pOworCisgICAgICAgIHRyYWNrRWxlbWVudCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoJ3RyYWNrJyk7CisgICAgICAgIHZpZGVvLmFwcGVuZENoaWxkKHRy
YWNrRWxlbWVudCk7CisgICAgICAgIHRyYWNrRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdsb2Fk
JywgdGVzdCk7CisgICAgICAgIHRyYWNrRWxlbWVudC5zcmM9J2RhdGE6dGV4dC92dHQsV0VCVlRU
IEZJTEUgXHJccjFccjAwOjAwOjAwLjAwMCAtLT4gMDA6MDA6MzAuNTAwXHJvbmx5IG9uZSBjYXB0
aW9uJzsKKworICAgIDwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKworPC9ib2R5PgorPC9odG1sPgpJbmRleDog
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25z
LnR4dAkocmV2aXNpb24gOTg5NTkpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90
ZXN0X2V4cGVjdGF0aW9ucy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTExMSw2ICsxMTEsNyBAQCBC
VUdXSzQzNjY4IFNLSVAgOiBtZWRpYS90cmFjay90cmFjay13ZWJ2CiBCVUdXSzQzNjY4IFNLSVAg
OiBtZWRpYS90cmFjay90cmFjay13ZWJ2dHQtdGMwMjYtdm9pY2UuaHRtbCA9IFRJTUVPVVQKIEJV
R1dLNDM2NjggU0tJUCA6IG1lZGlhL3RyYWNrL3RyYWNrLXdlYnZ0dC10YzAyNy1lbXB0eS1jdWUu
aHRtbCA9IFRJTUVPVVQKIEJVR1dLNDM2NjggU0tJUCA6IG1lZGlhL3RyYWNrL3RyYWNrLXdlYnZ0
dC10YzAyOC11bnN1cHBvcnRlZC1tYXJrdXAuaHRtbCA9IFRJTUVPVVQKK0JVR1dLNDM2NjggU0tJ
UCA6IGZhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy90cmFjay1ldmVudC1jb25zdHJ1Y3Rvci5odG1s
ID0gVElNRU9VVAogCiAvLyBUZXN0cyBmb3IgTWVkaWFTb3VyY2UgQVBJLiBGZWF0dXJlIGlzIG5v
dCB5ZXQgZnVuY3Rpb25hbC4KIEJVR1dLNjQ3MzEgU0tJUCA6IGh0dHAvdGVzdHMvbWVkaWEvbWVk
aWEtc291cmNlLyA9IFRJTUVPVVQKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9mYXN0
L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRp
ZXMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA5ODk1OSkKKysrIExheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0yMTM4LDYgKzIxMzgsOCBAQCB3aW5kb3cuVGltZVJhbmdlcyBbb2JqZWN0
IFRpbWVSYW5nZXNDb25zCiB3aW5kb3cuVGltZVJhbmdlcy5wcm90b3R5cGUgW29iamVjdCBUaW1l
UmFuZ2VzUHJvdG90eXBlXQogd2luZG93LlRpbWVSYW5nZXMucHJvdG90eXBlLmVuZCBbZnVuY3Rp
b25dCiB3aW5kb3cuVGltZVJhbmdlcy5wcm90b3R5cGUuc3RhcnQgW2Z1bmN0aW9uXQord2luZG93
LlRyYWNrRXZlbnQgW29iamVjdCBUcmFja0V2ZW50Q29uc3RydWN0b3JdCit3aW5kb3cuVHJhY2tF
dmVudC5wcm90b3R5cGUgW3ByaW50ZWQgYWJvdmUgYXMgd2luZG93LkV2ZW50LnByb3RvdHlwZV0K
IHdpbmRvdy5UeXBlRXJyb3IgW2Z1bmN0aW9uXQogd2luZG93LlVJRXZlbnQgW29iamVjdCBVSUV2
ZW50Q29uc3RydWN0b3JdCiB3aW5kb3cuVUlFdmVudC5wcm90b3R5cGUgW3ByaW50ZWQgYWJvdmUg
YXMgd2luZG93LkV2ZW50LnByb3RvdHlwZV0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2d0
ay9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiA5ODk1OSkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9m
YXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0zMDcsNiArMzA3LDcgQEAgUEFTUyBUZXh0VHJhY2sudG9TdHJpbmcoKSBpcyAnW29iamVjdCBU
ZQogUEFTUyBUZXh0VHJhY2tDdWUudG9TdHJpbmcoKSBpcyAnW29iamVjdCBUZXh0VHJhY2tDdWVD
b25zdHJ1Y3Rvcl0nCiBQQVNTIFRleHRUcmFja0N1ZUxpc3QudG9TdHJpbmcoKSBpcyAnW29iamVj
dCBUZXh0VHJhY2tDdWVMaXN0Q29uc3RydWN0b3JdJwogUEFTUyBUaW1lUmFuZ2VzLnRvU3RyaW5n
KCkgaXMgJ1tvYmplY3QgVGltZVJhbmdlc0NvbnN0cnVjdG9yXScKK1BBU1MgVHJhY2tFdmVudC50
b1N0cmluZygpIGlzICdbb2JqZWN0IFRyYWNrRXZlbnRDb25zdHJ1Y3Rvcl0nCiBQQVNTIFVJRXZl
bnQudG9TdHJpbmcoKSBpcyAnW29iamVjdCBVSUV2ZW50Q29uc3RydWN0b3JdJwogUEFTUyBXZWJL
aXRBbmltYXRpb25FdmVudC50b1N0cmluZygpIGlzICdbb2JqZWN0IFdlYktpdEFuaW1hdGlvbkV2
ZW50Q29uc3RydWN0b3JdJwogUEFTUyBXZWJLaXRDU1NLZXlmcmFtZVJ1bGUudG9TdHJpbmcoKSBp
cyAnW29iamVjdCBXZWJLaXRDU1NLZXlmcmFtZVJ1bGVDb25zdHJ1Y3Rvcl0nCkluZGV4OiBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvU2tpcHBlZAkocmV2aXNpb24gOTg5NTkpCisrKyBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvU2tpcHBlZAkod29ya2luZyBjb3B5KQpAQCAtNDU3LDYgKzQ1Nyw3IEBAIG1lZGlh
L3RyYWNrL3RyYWNrLXdlYnZ0dC10YzAyNS1jbGFzcy1tYXIKIG1lZGlhL3RyYWNrL3RyYWNrLXdl
YnZ0dC10YzAyNi12b2ljZS5odG1sCiBtZWRpYS90cmFjay90cmFjay13ZWJ2dHQtdGMwMjctZW1w
dHktY3VlLmh0bWwKIG1lZGlhL3RyYWNrL3RyYWNrLXdlYnZ0dC10YzAyOC11bnN1cHBvcnRlZC1t
YXJrdXAuaHRtbAorZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL3RyYWNrLWV2ZW50LWNvbnN0cnVj
dG9yLmh0bWwKIAogIyBUZXN0cyBmb3IgTWVkaWFTb3VyY2UgQVBJLiBGZWF0dXJlIGlzIG5vdCB5
ZXQgZnVuY3Rpb25hbC4KICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTY0NzMxCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAkocmV2aXNpb24gOTg5NTkpCisr
KyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAkod29ya2luZyBjb3B5KQpAQCAtMTQ0
MSw2ICsxNDQxLDcgQEAgbWVkaWEvdHJhY2svdHJhY2std2VidnR0LXRjMDI1LWNsYXNzLW1hcgog
bWVkaWEvdHJhY2svdHJhY2std2VidnR0LXRjMDI2LXZvaWNlLmh0bWwKIG1lZGlhL3RyYWNrL3Ry
YWNrLXdlYnZ0dC10YzAyNy1lbXB0eS1jdWUuaHRtbAogbWVkaWEvdHJhY2svdHJhY2std2VidnR0
LXRjMDI4LXVuc3VwcG9ydGVkLW1hcmt1cC5odG1sCitmYXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMv
dHJhY2stZXZlbnQtY29uc3RydWN0b3IuaHRtbAogCiAjIFRlc3RzIGZvciBNZWRpYVNvdXJjZSBB
UEkuIEZlYXR1cmUgaXMgbm90IHlldCBmdW5jdGlvbmFsLgogIyBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ3MzEK
</data>
<flag name="commit-queue"
          id="111583"
          type_id="3"
          status="-"
          setter="webkit-ews"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113323</attachid>
            <date>2011-11-02 09:49:49 -0700</date>
            <delta_ts>2011-11-02 11:50:57 -0700</delta_ts>
            <desc>Yet another patch for the EWS bots to chew up and spit out.</desc>
            <filename>patch_track_event_14.txt</filename>
            <type>text/plain</type>
            <size>63795</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk5MDU2KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNzQgQEAKKzIwMTEtMTEtMDIgIEVyaWMgQ2Fy
bHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIFRyYWNrRXZlbnQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTc4CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogZmFz
dC9ldmVudHMvY29uc3RydWN0b3JzL3RyYWNrLWV2ZW50LWNvbnN0cnVjdG9yLmh0bWwKKworICAg
ICAgICAqIENNYWtlTGlzdHMudHh0OiBBZGQgbmV3IGZpbGVzIGZvciBUcmFja0V2ZW50LgorICAg
ICAgICAqIENvZGVHZW5lcmF0b3JzLnByaTogRGl0dG8uCisgICAgICAgICogRGVyaXZlZFNvdXJj
ZXMuY3BwOiBEaXR0by4KKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOiBEaXR0by4KKyAg
ICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOiBEaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLmd5
cGk6IERpdHRvLgorICAgICAgICAqIFdlYkNvcmUucHJvOiBEaXR0by4KKyAgICAgICAgKiBXZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6IERpdHRvLgorICAgICAgICAqIGJpbmRpbmdz
L2dlbmVyaWMvRXZlbnRDb25zdHJ1Y3RvcnMuaDogRGl0dG8uCisgICAgICAgICogYmluZGluZ3Mv
Z29iamVjdC9HTlVtYWtlZmlsZS5hbTogRGl0dG8uCisgICAgICAgICogYmluZGluZ3MvZ29iamVj
dC9XZWJLaXRIVE1MRWxlbWVudFdyYXBwZXJGYWN0b3J5LmNwcDogRGl0dG8uCisgICAgICAgICog
YmluZGluZ3MvanMvSlNCaW5kaW5nc0FsbEluT25lLmNwcDogRGl0dG8uCisKKyAgICAgICAgKiBi
aW5kaW5ncy9qcy9KU0RpY3Rpb25hcnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNEaWN0aW9u
YXJ5Ojpjb252ZXJ0VmFsdWUpOiBBZGQgbWV0aG9kIHRvIGNvbnZlcnQgdG8gYSBUcmFjay4KKyAg
ICAgICAgKiBiaW5kaW5ncy9qcy9KU0RpY3Rpb25hcnkuaDoKKworICAgICAgICAqIGJpbmRpbmdz
L2pzL0pTRXZlbnRDb25zdHJ1Y3RvcnMuY3BwOiAgQWRkIG5ldyBmaWxlcyBmb3IgVHJhY2tFdmVu
dC4KKworICAgICAgICAqIGJpbmRpbmdzL2pzL0pTVHJhY2tDdXN0b20uY3BwOiBBZGRlZC4gCisg
ICAgICAgIChXZWJDb3JlOjp0b1RyYWNrKTogTmV3LCBjb252ZXJ0IGZyb20gYSBKU1ZhbHVlIHRv
IGEgVHJhY2suCisgICAgICAgIChXZWJDb3JlOjp0b0pTKTogTmV3LCByZXR1cm4gYSBKUyB3cmFw
cGVyIGZvciBhIFRyYWNrLgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTVHJhY2tDdXN0b20uaDog
QWRkZWQuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1RyYWNrRXZlbnRDdXN0b20uY3BwOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkpTVHJhY2tFdmVudDo6dHJhY2spOiBOZXcsIHJldHVy
bnMgYSBUZXh0RXZlbnQncyAndHJhY2snIGF0dHJpYnV0ZS4KKworICAgICAgICAqIGJpbmRpbmdz
L3Y4L09wdGlvbnNPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6T3B0aW9uc09iamVjdDo6
Z2V0KTogUmV0dXJucyBUcmFja0Jhc2UgY29ycmVzcG9uZGluZyB0byBhIGdpdmVuIGtleS4KKwor
ICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEV2ZW50Q29uc3RydWN0b3JzLmNwcDogQWRk
IFRyYWNrIGluaXRpYWxpemluZyBjb25zdHJ1Y3Rvci4KKworICAgICAgICAqIGJpbmRpbmdzL3Y4
L2N1c3RvbS9WOFRyYWNrRXZlbnRDdXN0b20uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OlY4VHJhY2tFdmVudDo6dHJhY2tBY2Nlc3NvckdldHRlcik6IE5ldywgcmV0dXJucyBhIFRleHRF
dmVudCdzICd0cmFjaycgYXR0cmlidXRlLgorCisgICAgICAgICogZG9tL0V2ZW50RmFjdG9yeS5p
bjogQWRkIFRyYWNrRXZlbnQuCisKKyAgICAgICAgKiBkb20vRXZlbnROYW1lcy5oOiBBZGQgJ2Fk
ZHRyYWNrJyBldmVudC4KKworICAgICAgICAqIGh0bWwvVGV4dFRyYWNrLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlRleHRUcmFjazo6VGV4dFRyYWNrKTogQ2FsbCBuZXcgYmFzZSBjbGFzcyBjb25z
dHJ1Y3Rvci4KKyAgICAgICAgKiBodG1sL1RleHRUcmFjay5oOiBOb3cgZGVyaXZlIGZyb20gQmFz
ZVRyYWNrIGZvciB0aGUgZGF5IHdlIGltcGxlbWVudCBWaWRlb1RyYWNrIGFuZCBBdWRpb1RyYWNr
LgorCisgICAgICAgICogaHRtbC90cmFjay9UcmFja0Jhc2UuY3BwOiBBZGRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OlRyYWNrQmFzZTo6VHJhY2tCYXNlKToKKyAgICAgICAgKFdlYkNvcmU6OlRyYWNr
QmFzZTo6flRyYWNrQmFzZSk6CisgICAgICAgICogaHRtbC90cmFjay9UcmFja0Jhc2UuaDogQWRk
ZWQuCisgICAgICAgIChXZWJDb3JlOjpUcmFja0Jhc2U6OnR5cGUpOiBSZXR1cm4gdGhlIHRyYWNr
IHR5cGUuCisKKyAgICAgICAgKiBodG1sL3RyYWNrL1RyYWNrRXZlbnQuY3BwOiBBZGRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OlRyYWNrRXZlbnRJbml0OjpUcmFja0V2ZW50SW5pdCk6CisgICAgICAg
IChXZWJDb3JlOjpUcmFja0V2ZW50OjpUcmFja0V2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlRy
YWNrRXZlbnQ6On5UcmFja0V2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlRyYWNrRXZlbnQ6Omlu
dGVyZmFjZU5hbWUpOgorICAgICAgICAqIGh0bWwvdHJhY2svVHJhY2tFdmVudC5oOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OlRyYWNrRXZlbnQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpUcmFja0V2ZW50Ojppc1RyYWNrRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6VHJhY2tFdmVu
dDo6dHJhY2spOgorICAgICAgICAqIGh0bWwvdHJhY2svVHJhY2tFdmVudC5pZGw6IEFkZGVkLgor
CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaWRsOiBBZGQgVHJhY2tFdmVudC4KKwogMjAxMS0x
MS0wMiAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBV
bnJldmlld2VkIGJ1aWxkIGZpeCBmb3IgIUVOQUJMRShGSUxURVJTKSBhZnRlciByOTg5ODkuCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24gOTkwNTYpCisrKyBTb3VyY2UvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMzE4LDYgKzMxOCw4IEBAIFNFVChX
ZWJDb3JlX0lETF9GSUxFUwogICAgIGh0bWwvY2FudmFzL1dlYkdMVmVydGV4QXJyYXlPYmplY3RP
RVMuaWRsCiAgICAgaHRtbC9jYW52YXMvV2ViS2l0TG9zZUNvbnRleHQuaWRsCiAKKyAgICBodG1s
L3RyYWNrL1RyYWNrRXZlbnQuaWRsCisKICAgICBpbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRIb3N0
LmlkbAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaWRsCiAgICAgaW5zcGVj
dG9yL0phdmFTY3JpcHRDYWxsRnJhbWUuaWRsCkBAIC0yMDY0LDYgKzIwNjYsOCBAQCBJRiAoRU5B
QkxFX1ZJREVPX1RSQUNLKQogICAgICAgICBodG1sL1RleHRUcmFja0N1ZS5jcHAKICAgICAgICAg
aHRtbC9UZXh0VHJhY2tDdWVJbmRleC5jcHAKICAgICAgICAgaHRtbC9UZXh0VHJhY2tDdWVMaXN0
LmNwcAorICAgICAgICBodG1sL3RyYWNrL1RyYWNrQmFzZS5jcHAKKyAgICAgICAgaHRtbC90cmFj
ay9UcmFja0V2ZW50LmNwcAogICAgICAgICBodG1sL3RyYWNrL1dlYlZUVFBhcnNlci5jcHAKICAg
ICAgICAgaHRtbC90cmFjay9XZWJWVFRUb2tlbml6ZXIuY3BwCiAgICAgICAgIGxvYWRlci9UZXh0
VHJhY2tMb2FkZXIuY3BwCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Db2RlR2VuZXJhdG9ycy5wcmkK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ29kZUdlbmVyYXRvcnMucHJpCShyZXZpc2lv
biA5OTA1NikKKysrIFNvdXJjZS9XZWJDb3JlL0NvZGVHZW5lcmF0b3JzLnByaQkod29ya2luZyBj
b3B5KQpAQCAtNTc3LDYgKzU3Nyw3IEBAIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9WSURFT19U
UkFDSz0xKSAKICAgICBodG1sL1RleHRUcmFjay5pZGwgXAogICAgIGh0bWwvVGV4dFRyYWNrQ3Vl
LmlkbCBcCiAgICAgaHRtbC9UZXh0VHJhY2tDdWVMaXN0LmlkbCBcCisgICAgaHRtbC90cmFjay9U
cmFja0V2ZW50LmlkbCBcCiB9CiAKIHY4OiB3cmFwcGVyRmFjdG9yeUFyZyA9IC0td3JhcHBlckZh
Y3RvcnlWOApJbmRleDogU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAkocmV2aXNpb24gOTkwNTYp
CisrKyBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTQ0MSw2ICs0NDEsNyBAQAogI2luY2x1ZGUgIkpTVGV4dFRyYWNrLmNwcCIKICNpbmNsdWRlICJK
U1RleHRUcmFja0N1ZS5jcHAiCiAjaW5jbHVkZSAiSlNUZXh0VHJhY2tDdWVMaXN0LmNwcCIKKyNp
bmNsdWRlICJKU1RyYWNrRXZlbnQuY3BwIgogI2VuZGlmCiAjaW5jbHVkZSAiSlNUaW1lUmFuZ2Vz
LmNwcCIKICNpbmNsdWRlICJKU1RvdWNoLmNwcCIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLm1ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMubWFrZQkocmV2aXNpb24gOTkwNTYpCisrKyBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5tYWtlCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw2ICszNiw3IEBAIFZQQVRIID0gXAogICAgICQo
V2ViQ29yZSkvZmlsZWFwaSBcCiAgICAgJChXZWJDb3JlKS9odG1sIFwKICAgICAkKFdlYkNvcmUp
L2h0bWwvY2FudmFzIFwKKyAgICAkKFdlYkNvcmUpL2h0bWwvdHJhY2sgXAogICAgICQoV2ViQ29y
ZSkvaW5zcGVjdG9yIFwKICAgICAkKFdlYkNvcmUpL2xvYWRlci9hcHBjYWNoZSBcCiAgICAgJChX
ZWJDb3JlKS9ub3RpZmljYXRpb25zIFwKQEAgLTUxMyw2ICs1MTQsNyBAQCBET01fQ0xBU1NFUyA9
IFwKICAgICBUb3VjaCBcCiAgICAgVG91Y2hFdmVudCBcCiAgICAgVG91Y2hMaXN0IFwKKyAgICBU
cmFja0V2ZW50IFwKICAgICBUcmVlV2Fsa2VyIFwKICAgICBVSUV2ZW50IFwKICAgICBVaW50MTZB
cnJheSBcCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0JKHJldmlzaW9uIDk5MDU2
KQorKysgU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQkod29ya2luZyBjb3B5KQpA
QCAtNTEyLDYgKzUxMiw4IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU1RvdWNoLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNUb3Vj
aExpc3QuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVG91Y2hMaXN0LmggXAorCURl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNUcmFja0V2ZW50LmNwcCBcCisJRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU1RyYWNrRXZlbnQuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1RyZWVX
YWxrZXIuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVHJlZVdhbGtlci5oIFwKIAlE
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVUlFdmVudC5jcHAgXApAQCAtODUwLDYgKzg1Miw5IEBA
IHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNUZXh0
Q3VzdG9tLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNUb3VjaEN1c3RvbS5j
cHAgXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTVG91Y2hMaXN0Q3VzdG9tLmNwcCBc
CisJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNUcmFja0N1c3RvbS5jcHAgXAorCVNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTVHJhY2tDdXN0b20uaCBcCisJU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNUcmFja0V2ZW50Q3VzdG9tLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNUcmVlV2Fsa2VyQ3VzdG9tLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNVaW50MTZBcnJheUN1c3RvbS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTVWludDMyQXJyYXlDdXN0b20uY3BwIFwKQEAgLTE5NjgsNiArMTk3MywxMCBAQCB3ZWJj
b3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvVGltZUlucHV0VHlwZS5oIFwK
IAlTb3VyY2UvV2ViQ29yZS9odG1sL1RpbWVSYW5nZXMuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9o
dG1sL1RpbWVSYW5nZXMuaCBcCisJU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UcmFja0Jhc2Uu
Y3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RyYWNrQmFzZS5oIFwKKwlTb3VyY2Uv
V2ViQ29yZS9odG1sL3RyYWNrL1RyYWNrRXZlbnQuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9odG1s
L3RyYWNrL1RyYWNrRXZlbnQuaCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9XZWJWVFRQ
YXJzZXIuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1dlYlZUVFBhcnNlci5oIFwK
IAlTb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1dlYlZUVFRva2VuLmggXApJbmRleDogU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5neXBpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZ3lwaQkocmV2aXNpb24gOTkwNTYpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkJ
KHdvcmtpbmcgY29weSkKQEAgLTEzNzEsNiArMTM3MSw3IEBACiAgICAgICAgICAgICAnaHRtbC9j
YW52YXMvV2ViR0xVbmlmb3JtTG9jYXRpb24uaWRsJywKICAgICAgICAgICAgICdodG1sL2NhbnZh
cy9XZWJHTFZlcnRleEFycmF5T2JqZWN0T0VTLmlkbCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52
YXMvV2ViS2l0TG9zZUNvbnRleHQuaWRsJywKKyAgICAgICAgICAgICdodG1sL3RyYWNrL1RyYWNr
RXZlbnQuaWRsJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRIb3N0Lmlk
bCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5pZGwnLAog
ICAgICAgICAgICAgJ2luc3BlY3Rvci9KYXZhU2NyaXB0Q2FsbEZyYW1lLmlkbCcsCkBAIC0xOTM2
LDYgKzE5MzcsOSBAQAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTVGV4dEN1c3RvbS5jcHAn
LAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTVG91Y2hDdXN0b20uY3BwJywKICAgICAgICAg
ICAgICdiaW5kaW5ncy9qcy9KU1RvdWNoTGlzdEN1c3RvbS5jcHAnLAorICAgICAgICAgICAgJ2Jp
bmRpbmdzL2pzL0pTVHJhY2tDdXN0b20uY3BwJywKKyAgICAgICAgICAgICdiaW5kaW5ncy9qcy9K
U1RyYWNrQ3VzdG9tLmgnLAorICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTVHJhY2tFdmVudEN1
c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTVHJlZVdhbGtlckN1c3RvbS5j
cHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTVWludDE2QXJyYXlDdXN0b20uY3BwJywK
ICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU1VpbnQzMkFycmF5Q3VzdG9tLmNwcCcsCkBAIC0y
MjM4LDYgKzIyNDIsNyBAQAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFN0b3Jh
Z2VDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhTdHlsZVNo
ZWV0Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4U3R5bGVT
aGVldExpc3RDdXN0b20uY3BwJywKKyAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhU
cmFja0V2ZW50Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4
VWludDE2QXJyYXlDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20v
VjhVaW50MzJBcnJheUN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOFVpbnQ4QXJyYXlDdXN0b20uY3BwJywKQEAgLTU3NjgsNiArNTc3Myw4IEBACiAgICAgICAg
ICAgICAnaHRtbC9zaGFkb3cvU2xpZGVyVGh1bWJFbGVtZW50LmgnLAogICAgICAgICAgICAgJ2h0
bWwvc2hhZG93L1RleHRDb250cm9sSW5uZXJFbGVtZW50cy5jcHAnLAogICAgICAgICAgICAgJ2h0
bWwvc2hhZG93L1RleHRDb250cm9sSW5uZXJFbGVtZW50cy5oJywKKyAgICAgICAgICAgICdodG1s
L3RyYWNrL1RyYWNrQmFzZS5jcHAnLAorICAgICAgICAgICAgJ2h0bWwvdHJhY2svVHJhY2tFdmVu
dC5jcHAnLAogICAgICAgICAgICAgJ2h0bWwvdHJhY2svV2ViVlRUUGFyc2VyLmNwcCcsCiAgICAg
ICAgICAgICAnaHRtbC90cmFjay9XZWJWVFRQYXJzZXIuaCcsCiAgICAgICAgICAgICAnaHRtbC90
cmFjay9XZWJWVFRUb2tlbi5oJywKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCShyZXZpc2lvbiA5OTA1NikK
KysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCSh3b3JraW5nIGNvcHkpCkBAIC0xODY4LDYg
KzE4NjgsOCBAQCBIRUFERVJTICs9IFwKICAgICBodG1sL3BhcnNlci9YU1NBdWRpdG9yLmggXAog
ICAgIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmggXAogICAgIGh0bWwvc2hhZG93
L0RldGFpbHNNYXJrZXJDb250cm9sLmggXAorICAgIGh0bWwvdHJhY2svVHJhY2tCYXNlLmggXAor
ICAgIGh0bWwvdHJhY2svVHJhY2tFdmVudC5oIFwKICAgICBodG1sL3RyYWNrL1dlYlZUVFBhcnNl
ci5oIFwKICAgICBodG1sL3RyYWNrL1dlYlZUVFRva2VuLmggXAogICAgIGh0bWwvdHJhY2svV2Vi
VlRUVG9rZW5pemVyLmggXApAQCAtMzUzOCw2ICszNTQwLDE5IEBAIGNvbnRhaW5zKERFRklORVMs
IEVOQUJMRV9KQVZBU0NSSVBUX0RFQlUKICAgICB9CiB9CiAKKworY29udGFpbnMoREVGSU5FUywg
RU5BQkxFX1ZJREVPX1RSQUNLPTEpIHsKKyAgICB2OCB7CisgICAgICAgIFNPVVJDRVMgKz0gXAor
ICAgICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4VHJhY2tFdmVudEN1c3RvbS5jcHAKKyAg
ICB9IGVsc2UgeworICAgICAgICBTT1VSQ0VTICs9IFwKKyAgICAgICAgICAgIGJpbmRpbmdzL2pz
L0pTVHJhY2tDdXN0b20uY3BwIFwKKyAgICAgICAgICAgIGJpbmRpbmdzL2pzL0pTVHJhY2tDdXN0
b20uaCBcCisgICAgICAgICAgICBiaW5kaW5ncy9qcy9KU1RyYWNrRXZlbnRDdXN0b20uY3BwCisg
ICAgfQorfQorCiBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfV0VCX1NPQ0tFVFM9MSkgewogICAg
IEhFQURFUlMgKz0gXAogICAgICAgICB3ZWJzb2NrZXRzL0Nsb3NlRXZlbnQuaCBcCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShy
ZXZpc2lvbiA5OTA1NikKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtODIsNiArODIsMTAgQEAKIAkJMDY2Qzc3MzEw
QUI2MDNGRDAwMjM4Q0M0IC8qIFJlbmRlckZpbGVVcGxvYWRDb250cm9sLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNjZDNzcyRjBBQjYwM0ZEMDAyMzhD
QzQgLyogUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuaCAqLzsgfTsKIAkJMDZFODFFRDcwQUI1RDVF
OTAwQzg3ODM3IC8qIExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDZFODFFRDYwQUI1RDVFOTAwQzg3ODM3
IC8qIExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5oICovOyB9OwogCQkwNkU4MUVFQzBBQjVE
QTk3MDBDODc4MzcgLyogTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0Lm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDZFODFFRUIwQUI1REE5NzAwQzg3
ODM3IC8qIExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5tbSAqLzsgfTsKKwkJMDcwMzM0RDMx
NDU5RkZBRDAwOEQ4RDQ1IC8qIFRyYWNrRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDcwMzM0RDAxNDU5RkZBQzAwOEQ4RDQ1IC8qIFRyYWNr
RXZlbnQuY3BwICovOyB9OworCQkwNzAzMzRENzE0NTlGRkQ1MDA4RDhENDUgLyogVHJhY2tCYXNl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzAzMzRE
NjE0NTlGRkQ1MDA4RDhENDUgLyogVHJhY2tCYXNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMDcwMzM0RDkxNDVBMDA2RjAwOEQ4RDQ1IC8qIFRy
YWNrQmFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwNzAzMzREODE0NUEwMDZGMDA4RDhENDUgLyogVHJhY2tCYXNlLmNwcCAqLzsgfTsKKwkJMDcw
MzM0RTkxNDVBMUYzNjAwOEQ4RDQ1IC8qIEpTVHJhY2tDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDcwMzM0RTgxNDVBMUYzNTAwOEQ4RDQ1
IC8qIEpTVHJhY2tDdXN0b20uY3BwICovOyB9OwogCQkwNzA3NTY4QjE0MjI2MkQ2MDA0MTQxNjEg
LyogSFRNTFRyYWNrRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwNzA3NTY4ODE0MjI2MkQ2MDA0MTQxNjEgLyogSFRNTFRyYWNrRWxlbWVu
dC5jcHAgKi87IH07CiAJCTA3MDc1NjhDMTQyMjYyRDYwMDQxNDE2MSAvKiBIVE1MVHJhY2tFbGVt
ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzA3
NTY4OTE0MjI2MkQ2MDA0MTQxNjEgLyogSFRNTFRyYWNrRWxlbWVudC5oICovOyB9OwogCQkwNzA3
NTY5NDE0MjI2NjhEMDA0MTQxNjEgLyogSlNUZXh0VHJhY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDcwNzU2OEUxNDIyNjY4QzAwNDE0MTYxIC8q
IEpTVGV4dFRyYWNrLmNwcCAqLzsgfTsKQEAgLTk3LDcgKzEwMSwxMSBAQAogCQkwNzM1RUU2QTBG
NDBDNUU0MDA0QTI2MDQgLyogTWVkaWFQbGF5ZXJQcm94eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDczNUVFNjkwRjQwQzVFNDAwNEEyNjA0IC8qIE1l
ZGlhUGxheWVyUHJveHkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQkwNzUzODYwMjE0NDg5RTk4MDBCNzg0NTIgLyogQ2FjaGVkVGV4dFRyYWNrLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3NTM4NjAw
MTQ0ODlFOTgwMEI3ODQ1MiAvKiBDYWNoZWRUZXh0VHJhY2suY3BwICovOyB9OwogCQkwNzUzODYw
MzE0NDg5RTk4MDBCNzg0NTIgLyogQ2FjaGVkVGV4dFRyYWNrLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzUzODYwMTE0NDg5RTk4MDBCNzg0NTIgLyog
Q2FjaGVkVGV4dFRyYWNrLmggKi87IH07CisJCTA3Njg5RDZFMTQ1QjUyQ0MwMDFDRDEzMiAvKiBK
U1RyYWNrRXZlbnRDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMDc2ODlENkQxNDVCNTJDQzAwMUNEMTMyIC8qIEpTVHJhY2tFdmVudEN1c3Rv
bS5jcHAgKi87IH07CiAJCTA3NkYwRDBFMTJCODE5MjcwMEMyNkFBNCAvKiBNZWRpYVBsYXllclBy
aXZhdGVBVkZvdW5kYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDA3NkYwRDBBMTJCODE5MjcwMEMyNkFBNCAvKiBNZWRpYVBsYXllclByaXZhdGVB
VkZvdW5kYXRpb24uaCAqLzsgfTsKKwkJMDc4NDYzNDIxNDVCMTUxQTAwQTU4REYxIC8qIEpTVHJh
Y2tFdmVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwNzg0NjM0MDE0NUIxNTFBMDBBNThERjEgLyogSlNUcmFja0V2ZW50LmNwcCAqLzsgfTsKKwkJ
MDc4NDYzNDMxNDVCMTUxQTAwQTU4REYxIC8qIEpTVHJhY2tFdmVudC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDc4NDYzNDExNDVCMTUxQTAwQTU4REYx
IC8qIEpTVHJhY2tFdmVudC5oICovOyB9OworCQkwNzg0NjM4NTE0NUIxQjhFMDBBNThERjEgLyog
SlNUcmFja0N1c3RvbS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMDc4NDYzODQxNDVCMUI4RTAwQTU4REYxIC8qIEpTVHJhY2tDdXN0b20uaCAqLzsgfTsK
IAkJMDdCMDExM0YxMDMyMjQyMjAwRkJEQzMzIC8qIEFjY2Vzc2liaWxpdHlNZWRpYUNvbnRyb2xz
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwN0IwMTEz
RTEwMzIyNDIyMDBGQkRDMzMgLyogQWNjZXNzaWJpbGl0eU1lZGlhQ29udHJvbHMuaCAqLzsgfTsK
IAkJMDgwNkU1N0ExMjg5MzA0NTAwN0NFRDMyIC8qIFNWR01hdHJpeC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDgwNkU1NzkxMjg5MzA0NTAwN0NFRDMy
IC8qIFNWR01hdHJpeC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCTA4MEU0OTI2MTI1NUYzQkQwMEVGQ0EyNyAvKiBTVkdUZXh0TGF5b3V0RW5naW5l
QmFzZWxpbmUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDA4MEU0OTIyMTI1NUYzQkQwMEVGQ0EyNyAvKiBTVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUu
aCAqLzsgfTsKQEAgLTcwNjcsNiArNzA3NSwxMiBAQAogCQkwNjZDNzcyRjBBQjYwM0ZEMDAyMzhD
QzQgLyogUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFJlbmRlckZpbGVVcGxvYWRDb250cm9sLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTA2RTgxRUQ2MEFCNUQ1RTkwMEM4NzgzNyAvKiBMb2NhbEN1cnJlbnRHcmFwaGlj
c0NvbnRleHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTG9jYWxDdXJyZW50
R3JhcGhpY3NDb250ZXh0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA2RTgxRUVC
MEFCNURBOTcwMEM4NzgzNyAvKiBMb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gTG9jYWxDdXJyZW50R3JhcGhpY3ND
b250ZXh0Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwNzAzMzREMDE0NTlGRkFD
MDA4RDhENDUgLyogVHJhY2tFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBUcmFja0V2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMDcw
MzM0RDExNDU5RkZBQzAwOEQ4RDQ1IC8qIFRyYWNrRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gVHJhY2tFdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkwNzAzMzREMjE0NTlGRkFDMDA4RDhENDUgLyogVHJhY2tFdmVudC5pZGwgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0OyBwYXRoID0gVHJhY2tFdmVudC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTA3MDMzNEQ2MTQ1OUZGRDUwMDhEOEQ0NSAvKiBUcmFja0Jhc2UuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gVHJhY2tCYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTA3MDMzNEQ4MTQ1QTAwNkYwMDhEOEQ0NSAvKiBUcmFja0Jhc2UuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVHJhY2tCYXNlLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMDcwMzM0RTgxNDVBMUYzNTAwOEQ4RDQ1IC8qIEpTVHJhY2tDdXN0b20u
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNUcmFja0N1c3RvbS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA3MDc1Njg4MTQyMjYyRDYwMDQxNDE2
MSAvKiBIVE1MVHJhY2tFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEhUTUxUcmFja0VsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkwNzA3NTY4OTE0MjI2MkQ2MDA0MTQxNjEgLyogSFRNTFRyYWNrRWxlbWVudC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIVE1MVHJhY2tFbGVtZW50Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTA3MDc1NjhBMTQyMjYyRDYwMDQxNDE2MSAvKiBIVE1MVHJhY2tF
bGVtZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBIVE1MVHJhY2tFbGVtZW50LmlkbDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTcwODYsOCArNzEwMCwxMiBAQAogCQkwNzM1
RUU2OTBGNDBDNUU0MDA0QTI2MDQgLyogTWVkaWFQbGF5ZXJQcm94eS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYVBsYXllclByb3h5Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTA3NTM4NjAwMTQ0ODlFOTgwMEI3ODQ1MiAvKiBDYWNoZWRUZXh0VHJhY2su
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ2FjaGVkVGV4dFRyYWNr
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDc1Mzg2MDExNDQ4OUU5ODAwQjc4
NDUyIC8qIENhY2hlZFRleHRUcmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBDYWNoZWRUZXh0VHJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMDc2ODlE
NkQxNDVCNTJDQzAwMUNEMTMyIC8qIEpTVHJhY2tFdmVudEN1c3RvbS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1RyYWNrRXZlbnRDdXN0b20uY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkwNzZGMEQwOTEyQjgxOTI3MDBDMjZBQTQgLyogTWVkaWFQ
bGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTA3NkYwRDBBMTJCODE5MjcwMEMyNkFBNCAvKiBNZWRpYVBsYXll
clByaXZhdGVBVkZvdW5kYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTA3ODQ2MzQwMTQ1QjE1MUEwMEE1OERGMSAvKiBKU1RyYWNrRXZlbnQuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNUcmFja0V2ZW50LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMDc4NDYzNDExNDVCMTUxQTAwQTU4REYxIC8qIEpTVHJh
Y2tFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1RyYWNrRXZlbnQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMDc4NDYzODQxNDVCMUI4RTAwQTU4REYx
IC8qIEpTVHJhY2tDdXN0b20uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNU
cmFja0N1c3RvbS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwNzlGNUU0QjBGM0JF
QkVBMDA1RTA3ODIgLyogTWVkaWFQbGF5ZXJQcml2YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IE1lZGlhUGxheWVyUHJpdmF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkwN0FGRTU5MDBGMTQ0NkJEMDA4NDE2MTcgLyogbWVkaWFDb250cm9sc1F1aWNrVGlt
ZS5jc3MgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0LmNzczsgcGF0aCA9IG1lZGlhQ29udHJvbHNRdWlja1RpbWUu
Y3NzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwN0IwMTEzRTEwMzIyNDIyMDBGQkRD
MzMgLyogQWNjZXNzaWJpbGl0eU1lZGlhQ29udHJvbHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gQWNjZXNzaWJpbGl0eU1lZGlhQ29udHJvbHMuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKQEAgLTE3NzQ3LDYgKzE3NzY1LDggQEAKIAkJCQkwNzA3NTZEQTE0MjM5QjRF
MDA0MTQxNjEgLyogSlNUZXh0VHJhY2tDdWVMaXN0LmggKi8sCiAJCQkJRTQ0NjE0MTIwQ0Q2ODI2
OTAwRkFEQTc1IC8qIEpTVGltZVJhbmdlcy5jcHAgKi8sCiAJCQkJRTQ0NjE0MTMwQ0Q2ODI2OTAw
RkFEQTc1IC8qIEpTVGltZVJhbmdlcy5oICovLAorCQkJCTA3ODQ2MzQwMTQ1QjE1MUEwMEE1OERG
MSAvKiBKU1RyYWNrRXZlbnQuY3BwICovLAorCQkJCTA3ODQ2MzQxMTQ1QjE1MUEwMEE1OERGMSAv
KiBKU1RyYWNrRXZlbnQuaCAqLywKIAkJCQk0OUVFQ0VGRTEwNTA3MEM0MDAwOTlGQUIgLyogSlNV
aW50MTZBcnJheS5jcHAgKi8sCiAJCQkJNDlFRUNFRkYxMDUwNzBDNDAwMDk5RkFCIC8qIEpTVWlu
dDE2QXJyYXkuaCAqLywKIAkJCQk0OUVFQ0VGQzEwNTA3MEM0MDAwOTlGQUIgLyogSlNVaW50MzJB
cnJheS5jcHAgKi8sCkBAIC0xODQzMSw2ICsxODQ1MSwxMSBAQAogCQlCMUFENEU3NzEzQTEyQTcy
MDA4NDZCMjcgLyogdHJhY2sgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVu
ID0gKAorCQkJCTA3MDMzNEQ4MTQ1QTAwNkYwMDhEOEQ0NSAvKiBUcmFja0Jhc2UuY3BwICovLAor
CQkJCTA3MDMzNEQ2MTQ1OUZGRDUwMDhEOEQ0NSAvKiBUcmFja0Jhc2UuaCAqLywKKwkJCQkwNzAz
MzREMDE0NTlGRkFDMDA4RDhENDUgLyogVHJhY2tFdmVudC5jcHAgKi8sCisJCQkJMDcwMzM0RDEx
NDU5RkZBQzAwOEQ4RDQ1IC8qIFRyYWNrRXZlbnQuaCAqLywKKwkJCQkwNzAzMzREMjE0NTlGRkFD
MDA4RDhENDUgLyogVHJhY2tFdmVudC5pZGwgKi8sCiAJCQkJNUQyMUE4MDAxM0VDRTVERjAwQkI3
MDY0IC8qIFdlYlZUVFBhcnNlci5jcHAgKi8sCiAJCQkJNUQyMUE4MDExM0VDRTVERjAwQkI3MDY0
IC8qIFdlYlZUVFBhcnNlci5oICovLAogCQkJCUIxMEI2OTdEMTQwQzE3NDAwMEJDMUMyNiAvKiBX
ZWJWVFRUb2tlbi5oICovLApAQCAtMTk2MDUsNiArMTk2MzAsOSBAQAogCQkJCTA4RTRGRTQ1MEUy
QkQ0MTQwMEY0Q0FFMCAvKiBKU1NWR0xlbmd0aEN1c3RvbS5jcHAgKi8sCiAJCQkJQjJDOTZEOEMw
QjNBRjJCNzAwNUU4MEVDIC8qIEpTU1ZHUGF0aFNlZ0N1c3RvbS5jcHAgKi8sCiAJCQkJMUEyQzQw
QUEwREVCNTVBQTAwNUFGMTlFIC8qIEpTVGV4dEN1c3RvbS5jcHAgKi8sCisJCQkJMDcwMzM0RTgx
NDVBMUYzNTAwOEQ4RDQ1IC8qIEpTVHJhY2tDdXN0b20uY3BwICovLAorCQkJCTA3ODQ2Mzg0MTQ1
QjFCOEUwMEE1OERGMSAvKiBKU1RyYWNrQ3VzdG9tLmggKi8sCisJCQkJMDc2ODlENkQxNDVCNTJD
QzAwMUNEMTMyIC8qIEpTVHJhY2tFdmVudEN1c3RvbS5jcHAgKi8sCiAJCQkJNTE2QkI3OTIwQ0U5
MUU2ODAwNTEyRjc5IC8qIEpTVHJlZVdhbGtlckN1c3RvbS5jcHAgKi8sCiAJCQkJNDlFRUNGNzcx
MDUwOEQ5QzAwMDk5RkFCIC8qIEpTVWludDE2QXJyYXlDdXN0b20uY3BwICovLAogCQkJCTQ5RUVD
Rjc2MTA1MDhEOUMwMDA5OUZBQiAvKiBKU1VpbnQzMkFycmF5Q3VzdG9tLmNwcCAqLywKQEAgLTI0
NTQwLDYgKzI0NTY4LDkgQEAKIAkJCQk5NzBCNzJBNjE0NTAwOEVCMDBGMDBBMzcgLyogRXZlbnRI
ZWFkZXJzLmggaW4gSGVhZGVycyAqLywKIAkJCQk5QjNBODg3MjE0NTYzMkY5MDAzQUU4RjUgLyog
RE9NRE9NU2V0dGFibGVUb2tlbkxpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCUZENjJGNTJFMTQ1
ODk4RDgwMDk0QjBFRCAvKiBBdWRpb1NvdXJjZVByb3ZpZGVyQ2xpZW50LmggaW4gSGVhZGVycyAq
LywKKwkJCQkwNzAzMzRENzE0NTlGRkQ1MDA4RDhENDUgLyogVHJhY2tCYXNlLmggaW4gSGVhZGVy
cyAqLywKKwkJCQkwNzg0NjM0MzE0NUIxNTFBMDBBNThERjEgLyogSlNUcmFja0V2ZW50LmggaW4g
SGVhZGVycyAqLywKKwkJCQkwNzg0NjM4NTE0NUIxQjhFMDBBNThERjEgLyogSlNUcmFja0N1c3Rv
bS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkQ4RkVCREQxNDNFM0VGNzAwNzI1MDJCIC8qIENTU0Ny
b3NzZmFkZVZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95
bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKQEAgLTI3Mzg2LDYgKzI3NDE3LDExIEBACiAJCQkJQTBF
RTBERjUxNDRGODI1NTAwRjgwQjBEIC8qIFdlYkdMRGVidWdSZW5kZXJlckluZm8uY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJQTBFRTBERjcxNDRGODI1NTAwRjgwQjBEIC8qIFdlYkdMRGVidWdTaGFk
ZXJzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUEzQkI1OUYzMTQ1N0E0MEQwMEFDNTZGRSAvKiBE
b2N1bWVudEV2ZW50UXVldWUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMDcwMzM0RDMxNDU5RkZB
RDAwOEQ4RDQ1IC8qIFRyYWNrRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMDcwMzM0RDkx
NDVBMDA2RjAwOEQ4RDQ1IC8qIFRyYWNrQmFzZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwNzAz
MzRFOTE0NUExRjM2MDA4RDhENDUgLyogSlNUcmFja0N1c3RvbS5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQkwNzg0NjM0MjE0NUIxNTFBMDBBNThERjEgLyogSlNUcmFja0V2ZW50LmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTA3Njg5RDZFMTQ1QjUyQ0MwMDFDRDEzMiAvKiBKU1RyYWNrRXZlbnRDdXN0
b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ4RkVCREMxNDNFM0VGNzAwNzI1MDJCIC8qIENT
U0Nyb3NzZmFkZVZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JE
ZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvZ2VuZXJpYy9FdmVudENvbnN0cnVjdG9ycy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2dlbmVyaWMvRXZlbnRDb25zdHJ1Y3RvcnMuaAkocmV2aXNpb24gOTkwNTYp
CisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL0V2ZW50Q29uc3RydWN0b3JzLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTEzNCw2ICsxMzQsMTYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICBGSUxMX1BST1BFUlRZKHZlcnRpY2FsT3ZlcmZsb3cpIFwKICAgICBESUNUSU9OQVJZ
X0VORChPdmVyZmxvd0V2ZW50KQogCisjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQorI2RlZmluZSBJ
TlNUQU5USUFURV9JTklUSUFMSVpJTkdfQ09OU1RSVUNUT1JfRk9SX1RSQUNLX0VWRU5UKERJQ1RJ
T05BUllfU1RBUlQsIERJQ1RJT05BUllfRU5ELCBGSUxMX1BBUkVOVF9QUk9QRVJUSUVTLCBGSUxM
X1BST1BFUlRZKSBcCisgICAgXAorICAgIERJQ1RJT05BUllfU1RBUlQoVHJhY2tFdmVudCkgXAor
ICAgICAgICBGSUxMX1BBUkVOVF9QUk9QRVJUSUVTKEV2ZW50KSBcCisgICAgICAgIEZJTExfUFJP
UEVSVFkodHJhY2spIFwKKyAgICBESUNUSU9OQVJZX0VORChUcmFja0V2ZW50KQorI2Vsc2UKKyNk
ZWZpbmUgSU5TVEFOVElBVEVfSU5JVElBTElaSU5HX0NPTlNUUlVDVE9SX0ZPUl9UUkFDS19FVkVO
VChESUNUSU9OQVJZX1NUQVJULCBESUNUSU9OQVJZX0VORCwgRklMTF9QQVJFTlRfUFJPUEVSVElF
UywgRklMTF9QUk9QRVJUWSkKKyNlbmRpZgogCiAjZGVmaW5lIElOU1RBTlRJQVRFX0FMTF9FVkVO
VF9JTklUSUFMSVpJTkdfQ09OU1RSVUNUT1JTKERJQ1RJT05BUllfU1RBUlQsIERJQ1RJT05BUllf
RU5ELCBGSUxMX1BBUkVOVF9QUk9QRVJUSUVTLCBGSUxMX1BST1BFUlRZKSBcCiAgICAgSU5TVEFO
VElBVEVfSU5JVElBTElaSU5HX0NPTlNUUlVDVE9SX0ZPUl9FVkVOVChESUNUSU9OQVJZX1NUQVJU
LCBESUNUSU9OQVJZX0VORCwgRklMTF9QQVJFTlRfUFJPUEVSVElFUywgRklMTF9QUk9QRVJUWSkg
XApAQCAtMTQ5LDcgKzE1OSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBJTlNUQU5USUFU
RV9JTklUSUFMSVpJTkdfQ09OU1RSVUNUT1JfRk9SX1dFQktJVF9UUkFOU0lUSU9OX0VWRU5UKERJ
Q1RJT05BUllfU1RBUlQsIERJQ1RJT05BUllfRU5ELCBGSUxMX1BBUkVOVF9QUk9QRVJUSUVTLCBG
SUxMX1BST1BFUlRZKSBcCiAgICAgSU5TVEFOVElBVEVfSU5JVElBTElaSU5HX0NPTlNUUlVDVE9S
X0ZPUl9CRUZPUkVfTE9BRF9FVkVOVChESUNUSU9OQVJZX1NUQVJULCBESUNUSU9OQVJZX0VORCwg
RklMTF9QQVJFTlRfUFJPUEVSVElFUywgRklMTF9QUk9QRVJUWSkgXAogICAgIElOU1RBTlRJQVRF
X0lOSVRJQUxJWklOR19DT05TVFJVQ1RPUl9GT1JfT1ZFUkZMT1dfRVZFTlQoRElDVElPTkFSWV9T
VEFSVCwgRElDVElPTkFSWV9FTkQsIEZJTExfUEFSRU5UX1BST1BFUlRJRVMsIEZJTExfUFJPUEVS
VFkpIFwKLQorICAgIElOU1RBTlRJQVRFX0lOSVRJQUxJWklOR19DT05TVFJVQ1RPUl9GT1JfVFJB
Q0tfRVZFTlQoRElDVElPTkFSWV9TVEFSVCwgRElDVElPTkFSWV9FTkQsIEZJTExfUEFSRU5UX1BS
T1BFUlRJRVMsIEZJTExfUFJPUEVSVFkpIFwKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L0dOVW1ha2VmaWxlLmFtCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvR05VbWFrZWZpbGUuYW0J
KHJldmlzaW9uIDk5MDU2KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9HTlVt
YWtlZmlsZS5hbQkod29ya2luZyBjb3B5KQpAQCAtNDEwLDE0ICs0MTAsMTcgQEAgaWYgRU5BQkxF
X1ZJREVPX1RSQUNLCiB3ZWJraXRndGtfYnVpbHRfaF9hcGkgKz0gXAogCSQodG9wX2J1aWxkZGly
KS9EZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NVGV4dFRyYWNrLmggXAogCSQodG9wX2J1
aWxkZGlyKS9EZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NVGV4dFRyYWNrQ3VlLmggXAot
CSQodG9wX2J1aWxkZGlyKS9EZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NVGV4dFRyYWNr
Q3VlTGlzdC5oCisJJCh0b3BfYnVpbGRkaXIpL0Rlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRE
T01UZXh0VHJhY2tDdWVMaXN0LmggXAorCSQodG9wX2J1aWxkZGlyKS9EZXJpdmVkU291cmNlcy93
ZWJraXQvV2ViS2l0RE9NVHJhY2tFdmVudC5oCiB3ZWJraXRndGtfZ2RvbV9idWlsdF9zb3VyY2Vz
ICs9IFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NVGV4dFRyYWNrLmNwcCBcCiAJ
RGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVRleHRUcmFja1ByaXZhdGUuaCBcCiAJRGVy
aXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVRleHRUcmFja0N1ZS5jcHAgXAogCURlcml2ZWRT
b3VyY2VzL3dlYmtpdC9XZWJLaXRET01UZXh0VHJhY2tDdWVQcml2YXRlLmggXAogCURlcml2ZWRT
b3VyY2VzL3dlYmtpdC9XZWJLaXRET01UZXh0VHJhY2tDdWVMaXN0LmNwcCBcCi0JRGVyaXZlZFNv
dXJjZXMvd2Via2l0L1dlYktpdERPTVRleHRUcmFja0N1ZUxpc3RQcml2YXRlLmgKKwlEZXJpdmVk
U291cmNlcy93ZWJraXQvV2ViS2l0RE9NVGV4dFRyYWNrQ3VlTGlzdFByaXZhdGUuaCBcCisJRGVy
aXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVRyYWNrRXZlbnQuY3BwIFwKKwlEZXJpdmVkU291
cmNlcy93ZWJraXQvV2ViS2l0RE9NVHJhY2tFdmVudFByaXZhdGUuaAogZW5kaWYKIAogZ2RvbV9j
bGFzc19saXN0IDo9ICQoc3Vic3QgV2ViS2l0RE9NLCwgJChmaWx0ZXItb3V0ICVQcml2YXRlLCAk
KGJhc2VuYW1lICQobm90ZGlyICQod2Via2l0Z3RrX2dkb21fYnVpbHRfc291cmNlcykpKSkpCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdEhUTUxFbGVtZW50V3Jh
cHBlckZhY3RvcnkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dv
YmplY3QvV2ViS2l0SFRNTEVsZW1lbnRXcmFwcGVyRmFjdG9yeS5jcHAJKHJldmlzaW9uIDk5MDU2
KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJLaXRIVE1MRWxlbWVudFdy
YXBwZXJGYWN0b3J5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTYyLDYgKzE2Miw3IEBACiAjaW5j
bHVkZSAid2Via2l0L1dlYktpdERPTVRleHRUcmFja0N1ZUxpc3RQcml2YXRlLmgiCiAjaW5jbHVk
ZSAid2Via2l0L1dlYktpdERPTVRleHRUcmFja0N1ZVByaXZhdGUuaCIKICNpbmNsdWRlICJ3ZWJr
aXQvV2ViS2l0RE9NVGV4dFRyYWNrUHJpdmF0ZS5oIgorI2luY2x1ZGUgIndlYmtpdC9XZWJLaXRE
T01UcmFja0V2ZW50UHJpdmF0ZS5oIgogI2VuZGlmCiAgCiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0
cmluZy5oPgpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNCaW5kaW5nc0FsbElu
T25lLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0JpbmRp
bmdzQWxsSW5PbmUuY3BwCShyZXZpc2lvbiA5OTA1NikKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTQmluZGluZ3NBbGxJbk9uZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE0MCw2ICsx
NDAsOCBAQAogI2luY2x1ZGUgIkpTVGV4dEN1c3RvbS5jcHAiCiAjaW5jbHVkZSAiSlNUb3VjaEN1
c3RvbS5jcHAiCiAjaW5jbHVkZSAiSlNUb3VjaExpc3RDdXN0b20uY3BwIgorI2luY2x1ZGUgIkpT
VHJhY2tDdXN0b20uY3BwIgorI2luY2x1ZGUgIkpTVHJhY2tFdmVudEN1c3RvbS5jcHAiCiAjaW5j
bHVkZSAiSlNUcmVlV2Fsa2VyQ3VzdG9tLmNwcCIKICNpbmNsdWRlICJKU1VpbnQxNkFycmF5Q3Vz
dG9tLmNwcCIKICNpbmNsdWRlICJKU1VpbnQzMkFycmF5Q3VzdG9tLmNwcCIKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGljdGlvbmFyeS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEaWN0aW9uYXJ5LmNwcAkocmV2aXNpb24gOTkwNTYp
CisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RpY3Rpb25hcnkuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiSlNFdmVudFRhcmdldC5oIgogI2lu
Y2x1ZGUgIkpTTWVzc2FnZVBvcnRDdXN0b20uaCIKICNpbmNsdWRlICJKU05vZGUuaCIKKyNpbmNs
dWRlICJKU1RyYWNrQ3VzdG9tLmgiCiAjaW5jbHVkZSAiU2VyaWFsaXplZFNjcmlwdFZhbHVlLmgi
CiAjaW5jbHVkZSAiU2NyaXB0VmFsdWUuaCIKIApAQCAtMTI0LDQgKzEyNSwxMSBAQCB2b2lkIEpT
RGljdGlvbmFyeTo6Y29udmVydFZhbHVlKEV4ZWNTdGF0CiAgICAgZmlsbE1lc3NhZ2VQb3J0QXJy
YXkoZXhlYywgdmFsdWUsIHJlc3VsdCk7CiB9CiAKKyNpZiBFTkFCTEUoVklERU9fVFJBQ0spCit2
b2lkIEpTRGljdGlvbmFyeTo6Y29udmVydFZhbHVlKEV4ZWNTdGF0ZSosIEpTVmFsdWUgdmFsdWUs
IFJlZlB0cjxUcmFja0Jhc2U+JiByZXN1bHQpCit7CisgICAgcmVzdWx0ID0gdG9UcmFjayh2YWx1
ZSk7Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNEaWN0aW9uYXJ5LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNEaWN0aW9uYXJ5LmgJKHJldmlzaW9uIDk5MDU2KQorKysgU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEaWN0aW9uYXJ5LmgJKHdvcmtpbmcgY29weSkKQEAg
LTM3LDYgKzM3LDcgQEAgY2xhc3MgRXZlbnRUYXJnZXQ7CiBjbGFzcyBOb2RlOwogY2xhc3MgU2Ny
aXB0VmFsdWU7CiBjbGFzcyBTZXJpYWxpemVkU2NyaXB0VmFsdWU7CitjbGFzcyBUcmFja0Jhc2U7
CiAKIGNsYXNzIEpTRGljdGlvbmFyeSB7CiBwdWJsaWM6CkBAIC03Myw2ICs3NCw5IEBAIHByaXZh
dGU6CiAgICAgc3RhdGljIHZvaWQgY29udmVydFZhbHVlKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpK
U1ZhbHVlLCBSZWZQdHI8RXZlbnRUYXJnZXQ+JiByZXN1bHQpOwogICAgIHN0YXRpYyB2b2lkIGNv
bnZlcnRWYWx1ZShKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNWYWx1ZSwgUmVmUHRyPE5vZGU+JiBy
ZXN1bHQpOwogICAgIHN0YXRpYyB2b2lkIGNvbnZlcnRWYWx1ZShKU0M6OkV4ZWNTdGF0ZSosIEpT
Qzo6SlNWYWx1ZSwgTWVzc2FnZVBvcnRBcnJheSYgcmVzdWx0KTsKKyNpZiBFTkFCTEUoVklERU9f
VFJBQ0spCisgICAgc3RhdGljIHZvaWQgY29udmVydFZhbHVlKEpTQzo6RXhlY1N0YXRlKiwgSlND
OjpKU1ZhbHVlLCBSZWZQdHI8VHJhY2tCYXNlPiYgcmVzdWx0KTsKKyNlbmRpZgogCiAgICAgSlND
OjpFeGVjU3RhdGUqIG1fZXhlYzsKICAgICBKU0M6OkpTT2JqZWN0KiBtX2luaXRpYWxpemVyT2Jq
ZWN0OwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudENvbnN0cnVjdG9y
cy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudENv
bnN0cnVjdG9ycy5jcHAJKHJldmlzaW9uIDk5MDU2KQorKysgU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNFdmVudENvbnN0cnVjdG9ycy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU1LDYgKzU1
LDExIEBACiAjaW5jbHVkZSAiV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmgiCiAjaW5jbHVkZSA8cnVu
dGltZS9FcnJvci5oPgogCisjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQorI2luY2x1ZGUgIkpTVHJh
Y2tFdmVudC5oIgorI2luY2x1ZGUgIlRyYWNrRXZlbnQuaCIKKyNlbmRpZgorCiB1c2luZyBuYW1l
c3BhY2UgSlNDOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU1RyYWNrQ3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU1RyYWNrQ3VzdG9tLmNwcAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTVHJhY2tDdXN0b20uY3BwCShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDg0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKFZJ
REVPX1RSQUNLKQorCisjaW5jbHVkZSAiSlNUcmFja0N1c3RvbS5oIgorCisjaW5jbHVkZSAiSlNU
ZXh0VHJhY2suaCIKKwordXNpbmcgbmFtZXNwYWNlIEpTQzsKKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitUcmFja0Jhc2UqIHRvVHJhY2soSlNWYWx1ZSB2YWx1ZSkKK3sKKyAgICBpZiAoIXZhbHVl
LmlzT2JqZWN0KCkpCisgICAgICAgIHJldHVybiAwOworCisgICAgSlNPYmplY3QqIG9iamVjdCA9
IGFzT2JqZWN0KHZhbHVlKTsKKyAgICBpZiAob2JqZWN0LT5pbmhlcml0cygmSlNUZXh0VHJhY2s6
OnNfaW5mbykpCisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxKU1RleHRUcmFjayo+KG9iamVj
dCktPmltcGwoKTsKKyAgICAKKyAgICAvLyBGSVhNRTogRmlsbCBpbiBhZGRpdGlvbmFsIHRlc3Rz
IGFuZCBjYXN0cyBoZXJlIGZvciBWaWRlb1RyYWNrIGFuZCBBdWRpb1RyYWNrIHdoZW4gCisgICAg
Ly8gdGhleSBoYXZlIGJlZW4gYWRkZWQgdG8gV2ViQ29yZS4KKworICAgIHJldHVybiAwOworfQor
CitKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgVHJhY2tCYXNlKiB0cmFjaykKK3sKKyAgICBpZiAoIXRyYWNrKQor
ICAgICAgICByZXR1cm4ganNOdWxsKCk7CisgICAgCisgICAgSlNET01XcmFwcGVyKiB3cmFwcGVy
ID0gZ2V0Q2FjaGVkV3JhcHBlcihjdXJyZW50V29ybGQoZXhlYyksIHRyYWNrKTsKKyAgICBpZiAo
d3JhcHBlcikKKyAgICAgICAgcmV0dXJuIHdyYXBwZXI7CisgICAgCisgICAgc3dpdGNoICh0cmFj
ay0+dHlwZSgpKSB7CisgICAgY2FzZSBUcmFja0Jhc2U6OkJhc2VUcmFjazoKKyAgICAgICAgLy8g
VGhpcyBzaG91bGQgbmV2ZXIgaGFwcGVuLgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
KyAgICAgICAgYnJlYWs7CisgICAgICAgIAorICAgIGNhc2UgVHJhY2tCYXNlOjpBdWRpb1RyYWNr
OgorICAgIGNhc2UgVHJhY2tCYXNlOjpWaWRlb1RyYWNrOgorICAgICAgICAvLyBUaGlzIHNob3Vs
ZCBub3QgaGFwcGVuIHVudGlsIFZpZGVvVHJhY2sgYW5kIEF1ZGlvVHJhY2sgYXJlIGltcGxlbWVu
dGVkLgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgYnJlYWs7CisKKyAg
ICBjYXNlIFRyYWNrQmFzZTo6VGV4dFRyYWNrOgorICAgICAgICByZXR1cm4gQ1JFQVRFX0RPTV9X
UkFQUEVSKGV4ZWMsIGdsb2JhbE9iamVjdCwgVGV4dFRyYWNrLCB0cmFjayk7CisgICAgICAgIGJy
ZWFrOworICAgIH0KKyAgICAKKyAgICByZXR1cm4ganNOdWxsKCk7Cit9CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKworI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U1RyYWNrQ3VzdG9tLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNUcmFja0N1c3RvbS5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNUcmFja0N1c3RvbS5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQyIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwg
SU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJ
TkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICog
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICov
CisKKyNpZm5kZWYgSlNUcmFja0N1c3RvbV9oCisjZGVmaW5lIEpTVHJhY2tDdXN0b21faAorCisj
aWYgRU5BQkxFKFZJREVPX1RSQUNLKQorCisjaW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCisjaW5j
bHVkZSAiVHJhY2tCYXNlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworVHJhY2tCYXNlKiB0
b1RyYWNrKEpTQzo6SlNWYWx1ZSk7CitKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSos
IEpTRE9NR2xvYmFsT2JqZWN0KiwgVHJhY2tCYXNlKik7CisKK30KKworI2VuZGlmCisjZW5kaWYK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTVHJhY2tFdmVudEN1c3RvbS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNUcmFja0V2ZW50Q3Vz
dG9tLmNwcAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTVHJh
Y2tFdmVudEN1c3RvbS5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNTAgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5D
LiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLwor
CisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoVklERU9fVFJBQ0spCisKKyNpbmNs
dWRlICJKU1RyYWNrRXZlbnQuaCIKKworI2luY2x1ZGUgIkpTVHJhY2tDdXN0b20uaCIKKyNpbmNs
dWRlICJUcmFja0Jhc2UuaCIKKwordXNpbmcgbmFtZXNwYWNlIEpTQzsKKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitKU1ZhbHVlIEpTVHJhY2tFdmVudDo6dHJhY2soRXhlY1N0YXRlKiBleGVjKSBj
b25zdAoreworICAgIFRyYWNrQmFzZSogdHJhY2sgPSBzdGF0aWNfY2FzdDxUcmFja0V2ZW50Kj4o
aW1wbCgpKS0+dHJhY2soKTsKKyAgICBpZiAoIXRyYWNrKQorICAgICAgICByZXR1cm4ganNOdWxs
KCk7CisKKyAgICByZXR1cm4gdG9KUyhleGVjLCBnbG9iYWxPYmplY3QoKSwgdHJhY2spOworfQor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvT3B0aW9uc09iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvT3B0aW9uc09iamVjdC5jcHAJKHJldmlzaW9uIDk5MDU2KQorKysgU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvT3B0aW9uc09iamVjdC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTM3LDYgKzM3LDEwIEBACiAjaW5jbHVkZSAiVjhJREJLZXlSYW5nZS5oIgogI2VuZGlmCiAK
KyNpZiBFTkFCTEUoVklERU9fVFJBQ0spCisjaW5jbHVkZSAiVHJhY2tCYXNlLmgiCisjZW5kaWYK
KwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBPcHRpb25zT2JqZWN0OjpPcHRpb25zT2JqZWN0KCkK
QEAgLTIyNyw0ICsyMzEsMjMgQEAgYm9vbCBPcHRpb25zT2JqZWN0OjpnZXRXaXRoVW5kZWZpbmVk
T3JOdQogICAgIHJldHVybiB0cnVlOwogfQogCisjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQordm9p
ZCBPcHRpb25zT2JqZWN0OjpnZXQoY29uc3QgU3RyaW5nJiBrZXksIFJlZlB0cjxUcmFja0Jhc2U+
JiB2YWx1ZSkgY29uc3QKK3sKKyAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2OFZhbHVlOworICAg
IGlmICghZ2V0S2V5KGtleSwgdjhWYWx1ZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAg
IFRyYWNrQmFzZSogc291cmNlID0gMDsKKyAgICBpZiAodjhWYWx1ZS0+SXNPYmplY3QoKSkgewor
ICAgICAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXBwZXIgPSB2ODo6SGFuZGxlPHY4OjpP
YmplY3Q+OjpDYXN0KHY4VmFsdWUpOworICAgICAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHRy
YWNrID0gVjhET01XcmFwcGVyOjpsb29rdXBET01XcmFwcGVyKFY4VHJhY2tCYXNlOjpHZXRUZW1w
bGF0ZSgpLCB3cmFwcGVyKTsKKyAgICAgICAgaWYgKCF0cmFjay5Jc0VtcHR5KCkpCisgICAgICAg
ICAgICBzb3VyY2UgPSBWOFRyYWNrQmFzZTo6dG9OYXRpdmUodHJhY2spOworICAgIH0KKyAgICB2
YWx1ZSA9IHNvdXJjZTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhF
dmVudENvbnN0cnVjdG9ycy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4RXZlbnRDb25zdHJ1Y3RvcnMuY3BwCShyZXZpc2lvbiA5OTA1NikKKysr
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEV2ZW50Q29uc3RydWN0b3JzLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNDQsNiArNDQsNyBAQAogI2luY2x1ZGUgIlBhZ2VUcmFuc2l0
aW9uRXZlbnQuaCIKICNpbmNsdWRlICJQb3BTdGF0ZUV2ZW50LmgiCiAjaW5jbHVkZSAiUHJvZ3Jl
c3NFdmVudC5oIgorI2luY2x1ZGUgIlRyYWNrRXZlbnQuaCIKICNpbmNsdWRlICJXZWJLaXRBbmlt
YXRpb25FdmVudC5oIgogI2luY2x1ZGUgIldlYktpdFRyYW5zaXRpb25FdmVudC5oIgogCkBAIC02
NCw2ICs2NSw3IEBACiAjaW5jbHVkZSAiVjhQb3BTdGF0ZUV2ZW50LmgiCiAjaW5jbHVkZSAiVjhQ
cm9ncmVzc0V2ZW50LmgiCiAjaW5jbHVkZSAiVjhQcm94eS5oIgorI2luY2x1ZGUgIlY4VHJhY2tF
dmVudC5oIgogI2luY2x1ZGUgIlY4V2ViS2l0QW5pbWF0aW9uRXZlbnQuaCIKICNpbmNsdWRlICJW
OFdlYktpdFRyYW5zaXRpb25FdmVudC5oIgogCkBAIC0xMzIsNiArMTM0LDYgQEAgSU5TVEFOVElB
VEVfSU5JVElBTElaSU5HX0NPTlNUUlVDVE9SX0ZPUgogSU5TVEFOVElBVEVfSU5JVElBTElaSU5H
X0NPTlNUUlVDVE9SX0ZPUl9CRUZPUkVfTE9BRF9FVkVOVChESUNUSU9OQVJZX1NUQVJULCBESUNU
SU9OQVJZX0VORCwgRklMTF9QQVJFTlRfUFJPUEVSVElFUywgRklMTF9QUk9QRVJUWSkKIElOU1RB
TlRJQVRFX0lOSVRJQUxJWklOR19DT05TVFJVQ1RPUl9GT1JfT1ZFUkZMT1dfRVZFTlQoRElDVElP
TkFSWV9TVEFSVCwgRElDVElPTkFSWV9FTkQsIEZJTExfUEFSRU5UX1BST1BFUlRJRVMsIEZJTExf
UFJPUEVSVFkpCiBJTlNUQU5USUFURV9JTklUSUFMSVpJTkdfQ09OU1RSVUNUT1JfRk9SX01FU1NB
R0VfRVZFTlQoRElDVElPTkFSWV9TVEFSVCwgRElDVElPTkFSWV9FTkQsIEZJTExfUEFSRU5UX1BS
T1BFUlRJRVMsIEZJTExfUFJPUEVSVFkpCi0KK0lOU1RBTlRJQVRFX0lOSVRJQUxJWklOR19DT05T
VFJVQ1RPUl9GT1JfVFJBQ0tfRVZFTlQoRElDVElPTkFSWV9TVEFSVCwgRElDVElPTkFSWV9FTkQs
IEZJTExfUEFSRU5UX1BST1BFUlRJRVMsIEZJTExfUFJPUEVSVFkpCiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFRyYWNr
RXZlbnRDdXN0b20uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOFRyYWNrRXZlbnRDdXN0b20uY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4VHJhY2tFdmVudEN1c3RvbS5jcHAJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsNzYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgor
ICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoVklE
RU9fVFJBQ0spCisKKyNpbmNsdWRlICJWOFRyYWNrRXZlbnQuaCIKKworI2luY2x1ZGUgIlRyYWNr
QmFzZS5oIgorI2luY2x1ZGUgIlRyYWNrRXZlbnQuaCIKKyNpbmNsdWRlICJWOFRleHRUcmFjay5o
IgorCisjaW5jbHVkZSAiVjhQcm94eS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3Y4OjpI
YW5kbGU8djg6OlZhbHVlPiBWOFRyYWNrRXZlbnQ6OnRyYWNrQWNjZXNzb3JHZXR0ZXIodjg6Okxv
Y2FsPHY4OjpTdHJpbmc+IG5hbWUsIGNvbnN0IHY4OjpBY2Nlc3NvckluZm8mIGluZm8pCit7Cisg
ICAgSU5DX1NUQVRTKCJET00uVHJhY2tFdmVudC50cmFjayIpOworICAgIFRyYWNrRXZlbnQqIHRy
YWNrX2V2ZW50ID0gVjhUcmFja0V2ZW50Ojp0b05hdGl2ZShpbmZvLkhvbGRlcigpKTsKKyAgICBU
cmFja0Jhc2UqIHRyYWNrID0gdHJhY2tfZXZlbnQtPnRyYWNrKCk7CisgICAgCisgICAgaWYgKCF0
cmFjaykKKyAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7CisKKyAgICBzd2l0Y2ggKHRyYWNrLT50
eXBlKCkpIHsKKyAgICBjYXNlIFRyYWNrQmFzZTo6QmFzZVRyYWNrOgorICAgICAgICAvLyBUaGlz
IHNob3VsZCBuZXZlciBoYXBwZW4uCisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAg
ICAgICBicmVhazsKKyAgICAgICAgCisgICAgY2FzZSBUcmFja0Jhc2U6OlRleHRUcmFjazoKKyAg
ICAgICAgcmV0dXJuIHRvVjgoc3RhdGljX2Nhc3Q8VGV4dFRyYWNrKj4odHJhY2spKTsKKyAgICAg
ICAgYnJlYWs7CisKKyAgICBjYXNlIFRyYWNrQmFzZTo6QXVkaW9UcmFjazoKKyAgICBjYXNlIFRy
YWNrQmFzZTo6VmlkZW9UcmFjazoKKyAgICAgICAgLy8gVGhpcyBzaG91bGQgbm90IGhhcHBlbiB1
bnRpbCBWaWRlb1RyYWNrIGFuZCBBdWRpb1RyYWNrIGFyZSBpbXBsZW1lbnRlZC4KKyAgICAgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIGJyZWFrOworICAgIH0KKworICAgIHJldHVy
biB2ODo6TnVsbCgpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgpJbmRl
eDogU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RmFjdG9yeS5pbgo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9kb20vRXZlbnRGYWN0b3J5LmluCShyZXZpc2lvbiA5OTA1NikKKysrIFNvdXJj
ZS9XZWJDb3JlL2RvbS9FdmVudEZhY3RvcnkuaW4JKHdvcmtpbmcgY29weSkKQEAgLTQxLDMgKzQx
LDUgQEAgVG91Y2hFdmVudCBjb25kaXRpb25hbD1UT1VDSF9FVkVOVFMKIERldmljZU1vdGlvbkV2
ZW50IGNvbmRpdGlvbmFsPURFVklDRV9PUklFTlRBVElPTgogRGV2aWNlT3JpZW50YXRpb25FdmVu
dCBjb25kaXRpb25hbD1ERVZJQ0VfT1JJRU5UQVRJT04KIE9yaWVudGF0aW9uRXZlbnQgaW50ZXJm
YWNlTmFtZT1FdmVudCwgY29uZGl0aW9uYWw9T1JJRU5UQVRJT05fRVZFTlRTCitUcmFja0V2ZW50
IGNvbmRpdGlvbmFsPVZJREVPX1RSQUNLCisKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVu
dE5hbWVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAko
cmV2aXNpb24gOTkwNTYpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xNDUsNiArMTQ1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1h
Y3JvKHZvbHVtZWNoYW5nZSkgXAogICAgIG1hY3JvKHdhaXRpbmcpIFwKICAgICBcCisgICAgbWFj
cm8oYWRkdHJhY2spIFwKKyAgICBcCiAgICAgbWFjcm8od2Via2l0YmVnaW5mdWxsc2NyZWVuKSBc
CiAgICAgbWFjcm8od2Via2l0ZW5kZnVsbHNjcmVlbikgXAogICAgIFwKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2h0bWwvVGV4dFRyYWNrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9o
dG1sL1RleHRUcmFjay5jcHAJKHJldmlzaW9uIDk5MDU2KQorKysgU291cmNlL1dlYkNvcmUvaHRt
bC9UZXh0VHJhY2suY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNSwxMSArMzUsMTMgQEAKICNpbmNs
dWRlICJUZXh0VHJhY2suaCIKIAogI2luY2x1ZGUgIlRleHRUcmFja0N1ZUxpc3QuaCIKKyNpbmNs
dWRlICJUcmFja0Jhc2UuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBUZXh0VHJhY2s6OlRl
eHRUcmFjayhUZXh0VHJhY2tDbGllbnQqIGNsaWVudCwgY29uc3QgU3RyaW5nJiBraW5kLCBjb25z
dCBTdHJpbmcmIGxhYmVsLCBjb25zdCBTdHJpbmcmIGxhbmd1YWdlKQotICAgIDogbV9raW5kKGtp
bmQpCisgICAgOiBUcmFja0Jhc2UoVHJhY2tCYXNlOjpUZXh0VHJhY2spCisgICAgLCBtX2tpbmQo
a2luZCkKICAgICAsIG1fbGFiZWwobGFiZWwpCiAgICAgLCBtX2xhbmd1YWdlKGxhbmd1YWdlKQog
ICAgICwgbV9yZWFkeVN0YXRlKFRleHRUcmFjazo6Tk9ORSkKQEAgLTEzMiw3ICsxMzQsNiBAQCB2
b2lkIFRleHRUcmFjazo6ZmV0Y2hOZXdlc3RDdWVzKFZlY3RvcjxUCiAgICAgLy8gRklYTUUoNjI4
OTApOiBJbXBsZW1lbnQuCiB9CiAKLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvVGV4dFRyYWNrLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvaHRtbC9UZXh0VHJhY2suaAkocmV2aXNpb24gOTkwNTYpCisrKyBTb3VyY2Uv
V2ViQ29yZS9odG1sL1RleHRUcmFjay5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw2ICsyOSw3IEBA
CiAjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQogCiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgor
I2luY2x1ZGUgIlRyYWNrQmFzZS5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5j
bHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4K
QEAgLTUxLDcgKzUyLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCB0ZXh0VHJhY2tSZW1v
dmVDdWUoVGV4dFRyYWNrKiwgUGFzc1JlZlB0cjxUZXh0VHJhY2tDdWU+KSA9IDA7CiB9OwogCi1j
bGFzcyBUZXh0VHJhY2sgOiBwdWJsaWMgUmVmQ291bnRlZDxUZXh0VHJhY2s+IHsKK2NsYXNzIFRl
eHRUcmFjayA6IHB1YmxpYyBUcmFja0Jhc2UgewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVm
UHRyPFRleHRUcmFjaz4gY3JlYXRlKFRleHRUcmFja0NsaWVudCogY2xpZW50LCBjb25zdCBTdHJp
bmcmIGtpbmQsIGNvbnN0IFN0cmluZyYgbGFiZWwsIGNvbnN0IFN0cmluZyYgbGFuZ3VhZ2UpCiAg
ICAgewpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UcmFja0Jhc2UuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVHJhY2tCYXNlLmNwcAkocmV2aXNp
b24gMCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVHJhY2tCYXNlLmNwcAkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJ
bmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisg
KiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aW5jbHVkZSAiVHJhY2tCYXNlLmgiCisKKyNpZiBFTkFCTEUoVklERU9fVFJBQ0spCisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworVHJhY2tCYXNlOjpUcmFja0Jhc2UoVHlwZSB0eXBlKQoreworICAg
IEFTU0VSVCh0eXBlICE9IEJhc2VUcmFjayk7CisgICAgbV90eXBlID0gdHlwZTsKK30KKworVHJh
Y2tCYXNlOjp+VHJhY2tCYXNlKCkKK3sKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisj
ZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVHJhY2tCYXNlLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UcmFja0Jhc2UuaAkocmV2aXNpb24g
MCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVHJhY2tCYXNlLmgJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsNTIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiAg
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBUcmFja0Jhc2VfaAkKKyNkZWZp
bmUgVHJhY2tCYXNlX2gKKworI2lmIEVOQUJMRShWSURFT19UUkFDSykKKworI2luY2x1ZGUgPHd0
Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgVHJhY2tCYXNl
IDogcHVibGljIFJlZkNvdW50ZWQ8VHJhY2tCYXNlPiB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+
VHJhY2tCYXNlKCk7CisKKyAgICBlbnVtIFR5cGUgeyBCYXNlVHJhY2ssIFRleHRUcmFjaywgQXVk
aW9UcmFjaywgVmlkZW9UcmFjayB9OworICAgIFR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1f
dHlwZTsgfQorCitwcm90ZWN0ZWQ6CisgICAgVHJhY2tCYXNlKFR5cGUpOworCitwcml2YXRlOgor
ICAgIFR5cGUgbV90eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYK
KyNlbmRpZiAvLyBUcmFja0Jhc2VfaApJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9U
cmFja0V2ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1Ry
YWNrRXZlbnQuY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9U
cmFja0V2ZW50LmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw2MiBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMSBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBP
UgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisj
aW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoVklERU9fVFJBQ0spCisKKyNpbmNsdWRl
ICJUcmFja0V2ZW50LmgiCisKKyNpbmNsdWRlICJFdmVudE5hbWVzLmgiCisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworVHJhY2tFdmVudEluaXQ6OlRyYWNrRXZlbnRJbml0KCkKK3sKK30KKworCitU
cmFja0V2ZW50OjpUcmFja0V2ZW50KCkKK3sKK30KKworVHJhY2tFdmVudDo6VHJhY2tFdmVudChj
b25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0IFRyYWNrRXZlbnRJbml0JiBpbml0aWFsaXpl
cikKKyAgICA6IEV2ZW50KHR5cGUsIGluaXRpYWxpemVyKQorICAgICwgbV90cmFjayhpbml0aWFs
aXplci50cmFjaykKK3sKK30KKworVHJhY2tFdmVudDo6flRyYWNrRXZlbnQoKQoreworfQorCitj
b25zdCBBdG9taWNTdHJpbmcmIFRyYWNrRXZlbnQ6OmludGVyZmFjZU5hbWUoKSBjb25zdAorewor
ICAgIHJldHVybiBldmVudE5hbWVzKCkuaW50ZXJmYWNlRm9yVHJhY2tFdmVudDsKK30KKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwv
dHJhY2svVHJhY2tFdmVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJh
Y2svVHJhY2tFdmVudC5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC90cmFj
ay9UcmFja0V2ZW50LmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNzIgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMu
IGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4g
T1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKwor
I2lmbmRlZiBUcmFja0V2ZW50X2gKKyNkZWZpbmUgVHJhY2tFdmVudF9oCisKKyNpZiBFTkFCTEUo
VklERU9fVFJBQ0spCisKKyNpbmNsdWRlICJFdmVudC5oIgorI2luY2x1ZGUgIlRyYWNrQmFzZS5o
IgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0cnVjdCBUcmFja0V2ZW50SW5pdCA6IHB1Ymxp
YyBFdmVudEluaXQgeworICAgIFRyYWNrRXZlbnRJbml0KCk7CisKKyAgICBSZWZQdHI8VHJhY2tC
YXNlPiB0cmFjazsKK307CisKK2NsYXNzIFRyYWNrRXZlbnQgOiBwdWJsaWMgRXZlbnQgeworcHVi
bGljOgorICAgIHZpcnR1YWwgflRyYWNrRXZlbnQoKTsKKworICAgIHN0YXRpYyBQYXNzUmVmUHRy
PFRyYWNrRXZlbnQ+IGNyZWF0ZSgpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3
IFRyYWNrRXZlbnQpOworICAgIH0KKworICAgIHN0YXRpYyBQYXNzUmVmUHRyPFRyYWNrRXZlbnQ+
IGNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0IFRyYWNrRXZlbnRJbml0JiBp
bml0aWFsaXplcikKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgVHJhY2tFdmVu
dCh0eXBlLCBpbml0aWFsaXplcikpOworICAgIH0KKworICAgIHZpcnR1YWwgY29uc3QgQXRvbWlj
U3RyaW5nJiBpbnRlcmZhY2VOYW1lKCkgY29uc3Q7CisKKyAgICBUcmFja0Jhc2UqIHRyYWNrKCkg
Y29uc3QgeyByZXR1cm4gbV90cmFjay5nZXQoKTsgfQorCitwcml2YXRlOgorICAgIFRyYWNrRXZl
bnQoKTsKKyAgICBUcmFja0V2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgY29uc3QgVHJh
Y2tFdmVudEluaXQmIGluaXRpYWxpemVyKTsKKworICAgIHZpcnR1YWwgYm9vbCBpc1RyYWNrRXZl
bnQoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CisKKyAgICBSZWZQdHI8VHJhY2tCYXNlPiBtX3Ry
YWNrOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKKyNlbmRpZgpJbmRl
eDogU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UcmFja0V2ZW50LmlkbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RyYWNrRXZlbnQuaWRsCShyZXZpc2lvbiAwKQor
KysgU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UcmFja0V2ZW50LmlkbAkocmV2aXNpb24gMCkK
QEAgLTAsMCArMSwzOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMuICBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCittb2R1bGUgaHRtbCB7CisKKyAgICBpbnRlcmZh
Y2UgWworICAgICAgICBDb25kaXRpb25hbD1WSURFT19UUkFDSywKKyAgICAgICAgRW5hYmxlZEF0
UnVudGltZT13ZWJraXRWaWRlb1RyYWNrLAorICAgICAgICBDYW5CZUNvbnN0cnVjdGVkLAorICAg
ICAgICBKU0N1c3RvbUNvbnN0cnVjdG9yLAorICAgIF0gVHJhY2tFdmVudCA6IEV2ZW50IHsKKwor
ICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0N1c3RvbUdldHRlcl0gb2JqZWN0IHRyYWNrOwor
CisgICAgfTsKKworfQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAkocmV2aXNpb24g
OTkwNTYpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwJKHdvcmtpbmcgY29w
eSkKQEAgLTYxMyw2ICs2MTMsNyBAQCBtb2R1bGUgd2luZG93IHsKICAgICAgICAgYXR0cmlidXRl
IFtFbmFibGVkQXRSdW50aW1lPXdlYmtpdFZpZGVvVHJhY2tdIFRleHRUcmFja0NvbnN0cnVjdG9y
IFRleHRUcmFjazsKICAgICAgICAgYXR0cmlidXRlIFtFbmFibGVkQXRSdW50aW1lPXdlYmtpdFZp
ZGVvVHJhY2tdIFRleHRUcmFja0N1ZUNvbnN0cnVjdG9yIFRleHRUcmFja0N1ZTsgLy8gVXNhYmxl
IHdpdGggdGhlIG5ldyBvcGVyYXRvcgogICAgICAgICBhdHRyaWJ1dGUgW0VuYWJsZWRBdFJ1bnRp
bWU9d2Via2l0VmlkZW9UcmFja10gVGV4dFRyYWNrQ3VlTGlzdENvbnN0cnVjdG9yIFRleHRUcmFj
a0N1ZUxpc3Q7CisgICAgICAgIGF0dHJpYnV0ZSBbRW5hYmxlZEF0UnVudGltZT13ZWJraXRWaWRl
b1RyYWNrXSBUcmFja0V2ZW50Q29uc3RydWN0b3IgVHJhY2tFdmVudDsKICNlbmRpZgogCiAgICAg
ICAgIGF0dHJpYnV0ZSBET01QbHVnaW5Db25zdHJ1Y3RvciBQbHVnaW47CkluZGV4OiBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZp
c2lvbiA5OTA1NikKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDE4IEBACisyMDExLTExLTAyICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBw
bGUuY29tPgorCisgICAgICAgIEFkZCBUcmFja0V2ZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE3OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL3RyYWNr
LWV2ZW50LWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9l
dmVudHMvY29uc3RydWN0b3JzL3RyYWNrLWV2ZW50LWNvbnN0cnVjdG9yLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ndGsvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvZmFzdC9qcy9nbG9iYWwtY29uc3RydWN0
b3JzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvU2tpcHBlZDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS93aW4vU2tpcHBlZDoKKwogMjAxMS0xMS0wMiAgQW5kcmV5IEtvc3lha292
ICA8Y2FzZXFAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQuIEFub3RoZXIgcmVi
YXNlbGluZSBvZiBtZWRpYS9tZWRpYS1kb2N1bWVudC1hdWRpby1yZXBhaW50Lmh0bWwKSW5kZXg6
IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy90cmFjay1ldmVudC1jb25zdHJ1
Y3Rvci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMv
Y29uc3RydWN0b3JzL3RyYWNrLWV2ZW50LWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy90cmFjay1ldmVu
dC1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzkgQEAK
K1RoaXMgdGVzdHMgdGhlIGNvbnN0cnVjdG9yIGZvciB0aGUgVHJhY2tFdmVudCBET00gY2xhc3Mu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCisKKyoqKiBObyBpbml0aWFsaXplciBw
YXNzZWQgKioqCitQQVNTIG5ldyBUcmFja0V2ZW50KCdUcmFja0V2ZW50JykuYnViYmxlcyBpcyBm
YWxzZQorUEFTUyBuZXcgVHJhY2tFdmVudCgnVHJhY2tFdmVudCcpLmNhbmNlbGFibGUgaXMgZmFs
c2UKK1BBU1MgbmV3IFRyYWNrRXZlbnQoJ1RyYWNrRXZlbnQnKS50cmFjayBpcyBudWxsCisKKyoq
KiBCdWJibGVzIGFuZCBjYW5jZWxhYmxlIHRydWUsIHRyYWNrIGlzIG1pc3NpbmcgKioqCitQQVNT
IG5ldyBUcmFja0V2ZW50KCdUcmFja0V2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxl
OiB0cnVlIH0pLmJ1YmJsZXMgaXMgdHJ1ZQorUEFTUyBuZXcgVHJhY2tFdmVudCgnVHJhY2tFdmVu
dCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSB9KS5jYW5jZWxhYmxlIGlzIHRy
dWUKK1BBU1MgbmV3IFRyYWNrRXZlbnQoJ1RyYWNrRXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNh
bmNlbGFibGU6IHRydWUgfSkudHJhY2sgaXMgbnVsbAorCisqKiogQnViYmxlcyBhbmQgY2FuY2Vs
YWJsZSB0cnVlLCBpbnZhbGlkIHRyYWNrICoqKgorUEFTUyBuZXcgVHJhY2tFdmVudCgnVHJhY2tF
dmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwgdHJhY2s6IEhUTUxUcmFj
a0VsZW1lbnQgfSkuYnViYmxlcyBpcyB0cnVlCitQQVNTIG5ldyBUcmFja0V2ZW50KCdUcmFja0V2
ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCB0cmFjazogSFRNTFRyYWNr
RWxlbWVudCB9KS5jYW5jZWxhYmxlIGlzIHRydWUKK1BBU1MgbmV3IFRyYWNrRXZlbnQoJ1RyYWNr
RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIHRyYWNrOiBIVE1MVHJh
Y2tFbGVtZW50IH0pLnRyYWNrIGlzIG51bGwKKworKioqIEluaXRpYWxpemUgJ3RyYWNrJyB3aXRo
IGEgaW52YWxpZCB2YWx1ZXMgKioqCitQQVNTIG5ldyBUcmFja0V2ZW50KCdUcmFja0V2ZW50Jywg
eyB0cmFjazogMTAgfSkudHJhY2sgaXMgbnVsbAorUEFTUyBuZXcgVHJhY2tFdmVudCgnVHJhY2tF
dmVudCcsIHsgdHJhY2s6ICdzdHJpbmcnIH0pLnRyYWNrIGlzIG51bGwKK1BBU1MgbmV3IFRyYWNr
RXZlbnQoJ1RyYWNrRXZlbnQnLCB7IHRyYWNrOiBlbXB0eU9iamVjdCB9KS50cmFjayBpcyBudWxs
CitQQVNTIG5ldyBUcmFja0V2ZW50KCdUcmFja0V2ZW50JywgeyB0cmFjazogZG9jdW1lbnQgfSku
dHJhY2sgaXMgbnVsbAorCisqKiogQnViYmxlcyBhbmQgY2FuY2VsYWJsZSB0cnVlLCB2YWxpZCB0
cmFjayAqKioKK1BBU1MgbmV3IFRyYWNrRXZlbnQoJ1RyYWNrRXZlbnQnLCB7IGJ1YmJsZXM6IHRy
dWUsIGNhbmNlbGFibGU6IHRydWUsIHRyYWNrOiBIVE1MVHJhY2tFbGVtZW50IH0pLmJ1YmJsZXMg
aXMgdHJ1ZQorUEFTUyBuZXcgVHJhY2tFdmVudCgnVHJhY2tFdmVudCcsIHsgYnViYmxlczogdHJ1
ZSwgY2FuY2VsYWJsZTogdHJ1ZSwgdHJhY2s6IEhUTUxUcmFja0VsZW1lbnQgfSkuY2FuY2VsYWJs
ZSBpcyB0cnVlCitQQVNTIG5ldyBUcmFja0V2ZW50KCdUcmFja0V2ZW50JywgeyB0cmFjazogdHJh
Y2tFbGVtZW50LnRyYWNrIH0pLnRyYWNrIGlzIHRyYWNrRWxlbWVudC50cmFjaworCisqKiogSW5p
dGlhbGl6ZSAndHJhY2snIHdpdGggdmFsaWQgdHJhY2sgb2JqZWN0ICoqKgorUEFTUyBuZXcgVHJh
Y2tFdmVudCgnVHJhY2tFdmVudCcsIHsgdHJhY2s6IHRyYWNrRWxlbWVudC50cmFjayB9KS50cmFj
ayBpcyB0cmFja0VsZW1lbnQudHJhY2sKKworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2NvbnN0
cnVjdG9ycy90cmFjay1ldmVudC1jb25zdHJ1Y3Rvci5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy90cmFjay1ldmVudC1jb25zdHJ1Y3Rvci5o
dG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY29uc3RydWN0b3Jz
L3RyYWNrLWV2ZW50LWNvbnN0cnVjdG9yLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNjUg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKworPGJv
ZHk+CisgICAgPHNjcmlwdD4KKworICAgICAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdHMgdGhlIGNvbnN0cnVjdG9yIGZvciB0
aGUgVHJhY2tFdmVudCBET00gY2xhc3MuIik7CisKKyAgICAgICAgZnVuY3Rpb24gdGVzdCgpCisg
ICAgICAgIHsKKyAgICAgICAgICAgIC8vIE1ha2Ugc3VyZSB0aGUgdHJhY2sgYWN0dWFsbHkgbG9h
ZGVkLgorICAgICAgICAgICAgc2hvdWxkQmUoInRyYWNrRWxlbWVudC50cmFjay5yZWFkeVN0YXRl
IiwgIlRleHRUcmFjay5Mb2FkZWQiLCB0cnVlKTsKKworICAgICAgICAgICAgZGVidWcoIjxicj4q
KiogTm8gaW5pdGlhbGl6ZXIgcGFzc2VkICoqKiIpOworICAgICAgICAgICAgc2hvdWxkQmUoIm5l
dyBUcmFja0V2ZW50KCdUcmFja0V2ZW50JykuYnViYmxlcyIsICJmYWxzZSIpOworICAgICAgICAg
ICAgc2hvdWxkQmUoIm5ldyBUcmFja0V2ZW50KCdUcmFja0V2ZW50JykuY2FuY2VsYWJsZSIsICJm
YWxzZSIpOworICAgICAgICAgICAgc2hvdWxkQmVOdWxsKCJuZXcgVHJhY2tFdmVudCgnVHJhY2tF
dmVudCcpLnRyYWNrIik7CisgICAgCisgICAgICAgICAgICBkZWJ1ZygiPGJyPioqKiBCdWJibGVz
IGFuZCBjYW5jZWxhYmxlIHRydWUsIHRyYWNrIGlzIG1pc3NpbmcgKioqIik7CisgICAgICAgICAg
ICBzaG91bGRCZSgibmV3IFRyYWNrRXZlbnQoJ1RyYWNrRXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUs
IGNhbmNlbGFibGU6IHRydWUgfSkuYnViYmxlcyIsICJ0cnVlIik7CisgICAgICAgICAgICBzaG91
bGRCZSgibmV3IFRyYWNrRXZlbnQoJ1RyYWNrRXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNl
bGFibGU6IHRydWUgfSkuY2FuY2VsYWJsZSIsICJ0cnVlIik7CisgICAgICAgICAgICBzaG91bGRC
ZU51bGwoIm5ldyBUcmFja0V2ZW50KCdUcmFja0V2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5j
ZWxhYmxlOiB0cnVlIH0pLnRyYWNrIik7CisgICAgCisgICAgICAgICAgICBkZWJ1ZygiPGJyPioq
KiBCdWJibGVzIGFuZCBjYW5jZWxhYmxlIHRydWUsIGludmFsaWQgdHJhY2sgKioqIik7CisgICAg
ICAgICAgICBzaG91bGRCZSgibmV3IFRyYWNrRXZlbnQoJ1RyYWNrRXZlbnQnLCB7IGJ1YmJsZXM6
IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIHRyYWNrOiBIVE1MVHJhY2tFbGVtZW50IH0pLmJ1YmJs
ZXMiLCAidHJ1ZSIpOworICAgICAgICAgICAgc2hvdWxkQmUoIm5ldyBUcmFja0V2ZW50KCdUcmFj
a0V2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCB0cmFjazogSFRNTFRy
YWNrRWxlbWVudCB9KS5jYW5jZWxhYmxlIiwgInRydWUiKTsKKyAgICAgICAgICAgIHNob3VsZEJl
TnVsbCgibmV3IFRyYWNrRXZlbnQoJ1RyYWNrRXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNl
bGFibGU6IHRydWUsIHRyYWNrOiBIVE1MVHJhY2tFbGVtZW50IH0pLnRyYWNrIik7CisgICAgCisg
ICAgICAgICAgICBkZWJ1ZygiPGJyPioqKiBJbml0aWFsaXplICd0cmFjaycgd2l0aCBhIGludmFs
aWQgdmFsdWVzICoqKiIpOworICAgICAgICAgICAgc2hvdWxkQmVOdWxsKCJuZXcgVHJhY2tFdmVu
dCgnVHJhY2tFdmVudCcsIHsgdHJhY2s6IDEwIH0pLnRyYWNrIik7CisgICAgICAgICAgICBzaG91
bGRCZU51bGwoIm5ldyBUcmFja0V2ZW50KCdUcmFja0V2ZW50JywgeyB0cmFjazogXCdzdHJpbmdc
JyB9KS50cmFjayIpOworICAgICAgICAgICAgZW1wdHlPYmplY3QgPSB7IH07CisgICAgICAgICAg
ICBzaG91bGRCZU51bGwoIm5ldyBUcmFja0V2ZW50KCdUcmFja0V2ZW50JywgeyB0cmFjazogZW1w
dHlPYmplY3QgfSkudHJhY2siKTsKKyAgICAgICAgICAgIHNob3VsZEJlTnVsbCgibmV3IFRyYWNr
RXZlbnQoJ1RyYWNrRXZlbnQnLCB7IHRyYWNrOiBkb2N1bWVudCB9KS50cmFjayIpOworCisgICAg
ICAgICAgICBkZWJ1ZygiPGJyPioqKiBCdWJibGVzIGFuZCBjYW5jZWxhYmxlIHRydWUsIHZhbGlk
IHRyYWNrICoqKiIpOworICAgICAgICAgICAgc2hvdWxkQmUoIm5ldyBUcmFja0V2ZW50KCdUcmFj
a0V2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCB0cmFjazogSFRNTFRy
YWNrRWxlbWVudCB9KS5idWJibGVzIiwgInRydWUiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJu
ZXcgVHJhY2tFdmVudCgnVHJhY2tFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTog
dHJ1ZSwgdHJhY2s6IEhUTUxUcmFja0VsZW1lbnQgfSkuY2FuY2VsYWJsZSIsICJ0cnVlIik7Cisg
ICAgICAgICAgICBzaG91bGRCZSgibmV3IFRyYWNrRXZlbnQoJ1RyYWNrRXZlbnQnLCB7IHRyYWNr
OiB0cmFja0VsZW1lbnQudHJhY2sgfSkudHJhY2siLCAidHJhY2tFbGVtZW50LnRyYWNrIik7CisK
KyAgICAgICAgICAgIGRlYnVnKCI8YnI+KioqIEluaXRpYWxpemUgJ3RyYWNrJyB3aXRoIHZhbGlk
IHRyYWNrIG9iamVjdCAqKioiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJuZXcgVHJhY2tFdmVu
dCgnVHJhY2tFdmVudCcsIHsgdHJhY2s6IHRyYWNrRWxlbWVudC50cmFjayB9KS50cmFjayIsICJ0
cmFja0VsZW1lbnQudHJhY2siKTsKKworICAgICAgICAgICAgZGVidWcoIiIpOworICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgIH0KKworICAgICAgICB2aWRlbyA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoJ3ZpZGVvJyk7CisgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQodmlkZW8pOworCisgICAgICAgIHRyYWNrRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ3RyYWNrJyk7CisgICAgICAgIHZpZGVvLmFwcGVuZENoaWxkKHRyYWNrRWxlbWVudCk7Cisg
ICAgICAgIHRyYWNrRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgdGVzdCk7CisgICAg
ICAgIHRyYWNrRWxlbWVudC5zcmM9J2RhdGE6dGV4dC92dHQsV0VCVlRUIEZJTEUgXHJccjFccjAw
OjAwOjAwLjAwMCAtLT4gMDA6MDA6MzAuNTAwXHJvbmx5IG9uZSBjYXB0aW9uJzsKKworICAgIDwv
c2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKworPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAkocmV2aXNpb24g
OTkwNTYpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9u
cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTExMSw2ICsxMTEsNyBAQCBCVUdXSzQzNjY4IFNLSVAg
OiBtZWRpYS90cmFjay90cmFjay13ZWJ2CiBCVUdXSzQzNjY4IFNLSVAgOiBtZWRpYS90cmFjay90
cmFjay13ZWJ2dHQtdGMwMjYtdm9pY2UuaHRtbCA9IFRJTUVPVVQKIEJVR1dLNDM2NjggU0tJUCA6
IG1lZGlhL3RyYWNrL3RyYWNrLXdlYnZ0dC10YzAyNy1lbXB0eS1jdWUuaHRtbCA9IFRJTUVPVVQK
IEJVR1dLNDM2NjggU0tJUCA6IG1lZGlhL3RyYWNrL3RyYWNrLXdlYnZ0dC10YzAyOC11bnN1cHBv
cnRlZC1tYXJrdXAuaHRtbCA9IFRJTUVPVVQKK0JVR1dLNDM2NjggU0tJUCA6IGZhc3QvZXZlbnRz
L2NvbnN0cnVjdG9ycy90cmFjay1ldmVudC1jb25zdHJ1Y3Rvci5odG1sID0gVElNRU9VVAogCiAv
LyBUZXN0cyBmb3IgTWVkaWFTb3VyY2UgQVBJLiBGZWF0dXJlIGlzIG5vdCB5ZXQgZnVuY3Rpb25h
bC4KIEJVR1dLNjQ3MzEgU0tJUCA6IGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlLyA9IFRJ
TUVPVVQKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9mYXN0L2RvbS9XaW5kb3cvd2lu
ZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Bs
YXRmb3JtL2d0ay9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiA5OTA1NikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9mYXN0L2RvbS9X
aW5kb3cvd2luZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0y
MTM3LDYgKzIxMzcsOCBAQCB3aW5kb3cuVGltZVJhbmdlcyBbb2JqZWN0IFRpbWVSYW5nZXNDb25z
CiB3aW5kb3cuVGltZVJhbmdlcy5wcm90b3R5cGUgW29iamVjdCBUaW1lUmFuZ2VzUHJvdG90eXBl
XQogd2luZG93LlRpbWVSYW5nZXMucHJvdG90eXBlLmVuZCBbZnVuY3Rpb25dCiB3aW5kb3cuVGlt
ZVJhbmdlcy5wcm90b3R5cGUuc3RhcnQgW2Z1bmN0aW9uXQord2luZG93LlRyYWNrRXZlbnQgW29i
amVjdCBUcmFja0V2ZW50Q29uc3RydWN0b3JdCit3aW5kb3cuVHJhY2tFdmVudC5wcm90b3R5cGUg
W3ByaW50ZWQgYWJvdmUgYXMgd2luZG93LkV2ZW50LnByb3RvdHlwZV0KIHdpbmRvdy5UeXBlRXJy
b3IgW2Z1bmN0aW9uXQogd2luZG93LlVJRXZlbnQgW29iamVjdCBVSUV2ZW50Q29uc3RydWN0b3Jd
CiB3aW5kb3cuVUlFdmVudC5wcm90b3R5cGUgW3ByaW50ZWQgYWJvdmUgYXMgd2luZG93LkV2ZW50
LnByb3RvdHlwZV0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9mYXN0L2pzL2dsb2Jh
bC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Bs
YXRmb3JtL2d0ay9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiA5OTA1NikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9mYXN0L2pzL2dsb2JhbC1j
b25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zMDcsNiArMzA3LDcg
QEAgUEFTUyBUZXh0VHJhY2sudG9TdHJpbmcoKSBpcyAnW29iamVjdCBUZQogUEFTUyBUZXh0VHJh
Y2tDdWUudG9TdHJpbmcoKSBpcyAnW29iamVjdCBUZXh0VHJhY2tDdWVDb25zdHJ1Y3Rvcl0nCiBQ
QVNTIFRleHRUcmFja0N1ZUxpc3QudG9TdHJpbmcoKSBpcyAnW29iamVjdCBUZXh0VHJhY2tDdWVM
aXN0Q29uc3RydWN0b3JdJwogUEFTUyBUaW1lUmFuZ2VzLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3Qg
VGltZVJhbmdlc0NvbnN0cnVjdG9yXScKK1BBU1MgVHJhY2tFdmVudC50b1N0cmluZygpIGlzICdb
b2JqZWN0IFRyYWNrRXZlbnRDb25zdHJ1Y3Rvcl0nCiBQQVNTIFVJRXZlbnQudG9TdHJpbmcoKSBp
cyAnW29iamVjdCBVSUV2ZW50Q29uc3RydWN0b3JdJwogUEFTUyBXZWJLaXRBbmltYXRpb25FdmVu
dC50b1N0cmluZygpIGlzICdbb2JqZWN0IFdlYktpdEFuaW1hdGlvbkV2ZW50Q29uc3RydWN0b3Jd
JwogUEFTUyBXZWJLaXRDU1NLZXlmcmFtZVJ1bGUudG9TdHJpbmcoKSBpcyAnW29iamVjdCBXZWJL
aXRDU1NLZXlmcmFtZVJ1bGVDb25zdHJ1Y3Rvcl0nCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvU2tpcHBlZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tp
cHBlZAkocmV2aXNpb24gOTkwNTYpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBl
ZAkod29ya2luZyBjb3B5KQpAQCAtNDU4LDYgKzQ1OCw3IEBAIG1lZGlhL3RyYWNrL3RyYWNrLXdl
YnZ0dC10YzAyNS1jbGFzcy1tYXIKIG1lZGlhL3RyYWNrL3RyYWNrLXdlYnZ0dC10YzAyNi12b2lj
ZS5odG1sCiBtZWRpYS90cmFjay90cmFjay13ZWJ2dHQtdGMwMjctZW1wdHktY3VlLmh0bWwKIG1l
ZGlhL3RyYWNrL3RyYWNrLXdlYnZ0dC10YzAyOC11bnN1cHBvcnRlZC1tYXJrdXAuaHRtbAorZmFz
dC9ldmVudHMvY29uc3RydWN0b3JzL3RyYWNrLWV2ZW50LWNvbnN0cnVjdG9yLmh0bWwKIAogIyBU
ZXN0cyBmb3IgTWVkaWFTb3VyY2UgQVBJLiBGZWF0dXJlIGlzIG5vdCB5ZXQgZnVuY3Rpb25hbC4K
ICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY0NzMxCkluZGV4OiBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAkocmV2aXNpb24gOTkwNTYpCisrKyBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS93aW4vU2tpcHBlZAkod29ya2luZyBjb3B5KQpAQCAtMTQ0Miw2ICsxNDQyLDcgQEAg
bWVkaWEvdHJhY2svdHJhY2std2VidnR0LXRjMDI1LWNsYXNzLW1hcgogbWVkaWEvdHJhY2svdHJh
Y2std2VidnR0LXRjMDI2LXZvaWNlLmh0bWwKIG1lZGlhL3RyYWNrL3RyYWNrLXdlYnZ0dC10YzAy
Ny1lbXB0eS1jdWUuaHRtbAogbWVkaWEvdHJhY2svdHJhY2std2VidnR0LXRjMDI4LXVuc3VwcG9y
dGVkLW1hcmt1cC5odG1sCitmYXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMvdHJhY2stZXZlbnQtY29u
c3RydWN0b3IuaHRtbAogCiAjIFRlc3RzIGZvciBNZWRpYVNvdXJjZSBBUEkuIEZlYXR1cmUgaXMg
bm90IHlldCBmdW5jdGlvbmFsLgogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NjQ3MzEK
</data>
<flag name="commit-queue"
          id="111656"
          type_id="3"
          status="-"
          setter="gustavo.noronha"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113344</attachid>
            <date>2011-11-02 11:50:57 -0700</date>
            <delta_ts>2011-11-02 14:44:34 -0700</delta_ts>
            <desc>Updated patch</desc>
            <filename>patch_track_event_15.txt</filename>
            <type>text/plain</type>
            <size>64957</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk5MDU2KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNzUgQEAKKzIwMTEtMTEtMDIgIEVyaWMgQ2Fy
bHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIFRyYWNrRXZlbnQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTc4CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogZmFz
dC9ldmVudHMvY29uc3RydWN0b3JzL3RyYWNrLWV2ZW50LWNvbnN0cnVjdG9yLmh0bWwKKworICAg
ICAgICAqIENNYWtlTGlzdHMudHh0OiBBZGQgbmV3IGZpbGVzIGZvciBUcmFja0V2ZW50LgorICAg
ICAgICAqIENvZGVHZW5lcmF0b3JzLnByaTogRGl0dG8uCisgICAgICAgICogRGVyaXZlZFNvdXJj
ZXMuY3BwOiBEaXR0by4KKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOiBEaXR0by4KKyAg
ICAgICAgKiBHTlVtYWtlZmlsZS5hbTogRGl0dG8uCisgICAgICAgICogR05VbWFrZWZpbGUubGlz
dC5hbTogRGl0dG8uCisgICAgICAgICogV2ViQ29yZS5neXBpOiBEaXR0by4KKyAgICAgICAgKiBX
ZWJDb3JlLnBybzogRGl0dG8uCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOiBEaXR0by4KKyAgICAgICAgKiBiaW5kaW5ncy9nZW5lcmljL0V2ZW50Q29uc3RydWN0
b3JzLmg6IERpdHRvLgorICAgICAgICAqIGJpbmRpbmdzL2dvYmplY3QvR05VbWFrZWZpbGUuYW06
IERpdHRvLgorICAgICAgICAqIGJpbmRpbmdzL2dvYmplY3QvV2ViS2l0SFRNTEVsZW1lbnRXcmFw
cGVyRmFjdG9yeS5jcHA6IERpdHRvLgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTQmluZGluZ3NB
bGxJbk9uZS5jcHA6IERpdHRvLgorCisgICAgICAgICogYmluZGluZ3MvanMvSlNEaWN0aW9uYXJ5
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTRGljdGlvbmFyeTo6Y29udmVydFZhbHVlKTogQWRk
IG1ldGhvZCB0byBjb252ZXJ0IHRvIGEgVHJhY2suCisgICAgICAgICogYmluZGluZ3MvanMvSlNE
aWN0aW9uYXJ5Lmg6CisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0V2ZW50Q29uc3RydWN0b3Jz
LmNwcDogIEFkZCBuZXcgZmlsZXMgZm9yIFRyYWNrRXZlbnQuCisKKyAgICAgICAgKiBiaW5kaW5n
cy9qcy9KU1RyYWNrQ3VzdG9tLmNwcDogQWRkZWQuIAorICAgICAgICAoV2ViQ29yZTo6dG9UcmFj
ayk6IE5ldywgY29udmVydCBmcm9tIGEgSlNWYWx1ZSB0byBhIFRyYWNrLgorICAgICAgICAoV2Vi
Q29yZTo6dG9KUyk6IE5ldywgcmV0dXJuIGEgSlMgd3JhcHBlciBmb3IgYSBUcmFjay4KKyAgICAg
ICAgKiBiaW5kaW5ncy9qcy9KU1RyYWNrQ3VzdG9tLmg6IEFkZGVkLgorCisgICAgICAgICogYmlu
ZGluZ3MvanMvSlNUcmFja0V2ZW50Q3VzdG9tLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3Jl
OjpKU1RyYWNrRXZlbnQ6OnRyYWNrKTogTmV3LCByZXR1cm5zIGEgVGV4dEV2ZW50J3MgJ3RyYWNr
JyBhdHRyaWJ1dGUuCisKKyAgICAgICAgKiBiaW5kaW5ncy92OC9PcHRpb25zT2JqZWN0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Ok9wdGlvbnNPYmplY3Q6OmdldCk6IFJldHVybnMgUmVmUHRyPFRy
YWNrQmFzZT4uCisKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhFdmVudENvbnN0cnVj
dG9ycy5jcHA6IEFkZCBUcmFjayBpbml0aWFsaXppbmcgY29uc3RydWN0b3IuCisKKyAgICAgICAg
KiBiaW5kaW5ncy92OC9jdXN0b20vVjhUcmFja0V2ZW50Q3VzdG9tLmNwcDogQWRkZWQuCisgICAg
ICAgIChXZWJDb3JlOjpWOFRyYWNrRXZlbnQ6OnRyYWNrQWNjZXNzb3JHZXR0ZXIpOiBOZXcsIHJl
dHVybnMgYSBUZXh0RXZlbnQncyAndHJhY2snIGF0dHJpYnV0ZS4KKworICAgICAgICAqIGRvbS9F
dmVudEZhY3RvcnkuaW46IEFkZCBUcmFja0V2ZW50LgorCisgICAgICAgICogZG9tL0V2ZW50TmFt
ZXMuaDogQWRkICdhZGR0cmFjaycgZXZlbnQuCisKKyAgICAgICAgKiBodG1sL1RleHRUcmFjay5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2s6OlRleHRUcmFjayk6IENhbGwgbmV3IGJh
c2UgY2xhc3MgY29uc3RydWN0b3IuCisgICAgICAgICogaHRtbC9UZXh0VHJhY2suaDogTm93IGRl
cml2ZSBmcm9tIEJhc2VUcmFjayBmb3IgdGhlIGRheSB3ZSBpbXBsZW1lbnQgVmlkZW9UcmFjayBh
bmQgQXVkaW9UcmFjay4KKworICAgICAgICAqIGh0bWwvdHJhY2svVHJhY2tCYXNlLmNwcDogQWRk
ZWQuCisgICAgICAgIChXZWJDb3JlOjpUcmFja0Jhc2U6OlRyYWNrQmFzZSk6CisgICAgICAgIChX
ZWJDb3JlOjpUcmFja0Jhc2U6On5UcmFja0Jhc2UpOgorICAgICAgICAqIGh0bWwvdHJhY2svVHJh
Y2tCYXNlLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6VHJhY2tCYXNlOjp0eXBlKTogUmV0
dXJuIHRoZSB0cmFjayB0eXBlLgorCisgICAgICAgICogaHRtbC90cmFjay9UcmFja0V2ZW50LmNw
cDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpUcmFja0V2ZW50SW5pdDo6VHJhY2tFdmVudElu
aXQpOgorICAgICAgICAoV2ViQ29yZTo6VHJhY2tFdmVudDo6VHJhY2tFdmVudCk6CisgICAgICAg
IChXZWJDb3JlOjpUcmFja0V2ZW50Ojp+VHJhY2tFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpU
cmFja0V2ZW50OjppbnRlcmZhY2VOYW1lKToKKyAgICAgICAgKiBodG1sL3RyYWNrL1RyYWNrRXZl
bnQuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpUcmFja0V2ZW50OjpjcmVhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6VHJhY2tFdmVudDo6aXNUcmFja0V2ZW50KToKKyAgICAgICAgKFdlYkNv
cmU6OlRyYWNrRXZlbnQ6OnRyYWNrKToKKyAgICAgICAgKiBodG1sL3RyYWNrL1RyYWNrRXZlbnQu
aWRsOiBBZGRlZC4KKworICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDogQWRkIFRyYWNrRXZl
bnQuCisKIDIwMTEtMTEtMDIgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgVW5yZXZpZXdlZCBidWlsZCBmaXggZm9yICFFTkFCTEUoRklMVEVSUykgYWZ0
ZXIgcjk4OTg5LgpJbmRleDogU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDk5MDU2KQorKysg
U291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTMxOCw2ICsz
MTgsOCBAQCBTRVQoV2ViQ29yZV9JRExfRklMRVMKICAgICBodG1sL2NhbnZhcy9XZWJHTFZlcnRl
eEFycmF5T2JqZWN0T0VTLmlkbAogICAgIGh0bWwvY2FudmFzL1dlYktpdExvc2VDb250ZXh0Lmlk
bAogCisgICAgaHRtbC90cmFjay9UcmFja0V2ZW50LmlkbAorCiAgICAgaW5zcGVjdG9yL0luamVj
dGVkU2NyaXB0SG9zdC5pZGwKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0Lmlk
bAogICAgIGluc3BlY3Rvci9KYXZhU2NyaXB0Q2FsbEZyYW1lLmlkbApAQCAtMjA2NCw2ICsyMDY2
LDggQEAgSUYgKEVOQUJMRV9WSURFT19UUkFDSykKICAgICAgICAgaHRtbC9UZXh0VHJhY2tDdWUu
Y3BwCiAgICAgICAgIGh0bWwvVGV4dFRyYWNrQ3VlSW5kZXguY3BwCiAgICAgICAgIGh0bWwvVGV4
dFRyYWNrQ3VlTGlzdC5jcHAKKyAgICAgICAgaHRtbC90cmFjay9UcmFja0Jhc2UuY3BwCisgICAg
ICAgIGh0bWwvdHJhY2svVHJhY2tFdmVudC5jcHAKICAgICAgICAgaHRtbC90cmFjay9XZWJWVFRQ
YXJzZXIuY3BwCiAgICAgICAgIGh0bWwvdHJhY2svV2ViVlRUVG9rZW5pemVyLmNwcAogICAgICAg
ICBsb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmNwcApJbmRleDogU291cmNlL1dlYkNvcmUvQ29kZUdl
bmVyYXRvcnMucHJpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NvZGVHZW5lcmF0b3Jz
LnByaQkocmV2aXNpb24gOTkwNTYpCisrKyBTb3VyY2UvV2ViQ29yZS9Db2RlR2VuZXJhdG9ycy5w
cmkJKHdvcmtpbmcgY29weSkKQEAgLTU3Nyw2ICs1NzcsNyBAQCBjb250YWlucyhERUZJTkVTLCBF
TkFCTEVfVklERU9fVFJBQ0s9MSkgCiAgICAgaHRtbC9UZXh0VHJhY2suaWRsIFwKICAgICBodG1s
L1RleHRUcmFja0N1ZS5pZGwgXAogICAgIGh0bWwvVGV4dFRyYWNrQ3VlTGlzdC5pZGwgXAorICAg
IGh0bWwvdHJhY2svVHJhY2tFdmVudC5pZGwgXAogfQogCiB2ODogd3JhcHBlckZhY3RvcnlBcmcg
PSAtLXdyYXBwZXJGYWN0b3J5VjgKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAJKHJl
dmlzaW9uIDk5MDU2KQorKysgU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC00NDEsNiArNDQxLDcgQEAKICNpbmNsdWRlICJKU1RleHRUcmFjay5jcHAi
CiAjaW5jbHVkZSAiSlNUZXh0VHJhY2tDdWUuY3BwIgogI2luY2x1ZGUgIkpTVGV4dFRyYWNrQ3Vl
TGlzdC5jcHAiCisjaW5jbHVkZSAiSlNUcmFja0V2ZW50LmNwcCIKICNlbmRpZgogI2luY2x1ZGUg
IkpTVGltZVJhbmdlcy5jcHAiCiAjaW5jbHVkZSAiSlNUb3VjaC5jcHAiCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLm1ha2UJKHJldmlzaW9uIDk5MDU2KQorKysgU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMubWFrZQkod29ya2luZyBjb3B5KQpAQCAtMzYsNiArMzYsNyBAQCBWUEFU
SCA9IFwKICAgICAkKFdlYkNvcmUpL2ZpbGVhcGkgXAogICAgICQoV2ViQ29yZSkvaHRtbCBcCiAg
ICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcyBcCisgICAgJChXZWJDb3JlKS9odG1sL3RyYWNrIFwK
ICAgICAkKFdlYkNvcmUpL2luc3BlY3RvciBcCiAgICAgJChXZWJDb3JlKS9sb2FkZXIvYXBwY2Fj
aGUgXAogICAgICQoV2ViQ29yZSkvbm90aWZpY2F0aW9ucyBcCkBAIC01MTMsNiArNTE0LDcgQEAg
RE9NX0NMQVNTRVMgPSBcCiAgICAgVG91Y2ggXAogICAgIFRvdWNoRXZlbnQgXAogICAgIFRvdWNo
TGlzdCBcCisgICAgVHJhY2tFdmVudCBcCiAgICAgVHJlZVdhbGtlciBcCiAgICAgVUlFdmVudCBc
CiAgICAgVWludDE2QXJyYXkgXApJbmRleDogU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0JKHJldmlzaW9uIDk5
MDU2KQorKysgU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0JKHdvcmtpbmcgY29weSkKQEAg
LTcyOSw2ICs3MjksNyBAQCBJRExfUEFUSCA6PSBcCiAgICAgJChXZWJDb3JlKS9maWxlYXBpIFwK
ICAgICAkKFdlYkNvcmUpL2h0bWwgXAogICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMgXAorICAg
ICQoV2ViQ29yZSkvaHRtbC90cmFjayBcCiAgICAgJChXZWJDb3JlKS9pbnNwZWN0b3IgXAogICAg
ICQoV2ViQ29yZSkvbG9hZGVyL2FwcGNhY2hlIFwKICAgICAkKFdlYkNvcmUpL21lZGlhc3RyZWFt
IFwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQkocmV2aXNpb24gOTkwNTYpCisr
KyBTb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCSh3b3JraW5nIGNvcHkpCkBAIC01
MTIsNiArNTEyLDggQEAgd2ViY29yZV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTVG91Y2guaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1RvdWNoTGlz
dC5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNUb3VjaExpc3QuaCBcCisJRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU1RyYWNrRXZlbnQuY3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTVHJhY2tFdmVudC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVHJlZVdhbGtl
ci5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNUcmVlV2Fsa2VyLmggXAogCURlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNVSUV2ZW50LmNwcCBcCkBAIC04NTAsNiArODUyLDkgQEAgd2Vi
Y29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1RleHRDdXN0
b20uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1RvdWNoQ3VzdG9tLmNwcCBc
CiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNUb3VjaExpc3RDdXN0b20uY3BwIFwKKwlT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1RyYWNrQ3VzdG9tLmNwcCBcCisJU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNUcmFja0N1c3RvbS5oIFwKKwlTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU1RyYWNrRXZlbnRDdXN0b20uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU1RyZWVXYWxrZXJDdXN0b20uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU1VpbnQxNkFycmF5Q3VzdG9tLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNVaW50MzJBcnJheUN1c3RvbS5jcHAgXApAQCAtMTk2OCw2ICsxOTczLDEwIEBAIHdlYmNvcmVf
c291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9UaW1lSW5wdXRUeXBlLmggXAogCVNv
dXJjZS9XZWJDb3JlL2h0bWwvVGltZVJhbmdlcy5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwv
VGltZVJhbmdlcy5oIFwKKwlTb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RyYWNrQmFzZS5jcHAg
XAorCVNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVHJhY2tCYXNlLmggXAorCVNvdXJjZS9XZWJD
b3JlL2h0bWwvdHJhY2svVHJhY2tFdmVudC5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL2h0bWwvdHJh
Y2svVHJhY2tFdmVudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1dlYlZUVFBhcnNl
ci5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svV2ViVlRUUGFyc2VyLmggXAogCVNv
dXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svV2ViVlRUVG9rZW4uaCBcCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmd5cGkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS5n
eXBpCShyZXZpc2lvbiA5OTA1NikKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQkod29y
a2luZyBjb3B5KQpAQCAtMTM3MSw2ICsxMzcxLDcgQEAKICAgICAgICAgICAgICdodG1sL2NhbnZh
cy9XZWJHTFVuaWZvcm1Mb2NhdGlvbi5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL1dl
YkdMVmVydGV4QXJyYXlPYmplY3RPRVMuaWRsJywKICAgICAgICAgICAgICdodG1sL2NhbnZhcy9X
ZWJLaXRMb3NlQ29udGV4dC5pZGwnLAorICAgICAgICAgICAgJ2h0bWwvdHJhY2svVHJhY2tFdmVu
dC5pZGwnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdEhvc3QuaWRsJywK
ICAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmlkbCcsCiAgICAg
ICAgICAgICAnaW5zcGVjdG9yL0phdmFTY3JpcHRDYWxsRnJhbWUuaWRsJywKQEAgLTE5MzYsNiAr
MTkzNyw5IEBACiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNUZXh0Q3VzdG9tLmNwcCcsCiAg
ICAgICAgICAgICAnYmluZGluZ3MvanMvSlNUb3VjaEN1c3RvbS5jcHAnLAogICAgICAgICAgICAg
J2JpbmRpbmdzL2pzL0pTVG91Y2hMaXN0Q3VzdG9tLmNwcCcsCisgICAgICAgICAgICAnYmluZGlu
Z3MvanMvSlNUcmFja0N1c3RvbS5jcHAnLAorICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTVHJh
Y2tDdXN0b20uaCcsCisgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNUcmFja0V2ZW50Q3VzdG9t
LmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNUcmVlV2Fsa2VyQ3VzdG9tLmNwcCcs
CiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNVaW50MTZBcnJheUN1c3RvbS5jcHAnLAogICAg
ICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTVWludDMyQXJyYXlDdXN0b20uY3BwJywKQEAgLTIyMzgs
NiArMjI0Miw3IEBACiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4U3RvcmFnZUN1
c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFN0eWxlU2hlZXRD
dXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhTdHlsZVNoZWV0
TGlzdEN1c3RvbS5jcHAnLAorICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFRyYWNr
RXZlbnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhVaW50
MTZBcnJheUN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFVp
bnQzMkFycmF5Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4
VWludDhBcnJheUN1c3RvbS5jcHAnLApAQCAtNTc2OCw2ICs1NzczLDggQEAKICAgICAgICAgICAg
ICdodG1sL3NoYWRvdy9TbGlkZXJUaHVtYkVsZW1lbnQuaCcsCiAgICAgICAgICAgICAnaHRtbC9z
aGFkb3cvVGV4dENvbnRyb2xJbm5lckVsZW1lbnRzLmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9z
aGFkb3cvVGV4dENvbnRyb2xJbm5lckVsZW1lbnRzLmgnLAorICAgICAgICAgICAgJ2h0bWwvdHJh
Y2svVHJhY2tCYXNlLmNwcCcsCisgICAgICAgICAgICAnaHRtbC90cmFjay9UcmFja0V2ZW50LmNw
cCcsCiAgICAgICAgICAgICAnaHRtbC90cmFjay9XZWJWVFRQYXJzZXIuY3BwJywKICAgICAgICAg
ICAgICdodG1sL3RyYWNrL1dlYlZUVFBhcnNlci5oJywKICAgICAgICAgICAgICdodG1sL3RyYWNr
L1dlYlZUVFRva2VuLmgnLApJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8JKHJldmlzaW9uIDk5MDU2KQorKysg
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8JKHdvcmtpbmcgY29weSkKQEAgLTE4NjgsNiArMTg2
OCw4IEBAIEhFQURFUlMgKz0gXAogICAgIGh0bWwvcGFyc2VyL1hTU0F1ZGl0b3IuaCBcCiAgICAg
aHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuaCBcCiAgICAgaHRtbC9zaGFkb3cvRGV0
YWlsc01hcmtlckNvbnRyb2wuaCBcCisgICAgaHRtbC90cmFjay9UcmFja0Jhc2UuaCBcCisgICAg
aHRtbC90cmFjay9UcmFja0V2ZW50LmggXAogICAgIGh0bWwvdHJhY2svV2ViVlRUUGFyc2VyLmgg
XAogICAgIGh0bWwvdHJhY2svV2ViVlRUVG9rZW4uaCBcCiAgICAgaHRtbC90cmFjay9XZWJWVFRU
b2tlbml6ZXIuaCBcCkBAIC0zNTM4LDYgKzM1NDAsMTkgQEAgY29udGFpbnMoREVGSU5FUywgRU5B
QkxFX0pBVkFTQ1JJUFRfREVCVQogICAgIH0KIH0KIAorCitjb250YWlucyhERUZJTkVTLCBFTkFC
TEVfVklERU9fVFJBQ0s9MSkgeworICAgIHY4IHsKKyAgICAgICAgU09VUkNFUyArPSBcCisgICAg
ICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhUcmFja0V2ZW50Q3VzdG9tLmNwcAorICAgIH0g
ZWxzZSB7CisgICAgICAgIFNPVVJDRVMgKz0gXAorICAgICAgICAgICAgYmluZGluZ3MvanMvSlNU
cmFja0N1c3RvbS5jcHAgXAorICAgICAgICAgICAgYmluZGluZ3MvanMvSlNUcmFja0N1c3RvbS5o
IFwKKyAgICAgICAgICAgIGJpbmRpbmdzL2pzL0pTVHJhY2tFdmVudEN1c3RvbS5jcHAKKyAgICB9
Cit9CisKIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9XRUJfU09DS0VUUz0xKSB7CiAgICAgSEVB
REVSUyArPSBcCiAgICAgICAgIHdlYnNvY2tldHMvQ2xvc2VFdmVudC5oIFwKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlz
aW9uIDk5MDU2KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC04Miw2ICs4MiwxMCBAQAogCQkwNjZDNzczMTBBQjYw
M0ZEMDAyMzhDQzQgLyogUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA2NkM3NzJGMEFCNjAzRkQwMDIzOENDNCAv
KiBSZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5oICovOyB9OwogCQkwNkU4MUVENzBBQjVENUU5MDBD
ODc4MzcgLyogTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNkU4MUVENjBBQjVENUU5MDBDODc4MzcgLyog
TG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0LmggKi87IH07CiAJCTA2RTgxRUVDMEFCNURBOTcw
MEM4NzgzNyAvKiBMb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQubW0gaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNkU4MUVFQjBBQjVEQTk3MDBDODc4Mzcg
LyogTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0Lm1tICovOyB9OworCQkwNzAzMzREMzE0NTlG
RkFEMDA4RDhENDUgLyogVHJhY2tFdmVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwNzAzMzREMDE0NTlGRkFDMDA4RDhENDUgLyogVHJhY2tFdmVu
dC5jcHAgKi87IH07CisJCTA3MDMzNEQ3MTQ1OUZGRDUwMDhEOEQ0NSAvKiBUcmFja0Jhc2UuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3MDMzNEQ2MTQ1
OUZGRDUwMDhEOEQ0NSAvKiBUcmFja0Jhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OworCQkwNzAzMzREOTE0NUEwMDZGMDA4RDhENDUgLyogVHJhY2tC
YXNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3
MDMzNEQ4MTQ1QTAwNkYwMDhEOEQ0NSAvKiBUcmFja0Jhc2UuY3BwICovOyB9OworCQkwNzAzMzRF
OTE0NUExRjM2MDA4RDhENDUgLyogSlNUcmFja0N1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzAzMzRFODE0NUExRjM1MDA4RDhENDUgLyog
SlNUcmFja0N1c3RvbS5jcHAgKi87IH07CiAJCTA3MDc1NjhCMTQyMjYyRDYwMDQxNDE2MSAvKiBI
VE1MVHJhY2tFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDA3MDc1Njg4MTQyMjYyRDYwMDQxNDE2MSAvKiBIVE1MVHJhY2tFbGVtZW50LmNw
cCAqLzsgfTsKIAkJMDcwNzU2OEMxNDIyNjJENjAwNDE0MTYxIC8qIEhUTUxUcmFja0VsZW1lbnQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3MDc1Njg5
MTQyMjYyRDYwMDQxNDE2MSAvKiBIVE1MVHJhY2tFbGVtZW50LmggKi87IH07CiAJCTA3MDc1Njk0
MTQyMjY2OEQwMDQxNDE2MSAvKiBKU1RleHRUcmFjay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzA3NTY4RTE0MjI2NjhDMDA0MTQxNjEgLyogSlNU
ZXh0VHJhY2suY3BwICovOyB9OwpAQCAtOTcsNyArMTAxLDExIEBACiAJCTA3MzVFRTZBMEY0MEM1
RTQwMDRBMjYwNCAvKiBNZWRpYVBsYXllclByb3h5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzM1RUU2OTBGNDBDNUU0MDA0QTI2MDQgLyogTWVkaWFQ
bGF5ZXJQcm94eS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTA3NTM4NjAyMTQ0ODlFOTgwMEI3ODQ1MiAvKiBDYWNoZWRUZXh0VHJhY2suY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDc1Mzg2MDAxNDQ4
OUU5ODAwQjc4NDUyIC8qIENhY2hlZFRleHRUcmFjay5jcHAgKi87IH07CiAJCTA3NTM4NjAzMTQ0
ODlFOTgwMEI3ODQ1MiAvKiBDYWNoZWRUZXh0VHJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3NTM4NjAxMTQ0ODlFOTgwMEI3ODQ1MiAvKiBDYWNo
ZWRUZXh0VHJhY2suaCAqLzsgfTsKKwkJMDc2ODlENkUxNDVCNTJDQzAwMUNEMTMyIC8qIEpTVHJh
Y2tFdmVudEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwNzY4OUQ2RDE0NUI1MkNDMDAxQ0QxMzIgLyogSlNUcmFja0V2ZW50Q3VzdG9tLmNw
cCAqLzsgfTsKIAkJMDc2RjBEMEUxMkI4MTkyNzAwQzI2QUE0IC8qIE1lZGlhUGxheWVyUHJpdmF0
ZUFWRm91bmRhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMDc2RjBEMEExMkI4MTkyNzAwQzI2QUE0IC8qIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91
bmRhdGlvbi5oICovOyB9OworCQkwNzg0NjM0MjE0NUIxNTFBMDBBNThERjEgLyogSlNUcmFja0V2
ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3
ODQ2MzQwMTQ1QjE1MUEwMEE1OERGMSAvKiBKU1RyYWNrRXZlbnQuY3BwICovOyB9OworCQkwNzg0
NjM0MzE0NUIxNTFBMDBBNThERjEgLyogSlNUcmFja0V2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzg0NjM0MTE0NUIxNTFBMDBBNThERjEgLyog
SlNUcmFja0V2ZW50LmggKi87IH07CisJCTA3ODQ2Mzg1MTQ1QjFCOEUwMEE1OERGMSAvKiBKU1Ry
YWNrQ3VzdG9tLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwNzg0NjM4NDE0NUIxQjhFMDBBNThERjEgLyogSlNUcmFja0N1c3RvbS5oICovOyB9OwogCQkw
N0IwMTEzRjEwMzIyNDIyMDBGQkRDMzMgLyogQWNjZXNzaWJpbGl0eU1lZGlhQ29udHJvbHMuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3QjAxMTNFMTAz
MjI0MjIwMEZCREMzMyAvKiBBY2Nlc3NpYmlsaXR5TWVkaWFDb250cm9scy5oICovOyB9OwogCQkw
ODA2RTU3QTEyODkzMDQ1MDA3Q0VEMzIgLyogU1ZHTWF0cml4LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODA2RTU3OTEyODkzMDQ1MDA3Q0VEMzIgLyog
U1ZHTWF0cml4LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJMDgwRTQ5MjYxMjU1RjNCRDAwRUZDQTI3IC8qIFNWR1RleHRMYXlvdXRFbmdpbmVCYXNl
bGluZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDgw
RTQ5MjIxMjU1RjNCRDAwRUZDQTI3IC8qIFNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5oICov
OyB9OwpAQCAtNzA2Nyw2ICs3MDc1LDEyIEBACiAJCTA2NkM3NzJGMEFCNjAzRkQwMDIzOENDNCAv
KiBSZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMDZFODFFRDYwQUI1RDVFOTAwQzg3ODM3IC8qIExvY2FsQ3VycmVudEdyYXBoaWNzQ29u
dGV4dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMb2NhbEN1cnJlbnRHcmFw
aGljc0NvbnRleHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDZFODFFRUIwQUI1
REE5NzAwQzg3ODM3IC8qIExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBMb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRl
eHQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTA3MDMzNEQwMTQ1OUZGQUMwMDhE
OEQ0NSAvKiBUcmFja0V2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFRyYWNrRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwNzAzMzRE
MTE0NTlGRkFDMDA4RDhENDUgLyogVHJhY2tFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBUcmFja0V2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTA3
MDMzNEQyMTQ1OUZGQUMwMDhEOEQ0NSAvKiBUcmFja0V2ZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7
IHBhdGggPSBUcmFja0V2ZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMDcw
MzM0RDYxNDU5RkZENTAwOEQ4RDQ1IC8qIFRyYWNrQmFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBUcmFja0Jhc2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MDcwMzM0RDgxNDVBMDA2RjAwOEQ4RDQ1IC8qIFRyYWNrQmFzZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUcmFja0Jhc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkwNzAzMzRFODE0NUExRjM1MDA4RDhENDUgLyogSlNUcmFja0N1c3RvbS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1RyYWNrQ3VzdG9tLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDcwNzU2ODgxNDIyNjJENjAwNDE0MTYxIC8q
IEhUTUxUcmFja0VsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSFRNTFRyYWNrRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA3
MDc1Njg5MTQyMjYyRDYwMDQxNDE2MSAvKiBIVE1MVHJhY2tFbGVtZW50LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhUTUxUcmFja0VsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMDcwNzU2OEExNDIyNjJENjAwNDE0MTYxIC8qIEhUTUxUcmFja0VsZW1l
bnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEhUTUxUcmFja0VsZW1lbnQuaWRsOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzA4Niw4ICs3MTAwLDEyIEBACiAJCTA3MzVFRTY5
MEY0MEM1RTQwMDRBMjYwNCAvKiBNZWRpYVBsYXllclByb3h5LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IE1lZGlhUGxheWVyUHJveHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMDc1Mzg2MDAxNDQ4OUU5ODAwQjc4NDUyIC8qIENhY2hlZFRleHRUcmFjay5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDYWNoZWRUZXh0VHJhY2suY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwNzUzODYwMTE0NDg5RTk4MDBCNzg0NTIg
LyogQ2FjaGVkVGV4dFRyYWNrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENh
Y2hlZFRleHRUcmFjay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwNzY4OUQ2RDE0
NUI1MkNDMDAxQ0QxMzIgLyogSlNUcmFja0V2ZW50Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTVHJhY2tFdmVudEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTA3NkYwRDA5MTJCODE5MjcwMEMyNkFBNCAvKiBNZWRpYVBsYXll
clByaXZhdGVBVkZvdW5kYXRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMDc2RjBEMEExMkI4MTkyNzAwQzI2QUE0IC8qIE1lZGlhUGxheWVyUHJp
dmF0ZUFWRm91bmRhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRp
YVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMDc4NDYzNDAxNDVCMTUxQTAwQTU4REYxIC8qIEpTVHJhY2tFdmVudC5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1RyYWNrRXZlbnQuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkwNzg0NjM0MTE0NUIxNTFBMDBBNThERjEgLyogSlNUcmFja0V2
ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTVHJhY2tFdmVudC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwNzg0NjM4NDE0NUIxQjhFMDBBNThERjEgLyog
SlNUcmFja0N1c3RvbS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1RyYWNr
Q3VzdG9tLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA3OUY1RTRCMEYzQkVCRUEw
MDVFMDc4MiAvKiBNZWRpYVBsYXllclByaXZhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gTWVkaWFQbGF5ZXJQcml2YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTA3QUZFNTkwMEYxNDQ2QkQwMDg0MTYxNyAvKiBtZWRpYUNvbnRyb2xzUXVpY2tUaW1lLmNz
cyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQuY3NzOyBwYXRoID0gbWVkaWFDb250cm9sc1F1aWNrVGltZS5jc3M7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA3QjAxMTNFMTAzMjI0MjIwMEZCREMzMyAv
KiBBY2Nlc3NpYmlsaXR5TWVkaWFDb250cm9scy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBBY2Nlc3NpYmlsaXR5TWVkaWFDb250cm9scy5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtMTc3NDcsNiArMTc3NjUsOCBAQAogCQkJCTA3MDc1NkRBMTQyMzlCNEUwMDQx
NDE2MSAvKiBKU1RleHRUcmFja0N1ZUxpc3QuaCAqLywKIAkJCQlFNDQ2MTQxMjBDRDY4MjY5MDBG
QURBNzUgLyogSlNUaW1lUmFuZ2VzLmNwcCAqLywKIAkJCQlFNDQ2MTQxMzBDRDY4MjY5MDBGQURB
NzUgLyogSlNUaW1lUmFuZ2VzLmggKi8sCisJCQkJMDc4NDYzNDAxNDVCMTUxQTAwQTU4REYxIC8q
IEpTVHJhY2tFdmVudC5jcHAgKi8sCisJCQkJMDc4NDYzNDExNDVCMTUxQTAwQTU4REYxIC8qIEpT
VHJhY2tFdmVudC5oICovLAogCQkJCTQ5RUVDRUZFMTA1MDcwQzQwMDA5OUZBQiAvKiBKU1VpbnQx
NkFycmF5LmNwcCAqLywKIAkJCQk0OUVFQ0VGRjEwNTA3MEM0MDAwOTlGQUIgLyogSlNVaW50MTZB
cnJheS5oICovLAogCQkJCTQ5RUVDRUZDMTA1MDcwQzQwMDA5OUZBQiAvKiBKU1VpbnQzMkFycmF5
LmNwcCAqLywKQEAgLTE4NDMxLDYgKzE4NDUxLDExIEBACiAJCUIxQUQ0RTc3MTNBMTJBNzIwMDg0
NkIyNyAvKiB0cmFjayAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAo
CisJCQkJMDcwMzM0RDgxNDVBMDA2RjAwOEQ4RDQ1IC8qIFRyYWNrQmFzZS5jcHAgKi8sCisJCQkJ
MDcwMzM0RDYxNDU5RkZENTAwOEQ4RDQ1IC8qIFRyYWNrQmFzZS5oICovLAorCQkJCTA3MDMzNEQw
MTQ1OUZGQUMwMDhEOEQ0NSAvKiBUcmFja0V2ZW50LmNwcCAqLywKKwkJCQkwNzAzMzREMTE0NTlG
RkFDMDA4RDhENDUgLyogVHJhY2tFdmVudC5oICovLAorCQkJCTA3MDMzNEQyMTQ1OUZGQUMwMDhE
OEQ0NSAvKiBUcmFja0V2ZW50LmlkbCAqLywKIAkJCQk1RDIxQTgwMDEzRUNFNURGMDBCQjcwNjQg
LyogV2ViVlRUUGFyc2VyLmNwcCAqLywKIAkJCQk1RDIxQTgwMTEzRUNFNURGMDBCQjcwNjQgLyog
V2ViVlRUUGFyc2VyLmggKi8sCiAJCQkJQjEwQjY5N0QxNDBDMTc0MDAwQkMxQzI2IC8qIFdlYlZU
VFRva2VuLmggKi8sCkBAIC0xOTYwNSw2ICsxOTYzMCw5IEBACiAJCQkJMDhFNEZFNDUwRTJCRDQx
NDAwRjRDQUUwIC8qIEpTU1ZHTGVuZ3RoQ3VzdG9tLmNwcCAqLywKIAkJCQlCMkM5NkQ4QzBCM0FG
MkI3MDA1RTgwRUMgLyogSlNTVkdQYXRoU2VnQ3VzdG9tLmNwcCAqLywKIAkJCQkxQTJDNDBBQTBE
RUI1NUFBMDA1QUYxOUUgLyogSlNUZXh0Q3VzdG9tLmNwcCAqLywKKwkJCQkwNzAzMzRFODE0NUEx
RjM1MDA4RDhENDUgLyogSlNUcmFja0N1c3RvbS5jcHAgKi8sCisJCQkJMDc4NDYzODQxNDVCMUI4
RTAwQTU4REYxIC8qIEpTVHJhY2tDdXN0b20uaCAqLywKKwkJCQkwNzY4OUQ2RDE0NUI1MkNDMDAx
Q0QxMzIgLyogSlNUcmFja0V2ZW50Q3VzdG9tLmNwcCAqLywKIAkJCQk1MTZCQjc5MjBDRTkxRTY4
MDA1MTJGNzkgLyogSlNUcmVlV2Fsa2VyQ3VzdG9tLmNwcCAqLywKIAkJCQk0OUVFQ0Y3NzEwNTA4
RDlDMDAwOTlGQUIgLyogSlNVaW50MTZBcnJheUN1c3RvbS5jcHAgKi8sCiAJCQkJNDlFRUNGNzYx
MDUwOEQ5QzAwMDk5RkFCIC8qIEpTVWludDMyQXJyYXlDdXN0b20uY3BwICovLApAQCAtMjQ1NDAs
NiArMjQ1NjgsOSBAQAogCQkJCTk3MEI3MkE2MTQ1MDA4RUIwMEYwMEEzNyAvKiBFdmVudEhlYWRl
cnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTlCM0E4ODcyMTQ1NjMyRjkwMDNBRThGNSAvKiBET01E
T01TZXR0YWJsZVRva2VuTGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQ2MkY1MkUxNDU4OThE
ODAwOTRCMEVEIC8qIEF1ZGlvU291cmNlUHJvdmlkZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAor
CQkJCTA3MDMzNEQ3MTQ1OUZGRDUwMDhEOEQ0NSAvKiBUcmFja0Jhc2UuaCBpbiBIZWFkZXJzICov
LAorCQkJCTA3ODQ2MzQzMTQ1QjE1MUEwMEE1OERGMSAvKiBKU1RyYWNrRXZlbnQuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTA3ODQ2Mzg1MTQ1QjFCOEUwMEE1OERGMSAvKiBKU1RyYWNrQ3VzdG9tLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkyRDhGRUJERDE0M0UzRUY3MDA3MjUwMkIgLyogQ1NTQ3Jvc3Nm
YWRlVmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50
UG9zdHByb2Nlc3NpbmcgPSAwOwpAQCAtMjczODYsNiArMjc0MTcsMTEgQEAKIAkJCQlBMEVFMERG
NTE0NEY4MjU1MDBGODBCMEQgLyogV2ViR0xEZWJ1Z1JlbmRlcmVySW5mby5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlBMEVFMERGNzE0NEY4MjU1MDBGODBCMEQgLyogV2ViR0xEZWJ1Z1NoYWRlcnMu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTNCQjU5RjMxNDU3QTQwRDAwQUM1NkZFIC8qIERvY3Vt
ZW50RXZlbnRRdWV1ZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwNzAzMzREMzE0NTlGRkFEMDA4
RDhENDUgLyogVHJhY2tFdmVudC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwNzAzMzREOTE0NUEw
MDZGMDA4RDhENDUgLyogVHJhY2tCYXNlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTA3MDMzNEU5
MTQ1QTFGMzYwMDhEOEQ0NSAvKiBKU1RyYWNrQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAorCQkJ
CTA3ODQ2MzQyMTQ1QjE1MUEwMEE1OERGMSAvKiBKU1RyYWNrRXZlbnQuY3BwIGluIFNvdXJjZXMg
Ki8sCisJCQkJMDc2ODlENkUxNDVCNTJDQzAwMUNEMTMyIC8qIEpTVHJhY2tFdmVudEN1c3RvbS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDhGRUJEQzE0M0UzRUY3MDA3MjUwMkIgLyogQ1NTQ3Jv
c3NmYWRlVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxv
eW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9n
ZW5lcmljL0V2ZW50Q29uc3RydWN0b3JzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvZ2VuZXJpYy9FdmVudENvbnN0cnVjdG9ycy5oCShyZXZpc2lvbiA5OTA1NikKKysr
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvRXZlbnRDb25zdHJ1Y3RvcnMuaAkod29y
a2luZyBjb3B5KQpAQCAtMTM0LDYgKzEzNCwxNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
ICAgIEZJTExfUFJPUEVSVFkodmVydGljYWxPdmVyZmxvdykgXAogICAgIERJQ1RJT05BUllfRU5E
KE92ZXJmbG93RXZlbnQpCiAKKyNpZiBFTkFCTEUoVklERU9fVFJBQ0spCisjZGVmaW5lIElOU1RB
TlRJQVRFX0lOSVRJQUxJWklOR19DT05TVFJVQ1RPUl9GT1JfVFJBQ0tfRVZFTlQoRElDVElPTkFS
WV9TVEFSVCwgRElDVElPTkFSWV9FTkQsIEZJTExfUEFSRU5UX1BST1BFUlRJRVMsIEZJTExfUFJP
UEVSVFkpIFwKKyAgICBcCisgICAgRElDVElPTkFSWV9TVEFSVChUcmFja0V2ZW50KSBcCisgICAg
ICAgIEZJTExfUEFSRU5UX1BST1BFUlRJRVMoRXZlbnQpIFwKKyAgICAgICAgRklMTF9QUk9QRVJU
WSh0cmFjaykgXAorICAgIERJQ1RJT05BUllfRU5EKFRyYWNrRXZlbnQpCisjZWxzZQorI2RlZmlu
ZSBJTlNUQU5USUFURV9JTklUSUFMSVpJTkdfQ09OU1RSVUNUT1JfRk9SX1RSQUNLX0VWRU5UKERJ
Q1RJT05BUllfU1RBUlQsIERJQ1RJT05BUllfRU5ELCBGSUxMX1BBUkVOVF9QUk9QRVJUSUVTLCBG
SUxMX1BST1BFUlRZKQorI2VuZGlmCiAKICNkZWZpbmUgSU5TVEFOVElBVEVfQUxMX0VWRU5UX0lO
SVRJQUxJWklOR19DT05TVFJVQ1RPUlMoRElDVElPTkFSWV9TVEFSVCwgRElDVElPTkFSWV9FTkQs
IEZJTExfUEFSRU5UX1BST1BFUlRJRVMsIEZJTExfUFJPUEVSVFkpIFwKICAgICBJTlNUQU5USUFU
RV9JTklUSUFMSVpJTkdfQ09OU1RSVUNUT1JfRk9SX0VWRU5UKERJQ1RJT05BUllfU1RBUlQsIERJ
Q1RJT05BUllfRU5ELCBGSUxMX1BBUkVOVF9QUk9QRVJUSUVTLCBGSUxMX1BST1BFUlRZKSBcCkBA
IC0xNDksNyArMTU5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIElOU1RBTlRJQVRFX0lO
SVRJQUxJWklOR19DT05TVFJVQ1RPUl9GT1JfV0VCS0lUX1RSQU5TSVRJT05fRVZFTlQoRElDVElP
TkFSWV9TVEFSVCwgRElDVElPTkFSWV9FTkQsIEZJTExfUEFSRU5UX1BST1BFUlRJRVMsIEZJTExf
UFJPUEVSVFkpIFwKICAgICBJTlNUQU5USUFURV9JTklUSUFMSVpJTkdfQ09OU1RSVUNUT1JfRk9S
X0JFRk9SRV9MT0FEX0VWRU5UKERJQ1RJT05BUllfU1RBUlQsIERJQ1RJT05BUllfRU5ELCBGSUxM
X1BBUkVOVF9QUk9QRVJUSUVTLCBGSUxMX1BST1BFUlRZKSBcCiAgICAgSU5TVEFOVElBVEVfSU5J
VElBTElaSU5HX0NPTlNUUlVDVE9SX0ZPUl9PVkVSRkxPV19FVkVOVChESUNUSU9OQVJZX1NUQVJU
LCBESUNUSU9OQVJZX0VORCwgRklMTF9QQVJFTlRfUFJPUEVSVElFUywgRklMTF9QUk9QRVJUWSkg
XAotCisgICAgSU5TVEFOVElBVEVfSU5JVElBTElaSU5HX0NPTlNUUlVDVE9SX0ZPUl9UUkFDS19F
VkVOVChESUNUSU9OQVJZX1NUQVJULCBESUNUSU9OQVJZX0VORCwgRklMTF9QQVJFTlRfUFJPUEVS
VElFUywgRklMTF9QUk9QRVJUWSkgXAogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvR05VbWFrZWZpbGUuYW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9HTlVtYWtlZmlsZS5hbQkocmV2
aXNpb24gOTkwNTYpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L0dOVW1ha2Vm
aWxlLmFtCSh3b3JraW5nIGNvcHkpCkBAIC00MTAsMTQgKzQxMCwxNyBAQCBpZiBFTkFCTEVfVklE
RU9fVFJBQ0sKIHdlYmtpdGd0a19idWlsdF9oX2FwaSArPSBcCiAJJCh0b3BfYnVpbGRkaXIpL0Rl
cml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01UZXh0VHJhY2suaCBcCiAJJCh0b3BfYnVpbGRk
aXIpL0Rlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01UZXh0VHJhY2tDdWUuaCBcCi0JJCh0
b3BfYnVpbGRkaXIpL0Rlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01UZXh0VHJhY2tDdWVM
aXN0LmgKKwkkKHRvcF9idWlsZGRpcikvRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVRl
eHRUcmFja0N1ZUxpc3QuaCBcCisJJCh0b3BfYnVpbGRkaXIpL0Rlcml2ZWRTb3VyY2VzL3dlYmtp
dC9XZWJLaXRET01UcmFja0V2ZW50LmgKIHdlYmtpdGd0a19nZG9tX2J1aWx0X3NvdXJjZXMgKz0g
XAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01UZXh0VHJhY2suY3BwIFwKIAlEZXJp
dmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NVGV4dFRyYWNrUHJpdmF0ZS5oIFwKIAlEZXJpdmVk
U291cmNlcy93ZWJraXQvV2ViS2l0RE9NVGV4dFRyYWNrQ3VlLmNwcCBcCiAJRGVyaXZlZFNvdXJj
ZXMvd2Via2l0L1dlYktpdERPTVRleHRUcmFja0N1ZVByaXZhdGUuaCBcCiAJRGVyaXZlZFNvdXJj
ZXMvd2Via2l0L1dlYktpdERPTVRleHRUcmFja0N1ZUxpc3QuY3BwIFwKLQlEZXJpdmVkU291cmNl
cy93ZWJraXQvV2ViS2l0RE9NVGV4dFRyYWNrQ3VlTGlzdFByaXZhdGUuaAorCURlcml2ZWRTb3Vy
Y2VzL3dlYmtpdC9XZWJLaXRET01UZXh0VHJhY2tDdWVMaXN0UHJpdmF0ZS5oIFwKKwlEZXJpdmVk
U291cmNlcy93ZWJraXQvV2ViS2l0RE9NVHJhY2tFdmVudC5jcHAgXAorCURlcml2ZWRTb3VyY2Vz
L3dlYmtpdC9XZWJLaXRET01UcmFja0V2ZW50UHJpdmF0ZS5oCiBlbmRpZgogCiBnZG9tX2NsYXNz
X2xpc3QgOj0gJChzdWJzdCBXZWJLaXRET00sLCAkKGZpbHRlci1vdXQgJVByaXZhdGUsICQoYmFz
ZW5hbWUgJChub3RkaXIgJCh3ZWJraXRndGtfZ2RvbV9idWlsdF9zb3VyY2VzKSkpKSkKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0SFRNTEVsZW1lbnRXcmFwcGVy
RmFjdG9yeS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ29iamVj
dC9XZWJLaXRIVE1MRWxlbWVudFdyYXBwZXJGYWN0b3J5LmNwcAkocmV2aXNpb24gOTkwNTYpCisr
KyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdEhUTUxFbGVtZW50V3JhcHBl
ckZhY3RvcnkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNjIsNiArMTYyLDcgQEAKICNpbmNsdWRl
ICJ3ZWJraXQvV2ViS2l0RE9NVGV4dFRyYWNrQ3VlTGlzdFByaXZhdGUuaCIKICNpbmNsdWRlICJ3
ZWJraXQvV2ViS2l0RE9NVGV4dFRyYWNrQ3VlUHJpdmF0ZS5oIgogI2luY2x1ZGUgIndlYmtpdC9X
ZWJLaXRET01UZXh0VHJhY2tQcml2YXRlLmgiCisjaW5jbHVkZSAid2Via2l0L1dlYktpdERPTVRy
YWNrRXZlbnRQcml2YXRlLmgiCiAjZW5kaWYKICAKICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5n
Lmg+CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0JpbmRpbmdzQWxsSW5PbmUu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQmluZGluZ3NB
bGxJbk9uZS5jcHAJKHJldmlzaW9uIDk5MDU2KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNCaW5kaW5nc0FsbEluT25lLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQwLDYgKzE0MCw4
IEBACiAjaW5jbHVkZSAiSlNUZXh0Q3VzdG9tLmNwcCIKICNpbmNsdWRlICJKU1RvdWNoQ3VzdG9t
LmNwcCIKICNpbmNsdWRlICJKU1RvdWNoTGlzdEN1c3RvbS5jcHAiCisjaW5jbHVkZSAiSlNUcmFj
a0N1c3RvbS5jcHAiCisjaW5jbHVkZSAiSlNUcmFja0V2ZW50Q3VzdG9tLmNwcCIKICNpbmNsdWRl
ICJKU1RyZWVXYWxrZXJDdXN0b20uY3BwIgogI2luY2x1ZGUgIkpTVWludDE2QXJyYXlDdXN0b20u
Y3BwIgogI2luY2x1ZGUgIkpTVWludDMyQXJyYXlDdXN0b20uY3BwIgpJbmRleDogU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNEaWN0aW9uYXJ5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RpY3Rpb25hcnkuY3BwCShyZXZpc2lvbiA5OTA1NikKKysr
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGljdGlvbmFyeS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJKU0V2ZW50VGFyZ2V0LmgiCiAjaW5jbHVk
ZSAiSlNNZXNzYWdlUG9ydEN1c3RvbS5oIgogI2luY2x1ZGUgIkpTTm9kZS5oIgorI2luY2x1ZGUg
IkpTVHJhY2tDdXN0b20uaCIKICNpbmNsdWRlICJTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCIKICNp
bmNsdWRlICJTY3JpcHRWYWx1ZS5oIgogCkBAIC0xMjQsNCArMTI1LDExIEBAIHZvaWQgSlNEaWN0
aW9uYXJ5Ojpjb252ZXJ0VmFsdWUoRXhlY1N0YXQKICAgICBmaWxsTWVzc2FnZVBvcnRBcnJheShl
eGVjLCB2YWx1ZSwgcmVzdWx0KTsKIH0KIAorI2lmIEVOQUJMRShWSURFT19UUkFDSykKK3ZvaWQg
SlNEaWN0aW9uYXJ5Ojpjb252ZXJ0VmFsdWUoRXhlY1N0YXRlKiwgSlNWYWx1ZSB2YWx1ZSwgUmVm
UHRyPFRyYWNrQmFzZT4mIHJlc3VsdCkKK3sKKyAgICByZXN1bHQgPSB0b1RyYWNrKHZhbHVlKTsK
K30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0RpY3Rpb25hcnkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0RpY3Rpb25hcnkuaAkocmV2aXNpb24gOTkwNTYpCisrKyBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RpY3Rpb25hcnkuaAkod29ya2luZyBjb3B5KQpAQCAtMzcs
NiArMzcsNyBAQCBjbGFzcyBFdmVudFRhcmdldDsKIGNsYXNzIE5vZGU7CiBjbGFzcyBTY3JpcHRW
YWx1ZTsKIGNsYXNzIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTsKK2NsYXNzIFRyYWNrQmFzZTsKIAog
Y2xhc3MgSlNEaWN0aW9uYXJ5IHsKIHB1YmxpYzoKQEAgLTczLDYgKzc0LDkgQEAgcHJpdmF0ZToK
ICAgICBzdGF0aWMgdm9pZCBjb252ZXJ0VmFsdWUoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTVmFs
dWUsIFJlZlB0cjxFdmVudFRhcmdldD4mIHJlc3VsdCk7CiAgICAgc3RhdGljIHZvaWQgY29udmVy
dFZhbHVlKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU1ZhbHVlLCBSZWZQdHI8Tm9kZT4mIHJlc3Vs
dCk7CiAgICAgc3RhdGljIHZvaWQgY29udmVydFZhbHVlKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpK
U1ZhbHVlLCBNZXNzYWdlUG9ydEFycmF5JiByZXN1bHQpOworI2lmIEVOQUJMRShWSURFT19UUkFD
SykKKyAgICBzdGF0aWMgdm9pZCBjb252ZXJ0VmFsdWUoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpT
VmFsdWUsIFJlZlB0cjxUcmFja0Jhc2U+JiByZXN1bHQpOworI2VuZGlmCiAKICAgICBKU0M6OkV4
ZWNTdGF0ZSogbV9leGVjOwogICAgIEpTQzo6SlNPYmplY3QqIG1faW5pdGlhbGl6ZXJPYmplY3Q7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q29uc3RydWN0b3JzLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q29uc3Ry
dWN0b3JzLmNwcAkocmV2aXNpb24gOTkwNTYpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0V2ZW50Q29uc3RydWN0b3JzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTUsNiArNTUsMTEg
QEAKICNpbmNsdWRlICJXZWJLaXRUcmFuc2l0aW9uRXZlbnQuaCIKICNpbmNsdWRlIDxydW50aW1l
L0Vycm9yLmg+CiAKKyNpZiBFTkFCTEUoVklERU9fVFJBQ0spCisjaW5jbHVkZSAiSlNUcmFja0V2
ZW50LmgiCisjaW5jbHVkZSAiVHJhY2tFdmVudC5oIgorI2VuZGlmCisKIHVzaW5nIG5hbWVzcGFj
ZSBKU0M7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTVHJhY2tDdXN0b20uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTVHJhY2tDdXN0b20uY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNUcmFja0N1c3RvbS5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
ODQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiAKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoVklERU9f
VFJBQ0spCisKKyNpbmNsdWRlICJKU1RyYWNrQ3VzdG9tLmgiCisKKyNpbmNsdWRlICJKU1RleHRU
cmFjay5oIgorCit1c2luZyBuYW1lc3BhY2UgSlNDOworCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K1RyYWNrQmFzZSogdG9UcmFjayhKU1ZhbHVlIHZhbHVlKQoreworICAgIGlmICghdmFsdWUuaXNP
YmplY3QoKSkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBKU09iamVjdCogb2JqZWN0ID0gYXNP
YmplY3QodmFsdWUpOworICAgIGlmIChvYmplY3QtPmluaGVyaXRzKCZKU1RleHRUcmFjazo6c19p
bmZvKSkKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PEpTVGV4dFRyYWNrKj4ob2JqZWN0KS0+
aW1wbCgpOworICAgIAorICAgIC8vIEZJWE1FOiBGaWxsIGluIGFkZGl0aW9uYWwgdGVzdHMgYW5k
IGNhc3RzIGhlcmUgZm9yIFZpZGVvVHJhY2sgYW5kIEF1ZGlvVHJhY2sgd2hlbiAKKyAgICAvLyB0
aGV5IGhhdmUgYmVlbiBhZGRlZCB0byBXZWJDb3JlLgorCisgICAgcmV0dXJuIDA7Cit9CisKK0pT
Qzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBUcmFja0Jhc2UqIHRyYWNrKQoreworICAgIGlmICghdHJhY2spCisgICAg
ICAgIHJldHVybiBqc051bGwoKTsKKyAgICAKKyAgICBKU0RPTVdyYXBwZXIqIHdyYXBwZXIgPSBn
ZXRDYWNoZWRXcmFwcGVyKGN1cnJlbnRXb3JsZChleGVjKSwgdHJhY2spOworICAgIGlmICh3cmFw
cGVyKQorICAgICAgICByZXR1cm4gd3JhcHBlcjsKKyAgICAKKyAgICBzd2l0Y2ggKHRyYWNrLT50
eXBlKCkpIHsKKyAgICBjYXNlIFRyYWNrQmFzZTo6QmFzZVRyYWNrOgorICAgICAgICAvLyBUaGlz
IHNob3VsZCBuZXZlciBoYXBwZW4uCisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAg
ICAgICBicmVhazsKKyAgICAgICAgCisgICAgY2FzZSBUcmFja0Jhc2U6OkF1ZGlvVHJhY2s6Cisg
ICAgY2FzZSBUcmFja0Jhc2U6OlZpZGVvVHJhY2s6CisgICAgICAgIC8vIFRoaXMgc2hvdWxkIG5v
dCBoYXBwZW4gdW50aWwgVmlkZW9UcmFjayBhbmQgQXVkaW9UcmFjayBhcmUgaW1wbGVtZW50ZWQu
CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICBicmVhazsKKworICAgIGNh
c2UgVHJhY2tCYXNlOjpUZXh0VHJhY2s6CisgICAgICAgIHJldHVybiBDUkVBVEVfRE9NX1dSQVBQ
RVIoZXhlYywgZ2xvYmFsT2JqZWN0LCBUZXh0VHJhY2ssIHRyYWNrKTsKKyAgICAgICAgYnJlYWs7
CisgICAgfQorICAgIAorICAgIHJldHVybiBqc051bGwoKTsKK30KKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorCisjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTVHJh
Y2tDdXN0b20uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1Ry
YWNrQ3VzdG9tLmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U1RyYWNrQ3VzdG9tLmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDIgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMu
IGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4g
T1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKwor
I2lmbmRlZiBKU1RyYWNrQ3VzdG9tX2gKKyNkZWZpbmUgSlNUcmFja0N1c3RvbV9oCisKKyNpZiBF
TkFCTEUoVklERU9fVFJBQ0spCisKKyNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKKyNpbmNsdWRl
ICJUcmFja0Jhc2UuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitUcmFja0Jhc2UqIHRvVHJh
Y2soSlNDOjpKU1ZhbHVlKTsKK0pTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiwgSlNE
T01HbG9iYWxPYmplY3QqLCBUcmFja0Jhc2UqKTsKKworfQorCisjZW5kaWYKKyNlbmRpZgpJbmRl
eDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNUcmFja0V2ZW50Q3VzdG9tLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1RyYWNrRXZlbnRDdXN0b20u
Y3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNUcmFja0V2
ZW50Q3VzdG9tLmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1MCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBg
YEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9S
CisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNp
bmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShWSURFT19UUkFDSykKKworI2luY2x1ZGUg
IkpTVHJhY2tFdmVudC5oIgorCisjaW5jbHVkZSAiSlNUcmFja0N1c3RvbS5oIgorI2luY2x1ZGUg
IlRyYWNrQmFzZS5oIgorCit1c2luZyBuYW1lc3BhY2UgSlNDOworCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK0pTVmFsdWUgSlNUcmFja0V2ZW50Ojp0cmFjayhFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0
Cit7CisgICAgVHJhY2tCYXNlKiB0cmFjayA9IHN0YXRpY19jYXN0PFRyYWNrRXZlbnQqPihpbXBs
KCkpLT50cmFjaygpOworICAgIGlmICghdHJhY2spCisgICAgICAgIHJldHVybiBqc051bGwoKTsK
KworICAgIHJldHVybiB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCgpLCB0cmFjayk7Cit9CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9PcHRpb25zT2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9PcHRpb25zT2JqZWN0LmNwcAkocmV2aXNpb24gOTkwNTYpCisrKyBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9PcHRpb25zT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MzcsNiArMzcsMTAgQEAKICNpbmNsdWRlICJWOElEQktleVJhbmdlLmgiCiAjZW5kaWYKIAorI2lm
IEVOQUJMRShWSURFT19UUkFDSykKKyNpbmNsdWRlICJUcmFja0Jhc2UuaCIKKyNlbmRpZgorCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIE9wdGlvbnNPYmplY3Q6Ok9wdGlvbnNPYmplY3QoKQpAQCAt
MjI3LDQgKzIzMSwyNiBAQCBib29sIE9wdGlvbnNPYmplY3Q6OmdldFdpdGhVbmRlZmluZWRPck51
CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKKyNpZiBFTkFCTEUoVklERU9fVFJBQ0spCitib29sIE9w
dGlvbnNPYmplY3Q6OmdldChjb25zdCBTdHJpbmcmIGtleSwgUmVmUHRyPFRyYWNrQmFzZT4mIHZh
bHVlKSBjb25zdAoreworICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHY4VmFsdWU7CisgICAgaWYg
KCFnZXRLZXkoa2V5LCB2OFZhbHVlKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgVHJh
Y2tCYXNlKiBzb3VyY2UgPSAwOworICAgIGlmICh2OFZhbHVlLT5Jc09iamVjdCgpKSB7CisgICAg
ICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcHBlciA9IHY4OjpIYW5kbGU8djg6Ok9iamVj
dD46OkNhc3QodjhWYWx1ZSk7CisKKyAgICAgICAgLy8gRklYTUU6IHRoaXMgd2lsbCBuZWVkIHRv
IGJlIGNoYW5nZWQgc28gaXQgY2FuIGFsc28gcmV0dXJuIGFuIEF1ZGlvVHJhY2sgb3IgYSBWaWRl
b1RyYWNrIG9uY2UKKyAgICAgICAgLy8gd2UgYWRkIHRoZW0uCisgICAgICAgIHY4OjpIYW5kbGU8
djg6Ok9iamVjdD4gdHJhY2sgPSBWOERPTVdyYXBwZXI6Omxvb2t1cERPTVdyYXBwZXIoVjhUZXh0
VHJhY2s6OkdldFRlbXBsYXRlKCksIHdyYXBwZXIpOworICAgICAgICBpZiAoIXRyYWNrLklzRW1w
dHkoKSkKKyAgICAgICAgICAgIHNvdXJjZSA9IFY4VGV4dFRyYWNrOjp0b05hdGl2ZSh0cmFjayk7
CisgICAgfQorICAgIHZhbHVlID0gc291cmNlOworICAgIHJldHVybiB0cnVlOworfQorI2VuZGlm
CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L09wdGlvbnNPYmplY3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9PcHRpb25zT2JqZWN0LmgJKHJldmlzaW9uIDk5MDU2KQorKysgU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvT3B0aW9uc09iamVjdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw2ICszNiw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIERPTVN0cmluZ0xpc3Q7CiBjbGFzcyBET01X
aW5kb3c7CiBjbGFzcyBJREJLZXlSYW5nZTsKK2NsYXNzIFRyYWNrQmFzZTsKIAogY2xhc3MgT3B0
aW9uc09iamVjdCB7CiBwdWJsaWM6CkBAIC01Nyw2ICs1OCw5IEBAIHB1YmxpYzoKICAgICBib29s
IGdldChjb25zdCBTdHJpbmcmLCB1bnNpZ25lZCBsb25nIGxvbmcmKSBjb25zdDsKICAgICBib29s
IGdldChjb25zdCBTdHJpbmcmLCBSZWZQdHI8RE9NV2luZG93PiYpIGNvbnN0OwogICAgIGJvb2wg
Z2V0KGNvbnN0IFN0cmluZyYsIE1lc3NhZ2VQb3J0QXJyYXkmKSBjb25zdDsKKyNpZiBFTkFCTEUo
VklERU9fVFJBQ0spCisgICAgYm9vbCBnZXQoY29uc3QgU3RyaW5nJiBrZXksIFJlZlB0cjxUcmFj
a0Jhc2U+JiB2YWx1ZSkgY29uc3Q7CisjZW5kaWYKIAogICAgIGJvb2wgZ2V0V2l0aFVuZGVmaW5l
ZE9yTnVsbENoZWNrKGNvbnN0IFN0cmluZyYsIFN0cmluZyYpIGNvbnN0OwogCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhFdmVudENvbnN0cnVjdG9ycy5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RXZlbnRDb25z
dHJ1Y3RvcnMuY3BwCShyZXZpc2lvbiA5OTA1NikKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOEV2ZW50Q29uc3RydWN0b3JzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjcs
NiArNjcsMTEgQEAKICNpbmNsdWRlICJWOFdlYktpdEFuaW1hdGlvbkV2ZW50LmgiCiAjaW5jbHVk
ZSAiVjhXZWJLaXRUcmFuc2l0aW9uRXZlbnQuaCIKIAorI2lmIEVOQUJMRShWSURFT19UUkFDSykK
KyNpbmNsdWRlICJUcmFja0V2ZW50LmgiCisjaW5jbHVkZSAiVjhUcmFja0V2ZW50LmgiCisjZW5k
aWYKKwogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAt
MTMyLDYgKzEzNyw2IEBAIElOU1RBTlRJQVRFX0lOSVRJQUxJWklOR19DT05TVFJVQ1RPUl9GT1IK
IElOU1RBTlRJQVRFX0lOSVRJQUxJWklOR19DT05TVFJVQ1RPUl9GT1JfQkVGT1JFX0xPQURfRVZF
TlQoRElDVElPTkFSWV9TVEFSVCwgRElDVElPTkFSWV9FTkQsIEZJTExfUEFSRU5UX1BST1BFUlRJ
RVMsIEZJTExfUFJPUEVSVFkpCiBJTlNUQU5USUFURV9JTklUSUFMSVpJTkdfQ09OU1RSVUNUT1Jf
Rk9SX09WRVJGTE9XX0VWRU5UKERJQ1RJT05BUllfU1RBUlQsIERJQ1RJT05BUllfRU5ELCBGSUxM
X1BBUkVOVF9QUk9QRVJUSUVTLCBGSUxMX1BST1BFUlRZKQogSU5TVEFOVElBVEVfSU5JVElBTEla
SU5HX0NPTlNUUlVDVE9SX0ZPUl9NRVNTQUdFX0VWRU5UKERJQ1RJT05BUllfU1RBUlQsIERJQ1RJ
T05BUllfRU5ELCBGSUxMX1BBUkVOVF9QUk9QRVJUSUVTLCBGSUxMX1BST1BFUlRZKQotCitJTlNU
QU5USUFURV9JTklUSUFMSVpJTkdfQ09OU1RSVUNUT1JfRk9SX1RSQUNLX0VWRU5UKERJQ1RJT05B
UllfU1RBUlQsIERJQ1RJT05BUllfRU5ELCBGSUxMX1BBUkVOVF9QUk9QRVJUSUVTLCBGSUxMX1BS
T1BFUlRZKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhUcmFja0V2ZW50Q3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhUcmFja0V2ZW50Q3VzdG9tLmNwcAko
cmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFRyYWNr
RXZlbnRDdXN0b20uY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDc1IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1
dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBu
YW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwK
KyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNv
bmZpZy5oIgorCisjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQorCisjaW5jbHVkZSAiVjhUcmFja0V2
ZW50LmgiCisKKyNpbmNsdWRlICJUcmFja0Jhc2UuaCIKKyNpbmNsdWRlICJUcmFja0V2ZW50Lmgi
CisjaW5jbHVkZSAiVjhQcm94eS5oIgorI2luY2x1ZGUgIlY4VGV4dFRyYWNrLmgiCisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKwordjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4VHJhY2tFdmVudDo6dHJh
Y2tBY2Nlc3NvckdldHRlcih2ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtZSwgY29uc3Qgdjg6OkFj
Y2Vzc29ySW5mbyYgaW5mbykKK3sKKyAgICBJTkNfU1RBVFMoIkRPTS5UcmFja0V2ZW50LnRyYWNr
Iik7CisgICAgVHJhY2tFdmVudCogdHJhY2tfZXZlbnQgPSBWOFRyYWNrRXZlbnQ6OnRvTmF0aXZl
KGluZm8uSG9sZGVyKCkpOworICAgIFRyYWNrQmFzZSogdHJhY2sgPSB0cmFja19ldmVudC0+dHJh
Y2soKTsKKyAgICAKKyAgICBpZiAoIXRyYWNrKQorICAgICAgICByZXR1cm4gdjg6Ok51bGwoKTsK
KworICAgIHN3aXRjaCAodHJhY2stPnR5cGUoKSkgeworICAgIGNhc2UgVHJhY2tCYXNlOjpCYXNl
VHJhY2s6CisgICAgICAgIC8vIFRoaXMgc2hvdWxkIG5ldmVyIGhhcHBlbi4KKyAgICAgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIGJyZWFrOworICAgICAgICAKKyAgICBjYXNlIFRy
YWNrQmFzZTo6VGV4dFRyYWNrOgorICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxUZXh0
VHJhY2sqPih0cmFjaykpOworICAgICAgICBicmVhazsKKworICAgIGNhc2UgVHJhY2tCYXNlOjpB
dWRpb1RyYWNrOgorICAgIGNhc2UgVHJhY2tCYXNlOjpWaWRlb1RyYWNrOgorICAgICAgICAvLyBU
aGlzIHNob3VsZCBub3QgaGFwcGVuIHVudGlsIFZpZGVvVHJhY2sgYW5kIEF1ZGlvVHJhY2sgYXJl
IGltcGxlbWVudGVkLgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgYnJl
YWs7CisgICAgfQorCisgICAgcmV0dXJuIHY4OjpOdWxsKCk7Cit9CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKKworI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRGYWN0b3J5
LmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudEZhY3RvcnkuaW4JKHJl
dmlzaW9uIDk5MDU2KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RmFjdG9yeS5pbgkod29y
a2luZyBjb3B5KQpAQCAtNDEsMyArNDEsNSBAQCBUb3VjaEV2ZW50IGNvbmRpdGlvbmFsPVRPVUNI
X0VWRU5UUwogRGV2aWNlTW90aW9uRXZlbnQgY29uZGl0aW9uYWw9REVWSUNFX09SSUVOVEFUSU9O
CiBEZXZpY2VPcmllbnRhdGlvbkV2ZW50IGNvbmRpdGlvbmFsPURFVklDRV9PUklFTlRBVElPTgog
T3JpZW50YXRpb25FdmVudCBpbnRlcmZhY2VOYW1lPUV2ZW50LCBjb25kaXRpb25hbD1PUklFTlRB
VElPTl9FVkVOVFMKK1RyYWNrRXZlbnQgY29uZGl0aW9uYWw9VklERU9fVFJBQ0sKKwpJbmRleDog
U291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9kb20vRXZlbnROYW1lcy5oCShyZXZpc2lvbiA5OTA1NikKKysrIFNvdXJjZS9XZWJDb3Jl
L2RvbS9FdmVudE5hbWVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTE0NSw2ICsxNDUsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8odm9sdW1lY2hhbmdlKSBcCiAgICAgbWFjcm8od2Fp
dGluZykgXAogICAgIFwKKyAgICBtYWNybyhhZGR0cmFjaykgXAorICAgIFwKICAgICBtYWNybyh3
ZWJraXRiZWdpbmZ1bGxzY3JlZW4pIFwKICAgICBtYWNybyh3ZWJraXRlbmRmdWxsc2NyZWVuKSBc
CiAgICAgXApJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9UZXh0VHJhY2suY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvVGV4dFRyYWNrLmNwcAkocmV2aXNpb24gOTkwNTYp
CisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL1RleHRUcmFjay5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTM1LDExICszNSwxMyBAQAogI2luY2x1ZGUgIlRleHRUcmFjay5oIgogCiAjaW5jbHVkZSAiVGV4
dFRyYWNrQ3VlTGlzdC5oIgorI2luY2x1ZGUgIlRyYWNrQmFzZS5oIgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIFRleHRUcmFjazo6VGV4dFRyYWNrKFRleHRUcmFja0NsaWVudCogY2xpZW50LCBj
b25zdCBTdHJpbmcmIGtpbmQsIGNvbnN0IFN0cmluZyYgbGFiZWwsIGNvbnN0IFN0cmluZyYgbGFu
Z3VhZ2UpCi0gICAgOiBtX2tpbmQoa2luZCkKKyAgICA6IFRyYWNrQmFzZShUcmFja0Jhc2U6OlRl
eHRUcmFjaykKKyAgICAsIG1fa2luZChraW5kKQogICAgICwgbV9sYWJlbChsYWJlbCkKICAgICAs
IG1fbGFuZ3VhZ2UobGFuZ3VhZ2UpCiAgICAgLCBtX3JlYWR5U3RhdGUoVGV4dFRyYWNrOjpOT05F
KQpAQCAtMTMyLDcgKzEzNCw2IEBAIHZvaWQgVGV4dFRyYWNrOjpmZXRjaE5ld2VzdEN1ZXMoVmVj
dG9yPFQKICAgICAvLyBGSVhNRSg2Mjg5MCk6IEltcGxlbWVudC4KIH0KIAotCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCiAKICNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9UZXh0VHJh
Y2suaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL1RleHRUcmFjay5oCShyZXZp
c2lvbiA5OTA1NikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvVGV4dFRyYWNrLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTI5LDYgKzI5LDcgQEAKICNpZiBFTkFCTEUoVklERU9fVFJBQ0spCiAKICNpbmNs
dWRlICJFeGNlcHRpb25Db2RlLmgiCisjaW5jbHVkZSAiVHJhY2tCYXNlLmgiCiAjaW5jbHVkZSA8
d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUg
PHd0Zi90ZXh0L1dURlN0cmluZy5oPgpAQCAtNTEsNyArNTIsNyBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCB2b2lkIHRleHRUcmFja1JlbW92ZUN1ZShUZXh0VHJhY2sqLCBQYXNzUmVmUHRyPFRleHRU
cmFja0N1ZT4pID0gMDsKIH07CiAKLWNsYXNzIFRleHRUcmFjayA6IHB1YmxpYyBSZWZDb3VudGVk
PFRleHRUcmFjaz4geworY2xhc3MgVGV4dFRyYWNrIDogcHVibGljIFRyYWNrQmFzZSB7CiBwdWJs
aWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8VGV4dFRyYWNrPiBjcmVhdGUoVGV4dFRyYWNrQ2xp
ZW50KiBjbGllbnQsIGNvbnN0IFN0cmluZyYga2luZCwgY29uc3QgU3RyaW5nJiBsYWJlbCwgY29u
c3QgU3RyaW5nJiBsYW5ndWFnZSkKICAgICB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL3Ry
YWNrL1RyYWNrQmFzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC90cmFj
ay9UcmFja0Jhc2UuY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC90cmFj
ay9UcmFja0Jhc2UuY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQ1IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMu
IE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJUcmFja0Jhc2UuaCIKKworI2lmIEVOQUJM
RShWSURFT19UUkFDSykKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitUcmFja0Jhc2U6OlRyYWNr
QmFzZShUeXBlIHR5cGUpCit7CisgICAgQVNTRVJUKHR5cGUgIT0gQmFzZVRyYWNrKTsKKyAgICBt
X3R5cGUgPSB0eXBlOworfQorCitUcmFja0Jhc2U6On5UcmFja0Jhc2UoKQoreworfQorCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC90
cmFjay9UcmFja0Jhc2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNr
L1RyYWNrQmFzZS5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9U
cmFja0Jhc2UuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1MiBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMSBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWZu
ZGVmIFRyYWNrQmFzZV9oCisjZGVmaW5lIFRyYWNrQmFzZV9oCisKKyNpZiBFTkFCTEUoVklERU9f
VFJBQ0spCisKKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK2NsYXNzIFRyYWNrQmFzZSA6IHB1YmxpYyBSZWZDb3VudGVkPFRyYWNrQmFzZT4gewor
cHVibGljOgorICAgIHZpcnR1YWwgflRyYWNrQmFzZSgpOworCisgICAgZW51bSBUeXBlIHsgQmFz
ZVRyYWNrLCBUZXh0VHJhY2ssIEF1ZGlvVHJhY2ssIFZpZGVvVHJhY2sgfTsKKyAgICBUeXBlIHR5
cGUoKSBjb25zdCB7IHJldHVybiBtX3R5cGU7IH0KKworcHJvdGVjdGVkOgorICAgIFRyYWNrQmFz
ZShUeXBlKTsKKworcHJpdmF0ZToKKyAgICBUeXBlIG1fdHlwZTsKK307CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKworI2VuZGlmCisjZW5kaWYgLy8gVHJhY2tCYXNlX2gKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2h0bWwvdHJhY2svVHJhY2tFdmVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvaHRtbC90cmFjay9UcmFja0V2ZW50LmNwcAkocmV2aXNpb24gMCkKKysrIFNvdXJj
ZS9XZWJDb3JlL2h0bWwvdHJhY2svVHJhY2tFdmVudC5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsNjIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKFZJ
REVPX1RSQUNLKQorCisjaW5jbHVkZSAiVHJhY2tFdmVudC5oIgorCisjaW5jbHVkZSAiRXZlbnRO
YW1lcy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1RyYWNrRXZlbnRJbml0OjpUcmFja0V2
ZW50SW5pdCgpCit7Cit9CisKKworVHJhY2tFdmVudDo6VHJhY2tFdmVudCgpCit7Cit9CisKK1Ry
YWNrRXZlbnQ6OlRyYWNrRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBUcmFj
a0V2ZW50SW5pdCYgaW5pdGlhbGl6ZXIpCisgICAgOiBFdmVudCh0eXBlLCBpbml0aWFsaXplcikK
KyAgICAsIG1fdHJhY2soaW5pdGlhbGl6ZXIudHJhY2spCit7Cit9CisKK1RyYWNrRXZlbnQ6On5U
cmFja0V2ZW50KCkKK3sKK30KKworY29uc3QgQXRvbWljU3RyaW5nJiBUcmFja0V2ZW50OjppbnRl
cmZhY2VOYW1lKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZXZlbnROYW1lcygpLmludGVyZmFjZUZv
clRyYWNrRXZlbnQ7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RyYWNrRXZlbnQuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RyYWNrRXZlbnQuaAkocmV2aXNpb24gMCkKKysrIFNv
dXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVHJhY2tFdmVudC5oCShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDcyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYgVHJhY2tFdmVudF9oCisjZGVmaW5lIFRyYWNr
RXZlbnRfaAorCisjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQorCisjaW5jbHVkZSAiRXZlbnQuaCIK
KyNpbmNsdWRlICJUcmFja0Jhc2UuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3Qg
VHJhY2tFdmVudEluaXQgOiBwdWJsaWMgRXZlbnRJbml0IHsKKyAgICBUcmFja0V2ZW50SW5pdCgp
OworCisgICAgUmVmUHRyPFRyYWNrQmFzZT4gdHJhY2s7Cit9OworCitjbGFzcyBUcmFja0V2ZW50
IDogcHVibGljIEV2ZW50IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5UcmFja0V2ZW50KCk7CisK
KyAgICBzdGF0aWMgUGFzc1JlZlB0cjxUcmFja0V2ZW50PiBjcmVhdGUoKQorICAgIHsKKyAgICAg
ICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBUcmFja0V2ZW50KTsKKyAgICB9CisKKyAgICBzdGF0aWMg
UGFzc1JlZlB0cjxUcmFja0V2ZW50PiBjcmVhdGUoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBj
b25zdCBUcmFja0V2ZW50SW5pdCYgaW5pdGlhbGl6ZXIpCisgICAgeworICAgICAgICByZXR1cm4g
YWRvcHRSZWYobmV3IFRyYWNrRXZlbnQodHlwZSwgaW5pdGlhbGl6ZXIpKTsKKyAgICB9CisKKyAg
ICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgaW50ZXJmYWNlTmFtZSgpIGNvbnN0OworCisg
ICAgVHJhY2tCYXNlKiB0cmFjaygpIGNvbnN0IHsgcmV0dXJuIG1fdHJhY2suZ2V0KCk7IH0KKwor
cHJpdmF0ZToKKyAgICBUcmFja0V2ZW50KCk7CisgICAgVHJhY2tFdmVudChjb25zdCBBdG9taWNT
dHJpbmcmIHR5cGUsIGNvbnN0IFRyYWNrRXZlbnRJbml0JiBpbml0aWFsaXplcik7CisKKyAgICB2
aXJ0dWFsIGJvb2wgaXNUcmFja0V2ZW50KCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQorCisgICAg
UmVmUHRyPFRyYWNrQmFzZT4gbV90cmFjazsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
KworI2VuZGlmCisjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVHJhY2tF
dmVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UcmFja0V2
ZW50LmlkbAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVHJhY2tF
dmVudC5pZGwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTEgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMg
SVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
CisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworbW9kdWxl
IGh0bWwgeworCisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0aW9uYWw9VklERU9fVFJB
Q0ssCisgICAgICAgIEVuYWJsZWRBdFJ1bnRpbWU9d2Via2l0VmlkZW9UcmFjaywKKyAgICAgICAg
Q2FuQmVDb25zdHJ1Y3RlZCwKKyAgICAgICAgSlNDdXN0b21Db25zdHJ1Y3RvciwKKyAgICBdIFRy
YWNrRXZlbnQgOiBFdmVudCB7CisKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtDdXN0b21H
ZXR0ZXJdIG9iamVjdCB0cmFjazsKKworICAgIH07CisKK30KSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3BhZ2UvRE9NV2luZG93LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0RP
TVdpbmRvdy5pZGwJKHJldmlzaW9uIDk5MDU2KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9ET01X
aW5kb3cuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC02MTMsNiArNjEzLDcgQEAgbW9kdWxlIHdpbmRv
dyB7CiAgICAgICAgIGF0dHJpYnV0ZSBbRW5hYmxlZEF0UnVudGltZT13ZWJraXRWaWRlb1RyYWNr
XSBUZXh0VHJhY2tDb25zdHJ1Y3RvciBUZXh0VHJhY2s7CiAgICAgICAgIGF0dHJpYnV0ZSBbRW5h
YmxlZEF0UnVudGltZT13ZWJraXRWaWRlb1RyYWNrXSBUZXh0VHJhY2tDdWVDb25zdHJ1Y3RvciBU
ZXh0VHJhY2tDdWU7IC8vIFVzYWJsZSB3aXRoIHRoZSBuZXcgb3BlcmF0b3IKICAgICAgICAgYXR0
cmlidXRlIFtFbmFibGVkQXRSdW50aW1lPXdlYmtpdFZpZGVvVHJhY2tdIFRleHRUcmFja0N1ZUxp
c3RDb25zdHJ1Y3RvciBUZXh0VHJhY2tDdWVMaXN0OworICAgICAgICBhdHRyaWJ1dGUgW0VuYWJs
ZWRBdFJ1bnRpbWU9d2Via2l0VmlkZW9UcmFja10gVHJhY2tFdmVudENvbnN0cnVjdG9yIFRyYWNr
RXZlbnQ7CiAjZW5kaWYKIAogICAgICAgICBhdHRyaWJ1dGUgRE9NUGx1Z2luQ29uc3RydWN0b3Ig
UGx1Z2luOwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gOTkwNTYpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOCBAQAorMjAxMS0xMS0wMiAgRXJpYyBDYXJs
c29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgVHJhY2tFdmVudAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNzgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvZXZl
bnRzL2NvbnN0cnVjdG9ycy90cmFjay1ldmVudC1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy90cmFjay1ldmVudC1jb25z
dHJ1Y3Rvci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4
cGVjdGF0aW9ucy50eHQ6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL2Zhc3QvZG9tL1dpbmRvdy93
aW5kb3ctcHJvcGVydGllcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL2Zh
c3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZv
cm0vbWFjL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vd2luL1NraXBwZWQ6CisKIDIwMTEt
MTEtMDIgIEFuZHJleSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4KIAogICAgICAgICBV
bnJldmlld2VkLiBBbm90aGVyIHJlYmFzZWxpbmUgb2YgbWVkaWEvbWVkaWEtZG9jdW1lbnQtYXVk
aW8tcmVwYWludC5odG1sCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9jb25zdHJ1Y3Rv
cnMvdHJhY2stZXZlbnQtY29uc3RydWN0b3ItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy90cmFjay1ldmVudC1jb25zdHJ1Y3Rv
ci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9j
b25zdHJ1Y3RvcnMvdHJhY2stZXZlbnQtY29uc3RydWN0b3ItZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDM5IEBACitUaGlzIHRlc3RzIHRoZSBjb25zdHJ1Y3RvciBmb3IgdGhl
IFRyYWNrRXZlbnQgRE9NIGNsYXNzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKwor
CisqKiogTm8gaW5pdGlhbGl6ZXIgcGFzc2VkICoqKgorUEFTUyBuZXcgVHJhY2tFdmVudCgnVHJh
Y2tFdmVudCcpLmJ1YmJsZXMgaXMgZmFsc2UKK1BBU1MgbmV3IFRyYWNrRXZlbnQoJ1RyYWNrRXZl
bnQnKS5jYW5jZWxhYmxlIGlzIGZhbHNlCitQQVNTIG5ldyBUcmFja0V2ZW50KCdUcmFja0V2ZW50
JykudHJhY2sgaXMgbnVsbAorCisqKiogQnViYmxlcyBhbmQgY2FuY2VsYWJsZSB0cnVlLCB0cmFj
ayBpcyBtaXNzaW5nICoqKgorUEFTUyBuZXcgVHJhY2tFdmVudCgnVHJhY2tFdmVudCcsIHsgYnVi
YmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSB9KS5idWJibGVzIGlzIHRydWUKK1BBU1MgbmV3
IFRyYWNrRXZlbnQoJ1RyYWNrRXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRy
dWUgfSkuY2FuY2VsYWJsZSBpcyB0cnVlCitQQVNTIG5ldyBUcmFja0V2ZW50KCdUcmFja0V2ZW50
JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlIH0pLnRyYWNrIGlzIG51bGwKKwor
KioqIEJ1YmJsZXMgYW5kIGNhbmNlbGFibGUgdHJ1ZSwgaW52YWxpZCB0cmFjayAqKioKK1BBU1Mg
bmV3IFRyYWNrRXZlbnQoJ1RyYWNrRXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6
IHRydWUsIHRyYWNrOiBIVE1MVHJhY2tFbGVtZW50IH0pLmJ1YmJsZXMgaXMgdHJ1ZQorUEFTUyBu
ZXcgVHJhY2tFdmVudCgnVHJhY2tFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTog
dHJ1ZSwgdHJhY2s6IEhUTUxUcmFja0VsZW1lbnQgfSkuY2FuY2VsYWJsZSBpcyB0cnVlCitQQVNT
IG5ldyBUcmFja0V2ZW50KCdUcmFja0V2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxl
OiB0cnVlLCB0cmFjazogSFRNTFRyYWNrRWxlbWVudCB9KS50cmFjayBpcyBudWxsCisKKyoqKiBJ
bml0aWFsaXplICd0cmFjaycgd2l0aCBhIGludmFsaWQgdmFsdWVzICoqKgorUEFTUyBuZXcgVHJh
Y2tFdmVudCgnVHJhY2tFdmVudCcsIHsgdHJhY2s6IDEwIH0pLnRyYWNrIGlzIG51bGwKK1BBU1Mg
bmV3IFRyYWNrRXZlbnQoJ1RyYWNrRXZlbnQnLCB7IHRyYWNrOiAnc3RyaW5nJyB9KS50cmFjayBp
cyBudWxsCitQQVNTIG5ldyBUcmFja0V2ZW50KCdUcmFja0V2ZW50JywgeyB0cmFjazogZW1wdHlP
YmplY3QgfSkudHJhY2sgaXMgbnVsbAorUEFTUyBuZXcgVHJhY2tFdmVudCgnVHJhY2tFdmVudCcs
IHsgdHJhY2s6IGRvY3VtZW50IH0pLnRyYWNrIGlzIG51bGwKKworKioqIEJ1YmJsZXMgYW5kIGNh
bmNlbGFibGUgdHJ1ZSwgdmFsaWQgdHJhY2sgKioqCitQQVNTIG5ldyBUcmFja0V2ZW50KCdUcmFj
a0V2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCB0cmFjazogSFRNTFRy
YWNrRWxlbWVudCB9KS5idWJibGVzIGlzIHRydWUKK1BBU1MgbmV3IFRyYWNrRXZlbnQoJ1RyYWNr
RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIHRyYWNrOiBIVE1MVHJh
Y2tFbGVtZW50IH0pLmNhbmNlbGFibGUgaXMgdHJ1ZQorUEFTUyBuZXcgVHJhY2tFdmVudCgnVHJh
Y2tFdmVudCcsIHsgdHJhY2s6IHRyYWNrRWxlbWVudC50cmFjayB9KS50cmFjayBpcyB0cmFja0Vs
ZW1lbnQudHJhY2sKKworKioqIEluaXRpYWxpemUgJ3RyYWNrJyB3aXRoIHZhbGlkIHRyYWNrIG9i
amVjdCAqKioKK1BBU1MgbmV3IFRyYWNrRXZlbnQoJ1RyYWNrRXZlbnQnLCB7IHRyYWNrOiB0cmFj
a0VsZW1lbnQudHJhY2sgfSkudHJhY2sgaXMgdHJhY2tFbGVtZW50LnRyYWNrCisKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRU
ZXN0cy9mYXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMvdHJhY2stZXZlbnQtY29uc3RydWN0b3IuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMvdHJh
Y2stZXZlbnQtY29uc3RydWN0b3IuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zh
c3QvZXZlbnRzL2NvbnN0cnVjdG9ycy90cmFjay1ldmVudC1jb25zdHJ1Y3Rvci5odG1sCShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5PgorICAgIDxzY3JpcHQ+CisKKyAgICAgICAgd2luZG93
LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Rz
IHRoZSBjb25zdHJ1Y3RvciBmb3IgdGhlIFRyYWNrRXZlbnQgRE9NIGNsYXNzLiIpOworCisgICAg
ICAgIGZ1bmN0aW9uIHRlc3QoKQorICAgICAgICB7CisgICAgICAgICAgICAvLyBNYWtlIHN1cmUg
dGhlIHRyYWNrIGFjdHVhbGx5IGxvYWRlZC4KKyAgICAgICAgICAgIHNob3VsZEJlKCJ0cmFja0Vs
ZW1lbnQudHJhY2sucmVhZHlTdGF0ZSIsICJUZXh0VHJhY2suTG9hZGVkIiwgdHJ1ZSk7CisKKyAg
ICAgICAgICAgIGRlYnVnKCI8YnI+KioqIE5vIGluaXRpYWxpemVyIHBhc3NlZCAqKioiKTsKKyAg
ICAgICAgICAgIHNob3VsZEJlKCJuZXcgVHJhY2tFdmVudCgnVHJhY2tFdmVudCcpLmJ1YmJsZXMi
LCAiZmFsc2UiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJuZXcgVHJhY2tFdmVudCgnVHJhY2tF
dmVudCcpLmNhbmNlbGFibGUiLCAiZmFsc2UiKTsKKyAgICAgICAgICAgIHNob3VsZEJlTnVsbCgi
bmV3IFRyYWNrRXZlbnQoJ1RyYWNrRXZlbnQnKS50cmFjayIpOworICAgIAorICAgICAgICAgICAg
ZGVidWcoIjxicj4qKiogQnViYmxlcyBhbmQgY2FuY2VsYWJsZSB0cnVlLCB0cmFjayBpcyBtaXNz
aW5nICoqKiIpOworICAgICAgICAgICAgc2hvdWxkQmUoIm5ldyBUcmFja0V2ZW50KCdUcmFja0V2
ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlIH0pLmJ1YmJsZXMiLCAidHJ1
ZSIpOworICAgICAgICAgICAgc2hvdWxkQmUoIm5ldyBUcmFja0V2ZW50KCdUcmFja0V2ZW50Jywg
eyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlIH0pLmNhbmNlbGFibGUiLCAidHJ1ZSIp
OworICAgICAgICAgICAgc2hvdWxkQmVOdWxsKCJuZXcgVHJhY2tFdmVudCgnVHJhY2tFdmVudCcs
IHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSB9KS50cmFjayIpOworICAgIAorICAg
ICAgICAgICAgZGVidWcoIjxicj4qKiogQnViYmxlcyBhbmQgY2FuY2VsYWJsZSB0cnVlLCBpbnZh
bGlkIHRyYWNrICoqKiIpOworICAgICAgICAgICAgc2hvdWxkQmUoIm5ldyBUcmFja0V2ZW50KCdU
cmFja0V2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCB0cmFjazogSFRN
TFRyYWNrRWxlbWVudCB9KS5idWJibGVzIiwgInRydWUiKTsKKyAgICAgICAgICAgIHNob3VsZEJl
KCJuZXcgVHJhY2tFdmVudCgnVHJhY2tFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJs
ZTogdHJ1ZSwgdHJhY2s6IEhUTUxUcmFja0VsZW1lbnQgfSkuY2FuY2VsYWJsZSIsICJ0cnVlIik7
CisgICAgICAgICAgICBzaG91bGRCZU51bGwoIm5ldyBUcmFja0V2ZW50KCdUcmFja0V2ZW50Jywg
eyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCB0cmFjazogSFRNTFRyYWNrRWxlbWVu
dCB9KS50cmFjayIpOworICAgIAorICAgICAgICAgICAgZGVidWcoIjxicj4qKiogSW5pdGlhbGl6
ZSAndHJhY2snIHdpdGggYSBpbnZhbGlkIHZhbHVlcyAqKioiKTsKKyAgICAgICAgICAgIHNob3Vs
ZEJlTnVsbCgibmV3IFRyYWNrRXZlbnQoJ1RyYWNrRXZlbnQnLCB7IHRyYWNrOiAxMCB9KS50cmFj
ayIpOworICAgICAgICAgICAgc2hvdWxkQmVOdWxsKCJuZXcgVHJhY2tFdmVudCgnVHJhY2tFdmVu
dCcsIHsgdHJhY2s6IFwnc3RyaW5nXCcgfSkudHJhY2siKTsKKyAgICAgICAgICAgIGVtcHR5T2Jq
ZWN0ID0geyB9OworICAgICAgICAgICAgc2hvdWxkQmVOdWxsKCJuZXcgVHJhY2tFdmVudCgnVHJh
Y2tFdmVudCcsIHsgdHJhY2s6IGVtcHR5T2JqZWN0IH0pLnRyYWNrIik7CisgICAgICAgICAgICBz
aG91bGRCZU51bGwoIm5ldyBUcmFja0V2ZW50KCdUcmFja0V2ZW50JywgeyB0cmFjazogZG9jdW1l
bnQgfSkudHJhY2siKTsKKworICAgICAgICAgICAgZGVidWcoIjxicj4qKiogQnViYmxlcyBhbmQg
Y2FuY2VsYWJsZSB0cnVlLCB2YWxpZCB0cmFjayAqKioiKTsKKyAgICAgICAgICAgIHNob3VsZEJl
KCJuZXcgVHJhY2tFdmVudCgnVHJhY2tFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJs
ZTogdHJ1ZSwgdHJhY2s6IEhUTUxUcmFja0VsZW1lbnQgfSkuYnViYmxlcyIsICJ0cnVlIik7Cisg
ICAgICAgICAgICBzaG91bGRCZSgibmV3IFRyYWNrRXZlbnQoJ1RyYWNrRXZlbnQnLCB7IGJ1YmJs
ZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIHRyYWNrOiBIVE1MVHJhY2tFbGVtZW50IH0pLmNh
bmNlbGFibGUiLCAidHJ1ZSIpOworICAgICAgICAgICAgc2hvdWxkQmUoIm5ldyBUcmFja0V2ZW50
KCdUcmFja0V2ZW50JywgeyB0cmFjazogdHJhY2tFbGVtZW50LnRyYWNrIH0pLnRyYWNrIiwgInRy
YWNrRWxlbWVudC50cmFjayIpOworCisgICAgICAgICAgICBkZWJ1ZygiPGJyPioqKiBJbml0aWFs
aXplICd0cmFjaycgd2l0aCB2YWxpZCB0cmFjayBvYmplY3QgKioqIik7CisgICAgICAgICAgICBz
aG91bGRCZSgibmV3IFRyYWNrRXZlbnQoJ1RyYWNrRXZlbnQnLCB7IHRyYWNrOiB0cmFja0VsZW1l
bnQudHJhY2sgfSkudHJhY2siLCAidHJhY2tFbGVtZW50LnRyYWNrIik7CisKKyAgICAgICAgICAg
IGRlYnVnKCIiKTsKKyAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICB9CisKKyAg
ICAgICAgdmlkZW8gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd2aWRlbycpOworICAgICAgICBk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHZpZGVvKTsKKworICAgICAgICB0cmFja0VsZW1lbnQg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cmFjaycpOworICAgICAgICB2aWRlby5hcHBlbmRD
aGlsZCh0cmFja0VsZW1lbnQpOworICAgICAgICB0cmFja0VsZW1lbnQuYWRkRXZlbnRMaXN0ZW5l
cignbG9hZCcsIHRlc3QpOworICAgICAgICB0cmFja0VsZW1lbnQuc3JjPSdkYXRhOnRleHQvdnR0
LFdFQlZUVCBGSUxFIFxyXHIxXHIwMDowMDowMC4wMDAgLS0+IDAwOjAwOjMwLjUwMFxyb25seSBv
bmUgY2FwdGlvbic7CisKKyAgICA8L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vanMv
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisKKzwvYm9keT4KKzwvaHRtbD4K
SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVj
dGF0aW9ucy50eHQJKHJldmlzaW9uIDk5MDU2KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xMTEsNiArMTEx
LDcgQEAgQlVHV0s0MzY2OCBTS0lQIDogbWVkaWEvdHJhY2svdHJhY2std2VidgogQlVHV0s0MzY2
OCBTS0lQIDogbWVkaWEvdHJhY2svdHJhY2std2VidnR0LXRjMDI2LXZvaWNlLmh0bWwgPSBUSU1F
T1VUCiBCVUdXSzQzNjY4IFNLSVAgOiBtZWRpYS90cmFjay90cmFjay13ZWJ2dHQtdGMwMjctZW1w
dHktY3VlLmh0bWwgPSBUSU1FT1VUCiBCVUdXSzQzNjY4IFNLSVAgOiBtZWRpYS90cmFjay90cmFj
ay13ZWJ2dHQtdGMwMjgtdW5zdXBwb3J0ZWQtbWFya3VwLmh0bWwgPSBUSU1FT1VUCitCVUdXSzQz
NjY4IFNLSVAgOiBmYXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMvdHJhY2stZXZlbnQtY29uc3RydWN0
b3IuaHRtbCA9IFRJTUVPVVQKIAogLy8gVGVzdHMgZm9yIE1lZGlhU291cmNlIEFQSS4gRmVhdHVy
ZSBpcyBub3QgeWV0IGZ1bmN0aW9uYWwuCiBCVUdXSzY0NzMxIFNLSVAgOiBodHRwL3Rlc3RzL21l
ZGlhL21lZGlhLXNvdXJjZS8gPSBUSU1FT1VUCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9n
dGsvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvZmFzdC9kb20vV2luZG93L3dpbmRvdy1w
cm9wZXJ0aWVzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gOTkwNTYpCisrKyBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9ndGsvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMjEzNyw2ICsyMTM3LDggQEAgd2luZG93LlRpbWVSYW5nZXMg
W29iamVjdCBUaW1lUmFuZ2VzQ29ucwogd2luZG93LlRpbWVSYW5nZXMucHJvdG90eXBlIFtvYmpl
Y3QgVGltZVJhbmdlc1Byb3RvdHlwZV0KIHdpbmRvdy5UaW1lUmFuZ2VzLnByb3RvdHlwZS5lbmQg
W2Z1bmN0aW9uXQogd2luZG93LlRpbWVSYW5nZXMucHJvdG90eXBlLnN0YXJ0IFtmdW5jdGlvbl0K
K3dpbmRvdy5UcmFja0V2ZW50IFtvYmplY3QgVHJhY2tFdmVudENvbnN0cnVjdG9yXQord2luZG93
LlRyYWNrRXZlbnQucHJvdG90eXBlIFtwcmludGVkIGFib3ZlIGFzIHdpbmRvdy5FdmVudC5wcm90
b3R5cGVdCiB3aW5kb3cuVHlwZUVycm9yIFtmdW5jdGlvbl0KIHdpbmRvdy5VSUV2ZW50IFtvYmpl
Y3QgVUlFdmVudENvbnN0cnVjdG9yXQogd2luZG93LlVJRXZlbnQucHJvdG90eXBlIFtwcmludGVk
IGFib3ZlIGFzIHdpbmRvdy5FdmVudC5wcm90b3R5cGVdCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9ndGsvZmFzdC9qcy9nbG9iYWwtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvZmFzdC9qcy9nbG9iYWwtY29uc3RydWN0
b3JzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gOTkwNTYpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9ndGsvZmFzdC9qcy9nbG9iYWwtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMzA3LDYgKzMwNyw3IEBAIFBBU1MgVGV4dFRyYWNrLnRvU3RyaW5nKCkgaXMgJ1tv
YmplY3QgVGUKIFBBU1MgVGV4dFRyYWNrQ3VlLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgVGV4dFRy
YWNrQ3VlQ29uc3RydWN0b3JdJwogUEFTUyBUZXh0VHJhY2tDdWVMaXN0LnRvU3RyaW5nKCkgaXMg
J1tvYmplY3QgVGV4dFRyYWNrQ3VlTGlzdENvbnN0cnVjdG9yXScKIFBBU1MgVGltZVJhbmdlcy50
b1N0cmluZygpIGlzICdbb2JqZWN0IFRpbWVSYW5nZXNDb25zdHJ1Y3Rvcl0nCitQQVNTIFRyYWNr
RXZlbnQudG9TdHJpbmcoKSBpcyAnW29iamVjdCBUcmFja0V2ZW50Q29uc3RydWN0b3JdJwogUEFT
UyBVSUV2ZW50LnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgVUlFdmVudENvbnN0cnVjdG9yXScKIFBB
U1MgV2ViS2l0QW5pbWF0aW9uRXZlbnQudG9TdHJpbmcoKSBpcyAnW29iamVjdCBXZWJLaXRBbmlt
YXRpb25FdmVudENvbnN0cnVjdG9yXScKIFBBU1MgV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLnRvU3Ry
aW5nKCkgaXMgJ1tvYmplY3QgV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlQ29uc3RydWN0b3JdJwpJbmRl
eDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQJKHJldmlzaW9uIDk5MDU2KQorKysgTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL1NraXBwZWQJKHdvcmtpbmcgY29weSkKQEAgLTQ1OCw2ICs0NTgsNyBA
QCBtZWRpYS90cmFjay90cmFjay13ZWJ2dHQtdGMwMjUtY2xhc3MtbWFyCiBtZWRpYS90cmFjay90
cmFjay13ZWJ2dHQtdGMwMjYtdm9pY2UuaHRtbAogbWVkaWEvdHJhY2svdHJhY2std2VidnR0LXRj
MDI3LWVtcHR5LWN1ZS5odG1sCiBtZWRpYS90cmFjay90cmFjay13ZWJ2dHQtdGMwMjgtdW5zdXBw
b3J0ZWQtbWFya3VwLmh0bWwKK2Zhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy90cmFjay1ldmVudC1j
b25zdHJ1Y3Rvci5odG1sCiAKICMgVGVzdHMgZm9yIE1lZGlhU291cmNlIEFQSS4gRmVhdHVyZSBp
cyBub3QgeWV0IGZ1bmN0aW9uYWwuCiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD02NDczMQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQJKHJldmlzaW9uIDk5
MDU2KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQJKHdvcmtpbmcgY29weSkK
QEAgLTE0NDIsNiArMTQ0Miw3IEBAIG1lZGlhL3RyYWNrL3RyYWNrLXdlYnZ0dC10YzAyNS1jbGFz
cy1tYXIKIG1lZGlhL3RyYWNrL3RyYWNrLXdlYnZ0dC10YzAyNi12b2ljZS5odG1sCiBtZWRpYS90
cmFjay90cmFjay13ZWJ2dHQtdGMwMjctZW1wdHktY3VlLmh0bWwKIG1lZGlhL3RyYWNrL3RyYWNr
LXdlYnZ0dC10YzAyOC11bnN1cHBvcnRlZC1tYXJrdXAuaHRtbAorZmFzdC9ldmVudHMvY29uc3Ry
dWN0b3JzL3RyYWNrLWV2ZW50LWNvbnN0cnVjdG9yLmh0bWwKIAogIyBUZXN0cyBmb3IgTWVkaWFT
b3VyY2UgQVBJLiBGZWF0dXJlIGlzIG5vdCB5ZXQgZnVuY3Rpb25hbC4KICMgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY0NzMxCg==
</data>
<flag name="commit-queue"
          id="111688"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113381</attachid>
            <date>2011-11-02 14:44:34 -0700</date>
            <delta_ts>2011-11-02 15:29:22 -0700</delta_ts>
            <desc>Another patch</desc>
            <filename>patch_track_event_15.txt</filename>
            <type>text/plain</type>
            <size>65069</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk5MDkyKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNzUgQEAKKzIwMTEtMTEtMDIgIEVyaWMgQ2Fy
bHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIFRyYWNrRXZlbnQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTc4CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogZmFz
dC9ldmVudHMvY29uc3RydWN0b3JzL3RyYWNrLWV2ZW50LWNvbnN0cnVjdG9yLmh0bWwKKworICAg
ICAgICAqIENNYWtlTGlzdHMudHh0OiBBZGQgbmV3IGZpbGVzIGZvciBUcmFja0V2ZW50LgorICAg
ICAgICAqIENvZGVHZW5lcmF0b3JzLnByaTogRGl0dG8uCisgICAgICAgICogRGVyaXZlZFNvdXJj
ZXMuY3BwOiBEaXR0by4KKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOiBEaXR0by4KKyAg
ICAgICAgKiBHTlVtYWtlZmlsZS5hbTogRGl0dG8uCisgICAgICAgICogR05VbWFrZWZpbGUubGlz
dC5hbTogRGl0dG8uCisgICAgICAgICogV2ViQ29yZS5neXBpOiBEaXR0by4KKyAgICAgICAgKiBX
ZWJDb3JlLnBybzogRGl0dG8uCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOiBEaXR0by4KKyAgICAgICAgKiBiaW5kaW5ncy9nZW5lcmljL0V2ZW50Q29uc3RydWN0
b3JzLmg6IERpdHRvLgorICAgICAgICAqIGJpbmRpbmdzL2dvYmplY3QvR05VbWFrZWZpbGUuYW06
IERpdHRvLgorICAgICAgICAqIGJpbmRpbmdzL2dvYmplY3QvV2ViS2l0SFRNTEVsZW1lbnRXcmFw
cGVyRmFjdG9yeS5jcHA6IERpdHRvLgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTQmluZGluZ3NB
bGxJbk9uZS5jcHA6IERpdHRvLgorCisgICAgICAgICogYmluZGluZ3MvanMvSlNEaWN0aW9uYXJ5
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTRGljdGlvbmFyeTo6Y29udmVydFZhbHVlKTogQWRk
IG1ldGhvZCB0byBjb252ZXJ0IHRvIGEgVHJhY2suCisgICAgICAgICogYmluZGluZ3MvanMvSlNE
aWN0aW9uYXJ5Lmg6CisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0V2ZW50Q29uc3RydWN0b3Jz
LmNwcDogIEFkZCBuZXcgZmlsZXMgZm9yIFRyYWNrRXZlbnQuCisKKyAgICAgICAgKiBiaW5kaW5n
cy9qcy9KU1RyYWNrQ3VzdG9tLmNwcDogQWRkZWQuIAorICAgICAgICAoV2ViQ29yZTo6dG9UcmFj
ayk6IE5ldywgY29udmVydCBmcm9tIGEgSlNWYWx1ZSB0byBhIFRyYWNrLgorICAgICAgICAoV2Vi
Q29yZTo6dG9KUyk6IE5ldywgcmV0dXJuIGEgSlMgd3JhcHBlciBmb3IgYSBUcmFjay4KKyAgICAg
ICAgKiBiaW5kaW5ncy9qcy9KU1RyYWNrQ3VzdG9tLmg6IEFkZGVkLgorCisgICAgICAgICogYmlu
ZGluZ3MvanMvSlNUcmFja0V2ZW50Q3VzdG9tLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3Jl
OjpKU1RyYWNrRXZlbnQ6OnRyYWNrKTogTmV3LCByZXR1cm5zIGEgVGV4dEV2ZW50J3MgJ3RyYWNr
JyBhdHRyaWJ1dGUuCisKKyAgICAgICAgKiBiaW5kaW5ncy92OC9PcHRpb25zT2JqZWN0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Ok9wdGlvbnNPYmplY3Q6OmdldCk6IFJldHVybnMgUmVmUHRyPFRy
YWNrQmFzZT4uCisKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhFdmVudENvbnN0cnVj
dG9ycy5jcHA6IEFkZCBUcmFjayBpbml0aWFsaXppbmcgY29uc3RydWN0b3IuCisKKyAgICAgICAg
KiBiaW5kaW5ncy92OC9jdXN0b20vVjhUcmFja0V2ZW50Q3VzdG9tLmNwcDogQWRkZWQuCisgICAg
ICAgIChXZWJDb3JlOjpWOFRyYWNrRXZlbnQ6OnRyYWNrQWNjZXNzb3JHZXR0ZXIpOiBOZXcsIHJl
dHVybnMgYSBUZXh0RXZlbnQncyAndHJhY2snIGF0dHJpYnV0ZS4KKworICAgICAgICAqIGRvbS9F
dmVudEZhY3RvcnkuaW46IEFkZCBUcmFja0V2ZW50LgorCisgICAgICAgICogZG9tL0V2ZW50TmFt
ZXMuaDogQWRkICdhZGR0cmFjaycgZXZlbnQuCisKKyAgICAgICAgKiBodG1sL1RleHRUcmFjay5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2s6OlRleHRUcmFjayk6IENhbGwgbmV3IGJh
c2UgY2xhc3MgY29uc3RydWN0b3IuCisgICAgICAgICogaHRtbC9UZXh0VHJhY2suaDogTm93IGRl
cml2ZSBmcm9tIEJhc2VUcmFjayBmb3IgdGhlIGRheSB3ZSBpbXBsZW1lbnQgVmlkZW9UcmFjayBh
bmQgQXVkaW9UcmFjay4KKworICAgICAgICAqIGh0bWwvdHJhY2svVHJhY2tCYXNlLmNwcDogQWRk
ZWQuCisgICAgICAgIChXZWJDb3JlOjpUcmFja0Jhc2U6OlRyYWNrQmFzZSk6CisgICAgICAgIChX
ZWJDb3JlOjpUcmFja0Jhc2U6On5UcmFja0Jhc2UpOgorICAgICAgICAqIGh0bWwvdHJhY2svVHJh
Y2tCYXNlLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6VHJhY2tCYXNlOjp0eXBlKTogUmV0
dXJuIHRoZSB0cmFjayB0eXBlLgorCisgICAgICAgICogaHRtbC90cmFjay9UcmFja0V2ZW50LmNw
cDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpUcmFja0V2ZW50SW5pdDo6VHJhY2tFdmVudElu
aXQpOgorICAgICAgICAoV2ViQ29yZTo6VHJhY2tFdmVudDo6VHJhY2tFdmVudCk6CisgICAgICAg
IChXZWJDb3JlOjpUcmFja0V2ZW50Ojp+VHJhY2tFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpU
cmFja0V2ZW50OjppbnRlcmZhY2VOYW1lKToKKyAgICAgICAgKiBodG1sL3RyYWNrL1RyYWNrRXZl
bnQuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpUcmFja0V2ZW50OjpjcmVhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6VHJhY2tFdmVudDo6aXNUcmFja0V2ZW50KToKKyAgICAgICAgKFdlYkNv
cmU6OlRyYWNrRXZlbnQ6OnRyYWNrKToKKyAgICAgICAgKiBodG1sL3RyYWNrL1RyYWNrRXZlbnQu
aWRsOiBBZGRlZC4KKworICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDogQWRkIFRyYWNrRXZl
bnQuCisKIDIwMTEtMTEtMDIgIFRvbW15IFdpZGVuZmx5Y2h0ICA8dG9tbXl3QGdvb2dsZS5jb20+
CiAKICAgICAgICAgTWVkaWFTdHJlYW1SZWdpc3RyeSBzaG91bGQgaG9sZCByZWZlcmVuY2VzIHRv
IE1lZGlhU3RyZWFtRGVzY3JpcHRvciByYXRoZXIgdGhhbiBNZWRpYVN0cmVhbQpJbmRleDogU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDk5MDkyKQorKysgU291cmNlL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTMxOCw2ICszMTgsOCBAQCBTRVQoV2ViQ29yZV9J
RExfRklMRVMKICAgICBodG1sL2NhbnZhcy9XZWJHTFZlcnRleEFycmF5T2JqZWN0T0VTLmlkbAog
ICAgIGh0bWwvY2FudmFzL1dlYktpdExvc2VDb250ZXh0LmlkbAogCisgICAgaHRtbC90cmFjay9U
cmFja0V2ZW50LmlkbAorCiAgICAgaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0SG9zdC5pZGwKICAg
ICBpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmlkbAogICAgIGluc3BlY3Rvci9KYXZh
U2NyaXB0Q2FsbEZyYW1lLmlkbApAQCAtMjA2NCw2ICsyMDY2LDggQEAgSUYgKEVOQUJMRV9WSURF
T19UUkFDSykKICAgICAgICAgaHRtbC9UZXh0VHJhY2tDdWUuY3BwCiAgICAgICAgIGh0bWwvVGV4
dFRyYWNrQ3VlSW5kZXguY3BwCiAgICAgICAgIGh0bWwvVGV4dFRyYWNrQ3VlTGlzdC5jcHAKKyAg
ICAgICAgaHRtbC90cmFjay9UcmFja0Jhc2UuY3BwCisgICAgICAgIGh0bWwvdHJhY2svVHJhY2tF
dmVudC5jcHAKICAgICAgICAgaHRtbC90cmFjay9XZWJWVFRQYXJzZXIuY3BwCiAgICAgICAgIGh0
bWwvdHJhY2svV2ViVlRUVG9rZW5pemVyLmNwcAogICAgICAgICBsb2FkZXIvVGV4dFRyYWNrTG9h
ZGVyLmNwcApJbmRleDogU291cmNlL1dlYkNvcmUvQ29kZUdlbmVyYXRvcnMucHJpCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NvZGVHZW5lcmF0b3JzLnByaQkocmV2aXNpb24gOTkwOTIp
CisrKyBTb3VyY2UvV2ViQ29yZS9Db2RlR2VuZXJhdG9ycy5wcmkJKHdvcmtpbmcgY29weSkKQEAg
LTU3Nyw2ICs1NzcsNyBAQCBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfVklERU9fVFJBQ0s9MSkg
CiAgICAgaHRtbC9UZXh0VHJhY2suaWRsIFwKICAgICBodG1sL1RleHRUcmFja0N1ZS5pZGwgXAog
ICAgIGh0bWwvVGV4dFRyYWNrQ3VlTGlzdC5pZGwgXAorICAgIGh0bWwvdHJhY2svVHJhY2tFdmVu
dC5pZGwgXAogfQogCiB2ODogd3JhcHBlckZhY3RvcnlBcmcgPSAtLXdyYXBwZXJGYWN0b3J5VjgK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAJKHJldmlzaW9uIDk5MDkyKQorKysgU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NDEsNiAr
NDQxLDcgQEAKICNpbmNsdWRlICJKU1RleHRUcmFjay5jcHAiCiAjaW5jbHVkZSAiSlNUZXh0VHJh
Y2tDdWUuY3BwIgogI2luY2x1ZGUgIkpTVGV4dFRyYWNrQ3VlTGlzdC5jcHAiCisjaW5jbHVkZSAi
SlNUcmFja0V2ZW50LmNwcCIKICNlbmRpZgogI2luY2x1ZGUgIkpTVGltZVJhbmdlcy5jcHAiCiAj
aW5jbHVkZSAiSlNUb3VjaC5jcHAiCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5tYWtlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UJ
KHJldmlzaW9uIDk5MDkyKQorKysgU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQko
d29ya2luZyBjb3B5KQpAQCAtMzYsNiArMzYsNyBAQCBWUEFUSCA9IFwKICAgICAkKFdlYkNvcmUp
L2ZpbGVhcGkgXAogICAgICQoV2ViQ29yZSkvaHRtbCBcCiAgICAgJChXZWJDb3JlKS9odG1sL2Nh
bnZhcyBcCisgICAgJChXZWJDb3JlKS9odG1sL3RyYWNrIFwKICAgICAkKFdlYkNvcmUpL2luc3Bl
Y3RvciBcCiAgICAgJChXZWJDb3JlKS9sb2FkZXIvYXBwY2FjaGUgXAogICAgICQoV2ViQ29yZSkv
bm90aWZpY2F0aW9ucyBcCkBAIC01MTMsNiArNTE0LDcgQEAgRE9NX0NMQVNTRVMgPSBcCiAgICAg
VG91Y2ggXAogICAgIFRvdWNoRXZlbnQgXAogICAgIFRvdWNoTGlzdCBcCisgICAgVHJhY2tFdmVu
dCBcCiAgICAgVHJlZVdhbGtlciBcCiAgICAgVUlFdmVudCBcCiAgICAgVWludDE2QXJyYXkgXApJ
bmRleDogU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvR05VbWFrZWZpbGUuYW0JKHJldmlzaW9uIDk5MDkyKQorKysgU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUuYW0JKHdvcmtpbmcgY29weSkKQEAgLTcyOSw2ICs3MjksNyBAQCBJRExf
UEFUSCA6PSBcCiAgICAgJChXZWJDb3JlKS9maWxlYXBpIFwKICAgICAkKFdlYkNvcmUpL2h0bWwg
XAogICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMgXAorICAgICQoV2ViQ29yZSkvaHRtbC90cmFj
ayBcCiAgICAgJChXZWJDb3JlKS9pbnNwZWN0b3IgXAogICAgICQoV2ViQ29yZSkvbG9hZGVyL2Fw
cGNhY2hlIFwKICAgICAkKFdlYkNvcmUpL21lZGlhc3RyZWFtIFwKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvR05V
bWFrZWZpbGUubGlzdC5hbQkocmV2aXNpb24gOTkwOTIpCisrKyBTb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5saXN0LmFtCSh3b3JraW5nIGNvcHkpCkBAIC01MTIsNiArNTEyLDggQEAgd2ViY29y
ZV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVG91Y2guaCBc
CiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1RvdWNoTGlzdC5jcHAgXAogCURlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNUb3VjaExpc3QuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Ry
YWNrRXZlbnQuY3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVHJhY2tFdmVudC5oIFwK
IAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVHJlZVdhbGtlci5jcHAgXAogCURlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNUcmVlV2Fsa2VyLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNV
SUV2ZW50LmNwcCBcCkBAIC04NTAsNiArODUyLDkgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1RleHRDdXN0b20uY3BwIFwKIAlTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU1RvdWNoQ3VzdG9tLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNUb3VjaExpc3RDdXN0b20uY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU1RyYWNrQ3VzdG9tLmNwcCBcCisJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNU
cmFja0N1c3RvbS5oIFwKKwlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1RyYWNrRXZlbnRD
dXN0b20uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1RyZWVXYWxrZXJDdXN0
b20uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1VpbnQxNkFycmF5Q3VzdG9t
LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNVaW50MzJBcnJheUN1c3RvbS5j
cHAgXApAQCAtMTk2OCw2ICsxOTczLDEwIEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNl
L1dlYkNvcmUvaHRtbC9UaW1lSW5wdXRUeXBlLmggXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvVGlt
ZVJhbmdlcy5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvVGltZVJhbmdlcy5oIFwKKwlTb3Vy
Y2UvV2ViQ29yZS9odG1sL3RyYWNrL1RyYWNrQmFzZS5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL2h0
bWwvdHJhY2svVHJhY2tCYXNlLmggXAorCVNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVHJhY2tF
dmVudC5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVHJhY2tFdmVudC5oIFwKIAlT
b3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1dlYlZUVFBhcnNlci5jcHAgXAogCVNvdXJjZS9XZWJD
b3JlL2h0bWwvdHJhY2svV2ViVlRUUGFyc2VyLmggXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvdHJh
Y2svV2ViVlRUVG9rZW4uaCBcCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCShyZXZpc2lvbiA5OTA5MikK
KysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQkod29ya2luZyBjb3B5KQpAQCAtMTM3MSw2
ICsxMzcxLDcgQEAKICAgICAgICAgICAgICdodG1sL2NhbnZhcy9XZWJHTFVuaWZvcm1Mb2NhdGlv
bi5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL1dlYkdMVmVydGV4QXJyYXlPYmplY3RP
RVMuaWRsJywKICAgICAgICAgICAgICdodG1sL2NhbnZhcy9XZWJLaXRMb3NlQ29udGV4dC5pZGwn
LAorICAgICAgICAgICAgJ2h0bWwvdHJhY2svVHJhY2tFdmVudC5pZGwnLAogICAgICAgICAgICAg
J2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdEhvc3QuaWRsJywKICAgICAgICAgICAgICdpbnNwZWN0
b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmlkbCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL0ph
dmFTY3JpcHRDYWxsRnJhbWUuaWRsJywKQEAgLTE5MzYsNiArMTkzNyw5IEBACiAgICAgICAgICAg
ICAnYmluZGluZ3MvanMvSlNUZXh0Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3Mv
anMvSlNUb3VjaEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTVG91Y2hM
aXN0Q3VzdG9tLmNwcCcsCisgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNUcmFja0N1c3RvbS5j
cHAnLAorICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTVHJhY2tDdXN0b20uaCcsCisgICAgICAg
ICAgICAnYmluZGluZ3MvanMvSlNUcmFja0V2ZW50Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAn
YmluZGluZ3MvanMvSlNUcmVlV2Fsa2VyQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGlu
Z3MvanMvSlNVaW50MTZBcnJheUN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pz
L0pTVWludDMyQXJyYXlDdXN0b20uY3BwJywKQEAgLTIyMzgsNiArMjI0Miw3IEBACiAgICAgICAg
ICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4U3RvcmFnZUN1c3RvbS5jcHAnLAogICAgICAgICAg
ICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFN0eWxlU2hlZXRDdXN0b20uY3BwJywKICAgICAgICAg
ICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhTdHlsZVNoZWV0TGlzdEN1c3RvbS5jcHAnLAorICAg
ICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFRyYWNrRXZlbnRDdXN0b20uY3BwJywKICAg
ICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhVaW50MTZBcnJheUN1c3RvbS5jcHAnLAog
ICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFVpbnQzMkFycmF5Q3VzdG9tLmNwcCcs
CiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4VWludDhBcnJheUN1c3RvbS5jcHAn
LApAQCAtNTc2OCw2ICs1NzczLDggQEAKICAgICAgICAgICAgICdodG1sL3NoYWRvdy9TbGlkZXJU
aHVtYkVsZW1lbnQuaCcsCiAgICAgICAgICAgICAnaHRtbC9zaGFkb3cvVGV4dENvbnRyb2xJbm5l
ckVsZW1lbnRzLmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9zaGFkb3cvVGV4dENvbnRyb2xJbm5l
ckVsZW1lbnRzLmgnLAorICAgICAgICAgICAgJ2h0bWwvdHJhY2svVHJhY2tCYXNlLmNwcCcsCisg
ICAgICAgICAgICAnaHRtbC90cmFjay9UcmFja0V2ZW50LmNwcCcsCiAgICAgICAgICAgICAnaHRt
bC90cmFjay9XZWJWVFRQYXJzZXIuY3BwJywKICAgICAgICAgICAgICdodG1sL3RyYWNrL1dlYlZU
VFBhcnNlci5oJywKICAgICAgICAgICAgICdodG1sL3RyYWNrL1dlYlZUVFRva2VuLmgnLApJbmRl
eDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5wcm8JKHJldmlzaW9uIDk5MDkyKQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5wcm8JKHdvcmtpbmcgY29weSkKQEAgLTE4NjgsNiArMTg2OCw4IEBAIEhFQURFUlMgKz0gXAog
ICAgIGh0bWwvcGFyc2VyL1hTU0F1ZGl0b3IuaCBcCiAgICAgaHRtbC9zaGFkb3cvTWVkaWFDb250
cm9sRWxlbWVudHMuaCBcCiAgICAgaHRtbC9zaGFkb3cvRGV0YWlsc01hcmtlckNvbnRyb2wuaCBc
CisgICAgaHRtbC90cmFjay9UcmFja0Jhc2UuaCBcCisgICAgaHRtbC90cmFjay9UcmFja0V2ZW50
LmggXAogICAgIGh0bWwvdHJhY2svV2ViVlRUUGFyc2VyLmggXAogICAgIGh0bWwvdHJhY2svV2Vi
VlRUVG9rZW4uaCBcCiAgICAgaHRtbC90cmFjay9XZWJWVFRUb2tlbml6ZXIuaCBcCkBAIC0zNTM4
LDYgKzM1NDAsMTkgQEAgY29udGFpbnMoREVGSU5FUywgRU5BQkxFX0pBVkFTQ1JJUFRfREVCVQog
ICAgIH0KIH0KIAorCitjb250YWlucyhERUZJTkVTLCBFTkFCTEVfVklERU9fVFJBQ0s9MSkgewor
ICAgIHY4IHsKKyAgICAgICAgU09VUkNFUyArPSBcCisgICAgICAgICAgICBiaW5kaW5ncy92OC9j
dXN0b20vVjhUcmFja0V2ZW50Q3VzdG9tLmNwcAorICAgIH0gZWxzZSB7CisgICAgICAgIFNPVVJD
RVMgKz0gXAorICAgICAgICAgICAgYmluZGluZ3MvanMvSlNUcmFja0N1c3RvbS5jcHAgXAorICAg
ICAgICAgICAgYmluZGluZ3MvanMvSlNUcmFja0N1c3RvbS5oIFwKKyAgICAgICAgICAgIGJpbmRp
bmdzL2pzL0pTVHJhY2tFdmVudEN1c3RvbS5jcHAKKyAgICB9Cit9CisKIGNvbnRhaW5zKERFRklO
RVMsIEVOQUJMRV9XRUJfU09DS0VUUz0xKSB7CiAgICAgSEVBREVSUyArPSBcCiAgICAgICAgIHdl
YnNvY2tldHMvQ2xvc2VFdmVudC5oIFwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDk5MDkyKQorKysgU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkp
CkBAIC04Miw2ICs4MiwxMCBAQAogCQkwNjZDNzczMTBBQjYwM0ZEMDAyMzhDQzQgLyogUmVuZGVy
RmlsZVVwbG9hZENvbnRyb2wuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDA2NkM3NzJGMEFCNjAzRkQwMDIzOENDNCAvKiBSZW5kZXJGaWxlVXBsb2FkQ29u
dHJvbC5oICovOyB9OwogCQkwNkU4MUVENzBBQjVENUU5MDBDODc4MzcgLyogTG9jYWxDdXJyZW50
R3JhcGhpY3NDb250ZXh0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwNkU4MUVENjBBQjVENUU5MDBDODc4MzcgLyogTG9jYWxDdXJyZW50R3JhcGhpY3ND
b250ZXh0LmggKi87IH07CiAJCTA2RTgxRUVDMEFCNURBOTcwMEM4NzgzNyAvKiBMb2NhbEN1cnJl
bnRHcmFwaGljc0NvbnRleHQubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwNkU4MUVFQjBBQjVEQTk3MDBDODc4MzcgLyogTG9jYWxDdXJyZW50R3JhcGhp
Y3NDb250ZXh0Lm1tICovOyB9OworCQkwNzAzMzREMzE0NTlGRkFEMDA4RDhENDUgLyogVHJhY2tF
dmVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
NzAzMzREMDE0NTlGRkFDMDA4RDhENDUgLyogVHJhY2tFdmVudC5jcHAgKi87IH07CisJCTA3MDMz
NEQ3MTQ1OUZGRDUwMDhEOEQ0NSAvKiBUcmFja0Jhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3MDMzNEQ2MTQ1OUZGRDUwMDhEOEQ0NSAvKiBUcmFj
a0Jhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQkwNzAzMzREOTE0NUEwMDZGMDA4RDhENDUgLyogVHJhY2tCYXNlLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3MDMzNEQ4MTQ1QTAwNkYwMDhEOEQ0
NSAvKiBUcmFja0Jhc2UuY3BwICovOyB9OworCQkwNzAzMzRFOTE0NUExRjM2MDA4RDhENDUgLyog
SlNUcmFja0N1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwNzAzMzRFODE0NUExRjM1MDA4RDhENDUgLyogSlNUcmFja0N1c3RvbS5jcHAgKi87
IH07CiAJCTA3MDc1NjhCMTQyMjYyRDYwMDQxNDE2MSAvKiBIVE1MVHJhY2tFbGVtZW50LmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3MDc1Njg4MTQy
MjYyRDYwMDQxNDE2MSAvKiBIVE1MVHJhY2tFbGVtZW50LmNwcCAqLzsgfTsKIAkJMDcwNzU2OEMx
NDIyNjJENjAwNDE0MTYxIC8qIEhUTUxUcmFja0VsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3MDc1Njg5MTQyMjYyRDYwMDQxNDE2MSAvKiBI
VE1MVHJhY2tFbGVtZW50LmggKi87IH07CiAJCTA3MDc1Njk0MTQyMjY2OEQwMDQxNDE2MSAvKiBK
U1RleHRUcmFjay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwNzA3NTY4RTE0MjI2NjhDMDA0MTQxNjEgLyogSlNUZXh0VHJhY2suY3BwICovOyB9OwpA
QCAtOTcsNyArMTAxLDExIEBACiAJCTA3MzVFRTZBMEY0MEM1RTQwMDRBMjYwNCAvKiBNZWRpYVBs
YXllclByb3h5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwNzM1RUU2OTBGNDBDNUU0MDA0QTI2MDQgLyogTWVkaWFQbGF5ZXJQcm94eS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTA3NTM4NjAyMTQ0ODlF
OTgwMEI3ODQ1MiAvKiBDYWNoZWRUZXh0VHJhY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDc1Mzg2MDAxNDQ4OUU5ODAwQjc4NDUyIC8qIENhY2hl
ZFRleHRUcmFjay5jcHAgKi87IH07CiAJCTA3NTM4NjAzMTQ0ODlFOTgwMEI3ODQ1MiAvKiBDYWNo
ZWRUZXh0VHJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDA3NTM4NjAxMTQ0ODlFOTgwMEI3ODQ1MiAvKiBDYWNoZWRUZXh0VHJhY2suaCAqLzsgfTsK
KwkJMDc2ODlENkUxNDVCNTJDQzAwMUNEMTMyIC8qIEpTVHJhY2tFdmVudEN1c3RvbS5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzY4OUQ2RDE0NUI1
MkNDMDAxQ0QxMzIgLyogSlNUcmFja0V2ZW50Q3VzdG9tLmNwcCAqLzsgfTsKIAkJMDc2RjBEMEUx
MkI4MTkyNzAwQzI2QUE0IC8qIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDc2RjBEMEExMkI4MTky
NzAwQzI2QUE0IC8qIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5oICovOyB9OworCQkw
Nzg0NjM0MjE0NUIxNTFBMDBBNThERjEgLyogSlNUcmFja0V2ZW50LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3ODQ2MzQwMTQ1QjE1MUEwMEE1OERG
MSAvKiBKU1RyYWNrRXZlbnQuY3BwICovOyB9OworCQkwNzg0NjM0MzE0NUIxNTFBMDBBNThERjEg
LyogSlNUcmFja0V2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwNzg0NjM0MTE0NUIxNTFBMDBBNThERjEgLyogSlNUcmFja0V2ZW50LmggKi87IH07
CisJCTA3ODQ2Mzg1MTQ1QjFCOEUwMEE1OERGMSAvKiBKU1RyYWNrQ3VzdG9tLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzg0NjM4NDE0NUIxQjhFMDBB
NThERjEgLyogSlNUcmFja0N1c3RvbS5oICovOyB9OwogCQkwN0IwMTEzRjEwMzIyNDIyMDBGQkRD
MzMgLyogQWNjZXNzaWJpbGl0eU1lZGlhQ29udHJvbHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3QjAxMTNFMTAzMjI0MjIwMEZCREMzMyAvKiBBY2Nl
c3NpYmlsaXR5TWVkaWFDb250cm9scy5oICovOyB9OwogCQkwODA2RTU3QTEyODkzMDQ1MDA3Q0VE
MzIgLyogU1ZHTWF0cml4LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwODA2RTU3OTEyODkzMDQ1MDA3Q0VEMzIgLyogU1ZHTWF0cml4LmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMDgwRTQ5MjYxMjU1RjNC
RDAwRUZDQTI3IC8qIFNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDgwRTQ5MjIxMjU1RjNCRDAwRUZDQTI3
IC8qIFNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5oICovOyB9OwpAQCAtNzA2Nyw2ICs3MDc1
LDEyIEBACiAJCTA2NkM3NzJGMEFCNjAzRkQwMDIzOENDNCAvKiBSZW5kZXJGaWxlVXBsb2FkQ29u
dHJvbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVyRmlsZVVwbG9h
ZENvbnRyb2wuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDZFODFFRDYwQUI1RDVF
OTAwQzg3ODM3IC8qIExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBMb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDZFODFFRUIwQUI1REE5NzAwQzg3ODM3IC8qIExvY2Fs
Q3VycmVudEdyYXBoaWNzQ29udGV4dC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpj
cHA7IHBhdGggPSBMb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTA3MDMzNEQwMTQ1OUZGQUMwMDhEOEQ0NSAvKiBUcmFja0V2ZW50LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRyYWNrRXZlbnQuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwNzAzMzREMTE0NTlGRkFDMDA4RDhENDUgLyog
VHJhY2tFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUcmFja0V2ZW50
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTA3MDMzNEQyMTQ1OUZGQUMwMDhEOEQ0
NSAvKiBUcmFja0V2ZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBUcmFja0V2ZW50Lmlk
bDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMDcwMzM0RDYxNDU5RkZENTAwOEQ4RDQ1
IC8qIFRyYWNrQmFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUcmFja0Jh
c2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMDcwMzM0RDgxNDVBMDA2RjAwOEQ4
RDQ1IC8qIFRyYWNrQmFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBUcmFja0Jhc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwNzAzMzRFODE0
NUExRjM1MDA4RDhENDUgLyogSlNUcmFja0N1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBKU1RyYWNrQ3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMDcwNzU2ODgxNDIyNjJENjAwNDE0MTYxIC8qIEhUTUxUcmFja0VsZW1lbnQuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSFRNTFRyYWNrRWxlbWVudC5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA3MDc1Njg5MTQyMjYyRDYwMDQxNDE2
MSAvKiBIVE1MVHJhY2tFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEhUTUxUcmFja0VsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDcwNzU2
OEExNDIyNjJENjAwNDE0MTYxIC8qIEhUTUxUcmFja0VsZW1lbnQuaWRsICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dDsgcGF0aCA9IEhUTUxUcmFja0VsZW1lbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtNzA4Niw4ICs3MTAwLDEyIEBACiAJCTA3MzVFRTY5MEY0MEM1RTQwMDRBMjYwNCAvKiBN
ZWRpYVBsYXllclByb3h5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlh
UGxheWVyUHJveHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDc1Mzg2MDAxNDQ4
OUU5ODAwQjc4NDUyIC8qIENhY2hlZFRleHRUcmFjay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBDYWNoZWRUZXh0VHJhY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkwNzUzODYwMTE0NDg5RTk4MDBCNzg0NTIgLyogQ2FjaGVkVGV4dFRyYWNrLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENhY2hlZFRleHRUcmFjay5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwNzY4OUQ2RDE0NUI1MkNDMDAxQ0QxMzIgLyogSlNU
cmFja0V2ZW50Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEpTVHJhY2tFdmVudEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA3
NkYwRDA5MTJCODE5MjcwMEMyNkFBNCAvKiBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24u
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWVkaWFQbGF5ZXJQcml2
YXRlQVZGb3VuZGF0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDc2RjBE
MEExMkI4MTkyNzAwQzI2QUE0IC8qIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5k
YXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMDc4NDYzNDAxNDVCMTUxQTAw
QTU4REYxIC8qIEpTVHJhY2tFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBKU1RyYWNrRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkw
Nzg0NjM0MTE0NUIxNTFBMDBBNThERjEgLyogSlNUcmFja0V2ZW50LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEpTVHJhY2tFdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQkwNzg0NjM4NDE0NUIxQjhFMDBBNThERjEgLyogSlNUcmFja0N1c3RvbS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1RyYWNrQ3VzdG9tLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTA3OUY1RTRCMEYzQkVCRUEwMDVFMDc4MiAvKiBNZWRpYVBsYXll
clByaXZhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFQbGF5ZXJQ
cml2YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA3QUZFNTkwMEYxNDQ2QkQw
MDg0MTYxNyAvKiBtZWRpYUNvbnRyb2xzUXVpY2tUaW1lLmNzcyAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuY3Nz
OyBwYXRoID0gbWVkaWFDb250cm9sc1F1aWNrVGltZS5jc3M7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTA3QjAxMTNFMTAzMjI0MjIwMEZCREMzMyAvKiBBY2Nlc3NpYmlsaXR5TWVkaWFD
b250cm9scy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmlsaXR5
TWVkaWFDb250cm9scy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTc3NDcsNiAr
MTc3NjUsOCBAQAogCQkJCTA3MDc1NkRBMTQyMzlCNEUwMDQxNDE2MSAvKiBKU1RleHRUcmFja0N1
ZUxpc3QuaCAqLywKIAkJCQlFNDQ2MTQxMjBDRDY4MjY5MDBGQURBNzUgLyogSlNUaW1lUmFuZ2Vz
LmNwcCAqLywKIAkJCQlFNDQ2MTQxMzBDRDY4MjY5MDBGQURBNzUgLyogSlNUaW1lUmFuZ2VzLmgg
Ki8sCisJCQkJMDc4NDYzNDAxNDVCMTUxQTAwQTU4REYxIC8qIEpTVHJhY2tFdmVudC5jcHAgKi8s
CisJCQkJMDc4NDYzNDExNDVCMTUxQTAwQTU4REYxIC8qIEpTVHJhY2tFdmVudC5oICovLAogCQkJ
CTQ5RUVDRUZFMTA1MDcwQzQwMDA5OUZBQiAvKiBKU1VpbnQxNkFycmF5LmNwcCAqLywKIAkJCQk0
OUVFQ0VGRjEwNTA3MEM0MDAwOTlGQUIgLyogSlNVaW50MTZBcnJheS5oICovLAogCQkJCTQ5RUVD
RUZDMTA1MDcwQzQwMDA5OUZBQiAvKiBKU1VpbnQzMkFycmF5LmNwcCAqLywKQEAgLTE4NDMxLDYg
KzE4NDUxLDExIEBACiAJCUIxQUQ0RTc3MTNBMTJBNzIwMDg0NkIyNyAvKiB0cmFjayAqLyA9IHsK
IAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJMDcwMzM0RDgxNDVBMDA2
RjAwOEQ4RDQ1IC8qIFRyYWNrQmFzZS5jcHAgKi8sCisJCQkJMDcwMzM0RDYxNDU5RkZENTAwOEQ4
RDQ1IC8qIFRyYWNrQmFzZS5oICovLAorCQkJCTA3MDMzNEQwMTQ1OUZGQUMwMDhEOEQ0NSAvKiBU
cmFja0V2ZW50LmNwcCAqLywKKwkJCQkwNzAzMzREMTE0NTlGRkFDMDA4RDhENDUgLyogVHJhY2tF
dmVudC5oICovLAorCQkJCTA3MDMzNEQyMTQ1OUZGQUMwMDhEOEQ0NSAvKiBUcmFja0V2ZW50Lmlk
bCAqLywKIAkJCQk1RDIxQTgwMDEzRUNFNURGMDBCQjcwNjQgLyogV2ViVlRUUGFyc2VyLmNwcCAq
LywKIAkJCQk1RDIxQTgwMTEzRUNFNURGMDBCQjcwNjQgLyogV2ViVlRUUGFyc2VyLmggKi8sCiAJ
CQkJQjEwQjY5N0QxNDBDMTc0MDAwQkMxQzI2IC8qIFdlYlZUVFRva2VuLmggKi8sCkBAIC0xOTYw
NSw2ICsxOTYzMCw5IEBACiAJCQkJMDhFNEZFNDUwRTJCRDQxNDAwRjRDQUUwIC8qIEpTU1ZHTGVu
Z3RoQ3VzdG9tLmNwcCAqLywKIAkJCQlCMkM5NkQ4QzBCM0FGMkI3MDA1RTgwRUMgLyogSlNTVkdQ
YXRoU2VnQ3VzdG9tLmNwcCAqLywKIAkJCQkxQTJDNDBBQTBERUI1NUFBMDA1QUYxOUUgLyogSlNU
ZXh0Q3VzdG9tLmNwcCAqLywKKwkJCQkwNzAzMzRFODE0NUExRjM1MDA4RDhENDUgLyogSlNUcmFj
a0N1c3RvbS5jcHAgKi8sCisJCQkJMDc4NDYzODQxNDVCMUI4RTAwQTU4REYxIC8qIEpTVHJhY2tD
dXN0b20uaCAqLywKKwkJCQkwNzY4OUQ2RDE0NUI1MkNDMDAxQ0QxMzIgLyogSlNUcmFja0V2ZW50
Q3VzdG9tLmNwcCAqLywKIAkJCQk1MTZCQjc5MjBDRTkxRTY4MDA1MTJGNzkgLyogSlNUcmVlV2Fs
a2VyQ3VzdG9tLmNwcCAqLywKIAkJCQk0OUVFQ0Y3NzEwNTA4RDlDMDAwOTlGQUIgLyogSlNVaW50
MTZBcnJheUN1c3RvbS5jcHAgKi8sCiAJCQkJNDlFRUNGNzYxMDUwOEQ5QzAwMDk5RkFCIC8qIEpT
VWludDMyQXJyYXlDdXN0b20uY3BwICovLApAQCAtMjQ1NDAsNiArMjQ1NjgsOSBAQAogCQkJCTk3
MEI3MkE2MTQ1MDA4RUIwMEYwMEEzNyAvKiBFdmVudEhlYWRlcnMuaCBpbiBIZWFkZXJzICovLAog
CQkJCTlCM0E4ODcyMTQ1NjMyRjkwMDNBRThGNSAvKiBET01ET01TZXR0YWJsZVRva2VuTGlzdC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJRkQ2MkY1MkUxNDU4OThEODAwOTRCMEVEIC8qIEF1ZGlvU291
cmNlUHJvdmlkZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTA3MDMzNEQ3MTQ1OUZGRDUw
MDhEOEQ0NSAvKiBUcmFja0Jhc2UuaCBpbiBIZWFkZXJzICovLAorCQkJCTA3ODQ2MzQzMTQ1QjE1
MUEwMEE1OERGMSAvKiBKU1RyYWNrRXZlbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTA3ODQ2Mzg1
MTQ1QjFCOEUwMEE1OERGMSAvKiBKU1RyYWNrQ3VzdG9tLmggaW4gSGVhZGVycyAqLywKIAkJCQky
RDhGRUJERDE0M0UzRUY3MDA3MjUwMkIgLyogQ1NTQ3Jvc3NmYWRlVmFsdWUuaCBpbiBIZWFkZXJz
ICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwpA
QCAtMjczODYsNiArMjc0MTcsMTEgQEAKIAkJCQlBMEVFMERGNTE0NEY4MjU1MDBGODBCMEQgLyog
V2ViR0xEZWJ1Z1JlbmRlcmVySW5mby5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBMEVFMERGNzE0
NEY4MjU1MDBGODBCMEQgLyogV2ViR0xEZWJ1Z1NoYWRlcnMuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQTNCQjU5RjMxNDU3QTQwRDAwQUM1NkZFIC8qIERvY3VtZW50RXZlbnRRdWV1ZS5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQkwNzAzMzREMzE0NTlGRkFEMDA4RDhENDUgLyogVHJhY2tFdmVudC5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQkwNzAzMzREOTE0NUEwMDZGMDA4RDhENDUgLyogVHJhY2tC
YXNlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTA3MDMzNEU5MTQ1QTFGMzYwMDhEOEQ0NSAvKiBK
U1RyYWNrQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTA3ODQ2MzQyMTQ1QjE1MUEwMEE1
OERGMSAvKiBKU1RyYWNrRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMDc2ODlENkUxNDVC
NTJDQzAwMUNEMTMyIC8qIEpTVHJhY2tFdmVudEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQkyRDhGRUJEQzE0M0UzRUY3MDA3MjUwMkIgLyogQ1NTQ3Jvc3NmYWRlVmFsdWUuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9
IDA7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL0V2ZW50Q29uc3RydWN0
b3JzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9FdmVu
dENvbnN0cnVjdG9ycy5oCShyZXZpc2lvbiA5OTA5MikKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2dlbmVyaWMvRXZlbnRDb25zdHJ1Y3RvcnMuaAkod29ya2luZyBjb3B5KQpAQCAtMTM0LDYg
KzEzNCwxNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIEZJTExfUFJPUEVSVFkodmVy
dGljYWxPdmVyZmxvdykgXAogICAgIERJQ1RJT05BUllfRU5EKE92ZXJmbG93RXZlbnQpCiAKKyNp
ZiBFTkFCTEUoVklERU9fVFJBQ0spCisjZGVmaW5lIElOU1RBTlRJQVRFX0lOSVRJQUxJWklOR19D
T05TVFJVQ1RPUl9GT1JfVFJBQ0tfRVZFTlQoRElDVElPTkFSWV9TVEFSVCwgRElDVElPTkFSWV9F
TkQsIEZJTExfUEFSRU5UX1BST1BFUlRJRVMsIEZJTExfUFJPUEVSVFkpIFwKKyAgICBcCisgICAg
RElDVElPTkFSWV9TVEFSVChUcmFja0V2ZW50KSBcCisgICAgICAgIEZJTExfUEFSRU5UX1BST1BF
UlRJRVMoRXZlbnQpIFwKKyAgICAgICAgRklMTF9QUk9QRVJUWSh0cmFjaykgXAorICAgIERJQ1RJ
T05BUllfRU5EKFRyYWNrRXZlbnQpCisjZWxzZQorI2RlZmluZSBJTlNUQU5USUFURV9JTklUSUFM
SVpJTkdfQ09OU1RSVUNUT1JfRk9SX1RSQUNLX0VWRU5UKERJQ1RJT05BUllfU1RBUlQsIERJQ1RJ
T05BUllfRU5ELCBGSUxMX1BBUkVOVF9QUk9QRVJUSUVTLCBGSUxMX1BST1BFUlRZKQorI2VuZGlm
CiAKICNkZWZpbmUgSU5TVEFOVElBVEVfQUxMX0VWRU5UX0lOSVRJQUxJWklOR19DT05TVFJVQ1RP
UlMoRElDVElPTkFSWV9TVEFSVCwgRElDVElPTkFSWV9FTkQsIEZJTExfUEFSRU5UX1BST1BFUlRJ
RVMsIEZJTExfUFJPUEVSVFkpIFwKICAgICBJTlNUQU5USUFURV9JTklUSUFMSVpJTkdfQ09OU1RS
VUNUT1JfRk9SX0VWRU5UKERJQ1RJT05BUllfU1RBUlQsIERJQ1RJT05BUllfRU5ELCBGSUxMX1BB
UkVOVF9QUk9QRVJUSUVTLCBGSUxMX1BST1BFUlRZKSBcCkBAIC0xNDksNyArMTU5LDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgIElOU1RBTlRJQVRFX0lOSVRJQUxJWklOR19DT05TVFJVQ1RP
Ul9GT1JfV0VCS0lUX1RSQU5TSVRJT05fRVZFTlQoRElDVElPTkFSWV9TVEFSVCwgRElDVElPTkFS
WV9FTkQsIEZJTExfUEFSRU5UX1BST1BFUlRJRVMsIEZJTExfUFJPUEVSVFkpIFwKICAgICBJTlNU
QU5USUFURV9JTklUSUFMSVpJTkdfQ09OU1RSVUNUT1JfRk9SX0JFRk9SRV9MT0FEX0VWRU5UKERJ
Q1RJT05BUllfU1RBUlQsIERJQ1RJT05BUllfRU5ELCBGSUxMX1BBUkVOVF9QUk9QRVJUSUVTLCBG
SUxMX1BST1BFUlRZKSBcCiAgICAgSU5TVEFOVElBVEVfSU5JVElBTElaSU5HX0NPTlNUUlVDVE9S
X0ZPUl9PVkVSRkxPV19FVkVOVChESUNUSU9OQVJZX1NUQVJULCBESUNUSU9OQVJZX0VORCwgRklM
TF9QQVJFTlRfUFJPUEVSVElFUywgRklMTF9QUk9QRVJUWSkgXAotCisgICAgSU5TVEFOVElBVEVf
SU5JVElBTElaSU5HX0NPTlNUUlVDVE9SX0ZPUl9UUkFDS19FVkVOVChESUNUSU9OQVJZX1NUQVJU
LCBESUNUSU9OQVJZX0VORCwgRklMTF9QQVJFTlRfUFJPUEVSVElFUywgRklMTF9QUk9QRVJUWSkg
XAogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2dvYmplY3QvR05VbWFrZWZpbGUuYW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvZ29iamVjdC9HTlVtYWtlZmlsZS5hbQkocmV2aXNpb24gOTkwOTIpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L0dOVW1ha2VmaWxlLmFtCSh3b3JraW5nIGNvcHkp
CkBAIC00MTAsMTQgKzQxMCwxNyBAQCBpZiBFTkFCTEVfVklERU9fVFJBQ0sKIHdlYmtpdGd0a19i
dWlsdF9oX2FwaSArPSBcCiAJJCh0b3BfYnVpbGRkaXIpL0Rlcml2ZWRTb3VyY2VzL3dlYmtpdC9X
ZWJLaXRET01UZXh0VHJhY2suaCBcCiAJJCh0b3BfYnVpbGRkaXIpL0Rlcml2ZWRTb3VyY2VzL3dl
YmtpdC9XZWJLaXRET01UZXh0VHJhY2tDdWUuaCBcCi0JJCh0b3BfYnVpbGRkaXIpL0Rlcml2ZWRT
b3VyY2VzL3dlYmtpdC9XZWJLaXRET01UZXh0VHJhY2tDdWVMaXN0LmgKKwkkKHRvcF9idWlsZGRp
cikvRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVRleHRUcmFja0N1ZUxpc3QuaCBcCisJ
JCh0b3BfYnVpbGRkaXIpL0Rlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01UcmFja0V2ZW50
LmgKIHdlYmtpdGd0a19nZG9tX2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL3dl
YmtpdC9XZWJLaXRET01UZXh0VHJhY2suY3BwIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2Vi
S2l0RE9NVGV4dFRyYWNrUHJpdmF0ZS5oIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0
RE9NVGV4dFRyYWNrQ3VlLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVRl
eHRUcmFja0N1ZVByaXZhdGUuaCBcCiAJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVRl
eHRUcmFja0N1ZUxpc3QuY3BwIFwKLQlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NVGV4
dFRyYWNrQ3VlTGlzdFByaXZhdGUuaAorCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01U
ZXh0VHJhY2tDdWVMaXN0UHJpdmF0ZS5oIFwKKwlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0
RE9NVHJhY2tFdmVudC5jcHAgXAorCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01UcmFj
a0V2ZW50UHJpdmF0ZS5oCiBlbmRpZgogCiBnZG9tX2NsYXNzX2xpc3QgOj0gJChzdWJzdCBXZWJL
aXRET00sLCAkKGZpbHRlci1vdXQgJVByaXZhdGUsICQoYmFzZW5hbWUgJChub3RkaXIgJCh3ZWJr
aXRndGtfZ2RvbV9idWlsdF9zb3VyY2VzKSkpKSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2dvYmplY3QvV2ViS2l0SFRNTEVsZW1lbnRXcmFwcGVyRmFjdG9yeS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJLaXRIVE1MRWxlbWVudFdy
YXBwZXJGYWN0b3J5LmNwcAkocmV2aXNpb24gOTkwOTIpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9nb2JqZWN0L1dlYktpdEhUTUxFbGVtZW50V3JhcHBlckZhY3RvcnkuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0xNjIsNiArMTYyLDcgQEAKICNpbmNsdWRlICJ3ZWJraXQvV2ViS2l0RE9NVGV4
dFRyYWNrQ3VlTGlzdFByaXZhdGUuaCIKICNpbmNsdWRlICJ3ZWJraXQvV2ViS2l0RE9NVGV4dFRy
YWNrQ3VlUHJpdmF0ZS5oIgogI2luY2x1ZGUgIndlYmtpdC9XZWJLaXRET01UZXh0VHJhY2tQcml2
YXRlLmgiCisjaW5jbHVkZSAid2Via2l0L1dlYktpdERPTVRyYWNrRXZlbnRQcml2YXRlLmgiCiAj
ZW5kaWYKICAKICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0JpbmRpbmdzQWxsSW5PbmUuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQmluZGluZ3NBbGxJbk9uZS5jcHAJKHJldmlzaW9u
IDk5MDkyKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNCaW5kaW5nc0FsbEluT25l
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQwLDYgKzE0MCw4IEBACiAjaW5jbHVkZSAiSlNUZXh0
Q3VzdG9tLmNwcCIKICNpbmNsdWRlICJKU1RvdWNoQ3VzdG9tLmNwcCIKICNpbmNsdWRlICJKU1Rv
dWNoTGlzdEN1c3RvbS5jcHAiCisjaW5jbHVkZSAiSlNUcmFja0N1c3RvbS5jcHAiCisjaW5jbHVk
ZSAiSlNUcmFja0V2ZW50Q3VzdG9tLmNwcCIKICNpbmNsdWRlICJKU1RyZWVXYWxrZXJDdXN0b20u
Y3BwIgogI2luY2x1ZGUgIkpTVWludDE2QXJyYXlDdXN0b20uY3BwIgogI2luY2x1ZGUgIkpTVWlu
dDMyQXJyYXlDdXN0b20uY3BwIgpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNE
aWN0aW9uYXJ5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RpY3Rpb25hcnkuY3BwCShyZXZpc2lvbiA5OTA5MikKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRGljdGlvbmFyeS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDYgKzMwLDcgQEAK
ICNpbmNsdWRlICJKU0V2ZW50VGFyZ2V0LmgiCiAjaW5jbHVkZSAiSlNNZXNzYWdlUG9ydEN1c3Rv
bS5oIgogI2luY2x1ZGUgIkpTTm9kZS5oIgorI2luY2x1ZGUgIkpTVHJhY2tDdXN0b20uaCIKICNp
bmNsdWRlICJTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCIKICNpbmNsdWRlICJTY3JpcHRWYWx1ZS5o
IgogCkBAIC0xMjQsNCArMTI1LDExIEBAIHZvaWQgSlNEaWN0aW9uYXJ5Ojpjb252ZXJ0VmFsdWUo
RXhlY1N0YXQKICAgICBmaWxsTWVzc2FnZVBvcnRBcnJheShleGVjLCB2YWx1ZSwgcmVzdWx0KTsK
IH0KIAorI2lmIEVOQUJMRShWSURFT19UUkFDSykKK3ZvaWQgSlNEaWN0aW9uYXJ5Ojpjb252ZXJ0
VmFsdWUoRXhlY1N0YXRlKiwgSlNWYWx1ZSB2YWx1ZSwgUmVmUHRyPFRyYWNrQmFzZT4mIHJlc3Vs
dCkKK3sKKyAgICByZXN1bHQgPSB0b1RyYWNrKHZhbHVlKTsKK30KKyNlbmRpZgorCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RpY3Rp
b25hcnkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RpY3Rp
b25hcnkuaAkocmV2aXNpb24gOTkwOTIpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RpY3Rpb25hcnkuaAkod29ya2luZyBjb3B5KQpAQCAtMzcsNiArMzcsNyBAQCBjbGFzcyBFdmVu
dFRhcmdldDsKIGNsYXNzIE5vZGU7CiBjbGFzcyBTY3JpcHRWYWx1ZTsKIGNsYXNzIFNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZTsKK2NsYXNzIFRyYWNrQmFzZTsKIAogY2xhc3MgSlNEaWN0aW9uYXJ5IHsK
IHB1YmxpYzoKQEAgLTczLDYgKzc0LDkgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgdm9pZCBjb252
ZXJ0VmFsdWUoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTVmFsdWUsIFJlZlB0cjxFdmVudFRhcmdl
dD4mIHJlc3VsdCk7CiAgICAgc3RhdGljIHZvaWQgY29udmVydFZhbHVlKEpTQzo6RXhlY1N0YXRl
KiwgSlNDOjpKU1ZhbHVlLCBSZWZQdHI8Tm9kZT4mIHJlc3VsdCk7CiAgICAgc3RhdGljIHZvaWQg
Y29udmVydFZhbHVlKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU1ZhbHVlLCBNZXNzYWdlUG9ydEFy
cmF5JiByZXN1bHQpOworI2lmIEVOQUJMRShWSURFT19UUkFDSykKKyAgICBzdGF0aWMgdm9pZCBj
b252ZXJ0VmFsdWUoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTVmFsdWUsIFJlZlB0cjxUcmFja0Jh
c2U+JiByZXN1bHQpOworI2VuZGlmCiAKICAgICBKU0M6OkV4ZWNTdGF0ZSogbV9leGVjOwogICAg
IEpTQzo6SlNPYmplY3QqIG1faW5pdGlhbGl6ZXJPYmplY3Q7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q29uc3RydWN0b3JzLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q29uc3RydWN0b3JzLmNwcAkocmV2aXNpb24g
OTkwOTIpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q29uc3RydWN0b3Jz
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTUsNiArNTUsMTEgQEAKICNpbmNsdWRlICJXZWJLaXRU
cmFuc2l0aW9uRXZlbnQuaCIKICNpbmNsdWRlIDxydW50aW1lL0Vycm9yLmg+CiAKKyNpZiBFTkFC
TEUoVklERU9fVFJBQ0spCisjaW5jbHVkZSAiSlNUcmFja0V2ZW50LmgiCisjaW5jbHVkZSAiVHJh
Y2tFdmVudC5oIgorI2VuZGlmCisKIHVzaW5nIG5hbWVzcGFjZSBKU0M7CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTVHJhY2tDdXN0b20u
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTVHJhY2tDdXN0
b20uY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNUcmFj
a0N1c3RvbS5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsODQgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoVklERU9fVFJBQ0spCisKKyNpbmNsdWRlICJK
U1RyYWNrQ3VzdG9tLmgiCisKKyNpbmNsdWRlICJKU1RleHRUcmFjay5oIgorCit1c2luZyBuYW1l
c3BhY2UgSlNDOworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1RyYWNrQmFzZSogdG9UcmFjayhK
U1ZhbHVlIHZhbHVlKQoreworICAgIGlmICghdmFsdWUuaXNPYmplY3QoKSkKKyAgICAgICAgcmV0
dXJuIDA7CisKKyAgICBKU09iamVjdCogb2JqZWN0ID0gYXNPYmplY3QodmFsdWUpOworICAgIGlm
IChvYmplY3QtPmluaGVyaXRzKCZKU1RleHRUcmFjazo6c19pbmZvKSkKKyAgICAgICAgcmV0dXJu
IHN0YXRpY19jYXN0PEpTVGV4dFRyYWNrKj4ob2JqZWN0KS0+aW1wbCgpOworICAgIAorICAgIC8v
IEZJWE1FOiBGaWxsIGluIGFkZGl0aW9uYWwgdGVzdHMgYW5kIGNhc3RzIGhlcmUgZm9yIFZpZGVv
VHJhY2sgYW5kIEF1ZGlvVHJhY2sgd2hlbiAKKyAgICAvLyB0aGV5IGhhdmUgYmVlbiBhZGRlZCB0
byBXZWJDb3JlLgorCisgICAgcmV0dXJuIDA7Cit9CisKK0pTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6
RXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUcmFja0Jh
c2UqIHRyYWNrKQoreworICAgIGlmICghdHJhY2spCisgICAgICAgIHJldHVybiBqc051bGwoKTsK
KyAgICAKKyAgICBKU0RPTVdyYXBwZXIqIHdyYXBwZXIgPSBnZXRDYWNoZWRXcmFwcGVyKGN1cnJl
bnRXb3JsZChleGVjKSwgdHJhY2spOworICAgIGlmICh3cmFwcGVyKQorICAgICAgICByZXR1cm4g
d3JhcHBlcjsKKyAgICAKKyAgICBzd2l0Y2ggKHRyYWNrLT50eXBlKCkpIHsKKyAgICBjYXNlIFRy
YWNrQmFzZTo6QmFzZVRyYWNrOgorICAgICAgICAvLyBUaGlzIHNob3VsZCBuZXZlciBoYXBwZW4u
CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICBicmVhazsKKyAgICAgICAg
CisgICAgY2FzZSBUcmFja0Jhc2U6OkF1ZGlvVHJhY2s6CisgICAgY2FzZSBUcmFja0Jhc2U6OlZp
ZGVvVHJhY2s6CisgICAgICAgIC8vIFRoaXMgc2hvdWxkIG5vdCBoYXBwZW4gdW50aWwgVmlkZW9U
cmFjayBhbmQgQXVkaW9UcmFjayBhcmUgaW1wbGVtZW50ZWQuCisgICAgICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOworICAgICAgICBicmVhazsKKworICAgIGNhc2UgVHJhY2tCYXNlOjpUZXh0VHJh
Y2s6CisgICAgICAgIHJldHVybiBDUkVBVEVfRE9NX1dSQVBQRVIoZXhlYywgZ2xvYmFsT2JqZWN0
LCBUZXh0VHJhY2ssIHRyYWNrKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIAorICAgIHJl
dHVybiBqc051bGwoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTVHJhY2tDdXN0b20uaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1RyYWNrQ3VzdG9tLmgJKHJldmlzaW9u
IDApCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1RyYWNrQ3VzdG9tLmgJKHJldmlz
aW9uIDApCkBAIC0wLDAgKzEsNDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUg
SW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAor
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBKU1RyYWNrQ3VzdG9t
X2gKKyNkZWZpbmUgSlNUcmFja0N1c3RvbV9oCisKKyNpZiBFTkFCTEUoVklERU9fVFJBQ0spCisK
KyNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKKyNpbmNsdWRlICJUcmFja0Jhc2UuaCIKKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitUcmFja0Jhc2UqIHRvVHJhY2soSlNDOjpKU1ZhbHVlKTsKK0pT
Qzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqLCBUcmFj
a0Jhc2UqKTsKKworfQorCisjZW5kaWYKKyNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNUcmFja0V2ZW50Q3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU1RyYWNrRXZlbnRDdXN0b20uY3BwCShyZXZpc2lvbiAwKQorKysg
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNUcmFja0V2ZW50Q3VzdG9tLmNwcAkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSw1MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKwor
I2lmIEVOQUJMRShWSURFT19UUkFDSykKKworI2luY2x1ZGUgIkpTVHJhY2tFdmVudC5oIgorCisj
aW5jbHVkZSAiSlNUcmFja0N1c3RvbS5oIgorI2luY2x1ZGUgIlRyYWNrQmFzZS5oIgorCit1c2lu
ZyBuYW1lc3BhY2UgSlNDOworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0pTVmFsdWUgSlNUcmFj
a0V2ZW50Ojp0cmFjayhFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0Cit7CisgICAgVHJhY2tCYXNlKiB0
cmFjayA9IHN0YXRpY19jYXN0PFRyYWNrRXZlbnQqPihpbXBsKCkpLT50cmFjaygpOworICAgIGlm
ICghdHJhY2spCisgICAgICAgIHJldHVybiBqc051bGwoKTsKKworICAgIHJldHVybiB0b0pTKGV4
ZWMsIGdsb2JhbE9iamVjdCgpLCB0cmFjayk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
KworI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9PcHRpb25zT2JqZWN0
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9PcHRpb25zT2Jq
ZWN0LmNwcAkocmV2aXNpb24gOTkwOTIpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9P
cHRpb25zT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzcsNiArMzcsMTEgQEAKICNpbmNs
dWRlICJWOElEQktleVJhbmdlLmgiCiAjZW5kaWYKIAorI2lmIEVOQUJMRShWSURFT19UUkFDSykK
KyNpbmNsdWRlICJUcmFja0Jhc2UuaCIKKyNpbmNsdWRlICJWOFRleHRUcmFjay5oIgorI2VuZGlm
CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogT3B0aW9uc09iamVjdDo6T3B0aW9uc09iamVjdCgp
CkBAIC0yMjcsNCArMjMyLDI2IEBAIGJvb2wgT3B0aW9uc09iamVjdDo6Z2V0V2l0aFVuZGVmaW5l
ZE9yTnUKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorI2lmIEVOQUJMRShWSURFT19UUkFDSykKK2Jv
b2wgT3B0aW9uc09iamVjdDo6Z2V0KGNvbnN0IFN0cmluZyYga2V5LCBSZWZQdHI8VHJhY2tCYXNl
PiYgdmFsdWUpIGNvbnN0Cit7CisgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdjhWYWx1ZTsKKyAg
ICBpZiAoIWdldEtleShrZXksIHY4VmFsdWUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAg
ICBUcmFja0Jhc2UqIHNvdXJjZSA9IDA7CisgICAgaWYgKHY4VmFsdWUtPklzT2JqZWN0KCkpIHsK
KyAgICAgICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwcGVyID0gdjg6OkhhbmRsZTx2ODo6
T2JqZWN0Pjo6Q2FzdCh2OFZhbHVlKTsKKworICAgICAgICAvLyBGSVhNRTogdGhpcyB3aWxsIG5l
ZWQgdG8gYmUgY2hhbmdlZCBzbyBpdCBjYW4gYWxzbyByZXR1cm4gYW4gQXVkaW9UcmFjayBvciBh
IFZpZGVvVHJhY2sgb25jZQorICAgICAgICAvLyB3ZSBhZGQgdGhlbS4KKyAgICAgICAgdjg6Okhh
bmRsZTx2ODo6T2JqZWN0PiB0cmFjayA9IFY4RE9NV3JhcHBlcjo6bG9va3VwRE9NV3JhcHBlcihW
OFRleHRUcmFjazo6R2V0VGVtcGxhdGUoKSwgd3JhcHBlcik7CisgICAgICAgIGlmICghdHJhY2su
SXNFbXB0eSgpKQorICAgICAgICAgICAgc291cmNlID0gVjhUZXh0VHJhY2s6OnRvTmF0aXZlKHRy
YWNrKTsKKyAgICB9CisgICAgdmFsdWUgPSBzb3VyY2U7CisgICAgcmV0dXJuIHRydWU7Cit9Cisj
ZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvT3B0aW9uc09iamVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L09wdGlvbnNPYmplY3QuaAkocmV2aXNpb24gOTkwOTIpCisrKyBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9PcHRpb25zT2JqZWN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTM2LDYg
KzM2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRE9NU3RyaW5nTGlzdDsKIGNsYXNz
IERPTVdpbmRvdzsKIGNsYXNzIElEQktleVJhbmdlOworY2xhc3MgVHJhY2tCYXNlOwogCiBjbGFz
cyBPcHRpb25zT2JqZWN0IHsKIHB1YmxpYzoKQEAgLTU3LDYgKzU4LDkgQEAgcHVibGljOgogICAg
IGJvb2wgZ2V0KGNvbnN0IFN0cmluZyYsIHVuc2lnbmVkIGxvbmcgbG9uZyYpIGNvbnN0OwogICAg
IGJvb2wgZ2V0KGNvbnN0IFN0cmluZyYsIFJlZlB0cjxET01XaW5kb3c+JikgY29uc3Q7CiAgICAg
Ym9vbCBnZXQoY29uc3QgU3RyaW5nJiwgTWVzc2FnZVBvcnRBcnJheSYpIGNvbnN0OworI2lmIEVO
QUJMRShWSURFT19UUkFDSykKKyAgICBib29sIGdldChjb25zdCBTdHJpbmcmIGtleSwgUmVmUHRy
PFRyYWNrQmFzZT4mIHZhbHVlKSBjb25zdDsKKyNlbmRpZgogCiAgICAgYm9vbCBnZXRXaXRoVW5k
ZWZpbmVkT3JOdWxsQ2hlY2soY29uc3QgU3RyaW5nJiwgU3RyaW5nJikgY29uc3Q7CiAKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEV2ZW50Q29uc3RydWN0b3JzLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhFdmVu
dENvbnN0cnVjdG9ycy5jcHAJKHJldmlzaW9uIDk5MDkyKQorKysgU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4RXZlbnRDb25zdHJ1Y3RvcnMuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC02Nyw2ICs2NywxMSBAQAogI2luY2x1ZGUgIlY4V2ViS2l0QW5pbWF0aW9uRXZlbnQuaCIKICNp
bmNsdWRlICJWOFdlYktpdFRyYW5zaXRpb25FdmVudC5oIgogCisjaWYgRU5BQkxFKFZJREVPX1RS
QUNLKQorI2luY2x1ZGUgIlRyYWNrRXZlbnQuaCIKKyNpbmNsdWRlICJWOFRyYWNrRXZlbnQuaCIK
KyNlbmRpZgorCiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CkBAIC0xMzIsNiArMTM3LDYgQEAgSU5TVEFOVElBVEVfSU5JVElBTElaSU5HX0NPTlNUUlVDVE9S
X0ZPUgogSU5TVEFOVElBVEVfSU5JVElBTElaSU5HX0NPTlNUUlVDVE9SX0ZPUl9CRUZPUkVfTE9B
RF9FVkVOVChESUNUSU9OQVJZX1NUQVJULCBESUNUSU9OQVJZX0VORCwgRklMTF9QQVJFTlRfUFJP
UEVSVElFUywgRklMTF9QUk9QRVJUWSkKIElOU1RBTlRJQVRFX0lOSVRJQUxJWklOR19DT05TVFJV
Q1RPUl9GT1JfT1ZFUkZMT1dfRVZFTlQoRElDVElPTkFSWV9TVEFSVCwgRElDVElPTkFSWV9FTkQs
IEZJTExfUEFSRU5UX1BST1BFUlRJRVMsIEZJTExfUFJPUEVSVFkpCiBJTlNUQU5USUFURV9JTklU
SUFMSVpJTkdfQ09OU1RSVUNUT1JfRk9SX01FU1NBR0VfRVZFTlQoRElDVElPTkFSWV9TVEFSVCwg
RElDVElPTkFSWV9FTkQsIEZJTExfUEFSRU5UX1BST1BFUlRJRVMsIEZJTExfUFJPUEVSVFkpCi0K
K0lOU1RBTlRJQVRFX0lOSVRJQUxJWklOR19DT05TVFJVQ1RPUl9GT1JfVFJBQ0tfRVZFTlQoRElD
VElPTkFSWV9TVEFSVCwgRElDVElPTkFSWV9FTkQsIEZJTExfUEFSRU5UX1BST1BFUlRJRVMsIEZJ
TExfUFJPUEVSVFkpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFRyYWNrRXZlbnRDdXN0b20uY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFRyYWNrRXZlbnRDdXN0b20u
Y3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
VHJhY2tFdmVudEN1c3RvbS5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNzUgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlz
dHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3Ig
dGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwor
ICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoVklERU9fVFJBQ0spCisKKyNpbmNsdWRlICJWOFRy
YWNrRXZlbnQuaCIKKworI2luY2x1ZGUgIlRyYWNrQmFzZS5oIgorI2luY2x1ZGUgIlRyYWNrRXZl
bnQuaCIKKyNpbmNsdWRlICJWOFByb3h5LmgiCisjaW5jbHVkZSAiVjhUZXh0VHJhY2suaCIKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCit2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhUcmFja0V2ZW50
Ojp0cmFja0FjY2Vzc29yR2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBuYW1lLCBjb25zdCB2
ODo6QWNjZXNzb3JJbmZvJiBpbmZvKQoreworICAgIElOQ19TVEFUUygiRE9NLlRyYWNrRXZlbnQu
dHJhY2siKTsKKyAgICBUcmFja0V2ZW50KiB0cmFja19ldmVudCA9IFY4VHJhY2tFdmVudDo6dG9O
YXRpdmUoaW5mby5Ib2xkZXIoKSk7CisgICAgVHJhY2tCYXNlKiB0cmFjayA9IHRyYWNrX2V2ZW50
LT50cmFjaygpOworICAgIAorICAgIGlmICghdHJhY2spCisgICAgICAgIHJldHVybiB2ODo6TnVs
bCgpOworCisgICAgc3dpdGNoICh0cmFjay0+dHlwZSgpKSB7CisgICAgY2FzZSBUcmFja0Jhc2U6
OkJhc2VUcmFjazoKKyAgICAgICAgLy8gVGhpcyBzaG91bGQgbmV2ZXIgaGFwcGVuLgorICAgICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgYnJlYWs7CisgICAgICAgIAorICAgIGNh
c2UgVHJhY2tCYXNlOjpUZXh0VHJhY2s6CisgICAgICAgIHJldHVybiB0b1Y4KHN0YXRpY19jYXN0
PFRleHRUcmFjayo+KHRyYWNrKSk7CisgICAgICAgIGJyZWFrOworCisgICAgY2FzZSBUcmFja0Jh
c2U6OkF1ZGlvVHJhY2s6CisgICAgY2FzZSBUcmFja0Jhc2U6OlZpZGVvVHJhY2s6CisgICAgICAg
IC8vIFRoaXMgc2hvdWxkIG5vdCBoYXBwZW4gdW50aWwgVmlkZW9UcmFjayBhbmQgQXVkaW9UcmFj
ayBhcmUgaW1wbGVtZW50ZWQuCisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAg
ICBicmVhazsKKyAgICB9CisKKyAgICByZXR1cm4gdjg6Ok51bGwoKTsKK30KKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQorCisjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudEZh
Y3RvcnkuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RmFjdG9yeS5p
bgkocmV2aXNpb24gOTkwOTIpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRGYWN0b3J5Lmlu
CSh3b3JraW5nIGNvcHkpCkBAIC00MSwzICs0MSw1IEBAIFRvdWNoRXZlbnQgY29uZGl0aW9uYWw9
VE9VQ0hfRVZFTlRTCiBEZXZpY2VNb3Rpb25FdmVudCBjb25kaXRpb25hbD1ERVZJQ0VfT1JJRU5U
QVRJT04KIERldmljZU9yaWVudGF0aW9uRXZlbnQgY29uZGl0aW9uYWw9REVWSUNFX09SSUVOVEFU
SU9OCiBPcmllbnRhdGlvbkV2ZW50IGludGVyZmFjZU5hbWU9RXZlbnQsIGNvbmRpdGlvbmFsPU9S
SUVOVEFUSU9OX0VWRU5UUworVHJhY2tFdmVudCBjb25kaXRpb25hbD1WSURFT19UUkFDSworCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgJKHJldmlzaW9uIDk5MDkyKQorKysgU291cmNlL1dl
YkNvcmUvZG9tL0V2ZW50TmFtZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMTQ1LDYgKzE0NSw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyh2b2x1bWVjaGFuZ2UpIFwKICAgICBtYWNy
byh3YWl0aW5nKSBcCiAgICAgXAorICAgIG1hY3JvKGFkZHRyYWNrKSBcCisgICAgXAogICAgIG1h
Y3JvKHdlYmtpdGJlZ2luZnVsbHNjcmVlbikgXAogICAgIG1hY3JvKHdlYmtpdGVuZGZ1bGxzY3Jl
ZW4pIFwKICAgICBcCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL1RleHRUcmFjay5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9UZXh0VHJhY2suY3BwCShyZXZpc2lvbiA5
OTA5MikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvVGV4dFRyYWNrLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzUsMTEgKzM1LDEzIEBACiAjaW5jbHVkZSAiVGV4dFRyYWNrLmgiCiAKICNpbmNsdWRl
ICJUZXh0VHJhY2tDdWVMaXN0LmgiCisjaW5jbHVkZSAiVHJhY2tCYXNlLmgiCiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogVGV4dFRyYWNrOjpUZXh0VHJhY2soVGV4dFRyYWNrQ2xpZW50KiBjbGll
bnQsIGNvbnN0IFN0cmluZyYga2luZCwgY29uc3QgU3RyaW5nJiBsYWJlbCwgY29uc3QgU3RyaW5n
JiBsYW5ndWFnZSkKLSAgICA6IG1fa2luZChraW5kKQorICAgIDogVHJhY2tCYXNlKFRyYWNrQmFz
ZTo6VGV4dFRyYWNrKQorICAgICwgbV9raW5kKGtpbmQpCiAgICAgLCBtX2xhYmVsKGxhYmVsKQog
ICAgICwgbV9sYW5ndWFnZShsYW5ndWFnZSkKICAgICAsIG1fcmVhZHlTdGF0ZShUZXh0VHJhY2s6
Ok5PTkUpCkBAIC0xMzIsNyArMTM0LDYgQEAgdm9pZCBUZXh0VHJhY2s6OmZldGNoTmV3ZXN0Q3Vl
cyhWZWN0b3I8VAogICAgIC8vIEZJWE1FKDYyODkwKTogSW1wbGVtZW50LgogfQogCi0KIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL1Rl
eHRUcmFjay5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvVGV4dFRyYWNrLmgJ
KHJldmlzaW9uIDk5MDkyKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9UZXh0VHJhY2suaAkod29y
a2luZyBjb3B5KQpAQCAtMjksNiArMjksNyBAQAogI2lmIEVOQUJMRShWSURFT19UUkFDSykKIAog
I2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKKyNpbmNsdWRlICJUcmFja0Jhc2UuaCIKICNpbmNs
dWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5j
bHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CkBAIC01MSw3ICs1Miw3IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIHZvaWQgdGV4dFRyYWNrUmVtb3ZlQ3VlKFRleHRUcmFjayosIFBhc3NSZWZQdHI8
VGV4dFRyYWNrQ3VlPikgPSAwOwogfTsKIAotY2xhc3MgVGV4dFRyYWNrIDogcHVibGljIFJlZkNv
dW50ZWQ8VGV4dFRyYWNrPiB7CitjbGFzcyBUZXh0VHJhY2sgOiBwdWJsaWMgVHJhY2tCYXNlIHsK
IHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxUZXh0VHJhY2s+IGNyZWF0ZShUZXh0VHJh
Y2tDbGllbnQqIGNsaWVudCwgY29uc3QgU3RyaW5nJiBraW5kLCBjb25zdCBTdHJpbmcmIGxhYmVs
LCBjb25zdCBTdHJpbmcmIGxhbmd1YWdlKQogICAgIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0
bWwvdHJhY2svVHJhY2tCYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1s
L3RyYWNrL1RyYWNrQmFzZS5jcHAJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViQ29yZS9odG1s
L3RyYWNrL1RyYWNrQmFzZS5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVS
LCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIs
IElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisg
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisg
Ki8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlRyYWNrQmFzZS5oIgorCisjaWYg
RU5BQkxFKFZJREVPX1RSQUNLKQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1RyYWNrQmFzZTo6
VHJhY2tCYXNlKFR5cGUgdHlwZSkKK3sKKyAgICBBU1NFUlQodHlwZSAhPSBCYXNlVHJhY2spOwor
ICAgIG1fdHlwZSA9IHR5cGU7Cit9CisKK1RyYWNrQmFzZTo6flRyYWNrQmFzZSgpCit7Cit9CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9o
dG1sL3RyYWNrL1RyYWNrQmFzZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwv
dHJhY2svVHJhY2tCYXNlLmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL3Ry
YWNrL1RyYWNrQmFzZS5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDUyIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMu
IE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisK
KyNpZm5kZWYgVHJhY2tCYXNlX2gKKyNkZWZpbmUgVHJhY2tCYXNlX2gKKworI2lmIEVOQUJMRShW
SURFT19UUkFDSykKKworI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworY2xhc3MgVHJhY2tCYXNlIDogcHVibGljIFJlZkNvdW50ZWQ8VHJhY2tCYXNl
PiB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+VHJhY2tCYXNlKCk7CisKKyAgICBlbnVtIFR5cGUg
eyBCYXNlVHJhY2ssIFRleHRUcmFjaywgQXVkaW9UcmFjaywgVmlkZW9UcmFjayB9OworICAgIFR5
cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsgfQorCitwcm90ZWN0ZWQ6CisgICAgVHJh
Y2tCYXNlKFR5cGUpOworCitwcml2YXRlOgorICAgIFR5cGUgbV90eXBlOworfTsKKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKKyNlbmRpZiAvLyBUcmFja0Jhc2VfaApJbmRleDog
U291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UcmFja0V2ZW50LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RyYWNrRXZlbnQuY3BwCShyZXZpc2lvbiAwKQorKysg
U291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UcmFja0V2ZW50LmNwcAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSw2MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMuICBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
CisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFC
TEUoVklERU9fVFJBQ0spCisKKyNpbmNsdWRlICJUcmFja0V2ZW50LmgiCisKKyNpbmNsdWRlICJF
dmVudE5hbWVzLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworVHJhY2tFdmVudEluaXQ6OlRy
YWNrRXZlbnRJbml0KCkKK3sKK30KKworCitUcmFja0V2ZW50OjpUcmFja0V2ZW50KCkKK3sKK30K
KworVHJhY2tFdmVudDo6VHJhY2tFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0
IFRyYWNrRXZlbnRJbml0JiBpbml0aWFsaXplcikKKyAgICA6IEV2ZW50KHR5cGUsIGluaXRpYWxp
emVyKQorICAgICwgbV90cmFjayhpbml0aWFsaXplci50cmFjaykKK3sKK30KKworVHJhY2tFdmVu
dDo6flRyYWNrRXZlbnQoKQoreworfQorCitjb25zdCBBdG9taWNTdHJpbmcmIFRyYWNrRXZlbnQ6
OmludGVyZmFjZU5hbWUoKSBjb25zdAoreworICAgIHJldHVybiBldmVudE5hbWVzKCkuaW50ZXJm
YWNlRm9yVHJhY2tFdmVudDsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVHJhY2tFdmVudC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVHJhY2tFdmVudC5oCShyZXZpc2lvbiAwKQor
KysgU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UcmFja0V2ZW50LmgJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsNzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiAgQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBUcmFja0V2ZW50X2gKKyNkZWZpbmUg
VHJhY2tFdmVudF9oCisKKyNpZiBFTkFCTEUoVklERU9fVFJBQ0spCisKKyNpbmNsdWRlICJFdmVu
dC5oIgorI2luY2x1ZGUgIlRyYWNrQmFzZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0
cnVjdCBUcmFja0V2ZW50SW5pdCA6IHB1YmxpYyBFdmVudEluaXQgeworICAgIFRyYWNrRXZlbnRJ
bml0KCk7CisKKyAgICBSZWZQdHI8VHJhY2tCYXNlPiB0cmFjazsKK307CisKK2NsYXNzIFRyYWNr
RXZlbnQgOiBwdWJsaWMgRXZlbnQgeworcHVibGljOgorICAgIHZpcnR1YWwgflRyYWNrRXZlbnQo
KTsKKworICAgIHN0YXRpYyBQYXNzUmVmUHRyPFRyYWNrRXZlbnQ+IGNyZWF0ZSgpCisgICAgewor
ICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFRyYWNrRXZlbnQpOworICAgIH0KKworICAgIHN0
YXRpYyBQYXNzUmVmUHRyPFRyYWNrRXZlbnQ+IGNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcmIHR5
cGUsIGNvbnN0IFRyYWNrRXZlbnRJbml0JiBpbml0aWFsaXplcikKKyAgICB7CisgICAgICAgIHJl
dHVybiBhZG9wdFJlZihuZXcgVHJhY2tFdmVudCh0eXBlLCBpbml0aWFsaXplcikpOworICAgIH0K
KworICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBpbnRlcmZhY2VOYW1lKCkgY29uc3Q7
CisKKyAgICBUcmFja0Jhc2UqIHRyYWNrKCkgY29uc3QgeyByZXR1cm4gbV90cmFjay5nZXQoKTsg
fQorCitwcml2YXRlOgorICAgIFRyYWNrRXZlbnQoKTsKKyAgICBUcmFja0V2ZW50KGNvbnN0IEF0
b21pY1N0cmluZyYgdHlwZSwgY29uc3QgVHJhY2tFdmVudEluaXQmIGluaXRpYWxpemVyKTsKKwor
ICAgIHZpcnR1YWwgYm9vbCBpc1RyYWNrRXZlbnQoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CisK
KyAgICBSZWZQdHI8VHJhY2tCYXNlPiBtX3RyYWNrOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQorCisjZW5kaWYKKyNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9U
cmFja0V2ZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1Ry
YWNrRXZlbnQuaWRsCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9U
cmFja0V2ZW50LmlkbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzOSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMSBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBP
UgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCitt
b2R1bGUgaHRtbCB7CisKKyAgICBpbnRlcmZhY2UgWworICAgICAgICBDb25kaXRpb25hbD1WSURF
T19UUkFDSywKKyAgICAgICAgRW5hYmxlZEF0UnVudGltZT13ZWJraXRWaWRlb1RyYWNrLAorICAg
ICAgICBDYW5CZUNvbnN0cnVjdGVkLAorICAgICAgICBKU0N1c3RvbUNvbnN0cnVjdG9yLAorICAg
IF0gVHJhY2tFdmVudCA6IEV2ZW50IHsKKworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0N1
c3RvbUdldHRlcl0gb2JqZWN0IHRyYWNrOworCisgICAgfTsKKworfQpJbmRleDogU291cmNlL1dl
YkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvRE9NV2luZG93LmlkbAkocmV2aXNpb24gOTkwOTIpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdl
L0RPTVdpbmRvdy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTYxMyw2ICs2MTMsNyBAQCBtb2R1bGUg
d2luZG93IHsKICAgICAgICAgYXR0cmlidXRlIFtFbmFibGVkQXRSdW50aW1lPXdlYmtpdFZpZGVv
VHJhY2tdIFRleHRUcmFja0NvbnN0cnVjdG9yIFRleHRUcmFjazsKICAgICAgICAgYXR0cmlidXRl
IFtFbmFibGVkQXRSdW50aW1lPXdlYmtpdFZpZGVvVHJhY2tdIFRleHRUcmFja0N1ZUNvbnN0cnVj
dG9yIFRleHRUcmFja0N1ZTsgLy8gVXNhYmxlIHdpdGggdGhlIG5ldyBvcGVyYXRvcgogICAgICAg
ICBhdHRyaWJ1dGUgW0VuYWJsZWRBdFJ1bnRpbWU9d2Via2l0VmlkZW9UcmFja10gVGV4dFRyYWNr
Q3VlTGlzdENvbnN0cnVjdG9yIFRleHRUcmFja0N1ZUxpc3Q7CisgICAgICAgIGF0dHJpYnV0ZSBb
RW5hYmxlZEF0UnVudGltZT13ZWJraXRWaWRlb1RyYWNrXSBUcmFja0V2ZW50Q29uc3RydWN0b3Ig
VHJhY2tFdmVudDsKICNlbmRpZgogCiAgICAgICAgIGF0dHJpYnV0ZSBET01QbHVnaW5Db25zdHJ1
Y3RvciBQbHVnaW47CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA5OTA5MikKKysrIExheW91dFRlc3RzL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDExLTExLTAyICBFcmlj
IENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBUcmFja0V2
ZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE3
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFz
dC9ldmVudHMvY29uc3RydWN0b3JzL3RyYWNrLWV2ZW50LWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL3RyYWNrLWV2ZW50
LWNvbnN0cnVjdG9yLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL3Rl
c3RfZXhwZWN0YXRpb25zLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvZmFzdC9kb20vV2lu
ZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
dGsvZmFzdC9qcy9nbG9iYWwtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vU2tpcHBlZDoKKwog
MjAxMS0xMS0wMiAgVG9ueSBDaGFuZyAgPHRvbnlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIExh
bmQgY2hyb21pdW0gd2luL2xlb3BhcmQgYmFzZWxpbmVzIGZvciBwcmludGluZy9zZXRQcmludGlu
Zy5odG1sIGFuZCBwcmludGluZyBzaW5nbGUtbGluZS1tdXN0LW5vdC1iZS1zcGxpdC1pbnRvLXR3
by1wYWdlcy5odG1sLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY29uc3RydWN0b3Jz
L3RyYWNrLWV2ZW50LWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMvdHJhY2stZXZlbnQtY29uc3RydWN0b3It
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY29u
c3RydWN0b3JzL3RyYWNrLWV2ZW50LWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSwzOSBAQAorVGhpcyB0ZXN0cyB0aGUgY29uc3RydWN0b3IgZm9yIHRoZSBU
cmFja0V2ZW50IERPTSBjbGFzcy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKKwor
KioqIE5vIGluaXRpYWxpemVyIHBhc3NlZCAqKioKK1BBU1MgbmV3IFRyYWNrRXZlbnQoJ1RyYWNr
RXZlbnQnKS5idWJibGVzIGlzIGZhbHNlCitQQVNTIG5ldyBUcmFja0V2ZW50KCdUcmFja0V2ZW50
JykuY2FuY2VsYWJsZSBpcyBmYWxzZQorUEFTUyBuZXcgVHJhY2tFdmVudCgnVHJhY2tFdmVudCcp
LnRyYWNrIGlzIG51bGwKKworKioqIEJ1YmJsZXMgYW5kIGNhbmNlbGFibGUgdHJ1ZSwgdHJhY2sg
aXMgbWlzc2luZyAqKioKK1BBU1MgbmV3IFRyYWNrRXZlbnQoJ1RyYWNrRXZlbnQnLCB7IGJ1YmJs
ZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUgfSkuYnViYmxlcyBpcyB0cnVlCitQQVNTIG5ldyBU
cmFja0V2ZW50KCdUcmFja0V2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVl
IH0pLmNhbmNlbGFibGUgaXMgdHJ1ZQorUEFTUyBuZXcgVHJhY2tFdmVudCgnVHJhY2tFdmVudCcs
IHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSB9KS50cmFjayBpcyBudWxsCisKKyoq
KiBCdWJibGVzIGFuZCBjYW5jZWxhYmxlIHRydWUsIGludmFsaWQgdHJhY2sgKioqCitQQVNTIG5l
dyBUcmFja0V2ZW50KCdUcmFja0V2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0
cnVlLCB0cmFjazogSFRNTFRyYWNrRWxlbWVudCB9KS5idWJibGVzIGlzIHRydWUKK1BBU1MgbmV3
IFRyYWNrRXZlbnQoJ1RyYWNrRXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRy
dWUsIHRyYWNrOiBIVE1MVHJhY2tFbGVtZW50IH0pLmNhbmNlbGFibGUgaXMgdHJ1ZQorUEFTUyBu
ZXcgVHJhY2tFdmVudCgnVHJhY2tFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTog
dHJ1ZSwgdHJhY2s6IEhUTUxUcmFja0VsZW1lbnQgfSkudHJhY2sgaXMgbnVsbAorCisqKiogSW5p
dGlhbGl6ZSAndHJhY2snIHdpdGggYSBpbnZhbGlkIHZhbHVlcyAqKioKK1BBU1MgbmV3IFRyYWNr
RXZlbnQoJ1RyYWNrRXZlbnQnLCB7IHRyYWNrOiAxMCB9KS50cmFjayBpcyBudWxsCitQQVNTIG5l
dyBUcmFja0V2ZW50KCdUcmFja0V2ZW50JywgeyB0cmFjazogJ3N0cmluZycgfSkudHJhY2sgaXMg
bnVsbAorUEFTUyBuZXcgVHJhY2tFdmVudCgnVHJhY2tFdmVudCcsIHsgdHJhY2s6IGVtcHR5T2Jq
ZWN0IH0pLnRyYWNrIGlzIG51bGwKK1BBU1MgbmV3IFRyYWNrRXZlbnQoJ1RyYWNrRXZlbnQnLCB7
IHRyYWNrOiBkb2N1bWVudCB9KS50cmFjayBpcyBudWxsCisKKyoqKiBCdWJibGVzIGFuZCBjYW5j
ZWxhYmxlIHRydWUsIHZhbGlkIHRyYWNrICoqKgorUEFTUyBuZXcgVHJhY2tFdmVudCgnVHJhY2tF
dmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwgdHJhY2s6IEhUTUxUcmFj
a0VsZW1lbnQgfSkuYnViYmxlcyBpcyB0cnVlCitQQVNTIG5ldyBUcmFja0V2ZW50KCdUcmFja0V2
ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCB0cmFjazogSFRNTFRyYWNr
RWxlbWVudCB9KS5jYW5jZWxhYmxlIGlzIHRydWUKK1BBU1MgbmV3IFRyYWNrRXZlbnQoJ1RyYWNr
RXZlbnQnLCB7IHRyYWNrOiB0cmFja0VsZW1lbnQudHJhY2sgfSkudHJhY2sgaXMgdHJhY2tFbGVt
ZW50LnRyYWNrCisKKyoqKiBJbml0aWFsaXplICd0cmFjaycgd2l0aCB2YWxpZCB0cmFjayBvYmpl
Y3QgKioqCitQQVNTIG5ldyBUcmFja0V2ZW50KCdUcmFja0V2ZW50JywgeyB0cmFjazogdHJhY2tF
bGVtZW50LnRyYWNrIH0pLnRyYWNrIGlzIHRyYWNrRWxlbWVudC50cmFjaworCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL3RyYWNrLWV2ZW50LWNvbnN0cnVjdG9yLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL3RyYWNr
LWV2ZW50LWNvbnN0cnVjdG9yLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0
L2V2ZW50cy9jb25zdHJ1Y3RvcnMvdHJhY2stZXZlbnQtY29uc3RydWN0b3IuaHRtbAkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorCis8Ym9keT4KKyAgICA8c2NyaXB0PgorCisgICAgICAgIHdpbmRvdy5q
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0
aGUgY29uc3RydWN0b3IgZm9yIHRoZSBUcmFja0V2ZW50IERPTSBjbGFzcy4iKTsKKworICAgICAg
ICBmdW5jdGlvbiB0ZXN0KCkKKyAgICAgICAgeworICAgICAgICAgICAgLy8gTWFrZSBzdXJlIHRo
ZSB0cmFjayBhY3R1YWxseSBsb2FkZWQuCisgICAgICAgICAgICBzaG91bGRCZSgidHJhY2tFbGVt
ZW50LnRyYWNrLnJlYWR5U3RhdGUiLCAiVGV4dFRyYWNrLkxvYWRlZCIsIHRydWUpOworCisgICAg
ICAgICAgICBkZWJ1ZygiPGJyPioqKiBObyBpbml0aWFsaXplciBwYXNzZWQgKioqIik7CisgICAg
ICAgICAgICBzaG91bGRCZSgibmV3IFRyYWNrRXZlbnQoJ1RyYWNrRXZlbnQnKS5idWJibGVzIiwg
ImZhbHNlIik7CisgICAgICAgICAgICBzaG91bGRCZSgibmV3IFRyYWNrRXZlbnQoJ1RyYWNrRXZl
bnQnKS5jYW5jZWxhYmxlIiwgImZhbHNlIik7CisgICAgICAgICAgICBzaG91bGRCZU51bGwoIm5l
dyBUcmFja0V2ZW50KCdUcmFja0V2ZW50JykudHJhY2siKTsKKyAgICAKKyAgICAgICAgICAgIGRl
YnVnKCI8YnI+KioqIEJ1YmJsZXMgYW5kIGNhbmNlbGFibGUgdHJ1ZSwgdHJhY2sgaXMgbWlzc2lu
ZyAqKioiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJuZXcgVHJhY2tFdmVudCgnVHJhY2tFdmVu
dCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSB9KS5idWJibGVzIiwgInRydWUi
KTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJuZXcgVHJhY2tFdmVudCgnVHJhY2tFdmVudCcsIHsg
YnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSB9KS5jYW5jZWxhYmxlIiwgInRydWUiKTsK
KyAgICAgICAgICAgIHNob3VsZEJlTnVsbCgibmV3IFRyYWNrRXZlbnQoJ1RyYWNrRXZlbnQnLCB7
IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUgfSkudHJhY2siKTsKKyAgICAKKyAgICAg
ICAgICAgIGRlYnVnKCI8YnI+KioqIEJ1YmJsZXMgYW5kIGNhbmNlbGFibGUgdHJ1ZSwgaW52YWxp
ZCB0cmFjayAqKioiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJuZXcgVHJhY2tFdmVudCgnVHJh
Y2tFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwgdHJhY2s6IEhUTUxU
cmFja0VsZW1lbnQgfSkuYnViYmxlcyIsICJ0cnVlIik7CisgICAgICAgICAgICBzaG91bGRCZSgi
bmV3IFRyYWNrRXZlbnQoJ1RyYWNrRXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6
IHRydWUsIHRyYWNrOiBIVE1MVHJhY2tFbGVtZW50IH0pLmNhbmNlbGFibGUiLCAidHJ1ZSIpOwor
ICAgICAgICAgICAgc2hvdWxkQmVOdWxsKCJuZXcgVHJhY2tFdmVudCgnVHJhY2tFdmVudCcsIHsg
YnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwgdHJhY2s6IEhUTUxUcmFja0VsZW1lbnQg
fSkudHJhY2siKTsKKyAgICAKKyAgICAgICAgICAgIGRlYnVnKCI8YnI+KioqIEluaXRpYWxpemUg
J3RyYWNrJyB3aXRoIGEgaW52YWxpZCB2YWx1ZXMgKioqIik7CisgICAgICAgICAgICBzaG91bGRC
ZU51bGwoIm5ldyBUcmFja0V2ZW50KCdUcmFja0V2ZW50JywgeyB0cmFjazogMTAgfSkudHJhY2si
KTsKKyAgICAgICAgICAgIHNob3VsZEJlTnVsbCgibmV3IFRyYWNrRXZlbnQoJ1RyYWNrRXZlbnQn
LCB7IHRyYWNrOiBcJ3N0cmluZ1wnIH0pLnRyYWNrIik7CisgICAgICAgICAgICBlbXB0eU9iamVj
dCA9IHsgfTsKKyAgICAgICAgICAgIHNob3VsZEJlTnVsbCgibmV3IFRyYWNrRXZlbnQoJ1RyYWNr
RXZlbnQnLCB7IHRyYWNrOiBlbXB0eU9iamVjdCB9KS50cmFjayIpOworICAgICAgICAgICAgc2hv
dWxkQmVOdWxsKCJuZXcgVHJhY2tFdmVudCgnVHJhY2tFdmVudCcsIHsgdHJhY2s6IGRvY3VtZW50
IH0pLnRyYWNrIik7CisKKyAgICAgICAgICAgIGRlYnVnKCI8YnI+KioqIEJ1YmJsZXMgYW5kIGNh
bmNlbGFibGUgdHJ1ZSwgdmFsaWQgdHJhY2sgKioqIik7CisgICAgICAgICAgICBzaG91bGRCZSgi
bmV3IFRyYWNrRXZlbnQoJ1RyYWNrRXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6
IHRydWUsIHRyYWNrOiBIVE1MVHJhY2tFbGVtZW50IH0pLmJ1YmJsZXMiLCAidHJ1ZSIpOworICAg
ICAgICAgICAgc2hvdWxkQmUoIm5ldyBUcmFja0V2ZW50KCdUcmFja0V2ZW50JywgeyBidWJibGVz
OiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCB0cmFjazogSFRNTFRyYWNrRWxlbWVudCB9KS5jYW5j
ZWxhYmxlIiwgInRydWUiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJuZXcgVHJhY2tFdmVudCgn
VHJhY2tFdmVudCcsIHsgdHJhY2s6IHRyYWNrRWxlbWVudC50cmFjayB9KS50cmFjayIsICJ0cmFj
a0VsZW1lbnQudHJhY2siKTsKKworICAgICAgICAgICAgZGVidWcoIjxicj4qKiogSW5pdGlhbGl6
ZSAndHJhY2snIHdpdGggdmFsaWQgdHJhY2sgb2JqZWN0ICoqKiIpOworICAgICAgICAgICAgc2hv
dWxkQmUoIm5ldyBUcmFja0V2ZW50KCdUcmFja0V2ZW50JywgeyB0cmFjazogdHJhY2tFbGVtZW50
LnRyYWNrIH0pLnRyYWNrIiwgInRyYWNrRWxlbWVudC50cmFjayIpOworCisgICAgICAgICAgICBk
ZWJ1ZygiIik7CisgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgfQorCisgICAg
ICAgIHZpZGVvID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndmlkZW8nKTsKKyAgICAgICAgZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZCh2aWRlbyk7CisKKyAgICAgICAgdHJhY2tFbGVtZW50ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHJhY2snKTsKKyAgICAgICAgdmlkZW8uYXBwZW5kQ2hp
bGQodHJhY2tFbGVtZW50KTsKKyAgICAgICAgdHJhY2tFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIo
J2xvYWQnLCB0ZXN0KTsKKyAgICAgICAgdHJhY2tFbGVtZW50LnNyYz0nZGF0YTp0ZXh0L3Z0dCxX
RUJWVFQgRklMRSBcclxyMVxyMDA6MDA6MDAuMDAwIC0tPiAwMDowMDozMC41MDBccm9ubHkgb25l
IGNhcHRpb24nOworCisgICAgPC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorCis8L2JvZHk+Cis8L2h0bWw+Cklu
ZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3Rh
dGlvbnMudHh0CShyZXZpc2lvbiA5OTA5MikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMTExLDYgKzExMSw3
IEBAIEJVR1dLNDM2NjggU0tJUCA6IG1lZGlhL3RyYWNrL3RyYWNrLXdlYnYKIEJVR1dLNDM2Njgg
U0tJUCA6IG1lZGlhL3RyYWNrL3RyYWNrLXdlYnZ0dC10YzAyNi12b2ljZS5odG1sID0gVElNRU9V
VAogQlVHV0s0MzY2OCBTS0lQIDogbWVkaWEvdHJhY2svdHJhY2std2VidnR0LXRjMDI3LWVtcHR5
LWN1ZS5odG1sID0gVElNRU9VVAogQlVHV0s0MzY2OCBTS0lQIDogbWVkaWEvdHJhY2svdHJhY2st
d2VidnR0LXRjMDI4LXVuc3VwcG9ydGVkLW1hcmt1cC5odG1sID0gVElNRU9VVAorQlVHV0s0MzY2
OCBTS0lQIDogZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL3RyYWNrLWV2ZW50LWNvbnN0cnVjdG9y
Lmh0bWwgPSBUSU1FT1VUCiAKIC8vIFRlc3RzIGZvciBNZWRpYVNvdXJjZSBBUEkuIEZlYXR1cmUg
aXMgbm90IHlldCBmdW5jdGlvbmFsLgogQlVHV0s2NDczMSBTS0lQIDogaHR0cC90ZXN0cy9tZWRp
YS9tZWRpYS1zb3VyY2UvID0gVElNRU9VVApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3Rr
L2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJv
cGVydGllcy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDk5MDkyKQorKysgTGF5b3V0VGVzdHMvcGxh
dGZvcm0vZ3RrL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTIxMzcsNiArMjEzNyw4IEBAIHdpbmRvdy5UaW1lUmFuZ2VzIFtv
YmplY3QgVGltZVJhbmdlc0NvbnMKIHdpbmRvdy5UaW1lUmFuZ2VzLnByb3RvdHlwZSBbb2JqZWN0
IFRpbWVSYW5nZXNQcm90b3R5cGVdCiB3aW5kb3cuVGltZVJhbmdlcy5wcm90b3R5cGUuZW5kIFtm
dW5jdGlvbl0KIHdpbmRvdy5UaW1lUmFuZ2VzLnByb3RvdHlwZS5zdGFydCBbZnVuY3Rpb25dCit3
aW5kb3cuVHJhY2tFdmVudCBbb2JqZWN0IFRyYWNrRXZlbnRDb25zdHJ1Y3Rvcl0KK3dpbmRvdy5U
cmFja0V2ZW50LnByb3RvdHlwZSBbcHJpbnRlZCBhYm92ZSBhcyB3aW5kb3cuRXZlbnQucHJvdG90
eXBlXQogd2luZG93LlR5cGVFcnJvciBbZnVuY3Rpb25dCiB3aW5kb3cuVUlFdmVudCBbb2JqZWN0
IFVJRXZlbnRDb25zdHJ1Y3Rvcl0KIHdpbmRvdy5VSUV2ZW50LnByb3RvdHlwZSBbcHJpbnRlZCBh
Ym92ZSBhcyB3aW5kb3cuRXZlbnQucHJvdG90eXBlXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vZ3RrL2Zhc3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2Zhc3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9y
cy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDk5MDkyKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Z3RrL2Zhc3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTMwNyw2ICszMDcsNyBAQCBQQVNTIFRleHRUcmFjay50b1N0cmluZygpIGlzICdbb2Jq
ZWN0IFRlCiBQQVNTIFRleHRUcmFja0N1ZS50b1N0cmluZygpIGlzICdbb2JqZWN0IFRleHRUcmFj
a0N1ZUNvbnN0cnVjdG9yXScKIFBBU1MgVGV4dFRyYWNrQ3VlTGlzdC50b1N0cmluZygpIGlzICdb
b2JqZWN0IFRleHRUcmFja0N1ZUxpc3RDb25zdHJ1Y3Rvcl0nCiBQQVNTIFRpbWVSYW5nZXMudG9T
dHJpbmcoKSBpcyAnW29iamVjdCBUaW1lUmFuZ2VzQ29uc3RydWN0b3JdJworUEFTUyBUcmFja0V2
ZW50LnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgVHJhY2tFdmVudENvbnN0cnVjdG9yXScKIFBBU1Mg
VUlFdmVudC50b1N0cmluZygpIGlzICdbb2JqZWN0IFVJRXZlbnRDb25zdHJ1Y3Rvcl0nCiBQQVNT
IFdlYktpdEFuaW1hdGlvbkV2ZW50LnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgV2ViS2l0QW5pbWF0
aW9uRXZlbnRDb25zdHJ1Y3Rvcl0nCiBQQVNTIFdlYktpdENTU0tleWZyYW1lUnVsZS50b1N0cmlu
ZygpIGlzICdbb2JqZWN0IFdlYktpdENTU0tleWZyYW1lUnVsZUNvbnN0cnVjdG9yXScKSW5kZXg6
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCShyZXZpc2lvbiA5OTA5MikKKysrIExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9Ta2lwcGVkCSh3b3JraW5nIGNvcHkpCkBAIC00NTgsNiArNDU4LDcgQEAg
bWVkaWEvdHJhY2svdHJhY2std2VidnR0LXRjMDI1LWNsYXNzLW1hcgogbWVkaWEvdHJhY2svdHJh
Y2std2VidnR0LXRjMDI2LXZvaWNlLmh0bWwKIG1lZGlhL3RyYWNrL3RyYWNrLXdlYnZ0dC10YzAy
Ny1lbXB0eS1jdWUuaHRtbAogbWVkaWEvdHJhY2svdHJhY2std2VidnR0LXRjMDI4LXVuc3VwcG9y
dGVkLW1hcmt1cC5odG1sCitmYXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMvdHJhY2stZXZlbnQtY29u
c3RydWN0b3IuaHRtbAogCiAjIFRlc3RzIGZvciBNZWRpYVNvdXJjZSBBUEkuIEZlYXR1cmUgaXMg
bm90IHlldCBmdW5jdGlvbmFsLgogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NjQ3MzEKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCShyZXZpc2lvbiA5OTA5
MikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCSh3b3JraW5nIGNvcHkpCkBA
IC0xNDQyLDYgKzE0NDIsNyBAQCBtZWRpYS90cmFjay90cmFjay13ZWJ2dHQtdGMwMjUtY2xhc3Mt
bWFyCiBtZWRpYS90cmFjay90cmFjay13ZWJ2dHQtdGMwMjYtdm9pY2UuaHRtbAogbWVkaWEvdHJh
Y2svdHJhY2std2VidnR0LXRjMDI3LWVtcHR5LWN1ZS5odG1sCiBtZWRpYS90cmFjay90cmFjay13
ZWJ2dHQtdGMwMjgtdW5zdXBwb3J0ZWQtbWFya3VwLmh0bWwKK2Zhc3QvZXZlbnRzL2NvbnN0cnVj
dG9ycy90cmFjay1ldmVudC1jb25zdHJ1Y3Rvci5odG1sCiAKICMgVGVzdHMgZm9yIE1lZGlhU291
cmNlIEFQSS4gRmVhdHVyZSBpcyBub3QgeWV0IGZ1bmN0aW9uYWwuCiAjIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NDczMQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113386</attachid>
            <date>2011-11-02 15:29:22 -0700</date>
            <delta_ts>2011-11-03 07:41:16 -0700</delta_ts>
            <desc>Another patch, hopefully the right version this time.</desc>
            <filename>patch_track_event_15.txt</filename>
            <type>text/plain</type>
            <size>66119</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgJKHJldmlzaW9uIDk5MDkyKQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCSh3b3JraW5nIGNvcHkpCkBA
IC01MzcsNiArNTM3LDcgQEAKICNkZWZpbmUgRU5BQkxFX1NNT09USF9TQ1JPTExJTkcgMQogI2Rl
ZmluZSBFTkFCTEVfV0VCX0FSQ0hJVkUgMQogI2RlZmluZSBFTkFCTEVfV0VCX0FVRElPIDEKKyNk
ZWZpbmUgRU5BQkxFX1ZJREVPX1RSQUNLIDEKICNlbmRpZiAvKiBQTEFURk9STShNQUMpICYmICFQ
TEFURk9STShJT1MpICovCiAKICNpZiBQTEFURk9STShDSFJPTUlVTSkgJiYgT1MoREFSV0lOKQpJ
bmRleDogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTkwOTIpCisrKyBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw3NSBAQAorMjAxMS0xMS0wMiAgRXJpYyBDYXJs
c29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgVHJhY2tFdmVudAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNzgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBmYXN0
L2V2ZW50cy9jb25zdHJ1Y3RvcnMvdHJhY2stZXZlbnQtY29uc3RydWN0b3IuaHRtbAorCisgICAg
ICAgICogQ01ha2VMaXN0cy50eHQ6IEFkZCBuZXcgZmlsZXMgZm9yIFRyYWNrRXZlbnQuCisgICAg
ICAgICogQ29kZUdlbmVyYXRvcnMucHJpOiBEaXR0by4KKyAgICAgICAgKiBEZXJpdmVkU291cmNl
cy5jcHA6IERpdHRvLgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6IERpdHRvLgorICAg
ICAgICAqIEdOVW1ha2VmaWxlLmFtOiBEaXR0by4KKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0
LmFtOiBEaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6IERpdHRvLgorICAgICAgICAqIFdl
YkNvcmUucHJvOiBEaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6IERpdHRvLgorICAgICAgICAqIGJpbmRpbmdzL2dlbmVyaWMvRXZlbnRDb25zdHJ1Y3Rv
cnMuaDogRGl0dG8uCisgICAgICAgICogYmluZGluZ3MvZ29iamVjdC9HTlVtYWtlZmlsZS5hbTog
RGl0dG8uCisgICAgICAgICogYmluZGluZ3MvZ29iamVjdC9XZWJLaXRIVE1MRWxlbWVudFdyYXBw
ZXJGYWN0b3J5LmNwcDogRGl0dG8uCisgICAgICAgICogYmluZGluZ3MvanMvSlNCaW5kaW5nc0Fs
bEluT25lLmNwcDogRGl0dG8uCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RpY3Rpb25hcnku
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNEaWN0aW9uYXJ5Ojpjb252ZXJ0VmFsdWUpOiBBZGQg
bWV0aG9kIHRvIGNvbnZlcnQgdG8gYSBUcmFjay4KKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0Rp
Y3Rpb25hcnkuaDoKKworICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRXZlbnRDb25zdHJ1Y3RvcnMu
Y3BwOiAgQWRkIG5ldyBmaWxlcyBmb3IgVHJhY2tFdmVudC4KKworICAgICAgICAqIGJpbmRpbmdz
L2pzL0pTVHJhY2tDdXN0b20uY3BwOiBBZGRlZC4gCisgICAgICAgIChXZWJDb3JlOjp0b1RyYWNr
KTogTmV3LCBjb252ZXJ0IGZyb20gYSBKU1ZhbHVlIHRvIGEgVHJhY2suCisgICAgICAgIChXZWJD
b3JlOjp0b0pTKTogTmV3LCByZXR1cm4gYSBKUyB3cmFwcGVyIGZvciBhIFRyYWNrLgorICAgICAg
ICAqIGJpbmRpbmdzL2pzL0pTVHJhY2tDdXN0b20uaDogQWRkZWQuCisKKyAgICAgICAgKiBiaW5k
aW5ncy9qcy9KU1RyYWNrRXZlbnRDdXN0b20uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OkpTVHJhY2tFdmVudDo6dHJhY2spOiBOZXcsIHJldHVybnMgYSBUZXh0RXZlbnQncyAndHJhY2sn
IGF0dHJpYnV0ZS4KKworICAgICAgICAqIGJpbmRpbmdzL3Y4L09wdGlvbnNPYmplY3QuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6T3B0aW9uc09iamVjdDo6Z2V0KTogUmV0dXJucyBSZWZQdHI8VHJh
Y2tCYXNlPi4KKworICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEV2ZW50Q29uc3RydWN0
b3JzLmNwcDogQWRkIFRyYWNrIGluaXRpYWxpemluZyBjb25zdHJ1Y3Rvci4KKworICAgICAgICAq
IGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFRyYWNrRXZlbnRDdXN0b20uY3BwOiBBZGRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OlY4VHJhY2tFdmVudDo6dHJhY2tBY2Nlc3NvckdldHRlcik6IE5ldywgcmV0
dXJucyBhIFRleHRFdmVudCdzICd0cmFjaycgYXR0cmlidXRlLgorCisgICAgICAgICogZG9tL0V2
ZW50RmFjdG9yeS5pbjogQWRkIFRyYWNrRXZlbnQuCisKKyAgICAgICAgKiBkb20vRXZlbnROYW1l
cy5oOiBBZGQgJ2FkZHRyYWNrJyBldmVudC4KKworICAgICAgICAqIGh0bWwvVGV4dFRyYWNrLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHRUcmFjazo6VGV4dFRyYWNrKTogQ2FsbCBuZXcgYmFz
ZSBjbGFzcyBjb25zdHJ1Y3Rvci4KKyAgICAgICAgKiBodG1sL1RleHRUcmFjay5oOiBOb3cgZGVy
aXZlIGZyb20gQmFzZVRyYWNrIGZvciB0aGUgZGF5IHdlIGltcGxlbWVudCBWaWRlb1RyYWNrIGFu
ZCBBdWRpb1RyYWNrLgorCisgICAgICAgICogaHRtbC90cmFjay9UcmFja0Jhc2UuY3BwOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OlRyYWNrQmFzZTo6VHJhY2tCYXNlKToKKyAgICAgICAgKFdl
YkNvcmU6OlRyYWNrQmFzZTo6flRyYWNrQmFzZSk6CisgICAgICAgICogaHRtbC90cmFjay9UcmFj
a0Jhc2UuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpUcmFja0Jhc2U6OnR5cGUpOiBSZXR1
cm4gdGhlIHRyYWNrIHR5cGUuCisKKyAgICAgICAgKiBodG1sL3RyYWNrL1RyYWNrRXZlbnQuY3Bw
OiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlRyYWNrRXZlbnRJbml0OjpUcmFja0V2ZW50SW5p
dCk6CisgICAgICAgIChXZWJDb3JlOjpUcmFja0V2ZW50OjpUcmFja0V2ZW50KToKKyAgICAgICAg
KFdlYkNvcmU6OlRyYWNrRXZlbnQ6On5UcmFja0V2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlRy
YWNrRXZlbnQ6OmludGVyZmFjZU5hbWUpOgorICAgICAgICAqIGh0bWwvdHJhY2svVHJhY2tFdmVu
dC5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlRyYWNrRXZlbnQ6OmNyZWF0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpUcmFja0V2ZW50Ojppc1RyYWNrRXZlbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6VHJhY2tFdmVudDo6dHJhY2spOgorICAgICAgICAqIGh0bWwvdHJhY2svVHJhY2tFdmVudC5p
ZGw6IEFkZGVkLgorCisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaWRsOiBBZGQgVHJhY2tFdmVu
dC4KKwogMjAxMS0xMS0wMiAgVG9tbXkgV2lkZW5mbHljaHQgIDx0b21teXdAZ29vZ2xlLmNvbT4K
IAogICAgICAgICBNZWRpYVN0cmVhbVJlZ2lzdHJ5IHNob3VsZCBob2xkIHJlZmVyZW5jZXMgdG8g
TWVkaWFTdHJlYW1EZXNjcmlwdG9yIHJhdGhlciB0aGFuIE1lZGlhU3RyZWFtCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dAkocmV2aXNpb24gOTkwOTIpCisrKyBTb3VyY2UvV2ViQ29yZS9DTWFrZUxp
c3RzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMzE4LDYgKzMxOCw4IEBAIFNFVChXZWJDb3JlX0lE
TF9GSUxFUwogICAgIGh0bWwvY2FudmFzL1dlYkdMVmVydGV4QXJyYXlPYmplY3RPRVMuaWRsCiAg
ICAgaHRtbC9jYW52YXMvV2ViS2l0TG9zZUNvbnRleHQuaWRsCiAKKyAgICBodG1sL3RyYWNrL1Ry
YWNrRXZlbnQuaWRsCisKICAgICBpbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRIb3N0LmlkbAogICAg
IGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaWRsCiAgICAgaW5zcGVjdG9yL0phdmFT
Y3JpcHRDYWxsRnJhbWUuaWRsCkBAIC0yMDY0LDYgKzIwNjYsOCBAQCBJRiAoRU5BQkxFX1ZJREVP
X1RSQUNLKQogICAgICAgICBodG1sL1RleHRUcmFja0N1ZS5jcHAKICAgICAgICAgaHRtbC9UZXh0
VHJhY2tDdWVJbmRleC5jcHAKICAgICAgICAgaHRtbC9UZXh0VHJhY2tDdWVMaXN0LmNwcAorICAg
ICAgICBodG1sL3RyYWNrL1RyYWNrQmFzZS5jcHAKKyAgICAgICAgaHRtbC90cmFjay9UcmFja0V2
ZW50LmNwcAogICAgICAgICBodG1sL3RyYWNrL1dlYlZUVFBhcnNlci5jcHAKICAgICAgICAgaHRt
bC90cmFjay9XZWJWVFRUb2tlbml6ZXIuY3BwCiAgICAgICAgIGxvYWRlci9UZXh0VHJhY2tMb2Fk
ZXIuY3BwCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Db2RlR2VuZXJhdG9ycy5wcmkKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvQ29kZUdlbmVyYXRvcnMucHJpCShyZXZpc2lvbiA5OTA5MikK
KysrIFNvdXJjZS9XZWJDb3JlL0NvZGVHZW5lcmF0b3JzLnByaQkod29ya2luZyBjb3B5KQpAQCAt
NTc3LDYgKzU3Nyw3IEBAIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9WSURFT19UUkFDSz0xKSAK
ICAgICBodG1sL1RleHRUcmFjay5pZGwgXAogICAgIGh0bWwvVGV4dFRyYWNrQ3VlLmlkbCBcCiAg
ICAgaHRtbC9UZXh0VHJhY2tDdWVMaXN0LmlkbCBcCisgICAgaHRtbC90cmFjay9UcmFja0V2ZW50
LmlkbCBcCiB9CiAKIHY4OiB3cmFwcGVyRmFjdG9yeUFyZyA9IC0td3JhcHBlckZhY3RvcnlWOApJ
bmRleDogU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAkocmV2aXNpb24gOTkwOTIpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ0MSw2ICs0
NDEsNyBAQAogI2luY2x1ZGUgIkpTVGV4dFRyYWNrLmNwcCIKICNpbmNsdWRlICJKU1RleHRUcmFj
a0N1ZS5jcHAiCiAjaW5jbHVkZSAiSlNUZXh0VHJhY2tDdWVMaXN0LmNwcCIKKyNpbmNsdWRlICJK
U1RyYWNrRXZlbnQuY3BwIgogI2VuZGlmCiAjaW5jbHVkZSAiSlNUaW1lUmFuZ2VzLmNwcCIKICNp
bmNsdWRlICJKU1RvdWNoLmNwcCIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQko
cmV2aXNpb24gOTkwOTIpCisrKyBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCSh3
b3JraW5nIGNvcHkpCkBAIC0zNiw2ICszNiw3IEBAIFZQQVRIID0gXAogICAgICQoV2ViQ29yZSkv
ZmlsZWFwaSBcCiAgICAgJChXZWJDb3JlKS9odG1sIFwKICAgICAkKFdlYkNvcmUpL2h0bWwvY2Fu
dmFzIFwKKyAgICAkKFdlYkNvcmUpL2h0bWwvdHJhY2sgXAogICAgICQoV2ViQ29yZSkvaW5zcGVj
dG9yIFwKICAgICAkKFdlYkNvcmUpL2xvYWRlci9hcHBjYWNoZSBcCiAgICAgJChXZWJDb3JlKS9u
b3RpZmljYXRpb25zIFwKQEAgLTUxMyw2ICs1MTQsNyBAQCBET01fQ0xBU1NFUyA9IFwKICAgICBU
b3VjaCBcCiAgICAgVG91Y2hFdmVudCBcCiAgICAgVG91Y2hMaXN0IFwKKyAgICBUcmFja0V2ZW50
IFwKICAgICBUcmVlV2Fsa2VyIFwKICAgICBVSUV2ZW50IFwKICAgICBVaW50MTZBcnJheSBcCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9HTlVtYWtlZmlsZS5hbQkocmV2aXNpb24gOTkwOTIpCisrKyBTb3VyY2UvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5hbQkod29ya2luZyBjb3B5KQpAQCAtNzI5LDYgKzcyOSw3IEBAIElETF9Q
QVRIIDo9IFwKICAgICAkKFdlYkNvcmUpL2ZpbGVhcGkgXAogICAgICQoV2ViQ29yZSkvaHRtbCBc
CiAgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcyBcCisgICAgJChXZWJDb3JlKS9odG1sL3RyYWNr
IFwKICAgICAkKFdlYkNvcmUpL2luc3BlY3RvciBcCiAgICAgJChXZWJDb3JlKS9sb2FkZXIvYXBw
Y2FjaGUgXAogICAgICQoV2ViQ29yZSkvbWVkaWFzdHJlYW0gXApJbmRleDogU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUubGlzdC5hbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5saXN0LmFtCShyZXZpc2lvbiA5OTA5MikKKysrIFNvdXJjZS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmxpc3QuYW0JKHdvcmtpbmcgY29weSkKQEAgLTUxMiw2ICs1MTIsOCBAQCB3ZWJjb3Jl
X2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNUb3VjaC5oIFwK
IAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVG91Y2hMaXN0LmNwcCBcCiAJRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU1RvdWNoTGlzdC5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVHJh
Y2tFdmVudC5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNUcmFja0V2ZW50LmggXAog
CURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNUcmVlV2Fsa2VyLmNwcCBcCiAJRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU1RyZWVXYWxrZXIuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1VJ
RXZlbnQuY3BwIFwKQEAgLTg1MCw2ICs4NTIsOSBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTVGV4dEN1c3RvbS5jcHAgXAogCVNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTVG91Y2hDdXN0b20uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU1RvdWNoTGlzdEN1c3RvbS5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTVHJhY2tDdXN0b20uY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1Ry
YWNrQ3VzdG9tLmggXAorCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTVHJhY2tFdmVudEN1
c3RvbS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTVHJlZVdhbGtlckN1c3Rv
bS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTVWludDE2QXJyYXlDdXN0b20u
Y3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1VpbnQzMkFycmF5Q3VzdG9tLmNw
cCBcCkBAIC0xOTY4LDYgKzE5NzMsMTAgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2Uv
V2ViQ29yZS9odG1sL1RpbWVJbnB1dFR5cGUuaCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9UaW1l
UmFuZ2VzLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9UaW1lUmFuZ2VzLmggXAorCVNvdXJj
ZS9XZWJDb3JlL2h0bWwvdHJhY2svVHJhY2tCYXNlLmNwcCBcCisJU291cmNlL1dlYkNvcmUvaHRt
bC90cmFjay9UcmFja0Jhc2UuaCBcCisJU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UcmFja0V2
ZW50LmNwcCBcCisJU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UcmFja0V2ZW50LmggXAogCVNv
dXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svV2ViVlRUUGFyc2VyLmNwcCBcCiAJU291cmNlL1dlYkNv
cmUvaHRtbC90cmFjay9XZWJWVFRQYXJzZXIuaCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC90cmFj
ay9XZWJWVFRUb2tlbi5oIFwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkJKHJldmlzaW9uIDk5MDkyKQor
KysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCSh3b3JraW5nIGNvcHkpCkBAIC0xMzcxLDYg
KzEzNzEsNyBAQAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL1dlYkdMVW5pZm9ybUxvY2F0aW9u
LmlkbCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvV2ViR0xWZXJ0ZXhBcnJheU9iamVjdE9F
Uy5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL1dlYktpdExvc2VDb250ZXh0LmlkbCcs
CisgICAgICAgICAgICAnaHRtbC90cmFjay9UcmFja0V2ZW50LmlkbCcsCiAgICAgICAgICAgICAn
aW5zcGVjdG9yL0luamVjdGVkU2NyaXB0SG9zdC5pZGwnLAogICAgICAgICAgICAgJ2luc3BlY3Rv
ci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaWRsJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvSmF2
YVNjcmlwdENhbGxGcmFtZS5pZGwnLApAQCAtMTkzNiw2ICsxOTM3LDkgQEAKICAgICAgICAgICAg
ICdiaW5kaW5ncy9qcy9KU1RleHRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9q
cy9KU1RvdWNoQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNUb3VjaExp
c3RDdXN0b20uY3BwJywKKyAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU1RyYWNrQ3VzdG9tLmNw
cCcsCisgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNUcmFja0N1c3RvbS5oJywKKyAgICAgICAg
ICAgICdiaW5kaW5ncy9qcy9KU1RyYWNrRXZlbnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdi
aW5kaW5ncy9qcy9KU1RyZWVXYWxrZXJDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5n
cy9qcy9KU1VpbnQxNkFycmF5Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMv
SlNVaW50MzJBcnJheUN1c3RvbS5jcHAnLApAQCAtMjIzOCw2ICsyMjQyLDcgQEAKICAgICAgICAg
ICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhTdG9yYWdlQ3VzdG9tLmNwcCcsCiAgICAgICAgICAg
ICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4U3R5bGVTaGVldEN1c3RvbS5jcHAnLAogICAgICAgICAg
ICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFN0eWxlU2hlZXRMaXN0Q3VzdG9tLmNwcCcsCisgICAg
ICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4VHJhY2tFdmVudEN1c3RvbS5jcHAnLAogICAg
ICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFVpbnQxNkFycmF5Q3VzdG9tLmNwcCcsCiAg
ICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4VWludDMyQXJyYXlDdXN0b20uY3BwJywK
ICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhVaW50OEFycmF5Q3VzdG9tLmNwcCcs
CkBAIC01NzY4LDYgKzU3NzMsOCBAQAogICAgICAgICAgICAgJ2h0bWwvc2hhZG93L1NsaWRlclRo
dW1iRWxlbWVudC5oJywKICAgICAgICAgICAgICdodG1sL3NoYWRvdy9UZXh0Q29udHJvbElubmVy
RWxlbWVudHMuY3BwJywKICAgICAgICAgICAgICdodG1sL3NoYWRvdy9UZXh0Q29udHJvbElubmVy
RWxlbWVudHMuaCcsCisgICAgICAgICAgICAnaHRtbC90cmFjay9UcmFja0Jhc2UuY3BwJywKKyAg
ICAgICAgICAgICdodG1sL3RyYWNrL1RyYWNrRXZlbnQuY3BwJywKICAgICAgICAgICAgICdodG1s
L3RyYWNrL1dlYlZUVFBhcnNlci5jcHAnLAogICAgICAgICAgICAgJ2h0bWwvdHJhY2svV2ViVlRU
UGFyc2VyLmgnLAogICAgICAgICAgICAgJ2h0bWwvdHJhY2svV2ViVlRUVG9rZW4uaCcsCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnBybwkocmV2aXNpb24gOTkwOTIpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnBybwkod29ya2luZyBjb3B5KQpAQCAtMTg2OCw2ICsxODY4LDggQEAgSEVBREVSUyArPSBcCiAg
ICAgaHRtbC9wYXJzZXIvWFNTQXVkaXRvci5oIFwKICAgICBodG1sL3NoYWRvdy9NZWRpYUNvbnRy
b2xFbGVtZW50cy5oIFwKICAgICBodG1sL3NoYWRvdy9EZXRhaWxzTWFya2VyQ29udHJvbC5oIFwK
KyAgICBodG1sL3RyYWNrL1RyYWNrQmFzZS5oIFwKKyAgICBodG1sL3RyYWNrL1RyYWNrRXZlbnQu
aCBcCiAgICAgaHRtbC90cmFjay9XZWJWVFRQYXJzZXIuaCBcCiAgICAgaHRtbC90cmFjay9XZWJW
VFRUb2tlbi5oIFwKICAgICBodG1sL3RyYWNrL1dlYlZUVFRva2VuaXplci5oIFwKQEAgLTM1Mzgs
NiArMzU0MCwxOSBAQCBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfSkFWQVNDUklQVF9ERUJVCiAg
ICAgfQogfQogCisKK2NvbnRhaW5zKERFRklORVMsIEVOQUJMRV9WSURFT19UUkFDSz0xKSB7Cisg
ICAgdjggeworICAgICAgICBTT1VSQ0VTICs9IFwKKyAgICAgICAgICAgIGJpbmRpbmdzL3Y4L2N1
c3RvbS9WOFRyYWNrRXZlbnRDdXN0b20uY3BwCisgICAgfSBlbHNlIHsKKyAgICAgICAgU09VUkNF
UyArPSBcCisgICAgICAgICAgICBiaW5kaW5ncy9qcy9KU1RyYWNrQ3VzdG9tLmNwcCBcCisgICAg
ICAgICAgICBiaW5kaW5ncy9qcy9KU1RyYWNrQ3VzdG9tLmggXAorICAgICAgICAgICAgYmluZGlu
Z3MvanMvSlNUcmFja0V2ZW50Q3VzdG9tLmNwcAorICAgIH0KK30KKwogY29udGFpbnMoREVGSU5F
UywgRU5BQkxFX1dFQl9TT0NLRVRTPTEpIHsKICAgICBIRUFERVJTICs9IFwKICAgICAgICAgd2Vi
c29ja2V0cy9DbG9zZUV2ZW50LmggXApJbmRleDogU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlv
bnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
Q29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDk5MDkyKQor
KysgU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJ
KHdvcmtpbmcgY29weSkKQEAgLTEwNSw3ICsxMDUsNyBAQCBFTkFCTEVfU1ZHID0gRU5BQkxFX1NW
RzsKIEVOQUJMRV9TVkdfRk9OVFMgPSBFTkFCTEVfU1ZHX0ZPTlRTOwogRU5BQkxFX1RPVUNIX0lD
T05fTE9BRElORyA9IDsKIEVOQUJMRV9WSURFTyA9IEVOQUJMRV9WSURFTzsKLUVOQUJMRV9WSURF
T19UUkFDSyA9IDsKK0VOQUJMRV9WSURFT19UUkFDSyA9IEVOQUJMRV9WSURFT19UUkFDSzsKIEVO
QUJMRV9XRUJHTCA9IEVOQUJMRV9XRUJHTDsKIEVOQUJMRV9XRUJfQVVESU8gPSBFTkFCTEVfV0VC
X0FVRElPOwogRU5BQkxFX1dFQl9TT0NLRVRTID0gRU5BQkxFX1dFQl9TT0NLRVRTOwpJbmRleDog
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagko
cmV2aXNpb24gOTkwOTIpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTgyLDYgKzgyLDEwIEBACiAJCTA2NkM3NzMx
MEFCNjAzRkQwMDIzOENDNCAvKiBSZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDY2Qzc3MkYwQUI2MDNGRDAwMjM4
Q0M0IC8qIFJlbmRlckZpbGVVcGxvYWRDb250cm9sLmggKi87IH07CiAJCTA2RTgxRUQ3MEFCNUQ1
RTkwMEM4NzgzNyAvKiBMb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA2RTgxRUQ2MEFCNUQ1RTkwMEM4Nzgz
NyAvKiBMb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQuaCAqLzsgfTsKIAkJMDZFODFFRUMwQUI1
REE5NzAwQzg3ODM3IC8qIExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA2RTgxRUVCMEFCNURBOTcwMEM4
NzgzNyAvKiBMb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQubW0gKi87IH07CisJCTA3MDMzNEQz
MTQ1OUZGQUQwMDhEOEQ0NSAvKiBUcmFja0V2ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3MDMzNEQwMTQ1OUZGQUMwMDhEOEQ0NSAvKiBUcmFj
a0V2ZW50LmNwcCAqLzsgfTsKKwkJMDcwMzM0RDcxNDU5RkZENTAwOEQ4RDQ1IC8qIFRyYWNrQmFz
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDcwMzM0
RDYxNDU5RkZENTAwOEQ4RDQ1IC8qIFRyYWNrQmFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTA3MDMzNEQ5MTQ1QTAwNkYwMDhEOEQ0NSAvKiBU
cmFja0Jhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMDcwMzM0RDgxNDVBMDA2RjAwOEQ4RDQ1IC8qIFRyYWNrQmFzZS5jcHAgKi87IH07CisJCTA3
MDMzNEU5MTQ1QTFGMzYwMDhEOEQ0NSAvKiBKU1RyYWNrQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3MDMzNEU4MTQ1QTFGMzUwMDhEOEQ0
NSAvKiBKU1RyYWNrQ3VzdG9tLmNwcCAqLzsgfTsKIAkJMDcwNzU2OEIxNDIyNjJENjAwNDE0MTYx
IC8qIEhUTUxUcmFja0VsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMDcwNzU2ODgxNDIyNjJENjAwNDE0MTYxIC8qIEhUTUxUcmFja0VsZW1l
bnQuY3BwICovOyB9OwogCQkwNzA3NTY4QzE0MjI2MkQ2MDA0MTQxNjEgLyogSFRNTFRyYWNrRWxl
bWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDcw
NzU2ODkxNDIyNjJENjAwNDE0MTYxIC8qIEhUTUxUcmFja0VsZW1lbnQuaCAqLzsgfTsKIAkJMDcw
NzU2OTQxNDIyNjY4RDAwNDE0MTYxIC8qIEpTVGV4dFRyYWNrLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3MDc1NjhFMTQyMjY2OEMwMDQxNDE2MSAv
KiBKU1RleHRUcmFjay5jcHAgKi87IH07CkBAIC05Nyw3ICsxMDEsMTEgQEAKIAkJMDczNUVFNkEw
RjQwQzVFNDAwNEEyNjA0IC8qIE1lZGlhUGxheWVyUHJveHkuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3MzVFRTY5MEY0MEM1RTQwMDRBMjYwNCAvKiBN
ZWRpYVBsYXllclByb3h5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJMDc1Mzg2MDIxNDQ4OUU5ODAwQjc4NDUyIC8qIENhY2hlZFRleHRUcmFjay5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzUzODYw
MDE0NDg5RTk4MDBCNzg0NTIgLyogQ2FjaGVkVGV4dFRyYWNrLmNwcCAqLzsgfTsKIAkJMDc1Mzg2
MDMxNDQ4OUU5ODAwQjc4NDUyIC8qIENhY2hlZFRleHRUcmFjay5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDc1Mzg2MDExNDQ4OUU5ODAwQjc4NDUyIC8q
IENhY2hlZFRleHRUcmFjay5oICovOyB9OworCQkwNzY4OUQ2RTE0NUI1MkNDMDAxQ0QxMzIgLyog
SlNUcmFja0V2ZW50Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDA3Njg5RDZEMTQ1QjUyQ0MwMDFDRDEzMiAvKiBKU1RyYWNrRXZlbnRDdXN0
b20uY3BwICovOyB9OwogCQkwNzZGMEQwRTEyQjgxOTI3MDBDMjZBQTQgLyogTWVkaWFQbGF5ZXJQ
cml2YXRlQVZGb3VuZGF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwNzZGMEQwQTEyQjgxOTI3MDBDMjZBQTQgLyogTWVkaWFQbGF5ZXJQcml2YXRl
QVZGb3VuZGF0aW9uLmggKi87IH07CisJCTA3ODQ2MzQyMTQ1QjE1MUEwMEE1OERGMSAvKiBKU1Ry
YWNrRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMDc4NDYzNDAxNDVCMTUxQTAwQTU4REYxIC8qIEpTVHJhY2tFdmVudC5jcHAgKi87IH07CisJ
CTA3ODQ2MzQzMTQ1QjE1MUEwMEE1OERGMSAvKiBKU1RyYWNrRXZlbnQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3ODQ2MzQxMTQ1QjE1MUEwMEE1OERG
MSAvKiBKU1RyYWNrRXZlbnQuaCAqLzsgfTsKKwkJMDc4NDYzODUxNDVCMUI4RTAwQTU4REYxIC8q
IEpTVHJhY2tDdXN0b20uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDA3ODQ2Mzg0MTQ1QjFCOEUwMEE1OERGMSAvKiBKU1RyYWNrQ3VzdG9tLmggKi87IH07
CiAJCTA3QjAxMTNGMTAzMjI0MjIwMEZCREMzMyAvKiBBY2Nlc3NpYmlsaXR5TWVkaWFDb250cm9s
cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDdCMDEx
M0UxMDMyMjQyMjAwRkJEQzMzIC8qIEFjY2Vzc2liaWxpdHlNZWRpYUNvbnRyb2xzLmggKi87IH07
CiAJCTA4MDZFNTdBMTI4OTMwNDUwMDdDRUQzMiAvKiBTVkdNYXRyaXguaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4MDZFNTc5MTI4OTMwNDUwMDdDRUQz
MiAvKiBTVkdNYXRyaXguaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQkwODBFNDkyNjEyNTVGM0JEMDBFRkNBMjcgLyogU1ZHVGV4dExheW91dEVuZ2lu
ZUJhc2VsaW5lLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwODBFNDkyMjEyNTVGM0JEMDBFRkNBMjcgLyogU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5l
LmggKi87IH07CkBAIC03MDY3LDYgKzcwNzUsMTIgQEAKIAkJMDY2Qzc3MkYwQUI2MDNGRDAwMjM4
Q0M0IC8qIFJlbmRlckZpbGVVcGxvYWRDb250cm9sLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBSZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkwNkU4MUVENjBBQjVENUU5MDBDODc4MzcgLyogTG9jYWxDdXJyZW50R3JhcGhp
Y3NDb250ZXh0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExvY2FsQ3VycmVu
dEdyYXBoaWNzQ29udGV4dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwNkU4MUVF
QjBBQjVEQTk3MDBDODc4MzcgLyogTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0Lm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IExvY2FsQ3VycmVudEdyYXBoaWNz
Q29udGV4dC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMDcwMzM0RDAxNDU5RkZB
QzAwOEQ4RDQ1IC8qIFRyYWNrRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gVHJhY2tFdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTA3
MDMzNEQxMTQ1OUZGQUMwMDhEOEQ0NSAvKiBUcmFja0V2ZW50LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFRyYWNrRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMDcwMzM0RDIxNDU5RkZBQzAwOEQ4RDQ1IC8qIFRyYWNrRXZlbnQuaWRsICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9IFRyYWNrRXZlbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkwNzAzMzRENjE0NTlGRkQ1MDA4RDhENDUgLyogVHJhY2tCYXNlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFRyYWNrQmFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQkwNzAzMzREODE0NUEwMDZGMDA4RDhENDUgLyogVHJhY2tCYXNlLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRyYWNrQmFzZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTA3MDMzNEU4MTQ1QTFGMzUwMDhEOEQ0NSAvKiBKU1RyYWNrQ3VzdG9t
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTVHJhY2tDdXN0b20u
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwNzA3NTY4ODE0MjI2MkQ2MDA0MTQx
NjEgLyogSFRNTFRyYWNrRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBIVE1MVHJhY2tFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMDcwNzU2ODkxNDIyNjJENjAwNDE0MTYxIC8qIEhUTUxUcmFja0VsZW1lbnQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSFRNTFRyYWNrRWxlbWVudC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkwNzA3NTY4QTE0MjI2MkQ2MDA0MTQxNjEgLyogSFRNTFRyYWNr
RWxlbWVudC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gSFRNTFRyYWNrRWxlbWVudC5pZGw7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03MDg2LDggKzcxMDAsMTIgQEAKIAkJMDcz
NUVFNjkwRjQwQzVFNDAwNEEyNjA0IC8qIE1lZGlhUGxheWVyUHJveHkuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFQbGF5ZXJQcm94eS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkwNzUzODYwMDE0NDg5RTk4MDBCNzg0NTIgLyogQ2FjaGVkVGV4dFRyYWNr
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENhY2hlZFRleHRUcmFj
ay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA3NTM4NjAxMTQ0ODlFOTgwMEI3
ODQ1MiAvKiBDYWNoZWRUZXh0VHJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gQ2FjaGVkVGV4dFRyYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTA3Njg5
RDZEMTQ1QjUyQ0MwMDFDRDEzMiAvKiBKU1RyYWNrRXZlbnRDdXN0b20uY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNUcmFja0V2ZW50Q3VzdG9tLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDc2RjBEMDkxMkI4MTkyNzAwQzI2QUE0IC8qIE1lZGlh
UGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkwNzZGMEQwQTEyQjgxOTI3MDBDMjZBQTQgLyogTWVkaWFQbGF5
ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQkwNzg0NjM0MDE0NUIxNTFBMDBBNThERjEgLyogSlNUcmFja0V2ZW50LmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTVHJhY2tFdmVudC5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTA3ODQ2MzQxMTQ1QjE1MUEwMEE1OERGMSAvKiBKU1Ry
YWNrRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNUcmFja0V2ZW50
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTA3ODQ2Mzg0MTQ1QjFCOEUwMEE1OERG
MSAvKiBKU1RyYWNrQ3VzdG9tLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpT
VHJhY2tDdXN0b20uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDc5RjVFNEIwRjNC
RUJFQTAwNUUwNzgyIC8qIE1lZGlhUGxheWVyUHJpdmF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBNZWRpYVBsYXllclByaXZhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMDdBRkU1OTAwRjE0NDZCRDAwODQxNjE3IC8qIG1lZGlhQ29udHJvbHNRdWlja1Rp
bWUuY3NzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dC5jc3M7IHBhdGggPSBtZWRpYUNvbnRyb2xzUXVpY2tUaW1l
LmNzczsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDdCMDExM0UxMDMyMjQyMjAwRkJE
QzMzIC8qIEFjY2Vzc2liaWxpdHlNZWRpYUNvbnRyb2xzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlNZWRpYUNvbnRyb2xzLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC0xNzc0Nyw2ICsxNzc2NSw4IEBACiAJCQkJMDcwNzU2REExNDIzOUI0
RTAwNDE0MTYxIC8qIEpTVGV4dFRyYWNrQ3VlTGlzdC5oICovLAogCQkJCUU0NDYxNDEyMENENjgy
NjkwMEZBREE3NSAvKiBKU1RpbWVSYW5nZXMuY3BwICovLAogCQkJCUU0NDYxNDEzMENENjgyNjkw
MEZBREE3NSAvKiBKU1RpbWVSYW5nZXMuaCAqLywKKwkJCQkwNzg0NjM0MDE0NUIxNTFBMDBBNThE
RjEgLyogSlNUcmFja0V2ZW50LmNwcCAqLywKKwkJCQkwNzg0NjM0MTE0NUIxNTFBMDBBNThERjEg
LyogSlNUcmFja0V2ZW50LmggKi8sCiAJCQkJNDlFRUNFRkUxMDUwNzBDNDAwMDk5RkFCIC8qIEpT
VWludDE2QXJyYXkuY3BwICovLAogCQkJCTQ5RUVDRUZGMTA1MDcwQzQwMDA5OUZBQiAvKiBKU1Vp
bnQxNkFycmF5LmggKi8sCiAJCQkJNDlFRUNFRkMxMDUwNzBDNDAwMDk5RkFCIC8qIEpTVWludDMy
QXJyYXkuY3BwICovLApAQCAtMTg0MzEsNiArMTg0NTEsMTEgQEAKIAkJQjFBRDRFNzcxM0ExMkE3
MjAwODQ2QjI3IC8qIHRyYWNrICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJl
biA9ICgKKwkJCQkwNzAzMzREODE0NUEwMDZGMDA4RDhENDUgLyogVHJhY2tCYXNlLmNwcCAqLywK
KwkJCQkwNzAzMzRENjE0NTlGRkQ1MDA4RDhENDUgLyogVHJhY2tCYXNlLmggKi8sCisJCQkJMDcw
MzM0RDAxNDU5RkZBQzAwOEQ4RDQ1IC8qIFRyYWNrRXZlbnQuY3BwICovLAorCQkJCTA3MDMzNEQx
MTQ1OUZGQUMwMDhEOEQ0NSAvKiBUcmFja0V2ZW50LmggKi8sCisJCQkJMDcwMzM0RDIxNDU5RkZB
QzAwOEQ4RDQ1IC8qIFRyYWNrRXZlbnQuaWRsICovLAogCQkJCTVEMjFBODAwMTNFQ0U1REYwMEJC
NzA2NCAvKiBXZWJWVFRQYXJzZXIuY3BwICovLAogCQkJCTVEMjFBODAxMTNFQ0U1REYwMEJCNzA2
NCAvKiBXZWJWVFRQYXJzZXIuaCAqLywKIAkJCQlCMTBCNjk3RDE0MEMxNzQwMDBCQzFDMjYgLyog
V2ViVlRUVG9rZW4uaCAqLywKQEAgLTE5NjA1LDYgKzE5NjMwLDkgQEAKIAkJCQkwOEU0RkU0NTBF
MkJENDE0MDBGNENBRTAgLyogSlNTVkdMZW5ndGhDdXN0b20uY3BwICovLAogCQkJCUIyQzk2RDhD
MEIzQUYyQjcwMDVFODBFQyAvKiBKU1NWR1BhdGhTZWdDdXN0b20uY3BwICovLAogCQkJCTFBMkM0
MEFBMERFQjU1QUEwMDVBRjE5RSAvKiBKU1RleHRDdXN0b20uY3BwICovLAorCQkJCTA3MDMzNEU4
MTQ1QTFGMzUwMDhEOEQ0NSAvKiBKU1RyYWNrQ3VzdG9tLmNwcCAqLywKKwkJCQkwNzg0NjM4NDE0
NUIxQjhFMDBBNThERjEgLyogSlNUcmFja0N1c3RvbS5oICovLAorCQkJCTA3Njg5RDZEMTQ1QjUy
Q0MwMDFDRDEzMiAvKiBKU1RyYWNrRXZlbnRDdXN0b20uY3BwICovLAogCQkJCTUxNkJCNzkyMENF
OTFFNjgwMDUxMkY3OSAvKiBKU1RyZWVXYWxrZXJDdXN0b20uY3BwICovLAogCQkJCTQ5RUVDRjc3
MTA1MDhEOUMwMDA5OUZBQiAvKiBKU1VpbnQxNkFycmF5Q3VzdG9tLmNwcCAqLywKIAkJCQk0OUVF
Q0Y3NjEwNTA4RDlDMDAwOTlGQUIgLyogSlNVaW50MzJBcnJheUN1c3RvbS5jcHAgKi8sCkBAIC0y
NDU0MCw2ICsyNDU2OCw5IEBACiAJCQkJOTcwQjcyQTYxNDUwMDhFQjAwRjAwQTM3IC8qIEV2ZW50
SGVhZGVycy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOUIzQTg4NzIxNDU2MzJGOTAwM0FFOEY1IC8q
IERPTURPTVNldHRhYmxlVG9rZW5MaXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQlGRDYyRjUyRTE0
NTg5OEQ4MDA5NEIwRUQgLyogQXVkaW9Tb3VyY2VQcm92aWRlckNsaWVudC5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJMDcwMzM0RDcxNDU5RkZENTAwOEQ4RDQ1IC8qIFRyYWNrQmFzZS5oIGluIEhlYWRl
cnMgKi8sCisJCQkJMDc4NDYzNDMxNDVCMTUxQTAwQTU4REYxIC8qIEpTVHJhY2tFdmVudC5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJMDc4NDYzODUxNDVCMUI4RTAwQTU4REYxIC8qIEpTVHJhY2tDdXN0
b20uaCBpbiBIZWFkZXJzICovLAogCQkJCTJEOEZFQkREMTQzRTNFRjcwMDcyNTAyQiAvKiBDU1ND
cm9zc2ZhZGVWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxv
eW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CkBAIC0yNzM4Niw2ICsyNzQxNywxMSBAQAogCQkJCUEw
RUUwREY1MTQ0RjgyNTUwMEY4MEIwRCAvKiBXZWJHTERlYnVnUmVuZGVyZXJJbmZvLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUEwRUUwREY3MTQ0RjgyNTUwMEY4MEIwRCAvKiBXZWJHTERlYnVnU2hh
ZGVycy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBM0JCNTlGMzE0NTdBNDBEMDBBQzU2RkUgLyog
RG9jdW1lbnRFdmVudFF1ZXVlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTA3MDMzNEQzMTQ1OUZG
QUQwMDhEOEQ0NSAvKiBUcmFja0V2ZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTA3MDMzNEQ5
MTQ1QTAwNkYwMDhEOEQ0NSAvKiBUcmFja0Jhc2UuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMDcw
MzM0RTkxNDVBMUYzNjAwOEQ4RDQ1IC8qIEpTVHJhY2tDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJMDc4NDYzNDIxNDVCMTUxQTAwQTU4REYxIC8qIEpTVHJhY2tFdmVudC5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQkwNzY4OUQ2RTE0NUI1MkNDMDAxQ0QxMzIgLyogSlNUcmFja0V2ZW50Q3Vz
dG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJEOEZFQkRDMTQzRTNFRjcwMDcyNTAyQiAvKiBD
U1NDcm9zc2ZhZGVWYWx1ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9y
RGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2dlbmVyaWMvRXZlbnRDb25zdHJ1Y3RvcnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9nZW5lcmljL0V2ZW50Q29uc3RydWN0b3JzLmgJKHJldmlzaW9uIDk5MDky
KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9FdmVudENvbnN0cnVjdG9ycy5o
CSh3b3JraW5nIGNvcHkpCkBAIC0xMzQsNiArMTM0LDE2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgRklMTF9QUk9QRVJUWSh2ZXJ0aWNhbE92ZXJmbG93KSBcCiAgICAgRElDVElPTkFS
WV9FTkQoT3ZlcmZsb3dFdmVudCkKIAorI2lmIEVOQUJMRShWSURFT19UUkFDSykKKyNkZWZpbmUg
SU5TVEFOVElBVEVfSU5JVElBTElaSU5HX0NPTlNUUlVDVE9SX0ZPUl9UUkFDS19FVkVOVChESUNU
SU9OQVJZX1NUQVJULCBESUNUSU9OQVJZX0VORCwgRklMTF9QQVJFTlRfUFJPUEVSVElFUywgRklM
TF9QUk9QRVJUWSkgXAorICAgIFwKKyAgICBESUNUSU9OQVJZX1NUQVJUKFRyYWNrRXZlbnQpIFwK
KyAgICAgICAgRklMTF9QQVJFTlRfUFJPUEVSVElFUyhFdmVudCkgXAorICAgICAgICBGSUxMX1BS
T1BFUlRZKHRyYWNrKSBcCisgICAgRElDVElPTkFSWV9FTkQoVHJhY2tFdmVudCkKKyNlbHNlCisj
ZGVmaW5lIElOU1RBTlRJQVRFX0lOSVRJQUxJWklOR19DT05TVFJVQ1RPUl9GT1JfVFJBQ0tfRVZF
TlQoRElDVElPTkFSWV9TVEFSVCwgRElDVElPTkFSWV9FTkQsIEZJTExfUEFSRU5UX1BST1BFUlRJ
RVMsIEZJTExfUFJPUEVSVFkpCisjZW5kaWYKIAogI2RlZmluZSBJTlNUQU5USUFURV9BTExfRVZF
TlRfSU5JVElBTElaSU5HX0NPTlNUUlVDVE9SUyhESUNUSU9OQVJZX1NUQVJULCBESUNUSU9OQVJZ
X0VORCwgRklMTF9QQVJFTlRfUFJPUEVSVElFUywgRklMTF9QUk9QRVJUWSkgXAogICAgIElOU1RB
TlRJQVRFX0lOSVRJQUxJWklOR19DT05TVFJVQ1RPUl9GT1JfRVZFTlQoRElDVElPTkFSWV9TVEFS
VCwgRElDVElPTkFSWV9FTkQsIEZJTExfUEFSRU5UX1BST1BFUlRJRVMsIEZJTExfUFJPUEVSVFkp
IFwKQEAgLTE0OSw3ICsxNTksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgSU5TVEFOVElB
VEVfSU5JVElBTElaSU5HX0NPTlNUUlVDVE9SX0ZPUl9XRUJLSVRfVFJBTlNJVElPTl9FVkVOVChE
SUNUSU9OQVJZX1NUQVJULCBESUNUSU9OQVJZX0VORCwgRklMTF9QQVJFTlRfUFJPUEVSVElFUywg
RklMTF9QUk9QRVJUWSkgXAogICAgIElOU1RBTlRJQVRFX0lOSVRJQUxJWklOR19DT05TVFJVQ1RP
Ul9GT1JfQkVGT1JFX0xPQURfRVZFTlQoRElDVElPTkFSWV9TVEFSVCwgRElDVElPTkFSWV9FTkQs
IEZJTExfUEFSRU5UX1BST1BFUlRJRVMsIEZJTExfUFJPUEVSVFkpIFwKICAgICBJTlNUQU5USUFU
RV9JTklUSUFMSVpJTkdfQ09OU1RSVUNUT1JfRk9SX09WRVJGTE9XX0VWRU5UKERJQ1RJT05BUllf
U1RBUlQsIERJQ1RJT05BUllfRU5ELCBGSUxMX1BBUkVOVF9QUk9QRVJUSUVTLCBGSUxMX1BST1BF
UlRZKSBcCi0KKyAgICBJTlNUQU5USUFURV9JTklUSUFMSVpJTkdfQ09OU1RSVUNUT1JfRk9SX1RS
QUNLX0VWRU5UKERJQ1RJT05BUllfU1RBUlQsIERJQ1RJT05BUllfRU5ELCBGSUxMX1BBUkVOVF9Q
Uk9QRVJUSUVTLCBGSUxMX1BST1BFUlRZKSBcCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIApJ
bmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9HTlVtYWtlZmlsZS5hbQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L0dOVW1ha2VmaWxlLmFt
CShyZXZpc2lvbiA5OTA5MikKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvR05V
bWFrZWZpbGUuYW0JKHdvcmtpbmcgY29weSkKQEAgLTQxMCwxNCArNDEwLDE3IEBAIGlmIEVOQUJM
RV9WSURFT19UUkFDSwogd2Via2l0Z3RrX2J1aWx0X2hfYXBpICs9IFwKIAkkKHRvcF9idWlsZGRp
cikvRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVRleHRUcmFjay5oIFwKIAkkKHRvcF9i
dWlsZGRpcikvRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVRleHRUcmFja0N1ZS5oIFwK
LQkkKHRvcF9idWlsZGRpcikvRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVRleHRUcmFj
a0N1ZUxpc3QuaAorCSQodG9wX2J1aWxkZGlyKS9EZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0
RE9NVGV4dFRyYWNrQ3VlTGlzdC5oIFwKKwkkKHRvcF9idWlsZGRpcikvRGVyaXZlZFNvdXJjZXMv
d2Via2l0L1dlYktpdERPTVRyYWNrRXZlbnQuaAogd2Via2l0Z3RrX2dkb21fYnVpbHRfc291cmNl
cyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVRleHRUcmFjay5jcHAgXAog
CURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01UZXh0VHJhY2tQcml2YXRlLmggXAogCURl
cml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01UZXh0VHJhY2tDdWUuY3BwIFwKIAlEZXJpdmVk
U291cmNlcy93ZWJraXQvV2ViS2l0RE9NVGV4dFRyYWNrQ3VlUHJpdmF0ZS5oIFwKIAlEZXJpdmVk
U291cmNlcy93ZWJraXQvV2ViS2l0RE9NVGV4dFRyYWNrQ3VlTGlzdC5jcHAgXAotCURlcml2ZWRT
b3VyY2VzL3dlYmtpdC9XZWJLaXRET01UZXh0VHJhY2tDdWVMaXN0UHJpdmF0ZS5oCisJRGVyaXZl
ZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVRleHRUcmFja0N1ZUxpc3RQcml2YXRlLmggXAorCURl
cml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01UcmFja0V2ZW50LmNwcCBcCisJRGVyaXZlZFNv
dXJjZXMvd2Via2l0L1dlYktpdERPTVRyYWNrRXZlbnRQcml2YXRlLmgKIGVuZGlmCiAKIGdkb21f
Y2xhc3NfbGlzdCA6PSAkKHN1YnN0IFdlYktpdERPTSwsICQoZmlsdGVyLW91dCAlUHJpdmF0ZSwg
JChiYXNlbmFtZSAkKG5vdGRpciAkKHdlYmtpdGd0a19nZG9tX2J1aWx0X3NvdXJjZXMpKSkpKQpJ
bmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJLaXRIVE1MRWxlbWVudFdy
YXBwZXJGYWN0b3J5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9n
b2JqZWN0L1dlYktpdEhUTUxFbGVtZW50V3JhcHBlckZhY3RvcnkuY3BwCShyZXZpc2lvbiA5OTA5
MikKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0SFRNTEVsZW1lbnRX
cmFwcGVyRmFjdG9yeS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2Miw2ICsxNjIsNyBAQAogI2lu
Y2x1ZGUgIndlYmtpdC9XZWJLaXRET01UZXh0VHJhY2tDdWVMaXN0UHJpdmF0ZS5oIgogI2luY2x1
ZGUgIndlYmtpdC9XZWJLaXRET01UZXh0VHJhY2tDdWVQcml2YXRlLmgiCiAjaW5jbHVkZSAid2Vi
a2l0L1dlYktpdERPTVRleHRUcmFja1ByaXZhdGUuaCIKKyNpbmNsdWRlICJ3ZWJraXQvV2ViS2l0
RE9NVHJhY2tFdmVudFByaXZhdGUuaCIKICNlbmRpZgogIAogI2luY2x1ZGUgPHd0Zi90ZXh0L0NT
dHJpbmcuaD4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQmluZGluZ3NBbGxJ
bk9uZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNCaW5k
aW5nc0FsbEluT25lLmNwcAkocmV2aXNpb24gOTkwOTIpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0JpbmRpbmdzQWxsSW5PbmUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDAsNiAr
MTQwLDggQEAKICNpbmNsdWRlICJKU1RleHRDdXN0b20uY3BwIgogI2luY2x1ZGUgIkpTVG91Y2hD
dXN0b20uY3BwIgogI2luY2x1ZGUgIkpTVG91Y2hMaXN0Q3VzdG9tLmNwcCIKKyNpbmNsdWRlICJK
U1RyYWNrQ3VzdG9tLmNwcCIKKyNpbmNsdWRlICJKU1RyYWNrRXZlbnRDdXN0b20uY3BwIgogI2lu
Y2x1ZGUgIkpTVHJlZVdhbGtlckN1c3RvbS5jcHAiCiAjaW5jbHVkZSAiSlNVaW50MTZBcnJheUN1
c3RvbS5jcHAiCiAjaW5jbHVkZSAiSlNVaW50MzJBcnJheUN1c3RvbS5jcHAiCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RpY3Rpb25hcnkuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGljdGlvbmFyeS5jcHAJKHJldmlzaW9uIDk5MDky
KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEaWN0aW9uYXJ5LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIkpTRXZlbnRUYXJnZXQuaCIKICNp
bmNsdWRlICJKU01lc3NhZ2VQb3J0Q3VzdG9tLmgiCiAjaW5jbHVkZSAiSlNOb2RlLmgiCisjaW5j
bHVkZSAiSlNUcmFja0N1c3RvbS5oIgogI2luY2x1ZGUgIlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5o
IgogI2luY2x1ZGUgIlNjcmlwdFZhbHVlLmgiCiAKQEAgLTEyNCw0ICsxMjUsMTEgQEAgdm9pZCBK
U0RpY3Rpb25hcnk6OmNvbnZlcnRWYWx1ZShFeGVjU3RhdAogICAgIGZpbGxNZXNzYWdlUG9ydEFy
cmF5KGV4ZWMsIHZhbHVlLCByZXN1bHQpOwogfQogCisjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQor
dm9pZCBKU0RpY3Rpb25hcnk6OmNvbnZlcnRWYWx1ZShFeGVjU3RhdGUqLCBKU1ZhbHVlIHZhbHVl
LCBSZWZQdHI8VHJhY2tCYXNlPiYgcmVzdWx0KQoreworICAgIHJlc3VsdCA9IHRvVHJhY2sodmFs
dWUpOworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGljdGlvbmFyeS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGljdGlvbmFyeS5oCShyZXZpc2lvbiA5OTA5MikKKysrIFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGljdGlvbmFyeS5oCSh3b3JraW5nIGNvcHkpCkBA
IC0zNyw2ICszNyw3IEBAIGNsYXNzIEV2ZW50VGFyZ2V0OwogY2xhc3MgTm9kZTsKIGNsYXNzIFNj
cmlwdFZhbHVlOwogY2xhc3MgU2VyaWFsaXplZFNjcmlwdFZhbHVlOworY2xhc3MgVHJhY2tCYXNl
OwogCiBjbGFzcyBKU0RpY3Rpb25hcnkgewogcHVibGljOgpAQCAtNzMsNiArNzQsOSBAQCBwcml2
YXRlOgogICAgIHN0YXRpYyB2b2lkIGNvbnZlcnRWYWx1ZShKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6
SlNWYWx1ZSwgUmVmUHRyPEV2ZW50VGFyZ2V0PiYgcmVzdWx0KTsKICAgICBzdGF0aWMgdm9pZCBj
b252ZXJ0VmFsdWUoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTVmFsdWUsIFJlZlB0cjxOb2RlPiYg
cmVzdWx0KTsKICAgICBzdGF0aWMgdm9pZCBjb252ZXJ0VmFsdWUoSlNDOjpFeGVjU3RhdGUqLCBK
U0M6OkpTVmFsdWUsIE1lc3NhZ2VQb3J0QXJyYXkmIHJlc3VsdCk7CisjaWYgRU5BQkxFKFZJREVP
X1RSQUNLKQorICAgIHN0YXRpYyB2b2lkIGNvbnZlcnRWYWx1ZShKU0M6OkV4ZWNTdGF0ZSosIEpT
Qzo6SlNWYWx1ZSwgUmVmUHRyPFRyYWNrQmFzZT4mIHJlc3VsdCk7CisjZW5kaWYKIAogICAgIEpT
Qzo6RXhlY1N0YXRlKiBtX2V4ZWM7CiAgICAgSlNDOjpKU09iamVjdCogbV9pbml0aWFsaXplck9i
amVjdDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRDb25zdHJ1Y3Rv
cnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRD
b25zdHJ1Y3RvcnMuY3BwCShyZXZpc2lvbiA5OTA5MikKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRXZlbnRDb25zdHJ1Y3RvcnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NSw2ICs1
NSwxMSBAQAogI2luY2x1ZGUgIldlYktpdFRyYW5zaXRpb25FdmVudC5oIgogI2luY2x1ZGUgPHJ1
bnRpbWUvRXJyb3IuaD4KIAorI2lmIEVOQUJMRShWSURFT19UUkFDSykKKyNpbmNsdWRlICJKU1Ry
YWNrRXZlbnQuaCIKKyNpbmNsdWRlICJUcmFja0V2ZW50LmgiCisjZW5kaWYKKwogdXNpbmcgbmFt
ZXNwYWNlIEpTQzsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpJbmRleDogU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNUcmFja0N1c3RvbS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNUcmFja0N1c3RvbS5jcHAJKHJldmlzaW9uIDApCisrKyBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU1RyYWNrQ3VzdG9tLmNwcAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSw4NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIAorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShW
SURFT19UUkFDSykKKworI2luY2x1ZGUgIkpTVHJhY2tDdXN0b20uaCIKKworI2luY2x1ZGUgIkpT
VGV4dFRyYWNrLmgiCisKK3VzaW5nIG5hbWVzcGFjZSBKU0M7CisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworVHJhY2tCYXNlKiB0b1RyYWNrKEpTVmFsdWUgdmFsdWUpCit7CisgICAgaWYgKCF2YWx1
ZS5pc09iamVjdCgpKQorICAgICAgICByZXR1cm4gMDsKKworICAgIEpTT2JqZWN0KiBvYmplY3Qg
PSBhc09iamVjdCh2YWx1ZSk7CisgICAgaWYgKG9iamVjdC0+aW5oZXJpdHMoJkpTVGV4dFRyYWNr
OjpzX2luZm8pKQorICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8SlNUZXh0VHJhY2sqPihvYmpl
Y3QpLT5pbXBsKCk7CisgICAgCisgICAgLy8gRklYTUU6IEZpbGwgaW4gYWRkaXRpb25hbCB0ZXN0
cyBhbmQgY2FzdHMgaGVyZSBmb3IgVmlkZW9UcmFjayBhbmQgQXVkaW9UcmFjayB3aGVuIAorICAg
IC8vIHRoZXkgaGF2ZSBiZWVuIGFkZGVkIHRvIFdlYkNvcmUuCisKKyAgICByZXR1cm4gMDsKK30K
KworSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIFRyYWNrQmFzZSogdHJhY2spCit7CisgICAgaWYgKCF0cmFjaykK
KyAgICAgICAgcmV0dXJuIGpzTnVsbCgpOworICAgIAorICAgIEpTRE9NV3JhcHBlciogd3JhcHBl
ciA9IGdldENhY2hlZFdyYXBwZXIoY3VycmVudFdvcmxkKGV4ZWMpLCB0cmFjayk7CisgICAgaWYg
KHdyYXBwZXIpCisgICAgICAgIHJldHVybiB3cmFwcGVyOworICAgIAorICAgIHN3aXRjaCAodHJh
Y2stPnR5cGUoKSkgeworICAgIGNhc2UgVHJhY2tCYXNlOjpCYXNlVHJhY2s6CisgICAgICAgIC8v
IFRoaXMgc2hvdWxkIG5ldmVyIGhhcHBlbi4KKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
CisgICAgICAgIGJyZWFrOworICAgICAgICAKKyAgICBjYXNlIFRyYWNrQmFzZTo6QXVkaW9UcmFj
azoKKyAgICBjYXNlIFRyYWNrQmFzZTo6VmlkZW9UcmFjazoKKyAgICAgICAgLy8gVGhpcyBzaG91
bGQgbm90IGhhcHBlbiB1bnRpbCBWaWRlb1RyYWNrIGFuZCBBdWRpb1RyYWNrIGFyZSBpbXBsZW1l
bnRlZC4KKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIGJyZWFrOworCisg
ICAgY2FzZSBUcmFja0Jhc2U6OlRleHRUcmFjazoKKyAgICAgICAgcmV0dXJuIENSRUFURV9ET01f
V1JBUFBFUihleGVjLCBnbG9iYWxPYmplY3QsIFRleHRUcmFjaywgdHJhY2spOworICAgICAgICBi
cmVhazsKKyAgICB9CisgICAgCisgICAgcmV0dXJuIGpzTnVsbCgpOworfQorCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKKyNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNUcmFja0N1c3RvbS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTVHJhY2tDdXN0b20uaAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTVHJhY2tDdXN0b20uaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0MiBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIs
IElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwg
SU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAq
LworCisjaWZuZGVmIEpTVHJhY2tDdXN0b21faAorI2RlZmluZSBKU1RyYWNrQ3VzdG9tX2gKKwor
I2lmIEVOQUJMRShWSURFT19UUkFDSykKKworI2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgorI2lu
Y2x1ZGUgIlRyYWNrQmFzZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1RyYWNrQmFzZSog
dG9UcmFjayhKU0M6OkpTVmFsdWUpOworSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUq
LCBKU0RPTUdsb2JhbE9iamVjdCosIFRyYWNrQmFzZSopOworCit9CisKKyNlbmRpZgorI2VuZGlm
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1RyYWNrRXZlbnRDdXN0b20uY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTVHJhY2tFdmVudEN1
c3RvbS5jcHAJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1Ry
YWNrRXZlbnRDdXN0b20uY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDUwIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElO
Qy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQorCisjaW5j
bHVkZSAiSlNUcmFja0V2ZW50LmgiCisKKyNpbmNsdWRlICJKU1RyYWNrQ3VzdG9tLmgiCisjaW5j
bHVkZSAiVHJhY2tCYXNlLmgiCisKK3VzaW5nIG5hbWVzcGFjZSBKU0M7CisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworSlNWYWx1ZSBKU1RyYWNrRXZlbnQ6OnRyYWNrKEV4ZWNTdGF0ZSogZXhlYykg
Y29uc3QKK3sKKyAgICBUcmFja0Jhc2UqIHRyYWNrID0gc3RhdGljX2Nhc3Q8VHJhY2tFdmVudCo+
KGltcGwoKSktPnRyYWNrKCk7CisgICAgaWYgKCF0cmFjaykKKyAgICAgICAgcmV0dXJuIGpzTnVs
bCgpOworCisgICAgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0KCksIHRyYWNrKTsKK30K
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L09wdGlvbnNPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L09wdGlvbnNPYmplY3QuY3BwCShyZXZpc2lvbiA5OTA5MikKKysrIFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L09wdGlvbnNPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0zNyw2ICszNywxMSBAQAogI2luY2x1ZGUgIlY4SURCS2V5UmFuZ2UuaCIKICNlbmRpZgog
CisjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQorI2luY2x1ZGUgIlRyYWNrQmFzZS5oIgorI2luY2x1
ZGUgIlY4VGV4dFRyYWNrLmgiCisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBPcHRp
b25zT2JqZWN0OjpPcHRpb25zT2JqZWN0KCkKQEAgLTIyNyw0ICsyMzIsMjYgQEAgYm9vbCBPcHRp
b25zT2JqZWN0OjpnZXRXaXRoVW5kZWZpbmVkT3JOdQogICAgIHJldHVybiB0cnVlOwogfQogCisj
aWYgRU5BQkxFKFZJREVPX1RSQUNLKQorYm9vbCBPcHRpb25zT2JqZWN0OjpnZXQoY29uc3QgU3Ry
aW5nJiBrZXksIFJlZlB0cjxUcmFja0Jhc2U+JiB2YWx1ZSkgY29uc3QKK3sKKyAgICB2ODo6TG9j
YWw8djg6OlZhbHVlPiB2OFZhbHVlOworICAgIGlmICghZ2V0S2V5KGtleSwgdjhWYWx1ZSkpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIFRyYWNrQmFzZSogc291cmNlID0gMDsKKyAgICBp
ZiAodjhWYWx1ZS0+SXNPYmplY3QoKSkgeworICAgICAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+
IHdyYXBwZXIgPSB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KHY4VmFsdWUpOworCisgICAg
ICAgIC8vIEZJWE1FOiB0aGlzIHdpbGwgbmVlZCB0byBiZSBjaGFuZ2VkIHNvIGl0IGNhbiBhbHNv
IHJldHVybiBhbiBBdWRpb1RyYWNrIG9yIGEgVmlkZW9UcmFjayBvbmNlCisgICAgICAgIC8vIHdl
IGFkZCB0aGVtLgorICAgICAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHRyYWNrID0gVjhET01X
cmFwcGVyOjpsb29rdXBET01XcmFwcGVyKFY4VGV4dFRyYWNrOjpHZXRUZW1wbGF0ZSgpLCB3cmFw
cGVyKTsKKyAgICAgICAgaWYgKCF0cmFjay5Jc0VtcHR5KCkpCisgICAgICAgICAgICBzb3VyY2Ug
PSBWOFRleHRUcmFjazo6dG9OYXRpdmUodHJhY2spOworICAgIH0KKyAgICB2YWx1ZSA9IHNvdXJj
ZTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9PcHRpb25zT2JqZWN0LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvT3B0aW9uc09iamVjdC5oCShyZXZp
c2lvbiA5OTA5MikKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L09wdGlvbnNPYmplY3Qu
aAkod29ya2luZyBjb3B5KQpAQCAtMzYsNiArMzYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBj
bGFzcyBET01TdHJpbmdMaXN0OwogY2xhc3MgRE9NV2luZG93OwogY2xhc3MgSURCS2V5UmFuZ2U7
CitjbGFzcyBUcmFja0Jhc2U7CiAKIGNsYXNzIE9wdGlvbnNPYmplY3QgewogcHVibGljOgpAQCAt
NTcsNiArNTgsOSBAQCBwdWJsaWM6CiAgICAgYm9vbCBnZXQoY29uc3QgU3RyaW5nJiwgdW5zaWdu
ZWQgbG9uZyBsb25nJikgY29uc3Q7CiAgICAgYm9vbCBnZXQoY29uc3QgU3RyaW5nJiwgUmVmUHRy
PERPTVdpbmRvdz4mKSBjb25zdDsKICAgICBib29sIGdldChjb25zdCBTdHJpbmcmLCBNZXNzYWdl
UG9ydEFycmF5JikgY29uc3Q7CisjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQorICAgIGJvb2wgZ2V0
KGNvbnN0IFN0cmluZyYga2V5LCBSZWZQdHI8VHJhY2tCYXNlPiYgdmFsdWUpIGNvbnN0OworI2Vu
ZGlmCiAKICAgICBib29sIGdldFdpdGhVbmRlZmluZWRPck51bGxDaGVjayhjb25zdCBTdHJpbmcm
LCBTdHJpbmcmKSBjb25zdDsKIApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4RXZlbnRDb25zdHJ1Y3RvcnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEV2ZW50Q29uc3RydWN0b3JzLmNwcAkocmV2aXNpb24gOTkw
OTIpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhFdmVudENvbnN0cnVj
dG9ycy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY3LDYgKzY3LDExIEBACiAjaW5jbHVkZSAiVjhX
ZWJLaXRBbmltYXRpb25FdmVudC5oIgogI2luY2x1ZGUgIlY4V2ViS2l0VHJhbnNpdGlvbkV2ZW50
LmgiCiAKKyNpZiBFTkFCTEUoVklERU9fVFJBQ0spCisjaW5jbHVkZSAiVHJhY2tFdmVudC5oIgor
I2luY2x1ZGUgIlY4VHJhY2tFdmVudC5oIgorI2VuZGlmCisKICNpbmNsdWRlIDx3dGYvUmVmUHRy
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTEzMiw2ICsxMzcsNiBAQCBJTlNUQU5USUFU
RV9JTklUSUFMSVpJTkdfQ09OU1RSVUNUT1JfRk9SCiBJTlNUQU5USUFURV9JTklUSUFMSVpJTkdf
Q09OU1RSVUNUT1JfRk9SX0JFRk9SRV9MT0FEX0VWRU5UKERJQ1RJT05BUllfU1RBUlQsIERJQ1RJ
T05BUllfRU5ELCBGSUxMX1BBUkVOVF9QUk9QRVJUSUVTLCBGSUxMX1BST1BFUlRZKQogSU5TVEFO
VElBVEVfSU5JVElBTElaSU5HX0NPTlNUUlVDVE9SX0ZPUl9PVkVSRkxPV19FVkVOVChESUNUSU9O
QVJZX1NUQVJULCBESUNUSU9OQVJZX0VORCwgRklMTF9QQVJFTlRfUFJPUEVSVElFUywgRklMTF9Q
Uk9QRVJUWSkKIElOU1RBTlRJQVRFX0lOSVRJQUxJWklOR19DT05TVFJVQ1RPUl9GT1JfTUVTU0FH
RV9FVkVOVChESUNUSU9OQVJZX1NUQVJULCBESUNUSU9OQVJZX0VORCwgRklMTF9QQVJFTlRfUFJP
UEVSVElFUywgRklMTF9QUk9QRVJUWSkKLQorSU5TVEFOVElBVEVfSU5JVElBTElaSU5HX0NPTlNU
UlVDVE9SX0ZPUl9UUkFDS19FVkVOVChESUNUSU9OQVJZX1NUQVJULCBESUNUSU9OQVJZX0VORCwg
RklMTF9QQVJFTlRfUFJPUEVSVElFUywgRklMTF9QUk9QRVJUWSkKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4VHJhY2tF
dmVudEN1c3RvbS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4VHJhY2tFdmVudEN1c3RvbS5jcHAJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhUcmFja0V2ZW50Q3VzdG9tLmNwcAkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSw3NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisg
KiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShWSURF
T19UUkFDSykKKworI2luY2x1ZGUgIlY4VHJhY2tFdmVudC5oIgorCisjaW5jbHVkZSAiVHJhY2tC
YXNlLmgiCisjaW5jbHVkZSAiVHJhY2tFdmVudC5oIgorI2luY2x1ZGUgIlY4UHJveHkuaCIKKyNp
bmNsdWRlICJWOFRleHRUcmFjay5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3Y4OjpIYW5k
bGU8djg6OlZhbHVlPiBWOFRyYWNrRXZlbnQ6OnRyYWNrQWNjZXNzb3JHZXR0ZXIodjg6OkxvY2Fs
PHY4OjpTdHJpbmc+IG5hbWUsIGNvbnN0IHY4OjpBY2Nlc3NvckluZm8mIGluZm8pCit7CisgICAg
SU5DX1NUQVRTKCJET00uVHJhY2tFdmVudC50cmFjayIpOworICAgIFRyYWNrRXZlbnQqIHRyYWNr
RXZlbnQgPSBWOFRyYWNrRXZlbnQ6OnRvTmF0aXZlKGluZm8uSG9sZGVyKCkpOworICAgIFRyYWNr
QmFzZSogdHJhY2sgPSB0cmFja0V2ZW50LT50cmFjaygpOworICAgIAorICAgIGlmICghdHJhY2sp
CisgICAgICAgIHJldHVybiB2ODo6TnVsbCgpOworCisgICAgc3dpdGNoICh0cmFjay0+dHlwZSgp
KSB7CisgICAgY2FzZSBUcmFja0Jhc2U6OkJhc2VUcmFjazoKKyAgICAgICAgLy8gVGhpcyBzaG91
bGQgbmV2ZXIgaGFwcGVuLgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAg
YnJlYWs7CisgICAgICAgIAorICAgIGNhc2UgVHJhY2tCYXNlOjpUZXh0VHJhY2s6CisgICAgICAg
IHJldHVybiB0b1Y4KHN0YXRpY19jYXN0PFRleHRUcmFjayo+KHRyYWNrKSk7CisgICAgICAgIGJy
ZWFrOworCisgICAgY2FzZSBUcmFja0Jhc2U6OkF1ZGlvVHJhY2s6CisgICAgY2FzZSBUcmFja0Jh
c2U6OlZpZGVvVHJhY2s6CisgICAgICAgIC8vIFRoaXMgc2hvdWxkIG5vdCBoYXBwZW4gdW50aWwg
VmlkZW9UcmFjayBhbmQgQXVkaW9UcmFjayBhcmUgaW1wbGVtZW50ZWQuCisgICAgICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOworICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICByZXR1cm4gdjg6
Ok51bGwoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2RvbS9FdmVudEZhY3RvcnkuaW4KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvZG9tL0V2ZW50RmFjdG9yeS5pbgkocmV2aXNpb24gOTkwOTIpCisrKyBTb3VyY2UvV2Vi
Q29yZS9kb20vRXZlbnRGYWN0b3J5LmluCSh3b3JraW5nIGNvcHkpCkBAIC00MSwzICs0MSw1IEBA
IFRvdWNoRXZlbnQgY29uZGl0aW9uYWw9VE9VQ0hfRVZFTlRTCiBEZXZpY2VNb3Rpb25FdmVudCBj
b25kaXRpb25hbD1ERVZJQ0VfT1JJRU5UQVRJT04KIERldmljZU9yaWVudGF0aW9uRXZlbnQgY29u
ZGl0aW9uYWw9REVWSUNFX09SSUVOVEFUSU9OCiBPcmllbnRhdGlvbkV2ZW50IGludGVyZmFjZU5h
bWU9RXZlbnQsIGNvbmRpdGlvbmFsPU9SSUVOVEFUSU9OX0VWRU5UUworVHJhY2tFdmVudCBjb25k
aXRpb25hbD1WSURFT19UUkFDSworCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1l
cy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgJKHJldmlz
aW9uIDk5MDkyKQorKysgU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAkod29ya2luZyBj
b3B5KQpAQCAtMTQ1LDYgKzE0NSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyh2
b2x1bWVjaGFuZ2UpIFwKICAgICBtYWNybyh3YWl0aW5nKSBcCiAgICAgXAorICAgIG1hY3JvKGFk
ZHRyYWNrKSBcCisgICAgXAogICAgIG1hY3JvKHdlYmtpdGJlZ2luZnVsbHNjcmVlbikgXAogICAg
IG1hY3JvKHdlYmtpdGVuZGZ1bGxzY3JlZW4pIFwKICAgICBcCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9odG1sL1RleHRUcmFjay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9U
ZXh0VHJhY2suY3BwCShyZXZpc2lvbiA5OTA5MikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvVGV4
dFRyYWNrLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzUsMTEgKzM1LDEzIEBACiAjaW5jbHVkZSAi
VGV4dFRyYWNrLmgiCiAKICNpbmNsdWRlICJUZXh0VHJhY2tDdWVMaXN0LmgiCisjaW5jbHVkZSAi
VHJhY2tCYXNlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogVGV4dFRyYWNrOjpUZXh0VHJh
Y2soVGV4dFRyYWNrQ2xpZW50KiBjbGllbnQsIGNvbnN0IFN0cmluZyYga2luZCwgY29uc3QgU3Ry
aW5nJiBsYWJlbCwgY29uc3QgU3RyaW5nJiBsYW5ndWFnZSkKLSAgICA6IG1fa2luZChraW5kKQor
ICAgIDogVHJhY2tCYXNlKFRyYWNrQmFzZTo6VGV4dFRyYWNrKQorICAgICwgbV9raW5kKGtpbmQp
CiAgICAgLCBtX2xhYmVsKGxhYmVsKQogICAgICwgbV9sYW5ndWFnZShsYW5ndWFnZSkKICAgICAs
IG1fcmVhZHlTdGF0ZShUZXh0VHJhY2s6Ok5PTkUpCkBAIC0xMzIsNyArMTM0LDYgQEAgdm9pZCBU
ZXh0VHJhY2s6OmZldGNoTmV3ZXN0Q3VlcyhWZWN0b3I8VAogICAgIC8vIEZJWE1FKDYyODkwKTog
SW1wbGVtZW50LgogfQogCi0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9odG1sL1RleHRUcmFjay5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2h0bWwvVGV4dFRyYWNrLmgJKHJldmlzaW9uIDk5MDkyKQorKysgU291cmNlL1dlYkNv
cmUvaHRtbC9UZXh0VHJhY2suaAkod29ya2luZyBjb3B5KQpAQCAtMjksNiArMjksNyBAQAogI2lm
IEVOQUJMRShWSURFT19UUkFDSykKIAogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKKyNpbmNs
dWRlICJUcmFja0Jhc2UuaCIKICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUg
PHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CkBAIC01
MSw3ICs1Miw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgdGV4dFRyYWNrUmVtb3ZlQ3Vl
KFRleHRUcmFjayosIFBhc3NSZWZQdHI8VGV4dFRyYWNrQ3VlPikgPSAwOwogfTsKIAotY2xhc3Mg
VGV4dFRyYWNrIDogcHVibGljIFJlZkNvdW50ZWQ8VGV4dFRyYWNrPiB7CitjbGFzcyBUZXh0VHJh
Y2sgOiBwdWJsaWMgVHJhY2tCYXNlIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxU
ZXh0VHJhY2s+IGNyZWF0ZShUZXh0VHJhY2tDbGllbnQqIGNsaWVudCwgY29uc3QgU3RyaW5nJiBr
aW5kLCBjb25zdCBTdHJpbmcmIGxhYmVsLCBjb25zdCBTdHJpbmcmIGxhbmd1YWdlKQogICAgIHsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVHJhY2tCYXNlLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RyYWNrQmFzZS5jcHAJKHJldmlzaW9uIDAp
CisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RyYWNrQmFzZS5jcHAJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsNDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiAg
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1
ZGUgIlRyYWNrQmFzZS5oIgorCisjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK1RyYWNrQmFzZTo6VHJhY2tCYXNlKFR5cGUgdHlwZSkKK3sKKyAgICBBU1NF
UlQodHlwZSAhPSBCYXNlVHJhY2spOworICAgIG1fdHlwZSA9IHR5cGU7Cit9CisKK1RyYWNrQmFz
ZTo6flRyYWNrQmFzZSgpCit7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlm
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RyYWNrQmFzZS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVHJhY2tCYXNlLmgJKHJldmlzaW9uIDApCisr
KyBTb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RyYWNrQmFzZS5oCShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDUyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
KyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYgVHJhY2tCYXNlX2gKKyNkZWZpbmUgVHJh
Y2tCYXNlX2gKKworI2lmIEVOQUJMRShWSURFT19UUkFDSykKKworI2luY2x1ZGUgPHd0Zi9SZWZD
b3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgVHJhY2tCYXNlIDogcHVi
bGljIFJlZkNvdW50ZWQ8VHJhY2tCYXNlPiB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+VHJhY2tC
YXNlKCk7CisKKyAgICBlbnVtIFR5cGUgeyBCYXNlVHJhY2ssIFRleHRUcmFjaywgQXVkaW9UcmFj
aywgVmlkZW9UcmFjayB9OworICAgIFR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsg
fQorCitwcm90ZWN0ZWQ6CisgICAgVHJhY2tCYXNlKFR5cGUpOworCitwcml2YXRlOgorICAgIFR5
cGUgbV90eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKKyNlbmRp
ZiAvLyBUcmFja0Jhc2VfaApJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UcmFja0V2
ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RyYWNrRXZl
bnQuY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UcmFja0V2
ZW50LmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw2MiBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMSBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
KyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoVklERU9fVFJBQ0spCisKKyNpbmNsdWRlICJUcmFj
a0V2ZW50LmgiCisKKyNpbmNsdWRlICJFdmVudE5hbWVzLmgiCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworVHJhY2tFdmVudEluaXQ6OlRyYWNrRXZlbnRJbml0KCkKK3sKK30KKworCitUcmFja0V2
ZW50OjpUcmFja0V2ZW50KCkKK3sKK30KKworVHJhY2tFdmVudDo6VHJhY2tFdmVudChjb25zdCBB
dG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0IFRyYWNrRXZlbnRJbml0JiBpbml0aWFsaXplcikKKyAg
ICA6IEV2ZW50KHR5cGUsIGluaXRpYWxpemVyKQorICAgICwgbV90cmFjayhpbml0aWFsaXplci50
cmFjaykKK3sKK30KKworVHJhY2tFdmVudDo6flRyYWNrRXZlbnQoKQoreworfQorCitjb25zdCBB
dG9taWNTdHJpbmcmIFRyYWNrRXZlbnQ6OmludGVyZmFjZU5hbWUoKSBjb25zdAoreworICAgIHJl
dHVybiBldmVudE5hbWVzKCkuaW50ZXJmYWNlRm9yVHJhY2tFdmVudDsKK30KKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQorCisjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2sv
VHJhY2tFdmVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVHJh
Y2tFdmVudC5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UcmFj
a0V2ZW50LmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNzIgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTEgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMg
SVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
CisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRl
ZiBUcmFja0V2ZW50X2gKKyNkZWZpbmUgVHJhY2tFdmVudF9oCisKKyNpZiBFTkFCTEUoVklERU9f
VFJBQ0spCisKKyNpbmNsdWRlICJFdmVudC5oIgorI2luY2x1ZGUgIlRyYWNrQmFzZS5oIgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0cnVjdCBUcmFja0V2ZW50SW5pdCA6IHB1YmxpYyBFdmVu
dEluaXQgeworICAgIFRyYWNrRXZlbnRJbml0KCk7CisKKyAgICBSZWZQdHI8VHJhY2tCYXNlPiB0
cmFjazsKK307CisKK2NsYXNzIFRyYWNrRXZlbnQgOiBwdWJsaWMgRXZlbnQgeworcHVibGljOgor
ICAgIHZpcnR1YWwgflRyYWNrRXZlbnQoKTsKKworICAgIHN0YXRpYyBQYXNzUmVmUHRyPFRyYWNr
RXZlbnQ+IGNyZWF0ZSgpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFRyYWNr
RXZlbnQpOworICAgIH0KKworICAgIHN0YXRpYyBQYXNzUmVmUHRyPFRyYWNrRXZlbnQ+IGNyZWF0
ZShjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0IFRyYWNrRXZlbnRJbml0JiBpbml0aWFs
aXplcikKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgVHJhY2tFdmVudCh0eXBl
LCBpbml0aWFsaXplcikpOworICAgIH0KKworICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5n
JiBpbnRlcmZhY2VOYW1lKCkgY29uc3Q7CisKKyAgICBUcmFja0Jhc2UqIHRyYWNrKCkgY29uc3Qg
eyByZXR1cm4gbV90cmFjay5nZXQoKTsgfQorCitwcml2YXRlOgorICAgIFRyYWNrRXZlbnQoKTsK
KyAgICBUcmFja0V2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgY29uc3QgVHJhY2tFdmVu
dEluaXQmIGluaXRpYWxpemVyKTsKKworICAgIHZpcnR1YWwgYm9vbCBpc1RyYWNrRXZlbnQoKSBj
b25zdCB7IHJldHVybiB0cnVlOyB9CisKKyAgICBSZWZQdHI8VHJhY2tCYXNlPiBtX3RyYWNrOwor
fTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKKyNlbmRpZgpJbmRleDogU291
cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UcmFja0V2ZW50LmlkbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9odG1sL3RyYWNrL1RyYWNrRXZlbnQuaWRsCShyZXZpc2lvbiAwKQorKysgU291
cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UcmFja0V2ZW50LmlkbAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSwzOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMuICBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisg
KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKKyAqLworCittb2R1bGUgaHRtbCB7CisKKyAgICBpbnRlcmZhY2UgWwor
ICAgICAgICBDb25kaXRpb25hbD1WSURFT19UUkFDSywKKyAgICAgICAgRW5hYmxlZEF0UnVudGlt
ZT13ZWJraXRWaWRlb1RyYWNrLAorICAgICAgICBDYW5CZUNvbnN0cnVjdGVkLAorICAgICAgICBK
U0N1c3RvbUNvbnN0cnVjdG9yLAorICAgIF0gVHJhY2tFdmVudCA6IEV2ZW50IHsKKworICAgICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgW0N1c3RvbUdldHRlcl0gb2JqZWN0IHRyYWNrOworCisgICAg
fTsKKworfQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAkocmV2aXNpb24gOTkwOTIp
CisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwJKHdvcmtpbmcgY29weSkKQEAg
LTYxMyw2ICs2MTMsNyBAQCBtb2R1bGUgd2luZG93IHsKICAgICAgICAgYXR0cmlidXRlIFtFbmFi
bGVkQXRSdW50aW1lPXdlYmtpdFZpZGVvVHJhY2tdIFRleHRUcmFja0NvbnN0cnVjdG9yIFRleHRU
cmFjazsKICAgICAgICAgYXR0cmlidXRlIFtFbmFibGVkQXRSdW50aW1lPXdlYmtpdFZpZGVvVHJh
Y2tdIFRleHRUcmFja0N1ZUNvbnN0cnVjdG9yIFRleHRUcmFja0N1ZTsgLy8gVXNhYmxlIHdpdGgg
dGhlIG5ldyBvcGVyYXRvcgogICAgICAgICBhdHRyaWJ1dGUgW0VuYWJsZWRBdFJ1bnRpbWU9d2Vi
a2l0VmlkZW9UcmFja10gVGV4dFRyYWNrQ3VlTGlzdENvbnN0cnVjdG9yIFRleHRUcmFja0N1ZUxp
c3Q7CisgICAgICAgIGF0dHJpYnV0ZSBbRW5hYmxlZEF0UnVudGltZT13ZWJraXRWaWRlb1RyYWNr
XSBUcmFja0V2ZW50Q29uc3RydWN0b3IgVHJhY2tFdmVudDsKICNlbmRpZgogCiAgICAgICAgIGF0
dHJpYnV0ZSBET01QbHVnaW5Db25zdHJ1Y3RvciBQbHVnaW47CkluZGV4OiBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA5
OTA5MikKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDE4IEBACisyMDExLTExLTAyICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29t
PgorCisgICAgICAgIEFkZCBUcmFja0V2ZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD03MTE3OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL3RyYWNrLWV2ZW50
LWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9ldmVudHMv
Y29uc3RydWN0b3JzL3RyYWNrLWV2ZW50LWNvbnN0cnVjdG9yLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHBsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ndGsvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvZmFzdC9qcy9nbG9iYWwtY29uc3RydWN0b3JzLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvU2tpcHBlZDoKKyAgICAgICAgKiBw
bGF0Zm9ybS93aW4vU2tpcHBlZDoKKwogMjAxMS0xMS0wMiAgVG9ueSBDaGFuZyAgPHRvbnlAY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIExhbmQgY2hyb21pdW0gd2luL2xlb3BhcmQgYmFzZWxpbmVz
IGZvciBwcmludGluZy9zZXRQcmludGluZy5odG1sIGFuZCBwcmludGluZyBzaW5nbGUtbGluZS1t
dXN0LW5vdC1iZS1zcGxpdC1pbnRvLXR3by1wYWdlcy5odG1sLgpJbmRleDogTGF5b3V0VGVzdHMv
ZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL3RyYWNrLWV2ZW50LWNvbnN0cnVjdG9yLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMv
dHJhY2stZXZlbnQtY29uc3RydWN0b3ItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5
b3V0VGVzdHMvZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL3RyYWNrLWV2ZW50LWNvbnN0cnVjdG9y
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzOSBAQAorVGhpcyB0ZXN0cyB0
aGUgY29uc3RydWN0b3IgZm9yIHRoZSBUcmFja0V2ZW50IERPTSBjbGFzcy4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCisKKworKioqIE5vIGluaXRpYWxpemVyIHBhc3NlZCAqKioKK1BB
U1MgbmV3IFRyYWNrRXZlbnQoJ1RyYWNrRXZlbnQnKS5idWJibGVzIGlzIGZhbHNlCitQQVNTIG5l
dyBUcmFja0V2ZW50KCdUcmFja0V2ZW50JykuY2FuY2VsYWJsZSBpcyBmYWxzZQorUEFTUyBuZXcg
VHJhY2tFdmVudCgnVHJhY2tFdmVudCcpLnRyYWNrIGlzIG51bGwKKworKioqIEJ1YmJsZXMgYW5k
IGNhbmNlbGFibGUgdHJ1ZSwgdHJhY2sgaXMgbWlzc2luZyAqKioKK1BBU1MgbmV3IFRyYWNrRXZl
bnQoJ1RyYWNrRXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUgfSkuYnVi
YmxlcyBpcyB0cnVlCitQQVNTIG5ldyBUcmFja0V2ZW50KCdUcmFja0V2ZW50JywgeyBidWJibGVz
OiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlIH0pLmNhbmNlbGFibGUgaXMgdHJ1ZQorUEFTUyBuZXcg
VHJhY2tFdmVudCgnVHJhY2tFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1
ZSB9KS50cmFjayBpcyBudWxsCisKKyoqKiBCdWJibGVzIGFuZCBjYW5jZWxhYmxlIHRydWUsIGlu
dmFsaWQgdHJhY2sgKioqCitQQVNTIG5ldyBUcmFja0V2ZW50KCdUcmFja0V2ZW50JywgeyBidWJi
bGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCB0cmFjazogSFRNTFRyYWNrRWxlbWVudCB9KS5i
dWJibGVzIGlzIHRydWUKK1BBU1MgbmV3IFRyYWNrRXZlbnQoJ1RyYWNrRXZlbnQnLCB7IGJ1YmJs
ZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIHRyYWNrOiBIVE1MVHJhY2tFbGVtZW50IH0pLmNh
bmNlbGFibGUgaXMgdHJ1ZQorUEFTUyBuZXcgVHJhY2tFdmVudCgnVHJhY2tFdmVudCcsIHsgYnVi
YmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwgdHJhY2s6IEhUTUxUcmFja0VsZW1lbnQgfSku
dHJhY2sgaXMgbnVsbAorCisqKiogSW5pdGlhbGl6ZSAndHJhY2snIHdpdGggYSBpbnZhbGlkIHZh
bHVlcyAqKioKK1BBU1MgbmV3IFRyYWNrRXZlbnQoJ1RyYWNrRXZlbnQnLCB7IHRyYWNrOiAxMCB9
KS50cmFjayBpcyBudWxsCitQQVNTIG5ldyBUcmFja0V2ZW50KCdUcmFja0V2ZW50JywgeyB0cmFj
azogJ3N0cmluZycgfSkudHJhY2sgaXMgbnVsbAorUEFTUyBuZXcgVHJhY2tFdmVudCgnVHJhY2tF
dmVudCcsIHsgdHJhY2s6IGVtcHR5T2JqZWN0IH0pLnRyYWNrIGlzIG51bGwKK1BBU1MgbmV3IFRy
YWNrRXZlbnQoJ1RyYWNrRXZlbnQnLCB7IHRyYWNrOiBkb2N1bWVudCB9KS50cmFjayBpcyBudWxs
CisKKyoqKiBCdWJibGVzIGFuZCBjYW5jZWxhYmxlIHRydWUsIHZhbGlkIHRyYWNrICoqKgorUEFT
UyBuZXcgVHJhY2tFdmVudCgnVHJhY2tFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJs
ZTogdHJ1ZSwgdHJhY2s6IEhUTUxUcmFja0VsZW1lbnQgfSkuYnViYmxlcyBpcyB0cnVlCitQQVNT
IG5ldyBUcmFja0V2ZW50KCdUcmFja0V2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxl
OiB0cnVlLCB0cmFjazogSFRNTFRyYWNrRWxlbWVudCB9KS5jYW5jZWxhYmxlIGlzIHRydWUKK1BB
U1MgbmV3IFRyYWNrRXZlbnQoJ1RyYWNrRXZlbnQnLCB7IHRyYWNrOiB0cmFja0VsZW1lbnQudHJh
Y2sgfSkudHJhY2sgaXMgdHJhY2tFbGVtZW50LnRyYWNrCisKKyoqKiBJbml0aWFsaXplICd0cmFj
aycgd2l0aCB2YWxpZCB0cmFjayBvYmplY3QgKioqCitQQVNTIG5ldyBUcmFja0V2ZW50KCdUcmFj
a0V2ZW50JywgeyB0cmFjazogdHJhY2tFbGVtZW50LnRyYWNrIH0pLnRyYWNrIGlzIHRyYWNrRWxl
bWVudC50cmFjaworCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL3RyYWNr
LWV2ZW50LWNvbnN0cnVjdG9yLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9l
dmVudHMvY29uc3RydWN0b3JzL3RyYWNrLWV2ZW50LWNvbnN0cnVjdG9yLmh0bWwJKHJldmlzaW9u
IDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMvdHJhY2stZXZlbnQt
Y29uc3RydWN0b3IuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keT4KKyAgICA8c2Ny
aXB0PgorCisgICAgICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGUgY29uc3RydWN0b3IgZm9yIHRoZSBUcmFja0V2ZW50
IERPTSBjbGFzcy4iKTsKKworICAgICAgICBmdW5jdGlvbiB0ZXN0KCkKKyAgICAgICAgeworICAg
ICAgICAgICAgLy8gTWFrZSBzdXJlIHRoZSB0cmFjayBhY3R1YWxseSBsb2FkZWQuCisgICAgICAg
ICAgICBzaG91bGRCZSgidHJhY2tFbGVtZW50LnRyYWNrLnJlYWR5U3RhdGUiLCAiVGV4dFRyYWNr
LkxvYWRlZCIsIHRydWUpOworCisgICAgICAgICAgICBkZWJ1ZygiPGJyPioqKiBObyBpbml0aWFs
aXplciBwYXNzZWQgKioqIik7CisgICAgICAgICAgICBzaG91bGRCZSgibmV3IFRyYWNrRXZlbnQo
J1RyYWNrRXZlbnQnKS5idWJibGVzIiwgImZhbHNlIik7CisgICAgICAgICAgICBzaG91bGRCZSgi
bmV3IFRyYWNrRXZlbnQoJ1RyYWNrRXZlbnQnKS5jYW5jZWxhYmxlIiwgImZhbHNlIik7CisgICAg
ICAgICAgICBzaG91bGRCZU51bGwoIm5ldyBUcmFja0V2ZW50KCdUcmFja0V2ZW50JykudHJhY2si
KTsKKyAgICAKKyAgICAgICAgICAgIGRlYnVnKCI8YnI+KioqIEJ1YmJsZXMgYW5kIGNhbmNlbGFi
bGUgdHJ1ZSwgdHJhY2sgaXMgbWlzc2luZyAqKioiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJu
ZXcgVHJhY2tFdmVudCgnVHJhY2tFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTog
dHJ1ZSB9KS5idWJibGVzIiwgInRydWUiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJuZXcgVHJh
Y2tFdmVudCgnVHJhY2tFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSB9
KS5jYW5jZWxhYmxlIiwgInRydWUiKTsKKyAgICAgICAgICAgIHNob3VsZEJlTnVsbCgibmV3IFRy
YWNrRXZlbnQoJ1RyYWNrRXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUg
fSkudHJhY2siKTsKKyAgICAKKyAgICAgICAgICAgIGRlYnVnKCI8YnI+KioqIEJ1YmJsZXMgYW5k
IGNhbmNlbGFibGUgdHJ1ZSwgaW52YWxpZCB0cmFjayAqKioiKTsKKyAgICAgICAgICAgIHNob3Vs
ZEJlKCJuZXcgVHJhY2tFdmVudCgnVHJhY2tFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2Vs
YWJsZTogdHJ1ZSwgdHJhY2s6IEhUTUxUcmFja0VsZW1lbnQgfSkuYnViYmxlcyIsICJ0cnVlIik7
CisgICAgICAgICAgICBzaG91bGRCZSgibmV3IFRyYWNrRXZlbnQoJ1RyYWNrRXZlbnQnLCB7IGJ1
YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIHRyYWNrOiBIVE1MVHJhY2tFbGVtZW50IH0p
LmNhbmNlbGFibGUiLCAidHJ1ZSIpOworICAgICAgICAgICAgc2hvdWxkQmVOdWxsKCJuZXcgVHJh
Y2tFdmVudCgnVHJhY2tFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwg
dHJhY2s6IEhUTUxUcmFja0VsZW1lbnQgfSkudHJhY2siKTsKKyAgICAKKyAgICAgICAgICAgIGRl
YnVnKCI8YnI+KioqIEluaXRpYWxpemUgJ3RyYWNrJyB3aXRoIGEgaW52YWxpZCB2YWx1ZXMgKioq
Iik7CisgICAgICAgICAgICBzaG91bGRCZU51bGwoIm5ldyBUcmFja0V2ZW50KCdUcmFja0V2ZW50
JywgeyB0cmFjazogMTAgfSkudHJhY2siKTsKKyAgICAgICAgICAgIHNob3VsZEJlTnVsbCgibmV3
IFRyYWNrRXZlbnQoJ1RyYWNrRXZlbnQnLCB7IHRyYWNrOiBcJ3N0cmluZ1wnIH0pLnRyYWNrIik7
CisgICAgICAgICAgICBlbXB0eU9iamVjdCA9IHsgfTsKKyAgICAgICAgICAgIHNob3VsZEJlTnVs
bCgibmV3IFRyYWNrRXZlbnQoJ1RyYWNrRXZlbnQnLCB7IHRyYWNrOiBlbXB0eU9iamVjdCB9KS50
cmFjayIpOworICAgICAgICAgICAgc2hvdWxkQmVOdWxsKCJuZXcgVHJhY2tFdmVudCgnVHJhY2tF
dmVudCcsIHsgdHJhY2s6IGRvY3VtZW50IH0pLnRyYWNrIik7CisKKyAgICAgICAgICAgIGRlYnVn
KCI8YnI+KioqIEJ1YmJsZXMgYW5kIGNhbmNlbGFibGUgdHJ1ZSwgdmFsaWQgdHJhY2sgKioqIik7
CisgICAgICAgICAgICBzaG91bGRCZSgibmV3IFRyYWNrRXZlbnQoJ1RyYWNrRXZlbnQnLCB7IGJ1
YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIHRyYWNrOiBIVE1MVHJhY2tFbGVtZW50IH0p
LmJ1YmJsZXMiLCAidHJ1ZSIpOworICAgICAgICAgICAgc2hvdWxkQmUoIm5ldyBUcmFja0V2ZW50
KCdUcmFja0V2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCB0cmFjazog
SFRNTFRyYWNrRWxlbWVudCB9KS5jYW5jZWxhYmxlIiwgInRydWUiKTsKKyAgICAgICAgICAgIHNo
b3VsZEJlKCJuZXcgVHJhY2tFdmVudCgnVHJhY2tFdmVudCcsIHsgdHJhY2s6IHRyYWNrRWxlbWVu
dC50cmFjayB9KS50cmFjayIsICJ0cmFja0VsZW1lbnQudHJhY2siKTsKKworICAgICAgICAgICAg
ZGVidWcoIjxicj4qKiogSW5pdGlhbGl6ZSAndHJhY2snIHdpdGggdmFsaWQgdHJhY2sgb2JqZWN0
ICoqKiIpOworICAgICAgICAgICAgc2hvdWxkQmUoIm5ldyBUcmFja0V2ZW50KCdUcmFja0V2ZW50
JywgeyB0cmFjazogdHJhY2tFbGVtZW50LnRyYWNrIH0pLnRyYWNrIiwgInRyYWNrRWxlbWVudC50
cmFjayIpOworCisgICAgICAgICAgICBkZWJ1ZygiIik7CisgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgfQorCisgICAgICAgIHZpZGVvID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgndmlkZW8nKTsKKyAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh2aWRlbyk7CisK
KyAgICAgICAgdHJhY2tFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHJhY2snKTsK
KyAgICAgICAgdmlkZW8uYXBwZW5kQ2hpbGQodHJhY2tFbGVtZW50KTsKKyAgICAgICAgdHJhY2tF
bGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCB0ZXN0KTsKKyAgICAgICAgdHJhY2tFbGVt
ZW50LnNyYz0nZGF0YTp0ZXh0L3Z0dCxXRUJWVFQgRklMRSBcclxyMVxyMDA6MDA6MDAuMDAwIC0t
PiAwMDowMDozMC41MDBccm9ubHkgb25lIGNhcHRpb24nOworCisgICAgPC9zY3JpcHQ+CisgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorCis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CShyZXZpc2lvbiA5OTA5MikKKysrIExh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtMTExLDYgKzExMSw3IEBAIEJVR1dLNDM2NjggU0tJUCA6IG1lZGlhL3RyYWNr
L3RyYWNrLXdlYnYKIEJVR1dLNDM2NjggU0tJUCA6IG1lZGlhL3RyYWNrL3RyYWNrLXdlYnZ0dC10
YzAyNi12b2ljZS5odG1sID0gVElNRU9VVAogQlVHV0s0MzY2OCBTS0lQIDogbWVkaWEvdHJhY2sv
dHJhY2std2VidnR0LXRjMDI3LWVtcHR5LWN1ZS5odG1sID0gVElNRU9VVAogQlVHV0s0MzY2OCBT
S0lQIDogbWVkaWEvdHJhY2svdHJhY2std2VidnR0LXRjMDI4LXVuc3VwcG9ydGVkLW1hcmt1cC5o
dG1sID0gVElNRU9VVAorQlVHV0s0MzY2OCBTS0lQIDogZmFzdC9ldmVudHMvY29uc3RydWN0b3Jz
L3RyYWNrLWV2ZW50LWNvbnN0cnVjdG9yLmh0bWwgPSBUSU1FT1VUCiAKIC8vIFRlc3RzIGZvciBN
ZWRpYVNvdXJjZSBBUEkuIEZlYXR1cmUgaXMgbm90IHlldCBmdW5jdGlvbmFsLgogQlVHV0s2NDcz
MSBTS0lQIDogaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvID0gVElNRU9VVApJbmRleDog
TGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGll
cy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2Zh
c3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDk5
MDkyKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ct
cHJvcGVydGllcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTIxMzcsNiArMjEzNyw4
IEBAIHdpbmRvdy5UaW1lUmFuZ2VzIFtvYmplY3QgVGltZVJhbmdlc0NvbnMKIHdpbmRvdy5UaW1l
UmFuZ2VzLnByb3RvdHlwZSBbb2JqZWN0IFRpbWVSYW5nZXNQcm90b3R5cGVdCiB3aW5kb3cuVGlt
ZVJhbmdlcy5wcm90b3R5cGUuZW5kIFtmdW5jdGlvbl0KIHdpbmRvdy5UaW1lUmFuZ2VzLnByb3Rv
dHlwZS5zdGFydCBbZnVuY3Rpb25dCit3aW5kb3cuVHJhY2tFdmVudCBbb2JqZWN0IFRyYWNrRXZl
bnRDb25zdHJ1Y3Rvcl0KK3dpbmRvdy5UcmFja0V2ZW50LnByb3RvdHlwZSBbcHJpbnRlZCBhYm92
ZSBhcyB3aW5kb3cuRXZlbnQucHJvdG90eXBlXQogd2luZG93LlR5cGVFcnJvciBbZnVuY3Rpb25d
CiB3aW5kb3cuVUlFdmVudCBbb2JqZWN0IFVJRXZlbnRDb25zdHJ1Y3Rvcl0KIHdpbmRvdy5VSUV2
ZW50LnByb3RvdHlwZSBbcHJpbnRlZCBhYm92ZSBhcyB3aW5kb3cuRXZlbnQucHJvdG90eXBlXQpJ
bmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2Zhc3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9y
cy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2Zh
c3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDk5MDkyKQor
KysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2Zhc3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9ycy1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTMwNyw2ICszMDcsNyBAQCBQQVNTIFRleHRU
cmFjay50b1N0cmluZygpIGlzICdbb2JqZWN0IFRlCiBQQVNTIFRleHRUcmFja0N1ZS50b1N0cmlu
ZygpIGlzICdbb2JqZWN0IFRleHRUcmFja0N1ZUNvbnN0cnVjdG9yXScKIFBBU1MgVGV4dFRyYWNr
Q3VlTGlzdC50b1N0cmluZygpIGlzICdbb2JqZWN0IFRleHRUcmFja0N1ZUxpc3RDb25zdHJ1Y3Rv
cl0nCiBQQVNTIFRpbWVSYW5nZXMudG9TdHJpbmcoKSBpcyAnW29iamVjdCBUaW1lUmFuZ2VzQ29u
c3RydWN0b3JdJworUEFTUyBUcmFja0V2ZW50LnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgVHJhY2tF
dmVudENvbnN0cnVjdG9yXScKIFBBU1MgVUlFdmVudC50b1N0cmluZygpIGlzICdbb2JqZWN0IFVJ
RXZlbnRDb25zdHJ1Y3Rvcl0nCiBQQVNTIFdlYktpdEFuaW1hdGlvbkV2ZW50LnRvU3RyaW5nKCkg
aXMgJ1tvYmplY3QgV2ViS2l0QW5pbWF0aW9uRXZlbnRDb25zdHJ1Y3Rvcl0nCiBQQVNTIFdlYktp
dENTU0tleWZyYW1lUnVsZS50b1N0cmluZygpIGlzICdbb2JqZWN0IFdlYktpdENTU0tleWZyYW1l
UnVsZUNvbnN0cnVjdG9yXScKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVk
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCShyZXZpc2lv
biA5OTA5MikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCSh3b3JraW5nIGNv
cHkpCkBAIC00NTgsNiArNDU4LDcgQEAgbWVkaWEvdHJhY2svdHJhY2std2VidnR0LXRjMDI1LWNs
YXNzLW1hcgogbWVkaWEvdHJhY2svdHJhY2std2VidnR0LXRjMDI2LXZvaWNlLmh0bWwKIG1lZGlh
L3RyYWNrL3RyYWNrLXdlYnZ0dC10YzAyNy1lbXB0eS1jdWUuaHRtbAogbWVkaWEvdHJhY2svdHJh
Y2std2VidnR0LXRjMDI4LXVuc3VwcG9ydGVkLW1hcmt1cC5odG1sCitmYXN0L2V2ZW50cy9jb25z
dHJ1Y3RvcnMvdHJhY2stZXZlbnQtY29uc3RydWN0b3IuaHRtbAogCiAjIFRlc3RzIGZvciBNZWRp
YVNvdXJjZSBBUEkuIEZlYXR1cmUgaXMgbm90IHlldCBmdW5jdGlvbmFsLgogIyBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ3MzEKSW5kZXg6IExheW91dFRlc3RzL3Bs
YXRmb3JtL3dpbi9Ta2lwcGVkCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3dp
bi9Ta2lwcGVkCShyZXZpc2lvbiA5OTA5MikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9T
a2lwcGVkCSh3b3JraW5nIGNvcHkpCkBAIC0xNDQyLDYgKzE0NDIsNyBAQCBtZWRpYS90cmFjay90
cmFjay13ZWJ2dHQtdGMwMjUtY2xhc3MtbWFyCiBtZWRpYS90cmFjay90cmFjay13ZWJ2dHQtdGMw
MjYtdm9pY2UuaHRtbAogbWVkaWEvdHJhY2svdHJhY2std2VidnR0LXRjMDI3LWVtcHR5LWN1ZS5o
dG1sCiBtZWRpYS90cmFjay90cmFjay13ZWJ2dHQtdGMwMjgtdW5zdXBwb3J0ZWQtbWFya3VwLmh0
bWwKK2Zhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy90cmFjay1ldmVudC1jb25zdHJ1Y3Rvci5odG1s
CiAKICMgVGVzdHMgZm9yIE1lZGlhU291cmNlIEFQSS4gRmVhdHVyZSBpcyBub3QgeWV0IGZ1bmN0
aW9uYWwuCiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NDczMQo=
</data>
<flag name="commit-queue"
          id="111741"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113489</attachid>
            <date>2011-11-03 07:41:16 -0700</date>
            <delta_ts>2011-11-03 09:14:43 -0700</delta_ts>
            <desc>This might be the one.</desc>
            <filename>patch_track_event_17.txt</filename>
            <type>text/plain</type>
            <size>65055</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk5MDkyKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNzUgQEAKKzIwMTEtMTEtMDIgIEVyaWMgQ2Fy
bHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIFRyYWNrRXZlbnQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTc4CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogZmFz
dC9ldmVudHMvY29uc3RydWN0b3JzL3RyYWNrLWV2ZW50LWNvbnN0cnVjdG9yLmh0bWwKKworICAg
ICAgICAqIENNYWtlTGlzdHMudHh0OiBBZGQgbmV3IGZpbGVzIGZvciBUcmFja0V2ZW50LgorICAg
ICAgICAqIENvZGVHZW5lcmF0b3JzLnByaTogRGl0dG8uCisgICAgICAgICogRGVyaXZlZFNvdXJj
ZXMuY3BwOiBEaXR0by4KKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOiBEaXR0by4KKyAg
ICAgICAgKiBHTlVtYWtlZmlsZS5hbTogRGl0dG8uCisgICAgICAgICogR05VbWFrZWZpbGUubGlz
dC5hbTogRGl0dG8uCisgICAgICAgICogV2ViQ29yZS5neXBpOiBEaXR0by4KKyAgICAgICAgKiBX
ZWJDb3JlLnBybzogRGl0dG8uCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOiBEaXR0by4KKyAgICAgICAgKiBiaW5kaW5ncy9nZW5lcmljL0V2ZW50Q29uc3RydWN0
b3JzLmg6IERpdHRvLgorICAgICAgICAqIGJpbmRpbmdzL2dvYmplY3QvR05VbWFrZWZpbGUuYW06
IERpdHRvLgorICAgICAgICAqIGJpbmRpbmdzL2dvYmplY3QvV2ViS2l0SFRNTEVsZW1lbnRXcmFw
cGVyRmFjdG9yeS5jcHA6IERpdHRvLgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTQmluZGluZ3NB
bGxJbk9uZS5jcHA6IERpdHRvLgorCisgICAgICAgICogYmluZGluZ3MvanMvSlNEaWN0aW9uYXJ5
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTRGljdGlvbmFyeTo6Y29udmVydFZhbHVlKTogQWRk
IG1ldGhvZCB0byBjb252ZXJ0IHRvIGEgVHJhY2suCisgICAgICAgICogYmluZGluZ3MvanMvSlNE
aWN0aW9uYXJ5Lmg6CisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0V2ZW50Q29uc3RydWN0b3Jz
LmNwcDogIEFkZCBuZXcgZmlsZXMgZm9yIFRyYWNrRXZlbnQuCisKKyAgICAgICAgKiBiaW5kaW5n
cy9qcy9KU1RyYWNrQ3VzdG9tLmNwcDogQWRkZWQuIAorICAgICAgICAoV2ViQ29yZTo6dG9UcmFj
ayk6IE5ldywgY29udmVydCBmcm9tIGEgSlNWYWx1ZSB0byBhIFRyYWNrLgorICAgICAgICAoV2Vi
Q29yZTo6dG9KUyk6IE5ldywgcmV0dXJuIGEgSlMgd3JhcHBlciBmb3IgYSBUcmFjay4KKyAgICAg
ICAgKiBiaW5kaW5ncy9qcy9KU1RyYWNrQ3VzdG9tLmg6IEFkZGVkLgorCisgICAgICAgICogYmlu
ZGluZ3MvanMvSlNUcmFja0V2ZW50Q3VzdG9tLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3Jl
OjpKU1RyYWNrRXZlbnQ6OnRyYWNrKTogTmV3LCByZXR1cm5zIGEgVGV4dEV2ZW50J3MgJ3RyYWNr
JyBhdHRyaWJ1dGUuCisKKyAgICAgICAgKiBiaW5kaW5ncy92OC9PcHRpb25zT2JqZWN0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Ok9wdGlvbnNPYmplY3Q6OmdldCk6IFJldHVybnMgUmVmUHRyPFRy
YWNrQmFzZT4uCisKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhFdmVudENvbnN0cnVj
dG9ycy5jcHA6IEFkZCBUcmFjayBpbml0aWFsaXppbmcgY29uc3RydWN0b3IuCisKKyAgICAgICAg
KiBiaW5kaW5ncy92OC9jdXN0b20vVjhUcmFja0V2ZW50Q3VzdG9tLmNwcDogQWRkZWQuCisgICAg
ICAgIChXZWJDb3JlOjpWOFRyYWNrRXZlbnQ6OnRyYWNrQWNjZXNzb3JHZXR0ZXIpOiBOZXcsIHJl
dHVybnMgYSBUZXh0RXZlbnQncyAndHJhY2snIGF0dHJpYnV0ZS4KKworICAgICAgICAqIGRvbS9F
dmVudEZhY3RvcnkuaW46IEFkZCBUcmFja0V2ZW50LgorCisgICAgICAgICogZG9tL0V2ZW50TmFt
ZXMuaDogQWRkICdhZGR0cmFjaycgZXZlbnQuCisKKyAgICAgICAgKiBodG1sL1RleHRUcmFjay5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2s6OlRleHRUcmFjayk6IENhbGwgbmV3IGJh
c2UgY2xhc3MgY29uc3RydWN0b3IuCisgICAgICAgICogaHRtbC9UZXh0VHJhY2suaDogTm93IGRl
cml2ZSBmcm9tIEJhc2VUcmFjayBmb3IgdGhlIGRheSB3ZSBpbXBsZW1lbnQgVmlkZW9UcmFjayBh
bmQgQXVkaW9UcmFjay4KKworICAgICAgICAqIGh0bWwvdHJhY2svVHJhY2tCYXNlLmNwcDogQWRk
ZWQuCisgICAgICAgIChXZWJDb3JlOjpUcmFja0Jhc2U6OlRyYWNrQmFzZSk6CisgICAgICAgIChX
ZWJDb3JlOjpUcmFja0Jhc2U6On5UcmFja0Jhc2UpOgorICAgICAgICAqIGh0bWwvdHJhY2svVHJh
Y2tCYXNlLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6VHJhY2tCYXNlOjp0eXBlKTogUmV0
dXJuIHRoZSB0cmFjayB0eXBlLgorCisgICAgICAgICogaHRtbC90cmFjay9UcmFja0V2ZW50LmNw
cDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpUcmFja0V2ZW50SW5pdDo6VHJhY2tFdmVudElu
aXQpOgorICAgICAgICAoV2ViQ29yZTo6VHJhY2tFdmVudDo6VHJhY2tFdmVudCk6CisgICAgICAg
IChXZWJDb3JlOjpUcmFja0V2ZW50Ojp+VHJhY2tFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpU
cmFja0V2ZW50OjppbnRlcmZhY2VOYW1lKToKKyAgICAgICAgKiBodG1sL3RyYWNrL1RyYWNrRXZl
bnQuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpUcmFja0V2ZW50OjpjcmVhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6VHJhY2tFdmVudDo6aXNUcmFja0V2ZW50KToKKyAgICAgICAgKFdlYkNv
cmU6OlRyYWNrRXZlbnQ6OnRyYWNrKToKKyAgICAgICAgKiBodG1sL3RyYWNrL1RyYWNrRXZlbnQu
aWRsOiBBZGRlZC4KKworICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDogQWRkIFRyYWNrRXZl
bnQuCisKIDIwMTEtMTEtMDIgIFRvbW15IFdpZGVuZmx5Y2h0ICA8dG9tbXl3QGdvb2dsZS5jb20+
CiAKICAgICAgICAgTWVkaWFTdHJlYW1SZWdpc3RyeSBzaG91bGQgaG9sZCByZWZlcmVuY2VzIHRv
IE1lZGlhU3RyZWFtRGVzY3JpcHRvciByYXRoZXIgdGhhbiBNZWRpYVN0cmVhbQpJbmRleDogU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDk5MDkyKQorKysgU291cmNlL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTMxOCw2ICszMTgsOCBAQCBTRVQoV2ViQ29yZV9J
RExfRklMRVMKICAgICBodG1sL2NhbnZhcy9XZWJHTFZlcnRleEFycmF5T2JqZWN0T0VTLmlkbAog
ICAgIGh0bWwvY2FudmFzL1dlYktpdExvc2VDb250ZXh0LmlkbAogCisgICAgaHRtbC90cmFjay9U
cmFja0V2ZW50LmlkbAorCiAgICAgaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0SG9zdC5pZGwKICAg
ICBpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmlkbAogICAgIGluc3BlY3Rvci9KYXZh
U2NyaXB0Q2FsbEZyYW1lLmlkbApAQCAtMjA2NCw2ICsyMDY2LDggQEAgSUYgKEVOQUJMRV9WSURF
T19UUkFDSykKICAgICAgICAgaHRtbC9UZXh0VHJhY2tDdWUuY3BwCiAgICAgICAgIGh0bWwvVGV4
dFRyYWNrQ3VlSW5kZXguY3BwCiAgICAgICAgIGh0bWwvVGV4dFRyYWNrQ3VlTGlzdC5jcHAKKyAg
ICAgICAgaHRtbC90cmFjay9UcmFja0Jhc2UuY3BwCisgICAgICAgIGh0bWwvdHJhY2svVHJhY2tF
dmVudC5jcHAKICAgICAgICAgaHRtbC90cmFjay9XZWJWVFRQYXJzZXIuY3BwCiAgICAgICAgIGh0
bWwvdHJhY2svV2ViVlRUVG9rZW5pemVyLmNwcAogICAgICAgICBsb2FkZXIvVGV4dFRyYWNrTG9h
ZGVyLmNwcApJbmRleDogU291cmNlL1dlYkNvcmUvQ29kZUdlbmVyYXRvcnMucHJpCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NvZGVHZW5lcmF0b3JzLnByaQkocmV2aXNpb24gOTkwOTIp
CisrKyBTb3VyY2UvV2ViQ29yZS9Db2RlR2VuZXJhdG9ycy5wcmkJKHdvcmtpbmcgY29weSkKQEAg
LTU3Nyw2ICs1NzcsNyBAQCBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfVklERU9fVFJBQ0s9MSkg
CiAgICAgaHRtbC9UZXh0VHJhY2suaWRsIFwKICAgICBodG1sL1RleHRUcmFja0N1ZS5pZGwgXAog
ICAgIGh0bWwvVGV4dFRyYWNrQ3VlTGlzdC5pZGwgXAorICAgIGh0bWwvdHJhY2svVHJhY2tFdmVu
dC5pZGwgXAogfQogCiB2ODogd3JhcHBlckZhY3RvcnlBcmcgPSAtLXdyYXBwZXJGYWN0b3J5VjgK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAJKHJldmlzaW9uIDk5MDkyKQorKysgU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NDEsNiAr
NDQxLDcgQEAKICNpbmNsdWRlICJKU1RleHRUcmFjay5jcHAiCiAjaW5jbHVkZSAiSlNUZXh0VHJh
Y2tDdWUuY3BwIgogI2luY2x1ZGUgIkpTVGV4dFRyYWNrQ3VlTGlzdC5jcHAiCisjaW5jbHVkZSAi
SlNUcmFja0V2ZW50LmNwcCIKICNlbmRpZgogI2luY2x1ZGUgIkpTVGltZVJhbmdlcy5jcHAiCiAj
aW5jbHVkZSAiSlNUb3VjaC5jcHAiCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5tYWtlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UJ
KHJldmlzaW9uIDk5MDkyKQorKysgU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQko
d29ya2luZyBjb3B5KQpAQCAtMzYsNiArMzYsNyBAQCBWUEFUSCA9IFwKICAgICAkKFdlYkNvcmUp
L2ZpbGVhcGkgXAogICAgICQoV2ViQ29yZSkvaHRtbCBcCiAgICAgJChXZWJDb3JlKS9odG1sL2Nh
bnZhcyBcCisgICAgJChXZWJDb3JlKS9odG1sL3RyYWNrIFwKICAgICAkKFdlYkNvcmUpL2luc3Bl
Y3RvciBcCiAgICAgJChXZWJDb3JlKS9sb2FkZXIvYXBwY2FjaGUgXAogICAgICQoV2ViQ29yZSkv
bm90aWZpY2F0aW9ucyBcCkBAIC01MTMsNiArNTE0LDcgQEAgRE9NX0NMQVNTRVMgPSBcCiAgICAg
VG91Y2ggXAogICAgIFRvdWNoRXZlbnQgXAogICAgIFRvdWNoTGlzdCBcCisgICAgVHJhY2tFdmVu
dCBcCiAgICAgVHJlZVdhbGtlciBcCiAgICAgVUlFdmVudCBcCiAgICAgVWludDE2QXJyYXkgXApJ
bmRleDogU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvR05VbWFrZWZpbGUuYW0JKHJldmlzaW9uIDk5MDkyKQorKysgU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUuYW0JKHdvcmtpbmcgY29weSkKQEAgLTcyOSw2ICs3MjksNyBAQCBJRExf
UEFUSCA6PSBcCiAgICAgJChXZWJDb3JlKS9maWxlYXBpIFwKICAgICAkKFdlYkNvcmUpL2h0bWwg
XAogICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMgXAorICAgICQoV2ViQ29yZSkvaHRtbC90cmFj
ayBcCiAgICAgJChXZWJDb3JlKS9pbnNwZWN0b3IgXAogICAgICQoV2ViQ29yZSkvbG9hZGVyL2Fw
cGNhY2hlIFwKICAgICAkKFdlYkNvcmUpL21lZGlhc3RyZWFtIFwKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvR05V
bWFrZWZpbGUubGlzdC5hbQkocmV2aXNpb24gOTkwOTIpCisrKyBTb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5saXN0LmFtCSh3b3JraW5nIGNvcHkpCkBAIC01MTIsNiArNTEyLDggQEAgd2ViY29y
ZV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVG91Y2guaCBc
CiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1RvdWNoTGlzdC5jcHAgXAogCURlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNUb3VjaExpc3QuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Ry
YWNrRXZlbnQuY3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVHJhY2tFdmVudC5oIFwK
IAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVHJlZVdhbGtlci5jcHAgXAogCURlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNUcmVlV2Fsa2VyLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNV
SUV2ZW50LmNwcCBcCkBAIC04NTAsNiArODUyLDkgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1RleHRDdXN0b20uY3BwIFwKIAlTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU1RvdWNoQ3VzdG9tLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNUb3VjaExpc3RDdXN0b20uY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU1RyYWNrQ3VzdG9tLmNwcCBcCisJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNU
cmFja0N1c3RvbS5oIFwKKwlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1RyYWNrRXZlbnRD
dXN0b20uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1RyZWVXYWxrZXJDdXN0
b20uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1VpbnQxNkFycmF5Q3VzdG9t
LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNVaW50MzJBcnJheUN1c3RvbS5j
cHAgXApAQCAtMTk2OCw2ICsxOTczLDEwIEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNl
L1dlYkNvcmUvaHRtbC9UaW1lSW5wdXRUeXBlLmggXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvVGlt
ZVJhbmdlcy5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvVGltZVJhbmdlcy5oIFwKKwlTb3Vy
Y2UvV2ViQ29yZS9odG1sL3RyYWNrL1RyYWNrQmFzZS5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL2h0
bWwvdHJhY2svVHJhY2tCYXNlLmggXAorCVNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVHJhY2tF
dmVudC5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVHJhY2tFdmVudC5oIFwKIAlT
b3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1dlYlZUVFBhcnNlci5jcHAgXAogCVNvdXJjZS9XZWJD
b3JlL2h0bWwvdHJhY2svV2ViVlRUUGFyc2VyLmggXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvdHJh
Y2svV2ViVlRUVG9rZW4uaCBcCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCShyZXZpc2lvbiA5OTA5MikK
KysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQkod29ya2luZyBjb3B5KQpAQCAtMTM3MSw2
ICsxMzcxLDcgQEAKICAgICAgICAgICAgICdodG1sL2NhbnZhcy9XZWJHTFVuaWZvcm1Mb2NhdGlv
bi5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL1dlYkdMVmVydGV4QXJyYXlPYmplY3RP
RVMuaWRsJywKICAgICAgICAgICAgICdodG1sL2NhbnZhcy9XZWJLaXRMb3NlQ29udGV4dC5pZGwn
LAorICAgICAgICAgICAgJ2h0bWwvdHJhY2svVHJhY2tFdmVudC5pZGwnLAogICAgICAgICAgICAg
J2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdEhvc3QuaWRsJywKICAgICAgICAgICAgICdpbnNwZWN0
b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmlkbCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL0ph
dmFTY3JpcHRDYWxsRnJhbWUuaWRsJywKQEAgLTE5MzYsNiArMTkzNyw5IEBACiAgICAgICAgICAg
ICAnYmluZGluZ3MvanMvSlNUZXh0Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3Mv
anMvSlNUb3VjaEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTVG91Y2hM
aXN0Q3VzdG9tLmNwcCcsCisgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNUcmFja0N1c3RvbS5j
cHAnLAorICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTVHJhY2tDdXN0b20uaCcsCisgICAgICAg
ICAgICAnYmluZGluZ3MvanMvSlNUcmFja0V2ZW50Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAn
YmluZGluZ3MvanMvSlNUcmVlV2Fsa2VyQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGlu
Z3MvanMvSlNVaW50MTZBcnJheUN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pz
L0pTVWludDMyQXJyYXlDdXN0b20uY3BwJywKQEAgLTIyMzgsNiArMjI0Miw3IEBACiAgICAgICAg
ICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4U3RvcmFnZUN1c3RvbS5jcHAnLAogICAgICAgICAg
ICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFN0eWxlU2hlZXRDdXN0b20uY3BwJywKICAgICAgICAg
ICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhTdHlsZVNoZWV0TGlzdEN1c3RvbS5jcHAnLAorICAg
ICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFRyYWNrRXZlbnRDdXN0b20uY3BwJywKICAg
ICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhVaW50MTZBcnJheUN1c3RvbS5jcHAnLAog
ICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFVpbnQzMkFycmF5Q3VzdG9tLmNwcCcs
CiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4VWludDhBcnJheUN1c3RvbS5jcHAn
LApAQCAtNTc2OCw2ICs1NzczLDggQEAKICAgICAgICAgICAgICdodG1sL3NoYWRvdy9TbGlkZXJU
aHVtYkVsZW1lbnQuaCcsCiAgICAgICAgICAgICAnaHRtbC9zaGFkb3cvVGV4dENvbnRyb2xJbm5l
ckVsZW1lbnRzLmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9zaGFkb3cvVGV4dENvbnRyb2xJbm5l
ckVsZW1lbnRzLmgnLAorICAgICAgICAgICAgJ2h0bWwvdHJhY2svVHJhY2tCYXNlLmNwcCcsCisg
ICAgICAgICAgICAnaHRtbC90cmFjay9UcmFja0V2ZW50LmNwcCcsCiAgICAgICAgICAgICAnaHRt
bC90cmFjay9XZWJWVFRQYXJzZXIuY3BwJywKICAgICAgICAgICAgICdodG1sL3RyYWNrL1dlYlZU
VFBhcnNlci5oJywKICAgICAgICAgICAgICdodG1sL3RyYWNrL1dlYlZUVFRva2VuLmgnLApJbmRl
eDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5wcm8JKHJldmlzaW9uIDk5MDkyKQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5wcm8JKHdvcmtpbmcgY29weSkKQEAgLTE4NjgsNiArMTg2OCw4IEBAIEhFQURFUlMgKz0gXAog
ICAgIGh0bWwvcGFyc2VyL1hTU0F1ZGl0b3IuaCBcCiAgICAgaHRtbC9zaGFkb3cvTWVkaWFDb250
cm9sRWxlbWVudHMuaCBcCiAgICAgaHRtbC9zaGFkb3cvRGV0YWlsc01hcmtlckNvbnRyb2wuaCBc
CisgICAgaHRtbC90cmFjay9UcmFja0Jhc2UuaCBcCisgICAgaHRtbC90cmFjay9UcmFja0V2ZW50
LmggXAogICAgIGh0bWwvdHJhY2svV2ViVlRUUGFyc2VyLmggXAogICAgIGh0bWwvdHJhY2svV2Vi
VlRUVG9rZW4uaCBcCiAgICAgaHRtbC90cmFjay9XZWJWVFRUb2tlbml6ZXIuaCBcCkBAIC0zNTM4
LDYgKzM1NDAsMTkgQEAgY29udGFpbnMoREVGSU5FUywgRU5BQkxFX0pBVkFTQ1JJUFRfREVCVQog
ICAgIH0KIH0KIAorCitjb250YWlucyhERUZJTkVTLCBFTkFCTEVfVklERU9fVFJBQ0s9MSkgewor
ICAgIHY4IHsKKyAgICAgICAgU09VUkNFUyArPSBcCisgICAgICAgICAgICBiaW5kaW5ncy92OC9j
dXN0b20vVjhUcmFja0V2ZW50Q3VzdG9tLmNwcAorICAgIH0gZWxzZSB7CisgICAgICAgIFNPVVJD
RVMgKz0gXAorICAgICAgICAgICAgYmluZGluZ3MvanMvSlNUcmFja0N1c3RvbS5jcHAgXAorICAg
ICAgICAgICAgYmluZGluZ3MvanMvSlNUcmFja0N1c3RvbS5oIFwKKyAgICAgICAgICAgIGJpbmRp
bmdzL2pzL0pTVHJhY2tFdmVudEN1c3RvbS5jcHAKKyAgICB9Cit9CisKIGNvbnRhaW5zKERFRklO
RVMsIEVOQUJMRV9XRUJfU09DS0VUUz0xKSB7CiAgICAgSEVBREVSUyArPSBcCiAgICAgICAgIHdl
YnNvY2tldHMvQ2xvc2VFdmVudC5oIFwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDk5MDkyKQorKysgU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkp
CkBAIC04Miw2ICs4MiwxMCBAQAogCQkwNjZDNzczMTBBQjYwM0ZEMDAyMzhDQzQgLyogUmVuZGVy
RmlsZVVwbG9hZENvbnRyb2wuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDA2NkM3NzJGMEFCNjAzRkQwMDIzOENDNCAvKiBSZW5kZXJGaWxlVXBsb2FkQ29u
dHJvbC5oICovOyB9OwogCQkwNkU4MUVENzBBQjVENUU5MDBDODc4MzcgLyogTG9jYWxDdXJyZW50
R3JhcGhpY3NDb250ZXh0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwNkU4MUVENjBBQjVENUU5MDBDODc4MzcgLyogTG9jYWxDdXJyZW50R3JhcGhpY3ND
b250ZXh0LmggKi87IH07CiAJCTA2RTgxRUVDMEFCNURBOTcwMEM4NzgzNyAvKiBMb2NhbEN1cnJl
bnRHcmFwaGljc0NvbnRleHQubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwNkU4MUVFQjBBQjVEQTk3MDBDODc4MzcgLyogTG9jYWxDdXJyZW50R3JhcGhp
Y3NDb250ZXh0Lm1tICovOyB9OworCQkwNzAzMzREMzE0NTlGRkFEMDA4RDhENDUgLyogVHJhY2tF
dmVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
NzAzMzREMDE0NTlGRkFDMDA4RDhENDUgLyogVHJhY2tFdmVudC5jcHAgKi87IH07CisJCTA3MDMz
NEQ3MTQ1OUZGRDUwMDhEOEQ0NSAvKiBUcmFja0Jhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3MDMzNEQ2MTQ1OUZGRDUwMDhEOEQ0NSAvKiBUcmFj
a0Jhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQkwNzAzMzREOTE0NUEwMDZGMDA4RDhENDUgLyogVHJhY2tCYXNlLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3MDMzNEQ4MTQ1QTAwNkYwMDhEOEQ0
NSAvKiBUcmFja0Jhc2UuY3BwICovOyB9OworCQkwNzAzMzRFOTE0NUExRjM2MDA4RDhENDUgLyog
SlNUcmFja0N1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwNzAzMzRFODE0NUExRjM1MDA4RDhENDUgLyogSlNUcmFja0N1c3RvbS5jcHAgKi87
IH07CiAJCTA3MDc1NjhCMTQyMjYyRDYwMDQxNDE2MSAvKiBIVE1MVHJhY2tFbGVtZW50LmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3MDc1Njg4MTQy
MjYyRDYwMDQxNDE2MSAvKiBIVE1MVHJhY2tFbGVtZW50LmNwcCAqLzsgfTsKIAkJMDcwNzU2OEMx
NDIyNjJENjAwNDE0MTYxIC8qIEhUTUxUcmFja0VsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3MDc1Njg5MTQyMjYyRDYwMDQxNDE2MSAvKiBI
VE1MVHJhY2tFbGVtZW50LmggKi87IH07CiAJCTA3MDc1Njk0MTQyMjY2OEQwMDQxNDE2MSAvKiBK
U1RleHRUcmFjay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwNzA3NTY4RTE0MjI2NjhDMDA0MTQxNjEgLyogSlNUZXh0VHJhY2suY3BwICovOyB9OwpA
QCAtOTcsNyArMTAxLDExIEBACiAJCTA3MzVFRTZBMEY0MEM1RTQwMDRBMjYwNCAvKiBNZWRpYVBs
YXllclByb3h5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwNzM1RUU2OTBGNDBDNUU0MDA0QTI2MDQgLyogTWVkaWFQbGF5ZXJQcm94eS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTA3NTM4NjAyMTQ0ODlF
OTgwMEI3ODQ1MiAvKiBDYWNoZWRUZXh0VHJhY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDc1Mzg2MDAxNDQ4OUU5ODAwQjc4NDUyIC8qIENhY2hl
ZFRleHRUcmFjay5jcHAgKi87IH07CiAJCTA3NTM4NjAzMTQ0ODlFOTgwMEI3ODQ1MiAvKiBDYWNo
ZWRUZXh0VHJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDA3NTM4NjAxMTQ0ODlFOTgwMEI3ODQ1MiAvKiBDYWNoZWRUZXh0VHJhY2suaCAqLzsgfTsK
KwkJMDc2ODlENkUxNDVCNTJDQzAwMUNEMTMyIC8qIEpTVHJhY2tFdmVudEN1c3RvbS5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzY4OUQ2RDE0NUI1
MkNDMDAxQ0QxMzIgLyogSlNUcmFja0V2ZW50Q3VzdG9tLmNwcCAqLzsgfTsKIAkJMDc2RjBEMEUx
MkI4MTkyNzAwQzI2QUE0IC8qIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDc2RjBEMEExMkI4MTky
NzAwQzI2QUE0IC8qIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5oICovOyB9OworCQkw
Nzg0NjM0MjE0NUIxNTFBMDBBNThERjEgLyogSlNUcmFja0V2ZW50LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3ODQ2MzQwMTQ1QjE1MUEwMEE1OERG
MSAvKiBKU1RyYWNrRXZlbnQuY3BwICovOyB9OworCQkwNzg0NjM0MzE0NUIxNTFBMDBBNThERjEg
LyogSlNUcmFja0V2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwNzg0NjM0MTE0NUIxNTFBMDBBNThERjEgLyogSlNUcmFja0V2ZW50LmggKi87IH07
CisJCTA3ODQ2Mzg1MTQ1QjFCOEUwMEE1OERGMSAvKiBKU1RyYWNrQ3VzdG9tLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzg0NjM4NDE0NUIxQjhFMDBB
NThERjEgLyogSlNUcmFja0N1c3RvbS5oICovOyB9OwogCQkwN0IwMTEzRjEwMzIyNDIyMDBGQkRD
MzMgLyogQWNjZXNzaWJpbGl0eU1lZGlhQ29udHJvbHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3QjAxMTNFMTAzMjI0MjIwMEZCREMzMyAvKiBBY2Nl
c3NpYmlsaXR5TWVkaWFDb250cm9scy5oICovOyB9OwogCQkwODA2RTU3QTEyODkzMDQ1MDA3Q0VE
MzIgLyogU1ZHTWF0cml4LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwODA2RTU3OTEyODkzMDQ1MDA3Q0VEMzIgLyogU1ZHTWF0cml4LmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMDgwRTQ5MjYxMjU1RjNC
RDAwRUZDQTI3IC8qIFNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDgwRTQ5MjIxMjU1RjNCRDAwRUZDQTI3
IC8qIFNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5oICovOyB9OwpAQCAtNzA2Nyw2ICs3MDc1
LDEyIEBACiAJCTA2NkM3NzJGMEFCNjAzRkQwMDIzOENDNCAvKiBSZW5kZXJGaWxlVXBsb2FkQ29u
dHJvbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVyRmlsZVVwbG9h
ZENvbnRyb2wuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDZFODFFRDYwQUI1RDVF
OTAwQzg3ODM3IC8qIExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBMb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDZFODFFRUIwQUI1REE5NzAwQzg3ODM3IC8qIExvY2Fs
Q3VycmVudEdyYXBoaWNzQ29udGV4dC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpj
cHA7IHBhdGggPSBMb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTA3MDMzNEQwMTQ1OUZGQUMwMDhEOEQ0NSAvKiBUcmFja0V2ZW50LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRyYWNrRXZlbnQuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwNzAzMzREMTE0NTlGRkFDMDA4RDhENDUgLyog
VHJhY2tFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUcmFja0V2ZW50
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTA3MDMzNEQyMTQ1OUZGQUMwMDhEOEQ0
NSAvKiBUcmFja0V2ZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBUcmFja0V2ZW50Lmlk
bDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMDcwMzM0RDYxNDU5RkZENTAwOEQ4RDQ1
IC8qIFRyYWNrQmFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUcmFja0Jh
c2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMDcwMzM0RDgxNDVBMDA2RjAwOEQ4
RDQ1IC8qIFRyYWNrQmFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBUcmFja0Jhc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwNzAzMzRFODE0
NUExRjM1MDA4RDhENDUgLyogSlNUcmFja0N1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBKU1RyYWNrQ3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMDcwNzU2ODgxNDIyNjJENjAwNDE0MTYxIC8qIEhUTUxUcmFja0VsZW1lbnQuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSFRNTFRyYWNrRWxlbWVudC5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA3MDc1Njg5MTQyMjYyRDYwMDQxNDE2
MSAvKiBIVE1MVHJhY2tFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEhUTUxUcmFja0VsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDcwNzU2
OEExNDIyNjJENjAwNDE0MTYxIC8qIEhUTUxUcmFja0VsZW1lbnQuaWRsICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dDsgcGF0aCA9IEhUTUxUcmFja0VsZW1lbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtNzA4Niw4ICs3MTAwLDEyIEBACiAJCTA3MzVFRTY5MEY0MEM1RTQwMDRBMjYwNCAvKiBN
ZWRpYVBsYXllclByb3h5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlh
UGxheWVyUHJveHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDc1Mzg2MDAxNDQ4
OUU5ODAwQjc4NDUyIC8qIENhY2hlZFRleHRUcmFjay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBDYWNoZWRUZXh0VHJhY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkwNzUzODYwMTE0NDg5RTk4MDBCNzg0NTIgLyogQ2FjaGVkVGV4dFRyYWNrLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENhY2hlZFRleHRUcmFjay5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwNzY4OUQ2RDE0NUI1MkNDMDAxQ0QxMzIgLyogSlNU
cmFja0V2ZW50Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEpTVHJhY2tFdmVudEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA3
NkYwRDA5MTJCODE5MjcwMEMyNkFBNCAvKiBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24u
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWVkaWFQbGF5ZXJQcml2
YXRlQVZGb3VuZGF0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDc2RjBE
MEExMkI4MTkyNzAwQzI2QUE0IC8qIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5k
YXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMDc4NDYzNDAxNDVCMTUxQTAw
QTU4REYxIC8qIEpTVHJhY2tFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBKU1RyYWNrRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkw
Nzg0NjM0MTE0NUIxNTFBMDBBNThERjEgLyogSlNUcmFja0V2ZW50LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEpTVHJhY2tFdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQkwNzg0NjM4NDE0NUIxQjhFMDBBNThERjEgLyogSlNUcmFja0N1c3RvbS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1RyYWNrQ3VzdG9tLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTA3OUY1RTRCMEYzQkVCRUEwMDVFMDc4MiAvKiBNZWRpYVBsYXll
clByaXZhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFQbGF5ZXJQ
cml2YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA3QUZFNTkwMEYxNDQ2QkQw
MDg0MTYxNyAvKiBtZWRpYUNvbnRyb2xzUXVpY2tUaW1lLmNzcyAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuY3Nz
OyBwYXRoID0gbWVkaWFDb250cm9sc1F1aWNrVGltZS5jc3M7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTA3QjAxMTNFMTAzMjI0MjIwMEZCREMzMyAvKiBBY2Nlc3NpYmlsaXR5TWVkaWFD
b250cm9scy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmlsaXR5
TWVkaWFDb250cm9scy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTc3NDcsNiAr
MTc3NjUsOCBAQAogCQkJCTA3MDc1NkRBMTQyMzlCNEUwMDQxNDE2MSAvKiBKU1RleHRUcmFja0N1
ZUxpc3QuaCAqLywKIAkJCQlFNDQ2MTQxMjBDRDY4MjY5MDBGQURBNzUgLyogSlNUaW1lUmFuZ2Vz
LmNwcCAqLywKIAkJCQlFNDQ2MTQxMzBDRDY4MjY5MDBGQURBNzUgLyogSlNUaW1lUmFuZ2VzLmgg
Ki8sCisJCQkJMDc4NDYzNDAxNDVCMTUxQTAwQTU4REYxIC8qIEpTVHJhY2tFdmVudC5jcHAgKi8s
CisJCQkJMDc4NDYzNDExNDVCMTUxQTAwQTU4REYxIC8qIEpTVHJhY2tFdmVudC5oICovLAogCQkJ
CTQ5RUVDRUZFMTA1MDcwQzQwMDA5OUZBQiAvKiBKU1VpbnQxNkFycmF5LmNwcCAqLywKIAkJCQk0
OUVFQ0VGRjEwNTA3MEM0MDAwOTlGQUIgLyogSlNVaW50MTZBcnJheS5oICovLAogCQkJCTQ5RUVD
RUZDMTA1MDcwQzQwMDA5OUZBQiAvKiBKU1VpbnQzMkFycmF5LmNwcCAqLywKQEAgLTE4NDMxLDYg
KzE4NDUxLDExIEBACiAJCUIxQUQ0RTc3MTNBMTJBNzIwMDg0NkIyNyAvKiB0cmFjayAqLyA9IHsK
IAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJMDcwMzM0RDgxNDVBMDA2
RjAwOEQ4RDQ1IC8qIFRyYWNrQmFzZS5jcHAgKi8sCisJCQkJMDcwMzM0RDYxNDU5RkZENTAwOEQ4
RDQ1IC8qIFRyYWNrQmFzZS5oICovLAorCQkJCTA3MDMzNEQwMTQ1OUZGQUMwMDhEOEQ0NSAvKiBU
cmFja0V2ZW50LmNwcCAqLywKKwkJCQkwNzAzMzREMTE0NTlGRkFDMDA4RDhENDUgLyogVHJhY2tF
dmVudC5oICovLAorCQkJCTA3MDMzNEQyMTQ1OUZGQUMwMDhEOEQ0NSAvKiBUcmFja0V2ZW50Lmlk
bCAqLywKIAkJCQk1RDIxQTgwMDEzRUNFNURGMDBCQjcwNjQgLyogV2ViVlRUUGFyc2VyLmNwcCAq
LywKIAkJCQk1RDIxQTgwMTEzRUNFNURGMDBCQjcwNjQgLyogV2ViVlRUUGFyc2VyLmggKi8sCiAJ
CQkJQjEwQjY5N0QxNDBDMTc0MDAwQkMxQzI2IC8qIFdlYlZUVFRva2VuLmggKi8sCkBAIC0xOTYw
NSw2ICsxOTYzMCw5IEBACiAJCQkJMDhFNEZFNDUwRTJCRDQxNDAwRjRDQUUwIC8qIEpTU1ZHTGVu
Z3RoQ3VzdG9tLmNwcCAqLywKIAkJCQlCMkM5NkQ4QzBCM0FGMkI3MDA1RTgwRUMgLyogSlNTVkdQ
YXRoU2VnQ3VzdG9tLmNwcCAqLywKIAkJCQkxQTJDNDBBQTBERUI1NUFBMDA1QUYxOUUgLyogSlNU
ZXh0Q3VzdG9tLmNwcCAqLywKKwkJCQkwNzAzMzRFODE0NUExRjM1MDA4RDhENDUgLyogSlNUcmFj
a0N1c3RvbS5jcHAgKi8sCisJCQkJMDc4NDYzODQxNDVCMUI4RTAwQTU4REYxIC8qIEpTVHJhY2tD
dXN0b20uaCAqLywKKwkJCQkwNzY4OUQ2RDE0NUI1MkNDMDAxQ0QxMzIgLyogSlNUcmFja0V2ZW50
Q3VzdG9tLmNwcCAqLywKIAkJCQk1MTZCQjc5MjBDRTkxRTY4MDA1MTJGNzkgLyogSlNUcmVlV2Fs
a2VyQ3VzdG9tLmNwcCAqLywKIAkJCQk0OUVFQ0Y3NzEwNTA4RDlDMDAwOTlGQUIgLyogSlNVaW50
MTZBcnJheUN1c3RvbS5jcHAgKi8sCiAJCQkJNDlFRUNGNzYxMDUwOEQ5QzAwMDk5RkFCIC8qIEpT
VWludDMyQXJyYXlDdXN0b20uY3BwICovLApAQCAtMjQ1NDAsNiArMjQ1NjgsOSBAQAogCQkJCTk3
MEI3MkE2MTQ1MDA4RUIwMEYwMEEzNyAvKiBFdmVudEhlYWRlcnMuaCBpbiBIZWFkZXJzICovLAog
CQkJCTlCM0E4ODcyMTQ1NjMyRjkwMDNBRThGNSAvKiBET01ET01TZXR0YWJsZVRva2VuTGlzdC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJRkQ2MkY1MkUxNDU4OThEODAwOTRCMEVEIC8qIEF1ZGlvU291
cmNlUHJvdmlkZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTA3MDMzNEQ3MTQ1OUZGRDUw
MDhEOEQ0NSAvKiBUcmFja0Jhc2UuaCBpbiBIZWFkZXJzICovLAorCQkJCTA3ODQ2MzQzMTQ1QjE1
MUEwMEE1OERGMSAvKiBKU1RyYWNrRXZlbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTA3ODQ2Mzg1
MTQ1QjFCOEUwMEE1OERGMSAvKiBKU1RyYWNrQ3VzdG9tLmggaW4gSGVhZGVycyAqLywKIAkJCQky
RDhGRUJERDE0M0UzRUY3MDA3MjUwMkIgLyogQ1NTQ3Jvc3NmYWRlVmFsdWUuaCBpbiBIZWFkZXJz
ICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwpA
QCAtMjczODYsNiArMjc0MTcsMTEgQEAKIAkJCQlBMEVFMERGNTE0NEY4MjU1MDBGODBCMEQgLyog
V2ViR0xEZWJ1Z1JlbmRlcmVySW5mby5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBMEVFMERGNzE0
NEY4MjU1MDBGODBCMEQgLyogV2ViR0xEZWJ1Z1NoYWRlcnMuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQTNCQjU5RjMxNDU3QTQwRDAwQUM1NkZFIC8qIERvY3VtZW50RXZlbnRRdWV1ZS5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQkwNzAzMzREMzE0NTlGRkFEMDA4RDhENDUgLyogVHJhY2tFdmVudC5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQkwNzAzMzREOTE0NUEwMDZGMDA4RDhENDUgLyogVHJhY2tC
YXNlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTA3MDMzNEU5MTQ1QTFGMzYwMDhEOEQ0NSAvKiBK
U1RyYWNrQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTA3ODQ2MzQyMTQ1QjE1MUEwMEE1
OERGMSAvKiBKU1RyYWNrRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMDc2ODlENkUxNDVC
NTJDQzAwMUNEMTMyIC8qIEpTVHJhY2tFdmVudEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQkyRDhGRUJEQzE0M0UzRUY3MDA3MjUwMkIgLyogQ1NTQ3Jvc3NmYWRlVmFsdWUuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9
IDA7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL0V2ZW50Q29uc3RydWN0
b3JzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9FdmVu
dENvbnN0cnVjdG9ycy5oCShyZXZpc2lvbiA5OTA5MikKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2dlbmVyaWMvRXZlbnRDb25zdHJ1Y3RvcnMuaAkod29ya2luZyBjb3B5KQpAQCAtMTM0LDYg
KzEzNCwxNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIEZJTExfUFJPUEVSVFkodmVy
dGljYWxPdmVyZmxvdykgXAogICAgIERJQ1RJT05BUllfRU5EKE92ZXJmbG93RXZlbnQpCiAKKyNp
ZiBFTkFCTEUoVklERU9fVFJBQ0spCisjZGVmaW5lIElOU1RBTlRJQVRFX0lOSVRJQUxJWklOR19D
T05TVFJVQ1RPUl9GT1JfVFJBQ0tfRVZFTlQoRElDVElPTkFSWV9TVEFSVCwgRElDVElPTkFSWV9F
TkQsIEZJTExfUEFSRU5UX1BST1BFUlRJRVMsIEZJTExfUFJPUEVSVFkpIFwKKyAgICBcCisgICAg
RElDVElPTkFSWV9TVEFSVChUcmFja0V2ZW50KSBcCisgICAgICAgIEZJTExfUEFSRU5UX1BST1BF
UlRJRVMoRXZlbnQpIFwKKyAgICAgICAgRklMTF9QUk9QRVJUWSh0cmFjaykgXAorICAgIERJQ1RJ
T05BUllfRU5EKFRyYWNrRXZlbnQpCisjZWxzZQorI2RlZmluZSBJTlNUQU5USUFURV9JTklUSUFM
SVpJTkdfQ09OU1RSVUNUT1JfRk9SX1RSQUNLX0VWRU5UKERJQ1RJT05BUllfU1RBUlQsIERJQ1RJ
T05BUllfRU5ELCBGSUxMX1BBUkVOVF9QUk9QRVJUSUVTLCBGSUxMX1BST1BFUlRZKQorI2VuZGlm
CiAKICNkZWZpbmUgSU5TVEFOVElBVEVfQUxMX0VWRU5UX0lOSVRJQUxJWklOR19DT05TVFJVQ1RP
UlMoRElDVElPTkFSWV9TVEFSVCwgRElDVElPTkFSWV9FTkQsIEZJTExfUEFSRU5UX1BST1BFUlRJ
RVMsIEZJTExfUFJPUEVSVFkpIFwKICAgICBJTlNUQU5USUFURV9JTklUSUFMSVpJTkdfQ09OU1RS
VUNUT1JfRk9SX0VWRU5UKERJQ1RJT05BUllfU1RBUlQsIERJQ1RJT05BUllfRU5ELCBGSUxMX1BB
UkVOVF9QUk9QRVJUSUVTLCBGSUxMX1BST1BFUlRZKSBcCkBAIC0xNDksNyArMTU5LDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgIElOU1RBTlRJQVRFX0lOSVRJQUxJWklOR19DT05TVFJVQ1RP
Ul9GT1JfV0VCS0lUX1RSQU5TSVRJT05fRVZFTlQoRElDVElPTkFSWV9TVEFSVCwgRElDVElPTkFS
WV9FTkQsIEZJTExfUEFSRU5UX1BST1BFUlRJRVMsIEZJTExfUFJPUEVSVFkpIFwKICAgICBJTlNU
QU5USUFURV9JTklUSUFMSVpJTkdfQ09OU1RSVUNUT1JfRk9SX0JFRk9SRV9MT0FEX0VWRU5UKERJ
Q1RJT05BUllfU1RBUlQsIERJQ1RJT05BUllfRU5ELCBGSUxMX1BBUkVOVF9QUk9QRVJUSUVTLCBG
SUxMX1BST1BFUlRZKSBcCiAgICAgSU5TVEFOVElBVEVfSU5JVElBTElaSU5HX0NPTlNUUlVDVE9S
X0ZPUl9PVkVSRkxPV19FVkVOVChESUNUSU9OQVJZX1NUQVJULCBESUNUSU9OQVJZX0VORCwgRklM
TF9QQVJFTlRfUFJPUEVSVElFUywgRklMTF9QUk9QRVJUWSkgXAotCisgICAgSU5TVEFOVElBVEVf
SU5JVElBTElaSU5HX0NPTlNUUlVDVE9SX0ZPUl9UUkFDS19FVkVOVChESUNUSU9OQVJZX1NUQVJU
LCBESUNUSU9OQVJZX0VORCwgRklMTF9QQVJFTlRfUFJPUEVSVElFUywgRklMTF9QUk9QRVJUWSkg
XAogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2dvYmplY3QvR05VbWFrZWZpbGUuYW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvZ29iamVjdC9HTlVtYWtlZmlsZS5hbQkocmV2aXNpb24gOTkwOTIpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L0dOVW1ha2VmaWxlLmFtCSh3b3JraW5nIGNvcHkp
CkBAIC00MTAsMTQgKzQxMCwxNyBAQCBpZiBFTkFCTEVfVklERU9fVFJBQ0sKIHdlYmtpdGd0a19i
dWlsdF9oX2FwaSArPSBcCiAJJCh0b3BfYnVpbGRkaXIpL0Rlcml2ZWRTb3VyY2VzL3dlYmtpdC9X
ZWJLaXRET01UZXh0VHJhY2suaCBcCiAJJCh0b3BfYnVpbGRkaXIpL0Rlcml2ZWRTb3VyY2VzL3dl
YmtpdC9XZWJLaXRET01UZXh0VHJhY2tDdWUuaCBcCi0JJCh0b3BfYnVpbGRkaXIpL0Rlcml2ZWRT
b3VyY2VzL3dlYmtpdC9XZWJLaXRET01UZXh0VHJhY2tDdWVMaXN0LmgKKwkkKHRvcF9idWlsZGRp
cikvRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVRleHRUcmFja0N1ZUxpc3QuaCBcCisJ
JCh0b3BfYnVpbGRkaXIpL0Rlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01UcmFja0V2ZW50
LmgKIHdlYmtpdGd0a19nZG9tX2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL3dl
YmtpdC9XZWJLaXRET01UZXh0VHJhY2suY3BwIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2Vi
S2l0RE9NVGV4dFRyYWNrUHJpdmF0ZS5oIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0
RE9NVGV4dFRyYWNrQ3VlLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVRl
eHRUcmFja0N1ZVByaXZhdGUuaCBcCiAJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVRl
eHRUcmFja0N1ZUxpc3QuY3BwIFwKLQlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NVGV4
dFRyYWNrQ3VlTGlzdFByaXZhdGUuaAorCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01U
ZXh0VHJhY2tDdWVMaXN0UHJpdmF0ZS5oIFwKKwlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0
RE9NVHJhY2tFdmVudC5jcHAgXAorCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01UcmFj
a0V2ZW50UHJpdmF0ZS5oCiBlbmRpZgogCiBnZG9tX2NsYXNzX2xpc3QgOj0gJChzdWJzdCBXZWJL
aXRET00sLCAkKGZpbHRlci1vdXQgJVByaXZhdGUsICQoYmFzZW5hbWUgJChub3RkaXIgJCh3ZWJr
aXRndGtfZ2RvbV9idWlsdF9zb3VyY2VzKSkpKSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2dvYmplY3QvV2ViS2l0SFRNTEVsZW1lbnRXcmFwcGVyRmFjdG9yeS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJLaXRIVE1MRWxlbWVudFdy
YXBwZXJGYWN0b3J5LmNwcAkocmV2aXNpb24gOTkwOTIpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9nb2JqZWN0L1dlYktpdEhUTUxFbGVtZW50V3JhcHBlckZhY3RvcnkuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0xNjIsNiArMTYyLDcgQEAKICNpbmNsdWRlICJ3ZWJraXQvV2ViS2l0RE9NVGV4
dFRyYWNrQ3VlTGlzdFByaXZhdGUuaCIKICNpbmNsdWRlICJ3ZWJraXQvV2ViS2l0RE9NVGV4dFRy
YWNrQ3VlUHJpdmF0ZS5oIgogI2luY2x1ZGUgIndlYmtpdC9XZWJLaXRET01UZXh0VHJhY2tQcml2
YXRlLmgiCisjaW5jbHVkZSAid2Via2l0L1dlYktpdERPTVRyYWNrRXZlbnRQcml2YXRlLmgiCiAj
ZW5kaWYKICAKICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0JpbmRpbmdzQWxsSW5PbmUuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQmluZGluZ3NBbGxJbk9uZS5jcHAJKHJldmlzaW9u
IDk5MDkyKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNCaW5kaW5nc0FsbEluT25l
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQwLDYgKzE0MCw4IEBACiAjaW5jbHVkZSAiSlNUZXh0
Q3VzdG9tLmNwcCIKICNpbmNsdWRlICJKU1RvdWNoQ3VzdG9tLmNwcCIKICNpbmNsdWRlICJKU1Rv
dWNoTGlzdEN1c3RvbS5jcHAiCisjaW5jbHVkZSAiSlNUcmFja0N1c3RvbS5jcHAiCisjaW5jbHVk
ZSAiSlNUcmFja0V2ZW50Q3VzdG9tLmNwcCIKICNpbmNsdWRlICJKU1RyZWVXYWxrZXJDdXN0b20u
Y3BwIgogI2luY2x1ZGUgIkpTVWludDE2QXJyYXlDdXN0b20uY3BwIgogI2luY2x1ZGUgIkpTVWlu
dDMyQXJyYXlDdXN0b20uY3BwIgpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNE
aWN0aW9uYXJ5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RpY3Rpb25hcnkuY3BwCShyZXZpc2lvbiA5OTA5MikKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRGljdGlvbmFyeS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDYgKzMwLDcgQEAK
ICNpbmNsdWRlICJKU0V2ZW50VGFyZ2V0LmgiCiAjaW5jbHVkZSAiSlNNZXNzYWdlUG9ydEN1c3Rv
bS5oIgogI2luY2x1ZGUgIkpTTm9kZS5oIgorI2luY2x1ZGUgIkpTVHJhY2tDdXN0b20uaCIKICNp
bmNsdWRlICJTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCIKICNpbmNsdWRlICJTY3JpcHRWYWx1ZS5o
IgogCkBAIC0xMjQsNCArMTI1LDExIEBAIHZvaWQgSlNEaWN0aW9uYXJ5Ojpjb252ZXJ0VmFsdWUo
RXhlY1N0YXQKICAgICBmaWxsTWVzc2FnZVBvcnRBcnJheShleGVjLCB2YWx1ZSwgcmVzdWx0KTsK
IH0KIAorI2lmIEVOQUJMRShWSURFT19UUkFDSykKK3ZvaWQgSlNEaWN0aW9uYXJ5Ojpjb252ZXJ0
VmFsdWUoRXhlY1N0YXRlKiwgSlNWYWx1ZSB2YWx1ZSwgUmVmUHRyPFRyYWNrQmFzZT4mIHJlc3Vs
dCkKK3sKKyAgICByZXN1bHQgPSB0b1RyYWNrKHZhbHVlKTsKK30KKyNlbmRpZgorCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RpY3Rp
b25hcnkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RpY3Rp
b25hcnkuaAkocmV2aXNpb24gOTkwOTIpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RpY3Rpb25hcnkuaAkod29ya2luZyBjb3B5KQpAQCAtMzcsNiArMzcsNyBAQCBjbGFzcyBFdmVu
dFRhcmdldDsKIGNsYXNzIE5vZGU7CiBjbGFzcyBTY3JpcHRWYWx1ZTsKIGNsYXNzIFNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZTsKK2NsYXNzIFRyYWNrQmFzZTsKIAogY2xhc3MgSlNEaWN0aW9uYXJ5IHsK
IHB1YmxpYzoKQEAgLTczLDYgKzc0LDkgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgdm9pZCBjb252
ZXJ0VmFsdWUoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTVmFsdWUsIFJlZlB0cjxFdmVudFRhcmdl
dD4mIHJlc3VsdCk7CiAgICAgc3RhdGljIHZvaWQgY29udmVydFZhbHVlKEpTQzo6RXhlY1N0YXRl
KiwgSlNDOjpKU1ZhbHVlLCBSZWZQdHI8Tm9kZT4mIHJlc3VsdCk7CiAgICAgc3RhdGljIHZvaWQg
Y29udmVydFZhbHVlKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU1ZhbHVlLCBNZXNzYWdlUG9ydEFy
cmF5JiByZXN1bHQpOworI2lmIEVOQUJMRShWSURFT19UUkFDSykKKyAgICBzdGF0aWMgdm9pZCBj
b252ZXJ0VmFsdWUoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTVmFsdWUsIFJlZlB0cjxUcmFja0Jh
c2U+JiByZXN1bHQpOworI2VuZGlmCiAKICAgICBKU0M6OkV4ZWNTdGF0ZSogbV9leGVjOwogICAg
IEpTQzo6SlNPYmplY3QqIG1faW5pdGlhbGl6ZXJPYmplY3Q7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q29uc3RydWN0b3JzLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q29uc3RydWN0b3JzLmNwcAkocmV2aXNpb24g
OTkwOTIpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q29uc3RydWN0b3Jz
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTUsNiArNTUsMTEgQEAKICNpbmNsdWRlICJXZWJLaXRU
cmFuc2l0aW9uRXZlbnQuaCIKICNpbmNsdWRlIDxydW50aW1lL0Vycm9yLmg+CiAKKyNpZiBFTkFC
TEUoVklERU9fVFJBQ0spCisjaW5jbHVkZSAiSlNUcmFja0V2ZW50LmgiCisjaW5jbHVkZSAiVHJh
Y2tFdmVudC5oIgorI2VuZGlmCisKIHVzaW5nIG5hbWVzcGFjZSBKU0M7CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTVHJhY2tDdXN0b20u
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTVHJhY2tDdXN0
b20uY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNUcmFj
a0N1c3RvbS5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsODQgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoVklERU9fVFJBQ0spCisKKyNpbmNsdWRlICJK
U1RyYWNrQ3VzdG9tLmgiCisKKyNpbmNsdWRlICJKU1RleHRUcmFjay5oIgorCit1c2luZyBuYW1l
c3BhY2UgSlNDOworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1RyYWNrQmFzZSogdG9UcmFjayhK
U1ZhbHVlIHZhbHVlKQoreworICAgIGlmICghdmFsdWUuaXNPYmplY3QoKSkKKyAgICAgICAgcmV0
dXJuIDA7CisKKyAgICBKU09iamVjdCogb2JqZWN0ID0gYXNPYmplY3QodmFsdWUpOworICAgIGlm
IChvYmplY3QtPmluaGVyaXRzKCZKU1RleHRUcmFjazo6c19pbmZvKSkKKyAgICAgICAgcmV0dXJu
IHN0YXRpY19jYXN0PEpTVGV4dFRyYWNrKj4ob2JqZWN0KS0+aW1wbCgpOworICAgIAorICAgIC8v
IEZJWE1FOiBGaWxsIGluIGFkZGl0aW9uYWwgdGVzdHMgYW5kIGNhc3RzIGhlcmUgZm9yIFZpZGVv
VHJhY2sgYW5kIEF1ZGlvVHJhY2sgd2hlbiAKKyAgICAvLyB0aGV5IGhhdmUgYmVlbiBhZGRlZCB0
byBXZWJDb3JlLgorCisgICAgcmV0dXJuIDA7Cit9CisKK0pTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6
RXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUcmFja0Jh
c2UqIHRyYWNrKQoreworICAgIGlmICghdHJhY2spCisgICAgICAgIHJldHVybiBqc051bGwoKTsK
KyAgICAKKyAgICBKU0RPTVdyYXBwZXIqIHdyYXBwZXIgPSBnZXRDYWNoZWRXcmFwcGVyKGN1cnJl
bnRXb3JsZChleGVjKSwgdHJhY2spOworICAgIGlmICh3cmFwcGVyKQorICAgICAgICByZXR1cm4g
d3JhcHBlcjsKKyAgICAKKyAgICBzd2l0Y2ggKHRyYWNrLT50eXBlKCkpIHsKKyAgICBjYXNlIFRy
YWNrQmFzZTo6QmFzZVRyYWNrOgorICAgICAgICAvLyBUaGlzIHNob3VsZCBuZXZlciBoYXBwZW4u
CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICBicmVhazsKKyAgICAgICAg
CisgICAgY2FzZSBUcmFja0Jhc2U6OkF1ZGlvVHJhY2s6CisgICAgY2FzZSBUcmFja0Jhc2U6OlZp
ZGVvVHJhY2s6CisgICAgICAgIC8vIFRoaXMgc2hvdWxkIG5vdCBoYXBwZW4gdW50aWwgVmlkZW9U
cmFjayBhbmQgQXVkaW9UcmFjayBhcmUgaW1wbGVtZW50ZWQuCisgICAgICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOworICAgICAgICBicmVhazsKKworICAgIGNhc2UgVHJhY2tCYXNlOjpUZXh0VHJh
Y2s6CisgICAgICAgIHJldHVybiBDUkVBVEVfRE9NX1dSQVBQRVIoZXhlYywgZ2xvYmFsT2JqZWN0
LCBUZXh0VHJhY2ssIHRyYWNrKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIAorICAgIHJl
dHVybiBqc051bGwoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTVHJhY2tDdXN0b20uaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1RyYWNrQ3VzdG9tLmgJKHJldmlzaW9u
IDApCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1RyYWNrQ3VzdG9tLmgJKHJldmlz
aW9uIDApCkBAIC0wLDAgKzEsNDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUg
SW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAor
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBKU1RyYWNrQ3VzdG9t
X2gKKyNkZWZpbmUgSlNUcmFja0N1c3RvbV9oCisKKyNpZiBFTkFCTEUoVklERU9fVFJBQ0spCisK
KyNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKKyNpbmNsdWRlICJUcmFja0Jhc2UuaCIKKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitUcmFja0Jhc2UqIHRvVHJhY2soSlNDOjpKU1ZhbHVlKTsKK0pT
Qzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqLCBUcmFj
a0Jhc2UqKTsKKworfQorCisjZW5kaWYKKyNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNUcmFja0V2ZW50Q3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU1RyYWNrRXZlbnRDdXN0b20uY3BwCShyZXZpc2lvbiAwKQorKysg
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNUcmFja0V2ZW50Q3VzdG9tLmNwcAkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSw1MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKwor
I2lmIEVOQUJMRShWSURFT19UUkFDSykKKworI2luY2x1ZGUgIkpTVHJhY2tFdmVudC5oIgorCisj
aW5jbHVkZSAiSlNUcmFja0N1c3RvbS5oIgorI2luY2x1ZGUgIlRyYWNrQmFzZS5oIgorCit1c2lu
ZyBuYW1lc3BhY2UgSlNDOworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0pTVmFsdWUgSlNUcmFj
a0V2ZW50Ojp0cmFjayhFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0Cit7CisgICAgVHJhY2tCYXNlKiB0
cmFjayA9IHN0YXRpY19jYXN0PFRyYWNrRXZlbnQqPihpbXBsKCkpLT50cmFjaygpOworICAgIGlm
ICghdHJhY2spCisgICAgICAgIHJldHVybiBqc051bGwoKTsKKworICAgIHJldHVybiB0b0pTKGV4
ZWMsIGdsb2JhbE9iamVjdCgpLCB0cmFjayk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
KworI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9PcHRpb25zT2JqZWN0
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9PcHRpb25zT2Jq
ZWN0LmNwcAkocmV2aXNpb24gOTkwOTIpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9P
cHRpb25zT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzcsNiArMzcsMTEgQEAKICNpbmNs
dWRlICJWOElEQktleVJhbmdlLmgiCiAjZW5kaWYKIAorI2lmIEVOQUJMRShWSURFT19UUkFDSykK
KyNpbmNsdWRlICJUcmFja0Jhc2UuaCIKKyNpbmNsdWRlICJWOFRleHRUcmFjay5oIgorI2VuZGlm
CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogT3B0aW9uc09iamVjdDo6T3B0aW9uc09iamVjdCgp
CkBAIC0yMjcsNCArMjMyLDI2IEBAIGJvb2wgT3B0aW9uc09iamVjdDo6Z2V0V2l0aFVuZGVmaW5l
ZE9yTnUKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorI2lmIEVOQUJMRShWSURFT19UUkFDSykKK2Jv
b2wgT3B0aW9uc09iamVjdDo6Z2V0KGNvbnN0IFN0cmluZyYga2V5LCBSZWZQdHI8VHJhY2tCYXNl
PiYgdmFsdWUpIGNvbnN0Cit7CisgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdjhWYWx1ZTsKKyAg
ICBpZiAoIWdldEtleShrZXksIHY4VmFsdWUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAg
ICBUcmFja0Jhc2UqIHNvdXJjZSA9IDA7CisgICAgaWYgKHY4VmFsdWUtPklzT2JqZWN0KCkpIHsK
KyAgICAgICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwcGVyID0gdjg6OkhhbmRsZTx2ODo6
T2JqZWN0Pjo6Q2FzdCh2OFZhbHVlKTsKKworICAgICAgICAvLyBGSVhNRTogdGhpcyB3aWxsIG5l
ZWQgdG8gYmUgY2hhbmdlZCBzbyBpdCBjYW4gYWxzbyByZXR1cm4gYW4gQXVkaW9UcmFjayBvciBh
IFZpZGVvVHJhY2sgb25jZQorICAgICAgICAvLyB3ZSBhZGQgdGhlbS4KKyAgICAgICAgdjg6Okhh
bmRsZTx2ODo6T2JqZWN0PiB0cmFjayA9IFY4RE9NV3JhcHBlcjo6bG9va3VwRE9NV3JhcHBlcihW
OFRleHRUcmFjazo6R2V0VGVtcGxhdGUoKSwgd3JhcHBlcik7CisgICAgICAgIGlmICghdHJhY2su
SXNFbXB0eSgpKQorICAgICAgICAgICAgc291cmNlID0gVjhUZXh0VHJhY2s6OnRvTmF0aXZlKHRy
YWNrKTsKKyAgICB9CisgICAgdmFsdWUgPSBzb3VyY2U7CisgICAgcmV0dXJuIHRydWU7Cit9Cisj
ZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvT3B0aW9uc09iamVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L09wdGlvbnNPYmplY3QuaAkocmV2aXNpb24gOTkwOTIpCisrKyBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9PcHRpb25zT2JqZWN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTM2LDYg
KzM2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRE9NU3RyaW5nTGlzdDsKIGNsYXNz
IERPTVdpbmRvdzsKIGNsYXNzIElEQktleVJhbmdlOworY2xhc3MgVHJhY2tCYXNlOwogCiBjbGFz
cyBPcHRpb25zT2JqZWN0IHsKIHB1YmxpYzoKQEAgLTU3LDYgKzU4LDkgQEAgcHVibGljOgogICAg
IGJvb2wgZ2V0KGNvbnN0IFN0cmluZyYsIHVuc2lnbmVkIGxvbmcgbG9uZyYpIGNvbnN0OwogICAg
IGJvb2wgZ2V0KGNvbnN0IFN0cmluZyYsIFJlZlB0cjxET01XaW5kb3c+JikgY29uc3Q7CiAgICAg
Ym9vbCBnZXQoY29uc3QgU3RyaW5nJiwgTWVzc2FnZVBvcnRBcnJheSYpIGNvbnN0OworI2lmIEVO
QUJMRShWSURFT19UUkFDSykKKyAgICBib29sIGdldChjb25zdCBTdHJpbmcmLCBSZWZQdHI8VHJh
Y2tCYXNlPiYpIGNvbnN0OworI2VuZGlmCiAKICAgICBib29sIGdldFdpdGhVbmRlZmluZWRPck51
bGxDaGVjayhjb25zdCBTdHJpbmcmLCBTdHJpbmcmKSBjb25zdDsKIApJbmRleDogU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RXZlbnRDb25zdHJ1Y3RvcnMuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEV2ZW50Q29uc3RydWN0
b3JzLmNwcAkocmV2aXNpb24gOTkwOTIpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9j
dXN0b20vVjhFdmVudENvbnN0cnVjdG9ycy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY3LDYgKzY3
LDExIEBACiAjaW5jbHVkZSAiVjhXZWJLaXRBbmltYXRpb25FdmVudC5oIgogI2luY2x1ZGUgIlY4
V2ViS2l0VHJhbnNpdGlvbkV2ZW50LmgiCiAKKyNpZiBFTkFCTEUoVklERU9fVFJBQ0spCisjaW5j
bHVkZSAiVHJhY2tFdmVudC5oIgorI2luY2x1ZGUgIlY4VHJhY2tFdmVudC5oIgorI2VuZGlmCisK
ICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTEzMiw2
ICsxMzcsNiBAQCBJTlNUQU5USUFURV9JTklUSUFMSVpJTkdfQ09OU1RSVUNUT1JfRk9SCiBJTlNU
QU5USUFURV9JTklUSUFMSVpJTkdfQ09OU1RSVUNUT1JfRk9SX0JFRk9SRV9MT0FEX0VWRU5UKERJ
Q1RJT05BUllfU1RBUlQsIERJQ1RJT05BUllfRU5ELCBGSUxMX1BBUkVOVF9QUk9QRVJUSUVTLCBG
SUxMX1BST1BFUlRZKQogSU5TVEFOVElBVEVfSU5JVElBTElaSU5HX0NPTlNUUlVDVE9SX0ZPUl9P
VkVSRkxPV19FVkVOVChESUNUSU9OQVJZX1NUQVJULCBESUNUSU9OQVJZX0VORCwgRklMTF9QQVJF
TlRfUFJPUEVSVElFUywgRklMTF9QUk9QRVJUWSkKIElOU1RBTlRJQVRFX0lOSVRJQUxJWklOR19D
T05TVFJVQ1RPUl9GT1JfTUVTU0FHRV9FVkVOVChESUNUSU9OQVJZX1NUQVJULCBESUNUSU9OQVJZ
X0VORCwgRklMTF9QQVJFTlRfUFJPUEVSVElFUywgRklMTF9QUk9QRVJUWSkKLQorSU5TVEFOVElB
VEVfSU5JVElBTElaSU5HX0NPTlNUUlVDVE9SX0ZPUl9UUkFDS19FVkVOVChESUNUSU9OQVJZX1NU
QVJULCBESUNUSU9OQVJZX0VORCwgRklMTF9QQVJFTlRfUFJPUEVSVElFUywgRklMTF9QUk9QRVJU
WSkKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4VHJhY2tFdmVudEN1c3RvbS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4VHJhY2tFdmVudEN1c3RvbS5jcHAJKHJldmlz
aW9uIDApCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhUcmFja0V2ZW50
Q3VzdG9tLmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw3NSBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24u
CisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMg
b2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKworI2lmIEVOQUJMRShWSURFT19UUkFDSykKKworI2luY2x1ZGUgIlY4VHJhY2tFdmVudC5o
IgorCisjaW5jbHVkZSAiVHJhY2tCYXNlLmgiCisjaW5jbHVkZSAiVHJhY2tFdmVudC5oIgorI2lu
Y2x1ZGUgIlY4UHJveHkuaCIKKyNpbmNsdWRlICJWOFRleHRUcmFjay5oIgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFRyYWNrRXZlbnQ6OnRyYWNrQWNj
ZXNzb3JHZXR0ZXIodjg6OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUsIGNvbnN0IHY4OjpBY2Nlc3Nv
ckluZm8mIGluZm8pCit7CisgICAgSU5DX1NUQVRTKCJET00uVHJhY2tFdmVudC50cmFjayIpOwor
ICAgIFRyYWNrRXZlbnQqIHRyYWNrRXZlbnQgPSBWOFRyYWNrRXZlbnQ6OnRvTmF0aXZlKGluZm8u
SG9sZGVyKCkpOworICAgIFRyYWNrQmFzZSogdHJhY2sgPSB0cmFja0V2ZW50LT50cmFjaygpOwor
ICAgIAorICAgIGlmICghdHJhY2spCisgICAgICAgIHJldHVybiB2ODo6TnVsbCgpOworCisgICAg
c3dpdGNoICh0cmFjay0+dHlwZSgpKSB7CisgICAgY2FzZSBUcmFja0Jhc2U6OkJhc2VUcmFjazoK
KyAgICAgICAgLy8gVGhpcyBzaG91bGQgbmV2ZXIgaGFwcGVuLgorICAgICAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKKyAgICAgICAgYnJlYWs7CisgICAgICAgIAorICAgIGNhc2UgVHJhY2tCYXNl
OjpUZXh0VHJhY2s6CisgICAgICAgIHJldHVybiB0b1Y4KHN0YXRpY19jYXN0PFRleHRUcmFjayo+
KHRyYWNrKSk7CisgICAgICAgIGJyZWFrOworCisgICAgY2FzZSBUcmFja0Jhc2U6OkF1ZGlvVHJh
Y2s6CisgICAgY2FzZSBUcmFja0Jhc2U6OlZpZGVvVHJhY2s6CisgICAgICAgIC8vIFRoaXMgc2hv
dWxkIG5vdCBoYXBwZW4gdW50aWwgVmlkZW9UcmFjayBhbmQgQXVkaW9UcmFjayBhcmUgaW1wbGVt
ZW50ZWQuCisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICBicmVhazsKKyAg
ICB9CisKKyAgICByZXR1cm4gdjg6Ok51bGwoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQorCisjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudEZhY3RvcnkuaW4KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RmFjdG9yeS5pbgkocmV2aXNpb24g
OTkwOTIpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRGYWN0b3J5LmluCSh3b3JraW5nIGNv
cHkpCkBAIC00MSwzICs0MSw1IEBAIFRvdWNoRXZlbnQgY29uZGl0aW9uYWw9VE9VQ0hfRVZFTlRT
CiBEZXZpY2VNb3Rpb25FdmVudCBjb25kaXRpb25hbD1ERVZJQ0VfT1JJRU5UQVRJT04KIERldmlj
ZU9yaWVudGF0aW9uRXZlbnQgY29uZGl0aW9uYWw9REVWSUNFX09SSUVOVEFUSU9OCiBPcmllbnRh
dGlvbkV2ZW50IGludGVyZmFjZU5hbWU9RXZlbnQsIGNvbmRpdGlvbmFsPU9SSUVOVEFUSU9OX0VW
RU5UUworVHJhY2tFdmVudCBjb25kaXRpb25hbD1WSURFT19UUkFDSworCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Rv
bS9FdmVudE5hbWVzLmgJKHJldmlzaW9uIDk5MDkyKQorKysgU291cmNlL1dlYkNvcmUvZG9tL0V2
ZW50TmFtZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMTQ1LDYgKzE0NSw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBtYWNybyh2b2x1bWVjaGFuZ2UpIFwKICAgICBtYWNybyh3YWl0aW5nKSBc
CiAgICAgXAorICAgIG1hY3JvKGFkZHRyYWNrKSBcCisgICAgXAogICAgIG1hY3JvKHdlYmtpdGJl
Z2luZnVsbHNjcmVlbikgXAogICAgIG1hY3JvKHdlYmtpdGVuZGZ1bGxzY3JlZW4pIFwKICAgICBc
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL1RleHRUcmFjay5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvaHRtbC9UZXh0VHJhY2suY3BwCShyZXZpc2lvbiA5OTA5MikKKysrIFNv
dXJjZS9XZWJDb3JlL2h0bWwvVGV4dFRyYWNrLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzUsMTEg
KzM1LDEzIEBACiAjaW5jbHVkZSAiVGV4dFRyYWNrLmgiCiAKICNpbmNsdWRlICJUZXh0VHJhY2tD
dWVMaXN0LmgiCisjaW5jbHVkZSAiVHJhY2tCYXNlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogVGV4dFRyYWNrOjpUZXh0VHJhY2soVGV4dFRyYWNrQ2xpZW50KiBjbGllbnQsIGNvbnN0IFN0
cmluZyYga2luZCwgY29uc3QgU3RyaW5nJiBsYWJlbCwgY29uc3QgU3RyaW5nJiBsYW5ndWFnZSkK
LSAgICA6IG1fa2luZChraW5kKQorICAgIDogVHJhY2tCYXNlKFRyYWNrQmFzZTo6VGV4dFRyYWNr
KQorICAgICwgbV9raW5kKGtpbmQpCiAgICAgLCBtX2xhYmVsKGxhYmVsKQogICAgICwgbV9sYW5n
dWFnZShsYW5ndWFnZSkKICAgICAsIG1fcmVhZHlTdGF0ZShUZXh0VHJhY2s6Ok5PTkUpCkBAIC0x
MzIsNyArMTM0LDYgQEAgdm9pZCBUZXh0VHJhY2s6OmZldGNoTmV3ZXN0Q3VlcyhWZWN0b3I8VAog
ICAgIC8vIEZJWE1FKDYyODkwKTogSW1wbGVtZW50LgogfQogCi0KIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKIAogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL1RleHRUcmFjay5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvVGV4dFRyYWNrLmgJKHJldmlzaW9uIDk5
MDkyKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9UZXh0VHJhY2suaAkod29ya2luZyBjb3B5KQpA
QCAtMjksNiArMjksNyBAQAogI2lmIEVOQUJMRShWSURFT19UUkFDSykKIAogI2luY2x1ZGUgIkV4
Y2VwdGlvbkNvZGUuaCIKKyNpbmNsdWRlICJUcmFja0Jhc2UuaCIKICNpbmNsdWRlIDx3dGYvUGFz
c093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvV1RGU3RyaW5nLmg+CkBAIC01MSw3ICs1Miw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZv
aWQgdGV4dFRyYWNrUmVtb3ZlQ3VlKFRleHRUcmFjayosIFBhc3NSZWZQdHI8VGV4dFRyYWNrQ3Vl
PikgPSAwOwogfTsKIAotY2xhc3MgVGV4dFRyYWNrIDogcHVibGljIFJlZkNvdW50ZWQ8VGV4dFRy
YWNrPiB7CitjbGFzcyBUZXh0VHJhY2sgOiBwdWJsaWMgVHJhY2tCYXNlIHsKIHB1YmxpYzoKICAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxUZXh0VHJhY2s+IGNyZWF0ZShUZXh0VHJhY2tDbGllbnQqIGNs
aWVudCwgY29uc3QgU3RyaW5nJiBraW5kLCBjb25zdCBTdHJpbmcmIGxhYmVsLCBjb25zdCBTdHJp
bmcmIGxhbmd1YWdlKQogICAgIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVHJh
Y2tCYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RyYWNr
QmFzZS5jcHAJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RyYWNr
QmFzZS5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTEgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMg
SVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
CisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1
ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlRyYWNrQmFzZS5oIgorCisjaWYgRU5BQkxFKFZJREVP
X1RSQUNLKQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1RyYWNrQmFzZTo6VHJhY2tCYXNlKFR5
cGUgdHlwZSkKK3sKKyAgICBBU1NFUlQodHlwZSAhPSBCYXNlVHJhY2spOworICAgIG1fdHlwZSA9
IHR5cGU7Cit9CisKK1RyYWNrQmFzZTo6flRyYWNrQmFzZSgpCit7Cit9CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKworI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1Ry
YWNrQmFzZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVHJhY2tC
YXNlLmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RyYWNrQmFz
ZS5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDUyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDExIEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycg
QU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYgVHJh
Y2tCYXNlX2gKKyNkZWZpbmUgVHJhY2tCYXNlX2gKKworI2lmIEVOQUJMRShWSURFT19UUkFDSykK
KworI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
Y2xhc3MgVHJhY2tCYXNlIDogcHVibGljIFJlZkNvdW50ZWQ8VHJhY2tCYXNlPiB7CitwdWJsaWM6
CisgICAgdmlydHVhbCB+VHJhY2tCYXNlKCk7CisKKyAgICBlbnVtIFR5cGUgeyBCYXNlVHJhY2ss
IFRleHRUcmFjaywgQXVkaW9UcmFjaywgVmlkZW9UcmFjayB9OworICAgIFR5cGUgdHlwZSgpIGNv
bnN0IHsgcmV0dXJuIG1fdHlwZTsgfQorCitwcm90ZWN0ZWQ6CisgICAgVHJhY2tCYXNlKFR5cGUp
OworCitwcml2YXRlOgorICAgIFR5cGUgbV90eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQorCisjZW5kaWYKKyNlbmRpZiAvLyBUcmFja0Jhc2VfaApJbmRleDogU291cmNlL1dlYkNv
cmUvaHRtbC90cmFjay9UcmFja0V2ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9odG1sL3RyYWNrL1RyYWNrRXZlbnQuY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYkNv
cmUvaHRtbC90cmFjay9UcmFja0V2ZW50LmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw2MiBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
Q09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBD
T01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLiAKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoVklERU9fVFJB
Q0spCisKKyNpbmNsdWRlICJUcmFja0V2ZW50LmgiCisKKyNpbmNsdWRlICJFdmVudE5hbWVzLmgi
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworVHJhY2tFdmVudEluaXQ6OlRyYWNrRXZlbnRJbml0
KCkKK3sKK30KKworCitUcmFja0V2ZW50OjpUcmFja0V2ZW50KCkKK3sKK30KKworVHJhY2tFdmVu
dDo6VHJhY2tFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0IFRyYWNrRXZlbnRJ
bml0JiBpbml0aWFsaXplcikKKyAgICA6IEV2ZW50KHR5cGUsIGluaXRpYWxpemVyKQorICAgICwg
bV90cmFjayhpbml0aWFsaXplci50cmFjaykKK3sKK30KKworVHJhY2tFdmVudDo6flRyYWNrRXZl
bnQoKQoreworfQorCitjb25zdCBBdG9taWNTdHJpbmcmIFRyYWNrRXZlbnQ6OmludGVyZmFjZU5h
bWUoKSBjb25zdAoreworICAgIHJldHVybiBldmVudE5hbWVzKCkuaW50ZXJmYWNlRm9yVHJhY2tF
dmVudDsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2h0bWwvdHJhY2svVHJhY2tFdmVudC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2h0bWwvdHJhY2svVHJhY2tFdmVudC5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dl
YkNvcmUvaHRtbC90cmFjay9UcmFja0V2ZW50LmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNzIg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
Q09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gCisgKi8KKworI2lmbmRlZiBUcmFja0V2ZW50X2gKKyNkZWZpbmUgVHJhY2tFdmVudF9o
CisKKyNpZiBFTkFCTEUoVklERU9fVFJBQ0spCisKKyNpbmNsdWRlICJFdmVudC5oIgorI2luY2x1
ZGUgIlRyYWNrQmFzZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0cnVjdCBUcmFja0V2
ZW50SW5pdCA6IHB1YmxpYyBFdmVudEluaXQgeworICAgIFRyYWNrRXZlbnRJbml0KCk7CisKKyAg
ICBSZWZQdHI8VHJhY2tCYXNlPiB0cmFjazsKK307CisKK2NsYXNzIFRyYWNrRXZlbnQgOiBwdWJs
aWMgRXZlbnQgeworcHVibGljOgorICAgIHZpcnR1YWwgflRyYWNrRXZlbnQoKTsKKworICAgIHN0
YXRpYyBQYXNzUmVmUHRyPFRyYWNrRXZlbnQ+IGNyZWF0ZSgpCisgICAgeworICAgICAgICByZXR1
cm4gYWRvcHRSZWYobmV3IFRyYWNrRXZlbnQpOworICAgIH0KKworICAgIHN0YXRpYyBQYXNzUmVm
UHRyPFRyYWNrRXZlbnQ+IGNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0IFRy
YWNrRXZlbnRJbml0JiBpbml0aWFsaXplcikKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJl
ZihuZXcgVHJhY2tFdmVudCh0eXBlLCBpbml0aWFsaXplcikpOworICAgIH0KKworICAgIHZpcnR1
YWwgY29uc3QgQXRvbWljU3RyaW5nJiBpbnRlcmZhY2VOYW1lKCkgY29uc3Q7CisKKyAgICBUcmFj
a0Jhc2UqIHRyYWNrKCkgY29uc3QgeyByZXR1cm4gbV90cmFjay5nZXQoKTsgfQorCitwcml2YXRl
OgorICAgIFRyYWNrRXZlbnQoKTsKKyAgICBUcmFja0V2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYg
dHlwZSwgY29uc3QgVHJhY2tFdmVudEluaXQmIGluaXRpYWxpemVyKTsKKworICAgIHZpcnR1YWwg
Ym9vbCBpc1RyYWNrRXZlbnQoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CisKKyAgICBSZWZQdHI8
VHJhY2tCYXNlPiBtX3RyYWNrOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5k
aWYKKyNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UcmFja0V2ZW50Lmlk
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RyYWNrRXZlbnQuaWRs
CShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UcmFja0V2ZW50Lmlk
bAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MSBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCittb2R1bGUgaHRtbCB7
CisKKyAgICBpbnRlcmZhY2UgWworICAgICAgICBDb25kaXRpb25hbD1WSURFT19UUkFDSywKKyAg
ICAgICAgRW5hYmxlZEF0UnVudGltZT13ZWJraXRWaWRlb1RyYWNrLAorICAgICAgICBDYW5CZUNv
bnN0cnVjdGVkLAorICAgICAgICBDdXN0b21Db25zdHJ1Y3RvciwKKyAgICBdIFRyYWNrRXZlbnQg
OiBFdmVudCB7CisKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtDdXN0b21HZXR0ZXJdIG9i
amVjdCB0cmFjazsKKworICAgIH07CisKK30KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvRE9N
V2luZG93LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5p
ZGwJKHJldmlzaW9uIDk5MDkyKQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRs
CSh3b3JraW5nIGNvcHkpCkBAIC02MTMsNiArNjEzLDcgQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAg
ICAgIGF0dHJpYnV0ZSBbRW5hYmxlZEF0UnVudGltZT13ZWJraXRWaWRlb1RyYWNrXSBUZXh0VHJh
Y2tDb25zdHJ1Y3RvciBUZXh0VHJhY2s7CiAgICAgICAgIGF0dHJpYnV0ZSBbRW5hYmxlZEF0UnVu
dGltZT13ZWJraXRWaWRlb1RyYWNrXSBUZXh0VHJhY2tDdWVDb25zdHJ1Y3RvciBUZXh0VHJhY2tD
dWU7IC8vIFVzYWJsZSB3aXRoIHRoZSBuZXcgb3BlcmF0b3IKICAgICAgICAgYXR0cmlidXRlIFtF
bmFibGVkQXRSdW50aW1lPXdlYmtpdFZpZGVvVHJhY2tdIFRleHRUcmFja0N1ZUxpc3RDb25zdHJ1
Y3RvciBUZXh0VHJhY2tDdWVMaXN0OworICAgICAgICBhdHRyaWJ1dGUgW0VuYWJsZWRBdFJ1bnRp
bWU9d2Via2l0VmlkZW9UcmFja10gVHJhY2tFdmVudENvbnN0cnVjdG9yIFRyYWNrRXZlbnQ7CiAj
ZW5kaWYKIAogICAgICAgICBhdHRyaWJ1dGUgRE9NUGx1Z2luQ29uc3RydWN0b3IgUGx1Z2luOwpJ
bmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0No
YW5nZUxvZwkocmV2aXNpb24gOTkwOTIpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwxOCBAQAorMjAxMS0xMS0wMiAgRXJpYyBDYXJsc29uICA8ZXJp
Yy5jYXJsc29uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgVHJhY2tFdmVudAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNzgKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvZXZlbnRzL2NvbnN0
cnVjdG9ycy90cmFjay1ldmVudC1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy90cmFjay1ldmVudC1jb25zdHJ1Y3Rvci5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9u
cy50eHQ6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJv
cGVydGllcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL2Zhc3QvanMvZ2xv
YmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1Nr
aXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vd2luL1NraXBwZWQ6CisKIDIwMTEtMTEtMDIgIFRv
bnkgQ2hhbmcgIDx0b255QGNocm9taXVtLm9yZz4KIAogICAgICAgICBMYW5kIGNocm9taXVtIHdp
bi9sZW9wYXJkIGJhc2VsaW5lcyBmb3IgcHJpbnRpbmcvc2V0UHJpbnRpbmcuaHRtbCBhbmQgcHJp
bnRpbmcgc2luZ2xlLWxpbmUtbXVzdC1ub3QtYmUtc3BsaXQtaW50by10d28tcGFnZXMuaHRtbC4K
SW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy90cmFjay1ldmVudC1j
b25zdHJ1Y3Rvci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9l
dmVudHMvY29uc3RydWN0b3JzL3RyYWNrLWV2ZW50LWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy90cmFj
ay1ldmVudC1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
MzkgQEAKK1RoaXMgdGVzdHMgdGhlIGNvbnN0cnVjdG9yIGZvciB0aGUgVHJhY2tFdmVudCBET00g
Y2xhc3MuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCisKKyoqKiBObyBpbml0aWFs
aXplciBwYXNzZWQgKioqCitQQVNTIG5ldyBUcmFja0V2ZW50KCdUcmFja0V2ZW50JykuYnViYmxl
cyBpcyBmYWxzZQorUEFTUyBuZXcgVHJhY2tFdmVudCgnVHJhY2tFdmVudCcpLmNhbmNlbGFibGUg
aXMgZmFsc2UKK1BBU1MgbmV3IFRyYWNrRXZlbnQoJ1RyYWNrRXZlbnQnKS50cmFjayBpcyBudWxs
CisKKyoqKiBCdWJibGVzIGFuZCBjYW5jZWxhYmxlIHRydWUsIHRyYWNrIGlzIG1pc3NpbmcgKioq
CitQQVNTIG5ldyBUcmFja0V2ZW50KCdUcmFja0V2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5j
ZWxhYmxlOiB0cnVlIH0pLmJ1YmJsZXMgaXMgdHJ1ZQorUEFTUyBuZXcgVHJhY2tFdmVudCgnVHJh
Y2tFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSB9KS5jYW5jZWxhYmxl
IGlzIHRydWUKK1BBU1MgbmV3IFRyYWNrRXZlbnQoJ1RyYWNrRXZlbnQnLCB7IGJ1YmJsZXM6IHRy
dWUsIGNhbmNlbGFibGU6IHRydWUgfSkudHJhY2sgaXMgbnVsbAorCisqKiogQnViYmxlcyBhbmQg
Y2FuY2VsYWJsZSB0cnVlLCBpbnZhbGlkIHRyYWNrICoqKgorUEFTUyBuZXcgVHJhY2tFdmVudCgn
VHJhY2tFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwgdHJhY2s6IEhU
TUxUcmFja0VsZW1lbnQgfSkuYnViYmxlcyBpcyB0cnVlCitQQVNTIG5ldyBUcmFja0V2ZW50KCdU
cmFja0V2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCB0cmFjazogSFRN
TFRyYWNrRWxlbWVudCB9KS5jYW5jZWxhYmxlIGlzIHRydWUKK1BBU1MgbmV3IFRyYWNrRXZlbnQo
J1RyYWNrRXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIHRyYWNrOiBI
VE1MVHJhY2tFbGVtZW50IH0pLnRyYWNrIGlzIG51bGwKKworKioqIEluaXRpYWxpemUgJ3RyYWNr
JyB3aXRoIGEgaW52YWxpZCB2YWx1ZXMgKioqCitQQVNTIG5ldyBUcmFja0V2ZW50KCdUcmFja0V2
ZW50JywgeyB0cmFjazogMTAgfSkudHJhY2sgaXMgbnVsbAorUEFTUyBuZXcgVHJhY2tFdmVudCgn
VHJhY2tFdmVudCcsIHsgdHJhY2s6ICdzdHJpbmcnIH0pLnRyYWNrIGlzIG51bGwKK1BBU1MgbmV3
IFRyYWNrRXZlbnQoJ1RyYWNrRXZlbnQnLCB7IHRyYWNrOiBlbXB0eU9iamVjdCB9KS50cmFjayBp
cyBudWxsCitQQVNTIG5ldyBUcmFja0V2ZW50KCdUcmFja0V2ZW50JywgeyB0cmFjazogZG9jdW1l
bnQgfSkudHJhY2sgaXMgbnVsbAorCisqKiogQnViYmxlcyBhbmQgY2FuY2VsYWJsZSB0cnVlLCB2
YWxpZCB0cmFjayAqKioKK1BBU1MgbmV3IFRyYWNrRXZlbnQoJ1RyYWNrRXZlbnQnLCB7IGJ1YmJs
ZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIHRyYWNrOiBIVE1MVHJhY2tFbGVtZW50IH0pLmJ1
YmJsZXMgaXMgdHJ1ZQorUEFTUyBuZXcgVHJhY2tFdmVudCgnVHJhY2tFdmVudCcsIHsgYnViYmxl
czogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwgdHJhY2s6IEhUTUxUcmFja0VsZW1lbnQgfSkuY2Fu
Y2VsYWJsZSBpcyB0cnVlCitQQVNTIG5ldyBUcmFja0V2ZW50KCdUcmFja0V2ZW50JywgeyB0cmFj
azogdHJhY2tFbGVtZW50LnRyYWNrIH0pLnRyYWNrIGlzIHRyYWNrRWxlbWVudC50cmFjaworCisq
KiogSW5pdGlhbGl6ZSAndHJhY2snIHdpdGggdmFsaWQgdHJhY2sgb2JqZWN0ICoqKgorUEFTUyBu
ZXcgVHJhY2tFdmVudCgnVHJhY2tFdmVudCcsIHsgdHJhY2s6IHRyYWNrRWxlbWVudC50cmFjayB9
KS50cmFjayBpcyB0cmFja0VsZW1lbnQudHJhY2sKKworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L2NvbnN0cnVjdG9ycy90cmFjay1ldmVudC1jb25zdHJ1Y3Rvci5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy90cmFjay1ldmVudC1jb25zdHJ1
Y3Rvci5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY29uc3Ry
dWN0b3JzL3RyYWNrLWV2ZW50LWNvbnN0cnVjdG9yLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
KworPGJvZHk+CisgICAgPHNjcmlwdD4KKworICAgICAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9
IHRydWU7CisKKyAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdHMgdGhlIGNvbnN0cnVjdG9y
IGZvciB0aGUgVHJhY2tFdmVudCBET00gY2xhc3MuIik7CisKKyAgICAgICAgZnVuY3Rpb24gdGVz
dCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIC8vIE1ha2Ugc3VyZSB0aGUgdHJhY2sgYWN0dWFs
bHkgbG9hZGVkLgorICAgICAgICAgICAgc2hvdWxkQmUoInRyYWNrRWxlbWVudC50cmFjay5yZWFk
eVN0YXRlIiwgIlRleHRUcmFjay5MT0FERUQiLCB0cnVlKTsKKworICAgICAgICAgICAgZGVidWco
Ijxicj4qKiogTm8gaW5pdGlhbGl6ZXIgcGFzc2VkICoqKiIpOworICAgICAgICAgICAgc2hvdWxk
QmUoIm5ldyBUcmFja0V2ZW50KCdUcmFja0V2ZW50JykuYnViYmxlcyIsICJmYWxzZSIpOworICAg
ICAgICAgICAgc2hvdWxkQmUoIm5ldyBUcmFja0V2ZW50KCdUcmFja0V2ZW50JykuY2FuY2VsYWJs
ZSIsICJmYWxzZSIpOworICAgICAgICAgICAgc2hvdWxkQmVOdWxsKCJuZXcgVHJhY2tFdmVudCgn
VHJhY2tFdmVudCcpLnRyYWNrIik7CisgICAgCisgICAgICAgICAgICBkZWJ1ZygiPGJyPioqKiBC
dWJibGVzIGFuZCBjYW5jZWxhYmxlIHRydWUsIHRyYWNrIGlzIG1pc3NpbmcgKioqIik7CisgICAg
ICAgICAgICBzaG91bGRCZSgibmV3IFRyYWNrRXZlbnQoJ1RyYWNrRXZlbnQnLCB7IGJ1YmJsZXM6
IHRydWUsIGNhbmNlbGFibGU6IHRydWUgfSkuYnViYmxlcyIsICJ0cnVlIik7CisgICAgICAgICAg
ICBzaG91bGRCZSgibmV3IFRyYWNrRXZlbnQoJ1RyYWNrRXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUs
IGNhbmNlbGFibGU6IHRydWUgfSkuY2FuY2VsYWJsZSIsICJ0cnVlIik7CisgICAgICAgICAgICBz
aG91bGRCZU51bGwoIm5ldyBUcmFja0V2ZW50KCdUcmFja0V2ZW50JywgeyBidWJibGVzOiB0cnVl
LCBjYW5jZWxhYmxlOiB0cnVlIH0pLnRyYWNrIik7CisgICAgCisgICAgICAgICAgICBkZWJ1Zygi
PGJyPioqKiBCdWJibGVzIGFuZCBjYW5jZWxhYmxlIHRydWUsIGludmFsaWQgdHJhY2sgKioqIik7
CisgICAgICAgICAgICBzaG91bGRCZSgibmV3IFRyYWNrRXZlbnQoJ1RyYWNrRXZlbnQnLCB7IGJ1
YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIHRyYWNrOiBIVE1MVHJhY2tFbGVtZW50IH0p
LmJ1YmJsZXMiLCAidHJ1ZSIpOworICAgICAgICAgICAgc2hvdWxkQmUoIm5ldyBUcmFja0V2ZW50
KCdUcmFja0V2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCB0cmFjazog
SFRNTFRyYWNrRWxlbWVudCB9KS5jYW5jZWxhYmxlIiwgInRydWUiKTsKKyAgICAgICAgICAgIHNo
b3VsZEJlTnVsbCgibmV3IFRyYWNrRXZlbnQoJ1RyYWNrRXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUs
IGNhbmNlbGFibGU6IHRydWUsIHRyYWNrOiBIVE1MVHJhY2tFbGVtZW50IH0pLnRyYWNrIik7Cisg
ICAgCisgICAgICAgICAgICBkZWJ1ZygiPGJyPioqKiBJbml0aWFsaXplICd0cmFjaycgd2l0aCBh
IGludmFsaWQgdmFsdWVzICoqKiIpOworICAgICAgICAgICAgc2hvdWxkQmVOdWxsKCJuZXcgVHJh
Y2tFdmVudCgnVHJhY2tFdmVudCcsIHsgdHJhY2s6IDEwIH0pLnRyYWNrIik7CisgICAgICAgICAg
ICBzaG91bGRCZU51bGwoIm5ldyBUcmFja0V2ZW50KCdUcmFja0V2ZW50JywgeyB0cmFjazogXCdz
dHJpbmdcJyB9KS50cmFjayIpOworICAgICAgICAgICAgZW1wdHlPYmplY3QgPSB7IH07CisgICAg
ICAgICAgICBzaG91bGRCZU51bGwoIm5ldyBUcmFja0V2ZW50KCdUcmFja0V2ZW50JywgeyB0cmFj
azogZW1wdHlPYmplY3QgfSkudHJhY2siKTsKKyAgICAgICAgICAgIHNob3VsZEJlTnVsbCgibmV3
IFRyYWNrRXZlbnQoJ1RyYWNrRXZlbnQnLCB7IHRyYWNrOiBkb2N1bWVudCB9KS50cmFjayIpOwor
CisgICAgICAgICAgICBkZWJ1ZygiPGJyPioqKiBCdWJibGVzIGFuZCBjYW5jZWxhYmxlIHRydWUs
IHZhbGlkIHRyYWNrICoqKiIpOworICAgICAgICAgICAgc2hvdWxkQmUoIm5ldyBUcmFja0V2ZW50
KCdUcmFja0V2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCB0cmFjazog
SFRNTFRyYWNrRWxlbWVudCB9KS5idWJibGVzIiwgInRydWUiKTsKKyAgICAgICAgICAgIHNob3Vs
ZEJlKCJuZXcgVHJhY2tFdmVudCgnVHJhY2tFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2Vs
YWJsZTogdHJ1ZSwgdHJhY2s6IEhUTUxUcmFja0VsZW1lbnQgfSkuY2FuY2VsYWJsZSIsICJ0cnVl
Iik7CisgICAgICAgICAgICBzaG91bGRCZSgibmV3IFRyYWNrRXZlbnQoJ1RyYWNrRXZlbnQnLCB7
IHRyYWNrOiB0cmFja0VsZW1lbnQudHJhY2sgfSkudHJhY2siLCAidHJhY2tFbGVtZW50LnRyYWNr
Iik7CisKKyAgICAgICAgICAgIGRlYnVnKCI8YnI+KioqIEluaXRpYWxpemUgJ3RyYWNrJyB3aXRo
IHZhbGlkIHRyYWNrIG9iamVjdCAqKioiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJuZXcgVHJh
Y2tFdmVudCgnVHJhY2tFdmVudCcsIHsgdHJhY2s6IHRyYWNrRWxlbWVudC50cmFjayB9KS50cmFj
ayIsICJ0cmFja0VsZW1lbnQudHJhY2siKTsKKworICAgICAgICAgICAgZGVidWcoIiIpOworICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgIH0KKworICAgICAgICB2aWRlbyA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3ZpZGVvJyk7CisgICAgICAgIGRvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQodmlkZW8pOworCisgICAgICAgIHRyYWNrRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ3RyYWNrJyk7CisgICAgICAgIHZpZGVvLmFwcGVuZENoaWxkKHRyYWNrRWxlbWVu
dCk7CisgICAgICAgIHRyYWNrRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgdGVzdCk7
CisgICAgICAgIHRyYWNrRWxlbWVudC5zcmM9J2RhdGE6dGV4dC92dHQsV0VCVlRUIEZJTEUgXHJc
cjFccjAwOjAwOjAwLjAwMCAtLT4gMDA6MDA6MzAuNTAwXHJvbmx5IG9uZSBjYXB0aW9uJzsKKwor
ICAgIDwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKworPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAkocmV2
aXNpb24gOTkwOTIpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVj
dGF0aW9ucy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTExMSw2ICsxMTEsNyBAQCBCVUdXSzQzNjY4
IFNLSVAgOiBtZWRpYS90cmFjay90cmFjay13ZWJ2CiBCVUdXSzQzNjY4IFNLSVAgOiBtZWRpYS90
cmFjay90cmFjay13ZWJ2dHQtdGMwMjYtdm9pY2UuaHRtbCA9IFRJTUVPVVQKIEJVR1dLNDM2Njgg
U0tJUCA6IG1lZGlhL3RyYWNrL3RyYWNrLXdlYnZ0dC10YzAyNy1lbXB0eS1jdWUuaHRtbCA9IFRJ
TUVPVVQKIEJVR1dLNDM2NjggU0tJUCA6IG1lZGlhL3RyYWNrL3RyYWNrLXdlYnZ0dC10YzAyOC11
bnN1cHBvcnRlZC1tYXJrdXAuaHRtbCA9IFRJTUVPVVQKK0JVR1dLNDM2NjggU0tJUCA6IGZhc3Qv
ZXZlbnRzL2NvbnN0cnVjdG9ycy90cmFjay1ldmVudC1jb25zdHJ1Y3Rvci5odG1sID0gVElNRU9V
VAogCiAvLyBUZXN0cyBmb3IgTWVkaWFTb3VyY2UgQVBJLiBGZWF0dXJlIGlzIG5vdCB5ZXQgZnVu
Y3Rpb25hbC4KIEJVR1dLNjQ3MzEgU0tJUCA6IGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNl
LyA9IFRJTUVPVVQKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9mYXN0L2RvbS9XaW5k
b3cvd2luZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3BsYXRmb3JtL2d0ay9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiA5OTA5MikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9mYXN0
L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0yMTM3LDYgKzIxMzcsOCBAQCB3aW5kb3cuVGltZVJhbmdlcyBbb2JqZWN0IFRpbWVSYW5n
ZXNDb25zCiB3aW5kb3cuVGltZVJhbmdlcy5wcm90b3R5cGUgW29iamVjdCBUaW1lUmFuZ2VzUHJv
dG90eXBlXQogd2luZG93LlRpbWVSYW5nZXMucHJvdG90eXBlLmVuZCBbZnVuY3Rpb25dCiB3aW5k
b3cuVGltZVJhbmdlcy5wcm90b3R5cGUuc3RhcnQgW2Z1bmN0aW9uXQord2luZG93LlRyYWNrRXZl
bnQgW29iamVjdCBUcmFja0V2ZW50Q29uc3RydWN0b3JdCit3aW5kb3cuVHJhY2tFdmVudC5wcm90
b3R5cGUgW3ByaW50ZWQgYWJvdmUgYXMgd2luZG93LkV2ZW50LnByb3RvdHlwZV0KIHdpbmRvdy5U
eXBlRXJyb3IgW2Z1bmN0aW9uXQogd2luZG93LlVJRXZlbnQgW29iamVjdCBVSUV2ZW50Q29uc3Ry
dWN0b3JdCiB3aW5kb3cuVUlFdmVudC5wcm90b3R5cGUgW3ByaW50ZWQgYWJvdmUgYXMgd2luZG93
LkV2ZW50LnByb3RvdHlwZV0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9mYXN0L2pz
L2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3BsYXRmb3JtL2d0ay9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiA5OTA5MikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9mYXN0L2pzL2ds
b2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zMDcsNiAr
MzA3LDcgQEAgUEFTUyBUZXh0VHJhY2sudG9TdHJpbmcoKSBpcyAnW29iamVjdCBUZQogUEFTUyBU
ZXh0VHJhY2tDdWUudG9TdHJpbmcoKSBpcyAnW29iamVjdCBUZXh0VHJhY2tDdWVDb25zdHJ1Y3Rv
cl0nCiBQQVNTIFRleHRUcmFja0N1ZUxpc3QudG9TdHJpbmcoKSBpcyAnW29iamVjdCBUZXh0VHJh
Y2tDdWVMaXN0Q29uc3RydWN0b3JdJwogUEFTUyBUaW1lUmFuZ2VzLnRvU3RyaW5nKCkgaXMgJ1tv
YmplY3QgVGltZVJhbmdlc0NvbnN0cnVjdG9yXScKK1BBU1MgVHJhY2tFdmVudC50b1N0cmluZygp
IGlzICdbb2JqZWN0IFRyYWNrRXZlbnRDb25zdHJ1Y3Rvcl0nCiBQQVNTIFVJRXZlbnQudG9TdHJp
bmcoKSBpcyAnW29iamVjdCBVSUV2ZW50Q29uc3RydWN0b3JdJwogUEFTUyBXZWJLaXRBbmltYXRp
b25FdmVudC50b1N0cmluZygpIGlzICdbb2JqZWN0IFdlYktpdEFuaW1hdGlvbkV2ZW50Q29uc3Ry
dWN0b3JdJwogUEFTUyBXZWJLaXRDU1NLZXlmcmFtZVJ1bGUudG9TdHJpbmcoKSBpcyAnW29iamVj
dCBXZWJLaXRDU1NLZXlmcmFtZVJ1bGVDb25zdHJ1Y3Rvcl0nCkluZGV4OiBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvU2tpcHBlZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvU2tpcHBlZAkocmV2aXNpb24gOTkwOTIpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
U2tpcHBlZAkod29ya2luZyBjb3B5KQpAQCAtNDU4LDYgKzQ1OCw3IEBAIG1lZGlhL3RyYWNrL3Ry
YWNrLXdlYnZ0dC10YzAyNS1jbGFzcy1tYXIKIG1lZGlhL3RyYWNrL3RyYWNrLXdlYnZ0dC10YzAy
Ni12b2ljZS5odG1sCiBtZWRpYS90cmFjay90cmFjay13ZWJ2dHQtdGMwMjctZW1wdHktY3VlLmh0
bWwKIG1lZGlhL3RyYWNrL3RyYWNrLXdlYnZ0dC10YzAyOC11bnN1cHBvcnRlZC1tYXJrdXAuaHRt
bAorZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL3RyYWNrLWV2ZW50LWNvbnN0cnVjdG9yLmh0bWwK
IAogIyBUZXN0cyBmb3IgTWVkaWFTb3VyY2UgQVBJLiBGZWF0dXJlIGlzIG5vdCB5ZXQgZnVuY3Rp
b25hbC4KICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY0NzMxCklu
ZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAkocmV2aXNpb24gOTkwOTIpCisrKyBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAkod29ya2luZyBjb3B5KQpAQCAtMTQ0Miw2ICsxNDQy
LDcgQEAgbWVkaWEvdHJhY2svdHJhY2std2VidnR0LXRjMDI1LWNsYXNzLW1hcgogbWVkaWEvdHJh
Y2svdHJhY2std2VidnR0LXRjMDI2LXZvaWNlLmh0bWwKIG1lZGlhL3RyYWNrL3RyYWNrLXdlYnZ0
dC10YzAyNy1lbXB0eS1jdWUuaHRtbAogbWVkaWEvdHJhY2svdHJhY2std2VidnR0LXRjMDI4LXVu
c3VwcG9ydGVkLW1hcmt1cC5odG1sCitmYXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMvdHJhY2stZXZl
bnQtY29uc3RydWN0b3IuaHRtbAogCiAjIFRlc3RzIGZvciBNZWRpYVNvdXJjZSBBUEkuIEZlYXR1
cmUgaXMgbm90IHlldCBmdW5jdGlvbmFsLgogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NjQ3MzEK
</data>
<flag name="review"
          id="111886"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>